Loading files
07e931b46This file is pinned to the selected release. Download the original to open it in your design tool.
// ═══════════════════════════════════════════════════════════
// PatternFlow - /wifi page (served by core_wifi_http.h)
// Same cream/ink/LED tokens as the other consoles; no external assets.
// License: MIT
// ═══════════════════════════════════════════════════════════
// The page body below is generated from console/wifi.html — edit that,
// then run: python firmware/toolchain/console_pages.py build
#pragma once
#include <Arduino.h>
static const char WIFI_INDEX_HTML[] PROGMEM = R"HTML(<!doctype html>
<html lang="en">
<head><meta charset="utf-8">
<script src="/pf-console.js?h=d02b3322"></script><script>if(!window.PF)(function(){var W=window,U='/api/status',L=[],M=2e9,S,Z,P=W.PF={state:'live',dirty:!1,v:null,get:G,inflight:Number,hold:Object,say:function(t,k,e){e&&(e.textContent=t)},busy:function(b,p){function f(){b.disabled=!1}b.disabled=!0;p.then(f,f);return p},poll:function(s,m,c,o){var t,f,g=1;function R(){g&&!f&&(f=1,clearTimeout(t),(s.call?s():G(s)).then(function(d){c(d,null)},function(e){c(null,e)}).then(K,K))}function K(){f=0;clearTimeout(t);g&&(t=setTimeout(R,m))}o&&o.first===!1?K():R();return{stop:function(){g=0;clearTimeout(t)},set:function(n){m=n;f||K()},now:R}},status:function(c){c&&L.push(c);S?c&&c(S):Z?Z.now():Z=P.poll(U,M,D)},watchStatus:function(m){P.status();Z.set(M=Math.min(m,M))},waitForDevice:function(o){o=o||{};return new Promise(function(y,n){var h=P.poll(U,2e3,function(s){s&&!(o.build&&s.build==o.build)&&(h.stop(),y(s))});setTimeout(function(){h.stop();n(Error('timeout'))},o.timeout||9e4)})}};function G(u,o){return fetch(u,o).then(function(r){if(!r.ok)throw Error(r.status);return o&&o.text?r.text():r.json()})}function D(s){if(s){S=W.pfStatus=s;L.forEach(function(f){f(s)})}}})()</script>
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Patternflow - Wi-Fi</title>
<style>
/* Dark instrument tokens — see patterns_index.h for the note. */
:root{--cream:#0C0B09;--ink:#EDE7DB;--muted:#8A8272;--faint:#5A5546;
--rule:#242118;--rule-soft:#1B1914;--led:#FF5C2E;--ok:#57B87F;--panel:#131110;
--sans:'Inter',ui-sans-serif,system-ui,sans-serif;
--mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);
line-height:1.5;-webkit-font-smoothing:antialiased}
.wrap{max-width:680px;margin:0 auto;padding:32px 20px 64px}
header{display:flex;align-items:center;gap:8px;padding-bottom:12px;
border-bottom:1px solid var(--rule)}
.dot{width:7px;height:7px;background:var(--led);border-radius:1px}
h1{font-size:15px;font-weight:600;margin:0;flex:1}
.sub{font-family:var(--mono);font-size:11px;color:var(--faint);text-align:right}
section{margin-top:26px}
h2{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
color:var(--muted);margin:0 0 8px}
ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-soft)}
li{display:flex;align-items:center;gap:10px;padding:9px 2px;
border-bottom:1px solid var(--rule-soft);font-size:13px}
li .n{font-family:var(--mono);font-size:11px;color:var(--faint);min-width:20px}
.nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
font-family:var(--mono);font-size:12px}
.tag{font-family:var(--mono);font-size:10px;letter-spacing:.06em;
text-transform:uppercase;padding:1px 6px;border:1px solid var(--ok);
border-radius:2px;color:var(--ok)}
button{font:inherit;cursor:pointer;position:relative}
button.del{font-size:11px;color:var(--muted);background:none;
border:1px solid var(--rule);border-radius:2px;padding:2px 8px}
button.del:hover{border-color:var(--led);color:var(--led)}
form{margin:0;display:grid;gap:10px;max-width:380px}
label,.lbl{display:block;font-size:12px;color:var(--muted);margin:0 0 3px}
input{width:100%;font:inherit;font-family:var(--mono);font-size:13px;padding:7px 9px;
background:var(--panel);color:var(--ink);border:1px solid var(--rule);border-radius:2px}
input:focus{outline:none;border-color:var(--led)}
.actions{display:flex;gap:8px;align-items:center;margin-top:2px}
button.primary{background:var(--ink);color:var(--cream);border:1px solid var(--ink);
border-radius:2px;padding:7px 16px;font-size:13px}
button.primary:hover{background:var(--led);border-color:var(--led)}
.check{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted)}
.check input{width:auto}
/* Result lines, filled by PF.say next to the control that caused them. */
.msg{margin-top:10px;font-family:var(--mono);font-size:11px;min-height:16px;color:var(--muted)}
.msg.pf-ok{color:var(--ok)}.msg.pf-err{color:var(--led)}
#join{margin-top:12px;padding:10px 12px;border:1px solid var(--rule);border-radius:2px;
font-size:13px;line-height:1.5;max-width:520px}
#join.ok{border-color:var(--ok)}
#join.err{border-color:var(--led)}
#join b{font-family:var(--mono);font-weight:600}
#join a{color:var(--ink)}
#join .big{display:inline-block;margin:6px 10px 6px 0;font-family:var(--mono);
font-size:20px;word-break:break-all}
.note{font-size:12px;color:var(--faint);margin:8px 0 0;line-height:1.45}
footer{margin-top:32px;padding-top:12px;border-top:1px solid var(--rule);
font-family:var(--mono);font-size:11px;color:var(--faint)}
a{color:var(--muted)}
.tag.boot{border-color:var(--muted);color:var(--muted)}
select{width:100%;max-width:380px;font:inherit;font-family:var(--mono);font-size:13px;
padding:7px 9px;background:var(--panel);color:var(--ink);border:1px solid var(--rule);
border-radius:2px}
button.secondary{font-size:13px;color:var(--ink);background:none;
border:1px solid var(--rule);border-radius:2px;padding:7px 16px}
button.secondary:hover{border-color:var(--led);color:var(--led)}
.ghost{font-family:var(--mono);font-size:11px;color:var(--muted);background:none;
border:1px solid var(--rule);border-radius:2px;padding:3px 10px}
.ghost:hover{border-color:var(--led);color:var(--led)}
.row{display:flex;gap:6px}
.row input{flex:1;min-width:0}
/* What the hotspot's channel scan found, strongest first: a row to tap. */
.scan li{padding:0}
.scan button{flex:1;display:flex;align-items:center;gap:10px;min-width:0;padding:8px 2px;
background:none;border:0;color:var(--ink);text-align:left}
.scan button:hover .nm{color:var(--led)}
.scan:not(.all) li:nth-child(n+7){display:none}
.bars{display:flex;align-items:flex-end;gap:2px;height:10px}
.bars i{width:3px;height:40%;background:var(--rule)}
.bars i+i{height:60%}.bars i+i+i{height:80%}.bars i+i+i+i{height:100%}
.s1 i:first-child,.s2 i:nth-child(-n+2),.s3 i:nth-child(-n+3),.s4 i{background:var(--muted)}
.more,.chip button{background:none;border:0;padding:0;font-family:var(--mono);
font-size:11px;text-decoration:underline}
.more{margin-top:6px;color:var(--muted)}
.chip{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:6px;
padding:5px 8px;border:1px solid var(--led);border-radius:2px;font-family:var(--mono);font-size:11px}
.chip button{color:var(--led)}
/* Small controls keep their look; on a touch screen the hit area grows. */
@media(pointer:coarse){.scan button{padding:12px 2px}
.del::after,.more::after,.chip button::after,#join .ghost::after{content:"";
position:absolute;inset:-11px -6px}}
html.pf-offline #st,html.pf-offline #list,html.pf-offline #hsstate{opacity:.45}
</style></head><body><div class="wrap">
<header><span class="dot"></span><h1>Wi-Fi</h1><span class="sub" id="st">-</span></header>
<section id="saved" hidden>
<h2>Saved networks</h2>
<ul id="list"></ul>
<p class="note" id="cap"></p>
<div class="msg" id="listmsg"></div>
</section>
<section id="bootsec" hidden>
<h2>Boot network</h2>
<label for="boot">Try first on power-up</label>
<select id="boot"></select>
<div class="actions" style="margin-top:10px">
<button class="secondary" type="button" id="bootsave">Save boot preference</button>
<button class="secondary" type="button" id="reboot">Reboot</button>
</div>
<div class="msg" id="bootmsg"></div>
<p class="note">Stored on the device. Reboot to join the chosen network first —
the current session is not switched live.</p>
</section>
<section id="add">
<h2>Add a network</h2>
<form id="f">
<div id="scanbox" hidden>
<p class="lbl">Networks the panel found — tap one</p>
<ul class="scan" id="scan"></ul>
<button class="more" type="button" id="more" hidden></button>
</div>
<div>
<label for="ssid">Network name</label>
<input id="ssid" name="ssid" maxlength="32" required list="seen"
autocomplete="off" autocapitalize="none" autocorrect="off" spellcheck="false">
<datalist id="seen"></datalist>
<div class="chip" id="dym" hidden>Did you mean «<b id="dymn"></b>»?
<button type="button" id="dymuse">use it</button><button type="button" id="dymkeep">keep mine</button></div>
</div>
<div>
<label for="pass">Password</label>
<div class="row">
<input id="pass" name="pass" type="password" maxlength="63"
autocomplete="off" autocapitalize="none" autocorrect="off" spellcheck="false">
<button class="ghost" type="button" id="pwt" aria-controls="pass" aria-pressed="false">show</button>
</div>
</div>
<div class="actions">
<button class="primary" type="submit" id="addbtn">Save</button>
<span class="check" id="nowbox">
<input type="checkbox" id="now"><label for="now" style="margin:0">switch now</label>
</span>
</div>
</form>
<div class="msg" id="msg"></div>
<div id="join" hidden></div>
<p class="note">Saved networks are tried in order starting from the boot slot,
wrapping around — so the device joins whichever one it can find, useful if it
moves between home, a studio and a venue. A new network is only stored; leave
<em>switch now</em> unticked and this page keeps working. Ticking it drops the
current connection immediately. On the panel's hotspot a network is tried at once,
and the panel shows the outcome on its screen as well as here: the address to open,
or why it could not join.</p>
</section>
<section>
<h2>Hotspot</h2>
<p class="note" id="hsstate">-</p>
<form id="hsf">
<div>
<label for="hsmode">Mode</label>
<select id="hsmode">
<option value="auto">auto — up whenever the panel has no Wi-Fi</option>
<option value="always">always</option>
<option value="off">off</option>
</select>
</div>
<div>
<label for="hspass">Password</label>
<input id="hspass" type="text" maxlength="63"
autocomplete="off" autocapitalize="none" autocorrect="off" spellcheck="false">
</div>
<div class="actions">
<button class="primary" type="submit" id="hssave">Save</button>
</div>
</form>
<div class="msg" id="hsmsg"></div>
<p class="note">The panel as a network of its own: <b id="hsssid">patternflow-????</b>.
Join it from a phone or a laptop and open <code>http://192.168.4.1/</code> — the
same console, anywhere. <em>auto</em> raises it about fifteen seconds after the panel
finds no network and drops it once one is joined; a network added above from the
hotspot is tried at once. The phone is told the network works, so it stays on it;
it has no internet through the panel.</p>
</section>
<footer><a href="/">Home</a> · <a href="/status">Status</a></footer>
</div>
<script>
function $(i){return document.getElementById(i)}
function esc(t){return String(t).replace(/[&<>"]/g,function(c){
return {'&':'&','<':'<','>':'>','"':'"'}[c]})}
function enc(t){return encodeURIComponent(t)}
function j(r){return r.json()}
function post(u,body){return fetch(u,{method:'POST',
headers:{'Content-Type':'application/x-www-form-urlencoded'},body:body}).then(j)}
function say(t,k){PF.say(t,k||'ok',$('msg'))}
function sayHs(t,k){PF.say(t,k||'ok',$('hsmsg'))}
function bsay(t,k){PF.say(t,k||'ok',$('bootmsg'))}
// Only our own Errors carry the device's words.
function why(e){return e&&e.name==='Error'&&e.message||'failed'}
// On the panel's hotspot every name resolves to the panel, so the address
// cannot say where this phone is; /api/status can.
var viaHs=false,connected=true,max=5;
var seenNames=[],seenKey='',hsName='',hsLoaded=null;
// Unsaved picks the refresh must not overwrite.
var bootDirty=false,hsDirty=false;
var kept='',dymWait=0,joinKey='',listKey='',fast=false,arranged=0;
function dirty(){PF.dirty=bootDirty||hsDirty||!!($('ssid').value||$('pass').value)}
// Asked first: the lane answers it before the lists, so the first reply
// already knows viaHs.
PF.status(function(s){viaHs=!!s.viaHotspot;if(!hsName&&s.hotspot)hsName=s.hotspot.ssid;nowBox()});
// One chained refresh, list then hotspot (the panel answers one connection
// at a time); every 2 s while a join is being tried.
var poll=PF.poll(function(){
var w;
return fetch('/api/wifi').then(j).then(function(d){w=d;return fetch('/api/hotspot').then(j)})
.then(function(h){return {w:w,h:h}},function(e){if(w)return {w:w};throw e});
},5000,function(d){if(d){showWifi(d.w);if(d.h)showHs(d.h)}});
// The status word (NO SSID, AUTH FAIL...) is sized for the LEDs.
function stText(d){
if(d.connected)return 'on '+d.current+' · '+d.ip;
return 'not on Wi-Fi — '+(!d.networks.length?'nothing saved yet':
d.status==='NO SSID'?'no saved network in range':
d.status==='AUTH FAIL'?'a saved network refused the password':'trying the saved networks');
}
// There the panel tries a new network at once anyway (core_wifi_http.h).
function nowBox(){var h=viaHs&&!connected;$('nowbox').hidden=h;if(h)$('now').checked=false}
function showWifi(d){
var n=d.networks,sel=$('boot'),keep=d.bootIdx,cur,k;
max=d.max;connected=d.connected;
$('st').textContent=stText(d);
// Decided once, on the first reply: the form first while setting up (on
// the hotspot, or nothing saved), else below the lists. The lists stay
// hidden till then, so the form never jumps on the hotspot's slow link.
if(!arranged){
arranged=1;
if(viaHs||!n.length)$('add').parentNode.insertBefore($('add'),$('saved'));
$('saved').hidden=false;
}
if(($('bootsec').hidden=n.length<2)&&bootDirty){bootDirty=false;dirty()}
nowBox();
// Rebuilt only on change: a tap on forget and a boot pick survive a refresh.
k=JSON.stringify([n,d.connected&&d.current,d.bootIdx]);
if(k!==listKey){
listKey=k;
if(bootDirty){
cur=parseInt(sel.value,10);
if(cur<n.length)keep=cur;else{bootDirty=false;dirty()}
}
$('list').innerHTML=n.length?'':'<li><span class="nm" style="color:var(--faint)">none saved yet</span></li>';
sel.innerHTML='';
n.forEach(function(x,i){
var li=document.createElement('li');
li.innerHTML='<span class="n">'+(i+1)+'</span><span class="nm"></span>'+
(d.connected&&x.ssid===d.current?'<span class="tag">connected</span>':'')+
(d.bootIdx===i?'<span class="tag boot">boot</span>':'')+
'<button class="del" type="button">forget</button>';
li.children[1].textContent=x.ssid;
li.lastChild.onclick=function(){del(x.ssid,this)};
$('list').appendChild(li);
sel.add(new Option((i+1)+'. '+x.ssid,i,false,keep===i));
});
}
$('cap').textContent=n.length+' of '+max+' slots used'+
(n.length>=max?' — adding another replaces the last one':'');
renderJoin(d.join);
}
// What became of the last network sent from a console (core_wifi.h keeps it).
// Shown until ten minutes after it settled; redrawn only on change.
function renderJoin(j){
var box=$('join'),on=!!j&&j.state!=='none'&&(j.state==='trying'||j.ago<=600),
t=on&&j.state==='trying',k=on?[j.state,j.ssid,j.ip,j.why].join('|'):'',n,u,w;
if(t!==fast){fast=t;poll.set(t?2000:5000)}
if(k===joinKey)return;
joinKey=k;box.hidden=!on;
if(!on)return;
n='<b>'+esc(j.ssid)+'</b>';
box.className='';
if(t){
box.innerHTML='Joining '+n+'… If this page stops answering, the panel has moved '+
'to that network: switch this phone to '+n+' and open the address the panel shows '+
'on its screen'+(hsName?' (or <b>http://'+esc(hsName)+'.local/</b> where names work)':'')+'.';
}else if(j.state==='joined'){
box.className='ok';
u='http://'+esc(j.ip)+'/';
box.innerHTML='Joined '+n+'. Switch this phone to '+n+', then open<br>'+
'<a class="big" href="'+u+'">'+u+'</a><button class="ghost" type="button" id="copy">copy</button>'+
' <span class="msg" id="copymsg"></span><br>The panel shows the address on its screen for a minute.';
$('copy').onclick=function(){
copy('http://'+j.ip+'/').then(function(){PF.say('copied','ok',$('copymsg'))},
function(){PF.say('press and hold the address to copy it','err',$('copymsg'))});
};
}else{
box.className='err';
w=j.why||'no answer from the network';
box.innerHTML='Could not join '+n+': '+esc(w)+'. '+
(w==='wrong password'?'Check the password and send it again.':
w==='network not found'?'Check the name, which is case-sensitive, and that the network is in range.':
'Try again closer to the router.');
}
}
// http:// is not a secure context: navigator.clipboard is usually missing.
function copy(t){
if(navigator.clipboard&&window.isSecureContext)return navigator.clipboard.writeText(t);
var s=document.createElement('span'),g=getSelection(),r=document.createRange(),ok=false;
s.textContent=t;
s.style.cssText='position:fixed;top:0;clip:rect(0,0,0,0);white-space:pre;-webkit-user-select:text;user-select:text';
document.body.appendChild(s);r.selectNodeContents(s);g.removeAllRanges();g.addRange(r);
try{ok=document.execCommand('copy')}catch(e){}
g.removeAllRanges();document.body.removeChild(s);
return ok?Promise.resolve():Promise.reject(Error('copy'));
}
function showHs(d){
var h=d.hotspot,c=h.clients,seen=(d.seen||[]).filter(function(s){return s.ssid}),k=JSON.stringify(seen);
hsName=h.ssid;$('hsssid').textContent=h.ssid;
hsLoaded={mode:h.mode,pass:d.pass};
if(!hsDirty){put($('hsmode'),h.mode);put($('hspass'),d.pass)}
$('hsstate').textContent=h.up?'On: '+h.ssid+' on channel '+h.channel+' · '+
(c?c+(c===1?' device':' devices')+' on it':'nobody on it')+' · '+h.ip:
h.mode==='off'?'Off.':h.mode==='auto'?'Off — up when the panel has no Wi-Fi.':'Off — starting.';
if(k===seenKey)return; // rebuilt only on change, never under a thumb
seenKey=k;seenNames=seen.map(function(s){return s.ssid});
$('seen').innerHTML=$('scan').innerHTML='';
seen.forEach(function(s){
var o=document.createElement('option'),li=document.createElement('li'),
b=document.createElement('button'),q=s.rssi>=-55?4:s.rssi>=-67?3:s.rssi>=-78?2:1;
o.value=s.ssid;$('seen').appendChild(o);
b.type='button';
b.innerHTML='<span class="nm"></span><span class="bars s'+q+'" role="img" aria-label="signal '+q+
' of 4"><i></i><i></i><i></i><i></i></span>';
b.firstChild.textContent=s.ssid;
b.onclick=function(){$('ssid').value=s.ssid;chk();dirty();$('pass').focus()};
li.appendChild(b);$('scan').appendChild(li);
});
$('scanbox').hidden=!seen.length;
$('more').hidden=seen.length<7;
more();
if($('ssid').value)chk();
}
function put(el,v){if(el.value!==v)el.value=v}
function more(){$('more').textContent=$('scan').classList.contains('all')?'show fewer':'show all '+seenNames.length}
$('more').onclick=function(){$('scan').classList.toggle('all');more()};
// Names are case-sensitive; a near miss of one the panel sees is a typo
// ("Wifiiii" for "wifiiii", 2026-09-22). A submit waits for a pick.
function near(s){
if(!s||s===kept||seenNames.indexOf(s)>-1)return '';
for(var i=0,l=s.toLowerCase();i<seenNames.length;i++)
if(seenNames[i].toLowerCase()===l)return seenNames[i];
return '';
}
function chk(wait){
var n=near($('ssid').value.trim());
$('dymn').textContent=n;$('dym').hidden=!n;dymWait=n&&wait?1:0;
return n;
}
function pick(){var w=dymWait;chk();dirty();if(w)add();else $('pass').focus()}
$('dymuse').onclick=function(){$('ssid').value=$('dymn').textContent;pick()};
$('dymkeep').onclick=function(){kept=$('ssid').value.trim();pick()};
$('ssid').oninput=function(){chk();dirty()};
$('pass').oninput=dirty;
function pw(on){
$('pass').type=on?'text':'password';
$('pwt').textContent=on?'hide':'show';$('pwt').setAttribute('aria-pressed',on);
}
$('pwt').onclick=function(){pw($('pass').type==='password')};
function add(){
var ssid=$('ssid').value.trim(),now=$('now').checked,p;
if(!ssid)return say('enter a network name','err');
if(chk(1)){$('dymuse').focus();return}
if(now&&!viaHs&&!confirm('Switch to "'+ssid+'" now?\n\nThis page will stop responding '+
'if the new network is different from the one you are on.'))return;
p=post('/api/wifi','ssid='+enc(ssid)+'&pass='+enc($('pass').value)+(now?'&connect=1':''));
PF.busy($('addbtn'),p).then(function(d){
if(!d.ok)return say(d.error||'failed','err');
$('ssid').value=$('pass').value='';$('now').checked=false;kept='';pw(false);dirty();
say('saved '+d.ssid);
if(d.switching)renderJoin({state:'trying',ssid:d.ssid,ip:'',why:'',ago:0});
poll.now();
},function(){say(viaHs?'no reply — the panel may be joining it: watch its screen':'failed','err')});
}
$('f').onsubmit=function(e){e.preventDefault();add()};
function del(ssid,b){
if(!confirm('Forget "'+ssid+'"?\n\nIf the device is on this network it stays '+
'connected until the next drop.'))return;
PF.busy(b,fetch('/api/wifi?ssid='+enc(ssid),{method:'DELETE'}).then(j)).then(function(d){
PF.say(d.ok?'forgot '+ssid:d.error||'failed',d.ok?'ok':'err',$('listmsg'));poll.now();
},function(){PF.say('failed','err',$('listmsg'))});
}
function saveBoot(){
var i=parseInt($('boot').value,10);
return post('/api/wifi/boot','bootIdx='+i).then(function(d){
if(!d.ok)throw Error(d.error||'failed');
bootDirty=false;dirty();return i;
});
}
$('boot').onchange=function(){bootDirty=true;dirty()};
$('bootsave').onclick=function(){
PF.busy(this,saveBoot()).then(function(i){bsay('boot slot '+(i+1)+' saved — reboot to apply');poll.now()},
function(e){bsay(why(e),'err')});
};
// The handler restarts the panel before serving anything else, so the next
// status is the new boot. Held: nothing queues for a panel that is not there.
$('reboot').onclick=function(){
if(!confirm('Save boot network and reboot the panel now?'))return;
var sent=0,p=saveBoot().then(function(i){
sent=1;bsay('rebooting — boot slot '+(i+1)+'…','info');
return fetch('/api/wifi/reboot',{method:'POST'}).catch(function(){})
.then(function(){return PF.waitForDevice()});
});
PF.busy(this,PF.hold(p)).then(function(){location.reload()},function(e){
bsay(sent?'the panel did not come back at this address — if it joined another '+
'network, open the address it shows on its screen':why(e),'err');
});
};
$('hsmode').onchange=$('hspass').oninput=function(){hsDirty=true;dirty()};
$('hsf').onsubmit=function(e){
e.preventDefault();
var m=$('hsmode').value,pv=$('hspass').value,o=hsLoaded,
// A change restarts the hotspot before the reply (core_hotspot.h): a
// phone on it drops. auto with a Wi-Fi link leaves it down.
drop=viaHs&&(!o||m!==o.mode||pv!==o.pass),
back=m==='always'||m==='auto'&&!connected,p;
if(pv.length<8||pv.length>63)return sayHs('the password is 8 to 63 characters','err');
if(drop&&!confirm(m==='off'?'Turn the hotspot off?\n\nThis phone is on it: this page stops answering.'+
(connected?'':' The panel has no Wi-Fi, so nothing will reach it.'):
back?'Restart the hotspot?\n\nThis phone drops off it. Rejoin "'+hsName+
'" with the password "'+pv+'", then come back here.':
'Save? The panel is on Wi-Fi, so in auto the hotspot goes down now: open the console there.'))return;
p=post('/api/hotspot','mode='+enc(m)+'&pass='+enc(pv));
PF.busy($('hssave'),p).then(function(d){
if(!d.ok)return sayHs(d.error||'failed','err');
hsDirty=false;dirty();
sayHs('saved'+(d.hotspot.mode==='off'?' — hotspot off':''));showHs(d);
},function(){if(!drop)sayHs('failed','err')});
if(!drop)return;
hsDirty=false;dirty();
sayHs(back?'restarting the hotspot — rejoin '+hsName+' with the password '+pv:'the hotspot is going down','info');
// Not before the request went (or 4 s): the old hotspot's last answer is
// not the new one's first.
if(back)settle(p,4000).then(function(d){
if(!(d&&d.ok===false))return PF.hold(PF.waitForDevice({timeout:180000})).then(function(){
sayHs('back on the hotspot');poll.now();
});
}).catch(function(){});
};
function settle(p,ms){return new Promise(function(y){p.then(y,function(){y()});setTimeout(y,ms)})}
</script></body></html>
)HTML";
// <gz:WIFI_INDEX_HTML> GENERATED by firmware/toolchain/console_pages.py build — do not edit.
// gzip -9 of WIFI_INDEX_HTML (24284 bytes → 9034 bytes), served with Content-Encoding: gzip.
static const uint8_t WIFI_INDEX_HTML_GZ[] PROGMEM = {
0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0xb5,0x3c,0xdb,0x72,0xdb,0x48,
0x76,0xef,0xfa,0x0a,0x88,0x93,0x08,0xc0,0x0a,0x84,0x44,0xc9,0x96,0x6d,0x40,0x90,
0xe2,0xeb,0x8e,0x77,0xed,0xb1,0xcb,0xf2,0xd4,0x54,0x8d,0xe3,0xda,0x02,0x89,0x26,
0xd1,0x16,0x08,0x60,0xd0,0xa0,0x68,0x2e,0xc5,0xaa,0x7c,0x44,0xbe,0x21,0xbf,0x90,
0xf7,0x7c,0x4a,0xbe,0x24,0xe7,0x9c,0xee,0x06,0x1a,0x20,0xe9,0xf1,0x24,0x9b,0x99,
0x2a,0x8b,0x6c,0xf4,0xe5,0xf4,0xb9,0xdf,0xc0,0xcb,0xc3,0xa4,0x98,0xd4,0xab,0x92,
0x59,0x69,0x3d,0xcf,0xae,0x0e,0x2e,0xf1,0x8f,0x95,0xc5,0xf9,0x2c,0x1a,0xb0,0x7c,
0x80,0x03,0x2c,0x4e,0xae,0x2e,0xe7,0xac,0x8e,0xad,0x49,0x1a,0x57,0x82,0xd5,0xd1,
0x60,0x51,0x4f,0x87,0x8f,0xf1,0xa1,0x98,0x54,0xbc,0xac,0x2d,0x51,0x4d,0xa2,0xc1,
0x49,0x39,0x1d,0x4e,0x8a,0x5c,0x14,0x19,0xf3,0xbf,0x88,0xeb,0x34,0x4a,0x4e,0xcf,
0xc6,0xe7,0xe7,0x67,0x67,0x83,0xab,0xcb,0x13,0x39,0xf1,0x4a,0x2d,0xb8,0xe2,0x53,
0xe7,0x70,0xc9,0xf3,0xa4,0x58,0xfa,0xef,0x5f,0xb9,0xce,0x74,0x91,0x4f,0x6a,0x5e,
0xe4,0x8e,0xbb,0xbe,0x8b,0x2b,0xeb,0x97,0x48,0x3e,0xf3,0x7e,0x8e,0xec,0x93,0xb8,
0xe4,0x27,0xa2,0x8e,0xeb,0x85,0xb0,0xbd,0x37,0xd1,0xa7,0xcf,0xde,0xdb,0xe8,0x8c,
0x3d,0xf1,0x6e,0xbc,0x5f,0xbd,0xf7,0xd1,0x2f,0xb0,0x3c,0x5a,0xe3,0x63,0x16,0xd8,
0x19,0xbf,0x63,0xb6,0x97,0xf0,0xaa,0x5e,0x05,0x87,0x23,0xef,0x2e,0xc8,0x17,0x59,
0xe6,0xcd,0x58,0x1d,0xfc,0xd9,0xe3,0xf9,0x34,0xe3,0xb3,0xb4,0x0e,0x7e,0x5a,0xcc,
0xc7,0xac,0xf2,0xd2,0x22,0x4b,0x82,0x77,0xe3,0x2f,0x6c,0x52,0x7b,0x22,0x5e,0x05,
0x0d,0x04,0xb5,0x77,0xeb,0x31,0x77,0xcd,0x8e,0x8e,0x1c,0xe6,0xd7,0xec,0x6b,0xfd,
0xbc,0xc8,0x6b,0x96,0xd7,0x51,0xed,0x6e,0xbc,0xf1,0x42,0x18,0x53,0xc7,0x5e,0xe9,
0xae,0xf5,0x37,0x6b,0x0a,0xc0,0x8f,0xfd,0x84,0x8b,0x78,0x9c,0xb1,0x24,0x3a,0x1c,
0x6d,0xcc,0x6f,0xa7,0x61,0xe9,0xd7,0x29,0xcb,0x9d,0xa9,0x37,0x75,0xc3,0x8a,0xd5,
0x8b,0x2a,0xb7,0xca,0x8d,0x57,0x16,0x59,0xd6,0xee,0x28,0xbc,0xb9,0x37,0xf1,0x0a,
0x89,0x85,0xda,0x9b,0x7a,0xb3,0x68,0x14,0x36,0x27,0x7c,0x80,0x13,0x66,0x47,0x47,
0x87,0x53,0x80,0x6d,0x1a,0x8d,0xbc,0x49,0xc6,0xe2,0xea,0x23,0x9f,0xb3,0x62,0x51,
0x3b,0xb5,0xeb,0x39,0xc2,0x9f,0xc4,0x59,0x76,0x2d,0x1c,0x37,0xf8,0xb3,0x23,0x5c,
0x57,0x9d,0xa8,0x77,0x4f,0xdc,0xf5,0xc4,0x49,0x3c,0xc4,0x0a,0xdc,0xa5,0x19,0x66,
0x38,0x4c,0xa8,0x62,0xee,0x46,0xad,0xf9,0xab,0xf7,0x57,0xd7,0xdd,0x34,0x27,0xff,
0x15,0x4e,0x9e,0x46,0xa7,0x61,0xef,0xc4,0x10,0xa0,0x71,0xea,0x08,0x58,0x42,0x8f,
0x7d,0xf0,0xe6,0xb0,0xae,0x38,0x3a,0x2a,0xfc,0x29,0xaf,0x44,0x1d,0x45,0x80,0x88,
0x6b,0x58,0x1e,0x00,0xf0,0xea,0xda,0x40,0xae,0xa2,0x0c,0x0c,0x92,0xcf,0xb6,0x77,
0xde,0x78,0xb0,0x69,0x3b,0x27,0x77,0xd7,0xf3,0x28,0x0f,0xa7,0xf7,0xf7,0xb0,0xd5,
0xc6,0xcb,0x8b,0x65,0xf0,0x61,0x03,0x73,0x88,0x2d,0xda,0x69,0x13,0xb8,0xc9,0xd1,
0xd1,0x1b,0xbf,0x5c,0x88,0x14,0xbe,0x84,0x37,0xd7,0xf0,0x75,0xe2,0xdc,0xb8,0xc1,
0xaf,0xd7,0xbf,0xfa,0xb0,0x0a,0xe0,0xf8,0x35,0x7a,0xef,0x23,0xd2,0x9d,0x9f,0xbd,
0xb7,0xde,0x0b,0xd8,0x6c,0x19,0xd7,0x93,0xf4,0xa6,0xb7,0xd3,0xdc,0x5d,0xbf,0xf7,
0xe5,0xf6,0x00,0xf7,0xaf,0x3e,0x40,0xe3,0xbc,0x8d,0xde,0xc6,0x75,0xea,0xcf,0x39,
0x3c,0xf6,0xde,0xba,0xb4,0x94,0xd7,0xaf,0x8a,0xea,0x05,0xbb,0xe3,0x13,0xd6,0x2e,
0x06,0xfa,0x15,0x51,0x71,0x7f,0xbf,0xde,0x68,0x42,0xe7,0x6c,0x69,0xbd,0xaf,0x8a,
0x39,0x17,0xac,0x25,0xc7,0xca,0xcb,0x25,0xa1,0xd3,0x16,0xa4,0x33,0x76,0xde,0x12,
0x46,0xb8,0x6b,0x01,0xe4,0x76,0x0a,0x7f,0xbc,0xe0,0x59,0x72,0x74,0x24,0xe4,0x87,
0x28,0x52,0x23,0x2e,0xa0,0x3f,0xf5,0x11,0x9d,0x8e,0xeb,0xad,0x90,0xe2,0x1b,0x37,
0x34,0xa8,0x61,0xe0,0x58,0x4f,0x0b,0x73,0xe7,0x65,0x55,0x15,0x95,0x63,0xd7,0x72,
0x92,0x8d,0x17,0x29,0x7c,0xf5,0xed,0xfe,0xfe,0x09,0x7b,0x00,0xbb,0x6c,0x36,0x2d,
0xdb,0xfd,0xd9,0x59,0x20,0x4b,0xaa,0xab,0x4c,0x19,0xa0,0x8b,0x46,0x7a,0xdc,0x55,
0xb9,0x6b,0x94,0xea,0xca,0x2f,0x6e,0xdd,0x3a,0xad,0x8a,0xa5,0x25,0x0f,0xaa,0x14,
0x1e,0x1b,0xae,0x27,0xee,0x40,0xc9,0xba,0xae,0xe8,0x0f,0x10,0xa5,0x02,0x85,0x81,
0x60,0x6e,0x0c,0x9e,0x7b,0x81,0xf7,0x87,0x1d,0xe1,0xdf,0x1b,0x90,0xf3,0x72,0x2a,
0x69,0x14,0x89,0xf0,0x8d,0x3f,0x2d,0xaa,0x97,0x31,0x80,0xd1,0x1c,0x3e,0x05,0xfe,
0x84,0x99,0x08,0xf8,0xc6,0x75,0xdc,0x46,0xdf,0x1c,0x48,0xc5,0x95,0xc7,0x73,0x16,
0x0d,0xee,0x38,0x5b,0x96,0x45,0x55,0x0f,0xac,0x89,0x92,0xe9,0xc1,0x92,0x27,0x35,
0x28,0x2a,0x22,0xe0,0x90,0xbe,0x80,0xa6,0xe0,0x35,0x8f,0xb3,0xa1,0x00,0x59,0x62,
0xd1,0x08,0xb5,0x5c,0xcd,0xeb,0x8c,0x5d,0xbd,0x8f,0xeb,0x9a,0x55,0xa0,0x47,0xe0,
0x6a,0x43,0xeb,0x17,0x3e,0x7c,0xc5,0x2f,0x4f,0xe4,0x23,0x50,0x84,0xf5,0x0a,0xff,
0x9e,0xfc,0xc9,0x7a,0x11,0x57,0xb7,0x16,0xcf,0x45,0x5d,0x2d,0xe6,0x70,0x86,0x55,
0x17,0xb7,0x2c,0x17,0xd6,0x7f,0xff,0xdb,0xbf,0x5b,0x82,0x31,0xab,0x94,0xbb,0x88,
0xbf,0x81,0x86,0x63,0x5f,0xfd,0xd4,0x82,0xbb,0x58,0x80,0x49,0x2b,0x2f,0x6a,0xe6,
0x5b,0x7f,0x3a,0x39,0x08,0xaa,0xa2,0xa8,0xd7,0xc3,0xe1,0xa4,0x62,0xf1,0x3c,0xf8,
0xe1,0xf4,0xf9,0xe9,0xb3,0xd3,0x27,0xe1,0x70,0xc8,0xf3,0xdb,0xe0,0x87,0x97,0x2f,
0x5e,0x3e,0x7a,0xf1,0x0c,0xbe,0xcd,0x17,0x35,0x4b,0x82,0x1f,0x1e,0x3f,0x7d,0x7c,
0xf6,0xe8,0x0c,0xbe,0x4f,0x63,0x9e,0xd7,0xc1,0x0f,0x0f,0x9f,0x3e,0x7c,0xf8,0xe0,
0x22,0x3c,0x18,0x0e,0xab,0x45,0xc6,0x82,0x1f,0xce,0x1e,0x9c,0x8d,0x46,0x8f,0x43,
0xf9,0x75,0x28,0x8a,0x29,0xcc,0x19,0x3d,0x1b,0x3d,0x19,0x3d,0x80,0xb1,0x0c,0x77,
0x78,0xf5,0xea,0xe1,0xf3,0xb3,0x97,0xf0,0xad,0x80,0xed,0x1f,0x3e,0x7a,0xf6,0xf8,
0xd1,0x2b,0xf8,0x52,0xc6,0x39,0xcb,0x60,0xea,0xf9,0x68,0x34,0x3a,0xc5,0xed,0x44,
0x9c,0x8b,0xc0,0x7e,0x0d,0x78,0xab,0x6c,0x6f,0xc1,0xe9,0xfb,0x50,0xb0,0x8a,0x4f,
0x3d,0xb1,0x12,0x35,0x9b,0x0f,0x17,0xdc,0x6b,0x07,0x71,0xc9,0xbc,0xc8,0x8b,0xc0,
0xfe,0x0b,0xab,0x9f,0x55,0x00,0x9c,0xb0,0xde,0xc2,0x77,0x5a,0x8b,0x0f,0x44,0x19,
0x4f,0x98,0x77,0xf3,0x0a,0x07,0x87,0x1f,0xd8,0x6c,0x91,0xc5,0x95,0xf7,0x96,0xe5,
0x59,0xe1,0x35,0x8f,0x37,0x07,0x7f,0x5a,0x8f,0x8b,0xaf,0x43,0xc1,0xff,0xce,0xf3,
0x59,0x30,0x2e,0xaa,0x84,0x55,0x43,0x18,0xd9,0x1c,0x7c,0x4a,0x79,0x92,0xb0,0xfc,
0xf3,0x1a,0x54,0x6c,0x99,0x81,0x02,0xcf,0x8b,0x9c,0x1d,0xf2,0x39,0xd2,0x37,0xce,
0xeb,0xcd,0xc1,0xb8,0x48,0x56,0xeb,0x79,0x5c,0xcd,0x78,0x1e,0x9c,0x86,0xe3,0x78,
0x72,0x3b,0xab,0x8a,0x45,0x9e,0x04,0x20,0x71,0x8e,0x42,0xae,0x1b,0x4e,0x8a,0xac,
0xa8,0xd4,0x10,0xe0,0xd7,0x0d,0xa7,0xc0,0x19,0x80,0xcb,0x39,0xcf,0x56,0x6a,0x18,
0xef,0xe4,0x86,0x07,0x19,0xcf,0xd9,0x30,0x65,0x64,0x43,0x46,0xfe,0xc3,0x70,0xb8,
0x64,0xe3,0x5b,0x0e,0x73,0x71,0x81,0x98,0x03,0xc9,0x52,0x84,0x11,0xce,0x06,0xe6,
0xe1,0xb1,0x60,0xc9,0xe6,0xc0,0x5f,0x56,0x71,0x09,0x40,0x7c,0x95,0xac,0x15,0x5c,
0x3c,0x3e,0x2d,0xbf,0x86,0x1a,0x28,0x2b,0x5e,0xd4,0x45,0x58,0xc6,0x49,0x82,0x0b,
0xcf,0xcf,0xca,0xaf,0xd6,0x19,0x3c,0xb7,0x2e,0x1e,0x94,0x70,0x41,0x34,0xbb,0xac,
0x6a,0xae,0x37,0xcd,0xd8,0xd7,0x10,0x36,0x9e,0xe5,0x43,0x0e,0xc8,0x16,0xc1,0x84,
0x21,0x29,0xc2,0x59,0x5c,0x06,0x8f,0x61,0x53,0xb5,0x0d,0x20,0xa7,0xae,0x8b,0x79,
0x30,0x82,0xdd,0xc2,0x83,0x06,0x61,0x72,0x0c,0xf6,0x06,0xe3,0xcc,0x13,0x4b,0x5e,
0x0c,0x39,0xc2,0x05,0x20,0x13,0xe0,0x36,0x09,0xdf,0x23,0x58,0xa4,0xae,0x88,0x1f,
0xb7,0x90,0x06,0xfc,0xe2,0x86,0x6a,0xd3,0x2a,0x4e,0x38,0x68,0xcc,0x11,0xc1,0x3a,
0x5a,0x4b,0x34,0xf0,0xbf,0xb3,0x60,0xf4,0x10,0x96,0xd2,0xd7,0xa5,0xdc,0xea,0xe2,
0xf4,0xb4,0xb9,0x73,0x88,0xf7,0x08,0x46,0x70,0xaa,0x58,0x8c,0xd7,0xdb,0xc8,0x46,
0xd2,0x2b,0x22,0xc8,0xcd,0x60,0xff,0x0e,0x91,0x88,0xcd,0xdd,0x10,0xf5,0xc6,0x90,
0xd0,0x11,0x54,0x78,0xc8,0xe6,0x40,0x30,0xd2,0x04,0x8a,0xe4,0x43,0x34,0x31,0x67,
0x17,0x04,0xdc,0xd9,0xba,0xb7,0x5f,0x1f,0xb8,0x8c,0xa1,0x48,0x0e,0x91,0xe5,0x90,
0x12,0xfe,0xe9,0x13,0x36,0x97,0x27,0xd4,0x15,0x10,0x1f,0x04,0x74,0x1e,0x2c,0xca,
0x92,0x55,0x13,0x20,0x6b,0x78,0x60,0x82,0x43,0x52,0xe8,0xb6,0x24,0x3d,0xb5,0x1e,
0xe3,0x99,0x8b,0x6c,0x9d,0x71,0x01,0x67,0xa2,0x56,0x20,0xd6,0x6c,0x31,0xa0,0x09,
0x7e,0xaa,0x31,0x89,0xa0,0xee,0xa2,0x0d,0x49,0x2b,0x10,0x28,0xe3,0xdf,0xc5,0x05,
0xa3,0xd3,0x96,0x0d,0x82,0x27,0xc8,0x4c,0xdf,0xc7,0x02,0xf2,0x18,0x13,0xe7,0xe7,
0x78,0x85,0x8c,0x5b,0x7e,0xfe,0x7f,0xa0,0x10,0x98,0x49,0xc5,0xf5,0xc8,0xd4,0x40,
0xf0,0x7c,0xbe,0x96,0xc4,0x37,0x1e,0x9d,0x86,0xc5,0x1d,0xab,0x50,0xa3,0x06,0x52,
0x9e,0x25,0xda,0x9b,0x41,0x96,0x65,0xbc,0x14,0x5c,0x84,0xcb,0x14,0xee,0x4b,0x14,
0x42,0x74,0xa2,0x58,0x85,0x07,0xdf,0x01,0xdb,0x19,0x9d,0x5c,0xc7,0xb3,0xef,0xb9,
0x08,0xe2,0x6f,0x8b,0x15,0x2e,0x80,0x15,0x0e,0xf6,0xf2,0x82,0x46,0x37,0xe2,0xf5,
0x02,0x25,0x86,0xb0,0xbd,0x85,0x66,0xb0,0x88,0x0d,0x25,0x94,0xdc,0x9c,0xf5,0xb0,
0x06,0x53,0x40,0x67,0x2d,0x80,0x4a,0x12,0xe9,0x01,0xcf,0x53,0xd0,0xa3,0x75,0x38,
0x59,0x54,0x02,0x66,0x95,0x05,0x27,0x4a,0x97,0x85,0xe0,0xc8,0xe7,0x41,0xc5,0xb2,
0xb8,0x06,0x87,0x57,0xaf,0xf2,0x13,0x96,0xad,0xbf,0x41,0x16,0xc5,0xa9,0x86,0x4c,
0x13,0x5b,0x1e,0xec,0x01,0x99,0x94,0x43,0xb8,0x0d,0xb3,0xbe,0x31,0x6a,0x2b,0x62,
0xf5,0xf6,0xf4,0x20,0x45,0xba,0xad,0xd5,0x1a,0xf3,0x6c,0xd2,0x1b,0xfd,0x81,0xcd,
0x01,0x22,0xb3,0x55,0xd1,0x9a,0xc7,0x67,0x15,0x4f,0x5a,0x86,0x6e,0x95,0xe7,0xf9,
0x63,0xe2,0xa3,0x2c,0x1e,0xb3,0xcc,0xf3,0xb3,0x71,0xd6,0x48,0xc5,0x38,0x2b,0x26,
0xb7,0x3d,0xb2,0x87,0xdf,0x96,0x52,0x62,0x71,0x9e,0x97,0x0b,0xad,0xfa,0x46,0xa7,
0xa7,0xff,0x1c,0x76,0x10,0xff,0x1d,0x1c,0x73,0x6e,0x20,0x04,0x14,0xa6,0xf5,0x84,
0x24,0xae,0xaf,0x35,0xc9,0x94,0xee,0x30,0x35,0x7f,0x0c,0xf3,0x0a,0xdc,0x60,0x5a,
0x4c,0x16,0x62,0x0d,0xae,0x1a,0x1a,0x24,0x49,0xc3,0x3d,0x18,0x07,0xce,0x8f,0x49,
0x27,0x8a,0xae,0xfe,0xd0,0x26,0x63,0x87,0x1e,0x31,0x95,0xa7,0x41,0xdc,0xb2,0xe2,
0xf0,0x64,0xb5,0xde,0xba,0x1a,0xdd,0xc3,0x3c,0x57,0x99,0xd5,0x3d,0x57,0xa3,0xe9,
0x07,0xfb,0x99,0x0a,0x71,0x38,0xba,0xd0,0x1a,0xda,0x50,0x46,0x5d,0x38,0x34,0xa3,
0x7d,0xcb,0x3c,0xed,0x40,0xc6,0x24,0x65,0x93,0xdb,0x6d,0x54,0x5c,0xec,0x46,0xc5,
0xef,0xb2,0x93,0xde,0xd1,0x32,0xd9,0x08,0x4d,0xfa,0x06,0xbd,0xc0,0x0f,0x4c,0x2c,
0xb2,0xda,0x42,0x22,0x09,0xcf,0x9a,0xf2,0x0c,0x80,0xb0,0xc6,0x2b,0xeb,0xfd,0x2b,
0x1f,0xc2,0x4d,0x08,0x08,0xbe,0xa2,0x67,0x48,0x8e,0x1f,0x3a,0xa3,0x55,0x91,0xc1,
0xe7,0xb8,0xb6,0x26,0xf1,0x02,0x5c,0x07,0x1c,0x9f,0x93,0x33,0xe8,0xcf,0xc5,0xcc,
0xb4,0x69,0x24,0x14,0xdf,0xa9,0x95,0x51,0xcf,0x6a,0x8f,0xe5,0x62,0xdf,0x1d,0x60,
0x7f,0xf0,0xad,0x41,0xff,0xac,0xfb,0xea,0x48,0x3f,0x62,0x55,0xb5,0xde,0x46,0xe7,
0x0f,0x5f,0x40,0x23,0x75,0x20,0x33,0x29,0x89,0x60,0x5a,0x34,0xf2,0x07,0xf5,0xcb,
0x41,0x4f,0xbc,0xfa,0x6e,0x57,0xab,0x0f,0x1e,0x4a,0xbb,0x42,0x70,0x40,0xcc,0xb1,
0x4b,0xef,0x90,0x52,0x95,0x13,0xf0,0x12,0x7b,0x59,0x83,0xa6,0x58,0xbf,0xe3,0x8f,
0xb4,0x0e,0x83,0x5e,0x10,0xaf,0xfb,0x32,0xad,0x9f,0xf8,0x63,0x3e,0x6b,0x38,0x8d,
0xe7,0x74,0x09,0xa9,0xa5,0x94,0x0e,0xba,0x40,0xf4,0x9c,0x4a,0xab,0x61,0x9d,0xee,
0x25,0xa8,0x81,0x0d,0xbc,0x6d,0xb8,0x84,0x1b,0x0c,0xc7,0x20,0x63,0xb7,0x01,0xfd,
0x0b,0x2e,0x50,0x86,0xa6,0x15,0x42,0x87,0xf5,0x37,0x18,0x56,0x9b,0x64,0x79,0xf6,
0x63,0x3c,0x12,0x0e,0xed,0xa2,0xf6,0xc1,0x43,0x54,0xc8,0xb0,0x51,0x65,0x12,0xf5,
0xdc,0x20,0x6a,0x4b,0xe5,0xdf,0x71,0x5c,0xdc,0xef,0xb2,0xcd,0xbb,0xfd,0x86,0xcd,
0x41,0x17,0xab,0x0d,0x9f,0x82,0x11,0xf7,0xc7,0x18,0x18,0xed,0xa0,0xa2,0xd2,0xef,
0xbb,0xd6,0x09,0x96,0x81,0x63,0x68,0x2a,0xf9,0x9e,0x45,0xf9,0x5f,0x29,0xfd,0x83,
0xbe,0xd6,0xff,0xc7,0x28,0xfd,0x83,0x1d,0x5a,0x5f,0xa9,0x3e,0x70,0x6f,0x8b,0x3c,
0x41,0x25,0xdc,0x03,0x65,0xfb,0x84,0x7f,0x90,0x85,0xd7,0xca,0x78,0x1b,0x84,0x3f,
0x6c,0xe8,0xfd,0x59,0x5a,0x88,0xfa,0x7f,0xe3,0x4c,0xfe,0x83,0xbd,0x96,0x73,0x25,
0x76,0x1a,0xa4,0x3f,0x7e,0x93,0xaa,0x58,0xee,0x34,0x21,0xf2,0x91,0xb2,0x05,0xdb,
0x7e,0x2e,0xd9,0x84,0x5f,0x50,0xc1,0xa3,0xc6,0x4f,0x8b,0x5a,0x94,0x45,0x6d,0x0b,
0xcc,0xa8,0xe6,0xc0,0x28,0x96,0x98,0xc4,0xb9,0x35,0xc5,0x0b,0x7a,0x96,0x00,0x6b,
0x90,0xcf,0x98,0xa8,0x2d,0x4a,0xa1,0x05,0x56,0x6c,0xe1,0xd6,0x68,0x2d,0xe2,0x52,
0x1a,0x05,0x9a,0x0e,0x71,0x41,0x13,0x4b,0x6c,0xd4,0x98,0xf6,0x20,0x25,0x00,0xdf,
0x1d,0x36,0x98,0x1e,0xb9,0xde,0xf3,0x71,0x13,0x42,0xf4,0x90,0xaf,0x70,0x7f,0xba,
0xcd,0x7a,0x46,0x54,0x96,0xb1,0x69,0xdd,0x05,0x4a,0xe2,0xda,0xc2,0x38,0x60,0x07,
0x5e,0x71,0x22,0x6c,0x5f,0x3b,0x3e,0xa8,0x34,0x17,0xee,0x16,0xe4,0x75,0x3a,0x9c,
0xa4,0x3c,0x4b,0x9c,0xfc,0xf8,0x91,0xdb,0x89,0xf3,0x61,0xfe,0x38,0xae,0xc4,0xfe,
0xb0,0x08,0x07,0x86,0x2c,0x97,0x7e,0xe4,0x59,0x1b,0xd5,0x2a,0xda,0xe3,0x62,0x8b,
0x2b,0xa5,0x70,0xde,0x3e,0x7e,0x00,0xea,0x61,0x4b,0x92,0x75,0x98,0x2c,0x17,0x1d,
0xf3,0x75,0xaa,0x0d,0xc1,0x3f,0x6f,0x9a,0xc1,0x76,0xf8,0x71,0x77,0xb8,0x7d,0x80,
0xca,0x07,0x2f,0x3a,0xb2,0x78,0x40,0x84,0x95,0xb7,0xf3,0x7c,0x71,0x66,0x99,0xb7,
0x1d,0xe6,0xc7,0x67,0x2e,0x8c,0x9e,0xf7,0x47,0xcf,0x71,0xf4,0x01,0xc0,0xbd,0x05,
0x62,0x6b,0xcc,0x8b,0x8a,0x79,0xe0,0x96,0xf0,0x52,0x73,0xc2,0x5e,0xe2,0xb5,0x61,
0xe8,0x77,0x18,0x1f,0x92,0x4b,0xa2,0x6e,0x02,0x4a,0xa0,0x8a,0x29,0x02,0x81,0x3d,
0x59,0x85,0x46,0x44,0x1d,0x6c,0xda,0x8d,0x8b,0xfd,0x2e,0x13,0x2f,0xbb,0x74,0x23,
0x5a,0x61,0x44,0x17,0x50,0x58,0xb7,0x87,0x4d,0x1f,0x68,0x7f,0xa2,0x77,0x48,0xa3,
0x89,0x1f,0xca,0x80,0x64,0x9f,0x82,0xdd,0x91,0xba,0x38,0xfb,0x6e,0x4f,0x4a,0xc1,
0xad,0x71,0xba,0xcd,0xbe,0x20,0xdc,0x37,0x73,0x60,0x5c,0xed,0xcb,0x09,0xeb,0x96,
0xb1,0x12,0x65,0x9d,0x57,0x56,0x56,0x14,0xb7,0xa1,0x55,0x80,0xbf,0x00,0x32,0xbc,
0x98,0xa4,0x20,0xec,0x15,0x63,0xb9,0xd4,0x04,0xbc,0xb6,0x62,0xb0,0xe4,0x16,0xd0,
0x68,0x29,0x48,0xb8,0xff,0x65,0xce,0x12,0x1e,0x3b,0x2a,0xe0,0x0b,0x26,0x05,0xd6,
0x5c,0xdc,0x75,0x47,0xbe,0x1b,0x37,0xeb,0x4c,0x0a,0x29,0x66,0x71,0x20,0x00,0x0b,
0xe2,0x29,0x2c,0xf1,0x88,0x1a,0xcd,0x17,0x03,0x72,0x3d,0xa6,0x9c,0x14,0xa9,0x02,
0xe5,0xd8,0x5a,0xa5,0x44,0x83,0xc1,0x00,0x70,0xaa,0x83,0xcc,0x78,0x0c,0x38,0x04,
0xd2,0x85,0x3c,0xc7,0x7c,0xfc,0x10,0x91,0x61,0x0d,0x51,0xdd,0x6d,0x0e,0xb0,0x50,
0x44,0x9e,0xe3,0x74,0x8a,0x4c,0x60,0xfd,0x20,0x6a,0x6f,0x6b,0x0c,0xb3,0x20,0xdb,
0xa3,0xa9,0xa0,0x8a,0xcd,0xba,0xc0,0x30,0xbb,0x5e,0x05,0xe4,0x7c,0x5c,0x9e,0xc8,
0x1c,0xea,0xe5,0x89,0xac,0x38,0x61,0x02,0xef,0xea,0x32,0xe1,0x77,0xd6,0x24,0x8b,
0x85,0x88,0x06,0xc8,0x1e,0xba,0x20,0xc5,0xaa,0xab,0x4b,0x08,0xd2,0x73,0xfd,0x2c,
0x29,0x6a,0xaa,0x32,0xc1,0xd0,0xd5,0x65,0x3a,0xba,0x52,0xd9,0x59,0xf8,0xd4,0x99,
0x26,0x16,0xe3,0x81,0xc5,0x13,0xf8,0x00,0xd3,0x87,0x7a,0xfe,0x89,0xda,0xf1,0xe0,
0xe0,0x52,0x65,0x91,0xe4,0x9c,0xf8,0x8e,0x25,0x03,0x4b,0x26,0x26,0xae,0x0e,0x2c,
0xeb,0x32,0x3d,0xbb,0xba,0xc1,0x41,0x70,0xdf,0x6b,0x70,0xc5,0x6e,0x05,0x2c,0x3d,
0xa3,0x27,0x8b,0x8c,0x96,0xe0,0x75,0x11,0x8e,0x45,0x46,0xa3,0xa5,0x3e,0x17,0x1d,
0x34,0x79,0xf0,0x04,0xef,0x70,0x79,0x52,0xd2,0x73,0xe3,0x72,0xe0,0x6b,0x0f,0x9a,
0x2d,0xf0,0x0b,0x4c,0x82,0xc7,0x57,0x88,0x16,0x09,0x53,0x1f,0x3c,0x74,0x86,0xe0,
0x7b,0x1f,0xc0,0x67,0x30,0xac,0xe1,0x6b,0xc0,0xa3,0xa0,0x19,0x33,0xcd,0x72,0xd9,
0xe0,0xea,0x63,0xb5,0x92,0xd6,0x05,0xf9,0xb2,0x2c,0x96,0x20,0x15,0x8b,0xf2,0xf2,
0x84,0xe6,0xd1,0x0a,0xe9,0x37,0x35,0x07,0x11,0x72,0x69,0xa8,0x0f,0xb8,0x0a,0x31,
0x07,0x16,0x51,0x0f,0x2e,0xd2,0x8d,0x55,0x06,0x38,0x1f,0x56,0x48,0x06,0x6c,0xe8,
0xa0,0x5d,0x89,0x81,0x85,0xb5,0x47,0x38,0x83,0x1e,0x0f,0xda,0x8b,0x01,0x9a,0x07,
0x84,0x6c,0x0b,0xbf,0x5a,0x65,0xc5,0xa6,0xac,0x62,0xf9,0x84,0x5d,0x9e,0xc8,0xb9,
0x7f,0x7c,0xdf,0x8a,0xc9,0x9b,0x7c,0xa0,0xbf,0xe6,0x3e,0x0a,0xd5,0x7b,0x28,0x82,
0xb3,0x4d,0x8a,0x6c,0x11,0xf6,0xea,0xa6,0x06,0x81,0x4b,0x10,0x95,0x28,0xd3,0xb2,
0x9a,0xe0,0x5b,0xf2,0x1c,0xb4,0xdb,0x24,0x6e,0x14,0xea,0x81,0xc4,0xb1,0x5c,0x93,
0x47,0x51,0xe0,0x68,0x9e,0xc4,0x22,0x0d,0x61,0x5f,0x9a,0xb2,0xa8,0x2a,0x2c,0x1b,
0x08,0x26,0x04,0x91,0x5a,0x60,0x65,0xc0,0x12,0x4b,0x5e,0x43,0xb8,0x99,0x58,0x58,
0xe4,0xf4,0x89,0x81,0xf6,0x72,0x06,0x28,0x87,0x81,0x66,0x87,0xa7,0x49,0x02,0x7a,
0xa7,0xcf,0x0f,0x98,0x79,0xa1,0xa9,0x53,0x4d,0x1f,0xbc,0x38,0x31,0x3d,0x68,0x99,
0x71,0xf1,0xd5,0xe4,0x2a,0x7a,0xde,0xdc,0x38,0x1b,0x67,0x83,0xab,0x9f,0x14,0xff,
0x13,0xc4,0xe4,0xea,0x4a,0xe7,0x45,0xdf,0x05,0x3d,0x15,0x40,0x07,0x53,0x8c,0x4e,
0x3b,0x80,0x88,0x68,0x2a,0xc1,0x19,0x83,0xe6,0xb4,0x56,0x5e,0x76,0x10,0x14,0x35,
0xd9,0x2e,0x5a,0xca,0x71,0x05,0x63,0x8f,0x25,0x34,0x95,0xe4,0xad,0x9a,0x8d,0x0d,
0x19,0x00,0xcc,0x26,0xcd,0x25,0xa8,0x38,0x64,0xb0,0x3e,0x4d,0x26,0x3f,0x4e,0x82,
0x88,0x73,0x55,0x01,0x49,0x7e,0x86,0x00,0x22,0x63,0xf9,0xac,0x4e,0xa3,0xc1,0xf9,
0xd9,0xc0,0xaa,0xd8,0x6f,0x0b,0x5e,0x11,0x65,0x44,0x8d,0x2c,0xc8,0xf2,0x81,0xda,
0xc6,0xa2,0x14,0xff,0xa4,0x98,0x97,0x19,0xab,0x61,0x3d,0x28,0xc0,0x81,0x1c,0x8a,
0x4b,0x5e,0x83,0xa5,0xfb,0x3b,0x43,0x16,0xca,0x99,0x1a,0x2d,0x80,0xf4,0x93,0x5a,
0xcd,0x13,0x25,0xcb,0x32,0xca,0x30,0x00,0x99,0xe2,0x4c,0xb0,0x41,0x03,0x5d,0x12,
0xe3,0x62,0xa1,0x00,0xc4,0x03,0x91,0x37,0xd5,0x60,0x3b,0xab,0xe5,0x65,0xb4,0x01,
0x12,0x71,0xc9,0x6a,0xde,0xe0,0xed,0x05,0x58,0xc7,0x55,0xb1,0xb0,0xe6,0x0c,0x34,
0xe4,0x51,0x16,0xff,0xb6,0x28,0xc2,0xcb,0xb1,0x9e,0x46,0x9b,0x8e,0xaf,0x8e,0x2a,
0x1a,0xbf,0x6e,0xae,0xa4,0x29,0xb4,0x4d,0x14,0x58,0xb4,0x40,0x30,0xe1,0x1f,0x8b,
0xb7,0x02,0xf6,0xcd,0x05,0x68,0x27,0x07,0x57,0x64,0x2d,0xc1,0x09,0x6d,0xa5,0xdb,
0xa4,0xe2,0xef,0x13,0xb4,0x84,0x5b,0x0e,0xae,0xde,0xc3,0xbf,0x18,0x21,0xf7,0x89,
0x69,0x20,0x02,0xac,0x6c,0x83,0xc6,0x0e,0x99,0x69,0x07,0x45,0x66,0xf9,0x59,0x82,
0x5b,0xaa,0x3d,0x3b,0x64,0xbf,0x38,0x6f,0x29,0xfc,0xff,0x44,0xe3,0x2d,0x49,0x20,
0x63,0xbd,0x4b,0x14,0xca,0x25,0x0c,0xc7,0x15,0x8f,0x87,0xda,0xf9,0xd0,0x37,0xa0,
0x41,0xd0,0x9c,0x42,0xb0,0xa4,0xd9,0x5f,0xa4,0xc5,0xb2,0x2b,0x30,0x5d,0x0c,0x77,
0x91,0xdd,0xd7,0xf2,0x7b,0xc4,0x54,0x25,0xe6,0x34,0x78,0x60,0x66,0xe7,0xbc,0x1e,
0x68,0x65,0x34,0xae,0x73,0xa9,0xcb,0xb7,0xce,0x35,0x6d,0x33,0xa1,0x41,0xae,0xc9,
0x8b,0x25,0xea,0xa0,0x2d,0x42,0xc9,0xdd,0x69,0x22,0xe9,0x28,0x35,0x17,0x18,0xd5,
0xe0,0x05,0x1c,0xe8,0x1a,0xa3,0xe0,0x14,0xae,0x4d,0xfa,0x13,0x54,0xe9,0xb2,0xcf,
0x1d,0xd2,0x09,0xe8,0x5e,0xfe,0xf2,0x04,0x35,0xe4,0x5e,0x8b,0xd0,0xb3,0x06,0x5a,
0x77,0xa2,0x9a,0x37,0x94,0xd2,0x3e,0x63,0xd1,0xf1,0x20,0xd0,0xfb,0xb3,0xea,0x8a,
0xc3,0x10,0xd8,0x08,0xf2,0x4f,0x01,0xf8,0xb8,0xaa,0xc1,0xbd,0xb3,0xa6,0x55,0x31,
0x27,0x15,0x4b,0x86,0x44,0x64,0x45,0xed,0xc1,0x86,0xe8,0x07,0x95,0xf8,0x38,0xae,
0x3a,0x3a,0x57,0x14,0x86,0xf9,0x21,0x9b,0x23,0xac,0x65,0xca,0x01,0x5d,0x18,0x77,
0x01,0x07,0x82,0x50,0x5a,0x14,0x67,0x72,0x0c,0x33,0x41,0x4a,0xa7,0xe8,0xb6,0x4c,
0x61,0x18,0x76,0x9d,0x43,0x74,0x26,0xac,0x31,0x80,0x85,0xbe,0x69,0x5a,0xcc,0x99,
0x07,0x86,0x43,0xd4,0x8b,0x84,0x17,0x56,0x9c,0xa3,0x15,0xb9,0x63,0xf9,0x02,0xec,
0xda,0x53,0x6a,0x67,0xd0,0x36,0x0c,0xec,0x53,0x91,0x67,0x2b,0x98,0x89,0x36,0x30,
0xb4,0x32,0x06,0xf7,0xc3,0x6b,0xb3,0x79,0x07,0xe9,0xf0,0xd5,0x5a,0xe4,0x35,0x9f,
0xdc,0xc2,0x55,0x71,0xbf,0x3a,0x85,0xa5,0x65,0x3c,0x63,0xe4,0x2b,0x03,0xa8,0xb0,
0x1b,0xdc,0xca,0xb7,0x3e,0xc2,0x1c,0xbc,0x1e,0x40,0x9b,0x54,0x45,0x49,0x46,0x06,
0x36,0xd4,0x86,0x11,0xb8,0x3c,0xd7,0xc6,0x6e,0x4e,0xbe,0x72,0xcd,0xb2,0x95,0x6f,
0xbd,0xcb,0x5b,0x6b,0x04,0x91,0xb5,0x8a,0xb1,0x5b,0xe3,0x87,0x90,0x4a,0x44,0xc7,
0xe8,0xf5,0x4c,0x18,0xe2,0x52,0x02,0xa2,0x6d,0x18,0xca,0x86,0xb4,0x69,0xc5,0xa2,
0x06,0x91,0x66,0x68,0xd2,0x79,0x2d,0xb4,0xc7,0x1e,0x03,0x94,0x20,0xb0,0xf8,0x37,
0x05,0x6f,0x24,0xa0,0xa9,0xc0,0xe0,0x28,0x62,0x68,0xe7,0x8b,0x92,0xe5,0xb8,0x6b,
0x51,0x01,0xe2,0x57,0x84,0xee,0x62,0x91,0x25,0x64,0xc0,0x29,0x0b,0xb9,0xd7,0x6e,
0x6b,0x73,0xfd,0xa3,0x84,0xba,0x31,0xd4,0x3b,0x3c,0x48,0xe5,0x3c,0x93,0xff,0x5a,
0x76,0xad,0x79,0x2a,0x4c,0x7b,0xbe,0x4b,0x51,0xa6,0x62,0x5e,0x24,0xb0,0xf6,0x2d,
0xfc,0xdb,0x17,0x04,0xc3,0xe5,0xd3,0xd3,0x5a,0x01,0x2c,0x4a,0xc2,0xf8,0x5d,0x9c,
0x2d,0x40,0xae,0x50,0x93,0x0d,0xae,0xf0,0xdf,0x86,0xfb,0x16,0x25,0xdc,0x99,0xe5,
0xc4,0x6b,0x2d,0x46,0xd3,0x18,0xdd,0x17,0xdd,0x2c,0x21,0x37,0xd9,0xbf,0x6b,0xb6,
0x8c,0x57,0xa0,0x63,0xe4,0xdf,0xdf,0x9d,0x8e,0x1a,0xf4,0x0a,0xfe,0xe9,0x4f,0x34,
0x3d,0xd5,0xef,0xb2,0x1e,0xa9,0xf8,0xb6,0xfd,0x68,0xad,0x84,0x9a,0xa9,0x14,0x11,
0x06,0xc4,0x7b,0xed,0xc2,0xff,0x83,0x55,0xf8,0x87,0xeb,0x66,0x60,0xa5,0xc6,0xcf,
0xde,0xe3,0x44,0xfd,0x8e,0x26,0x04,0x46,0xf9,0xa6,0x67,0xfc,0xb1,0xe1,0x04,0x60,
0x84,0x56,0x14,0x8b,0x29,0x89,0x55,0xb1,0xcc,0x03,0x4b,0x79,0x1c,0x00,0x0b,0x79,
0x65,0x65,0xdb,0x65,0x33,0xbc,0x86,0xff,0xd0,0x07,0xf1,0x61,0xe7,0xbf,0xa0,0x0f,
0x0d,0x12,0x45,0x3a,0x31,0xb6,0xca,0x14,0x15,0x1a,0x08,0x5a,0x6c,0x65,0x71,0x09,
0xd1,0x06,0x89,0x32,0x0a,0xa0,0x75,0x39,0x01,0xde,0xbd,0x4a,0xeb,0xba,0x0c,0x4e,
0x4e,0x46,0x4f,0xce,0xfc,0xd1,0xc5,0x63,0xff,0x81,0x3f,0x3a,0xb9,0x3c,0xa1,0x27,
0xad,0x93,0x4a,0x7a,0x45,0x80,0xcd,0xb7,0x54,0xdf,0x22,0xa8,0xbc,0x7c,0xb5,0x44,
0xd9,0xf6,0x49,0x81,0x21,0x6d,0xa4,0xea,0xaa,0x62,0x0e,0x1e,0x39,0x02,0x10,0x8f,
0x41,0x39,0x80,0x0e,0x85,0xa8,0x19,0x0e,0x93,0x11,0x07,0xdc,0x0d,0x83,0xe8,0x96,
0xf1,0x61,0x5f,0xd4,0xb2,0xc4,0xfc,0xfa,0xd2,0x08,0xa0,0x54,0x68,0x5c,0x2a,0x20,
0xa9,0x93,0x05,0xa9,0x06,0x54,0x9d,0x2d,0x7e,0x40,0xa7,0xa0,0x9e,0x1a,0x83,0x4e,
0x6e,0x8c,0x00,0x6c,0xa9,0x75,0x5a,0x5f,0x93,0x81,0xce,0xc4,0x83,0x53,0xb5,0x5f,
0x5d,0x64,0x52,0xab,0xe9,0xed,0xc8,0xd2,0x78,0x68,0x20,0xe0,0x64,0xd0,0x1e,0x2b,
0x21,0x15,0x1b,0xc6,0x1c,0x30,0xa2,0x84,0x94,0xf2,0x0d,0xb0,0xc4,0xc2,0xee,0xad,
0xc5,0x2c,0x6d,0x6f,0xb3,0x43,0x6f,0xc9,0x52,0xc1,0xd5,0x65,0x6c,0xa5,0x10,0x9a,
0x45,0x83,0x93,0x01,0xe8,0x2e,0xf4,0xa3,0x63,0xc4,0x2f,0x98,0xc0,0xa2,0x0e,0xad,
0xf6,0xa9,0x6c,0x01,0xc3,0x48,0x09,0xff,0xe2,0x2c,0x64,0x2c,0xda,0xe2,0x40,0x07,
0xba,0xba,0x65,0xab,0xe9,0x00,0xfb,0x27,0x87,0x37,0x6d,0x67,0x49,0x31,0xa1,0x76,
0x2a,0x7f,0xc6,0xea,0x97,0x19,0xc3,0x8f,0xcf,0x56,0xaf,0x13,0x98,0xb1,0x69,0x17,
0x30,0x31,0x71,0xea,0x66,0xc9,0x0d,0xe0,0x28,0x9f,0xc1,0x80,0x5f,0xb1,0x32,0x8b,
0x27,0xcc,0x39,0xf9,0x74,0x74,0x79,0x35,0xf8,0x7c,0x32,0xf3,0xcc,0x96,0x41,0x40,
0x82,0x5a,0xb1,0xb6,0x8f,0xec,0xc0,0x3e,0x8a,0xe7,0x65,0x68,0x7b,0xf6,0x25,0x7e,
0xce,0x6a,0xfc,0x78,0x85,0x1f,0x67,0xf4,0x71,0x80,0x1f,0xc1,0x23,0x86,0x2f,0x9b,
0x4f,0x93,0xcf,0x9b,0xce,0xf9,0xb9,0x79,0x3e,0x7c,0x03,0x76,0xfb,0xf9,0xc3,0xeb,
0xe7,0xa0,0x06,0x80,0x34,0x39,0x35,0x36,0xb6,0xb3,0xbf,0x60,0xcb,0x9c,0x9a,0xdb,
0x34,0xc0,0xb5,0x8f,0x4b,0xf0,0xf7,0x9c,0x85,0x87,0x69,0x90,0xad,0xe6,0xbb,0xf5,
0x9c,0xd5,0x69,0x91,0x04,0xf6,0xfb,0x77,0x37,0x1f,0x6d,0x34,0x39,0x32,0x85,0x21,
0x82,0xb5,0xad,0xfa,0x55,0x87,0x1f,0x41,0xdc,0x01,0x56,0xf0,0x15,0x32,0x3e,0xa1,
0x8c,0xdd,0xc9,0xd7,0xe1,0x72,0xb9,0x1c,0xa2,0x40,0x0f,0x17,0x55,0x26,0xe1,0x4b,
0xec,0x0d,0x9d,0x11,0xe0,0x3f,0xba,0xfd,0xf3,0x8b,0x09,0x88,0x88,0x57,0xd8,0x15,
0xeb,0xae,0x65,0xed,0x12,0x3f,0xdf,0xdf,0xdb,0xc5,0xad,0xed,0xfd,0x93,0x63,0x83,
0xf8,0x63,0x07,0x61,0x67,0xf6,0x8f,0x62,0xff,0x7c,0x52,0x18,0xdd,0x15,0xe3,0x6f,
0x1e,0xa0,0xa2,0x6f,0x5a,0x72,0x72,0x02,0x56,0x1e,0x7c,0x8d,0x62,0x51,0xa1,0xee,
0x90,0x0d,0x86,0x02,0x7c,0x9a,0xaa,0x5a,0x19,0xbe,0x8f,0x4d,0xce,0x44,0x22,0xfc,
0xf6,0x0c,0x30,0xc7,0xd8,0xe7,0xaa,0x29,0x73,0x74,0xc4,0x7c,0xf2,0xf5,0xa3,0xc8,
0xa6,0x4d,0x6c,0x1c,0x99,0x83,0x19,0x07,0x7f,0x04,0xce,0x9e,0xc6,0x3c,0x43,0xcc,
0x1c,0xc8,0x23,0x77,0x3a,0x16,0x68,0xe9,0x56,0x14,0x31,0x00,0xfb,0x80,0xf2,0x40,
0xf7,0x49,0x55,0x74,0x69,0xaa,0xa7,0x1d,0x32,0xe5,0x20,0xe0,0x56,0xe0,0x7d,0x51,
0x30,0x1f,0xaf,0x2c,0xd2,0x32,0xca,0x09,0x52,0x82,0x1b,0x5a,0x46,0xb3,0x33,0xce,
0xf5,0x0f,0xb0,0x3d,0xf4,0x8e,0xc7,0x3f,0x8a,0x88,0x0c,0x81,0xa7,0x9c,0x1f,0xf0,
0xe7,0xeb,0x6a,0xc1,0x3c,0xb0,0x3d,0xd1,0xc3,0x90,0x66,0x61,0x18,0xf8,0x13,0x00,
0x23,0xb0,0x45,0x1a,0xbf,0xfc,0x95,0xad,0x22,0xdb,0xf6,0x52,0x81,0xa3,0xf2,0xd3,
0x9b,0x02,0x98,0x24,0x89,0xb0,0xd7,0x37,0x44,0x70,0x7e,0xce,0x29,0xc7,0x65,0x95,
0xe0,0x71,0x49,0xbf,0x07,0xa4,0x15,0x60,0x4d,0x2d,0x08,0xe4,0x6a,0x72,0x5b,0x30,
0x67,0xbf,0xac,0x78,0xcd,0x24,0x2c,0x48,0x8d,0x17,0xd8,0x60,0xad,0xe0,0x49,0x85,
0xf1,0x4d,0x02,0x72,0xcb,0xca,0x1a,0x8f,0x83,0xe0,0xee,0x97,0x98,0xd7,0xd1,0xa9,
0x87,0xfa,0x4d,0x41,0x83,0x01,0xaa,0xfa,0x38,0x8d,0x21,0x5c,0x96,0xbb,0x00,0xfd,
0xe2,0x7c,0x06,0x90,0x9d,0x86,0x2d,0xc9,0xa8,0x8f,0xdb,0x21,0xa6,0xa0,0x8f,0x51,
0x73,0xf6,0xfd,0xbd,0x3a,0xf6,0xfe,0xfe,0xf0,0xd0,0x01,0x1e,0x41,0xcb,0x61,0xbb,
0x3e,0xf9,0x05,0xf7,0xf7,0x30,0x80,0x56,0x5a,0x0f,0xb8,0x92,0x8a,0x4f,0x05,0x3a,
0x9e,0xaa,0xa2,0x82,0x57,0xcd,0x80,0x48,0xa0,0x93,0xc5,0x92,0x55,0xa4,0x91,0xc7,
0x0c,0x04,0x83,0xc9,0x47,0x00,0xa5,0x68,0xe8,0x27,0xb3,0x34,0xa8,0x43,0x56,0xb8,
0x51,0x9c,0x55,0x20,0x6b,0x2b,0xeb,0x36,0x47,0x67,0x91,0x88,0xe3,0x1f,0x20,0xe7,
0xca,0x6e,0x61,0xb3,0x7b,0x57,0x52,0xee,0xf0,0x50,0xf8,0xf8,0x49,0xf2,0x4d,0x88,
0x4d,0xb2,0x92,0x28,0xd8,0xd0,0xab,0xb8,0xc9,0x55,0x64,0x6a,0x06,0x7c,0xbc,0x53,
0x08,0x47,0x3c,0x2b,0xbe,0x62,0x5f,0x6c,0x28,0x39,0x11,0x53,0x48,0x31,0x5a,0x0b,
0x4d,0x29,0x8f,0x80,0x45,0x38,0xf3,0x86,0x33,0x9d,0xd6,0xff,0xd2,0xf7,0x43,0x06,
0x6b,0x1d,0x67,0xba,0x06,0xba,0xc6,0xd8,0xf5,0xeb,0x86,0x8a,0x95,0xcf,0x2c,0x8a,
0x17,0x32,0xc0,0x8a,0xcc,0x58,0x71,0x8c,0x07,0xd0,0x13,0x27,0x63,0x23,0x19,0x00,
0xfb,0x94,0x23,0xb8,0x2d,0xf5,0x2b,0x1b,0xfd,0xc5,0xa0,0x82,0xf0,0xf1,0x32,0x6c,
0xb5,0xa9,0x54,0x56,0xb2,0x81,0x7f,0xc9,0xa7,0xdc,0x6e,0x94,0xcb,0x76,0x5f,0xfa,
0x32,0x4a,0xc2,0x1d,0xcb,0x74,0xa1,0xac,0x55,0x4b,0x2e,0xb9,0x27,0xbd,0x0d,0xd2,
0x46,0xb2,0xd7,0xcb,0x60,0xe9,0xa5,0x41,0xba,0xe9,0xf6,0xb7,0x03,0xce,0x97,0xae,
0x31,0x65,0x13,0xca,0x0e,0x65,0x86,0x88,0xdd,0x78,0x0f,0x4f,0x4f,0x4f,0x3d,0x13,
0x1c,0x98,0x0f,0xff,0x62,0x38,0xf0,0x0b,0x00,0xee,0x24,0xfe,0xd2,0x45,0xba,0x25,
0x7e,0xea,0xe2,0x20,0x28,0x38,0xfc,0xb8,0xc1,0xd5,0x88,0x4b,0xb4,0xbe,0x4a,0x6a,
0x51,0xf1,0x58,0xce,0x4f,0xef,0xac,0x9b,0x9b,0xd7,0x2f,0x3c,0xeb,0xe9,0xcf,0x1f,
0x7f,0xb4,0x5e,0x3d,0x7d,0xfd,0xc6,0xf7,0x7d,0x17,0x11,0x8a,0x35,0x85,0xa4,0xe9,
0xf9,0x7d,0xf3,0xf2,0x85,0xa9,0xa5,0x44,0xfd,0x11,0xfb,0xa1,0x13,0x42,0x27,0x9d,
0xd7,0xc8,0xbb,0x86,0xde,0x86,0x69,0xf6,0x31,0x3c,0x90,0xd1,0xd0,0xb1,0x6d,0xfd,
0xd7,0x7f,0xd2,0x00,0x2f,0x0d,0xd4,0xdb,0x24,0xba,0xb9,0xf4,0xbb,0xa9,0xf5,0xd8,
0x3e,0x76,0x0e,0x13,0x5f,0x47,0x9d,0xbe,0xf4,0x58,0xaf,0x71,0x1e,0xb6,0xad,0x5a,
0x52,0x0f,0xac,0x58,0x6d,0x07,0x84,0xe0,0x44,0xb1,0x33,0x2a,0x48,0x75,0x19,0x1b,
0x67,0xab,0x89,0x4d,0x48,0x05,0x96,0x0b,0x25,0x77,0xc7,0xaa,0xe6,0xe6,0xb0,0x2e,
0xee,0x2d,0x03,0xde,0xd5,0x5d,0x2e,0x96,0x4e,0xb0,0x80,0xa9,0xaa,0xab,0x15,0x71,
0x1b,0x62,0xb3,0x13,0x24,0xdb,0x48,0x25,0x85,0x68,0x25,0xa2,0x92,0xbd,0x91,0x31,
0xa5,0x5f,0xd9,0x06,0xa4,0xca,0x27,0x22,0x4f,0x0e,0xf4,0xac,0x03,0xbe,0x35,0xfb,
0x1b,0xf2,0xdf,0xdf,0xd0,0x25,0x04,0xb2,0x19,0x08,0xd7,0xf2,0xa5,0xda,0xf0,0x49,
0x5e,0x8f,0x8e,0x0e,0x1b,0xac,0x87,0xa0,0x4b,0x64,0x32,0x02,0x58,0x50,0x06,0xf6,
0x51,0x8a,0x9c,0x90,0xba,0xf2,0x09,0x0c,0x93,0xa3,0x0e,0xba,0x8b,0x54,0x19,0xe8,
0x9a,0x96,0x9a,0x0d,0xfb,0x34,0xe2,0x91,0x47,0x2d,0x0d,0x40,0x49,0x67,0x91,0x32,
0x70,0xb6,0xeb,0x61,0x10,0x0c,0x4f,0xf1,0xdb,0xeb,0xe4,0xab,0x07,0xf4,0xf5,0x6e,
0x91,0xa2,0xa8,0xe2,0x13,0x1f,0xfe,0x0d,0x5b,0xdd,0x6f,0xf0,0x05,0x4e,0x41,0x0d,
0x48,0x32,0x62,0xbc,0xad,0xd2,0xb0,0x12,0x4e,0x00,0xcc,0xbd,0x60,0x13,0x9e,0x50,
0x8e,0x1a,0x02,0x5f,0x9d,0xa9,0x36,0x34,0x9b,0xd4,0x89,0x14,0x49,0xca,0x51,0xa9,
0x09,0x04,0xab,0x29,0x13,0x01,0xd1,0x9d,0x03,0x7a,0x83,0xb6,0x32,0x2a,0xd8,0x1e,
0x7a,0xe0,0x1d,0x1e,0x72,0x3d,0x8b,0x01,0x1e,0x40,0x71,0x60,0x9b,0x7c,0xa3,0x4c,
0xa5,0x87,0x4a,0x1f,0xc9,0x01,0x95,0x3b,0x49,0x8c,0x82,0x16,0xca,0x32,0xd2,0x60,
0xad,0xca,0x45,0x38,0x64,0x2c,0xf9,0x65,0x31,0x2f,0x85,0x06,0xb8,0x2d,0x9c,0x0b,
0xdc,0x3e,0xe3,0xf9,0xad,0x2f,0x45,0xe5,0x50,0xdb,0x10,0xc2,0x35,0x84,0x5f,0xda,
0xa4,0x8c,0x42,0xfa,0x0e,0x53,0x88,0xba,0x60,0x32,0x72,0xc5,0xfd,0x48,0x42,0xb0,
0xcd,0x80,0xb8,0x32,0x46,0x59,0xfa,0x09,0xbc,0x21,0x1f,0x0b,0x5d,0x55,0xfd,0x8c,
0x6c,0x81,0xa3,0x27,0xa0,0x1f,0x42,0xb7,0x03,0x2f,0x44,0x6e,0xd7,0x0e,0x68,0xb6,
0x50,0x16,0xd0,0xb2,0x36,0x12,0x20,0x47,0x91,0x16,0x7c,0xe6,0x76,0x92,0x3e,0xfa,
0xf2,0xcc,0x3d,0x3a,0x6a,0xec,0x99,0xbb,0xee,0x99,0xd5,0x50,0xd9,0x3e,0xdc,0x4a,
0xb3,0xa8,0xa2,0xe3,0x07,0x86,0x6f,0x7e,0xd4,0x32,0xe7,0x82,0x41,0x5e,0x8a,0xd7,
0xc4,0x1e,0x01,0x99,0x72,0x47,0xd4,0x81,0x8b,0xac,0x32,0x36,0xb2,0x76,0x02,0xd6,
0xdd,0x12,0x8b,0xea,0x8e,0xdf,0xa1,0x6a,0x57,0x86,0x03,0xf1,0x76,0x1b,0xfd,0xe5,
0xe6,0xdd,0x4f,0x20,0xb4,0xe8,0x28,0xf3,0xe9,0xca,0xf9,0x94,0x7b,0x06,0x6f,0x1d,
0x1d,0x35,0x7a,0xc6,0x6b,0x38,0xf3,0x33,0x41,0x02,0x17,0xbc,0x3d,0x8c,0x22,0x65,
0xce,0x15,0xce,0xb5,0x71,0xbf,0x6d,0x50,0x6e,0x5c,0x51,0x05,0xa7,0xb0,0x5f,0x54,
0x62,0x45,0xf3,0x35,0xb8,0xc3,0x20,0x01,0xd2,0x46,0x7b,0xa3,0x53,0x85,0x58,0x5a,
0x06,0x93,0x2e,0x1b,0x2a,0x91,0x60,0xc0,0x48,0x88,0x7c,0xf5,0x2d,0x4c,0x49,0xd4,
0x13,0x6d,0x10,0x12,0xc0,0x3a,0x87,0x8b,0x54,0x3f,0x7e,0x7c,0xfb,0xa6,0x41,0xfc,
0xb5,0x0d,0x7a,0xe6,0x32,0xe3,0xdd,0xb2,0x60,0x3e,0x6f,0x32,0x86,0xdb,0x1d,0x49,
0x83,0x2b,0x8c,0xd3,0x5b,0x0d,0xd9,0x54,0x0d,0x61,0x17,0x5b,0x02,0x8d,0xf7,0x68,
0xcf,0xb2,0xd5,0x68,0xbe,0xfd,0x9a,0xca,0x57,0x8f,0x37,0x98,0x40,0x7d,0x90,0xf1,
0xa8,0x09,0x6c,0xb0,0x75,0xb2,0x66,0x2a,0xb6,0xc1,0x2b,0xd8,0x0d,0x4a,0x32,0x6e,
0x6e,0xdf,0x05,0x7d,0x70,0x05,0xaa,0x9d,0x1f,0x8f,0xdc,0x63,0x5b,0x43,0xd6,0xbb,
0x9a,0xae,0x8b,0xda,0xc7,0x4d,0x72,0xc2,0xe9,0x50,0xf9,0x2b,0x39,0x1b,0xa0,0xb4,
0x1b,0x72,0x5f,0x77,0x0f,0xa9,0x63,0x88,0xf1,0x9b,0x05,0x7a,0xbb,0xc0,0xb6,0xdd,
0xce,0x96,0x8a,0x43,0x60,0x23,0xbe,0xbd,0x81,0x25,0x8b,0x6f,0xb2,0xf4,0xb6,0x6b,
0x03,0xbb,0x97,0xb7,0x48,0x58,0xd6,0x4b,0x77,0x5f,0x49,0xde,0x6e,0x32,0x15,0xb6,
0x81,0x1f,0xea,0x92,0x00,0xd0,0x3f,0x8d,0x3e,0x77,0xf4,0xa0,0xbc,0x9b,0x31,0x11,
0x36,0xaf,0x9f,0xe3,0x64,0x1f,0x54,0x21,0x44,0x46,0xb7,0x91,0xe1,0xc5,0xc0,0x99,
0x8e,0x5c,0xe1,0xa1,0x67,0xee,0x6e,0xf4,0xc2,0x96,0xa7,0x20,0x9e,0x62,0x79,0x42,
0x3b,0x38,0x19,0x6f,0x48,0x84,0x2c,0x00,0xba,0xc2,0x41,0x4b,0xf4,0x8e,0xd2,0x51,
0x8e,0xa2,0x8a,0x0f,0xb6,0x57,0xed,0xc9,0x3d,0xe9,0xef,0x12,0x4b,0x03,0x96,0xb4,
0x36,0xd9,0xb8,0x5a,0x71,0xc0,0x39,0x93,0xb8,0xec,0xe9,0x72,0xcd,0xbc,0x60,0xec,
0x8b,0x29,0xec,0x06,0xc6,0x00,0x3e,0x62,0x3a,0x58,0x60,0x16,0x37,0x51,0x84,0x75,
0xf4,0xbc,0xab,0x08,0x66,0x5c,0xdb,0x64,0xf7,0x65,0xa3,0x00,0xa8,0x03,0x50,0xd2,
0xa0,0x4d,0x55,0x24,0x2c,0x94,0x07,0x4c,0xf5,0x5f,0x46,0x84,0x90,0xde,0x03,0xb6,
0x74,0x60,0xa6,0x05,0xa8,0x89,0x2e,0x20,0xd9,0x5d,0x34,0xbc,0xd4,0xba,0x34,0x66,
0x13,0x8c,0x76,0x00,0x86,0x66,0xb5,0x36,0xba,0x02,0x33,0xb3,0x2a,0x35,0xa3,0x72,
0x29,0x86,0xe5,0xf5,0x53,0x95,0xe3,0xe5,0x10,0x8c,0xe3,0x76,0x37,0x29,0x86,0x6f,
0x98,0x0e,0x06,0xc5,0x0f,0x16,0x60,0xce,0xf3,0x45,0xcd,0x74,0x16,0x05,0x93,0x14,
0x60,0x77,0x32,0xcc,0x89,0x54,0x2c,0xa9,0x62,0x98,0xdb,0xd5,0x77,0x86,0x09,0x37,
0x60,0xfe,0xd2,0xd8,0x59,0x30,0xd8,0x68,0x5a,0xf1,0x0a,0xa0,0xbd,0x8b,0x1c,0x7c,
0xf0,0x2f,0x47,0x47,0x5f,0xc8,0x3d,0x61,0xa0,0xb7,0x6c,0x14,0x69,0x88,0xf9,0x1c,
0x35,0x84,0x0e,0x8b,0xf4,0x3e,0xec,0xfb,0xfb,0x2f,0x7e,0x3c,0x2b,0x2e,0xa3,0x8b,
0xd3,0x53,0xd7,0x23,0xc4,0xd6,0x51,0x91,0x37,0xab,0x8d,0xa9,0xde,0x2d,0x3c,0xb8,
0xfe,0xa4,0x1e,0x78,0x5f,0x24,0x91,0xbf,0x80,0x2b,0x06,0xff,0x40,0xc4,0xf9,0x99,
0x70,0xe8,0xd8,0xf7,0xb6,0x0b,0x18,0xf6,0x72,0x6f,0xe1,0x2d,0x95,0xf2,0xac,0x01,
0x08,0x0c,0x80,0xdc,0x35,0x85,0x41,0x75,0x88,0xfe,0x34,0xbd,0x65,0x58,0x5f,0x9f,
0x81,0x37,0x1a,0xa0,0x4b,0xea,0x2a,0x53,0x72,0x0b,0x67,0xaa,0x18,0x4a,0xb9,0x81,
0xb8,0x8b,0x8e,0xaa,0x6e,0x43,0xb8,0xad,0x36,0x30,0x87,0x45,0xae,0x4e,0x80,0x4f,
0xc6,0xe4,0x1c,0xd4,0xc6,0x18,0x34,0x00,0x66,0x48,0x24,0x9c,0xa4,0x2f,0xc6,0x52,
0x86,0x70,0x03,0x92,0x3a,0x15,0x2a,0x6a,0x20,0x95,0xae,0xc2,0xc7,0x86,0xfe,0x41,
0x5c,0x23,0x4f,0xd9,0xc7,0xf9,0xb1,0x7d,0x94,0xd2,0x3b,0x1a,0xa1,0xf5,0x7a,0x6a,
0x64,0xf4,0xf1,0x5d,0x43,0xa1,0x82,0x0f,0x98,0xea,0xf5,0x32,0xc2,0x58,0x6b,0x48,
0xac,0x46,0x1f,0xd9,0x14,0x36,0xc7,0x0d,0x37,0x05,0xaa,0xda,0x6d,0x46,0xc7,0x30,
0x85,0xce,0x6b,0xd3,0x7c,0x9d,0xdc,0x7b,0x2f,0x85,0xdf,0x6e,0xdd,0x49,0xe0,0x83,
0xa6,0x94,0x71,0x16,0x08,0x87,0x03,0x9e,0x0b,0xa0,0x44,0xa5,0x09,0x25,0x66,0xe4,
0x43,0x94,0xd9,0xac,0x98,0xc4,0xd9,0x09,0x22,0x48,0x05,0xea,0x18,0xe7,0xcb,0x1a,
0x85,0x2b,0xf5,0x96,0xed,0x13,0x9a,0x36,0xe4,0xed,0x00,0xb2,0x0c,0xf6,0x90,0xf9,
0x3c,0xdb,0xc0,0x9e,0x81,0xdc,0xe2,0x56,0xa9,0xad,0x45,0x64,0x77,0x0e,0x47,0xbe,
0x81,0x6d,0x4f,0xd4,0xe3,0x1d,0x48,0x27,0x9c,0xe5,0xa8,0x51,0x6e,0xf6,0xe2,0xc7,
0x93,0xa1,0x20,0x62,0xe8,0x72,0x5c,0xb5,0x3a,0xdf,0xbe,0x8c,0xb5,0x62,0x1d,0xf3,
0xd9,0x40,0xe5,0xe5,0xec,0xe3,0xc5,0xb1,0x8d,0x16,0x64,0x81,0xdc,0x10,0x5f,0x7d,
0x6f,0xcd,0x71,0x52,0x94,0x2b,0xb4,0x08,0xe5,0xaa,0x55,0xc6,0xcd,0x49,0xdd,0xb2,
0x5e,0x93,0x2a,0xc6,0xd9,0x2a,0x59,0x2c,0xcd,0x14,0x80,0xf7,0x71,0x47,0xe9,0x45,
0xd3,0xb4,0x5b,0x7a,0x99,0x52,0xaa,0x57,0xea,0x09,0xdf,0x6e,0x9c,0x30,0xdc,0x14,
0xb4,0xe5,0x0e,0x55,0xae,0xfd,0x0d,0x98,0xe0,0xb4,0x88,0x46,0x24,0x23,0x8e,0xfb,
0x21,0x68,0x93,0x7b,0xc2,0x1d,0x21,0xd8,0xb5,0x3d,0x9d,0x7f,0x52,0x60,0xd3,0x6b,
0xb2,0x8d,0xad,0xda,0xb1,0x8e,0xea,0xac,0xc4,0x9d,0xa9,0x4e,0xbf,0x1a,0x95,0x21,
0xdc,0x05,0xae,0x03,0xdb,0xb2,0xaa,0xea,0xef,0xab,0xad,0x40,0xc3,0x4f,0x3b,0x19,
0x07,0x17,0xca,0x89,0xcb,0x88,0xd4,0xcb,0xfd,0x3d,0x06,0x64,0x52,0xc8,0xda,0x52,
0xa1,0x92,0xa1,0xdd,0x5c,0xf4,0xbc,0x53,0x8e,0x92,0x1c,0x13,0x58,0x92,0xff,0x96,
0xca,0x56,0xa9,0x4b,0x3a,0x4b,0x64,0xe5,0x25,0xb6,0xa2,0xb6,0x31,0xda,0xb5,0xfd,
0x9c,0x5e,0x79,0x30,0x03,0x37,0xba,0x33,0xe8,0xff,0x84,0x92,0xe3,0x33,0xf0,0x99,
0x7c,0x15,0x0e,0x12,0xa8,0xa8,0x6c,0x75,0xa3,0x05,0x9c,0x4b,0x6d,0x22,0x9d,0x7d,
0x50,0xb2,0x3c,0x59,0xa8,0xc4,0x00,0x19,0xdf,0xab,0x1a,0xc2,0x76,0xd8,0x81,0x76,
0x47,0x09,0xf9,0x44,0x2a,0x07,0x33,0xa1,0x0d,0xf3,0x74,0xe8,0x69,0x1c,0x66,0x63,
0x57,0x13,0x41,0x00,0xcc,0x57,0x08,0xcc,0xc7,0xcb,0x70,0xa2,0x2a,0x80,0x6b,0x2a,
0xdf,0x56,0x66,0x56,0x9a,0x34,0xc5,0x13,0xba,0xc1,0x26,0xc6,0x54,0xfe,0xa2,0x92,
0xaf,0x63,0x80,0xf1,0x0d,0x00,0xb0,0x3b,0x3e,0x8b,0xeb,0xa2,0x02,0x2a,0xf0,0x72,
0x5c,0xc4,0x70,0x57,0x8e,0x16,0x77,0x11,0x67,0x60,0x8c,0xe6,0x1c,0xd4,0x68,0x3e,
0x33,0x4c,0x11,0xf1,0x5a,0xad,0x83,0xf7,0x1d,0xcb,0x8f,0x8e,0xd4,0x6f,0x1e,0x70,
0x71,0x43,0x87,0x3d,0x97,0x67,0xe9,0xe0,0x7e,0xc7,0x12,0x9f,0x92,0x6f,0x14,0xcb,
0xd5,0x04,0x3e,0xe5,0xfa,0xf6,0x7a,0x8d,0x28,0x59,0x60,0xf1,0x66,0x11,0xf8,0x49,
0x37,0x54,0x05,0x23,0x2e,0xf5,0xaa,0xfe,0x8a,0x0f,0x88,0x3b,0x78,0x50,0xdc,0xb6,
0x91,0x8b,0xe8,0xfe,0xde,0x81,0x1c,0x22,0xbf,0xd8,0x9f,0x08,0x81,0x30,0x44,0x76,
0xd3,0x1a,0x38,0xe5,0x5f,0xc1,0x3e,0x63,0x9b,0x17,0xbe,0xbc,0xcf,0xcb,0x00,0x0b,
0x58,0xce,0xa9,0x47,0xff,0xbb,0x9d,0x17,0xf6,0x40,0x34,0x9a,0xd7,0x65,0xc1,0x5f,
0xa9,0x86,0xb2,0x3e,0x17,0xe0,0x69,0x61,0x7f,0x80,0x18,0xb7,0x01,0x16,0x93,0xd2,
0x1d,0x97,0x0b,0x5f,0x23,0xf7,0xe5,0x74,0x8c,0xd7,0x14,0xb0,0x02,0xc7,0x67,0x7e,
0xc5,0xd0,0xb2,0x3c,0xcd,0x32,0xba,0x1d,0xbe,0xb9,0x3f,0x43,0xa7,0x4c,0xde,0xb5,
0x22,0xf4,0x81,0xe9,0x5e,0xc3,0x9d,0x9b,0x03,0xd8,0x57,0x36,0x79,0x5e,0xcc,0xe7,
0xc0,0x66,0x5a,0x9b,0x6c,0x26,0xf8,0x8b,0x00,0x98,0x36,0x42,0xfb,0xbb,0x6b,0xd7,
0x2e,0x78,0xf2,0x79,0x03,0x5e,0x9b,0x85,0x29,0x6e,0xaf,0xd5,0x4b,0xff,0xbe,0xca,
0x10,0x3b,0x6e,0xd0,0x8e,0xe0,0x6f,0x4f,0xe8,0x97,0xf1,0xe5,0xc9,0xd2,0xdd,0xea,
0x24,0x10,0x30,0xd5,0xd4,0xb8,0x35,0x29,0x78,0xe8,0x3a,0xf2,0x9e,0x44,0x29,0x72,
0x09,0x5e,0x9e,0xd2,0xbd,0x11,0xb8,0x6c,0xf8,0xf7,0xfe,0xfe,0xd3,0x67,0xd7,0x9f,
0x42,0x8c,0xc8,0xaa,0x4e,0x32,0x52,0x01,0x25,0xc8,0xfa,0x6f,0x5c,0x6f,0x2b,0xf8,
0xc3,0xd5,0x04,0xbe,0xca,0x45,0xa6,0xd2,0x75,0xa6,0xa4,0xbd,0xca,0xb0,0x9a,0xfc,
0x91,0x36,0x9e,0x75,0x93,0x58,0x5e,0x63,0xd5,0x38,0x48,0x7d,0xfc,0xe3,0xa1,0x7e,
0x08,0x12,0x1f,0xff,0x6c,0xb4,0x4f,0xa2,0xf2,0xb6,0xee,0xba,0x5c,0xd4,0x8e,0xac,
0x06,0xc0,0x54,0x60,0x58,0xb9,0xc6,0x0d,0x9b,0x71,0x99,0xc1,0xf5,0xe4,0x7a,0x57,
0xb9,0xc6,0xaa,0xf4,0xbd,0x05,0xc8,0xa2,0xbc,0xb6,0xdf,0xe5,0xa8,0xc8,0x24,0x50,
0xe8,0x28,0xe7,0x4d,0x6f,0x3d,0x8e,0xaa,0xcf,0x3a,0x5d,0xa6,0x75,0xdc,0xe4,0x7a,
0x72,0xec,0x4c,0x40,0x47,0x8d,0xc0,0x23,0x50,0xc5,0x83,0x40,0x7f,0x12,0x68,0xe5,
0xa5,0x19,0x82,0xc1,0xbc,0x40,0x62,0xab,0xaf,0xae,0xde,0x28,0x05,0x7b,0x22,0xf5,
0x8f,0xbc,0x01,0xaa,0xbb,0x62,0x3a,0x05,0x05,0xf7,0x6e,0x3a,0x05,0xd5,0xd4,0x8e,
0x62,0x29,0x51,0x0e,0x93,0x5f,0xae,0xca,0xe5,0x7b,0x4a,0xe5,0xb0,0xb2,0x99,0xa9,
0xbb,0x41,0x7c,0xed,0x96,0xa1,0x3b,0xa8,0x12,0xfc,0xda,0xc3,0xa3,0xd4,0x40,0xb5,
0x33,0x35,0xe0,0xa9,0x3c,0x0a,0x75,0x6b,0x63,0x9a,0x20,0x5d,0xcc,0xc7,0x28,0xd9,
0xaa,0x44,0x70,0x1b,0xb6,0x95,0x03,0xfc,0xe4,0xcf,0xe3,0xf2,0x5b,0x7c,0xa3,0x13,
0x4e,0xe8,0x4e,0x99,0x11,0x36,0x8e,0x4d,0xe2,0xee,0x98,0xf4,0x24,0x69,0xd7,0xad,
0x50,0x58,0x28,0x13,0x8d,0x7c,0x5d,0xec,0xd5,0x67,0xb2,0xb2,0x0f,0x8c,0xf0,0x3b,
0x91,0xb2,0x36,0xcd,0xe3,0xbd,0xb3,0xa4,0x9b,0x02,0x33,0x7f,0x8b,0x84,0x5f,0xc1,
0x5d,0xae,0xa2,0xe1,0xc3,0x87,0xd7,0x0f,0x82,0xe6,0xdb,0xc5,0xa3,0xeb,0xf3,0xf6,
0xdb,0xa3,0xc7,0xd7,0x67,0x81,0x4a,0x1e,0x15,0x32,0x4b,0x11,0x89,0x46,0x22,0xd4,
0xf5,0x4d,0xcd,0x54,0x28,0x33,0x3e,0xf6,0xc9,0x5f,0xd2,0x07,0xea,0xc1,0xbd,0x01,
0x7c,0x1b,0xa0,0x77,0xc6,0xe9,0x15,0x02,0x61,0x1f,0xff,0x06,0x0e,0x1a,0x18,0x30,
0xcc,0x4d,0xf0,0xf9,0x4c,0x35,0x75,0x51,0x7f,0x42,0x34,0x10,0x7c,0x96,0xc7,0xc8,
0xe0,0xbf,0xb5,0xce,0x17,0x44,0x67,0x0f,0x60,0x47,0x0e,0x9b,0xf2,0x3d,0x7f,0x54,
0xf8,0xad,0x21,0xa3,0x7c,0x9f,0x0c,0x89,0x3b,0x19,0x44,0x23,0x72,0x1e,0xef,0xf2,
0xb0,0x7a,0x85,0x17,0xbd,0x60,0x92,0xde,0xa2,0x8a,0x94,0x79,0x99,0xb0,0x2d,0xc6,
0xd0,0x8b,0xab,0x8e,0x0e,0xa9,0x21,0x12,0x37,0x91,0x37,0xa6,0x99,0x8a,0x81,0x76,
0x84,0xd8,0x2d,0xdf,0xc9,0xfe,0xd4,0x36,0xa5,0x76,0x48,0xec,0x25,0x03,0x5f,0x35,
0x07,0x9b,0x43,0xdb,0x09,0xc6,0xf3,0xcb,0x47,0x94,0x51,0xc5,0xd4,0x9e,0xce,0x62,
0xf5,0x2e,0xe1,0x4a,0xe8,0x0f,0xcc,0x3a,0x2c,0xa8,0x24,0x96,0x79,0x77,0x54,0x15,
0xd0,0x09,0x2b,0x08,0xdf,0xee,0x5c,0xfd,0x25,0xba,0x33,0xa6,0xcb,0xdd,0xd7,0x2d,
0x18,0x26,0x4e,0xdb,0x3b,0x12,0x95,0xdf,0x70,0x51,0x63,0x22,0xa6,0xc6,0x9f,0xc7,
0x70,0x6c,0x70,0x2b,0x6c,0xf7,0xda,0x46,0xb5,0x6f,0x4d,0x19,0x78,0x75,0xa0,0x05,
0xe8,0x0b,0xbe,0x59,0x60,0x1f,0x37,0x72,0xaa,0x6e,0xb3,0x39,0x68,0x0f,0xd9,0x43,
0x9e,0xfe,0x59,0x75,0x31,0x9b,0x65,0x4c,0x9d,0x14,0x4a,0x50,0x37,0xb2,0x86,0x41,
0x3b,0x53,0x37,0x5a,0xd7,0x03,0x93,0x6d,0x09,0x20,0xa4,0xe8,0xef,0x20,0x77,0x51,
0xb4,0xd1,0xfa,0xed,0x0c,0xbb,0x22,0x30,0x07,0x0f,0x5c,0x5f,0xe0,0x46,0xce,0x00,
0x93,0xde,0xf0,0xdf,0x80,0x9c,0xf6,0xc1,0x52,0x7d,0xf3,0xac,0xb3,0xd3,0xb3,0x8b,
0xe1,0xe9,0x93,0xe1,0xd9,0x99,0x8b,0x5d,0x64,0xb2,0x13,0xc5,0xc2,0x1f,0xd1,0x11,
0xca,0xbf,0xc7,0x54,0xa5,0x99,0x9e,0x87,0x73,0x95,0xa2,0x40,0xeb,0x21,0xee,0xef,
0xb1,0xb4,0x80,0x05,0x46,0xf8,0xd4,0x60,0x83,0x7e,0x48,0xe5,0x1d,0xfe,0xfc,0xcb,
0xd5,0x70,0xd4,0xd4,0x49,0x88,0xbd,0x61,0x57,0x07,0x15,0x0c,0x8f,0x4e,0xbd,0x0c,
0x18,0xb4,0x2e,0xde,0x60,0xaf,0xfb,0x73,0xb8,0x21,0x50,0x99,0x5f,0xf6,0x51,0x1a,
0xf2,0xe3,0x63,0x57,0x27,0x2f,0x9b,0x87,0x9f,0xf8,0xe7,0xee,0x4a,0x00,0x22,0xd3,
0x07,0x99,0xb3,0xcc,0x0a,0x8c,0xdd,0x61,0x22,0x64,0x2b,0xbc,0xa8,0x51,0x09,0xa0,
0xcb,0xf5,0xd8,0xcf,0x07,0x63,0x3c,0x77,0x5c,0xcd,0xec,0xd8,0x85,0xdb,0xcf,0x05,
0x85,0x72,0xdc,0x10,0x80,0x3c,0xd4,0xa5,0xd6,0x1c,0x1c,0x4c,0xf8,0x7b,0x3d,0x02,
0x9f,0xac,0x05,0x25,0xef,0xb2,0x33,0xa0,0x58,0x15,0x3c,0x96,0x91,0x5a,0xd8,0x93,
0x59,0xaa,0x96,0x61,0x32,0xcb,0xa5,0x9c,0xab,0xb5,0x2d,0xc3,0x07,0x12,0x08,0xf0,
0xdd,0xf6,0xf3,0x9e,0xa9,0x1a,0x76,0xde,0x25,0x94,0xa0,0x00,0xff,0xc9,0xc7,0x98,
0x22,0xda,0xbd,0x1d,0x95,0x94,0x77,0xa3,0xaa,0xb3,0x89,0x7a,0x5e,0xe4,0xd4,0xb1,
0x65,0xee,0xd0,0xb9,0xa0,0x9c,0xac,0xae,0xa4,0x27,0xd3,0x33,0xa3,0xfc,0x5c,0x2e,
0x9d,0x22,0x27,0x72,0xb5,0x73,0x49,0xb1,0x17,0xf9,0xb5,0x4d,0x8e,0x6a,0x60,0x37,
0x71,0x91,0xa2,0x57,0xb9,0xec,0x97,0x61,0x70,0x32,0xd0,0x89,0x29,0x49,0xb6,0xc3,
0x66,0x96,0x60,0xf5,0xd3,0x1a,0xee,0x00,0x66,0x02,0x05,0xd2,0x68,0xd5,0xb5,0xbd,
0x42,0x26,0xde,0x9a,0xb9,0x3b,0x50,0x02,0xe0,0xf5,0xe0,0x02,0x1f,0xa3,0x81,0x87,
0x84,0xba,0xb9,0x0a,0x91,0x52,0x33,0x1e,0xa5,0x7a,0x77,0xe3,0x12,0x7f,0x57,0x2b,
0xea,0xd7,0xb5,0xbc,0x52,0x3b,0x6f,0x94,0x35,0xd2,0x5c,0x8f,0x21,0x2f,0xbd,0x9d,
0x65,0x74,0x2d,0x61,0x24,0xa7,0x22,0x5c,0xad,0x5e,0x11,0xef,0x23,0x97,0x18,0xa2,
0xe1,0x17,0xc5,0x44,0xaa,0xde,0xab,0x72,0x5c,0x70,0xe6,0xd1,0xd1,0xa1,0x51,0x80,
0x03,0xab,0x34,0x77,0x6c,0x9d,0xe8,0x28,0xac,0x01,0x28,0x40,0x72,0xed,0x06,0x58,
0x12,0xb9,0xfe,0xd7,0xfc,0x5f,0xf3,0x8f,0x4d,0xbe,0x69,0x89,0x15,0x24,0x4c,0x3a,
0x61,0x2b,0x46,0x59,0xe4,0x89,0xcc,0x4f,0x19,0x4d,0xda,0xcd,0x7f,0x36,0x9f,0xaa,
0x50,0xb2,0xd3,0xc3,0x9a,0xf0,0x29,0xbd,0x60,0x52,0xb7,0x91,0x34,0x2a,0x3a,0x6c,
0x8f,0x47,0x9d,0x58,0x40,0x50,0xeb,0x1a,0xf9,0xb4,0x32,0xa2,0xf6,0x1c,0xa3,0xb8,
0xed,0x11,0x46,0x23,0x88,0xa5,0xf3,0x89,0xa3,0x12,0x6c,0x47,0x48,0x10,0x35,0xd4,
0xef,0x4a,0x38,0xc6,0x2b,0x5f,0xdb,0x47,0x2a,0xad,0x1e,0x8d,0x28,0xad,0x44,0x78,
0x7b,0xff,0xca,0xc7,0x1f,0x9a,0x53,0xe5,0xa7,0x71,0x8d,0x5e,0x4b,0xb9,0xa3,0x68,
0xae,0x15,0xd5,0x61,0x82,0xbf,0xb9,0x65,0x50,0x26,0xc1,0xd7,0xdd,0x8b,0xaa,0x6d,
0x64,0x31,0x88,0x22,0xad,0x68,0x4f,0x38,0x4d,0xc8,0xd0,0x6b,0xdb,0x5d,0xdc,0x0c,
0x55,0x6b,0x47,0x08,0xcc,0x47,0x03,0xad,0xca,0x90,0x65,0x10,0x64,0x0a,0x59,0x27,
0xc1,0x8a,0x34,0x21,0xa1,0x29,0x05,0xc1,0x77,0xa2,0x25,0x50,0xc6,0x35,0x72,0xb6,
0xfa,0xb7,0xfb,0x74,0x4a,0x15,0x17,0x05,0x89,0x4a,0x97,0x97,0x98,0x36,0x5d,0xa6,
0x2b,0xfc,0x13,0xcf,0x8a,0xe0,0x54,0xa7,0x4a,0x28,0x5b,0x4a,0xbf,0xe7,0x46,0xce,
0x81,0x67,0x08,0x06,0x02,0x41,0x6c,0x44,0xe5,0x6a,0xaa,0x6d,0x92,0x1b,0xdd,0x9a,
0xac,0x79,0xbc,0xb2,0xc6,0xb2,0x41,0x5a,0xb6,0x19,0x07,0x16,0xfd,0x06,0x9c,0x99,
0x28,0x0c,0x7a,0x98,0xdb,0x68,0x81,0x9c,0x92,0x38,0x4a,0xd3,0x15,0x99,0x2d,0x06,
0xcc,0x07,0xf1,0xbd,0x03,0x06,0x7a,0xc1,0xa6,0xf1,0x22,0xab,0x01,0x34,0x92,0xbb,
0x8e,0x24,0x62,0x7d,0x81,0xae,0x36,0x6e,0x8c,0x5a,0xc3,0xea,0xaf,0x64,0xe1,0xae,
0xe5,0x73,0xe2,0xf1,0xd7,0x53,0xb3,0xa9,0x9b,0xab,0x4a,0x28,0xe6,0x2c,0x34,0xef,
0xea,0x8e,0xbe,0x2d,0x76,0xb7,0x9b,0x8a,0x8d,0xce,0xb4,0x13,0xdb,0x7f,0x95,0x6d,
0xd5,0x5d,0x7e,0xd6,0x2c,0x37,0xf6,0xfa,0x5d,0x1b,0xd7,0x7d,0xb6,0x6e,0x9b,0xcf,
0x5e,0xbc,0x7c,0xf3,0xf2,0xe3,0x4b,0xbb,0x6d,0x1a,0xdb,0xc7,0xa3,0x2a,0x47,0x86,
0x6c,0x7a,0x6d,0x63,0x11,0xa7,0xa8,0x2d,0x79,0xcd,0x60,0x9b,0x55,0xe5,0xac,0xe2,
0x16,0x68,0xa0,0x73,0x65,0xea,0x9d,0x38,0x14,0x8f,0x6f,0x50,0x5e,0x67,0xe2,0x3a,
0x94,0xeb,0x2e,0xdf,0xf4,0x23,0x6c,0x60,0x56,0x7c,0x61,0xae,0x55,0x8f,0xbc,0xad,
0x4e,0x36,0xb5,0xf9,0x6e,0x8d,0x52,0xff,0x76,0x63,0x57,0xfe,0x4f,0x68,0xaa,0x67,
0xeb,0x1a,0x98,0x7d,0xcc,0x7f,0x57,0x62,0xcd,0x5f,0xc9,0xdb,0xc2,0x83,0x8e,0x26,
0x76,0xd7,0x3b,0x75,0xb3,0x0c,0xd7,0xce,0x31,0x31,0xa7,0x02,0x17,0xcc,0x05,0x85,
0x7e,0xa6,0xbd,0x68,0xf7,0xc1,0xc6,0xb1,0xae,0x25,0xd4,0x2f,0xdc,0xed,0x4d,0xa4,
0x6a,0xee,0x40,0xc6,0xf3,0x5a,0x9c,0xf5,0x2f,0xc8,0xe1,0x18,0xa2,0x40,0xf3,0xba,
0x82,0xd5,0xd4,0x26,0x55,0xfd,0x14,0x25,0xb1,0x6a,0xde,0x8b,0xc3,0xde,0xc4,0x95,
0x6d,0x12,0x55,0xe5,0x58,0x4d,0xc1,0xa2,0x2d,0x65,0xff,0x9e,0x29,0x8c,0xa1,0x6e,
0xbc,0x81,0xab,0x26,0x19,0x95,0xb6,0x28,0x52,0x36,0x8b,0x01,0xaa,0xa5,0x4b,0xb0,
0xea,0x4e,0x16,0xc1,0x56,0xb2,0x53,0x01,0xbd,0x9a,0xa6,0xd7,0x00,0x25,0x02,0xf7,
0x52,0x0d,0x3c,0x5c,0x34,0xe6,0x01,0xc1,0xf4,0xad,0x1f,0x59,0x96,0x04,0x4d,0x93,
0xc3,0x6f,0x0b,0xb6,0x60,0x8d,0xbb,0x2a,0x9b,0x50,0x30,0x3b,0xa9,0xb2,0x88,0x35,
0xf5,0x0e,0x23,0x52,0xe5,0x2d,0xf7,0xa2,0xb4,0x23,0xfa,0xed,0x7b,0x8e,0x66,0xaf,
0xb0,0xc6,0x53,0x73,0x1d,0x32,0x18,0xa6,0xd4,0xca,0xbe,0xbf,0x1c,0x7b,0xec,0xca,
0xa8,0xa5,0xcb,0x36,0x59,0x54,0x95,0x1a,0x66,0x8e,0x42,0x49,0x22,0xb9,0x39,0xde,
0x08,0x49,0xb2,0x83,0x60,0xff,0xfd,0x6f,0xff,0x01,0xec,0xcc,0xf3,0x69,0xa1,0x59,
0x71,0x4f,0x5b,0xd7,0x89,0xba,0x69,0xaf,0x29,0x15,0xb4,0x82,0xcc,0xa3,0x19,0xf7,
0x56,0xdd,0x5b,0x5b,0xfd,0x5b,0x4d,0x92,0x01,0x18,0xad,0xf3,0x9b,0x9a,0x8e,0x4a,
0x8e,0x6f,0x3a,0x76,0x91,0xd8,0x10,0xbe,0x60,0xa2,0xdd,0x29,0xdd,0xed,0x5c,0x3e,
0x56,0x6f,0xf0,0xa3,0x5f,0xb1,0xac,0x88,0x51,0x09,0x77,0xba,0xc1,0xa4,0x60,0x21,
0x1a,0x04,0xd5,0xba,0x5b,0x0c,0x27,0x5c,0x66,0xc7,0xe9,0xdd,0x0f,0x7c,0x75,0xde,
0xa2,0xc4,0x33,0xc6,0x37,0x2a,0x97,0x8f,0xd8,0xa2,0x57,0x66,0x54,0xd7,0x76,0x53,
0x59,0x6d,0xeb,0x1f,0x8a,0x86,0xde,0x76,0x99,0x0a,0x75,0x35,0xd5,0x39,0xba,0x55,
0xa9,0xa0,0xc3,0xdd,0x8d,0x44,0x83,0xe1,0x30,0x52,0x64,0xad,0x54,0x1b,0xf9,0xb1,
0x5d,0xae,0xae,0x6e,0xc9,0xdc,0x96,0xf3,0x54,0xec,0xb5,0x5e,0x70,0xe6,0x0e,0x03,
0xa6,0x58,0x6c,0x1e,0x99,0x70,0x48,0x65,0x58,0xde,0x75,0xe0,0x90,0x83,0x45,0xa4,
0x53,0x81,0x52,0x8c,0xb1,0xed,0x52,0xa5,0xa1,0xba,0xe2,0xa9,0x3b,0x15,0x8d,0x9e,
0x4b,0x69,0xa9,0x65,0xcd,0x58,0xf7,0x40,0xa6,0x6e,0x60,0xc5,0x7a,0x27,0xd5,0xf1,
0x9f,0x37,0xef,0x05,0xf9,0xf4,0xea,0x04,0xf8,0x7e,0x75,0x0a,0xb2,0x28,0x5b,0xdd,
0xb0,0x23,0x48,0xbe,0x82,0x44,0xd8,0x4e,0x8a,0x65,0xee,0xcb,0xd6,0x34,0x58,0xa1,
0xfb,0xbb,0x9c,0xc3,0xe2,0xfe,0x7e,0x7e,0x88,0x3f,0xa3,0x8a,0x77,0xba,0xbf,0x2f,
0xef,0xe8,0x0b,0xa5,0x1a,0x25,0xe4,0x48,0xfb,0x68,0x4e,0x79,0x3b,0x7a,0x19,0xc5,
0x86,0x05,0x4d,0x16,0xcf,0xec,0x10,0x6b,0xdc,0xe3,0xf2,0x4e,0x27,0x19,0x1e,0xe3,
0x86,0xba,0x14,0x7f,0x71,0x6e,0x38,0x66,0x3f,0x42,0x90,0xdf,0x29,0x9d,0x00,0x63,
0x3d,0x46,0x45,0x78,0x71,0x4e,0xbf,0xad,0x1c,0xc3,0x8e,0x95,0xe8,0xb9,0xd0,0x08,
0xb9,0xe1,0x12,0xcf,0xdb,0x14,0xe3,0x47,0xdc,0xd6,0x44,0x27,0x0c,0x1b,0x8e,0xb1,
0x7e,0x1d,0x80,0x50,0x16,0xec,0xaf,0xce,0xfa,0x46,0x3e,0x54,0x5f,0x8b,0xfa,0x64,
0xac,0x8f,0x3b,0x93,0x93,0xa4,0x39,0xb5,0x3e,0x24,0xcf,0xbb,0x62,0x31,0xb9,0x4f,
0xe0,0x53,0x04,0x0d,0xfa,0xae,0xed,0x0f,0x92,0xe4,0x26,0x88,0x7d,0xf0,0xe4,0xfb,
0x10,0x00,0x37,0xae,0xb6,0x3e,0x30,0x2a,0x4b,0x81,0x0b,0x24,0x53,0xd0,0x8d,0x48,
0x0d,0x24,0x95,0x3b,0xb8,0x83,0x59,0xe5,0x1d,0xb8,0x49,0xaa,0xe2,0xd9,0x8a,0x2c,
0xa9,0x60,0x55,0x15,0x22,0xd5,0x7a,0x6d,0x5c,0x44,0xe2,0xa3,0xbd,0x07,0xfe,0x8c,
0xd3,0x42,0x95,0x89,0x34,0x1a,0x67,0x05,0x70,0x0f,0xb2,0x0e,0x6a,0xdc,0xa0,0x15,
0x63,0xdd,0xd8,0x20,0x95,0xfc,0xfe,0x78,0x40,0x77,0xa9,0x79,0x36,0x25,0x7f,0xa5,
0xef,0x34,0xef,0xc5,0x03,0xe5,0xdd,0x96,0xb3,0x2f,0x5f,0xc7,0xf9,0x83,0xce,0x3e,
0xf5,0xa2,0x7e,0xcb,0xdd,0xef,0xb6,0x68,0xf7,0x1d,0x76,0x64,0x49,0xd9,0xc9,0x76,
0xec,0x34,0xc5,0x85,0x5e,0x2a,0x9b,0x94,0x9e,0xc1,0x63,0x2a,0x52,0x69,0xca,0x13,
0x5b,0x9e,0x18,0x81,0x09,0x94,0x75,0xd5,0x01,0xdb,0xbe,0xb4,0xba,0x0a,0xce,0x69,
0x91,0xb8,0x17,0x52,0xb9,0x8d,0x64,0x2a,0xa5,0x47,0x74,0xa3,0xa8,0x06,0x4b,0x3a,
0x16,0xaa,0xaa,0xa9,0xb8,0xc7,0xde,0xc1,0x35,0xc8,0x34,0x81,0x6d,0xae,0x04,0x8e,
0x98,0x15,0xb8,0x1d,0x52,0xbc,0x63,0xf2,0x30,0x2b,0xd6,0x57,0x52,0x60,0xff,0xb1,
0x39,0x12,0x03,0x45,0xec,0x20,0x78,0x60,0x09,0x57,0xb6,0x4e,0x62,0xd1,0xb7,0x6d,
0x4f,0xa4,0xe6,0x18,0x55,0x9a,0xe5,0x42,0xee,0xa5,0xfc,0x03,0x72,0x2d,0xb0,0xfd,
0x44,0xc8,0x4e,0x4b,0xd5,0xc0,0x88,0xb7,0x73,0x65,0xdb,0x8b,0x53,0x7a,0x0f,0xb0,
0xfd,0xe3,0x1b,0x4c,0xe0,0x50,0x73,0x5e,0x81,0xa5,0x00,0x19,0x89,0xb9,0xad,0x05,
0x25,0xb3,0xb8,0x65,0x49,0xd7,0xea,0x17,0x9e,0x83,0xd1,0x63,0xd8,0x1b,0x22,0xa9,
0x6d,0xb3,0xa9,0x5b,0x99,0x24,0xd1,0x48,0x96,0x7a,0x7d,0x97,0x7d,0xff,0xbb,0x69,
0x5d,0xda,0x69,0xec,0xc9,0x86,0xb5,0xbe,0xb6,0xbe,0xdb,0xbc,0x2d,0x2a,0xec,0xfe,
0x5d,0x6c,0x77,0xad,0x7e,0x2b,0x7d,0x65,0x32,0xd5,0xca,0xe9,0xfd,0xba,0xf5,0x0a,
0x77,0xc2,0xf7,0x6f,0xda,0x5f,0x97,0x3f,0x91,0x3f,0x1a,0x72,0x22,0x7f,0xcb,0xfe,
0x7f,0x00,0xca,0xe6,0xde,0x64,0xdc,0x5e,0x00,0x00,
};
constexpr size_t WIFI_INDEX_HTML_GZ_LEN = sizeof(WIFI_INDEX_HTML_GZ);
// </gz:WIFI_INDEX_HTML>