Loading files
3230db654This file is pinned to the selected release. Download the original to open it in your design tool.
// ═══════════════════════════════════════════════════════════
// PatternFlow - shared console chrome: window.PF (PROGMEM JS bundle)
//
// Served at /pf-console.js by core_http.h. Every page loads it as one
// parser-blocking <script src> in <head>; console_pages.py stamps that tag
// as /pf-console.js?h=<CRC32 of this literal> (immutable under its own h)
// and follows it with console/_pf_fallback.js, a minimal PF for when this
// file failed to load. So any edit here changes every page header: run
// console_pages.py build. The literal must stay ES5-flavoured (no arrow
// functions, let/const, template literals, classes), check_sources.py runs
// node --check on it, and it names no feature (check_boundaries.py R5):
// the only paths it knows are the core's NAV below.
//
// At parse time (no network): the theme stamp from localStorage 'pf-theme'
// before first paint; head CSS (light palette = the union of every page's
// variable families, color-scheme, a placeholder band of exactly
// --pf-chrome-h so nothing moves when the header mounts, 16px inputs on
// touch screens because iOS zooms into smaller ones, .pf-busy); the fetch
// wrapper, which gives every same-origin GET/HEAD without its own signal an
// AbortController so a tab switch can free the panel's single connection
// instead of queueing behind it; and window.PF.
//
// At DOMContentLoaded it mounts <pf-chrome id="pfChrome"> as body's first
// child, everything inside an open shadow root so no page CSS reaches it and
// its CSS reaches no page (pages must not reach into it either). Heights are
// fixed: phone = 40px brand row + 40px nav row + 1px rule = 81px, >=720px =
// one 40px row + rule = 41px, the values of --pf-chrome-h.
//
// The nav is the core's pages only; features contribute theirs through
// /api/status featureNav, spliced in after Patterns. (This file once named
// three optional features by path, so a build without them drew dead links.)
// Every href carries ?v=<build>, which the device serves immutable, so a tab
// switch after the first visit costs no request. The last nav drawn is kept
// in localStorage 'pf-nav' and reused when its build matches the page's.
// A variant (not core) gets a badge linking to its shelf entry so someone
// who did not flash the panel can tell what it runs; the version text then
// says "core v", since unlabelled it would read as the variant's.
// Links to patternflow.work get ?device=<this panel> at click time so the
// site can reach the panel without patternflow.local resolving.
//
// Background lane: one PF request in flight per document, FIFO, because the
// panel serves one connection at a time and parallel polls only queue there.
// Lane timeouts are clamp(4 x EWMA RTT, 12 s, 30 s), applied to the reply and
// again to its body; two failures in a row, timeouts included, make the
// state offline - one slow reply does not. Version check: a page whose build differs from the
// device's replaces itself once per path per build (sessionStorage
// 'pf-heal:<path>:<build>') unless someone is mid-edit; else the chip offers
// it. Prefetch warms the nav pages' versioned URLs only on a quiet, fast,
// non-hotspot link (lease: localStorage 'pf-prefetch'; once per session and
// build: sessionStorage 'pf-pf:<build>'). Holds are announced to other tabs
// on BroadcastChannel 'pf' (fallback: the storage event on 'pf-hold').
//
// The page API (window.PF):
// PF.v this page's ?v= build, or null (adopted from the first status on a bare URL)
// PF.state 'connecting' | 'live' | 'offline' | 'restarting'; html gets pf-<state> unless live
// PF.dirty set true while the page holds unsaved edits: blocks the automatic version reload
// PF.inflight() number of the page's own GETs in flight
// PF.get(url, opts) foreground GET -> Promise of JSON (opts.text: text; opts.timeout: ms); rejects with .status/.timeout;
// a reply from another origin leaves PF.state alone
// PF.poll(src, ms, cb, opts) chained poll on the lane -> {stop(), now(), set(ms)}; src = URL or fn() -> Promise; cb(data, null) | cb(null, err); opts.first === false waits ms
// PF.status(cb) cb(status) on every fresh /api/status (at once if one is known); never stale
// PF.watchStatus(ms) keep status fresh at the smallest interval any caller asked for
// PF.hold(promise, opts) pause this tab's lane and slow other tabs until it settles (10 min max); opts.guard confirms leaving
// PF.say(text, kind, el) kind 'ok' | 'err' | 'info'; into el (class pf-<kind>, 'ok' clears after 4 s) or a toast
// PF.busy(btn, promise) disable btn with pf-busy + aria-busy until promise settles; returns promise
// PF.waitForDevice(opts) state 'restarting' until /api/status answers (opts.build: with another build); rejects after opts.timeout (90 s)
// window.pfStatus + 'pf-status' event (detail = status) the latest fresh status, for pages written before PF.status
// 'pf-state' event (detail = state), 'pf-restore' event state changes; the page came back from the back/forward cache
//
// License: MIT
// ═══════════════════════════════════════════════════════════
#pragma once
#include <pgmspace.h>
const char PF_CONSOLE_JS[] PROGMEM = R"JS((function(){
if(window.PF)return;
var W=window,D=document,H=D.documentElement,L=location,light=false;
// Theme before first paint: this script is parser-blocking in <head>.
try{light=localStorage.getItem('pf-theme')==='light'}catch(e){}
if(light)H.setAttribute('data-theme','light');
var st=D.createElement('style');
// --pf-chrome-h is the header's exact height (see the shadow CSS below).
st.textContent='html[data-theme=light]{color-scheme:light;--cream:#F4EFE6;--cream2:#FFFCFA;--ink:#1A1814;--muted:#6B6558;--faint:#9A9486;--rule:#D9D1C2;--rule-soft:#E8E2D6;--led:#FF5C2E;--ok:#2F8A55;--warn:#B88120;--panel:#FFFCFA;--bg:#F4EFE6;--ghost:#E0D9CC;--card:#FFFCFA;--card2:#E8E2D6;--fg:#1A1814;--mut:#6B6558;--ln:#D9D1C2;--bad:#B8402E;--bar:#E0D9CC;--bar-on:#FF5C2E;--accent:#FF5C2E}'
+':root{color-scheme:dark;--pf-chrome-h:81px}@media(min-width:720px){:root{--pf-chrome-h:41px}}'
+'html:not(.pf-mounted) body::before{content:"";display:block;box-sizing:border-box;height:var(--pf-chrome-h);border-bottom:1px solid var(--rule,#242118);background:var(--cream,var(--bg,#0C0B09))}'
+'@media(pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-size:16px!important}}'
+'.pf-busy{opacity:.55;cursor:progress}';
(D.head||H).appendChild(st);
var PF=W.PF={v:null,state:'connecting',dirty:false},
nf=W.fetch,T=[],cur=null,Q=[],lb=0,run=1,P=[],S=null,subs=[],sq=null,sb=0,wms=1/0,sp=null,
rtt=null,fails=0,off=0,alien=0,rs=0,holds=0,guards=0,leaveOk=0,RH={},bc=null,
me=Math.random().toString(36).slice(2),touched=0,pd=0,nv=0,nvT,pgT,
adopted=0,healed=0,stale=null,pft=0,ct=0,cn=null,fnav=[],drawn='',
sr,hl,ver,vb,nav,ch,tg,pg,tw,tq,tt,SKIP={},
// The core's pages and nothing else; features add theirs via featureNav at
// NAV_AT. Third field: prefetch order, smallest page first.
NAV=[['/','Console',5],['/patterns','Patterns',6],['/status','Status',2],['/wifi','Wi-Fi',4],['/knobs','Knobs',1],['/update','Update',3]],NAV_AT=2;
try{PF.v=new URLSearchParams(L.search).get('v')}catch(e){}
var docB=PF.v;
H.classList.add('pf-connecting');
try{cn=JSON.parse(localStorage.getItem('pf-nav'))}catch(e){}
if(cn&&Array.isArray(cn.nav)&&(!PF.v||cn.build===PF.v))fnav=cn.nav;
function now(){return Date.now()}
function call(f,a,b){try{f(a,b)}catch(x){setTimeout(function(){throw x})}}
function ev(n,d){D.dispatchEvent(new CustomEvent(n,{detail:d}))}
function drop(e){var i=T.indexOf(e);if(i>-1)T.splice(i,1)}
// fetch wrapper: same-origin GETs get a controller a tab switch can abort.
function tf(u,o,k){
var c=new AbortController(),e={c:c,u:new URL(u,L.href).href,t:now(),k:k},i={},n;
for(n in o)i[n]=o[n];
i.signal=c.signal;
for(n=T.length;n--;)if(e.t-T[n].t>6e4)T.splice(n,1);
T.push(e);if(cur)cur.push(e);
e.p=nf.call(W,u,i);
return e;
}
W.fetch=function(u,o){
var m=String(o&&o.method||'GET').toUpperCase(),ok=false,e;
try{ok=(typeof u==='string'||u instanceof URL)&&(m==='GET'||m==='HEAD')&&!(o&&(o.signal||o.keepalive))&&new URL(u,L.href).origin===L.origin}catch(x){}
if(!ok)return nf.apply(W,arguments);
e=tf(u,o||{},cur?'bg':'fg');
e.p.then(function(){drop(e)},function(){drop(e)});
return e.p;
};
// 12 s at least: on the hotspot with the station also up, a small reply
// queued behind a page on the one-connection server took 4-5 s (bench
// 2026-09-24), and a 5 s floor called that link dead.
function tmo(){return Math.min(3e4,Math.max(12e3,4*rtt))}
// A PF request (mode json|text|st|pre): tracked until its body is read; the
// timeout bounds the reply and then the body, so a big body on a slow link
// is not "offline". Only replies from this origin (the panel) feed the RTT
// and the connection state; another site failing says nothing about it.
function rq(u,k,mode,ms){
var pre=mode==='pre',e=tf(u,pre?{}:{cache:'no-store'},k),t0=now(),to,same=new URL(e.u).origin===L.origin;
function arm(){clearTimeout(to);to=setTimeout(function(){e.why='t';e.c.abort()},ms||tmo())}
function fin(){clearTimeout(to);drop(e)}
arm();
return e.p.then(function(r){
arm();
if(pre)return r.arrayBuffer();
if(same){var d=now()-t0;rtt=rtt===null?d:rtt*.7+d*.3}
if(mode==='st')return r.text().then(function(t){var s=null;try{s=JSON.parse(t)}catch(x){}
// Broken JSON is the panel's own reply gone wrong, not another device.
if(!s&&/^\s*\{/.test(t)){seen();throw Error('unreadable status')}
if(!s||!s.version){foreign();throw Error('not a Patternflow panel')}alien=0;seen();return s});
if(same)seen();
if(!r.ok)return r.text().then(function(t){var x=Error(t||'HTTP '+r.status);x.status=r.status;throw x});
return mode==='text'?r.text():r.json();
}).then(function(d){fin();return d},function(x){fin();
if(e.why==='t'){x=Error('timeout');x.timeout=1}
if(e.why==='nav')x.nav=1;
else if(same&&!pre&&(x.timeout||x.name==='TypeError'))fail(x.timeout);
throw x});
}
// Background lane: one request in flight, FIFO. The panel serves one
// connection at a time; parallel polls would only queue there.
function enq(f,dead){return new Promise(function(y,n){Q.push({f:f,y:y,n:n,d:dead});pump()})}
function pump(){var j;while(!lb&&run&&!holds&&Q.length){j=Q.shift();if(j.d&&j.d())j.n(SKIP);else go(j)}}
function go(j){var p;lb=1;try{p=Promise.resolve(j.f())}catch(x){p=Promise.reject(x)}
p.then(function(d){lb=0;j.y(d);pump()},function(x){lb=0;j.n(x);pump()})}
// A function source: the fetches it starts synchronously are tracked as
// background and share the lane's timeout.
function fsrc(f){
var c=cur=[],p;
try{p=Promise.resolve(f())}catch(x){p=Promise.reject(x)}
cur=null;
return new Promise(function(y,n){
var to=setTimeout(function(){var x=Error('timeout');x.timeout=1;c.forEach(function(e){e.why='t';e.c.abort()});fail(1);n(x)},tmo());
p.then(function(d){clearTimeout(to);seen();y(d)},function(x){clearTimeout(to);
if(c.some(function(e){return e.why==='nav'})){x=Error('aborted');x.nav=1}
else if(x&&x.name==='TypeError')fail();
n(x)});
});
}
function rhold(){for(var k in RH)if(now()-RH[k]<6e5)return true;return false}
PF.poll=function(src,ms,cb,o){
var h={ms:ms,ew:0,t:0,on:1,q:0,w:0};
function next(){return Math.max(h.ms,2*h.ew,S&&S.busy||rhold()?5e3:0)}
function sched(d){clearTimeout(h.t);h.t=setTimeout(h.go,d)}
h.go=function(){
clearTimeout(h.t);h.t=0;
if(!h.on||h.q)return;
if(D.hidden||!run){h.w=1;return}
var t0;h.q=1;
enq(function(){t0=now();return typeof src==='function'?(src.pf?src():fsrc(src)):rq(src,'bg','json')},function(){return !h.on})
.then(function(d){done(1,d)},function(x){done(0,x)});
function done(ok,v){
h.q=0;
if(v===SKIP||!h.on)return;
if(!ok&&v&&v.nav){h.w=1;return}
if(ok){var d=now()-t0;h.ew=h.ew?h.ew*.7+d*.3:d}
sched(next());
ok?call(cb,v,null):call(cb,null,v);
}
};
P.push(h);
if(o&&o.first===false)sched(ms);else h.go();
return{stop:function(){h.on=0;clearTimeout(h.t);var i=P.indexOf(h);if(i>-1)P.splice(i,1)},
now:h.go,set:function(n){h.ms=n;if(h.t)sched(next())}};
};
function resume(){for(var i=0;i<P.length;i++)if(P[i].w){P[i].w=0;P[i].go()}}
// Status: one source for every page.
function stGet(){return rq('/api/status','bg','st').then(deliver)}
stGet.pf=1;
// Until a status arrives nothing else asks for one, so a failed fetch is
// retried (2 s, doubling to 30 s) unless offline's probe has taken over.
function fetchStatus(){if(!sq)sq=enq(stGet).then(clr,function(){clr();
if(!S&&!rs&&PF.state!=='offline')setTimeout(need,sb=Math.min(2*sb||2e3,3e4))});function clr(){sq=null}}
function need(){if(!S)fetchStatus()}
// Status is also kept fresh while it says busy, which floors every poll
// (not while restarting: waitForDevice is already polling it).
function sw(){
var ms=Math.min(wms,PF.state==='offline'||S&&S.busy&&!rs?5e3:1/0);
if(ms===1/0){if(sp){sp.stop();sp=null}}
else if(sp)sp.set(ms);
else sp=PF.poll(stGet,ms,function(){},{first:false});
}
function deliver(s){
S=W.pfStatus=s;sb=0;
var fn=Array.isArray(s.featureNav)?s.featureNav:[];
if(s.build+JSON.stringify(fn)!==drawn){fnav=fn;try{localStorage.setItem('pf-nav',JSON.stringify({build:s.build,nav:fn}))}catch(x){}drawNav()}
badge();
for(var i=0;i<subs.length;i++)call(subs[i],s);
ev('pf-status',s);
if(!pft)pft=setTimeout(prefetch,5e3+Math.random()*1e4);
sw();
if(s.build)vcheck(s.build);
return s;
}
PF.status=function(cb){if(cb){subs.push(cb);if(S)call(cb,S)}need()};
PF.watchStatus=function(ms){if(ms<wms)wms=ms;need();sw()};
PF.get=function(u,o){o=o||{};return rq(u,'fg',o.text?'text':'json',o.timeout)};
PF.inflight=function(){for(var n=0,i=0;i<T.length;i++)if(T[i].k==='fg'&&now()-T[i].t<6e4)n++;return n};
// Connection state.
function setState(s){
if(PF.state===s)return;
if(s==='offline')off=now();
PF.state=s;
H.classList.remove('pf-connecting','pf-offline','pf-restarting');
if(s!=='live')H.classList.add('pf-'+s);
chip();sw();ev('pf-state',s);
}
function seen(){fails=0;if(alien||rs)return;if(PF.state==='offline'&&now()-off>5e3)toast('back online','ok');setState('live')}
// Two in a row, timeouts included: one slow reply is a slow link, not a
// dead one, and calling it offline made a working console look broken.
function fail(){if(++fails>1&&!rs)setState('offline')}
function foreign(){alien=1;if(!rs)setState('offline');chip()}
PF.waitForDevice=function(o){
o=o||{};
var end=now()+(o.timeout||9e4),t0;
rs++;setState('restarting');
return new Promise(function(y,n){
function again(){setTimeout(go,Math.max(0,t0+2e3-now()))}
function go(){
if(now()>=end){if(!--rs){fails=0;setState('offline')}chip();n(Error('timeout'));return}
if(nv){setTimeout(go,500);return}
t0=now();
rq('/api/status','bg','st',3e3).then(function(s){
var ok=!(o.build&&s.build===o.build);
if(ok){rs--;seen()}
deliver(s);
ok?y(s):again();
},again);
}
go();
});
};
// Holds: an upload owns the link. This tab's lane waits; other tabs are told.
function tx(h,q){var m={id:me,h:h?1:0,q:q?1:0,t:now()};try{bc?bc.postMessage(m):localStorage.setItem('pf-hold',JSON.stringify(m))}catch(x){}}
function rx(m){if(!m||m.id===me)return;if(m.h)RH[m.id]=now();else delete RH[m.id];if(m.q&&holds)tx(1)}
try{bc=new BroadcastChannel('pf');bc.onmessage=function(e){rx(e.data)}}catch(x){bc=null}
W.addEventListener('storage',function(e){if(e.key==='pf-hold'&&e.newValue)try{rx(JSON.parse(e.newValue))}catch(x){}});
tx(0,1);
function bu(e){if(guards&&!leaveOk){e.preventDefault();e.returnValue='';return ''}}
PF.hold=function(p,o){
var g=o&&o.guard,d=0,t;
holds++;
if(g&&!guards++)W.addEventListener('beforeunload',bu);
tx(1);
function fin(){if(d)return;d=1;clearTimeout(t);holds--;if(g&&!--guards)W.removeEventListener('beforeunload',bu);tx(holds>0);pump()}
t=setTimeout(fin,6e5);
Promise.resolve(p).then(fin,fin);
return p;
};
// Version check: a page older than the firmware replaces itself, once.
function vurl(b){var u=new URL(L.href);u.searchParams.set('v',b);return u.href}
function navType(){
try{var n=performance.getEntriesByType('navigation')[0];if(n&&n.type)return n.type}catch(x){}
try{return ['navigate','reload','back_forward'][performance.navigation.type]||'navigate'}catch(x){}
return 'navigate';
}
function vcheck(b){
if(!docB&&!adopted){adopted=1;var t=navType();if(t==='navigate'||t==='reload'){docB=PF.v=b;try{history.replaceState(history.state,'',vurl(b))}catch(x){}}}
if(docB===b){if(stale){stale=null;chip()}return}
stale=b;
var a=D.activeElement,k='pf-heal:'+L.pathname+':'+b,ok=0;
if(!healed&&!holds&&!PF.dirty&&!touched&&!(a&&/^(INPUT|TEXTAREA|SELECT)$/.test(a.tagName))){
try{if(!sessionStorage.getItem(k)){sessionStorage.setItem(k,'1');ok=1}}catch(x){}
if(ok){healed=1;L.replace(vurl(b));return}
}
chip();
}
// Prefetch: versioned pages are immutable, so one fetched now is a tab
// switch that costs no request later. Only on a quiet, fast home link.
function pfOk(b){
var s=S,c=navigator.connection,i,l;
if(!s||s.build!==b||s.viaHotspot||s.busy||holds||rhold()||D.hidden||!run||PF.state!=='live'||c&&c.saveData||!(s.uptime>30)||rtt===null||rtt>=150||now()-pd<2e3)return false;
for(i=0;i<P.length;i++)if(P[i].ms<1e3)return false;
try{l=JSON.parse(localStorage.getItem('pf-prefetch'));if(l&&l.id!==me&&now()-l.t<6e4||sessionStorage.getItem('pf-pf:'+b))return false;
localStorage.setItem('pf-prefetch',JSON.stringify({id:me,t:now()}))}catch(x){return false}
return true;
}
function prefetch(){
var b=S&&S.build,p=here(),l=[],n=0,a=NAV.slice().sort(function(x,y){return x[2]-y[2]}).concat(fnav),i;
for(i=0;i<a.length;i++)if(a[i]&&a[i][0]!==p&&/^\/(?!\/)/.test(a[i][0]))l.push(a[i][0]);
(function step(){
if(!b||!pfOk(b))return;
if(lb||Q.length||PF.inflight()){setTimeout(step,1e3);return}
if(n>=l.length){try{sessionStorage.setItem('pf-pf:'+b,'1')}catch(x){}return}
enq(function(){return rq(l[n++]+'?v='+b,'prefetch','pre')}).then(function(){setTimeout(step,1e3)},function(){});
})();
}
// Shared UI.
function toast(t,k){
if(!tw){tq=[t,k];return}
clearTimeout(tt);tw.textContent='';
var d=D.createElement('div');d.className='t'+(k==='err'?' e':'');d.textContent=t;tw.appendChild(d);
tt=setTimeout(function(){tw.textContent=''},k==='err'?6e3:3500);
}
PF.say=function(t,k,el){
k=k||'info';
if(!el){toast(t,k);return}
clearTimeout(el._pfT);
el.textContent=t;
el.classList.remove('pf-ok','pf-err','pf-info');
el.classList.add('pf-'+k);
if(k==='ok')el._pfT=setTimeout(function(){if(el.textContent===t){el.textContent='';el.classList.remove('pf-ok')}},4e3);
};
PF.busy=function(b,p){
function f(on){if(!b)return;b.disabled=on;b.classList.toggle('pf-busy',on);if(on)b.setAttribute('aria-busy','true');else b.removeAttribute('aria-busy')}
f(true);
Promise.resolve(p).then(function(){f(false)},function(){f(false)});
return p;
};
// The header, in a shadow root. Fixed heights, matching --pf-chrome-h:
// phone 40px brand row + 40px nav row + 1px rule = 81; desktop 40 + 1 = 41.
var CSS=':host{all:initial;display:block!important;position:relative;box-sizing:border-box!important;height:var(--pf-chrome-h)!important;'
+'--a:var(--led,#FF5C2E);--i:var(--ink,var(--fg,#EDE7DB));--u:var(--rule,#242118);--k:var(--cream,var(--bg,#0C0B09));'
+'border-bottom:1px solid var(--u);background:var(--k);color:var(--muted,#8A8272);font:10px/1 var(--mono,ui-monospace,SFMono-Regular,Menlo,monospace)}'
+'[hidden]{display:none!important}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--a);outline-offset:-2px}'
+'.in{max-width:1140px;height:80px;margin:0 auto;padding:0 16px;display:grid;grid-template:"b c t" 40px "n n n" 40px/minmax(0,1fr) auto auto;column-gap:12px;align-items:center}'
+'.b{grid-area:b;display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;white-space:nowrap}'
+'.h{display:flex;align-items:center;gap:8px;letter-spacing:.14em;text-transform:uppercase}'
+'.d{flex:none;width:5px;height:5px;border-radius:50%;background:var(--a);box-shadow:0 0 6px var(--a)}.ver{color:var(--faint,#5A5546);letter-spacing:.08em}'
+'.vb{padding:1px 6px;border:1px solid var(--a);border-radius:2px;color:var(--a);letter-spacing:.1em;text-transform:uppercase}.vb:hover{background:var(--a);color:var(--k)}'
+'.n{grid-area:n;min-width:0;height:40px;display:flex;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;margin:0 -16px;padding:0 6px;font-size:11px;letter-spacing:.04em;'
+'--p:#000;--q:#000;--m:linear-gradient(90deg,var(--p),#000 24px,#000 calc(100% - 24px),var(--q));-webkit-mask-image:var(--m);mask-image:var(--m)}'
+'.n::-webkit-scrollbar{display:none}.fl{--p:transparent}.fr{--q:transparent}'
+'.n a{flex:none;display:flex;align-items:center;padding:0 10px;white-space:nowrap;scroll-snap-align:center}.n a:hover{color:var(--a)}.n a.on{color:var(--i);box-shadow:inset 0 -2px var(--a)}'
+'button{all:unset;box-sizing:border-box;height:24px;padding:0 7px;border:1px solid transparent;border-radius:2px;cursor:pointer;white-space:nowrap;letter-spacing:.1em;text-transform:uppercase}'
+'.c{grid-area:c;max-width:46vw;overflow:hidden;text-overflow:ellipsis;border-color:var(--u);letter-spacing:.04em;text-transform:none}.c.w{border-color:var(--a);color:var(--a)}.tg{grid-area:t}.tg:hover{color:var(--i)}'
+'.pg{position:absolute;left:0;top:0;width:0;height:2px;background:var(--a)}.pg.on{animation:pg 4s cubic-bezier(.1,.8,.2,1) forwards}@keyframes pg{to{width:92%}}'
+'.tw{position:fixed;left:0;right:0;bottom:24px;display:flex;justify-content:center;pointer-events:none;z-index:2147483647}'
+'.t{max-width:calc(100vw - 32px);box-sizing:border-box;padding:8px 12px;font-size:11px;line-height:1.4;border:1px solid var(--u);border-radius:2px;background:var(--panel,var(--cream2,#131110));color:var(--i)}.t.e{border-color:var(--a)}'
+'@media(max-width:479px){.ver{display:none}}'
+'@media(min-width:720px){.in{height:40px;padding:0 20px;grid-template:"b n c t" 40px/auto minmax(0,1fr) auto auto;column-gap:18px}.n{margin:0;padding:0}}';
function here(){return L.pathname.replace(/\/+$/,'')||'/'}
function bld(){return S&&S.build||PF.v||cn&&cn.build||''}
function href(p){var b=bld();return p+(b?'?v='+b:'')}
function drawNav(){
if(!nav)return;
var l=NAV.slice(),p=here(),i,j=0,a,e,r;
for(i=0;i<fnav.length;i++){e=fnav[i];if(e&&typeof e[0]==='string'&&/^\/(?!\/)/.test(e[0])&&e[1])l.splice(NAV_AT+j++,0,e)}
drawn=bld()+JSON.stringify(fnav);
nav.textContent='';
for(i=0;i<l.length;i++){a=D.createElement('a');a.href=href(l[i][0]);a.textContent=l[i][1];if(l[i][0]===p){a.className='on';a.setAttribute('aria-current','page')}nav.appendChild(a)}
hl.href=href('/');
// scrollLeft, not scrollIntoView, which would scroll the page too.
a=nav.querySelector('.on');
if(a){e=nav.getBoundingClientRect();r=a.getBoundingClientRect();nav.scrollLeft+=r.left+r.width/2-e.left-e.width/2}
fades();
}
function fades(){if(!nav)return;var s=nav.scrollLeft;nav.classList.toggle('fl',s>1);nav.classList.toggle('fr',s<nav.scrollWidth-nav.clientWidth-1)}
function badge(){
if(!sr||!S)return;
var s=S,v=s.variant&&s.variant!=='core';
ver.textContent=s.version?(v?'core v':'v')+s.version:'';
vb.hidden=!v;
if(v){vb.textContent=s.variant+(s.variantVersion?' '+s.variantVersion:'');vb.href='https://patternflow.work/editions#'+encodeURIComponent(s.variant)}
}
function chip(){
if(!ch)return;
var s=PF.state,t=s==='restarting'?'restarting\u2026':alien?'not a Patternflow panel':s==='offline'?'offline \u2014 retrying':stale?'Console updated \u2014 tap to reload':s==='connecting'&&ct?'connecting\u2026':'';
ch.textContent=t;ch.hidden=!t;ch.className=t&&s!=='connecting'?'c w':'c';
}
function tgl(){var l=H.getAttribute('data-theme')==='light';tg.textContent=l?'Dark':'Light';tg.title='Switch to '+(l?'dark':'light')+' theme'}
function mount(){
if(sr||!D.body)return;
if(!D.querySelector('link[rel~="icon"]')){var ic=D.createElement('link');ic.rel='icon';ic.href='data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"%3E%3Ccircle cx="8" cy="8" r="5" fill="%23FF5C2E"/%3E%3C/svg%3E';(D.head||H).appendChild(ic)}
var host=D.createElement('pf-chrome');host.id='pfChrome';
sr=host.attachShadow({mode:'open'});
sr.innerHTML='<style>'+CSS+'</style><div class="in"><div class="b"><a class="h" href="/"><i class="d"></i>Patternflow <span class="ver"></span></a><a class="vb" target="_blank" rel="noopener" hidden></a></div>'
+'<nav class="n" aria-label="Console"></nav><button class="c" type="button" hidden></button><button class="tg" type="button"></button></div><div class="pg"></div><div class="tw" aria-live="polite"></div>';
function q(c){return sr.querySelector('.'+c)}
hl=q('h');ver=q('ver');vb=q('vb');nav=q('n');ch=q('c');tg=q('tg');pg=q('pg');tw=q('tw');
D.body.insertBefore(host,D.body.firstChild);
H.classList.add('pf-mounted');
nav.addEventListener('scroll',fades,{passive:true});
W.addEventListener('resize',fades);
tg.onclick=function(){var l=H.getAttribute('data-theme')!=='light';H.setAttribute('data-theme',l?'light':'dark');try{localStorage.setItem('pf-theme',l?'light':'dark')}catch(x){}tgl()};
ch.onclick=function(){if(stale)L.replace(vurl(stale));else if(PF.state==='offline')fetchStatus()};
tgl();drawNav();badge();chip();
setTimeout(function(){ct=1;chip()},800);
if(tq){toast(tq[0],tq[1]);tq=null}
// The page's own first requests go before status (up to 1.2 s).
var t0=now();
(function w(){if(S||sq)return;if(PF.inflight()&&now()-t0<1200)setTimeout(w,50);else fetchStatus()})();
}
// Navigation.
function anchor(e){
var p=e.composedPath?e.composedPath():[],i,t=e.target;
for(i=0;i<p.length;i++)if(p[i].tagName==='A'&&p[i].href)return p[i];
return t&&t.closest?t.closest('a[href]'):null;
}
// Site links carry this panel's address (?device=), so the site need not
// resolve patternflow.local to reach it.
D.addEventListener('click',function(e){
var a=anchor(e),ip;
if(!a||!/^https:\/\/([a-z0-9-]+\.)*patternflow\.work([\/?#]|$)/.test(a.href))return;
ip=/^\d+\.\d+\.\d+\.\d+$/.test(L.hostname)?L.hostname:S&&S.ip;
if(!ip)return;
try{var u=new URL(a.href);if(!u.searchParams.has('device')){u.searchParams.set('device',ip);a.href=u.href}}catch(x){}
},true);
function isPage(p){
var i;for(i=0;i<NAV.length;i++)if(NAV[i][0]===p)return 1;
for(i=0;i<fnav.length;i++)if(fnav[i]&&fnav[i][0]===p)return 1;
return 0;
}
function restore(){
nv=0;leaveOk=0;run=1;clearTimeout(pgT);clearTimeout(nvT);
if(pg)pg.className='pg';
drawNav();need();resume();pump();
}
// A tab switch frees the device's one connection for the next page at once.
D.addEventListener('click',function(e){
if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;
var a=anchor(e),g,u,i;
if(!a||a.hasAttribute('download'))return;
g=a.getAttribute('target');if(g&&g!=='_self')return;
try{u=new URL(a.href,L.href)}catch(x){return}
if(u.origin!==L.origin)return;
// A page's own links to console pages get the version too, so they come
// out of the cache like the tabs do.
if(!u.searchParams.has('v')&&bld()&&isPage(u.pathname)){u.searchParams.set('v',bld());a.href=u.href}
if(u.pathname+u.search===L.pathname+L.search)return;
if(guards){if(!confirm('An upload is running \u2014 leave anyway?')){e.preventDefault();return}leaveOk=1}
nv=1;run=0;
for(i=T.length;i--;)if(!(T[i].k==='prefetch'&&T[i].u===u.href)){T[i].why='nav';T[i].c.abort()}
if(nav)for(i=0;i<nav.children.length;i++)nav.children[i].className=nav.children[i].pathname===u.pathname?'on':'';
clearTimeout(pgT);clearTimeout(nvT);
pgT=setTimeout(function(){if(pg)pg.className='pg on'},150);
// Still visible 3 s on: the navigation was cancelled.
nvT=setTimeout(function chk(){if(D.hidden)nvT=setTimeout(chk,3e3);else restore()},3e3);
});
W.addEventListener('pagehide',function(){
run=0;
for(var i=T.length;i--;){T[i].why='nav';T[i].c.abort()}
for(i=0;i<P.length;i++){clearTimeout(P[i].t);P[i].t=0;P[i].w=1}
if(holds)tx(0);
});
W.addEventListener('pageshow',function(e){
if(!e.persisted)return;
S=null;
if(holds)tx(1);
restore();
ev('pf-restore');
});
D.addEventListener('visibilitychange',function(){if(!D.hidden&&run)resume()});
['pointerdown','keydown','input'].forEach(function(t){D.addEventListener(t,function(){touched=1;if(t==='pointerdown')pd=now()},true)});
if(D.readyState==='loading')D.addEventListener('DOMContentLoaded',mount);else mount();
})();
)JS";
// <gz:PF_CONSOLE_JS> GENERATED by firmware/toolchain/console_pages.py build — do not edit.
// gzip -9 of PF_CONSOLE_JS (22934 bytes → 9654 bytes), served with Content-Encoding: gzip.
const uint8_t PF_CONSOLE_JS_GZ[] PROGMEM = {
0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x95,0x7c,0xff,0x77,0x9b,0xc6,
0xb6,0xef,0xef,0xfe,0x2b,0xb0,0x73,0x2a,0x44,0x8d,0xb0,0xe4,0x38,0x69,0x82,0x42,
0x7c,0x13,0x3b,0xb9,0xe9,0x3d,0x69,0x9b,0x53,0xbb,0xed,0x5b,0xcb,0xf5,0x3d,0x0b,
0xc1,0x48,0x22,0x42,0x80,0x01,0x49,0xf6,0x91,0xf4,0xfe,0xf6,0xf7,0xd9,0x7b,0x06,
0x18,0x64,0x39,0xed,0x5b,0x2b,0x91,0x61,0x18,0xf6,0xec,0xd9,0xb3,0xbf,0xcf,0x1e,
0xba,0xe3,0x45,0x12,0x94,0x51,0x9a,0x74,0xad,0xf5,0x41,0x34,0xee,0xae,0xa2,0x24,
0x4c,0x57,0xce,0x97,0x8f,0x56,0x2e,0xca,0x45,0x9e,0x0c,0x0f,0x96,0x7e,0x6e,0xfc,
0xe1,0xc9,0x76,0xfb,0xd2,0x0b,0xd3,0x60,0x31,0x17,0x49,0x69,0x7f,0xf2,0x2e,0x9d,
0xea,0xe6,0x43,0x2c,0xb8,0xed,0xb3,0x17,0xa7,0x81,0x4f,0xe0,0xec,0x38,0x9a,0x4c,
0x4b,0x6f,0xec,0xc7,0x85,0x18,0x1e,0x9c,0x9c,0x18,0xd7,0x53,0x74,0x31,0x46,0x62,
0x9c,0xe6,0xc2,0x18,0x47,0x79,0x51,0x1a,0x99,0x1f,0x25,0xa5,0x6b,0x94,0xd3,0xa8,
0x30,0x8a,0x20,0x8f,0xb2,0xd2,0xc0,0x55,0xe6,0xe7,0x85,0xc8,0x7b,0x23,0x40,0x9a,
0x45,0xc9,0xc4,0x88,0x12,0xe3,0xcd,0x54,0xf8,0xe1,0x5b,0xe7,0xa0,0xcc,0x1f,0xd6,
0x12,0x2e,0x0d,0x13,0x5f,0x95,0x69,0xee,0x4f,0x84,0x33,0x11,0xe5,0x8f,0xa5,0x98,
0x77,0xcd,0x6c,0xdc,0x2b,0x69,0x18,0xd3,0xf2,0x3c,0xcf,0xe4,0x9e,0xe6,0x16,0xf8,
0x04,0xd3,0xae,0xb0,0xd6,0x5b,0x9a,0x1f,0x37,0x5a,0x9f,0x9c,0x42,0x94,0xef,0xca,
0x32,0x8f,0x46,0x8b,0x52,0x74,0xcd,0xd0,0x2f,0x7d,0xf5,0xaa,0xad,0xde,0xb3,0xe4,
0xcc,0x8b,0x12,0xd3,0x0c,0x72,0xe1,0x97,0x42,0x4d,0xb2,0x6b,0x16,0xe5,0x43,0x2c,
0xa8,0x03,0xa6,0xd5,0xeb,0x61,0xd0,0x60,0x9a,0xa7,0x73,0xd1,0x9b,0x12,0xfa,0x80,
0x62,0x10,0xba,0x22,0x37,0x0b,0x43,0xdc,0xfb,0x41,0x89,0x5b,0x82,0x68,0x74,0x0b,
0x21,0xf8,0x71,0x31,0xf5,0x41,0x4b,0xe3,0xe2,0xea,0x0a,0xf4,0x88,0xd3,0x95,0xe5,
0x1c,0x14,0xa5,0x53,0x8a,0xfb,0xf2,0x22,0x4d,0x4a,0x0c,0xe1,0x99,0xd3,0x72,0x1e,
0xdf,0x34,0x58,0x79,0x8c,0xd3,0xed,0x3a,0x48,0xe3,0x34,0xef,0x15,0x01,0xb5,0xb9,
0xdc,0x36,0xec,0xf5,0x08,0xbb,0xb9,0xfb,0xec,0xe3,0xd9,0x87,0x8f,0x1f,0x5e,0x56,
0xf7,0xa7,0x68,0xf8,0xf8,0xf1,0xe2,0xe3,0x3b,0x34,0x44,0xc9,0xcc,0x7d,0x36,0x78,
0x37,0x78,0x35,0x38,0xc3,0xdd,0x1c,0x33,0x0e,0xdd,0x67,0x2f,0xdf,0xbf,0x7c,0xf1,
0xe2,0x15,0xee,0xc7,0xbc,0x0a,0xcf,0x5e,0xbf,0x7b,0x7d,0xf6,0x8a,0x5e,0xcf,0x17,
0xb1,0x70,0x9f,0x5d,0xbe,0xbe,0x1c,0x5c,0x9c,0xaa,0xdb,0x5e,0x91,0x8e,0xd1,0xe5,
0xc3,0xab,0x0f,0xa7,0x97,0xd4,0x25,0x26,0x00,0x1f,0x3f,0xbe,0xb8,0x38,0xfd,0x80,
0xbb,0x14,0xd0,0x4f,0x3f,0xbe,0x7a,0xf7,0xe2,0x05,0x6e,0x56,0x7e,0x9e,0xb8,0xcf,
0xde,0xbf,0x7a,0x35,0x38,0xed,0xe3,0x36,0xf3,0x13,0x11,0x6b,0xa8,0x8c,0x26,0x1a,
0xa2,0x93,0x69,0x5a,0x10,0xd8,0xfe,0xe5,0xeb,0x8b,0x0b,0x42,0xdc,0xcf,0x43,0xad,
0x2f,0xdd,0x9e,0x6a,0xa3,0x8e,0x27,0xed,0x59,0x68,0x73,0x88,0x13,0x0d,0xe3,0x91,
0x1f,0x12,0x06,0x67,0x7d,0xc6,0x6e,0xe4,0xe7,0xda,0x10,0xb8,0xeb,0xa5,0x89,0x86,
0xbc,0x1f,0x04,0x82,0xa6,0x2f,0x1b,0xb6,0xe6,0xc1,0xb1,0xe9,0xe6,0x69,0x5a,0xb6,
0x49,0x1d,0xfa,0xf9,0x6c,0xd8,0x5a,0x6a,0xf7,0xd5,0x20,0xbb,0xdf,0xfe,0xd7,0x5c,
0x84,0x91,0xdf,0x9d,0x47,0x49,0x6f,0x15,0x85,0xe5,0xd4,0xfd,0xe1,0xb4,0x9f,0xdd,
0x5b,0x6b,0x09,0xa2,0xfd,0xc2,0x19,0xbd,0xc0,0x03,0xd0,0xe2,0xba,0x49,0x5a,0x76,
0x1d,0x3c,0x9f,0xa7,0x0b,0xac,0x79,0x68,0x19,0xa3,0x34,0x7c,0x70,0x5d,0x29,0x20,
0x18,0x9d,0x19,0xc1,0x3d,0x3a,0x1a,0x86,0x51,0x91,0xc5,0xfe,0x83,0xcb,0x02,0x31,
0x1c,0xa5,0xf7,0xbd,0x22,0xfa,0x0f,0x04,0xc3,0x1d,0xa5,0x79,0x48,0x82,0x92,0xde,
0x0f,0x25,0x87,0xb9,0x60,0xd8,0x6e,0x6b,0x50,0x6b,0x58,0x77,0x2a,0xcb,0x74,0xee,
0x02,0x05,0xa3,0x48,0xe3,0x28,0x34,0x64,0x57,0x5a,0x5c,0xfb,0xd9,0xe9,0xd9,0xe9,
0x60,0xf0,0x0a,0x7d,0xfd,0x60,0x36,0xc9,0x81,0x4f,0xa8,0x20,0x31,0x27,0xd9,0xf2,
0x7a,0x34,0xb1,0x9f,0xf5,0x2f,0xfa,0xef,0xfb,0xaf,0x2d,0x8b,0x67,0xa1,0xe6,0x9e,
0xa5,0x60,0x1f,0x91,0xbb,0x41,0x4a,0x72,0x6b,0xad,0xa3,0x24,0xc3,0xd2,0xd0,0xec,
0x6e,0xca,0x87,0x4c,0x78,0x20,0x60,0x30,0x03,0x8e,0xb7,0x96,0xd6,0x98,0xfb,0x61,
0x94,0xee,0xb4,0x24,0x13,0xd1,0x6a,0x19,0x47,0x31,0x1a,0xec,0x42,0xc4,0x22,0x28,
0x6d,0x92,0x0e,0x1f,0xe8,0xac,0xc7,0xa0,0x0c,0x51,0x40,0xb8,0x83,0x97,0xd9,0xfd,
0x61,0x34,0xcf,0xd2,0xbc,0xf4,0x93,0x52,0x92,0x96,0x28,0x3a,0x5a,0x14,0x0f,0xeb,
0x34,0xf3,0x83,0xa8,0x7c,0x70,0x1d,0x70,0x65,0xb0,0xc8,0x8b,0x34,0x77,0xb3,0x3c,
0x9d,0xe4,0xa2,0x28,0xb6,0xe6,0xf0,0xa0,0x7b,0xe9,0x90,0x90,0x6e,0x36,0x9f,0x2c,
0xc7,0xcf,0x32,0x91,0x84,0x17,0xd3,0x28,0x0e,0xbb,0x45,0x09,0xb1,0x66,0xc1,0xff,
0xf2,0xd1,0xfb,0x03,0x6a,0xd0,0x5b,0x2f,0xdd,0x64,0x11,0xc7,0x76,0x51,0x42,0x05,
0xb8,0x26,0x16,0x26,0x01,0x3e,0xa0,0xbf,0x69,0x87,0x51,0x8e,0x11,0x58,0xc5,0x6d,
0xed,0x83,0x64,0x8c,0x17,0xc6,0x02,0xca,0xc6,0xbe,0xf6,0x6e,0x6e,0x6d,0x8c,0xea,
0xf1,0x9b,0xff,0xa2,0xbb,0x78,0xe4,0xf5,0xed,0x7c,0x91,0x78,0x03,0xfb,0x0b,0xdd,
0x5f,0xc9,0x67,0xc5,0x62,0x54,0xd0,0x6d,0x71,0xa7,0xee,0xa9,0xdb,0x6a,0x5e,0x78,
0x83,0x93,0xbe,0x5d,0x64,0xb2,0xf1,0x20,0x2f,0x4b,0x79,0x05,0x59,0x8d,0x0b,0xf4,
0x48,0xc7,0x63,0xfc,0xfa,0x71,0x24,0x12,0x02,0x4b,0x4d,0xd3,0x34,0x0e,0xe9,0xef,
0x64,0x01,0xb1,0xa1,0x8b,0x58,0xf8,0x4b,0xf1,0xcb,0x0c,0x57,0xbf,0x7e,0xf2,0xd6,
0x5b,0x7b,0x14,0x28,0x68,0x50,0x27,0x3f,0xf9,0xe5,0xd4,0x01,0xc9,0xc3,0x74,0xde,
0xb5,0x9c,0x32,0xbd,0x82,0x26,0x4c,0x26,0xdd,0xe7,0x2f,0x2d,0xa7,0x88,0xa3,0x40,
0x74,0x4f,0x2d,0xbb,0x4c,0x17,0x58,0xbb,0x10,0xef,0x67,0xf4,0x93,0x2c,0xf9,0xe7,
0xda,0xce,0x26,0xd7,0xf6,0x01,0x14,0x58,0x56,0xf2,0x43,0x90,0x31,0xe6,0x0b,0x10,
0x28,0x16,0x72,0x88,0x6c,0x5c,0xa2,0x21,0xe0,0x9f,0x44,0x61,0x9e,0xf8,0x4b,0x9a,
0x68,0x98,0xfb,0xab,0xc4,0x33,0x4d,0xfb,0xa0,0xc8,0xed,0x69,0x6c,0x2f,0x45,0x6e,
0x2f,0x47,0x36,0x9e,0xda,0x20,0x5c,0x39,0x01,0x78,0xbb,0x5c,0xd9,0xe5,0x9d,0x5d,
0x96,0xf6,0xd5,0x3f,0x7f,0xfc,0x42,0xa8,0x2b,0xfb,0x61,0x04,0x10,0x0d,0x93,0x2c,
0xc4,0x44,0x14,0x06,0xb0,0x37,0xc0,0x2d,0x53,0xb2,0x11,0x82,0xac,0x8c,0x31,0x86,
0x96,0x5e,0xe4,0xf4,0x28,0x0c,0x49,0xd1,0xc2,0xc8,0x18,0xcb,0xc8,0xaf,0xda,0x7f,
0xf6,0x97,0x86,0x5f,0x12,0xac,0x9f,0xdf,0xfd,0xfe,0xef,0x77,0xd7,0x0e,0x60,0x46,
0x79,0x08,0x63,0x24,0xe2,0xd0,0x35,0xb2,0x5c,0xf0,0xea,0x19,0x2c,0x31,0xb6,0x51,
0xcc,0xfd,0x38,0x16,0x6c,0xa6,0x26,0xca,0x62,0x39,0x07,0x78,0xd3,0xbb,0xb9,0x31,
0x4f,0x60,0x26,0xa0,0xab,0x21,0x4a,0x30,0x18,0x2f,0x6e,0x6d,0xb4,0x64,0x7e,0x09,
0x31,0x48,0x0a,0x3c,0xf9,0x52,0x5f,0xbe,0xe4,0x47,0xc4,0x3a,0x0b,0x7a,0x70,0xa5,
0x2e,0x4e,0xb9,0x79,0x15,0x8d,0x23,0x34,0xfe,0x11,0xf5,0x3e,0xe2,0xef,0x19,0xb7,
0xcd,0x92,0x74,0x44,0x3d,0xff,0x29,0xff,0x0e,0xb8,0x71,0x91,0xc1,0x12,0x90,0x65,
0xfa,0x4d,0x5d,0x3c,0xbf,0xbd,0xb5,0xe5,0x1c,0xbc,0xd3,0x21,0x5b,0xc5,0x2f,0x1f,
0x9d,0xa5,0x97,0x88,0x95,0xf1,0xdb,0xaf,0x9f,0xaf,0x84,0x9f,0x07,0xd3,0x2f,0x7e,
0xee,0xcf,0x8b,0xee,0x67,0x58,0x3a,0xba,0xb5,0xc8,0x4a,0x76,0xcd,0xa5,0x69,0xe9,
0x06,0x91,0x18,0x1d,0x36,0xfc,0xbd,0x47,0xef,0x0f,0x0f,0x3e,0x39,0x41,0xec,0x17,
0xc5,0xe7,0x08,0x53,0x05,0x0d,0xd9,0xa0,0x6a,0x0c,0x6f,0xc9,0xb1,0xb0,0xa4,0xff,
0x73,0xf5,0xcb,0xcf,0x0e,0x1b,0xea,0xee,0x93,0x96,0x18,0x4b,0x6a,0x5a,0xd6,0x8e,
0xf9,0x0d,0x92,0x4e,0xe7,0x5d,0x9e,0xfb,0x0f,0x4e,0x54,0xf0,0x5f,0xb4,0x38,0xe8,
0x69,0x75,0x3a,0xdd,0x43,0x42,0x62,0xb3,0x41,0xc3,0x68,0x01,0x59,0x84,0x09,0xa7,
0x06,0xcb,0x62,0xd6,0x91,0xdd,0x20,0x9b,0x95,0xbf,0x82,0xb5,0x5f,0xc1,0x67,0x91,
0x5e,0x8a,0x71,0x09,0xba,0x38,0xdc,0xb2,0x6d,0x7a,0x00,0xb1,0xb8,0x3b,0xb6,0x7d,
0x7b,0x64,0xad,0x09,0xf1,0x71,0x97,0x2e,0x15,0x46,0xd0,0xd2,0xf0,0x01,0xae,0xa3,
0xb9,0x48,0x17,0x65,0x57,0xf3,0x82,0x4a,0xe8,0xce,0x95,0x71,0xbf,0xb5,0xb6,0x1a,
0x28,0xb1,0xec,0x26,0x76,0x68,0xad,0xe1,0xf2,0x40,0x1d,0x13,0x80,0x0f,0x4b,0xf2,
0x05,0x88,0xe4,0x17,0x8b,0x02,0xba,0x55,0xdd,0xdb,0xeb,0x50,0x94,0x90,0x52,0x37,
0xdc,0x5a,0x3a,0x2e,0x61,0x9e,0x66,0x44,0x05,0xa2,0x78,0xe4,0x5d,0x3b,0x70,0xa7,
0xc4,0xfd,0x2f,0x63,0x34,0x0d,0x41,0x96,0xe8,0x6d,0x6f,0x60,0x5d,0x3b,0x50,0xf4,
0x24,0x7c,0x91,0x3d,0xc0,0xab,0xc4,0xa8,0x92,0x21,0x57,0x39,0xa9,0xa8,0xdc,0x35,
0x0a,0x1f,0x4a,0x3d,0xcd,0xa3,0x09,0x7c,0xa2,0xff,0xfe,0x70,0x5d,0x18,0xa0,0xb7,
0xe1,0x1b,0x64,0x2c,0xf2,0x14,0xcc,0x9a,0xe3,0xa6,0xf4,0x47,0x46,0xb1,0x8a,0xe8,
0xbd,0xc0,0x4f,0x0c,0x1f,0x06,0x00,0x7c,0x5b,0xe3,0x51,0x8e,0xbb,0x0b,0x3b,0xb5,
0x67,0xf0,0xf6,0x08,0x95,0x80,0x99,0xe6,0x1d,0x75,0xba,0xa8,0xa1,0x74,0x2d,0x5b,
0x78,0xeb,0xc0,0x0d,0xec,0x85,0xab,0x78,0x0a,0x2f,0x7d,0x76,0xa6,0x90,0x10,0x8b,
0x7f,0x6d,0xd2,0xf0,0x20,0xb6,0x3d,0x73,0x67,0x5b,0x3b,0x22,0x19,0x85,0xa7,0x08,
0xcb,0xd5,0x4d,0xc8,0x5f,0x4b,0xad,0xe8,0x26,0xb9,0xf5,0x52,0xfc,0x0c,0x0f,0x22,
0xa7,0x88,0x26,0x89,0x1f,0x7b,0x81,0xba,0x50,0x1d,0x41,0x84,0x58,0x24,0x93,0x72,
0x3a,0x4c,0x7a,0xbd,0xa1,0x05,0x2a,0x08,0xa7,0xec,0x5d,0xe3,0x1d,0xa7,0x7c,0xfb,
0x52,0x9c,0x35,0xf4,0x48,0x40,0x8f,0xe1,0xc1,0xb5,0x93,0x2d,0x8a,0xa9,0x22,0x18,
0x94,0xab,0x85,0xff,0x75,0xd3,0x81,0x70,0xa0,0x2c,0xc7,0x0e,0x2f,0xf9,0x1f,0xf6,
0xc2,0x8e,0xd0,0xa6,0x78,0x03,0xfe,0xe7,0xf6,0x40,0xa9,0x66,0xaf,0x5e,0x68,0x50,
0x41,0xd1,0x60,0xee,0x29,0xf5,0x97,0x76,0x3a,0xa9,0x33,0x17,0xe5,0x34,0x85,0x61,
0x30,0x41,0x60,0x93,0x74,0xe3,0x6f,0x44,0xfb,0x0b,0x1f,0xac,0x6e,0xd9,0xe9,0x4c,
0x7a,0xb4,0xb6,0x90,0xa2,0x80,0xfb,0x2e,0x19,0xab,0x74,0x6c,0x2c,0xc8,0xe5,0x2c,
0x18,0x90,0xb9,0xd9,0x2c,0x40,0x06,0x88,0x7d,0x12,0xd0,0x23,0xd0,0x8f,0xf8,0x7b,
0x4e,0x3d,0x08,0xea,0x66,0xc3,0x97,0x9f,0x3e,0xbc,0xbb,0x34,0xf1,0xe0,0x90,0x06,
0xee,0xa6,0x8a,0x3a,0x9b,0x4d,0xea,0xcc,0x84,0xc8,0xa0,0xdc,0x97,0xc2,0xc2,0xe3,
0xc7,0x2b,0x20,0x39,0x00,0x20,0x3e,0xab,0xcb,0x86,0xa5,0x59,0xc8,0x0e,0xd3,0x99,
0xf2,0xde,0x0d,0x90,0x04,0xbc,0x13,0x3f,0x80,0x26,0x7e,0x3e,0x61,0x5f,0xbd,0x20,
0x6a,0x79,0x92,0x0f,0x36,0x1b,0xac,0x1c,0xe8,0x78,0x6e,0x8e,0x26,0xa6,0x6b,0x8e,
0x59,0xc6,0x41,0x4a,0x07,0xda,0x33,0xd1,0x85,0x42,0xb1,0xef,0xd6,0xde,0xd3,0xa6,
0x51,0xda,0xc9,0x40,0x6b,0xf6,0x8b,0x07,0xa7,0x06,0xf4,0x70,0x69,0xc0,0x0a,0xc1,
0xc7,0x33,0x88,0xf3,0xc8,0x31,0x4e,0xcb,0x22,0x4b,0x4b,0x03,0xfc,0x39,0x95,0xae,
0x70,0xc9,0xd1,0x82,0x01,0xa2,0xa6,0xc6,0x22,0xb3,0xc1,0xc0,0xac,0x77,0x8d,0x5c,
0x00,0x6b,0x02,0x74,0xb7,0x10,0x0b,0x11,0xc2,0x51,0x86,0xa2,0x0f,0xf1,0x98,0xb5,
0xb1,0x02,0x97,0x26,0xa2,0xd6,0x4f,0x68,0x42,0xd8,0x00,0x73,0x62,0x94,0x69,0x3a,
0x33,0xce,0x7a,0x2f,0x80,0x40,0x77,0x24,0x92,0x60,0x4a,0x60,0x4e,0xfb,0xa7,0x2f,
0x7b,0xfd,0xd7,0xbd,0xd3,0x33,0xcb,0x66,0xd3,0xe1,0x1b,0xd4,0x61,0x1c,0xa7,0x69,
0xce,0x8a,0x42,0x90,0xc9,0x20,0x84,0xe1,0x2d,0x1b,0x21,0x7c,0x03,0x5d,0x68,0xe6,
0x69,0xa3,0x6a,0xd8,0x76,0xc2,0xe3,0xeb,0x3e,0x17,0x67,0xb6,0xbc,0xf1,0xef,0xbb,
0x83,0x53,0xf1,0xdc,0x3e,0xfb,0x1e,0x96,0x9a,0xc4,0x1e,0x03,0xbe,0x83,0x07,0x81,
0x59,0x00,0x7d,0x98,0x90,0xee,0x3c,0x0d,0x85,0xf1,0xb5,0x48,0x93,0x0d,0x39,0x32,
0x9b,0xa2,0xdc,0xc0,0xdc,0x58,0x88,0x7d,0x72,0xf8,0x5c,0x18,0x1a,0x3e,0x60,0x14,
0x1b,0x51,0x59,0xb0,0x1b,0x48,0x71,0x04,0x7c,0x9d,0x70,0x48,0xb3,0x24,0x60,0xa5,
0x54,0x53,0x78,0x08,0xe7,0x4c,0xc6,0x18,0x4c,0x20,0x9e,0x09,0xad,0x15,0x37,0xd1,
0xab,0xb0,0x5b,0x29,0xe6,0x36,0x8a,0x26,0x12,0x12,0xd1,0xd6,0x28,0x10,0x64,0xf0,
0xc4,0x08,0x16,0x60,0xc3,0x6c,0x1a,0x47,0xf0,0x21,0xd0,0x24,0x8e,0x1c,0xe3,0x97,
0x04,0x90,0x08,0x5e,0x04,0xdb,0x39,0x86,0xe7,0x28,0x43,0x32,0xa5,0x68,0xba,0x04,
0x9a,0xfd,0x78,0x0b,0xfa,0x88,0xc9,0x24,0x8c,0x5f,0xaf,0xaf,0x09,0x96,0x1a,0xde,
0xd0,0x17,0x81,0xfc,0xa4,0x21,0x9e,0xc0,0x34,0x63,0x31,0x8a,0xa8,0x84,0xf1,0x84,
0x42,0x24,0x33,0x5d,0xf8,0x0f,0x45,0x6d,0xb3,0xa1,0x99,0x30,0xa3,0x48,0x57,0x4e,
0xf9,0x1d,0x98,0x72,0x66,0x13,0xb1,0xec,0x79,0xa1,0xc4,0x13,0x84,0xf2,0xa8,0x85,
0x44,0x06,0xd7,0xa6,0xad,0x98,0x17,0xd7,0xe7,0xeb,0xad,0xbb,0x0e,0x7c,0xb8,0x29,
0xae,0x99,0xa4,0x3d,0xa8,0x61,0x3c,0xdf,0x42,0xb9,0xd9,0x65,0xdf,0x93,0x0a,0xaa,
0x4c,0x6d,0xd2,0x9a,0x95,0x6d,0x84,0x8e,0x59,0xec,0x11,0xa0,0x61,0x83,0x83,0x9f,
0xc3,0x25,0x5a,0x07,0xe0,0xdb,0xbc,0x32,0x0e,0x65,0x6a,0x0d,0xcb,0xd4,0xdb,0x6f,
0x2e,0x84,0xb3,0x9a,0x3e,0x78,0x66,0x69,0x0e,0x85,0x13,0x38,0xac,0x6e,0x61,0x84,
0x80,0xfe,0x66,0xc3,0x6c,0xa3,0x1b,0x81,0x71,0x94,0xec,0x83,0x5d,0x09,0xd2,0x01,
0x8f,0xad,0x4b,0xd3,0x8e,0x1c,0xe6,0x20,0x89,0xea,0x03,0x31,0x27,0x0e,0x52,0x5d,
0x73,0xc7,0x27,0x63,0xfa,0x7e,0x31,0x1e,0x93,0xfa,0xe6,0xc7,0x34,0x6d,0x69,0x6f,
0x42,0x49,0x8b,0x5e,0xd9,0x1f,0x92,0x27,0x49,0xff,0x3d,0xf6,0xca,0xce,0x43,0x17,
0x37,0xdf,0x3b,0x3f,0x1c,0x87,0xdf,0x3b,0xcf,0x59,0x77,0x54,0x94,0x2e,0x10,0x01,
0xd7,0xc0,0x89,0x67,0xc9,0x4f,0x6c,0x21,0x53,0x4a,0xe0,0x05,0x43,0x1a,0x92,0x36,
0x2c,0x74,0xbf,0xa0,0xb4,0x74,0xad,0x04,0x5e,0x79,0x9f,0xa7,0x33,0x30,0x2a,0x75,
0xa9,0xe2,0x64,0xe6,0x2a,0x38,0x74,0xe9,0x2a,0x51,0xfc,0x3c,0x81,0x48,0xc3,0xde,
0xa5,0xc9,0xc4,0x66,0x2e,0xad,0xd8,0x28,0x14,0x4b,0x58,0x02,0x87,0xb5,0x5b,0xd1,
0xe9,0x9c,0xfc,0xef,0x9f,0xc5,0xf7,0x7f,0xae,0x4f,0x80,0x59,0x01,0x1a,0x5a,0x64,
0xcb,0x81,0x1b,0x96,0x89,0x8d,0xf7,0x87,0x3c,0x87,0x85,0x31,0x17,0x09,0x09,0x91,
0x3f,0x8a,0xa5,0x9e,0x81,0xe7,0x65,0x49,0xfd,0x88,0xb5,0x39,0x2c,0x1c,0xe8,0x8a,
0x02,0x13,0xb1,0xd6,0x14,0x71,0x41,0xf7,0xee,0xbe,0xce,0xe3,0x1b,0xca,0x99,0x1b,
0x93,0x08,0x49,0x7c,0xad,0xad,0x72,0xbc,0x87,0x6a,0x50,0x45,0xa7,0x62,0xab,0x11,
0x5e,0x3d,0xe2,0xe1,0x72,0xa7,0x51,0xc8,0xdf,0x26,0xe6,0xbd,0x27,0xc7,0x2e,0x61,
0x7f,0x3e,0x5d,0x5f,0x7f,0x31,0xcc,0xe3,0xdc,0x91,0xb8,0x5b,0xc3,0x7b,0x75,0xe5,
0x55,0x4d,0xc3,0xda,0x55,0xa9,0x79,0xa6,0x5a,0x3e,0x1a,0xc4,0x3c,0xaf,0x06,0x73,
0x73,0x87,0x74,0x0f,0xe1,0xb3,0xdd,0x1d,0x19,0x4e,0x0d,0xb3,0x65,0x35,0x8b,0x50,
0xd3,0xf1,0xf7,0xd5,0xb3,0x03,0xb6,0xce,0xc4,0xe8,0x04,0xdb,0xb4,0xd6,0x15,0xa2,
0xa6,0xd2,0x4c,0x26,0xa1,0xa7,0xae,0xbd,0xc1,0xb6,0xd5,0x9f,0x1d,0xc1,0x7b,0x72,
0xdf,0xbc,0x01,0xac,0x0b,0xcc,0xa7,0xa1,0xa8,0x04,0xdb,0x07,0x26,0x86,0xf1,0xab,
0xdf,0xdd,0x6c,0xa8,0xe3,0x9c,0xe7,0x70,0x0d,0xc3,0xca,0xa3,0xc0,0x8d,0x24,0x0d,
0xd2,0xf4,0x22,0x47,0xb4,0x99,0xba,0x74,0x95,0xde,0xd7,0xc1,0xab,0x11,0x63,0x99,
0xc8,0xe4,0x88,0x5a,0xff,0x42,0x8d,0x8d,0x39,0x5d,0x62,0x1b,0x1f,0x7f,0xfc,0xf8,
0x8b,0xc3,0xd1,0x04,0xaf,0xa6,0x34,0x1a,0x05,0xf5,0x26,0x28,0x9a,0x22,0xf3,0x69,
0xf5,0x69,0xc0,0x21,0xa5,0xa4,0xc8,0x42,0xc4,0x46,0x06,0xff,0xa8,0x30,0x56,0xe9,
0x22,0x0e,0xf1,0x06,0xf8,0x95,0xad,0x13,0xf1,0x72,0x2e,0x34,0x3d,0x26,0x92,0x3b,
0xf8,0x9d,0x64,0x44,0x6a,0xab,0x41,0xfa,0xe7,0x0b,0x54,0x6b,0x04,0xd1,0xa8,0xe9,
0xfb,0x60,0x83,0xfb,0xfe,0x25,0x9d,0x98,0xf5,0xd8,0x1d,0xdb,0x0f,0x2e,0x9a,0x5c,
0x78,0x9a,0x2e,0xbd,0x8c,0xc9,0x65,0x8b,0x79,0x06,0x75,0xa2,0x2b,0x11,0xd9,0xc4,
0xec,0xf2,0x75,0xb8,0x42,0xd4,0x2a,0xba,0x87,0xf1,0xa8,0xd3,0x41,0x70,0x09,0x7a,
0x72,0x18,0xd8,0xe9,0xfc,0x4b,0xf9,0x56,0xd6,0xfa,0xab,0xf7,0x2f,0xa7,0x98,0x46,
0x63,0xb0,0x01,0x39,0x4e,0x5f,0x9d,0xb0,0xd3,0xc1,0x0f,0x14,0xd3,0x57,0x27,0xe9,
0x52,0x84,0x65,0x0d,0x79,0x4d,0x26,0x69,0xf7,0x6b,0xcb,0xe7,0xe5,0x06,0x1e,0x27,
0x1b,0x22,0x7c,0x1d,0xb0,0x8c,0x67,0x9e,0x9a,0x85,0x83,0x40,0x2b,0x8d,0x97,0x02,
0x10,0xc7,0x5d,0x4b,0x13,0x76,0xbd,0xc7,0x57,0xd0,0x12,0x6d,0xdb,0x83,0xec,0x31,
0xd7,0x51,0x44,0x3c,0xfc,0xea,0x3c,0xe0,0xba,0x9a,0x66,0x8b,0xf3,0xd4,0x73,0xba,
0xd6,0xc8,0xc0,0x96,0xb5,0x46,0xb1,0x48,0x17,0x79,0x20,0x5c,0x56,0x26,0xec,0xdf,
0x61,0x25,0xa3,0x92,0xa4,0x3d,0x87,0x29,0x2d,0x1e,0x12,0x4a,0x84,0x24,0xe9,0xa2,
0x20,0x53,0x99,0x8b,0xda,0xdc,0xfa,0x05,0x01,0x6a,0xf2,0x1d,0x6c,0xc8,0x8a,0x29,
0x77,0x01,0x28,0x62,0x20,0xa8,0x25,0xc5,0x6d,0xda,0xc2,0x8e,0x8b,0x3c,0xe8,0x8e,
0x6b,0xdf,0x99,0x42,0x7c,0xc4,0xb4,0x99,0x74,0x06,0x1f,0x93,0xe6,0x6f,0x10,0xa6,
0xca,0x12,0xd4,0x12,0xfc,0x34,0xa3,0xf0,0xa0,0x4f,0xda,0x21,0x5d,0x7d,0xec,0x97,
0xca,0x61,0xe0,0x40,0xd3,0x7d,0x80,0xb9,0x6c,0xde,0x13,0x4f,0x19,0x30,0x6b,0xc8,
0x22,0x07,0xc7,0x9b,0x16,0x60,0x6b,0x4b,0x5b,0x36,0xdc,0xb7,0x90,0x8f,0xec,0x99,
0xd2,0x7d,0xb4,0xb2,0xed,0x25,0x7d,0xd4,0x93,0x43,0x42,0xa7,0x48,0xe7,0xa2,0x85,
0x52,0x6d,0x00,0x35,0x0d,0x82,0x70,0xaa,0xd1,0x3a,0x8c,0xa5,0x08,0x79,0x7e,0xac,
0x57,0xb6,0xb5,0x5e,0xb9,0xef,0x74,0xf6,0xaa,0x10,0x9e,0x0e,0x46,0xe4,0xe9,0xb0,
0x22,0x24,0xcd,0xd1,0xb8,0x1e,0x24,0x38,0x5d,0xb6,0x05,0x5d,0x22,0xe5,0x8c,0x74,
0xc6,0xaf,0x9f,0x28,0x2c,0x91,0xc6,0xf3,0xd7,0x4f,0x37,0xb3,0xdb,0x37,0x2f,0xc5,
0x8b,0x4a,0x93,0x97,0xf9,0x42,0x54,0x4a,0x53,0xe6,0x80,0x0e,0x10,0xaf,0x92,0x86,
0x68,0x82,0x0c,0xb0,0x0b,0x3c,0x01,0x3b,0x18,0xd5,0xc1,0xc6,0xd4,0x5b,0xcf,0x0b,
0x17,0x6d,0x62,0xe5,0xf6,0x11,0x46,0xf5,0xed,0x34,0x71,0x07,0xf6,0x1d,0x2e,0xd0,
0xb0,0xd5,0x1c,0x91,0x84,0x55,0x77,0xdb,0xeb,0x84,0xa3,0x89,0xdf,0xc2,0x3e,0xfd,
0x7e,0xea,0x88,0x95,0x7d,0xd5,0xe9,0x5c,0x39,0x94,0xee,0xda,0x6c,0x14,0xfe,0xe7,
0x2f,0xc4,0x73,0xb7,0xaf,0xab,0x0b,0xca,0x60,0x86,0x8f,0x96,0x69,0xea,0x40,0x89,
0xe2,0x47,0x67,0xa6,0xa9,0x33,0x49,0x11,0xe3,0x6e,0x0f,0xe8,0xc2,0xd3,0xf7,0x05,
0xf6,0xbf,0xda,0x97,0xd6,0x6d,0xea,0xc0,0xab,0xdd,0x4c,0x9d,0xbb,0x7a,0xc7,0x00,
0xad,0x97,0xce,0x34,0x0a,0x43,0x81,0x07,0x87,0xd0,0x4b,0xd6,0x7a,0xea,0xac,0xc0,
0x80,0xb2,0x83,0x4c,0x3b,0xc0,0x19,0xc1,0x3b,0x6c,0x11,0x48,0x5b,0x6a,0xf1,0xb7,
0x72,0xdd,0x2a,0xda,0xaa,0xf8,0x0a,0xa4,0xa4,0x15,0xad,0x3a,0x9a,0xe7,0x44,0x5c,
0x27,0x1b,0x9f,0x93,0x48,0x5a,0x2e,0x4b,0x26,0xfe,0x5b,0x30,0x76,0x77,0x4c,0x77,
0x0a,0x69,0x6c,0x93,0xec,0x9e,0xd9,0x8e,0x5b,0x14,0x5c,0x46,0x7c,0x6b,0x1d,0x3c,
0x66,0xe8,0x10,0xc6,0xa0,0x3b,0xb0,0x77,0xb9,0x97,0x9b,0xfb,0xb6,0x64,0x9f,0x26,
0xb0,0xa7,0xd6,0x74,0x66,0x2f,0x41,0x27,0x9a,0x90,0xa4,0xca,0x12,0xb8,0x92,0x6e,
0xc5,0xfc,0x69,0x18,0x9d,0x34,0x88,0xce,0x3a,0x9d,0x25,0xfe,0x71,0xde,0x63,0x87,
0x32,0x78,0x0e,0x5f,0x61,0xd7,0x6b,0xa3,0xc5,0xf6,0xe8,0xe7,0x9c,0x7e,0x2a,0x7f,
0xcd,0x0d,0xb7,0x07,0x72,0x75,0x25,0xab,0x00,0xab,0x74,0x76,0xce,0x11,0x30,0x18,
0x6e,0x69,0x93,0x5a,0xb1,0xdc,0xea,0x9e,0xb3,0x70,0x4b,0x66,0x7a,0x70,0xd9,0x17,
0x69,0x74,0xa6,0x52,0x04,0x39,0xf0,0xe5,0x0c,0x17,0xd0,0x66,0x5e,0xb6,0x24,0x60,
0x38,0xe1,0xd2,0x38,0x10,0x4b,0x34,0xae,0xe9,0x1a,0x9e,0x76,0xe6,0x6a,0x24,0xa5,
0x39,0x62,0xe6,0x8f,0xf9,0x44,0xa6,0x3b,0xbe,0xd4,0xe9,0x8e,0x69,0x93,0xee,0xf8,
0xd2,0x4a,0x77,0xd8,0x07,0x98,0xad,0xcb,0x2c,0x08,0x96,0x6c,0x60,0x33,0xef,0xcc,
0xe1,0x64,0xd2,0x7b,0x04,0xb2,0x35,0xe3,0xed,0x96,0xe3,0xcd,0x46,0x8a,0x45,0x81,
0x18,0x57,0x13,0xe3,0x08,0x58,0x45,0x6f,0xbe,0x54,0x99,0x86,0xe8,0xf8,0x98,0x24,
0xfa,0xcb,0x4d,0x74,0xeb,0xac,0xac,0xb5,0xfc,0x8b,0x2e,0x7c,0x41,0x33,0xdc,0x4a,
0x67,0x42,0x26,0xea,0xa4,0x0f,0x21,0x6d,0x8c,0x01,0x88,0x86,0x80,0xcb,0xf8,0xc0,
0x11,0xa8,0x66,0x13,0x8a,0xf2,0xbf,0x85,0x26,0xa8,0xe0,0x3e,0xf3,0xc4,0xcf,0xa2,
0x26,0xeb,0xc7,0x7c,0x48,0xfe,0xb4,0xe4,0xb4,0x50,0x50,0x64,0x9f,0x43,0xce,0xf8,
0x4d,0xb0,0x30,0x09,0x01,0x06,0xfd,0x8d,0x63,0x40,0x5f,0xf9,0xaa,0xb0,0x57,0x79,
0x44,0x9e,0x89,0x9e,0xe3,0x84,0xe1,0x9a,0x15,0x8c,0x0a,0x30,0x53,0xa1,0x1e,0x29,
0x36,0x98,0x34,0x99,0x2a,0x8a,0xd8,0xb0,0x01,0x95,0x3c,0x42,0x5b,0x17,0x41,0xb8,
0x0d,0x0e,0x5d,0x8c,0x38,0xfc,0x2a,0x53,0xe3,0x79,0xdf,0x28,0x2c,0x44,0x9b,0xb1,
0x28,0xe0,0xf3,0xc8,0x08,0x90,0x32,0xaa,0x79,0x3a,0xc2,0x22,0xfb,0xb0,0x79,0x3e,
0x39,0xe9,0x29,0x10,0xd4,0xcd,0x1e,0xc1,0x96,0x34,0xc1,0x44,0xd9,0x83,0xbe,0xb3,
0x8a,0x3b,0x8f,0x24,0x97,0x27,0xa1,0xa6,0x16,0xc4,0xb9,0x2e,0x68,0xb8,0xad,0x5c,
0x60,0x68,0xaa,0xc3,0x1c,0x7e,0x09,0x34,0x24,0x07,0x88,0x87,0x10,0xe5,0x6a,0x78,
0x4b,0xd3,0x41,0x09,0x02,0x4c,0x4a,0x82,0xd7,0x41,0xf6,0xe9,0xf7,0xc5,0x68,0xb3,
0xa1,0xe0,0x1a,0xe1,0xb6,0xc5,0x76,0xa9,0x4e,0xef,0x11,0xf8,0xb5,0xca,0x9c,0xeb,
0x8e,0x0b,0x01,0x51,0x78,0x5e,0x59,0x2d,0xdc,0xb7,0xcd,0xe2,0x52,0x0c,0xc2,0x59,
0x87,0x99,0xc8,0x4a,0x44,0xbd,0xa2,0x98,0x1a,0xec,0x4d,0xb1,0x03,0x41,0x81,0x2a,
0x29,0x56,0x9b,0xda,0x40,0x57,0xce,0x13,0x14,0x15,0x03,0x40,0xc7,0x13,0xa0,0x2e,
0x45,0x08,0xf2,0x1d,0xbc,0x4e,0x3e,0x07,0x6d,0xcb,0x18,0x2b,0x3f,0x2a,0x3f,0xa6,
0xf9,0x25,0x87,0x2c,0x72,0x18,0x8a,0x43,0xe4,0x7b,0xbc,0xa3,0x09,0x7a,0x69,0xfc,
0x43,0x69,0x4c,0x99,0x88,0x2a,0x9a,0x79,0xaf,0xa0,0xe5,0x2b,0x62,0x79,0x1a,0xb1,
0x36,0x9b,0x5a,0xe9,0x33,0x49,0x59,0xe1,0x0f,0x4e,0xfa,0x92,0xce,0x80,0xe0,0xd1,
0xd6,0x01,0x4f,0xbe,0xc8,0x40,0x9d,0xcc,0x21,0x59,0xc5,0x32,0xa8,0xcd,0x84,0x6d,
0x63,0x29,0xf1,0x9c,0x1e,0x83,0x79,0xe7,0x9c,0x13,0xa2,0x66,0xf4,0x52,0x46,0x4c,
0x2e,0x2c,0x59,0x2f,0x6d,0x45,0xb7,0xf6,0x9a,0xd5,0x84,0xda,0xf4,0x68,0x9b,0x50,
0xc5,0xd8,0x5d,0x0a,0xdc,0xaf,0xbc,0x3f,0xc0,0xd8,0x92,0xd2,0x5e,0x31,0xa4,0x6d,
0x0d,0xb9,0x9f,0x3a,0x4e,0xbc,0x76,0xfe,0xb7,0x70,0x9a,0xf4,0xbc,0x75,0xae,0xdf,
0xb9,0x37,0xb7,0x32,0x9e,0x92,0xf9,0xe0,0x63,0x0e,0x2e,0x65,0x86,0x2d,0x1a,0x3f,
0x74,0xc7,0x89,0x05,0x2e,0xe2,0xfd,0x04,0xc8,0x3b,0x79,0x01,0xe3,0x84,0x5d,0xd4,
0x56,0x46,0xba,0xd8,0xc9,0x48,0xdb,0x3b,0x50,0xd6,0x0c,0xdb,0x55,0x63,0xd0,0x3e,
0x84,0x3b,0x4e,0xb6,0xba,0xdb,0xb6,0xa5,0x21,0x80,0x0e,0x71,0xcf,0xc8,0x0f,0x27,
0x82,0x78,0xba,0xad,0x5f,0x68,0x17,0x47,0x57,0x31,0xac,0x73,0xa9,0x11,0x6a,0xc5,
0x66,0xda,0x2e,0x19,0x81,0x4a,0x25,0x14,0x4a,0x2a,0xb2,0x71,0x69,0xd1,0x5e,0x89,
0x26,0x00,0xd5,0x2e,0x84,0x8d,0x75,0x3d,0x6e,0x6d,0xd3,0x7c,0x3f,0x80,0x00,0x0c,
0x0f,0x88,0x5d,0x74,0xb2,0x58,0x4b,0xde,0x61,0xab,0x6f,0x6b,0x47,0xb2,0xa0,0xc5,
0x51,0x2c,0x84,0x45,0xa8,0x57,0x31,0x18,0x31,0x77,0xd0,0x1f,0xc6,0x9b,0x0d,0x01,
0xee,0x48,0xc1,0x5e,0x59,0x95,0xb9,0xb8,0xb2,0xb6,0x52,0x8c,0xc8,0x58,0x7c,0x74,
0x56,0x7e,0x2d,0x45,0x0d,0x24,0x4a,0xd1,0x30,0xd3,0xbd,0x01,0xb7,0x5a,0xb4,0x6b,
0x35,0x2f,0x86,0xf2,0xad,0x21,0xa1,0x29,0x5f,0x9d,0x88,0x72,0x27,0xeb,0x9a,0x7a,
0x9c,0x78,0x1c,0x36,0x1a,0x73,0x61,0x53,0xee,0xd1,0x4e,0x39,0x5e,0x3d,0x97,0xd1,
0xab,0x2b,0x6d,0x37,0x35,0xaa,0xa8,0x4f,0xc2,0x8b,0x92,0xb1,0xaa,0x2d,0x68,0xf8,
0xb2,0x5a,0x0e,0xda,0x0d,0x93,0x4b,0x72,0xbd,0xa3,0xf2,0xaf,0x49,0xc3,0xcf,0xd8,
0x83,0x98,0x98,0x9d,0x8e,0x34,0xad,0xdc,0x58,0xbe,0xa1,0x64,0x73,0x72,0x7c,0x5c,
0xe1,0x93,0x60,0x1c,0x12,0xef,0x8b,0x9d,0xa4,0x96,0x2e,0xb3,0xa2,0x24,0x62,0x08,
0xe6,0x75,0x32,0x28,0x8d,0xa4,0x16,0xba,0xad,0x2f,0x74,0xd1,0xb5,0x68,0xd7,0x4e,
0xba,0x36,0x07,0xf5,0x0b,0x45,0x7b,0xd7,0x25,0x17,0x73,0xe8,0xde,0xdd,0x8d,0x17,
0x9b,0xee,0x2b,0x30,0x7c,0xd3,0xe8,0x1b,0x53,0x71,0xc3,0x21,0x57,0x3c,0x2c,0x31,
0xcc,0xbe,0x5d,0x1c,0xf3,0x98,0x78,0x2e,0x98,0x46,0x99,0x5a,0x9b,0xa1,0xc6,0x92,
0x42,0x72,0xa4,0xee,0x34,0xb2,0x07,0xbf,0x56,0xdb,0x8d,0xc4,0x19,0x9c,0xf2,0x80,
0x9b,0x59,0x4f,0xaf,0x3d,0xeb,0x7a,0x92,0x15,0x69,0x71,0xff,0x16,0x2c,0x6c,0x95,
0xa9,0x5f,0x94,0x5d,0x93,0x42,0x2d,0x8a,0x98,0xe5,0x04,0xd2,0x99,0x49,0x51,0x82,
0xa2,0xa1,0x42,0x9b,0x75,0xf3,0xf5,0x2a,0x25,0xc7,0xdb,0x37,0x10,0xdd,0xdb,0x55,
0x00,0x06,0x5d,0x9d,0x04,0xf1,0x22,0x14,0xa1,0xb2,0xc8,0x94,0x8b,0x91,0xf9,0x22,
0xd2,0xae,0x4d,0x7a,0x53,0xe5,0x8c,0x08,0x10,0xc5,0xcf,0xd2,0x48,0x52,0x68,0x47,
0x5c,0x2d,0x35,0x6f,0x65,0xf4,0x8c,0xb9,0x1f,0xc2,0x9c,0x22,0x96,0xcf,0xb9,0xca,
0x24,0x90,0xbb,0x79,0x46,0x4c,0xc9,0xe3,0x11,0xa7,0xaa,0x74,0x03,0xc8,0xc1,0x03,
0x31,0xfb,0xf1,0x31,0x13,0xe5,0xed,0x80,0xb5,0xaf,0xd5,0x4c,0xa2,0x5e,0x65,0x3d,
0xdf,0x57,0x25,0x96,0xd6,0x32,0x63,0x34,0x18,0x72,0x3a,0x68,0xef,0x6b,0x43,0xb9,
0x38,0x5b,0x29,0x6d,0x9a,0x05,0x69,0xf8,0x9c,0x62,0x88,0x4a,0x76,0x58,0x99,0x8a,
0x44,0x39,0x89,0xc7,0xdd,0xb4,0xc9,0xa0,0xbc,0x06,0x3b,0xdb,0xf0,0x1a,0x0f,0xf2,
0x02,0x4c,0xdd,0x0c,0xd5,0xe6,0x99,0xbf,0x0e,0x37,0x9b,0x94,0xe8,0xc4,0xe7,0xc4,
0xa5,0xa6,0xa6,0xe0,0xa6,0xd5,0x11,0x09,0xc2,0x98,0xfe,0x31,0x2c,0x74,0x8f,0x51,
0x69,0x25,0x3c,0xc9,0xa5,0x62,0x01,0xe1,0x47,0x6f,0xe1,0x30,0x84,0xd2,0x2e,0xf7,
0x7a,0xa0,0x42,0xcd,0x5f,0xfb,0xa8,0xa8,0x78,0x35,0xe9,0xee,0x86,0xb4,0x96,0xee,
0x2c,0x27,0xcb,0x5d,0xb4,0x5e,0xf4,0xfb,0x4d,0x8f,0x3a,0x96,0x38,0x78,0xda,0x2d,
0x83,0x63,0xf1,0x7c,0x37,0x29,0x56,0xe5,0x9e,0xd3,0x99,0x77,0x08,0xd2,0xb2,0x66,
0xed,0x74,0x8a,0x7a,0x63,0x32,0xad,0x95,0xad,0x72,0xd8,0xf3,0xa2,0xd7,0x53,0x71,
0xef,0xf6,0xa0,0x31,0x84,0xec,0x91,0xc3,0xc6,0x59,0xae,0xa2,0x21,0xa4,0xcc,0xe6,
0x4b,0x96,0x37,0xe9,0x53,0xb3,0x19,0x95,0x2a,0xe7,0x13,0x65,0x6f,0x5c,0xb0,0xac,
0xb1,0xc8,0xe2,0x94,0x38,0x78,0x95,0xc8,0x54,0x29,0xb1,0x37,0x6f,0x58,0x93,0x8b,
0x36,0x82,0xcb,0x46,0x39,0x0a,0x76,0x35,0x8a,0xa1,0x21,0x73,0xa4,0x68,0x2f,0x64,
0x96,0x03,0x50,0xf4,0xdd,0x0b,0x04,0x8d,0xf6,0x9d,0x0c,0x2a,0xe6,0xde,0x3a,0x0a,
0xdd,0xb9,0xb0,0xa7,0xee,0xf4,0x7c,0x80,0xa0,0xf3,0xce,0xbd,0xe3,0xbf,0x6a,0x43,
0x6f,0xcb,0x16,0x74,0x14,0x9c,0x8f,0x10,0x5b,0xa5,0x45,0xf9,0x13,0xfc,0x44,0x98,
0xd1,0xee,0xdc,0x72,0x9f,0x34,0xab,0x14,0x79,0x3e,0xb2,0xab,0xf3,0x96,0x09,0xd5,
0x03,0xed,0x7b,0x3c,0x63,0x1e,0x98,0x6f,0x36,0x73,0x27,0x22,0x72,0xce,0x85,0xa6,
0x55,0xe6,0xce,0xd4,0x42,0xb0,0x4d,0x8f,0x6e,0xd5,0xea,0xb1,0x6b,0x02,0xaa,0x8a,
0x52,0x18,0xd5,0x23,0xd9,0xf5,0xae,0xd3,0xe1,0x8c,0x97,0x85,0x49,0xd2,0xa6,0xa9,
0xc4,0x9e,0xb3,0xfd,0xef,0x73,0x10,0x30,0x80,0xf6,0xb9,0x98,0xfa,0xd0,0xa4,0x31,
0xe1,0x0a,0xc6,0xc7,0xc4,0xd2,0x64,0x2e,0xa7,0xe5,0xb5,0x92,0x0e,0xf7,0x5d,0xe1,
0x50,0xc9,0x15,0x82,0x80,0x1a,0x73,0x55,0x34,0x41,0xfb,0x87,0x50,0xa5,0xbc,0xc7,
0x4b,0x7a,0x55,0x24,0x58,0x5e,0xb3,0x90,0xc4,0x30,0x6d,0x1d,0x0c,0x67,0x3e,0x67,
0x82,0xf3,0x16,0x15,0x71,0x3a,0x1d,0xe1,0x00,0xa5,0xdf,0xfd,0x78,0x21,0x2c,0x42,
0x11,0x63,0x69,0xa9,0x72,0xed,0x61,0x8b,0x68,0x94,0xe6,0x24,0xf1,0x1a,0xe8,0xf1,
0xe6,0x68,0xa1,0x46,0x91,0x85,0x1e,0x50,0x43,0xaa,0xd0,0x83,0x32,0x39,0xf0,0x1e,
0x08,0xc5,0x4b,0x31,0xf6,0x17,0x31,0x65,0xfc,0x28,0xd7,0x44,0x84,0x65,0xe8,0x9e,
0x69,0x56,0x36,0xce,0x34,0xb7,0xac,0x69,0x08,0xbd,0x86,0x0a,0x59,0x9d,0xa6,0x98,
0x78,0x1c,0x13,0xf2,0x18,0x36,0x55,0x77,0x94,0xc3,0x03,0x26,0x34,0x34,0x0a,0xf1,
0xfc,0x04,0xe3,0x4a,0x04,0x60,0x5e,0xf7,0xd1,0x46,0xd6,0x31,0x21,0xd0,0xc0,0x22,
0x98,0xf6,0x68,0x21,0xe7,0xd2,0x9a,0x89,0xdc,0x0d,0x01,0xb0,0xb0,0x5a,0xfd,0x90,
0x92,0x54,0xad,0x1c,0x91,0x35,0xe4,0x51,0x21,0x5c,0x6a,0xd0,0x5e,0x4f,0x0e,0x8b,
0x41,0xa5,0xad,0xfc,0xcb,0x71,0x89,0xfd,0x09,0xc6,0xdb,0x7e,0x9d,0x47,0x3c,0x68,
0xb9,0x5c,0xc0,0xc3,0xa6,0xbc,0x0e,0xac,0xf2,0x4e,0xfe,0x2e,0xab,0xf4,0x02,0x7a,
0x8c,0x59,0x66,0x15,0xf9,0xb2,0x5a,0x62,0x7f,0x97,0x9b,0x08,0x06,0x3b,0x61,0x6e,
0xbd,0x3f,0x19,0x87,0x24,0x90,0x60,0x3c,0x99,0x9a,0x8c,0xf2,0xf9,0x8a,0x24,0x93,
0x8c,0x96,0x1f,0x70,0x92,0xb2,0x10,0xf1,0xd8,0x86,0x85,0x0a,0x74,0xbf,0x62,0xb9,
0xc8,0xe3,0xee,0x48,0x8a,0xea,0xa2,0xde,0xb3,0x52,0xfb,0xbe,0xc3,0x85,0xaa,0xe5,
0x90,0xa5,0x1d,0xec,0xb9,0x9b,0xf0,0x68,0x47,0x75,0xaa,0x64,0xc1,0x1d,0xf5,0x48,
0xc8,0x5f,0x52,0x0a,0x8c,0x94,0x30,0xb1,0x9d,0x74,0x91,0x32,0x91,0x83,0x46,0x73,
0xda,0x9c,0x26,0xe7,0xec,0x43,0x42,0xc1,0x62,0xf1,0xfe,0x81,0x7b,0x52,0xae,0x2d,
0x9a,0xf0,0xa6,0xac,0x69,0xdd,0xf4,0x59,0xcc,0x12,0x18,0x75,0x87,0xd2,0x30,0xf5,
0xae,0x32,0xdf,0xe9,0xfb,0x3b,0xcc,0xd4,0xf2,0xe1,0x4d,0x05,0x82,0x2c,0x7d,0x2e,
0xe4,0x42,0xb0,0x03,0xf0,0x6f,0x0c,0x0b,0x32,0x84,0xe6,0xed,0x8d,0x8e,0x43,0x33,
0x22,0x83,0xbd,0xdd,0x6c,0x1a,0x08,0xfa,0x18,0x15,0xeb,0xd6,0x0f,0x5b,0x2e,0x8b,
0x72,0x83,0x47,0xd2,0xde,0x1c,0x52,0x55,0x0b,0xd8,0x45,0xd5,0x29,0xc1,0x00,0xab,
0x82,0xa5,0x01,0xa7,0x24,0x4a,0xaf,0xa6,0x0c,0x4d,0xb0,0x54,0x49,0x46,0x09,0x76,
0xb3,0xe1,0x7b,0x85,0x3a,0xe5,0x7d,0x54,0x81,0x8c,0x37,0x62,0xed,0x08,0x1d,0x0c,
0xc1,0x7f,0x70,0xd4,0x62,0x4a,0xcb,0x55,0x35,0xb2,0x43,0x64,0x9b,0xa6,0xad,0x96,
0xb2,0x25,0xd0,0x6c,0xb2,0x18,0x9c,0xe7,0x49,0x2f,0x9c,0x8b,0xa6,0x60,0xc2,0xea,
0xda,0xa9,0xca,0x0d,0xa8,0x2c,0x98,0x7c,0x32,0x92,0xf6,0xde,0xf7,0x2e,0x1d,0x1f,
0xd3,0x5d,0x56,0xb5,0xa8,0xf6,0x4c,0x2a,0x19,0xe1,0xc7,0xae,0x79,0xfc,0x19,0xfa,
0xa4,0x9c,0x52,0xee,0xf3,0x18,0xde,0xf3,0xf1,0x88,0xca,0x15,0xaa,0x24,0x1d,0x57,
0x69,0x35,0xfb,0x03,0x54,0x6b,0xc3,0xe5,0x6b,0xb8,0x54,0x85,0x5e,0x54,0x88,0xe0,
0xd3,0xd6,0x5a,0xf7,0xc7,0x9f,0xbf,0xfc,0x76,0xbd,0xb9,0xfe,0xf0,0x7f,0xae,0xdf,
0xfd,0xfa,0xe1,0xdd,0xe6,0xea,0xc3,0xe7,0x0f,0x17,0xd7,0xd6,0x3f,0xd4,0x6e,0x9b,
0xef,0x94,0xfe,0xe4,0x67,0xda,0xe3,0xb2,0x14,0x5b,0x71,0x42,0x00,0x1a,0x15,0xcb,
0xb0,0x5b,0x08,0x34,0xe3,0xad,0xb9,0xd6,0xa3,0xca,0x74,0xcc,0x6c,0x73,0x00,0x7d,
0x0c,0x1c,0x07,0xdb,0x9d,0x02,0x06,0xb2,0xa8,0xaa,0xae,0x6c,0x30,0xfc,0x5c,0x11,
0xba,0x5b,0x91,0xb4,0x36,0xef,0xdb,0xca,0xa3,0x55,0x7b,0x40,0x5f,0x54,0xf0,0xe4,
0x1a,0x6a,0x6f,0x4f,0x84,0x55,0xb1,0x18,0x84,0x2f,0x9a,0xcf,0x17,0x25,0xed,0x06,
0x72,0xe2,0x84,0x1c,0x49,0xb9,0x65,0x40,0x65,0x64,0x2b,0xe9,0x49,0xe2,0x31,0xc1,
0x51,0xf5,0x33,0x5c,0x0f,0x10,0xc0,0x0a,0x52,0x12,0xa6,0xde,0x4b,0x8a,0xb1,0xc0,
0xb9,0xda,0x34,0xe7,0xdd,0xf5,0xbb,0x45,0x84,0x40,0x19,0x3e,0x22,0x1e,0x4e,0xd3,
0xb9,0xb2,0xd5,0xda,0x86,0xcd,0xf8,0x17,0xc9,0x97,0x72,0xbb,0xf4,0xca,0x0e,0x3c,
0xc5,0x6b,0x69,0xee,0x34,0x1b,0x4e,0x76,0x64,0xc7,0xc3,0x6a,0x7b,0x52,0xb9,0x1a,
0x70,0xea,0x47,0x74,0xb3,0x8c,0xfc,0x4f,0xb2,0x74,0x42,0x3e,0xa2,0x8c,0x2f,0xaf,
0x64,0x9d,0xf8,0xdd,0x6c,0xda,0x29,0xd7,0xcd,0x46,0x4f,0xb5,0xb0,0x87,0xbd,0xd9,
0x04,0x9d,0x4e,0xe0,0x14,0xb0,0x16,0x97,0x30,0x73,0xe8,0x87,0xa0,0x71,0x91,0x91,
0x63,0xf5,0xf6,0x79,0x1f,0x10,0x9a,0x8d,0x61,0xbe,0x7e,0xeb,0x0d,0x5e,0xf4,0x37,
0x1b,0xe9,0xcf,0x67,0xe1,0x1b,0xb8,0x78,0x96,0x9e,0xef,0x96,0x51,0xf0,0x37,0x32,
0x6c,0x08,0x0c,0x07,0x8f,0xde,0xe1,0x08,0xfd,0x6f,0x15,0x90,0x55,0xa1,0x30,0xb9,
0x7c,0x54,0xb9,0xdd,0xe9,0xc4,0x30,0xfc,0x87,0xe4,0x2e,0x54,0x51,0x46,0x2c,0xa3,
0x37,0x10,0x65,0x3f,0xfb,0x31,0x98,0x31,0xc9,0x82,0xb5,0x83,0xc6,0x93,0xde,0x4c,
0x3d,0xea,0xa3,0x4c,0x81,0x74,0x9c,0x2a,0x47,0x49,0x97,0xec,0xf6,0x2e,0x80,0xbe,
0x3f,0xa0,0x6b,0xa8,0x0a,0x72,0x95,0xee,0x19,0x79,0x2a,0x95,0x43,0x89,0x87,0xcc,
0xa3,0x3d,0xc4,0xae,0x65,0xc7,0xb4,0xa3,0x44,0x71,0xac,0xef,0xfd,0xfc,0xee,0x77,
0x55,0x8e,0x69,0x39,0x05,0x6d,0xcb,0x34,0xd9,0x68,0xfb,0xa1,0x1e,0xf5,0xfe,0xe6,
0xf4,0xb6,0xf7,0x80,0x9f,0xad,0x45,0xdc,0x04,0xa4,0xba,0x94,0x0d,0xb1,0xec,0x48,
0x5f,0x20,0x7f,0x67,0x81,0x7c,0x2c,0x50,0xa7,0x43,0xbf,0x50,0xf2,0xa0,0x69,0xc6,
0x9b,0xea,0x27,0xdd,0xf3,0xc3,0x3f,0x4f,0xac,0x4a,0xd2,0xe5,0x53,0xcb,0x8a,0x65,
0x92,0xa0,0xba,0x1f,0x1e,0x74,0xb5,0xec,0xa7,0xc8,0x94,0x8f,0x7f,0x08,0x56,0x3d,
0x54,0xcc,0xae,0x07,0xc1,0x31,0xda,0xab,0xfd,0x48,0x66,0xcb,0x2a,0x82,0xef,0x5a,
0x2d,0xe7,0x9d,0x40,0xd9,0xc4,0x30,0x2d,0x07,0xff,0xad,0x17,0xd7,0x7b,0x99,0x5c,
0x64,0xb0,0x5f,0x9b,0x34,0x2b,0xcd,0x6a,0x45,0x53,0x28,0x15,0xb0,0x9d,0x6d,0x86,
0x26,0xf9,0x10,0xdf,0x20,0xf8,0xbf,0x3d,0x36,0xcf,0x97,0x1e,0xbf,0xde,0x70,0x00,
0xd7,0x9b,0x58,0x8f,0xb6,0xcc,0xf7,0x63,0xdd,0xda,0x63,0x90,0x3b,0x4c,0x8d,0x66,
0xba,0xa2,0xbd,0xc5,0xd0,0xf8,0xed,0x47,0xdd,0x2f,0xe7,0xd0,0xb8,0xe4,0x5a,0x3c,
0x22,0x5f,0xb9,0xc2,0x0c,0xef,0xbc,0x1b,0xb4,0xdc,0xd6,0x24,0x68,0xbb,0x43,0xf0,
0x87,0xca,0x55,0xfb,0xa4,0x80,0x29,0x4d,0x43,0xf8,0xf8,0x98,0x42,0x18,0x2d,0xa1,
0x5f,0x43,0x99,0x0d,0x20,0x85,0x4d,0x9b,0x7c,0xc7,0x5d,0x4e,0x82,0x88,0x3c,0x37,
0xcf,0x4d,0x43,0xc0,0x4e,0x70,0x1f,0x1d,0x64,0x49,0x63,0xe8,0x45,0xd1,0x14,0xe7,
0x94,0xe5,0x13,0xfb,0x8e,0x8f,0xf0,0xd9,0xda,0xcd,0x08,0x2f,0xc5,0x73,0xf7,0x39,
0x47,0x64,0x2a,0x17,0xe5,0x3f,0x34,0xde,0x26,0xe6,0x69,0x8b,0x18,0x93,0x9f,0x79,
0x33,0xd8,0x7c,0x70,0x45,0x6a,0x4a,0x05,0x48,0xad,0x0d,0x75,0xf6,0xd3,0x42,0xc4,
0xce,0xbf,0xb3,0xf1,0x35,0x27,0x2e,0x77,0xd0,0xa7,0x96,0xbd,0x29,0x95,0x74,0x26,
0xb3,0x27,0x84,0x1b,0x5f,0xf0,0x98,0xd6,0xce,0x0b,0x4d,0xce,0x64,0x26,0x03,0x3c,
0x9e,0x0f,0xe5,0x2c,0xd4,0x98,0x4f,0x50,0x82,0x3c,0xff,0x36,0x2a,0x9e,0x57,0xc2,
0x2b,0x8f,0x77,0x17,0xec,0x1b,0xe8,0x21,0xf6,0xb0,0xcf,0x48,0x04,0x0e,0x64,0xb2,
0x8b,0x54,0x7d,0x43,0xb1,0x91,0x9d,0xe9,0x71,0x39,0x0c,0x65,0x22,0x43,0xa9,0x51,
0x25,0x6f,0x23,0xaa,0x4f,0x25,0x1b,0x17,0x7a,0x29,0xdd,0x35,0xe3,0x94,0xe9,0x64,
0x12,0xcb,0x71,0x08,0xa8,0x69,0xe3,0x5d,0x52,0xab,0xf8,0x33,0xda,0x39,0x0d,0xe3,
0xe7,0x91,0xaf,0x3a,0x99,0xa4,0xc5,0x4c,0x15,0x81,0x8d,0x14,0xb2,0x7b,0xbb,0x52,
0xd8,0xdf,0xa5,0xde,0xdf,0xf2,0xa3,0xb5,0x8c,0x5d,0x57,0xee,0x33,0xb5,0xa4,0xa6,
0x6e,0xdc,0xe7,0x69,0x5f,0xd7,0x07,0x6b,0x6c,0x99,0x22,0x52,0xc7,0x68,0xe8,0xa8,
0x85,0x63,0x7c,0x8c,0xee,0x21,0x5f,0xf2,0x1c,0x44,0x61,0x1b,0x73,0x12,0x7f,0xca,
0xeb,0xb4,0xcf,0x60,0x10,0x9c,0x6c,0x4a,0xa6,0xff,0xac,0x9f,0xdd,0x1b,0x23,0xca,
0xad,0x52,0xaa,0xc9,0x38,0x96,0x0d,0xd0,0x9b,0xea,0x96,0x4e,0x4a,0xd0,0xe9,0x08,
0xc3,0x33,0x5e,0x0d,0x86,0x08,0x3e,0x8b,0x59,0x99,0x66,0xe8,0x45,0xcf,0xd0,0x78,
0x36,0x70,0x58,0xee,0x2e,0xae,0xae,0x3c,0xd3,0xa5,0x83,0x2c,0x6b,0x3f,0x8e,0xdd,
0x28,0x89,0xca,0xc8,0x8f,0xdb,0x87,0x36,0x9a,0x43,0x0a,0x43,0xc4,0xd4,0x11,0x4d,
0xd6,0x85,0x77,0xe9,0x93,0x23,0xb7,0xff,0x40,0x87,0xf6,0xc6,0x93,0x47,0x3b,0xb4,
0x3e,0x74,0xf2,0xa1,0xd7,0xf3,0x55,0x27,0x2c,0xbe,0xad,0xce,0xb3,0x58,0x74,0xfa,
0x47,0x35,0x53,0x7e,0x4c,0x5e,0x8d,0x27,0xf6,0xb3,0x0f,0x97,0x1f,0x7e,0xb8,0x7c,
0x6f,0x51,0x87,0x85,0xbb,0xef,0x30,0x48,0xaf,0x37,0xfb,0x8b,0x53,0x20,0x3c,0xec,
0xb7,0xcf,0x97,0x2c,0xf6,0x1c,0x2a,0x81,0x50,0xf1,0xd9,0x1a,0x75,0xcb,0xc7,0x91,
0xec,0x67,0xaf,0xde,0xbd,0x3a,0xfd,0xe1,0xd4,0x1a,0xd2,0xf1,0x0e,0x77,0x80,0xb5,
0x38,0x19,0x28,0x18,0xf3,0x34,0x49,0xed,0x45,0xc4,0x7f,0x8b,0x0c,0x7e,0xa0,0x7d,
0xf5,0xf1,0x27,0x5c,0xf7,0x7e,0x15,0x93,0x45,0xec,0xe7,0xf6,0x4f,0x02,0xd1,0x9e,
0x5d,0x3f,0x96,0xa7,0x53,0x6e,0xa4,0x33,0x74,0xbb,0xae,0x56,0x22,0xc1,0xaa,0x6b,
0xa7,0x45,0x7c,0x79,0xc0,0x07,0x0b,0x06,0xbb,0x1b,0x41,0xe5,0x41,0x44,0x7b,0xa1,
0x08,0x60,0x55,0x78,0x7d,0xa8,0xfb,0xd6,0x77,0xc7,0x69,0xb0,0x28,0x7a,0xcb,0xa8,
0x88,0xc8,0x6f,0x04,0xcf,0x97,0x78,0xd6,0x6a,0x5c,0x43,0x0b,0x50,0xca,0xca,0x3d,
0xdd,0x99,0xbb,0x0f,0xdf,0x56,0x3e,0xa2,0x64,0x28,0x6d,0x6a,0xf6,0xd0,0x45,0x9e,
0x52,0x89,0x92,0xf5,0xdc,0xbf,0x57,0x67,0x86,0x06,0x03,0xe2,0xbd,0x6a,0xa1,0x5f,
0xd1,0xf5,0xdc,0xcf,0x27,0x51,0xe2,0xf6,0x0d,0x7f,0x51,0xa6,0xc3,0x0c,0x1a,0x89,
0xf8,0xa3,0x6f,0xd0,0x91,0x97,0x9a,0xb7,0x26,0x79,0x14,0x0e,0xe9,0xa7,0x07,0x03,
0x98,0x91,0x5b,0xea,0x1e,0x8d,0x8c,0xc0,0x28,0x8f,0x24,0x33,0x1f,0x21,0x50,0x33,
0x12,0x79,0x73,0x32,0x8f,0x12,0x99,0xab,0x1b,0x8c,0x73,0x8b,0xc1,0x4a,0xd8,0xa0,
0xc2,0x62,0x9e,0xf4,0x26,0x7e,0xe6,0x0e,0x80,0xde,0xd0,0x87,0x65,0x4e,0x7a,0x11,
0x20,0x16,0x2e,0x9d,0x8c,0x12,0xb9,0xc4,0x78,0xb4,0xe6,0x91,0xe8,0x08,0x8e,0x3b,
0xaa,0x51,0x18,0xc7,0x62,0xdf,0x2b,0x43,0x02,0xf7,0x8a,0xe6,0x51,0x1f,0x8c,0xea,
0x0f,0x69,0x4f,0x91,0xaa,0xe8,0x5c,0xb9,0x32,0x54,0xba,0x54,0x8a,0x1e,0x2f,0x19,
0xb9,0x54,0xb9,0x9f,0xc9,0x91,0xa6,0xeb,0xbf,0x0b,0x3d,0x16,0x54,0x9a,0xc7,0x20,
0x88,0x3c,0xce,0xe0,0x4c,0xcc,0xe5,0x42,0x96,0x10,0xec,0x82,0x02,0x4c,0x77,0x41,
0xd5,0xdb,0x81,0x0f,0xbf,0x8c,0x81,0x87,0x6b,0x02,0xca,0xab,0x3b,0x94,0x88,0xbd,
0x68,0x48,0x4f,0x97,0x8a,0x9f,0xe9,0x80,0xd2,0xa2,0x70,0x5f,0xf4,0xbf,0x7b,0xcc,
0xc0,0xbe,0x25,0x85,0x96,0xd5,0x0f,0x16,0xa5,0x6f,0x60,0x55,0xea,0x45,0xdf,0x52,
0x5d,0xe1,0x5a,0xe7,0x70,0x3e,0x60,0x67,0x3f,0x7b,0xf1,0xee,0xc5,0x8b,0xb3,0x97,
0xd6,0x23,0xac,0xfb,0xaf,0xc4,0x5c,0x22,0xb7,0x1c,0xad,0xab,0xa5,0x26,0x41,0x7a,
0x59,0xa3,0xf3,0x48,0xae,0x7c,0x6b,0x07,0x51,0x5a,0x3a,0x7d,0x4c,0xff,0xf1,0x38,
0x83,0x6f,0x11,0x07,0x63,0x43,0x89,0x11,0xe6,0xfb,0xa6,0xab,0x43,0x9e,0x49,0xf9,
0x72,0x12,0x8d,0x21,0x92,0xd6,0x42,0x2b,0x6a,0x32,0x53,0xb7,0x96,0xb2,0xe2,0x80,
0xde,0xbd,0xcb,0xbc,0x57,0x04,0x74,0xde,0x80,0x8e,0xe4,0xc9,0x57,0x79,0x55,0x64,
0x63,0xaf,0x48,0xfc,0xac,0x47,0xe9,0x00,0xf7,0x9e,0x76,0xa7,0xef,0xa3,0x79,0x54,
0x3e,0x34,0x72,0xd1,0x63,0x49,0x68,0x04,0x83,0xee,0xb4,0x93,0x61,0x83,0x3d,0xdc,
0xd1,0x27,0xee,0x90,0x9a,0x32,0x73,0x9f,0xf5,0xfb,0x74,0x3c,0xf1,0xae,0xba,0x98,
0xbb,0x24,0xa8,0xc0,0x64,0x42,0x04,0x25,0xf7,0xe9,0x75,0x3f,0x14,0x13,0xa5,0xf5,
0x32,0xcb,0xa6,0x7e,0xc6,0xe9,0x59,0x76,0x2f,0xaf,0x10,0x3c,0x04,0xdd,0x41,0xbf,
0xff,0x9d,0xd1,0xe3,0x56,0x4b,0xf5,0xbc,0x23,0x8d,0xba,0x12,0xa3,0x59,0x54,0xf6,
0xe6,0x7e,0x31,0xeb,0x45,0x73,0x78,0xa9,0x95,0xaa,0xb3,0x86,0x7b,0xda,0x14,0x39,
0x5d,0xb7,0x7a,0xaf,0x26,0x4b,0x4b,0x77,0x6d,0x9d,0x71,0x4c,0x27,0x0a,0x5d,0x5e,
0x3e,0x84,0x4e,0x40,0x12,0x6d,0xf9,0x9a,0x66,0xa1,0xb7,0x49,0x70,0x86,0xaf,0x71,
0xfa,0x5f,0x09,0x94,0xa6,0x60,0x68,0xd1,0x1e,0x4b,0x66,0x6b,0x55,0x18,0x40,0xa5,
0x1c,0x68,0x24,0xc5,0x39,0x6d,0xfe,0xe3,0x27,0x4e,0x9a,0xb4,0x9a,0xa3,0x96,0xe8,
0x44,0x09,0xb4,0x22,0xc4,0x87,0xf4,0x62,0x23,0x3f,0x6c,0x55,0x58,0xd1,0xb2,0x45,
0x5d,0x50,0xa7,0x6f,0x1f,0x7b,0xa4,0x05,0xd0,0xe6,0xf0,0xc3,0x3e,0xb9,0xd1,0x28,
0xb4,0x4f,0x74,0xd4,0x09,0x41,0x79,0x96,0x71,0x1f,0x01,0xfe,0xbf,0xa4,0x89,0x97,
0x20,0xd0,0x04,0x24,0x18,0x36,0xea,0xfe,0xec,0xe5,0x72,0xf5,0x48,0x19,0x32,0xa8,
0xba,0x51,0xc4,0x71,0x94,0x15,0x51,0x51,0x61,0xaa,0x93,0x70,0x61,0xed,0xe7,0xec,
0x1d,0x64,0x24,0xcb,0x04,0xce,0x6a,0xbd,0x07,0xc6,0x8e,0x48,0xd3,0x62,0x95,0x13,
0x0d,0xdd,0x92,0xee,0xf7,0xac,0x6a,0xa4,0x98,0x35,0x9b,0xac,0x6b,0x47,0xc6,0x1f,
0x81,0xc0,0xb0,0xe1,0xc0,0x6a,0x5c,0x42,0xfa,0xa9,0x32,0xa8,0x3f,0xdc,0xd1,0x05,
0x44,0xe3,0x3d,0x8a,0x65,0x0b,0x48,0xc4,0x22,0x7e,0x02,0x91,0x60,0x68,0xd9,0xc4,
0x38,0x2b,0x8c,0x60,0x31,0x8a,0x82,0xde,0x48,0xfc,0x27,0x12,0x79,0xd7,0x19,0xd8,
0xce,0x2b,0xdb,0x39,0xb5,0x07,0x96,0xa1,0x12,0x88,0xc5,0xf6,0xbf,0x66,0xe2,0x61,
0x9c,0x23,0xa6,0x29,0x0c,0x20,0x53,0xa6,0x6b,0x39,0xe0,0xeb,0xd3,0xef,0xd4,0x39,
0xd0,0x72,0xd5,0xa0,0x38,0x26,0xdf,0xb0,0xc2,0x2f,0x67,0x84,0xfa,0x43,0xe5,0xb1,
0x30,0xef,0xb4,0xe4,0xe3,0xeb,0xa2,0x28,0x11,0xef,0xf7,0xaa,0x23,0xb8,0x95,0x8c,
0x48,0xde,0xe8,0x71,0x82,0xbd,0x90,0x72,0xf5,0x9f,0x1e,0xd7,0x35,0xb9,0xa7,0x83,
0xb3,0x1f,0xce,0x5e,0x3d,0x7f,0x79,0xf6,0x83,0x1a,0x5c,0xb3,0xee,0x95,0xa6,0x58,
0xae,0xa0,0x2a,0x9e,0x83,0x10,0xd6,0x13,0xcc,0x5c,0x31,0x30,0x2c,0x9b,0xc1,0xa6,
0x78,0x57,0x9f,0x91,0x27,0xa1,0xe8,0x39,0x70,0xce,0x9e,0x32,0x0d,0x8b,0x7d,0xa6,
0xe1,0x11,0xed,0xb9,0xf6,0xd9,0xd6,0xfc,0xbb,0x53,0xfb,0xd9,0xe0,0xf9,0x60,0x30,
0xe8,0x5b,0x6d,0xde,0x88,0x88,0x37,0x1c,0xb1,0x9f,0x8b,0xf4,0x73,0xc0,0x1a,0x83,
0xff,0xf0,0x9a,0xce,0x40,0xb3,0x1d,0x6c,0x69,0xb0,0x56,0xf7,0xdd,0x23,0xd3,0xe4,
0x13,0xe9,0x96,0xa3,0x91,0x67,0x7a,0xfe,0xd8,0xcf,0x49,0x1a,0x4f,0xe7,0x84,0xdd,
0x99,0xbf,0xe3,0xe1,0x80,0xb6,0xd0,0x4b,0xeb,0xca,0x8c,0x34,0x83,0x6c,0xe9,0x50,
0x70,0x1d,0x58,0xc9,0x54,0x4c,0x95,0x22,0x68,0xd2,0xaa,0x75,0x26,0xf2,0xe4,0xcf,
0x93,0xe3,0x7f,0x9c,0xd8,0x88,0x9d,0x11,0xb8,0x9e,0x98,0x5a,0x92,0x67,0xc4,0x55,
0xa4,0xea,0xcd,0x26,0xbf,0xc3,0x79,0x0f,0x3e,0xdc,0xd8,0xe9,0x54,0x07,0x1c,0xf1,
0xaa,0xfe,0x26,0xa5,0xee,0x11,0x29,0xad,0x65,0x6a,0x88,0xe1,0x54,0x79,0xfd,0xec,
0xb8,0x3b,0x3a,0x57,0xf9,0x09,0x0a,0xd8,0x5b,0xe7,0x0a,0x55,0x71,0x8a,0xcc,0x21,
0x50,0xe2,0x47,0xff,0x70,0x43,0xac,0x27,0x91,0x9a,0x24,0x53,0x64,0x7f,0xa5,0x0c,
0x93,0x2d,0xec,0x5c,0x4f,0x12,0x51,0xde,0x48,0xcf,0x13,0xad,0x85,0x47,0x4d,0x37,
0x11,0x6f,0x03,0x88,0x4e,0x47,0xd5,0x62,0x8a,0x9b,0xfe,0xad,0x76,0xdc,0x6d,0x4f,
0xea,0x88,0x7a,0x58,0x9d,0x8e,0xb8,0x19,0xdc,0x5a,0x71,0x55,0xe8,0x27,0x8f,0xac,
0x1e,0x7f,0x3d,0x3e,0xb6,0xfb,0x36,0x9d,0x77,0x91,0x87,0x81,0x79,0xaa,0x8f,0xab,
0x7b,0x7c,0x2a,0x56,0x24,0x84,0x76,0xd3,0x1d,0x0d,0xbe,0x71,0x0b,0x59,0xff,0x71,
0x0a,0xc4,0x47,0xe8,0xea,0xf3,0xa6,0x88,0xc7,0xe4,0x8d,0xab,0x0c,0x96,0xdf,0x82,
0xca,0xcd,0x03,0x9e,0xa4,0xea,0x81,0xd9,0x61,0x29,0x7c,0x3d,0x77,0x92,0x26,0x26,
0x5e,0xdb,0x13,0x29,0xc3,0x78,0x90,0x59,0xa1,0x8c,0x02,0xed,0x06,0x5a,0x5b,0x42,
0x5a,0xcf,0x9f,0xf8,0x54,0x53,0x1b,0x6b,0x68,0x80,0x65,0xe4,0xd7,0x23,0xa4,0x59,
0xfd,0x0c,0xcd,0x24,0x4b,0x17,0xe4,0xfd,0x8f,0x49,0x99,0xfe,0x1e,0x89,0x55,0x55,
0x7c,0x26,0xcf,0x1b,0xc8,0x67,0xea,0xdc,0xcc,0x84,0x76,0x79,0x53,0xe7,0xc0,0xa7,
0x54,0xb2,0x73,0xb7,0x10,0xf9,0xc3,0x15,0x1f,0x94,0xa7,0xad,0x72,0x87,0xf6,0x6e,
0x38,0x73,0xe1,0xd3,0x12,0x52,0x8f,0x89,0x28,0xdf,0x93,0xf8,0x83,0xba,0x17,0x54,
0x8a,0x50,0xfe,0x4a,0x05,0xe8,0x60,0x30,0xcf,0x7f,0xf2,0x19,0xbd,0xd7,0x20,0x78,
0xec,0xe5,0x0e,0xa9,0xd0,0xe3,0xdc,0x61,0xb9,0x3d,0x39,0xed,0x09,0x6e,0xc0,0x1f,
0xd5,0x00,0xb6,0x44,0x78,0x5e,0x74,0xdb,0xb5,0x24,0xaa,0x6d,0xbd,0xc3,0x9e,0xea,
0xec,0x50,0x6b,0x0c,0x1e,0xf2,0x71,0xca,0x62,0x1c,0x9b,0x76,0xf1,0x76,0x60,0x3d,
0xf5,0x38,0xc7,0xe3,0x37,0x0d,0xa4,0x3f,0x08,0x9b,0x9e,0xec,0x4b,0xd3,0x91,0xf7,
0x03,0x5d,0x6a,0x54,0x1d,0x97,0x94,0x99,0x22,0xdf,0x6c,0x0e,0xaf,0x5a,0x62,0x43,
0x59,0xfa,0xa5,0x57,0x38,0x4b,0x5a,0xe0,0xa4,0xa4,0xad,0x7f,0x75,0x49,0xd9,0x74,
0x3e,0x86,0x8e,0x8e,0x22,0x6f,0x71,0x51,0x7d,0xa2,0xe8,0xbc,0xbb,0x3c,0xe7,0x4e,
0xc6,0xd2,0x74,0xe9,0xc8,0xf5,0x71,0xfd,0xc8,0xe5,0x7c,0xdd,0x48,0xa5,0xea,0xbd,
0xc3,0xa5,0xac,0x16,0x86,0xd4,0x8f,0x76,0x61,0xc9,0xf1,0x8e,0xbb,0xf5,0xa5,0xda,
0x6a,0x3c,0x37,0x0d,0xf3,0x78,0xb7,0x91,0xd3,0x78,0x04,0x97,0x78,0xcc,0x9c,0x96,
0x65,0x56,0xb8,0x27,0xd5,0x99,0x74,0xf2,0x29,0x1c,0x2a,0x74,0x39,0x81,0xea,0xa5,
0xf9,0x17,0xcf,0xcc,0x63,0x91,0x04,0x69,0x28,0x7e,0xfb,0xf5,0xc7,0x8b,0x14,0x41,
0x71,0x42,0xe2,0x52,0x03,0xb5,0xb6,0xfa,0x02,0xca,0x3d,0x16,0x49,0xab,0x60,0xba,
0x43,0xa7,0x6a,0x97,0xc1,0x06,0xce,0x72,0xd7,0xac,0x2e,0x32,0x39,0xd7,0x6e,0xfe,
0x5c,0xd0,0x01,0x4c,0xd3,0xe5,0x3a,0x98,0xf3,0x27,0x8f,0x56,0xb9,0xad,0x82,0xa9,
0xf3,0xea,0xca,0xa0,0xd7,0x07,0x67,0x5c,0xd7,0xfa,0x40,0xa0,0x5d,0xde,0x16,0x3b,
0xaf,0xce,0xe0,0x1b,0xf2,0x84,0x7c,0x58,0xf5,0x2b,0xfd,0x8c,0x8a,0x5d,0xd5,0x0e,
0x9e,0x04,0xaa,0x95,0x53,0x41,0x05,0x97,0xe7,0x5a,0x43,0x85,0x1c,0xad,0x4d,0x30,
0xdd,0x49,0x26,0xa2,0xa1,0x5a,0x2c,0xbe,0x69,0x34,0x02,0xb1,0xc5,0x61,0x1b,0x32,
0xa0,0x1a,0x2b,0x00,0x0a,0xda,0x7b,0x93,0xe5,0x24,0x56,0x27,0x34,0x62,0xef,0x13,
0xc9,0xdb,0xfe,0x4f,0xcf,0x68,0x5f,0xad,0x19,0x96,0x93,0xb6,0x86,0x3a,0x37,0x2f,
0xfd,0x7c,0x06,0xd0,0x9f,0x9b,0xe7,0x51,0x19,0x43,0x2f,0x5d,0xa9,0xcd,0xaa,0x14,
0x6c,0xd1,0x45,0xbf,0x50,0xf6,0x53,0x5f,0xb1,0x39,0x36,0x0d,0x09,0x5c,0x43,0x87,
0x3f,0x39,0xa2,0x56,0x94,0x99,0xff,0xd2,0xa1,0xb3,0xa2,0xad,0x22,0xf5,0xcb,0x5d,
0xa5,0x42,0x9b,0x5a,0x37,0xa0,0xe8,0xff,0xf5,0x8e,0x22,0xcc,0xf8,0xe8,0xd6,0xb4,
0xd4,0x69,0xf6,0xe0,0xb1,0xde,0xa5,0xce,0x60,0xc8,0x28,0x80,0xc5,0x8c,0x3d,0x93,
0x5e,0x30,0xe9,0x4e,0xb2,0x27,0x4d,0xd9,0xe5,0x20,0xe8,0xa4,0x58,0x4e,0x8e,0xef,
0xe7,0xb1,0xfd,0xdd,0xf3,0x0b,0x5c,0x1a,0xb8,0x4c,0x0a,0xef,0x88,0xf8,0x17,0xec,
0xbb,0x5a,0x81,0x6d,0x9f,0x3b,0x69,0x3e,0x39,0x39,0x45,0xd0,0x45,0x9d,0x8f,0x8c,
0x25,0x14,0xe3,0xfb,0xf4,0xde,0x3b,0xa2,0xc0,0x7b,0xf0,0x12,0xff,0x8e,0xbe,0x7b,
0xfe,0x01,0xef,0x07,0x51,0x1e,0x80,0x15,0x02,0x3c,0x7a,0x75,0x64,0x04,0x0f,0xfc,
0x27,0xf7,0x8e,0x5e,0x1c,0x19,0xe3,0x28,0x8e,0xbd,0xa3,0xef,0x4e,0x9f,0xcb,0xac,
0xd8,0xd1,0x89,0x7c,0x83,0x00,0xe2,0xca,0x1c,0x3e,0xf5,0x35,0x90,0x28,0xb0,0xe4,
0x61,0x05,0xca,0xef,0x3d,0x9e,0x65,0x9d,0x8d,0x33,0xa9,0x4c,0x01,0x1a,0x29,0x0a,
0x69,0x3b,0xf6,0x42,0xb6,0x0d,0x0f,0x8a,0xdc,0xe3,0x66,0xb0,0xb9,0x1f,0x4c,0xaf,
0x38,0xe8,0xe9,0xae,0xe9,0x88,0x9e,0x6b,0xa6,0x18,0xc5,0xa4,0x3c,0x67,0x91,0xc3,
0xf3,0x49,0x44,0xfe,0xe9,0xfa,0xa7,0xcf,0x9e,0xf9,0x86,0xbf,0x2d,0xf4,0xd6,0x3c,
0xbe,0xb8,0xba,0x3a,0x36,0xdf,0x9c,0xc8,0xdb,0x37,0x61,0xb4,0x34,0x98,0xf1,0x40,
0xfc,0xe4,0xa8,0x75,0x3f,0xc2,0xad,0x5f,0xdd,0x4c,0x8f,0xd8,0x8d,0xf0,0x8e,0x4e,
0xd0,0x1a,0x55,0xad,0x21,0x6e,0x4e,0xa2,0xb7,0xba,0xb8,0xbd,0x41,0xf0,0x90,0x54,
0xcf,0xa1,0x9b,0xa8,0x07,0x35,0xe1,0x8f,0xaf,0xc1,0x5b,0x8e,0x8e,0x20,0x4c,0x39,
0x95,0x70,0x1e,0xfd,0x7b,0x14,0xfb,0xc9,0xec,0x88,0xa4,0xca,0x3b,0x4a,0x52,0x9a,
0x00,0xde,0x33,0xa4,0x70,0xc8,0xf7,0x4e,0x80,0xd7,0x5b,0x72,0xf2,0x48,0x1b,0x57,
0x30,0x92,0x23,0x83,0xcd,0x64,0xec,0x8f,0xe8,0x4d,0x25,0xb2,0x34,0x20,0x3a,0xbd,
0x7d,0x23,0x43,0xbd,0xaa,0x73,0x70,0xc4,0xe7,0x3d,0x30,0x2d,0x6e,0xd6,0xc0,0xcb,
0x86,0xdd,0xfe,0xe5,0x64,0xe7,0x05,0xad,0x27,0x63,0xa3,0x93,0x2a,0x9b,0x1c,0xed,
0x69,0x2d,0x57,0x15,0x82,0xd1,0x12,0x70,0x32,0xf8,0xd2,0xa5,0xa8,0x3a,0xea,0x5e,
0xe1,0x5d,0x37,0xa8,0x3d,0x3b,0xac,0xda,0xae,0xd1,0x35,0x8f,0x03,0xb6,0xf3,0xde,
0x5d,0xd7,0x9c,0x92,0x36,0x16,0x39,0x5d,0xe2,0x0f,0xab,0x66,0xbe,0x1e,0x99,0x6c,
0xc4,0xe8,0x3a,0xe1,0x92,0x3f,0xba,0x0a,0x70,0x55,0x4e,0xe8,0xaa,0xa4,0xca,0xbc,
0x8c,0x2f,0x33,0xba,0x2c,0x57,0xdc,0xba,0x22,0x6b,0x2e,0x65,0xd4,0xa1,0x98,0x39,
0x2f,0xdf,0x73,0x95,0x4b,0x97,0xb8,0xcb,0x56,0x0f,0xb8,0x2e,0x9b,0xd9,0xd6,0xda,
0xff,0x21,0x0f,0xf5,0xa1,0x21,0x53,0x79,0x55,0x7b,0xca,0x99,0xd8,0x7a,0x9a,0x36,
0x1b,0x6c,0x7b,0x9d,0x01,0x00,0x28,0xe2,0x52,0x4e,0x9f,0x18,0x75,0x5f,0x95,0x0f,
0x14,0x3c,0xe2,0x13,0xf5,0x0a,0xed,0x12,0x51,0x38,0x07,0xab,0x1b,0xcc,0xbc,0x9d,
0xa3,0x69,0xdf,0x56,0x7c,0x87,0x8d,0xe2,0xfb,0xd6,0xa7,0xb9,0xa0,0xdd,0x64,0x2f,
0x57,0x6a,0x39,0xeb,0xdb,0xf5,0xde,0x4f,0xbd,0xa5,0x6d,0x0e,0xb2,0x66,0xde,0xb2,
0xda,0xdf,0x83,0x78,0x5d,0xa0,0xb1,0x53,0x83,0x20,0x1b,0xd5,0xae,0xc8,0x13,0x85,
0xb0,0x3b,0x07,0x0f,0x88,0x36,0x74,0xfe,0xac,0xf6,0xd7,0x87,0x55,0x2d,0x79,0x55,
0xc2,0xb0,0x7f,0x53,0x29,0xe0,0x83,0x7b,0xb2,0x26,0xc4,0x7e,0xd5,0x57,0x75,0xfe,
0xe5,0x5d,0xbd,0x41,0x76,0x07,0x6f,0xd5,0xc6,0x2f,0x1c,0xed,0x61,0xa9,0xce,0x42,
0x54,0xdb,0x25,0xec,0x8f,0xca,0xe3,0xd5,0xf2,0x8b,0x6b,0xaa,0x86,0xa1,0x30,0x26,
0x69,0xf5,0x29,0x36,0x75,0xda,0xa4,0xbb,0x60,0x93,0x39,0x70,0x4e,0x8d,0xc2,0x72,
0xd4,0x09,0xad,0xaa,0x78,0xb2,0xd9,0xee,0x5d,0x49,0xaa,0x5c,0x6d,0x36,0xc5,0x5d,
0xbb,0x12,0xb8,0xd9,0xd4,0xad,0x36,0xe7,0xcb,0xfe,0x9b,0x01,0xf4,0xb6,0x7e,0xbc,
0x63,0x65,0xbf,0xe8,0x2b,0xb2,0xb5,0xc9,0xa3,0x6d,0x95,0xfe,0xdc,0x94,0x03,0x69,
0x25,0xa8,0x49,0x30,0x85,0x94,0x89,0xea,0x9b,0x00,0x9e,0x70,0x02,0xf2,0x5b,0x0a,
0x11,0x42,0xad,0x4d,0xcf,0xdb,0xb7,0x5d,0xcb,0xbd,0xb9,0x45,0x90,0x53,0xa2,0x9b,
0x54,0x5f,0x7a,0xd4,0x90,0xed,0x6c,0x85,0x67,0x5c,0x05,0x2e,0x6b,0x5a,0x68,0x05,
0xdf,0xc1,0x41,0xe0,0x36,0xae,0xba,0xaa,0x42,0x30,0x0a,0x82,0xea,0xad,0x7d,0x44,
0x42,0x90,0x30,0x0c,0x57,0x94,0xe7,0xf5,0x15,0xc2,0x81,0x1b,0x7a,0x05,0x96,0xd1,
0x95,0x47,0x3a,0xe5,0x71,0x13,0xfa,0x02,0x02,0x19,0xc4,0xc2,0x08,0xfc,0x3c,0x7f,
0x90,0x1f,0x57,0xa8,0x8e,0xbe,0x43,0xa6,0xe8,0x9b,0x54,0x46,0xf7,0x5c,0x1e,0x71,
0xf7,0x2c,0xae,0x4e,0xe1,0x6f,0x63,0xd0,0x8b,0x54,0x4e,0x4f,0xa1,0x81,0x3c,0xd6,
0xc3,0xdb,0x69,0x86,0xee,0xd6,0x31,0xf3,0x4b,0x67,0xc7,0xa7,0xf3,0x3f,0xa5,0x03,
0x4d,0xf1,0x58,0x50,0x99,0xb5,0xdb,0x85,0x8a,0xaa,0xa2,0xa8,0xa6,0xac,0x1d,0x65,
0xd2,0xf4,0x53,0x65,0xc8,0xc9,0xff,0x4a,0x1f,0xf2,0x4f,0x44,0xba,0xdd,0x1b,0xbf,
0xf7,0x9f,0x7e,0xef,0x75,0xef,0xf6,0xf8,0x4f,0xc7,0xfa,0x5e,0x1b,0xfd,0x4f,0xf6,
0x2a,0xbb,0x37,0x7f,0x9e,0x9c,0x3f,0xbb,0xdd,0xfc,0xa3,0xae,0x1b,0x90,0x94,0x6b,
0xfc,0x89,0xcc,0x43,0x80,0x18,0xe2,0xed,0xd6,0x4f,0x55,0x50,0xf4,0xd9,0x21,0x3d,
0x46,0xf1,0xb5,0x75,0xde,0x5c,0xbb,0x1c,0x3c,0x57,0x38,0x45,0x59,0x0d,0xad,0x2a,
0x64,0x6b,0xea,0xe3,0xd4,0x78,0x5c,0x5c,0xbd,0x53,0x23,0x37,0xf5,0x0b,0xa8,0x10,
0xa6,0x2c,0xf9,0x2b,0xfb,0x2a,0xe8,0xd4,0x53,0x4c,0xbf,0x8e,0x15,0x55,0x1d,0x9d,
0x5e,0x95,0xb4,0xb5,0xd5,0xde,0x66,0xcd,0x92,0x51,0xf1,0x85,0x2a,0x63,0x33,0x45,
0xc9,0x68,0xd8,0x70,0x18,0xc5,0xdc,0x6d,0x1e,0x43,0x8b,0x16,0x58,0x2a,0x36,0x1a,
0x7c,0x2b,0xf6,0xc6,0x4b,0x2a,0xf6,0xee,0x74,0xd4,0xc5,0xe3,0xd7,0xd5,0x55,0xbf,
0x7d,0x94,0x55,0xf0,0x87,0x30,0xc8,0xc1,0xa3,0x8f,0x76,0x0d,0xeb,0x0f,0x81,0x0d,
0xf9,0xfb,0x63,0xed,0x0a,0xcb,0x6c,0x72,0x6d,0xb5,0x5b,0x92,0xe5,0xb5,0xfa,0xbe,
0xc4,0xc4,0xca,0x26,0x7a,0x04,0x0c,0x9b,0x34,0x3c,0x68,0x14,0x98,0x3a,0xe9,0x51,
0x9d,0xb9,0x53,0xc5,0x95,0x8a,0xeb,0xdf,0xe9,0x1f,0x22,0x1a,0xe7,0x42,0xc8,0x32,
0x66,0x45,0x6c,0x3e,0x6f,0xaf,0x1f,0xb6,0xa7,0x23,0x6d,0xf4,0x9c,0xce,0xf5,0xc9,
0xf0,0xd6,0x2f,0x55,0x71,0xe4,0xdf,0x65,0x67,0x2e,0xbc,0x0d,0x65,0xe5,0xeb,0x17,
0x59,0x07,0x2b,0xe0,0xd2,0x09,0x47,0xfa,0x03,0x30,0x31,0x7d,0xba,0x9b,0x8b,0xd2,
0xff,0xa7,0x78,0xa0,0xcb,0xa0,0xcc,0x63,0x75,0xc9,0x27,0xe4,0xd5,0xb5,0x1f,0xd3,
0x55,0x2b,0xce,0xd1,0xc5,0x64,0x42,0x5f,0x17,0xaa,0x25,0xc5,0x27,0x16,0xd3,0xcd,
0x15,0x94,0xad,0xac,0x1b,0xac,0x01,0x4c,0x64,0x8c,0xad,0x75,0x92,0x3a,0xc9,0xb4,
0x54,0x51,0xeb,0x84,0xcc,0xdf,0xbf,0xa9,0x20,0xd4,0x6c,0x71,0xf9,0x2e,0x87,0x57,
0x1f,0x00,0xda,0x2d,0x3c,0xe2,0x42,0x99,0x85,0xfa,0x94,0xc9,0x61,0xf3,0x55,0x93,
0x1a,0x18,0xaf,0x87,0x66,0x0c,0xa4,0x36,0x82,0xd2,0xa8,0x4e,0x3d,0xc8,0x22,0x39,
0xfa,0x9a,0x14,0x2d,0x82,0x8a,0x55,0x29,0xc3,0x50,0x29,0xa3,0x07,0x74,0x9d,0xf3,
0x17,0x12,0xe8,0xa3,0x2d,0xe9,0x58,0x7e,0xf5,0x85,0xbe,0xbc,0x02,0x60,0x33,0x79,
0x6a,0x9e,0xeb,0xcf,0xc3,0x54,0x7e,0xa4,0x63,0x9f,0x1c,0x2e,0xe9,0x6b,0x47,0x9c,
0xed,0xe9,0x74,0x94,0xf4,0x2c,0xea,0xdc,0xda,0x13,0xd2,0x49,0xf5,0xad,0xf4,0xc6,
0xae,0x6c,0xca,0x29,0xd7,0xf5,0x8e,0xd5,0xab,0xfc,0x4d,0x97,0xba,0xb5,0xfe,0xf8,
0x99,0x16,0xd9,0xa8,0xf2,0x61,0x4e,0x47,0x60,0xfa,0x54,0x9a,0xdb,0x35,0xdf,0xd5,
0x05,0xf7,0xf4,0xe5,0x9d,0x45,0x92,0x50,0xe9,0x80,0x0a,0x26,0x59,0x7c,0x60,0x80,
0x1e,0x56,0xfe,0xc3,0x39,0x29,0x91,0x3d,0x65,0xd6,0x6a,0x1d,0x2a,0x49,0x1b,0x6c,
0x49,0xf2,0x06,0x2c,0x6f,0xfd,0x4a,0xc8,0x9b,0x13,0x49,0xea,0x73,0x57,0x87,0xda,
0xa1,0xa4,0xba,0xe6,0xa8,0xd3,0xe1,0x46,0xfa,0x9a,0xd4,0x42,0xa9,0xd1,0x35,0xb7,
0xf0,0x21,0x7d,0x3a,0xc1,0x36,0xe4,0xdb,0xe6,0xa4,0x3e,0x57,0x49,0xf9,0x4b,0xab,
0x51,0x25,0x9c,0xfa,0x20,0x4f,0x30,0x17,0x89,0xae,0x52,0xf4,0x76,0x86,0x51,0x8b,
0xf6,0xee,0x93,0x8a,0x82,0x8c,0x45,0x75,0x73,0x4e,0x29,0x30,0x19,0x24,0xff,0x1d,
0x0d,0x82,0xf6,0xa7,0x0b,0x65,0xf6,0xe8,0x16,0x88,0xbb,0xb9,0xb5,0x07,0xe4,0x20,
0xc8,0x53,0x9a,0x08,0xda,0x0c,0xb5,0xc9,0x6e,0x3c,0x37,0x48,0x65,0xc8,0x0f,0x3d,
0x34,0xf5,0xc2,0xc6,0xca,0x27,0xa3,0x0a,0x35,0x41,0xdf,0x6f,0x72,0x40,0xf4,0xbd,
0x43,0x1a,0xc1,0x74,0x26,0x87,0xad,0x6a,0x24,0xad,0x9d,0x9e,0xe8,0xc0,0xc7,0x40,
0xa4,0x6b,0x52,0x2b,0xd0,0xad,0x6c,0x3c,0x78,0xca,0xfd,0x25,0xb1,0x01,0x40,0xfd,
0x04,0x00,0x14,0x91,0xb6,0xea,0xd5,0xd7,0xde,0xf4,0x95,0xff,0xab,0xe5,0x7c,0xa2,
0xa8,0xb2,0x7d,0x7e,0x9f,0xeb,0x2b,0x4b,0x4b,0x1e,0x5c,0x2e,0xab,0x13,0xcc,0x2b,
0xf5,0xe9,0x95,0xfa,0x48,0x44,0xff,0x2f,0x90,0x2f,0xa6,0xe9,0xea,0xb1,0x1a,0x3d,
0x04,0x87,0x93,0x0a,0x28,0xa8,0x72,0xba,0x12,0x9d,0x2b,0xf5,0x99,0x0a,0x1d,0xfc,
0x80,0xeb,0x74,0x14,0xb1,0xea,0x53,0x8e,0xaa,0xc5,0x54,0x63,0xef,0xd3,0xdf,0xbc,
0xac,0x11,0x02,0xad,0x87,0x60,0x4a,0x1f,0xfe,0x6c,0x11,0x50,0xa6,0x1f,0xe4,0x42,
0xf1,0x67,0x4d,0xac,0xca,0xc4,0x10,0xb8,0x1b,0x53,0xed,0xc4,0x90,0xa6,0x35,0x6d,
0x73,0x26,0x1e,0xd4,0x15,0x7f,0x79,0xd4,0xbc,0x7d,0xfc,0x91,0x8b,0x92,0xbe,0xdb,
0xf7,0x08,0x89,0x52,0x1f,0xb3,0xfa,0xd8,0xe5,0xa0,0x2e,0x07,0xd7,0x47,0xb1,0x32,
0x75,0xce,0x4a,0x79,0x01,0xea,0x43,0x3f,0x97,0x0e,0x9f,0xeb,0xbd,0xaa,0x5c,0x7f,
0x52,0x20,0x7c,0xba,0x6a,0xdf,0x94,0x2f,0x7f,0xf9,0x49,0x25,0x73,0x3e,0xa3,0x1b,
0xe2,0x30,0x9b,0x03,0x32,0xc5,0x72,0x2a,0x25,0x53,0x15,0x0d,0xfe,0x3f,0x22,0x33,
0x2b,0xd0,0x96,0x59,0x00,0x00,
};
constexpr size_t PF_CONSOLE_JS_GZ_LEN = sizeof(PF_CONSOLE_JS_GZ);
// </gz:PF_CONSOLE_JS>