@jumio/websdk 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +3 -3
- package/README.md +17 -3
- package/assets/icons/error.svg +3 -0
- package/assets/icons/success.svg +3 -0
- package/assets/style.css +1 -1
- package/index.html +2 -2
- package/index.js +799 -24
- package/index2.d.ts +1027 -2561
- package/js/da-system.CF4xYrOs.js +3311 -0
- package/js/i18n/{ar.DJCGXB2w.js → ar.G4YO_Y_p.js} +24 -4
- package/js/i18n/{az.COAR442z.js → az.-zT6np34.js} +24 -4
- package/js/i18n/{bg.BnAcaGp-.js → bg.DxM_GEeK.js} +24 -4
- package/js/i18n/{bn.D5TmwFpa.js → bn.CKeY4G7p.js} +24 -4
- package/js/i18n/{ca.BjwMAKvc.js → ca.BKTY9yUg.js} +24 -4
- package/js/i18n/{ceb.DVKMwSKX.js → ceb.JLohZjii.js} +24 -4
- package/js/i18n/{cs.D5cCPRuY.js → cs.BA2Vep8y.js} +24 -4
- package/js/i18n/{da.BuJNuhnR.js → da.B9agaK9h.js} +24 -4
- package/js/i18n/{de.rKIf4fAw.js → de.vUPfn2Oo.js} +24 -4
- package/js/i18n/{el.Bn--4b86.js → el.CZhNQ18R.js} +24 -4
- package/js/i18n/{en.D6Xcuaob.js → en.B9cSV95A.js} +24 -4
- package/js/i18n/{en_GB.uaf19-ht.js → en_GB.DjNAh_2o.js} +24 -4
- package/js/i18n/{es.Bh_iETUQ.js → es.Ch5DzQZa.js} +24 -4
- package/js/i18n/{es_MX.D2NQorYq.js → es_MX.DmW4rnyT.js} +24 -4
- package/js/i18n/{et.D2Q9r-3y.js → et.F6IvljwK.js} +24 -4
- package/js/i18n/{fi.CNjEK5fc.js → fi.CUS8RexX.js} +24 -4
- package/js/i18n/{fil.CLDV-3cS.js → fil.Z-e4hm0l.js} +24 -4
- package/js/i18n/{fr.CA8X8em9.js → fr.DwdzaTwF.js} +24 -4
- package/js/i18n/{fr_CA.CXGgnoAY.js → fr_CA.Bq8FNlJo.js} +24 -4
- package/js/i18n/{ga.C1hmAiav.js → ga.DBpKAZUR.js} +24 -4
- package/js/i18n/{he.-XKz2lD2.js → he.DMmA1ZqA.js} +24 -4
- package/js/i18n/{hi.C0KBwhQk.js → hi.Cy8wi17L.js} +24 -4
- package/js/i18n/{hr.uxoIGptt.js → hr.BZ6ug-jc.js} +24 -4
- package/js/i18n/{hu.BWv0c70l.js → hu.o-xDRGsO.js} +24 -4
- package/js/i18n/{hy.BXjLEn-o.js → hy.D32BUH4n.js} +24 -4
- package/js/i18n/{id.CAU6yYSa.js → id.C-UnIn3z.js} +24 -4
- package/js/i18n/{is.Dy4_ecmW.js → is.eMAflTw8.js} +24 -4
- package/js/i18n/{it.B3KUcD4q.js → it.CIBQ3ml4.js} +24 -4
- package/js/i18n/{ja.CaZYxC9B.js → ja.Bin9p7ZD.js} +24 -4
- package/js/i18n/{jv.CR72tAaT.js → jv.DSROGovC.js} +24 -4
- package/js/i18n/{ka_GE.Cr-1NYDP.js → ka_GE.CaM7IMJX.js} +24 -4
- package/js/i18n/{kk.Ca7tjmtN.js → kk.DcskzbbK.js} +24 -4
- package/js/i18n/{km_KH.5bzfX4fH.js → km_KH.DRNO5fkq.js} +24 -4
- package/js/i18n/{ko.BR7WjEVs.js → ko.DKRNCmSz.js} +24 -4
- package/js/i18n/{lt.DLxW84xt.js → lt.bPIia0iM.js} +24 -4
- package/js/i18n/{lv.CtzfObfK.js → lv.DIlk3g7N.js} +24 -4
- package/js/i18n/{ms.Bp0STOr5.js → ms.DEJX56Wa.js} +24 -4
- package/js/i18n/{my.-ro5sNON.js → my.DQY-gdZl.js} +24 -4
- package/js/i18n/{nl.D0LLWo_Y.js → nl.DqBWUrWI.js} +24 -4
- package/js/i18n/{no.BYKxbI4x.js → no.DIknVO0F.js} +24 -4
- package/js/i18n/{pl.DgKQ2UVD.js → pl.uacFwjGK.js} +24 -4
- package/js/i18n/{pt.BTA2Pv7x.js → pt.DnHAjNgx.js} +24 -4
- package/js/i18n/{pt_BR.BRF7M-ts.js → pt_BR.BzDKzZSl.js} +24 -4
- package/js/i18n/{ro.BPwxxMAK.js → ro.C_ugDPjB.js} +24 -4
- package/js/i18n/{ru.wspWsIPg.js → ru.CbHdcVyw.js} +24 -4
- package/js/i18n/{sk.CXAGCXtS.js → sk.DPjBeKJf.js} +24 -4
- package/js/i18n/{sl.DW87OtC8.js → sl.CXVM3eQd.js} +24 -4
- package/js/i18n/{sq.6JBP37Rr.js → sq.BwOb4h9N.js} +24 -4
- package/js/i18n/{sr_Cyrl.02dFN3jq.js → sr_Cyrl.BO2hYmw9.js} +24 -4
- package/js/i18n/{sr_Latn.BTAmz9Gv.js → sr_Latn.iMeB6lsy.js} +24 -4
- package/js/i18n/{sv.S9SZiw5h.js → sv.BElOZUsc.js} +24 -4
- package/js/i18n/{sw.VnsOTYda.js → sw.CzFrkmbC.js} +24 -4
- package/js/i18n/{th.BtdkMYDs.js → th.B8CnAYHf.js} +24 -4
- package/js/i18n/{tr.Bn9WaSgB.js → tr.CZbsef6a.js} +24 -4
- package/js/i18n/{uk.BWteiLoJ.js → uk.Di9VzU09.js} +24 -4
- package/js/i18n/{ur.Bvf95gqk.js → ur.F2L7rh71.js} +24 -4
- package/js/i18n/{uz.D8_cEsZg.js → uz.s6qLauh_.js} +25 -5
- package/js/i18n/{vi.BMi-BwuI.js → vi.vMJPCM9t.js} +24 -4
- package/js/i18n/{zh_CN.Dipv9Pqc.js → zh_CN.ConQ8v4P.js} +24 -4
- package/js/i18n/{zh_HK.DkyVCxyR.js → zh_HK.Ba4wmp5J.js} +24 -4
- package/js/logging/datadog.DrMNEV3y.js +10147 -0
- package/js/{loader.BMK4_g6C.js → pages/data.DhS_CSrV.js} +80 -3
- package/js/pages/document.CQ_B9GTj.js +1522 -0
- package/js/pages/facemap.C8DMARoY.js +3060 -0
- package/js/pages/id.CPQIHmLw.js +9485 -0
- package/js/pdfjs/{pdf-U_mH0bJO.js → pdf.U_mH0bJO.js} +1 -1
- package/js/pdfjs/{pdf.worker.min-DFxVranA.js → pdf.worker.DFxVranA.js} +1 -1
- package/js/runtime.BjZbWNSZ.js +47296 -0
- package/package.json +4 -4
- package/third-party-licenses.txt +0 -3546
- package/index2.js +0 -911
- package/js/BRAZILIAN_ID.BxztzOl2.js +0 -5
- package/js/assets_da_web_id_1_1_6.tar.B0wlC5WP.js +0 -5
- package/js/assets_da_web_liveness_1_1_6.tar.BMW6psZZ.js +0 -5
- package/js/dac.DkgyVAg0.js +0 -5
- package/js/dac_simd.CUDgtSoV.js +0 -5
- package/js/dd/datadogProfiler-BoZokRBn.js +0 -408
- package/js/dd/datadogRecorder-CW1uYAo0.js +0 -1218
- package/js/index.W6WfC45m.js +0 -67477
|
@@ -0,0 +1,3311 @@
|
|
|
1
|
+
var vE = Object.defineProperty, cB = (E) => {
|
|
2
|
+
throw TypeError(E);
|
|
3
|
+
}, OE = (E, C, d) => C in E ? vE(E, C, { enumerable: !0, configurable: !0, writable: !0, value: d }) : E[C] = d, cC = (E, C, d) => OE(E, typeof C != "symbol" ? C + "" : C, d), rC = (E, C, d) => C.has(E) || cB("Cannot " + d), o = (E, C, d) => (rC(E, C, "read from private field"), d ? d.call(E) : C.get(E)), m = (E, C, d) => C.has(E) ? cB("Cannot add the same private member more than once") : C instanceof WeakSet ? C.add(E) : C.set(E, d), dA = (E, C, d, D) => (rC(E, C, "write to private field"), C.set(E, d), d), CA = (E, C, d) => (rC(E, C, "access private method"), d), fE = (E, C, d, D) => ({
|
|
4
|
+
set _(Q) {
|
|
5
|
+
dA(E, C, Q);
|
|
6
|
+
},
|
|
7
|
+
get _() {
|
|
8
|
+
return o(E, C, D);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const wB = "dmFyIGdpID0gKCgpID0+IHsKICB2YXIgbDsKICB2YXIgdSA9IHR5cGVvZiBkb2N1bWVudCA8ICJ1IiA/IChsID0gZG9jdW1lbnQuY3VycmVudFNjcmlwdCkgPT0gbnVsbCA/IHZvaWQgMCA6IGwuc3JjIDogdm9pZCAwOwogIHJldHVybiBmdW5jdGlvbihkID0ge30pIHsKICAgIHZhciB5LCBpID0gZCwgUiwgaywgTyA9IG5ldyBQcm9taXNlKChhLCBvKSA9PiB7CiAgICAgIFIgPSBhLCBrID0gbzsKICAgIH0pLCBJID0gdHlwZW9mIHdpbmRvdyA9PSAib2JqZWN0IiwgeiA9IHR5cGVvZiBpbXBvcnRTY3JpcHRzID09ICJmdW5jdGlvbiI7CiAgICB0eXBlb2YgcHJvY2VzcyA9PSAib2JqZWN0IiAmJiB0eXBlb2YgcHJvY2Vzcy52ZXJzaW9ucyA9PSAib2JqZWN0IiAmJiB0eXBlb2YgcHJvY2Vzcy52ZXJzaW9ucy5ub2RlID09ICJzdHJpbmciICYmIHByb2Nlc3MudHlwZSAhPSAicmVuZGVyZXIiOwogICAgdmFyIEQgPSBPYmplY3QuYXNzaWduKHt9LCBpKSwgWiA9IChhLCBvKSA9PiB7CiAgICAgIHRocm93IG87CiAgICB9LCB4ID0gIiI7CiAgICBmdW5jdGlvbiBhZShhKSB7CiAgICAgIHJldHVybiBpLmxvY2F0ZUZpbGUgPyBpLmxvY2F0ZUZpbGUoYSwgeCkgOiB4ICsgYTsKICAgIH0KICAgIHZhciBmZSwgdmU7CiAgICAoSSB8fCB6KSAmJiAoeiA/IHggPSBzZWxmLmxvY2F0aW9uLmhyZWYgOiB0eXBlb2YgZG9jdW1lbnQgPCAidSIgJiYgZG9jdW1lbnQuY3VycmVudFNjcmlwdCAmJiAoeCA9IGRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjKSwgdSAmJiAoeCA9IHUpLCB4LnN0YXJ0c1dpdGgoImJsb2I6IikgPyB4ID0gIiIgOiB4ID0geC5zdWJzdHIoMCwgeC5yZXBsYWNlKC9bPyNdLiovLCAiIikubGFzdEluZGV4T2YoIi8iKSArIDEpLCB6ICYmICh2ZSA9IChhKSA9PiB7CiAgICAgIHZhciBvID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgIHJldHVybiBvLm9wZW4oIkdFVCIsIGEsICExKSwgby5yZXNwb25zZVR5cGUgPSAiYXJyYXlidWZmZXIiLCBvLnNlbmQobnVsbCksIG5ldyBVaW50OEFycmF5KAogICAgICAgIC8qKiBAdHlwZXshQXJyYXlCdWZmZXJ9ICovCiAgICAgICAgby5yZXNwb25zZQogICAgICApOwogICAgfSksIGZlID0gKGEpID0+IGZldGNoKGEsIHsKICAgICAgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIKICAgIH0pLnRoZW4oKG8pID0+IG8ub2sgPyBvLmFycmF5QnVmZmVyKCkgOiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3Ioby5zdGF0dXMgKyAiIDogIiArIG8udXJsKSkpKTsKICAgIHZhciBtZSA9IGkucHJpbnQgfHwgY29uc29sZS5sb2cuYmluZChjb25zb2xlKSwgbGUgPSBpLnByaW50RXJyIHx8IGNvbnNvbGUuZXJyb3IuYmluZChjb25zb2xlKTsKICAgIE9iamVjdC5hc3NpZ24oaSwgRCksIEQgPSBudWxsLCBpLmFyZ3VtZW50cyAmJiBpLmFyZ3VtZW50cywgaS50aGlzUHJvZ3JhbSAmJiBpLnRoaXNQcm9ncmFtOwogICAgdmFyIFRlID0gaS53YXNtQmluYXJ5LCBpZSwgTSA9ICExLCB5ZSwgd2UsIHNlLCBGLCBxOwogICAgZnVuY3Rpb24gTWUoKSB7CiAgICAgIHZhciBhID0gaWUuYnVmZmVyOwogICAgICBpLkhFQVA4ID0gd2UgPSBuZXcgSW50OEFycmF5KGEpLCBpLkhFQVAxNiA9IG5ldyBJbnQxNkFycmF5KGEpLCBpLkhFQVBVOCA9IHNlID0gbmV3IFVpbnQ4QXJyYXkoYSksIGkuSEVBUFUxNiA9IG5ldyBVaW50MTZBcnJheShhKSwgaS5IRUFQMzIgPSBGID0gbmV3IEludDMyQXJyYXkoYSksIGkuSEVBUFUzMiA9IHEgPSBuZXcgVWludDMyQXJyYXkoYSksIGkuSEVBUEYzMiA9IG5ldyBGbG9hdDMyQXJyYXkoYSksIGkuSEVBUEY2NCA9IG5ldyBGbG9hdDY0QXJyYXkoYSksIGkuSEVBUDY0ID0gbmV3IEJpZ0ludDY0QXJyYXkoYSksIGkuSEVBUFU2NCA9IG5ldyBCaWdVaW50NjRBcnJheShhKTsKICAgIH0KICAgIHZhciBmciA9IFtdLCB2ciA9IFtdLCBPciA9IFtdLCBsciA9IFtdOwogICAgZnVuY3Rpb24gVXIoKSB7CiAgICAgIGlmIChpLnByZVJ1bikKICAgICAgICBmb3IgKHR5cGVvZiBpLnByZVJ1biA9PSAiZnVuY3Rpb24iICYmIChpLnByZVJ1biA9IFtpLnByZVJ1bl0pOyBpLnByZVJ1bi5sZW5ndGg7ICkKICAgICAgICAgIF90KGkucHJlUnVuLnNoaWZ0KCkpOwogICAgICBOZShmcik7CiAgICB9CiAgICBmdW5jdGlvbiB4cigpIHsKICAgICAgTmUodnIpOwogICAgfQogICAgZnVuY3Rpb24gdnQoKSB7CiAgICAgIE5lKE9yKTsKICAgIH0KICAgIGZ1bmN0aW9uIGx0KCkgewogICAgICBpZiAoaS5wb3N0UnVuKQogICAgICAgIGZvciAodHlwZW9mIGkucG9zdFJ1biA9PSAiZnVuY3Rpb24iICYmIChpLnBvc3RSdW4gPSBbaS5wb3N0UnVuXSk7IGkucG9zdFJ1bi5sZW5ndGg7ICkKICAgICAgICAgIHB0KGkucG9zdFJ1bi5zaGlmdCgpKTsKICAgICAgTmUobHIpOwogICAgfQogICAgZnVuY3Rpb24gX3QoYSkgewogICAgICBmci51bnNoaWZ0KGEpOwogICAgfQogICAgZnVuY3Rpb24gcHQoYSkgewogICAgICBsci51bnNoaWZ0KGEpOwogICAgfQogICAgdmFyICRlID0gMCwgVWUgPSBudWxsOwogICAgZnVuY3Rpb24gQ2UoYSkgewogICAgICB2YXIgbzsKICAgICAgJGUrKywgKG8gPSBpLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMpID09IG51bGwgfHwgby5jYWxsKGksICRlKTsKICAgIH0KICAgIGZ1bmN0aW9uIHhlKGEpIHsKICAgICAgdmFyIF87CiAgICAgIGlmICgkZS0tLCAoXyA9IGkubW9uaXRvclJ1bkRlcGVuZGVuY2llcykgPT0gbnVsbCB8fCBfLmNhbGwoaSwgJGUpLCAkZSA9PSAwICYmIFVlKSB7CiAgICAgICAgdmFyIG8gPSBVZTsKICAgICAgICBVZSA9IG51bGwsIG8oKTsKICAgICAgfQogICAgfQogICAgZnVuY3Rpb24gX3IoYSkgewogICAgICB2YXIgXzsKICAgICAgKF8gPSBpLm9uQWJvcnQpID09IG51bGwgfHwgXy5jYWxsKGksIGEpLCBhID0gIkFib3J0ZWQoIiArIGEgKyAiKSIsIGxlKGEpLCBNID0gITAsIGEgKz0gIi4gQnVpbGQgd2l0aCAtc0FTU0VSVElPTlMgZm9yIG1vcmUgaW5mby4iOwogICAgICB2YXIgbyA9IG5ldyBXZWJBc3NlbWJseS5SdW50aW1lRXJyb3IoYSk7CiAgICAgIHRocm93IGsobyksIG87CiAgICB9CiAgICB2YXIgZHQgPSAiZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LCIsIHplID0gKGEpID0+IGEuc3RhcnRzV2l0aChkdCk7CiAgICBmdW5jdGlvbiBodCgpIHsKICAgICAgdmFyIGEgPSAiZGFjX3NpbWQud2FzbSI7CiAgICAgIHJldHVybiB6ZShhKSA/IGEgOiBhZShhKTsKICAgIH0KICAgIHZhciBHZTsKICAgIGZ1bmN0aW9uIGpyKGEpIHsKICAgICAgaWYgKGEgPT0gR2UgJiYgVGUpCiAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFRlKTsKICAgICAgaWYgKHZlKQogICAgICAgIHJldHVybiB2ZShhKTsKICAgICAgdGhyb3cgImJvdGggYXN5bmMgYW5kIHN5bmMgZmV0Y2hpbmcgb2YgdGhlIHdhc20gZmFpbGVkIjsKICAgIH0KICAgIGZ1bmN0aW9uIHByKGEpIHsKICAgICAgcmV0dXJuIFRlID8gUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiBqcihhKSkgOiBmZShhKS50aGVuKAogICAgICAgIChvKSA9PiBuZXcgVWludDhBcnJheSgKICAgICAgICAgIC8qKiBAdHlwZXshQXJyYXlCdWZmZXJ9ICovCiAgICAgICAgICBvCiAgICAgICAgKSwKICAgICAgICAvLyBGYWxsIGJhY2sgdG8gZ2V0QmluYXJ5U3luYyBpZiByZWFkQXN5bmMgZmFpbHMKICAgICAgICAoKSA9PiBqcihhKQogICAgICApOwogICAgfQogICAgZnVuY3Rpb24gZHIoYSwgbywgXykgewogICAgICByZXR1cm4gcHIoYSkudGhlbigobSkgPT4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobSwgbykpLnRoZW4oXywgKG0pID0+IHsKICAgICAgICBsZShgZmFpbGVkIHRvIGFzeW5jaHJvbm91c2x5IHByZXBhcmUgd2FzbTogJHttfWApLCBfcihtKTsKICAgICAgfSk7CiAgICB9CiAgICBmdW5jdGlvbiBndChhLCBvLCBfLCBtKSB7CiAgICAgIHJldHVybiAhYSAmJiB0eXBlb2YgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcgPT0gImZ1bmN0aW9uIiAmJiAhemUobykgJiYgdHlwZW9mIGZldGNoID09ICJmdW5jdGlvbiIgPyBmZXRjaChvLCB7CiAgICAgICAgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIKICAgICAgfSkudGhlbigoUCkgPT4gewogICAgICAgIHZhciB3ID0gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoUCwgXyk7CiAgICAgICAgcmV0dXJuIHcudGhlbihtLCBmdW5jdGlvbihFKSB7CiAgICAgICAgICByZXR1cm4gbGUoYHdhc20gc3RyZWFtaW5nIGNvbXBpbGUgZmFpbGVkOiAke0V9YCksIGxlKCJmYWxsaW5nIGJhY2sgdG8gQXJyYXlCdWZmZXIgaW5zdGFudGlhdGlvbiIpLCBkcihvLCBfLCBtKTsKICAgICAgICB9KTsKICAgICAgfSkgOiBkcihvLCBfLCBtKTsKICAgIH0KICAgIGZ1bmN0aW9uIEhyKCkgewogICAgICByZXR1cm4gewogICAgICAgIGE6IER0CiAgICAgIH07CiAgICB9CiAgICBmdW5jdGlvbiBtdCgpIHsKICAgICAgdmFyIGEgPSBIcigpOwogICAgICBmdW5jdGlvbiBvKG0sIFApIHsKICAgICAgICByZXR1cm4gVyA9IG0uZXhwb3J0cywgaWUgPSBXLkssIE1lKCksICRyID0gVy5WLCB4ZSgpLCBXOwogICAgICB9CiAgICAgIENlKCk7CiAgICAgIGZ1bmN0aW9uIF8obSkgewogICAgICAgIG8obS5pbnN0YW5jZSk7CiAgICAgIH0KICAgICAgaWYgKGkuaW5zdGFudGlhdGVXYXNtKQogICAgICAgIHRyeSB7CiAgICAgICAgICByZXR1cm4gaS5pbnN0YW50aWF0ZVdhc20oYSwgbyk7CiAgICAgICAgfSBjYXRjaCAobSkgewogICAgICAgICAgbGUoYE1vZHVsZS5pbnN0YW50aWF0ZVdhc20gY2FsbGJhY2sgZmFpbGVkIHdpdGggZXJyb3I6ICR7bX1gKSwgayhtKTsKICAgICAgICB9CiAgICAgIHJldHVybiBHZSA/PyAoR2UgPSBodCgpKSwgZ3QoVGUsIEdlLCBhLCBfKS5jYXRjaChrKSwge307CiAgICB9CiAgICBmdW5jdGlvbiBCcihhKSB7CiAgICAgIHRoaXMubmFtZSA9ICJFeGl0U3RhdHVzIiwgdGhpcy5tZXNzYWdlID0gYFByb2dyYW0gdGVybWluYXRlZCB3aXRoIGV4aXQoJHthfSlgLCB0aGlzLnN0YXR1cyA9IGE7CiAgICB9CiAgICB2YXIgTmUgPSAoYSkgPT4gewogICAgICBmb3IgKDsgYS5sZW5ndGggPiAwOyApCiAgICAgICAgYS5zaGlmdCgpKGkpOwogICAgfSwgVnIgPSBpLm5vRXhpdFJ1bnRpbWUgfHwgITAsIFkgPSAoYSkgPT4gWXIoYSksIEogPSAoKSA9PiBYcigpLCBfZSA9IDA7CiAgICBjbGFzcyBVIHsKICAgICAgLy8gZXhjUHRyIC0gVGhyb3duIG9iamVjdCBwb2ludGVyIHRvIHdyYXAuIE1ldGFkYXRhIHBvaW50ZXIgaXMgY2FsY3VsYXRlZCBmcm9tIGl0LgogICAgICBjb25zdHJ1Y3RvcihvKSB7CiAgICAgICAgdGhpcy5leGNQdHIgPSBvLCB0aGlzLnB0ciA9IG8gLSAyNDsKICAgICAgfQogICAgICBzZXRfdHlwZShvKSB7CiAgICAgICAgcVt0aGlzLnB0ciArIDQgPj4gMl0gPSBvOwogICAgICB9CiAgICAgIGdldF90eXBlKCkgewogICAgICAgIHJldHVybiBxW3RoaXMucHRyICsgNCA+PiAyXTsKICAgICAgfQogICAgICBzZXRfZGVzdHJ1Y3RvcihvKSB7CiAgICAgICAgcVt0aGlzLnB0ciArIDggPj4gMl0gPSBvOwogICAgICB9CiAgICAgIGdldF9kZXN0cnVjdG9yKCkgewogICAgICAgIHJldHVybiBxW3RoaXMucHRyICsgOCA+PiAyXTsKICAgICAgfQogICAgICBzZXRfY2F1Z2h0KG8pIHsKICAgICAgICBvID0gbyA/IDEgOiAwLCB3ZVt0aGlzLnB0ciArIDEyXSA9IG87CiAgICAgIH0KICAgICAgZ2V0X2NhdWdodCgpIHsKICAgICAgICByZXR1cm4gd2VbdGhpcy5wdHIgKyAxMl0gIT0gMDsKICAgICAgfQogICAgICBzZXRfcmV0aHJvd24obykgewogICAgICAgIG8gPSBvID8gMSA6IDAsIHdlW3RoaXMucHRyICsgMTNdID0gbzsKICAgICAgfQogICAgICBnZXRfcmV0aHJvd24oKSB7CiAgICAgICAgcmV0dXJuIHdlW3RoaXMucHRyICsgMTNdICE9IDA7CiAgICAgIH0KICAgICAgLy8gSW5pdGlhbGl6ZSBuYXRpdmUgc3RydWN0dXJlIGZpZWxkcy4gU2hvdWxkIGJlIGNhbGxlZCBvbmNlIGFmdGVyIGFsbG9jYXRlZC4KICAgICAgaW5pdChvLCBfKSB7CiAgICAgICAgdGhpcy5zZXRfYWRqdXN0ZWRfcHRyKDApLCB0aGlzLnNldF90eXBlKG8pLCB0aGlzLnNldF9kZXN0cnVjdG9yKF8pOwogICAgICB9CiAgICAgIHNldF9hZGp1c3RlZF9wdHIobykgewogICAgICAgIHFbdGhpcy5wdHIgKyAxNiA+PiAyXSA9IG87CiAgICAgIH0KICAgICAgZ2V0X2FkanVzdGVkX3B0cigpIHsKICAgICAgICByZXR1cm4gcVt0aGlzLnB0ciArIDE2ID4+IDJdOwogICAgICB9CiAgICB9CiAgICB2YXIgaiA9IChhKSA9PiB7CiAgICAgIHRocm93IF9lIHx8IChfZSA9IGEpLCBfZTsKICAgIH0sIFEgPSAoYSkgPT4gYmUoYSksIHl0ID0gKGEpID0+IHsKICAgICAgdmFyIG8gPSBfZTsKICAgICAgaWYgKCFvKQogICAgICAgIHJldHVybiBRKDApLCAwOwogICAgICB2YXIgXyA9IG5ldyBVKG8pOwogICAgICBfLnNldF9hZGp1c3RlZF9wdHIobyk7CiAgICAgIHZhciBtID0gXy5nZXRfdHlwZSgpOwogICAgICBpZiAoIW0pCiAgICAgICAgcmV0dXJuIFEoMCksIG87CiAgICAgIGZvciAodmFyIFAgb2YgYSkgewogICAgICAgIGlmIChQID09PSAwIHx8IFAgPT09IG0pCiAgICAgICAgICBicmVhazsKICAgICAgICB2YXIgdyA9IF8ucHRyICsgMTY7CiAgICAgICAgaWYgKHRlKFAsIG0sIHcpKQogICAgICAgICAgcmV0dXJuIFEoUCksIG87CiAgICAgIH0KICAgICAgcmV0dXJuIFEobSksIG87CiAgICB9LCB3dCA9ICgpID0+IHl0KFtdKSwgZWUgPSBbXSwgaHIgPSAwLCBxZSA9ICgpID0+IHsKICAgICAgdmFyIGEgPSBlZS5wb3AoKTsKICAgICAgYSB8fCBfcigibm8gZXhjZXB0aW9uIHRvIHRocm93Iik7CiAgICAgIHZhciBvID0gYS5leGNQdHI7CiAgICAgIHRocm93IGEuZ2V0X3JldGhyb3duKCkgfHwgKGVlLnB1c2goYSksIGEuc2V0X3JldGhyb3duKCEwKSwgYS5zZXRfY2F1Z2h0KCExKSwgaHIrKyksIF9lID0gbywgX2U7CiAgICB9LCBidCA9IChhKSA9PiB7CiAgICAgIGlmIChhKSB7CiAgICAgICAgdmFyIG8gPSBuZXcgVShhKTsKICAgICAgICBlZS5wdXNoKG8pLCBvLnNldF9yZXRocm93bighMCksIHFlKCk7CiAgICAgIH0KICAgIH0sIEplID0gKGEsIG8sIF8pID0+IHsKICAgICAgdmFyIG0gPSBuZXcgVShhKTsKICAgICAgdGhyb3cgbS5pbml0KG8sIF8pLCBfZSA9IGEsIGhyKyssIF9lOwogICAgfSwgZ3IgPSAoKSA9PiBociwgTHIgPSB0eXBlb2YgVGV4dERlY29kZXIgPCAidSIgPyBuZXcgVGV4dERlY29kZXIoKSA6IHZvaWQgMCwgTXIgPSAoYSwgbywgXykgPT4gewogICAgICBmb3IgKHZhciBtID0gbyArIF8sIFAgPSBvOyBhW1BdICYmICEoUCA+PSBtKTsgKSArK1A7CiAgICAgIGlmIChQIC0gbyA+IDE2ICYmIGEuYnVmZmVyICYmIExyKQogICAgICAgIHJldHVybiBMci5kZWNvZGUoYS5zdWJhcnJheShvLCBQKSk7CiAgICAgIGZvciAodmFyIHcgPSAiIjsgbyA8IFA7ICkgewogICAgICAgIHZhciBFID0gYVtvKytdOwogICAgICAgIGlmICghKEUgJiAxMjgpKSB7CiAgICAgICAgICB3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoRSk7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgdmFyIFQgPSBhW28rK10gJiA2MzsKICAgICAgICBpZiAoKEUgJiAyMjQpID09IDE5MikgewogICAgICAgICAgdyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKChFICYgMzEpIDw8IDYgfCBUKTsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICB2YXIgRyA9IGFbbysrXSAmIDYzOwogICAgICAgIGlmICgoRSAmIDI0MCkgPT0gMjI0ID8gRSA9IChFICYgMTUpIDw8IDEyIHwgVCA8PCA2IHwgRyA6IEUgPSAoRSAmIDcpIDw8IDE4IHwgVCA8PCAxMiB8IEcgPDwgNiB8IGFbbysrXSAmIDYzLCBFIDwgNjU1MzYpCiAgICAgICAgICB3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoRSk7CiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgbnIgPSBFIC0gNjU1MzY7CiAgICAgICAgICB3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTYgfCBuciA+PiAxMCwgNTYzMjAgfCBuciAmIDEwMjMpOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gdzsKICAgIH0sIHpyID0gKGEsIG8pID0+IGEgPyBNcihzZSwgYSwgbykgOiAiIjsKICAgIGZ1bmN0aW9uIG1yKGEsIG8sIF8pIHsKICAgICAgcmV0dXJuIDA7CiAgICB9CiAgICBmdW5jdGlvbiBQdChhLCBvLCBfKSB7CiAgICAgIHJldHVybiAwOwogICAgfQogICAgdmFyIEV0ID0gKGEsIG8sIF8pID0+IHsKICAgIH07CiAgICBmdW5jdGlvbiBUdChhLCBvLCBfLCBtKSB7CiAgICB9CiAgICB2YXIgV2UgPSAoYSwgbykgPT4gewogICAgfSwgeXIgPSAoKSA9PiB7CiAgICAgIF9yKCIiKTsKICAgIH0sIHBlID0gMSwgamUgPSAoKSA9PiBwZSwgQyA9ICgpID0+IHsKICAgICAgVnIgPSAhMSwgd3IgPSAwOwogICAgfSwgJHQgPSAoKSA9PiB7CiAgICAgIHRocm93IDEgLyAwOwogICAgfSwgSGUgPSB7fSwgUyA9IChhKSA9PiB7CiAgICAgIGlmIChhIGluc3RhbmNlb2YgQnIgfHwgYSA9PSAidW53aW5kIikKICAgICAgICByZXR1cm4geWU7CiAgICAgIFooMSwgYSk7CiAgICB9LCB3ciA9IDAsIGJyID0gKCkgPT4gVnIgfHwgd3IgPiAwLCBHciA9IChhKSA9PiB7CiAgICAgIHZhciBvOwogICAgICB5ZSA9IGEsIGJyKCkgfHwgKChvID0gaS5vbkV4aXQpID09IG51bGwgfHwgby5jYWxsKGksIGEpLCBNID0gITApLCBaKGEsIG5ldyBCcihhKSk7CiAgICB9LCBQciA9IChhLCBvKSA9PiB7CiAgICAgIHllID0gYSwgR3IoYSk7CiAgICB9LCBMID0gUHIsIEN0ID0gKCkgPT4gewogICAgICBpZiAoIWJyKCkpCiAgICAgICAgdHJ5IHsKICAgICAgICAgIEwoeWUpOwogICAgICAgIH0gY2F0Y2ggKGEpIHsKICAgICAgICAgIFMoYSk7CiAgICAgICAgfQogICAgfSwgQXQgPSAoYSkgPT4gewogICAgICBpZiAoIU0pCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGEoKSwgQ3QoKTsKICAgICAgICB9IGNhdGNoIChvKSB7CiAgICAgICAgICBTKG8pOwogICAgICAgIH0KICAgIH0sIERlID0gKCkgPT4gcGVyZm9ybWFuY2Uubm93KCksIEVyID0gKGEsIG8pID0+IHsKICAgICAgaWYgKEhlW2FdICYmIChjbGVhclRpbWVvdXQoSGVbYV0uaWQpLCBkZWxldGUgSGVbYV0pLCAhbykgcmV0dXJuIDA7CiAgICAgIHZhciBfID0gc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgZGVsZXRlIEhlW2FdLCBBdCgoKSA9PiBTZShhLCBEZSgpKSk7CiAgICAgIH0sIG8pOwogICAgICByZXR1cm4gSGVbYV0gPSB7CiAgICAgICAgaWQ6IF8sCiAgICAgICAgdGltZW91dF9tczogbwogICAgICB9LCAwOwogICAgfSwgQmUgPSAoYSwgbywgXywgbSkgPT4gewogICAgICBmb3IgKHZhciBQID0gXywgdyA9IF8gKyBtIC0gMSwgRSA9IDA7IEUgPCBhLmxlbmd0aDsgKytFKSB7CiAgICAgICAgdmFyIFQgPSBhLmNoYXJDb2RlQXQoRSk7CiAgICAgICAgaWYgKFQgPj0gNTUyOTYgJiYgVCA8PSA1NzM0MykgewogICAgICAgICAgdmFyIEcgPSBhLmNoYXJDb2RlQXQoKytFKTsKICAgICAgICAgIFQgPSA2NTUzNiArICgoVCAmIDEwMjMpIDw8IDEwKSB8IEcgJiAxMDIzOwogICAgICAgIH0KICAgICAgICBpZiAoVCA8PSAxMjcpIHsKICAgICAgICAgIGlmIChfID49IHcpIGJyZWFrOwogICAgICAgICAgb1tfKytdID0gVDsKICAgICAgICB9IGVsc2UgaWYgKFQgPD0gMjA0NykgewogICAgICAgICAgaWYgKF8gKyAxID49IHcpIGJyZWFrOwogICAgICAgICAgb1tfKytdID0gMTkyIHwgVCA+PiA2LCBvW18rK10gPSAxMjggfCBUICYgNjM7CiAgICAgICAgfSBlbHNlIGlmIChUIDw9IDY1NTM1KSB7CiAgICAgICAgICBpZiAoXyArIDIgPj0gdykgYnJlYWs7CiAgICAgICAgICBvW18rK10gPSAyMjQgfCBUID4+IDEyLCBvW18rK10gPSAxMjggfCBUID4+IDYgJiA2Mywgb1tfKytdID0gMTI4IHwgVCAmIDYzOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBpZiAoXyArIDMgPj0gdykgYnJlYWs7CiAgICAgICAgICBvW18rK10gPSAyNDAgfCBUID4+IDE4LCBvW18rK10gPSAxMjggfCBUID4+IDEyICYgNjMsIG9bXysrXSA9IDEyOCB8IFQgPj4gNiAmIDYzLCBvW18rK10gPSAxMjggfCBUICYgNjM7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBvW19dID0gMCwgXyAtIFA7CiAgICB9LCBLZSA9IChhLCBvLCBfKSA9PiBCZShhLCBzZSwgbywgXyksIFJ0ID0gKGEsIG8sIF8sIG0pID0+IHsKICAgICAgdmFyIFAgPSAoLyogQF9fUFVSRV9fICovIG5ldyBEYXRlKCkpLmdldEZ1bGxZZWFyKCksIHcgPSBuZXcgRGF0ZShQLCAwLCAxKSwgRSA9IG5ldyBEYXRlKFAsIDYsIDEpLCBUID0gdy5nZXRUaW1lem9uZU9mZnNldCgpLCBHID0gRS5nZXRUaW1lem9uZU9mZnNldCgpLCBuciA9IE1hdGgubWF4KFQsIEcpOwogICAgICBxW2EgPj4gMl0gPSBuciAqIDYwLCBGW28gPj4gMl0gPSArKFQgIT0gRyk7CiAgICAgIHZhciBrciA9IChhcikgPT4gewogICAgICAgIHZhciBXciA9IGFyID49IDAgPyAiLSIgOiAiKyIsIGlyID0gTWF0aC5hYnMoYXIpLCBCdCA9IFN0cmluZyhNYXRoLmZsb29yKGlyIC8gNjApKS5wYWRTdGFydCgyLCAiMCIpLCBWdCA9IFN0cmluZyhpciAlIDYwKS5wYWRTdGFydCgyLCAiMCIpOwogICAgICAgIHJldHVybiBgVVRDJHtXcn0ke0J0fSR7VnR9YDsKICAgICAgfSwgSXIgPSBrcihUKSwgdHQgPSBrcihHKTsKICAgICAgRyA8IFQgPyAoS2UoSXIsIF8sIDE3KSwgS2UodHQsIG0sIDE3KSkgOiAoS2UoSXIsIG0sIDE3KSwgS2UodHQsIF8sIDE3KSk7CiAgICB9LCBkZSA9ICgpID0+IERhdGUubm93KCksIFllID0gKCkgPT4gKAogICAgICAvLyBTdGF5IG9uZSBXYXNtIHBhZ2Ugc2hvcnQgb2YgNEdCOiB3aGlsZSBlLmcuIENocm9tZSBpcyBhYmxlIHRvIGFsbG9jYXRlCiAgICAgIC8vIGZ1bGwgNEdCIFdhc20gbWVtb3JpZXMsIHRoZSBzaXplIHdpbGwgd3JhcCBiYWNrIHRvIDAgYnl0ZXMgaW4gV2FzbSBzaWRlCiAgICAgIC8vIGZvciBhbnkgY29kZSB0aGF0IGRlYWxzIHdpdGggaGVhcCBzaXplcywgd2hpY2ggd291bGQgcmVxdWlyZSBzcGVjaWFsCiAgICAgIC8vIGNhc2luZyBhbGwgaGVhcCBzaXplIHJlbGF0ZWQgY29kZSB0byB0cmVhdCAwIHNwZWNpYWxseS4KICAgICAgMjE0NzQ4MzY0OAogICAgKSwgU3QgPSAoKSA9PiBZZSgpLCBBZSA9IChhLCBvKSA9PiBNYXRoLmNlaWwoYSAvIG8pICogbywgTnIgPSAoYSkgPT4gewogICAgICB2YXIgbyA9IGllLmJ1ZmZlciwgXyA9IChhIC0gby5ieXRlTGVuZ3RoICsgNjU1MzUpIC8gNjU1MzY7CiAgICAgIHRyeSB7CiAgICAgICAgcmV0dXJuIGllLmdyb3coXyksIE1lKCksIDE7CiAgICAgIH0gY2F0Y2ggewogICAgICB9CiAgICB9LCBYZSA9IChhKSA9PiB7CiAgICAgIHZhciBvID0gc2UubGVuZ3RoOwogICAgICBhID4+Pj0gMDsKICAgICAgdmFyIF8gPSBZZSgpOwogICAgICBpZiAoYSA+IF8pCiAgICAgICAgcmV0dXJuICExOwogICAgICBmb3IgKHZhciBtID0gMTsgbSA8PSA0OyBtICo9IDIpIHsKICAgICAgICB2YXIgUCA9IG8gKyA0MTk0MzA0IC8gbSwgdyA9IE1hdGgubWluKF8sIEFlKE1hdGgubWF4KGEsIFApLCA2NTUzNikpLCBFID0gTnIodyk7CiAgICAgICAgaWYgKEUpCiAgICAgICAgICByZXR1cm4gITA7CiAgICAgIH0KICAgICAgcmV0dXJuICExOwogICAgfSwga3QgPSAoYSkgPT4gNTIsIFplID0gKGEsIG8sIF8sIG0pID0+IDUyOwogICAgZnVuY3Rpb24gVHIoYSwgbywgXywgbSkgewogICAgICByZXR1cm4gNzA7CiAgICB9CiAgICB2YXIgSXQgPSBbbnVsbCwgW10sIFtdXSwgcXIgPSAoYSwgbykgPT4gewogICAgICB2YXIgXyA9IEl0W2FdOwogICAgICBvID09PSAwIHx8IG8gPT09IDEwID8gKChhID09PSAxID8gbWUgOiBsZSkoTXIoXywgMCkpLCBfLmxlbmd0aCA9IDApIDogXy5wdXNoKG8pOwogICAgfSwgSnIgPSAoYSwgbywgXywgbSkgPT4gewogICAgICBmb3IgKHZhciBQID0gMCwgdyA9IDA7IHcgPCBfOyB3KyspIHsKICAgICAgICB2YXIgRSA9IHFbbyA+PiAyXSwgVCA9IHFbbyArIDQgPj4gMl07CiAgICAgICAgbyArPSA4OwogICAgICAgIGZvciAodmFyIEcgPSAwOyBHIDwgVDsgRysrKQogICAgICAgICAgcXIoYSwgc2VbRSArIEddKTsKICAgICAgICBQICs9IFQ7CiAgICAgIH0KICAgICAgcmV0dXJuIHFbbSA+PiAyXSA9IFAsIDA7CiAgICB9LCAkciwgb2UgPSAoYSkgPT4gJHIuZ2V0KGEpLCBLciA9IChhKSA9PiBDcihhKTsKICAgIGkuaW5jcmVtZW50RXhjZXB0aW9uUmVmY291bnQgPSBLcjsKICAgIHZhciBRZSA9IChhKSA9PiByZShhKTsKICAgIGkuZGVjcmVtZW50RXhjZXB0aW9uUmVmY291bnQgPSBRZTsKICAgIHZhciBWZSA9IChhKSA9PiBMZShhKSwgV3QgPSAoYSkgPT4gewogICAgICB2YXIgbyA9IEooKSwgXyA9IFZlKDQpLCBtID0gVmUoNCk7CiAgICAgIFpyKGEsIF8sIG0pOwogICAgICB2YXIgUCA9IHFbXyA+PiAyXSwgdyA9IHFbbSA+PiAyXSwgRSA9IHpyKFApOwogICAgICBSZShQKTsKICAgICAgdmFyIFQ7CiAgICAgIHJldHVybiB3ICYmIChUID0genIodyksIFJlKHcpKSwgWShvKSwgW0UsIFRdOwogICAgfSwgRmUgPSAoYSkgPT4gV3QoYSk7CiAgICBpLmdldEV4Y2VwdGlvbk1lc3NhZ2UgPSBGZTsKICAgIHZhciBEdCA9IHsKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgYjogd3QsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIEE6IGJ0LAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBhOiBKZSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgQjogZ3IsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIHE6IGosCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIGU6IG1yLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBrOiBQdCwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgRjogRXQsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIGw6IFR0LAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBIOiBXZSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgejogeXIsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIG06IGplLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICB4OiBDLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBwOiAkdCwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgeTogRXIsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIEU6IFJ0LAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBuOiBkZSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgRDogU3QsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIGM6IERlLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBDOiBYZSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgSjogTCwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgZzoga3QsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIEk6IFplLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBHOiBUciwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgajogSnIsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIHU6IEFyLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBpOiBVdCwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgZDogRnQsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIHQ6IHJyLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBoOiBSciwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgcjoganQsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIHY6IE90LAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBmOiB4dCwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgbzogSHQsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIHM6IFFyLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICB3OiBHcgogICAgfSwgVyA9IG10KCk7CiAgICBpLl9uZXdfbWVtb3J5ID0gKGEpID0+IChpLl9uZXdfbWVtb3J5ID0gVy5MKShhKSwgaS5fZnJlZV9tZW1vcnkgPSAoYSkgPT4gKGkuX2ZyZWVfbWVtb3J5ID0gVy5NKShhKSwgaS5fZ2V0X3JldHVybl9uX3BhY2tldHMgPSAoYSkgPT4gKGkuX2dldF9yZXR1cm5fbl9wYWNrZXRzID0gVy5OKShhKSwgaS5fZ2V0X3JldHVybl9wYWNrZXRfbGVuID0gKGEsIG8pID0+IChpLl9nZXRfcmV0dXJuX3BhY2tldF9sZW4gPSBXLk8pKGEsIG8pLCBpLl9nZXRfcmV0dXJuX3BhY2tldCA9IChhLCBvKSA9PiAoaS5fZ2V0X3JldHVybl9wYWNrZXQgPSBXLlApKGEsIG8pLCBpLl9jbGVhcl9yZXR1cm5fcGFja2V0cyA9ICgpID0+IChpLl9jbGVhcl9yZXR1cm5fcGFja2V0cyA9IFcuUSkoKSwgaS5fcHJvY2Vzc19ldmVudF9kYXRhID0gKGEsIG8sIF8sIG0pID0+IChpLl9wcm9jZXNzX2V2ZW50X2RhdGEgPSBXLlIpKGEsIG8sIF8sIG0pLCBpLl9wcm9jZXNzX2V2ZW50X2RhdGFfZXggPSAoYSwgbywgXykgPT4gKGkuX3Byb2Nlc3NfZXZlbnRfZGF0YV9leCA9IFcuUykoYSwgbywgXyk7CiAgICB2YXIgZXIgPSBpLl9tYWluID0gKGEsIG8pID0+IChlciA9IGkuX21haW4gPSBXLlQpKGEsIG8pLCBSZSA9IChhKSA9PiAoUmUgPSBXLlUpKGEpLCBTZSA9IChhLCBvKSA9PiAoU2UgPSBXLlcpKGEsIG8pLCBLID0gKGEsIG8pID0+IChLID0gVy5YKShhLCBvKSwgYmUgPSAoYSkgPT4gKGJlID0gVy5ZKShhKSwgWXIgPSAoYSkgPT4gKFlyID0gVy5aKShhKSwgTGUgPSAoYSkgPT4gKExlID0gVy5fKShhKSwgWHIgPSAoKSA9PiAoWHIgPSBXLiQpKCksIHJlID0gKGEpID0+IChyZSA9IFcuYWEpKGEpLCBDciA9IChhKSA9PiAoQ3IgPSBXLmJhKShhKSwgWnIgPSAoYSwgbywgXykgPT4gKFpyID0gVy5jYSkoYSwgbywgXyksIHRlID0gKGEsIG8sIF8pID0+ICh0ZSA9IFcuZGEpKGEsIG8sIF8pOwogICAgZnVuY3Rpb24gRnQoYSwgbywgXywgbSkgewogICAgICB2YXIgUCA9IEooKTsKICAgICAgdHJ5IHsKICAgICAgICByZXR1cm4gb2UoYSkobywgXywgbSk7CiAgICAgIH0gY2F0Y2ggKHcpIHsKICAgICAgICBpZiAoWShQKSwgdyAhPT0gdyArIDApIHRocm93IHc7CiAgICAgICAgSygxLCAwKTsKICAgICAgfQogICAgfQogICAgZnVuY3Rpb24gT3QoYSkgewogICAgICB2YXIgbyA9IEooKTsKICAgICAgdHJ5IHsKICAgICAgICBvZShhKSgpOwogICAgICB9IGNhdGNoIChfKSB7CiAgICAgICAgaWYgKFkobyksIF8gIT09IF8gKyAwKSB0aHJvdyBfOwogICAgICAgIEsoMSwgMCk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIEFyKGEsIG8pIHsKICAgICAgdmFyIF8gPSBKKCk7CiAgICAgIHRyeSB7CiAgICAgICAgcmV0dXJuIG9lKGEpKG8pOwogICAgICB9IGNhdGNoIChtKSB7CiAgICAgICAgaWYgKFkoXyksIG0gIT09IG0gKyAwKSB0aHJvdyBtOwogICAgICAgIEsoMSwgMCk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIFV0KGEsIG8sIF8pIHsKICAgICAgdmFyIG0gPSBKKCk7CiAgICAgIHRyeSB7CiAgICAgICAgcmV0dXJuIG9lKGEpKG8sIF8pOwogICAgICB9IGNhdGNoIChQKSB7CiAgICAgICAgaWYgKFkobSksIFAgIT09IFAgKyAwKSB0aHJvdyBQOwogICAgICAgIEsoMSwgMCk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIHJyKGEsIG8sIF8sIG0sIFAsIHcpIHsKICAgICAgdmFyIEUgPSBKKCk7CiAgICAgIHRyeSB7CiAgICAgICAgcmV0dXJuIG9lKGEpKG8sIF8sIG0sIFAsIHcpOwogICAgICB9IGNhdGNoIChUKSB7CiAgICAgICAgaWYgKFkoRSksIFQgIT09IFQgKyAwKSB0aHJvdyBUOwogICAgICAgIEsoMSwgMCk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIFJyKGEsIG8sIF8pIHsKICAgICAgdmFyIG0gPSBKKCk7CiAgICAgIHRyeSB7CiAgICAgICAgcmV0dXJuIG9lKGEpKG8sIF8pOwogICAgICB9IGNhdGNoIChQKSB7CiAgICAgICAgaWYgKFkobSksIFAgIT09IFAgKyAwKSB0aHJvdyBQOwogICAgICAgIEsoMSwgMCk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIFFyKGEsIG8pIHsKICAgICAgdmFyIF8gPSBKKCk7CiAgICAgIHRyeSB7CiAgICAgICAgb2UoYSkobyk7CiAgICAgIH0gY2F0Y2ggKG0pIHsKICAgICAgICBpZiAoWShfKSwgbSAhPT0gbSArIDApIHRocm93IG07CiAgICAgICAgSygxLCAwKTsKICAgICAgfQogICAgfQogICAgZnVuY3Rpb24geHQoYSwgbykgewogICAgICB2YXIgXyA9IEooKTsKICAgICAgdHJ5IHsKICAgICAgICBvZShhKShvKTsKICAgICAgfSBjYXRjaCAobSkgewogICAgICAgIGlmIChZKF8pLCBtICE9PSBtICsgMCkgdGhyb3cgbTsKICAgICAgICBLKDEsIDApOwogICAgICB9CiAgICB9CiAgICBmdW5jdGlvbiBqdChhLCBvLCBfLCBtKSB7CiAgICAgIHZhciBQID0gSigpOwogICAgICB0cnkgewogICAgICAgIHJldHVybiBvZShhKShvLCBfLCBtKTsKICAgICAgfSBjYXRjaCAodykgewogICAgICAgIGlmIChZKFApLCB3ICE9PSB3ICsgMCkgdGhyb3cgdzsKICAgICAgICBLKDEsIDApOwogICAgICB9CiAgICB9CiAgICBmdW5jdGlvbiBIdChhLCBvLCBfKSB7CiAgICAgIHZhciBtID0gSigpOwogICAgICB0cnkgewogICAgICAgIG9lKGEpKG8sIF8pOwogICAgICB9IGNhdGNoIChQKSB7CiAgICAgICAgaWYgKFkobSksIFAgIT09IFAgKyAwKSB0aHJvdyBQOwogICAgICAgIEsoMSwgMCk7CiAgICAgIH0KICAgIH0KICAgIGkuc3RhY2tTYXZlID0gSiwgaS5zdGFja1Jlc3RvcmUgPSBZOwogICAgdmFyIHRyOwogICAgVWUgPSBmdW5jdGlvbiBhKCkgewogICAgICB0ciB8fCBldCgpLCB0ciB8fCAoVWUgPSBhKTsKICAgIH07CiAgICBmdW5jdGlvbiBTcigpIHsKICAgICAgdmFyIGEgPSBlciwgbyA9IDAsIF8gPSAwOwogICAgICB0cnkgewogICAgICAgIHZhciBtID0gYShvLCBfKTsKICAgICAgICByZXR1cm4gUHIoCiAgICAgICAgICBtLAogICAgICAgICAgLyogaW1wbGljaXQgPSAqLwogICAgICAgICAgITAKICAgICAgICApLCBtOwogICAgICB9IGNhdGNoIChQKSB7CiAgICAgICAgcmV0dXJuIFMoUCk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIGV0KCkgewogICAgICBpZiAoJGUgPiAwIHx8IChVcigpLCAkZSA+IDApKQogICAgICAgIHJldHVybjsKICAgICAgZnVuY3Rpb24gYSgpIHsKICAgICAgICB2YXIgbzsKICAgICAgICB0ciB8fCAodHIgPSAhMCwgaS5jYWxsZWRSdW4gPSAhMCwgIU0gJiYgKHhyKCksIHZ0KCksIFIoaSksIChvID0gaS5vblJ1bnRpbWVJbml0aWFsaXplZCkgPT0gbnVsbCB8fCBvLmNhbGwoaSksIHJ0ICYmIFNyKCksIGx0KCkpKTsKICAgICAgfQogICAgICBpLnNldFN0YXR1cyA/IChpLnNldFN0YXR1cygiUnVubmluZy4uLiIpLCBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGkuc2V0U3RhdHVzKCIiKSwgMSksIGEoKTsKICAgICAgfSwgMSkpIDogYSgpOwogICAgfQogICAgaWYgKGkucHJlSW5pdCkKICAgICAgZm9yICh0eXBlb2YgaS5wcmVJbml0ID09ICJmdW5jdGlvbiIgJiYgKGkucHJlSW5pdCA9IFtpLnByZUluaXRdKTsgaS5wcmVJbml0Lmxlbmd0aCA+IDA7ICkKICAgICAgICBpLnByZUluaXQucG9wKCkoKTsKICAgIHZhciBydCA9ICEwOwogICAgcmV0dXJuIGkubm9Jbml0aWFsUnVuICYmIChydCA9ICExKSwgZXQoKSwgeSA9IE8sIHk7CiAgfTsKfSkoKTsKKCgpID0+IHsKICB2YXIgbDsKICB2YXIgdSA9IHR5cGVvZiBkb2N1bWVudCA8ICJ1IiA/IChsID0gZG9jdW1lbnQuY3VycmVudFNjcmlwdCkgPT0gbnVsbCA/IHZvaWQgMCA6IGwuc3JjIDogdm9pZCAwOwogIHJldHVybiBmdW5jdGlvbihkID0ge30pIHsKICAgIHZhciB5LCBpID0gZCwgUiwgaywgTyA9IG5ldyBQcm9taXNlKChlLCByKSA9PiB7CiAgICAgIFIgPSBlLCBrID0gcjsKICAgIH0pLCBJID0gT2JqZWN0LmFzc2lnbih7fSwgaSksIHogPSAoZSwgcikgPT4gewogICAgICB0aHJvdyByOwogICAgfSwgRCA9ICIiOwogICAgZnVuY3Rpb24gWihlKSB7CiAgICAgIHJldHVybiBpLmxvY2F0ZUZpbGUgPyBpLmxvY2F0ZUZpbGUoZSwgRCkgOiBEICsgZTsKICAgIH0KICAgIHZhciB4OwogICAgdHlwZW9mIGRvY3VtZW50IDwgInUiICYmIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQgJiYgKEQgPSBkb2N1bWVudC5jdXJyZW50U2NyaXB0LnNyYyksIHUgJiYgKEQgPSB1KSwgRC5zdGFydHNXaXRoKCJibG9iOiIpID8gRCA9ICIiIDogRCA9IEQuc3Vic3RyKDAsIEQucmVwbGFjZSgvWz8jXS4qLywgIiIpLmxhc3RJbmRleE9mKCIvIikgKyAxKSwgeCA9IChlKSA9PiBmZXRjaChlLCB7CiAgICAgIGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iCiAgICB9KS50aGVuKChyKSA9PiByLm9rID8gci5hcnJheUJ1ZmZlcigpIDogUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKHIuc3RhdHVzICsgIiA6ICIgKyByLnVybCkpKTsKICAgIHZhciBhZSA9IGkucHJpbnQgfHwgY29uc29sZS5sb2cuYmluZChjb25zb2xlKSwgZmUgPSBpLnByaW50RXJyIHx8IGNvbnNvbGUuZXJyb3IuYmluZChjb25zb2xlKTsKICAgIE9iamVjdC5hc3NpZ24oaSwgSSksIEkgPSBudWxsLCBpLmFyZ3VtZW50cyAmJiBpLmFyZ3VtZW50cywgaS50aGlzUHJvZ3JhbSAmJiBpLnRoaXNQcm9ncmFtOwogICAgdmFyIHZlID0gaS53YXNtQmluYXJ5LCBtZSwgbGUgPSAhMSwgVGUsIGllLCBNLCB5ZSwgd2UsIHNlLCBGLCBxLCBNZSwgZnIsIHZyOwogICAgZnVuY3Rpb24gT3IoKSB7CiAgICAgIHZhciBlID0gbWUuYnVmZmVyOwogICAgICBpLkhFQVA4ID0gaWUgPSBuZXcgSW50OEFycmF5KGUpLCBpLkhFQVAxNiA9IHllID0gbmV3IEludDE2QXJyYXkoZSksIGkuSEVBUFU4ID0gTSA9IG5ldyBVaW50OEFycmF5KGUpLCBpLkhFQVBVMTYgPSB3ZSA9IG5ldyBVaW50MTZBcnJheShlKSwgaS5IRUFQMzIgPSBzZSA9IG5ldyBJbnQzMkFycmF5KGUpLCBpLkhFQVBVMzIgPSBGID0gbmV3IFVpbnQzMkFycmF5KGUpLCBpLkhFQVBGMzIgPSBxID0gbmV3IEZsb2F0MzJBcnJheShlKSwgaS5IRUFQRjY0ID0gdnIgPSBuZXcgRmxvYXQ2NEFycmF5KGUpLCBpLkhFQVA2NCA9IE1lID0gbmV3IEJpZ0ludDY0QXJyYXkoZSksIGkuSEVBUFU2NCA9IGZyID0gbmV3IEJpZ1VpbnQ2NEFycmF5KGUpOwogICAgfQogICAgdmFyIGxyID0gW10sIFVyID0gW10sIHhyID0gW107CiAgICBmdW5jdGlvbiB2dCgpIHsKICAgICAgaWYgKGkucHJlUnVuKQogICAgICAgIGZvciAodHlwZW9mIGkucHJlUnVuID09ICJmdW5jdGlvbiIgJiYgKGkucHJlUnVuID0gW2kucHJlUnVuXSk7IGkucHJlUnVuLmxlbmd0aDsgKQogICAgICAgICAgcHQoaS5wcmVSdW4uc2hpZnQoKSk7CiAgICAgIEoobHIpOwogICAgfQogICAgZnVuY3Rpb24gbHQoKSB7CiAgICAgIEooVXIpOwogICAgfQogICAgZnVuY3Rpb24gX3QoKSB7CiAgICAgIGlmIChpLnBvc3RSdW4pCiAgICAgICAgZm9yICh0eXBlb2YgaS5wb3N0UnVuID09ICJmdW5jdGlvbiIgJiYgKGkucG9zdFJ1biA9IFtpLnBvc3RSdW5dKTsgaS5wb3N0UnVuLmxlbmd0aDsgKQogICAgICAgICAgVWUoaS5wb3N0UnVuLnNoaWZ0KCkpOwogICAgICBKKHhyKTsKICAgIH0KICAgIGZ1bmN0aW9uIHB0KGUpIHsKICAgICAgbHIudW5zaGlmdChlKTsKICAgIH0KICAgIGZ1bmN0aW9uICRlKGUpIHsKICAgICAgVXIudW5zaGlmdChlKTsKICAgIH0KICAgIGZ1bmN0aW9uIFVlKGUpIHsKICAgICAgeHIudW5zaGlmdChlKTsKICAgIH0KICAgIHZhciBDZSA9IDAsIHhlID0gbnVsbDsKICAgIGZ1bmN0aW9uIF9yKGUpIHsKICAgICAgdmFyIHI7CiAgICAgIENlKyssIChyID0gaS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzKSA9PSBudWxsIHx8IHIuY2FsbChpLCBDZSk7CiAgICB9CiAgICBmdW5jdGlvbiBkdChlKSB7CiAgICAgIHZhciB0OwogICAgICBpZiAoQ2UtLSwgKHQgPSBpLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMpID09IG51bGwgfHwgdC5jYWxsKGksIENlKSwgQ2UgPT0gMCAmJiB4ZSkgewogICAgICAgIHZhciByID0geGU7CiAgICAgICAgeGUgPSBudWxsLCByKCk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIHplKGUpIHsKICAgICAgdmFyIHQ7CiAgICAgICh0ID0gaS5vbkFib3J0KSA9PSBudWxsIHx8IHQuY2FsbChpLCBlKSwgZSA9ICJBYm9ydGVkKCIgKyBlICsgIikiLCBmZShlKSwgbGUgPSAhMCwgZSArPSAiLiBCdWlsZCB3aXRoIC1zQVNTRVJUSU9OUyBmb3IgbW9yZSBpbmZvLiI7CiAgICAgIHZhciByID0gbmV3IFdlYkFzc2VtYmx5LlJ1bnRpbWVFcnJvcihlKTsKICAgICAgdGhyb3cgayhyKSwgcjsKICAgIH0KICAgIHZhciBodCA9ICJkYXRhOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsIiwgR2UgPSAoZSkgPT4gZS5zdGFydHNXaXRoKGh0KTsKICAgIGZ1bmN0aW9uIGpyKCkgewogICAgICB2YXIgZSA9ICJqbGl2ZV91eF93ZWIud2FzbSI7CiAgICAgIHJldHVybiBHZShlKSA/IGUgOiBaKGUpOwogICAgfQogICAgdmFyIHByOwogICAgZnVuY3Rpb24gZHIoZSkgewogICAgICBpZiAoZSA9PSBwciAmJiB2ZSkKICAgICAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkodmUpOwogICAgICB0aHJvdyAiYm90aCBhc3luYyBhbmQgc3luYyBmZXRjaGluZyBvZiB0aGUgd2FzbSBmYWlsZWQiOwogICAgfQogICAgZnVuY3Rpb24gZ3QoZSkgewogICAgICByZXR1cm4gdmUgPyBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IGRyKGUpKSA6IHgoZSkudGhlbigKICAgICAgICAocikgPT4gbmV3IFVpbnQ4QXJyYXkoCiAgICAgICAgICAvKiogQHR5cGV7IUFycmF5QnVmZmVyfSAqLwogICAgICAgICAgcgogICAgICAgICksCiAgICAgICAgLy8gRmFsbCBiYWNrIHRvIGdldEJpbmFyeVN5bmMgaWYgcmVhZEFzeW5jIGZhaWxzCiAgICAgICAgKCkgPT4gZHIoZSkKICAgICAgKTsKICAgIH0KICAgIGZ1bmN0aW9uIEhyKGUsIHIsIHQpIHsKICAgICAgcmV0dXJuIGd0KGUpLnRoZW4oKG4pID0+IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG4sIHIpKS50aGVuKHQsIChuKSA9PiB7CiAgICAgICAgZmUoYGZhaWxlZCB0byBhc3luY2hyb25vdXNseSBwcmVwYXJlIHdhc206ICR7bn1gKSwgemUobik7CiAgICAgIH0pOwogICAgfQogICAgZnVuY3Rpb24gbXQoZSwgciwgdCwgbikgewogICAgICByZXR1cm4gIWUgJiYgdHlwZW9mIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nID09ICJmdW5jdGlvbiIgJiYgIUdlKHIpICYmIHR5cGVvZiBmZXRjaCA9PSAiZnVuY3Rpb24iID8gZmV0Y2gociwgewogICAgICAgIGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iCiAgICAgIH0pLnRoZW4oKHMpID0+IHsKICAgICAgICB2YXIgYyA9IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKHMsIHQpOwogICAgICAgIHJldHVybiBjLnRoZW4obiwgZnVuY3Rpb24oZikgewogICAgICAgICAgcmV0dXJuIGZlKGB3YXNtIHN0cmVhbWluZyBjb21waWxlIGZhaWxlZDogJHtmfWApLCBmZSgiZmFsbGluZyBiYWNrIHRvIEFycmF5QnVmZmVyIGluc3RhbnRpYXRpb24iKSwgSHIociwgdCwgbik7CiAgICAgICAgfSk7CiAgICAgIH0pIDogSHIociwgdCwgbik7CiAgICB9CiAgICBmdW5jdGlvbiBCcigpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBhOiBKYQogICAgICB9OwogICAgfQogICAgZnVuY3Rpb24gTmUoKSB7CiAgICAgIHZhciBlID0gQnIoKTsKICAgICAgZnVuY3Rpb24gcihuLCBzKSB7CiAgICAgICAgcmV0dXJuIE4gPSBuLmV4cG9ydHMsIG1lID0gTi5BYSwgT3IoKSwgUCA9IE4uRmEsICRlKE4uQmEpLCBkdCgpLCBOOwogICAgICB9CiAgICAgIF9yKCk7CiAgICAgIGZ1bmN0aW9uIHQobikgewogICAgICAgIHIobi5pbnN0YW5jZSk7CiAgICAgIH0KICAgICAgaWYgKGkuaW5zdGFudGlhdGVXYXNtKQogICAgICAgIHRyeSB7CiAgICAgICAgICByZXR1cm4gaS5pbnN0YW50aWF0ZVdhc20oZSwgcik7CiAgICAgICAgfSBjYXRjaCAobikgewogICAgICAgICAgZmUoYE1vZHVsZS5pbnN0YW50aWF0ZVdhc20gY2FsbGJhY2sgZmFpbGVkIHdpdGggZXJyb3I6ICR7bn1gKSwgayhuKTsKICAgICAgICB9CiAgICAgIHJldHVybiBwciA/PyAocHIgPSBqcigpKSwgbXQodmUsIHByLCBlLCB0KS5jYXRjaChrKSwge307CiAgICB9CiAgICB2YXIgVnIgPSB7CiAgICAgIDI0Mzg4OiAoZSkgPT4gewogICAgICAgIHRocm93IG5ldyBXZWJBc3NlbWJseS5SdW50aW1lRXJyb3IoZW4oZSkpOwogICAgICB9CiAgICB9OwogICAgZnVuY3Rpb24gWShlKSB7CiAgICAgIHRoaXMubmFtZSA9ICJFeGl0U3RhdHVzIiwgdGhpcy5tZXNzYWdlID0gYFByb2dyYW0gdGVybWluYXRlZCB3aXRoIGV4aXQoJHtlfSlgLCB0aGlzLnN0YXR1cyA9IGU7CiAgICB9CiAgICB2YXIgSiA9IChlKSA9PiB7CiAgICAgIGZvciAoOyBlLmxlbmd0aCA+IDA7ICkKICAgICAgICBlLnNoaWZ0KCkoaSk7CiAgICB9LCBfZSA9IGkubm9FeGl0UnVudGltZSB8fCAhMCwgVSA9IChlKSA9PiBnbihlKSwgaiA9ICgpID0+IG1uKCksIFEgPSBbXSwgeXQgPSAoZSkgPT4gewogICAgICB2YXIgciA9IG5ldyBxZShlKTsKICAgICAgcmV0dXJuIHIuZ2V0X2NhdWdodCgpIHx8IHIuc2V0X2NhdWdodCghMCksIHIuc2V0X3JldGhyb3duKCExKSwgUS5wdXNoKHIpLCBOdChlKSwgYm4oZSk7CiAgICB9LCB3dCA9ICgpID0+IHsKICAgICAgaWYgKCFRLmxlbmd0aCkKICAgICAgICByZXR1cm4gMDsKICAgICAgdmFyIGUgPSBRW1EubGVuZ3RoIC0gMV07CiAgICAgIHJldHVybiBOdChlLmV4Y1B0ciksIGUuZXhjUHRyOwogICAgfSwgZWUgPSAwLCBociA9ICgpID0+IHsKICAgICAgSCgwLCAwKTsKICAgICAgdmFyIGUgPSBRLnBvcCgpOwogICAgICB5bihlLmV4Y1B0ciksIGVlID0gMDsKICAgIH07CiAgICBjbGFzcyBxZSB7CiAgICAgIC8vIGV4Y1B0ciAtIFRocm93biBvYmplY3QgcG9pbnRlciB0byB3cmFwLiBNZXRhZGF0YSBwb2ludGVyIGlzIGNhbGN1bGF0ZWQgZnJvbSBpdC4KICAgICAgY29uc3RydWN0b3IocikgewogICAgICAgIHRoaXMuZXhjUHRyID0gciwgdGhpcy5wdHIgPSByIC0gMjQ7CiAgICAgIH0KICAgICAgc2V0X3R5cGUocikgewogICAgICAgIEZbdGhpcy5wdHIgKyA0ID4+IDJdID0gcjsKICAgICAgfQogICAgICBnZXRfdHlwZSgpIHsKICAgICAgICByZXR1cm4gRlt0aGlzLnB0ciArIDQgPj4gMl07CiAgICAgIH0KICAgICAgc2V0X2Rlc3RydWN0b3IocikgewogICAgICAgIEZbdGhpcy5wdHIgKyA4ID4+IDJdID0gcjsKICAgICAgfQogICAgICBnZXRfZGVzdHJ1Y3RvcigpIHsKICAgICAgICByZXR1cm4gRlt0aGlzLnB0ciArIDggPj4gMl07CiAgICAgIH0KICAgICAgc2V0X2NhdWdodChyKSB7CiAgICAgICAgciA9IHIgPyAxIDogMCwgaWVbdGhpcy5wdHIgKyAxMl0gPSByOwogICAgICB9CiAgICAgIGdldF9jYXVnaHQoKSB7CiAgICAgICAgcmV0dXJuIGllW3RoaXMucHRyICsgMTJdICE9IDA7CiAgICAgIH0KICAgICAgc2V0X3JldGhyb3duKHIpIHsKICAgICAgICByID0gciA/IDEgOiAwLCBpZVt0aGlzLnB0ciArIDEzXSA9IHI7CiAgICAgIH0KICAgICAgZ2V0X3JldGhyb3duKCkgewogICAgICAgIHJldHVybiBpZVt0aGlzLnB0ciArIDEzXSAhPSAwOwogICAgICB9CiAgICAgIC8vIEluaXRpYWxpemUgbmF0aXZlIHN0cnVjdHVyZSBmaWVsZHMuIFNob3VsZCBiZSBjYWxsZWQgb25jZSBhZnRlciBhbGxvY2F0ZWQuCiAgICAgIGluaXQociwgdCkgewogICAgICAgIHRoaXMuc2V0X2FkanVzdGVkX3B0cigwKSwgdGhpcy5zZXRfdHlwZShyKSwgdGhpcy5zZXRfZGVzdHJ1Y3Rvcih0KTsKICAgICAgfQogICAgICBzZXRfYWRqdXN0ZWRfcHRyKHIpIHsKICAgICAgICBGW3RoaXMucHRyICsgMTYgPj4gMl0gPSByOwogICAgICB9CiAgICAgIGdldF9hZGp1c3RlZF9wdHIoKSB7CiAgICAgICAgcmV0dXJuIEZbdGhpcy5wdHIgKyAxNiA+PiAyXTsKICAgICAgfQogICAgfQogICAgdmFyIGJ0ID0gKGUpID0+IHsKICAgICAgdGhyb3cgZWUgfHwgKGVlID0gZSksIGVlOwogICAgfSwgSmUgPSAoZSkgPT4gaG4oZSksIGdyID0gKGUpID0+IHsKICAgICAgdmFyIHIgPSBlZTsKICAgICAgaWYgKCFyKQogICAgICAgIHJldHVybiBKZSgwKSwgMDsKICAgICAgdmFyIHQgPSBuZXcgcWUocik7CiAgICAgIHQuc2V0X2FkanVzdGVkX3B0cihyKTsKICAgICAgdmFyIG4gPSB0LmdldF90eXBlKCk7CiAgICAgIGlmICghbikKICAgICAgICByZXR1cm4gSmUoMCksIHI7CiAgICAgIGZvciAodmFyIHMgb2YgZSkgewogICAgICAgIGlmIChzID09PSAwIHx8IHMgPT09IG4pCiAgICAgICAgICBicmVhazsKICAgICAgICB2YXIgYyA9IHQucHRyICsgMTY7CiAgICAgICAgaWYgKHduKHMsIG4sIGMpKQogICAgICAgICAgcmV0dXJuIEplKHMpLCByOwogICAgICB9CiAgICAgIHJldHVybiBKZShuKSwgcjsKICAgIH0sIExyID0gKCkgPT4gZ3IoW10pLCBNciA9IChlKSA9PiBncihbZV0pLCB6ciA9IChlLCByLCB0LCBuKSA9PiBncihbZSwgciwgdCwgbl0pLCBtciA9ICgpID0+IHsKICAgICAgdmFyIGUgPSBRLnBvcCgpOwogICAgICBlIHx8IHplKCJubyBleGNlcHRpb24gdG8gdGhyb3ciKTsKICAgICAgdmFyIHIgPSBlLmV4Y1B0cjsKICAgICAgdGhyb3cgZS5nZXRfcmV0aHJvd24oKSB8fCAoUS5wdXNoKGUpLCBlLnNldF9yZXRocm93bighMCksIGUuc2V0X2NhdWdodCghMSkpLCBlZSA9IHIsIGVlOwogICAgfSwgUHQgPSAoZSkgPT4gewogICAgICBpZiAoZSkgewogICAgICAgIHZhciByID0gbmV3IHFlKGUpOwogICAgICAgIFEucHVzaChyKSwgci5zZXRfcmV0aHJvd24oITApLCBtcigpOwogICAgICB9CiAgICB9LCBFdCA9IChlLCByLCB0KSA9PiB7CiAgICAgIHZhciBuID0gbmV3IHFlKGUpOwogICAgICB0aHJvdyBuLmluaXQociwgdCksIGVlID0gZSwgZWU7CiAgICB9LCBUdCA9ICgpID0+IHsKICAgICAgemUoIiIpOwogICAgfSwgV2UgPSAoZSwgcikgPT4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsICJuYW1lIiwgewogICAgICB2YWx1ZTogZQogICAgfSksIHlyID0gW10sIHBlID0gW10sIGplLCBDID0gKGUpID0+IHsKICAgICAgdGhyb3cgbmV3IGplKGUpOwogICAgfSwgJHQgPSAoKSA9PiBwZS5sZW5ndGggLyAyIC0gNSAtIHlyLmxlbmd0aCwgSGUgPSAoKSA9PiB7CiAgICAgIHBlLnB1c2goMCwgMSwgdm9pZCAwLCAxLCBudWxsLCAxLCAhMCwgMSwgITEsIDEpLCBpLmNvdW50X2VtdmFsX2hhbmRsZXMgPSAkdDsKICAgIH0sIFMgPSB7CiAgICAgIHRvVmFsdWU6IChlKSA9PiAoZSB8fCBDKCJDYW5ub3QgdXNlIGRlbGV0ZWQgdmFsLiBoYW5kbGUgPSAiICsgZSksIHBlW2VdKSwKICAgICAgdG9IYW5kbGU6IChlKSA9PiB7CiAgICAgICAgc3dpdGNoIChlKSB7CiAgICAgICAgICBjYXNlIHZvaWQgMDoKICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgICBjYXNlIG51bGw6CiAgICAgICAgICAgIHJldHVybiA0OwogICAgICAgICAgY2FzZSAhMDoKICAgICAgICAgICAgcmV0dXJuIDY7CiAgICAgICAgICBjYXNlICExOgogICAgICAgICAgICByZXR1cm4gODsKICAgICAgICAgIGRlZmF1bHQ6IHsKICAgICAgICAgICAgY29uc3QgciA9IHlyLnBvcCgpIHx8IHBlLmxlbmd0aDsKICAgICAgICAgICAgcmV0dXJuIHBlW3JdID0gZSwgcGVbciArIDFdID0gMSwgcjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sIHdyID0gKGUsIHIpID0+IHsKICAgICAgdmFyIHQgPSBXZShyLCBmdW5jdGlvbihuKSB7CiAgICAgICAgdGhpcy5uYW1lID0gciwgdGhpcy5tZXNzYWdlID0gbjsKICAgICAgICB2YXIgcyA9IG5ldyBFcnJvcihuKS5zdGFjazsKICAgICAgICBzICE9PSB2b2lkIDAgJiYgKHRoaXMuc3RhY2sgPSB0aGlzLnRvU3RyaW5nKCkgKyBgCmAgKyBzLnJlcGxhY2UoL15FcnJvcig6W15cbl0qKT9cbi8sICIiKSk7CiAgICAgIH0pOwogICAgICByZXR1cm4gdC5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSwgdC5wcm90b3R5cGUuY29uc3RydWN0b3IgPSB0LCB0LnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2UgPT09IHZvaWQgMCA/IHRoaXMubmFtZSA6IGAke3RoaXMubmFtZX06ICR7dGhpcy5tZXNzYWdlfWA7CiAgICAgIH0sIHQ7CiAgICB9LCBiciwgR3IgPSAoKSA9PiB7CiAgICAgIGZvciAodmFyIGUgPSBuZXcgQXJyYXkoMjU2KSwgciA9IDA7IHIgPCAyNTY7ICsrcikKICAgICAgICBlW3JdID0gU3RyaW5nLmZyb21DaGFyQ29kZShyKTsKICAgICAgUHIgPSBlOwogICAgfSwgUHIsIEwgPSAoZSkgPT4gewogICAgICBmb3IgKHZhciByID0gIiIsIHQgPSBlOyBNW3RdOyApCiAgICAgICAgciArPSBQcltNW3QrK11dOwogICAgICByZXR1cm4gcjsKICAgIH0sIEN0ID0gKCkgPT4gT2JqZWN0LmtleXMoZGUpLmxlbmd0aCwgQXQgPSAoKSA9PiB7CiAgICAgIHZhciBlID0gW107CiAgICAgIGZvciAodmFyIHIgaW4gZGUpCiAgICAgICAgZGUuaGFzT3duUHJvcGVydHkocikgJiYgZS5wdXNoKGRlW3JdKTsKICAgICAgcmV0dXJuIGU7CiAgICB9LCBEZSA9IFtdLCBFciA9ICgpID0+IHsKICAgICAgZm9yICg7IERlLmxlbmd0aDsgKSB7CiAgICAgICAgdmFyIGUgPSBEZS5wb3AoKTsKICAgICAgICBlLiQkLmRlbGV0ZVNjaGVkdWxlZCA9ICExLCBlLmRlbGV0ZSgpOwogICAgICB9CiAgICB9LCBCZSwgS2UgPSAoZSkgPT4gewogICAgICBCZSA9IGUsIERlLmxlbmd0aCAmJiBCZSAmJiBCZShFcik7CiAgICB9LCBSdCA9ICgpID0+IHsKICAgICAgaS5nZXRJbmhlcml0ZWRJbnN0YW5jZUNvdW50ID0gQ3QsIGkuZ2V0TGl2ZUluaGVyaXRlZEluc3RhbmNlcyA9IEF0LCBpLmZsdXNoUGVuZGluZ0RlbGV0ZXMgPSBFciwgaS5zZXREZWxheUZ1bmN0aW9uID0gS2U7CiAgICB9LCBkZSA9IHt9LCBZZSA9IChlLCByKSA9PiB7CiAgICAgIGZvciAociA9PT0gdm9pZCAwICYmIEMoInB0ciBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOyBlLmJhc2VDbGFzczsgKQogICAgICAgIHIgPSBlLnVwY2FzdChyKSwgZSA9IGUuYmFzZUNsYXNzOwogICAgICByZXR1cm4gcjsKICAgIH0sIFN0ID0gKGUsIHIsIHQpID0+IHsKICAgICAgciA9IFllKGUsIHIpLCBkZS5oYXNPd25Qcm9wZXJ0eShyKSA/IEMoYFRyaWVkIHRvIHJlZ2lzdGVyIHJlZ2lzdGVyZWQgaW5zdGFuY2U6ICR7cn1gKSA6IGRlW3JdID0gdDsKICAgIH0sIEFlID0ge30sIE5yID0gKGUpID0+IHsKICAgICAgdmFyIHIgPSBwbihlKSwgdCA9IEwocik7CiAgICAgIHJldHVybiBrZShyKSwgdDsKICAgIH0sIFhlID0gKGUsIHIpID0+IHsKICAgICAgdmFyIHQgPSBBZVtlXTsKICAgICAgcmV0dXJuIHQgPT09IHZvaWQgMCAmJiBDKGAke3J9IGhhcyB1bmtub3duIHR5cGUgJHtOcihlKX1gKSwgdDsKICAgIH0sIGt0ID0gKGUsIHIpID0+IHsKICAgICAgciA9IFllKGUsIHIpLCBkZS5oYXNPd25Qcm9wZXJ0eShyKSA/IGRlbGV0ZSBkZVtyXSA6IEMoYFRyaWVkIHRvIHVucmVnaXN0ZXIgdW5yZWdpc3RlcmVkIGluc3RhbmNlOiAke3J9YCk7CiAgICB9LCBaZSA9IChlKSA9PiB7CiAgICB9LCBUciA9ICExLCBJdCA9IChlKSA9PiB7CiAgICAgIGUuc21hcnRQdHIgPyBlLnNtYXJ0UHRyVHlwZS5yYXdEZXN0cnVjdG9yKGUuc21hcnRQdHIpIDogZS5wdHJUeXBlLnJlZ2lzdGVyZWRDbGFzcy5yYXdEZXN0cnVjdG9yKGUucHRyKTsKICAgIH0sIHFyID0gKGUpID0+IHsKICAgICAgZS5jb3VudC52YWx1ZSAtPSAxOwogICAgICB2YXIgciA9IGUuY291bnQudmFsdWUgPT09IDA7CiAgICAgIHIgJiYgSXQoZSk7CiAgICB9LCBKciA9IChlLCByLCB0KSA9PiB7CiAgICAgIGlmIChyID09PSB0KQogICAgICAgIHJldHVybiBlOwogICAgICBpZiAodC5iYXNlQ2xhc3MgPT09IHZvaWQgMCkKICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgdmFyIG4gPSBKcihlLCByLCB0LmJhc2VDbGFzcyk7CiAgICAgIHJldHVybiBuID09PSBudWxsID8gbnVsbCA6IHQuZG93bmNhc3Qobik7CiAgICB9LCAkciA9IHt9LCBvZSA9IChlLCByKSA9PiAociA9IFllKGUsIHIpLCBkZVtyXSksIEtyLCBRZSA9IChlKSA9PiB7CiAgICAgIHRocm93IG5ldyBLcihlKTsKICAgIH0sIFZlID0gKGUsIHIpID0+IHsKICAgICAgKCFyLnB0clR5cGUgfHwgIXIucHRyKSAmJiBRZSgibWFrZUNsYXNzSGFuZGxlIHJlcXVpcmVzIHB0ciBhbmQgcHRyVHlwZSIpOwogICAgICB2YXIgdCA9ICEhci5zbWFydFB0clR5cGUsIG4gPSAhIXIuc21hcnRQdHI7CiAgICAgIHJldHVybiB0ICE9PSBuICYmIFFlKCJCb3RoIHNtYXJ0UHRyVHlwZSBhbmQgc21hcnRQdHIgbXVzdCBiZSBzcGVjaWZpZWQiKSwgci5jb3VudCA9IHsKICAgICAgICB2YWx1ZTogMQogICAgICB9LCBGZShPYmplY3QuY3JlYXRlKGUsIHsKICAgICAgICAkJDogewogICAgICAgICAgdmFsdWU6IHIsCiAgICAgICAgICB3cml0YWJsZTogITAKICAgICAgICB9CiAgICAgIH0pKTsKICAgIH07CiAgICBmdW5jdGlvbiBXdChlKSB7CiAgICAgIHZhciByID0gdGhpcy5nZXRQb2ludGVlKGUpOwogICAgICBpZiAoIXIpCiAgICAgICAgcmV0dXJuIHRoaXMuZGVzdHJ1Y3RvcihlKSwgbnVsbDsKICAgICAgdmFyIHQgPSBvZSh0aGlzLnJlZ2lzdGVyZWRDbGFzcywgcik7CiAgICAgIGlmICh0ICE9PSB2b2lkIDApIHsKICAgICAgICBpZiAodC4kJC5jb3VudC52YWx1ZSA9PT0gMCkKICAgICAgICAgIHJldHVybiB0LiQkLnB0ciA9IHIsIHQuJCQuc21hcnRQdHIgPSBlLCB0LmNsb25lKCk7CiAgICAgICAgdmFyIG4gPSB0LmNsb25lKCk7CiAgICAgICAgcmV0dXJuIHRoaXMuZGVzdHJ1Y3RvcihlKSwgbjsKICAgICAgfQogICAgICBmdW5jdGlvbiBzKCkgewogICAgICAgIHJldHVybiB0aGlzLmlzU21hcnRQb2ludGVyID8gVmUodGhpcy5yZWdpc3RlcmVkQ2xhc3MuaW5zdGFuY2VQcm90b3R5cGUsIHsKICAgICAgICAgIHB0clR5cGU6IHRoaXMucG9pbnRlZVR5cGUsCiAgICAgICAgICBwdHI6IHIsCiAgICAgICAgICBzbWFydFB0clR5cGU6IHRoaXMsCiAgICAgICAgICBzbWFydFB0cjogZQogICAgICAgIH0pIDogVmUodGhpcy5yZWdpc3RlcmVkQ2xhc3MuaW5zdGFuY2VQcm90b3R5cGUsIHsKICAgICAgICAgIHB0clR5cGU6IHRoaXMsCiAgICAgICAgICBwdHI6IGUKICAgICAgICB9KTsKICAgICAgfQogICAgICB2YXIgYyA9IHRoaXMucmVnaXN0ZXJlZENsYXNzLmdldEFjdHVhbFR5cGUociksIGYgPSAkcltjXTsKICAgICAgaWYgKCFmKQogICAgICAgIHJldHVybiBzLmNhbGwodGhpcyk7CiAgICAgIHZhciB2OwogICAgICB0aGlzLmlzQ29uc3QgPyB2ID0gZi5jb25zdFBvaW50ZXJUeXBlIDogdiA9IGYucG9pbnRlclR5cGU7CiAgICAgIHZhciBwID0gSnIociwgdGhpcy5yZWdpc3RlcmVkQ2xhc3MsIHYucmVnaXN0ZXJlZENsYXNzKTsKICAgICAgcmV0dXJuIHAgPT09IG51bGwgPyBzLmNhbGwodGhpcykgOiB0aGlzLmlzU21hcnRQb2ludGVyID8gVmUodi5yZWdpc3RlcmVkQ2xhc3MuaW5zdGFuY2VQcm90b3R5cGUsIHsKICAgICAgICBwdHJUeXBlOiB2LAogICAgICAgIHB0cjogcCwKICAgICAgICBzbWFydFB0clR5cGU6IHRoaXMsCiAgICAgICAgc21hcnRQdHI6IGUKICAgICAgfSkgOiBWZSh2LnJlZ2lzdGVyZWRDbGFzcy5pbnN0YW5jZVByb3RvdHlwZSwgewogICAgICAgIHB0clR5cGU6IHYsCiAgICAgICAgcHRyOiBwCiAgICAgIH0pOwogICAgfQogICAgdmFyIEZlID0gKGUpID0+IHR5cGVvZiBGaW5hbGl6YXRpb25SZWdpc3RyeSA+ICJ1IiA/IChGZSA9IChyKSA9PiByLCBlKSA6IChUciA9IG5ldyBGaW5hbGl6YXRpb25SZWdpc3RyeSgocikgPT4gewogICAgICBxcihyLiQkKTsKICAgIH0pLCBGZSA9IChyKSA9PiB7CiAgICAgIHZhciB0ID0gci4kJCwgbiA9ICEhdC5zbWFydFB0cjsKICAgICAgaWYgKG4pIHsKICAgICAgICB2YXIgcyA9IHsKICAgICAgICAgICQkOiB0CiAgICAgICAgfTsKICAgICAgICBUci5yZWdpc3RlcihyLCBzLCByKTsKICAgICAgfQogICAgICByZXR1cm4gcjsKICAgIH0sIFplID0gKHIpID0+IFRyLnVucmVnaXN0ZXIociksIEZlKGUpKSwgRHQgPSAoZSwgciwgdCkgPT4gewogICAgICBlID0gTChlKSwgciA9IFhlKHIsICJ3cmFwcGVyIiksIHQgPSBTLnRvVmFsdWUodCk7CiAgICAgIHZhciBuID0gci5yZWdpc3RlcmVkQ2xhc3MsIHMgPSBuLmluc3RhbmNlUHJvdG90eXBlLCBjID0gbi5iYXNlQ2xhc3MsIGYgPSBjLmluc3RhbmNlUHJvdG90eXBlLCB2ID0gbi5iYXNlQ2xhc3MuY29uc3RydWN0b3IsIHAgPSBXZShlLCBmdW5jdGlvbiguLi5nKSB7CiAgICAgICAgbi5iYXNlQ2xhc3MucHVyZVZpcnR1YWxGdW5jdGlvbnMuZm9yRWFjaCgoZnVuY3Rpb24oaCkgewogICAgICAgICAgaWYgKHRoaXNbaF0gPT09IGZbaF0pCiAgICAgICAgICAgIHRocm93IG5ldyBicihgUHVyZSB2aXJ0dWFsIGZ1bmN0aW9uICR7aH0gbXVzdCBiZSBpbXBsZW1lbnRlZCBpbiBKYXZhU2NyaXB0YCk7CiAgICAgICAgfSkuYmluZCh0aGlzKSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAiX19wYXJlbnQiLCB7CiAgICAgICAgICB2YWx1ZTogcwogICAgICAgIH0pLCB0aGlzLl9fY29uc3RydWN0KC4uLmcpOwogICAgICB9KTsKICAgICAgcmV0dXJuIHMuX19jb25zdHJ1Y3QgPSBmdW5jdGlvbiguLi5oKSB7CiAgICAgICAgdGhpcyA9PT0gcyAmJiBDKCJQYXNzIGNvcnJlY3QgJ3RoaXMnIHRvIF9fY29uc3RydWN0Iik7CiAgICAgICAgdmFyIGIgPSB2LmltcGxlbWVudCh0aGlzLCAuLi5oKTsKICAgICAgICBaZShiKTsKICAgICAgICB2YXIgQSA9IGIuJCQ7CiAgICAgICAgYi5ub3RpZnlPbkRlc3RydWN0aW9uKCksIEEucHJlc2VydmVQb2ludGVyT25EZWxldGUgPSAhMCwgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGhpcywgewogICAgICAgICAgJCQ6IHsKICAgICAgICAgICAgdmFsdWU6IEEKICAgICAgICAgIH0KICAgICAgICB9KSwgRmUodGhpcyksIFN0KG4sIEEucHRyLCB0aGlzKTsKICAgICAgfSwgcy5fX2Rlc3RydWN0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgdGhpcyA9PT0gcyAmJiBDKCJQYXNzIGNvcnJlY3QgJ3RoaXMnIHRvIF9fZGVzdHJ1Y3QiKSwgWmUodGhpcyksIGt0KG4sIHRoaXMuJCQucHRyKTsKICAgICAgfSwgcC5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHMpLCBPYmplY3QuYXNzaWduKHAucHJvdG90eXBlLCB0KSwgUy50b0hhbmRsZShwKTsKICAgIH0sIFcgPSB7fSwgZXIgPSAoZSkgPT4gewogICAgICBmb3IgKDsgZS5sZW5ndGg7ICkgewogICAgICAgIHZhciByID0gZS5wb3AoKSwgdCA9IGUucG9wKCk7CiAgICAgICAgdChyKTsKICAgICAgfQogICAgfTsKICAgIGZ1bmN0aW9uIFJlKGUpIHsKICAgICAgcmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKEZbZSA+PiAyXSk7CiAgICB9CiAgICB2YXIgU2UgPSB7fSwgSyA9IHt9LCBiZSA9IChlLCByLCB0KSA9PiB7CiAgICAgIGUuZm9yRWFjaCgodikgPT4gS1t2XSA9IHIpOwogICAgICBmdW5jdGlvbiBuKHYpIHsKICAgICAgICB2YXIgcCA9IHQodik7CiAgICAgICAgcC5sZW5ndGggIT09IGUubGVuZ3RoICYmIFFlKCJNaXNtYXRjaGVkIHR5cGUgY29udmVydGVyIGNvdW50Iik7CiAgICAgICAgZm9yICh2YXIgZyA9IDA7IGcgPCBlLmxlbmd0aDsgKytnKQogICAgICAgICAgcmUoZVtnXSwgcFtnXSk7CiAgICAgIH0KICAgICAgdmFyIHMgPSBuZXcgQXJyYXkoci5sZW5ndGgpLCBjID0gW10sIGYgPSAwOwogICAgICByLmZvckVhY2goKHYsIHApID0+IHsKICAgICAgICBBZS5oYXNPd25Qcm9wZXJ0eSh2KSA/IHNbcF0gPSBBZVt2XSA6IChjLnB1c2godiksIFNlLmhhc093blByb3BlcnR5KHYpIHx8IChTZVt2XSA9IFtdKSwgU2Vbdl0ucHVzaCgoKSA9PiB7CiAgICAgICAgICBzW3BdID0gQWVbdl0sICsrZiwgZiA9PT0gYy5sZW5ndGggJiYgbihzKTsKICAgICAgICB9KSk7CiAgICAgIH0pLCBjLmxlbmd0aCA9PT0gMCAmJiBuKHMpOwogICAgfSwgWXIgPSAoZSkgPT4gewogICAgICB2YXIgciA9IFdbZV07CiAgICAgIGRlbGV0ZSBXW2VdOwogICAgICB2YXIgdCA9IHIucmF3Q29uc3RydWN0b3IsIG4gPSByLnJhd0Rlc3RydWN0b3IsIHMgPSByLmZpZWxkcywgYyA9IHMubWFwKChmKSA9PiBmLmdldHRlclJldHVyblR5cGUpLmNvbmNhdChzLm1hcCgoZikgPT4gZi5zZXR0ZXJBcmd1bWVudFR5cGUpKTsKICAgICAgYmUoW2VdLCBjLCAoZikgPT4gewogICAgICAgIHZhciB2ID0ge307CiAgICAgICAgcmV0dXJuIHMuZm9yRWFjaCgocCwgZykgPT4gewogICAgICAgICAgdmFyIGggPSBwLmZpZWxkTmFtZSwgYiA9IGZbZ10sIEEgPSBwLmdldHRlciwgQiA9IHAuZ2V0dGVyQ29udGV4dCwgViA9IGZbZyArIHMubGVuZ3RoXSwgY2UgPSBwLnNldHRlciwgdWUgPSBwLnNldHRlckNvbnRleHQ7CiAgICAgICAgICB2W2hdID0gewogICAgICAgICAgICByZWFkOiAoWCkgPT4gYi5mcm9tV2lyZVR5cGUoQShCLCBYKSksCiAgICAgICAgICAgIHdyaXRlOiAoWCwgRnIpID0+IHsKICAgICAgICAgICAgICB2YXIgbmUgPSBbXTsKICAgICAgICAgICAgICBjZSh1ZSwgWCwgVi50b1dpcmVUeXBlKG5lLCBGcikpLCBlcihuZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH07CiAgICAgICAgfSksIFt7CiAgICAgICAgICBuYW1lOiByLm5hbWUsCiAgICAgICAgICBmcm9tV2lyZVR5cGU6IChwKSA9PiB7CiAgICAgICAgICAgIHZhciBnID0ge307CiAgICAgICAgICAgIGZvciAodmFyIGggaW4gdikKICAgICAgICAgICAgICBnW2hdID0gdltoXS5yZWFkKHApOwogICAgICAgICAgICByZXR1cm4gbihwKSwgZzsKICAgICAgICAgIH0sCiAgICAgICAgICB0b1dpcmVUeXBlOiAocCwgZykgPT4gewogICAgICAgICAgICBmb3IgKHZhciBoIGluIHYpCiAgICAgICAgICAgICAgaWYgKCEoaCBpbiBnKSkKICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYE1pc3NpbmcgZmllbGQ6ICIke2h9ImApOwogICAgICAgICAgICB2YXIgYiA9IHQoKTsKICAgICAgICAgICAgZm9yIChoIGluIHYpCiAgICAgICAgICAgICAgdltoXS53cml0ZShiLCBnW2hdKTsKICAgICAgICAgICAgcmV0dXJuIHAgIT09IG51bGwgJiYgcC5wdXNoKG4sIGIpLCBiOwogICAgICAgICAgfSwKICAgICAgICAgIGFyZ1BhY2tBZHZhbmNlOiB0ZSwKICAgICAgICAgIHJlYWRWYWx1ZUZyb21Qb2ludGVyOiBSZSwKICAgICAgICAgIGRlc3RydWN0b3JGdW5jdGlvbjogbgogICAgICAgIH1dOwogICAgICB9KTsKICAgIH0sIExlID0gKGUpID0+IHsKICAgICAgaWYgKGUgPT09IG51bGwpCiAgICAgICAgcmV0dXJuICJudWxsIjsKICAgICAgdmFyIHIgPSB0eXBlb2YgZTsKICAgICAgcmV0dXJuIHIgPT09ICJvYmplY3QiIHx8IHIgPT09ICJhcnJheSIgfHwgciA9PT0gImZ1bmN0aW9uIiA/IGUudG9TdHJpbmcoKSA6ICIiICsgZTsKICAgIH07CiAgICBmdW5jdGlvbiBYcihlLCByLCB0ID0ge30pIHsKICAgICAgdmFyIG4gPSByLm5hbWU7CiAgICAgIGlmIChlIHx8IEMoYHR5cGUgIiR7bn0iIG11c3QgaGF2ZSBhIHBvc2l0aXZlIGludGVnZXIgdHlwZWlkIHBvaW50ZXJgKSwgQWUuaGFzT3duUHJvcGVydHkoZSkpIHsKICAgICAgICBpZiAodC5pZ25vcmVEdXBsaWNhdGVSZWdpc3RyYXRpb25zKQogICAgICAgICAgcmV0dXJuOwogICAgICAgIEMoYENhbm5vdCByZWdpc3RlciB0eXBlICcke259JyB0d2ljZWApOwogICAgICB9CiAgICAgIGlmIChBZVtlXSA9IHIsIGRlbGV0ZSBLW2VdLCBTZS5oYXNPd25Qcm9wZXJ0eShlKSkgewogICAgICAgIHZhciBzID0gU2VbZV07CiAgICAgICAgZGVsZXRlIFNlW2VdLCBzLmZvckVhY2goKGMpID0+IGMoKSk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIHJlKGUsIHIsIHQgPSB7fSkgewogICAgICByZXR1cm4gWHIoZSwgciwgdCk7CiAgICB9CiAgICB2YXIgQ3IgPSAoZSwgciwgdCkgPT4gewogICAgICBzd2l0Y2ggKHIpIHsKICAgICAgICBjYXNlIDE6CiAgICAgICAgICByZXR1cm4gdCA/IChuKSA9PiBpZVtuXSA6IChuKSA9PiBNW25dOwogICAgICAgIGNhc2UgMjoKICAgICAgICAgIHJldHVybiB0ID8gKG4pID0+IHllW24gPj4gMV0gOiAobikgPT4gd2VbbiA+PiAxXTsKICAgICAgICBjYXNlIDQ6CiAgICAgICAgICByZXR1cm4gdCA/IChuKSA9PiBzZVtuID4+IDJdIDogKG4pID0+IEZbbiA+PiAyXTsKICAgICAgICBjYXNlIDg6CiAgICAgICAgICByZXR1cm4gdCA/IChuKSA9PiBNZVtuID4+IDNdIDogKG4pID0+IGZyW24gPj4gM107CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYGludmFsaWQgaW50ZWdlciB3aWR0aCAoJHtyfSk6ICR7ZX1gKTsKICAgICAgfQogICAgfSwgWnIgPSAoZSwgciwgdCwgbiwgcykgPT4gewogICAgICByID0gTChyKTsKICAgICAgdmFyIGMgPSByLmluZGV4T2YoInUiKSAhPSAtMTsKICAgICAgcmUoZSwgewogICAgICAgIG5hbWU6IHIsCiAgICAgICAgZnJvbVdpcmVUeXBlOiAoZikgPT4gZiwKICAgICAgICB0b1dpcmVUeXBlOiBmdW5jdGlvbihmLCB2KSB7CiAgICAgICAgICBpZiAodHlwZW9mIHYgIT0gImJpZ2ludCIgJiYgdHlwZW9mIHYgIT0gIm51bWJlciIpCiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYENhbm5vdCBjb252ZXJ0ICIke0xlKHYpfSIgdG8gJHt0aGlzLm5hbWV9YCk7CiAgICAgICAgICByZXR1cm4gdHlwZW9mIHYgPT0gIm51bWJlciIgJiYgKHYgPSBCaWdJbnQodikpLCB2OwogICAgICAgIH0sCiAgICAgICAgYXJnUGFja0FkdmFuY2U6IHRlLAogICAgICAgIHJlYWRWYWx1ZUZyb21Qb2ludGVyOiBDcihyLCB0LCAhYyksCiAgICAgICAgZGVzdHJ1Y3RvckZ1bmN0aW9uOiBudWxsCiAgICAgIH0pOwogICAgfSwgdGUgPSA4LCBGdCA9IChlLCByLCB0LCBuKSA9PiB7CiAgICAgIHIgPSBMKHIpLCByZShlLCB7CiAgICAgICAgbmFtZTogciwKICAgICAgICBmcm9tV2lyZVR5cGU6IGZ1bmN0aW9uKHMpIHsKICAgICAgICAgIHJldHVybiAhIXM7CiAgICAgICAgfSwKICAgICAgICB0b1dpcmVUeXBlOiBmdW5jdGlvbihzLCBjKSB7CiAgICAgICAgICByZXR1cm4gYyA/IHQgOiBuOwogICAgICAgIH0sCiAgICAgICAgYXJnUGFja0FkdmFuY2U6IHRlLAogICAgICAgIHJlYWRWYWx1ZUZyb21Qb2ludGVyOiBmdW5jdGlvbihzKSB7CiAgICAgICAgICByZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUoTVtzXSk7CiAgICAgICAgfSwKICAgICAgICBkZXN0cnVjdG9yRnVuY3Rpb246IG51bGwKICAgICAgfSk7CiAgICB9LCBPdCA9IChlKSA9PiAoewogICAgICBjb3VudDogZS5jb3VudCwKICAgICAgZGVsZXRlU2NoZWR1bGVkOiBlLmRlbGV0ZVNjaGVkdWxlZCwKICAgICAgcHJlc2VydmVQb2ludGVyT25EZWxldGU6IGUucHJlc2VydmVQb2ludGVyT25EZWxldGUsCiAgICAgIHB0cjogZS5wdHIsCiAgICAgIHB0clR5cGU6IGUucHRyVHlwZSwKICAgICAgc21hcnRQdHI6IGUuc21hcnRQdHIsCiAgICAgIHNtYXJ0UHRyVHlwZTogZS5zbWFydFB0clR5cGUKICAgIH0pLCBBciA9IChlKSA9PiB7CiAgICAgIGZ1bmN0aW9uIHIodCkgewogICAgICAgIHJldHVybiB0LiQkLnB0clR5cGUucmVnaXN0ZXJlZENsYXNzLm5hbWU7CiAgICAgIH0KICAgICAgQyhyKGUpICsgIiBpbnN0YW5jZSBhbHJlYWR5IGRlbGV0ZWQiKTsKICAgIH0sIFV0ID0gKCkgPT4gewogICAgICBPYmplY3QuYXNzaWduKHJyLnByb3RvdHlwZSwgewogICAgICAgIGlzQWxpYXNPZihlKSB7CiAgICAgICAgICBpZiAoISh0aGlzIGluc3RhbmNlb2YgcnIpIHx8ICEoZSBpbnN0YW5jZW9mIHJyKSkKICAgICAgICAgICAgcmV0dXJuICExOwogICAgICAgICAgdmFyIHIgPSB0aGlzLiQkLnB0clR5cGUucmVnaXN0ZXJlZENsYXNzLCB0ID0gdGhpcy4kJC5wdHI7CiAgICAgICAgICBlLiQkID0gLyoqIEB0eXBlIHtPYmplY3R9ICovCiAgICAgICAgICBlLiQkOwogICAgICAgICAgZm9yICh2YXIgbiA9IGUuJCQucHRyVHlwZS5yZWdpc3RlcmVkQ2xhc3MsIHMgPSBlLiQkLnB0cjsgci5iYXNlQ2xhc3M7ICkKICAgICAgICAgICAgdCA9IHIudXBjYXN0KHQpLCByID0gci5iYXNlQ2xhc3M7CiAgICAgICAgICBmb3IgKDsgbi5iYXNlQ2xhc3M7ICkKICAgICAgICAgICAgcyA9IG4udXBjYXN0KHMpLCBuID0gbi5iYXNlQ2xhc3M7CiAgICAgICAgICByZXR1cm4gciA9PT0gbiAmJiB0ID09PSBzOwogICAgICAgIH0sCiAgICAgICAgY2xvbmUoKSB7CiAgICAgICAgICBpZiAodGhpcy4kJC5wdHIgfHwgQXIodGhpcyksIHRoaXMuJCQucHJlc2VydmVQb2ludGVyT25EZWxldGUpCiAgICAgICAgICAgIHJldHVybiB0aGlzLiQkLmNvdW50LnZhbHVlICs9IDEsIHRoaXM7CiAgICAgICAgICB2YXIgZSA9IEZlKE9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLCB7CiAgICAgICAgICAgICQkOiB7CiAgICAgICAgICAgICAgdmFsdWU6IE90KHRoaXMuJCQpCiAgICAgICAgICAgIH0KICAgICAgICAgIH0pKTsKICAgICAgICAgIHJldHVybiBlLiQkLmNvdW50LnZhbHVlICs9IDEsIGUuJCQuZGVsZXRlU2NoZWR1bGVkID0gITEsIGU7CiAgICAgICAgfSwKICAgICAgICBkZWxldGUoKSB7CiAgICAgICAgICB0aGlzLiQkLnB0ciB8fCBBcih0aGlzKSwgdGhpcy4kJC5kZWxldGVTY2hlZHVsZWQgJiYgIXRoaXMuJCQucHJlc2VydmVQb2ludGVyT25EZWxldGUgJiYgQygiT2JqZWN0IGFscmVhZHkgc2NoZWR1bGVkIGZvciBkZWxldGlvbiIpLCBaZSh0aGlzKSwgcXIodGhpcy4kJCksIHRoaXMuJCQucHJlc2VydmVQb2ludGVyT25EZWxldGUgfHwgKHRoaXMuJCQuc21hcnRQdHIgPSB2b2lkIDAsIHRoaXMuJCQucHRyID0gdm9pZCAwKTsKICAgICAgICB9LAogICAgICAgIGlzRGVsZXRlZCgpIHsKICAgICAgICAgIHJldHVybiAhdGhpcy4kJC5wdHI7CiAgICAgICAgfSwKICAgICAgICBkZWxldGVMYXRlcigpIHsKICAgICAgICAgIHJldHVybiB0aGlzLiQkLnB0ciB8fCBBcih0aGlzKSwgdGhpcy4kJC5kZWxldGVTY2hlZHVsZWQgJiYgIXRoaXMuJCQucHJlc2VydmVQb2ludGVyT25EZWxldGUgJiYgQygiT2JqZWN0IGFscmVhZHkgc2NoZWR1bGVkIGZvciBkZWxldGlvbiIpLCBEZS5wdXNoKHRoaXMpLCBEZS5sZW5ndGggPT09IDEgJiYgQmUgJiYgQmUoRXIpLCB0aGlzLiQkLmRlbGV0ZVNjaGVkdWxlZCA9ICEwLCB0aGlzOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9OwogICAgZnVuY3Rpb24gcnIoKSB7CiAgICB9CiAgICB2YXIgUnIgPSAoZSwgciwgdCkgPT4gewogICAgICBpZiAoZVtyXS5vdmVybG9hZFRhYmxlID09PSB2b2lkIDApIHsKICAgICAgICB2YXIgbiA9IGVbcl07CiAgICAgICAgZVtyXSA9IGZ1bmN0aW9uKC4uLnMpIHsKICAgICAgICAgIHJldHVybiBlW3JdLm92ZXJsb2FkVGFibGUuaGFzT3duUHJvcGVydHkocy5sZW5ndGgpIHx8IEMoYEZ1bmN0aW9uICcke3R9JyBjYWxsZWQgd2l0aCBhbiBpbnZhbGlkIG51bWJlciBvZiBhcmd1bWVudHMgKCR7cy5sZW5ndGh9KSAtIGV4cGVjdHMgb25lIG9mICgke2Vbcl0ub3ZlcmxvYWRUYWJsZX0pIWApLCBlW3JdLm92ZXJsb2FkVGFibGVbcy5sZW5ndGhdLmFwcGx5KHRoaXMsIHMpOwogICAgICAgIH0sIGVbcl0ub3ZlcmxvYWRUYWJsZSA9IFtdLCBlW3JdLm92ZXJsb2FkVGFibGVbbi5hcmdDb3VudF0gPSBuOwogICAgICB9CiAgICB9LCBRciA9IChlLCByLCB0KSA9PiB7CiAgICAgIGkuaGFzT3duUHJvcGVydHkoZSkgPyAoKHQgPT09IHZvaWQgMCB8fCBpW2VdLm92ZXJsb2FkVGFibGUgIT09IHZvaWQgMCAmJiBpW2VdLm92ZXJsb2FkVGFibGVbdF0gIT09IHZvaWQgMCkgJiYgQyhgQ2Fubm90IHJlZ2lzdGVyIHB1YmxpYyBuYW1lICcke2V9JyB0d2ljZWApLCBScihpLCBlLCBlKSwgaS5oYXNPd25Qcm9wZXJ0eSh0KSAmJiBDKGBDYW5ub3QgcmVnaXN0ZXIgbXVsdGlwbGUgb3ZlcmxvYWRzIG9mIGEgZnVuY3Rpb24gd2l0aCB0aGUgc2FtZSBudW1iZXIgb2YgYXJndW1lbnRzICgke3R9KSFgKSwgaVtlXS5vdmVybG9hZFRhYmxlW3RdID0gcikgOiAoaVtlXSA9IHIsIHQgIT09IHZvaWQgMCAmJiAoaVtlXS5udW1Bcmd1bWVudHMgPSB0KSk7CiAgICB9LCB4dCA9IDQ4LCBqdCA9IDU3LCBIdCA9IChlKSA9PiB7CiAgICAgIGlmIChlID09PSB2b2lkIDApCiAgICAgICAgcmV0dXJuICJfdW5rbm93biI7CiAgICAgIGUgPSBlLnJlcGxhY2UoL1teYS16QS1aMC05X10vZywgIiQiKTsKICAgICAgdmFyIHIgPSBlLmNoYXJDb2RlQXQoMCk7CiAgICAgIHJldHVybiByID49IHh0ICYmIHIgPD0ganQgPyBgXyR7ZX1gIDogZTsKICAgIH07CiAgICBmdW5jdGlvbiB0cihlLCByLCB0LCBuLCBzLCBjLCBmLCB2KSB7CiAgICAgIHRoaXMubmFtZSA9IGUsIHRoaXMuY29uc3RydWN0b3IgPSByLCB0aGlzLmluc3RhbmNlUHJvdG90eXBlID0gdCwgdGhpcy5yYXdEZXN0cnVjdG9yID0gbiwgdGhpcy5iYXNlQ2xhc3MgPSBzLCB0aGlzLmdldEFjdHVhbFR5cGUgPSBjLCB0aGlzLnVwY2FzdCA9IGYsIHRoaXMuZG93bmNhc3QgPSB2LCB0aGlzLnB1cmVWaXJ0dWFsRnVuY3Rpb25zID0gW107CiAgICB9CiAgICB2YXIgU3IgPSAoZSwgciwgdCkgPT4gewogICAgICBmb3IgKDsgciAhPT0gdDsgKQogICAgICAgIHIudXBjYXN0IHx8IEMoYEV4cGVjdGVkIG51bGwgb3IgaW5zdGFuY2Ugb2YgJHt0Lm5hbWV9LCBnb3QgYW4gaW5zdGFuY2Ugb2YgJHtyLm5hbWV9YCksIGUgPSByLnVwY2FzdChlKSwgciA9IHIuYmFzZUNsYXNzOwogICAgICByZXR1cm4gZTsKICAgIH07CiAgICBmdW5jdGlvbiBldChlLCByKSB7CiAgICAgIGlmIChyID09PSBudWxsKQogICAgICAgIHJldHVybiB0aGlzLmlzUmVmZXJlbmNlICYmIEMoYG51bGwgaXMgbm90IGEgdmFsaWQgJHt0aGlzLm5hbWV9YCksIDA7CiAgICAgIHIuJCQgfHwgQyhgQ2Fubm90IHBhc3MgIiR7TGUocil9IiBhcyBhICR7dGhpcy5uYW1lfWApLCByLiQkLnB0ciB8fCBDKGBDYW5ub3QgcGFzcyBkZWxldGVkIG9iamVjdCBhcyBhIHBvaW50ZXIgb2YgdHlwZSAke3RoaXMubmFtZX1gKTsKICAgICAgdmFyIHQgPSByLiQkLnB0clR5cGUucmVnaXN0ZXJlZENsYXNzLCBuID0gU3Ioci4kJC5wdHIsIHQsIHRoaXMucmVnaXN0ZXJlZENsYXNzKTsKICAgICAgcmV0dXJuIG47CiAgICB9CiAgICBmdW5jdGlvbiBydChlLCByKSB7CiAgICAgIHZhciB0OwogICAgICBpZiAociA9PT0gbnVsbCkKICAgICAgICByZXR1cm4gdGhpcy5pc1JlZmVyZW5jZSAmJiBDKGBudWxsIGlzIG5vdCBhIHZhbGlkICR7dGhpcy5uYW1lfWApLCB0aGlzLmlzU21hcnRQb2ludGVyID8gKHQgPSB0aGlzLnJhd0NvbnN0cnVjdG9yKCksIGUgIT09IG51bGwgJiYgZS5wdXNoKHRoaXMucmF3RGVzdHJ1Y3RvciwgdCksIHQpIDogMDsKICAgICAgKCFyIHx8ICFyLiQkKSAmJiBDKGBDYW5ub3QgcGFzcyAiJHtMZShyKX0iIGFzIGEgJHt0aGlzLm5hbWV9YCksIHIuJCQucHRyIHx8IEMoYENhbm5vdCBwYXNzIGRlbGV0ZWQgb2JqZWN0IGFzIGEgcG9pbnRlciBvZiB0eXBlICR7dGhpcy5uYW1lfWApLCAhdGhpcy5pc0NvbnN0ICYmIHIuJCQucHRyVHlwZS5pc0NvbnN0ICYmIEMoYENhbm5vdCBjb252ZXJ0IGFyZ3VtZW50IG9mIHR5cGUgJHtyLiQkLnNtYXJ0UHRyVHlwZSA/IHIuJCQuc21hcnRQdHJUeXBlLm5hbWUgOiByLiQkLnB0clR5cGUubmFtZX0gdG8gcGFyYW1ldGVyIHR5cGUgJHt0aGlzLm5hbWV9YCk7CiAgICAgIHZhciBuID0gci4kJC5wdHJUeXBlLnJlZ2lzdGVyZWRDbGFzczsKICAgICAgaWYgKHQgPSBTcihyLiQkLnB0ciwgbiwgdGhpcy5yZWdpc3RlcmVkQ2xhc3MpLCB0aGlzLmlzU21hcnRQb2ludGVyKQogICAgICAgIHN3aXRjaCAoci4kJC5zbWFydFB0ciA9PT0gdm9pZCAwICYmIEMoIlBhc3NpbmcgcmF3IHBvaW50ZXIgdG8gc21hcnQgcG9pbnRlciBpcyBpbGxlZ2FsIiksIHRoaXMuc2hhcmluZ1BvbGljeSkgewogICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICByLiQkLnNtYXJ0UHRyVHlwZSA9PT0gdGhpcyA/IHQgPSByLiQkLnNtYXJ0UHRyIDogQyhgQ2Fubm90IGNvbnZlcnQgYXJndW1lbnQgb2YgdHlwZSAke3IuJCQuc21hcnRQdHJUeXBlID8gci4kJC5zbWFydFB0clR5cGUubmFtZSA6IHIuJCQucHRyVHlwZS5uYW1lfSB0byBwYXJhbWV0ZXIgdHlwZSAke3RoaXMubmFtZX1gKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgIHQgPSByLiQkLnNtYXJ0UHRyOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgaWYgKHIuJCQuc21hcnRQdHJUeXBlID09PSB0aGlzKQogICAgICAgICAgICAgIHQgPSByLiQkLnNtYXJ0UHRyOwogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICB2YXIgcyA9IHIuY2xvbmUoKTsKICAgICAgICAgICAgICB0ID0gdGhpcy5yYXdTaGFyZSh0LCBTLnRvSGFuZGxlKCgpID0+IHMuZGVsZXRlKCkpKSwgZSAhPT0gbnVsbCAmJiBlLnB1c2godGhpcy5yYXdEZXN0cnVjdG9yLCB0KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIEMoIlVuc3VwcG9ydGluZyBzaGFyaW5nIHBvbGljeSIpOwogICAgICAgIH0KICAgICAgcmV0dXJuIHQ7CiAgICB9CiAgICBmdW5jdGlvbiBhKGUsIHIpIHsKICAgICAgaWYgKHIgPT09IG51bGwpCiAgICAgICAgcmV0dXJuIHRoaXMuaXNSZWZlcmVuY2UgJiYgQyhgbnVsbCBpcyBub3QgYSB2YWxpZCAke3RoaXMubmFtZX1gKSwgMDsKICAgICAgci4kJCB8fCBDKGBDYW5ub3QgcGFzcyAiJHtMZShyKX0iIGFzIGEgJHt0aGlzLm5hbWV9YCksIHIuJCQucHRyIHx8IEMoYENhbm5vdCBwYXNzIGRlbGV0ZWQgb2JqZWN0IGFzIGEgcG9pbnRlciBvZiB0eXBlICR7dGhpcy5uYW1lfWApLCByLiQkLnB0clR5cGUuaXNDb25zdCAmJiBDKGBDYW5ub3QgY29udmVydCBhcmd1bWVudCBvZiB0eXBlICR7ci4kJC5wdHJUeXBlLm5hbWV9IHRvIHBhcmFtZXRlciB0eXBlICR7dGhpcy5uYW1lfWApOwogICAgICB2YXIgdCA9IHIuJCQucHRyVHlwZS5yZWdpc3RlcmVkQ2xhc3MsIG4gPSBTcihyLiQkLnB0ciwgdCwgdGhpcy5yZWdpc3RlcmVkQ2xhc3MpOwogICAgICByZXR1cm4gbjsKICAgIH0KICAgIHZhciBvID0gKCkgPT4gewogICAgICBPYmplY3QuYXNzaWduKF8ucHJvdG90eXBlLCB7CiAgICAgICAgZ2V0UG9pbnRlZShlKSB7CiAgICAgICAgICByZXR1cm4gdGhpcy5yYXdHZXRQb2ludGVlICYmIChlID0gdGhpcy5yYXdHZXRQb2ludGVlKGUpKSwgZTsKICAgICAgICB9LAogICAgICAgIGRlc3RydWN0b3IoZSkgewogICAgICAgICAgdmFyIHI7CiAgICAgICAgICAociA9IHRoaXMucmF3RGVzdHJ1Y3RvcikgPT0gbnVsbCB8fCByLmNhbGwodGhpcywgZSk7CiAgICAgICAgfSwKICAgICAgICBhcmdQYWNrQWR2YW5jZTogdGUsCiAgICAgICAgcmVhZFZhbHVlRnJvbVBvaW50ZXI6IFJlLAogICAgICAgIGZyb21XaXJlVHlwZTogV3QKICAgICAgfSk7CiAgICB9OwogICAgZnVuY3Rpb24gXyhlLCByLCB0LCBuLCBzLCBjLCBmLCB2LCBwLCBnLCBoKSB7CiAgICAgIHRoaXMubmFtZSA9IGUsIHRoaXMucmVnaXN0ZXJlZENsYXNzID0gciwgdGhpcy5pc1JlZmVyZW5jZSA9IHQsIHRoaXMuaXNDb25zdCA9IG4sIHRoaXMuaXNTbWFydFBvaW50ZXIgPSBzLCB0aGlzLnBvaW50ZWVUeXBlID0gYywgdGhpcy5zaGFyaW5nUG9saWN5ID0gZiwgdGhpcy5yYXdHZXRQb2ludGVlID0gdiwgdGhpcy5yYXdDb25zdHJ1Y3RvciA9IHAsIHRoaXMucmF3U2hhcmUgPSBnLCB0aGlzLnJhd0Rlc3RydWN0b3IgPSBoLCAhcyAmJiByLmJhc2VDbGFzcyA9PT0gdm9pZCAwID8gbiA/ICh0aGlzLnRvV2lyZVR5cGUgPSBldCwgdGhpcy5kZXN0cnVjdG9yRnVuY3Rpb24gPSBudWxsKSA6ICh0aGlzLnRvV2lyZVR5cGUgPSBhLCB0aGlzLmRlc3RydWN0b3JGdW5jdGlvbiA9IG51bGwpIDogdGhpcy50b1dpcmVUeXBlID0gcnQ7CiAgICB9CiAgICB2YXIgbSA9IChlLCByLCB0KSA9PiB7CiAgICAgIGkuaGFzT3duUHJvcGVydHkoZSkgfHwgUWUoIlJlcGxhY2luZyBub25leGlzdGVudCBwdWJsaWMgc3ltYm9sIiksIGlbZV0ub3ZlcmxvYWRUYWJsZSAhPT0gdm9pZCAwICYmIHQgIT09IHZvaWQgMCA/IGlbZV0ub3ZlcmxvYWRUYWJsZVt0XSA9IHIgOiAoaVtlXSA9IHIsIGlbZV0uYXJnQ291bnQgPSB0KTsKICAgIH0sIFAsIHcgPSAoZSkgPT4gUC5nZXQoZSksIEUgPSAoZSwgcikgPT4gewogICAgICBlID0gTChlKTsKICAgICAgZnVuY3Rpb24gdCgpIHsKICAgICAgICByZXR1cm4gdyhyKTsKICAgICAgfQogICAgICB2YXIgbiA9IHQoKTsKICAgICAgcmV0dXJuIHR5cGVvZiBuICE9ICJmdW5jdGlvbiIgJiYgQyhgdW5rbm93biBmdW5jdGlvbiBwb2ludGVyIHdpdGggc2lnbmF0dXJlICR7ZX06ICR7cn1gKSwgbjsKICAgIH0sIFQsIEcgPSAoZSwgcikgPT4gewogICAgICB2YXIgdCA9IFtdLCBuID0ge307CiAgICAgIGZ1bmN0aW9uIHMoYykgewogICAgICAgIGlmICghbltjXSAmJiAhQWVbY10pIHsKICAgICAgICAgIGlmIChLW2NdKSB7CiAgICAgICAgICAgIEtbY10uZm9yRWFjaChzKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQogICAgICAgICAgdC5wdXNoKGMpLCBuW2NdID0gITA7CiAgICAgICAgfQogICAgICB9CiAgICAgIHRocm93IHIuZm9yRWFjaChzKSwgbmV3IFQoYCR7ZX06IGAgKyB0Lm1hcChOcikuam9pbihbIiwgIl0pKTsKICAgIH0sIG5yID0gKGUsIHIsIHQsIG4sIHMsIGMsIGYsIHYsIHAsIGcsIGgsIGIsIEEpID0+IHsKICAgICAgaCA9IEwoaCksIGMgPSBFKHMsIGMpLCB2ICYmICh2ID0gRShmLCB2KSksIGcgJiYgKGcgPSBFKHAsIGcpKSwgQSA9IEUoYiwgQSk7CiAgICAgIHZhciBCID0gSHQoaCk7CiAgICAgIFFyKEIsIGZ1bmN0aW9uKCkgewogICAgICAgIEcoYENhbm5vdCBjb25zdHJ1Y3QgJHtofSBkdWUgdG8gdW5ib3VuZCB0eXBlc2AsIFtuXSk7CiAgICAgIH0pLCBiZShbZSwgciwgdF0sIG4gPyBbbl0gOiBbXSwgKFYpID0+IHsKICAgICAgICB2YXIgJG47CiAgICAgICAgViA9IFZbMF07CiAgICAgICAgdmFyIGNlLCB1ZTsKICAgICAgICBuID8gKGNlID0gVi5yZWdpc3RlcmVkQ2xhc3MsIHVlID0gY2UuaW5zdGFuY2VQcm90b3R5cGUpIDogdWUgPSByci5wcm90b3R5cGU7CiAgICAgICAgdmFyIFggPSBXZShoLCBmdW5jdGlvbiguLi5xdCkgewogICAgICAgICAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKSAhPT0gRnIpCiAgICAgICAgICAgIHRocm93IG5ldyBqZSgiVXNlICduZXcnIHRvIGNvbnN0cnVjdCAiICsgaCk7CiAgICAgICAgICBpZiAobmUuY29uc3RydWN0b3JfYm9keSA9PT0gdm9pZCAwKQogICAgICAgICAgICB0aHJvdyBuZXcgamUoaCArICIgaGFzIG5vIGFjY2Vzc2libGUgY29uc3RydWN0b3IiKTsKICAgICAgICAgIHZhciBDbiA9IG5lLmNvbnN0cnVjdG9yX2JvZHlbcXQubGVuZ3RoXTsKICAgICAgICAgIGlmIChDbiA9PT0gdm9pZCAwKQogICAgICAgICAgICB0aHJvdyBuZXcgamUoYFRyaWVkIHRvIGludm9rZSBjdG9yIG9mICR7aH0gd2l0aCBpbnZhbGlkIG51bWJlciBvZiBwYXJhbWV0ZXJzICgke3F0Lmxlbmd0aH0pIC0gZXhwZWN0ZWQgKCR7T2JqZWN0LmtleXMobmUuY29uc3RydWN0b3JfYm9keSkudG9TdHJpbmcoKX0pIHBhcmFtZXRlcnMgaW5zdGVhZCFgKTsKICAgICAgICAgIHJldHVybiBDbi5hcHBseSh0aGlzLCBxdCk7CiAgICAgICAgfSksIEZyID0gT2JqZWN0LmNyZWF0ZSh1ZSwgewogICAgICAgICAgY29uc3RydWN0b3I6IHsKICAgICAgICAgICAgdmFsdWU6IFgKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICBYLnByb3RvdHlwZSA9IEZyOwogICAgICAgIHZhciBuZSA9IG5ldyB0cihoLCBYLCBGciwgQSwgY2UsIGMsIHYsIGcpOwogICAgICAgIG5lLmJhc2VDbGFzcyAmJiAoKCRuID0gbmUuYmFzZUNsYXNzKS5fX2Rlcml2ZWRDbGFzc2VzID8/ICgkbi5fX2Rlcml2ZWRDbGFzc2VzID0gW10pLCBuZS5iYXNlQ2xhc3MuX19kZXJpdmVkQ2xhc3Nlcy5wdXNoKG5lKSk7CiAgICAgICAgdmFyIGhpID0gbmV3IF8oaCwgbmUsICEwLCAhMSwgITEpLCBFbiA9IG5ldyBfKGggKyAiKiIsIG5lLCAhMSwgITEsICExKSwgVG4gPSBuZXcgXyhoICsgIiBjb25zdCoiLCBuZSwgITEsICEwLCAhMSk7CiAgICAgICAgcmV0dXJuICRyW2VdID0gewogICAgICAgICAgcG9pbnRlclR5cGU6IEVuLAogICAgICAgICAgY29uc3RQb2ludGVyVHlwZTogVG4KICAgICAgICB9LCBtKEIsIFgpLCBbaGksIEVuLCBUbl07CiAgICAgIH0pOwogICAgfTsKICAgIGZ1bmN0aW9uIGtyKGUpIHsKICAgICAgZm9yICh2YXIgciA9IDE7IHIgPCBlLmxlbmd0aDsgKytyKQogICAgICAgIGlmIChlW3JdICE9PSBudWxsICYmIGVbcl0uZGVzdHJ1Y3RvckZ1bmN0aW9uID09PSB2b2lkIDApCiAgICAgICAgICByZXR1cm4gITA7CiAgICAgIHJldHVybiAhMTsKICAgIH0KICAgIGZ1bmN0aW9uIElyKGUsIHIpIHsKICAgICAgaWYgKCEoZSBpbnN0YW5jZW9mIEZ1bmN0aW9uKSkKICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBuZXdfIGNhbGxlZCB3aXRoIGNvbnN0cnVjdG9yIHR5cGUgJHt0eXBlb2YgZX0gd2hpY2ggaXMgbm90IGEgZnVuY3Rpb25gKTsKICAgICAgdmFyIHQgPSBXZShlLm5hbWUgfHwgInVua25vd25GdW5jdGlvbk5hbWUiLCBmdW5jdGlvbigpIHsKICAgICAgfSk7CiAgICAgIHQucHJvdG90eXBlID0gZS5wcm90b3R5cGU7CiAgICAgIHZhciBuID0gbmV3IHQoKSwgcyA9IGUuYXBwbHkobiwgcik7CiAgICAgIHJldHVybiBzIGluc3RhbmNlb2YgT2JqZWN0ID8gcyA6IG47CiAgICB9CiAgICBmdW5jdGlvbiB0dChlLCByLCB0LCBuKSB7CiAgICAgIHZhciBzID0ga3IoZSksIGMgPSBlLmxlbmd0aCAtIDIsIGYgPSBbXSwgdiA9IFsiZm4iXTsKICAgICAgciAmJiB2LnB1c2goInRoaXNXaXJlZCIpOwogICAgICBmb3IgKHZhciBwID0gMDsgcCA8IGM7ICsrcCkKICAgICAgICBmLnB1c2goYGFyZyR7cH1gKSwgdi5wdXNoKGBhcmcke3B9V2lyZWRgKTsKICAgICAgZiA9IGYuam9pbigiLCIpLCB2ID0gdi5qb2luKCIsIik7CiAgICAgIHZhciBnID0gYHJldHVybiBmdW5jdGlvbiAoJHtmfSkgewpgOwogICAgICBzICYmIChnICs9IGB2YXIgZGVzdHJ1Y3RvcnMgPSBbXTsKYCk7CiAgICAgIHZhciBoID0gcyA/ICJkZXN0cnVjdG9ycyIgOiAibnVsbCIsIGIgPSBbImh1bWFuTmFtZSIsICJ0aHJvd0JpbmRpbmdFcnJvciIsICJpbnZva2VyIiwgImZuIiwgInJ1bkRlc3RydWN0b3JzIiwgInJldFR5cGUiLCAiY2xhc3NQYXJhbSJdOwogICAgICByICYmIChnICs9IGB2YXIgdGhpc1dpcmVkID0gY2xhc3NQYXJhbVsndG9XaXJlVHlwZSddKCR7aH0sIHRoaXMpOwpgKTsKICAgICAgZm9yICh2YXIgcCA9IDA7IHAgPCBjOyArK3ApCiAgICAgICAgZyArPSBgdmFyIGFyZyR7cH1XaXJlZCA9IGFyZ1R5cGUke3B9Wyd0b1dpcmVUeXBlJ10oJHtofSwgYXJnJHtwfSk7CmAsIGIucHVzaChgYXJnVHlwZSR7cH1gKTsKICAgICAgaWYgKGcgKz0gKHQgfHwgbiA/ICJ2YXIgcnYgPSAiIDogIiIpICsgYGludm9rZXIoJHt2fSk7CmAsIHMpCiAgICAgICAgZyArPSBgcnVuRGVzdHJ1Y3RvcnMoZGVzdHJ1Y3RvcnMpOwpgOwogICAgICBlbHNlCiAgICAgICAgZm9yICh2YXIgcCA9IHIgPyAxIDogMjsgcCA8IGUubGVuZ3RoOyArK3ApIHsKICAgICAgICAgIHZhciBBID0gcCA9PT0gMSA/ICJ0aGlzV2lyZWQiIDogImFyZyIgKyAocCAtIDIpICsgIldpcmVkIjsKICAgICAgICAgIGVbcF0uZGVzdHJ1Y3RvckZ1bmN0aW9uICE9PSBudWxsICYmIChnICs9IGAke0F9X2R0b3IoJHtBfSk7CmAsIGIucHVzaChgJHtBfV9kdG9yYCkpOwogICAgICAgIH0KICAgICAgcmV0dXJuIHQgJiYgKGcgKz0gYHZhciByZXQgPSByZXRUeXBlWydmcm9tV2lyZVR5cGUnXShydik7CnJldHVybiByZXQ7CmApLCBnICs9IGB9CmAsIFtiLCBnXTsKICAgIH0KICAgIGZ1bmN0aW9uIGFyKGUsIHIsIHQsIG4sIHMsIGMpIHsKICAgICAgdmFyIGYgPSByLmxlbmd0aDsKICAgICAgZiA8IDIgJiYgQygiYXJnVHlwZXMgYXJyYXkgc2l6ZSBtaXNtYXRjaCEgTXVzdCBhdCBsZWFzdCBnZXQgcmV0dXJuIHZhbHVlIGFuZCAndGhpcycgdHlwZXMhIik7CiAgICAgIGZvciAodmFyIHYgPSByWzFdICE9PSBudWxsICYmIHQgIT09IG51bGwsIHAgPSBrcihyKSwgZyA9IHJbMF0ubmFtZSAhPT0gInZvaWQiLCBoID0gW2UsIEMsIG4sIHMsIGVyLCByWzBdLCByWzFdXSwgYiA9IDA7IGIgPCBmIC0gMjsgKytiKQogICAgICAgIGgucHVzaChyW2IgKyAyXSk7CiAgICAgIGlmICghcCkKICAgICAgICBmb3IgKHZhciBiID0gdiA/IDEgOiAyOyBiIDwgci5sZW5ndGg7ICsrYikKICAgICAgICAgIHJbYl0uZGVzdHJ1Y3RvckZ1bmN0aW9uICE9PSBudWxsICYmIGgucHVzaChyW2JdLmRlc3RydWN0b3JGdW5jdGlvbik7CiAgICAgIGxldCBbQSwgQl0gPSB0dChyLCB2LCBnLCBjKTsKICAgICAgQS5wdXNoKEIpOwogICAgICB2YXIgViA9IElyKEZ1bmN0aW9uLCBBKSguLi5oKTsKICAgICAgcmV0dXJuIFdlKGUsIFYpOwogICAgfQogICAgdmFyIFdyID0gKGUsIHIpID0+IHsKICAgICAgZm9yICh2YXIgdCA9IFtdLCBuID0gMDsgbiA8IGU7IG4rKykKICAgICAgICB0LnB1c2goRltyICsgbiAqIDQgPj4gMl0pOwogICAgICByZXR1cm4gdDsKICAgIH0sIGlyID0gKGUpID0+IHsKICAgICAgZSA9IGUudHJpbSgpOwogICAgICBjb25zdCByID0gZS5pbmRleE9mKCIoIik7CiAgICAgIHJldHVybiByICE9PSAtMSA/IGUuc3Vic3RyKDAsIHIpIDogZTsKICAgIH0sIEJ0ID0gKGUsIHIsIHQsIG4sIHMsIGMsIGYsIHYsIHApID0+IHsKICAgICAgdmFyIGcgPSBXcih0LCBuKTsKICAgICAgciA9IEwociksIHIgPSBpcihyKSwgYyA9IEUocywgYyksIGJlKFtdLCBbZV0sIChoKSA9PiB7CiAgICAgICAgaCA9IGhbMF07CiAgICAgICAgdmFyIGIgPSBgJHtoLm5hbWV9LiR7cn1gOwogICAgICAgIGZ1bmN0aW9uIEEoKSB7CiAgICAgICAgICBHKGBDYW5ub3QgY2FsbCAke2J9IGR1ZSB0byB1bmJvdW5kIHR5cGVzYCwgZyk7CiAgICAgICAgfQogICAgICAgIHIuc3RhcnRzV2l0aCgiQEAiKSAmJiAociA9IFN5bWJvbFtyLnN1YnN0cmluZygyKV0pOwogICAgICAgIHZhciBCID0gaC5yZWdpc3RlcmVkQ2xhc3MuY29uc3RydWN0b3I7CiAgICAgICAgcmV0dXJuIEJbcl0gPT09IHZvaWQgMCA/IChBLmFyZ0NvdW50ID0gdCAtIDEsIEJbcl0gPSBBKSA6IChScihCLCByLCBiKSwgQltyXS5vdmVybG9hZFRhYmxlW3QgLSAxXSA9IEEpLCBiZShbXSwgZywgKFYpID0+IHsKICAgICAgICAgIHZhciBjZSA9IFsKICAgICAgICAgICAgVlswXSwKICAgICAgICAgICAgLyogcmV0dXJuIHZhbHVlICovCiAgICAgICAgICAgIG51bGwKICAgICAgICAgIF0uY29uY2F0KAogICAgICAgICAgICAvKiBubyBjbGFzcyAndGhpcycqLwogICAgICAgICAgICBWLnNsaWNlKDEpCiAgICAgICAgICApLCB1ZSA9IGFyKAogICAgICAgICAgICBiLAogICAgICAgICAgICBjZSwKICAgICAgICAgICAgbnVsbCwKICAgICAgICAgICAgLyogbm8gY2xhc3MgJ3RoaXMnKi8KICAgICAgICAgICAgYywKICAgICAgICAgICAgZiwKICAgICAgICAgICAgdgogICAgICAgICAgKTsKICAgICAgICAgIGlmIChCW3JdLm92ZXJsb2FkVGFibGUgPT09IHZvaWQgMCA/ICh1ZS5hcmdDb3VudCA9IHQgLSAxLCBCW3JdID0gdWUpIDogQltyXS5vdmVybG9hZFRhYmxlW3QgLSAxXSA9IHVlLCBoLnJlZ2lzdGVyZWRDbGFzcy5fX2Rlcml2ZWRDbGFzc2VzKQogICAgICAgICAgICBmb3IgKGNvbnN0IFggb2YgaC5yZWdpc3RlcmVkQ2xhc3MuX19kZXJpdmVkQ2xhc3NlcykKICAgICAgICAgICAgICBYLmNvbnN0cnVjdG9yLmhhc093blByb3BlcnR5KHIpIHx8IChYLmNvbnN0cnVjdG9yW3JdID0gdWUpOwogICAgICAgICAgcmV0dXJuIFtdOwogICAgICAgIH0pLCBbXTsKICAgICAgfSk7CiAgICB9LCBWdCA9IChlLCByLCB0LCBuLCBzLCBjLCBmLCB2LCBwLCBnKSA9PiB7CiAgICAgIHZhciBoID0gV3IodCwgbik7CiAgICAgIHIgPSBMKHIpLCByID0gaXIociksIGMgPSBFKHMsIGMpLCBiZShbXSwgW2VdLCAoYikgPT4gewogICAgICAgIGIgPSBiWzBdOwogICAgICAgIHZhciBBID0gYCR7Yi5uYW1lfS4ke3J9YDsKICAgICAgICByLnN0YXJ0c1dpdGgoIkBAIikgJiYgKHIgPSBTeW1ib2xbci5zdWJzdHJpbmcoMildKSwgdiAmJiBiLnJlZ2lzdGVyZWRDbGFzcy5wdXJlVmlydHVhbEZ1bmN0aW9ucy5wdXNoKHIpOwogICAgICAgIGZ1bmN0aW9uIEIoKSB7CiAgICAgICAgICBHKGBDYW5ub3QgY2FsbCAke0F9IGR1ZSB0byB1bmJvdW5kIHR5cGVzYCwgaCk7CiAgICAgICAgfQogICAgICAgIHZhciBWID0gYi5yZWdpc3RlcmVkQ2xhc3MuaW5zdGFuY2VQcm90b3R5cGUsIGNlID0gVltyXTsKICAgICAgICByZXR1cm4gY2UgPT09IHZvaWQgMCB8fCBjZS5vdmVybG9hZFRhYmxlID09PSB2b2lkIDAgJiYgY2UuY2xhc3NOYW1lICE9PSBiLm5hbWUgJiYgY2UuYXJnQ291bnQgPT09IHQgLSAyID8gKEIuYXJnQ291bnQgPSB0IC0gMiwgQi5jbGFzc05hbWUgPSBiLm5hbWUsIFZbcl0gPSBCKSA6IChScihWLCByLCBBKSwgVltyXS5vdmVybG9hZFRhYmxlW3QgLSAyXSA9IEIpLCBiZShbXSwgaCwgKHVlKSA9PiB7CiAgICAgICAgICB2YXIgWCA9IGFyKEEsIHVlLCBiLCBjLCBmLCBwKTsKICAgICAgICAgIHJldHVybiBWW3JdLm92ZXJsb2FkVGFibGUgPT09IHZvaWQgMCA/IChYLmFyZ0NvdW50ID0gdCAtIDIsIFZbcl0gPSBYKSA6IFZbcl0ub3ZlcmxvYWRUYWJsZVt0IC0gMl0gPSBYLCBbXTsKICAgICAgICB9KSwgW107CiAgICAgIH0pOwogICAgfSwgTHQgPSAoZSkgPT4gewogICAgICBlID4gOSAmJiAtLXBlW2UgKyAxXSA9PT0gMCAmJiAocGVbZV0gPSB2b2lkIDAsIHlyLnB1c2goZSkpOwogICAgfSwgSW4gPSB7CiAgICAgIG5hbWU6ICJlbXNjcmlwdGVuOjp2YWwiLAogICAgICBmcm9tV2lyZVR5cGU6IChlKSA9PiB7CiAgICAgICAgdmFyIHIgPSBTLnRvVmFsdWUoZSk7CiAgICAgICAgcmV0dXJuIEx0KGUpLCByOwogICAgICB9LAogICAgICB0b1dpcmVUeXBlOiAoZSwgcikgPT4gUy50b0hhbmRsZShyKSwKICAgICAgYXJnUGFja0FkdmFuY2U6IHRlLAogICAgICByZWFkVmFsdWVGcm9tUG9pbnRlcjogUmUsCiAgICAgIGRlc3RydWN0b3JGdW5jdGlvbjogbnVsbAogICAgfSwgV24gPSAoZSkgPT4gcmUoZSwgSW4pLCBEbiA9IChlLCByKSA9PiB7CiAgICAgIHN3aXRjaCAocikgewogICAgICAgIGNhc2UgNDoKICAgICAgICAgIHJldHVybiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmZyb21XaXJlVHlwZShxW3QgPj4gMl0pOwogICAgICAgICAgfTsKICAgICAgICBjYXNlIDg6CiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUodnJbdCA+PiAzXSk7CiAgICAgICAgICB9OwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBpbnZhbGlkIGZsb2F0IHdpZHRoICgke3J9KTogJHtlfWApOwogICAgICB9CiAgICB9LCBGbiA9IChlLCByLCB0KSA9PiB7CiAgICAgIHIgPSBMKHIpLCByZShlLCB7CiAgICAgICAgbmFtZTogciwKICAgICAgICBmcm9tV2lyZVR5cGU6IChuKSA9PiBuLAogICAgICAgIHRvV2lyZVR5cGU6IChuLCBzKSA9PiBzLAogICAgICAgIGFyZ1BhY2tBZHZhbmNlOiB0ZSwKICAgICAgICByZWFkVmFsdWVGcm9tUG9pbnRlcjogRG4ociwgdCksCiAgICAgICAgZGVzdHJ1Y3RvckZ1bmN0aW9uOiBudWxsCiAgICAgIH0pOwogICAgfSwgT24gPSAoZSwgciwgdCwgbiwgcywgYywgZiwgdikgPT4gewogICAgICB2YXIgcCA9IFdyKHIsIHQpOwogICAgICBlID0gTChlKSwgZSA9IGlyKGUpLCBzID0gRShuLCBzKSwgUXIoZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgRyhgQ2Fubm90IGNhbGwgJHtlfSBkdWUgdG8gdW5ib3VuZCB0eXBlc2AsIHApOwogICAgICB9LCByIC0gMSksIGJlKFtdLCBwLCAoZykgPT4gewogICAgICAgIHZhciBoID0gWwogICAgICAgICAgZ1swXSwKICAgICAgICAgIC8qIHJldHVybiB2YWx1ZSAqLwogICAgICAgICAgbnVsbAogICAgICAgIF0uY29uY2F0KAogICAgICAgICAgLyogbm8gY2xhc3MgJ3RoaXMnKi8KICAgICAgICAgIGcuc2xpY2UoMSkKICAgICAgICApOwogICAgICAgIHJldHVybiBtKGUsIGFyKAogICAgICAgICAgZSwKICAgICAgICAgIGgsCiAgICAgICAgICBudWxsLAogICAgICAgICAgLyogbm8gY2xhc3MgJ3RoaXMnKi8KICAgICAgICAgIHMsCiAgICAgICAgICBjLAogICAgICAgICAgZgogICAgICAgICksIHIgLSAxKSwgW107CiAgICAgIH0pOwogICAgfSwgVW4gPSAoZSwgciwgdCwgbiwgcykgPT4gewogICAgICByID0gTChyKTsKICAgICAgdmFyIGMgPSAoaCkgPT4gaDsKICAgICAgaWYgKG4gPT09IDApIHsKICAgICAgICB2YXIgZiA9IDMyIC0gOCAqIHQ7CiAgICAgICAgYyA9IChoKSA9PiBoIDw8IGYgPj4+IGY7CiAgICAgIH0KICAgICAgdmFyIHYgPSByLmluY2x1ZGVzKCJ1bnNpZ25lZCIpLCBwID0gKGgsIGIpID0+IHsKICAgICAgfSwgZzsKICAgICAgdiA/IGcgPSBmdW5jdGlvbihoLCBiKSB7CiAgICAgICAgcmV0dXJuIHAoYiwgdGhpcy5uYW1lKSwgYiA+Pj4gMDsKICAgICAgfSA6IGcgPSBmdW5jdGlvbihoLCBiKSB7CiAgICAgICAgcmV0dXJuIHAoYiwgdGhpcy5uYW1lKSwgYjsKICAgICAgfSwgcmUoZSwgewogICAgICAgIG5hbWU6IHIsCiAgICAgICAgZnJvbVdpcmVUeXBlOiBjLAogICAgICAgIHRvV2lyZVR5cGU6IGcsCiAgICAgICAgYXJnUGFja0FkdmFuY2U6IHRlLAogICAgICAgIHJlYWRWYWx1ZUZyb21Qb2ludGVyOiBDcihyLCB0LCBuICE9PSAwKSwKICAgICAgICBkZXN0cnVjdG9yRnVuY3Rpb246IG51bGwKICAgICAgfSk7CiAgICB9LCB4biA9IChlLCByLCB0KSA9PiB7CiAgICAgIHZhciBuID0gW0ludDhBcnJheSwgVWludDhBcnJheSwgSW50MTZBcnJheSwgVWludDE2QXJyYXksIEludDMyQXJyYXksIFVpbnQzMkFycmF5LCBGbG9hdDMyQXJyYXksIEZsb2F0NjRBcnJheSwgQmlnSW50NjRBcnJheSwgQmlnVWludDY0QXJyYXldLCBzID0gbltyXTsKICAgICAgZnVuY3Rpb24gYyhmKSB7CiAgICAgICAgdmFyIHYgPSBGW2YgPj4gMl0sIHAgPSBGW2YgKyA0ID4+IDJdOwogICAgICAgIHJldHVybiBuZXcgcyhpZS5idWZmZXIsIHAsIHYpOwogICAgICB9CiAgICAgIHQgPSBMKHQpLCByZShlLCB7CiAgICAgICAgbmFtZTogdCwKICAgICAgICBmcm9tV2lyZVR5cGU6IGMsCiAgICAgICAgYXJnUGFja0FkdmFuY2U6IHRlLAogICAgICAgIHJlYWRWYWx1ZUZyb21Qb2ludGVyOiBjCiAgICAgIH0sIHsKICAgICAgICBpZ25vcmVEdXBsaWNhdGVSZWdpc3RyYXRpb25zOiAhMAogICAgICB9KTsKICAgIH0sIGpuID0gKGUsIHIsIHQsIG4pID0+IHsKICAgICAgaWYgKCEobiA+IDApKSByZXR1cm4gMDsKICAgICAgZm9yICh2YXIgcyA9IHQsIGMgPSB0ICsgbiAtIDEsIGYgPSAwOyBmIDwgZS5sZW5ndGg7ICsrZikgewogICAgICAgIHZhciB2ID0gZS5jaGFyQ29kZUF0KGYpOwogICAgICAgIGlmICh2ID49IDU1Mjk2ICYmIHYgPD0gNTczNDMpIHsKICAgICAgICAgIHZhciBwID0gZS5jaGFyQ29kZUF0KCsrZik7CiAgICAgICAgICB2ID0gNjU1MzYgKyAoKHYgJiAxMDIzKSA8PCAxMCkgfCBwICYgMTAyMzsKICAgICAgICB9CiAgICAgICAgaWYgKHYgPD0gMTI3KSB7CiAgICAgICAgICBpZiAodCA+PSBjKSBicmVhazsKICAgICAgICAgIHJbdCsrXSA9IHY7CiAgICAgICAgfSBlbHNlIGlmICh2IDw9IDIwNDcpIHsKICAgICAgICAgIGlmICh0ICsgMSA+PSBjKSBicmVhazsKICAgICAgICAgIHJbdCsrXSA9IDE5MiB8IHYgPj4gNiwgclt0KytdID0gMTI4IHwgdiAmIDYzOwogICAgICAgIH0gZWxzZSBpZiAodiA8PSA2NTUzNSkgewogICAgICAgICAgaWYgKHQgKyAyID49IGMpIGJyZWFrOwogICAgICAgICAgclt0KytdID0gMjI0IHwgdiA+PiAxMiwgclt0KytdID0gMTI4IHwgdiA+PiA2ICYgNjMsIHJbdCsrXSA9IDEyOCB8IHYgJiA2MzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKHQgKyAzID49IGMpIGJyZWFrOwogICAgICAgICAgclt0KytdID0gMjQwIHwgdiA+PiAxOCwgclt0KytdID0gMTI4IHwgdiA+PiAxMiAmIDYzLCByW3QrK10gPSAxMjggfCB2ID4+IDYgJiA2Mywgclt0KytdID0gMTI4IHwgdiAmIDYzOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gclt0XSA9IDAsIHQgLSBzOwogICAgfSwgSG4gPSAoZSwgciwgdCkgPT4gam4oZSwgTSwgciwgdCksIEJuID0gKGUpID0+IHsKICAgICAgZm9yICh2YXIgciA9IDAsIHQgPSAwOyB0IDwgZS5sZW5ndGg7ICsrdCkgewogICAgICAgIHZhciBuID0gZS5jaGFyQ29kZUF0KHQpOwogICAgICAgIG4gPD0gMTI3ID8gcisrIDogbiA8PSAyMDQ3ID8gciArPSAyIDogbiA+PSA1NTI5NiAmJiBuIDw9IDU3MzQzID8gKHIgKz0gNCwgKyt0KSA6IHIgKz0gMzsKICAgICAgfQogICAgICByZXR1cm4gcjsKICAgIH0sIFp0ID0gdHlwZW9mIFRleHREZWNvZGVyIDwgInUiID8gbmV3IFRleHREZWNvZGVyKCkgOiB2b2lkIDAsIFF0ID0gKGUsIHIsIHQpID0+IHsKICAgICAgZm9yICh2YXIgbiA9IHIgKyB0LCBzID0gcjsgZVtzXSAmJiAhKHMgPj0gbik7ICkgKytzOwogICAgICBpZiAocyAtIHIgPiAxNiAmJiBlLmJ1ZmZlciAmJiBadCkKICAgICAgICByZXR1cm4gWnQuZGVjb2RlKGUuc3ViYXJyYXkociwgcykpOwogICAgICBmb3IgKHZhciBjID0gIiI7IHIgPCBzOyApIHsKICAgICAgICB2YXIgZiA9IGVbcisrXTsKICAgICAgICBpZiAoIShmICYgMTI4KSkgewogICAgICAgICAgYyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGYpOwogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHZhciB2ID0gZVtyKytdICYgNjM7CiAgICAgICAgaWYgKChmICYgMjI0KSA9PSAxOTIpIHsKICAgICAgICAgIGMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoZiAmIDMxKSA8PCA2IHwgdik7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgdmFyIHAgPSBlW3IrK10gJiA2MzsKICAgICAgICBpZiAoKGYgJiAyNDApID09IDIyNCA/IGYgPSAoZiAmIDE1KSA8PCAxMiB8IHYgPDwgNiB8IHAgOiBmID0gKGYgJiA3KSA8PCAxOCB8IHYgPDwgMTIgfCBwIDw8IDYgfCBlW3IrK10gJiA2MywgZiA8IDY1NTM2KQogICAgICAgICAgYyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGYpOwogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGcgPSBmIC0gNjU1MzY7CiAgICAgICAgICBjICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTYgfCBnID4+IDEwLCA1NjMyMCB8IGcgJiAxMDIzKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIGM7CiAgICB9LCBlbiA9IChlLCByKSA9PiBlID8gUXQoTSwgZSwgcikgOiAiIiwgVm4gPSAoZSwgcikgPT4gewogICAgICByID0gTChyKTsKICAgICAgdmFyIHQgPSAoCiAgICAgICAgLy9wcm9jZXNzIG9ubHkgc3RkOjpzdHJpbmcgYmluZGluZ3Mgd2l0aCBVVEY4IHN1cHBvcnQsIGluIGNvbnRyYXN0IHRvIGUuZy4gc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4KICAgICAgICByID09PSAic3RkOjpzdHJpbmciCiAgICAgICk7CiAgICAgIHJlKGUsIHsKICAgICAgICBuYW1lOiByLAogICAgICAgIC8vIEZvciBzb21lIG1ldGhvZCBuYW1lcyB3ZSB1c2Ugc3RyaW5nIGtleXMgaGVyZSBzaW5jZSB0aGV5IGFyZSBwYXJ0IG9mCiAgICAgICAgLy8gdGhlIHB1YmxpYy9leHRlcm5hbCBBUEkgYW5kL29yIHVzZWQgYnkgdGhlIHJ1bnRpbWUtZ2VuZXJhdGVkIGNvZGUuCiAgICAgICAgZnJvbVdpcmVUeXBlKG4pIHsKICAgICAgICAgIHZhciBzID0gRltuID4+IDJdLCBjID0gbiArIDQsIGY7CiAgICAgICAgICBpZiAodCkKICAgICAgICAgICAgZm9yICh2YXIgdiA9IGMsIHAgPSAwOyBwIDw9IHM7ICsrcCkgewogICAgICAgICAgICAgIHZhciBnID0gYyArIHA7CiAgICAgICAgICAgICAgaWYgKHAgPT0gcyB8fCBNW2ddID09IDApIHsKICAgICAgICAgICAgICAgIHZhciBoID0gZyAtIHYsIGIgPSBlbih2LCBoKTsKICAgICAgICAgICAgICAgIGYgPT09IHZvaWQgMCA/IGYgPSBiIDogKGYgKz0gIlwwIiwgZiArPSBiKSwgdiA9IGcgKyAxOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIGZvciAodmFyIEEgPSBuZXcgQXJyYXkocyksIHAgPSAwOyBwIDwgczsgKytwKQogICAgICAgICAgICAgIEFbcF0gPSBTdHJpbmcuZnJvbUNoYXJDb2RlKE1bYyArIHBdKTsKICAgICAgICAgICAgZiA9IEEuam9pbigiIik7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4ga2UobiksIGY7CiAgICAgICAgfSwKICAgICAgICB0b1dpcmVUeXBlKG4sIHMpIHsKICAgICAgICAgIHMgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciAmJiAocyA9IG5ldyBVaW50OEFycmF5KHMpKTsKICAgICAgICAgIHZhciBjLCBmID0gdHlwZW9mIHMgPT0gInN0cmluZyI7CiAgICAgICAgICBmIHx8IHMgaW5zdGFuY2VvZiBVaW50OEFycmF5IHx8IHMgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheSB8fCBzIGluc3RhbmNlb2YgSW50OEFycmF5IHx8IEMoIkNhbm5vdCBwYXNzIG5vbi1zdHJpbmcgdG8gc3RkOjpzdHJpbmciKSwgdCAmJiBmID8gYyA9IEJuKHMpIDogYyA9IHMubGVuZ3RoOwogICAgICAgICAgdmFyIHYgPSBHdCg0ICsgYyArIDEpLCBwID0gdiArIDQ7CiAgICAgICAgICBpZiAoRlt2ID4+IDJdID0gYywgdCAmJiBmKQogICAgICAgICAgICBIbihzLCBwLCBjICsgMSk7CiAgICAgICAgICBlbHNlIGlmIChmKQogICAgICAgICAgICBmb3IgKHZhciBnID0gMDsgZyA8IGM7ICsrZykgewogICAgICAgICAgICAgIHZhciBoID0gcy5jaGFyQ29kZUF0KGcpOwogICAgICAgICAgICAgIGggPiAyNTUgJiYgKGtlKHApLCBDKCJTdHJpbmcgaGFzIFVURi0xNiBjb2RlIHVuaXRzIHRoYXQgZG8gbm90IGZpdCBpbiA4IGJpdHMiKSksIE1bcCArIGddID0gaDsKICAgICAgICAgICAgfQogICAgICAgICAgZWxzZQogICAgICAgICAgICBmb3IgKHZhciBnID0gMDsgZyA8IGM7ICsrZykKICAgICAgICAgICAgICBNW3AgKyBnXSA9IHNbZ107CiAgICAgICAgICByZXR1cm4gbiAhPT0gbnVsbCAmJiBuLnB1c2goa2UsIHYpLCB2OwogICAgICAgIH0sCiAgICAgICAgYXJnUGFja0FkdmFuY2U6IHRlLAogICAgICAgIHJlYWRWYWx1ZUZyb21Qb2ludGVyOiBSZSwKICAgICAgICBkZXN0cnVjdG9yRnVuY3Rpb24obikgewogICAgICAgICAga2Uobik7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sIHJuID0gdHlwZW9mIFRleHREZWNvZGVyIDwgInUiID8gbmV3IFRleHREZWNvZGVyKCJ1dGYtMTZsZSIpIDogdm9pZCAwLCBMbiA9IChlLCByKSA9PiB7CiAgICAgIGZvciAodmFyIHQgPSBlLCBuID0gdCA+PiAxLCBzID0gbiArIHIgLyAyOyAhKG4gPj0gcykgJiYgd2Vbbl07ICkgKytuOwogICAgICBpZiAodCA9IG4gPDwgMSwgdCAtIGUgPiAzMiAmJiBybikgcmV0dXJuIHJuLmRlY29kZShNLnN1YmFycmF5KGUsIHQpKTsKICAgICAgZm9yICh2YXIgYyA9ICIiLCBmID0gMDsgIShmID49IHIgLyAyKTsgKytmKSB7CiAgICAgICAgdmFyIHYgPSB5ZVtlICsgZiAqIDIgPj4gMV07CiAgICAgICAgaWYgKHYgPT0gMCkgYnJlYWs7CiAgICAgICAgYyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKHYpOwogICAgICB9CiAgICAgIHJldHVybiBjOwogICAgfSwgTW4gPSAoZSwgciwgdCkgPT4gewogICAgICBpZiAodCA/PyAodCA9IDIxNDc0ODM2NDcpLCB0IDwgMikgcmV0dXJuIDA7CiAgICAgIHQgLT0gMjsKICAgICAgZm9yICh2YXIgbiA9IHIsIHMgPSB0IDwgZS5sZW5ndGggKiAyID8gdCAvIDIgOiBlLmxlbmd0aCwgYyA9IDA7IGMgPCBzOyArK2MpIHsKICAgICAgICB2YXIgZiA9IGUuY2hhckNvZGVBdChjKTsKICAgICAgICB5ZVtyID4+IDFdID0gZiwgciArPSAyOwogICAgICB9CiAgICAgIHJldHVybiB5ZVtyID4+IDFdID0gMCwgciAtIG47CiAgICB9LCB6biA9IChlKSA9PiBlLmxlbmd0aCAqIDIsIEduID0gKGUsIHIpID0+IHsKICAgICAgZm9yICh2YXIgdCA9IDAsIG4gPSAiIjsgISh0ID49IHIgLyA0KTsgKSB7CiAgICAgICAgdmFyIHMgPSBzZVtlICsgdCAqIDQgPj4gMl07CiAgICAgICAgaWYgKHMgPT0gMCkgYnJlYWs7CiAgICAgICAgaWYgKCsrdCwgcyA+PSA2NTUzNikgewogICAgICAgICAgdmFyIGMgPSBzIC0gNjU1MzY7CiAgICAgICAgICBuICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTYgfCBjID4+IDEwLCA1NjMyMCB8IGMgJiAxMDIzKTsKICAgICAgICB9IGVsc2UKICAgICAgICAgIG4gKz0gU3RyaW5nLmZyb21DaGFyQ29kZShzKTsKICAgICAgfQogICAgICByZXR1cm4gbjsKICAgIH0sIE5uID0gKGUsIHIsIHQpID0+IHsKICAgICAgaWYgKHQgPz8gKHQgPSAyMTQ3NDgzNjQ3KSwgdCA8IDQpIHJldHVybiAwOwogICAgICBmb3IgKHZhciBuID0gciwgcyA9IG4gKyB0IC0gNCwgYyA9IDA7IGMgPCBlLmxlbmd0aDsgKytjKSB7CiAgICAgICAgdmFyIGYgPSBlLmNoYXJDb2RlQXQoYyk7CiAgICAgICAgaWYgKGYgPj0gNTUyOTYgJiYgZiA8PSA1NzM0MykgewogICAgICAgICAgdmFyIHYgPSBlLmNoYXJDb2RlQXQoKytjKTsKICAgICAgICAgIGYgPSA2NTUzNiArICgoZiAmIDEwMjMpIDw8IDEwKSB8IHYgJiAxMDIzOwogICAgICAgIH0KICAgICAgICBpZiAoc2VbciA+PiAyXSA9IGYsIHIgKz0gNCwgciArIDQgPiBzKSBicmVhazsKICAgICAgfQogICAgICByZXR1cm4gc2VbciA+PiAyXSA9IDAsIHIgLSBuOwogICAgfSwgcW4gPSAoZSkgPT4gewogICAgICBmb3IgKHZhciByID0gMCwgdCA9IDA7IHQgPCBlLmxlbmd0aDsgKyt0KSB7CiAgICAgICAgdmFyIG4gPSBlLmNoYXJDb2RlQXQodCk7CiAgICAgICAgbiA+PSA1NTI5NiAmJiBuIDw9IDU3MzQzICYmICsrdCwgciArPSA0OwogICAgICB9CiAgICAgIHJldHVybiByOwogICAgfSwgSm4gPSAoZSwgciwgdCkgPT4gewogICAgICB0ID0gTCh0KTsKICAgICAgdmFyIG4sIHMsIGMsIGY7CiAgICAgIHIgPT09IDIgPyAobiA9IExuLCBzID0gTW4sIGYgPSB6biwgYyA9ICh2KSA9PiB3ZVt2ID4+IDFdKSA6IHIgPT09IDQgJiYgKG4gPSBHbiwgcyA9IE5uLCBmID0gcW4sIGMgPSAodikgPT4gRlt2ID4+IDJdKSwgcmUoZSwgewogICAgICAgIG5hbWU6IHQsCiAgICAgICAgZnJvbVdpcmVUeXBlOiAodikgPT4gewogICAgICAgICAgZm9yICh2YXIgcCA9IEZbdiA+PiAyXSwgZywgaCA9IHYgKyA0LCBiID0gMDsgYiA8PSBwOyArK2IpIHsKICAgICAgICAgICAgdmFyIEEgPSB2ICsgNCArIGIgKiByOwogICAgICAgICAgICBpZiAoYiA9PSBwIHx8IGMoQSkgPT0gMCkgewogICAgICAgICAgICAgIHZhciBCID0gQSAtIGgsIFYgPSBuKGgsIEIpOwogICAgICAgICAgICAgIGcgPT09IHZvaWQgMCA/IGcgPSBWIDogKGcgKz0gIlwwIiwgZyArPSBWKSwgaCA9IEEgKyByOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4ga2UodiksIGc7CiAgICAgICAgfSwKICAgICAgICB0b1dpcmVUeXBlOiAodiwgcCkgPT4gewogICAgICAgICAgdHlwZW9mIHAgIT0gInN0cmluZyIgJiYgQyhgQ2Fubm90IHBhc3Mgbm9uLXN0cmluZyB0byBDKysgc3RyaW5nIHR5cGUgJHt0fWApOwogICAgICAgICAgdmFyIGcgPSBmKHApLCBoID0gR3QoNCArIGcgKyByKTsKICAgICAgICAgIHJldHVybiBGW2ggPj4gMl0gPSBnIC8gciwgcyhwLCBoICsgNCwgZyArIHIpLCB2ICE9PSBudWxsICYmIHYucHVzaChrZSwgaCksIGg7CiAgICAgICAgfSwKICAgICAgICBhcmdQYWNrQWR2YW5jZTogdGUsCiAgICAgICAgcmVhZFZhbHVlRnJvbVBvaW50ZXI6IFJlLAogICAgICAgIGRlc3RydWN0b3JGdW5jdGlvbih2KSB7CiAgICAgICAgICBrZSh2KTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwgS24gPSAoZSwgciwgdCwgbiwgcywgYykgPT4gewogICAgICBXW2VdID0gewogICAgICAgIG5hbWU6IEwociksCiAgICAgICAgcmF3Q29uc3RydWN0b3I6IEUodCwgbiksCiAgICAgICAgcmF3RGVzdHJ1Y3RvcjogRShzLCBjKSwKICAgICAgICBmaWVsZHM6IFtdCiAgICAgIH07CiAgICB9LCBZbiA9IChlLCByLCB0LCBuLCBzLCBjLCBmLCB2LCBwLCBnKSA9PiB7CiAgICAgIFdbZV0uZmllbGRzLnB1c2goewogICAgICAgIGZpZWxkTmFtZTogTChyKSwKICAgICAgICBnZXR0ZXJSZXR1cm5UeXBlOiB0LAogICAgICAgIGdldHRlcjogRShuLCBzKSwKICAgICAgICBnZXR0ZXJDb250ZXh0OiBjLAogICAgICAgIHNldHRlckFyZ3VtZW50VHlwZTogZiwKICAgICAgICBzZXR0ZXI6IEUodiwgcCksCiAgICAgICAgc2V0dGVyQ29udGV4dDogZwogICAgICB9KTsKICAgIH0sIFhuID0gKGUsIHIpID0+IHsKICAgICAgciA9IEwociksIHJlKGUsIHsKICAgICAgICBpc1ZvaWQ6ICEwLAogICAgICAgIC8vIHZvaWQgcmV0dXJuIHZhbHVlcyBjYW4gYmUgb3B0aW1pemVkIG91dCBzb21ldGltZXMKICAgICAgICBuYW1lOiByLAogICAgICAgIGFyZ1BhY2tBZHZhbmNlOiAwLAogICAgICAgIGZyb21XaXJlVHlwZTogKCkgPT4gewogICAgICAgIH0sCiAgICAgICAgLy8gVE9ETzogYXNzZXJ0IGlmIGFueXRoaW5nIGVsc2UgaXMgZ2l2ZW4/CiAgICAgICAgdG9XaXJlVHlwZTogKHQsIG4pID0+IHsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwgWm4gPSAxLCBRbiA9ICgpID0+IFpuLCBlYSA9ICgpID0+IHsKICAgICAgX2UgPSAhMSwgc24gPSAwOwogICAgfSwgdG4gPSAoZSwgciwgdCkgPT4gewogICAgICB2YXIgbiA9IFtdLCBzID0gZS50b1dpcmVUeXBlKG4sIHQpOwogICAgICByZXR1cm4gbi5sZW5ndGggJiYgKEZbciA+PiAyXSA9IFMudG9IYW5kbGUobikpLCBzOwogICAgfSwgcmEgPSAoZSwgciwgdCkgPT4gKGUgPSBTLnRvVmFsdWUoZSksIHIgPSBYZShyLCAiZW12YWw6OmFzIiksIHRuKHIsIHQsIGUpKSwgbnQgPSBbXSwgdGEgPSAoZSwgciwgdCwgbikgPT4gKGUgPSBudFtlXSwgciA9IFMudG9WYWx1ZShyKSwgZShudWxsLCByLCB0LCBuKSksIG5hID0ge30sIE10ID0gKGUpID0+IHsKICAgICAgdmFyIHIgPSBuYVtlXTsKICAgICAgcmV0dXJuIHIgPT09IHZvaWQgMCA/IEwoZSkgOiByOwogICAgfSwgYWEgPSAoZSwgciwgdCwgbiwgcykgPT4gKGUgPSBudFtlXSwgciA9IFMudG9WYWx1ZShyKSwgdCA9IE10KHQpLCBlKHIsIHJbdF0sIG4sIHMpKSwgaWEgPSAoZSwgcikgPT4gUy50b0hhbmRsZShuZXcgUHJvbWlzZSgodCwgbikgPT4gewogICAgICBjb25zdCBzID0gKCkgPT4gewogICAgICAgIHRyeSB7CiAgICAgICAgICBtcigpOwogICAgICAgIH0gY2F0Y2ggKGMpIHsKICAgICAgICAgIG4oYyk7CiAgICAgICAgfQogICAgICB9OwogICAgICBGW2UgPj4gMl0gPSBTLnRvSGFuZGxlKHQpLCBGW3IgPj4gMl0gPSBTLnRvSGFuZGxlKHMpOwogICAgfSkpLCBubiA9ICgpID0+IHR5cGVvZiBnbG9iYWxUaGlzID09ICJvYmplY3QiID8gZ2xvYmFsVGhpcyA6ICgvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiBGdW5jdGlvbjsKICAgIH0oKSkoInJldHVybiB0aGlzIikoKSwgc2EgPSAoZSkgPT4gZSA9PT0gMCA/IFMudG9IYW5kbGUobm4oKSkgOiAoZSA9IE10KGUpLCBTLnRvSGFuZGxlKG5uKClbZV0pKSwgb2EgPSAoZSkgPT4gewogICAgICB2YXIgciA9IG50Lmxlbmd0aDsKICAgICAgcmV0dXJuIG50LnB1c2goZSksIHI7CiAgICB9LCBjYSA9IChlLCByKSA9PiB7CiAgICAgIGZvciAodmFyIHQgPSBuZXcgQXJyYXkoZSksIG4gPSAwOyBuIDwgZTsgKytuKQogICAgICAgIHRbbl0gPSBYZShGW3IgKyBuICogNCA+PiAyXSwgInBhcmFtZXRlciAiICsgbik7CiAgICAgIHJldHVybiB0OwogICAgfSwgdWEgPSAoZSwgciwgdCkgPT4gewogICAgICB2YXIgbiA9IGNhKGUsIHIpLCBzID0gbi5zaGlmdCgpOwogICAgICBlLS07CiAgICAgIHZhciBjID0gYHJldHVybiBmdW5jdGlvbiAob2JqLCBmdW5jLCBkZXN0cnVjdG9yc1JlZiwgYXJncykgewpgLCBmID0gMCwgdiA9IFtdOwogICAgICB0ID09PSAvKiBGVU5DVElPTiAqLwogICAgICAwICYmIHYucHVzaCgib2JqIik7CiAgICAgIGZvciAodmFyIHAgPSBbInJldFR5cGUiXSwgZyA9IFtzXSwgaCA9IDA7IGggPCBlOyArK2gpCiAgICAgICAgdi5wdXNoKCJhcmciICsgaCksIHAucHVzaCgiYXJnVHlwZSIgKyBoKSwgZy5wdXNoKG5baF0pLCBjICs9IGAgIHZhciBhcmcke2h9ID0gYXJnVHlwZSR7aH0ucmVhZFZhbHVlRnJvbVBvaW50ZXIoYXJncyR7ZiA/ICIrIiArIGYgOiAiIn0pOwpgLCBmICs9IG5baF0uYXJnUGFja0FkdmFuY2U7CiAgICAgIHZhciBiID0gdCA9PT0gLyogQ09OU1RSVUNUT1IgKi8KICAgICAgMSA/ICJuZXcgZnVuYyIgOiAiZnVuYy5jYWxsIjsKICAgICAgYyArPSBgICB2YXIgcnYgPSAke2J9KCR7di5qb2luKCIsICIpfSk7CmAsIHMuaXNWb2lkIHx8IChwLnB1c2goImVtdmFsX3JldHVyblZhbHVlIiksIGcucHVzaCh0biksIGMgKz0gYCAgcmV0dXJuIGVtdmFsX3JldHVyblZhbHVlKHJldFR5cGUsIGRlc3RydWN0b3JzUmVmLCBydik7CmApLCBjICs9IGB9OwpgLCBwLnB1c2goYyk7CiAgICAgIHZhciBBID0gSXIoRnVuY3Rpb24sIHApKC4uLmcpLCBCID0gYG1ldGhvZENhbGxlcjwoJHtuLm1hcCgoVikgPT4gVi5uYW1lKS5qb2luKCIsICIpfSkgPT4gJHtzLm5hbWV9PmA7CiAgICAgIHJldHVybiBvYShXZShCLCBBKSk7CiAgICB9LCBmYSA9IChlLCByKSA9PiAoZSA9IFMudG9WYWx1ZShlKSwgciA9IFMudG9WYWx1ZShyKSwgUy50b0hhbmRsZShlW3JdKSksIHZhID0gKGUpID0+IHsKICAgICAgZSA+IDkgJiYgKHBlW2UgKyAxXSArPSAxKTsKICAgIH0sIGxhID0gKGUpID0+IChlID0gUy50b1ZhbHVlKGUpLCB0eXBlb2YgZSA9PSAic3RyaW5nIiksIF9hID0gKGUpID0+IChlID0gUy50b1ZhbHVlKGUpLCBTLnRvSGFuZGxlKGVbU3ltYm9sLml0ZXJhdG9yXSgpKSksIHBhID0gKGUpID0+IHsKICAgICAgZSA9IFMudG9WYWx1ZShlKTsKICAgICAgdmFyIHIgPSBlLm5leHQoKTsKICAgICAgcmV0dXJuIHIuZG9uZSA/IDAgOiBTLnRvSGFuZGxlKHIudmFsdWUpOwogICAgfSwgZGEgPSAoZSkgPT4gUy50b0hhbmRsZShNdChlKSksIGhhID0gKCkgPT4gUy50b0hhbmRsZSh7fSksIGdhID0gKGUpID0+IHsKICAgICAgdmFyIHIgPSBTLnRvVmFsdWUoZSk7CiAgICAgIGVyKHIpLCBMdChlKTsKICAgIH0sIG1hID0gKGUsIHIsIHQpID0+IHsKICAgICAgZSA9IFMudG9WYWx1ZShlKSwgciA9IFMudG9WYWx1ZShyKSwgdCA9IFMudG9WYWx1ZSh0KSwgZVtyXSA9IHQ7CiAgICB9LCB5YSA9IChlLCByKSA9PiB7CiAgICAgIGUgPSBYZShlLCAiX2VtdmFsX3Rha2VfdmFsdWUiKTsKICAgICAgdmFyIHQgPSBlLnJlYWRWYWx1ZUZyb21Qb2ludGVyKHIpOwogICAgICByZXR1cm4gUy50b0hhbmRsZSh0KTsKICAgIH0sIERyID0ge30sIGFuID0gKGUpID0+IHsKICAgICAgaWYgKGUgaW5zdGFuY2VvZiBZIHx8IGUgPT0gInVud2luZCIpCiAgICAgICAgcmV0dXJuIFRlOwogICAgICB6KDEsIGUpOwogICAgfSwgc24gPSAwLCBvbiA9ICgpID0+IF9lIHx8IHNuID4gMCwgY24gPSAoZSkgPT4gewogICAgICB2YXIgcjsKICAgICAgVGUgPSBlLCBvbigpIHx8ICgociA9IGkub25FeGl0KSA9PSBudWxsIHx8IHIuY2FsbChpLCBlKSwgbGUgPSAhMCksIHooZSwgbmV3IFkoZSkpOwogICAgfSwgd2EgPSAoZSwgcikgPT4gewogICAgICBUZSA9IGUsIGNuKGUpOwogICAgfSwgYmEgPSB3YSwgUGEgPSAoKSA9PiB7CiAgICAgIGlmICghb24oKSkKICAgICAgICB0cnkgewogICAgICAgICAgYmEoVGUpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgIGFuKGUpOwogICAgICAgIH0KICAgIH0sIHVuID0gKGUpID0+IHsKICAgICAgaWYgKCFsZSkKICAgICAgICB0cnkgewogICAgICAgICAgZSgpLCBQYSgpOwogICAgICAgIH0gY2F0Y2ggKHIpIHsKICAgICAgICAgIGFuKHIpOwogICAgICAgIH0KICAgIH0sIGZuID0gKCkgPT4gcGVyZm9ybWFuY2Uubm93KCksIEVhID0gKGUsIHIpID0+IHsKICAgICAgaWYgKERyW2VdICYmIChjbGVhclRpbWVvdXQoRHJbZV0uaWQpLCBkZWxldGUgRHJbZV0pLCAhcikgcmV0dXJuIDA7CiAgICAgIHZhciB0ID0gc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgZGVsZXRlIERyW2VdLCB1bigoKSA9PiBkbihlLCBmbigpKSk7CiAgICAgIH0sIHIpOwogICAgICByZXR1cm4gRHJbZV0gPSB7CiAgICAgICAgaWQ6IHQsCiAgICAgICAgdGltZW91dF9tczogcgogICAgICB9LCAwOwogICAgfSwgenQgPSBbXSwgVGEgPSAoZSwgcikgPT4gewogICAgICB6dC5sZW5ndGggPSAwOwogICAgICBmb3IgKHZhciB0OyB0ID0gTVtlKytdOyApIHsKICAgICAgICB2YXIgbiA9IHQgIT0gMTA1OwogICAgICAgIG4gJj0gdCAhPSAxMTIsIHIgKz0gbiAmJiByICUgOCA/IDQgOiAwLCB6dC5wdXNoKAogICAgICAgICAgLy8gU3BlY2lhbCBjYXNlIGZvciBwb2ludGVycyB1bmRlciB3YXNtNjQgb3IgQ0FOX0FERFJFU1NfMkdCIG1vZGUuCiAgICAgICAgICB0ID09IDExMiA/IEZbciA+PiAyXSA6IHQgPT0gMTA2ID8gTWVbciA+PiAzXSA6IHQgPT0gMTA1ID8gc2VbciA+PiAyXSA6IHZyW3IgPj4gM10KICAgICAgICApLCByICs9IG4gPyA4IDogNDsKICAgICAgfQogICAgICByZXR1cm4genQ7CiAgICB9LCAkYSA9IChlLCByLCB0KSA9PiB7CiAgICAgIHZhciBuID0gVGEociwgdCk7CiAgICAgIHJldHVybiBWcltlXSguLi5uKTsKICAgIH0sIENhID0gKGUsIHIsIHQpID0+ICRhKGUsIHIsIHQpLCBBYSA9IGNsZWFyVGltZW91dCwgUmEgPSAoKSA9PiBwZXJmb3JtYW5jZS5ub3coKSwgU2EgPSAoKSA9PiAoCiAgICAgIC8vIFN0YXkgb25lIFdhc20gcGFnZSBzaG9ydCBvZiA0R0I6IHdoaWxlIGUuZy4gQ2hyb21lIGlzIGFibGUgdG8gYWxsb2NhdGUKICAgICAgLy8gZnVsbCA0R0IgV2FzbSBtZW1vcmllcywgdGhlIHNpemUgd2lsbCB3cmFwIGJhY2sgdG8gMCBieXRlcyBpbiBXYXNtIHNpZGUKICAgICAgLy8gZm9yIGFueSBjb2RlIHRoYXQgZGVhbHMgd2l0aCBoZWFwIHNpemVzLCB3aGljaCB3b3VsZCByZXF1aXJlIHNwZWNpYWwKICAgICAgLy8gY2FzaW5nIGFsbCBoZWFwIHNpemUgcmVsYXRlZCBjb2RlIHRvIHRyZWF0IDAgc3BlY2lhbGx5LgogICAgICAyMTQ3NDgzNjQ4CiAgICApLCBrYSA9IChlLCByKSA9PiBNYXRoLmNlaWwoZSAvIHIpICogciwgSWEgPSAoZSkgPT4gewogICAgICB2YXIgciA9IG1lLmJ1ZmZlciwgdCA9IChlIC0gci5ieXRlTGVuZ3RoICsgNjU1MzUpIC8gNjU1MzY7CiAgICAgIHRyeSB7CiAgICAgICAgcmV0dXJuIG1lLmdyb3codCksIE9yKCksIDE7CiAgICAgIH0gY2F0Y2ggewogICAgICB9CiAgICB9LCBXYSA9IChlKSA9PiB7CiAgICAgIHZhciByID0gTS5sZW5ndGg7CiAgICAgIGUgPj4+PSAwOwogICAgICB2YXIgdCA9IFNhKCk7CiAgICAgIGlmIChlID4gdCkKICAgICAgICByZXR1cm4gITE7CiAgICAgIGZvciAodmFyIG4gPSAxOyBuIDw9IDQ7IG4gKj0gMikgewogICAgICAgIHZhciBzID0gciArIDEwNDg1NzYgLyBuLCBjID0gTWF0aC5taW4odCwga2EoTWF0aC5tYXgoZSwgcyksIDY1NTM2KSksIGYgPSBJYShjKTsKICAgICAgICBpZiAoZikKICAgICAgICAgIHJldHVybiAhMDsKICAgICAgfQogICAgICByZXR1cm4gITE7CiAgICB9LCBEYSA9IChlLCByKSA9PiBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgdW4oZSk7CiAgICB9LCByKSwgRmEgPSAoZSwgciwgdCkgPT4gRGEoKCkgPT4gdyhlKSh0KSwgciksIE9hID0gKGUpID0+IDUyOwogICAgZnVuY3Rpb24gVWEoZSwgciwgdCwgbikgewogICAgICByZXR1cm4gNzA7CiAgICB9CiAgICB2YXIgeGEgPSBbbnVsbCwgW10sIFtdXSwgamEgPSAoZSwgcikgPT4gewogICAgICB2YXIgdCA9IHhhW2VdOwogICAgICByID09PSAwIHx8IHIgPT09IDEwID8gKChlID09PSAxID8gYWUgOiBmZSkoUXQodCwgMCkpLCB0Lmxlbmd0aCA9IDApIDogdC5wdXNoKHIpOwogICAgfSwgSGEgPSAoZSwgciwgdCwgbikgPT4gewogICAgICBmb3IgKHZhciBzID0gMCwgYyA9IDA7IGMgPCB0OyBjKyspIHsKICAgICAgICB2YXIgZiA9IEZbciA+PiAyXSwgdiA9IEZbciArIDQgPj4gMl07CiAgICAgICAgciArPSA4OwogICAgICAgIGZvciAodmFyIHAgPSAwOyBwIDwgdjsgcCsrKQogICAgICAgICAgamEoZSwgTVtmICsgcF0pOwogICAgICAgIHMgKz0gdjsKICAgICAgfQogICAgICByZXR1cm4gRltuID4+IDJdID0gcywgMDsKICAgIH0sIEJhID0gKGUpID0+IGUsIHZuID0gKGUsIHIpID0+IHsKICAgICAgZSA8IDEyOCA/IHIucHVzaChlKSA6IHIucHVzaChlICUgMTI4IHwgMTI4LCBlID4+IDcpOwogICAgfSwgVmEgPSAoZSkgPT4gewogICAgICBmb3IgKHZhciByID0gewogICAgICAgIGk6ICJpMzIiLAogICAgICAgIGo6ICJpNjQiLAogICAgICAgIGY6ICJmMzIiLAogICAgICAgIGQ6ICJmNjQiLAogICAgICAgIGU6ICJleHRlcm5yZWYiLAogICAgICAgIHA6ICJpMzIiCiAgICAgIH0sIHQgPSB7CiAgICAgICAgcGFyYW1ldGVyczogW10sCiAgICAgICAgcmVzdWx0czogZVswXSA9PSAidiIgPyBbXSA6IFtyW2VbMF1dXQogICAgICB9LCBuID0gMTsgbiA8IGUubGVuZ3RoOyArK24pCiAgICAgICAgdC5wYXJhbWV0ZXJzLnB1c2gocltlW25dXSk7CiAgICAgIHJldHVybiB0OwogICAgfSwgTGEgPSAoZSwgcikgPT4gewogICAgICB2YXIgdCA9IGUuc2xpY2UoMCwgMSksIG4gPSBlLnNsaWNlKDEpLCBzID0gewogICAgICAgIGk6IDEyNywKICAgICAgICAvLyBpMzIKICAgICAgICBwOiAxMjcsCiAgICAgICAgLy8gaTMyCiAgICAgICAgajogMTI2LAogICAgICAgIC8vIGk2NAogICAgICAgIGY6IDEyNSwKICAgICAgICAvLyBmMzIKICAgICAgICBkOiAxMjQsCiAgICAgICAgLy8gZjY0CiAgICAgICAgZTogMTExCiAgICAgIH07CiAgICAgIHIucHVzaCg5NiksIHZuKG4ubGVuZ3RoLCByKTsKICAgICAgZm9yICh2YXIgYyA9IDA7IGMgPCBuLmxlbmd0aDsgKytjKQogICAgICAgIHIucHVzaChzW25bY11dKTsKICAgICAgdCA9PSAidiIgPyByLnB1c2goMCkgOiByLnB1c2goMSwgc1t0XSk7CiAgICB9LCBNYSA9IChlLCByKSA9PiB7CiAgICAgIGlmICh0eXBlb2YgV2ViQXNzZW1ibHkuRnVuY3Rpb24gPT0gImZ1bmN0aW9uIikKICAgICAgICByZXR1cm4gbmV3IFdlYkFzc2VtYmx5LkZ1bmN0aW9uKFZhKHIpLCBlKTsKICAgICAgdmFyIHQgPSBbMV07CiAgICAgIExhKHIsIHQpOwogICAgICB2YXIgbiA9IFsKICAgICAgICAwLAogICAgICAgIDk3LAogICAgICAgIDExNSwKICAgICAgICAxMDksCiAgICAgICAgLy8gbWFnaWMgKCJcMGFzbSIpCiAgICAgICAgMSwKICAgICAgICAwLAogICAgICAgIDAsCiAgICAgICAgMCwKICAgICAgICAvLyB2ZXJzaW9uOiAxCiAgICAgICAgMQogICAgICBdOwogICAgICB2bih0Lmxlbmd0aCwgbiksIG4ucHVzaCguLi50KSwgbi5wdXNoKAogICAgICAgIDIsCiAgICAgICAgNywKICAgICAgICAvLyBpbXBvcnQgc2VjdGlvbgogICAgICAgIC8vIChpbXBvcnQgImUiICJmIiAoZnVuYyAwICh0eXBlIDApKSkKICAgICAgICAxLAogICAgICAgIDEsCiAgICAgICAgMTAxLAogICAgICAgIDEsCiAgICAgICAgMTAyLAogICAgICAgIDAsCiAgICAgICAgMCwKICAgICAgICA3LAogICAgICAgIDUsCiAgICAgICAgLy8gZXhwb3J0IHNlY3Rpb24KICAgICAgICAvLyAoZXhwb3J0ICJmIiAoZnVuYyAwICh0eXBlIDApKSkKICAgICAgICAxLAogICAgICAgIDEsCiAgICAgICAgMTAyLAogICAgICAgIDAsCiAgICAgICAgMAogICAgICApOwogICAgICB2YXIgcyA9IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUobmV3IFVpbnQ4QXJyYXkobikpLCBjID0gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKHMsIHsKICAgICAgICBlOiB7CiAgICAgICAgICBmOiBlCiAgICAgICAgfQogICAgICB9KSwgZiA9IGMuZXhwb3J0cy5mOwogICAgICByZXR1cm4gZjsKICAgIH0sIHphID0gKGUsIHIpID0+IHsKICAgICAgaWYgKHNyKQogICAgICAgIGZvciAodmFyIHQgPSBlOyB0IDwgZSArIHI7IHQrKykgewogICAgICAgICAgdmFyIG4gPSB3KHQpOwogICAgICAgICAgbiAmJiBzci5zZXQobiwgdCk7CiAgICAgICAgfQogICAgfSwgc3IsIEdhID0gKGUpID0+IChzciB8fCAoc3IgPSAvKiBAX19QVVJFX18gKi8gbmV3IFdlYWtNYXAoKSwgemEoMCwgUC5sZW5ndGgpKSwgc3IuZ2V0KGUpIHx8IDApLCBsbiA9IFtdLCBOYSA9ICgpID0+IHsKICAgICAgaWYgKGxuLmxlbmd0aCkKICAgICAgICByZXR1cm4gbG4ucG9wKCk7CiAgICAgIHRyeSB7CiAgICAgICAgUC5ncm93KDEpOwogICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgdGhyb3cgZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgPyAiVW5hYmxlIHRvIGdyb3cgd2FzbSB0YWJsZS4gU2V0IEFMTE9XX1RBQkxFX0dST1dUSC4iIDogZTsKICAgICAgfQogICAgICByZXR1cm4gUC5sZW5ndGggLSAxOwogICAgfSwgX24gPSAoZSwgcikgPT4gUC5zZXQoZSwgciksIHFhID0gKGUsIHIpID0+IHsKICAgICAgdmFyIHQgPSBHYShlKTsKICAgICAgaWYgKHQpCiAgICAgICAgcmV0dXJuIHQ7CiAgICAgIHZhciBuID0gTmEoKTsKICAgICAgdHJ5IHsKICAgICAgICBfbihuLCBlKTsKICAgICAgfSBjYXRjaCAoYykgewogICAgICAgIGlmICghKGMgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKQogICAgICAgICAgdGhyb3cgYzsKICAgICAgICB2YXIgcyA9IE1hKGUsIHIpOwogICAgICAgIF9uKG4sIHMpOwogICAgICB9CiAgICAgIHJldHVybiBzci5zZXQoZSwgbiksIG47CiAgICB9OwogICAgamUgPSBpLkJpbmRpbmdFcnJvciA9IGNsYXNzIGV4dGVuZHMgRXJyb3IgewogICAgICBjb25zdHJ1Y3RvcihyKSB7CiAgICAgICAgc3VwZXIociksIHRoaXMubmFtZSA9ICJCaW5kaW5nRXJyb3IiOwogICAgICB9CiAgICB9LCBIZSgpLCBiciA9IGkuUHVyZVZpcnR1YWxFcnJvciA9IHdyKEVycm9yLCAiUHVyZVZpcnR1YWxFcnJvciIpLCBHcigpLCBSdCgpLCBLciA9IGkuSW50ZXJuYWxFcnJvciA9IGNsYXNzIGV4dGVuZHMgRXJyb3IgewogICAgICBjb25zdHJ1Y3RvcihyKSB7CiAgICAgICAgc3VwZXIociksIHRoaXMubmFtZSA9ICJJbnRlcm5hbEVycm9yIjsKICAgICAgfQogICAgfSwgVXQoKSwgbygpLCBUID0gaS5VbmJvdW5kVHlwZUVycm9yID0gd3IoRXJyb3IsICJVbmJvdW5kVHlwZUVycm9yIik7CiAgICB2YXIgSmEgPSB7CiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIGo6IHl0LAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBZOiB3dCwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgemE6IGhyLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBiOiBMciwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgYTogTXIsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIHE6IHpyLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBpYTogbXIsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIFc6IFB0LAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBsOiBFdCwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgZzogYnQsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIGRhOiBUdCwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgcWE6IER0LAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICByYTogWXIsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIEc6IFpyLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBuYTogRnQsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIEI6IG5yLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICB2OiBCdCwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgbjogVnQsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIGxhOiBXbiwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgRjogRm4sCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIHBhOiBPbiwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgcDogVW4sCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIGs6IHhuLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBIOiBWbiwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgQTogSm4sCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIHg6IEtuLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICB3OiBZbiwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgb2E6IFhuLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBaOiBRbiwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgVTogZWEsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIHdhOiByYSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgejogdGEsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIEk6IGFhLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBQOiBpYSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgZ2E6IEx0LAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBtYTogc2EsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIHk6IHVhLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICB4YTogZmEsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIEM6IHZhLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICB2YTogbGEsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIHVhOiBfYSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgdGE6IHBhLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBKOiBkYSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgWDogaGEsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIHlhOiBnYSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAga2E6IG1hLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBqYTogeWEsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIFY6IEVhLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBoYTogQ2EsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIGVhOiBBYSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgJDogZm4sCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIHNhOiBSYSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgXzogV2EsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIGZhOiBGYSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgY2E6IE9hLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBhYTogVWEsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIGJhOiBIYSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgUzogbmksCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIFI6IGFpLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBpOiBLYSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgTTogX2ksCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIGU6IFlhLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBtOiB0aSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgczogbGksCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIHU6IG9pLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBoOiByaSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgYzogWGEsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIG86IGNpLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBOOiB1aSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgZDogUWEsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIEs6IGRpLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBMOiBwaSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgRTogZmksCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIGY6IGVpLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBEOiB2aSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgcjogWmEsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIFE6IGlpLAogICAgICAvKiogQGV4cG9ydCAqLwogICAgICBPOiBzaSwKICAgICAgLyoqIEBleHBvcnQgKi8KICAgICAgdDogQmEsCiAgICAgIC8qKiBAZXhwb3J0ICovCiAgICAgIFQ6IGNuCiAgICB9LCBOID0gTmUoKSwgcG4gPSAoZSkgPT4gKHBuID0gTi5DYSkoZSksIEd0ID0gKGUpID0+IChHdCA9IE4uRGEpKGUpLCBkbiA9IChlLCByKSA9PiAoZG4gPSBOLkVhKShlLCByKSwga2UgPSAoZSkgPT4gKGtlID0gTi5HYSkoZSksIEggPSAoZSwgcikgPT4gKEggPSBOLkhhKShlLCByKSwgaG4gPSAoZSkgPT4gKGhuID0gTi5JYSkoZSksIGduID0gKGUpID0+IChnbiA9IE4uSmEpKGUpLCBtbiA9ICgpID0+IChtbiA9IE4uS2EpKCksIHluID0gKGUpID0+ICh5biA9IE4uTGEpKGUpLCBOdCA9IChlKSA9PiAoTnQgPSBOLk1hKShlKSwgd24gPSAoZSwgciwgdCkgPT4gKHduID0gTi5OYSkoZSwgciwgdCksIGJuID0gKGUpID0+IChibiA9IE4uT2EpKGUpOwogICAgZnVuY3Rpb24gS2EoZSwgcikgewogICAgICB2YXIgdCA9IGooKTsKICAgICAgdHJ5IHsKICAgICAgICByZXR1cm4gdyhlKShyKTsKICAgICAgfSBjYXRjaCAobikgewogICAgICAgIGlmIChVKHQpLCBuICE9PSBuICsgMCkgdGhyb3cgbjsKICAgICAgICBIKDEsIDApOwogICAgICB9CiAgICB9CiAgICBmdW5jdGlvbiBZYShlLCByLCB0KSB7CiAgICAgIHZhciBuID0gaigpOwogICAgICB0cnkgewogICAgICAgIHJldHVybiB3KGUpKHIsIHQpOwogICAgICB9IGNhdGNoIChzKSB7CiAgICAgICAgaWYgKFUobiksIHMgIT09IHMgKyAwKSB0aHJvdyBzOwogICAgICAgIEgoMSwgMCk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIFhhKGUsIHIpIHsKICAgICAgdmFyIHQgPSBqKCk7CiAgICAgIHRyeSB7CiAgICAgICAgdyhlKShyKTsKICAgICAgfSBjYXRjaCAobikgewogICAgICAgIGlmIChVKHQpLCBuICE9PSBuICsgMCkgdGhyb3cgbjsKICAgICAgICBIKDEsIDApOwogICAgICB9CiAgICB9CiAgICBmdW5jdGlvbiBaYShlLCByLCB0LCBuLCBzLCBjLCBmLCB2LCBwLCBnLCBoKSB7CiAgICAgIHZhciBiID0gaigpOwogICAgICB0cnkgewogICAgICAgIHcoZSkociwgdCwgbiwgcywgYywgZiwgdiwgcCwgZywgaCk7CiAgICAgIH0gY2F0Y2ggKEEpIHsKICAgICAgICBpZiAoVShiKSwgQSAhPT0gQSArIDApIHRocm93IEE7CiAgICAgICAgSCgxLCAwKTsKICAgICAgfQogICAgfQogICAgZnVuY3Rpb24gUWEoZSwgciwgdCkgewogICAgICB2YXIgbiA9IGooKTsKICAgICAgdHJ5IHsKICAgICAgICB3KGUpKHIsIHQpOwogICAgICB9IGNhdGNoIChzKSB7CiAgICAgICAgaWYgKFUobiksIHMgIT09IHMgKyAwKSB0aHJvdyBzOwogICAgICAgIEgoMSwgMCk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIGVpKGUsIHIsIHQsIG4pIHsKICAgICAgdmFyIHMgPSBqKCk7CiAgICAgIHRyeSB7CiAgICAgICAgdyhlKShyLCB0LCBuKTsKICAgICAgfSBjYXRjaCAoYykgewogICAgICAgIGlmIChVKHMpLCBjICE9PSBjICsgMCkgdGhyb3cgYzsKICAgICAgICBIKDEsIDApOwogICAgICB9CiAgICB9CiAgICBmdW5jdGlvbiByaShlKSB7CiAgICAgIHZhciByID0gaigpOwogICAgICB0cnkgewogICAgICAgIHcoZSkoKTsKICAgICAgfSBjYXRjaCAodCkgewogICAgICAgIGlmIChVKHIpLCB0ICE9PSB0ICsgMCkgdGhyb3cgdDsKICAgICAgICBIKDEsIDApOwogICAgICB9CiAgICB9CiAgICBmdW5jdGlvbiB0aShlLCByLCB0LCBuKSB7CiAgICAgIHZhciBzID0gaigpOwogICAgICB0cnkgewogICAgICAgIHJldHVybiB3KGUpKHIsIHQsIG4pOwogICAgICB9IGNhdGNoIChjKSB7CiAgICAgICAgaWYgKFUocyksIGMgIT09IGMgKyAwKSB0aHJvdyBjOwogICAgICAgIEgoMSwgMCk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIG5pKGUsIHIsIHQsIG4sIHMpIHsKICAgICAgdmFyIGMgPSBqKCk7CiAgICAgIHRyeSB7CiAgICAgICAgcmV0dXJuIHcoZSkociwgdCwgbiwgcyk7CiAgICAgIH0gY2F0Y2ggKGYpIHsKICAgICAgICBpZiAoVShjKSwgZiAhPT0gZiArIDApIHRocm93IGY7CiAgICAgICAgSCgxLCAwKTsKICAgICAgfQogICAgfQogICAgZnVuY3Rpb24gYWkoZSwgciwgdCwgbiwgcywgYykgewogICAgICB2YXIgZiA9IGooKTsKICAgICAgdHJ5IHsKICAgICAgICByZXR1cm4gdyhlKShyLCB0LCBuLCBzLCBjKTsKICAgICAgfSBjYXRjaCAodikgewogICAgICAgIGlmIChVKGYpLCB2ICE9PSB2ICsgMCkgdGhyb3cgdjsKICAgICAgICBIKDEsIDApOwogICAgICB9CiAgICB9CiAgICBmdW5jdGlvbiBpaShlLCByLCB0KSB7CiAgICAgIHZhciBuID0gaigpOwogICAgICB0cnkgewogICAgICAgIHcoZSkociwgdCk7CiAgICAgIH0gY2F0Y2ggKHMpIHsKICAgICAgICBpZiAoVShuKSwgcyAhPT0gcyArIDApIHRocm93IHM7CiAgICAgICAgSCgxLCAwKTsKICAgICAgfQogICAgfQogICAgZnVuY3Rpb24gc2koZSwgciwgdCwgbikgewogICAgICB2YXIgcyA9IGooKTsKICAgICAgdHJ5IHsKICAgICAgICB3KGUpKHIsIHQsIG4pOwogICAgICB9IGNhdGNoIChjKSB7CiAgICAgICAgaWYgKFUocyksIGMgIT09IGMgKyAwKSB0aHJvdyBjOwogICAgICAgIEgoMSwgMCk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIG9pKGUpIHsKICAgICAgdmFyIHIgPSBqKCk7CiAgICAgIHRyeSB7CiAgICAgICAgcmV0dXJuIHcoZSkoKTsKICAgICAgfSBjYXRjaCAodCkgewogICAgICAgIGlmIChVKHIpLCB0ICE9PSB0ICsgMCkgdGhyb3cgdDsKICAgICAgICByZXR1cm4gSCgxLCAwKSwgMG47CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIGNpKGUsIHIsIHQsIG4sIHMpIHsKICAgICAgdmFyIGMgPSBqKCk7CiAgICAgIHRyeSB7CiAgICAgICAgdyhlKShyLCB0LCBuLCBzKTsKICAgICAgfSBjYXRjaCAoZikgewogICAgICAgIGlmIChVKGMpLCBmICE9PSBmICsgMCkgdGhyb3cgZjsKICAgICAgICBIKDEsIDApOwogICAgICB9CiAgICB9CiAgICBmdW5jdGlvbiB1aShlLCByLCB0KSB7CiAgICAgIHZhciBuID0gaigpOwogICAgICB0cnkgewogICAgICAgIHcoZSkociwgdCk7CiAgICAgIH0gY2F0Y2ggKHMpIHsKICAgICAgICBpZiAoVShuKSwgcyAhPT0gcyArIDApIHRocm93IHM7CiAgICAgICAgSCgxLCAwKTsKICAgICAgfQogICAgfQogICAgZnVuY3Rpb24gZmkoZSwgciwgdCwgbiwgcykgewogICAgICB2YXIgYyA9IGooKTsKICAgICAgdHJ5IHsKICAgICAgICB3KGUpKHIsIHQsIG4sIHMpOwogICAgICB9IGNhdGNoIChmKSB7CiAgICAgICAgaWYgKFUoYyksIGYgIT09IGYgKyAwKSB0aHJvdyBmOwogICAgICAgIEgoMSwgMCk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIHZpKGUsIHIsIHQsIG4sIHMpIHsKICAgICAgdmFyIGMgPSBqKCk7CiAgICAgIHRyeSB7CiAgICAgICAgdyhlKShyLCB0LCBuLCBzKTsKICAgICAgfSBjYXRjaCAoZikgewogICAgICAgIGlmIChVKGMpLCBmICE9PSBmICsgMCkgdGhyb3cgZjsKICAgICAgICBIKDEsIDApOwogICAgICB9CiAgICB9CiAgICBmdW5jdGlvbiBsaShlLCByLCB0LCBuLCBzKSB7CiAgICAgIHZhciBjID0gaigpOwogICAgICB0cnkgewogICAgICAgIHJldHVybiB3KGUpKHIsIHQsIG4sIHMpOwogICAgICB9IGNhdGNoIChmKSB7CiAgICAgICAgaWYgKFUoYyksIGYgIT09IGYgKyAwKSB0aHJvdyBmOwogICAgICAgIEgoMSwgMCk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIF9pKGUsIHIsIHQsIG4pIHsKICAgICAgdmFyIHMgPSBqKCk7CiAgICAgIHRyeSB7CiAgICAgICAgcmV0dXJuIHcoZSkociwgdCwgbik7CiAgICAgIH0gY2F0Y2ggKGMpIHsKICAgICAgICBpZiAoVShzKSwgYyAhPT0gYyArIDApIHRocm93IGM7CiAgICAgICAgSCgxLCAwKTsKICAgICAgfQogICAgfQogICAgZnVuY3Rpb24gcGkoZSwgciwgdCwgbikgewogICAgICB2YXIgcyA9IGooKTsKICAgICAgdHJ5IHsKICAgICAgICB3KGUpKHIsIHQsIG4pOwogICAgICB9IGNhdGNoIChjKSB7CiAgICAgICAgaWYgKFUocyksIGMgIT09IGMgKyAwKSB0aHJvdyBjOwogICAgICAgIEgoMSwgMCk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIGRpKGUsIHIsIHQsIG4pIHsKICAgICAgdmFyIHMgPSBqKCk7CiAgICAgIHRyeSB7CiAgICAgICAgdyhlKShyLCB0LCBuKTsKICAgICAgfSBjYXRjaCAoYykgewogICAgICAgIGlmIChVKHMpLCBjICE9PSBjICsgMCkgdGhyb3cgYzsKICAgICAgICBIKDEsIDApOwogICAgICB9CiAgICB9CiAgICBpLmFkZEZ1bmN0aW9uID0gcWE7CiAgICB2YXIgYXQ7CiAgICB4ZSA9IGZ1bmN0aW9uIGUoKSB7CiAgICAgIGF0IHx8IFBuKCksIGF0IHx8ICh4ZSA9IGUpOwogICAgfTsKICAgIGZ1bmN0aW9uIFBuKCkgewogICAgICBpZiAoQ2UgPiAwIHx8ICh2dCgpLCBDZSA+IDApKQogICAgICAgIHJldHVybjsKICAgICAgZnVuY3Rpb24gZSgpIHsKICAgICAgICB2YXIgcjsKICAgICAgICBhdCB8fCAoYXQgPSAhMCwgaS5jYWxsZWRSdW4gPSAhMCwgIWxlICYmIChsdCgpLCBSKGkpLCAociA9IGkub25SdW50aW1lSW5pdGlhbGl6ZWQpID09IG51bGwgfHwgci5jYWxsKGkpLCBfdCgpKSk7CiAgICAgIH0KICAgICAgaS5zZXRTdGF0dXMgPyAoaS5zZXRTdGF0dXMoIlJ1bm5pbmcuLi4iKSwgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgc2V0VGltZW91dCgoKSA9PiBpLnNldFN0YXR1cygiIiksIDEpLCBlKCk7CiAgICAgIH0sIDEpKSA6IGUoKTsKICAgIH0KICAgIGlmIChpLnByZUluaXQpCiAgICAgIGZvciAodHlwZW9mIGkucHJlSW5pdCA9PSAiZnVuY3Rpb24iICYmIChpLnByZUluaXQgPSBbaS5wcmVJbml0XSk7IGkucHJlSW5pdC5sZW5ndGggPiAwOyApCiAgICAgICAgaS5wcmVJbml0LnBvcCgpKCk7CiAgICByZXR1cm4gUG4oKSwgeSA9IE8sIHk7CiAgfTsKfSkoKTsKY29uc3QgbWkgPSBhc3luYyAodSwgbCA9IHt9KSA9PiAodSBpbnN0YW5jZW9mIFdlYkFzc2VtYmx5Lk1vZHVsZSB8fCAodSA9IGF3YWl0IFdlYkFzc2VtYmx5LmNvbXBpbGUodSkpLCBhd2FpdCBnaSh7CiAgaW5zdGFudGlhdGVXYXNtKGQsIHkpIHsKICAgIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKHUsIGQpLnRoZW4oKGkpID0+ICh5KGkpLCBpLmV4cG9ydHMpKTsKICB9LAogIG5vRXhpdFJ1bnRpbWU6ICEwLAogIG5vSW5pdGlhbFJ1bjogITAsCiAgLi4ubAp9KSk7CmNsYXNzIHlpIGV4dGVuZHMgRXJyb3IgewogIGNvbnN0cnVjdG9yKGwsIGQpIHsKICAgIHN1cGVyKGBbQysrXVske2x9XSAke2R9YCk7CiAgfQp9CmNvbnN0IGdlID0gewogIENhbWVyYUluZm86ICJjYW1lcmFfaW5mbyIsCiAgQ2FtZXJhTGl2ZW5lc3NEYXRhOiAiY2FtZXJhX2xpdmVuZXNzX2RhdGEiLAogIENhbWVyYUxpdmVuZXNzRW5kOiAiY2FtZXJhX2xpdmVuZXNzX2VuZCIsCiAgQ2FtZXJhTGl2ZW5lc3NSZXFTdGF0dXM6ICJjYW1lcmFfbGl2ZW5lc3NfcmVxX3N0YXR1cyIsCiAgQ2FtZXJhTGl2ZW5lc3NTdGFydDogImNhbWVyYV9saXZlbmVzc19zdGFydCIsCiAgQ2FtZXJhTGl2ZW5lc3NTdGF0dXM6ICJjYW1lcmFfbGl2ZW5lc3Nfc3RhdHVzIiwKICBSZXFDYW1lcmFMaXZlbmVzc0RhdGE6ICJyZXFfY2FtZXJhX2xpdmVuZXNzX2RhdGEiCn0sIHdpID0gT2JqZWN0LmtleXMoewogIFtnZS5DYW1lcmFJbmZvXTogITAsCiAgW2dlLkNhbWVyYUxpdmVuZXNzRGF0YV06ICEwLAogIFtnZS5DYW1lcmFMaXZlbmVzc0VuZF06ICEwLAogIFtnZS5DYW1lcmFMaXZlbmVzc1JlcVN0YXR1c106ICEwLAogIFtnZS5DYW1lcmFMaXZlbmVzc1N0YXJ0XTogITAsCiAgW2dlLlJlcUNhbWVyYUxpdmVuZXNzRGF0YV06ICEwCn0pLCBiaSA9IE9iamVjdC5rZXlzKHsKICBbZ2UuQ2FtZXJhSW5mb106ICEwLAogIFtnZS5DYW1lcmFMaXZlbmVzc0RhdGFdOiAhMCwKICBbZ2UuQ2FtZXJhTGl2ZW5lc3NTdGF0dXNdOiAhMCwKICBbZ2UuUmVxQ2FtZXJhTGl2ZW5lc3NEYXRhXTogITAKfSksIHN0ID0gewogIERvY0lkRW5kOiAiZG9jX2lkX2VuZCIsCiAgRG9jSWRJbmZvOiAiZG9jX2lkX2luZm8iLAogIERvY0lkU3RhcnQ6ICJkb2NfaWRfc3RhcnQiCn0sIFBpID0gT2JqZWN0LmtleXMoewogIFtzdC5Eb2NJZEVuZF06ICEwLAogIFtzdC5Eb2NJZFN0YXJ0XTogITAKfSksIEVpID0gT2JqZWN0LmtleXMoewogIFtzdC5Eb2NJZEluZm9dOiAhMAp9KSwgb3QgPSB7CiAgSW1hZ2U6ICJpbWFnZSIsCiAgSW1hZ2VXaXRoRXllczogImltYWdlX3dpdGhfZXllcyIKfSwgVGkgPSBPYmplY3Qua2V5cyh7CiAgW290LkltYWdlXTogITAsCiAgW290LkltYWdlV2l0aEV5ZXNdOiAhMAp9KSwgJGkgPSBPYmplY3Qua2V5cyh7CiAgW290LkltYWdlV2l0aEV5ZXNdOiAhMAp9KSwgSWUgPSB7CiAgR2V0Q29uZmlnOiAiZ2V0X2NvbmZpZyIsCiAgR2V0Q29uZmlnUmVzdWx0OiAiZ2V0X2NvbmZpZ19yZXN1bHQiLAogIEluaXRpYWxpemU6ICJpbml0aWFsaXplIiwKICBJbml0aWFsaXplRXJyb3I6ICJpbml0aWFsaXplX2Vycm9yIiwKICBJbml0aWFsaXplU3VjY2VzczogImluaXRpYWxpemVfc3VjY2VzcyIsCiAgUmVhZHk6ICJyZWFkeSIsCiAgU3RhcnRTZXNzaW9uOiAic3RhcnRfc2Vzc2lvbiIsCiAgVGVybWluYXRlOiAidGVybWluYXRlIgp9LCBDaSA9IE9iamVjdC5rZXlzKHsKICBbSWUuR2V0Q29uZmlnXTogITAsCiAgW0llLkluaXRpYWxpemVdOiAhMCwKICBbSWUuU3RhcnRTZXNzaW9uXTogITAsCiAgW0llLlRlcm1pbmF0ZV06ICEwCn0pLCBBaSA9IE9iamVjdC5rZXlzKHsKICBbSWUuR2V0Q29uZmlnUmVzdWx0XTogITAsCiAgW0llLkluaXRpYWxpemVFcnJvcl06ICEwLAogIFtJZS5Jbml0aWFsaXplU3VjY2Vzc106ICEwLAogIFtJZS5SZWFkeV06ICEwCn0pLCAkID0gewogIERhdGFCbG9iOiAiZGF0YV9ibG9iIiwKICBFbnJvbGw6ICJlbnJvbGwiLAogIEZhck5lYXJJbWFnZTogImZhcl9uZWFyX2ltYWdlIiwKICBGYXJQaG90aW51c0VuZDogImZhcl9waG90aW51c19lbmQiLAogIEZhclBob3RpbnVzU3RhcnQ6ICJmYXJfcGhvdGludXNfc3RhcnQiLAogIEZtYUVtYVJlc3VsdDogImZtYV9lbWFfcmVzdWx0IiwKICBOZWFyUGhvdGludXNFbmQ6ICJuZWFyX3Bob3RpbnVzX2VuZCIsCiAgTmVhclBob3RpbnVzU3RhcnQ6ICJuZWFyX3Bob3RpbnVzX3N0YXJ0IiwKICBQaG90aW51c1BhdHRlcm46ICJwaG90aW51c19wYXR0ZXJuIiwKICBQaG90aW51c1Jlc3VsdDogInBob3RpbnVzX3Jlc3VsdCIsCiAgUG9zZTogInBvc2UiLAogIFBvc2VSZWFkeTogInBvc2VfcmVhZHkiLAogIFBvc2VTdGFydDogInBvc2Vfc3RhcnQiLAogIFJlZkRpc3RhbmNlOiAicmVmX2Rpc3RhbmNlIiwKICBSZWZEaXN0YW5jZUNhbmNlbDogInJlZl9kaXN0YW5jZV9jYW5jZWwiLAogIFJlZkRpc3RhbmNlRW5kOiAicmVmX2Rpc3RhbmNlX2VuZCIsCiAgU0ZTRFJlc3VsdDogInNmc2RfcmVzdWx0IiwKICBTZXJ2ZXJEYXRhQmxvYjogInNlcnZlcl9kYXRhX2Jsb2IiLAogIFNldE1vZGU6ICJzZXRfbW9kZSIsCiAgU3RhcnRTZXNzaW9uOiAic3RhcnRfc2Vzc2lvbiIsCiAgVXNlckpvdXJuZXlJbWFnZTogInVzZXJfam91cm5leV9pbWFnZSIsCiAgVmVyaWZ5OiAidmVyaWZ5IiwKICBWaXNvckluZm86ICJ2aXNvcl9pbmZvIiwKICBXZWJwRW5jb2RlVGltZTogIndlYnBfZW5jb2RlX3RpbWUiCn0sIFJpID0gT2JqZWN0LmtleXMoewogIFskLkRhdGFCbG9iXTogITAsCiAgWyQuRW5yb2xsXTogITAsCiAgWyQuRmFyTmVhckltYWdlXTogITAsCiAgWyQuRmFyUGhvdGludXNFbmRdOiAhMCwKICBbJC5GYXJQaG90aW51c1N0YXJ0XTogITAsCiAgWyQuTmVhclBob3RpbnVzRW5kXTogITAsCiAgWyQuTmVhclBob3RpbnVzU3RhcnRdOiAhMCwKICBbJC5QaG90aW51c1BhdHRlcm5dOiAhMCwKICBbJC5Qb3NlUmVhZHldOiAhMCwKICBbJC5Qb3NlU3RhcnRdOiAhMCwKICBbJC5SZWZEaXN0YW5jZV06ICEwLAogIFskLlJlZkRpc3RhbmNlQ2FuY2VsXTogITAsCiAgWyQuUmVmRGlzdGFuY2VFbmRdOiAhMCwKICBbJC5TZXRNb2RlXTogITAsCiAgWyQuU3RhcnRTZXNzaW9uXTogITAsCiAgWyQuVXNlckpvdXJuZXlJbWFnZV06ICEwLAogIFskLlZlcmlmeV06ICEwLAogIFskLlZpc29ySW5mb106ICEwLAogIFskLldlYnBFbmNvZGVUaW1lXTogITAKfSksIFNpID0gT2JqZWN0LmtleXMoewogIFskLkRhdGFCbG9iXTogITAsCiAgWyQuRmFyTmVhckltYWdlXTogITAsCiAgWyQuRmFyUGhvdGludXNFbmRdOiAhMCwKICBbJC5GYXJQaG90aW51c1N0YXJ0XTogITAsCiAgWyQuRm1hRW1hUmVzdWx0XTogITAsCiAgWyQuU0ZTRFJlc3VsdF06ICEwLAogIFskLk5lYXJQaG90aW51c0VuZF06ICEwLAogIFskLk5lYXJQaG90aW51c1N0YXJ0XTogITAsCiAgWyQuUGhvdGludXNQYXR0ZXJuXTogITAsCiAgWyQuUGhvdGludXNSZXN1bHRdOiAhMCwKICBbJC5Qb3NlXTogITAsCiAgWyQuUG9zZVJlYWR5XTogITAsCiAgWyQuUG9zZVN0YXJ0XTogITAsCiAgWyQuUmVmRGlzdGFuY2VDYW5jZWxdOiAhMCwKICBbJC5SZWZEaXN0YW5jZUVuZF06ICEwLAogIFskLlJlZkRpc3RhbmNlXTogITAsCiAgWyQuU2VydmVyRGF0YUJsb2JdOiAhMCwKICBbJC5TZXRNb2RlXTogITAsCiAgWyQuVXNlckpvdXJuZXlJbWFnZV06ICEwCn0pLCBvciA9IHsKICBBY2NlbDogImFjY2VsIiwKICBHeXJvOiAiZ3lybyIsCiAgTWFnbmV0OiAibWFnbmV0IiwKICBBY2NlbFdpdGhHcmF2aXR5OiAiYWNjZWxfd2l0aF9ncmF2aXR5IiwKICBTZW5zb3I6ICJzZW5zb3IiCn0sIGtpID0gT2JqZWN0LmtleXMoewogIFtvci5BY2NlbF06ICEwLAogIFtvci5HeXJvXTogITAsCiAgW29yLk1hZ25ldF06ICEwLAogIFtvci5BY2NlbFdpdGhHcmF2aXR5XTogITAsCiAgW29yLlNlbnNvcl06ICEwCn0pLCBPZSA9IHsKICBDcmVhdGVXYXNtSW5zdGFuY2U6ICJfY3JlYXRlX3dhc21faW5zdGFuY2UiLAogIENyZWF0ZVdhc21JbnN0YW5jZVN1Y2Nlc3M6ICJfY3JlYXRlX3dhc21faW5zdGFuY2Vfc3VjY2VzcyIsCiAgRW5jb2RlZFJlcXVlc3RzOiAiZW5jb2RlZF9yZXF1ZXN0cyIsCiAgRW5jb2RlZFJlc3BvbnNlczogImVuY29kZWRfcmVzcG9uc2VzIiwKICBHZXRXb3JrZXJBdmFpbGFiaWxpdHlSZXF1ZXN0OiAiX2dldF93b3JrZXJfYXZhaWxhYmlsaXR5X3JlcXVlc3QiLAogIEdldFdvcmtlckF2YWlsYWJpbGl0eVJlc3BvbnNlOiAiX2dldF93b3JrZXJfYXZhaWxhYmlsaXR5X3Jlc3BvbnNlIiwKICBJbml0aWFsaXplV2FzbTogIl9pbml0aWFsaXplX3dhc20iCn0sIElpID0gT2JqZWN0LmtleXMoewogIFtPZS5DcmVhdGVXYXNtSW5zdGFuY2VdOiAhMCwKICBbT2UuRW5jb2RlZFJlcXVlc3RzXTogITAsCiAgW09lLkdldFdvcmtlckF2YWlsYWJpbGl0eVJlcXVlc3RdOiAhMCwKICBbT2UuSW5pdGlhbGl6ZVdhc21dOiAhMAp9KSwgV2kgPSBPYmplY3Qua2V5cyh7CiAgW09lLkNyZWF0ZVdhc21JbnN0YW5jZVN1Y2Nlc3NdOiAhMCwKICBbT2UuRW5jb2RlZFJlc3BvbnNlc106ICEwLAogIFtPZS5HZXRXb3JrZXJBdmFpbGFiaWxpdHlSZXNwb25zZV06ICEwCn0pLCBjciA9IHsKICAuLi5nZSwKICAuLi5zdCwKICAuLi5vdCwKICAuLi5PZSwKICAuLi5JZSwKICAuLi4kLAogIC4uLm9yCn07ClsKICAuLi53aSwKICAuLi5QaSwKICAuLi5UaSwKICAuLi5DaSwKICAuLi5SaSwKICAuLi5raSwKICAuLi5JaQpdOwpbCiAgLi4uYmksCiAgLi4uRWksCiAgLi4uJGksCiAgLi4uQWksCiAgLi4uU2ksCiAgLi4uV2kKXTsKY29uc3QgWXQgPSAodSwgbCwgZCA9ICgpID0+ICEwKSA9PiB7CiAgaWYgKHR5cGVvZiB1ID09ICJvYmplY3QiICYmIHUgIT09IG51bGwpIHsKICAgIGZvciAoY29uc3QgaSBvZiBsKQogICAgICBpZiAoIShpIGluIHUpKQogICAgICAgIHJldHVybiAhMTsKICAgIHJldHVybiBkKHUpOwogIH0KICByZXR1cm4gITE7Cn07CmZ1bmN0aW9uIERpKHUpIHsKICBpZiAodSBpbnN0YW5jZW9mIE1lc3NhZ2VQb3J0KQogICAgcmV0dXJuIHU7CiAgaWYgKHR5cGVvZiB1ID09ICJvYmplY3QiICYmIFl0KHUsIFsiZGF0YSIsICJ3aWR0aCIsICJoZWlnaHQiXSkgJiYgdS5kYXRhLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKQogICAgcmV0dXJuIHUuZGF0YS5idWZmZXI7CiAgaWYgKHR5cGVvZiB1ID09ICJvYmplY3QiICYmIHUgJiYgImJ1ZmZlciIgaW4gdSAmJiB1LmJ1ZmZlciAmJiB1LmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKQogICAgcmV0dXJuIHUuYnVmZmVyOwp9CmZ1bmN0aW9uIEZpKHUpIHsKICByZXR1cm4gdHlwZW9mIHUgPT0gIm9iamVjdCIgJiYgdSA/IE9iamVjdC52YWx1ZXModSkubWFwKERpKS5maWx0ZXIoKGwpID0+ICEhbCkgOiBbXTsKfQpmdW5jdGlvbiBPaSh1LCBsKSB7CiAgcmV0dXJuIHUgPyBVaSh1LCBsKSA6IFNuKGwpOwp9CmNvbnN0IEp0ID0gNCAqIDEwMjQ7CmZ1bmN0aW9uIFNuKHUpIHsKICByZXR1cm4gdSA8IEp0ID8gdSA9IEp0IDogdSArPSBKdCwgbmV3IEFycmF5QnVmZmVyKHUpOwp9CmZ1bmN0aW9uIFVpKHUsIGwpIHsKICByZXR1cm4gdS5ieXRlTGVuZ3RoID49IGwgPyB1IDogU24obCk7Cn0KZnVuY3Rpb24gWHQodSkgewogIHJldHVybiB0eXBlb2YgdSA9PSAib2JqZWN0IiAmJiAhIXUgJiYgImRhdGEiIGluIHUgJiYgIndpZHRoIiBpbiB1ICYmICJoZWlnaHQiIGluIHUgJiYgdS5kYXRhIGluc3RhbmNlb2YgVWludDhDbGFtcGVkQXJyYXkgJiYgdHlwZW9mIHUud2lkdGggPT0gIm51bWJlciIgJiYgdHlwZW9mIHUuaGVpZ2h0ID09ICJudW1iZXIiOwp9CmNvbnN0IGZ0ID0gMSwgdXIgPSAyLCBjdCA9IDk7CmZ1bmN0aW9uIEt0KHUsIGwsIGQpIHsKICBsZXQgeSA9IDQgKyB1Lmxlbmd0aCArIDEgKyA0OwogIGlmIChsID09IGZ0ICYmIHR5cGVvZiBkID09ICJzdHJpbmciKQogICAgeSArPSBkLmxlbmd0aDsKICBlbHNlIGlmIChsID09IHVyKQogICAgeSArPSBjdDsKICBlbHNlCiAgICB0aHJvdyBuZXcgRXJyb3IoIlVuaGFuZGxlZCBXQVNNIFZhbHVlIFR5cGUiKTsKICByZXR1cm4geTsKfQpmdW5jdGlvbiB4aSh1KSB7CiAgbGV0IGwgPSAxOwogIGNvbnN0IGQgPSBbXTsKICBmb3IgKGNvbnN0IFt5LCBpXSBvZiBPYmplY3QuZW50cmllcyh1KSkKICAgIHR5cGVvZiBpID09ICJzdHJpbmciID8gbCArPSBLdCh5LCBmdCwgaSkgOiBpIGluc3RhbmNlb2YgVWludDhBcnJheSA/IChsICs9IEt0KHksIHVyKSwgZC5wdXNoKGkpKSA6IFh0KGkpICYmIChsICs9IEt0KHksIHVyKSwgZC5wdXNoKGkuZGF0YSkpOwogIHJldHVybiBbbCwgZF07Cn0KZnVuY3Rpb24gaGUodSwgbCwgZCkgewogIHJldHVybiBsW2QrK10gPSB1ID4+IDI0ICYgMjU1LCBsW2QrK10gPSB1ID4+IDE2ICYgMjU1LCBsW2QrK10gPSB1ID4+IDggJiAyNTUsIGxbZCsrXSA9IHUgJiAyNTUsIGQ7Cn0KZnVuY3Rpb24gamkodSkgewogIHJldHVybiB0eXBlb2YgdSA9PSAic3RyaW5nIiB8fCB1IGluc3RhbmNlb2YgVWludDhBcnJheSB8fCBYdCh1KTsKfQpmdW5jdGlvbiBIaSh1LCBsLCBkKSB7CiAgY29uc3QgeSA9IE9iamVjdC5lbnRyaWVzKHUpLmZpbHRlcigoaSkgPT4gamkoaVsxXSkpOwogIGxbZCsrXSA9IHkubGVuZ3RoICYgMjU1OwogIGZvciAoY29uc3QgW2ksIFJdIG9mIHkpIHsKICAgIGNvbnN0IGsgPSBpLmxlbmd0aDsKICAgIGQgPSBoZShrLCBsLCBkKTsKICAgIGZvciAobGV0IE8gPSAwOyBPIDwgazsgTysrKSB7CiAgICAgIGNvbnN0IEkgPSBpLmNoYXJDb2RlQXQoTyk7CiAgICAgIGxbZCsrXSA9IEkgJiAyNTU7CiAgICB9CiAgICBpZiAodHlwZW9mIFIgPT0gInN0cmluZyIpIHsKICAgICAgbFtkKytdID0gZnQ7CiAgICAgIGNvbnN0IE8gPSBSLmxlbmd0aDsKICAgICAgZCA9IGhlKE8sIGwsIGQpOwogICAgICBmb3IgKGxldCBJID0gMDsgSSA8IE87IEkrKykgewogICAgICAgIGNvbnN0IHogPSBSLmNoYXJDb2RlQXQoSSk7CiAgICAgICAgbFtkKytdID0geiAmIDI1NTsKICAgICAgfQogICAgfSBlbHNlIGlmIChSIGluc3RhbmNlb2YgVWludDhBcnJheSkKICAgICAgbFtkKytdID0gdXIsIGQgPSBoZShjdCwgbCwgZCksIGQgPSBoZSgxLCBsLCBkKSwgZCA9IGhlKFIubGVuZ3RoLCBsLCBkKSwgbFtkKytdID0gMTsKICAgIGVsc2UgaWYgKFh0KFIpKQogICAgICBsW2QrK10gPSB1ciwgZCA9IGhlKGN0LCBsLCBkKSwgZCA9IGhlKFIuaGVpZ2h0LCBsLCBkKSwgZCA9IGhlKFIud2lkdGgsIGwsIGQpLCBsW2QrK10gPSA0OwogICAgZWxzZQogICAgICB0aHJvdyBuZXcgRXJyb3IoIlVuaGFuZGxlZCBzdXBwb3J0ZWQgYXR0cmlidXRlIHZhbHVlIik7CiAgfQogIHJldHVybiBkOwp9CmZ1bmN0aW9uIGl0KHUsIGwpIHsKICBsZXQgZCA9IDA7CiAgZm9yIChsZXQgeSA9IDA7IHkgPCA0OyB5KyspCiAgICBkID0gZCAqIDI1NiArIHVbbCArIHldOwogIHJldHVybiBkOwp9CmNvbnN0IEJpID0gbmV3IFRleHREZWNvZGVyKCk7CmZ1bmN0aW9uIEFuKHUsIGwsIGQpIHsKICByZXR1cm4gQmkuZGVjb2RlKHUuc3ViYXJyYXkobCwgbCArIGQpKTsKfQpmdW5jdGlvbiBWaSh1LCBsLCBkLCB5KSB7CiAgY29uc3QgaSA9IGwgKyBkLCBSID0gdVtsXTsKICBsKys7CiAgY29uc3QgayA9IHt9OwogIGxldCBPID0gMTsKICBmb3IgKGxldCBJID0gMDsgSSA8IFI7IEkrKykgewogICAgY29uc3QgeiA9IGl0KHUsIGwpOwogICAgbCArPSA0OwogICAgY29uc3QgRCA9IEFuKHUsIGwsIHopOwogICAgbCArPSB6OwogICAgY29uc3QgWiA9IHVbbCsrXSwgeCA9IGl0KHUsIGwpOwogICAgaWYgKGwgKz0gNCwgWiA9PSBmdCkgewogICAgICBjb25zdCBhZSA9IEFuKHUsIGwsIHgpOwogICAgICBsICs9IHgsIGtbRF0gPSBhZTsKICAgIH0gZWxzZSBpZiAoWiA9PSB1cikgewogICAgICBpZiAoeCAhPSBjdCkgewogICAgICAgIGNvbnNvbGUuZXJyb3IoIlVuZXhwZWN0ZWQgdkxlbiAhPSA5IGZvciB0eXBlIDIhIiksIGwgKz0geDsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICBjb25zdCBhZSA9IGl0KHUsIGwpOwogICAgICBsICs9IDQ7CiAgICAgIGNvbnN0IGZlID0gaXQodSwgbCk7CiAgICAgIGwgKz0gNDsKICAgICAgbGV0IHZlID0gMDsKICAgICAgaWYgKHZlICs9IHVbbCsrXSwgYWUgPT0gMSAmJiB2ZSA9PSAxKSB7CiAgICAgICAgY29uc3QgbWUgPSB5KE8pOwogICAgICAgIGtbRF0gPSBuZXcgVWludDhBcnJheShtZSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY29uc3QgbWUgPSB5KE8pOwogICAgICAgIGtbRF0gPSB7CiAgICAgICAgICBkYXRhOiBuZXcgVWludDhDbGFtcGVkQXJyYXkobWUpLAogICAgICAgICAgd2lkdGg6IGZlLAogICAgICAgICAgaGVpZ2h0OiBhZQogICAgICAgIH07CiAgICAgIH0KICAgICAgTysrOwogICAgfQogIH0KICByZXR1cm4gY29uc29sZS5hc3NlcnQoaSA9PT0gbCwgIkFjdHVhbGx5IGRlY29kZWQgZGF0YSBzaXplIHNob3VsZCBtYXRjaCBleHBlY3RlZCBzaXplISIpLCBrOwp9CmZ1bmN0aW9uIExpKHUsIGwpIHsKICBjb25zdCBkID0gKDEgKyBsLmxlbmd0aCkgKiA0OwogIGxldCB5ID0gZCArIHU7CiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsLmxlbmd0aDsgaSsrKQogICAgeSArPSBsW2ldLmJ5dGVMZW5ndGg7CiAgcmV0dXJuIFt5LCBkXTsKfQpmdW5jdGlvbiBNaSh1LCBsLCBkLCB5LCBpLCBSKSB7CiAgY29uc29sZS5hc3NlcnQoCiAgICBpICsgKDEgKyBkLmxlbmd0aCkgKiA0IDw9IFIsCiAgICAibGVuZ3RoIHNlY3Rpb24gc2hvdWxkIG5vdCBvdmVybGFwIHdpdGggZGF0YSBzZWN0aW9uIgogICksIGhlKGwsIHksIGkpOwogIGNvbnN0IGsgPSBIaSh1LCB5LCBSKTsKICBSICs9IGwsIGNvbnNvbGUuYXNzZXJ0KGsgPT09IFIsICJjb3B5RGljdFRvQnl0ZXMgY29waWVkIGRhdGEgc2hvdWxkIG1hdGNoIHByb3ZpZGVkIG1haW5QYWNrZXRTaXplIik7CiAgZm9yIChsZXQgTyA9IDA7IE8gPCBkLmxlbmd0aDsgTysrKSB7CiAgICBjb25zdCBJID0gZFtPXSwgeiA9IGkgKyAoMSArIE8pICogNDsKICAgIGhlKEkuYnl0ZUxlbmd0aCwgeSwgeiksIHkuc2V0KEksIFIpLCBSICs9IEkuYnl0ZUxlbmd0aDsKICB9Cn0KZnVuY3Rpb24gemkodSwgbCkgewogIGlmICghdSkKICAgIHRocm93IG5ldyBFcnJvcigiVGhlIFdBU00gbW9kdWxlIGlzIG5vdCBpbml0aWFsaXplZCIpOwogIGNvbnN0IFtkLCB5XSA9IHhpKGwpLCBbaSwgUl0gPSBMaShkLCB5KSwgayA9IHUuX25ld19tZW1vcnkoaSksIE8gPSBrLCBJID0gayArIFI7CiAgTWkobCwgZCwgeSwgdS5IRUFQVTgsIE8sIEkpOwogIHRyeSB7CiAgICByZXR1cm4ga24odSwgMSArIHkubGVuZ3RoLCBPLCBJKTsKICB9IGZpbmFsbHkgewogICAgdS5fZnJlZV9tZW1vcnkoayk7CiAgfQp9CmZ1bmN0aW9uIEdpKHUsIHsgYnVmZmVyOiBsLCBkYXRhQnVmZmVyT2Zmc2V0OiBkIH0pIHsKICBjb25zdCB5ID0gdS5fbmV3X21lbW9yeShsLmJ5dGVMZW5ndGgpOwogIHUuSEVBUFU4LnNldChsLCB5KTsKICB0cnkgewogICAgcmV0dXJuIGtuKHUsIGQgLyA0LCB5LCB5ICsgZCk7CiAgfSBmaW5hbGx5IHsKICAgIHUuX2ZyZWVfbWVtb3J5KHkpOwogIH0KfQpmdW5jdGlvbiBrbih1LCAuLi5sKSB7CiAgY29uc3QgZCA9IHUuc3RhY2tTYXZlKCk7CiAgdHJ5IHsKICAgIHJldHVybiB1Ll9wcm9jZXNzX2V2ZW50X2RhdGFfZXgoLi4ubCk7CiAgfSBjYXRjaCAoeSkgewogICAgdS5zdGFja1Jlc3RvcmUoZCk7CiAgICBjb25zdCBpID0geTsKICAgIHUuaW5jcmVtZW50RXhjZXB0aW9uUmVmY291bnQoaSk7CiAgICBjb25zdCBbUiwga10gPSB1LmdldEV4Y2VwdGlvbk1lc3NhZ2UoaSk7CiAgICB0aHJvdyB1LmRlY3JlbWVudEV4Y2VwdGlvblJlZmNvdW50KGkpLCBuZXcgeWkoUiwgayk7CiAgfQp9CmZ1bmN0aW9uIE5pKHUsIGwsIGQpIHsKICBsZXQgeSA9IDAsIGkgPSAwOwogIGNvbnN0IFIgPSBbXTsKICBmb3IgKGxldCBJID0gMDsgSSA8IGw7IEkrKykgewogICAgY29uc3QgeiA9IHksIEQgPSB1Ll9nZXRfcmV0dXJuX25fcGFja2V0cyhJKTsKICAgIHkgKz0gRCAqIDQ7CiAgICBjb25zdCBaID0geTsKICAgIGZvciAobGV0IGFlID0gMDsgYWUgPCBEOyBhZSsrKQogICAgICB5ICs9IHUuX2dldF9yZXR1cm5fcGFja2V0X2xlbihJLCBhZSk7CiAgICBjb25zdCB4ID0geSAtIGk7CiAgICBSLnB1c2goewogICAgICBzdGFydE9mZnNldDogeiwKICAgICAgZGF0YUJ1ZmZlck9mZnNldDogWiwKICAgICAgbGVuZ3RoOiB4CiAgICB9KSwgaSA9IHk7CiAgfQogIGQgPSBPaShkLCB5KTsKICBjb25zdCBrID0gbmV3IFVpbnQ4QXJyYXkoZCwgMCwgeSk7CiAgbGV0IE8gPSAwOwogIGZvciAobGV0IEkgPSAwOyBJIDwgbDsgSSsrKSB7CiAgICBjb25zdCB6ID0gdS5fZ2V0X3JldHVybl9uX3BhY2tldHMoSSk7CiAgICBmb3IgKGxldCBEID0gMDsgRCA8IHo7IEQrKykgewogICAgICBjb25zdCBaID0gdS5fZ2V0X3JldHVybl9wYWNrZXRfbGVuKEksIEQpOwogICAgICBoZShaLCBrLCBPKSwgTyArPSA0OwogICAgfQogICAgZm9yIChsZXQgRCA9IDA7IEQgPCB6OyBEKyspIHsKICAgICAgY29uc3QgWiA9IHUuX2dldF9yZXR1cm5fcGFja2V0X2xlbihJLCBEKSwgeCA9IHUuX2dldF9yZXR1cm5fcGFja2V0KEksIEQpOwogICAgICBrLnNldCh1LkhFQVBVOC5zdWJhcnJheSh4LCB4ICsgWiksIE8pLCBPICs9IFo7CiAgICB9CiAgfQogIHJldHVybiB7CiAgICBlbmNvZGVkX3Jlc3BvbnNlc19sYXlvdXRzOiBSLAogICAgZW5jb2RlZF9yZXNwb25zZXM6IGsKICB9Owp9CmZ1bmN0aW9uIHFpKHUsIGwpIHsKICBpZiAoIXUpCiAgICB0aHJvdyBuZXcgRXJyb3IoIlRoZSBXQVNNIG1vZHVsZSBpcyBub3QgaW5pdGlhbGl6ZWQiKTsKICBjb25zdCBkID0gdS5fZ2V0X3JldHVybl9wYWNrZXRfbGVuKGwsIDApLCB5ID0gdS5fZ2V0X3JldHVybl9wYWNrZXQobCwgMCk7CiAgcmV0dXJuIFZpKHUuSEVBUFU4LCB5LCBkLCAoaSkgPT4gewogICAgY29uc3QgUiA9IHUuX2dldF9yZXR1cm5fcGFja2V0X2xlbihsLCBpKSwgayA9IHUuX2dldF9yZXR1cm5fcGFja2V0KGwsIGkpOwogICAgcmV0dXJuIHUuSEVBUFU4LnN1YmFycmF5KGssIGsgKyBSKTsKICB9KTsKfQpsZXQgdXQgPSAiIiwgUGUsIEVlOwpvbmVycm9yID0gKHUpID0+IEVlID09IG51bGwgPyB2b2lkIDAgOiBFZS5wb3N0TWVzc2FnZSh1KTsKb251bmhhbmRsZWRyZWplY3Rpb24gPSAodSkgPT4gRWUgPT0gbnVsbCA/IHZvaWQgMCA6IEVlLnBvc3RNZXNzYWdlKHUpOwpvbm1lc3NhZ2UgPSAodSkgPT4gewogIGlmICghWXQodS5kYXRhLCBbImV2ZW50Il0pKQogICAgcmV0dXJuOwogIGNvbnN0IGwgPSB1LmRhdGE7CiAgc3dpdGNoIChsLmV2ZW50KSB7CiAgICBjYXNlIGNyLkVuY29kZWRSZXF1ZXN0czoKICAgICAgSmkobCk7CiAgICAgIGJyZWFrOwogICAgY2FzZSBjci5DcmVhdGVXYXNtSW5zdGFuY2U6CiAgICAgIFl0KGwsIFsib2JqZWN0TmFtZSJdKSAmJiAodXQgPSBsLm9iamVjdE5hbWUpLCBtaShsLndhc21fbW9kdWxlKS50aGVuKCh5KSA9PiB7CiAgICAgICAgUGUgPSB5OwogICAgICAgIGNvbnN0IGkgPSB7CiAgICAgICAgICBldmVudDogY3IuQ3JlYXRlV2FzbUluc3RhbmNlU3VjY2VzcywKICAgICAgICAgIHRpbWVzdGFtcDogcGVyZm9ybWFuY2Uubm93KCkudG9TdHJpbmcoKSwKICAgICAgICAgIG9iamVjdE5hbWU6IHV0CiAgICAgICAgfTsKICAgICAgICBwb3N0TWVzc2FnZShpKTsKICAgICAgfSk7CiAgICAgIGJyZWFrOwogICAgY2FzZSBjci5Jbml0aWFsaXplOgogICAgICBjb25zdCBbZF0gPSB1LnBvcnRzOwogICAgICBFZSA9IGQsIFJuKGwpOwogICAgICBicmVhazsKICAgIGNhc2UgY3IuR2V0Q29uZmlnOgogICAgICBSbihsKTsKICAgICAgYnJlYWs7CiAgICBkZWZhdWx0OgogICAgICBFZSA9PSBudWxsIHx8IEVlLnBvc3RNZXNzYWdlKG5ldyBFcnJvcihgVW5oYW5kbGVkIEV2ZW50OiAke2x9YCkpOwogICAgICBicmVhazsKICB9Cn07CmZ1bmN0aW9uIEppKHUpIHsKICBpZiAoIVBlKQogICAgdGhyb3cgbmV3IEVycm9yKCJXb3JrZXIgaXNuJ3QgaW5pdGlhbGl6ZWQhIik7CiAgY29uc3QgbCA9IEdpKFBlLCB1KSwgZCA9IHUuYnVmZmVyLmJ1ZmZlciwgeSA9IE5pKFBlLCBsLCBkKTsKICBwb3N0TWVzc2FnZSgKICAgIHsKICAgICAgZXZlbnQ6IGNyLkVuY29kZWRSZXNwb25zZXMsCiAgICAgIG9iamVjdE5hbWU6IHV0LAogICAgICB0aW1lc3RhbXA6IHUudGltZXN0YW1wLAogICAgICAuLi55CiAgICB9LAogICAgW2RdCiAgKSwgUGUuX2NsZWFyX3JldHVybl9wYWNrZXRzKCk7Cn0KZnVuY3Rpb24gUm4odSkgewogIGNvbnN0IGwgPSB6aShQZSwgdSk7CiAgZm9yIChsZXQgZCA9IDA7IGQgPCBsOyBkICs9IDEpIHsKICAgIGNvbnN0IHkgPSBxaShQZSwgZCksIGkgPSB7CiAgICAgIC4uLnksCiAgICAgIG9iamVjdE5hbWU6IHV0CiAgICB9LCBSID0gRmkoeSk7CiAgICBwb3N0TWVzc2FnZShpLCBSKTsKICB9CiAgUGUgPT0gbnVsbCB8fCBQZS5fY2xlYXJfcmV0dXJuX3BhY2tldHMoKTsKfQovLyMgc291cmNlTWFwcGluZ1VSTD1kYS1vYmplY3QtQ2FvQjRsYncuanMubWFwCg==", PE = (E) => Uint8Array.from(atob(E), (C) => C.charCodeAt(0)), iB = typeof self < "u" && self.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);", PE(wB)], { type: "text/javascript;charset=utf-8" });
|
|
12
|
+
function nB(E) {
|
|
13
|
+
let C;
|
|
14
|
+
try {
|
|
15
|
+
if (C = iB && (self.URL || self.webkitURL).createObjectURL(iB), !C) throw "";
|
|
16
|
+
const d = new Worker(C, {
|
|
17
|
+
type: "module",
|
|
18
|
+
name: E?.name
|
|
19
|
+
});
|
|
20
|
+
return d.addEventListener("error", () => {
|
|
21
|
+
(self.URL || self.webkitURL).revokeObjectURL(C);
|
|
22
|
+
}), d;
|
|
23
|
+
} catch {
|
|
24
|
+
return new Worker(
|
|
25
|
+
"data:text/javascript;base64," + wB,
|
|
26
|
+
{
|
|
27
|
+
type: "module",
|
|
28
|
+
name: E?.name
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
var hB = /* @__PURE__ */ ((E) => (E.IdFinderLiveness = "id_finder_liveness", E.PremiumWeb = "premium_web", E.StandardWeb = "standard_web", E))(hB || {});
|
|
34
|
+
const nA = {
|
|
35
|
+
CameraInfo: "camera_info",
|
|
36
|
+
CameraLivenessData: "camera_liveness_data",
|
|
37
|
+
CameraLivenessEnd: "camera_liveness_end",
|
|
38
|
+
CameraLivenessReqStatus: "camera_liveness_req_status",
|
|
39
|
+
CameraLivenessStart: "camera_liveness_start",
|
|
40
|
+
CameraLivenessStatus: "camera_liveness_status",
|
|
41
|
+
ReqCameraLivenessData: "req_camera_liveness_data"
|
|
42
|
+
}, YB = Object.keys({
|
|
43
|
+
[nA.CameraInfo]: !0,
|
|
44
|
+
[nA.CameraLivenessData]: !0,
|
|
45
|
+
[nA.CameraLivenessEnd]: !0,
|
|
46
|
+
[nA.CameraLivenessReqStatus]: !0,
|
|
47
|
+
[nA.CameraLivenessStart]: !0,
|
|
48
|
+
[nA.ReqCameraLivenessData]: !0
|
|
49
|
+
}), tB = Object.keys({
|
|
50
|
+
[nA.CameraInfo]: !0,
|
|
51
|
+
[nA.CameraLivenessData]: !0,
|
|
52
|
+
[nA.CameraLivenessStatus]: !0,
|
|
53
|
+
[nA.ReqCameraLivenessData]: !0
|
|
54
|
+
}), qI = {
|
|
55
|
+
DocIdEnd: "doc_id_end",
|
|
56
|
+
DocIdInfo: "doc_id_info",
|
|
57
|
+
DocIdStart: "doc_id_start"
|
|
58
|
+
}, sB = Object.keys({
|
|
59
|
+
[qI.DocIdEnd]: !0,
|
|
60
|
+
[qI.DocIdStart]: !0
|
|
61
|
+
}), bB = Object.keys({
|
|
62
|
+
[qI.DocIdInfo]: !0
|
|
63
|
+
}), _I = {
|
|
64
|
+
Image: "image",
|
|
65
|
+
ImageWithEyes: "image_with_eyes"
|
|
66
|
+
}, MB = Object.keys({
|
|
67
|
+
[_I.Image]: !0,
|
|
68
|
+
[_I.ImageWithEyes]: !0
|
|
69
|
+
}), HB = Object.keys({
|
|
70
|
+
[_I.ImageWithEyes]: !0
|
|
71
|
+
}), MA = {
|
|
72
|
+
GetConfig: "get_config",
|
|
73
|
+
GetConfigResult: "get_config_result",
|
|
74
|
+
Initialize: "initialize",
|
|
75
|
+
InitializeError: "initialize_error",
|
|
76
|
+
InitializeSuccess: "initialize_success",
|
|
77
|
+
Ready: "ready",
|
|
78
|
+
StartSession: "start_session",
|
|
79
|
+
Terminate: "terminate"
|
|
80
|
+
}, pB = Object.keys({
|
|
81
|
+
[MA.GetConfig]: !0,
|
|
82
|
+
[MA.Initialize]: !0,
|
|
83
|
+
[MA.StartSession]: !0,
|
|
84
|
+
[MA.Terminate]: !0
|
|
85
|
+
}), eB = Object.keys({
|
|
86
|
+
[MA.GetConfigResult]: !0,
|
|
87
|
+
[MA.InitializeError]: !0,
|
|
88
|
+
[MA.InitializeSuccess]: !0,
|
|
89
|
+
[MA.Ready]: !0
|
|
90
|
+
}), t = {
|
|
91
|
+
DataBlob: "data_blob",
|
|
92
|
+
Enroll: "enroll",
|
|
93
|
+
FarNearImage: "far_near_image",
|
|
94
|
+
FarPhotinusEnd: "far_photinus_end",
|
|
95
|
+
FarPhotinusStart: "far_photinus_start",
|
|
96
|
+
FmaEmaResult: "fma_ema_result",
|
|
97
|
+
NearPhotinusEnd: "near_photinus_end",
|
|
98
|
+
NearPhotinusStart: "near_photinus_start",
|
|
99
|
+
PhotinusPattern: "photinus_pattern",
|
|
100
|
+
PhotinusResult: "photinus_result",
|
|
101
|
+
Pose: "pose",
|
|
102
|
+
PoseReady: "pose_ready",
|
|
103
|
+
PoseStart: "pose_start",
|
|
104
|
+
RefDistance: "ref_distance",
|
|
105
|
+
RefDistanceCancel: "ref_distance_cancel",
|
|
106
|
+
RefDistanceEnd: "ref_distance_end",
|
|
107
|
+
SFSDResult: "sfsd_result",
|
|
108
|
+
ServerDataBlob: "server_data_blob",
|
|
109
|
+
SetMode: "set_mode",
|
|
110
|
+
StartSession: "start_session",
|
|
111
|
+
UserJourneyImage: "user_journey_image",
|
|
112
|
+
Verify: "verify",
|
|
113
|
+
VisorInfo: "visor_info",
|
|
114
|
+
WebpEncodeTime: "webp_encode_time"
|
|
115
|
+
}, mB = Object.keys({
|
|
116
|
+
[t.DataBlob]: !0,
|
|
117
|
+
[t.Enroll]: !0,
|
|
118
|
+
[t.FarNearImage]: !0,
|
|
119
|
+
[t.FarPhotinusEnd]: !0,
|
|
120
|
+
[t.FarPhotinusStart]: !0,
|
|
121
|
+
[t.NearPhotinusEnd]: !0,
|
|
122
|
+
[t.NearPhotinusStart]: !0,
|
|
123
|
+
[t.PhotinusPattern]: !0,
|
|
124
|
+
[t.PoseReady]: !0,
|
|
125
|
+
[t.PoseStart]: !0,
|
|
126
|
+
[t.RefDistance]: !0,
|
|
127
|
+
[t.RefDistanceCancel]: !0,
|
|
128
|
+
[t.RefDistanceEnd]: !0,
|
|
129
|
+
[t.SetMode]: !0,
|
|
130
|
+
[t.StartSession]: !0,
|
|
131
|
+
[t.UserJourneyImage]: !0,
|
|
132
|
+
[t.Verify]: !0,
|
|
133
|
+
[t.VisorInfo]: !0,
|
|
134
|
+
[t.WebpEncodeTime]: !0
|
|
135
|
+
}), kB = Object.keys({
|
|
136
|
+
[t.DataBlob]: !0,
|
|
137
|
+
[t.FarNearImage]: !0,
|
|
138
|
+
[t.FarPhotinusEnd]: !0,
|
|
139
|
+
[t.FarPhotinusStart]: !0,
|
|
140
|
+
[t.FmaEmaResult]: !0,
|
|
141
|
+
[t.SFSDResult]: !0,
|
|
142
|
+
[t.NearPhotinusEnd]: !0,
|
|
143
|
+
[t.NearPhotinusStart]: !0,
|
|
144
|
+
[t.PhotinusPattern]: !0,
|
|
145
|
+
[t.PhotinusResult]: !0,
|
|
146
|
+
[t.Pose]: !0,
|
|
147
|
+
[t.PoseReady]: !0,
|
|
148
|
+
[t.PoseStart]: !0,
|
|
149
|
+
[t.RefDistanceCancel]: !0,
|
|
150
|
+
[t.RefDistanceEnd]: !0,
|
|
151
|
+
[t.RefDistance]: !0,
|
|
152
|
+
[t.ServerDataBlob]: !0,
|
|
153
|
+
[t.SetMode]: !0,
|
|
154
|
+
[t.UserJourneyImage]: !0
|
|
155
|
+
}), II = {
|
|
156
|
+
Accel: "accel",
|
|
157
|
+
Gyro: "gyro",
|
|
158
|
+
Magnet: "magnet",
|
|
159
|
+
AccelWithGravity: "accel_with_gravity",
|
|
160
|
+
Sensor: "sensor"
|
|
161
|
+
}, yB = Object.keys({
|
|
162
|
+
[II.Accel]: !0,
|
|
163
|
+
[II.Gyro]: !0,
|
|
164
|
+
[II.Magnet]: !0,
|
|
165
|
+
[II.AccelWithGravity]: !0,
|
|
166
|
+
[II.Sensor]: !0
|
|
167
|
+
}), TA = {
|
|
168
|
+
CreateWasmInstance: "_create_wasm_instance",
|
|
169
|
+
CreateWasmInstanceSuccess: "_create_wasm_instance_success",
|
|
170
|
+
EncodedRequests: "encoded_requests",
|
|
171
|
+
EncodedResponses: "encoded_responses",
|
|
172
|
+
GetWorkerAvailabilityRequest: "_get_worker_availability_request",
|
|
173
|
+
GetWorkerAvailabilityResponse: "_get_worker_availability_response",
|
|
174
|
+
InitializeWasm: "_initialize_wasm"
|
|
175
|
+
}, KB = Object.keys({
|
|
176
|
+
[TA.CreateWasmInstance]: !0,
|
|
177
|
+
[TA.EncodedRequests]: !0,
|
|
178
|
+
[TA.GetWorkerAvailabilityRequest]: !0,
|
|
179
|
+
[TA.InitializeWasm]: !0
|
|
180
|
+
}), TB = Object.keys({
|
|
181
|
+
[TA.CreateWasmInstanceSuccess]: !0,
|
|
182
|
+
[TA.EncodedResponses]: !0,
|
|
183
|
+
[TA.GetWorkerAvailabilityResponse]: !0
|
|
184
|
+
}), T = {
|
|
185
|
+
...nA,
|
|
186
|
+
...qI,
|
|
187
|
+
..._I,
|
|
188
|
+
...TA,
|
|
189
|
+
...MA,
|
|
190
|
+
...t,
|
|
191
|
+
...II
|
|
192
|
+
}, XB = [
|
|
193
|
+
...YB,
|
|
194
|
+
...sB,
|
|
195
|
+
...MB,
|
|
196
|
+
...pB,
|
|
197
|
+
...mB,
|
|
198
|
+
...yB,
|
|
199
|
+
...KB
|
|
200
|
+
], LB = [
|
|
201
|
+
...tB,
|
|
202
|
+
...bB,
|
|
203
|
+
...HB,
|
|
204
|
+
...eB,
|
|
205
|
+
...kB,
|
|
206
|
+
...TB
|
|
207
|
+
];
|
|
208
|
+
var rB = /* @__PURE__ */ ((E) => (E.FaceHoldStill = "face_hold_still", E.FaceHoldStillInitial = "face_hold_still_initial", E.FaceKeepCenterSevere = "face_keep_center_severe", E.FaceMoveAway = "face_move_away", E.FaceMoveCloser = "face_move_closer", E.FaceNoneDetected = "face_none_detected", E.FaceNotUpright = "face_not_upright", E.FaceStopMovement = "face_stop_movement", E.FaceTiltDown = "face_tilt_down", E.FaceTiltLeft = "face_tilt_left", E.FaceTiltRight = "face_tilt_right", E.FaceTiltUp = "face_tilt_up", E.Finish = "finish", E.KeepFaceCenter = "face_keep_center", E.MoreCapturesNeeded = "more_captures_needed", E.Start = "start", E))(rB || {}), uB = /* @__PURE__ */ ((E) => (E.HintMoveAway = "hint_move_away", E.HintMoveCloser = "hint_move_closer", E))(uB || {});
|
|
209
|
+
function zB(E, C) {
|
|
210
|
+
return E ? qE(E, C) : xB(C);
|
|
211
|
+
}
|
|
212
|
+
const VC = 4 * 1024;
|
|
213
|
+
function xB(E) {
|
|
214
|
+
return E < VC ? E = VC : E += VC, new ArrayBuffer(E);
|
|
215
|
+
}
|
|
216
|
+
function qE(E, C) {
|
|
217
|
+
return E.byteLength >= C ? E : xB(C);
|
|
218
|
+
}
|
|
219
|
+
const jB = {
|
|
220
|
+
I420: "i420",
|
|
221
|
+
NV12: "nv12"
|
|
222
|
+
};
|
|
223
|
+
function _E(E) {
|
|
224
|
+
if (!(E.format && E.format in jB))
|
|
225
|
+
return {
|
|
226
|
+
format: "RGBX",
|
|
227
|
+
colorSpace: "srgb"
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
function $E(E) {
|
|
231
|
+
return {
|
|
232
|
+
format: (E ? jB[E] : void 0) ?? "rgba"
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
function uC(E) {
|
|
236
|
+
return typeof E == "object" && !!E && "data" in E && "width" in E && "height" in E && E.data instanceof Uint8ClampedArray && typeof E.width == "number" && typeof E.height == "number";
|
|
237
|
+
}
|
|
238
|
+
const $I = 1, gI = 2, pg = 9;
|
|
239
|
+
function cg(E, C, d) {
|
|
240
|
+
let D = 4 + E.length + 1 + 4;
|
|
241
|
+
if (C == $I && typeof d == "string")
|
|
242
|
+
D += d.length;
|
|
243
|
+
else if (C == gI)
|
|
244
|
+
D += pg;
|
|
245
|
+
else
|
|
246
|
+
throw new Error("Unhandled WASM Value Type");
|
|
247
|
+
return D;
|
|
248
|
+
}
|
|
249
|
+
function vB(E) {
|
|
250
|
+
let C = 1;
|
|
251
|
+
const d = [];
|
|
252
|
+
for (const [D, Q] of Object.entries(E))
|
|
253
|
+
typeof Q == "string" ? C += cg(D, $I, Q) : Q instanceof Uint8Array ? (C += cg(D, gI), d.push(Q)) : uC(Q) && (C += cg(D, gI), d.push(Q.data));
|
|
254
|
+
return [C, d];
|
|
255
|
+
}
|
|
256
|
+
function cA(E, C, d) {
|
|
257
|
+
return C[d++] = E >> 24 & 255, C[d++] = E >> 16 & 255, C[d++] = E >> 8 & 255, C[d++] = E & 255, d;
|
|
258
|
+
}
|
|
259
|
+
function Al(E) {
|
|
260
|
+
return typeof E == "string" || E instanceof Uint8Array || uC(E);
|
|
261
|
+
}
|
|
262
|
+
function Il(E, C, d) {
|
|
263
|
+
const D = Object.entries(E).filter((Q) => Al(Q[1]));
|
|
264
|
+
C[d++] = D.length & 255;
|
|
265
|
+
for (const [Q, G] of D) {
|
|
266
|
+
const h = Q.length;
|
|
267
|
+
d = cA(h, C, d);
|
|
268
|
+
for (let R = 0; R < h; R++) {
|
|
269
|
+
const k = Q.charCodeAt(R);
|
|
270
|
+
C[d++] = k & 255;
|
|
271
|
+
}
|
|
272
|
+
if (typeof G == "string") {
|
|
273
|
+
C[d++] = $I;
|
|
274
|
+
const R = G.length;
|
|
275
|
+
d = cA(R, C, d);
|
|
276
|
+
for (let k = 0; k < R; k++) {
|
|
277
|
+
const e = G.charCodeAt(k);
|
|
278
|
+
C[d++] = e & 255;
|
|
279
|
+
}
|
|
280
|
+
} else if (G instanceof Uint8Array)
|
|
281
|
+
C[d++] = gI, d = cA(pg, C, d), d = cA(1, C, d), d = cA(G.length, C, d), C[d++] = 1;
|
|
282
|
+
else if (uC(G))
|
|
283
|
+
C[d++] = gI, d = cA(pg, C, d), d = cA(G.height, C, d), d = cA(G.width, C, d), C[d++] = 4;
|
|
284
|
+
else
|
|
285
|
+
throw new Error("Unhandled supported attribute value");
|
|
286
|
+
}
|
|
287
|
+
return d;
|
|
288
|
+
}
|
|
289
|
+
function XA(E, C) {
|
|
290
|
+
let d = 0;
|
|
291
|
+
for (let D = 0; D < 4; D++)
|
|
292
|
+
d = d * 256 + E[C + D];
|
|
293
|
+
return d;
|
|
294
|
+
}
|
|
295
|
+
const gl = new TextDecoder();
|
|
296
|
+
function eg(E, C, d) {
|
|
297
|
+
return gl.decode(E.subarray(C, C + d));
|
|
298
|
+
}
|
|
299
|
+
function Cl(E, C) {
|
|
300
|
+
const d = E[C];
|
|
301
|
+
C++;
|
|
302
|
+
for (let D = 0; D < d; D++) {
|
|
303
|
+
const Q = XA(E, C);
|
|
304
|
+
C += 4;
|
|
305
|
+
const G = eg(E, C, Q);
|
|
306
|
+
C += Q;
|
|
307
|
+
const h = E[C++], R = XA(E, C);
|
|
308
|
+
if (C += 4, G != "event") {
|
|
309
|
+
C += R;
|
|
310
|
+
continue;
|
|
311
|
+
} else if (h != $I)
|
|
312
|
+
throw new Error("Encoded event name is not a string!");
|
|
313
|
+
return eg(E, C, R);
|
|
314
|
+
}
|
|
315
|
+
throw new Error("Encoded event does not have an event name!");
|
|
316
|
+
}
|
|
317
|
+
function Bl(E, C, d, D) {
|
|
318
|
+
const Q = C + d, G = E[C];
|
|
319
|
+
C++;
|
|
320
|
+
const h = {};
|
|
321
|
+
let R = 1;
|
|
322
|
+
for (let k = 0; k < G; k++) {
|
|
323
|
+
const e = XA(E, C);
|
|
324
|
+
C += 4;
|
|
325
|
+
const M = eg(E, C, e);
|
|
326
|
+
C += e;
|
|
327
|
+
const BA = E[C++], v = XA(E, C);
|
|
328
|
+
if (C += 4, BA == $I) {
|
|
329
|
+
const DA = eg(E, C, v);
|
|
330
|
+
C += v, h[M] = DA;
|
|
331
|
+
} else if (BA == gI) {
|
|
332
|
+
if (v != pg) {
|
|
333
|
+
console.error("Unexpected vLen != 9 for type 2!"), C += v;
|
|
334
|
+
continue;
|
|
335
|
+
}
|
|
336
|
+
const DA = XA(E, C);
|
|
337
|
+
C += 4;
|
|
338
|
+
const QA = XA(E, C);
|
|
339
|
+
C += 4;
|
|
340
|
+
let IA = 0;
|
|
341
|
+
if (IA += E[C++], DA == 1 && IA == 1) {
|
|
342
|
+
const SA = D(R);
|
|
343
|
+
h[M] = new Uint8Array(SA);
|
|
344
|
+
} else {
|
|
345
|
+
const SA = D(R);
|
|
346
|
+
h[M] = {
|
|
347
|
+
data: new Uint8ClampedArray(SA),
|
|
348
|
+
width: QA,
|
|
349
|
+
height: DA
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
R++;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
return console.assert(Q === C, "Actually decoded data size should match expected size!"), h;
|
|
356
|
+
}
|
|
357
|
+
function OB(E, C) {
|
|
358
|
+
const d = (1 + C.length) * 4;
|
|
359
|
+
let D = d + E;
|
|
360
|
+
for (let Q = 0; Q < C.length; Q++)
|
|
361
|
+
D += C[Q].byteLength;
|
|
362
|
+
return [D, d];
|
|
363
|
+
}
|
|
364
|
+
function fB(E, C, d, D, Q, G) {
|
|
365
|
+
console.assert(
|
|
366
|
+
Q + (1 + d.length) * 4 <= G,
|
|
367
|
+
"length section should not overlap with data section"
|
|
368
|
+
), cA(C, D, Q);
|
|
369
|
+
const h = Il(E, D, G);
|
|
370
|
+
G += C, console.assert(h === G, "copyDictToBytes copied data should match provided mainPacketSize");
|
|
371
|
+
for (let R = 0; R < d.length; R++) {
|
|
372
|
+
const k = d[R], e = Q + (1 + R) * 4;
|
|
373
|
+
cA(k.byteLength, D, e), D.set(k, G), G += k.byteLength;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
function GB(E, C) {
|
|
377
|
+
return Bl(
|
|
378
|
+
E,
|
|
379
|
+
C.dataBufferOffset,
|
|
380
|
+
// First packet
|
|
381
|
+
XA(E, C.startOffset),
|
|
382
|
+
// First length
|
|
383
|
+
(d) => {
|
|
384
|
+
let D = C.dataBufferOffset;
|
|
385
|
+
for (let G = 0; G < d; G++)
|
|
386
|
+
D += XA(E, C.startOffset + G * 4);
|
|
387
|
+
const Q = XA(E, C.startOffset + d * 4);
|
|
388
|
+
return E.subarray(D, D + Q);
|
|
389
|
+
}
|
|
390
|
+
);
|
|
391
|
+
}
|
|
392
|
+
async function Ql(E, C) {
|
|
393
|
+
return E.event === T.Image && E.format === "videoframe" ? await ll(E, C) : El(E, C);
|
|
394
|
+
}
|
|
395
|
+
function El(E, C) {
|
|
396
|
+
const [d, D] = vB(E), [Q, G] = OB(d, D), h = C(Q), R = new Uint8Array(...h, Q);
|
|
397
|
+
return fB(E, d, D, R, 0, G), {
|
|
398
|
+
buffer: R,
|
|
399
|
+
dataBufferOffset: G
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
async function ll(E, C) {
|
|
403
|
+
const d = E.image, D = {
|
|
404
|
+
event: E.event,
|
|
405
|
+
timestamp: E.timestamp,
|
|
406
|
+
...E.lux && { lux: E.lux },
|
|
407
|
+
...E.rotation && { rotation: E.rotation }
|
|
408
|
+
}, Q = $E(d.format), G = d.visibleRect.width, h = d.visibleRect.height;
|
|
409
|
+
let R;
|
|
410
|
+
Q.format == "rgba" ? R = {
|
|
411
|
+
...D,
|
|
412
|
+
...Q
|
|
413
|
+
} : R = {
|
|
414
|
+
...D,
|
|
415
|
+
...Q,
|
|
416
|
+
width: `${G}`,
|
|
417
|
+
height: `${h}`
|
|
418
|
+
};
|
|
419
|
+
let [k, e] = vB(R);
|
|
420
|
+
k += cg("image", gI);
|
|
421
|
+
let [M, BA] = OB(k, e);
|
|
422
|
+
const v = BA;
|
|
423
|
+
BA += 4, M += 4;
|
|
424
|
+
const DA = M, QA = _E(d), IA = d.allocationSize(QA);
|
|
425
|
+
M += IA;
|
|
426
|
+
const [SA, EA] = C(M), lA = new Uint8Array(SA, EA, M), q = lA.subarray(DA, DA + IA);
|
|
427
|
+
let L;
|
|
428
|
+
return R.format == "rgba" ? L = {
|
|
429
|
+
...R,
|
|
430
|
+
image: {
|
|
431
|
+
data: new Uint8ClampedArray(SA, EA + DA, IA),
|
|
432
|
+
width: G,
|
|
433
|
+
height: h
|
|
434
|
+
}
|
|
435
|
+
} : L = {
|
|
436
|
+
...R,
|
|
437
|
+
image: q
|
|
438
|
+
}, fB(L, k, e, lA, 0, BA), cA(q.byteLength, lA, v), await d.copyTo(q, QA), d.close(), {
|
|
439
|
+
buffer: lA,
|
|
440
|
+
dataBufferOffset: BA
|
|
441
|
+
};
|
|
442
|
+
}
|
|
443
|
+
const zC = (E, C, d = () => !0) => {
|
|
444
|
+
if (typeof E == "object" && E !== null) {
|
|
445
|
+
for (const D of C)
|
|
446
|
+
if (!(D in E))
|
|
447
|
+
return !1;
|
|
448
|
+
return d(E);
|
|
449
|
+
}
|
|
450
|
+
return !1;
|
|
451
|
+
}, yg = (E) => zC(E, ["event", "timestamp"], (C) => LB.includes(C.event)), Kg = (E) => zC(E, ["event", "objectName", "timestamp"], yg), PB = (E) => typeof E == "string" && XB.includes(E), qB = (E) => zC(
|
|
452
|
+
E,
|
|
453
|
+
["event", "timestamp", "max_events"],
|
|
454
|
+
(C) => C.event === T.Ready
|
|
455
|
+
), _B = async (E, C) => new Promise((d) => {
|
|
456
|
+
const D = (Q) => {
|
|
457
|
+
yg(Q.data) && Q.data.event === T.GetConfigResult && (d(Q.data), E.removeEventListener("message", D));
|
|
458
|
+
};
|
|
459
|
+
E.addEventListener("message", D), E.postMessage(C);
|
|
460
|
+
}), wC = async (E, C) => new Promise((d) => {
|
|
461
|
+
const D = (Q) => {
|
|
462
|
+
Kg(Q.data) && Q.data.event === T.CreateWasmInstanceSuccess && (d(Q.data), E.removeEventListener("message", D));
|
|
463
|
+
};
|
|
464
|
+
E.addEventListener("message", D), E.postMessage(C);
|
|
465
|
+
}), $B = async ({ worker: E, request: C, errorPort: d }) => new Promise((D, Q) => {
|
|
466
|
+
const G = (h) => {
|
|
467
|
+
Kg(h.data) && (h.data.event === T.InitializeSuccess || h.data.event === T.InitializeError) && (h.data.event === T.InitializeSuccess ? D(h.data) : Q(new Error(`${h.data.objectName}: ${h.data.event}`)), E.removeEventListener("message", G));
|
|
468
|
+
};
|
|
469
|
+
E.addEventListener("message", G), E.postMessage(C, [d]);
|
|
470
|
+
});
|
|
471
|
+
var wg, vI;
|
|
472
|
+
class Ul {
|
|
473
|
+
constructor(C) {
|
|
474
|
+
m(this, wg), m(this, vI, !1), dA(this, wg, C);
|
|
475
|
+
}
|
|
476
|
+
// Return value means if the event can be considered consumed
|
|
477
|
+
update(C) {
|
|
478
|
+
return C === o(this, wg) ? (dA(this, vI, !0), !0) : !1;
|
|
479
|
+
}
|
|
480
|
+
consume() {
|
|
481
|
+
const C = o(this, vI);
|
|
482
|
+
return dA(this, vI, !1), C;
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
wg = /* @__PURE__ */ new WeakMap(), vI = /* @__PURE__ */ new WeakMap();
|
|
486
|
+
const hC = 5, AQ = 1024 * 1024, dl = hC;
|
|
487
|
+
var KA, mg, PI, kg, bA, xA, hg, P, IQ, YC, tC, RC, gQ, Yg, tg, oB;
|
|
488
|
+
class Sl {
|
|
489
|
+
constructor() {
|
|
490
|
+
m(this, P), m(this, KA, []), m(this, mg, []), m(this, PI, []), m(this, kg), m(this, bA), m(this, xA), m(this, hg, /* @__PURE__ */ new Map());
|
|
491
|
+
}
|
|
492
|
+
setThrottleEventNames(C) {
|
|
493
|
+
if (C && C.length > 1)
|
|
494
|
+
throw Error("Throttling 2 or more events is currently unsupported.");
|
|
495
|
+
dA(this, kg, C[0]);
|
|
496
|
+
}
|
|
497
|
+
registerManagedEvent(C, d) {
|
|
498
|
+
o(this, hg).set(C, d);
|
|
499
|
+
}
|
|
500
|
+
enableCountingMode(C, d) {
|
|
501
|
+
dA(this, bA, C), dA(this, xA, d ? new Ul(d) : void 0), CA(this, P, IQ).call(this);
|
|
502
|
+
}
|
|
503
|
+
addEncodedEvent(C, { buffer: d, dataBufferOffset: D, managedTag: Q }) {
|
|
504
|
+
const G = o(this, hg).get(C);
|
|
505
|
+
if (G !== void 0) {
|
|
506
|
+
if (Q !== G)
|
|
507
|
+
return;
|
|
508
|
+
} else if (!CA(this, P, tC).call(this, C))
|
|
509
|
+
return;
|
|
510
|
+
const h = CA(this, P, gQ).call(this, d.byteLength), R = new Uint8Array(h, 0, d.byteLength);
|
|
511
|
+
R.set(d), CA(this, P, YC).call(this, {
|
|
512
|
+
name: C,
|
|
513
|
+
payload: {
|
|
514
|
+
buffer: R,
|
|
515
|
+
dataBufferOffset: D
|
|
516
|
+
}
|
|
517
|
+
});
|
|
518
|
+
}
|
|
519
|
+
getNextEvent() {
|
|
520
|
+
do {
|
|
521
|
+
const C = o(this, KA).shift();
|
|
522
|
+
if (!C || !CA(this, P, tg).call(this, C.name) || typeof o(this, bA) != "number")
|
|
523
|
+
return C;
|
|
524
|
+
if (o(this, bA))
|
|
525
|
+
return fE(this, bA)._--, o(this, bA) || dA(this, xA, void 0), C;
|
|
526
|
+
CA(this, P, Yg).call(this, C);
|
|
527
|
+
} while (!0);
|
|
528
|
+
}
|
|
529
|
+
returnArrayBuffer(C) {
|
|
530
|
+
C.byteLength >= AQ ? o(this, PI).length < dl && o(this, PI).push(C) : o(this, mg).push(C);
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
KA = /* @__PURE__ */ new WeakMap(), mg = /* @__PURE__ */ new WeakMap(), PI = /* @__PURE__ */ new WeakMap(), kg = /* @__PURE__ */ new WeakMap(), bA = /* @__PURE__ */ new WeakMap(), xA = /* @__PURE__ */ new WeakMap(), hg = /* @__PURE__ */ new WeakMap(), P = /* @__PURE__ */ new WeakSet(), IQ = function() {
|
|
534
|
+
const E = o(this, KA);
|
|
535
|
+
dA(this, KA, []);
|
|
536
|
+
for (const C of E)
|
|
537
|
+
CA(this, P, tC).call(this, C.name) ? CA(this, P, YC).call(this, C) : CA(this, P, Yg).call(this, C);
|
|
538
|
+
}, YC = function(E) {
|
|
539
|
+
o(this, KA).push(E);
|
|
540
|
+
}, /**
|
|
541
|
+
* Do checks to see if current event can avoid being added.
|
|
542
|
+
* If not, update internal states to prepare for that event's addition.
|
|
543
|
+
*
|
|
544
|
+
* @note As the summary implies, this function is not pure. Do not use this for
|
|
545
|
+
* status checks.
|
|
546
|
+
* @return Whether the event of specified name can be added
|
|
547
|
+
*/
|
|
548
|
+
tC = function(E) {
|
|
549
|
+
if (o(this, xA) && o(this, xA).update(E))
|
|
550
|
+
return !1;
|
|
551
|
+
if (CA(this, P, tg).call(this, E)) {
|
|
552
|
+
if (o(this, xA) && !o(this, xA).consume())
|
|
553
|
+
return !1;
|
|
554
|
+
if (typeof o(this, bA) == "number")
|
|
555
|
+
if (o(this, bA) > 0) {
|
|
556
|
+
if (CA(this, P, oB).call(this) >= o(this, bA) + hC)
|
|
557
|
+
return !1;
|
|
558
|
+
} else
|
|
559
|
+
CA(this, P, RC).call(this, E);
|
|
560
|
+
else
|
|
561
|
+
CA(this, P, RC).call(this, E);
|
|
562
|
+
}
|
|
563
|
+
return !0;
|
|
564
|
+
}, RC = function(E, C = hC) {
|
|
565
|
+
let d = 0, D = !1, Q;
|
|
566
|
+
for (const [G, h] of o(this, KA).entries())
|
|
567
|
+
if (h.name === E && (typeof Q != "number" && (Q = G), d++, d >= C)) {
|
|
568
|
+
D = !0;
|
|
569
|
+
break;
|
|
570
|
+
}
|
|
571
|
+
if (D && typeof Q == "number") {
|
|
572
|
+
const G = o(this, KA).splice(Q, 1);
|
|
573
|
+
for (const h of G)
|
|
574
|
+
CA(this, P, Yg).call(this, h);
|
|
575
|
+
}
|
|
576
|
+
}, gQ = function(E) {
|
|
577
|
+
let C;
|
|
578
|
+
return E >= AQ ? C = o(this, PI).pop() : C = o(this, mg).pop(), zB(C, E);
|
|
579
|
+
}, Yg = function(E) {
|
|
580
|
+
this.returnArrayBuffer(E.payload.buffer.buffer);
|
|
581
|
+
}, tg = function(E) {
|
|
582
|
+
return o(this, kg) === E;
|
|
583
|
+
}, oB = function() {
|
|
584
|
+
let E = 0;
|
|
585
|
+
for (const C of o(this, KA))
|
|
586
|
+
CA(this, P, tg).call(this, C.name) && E++;
|
|
587
|
+
return E;
|
|
588
|
+
};
|
|
589
|
+
const Zl = { id_finder_liveness: ["DocIdFinder", "CameraLiveness"] }, Nl = { premium_web: ["EyeFinder", "FarNearCollector", "UserJourneyCollector", "CameraLiveness", "ServerDataCollector", "PhotinusDA"], premium_web_hd: ["EyeFinder", "FarNearCollector", "UserJourneyCollector", "CameraLiveness", "ServerDataCollector", "PhotinusDA"], standard_web: ["EyeFinder", "FarNearCollector", "UserJourneyCollector", "CameraLiveness", "ServerDataCollector"] }, Wl = { ...Zl, ...Nl }, Fl = ["pose", "doc_id_info", "camera_liveness_status", "server_data_blob"];
|
|
590
|
+
var zA, sC, sg, bg, OI, Mg, bC, MC, HC, RI, sA, pC, eC, mC, kC, yC, KC, TC, Hg, fI, XC;
|
|
591
|
+
const CQ = class AI {
|
|
592
|
+
constructor() {
|
|
593
|
+
cC(this, "onmessage"), cC(this, "onerror"), m(this, zA, []), m(this, sC, Fl), m(this, sg, !1), m(this, bg, []), m(this, OI), m(this, Mg, []), m(this, bC, async (C, d) => {
|
|
594
|
+
try {
|
|
595
|
+
dA(this, zA, await Promise.all(
|
|
596
|
+
C.map((D) => o(this, MC).call(this, D, d))
|
|
597
|
+
)), o(this, RI).call(this, {
|
|
598
|
+
event: T.InitializeSuccess,
|
|
599
|
+
timestamp: d.timestamp,
|
|
600
|
+
objectName: AI.ID
|
|
601
|
+
});
|
|
602
|
+
} catch (D) {
|
|
603
|
+
o(this, sA).call(this, {
|
|
604
|
+
event: T.InitializeError,
|
|
605
|
+
timestamp: d.timestamp,
|
|
606
|
+
objectName: AI.ID,
|
|
607
|
+
reason: D instanceof Error ? D.message : `${AI.ID}: Failed to initialize one of the workers`
|
|
608
|
+
});
|
|
609
|
+
}
|
|
610
|
+
}), m(this, MC, async (C, d) => {
|
|
611
|
+
var D;
|
|
612
|
+
const Q = new nB(), G = new Sl(), h = new MessageChannel(), R = {
|
|
613
|
+
worker: Q,
|
|
614
|
+
objectName: C,
|
|
615
|
+
isReady: void 0,
|
|
616
|
+
acceptableEvents: [],
|
|
617
|
+
queue: G
|
|
618
|
+
};
|
|
619
|
+
Q.onmessage = (e) => {
|
|
620
|
+
if (!Kg(e.data))
|
|
621
|
+
return;
|
|
622
|
+
const M = e.data;
|
|
623
|
+
switch (M.event) {
|
|
624
|
+
case T.EncodedResponses:
|
|
625
|
+
o(this, KC).call(this, {
|
|
626
|
+
encodedResponses: M.encoded_responses,
|
|
627
|
+
encodedResponsesPacketCounts: M.encoded_responses_layouts,
|
|
628
|
+
context: R,
|
|
629
|
+
objectName: M.objectName
|
|
630
|
+
}), G.returnArrayBuffer(M.encoded_responses.buffer), R.isReady = !0, o(this, fI).call(this, R);
|
|
631
|
+
break;
|
|
632
|
+
case T.Ready:
|
|
633
|
+
M.max_events && G.enableCountingMode(Number.parseInt(M.max_events), M.trigger_event), R.isReady = !0, o(this, fI).call(this, R);
|
|
634
|
+
break;
|
|
635
|
+
case T.InitializeSuccess:
|
|
636
|
+
R.isReady = !0;
|
|
637
|
+
break;
|
|
638
|
+
case T.InitializeError:
|
|
639
|
+
R.isReady = !1;
|
|
640
|
+
break;
|
|
641
|
+
case T.CreateWasmInstanceSuccess:
|
|
642
|
+
o(this, RI).call(this, M);
|
|
643
|
+
break;
|
|
644
|
+
default:
|
|
645
|
+
R.isReady = !1, o(this, sA).call(this, e);
|
|
646
|
+
}
|
|
647
|
+
}, Q.onerror = (e) => {
|
|
648
|
+
R.isReady = !1, o(this, sA).call(this, e);
|
|
649
|
+
}, Q.onmessageerror = (e) => {
|
|
650
|
+
R.isReady = !1, o(this, sA).call(this, e);
|
|
651
|
+
}, h.port1.onmessage = (e) => {
|
|
652
|
+
R.isReady = !1, o(this, sA).call(this, e.data);
|
|
653
|
+
}, await wC(Q, {
|
|
654
|
+
event: T.CreateWasmInstance,
|
|
655
|
+
objectName: R.objectName,
|
|
656
|
+
timestamp: performance.now().toString(),
|
|
657
|
+
wasm_module: d.wasm_module
|
|
658
|
+
});
|
|
659
|
+
const k = await $B({
|
|
660
|
+
worker: Q,
|
|
661
|
+
errorPort: h.port2,
|
|
662
|
+
request: {
|
|
663
|
+
assets: d.assets,
|
|
664
|
+
config_name: d.config_name,
|
|
665
|
+
event: T.Initialize,
|
|
666
|
+
object_name: C,
|
|
667
|
+
override_config: d.override_config,
|
|
668
|
+
timestamp: performance.now().toString()
|
|
669
|
+
}
|
|
670
|
+
});
|
|
671
|
+
if (R.acceptableEvents = ((D = k.event_names) == null ? void 0 : D.split(",")) ?? [], k.throttled_events) {
|
|
672
|
+
const e = k.throttled_events.split(",");
|
|
673
|
+
G.setThrottleEventNames(e);
|
|
674
|
+
}
|
|
675
|
+
if (k.managed_events)
|
|
676
|
+
for (const e of k.managed_events.split(",")) {
|
|
677
|
+
const [M, BA] = e.split(":");
|
|
678
|
+
G.registerManagedEvent(M, BA);
|
|
679
|
+
}
|
|
680
|
+
if (k.max_events) {
|
|
681
|
+
const e = Number.parseInt(k.max_events);
|
|
682
|
+
G.enableCountingMode(e);
|
|
683
|
+
}
|
|
684
|
+
return R;
|
|
685
|
+
}), m(this, HC, async (C) => {
|
|
686
|
+
const d = new nB({ name: AI.ID });
|
|
687
|
+
d.onerror = (Q) => {
|
|
688
|
+
o(this, sA).call(this, Q);
|
|
689
|
+
}, await wC(d, {
|
|
690
|
+
event: T.CreateWasmInstance,
|
|
691
|
+
objectName: AI.ID,
|
|
692
|
+
timestamp: performance.now().toString(),
|
|
693
|
+
wasm_module: C.wasm_module
|
|
694
|
+
});
|
|
695
|
+
const D = await _B(d, {
|
|
696
|
+
assets: C.assets,
|
|
697
|
+
config_name: C.config_name,
|
|
698
|
+
event: T.GetConfig,
|
|
699
|
+
timestamp: performance.now().toString()
|
|
700
|
+
});
|
|
701
|
+
return d.terminate(), D;
|
|
702
|
+
}), m(this, RI, (C) => {
|
|
703
|
+
var d;
|
|
704
|
+
(d = this.onmessage) == null || d.call(this, { data: C });
|
|
705
|
+
}), m(this, sA, (C) => {
|
|
706
|
+
var d;
|
|
707
|
+
(d = this.onerror) == null || d.call(this, C);
|
|
708
|
+
}), m(this, pC, async () => {
|
|
709
|
+
let C;
|
|
710
|
+
for (; C = o(this, bg).shift(); )
|
|
711
|
+
await o(this, yC).call(this, C);
|
|
712
|
+
dA(this, OI, void 0);
|
|
713
|
+
}), m(this, eC, (C, d) => {
|
|
714
|
+
switch (C.event) {
|
|
715
|
+
case T.InitializeWasm:
|
|
716
|
+
return o(this, mC).call(this, C).catch(o(this, sA)), !0;
|
|
717
|
+
case T.GetWorkerAvailabilityRequest:
|
|
718
|
+
return o(this, XC).call(this, C), !0;
|
|
719
|
+
default:
|
|
720
|
+
return !1;
|
|
721
|
+
}
|
|
722
|
+
}), m(this, mC, async (C) => {
|
|
723
|
+
let d = Wl[C.config_name];
|
|
724
|
+
d === void 0 && (d = (await o(this, HC).call(this, C)).names.split(",")), await o(this, bC).call(this, d, C);
|
|
725
|
+
}), m(this, kC, (C) => [zB(o(this, Mg).pop(), C), 0]), m(this, yC, async (C) => {
|
|
726
|
+
const d = await Ql(C, o(this, kC));
|
|
727
|
+
C.event === T.Image && C.managed_tag !== void 0 && (d.managedTag = C.managed_tag), o(this, Hg).call(this, C.event, d), o(this, Mg).push(d.buffer.buffer);
|
|
728
|
+
}), m(this, KC, ({
|
|
729
|
+
encodedResponses: C,
|
|
730
|
+
encodedResponsesPacketCounts: d,
|
|
731
|
+
context: D,
|
|
732
|
+
objectName: Q
|
|
733
|
+
}) => {
|
|
734
|
+
for (const G of d) {
|
|
735
|
+
const h = Cl(C, G.dataBufferOffset);
|
|
736
|
+
if (h === T.Ready) {
|
|
737
|
+
const R = GB(C, G);
|
|
738
|
+
qB(R) && D.queue.enableCountingMode(Number.parseInt(R.max_events), R.trigger_event);
|
|
739
|
+
} else if (o(this, TC).call(this, h)) {
|
|
740
|
+
const R = GB(C, G);
|
|
741
|
+
yg(R) && o(this, RI).call(this, {
|
|
742
|
+
...R,
|
|
743
|
+
objectName: Q
|
|
744
|
+
});
|
|
745
|
+
} else PB(h) && o(this, Hg).call(this, h, {
|
|
746
|
+
buffer: C.subarray(G.startOffset, G.startOffset + G.length),
|
|
747
|
+
dataBufferOffset: G.dataBufferOffset - G.startOffset
|
|
748
|
+
}, D.objectName);
|
|
749
|
+
}
|
|
750
|
+
}), m(this, TC, (C) => o(this, sC).includes(C) || C === T.InitializeSuccess || C === T.InitializeError), m(this, Hg, (C, d, D) => {
|
|
751
|
+
for (const Q of o(this, zA))
|
|
752
|
+
D === Q.objectName || !Q.acceptableEvents.includes(C) || (Q.queue.addEncodedEvent(C, d), o(this, fI).call(this, Q));
|
|
753
|
+
}), m(this, fI, (C) => {
|
|
754
|
+
if (o(this, sg) || !C.isReady)
|
|
755
|
+
return;
|
|
756
|
+
const d = C.queue.getNextEvent();
|
|
757
|
+
if (d) {
|
|
758
|
+
C.isReady = !1;
|
|
759
|
+
try {
|
|
760
|
+
const { buffer: D, dataBufferOffset: Q } = d.payload;
|
|
761
|
+
C.worker.postMessage(
|
|
762
|
+
{
|
|
763
|
+
event: T.EncodedRequests,
|
|
764
|
+
timestamp: performance.now().toString(),
|
|
765
|
+
buffer: D,
|
|
766
|
+
dataBufferOffset: Q
|
|
767
|
+
},
|
|
768
|
+
[D.buffer]
|
|
769
|
+
);
|
|
770
|
+
} catch (D) {
|
|
771
|
+
o(this, sA).call(this, D);
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
}), m(this, XC, (C) => {
|
|
775
|
+
const d = Object.fromEntries(
|
|
776
|
+
Object.values(o(this, zA)).map((Q) => [
|
|
777
|
+
Q.objectName,
|
|
778
|
+
{
|
|
779
|
+
isReady: Q.isReady ?? !1,
|
|
780
|
+
acceptableEvents: Q.acceptableEvents
|
|
781
|
+
}
|
|
782
|
+
])
|
|
783
|
+
), D = {
|
|
784
|
+
event: T.GetWorkerAvailabilityResponse,
|
|
785
|
+
timestamp: C.timestamp,
|
|
786
|
+
objectName: AI.ID,
|
|
787
|
+
state: d
|
|
788
|
+
};
|
|
789
|
+
o(this, RI).call(this, D);
|
|
790
|
+
});
|
|
791
|
+
}
|
|
792
|
+
terminate() {
|
|
793
|
+
dA(this, sg, !0);
|
|
794
|
+
for (const C of o(this, zA))
|
|
795
|
+
C.isReady = !1, C.worker.terminate();
|
|
796
|
+
dA(this, zA, []);
|
|
797
|
+
}
|
|
798
|
+
isAnyWorkerReady(...C) {
|
|
799
|
+
const d = Object.fromEntries(
|
|
800
|
+
Object.values(o(this, zA)).map((D) => [D.objectName, D.isReady])
|
|
801
|
+
);
|
|
802
|
+
return C.some((D) => d[D] ?? !1);
|
|
803
|
+
}
|
|
804
|
+
postMessage(C, d = []) {
|
|
805
|
+
o(this, eC).call(this, C, d) || (o(this, bg).push(C), queueMicrotask(() => {
|
|
806
|
+
o(this, OI) || dA(this, OI, o(this, pC).call(this));
|
|
807
|
+
}));
|
|
808
|
+
}
|
|
809
|
+
};
|
|
810
|
+
zA = /* @__PURE__ */ new WeakMap(), sC = /* @__PURE__ */ new WeakMap(), sg = /* @__PURE__ */ new WeakMap(), bg = /* @__PURE__ */ new WeakMap(), OI = /* @__PURE__ */ new WeakMap(), Mg = /* @__PURE__ */ new WeakMap(), bC = /* @__PURE__ */ new WeakMap(), MC = /* @__PURE__ */ new WeakMap(), HC = /* @__PURE__ */ new WeakMap(), RI = /* @__PURE__ */ new WeakMap(), sA = /* @__PURE__ */ new WeakMap(), pC = /* @__PURE__ */ new WeakMap(), eC = /* @__PURE__ */ new WeakMap(), mC = /* @__PURE__ */ new WeakMap(), kC = /* @__PURE__ */ new WeakMap(), yC = /* @__PURE__ */ new WeakMap(), KC = /* @__PURE__ */ new WeakMap(), TC = /* @__PURE__ */ new WeakMap(), Hg = /* @__PURE__ */ new WeakMap(), fI = /* @__PURE__ */ new WeakMap(), XC = /* @__PURE__ */ new WeakMap(), cC(CQ, "ID", "da-system");
|
|
811
|
+
let BQ = CQ;
|
|
812
|
+
const QQ = "dmFyIHFJID0gT2JqZWN0LmRlZmluZVByb3BlcnR5Owp2YXIgUkkgPSAoZykgPT4gewogIHRocm93IFR5cGVFcnJvcihnKTsKfTsKdmFyIF9JID0gKGcsIEksIEMpID0+IEkgaW4gZyA/IHFJKGcsIEksIHsgZW51bWVyYWJsZTogITAsIGNvbmZpZ3VyYWJsZTogITAsIHdyaXRhYmxlOiAhMCwgdmFsdWU6IEMgfSkgOiBnW0ldID0gQzsKdmFyICQgPSAoZywgSSwgQykgPT4gX0koZywgdHlwZW9mIEkgIT0gInN5bWJvbCIgPyBJICsgIiIgOiBJLCBDKSwgaEkgPSAoZywgSSwgQykgPT4gSS5oYXMoZykgfHwgUkkoIkNhbm5vdCAiICsgQyk7CnZhciBCID0gKGcsIEksIEMpID0+IChoSShnLCBJLCAicmVhZCBmcm9tIHByaXZhdGUgZmllbGQiKSwgQyA/IEMuY2FsbChnKSA6IEkuZ2V0KGcpKSwgcyA9IChnLCBJLCBDKSA9PiBJLmhhcyhnKSA/IFJJKCJDYW5ub3QgYWRkIHRoZSBzYW1lIHByaXZhdGUgbWVtYmVyIG1vcmUgdGhhbiBvbmNlIikgOiBJIGluc3RhbmNlb2YgV2Vha1NldCA/IEkuYWRkKGcpIDogSS5zZXQoZywgQyksIG0gPSAoZywgSSwgQywgQSkgPT4gKGhJKGcsIEksICJ3cml0ZSB0byBwcml2YXRlIGZpZWxkIiksIEEgPyBBLmNhbGwoZywgQykgOiBJLnNldChnLCBDKSwgQyksIHkgPSAoZywgSSwgQykgPT4gKGhJKGcsIEksICJhY2Nlc3MgcHJpdmF0ZSBtZXRob2QiKSwgQyk7CnZhciBKSSA9IChnLCBJLCBDLCBBKSA9PiAoewogIHNldCBfKGkpIHsKICAgIG0oZywgSSwgaSwgQyk7CiAgfSwKICBnZXQgXygpIHsKICAgIHJldHVybiBCKGcsIEksIEEpOwogIH0KfSk7CmNvbnN0IE5JID0gImRtRnlJR2RwSUQwZ0tDZ3BJRDArSUhzS0lDQjJZWElnYkRzS0lDQjJZWElnZFNBOUlIUjVjR1Z2WmlCa2IyTjFiV1Z1ZENBOElDSjFJaUEvSUNoc0lEMGdaRzlqZFcxbGJuUXVZM1Z5Y21WdWRGTmpjbWx3ZENrZ1BUMGdiblZzYkNBL0lIWnZhV1FnTUNBNklHd3VjM0pqSURvZ2RtOXBaQ0F3T3dvZ0lISmxkSFZ5YmlCbWRXNWpkR2x2Ymloa0lEMGdlMzBwSUhzS0lDQWdJSFpoY2lCNUxDQnBJRDBnWkN3Z1Vpd2dheXdnVHlBOUlHNWxkeUJRY205dGFYTmxLQ2hoTENCdktTQTlQaUI3Q2lBZ0lDQWdJRklnUFNCaExDQnJJRDBnYnpzS0lDQWdJSDBwTENCSklEMGdkSGx3Wlc5bUlIZHBibVJ2ZHlBOVBTQWliMkpxWldOMElpd2dlaUE5SUhSNWNHVnZaaUJwYlhCdmNuUlRZM0pwY0hSeklEMDlJQ0ptZFc1amRHbHZiaUk3Q2lBZ0lDQjBlWEJsYjJZZ2NISnZZMlZ6Y3lBOVBTQWliMkpxWldOMElpQW1KaUIwZVhCbGIyWWdjSEp2WTJWemN5NTJaWEp6YVc5dWN5QTlQU0FpYjJKcVpXTjBJaUFtSmlCMGVYQmxiMllnY0hKdlkyVnpjeTUyWlhKemFXOXVjeTV1YjJSbElEMDlJQ0p6ZEhKcGJtY2lJQ1ltSUhCeWIyTmxjM011ZEhsd1pTQWhQU0FpY21WdVpHVnlaWElpT3dvZ0lDQWdkbUZ5SUVRZ1BTQlBZbXBsWTNRdVlYTnphV2R1S0h0OUxDQnBLU3dnV2lBOUlDaGhMQ0J2S1NBOVBpQjdDaUFnSUNBZ0lIUm9jbTkzSUc4N0NpQWdJQ0I5TENCNElEMGdJaUk3Q2lBZ0lDQm1kVzVqZEdsdmJpQmhaU2hoS1NCN0NpQWdJQ0FnSUhKbGRIVnliaUJwTG14dlkyRjBaVVpwYkdVZ1B5QnBMbXh2WTJGMFpVWnBiR1VvWVN3Z2VDa2dPaUI0SUNzZ1lUc0tJQ0FnSUgwS0lDQWdJSFpoY2lCbVpTd2dkbVU3Q2lBZ0lDQW9TU0I4ZkNCNktTQW1KaUFvZWlBL0lIZ2dQU0J6Wld4bUxteHZZMkYwYVc5dUxtaHlaV1lnT2lCMGVYQmxiMllnWkc5amRXMWxiblFnUENBaWRTSWdKaVlnWkc5amRXMWxiblF1WTNWeWNtVnVkRk5qY21sd2RDQW1KaUFvZUNBOUlHUnZZM1Z0Wlc1MExtTjFjbkpsYm5SVFkzSnBjSFF1YzNKaktTd2dkU0FtSmlBb2VDQTlJSFVwTENCNExuTjBZWEowYzFkcGRHZ29JbUpzYjJJNklpa2dQeUI0SUQwZ0lpSWdPaUI0SUQwZ2VDNXpkV0p6ZEhJb01Dd2dlQzV5WlhCc1lXTmxLQzliUHlOZExpb3ZMQ0FpSWlrdWJHRnpkRWx1WkdWNFQyWW9JaThpS1NBcklERXBMQ0I2SUNZbUlDaDJaU0E5SUNoaEtTQTlQaUI3Q2lBZ0lDQWdJSFpoY2lCdklEMGdibVYzSUZoTlRFaDBkSEJTWlhGMVpYTjBLQ2s3Q2lBZ0lDQWdJSEpsZEhWeWJpQnZMbTl3Wlc0b0lrZEZWQ0lzSUdFc0lDRXhLU3dnYnk1eVpYTndiMjV6WlZSNWNHVWdQU0FpWVhKeVlYbGlkV1ptWlhJaUxDQnZMbk5sYm1Rb2JuVnNiQ2tzSUc1bGR5QlZhVzUwT0VGeWNtRjVLQW9nSUNBZ0lDQWdJQzhxS2lCQWRIbHdaWHNoUVhKeVlYbENkV1ptWlhKOUlDb3ZDaUFnSUNBZ0lDQWdieTV5WlhOd2IyNXpaUW9nSUNBZ0lDQXBPd29nSUNBZ2ZTa3NJR1psSUQwZ0tHRXBJRDArSUdabGRHTm9LR0VzSUhzS0lDQWdJQ0FnWTNKbFpHVnVkR2xoYkhNNklDSnpZVzFsTFc5eWFXZHBiaUlLSUNBZ0lIMHBMblJvWlc0b0tHOHBJRDArSUc4dWIyc2dQeUJ2TG1GeWNtRjVRblZtWm1WeUtDa2dPaUJRY205dGFYTmxMbkpsYW1WamRDaHVaWGNnUlhKeWIzSW9ieTV6ZEdGMGRYTWdLeUFpSURvZ0lpQXJJRzh1ZFhKc0tTa3BLVHNLSUNBZ0lIWmhjaUJ0WlNBOUlHa3VjSEpwYm5RZ2ZId2dZMjl1YzI5c1pTNXNiMmN1WW1sdVpDaGpiMjV6YjJ4bEtTd2diR1VnUFNCcExuQnlhVzUwUlhKeUlIeDhJR052Ym5OdmJHVXVaWEp5YjNJdVltbHVaQ2hqYjI1emIyeGxLVHNLSUNBZ0lFOWlhbVZqZEM1aGMzTnBaMjRvYVN3Z1JDa3NJRVFnUFNCdWRXeHNMQ0JwTG1GeVozVnRaVzUwY3lBbUppQnBMbUZ5WjNWdFpXNTBjeXdnYVM1MGFHbHpVSEp2WjNKaGJTQW1KaUJwTG5Sb2FYTlFjbTluY21GdE93b2dJQ0FnZG1GeUlGUmxJRDBnYVM1M1lYTnRRbWx1WVhKNUxDQnBaU3dnVFNBOUlDRXhMQ0I1WlN3Z2QyVXNJSE5sTENCR0xDQnhPd29nSUNBZ1puVnVZM1JwYjI0Z1RXVW9LU0I3Q2lBZ0lDQWdJSFpoY2lCaElEMGdhV1V1WW5WbVptVnlPd29nSUNBZ0lDQnBMa2hGUVZBNElEMGdkMlVnUFNCdVpYY2dTVzUwT0VGeWNtRjVLR0VwTENCcExraEZRVkF4TmlBOUlHNWxkeUJKYm5ReE5rRnljbUY1S0dFcExDQnBMa2hGUVZCVk9DQTlJSE5sSUQwZ2JtVjNJRlZwYm5RNFFYSnlZWGtvWVNrc0lHa3VTRVZCVUZVeE5pQTlJRzVsZHlCVmFXNTBNVFpCY25KaGVTaGhLU3dnYVM1SVJVRlFNeklnUFNCR0lEMGdibVYzSUVsdWRETXlRWEp5WVhrb1lTa3NJR2t1U0VWQlVGVXpNaUE5SUhFZ1BTQnVaWGNnVldsdWRETXlRWEp5WVhrb1lTa3NJR2t1U0VWQlVFWXpNaUE5SUc1bGR5QkdiRzloZERNeVFYSnlZWGtvWVNrc0lHa3VTRVZCVUVZMk5DQTlJRzVsZHlCR2JHOWhkRFkwUVhKeVlYa29ZU2tzSUdrdVNFVkJVRFkwSUQwZ2JtVjNJRUpwWjBsdWREWTBRWEp5WVhrb1lTa3NJR2t1U0VWQlVGVTJOQ0E5SUc1bGR5QkNhV2RWYVc1ME5qUkJjbkpoZVNoaEtUc0tJQ0FnSUgwS0lDQWdJSFpoY2lCbWNpQTlJRnRkTENCMmNpQTlJRnRkTENCUGNpQTlJRnRkTENCc2NpQTlJRnRkT3dvZ0lDQWdablZ1WTNScGIyNGdWWElvS1NCN0NpQWdJQ0FnSUdsbUlDaHBMbkJ5WlZKMWJpa0tJQ0FnSUNBZ0lDQm1iM0lnS0hSNWNHVnZaaUJwTG5CeVpWSjFiaUE5UFNBaVpuVnVZM1JwYjI0aUlDWW1JQ2hwTG5CeVpWSjFiaUE5SUZ0cExuQnlaVkoxYmwwcE95QnBMbkJ5WlZKMWJpNXNaVzVuZEdnN0lDa0tJQ0FnSUNBZ0lDQWdJRjkwS0drdWNISmxVblZ1TG5Ob2FXWjBLQ2twT3dvZ0lDQWdJQ0JPWlNobWNpazdDaUFnSUNCOUNpQWdJQ0JtZFc1amRHbHZiaUI0Y2lncElIc0tJQ0FnSUNBZ1RtVW9kbklwT3dvZ0lDQWdmUW9nSUNBZ1puVnVZM1JwYjI0Z2RuUW9LU0I3Q2lBZ0lDQWdJRTVsS0U5eUtUc0tJQ0FnSUgwS0lDQWdJR1oxYm1OMGFXOXVJR3gwS0NrZ2V3b2dJQ0FnSUNCcFppQW9hUzV3YjNOMFVuVnVLUW9nSUNBZ0lDQWdJR1p2Y2lBb2RIbHdaVzltSUdrdWNHOXpkRkoxYmlBOVBTQWlablZ1WTNScGIyNGlJQ1ltSUNocExuQnZjM1JTZFc0Z1BTQmJhUzV3YjNOMFVuVnVYU2s3SUdrdWNHOXpkRkoxYmk1c1pXNW5kR2c3SUNrS0lDQWdJQ0FnSUNBZ0lIQjBLR2t1Y0c5emRGSjFiaTV6YUdsbWRDZ3BLVHNLSUNBZ0lDQWdUbVVvYkhJcE93b2dJQ0FnZlFvZ0lDQWdablZ1WTNScGIyNGdYM1FvWVNrZ2V3b2dJQ0FnSUNCbWNpNTFibk5vYVdaMEtHRXBPd29nSUNBZ2ZRb2dJQ0FnWm5WdVkzUnBiMjRnY0hRb1lTa2dld29nSUNBZ0lDQnNjaTUxYm5Ob2FXWjBLR0VwT3dvZ0lDQWdmUW9nSUNBZ2RtRnlJQ1JsSUQwZ01Dd2dWV1VnUFNCdWRXeHNPd29nSUNBZ1puVnVZM1JwYjI0Z1EyVW9ZU2tnZXdvZ0lDQWdJQ0IyWVhJZ2J6c0tJQ0FnSUNBZ0pHVXJLeXdnS0c4Z1BTQnBMbTF2Ym1sMGIzSlNkVzVFWlhCbGJtUmxibU5wWlhNcElEMDlJRzUxYkd3Z2ZId2dieTVqWVd4c0tHa3NJQ1JsS1RzS0lDQWdJSDBLSUNBZ0lHWjFibU4wYVc5dUlIaGxLR0VwSUhzS0lDQWdJQ0FnZG1GeUlGODdDaUFnSUNBZ0lHbG1JQ2drWlMwdExDQW9YeUE5SUdrdWJXOXVhWFJ2Y2xKMWJrUmxjR1Z1WkdWdVkybGxjeWtnUFQwZ2JuVnNiQ0I4ZkNCZkxtTmhiR3dvYVN3Z0pHVXBMQ0FrWlNBOVBTQXdJQ1ltSUZWbEtTQjdDaUFnSUNBZ0lDQWdkbUZ5SUc4Z1BTQlZaVHNLSUNBZ0lDQWdJQ0JWWlNBOUlHNTFiR3dzSUc4b0tUc0tJQ0FnSUNBZ2ZRb2dJQ0FnZlFvZ0lDQWdablZ1WTNScGIyNGdYM0lvWVNrZ2V3b2dJQ0FnSUNCMllYSWdYenNLSUNBZ0lDQWdLRjhnUFNCcExtOXVRV0p2Y25RcElEMDlJRzUxYkd3Z2ZId2dYeTVqWVd4c0tHa3NJR0VwTENCaElEMGdJa0ZpYjNKMFpXUW9JaUFySUdFZ0t5QWlLU0lzSUd4bEtHRXBMQ0JOSUQwZ0lUQXNJR0VnS3owZ0lpNGdRblZwYkdRZ2QybDBhQ0F0YzBGVFUwVlNWRWxQVGxNZ1ptOXlJRzF2Y21VZ2FXNW1ieTRpT3dvZ0lDQWdJQ0IyWVhJZ2J5QTlJRzVsZHlCWFpXSkJjM05sYldKc2VTNVNkVzUwYVcxbFJYSnliM0lvWVNrN0NpQWdJQ0FnSUhSb2NtOTNJR3NvYnlrc0lHODdDaUFnSUNCOUNpQWdJQ0IyWVhJZ1pIUWdQU0FpWkdGMFlUcGhjSEJzYVdOaGRHbHZiaTl2WTNSbGRDMXpkSEpsWVcwN1ltRnpaVFkwTENJc0lIcGxJRDBnS0dFcElEMCtJR0V1YzNSaGNuUnpWMmwwYUNoa2RDazdDaUFnSUNCbWRXNWpkR2x2YmlCb2RDZ3BJSHNLSUNBZ0lDQWdkbUZ5SUdFZ1BTQWlaR0ZqWDNOcGJXUXVkMkZ6YlNJN0NpQWdJQ0FnSUhKbGRIVnliaUI2WlNoaEtTQS9JR0VnT2lCaFpTaGhLVHNLSUNBZ0lIMEtJQ0FnSUhaaGNpQkhaVHNLSUNBZ0lHWjFibU4wYVc5dUlHcHlLR0VwSUhzS0lDQWdJQ0FnYVdZZ0tHRWdQVDBnUjJVZ0ppWWdWR1VwQ2lBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCVmFXNTBPRUZ5Y21GNUtGUmxLVHNLSUNBZ0lDQWdhV1lnS0habEtRb2dJQ0FnSUNBZ0lISmxkSFZ5YmlCMlpTaGhLVHNLSUNBZ0lDQWdkR2h5YjNjZ0ltSnZkR2dnWVhONWJtTWdZVzVrSUhONWJtTWdabVYwWTJocGJtY2diMllnZEdobElIZGhjMjBnWm1GcGJHVmtJanNLSUNBZ0lIMEtJQ0FnSUdaMWJtTjBhVzl1SUhCeUtHRXBJSHNLSUNBZ0lDQWdjbVYwZFhKdUlGUmxJRDhnVUhKdmJXbHpaUzV5WlhOdmJIWmxLQ2t1ZEdobGJpZ29LU0E5UGlCcWNpaGhLU2tnT2lCbVpTaGhLUzUwYUdWdUtBb2dJQ0FnSUNBZ0lDaHZLU0E5UGlCdVpYY2dWV2x1ZERoQmNuSmhlU2dLSUNBZ0lDQWdJQ0FnSUM4cUtpQkFkSGx3WlhzaFFYSnlZWGxDZFdabVpYSjlJQ292Q2lBZ0lDQWdJQ0FnSUNCdkNpQWdJQ0FnSUNBZ0tTd0tJQ0FnSUNBZ0lDQXZMeUJHWVd4c0lHSmhZMnNnZEc4Z1oyVjBRbWx1WVhKNVUzbHVZeUJwWmlCeVpXRmtRWE41Ym1NZ1ptRnBiSE1LSUNBZ0lDQWdJQ0FvS1NBOVBpQnFjaWhoS1FvZ0lDQWdJQ0FwT3dvZ0lDQWdmUW9nSUNBZ1puVnVZM1JwYjI0Z1pISW9ZU3dnYnl3Z1h5a2dld29nSUNBZ0lDQnlaWFIxY200Z2NISW9ZU2t1ZEdobGJpZ29iU2tnUFQ0Z1YyVmlRWE56WlcxaWJIa3VhVzV6ZEdGdWRHbGhkR1VvYlN3Z2J5a3BMblJvWlc0b1h5d2dLRzBwSUQwK0lIc0tJQ0FnSUNBZ0lDQnNaU2hnWm1GcGJHVmtJSFJ2SUdGemVXNWphSEp2Ym05MWMyeDVJSEJ5WlhCaGNtVWdkMkZ6YlRvZ0pIdHRmV0FwTENCZmNpaHRLVHNLSUNBZ0lDQWdmU2s3Q2lBZ0lDQjlDaUFnSUNCbWRXNWpkR2x2YmlCbmRDaGhMQ0J2TENCZkxDQnRLU0I3Q2lBZ0lDQWdJSEpsZEhWeWJpQWhZU0FtSmlCMGVYQmxiMllnVjJWaVFYTnpaVzFpYkhrdWFXNXpkR0Z1ZEdsaGRHVlRkSEpsWVcxcGJtY2dQVDBnSW1aMWJtTjBhVzl1SWlBbUppQWhlbVVvYnlrZ0ppWWdkSGx3Wlc5bUlHWmxkR05vSUQwOUlDSm1kVzVqZEdsdmJpSWdQeUJtWlhSamFDaHZMQ0I3Q2lBZ0lDQWdJQ0FnWTNKbFpHVnVkR2xoYkhNNklDSnpZVzFsTFc5eWFXZHBiaUlLSUNBZ0lDQWdmU2t1ZEdobGJpZ29VQ2tnUFQ0Z2V3b2dJQ0FnSUNBZ0lIWmhjaUIzSUQwZ1YyVmlRWE56WlcxaWJIa3VhVzV6ZEdGdWRHbGhkR1ZUZEhKbFlXMXBibWNvVUN3Z1h5azdDaUFnSUNBZ0lDQWdjbVYwZFhKdUlIY3VkR2hsYmlodExDQm1kVzVqZEdsdmJpaEZLU0I3Q2lBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYkdVb1lIZGhjMjBnYzNSeVpXRnRhVzVuSUdOdmJYQnBiR1VnWm1GcGJHVmtPaUFrZTBWOVlDa3NJR3hsS0NKbVlXeHNhVzVuSUdKaFkyc2dkRzhnUVhKeVlYbENkV1ptWlhJZ2FXNXpkR0Z1ZEdsaGRHbHZiaUlwTENCa2NpaHZMQ0JmTENCdEtUc0tJQ0FnSUNBZ0lDQjlLVHNLSUNBZ0lDQWdmU2tnT2lCa2NpaHZMQ0JmTENCdEtUc0tJQ0FnSUgwS0lDQWdJR1oxYm1OMGFXOXVJRWh5S0NrZ2V3b2dJQ0FnSUNCeVpYUjFjbTRnZXdvZ0lDQWdJQ0FnSUdFNklFUjBDaUFnSUNBZ0lIMDdDaUFnSUNCOUNpQWdJQ0JtZFc1amRHbHZiaUJ0ZENncElIc0tJQ0FnSUNBZ2RtRnlJR0VnUFNCSWNpZ3BPd29nSUNBZ0lDQm1kVzVqZEdsdmJpQnZLRzBzSUZBcElIc0tJQ0FnSUNBZ0lDQnlaWFIxY200Z1Z5QTlJRzB1Wlhod2IzSjBjeXdnYVdVZ1BTQlhMa3NzSUUxbEtDa3NJQ1J5SUQwZ1Z5NVdMQ0I0WlNncExDQlhPd29nSUNBZ0lDQjlDaUFnSUNBZ0lFTmxLQ2s3Q2lBZ0lDQWdJR1oxYm1OMGFXOXVJRjhvYlNrZ2V3b2dJQ0FnSUNBZ0lHOG9iUzVwYm5OMFlXNWpaU2s3Q2lBZ0lDQWdJSDBLSUNBZ0lDQWdhV1lnS0drdWFXNXpkR0Z1ZEdsaGRHVlhZWE50S1FvZ0lDQWdJQ0FnSUhSeWVTQjdDaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdhUzVwYm5OMFlXNTBhV0YwWlZkaGMyMG9ZU3dnYnlrN0NpQWdJQ0FnSUNBZ2ZTQmpZWFJqYUNBb2JTa2dld29nSUNBZ0lDQWdJQ0FnYkdVb1lFMXZaSFZzWlM1cGJuTjBZVzUwYVdGMFpWZGhjMjBnWTJGc2JHSmhZMnNnWm1GcGJHVmtJSGRwZEdnZ1pYSnliM0k2SUNSN2JYMWdLU3dnYXlodEtUc0tJQ0FnSUNBZ0lDQjlDaUFnSUNBZ0lISmxkSFZ5YmlCSFpTQS9QeUFvUjJVZ1BTQm9kQ2dwS1N3Z1ozUW9WR1VzSUVkbExDQmhMQ0JmS1M1allYUmphQ2hyS1N3Z2UzMDdDaUFnSUNCOUNpQWdJQ0JtZFc1amRHbHZiaUJDY2loaEtTQjdDaUFnSUNBZ0lIUm9hWE11Ym1GdFpTQTlJQ0pGZUdsMFUzUmhkSFZ6SWl3Z2RHaHBjeTV0WlhOellXZGxJRDBnWUZCeWIyZHlZVzBnZEdWeWJXbHVZWFJsWkNCM2FYUm9JR1Y0YVhRb0pIdGhmU2xnTENCMGFHbHpMbk4wWVhSMWN5QTlJR0U3Q2lBZ0lDQjlDaUFnSUNCMllYSWdUbVVnUFNBb1lTa2dQVDRnZXdvZ0lDQWdJQ0JtYjNJZ0tEc2dZUzVzWlc1bmRHZ2dQaUF3T3lBcENpQWdJQ0FnSUNBZ1lTNXphR2xtZENncEtHa3BPd29nSUNBZ2ZTd2dWbklnUFNCcExtNXZSWGhwZEZKMWJuUnBiV1VnZkh3Z0lUQXNJRmtnUFNBb1lTa2dQVDRnV1hJb1lTa3NJRW9nUFNBb0tTQTlQaUJZY2lncExDQmZaU0E5SURBN0NpQWdJQ0JqYkdGemN5QlZJSHNLSUNBZ0lDQWdMeThnWlhoalVIUnlJQzBnVkdoeWIzZHVJRzlpYW1WamRDQndiMmx1ZEdWeUlIUnZJSGR5WVhBdUlFMWxkR0ZrWVhSaElIQnZhVzUwWlhJZ2FYTWdZMkZzWTNWc1lYUmxaQ0JtY205dElHbDBMZ29nSUNBZ0lDQmpiMjV6ZEhKMVkzUnZjaWh2S1NCN0NpQWdJQ0FnSUNBZ2RHaHBjeTVsZUdOUWRISWdQU0J2TENCMGFHbHpMbkIwY2lBOUlHOGdMU0F5TkRzS0lDQWdJQ0FnZlFvZ0lDQWdJQ0J6WlhSZmRIbHdaU2h2S1NCN0NpQWdJQ0FnSUNBZ2NWdDBhR2x6TG5CMGNpQXJJRFFnUGo0Z01sMGdQU0J2T3dvZ0lDQWdJQ0I5Q2lBZ0lDQWdJR2RsZEY5MGVYQmxLQ2tnZXdvZ0lDQWdJQ0FnSUhKbGRIVnliaUJ4VzNSb2FYTXVjSFJ5SUNzZ05DQStQaUF5WFRzS0lDQWdJQ0FnZlFvZ0lDQWdJQ0J6WlhSZlpHVnpkSEoxWTNSdmNpaHZLU0I3Q2lBZ0lDQWdJQ0FnY1Z0MGFHbHpMbkIwY2lBcklEZ2dQajRnTWwwZ1BTQnZPd29nSUNBZ0lDQjlDaUFnSUNBZ0lHZGxkRjlrWlhOMGNuVmpkRzl5S0NrZ2V3b2dJQ0FnSUNBZ0lISmxkSFZ5YmlCeFczUm9hWE11Y0hSeUlDc2dPQ0ErUGlBeVhUc0tJQ0FnSUNBZ2ZRb2dJQ0FnSUNCelpYUmZZMkYxWjJoMEtHOHBJSHNLSUNBZ0lDQWdJQ0J2SUQwZ2J5QS9JREVnT2lBd0xDQjNaVnQwYUdsekxuQjBjaUFySURFeVhTQTlJRzg3Q2lBZ0lDQWdJSDBLSUNBZ0lDQWdaMlYwWDJOaGRXZG9kQ2dwSUhzS0lDQWdJQ0FnSUNCeVpYUjFjbTRnZDJWYmRHaHBjeTV3ZEhJZ0t5QXhNbDBnSVQwZ01Ec0tJQ0FnSUNBZ2ZRb2dJQ0FnSUNCelpYUmZjbVYwYUhKdmQyNG9ieWtnZXdvZ0lDQWdJQ0FnSUc4Z1BTQnZJRDhnTVNBNklEQXNJSGRsVzNSb2FYTXVjSFJ5SUNzZ01UTmRJRDBnYnpzS0lDQWdJQ0FnZlFvZ0lDQWdJQ0JuWlhSZmNtVjBhSEp2ZDI0b0tTQjdDaUFnSUNBZ0lDQWdjbVYwZFhKdUlIZGxXM1JvYVhNdWNIUnlJQ3NnTVROZElDRTlJREE3Q2lBZ0lDQWdJSDBLSUNBZ0lDQWdMeThnU1c1cGRHbGhiR2w2WlNCdVlYUnBkbVVnYzNSeWRXTjBkWEpsSUdacFpXeGtjeTRnVTJodmRXeGtJR0psSUdOaGJHeGxaQ0J2Ym1ObElHRm1kR1Z5SUdGc2JHOWpZWFJsWkM0S0lDQWdJQ0FnYVc1cGRDaHZMQ0JmS1NCN0NpQWdJQ0FnSUNBZ2RHaHBjeTV6WlhSZllXUnFkWE4wWldSZmNIUnlLREFwTENCMGFHbHpMbk5sZEY5MGVYQmxLRzhwTENCMGFHbHpMbk5sZEY5a1pYTjBjblZqZEc5eUtGOHBPd29nSUNBZ0lDQjlDaUFnSUNBZ0lITmxkRjloWkdwMWMzUmxaRjl3ZEhJb2J5a2dld29nSUNBZ0lDQWdJSEZiZEdocGN5NXdkSElnS3lBeE5pQStQaUF5WFNBOUlHODdDaUFnSUNBZ0lIMEtJQ0FnSUNBZ1oyVjBYMkZrYW5WemRHVmtYM0IwY2lncElIc0tJQ0FnSUNBZ0lDQnlaWFIxY200Z2NWdDBhR2x6TG5CMGNpQXJJREUySUQ0K0lESmRPd29nSUNBZ0lDQjlDaUFnSUNCOUNpQWdJQ0IyWVhJZ2FpQTlJQ2hoS1NBOVBpQjdDaUFnSUNBZ0lIUm9jbTkzSUY5bElIeDhJQ2hmWlNBOUlHRXBMQ0JmWlRzS0lDQWdJSDBzSUZFZ1BTQW9ZU2tnUFQ0Z1ltVW9ZU2tzSUhsMElEMGdLR0VwSUQwK0lIc0tJQ0FnSUNBZ2RtRnlJRzhnUFNCZlpUc0tJQ0FnSUNBZ2FXWWdLQ0Z2S1FvZ0lDQWdJQ0FnSUhKbGRIVnliaUJSS0RBcExDQXdPd29nSUNBZ0lDQjJZWElnWHlBOUlHNWxkeUJWS0c4cE93b2dJQ0FnSUNCZkxuTmxkRjloWkdwMWMzUmxaRjl3ZEhJb2J5azdDaUFnSUNBZ0lIWmhjaUJ0SUQwZ1h5NW5aWFJmZEhsd1pTZ3BPd29nSUNBZ0lDQnBaaUFvSVcwcENpQWdJQ0FnSUNBZ2NtVjBkWEp1SUZFb01Da3NJRzg3Q2lBZ0lDQWdJR1p2Y2lBb2RtRnlJRkFnYjJZZ1lTa2dld29nSUNBZ0lDQWdJR2xtSUNoUUlEMDlQU0F3SUh4OElGQWdQVDA5SUcwcENpQWdJQ0FnSUNBZ0lDQmljbVZoYXpzS0lDQWdJQ0FnSUNCMllYSWdkeUE5SUY4dWNIUnlJQ3NnTVRZN0NpQWdJQ0FnSUNBZ2FXWWdLSFJsS0ZBc0lHMHNJSGNwS1FvZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUZFb1VDa3NJRzg3Q2lBZ0lDQWdJSDBLSUNBZ0lDQWdjbVYwZFhKdUlGRW9iU2tzSUc4N0NpQWdJQ0I5TENCM2RDQTlJQ2dwSUQwK0lIbDBLRnRkS1N3Z1pXVWdQU0JiWFN3Z2FISWdQU0F3TENCeFpTQTlJQ2dwSUQwK0lIc0tJQ0FnSUNBZ2RtRnlJR0VnUFNCbFpTNXdiM0FvS1RzS0lDQWdJQ0FnWVNCOGZDQmZjaWdpYm04Z1pYaGpaWEIwYVc5dUlIUnZJSFJvY205M0lpazdDaUFnSUNBZ0lIWmhjaUJ2SUQwZ1lTNWxlR05RZEhJN0NpQWdJQ0FnSUhSb2NtOTNJR0V1WjJWMFgzSmxkR2h5YjNkdUtDa2dmSHdnS0dWbExuQjFjMmdvWVNrc0lHRXVjMlYwWDNKbGRHaHliM2R1S0NFd0tTd2dZUzV6WlhSZlkyRjFaMmgwS0NFeEtTd2dhSElyS3lrc0lGOWxJRDBnYnl3Z1gyVTdDaUFnSUNCOUxDQmlkQ0E5SUNoaEtTQTlQaUI3Q2lBZ0lDQWdJR2xtSUNoaEtTQjdDaUFnSUNBZ0lDQWdkbUZ5SUc4Z1BTQnVaWGNnVlNoaEtUc0tJQ0FnSUNBZ0lDQmxaUzV3ZFhOb0tHOHBMQ0J2TG5ObGRGOXlaWFJvY205M2JpZ2hNQ2tzSUhGbEtDazdDaUFnSUNBZ0lIMEtJQ0FnSUgwc0lFcGxJRDBnS0dFc0lHOHNJRjhwSUQwK0lIc0tJQ0FnSUNBZ2RtRnlJRzBnUFNCdVpYY2dWU2hoS1RzS0lDQWdJQ0FnZEdoeWIzY2diUzVwYm1sMEtHOHNJRjhwTENCZlpTQTlJR0VzSUdoeUt5c3NJRjlsT3dvZ0lDQWdmU3dnWjNJZ1BTQW9LU0E5UGlCb2Npd2dUSElnUFNCMGVYQmxiMllnVkdWNGRFUmxZMjlrWlhJZ1BDQWlkU0lnUHlCdVpYY2dWR1Y0ZEVSbFkyOWtaWElvS1NBNklIWnZhV1FnTUN3Z1RYSWdQU0FvWVN3Z2J5d2dYeWtnUFQ0Z2V3b2dJQ0FnSUNCbWIzSWdLSFpoY2lCdElEMGdieUFySUY4c0lGQWdQU0J2T3lCaFcxQmRJQ1ltSUNFb1VDQStQU0J0S1RzZ0tTQXJLMUE3Q2lBZ0lDQWdJR2xtSUNoUUlDMGdieUErSURFMklDWW1JR0V1WW5WbVptVnlJQ1ltSUV4eUtRb2dJQ0FnSUNBZ0lISmxkSFZ5YmlCTWNpNWtaV052WkdVb1lTNXpkV0poY25KaGVTaHZMQ0JRS1NrN0NpQWdJQ0FnSUdadmNpQW9kbUZ5SUhjZ1BTQWlJanNnYnlBOElGQTdJQ2tnZXdvZ0lDQWdJQ0FnSUhaaGNpQkZJRDBnWVZ0dkt5dGRPd29nSUNBZ0lDQWdJR2xtSUNnaEtFVWdKaUF4TWpncEtTQjdDaUFnSUNBZ0lDQWdJQ0IzSUNzOUlGTjBjbWx1Wnk1bWNtOXRRMmhoY2tOdlpHVW9SU2s3Q2lBZ0lDQWdJQ0FnSUNCamIyNTBhVzUxWlRzS0lDQWdJQ0FnSUNCOUNpQWdJQ0FnSUNBZ2RtRnlJRlFnUFNCaFcyOHJLMTBnSmlBMk16c0tJQ0FnSUNBZ0lDQnBaaUFvS0VVZ0ppQXlNalFwSUQwOUlERTVNaWtnZXdvZ0lDQWdJQ0FnSUNBZ2R5QXJQU0JUZEhKcGJtY3Vabkp2YlVOb1lYSkRiMlJsS0NoRklDWWdNekVwSUR3OElEWWdmQ0JVS1RzS0lDQWdJQ0FnSUNBZ0lHTnZiblJwYm5WbE93b2dJQ0FnSUNBZ0lIMEtJQ0FnSUNBZ0lDQjJZWElnUnlBOUlHRmJieXNyWFNBbUlEWXpPd29nSUNBZ0lDQWdJR2xtSUNnb1JTQW1JREkwTUNrZ1BUMGdNakkwSUQ4Z1JTQTlJQ2hGSUNZZ01UVXBJRHc4SURFeUlId2dWQ0E4UENBMklId2dSeUE2SUVVZ1BTQW9SU0FtSURjcElEdzhJREU0SUh3Z1ZDQThQQ0F4TWlCOElFY2dQRHdnTmlCOElHRmJieXNyWFNBbUlEWXpMQ0JGSUR3Z05qVTFNellwQ2lBZ0lDQWdJQ0FnSUNCM0lDczlJRk4wY21sdVp5NW1jbTl0UTJoaGNrTnZaR1VvUlNrN0NpQWdJQ0FnSUNBZ1pXeHpaU0I3Q2lBZ0lDQWdJQ0FnSUNCMllYSWdibklnUFNCRklDMGdOalUxTXpZN0NpQWdJQ0FnSUNBZ0lDQjNJQ3M5SUZOMGNtbHVaeTVtY205dFEyaGhja052WkdVb05UVXlPVFlnZkNCdWNpQStQaUF4TUN3Z05UWXpNakFnZkNCdWNpQW1JREV3TWpNcE93b2dJQ0FnSUNBZ0lIMEtJQ0FnSUNBZ2ZRb2dJQ0FnSUNCeVpYUjFjbTRnZHpzS0lDQWdJSDBzSUhweUlEMGdLR0VzSUc4cElEMCtJR0VnUHlCTmNpaHpaU3dnWVN3Z2J5a2dPaUFpSWpzS0lDQWdJR1oxYm1OMGFXOXVJRzF5S0dFc0lHOHNJRjhwSUhzS0lDQWdJQ0FnY21WMGRYSnVJREE3Q2lBZ0lDQjlDaUFnSUNCbWRXNWpkR2x2YmlCUWRDaGhMQ0J2TENCZktTQjdDaUFnSUNBZ0lISmxkSFZ5YmlBd093b2dJQ0FnZlFvZ0lDQWdkbUZ5SUVWMElEMGdLR0VzSUc4c0lGOHBJRDArSUhzS0lDQWdJSDA3Q2lBZ0lDQm1kVzVqZEdsdmJpQlVkQ2hoTENCdkxDQmZMQ0J0S1NCN0NpQWdJQ0I5Q2lBZ0lDQjJZWElnVjJVZ1BTQW9ZU3dnYnlrZ1BUNGdld29nSUNBZ2ZTd2dlWElnUFNBb0tTQTlQaUI3Q2lBZ0lDQWdJRjl5S0NJaUtUc0tJQ0FnSUgwc0lIQmxJRDBnTVN3Z2FtVWdQU0FvS1NBOVBpQndaU3dnUXlBOUlDZ3BJRDArSUhzS0lDQWdJQ0FnVm5JZ1BTQWhNU3dnZDNJZ1BTQXdPd29nSUNBZ2ZTd2dKSFFnUFNBb0tTQTlQaUI3Q2lBZ0lDQWdJSFJvY205M0lERWdMeUF3T3dvZ0lDQWdmU3dnU0dVZ1BTQjdmU3dnVXlBOUlDaGhLU0E5UGlCN0NpQWdJQ0FnSUdsbUlDaGhJR2x1YzNSaGJtTmxiMllnUW5JZ2ZId2dZU0E5UFNBaWRXNTNhVzVrSWlrS0lDQWdJQ0FnSUNCeVpYUjFjbTRnZVdVN0NpQWdJQ0FnSUZvb01Td2dZU2s3Q2lBZ0lDQjlMQ0IzY2lBOUlEQXNJR0p5SUQwZ0tDa2dQVDRnVm5JZ2ZId2dkM0lnUGlBd0xDQkhjaUE5SUNoaEtTQTlQaUI3Q2lBZ0lDQWdJSFpoY2lCdk93b2dJQ0FnSUNCNVpTQTlJR0VzSUdKeUtDa2dmSHdnS0NodklEMGdhUzV2YmtWNGFYUXBJRDA5SUc1MWJHd2dmSHdnYnk1allXeHNLR2tzSUdFcExDQk5JRDBnSVRBcExDQmFLR0VzSUc1bGR5QkNjaWhoS1NrN0NpQWdJQ0I5TENCUWNpQTlJQ2hoTENCdktTQTlQaUI3Q2lBZ0lDQWdJSGxsSUQwZ1lTd2dSM0lvWVNrN0NpQWdJQ0I5TENCTUlEMGdVSElzSUVOMElEMGdLQ2tnUFQ0Z2V3b2dJQ0FnSUNCcFppQW9JV0p5S0NrcENpQWdJQ0FnSUNBZ2RISjVJSHNLSUNBZ0lDQWdJQ0FnSUV3b2VXVXBPd29nSUNBZ0lDQWdJSDBnWTJGMFkyZ2dLR0VwSUhzS0lDQWdJQ0FnSUNBZ0lGTW9ZU2s3Q2lBZ0lDQWdJQ0FnZlFvZ0lDQWdmU3dnUVhRZ1BTQW9ZU2tnUFQ0Z2V3b2dJQ0FnSUNCcFppQW9JVTBwQ2lBZ0lDQWdJQ0FnZEhKNUlIc0tJQ0FnSUNBZ0lDQWdJR0VvS1N3Z1EzUW9LVHNLSUNBZ0lDQWdJQ0I5SUdOaGRHTm9JQ2h2S1NCN0NpQWdJQ0FnSUNBZ0lDQlRLRzhwT3dvZ0lDQWdJQ0FnSUgwS0lDQWdJSDBzSUVSbElEMGdLQ2tnUFQ0Z2NHVnlabTl5YldGdVkyVXVibTkzS0Nrc0lFVnlJRDBnS0dFc0lHOHBJRDArSUhzS0lDQWdJQ0FnYVdZZ0tFaGxXMkZkSUNZbUlDaGpiR1ZoY2xScGJXVnZkWFFvU0dWYllWMHVhV1FwTENCa1pXeGxkR1VnU0dWYllWMHBMQ0FoYnlrZ2NtVjBkWEp1SURBN0NpQWdJQ0FnSUhaaGNpQmZJRDBnYzJWMFZHbHRaVzkxZENnb0tTQTlQaUI3Q2lBZ0lDQWdJQ0FnWkdWc1pYUmxJRWhsVzJGZExDQkJkQ2dvS1NBOVBpQlRaU2hoTENCRVpTZ3BLU2s3Q2lBZ0lDQWdJSDBzSUc4cE93b2dJQ0FnSUNCeVpYUjFjbTRnU0dWYllWMGdQU0I3Q2lBZ0lDQWdJQ0FnYVdRNklGOHNDaUFnSUNBZ0lDQWdkR2x0Wlc5MWRGOXRjem9nYndvZ0lDQWdJQ0I5TENBd093b2dJQ0FnZlN3Z1FtVWdQU0FvWVN3Z2J5d2dYeXdnYlNrZ1BUNGdld29nSUNBZ0lDQm1iM0lnS0haaGNpQlFJRDBnWHl3Z2R5QTlJRjhnS3lCdElDMGdNU3dnUlNBOUlEQTdJRVVnUENCaExteGxibWQwYURzZ0t5dEZLU0I3Q2lBZ0lDQWdJQ0FnZG1GeUlGUWdQU0JoTG1Ob1lYSkRiMlJsUVhRb1JTazdDaUFnSUNBZ0lDQWdhV1lnS0ZRZ1BqMGdOVFV5T1RZZ0ppWWdWQ0E4UFNBMU56TTBNeWtnZXdvZ0lDQWdJQ0FnSUNBZ2RtRnlJRWNnUFNCaExtTm9ZWEpEYjJSbFFYUW9LeXRGS1RzS0lDQWdJQ0FnSUNBZ0lGUWdQU0EyTlRVek5pQXJJQ2dvVkNBbUlERXdNak1wSUR3OElERXdLU0I4SUVjZ0ppQXhNREl6T3dvZ0lDQWdJQ0FnSUgwS0lDQWdJQ0FnSUNCcFppQW9WQ0E4UFNBeE1qY3BJSHNLSUNBZ0lDQWdJQ0FnSUdsbUlDaGZJRDQ5SUhjcElHSnlaV0ZyT3dvZ0lDQWdJQ0FnSUNBZ2IxdGZLeXRkSUQwZ1ZEc0tJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLRlFnUEQwZ01qQTBOeWtnZXdvZ0lDQWdJQ0FnSUNBZ2FXWWdLRjhnS3lBeElENDlJSGNwSUdKeVpXRnJPd29nSUNBZ0lDQWdJQ0FnYjF0Zkt5dGRJRDBnTVRreUlId2dWQ0ErUGlBMkxDQnZXMThySzEwZ1BTQXhNamdnZkNCVUlDWWdOak03Q2lBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNoVUlEdzlJRFkxTlRNMUtTQjdDaUFnSUNBZ0lDQWdJQ0JwWmlBb1h5QXJJRElnUGowZ2R5a2dZbkpsWVdzN0NpQWdJQ0FnSUNBZ0lDQnZXMThySzEwZ1BTQXlNalFnZkNCVUlENCtJREV5TENCdlcxOHJLMTBnUFNBeE1qZ2dmQ0JVSUQ0K0lEWWdKaUEyTXl3Z2IxdGZLeXRkSUQwZ01USTRJSHdnVkNBbUlEWXpPd29nSUNBZ0lDQWdJSDBnWld4elpTQjdDaUFnSUNBZ0lDQWdJQ0JwWmlBb1h5QXJJRE1nUGowZ2R5a2dZbkpsWVdzN0NpQWdJQ0FnSUNBZ0lDQnZXMThySzEwZ1BTQXlOREFnZkNCVUlENCtJREU0TENCdlcxOHJLMTBnUFNBeE1qZ2dmQ0JVSUQ0K0lERXlJQ1lnTmpNc0lHOWJYeXNyWFNBOUlERXlPQ0I4SUZRZ1BqNGdOaUFtSURZekxDQnZXMThySzEwZ1BTQXhNamdnZkNCVUlDWWdOak03Q2lBZ0lDQWdJQ0FnZlFvZ0lDQWdJQ0I5Q2lBZ0lDQWdJSEpsZEhWeWJpQnZXMTlkSUQwZ01Dd2dYeUF0SUZBN0NpQWdJQ0I5TENCTFpTQTlJQ2hoTENCdkxDQmZLU0E5UGlCQ1pTaGhMQ0J6WlN3Z2J5d2dYeWtzSUZKMElEMGdLR0VzSUc4c0lGOHNJRzBwSUQwK0lIc0tJQ0FnSUNBZ2RtRnlJRkFnUFNBb0x5b2dRRjlmVUZWU1JWOWZJQ292SUc1bGR5QkVZWFJsS0NrcExtZGxkRVoxYkd4WlpXRnlLQ2tzSUhjZ1BTQnVaWGNnUkdGMFpTaFFMQ0F3TENBeEtTd2dSU0E5SUc1bGR5QkVZWFJsS0ZBc0lEWXNJREVwTENCVUlEMGdkeTVuWlhSVWFXMWxlbTl1WlU5bVpuTmxkQ2dwTENCSElEMGdSUzVuWlhSVWFXMWxlbTl1WlU5bVpuTmxkQ2dwTENCdWNpQTlJRTFoZEdndWJXRjRLRlFzSUVjcE93b2dJQ0FnSUNCeFcyRWdQajRnTWwwZ1BTQnVjaUFxSURZd0xDQkdXMjhnUGo0Z01sMGdQU0FyS0ZRZ0lUMGdSeWs3Q2lBZ0lDQWdJSFpoY2lCcmNpQTlJQ2hoY2lrZ1BUNGdld29nSUNBZ0lDQWdJSFpoY2lCWGNpQTlJR0Z5SUQ0OUlEQWdQeUFpTFNJZ09pQWlLeUlzSUdseUlEMGdUV0YwYUM1aFluTW9ZWElwTENCQ2RDQTlJRk4wY21sdVp5aE5ZWFJvTG1ac2IyOXlLR2x5SUM4Z05qQXBLUzV3WVdSVGRHRnlkQ2d5TENBaU1DSXBMQ0JXZENBOUlGTjBjbWx1WnlocGNpQWxJRFl3S1M1d1lXUlRkR0Z5ZENneUxDQWlNQ0lwT3dvZ0lDQWdJQ0FnSUhKbGRIVnliaUJnVlZSREpIdFhjbjBrZTBKMGZTUjdWblI5WURzS0lDQWdJQ0FnZlN3Z1NYSWdQU0JyY2loVUtTd2dkSFFnUFNCcmNpaEhLVHNLSUNBZ0lDQWdSeUE4SUZRZ1B5QW9TMlVvU1hJc0lGOHNJREUzS1N3Z1MyVW9kSFFzSUcwc0lERTNLU2tnT2lBb1MyVW9TWElzSUcwc0lERTNLU3dnUzJVb2RIUXNJRjhzSURFM0tTazdDaUFnSUNCOUxDQmtaU0E5SUNncElEMCtJRVJoZEdVdWJtOTNLQ2tzSUZsbElEMGdLQ2tnUFQ0Z0tBb2dJQ0FnSUNBdkx5QlRkR0Y1SUc5dVpTQlhZWE50SUhCaFoyVWdjMmh2Y25RZ2IyWWdORWRDT2lCM2FHbHNaU0JsTG1jdUlFTm9jbTl0WlNCcGN5QmhZbXhsSUhSdklHRnNiRzlqWVhSbENpQWdJQ0FnSUM4dklHWjFiR3dnTkVkQ0lGZGhjMjBnYldWdGIzSnBaWE1zSUhSb1pTQnphWHBsSUhkcGJHd2dkM0poY0NCaVlXTnJJSFJ2SURBZ1lubDBaWE1nYVc0Z1YyRnpiU0J6YVdSbENpQWdJQ0FnSUM4dklHWnZjaUJoYm5rZ1kyOWtaU0IwYUdGMElHUmxZV3h6SUhkcGRHZ2dhR1ZoY0NCemFYcGxjeXdnZDJocFkyZ2dkMjkxYkdRZ2NtVnhkV2x5WlNCemNHVmphV0ZzQ2lBZ0lDQWdJQzh2SUdOaGMybHVaeUJoYkd3Z2FHVmhjQ0J6YVhwbElISmxiR0YwWldRZ1kyOWtaU0IwYnlCMGNtVmhkQ0F3SUhOd1pXTnBZV3hzZVM0S0lDQWdJQ0FnTWpFME56UTRNelkwT0FvZ0lDQWdLU3dnVTNRZ1BTQW9LU0E5UGlCWlpTZ3BMQ0JCWlNBOUlDaGhMQ0J2S1NBOVBpQk5ZWFJvTG1ObGFXd29ZU0F2SUc4cElDb2dieXdnVG5JZ1BTQW9ZU2tnUFQ0Z2V3b2dJQ0FnSUNCMllYSWdieUE5SUdsbExtSjFabVpsY2l3Z1h5QTlJQ2hoSUMwZ2J5NWllWFJsVEdWdVozUm9JQ3NnTmpVMU16VXBJQzhnTmpVMU16WTdDaUFnSUNBZ0lIUnllU0I3Q2lBZ0lDQWdJQ0FnY21WMGRYSnVJR2xsTG1keWIzY29YeWtzSUUxbEtDa3NJREU3Q2lBZ0lDQWdJSDBnWTJGMFkyZ2dld29nSUNBZ0lDQjlDaUFnSUNCOUxDQllaU0E5SUNoaEtTQTlQaUI3Q2lBZ0lDQWdJSFpoY2lCdklEMGdjMlV1YkdWdVozUm9Pd29nSUNBZ0lDQmhJRDQrUGowZ01Ec0tJQ0FnSUNBZ2RtRnlJRjhnUFNCWlpTZ3BPd29nSUNBZ0lDQnBaaUFvWVNBK0lGOHBDaUFnSUNBZ0lDQWdjbVYwZFhKdUlDRXhPd29nSUNBZ0lDQm1iM0lnS0haaGNpQnRJRDBnTVRzZ2JTQThQU0EwT3lCdElDbzlJRElwSUhzS0lDQWdJQ0FnSUNCMllYSWdVQ0E5SUc4Z0t5QTBNVGswTXpBMElDOGdiU3dnZHlBOUlFMWhkR2d1YldsdUtGOHNJRUZsS0UxaGRHZ3ViV0Y0S0dFc0lGQXBMQ0EyTlRVek5pa3BMQ0JGSUQwZ1RuSW9keWs3Q2lBZ0lDQWdJQ0FnYVdZZ0tFVXBDaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdJVEE3Q2lBZ0lDQWdJSDBLSUNBZ0lDQWdjbVYwZFhKdUlDRXhPd29nSUNBZ2ZTd2dhM1FnUFNBb1lTa2dQVDRnTlRJc0lGcGxJRDBnS0dFc0lHOHNJRjhzSUcwcElEMCtJRFV5T3dvZ0lDQWdablZ1WTNScGIyNGdWSElvWVN3Z2J5d2dYeXdnYlNrZ2V3b2dJQ0FnSUNCeVpYUjFjbTRnTnpBN0NpQWdJQ0I5Q2lBZ0lDQjJZWElnU1hRZ1BTQmJiblZzYkN3Z1cxMHNJRnRkWFN3Z2NYSWdQU0FvWVN3Z2J5a2dQVDRnZXdvZ0lDQWdJQ0IyWVhJZ1h5QTlJRWwwVzJGZE93b2dJQ0FnSUNCdklEMDlQU0F3SUh4OElHOGdQVDA5SURFd0lEOGdLQ2hoSUQwOVBTQXhJRDhnYldVZ09pQnNaU2tvVFhJb1h5d2dNQ2twTENCZkxteGxibWQwYUNBOUlEQXBJRG9nWHk1d2RYTm9LRzhwT3dvZ0lDQWdmU3dnU25JZ1BTQW9ZU3dnYnl3Z1h5d2diU2tnUFQ0Z2V3b2dJQ0FnSUNCbWIzSWdLSFpoY2lCUUlEMGdNQ3dnZHlBOUlEQTdJSGNnUENCZk95QjNLeXNwSUhzS0lDQWdJQ0FnSUNCMllYSWdSU0E5SUhGYmJ5QStQaUF5WFN3Z1ZDQTlJSEZiYnlBcklEUWdQajRnTWwwN0NpQWdJQ0FnSUNBZ2J5QXJQU0E0T3dvZ0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUVjZ1BTQXdPeUJISUR3Z1ZEc2dSeXNyS1FvZ0lDQWdJQ0FnSUNBZ2NYSW9ZU3dnYzJWYlJTQXJJRWRkS1RzS0lDQWdJQ0FnSUNCUUlDczlJRlE3Q2lBZ0lDQWdJSDBLSUNBZ0lDQWdjbVYwZFhKdUlIRmJiU0ErUGlBeVhTQTlJRkFzSURBN0NpQWdJQ0I5TENBa2Npd2diMlVnUFNBb1lTa2dQVDRnSkhJdVoyVjBLR0VwTENCTGNpQTlJQ2hoS1NBOVBpQkRjaWhoS1RzS0lDQWdJR2t1YVc1amNtVnRaVzUwUlhoalpYQjBhVzl1VW1WbVkyOTFiblFnUFNCTGNqc0tJQ0FnSUhaaGNpQlJaU0E5SUNoaEtTQTlQaUJ5WlNoaEtUc0tJQ0FnSUdrdVpHVmpjbVZ0Wlc1MFJYaGpaWEIwYVc5dVVtVm1ZMjkxYm5RZ1BTQlJaVHNLSUNBZ0lIWmhjaUJXWlNBOUlDaGhLU0E5UGlCTVpTaGhLU3dnVjNRZ1BTQW9ZU2tnUFQ0Z2V3b2dJQ0FnSUNCMllYSWdieUE5SUVvb0tTd2dYeUE5SUZabEtEUXBMQ0J0SUQwZ1ZtVW9OQ2s3Q2lBZ0lDQWdJRnB5S0dFc0lGOHNJRzBwT3dvZ0lDQWdJQ0IyWVhJZ1VDQTlJSEZiWHlBK1BpQXlYU3dnZHlBOUlIRmJiU0ErUGlBeVhTd2dSU0E5SUhweUtGQXBPd29nSUNBZ0lDQlNaU2hRS1RzS0lDQWdJQ0FnZG1GeUlGUTdDaUFnSUNBZ0lISmxkSFZ5YmlCM0lDWW1JQ2hVSUQwZ2VuSW9keWtzSUZKbEtIY3BLU3dnV1NodktTd2dXMFVzSUZSZE93b2dJQ0FnZlN3Z1JtVWdQU0FvWVNrZ1BUNGdWM1FvWVNrN0NpQWdJQ0JwTG1kbGRFVjRZMlZ3ZEdsdmJrMWxjM05oWjJVZ1BTQkdaVHNLSUNBZ0lIWmhjaUJFZENBOUlIc0tJQ0FnSUNBZ0x5b3FJRUJsZUhCdmNuUWdLaThLSUNBZ0lDQWdZam9nZDNRc0NpQWdJQ0FnSUM4cUtpQkFaWGh3YjNKMElDb3ZDaUFnSUNBZ0lFRTZJR0owTEFvZ0lDQWdJQ0F2S2lvZ1FHVjRjRzl5ZENBcUx3b2dJQ0FnSUNCaE9pQktaU3dLSUNBZ0lDQWdMeW9xSUVCbGVIQnZjblFnS2k4S0lDQWdJQ0FnUWpvZ1ozSXNDaUFnSUNBZ0lDOHFLaUJBWlhod2IzSjBJQ292Q2lBZ0lDQWdJSEU2SUdvc0NpQWdJQ0FnSUM4cUtpQkFaWGh3YjNKMElDb3ZDaUFnSUNBZ0lHVTZJRzF5TEFvZ0lDQWdJQ0F2S2lvZ1FHVjRjRzl5ZENBcUx3b2dJQ0FnSUNCck9pQlFkQ3dLSUNBZ0lDQWdMeW9xSUVCbGVIQnZjblFnS2k4S0lDQWdJQ0FnUmpvZ1JYUXNDaUFnSUNBZ0lDOHFLaUJBWlhod2IzSjBJQ292Q2lBZ0lDQWdJR3c2SUZSMExBb2dJQ0FnSUNBdktpb2dRR1Y0Y0c5eWRDQXFMd29nSUNBZ0lDQklPaUJYWlN3S0lDQWdJQ0FnTHlvcUlFQmxlSEJ2Y25RZ0tpOEtJQ0FnSUNBZ2Vqb2dlWElzQ2lBZ0lDQWdJQzhxS2lCQVpYaHdiM0owSUNvdkNpQWdJQ0FnSUcwNklHcGxMQW9nSUNBZ0lDQXZLaW9nUUdWNGNHOXlkQ0FxTHdvZ0lDQWdJQ0I0T2lCRExBb2dJQ0FnSUNBdktpb2dRR1Y0Y0c5eWRDQXFMd29nSUNBZ0lDQndPaUFrZEN3S0lDQWdJQ0FnTHlvcUlFQmxlSEJ2Y25RZ0tpOEtJQ0FnSUNBZ2VUb2dSWElzQ2lBZ0lDQWdJQzhxS2lCQVpYaHdiM0owSUNvdkNpQWdJQ0FnSUVVNklGSjBMQW9nSUNBZ0lDQXZLaW9nUUdWNGNHOXlkQ0FxTHdvZ0lDQWdJQ0J1T2lCa1pTd0tJQ0FnSUNBZ0x5b3FJRUJsZUhCdmNuUWdLaThLSUNBZ0lDQWdSRG9nVTNRc0NpQWdJQ0FnSUM4cUtpQkFaWGh3YjNKMElDb3ZDaUFnSUNBZ0lHTTZJRVJsTEFvZ0lDQWdJQ0F2S2lvZ1FHVjRjRzl5ZENBcUx3b2dJQ0FnSUNCRE9pQllaU3dLSUNBZ0lDQWdMeW9xSUVCbGVIQnZjblFnS2k4S0lDQWdJQ0FnU2pvZ1RDd0tJQ0FnSUNBZ0x5b3FJRUJsZUhCdmNuUWdLaThLSUNBZ0lDQWdaem9nYTNRc0NpQWdJQ0FnSUM4cUtpQkFaWGh3YjNKMElDb3ZDaUFnSUNBZ0lFazZJRnBsTEFvZ0lDQWdJQ0F2S2lvZ1FHVjRjRzl5ZENBcUx3b2dJQ0FnSUNCSE9pQlVjaXdLSUNBZ0lDQWdMeW9xSUVCbGVIQnZjblFnS2k4S0lDQWdJQ0FnYWpvZ1NuSXNDaUFnSUNBZ0lDOHFLaUJBWlhod2IzSjBJQ292Q2lBZ0lDQWdJSFU2SUVGeUxBb2dJQ0FnSUNBdktpb2dRR1Y0Y0c5eWRDQXFMd29nSUNBZ0lDQnBPaUJWZEN3S0lDQWdJQ0FnTHlvcUlFQmxlSEJ2Y25RZ0tpOEtJQ0FnSUNBZ1pEb2dSblFzQ2lBZ0lDQWdJQzhxS2lCQVpYaHdiM0owSUNvdkNpQWdJQ0FnSUhRNklISnlMQW9nSUNBZ0lDQXZLaW9nUUdWNGNHOXlkQ0FxTHdvZ0lDQWdJQ0JvT2lCU2Npd0tJQ0FnSUNBZ0x5b3FJRUJsZUhCdmNuUWdLaThLSUNBZ0lDQWdjam9nYW5Rc0NpQWdJQ0FnSUM4cUtpQkFaWGh3YjNKMElDb3ZDaUFnSUNBZ0lIWTZJRTkwTEFvZ0lDQWdJQ0F2S2lvZ1FHVjRjRzl5ZENBcUx3b2dJQ0FnSUNCbU9pQjRkQ3dLSUNBZ0lDQWdMeW9xSUVCbGVIQnZjblFnS2k4S0lDQWdJQ0FnYnpvZ1NIUXNDaUFnSUNBZ0lDOHFLaUJBWlhod2IzSjBJQ292Q2lBZ0lDQWdJSE02SUZGeUxBb2dJQ0FnSUNBdktpb2dRR1Y0Y0c5eWRDQXFMd29nSUNBZ0lDQjNPaUJIY2dvZ0lDQWdmU3dnVnlBOUlHMTBLQ2s3Q2lBZ0lDQnBMbDl1WlhkZmJXVnRiM0o1SUQwZ0tHRXBJRDArSUNocExsOXVaWGRmYldWdGIzSjVJRDBnVnk1TUtTaGhLU3dnYVM1ZlpuSmxaVjl0WlcxdmNua2dQU0FvWVNrZ1BUNGdLR2t1WDJaeVpXVmZiV1Z0YjNKNUlEMGdWeTVOS1NoaEtTd2dhUzVmWjJWMFgzSmxkSFZ5Ymw5dVgzQmhZMnRsZEhNZ1BTQW9ZU2tnUFQ0Z0tHa3VYMmRsZEY5eVpYUjFjbTVmYmw5d1lXTnJaWFJ6SUQwZ1Z5NU9LU2hoS1N3Z2FTNWZaMlYwWDNKbGRIVnlibDl3WVdOclpYUmZiR1Z1SUQwZ0tHRXNJRzhwSUQwK0lDaHBMbDluWlhSZmNtVjBkWEp1WDNCaFkydGxkRjlzWlc0Z1BTQlhMazhwS0dFc0lHOHBMQ0JwTGw5blpYUmZjbVYwZFhKdVgzQmhZMnRsZENBOUlDaGhMQ0J2S1NBOVBpQW9hUzVmWjJWMFgzSmxkSFZ5Ymw5d1lXTnJaWFFnUFNCWExsQXBLR0VzSUc4cExDQnBMbDlqYkdWaGNsOXlaWFIxY201ZmNHRmphMlYwY3lBOUlDZ3BJRDArSUNocExsOWpiR1ZoY2w5eVpYUjFjbTVmY0dGamEyVjBjeUE5SUZjdVVTa29LU3dnYVM1ZmNISnZZMlZ6YzE5bGRtVnVkRjlrWVhSaElEMGdLR0VzSUc4c0lGOHNJRzBwSUQwK0lDaHBMbDl3Y205alpYTnpYMlYyWlc1MFgyUmhkR0VnUFNCWExsSXBLR0VzSUc4c0lGOHNJRzBwTENCcExsOXdjbTlqWlhOelgyVjJaVzUwWDJSaGRHRmZaWGdnUFNBb1lTd2dieXdnWHlrZ1BUNGdLR2t1WDNCeWIyTmxjM05mWlhabGJuUmZaR0YwWVY5bGVDQTlJRmN1VXlrb1lTd2dieXdnWHlrN0NpQWdJQ0IyWVhJZ1pYSWdQU0JwTGw5dFlXbHVJRDBnS0dFc0lHOHBJRDArSUNobGNpQTlJR2t1WDIxaGFXNGdQU0JYTGxRcEtHRXNJRzhwTENCU1pTQTlJQ2hoS1NBOVBpQW9VbVVnUFNCWExsVXBLR0VwTENCVFpTQTlJQ2hoTENCdktTQTlQaUFvVTJVZ1BTQlhMbGNwS0dFc0lHOHBMQ0JMSUQwZ0tHRXNJRzhwSUQwK0lDaExJRDBnVnk1WUtTaGhMQ0J2S1N3Z1ltVWdQU0FvWVNrZ1BUNGdLR0psSUQwZ1Z5NVpLU2hoS1N3Z1dYSWdQU0FvWVNrZ1BUNGdLRmx5SUQwZ1Z5NWFLU2hoS1N3Z1RHVWdQU0FvWVNrZ1BUNGdLRXhsSUQwZ1Z5NWZLU2hoS1N3Z1dISWdQU0FvS1NBOVBpQW9XSElnUFNCWExpUXBLQ2tzSUhKbElEMGdLR0VwSUQwK0lDaHlaU0E5SUZjdVlXRXBLR0VwTENCRGNpQTlJQ2hoS1NBOVBpQW9RM0lnUFNCWExtSmhLU2hoS1N3Z1duSWdQU0FvWVN3Z2J5d2dYeWtnUFQ0Z0tGcHlJRDBnVnk1allTa29ZU3dnYnl3Z1h5a3NJSFJsSUQwZ0tHRXNJRzhzSUY4cElEMCtJQ2gwWlNBOUlGY3VaR0VwS0dFc0lHOHNJRjhwT3dvZ0lDQWdablZ1WTNScGIyNGdSblFvWVN3Z2J5d2dYeXdnYlNrZ2V3b2dJQ0FnSUNCMllYSWdVQ0E5SUVvb0tUc0tJQ0FnSUNBZ2RISjVJSHNLSUNBZ0lDQWdJQ0J5WlhSMWNtNGdiMlVvWVNrb2J5d2dYeXdnYlNrN0NpQWdJQ0FnSUgwZ1kyRjBZMmdnS0hjcElIc0tJQ0FnSUNBZ0lDQnBaaUFvV1NoUUtTd2dkeUFoUFQwZ2R5QXJJREFwSUhSb2NtOTNJSGM3Q2lBZ0lDQWdJQ0FnU3lneExDQXdLVHNLSUNBZ0lDQWdmUW9nSUNBZ2ZRb2dJQ0FnWm5WdVkzUnBiMjRnVDNRb1lTa2dld29nSUNBZ0lDQjJZWElnYnlBOUlFb29LVHNLSUNBZ0lDQWdkSEo1SUhzS0lDQWdJQ0FnSUNCdlpTaGhLU2dwT3dvZ0lDQWdJQ0I5SUdOaGRHTm9JQ2hmS1NCN0NpQWdJQ0FnSUNBZ2FXWWdLRmtvYnlrc0lGOGdJVDA5SUY4Z0t5QXdLU0IwYUhKdmR5QmZPd29nSUNBZ0lDQWdJRXNvTVN3Z01DazdDaUFnSUNBZ0lIMEtJQ0FnSUgwS0lDQWdJR1oxYm1OMGFXOXVJRUZ5S0dFc0lHOHBJSHNLSUNBZ0lDQWdkbUZ5SUY4Z1BTQktLQ2s3Q2lBZ0lDQWdJSFJ5ZVNCN0NpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc5bEtHRXBLRzhwT3dvZ0lDQWdJQ0I5SUdOaGRHTm9JQ2h0S1NCN0NpQWdJQ0FnSUNBZ2FXWWdLRmtvWHlrc0lHMGdJVDA5SUcwZ0t5QXdLU0IwYUhKdmR5QnRPd29nSUNBZ0lDQWdJRXNvTVN3Z01DazdDaUFnSUNBZ0lIMEtJQ0FnSUgwS0lDQWdJR1oxYm1OMGFXOXVJRlYwS0dFc0lHOHNJRjhwSUhzS0lDQWdJQ0FnZG1GeUlHMGdQU0JLS0NrN0NpQWdJQ0FnSUhSeWVTQjdDaUFnSUNBZ0lDQWdjbVYwZFhKdUlHOWxLR0VwS0c4c0lGOHBPd29nSUNBZ0lDQjlJR05oZEdOb0lDaFFLU0I3Q2lBZ0lDQWdJQ0FnYVdZZ0tGa29iU2tzSUZBZ0lUMDlJRkFnS3lBd0tTQjBhSEp2ZHlCUU93b2dJQ0FnSUNBZ0lFc29NU3dnTUNrN0NpQWdJQ0FnSUgwS0lDQWdJSDBLSUNBZ0lHWjFibU4wYVc5dUlISnlLR0VzSUc4c0lGOHNJRzBzSUZBc0lIY3BJSHNLSUNBZ0lDQWdkbUZ5SUVVZ1BTQktLQ2s3Q2lBZ0lDQWdJSFJ5ZVNCN0NpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc5bEtHRXBLRzhzSUY4c0lHMHNJRkFzSUhjcE93b2dJQ0FnSUNCOUlHTmhkR05vSUNoVUtTQjdDaUFnSUNBZ0lDQWdhV1lnS0Zrb1JTa3NJRlFnSVQwOUlGUWdLeUF3S1NCMGFISnZkeUJVT3dvZ0lDQWdJQ0FnSUVzb01Td2dNQ2s3Q2lBZ0lDQWdJSDBLSUNBZ0lIMEtJQ0FnSUdaMWJtTjBhVzl1SUZKeUtHRXNJRzhzSUY4cElIc0tJQ0FnSUNBZ2RtRnlJRzBnUFNCS0tDazdDaUFnSUNBZ0lIUnllU0I3Q2lBZ0lDQWdJQ0FnY21WMGRYSnVJRzlsS0dFcEtHOHNJRjhwT3dvZ0lDQWdJQ0I5SUdOaGRHTm9JQ2hRS1NCN0NpQWdJQ0FnSUNBZ2FXWWdLRmtvYlNrc0lGQWdJVDA5SUZBZ0t5QXdLU0IwYUhKdmR5QlFPd29nSUNBZ0lDQWdJRXNvTVN3Z01DazdDaUFnSUNBZ0lIMEtJQ0FnSUgwS0lDQWdJR1oxYm1OMGFXOXVJRkZ5S0dFc0lHOHBJSHNLSUNBZ0lDQWdkbUZ5SUY4Z1BTQktLQ2s3Q2lBZ0lDQWdJSFJ5ZVNCN0NpQWdJQ0FnSUNBZ2IyVW9ZU2tvYnlrN0NpQWdJQ0FnSUgwZ1kyRjBZMmdnS0cwcElIc0tJQ0FnSUNBZ0lDQnBaaUFvV1NoZktTd2diU0FoUFQwZ2JTQXJJREFwSUhSb2NtOTNJRzA3Q2lBZ0lDQWdJQ0FnU3lneExDQXdLVHNLSUNBZ0lDQWdmUW9nSUNBZ2ZRb2dJQ0FnWm5WdVkzUnBiMjRnZUhRb1lTd2dieWtnZXdvZ0lDQWdJQ0IyWVhJZ1h5QTlJRW9vS1RzS0lDQWdJQ0FnZEhKNUlIc0tJQ0FnSUNBZ0lDQnZaU2hoS1NodktUc0tJQ0FnSUNBZ2ZTQmpZWFJqYUNBb2JTa2dld29nSUNBZ0lDQWdJR2xtSUNoWktGOHBMQ0J0SUNFOVBTQnRJQ3NnTUNrZ2RHaHliM2NnYlRzS0lDQWdJQ0FnSUNCTEtERXNJREFwT3dvZ0lDQWdJQ0I5Q2lBZ0lDQjlDaUFnSUNCbWRXNWpkR2x2YmlCcWRDaGhMQ0J2TENCZkxDQnRLU0I3Q2lBZ0lDQWdJSFpoY2lCUUlEMGdTaWdwT3dvZ0lDQWdJQ0IwY25rZ2V3b2dJQ0FnSUNBZ0lISmxkSFZ5YmlCdlpTaGhLU2h2TENCZkxDQnRLVHNLSUNBZ0lDQWdmU0JqWVhSamFDQW9keWtnZXdvZ0lDQWdJQ0FnSUdsbUlDaFpLRkFwTENCM0lDRTlQU0IzSUNzZ01Da2dkR2h5YjNjZ2R6c0tJQ0FnSUNBZ0lDQkxLREVzSURBcE93b2dJQ0FnSUNCOUNpQWdJQ0I5Q2lBZ0lDQm1kVzVqZEdsdmJpQklkQ2hoTENCdkxDQmZLU0I3Q2lBZ0lDQWdJSFpoY2lCdElEMGdTaWdwT3dvZ0lDQWdJQ0IwY25rZ2V3b2dJQ0FnSUNBZ0lHOWxLR0VwS0c4c0lGOHBPd29nSUNBZ0lDQjlJR05oZEdOb0lDaFFLU0I3Q2lBZ0lDQWdJQ0FnYVdZZ0tGa29iU2tzSUZBZ0lUMDlJRkFnS3lBd0tTQjBhSEp2ZHlCUU93b2dJQ0FnSUNBZ0lFc29NU3dnTUNrN0NpQWdJQ0FnSUgwS0lDQWdJSDBLSUNBZ0lHa3VjM1JoWTJ0VFlYWmxJRDBnU2l3Z2FTNXpkR0ZqYTFKbGMzUnZjbVVnUFNCWk93b2dJQ0FnZG1GeUlIUnlPd29nSUNBZ1ZXVWdQU0JtZFc1amRHbHZiaUJoS0NrZ2V3b2dJQ0FnSUNCMGNpQjhmQ0JsZENncExDQjBjaUI4ZkNBb1ZXVWdQU0JoS1RzS0lDQWdJSDA3Q2lBZ0lDQm1kVzVqZEdsdmJpQlRjaWdwSUhzS0lDQWdJQ0FnZG1GeUlHRWdQU0JsY2l3Z2J5QTlJREFzSUY4Z1BTQXdPd29nSUNBZ0lDQjBjbmtnZXdvZ0lDQWdJQ0FnSUhaaGNpQnRJRDBnWVNodkxDQmZLVHNLSUNBZ0lDQWdJQ0J5WlhSMWNtNGdVSElvQ2lBZ0lDQWdJQ0FnSUNCdExBb2dJQ0FnSUNBZ0lDQWdMeW9nYVcxd2JHbGphWFFnUFNBcUx3b2dJQ0FnSUNBZ0lDQWdJVEFLSUNBZ0lDQWdJQ0FwTENCdE93b2dJQ0FnSUNCOUlHTmhkR05vSUNoUUtTQjdDaUFnSUNBZ0lDQWdjbVYwZFhKdUlGTW9VQ2s3Q2lBZ0lDQWdJSDBLSUNBZ0lIMEtJQ0FnSUdaMWJtTjBhVzl1SUdWMEtDa2dld29nSUNBZ0lDQnBaaUFvSkdVZ1BpQXdJSHg4SUNoVmNpZ3BMQ0FrWlNBK0lEQXBLUW9nSUNBZ0lDQWdJSEpsZEhWeWJqc0tJQ0FnSUNBZ1puVnVZM1JwYjI0Z1lTZ3BJSHNLSUNBZ0lDQWdJQ0IyWVhJZ2J6c0tJQ0FnSUNBZ0lDQjBjaUI4ZkNBb2RISWdQU0FoTUN3Z2FTNWpZV3hzWldSU2RXNGdQU0FoTUN3Z0lVMGdKaVlnS0hoeUtDa3NJSFowS0Nrc0lGSW9hU2tzSUNodklEMGdhUzV2YmxKMWJuUnBiV1ZKYm1sMGFXRnNhWHBsWkNrZ1BUMGdiblZzYkNCOGZDQnZMbU5oYkd3b2FTa3NJSEowSUNZbUlGTnlLQ2tzSUd4MEtDa3BLVHNLSUNBZ0lDQWdmUW9nSUNBZ0lDQnBMbk5sZEZOMFlYUjFjeUEvSUNocExuTmxkRk4wWVhSMWN5Z2lVblZ1Ym1sdVp5NHVMaUlwTENCelpYUlVhVzFsYjNWMEtDZ3BJRDArSUhzS0lDQWdJQ0FnSUNCelpYUlVhVzFsYjNWMEtDZ3BJRDArSUdrdWMyVjBVM1JoZEhWektDSWlLU3dnTVNrc0lHRW9LVHNLSUNBZ0lDQWdmU3dnTVNrcElEb2dZU2dwT3dvZ0lDQWdmUW9nSUNBZ2FXWWdLR2t1Y0hKbFNXNXBkQ2tLSUNBZ0lDQWdabTl5SUNoMGVYQmxiMllnYVM1d2NtVkpibWwwSUQwOUlDSm1kVzVqZEdsdmJpSWdKaVlnS0drdWNISmxTVzVwZENBOUlGdHBMbkJ5WlVsdWFYUmRLVHNnYVM1d2NtVkpibWwwTG14bGJtZDBhQ0ErSURBN0lDa0tJQ0FnSUNBZ0lDQnBMbkJ5WlVsdWFYUXVjRzl3S0Nrb0tUc0tJQ0FnSUhaaGNpQnlkQ0E5SUNFd093b2dJQ0FnY21WMGRYSnVJR2t1Ym05SmJtbDBhV0ZzVW5WdUlDWW1JQ2h5ZENBOUlDRXhLU3dnWlhRb0tTd2dlU0E5SUU4c0lIazdDaUFnZlRzS2ZTa29LVHNLS0NncElEMCtJSHNLSUNCMllYSWdiRHNLSUNCMllYSWdkU0E5SUhSNWNHVnZaaUJrYjJOMWJXVnVkQ0E4SUNKMUlpQS9JQ2hzSUQwZ1pHOWpkVzFsYm5RdVkzVnljbVZ1ZEZOamNtbHdkQ2tnUFQwZ2JuVnNiQ0EvSUhadmFXUWdNQ0E2SUd3dWMzSmpJRG9nZG05cFpDQXdPd29nSUhKbGRIVnliaUJtZFc1amRHbHZiaWhrSUQwZ2UzMHBJSHNLSUNBZ0lIWmhjaUI1TENCcElEMGdaQ3dnVWl3Z2F5d2dUeUE5SUc1bGR5QlFjbTl0YVhObEtDaGxMQ0J5S1NBOVBpQjdDaUFnSUNBZ0lGSWdQU0JsTENCcklEMGdjanNLSUNBZ0lIMHBMQ0JKSUQwZ1QySnFaV04wTG1GemMybG5iaWg3ZlN3Z2FTa3NJSG9nUFNBb1pTd2djaWtnUFQ0Z2V3b2dJQ0FnSUNCMGFISnZkeUJ5T3dvZ0lDQWdmU3dnUkNBOUlDSWlPd29nSUNBZ1puVnVZM1JwYjI0Z1dpaGxLU0I3Q2lBZ0lDQWdJSEpsZEhWeWJpQnBMbXh2WTJGMFpVWnBiR1VnUHlCcExteHZZMkYwWlVacGJHVW9aU3dnUkNrZ09pQkVJQ3NnWlRzS0lDQWdJSDBLSUNBZ0lIWmhjaUI0T3dvZ0lDQWdkSGx3Wlc5bUlHUnZZM1Z0Wlc1MElEd2dJblVpSUNZbUlHUnZZM1Z0Wlc1MExtTjFjbkpsYm5SVFkzSnBjSFFnSmlZZ0tFUWdQU0JrYjJOMWJXVnVkQzVqZFhKeVpXNTBVMk55YVhCMExuTnlZeWtzSUhVZ0ppWWdLRVFnUFNCMUtTd2dSQzV6ZEdGeWRITlhhWFJvS0NKaWJHOWlPaUlwSUQ4Z1JDQTlJQ0lpSURvZ1JDQTlJRVF1YzNWaWMzUnlLREFzSUVRdWNtVndiR0ZqWlNndld6OGpYUzRxTHl3Z0lpSXBMbXhoYzNSSmJtUmxlRTltS0NJdklpa2dLeUF4S1N3Z2VDQTlJQ2hsS1NBOVBpQm1aWFJqYUNobExDQjdDaUFnSUNBZ0lHTnlaV1JsYm5ScFlXeHpPaUFpYzJGdFpTMXZjbWxuYVc0aUNpQWdJQ0I5S1M1MGFHVnVLQ2h5S1NBOVBpQnlMbTlySUQ4Z2NpNWhjbkpoZVVKMVptWmxjaWdwSURvZ1VISnZiV2x6WlM1eVpXcGxZM1FvYm1WM0lFVnljbTl5S0hJdWMzUmhkSFZ6SUNzZ0lpQTZJQ0lnS3lCeUxuVnliQ2twS1RzS0lDQWdJSFpoY2lCaFpTQTlJR2t1Y0hKcGJuUWdmSHdnWTI5dWMyOXNaUzVzYjJjdVltbHVaQ2hqYjI1emIyeGxLU3dnWm1VZ1BTQnBMbkJ5YVc1MFJYSnlJSHg4SUdOdmJuTnZiR1V1WlhKeWIzSXVZbWx1WkNoamIyNXpiMnhsS1RzS0lDQWdJRTlpYW1WamRDNWhjM05wWjI0b2FTd2dTU2tzSUVrZ1BTQnVkV3hzTENCcExtRnlaM1Z0Wlc1MGN5QW1KaUJwTG1GeVozVnRaVzUwY3l3Z2FTNTBhR2x6VUhKdlozSmhiU0FtSmlCcExuUm9hWE5RY205bmNtRnRPd29nSUNBZ2RtRnlJSFpsSUQwZ2FTNTNZWE50UW1sdVlYSjVMQ0J0WlN3Z2JHVWdQU0FoTVN3Z1ZHVXNJR2xsTENCTkxDQjVaU3dnZDJVc0lITmxMQ0JHTENCeExDQk5aU3dnWm5Jc0lIWnlPd29nSUNBZ1puVnVZM1JwYjI0Z1QzSW9LU0I3Q2lBZ0lDQWdJSFpoY2lCbElEMGdiV1V1WW5WbVptVnlPd29nSUNBZ0lDQnBMa2hGUVZBNElEMGdhV1VnUFNCdVpYY2dTVzUwT0VGeWNtRjVLR1VwTENCcExraEZRVkF4TmlBOUlIbGxJRDBnYm1WM0lFbHVkREUyUVhKeVlYa29aU2tzSUdrdVNFVkJVRlU0SUQwZ1RTQTlJRzVsZHlCVmFXNTBPRUZ5Y21GNUtHVXBMQ0JwTGtoRlFWQlZNVFlnUFNCM1pTQTlJRzVsZHlCVmFXNTBNVFpCY25KaGVTaGxLU3dnYVM1SVJVRlFNeklnUFNCelpTQTlJRzVsZHlCSmJuUXpNa0Z5Y21GNUtHVXBMQ0JwTGtoRlFWQlZNeklnUFNCR0lEMGdibVYzSUZWcGJuUXpNa0Z5Y21GNUtHVXBMQ0JwTGtoRlFWQkdNeklnUFNCeElEMGdibVYzSUVac2IyRjBNekpCY25KaGVTaGxLU3dnYVM1SVJVRlFSalkwSUQwZ2RuSWdQU0J1WlhjZ1JteHZZWFEyTkVGeWNtRjVLR1VwTENCcExraEZRVkEyTkNBOUlFMWxJRDBnYm1WM0lFSnBaMGx1ZERZMFFYSnlZWGtvWlNrc0lHa3VTRVZCVUZVMk5DQTlJR1p5SUQwZ2JtVjNJRUpwWjFWcGJuUTJORUZ5Y21GNUtHVXBPd29nSUNBZ2ZRb2dJQ0FnZG1GeUlHeHlJRDBnVzEwc0lGVnlJRDBnVzEwc0lIaHlJRDBnVzEwN0NpQWdJQ0JtZFc1amRHbHZiaUIyZENncElIc0tJQ0FnSUNBZ2FXWWdLR2t1Y0hKbFVuVnVLUW9nSUNBZ0lDQWdJR1p2Y2lBb2RIbHdaVzltSUdrdWNISmxVblZ1SUQwOUlDSm1kVzVqZEdsdmJpSWdKaVlnS0drdWNISmxVblZ1SUQwZ1cya3VjSEpsVW5WdVhTazdJR2t1Y0hKbFVuVnVMbXhsYm1kMGFEc2dLUW9nSUNBZ0lDQWdJQ0FnY0hRb2FTNXdjbVZTZFc0dWMyaHBablFvS1NrN0NpQWdJQ0FnSUVvb2JISXBPd29nSUNBZ2ZRb2dJQ0FnWm5WdVkzUnBiMjRnYkhRb0tTQjdDaUFnSUNBZ0lFb29WWElwT3dvZ0lDQWdmUW9nSUNBZ1puVnVZM1JwYjI0Z1gzUW9LU0I3Q2lBZ0lDQWdJR2xtSUNocExuQnZjM1JTZFc0cENpQWdJQ0FnSUNBZ1ptOXlJQ2gwZVhCbGIyWWdhUzV3YjNOMFVuVnVJRDA5SUNKbWRXNWpkR2x2YmlJZ0ppWWdLR2t1Y0c5emRGSjFiaUE5SUZ0cExuQnZjM1JTZFc1ZEtUc2dhUzV3YjNOMFVuVnVMbXhsYm1kMGFEc2dLUW9nSUNBZ0lDQWdJQ0FnVldVb2FTNXdiM04wVW5WdUxuTm9hV1owS0NrcE93b2dJQ0FnSUNCS0tIaHlLVHNLSUNBZ0lIMEtJQ0FnSUdaMWJtTjBhVzl1SUhCMEtHVXBJSHNLSUNBZ0lDQWdiSEl1ZFc1emFHbG1kQ2hsS1RzS0lDQWdJSDBLSUNBZ0lHWjFibU4wYVc5dUlDUmxLR1VwSUhzS0lDQWdJQ0FnVlhJdWRXNXphR2xtZENobEtUc0tJQ0FnSUgwS0lDQWdJR1oxYm1OMGFXOXVJRlZsS0dVcElIc0tJQ0FnSUNBZ2VISXVkVzV6YUdsbWRDaGxLVHNLSUNBZ0lIMEtJQ0FnSUhaaGNpQkRaU0E5SURBc0lIaGxJRDBnYm5Wc2JEc0tJQ0FnSUdaMWJtTjBhVzl1SUY5eUtHVXBJSHNLSUNBZ0lDQWdkbUZ5SUhJN0NpQWdJQ0FnSUVObEt5c3NJQ2h5SUQwZ2FTNXRiMjVwZEc5eVVuVnVSR1Z3Wlc1a1pXNWphV1Z6S1NBOVBTQnVkV3hzSUh4OElISXVZMkZzYkNocExDQkRaU2s3Q2lBZ0lDQjlDaUFnSUNCbWRXNWpkR2x2YmlCa2RDaGxLU0I3Q2lBZ0lDQWdJSFpoY2lCME93b2dJQ0FnSUNCcFppQW9RMlV0TFN3Z0tIUWdQU0JwTG0xdmJtbDBiM0pTZFc1RVpYQmxibVJsYm1OcFpYTXBJRDA5SUc1MWJHd2dmSHdnZEM1allXeHNLR2tzSUVObEtTd2dRMlVnUFQwZ01DQW1KaUI0WlNrZ2V3b2dJQ0FnSUNBZ0lIWmhjaUJ5SUQwZ2VHVTdDaUFnSUNBZ0lDQWdlR1VnUFNCdWRXeHNMQ0J5S0NrN0NpQWdJQ0FnSUgwS0lDQWdJSDBLSUNBZ0lHWjFibU4wYVc5dUlIcGxLR1VwSUhzS0lDQWdJQ0FnZG1GeUlIUTdDaUFnSUNBZ0lDaDBJRDBnYVM1dmJrRmliM0owS1NBOVBTQnVkV3hzSUh4OElIUXVZMkZzYkNocExDQmxLU3dnWlNBOUlDSkJZbTl5ZEdWa0tDSWdLeUJsSUNzZ0lpa2lMQ0JtWlNobEtTd2diR1VnUFNBaE1Dd2daU0FyUFNBaUxpQkNkV2xzWkNCM2FYUm9JQzF6UVZOVFJWSlVTVTlPVXlCbWIzSWdiVzl5WlNCcGJtWnZMaUk3Q2lBZ0lDQWdJSFpoY2lCeUlEMGdibVYzSUZkbFlrRnpjMlZ0WW14NUxsSjFiblJwYldWRmNuSnZjaWhsS1RzS0lDQWdJQ0FnZEdoeWIzY2dheWh5S1N3Z2Nqc0tJQ0FnSUgwS0lDQWdJSFpoY2lCb2RDQTlJQ0prWVhSaE9tRndjR3hwWTJGMGFXOXVMMjlqZEdWMExYTjBjbVZoYlR0aVlYTmxOalFzSWl3Z1IyVWdQU0FvWlNrZ1BUNGdaUzV6ZEdGeWRITlhhWFJvS0doMEtUc0tJQ0FnSUdaMWJtTjBhVzl1SUdweUtDa2dld29nSUNBZ0lDQjJZWElnWlNBOUlDSnFiR2wyWlY5MWVGOTNaV0l1ZDJGemJTSTdDaUFnSUNBZ0lISmxkSFZ5YmlCSFpTaGxLU0EvSUdVZ09pQmFLR1VwT3dvZ0lDQWdmUW9nSUNBZ2RtRnlJSEJ5T3dvZ0lDQWdablZ1WTNScGIyNGdaSElvWlNrZ2V3b2dJQ0FnSUNCcFppQW9aU0E5UFNCd2NpQW1KaUIyWlNrS0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lGVnBiblE0UVhKeVlYa29kbVVwT3dvZ0lDQWdJQ0IwYUhKdmR5QWlZbTkwYUNCaGMzbHVZeUJoYm1RZ2MzbHVZeUJtWlhSamFHbHVaeUJ2WmlCMGFHVWdkMkZ6YlNCbVlXbHNaV1FpT3dvZ0lDQWdmUW9nSUNBZ1puVnVZM1JwYjI0Z1ozUW9aU2tnZXdvZ0lDQWdJQ0J5WlhSMWNtNGdkbVVnUHlCUWNtOXRhWE5sTG5KbGMyOXNkbVVvS1M1MGFHVnVLQ2dwSUQwK0lHUnlLR1VwS1NBNklIZ29aU2t1ZEdobGJpZ0tJQ0FnSUNBZ0lDQW9jaWtnUFQ0Z2JtVjNJRlZwYm5RNFFYSnlZWGtvQ2lBZ0lDQWdJQ0FnSUNBdktpb2dRSFI1Y0dWN0lVRnljbUY1UW5WbVptVnlmU0FxTHdvZ0lDQWdJQ0FnSUNBZ2Nnb2dJQ0FnSUNBZ0lDa3NDaUFnSUNBZ0lDQWdMeThnUm1Gc2JDQmlZV05ySUhSdklHZGxkRUpwYm1GeWVWTjVibU1nYVdZZ2NtVmhaRUZ6ZVc1aklHWmhhV3h6Q2lBZ0lDQWdJQ0FnS0NrZ1BUNGdaSElvWlNrS0lDQWdJQ0FnS1RzS0lDQWdJSDBLSUNBZ0lHWjFibU4wYVc5dUlFaHlLR1VzSUhJc0lIUXBJSHNLSUNBZ0lDQWdjbVYwZFhKdUlHZDBLR1VwTG5Sb1pXNG9LRzRwSUQwK0lGZGxZa0Z6YzJWdFlteDVMbWx1YzNSaGJuUnBZWFJsS0c0c0lISXBLUzUwYUdWdUtIUXNJQ2h1S1NBOVBpQjdDaUFnSUNBZ0lDQWdabVVvWUdaaGFXeGxaQ0IwYnlCaGMzbHVZMmh5YjI1dmRYTnNlU0J3Y21Wd1lYSmxJSGRoYzIwNklDUjdibjFnS1N3Z2VtVW9iaWs3Q2lBZ0lDQWdJSDBwT3dvZ0lDQWdmUW9nSUNBZ1puVnVZM1JwYjI0Z2JYUW9aU3dnY2l3Z2RDd2diaWtnZXdvZ0lDQWdJQ0J5WlhSMWNtNGdJV1VnSmlZZ2RIbHdaVzltSUZkbFlrRnpjMlZ0WW14NUxtbHVjM1JoYm5ScFlYUmxVM1J5WldGdGFXNW5JRDA5SUNKbWRXNWpkR2x2YmlJZ0ppWWdJVWRsS0hJcElDWW1JSFI1Y0dWdlppQm1aWFJqYUNBOVBTQWlablZ1WTNScGIyNGlJRDhnWm1WMFkyZ29jaXdnZXdvZ0lDQWdJQ0FnSUdOeVpXUmxiblJwWVd4ek9pQWljMkZ0WlMxdmNtbG5hVzRpQ2lBZ0lDQWdJSDBwTG5Sb1pXNG9LSE1wSUQwK0lIc0tJQ0FnSUNBZ0lDQjJZWElnWXlBOUlGZGxZa0Z6YzJWdFlteDVMbWx1YzNSaGJuUnBZWFJsVTNSeVpXRnRhVzVuS0hNc0lIUXBPd29nSUNBZ0lDQWdJSEpsZEhWeWJpQmpMblJvWlc0b2Jpd2dablZ1WTNScGIyNG9aaWtnZXdvZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdabEtHQjNZWE50SUhOMGNtVmhiV2x1WnlCamIyMXdhV3hsSUdaaGFXeGxaRG9nSkh0bWZXQXBMQ0JtWlNnaVptRnNiR2x1WnlCaVlXTnJJSFJ2SUVGeWNtRjVRblZtWm1WeUlHbHVjM1JoYm5ScFlYUnBiMjRpS1N3Z1NISW9jaXdnZEN3Z2JpazdDaUFnSUNBZ0lDQWdmU2s3Q2lBZ0lDQWdJSDBwSURvZ1NISW9jaXdnZEN3Z2JpazdDaUFnSUNCOUNpQWdJQ0JtZFc1amRHbHZiaUJDY2lncElIc0tJQ0FnSUNBZ2NtVjBkWEp1SUhzS0lDQWdJQ0FnSUNCaE9pQktZUW9nSUNBZ0lDQjlPd29nSUNBZ2ZRb2dJQ0FnWm5WdVkzUnBiMjRnVG1Vb0tTQjdDaUFnSUNBZ0lIWmhjaUJsSUQwZ1FuSW9LVHNLSUNBZ0lDQWdablZ1WTNScGIyNGdjaWh1TENCektTQjdDaUFnSUNBZ0lDQWdjbVYwZFhKdUlFNGdQU0J1TG1WNGNHOXlkSE1zSUcxbElEMGdUaTVCWVN3Z1QzSW9LU3dnVUNBOUlFNHVSbUVzSUNSbEtFNHVRbUVwTENCa2RDZ3BMQ0JPT3dvZ0lDQWdJQ0I5Q2lBZ0lDQWdJRjl5S0NrN0NpQWdJQ0FnSUdaMWJtTjBhVzl1SUhRb2Jpa2dld29nSUNBZ0lDQWdJSElvYmk1cGJuTjBZVzVqWlNrN0NpQWdJQ0FnSUgwS0lDQWdJQ0FnYVdZZ0tHa3VhVzV6ZEdGdWRHbGhkR1ZYWVhOdEtRb2dJQ0FnSUNBZ0lIUnllU0I3Q2lBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYVM1cGJuTjBZVzUwYVdGMFpWZGhjMjBvWlN3Z2NpazdDaUFnSUNBZ0lDQWdmU0JqWVhSamFDQW9iaWtnZXdvZ0lDQWdJQ0FnSUNBZ1ptVW9ZRTF2WkhWc1pTNXBibk4wWVc1MGFXRjBaVmRoYzIwZ1kyRnNiR0poWTJzZ1ptRnBiR1ZrSUhkcGRHZ2daWEp5YjNJNklDUjdibjFnS1N3Z2F5aHVLVHNLSUNBZ0lDQWdJQ0I5Q2lBZ0lDQWdJSEpsZEhWeWJpQndjaUEvUHlBb2NISWdQU0JxY2lncEtTd2diWFFvZG1Vc0lIQnlMQ0JsTENCMEtTNWpZWFJqYUNocktTd2dlMzA3Q2lBZ0lDQjlDaUFnSUNCMllYSWdWbklnUFNCN0NpQWdJQ0FnSURJME16ZzRPaUFvWlNrZ1BUNGdld29nSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJYWldKQmMzTmxiV0pzZVM1U2RXNTBhVzFsUlhKeWIzSW9aVzRvWlNrcE93b2dJQ0FnSUNCOUNpQWdJQ0I5T3dvZ0lDQWdablZ1WTNScGIyNGdXU2hsS1NCN0NpQWdJQ0FnSUhSb2FYTXVibUZ0WlNBOUlDSkZlR2wwVTNSaGRIVnpJaXdnZEdocGN5NXRaWE56WVdkbElEMGdZRkJ5YjJkeVlXMGdkR1Z5YldsdVlYUmxaQ0IzYVhSb0lHVjRhWFFvSkh0bGZTbGdMQ0IwYUdsekxuTjBZWFIxY3lBOUlHVTdDaUFnSUNCOUNpQWdJQ0IyWVhJZ1NpQTlJQ2hsS1NBOVBpQjdDaUFnSUNBZ0lHWnZjaUFvT3lCbExteGxibWQwYUNBK0lEQTdJQ2tLSUNBZ0lDQWdJQ0JsTG5Ob2FXWjBLQ2tvYVNrN0NpQWdJQ0I5TENCZlpTQTlJR2t1Ym05RmVHbDBVblZ1ZEdsdFpTQjhmQ0FoTUN3Z1ZTQTlJQ2hsS1NBOVBpQm5iaWhsS1N3Z2FpQTlJQ2dwSUQwK0lHMXVLQ2tzSUZFZ1BTQmJYU3dnZVhRZ1BTQW9aU2tnUFQ0Z2V3b2dJQ0FnSUNCMllYSWdjaUE5SUc1bGR5QnhaU2hsS1RzS0lDQWdJQ0FnY21WMGRYSnVJSEl1WjJWMFgyTmhkV2RvZENncElIeDhJSEl1YzJWMFgyTmhkV2RvZENnaE1Da3NJSEl1YzJWMFgzSmxkR2h5YjNkdUtDRXhLU3dnVVM1d2RYTm9LSElwTENCT2RDaGxLU3dnWW00b1pTazdDaUFnSUNCOUxDQjNkQ0E5SUNncElEMCtJSHNLSUNBZ0lDQWdhV1lnS0NGUkxteGxibWQwYUNrS0lDQWdJQ0FnSUNCeVpYUjFjbTRnTURzS0lDQWdJQ0FnZG1GeUlHVWdQU0JSVzFFdWJHVnVaM1JvSUMwZ01WMDdDaUFnSUNBZ0lISmxkSFZ5YmlCT2RDaGxMbVY0WTFCMGNpa3NJR1V1WlhoalVIUnlPd29nSUNBZ2ZTd2daV1VnUFNBd0xDQm9jaUE5SUNncElEMCtJSHNLSUNBZ0lDQWdTQ2d3TENBd0tUc0tJQ0FnSUNBZ2RtRnlJR1VnUFNCUkxuQnZjQ2dwT3dvZ0lDQWdJQ0I1YmlobExtVjRZMUIwY2lrc0lHVmxJRDBnTURzS0lDQWdJSDA3Q2lBZ0lDQmpiR0Z6Y3lCeFpTQjdDaUFnSUNBZ0lDOHZJR1Y0WTFCMGNpQXRJRlJvY205M2JpQnZZbXBsWTNRZ2NHOXBiblJsY2lCMGJ5QjNjbUZ3TGlCTlpYUmhaR0YwWVNCd2IybHVkR1Z5SUdseklHTmhiR04xYkdGMFpXUWdabkp2YlNCcGRDNEtJQ0FnSUNBZ1kyOXVjM1J5ZFdOMGIzSW9jaWtnZXdvZ0lDQWdJQ0FnSUhSb2FYTXVaWGhqVUhSeUlEMGdjaXdnZEdocGN5NXdkSElnUFNCeUlDMGdNalE3Q2lBZ0lDQWdJSDBLSUNBZ0lDQWdjMlYwWDNSNWNHVW9jaWtnZXdvZ0lDQWdJQ0FnSUVaYmRHaHBjeTV3ZEhJZ0t5QTBJRDQrSURKZElEMGdjanNLSUNBZ0lDQWdmUW9nSUNBZ0lDQm5aWFJmZEhsd1pTZ3BJSHNLSUNBZ0lDQWdJQ0J5WlhSMWNtNGdSbHQwYUdsekxuQjBjaUFySURRZ1BqNGdNbDA3Q2lBZ0lDQWdJSDBLSUNBZ0lDQWdjMlYwWDJSbGMzUnlkV04wYjNJb2Npa2dld29nSUNBZ0lDQWdJRVpiZEdocGN5NXdkSElnS3lBNElENCtJREpkSUQwZ2Nqc0tJQ0FnSUNBZ2ZRb2dJQ0FnSUNCblpYUmZaR1Z6ZEhKMVkzUnZjaWdwSUhzS0lDQWdJQ0FnSUNCeVpYUjFjbTRnUmx0MGFHbHpMbkIwY2lBcklEZ2dQajRnTWwwN0NpQWdJQ0FnSUgwS0lDQWdJQ0FnYzJWMFgyTmhkV2RvZENoeUtTQjdDaUFnSUNBZ0lDQWdjaUE5SUhJZ1B5QXhJRG9nTUN3Z2FXVmJkR2hwY3k1d2RISWdLeUF4TWwwZ1BTQnlPd29nSUNBZ0lDQjlDaUFnSUNBZ0lHZGxkRjlqWVhWbmFIUW9LU0I3Q2lBZ0lDQWdJQ0FnY21WMGRYSnVJR2xsVzNSb2FYTXVjSFJ5SUNzZ01USmRJQ0U5SURBN0NpQWdJQ0FnSUgwS0lDQWdJQ0FnYzJWMFgzSmxkR2h5YjNkdUtISXBJSHNLSUNBZ0lDQWdJQ0J5SUQwZ2NpQS9JREVnT2lBd0xDQnBaVnQwYUdsekxuQjBjaUFySURFelhTQTlJSEk3Q2lBZ0lDQWdJSDBLSUNBZ0lDQWdaMlYwWDNKbGRHaHliM2R1S0NrZ2V3b2dJQ0FnSUNBZ0lISmxkSFZ5YmlCcFpWdDBhR2x6TG5CMGNpQXJJREV6WFNBaFBTQXdPd29nSUNBZ0lDQjlDaUFnSUNBZ0lDOHZJRWx1YVhScFlXeHBlbVVnYm1GMGFYWmxJSE4wY25WamRIVnlaU0JtYVdWc1pITXVJRk5vYjNWc1pDQmlaU0JqWVd4c1pXUWdiMjVqWlNCaFpuUmxjaUJoYkd4dlkyRjBaV1F1Q2lBZ0lDQWdJR2x1YVhRb2Npd2dkQ2tnZXdvZ0lDQWdJQ0FnSUhSb2FYTXVjMlYwWDJGa2FuVnpkR1ZrWDNCMGNpZ3dLU3dnZEdocGN5NXpaWFJmZEhsd1pTaHlLU3dnZEdocGN5NXpaWFJmWkdWemRISjFZM1J2Y2loMEtUc0tJQ0FnSUNBZ2ZRb2dJQ0FnSUNCelpYUmZZV1JxZFhOMFpXUmZjSFJ5S0hJcElIc0tJQ0FnSUNBZ0lDQkdXM1JvYVhNdWNIUnlJQ3NnTVRZZ1BqNGdNbDBnUFNCeU93b2dJQ0FnSUNCOUNpQWdJQ0FnSUdkbGRGOWhaR3AxYzNSbFpGOXdkSElvS1NCN0NpQWdJQ0FnSUNBZ2NtVjBkWEp1SUVaYmRHaHBjeTV3ZEhJZ0t5QXhOaUErUGlBeVhUc0tJQ0FnSUNBZ2ZRb2dJQ0FnZlFvZ0lDQWdkbUZ5SUdKMElEMGdLR1VwSUQwK0lIc0tJQ0FnSUNBZ2RHaHliM2NnWldVZ2ZId2dLR1ZsSUQwZ1pTa3NJR1ZsT3dvZ0lDQWdmU3dnU21VZ1BTQW9aU2tnUFQ0Z2FHNG9aU2tzSUdkeUlEMGdLR1VwSUQwK0lIc0tJQ0FnSUNBZ2RtRnlJSElnUFNCbFpUc0tJQ0FnSUNBZ2FXWWdLQ0Z5S1FvZ0lDQWdJQ0FnSUhKbGRIVnliaUJLWlNnd0tTd2dNRHNLSUNBZ0lDQWdkbUZ5SUhRZ1BTQnVaWGNnY1dVb2NpazdDaUFnSUNBZ0lIUXVjMlYwWDJGa2FuVnpkR1ZrWDNCMGNpaHlLVHNLSUNBZ0lDQWdkbUZ5SUc0Z1BTQjBMbWRsZEY5MGVYQmxLQ2s3Q2lBZ0lDQWdJR2xtSUNnaGJpa0tJQ0FnSUNBZ0lDQnlaWFIxY200Z1NtVW9NQ2tzSUhJN0NpQWdJQ0FnSUdadmNpQW9kbUZ5SUhNZ2IyWWdaU2tnZXdvZ0lDQWdJQ0FnSUdsbUlDaHpJRDA5UFNBd0lIeDhJSE1nUFQwOUlHNHBDaUFnSUNBZ0lDQWdJQ0JpY21WaGF6c0tJQ0FnSUNBZ0lDQjJZWElnWXlBOUlIUXVjSFJ5SUNzZ01UWTdDaUFnSUNBZ0lDQWdhV1lnS0hkdUtITXNJRzRzSUdNcEtRb2dJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlFcGxLSE1wTENCeU93b2dJQ0FnSUNCOUNpQWdJQ0FnSUhKbGRIVnliaUJLWlNodUtTd2djanNLSUNBZ0lIMHNJRXh5SUQwZ0tDa2dQVDRnWjNJb1cxMHBMQ0JOY2lBOUlDaGxLU0E5UGlCbmNpaGJaVjBwTENCNmNpQTlJQ2hsTENCeUxDQjBMQ0J1S1NBOVBpQm5jaWhiWlN3Z2Npd2dkQ3dnYmwwcExDQnRjaUE5SUNncElEMCtJSHNLSUNBZ0lDQWdkbUZ5SUdVZ1BTQlJMbkJ2Y0NncE93b2dJQ0FnSUNCbElIeDhJSHBsS0NKdWJ5QmxlR05sY0hScGIyNGdkRzhnZEdoeWIzY2lLVHNLSUNBZ0lDQWdkbUZ5SUhJZ1BTQmxMbVY0WTFCMGNqc0tJQ0FnSUNBZ2RHaHliM2NnWlM1blpYUmZjbVYwYUhKdmQyNG9LU0I4ZkNBb1VTNXdkWE5vS0dVcExDQmxMbk5sZEY5eVpYUm9jbTkzYmlnaE1Da3NJR1V1YzJWMFgyTmhkV2RvZENnaE1Ta3BMQ0JsWlNBOUlISXNJR1ZsT3dvZ0lDQWdmU3dnVUhRZ1BTQW9aU2tnUFQ0Z2V3b2dJQ0FnSUNCcFppQW9aU2tnZXdvZ0lDQWdJQ0FnSUhaaGNpQnlJRDBnYm1WM0lIRmxLR1VwT3dvZ0lDQWdJQ0FnSUZFdWNIVnphQ2h5S1N3Z2NpNXpaWFJmY21WMGFISnZkMjRvSVRBcExDQnRjaWdwT3dvZ0lDQWdJQ0I5Q2lBZ0lDQjlMQ0JGZENBOUlDaGxMQ0J5TENCMEtTQTlQaUI3Q2lBZ0lDQWdJSFpoY2lCdUlEMGdibVYzSUhGbEtHVXBPd29nSUNBZ0lDQjBhSEp2ZHlCdUxtbHVhWFFvY2l3Z2RDa3NJR1ZsSUQwZ1pTd2daV1U3Q2lBZ0lDQjlMQ0JVZENBOUlDZ3BJRDArSUhzS0lDQWdJQ0FnZW1Vb0lpSXBPd29nSUNBZ2ZTd2dWMlVnUFNBb1pTd2djaWtnUFQ0Z1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSElzSUNKdVlXMWxJaXdnZXdvZ0lDQWdJQ0IyWVd4MVpUb2daUW9nSUNBZ2ZTa3NJSGx5SUQwZ1cxMHNJSEJsSUQwZ1cxMHNJR3BsTENCRElEMGdLR1VwSUQwK0lIc0tJQ0FnSUNBZ2RHaHliM2NnYm1WM0lHcGxLR1VwT3dvZ0lDQWdmU3dnSkhRZ1BTQW9LU0E5UGlCd1pTNXNaVzVuZEdnZ0x5QXlJQzBnTlNBdElIbHlMbXhsYm1kMGFDd2dTR1VnUFNBb0tTQTlQaUI3Q2lBZ0lDQWdJSEJsTG5CMWMyZ29NQ3dnTVN3Z2RtOXBaQ0F3TENBeExDQnVkV3hzTENBeExDQWhNQ3dnTVN3Z0lURXNJREVwTENCcExtTnZkVzUwWDJWdGRtRnNYMmhoYm1Sc1pYTWdQU0FrZERzS0lDQWdJSDBzSUZNZ1BTQjdDaUFnSUNBZ0lIUnZWbUZzZFdVNklDaGxLU0E5UGlBb1pTQjhmQ0JES0NKRFlXNXViM1FnZFhObElHUmxiR1YwWldRZ2RtRnNMaUJvWVc1a2JHVWdQU0FpSUNzZ1pTa3NJSEJsVzJWZEtTd0tJQ0FnSUNBZ2RHOUlZVzVrYkdVNklDaGxLU0E5UGlCN0NpQWdJQ0FnSUNBZ2MzZHBkR05vSUNobEtTQjdDaUFnSUNBZ0lDQWdJQ0JqWVhObElIWnZhV1FnTURvS0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlESTdDaUFnSUNBZ0lDQWdJQ0JqWVhObElHNTFiR3c2Q2lBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBME93b2dJQ0FnSUNBZ0lDQWdZMkZ6WlNBaE1Eb0tJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRFk3Q2lBZ0lDQWdJQ0FnSUNCallYTmxJQ0V4T2dvZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z09Ec0tJQ0FnSUNBZ0lDQWdJR1JsWm1GMWJIUTZJSHNLSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnY2lBOUlIbHlMbkJ2Y0NncElIeDhJSEJsTG14bGJtZDBhRHNLSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhCbFczSmRJRDBnWlN3Z2NHVmJjaUFySURGZElEMGdNU3dnY2pzS0lDQWdJQ0FnSUNBZ0lIMEtJQ0FnSUNBZ0lDQjlDaUFnSUNBZ0lIMEtJQ0FnSUgwc0lIZHlJRDBnS0dVc0lISXBJRDArSUhzS0lDQWdJQ0FnZG1GeUlIUWdQU0JYWlNoeUxDQm1kVzVqZEdsdmJpaHVLU0I3Q2lBZ0lDQWdJQ0FnZEdocGN5NXVZVzFsSUQwZ2Npd2dkR2hwY3k1dFpYTnpZV2RsSUQwZ2Jqc0tJQ0FnSUNBZ0lDQjJZWElnY3lBOUlHNWxkeUJGY25KdmNpaHVLUzV6ZEdGamF6c0tJQ0FnSUNBZ0lDQnpJQ0U5UFNCMmIybGtJREFnSmlZZ0tIUm9hWE11YzNSaFkyc2dQU0IwYUdsekxuUnZVM1J5YVc1bktDa2dLeUJnQ21BZ0t5QnpMbkpsY0d4aFkyVW9MMTVGY25KdmNpZzZXMTVjYmwwcUtUOWNiaThzSUNJaUtTazdDaUFnSUNBZ0lIMHBPd29nSUNBZ0lDQnlaWFIxY200Z2RDNXdjbTkwYjNSNWNHVWdQU0JQWW1wbFkzUXVZM0psWVhSbEtHVXVjSEp2ZEc5MGVYQmxLU3dnZEM1d2NtOTBiM1I1Y0dVdVkyOXVjM1J5ZFdOMGIzSWdQU0IwTENCMExuQnliM1J2ZEhsd1pTNTBiMU4wY21sdVp5QTlJR1oxYm1OMGFXOXVLQ2tnZXdvZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtMWxjM05oWjJVZ1BUMDlJSFp2YVdRZ01DQS9JSFJvYVhNdWJtRnRaU0E2SUdBa2UzUm9hWE11Ym1GdFpYMDZJQ1I3ZEdocGN5NXRaWE56WVdkbGZXQTdDaUFnSUNBZ0lIMHNJSFE3Q2lBZ0lDQjlMQ0JpY2l3Z1IzSWdQU0FvS1NBOVBpQjdDaUFnSUNBZ0lHWnZjaUFvZG1GeUlHVWdQU0J1WlhjZ1FYSnlZWGtvTWpVMktTd2djaUE5SURBN0lISWdQQ0F5TlRZN0lDc3JjaWtLSUNBZ0lDQWdJQ0JsVzNKZElEMGdVM1J5YVc1bkxtWnliMjFEYUdGeVEyOWtaU2h5S1RzS0lDQWdJQ0FnVUhJZ1BTQmxPd29nSUNBZ2ZTd2dVSElzSUV3Z1BTQW9aU2tnUFQ0Z2V3b2dJQ0FnSUNCbWIzSWdLSFpoY2lCeUlEMGdJaUlzSUhRZ1BTQmxPeUJOVzNSZE95QXBDaUFnSUNBZ0lDQWdjaUFyUFNCUWNsdE5XM1FySzExZE93b2dJQ0FnSUNCeVpYUjFjbTRnY2pzS0lDQWdJSDBzSUVOMElEMGdLQ2tnUFQ0Z1QySnFaV04wTG10bGVYTW9aR1VwTG14bGJtZDBhQ3dnUVhRZ1BTQW9LU0E5UGlCN0NpQWdJQ0FnSUhaaGNpQmxJRDBnVzEwN0NpQWdJQ0FnSUdadmNpQW9kbUZ5SUhJZ2FXNGdaR1VwQ2lBZ0lDQWdJQ0FnWkdVdWFHRnpUM2R1VUhKdmNHVnlkSGtvY2lrZ0ppWWdaUzV3ZFhOb0tHUmxXM0pkS1RzS0lDQWdJQ0FnY21WMGRYSnVJR1U3Q2lBZ0lDQjlMQ0JFWlNBOUlGdGRMQ0JGY2lBOUlDZ3BJRDArSUhzS0lDQWdJQ0FnWm05eUlDZzdJRVJsTG14bGJtZDBhRHNnS1NCN0NpQWdJQ0FnSUNBZ2RtRnlJR1VnUFNCRVpTNXdiM0FvS1RzS0lDQWdJQ0FnSUNCbExpUWtMbVJsYkdWMFpWTmphR1ZrZFd4bFpDQTlJQ0V4TENCbExtUmxiR1YwWlNncE93b2dJQ0FnSUNCOUNpQWdJQ0I5TENCQ1pTd2dTMlVnUFNBb1pTa2dQVDRnZXdvZ0lDQWdJQ0JDWlNBOUlHVXNJRVJsTG14bGJtZDBhQ0FtSmlCQ1pTQW1KaUJDWlNoRmNpazdDaUFnSUNCOUxDQlNkQ0E5SUNncElEMCtJSHNLSUNBZ0lDQWdhUzVuWlhSSmJtaGxjbWwwWldSSmJuTjBZVzVqWlVOdmRXNTBJRDBnUTNRc0lHa3VaMlYwVEdsMlpVbHVhR1Z5YVhSbFpFbHVjM1JoYm1ObGN5QTlJRUYwTENCcExtWnNkWE5vVUdWdVpHbHVaMFJsYkdWMFpYTWdQU0JGY2l3Z2FTNXpaWFJFWld4aGVVWjFibU4wYVc5dUlEMGdTMlU3Q2lBZ0lDQjlMQ0JrWlNBOUlIdDlMQ0JaWlNBOUlDaGxMQ0J5S1NBOVBpQjdDaUFnSUNBZ0lHWnZjaUFvY2lBOVBUMGdkbTlwWkNBd0lDWW1JRU1vSW5CMGNpQnphRzkxYkdRZ2JtOTBJR0psSUhWdVpHVm1hVzVsWkNJcE95QmxMbUpoYzJWRGJHRnpjenNnS1FvZ0lDQWdJQ0FnSUhJZ1BTQmxMblZ3WTJGemRDaHlLU3dnWlNBOUlHVXVZbUZ6WlVOc1lYTnpPd29nSUNBZ0lDQnlaWFIxY200Z2Nqc0tJQ0FnSUgwc0lGTjBJRDBnS0dVc0lISXNJSFFwSUQwK0lIc0tJQ0FnSUNBZ2NpQTlJRmxsS0dVc0lISXBMQ0JrWlM1b1lYTlBkMjVRY205d1pYSjBlU2h5S1NBL0lFTW9ZRlJ5YVdWa0lIUnZJSEpsWjJsemRHVnlJSEpsWjJsemRHVnlaV1FnYVc1emRHRnVZMlU2SUNSN2NuMWdLU0E2SUdSbFczSmRJRDBnZERzS0lDQWdJSDBzSUVGbElEMGdlMzBzSUU1eUlEMGdLR1VwSUQwK0lIc0tJQ0FnSUNBZ2RtRnlJSElnUFNCd2JpaGxLU3dnZENBOUlFd29jaWs3Q2lBZ0lDQWdJSEpsZEhWeWJpQnJaU2h5S1N3Z2REc0tJQ0FnSUgwc0lGaGxJRDBnS0dVc0lISXBJRDArSUhzS0lDQWdJQ0FnZG1GeUlIUWdQU0JCWlZ0bFhUc0tJQ0FnSUNBZ2NtVjBkWEp1SUhRZ1BUMDlJSFp2YVdRZ01DQW1KaUJES0dBa2UzSjlJR2hoY3lCMWJtdHViM2R1SUhSNWNHVWdKSHRPY2lobEtYMWdLU3dnZERzS0lDQWdJSDBzSUd0MElEMGdLR1VzSUhJcElEMCtJSHNLSUNBZ0lDQWdjaUE5SUZsbEtHVXNJSElwTENCa1pTNW9ZWE5QZDI1UWNtOXdaWEowZVNoeUtTQS9JR1JsYkdWMFpTQmtaVnR5WFNBNklFTW9ZRlJ5YVdWa0lIUnZJSFZ1Y21WbmFYTjBaWElnZFc1eVpXZHBjM1JsY21Wa0lHbHVjM1JoYm1ObE9pQWtlM0o5WUNrN0NpQWdJQ0I5TENCYVpTQTlJQ2hsS1NBOVBpQjdDaUFnSUNCOUxDQlVjaUE5SUNFeExDQkpkQ0E5SUNobEtTQTlQaUI3Q2lBZ0lDQWdJR1V1YzIxaGNuUlFkSElnUHlCbExuTnRZWEowVUhSeVZIbHdaUzV5WVhkRVpYTjBjblZqZEc5eUtHVXVjMjFoY25SUWRISXBJRG9nWlM1d2RISlVlWEJsTG5KbFoybHpkR1Z5WldSRGJHRnpjeTV5WVhkRVpYTjBjblZqZEc5eUtHVXVjSFJ5S1RzS0lDQWdJSDBzSUhGeUlEMGdLR1VwSUQwK0lIc0tJQ0FnSUNBZ1pTNWpiM1Z1ZEM1MllXeDFaU0F0UFNBeE93b2dJQ0FnSUNCMllYSWdjaUE5SUdVdVkyOTFiblF1ZG1Gc2RXVWdQVDA5SURBN0NpQWdJQ0FnSUhJZ0ppWWdTWFFvWlNrN0NpQWdJQ0I5TENCS2NpQTlJQ2hsTENCeUxDQjBLU0E5UGlCN0NpQWdJQ0FnSUdsbUlDaHlJRDA5UFNCMEtRb2dJQ0FnSUNBZ0lISmxkSFZ5YmlCbE93b2dJQ0FnSUNCcFppQW9kQzVpWVhObFEyeGhjM01nUFQwOUlIWnZhV1FnTUNrS0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEc0tJQ0FnSUNBZ2RtRnlJRzRnUFNCS2NpaGxMQ0J5TENCMExtSmhjMlZEYkdGemN5azdDaUFnSUNBZ0lISmxkSFZ5YmlCdUlEMDlQU0J1ZFd4c0lEOGdiblZzYkNBNklIUXVaRzkzYm1OaGMzUW9iaWs3Q2lBZ0lDQjlMQ0FrY2lBOUlIdDlMQ0J2WlNBOUlDaGxMQ0J5S1NBOVBpQW9jaUE5SUZsbEtHVXNJSElwTENCa1pWdHlYU2tzSUV0eUxDQlJaU0E5SUNobEtTQTlQaUI3Q2lBZ0lDQWdJSFJvY205M0lHNWxkeUJMY2lobEtUc0tJQ0FnSUgwc0lGWmxJRDBnS0dVc0lISXBJRDArSUhzS0lDQWdJQ0FnS0NGeUxuQjBjbFI1Y0dVZ2ZId2dJWEl1Y0hSeUtTQW1KaUJSWlNnaWJXRnJaVU5zWVhOelNHRnVaR3hsSUhKbGNYVnBjbVZ6SUhCMGNpQmhibVFnY0hSeVZIbHdaU0lwT3dvZ0lDQWdJQ0IyWVhJZ2RDQTlJQ0VoY2k1emJXRnlkRkIwY2xSNWNHVXNJRzRnUFNBaElYSXVjMjFoY25SUWRISTdDaUFnSUNBZ0lISmxkSFZ5YmlCMElDRTlQU0J1SUNZbUlGRmxLQ0pDYjNSb0lITnRZWEowVUhSeVZIbHdaU0JoYm1RZ2MyMWhjblJRZEhJZ2JYVnpkQ0JpWlNCemNHVmphV1pwWldRaUtTd2djaTVqYjNWdWRDQTlJSHNLSUNBZ0lDQWdJQ0IyWVd4MVpUb2dNUW9nSUNBZ0lDQjlMQ0JHWlNoUFltcGxZM1F1WTNKbFlYUmxLR1VzSUhzS0lDQWdJQ0FnSUNBa0pEb2dld29nSUNBZ0lDQWdJQ0FnZG1Gc2RXVTZJSElzQ2lBZ0lDQWdJQ0FnSUNCM2NtbDBZV0pzWlRvZ0lUQUtJQ0FnSUNBZ0lDQjlDaUFnSUNBZ0lIMHBLVHNLSUNBZ0lIMDdDaUFnSUNCbWRXNWpkR2x2YmlCWGRDaGxLU0I3Q2lBZ0lDQWdJSFpoY2lCeUlEMGdkR2hwY3k1blpYUlFiMmx1ZEdWbEtHVXBPd29nSUNBZ0lDQnBaaUFvSVhJcENpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaR1Z6ZEhKMVkzUnZjaWhsS1N3Z2JuVnNiRHNLSUNBZ0lDQWdkbUZ5SUhRZ1BTQnZaU2gwYUdsekxuSmxaMmx6ZEdWeVpXUkRiR0Z6Y3l3Z2NpazdDaUFnSUNBZ0lHbG1JQ2gwSUNFOVBTQjJiMmxrSURBcElIc0tJQ0FnSUNBZ0lDQnBaaUFvZEM0a0pDNWpiM1Z1ZEM1MllXeDFaU0E5UFQwZ01Da0tJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBMaVFrTG5CMGNpQTlJSElzSUhRdUpDUXVjMjFoY25SUWRISWdQU0JsTENCMExtTnNiMjVsS0NrN0NpQWdJQ0FnSUNBZ2RtRnlJRzRnUFNCMExtTnNiMjVsS0NrN0NpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaR1Z6ZEhKMVkzUnZjaWhsS1N3Z2Jqc0tJQ0FnSUNBZ2ZRb2dJQ0FnSUNCbWRXNWpkR2x2YmlCektDa2dld29nSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG1selUyMWhjblJRYjJsdWRHVnlJRDhnVm1Vb2RHaHBjeTV5WldkcGMzUmxjbVZrUTJ4aGMzTXVhVzV6ZEdGdVkyVlFjbTkwYjNSNWNHVXNJSHNLSUNBZ0lDQWdJQ0FnSUhCMGNsUjVjR1U2SUhSb2FYTXVjRzlwYm5SbFpWUjVjR1VzQ2lBZ0lDQWdJQ0FnSUNCd2RISTZJSElzQ2lBZ0lDQWdJQ0FnSUNCemJXRnlkRkIwY2xSNWNHVTZJSFJvYVhNc0NpQWdJQ0FnSUNBZ0lDQnpiV0Z5ZEZCMGNqb2daUW9nSUNBZ0lDQWdJSDBwSURvZ1ZtVW9kR2hwY3k1eVpXZHBjM1JsY21Wa1EyeGhjM011YVc1emRHRnVZMlZRY205MGIzUjVjR1VzSUhzS0lDQWdJQ0FnSUNBZ0lIQjBjbFI1Y0dVNklIUm9hWE1zQ2lBZ0lDQWdJQ0FnSUNCd2RISTZJR1VLSUNBZ0lDQWdJQ0I5S1RzS0lDQWdJQ0FnZlFvZ0lDQWdJQ0IyWVhJZ1l5QTlJSFJvYVhNdWNtVm5hWE4wWlhKbFpFTnNZWE56TG1kbGRFRmpkSFZoYkZSNWNHVW9jaWtzSUdZZ1BTQWtjbHRqWFRzS0lDQWdJQ0FnYVdZZ0tDRm1LUW9nSUNBZ0lDQWdJSEpsZEhWeWJpQnpMbU5oYkd3b2RHaHBjeWs3Q2lBZ0lDQWdJSFpoY2lCMk93b2dJQ0FnSUNCMGFHbHpMbWx6UTI5dWMzUWdQeUIySUQwZ1ppNWpiMjV6ZEZCdmFXNTBaWEpVZVhCbElEb2dkaUE5SUdZdWNHOXBiblJsY2xSNWNHVTdDaUFnSUNBZ0lIWmhjaUJ3SUQwZ1NuSW9jaXdnZEdocGN5NXlaV2RwYzNSbGNtVmtRMnhoYzNNc0lIWXVjbVZuYVhOMFpYSmxaRU5zWVhOektUc0tJQ0FnSUNBZ2NtVjBkWEp1SUhBZ1BUMDlJRzUxYkd3Z1B5QnpMbU5oYkd3b2RHaHBjeWtnT2lCMGFHbHpMbWx6VTIxaGNuUlFiMmx1ZEdWeUlEOGdWbVVvZGk1eVpXZHBjM1JsY21Wa1EyeGhjM011YVc1emRHRnVZMlZRY205MGIzUjVjR1VzSUhzS0lDQWdJQ0FnSUNCd2RISlVlWEJsT2lCMkxBb2dJQ0FnSUNBZ0lIQjBjam9nY0N3S0lDQWdJQ0FnSUNCemJXRnlkRkIwY2xSNWNHVTZJSFJvYVhNc0NpQWdJQ0FnSUNBZ2MyMWhjblJRZEhJNklHVUtJQ0FnSUNBZ2ZTa2dPaUJXWlNoMkxuSmxaMmx6ZEdWeVpXUkRiR0Z6Y3k1cGJuTjBZVzVqWlZCeWIzUnZkSGx3WlN3Z2V3b2dJQ0FnSUNBZ0lIQjBjbFI1Y0dVNklIWXNDaUFnSUNBZ0lDQWdjSFJ5T2lCd0NpQWdJQ0FnSUgwcE93b2dJQ0FnZlFvZ0lDQWdkbUZ5SUVabElEMGdLR1VwSUQwK0lIUjVjR1Z2WmlCR2FXNWhiR2w2WVhScGIyNVNaV2RwYzNSeWVTQStJQ0oxSWlBL0lDaEdaU0E5SUNoeUtTQTlQaUJ5TENCbEtTQTZJQ2hVY2lBOUlHNWxkeUJHYVc1aGJHbDZZWFJwYjI1U1pXZHBjM1J5ZVNnb2Npa2dQVDRnZXdvZ0lDQWdJQ0J4Y2loeUxpUWtLVHNLSUNBZ0lIMHBMQ0JHWlNBOUlDaHlLU0E5UGlCN0NpQWdJQ0FnSUhaaGNpQjBJRDBnY2k0a0pDd2diaUE5SUNFaGRDNXpiV0Z5ZEZCMGNqc0tJQ0FnSUNBZ2FXWWdLRzRwSUhzS0lDQWdJQ0FnSUNCMllYSWdjeUE5SUhzS0lDQWdJQ0FnSUNBZ0lDUWtPaUIwQ2lBZ0lDQWdJQ0FnZlRzS0lDQWdJQ0FnSUNCVWNpNXlaV2RwYzNSbGNpaHlMQ0J6TENCeUtUc0tJQ0FnSUNBZ2ZRb2dJQ0FnSUNCeVpYUjFjbTRnY2pzS0lDQWdJSDBzSUZwbElEMGdLSElwSUQwK0lGUnlMblZ1Y21WbmFYTjBaWElvY2lrc0lFWmxLR1VwS1N3Z1JIUWdQU0FvWlN3Z2Npd2dkQ2tnUFQ0Z2V3b2dJQ0FnSUNCbElEMGdUQ2hsS1N3Z2NpQTlJRmhsS0hJc0lDSjNjbUZ3Y0dWeUlpa3NJSFFnUFNCVExuUnZWbUZzZFdVb2RDazdDaUFnSUNBZ0lIWmhjaUJ1SUQwZ2NpNXlaV2RwYzNSbGNtVmtRMnhoYzNNc0lITWdQU0J1TG1sdWMzUmhibU5sVUhKdmRHOTBlWEJsTENCaklEMGdiaTVpWVhObFEyeGhjM01zSUdZZ1BTQmpMbWx1YzNSaGJtTmxVSEp2ZEc5MGVYQmxMQ0IySUQwZ2JpNWlZWE5sUTJ4aGMzTXVZMjl1YzNSeWRXTjBiM0lzSUhBZ1BTQlhaU2hsTENCbWRXNWpkR2x2YmlndUxpNW5LU0I3Q2lBZ0lDQWdJQ0FnYmk1aVlYTmxRMnhoYzNNdWNIVnlaVlpwY25SMVlXeEdkVzVqZEdsdmJuTXVabTl5UldGamFDZ29ablZ1WTNScGIyNG9hQ2tnZXdvZ0lDQWdJQ0FnSUNBZ2FXWWdLSFJvYVhOYmFGMGdQVDA5SUdaYmFGMHBDaUFnSUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCaWNpaGdVSFZ5WlNCMmFYSjBkV0ZzSUdaMWJtTjBhVzl1SUNSN2FIMGdiWFZ6ZENCaVpTQnBiWEJzWlcxbGJuUmxaQ0JwYmlCS1lYWmhVMk55YVhCMFlDazdDaUFnSUNBZ0lDQWdmU2t1WW1sdVpDaDBhR2x6S1Nrc0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2gwYUdsekxDQWlYMTl3WVhKbGJuUWlMQ0I3Q2lBZ0lDQWdJQ0FnSUNCMllXeDFaVG9nY3dvZ0lDQWdJQ0FnSUgwcExDQjBhR2x6TGw5ZlkyOXVjM1J5ZFdOMEtDNHVMbWNwT3dvZ0lDQWdJQ0I5S1RzS0lDQWdJQ0FnY21WMGRYSnVJSE11WDE5amIyNXpkSEoxWTNRZ1BTQm1kVzVqZEdsdmJpZ3VMaTVvS1NCN0NpQWdJQ0FnSUNBZ2RHaHBjeUE5UFQwZ2N5QW1KaUJES0NKUVlYTnpJR052Y25KbFkzUWdKM1JvYVhNbklIUnZJRjlmWTI5dWMzUnlkV04wSWlrN0NpQWdJQ0FnSUNBZ2RtRnlJR0lnUFNCMkxtbHRjR3hsYldWdWRDaDBhR2x6TENBdUxpNW9LVHNLSUNBZ0lDQWdJQ0JhWlNoaUtUc0tJQ0FnSUNBZ0lDQjJZWElnUVNBOUlHSXVKQ1E3Q2lBZ0lDQWdJQ0FnWWk1dWIzUnBabmxQYmtSbGMzUnlkV04wYVc5dUtDa3NJRUV1Y0hKbGMyVnlkbVZRYjJsdWRHVnlUMjVFWld4bGRHVWdQU0FoTUN3Z1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUnBaWE1vZEdocGN5d2dld29nSUNBZ0lDQWdJQ0FnSkNRNklIc0tJQ0FnSUNBZ0lDQWdJQ0FnZG1Gc2RXVTZJRUVLSUNBZ0lDQWdJQ0FnSUgwS0lDQWdJQ0FnSUNCOUtTd2dSbVVvZEdocGN5a3NJRk4wS0c0c0lFRXVjSFJ5TENCMGFHbHpLVHNLSUNBZ0lDQWdmU3dnY3k1ZlgyUmxjM1J5ZFdOMElEMGdablZ1WTNScGIyNG9LU0I3Q2lBZ0lDQWdJQ0FnZEdocGN5QTlQVDBnY3lBbUppQkRLQ0pRWVhOeklHTnZjbkpsWTNRZ0ozUm9hWE1uSUhSdklGOWZaR1Z6ZEhKMVkzUWlLU3dnV21Vb2RHaHBjeWtzSUd0MEtHNHNJSFJvYVhNdUpDUXVjSFJ5S1RzS0lDQWdJQ0FnZlN3Z2NDNXdjbTkwYjNSNWNHVWdQU0JQWW1wbFkzUXVZM0psWVhSbEtITXBMQ0JQWW1wbFkzUXVZWE56YVdkdUtIQXVjSEp2ZEc5MGVYQmxMQ0IwS1N3Z1V5NTBiMGhoYm1Sc1pTaHdLVHNLSUNBZ0lIMHNJRmNnUFNCN2ZTd2daWElnUFNBb1pTa2dQVDRnZXdvZ0lDQWdJQ0JtYjNJZ0tEc2daUzVzWlc1bmRHZzdJQ2tnZXdvZ0lDQWdJQ0FnSUhaaGNpQnlJRDBnWlM1d2IzQW9LU3dnZENBOUlHVXVjRzl3S0NrN0NpQWdJQ0FnSUNBZ2RDaHlLVHNLSUNBZ0lDQWdmUW9nSUNBZ2ZUc0tJQ0FnSUdaMWJtTjBhVzl1SUZKbEtHVXBJSHNLSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11Wm5KdmJWZHBjbVZVZVhCbEtFWmJaU0ErUGlBeVhTazdDaUFnSUNCOUNpQWdJQ0IyWVhJZ1UyVWdQU0I3ZlN3Z1N5QTlJSHQ5TENCaVpTQTlJQ2hsTENCeUxDQjBLU0E5UGlCN0NpQWdJQ0FnSUdVdVptOXlSV0ZqYUNnb2Rpa2dQVDRnUzF0MlhTQTlJSElwT3dvZ0lDQWdJQ0JtZFc1amRHbHZiaUJ1S0hZcElIc0tJQ0FnSUNBZ0lDQjJZWElnY0NBOUlIUW9kaWs3Q2lBZ0lDQWdJQ0FnY0M1c1pXNW5kR2dnSVQwOUlHVXViR1Z1WjNSb0lDWW1JRkZsS0NKTmFYTnRZWFJqYUdWa0lIUjVjR1VnWTI5dWRtVnlkR1Z5SUdOdmRXNTBJaWs3Q2lBZ0lDQWdJQ0FnWm05eUlDaDJZWElnWnlBOUlEQTdJR2NnUENCbExteGxibWQwYURzZ0t5dG5LUW9nSUNBZ0lDQWdJQ0FnY21Vb1pWdG5YU3dnY0Z0blhTazdDaUFnSUNBZ0lIMEtJQ0FnSUNBZ2RtRnlJSE1nUFNCdVpYY2dRWEp5WVhrb2NpNXNaVzVuZEdncExDQmpJRDBnVzEwc0lHWWdQU0F3T3dvZ0lDQWdJQ0J5TG1admNrVmhZMmdvS0hZc0lIQXBJRDArSUhzS0lDQWdJQ0FnSUNCQlpTNW9ZWE5QZDI1UWNtOXdaWEowZVNoMktTQS9JSE5iY0YwZ1BTQkJaVnQyWFNBNklDaGpMbkIxYzJnb2Rpa3NJRk5sTG1oaGMwOTNibEJ5YjNCbGNuUjVLSFlwSUh4OElDaFRaVnQyWFNBOUlGdGRLU3dnVTJWYmRsMHVjSFZ6YUNnb0tTQTlQaUI3Q2lBZ0lDQWdJQ0FnSUNCelczQmRJRDBnUVdWYmRsMHNJQ3NyWml3Z1ppQTlQVDBnWXk1c1pXNW5kR2dnSmlZZ2JpaHpLVHNLSUNBZ0lDQWdJQ0I5S1NrN0NpQWdJQ0FnSUgwcExDQmpMbXhsYm1kMGFDQTlQVDBnTUNBbUppQnVLSE1wT3dvZ0lDQWdmU3dnV1hJZ1BTQW9aU2tnUFQ0Z2V3b2dJQ0FnSUNCMllYSWdjaUE5SUZkYlpWMDdDaUFnSUNBZ0lHUmxiR1YwWlNCWFcyVmRPd29nSUNBZ0lDQjJZWElnZENBOUlISXVjbUYzUTI5dWMzUnlkV04wYjNJc0lHNGdQU0J5TG5KaGQwUmxjM1J5ZFdOMGIzSXNJSE1nUFNCeUxtWnBaV3hrY3l3Z1l5QTlJSE11YldGd0tDaG1LU0E5UGlCbUxtZGxkSFJsY2xKbGRIVnlibFI1Y0dVcExtTnZibU5oZENoekxtMWhjQ2dvWmlrZ1BUNGdaaTV6WlhSMFpYSkJjbWQxYldWdWRGUjVjR1VwS1RzS0lDQWdJQ0FnWW1Vb1cyVmRMQ0JqTENBb1ppa2dQVDRnZXdvZ0lDQWdJQ0FnSUhaaGNpQjJJRDBnZTMwN0NpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhNdVptOXlSV0ZqYUNnb2NDd2daeWtnUFQ0Z2V3b2dJQ0FnSUNBZ0lDQWdkbUZ5SUdnZ1BTQndMbVpwWld4a1RtRnRaU3dnWWlBOUlHWmJaMTBzSUVFZ1BTQndMbWRsZEhSbGNpd2dRaUE5SUhBdVoyVjBkR1Z5UTI5dWRHVjRkQ3dnVmlBOUlHWmJaeUFySUhNdWJHVnVaM1JvWFN3Z1kyVWdQU0J3TG5ObGRIUmxjaXdnZFdVZ1BTQndMbk5sZEhSbGNrTnZiblJsZUhRN0NpQWdJQ0FnSUNBZ0lDQjJXMmhkSUQwZ2V3b2dJQ0FnSUNBZ0lDQWdJQ0J5WldGa09pQW9XQ2tnUFQ0Z1lpNW1jbTl0VjJseVpWUjVjR1VvUVNoQ0xDQllLU2tzQ2lBZ0lDQWdJQ0FnSUNBZ0lIZHlhWFJsT2lBb1dDd2dSbklwSUQwK0lIc0tJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllYSWdibVVnUFNCYlhUc0tJQ0FnSUNBZ0lDQWdJQ0FnSUNCalpTaDFaU3dnV0N3Z1ZpNTBiMWRwY21WVWVYQmxLRzVsTENCR2Npa3BMQ0JsY2lodVpTazdDaUFnSUNBZ0lDQWdJQ0FnSUgwS0lDQWdJQ0FnSUNBZ0lIMDdDaUFnSUNBZ0lDQWdmU2tzSUZ0N0NpQWdJQ0FnSUNBZ0lDQnVZVzFsT2lCeUxtNWhiV1VzQ2lBZ0lDQWdJQ0FnSUNCbWNtOXRWMmx5WlZSNWNHVTZJQ2h3S1NBOVBpQjdDaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQm5JRDBnZTMwN0NpQWdJQ0FnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR2dnYVc0Z2Rpa0tJQ0FnSUNBZ0lDQWdJQ0FnSUNCblcyaGRJRDBnZGx0b1hTNXlaV0ZrS0hBcE93b2dJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdiaWh3S1N3Z1p6c0tJQ0FnSUNBZ0lDQWdJSDBzQ2lBZ0lDQWdJQ0FnSUNCMGIxZHBjbVZVZVhCbE9pQW9jQ3dnWnlrZ1BUNGdld29nSUNBZ0lDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCb0lHbHVJSFlwQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NFb2FDQnBiaUJuS1NrS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1lFMXBjM05wYm1jZ1ptbGxiR1E2SUNJa2UyaDlJbUFwT3dvZ0lDQWdJQ0FnSUNBZ0lDQjJZWElnWWlBOUlIUW9LVHNLSUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2hvSUdsdUlIWXBDaUFnSUNBZ0lDQWdJQ0FnSUNBZ2RsdG9YUzUzY21sMFpTaGlMQ0JuVzJoZEtUc0tJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSEFnSVQwOUlHNTFiR3dnSmlZZ2NDNXdkWE5vS0c0c0lHSXBMQ0JpT3dvZ0lDQWdJQ0FnSUNBZ2ZTd0tJQ0FnSUNBZ0lDQWdJR0Z5WjFCaFkydEJaSFpoYm1ObE9pQjBaU3dLSUNBZ0lDQWdJQ0FnSUhKbFlXUldZV3gxWlVaeWIyMVFiMmx1ZEdWeU9pQlNaU3dLSUNBZ0lDQWdJQ0FnSUdSbGMzUnlkV04wYjNKR2RXNWpkR2x2YmpvZ2Jnb2dJQ0FnSUNBZ0lIMWRPd29nSUNBZ0lDQjlLVHNLSUNBZ0lIMHNJRXhsSUQwZ0tHVXBJRDArSUhzS0lDQWdJQ0FnYVdZZ0tHVWdQVDA5SUc1MWJHd3BDaUFnSUNBZ0lDQWdjbVYwZFhKdUlDSnVkV3hzSWpzS0lDQWdJQ0FnZG1GeUlISWdQU0IwZVhCbGIyWWdaVHNLSUNBZ0lDQWdjbVYwZFhKdUlISWdQVDA5SUNKdlltcGxZM1FpSUh4OElISWdQVDA5SUNKaGNuSmhlU0lnZkh3Z2NpQTlQVDBnSW1aMWJtTjBhVzl1SWlBL0lHVXVkRzlUZEhKcGJtY29LU0E2SUNJaUlDc2daVHNLSUNBZ0lIMDdDaUFnSUNCbWRXNWpkR2x2YmlCWWNpaGxMQ0J5TENCMElEMGdlMzBwSUhzS0lDQWdJQ0FnZG1GeUlHNGdQU0J5TG01aGJXVTdDaUFnSUNBZ0lHbG1JQ2hsSUh4OElFTW9ZSFI1Y0dVZ0lpUjdibjBpSUcxMWMzUWdhR0YyWlNCaElIQnZjMmwwYVhabElHbHVkR1ZuWlhJZ2RIbHdaV2xrSUhCdmFXNTBaWEpnS1N3Z1FXVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb1pTa3BJSHNLSUNBZ0lDQWdJQ0JwWmlBb2RDNXBaMjV2Y21WRWRYQnNhV05oZEdWU1pXZHBjM1J5WVhScGIyNXpLUW9nSUNBZ0lDQWdJQ0FnY21WMGRYSnVPd29nSUNBZ0lDQWdJRU1vWUVOaGJtNXZkQ0J5WldkcGMzUmxjaUIwZVhCbElDY2tlMjU5SnlCMGQybGpaV0FwT3dvZ0lDQWdJQ0I5Q2lBZ0lDQWdJR2xtSUNoQlpWdGxYU0E5SUhJc0lHUmxiR1YwWlNCTFcyVmRMQ0JUWlM1b1lYTlBkMjVRY205d1pYSjBlU2hsS1NrZ2V3b2dJQ0FnSUNBZ0lIWmhjaUJ6SUQwZ1UyVmJaVjA3Q2lBZ0lDQWdJQ0FnWkdWc1pYUmxJRk5sVzJWZExDQnpMbVp2Y2tWaFkyZ29LR01wSUQwK0lHTW9LU2s3Q2lBZ0lDQWdJSDBLSUNBZ0lIMEtJQ0FnSUdaMWJtTjBhVzl1SUhKbEtHVXNJSElzSUhRZ1BTQjdmU2tnZXdvZ0lDQWdJQ0J5WlhSMWNtNGdXSElvWlN3Z2Npd2dkQ2s3Q2lBZ0lDQjlDaUFnSUNCMllYSWdRM0lnUFNBb1pTd2djaXdnZENrZ1BUNGdld29nSUNBZ0lDQnpkMmwwWTJnZ0tISXBJSHNLSUNBZ0lDQWdJQ0JqWVhObElERTZDaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkQ0EvSUNodUtTQTlQaUJwWlZ0dVhTQTZJQ2h1S1NBOVBpQk5XMjVkT3dvZ0lDQWdJQ0FnSUdOaGMyVWdNam9LSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwSUQ4Z0tHNHBJRDArSUhsbFcyNGdQajRnTVYwZ09pQW9iaWtnUFQ0Z2QyVmJiaUErUGlBeFhUc0tJQ0FnSUNBZ0lDQmpZWE5sSURRNkNpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RDQS9JQ2h1S1NBOVBpQnpaVnR1SUQ0K0lESmRJRG9nS0c0cElEMCtJRVpiYmlBK1BpQXlYVHNLSUNBZ0lDQWdJQ0JqWVhObElEZzZDaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkQ0EvSUNodUtTQTlQaUJOWlZ0dUlENCtJRE5kSURvZ0tHNHBJRDArSUdaeVcyNGdQajRnTTEwN0NpQWdJQ0FnSUNBZ1pHVm1ZWFZzZERvS0lDQWdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9ZR2x1ZG1Gc2FXUWdhVzUwWldkbGNpQjNhV1IwYUNBb0pIdHlmU2s2SUNSN1pYMWdLVHNLSUNBZ0lDQWdmUW9nSUNBZ2ZTd2dXbklnUFNBb1pTd2djaXdnZEN3Z2Jpd2djeWtnUFQ0Z2V3b2dJQ0FnSUNCeUlEMGdUQ2h5S1RzS0lDQWdJQ0FnZG1GeUlHTWdQU0J5TG1sdVpHVjRUMllvSW5VaUtTQWhQU0F0TVRzS0lDQWdJQ0FnY21Vb1pTd2dld29nSUNBZ0lDQWdJRzVoYldVNklISXNDaUFnSUNBZ0lDQWdabkp2YlZkcGNtVlVlWEJsT2lBb1ppa2dQVDRnWml3S0lDQWdJQ0FnSUNCMGIxZHBjbVZVZVhCbE9pQm1kVzVqZEdsdmJpaG1MQ0IyS1NCN0NpQWdJQ0FnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JSFlnSVQwZ0ltSnBaMmx1ZENJZ0ppWWdkSGx3Wlc5bUlIWWdJVDBnSW01MWJXSmxjaUlwQ2lBZ0lDQWdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9ZRU5oYm01dmRDQmpiMjUyWlhKMElDSWtlMHhsS0hZcGZTSWdkRzhnSkh0MGFHbHpMbTVoYldWOVlDazdDaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSGx3Wlc5bUlIWWdQVDBnSW01MWJXSmxjaUlnSmlZZ0tIWWdQU0JDYVdkSmJuUW9kaWtwTENCMk93b2dJQ0FnSUNBZ0lIMHNDaUFnSUNBZ0lDQWdZWEpuVUdGamEwRmtkbUZ1WTJVNklIUmxMQW9nSUNBZ0lDQWdJSEpsWVdSV1lXeDFaVVp5YjIxUWIybHVkR1Z5T2lCRGNpaHlMQ0IwTENBaFl5a3NDaUFnSUNBZ0lDQWdaR1Z6ZEhKMVkzUnZja1oxYm1OMGFXOXVPaUJ1ZFd4c0NpQWdJQ0FnSUgwcE93b2dJQ0FnZlN3Z2RHVWdQU0E0TENCR2RDQTlJQ2hsTENCeUxDQjBMQ0J1S1NBOVBpQjdDaUFnSUNBZ0lISWdQU0JNS0hJcExDQnlaU2hsTENCN0NpQWdJQ0FnSUNBZ2JtRnRaVG9nY2l3S0lDQWdJQ0FnSUNCbWNtOXRWMmx5WlZSNWNHVTZJR1oxYm1OMGFXOXVLSE1wSUhzS0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBaElYTTdDaUFnSUNBZ0lDQWdmU3dLSUNBZ0lDQWdJQ0IwYjFkcGNtVlVlWEJsT2lCbWRXNWpkR2x2YmloekxDQmpLU0I3Q2lBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWXlBL0lIUWdPaUJ1T3dvZ0lDQWdJQ0FnSUgwc0NpQWdJQ0FnSUNBZ1lYSm5VR0ZqYTBGa2RtRnVZMlU2SUhSbExBb2dJQ0FnSUNBZ0lISmxZV1JXWVd4MVpVWnliMjFRYjJsdWRHVnlPaUJtZFc1amRHbHZiaWh6S1NCN0NpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVtY205dFYybHlaVlI1Y0dVb1RWdHpYU2s3Q2lBZ0lDQWdJQ0FnZlN3S0lDQWdJQ0FnSUNCa1pYTjBjblZqZEc5eVJuVnVZM1JwYjI0NklHNTFiR3dLSUNBZ0lDQWdmU2s3Q2lBZ0lDQjlMQ0JQZENBOUlDaGxLU0E5UGlBb2V3b2dJQ0FnSUNCamIzVnVkRG9nWlM1amIzVnVkQ3dLSUNBZ0lDQWdaR1ZzWlhSbFUyTm9aV1IxYkdWa09pQmxMbVJsYkdWMFpWTmphR1ZrZFd4bFpDd0tJQ0FnSUNBZ2NISmxjMlZ5ZG1WUWIybHVkR1Z5VDI1RVpXeGxkR1U2SUdVdWNISmxjMlZ5ZG1WUWIybHVkR1Z5VDI1RVpXeGxkR1VzQ2lBZ0lDQWdJSEIwY2pvZ1pTNXdkSElzQ2lBZ0lDQWdJSEIwY2xSNWNHVTZJR1V1Y0hSeVZIbHdaU3dLSUNBZ0lDQWdjMjFoY25SUWRISTZJR1V1YzIxaGNuUlFkSElzQ2lBZ0lDQWdJSE50WVhKMFVIUnlWSGx3WlRvZ1pTNXpiV0Z5ZEZCMGNsUjVjR1VLSUNBZ0lIMHBMQ0JCY2lBOUlDaGxLU0E5UGlCN0NpQWdJQ0FnSUdaMWJtTjBhVzl1SUhJb2RDa2dld29nSUNBZ0lDQWdJSEpsZEhWeWJpQjBMaVFrTG5CMGNsUjVjR1V1Y21WbmFYTjBaWEpsWkVOc1lYTnpMbTVoYldVN0NpQWdJQ0FnSUgwS0lDQWdJQ0FnUXloeUtHVXBJQ3NnSWlCcGJuTjBZVzVqWlNCaGJISmxZV1I1SUdSbGJHVjBaV1FpS1RzS0lDQWdJSDBzSUZWMElEMGdLQ2tnUFQ0Z2V3b2dJQ0FnSUNCUFltcGxZM1F1WVhOemFXZHVLSEp5TG5CeWIzUnZkSGx3WlN3Z2V3b2dJQ0FnSUNBZ0lHbHpRV3hwWVhOUFppaGxLU0I3Q2lBZ0lDQWdJQ0FnSUNCcFppQW9JU2gwYUdseklHbHVjM1JoYm1ObGIyWWdjbklwSUh4OElDRW9aU0JwYm5OMFlXNWpaVzltSUhKeUtTa0tJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJQ0V4T3dvZ0lDQWdJQ0FnSUNBZ2RtRnlJSElnUFNCMGFHbHpMaVFrTG5CMGNsUjVjR1V1Y21WbmFYTjBaWEpsWkVOc1lYTnpMQ0IwSUQwZ2RHaHBjeTRrSkM1d2RISTdDaUFnSUNBZ0lDQWdJQ0JsTGlRa0lEMGdMeW9xSUVCMGVYQmxJSHRQWW1wbFkzUjlJQ292Q2lBZ0lDQWdJQ0FnSUNCbExpUWtPd29nSUNBZ0lDQWdJQ0FnWm05eUlDaDJZWElnYmlBOUlHVXVKQ1F1Y0hSeVZIbHdaUzV5WldkcGMzUmxjbVZrUTJ4aGMzTXNJSE1nUFNCbExpUWtMbkIwY2pzZ2NpNWlZWE5sUTJ4aGMzTTdJQ2tLSUNBZ0lDQWdJQ0FnSUNBZ2RDQTlJSEl1ZFhCallYTjBLSFFwTENCeUlEMGdjaTVpWVhObFEyeGhjM003Q2lBZ0lDQWdJQ0FnSUNCbWIzSWdLRHNnYmk1aVlYTmxRMnhoYzNNN0lDa0tJQ0FnSUNBZ0lDQWdJQ0FnY3lBOUlHNHVkWEJqWVhOMEtITXBMQ0J1SUQwZ2JpNWlZWE5sUTJ4aGMzTTdDaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjaUE5UFQwZ2JpQW1KaUIwSUQwOVBTQnpPd29nSUNBZ0lDQWdJSDBzQ2lBZ0lDQWdJQ0FnWTJ4dmJtVW9LU0I3Q2lBZ0lDQWdJQ0FnSUNCcFppQW9kR2hwY3k0a0pDNXdkSElnZkh3Z1FYSW9kR2hwY3lrc0lIUm9hWE11SkNRdWNISmxjMlZ5ZG1WUWIybHVkR1Z5VDI1RVpXeGxkR1VwQ2lBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMaVFrTG1OdmRXNTBMblpoYkhWbElDczlJREVzSUhSb2FYTTdDaUFnSUNBZ0lDQWdJQ0IyWVhJZ1pTQTlJRVpsS0U5aWFtVmpkQzVqY21WaGRHVW9UMkpxWldOMExtZGxkRkJ5YjNSdmRIbHdaVTltS0hSb2FYTXBMQ0I3Q2lBZ0lDQWdJQ0FnSUNBZ0lDUWtPaUI3Q2lBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZzZFdVNklFOTBLSFJvYVhNdUpDUXBDaUFnSUNBZ0lDQWdJQ0FnSUgwS0lDQWdJQ0FnSUNBZ0lIMHBLVHNLSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJsTGlRa0xtTnZkVzUwTG5aaGJIVmxJQ3M5SURFc0lHVXVKQ1F1WkdWc1pYUmxVMk5vWldSMWJHVmtJRDBnSVRFc0lHVTdDaUFnSUNBZ0lDQWdmU3dLSUNBZ0lDQWdJQ0JrWld4bGRHVW9LU0I3Q2lBZ0lDQWdJQ0FnSUNCMGFHbHpMaVFrTG5CMGNpQjhmQ0JCY2loMGFHbHpLU3dnZEdocGN5NGtKQzVrWld4bGRHVlRZMmhsWkhWc1pXUWdKaVlnSVhSb2FYTXVKQ1F1Y0hKbGMyVnlkbVZRYjJsdWRHVnlUMjVFWld4bGRHVWdKaVlnUXlnaVQySnFaV04wSUdGc2NtVmhaSGtnYzJOb1pXUjFiR1ZrSUdadmNpQmtaV3hsZEdsdmJpSXBMQ0JhWlNoMGFHbHpLU3dnY1hJb2RHaHBjeTRrSkNrc0lIUm9hWE11SkNRdWNISmxjMlZ5ZG1WUWIybHVkR1Z5VDI1RVpXeGxkR1VnZkh3Z0tIUm9hWE11SkNRdWMyMWhjblJRZEhJZ1BTQjJiMmxrSURBc0lIUm9hWE11SkNRdWNIUnlJRDBnZG05cFpDQXdLVHNLSUNBZ0lDQWdJQ0I5TEFvZ0lDQWdJQ0FnSUdselJHVnNaWFJsWkNncElIc0tJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQWhkR2hwY3k0a0pDNXdkSEk3Q2lBZ0lDQWdJQ0FnZlN3S0lDQWdJQ0FnSUNCa1pXeGxkR1ZNWVhSbGNpZ3BJSHNLSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxpUWtMbkIwY2lCOGZDQkJjaWgwYUdsektTd2dkR2hwY3k0a0pDNWtaV3hsZEdWVFkyaGxaSFZzWldRZ0ppWWdJWFJvYVhNdUpDUXVjSEpsYzJWeWRtVlFiMmx1ZEdWeVQyNUVaV3hsZEdVZ0ppWWdReWdpVDJKcVpXTjBJR0ZzY21WaFpIa2djMk5vWldSMWJHVmtJR1p2Y2lCa1pXeGxkR2x2YmlJcExDQkVaUzV3ZFhOb0tIUm9hWE1wTENCRVpTNXNaVzVuZEdnZ1BUMDlJREVnSmlZZ1FtVWdKaVlnUW1Vb1JYSXBMQ0IwYUdsekxpUWtMbVJsYkdWMFpWTmphR1ZrZFd4bFpDQTlJQ0V3TENCMGFHbHpPd29nSUNBZ0lDQWdJSDBLSUNBZ0lDQWdmU2s3Q2lBZ0lDQjlPd29nSUNBZ1puVnVZM1JwYjI0Z2NuSW9LU0I3Q2lBZ0lDQjlDaUFnSUNCMllYSWdVbklnUFNBb1pTd2djaXdnZENrZ1BUNGdld29nSUNBZ0lDQnBaaUFvWlZ0eVhTNXZkbVZ5Ykc5aFpGUmhZbXhsSUQwOVBTQjJiMmxrSURBcElIc0tJQ0FnSUNBZ0lDQjJZWElnYmlBOUlHVmJjbDA3Q2lBZ0lDQWdJQ0FnWlZ0eVhTQTlJR1oxYm1OMGFXOXVLQzR1TG5NcElIc0tJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmxXM0pkTG05MlpYSnNiMkZrVkdGaWJHVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb2N5NXNaVzVuZEdncElIeDhJRU1vWUVaMWJtTjBhVzl1SUNja2UzUjlKeUJqWVd4c1pXUWdkMmwwYUNCaGJpQnBiblpoYkdsa0lHNTFiV0psY2lCdlppQmhjbWQxYldWdWRITWdLQ1I3Y3k1c1pXNW5kR2g5S1NBdElHVjRjR1ZqZEhNZ2IyNWxJRzltSUNna2UyVmJjbDB1YjNabGNteHZZV1JVWVdKc1pYMHBJV0FwTENCbFczSmRMbTkyWlhKc2IyRmtWR0ZpYkdWYmN5NXNaVzVuZEdoZExtRndjR3g1S0hSb2FYTXNJSE1wT3dvZ0lDQWdJQ0FnSUgwc0lHVmJjbDB1YjNabGNteHZZV1JVWVdKc1pTQTlJRnRkTENCbFczSmRMbTkyWlhKc2IyRmtWR0ZpYkdWYmJpNWhjbWREYjNWdWRGMGdQU0J1T3dvZ0lDQWdJQ0I5Q2lBZ0lDQjlMQ0JSY2lBOUlDaGxMQ0J5TENCMEtTQTlQaUI3Q2lBZ0lDQWdJR2t1YUdGelQzZHVVSEp2Y0dWeWRIa29aU2tnUHlBb0tIUWdQVDA5SUhadmFXUWdNQ0I4ZkNCcFcyVmRMbTkyWlhKc2IyRmtWR0ZpYkdVZ0lUMDlJSFp2YVdRZ01DQW1KaUJwVzJWZExtOTJaWEpzYjJGa1ZHRmliR1ZiZEYwZ0lUMDlJSFp2YVdRZ01Da2dKaVlnUXloZ1EyRnVibTkwSUhKbFoybHpkR1Z5SUhCMVlteHBZeUJ1WVcxbElDY2tlMlY5SnlCMGQybGpaV0FwTENCU2NpaHBMQ0JsTENCbEtTd2dhUzVvWVhOUGQyNVFjbTl3WlhKMGVTaDBLU0FtSmlCREtHQkRZVzV1YjNRZ2NtVm5hWE4wWlhJZ2JYVnNkR2x3YkdVZ2IzWmxjbXh2WVdSeklHOW1JR0VnWm5WdVkzUnBiMjRnZDJsMGFDQjBhR1VnYzJGdFpTQnVkVzFpWlhJZ2IyWWdZWEpuZFcxbGJuUnpJQ2drZTNSOUtTRmdLU3dnYVZ0bFhTNXZkbVZ5Ykc5aFpGUmhZbXhsVzNSZElEMGdjaWtnT2lBb2FWdGxYU0E5SUhJc0lIUWdJVDA5SUhadmFXUWdNQ0FtSmlBb2FWdGxYUzV1ZFcxQmNtZDFiV1Z1ZEhNZ1BTQjBLU2s3Q2lBZ0lDQjlMQ0I0ZENBOUlEUTRMQ0JxZENBOUlEVTNMQ0JJZENBOUlDaGxLU0E5UGlCN0NpQWdJQ0FnSUdsbUlDaGxJRDA5UFNCMmIybGtJREFwQ2lBZ0lDQWdJQ0FnY21WMGRYSnVJQ0pmZFc1cmJtOTNiaUk3Q2lBZ0lDQWdJR1VnUFNCbExuSmxjR3hoWTJVb0wxdGVZUzE2UVMxYU1DMDVYMTB2Wnl3Z0lpUWlLVHNLSUNBZ0lDQWdkbUZ5SUhJZ1BTQmxMbU5vWVhKRGIyUmxRWFFvTUNrN0NpQWdJQ0FnSUhKbGRIVnliaUJ5SUQ0OUlIaDBJQ1ltSUhJZ1BEMGdhblFnUHlCZ1h5UjdaWDFnSURvZ1pUc0tJQ0FnSUgwN0NpQWdJQ0JtZFc1amRHbHZiaUIwY2lobExDQnlMQ0IwTENCdUxDQnpMQ0JqTENCbUxDQjJLU0I3Q2lBZ0lDQWdJSFJvYVhNdWJtRnRaU0E5SUdVc0lIUm9hWE11WTI5dWMzUnlkV04wYjNJZ1BTQnlMQ0IwYUdsekxtbHVjM1JoYm1ObFVISnZkRzkwZVhCbElEMGdkQ3dnZEdocGN5NXlZWGRFWlhOMGNuVmpkRzl5SUQwZ2Jpd2dkR2hwY3k1aVlYTmxRMnhoYzNNZ1BTQnpMQ0IwYUdsekxtZGxkRUZqZEhWaGJGUjVjR1VnUFNCakxDQjBhR2x6TG5Wd1kyRnpkQ0E5SUdZc0lIUm9hWE11Wkc5M2JtTmhjM1FnUFNCMkxDQjBhR2x6TG5CMWNtVldhWEowZFdGc1JuVnVZM1JwYjI1eklEMGdXMTA3Q2lBZ0lDQjlDaUFnSUNCMllYSWdVM0lnUFNBb1pTd2djaXdnZENrZ1BUNGdld29nSUNBZ0lDQm1iM0lnS0RzZ2NpQWhQVDBnZERzZ0tRb2dJQ0FnSUNBZ0lISXVkWEJqWVhOMElIeDhJRU1vWUVWNGNHVmpkR1ZrSUc1MWJHd2diM0lnYVc1emRHRnVZMlVnYjJZZ0pIdDBMbTVoYldWOUxDQm5iM1FnWVc0Z2FXNXpkR0Z1WTJVZ2IyWWdKSHR5TG01aGJXVjlZQ2tzSUdVZ1BTQnlMblZ3WTJGemRDaGxLU3dnY2lBOUlISXVZbUZ6WlVOc1lYTnpPd29nSUNBZ0lDQnlaWFIxY200Z1pUc0tJQ0FnSUgwN0NpQWdJQ0JtZFc1amRHbHZiaUJsZENobExDQnlLU0I3Q2lBZ0lDQWdJR2xtSUNoeUlEMDlQU0J1ZFd4c0tRb2dJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx6VW1WbVpYSmxibU5sSUNZbUlFTW9ZRzUxYkd3Z2FYTWdibTkwSUdFZ2RtRnNhV1FnSkh0MGFHbHpMbTVoYldWOVlDa3NJREE3Q2lBZ0lDQWdJSEl1SkNRZ2ZId2dReWhnUTJGdWJtOTBJSEJoYzNNZ0lpUjdUR1VvY2lsOUlpQmhjeUJoSUNSN2RHaHBjeTV1WVcxbGZXQXBMQ0J5TGlRa0xuQjBjaUI4ZkNCREtHQkRZVzV1YjNRZ2NHRnpjeUJrWld4bGRHVmtJRzlpYW1WamRDQmhjeUJoSUhCdmFXNTBaWElnYjJZZ2RIbHdaU0FrZTNSb2FYTXVibUZ0WlgxZ0tUc0tJQ0FnSUNBZ2RtRnlJSFFnUFNCeUxpUWtMbkIwY2xSNWNHVXVjbVZuYVhOMFpYSmxaRU5zWVhOekxDQnVJRDBnVTNJb2NpNGtKQzV3ZEhJc0lIUXNJSFJvYVhNdWNtVm5hWE4wWlhKbFpFTnNZWE56S1RzS0lDQWdJQ0FnY21WMGRYSnVJRzQ3Q2lBZ0lDQjlDaUFnSUNCbWRXNWpkR2x2YmlCeWRDaGxMQ0J5S1NCN0NpQWdJQ0FnSUhaaGNpQjBPd29nSUNBZ0lDQnBaaUFvY2lBOVBUMGdiblZzYkNrS0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXBjMUpsWm1WeVpXNWpaU0FtSmlCREtHQnVkV3hzSUdseklHNXZkQ0JoSUhaaGJHbGtJQ1I3ZEdocGN5NXVZVzFsZldBcExDQjBhR2x6TG1selUyMWhjblJRYjJsdWRHVnlJRDhnS0hRZ1BTQjBhR2x6TG5KaGQwTnZibk4wY25WamRHOXlLQ2tzSUdVZ0lUMDlJRzUxYkd3Z0ppWWdaUzV3ZFhOb0tIUm9hWE11Y21GM1JHVnpkSEoxWTNSdmNpd2dkQ2tzSUhRcElEb2dNRHNLSUNBZ0lDQWdLQ0Z5SUh4OElDRnlMaVFrS1NBbUppQkRLR0JEWVc1dWIzUWdjR0Z6Y3lBaUpIdE1aU2h5S1gwaUlHRnpJR0VnSkh0MGFHbHpMbTVoYldWOVlDa3NJSEl1SkNRdWNIUnlJSHg4SUVNb1lFTmhibTV2ZENCd1lYTnpJR1JsYkdWMFpXUWdiMkpxWldOMElHRnpJR0VnY0c5cGJuUmxjaUJ2WmlCMGVYQmxJQ1I3ZEdocGN5NXVZVzFsZldBcExDQWhkR2hwY3k1cGMwTnZibk4wSUNZbUlISXVKQ1F1Y0hSeVZIbHdaUzVwYzBOdmJuTjBJQ1ltSUVNb1lFTmhibTV2ZENCamIyNTJaWEowSUdGeVozVnRaVzUwSUc5bUlIUjVjR1VnSkh0eUxpUWtMbk50WVhKMFVIUnlWSGx3WlNBL0lISXVKQ1F1YzIxaGNuUlFkSEpVZVhCbExtNWhiV1VnT2lCeUxpUWtMbkIwY2xSNWNHVXVibUZ0WlgwZ2RHOGdjR0Z5WVcxbGRHVnlJSFI1Y0dVZ0pIdDBhR2x6TG01aGJXVjlZQ2s3Q2lBZ0lDQWdJSFpoY2lCdUlEMGdjaTRrSkM1d2RISlVlWEJsTG5KbFoybHpkR1Z5WldSRGJHRnpjenNLSUNBZ0lDQWdhV1lnS0hRZ1BTQlRjaWh5TGlRa0xuQjBjaXdnYml3Z2RHaHBjeTV5WldkcGMzUmxjbVZrUTJ4aGMzTXBMQ0IwYUdsekxtbHpVMjFoY25SUWIybHVkR1Z5S1FvZ0lDQWdJQ0FnSUhOM2FYUmphQ0FvY2k0a0pDNXpiV0Z5ZEZCMGNpQTlQVDBnZG05cFpDQXdJQ1ltSUVNb0lsQmhjM05wYm1jZ2NtRjNJSEJ2YVc1MFpYSWdkRzhnYzIxaGNuUWdjRzlwYm5SbGNpQnBjeUJwYkd4bFoyRnNJaWtzSUhSb2FYTXVjMmhoY21sdVoxQnZiR2xqZVNrZ2V3b2dJQ0FnSUNBZ0lDQWdZMkZ6WlNBd09nb2dJQ0FnSUNBZ0lDQWdJQ0J5TGlRa0xuTnRZWEowVUhSeVZIbHdaU0E5UFQwZ2RHaHBjeUEvSUhRZ1BTQnlMaVFrTG5OdFlYSjBVSFJ5SURvZ1F5aGdRMkZ1Ym05MElHTnZiblpsY25RZ1lYSm5kVzFsYm5RZ2IyWWdkSGx3WlNBa2UzSXVKQ1F1YzIxaGNuUlFkSEpVZVhCbElEOGdjaTRrSkM1emJXRnlkRkIwY2xSNWNHVXVibUZ0WlNBNklISXVKQ1F1Y0hSeVZIbHdaUzV1WVcxbGZTQjBieUJ3WVhKaGJXVjBaWElnZEhsd1pTQWtlM1JvYVhNdWJtRnRaWDFnS1RzS0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN0NpQWdJQ0FnSUNBZ0lDQmpZWE5sSURFNkNpQWdJQ0FnSUNBZ0lDQWdJSFFnUFNCeUxpUWtMbk50WVhKMFVIUnlPd29nSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenNLSUNBZ0lDQWdJQ0FnSUdOaGMyVWdNam9LSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSEl1SkNRdWMyMWhjblJRZEhKVWVYQmxJRDA5UFNCMGFHbHpLUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lIUWdQU0J5TGlRa0xuTnRZWEowVUhSeU93b2dJQ0FnSUNBZ0lDQWdJQ0JsYkhObElIc0tJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllYSWdjeUE5SUhJdVkyeHZibVVvS1RzS0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwSUQwZ2RHaHBjeTV5WVhkVGFHRnlaU2gwTENCVExuUnZTR0Z1Wkd4bEtDZ3BJRDArSUhNdVpHVnNaWFJsS0NrcEtTd2daU0FoUFQwZ2JuVnNiQ0FtSmlCbExuQjFjMmdvZEdocGN5NXlZWGRFWlhOMGNuVmpkRzl5TENCMEtUc0tJQ0FnSUNBZ0lDQWdJQ0FnZlFvZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXpzS0lDQWdJQ0FnSUNBZ0lHUmxabUYxYkhRNkNpQWdJQ0FnSUNBZ0lDQWdJRU1vSWxWdWMzVndjRzl5ZEdsdVp5QnphR0Z5YVc1bklIQnZiR2xqZVNJcE93b2dJQ0FnSUNBZ0lIMEtJQ0FnSUNBZ2NtVjBkWEp1SUhRN0NpQWdJQ0I5Q2lBZ0lDQm1kVzVqZEdsdmJpQmhLR1VzSUhJcElIc0tJQ0FnSUNBZ2FXWWdLSElnUFQwOUlHNTFiR3dwQ2lBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYTlNaV1psY21WdVkyVWdKaVlnUXloZ2JuVnNiQ0JwY3lCdWIzUWdZU0IyWVd4cFpDQWtlM1JvYVhNdWJtRnRaWDFnS1N3Z01Ec0tJQ0FnSUNBZ2NpNGtKQ0I4ZkNCREtHQkRZVzV1YjNRZ2NHRnpjeUFpSkh0TVpTaHlLWDBpSUdGeklHRWdKSHQwYUdsekxtNWhiV1Y5WUNrc0lISXVKQ1F1Y0hSeUlIeDhJRU1vWUVOaGJtNXZkQ0J3WVhOeklHUmxiR1YwWldRZ2IySnFaV04wSUdGeklHRWdjRzlwYm5SbGNpQnZaaUIwZVhCbElDUjdkR2hwY3k1dVlXMWxmV0FwTENCeUxpUWtMbkIwY2xSNWNHVXVhWE5EYjI1emRDQW1KaUJES0dCRFlXNXViM1FnWTI5dWRtVnlkQ0JoY21kMWJXVnVkQ0J2WmlCMGVYQmxJQ1I3Y2k0a0pDNXdkSEpVZVhCbExtNWhiV1Y5SUhSdklIQmhjbUZ0WlhSbGNpQjBlWEJsSUNSN2RHaHBjeTV1WVcxbGZXQXBPd29nSUNBZ0lDQjJZWElnZENBOUlISXVKQ1F1Y0hSeVZIbHdaUzV5WldkcGMzUmxjbVZrUTJ4aGMzTXNJRzRnUFNCVGNpaHlMaVFrTG5CMGNpd2dkQ3dnZEdocGN5NXlaV2RwYzNSbGNtVmtRMnhoYzNNcE93b2dJQ0FnSUNCeVpYUjFjbTRnYmpzS0lDQWdJSDBLSUNBZ0lIWmhjaUJ2SUQwZ0tDa2dQVDRnZXdvZ0lDQWdJQ0JQWW1wbFkzUXVZWE56YVdkdUtGOHVjSEp2ZEc5MGVYQmxMQ0I3Q2lBZ0lDQWdJQ0FnWjJWMFVHOXBiblJsWlNobEtTQjdDaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVlYZEhaWFJRYjJsdWRHVmxJQ1ltSUNobElEMGdkR2hwY3k1eVlYZEhaWFJRYjJsdWRHVmxLR1VwS1N3Z1pUc0tJQ0FnSUNBZ0lDQjlMQW9nSUNBZ0lDQWdJR1JsYzNSeWRXTjBiM0lvWlNrZ2V3b2dJQ0FnSUNBZ0lDQWdkbUZ5SUhJN0NpQWdJQ0FnSUNBZ0lDQW9jaUE5SUhSb2FYTXVjbUYzUkdWemRISjFZM1J2Y2lrZ1BUMGdiblZzYkNCOGZDQnlMbU5oYkd3b2RHaHBjeXdnWlNrN0NpQWdJQ0FnSUNBZ2ZTd0tJQ0FnSUNBZ0lDQmhjbWRRWVdOclFXUjJZVzVqWlRvZ2RHVXNDaUFnSUNBZ0lDQWdjbVZoWkZaaGJIVmxSbkp2YlZCdmFXNTBaWEk2SUZKbExBb2dJQ0FnSUNBZ0lHWnliMjFYYVhKbFZIbHdaVG9nVjNRS0lDQWdJQ0FnZlNrN0NpQWdJQ0I5T3dvZ0lDQWdablZ1WTNScGIyNGdYeWhsTENCeUxDQjBMQ0J1TENCekxDQmpMQ0JtTENCMkxDQndMQ0JuTENCb0tTQjdDaUFnSUNBZ0lIUm9hWE11Ym1GdFpTQTlJR1VzSUhSb2FYTXVjbVZuYVhOMFpYSmxaRU5zWVhOeklEMGdjaXdnZEdocGN5NXBjMUpsWm1WeVpXNWpaU0E5SUhRc0lIUm9hWE11YVhORGIyNXpkQ0E5SUc0c0lIUm9hWE11YVhOVGJXRnlkRkJ2YVc1MFpYSWdQU0J6TENCMGFHbHpMbkJ2YVc1MFpXVlVlWEJsSUQwZ1l5d2dkR2hwY3k1emFHRnlhVzVuVUc5c2FXTjVJRDBnWml3Z2RHaHBjeTV5WVhkSFpYUlFiMmx1ZEdWbElEMGdkaXdnZEdocGN5NXlZWGREYjI1emRISjFZM1J2Y2lBOUlIQXNJSFJvYVhNdWNtRjNVMmhoY21VZ1BTQm5MQ0IwYUdsekxuSmhkMFJsYzNSeWRXTjBiM0lnUFNCb0xDQWhjeUFtSmlCeUxtSmhjMlZEYkdGemN5QTlQVDBnZG05cFpDQXdJRDhnYmlBL0lDaDBhR2x6TG5SdlYybHlaVlI1Y0dVZ1BTQmxkQ3dnZEdocGN5NWtaWE4wY25WamRHOXlSblZ1WTNScGIyNGdQU0J1ZFd4c0tTQTZJQ2gwYUdsekxuUnZWMmx5WlZSNWNHVWdQU0JoTENCMGFHbHpMbVJsYzNSeWRXTjBiM0pHZFc1amRHbHZiaUE5SUc1MWJHd3BJRG9nZEdocGN5NTBiMWRwY21WVWVYQmxJRDBnY25RN0NpQWdJQ0I5Q2lBZ0lDQjJZWElnYlNBOUlDaGxMQ0J5TENCMEtTQTlQaUI3Q2lBZ0lDQWdJR2t1YUdGelQzZHVVSEp2Y0dWeWRIa29aU2tnZkh3Z1VXVW9JbEpsY0d4aFkybHVaeUJ1YjI1bGVHbHpkR1Z1ZENCd2RXSnNhV01nYzNsdFltOXNJaWtzSUdsYlpWMHViM1psY214dllXUlVZV0pzWlNBaFBUMGdkbTlwWkNBd0lDWW1JSFFnSVQwOUlIWnZhV1FnTUNBL0lHbGJaVjB1YjNabGNteHZZV1JVWVdKc1pWdDBYU0E5SUhJZ09pQW9hVnRsWFNBOUlISXNJR2xiWlYwdVlYSm5RMjkxYm5RZ1BTQjBLVHNLSUNBZ0lIMHNJRkFzSUhjZ1BTQW9aU2tnUFQ0Z1VDNW5aWFFvWlNrc0lFVWdQU0FvWlN3Z2Npa2dQVDRnZXdvZ0lDQWdJQ0JsSUQwZ1RDaGxLVHNLSUNBZ0lDQWdablZ1WTNScGIyNGdkQ2dwSUhzS0lDQWdJQ0FnSUNCeVpYUjFjbTRnZHloeUtUc0tJQ0FnSUNBZ2ZRb2dJQ0FnSUNCMllYSWdiaUE5SUhRb0tUc0tJQ0FnSUNBZ2NtVjBkWEp1SUhSNWNHVnZaaUJ1SUNFOUlDSm1kVzVqZEdsdmJpSWdKaVlnUXloZ2RXNXJibTkzYmlCbWRXNWpkR2x2YmlCd2IybHVkR1Z5SUhkcGRHZ2djMmxuYm1GMGRYSmxJQ1I3WlgwNklDUjdjbjFnS1N3Z2Jqc0tJQ0FnSUgwc0lGUXNJRWNnUFNBb1pTd2djaWtnUFQ0Z2V3b2dJQ0FnSUNCMllYSWdkQ0E5SUZ0ZExDQnVJRDBnZTMwN0NpQWdJQ0FnSUdaMWJtTjBhVzl1SUhNb1l5a2dld29nSUNBZ0lDQWdJR2xtSUNnaGJsdGpYU0FtSmlBaFFXVmJZMTBwSUhzS0lDQWdJQ0FnSUNBZ0lHbG1JQ2hMVzJOZEtTQjdDaUFnSUNBZ0lDQWdJQ0FnSUV0YlkxMHVabTl5UldGamFDaHpLVHNLSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1T3dvZ0lDQWdJQ0FnSUNBZ2ZRb2dJQ0FnSUNBZ0lDQWdkQzV3ZFhOb0tHTXBMQ0J1VzJOZElEMGdJVEE3Q2lBZ0lDQWdJQ0FnZlFvZ0lDQWdJQ0I5Q2lBZ0lDQWdJSFJvY205M0lISXVabTl5UldGamFDaHpLU3dnYm1WM0lGUW9ZQ1I3WlgwNklHQWdLeUIwTG0xaGNDaE9jaWt1YW05cGJpaGJJaXdnSWwwcEtUc0tJQ0FnSUgwc0lHNXlJRDBnS0dVc0lISXNJSFFzSUc0c0lITXNJR01zSUdZc0lIWXNJSEFzSUdjc0lHZ3NJR0lzSUVFcElEMCtJSHNLSUNBZ0lDQWdhQ0E5SUV3b2FDa3NJR01nUFNCRktITXNJR01wTENCMklDWW1JQ2gySUQwZ1JTaG1MQ0IyS1Nrc0lHY2dKaVlnS0djZ1BTQkZLSEFzSUdjcEtTd2dRU0E5SUVVb1lpd2dRU2s3Q2lBZ0lDQWdJSFpoY2lCQ0lEMGdTSFFvYUNrN0NpQWdJQ0FnSUZGeUtFSXNJR1oxYm1OMGFXOXVLQ2tnZXdvZ0lDQWdJQ0FnSUVjb1lFTmhibTV2ZENCamIyNXpkSEoxWTNRZ0pIdG9mU0JrZFdVZ2RHOGdkVzVpYjNWdVpDQjBlWEJsYzJBc0lGdHVYU2s3Q2lBZ0lDQWdJSDBwTENCaVpTaGJaU3dnY2l3Z2RGMHNJRzRnUHlCYmJsMGdPaUJiWFN3Z0tGWXBJRDArSUhzS0lDQWdJQ0FnSUNCMllYSWdKRzQ3Q2lBZ0lDQWdJQ0FnVmlBOUlGWmJNRjA3Q2lBZ0lDQWdJQ0FnZG1GeUlHTmxMQ0IxWlRzS0lDQWdJQ0FnSUNCdUlEOGdLR05sSUQwZ1ZpNXlaV2RwYzNSbGNtVmtRMnhoYzNNc0lIVmxJRDBnWTJVdWFXNXpkR0Z1WTJWUWNtOTBiM1I1Y0dVcElEb2dkV1VnUFNCeWNpNXdjbTkwYjNSNWNHVTdDaUFnSUNBZ0lDQWdkbUZ5SUZnZ1BTQlhaU2hvTENCbWRXNWpkR2x2YmlndUxpNXhkQ2tnZXdvZ0lDQWdJQ0FnSUNBZ2FXWWdLRTlpYW1WamRDNW5aWFJRY205MGIzUjVjR1ZQWmloMGFHbHpLU0FoUFQwZ1JuSXBDaUFnSUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCcVpTZ2lWWE5sSUNkdVpYY25JSFJ2SUdOdmJuTjBjblZqZENBaUlDc2dhQ2s3Q2lBZ0lDQWdJQ0FnSUNCcFppQW9ibVV1WTI5dWMzUnlkV04wYjNKZlltOWtlU0E5UFQwZ2RtOXBaQ0F3S1FvZ0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dhbVVvYUNBcklDSWdhR0Z6SUc1dklHRmpZMlZ6YzJsaWJHVWdZMjl1YzNSeWRXTjBiM0lpS1RzS0lDQWdJQ0FnSUNBZ0lIWmhjaUJEYmlBOUlHNWxMbU52Ym5OMGNuVmpkRzl5WDJKdlpIbGJjWFF1YkdWdVozUm9YVHNLSUNBZ0lDQWdJQ0FnSUdsbUlDaERiaUE5UFQwZ2RtOXBaQ0F3S1FvZ0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dhbVVvWUZSeWFXVmtJSFJ2SUdsdWRtOXJaU0JqZEc5eUlHOW1JQ1I3YUgwZ2QybDBhQ0JwYm5aaGJHbGtJRzUxYldKbGNpQnZaaUJ3WVhKaGJXVjBaWEp6SUNna2UzRjBMbXhsYm1kMGFIMHBJQzBnWlhod1pXTjBaV1FnS0NSN1QySnFaV04wTG10bGVYTW9ibVV1WTI5dWMzUnlkV04wYjNKZlltOWtlU2t1ZEc5VGRISnBibWNvS1gwcElIQmhjbUZ0WlhSbGNuTWdhVzV6ZEdWaFpDRmdLVHNLSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJEYmk1aGNIQnNlU2gwYUdsekxDQnhkQ2s3Q2lBZ0lDQWdJQ0FnZlNrc0lFWnlJRDBnVDJKcVpXTjBMbU55WldGMFpTaDFaU3dnZXdvZ0lDQWdJQ0FnSUNBZ1kyOXVjM1J5ZFdOMGIzSTZJSHNLSUNBZ0lDQWdJQ0FnSUNBZ2RtRnNkV1U2SUZnS0lDQWdJQ0FnSUNBZ0lIMEtJQ0FnSUNBZ0lDQjlLVHNLSUNBZ0lDQWdJQ0JZTG5CeWIzUnZkSGx3WlNBOUlFWnlPd29nSUNBZ0lDQWdJSFpoY2lCdVpTQTlJRzVsZHlCMGNpaG9MQ0JZTENCR2Npd2dRU3dnWTJVc0lHTXNJSFlzSUdjcE93b2dJQ0FnSUNBZ0lHNWxMbUpoYzJWRGJHRnpjeUFtSmlBb0tDUnVJRDBnYm1VdVltRnpaVU5zWVhOektTNWZYMlJsY21sMlpXUkRiR0Z6YzJWeklEOC9JQ2drYmk1ZlgyUmxjbWwyWldSRGJHRnpjMlZ6SUQwZ1cxMHBMQ0J1WlM1aVlYTmxRMnhoYzNNdVgxOWtaWEpwZG1Wa1EyeGhjM05sY3k1d2RYTm9LRzVsS1NrN0NpQWdJQ0FnSUNBZ2RtRnlJR2hwSUQwZ2JtVjNJRjhvYUN3Z2JtVXNJQ0V3TENBaE1Td2dJVEVwTENCRmJpQTlJRzVsZHlCZktHZ2dLeUFpS2lJc0lHNWxMQ0FoTVN3Z0lURXNJQ0V4S1N3Z1ZHNGdQU0J1WlhjZ1h5aG9JQ3NnSWlCamIyNXpkQ29pTENCdVpTd2dJVEVzSUNFd0xDQWhNU2s3Q2lBZ0lDQWdJQ0FnY21WMGRYSnVJQ1J5VzJWZElEMGdld29nSUNBZ0lDQWdJQ0FnY0c5cGJuUmxjbFI1Y0dVNklFVnVMQW9nSUNBZ0lDQWdJQ0FnWTI5dWMzUlFiMmx1ZEdWeVZIbHdaVG9nVkc0S0lDQWdJQ0FnSUNCOUxDQnRLRUlzSUZncExDQmJhR2tzSUVWdUxDQlVibDA3Q2lBZ0lDQWdJSDBwT3dvZ0lDQWdmVHNLSUNBZ0lHWjFibU4wYVc5dUlHdHlLR1VwSUhzS0lDQWdJQ0FnWm05eUlDaDJZWElnY2lBOUlERTdJSElnUENCbExteGxibWQwYURzZ0t5dHlLUW9nSUNBZ0lDQWdJR2xtSUNobFczSmRJQ0U5UFNCdWRXeHNJQ1ltSUdWYmNsMHVaR1Z6ZEhKMVkzUnZja1oxYm1OMGFXOXVJRDA5UFNCMmIybGtJREFwQ2lBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnSVRBN0NpQWdJQ0FnSUhKbGRIVnliaUFoTVRzS0lDQWdJSDBLSUNBZ0lHWjFibU4wYVc5dUlFbHlLR1VzSUhJcElIc0tJQ0FnSUNBZ2FXWWdLQ0VvWlNCcGJuTjBZVzVqWlc5bUlFWjFibU4wYVc5dUtTa0tJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLR0J1WlhkZklHTmhiR3hsWkNCM2FYUm9JR052Ym5OMGNuVmpkRzl5SUhSNWNHVWdKSHQwZVhCbGIyWWdaWDBnZDJocFkyZ2dhWE1nYm05MElHRWdablZ1WTNScGIyNWdLVHNLSUNBZ0lDQWdkbUZ5SUhRZ1BTQlhaU2hsTG01aGJXVWdmSHdnSW5WdWEyNXZkMjVHZFc1amRHbHZiazVoYldVaUxDQm1kVzVqZEdsdmJpZ3BJSHNLSUNBZ0lDQWdmU2s3Q2lBZ0lDQWdJSFF1Y0hKdmRHOTBlWEJsSUQwZ1pTNXdjbTkwYjNSNWNHVTdDaUFnSUNBZ0lIWmhjaUJ1SUQwZ2JtVjNJSFFvS1N3Z2N5QTlJR1V1WVhCd2JIa29iaXdnY2lrN0NpQWdJQ0FnSUhKbGRIVnliaUJ6SUdsdWMzUmhibU5sYjJZZ1QySnFaV04wSUQ4Z2N5QTZJRzQ3Q2lBZ0lDQjlDaUFnSUNCbWRXNWpkR2x2YmlCMGRDaGxMQ0J5TENCMExDQnVLU0I3Q2lBZ0lDQWdJSFpoY2lCeklEMGdhM0lvWlNrc0lHTWdQU0JsTG14bGJtZDBhQ0F0SURJc0lHWWdQU0JiWFN3Z2RpQTlJRnNpWm00aVhUc0tJQ0FnSUNBZ2NpQW1KaUIyTG5CMWMyZ29JblJvYVhOWGFYSmxaQ0lwT3dvZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJ3SUQwZ01Ec2djQ0E4SUdNN0lDc3JjQ2tLSUNBZ0lDQWdJQ0JtTG5CMWMyZ29ZR0Z5WnlSN2NIMWdLU3dnZGk1d2RYTm9LR0JoY21ja2UzQjlWMmx5WldSZ0tUc0tJQ0FnSUNBZ1ppQTlJR1l1YW05cGJpZ2lMQ0lwTENCMklEMGdkaTVxYjJsdUtDSXNJaWs3Q2lBZ0lDQWdJSFpoY2lCbklEMGdZSEpsZEhWeWJpQm1kVzVqZEdsdmJpQW9KSHRtZlNrZ2V3cGdPd29nSUNBZ0lDQnpJQ1ltSUNobklDczlJR0IyWVhJZ1pHVnpkSEoxWTNSdmNuTWdQU0JiWFRzS1lDazdDaUFnSUNBZ0lIWmhjaUJvSUQwZ2N5QS9JQ0prWlhOMGNuVmpkRzl5Y3lJZ09pQWliblZzYkNJc0lHSWdQU0JiSW1oMWJXRnVUbUZ0WlNJc0lDSjBhSEp2ZDBKcGJtUnBibWRGY25KdmNpSXNJQ0pwYm5admEyVnlJaXdnSW1adUlpd2dJbkoxYmtSbGMzUnlkV04wYjNKeklpd2dJbkpsZEZSNWNHVWlMQ0FpWTJ4aGMzTlFZWEpoYlNKZE93b2dJQ0FnSUNCeUlDWW1JQ2huSUNzOUlHQjJZWElnZEdocGMxZHBjbVZrSUQwZ1kyeGhjM05RWVhKaGJWc25kRzlYYVhKbFZIbHdaU2RkS0NSN2FIMHNJSFJvYVhNcE93cGdLVHNLSUNBZ0lDQWdabTl5SUNoMllYSWdjQ0E5SURBN0lIQWdQQ0JqT3lBckszQXBDaUFnSUNBZ0lDQWdaeUFyUFNCZ2RtRnlJR0Z5WnlSN2NIMVhhWEpsWkNBOUlHRnlaMVI1Y0dVa2UzQjlXeWQwYjFkcGNtVlVlWEJsSjEwb0pIdG9mU3dnWVhKbkpIdHdmU2s3Q21Bc0lHSXVjSFZ6YUNoZ1lYSm5WSGx3WlNSN2NIMWdLVHNLSUNBZ0lDQWdhV1lnS0djZ0t6MGdLSFFnZkh3Z2JpQS9JQ0oyWVhJZ2NuWWdQU0FpSURvZ0lpSXBJQ3NnWUdsdWRtOXJaWElvSkh0MmZTazdDbUFzSUhNcENpQWdJQ0FnSUNBZ1p5QXJQU0JnY25WdVJHVnpkSEoxWTNSdmNuTW9aR1Z6ZEhKMVkzUnZjbk1wT3dwZ093b2dJQ0FnSUNCbGJITmxDaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdjQ0E5SUhJZ1B5QXhJRG9nTWpzZ2NDQThJR1V1YkdWdVozUm9PeUFySzNBcElIc0tJQ0FnSUNBZ0lDQWdJSFpoY2lCQklEMGdjQ0E5UFQwZ01TQS9JQ0owYUdselYybHlaV1FpSURvZ0ltRnlaeUlnS3lBb2NDQXRJRElwSUNzZ0lsZHBjbVZrSWpzS0lDQWdJQ0FnSUNBZ0lHVmJjRjB1WkdWemRISjFZM1J2Y2taMWJtTjBhVzl1SUNFOVBTQnVkV3hzSUNZbUlDaG5JQ3M5SUdBa2UwRjlYMlIwYjNJb0pIdEJmU2s3Q21Bc0lHSXVjSFZ6YUNoZ0pIdEJmVjlrZEc5eVlDa3BPd29nSUNBZ0lDQWdJSDBLSUNBZ0lDQWdjbVYwZFhKdUlIUWdKaVlnS0djZ0t6MGdZSFpoY2lCeVpYUWdQU0J5WlhSVWVYQmxXeWRtY205dFYybHlaVlI1Y0dVblhTaHlkaWs3Q25KbGRIVnliaUJ5WlhRN0NtQXBMQ0JuSUNzOUlHQjlDbUFzSUZ0aUxDQm5YVHNLSUNBZ0lIMEtJQ0FnSUdaMWJtTjBhVzl1SUdGeUtHVXNJSElzSUhRc0lHNHNJSE1zSUdNcElIc0tJQ0FnSUNBZ2RtRnlJR1lnUFNCeUxteGxibWQwYURzS0lDQWdJQ0FnWmlBOElESWdKaVlnUXlnaVlYSm5WSGx3WlhNZ1lYSnlZWGtnYzJsNlpTQnRhWE50WVhSamFDRWdUWFZ6ZENCaGRDQnNaV0Z6ZENCblpYUWdjbVYwZFhKdUlIWmhiSFZsSUdGdVpDQW5kR2hwY3ljZ2RIbHdaWE1oSWlrN0NpQWdJQ0FnSUdadmNpQW9kbUZ5SUhZZ1BTQnlXekZkSUNFOVBTQnVkV3hzSUNZbUlIUWdJVDA5SUc1MWJHd3NJSEFnUFNCcmNpaHlLU3dnWnlBOUlISmJNRjB1Ym1GdFpTQWhQVDBnSW5admFXUWlMQ0JvSUQwZ1cyVXNJRU1zSUc0c0lITXNJR1Z5TENCeVd6QmRMQ0J5V3pGZFhTd2dZaUE5SURBN0lHSWdQQ0JtSUMwZ01qc2dLeXRpS1FvZ0lDQWdJQ0FnSUdndWNIVnphQ2h5VzJJZ0t5QXlYU2s3Q2lBZ0lDQWdJR2xtSUNnaGNDa0tJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQmlJRDBnZGlBL0lERWdPaUF5T3lCaUlEd2djaTVzWlc1bmRHZzdJQ3NyWWlrS0lDQWdJQ0FnSUNBZ0lISmJZbDB1WkdWemRISjFZM1J2Y2taMWJtTjBhVzl1SUNFOVBTQnVkV3hzSUNZbUlHZ3VjSFZ6YUNoeVcySmRMbVJsYzNSeWRXTjBiM0pHZFc1amRHbHZiaWs3Q2lBZ0lDQWdJR3hsZENCYlFTd2dRbDBnUFNCMGRDaHlMQ0IyTENCbkxDQmpLVHNLSUNBZ0lDQWdRUzV3ZFhOb0tFSXBPd29nSUNBZ0lDQjJZWElnVmlBOUlFbHlLRVoxYm1OMGFXOXVMQ0JCS1NndUxpNW9LVHNLSUNBZ0lDQWdjbVYwZFhKdUlGZGxLR1VzSUZZcE93b2dJQ0FnZlFvZ0lDQWdkbUZ5SUZkeUlEMGdLR1VzSUhJcElEMCtJSHNLSUNBZ0lDQWdabTl5SUNoMllYSWdkQ0E5SUZ0ZExDQnVJRDBnTURzZ2JpQThJR1U3SUc0ckt5a0tJQ0FnSUNBZ0lDQjBMbkIxYzJnb1JsdHlJQ3NnYmlBcUlEUWdQajRnTWwwcE93b2dJQ0FnSUNCeVpYUjFjbTRnZERzS0lDQWdJSDBzSUdseUlEMGdLR1VwSUQwK0lIc0tJQ0FnSUNBZ1pTQTlJR1V1ZEhKcGJTZ3BPd29nSUNBZ0lDQmpiMjV6ZENCeUlEMGdaUzVwYm1SbGVFOW1LQ0lvSWlrN0NpQWdJQ0FnSUhKbGRIVnliaUJ5SUNFOVBTQXRNU0EvSUdVdWMzVmljM1J5S0RBc0lISXBJRG9nWlRzS0lDQWdJSDBzSUVKMElEMGdLR1VzSUhJc0lIUXNJRzRzSUhNc0lHTXNJR1lzSUhZc0lIQXBJRDArSUhzS0lDQWdJQ0FnZG1GeUlHY2dQU0JYY2loMExDQnVLVHNLSUNBZ0lDQWdjaUE5SUV3b2Npa3NJSElnUFNCcGNpaHlLU3dnWXlBOUlFVW9jeXdnWXlrc0lHSmxLRnRkTENCYlpWMHNJQ2hvS1NBOVBpQjdDaUFnSUNBZ0lDQWdhQ0E5SUdoYk1GMDdDaUFnSUNBZ0lDQWdkbUZ5SUdJZ1BTQmdKSHRvTG01aGJXVjlMaVI3Y24xZ093b2dJQ0FnSUNBZ0lHWjFibU4wYVc5dUlFRW9LU0I3Q2lBZ0lDQWdJQ0FnSUNCSEtHQkRZVzV1YjNRZ1kyRnNiQ0FrZTJKOUlHUjFaU0IwYnlCMWJtSnZkVzVrSUhSNWNHVnpZQ3dnWnlrN0NpQWdJQ0FnSUNBZ2ZRb2dJQ0FnSUNBZ0lISXVjM1JoY25SelYybDBhQ2dpUUVBaUtTQW1KaUFvY2lBOUlGTjViV0p2YkZ0eUxuTjFZbk4wY21sdVp5Z3lLVjBwT3dvZ0lDQWdJQ0FnSUhaaGNpQkNJRDBnYUM1eVpXZHBjM1JsY21Wa1EyeGhjM011WTI5dWMzUnlkV04wYjNJN0NpQWdJQ0FnSUNBZ2NtVjBkWEp1SUVKYmNsMGdQVDA5SUhadmFXUWdNQ0EvSUNoQkxtRnlaME52ZFc1MElEMGdkQ0F0SURFc0lFSmJjbDBnUFNCQktTQTZJQ2hTY2loQ0xDQnlMQ0JpS1N3Z1FsdHlYUzV2ZG1WeWJHOWhaRlJoWW14bFczUWdMU0F4WFNBOUlFRXBMQ0JpWlNoYlhTd2daeXdnS0ZZcElEMCtJSHNLSUNBZ0lDQWdJQ0FnSUhaaGNpQmpaU0E5SUZzS0lDQWdJQ0FnSUNBZ0lDQWdWbHN3WFN3S0lDQWdJQ0FnSUNBZ0lDQWdMeW9nY21WMGRYSnVJSFpoYkhWbElDb3ZDaUFnSUNBZ0lDQWdJQ0FnSUc1MWJHd0tJQ0FnSUNBZ0lDQWdJRjB1WTI5dVkyRjBLQW9nSUNBZ0lDQWdJQ0FnSUNBdktpQnVieUJqYkdGemN5QW5kR2hwY3ljcUx3b2dJQ0FnSUNBZ0lDQWdJQ0JXTG5Oc2FXTmxLREVwQ2lBZ0lDQWdJQ0FnSUNBcExDQjFaU0E5SUdGeUtBb2dJQ0FnSUNBZ0lDQWdJQ0JpTEFvZ0lDQWdJQ0FnSUNBZ0lDQmpaU3dLSUNBZ0lDQWdJQ0FnSUNBZ2JuVnNiQ3dLSUNBZ0lDQWdJQ0FnSUNBZ0x5b2dibThnWTJ4aGMzTWdKM1JvYVhNbktpOEtJQ0FnSUNBZ0lDQWdJQ0FnWXl3S0lDQWdJQ0FnSUNBZ0lDQWdaaXdLSUNBZ0lDQWdJQ0FnSUNBZ2Rnb2dJQ0FnSUNBZ0lDQWdLVHNLSUNBZ0lDQWdJQ0FnSUdsbUlDaENXM0pkTG05MlpYSnNiMkZrVkdGaWJHVWdQVDA5SUhadmFXUWdNQ0EvSUNoMVpTNWhjbWREYjNWdWRDQTlJSFFnTFNBeExDQkNXM0pkSUQwZ2RXVXBJRG9nUWx0eVhTNXZkbVZ5Ykc5aFpGUmhZbXhsVzNRZ0xTQXhYU0E5SUhWbExDQm9MbkpsWjJsemRHVnlaV1JEYkdGemN5NWZYMlJsY21sMlpXUkRiR0Z6YzJWektRb2dJQ0FnSUNBZ0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUZnZ2IyWWdhQzV5WldkcGMzUmxjbVZrUTJ4aGMzTXVYMTlrWlhKcGRtVmtRMnhoYzNObGN5a0tJQ0FnSUNBZ0lDQWdJQ0FnSUNCWUxtTnZibk4wY25WamRHOXlMbWhoYzA5M2JsQnliM0JsY25SNUtISXBJSHg4SUNoWUxtTnZibk4wY25WamRHOXlXM0pkSUQwZ2RXVXBPd29nSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRnRkT3dvZ0lDQWdJQ0FnSUgwcExDQmJYVHNLSUNBZ0lDQWdmU2s3Q2lBZ0lDQjlMQ0JXZENBOUlDaGxMQ0J5TENCMExDQnVMQ0J6TENCakxDQm1MQ0IyTENCd0xDQm5LU0E5UGlCN0NpQWdJQ0FnSUhaaGNpQm9JRDBnVjNJb2RDd2diaWs3Q2lBZ0lDQWdJSElnUFNCTUtISXBMQ0J5SUQwZ2FYSW9jaWtzSUdNZ1BTQkZLSE1zSUdNcExDQmlaU2hiWFN3Z1cyVmRMQ0FvWWlrZ1BUNGdld29nSUNBZ0lDQWdJR0lnUFNCaVd6QmRPd29nSUNBZ0lDQWdJSFpoY2lCQklEMGdZQ1I3WWk1dVlXMWxmUzRrZTNKOVlEc0tJQ0FnSUNBZ0lDQnlMbk4wWVhKMGMxZHBkR2dvSWtCQUlpa2dKaVlnS0hJZ1BTQlRlVzFpYjJ4YmNpNXpkV0p6ZEhKcGJtY29NaWxkS1N3Z2RpQW1KaUJpTG5KbFoybHpkR1Z5WldSRGJHRnpjeTV3ZFhKbFZtbHlkSFZoYkVaMWJtTjBhVzl1Y3k1d2RYTm9LSElwT3dvZ0lDQWdJQ0FnSUdaMWJtTjBhVzl1SUVJb0tTQjdDaUFnSUNBZ0lDQWdJQ0JIS0dCRFlXNXViM1FnWTJGc2JDQWtlMEY5SUdSMVpTQjBieUIxYm1KdmRXNWtJSFI1Y0dWellDd2dhQ2s3Q2lBZ0lDQWdJQ0FnZlFvZ0lDQWdJQ0FnSUhaaGNpQldJRDBnWWk1eVpXZHBjM1JsY21Wa1EyeGhjM011YVc1emRHRnVZMlZRY205MGIzUjVjR1VzSUdObElEMGdWbHR5WFRzS0lDQWdJQ0FnSUNCeVpYUjFjbTRnWTJVZ1BUMDlJSFp2YVdRZ01DQjhmQ0JqWlM1dmRtVnliRzloWkZSaFlteGxJRDA5UFNCMmIybGtJREFnSmlZZ1kyVXVZMnhoYzNOT1lXMWxJQ0U5UFNCaUxtNWhiV1VnSmlZZ1kyVXVZWEpuUTI5MWJuUWdQVDA5SUhRZ0xTQXlJRDhnS0VJdVlYSm5RMjkxYm5RZ1BTQjBJQzBnTWl3Z1FpNWpiR0Z6YzA1aGJXVWdQU0JpTG01aGJXVXNJRlpiY2wwZ1BTQkNLU0E2SUNoU2NpaFdMQ0J5TENCQktTd2dWbHR5WFM1dmRtVnliRzloWkZSaFlteGxXM1FnTFNBeVhTQTlJRUlwTENCaVpTaGJYU3dnYUN3Z0tIVmxLU0E5UGlCN0NpQWdJQ0FnSUNBZ0lDQjJZWElnV0NBOUlHRnlLRUVzSUhWbExDQmlMQ0JqTENCbUxDQndLVHNLSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJXVzNKZExtOTJaWEpzYjJGa1ZHRmliR1VnUFQwOUlIWnZhV1FnTUNBL0lDaFlMbUZ5WjBOdmRXNTBJRDBnZENBdElESXNJRlpiY2wwZ1BTQllLU0E2SUZaYmNsMHViM1psY214dllXUlVZV0pzWlZ0MElDMGdNbDBnUFNCWUxDQmJYVHNLSUNBZ0lDQWdJQ0I5S1N3Z1cxMDdDaUFnSUNBZ0lIMHBPd29nSUNBZ2ZTd2dUSFFnUFNBb1pTa2dQVDRnZXdvZ0lDQWdJQ0JsSUQ0Z09TQW1KaUF0TFhCbFcyVWdLeUF4WFNBOVBUMGdNQ0FtSmlBb2NHVmJaVjBnUFNCMmIybGtJREFzSUhseUxuQjFjMmdvWlNrcE93b2dJQ0FnZlN3Z1NXNGdQU0I3Q2lBZ0lDQWdJRzVoYldVNklDSmxiWE5qY21sd2RHVnVPanAyWVd3aUxBb2dJQ0FnSUNCbWNtOXRWMmx5WlZSNWNHVTZJQ2hsS1NBOVBpQjdDaUFnSUNBZ0lDQWdkbUZ5SUhJZ1BTQlRMblJ2Vm1Gc2RXVW9aU2s3Q2lBZ0lDQWdJQ0FnY21WMGRYSnVJRXgwS0dVcExDQnlPd29nSUNBZ0lDQjlMQW9nSUNBZ0lDQjBiMWRwY21WVWVYQmxPaUFvWlN3Z2Npa2dQVDRnVXk1MGIwaGhibVJzWlNoeUtTd0tJQ0FnSUNBZ1lYSm5VR0ZqYTBGa2RtRnVZMlU2SUhSbExBb2dJQ0FnSUNCeVpXRmtWbUZzZFdWR2NtOXRVRzlwYm5SbGNqb2dVbVVzQ2lBZ0lDQWdJR1JsYzNSeWRXTjBiM0pHZFc1amRHbHZiam9nYm5Wc2JBb2dJQ0FnZlN3Z1YyNGdQU0FvWlNrZ1BUNGdjbVVvWlN3Z1NXNHBMQ0JFYmlBOUlDaGxMQ0J5S1NBOVBpQjdDaUFnSUNBZ0lITjNhWFJqYUNBb2Npa2dld29nSUNBZ0lDQWdJR05oYzJVZ05Eb0tJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpaDBLU0I3Q2lBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVp5YjIxWGFYSmxWSGx3WlNoeFczUWdQajRnTWwwcE93b2dJQ0FnSUNBZ0lDQWdmVHNLSUNBZ0lDQWdJQ0JqWVhObElEZzZDaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdablZ1WTNScGIyNG9kQ2tnZXdvZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVtY205dFYybHlaVlI1Y0dVb2RuSmJkQ0ErUGlBelhTazdDaUFnSUNBZ0lDQWdJQ0I5T3dvZ0lDQWdJQ0FnSUdSbFptRjFiSFE2Q2lBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtHQnBiblpoYkdsa0lHWnNiMkYwSUhkcFpIUm9JQ2drZTNKOUtUb2dKSHRsZldBcE93b2dJQ0FnSUNCOUNpQWdJQ0I5TENCR2JpQTlJQ2hsTENCeUxDQjBLU0E5UGlCN0NpQWdJQ0FnSUhJZ1BTQk1LSElwTENCeVpTaGxMQ0I3Q2lBZ0lDQWdJQ0FnYm1GdFpUb2djaXdLSUNBZ0lDQWdJQ0JtY205dFYybHlaVlI1Y0dVNklDaHVLU0E5UGlCdUxBb2dJQ0FnSUNBZ0lIUnZWMmx5WlZSNWNHVTZJQ2h1TENCektTQTlQaUJ6TEFvZ0lDQWdJQ0FnSUdGeVoxQmhZMnRCWkhaaGJtTmxPaUIwWlN3S0lDQWdJQ0FnSUNCeVpXRmtWbUZzZFdWR2NtOXRVRzlwYm5SbGNqb2dSRzRvY2l3Z2RDa3NDaUFnSUNBZ0lDQWdaR1Z6ZEhKMVkzUnZja1oxYm1OMGFXOXVPaUJ1ZFd4c0NpQWdJQ0FnSUgwcE93b2dJQ0FnZlN3Z1QyNGdQU0FvWlN3Z2Npd2dkQ3dnYml3Z2N5d2dZeXdnWml3Z2Rpa2dQVDRnZXdvZ0lDQWdJQ0IyWVhJZ2NDQTlJRmR5S0hJc0lIUXBPd29nSUNBZ0lDQmxJRDBnVENobEtTd2daU0E5SUdseUtHVXBMQ0J6SUQwZ1JTaHVMQ0J6S1N3Z1VYSW9aU3dnWm5WdVkzUnBiMjRvS1NCN0NpQWdJQ0FnSUNBZ1J5aGdRMkZ1Ym05MElHTmhiR3dnSkh0bGZTQmtkV1VnZEc4Z2RXNWliM1Z1WkNCMGVYQmxjMkFzSUhBcE93b2dJQ0FnSUNCOUxDQnlJQzBnTVNrc0lHSmxLRnRkTENCd0xDQW9aeWtnUFQ0Z2V3b2dJQ0FnSUNBZ0lIWmhjaUJvSUQwZ1d3b2dJQ0FnSUNBZ0lDQWdaMXN3WFN3S0lDQWdJQ0FnSUNBZ0lDOHFJSEpsZEhWeWJpQjJZV3gxWlNBcUx3b2dJQ0FnSUNBZ0lDQWdiblZzYkFvZ0lDQWdJQ0FnSUYwdVkyOXVZMkYwS0FvZ0lDQWdJQ0FnSUNBZ0x5b2dibThnWTJ4aGMzTWdKM1JvYVhNbktpOEtJQ0FnSUNBZ0lDQWdJR2N1YzJ4cFkyVW9NU2tLSUNBZ0lDQWdJQ0FwT3dvZ0lDQWdJQ0FnSUhKbGRIVnliaUJ0S0dVc0lHRnlLQW9nSUNBZ0lDQWdJQ0FnWlN3S0lDQWdJQ0FnSUNBZ0lHZ3NDaUFnSUNBZ0lDQWdJQ0J1ZFd4c0xBb2dJQ0FnSUNBZ0lDQWdMeW9nYm04Z1kyeGhjM01nSjNSb2FYTW5LaThLSUNBZ0lDQWdJQ0FnSUhNc0NpQWdJQ0FnSUNBZ0lDQmpMQW9nSUNBZ0lDQWdJQ0FnWmdvZ0lDQWdJQ0FnSUNrc0lISWdMU0F4S1N3Z1cxMDdDaUFnSUNBZ0lIMHBPd29nSUNBZ2ZTd2dWVzRnUFNBb1pTd2djaXdnZEN3Z2Jpd2djeWtnUFQ0Z2V3b2dJQ0FnSUNCeUlEMGdUQ2h5S1RzS0lDQWdJQ0FnZG1GeUlHTWdQU0FvYUNrZ1BUNGdhRHNLSUNBZ0lDQWdhV1lnS0c0Z1BUMDlJREFwSUhzS0lDQWdJQ0FnSUNCMllYSWdaaUE5SURNeUlDMGdPQ0FxSUhRN0NpQWdJQ0FnSUNBZ1l5QTlJQ2hvS1NBOVBpQm9JRHc4SUdZZ1BqNCtJR1k3Q2lBZ0lDQWdJSDBLSUNBZ0lDQWdkbUZ5SUhZZ1BTQnlMbWx1WTJ4MVpHVnpLQ0oxYm5OcFoyNWxaQ0lwTENCd0lEMGdLR2dzSUdJcElEMCtJSHNLSUNBZ0lDQWdmU3dnWnpzS0lDQWdJQ0FnZGlBL0lHY2dQU0JtZFc1amRHbHZiaWhvTENCaUtTQjdDaUFnSUNBZ0lDQWdjbVYwZFhKdUlIQW9ZaXdnZEdocGN5NXVZVzFsS1N3Z1lpQStQajRnTURzS0lDQWdJQ0FnZlNBNklHY2dQU0JtZFc1amRHbHZiaWhvTENCaUtTQjdDaUFnSUNBZ0lDQWdjbVYwZFhKdUlIQW9ZaXdnZEdocGN5NXVZVzFsS1N3Z1lqc0tJQ0FnSUNBZ2ZTd2djbVVvWlN3Z2V3b2dJQ0FnSUNBZ0lHNWhiV1U2SUhJc0NpQWdJQ0FnSUNBZ1puSnZiVmRwY21WVWVYQmxPaUJqTEFvZ0lDQWdJQ0FnSUhSdlYybHlaVlI1Y0dVNklHY3NDaUFnSUNBZ0lDQWdZWEpuVUdGamEwRmtkbUZ1WTJVNklIUmxMQW9nSUNBZ0lDQWdJSEpsWVdSV1lXeDFaVVp5YjIxUWIybHVkR1Z5T2lCRGNpaHlMQ0IwTENCdUlDRTlQU0F3S1N3S0lDQWdJQ0FnSUNCa1pYTjBjblZqZEc5eVJuVnVZM1JwYjI0NklHNTFiR3dLSUNBZ0lDQWdmU2s3Q2lBZ0lDQjlMQ0I0YmlBOUlDaGxMQ0J5TENCMEtTQTlQaUI3Q2lBZ0lDQWdJSFpoY2lCdUlEMGdXMGx1ZERoQmNuSmhlU3dnVldsdWREaEJjbkpoZVN3Z1NXNTBNVFpCY25KaGVTd2dWV2x1ZERFMlFYSnlZWGtzSUVsdWRETXlRWEp5WVhrc0lGVnBiblF6TWtGeWNtRjVMQ0JHYkc5aGRETXlRWEp5WVhrc0lFWnNiMkYwTmpSQmNuSmhlU3dnUW1sblNXNTBOalJCY25KaGVTd2dRbWxuVldsdWREWTBRWEp5WVhsZExDQnpJRDBnYmx0eVhUc0tJQ0FnSUNBZ1puVnVZM1JwYjI0Z1l5aG1LU0I3Q2lBZ0lDQWdJQ0FnZG1GeUlIWWdQU0JHVzJZZ1BqNGdNbDBzSUhBZ1BTQkdXMllnS3lBMElENCtJREpkT3dvZ0lDQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ2N5aHBaUzVpZFdabVpYSXNJSEFzSUhZcE93b2dJQ0FnSUNCOUNpQWdJQ0FnSUhRZ1BTQk1LSFFwTENCeVpTaGxMQ0I3Q2lBZ0lDQWdJQ0FnYm1GdFpUb2dkQ3dLSUNBZ0lDQWdJQ0JtY205dFYybHlaVlI1Y0dVNklHTXNDaUFnSUNBZ0lDQWdZWEpuVUdGamEwRmtkbUZ1WTJVNklIUmxMQW9nSUNBZ0lDQWdJSEpsWVdSV1lXeDFaVVp5YjIxUWIybHVkR1Z5T2lCakNpQWdJQ0FnSUgwc0lIc0tJQ0FnSUNBZ0lDQnBaMjV2Y21WRWRYQnNhV05oZEdWU1pXZHBjM1J5WVhScGIyNXpPaUFoTUFvZ0lDQWdJQ0I5S1RzS0lDQWdJSDBzSUdwdUlEMGdLR1VzSUhJc0lIUXNJRzRwSUQwK0lIc0tJQ0FnSUNBZ2FXWWdLQ0VvYmlBK0lEQXBLU0J5WlhSMWNtNGdNRHNLSUNBZ0lDQWdabTl5SUNoMllYSWdjeUE5SUhRc0lHTWdQU0IwSUNzZ2JpQXRJREVzSUdZZ1BTQXdPeUJtSUR3Z1pTNXNaVzVuZEdnN0lDc3JaaWtnZXdvZ0lDQWdJQ0FnSUhaaGNpQjJJRDBnWlM1amFHRnlRMjlrWlVGMEtHWXBPd29nSUNBZ0lDQWdJR2xtSUNoMklENDlJRFUxTWprMklDWW1JSFlnUEQwZ05UY3pORE1wSUhzS0lDQWdJQ0FnSUNBZ0lIWmhjaUJ3SUQwZ1pTNWphR0Z5UTI5a1pVRjBLQ3NyWmlrN0NpQWdJQ0FnSUNBZ0lDQjJJRDBnTmpVMU16WWdLeUFvS0hZZ0ppQXhNREl6S1NBOFBDQXhNQ2tnZkNCd0lDWWdNVEF5TXpzS0lDQWdJQ0FnSUNCOUNpQWdJQ0FnSUNBZ2FXWWdLSFlnUEQwZ01USTNLU0I3Q2lBZ0lDQWdJQ0FnSUNCcFppQW9kQ0ErUFNCaktTQmljbVZoYXpzS0lDQWdJQ0FnSUNBZ0lISmJkQ3NyWFNBOUlIWTdDaUFnSUNBZ0lDQWdmU0JsYkhObElHbG1JQ2gySUR3OUlESXdORGNwSUhzS0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwSUNzZ01TQStQU0JqS1NCaWNtVmhhenNLSUNBZ0lDQWdJQ0FnSUhKYmRDc3JYU0E5SURFNU1pQjhJSFlnUGo0Z05pd2djbHQwS3l0ZElEMGdNVEk0SUh3Z2RpQW1JRFl6T3dvZ0lDQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RpQThQU0EyTlRVek5Ta2dld29nSUNBZ0lDQWdJQ0FnYVdZZ0tIUWdLeUF5SUQ0OUlHTXBJR0p5WldGck93b2dJQ0FnSUNBZ0lDQWdjbHQwS3l0ZElEMGdNakkwSUh3Z2RpQStQaUF4TWl3Z2NsdDBLeXRkSUQwZ01USTRJSHdnZGlBK1BpQTJJQ1lnTmpNc0lISmJkQ3NyWFNBOUlERXlPQ0I4SUhZZ0ppQTJNenNLSUNBZ0lDQWdJQ0I5SUdWc2MyVWdld29nSUNBZ0lDQWdJQ0FnYVdZZ0tIUWdLeUF6SUQ0OUlHTXBJR0p5WldGck93b2dJQ0FnSUNBZ0lDQWdjbHQwS3l0ZElEMGdNalF3SUh3Z2RpQStQaUF4T0N3Z2NsdDBLeXRkSUQwZ01USTRJSHdnZGlBK1BpQXhNaUFtSURZekxDQnlXM1FySzEwZ1BTQXhNamdnZkNCMklENCtJRFlnSmlBMk15d2djbHQwS3l0ZElEMGdNVEk0SUh3Z2RpQW1JRFl6T3dvZ0lDQWdJQ0FnSUgwS0lDQWdJQ0FnZlFvZ0lDQWdJQ0J5WlhSMWNtNGdjbHQwWFNBOUlEQXNJSFFnTFNCek93b2dJQ0FnZlN3Z1NHNGdQU0FvWlN3Z2Npd2dkQ2tnUFQ0Z2FtNG9aU3dnVFN3Z2Npd2dkQ2tzSUVKdUlEMGdLR1VwSUQwK0lIc0tJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2NpQTlJREFzSUhRZ1BTQXdPeUIwSUR3Z1pTNXNaVzVuZEdnN0lDc3JkQ2tnZXdvZ0lDQWdJQ0FnSUhaaGNpQnVJRDBnWlM1amFHRnlRMjlrWlVGMEtIUXBPd29nSUNBZ0lDQWdJRzRnUEQwZ01USTNJRDhnY2lzcklEb2diaUE4UFNBeU1EUTNJRDhnY2lBclBTQXlJRG9nYmlBK1BTQTFOVEk1TmlBbUppQnVJRHc5SURVM016UXpJRDhnS0hJZ0t6MGdOQ3dnS3l0MEtTQTZJSElnS3owZ016c0tJQ0FnSUNBZ2ZRb2dJQ0FnSUNCeVpYUjFjbTRnY2pzS0lDQWdJSDBzSUZwMElEMGdkSGx3Wlc5bUlGUmxlSFJFWldOdlpHVnlJRHdnSW5VaUlEOGdibVYzSUZSbGVIUkVaV052WkdWeUtDa2dPaUIyYjJsa0lEQXNJRkYwSUQwZ0tHVXNJSElzSUhRcElEMCtJSHNLSUNBZ0lDQWdabTl5SUNoMllYSWdiaUE5SUhJZ0t5QjBMQ0J6SUQwZ2Nqc2daVnR6WFNBbUppQWhLSE1nUGowZ2JpazdJQ2tnS3l0ek93b2dJQ0FnSUNCcFppQW9jeUF0SUhJZ1BpQXhOaUFtSmlCbExtSjFabVpsY2lBbUppQmFkQ2tLSUNBZ0lDQWdJQ0J5WlhSMWNtNGdXblF1WkdWamIyUmxLR1V1YzNWaVlYSnlZWGtvY2l3Z2N5a3BPd29nSUNBZ0lDQm1iM0lnS0haaGNpQmpJRDBnSWlJN0lISWdQQ0J6T3lBcElIc0tJQ0FnSUNBZ0lDQjJZWElnWmlBOUlHVmJjaXNyWFRzS0lDQWdJQ0FnSUNCcFppQW9JU2htSUNZZ01USTRLU2tnZXdvZ0lDQWdJQ0FnSUNBZ1l5QXJQU0JUZEhKcGJtY3Vabkp2YlVOb1lYSkRiMlJsS0dZcE93b2dJQ0FnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdDaUFnSUNBZ0lDQWdmUW9nSUNBZ0lDQWdJSFpoY2lCMklEMGdaVnR5S3l0ZElDWWdOak03Q2lBZ0lDQWdJQ0FnYVdZZ0tDaG1JQ1lnTWpJMEtTQTlQU0F4T1RJcElIc0tJQ0FnSUNBZ0lDQWdJR01nS3owZ1UzUnlhVzVuTG1aeWIyMURhR0Z5UTI5a1pTZ29aaUFtSURNeEtTQThQQ0EySUh3Z2RpazdDaUFnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHNLSUNBZ0lDQWdJQ0I5Q2lBZ0lDQWdJQ0FnZG1GeUlIQWdQU0JsVzNJcksxMGdKaUEyTXpzS0lDQWdJQ0FnSUNCcFppQW9LR1lnSmlBeU5EQXBJRDA5SURJeU5DQS9JR1lnUFNBb1ppQW1JREUxS1NBOFBDQXhNaUI4SUhZZ1BEd2dOaUI4SUhBZ09pQm1JRDBnS0dZZ0ppQTNLU0E4UENBeE9DQjhJSFlnUER3Z01USWdmQ0J3SUR3OElEWWdmQ0JsVzNJcksxMGdKaUEyTXl3Z1ppQThJRFkxTlRNMktRb2dJQ0FnSUNBZ0lDQWdZeUFyUFNCVGRISnBibWN1Wm5KdmJVTm9ZWEpEYjJSbEtHWXBPd29nSUNBZ0lDQWdJR1ZzYzJVZ2V3b2dJQ0FnSUNBZ0lDQWdkbUZ5SUdjZ1BTQm1JQzBnTmpVMU16WTdDaUFnSUNBZ0lDQWdJQ0JqSUNzOUlGTjBjbWx1Wnk1bWNtOXRRMmhoY2tOdlpHVW9OVFV5T1RZZ2ZDQm5JRDQrSURFd0xDQTFOak15TUNCOElHY2dKaUF4TURJektUc0tJQ0FnSUNBZ0lDQjlDaUFnSUNBZ0lIMEtJQ0FnSUNBZ2NtVjBkWEp1SUdNN0NpQWdJQ0I5TENCbGJpQTlJQ2hsTENCeUtTQTlQaUJsSUQ4Z1VYUW9UU3dnWlN3Z2Npa2dPaUFpSWl3Z1ZtNGdQU0FvWlN3Z2Npa2dQVDRnZXdvZ0lDQWdJQ0J5SUQwZ1RDaHlLVHNLSUNBZ0lDQWdkbUZ5SUhRZ1BTQW9DaUFnSUNBZ0lDQWdMeTl3Y205alpYTnpJRzl1YkhrZ2MzUmtPanB6ZEhKcGJtY2dZbWx1WkdsdVozTWdkMmwwYUNCVlZFWTRJSE4xY0hCdmNuUXNJR2x1SUdOdmJuUnlZWE4wSUhSdklHVXVaeTRnYzNSa09qcGlZWE5wWTE5emRISnBibWM4ZFc1emFXZHVaV1FnWTJoaGNqNEtJQ0FnSUNBZ0lDQnlJRDA5UFNBaWMzUmtPanB6ZEhKcGJtY2lDaUFnSUNBZ0lDazdDaUFnSUNBZ0lISmxLR1VzSUhzS0lDQWdJQ0FnSUNCdVlXMWxPaUJ5TEFvZ0lDQWdJQ0FnSUM4dklFWnZjaUJ6YjIxbElHMWxkR2h2WkNCdVlXMWxjeUIzWlNCMWMyVWdjM1J5YVc1bklHdGxlWE1nYUdWeVpTQnphVzVqWlNCMGFHVjVJR0Z5WlNCd1lYSjBJRzltQ2lBZ0lDQWdJQ0FnTHk4Z2RHaGxJSEIxWW14cFl5OWxlSFJsY201aGJDQkJVRWtnWVc1a0wyOXlJSFZ6WldRZ1lua2dkR2hsSUhKMWJuUnBiV1V0WjJWdVpYSmhkR1ZrSUdOdlpHVXVDaUFnSUNBZ0lDQWdabkp2YlZkcGNtVlVlWEJsS0c0cElIc0tJQ0FnSUNBZ0lDQWdJSFpoY2lCeklEMGdSbHR1SUQ0K0lESmRMQ0JqSUQwZ2JpQXJJRFFzSUdZN0NpQWdJQ0FnSUNBZ0lDQnBaaUFvZENrS0lDQWdJQ0FnSUNBZ0lDQWdabTl5SUNoMllYSWdkaUE5SUdNc0lIQWdQU0F3T3lCd0lEdzlJSE03SUNzcmNDa2dld29nSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJuSUQwZ1l5QXJJSEE3Q2lBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hBZ1BUMGdjeUI4ZkNCTlcyZGRJRDA5SURBcElIc0tJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJvSUQwZ1p5QXRJSFlzSUdJZ1BTQmxiaWgyTENCb0tUc0tJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHWWdQVDA5SUhadmFXUWdNQ0EvSUdZZ1BTQmlJRG9nS0dZZ0t6MGdJbHd3SWl3Z1ppQXJQU0JpS1N3Z2RpQTlJR2NnS3lBeE93b2dJQ0FnSUNBZ0lDQWdJQ0FnSUgwS0lDQWdJQ0FnSUNBZ0lDQWdmUW9nSUNBZ0lDQWdJQ0FnWld4elpTQjdDaUFnSUNBZ0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUVFZ1BTQnVaWGNnUVhKeVlYa29jeWtzSUhBZ1BTQXdPeUJ3SUR3Z2N6c2dLeXR3S1FvZ0lDQWdJQ0FnSUNBZ0lDQWdJRUZiY0YwZ1BTQlRkSEpwYm1jdVpuSnZiVU5vWVhKRGIyUmxLRTFiWXlBcklIQmRLVHNLSUNBZ0lDQWdJQ0FnSUNBZ1ppQTlJRUV1YW05cGJpZ2lJaWs3Q2lBZ0lDQWdJQ0FnSUNCOUNpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2EyVW9iaWtzSUdZN0NpQWdJQ0FnSUNBZ2ZTd0tJQ0FnSUNBZ0lDQjBiMWRwY21WVWVYQmxLRzRzSUhNcElIc0tJQ0FnSUNBZ0lDQWdJSE1nYVc1emRHRnVZMlZ2WmlCQmNuSmhlVUoxWm1abGNpQW1KaUFvY3lBOUlHNWxkeUJWYVc1ME9FRnljbUY1S0hNcEtUc0tJQ0FnSUNBZ0lDQWdJSFpoY2lCakxDQm1JRDBnZEhsd1pXOW1JSE1nUFQwZ0luTjBjbWx1WnlJN0NpQWdJQ0FnSUNBZ0lDQm1JSHg4SUhNZ2FXNXpkR0Z1WTJWdlppQlZhVzUwT0VGeWNtRjVJSHg4SUhNZ2FXNXpkR0Z1WTJWdlppQlZhVzUwT0VOc1lXMXdaV1JCY25KaGVTQjhmQ0J6SUdsdWMzUmhibU5sYjJZZ1NXNTBPRUZ5Y21GNUlIeDhJRU1vSWtOaGJtNXZkQ0J3WVhOeklHNXZiaTF6ZEhKcGJtY2dkRzhnYzNSa09qcHpkSEpwYm1jaUtTd2dkQ0FtSmlCbUlEOGdZeUE5SUVKdUtITXBJRG9nWXlBOUlITXViR1Z1WjNSb093b2dJQ0FnSUNBZ0lDQWdkbUZ5SUhZZ1BTQkhkQ2cwSUNzZ1l5QXJJREVwTENCd0lEMGdkaUFySURRN0NpQWdJQ0FnSUNBZ0lDQnBaaUFvUmx0MklENCtJREpkSUQwZ1l5d2dkQ0FtSmlCbUtRb2dJQ0FnSUNBZ0lDQWdJQ0JJYmloekxDQndMQ0JqSUNzZ01TazdDaUFnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2htS1FvZ0lDQWdJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQm5JRDBnTURzZ1p5QThJR003SUNzclp5a2dld29nSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJvSUQwZ2N5NWphR0Z5UTI5a1pVRjBLR2NwT3dvZ0lDQWdJQ0FnSUNBZ0lDQWdJR2dnUGlBeU5UVWdKaVlnS0d0bEtIQXBMQ0JES0NKVGRISnBibWNnYUdGeklGVlVSaTB4TmlCamIyUmxJSFZ1YVhSeklIUm9ZWFFnWkc4Z2JtOTBJR1pwZENCcGJpQTRJR0pwZEhNaUtTa3NJRTFiY0NBcklHZGRJRDBnYURzS0lDQWdJQ0FnSUNBZ0lDQWdmUW9nSUNBZ0lDQWdJQ0FnWld4elpRb2dJQ0FnSUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJuSUQwZ01Ec2daeUE4SUdNN0lDc3JaeWtLSUNBZ0lDQWdJQ0FnSUNBZ0lDQk5XM0FnS3lCblhTQTlJSE5iWjEwN0NpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JpQWhQVDBnYm5Wc2JDQW1KaUJ1TG5CMWMyZ29hMlVzSUhZcExDQjJPd29nSUNBZ0lDQWdJSDBzQ2lBZ0lDQWdJQ0FnWVhKblVHRmphMEZrZG1GdVkyVTZJSFJsTEFvZ0lDQWdJQ0FnSUhKbFlXUldZV3gxWlVaeWIyMVFiMmx1ZEdWeU9pQlNaU3dLSUNBZ0lDQWdJQ0JrWlhOMGNuVmpkRzl5Um5WdVkzUnBiMjRvYmlrZ2V3b2dJQ0FnSUNBZ0lDQWdhMlVvYmlrN0NpQWdJQ0FnSUNBZ2ZRb2dJQ0FnSUNCOUtUc0tJQ0FnSUgwc0lISnVJRDBnZEhsd1pXOW1JRlJsZUhSRVpXTnZaR1Z5SUR3Z0luVWlJRDhnYm1WM0lGUmxlSFJFWldOdlpHVnlLQ0oxZEdZdE1UWnNaU0lwSURvZ2RtOXBaQ0F3TENCTWJpQTlJQ2hsTENCeUtTQTlQaUI3Q2lBZ0lDQWdJR1p2Y2lBb2RtRnlJSFFnUFNCbExDQnVJRDBnZENBK1BpQXhMQ0J6SUQwZ2JpQXJJSElnTHlBeU95QWhLRzRnUGowZ2N5a2dKaVlnZDJWYmJsMDdJQ2tnS3l0dU93b2dJQ0FnSUNCcFppQW9kQ0E5SUc0Z1BEd2dNU3dnZENBdElHVWdQaUF6TWlBbUppQnliaWtnY21WMGRYSnVJSEp1TG1SbFkyOWtaU2hOTG5OMVltRnljbUY1S0dVc0lIUXBLVHNLSUNBZ0lDQWdabTl5SUNoMllYSWdZeUE5SUNJaUxDQm1JRDBnTURzZ0lTaG1JRDQ5SUhJZ0x5QXlLVHNnS3l0bUtTQjdDaUFnSUNBZ0lDQWdkbUZ5SUhZZ1BTQjVaVnRsSUNzZ1ppQXFJRElnUGo0Z01WMDdDaUFnSUNBZ0lDQWdhV1lnS0hZZ1BUMGdNQ2tnWW5KbFlXczdDaUFnSUNBZ0lDQWdZeUFyUFNCVGRISnBibWN1Wm5KdmJVTm9ZWEpEYjJSbEtIWXBPd29nSUNBZ0lDQjlDaUFnSUNBZ0lISmxkSFZ5YmlCak93b2dJQ0FnZlN3Z1RXNGdQU0FvWlN3Z2Npd2dkQ2tnUFQ0Z2V3b2dJQ0FnSUNCcFppQW9kQ0EvUHlBb2RDQTlJREl4TkRjME9ETTJORGNwTENCMElEd2dNaWtnY21WMGRYSnVJREE3Q2lBZ0lDQWdJSFFnTFQwZ01qc0tJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2JpQTlJSElzSUhNZ1BTQjBJRHdnWlM1c1pXNW5kR2dnS2lBeUlEOGdkQ0F2SURJZ09pQmxMbXhsYm1kMGFDd2dZeUE5SURBN0lHTWdQQ0J6T3lBcksyTXBJSHNLSUNBZ0lDQWdJQ0IyWVhJZ1ppQTlJR1V1WTJoaGNrTnZaR1ZCZENoaktUc0tJQ0FnSUNBZ0lDQjVaVnR5SUQ0K0lERmRJRDBnWml3Z2NpQXJQU0F5T3dvZ0lDQWdJQ0I5Q2lBZ0lDQWdJSEpsZEhWeWJpQjVaVnR5SUQ0K0lERmRJRDBnTUN3Z2NpQXRJRzQ3Q2lBZ0lDQjlMQ0I2YmlBOUlDaGxLU0E5UGlCbExteGxibWQwYUNBcUlESXNJRWR1SUQwZ0tHVXNJSElwSUQwK0lIc0tJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2RDQTlJREFzSUc0Z1BTQWlJanNnSVNoMElENDlJSElnTHlBMEtUc2dLU0I3Q2lBZ0lDQWdJQ0FnZG1GeUlITWdQU0J6WlZ0bElDc2dkQ0FxSURRZ1BqNGdNbDA3Q2lBZ0lDQWdJQ0FnYVdZZ0tITWdQVDBnTUNrZ1luSmxZV3M3Q2lBZ0lDQWdJQ0FnYVdZZ0tDc3JkQ3dnY3lBK1BTQTJOVFV6TmlrZ2V3b2dJQ0FnSUNBZ0lDQWdkbUZ5SUdNZ1BTQnpJQzBnTmpVMU16WTdDaUFnSUNBZ0lDQWdJQ0J1SUNzOUlGTjBjbWx1Wnk1bWNtOXRRMmhoY2tOdlpHVW9OVFV5T1RZZ2ZDQmpJRDQrSURFd0xDQTFOak15TUNCOElHTWdKaUF4TURJektUc0tJQ0FnSUNBZ0lDQjlJR1ZzYzJVS0lDQWdJQ0FnSUNBZ0lHNGdLejBnVTNSeWFXNW5MbVp5YjIxRGFHRnlRMjlrWlNoektUc0tJQ0FnSUNBZ2ZRb2dJQ0FnSUNCeVpYUjFjbTRnYmpzS0lDQWdJSDBzSUU1dUlEMGdLR1VzSUhJc0lIUXBJRDArSUhzS0lDQWdJQ0FnYVdZZ0tIUWdQejhnS0hRZ1BTQXlNVFEzTkRnek5qUTNLU3dnZENBOElEUXBJSEpsZEhWeWJpQXdPd29nSUNBZ0lDQm1iM0lnS0haaGNpQnVJRDBnY2l3Z2N5QTlJRzRnS3lCMElDMGdOQ3dnWXlBOUlEQTdJR01nUENCbExteGxibWQwYURzZ0t5dGpLU0I3Q2lBZ0lDQWdJQ0FnZG1GeUlHWWdQU0JsTG1Ob1lYSkRiMlJsUVhRb1l5azdDaUFnSUNBZ0lDQWdhV1lnS0dZZ1BqMGdOVFV5T1RZZ0ppWWdaaUE4UFNBMU56TTBNeWtnZXdvZ0lDQWdJQ0FnSUNBZ2RtRnlJSFlnUFNCbExtTm9ZWEpEYjJSbFFYUW9LeXRqS1RzS0lDQWdJQ0FnSUNBZ0lHWWdQU0EyTlRVek5pQXJJQ2dvWmlBbUlERXdNak1wSUR3OElERXdLU0I4SUhZZ0ppQXhNREl6T3dvZ0lDQWdJQ0FnSUgwS0lDQWdJQ0FnSUNCcFppQW9jMlZiY2lBK1BpQXlYU0E5SUdZc0lISWdLejBnTkN3Z2NpQXJJRFFnUGlCektTQmljbVZoYXpzS0lDQWdJQ0FnZlFvZ0lDQWdJQ0J5WlhSMWNtNGdjMlZiY2lBK1BpQXlYU0E5SURBc0lISWdMU0J1T3dvZ0lDQWdmU3dnY1c0Z1BTQW9aU2tnUFQ0Z2V3b2dJQ0FnSUNCbWIzSWdLSFpoY2lCeUlEMGdNQ3dnZENBOUlEQTdJSFFnUENCbExteGxibWQwYURzZ0t5dDBLU0I3Q2lBZ0lDQWdJQ0FnZG1GeUlHNGdQU0JsTG1Ob1lYSkRiMlJsUVhRb2RDazdDaUFnSUNBZ0lDQWdiaUErUFNBMU5USTVOaUFtSmlCdUlEdzlJRFUzTXpReklDWW1JQ3NyZEN3Z2NpQXJQU0EwT3dvZ0lDQWdJQ0I5Q2lBZ0lDQWdJSEpsZEhWeWJpQnlPd29nSUNBZ2ZTd2dTbTRnUFNBb1pTd2djaXdnZENrZ1BUNGdld29nSUNBZ0lDQjBJRDBnVENoMEtUc0tJQ0FnSUNBZ2RtRnlJRzRzSUhNc0lHTXNJR1k3Q2lBZ0lDQWdJSElnUFQwOUlESWdQeUFvYmlBOUlFeHVMQ0J6SUQwZ1RXNHNJR1lnUFNCNmJpd2dZeUE5SUNoMktTQTlQaUIzWlZ0MklENCtJREZkS1NBNklISWdQVDA5SURRZ0ppWWdLRzRnUFNCSGJpd2djeUE5SUU1dUxDQm1JRDBnY1c0c0lHTWdQU0FvZGlrZ1BUNGdSbHQySUQ0K0lESmRLU3dnY21Vb1pTd2dld29nSUNBZ0lDQWdJRzVoYldVNklIUXNDaUFnSUNBZ0lDQWdabkp2YlZkcGNtVlVlWEJsT2lBb2Rpa2dQVDRnZXdvZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2NDQTlJRVpiZGlBK1BpQXlYU3dnWnl3Z2FDQTlJSFlnS3lBMExDQmlJRDBnTURzZ1lpQThQU0J3T3lBcksySXBJSHNLSUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJRUVnUFNCMklDc2dOQ0FySUdJZ0tpQnlPd29nSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZaUE5UFNCd0lIeDhJR01vUVNrZ1BUMGdNQ2tnZXdvZ0lDQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCQ0lEMGdRU0F0SUdnc0lGWWdQU0J1S0dnc0lFSXBPd29nSUNBZ0lDQWdJQ0FnSUNBZ0lHY2dQVDA5SUhadmFXUWdNQ0EvSUdjZ1BTQldJRG9nS0djZ0t6MGdJbHd3SWl3Z1p5QXJQU0JXS1N3Z2FDQTlJRUVnS3lCeU93b2dJQ0FnSUNBZ0lDQWdJQ0I5Q2lBZ0lDQWdJQ0FnSUNCOUNpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2EyVW9kaWtzSUdjN0NpQWdJQ0FnSUNBZ2ZTd0tJQ0FnSUNBZ0lDQjBiMWRwY21WVWVYQmxPaUFvZGl3Z2NDa2dQVDRnZXdvZ0lDQWdJQ0FnSUNBZ2RIbHdaVzltSUhBZ0lUMGdJbk4wY21sdVp5SWdKaVlnUXloZ1EyRnVibTkwSUhCaGMzTWdibTl1TFhOMGNtbHVaeUIwYnlCREt5c2djM1J5YVc1bklIUjVjR1VnSkh0MGZXQXBPd29nSUNBZ0lDQWdJQ0FnZG1GeUlHY2dQU0JtS0hBcExDQm9JRDBnUjNRb05DQXJJR2NnS3lCeUtUc0tJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQkdXMmdnUGo0Z01sMGdQU0JuSUM4Z2Npd2djeWh3TENCb0lDc2dOQ3dnWnlBcklISXBMQ0IySUNFOVBTQnVkV3hzSUNZbUlIWXVjSFZ6YUNoclpTd2dhQ2tzSUdnN0NpQWdJQ0FnSUNBZ2ZTd0tJQ0FnSUNBZ0lDQmhjbWRRWVdOclFXUjJZVzVqWlRvZ2RHVXNDaUFnSUNBZ0lDQWdjbVZoWkZaaGJIVmxSbkp2YlZCdmFXNTBaWEk2SUZKbExBb2dJQ0FnSUNBZ0lHUmxjM1J5ZFdOMGIzSkdkVzVqZEdsdmJpaDJLU0I3Q2lBZ0lDQWdJQ0FnSUNCclpTaDJLVHNLSUNBZ0lDQWdJQ0I5Q2lBZ0lDQWdJSDBwT3dvZ0lDQWdmU3dnUzI0Z1BTQW9aU3dnY2l3Z2RDd2diaXdnY3l3Z1l5a2dQVDRnZXdvZ0lDQWdJQ0JYVzJWZElEMGdld29nSUNBZ0lDQWdJRzVoYldVNklFd29jaWtzQ2lBZ0lDQWdJQ0FnY21GM1EyOXVjM1J5ZFdOMGIzSTZJRVVvZEN3Z2Jpa3NDaUFnSUNBZ0lDQWdjbUYzUkdWemRISjFZM1J2Y2pvZ1JTaHpMQ0JqS1N3S0lDQWdJQ0FnSUNCbWFXVnNaSE02SUZ0ZENpQWdJQ0FnSUgwN0NpQWdJQ0I5TENCWmJpQTlJQ2hsTENCeUxDQjBMQ0J1TENCekxDQmpMQ0JtTENCMkxDQndMQ0JuS1NBOVBpQjdDaUFnSUNBZ0lGZGJaVjB1Wm1sbGJHUnpMbkIxYzJnb2V3b2dJQ0FnSUNBZ0lHWnBaV3hrVG1GdFpUb2dUQ2h5S1N3S0lDQWdJQ0FnSUNCblpYUjBaWEpTWlhSMWNtNVVlWEJsT2lCMExBb2dJQ0FnSUNBZ0lHZGxkSFJsY2pvZ1JTaHVMQ0J6S1N3S0lDQWdJQ0FnSUNCblpYUjBaWEpEYjI1MFpYaDBPaUJqTEFvZ0lDQWdJQ0FnSUhObGRIUmxja0Z5WjNWdFpXNTBWSGx3WlRvZ1ppd0tJQ0FnSUNBZ0lDQnpaWFIwWlhJNklFVW9kaXdnY0Nrc0NpQWdJQ0FnSUNBZ2MyVjBkR1Z5UTI5dWRHVjRkRG9nWndvZ0lDQWdJQ0I5S1RzS0lDQWdJSDBzSUZodUlEMGdLR1VzSUhJcElEMCtJSHNLSUNBZ0lDQWdjaUE5SUV3b2Npa3NJSEpsS0dVc0lIc0tJQ0FnSUNBZ0lDQnBjMVp2YVdRNklDRXdMQW9nSUNBZ0lDQWdJQzh2SUhadmFXUWdjbVYwZFhKdUlIWmhiSFZsY3lCallXNGdZbVVnYjNCMGFXMXBlbVZrSUc5MWRDQnpiMjFsZEdsdFpYTUtJQ0FnSUNBZ0lDQnVZVzFsT2lCeUxBb2dJQ0FnSUNBZ0lHRnlaMUJoWTJ0QlpIWmhibU5sT2lBd0xBb2dJQ0FnSUNBZ0lHWnliMjFYYVhKbFZIbHdaVG9nS0NrZ1BUNGdld29nSUNBZ0lDQWdJSDBzQ2lBZ0lDQWdJQ0FnTHk4Z1ZFOUVUem9nWVhOelpYSjBJR2xtSUdGdWVYUm9hVzVuSUdWc2MyVWdhWE1nWjJsMlpXNC9DaUFnSUNBZ0lDQWdkRzlYYVhKbFZIbHdaVG9nS0hRc0lHNHBJRDArSUhzS0lDQWdJQ0FnSUNCOUNpQWdJQ0FnSUgwcE93b2dJQ0FnZlN3Z1dtNGdQU0F4TENCUmJpQTlJQ2dwSUQwK0lGcHVMQ0JsWVNBOUlDZ3BJRDArSUhzS0lDQWdJQ0FnWDJVZ1BTQWhNU3dnYzI0Z1BTQXdPd29nSUNBZ2ZTd2dkRzRnUFNBb1pTd2djaXdnZENrZ1BUNGdld29nSUNBZ0lDQjJZWElnYmlBOUlGdGRMQ0J6SUQwZ1pTNTBiMWRwY21WVWVYQmxLRzRzSUhRcE93b2dJQ0FnSUNCeVpYUjFjbTRnYmk1c1pXNW5kR2dnSmlZZ0tFWmJjaUErUGlBeVhTQTlJRk11ZEc5SVlXNWtiR1VvYmlrcExDQnpPd29nSUNBZ2ZTd2djbUVnUFNBb1pTd2djaXdnZENrZ1BUNGdLR1VnUFNCVExuUnZWbUZzZFdVb1pTa3NJSElnUFNCWVpTaHlMQ0FpWlcxMllXdzZPbUZ6SWlrc0lIUnVLSElzSUhRc0lHVXBLU3dnYm5RZ1BTQmJYU3dnZEdFZ1BTQW9aU3dnY2l3Z2RDd2diaWtnUFQ0Z0tHVWdQU0J1ZEZ0bFhTd2djaUE5SUZNdWRHOVdZV3gxWlNoeUtTd2daU2h1ZFd4c0xDQnlMQ0IwTENCdUtTa3NJRzVoSUQwZ2UzMHNJRTEwSUQwZ0tHVXBJRDArSUhzS0lDQWdJQ0FnZG1GeUlISWdQU0J1WVZ0bFhUc0tJQ0FnSUNBZ2NtVjBkWEp1SUhJZ1BUMDlJSFp2YVdRZ01DQS9JRXdvWlNrZ09pQnlPd29nSUNBZ2ZTd2dZV0VnUFNBb1pTd2djaXdnZEN3Z2Jpd2djeWtnUFQ0Z0tHVWdQU0J1ZEZ0bFhTd2djaUE5SUZNdWRHOVdZV3gxWlNoeUtTd2dkQ0E5SUUxMEtIUXBMQ0JsS0hJc0lISmJkRjBzSUc0c0lITXBLU3dnYVdFZ1BTQW9aU3dnY2lrZ1BUNGdVeTUwYjBoaGJtUnNaU2h1WlhjZ1VISnZiV2x6WlNnb2RDd2diaWtnUFQ0Z2V3b2dJQ0FnSUNCamIyNXpkQ0J6SUQwZ0tDa2dQVDRnZXdvZ0lDQWdJQ0FnSUhSeWVTQjdDaUFnSUNBZ0lDQWdJQ0J0Y2lncE93b2dJQ0FnSUNBZ0lIMGdZMkYwWTJnZ0tHTXBJSHNLSUNBZ0lDQWdJQ0FnSUc0b1l5azdDaUFnSUNBZ0lDQWdmUW9nSUNBZ0lDQjlPd29nSUNBZ0lDQkdXMlVnUGo0Z01sMGdQU0JUTG5SdlNHRnVaR3hsS0hRcExDQkdXM0lnUGo0Z01sMGdQU0JUTG5SdlNHRnVaR3hsS0hNcE93b2dJQ0FnZlNrcExDQnViaUE5SUNncElEMCtJSFI1Y0dWdlppQm5iRzlpWVd4VWFHbHpJRDA5SUNKdlltcGxZM1FpSUQ4Z1oyeHZZbUZzVkdocGN5QTZJQ2d2S2lCQVgxOVFWVkpGWDE4Z0tpOGdablZ1WTNScGIyNG9LU0I3Q2lBZ0lDQWdJSEpsZEhWeWJpQkdkVzVqZEdsdmJqc0tJQ0FnSUgwb0tTa29JbkpsZEhWeWJpQjBhR2x6SWlrb0tTd2djMkVnUFNBb1pTa2dQVDRnWlNBOVBUMGdNQ0EvSUZNdWRHOUlZVzVrYkdVb2JtNG9LU2tnT2lBb1pTQTlJRTEwS0dVcExDQlRMblJ2U0dGdVpHeGxLRzV1S0NsYlpWMHBLU3dnYjJFZ1BTQW9aU2tnUFQ0Z2V3b2dJQ0FnSUNCMllYSWdjaUE5SUc1MExteGxibWQwYURzS0lDQWdJQ0FnY21WMGRYSnVJRzUwTG5CMWMyZ29aU2tzSUhJN0NpQWdJQ0I5TENCallTQTlJQ2hsTENCeUtTQTlQaUI3Q2lBZ0lDQWdJR1p2Y2lBb2RtRnlJSFFnUFNCdVpYY2dRWEp5WVhrb1pTa3NJRzRnUFNBd095QnVJRHdnWlRzZ0t5dHVLUW9nSUNBZ0lDQWdJSFJiYmwwZ1BTQllaU2hHVzNJZ0t5QnVJQ29nTkNBK1BpQXlYU3dnSW5CaGNtRnRaWFJsY2lBaUlDc2diaWs3Q2lBZ0lDQWdJSEpsZEhWeWJpQjBPd29nSUNBZ2ZTd2dkV0VnUFNBb1pTd2djaXdnZENrZ1BUNGdld29nSUNBZ0lDQjJZWElnYmlBOUlHTmhLR1VzSUhJcExDQnpJRDBnYmk1emFHbG1kQ2dwT3dvZ0lDQWdJQ0JsTFMwN0NpQWdJQ0FnSUhaaGNpQmpJRDBnWUhKbGRIVnliaUJtZFc1amRHbHZiaUFvYjJKcUxDQm1kVzVqTENCa1pYTjBjblZqZEc5eWMxSmxaaXdnWVhKbmN5a2dld3BnTENCbUlEMGdNQ3dnZGlBOUlGdGRPd29nSUNBZ0lDQjBJRDA5UFNBdktpQkdWVTVEVkVsUFRpQXFMd29nSUNBZ0lDQXdJQ1ltSUhZdWNIVnphQ2dpYjJKcUlpazdDaUFnSUNBZ0lHWnZjaUFvZG1GeUlIQWdQU0JiSW5KbGRGUjVjR1VpWFN3Z1p5QTlJRnR6WFN3Z2FDQTlJREE3SUdnZ1BDQmxPeUFySzJncENpQWdJQ0FnSUNBZ2RpNXdkWE5vS0NKaGNtY2lJQ3NnYUNrc0lIQXVjSFZ6YUNnaVlYSm5WSGx3WlNJZ0t5Qm9LU3dnWnk1d2RYTm9LRzViYUYwcExDQmpJQ3M5SUdBZ0lIWmhjaUJoY21ja2UyaDlJRDBnWVhKblZIbHdaU1I3YUgwdWNtVmhaRlpoYkhWbFJuSnZiVkJ2YVc1MFpYSW9ZWEpuY3lSN1ppQS9JQ0lySWlBcklHWWdPaUFpSW4wcE93cGdMQ0JtSUNzOUlHNWJhRjB1WVhKblVHRmphMEZrZG1GdVkyVTdDaUFnSUNBZ0lIWmhjaUJpSUQwZ2RDQTlQVDBnTHlvZ1EwOU9VMVJTVlVOVVQxSWdLaThLSUNBZ0lDQWdNU0EvSUNKdVpYY2dablZ1WXlJZ09pQWlablZ1WXk1allXeHNJanNLSUNBZ0lDQWdZeUFyUFNCZ0lDQjJZWElnY25ZZ1BTQWtlMko5S0NSN2RpNXFiMmx1S0NJc0lDSXBmU2s3Q21Bc0lITXVhWE5XYjJsa0lIeDhJQ2h3TG5CMWMyZ29JbVZ0ZG1Gc1gzSmxkSFZ5YmxaaGJIVmxJaWtzSUdjdWNIVnphQ2gwYmlrc0lHTWdLejBnWUNBZ2NtVjBkWEp1SUdWdGRtRnNYM0psZEhWeWJsWmhiSFZsS0hKbGRGUjVjR1VzSUdSbGMzUnlkV04wYjNKelVtVm1MQ0J5ZGlrN0NtQXBMQ0JqSUNzOUlHQjlPd3BnTENCd0xuQjFjMmdvWXlrN0NpQWdJQ0FnSUhaaGNpQkJJRDBnU1hJb1JuVnVZM1JwYjI0c0lIQXBLQzR1TG1jcExDQkNJRDBnWUcxbGRHaHZaRU5oYkd4bGNqd29KSHR1TG0xaGNDZ29WaWtnUFQ0Z1ZpNXVZVzFsS1M1cWIybHVLQ0lzSUNJcGZTa2dQVDRnSkh0ekxtNWhiV1Y5UG1BN0NpQWdJQ0FnSUhKbGRIVnliaUJ2WVNoWFpTaENMQ0JCS1NrN0NpQWdJQ0I5TENCbVlTQTlJQ2hsTENCeUtTQTlQaUFvWlNBOUlGTXVkRzlXWVd4MVpTaGxLU3dnY2lBOUlGTXVkRzlXWVd4MVpTaHlLU3dnVXk1MGIwaGhibVJzWlNobFczSmRLU2tzSUhaaElEMGdLR1VwSUQwK0lIc0tJQ0FnSUNBZ1pTQStJRGtnSmlZZ0tIQmxXMlVnS3lBeFhTQXJQU0F4S1RzS0lDQWdJSDBzSUd4aElEMGdLR1VwSUQwK0lDaGxJRDBnVXk1MGIxWmhiSFZsS0dVcExDQjBlWEJsYjJZZ1pTQTlQU0FpYzNSeWFXNW5JaWtzSUY5aElEMGdLR1VwSUQwK0lDaGxJRDBnVXk1MGIxWmhiSFZsS0dVcExDQlRMblJ2U0dGdVpHeGxLR1ZiVTNsdFltOXNMbWwwWlhKaGRHOXlYU2dwS1Nrc0lIQmhJRDBnS0dVcElEMCtJSHNLSUNBZ0lDQWdaU0E5SUZNdWRHOVdZV3gxWlNobEtUc0tJQ0FnSUNBZ2RtRnlJSElnUFNCbExtNWxlSFFvS1RzS0lDQWdJQ0FnY21WMGRYSnVJSEl1Wkc5dVpTQS9JREFnT2lCVExuUnZTR0Z1Wkd4bEtISXVkbUZzZFdVcE93b2dJQ0FnZlN3Z1pHRWdQU0FvWlNrZ1BUNGdVeTUwYjBoaGJtUnNaU2hOZENobEtTa3NJR2hoSUQwZ0tDa2dQVDRnVXk1MGIwaGhibVJzWlNoN2ZTa3NJR2RoSUQwZ0tHVXBJRDArSUhzS0lDQWdJQ0FnZG1GeUlISWdQU0JUTG5SdlZtRnNkV1VvWlNrN0NpQWdJQ0FnSUdWeUtISXBMQ0JNZENobEtUc0tJQ0FnSUgwc0lHMWhJRDBnS0dVc0lISXNJSFFwSUQwK0lIc0tJQ0FnSUNBZ1pTQTlJRk11ZEc5V1lXeDFaU2hsS1N3Z2NpQTlJRk11ZEc5V1lXeDFaU2h5S1N3Z2RDQTlJRk11ZEc5V1lXeDFaU2gwS1N3Z1pWdHlYU0E5SUhRN0NpQWdJQ0I5TENCNVlTQTlJQ2hsTENCeUtTQTlQaUI3Q2lBZ0lDQWdJR1VnUFNCWVpTaGxMQ0FpWDJWdGRtRnNYM1JoYTJWZmRtRnNkV1VpS1RzS0lDQWdJQ0FnZG1GeUlIUWdQU0JsTG5KbFlXUldZV3gxWlVaeWIyMVFiMmx1ZEdWeUtISXBPd29nSUNBZ0lDQnlaWFIxY200Z1V5NTBiMGhoYm1Sc1pTaDBLVHNLSUNBZ0lIMHNJRVJ5SUQwZ2UzMHNJR0Z1SUQwZ0tHVXBJRDArSUhzS0lDQWdJQ0FnYVdZZ0tHVWdhVzV6ZEdGdVkyVnZaaUJaSUh4OElHVWdQVDBnSW5WdWQybHVaQ0lwQ2lBZ0lDQWdJQ0FnY21WMGRYSnVJRlJsT3dvZ0lDQWdJQ0I2S0RFc0lHVXBPd29nSUNBZ2ZTd2djMjRnUFNBd0xDQnZiaUE5SUNncElEMCtJRjlsSUh4OElITnVJRDRnTUN3Z1kyNGdQU0FvWlNrZ1BUNGdld29nSUNBZ0lDQjJZWElnY2pzS0lDQWdJQ0FnVkdVZ1BTQmxMQ0J2YmlncElIeDhJQ2dvY2lBOUlHa3ViMjVGZUdsMEtTQTlQU0J1ZFd4c0lIeDhJSEl1WTJGc2JDaHBMQ0JsS1N3Z2JHVWdQU0FoTUNrc0lIb29aU3dnYm1WM0lGa29aU2twT3dvZ0lDQWdmU3dnZDJFZ1BTQW9aU3dnY2lrZ1BUNGdld29nSUNBZ0lDQlVaU0E5SUdVc0lHTnVLR1VwT3dvZ0lDQWdmU3dnWW1FZ1BTQjNZU3dnVUdFZ1BTQW9LU0E5UGlCN0NpQWdJQ0FnSUdsbUlDZ2hiMjRvS1NrS0lDQWdJQ0FnSUNCMGNua2dld29nSUNBZ0lDQWdJQ0FnWW1Fb1ZHVXBPd29nSUNBZ0lDQWdJSDBnWTJGMFkyZ2dLR1VwSUhzS0lDQWdJQ0FnSUNBZ0lHRnVLR1VwT3dvZ0lDQWdJQ0FnSUgwS0lDQWdJSDBzSUhWdUlEMGdLR1VwSUQwK0lIc0tJQ0FnSUNBZ2FXWWdLQ0ZzWlNrS0lDQWdJQ0FnSUNCMGNua2dld29nSUNBZ0lDQWdJQ0FnWlNncExDQlFZU2dwT3dvZ0lDQWdJQ0FnSUgwZ1kyRjBZMmdnS0hJcElIc0tJQ0FnSUNBZ0lDQWdJR0Z1S0hJcE93b2dJQ0FnSUNBZ0lIMEtJQ0FnSUgwc0lHWnVJRDBnS0NrZ1BUNGdjR1Z5Wm05eWJXRnVZMlV1Ym05M0tDa3NJRVZoSUQwZ0tHVXNJSElwSUQwK0lIc0tJQ0FnSUNBZ2FXWWdLRVJ5VzJWZElDWW1JQ2hqYkdWaGNsUnBiV1Z2ZFhRb1JISmJaVjB1YVdRcExDQmtaV3hsZEdVZ1JISmJaVjBwTENBaGNpa2djbVYwZFhKdUlEQTdDaUFnSUNBZ0lIWmhjaUIwSUQwZ2MyVjBWR2x0Wlc5MWRDZ29LU0E5UGlCN0NpQWdJQ0FnSUNBZ1pHVnNaWFJsSUVSeVcyVmRMQ0IxYmlnb0tTQTlQaUJrYmlobExDQm1iaWdwS1NrN0NpQWdJQ0FnSUgwc0lISXBPd29nSUNBZ0lDQnlaWFIxY200Z1JISmJaVjBnUFNCN0NpQWdJQ0FnSUNBZ2FXUTZJSFFzQ2lBZ0lDQWdJQ0FnZEdsdFpXOTFkRjl0Y3pvZ2Nnb2dJQ0FnSUNCOUxDQXdPd29nSUNBZ2ZTd2dlblFnUFNCYlhTd2dWR0VnUFNBb1pTd2djaWtnUFQ0Z2V3b2dJQ0FnSUNCNmRDNXNaVzVuZEdnZ1BTQXdPd29nSUNBZ0lDQm1iM0lnS0haaGNpQjBPeUIwSUQwZ1RWdGxLeXRkT3lBcElIc0tJQ0FnSUNBZ0lDQjJZWElnYmlBOUlIUWdJVDBnTVRBMU93b2dJQ0FnSUNBZ0lHNGdKajBnZENBaFBTQXhNVElzSUhJZ0t6MGdiaUFtSmlCeUlDVWdPQ0EvSURRZ09pQXdMQ0I2ZEM1d2RYTm9LQW9nSUNBZ0lDQWdJQ0FnTHk4Z1UzQmxZMmxoYkNCallYTmxJR1p2Y2lCd2IybHVkR1Z5Y3lCMWJtUmxjaUIzWVhOdE5qUWdiM0lnUTBGT1gwRkVSRkpGVTFOZk1rZENJRzF2WkdVdUNpQWdJQ0FnSUNBZ0lDQjBJRDA5SURFeE1pQS9JRVpiY2lBK1BpQXlYU0E2SUhRZ1BUMGdNVEEySUQ4Z1RXVmJjaUErUGlBelhTQTZJSFFnUFQwZ01UQTFJRDhnYzJWYmNpQStQaUF5WFNBNklIWnlXM0lnUGo0Z00xMEtJQ0FnSUNBZ0lDQXBMQ0J5SUNzOUlHNGdQeUE0SURvZ05Ec0tJQ0FnSUNBZ2ZRb2dJQ0FnSUNCeVpYUjFjbTRnZW5RN0NpQWdJQ0I5TENBa1lTQTlJQ2hsTENCeUxDQjBLU0E5UGlCN0NpQWdJQ0FnSUhaaGNpQnVJRDBnVkdFb2Npd2dkQ2s3Q2lBZ0lDQWdJSEpsZEhWeWJpQldjbHRsWFNndUxpNXVLVHNLSUNBZ0lIMHNJRU5oSUQwZ0tHVXNJSElzSUhRcElEMCtJQ1JoS0dVc0lISXNJSFFwTENCQllTQTlJR05zWldGeVZHbHRaVzkxZEN3Z1VtRWdQU0FvS1NBOVBpQndaWEptYjNKdFlXNWpaUzV1YjNjb0tTd2dVMkVnUFNBb0tTQTlQaUFvQ2lBZ0lDQWdJQzh2SUZOMFlYa2diMjVsSUZkaGMyMGdjR0ZuWlNCemFHOXlkQ0J2WmlBMFIwSTZJSGRvYVd4bElHVXVaeTRnUTJoeWIyMWxJR2x6SUdGaWJHVWdkRzhnWVd4c2IyTmhkR1VLSUNBZ0lDQWdMeThnWm5Wc2JDQTBSMElnVjJGemJTQnRaVzF2Y21sbGN5d2dkR2hsSUhOcGVtVWdkMmxzYkNCM2NtRndJR0poWTJzZ2RHOGdNQ0JpZVhSbGN5QnBiaUJYWVhOdElITnBaR1VLSUNBZ0lDQWdMeThnWm05eUlHRnVlU0JqYjJSbElIUm9ZWFFnWkdWaGJITWdkMmwwYUNCb1pXRndJSE5wZW1WekxDQjNhR2xqYUNCM2IzVnNaQ0J5WlhGMWFYSmxJSE53WldOcFlXd0tJQ0FnSUNBZ0x5OGdZMkZ6YVc1bklHRnNiQ0JvWldGd0lITnBlbVVnY21Wc1lYUmxaQ0JqYjJSbElIUnZJSFJ5WldGMElEQWdjM0JsWTJsaGJHeDVMZ29nSUNBZ0lDQXlNVFEzTkRnek5qUTRDaUFnSUNBcExDQnJZU0E5SUNobExDQnlLU0E5UGlCTllYUm9MbU5sYVd3b1pTQXZJSElwSUNvZ2Npd2dTV0VnUFNBb1pTa2dQVDRnZXdvZ0lDQWdJQ0IyWVhJZ2NpQTlJRzFsTG1KMVptWmxjaXdnZENBOUlDaGxJQzBnY2k1aWVYUmxUR1Z1WjNSb0lDc2dOalUxTXpVcElDOGdOalUxTXpZN0NpQWdJQ0FnSUhSeWVTQjdDaUFnSUNBZ0lDQWdjbVYwZFhKdUlHMWxMbWR5YjNjb2RDa3NJRTl5S0Nrc0lERTdDaUFnSUNBZ0lIMGdZMkYwWTJnZ2V3b2dJQ0FnSUNCOUNpQWdJQ0I5TENCWFlTQTlJQ2hsS1NBOVBpQjdDaUFnSUNBZ0lIWmhjaUJ5SUQwZ1RTNXNaVzVuZEdnN0NpQWdJQ0FnSUdVZ1BqNCtQU0F3T3dvZ0lDQWdJQ0IyWVhJZ2RDQTlJRk5oS0NrN0NpQWdJQ0FnSUdsbUlDaGxJRDRnZENrS0lDQWdJQ0FnSUNCeVpYUjFjbTRnSVRFN0NpQWdJQ0FnSUdadmNpQW9kbUZ5SUc0Z1BTQXhPeUJ1SUR3OUlEUTdJRzRnS2owZ01pa2dld29nSUNBZ0lDQWdJSFpoY2lCeklEMGdjaUFySURFd05EZzFOellnTHlCdUxDQmpJRDBnVFdGMGFDNXRhVzRvZEN3Z2EyRW9UV0YwYUM1dFlYZ29aU3dnY3lrc0lEWTFOVE0yS1Nrc0lHWWdQU0JKWVNoaktUc0tJQ0FnSUNBZ0lDQnBaaUFvWmlrS0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBaE1Ec0tJQ0FnSUNBZ2ZRb2dJQ0FnSUNCeVpYUjFjbTRnSVRFN0NpQWdJQ0I5TENCRVlTQTlJQ2hsTENCeUtTQTlQaUJ6WlhSVWFXMWxiM1YwS0NncElEMCtJSHNLSUNBZ0lDQWdkVzRvWlNrN0NpQWdJQ0I5TENCeUtTd2dSbUVnUFNBb1pTd2djaXdnZENrZ1BUNGdSR0VvS0NrZ1BUNGdkeWhsS1NoMEtTd2djaWtzSUU5aElEMGdLR1VwSUQwK0lEVXlPd29nSUNBZ1puVnVZM1JwYjI0Z1ZXRW9aU3dnY2l3Z2RDd2diaWtnZXdvZ0lDQWdJQ0J5WlhSMWNtNGdOekE3Q2lBZ0lDQjlDaUFnSUNCMllYSWdlR0VnUFNCYmJuVnNiQ3dnVzEwc0lGdGRYU3dnYW1FZ1BTQW9aU3dnY2lrZ1BUNGdld29nSUNBZ0lDQjJZWElnZENBOUlIaGhXMlZkT3dvZ0lDQWdJQ0J5SUQwOVBTQXdJSHg4SUhJZ1BUMDlJREV3SUQ4Z0tDaGxJRDA5UFNBeElEOGdZV1VnT2lCbVpTa29VWFFvZEN3Z01Da3BMQ0IwTG14bGJtZDBhQ0E5SURBcElEb2dkQzV3ZFhOb0tISXBPd29nSUNBZ2ZTd2dTR0VnUFNBb1pTd2djaXdnZEN3Z2Jpa2dQVDRnZXdvZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJ6SUQwZ01Dd2dZeUE5SURBN0lHTWdQQ0IwT3lCakt5c3BJSHNLSUNBZ0lDQWdJQ0IyWVhJZ1ppQTlJRVpiY2lBK1BpQXlYU3dnZGlBOUlFWmJjaUFySURRZ1BqNGdNbDA3Q2lBZ0lDQWdJQ0FnY2lBclBTQTRPd29nSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJSEFnUFNBd095QndJRHdnZGpzZ2NDc3JLUW9nSUNBZ0lDQWdJQ0FnYW1Fb1pTd2dUVnRtSUNzZ2NGMHBPd29nSUNBZ0lDQWdJSE1nS3owZ2Rqc0tJQ0FnSUNBZ2ZRb2dJQ0FnSUNCeVpYUjFjbTRnUmx0dUlENCtJREpkSUQwZ2N5d2dNRHNLSUNBZ0lIMHNJRUpoSUQwZ0tHVXBJRDArSUdVc0lIWnVJRDBnS0dVc0lISXBJRDArSUhzS0lDQWdJQ0FnWlNBOElERXlPQ0EvSUhJdWNIVnphQ2hsS1NBNklISXVjSFZ6YUNobElDVWdNVEk0SUh3Z01USTRMQ0JsSUQ0K0lEY3BPd29nSUNBZ2ZTd2dWbUVnUFNBb1pTa2dQVDRnZXdvZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJ5SUQwZ2V3b2dJQ0FnSUNBZ0lHazZJQ0pwTXpJaUxBb2dJQ0FnSUNBZ0lHbzZJQ0pwTmpRaUxBb2dJQ0FnSUNBZ0lHWTZJQ0ptTXpJaUxBb2dJQ0FnSUNBZ0lHUTZJQ0ptTmpRaUxBb2dJQ0FnSUNBZ0lHVTZJQ0psZUhSbGNtNXlaV1lpTEFvZ0lDQWdJQ0FnSUhBNklDSnBNeklpQ2lBZ0lDQWdJSDBzSUhRZ1BTQjdDaUFnSUNBZ0lDQWdjR0Z5WVcxbGRHVnljem9nVzEwc0NpQWdJQ0FnSUNBZ2NtVnpkV3gwY3pvZ1pWc3dYU0E5UFNBaWRpSWdQeUJiWFNBNklGdHlXMlZiTUYxZFhRb2dJQ0FnSUNCOUxDQnVJRDBnTVRzZ2JpQThJR1V1YkdWdVozUm9PeUFySzI0cENpQWdJQ0FnSUNBZ2RDNXdZWEpoYldWMFpYSnpMbkIxYzJnb2NsdGxXMjVkWFNrN0NpQWdJQ0FnSUhKbGRIVnliaUIwT3dvZ0lDQWdmU3dnVEdFZ1BTQW9aU3dnY2lrZ1BUNGdld29nSUNBZ0lDQjJZWElnZENBOUlHVXVjMnhwWTJVb01Dd2dNU2tzSUc0Z1BTQmxMbk5zYVdObEtERXBMQ0J6SUQwZ2V3b2dJQ0FnSUNBZ0lHazZJREV5Tnl3S0lDQWdJQ0FnSUNBdkx5QnBNeklLSUNBZ0lDQWdJQ0J3T2lBeE1qY3NDaUFnSUNBZ0lDQWdMeThnYVRNeUNpQWdJQ0FnSUNBZ2Fqb2dNVEkyTEFvZ0lDQWdJQ0FnSUM4dklHazJOQW9nSUNBZ0lDQWdJR1k2SURFeU5Td0tJQ0FnSUNBZ0lDQXZMeUJtTXpJS0lDQWdJQ0FnSUNCa09pQXhNalFzQ2lBZ0lDQWdJQ0FnTHk4Z1pqWTBDaUFnSUNBZ0lDQWdaVG9nTVRFeENpQWdJQ0FnSUgwN0NpQWdJQ0FnSUhJdWNIVnphQ2c1Tmlrc0lIWnVLRzR1YkdWdVozUm9MQ0J5S1RzS0lDQWdJQ0FnWm05eUlDaDJZWElnWXlBOUlEQTdJR01nUENCdUxteGxibWQwYURzZ0t5dGpLUW9nSUNBZ0lDQWdJSEl1Y0hWemFDaHpXMjViWTExZEtUc0tJQ0FnSUNBZ2RDQTlQU0FpZGlJZ1B5QnlMbkIxYzJnb01Da2dPaUJ5TG5CMWMyZ29NU3dnYzF0MFhTazdDaUFnSUNCOUxDQk5ZU0E5SUNobExDQnlLU0E5UGlCN0NpQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ1YyVmlRWE56WlcxaWJIa3VSblZ1WTNScGIyNGdQVDBnSW1aMWJtTjBhVzl1SWlrS0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lGZGxZa0Z6YzJWdFlteDVMa1oxYm1OMGFXOXVLRlpoS0hJcExDQmxLVHNLSUNBZ0lDQWdkbUZ5SUhRZ1BTQmJNVjA3Q2lBZ0lDQWdJRXhoS0hJc0lIUXBPd29nSUNBZ0lDQjJZWElnYmlBOUlGc0tJQ0FnSUNBZ0lDQXdMQW9nSUNBZ0lDQWdJRGszTEFvZ0lDQWdJQ0FnSURFeE5Td0tJQ0FnSUNBZ0lDQXhNRGtzQ2lBZ0lDQWdJQ0FnTHk4Z2JXRm5hV01nS0NKY01HRnpiU0lwQ2lBZ0lDQWdJQ0FnTVN3S0lDQWdJQ0FnSUNBd0xBb2dJQ0FnSUNBZ0lEQXNDaUFnSUNBZ0lDQWdNQ3dLSUNBZ0lDQWdJQ0F2THlCMlpYSnphVzl1T2lBeENpQWdJQ0FnSUNBZ01Rb2dJQ0FnSUNCZE93b2dJQ0FnSUNCMmJpaDBMbXhsYm1kMGFDd2diaWtzSUc0dWNIVnphQ2d1TGk1MEtTd2diaTV3ZFhOb0tBb2dJQ0FnSUNBZ0lESXNDaUFnSUNBZ0lDQWdOeXdLSUNBZ0lDQWdJQ0F2THlCcGJYQnZjblFnYzJWamRHbHZiZ29nSUNBZ0lDQWdJQzh2SUNocGJYQnZjblFnSW1VaUlDSm1JaUFvWm5WdVl5QXdJQ2gwZVhCbElEQXBLU2tLSUNBZ0lDQWdJQ0F4TEFvZ0lDQWdJQ0FnSURFc0NpQWdJQ0FnSUNBZ01UQXhMQW9nSUNBZ0lDQWdJREVzQ2lBZ0lDQWdJQ0FnTVRBeUxBb2dJQ0FnSUNBZ0lEQXNDaUFnSUNBZ0lDQWdNQ3dLSUNBZ0lDQWdJQ0EzTEFvZ0lDQWdJQ0FnSURVc0NpQWdJQ0FnSUNBZ0x5OGdaWGh3YjNKMElITmxZM1JwYjI0S0lDQWdJQ0FnSUNBdkx5QW9aWGh3YjNKMElDSm1JaUFvWm5WdVl5QXdJQ2gwZVhCbElEQXBLU2tLSUNBZ0lDQWdJQ0F4TEFvZ0lDQWdJQ0FnSURFc0NpQWdJQ0FnSUNBZ01UQXlMQW9nSUNBZ0lDQWdJREFzQ2lBZ0lDQWdJQ0FnTUFvZ0lDQWdJQ0FwT3dvZ0lDQWdJQ0IyWVhJZ2N5QTlJRzVsZHlCWFpXSkJjM05sYldKc2VTNU5iMlIxYkdVb2JtVjNJRlZwYm5RNFFYSnlZWGtvYmlrcExDQmpJRDBnYm1WM0lGZGxZa0Z6YzJWdFlteDVMa2x1YzNSaGJtTmxLSE1zSUhzS0lDQWdJQ0FnSUNCbE9pQjdDaUFnSUNBZ0lDQWdJQ0JtT2lCbENpQWdJQ0FnSUNBZ2ZRb2dJQ0FnSUNCOUtTd2daaUE5SUdNdVpYaHdiM0owY3k1bU93b2dJQ0FnSUNCeVpYUjFjbTRnWmpzS0lDQWdJSDBzSUhwaElEMGdLR1VzSUhJcElEMCtJSHNLSUNBZ0lDQWdhV1lnS0hOeUtRb2dJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlIUWdQU0JsT3lCMElEd2daU0FySUhJN0lIUXJLeWtnZXdvZ0lDQWdJQ0FnSUNBZ2RtRnlJRzRnUFNCM0tIUXBPd29nSUNBZ0lDQWdJQ0FnYmlBbUppQnpjaTV6WlhRb2Jpd2dkQ2s3Q2lBZ0lDQWdJQ0FnZlFvZ0lDQWdmU3dnYzNJc0lFZGhJRDBnS0dVcElEMCtJQ2h6Y2lCOGZDQW9jM0lnUFNBdktpQkFYMTlRVlZKRlgxOGdLaThnYm1WM0lGZGxZV3ROWVhBb0tTd2dlbUVvTUN3Z1VDNXNaVzVuZEdncEtTd2djM0l1WjJWMEtHVXBJSHg4SURBcExDQnNiaUE5SUZ0ZExDQk9ZU0E5SUNncElEMCtJSHNLSUNBZ0lDQWdhV1lnS0d4dUxteGxibWQwYUNrS0lDQWdJQ0FnSUNCeVpYUjFjbTRnYkc0dWNHOXdLQ2s3Q2lBZ0lDQWdJSFJ5ZVNCN0NpQWdJQ0FnSUNBZ1VDNW5jbTkzS0RFcE93b2dJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdDaUFnSUNBZ0lDQWdkR2h5YjNjZ1pTQnBibk4wWVc1alpXOW1JRkpoYm1kbFJYSnliM0lnUHlBaVZXNWhZbXhsSUhSdklHZHliM2NnZDJGemJTQjBZV0pzWlM0Z1UyVjBJRUZNVEU5WFgxUkJRa3hGWDBkU1QxZFVTQzRpSURvZ1pUc0tJQ0FnSUNBZ2ZRb2dJQ0FnSUNCeVpYUjFjbTRnVUM1c1pXNW5kR2dnTFNBeE93b2dJQ0FnZlN3Z1gyNGdQU0FvWlN3Z2Npa2dQVDRnVUM1elpYUW9aU3dnY2lrc0lIRmhJRDBnS0dVc0lISXBJRDArSUhzS0lDQWdJQ0FnZG1GeUlIUWdQU0JIWVNobEtUc0tJQ0FnSUNBZ2FXWWdLSFFwQ2lBZ0lDQWdJQ0FnY21WMGRYSnVJSFE3Q2lBZ0lDQWdJSFpoY2lCdUlEMGdUbUVvS1RzS0lDQWdJQ0FnZEhKNUlIc0tJQ0FnSUNBZ0lDQmZiaWh1TENCbEtUc0tJQ0FnSUNBZ2ZTQmpZWFJqYUNBb1l5a2dld29nSUNBZ0lDQWdJR2xtSUNnaEtHTWdhVzV6ZEdGdVkyVnZaaUJVZVhCbFJYSnliM0lwS1FvZ0lDQWdJQ0FnSUNBZ2RHaHliM2NnWXpzS0lDQWdJQ0FnSUNCMllYSWdjeUE5SUUxaEtHVXNJSElwT3dvZ0lDQWdJQ0FnSUY5dUtHNHNJSE1wT3dvZ0lDQWdJQ0I5Q2lBZ0lDQWdJSEpsZEhWeWJpQnpjaTV6WlhRb1pTd2diaWtzSUc0N0NpQWdJQ0I5T3dvZ0lDQWdhbVVnUFNCcExrSnBibVJwYm1kRmNuSnZjaUE5SUdOc1lYTnpJR1Y0ZEdWdVpITWdSWEp5YjNJZ2V3b2dJQ0FnSUNCamIyNXpkSEoxWTNSdmNpaHlLU0I3Q2lBZ0lDQWdJQ0FnYzNWd1pYSW9jaWtzSUhSb2FYTXVibUZ0WlNBOUlDSkNhVzVrYVc1blJYSnliM0lpT3dvZ0lDQWdJQ0I5Q2lBZ0lDQjlMQ0JJWlNncExDQmljaUE5SUdrdVVIVnlaVlpwY25SMVlXeEZjbkp2Y2lBOUlIZHlLRVZ5Y205eUxDQWlVSFZ5WlZacGNuUjFZV3hGY25KdmNpSXBMQ0JIY2lncExDQlNkQ2dwTENCTGNpQTlJR2t1U1c1MFpYSnVZV3hGY25KdmNpQTlJR05zWVhOeklHVjRkR1Z1WkhNZ1JYSnliM0lnZXdvZ0lDQWdJQ0JqYjI1emRISjFZM1J2Y2loeUtTQjdDaUFnSUNBZ0lDQWdjM1Z3WlhJb2Npa3NJSFJvYVhNdWJtRnRaU0E5SUNKSmJuUmxjbTVoYkVWeWNtOXlJanNLSUNBZ0lDQWdmUW9nSUNBZ2ZTd2dWWFFvS1N3Z2J5Z3BMQ0JVSUQwZ2FTNVZibUp2ZFc1a1ZIbHdaVVZ5Y205eUlEMGdkM0lvUlhKeWIzSXNJQ0pWYm1KdmRXNWtWSGx3WlVWeWNtOXlJaWs3Q2lBZ0lDQjJZWElnU21FZ1BTQjdDaUFnSUNBZ0lDOHFLaUJBWlhod2IzSjBJQ292Q2lBZ0lDQWdJR282SUhsMExBb2dJQ0FnSUNBdktpb2dRR1Y0Y0c5eWRDQXFMd29nSUNBZ0lDQlpPaUIzZEN3S0lDQWdJQ0FnTHlvcUlFQmxlSEJ2Y25RZ0tpOEtJQ0FnSUNBZ2VtRTZJR2h5TEFvZ0lDQWdJQ0F2S2lvZ1FHVjRjRzl5ZENBcUx3b2dJQ0FnSUNCaU9pQk1jaXdLSUNBZ0lDQWdMeW9xSUVCbGVIQnZjblFnS2k4S0lDQWdJQ0FnWVRvZ1RYSXNDaUFnSUNBZ0lDOHFLaUJBWlhod2IzSjBJQ292Q2lBZ0lDQWdJSEU2SUhweUxBb2dJQ0FnSUNBdktpb2dRR1Y0Y0c5eWRDQXFMd29nSUNBZ0lDQnBZVG9nYlhJc0NpQWdJQ0FnSUM4cUtpQkFaWGh3YjNKMElDb3ZDaUFnSUNBZ0lGYzZJRkIwTEFvZ0lDQWdJQ0F2S2lvZ1FHVjRjRzl5ZENBcUx3b2dJQ0FnSUNCc09pQkZkQ3dLSUNBZ0lDQWdMeW9xSUVCbGVIQnZjblFnS2k4S0lDQWdJQ0FnWnpvZ1luUXNDaUFnSUNBZ0lDOHFLaUJBWlhod2IzSjBJQ292Q2lBZ0lDQWdJR1JoT2lCVWRDd0tJQ0FnSUNBZ0x5b3FJRUJsZUhCdmNuUWdLaThLSUNBZ0lDQWdjV0U2SUVSMExBb2dJQ0FnSUNBdktpb2dRR1Y0Y0c5eWRDQXFMd29nSUNBZ0lDQnlZVG9nV1hJc0NpQWdJQ0FnSUM4cUtpQkFaWGh3YjNKMElDb3ZDaUFnSUNBZ0lFYzZJRnB5TEFvZ0lDQWdJQ0F2S2lvZ1FHVjRjRzl5ZENBcUx3b2dJQ0FnSUNCdVlUb2dSblFzQ2lBZ0lDQWdJQzhxS2lCQVpYaHdiM0owSUNvdkNpQWdJQ0FnSUVJNklHNXlMQW9nSUNBZ0lDQXZLaW9nUUdWNGNHOXlkQ0FxTHdvZ0lDQWdJQ0IyT2lCQ2RDd0tJQ0FnSUNBZ0x5b3FJRUJsZUhCdmNuUWdLaThLSUNBZ0lDQWdiam9nVm5Rc0NpQWdJQ0FnSUM4cUtpQkFaWGh3YjNKMElDb3ZDaUFnSUNBZ0lHeGhPaUJYYml3S0lDQWdJQ0FnTHlvcUlFQmxlSEJ2Y25RZ0tpOEtJQ0FnSUNBZ1Jqb2dSbTRzQ2lBZ0lDQWdJQzhxS2lCQVpYaHdiM0owSUNvdkNpQWdJQ0FnSUhCaE9pQlBiaXdLSUNBZ0lDQWdMeW9xSUVCbGVIQnZjblFnS2k4S0lDQWdJQ0FnY0RvZ1ZXNHNDaUFnSUNBZ0lDOHFLaUJBWlhod2IzSjBJQ292Q2lBZ0lDQWdJR3M2SUhodUxBb2dJQ0FnSUNBdktpb2dRR1Y0Y0c5eWRDQXFMd29nSUNBZ0lDQklPaUJXYml3S0lDQWdJQ0FnTHlvcUlFQmxlSEJ2Y25RZ0tpOEtJQ0FnSUNBZ1FUb2dTbTRzQ2lBZ0lDQWdJQzhxS2lCQVpYaHdiM0owSUNvdkNpQWdJQ0FnSUhnNklFdHVMQW9nSUNBZ0lDQXZLaW9nUUdWNGNHOXlkQ0FxTHdvZ0lDQWdJQ0IzT2lCWmJpd0tJQ0FnSUNBZ0x5b3FJRUJsZUhCdmNuUWdLaThLSUNBZ0lDQWdiMkU2SUZodUxBb2dJQ0FnSUNBdktpb2dRR1Y0Y0c5eWRDQXFMd29nSUNBZ0lDQmFPaUJSYml3S0lDQWdJQ0FnTHlvcUlFQmxlSEJ2Y25RZ0tpOEtJQ0FnSUNBZ1ZUb2daV0VzQ2lBZ0lDQWdJQzhxS2lCQVpYaHdiM0owSUNvdkNpQWdJQ0FnSUhkaE9pQnlZU3dLSUNBZ0lDQWdMeW9xSUVCbGVIQnZjblFnS2k4S0lDQWdJQ0FnZWpvZ2RHRXNDaUFnSUNBZ0lDOHFLaUJBWlhod2IzSjBJQ292Q2lBZ0lDQWdJRWs2SUdGaExBb2dJQ0FnSUNBdktpb2dRR1Y0Y0c5eWRDQXFMd29nSUNBZ0lDQlFPaUJwWVN3S0lDQWdJQ0FnTHlvcUlFQmxlSEJ2Y25RZ0tpOEtJQ0FnSUNBZ1oyRTZJRXgwTEFvZ0lDQWdJQ0F2S2lvZ1FHVjRjRzl5ZENBcUx3b2dJQ0FnSUNCdFlUb2djMkVzQ2lBZ0lDQWdJQzhxS2lCQVpYaHdiM0owSUNvdkNpQWdJQ0FnSUhrNklIVmhMQW9nSUNBZ0lDQXZLaW9nUUdWNGNHOXlkQ0FxTHdvZ0lDQWdJQ0I0WVRvZ1ptRXNDaUFnSUNBZ0lDOHFLaUJBWlhod2IzSjBJQ292Q2lBZ0lDQWdJRU02SUhaaExBb2dJQ0FnSUNBdktpb2dRR1Y0Y0c5eWRDQXFMd29nSUNBZ0lDQjJZVG9nYkdFc0NpQWdJQ0FnSUM4cUtpQkFaWGh3YjNKMElDb3ZDaUFnSUNBZ0lIVmhPaUJmWVN3S0lDQWdJQ0FnTHlvcUlFQmxlSEJ2Y25RZ0tpOEtJQ0FnSUNBZ2RHRTZJSEJoTEFvZ0lDQWdJQ0F2S2lvZ1FHVjRjRzl5ZENBcUx3b2dJQ0FnSUNCS09pQmtZU3dLSUNBZ0lDQWdMeW9xSUVCbGVIQnZjblFnS2k4S0lDQWdJQ0FnV0RvZ2FHRXNDaUFnSUNBZ0lDOHFLaUJBWlhod2IzSjBJQ292Q2lBZ0lDQWdJSGxoT2lCbllTd0tJQ0FnSUNBZ0x5b3FJRUJsZUhCdmNuUWdLaThLSUNBZ0lDQWdhMkU2SUcxaExBb2dJQ0FnSUNBdktpb2dRR1Y0Y0c5eWRDQXFMd29nSUNBZ0lDQnFZVG9nZVdFc0NpQWdJQ0FnSUM4cUtpQkFaWGh3YjNKMElDb3ZDaUFnSUNBZ0lGWTZJRVZoTEFvZ0lDQWdJQ0F2S2lvZ1FHVjRjRzl5ZENBcUx3b2dJQ0FnSUNCb1lUb2dRMkVzQ2lBZ0lDQWdJQzhxS2lCQVpYaHdiM0owSUNvdkNpQWdJQ0FnSUdWaE9pQkJZU3dLSUNBZ0lDQWdMeW9xSUVCbGVIQnZjblFnS2k4S0lDQWdJQ0FnSkRvZ1ptNHNDaUFnSUNBZ0lDOHFLaUJBWlhod2IzSjBJQ292Q2lBZ0lDQWdJSE5oT2lCU1lTd0tJQ0FnSUNBZ0x5b3FJRUJsZUhCdmNuUWdLaThLSUNBZ0lDQWdYem9nVjJFc0NpQWdJQ0FnSUM4cUtpQkFaWGh3YjNKMElDb3ZDaUFnSUNBZ0lHWmhPaUJHWVN3S0lDQWdJQ0FnTHlvcUlFQmxlSEJ2Y25RZ0tpOEtJQ0FnSUNBZ1kyRTZJRTloTEFvZ0lDQWdJQ0F2S2lvZ1FHVjRjRzl5ZENBcUx3b2dJQ0FnSUNCaFlUb2dWV0VzQ2lBZ0lDQWdJQzhxS2lCQVpYaHdiM0owSUNvdkNpQWdJQ0FnSUdKaE9pQklZU3dLSUNBZ0lDQWdMeW9xSUVCbGVIQnZjblFnS2k4S0lDQWdJQ0FnVXpvZ2Jta3NDaUFnSUNBZ0lDOHFLaUJBWlhod2IzSjBJQ292Q2lBZ0lDQWdJRkk2SUdGcExBb2dJQ0FnSUNBdktpb2dRR1Y0Y0c5eWRDQXFMd29nSUNBZ0lDQnBPaUJMWVN3S0lDQWdJQ0FnTHlvcUlFQmxlSEJ2Y25RZ0tpOEtJQ0FnSUNBZ1RUb2dYMmtzQ2lBZ0lDQWdJQzhxS2lCQVpYaHdiM0owSUNvdkNpQWdJQ0FnSUdVNklGbGhMQW9nSUNBZ0lDQXZLaW9nUUdWNGNHOXlkQ0FxTHdvZ0lDQWdJQ0J0T2lCMGFTd0tJQ0FnSUNBZ0x5b3FJRUJsZUhCdmNuUWdLaThLSUNBZ0lDQWdjem9nYkdrc0NpQWdJQ0FnSUM4cUtpQkFaWGh3YjNKMElDb3ZDaUFnSUNBZ0lIVTZJRzlwTEFvZ0lDQWdJQ0F2S2lvZ1FHVjRjRzl5ZENBcUx3b2dJQ0FnSUNCb09pQnlhU3dLSUNBZ0lDQWdMeW9xSUVCbGVIQnZjblFnS2k4S0lDQWdJQ0FnWXpvZ1dHRXNDaUFnSUNBZ0lDOHFLaUJBWlhod2IzSjBJQ292Q2lBZ0lDQWdJRzg2SUdOcExBb2dJQ0FnSUNBdktpb2dRR1Y0Y0c5eWRDQXFMd29nSUNBZ0lDQk9PaUIxYVN3S0lDQWdJQ0FnTHlvcUlFQmxlSEJ2Y25RZ0tpOEtJQ0FnSUNBZ1pEb2dVV0VzQ2lBZ0lDQWdJQzhxS2lCQVpYaHdiM0owSUNvdkNpQWdJQ0FnSUVzNklHUnBMQW9nSUNBZ0lDQXZLaW9nUUdWNGNHOXlkQ0FxTHdvZ0lDQWdJQ0JNT2lCd2FTd0tJQ0FnSUNBZ0x5b3FJRUJsZUhCdmNuUWdLaThLSUNBZ0lDQWdSVG9nWm1rc0NpQWdJQ0FnSUM4cUtpQkFaWGh3YjNKMElDb3ZDaUFnSUNBZ0lHWTZJR1ZwTEFvZ0lDQWdJQ0F2S2lvZ1FHVjRjRzl5ZENBcUx3b2dJQ0FnSUNCRU9pQjJhU3dLSUNBZ0lDQWdMeW9xSUVCbGVIQnZjblFnS2k4S0lDQWdJQ0FnY2pvZ1dtRXNDaUFnSUNBZ0lDOHFLaUJBWlhod2IzSjBJQ292Q2lBZ0lDQWdJRkU2SUdscExBb2dJQ0FnSUNBdktpb2dRR1Y0Y0c5eWRDQXFMd29nSUNBZ0lDQlBPaUJ6YVN3S0lDQWdJQ0FnTHlvcUlFQmxlSEJ2Y25RZ0tpOEtJQ0FnSUNBZ2REb2dRbUVzQ2lBZ0lDQWdJQzhxS2lCQVpYaHdiM0owSUNvdkNpQWdJQ0FnSUZRNklHTnVDaUFnSUNCOUxDQk9JRDBnVG1Vb0tTd2djRzRnUFNBb1pTa2dQVDRnS0hCdUlEMGdUaTVEWVNrb1pTa3NJRWQwSUQwZ0tHVXBJRDArSUNoSGRDQTlJRTR1UkdFcEtHVXBMQ0JrYmlBOUlDaGxMQ0J5S1NBOVBpQW9aRzRnUFNCT0xrVmhLU2hsTENCeUtTd2dhMlVnUFNBb1pTa2dQVDRnS0d0bElEMGdUaTVIWVNrb1pTa3NJRWdnUFNBb1pTd2djaWtnUFQ0Z0tFZ2dQU0JPTGtoaEtTaGxMQ0J5S1N3Z2FHNGdQU0FvWlNrZ1BUNGdLR2h1SUQwZ1RpNUpZU2tvWlNrc0lHZHVJRDBnS0dVcElEMCtJQ2huYmlBOUlFNHVTbUVwS0dVcExDQnRiaUE5SUNncElEMCtJQ2h0YmlBOUlFNHVTMkVwS0Nrc0lIbHVJRDBnS0dVcElEMCtJQ2g1YmlBOUlFNHVUR0VwS0dVcExDQk9kQ0E5SUNobEtTQTlQaUFvVG5RZ1BTQk9MazFoS1NobEtTd2dkMjRnUFNBb1pTd2djaXdnZENrZ1BUNGdLSGR1SUQwZ1RpNU9ZU2tvWlN3Z2Npd2dkQ2tzSUdKdUlEMGdLR1VwSUQwK0lDaGliaUE5SUU0dVQyRXBLR1VwT3dvZ0lDQWdablZ1WTNScGIyNGdTMkVvWlN3Z2Npa2dld29nSUNBZ0lDQjJZWElnZENBOUlHb29LVHNLSUNBZ0lDQWdkSEo1SUhzS0lDQWdJQ0FnSUNCeVpYUjFjbTRnZHlobEtTaHlLVHNLSUNBZ0lDQWdmU0JqWVhSamFDQW9iaWtnZXdvZ0lDQWdJQ0FnSUdsbUlDaFZLSFFwTENCdUlDRTlQU0J1SUNzZ01Da2dkR2h5YjNjZ2Jqc0tJQ0FnSUNBZ0lDQklLREVzSURBcE93b2dJQ0FnSUNCOUNpQWdJQ0I5Q2lBZ0lDQm1kVzVqZEdsdmJpQlpZU2hsTENCeUxDQjBLU0I3Q2lBZ0lDQWdJSFpoY2lCdUlEMGdhaWdwT3dvZ0lDQWdJQ0IwY25rZ2V3b2dJQ0FnSUNBZ0lISmxkSFZ5YmlCM0tHVXBLSElzSUhRcE93b2dJQ0FnSUNCOUlHTmhkR05vSUNoektTQjdDaUFnSUNBZ0lDQWdhV1lnS0ZVb2Jpa3NJSE1nSVQwOUlITWdLeUF3S1NCMGFISnZkeUJ6T3dvZ0lDQWdJQ0FnSUVnb01Td2dNQ2s3Q2lBZ0lDQWdJSDBLSUNBZ0lIMEtJQ0FnSUdaMWJtTjBhVzl1SUZoaEtHVXNJSElwSUhzS0lDQWdJQ0FnZG1GeUlIUWdQU0JxS0NrN0NpQWdJQ0FnSUhSeWVTQjdDaUFnSUNBZ0lDQWdkeWhsS1NoeUtUc0tJQ0FnSUNBZ2ZTQmpZWFJqYUNBb2Jpa2dld29nSUNBZ0lDQWdJR2xtSUNoVktIUXBMQ0J1SUNFOVBTQnVJQ3NnTUNrZ2RHaHliM2NnYmpzS0lDQWdJQ0FnSUNCSUtERXNJREFwT3dvZ0lDQWdJQ0I5Q2lBZ0lDQjlDaUFnSUNCbWRXNWpkR2x2YmlCYVlTaGxMQ0J5TENCMExDQnVMQ0J6TENCakxDQm1MQ0IyTENCd0xDQm5MQ0JvS1NCN0NpQWdJQ0FnSUhaaGNpQmlJRDBnYWlncE93b2dJQ0FnSUNCMGNua2dld29nSUNBZ0lDQWdJSGNvWlNrb2Npd2dkQ3dnYml3Z2N5d2dZeXdnWml3Z2Rpd2djQ3dnWnl3Z2FDazdDaUFnSUNBZ0lIMGdZMkYwWTJnZ0tFRXBJSHNLSUNBZ0lDQWdJQ0JwWmlBb1ZTaGlLU3dnUVNBaFBUMGdRU0FySURBcElIUm9jbTkzSUVFN0NpQWdJQ0FnSUNBZ1NDZ3hMQ0F3S1RzS0lDQWdJQ0FnZlFvZ0lDQWdmUW9nSUNBZ1puVnVZM1JwYjI0Z1VXRW9aU3dnY2l3Z2RDa2dld29nSUNBZ0lDQjJZWElnYmlBOUlHb29LVHNLSUNBZ0lDQWdkSEo1SUhzS0lDQWdJQ0FnSUNCM0tHVXBLSElzSUhRcE93b2dJQ0FnSUNCOUlHTmhkR05vSUNoektTQjdDaUFnSUNBZ0lDQWdhV1lnS0ZVb2Jpa3NJSE1nSVQwOUlITWdLeUF3S1NCMGFISnZkeUJ6T3dvZ0lDQWdJQ0FnSUVnb01Td2dNQ2s3Q2lBZ0lDQWdJSDBLSUNBZ0lIMEtJQ0FnSUdaMWJtTjBhVzl1SUdWcEtHVXNJSElzSUhRc0lHNHBJSHNLSUNBZ0lDQWdkbUZ5SUhNZ1BTQnFLQ2s3Q2lBZ0lDQWdJSFJ5ZVNCN0NpQWdJQ0FnSUNBZ2R5aGxLU2h5TENCMExDQnVLVHNLSUNBZ0lDQWdmU0JqWVhSamFDQW9ZeWtnZXdvZ0lDQWdJQ0FnSUdsbUlDaFZLSE1wTENCaklDRTlQU0JqSUNzZ01Da2dkR2h5YjNjZ1l6c0tJQ0FnSUNBZ0lDQklLREVzSURBcE93b2dJQ0FnSUNCOUNpQWdJQ0I5Q2lBZ0lDQm1kVzVqZEdsdmJpQnlhU2hsS1NCN0NpQWdJQ0FnSUhaaGNpQnlJRDBnYWlncE93b2dJQ0FnSUNCMGNua2dld29nSUNBZ0lDQWdJSGNvWlNrb0tUc0tJQ0FnSUNBZ2ZTQmpZWFJqYUNBb2RDa2dld29nSUNBZ0lDQWdJR2xtSUNoVktISXBMQ0IwSUNFOVBTQjBJQ3NnTUNrZ2RHaHliM2NnZERzS0lDQWdJQ0FnSUNCSUtERXNJREFwT3dvZ0lDQWdJQ0I5Q2lBZ0lDQjlDaUFnSUNCbWRXNWpkR2x2YmlCMGFTaGxMQ0J5TENCMExDQnVLU0I3Q2lBZ0lDQWdJSFpoY2lCeklEMGdhaWdwT3dvZ0lDQWdJQ0IwY25rZ2V3b2dJQ0FnSUNBZ0lISmxkSFZ5YmlCM0tHVXBLSElzSUhRc0lHNHBPd29nSUNBZ0lDQjlJR05oZEdOb0lDaGpLU0I3Q2lBZ0lDQWdJQ0FnYVdZZ0tGVW9jeWtzSUdNZ0lUMDlJR01nS3lBd0tTQjBhSEp2ZHlCak93b2dJQ0FnSUNBZ0lFZ29NU3dnTUNrN0NpQWdJQ0FnSUgwS0lDQWdJSDBLSUNBZ0lHWjFibU4wYVc5dUlHNXBLR1VzSUhJc0lIUXNJRzRzSUhNcElIc0tJQ0FnSUNBZ2RtRnlJR01nUFNCcUtDazdDaUFnSUNBZ0lIUnllU0I3Q2lBZ0lDQWdJQ0FnY21WMGRYSnVJSGNvWlNrb2Npd2dkQ3dnYml3Z2N5azdDaUFnSUNBZ0lIMGdZMkYwWTJnZ0tHWXBJSHNLSUNBZ0lDQWdJQ0JwWmlBb1ZTaGpLU3dnWmlBaFBUMGdaaUFySURBcElIUm9jbTkzSUdZN0NpQWdJQ0FnSUNBZ1NDZ3hMQ0F3S1RzS0lDQWdJQ0FnZlFvZ0lDQWdmUW9nSUNBZ1puVnVZM1JwYjI0Z1lXa29aU3dnY2l3Z2RDd2diaXdnY3l3Z1l5a2dld29nSUNBZ0lDQjJZWElnWmlBOUlHb29LVHNLSUNBZ0lDQWdkSEo1SUhzS0lDQWdJQ0FnSUNCeVpYUjFjbTRnZHlobEtTaHlMQ0IwTENCdUxDQnpMQ0JqS1RzS0lDQWdJQ0FnZlNCallYUmphQ0FvZGlrZ2V3b2dJQ0FnSUNBZ0lHbG1JQ2hWS0dZcExDQjJJQ0U5UFNCMklDc2dNQ2tnZEdoeWIzY2dkanNLSUNBZ0lDQWdJQ0JJS0RFc0lEQXBPd29nSUNBZ0lDQjlDaUFnSUNCOUNpQWdJQ0JtZFc1amRHbHZiaUJwYVNobExDQnlMQ0IwS1NCN0NpQWdJQ0FnSUhaaGNpQnVJRDBnYWlncE93b2dJQ0FnSUNCMGNua2dld29nSUNBZ0lDQWdJSGNvWlNrb2Npd2dkQ2s3Q2lBZ0lDQWdJSDBnWTJGMFkyZ2dLSE1wSUhzS0lDQWdJQ0FnSUNCcFppQW9WU2h1S1N3Z2N5QWhQVDBnY3lBcklEQXBJSFJvY205M0lITTdDaUFnSUNBZ0lDQWdTQ2d4TENBd0tUc0tJQ0FnSUNBZ2ZRb2dJQ0FnZlFvZ0lDQWdablZ1WTNScGIyNGdjMmtvWlN3Z2Npd2dkQ3dnYmlrZ2V3b2dJQ0FnSUNCMllYSWdjeUE5SUdvb0tUc0tJQ0FnSUNBZ2RISjVJSHNLSUNBZ0lDQWdJQ0IzS0dVcEtISXNJSFFzSUc0cE93b2dJQ0FnSUNCOUlHTmhkR05vSUNoaktTQjdDaUFnSUNBZ0lDQWdhV1lnS0ZVb2N5a3NJR01nSVQwOUlHTWdLeUF3S1NCMGFISnZkeUJqT3dvZ0lDQWdJQ0FnSUVnb01Td2dNQ2s3Q2lBZ0lDQWdJSDBLSUNBZ0lIMEtJQ0FnSUdaMWJtTjBhVzl1SUc5cEtHVXBJSHNLSUNBZ0lDQWdkbUZ5SUhJZ1BTQnFLQ2s3Q2lBZ0lDQWdJSFJ5ZVNCN0NpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhjb1pTa29LVHNLSUNBZ0lDQWdmU0JqWVhSamFDQW9kQ2tnZXdvZ0lDQWdJQ0FnSUdsbUlDaFZLSElwTENCMElDRTlQU0IwSUNzZ01Da2dkR2h5YjNjZ2REc0tJQ0FnSUNBZ0lDQnlaWFIxY200Z1NDZ3hMQ0F3S1N3Z01HNDdDaUFnSUNBZ0lIMEtJQ0FnSUgwS0lDQWdJR1oxYm1OMGFXOXVJR05wS0dVc0lISXNJSFFzSUc0c0lITXBJSHNLSUNBZ0lDQWdkbUZ5SUdNZ1BTQnFLQ2s3Q2lBZ0lDQWdJSFJ5ZVNCN0NpQWdJQ0FnSUNBZ2R5aGxLU2h5TENCMExDQnVMQ0J6S1RzS0lDQWdJQ0FnZlNCallYUmphQ0FvWmlrZ2V3b2dJQ0FnSUNBZ0lHbG1JQ2hWS0dNcExDQm1JQ0U5UFNCbUlDc2dNQ2tnZEdoeWIzY2daanNLSUNBZ0lDQWdJQ0JJS0RFc0lEQXBPd29nSUNBZ0lDQjlDaUFnSUNCOUNpQWdJQ0JtZFc1amRHbHZiaUIxYVNobExDQnlMQ0IwS1NCN0NpQWdJQ0FnSUhaaGNpQnVJRDBnYWlncE93b2dJQ0FnSUNCMGNua2dld29nSUNBZ0lDQWdJSGNvWlNrb2Npd2dkQ2s3Q2lBZ0lDQWdJSDBnWTJGMFkyZ2dLSE1wSUhzS0lDQWdJQ0FnSUNCcFppQW9WU2h1S1N3Z2N5QWhQVDBnY3lBcklEQXBJSFJvY205M0lITTdDaUFnSUNBZ0lDQWdTQ2d4TENBd0tUc0tJQ0FnSUNBZ2ZRb2dJQ0FnZlFvZ0lDQWdablZ1WTNScGIyNGdabWtvWlN3Z2Npd2dkQ3dnYml3Z2N5a2dld29nSUNBZ0lDQjJZWElnWXlBOUlHb29LVHNLSUNBZ0lDQWdkSEo1SUhzS0lDQWdJQ0FnSUNCM0tHVXBLSElzSUhRc0lHNHNJSE1wT3dvZ0lDQWdJQ0I5SUdOaGRHTm9JQ2htS1NCN0NpQWdJQ0FnSUNBZ2FXWWdLRlVvWXlrc0lHWWdJVDA5SUdZZ0t5QXdLU0IwYUhKdmR5Qm1Pd29nSUNBZ0lDQWdJRWdvTVN3Z01DazdDaUFnSUNBZ0lIMEtJQ0FnSUgwS0lDQWdJR1oxYm1OMGFXOXVJSFpwS0dVc0lISXNJSFFzSUc0c0lITXBJSHNLSUNBZ0lDQWdkbUZ5SUdNZ1BTQnFLQ2s3Q2lBZ0lDQWdJSFJ5ZVNCN0NpQWdJQ0FnSUNBZ2R5aGxLU2h5TENCMExDQnVMQ0J6S1RzS0lDQWdJQ0FnZlNCallYUmphQ0FvWmlrZ2V3b2dJQ0FnSUNBZ0lHbG1JQ2hWS0dNcExDQm1JQ0U5UFNCbUlDc2dNQ2tnZEdoeWIzY2daanNLSUNBZ0lDQWdJQ0JJS0RFc0lEQXBPd29nSUNBZ0lDQjlDaUFnSUNCOUNpQWdJQ0JtZFc1amRHbHZiaUJzYVNobExDQnlMQ0IwTENCdUxDQnpLU0I3Q2lBZ0lDQWdJSFpoY2lCaklEMGdhaWdwT3dvZ0lDQWdJQ0IwY25rZ2V3b2dJQ0FnSUNBZ0lISmxkSFZ5YmlCM0tHVXBLSElzSUhRc0lHNHNJSE1wT3dvZ0lDQWdJQ0I5SUdOaGRHTm9JQ2htS1NCN0NpQWdJQ0FnSUNBZ2FXWWdLRlVvWXlrc0lHWWdJVDA5SUdZZ0t5QXdLU0IwYUhKdmR5Qm1Pd29nSUNBZ0lDQWdJRWdvTVN3Z01DazdDaUFnSUNBZ0lIMEtJQ0FnSUgwS0lDQWdJR1oxYm1OMGFXOXVJRjlwS0dVc0lISXNJSFFzSUc0cElIc0tJQ0FnSUNBZ2RtRnlJSE1nUFNCcUtDazdDaUFnSUNBZ0lIUnllU0I3Q2lBZ0lDQWdJQ0FnY21WMGRYSnVJSGNvWlNrb2Npd2dkQ3dnYmlrN0NpQWdJQ0FnSUgwZ1kyRjBZMmdnS0dNcElIc0tJQ0FnSUNBZ0lDQnBaaUFvVlNoektTd2dZeUFoUFQwZ1l5QXJJREFwSUhSb2NtOTNJR003Q2lBZ0lDQWdJQ0FnU0NneExDQXdLVHNLSUNBZ0lDQWdmUW9nSUNBZ2ZRb2dJQ0FnWm5WdVkzUnBiMjRnY0drb1pTd2djaXdnZEN3Z2Jpa2dld29nSUNBZ0lDQjJZWElnY3lBOUlHb29LVHNLSUNBZ0lDQWdkSEo1SUhzS0lDQWdJQ0FnSUNCM0tHVXBLSElzSUhRc0lHNHBPd29nSUNBZ0lDQjlJR05oZEdOb0lDaGpLU0I3Q2lBZ0lDQWdJQ0FnYVdZZ0tGVW9jeWtzSUdNZ0lUMDlJR01nS3lBd0tTQjBhSEp2ZHlCak93b2dJQ0FnSUNBZ0lFZ29NU3dnTUNrN0NpQWdJQ0FnSUgwS0lDQWdJSDBLSUNBZ0lHWjFibU4wYVc5dUlHUnBLR1VzSUhJc0lIUXNJRzRwSUhzS0lDQWdJQ0FnZG1GeUlITWdQU0JxS0NrN0NpQWdJQ0FnSUhSeWVTQjdDaUFnSUNBZ0lDQWdkeWhsS1NoeUxDQjBMQ0J1S1RzS0lDQWdJQ0FnZlNCallYUmphQ0FvWXlrZ2V3b2dJQ0FnSUNBZ0lHbG1JQ2hWS0hNcExDQmpJQ0U5UFNCaklDc2dNQ2tnZEdoeWIzY2dZenNLSUNBZ0lDQWdJQ0JJS0RFc0lEQXBPd29nSUNBZ0lDQjlDaUFnSUNCOUNpQWdJQ0JwTG1Ga1pFWjFibU4wYVc5dUlEMGdjV0U3Q2lBZ0lDQjJZWElnWVhRN0NpQWdJQ0I0WlNBOUlHWjFibU4wYVc5dUlHVW9LU0I3Q2lBZ0lDQWdJR0YwSUh4OElGQnVLQ2tzSUdGMElIeDhJQ2g0WlNBOUlHVXBPd29nSUNBZ2ZUc0tJQ0FnSUdaMWJtTjBhVzl1SUZCdUtDa2dld29nSUNBZ0lDQnBaaUFvUTJVZ1BpQXdJSHg4SUNoMmRDZ3BMQ0JEWlNBK0lEQXBLUW9nSUNBZ0lDQWdJSEpsZEhWeWJqc0tJQ0FnSUNBZ1puVnVZM1JwYjI0Z1pTZ3BJSHNLSUNBZ0lDQWdJQ0IyWVhJZ2Nqc0tJQ0FnSUNBZ0lDQmhkQ0I4ZkNBb1lYUWdQU0FoTUN3Z2FTNWpZV3hzWldSU2RXNGdQU0FoTUN3Z0lXeGxJQ1ltSUNoc2RDZ3BMQ0JTS0drcExDQW9jaUE5SUdrdWIyNVNkVzUwYVcxbFNXNXBkR2xoYkdsNlpXUXBJRDA5SUc1MWJHd2dmSHdnY2k1allXeHNLR2twTENCZmRDZ3BLU2s3Q2lBZ0lDQWdJSDBLSUNBZ0lDQWdhUzV6WlhSVGRHRjBkWE1nUHlBb2FTNXpaWFJUZEdGMGRYTW9JbEoxYm01cGJtY3VMaTRpS1N3Z2MyVjBWR2x0Wlc5MWRDZ29LU0E5UGlCN0NpQWdJQ0FnSUNBZ2MyVjBWR2x0Wlc5MWRDZ29LU0E5UGlCcExuTmxkRk4wWVhSMWN5Z2lJaWtzSURFcExDQmxLQ2s3Q2lBZ0lDQWdJSDBzSURFcEtTQTZJR1VvS1RzS0lDQWdJSDBLSUNBZ0lHbG1JQ2hwTG5CeVpVbHVhWFFwQ2lBZ0lDQWdJR1p2Y2lBb2RIbHdaVzltSUdrdWNISmxTVzVwZENBOVBTQWlablZ1WTNScGIyNGlJQ1ltSUNocExuQnlaVWx1YVhRZ1BTQmJhUzV3Y21WSmJtbDBYU2s3SUdrdWNISmxTVzVwZEM1c1pXNW5kR2dnUGlBd095QXBDaUFnSUNBZ0lDQWdhUzV3Y21WSmJtbDBMbkJ2Y0NncEtDazdDaUFnSUNCeVpYUjFjbTRnVUc0b0tTd2dlU0E5SUU4c0lIazdDaUFnZlRzS2ZTa29LVHNLWTI5dWMzUWdiV2tnUFNCaGMzbHVZeUFvZFN3Z2JDQTlJSHQ5S1NBOVBpQW9kU0JwYm5OMFlXNWpaVzltSUZkbFlrRnpjMlZ0WW14NUxrMXZaSFZzWlNCOGZDQW9kU0E5SUdGM1lXbDBJRmRsWWtGemMyVnRZbXg1TG1OdmJYQnBiR1VvZFNrcExDQmhkMkZwZENCbmFTaDdDaUFnYVc1emRHRnVkR2xoZEdWWFlYTnRLR1FzSUhrcElIc0tJQ0FnSUZkbFlrRnpjMlZ0WW14NUxtbHVjM1JoYm5ScFlYUmxLSFVzSUdRcExuUm9aVzRvS0drcElEMCtJQ2g1S0drcExDQnBMbVY0Y0c5eWRITXBLVHNLSUNCOUxBb2dJRzV2UlhocGRGSjFiblJwYldVNklDRXdMQW9nSUc1dlNXNXBkR2xoYkZKMWJqb2dJVEFzQ2lBZ0xpNHViQXA5S1NrN0NtTnNZWE56SUhscElHVjRkR1Z1WkhNZ1JYSnliM0lnZXdvZ0lHTnZibk4wY25WamRHOXlLR3dzSUdRcElIc0tJQ0FnSUhOMWNHVnlLR0JiUXlzclhWc2tlMng5WFNBa2UyUjlZQ2s3Q2lBZ2ZRcDlDbU52Ym5OMElHZGxJRDBnZXdvZ0lFTmhiV1Z5WVVsdVptODZJQ0pqWVcxbGNtRmZhVzVtYnlJc0NpQWdRMkZ0WlhKaFRHbDJaVzVsYzNORVlYUmhPaUFpWTJGdFpYSmhYMnhwZG1WdVpYTnpYMlJoZEdFaUxBb2dJRU5oYldWeVlVeHBkbVZ1WlhOelJXNWtPaUFpWTJGdFpYSmhYMnhwZG1WdVpYTnpYMlZ1WkNJc0NpQWdRMkZ0WlhKaFRHbDJaVzVsYzNOU1pYRlRkR0YwZFhNNklDSmpZVzFsY21GZmJHbDJaVzVsYzNOZmNtVnhYM04wWVhSMWN5SXNDaUFnUTJGdFpYSmhUR2wyWlc1bGMzTlRkR0Z5ZERvZ0ltTmhiV1Z5WVY5c2FYWmxibVZ6YzE5emRHRnlkQ0lzQ2lBZ1EyRnRaWEpoVEdsMlpXNWxjM05UZEdGMGRYTTZJQ0pqWVcxbGNtRmZiR2wyWlc1bGMzTmZjM1JoZEhWeklpd0tJQ0JTWlhGRFlXMWxjbUZNYVhabGJtVnpjMFJoZEdFNklDSnlaWEZmWTJGdFpYSmhYMnhwZG1WdVpYTnpYMlJoZEdFaUNuMHNJSGRwSUQwZ1QySnFaV04wTG10bGVYTW9ld29nSUZ0blpTNURZVzFsY21GSmJtWnZYVG9nSVRBc0NpQWdXMmRsTGtOaGJXVnlZVXhwZG1WdVpYTnpSR0YwWVYwNklDRXdMQW9nSUZ0blpTNURZVzFsY21GTWFYWmxibVZ6YzBWdVpGMDZJQ0V3TEFvZ0lGdG5aUzVEWVcxbGNtRk1hWFpsYm1WemMxSmxjVk4wWVhSMWMxMDZJQ0V3TEFvZ0lGdG5aUzVEWVcxbGNtRk1hWFpsYm1WemMxTjBZWEowWFRvZ0lUQXNDaUFnVzJkbExsSmxjVU5oYldWeVlVeHBkbVZ1WlhOelJHRjBZVjA2SUNFd0NuMHBMQ0JpYVNBOUlFOWlhbVZqZEM1clpYbHpLSHNLSUNCYloyVXVRMkZ0WlhKaFNXNW1iMTA2SUNFd0xBb2dJRnRuWlM1RFlXMWxjbUZNYVhabGJtVnpjMFJoZEdGZE9pQWhNQ3dLSUNCYloyVXVRMkZ0WlhKaFRHbDJaVzVsYzNOVGRHRjBkWE5kT2lBaE1Dd0tJQ0JiWjJVdVVtVnhRMkZ0WlhKaFRHbDJaVzVsYzNORVlYUmhYVG9nSVRBS2ZTa3NJSE4wSUQwZ2V3b2dJRVJ2WTBsa1JXNWtPaUFpWkc5algybGtYMlZ1WkNJc0NpQWdSRzlqU1dSSmJtWnZPaUFpWkc5algybGtYMmx1Wm04aUxBb2dJRVJ2WTBsa1UzUmhjblE2SUNKa2IyTmZhV1JmYzNSaGNuUWlDbjBzSUZCcElEMGdUMkpxWldOMExtdGxlWE1vZXdvZ0lGdHpkQzVFYjJOSlpFVnVaRjA2SUNFd0xBb2dJRnR6ZEM1RWIyTkpaRk4wWVhKMFhUb2dJVEFLZlNrc0lFVnBJRDBnVDJKcVpXTjBMbXRsZVhNb2V3b2dJRnR6ZEM1RWIyTkpaRWx1Wm05ZE9pQWhNQXA5S1N3Z2IzUWdQU0I3Q2lBZ1NXMWhaMlU2SUNKcGJXRm5aU0lzQ2lBZ1NXMWhaMlZYYVhSb1JYbGxjem9nSW1sdFlXZGxYM2RwZEdoZlpYbGxjeUlLZlN3Z1ZHa2dQU0JQWW1wbFkzUXVhMlY1Y3loN0NpQWdXMjkwTGtsdFlXZGxYVG9nSVRBc0NpQWdXMjkwTGtsdFlXZGxWMmwwYUVWNVpYTmRPaUFoTUFwOUtTd2dKR2tnUFNCUFltcGxZM1F1YTJWNWN5aDdDaUFnVzI5MExrbHRZV2RsVjJsMGFFVjVaWE5kT2lBaE1BcDlLU3dnU1dVZ1BTQjdDaUFnUjJWMFEyOXVabWxuT2lBaVoyVjBYMk52Ym1acFp5SXNDaUFnUjJWMFEyOXVabWxuVW1WemRXeDBPaUFpWjJWMFgyTnZibVpwWjE5eVpYTjFiSFFpTEFvZ0lFbHVhWFJwWVd4cGVtVTZJQ0pwYm1sMGFXRnNhWHBsSWl3S0lDQkpibWwwYVdGc2FYcGxSWEp5YjNJNklDSnBibWwwYVdGc2FYcGxYMlZ5Y205eUlpd0tJQ0JKYm1sMGFXRnNhWHBsVTNWalkyVnpjem9nSW1sdWFYUnBZV3hwZW1WZmMzVmpZMlZ6Y3lJc0NpQWdVbVZoWkhrNklDSnlaV0ZrZVNJc0NpQWdVM1JoY25SVFpYTnphVzl1T2lBaWMzUmhjblJmYzJWemMybHZiaUlzQ2lBZ1ZHVnliV2x1WVhSbE9pQWlkR1Z5YldsdVlYUmxJZ3A5TENCRGFTQTlJRTlpYW1WamRDNXJaWGx6S0hzS0lDQmJTV1V1UjJWMFEyOXVabWxuWFRvZ0lUQXNDaUFnVzBsbExrbHVhWFJwWVd4cGVtVmRPaUFoTUN3S0lDQmJTV1V1VTNSaGNuUlRaWE56YVc5dVhUb2dJVEFzQ2lBZ1cwbGxMbFJsY20xcGJtRjBaVjA2SUNFd0NuMHBMQ0JCYVNBOUlFOWlhbVZqZEM1clpYbHpLSHNLSUNCYlNXVXVSMlYwUTI5dVptbG5VbVZ6ZFd4MFhUb2dJVEFzQ2lBZ1cwbGxMa2x1YVhScFlXeHBlbVZGY25KdmNsMDZJQ0V3TEFvZ0lGdEpaUzVKYm1sMGFXRnNhWHBsVTNWalkyVnpjMTA2SUNFd0xBb2dJRnRKWlM1U1pXRmtlVjA2SUNFd0NuMHBMQ0FrSUQwZ2V3b2dJRVJoZEdGQ2JHOWlPaUFpWkdGMFlWOWliRzlpSWl3S0lDQkZibkp2Ykd3NklDSmxibkp2Ykd3aUxBb2dJRVpoY2s1bFlYSkpiV0ZuWlRvZ0ltWmhjbDl1WldGeVgybHRZV2RsSWl3S0lDQkdZWEpRYUc5MGFXNTFjMFZ1WkRvZ0ltWmhjbDl3YUc5MGFXNTFjMTlsYm1RaUxBb2dJRVpoY2xCb2IzUnBiblZ6VTNSaGNuUTZJQ0ptWVhKZmNHaHZkR2x1ZFhOZmMzUmhjblFpTEFvZ0lFWnRZVVZ0WVZKbGMzVnNkRG9nSW1adFlWOWxiV0ZmY21WemRXeDBJaXdLSUNCT1pXRnlVR2h2ZEdsdWRYTkZibVE2SUNKdVpXRnlYM0JvYjNScGJuVnpYMlZ1WkNJc0NpQWdUbVZoY2xCb2IzUnBiblZ6VTNSaGNuUTZJQ0p1WldGeVgzQm9iM1JwYm5WelgzTjBZWEowSWl3S0lDQlFhRzkwYVc1MWMxQmhkSFJsY200NklDSndhRzkwYVc1MWMxOXdZWFIwWlhKdUlpd0tJQ0JRYUc5MGFXNTFjMUpsYzNWc2REb2dJbkJvYjNScGJuVnpYM0psYzNWc2RDSXNDaUFnVUc5elpUb2dJbkJ2YzJVaUxBb2dJRkJ2YzJWU1pXRmtlVG9nSW5CdmMyVmZjbVZoWkhraUxBb2dJRkJ2YzJWVGRHRnlkRG9nSW5CdmMyVmZjM1JoY25RaUxBb2dJRkpsWmtScGMzUmhibU5sT2lBaWNtVm1YMlJwYzNSaGJtTmxJaXdLSUNCU1pXWkVhWE4wWVc1alpVTmhibU5sYkRvZ0luSmxabDlrYVhOMFlXNWpaVjlqWVc1alpXd2lMQW9nSUZKbFprUnBjM1JoYm1ObFJXNWtPaUFpY21WbVgyUnBjM1JoYm1ObFgyVnVaQ0lzQ2lBZ1UwWlRSRkpsYzNWc2REb2dJbk5tYzJSZmNtVnpkV3gwSWl3S0lDQlRaWEoyWlhKRVlYUmhRbXh2WWpvZ0luTmxjblpsY2w5a1lYUmhYMkpzYjJJaUxBb2dJRk5sZEUxdlpHVTZJQ0p6WlhSZmJXOWtaU0lzQ2lBZ1UzUmhjblJUWlhOemFXOXVPaUFpYzNSaGNuUmZjMlZ6YzJsdmJpSXNDaUFnVlhObGNrcHZkWEp1WlhsSmJXRm5aVG9nSW5WelpYSmZhbTkxY201bGVWOXBiV0ZuWlNJc0NpQWdWbVZ5YVdaNU9pQWlkbVZ5YVdaNUlpd0tJQ0JXYVhOdmNrbHVabTg2SUNKMmFYTnZjbDlwYm1adklpd0tJQ0JYWldKd1JXNWpiMlJsVkdsdFpUb2dJbmRsWW5CZlpXNWpiMlJsWDNScGJXVWlDbjBzSUZKcElEMGdUMkpxWldOMExtdGxlWE1vZXdvZ0lGc2tMa1JoZEdGQ2JHOWlYVG9nSVRBc0NpQWdXeVF1Ulc1eWIyeHNYVG9nSVRBc0NpQWdXeVF1Um1GeVRtVmhja2x0WVdkbFhUb2dJVEFzQ2lBZ1d5UXVSbUZ5VUdodmRHbHVkWE5GYm1SZE9pQWhNQ3dLSUNCYkpDNUdZWEpRYUc5MGFXNTFjMU4wWVhKMFhUb2dJVEFzQ2lBZ1d5UXVUbVZoY2xCb2IzUnBiblZ6Ulc1a1hUb2dJVEFzQ2lBZ1d5UXVUbVZoY2xCb2IzUnBiblZ6VTNSaGNuUmRPaUFoTUN3S0lDQmJKQzVRYUc5MGFXNTFjMUJoZEhSbGNtNWRPaUFoTUN3S0lDQmJKQzVRYjNObFVtVmhaSGxkT2lBaE1Dd0tJQ0JiSkM1UWIzTmxVM1JoY25SZE9pQWhNQ3dLSUNCYkpDNVNaV1pFYVhOMFlXNWpaVjA2SUNFd0xBb2dJRnNrTGxKbFprUnBjM1JoYm1ObFEyRnVZMlZzWFRvZ0lUQXNDaUFnV3lRdVVtVm1SR2x6ZEdGdVkyVkZibVJkT2lBaE1Dd0tJQ0JiSkM1VFpYUk5iMlJsWFRvZ0lUQXNDaUFnV3lRdVUzUmhjblJUWlhOemFXOXVYVG9nSVRBc0NpQWdXeVF1VlhObGNrcHZkWEp1WlhsSmJXRm5aVjA2SUNFd0xBb2dJRnNrTGxabGNtbG1lVjA2SUNFd0xBb2dJRnNrTGxacGMyOXlTVzVtYjEwNklDRXdMQW9nSUZza0xsZGxZbkJGYm1OdlpHVlVhVzFsWFRvZ0lUQUtmU2tzSUZOcElEMGdUMkpxWldOMExtdGxlWE1vZXdvZ0lGc2tMa1JoZEdGQ2JHOWlYVG9nSVRBc0NpQWdXeVF1Um1GeVRtVmhja2x0WVdkbFhUb2dJVEFzQ2lBZ1d5UXVSbUZ5VUdodmRHbHVkWE5GYm1SZE9pQWhNQ3dLSUNCYkpDNUdZWEpRYUc5MGFXNTFjMU4wWVhKMFhUb2dJVEFzQ2lBZ1d5UXVSbTFoUlcxaFVtVnpkV3gwWFRvZ0lUQXNDaUFnV3lRdVUwWlRSRkpsYzNWc2RGMDZJQ0V3TEFvZ0lGc2tMazVsWVhKUWFHOTBhVzUxYzBWdVpGMDZJQ0V3TEFvZ0lGc2tMazVsWVhKUWFHOTBhVzUxYzFOMFlYSjBYVG9nSVRBc0NpQWdXeVF1VUdodmRHbHVkWE5RWVhSMFpYSnVYVG9nSVRBc0NpQWdXeVF1VUdodmRHbHVkWE5TWlhOMWJIUmRPaUFoTUN3S0lDQmJKQzVRYjNObFhUb2dJVEFzQ2lBZ1d5UXVVRzl6WlZKbFlXUjVYVG9nSVRBc0NpQWdXeVF1VUc5elpWTjBZWEowWFRvZ0lUQXNDaUFnV3lRdVVtVm1SR2x6ZEdGdVkyVkRZVzVqWld4ZE9pQWhNQ3dLSUNCYkpDNVNaV1pFYVhOMFlXNWpaVVZ1WkYwNklDRXdMQW9nSUZza0xsSmxaa1JwYzNSaGJtTmxYVG9nSVRBc0NpQWdXeVF1VTJWeWRtVnlSR0YwWVVKc2IySmRPaUFoTUN3S0lDQmJKQzVUWlhSTmIyUmxYVG9nSVRBc0NpQWdXeVF1VlhObGNrcHZkWEp1WlhsSmJXRm5aVjA2SUNFd0NuMHBMQ0J2Y2lBOUlIc0tJQ0JCWTJObGJEb2dJbUZqWTJWc0lpd0tJQ0JIZVhKdk9pQWlaM2x5YnlJc0NpQWdUV0ZuYm1WME9pQWliV0ZuYm1WMElpd0tJQ0JCWTJObGJGZHBkR2hIY21GMmFYUjVPaUFpWVdOalpXeGZkMmwwYUY5bmNtRjJhWFI1SWl3S0lDQlRaVzV6YjNJNklDSnpaVzV6YjNJaUNuMHNJR3RwSUQwZ1QySnFaV04wTG10bGVYTW9ld29nSUZ0dmNpNUJZMk5sYkYwNklDRXdMQW9nSUZ0dmNpNUhlWEp2WFRvZ0lUQXNDaUFnVzI5eUxrMWhaMjVsZEYwNklDRXdMQW9nSUZ0dmNpNUJZMk5sYkZkcGRHaEhjbUYyYVhSNVhUb2dJVEFzQ2lBZ1cyOXlMbE5sYm5OdmNsMDZJQ0V3Q24wcExDQlBaU0E5SUhzS0lDQkRjbVZoZEdWWFlYTnRTVzV6ZEdGdVkyVTZJQ0pmWTNKbFlYUmxYM2RoYzIxZmFXNXpkR0Z1WTJVaUxBb2dJRU55WldGMFpWZGhjMjFKYm5OMFlXNWpaVk4xWTJObGMzTTZJQ0pmWTNKbFlYUmxYM2RoYzIxZmFXNXpkR0Z1WTJWZmMzVmpZMlZ6Y3lJc0NpQWdSVzVqYjJSbFpGSmxjWFZsYzNSek9pQWlaVzVqYjJSbFpGOXlaWEYxWlhOMGN5SXNDaUFnUlc1amIyUmxaRkpsYzNCdmJuTmxjem9nSW1WdVkyOWtaV1JmY21WemNHOXVjMlZ6SWl3S0lDQkhaWFJYYjNKclpYSkJkbUZwYkdGaWFXeHBkSGxTWlhGMVpYTjBPaUFpWDJkbGRGOTNiM0pyWlhKZllYWmhhV3hoWW1sc2FYUjVYM0psY1hWbGMzUWlMQW9nSUVkbGRGZHZjbXRsY2tGMllXbHNZV0pwYkdsMGVWSmxjM0J2Ym5ObE9pQWlYMmRsZEY5M2IzSnJaWEpmWVhaaGFXeGhZbWxzYVhSNVgzSmxjM0J2Ym5ObElpd0tJQ0JKYm1sMGFXRnNhWHBsVjJGemJUb2dJbDlwYm1sMGFXRnNhWHBsWDNkaGMyMGlDbjBzSUVscElEMGdUMkpxWldOMExtdGxlWE1vZXdvZ0lGdFBaUzVEY21WaGRHVlhZWE50U1c1emRHRnVZMlZkT2lBaE1Dd0tJQ0JiVDJVdVJXNWpiMlJsWkZKbGNYVmxjM1J6WFRvZ0lUQXNDaUFnVzA5bExrZGxkRmR2Y210bGNrRjJZV2xzWVdKcGJHbDBlVkpsY1hWbGMzUmRPaUFoTUN3S0lDQmJUMlV1U1c1cGRHbGhiR2w2WlZkaGMyMWRPaUFoTUFwOUtTd2dWMmtnUFNCUFltcGxZM1F1YTJWNWN5aDdDaUFnVzA5bExrTnlaV0YwWlZkaGMyMUpibk4wWVc1alpWTjFZMk5sYzNOZE9pQWhNQ3dLSUNCYlQyVXVSVzVqYjJSbFpGSmxjM0J2Ym5ObGMxMDZJQ0V3TEFvZ0lGdFBaUzVIWlhSWGIzSnJaWEpCZG1GcGJHRmlhV3hwZEhsU1pYTndiMjV6WlYwNklDRXdDbjBwTENCamNpQTlJSHNLSUNBdUxpNW5aU3dLSUNBdUxpNXpkQ3dLSUNBdUxpNXZkQ3dLSUNBdUxpNVBaU3dLSUNBdUxpNUpaU3dLSUNBdUxpNGtMQW9nSUM0dUxtOXlDbjA3Q2xzS0lDQXVMaTUzYVN3S0lDQXVMaTVRYVN3S0lDQXVMaTVVYVN3S0lDQXVMaTVEYVN3S0lDQXVMaTVTYVN3S0lDQXVMaTVyYVN3S0lDQXVMaTVKYVFwZE93cGJDaUFnTGk0dVlta3NDaUFnTGk0dVJXa3NDaUFnTGk0dUpHa3NDaUFnTGk0dVFXa3NDaUFnTGk0dVUya3NDaUFnTGk0dVYya0tYVHNLWTI5dWMzUWdXWFFnUFNBb2RTd2diQ3dnWkNBOUlDZ3BJRDArSUNFd0tTQTlQaUI3Q2lBZ2FXWWdLSFI1Y0dWdlppQjFJRDA5SUNKdlltcGxZM1FpSUNZbUlIVWdJVDA5SUc1MWJHd3BJSHNLSUNBZ0lHWnZjaUFvWTI5dWMzUWdhU0J2WmlCc0tRb2dJQ0FnSUNCcFppQW9JU2hwSUdsdUlIVXBLUW9nSUNBZ0lDQWdJSEpsZEhWeWJpQWhNVHNLSUNBZ0lISmxkSFZ5YmlCa0tIVXBPd29nSUgwS0lDQnlaWFIxY200Z0lURTdDbjA3Q21aMWJtTjBhVzl1SUVScEtIVXBJSHNLSUNCcFppQW9kU0JwYm5OMFlXNWpaVzltSUUxbGMzTmhaMlZRYjNKMEtRb2dJQ0FnY21WMGRYSnVJSFU3Q2lBZ2FXWWdLSFI1Y0dWdlppQjFJRDA5SUNKdlltcGxZM1FpSUNZbUlGbDBLSFVzSUZzaVpHRjBZU0lzSUNKM2FXUjBhQ0lzSUNKb1pXbG5hSFFpWFNrZ0ppWWdkUzVrWVhSaExtSjFabVpsY2lCcGJuTjBZVzVqWlc5bUlFRnljbUY1UW5WbVptVnlLUW9nSUNBZ2NtVjBkWEp1SUhVdVpHRjBZUzVpZFdabVpYSTdDaUFnYVdZZ0tIUjVjR1Z2WmlCMUlEMDlJQ0p2WW1wbFkzUWlJQ1ltSUhVZ0ppWWdJbUoxWm1abGNpSWdhVzRnZFNBbUppQjFMbUoxWm1abGNpQW1KaUIxTG1KMVptWmxjaUJwYm5OMFlXNWpaVzltSUVGeWNtRjVRblZtWm1WeUtRb2dJQ0FnY21WMGRYSnVJSFV1WW5WbVptVnlPd3A5Q21aMWJtTjBhVzl1SUVacEtIVXBJSHNLSUNCeVpYUjFjbTRnZEhsd1pXOW1JSFVnUFQwZ0ltOWlhbVZqZENJZ0ppWWdkU0EvSUU5aWFtVmpkQzUyWVd4MVpYTW9kU2t1YldGd0tFUnBLUzVtYVd4MFpYSW9LR3dwSUQwK0lDRWhiQ2tnT2lCYlhUc0tmUXBtZFc1amRHbHZiaUJQYVNoMUxDQnNLU0I3Q2lBZ2NtVjBkWEp1SUhVZ1B5QlZhU2gxTENCc0tTQTZJRk51S0d3cE93cDlDbU52Ym5OMElFcDBJRDBnTkNBcUlERXdNalE3Q21aMWJtTjBhVzl1SUZOdUtIVXBJSHNLSUNCeVpYUjFjbTRnZFNBOElFcDBJRDhnZFNBOUlFcDBJRG9nZFNBclBTQktkQ3dnYm1WM0lFRnljbUY1UW5WbVptVnlLSFVwT3dwOUNtWjFibU4wYVc5dUlGVnBLSFVzSUd3cElIc0tJQ0J5WlhSMWNtNGdkUzVpZVhSbFRHVnVaM1JvSUQ0OUlHd2dQeUIxSURvZ1UyNG9iQ2s3Q24wS1puVnVZM1JwYjI0Z1dIUW9kU2tnZXdvZ0lISmxkSFZ5YmlCMGVYQmxiMllnZFNBOVBTQWliMkpxWldOMElpQW1KaUFoSVhVZ0ppWWdJbVJoZEdFaUlHbHVJSFVnSmlZZ0luZHBaSFJvSWlCcGJpQjFJQ1ltSUNKb1pXbG5hSFFpSUdsdUlIVWdKaVlnZFM1a1lYUmhJR2x1YzNSaGJtTmxiMllnVldsdWREaERiR0Z0Y0dWa1FYSnlZWGtnSmlZZ2RIbHdaVzltSUhVdWQybGtkR2dnUFQwZ0ltNTFiV0psY2lJZ0ppWWdkSGx3Wlc5bUlIVXVhR1ZwWjJoMElEMDlJQ0p1ZFcxaVpYSWlPd3A5Q21OdmJuTjBJR1owSUQwZ01Td2dkWElnUFNBeUxDQmpkQ0E5SURrN0NtWjFibU4wYVc5dUlFdDBLSFVzSUd3c0lHUXBJSHNLSUNCc1pYUWdlU0E5SURRZ0t5QjFMbXhsYm1kMGFDQXJJREVnS3lBME93b2dJR2xtSUNoc0lEMDlJR1owSUNZbUlIUjVjR1Z2WmlCa0lEMDlJQ0p6ZEhKcGJtY2lLUW9nSUNBZ2VTQXJQU0JrTG14bGJtZDBhRHNLSUNCbGJITmxJR2xtSUNoc0lEMDlJSFZ5S1FvZ0lDQWdlU0FyUFNCamREc0tJQ0JsYkhObENpQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9JbFZ1YUdGdVpHeGxaQ0JYUVZOTklGWmhiSFZsSUZSNWNHVWlLVHNLSUNCeVpYUjFjbTRnZVRzS2ZRcG1kVzVqZEdsdmJpQjRhU2gxS1NCN0NpQWdiR1YwSUd3Z1BTQXhPd29nSUdOdmJuTjBJR1FnUFNCYlhUc0tJQ0JtYjNJZ0tHTnZibk4wSUZ0NUxDQnBYU0J2WmlCUFltcGxZM1F1Wlc1MGNtbGxjeWgxS1NrS0lDQWdJSFI1Y0dWdlppQnBJRDA5SUNKemRISnBibWNpSUQ4Z2JDQXJQU0JMZENoNUxDQm1kQ3dnYVNrZ09pQnBJR2x1YzNSaGJtTmxiMllnVldsdWREaEJjbkpoZVNBL0lDaHNJQ3M5SUV0MEtIa3NJSFZ5S1N3Z1pDNXdkWE5vS0drcEtTQTZJRmgwS0drcElDWW1JQ2hzSUNzOUlFdDBLSGtzSUhWeUtTd2daQzV3ZFhOb0tHa3VaR0YwWVNrcE93b2dJSEpsZEhWeWJpQmJiQ3dnWkYwN0NuMEtablZ1WTNScGIyNGdhR1VvZFN3Z2JDd2daQ2tnZXdvZ0lISmxkSFZ5YmlCc1cyUXJLMTBnUFNCMUlENCtJREkwSUNZZ01qVTFMQ0JzVzJRcksxMGdQU0IxSUQ0K0lERTJJQ1lnTWpVMUxDQnNXMlFySzEwZ1BTQjFJRDQrSURnZ0ppQXlOVFVzSUd4YlpDc3JYU0E5SUhVZ0ppQXlOVFVzSUdRN0NuMEtablZ1WTNScGIyNGdhbWtvZFNrZ2V3b2dJSEpsZEhWeWJpQjBlWEJsYjJZZ2RTQTlQU0FpYzNSeWFXNW5JaUI4ZkNCMUlHbHVjM1JoYm1ObGIyWWdWV2x1ZERoQmNuSmhlU0I4ZkNCWWRDaDFLVHNLZlFwbWRXNWpkR2x2YmlCSWFTaDFMQ0JzTENCa0tTQjdDaUFnWTI5dWMzUWdlU0E5SUU5aWFtVmpkQzVsYm5SeWFXVnpLSFVwTG1acGJIUmxjaWdvYVNrZ1BUNGdhbWtvYVZzeFhTa3BPd29nSUd4YlpDc3JYU0E5SUhrdWJHVnVaM1JvSUNZZ01qVTFPd29nSUdadmNpQW9ZMjl1YzNRZ1cya3NJRkpkSUc5bUlIa3BJSHNLSUNBZ0lHTnZibk4wSUdzZ1BTQnBMbXhsYm1kMGFEc0tJQ0FnSUdRZ1BTQm9aU2hyTENCc0xDQmtLVHNLSUNBZ0lHWnZjaUFvYkdWMElFOGdQU0F3T3lCUElEd2dhenNnVHlzcktTQjdDaUFnSUNBZ0lHTnZibk4wSUVrZ1BTQnBMbU5vWVhKRGIyUmxRWFFvVHlrN0NpQWdJQ0FnSUd4YlpDc3JYU0E5SUVrZ0ppQXlOVFU3Q2lBZ0lDQjlDaUFnSUNCcFppQW9kSGx3Wlc5bUlGSWdQVDBnSW5OMGNtbHVaeUlwSUhzS0lDQWdJQ0FnYkZ0a0t5dGRJRDBnWm5RN0NpQWdJQ0FnSUdOdmJuTjBJRThnUFNCU0xteGxibWQwYURzS0lDQWdJQ0FnWkNBOUlHaGxLRThzSUd3c0lHUXBPd29nSUNBZ0lDQm1iM0lnS0d4bGRDQkpJRDBnTURzZ1NTQThJRTg3SUVrckt5a2dld29nSUNBZ0lDQWdJR052Ym5OMElIb2dQU0JTTG1Ob1lYSkRiMlJsUVhRb1NTazdDaUFnSUNBZ0lDQWdiRnRrS3l0ZElEMGdlaUFtSURJMU5Uc0tJQ0FnSUNBZ2ZRb2dJQ0FnZlNCbGJITmxJR2xtSUNoU0lHbHVjM1JoYm1ObGIyWWdWV2x1ZERoQmNuSmhlU2tLSUNBZ0lDQWdiRnRrS3l0ZElEMGdkWElzSUdRZ1BTQm9aU2hqZEN3Z2JDd2daQ2tzSUdRZ1BTQm9aU2d4TENCc0xDQmtLU3dnWkNBOUlHaGxLRkl1YkdWdVozUm9MQ0JzTENCa0tTd2diRnRrS3l0ZElEMGdNVHNLSUNBZ0lHVnNjMlVnYVdZZ0tGaDBLRklwS1FvZ0lDQWdJQ0JzVzJRcksxMGdQU0IxY2l3Z1pDQTlJR2hsS0dOMExDQnNMQ0JrS1N3Z1pDQTlJR2hsS0ZJdWFHVnBaMmgwTENCc0xDQmtLU3dnWkNBOUlHaGxLRkl1ZDJsa2RHZ3NJR3dzSUdRcExDQnNXMlFySzEwZ1BTQTBPd29nSUNBZ1pXeHpaUW9nSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0lsVnVhR0Z1Wkd4bFpDQnpkWEJ3YjNKMFpXUWdZWFIwY21saWRYUmxJSFpoYkhWbElpazdDaUFnZlFvZ0lISmxkSFZ5YmlCa093cDlDbVoxYm1OMGFXOXVJR2wwS0hVc0lHd3BJSHNLSUNCc1pYUWdaQ0E5SURBN0NpQWdabTl5SUNoc1pYUWdlU0E5SURBN0lIa2dQQ0EwT3lCNUt5c3BDaUFnSUNCa0lEMGdaQ0FxSURJMU5pQXJJSFZiYkNBcklIbGRPd29nSUhKbGRIVnliaUJrT3dwOUNtTnZibk4wSUVKcElEMGdibVYzSUZSbGVIUkVaV052WkdWeUtDazdDbVoxYm1OMGFXOXVJRUZ1S0hVc0lHd3NJR1FwSUhzS0lDQnlaWFIxY200Z1Fta3VaR1ZqYjJSbEtIVXVjM1ZpWVhKeVlYa29iQ3dnYkNBcklHUXBLVHNLZlFwbWRXNWpkR2x2YmlCV2FTaDFMQ0JzTENCa0xDQjVLU0I3Q2lBZ1kyOXVjM1FnYVNBOUlHd2dLeUJrTENCU0lEMGdkVnRzWFRzS0lDQnNLeXM3Q2lBZ1kyOXVjM1FnYXlBOUlIdDlPd29nSUd4bGRDQlBJRDBnTVRzS0lDQm1iM0lnS0d4bGRDQkpJRDBnTURzZ1NTQThJRkk3SUVrckt5a2dld29nSUNBZ1kyOXVjM1FnZWlBOUlHbDBLSFVzSUd3cE93b2dJQ0FnYkNBclBTQTBPd29nSUNBZ1kyOXVjM1FnUkNBOUlFRnVLSFVzSUd3c0lIb3BPd29nSUNBZ2JDQXJQU0I2T3dvZ0lDQWdZMjl1YzNRZ1dpQTlJSFZiYkNzclhTd2dlQ0E5SUdsMEtIVXNJR3dwT3dvZ0lDQWdhV1lnS0d3Z0t6MGdOQ3dnV2lBOVBTQm1kQ2tnZXdvZ0lDQWdJQ0JqYjI1emRDQmhaU0E5SUVGdUtIVXNJR3dzSUhncE93b2dJQ0FnSUNCc0lDczlJSGdzSUd0YlJGMGdQU0JoWlRzS0lDQWdJSDBnWld4elpTQnBaaUFvV2lBOVBTQjFjaWtnZXdvZ0lDQWdJQ0JwWmlBb2VDQWhQU0JqZENrZ2V3b2dJQ0FnSUNBZ0lHTnZibk52YkdVdVpYSnliM0lvSWxWdVpYaHdaV04wWldRZ2RreGxiaUFoUFNBNUlHWnZjaUIwZVhCbElESWhJaWtzSUd3Z0t6MGdlRHNLSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHNLSUNBZ0lDQWdmUW9nSUNBZ0lDQmpiMjV6ZENCaFpTQTlJR2wwS0hVc0lHd3BPd29nSUNBZ0lDQnNJQ3M5SURRN0NpQWdJQ0FnSUdOdmJuTjBJR1psSUQwZ2FYUW9kU3dnYkNrN0NpQWdJQ0FnSUd3Z0t6MGdORHNLSUNBZ0lDQWdiR1YwSUhabElEMGdNRHNLSUNBZ0lDQWdhV1lnS0habElDczlJSFZiYkNzclhTd2dZV1VnUFQwZ01TQW1KaUIyWlNBOVBTQXhLU0I3Q2lBZ0lDQWdJQ0FnWTI5dWMzUWdiV1VnUFNCNUtFOHBPd29nSUNBZ0lDQWdJR3RiUkYwZ1BTQnVaWGNnVldsdWREaEJjbkpoZVNodFpTazdDaUFnSUNBZ0lIMGdaV3h6WlNCN0NpQWdJQ0FnSUNBZ1kyOXVjM1FnYldVZ1BTQjVLRThwT3dvZ0lDQWdJQ0FnSUd0YlJGMGdQU0I3Q2lBZ0lDQWdJQ0FnSUNCa1lYUmhPaUJ1WlhjZ1ZXbHVkRGhEYkdGdGNHVmtRWEp5WVhrb2JXVXBMQW9nSUNBZ0lDQWdJQ0FnZDJsa2RHZzZJR1psTEFvZ0lDQWdJQ0FnSUNBZ2FHVnBaMmgwT2lCaFpRb2dJQ0FnSUNBZ0lIMDdDaUFnSUNBZ0lIMEtJQ0FnSUNBZ1R5c3JPd29nSUNBZ2ZRb2dJSDBLSUNCeVpYUjFjbTRnWTI5dWMyOXNaUzVoYzNObGNuUW9hU0E5UFQwZ2JDd2dJa0ZqZEhWaGJHeDVJR1JsWTI5a1pXUWdaR0YwWVNCemFYcGxJSE5vYjNWc1pDQnRZWFJqYUNCbGVIQmxZM1JsWkNCemFYcGxJU0lwTENCck93cDlDbVoxYm1OMGFXOXVJRXhwS0hVc0lHd3BJSHNLSUNCamIyNXpkQ0JrSUQwZ0tERWdLeUJzTG14bGJtZDBhQ2tnS2lBME93b2dJR3hsZENCNUlEMGdaQ0FySUhVN0NpQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JzTG14bGJtZDBhRHNnYVNzcktRb2dJQ0FnZVNBclBTQnNXMmxkTG1KNWRHVk1aVzVuZEdnN0NpQWdjbVYwZFhKdUlGdDVMQ0JrWFRzS2ZRcG1kVzVqZEdsdmJpQk5hU2gxTENCc0xDQmtMQ0I1TENCcExDQlNLU0I3Q2lBZ1kyOXVjMjlzWlM1aGMzTmxjblFvQ2lBZ0lDQnBJQ3NnS0RFZ0t5QmtMbXhsYm1kMGFDa2dLaUEwSUR3OUlGSXNDaUFnSUNBaWJHVnVaM1JvSUhObFkzUnBiMjRnYzJodmRXeGtJRzV2ZENCdmRtVnliR0Z3SUhkcGRHZ2daR0YwWVNCelpXTjBhVzl1SWdvZ0lDa3NJR2hsS0d3c0lIa3NJR2twT3dvZ0lHTnZibk4wSUdzZ1BTQklhU2gxTENCNUxDQlNLVHNLSUNCU0lDczlJR3dzSUdOdmJuTnZiR1V1WVhOelpYSjBLR3NnUFQwOUlGSXNJQ0pqYjNCNVJHbGpkRlJ2UW5sMFpYTWdZMjl3YVdWa0lHUmhkR0VnYzJodmRXeGtJRzFoZEdOb0lIQnliM1pwWkdWa0lHMWhhVzVRWVdOclpYUlRhWHBsSWlrN0NpQWdabTl5SUNoc1pYUWdUeUE5SURBN0lFOGdQQ0JrTG14bGJtZDBhRHNnVHlzcktTQjdDaUFnSUNCamIyNXpkQ0JKSUQwZ1pGdFBYU3dnZWlBOUlHa2dLeUFvTVNBcklFOHBJQ29nTkRzS0lDQWdJR2hsS0VrdVlubDBaVXhsYm1kMGFDd2dlU3dnZWlrc0lIa3VjMlYwS0Vrc0lGSXBMQ0JTSUNzOUlFa3VZbmwwWlV4bGJtZDBhRHNLSUNCOUNuMEtablZ1WTNScGIyNGdlbWtvZFN3Z2JDa2dld29nSUdsbUlDZ2hkU2tLSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnaVZHaGxJRmRCVTAwZ2JXOWtkV3hsSUdseklHNXZkQ0JwYm1sMGFXRnNhWHBsWkNJcE93b2dJR052Ym5OMElGdGtMQ0I1WFNBOUlIaHBLR3dwTENCYmFTd2dVbDBnUFNCTWFTaGtMQ0I1S1N3Z2F5QTlJSFV1WDI1bGQxOXRaVzF2Y25rb2FTa3NJRThnUFNCckxDQkpJRDBnYXlBcklGSTdDaUFnVFdrb2JDd2daQ3dnZVN3Z2RTNUlSVUZRVlRnc0lFOHNJRWtwT3dvZ0lIUnllU0I3Q2lBZ0lDQnlaWFIxY200Z2EyNG9kU3dnTVNBcklIa3ViR1Z1WjNSb0xDQlBMQ0JKS1RzS0lDQjlJR1pwYm1Gc2JIa2dld29nSUNBZ2RTNWZabkpsWlY5dFpXMXZjbmtvYXlrN0NpQWdmUXA5Q21aMWJtTjBhVzl1SUVkcEtIVXNJSHNnWW5WbVptVnlPaUJzTENCa1lYUmhRblZtWm1WeVQyWm1jMlYwT2lCa0lIMHBJSHNLSUNCamIyNXpkQ0I1SUQwZ2RTNWZibVYzWDIxbGJXOXllU2hzTG1KNWRHVk1aVzVuZEdncE93b2dJSFV1U0VWQlVGVTRMbk5sZENoc0xDQjVLVHNLSUNCMGNua2dld29nSUNBZ2NtVjBkWEp1SUd0dUtIVXNJR1FnTHlBMExDQjVMQ0I1SUNzZ1pDazdDaUFnZlNCbWFXNWhiR3g1SUhzS0lDQWdJSFV1WDJaeVpXVmZiV1Z0YjNKNUtIa3BPd29nSUgwS2ZRcG1kVzVqZEdsdmJpQnJiaWgxTENBdUxpNXNLU0I3Q2lBZ1kyOXVjM1FnWkNBOUlIVXVjM1JoWTJ0VFlYWmxLQ2s3Q2lBZ2RISjVJSHNLSUNBZ0lISmxkSFZ5YmlCMUxsOXdjbTlqWlhOelgyVjJaVzUwWDJSaGRHRmZaWGdvTGk0dWJDazdDaUFnZlNCallYUmphQ0FvZVNrZ2V3b2dJQ0FnZFM1emRHRmphMUpsYzNSdmNtVW9aQ2s3Q2lBZ0lDQmpiMjV6ZENCcElEMGdlVHNLSUNBZ0lIVXVhVzVqY21WdFpXNTBSWGhqWlhCMGFXOXVVbVZtWTI5MWJuUW9hU2s3Q2lBZ0lDQmpiMjV6ZENCYlVpd2dhMTBnUFNCMUxtZGxkRVY0WTJWd2RHbHZiazFsYzNOaFoyVW9hU2s3Q2lBZ0lDQjBhSEp2ZHlCMUxtUmxZM0psYldWdWRFVjRZMlZ3ZEdsdmJsSmxabU52ZFc1MEtHa3BMQ0J1WlhjZ2VXa29VaXdnYXlrN0NpQWdmUXA5Q21aMWJtTjBhVzl1SUU1cEtIVXNJR3dzSUdRcElIc0tJQ0JzWlhRZ2VTQTlJREFzSUdrZ1BTQXdPd29nSUdOdmJuTjBJRklnUFNCYlhUc0tJQ0JtYjNJZ0tHeGxkQ0JKSUQwZ01Ec2dTU0E4SUd3N0lFa3JLeWtnZXdvZ0lDQWdZMjl1YzNRZ2VpQTlJSGtzSUVRZ1BTQjFMbDluWlhSZmNtVjBkWEp1WDI1ZmNHRmphMlYwY3loSktUc0tJQ0FnSUhrZ0t6MGdSQ0FxSURRN0NpQWdJQ0JqYjI1emRDQmFJRDBnZVRzS0lDQWdJR1p2Y2lBb2JHVjBJR0ZsSUQwZ01Ec2dZV1VnUENCRU95QmhaU3NyS1FvZ0lDQWdJQ0I1SUNzOUlIVXVYMmRsZEY5eVpYUjFjbTVmY0dGamEyVjBYMnhsYmloSkxDQmhaU2s3Q2lBZ0lDQmpiMjV6ZENCNElEMGdlU0F0SUdrN0NpQWdJQ0JTTG5CMWMyZ29ld29nSUNBZ0lDQnpkR0Z5ZEU5bVpuTmxkRG9nZWl3S0lDQWdJQ0FnWkdGMFlVSjFabVpsY2s5bVpuTmxkRG9nV2l3S0lDQWdJQ0FnYkdWdVozUm9PaUI0Q2lBZ0lDQjlLU3dnYVNBOUlIazdDaUFnZlFvZ0lHUWdQU0JQYVNoa0xDQjVLVHNLSUNCamIyNXpkQ0JySUQwZ2JtVjNJRlZwYm5RNFFYSnlZWGtvWkN3Z01Dd2dlU2s3Q2lBZ2JHVjBJRThnUFNBd093b2dJR1p2Y2lBb2JHVjBJRWtnUFNBd095QkpJRHdnYkRzZ1NTc3JLU0I3Q2lBZ0lDQmpiMjV6ZENCNklEMGdkUzVmWjJWMFgzSmxkSFZ5Ymw5dVgzQmhZMnRsZEhNb1NTazdDaUFnSUNCbWIzSWdLR3hsZENCRUlEMGdNRHNnUkNBOElIbzdJRVFyS3lrZ2V3b2dJQ0FnSUNCamIyNXpkQ0JhSUQwZ2RTNWZaMlYwWDNKbGRIVnlibDl3WVdOclpYUmZiR1Z1S0Vrc0lFUXBPd29nSUNBZ0lDQm9aU2hhTENCckxDQlBLU3dnVHlBclBTQTBPd29nSUNBZ2ZRb2dJQ0FnWm05eUlDaHNaWFFnUkNBOUlEQTdJRVFnUENCNk95QkVLeXNwSUhzS0lDQWdJQ0FnWTI5dWMzUWdXaUE5SUhVdVgyZGxkRjl5WlhSMWNtNWZjR0ZqYTJWMFgyeGxiaWhKTENCRUtTd2dlQ0E5SUhVdVgyZGxkRjl5WlhSMWNtNWZjR0ZqYTJWMEtFa3NJRVFwT3dvZ0lDQWdJQ0JyTG5ObGRDaDFMa2hGUVZCVk9DNXpkV0poY25KaGVTaDRMQ0I0SUNzZ1dpa3NJRThwTENCUElDczlJRm83Q2lBZ0lDQjlDaUFnZlFvZ0lISmxkSFZ5YmlCN0NpQWdJQ0JsYm1OdlpHVmtYM0psYzNCdmJuTmxjMTlzWVhsdmRYUnpPaUJTTEFvZ0lDQWdaVzVqYjJSbFpGOXlaWE53YjI1elpYTTZJR3NLSUNCOU93cDlDbVoxYm1OMGFXOXVJSEZwS0hVc0lHd3BJSHNLSUNCcFppQW9JWFVwQ2lBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0lsUm9aU0JYUVZOTklHMXZaSFZzWlNCcGN5QnViM1FnYVc1cGRHbGhiR2w2WldRaUtUc0tJQ0JqYjI1emRDQmtJRDBnZFM1ZloyVjBYM0psZEhWeWJsOXdZV05yWlhSZmJHVnVLR3dzSURBcExDQjVJRDBnZFM1ZloyVjBYM0psZEhWeWJsOXdZV05yWlhRb2JDd2dNQ2s3Q2lBZ2NtVjBkWEp1SUZacEtIVXVTRVZCVUZVNExDQjVMQ0JrTENBb2FTa2dQVDRnZXdvZ0lDQWdZMjl1YzNRZ1VpQTlJSFV1WDJkbGRGOXlaWFIxY201ZmNHRmphMlYwWDJ4bGJpaHNMQ0JwS1N3Z2F5QTlJSFV1WDJkbGRGOXlaWFIxY201ZmNHRmphMlYwS0d3c0lHa3BPd29nSUNBZ2NtVjBkWEp1SUhVdVNFVkJVRlU0TG5OMVltRnljbUY1S0dzc0lHc2dLeUJTS1RzS0lDQjlLVHNLZlFwc1pYUWdkWFFnUFNBaUlpd2dVR1VzSUVWbE93cHZibVZ5Y205eUlEMGdLSFVwSUQwK0lFVmxJRDA5SUc1MWJHd2dQeUIyYjJsa0lEQWdPaUJGWlM1d2IzTjBUV1Z6YzJGblpTaDFLVHNLYjI1MWJtaGhibVJzWldSeVpXcGxZM1JwYjI0Z1BTQW9kU2tnUFQ0Z1JXVWdQVDBnYm5Wc2JDQS9JSFp2YVdRZ01DQTZJRVZsTG5CdmMzUk5aWE56WVdkbEtIVXBPd3B2Ym0xbGMzTmhaMlVnUFNBb2RTa2dQVDRnZXdvZ0lHbG1JQ2doV1hRb2RTNWtZWFJoTENCYkltVjJaVzUwSWwwcEtRb2dJQ0FnY21WMGRYSnVPd29nSUdOdmJuTjBJR3dnUFNCMUxtUmhkR0U3Q2lBZ2MzZHBkR05vSUNoc0xtVjJaVzUwS1NCN0NpQWdJQ0JqWVhObElHTnlMa1Z1WTI5a1pXUlNaWEYxWlhOMGN6b0tJQ0FnSUNBZ1Nta29iQ2s3Q2lBZ0lDQWdJR0p5WldGck93b2dJQ0FnWTJGelpTQmpjaTVEY21WaGRHVlhZWE50U1c1emRHRnVZMlU2Q2lBZ0lDQWdJRmwwS0d3c0lGc2liMkpxWldOMFRtRnRaU0pkS1NBbUppQW9kWFFnUFNCc0xtOWlhbVZqZEU1aGJXVXBMQ0J0YVNoc0xuZGhjMjFmYlc5a2RXeGxLUzUwYUdWdUtDaDVLU0E5UGlCN0NpQWdJQ0FnSUNBZ1VHVWdQU0I1T3dvZ0lDQWdJQ0FnSUdOdmJuTjBJR2tnUFNCN0NpQWdJQ0FnSUNBZ0lDQmxkbVZ1ZERvZ1kzSXVRM0psWVhSbFYyRnpiVWx1YzNSaGJtTmxVM1ZqWTJWemN5d0tJQ0FnSUNBZ0lDQWdJSFJwYldWemRHRnRjRG9nY0dWeVptOXliV0Z1WTJVdWJtOTNLQ2t1ZEc5VGRISnBibWNvS1N3S0lDQWdJQ0FnSUNBZ0lHOWlhbVZqZEU1aGJXVTZJSFYwQ2lBZ0lDQWdJQ0FnZlRzS0lDQWdJQ0FnSUNCd2IzTjBUV1Z6YzJGblpTaHBLVHNLSUNBZ0lDQWdmU2s3Q2lBZ0lDQWdJR0p5WldGck93b2dJQ0FnWTJGelpTQmpjaTVKYm1sMGFXRnNhWHBsT2dvZ0lDQWdJQ0JqYjI1emRDQmJaRjBnUFNCMUxuQnZjblJ6T3dvZ0lDQWdJQ0JGWlNBOUlHUXNJRkp1S0d3cE93b2dJQ0FnSUNCaWNtVmhhenNLSUNBZ0lHTmhjMlVnWTNJdVIyVjBRMjl1Wm1sbk9nb2dJQ0FnSUNCU2JpaHNLVHNLSUNBZ0lDQWdZbkpsWVdzN0NpQWdJQ0JrWldaaGRXeDBPZ29nSUNBZ0lDQkZaU0E5UFNCdWRXeHNJSHg4SUVWbExuQnZjM1JOWlhOellXZGxLRzVsZHlCRmNuSnZjaWhnVlc1b1lXNWtiR1ZrSUVWMlpXNTBPaUFrZTJ4OVlDa3BPd29nSUNBZ0lDQmljbVZoYXpzS0lDQjlDbjA3Q21aMWJtTjBhVzl1SUVwcEtIVXBJSHNLSUNCcFppQW9JVkJsS1FvZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDSlhiM0pyWlhJZ2FYTnVKM1FnYVc1cGRHbGhiR2w2WldRaElpazdDaUFnWTI5dWMzUWdiQ0E5SUVkcEtGQmxMQ0IxS1N3Z1pDQTlJSFV1WW5WbVptVnlMbUoxWm1abGNpd2dlU0E5SUU1cEtGQmxMQ0JzTENCa0tUc0tJQ0J3YjNOMFRXVnpjMkZuWlNnS0lDQWdJSHNLSUNBZ0lDQWdaWFpsYm5RNklHTnlMa1Z1WTI5a1pXUlNaWE53YjI1elpYTXNDaUFnSUNBZ0lHOWlhbVZqZEU1aGJXVTZJSFYwTEFvZ0lDQWdJQ0IwYVcxbGMzUmhiWEE2SUhVdWRHbHRaWE4wWVcxd0xBb2dJQ0FnSUNBdUxpNTVDaUFnSUNCOUxBb2dJQ0FnVzJSZENpQWdLU3dnVUdVdVgyTnNaV0Z5WDNKbGRIVnlibDl3WVdOclpYUnpLQ2s3Q24wS1puVnVZM1JwYjI0Z1VtNG9kU2tnZXdvZ0lHTnZibk4wSUd3Z1BTQjZhU2hRWlN3Z2RTazdDaUFnWm05eUlDaHNaWFFnWkNBOUlEQTdJR1FnUENCc095QmtJQ3M5SURFcElIc0tJQ0FnSUdOdmJuTjBJSGtnUFNCeGFTaFFaU3dnWkNrc0lHa2dQU0I3Q2lBZ0lDQWdJQzR1TG5rc0NpQWdJQ0FnSUc5aWFtVmpkRTVoYldVNklIVjBDaUFnSUNCOUxDQlNJRDBnUm1rb2VTazdDaUFnSUNCd2IzTjBUV1Z6YzJGblpTaHBMQ0JTS1RzS0lDQjlDaUFnVUdVZ1BUMGdiblZzYkNCOGZDQlFaUzVmWTJ4bFlYSmZjbVYwZFhKdVgzQmhZMnRsZEhNb0tUc0tmUW92THlNZ2MyOTFjbU5sVFdGd2NHbHVaMVZTVEQxa1lTMXZZbXBsWTNRdFEyRnZRalJzWW5jdWFuTXViV0Z3Q2c9PSIsICRJID0gKGcpID0+IFVpbnQ4QXJyYXkuZnJvbShhdG9iKGcpLCAoSSkgPT4gSS5jaGFyQ29kZUF0KDApKSwgRkkgPSB0eXBlb2Ygc2VsZiA8ICJ1IiAmJiBzZWxmLkJsb2IgJiYgbmV3IEJsb2IoWyJVUkwucmV2b2tlT2JqZWN0VVJMKGltcG9ydC5tZXRhLnVybCk7IiwgJEkoTkkpXSwgeyB0eXBlOiAidGV4dC9qYXZhc2NyaXB0O2NoYXJzZXQ9dXRmLTgiIH0pOwpmdW5jdGlvbiBESShnKSB7CiAgbGV0IEk7CiAgdHJ5IHsKICAgIGlmIChJID0gRkkgJiYgKHNlbGYuVVJMIHx8IHNlbGYud2Via2l0VVJMKS5jcmVhdGVPYmplY3RVUkwoRkkpLCAhSSkgdGhyb3cgIiI7CiAgICBjb25zdCBDID0gbmV3IFdvcmtlcihJLCB7CiAgICAgIHR5cGU6ICJtb2R1bGUiLAogICAgICBuYW1lOiBnID09IG51bGwgPyB2b2lkIDAgOiBnLm5hbWUKICAgIH0pOwogICAgcmV0dXJuIEMuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCAoKSA9PiB7CiAgICAgIChzZWxmLlVSTCB8fCBzZWxmLndlYmtpdFVSTCkucmV2b2tlT2JqZWN0VVJMKEkpOwogICAgfSksIEM7CiAgfSBjYXRjaCB7CiAgICByZXR1cm4gbmV3IFdvcmtlcigKICAgICAgImRhdGE6dGV4dC9qYXZhc2NyaXB0O2Jhc2U2NCwiICsgTkksCiAgICAgIHsKICAgICAgICB0eXBlOiAibW9kdWxlIiwKICAgICAgICBuYW1lOiBnID09IG51bGwgPyB2b2lkIDAgOiBnLm5hbWUKICAgICAgfQogICAgKTsKICB9Cn0KY29uc3QgaCA9IHsKICBDYW1lcmFJbmZvOiAiY2FtZXJhX2luZm8iLAogIENhbWVyYUxpdmVuZXNzRGF0YTogImNhbWVyYV9saXZlbmVzc19kYXRhIiwKICBDYW1lcmFMaXZlbmVzc0VuZDogImNhbWVyYV9saXZlbmVzc19lbmQiLAogIENhbWVyYUxpdmVuZXNzUmVxU3RhdHVzOiAiY2FtZXJhX2xpdmVuZXNzX3JlcV9zdGF0dXMiLAogIENhbWVyYUxpdmVuZXNzU3RhcnQ6ICJjYW1lcmFfbGl2ZW5lc3Nfc3RhcnQiLAogIENhbWVyYUxpdmVuZXNzU3RhdHVzOiAiY2FtZXJhX2xpdmVuZXNzX3N0YXR1cyIsCiAgUmVxQ2FtZXJhTGl2ZW5lc3NEYXRhOiAicmVxX2NhbWVyYV9saXZlbmVzc19kYXRhIgp9LCBJZyA9IE9iamVjdC5rZXlzKHsKICBbaC5DYW1lcmFJbmZvXTogITAsCiAgW2guQ2FtZXJhTGl2ZW5lc3NEYXRhXTogITAsCiAgW2guQ2FtZXJhTGl2ZW5lc3NFbmRdOiAhMCwKICBbaC5DYW1lcmFMaXZlbmVzc1JlcVN0YXR1c106ICEwLAogIFtoLkNhbWVyYUxpdmVuZXNzU3RhcnRdOiAhMCwKICBbaC5SZXFDYW1lcmFMaXZlbmVzc0RhdGFdOiAhMAp9KSwgZ2cgPSBPYmplY3Qua2V5cyh7CiAgW2guQ2FtZXJhSW5mb106ICEwLAogIFtoLkNhbWVyYUxpdmVuZXNzRGF0YV06ICEwLAogIFtoLkNhbWVyYUxpdmVuZXNzU3RhdHVzXTogITAsCiAgW2guUmVxQ2FtZXJhTGl2ZW5lc3NEYXRhXTogITAKfSksIEFJID0gewogIERvY0lkRW5kOiAiZG9jX2lkX2VuZCIsCiAgRG9jSWRJbmZvOiAiZG9jX2lkX2luZm8iLAogIERvY0lkU3RhcnQ6ICJkb2NfaWRfc3RhcnQiCn0sIENnID0gT2JqZWN0LmtleXMoewogIFtBSS5Eb2NJZEVuZF06ICEwLAogIFtBSS5Eb2NJZFN0YXJ0XTogITAKfSksIEFnID0gT2JqZWN0LmtleXMoewogIFtBSS5Eb2NJZEluZm9dOiAhMAp9KSwgaUkgPSB7CiAgSW1hZ2U6ICJpbWFnZSIsCiAgSW1hZ2VXaXRoRXllczogImltYWdlX3dpdGhfZXllcyIKfSwgaWcgPSBPYmplY3Qua2V5cyh7CiAgW2lJLkltYWdlXTogITAsCiAgW2lJLkltYWdlV2l0aEV5ZXNdOiAhMAp9KSwgQmcgPSBPYmplY3Qua2V5cyh7CiAgW2lJLkltYWdlV2l0aEV5ZXNdOiAhMAp9KSwgViA9IHsKICBHZXRDb25maWc6ICJnZXRfY29uZmlnIiwKICBHZXRDb25maWdSZXN1bHQ6ICJnZXRfY29uZmlnX3Jlc3VsdCIsCiAgSW5pdGlhbGl6ZTogImluaXRpYWxpemUiLAogIEluaXRpYWxpemVFcnJvcjogImluaXRpYWxpemVfZXJyb3IiLAogIEluaXRpYWxpemVTdWNjZXNzOiAiaW5pdGlhbGl6ZV9zdWNjZXNzIiwKICBSZWFkeTogInJlYWR5IiwKICBTdGFydFNlc3Npb246ICJzdGFydF9zZXNzaW9uIiwKICBUZXJtaW5hdGU6ICJ0ZXJtaW5hdGUiCn0sIG9nID0gT2JqZWN0LmtleXMoewogIFtWLkdldENvbmZpZ106ICEwLAogIFtWLkluaXRpYWxpemVdOiAhMCwKICBbVi5TdGFydFNlc3Npb25dOiAhMCwKICBbVi5UZXJtaW5hdGVdOiAhMAp9KSwgY2cgPSBPYmplY3Qua2V5cyh7CiAgW1YuR2V0Q29uZmlnUmVzdWx0XTogITAsCiAgW1YuSW5pdGlhbGl6ZUVycm9yXTogITAsCiAgW1YuSW5pdGlhbGl6ZVN1Y2Nlc3NdOiAhMCwKICBbVi5SZWFkeV06ICEwCn0pLCBLID0gewogIERhdGFCbG9iOiAiZGF0YV9ibG9iIiwKICBFbnJvbGw6ICJlbnJvbGwiLAogIEZhck5lYXJJbWFnZTogImZhcl9uZWFyX2ltYWdlIiwKICBGYXJQaG90aW51c0VuZDogImZhcl9waG90aW51c19lbmQiLAogIEZhclBob3RpbnVzU3RhcnQ6ICJmYXJfcGhvdGludXNfc3RhcnQiLAogIEZtYUVtYVJlc3VsdDogImZtYV9lbWFfcmVzdWx0IiwKICBOZWFyUGhvdGludXNFbmQ6ICJuZWFyX3Bob3RpbnVzX2VuZCIsCiAgTmVhclBob3RpbnVzU3RhcnQ6ICJuZWFyX3Bob3RpbnVzX3N0YXJ0IiwKICBQaG90aW51c1BhdHRlcm46ICJwaG90aW51c19wYXR0ZXJuIiwKICBQaG90aW51c1Jlc3VsdDogInBob3RpbnVzX3Jlc3VsdCIsCiAgUG9zZTogInBvc2UiLAogIFBvc2VSZWFkeTogInBvc2VfcmVhZHkiLAogIFBvc2VTdGFydDogInBvc2Vfc3RhcnQiLAogIFJlZkRpc3RhbmNlOiAicmVmX2Rpc3RhbmNlIiwKICBSZWZEaXN0YW5jZUNhbmNlbDogInJlZl9kaXN0YW5jZV9jYW5jZWwiLAogIFJlZkRpc3RhbmNlRW5kOiAicmVmX2Rpc3RhbmNlX2VuZCIsCiAgU0ZTRFJlc3VsdDogInNmc2RfcmVzdWx0IiwKICBTZXJ2ZXJEYXRhQmxvYjogInNlcnZlcl9kYXRhX2Jsb2IiLAogIFNldE1vZGU6ICJzZXRfbW9kZSIsCiAgU3RhcnRTZXNzaW9uOiAic3RhcnRfc2Vzc2lvbiIsCiAgVXNlckpvdXJuZXlJbWFnZTogInVzZXJfam91cm5leV9pbWFnZSIsCiAgVmVyaWZ5OiAidmVyaWZ5IiwKICBWaXNvckluZm86ICJ2aXNvcl9pbmZvIiwKICBXZWJwRW5jb2RlVGltZTogIndlYnBfZW5jb2RlX3RpbWUiCn0sIGRnID0gT2JqZWN0LmtleXMoewogIFtLLkRhdGFCbG9iXTogITAsCiAgW0suRW5yb2xsXTogITAsCiAgW0suRmFyTmVhckltYWdlXTogITAsCiAgW0suRmFyUGhvdGludXNFbmRdOiAhMCwKICBbSy5GYXJQaG90aW51c1N0YXJ0XTogITAsCiAgW0suTmVhclBob3RpbnVzRW5kXTogITAsCiAgW0suTmVhclBob3RpbnVzU3RhcnRdOiAhMCwKICBbSy5QaG90aW51c1BhdHRlcm5dOiAhMCwKICBbSy5Qb3NlUmVhZHldOiAhMCwKICBbSy5Qb3NlU3RhcnRdOiAhMCwKICBbSy5SZWZEaXN0YW5jZV06ICEwLAogIFtLLlJlZkRpc3RhbmNlQ2FuY2VsXTogITAsCiAgW0suUmVmRGlzdGFuY2VFbmRdOiAhMCwKICBbSy5TZXRNb2RlXTogITAsCiAgW0suU3RhcnRTZXNzaW9uXTogITAsCiAgW0suVXNlckpvdXJuZXlJbWFnZV06ICEwLAogIFtLLlZlcmlmeV06ICEwLAogIFtLLlZpc29ySW5mb106ICEwLAogIFtLLldlYnBFbmNvZGVUaW1lXTogITAKfSksIEtnID0gT2JqZWN0LmtleXMoewogIFtLLkRhdGFCbG9iXTogITAsCiAgW0suRmFyTmVhckltYWdlXTogITAsCiAgW0suRmFyUGhvdGludXNFbmRdOiAhMCwKICBbSy5GYXJQaG90aW51c1N0YXJ0XTogITAsCiAgW0suRm1hRW1hUmVzdWx0XTogITAsCiAgW0suU0ZTRFJlc3VsdF06ICEwLAogIFtLLk5lYXJQaG90aW51c0VuZF06ICEwLAogIFtLLk5lYXJQaG90aW51c1N0YXJ0XTogITAsCiAgW0suUGhvdGludXNQYXR0ZXJuXTogITAsCiAgW0suUGhvdGludXNSZXN1bHRdOiAhMCwKICBbSy5Qb3NlXTogITAsCiAgW0suUG9zZVJlYWR5XTogITAsCiAgW0suUG9zZVN0YXJ0XTogITAsCiAgW0suUmVmRGlzdGFuY2VDYW5jZWxdOiAhMCwKICBbSy5SZWZEaXN0YW5jZUVuZF06ICEwLAogIFtLLlJlZkRpc3RhbmNlXTogITAsCiAgW0suU2VydmVyRGF0YUJsb2JdOiAhMCwKICBbSy5TZXRNb2RlXTogITAsCiAgW0suVXNlckpvdXJuZXlJbWFnZV06ICEwCn0pLCBEID0gewogIEFjY2VsOiAiYWNjZWwiLAogIEd5cm86ICJneXJvIiwKICBNYWduZXQ6ICJtYWduZXQiLAogIEFjY2VsV2l0aEdyYXZpdHk6ICJhY2NlbF93aXRoX2dyYXZpdHkiLAogIFNlbnNvcjogInNlbnNvciIKfSwgc2cgPSBPYmplY3Qua2V5cyh7CiAgW0QuQWNjZWxdOiAhMCwKICBbRC5HeXJvXTogITAsCiAgW0QuTWFnbmV0XTogITAsCiAgW0QuQWNjZWxXaXRoR3Jhdml0eV06ICEwLAogIFtELlNlbnNvcl06ICEwCn0pLCBwID0gewogIENyZWF0ZVdhc21JbnN0YW5jZTogIl9jcmVhdGVfd2FzbV9pbnN0YW5jZSIsCiAgQ3JlYXRlV2FzbUluc3RhbmNlU3VjY2VzczogIl9jcmVhdGVfd2FzbV9pbnN0YW5jZV9zdWNjZXNzIiwKICBFbmNvZGVkUmVxdWVzdHM6ICJlbmNvZGVkX3JlcXVlc3RzIiwKICBFbmNvZGVkUmVzcG9uc2VzOiAiZW5jb2RlZF9yZXNwb25zZXMiLAogIEdldFdvcmtlckF2YWlsYWJpbGl0eVJlcXVlc3Q6ICJfZ2V0X3dvcmtlcl9hdmFpbGFiaWxpdHlfcmVxdWVzdCIsCiAgR2V0V29ya2VyQXZhaWxhYmlsaXR5UmVzcG9uc2U6ICJfZ2V0X3dvcmtlcl9hdmFpbGFiaWxpdHlfcmVzcG9uc2UiLAogIEluaXRpYWxpemVXYXNtOiAiX2luaXRpYWxpemVfd2FzbSIKfSwgbGcgPSBPYmplY3Qua2V5cyh7CiAgW3AuQ3JlYXRlV2FzbUluc3RhbmNlXTogITAsCiAgW3AuRW5jb2RlZFJlcXVlc3RzXTogITAsCiAgW3AuR2V0V29ya2VyQXZhaWxhYmlsaXR5UmVxdWVzdF06ICEwLAogIFtwLkluaXRpYWxpemVXYXNtXTogITAKfSksIEdnID0gT2JqZWN0LmtleXMoewogIFtwLkNyZWF0ZVdhc21JbnN0YW5jZVN1Y2Nlc3NdOiAhMCwKICBbcC5FbmNvZGVkUmVzcG9uc2VzXTogITAsCiAgW3AuR2V0V29ya2VyQXZhaWxhYmlsaXR5UmVzcG9uc2VdOiAhMAp9KSwgbCA9IHsKICAuLi5oLAogIC4uLkFJLAogIC4uLmlJLAogIC4uLnAsCiAgLi4uViwKICAuLi5LLAogIC4uLkQKfSwgWmcgPSBbCiAgLi4uSWcsCiAgLi4uQ2csCiAgLi4uaWcsCiAgLi4ub2csCiAgLi4uZGcsCiAgLi4uc2csCiAgLi4ubGcKXSwgU2cgPSBbCiAgLi4uZ2csCiAgLi4uQWcsCiAgLi4uQmcsCiAgLi4uY2csCiAgLi4uS2csCiAgLi4uR2cKXTsKZnVuY3Rpb24gVUkoZywgSSkgewogIHJldHVybiBnID8gYmcoZywgSSkgOiBFSShJKTsKfQpjb25zdCBhSSA9IDQgKiAxMDI0OwpmdW5jdGlvbiBFSShnKSB7CiAgcmV0dXJuIGcgPCBhSSA/IGcgPSBhSSA6IGcgKz0gYUksIG5ldyBBcnJheUJ1ZmZlcihnKTsKfQpmdW5jdGlvbiBiZyhnLCBJKSB7CiAgcmV0dXJuIGcuYnl0ZUxlbmd0aCA+PSBJID8gZyA6IEVJKEkpOwp9CmNvbnN0IHZJID0gewogIEk0MjA6ICJpNDIwIiwKICBOVjEyOiAibnYxMiIKfTsKZnVuY3Rpb24geWcoZykgewogIGlmICghKGcuZm9ybWF0ICYmIGcuZm9ybWF0IGluIHZJKSkKICAgIHJldHVybiB7CiAgICAgIGZvcm1hdDogIlJHQlgiLAogICAgICBjb2xvclNwYWNlOiAic3JnYiIKICAgIH07Cn0KZnVuY3Rpb24gbWcoZykgewogIHJldHVybiB7CiAgICBmb3JtYXQ6IChnID8gdklbZ10gOiB2b2lkIDApID8/ICJyZ2JhIgogIH07Cn0KZnVuY3Rpb24gWUkoZykgewogIHJldHVybiB0eXBlb2YgZyA9PSAib2JqZWN0IiAmJiAhIWcgJiYgImRhdGEiIGluIGcgJiYgIndpZHRoIiBpbiBnICYmICJoZWlnaHQiIGluIGcgJiYgZy5kYXRhIGluc3RhbmNlb2YgVWludDhDbGFtcGVkQXJyYXkgJiYgdHlwZW9mIGcud2lkdGggPT0gIm51bWJlciIgJiYgdHlwZW9mIGcuaGVpZ2h0ID09ICJudW1iZXIiOwp9CmNvbnN0IGogPSAxLCBrID0gMiwgQkkgPSA5OwpmdW5jdGlvbiBJSShnLCBJLCBDKSB7CiAgbGV0IEEgPSA0ICsgZy5sZW5ndGggKyAxICsgNDsKICBpZiAoSSA9PSBqICYmIHR5cGVvZiBDID09ICJzdHJpbmciKQogICAgQSArPSBDLmxlbmd0aDsKICBlbHNlIGlmIChJID09IGspCiAgICBBICs9IEJJOwogIGVsc2UKICAgIHRocm93IG5ldyBFcnJvcigiVW5oYW5kbGVkIFdBU00gVmFsdWUgVHlwZSIpOwogIHJldHVybiBBOwp9CmZ1bmN0aW9uIFRJKGcpIHsKICBsZXQgSSA9IDE7CiAgY29uc3QgQyA9IFtdOwogIGZvciAoY29uc3QgW0EsIGldIG9mIE9iamVjdC5lbnRyaWVzKGcpKQogICAgdHlwZW9mIGkgPT0gInN0cmluZyIgPyBJICs9IElJKEEsIGosIGkpIDogaSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkgPyAoSSArPSBJSShBLCBrKSwgQy5wdXNoKGkpKSA6IFlJKGkpICYmIChJICs9IElJKEEsIGspLCBDLnB1c2goaS5kYXRhKSk7CiAgcmV0dXJuIFtJLCBDXTsKfQpmdW5jdGlvbiBIKGcsIEksIEMpIHsKICByZXR1cm4gSVtDKytdID0gZyA+PiAyNCAmIDI1NSwgSVtDKytdID0gZyA+PiAxNiAmIDI1NSwgSVtDKytdID0gZyA+PiA4ICYgMjU1LCBJW0MrK10gPSBnICYgMjU1LCBDOwp9CmZ1bmN0aW9uIEhnKGcpIHsKICByZXR1cm4gdHlwZW9mIGcgPT0gInN0cmluZyIgfHwgZyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkgfHwgWUkoZyk7Cn0KZnVuY3Rpb24gZWcoZywgSSwgQykgewogIGNvbnN0IEEgPSBPYmplY3QuZW50cmllcyhnKS5maWx0ZXIoKGkpID0+IEhnKGlbMV0pKTsKICBJW0MrK10gPSBBLmxlbmd0aCAmIDI1NTsKICBmb3IgKGNvbnN0IFtpLCBvXSBvZiBBKSB7CiAgICBjb25zdCBjID0gaS5sZW5ndGg7CiAgICBDID0gSChjLCBJLCBDKTsKICAgIGZvciAobGV0IGQgPSAwOyBkIDwgYzsgZCsrKSB7CiAgICAgIGNvbnN0IGIgPSBpLmNoYXJDb2RlQXQoZCk7CiAgICAgIElbQysrXSA9IGIgJiAyNTU7CiAgICB9CiAgICBpZiAodHlwZW9mIG8gPT0gInN0cmluZyIpIHsKICAgICAgSVtDKytdID0gajsKICAgICAgY29uc3QgZCA9IG8ubGVuZ3RoOwogICAgICBDID0gSChkLCBJLCBDKTsKICAgICAgZm9yIChsZXQgYiA9IDA7IGIgPCBkOyBiKyspIHsKICAgICAgICBjb25zdCBHID0gby5jaGFyQ29kZUF0KGIpOwogICAgICAgIElbQysrXSA9IEcgJiAyNTU7CiAgICAgIH0KICAgIH0gZWxzZSBpZiAobyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpCiAgICAgIElbQysrXSA9IGssIEMgPSBIKEJJLCBJLCBDKSwgQyA9IEgoMSwgSSwgQyksIEMgPSBIKG8ubGVuZ3RoLCBJLCBDKSwgSVtDKytdID0gMTsKICAgIGVsc2UgaWYgKFlJKG8pKQogICAgICBJW0MrK10gPSBrLCBDID0gSChCSSwgSSwgQyksIEMgPSBIKG8uaGVpZ2h0LCBJLCBDKSwgQyA9IEgoby53aWR0aCwgSSwgQyksIElbQysrXSA9IDQ7CiAgICBlbHNlCiAgICAgIHRocm93IG5ldyBFcnJvcigiVW5oYW5kbGVkIHN1cHBvcnRlZCBhdHRyaWJ1dGUgdmFsdWUiKTsKICB9CiAgcmV0dXJuIEM7Cn0KZnVuY3Rpb24gWShnLCBJKSB7CiAgbGV0IEMgPSAwOwogIGZvciAobGV0IEEgPSAwOyBBIDwgNDsgQSsrKQogICAgQyA9IEMgKiAyNTYgKyBnW0kgKyBBXTsKICByZXR1cm4gQzsKfQpjb25zdCB3ZyA9IG5ldyBUZXh0RGVjb2RlcigpOwpmdW5jdGlvbiBvSShnLCBJLCBDKSB7CiAgcmV0dXJuIHdnLmRlY29kZShnLnN1YmFycmF5KEksIEkgKyBDKSk7Cn0KZnVuY3Rpb24gaGcoZywgSSkgewogIGNvbnN0IEMgPSBnW0ldOwogIEkrKzsKICBmb3IgKGxldCBBID0gMDsgQSA8IEM7IEErKykgewogICAgY29uc3QgaSA9IFkoZywgSSk7CiAgICBJICs9IDQ7CiAgICBjb25zdCBvID0gb0koZywgSSwgaSk7CiAgICBJICs9IGk7CiAgICBjb25zdCBjID0gZ1tJKytdLCBkID0gWShnLCBJKTsKICAgIGlmIChJICs9IDQsIG8gIT0gImV2ZW50IikgewogICAgICBJICs9IGQ7CiAgICAgIGNvbnRpbnVlOwogICAgfSBlbHNlIGlmIChjICE9IGopCiAgICAgIHRocm93IG5ldyBFcnJvcigiRW5jb2RlZCBldmVudCBuYW1lIGlzIG5vdCBhIHN0cmluZyEiKTsKICAgIHJldHVybiBvSShnLCBJLCBkKTsKICB9CiAgdGhyb3cgbmV3IEVycm9yKCJFbmNvZGVkIGV2ZW50IGRvZXMgbm90IGhhdmUgYW4gZXZlbnQgbmFtZSEiKTsKfQpmdW5jdGlvbiBhZyhnLCBJLCBDLCBBKSB7CiAgY29uc3QgaSA9IEkgKyBDLCBvID0gZ1tJXTsKICBJKys7CiAgY29uc3QgYyA9IHt9OwogIGxldCBkID0gMTsKICBmb3IgKGxldCBiID0gMDsgYiA8IG87IGIrKykgewogICAgY29uc3QgRyA9IFkoZywgSSk7CiAgICBJICs9IDQ7CiAgICBjb25zdCBTID0gb0koZywgSSwgRyk7CiAgICBJICs9IEc7CiAgICBjb25zdCB0ID0gZ1tJKytdLCBSID0gWShnLCBJKTsKICAgIGlmIChJICs9IDQsIHQgPT0gaikgewogICAgICBjb25zdCBXID0gb0koZywgSSwgUik7CiAgICAgIEkgKz0gUiwgY1tTXSA9IFc7CiAgICB9IGVsc2UgaWYgKHQgPT0gaykgewogICAgICBpZiAoUiAhPSBCSSkgewogICAgICAgIGNvbnNvbGUuZXJyb3IoIlVuZXhwZWN0ZWQgdkxlbiAhPSA5IGZvciB0eXBlIDIhIiksIEkgKz0gUjsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICBjb25zdCBXID0gWShnLCBJKTsKICAgICAgSSArPSA0OwogICAgICBjb25zdCBxID0gWShnLCBJKTsKICAgICAgSSArPSA0OwogICAgICBsZXQgSiA9IDA7CiAgICAgIGlmIChKICs9IGdbSSsrXSwgVyA9PSAxICYmIEogPT0gMSkgewogICAgICAgIGNvbnN0IEYgPSBBKGQpOwogICAgICAgIGNbU10gPSBuZXcgVWludDhBcnJheShGKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjb25zdCBGID0gQShkKTsKICAgICAgICBjW1NdID0gewogICAgICAgICAgZGF0YTogbmV3IFVpbnQ4Q2xhbXBlZEFycmF5KEYpLAogICAgICAgICAgd2lkdGg6IHEsCiAgICAgICAgICBoZWlnaHQ6IFcKICAgICAgICB9OwogICAgICB9CiAgICAgIGQrKzsKICAgIH0KICB9CiAgcmV0dXJuIGNvbnNvbGUuYXNzZXJ0KGkgPT09IEksICJBY3R1YWxseSBkZWNvZGVkIGRhdGEgc2l6ZSBzaG91bGQgbWF0Y2ggZXhwZWN0ZWQgc2l6ZSEiKSwgYzsKfQpmdW5jdGlvbiBmSShnLCBJKSB7CiAgY29uc3QgQyA9ICgxICsgSS5sZW5ndGgpICogNDsKICBsZXQgQSA9IEMgKyBnOwogIGZvciAobGV0IGkgPSAwOyBpIDwgSS5sZW5ndGg7IGkrKykKICAgIEEgKz0gSVtpXS5ieXRlTGVuZ3RoOwogIHJldHVybiBbQSwgQ107Cn0KZnVuY3Rpb24gTUkoZywgSSwgQywgQSwgaSwgbykgewogIGNvbnNvbGUuYXNzZXJ0KAogICAgaSArICgxICsgQy5sZW5ndGgpICogNCA8PSBvLAogICAgImxlbmd0aCBzZWN0aW9uIHNob3VsZCBub3Qgb3ZlcmxhcCB3aXRoIGRhdGEgc2VjdGlvbiIKICApLCBIKEksIEEsIGkpOwogIGNvbnN0IGMgPSBlZyhnLCBBLCBvKTsKICBvICs9IEksIGNvbnNvbGUuYXNzZXJ0KGMgPT09IG8sICJjb3B5RGljdFRvQnl0ZXMgY29waWVkIGRhdGEgc2hvdWxkIG1hdGNoIHByb3ZpZGVkIG1haW5QYWNrZXRTaXplIik7CiAgZm9yIChsZXQgZCA9IDA7IGQgPCBDLmxlbmd0aDsgZCsrKSB7CiAgICBjb25zdCBiID0gQ1tkXSwgRyA9IGkgKyAoMSArIGQpICogNDsKICAgIEgoYi5ieXRlTGVuZ3RoLCBBLCBHKSwgQS5zZXQoYiwgbyksIG8gKz0gYi5ieXRlTGVuZ3RoOwogIH0KfQpmdW5jdGlvbiBRSShnLCBJKSB7CiAgcmV0dXJuIGFnKAogICAgZywKICAgIEkuZGF0YUJ1ZmZlck9mZnNldCwKICAgIC8vIEZpcnN0IHBhY2tldAogICAgWShnLCBJLnN0YXJ0T2Zmc2V0KSwKICAgIC8vIEZpcnN0IGxlbmd0aAogICAgKEMpID0+IHsKICAgICAgbGV0IEEgPSBJLmRhdGFCdWZmZXJPZmZzZXQ7CiAgICAgIGZvciAobGV0IG8gPSAwOyBvIDwgQzsgbysrKQogICAgICAgIEEgKz0gWShnLCBJLnN0YXJ0T2Zmc2V0ICsgbyAqIDQpOwogICAgICBjb25zdCBpID0gWShnLCBJLnN0YXJ0T2Zmc2V0ICsgQyAqIDQpOwogICAgICByZXR1cm4gZy5zdWJhcnJheShBLCBBICsgaSk7CiAgICB9CiAgKTsKfQphc3luYyBmdW5jdGlvbiB0ZyhnLCBJKSB7CiAgcmV0dXJuIGcuZXZlbnQgPT09IGwuSW1hZ2UgJiYgZy5mb3JtYXQgPT09ICJ2aWRlb2ZyYW1lIiA/IGF3YWl0IG5nKGcsIEkpIDogdWcoZywgSSk7Cn0KZnVuY3Rpb24gdWcoZywgSSkgewogIGNvbnN0IFtDLCBBXSA9IFRJKGcpLCBbaSwgb10gPSBmSShDLCBBKSwgYyA9IEkoaSksIGQgPSBuZXcgVWludDhBcnJheSguLi5jLCBpKTsKICByZXR1cm4gTUkoZywgQywgQSwgZCwgMCwgbyksIHsKICAgIGJ1ZmZlcjogZCwKICAgIGRhdGFCdWZmZXJPZmZzZXQ6IG8KICB9Owp9CmFzeW5jIGZ1bmN0aW9uIG5nKGcsIEkpIHsKICBjb25zdCBDID0gZy5pbWFnZSwgQSA9IHsKICAgIGV2ZW50OiBnLmV2ZW50LAogICAgdGltZXN0YW1wOiBnLnRpbWVzdGFtcCwKICAgIC4uLmcubHV4ICYmIHsgbHV4OiBnLmx1eCB9LAogICAgLi4uZy5yb3RhdGlvbiAmJiB7IHJvdGF0aW9uOiBnLnJvdGF0aW9uIH0KICB9LCBpID0gbWcoQy5mb3JtYXQpLCBvID0gQy52aXNpYmxlUmVjdC53aWR0aCwgYyA9IEMudmlzaWJsZVJlY3QuaGVpZ2h0OwogIGxldCBkOwogIGkuZm9ybWF0ID09ICJyZ2JhIiA/IGQgPSB7CiAgICAuLi5BLAogICAgLi4uaQogIH0gOiBkID0gewogICAgLi4uQSwKICAgIC4uLmksCiAgICB3aWR0aDogYCR7b31gLAogICAgaGVpZ2h0OiBgJHtjfWAKICB9OwogIGxldCBbYiwgR10gPSBUSShkKTsKICBiICs9IElJKCJpbWFnZSIsIGspOwogIGxldCBbUywgdF0gPSBmSShiLCBHKTsKICBjb25zdCBSID0gdDsKICB0ICs9IDQsIFMgKz0gNDsKICBjb25zdCBXID0gUywgcSA9IHlnKEMpLCBKID0gQy5hbGxvY2F0aW9uU2l6ZShxKTsKICBTICs9IEo7CiAgY29uc3QgW0YsIGtJXSA9IEkoUyksIF8gPSBuZXcgVWludDhBcnJheShGLCBrSSwgUyksIGVJID0gXy5zdWJhcnJheShXLCBXICsgSik7CiAgbGV0IHdJOwogIHJldHVybiBkLmZvcm1hdCA9PSAicmdiYSIgPyB3SSA9IHsKICAgIC4uLmQsCiAgICBpbWFnZTogewogICAgICBkYXRhOiBuZXcgVWludDhDbGFtcGVkQXJyYXkoRiwga0kgKyBXLCBKKSwKICAgICAgd2lkdGg6IG8sCiAgICAgIGhlaWdodDogYwogICAgfQogIH0gOiB3SSA9IHsKICAgIC4uLmQsCiAgICBpbWFnZTogZUkKICB9LCBNSSh3SSwgYiwgRywgXywgMCwgdCksIEgoZUkuYnl0ZUxlbmd0aCwgXywgUiksIGF3YWl0IEMuY29weVRvKGVJLCBxKSwgQy5jbG9zZSgpLCB7CiAgICBidWZmZXI6IF8sCiAgICBkYXRhQnVmZmVyT2Zmc2V0OiB0CiAgfTsKfQpjb25zdCB4ID0gKGcsIEksIEMgPSAoKSA9PiAhMCkgPT4gewogIGlmICh0eXBlb2YgZyA9PSAib2JqZWN0IiAmJiBnICE9PSBudWxsKSB7CiAgICBmb3IgKGNvbnN0IGkgb2YgSSkKICAgICAgaWYgKCEoaSBpbiBnKSkKICAgICAgICByZXR1cm4gITE7CiAgICByZXR1cm4gQyhnKTsKICB9CiAgcmV0dXJuICExOwp9LCBXSSA9IChnKSA9PiB4KGcsIFsiZXZlbnQiLCAidGltZXN0YW1wIl0sIChJKSA9PiBTZy5pbmNsdWRlcyhJLmV2ZW50KSksIHBJID0gKGcpID0+IHgoZywgWyJldmVudCIsICJvYmplY3ROYW1lIiwgInRpbWVzdGFtcCJdLCBXSSksIFhnID0gKGcpID0+IHR5cGVvZiBnID09ICJzdHJpbmciICYmIFpnLmluY2x1ZGVzKGcpLCBWZyA9IChnKSA9PiB4KAogIGcsCiAgWyJldmVudCIsICJ0aW1lc3RhbXAiLCAibWF4X2V2ZW50cyJdLAogIChJKSA9PiBJLmV2ZW50ID09PSBsLlJlYWR5CiksIFlnID0gYXN5bmMgKGcsIEkpID0+IG5ldyBQcm9taXNlKChDKSA9PiB7CiAgY29uc3QgQSA9IChpKSA9PiB7CiAgICBXSShpLmRhdGEpICYmIGkuZGF0YS5ldmVudCA9PT0gbC5HZXRDb25maWdSZXN1bHQgJiYgKEMoaS5kYXRhKSwgZy5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgQSkpOwogIH07CiAgZy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgQSksIGcucG9zdE1lc3NhZ2UoSSk7Cn0pLCBQSSA9IGFzeW5jIChnLCBJKSA9PiBuZXcgUHJvbWlzZSgoQykgPT4gewogIGNvbnN0IEEgPSAoaSkgPT4gewogICAgcEkoaS5kYXRhKSAmJiBpLmRhdGEuZXZlbnQgPT09IGwuQ3JlYXRlV2FzbUluc3RhbmNlU3VjY2VzcyAmJiAoQyhpLmRhdGEpLCBnLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBBKSk7CiAgfTsKICBnLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBBKSwgZy5wb3N0TWVzc2FnZShJKTsKfSksIFdnID0gYXN5bmMgKHsgd29ya2VyOiBnLCByZXF1ZXN0OiBJLCBlcnJvclBvcnQ6IEMgfSkgPT4gbmV3IFByb21pc2UoKEEsIGkpID0+IHsKICBjb25zdCBvID0gKGMpID0+IHsKICAgIHBJKGMuZGF0YSkgJiYgKGMuZGF0YS5ldmVudCA9PT0gbC5Jbml0aWFsaXplU3VjY2VzcyB8fCBjLmRhdGEuZXZlbnQgPT09IGwuSW5pdGlhbGl6ZUVycm9yKSAmJiAoYy5kYXRhLmV2ZW50ID09PSBsLkluaXRpYWxpemVTdWNjZXNzID8gQShjLmRhdGEpIDogaShuZXcgRXJyb3IoYCR7Yy5kYXRhLm9iamVjdE5hbWV9OiAke2MuZGF0YS5ldmVudH1gKSksIGcucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIG8pKTsKICB9OwogIGcuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIG8pLCBnLnBvc3RNZXNzYWdlKEksIFtDXSk7Cn0pOwp2YXIgVSwgUTsKY2xhc3MgcGcgewogIGNvbnN0cnVjdG9yKEkpIHsKICAgIHModGhpcywgVSk7CiAgICBzKHRoaXMsIFEsICExKTsKICAgIG0odGhpcywgVSwgSSk7CiAgfQogIC8vIFJldHVybiB2YWx1ZSBtZWFucyBpZiB0aGUgZXZlbnQgY2FuIGJlIGNvbnNpZGVyZWQgY29uc3VtZWQKICB1cGRhdGUoSSkgewogICAgcmV0dXJuIEkgPT09IEIodGhpcywgVSkgPyAobSh0aGlzLCBRLCAhMCksICEwKSA6ICExOwogIH0KICBjb25zdW1lKCkgewogICAgY29uc3QgSSA9IEIodGhpcywgUSk7CiAgICByZXR1cm4gbSh0aGlzLCBRLCAhMSksIEk7CiAgfQp9ClUgPSBuZXcgV2Vha01hcCgpLCBRID0gbmV3IFdlYWtNYXAoKTsKY29uc3QgdEkgPSA1LCBySSA9IDEwMjQgKiAxMDI0LCBMZyA9IHRJOwp2YXIgYSwgRSwgUCwgdiwgZSwgbiwgVCwgWiwgekksIHVJLCBuSSwgWEksIE9JLCBnSSwgQ0ksIGpJOwpjbGFzcyBrZyB7CiAgY29uc3RydWN0b3IoKSB7CiAgICBzKHRoaXMsIFopOwogICAgcyh0aGlzLCBhLCBbXSk7CiAgICAvLyBDdXJyZW50IG1lbW9yeSB1c2FnZSBwYXR0ZXJuIGhhcyBwdXJlIHRleHQgZXZlbnRzIHRoYXQgYXJlIHZlcnkgc21hbGwsCiAgICBzKHRoaXMsIEUsIFtdKTsKICAgIC8vIGFuZCBsYXJnZSBldmVudHMgdGhhdCBjYXJyeSByYXcgaW1hZ2VzCiAgICBzKHRoaXMsIFAsIFtdKTsKICAgIHModGhpcywgdik7CiAgICBzKHRoaXMsIGUpOwogICAgcyh0aGlzLCBuKTsKICAgIC8vIEV2ZW50IG5hbWVzIGV4cGVjdGVkIHRvIGJlIGV4cGxpY2l0bHkgc2VsZWN0ZWQgYW5kIGRlbGl2ZXJlZCBieSBhbiBleHRlcm5hbCBzb3VyY2UgKGUuZy4KICAgIC8vIExpdmVuZXNzVVgub25CZWZvcmVGcmFtZSdzIG1hbmFnZWRfdGFnKSwga2V5ZWQgYnkgdGhlIHRhZyB0aGV5IG11c3QgY2FycnkgdG8gYmUgYWRtaXR0ZWQuCiAgICAvLyBEaXNqb2ludCBmcm9tIHRocm90dGxlZC1ldmVudCBoYW5kbGluZyBiZWxvdzogYSBtYW5hZ2VkIGV2ZW50IG5hbWUgaXMgbmV2ZXIgYWxzbyB0aHJvdHRsZWQsCiAgICAvLyBuZXZlciBldmljdGVkLCBhbmQgbmV2ZXIgY291bnRlZCBhZ2FpbnN0IGFueSBxdW90YSAtIGFkbWlzc2lvbiBpcyBmdWxseSByZXNvbHZlZCBieSB0aGUgdGFnLgogICAgcyh0aGlzLCBULCAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpKTsKICB9CiAgc2V0VGhyb3R0bGVFdmVudE5hbWVzKEkpIHsKICAgIGlmIChJICYmIEkubGVuZ3RoID4gMSkKICAgICAgdGhyb3cgRXJyb3IoIlRocm90dGxpbmcgMiBvciBtb3JlIGV2ZW50cyBpcyBjdXJyZW50bHkgdW5zdXBwb3J0ZWQuIik7CiAgICBtKHRoaXMsIHYsIElbMF0pOwogIH0KICByZWdpc3Rlck1hbmFnZWRFdmVudChJLCBDKSB7CiAgICBCKHRoaXMsIFQpLnNldChJLCBDKTsKICB9CiAgZW5hYmxlQ291bnRpbmdNb2RlKEksIEMpIHsKICAgIG0odGhpcywgZSwgSSksIG0odGhpcywgbiwgQyA/IG5ldyBwZyhDKSA6IHZvaWQgMCksIHkodGhpcywgWiwgekkpLmNhbGwodGhpcyk7CiAgfQogIGFkZEVuY29kZWRFdmVudChJLCB7IGJ1ZmZlcjogQywgZGF0YUJ1ZmZlck9mZnNldDogQSwgbWFuYWdlZFRhZzogaSB9KSB7CiAgICBjb25zdCBvID0gQih0aGlzLCBUKS5nZXQoSSk7CiAgICBpZiAobyAhPT0gdm9pZCAwKSB7CiAgICAgIGlmIChpICE9PSBvKQogICAgICAgIHJldHVybjsKICAgIH0gZWxzZSBpZiAoIXkodGhpcywgWiwgbkkpLmNhbGwodGhpcywgSSkpCiAgICAgIHJldHVybjsKICAgIGNvbnN0IGMgPSB5KHRoaXMsIFosIE9JKS5jYWxsKHRoaXMsIEMuYnl0ZUxlbmd0aCksIGQgPSBuZXcgVWludDhBcnJheShjLCAwLCBDLmJ5dGVMZW5ndGgpOwogICAgZC5zZXQoQyksIHkodGhpcywgWiwgdUkpLmNhbGwodGhpcywgewogICAgICBuYW1lOiBJLAogICAgICBwYXlsb2FkOiB7CiAgICAgICAgYnVmZmVyOiBkLAogICAgICAgIGRhdGFCdWZmZXJPZmZzZXQ6IEEKICAgICAgfQogICAgfSk7CiAgfQogIGdldE5leHRFdmVudCgpIHsKICAgIGRvIHsKICAgICAgY29uc3QgSSA9IEIodGhpcywgYSkuc2hpZnQoKTsKICAgICAgaWYgKCFJIHx8ICF5KHRoaXMsIFosIENJKS5jYWxsKHRoaXMsIEkubmFtZSkgfHwgdHlwZW9mIEIodGhpcywgZSkgIT0gIm51bWJlciIpCiAgICAgICAgcmV0dXJuIEk7CiAgICAgIGlmIChCKHRoaXMsIGUpKQogICAgICAgIHJldHVybiBKSSh0aGlzLCBlKS5fLS0sIEIodGhpcywgZSkgfHwgbSh0aGlzLCBuLCB2b2lkIDApLCBJOwogICAgICB5KHRoaXMsIFosIGdJKS5jYWxsKHRoaXMsIEkpOwogICAgfSB3aGlsZSAoITApOwogIH0KICByZXR1cm5BcnJheUJ1ZmZlcihJKSB7CiAgICBJLmJ5dGVMZW5ndGggPj0gckkgPyBCKHRoaXMsIFApLmxlbmd0aCA8IExnICYmIEIodGhpcywgUCkucHVzaChJKSA6IEIodGhpcywgRSkucHVzaChJKTsKICB9Cn0KYSA9IG5ldyBXZWFrTWFwKCksIEUgPSBuZXcgV2Vha01hcCgpLCBQID0gbmV3IFdlYWtNYXAoKSwgdiA9IG5ldyBXZWFrTWFwKCksIGUgPSBuZXcgV2Vha01hcCgpLCBuID0gbmV3IFdlYWtNYXAoKSwgVCA9IG5ldyBXZWFrTWFwKCksIFogPSBuZXcgV2Vha1NldCgpLCB6SSA9IGZ1bmN0aW9uKCkgewogIGNvbnN0IEkgPSBCKHRoaXMsIGEpOwogIG0odGhpcywgYSwgW10pOwogIGZvciAoY29uc3QgQyBvZiBJKQogICAgeSh0aGlzLCBaLCBuSSkuY2FsbCh0aGlzLCBDLm5hbWUpID8geSh0aGlzLCBaLCB1SSkuY2FsbCh0aGlzLCBDKSA6IHkodGhpcywgWiwgZ0kpLmNhbGwodGhpcywgQyk7Cn0sIHVJID0gZnVuY3Rpb24oSSkgewogIEIodGhpcywgYSkucHVzaChJKTsKfSwgLyoqCiAqIERvIGNoZWNrcyB0byBzZWUgaWYgY3VycmVudCBldmVudCBjYW4gYXZvaWQgYmVpbmcgYWRkZWQuCiAqIElmIG5vdCwgdXBkYXRlIGludGVybmFsIHN0YXRlcyB0byBwcmVwYXJlIGZvciB0aGF0IGV2ZW50J3MgYWRkaXRpb24uCiAqCiAqIEBub3RlIEFzIHRoZSBzdW1tYXJ5IGltcGxpZXMsIHRoaXMgZnVuY3Rpb24gaXMgbm90IHB1cmUuIERvIG5vdCB1c2UgdGhpcyBmb3IKICogc3RhdHVzIGNoZWNrcy4KICogQHJldHVybiBXaGV0aGVyIHRoZSBldmVudCBvZiBzcGVjaWZpZWQgbmFtZSBjYW4gYmUgYWRkZWQKICovCm5JID0gZnVuY3Rpb24oSSkgewogIGlmIChCKHRoaXMsIG4pICYmIEIodGhpcywgbikudXBkYXRlKEkpKQogICAgcmV0dXJuICExOwogIGlmICh5KHRoaXMsIFosIENJKS5jYWxsKHRoaXMsIEkpKSB7CiAgICBpZiAoQih0aGlzLCBuKSAmJiAhQih0aGlzLCBuKS5jb25zdW1lKCkpCiAgICAgIHJldHVybiAhMTsKICAgIGlmICh0eXBlb2YgQih0aGlzLCBlKSA9PSAibnVtYmVyIikKICAgICAgaWYgKEIodGhpcywgZSkgPiAwKSB7CiAgICAgICAgaWYgKHkodGhpcywgWiwgakkpLmNhbGwodGhpcykgPj0gQih0aGlzLCBlKSArIHRJKQogICAgICAgICAgcmV0dXJuICExOwogICAgICB9IGVsc2UKICAgICAgICB5KHRoaXMsIFosIFhJKS5jYWxsKHRoaXMsIEkpOwogICAgZWxzZQogICAgICB5KHRoaXMsIFosIFhJKS5jYWxsKHRoaXMsIEkpOwogIH0KICByZXR1cm4gITA7Cn0sIFhJID0gZnVuY3Rpb24oSSwgQyA9IHRJKSB7CiAgbGV0IEEgPSAwLCBpID0gITEsIG87CiAgZm9yIChjb25zdCBbYywgZF0gb2YgQih0aGlzLCBhKS5lbnRyaWVzKCkpCiAgICBpZiAoZC5uYW1lID09PSBJICYmICh0eXBlb2YgbyAhPSAibnVtYmVyIiAmJiAobyA9IGMpLCBBKyssIEEgPj0gQykpIHsKICAgICAgaSA9ICEwOwogICAgICBicmVhazsKICAgIH0KICBpZiAoaSAmJiB0eXBlb2YgbyA9PSAibnVtYmVyIikgewogICAgY29uc3QgYyA9IEIodGhpcywgYSkuc3BsaWNlKG8sIDEpOwogICAgZm9yIChjb25zdCBkIG9mIGMpCiAgICAgIHkodGhpcywgWiwgZ0kpLmNhbGwodGhpcywgZCk7CiAgfQp9LCBPSSA9IGZ1bmN0aW9uKEkpIHsKICBsZXQgQzsKICByZXR1cm4gSSA+PSBySSA/IEMgPSBCKHRoaXMsIFApLnBvcCgpIDogQyA9IEIodGhpcywgRSkucG9wKCksIFVJKEMsIEkpOwp9LCBnSSA9IGZ1bmN0aW9uKEkpIHsKICB0aGlzLnJldHVybkFycmF5QnVmZmVyKEkucGF5bG9hZC5idWZmZXIuYnVmZmVyKTsKfSwgQ0kgPSBmdW5jdGlvbihJKSB7CiAgcmV0dXJuIEIodGhpcywgdikgPT09IEk7Cn0sIGpJID0gZnVuY3Rpb24oKSB7CiAgbGV0IEkgPSAwOwogIGZvciAoY29uc3QgQyBvZiBCKHRoaXMsIGEpKQogICAgeSh0aGlzLCBaLCBDSSkuY2FsbCh0aGlzLCBDLm5hbWUpICYmIEkrKzsKICByZXR1cm4gSTsKfTsKdmFyIFJnID0geyBpZF9maW5kZXJfbGl2ZW5lc3M6IFsiRG9jSWRGaW5kZXIiLCAiQ2FtZXJhTGl2ZW5lc3MiXSB9LCBKZyA9IHsgcHJlbWl1bV93ZWI6IFsiRXllRmluZGVyIiwgIkZhck5lYXJDb2xsZWN0b3IiLCAiVXNlckpvdXJuZXlDb2xsZWN0b3IiLCAiQ2FtZXJhTGl2ZW5lc3MiLCAiU2VydmVyRGF0YUNvbGxlY3RvciIsICJQaG90aW51c0RBIl0sIHByZW1pdW1fd2ViX2hkOiBbIkV5ZUZpbmRlciIsICJGYXJOZWFyQ29sbGVjdG9yIiwgIlVzZXJKb3VybmV5Q29sbGVjdG9yIiwgIkNhbWVyYUxpdmVuZXNzIiwgIlNlcnZlckRhdGFDb2xsZWN0b3IiLCAiUGhvdGludXNEQSJdLCBzdGFuZGFyZF93ZWI6IFsiRXllRmluZGVyIiwgIkZhck5lYXJDb2xsZWN0b3IiLCAiVXNlckpvdXJuZXlDb2xsZWN0b3IiLCAiQ2FtZXJhTGl2ZW5lc3MiLCAiU2VydmVyRGF0YUNvbGxlY3RvciJdIH07CmNvbnN0IEZnID0geyAuLi5SZywgLi4uSmcgfSwgRGcgPSBbInBvc2UiLCAiZG9jX2lkX2luZm8iLCAiY2FtZXJhX2xpdmVuZXNzX3N0YXR1cyIsICJzZXJ2ZXJfZGF0YV9ibG9iIl07CnZhciBYLCBjSSwgZiwgTSwgciwgeiwgZEksIEtJLCBzSSwgTCwgdywgbEksIEdJLCBaSSwgU0ksIGJJLCB5SSwgbUksIE8sIE4sIEhJOwpjb25zdCB1ID0gY2xhc3MgdSB7CiAgY29uc3RydWN0b3IoKSB7CiAgICAkKHRoaXMsICJvbm1lc3NhZ2UiKTsKICAgICQodGhpcywgIm9uZXJyb3IiKTsKICAgIHModGhpcywgWCwgW10pOwogICAgcyh0aGlzLCBjSSwgRGcpOwogICAgcyh0aGlzLCBmLCAhMSk7CiAgICBzKHRoaXMsIE0sIFtdKTsKICAgIHModGhpcywgcik7CiAgICBzKHRoaXMsIHosIFtdKTsKICAgIHModGhpcywgZEksIGFzeW5jIChJLCBDKSA9PiB7CiAgICAgIHRyeSB7CiAgICAgICAgbSh0aGlzLCBYLCBhd2FpdCBQcm9taXNlLmFsbCgKICAgICAgICAgIEkubWFwKChBKSA9PiBCKHRoaXMsIEtJKS5jYWxsKHRoaXMsIEEsIEMpKQogICAgICAgICkpLCBCKHRoaXMsIEwpLmNhbGwodGhpcywgewogICAgICAgICAgZXZlbnQ6IGwuSW5pdGlhbGl6ZVN1Y2Nlc3MsCiAgICAgICAgICB0aW1lc3RhbXA6IEMudGltZXN0YW1wLAogICAgICAgICAgb2JqZWN0TmFtZTogdS5JRAogICAgICAgIH0pOwogICAgICB9IGNhdGNoIChBKSB7CiAgICAgICAgQih0aGlzLCB3KS5jYWxsKHRoaXMsIHsKICAgICAgICAgIGV2ZW50OiBsLkluaXRpYWxpemVFcnJvciwKICAgICAgICAgIHRpbWVzdGFtcDogQy50aW1lc3RhbXAsCiAgICAgICAgICBvYmplY3ROYW1lOiB1LklELAogICAgICAgICAgcmVhc29uOiBBIGluc3RhbmNlb2YgRXJyb3IgPyBBLm1lc3NhZ2UgOiBgJHt1LklEfTogRmFpbGVkIHRvIGluaXRpYWxpemUgb25lIG9mIHRoZSB3b3JrZXJzYAogICAgICAgIH0pOwogICAgICB9CiAgICB9KTsKICAgIHModGhpcywgS0ksIGFzeW5jIChJLCBDKSA9PiB7CiAgICAgIHZhciBiOwogICAgICBjb25zdCBBID0gbmV3IERJKCksIGkgPSBuZXcga2coKSwgbyA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpLCBjID0gewogICAgICAgIHdvcmtlcjogQSwKICAgICAgICBvYmplY3ROYW1lOiBJLAogICAgICAgIGlzUmVhZHk6IHZvaWQgMCwKICAgICAgICBhY2NlcHRhYmxlRXZlbnRzOiBbXSwKICAgICAgICBxdWV1ZTogaQogICAgICB9OwogICAgICBBLm9ubWVzc2FnZSA9IChHKSA9PiB7CiAgICAgICAgaWYgKCFwSShHLmRhdGEpKQogICAgICAgICAgcmV0dXJuOwogICAgICAgIGNvbnN0IFMgPSBHLmRhdGE7CiAgICAgICAgc3dpdGNoIChTLmV2ZW50KSB7CiAgICAgICAgICBjYXNlIGwuRW5jb2RlZFJlc3BvbnNlczoKICAgICAgICAgICAgQih0aGlzLCB5SSkuY2FsbCh0aGlzLCB7CiAgICAgICAgICAgICAgZW5jb2RlZFJlc3BvbnNlczogUy5lbmNvZGVkX3Jlc3BvbnNlcywKICAgICAgICAgICAgICBlbmNvZGVkUmVzcG9uc2VzUGFja2V0Q291bnRzOiBTLmVuY29kZWRfcmVzcG9uc2VzX2xheW91dHMsCiAgICAgICAgICAgICAgY29udGV4dDogYywKICAgICAgICAgICAgICBvYmplY3ROYW1lOiBTLm9iamVjdE5hbWUKICAgICAgICAgICAgfSksIGkucmV0dXJuQXJyYXlCdWZmZXIoUy5lbmNvZGVkX3Jlc3BvbnNlcy5idWZmZXIpLCBjLmlzUmVhZHkgPSAhMCwgQih0aGlzLCBOKS5jYWxsKHRoaXMsIGMpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgbC5SZWFkeToKICAgICAgICAgICAgUy5tYXhfZXZlbnRzICYmIGkuZW5hYmxlQ291bnRpbmdNb2RlKE51bWJlci5wYXJzZUludChTLm1heF9ldmVudHMpLCBTLnRyaWdnZXJfZXZlbnQpLCBjLmlzUmVhZHkgPSAhMCwgQih0aGlzLCBOKS5jYWxsKHRoaXMsIGMpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgbC5Jbml0aWFsaXplU3VjY2VzczoKICAgICAgICAgICAgYy5pc1JlYWR5ID0gITA7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBsLkluaXRpYWxpemVFcnJvcjoKICAgICAgICAgICAgYy5pc1JlYWR5ID0gITE7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBsLkNyZWF0ZVdhc21JbnN0YW5jZVN1Y2Nlc3M6CiAgICAgICAgICAgIEIodGhpcywgTCkuY2FsbCh0aGlzLCBTKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICBjLmlzUmVhZHkgPSAhMSwgQih0aGlzLCB3KS5jYWxsKHRoaXMsIEcpOwogICAgICAgIH0KICAgICAgfSwgQS5vbmVycm9yID0gKEcpID0+IHsKICAgICAgICBjLmlzUmVhZHkgPSAhMSwgQih0aGlzLCB3KS5jYWxsKHRoaXMsIEcpOwogICAgICB9LCBBLm9ubWVzc2FnZWVycm9yID0gKEcpID0+IHsKICAgICAgICBjLmlzUmVhZHkgPSAhMSwgQih0aGlzLCB3KS5jYWxsKHRoaXMsIEcpOwogICAgICB9LCBvLnBvcnQxLm9ubWVzc2FnZSA9IChHKSA9PiB7CiAgICAgICAgYy5pc1JlYWR5ID0gITEsIEIodGhpcywgdykuY2FsbCh0aGlzLCBHLmRhdGEpOwogICAgICB9LCBhd2FpdCBQSShBLCB7CiAgICAgICAgZXZlbnQ6IGwuQ3JlYXRlV2FzbUluc3RhbmNlLAogICAgICAgIG9iamVjdE5hbWU6IGMub2JqZWN0TmFtZSwKICAgICAgICB0aW1lc3RhbXA6IHBlcmZvcm1hbmNlLm5vdygpLnRvU3RyaW5nKCksCiAgICAgICAgd2FzbV9tb2R1bGU6IEMud2FzbV9tb2R1bGUKICAgICAgfSk7CiAgICAgIGNvbnN0IGQgPSBhd2FpdCBXZyh7CiAgICAgICAgd29ya2VyOiBBLAogICAgICAgIGVycm9yUG9ydDogby5wb3J0MiwKICAgICAgICByZXF1ZXN0OiB7CiAgICAgICAgICBhc3NldHM6IEMuYXNzZXRzLAogICAgICAgICAgY29uZmlnX25hbWU6IEMuY29uZmlnX25hbWUsCiAgICAgICAgICBldmVudDogbC5Jbml0aWFsaXplLAogICAgICAgICAgb2JqZWN0X25hbWU6IEksCiAgICAgICAgICBvdmVycmlkZV9jb25maWc6IEMub3ZlcnJpZGVfY29uZmlnLAogICAgICAgICAgdGltZXN0YW1wOiBwZXJmb3JtYW5jZS5ub3coKS50b1N0cmluZygpCiAgICAgICAgfQogICAgICB9KTsKICAgICAgaWYgKGMuYWNjZXB0YWJsZUV2ZW50cyA9ICgoYiA9IGQuZXZlbnRfbmFtZXMpID09IG51bGwgPyB2b2lkIDAgOiBiLnNwbGl0KCIsIikpID8/IFtdLCBkLnRocm90dGxlZF9ldmVudHMpIHsKICAgICAgICBjb25zdCBHID0gZC50aHJvdHRsZWRfZXZlbnRzLnNwbGl0KCIsIik7CiAgICAgICAgaS5zZXRUaHJvdHRsZUV2ZW50TmFtZXMoRyk7CiAgICAgIH0KICAgICAgaWYgKGQubWFuYWdlZF9ldmVudHMpCiAgICAgICAgZm9yIChjb25zdCBHIG9mIGQubWFuYWdlZF9ldmVudHMuc3BsaXQoIiwiKSkgewogICAgICAgICAgY29uc3QgW1MsIHRdID0gRy5zcGxpdCgiOiIpOwogICAgICAgICAgaS5yZWdpc3Rlck1hbmFnZWRFdmVudChTLCB0KTsKICAgICAgICB9CiAgICAgIGlmIChkLm1heF9ldmVudHMpIHsKICAgICAgICBjb25zdCBHID0gTnVtYmVyLnBhcnNlSW50KGQubWF4X2V2ZW50cyk7CiAgICAgICAgaS5lbmFibGVDb3VudGluZ01vZGUoRyk7CiAgICAgIH0KICAgICAgcmV0dXJuIGM7CiAgICB9KTsKICAgIHModGhpcywgc0ksIGFzeW5jIChJKSA9PiB7CiAgICAgIGNvbnN0IEMgPSBuZXcgREkoeyBuYW1lOiB1LklEIH0pOwogICAgICBDLm9uZXJyb3IgPSAoaSkgPT4gewogICAgICAgIEIodGhpcywgdykuY2FsbCh0aGlzLCBpKTsKICAgICAgfSwgYXdhaXQgUEkoQywgewogICAgICAgIGV2ZW50OiBsLkNyZWF0ZVdhc21JbnN0YW5jZSwKICAgICAgICBvYmplY3ROYW1lOiB1LklELAogICAgICAgIHRpbWVzdGFtcDogcGVyZm9ybWFuY2Uubm93KCkudG9TdHJpbmcoKSwKICAgICAgICB3YXNtX21vZHVsZTogSS53YXNtX21vZHVsZQogICAgICB9KTsKICAgICAgY29uc3QgQSA9IGF3YWl0IFlnKEMsIHsKICAgICAgICBhc3NldHM6IEkuYXNzZXRzLAogICAgICAgIGNvbmZpZ19uYW1lOiBJLmNvbmZpZ19uYW1lLAogICAgICAgIGV2ZW50OiBsLkdldENvbmZpZywKICAgICAgICB0aW1lc3RhbXA6IHBlcmZvcm1hbmNlLm5vdygpLnRvU3RyaW5nKCkKICAgICAgfSk7CiAgICAgIHJldHVybiBDLnRlcm1pbmF0ZSgpLCBBOwogICAgfSk7CiAgICBzKHRoaXMsIEwsIChJKSA9PiB7CiAgICAgIHZhciBDOwogICAgICAoQyA9IHRoaXMub25tZXNzYWdlKSA9PSBudWxsIHx8IEMuY2FsbCh0aGlzLCB7IGRhdGE6IEkgfSk7CiAgICB9KTsKICAgIHModGhpcywgdywgKEkpID0+IHsKICAgICAgdmFyIEM7CiAgICAgIChDID0gdGhpcy5vbmVycm9yKSA9PSBudWxsIHx8IEMuY2FsbCh0aGlzLCBJKTsKICAgIH0pOwogICAgcyh0aGlzLCBsSSwgYXN5bmMgKCkgPT4gewogICAgICBsZXQgSTsKICAgICAgZm9yICg7IEkgPSBCKHRoaXMsIE0pLnNoaWZ0KCk7ICkKICAgICAgICBhd2FpdCBCKHRoaXMsIGJJKS5jYWxsKHRoaXMsIEkpOwogICAgICBtKHRoaXMsIHIsIHZvaWQgMCk7CiAgICB9KTsKICAgIHModGhpcywgR0ksIChJLCBDKSA9PiB7CiAgICAgIHN3aXRjaCAoSS5ldmVudCkgewogICAgICAgIGNhc2UgbC5Jbml0aWFsaXplV2FzbToKICAgICAgICAgIHJldHVybiBCKHRoaXMsIFpJKS5jYWxsKHRoaXMsIEkpLmNhdGNoKEIodGhpcywgdykpLCAhMDsKICAgICAgICBjYXNlIGwuR2V0V29ya2VyQXZhaWxhYmlsaXR5UmVxdWVzdDoKICAgICAgICAgIHJldHVybiBCKHRoaXMsIEhJKS5jYWxsKHRoaXMsIEkpLCAhMDsKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgcmV0dXJuICExOwogICAgICB9CiAgICB9KTsKICAgIHModGhpcywgWkksIGFzeW5jIChJKSA9PiB7CiAgICAgIGxldCBDID0gRmdbSS5jb25maWdfbmFtZV07CiAgICAgIEMgPT09IHZvaWQgMCAmJiAoQyA9IChhd2FpdCBCKHRoaXMsIHNJKS5jYWxsKHRoaXMsIEkpKS5uYW1lcy5zcGxpdCgiLCIpKSwgYXdhaXQgQih0aGlzLCBkSSkuY2FsbCh0aGlzLCBDLCBJKTsKICAgIH0pOwogICAgcyh0aGlzLCBTSSwgKEkpID0+IFtVSShCKHRoaXMsIHopLnBvcCgpLCBJKSwgMF0pOwogICAgcyh0aGlzLCBiSSwgYXN5bmMgKEkpID0+IHsKICAgICAgY29uc3QgQyA9IGF3YWl0IHRnKEksIEIodGhpcywgU0kpKTsKICAgICAgSS5ldmVudCA9PT0gbC5JbWFnZSAmJiBJLm1hbmFnZWRfdGFnICE9PSB2b2lkIDAgJiYgKEMubWFuYWdlZFRhZyA9IEkubWFuYWdlZF90YWcpLCBCKHRoaXMsIE8pLmNhbGwodGhpcywgSS5ldmVudCwgQyksIEIodGhpcywgeikucHVzaChDLmJ1ZmZlci5idWZmZXIpOwogICAgfSk7CiAgICBzKHRoaXMsIHlJLCAoewogICAgICBlbmNvZGVkUmVzcG9uc2VzOiBJLAogICAgICBlbmNvZGVkUmVzcG9uc2VzUGFja2V0Q291bnRzOiBDLAogICAgICBjb250ZXh0OiBBLAogICAgICBvYmplY3ROYW1lOiBpCiAgICB9KSA9PiB7CiAgICAgIGZvciAoY29uc3QgbyBvZiBDKSB7CiAgICAgICAgY29uc3QgYyA9IGhnKEksIG8uZGF0YUJ1ZmZlck9mZnNldCk7CiAgICAgICAgaWYgKGMgPT09IGwuUmVhZHkpIHsKICAgICAgICAgIGNvbnN0IGQgPSBRSShJLCBvKTsKICAgICAgICAgIFZnKGQpICYmIEEucXVldWUuZW5hYmxlQ291bnRpbmdNb2RlKE51bWJlci5wYXJzZUludChkLm1heF9ldmVudHMpLCBkLnRyaWdnZXJfZXZlbnQpOwogICAgICAgIH0gZWxzZSBpZiAoQih0aGlzLCBtSSkuY2FsbCh0aGlzLCBjKSkgewogICAgICAgICAgY29uc3QgZCA9IFFJKEksIG8pOwogICAgICAgICAgV0koZCkgJiYgQih0aGlzLCBMKS5jYWxsKHRoaXMsIHsKICAgICAgICAgICAgLi4uZCwKICAgICAgICAgICAgb2JqZWN0TmFtZTogaQogICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIFhnKGMpICYmIEIodGhpcywgTykuY2FsbCh0aGlzLCBjLCB7CiAgICAgICAgICBidWZmZXI6IEkuc3ViYXJyYXkoby5zdGFydE9mZnNldCwgby5zdGFydE9mZnNldCArIG8ubGVuZ3RoKSwKICAgICAgICAgIGRhdGFCdWZmZXJPZmZzZXQ6IG8uZGF0YUJ1ZmZlck9mZnNldCAtIG8uc3RhcnRPZmZzZXQKICAgICAgICB9LCBBLm9iamVjdE5hbWUpOwogICAgICB9CiAgICB9KTsKICAgIHModGhpcywgbUksIChJKSA9PiBCKHRoaXMsIGNJKS5pbmNsdWRlcyhJKSB8fCBJID09PSBsLkluaXRpYWxpemVTdWNjZXNzIHx8IEkgPT09IGwuSW5pdGlhbGl6ZUVycm9yKTsKICAgIHModGhpcywgTywgKEksIEMsIEEpID0+IHsKICAgICAgZm9yIChjb25zdCBpIG9mIEIodGhpcywgWCkpCiAgICAgICAgQSA9PT0gaS5vYmplY3ROYW1lIHx8ICFpLmFjY2VwdGFibGVFdmVudHMuaW5jbHVkZXMoSSkgfHwgKGkucXVldWUuYWRkRW5jb2RlZEV2ZW50KEksIEMpLCBCKHRoaXMsIE4pLmNhbGwodGhpcywgaSkpOwogICAgfSk7CiAgICBzKHRoaXMsIE4sIChJKSA9PiB7CiAgICAgIGlmIChCKHRoaXMsIGYpIHx8ICFJLmlzUmVhZHkpCiAgICAgICAgcmV0dXJuOwogICAgICBjb25zdCBDID0gSS5xdWV1ZS5nZXROZXh0RXZlbnQoKTsKICAgICAgaWYgKEMpIHsKICAgICAgICBJLmlzUmVhZHkgPSAhMTsKICAgICAgICB0cnkgewogICAgICAgICAgY29uc3QgeyBidWZmZXI6IEEsIGRhdGFCdWZmZXJPZmZzZXQ6IGkgfSA9IEMucGF5bG9hZDsKICAgICAgICAgIEkud29ya2VyLnBvc3RNZXNzYWdlKAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgZXZlbnQ6IGwuRW5jb2RlZFJlcXVlc3RzLAogICAgICAgICAgICAgIHRpbWVzdGFtcDogcGVyZm9ybWFuY2Uubm93KCkudG9TdHJpbmcoKSwKICAgICAgICAgICAgICBidWZmZXI6IEEsCiAgICAgICAgICAgICAgZGF0YUJ1ZmZlck9mZnNldDogaQogICAgICAgICAgICB9LAogICAgICAgICAgICBbQS5idWZmZXJdCiAgICAgICAgICApOwogICAgICAgIH0gY2F0Y2ggKEEpIHsKICAgICAgICAgIEIodGhpcywgdykuY2FsbCh0aGlzLCBBKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0pOwogICAgcyh0aGlzLCBISSwgKEkpID0+IHsKICAgICAgY29uc3QgQyA9IE9iamVjdC5mcm9tRW50cmllcygKICAgICAgICBPYmplY3QudmFsdWVzKEIodGhpcywgWCkpLm1hcCgoaSkgPT4gWwogICAgICAgICAgaS5vYmplY3ROYW1lLAogICAgICAgICAgewogICAgICAgICAgICBpc1JlYWR5OiBpLmlzUmVhZHkgPz8gITEsCiAgICAgICAgICAgIGFjY2VwdGFibGVFdmVudHM6IGkuYWNjZXB0YWJsZUV2ZW50cwogICAgICAgICAgfQogICAgICAgIF0pCiAgICAgICksIEEgPSB7CiAgICAgICAgZXZlbnQ6IGwuR2V0V29ya2VyQXZhaWxhYmlsaXR5UmVzcG9uc2UsCiAgICAgICAgdGltZXN0YW1wOiBJLnRpbWVzdGFtcCwKICAgICAgICBvYmplY3ROYW1lOiB1LklELAogICAgICAgIHN0YXRlOiBDCiAgICAgIH07CiAgICAgIEIodGhpcywgTCkuY2FsbCh0aGlzLCBBKTsKICAgIH0pOwogIH0KICB0ZXJtaW5hdGUoKSB7CiAgICBtKHRoaXMsIGYsICEwKTsKICAgIGZvciAoY29uc3QgSSBvZiBCKHRoaXMsIFgpKQogICAgICBJLmlzUmVhZHkgPSAhMSwgSS53b3JrZXIudGVybWluYXRlKCk7CiAgICBtKHRoaXMsIFgsIFtdKTsKICB9CiAgaXNBbnlXb3JrZXJSZWFkeSguLi5JKSB7CiAgICBjb25zdCBDID0gT2JqZWN0LmZyb21FbnRyaWVzKAogICAgICBPYmplY3QudmFsdWVzKEIodGhpcywgWCkpLm1hcCgoQSkgPT4gW0Eub2JqZWN0TmFtZSwgQS5pc1JlYWR5XSkKICAgICk7CiAgICByZXR1cm4gSS5zb21lKChBKSA9PiBDW0FdID8/ICExKTsKICB9CiAgcG9zdE1lc3NhZ2UoSSwgQyA9IFtdKSB7CiAgICBCKHRoaXMsIEdJKS5jYWxsKHRoaXMsIEksIEMpIHx8IChCKHRoaXMsIE0pLnB1c2goSSksIHF1ZXVlTWljcm90YXNrKCgpID0+IHsKICAgICAgQih0aGlzLCByKSB8fCBtKHRoaXMsIHIsIEIodGhpcywgbEkpLmNhbGwodGhpcykpOwogICAgfSkpOwogIH0KfTsKWCA9IG5ldyBXZWFrTWFwKCksIGNJID0gbmV3IFdlYWtNYXAoKSwgZiA9IG5ldyBXZWFrTWFwKCksIE0gPSBuZXcgV2Vha01hcCgpLCByID0gbmV3IFdlYWtNYXAoKSwgeiA9IG5ldyBXZWFrTWFwKCksIGRJID0gbmV3IFdlYWtNYXAoKSwgS0kgPSBuZXcgV2Vha01hcCgpLCBzSSA9IG5ldyBXZWFrTWFwKCksIEwgPSBuZXcgV2Vha01hcCgpLCB3ID0gbmV3IFdlYWtNYXAoKSwgbEkgPSBuZXcgV2Vha01hcCgpLCBHSSA9IG5ldyBXZWFrTWFwKCksIFpJID0gbmV3IFdlYWtNYXAoKSwgU0kgPSBuZXcgV2Vha01hcCgpLCBiSSA9IG5ldyBXZWFrTWFwKCksIHlJID0gbmV3IFdlYWtNYXAoKSwgbUkgPSBuZXcgV2Vha01hcCgpLCBPID0gbmV3IFdlYWtNYXAoKSwgTiA9IG5ldyBXZWFrTWFwKCksIEhJID0gbmV3IFdlYWtNYXAoKSwgJCh1LCAiSUQiLCAiZGEtc3lzdGVtIik7CmxldCBWSSA9IHU7CmZ1bmN0aW9uIFFnKGcpIHsKICBpZiAoZyBpbnN0YW5jZW9mIE1lc3NhZ2VQb3J0KQogICAgcmV0dXJuIGc7CiAgaWYgKHR5cGVvZiBnID09ICJvYmplY3QiICYmIHgoZywgWyJkYXRhIiwgIndpZHRoIiwgImhlaWdodCJdKSAmJiBnLmRhdGEuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpCiAgICByZXR1cm4gZy5kYXRhLmJ1ZmZlcjsKICBpZiAodHlwZW9mIGcgPT0gIm9iamVjdCIgJiYgZyAmJiAiYnVmZmVyIiBpbiBnICYmIGcuYnVmZmVyICYmIGcuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpCiAgICByZXR1cm4gZy5idWZmZXI7Cn0KZnVuY3Rpb24geEkoZykgewogIHJldHVybiB0eXBlb2YgZyA9PSAib2JqZWN0IiAmJiBnID8gT2JqZWN0LnZhbHVlcyhnKS5tYXAoUWcpLmZpbHRlcigoSSkgPT4gISFJKSA6IFtdOwp9CmNvbnN0IExJID0gbmV3IFZJKCk7CkxJLm9ubWVzc2FnZSA9IChnKSA9PiB7CiAgcG9zdE1lc3NhZ2UoZy5kYXRhLCB4SShnLmRhdGEpKTsKfTsKTEkub25lcnJvciA9IChnKSA9PiB7CiAgdGhyb3cgZzsKfTsKb25tZXNzYWdlID0gKGcpID0+IHsKICB4KGcuZGF0YSwgWyJldmVudCJdKSAmJiBMSS5wb3N0TWVzc2FnZShnLmRhdGEsIHhJKGcuZGF0YSkpOwp9OwovLyMgc291cmNlTWFwcGluZ1VSTD1kYS1zeXN0ZW0td29ya2VyLUNjWGlRbVZBLmpzLm1hcAo=", Dl = (E) => Uint8Array.from(atob(E), (C) => C.charCodeAt(0)), VB = typeof self < "u" && self.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);", Dl(QQ)], { type: "text/javascript;charset=utf-8" });
|
|
813
|
+
function Jl(E) {
|
|
814
|
+
let C;
|
|
815
|
+
try {
|
|
816
|
+
if (C = VB && (self.URL || self.webkitURL).createObjectURL(VB), !C) throw "";
|
|
817
|
+
const d = new Worker(C, {
|
|
818
|
+
type: "module",
|
|
819
|
+
name: E?.name
|
|
820
|
+
});
|
|
821
|
+
return d.addEventListener("error", () => {
|
|
822
|
+
(self.URL || self.webkitURL).revokeObjectURL(C);
|
|
823
|
+
}), d;
|
|
824
|
+
} catch {
|
|
825
|
+
return new Worker(
|
|
826
|
+
"data:text/javascript;base64," + QQ,
|
|
827
|
+
{
|
|
828
|
+
type: "module",
|
|
829
|
+
name: E?.name
|
|
830
|
+
}
|
|
831
|
+
);
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
const EQ = "b25tZXNzYWdlID0gKCkgPT4gewogIHBvc3RNZXNzYWdlKHR5cGVvZiBXb3JrZXIgPCAidSIpOwp9OwovLyMgc291cmNlTWFwcGluZ1VSTD1uZXN0ZWQtd2ViLXdvcmtlci10ZXN0LUNDWHFYc0JtLmpzLm1hcAo=", al = (E) => Uint8Array.from(atob(E), (C) => C.charCodeAt(0)), RB = typeof self < "u" && self.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);", al(EQ)], { type: "text/javascript;charset=utf-8" });
|
|
835
|
+
function il(E) {
|
|
836
|
+
let C;
|
|
837
|
+
try {
|
|
838
|
+
if (C = RB && (self.URL || self.webkitURL).createObjectURL(RB), !C) throw "";
|
|
839
|
+
const d = new Worker(C, {
|
|
840
|
+
type: "module",
|
|
841
|
+
name: E?.name
|
|
842
|
+
});
|
|
843
|
+
return d.addEventListener("error", () => {
|
|
844
|
+
(self.URL || self.webkitURL).revokeObjectURL(C);
|
|
845
|
+
}), d;
|
|
846
|
+
} catch {
|
|
847
|
+
return new Worker(
|
|
848
|
+
"data:text/javascript;base64," + EQ,
|
|
849
|
+
{
|
|
850
|
+
type: "module",
|
|
851
|
+
name: E?.name
|
|
852
|
+
}
|
|
853
|
+
);
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
var LC = /* @__PURE__ */ ((E) => (E.Ping = "ping", E.Pong = "pong", E))(LC || {});
|
|
857
|
+
async function nl(E = 1e3) {
|
|
858
|
+
const C = new il();
|
|
859
|
+
try {
|
|
860
|
+
return await new Promise((d, D) => {
|
|
861
|
+
const Q = () => {
|
|
862
|
+
D(new Error("Nested Web Workers not available"));
|
|
863
|
+
};
|
|
864
|
+
C.onerror = Q, C.onmessageerror = Q, C.onmessage = (G) => {
|
|
865
|
+
typeof G.data == "string" && G.data === LC.Pong && d();
|
|
866
|
+
}, setTimeout(Q, E), C.postMessage(LC.Ping);
|
|
867
|
+
}), !0;
|
|
868
|
+
} catch {
|
|
869
|
+
return !1;
|
|
870
|
+
} finally {
|
|
871
|
+
C.terminate();
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
async function Gl(E) {
|
|
875
|
+
return await nl() ? new Jl() : new BQ();
|
|
876
|
+
}
|
|
877
|
+
const ol = async () => WebAssembly.validate(new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 96, 0, 1, 123, 3, 2, 1, 0, 10, 10, 1, 8, 0, 65, 0, 253, 15, 253, 98, 11]));
|
|
878
|
+
(() => {
|
|
879
|
+
var E, C = typeof document < "u" ? (E = document.currentScript) == null ? void 0 : E.src : void 0;
|
|
880
|
+
return function(d = {}) {
|
|
881
|
+
var D, Q = d, G, h, R = new Promise((l, S) => {
|
|
882
|
+
G = l, h = S;
|
|
883
|
+
}), k = typeof window == "object", e = typeof importScripts == "function";
|
|
884
|
+
typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string" && process.type != "renderer";
|
|
885
|
+
var M = Object.assign({}, Q), BA = (l, S) => {
|
|
886
|
+
throw S;
|
|
887
|
+
}, v = "";
|
|
888
|
+
function DA(l) {
|
|
889
|
+
return Q.locateFile ? Q.locateFile(l, v) : v + l;
|
|
890
|
+
}
|
|
891
|
+
var QA, IA;
|
|
892
|
+
(k || e) && (e ? v = self.location.href : typeof document < "u" && document.currentScript && (v = document.currentScript.src), C && (v = C), v.startsWith("blob:") ? v = "" : v = v.substr(0, v.replace(/[?#].*/, "").lastIndexOf("/") + 1), e && (IA = (l) => {
|
|
893
|
+
var S = new XMLHttpRequest();
|
|
894
|
+
return S.open("GET", l, !1), S.responseType = "arraybuffer", S.send(null), new Uint8Array(
|
|
895
|
+
/** @type{!ArrayBuffer} */
|
|
896
|
+
S.response
|
|
897
|
+
);
|
|
898
|
+
}), QA = (l) => fetch(l, {
|
|
899
|
+
credentials: "same-origin"
|
|
900
|
+
}).then((S) => S.ok ? S.arrayBuffer() : Promise.reject(new Error(S.status + " : " + S.url))));
|
|
901
|
+
var SA = Q.print || console.log.bind(console), EA = Q.printErr || console.error.bind(console);
|
|
902
|
+
Object.assign(Q, M), M = null, Q.arguments && Q.arguments, Q.thisProgram && Q.thisProgram;
|
|
903
|
+
var lA = Q.wasmBinary, q, L = !1, wA, hA, JA, K, _;
|
|
904
|
+
function CI() {
|
|
905
|
+
var l = q.buffer;
|
|
906
|
+
Q.HEAP8 = hA = new Int8Array(l), Q.HEAP16 = new Int16Array(l), Q.HEAPU8 = JA = new Uint8Array(l), Q.HEAPU16 = new Uint16Array(l), Q.HEAP32 = K = new Int32Array(l), Q.HEAPU32 = _ = new Uint32Array(l), Q.HEAPF32 = new Float32Array(l), Q.HEAPF64 = new Float64Array(l), Q.HEAP64 = new BigInt64Array(l), Q.HEAPU64 = new BigUint64Array(l);
|
|
907
|
+
}
|
|
908
|
+
var cI = [], wI = [], Ag = [], hI = [];
|
|
909
|
+
function Ig() {
|
|
910
|
+
if (Q.preRun)
|
|
911
|
+
for (typeof Q.preRun == "function" && (Q.preRun = [Q.preRun]); Q.preRun.length; )
|
|
912
|
+
Lg(Q.preRun.shift());
|
|
913
|
+
EI(cI);
|
|
914
|
+
}
|
|
915
|
+
function gg() {
|
|
916
|
+
EI(wI);
|
|
917
|
+
}
|
|
918
|
+
function Tg() {
|
|
919
|
+
EI(Ag);
|
|
920
|
+
}
|
|
921
|
+
function Xg() {
|
|
922
|
+
if (Q.postRun)
|
|
923
|
+
for (typeof Q.postRun == "function" && (Q.postRun = [Q.postRun]); Q.postRun.length; )
|
|
924
|
+
rg(Q.postRun.shift());
|
|
925
|
+
EI(hI);
|
|
926
|
+
}
|
|
927
|
+
function Lg(l) {
|
|
928
|
+
cI.unshift(l);
|
|
929
|
+
}
|
|
930
|
+
function rg(l) {
|
|
931
|
+
hI.unshift(l);
|
|
932
|
+
}
|
|
933
|
+
var HA = 0, jA = null;
|
|
934
|
+
function pA(l) {
|
|
935
|
+
var S;
|
|
936
|
+
HA++, (S = Q.monitorRunDependencies) == null || S.call(Q, HA);
|
|
937
|
+
}
|
|
938
|
+
function vA(l) {
|
|
939
|
+
var S;
|
|
940
|
+
if (HA--, (S = Q.monitorRunDependencies) == null || S.call(Q, HA), HA == 0 && jA) {
|
|
941
|
+
var F = jA;
|
|
942
|
+
jA = null, F();
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
function YI(l) {
|
|
946
|
+
var S;
|
|
947
|
+
(S = Q.onAbort) == null || S.call(Q, l), l = "Aborted(" + l + ")", EA(l), L = !0, l += ". Build with -sASSERTIONS for more info.";
|
|
948
|
+
var F = new WebAssembly.RuntimeError(l);
|
|
949
|
+
throw h(F), F;
|
|
950
|
+
}
|
|
951
|
+
var ug = "data:application/octet-stream;base64,", BI = (l) => l.startsWith(ug);
|
|
952
|
+
function zg() {
|
|
953
|
+
var l = "dac_simd.wasm";
|
|
954
|
+
return BI(l) ? l : DA(l);
|
|
955
|
+
}
|
|
956
|
+
var OA;
|
|
957
|
+
function Cg(l) {
|
|
958
|
+
if (l == OA && lA)
|
|
959
|
+
return new Uint8Array(lA);
|
|
960
|
+
if (IA)
|
|
961
|
+
return IA(l);
|
|
962
|
+
throw "both async and sync fetching of the wasm failed";
|
|
963
|
+
}
|
|
964
|
+
function QI(l) {
|
|
965
|
+
return lA ? Promise.resolve().then(() => Cg(l)) : QA(l).then(
|
|
966
|
+
(S) => new Uint8Array(
|
|
967
|
+
/** @type{!ArrayBuffer} */
|
|
968
|
+
S
|
|
969
|
+
),
|
|
970
|
+
// Fall back to getBinarySync if readAsync fails
|
|
971
|
+
() => Cg(l)
|
|
972
|
+
);
|
|
973
|
+
}
|
|
974
|
+
function tI(l, S, F) {
|
|
975
|
+
return QI(l).then((n) => WebAssembly.instantiate(n, S)).then(F, (n) => {
|
|
976
|
+
EA(`failed to asynchronously prepare wasm: ${n}`), YI(n);
|
|
977
|
+
});
|
|
978
|
+
}
|
|
979
|
+
function xg(l, S, F, n) {
|
|
980
|
+
return !l && typeof WebAssembly.instantiateStreaming == "function" && !BI(S) && typeof fetch == "function" ? fetch(S, {
|
|
981
|
+
credentials: "same-origin"
|
|
982
|
+
}).then((w) => {
|
|
983
|
+
var V = WebAssembly.instantiateStreaming(w, F);
|
|
984
|
+
return V.then(n, function(Y) {
|
|
985
|
+
return EA(`wasm streaming compile failed: ${Y}`), EA("falling back to ArrayBuffer instantiation"), tI(S, F, n);
|
|
986
|
+
});
|
|
987
|
+
}) : tI(S, F, n);
|
|
988
|
+
}
|
|
989
|
+
function Bg() {
|
|
990
|
+
return {
|
|
991
|
+
a: lC
|
|
992
|
+
};
|
|
993
|
+
}
|
|
994
|
+
function jg() {
|
|
995
|
+
var l = Bg();
|
|
996
|
+
function S(n, w) {
|
|
997
|
+
return y = n.exports, q = y.K, CI(), KI = y.V, vA(), y;
|
|
998
|
+
}
|
|
999
|
+
pA();
|
|
1000
|
+
function F(n) {
|
|
1001
|
+
S(n.instance);
|
|
1002
|
+
}
|
|
1003
|
+
if (Q.instantiateWasm)
|
|
1004
|
+
try {
|
|
1005
|
+
return Q.instantiateWasm(l, S);
|
|
1006
|
+
} catch (n) {
|
|
1007
|
+
EA(`Module.instantiateWasm callback failed with error: ${n}`), h(n);
|
|
1008
|
+
}
|
|
1009
|
+
return OA ?? (OA = zg()), xg(lA, OA, l, F).catch(h), {};
|
|
1010
|
+
}
|
|
1011
|
+
function Qg(l) {
|
|
1012
|
+
this.name = "ExitStatus", this.message = `Program terminated with exit(${l})`, this.status = l;
|
|
1013
|
+
}
|
|
1014
|
+
var EI = (l) => {
|
|
1015
|
+
for (; l.length > 0; )
|
|
1016
|
+
l.shift()(Q);
|
|
1017
|
+
}, Eg = Q.noExitRuntime || !0, gA = (l) => Dg(l), $ = () => Jg(), GA = 0;
|
|
1018
|
+
class X {
|
|
1019
|
+
// excPtr - Thrown object pointer to wrap. Metadata pointer is calculated from it.
|
|
1020
|
+
constructor(S) {
|
|
1021
|
+
this.excPtr = S, this.ptr = S - 24;
|
|
1022
|
+
}
|
|
1023
|
+
set_type(S) {
|
|
1024
|
+
_[this.ptr + 4 >> 2] = S;
|
|
1025
|
+
}
|
|
1026
|
+
get_type() {
|
|
1027
|
+
return _[this.ptr + 4 >> 2];
|
|
1028
|
+
}
|
|
1029
|
+
set_destructor(S) {
|
|
1030
|
+
_[this.ptr + 8 >> 2] = S;
|
|
1031
|
+
}
|
|
1032
|
+
get_destructor() {
|
|
1033
|
+
return _[this.ptr + 8 >> 2];
|
|
1034
|
+
}
|
|
1035
|
+
set_caught(S) {
|
|
1036
|
+
S = S ? 1 : 0, hA[this.ptr + 12] = S;
|
|
1037
|
+
}
|
|
1038
|
+
get_caught() {
|
|
1039
|
+
return hA[this.ptr + 12] != 0;
|
|
1040
|
+
}
|
|
1041
|
+
set_rethrown(S) {
|
|
1042
|
+
S = S ? 1 : 0, hA[this.ptr + 13] = S;
|
|
1043
|
+
}
|
|
1044
|
+
get_rethrown() {
|
|
1045
|
+
return hA[this.ptr + 13] != 0;
|
|
1046
|
+
}
|
|
1047
|
+
// Initialize native structure fields. Should be called once after allocated.
|
|
1048
|
+
init(S, F) {
|
|
1049
|
+
this.set_adjusted_ptr(0), this.set_type(S), this.set_destructor(F);
|
|
1050
|
+
}
|
|
1051
|
+
set_adjusted_ptr(S) {
|
|
1052
|
+
_[this.ptr + 16 >> 2] = S;
|
|
1053
|
+
}
|
|
1054
|
+
get_adjusted_ptr() {
|
|
1055
|
+
return _[this.ptr + 16 >> 2];
|
|
1056
|
+
}
|
|
1057
|
+
}
|
|
1058
|
+
var r = (l) => {
|
|
1059
|
+
throw GA || (GA = l), GA;
|
|
1060
|
+
}, ZA = (l) => YA(l), vg = (l) => {
|
|
1061
|
+
var S = GA;
|
|
1062
|
+
if (!S)
|
|
1063
|
+
return ZA(0), 0;
|
|
1064
|
+
var F = new X(S);
|
|
1065
|
+
F.set_adjusted_ptr(S);
|
|
1066
|
+
var n = F.get_type();
|
|
1067
|
+
if (!n)
|
|
1068
|
+
return ZA(0), S;
|
|
1069
|
+
for (var w of l) {
|
|
1070
|
+
if (w === 0 || w === n)
|
|
1071
|
+
break;
|
|
1072
|
+
var V = F.ptr + 16;
|
|
1073
|
+
if (FA(w, n, V))
|
|
1074
|
+
return ZA(w), S;
|
|
1075
|
+
}
|
|
1076
|
+
return ZA(n), S;
|
|
1077
|
+
}, Og = () => vg([]), NA = [], sI = 0, lI = () => {
|
|
1078
|
+
var l = NA.pop();
|
|
1079
|
+
l || YI("no exception to throw");
|
|
1080
|
+
var S = l.excPtr;
|
|
1081
|
+
throw l.get_rethrown() || (NA.push(l), l.set_rethrown(!0), l.set_caught(!1), sI++), GA = S, GA;
|
|
1082
|
+
}, fg = (l) => {
|
|
1083
|
+
if (l) {
|
|
1084
|
+
var S = new X(l);
|
|
1085
|
+
NA.push(S), S.set_rethrown(!0), lI();
|
|
1086
|
+
}
|
|
1087
|
+
}, UI = (l, S, F) => {
|
|
1088
|
+
var n = new X(l);
|
|
1089
|
+
throw n.init(S, F), GA = l, sI++, GA;
|
|
1090
|
+
}, bI = () => sI, lg = typeof TextDecoder < "u" ? new TextDecoder() : void 0, Ug = (l, S, F) => {
|
|
1091
|
+
for (var n = S + F, w = S; l[w] && !(w >= n); ) ++w;
|
|
1092
|
+
if (w - S > 16 && l.buffer && lg)
|
|
1093
|
+
return lg.decode(l.subarray(S, w));
|
|
1094
|
+
for (var V = ""; S < w; ) {
|
|
1095
|
+
var Y = l[S++];
|
|
1096
|
+
if (!(Y & 128)) {
|
|
1097
|
+
V += String.fromCharCode(Y);
|
|
1098
|
+
continue;
|
|
1099
|
+
}
|
|
1100
|
+
var s = l[S++] & 63;
|
|
1101
|
+
if ((Y & 224) == 192) {
|
|
1102
|
+
V += String.fromCharCode((Y & 31) << 6 | s);
|
|
1103
|
+
continue;
|
|
1104
|
+
}
|
|
1105
|
+
var O = l[S++] & 63;
|
|
1106
|
+
if ((Y & 240) == 224 ? Y = (Y & 15) << 12 | s << 6 | O : Y = (Y & 7) << 18 | s << 12 | O << 6 | l[S++] & 63, Y < 65536)
|
|
1107
|
+
V += String.fromCharCode(Y);
|
|
1108
|
+
else {
|
|
1109
|
+
var aI = Y - 65536;
|
|
1110
|
+
V += String.fromCharCode(55296 | aI >> 10, 56320 | aI & 1023);
|
|
1111
|
+
}
|
|
1112
|
+
}
|
|
1113
|
+
return V;
|
|
1114
|
+
}, dg = (l, S) => l ? Ug(JA, l, S) : "";
|
|
1115
|
+
function MI(l, S, F) {
|
|
1116
|
+
return 0;
|
|
1117
|
+
}
|
|
1118
|
+
function Pg(l, S, F) {
|
|
1119
|
+
return 0;
|
|
1120
|
+
}
|
|
1121
|
+
var qg = (l, S, F) => {
|
|
1122
|
+
};
|
|
1123
|
+
function _g(l, S, F, n) {
|
|
1124
|
+
}
|
|
1125
|
+
var LA = (l, S) => {
|
|
1126
|
+
}, HI = () => {
|
|
1127
|
+
YI("");
|
|
1128
|
+
}, oA = 1, fA = () => oA, b = () => {
|
|
1129
|
+
Eg = !1, pI = 0;
|
|
1130
|
+
}, $g = () => {
|
|
1131
|
+
throw 1 / 0;
|
|
1132
|
+
}, PA = {}, H = (l) => {
|
|
1133
|
+
if (l instanceof Qg || l == "unwind")
|
|
1134
|
+
return wA;
|
|
1135
|
+
BA(1, l);
|
|
1136
|
+
}, pI = 0, eI = () => Eg || pI > 0, Sg = (l) => {
|
|
1137
|
+
var S;
|
|
1138
|
+
wA = l, eI() || ((S = Q.onExit) == null || S.call(Q, l), L = !0), BA(l, new Qg(l));
|
|
1139
|
+
}, mI = (l, S) => {
|
|
1140
|
+
wA = l, Sg(l);
|
|
1141
|
+
}, j = mI, AC = () => {
|
|
1142
|
+
if (!eI())
|
|
1143
|
+
try {
|
|
1144
|
+
j(wA);
|
|
1145
|
+
} catch (l) {
|
|
1146
|
+
H(l);
|
|
1147
|
+
}
|
|
1148
|
+
}, IC = (l) => {
|
|
1149
|
+
if (!L)
|
|
1150
|
+
try {
|
|
1151
|
+
l(), AC();
|
|
1152
|
+
} catch (S) {
|
|
1153
|
+
H(S);
|
|
1154
|
+
}
|
|
1155
|
+
}, rA = () => performance.now(), kI = (l, S) => {
|
|
1156
|
+
if (PA[l] && (clearTimeout(PA[l].id), delete PA[l]), !S) return 0;
|
|
1157
|
+
var F = setTimeout(() => {
|
|
1158
|
+
delete PA[l], IC(() => kA(l, rA()));
|
|
1159
|
+
}, S);
|
|
1160
|
+
return PA[l] = {
|
|
1161
|
+
id: F,
|
|
1162
|
+
timeout_ms: S
|
|
1163
|
+
}, 0;
|
|
1164
|
+
}, qA = (l, S, F, n) => {
|
|
1165
|
+
for (var w = F, V = F + n - 1, Y = 0; Y < l.length; ++Y) {
|
|
1166
|
+
var s = l.charCodeAt(Y);
|
|
1167
|
+
if (s >= 55296 && s <= 57343) {
|
|
1168
|
+
var O = l.charCodeAt(++Y);
|
|
1169
|
+
s = 65536 + ((s & 1023) << 10) | O & 1023;
|
|
1170
|
+
}
|
|
1171
|
+
if (s <= 127) {
|
|
1172
|
+
if (F >= V) break;
|
|
1173
|
+
S[F++] = s;
|
|
1174
|
+
} else if (s <= 2047) {
|
|
1175
|
+
if (F + 1 >= V) break;
|
|
1176
|
+
S[F++] = 192 | s >> 6, S[F++] = 128 | s & 63;
|
|
1177
|
+
} else if (s <= 65535) {
|
|
1178
|
+
if (F + 2 >= V) break;
|
|
1179
|
+
S[F++] = 224 | s >> 12, S[F++] = 128 | s >> 6 & 63, S[F++] = 128 | s & 63;
|
|
1180
|
+
} else {
|
|
1181
|
+
if (F + 3 >= V) break;
|
|
1182
|
+
S[F++] = 240 | s >> 18, S[F++] = 128 | s >> 12 & 63, S[F++] = 128 | s >> 6 & 63, S[F++] = 128 | s & 63;
|
|
1183
|
+
}
|
|
1184
|
+
}
|
|
1185
|
+
return S[F] = 0, F - w;
|
|
1186
|
+
}, dI = (l, S, F) => qA(l, JA, S, F), gC = (l, S, F, n) => {
|
|
1187
|
+
var w = (/* @__PURE__ */ new Date()).getFullYear(), V = new Date(w, 0, 1), Y = new Date(w, 6, 1), s = V.getTimezoneOffset(), O = Y.getTimezoneOffset(), aI = Math.max(s, O);
|
|
1188
|
+
_[l >> 2] = aI * 60, K[S >> 2] = +(s != O);
|
|
1189
|
+
var uI = (iI) => {
|
|
1190
|
+
var xI = iI >= 0 ? "-" : "+", nI = Math.abs(iI), FC = String(Math.floor(nI / 60)).padStart(2, "0"), DC = String(nI % 60).padStart(2, "0");
|
|
1191
|
+
return `UTC${xI}${FC}${DC}`;
|
|
1192
|
+
}, zI = uI(s), og = uI(O);
|
|
1193
|
+
O < s ? (dI(zI, F, 17), dI(og, n, 17)) : (dI(zI, n, 17), dI(og, F, 17));
|
|
1194
|
+
}, VA = () => Date.now(), SI = () => (
|
|
1195
|
+
// Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate
|
|
1196
|
+
// full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side
|
|
1197
|
+
// for any code that deals with heap sizes, which would require special
|
|
1198
|
+
// casing all heap size related code to treat 0 specially.
|
|
1199
|
+
2147483648
|
|
1200
|
+
), CC = () => SI(), eA = (l, S) => Math.ceil(l / S) * S, Zg = (l) => {
|
|
1201
|
+
var S = q.buffer, F = (l - S.byteLength + 65535) / 65536;
|
|
1202
|
+
try {
|
|
1203
|
+
return q.grow(F), CI(), 1;
|
|
1204
|
+
} catch {
|
|
1205
|
+
}
|
|
1206
|
+
}, ZI = (l) => {
|
|
1207
|
+
var S = JA.length;
|
|
1208
|
+
l >>>= 0;
|
|
1209
|
+
var F = SI();
|
|
1210
|
+
if (l > F)
|
|
1211
|
+
return !1;
|
|
1212
|
+
for (var n = 1; n <= 4; n *= 2) {
|
|
1213
|
+
var w = S + 4194304 / n, V = Math.min(F, eA(Math.max(l, w), 65536)), Y = Zg(V);
|
|
1214
|
+
if (Y)
|
|
1215
|
+
return !0;
|
|
1216
|
+
}
|
|
1217
|
+
return !1;
|
|
1218
|
+
}, BC = (l) => 52, NI = (l, S, F, n) => 52;
|
|
1219
|
+
function yI(l, S, F, n) {
|
|
1220
|
+
return 70;
|
|
1221
|
+
}
|
|
1222
|
+
var QC = [null, [], []], Ng = (l, S) => {
|
|
1223
|
+
var F = QC[l];
|
|
1224
|
+
S === 0 || S === 10 ? ((l === 1 ? SA : EA)(Ug(F, 0)), F.length = 0) : F.push(S);
|
|
1225
|
+
}, Wg = (l, S, F, n) => {
|
|
1226
|
+
for (var w = 0, V = 0; V < F; V++) {
|
|
1227
|
+
var Y = _[S >> 2], s = _[S + 4 >> 2];
|
|
1228
|
+
S += 8;
|
|
1229
|
+
for (var O = 0; O < s; O++)
|
|
1230
|
+
Ng(l, JA[Y + O]);
|
|
1231
|
+
w += s;
|
|
1232
|
+
}
|
|
1233
|
+
return _[n >> 2] = w, 0;
|
|
1234
|
+
}, KI, aA = (l) => KI.get(l), Fg = (l) => TI(l);
|
|
1235
|
+
Q.incrementExceptionRefcount = Fg;
|
|
1236
|
+
var WI = (l) => WA(l);
|
|
1237
|
+
Q.decrementExceptionRefcount = WI;
|
|
1238
|
+
var _A = (l) => $A(l), EC = (l) => {
|
|
1239
|
+
var S = $(), F = _A(4), n = _A(4);
|
|
1240
|
+
ag(l, F, n);
|
|
1241
|
+
var w = _[F >> 2], V = _[n >> 2], Y = dg(w);
|
|
1242
|
+
mA(w);
|
|
1243
|
+
var s;
|
|
1244
|
+
return V && (s = dg(V), mA(V)), gA(S), [Y, s];
|
|
1245
|
+
}, uA = (l) => EC(l);
|
|
1246
|
+
Q.getExceptionMessage = uA;
|
|
1247
|
+
var lC = {
|
|
1248
|
+
/** @export */
|
|
1249
|
+
b: Og,
|
|
1250
|
+
/** @export */
|
|
1251
|
+
A: fg,
|
|
1252
|
+
/** @export */
|
|
1253
|
+
a: UI,
|
|
1254
|
+
/** @export */
|
|
1255
|
+
B: bI,
|
|
1256
|
+
/** @export */
|
|
1257
|
+
q: r,
|
|
1258
|
+
/** @export */
|
|
1259
|
+
e: MI,
|
|
1260
|
+
/** @export */
|
|
1261
|
+
k: Pg,
|
|
1262
|
+
/** @export */
|
|
1263
|
+
F: qg,
|
|
1264
|
+
/** @export */
|
|
1265
|
+
l: _g,
|
|
1266
|
+
/** @export */
|
|
1267
|
+
H: LA,
|
|
1268
|
+
/** @export */
|
|
1269
|
+
z: HI,
|
|
1270
|
+
/** @export */
|
|
1271
|
+
m: fA,
|
|
1272
|
+
/** @export */
|
|
1273
|
+
x: b,
|
|
1274
|
+
/** @export */
|
|
1275
|
+
p: $g,
|
|
1276
|
+
/** @export */
|
|
1277
|
+
y: kI,
|
|
1278
|
+
/** @export */
|
|
1279
|
+
E: gC,
|
|
1280
|
+
/** @export */
|
|
1281
|
+
n: VA,
|
|
1282
|
+
/** @export */
|
|
1283
|
+
D: CC,
|
|
1284
|
+
/** @export */
|
|
1285
|
+
c: rA,
|
|
1286
|
+
/** @export */
|
|
1287
|
+
C: ZI,
|
|
1288
|
+
/** @export */
|
|
1289
|
+
J: j,
|
|
1290
|
+
/** @export */
|
|
1291
|
+
g: BC,
|
|
1292
|
+
/** @export */
|
|
1293
|
+
I: NI,
|
|
1294
|
+
/** @export */
|
|
1295
|
+
G: yI,
|
|
1296
|
+
/** @export */
|
|
1297
|
+
j: Wg,
|
|
1298
|
+
/** @export */
|
|
1299
|
+
u: XI,
|
|
1300
|
+
/** @export */
|
|
1301
|
+
i: SC,
|
|
1302
|
+
/** @export */
|
|
1303
|
+
d: UC,
|
|
1304
|
+
/** @export */
|
|
1305
|
+
t: DI,
|
|
1306
|
+
/** @export */
|
|
1307
|
+
h: LI,
|
|
1308
|
+
/** @export */
|
|
1309
|
+
r: NC,
|
|
1310
|
+
/** @export */
|
|
1311
|
+
v: dC,
|
|
1312
|
+
/** @export */
|
|
1313
|
+
f: ZC,
|
|
1314
|
+
/** @export */
|
|
1315
|
+
o: WC,
|
|
1316
|
+
/** @export */
|
|
1317
|
+
s: ig,
|
|
1318
|
+
/** @export */
|
|
1319
|
+
w: Sg
|
|
1320
|
+
}, y = jg();
|
|
1321
|
+
Q._new_memory = (l) => (Q._new_memory = y.L)(l), Q._free_memory = (l) => (Q._free_memory = y.M)(l), Q._get_return_n_packets = (l) => (Q._get_return_n_packets = y.N)(l), Q._get_return_packet_len = (l, S) => (Q._get_return_packet_len = y.O)(l, S), Q._get_return_packet = (l, S) => (Q._get_return_packet = y.P)(l, S), Q._clear_return_packets = () => (Q._clear_return_packets = y.Q)(), Q._process_event_data = (l, S, F, n) => (Q._process_event_data = y.R)(l, S, F, n), Q._process_event_data_ex = (l, S, F) => (Q._process_event_data_ex = y.S)(l, S, F);
|
|
1322
|
+
var FI = Q._main = (l, S) => (FI = Q._main = y.T)(l, S), mA = (l) => (mA = y.U)(l), kA = (l, S) => (kA = y.W)(l, S), AA = (l, S) => (AA = y.X)(l, S), YA = (l) => (YA = y.Y)(l), Dg = (l) => (Dg = y.Z)(l), $A = (l) => ($A = y._)(l), Jg = () => (Jg = y.$)(), WA = (l) => (WA = y.aa)(l), TI = (l) => (TI = y.ba)(l), ag = (l, S, F) => (ag = y.ca)(l, S, F), FA = (l, S, F) => (FA = y.da)(l, S, F);
|
|
1323
|
+
function UC(l, S, F, n) {
|
|
1324
|
+
var w = $();
|
|
1325
|
+
try {
|
|
1326
|
+
return aA(l)(S, F, n);
|
|
1327
|
+
} catch (V) {
|
|
1328
|
+
if (gA(w), V !== V + 0) throw V;
|
|
1329
|
+
AA(1, 0);
|
|
1330
|
+
}
|
|
1331
|
+
}
|
|
1332
|
+
function dC(l) {
|
|
1333
|
+
var S = $();
|
|
1334
|
+
try {
|
|
1335
|
+
aA(l)();
|
|
1336
|
+
} catch (F) {
|
|
1337
|
+
if (gA(S), F !== F + 0) throw F;
|
|
1338
|
+
AA(1, 0);
|
|
1339
|
+
}
|
|
1340
|
+
}
|
|
1341
|
+
function XI(l, S) {
|
|
1342
|
+
var F = $();
|
|
1343
|
+
try {
|
|
1344
|
+
return aA(l)(S);
|
|
1345
|
+
} catch (n) {
|
|
1346
|
+
if (gA(F), n !== n + 0) throw n;
|
|
1347
|
+
AA(1, 0);
|
|
1348
|
+
}
|
|
1349
|
+
}
|
|
1350
|
+
function SC(l, S, F) {
|
|
1351
|
+
var n = $();
|
|
1352
|
+
try {
|
|
1353
|
+
return aA(l)(S, F);
|
|
1354
|
+
} catch (w) {
|
|
1355
|
+
if (gA(n), w !== w + 0) throw w;
|
|
1356
|
+
AA(1, 0);
|
|
1357
|
+
}
|
|
1358
|
+
}
|
|
1359
|
+
function DI(l, S, F, n, w, V) {
|
|
1360
|
+
var Y = $();
|
|
1361
|
+
try {
|
|
1362
|
+
return aA(l)(S, F, n, w, V);
|
|
1363
|
+
} catch (s) {
|
|
1364
|
+
if (gA(Y), s !== s + 0) throw s;
|
|
1365
|
+
AA(1, 0);
|
|
1366
|
+
}
|
|
1367
|
+
}
|
|
1368
|
+
function LI(l, S, F) {
|
|
1369
|
+
var n = $();
|
|
1370
|
+
try {
|
|
1371
|
+
return aA(l)(S, F);
|
|
1372
|
+
} catch (w) {
|
|
1373
|
+
if (gA(n), w !== w + 0) throw w;
|
|
1374
|
+
AA(1, 0);
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1377
|
+
function ig(l, S) {
|
|
1378
|
+
var F = $();
|
|
1379
|
+
try {
|
|
1380
|
+
aA(l)(S);
|
|
1381
|
+
} catch (n) {
|
|
1382
|
+
if (gA(F), n !== n + 0) throw n;
|
|
1383
|
+
AA(1, 0);
|
|
1384
|
+
}
|
|
1385
|
+
}
|
|
1386
|
+
function ZC(l, S) {
|
|
1387
|
+
var F = $();
|
|
1388
|
+
try {
|
|
1389
|
+
aA(l)(S);
|
|
1390
|
+
} catch (n) {
|
|
1391
|
+
if (gA(F), n !== n + 0) throw n;
|
|
1392
|
+
AA(1, 0);
|
|
1393
|
+
}
|
|
1394
|
+
}
|
|
1395
|
+
function NC(l, S, F, n) {
|
|
1396
|
+
var w = $();
|
|
1397
|
+
try {
|
|
1398
|
+
return aA(l)(S, F, n);
|
|
1399
|
+
} catch (V) {
|
|
1400
|
+
if (gA(w), V !== V + 0) throw V;
|
|
1401
|
+
AA(1, 0);
|
|
1402
|
+
}
|
|
1403
|
+
}
|
|
1404
|
+
function WC(l, S, F) {
|
|
1405
|
+
var n = $();
|
|
1406
|
+
try {
|
|
1407
|
+
aA(l)(S, F);
|
|
1408
|
+
} catch (w) {
|
|
1409
|
+
if (gA(n), w !== w + 0) throw w;
|
|
1410
|
+
AA(1, 0);
|
|
1411
|
+
}
|
|
1412
|
+
}
|
|
1413
|
+
Q.stackSave = $, Q.stackRestore = gA;
|
|
1414
|
+
var JI;
|
|
1415
|
+
jA = function l() {
|
|
1416
|
+
JI || ng(), JI || (jA = l);
|
|
1417
|
+
};
|
|
1418
|
+
function rI() {
|
|
1419
|
+
var l = FI, S = 0, F = 0;
|
|
1420
|
+
try {
|
|
1421
|
+
var n = l(S, F);
|
|
1422
|
+
return mI(
|
|
1423
|
+
n,
|
|
1424
|
+
/* implicit = */
|
|
1425
|
+
!0
|
|
1426
|
+
), n;
|
|
1427
|
+
} catch (w) {
|
|
1428
|
+
return H(w);
|
|
1429
|
+
}
|
|
1430
|
+
}
|
|
1431
|
+
function ng() {
|
|
1432
|
+
if (HA > 0 || (Ig(), HA > 0))
|
|
1433
|
+
return;
|
|
1434
|
+
function l() {
|
|
1435
|
+
var S;
|
|
1436
|
+
JI || (JI = !0, Q.calledRun = !0, !L && (gg(), Tg(), G(Q), (S = Q.onRuntimeInitialized) == null || S.call(Q), Gg && rI(), Xg()));
|
|
1437
|
+
}
|
|
1438
|
+
Q.setStatus ? (Q.setStatus("Running..."), setTimeout(() => {
|
|
1439
|
+
setTimeout(() => Q.setStatus(""), 1), l();
|
|
1440
|
+
}, 1)) : l();
|
|
1441
|
+
}
|
|
1442
|
+
if (Q.preInit)
|
|
1443
|
+
for (typeof Q.preInit == "function" && (Q.preInit = [Q.preInit]); Q.preInit.length > 0; )
|
|
1444
|
+
Q.preInit.pop()();
|
|
1445
|
+
var Gg = !0;
|
|
1446
|
+
return Q.noInitialRun && (Gg = !1), ng(), D = R, D;
|
|
1447
|
+
};
|
|
1448
|
+
})();
|
|
1449
|
+
var Vl = (() => {
|
|
1450
|
+
var E, C = typeof document < "u" ? (E = document.currentScript) == null ? void 0 : E.src : void 0;
|
|
1451
|
+
return function(d = {}) {
|
|
1452
|
+
var D, Q = d, G, h, R = new Promise((A, I) => {
|
|
1453
|
+
G = A, h = I;
|
|
1454
|
+
}), k = Object.assign({}, Q), e = (A, I) => {
|
|
1455
|
+
throw I;
|
|
1456
|
+
}, M = "";
|
|
1457
|
+
function BA(A) {
|
|
1458
|
+
return Q.locateFile ? Q.locateFile(A, M) : M + A;
|
|
1459
|
+
}
|
|
1460
|
+
var v;
|
|
1461
|
+
typeof document < "u" && document.currentScript && (M = document.currentScript.src), C && (M = C), M.startsWith("blob:") ? M = "" : M = M.substr(0, M.replace(/[?#].*/, "").lastIndexOf("/") + 1), v = (A) => fetch(A, {
|
|
1462
|
+
credentials: "same-origin"
|
|
1463
|
+
}).then((I) => I.ok ? I.arrayBuffer() : Promise.reject(new Error(I.status + " : " + I.url)));
|
|
1464
|
+
var DA = Q.print || console.log.bind(console), QA = Q.printErr || console.error.bind(console);
|
|
1465
|
+
Object.assign(Q, k), k = null, Q.arguments && Q.arguments, Q.thisProgram && Q.thisProgram;
|
|
1466
|
+
var IA = Q.wasmBinary, SA, EA = !1, lA, q, L, wA, hA, JA, K, _, CI, cI, wI;
|
|
1467
|
+
function Ag() {
|
|
1468
|
+
var A = SA.buffer;
|
|
1469
|
+
Q.HEAP8 = q = new Int8Array(A), Q.HEAP16 = wA = new Int16Array(A), Q.HEAPU8 = L = new Uint8Array(A), Q.HEAPU16 = hA = new Uint16Array(A), Q.HEAP32 = JA = new Int32Array(A), Q.HEAPU32 = K = new Uint32Array(A), Q.HEAPF32 = _ = new Float32Array(A), Q.HEAPF64 = wI = new Float64Array(A), Q.HEAP64 = CI = new BigInt64Array(A), Q.HEAPU64 = cI = new BigUint64Array(A);
|
|
1470
|
+
}
|
|
1471
|
+
var hI = [], Ig = [], gg = [];
|
|
1472
|
+
function Tg() {
|
|
1473
|
+
if (Q.preRun)
|
|
1474
|
+
for (typeof Q.preRun == "function" && (Q.preRun = [Q.preRun]); Q.preRun.length; )
|
|
1475
|
+
rg(Q.preRun.shift());
|
|
1476
|
+
$(hI);
|
|
1477
|
+
}
|
|
1478
|
+
function Xg() {
|
|
1479
|
+
$(Ig);
|
|
1480
|
+
}
|
|
1481
|
+
function Lg() {
|
|
1482
|
+
if (Q.postRun)
|
|
1483
|
+
for (typeof Q.postRun == "function" && (Q.postRun = [Q.postRun]); Q.postRun.length; )
|
|
1484
|
+
jA(Q.postRun.shift());
|
|
1485
|
+
$(gg);
|
|
1486
|
+
}
|
|
1487
|
+
function rg(A) {
|
|
1488
|
+
hI.unshift(A);
|
|
1489
|
+
}
|
|
1490
|
+
function HA(A) {
|
|
1491
|
+
Ig.unshift(A);
|
|
1492
|
+
}
|
|
1493
|
+
function jA(A) {
|
|
1494
|
+
gg.unshift(A);
|
|
1495
|
+
}
|
|
1496
|
+
var pA = 0, vA = null;
|
|
1497
|
+
function YI(A) {
|
|
1498
|
+
var I;
|
|
1499
|
+
pA++, (I = Q.monitorRunDependencies) == null || I.call(Q, pA);
|
|
1500
|
+
}
|
|
1501
|
+
function ug(A) {
|
|
1502
|
+
var I;
|
|
1503
|
+
if (pA--, (I = Q.monitorRunDependencies) == null || I.call(Q, pA), pA == 0 && vA) {
|
|
1504
|
+
var g = vA;
|
|
1505
|
+
vA = null, g();
|
|
1506
|
+
}
|
|
1507
|
+
}
|
|
1508
|
+
function BI(A) {
|
|
1509
|
+
var I;
|
|
1510
|
+
(I = Q.onAbort) == null || I.call(Q, A), A = "Aborted(" + A + ")", QA(A), EA = !0, A += ". Build with -sASSERTIONS for more info.";
|
|
1511
|
+
var g = new WebAssembly.RuntimeError(A);
|
|
1512
|
+
throw h(g), g;
|
|
1513
|
+
}
|
|
1514
|
+
var zg = "data:application/octet-stream;base64,", OA = (A) => A.startsWith(zg);
|
|
1515
|
+
function Cg() {
|
|
1516
|
+
var A = "jlive_ux_web.wasm";
|
|
1517
|
+
return OA(A) ? A : BA(A);
|
|
1518
|
+
}
|
|
1519
|
+
var QI;
|
|
1520
|
+
function tI(A) {
|
|
1521
|
+
if (A == QI && IA)
|
|
1522
|
+
return new Uint8Array(IA);
|
|
1523
|
+
throw "both async and sync fetching of the wasm failed";
|
|
1524
|
+
}
|
|
1525
|
+
function xg(A) {
|
|
1526
|
+
return IA ? Promise.resolve().then(() => tI(A)) : v(A).then(
|
|
1527
|
+
(I) => new Uint8Array(
|
|
1528
|
+
/** @type{!ArrayBuffer} */
|
|
1529
|
+
I
|
|
1530
|
+
),
|
|
1531
|
+
// Fall back to getBinarySync if readAsync fails
|
|
1532
|
+
() => tI(A)
|
|
1533
|
+
);
|
|
1534
|
+
}
|
|
1535
|
+
function Bg(A, I, g) {
|
|
1536
|
+
return xg(A).then((B) => WebAssembly.instantiate(B, I)).then(g, (B) => {
|
|
1537
|
+
QA(`failed to asynchronously prepare wasm: ${B}`), BI(B);
|
|
1538
|
+
});
|
|
1539
|
+
}
|
|
1540
|
+
function jg(A, I, g, B) {
|
|
1541
|
+
return !A && typeof WebAssembly.instantiateStreaming == "function" && !OA(I) && typeof fetch == "function" ? fetch(I, {
|
|
1542
|
+
credentials: "same-origin"
|
|
1543
|
+
}).then((U) => {
|
|
1544
|
+
var Z = WebAssembly.instantiateStreaming(U, g);
|
|
1545
|
+
return Z.then(B, function(N) {
|
|
1546
|
+
return QA(`wasm streaming compile failed: ${N}`), QA("falling back to ArrayBuffer instantiation"), Bg(I, g, B);
|
|
1547
|
+
});
|
|
1548
|
+
}) : Bg(I, g, B);
|
|
1549
|
+
}
|
|
1550
|
+
function Qg() {
|
|
1551
|
+
return {
|
|
1552
|
+
a: cE
|
|
1553
|
+
};
|
|
1554
|
+
}
|
|
1555
|
+
function EI() {
|
|
1556
|
+
var A = Qg();
|
|
1557
|
+
function I(B, U) {
|
|
1558
|
+
return f = B.exports, SA = f.Aa, Ag(), w = f.Fa, HA(f.Ba), ug(), f;
|
|
1559
|
+
}
|
|
1560
|
+
YI();
|
|
1561
|
+
function g(B) {
|
|
1562
|
+
I(B.instance);
|
|
1563
|
+
}
|
|
1564
|
+
if (Q.instantiateWasm)
|
|
1565
|
+
try {
|
|
1566
|
+
return Q.instantiateWasm(A, I);
|
|
1567
|
+
} catch (B) {
|
|
1568
|
+
QA(`Module.instantiateWasm callback failed with error: ${B}`), h(B);
|
|
1569
|
+
}
|
|
1570
|
+
return QI ?? (QI = Cg()), jg(IA, QI, A, g).catch(h), {};
|
|
1571
|
+
}
|
|
1572
|
+
var Eg = {
|
|
1573
|
+
24388: (A) => {
|
|
1574
|
+
throw new WebAssembly.RuntimeError(vC(A));
|
|
1575
|
+
}
|
|
1576
|
+
};
|
|
1577
|
+
function gA(A) {
|
|
1578
|
+
this.name = "ExitStatus", this.message = `Program terminated with exit(${A})`, this.status = A;
|
|
1579
|
+
}
|
|
1580
|
+
var $ = (A) => {
|
|
1581
|
+
for (; A.length > 0; )
|
|
1582
|
+
A.shift()(Q);
|
|
1583
|
+
}, GA = Q.noExitRuntime || !0, X = (A) => dB(A), r = () => SB(), ZA = [], vg = (A) => {
|
|
1584
|
+
var I = new lI(A);
|
|
1585
|
+
return I.get_caught() || I.set_caught(!0), I.set_rethrown(!1), ZA.push(I), GC(A), WB(A);
|
|
1586
|
+
}, Og = () => {
|
|
1587
|
+
if (!ZA.length)
|
|
1588
|
+
return 0;
|
|
1589
|
+
var A = ZA[ZA.length - 1];
|
|
1590
|
+
return GC(A.excPtr), A.excPtr;
|
|
1591
|
+
}, NA = 0, sI = () => {
|
|
1592
|
+
u(0, 0);
|
|
1593
|
+
var A = ZA.pop();
|
|
1594
|
+
ZB(A.excPtr), NA = 0;
|
|
1595
|
+
};
|
|
1596
|
+
class lI {
|
|
1597
|
+
// excPtr - Thrown object pointer to wrap. Metadata pointer is calculated from it.
|
|
1598
|
+
constructor(I) {
|
|
1599
|
+
this.excPtr = I, this.ptr = I - 24;
|
|
1600
|
+
}
|
|
1601
|
+
set_type(I) {
|
|
1602
|
+
K[this.ptr + 4 >> 2] = I;
|
|
1603
|
+
}
|
|
1604
|
+
get_type() {
|
|
1605
|
+
return K[this.ptr + 4 >> 2];
|
|
1606
|
+
}
|
|
1607
|
+
set_destructor(I) {
|
|
1608
|
+
K[this.ptr + 8 >> 2] = I;
|
|
1609
|
+
}
|
|
1610
|
+
get_destructor() {
|
|
1611
|
+
return K[this.ptr + 8 >> 2];
|
|
1612
|
+
}
|
|
1613
|
+
set_caught(I) {
|
|
1614
|
+
I = I ? 1 : 0, q[this.ptr + 12] = I;
|
|
1615
|
+
}
|
|
1616
|
+
get_caught() {
|
|
1617
|
+
return q[this.ptr + 12] != 0;
|
|
1618
|
+
}
|
|
1619
|
+
set_rethrown(I) {
|
|
1620
|
+
I = I ? 1 : 0, q[this.ptr + 13] = I;
|
|
1621
|
+
}
|
|
1622
|
+
get_rethrown() {
|
|
1623
|
+
return q[this.ptr + 13] != 0;
|
|
1624
|
+
}
|
|
1625
|
+
// Initialize native structure fields. Should be called once after allocated.
|
|
1626
|
+
init(I, g) {
|
|
1627
|
+
this.set_adjusted_ptr(0), this.set_type(I), this.set_destructor(g);
|
|
1628
|
+
}
|
|
1629
|
+
set_adjusted_ptr(I) {
|
|
1630
|
+
K[this.ptr + 16 >> 2] = I;
|
|
1631
|
+
}
|
|
1632
|
+
get_adjusted_ptr() {
|
|
1633
|
+
return K[this.ptr + 16 >> 2];
|
|
1634
|
+
}
|
|
1635
|
+
}
|
|
1636
|
+
var fg = (A) => {
|
|
1637
|
+
throw NA || (NA = A), NA;
|
|
1638
|
+
}, UI = (A) => UB(A), bI = (A) => {
|
|
1639
|
+
var I = NA;
|
|
1640
|
+
if (!I)
|
|
1641
|
+
return UI(0), 0;
|
|
1642
|
+
var g = new lI(I);
|
|
1643
|
+
g.set_adjusted_ptr(I);
|
|
1644
|
+
var B = g.get_type();
|
|
1645
|
+
if (!B)
|
|
1646
|
+
return UI(0), I;
|
|
1647
|
+
for (var U of A) {
|
|
1648
|
+
if (U === 0 || U === B)
|
|
1649
|
+
break;
|
|
1650
|
+
var Z = g.ptr + 16;
|
|
1651
|
+
if (NB(U, B, Z))
|
|
1652
|
+
return UI(U), I;
|
|
1653
|
+
}
|
|
1654
|
+
return UI(B), I;
|
|
1655
|
+
}, lg = () => bI([]), Ug = (A) => bI([A]), dg = (A, I, g, B) => bI([A, I, g, B]), MI = () => {
|
|
1656
|
+
var A = ZA.pop();
|
|
1657
|
+
A || BI("no exception to throw");
|
|
1658
|
+
var I = A.excPtr;
|
|
1659
|
+
throw A.get_rethrown() || (ZA.push(A), A.set_rethrown(!0), A.set_caught(!1)), NA = I, NA;
|
|
1660
|
+
}, Pg = (A) => {
|
|
1661
|
+
if (A) {
|
|
1662
|
+
var I = new lI(A);
|
|
1663
|
+
ZA.push(I), I.set_rethrown(!0), MI();
|
|
1664
|
+
}
|
|
1665
|
+
}, qg = (A, I, g) => {
|
|
1666
|
+
var B = new lI(A);
|
|
1667
|
+
throw B.init(I, g), NA = A, NA;
|
|
1668
|
+
}, _g = () => {
|
|
1669
|
+
BI("");
|
|
1670
|
+
}, LA = (A, I) => Object.defineProperty(I, "name", {
|
|
1671
|
+
value: A
|
|
1672
|
+
}), HI = [], oA = [], fA, b = (A) => {
|
|
1673
|
+
throw new fA(A);
|
|
1674
|
+
}, $g = () => oA.length / 2 - 5 - HI.length, PA = () => {
|
|
1675
|
+
oA.push(0, 1, void 0, 1, null, 1, !0, 1, !1, 1), Q.count_emval_handles = $g;
|
|
1676
|
+
}, H = {
|
|
1677
|
+
toValue: (A) => (A || b("Cannot use deleted val. handle = " + A), oA[A]),
|
|
1678
|
+
toHandle: (A) => {
|
|
1679
|
+
switch (A) {
|
|
1680
|
+
case void 0:
|
|
1681
|
+
return 2;
|
|
1682
|
+
case null:
|
|
1683
|
+
return 4;
|
|
1684
|
+
case !0:
|
|
1685
|
+
return 6;
|
|
1686
|
+
case !1:
|
|
1687
|
+
return 8;
|
|
1688
|
+
default: {
|
|
1689
|
+
const I = HI.pop() || oA.length;
|
|
1690
|
+
return oA[I] = A, oA[I + 1] = 1, I;
|
|
1691
|
+
}
|
|
1692
|
+
}
|
|
1693
|
+
}
|
|
1694
|
+
}, pI = (A, I) => {
|
|
1695
|
+
var g = LA(I, function(B) {
|
|
1696
|
+
this.name = I, this.message = B;
|
|
1697
|
+
var U = new Error(B).stack;
|
|
1698
|
+
U !== void 0 && (this.stack = this.toString() + `
|
|
1699
|
+
` + U.replace(/^Error(:[^\n]*)?\n/, ""));
|
|
1700
|
+
});
|
|
1701
|
+
return g.prototype = Object.create(A.prototype), g.prototype.constructor = g, g.prototype.toString = function() {
|
|
1702
|
+
return this.message === void 0 ? this.name : `${this.name}: ${this.message}`;
|
|
1703
|
+
}, g;
|
|
1704
|
+
}, eI, Sg = () => {
|
|
1705
|
+
for (var A = new Array(256), I = 0; I < 256; ++I)
|
|
1706
|
+
A[I] = String.fromCharCode(I);
|
|
1707
|
+
mI = A;
|
|
1708
|
+
}, mI, j = (A) => {
|
|
1709
|
+
for (var I = "", g = A; L[g]; )
|
|
1710
|
+
I += mI[L[g++]];
|
|
1711
|
+
return I;
|
|
1712
|
+
}, AC = () => Object.keys(VA).length, IC = () => {
|
|
1713
|
+
var A = [];
|
|
1714
|
+
for (var I in VA)
|
|
1715
|
+
VA.hasOwnProperty(I) && A.push(VA[I]);
|
|
1716
|
+
return A;
|
|
1717
|
+
}, rA = [], kI = () => {
|
|
1718
|
+
for (; rA.length; ) {
|
|
1719
|
+
var A = rA.pop();
|
|
1720
|
+
A.$$.deleteScheduled = !1, A.delete();
|
|
1721
|
+
}
|
|
1722
|
+
}, qA, dI = (A) => {
|
|
1723
|
+
qA = A, rA.length && qA && qA(kI);
|
|
1724
|
+
}, gC = () => {
|
|
1725
|
+
Q.getInheritedInstanceCount = AC, Q.getLiveInheritedInstances = IC, Q.flushPendingDeletes = kI, Q.setDelayFunction = dI;
|
|
1726
|
+
}, VA = {}, SI = (A, I) => {
|
|
1727
|
+
for (I === void 0 && b("ptr should not be undefined"); A.baseClass; )
|
|
1728
|
+
I = A.upcast(I), A = A.baseClass;
|
|
1729
|
+
return I;
|
|
1730
|
+
}, CC = (A, I, g) => {
|
|
1731
|
+
I = SI(A, I), VA.hasOwnProperty(I) ? b(`Tried to register registered instance: ${I}`) : VA[I] = g;
|
|
1732
|
+
}, eA = {}, Zg = (A) => {
|
|
1733
|
+
var I = EB(A), g = j(I);
|
|
1734
|
+
return yA(I), g;
|
|
1735
|
+
}, ZI = (A, I) => {
|
|
1736
|
+
var g = eA[A];
|
|
1737
|
+
return g === void 0 && b(`${I} has unknown type ${Zg(A)}`), g;
|
|
1738
|
+
}, BC = (A, I) => {
|
|
1739
|
+
I = SI(A, I), VA.hasOwnProperty(I) ? delete VA[I] : b(`Tried to unregister unregistered instance: ${I}`);
|
|
1740
|
+
}, NI = (A) => {
|
|
1741
|
+
}, yI = !1, QC = (A) => {
|
|
1742
|
+
A.smartPtr ? A.smartPtrType.rawDestructor(A.smartPtr) : A.ptrType.registeredClass.rawDestructor(A.ptr);
|
|
1743
|
+
}, Ng = (A) => {
|
|
1744
|
+
A.count.value -= 1;
|
|
1745
|
+
var I = A.count.value === 0;
|
|
1746
|
+
I && QC(A);
|
|
1747
|
+
}, Wg = (A, I, g) => {
|
|
1748
|
+
if (I === g)
|
|
1749
|
+
return A;
|
|
1750
|
+
if (g.baseClass === void 0)
|
|
1751
|
+
return null;
|
|
1752
|
+
var B = Wg(A, I, g.baseClass);
|
|
1753
|
+
return B === null ? null : g.downcast(B);
|
|
1754
|
+
}, KI = {}, aA = (A, I) => (I = SI(A, I), VA[I]), Fg, WI = (A) => {
|
|
1755
|
+
throw new Fg(A);
|
|
1756
|
+
}, _A = (A, I) => {
|
|
1757
|
+
(!I.ptrType || !I.ptr) && WI("makeClassHandle requires ptr and ptrType");
|
|
1758
|
+
var g = !!I.smartPtrType, B = !!I.smartPtr;
|
|
1759
|
+
return g !== B && WI("Both smartPtrType and smartPtr must be specified"), I.count = {
|
|
1760
|
+
value: 1
|
|
1761
|
+
}, uA(Object.create(A, {
|
|
1762
|
+
$$: {
|
|
1763
|
+
value: I,
|
|
1764
|
+
writable: !0
|
|
1765
|
+
}
|
|
1766
|
+
}));
|
|
1767
|
+
};
|
|
1768
|
+
function EC(A) {
|
|
1769
|
+
var I = this.getPointee(A);
|
|
1770
|
+
if (!I)
|
|
1771
|
+
return this.destructor(A), null;
|
|
1772
|
+
var g = aA(this.registeredClass, I);
|
|
1773
|
+
if (g !== void 0) {
|
|
1774
|
+
if (g.$$.count.value === 0)
|
|
1775
|
+
return g.$$.ptr = I, g.$$.smartPtr = A, g.clone();
|
|
1776
|
+
var B = g.clone();
|
|
1777
|
+
return this.destructor(A), B;
|
|
1778
|
+
}
|
|
1779
|
+
function U() {
|
|
1780
|
+
return this.isSmartPointer ? _A(this.registeredClass.instancePrototype, {
|
|
1781
|
+
ptrType: this.pointeeType,
|
|
1782
|
+
ptr: I,
|
|
1783
|
+
smartPtrType: this,
|
|
1784
|
+
smartPtr: A
|
|
1785
|
+
}) : _A(this.registeredClass.instancePrototype, {
|
|
1786
|
+
ptrType: this,
|
|
1787
|
+
ptr: A
|
|
1788
|
+
});
|
|
1789
|
+
}
|
|
1790
|
+
var Z = this.registeredClass.getActualType(I), N = KI[Z];
|
|
1791
|
+
if (!N)
|
|
1792
|
+
return U.call(this);
|
|
1793
|
+
var W;
|
|
1794
|
+
this.isConst ? W = N.constPointerType : W = N.pointerType;
|
|
1795
|
+
var J = Wg(I, this.registeredClass, W.registeredClass);
|
|
1796
|
+
return J === null ? U.call(this) : this.isSmartPointer ? _A(W.registeredClass.instancePrototype, {
|
|
1797
|
+
ptrType: W,
|
|
1798
|
+
ptr: J,
|
|
1799
|
+
smartPtrType: this,
|
|
1800
|
+
smartPtr: A
|
|
1801
|
+
}) : _A(W.registeredClass.instancePrototype, {
|
|
1802
|
+
ptrType: W,
|
|
1803
|
+
ptr: J
|
|
1804
|
+
});
|
|
1805
|
+
}
|
|
1806
|
+
var uA = (A) => typeof FinalizationRegistry > "u" ? (uA = (I) => I, A) : (yI = new FinalizationRegistry((I) => {
|
|
1807
|
+
Ng(I.$$);
|
|
1808
|
+
}), uA = (I) => {
|
|
1809
|
+
var g = I.$$, B = !!g.smartPtr;
|
|
1810
|
+
if (B) {
|
|
1811
|
+
var U = {
|
|
1812
|
+
$$: g
|
|
1813
|
+
};
|
|
1814
|
+
yI.register(I, U, I);
|
|
1815
|
+
}
|
|
1816
|
+
return I;
|
|
1817
|
+
}, NI = (I) => yI.unregister(I), uA(A)), lC = (A, I, g) => {
|
|
1818
|
+
A = j(A), I = ZI(I, "wrapper"), g = H.toValue(g);
|
|
1819
|
+
var B = I.registeredClass, U = B.instancePrototype, Z = B.baseClass, N = Z.instancePrototype, W = B.baseClass.constructor, J = LA(A, function(...i) {
|
|
1820
|
+
B.baseClass.pureVirtualFunctions.forEach((function(a) {
|
|
1821
|
+
if (this[a] === N[a])
|
|
1822
|
+
throw new eI(`Pure virtual function ${a} must be implemented in JavaScript`);
|
|
1823
|
+
}).bind(this)), Object.defineProperty(this, "__parent", {
|
|
1824
|
+
value: U
|
|
1825
|
+
}), this.__construct(...i);
|
|
1826
|
+
});
|
|
1827
|
+
return U.__construct = function(...i) {
|
|
1828
|
+
this === U && b("Pass correct 'this' to __construct");
|
|
1829
|
+
var a = W.implement(this, ...i);
|
|
1830
|
+
NI(a);
|
|
1831
|
+
var c = a.$$;
|
|
1832
|
+
a.notifyOnDestruction(), c.preservePointerOnDelete = !0, Object.defineProperties(this, {
|
|
1833
|
+
$$: {
|
|
1834
|
+
value: c
|
|
1835
|
+
}
|
|
1836
|
+
}), uA(this), CC(B, c.ptr, this);
|
|
1837
|
+
}, U.__destruct = function() {
|
|
1838
|
+
this === U && b("Pass correct 'this' to __destruct"), NI(this), BC(B, this.$$.ptr);
|
|
1839
|
+
}, J.prototype = Object.create(U), Object.assign(J.prototype, g), H.toHandle(J);
|
|
1840
|
+
}, y = {}, FI = (A) => {
|
|
1841
|
+
for (; A.length; ) {
|
|
1842
|
+
var I = A.pop(), g = A.pop();
|
|
1843
|
+
g(I);
|
|
1844
|
+
}
|
|
1845
|
+
};
|
|
1846
|
+
function mA(A) {
|
|
1847
|
+
return this.fromWireType(K[A >> 2]);
|
|
1848
|
+
}
|
|
1849
|
+
var kA = {}, AA = {}, YA = (A, I, g) => {
|
|
1850
|
+
A.forEach((W) => AA[W] = I);
|
|
1851
|
+
function B(W) {
|
|
1852
|
+
var J = g(W);
|
|
1853
|
+
J.length !== A.length && WI("Mismatched type converter count");
|
|
1854
|
+
for (var i = 0; i < A.length; ++i)
|
|
1855
|
+
WA(A[i], J[i]);
|
|
1856
|
+
}
|
|
1857
|
+
var U = new Array(I.length), Z = [], N = 0;
|
|
1858
|
+
I.forEach((W, J) => {
|
|
1859
|
+
eA.hasOwnProperty(W) ? U[J] = eA[W] : (Z.push(W), kA.hasOwnProperty(W) || (kA[W] = []), kA[W].push(() => {
|
|
1860
|
+
U[J] = eA[W], ++N, N === Z.length && B(U);
|
|
1861
|
+
}));
|
|
1862
|
+
}), Z.length === 0 && B(U);
|
|
1863
|
+
}, Dg = (A) => {
|
|
1864
|
+
var I = y[A];
|
|
1865
|
+
delete y[A];
|
|
1866
|
+
var g = I.rawConstructor, B = I.rawDestructor, U = I.fields, Z = U.map((N) => N.getterReturnType).concat(U.map((N) => N.setterArgumentType));
|
|
1867
|
+
YA([A], Z, (N) => {
|
|
1868
|
+
var W = {};
|
|
1869
|
+
return U.forEach((J, i) => {
|
|
1870
|
+
var a = J.fieldName, c = N[i], p = J.getter, z = J.getterContext, x = N[i + U.length], RA = J.setter, iA = J.setterContext;
|
|
1871
|
+
W[a] = {
|
|
1872
|
+
read: (UA) => c.fromWireType(p(z, UA)),
|
|
1873
|
+
write: (UA, oI) => {
|
|
1874
|
+
var VI = [];
|
|
1875
|
+
RA(iA, UA, x.toWireType(VI, oI)), FI(VI);
|
|
1876
|
+
}
|
|
1877
|
+
};
|
|
1878
|
+
}), [{
|
|
1879
|
+
name: I.name,
|
|
1880
|
+
fromWireType: (J) => {
|
|
1881
|
+
var i = {};
|
|
1882
|
+
for (var a in W)
|
|
1883
|
+
i[a] = W[a].read(J);
|
|
1884
|
+
return B(J), i;
|
|
1885
|
+
},
|
|
1886
|
+
toWireType: (J, i) => {
|
|
1887
|
+
for (var a in W)
|
|
1888
|
+
if (!(a in i))
|
|
1889
|
+
throw new TypeError(`Missing field: "${a}"`);
|
|
1890
|
+
var c = g();
|
|
1891
|
+
for (a in W)
|
|
1892
|
+
W[a].write(c, i[a]);
|
|
1893
|
+
return J !== null && J.push(B, c), c;
|
|
1894
|
+
},
|
|
1895
|
+
argPackAdvance: FA,
|
|
1896
|
+
readValueFromPointer: mA,
|
|
1897
|
+
destructorFunction: B
|
|
1898
|
+
}];
|
|
1899
|
+
});
|
|
1900
|
+
}, $A = (A) => {
|
|
1901
|
+
if (A === null)
|
|
1902
|
+
return "null";
|
|
1903
|
+
var I = typeof A;
|
|
1904
|
+
return I === "object" || I === "array" || I === "function" ? A.toString() : "" + A;
|
|
1905
|
+
};
|
|
1906
|
+
function Jg(A, I, g = {}) {
|
|
1907
|
+
var B = I.name;
|
|
1908
|
+
if (A || b(`type "${B}" must have a positive integer typeid pointer`), eA.hasOwnProperty(A)) {
|
|
1909
|
+
if (g.ignoreDuplicateRegistrations)
|
|
1910
|
+
return;
|
|
1911
|
+
b(`Cannot register type '${B}' twice`);
|
|
1912
|
+
}
|
|
1913
|
+
if (eA[A] = I, delete AA[A], kA.hasOwnProperty(A)) {
|
|
1914
|
+
var U = kA[A];
|
|
1915
|
+
delete kA[A], U.forEach((Z) => Z());
|
|
1916
|
+
}
|
|
1917
|
+
}
|
|
1918
|
+
function WA(A, I, g = {}) {
|
|
1919
|
+
return Jg(A, I, g);
|
|
1920
|
+
}
|
|
1921
|
+
var TI = (A, I, g) => {
|
|
1922
|
+
switch (I) {
|
|
1923
|
+
case 1:
|
|
1924
|
+
return g ? (B) => q[B] : (B) => L[B];
|
|
1925
|
+
case 2:
|
|
1926
|
+
return g ? (B) => wA[B >> 1] : (B) => hA[B >> 1];
|
|
1927
|
+
case 4:
|
|
1928
|
+
return g ? (B) => JA[B >> 2] : (B) => K[B >> 2];
|
|
1929
|
+
case 8:
|
|
1930
|
+
return g ? (B) => CI[B >> 3] : (B) => cI[B >> 3];
|
|
1931
|
+
default:
|
|
1932
|
+
throw new TypeError(`invalid integer width (${I}): ${A}`);
|
|
1933
|
+
}
|
|
1934
|
+
}, ag = (A, I, g, B, U) => {
|
|
1935
|
+
I = j(I);
|
|
1936
|
+
var Z = I.indexOf("u") != -1;
|
|
1937
|
+
WA(A, {
|
|
1938
|
+
name: I,
|
|
1939
|
+
fromWireType: (N) => N,
|
|
1940
|
+
toWireType: function(N, W) {
|
|
1941
|
+
if (typeof W != "bigint" && typeof W != "number")
|
|
1942
|
+
throw new TypeError(`Cannot convert "${$A(W)}" to ${this.name}`);
|
|
1943
|
+
return typeof W == "number" && (W = BigInt(W)), W;
|
|
1944
|
+
},
|
|
1945
|
+
argPackAdvance: FA,
|
|
1946
|
+
readValueFromPointer: TI(I, g, !Z),
|
|
1947
|
+
destructorFunction: null
|
|
1948
|
+
});
|
|
1949
|
+
}, FA = 8, UC = (A, I, g, B) => {
|
|
1950
|
+
I = j(I), WA(A, {
|
|
1951
|
+
name: I,
|
|
1952
|
+
fromWireType: function(U) {
|
|
1953
|
+
return !!U;
|
|
1954
|
+
},
|
|
1955
|
+
toWireType: function(U, Z) {
|
|
1956
|
+
return Z ? g : B;
|
|
1957
|
+
},
|
|
1958
|
+
argPackAdvance: FA,
|
|
1959
|
+
readValueFromPointer: function(U) {
|
|
1960
|
+
return this.fromWireType(L[U]);
|
|
1961
|
+
},
|
|
1962
|
+
destructorFunction: null
|
|
1963
|
+
});
|
|
1964
|
+
}, dC = (A) => ({
|
|
1965
|
+
count: A.count,
|
|
1966
|
+
deleteScheduled: A.deleteScheduled,
|
|
1967
|
+
preservePointerOnDelete: A.preservePointerOnDelete,
|
|
1968
|
+
ptr: A.ptr,
|
|
1969
|
+
ptrType: A.ptrType,
|
|
1970
|
+
smartPtr: A.smartPtr,
|
|
1971
|
+
smartPtrType: A.smartPtrType
|
|
1972
|
+
}), XI = (A) => {
|
|
1973
|
+
function I(g) {
|
|
1974
|
+
return g.$$.ptrType.registeredClass.name;
|
|
1975
|
+
}
|
|
1976
|
+
b(I(A) + " instance already deleted");
|
|
1977
|
+
}, SC = () => {
|
|
1978
|
+
Object.assign(DI.prototype, {
|
|
1979
|
+
isAliasOf(A) {
|
|
1980
|
+
if (!(this instanceof DI) || !(A instanceof DI))
|
|
1981
|
+
return !1;
|
|
1982
|
+
var I = this.$$.ptrType.registeredClass, g = this.$$.ptr;
|
|
1983
|
+
A.$$ = /** @type {Object} */
|
|
1984
|
+
A.$$;
|
|
1985
|
+
for (var B = A.$$.ptrType.registeredClass, U = A.$$.ptr; I.baseClass; )
|
|
1986
|
+
g = I.upcast(g), I = I.baseClass;
|
|
1987
|
+
for (; B.baseClass; )
|
|
1988
|
+
U = B.upcast(U), B = B.baseClass;
|
|
1989
|
+
return I === B && g === U;
|
|
1990
|
+
},
|
|
1991
|
+
clone() {
|
|
1992
|
+
if (this.$$.ptr || XI(this), this.$$.preservePointerOnDelete)
|
|
1993
|
+
return this.$$.count.value += 1, this;
|
|
1994
|
+
var A = uA(Object.create(Object.getPrototypeOf(this), {
|
|
1995
|
+
$$: {
|
|
1996
|
+
value: dC(this.$$)
|
|
1997
|
+
}
|
|
1998
|
+
}));
|
|
1999
|
+
return A.$$.count.value += 1, A.$$.deleteScheduled = !1, A;
|
|
2000
|
+
},
|
|
2001
|
+
delete() {
|
|
2002
|
+
this.$$.ptr || XI(this), this.$$.deleteScheduled && !this.$$.preservePointerOnDelete && b("Object already scheduled for deletion"), NI(this), Ng(this.$$), this.$$.preservePointerOnDelete || (this.$$.smartPtr = void 0, this.$$.ptr = void 0);
|
|
2003
|
+
},
|
|
2004
|
+
isDeleted() {
|
|
2005
|
+
return !this.$$.ptr;
|
|
2006
|
+
},
|
|
2007
|
+
deleteLater() {
|
|
2008
|
+
return this.$$.ptr || XI(this), this.$$.deleteScheduled && !this.$$.preservePointerOnDelete && b("Object already scheduled for deletion"), rA.push(this), rA.length === 1 && qA && qA(kI), this.$$.deleteScheduled = !0, this;
|
|
2009
|
+
}
|
|
2010
|
+
});
|
|
2011
|
+
};
|
|
2012
|
+
function DI() {
|
|
2013
|
+
}
|
|
2014
|
+
var LI = (A, I, g) => {
|
|
2015
|
+
if (A[I].overloadTable === void 0) {
|
|
2016
|
+
var B = A[I];
|
|
2017
|
+
A[I] = function(...U) {
|
|
2018
|
+
return A[I].overloadTable.hasOwnProperty(U.length) || b(`Function '${g}' called with an invalid number of arguments (${U.length}) - expects one of (${A[I].overloadTable})!`), A[I].overloadTable[U.length].apply(this, U);
|
|
2019
|
+
}, A[I].overloadTable = [], A[I].overloadTable[B.argCount] = B;
|
|
2020
|
+
}
|
|
2021
|
+
}, ig = (A, I, g) => {
|
|
2022
|
+
Q.hasOwnProperty(A) ? ((g === void 0 || Q[A].overloadTable !== void 0 && Q[A].overloadTable[g] !== void 0) && b(`Cannot register public name '${A}' twice`), LI(Q, A, A), Q.hasOwnProperty(g) && b(`Cannot register multiple overloads of a function with the same number of arguments (${g})!`), Q[A].overloadTable[g] = I) : (Q[A] = I, g !== void 0 && (Q[A].numArguments = g));
|
|
2023
|
+
}, ZC = 48, NC = 57, WC = (A) => {
|
|
2024
|
+
if (A === void 0)
|
|
2025
|
+
return "_unknown";
|
|
2026
|
+
A = A.replace(/[^a-zA-Z0-9_]/g, "$");
|
|
2027
|
+
var I = A.charCodeAt(0);
|
|
2028
|
+
return I >= ZC && I <= NC ? `_${A}` : A;
|
|
2029
|
+
};
|
|
2030
|
+
function JI(A, I, g, B, U, Z, N, W) {
|
|
2031
|
+
this.name = A, this.constructor = I, this.instancePrototype = g, this.rawDestructor = B, this.baseClass = U, this.getActualType = Z, this.upcast = N, this.downcast = W, this.pureVirtualFunctions = [];
|
|
2032
|
+
}
|
|
2033
|
+
var rI = (A, I, g) => {
|
|
2034
|
+
for (; I !== g; )
|
|
2035
|
+
I.upcast || b(`Expected null or instance of ${g.name}, got an instance of ${I.name}`), A = I.upcast(A), I = I.baseClass;
|
|
2036
|
+
return A;
|
|
2037
|
+
};
|
|
2038
|
+
function ng(A, I) {
|
|
2039
|
+
if (I === null)
|
|
2040
|
+
return this.isReference && b(`null is not a valid ${this.name}`), 0;
|
|
2041
|
+
I.$$ || b(`Cannot pass "${$A(I)}" as a ${this.name}`), I.$$.ptr || b(`Cannot pass deleted object as a pointer of type ${this.name}`);
|
|
2042
|
+
var g = I.$$.ptrType.registeredClass, B = rI(I.$$.ptr, g, this.registeredClass);
|
|
2043
|
+
return B;
|
|
2044
|
+
}
|
|
2045
|
+
function Gg(A, I) {
|
|
2046
|
+
var g;
|
|
2047
|
+
if (I === null)
|
|
2048
|
+
return this.isReference && b(`null is not a valid ${this.name}`), this.isSmartPointer ? (g = this.rawConstructor(), A !== null && A.push(this.rawDestructor, g), g) : 0;
|
|
2049
|
+
(!I || !I.$$) && b(`Cannot pass "${$A(I)}" as a ${this.name}`), I.$$.ptr || b(`Cannot pass deleted object as a pointer of type ${this.name}`), !this.isConst && I.$$.ptrType.isConst && b(`Cannot convert argument of type ${I.$$.smartPtrType ? I.$$.smartPtrType.name : I.$$.ptrType.name} to parameter type ${this.name}`);
|
|
2050
|
+
var B = I.$$.ptrType.registeredClass;
|
|
2051
|
+
if (g = rI(I.$$.ptr, B, this.registeredClass), this.isSmartPointer)
|
|
2052
|
+
switch (I.$$.smartPtr === void 0 && b("Passing raw pointer to smart pointer is illegal"), this.sharingPolicy) {
|
|
2053
|
+
case 0:
|
|
2054
|
+
I.$$.smartPtrType === this ? g = I.$$.smartPtr : b(`Cannot convert argument of type ${I.$$.smartPtrType ? I.$$.smartPtrType.name : I.$$.ptrType.name} to parameter type ${this.name}`);
|
|
2055
|
+
break;
|
|
2056
|
+
case 1:
|
|
2057
|
+
g = I.$$.smartPtr;
|
|
2058
|
+
break;
|
|
2059
|
+
case 2:
|
|
2060
|
+
if (I.$$.smartPtrType === this)
|
|
2061
|
+
g = I.$$.smartPtr;
|
|
2062
|
+
else {
|
|
2063
|
+
var U = I.clone();
|
|
2064
|
+
g = this.rawShare(g, H.toHandle(() => U.delete())), A !== null && A.push(this.rawDestructor, g);
|
|
2065
|
+
}
|
|
2066
|
+
break;
|
|
2067
|
+
default:
|
|
2068
|
+
b("Unsupporting sharing policy");
|
|
2069
|
+
}
|
|
2070
|
+
return g;
|
|
2071
|
+
}
|
|
2072
|
+
function l(A, I) {
|
|
2073
|
+
if (I === null)
|
|
2074
|
+
return this.isReference && b(`null is not a valid ${this.name}`), 0;
|
|
2075
|
+
I.$$ || b(`Cannot pass "${$A(I)}" as a ${this.name}`), I.$$.ptr || b(`Cannot pass deleted object as a pointer of type ${this.name}`), I.$$.ptrType.isConst && b(`Cannot convert argument of type ${I.$$.ptrType.name} to parameter type ${this.name}`);
|
|
2076
|
+
var g = I.$$.ptrType.registeredClass, B = rI(I.$$.ptr, g, this.registeredClass);
|
|
2077
|
+
return B;
|
|
2078
|
+
}
|
|
2079
|
+
var S = () => {
|
|
2080
|
+
Object.assign(F.prototype, {
|
|
2081
|
+
getPointee(A) {
|
|
2082
|
+
return this.rawGetPointee && (A = this.rawGetPointee(A)), A;
|
|
2083
|
+
},
|
|
2084
|
+
destructor(A) {
|
|
2085
|
+
var I;
|
|
2086
|
+
(I = this.rawDestructor) == null || I.call(this, A);
|
|
2087
|
+
},
|
|
2088
|
+
argPackAdvance: FA,
|
|
2089
|
+
readValueFromPointer: mA,
|
|
2090
|
+
fromWireType: EC
|
|
2091
|
+
});
|
|
2092
|
+
};
|
|
2093
|
+
function F(A, I, g, B, U, Z, N, W, J, i, a) {
|
|
2094
|
+
this.name = A, this.registeredClass = I, this.isReference = g, this.isConst = B, this.isSmartPointer = U, this.pointeeType = Z, this.sharingPolicy = N, this.rawGetPointee = W, this.rawConstructor = J, this.rawShare = i, this.rawDestructor = a, !U && I.baseClass === void 0 ? B ? (this.toWireType = ng, this.destructorFunction = null) : (this.toWireType = l, this.destructorFunction = null) : this.toWireType = Gg;
|
|
2095
|
+
}
|
|
2096
|
+
var n = (A, I, g) => {
|
|
2097
|
+
Q.hasOwnProperty(A) || WI("Replacing nonexistent public symbol"), Q[A].overloadTable !== void 0 && g !== void 0 ? Q[A].overloadTable[g] = I : (Q[A] = I, Q[A].argCount = g);
|
|
2098
|
+
}, w, V = (A) => w.get(A), Y = (A, I) => {
|
|
2099
|
+
A = j(A);
|
|
2100
|
+
function g() {
|
|
2101
|
+
return V(I);
|
|
2102
|
+
}
|
|
2103
|
+
var B = g();
|
|
2104
|
+
return typeof B != "function" && b(`unknown function pointer with signature ${A}: ${I}`), B;
|
|
2105
|
+
}, s, O = (A, I) => {
|
|
2106
|
+
var g = [], B = {};
|
|
2107
|
+
function U(Z) {
|
|
2108
|
+
if (!B[Z] && !eA[Z]) {
|
|
2109
|
+
if (AA[Z]) {
|
|
2110
|
+
AA[Z].forEach(U);
|
|
2111
|
+
return;
|
|
2112
|
+
}
|
|
2113
|
+
g.push(Z), B[Z] = !0;
|
|
2114
|
+
}
|
|
2115
|
+
}
|
|
2116
|
+
throw I.forEach(U), new s(`${A}: ` + g.map(Zg).join([", "]));
|
|
2117
|
+
}, aI = (A, I, g, B, U, Z, N, W, J, i, a, c, p) => {
|
|
2118
|
+
a = j(a), Z = Y(U, Z), W && (W = Y(N, W)), i && (i = Y(J, i)), p = Y(c, p);
|
|
2119
|
+
var z = WC(a);
|
|
2120
|
+
ig(z, function() {
|
|
2121
|
+
O(`Cannot construct ${a} due to unbound types`, [B]);
|
|
2122
|
+
}), YA([A, I, g], B ? [B] : [], (x) => {
|
|
2123
|
+
var RA;
|
|
2124
|
+
x = x[0];
|
|
2125
|
+
var iA, UA;
|
|
2126
|
+
B ? (iA = x.registeredClass, UA = iA.instancePrototype) : UA = DI.prototype;
|
|
2127
|
+
var oI = LA(a, function(...oC) {
|
|
2128
|
+
if (Object.getPrototypeOf(this) !== VI)
|
|
2129
|
+
throw new fA("Use 'new' to construct " + a);
|
|
2130
|
+
if (tA.constructor_body === void 0)
|
|
2131
|
+
throw new fA(a + " has no accessible constructor");
|
|
2132
|
+
var aB = tA.constructor_body[oC.length];
|
|
2133
|
+
if (aB === void 0)
|
|
2134
|
+
throw new fA(`Tried to invoke ctor of ${a} with invalid number of parameters (${oC.length}) - expected (${Object.keys(tA.constructor_body).toString()}) parameters instead!`);
|
|
2135
|
+
return aB.apply(this, oC);
|
|
2136
|
+
}), VI = Object.create(UA, {
|
|
2137
|
+
constructor: {
|
|
2138
|
+
value: oI
|
|
2139
|
+
}
|
|
2140
|
+
});
|
|
2141
|
+
oI.prototype = VI;
|
|
2142
|
+
var tA = new JI(a, oI, VI, p, iA, Z, W, i);
|
|
2143
|
+
tA.baseClass && ((RA = tA.baseClass).__derivedClasses ?? (RA.__derivedClasses = []), tA.baseClass.__derivedClasses.push(tA));
|
|
2144
|
+
var jE = new F(a, tA, !0, !1, !1), DB = new F(a + "*", tA, !1, !1, !1), JB = new F(a + " const*", tA, !1, !0, !1);
|
|
2145
|
+
return KI[A] = {
|
|
2146
|
+
pointerType: DB,
|
|
2147
|
+
constPointerType: JB
|
|
2148
|
+
}, n(z, oI), [jE, DB, JB];
|
|
2149
|
+
});
|
|
2150
|
+
};
|
|
2151
|
+
function uI(A) {
|
|
2152
|
+
for (var I = 1; I < A.length; ++I)
|
|
2153
|
+
if (A[I] !== null && A[I].destructorFunction === void 0)
|
|
2154
|
+
return !0;
|
|
2155
|
+
return !1;
|
|
2156
|
+
}
|
|
2157
|
+
function zI(A, I) {
|
|
2158
|
+
if (!(A instanceof Function))
|
|
2159
|
+
throw new TypeError(`new_ called with constructor type ${typeof A} which is not a function`);
|
|
2160
|
+
var g = LA(A.name || "unknownFunctionName", function() {
|
|
2161
|
+
});
|
|
2162
|
+
g.prototype = A.prototype;
|
|
2163
|
+
var B = new g(), U = A.apply(B, I);
|
|
2164
|
+
return U instanceof Object ? U : B;
|
|
2165
|
+
}
|
|
2166
|
+
function og(A, I, g, B) {
|
|
2167
|
+
var U = uI(A), Z = A.length - 2, N = [], W = ["fn"];
|
|
2168
|
+
I && W.push("thisWired");
|
|
2169
|
+
for (var J = 0; J < Z; ++J)
|
|
2170
|
+
N.push(`arg${J}`), W.push(`arg${J}Wired`);
|
|
2171
|
+
N = N.join(","), W = W.join(",");
|
|
2172
|
+
var i = `return function (${N}) {
|
|
2173
|
+
`;
|
|
2174
|
+
U && (i += `var destructors = [];
|
|
2175
|
+
`);
|
|
2176
|
+
var a = U ? "destructors" : "null", c = ["humanName", "throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"];
|
|
2177
|
+
I && (i += `var thisWired = classParam['toWireType'](${a}, this);
|
|
2178
|
+
`);
|
|
2179
|
+
for (var J = 0; J < Z; ++J)
|
|
2180
|
+
i += `var arg${J}Wired = argType${J}['toWireType'](${a}, arg${J});
|
|
2181
|
+
`, c.push(`argType${J}`);
|
|
2182
|
+
if (i += (g || B ? "var rv = " : "") + `invoker(${W});
|
|
2183
|
+
`, U)
|
|
2184
|
+
i += `runDestructors(destructors);
|
|
2185
|
+
`;
|
|
2186
|
+
else
|
|
2187
|
+
for (var J = I ? 1 : 2; J < A.length; ++J) {
|
|
2188
|
+
var p = J === 1 ? "thisWired" : "arg" + (J - 2) + "Wired";
|
|
2189
|
+
A[J].destructorFunction !== null && (i += `${p}_dtor(${p});
|
|
2190
|
+
`, c.push(`${p}_dtor`));
|
|
2191
|
+
}
|
|
2192
|
+
return g && (i += `var ret = retType['fromWireType'](rv);
|
|
2193
|
+
return ret;
|
|
2194
|
+
`), i += `}
|
|
2195
|
+
`, [c, i];
|
|
2196
|
+
}
|
|
2197
|
+
function iI(A, I, g, B, U, Z) {
|
|
2198
|
+
var N = I.length;
|
|
2199
|
+
N < 2 && b("argTypes array size mismatch! Must at least get return value and 'this' types!");
|
|
2200
|
+
for (var W = I[1] !== null && g !== null, J = uI(I), i = I[0].name !== "void", a = [A, b, B, U, FI, I[0], I[1]], c = 0; c < N - 2; ++c)
|
|
2201
|
+
a.push(I[c + 2]);
|
|
2202
|
+
if (!J)
|
|
2203
|
+
for (var c = W ? 1 : 2; c < I.length; ++c)
|
|
2204
|
+
I[c].destructorFunction !== null && a.push(I[c].destructorFunction);
|
|
2205
|
+
let [p, z] = og(I, W, i, Z);
|
|
2206
|
+
p.push(z);
|
|
2207
|
+
var x = zI(Function, p)(...a);
|
|
2208
|
+
return LA(A, x);
|
|
2209
|
+
}
|
|
2210
|
+
var xI = (A, I) => {
|
|
2211
|
+
for (var g = [], B = 0; B < A; B++)
|
|
2212
|
+
g.push(K[I + B * 4 >> 2]);
|
|
2213
|
+
return g;
|
|
2214
|
+
}, nI = (A) => {
|
|
2215
|
+
A = A.trim();
|
|
2216
|
+
const I = A.indexOf("(");
|
|
2217
|
+
return I !== -1 ? A.substr(0, I) : A;
|
|
2218
|
+
}, FC = (A, I, g, B, U, Z, N, W, J) => {
|
|
2219
|
+
var i = xI(g, B);
|
|
2220
|
+
I = j(I), I = nI(I), Z = Y(U, Z), YA([], [A], (a) => {
|
|
2221
|
+
a = a[0];
|
|
2222
|
+
var c = `${a.name}.${I}`;
|
|
2223
|
+
function p() {
|
|
2224
|
+
O(`Cannot call ${c} due to unbound types`, i);
|
|
2225
|
+
}
|
|
2226
|
+
I.startsWith("@@") && (I = Symbol[I.substring(2)]);
|
|
2227
|
+
var z = a.registeredClass.constructor;
|
|
2228
|
+
return z[I] === void 0 ? (p.argCount = g - 1, z[I] = p) : (LI(z, I, c), z[I].overloadTable[g - 1] = p), YA([], i, (x) => {
|
|
2229
|
+
var RA = [
|
|
2230
|
+
x[0],
|
|
2231
|
+
/* return value */
|
|
2232
|
+
null
|
|
2233
|
+
].concat(
|
|
2234
|
+
/* no class 'this'*/
|
|
2235
|
+
x.slice(1)
|
|
2236
|
+
), iA = iI(
|
|
2237
|
+
c,
|
|
2238
|
+
RA,
|
|
2239
|
+
null,
|
|
2240
|
+
/* no class 'this'*/
|
|
2241
|
+
Z,
|
|
2242
|
+
N,
|
|
2243
|
+
W
|
|
2244
|
+
);
|
|
2245
|
+
if (z[I].overloadTable === void 0 ? (iA.argCount = g - 1, z[I] = iA) : z[I].overloadTable[g - 1] = iA, a.registeredClass.__derivedClasses)
|
|
2246
|
+
for (const UA of a.registeredClass.__derivedClasses)
|
|
2247
|
+
UA.constructor.hasOwnProperty(I) || (UA.constructor[I] = iA);
|
|
2248
|
+
return [];
|
|
2249
|
+
}), [];
|
|
2250
|
+
});
|
|
2251
|
+
}, DC = (A, I, g, B, U, Z, N, W, J, i) => {
|
|
2252
|
+
var a = xI(g, B);
|
|
2253
|
+
I = j(I), I = nI(I), Z = Y(U, Z), YA([], [A], (c) => {
|
|
2254
|
+
c = c[0];
|
|
2255
|
+
var p = `${c.name}.${I}`;
|
|
2256
|
+
I.startsWith("@@") && (I = Symbol[I.substring(2)]), W && c.registeredClass.pureVirtualFunctions.push(I);
|
|
2257
|
+
function z() {
|
|
2258
|
+
O(`Cannot call ${p} due to unbound types`, a);
|
|
2259
|
+
}
|
|
2260
|
+
var x = c.registeredClass.instancePrototype, RA = x[I];
|
|
2261
|
+
return RA === void 0 || RA.overloadTable === void 0 && RA.className !== c.name && RA.argCount === g - 2 ? (z.argCount = g - 2, z.className = c.name, x[I] = z) : (LI(x, I, p), x[I].overloadTable[g - 2] = z), YA([], a, (iA) => {
|
|
2262
|
+
var UA = iI(p, iA, c, Z, N, J);
|
|
2263
|
+
return x[I].overloadTable === void 0 ? (UA.argCount = g - 2, x[I] = UA) : x[I].overloadTable[g - 2] = UA, [];
|
|
2264
|
+
}), [];
|
|
2265
|
+
});
|
|
2266
|
+
}, JC = (A) => {
|
|
2267
|
+
A > 9 && --oA[A + 1] === 0 && (oA[A] = void 0, HI.push(A));
|
|
2268
|
+
}, lQ = {
|
|
2269
|
+
name: "emscripten::val",
|
|
2270
|
+
fromWireType: (A) => {
|
|
2271
|
+
var I = H.toValue(A);
|
|
2272
|
+
return JC(A), I;
|
|
2273
|
+
},
|
|
2274
|
+
toWireType: (A, I) => H.toHandle(I),
|
|
2275
|
+
argPackAdvance: FA,
|
|
2276
|
+
readValueFromPointer: mA,
|
|
2277
|
+
destructorFunction: null
|
|
2278
|
+
}, UQ = (A) => WA(A, lQ), dQ = (A, I) => {
|
|
2279
|
+
switch (I) {
|
|
2280
|
+
case 4:
|
|
2281
|
+
return function(g) {
|
|
2282
|
+
return this.fromWireType(_[g >> 2]);
|
|
2283
|
+
};
|
|
2284
|
+
case 8:
|
|
2285
|
+
return function(g) {
|
|
2286
|
+
return this.fromWireType(wI[g >> 3]);
|
|
2287
|
+
};
|
|
2288
|
+
default:
|
|
2289
|
+
throw new TypeError(`invalid float width (${I}): ${A}`);
|
|
2290
|
+
}
|
|
2291
|
+
}, SQ = (A, I, g) => {
|
|
2292
|
+
I = j(I), WA(A, {
|
|
2293
|
+
name: I,
|
|
2294
|
+
fromWireType: (B) => B,
|
|
2295
|
+
toWireType: (B, U) => U,
|
|
2296
|
+
argPackAdvance: FA,
|
|
2297
|
+
readValueFromPointer: dQ(I, g),
|
|
2298
|
+
destructorFunction: null
|
|
2299
|
+
});
|
|
2300
|
+
}, ZQ = (A, I, g, B, U, Z, N, W) => {
|
|
2301
|
+
var J = xI(I, g);
|
|
2302
|
+
A = j(A), A = nI(A), U = Y(B, U), ig(A, function() {
|
|
2303
|
+
O(`Cannot call ${A} due to unbound types`, J);
|
|
2304
|
+
}, I - 1), YA([], J, (i) => {
|
|
2305
|
+
var a = [
|
|
2306
|
+
i[0],
|
|
2307
|
+
/* return value */
|
|
2308
|
+
null
|
|
2309
|
+
].concat(
|
|
2310
|
+
/* no class 'this'*/
|
|
2311
|
+
i.slice(1)
|
|
2312
|
+
);
|
|
2313
|
+
return n(A, iI(
|
|
2314
|
+
A,
|
|
2315
|
+
a,
|
|
2316
|
+
null,
|
|
2317
|
+
/* no class 'this'*/
|
|
2318
|
+
U,
|
|
2319
|
+
Z,
|
|
2320
|
+
N
|
|
2321
|
+
), I - 1), [];
|
|
2322
|
+
});
|
|
2323
|
+
}, NQ = (A, I, g, B, U) => {
|
|
2324
|
+
I = j(I);
|
|
2325
|
+
var Z = (a) => a;
|
|
2326
|
+
if (B === 0) {
|
|
2327
|
+
var N = 32 - 8 * g;
|
|
2328
|
+
Z = (a) => a << N >>> N;
|
|
2329
|
+
}
|
|
2330
|
+
var W = I.includes("unsigned"), J = (a, c) => {
|
|
2331
|
+
}, i;
|
|
2332
|
+
W ? i = function(a, c) {
|
|
2333
|
+
return J(c, this.name), c >>> 0;
|
|
2334
|
+
} : i = function(a, c) {
|
|
2335
|
+
return J(c, this.name), c;
|
|
2336
|
+
}, WA(A, {
|
|
2337
|
+
name: I,
|
|
2338
|
+
fromWireType: Z,
|
|
2339
|
+
toWireType: i,
|
|
2340
|
+
argPackAdvance: FA,
|
|
2341
|
+
readValueFromPointer: TI(I, g, B !== 0),
|
|
2342
|
+
destructorFunction: null
|
|
2343
|
+
});
|
|
2344
|
+
}, WQ = (A, I, g) => {
|
|
2345
|
+
var B = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, BigInt64Array, BigUint64Array], U = B[I];
|
|
2346
|
+
function Z(N) {
|
|
2347
|
+
var W = K[N >> 2], J = K[N + 4 >> 2];
|
|
2348
|
+
return new U(q.buffer, J, W);
|
|
2349
|
+
}
|
|
2350
|
+
g = j(g), WA(A, {
|
|
2351
|
+
name: g,
|
|
2352
|
+
fromWireType: Z,
|
|
2353
|
+
argPackAdvance: FA,
|
|
2354
|
+
readValueFromPointer: Z
|
|
2355
|
+
}, {
|
|
2356
|
+
ignoreDuplicateRegistrations: !0
|
|
2357
|
+
});
|
|
2358
|
+
}, FQ = (A, I, g, B) => {
|
|
2359
|
+
if (!(B > 0)) return 0;
|
|
2360
|
+
for (var U = g, Z = g + B - 1, N = 0; N < A.length; ++N) {
|
|
2361
|
+
var W = A.charCodeAt(N);
|
|
2362
|
+
if (W >= 55296 && W <= 57343) {
|
|
2363
|
+
var J = A.charCodeAt(++N);
|
|
2364
|
+
W = 65536 + ((W & 1023) << 10) | J & 1023;
|
|
2365
|
+
}
|
|
2366
|
+
if (W <= 127) {
|
|
2367
|
+
if (g >= Z) break;
|
|
2368
|
+
I[g++] = W;
|
|
2369
|
+
} else if (W <= 2047) {
|
|
2370
|
+
if (g + 1 >= Z) break;
|
|
2371
|
+
I[g++] = 192 | W >> 6, I[g++] = 128 | W & 63;
|
|
2372
|
+
} else if (W <= 65535) {
|
|
2373
|
+
if (g + 2 >= Z) break;
|
|
2374
|
+
I[g++] = 224 | W >> 12, I[g++] = 128 | W >> 6 & 63, I[g++] = 128 | W & 63;
|
|
2375
|
+
} else {
|
|
2376
|
+
if (g + 3 >= Z) break;
|
|
2377
|
+
I[g++] = 240 | W >> 18, I[g++] = 128 | W >> 12 & 63, I[g++] = 128 | W >> 6 & 63, I[g++] = 128 | W & 63;
|
|
2378
|
+
}
|
|
2379
|
+
}
|
|
2380
|
+
return I[g] = 0, g - U;
|
|
2381
|
+
}, DQ = (A, I, g) => FQ(A, L, I, g), JQ = (A) => {
|
|
2382
|
+
for (var I = 0, g = 0; g < A.length; ++g) {
|
|
2383
|
+
var B = A.charCodeAt(g);
|
|
2384
|
+
B <= 127 ? I++ : B <= 2047 ? I += 2 : B >= 55296 && B <= 57343 ? (I += 4, ++g) : I += 3;
|
|
2385
|
+
}
|
|
2386
|
+
return I;
|
|
2387
|
+
}, xC = typeof TextDecoder < "u" ? new TextDecoder() : void 0, jC = (A, I, g) => {
|
|
2388
|
+
for (var B = I + g, U = I; A[U] && !(U >= B); ) ++U;
|
|
2389
|
+
if (U - I > 16 && A.buffer && xC)
|
|
2390
|
+
return xC.decode(A.subarray(I, U));
|
|
2391
|
+
for (var Z = ""; I < U; ) {
|
|
2392
|
+
var N = A[I++];
|
|
2393
|
+
if (!(N & 128)) {
|
|
2394
|
+
Z += String.fromCharCode(N);
|
|
2395
|
+
continue;
|
|
2396
|
+
}
|
|
2397
|
+
var W = A[I++] & 63;
|
|
2398
|
+
if ((N & 224) == 192) {
|
|
2399
|
+
Z += String.fromCharCode((N & 31) << 6 | W);
|
|
2400
|
+
continue;
|
|
2401
|
+
}
|
|
2402
|
+
var J = A[I++] & 63;
|
|
2403
|
+
if ((N & 240) == 224 ? N = (N & 15) << 12 | W << 6 | J : N = (N & 7) << 18 | W << 12 | J << 6 | A[I++] & 63, N < 65536)
|
|
2404
|
+
Z += String.fromCharCode(N);
|
|
2405
|
+
else {
|
|
2406
|
+
var i = N - 65536;
|
|
2407
|
+
Z += String.fromCharCode(55296 | i >> 10, 56320 | i & 1023);
|
|
2408
|
+
}
|
|
2409
|
+
}
|
|
2410
|
+
return Z;
|
|
2411
|
+
}, vC = (A, I) => A ? jC(L, A, I) : "", aQ = (A, I) => {
|
|
2412
|
+
I = j(I);
|
|
2413
|
+
var g = (
|
|
2414
|
+
//process only std::string bindings with UTF8 support, in contrast to e.g. std::basic_string<unsigned char>
|
|
2415
|
+
I === "std::string"
|
|
2416
|
+
);
|
|
2417
|
+
WA(A, {
|
|
2418
|
+
name: I,
|
|
2419
|
+
// For some method names we use string keys here since they are part of
|
|
2420
|
+
// the public/external API and/or used by the runtime-generated code.
|
|
2421
|
+
fromWireType(B) {
|
|
2422
|
+
var U = K[B >> 2], Z = B + 4, N;
|
|
2423
|
+
if (g)
|
|
2424
|
+
for (var W = Z, J = 0; J <= U; ++J) {
|
|
2425
|
+
var i = Z + J;
|
|
2426
|
+
if (J == U || L[i] == 0) {
|
|
2427
|
+
var a = i - W, c = vC(W, a);
|
|
2428
|
+
N === void 0 ? N = c : (N += "\0", N += c), W = i + 1;
|
|
2429
|
+
}
|
|
2430
|
+
}
|
|
2431
|
+
else {
|
|
2432
|
+
for (var p = new Array(U), J = 0; J < U; ++J)
|
|
2433
|
+
p[J] = String.fromCharCode(L[Z + J]);
|
|
2434
|
+
N = p.join("");
|
|
2435
|
+
}
|
|
2436
|
+
return yA(B), N;
|
|
2437
|
+
},
|
|
2438
|
+
toWireType(B, U) {
|
|
2439
|
+
U instanceof ArrayBuffer && (U = new Uint8Array(U));
|
|
2440
|
+
var Z, N = typeof U == "string";
|
|
2441
|
+
N || U instanceof Uint8Array || U instanceof Uint8ClampedArray || U instanceof Int8Array || b("Cannot pass non-string to std::string"), g && N ? Z = JQ(U) : Z = U.length;
|
|
2442
|
+
var W = nC(4 + Z + 1), J = W + 4;
|
|
2443
|
+
if (K[W >> 2] = Z, g && N)
|
|
2444
|
+
DQ(U, J, Z + 1);
|
|
2445
|
+
else if (N)
|
|
2446
|
+
for (var i = 0; i < Z; ++i) {
|
|
2447
|
+
var a = U.charCodeAt(i);
|
|
2448
|
+
a > 255 && (yA(J), b("String has UTF-16 code units that do not fit in 8 bits")), L[J + i] = a;
|
|
2449
|
+
}
|
|
2450
|
+
else
|
|
2451
|
+
for (var i = 0; i < Z; ++i)
|
|
2452
|
+
L[J + i] = U[i];
|
|
2453
|
+
return B !== null && B.push(yA, W), W;
|
|
2454
|
+
},
|
|
2455
|
+
argPackAdvance: FA,
|
|
2456
|
+
readValueFromPointer: mA,
|
|
2457
|
+
destructorFunction(B) {
|
|
2458
|
+
yA(B);
|
|
2459
|
+
}
|
|
2460
|
+
});
|
|
2461
|
+
}, OC = typeof TextDecoder < "u" ? new TextDecoder("utf-16le") : void 0, iQ = (A, I) => {
|
|
2462
|
+
for (var g = A, B = g >> 1, U = B + I / 2; !(B >= U) && hA[B]; ) ++B;
|
|
2463
|
+
if (g = B << 1, g - A > 32 && OC) return OC.decode(L.subarray(A, g));
|
|
2464
|
+
for (var Z = "", N = 0; !(N >= I / 2); ++N) {
|
|
2465
|
+
var W = wA[A + N * 2 >> 1];
|
|
2466
|
+
if (W == 0) break;
|
|
2467
|
+
Z += String.fromCharCode(W);
|
|
2468
|
+
}
|
|
2469
|
+
return Z;
|
|
2470
|
+
}, nQ = (A, I, g) => {
|
|
2471
|
+
if (g ?? (g = 2147483647), g < 2) return 0;
|
|
2472
|
+
g -= 2;
|
|
2473
|
+
for (var B = I, U = g < A.length * 2 ? g / 2 : A.length, Z = 0; Z < U; ++Z) {
|
|
2474
|
+
var N = A.charCodeAt(Z);
|
|
2475
|
+
wA[I >> 1] = N, I += 2;
|
|
2476
|
+
}
|
|
2477
|
+
return wA[I >> 1] = 0, I - B;
|
|
2478
|
+
}, GQ = (A) => A.length * 2, oQ = (A, I) => {
|
|
2479
|
+
for (var g = 0, B = ""; !(g >= I / 4); ) {
|
|
2480
|
+
var U = JA[A + g * 4 >> 2];
|
|
2481
|
+
if (U == 0) break;
|
|
2482
|
+
if (++g, U >= 65536) {
|
|
2483
|
+
var Z = U - 65536;
|
|
2484
|
+
B += String.fromCharCode(55296 | Z >> 10, 56320 | Z & 1023);
|
|
2485
|
+
} else
|
|
2486
|
+
B += String.fromCharCode(U);
|
|
2487
|
+
}
|
|
2488
|
+
return B;
|
|
2489
|
+
}, VQ = (A, I, g) => {
|
|
2490
|
+
if (g ?? (g = 2147483647), g < 4) return 0;
|
|
2491
|
+
for (var B = I, U = B + g - 4, Z = 0; Z < A.length; ++Z) {
|
|
2492
|
+
var N = A.charCodeAt(Z);
|
|
2493
|
+
if (N >= 55296 && N <= 57343) {
|
|
2494
|
+
var W = A.charCodeAt(++Z);
|
|
2495
|
+
N = 65536 + ((N & 1023) << 10) | W & 1023;
|
|
2496
|
+
}
|
|
2497
|
+
if (JA[I >> 2] = N, I += 4, I + 4 > U) break;
|
|
2498
|
+
}
|
|
2499
|
+
return JA[I >> 2] = 0, I - B;
|
|
2500
|
+
}, RQ = (A) => {
|
|
2501
|
+
for (var I = 0, g = 0; g < A.length; ++g) {
|
|
2502
|
+
var B = A.charCodeAt(g);
|
|
2503
|
+
B >= 55296 && B <= 57343 && ++g, I += 4;
|
|
2504
|
+
}
|
|
2505
|
+
return I;
|
|
2506
|
+
}, cQ = (A, I, g) => {
|
|
2507
|
+
g = j(g);
|
|
2508
|
+
var B, U, Z, N;
|
|
2509
|
+
I === 2 ? (B = iQ, U = nQ, N = GQ, Z = (W) => hA[W >> 1]) : I === 4 && (B = oQ, U = VQ, N = RQ, Z = (W) => K[W >> 2]), WA(A, {
|
|
2510
|
+
name: g,
|
|
2511
|
+
fromWireType: (W) => {
|
|
2512
|
+
for (var J = K[W >> 2], i, a = W + 4, c = 0; c <= J; ++c) {
|
|
2513
|
+
var p = W + 4 + c * I;
|
|
2514
|
+
if (c == J || Z(p) == 0) {
|
|
2515
|
+
var z = p - a, x = B(a, z);
|
|
2516
|
+
i === void 0 ? i = x : (i += "\0", i += x), a = p + I;
|
|
2517
|
+
}
|
|
2518
|
+
}
|
|
2519
|
+
return yA(W), i;
|
|
2520
|
+
},
|
|
2521
|
+
toWireType: (W, J) => {
|
|
2522
|
+
typeof J != "string" && b(`Cannot pass non-string to C++ string type ${g}`);
|
|
2523
|
+
var i = N(J), a = nC(4 + i + I);
|
|
2524
|
+
return K[a >> 2] = i / I, U(J, a + 4, i + I), W !== null && W.push(yA, a), a;
|
|
2525
|
+
},
|
|
2526
|
+
argPackAdvance: FA,
|
|
2527
|
+
readValueFromPointer: mA,
|
|
2528
|
+
destructorFunction(W) {
|
|
2529
|
+
yA(W);
|
|
2530
|
+
}
|
|
2531
|
+
});
|
|
2532
|
+
}, wQ = (A, I, g, B, U, Z) => {
|
|
2533
|
+
y[A] = {
|
|
2534
|
+
name: j(I),
|
|
2535
|
+
rawConstructor: Y(g, B),
|
|
2536
|
+
rawDestructor: Y(U, Z),
|
|
2537
|
+
fields: []
|
|
2538
|
+
};
|
|
2539
|
+
}, hQ = (A, I, g, B, U, Z, N, W, J, i) => {
|
|
2540
|
+
y[A].fields.push({
|
|
2541
|
+
fieldName: j(I),
|
|
2542
|
+
getterReturnType: g,
|
|
2543
|
+
getter: Y(B, U),
|
|
2544
|
+
getterContext: Z,
|
|
2545
|
+
setterArgumentType: N,
|
|
2546
|
+
setter: Y(W, J),
|
|
2547
|
+
setterContext: i
|
|
2548
|
+
});
|
|
2549
|
+
}, YQ = (A, I) => {
|
|
2550
|
+
I = j(I), WA(A, {
|
|
2551
|
+
isVoid: !0,
|
|
2552
|
+
// void return values can be optimized out sometimes
|
|
2553
|
+
name: I,
|
|
2554
|
+
argPackAdvance: 0,
|
|
2555
|
+
fromWireType: () => {
|
|
2556
|
+
},
|
|
2557
|
+
// TODO: assert if anything else is given?
|
|
2558
|
+
toWireType: (g, B) => {
|
|
2559
|
+
}
|
|
2560
|
+
});
|
|
2561
|
+
}, tQ = 1, sQ = () => tQ, bQ = () => {
|
|
2562
|
+
GA = !1, _C = 0;
|
|
2563
|
+
}, fC = (A, I, g) => {
|
|
2564
|
+
var B = [], U = A.toWireType(B, g);
|
|
2565
|
+
return B.length && (K[I >> 2] = H.toHandle(B)), U;
|
|
2566
|
+
}, MQ = (A, I, g) => (A = H.toValue(A), I = ZI(I, "emval::as"), fC(I, g, A)), Vg = [], HQ = (A, I, g, B) => (A = Vg[A], I = H.toValue(I), A(null, I, g, B)), pQ = {}, aC = (A) => {
|
|
2567
|
+
var I = pQ[A];
|
|
2568
|
+
return I === void 0 ? j(A) : I;
|
|
2569
|
+
}, eQ = (A, I, g, B, U) => (A = Vg[A], I = H.toValue(I), g = aC(g), A(I, I[g], B, U)), mQ = (A, I) => H.toHandle(new Promise((g, B) => {
|
|
2570
|
+
const U = () => {
|
|
2571
|
+
try {
|
|
2572
|
+
MI();
|
|
2573
|
+
} catch (Z) {
|
|
2574
|
+
B(Z);
|
|
2575
|
+
}
|
|
2576
|
+
};
|
|
2577
|
+
K[A >> 2] = H.toHandle(g), K[I >> 2] = H.toHandle(U);
|
|
2578
|
+
})), PC = () => typeof globalThis == "object" ? globalThis : (/* @__PURE__ */ (function() {
|
|
2579
|
+
return Function;
|
|
2580
|
+
})())("return this")(), kQ = (A) => A === 0 ? H.toHandle(PC()) : (A = aC(A), H.toHandle(PC()[A])), yQ = (A) => {
|
|
2581
|
+
var I = Vg.length;
|
|
2582
|
+
return Vg.push(A), I;
|
|
2583
|
+
}, KQ = (A, I) => {
|
|
2584
|
+
for (var g = new Array(A), B = 0; B < A; ++B)
|
|
2585
|
+
g[B] = ZI(K[I + B * 4 >> 2], "parameter " + B);
|
|
2586
|
+
return g;
|
|
2587
|
+
}, TQ = (A, I, g) => {
|
|
2588
|
+
var B = KQ(A, I), U = B.shift();
|
|
2589
|
+
A--;
|
|
2590
|
+
var Z = `return function (obj, func, destructorsRef, args) {
|
|
2591
|
+
`, N = 0, W = [];
|
|
2592
|
+
g === /* FUNCTION */
|
|
2593
|
+
0 && W.push("obj");
|
|
2594
|
+
for (var J = ["retType"], i = [U], a = 0; a < A; ++a)
|
|
2595
|
+
W.push("arg" + a), J.push("argType" + a), i.push(B[a]), Z += ` var arg${a} = argType${a}.readValueFromPointer(args${N ? "+" + N : ""});
|
|
2596
|
+
`, N += B[a].argPackAdvance;
|
|
2597
|
+
var c = g === /* CONSTRUCTOR */
|
|
2598
|
+
1 ? "new func" : "func.call";
|
|
2599
|
+
Z += ` var rv = ${c}(${W.join(", ")});
|
|
2600
|
+
`, U.isVoid || (J.push("emval_returnValue"), i.push(fC), Z += ` return emval_returnValue(retType, destructorsRef, rv);
|
|
2601
|
+
`), Z += `};
|
|
2602
|
+
`, J.push(Z);
|
|
2603
|
+
var p = zI(Function, J)(...i), z = `methodCaller<(${B.map((x) => x.name).join(", ")}) => ${U.name}>`;
|
|
2604
|
+
return yQ(LA(z, p));
|
|
2605
|
+
}, XQ = (A, I) => (A = H.toValue(A), I = H.toValue(I), H.toHandle(A[I])), LQ = (A) => {
|
|
2606
|
+
A > 9 && (oA[A + 1] += 1);
|
|
2607
|
+
}, rQ = (A) => (A = H.toValue(A), typeof A == "string"), uQ = (A) => (A = H.toValue(A), H.toHandle(A[Symbol.iterator]())), zQ = (A) => {
|
|
2608
|
+
A = H.toValue(A);
|
|
2609
|
+
var I = A.next();
|
|
2610
|
+
return I.done ? 0 : H.toHandle(I.value);
|
|
2611
|
+
}, xQ = (A) => H.toHandle(aC(A)), jQ = () => H.toHandle({}), vQ = (A) => {
|
|
2612
|
+
var I = H.toValue(A);
|
|
2613
|
+
FI(I), JC(A);
|
|
2614
|
+
}, OQ = (A, I, g) => {
|
|
2615
|
+
A = H.toValue(A), I = H.toValue(I), g = H.toValue(g), A[I] = g;
|
|
2616
|
+
}, fQ = (A, I) => {
|
|
2617
|
+
A = ZI(A, "_emval_take_value");
|
|
2618
|
+
var g = A.readValueFromPointer(I);
|
|
2619
|
+
return H.toHandle(g);
|
|
2620
|
+
}, jI = {}, qC = (A) => {
|
|
2621
|
+
if (A instanceof gA || A == "unwind")
|
|
2622
|
+
return lA;
|
|
2623
|
+
e(1, A);
|
|
2624
|
+
}, _C = 0, $C = () => GA || _C > 0, AB = (A) => {
|
|
2625
|
+
var I;
|
|
2626
|
+
lA = A, $C() || ((I = Q.onExit) == null || I.call(Q, A), EA = !0), e(A, new gA(A));
|
|
2627
|
+
}, PQ = (A, I) => {
|
|
2628
|
+
lA = A, AB(A);
|
|
2629
|
+
}, qQ = PQ, _Q = () => {
|
|
2630
|
+
if (!$C())
|
|
2631
|
+
try {
|
|
2632
|
+
qQ(lA);
|
|
2633
|
+
} catch (A) {
|
|
2634
|
+
qC(A);
|
|
2635
|
+
}
|
|
2636
|
+
}, IB = (A) => {
|
|
2637
|
+
if (!EA)
|
|
2638
|
+
try {
|
|
2639
|
+
A(), _Q();
|
|
2640
|
+
} catch (I) {
|
|
2641
|
+
qC(I);
|
|
2642
|
+
}
|
|
2643
|
+
}, gB = () => performance.now(), $Q = (A, I) => {
|
|
2644
|
+
if (jI[A] && (clearTimeout(jI[A].id), delete jI[A]), !I) return 0;
|
|
2645
|
+
var g = setTimeout(() => {
|
|
2646
|
+
delete jI[A], IB(() => lB(A, gB()));
|
|
2647
|
+
}, I);
|
|
2648
|
+
return jI[A] = {
|
|
2649
|
+
id: g,
|
|
2650
|
+
timeout_ms: I
|
|
2651
|
+
}, 0;
|
|
2652
|
+
}, iC = [], AE = (A, I) => {
|
|
2653
|
+
iC.length = 0;
|
|
2654
|
+
for (var g; g = L[A++]; ) {
|
|
2655
|
+
var B = g != 105;
|
|
2656
|
+
B &= g != 112, I += B && I % 8 ? 4 : 0, iC.push(
|
|
2657
|
+
// Special case for pointers under wasm64 or CAN_ADDRESS_2GB mode.
|
|
2658
|
+
g == 112 ? K[I >> 2] : g == 106 ? CI[I >> 3] : g == 105 ? JA[I >> 2] : wI[I >> 3]
|
|
2659
|
+
), I += B ? 8 : 4;
|
|
2660
|
+
}
|
|
2661
|
+
return iC;
|
|
2662
|
+
}, IE = (A, I, g) => {
|
|
2663
|
+
var B = AE(I, g);
|
|
2664
|
+
return Eg[A](...B);
|
|
2665
|
+
}, gE = (A, I, g) => IE(A, I, g), CE = clearTimeout, BE = () => performance.now(), QE = () => (
|
|
2666
|
+
// Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate
|
|
2667
|
+
// full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side
|
|
2668
|
+
// for any code that deals with heap sizes, which would require special
|
|
2669
|
+
// casing all heap size related code to treat 0 specially.
|
|
2670
|
+
2147483648
|
|
2671
|
+
), EE = (A, I) => Math.ceil(A / I) * I, lE = (A) => {
|
|
2672
|
+
var I = SA.buffer, g = (A - I.byteLength + 65535) / 65536;
|
|
2673
|
+
try {
|
|
2674
|
+
return SA.grow(g), Ag(), 1;
|
|
2675
|
+
} catch {
|
|
2676
|
+
}
|
|
2677
|
+
}, UE = (A) => {
|
|
2678
|
+
var I = L.length;
|
|
2679
|
+
A >>>= 0;
|
|
2680
|
+
var g = QE();
|
|
2681
|
+
if (A > g)
|
|
2682
|
+
return !1;
|
|
2683
|
+
for (var B = 1; B <= 4; B *= 2) {
|
|
2684
|
+
var U = I + 1048576 / B, Z = Math.min(g, EE(Math.max(A, U), 65536)), N = lE(Z);
|
|
2685
|
+
if (N)
|
|
2686
|
+
return !0;
|
|
2687
|
+
}
|
|
2688
|
+
return !1;
|
|
2689
|
+
}, dE = (A, I) => setTimeout(() => {
|
|
2690
|
+
IB(A);
|
|
2691
|
+
}, I), SE = (A, I, g) => dE(() => V(A)(g), I), ZE = (A) => 52;
|
|
2692
|
+
function NE(A, I, g, B) {
|
|
2693
|
+
return 70;
|
|
2694
|
+
}
|
|
2695
|
+
var WE = [null, [], []], FE = (A, I) => {
|
|
2696
|
+
var g = WE[A];
|
|
2697
|
+
I === 0 || I === 10 ? ((A === 1 ? DA : QA)(jC(g, 0)), g.length = 0) : g.push(I);
|
|
2698
|
+
}, DE = (A, I, g, B) => {
|
|
2699
|
+
for (var U = 0, Z = 0; Z < g; Z++) {
|
|
2700
|
+
var N = K[I >> 2], W = K[I + 4 >> 2];
|
|
2701
|
+
I += 8;
|
|
2702
|
+
for (var J = 0; J < W; J++)
|
|
2703
|
+
FE(A, L[N + J]);
|
|
2704
|
+
U += W;
|
|
2705
|
+
}
|
|
2706
|
+
return K[B >> 2] = U, 0;
|
|
2707
|
+
}, JE = (A) => A, CB = (A, I) => {
|
|
2708
|
+
A < 128 ? I.push(A) : I.push(A % 128 | 128, A >> 7);
|
|
2709
|
+
}, aE = (A) => {
|
|
2710
|
+
for (var I = {
|
|
2711
|
+
i: "i32",
|
|
2712
|
+
j: "i64",
|
|
2713
|
+
f: "f32",
|
|
2714
|
+
d: "f64",
|
|
2715
|
+
e: "externref",
|
|
2716
|
+
p: "i32"
|
|
2717
|
+
}, g = {
|
|
2718
|
+
parameters: [],
|
|
2719
|
+
results: A[0] == "v" ? [] : [I[A[0]]]
|
|
2720
|
+
}, B = 1; B < A.length; ++B)
|
|
2721
|
+
g.parameters.push(I[A[B]]);
|
|
2722
|
+
return g;
|
|
2723
|
+
}, iE = (A, I) => {
|
|
2724
|
+
var g = A.slice(0, 1), B = A.slice(1), U = {
|
|
2725
|
+
i: 127,
|
|
2726
|
+
// i32
|
|
2727
|
+
p: 127,
|
|
2728
|
+
// i32
|
|
2729
|
+
j: 126,
|
|
2730
|
+
// i64
|
|
2731
|
+
f: 125,
|
|
2732
|
+
// f32
|
|
2733
|
+
d: 124,
|
|
2734
|
+
// f64
|
|
2735
|
+
e: 111
|
|
2736
|
+
};
|
|
2737
|
+
I.push(96), CB(B.length, I);
|
|
2738
|
+
for (var Z = 0; Z < B.length; ++Z)
|
|
2739
|
+
I.push(U[B[Z]]);
|
|
2740
|
+
g == "v" ? I.push(0) : I.push(1, U[g]);
|
|
2741
|
+
}, nE = (A, I) => {
|
|
2742
|
+
if (typeof WebAssembly.Function == "function")
|
|
2743
|
+
return new WebAssembly.Function(aE(I), A);
|
|
2744
|
+
var g = [1];
|
|
2745
|
+
iE(I, g);
|
|
2746
|
+
var B = [
|
|
2747
|
+
0,
|
|
2748
|
+
97,
|
|
2749
|
+
115,
|
|
2750
|
+
109,
|
|
2751
|
+
// magic ("\0asm")
|
|
2752
|
+
1,
|
|
2753
|
+
0,
|
|
2754
|
+
0,
|
|
2755
|
+
0,
|
|
2756
|
+
// version: 1
|
|
2757
|
+
1
|
|
2758
|
+
];
|
|
2759
|
+
CB(g.length, B), B.push(...g), B.push(
|
|
2760
|
+
2,
|
|
2761
|
+
7,
|
|
2762
|
+
// import section
|
|
2763
|
+
// (import "e" "f" (func 0 (type 0)))
|
|
2764
|
+
1,
|
|
2765
|
+
1,
|
|
2766
|
+
101,
|
|
2767
|
+
1,
|
|
2768
|
+
102,
|
|
2769
|
+
0,
|
|
2770
|
+
0,
|
|
2771
|
+
7,
|
|
2772
|
+
5,
|
|
2773
|
+
// export section
|
|
2774
|
+
// (export "f" (func 0 (type 0)))
|
|
2775
|
+
1,
|
|
2776
|
+
1,
|
|
2777
|
+
102,
|
|
2778
|
+
0,
|
|
2779
|
+
0
|
|
2780
|
+
);
|
|
2781
|
+
var U = new WebAssembly.Module(new Uint8Array(B)), Z = new WebAssembly.Instance(U, {
|
|
2782
|
+
e: {
|
|
2783
|
+
f: A
|
|
2784
|
+
}
|
|
2785
|
+
}), N = Z.exports.f;
|
|
2786
|
+
return N;
|
|
2787
|
+
}, GE = (A, I) => {
|
|
2788
|
+
if (GI)
|
|
2789
|
+
for (var g = A; g < A + I; g++) {
|
|
2790
|
+
var B = V(g);
|
|
2791
|
+
B && GI.set(B, g);
|
|
2792
|
+
}
|
|
2793
|
+
}, GI, oE = (A) => (GI || (GI = /* @__PURE__ */ new WeakMap(), GE(0, w.length)), GI.get(A) || 0), BB = [], VE = () => {
|
|
2794
|
+
if (BB.length)
|
|
2795
|
+
return BB.pop();
|
|
2796
|
+
try {
|
|
2797
|
+
w.grow(1);
|
|
2798
|
+
} catch (A) {
|
|
2799
|
+
throw A instanceof RangeError ? "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH." : A;
|
|
2800
|
+
}
|
|
2801
|
+
return w.length - 1;
|
|
2802
|
+
}, QB = (A, I) => w.set(A, I), RE = (A, I) => {
|
|
2803
|
+
var g = oE(A);
|
|
2804
|
+
if (g)
|
|
2805
|
+
return g;
|
|
2806
|
+
var B = VE();
|
|
2807
|
+
try {
|
|
2808
|
+
QB(B, A);
|
|
2809
|
+
} catch (Z) {
|
|
2810
|
+
if (!(Z instanceof TypeError))
|
|
2811
|
+
throw Z;
|
|
2812
|
+
var U = nE(A, I);
|
|
2813
|
+
QB(B, U);
|
|
2814
|
+
}
|
|
2815
|
+
return GI.set(A, B), B;
|
|
2816
|
+
};
|
|
2817
|
+
fA = Q.BindingError = class extends Error {
|
|
2818
|
+
constructor(A) {
|
|
2819
|
+
super(A), this.name = "BindingError";
|
|
2820
|
+
}
|
|
2821
|
+
}, PA(), eI = Q.PureVirtualError = pI(Error, "PureVirtualError"), Sg(), gC(), Fg = Q.InternalError = class extends Error {
|
|
2822
|
+
constructor(A) {
|
|
2823
|
+
super(A), this.name = "InternalError";
|
|
2824
|
+
}
|
|
2825
|
+
}, SC(), S(), s = Q.UnboundTypeError = pI(Error, "UnboundTypeError");
|
|
2826
|
+
var cE = {
|
|
2827
|
+
/** @export */
|
|
2828
|
+
j: vg,
|
|
2829
|
+
/** @export */
|
|
2830
|
+
Y: Og,
|
|
2831
|
+
/** @export */
|
|
2832
|
+
za: sI,
|
|
2833
|
+
/** @export */
|
|
2834
|
+
b: lg,
|
|
2835
|
+
/** @export */
|
|
2836
|
+
a: Ug,
|
|
2837
|
+
/** @export */
|
|
2838
|
+
q: dg,
|
|
2839
|
+
/** @export */
|
|
2840
|
+
ia: MI,
|
|
2841
|
+
/** @export */
|
|
2842
|
+
W: Pg,
|
|
2843
|
+
/** @export */
|
|
2844
|
+
l: qg,
|
|
2845
|
+
/** @export */
|
|
2846
|
+
g: fg,
|
|
2847
|
+
/** @export */
|
|
2848
|
+
da: _g,
|
|
2849
|
+
/** @export */
|
|
2850
|
+
qa: lC,
|
|
2851
|
+
/** @export */
|
|
2852
|
+
ra: Dg,
|
|
2853
|
+
/** @export */
|
|
2854
|
+
G: ag,
|
|
2855
|
+
/** @export */
|
|
2856
|
+
na: UC,
|
|
2857
|
+
/** @export */
|
|
2858
|
+
B: aI,
|
|
2859
|
+
/** @export */
|
|
2860
|
+
v: FC,
|
|
2861
|
+
/** @export */
|
|
2862
|
+
n: DC,
|
|
2863
|
+
/** @export */
|
|
2864
|
+
la: UQ,
|
|
2865
|
+
/** @export */
|
|
2866
|
+
F: SQ,
|
|
2867
|
+
/** @export */
|
|
2868
|
+
pa: ZQ,
|
|
2869
|
+
/** @export */
|
|
2870
|
+
p: NQ,
|
|
2871
|
+
/** @export */
|
|
2872
|
+
k: WQ,
|
|
2873
|
+
/** @export */
|
|
2874
|
+
H: aQ,
|
|
2875
|
+
/** @export */
|
|
2876
|
+
A: cQ,
|
|
2877
|
+
/** @export */
|
|
2878
|
+
x: wQ,
|
|
2879
|
+
/** @export */
|
|
2880
|
+
w: hQ,
|
|
2881
|
+
/** @export */
|
|
2882
|
+
oa: YQ,
|
|
2883
|
+
/** @export */
|
|
2884
|
+
Z: sQ,
|
|
2885
|
+
/** @export */
|
|
2886
|
+
U: bQ,
|
|
2887
|
+
/** @export */
|
|
2888
|
+
wa: MQ,
|
|
2889
|
+
/** @export */
|
|
2890
|
+
z: HQ,
|
|
2891
|
+
/** @export */
|
|
2892
|
+
I: eQ,
|
|
2893
|
+
/** @export */
|
|
2894
|
+
P: mQ,
|
|
2895
|
+
/** @export */
|
|
2896
|
+
ga: JC,
|
|
2897
|
+
/** @export */
|
|
2898
|
+
ma: kQ,
|
|
2899
|
+
/** @export */
|
|
2900
|
+
y: TQ,
|
|
2901
|
+
/** @export */
|
|
2902
|
+
xa: XQ,
|
|
2903
|
+
/** @export */
|
|
2904
|
+
C: LQ,
|
|
2905
|
+
/** @export */
|
|
2906
|
+
va: rQ,
|
|
2907
|
+
/** @export */
|
|
2908
|
+
ua: uQ,
|
|
2909
|
+
/** @export */
|
|
2910
|
+
ta: zQ,
|
|
2911
|
+
/** @export */
|
|
2912
|
+
J: xQ,
|
|
2913
|
+
/** @export */
|
|
2914
|
+
X: jQ,
|
|
2915
|
+
/** @export */
|
|
2916
|
+
ya: vQ,
|
|
2917
|
+
/** @export */
|
|
2918
|
+
ka: OQ,
|
|
2919
|
+
/** @export */
|
|
2920
|
+
ja: fQ,
|
|
2921
|
+
/** @export */
|
|
2922
|
+
V: $Q,
|
|
2923
|
+
/** @export */
|
|
2924
|
+
ha: gE,
|
|
2925
|
+
/** @export */
|
|
2926
|
+
ea: CE,
|
|
2927
|
+
/** @export */
|
|
2928
|
+
$: gB,
|
|
2929
|
+
/** @export */
|
|
2930
|
+
sa: BE,
|
|
2931
|
+
/** @export */
|
|
2932
|
+
_: UE,
|
|
2933
|
+
/** @export */
|
|
2934
|
+
fa: SE,
|
|
2935
|
+
/** @export */
|
|
2936
|
+
ca: ZE,
|
|
2937
|
+
/** @export */
|
|
2938
|
+
aa: NE,
|
|
2939
|
+
/** @export */
|
|
2940
|
+
ba: DE,
|
|
2941
|
+
/** @export */
|
|
2942
|
+
S: pE,
|
|
2943
|
+
/** @export */
|
|
2944
|
+
R: eE,
|
|
2945
|
+
/** @export */
|
|
2946
|
+
i: wE,
|
|
2947
|
+
/** @export */
|
|
2948
|
+
M: uE,
|
|
2949
|
+
/** @export */
|
|
2950
|
+
e: hE,
|
|
2951
|
+
/** @export */
|
|
2952
|
+
m: HE,
|
|
2953
|
+
/** @export */
|
|
2954
|
+
s: rE,
|
|
2955
|
+
/** @export */
|
|
2956
|
+
u: yE,
|
|
2957
|
+
/** @export */
|
|
2958
|
+
h: ME,
|
|
2959
|
+
/** @export */
|
|
2960
|
+
c: YE,
|
|
2961
|
+
/** @export */
|
|
2962
|
+
o: KE,
|
|
2963
|
+
/** @export */
|
|
2964
|
+
N: TE,
|
|
2965
|
+
/** @export */
|
|
2966
|
+
d: sE,
|
|
2967
|
+
/** @export */
|
|
2968
|
+
K: xE,
|
|
2969
|
+
/** @export */
|
|
2970
|
+
L: zE,
|
|
2971
|
+
/** @export */
|
|
2972
|
+
E: XE,
|
|
2973
|
+
/** @export */
|
|
2974
|
+
f: bE,
|
|
2975
|
+
/** @export */
|
|
2976
|
+
D: LE,
|
|
2977
|
+
/** @export */
|
|
2978
|
+
r: tE,
|
|
2979
|
+
/** @export */
|
|
2980
|
+
Q: mE,
|
|
2981
|
+
/** @export */
|
|
2982
|
+
O: kE,
|
|
2983
|
+
/** @export */
|
|
2984
|
+
t: JE,
|
|
2985
|
+
/** @export */
|
|
2986
|
+
T: AB
|
|
2987
|
+
}, f = EI(), EB = (A) => (EB = f.Ca)(A), nC = (A) => (nC = f.Da)(A), lB = (A, I) => (lB = f.Ea)(A, I), yA = (A) => (yA = f.Ga)(A), u = (A, I) => (u = f.Ha)(A, I), UB = (A) => (UB = f.Ia)(A), dB = (A) => (dB = f.Ja)(A), SB = () => (SB = f.Ka)(), ZB = (A) => (ZB = f.La)(A), GC = (A) => (GC = f.Ma)(A), NB = (A, I, g) => (NB = f.Na)(A, I, g), WB = (A) => (WB = f.Oa)(A);
|
|
2988
|
+
function wE(A, I) {
|
|
2989
|
+
var g = r();
|
|
2990
|
+
try {
|
|
2991
|
+
return V(A)(I);
|
|
2992
|
+
} catch (B) {
|
|
2993
|
+
if (X(g), B !== B + 0) throw B;
|
|
2994
|
+
u(1, 0);
|
|
2995
|
+
}
|
|
2996
|
+
}
|
|
2997
|
+
function hE(A, I, g) {
|
|
2998
|
+
var B = r();
|
|
2999
|
+
try {
|
|
3000
|
+
return V(A)(I, g);
|
|
3001
|
+
} catch (U) {
|
|
3002
|
+
if (X(B), U !== U + 0) throw U;
|
|
3003
|
+
u(1, 0);
|
|
3004
|
+
}
|
|
3005
|
+
}
|
|
3006
|
+
function YE(A, I) {
|
|
3007
|
+
var g = r();
|
|
3008
|
+
try {
|
|
3009
|
+
V(A)(I);
|
|
3010
|
+
} catch (B) {
|
|
3011
|
+
if (X(g), B !== B + 0) throw B;
|
|
3012
|
+
u(1, 0);
|
|
3013
|
+
}
|
|
3014
|
+
}
|
|
3015
|
+
function tE(A, I, g, B, U, Z, N, W, J, i, a) {
|
|
3016
|
+
var c = r();
|
|
3017
|
+
try {
|
|
3018
|
+
V(A)(I, g, B, U, Z, N, W, J, i, a);
|
|
3019
|
+
} catch (p) {
|
|
3020
|
+
if (X(c), p !== p + 0) throw p;
|
|
3021
|
+
u(1, 0);
|
|
3022
|
+
}
|
|
3023
|
+
}
|
|
3024
|
+
function sE(A, I, g) {
|
|
3025
|
+
var B = r();
|
|
3026
|
+
try {
|
|
3027
|
+
V(A)(I, g);
|
|
3028
|
+
} catch (U) {
|
|
3029
|
+
if (X(B), U !== U + 0) throw U;
|
|
3030
|
+
u(1, 0);
|
|
3031
|
+
}
|
|
3032
|
+
}
|
|
3033
|
+
function bE(A, I, g, B) {
|
|
3034
|
+
var U = r();
|
|
3035
|
+
try {
|
|
3036
|
+
V(A)(I, g, B);
|
|
3037
|
+
} catch (Z) {
|
|
3038
|
+
if (X(U), Z !== Z + 0) throw Z;
|
|
3039
|
+
u(1, 0);
|
|
3040
|
+
}
|
|
3041
|
+
}
|
|
3042
|
+
function ME(A) {
|
|
3043
|
+
var I = r();
|
|
3044
|
+
try {
|
|
3045
|
+
V(A)();
|
|
3046
|
+
} catch (g) {
|
|
3047
|
+
if (X(I), g !== g + 0) throw g;
|
|
3048
|
+
u(1, 0);
|
|
3049
|
+
}
|
|
3050
|
+
}
|
|
3051
|
+
function HE(A, I, g, B) {
|
|
3052
|
+
var U = r();
|
|
3053
|
+
try {
|
|
3054
|
+
return V(A)(I, g, B);
|
|
3055
|
+
} catch (Z) {
|
|
3056
|
+
if (X(U), Z !== Z + 0) throw Z;
|
|
3057
|
+
u(1, 0);
|
|
3058
|
+
}
|
|
3059
|
+
}
|
|
3060
|
+
function pE(A, I, g, B, U) {
|
|
3061
|
+
var Z = r();
|
|
3062
|
+
try {
|
|
3063
|
+
return V(A)(I, g, B, U);
|
|
3064
|
+
} catch (N) {
|
|
3065
|
+
if (X(Z), N !== N + 0) throw N;
|
|
3066
|
+
u(1, 0);
|
|
3067
|
+
}
|
|
3068
|
+
}
|
|
3069
|
+
function eE(A, I, g, B, U, Z) {
|
|
3070
|
+
var N = r();
|
|
3071
|
+
try {
|
|
3072
|
+
return V(A)(I, g, B, U, Z);
|
|
3073
|
+
} catch (W) {
|
|
3074
|
+
if (X(N), W !== W + 0) throw W;
|
|
3075
|
+
u(1, 0);
|
|
3076
|
+
}
|
|
3077
|
+
}
|
|
3078
|
+
function mE(A, I, g) {
|
|
3079
|
+
var B = r();
|
|
3080
|
+
try {
|
|
3081
|
+
V(A)(I, g);
|
|
3082
|
+
} catch (U) {
|
|
3083
|
+
if (X(B), U !== U + 0) throw U;
|
|
3084
|
+
u(1, 0);
|
|
3085
|
+
}
|
|
3086
|
+
}
|
|
3087
|
+
function kE(A, I, g, B) {
|
|
3088
|
+
var U = r();
|
|
3089
|
+
try {
|
|
3090
|
+
V(A)(I, g, B);
|
|
3091
|
+
} catch (Z) {
|
|
3092
|
+
if (X(U), Z !== Z + 0) throw Z;
|
|
3093
|
+
u(1, 0);
|
|
3094
|
+
}
|
|
3095
|
+
}
|
|
3096
|
+
function yE(A) {
|
|
3097
|
+
var I = r();
|
|
3098
|
+
try {
|
|
3099
|
+
return V(A)();
|
|
3100
|
+
} catch (g) {
|
|
3101
|
+
if (X(I), g !== g + 0) throw g;
|
|
3102
|
+
return u(1, 0), 0n;
|
|
3103
|
+
}
|
|
3104
|
+
}
|
|
3105
|
+
function KE(A, I, g, B, U) {
|
|
3106
|
+
var Z = r();
|
|
3107
|
+
try {
|
|
3108
|
+
V(A)(I, g, B, U);
|
|
3109
|
+
} catch (N) {
|
|
3110
|
+
if (X(Z), N !== N + 0) throw N;
|
|
3111
|
+
u(1, 0);
|
|
3112
|
+
}
|
|
3113
|
+
}
|
|
3114
|
+
function TE(A, I, g) {
|
|
3115
|
+
var B = r();
|
|
3116
|
+
try {
|
|
3117
|
+
V(A)(I, g);
|
|
3118
|
+
} catch (U) {
|
|
3119
|
+
if (X(B), U !== U + 0) throw U;
|
|
3120
|
+
u(1, 0);
|
|
3121
|
+
}
|
|
3122
|
+
}
|
|
3123
|
+
function XE(A, I, g, B, U) {
|
|
3124
|
+
var Z = r();
|
|
3125
|
+
try {
|
|
3126
|
+
V(A)(I, g, B, U);
|
|
3127
|
+
} catch (N) {
|
|
3128
|
+
if (X(Z), N !== N + 0) throw N;
|
|
3129
|
+
u(1, 0);
|
|
3130
|
+
}
|
|
3131
|
+
}
|
|
3132
|
+
function LE(A, I, g, B, U) {
|
|
3133
|
+
var Z = r();
|
|
3134
|
+
try {
|
|
3135
|
+
V(A)(I, g, B, U);
|
|
3136
|
+
} catch (N) {
|
|
3137
|
+
if (X(Z), N !== N + 0) throw N;
|
|
3138
|
+
u(1, 0);
|
|
3139
|
+
}
|
|
3140
|
+
}
|
|
3141
|
+
function rE(A, I, g, B, U) {
|
|
3142
|
+
var Z = r();
|
|
3143
|
+
try {
|
|
3144
|
+
return V(A)(I, g, B, U);
|
|
3145
|
+
} catch (N) {
|
|
3146
|
+
if (X(Z), N !== N + 0) throw N;
|
|
3147
|
+
u(1, 0);
|
|
3148
|
+
}
|
|
3149
|
+
}
|
|
3150
|
+
function uE(A, I, g, B) {
|
|
3151
|
+
var U = r();
|
|
3152
|
+
try {
|
|
3153
|
+
return V(A)(I, g, B);
|
|
3154
|
+
} catch (Z) {
|
|
3155
|
+
if (X(U), Z !== Z + 0) throw Z;
|
|
3156
|
+
u(1, 0);
|
|
3157
|
+
}
|
|
3158
|
+
}
|
|
3159
|
+
function zE(A, I, g, B) {
|
|
3160
|
+
var U = r();
|
|
3161
|
+
try {
|
|
3162
|
+
V(A)(I, g, B);
|
|
3163
|
+
} catch (Z) {
|
|
3164
|
+
if (X(U), Z !== Z + 0) throw Z;
|
|
3165
|
+
u(1, 0);
|
|
3166
|
+
}
|
|
3167
|
+
}
|
|
3168
|
+
function xE(A, I, g, B) {
|
|
3169
|
+
var U = r();
|
|
3170
|
+
try {
|
|
3171
|
+
V(A)(I, g, B);
|
|
3172
|
+
} catch (Z) {
|
|
3173
|
+
if (X(U), Z !== Z + 0) throw Z;
|
|
3174
|
+
u(1, 0);
|
|
3175
|
+
}
|
|
3176
|
+
}
|
|
3177
|
+
Q.addFunction = RE;
|
|
3178
|
+
var Rg;
|
|
3179
|
+
vA = function A() {
|
|
3180
|
+
Rg || FB(), Rg || (vA = A);
|
|
3181
|
+
};
|
|
3182
|
+
function FB() {
|
|
3183
|
+
if (pA > 0 || (Tg(), pA > 0))
|
|
3184
|
+
return;
|
|
3185
|
+
function A() {
|
|
3186
|
+
var I;
|
|
3187
|
+
Rg || (Rg = !0, Q.calledRun = !0, !EA && (Xg(), G(Q), (I = Q.onRuntimeInitialized) == null || I.call(Q), Lg()));
|
|
3188
|
+
}
|
|
3189
|
+
Q.setStatus ? (Q.setStatus("Running..."), setTimeout(() => {
|
|
3190
|
+
setTimeout(() => Q.setStatus(""), 1), A();
|
|
3191
|
+
}, 1)) : A();
|
|
3192
|
+
}
|
|
3193
|
+
if (Q.preInit)
|
|
3194
|
+
for (typeof Q.preInit == "function" && (Q.preInit = [Q.preInit]); Q.preInit.length > 0; )
|
|
3195
|
+
Q.preInit.pop()();
|
|
3196
|
+
return FB(), D = R, D;
|
|
3197
|
+
};
|
|
3198
|
+
})();
|
|
3199
|
+
const Rl = async (E = {}, C) => {
|
|
3200
|
+
let d;
|
|
3201
|
+
if (C.startsWith("data:")) {
|
|
3202
|
+
const D = C.replace(/^data:.*?base64,/, "");
|
|
3203
|
+
let Q;
|
|
3204
|
+
if (typeof Buffer == "function" && typeof Buffer.from == "function")
|
|
3205
|
+
Q = Buffer.from(D, "base64");
|
|
3206
|
+
else if (typeof atob == "function") {
|
|
3207
|
+
const G = atob(D);
|
|
3208
|
+
Q = new Uint8Array(G.length);
|
|
3209
|
+
for (let h = 0; h < G.length; h++)
|
|
3210
|
+
Q[h] = G.charCodeAt(h);
|
|
3211
|
+
} else
|
|
3212
|
+
throw new Error(
|
|
3213
|
+
"Failed to decode base64-encoded data URL, Buffer and atob are not supported"
|
|
3214
|
+
);
|
|
3215
|
+
d = await WebAssembly.instantiate(Q, E);
|
|
3216
|
+
} else {
|
|
3217
|
+
const D = await fetch(C), Q = D.headers.get("Content-Type") || "";
|
|
3218
|
+
if ("instantiateStreaming" in WebAssembly && Q.startsWith("application/wasm"))
|
|
3219
|
+
d = await WebAssembly.instantiateStreaming(D, E);
|
|
3220
|
+
else {
|
|
3221
|
+
const G = await D.arrayBuffer();
|
|
3222
|
+
d = await WebAssembly.instantiate(G, E);
|
|
3223
|
+
}
|
|
3224
|
+
}
|
|
3225
|
+
return d.instance;
|
|
3226
|
+
}, cl = (E) => Rl(E, "data:application/wasm;base64,AGFzbQEAAAABzANAYAF/AGABfwF/YAJ/fwBgAn9/AX9gA39/fwBgA39/fwF/YAAAYAR/f39/AGAFf39/f38AYAABf2AGf39/f39/AGACf34AYAABfmAEf39/fwF/YAV/fn5+fgBgA39+fgBgA39/fQBgAn98AGABfQF9YAR/fn5/AGAKf39/f39/f39/fwBgBX9/f39/AX9gAX8BfmAFf39/f38BfGADf39+AGAAAXxgCH9/f39/f39/AGAGf3x/f39/AX9gA39/fABgBX9/fH9/AGALf39/f39/f39/f38AYAl/f39/f39/f38AYAR/f39/AXxgDX9/f39/f39/f39/f38AYAV/f399fwBgBX9/f35+AGAEf39/fABgBH9/f30AYAR/f3x/AX9gBH9/fn4AYAZ/f39/f38BfGACf3wBf2AEf35/fwF/YAN/fH8Bf2ADf39/AXxgBH5+fn4Bf2ACfn8Bf2ACf34Bf2ACf38BfWAHf39/f39/fwBgAX8BfGACfH8BfGAHf39/f39/fwF/YAJ/fgF+YAR/fn5+AGACf38BfmACfn4BfGACfn4BfWABfwF9YAJ/fQBgA35+fgF/YAN/fn8BfmAEf399fwBgBH98f38AAvsDUAFhAWEAAQFhAWIACQFhAWMAAgFhAWQABAFhAWUABQFhAWYABwFhAWcAAAFhAWgAAAFhAWkAAwFhAWoAAQFhAWsABAFhAWwABAFhAW0ADQFhAW4AFAFhAW8AHQFhAXAACAFhAXEADQFhAXIAHgFhAXMAFQFhAXQAAQFhAXUAFgFhAXYAHwFhAXcAFAFhAXgACgFhAXkABQFhAXoAIAFhAUEABAFhAUIAIQFhAUMAAAFhAUQACAFhAUUAIgFhAUYABAFhAUcAIwFhAUgAAgFhAUkAFwFhAUoAAQFhAUsAJAFhAUwAJQFhAU0AJgFhAU4AEAFhAU8AJwFhAVAAAwFhAVEAGAFhAVIAKAFhAVMAFwFhAVQAAAFhAVUABgFhAVYAKQFhAVcAAAFhAVgACQFhAVkACQFhAVoACQFhAV8AAQFhASQAGQFhAmFhACoBYQJiYQANAWECY2EAAQFhAmRhAAYBYQJlYQAAAWECZmEAKwFhAmdhAAABYQJoYQAFAWECaWEABgFhAmphAAMBYQJrYQAEAWECbGEAAAFhAm1hAAEBYQJuYQAHAWEC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QQFrDgIBAAILQYAIIQQLIAAgBDYCEAsgASACRwRAA0AgASgCABBQIAFBBGoiASACRw0ACwsgACgCBCICIAAoAggiAUcEQCAAIAEgAiABa0EDakF8cWo2AggLIAAoAgAiAARAIAAQUAsLVQEBfwJ/QQEgACAAQQFNGyEAA0ACQCAAEHkiAQR/IAEFQdDIASgCACIBDQFBAAsMAgsgAREGAAwACwALIgBFBEBBBBBcEPQBQaSpAUHyABALAAsgAAuLAgIDfwJ+AkAgACkDcCIEUEUgBCAAKQN4IAAoAgQiASAAKAIsIgJrrHwiBVdxRQRAIwBBEGsiAiQAQX8hAQJAIAAQhAINACAAIAJBD2pBASAAKAIgEQUAQQFHDQAgAi0ADyEBCyACQRBqJAAgASIDQQBODQEgACgCBCEBIAAoAiwhAgsgAEJ/NwNwIAAgATYCaCAAIAUgAiABa6x8NwN4QX8PCyAFQgF8IQUgACgCBCEBIAAoAgghAgJAIAApA3AiBFANACAEIAV9IgQgAiABa6xZDQAgASAEp2ohAgsgACACNgJoIAAgBSAAKAIsIgAgAWusfDcDeCAAIAFPBEAgAUEBayADOgAACyADC0oBAX8CQCAAKAIEIgFBCU8EQEGgxwFBADYCAEEDIAEQAkGgxwEoAgBBoMcBQQA2AgBBAUYNASAAQQA2AgQLIAAPC0EAEAAaEFcACzcBAX9BwL4BKAIAQaDHAUEANgIAEAdBoMcBKAIAQaDHAUEANgIAQQFGBEBBABAAEAkaCxC1AQALuwoCBX8PfiMAQeAAayIFJAAgBEL///////8/gyEMIAIgBIVCgICAgICAgICAf4MhCiACQv///////z+DIg1CIIghDiAEQjCIp0H//wFxIQcCQAJAIAJCMIinQf//AXEiCUH//wFrQYKAfk8EQCAHQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIgtCgICAgICAwP//AFQgC0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEKDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQogAyEBDAILIAEgC0KAgICAgIDA//8AhYRQBEAgAiADhFAEQEKAgICAgIDg//8AIQpCACEBDAMLIApC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ACgCFCEEDAELIAEhBQsgBCAFIAIQdhogACAAKAIUIAJqNgIUCwsLggEBA38jAEEQayICJAACQCAAKAIEIgFFDQAgARCmASIBRQ0AIAAoAgAiAARAIAJBCGoiAxBsIABBBGogAkEMaiACKAIIEKgBIgAQpQEaIAAQWyADEFsLIAEgASgCBCIAQQFrNgIEIAANACABIAEoAgAoAggRAAAgARBRCyACQRBqJAALaQEBfyMAQYACayIFJAAgBEGAwARxIAIgA0xyRQRAIAUgASACIANrIgNBgAIgA0GAAkkiARsQwwEgAUUEQANAIAAgBUGAAhBdIANBgAJrIgNB/wFLDQALCyAAIAUgAxBdCyAFQYACaiQAC3UBAX4gACABIAR+IAIgA358IANCIIgiAiABQiCIIgR+fCADQv////8PgyIDIAFC/////w+DIgF+IgVCIIggAyAEfnwiA0IgiHwgASACfiADQv////8Pg3wiAUIgiHw3AwggACAFQv////8PgyABQiCGhDcDAAsGACAAEFALUAEBfgJAIANBwABxBEAgASADQUBqrYYhAkIAIQEMAQsgA0UNACACIAOtIgSGIAFBwAAgA2utiIQhAiABIASGIQELIAAgATcDACAAIAI3AwgLyQkCBH8EfiMAQfAAayIGJAAgBEL///////////8AgyEJAkACQCABUCIFIAJC////////////AIMiCkKAgICAgIDA//8AfUKAgICAgIDAgIB/VCAKUBtFBEAgA0IAUiAJQoCAgICAgMD//wB9IgtCgICAgICAwICAf1YgC0KAgICAgIDAgIB/URsNAQsgBSAKQoCAgICAgMD//wBUIApCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhBCABIQMMAgsgA1AgCUKAgICAgIDA//8AVCAJQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQQMAgsgASAKQoCAgICAgMD//wCFhFAEQEKAgICAgIDg//8AIAIgASADhSACIASFQoCAgICAgICAgH+FhFAiBRshBEIAIAEgBRshAwwCCyADIAlCgICAgICAwP//AIWEUA0BIAEgCoRQBEAgAyAJhEIAUg0CIAEgA4MhAyACIASDIQQMAgsgAyAJhFBFDQAgASEDIAIhBAwBCyADIAEgASADVCAJIApWIAkgClEbIggb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QCACIAAoAgg2AhggAiAAKQIANwMQIABCADcCACAAQQA2AghBoMcBQQA2AgBBtwEgBCACQRBqEAQhAUGgxwEoAgBBoMcBQQA2AgBBAUcEQEGgxwFBADYCAEHVACABQaSrAUHvABAFQaDHASgCAEGgxwFBADYCAEEAIQVBAUcNBQsQASEBIAIsABtBAEgEQCACKAIQEFALIAAsAAtBAEgEQCAAKAIAEFALIAUNAgwDCxABIQEgAywAC0EATg0BIAMoAgAQUAwBCxABIQELIAQQaAsgARAGCwALbQEBfyAAKALsAyIBBEAgACABNgLwAyABEFALIABBgOAANgIAIABBuANqEFMgAEH8AmoQUyAAQcACahBTIABBhAJqEFMgAEHIAWoQUyAAQYwBahBTIABB0ABqEFMgAEEYahCHASAAQQxqEFIgAAtQAQF+AkAgA0HAAHEEQCACIANBQGqtiCEBQgAhAgwBCyADRQ0AIAJBwAAgA2uthiABIAOtIgSIhCEBIAIgBIghAgsgACABNwMAIAAgAjcDCAuhAQEDfyMAQRBrIgUkACAFIAM2AgwjAEGgAWsiBCQAIAQgACAEQZ4BaiABGyIANgKUASAEIAFBAWsiBkEAIAEgBk8bNgKYASAEQQBBkAH8CwAgBEF/NgJMIARBugE2AiQgBEF/NgJQIAQgBEGfAWo2AiwgBCAEQZQBajYCVCAAQQA6AAAgBCACIANBvAFBvQEQ/wEgBEGgAWokACAFQRBqJAALCQBBsSIQqQIAC9sBAgF/An5BASEEAkAgAEIAUiABQv///////////wCDIgVCgICAgICAwP//AFYgBUKAgICAgIDA//8AURsNACACQgBSIANC////////////AIMiBkKAgICAgIDA//8AViAGQoCAgICAgMD//wBRGw0AIAAgAoQgBSAGhIRQBEBBAA8LIAEgA4NCAFkEQCAAIAJUIAEgA1MgASADURsEQEF/DwsgACAChSABIAOFhEIAUg8LIAAgAlYgASADVSABIANRGwRAQX8PCyAAIAKFIAEgA4WEQgBSIQQLIAQLCQAgACABNgIEC4EBAgF+A38CQCAAQoCAgIAQVARAIAAhAgwBCwNAIAFBAWsiASAAQgqAIgJC9gF+IAB8p0EwcjoAACAAQv////+fAVYgAiEADQALCyACUEUEQCACpyEDA0Ag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fyAAIAAoAkgiAUEBayABcjYCSCAAKAIAIgFBCHEEQCAAIAFBIHI2AgBBfw8LIABCADcCBCAAIAAoAiwiATYCHCAAIAE2AhQgACABIAAoAjBqNgIQQQALKAAgASAAKAIAaiIAIAIpAgA3AgAgACACKQIQNwIQIAAgAikCCDcCCAs0AQF/IAAoAgAhAkEYEFQiACABIAJqIgEpAgA3AgAgACABKQIQNwIQIAAgASkCCDcCCCAACwcAIAAoAgQLHAAgACgCAEEMayIAQQhqEPUBQQBIBEAgABBQCwsLACAABEAgABBQCwtQAQF/AkAgAUUNACABQYCjAUGApQEQZiIBRQ0AIAEoAgggACgCCEF/c3ENACAAKAIMIAEoAgxBABBZRQ0AIAAoAhAgASgCEEEAEFkhAgsgAgttAQJ/IAFBAXEhBgJ/IAItADdBAUYEQCABQQh1IgUgBkUNARogAygCACAFEK8BDAELIAFBCHUgBkUNABogAiAAKAIENgI4QQAhA0EACyEFIAAgAiADIAVqIARBAiABQQJxGyAAKAIAKAIcEQcAC8MGAgR/A34jAEGAAWsiBSQAAkACQAJAIAMgBEIAQgAQgwFFDQACfyAEQv///////z+DIQoCfyAEQjCIp0H//wFxIgdB//8BRwRAQQQgBw0BGkECQQMgAyAKhFAbDAILIAMgCoRQCwtFDQAgAkIwiKciCEH//wFxIgZB//8BRw0BCyAFQRBqIAEgAiADIAQQWCAFIAUpAxAiAiAFKQMYIgEgAiABEKACIAUpAwghAiAFKQMAIQQMAQsgASACQv///////////wCDIgogAyAEQv///////////wCDIgkQgwFBAEwEQCABIAogAyAJEIMBBEAgASEEDAILIAVB8ABqIAEgAkIAQgAQWCAFKQN4IQIgBSkDcCEEDAELIARCMIinQf//AXEhByAGBH4gAQUgBUHgAGogASAKQgBCgICAgICAwLvAABBYIAUpA2giCkIwiKdB+ABrIQYgBSkDYAshBCAHRQRAIAVB0ABqIAMgCUIAQoCAgICAgMC7wAAQWCAFKQNYIglCMIinQfgAayEHIAUpA1AhAwsgCUL///////8/g0KAgICAgIDAAIQhCyAKQv///////z+DQoCAgICAgMAAhCEKIAYgB0oEQANAAn4gCiALfSADIARWrX0iCUIA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fiMAQYAFayICJAAjAEEQayIDJAAgA0EEaiIEEOsBQaDHAUEANgIAQa0BIAJB9ARqIgUgBCABECVBoMcBKAIAIQZBoMcBQQA2AgACQCAGQQFHBEAgBBBpIANBEGokAAwBCxABIANBBGoQaRAGAAsgAkEgakEAQdAE/AsAIAJBkic2AgggAkEBNgIMIAAoAhAhA0GgxwFBADYCACADQcQAIAMbEBQhB0GgxwEoAgAhA0GgxwFBADYCAAJAIANBAUYNACACQaMjNgIYIAIgBzcDECACIAIoAvQEIAUgAiwA/wQiA0EASBs2AhwgACgCCCIEBH8gACgCBCEAQaDHAUEANgIAIAQgACACQQhqEANBoMcBKAIAQaDHAUEANgIAQQFGDQEgAi0A/wQFIAMLwEEASARAIAIoAvQEEFALIAJBgAVqJAAPCxABIAIsAP8EQQBIBEAgAigC9AQQUAsQBgALGwAgACwAiwFBAEgEQCAAKAKAARBQCyAAEJ4CC2wBAn8gAUH4////B0kEQAJAIAFBC08EQCABQQdyQQFqIgMQVCECIAAgA0GAgICAeHI2AgggACACNgIAIAAgATYCBAwBCyAAIAE6AAsgACECCyACQQAgAfwLACABIAJqQQA6AAAgAA8LEIIBAAudAQEDfyMAQSBrIgEkACAAQYzZADYCAAJAIAAtABxBAXFFDQAgAC0AHUEBcQ0AIAFB6ccANgIQIwBBEGsiAiQAIAIgAUEQaiIDNgIMQai9AUGeygAgA0EAQQAQ/wEaIAJBEGokACABQenHADYCAEHEvgFBrNkAIAEQPRoLIAAsAEdBAEgEQCAAKAI8EFALIABBFGoQUiABQSBqJAAgAAtEAQF/AkAgACgCICIARQ0AIAAoAgAoAgBBoMcBQQA2AgAgACABIAIQKEGgxwEoAgBBoMcBQQA2AgBBAUcNABABEAYACwuqDwIFfw9+IwBB0AJrIgUkACAEQv///////z+DIQogAkL///////8/gyELIAIgBIVCgICAgICAgICAf4MhDCAEQjCIp0H//wFxIQgCQAJAIAJCMIinQf//AXEiCUH//wFrQYKAfk8EQCAIQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIg1CgICAgICAwP//AFQgDUKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEMDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQwgAyEBDAILIAEgDUKAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACEMDAMLIAxCgICAgICAwP//AIQhDEIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASANhFAEQEKAgICAgIDg//8AIAwgAiADhFAbIQxCACEBDAILIAIgA4RQBEAgDEKAgICAgIDA//8AhCEMQgAhAQwCCyANQv///////z9YBEAgBUHAAmogASALIAEgCyALUCIGG3kgBkEGdK18pyIGQQ9rEGJBECAGayEGIAUpA8gCIQsgBSkDwAIhAQsgAkL///////8/Vg0AIAVBsAJqIAMgCiADIAogClAiBxt5IAdBBnStfKciB0EPaxBiIAYgB2pBEGshBiAFKQO4AiEKIAUpA7ACIQMLIAVBoAJqIApCgICAgICAwACEIhJCD4YgA0IxiIQiAkIAQoCAgICw5ryC9QAgAn0iBEIAEGAgBUGQAmpCACAFKQOoAn1CACAEQgAQYCAFQYACaiAFKQOYAkIBhiAFKQOQAkI/iIQiBEIAIAJCABBgIAVB8AFqIARCAEIAIAUpA4gCfUIAEGAgBUHgAWogBSkD+AFCAYYgBSkD8AFCP4iEIgRCACACQgAQYCAFQdABaiAEQgBCACAFKQPoAX1CABBgIAVBwAFqIAUpA9gBQgGGIAUpA9ABQj+IhCIEQgAgAkIAEGAgBUGwAWogBEIAQgAgBSkDyAF9QgAQYCAFQaABaiACQgAgBSkDuAFCAYYgBSkDsAFCP4iEQgF9IgJCABBgIAVBkAFqIANCD4ZCACACQgAQYCAFQfAAaiACQgBCACAFKQOoASAFKQOgASINIAUpA5gBfCIEIA1UrXwgBEIBVq18fUIAEGAgBUGAAWpCASAEfUIAIAJCABBgIAYgCSAIa2ohBgJ/IAUpA3AiE0IBhiIOIAUpA4gBIg9CAYYgBSkDgAFCP4iEfCIQQufsAH0iFEIgiCICIAtCgICAgICAwACEIhVCAYYiFkIgiCIEfiIRIAFCAYYiDUIgiCIKIBAgFFatIA4gEFatIAUpA3hCAYYgE0I/iIQgD0I/iHx8fEIBfSITQiCIIhB+fCIOIBFUrSAOIA4gE0L/////D4MiEyABQj+IIhcgC0IBhoRC/////w+DIgt+fCIOVq18IAQgEH58IAQgE34iESALIBB+fCIPIBFUrUIghiAPQiCIhHwgDiAOIA9CIIZ8Ig5WrXwgDiAOIBRC/////w+DIhQgC34iESACIAp+fCIPIBFUrSAPIA8gEyANQv7///8PgyIRfnwiD1atfHwiDlatfCAOIAQgFH4iGCAQIBF+fCIEIAIgC358IgsgCiATfnwiEEIgiCALIBBWrSAEIBhUrSAEIAtWrXx8QiCGhHwiBCAOVK18IAQgDyACIBF+IgIgCiAUfnwiCkIgiCACIApWrUIghoR8IgIgD1StIAIgEEIghnwgAlStfHwiAiAEVK18IgRC/////////wBYBEAgFiAXhCEVIAVB0ABqIAIgBCADIBIQYCABQjGGIAUpA1h9IAUpA1AiAUIAUq19IQpCACABfSELIAZB/v8AagwBCyAFQeAAaiAEQj+GIAJCAYiEIgIgBEIBiCIEIAMgEhBgIAFCMIYgBSkDaH0gBSkDYCINQgBSrX0hCkIAIA19IQsgASENIAZB//8AagsiBkH//wFOBEAgDEKAgICAgIDA//8AhCEMQgAhAQwBCwJ+IAZBAEoEQCAKQgGGIAtCP4iEIQEgBEL///////8/gyAGrUIwhoQhCiALQgGGDAELIAZBj39MBEBCACEBDAILIAVBQGsgAiAEQQEgBmsQgAEgBUEwaiANIBUgBkHwAGoQYiAFQSBqIAMgEiAFKQNAIgIgBSkDSCIKEGAgBSkDOCAFKQMoQgGGIAUpAyAiAUI/iIR9IAUpAzAiBCABQgGGIg1UrX0hASAEIA19CyEEIAVBEGogAyASQgNCABBgIAUgAyASQgVCABBgIAogAiACIAMgBCACQgGDIgR8IgNUIAEgAyAEVK18IgEgElYgASASURutfCICVq18IgQgAiACIARCgICAgICAwP//AFQgAyAFKQMQViABIAUpAxgiBFYgASAEURtxrXwiAlatfCIEIAIgBEKAgICAgIDA//8AVCADIAUpAwBWIAEgBSkDCCIDViABIANRG3GtfCIBIAJUrXwgDIQhDAsgACABNwMAIAAgDDcDCCAFQdACaiQAC4oEAEHgpQFB1CcQREH4pQFB/CBBAUEAEENBhKYBQfMeQQFBgH9B/wAQD0GcpgFB7B5BAUGAf0H/ABAPQZCmAUHqHkEBQQBB/wEQD0GopgFB5RpBAkGAgH5B//8BEA9BtKYBQdwaQQJBAEH//wMQD0HApgFBwxtBBEGAgICAeEH/////BxAPQcymAUG6G0EEQQBBfxAPQdimAUGfIkEEQYCAgIB4Qf////8HEA9B5KYBQZYiQQRBAEF/EA9B8KYBQdIcQQhCgICAgICAgICAf0L///////////8AECBB/KYBQdEcQQhCAEJ/ECBBiKcBQcscQQQQH0GUpwFByCRBCBAfQbDSAEG+IhAhQfjSAEGgLRAhQcDTAEEEQaQiEBpBjNQAQQJByiIQGkHY1ABBBEHZIhAaQfTUABBBQZzVAEEAQdssEApBxNUAQQBBwS0QCkHs1QBBAUH5LBAKQZTWAEECQagpEApBvNYAQQNBxykQCkHk1gBBBEHvKRAKQYzXAEEFQYwqEApBtNcAQQRB5i0QCkHc1wBBBUGELhAKQcTVAEEAQfIqEApB7NUAQQFB0SoQCkGU1gBBAkG0KxAKQbzWAEEDQZIrEApB5NYAQQRBuiwQCkGM1wBBBUGYLBAKQYTYAEEIQfcrEApBrNgAQQlB1SsQCkHU2ABBBkGyKhAKQfzYAEEHQasuEAoLHAAgABCeASIAQdipATYCACAAQQRqIAEQwQEgAAu6DQIKfwF+IwBB4ABrIgQkACAAEDEiCTYCBCAAQaC8ATYCACABKAIAIQJBoMcBQQA2AgBB9gAgBEEsaiACEAQhBUGgxwEoAgAhAkGgxwFBADYCAAJAAkAgAkEBRwRAQaDHAUEANgIAQQFBxxsQCCECQaDHASgCACEDQaDHAUEANgIAAkAgA0EBRwRAIAQgAjYCJCAEQaC8ATYCIEGgxwFBADYCAEHhACAEQThqIAUQBCEDQaDHASgCACEHQaDHAUEANgIAAkACQAJAIAdBAUcEQCADKAIEIQdBoMcBQQA2AgBB9wAgCSACIAcQBUGgxwEoAgBBoMcBQQA2AgBBAUYNASADKAIEIgNBCU8EQEGgxwFBADYCAEEDIAMQAkGgxwEoAgBBoMcBQQA2AgBBAUYNCQsgAkEJSQ0DQaDHAUEANgIAQQMgAhACQaDHASgCAEGgxwFBADYCAEEBRw0DDAgLEAEhAgwBCxABIQIgAxBWGgsgBEEgahBWGgwCCyAFLAALQQBIBEAgBSgCABBQCyABKQMIIQxBoMcBQQA2AgBB+AAgBEEgaiIFIAwQKkGgxwEoAgBBoMcBQQA2AgBBAUcEQEGgxwFBADYCAEEBQZgfEAghAkGgxwEoAgAhA0GgxwFBADYCAAJAIANBAUcEQCAEIAI2AhAgBEGgvAE2AgxBoMcBQQA2AgBB4QAgBEFAayAFEAQhBUGgxwEoAgAhA0GgxwFBADYCAAJAAkACQAJAIANBAUcEQCAFKAIEIQNBoMcBQQA2AgBB9wAgCSACIAMQBUGgxwEoAgBBoMcBQQA2AgBBAUYNASAFKAIEIgVBCU8EQEGgxwFBADYCAEEDIAUQAkGgxwEoAgBBoMcBQQA2AgBBAUYNBQsgAkEJSQ0DQaDHAUEANgIAQQMgAhACQaDHASgCAEGgxwFBADYCAEEBRw0DDAwLEAEhAgwBCxABIQIgBRBWGgsgBEEMahBWGgwDCyAELAArQQBIBEAgBCgCIBBQCyABKAIEQQBKBEAgAUEQaiEHQQAhAgNAIAcgAkEMbGoiBSgCACEDAkAgBSgCCARAQaDHAUEANgIAQfYAIARBIGogAxAEIQVBoMcBKAIAIQNBoMcBQQA2AgACQAJAIANBAUcEQCAEQQQ2AhwgBEGgvAE2AhhBoMcBQQA2AgBB4QAgBEHIAGogBRAEIQNBoMcBKAIAQaDHAUEANgIAQQFGDQFBoMcBQQA2AgBB9wAgCSAEKAJMQQQQBUGgxwEoAgAhBkGgxwFBADYCAAJAIAZBAUcEQCAEKAJMIgNBCUkNAUGgxwFBADYCAEEDIAMQAkGgxwEoAgBBoMcBQQA2AgBBAUcNAQwRCxABIQIgAxBWGgwDCyAEKAIcIgNBCU8EQEGgxwFBADYCAEEDIAMQAkGgxwEoAgBBoMcBQQA2AgBBAUYNEAsgBCwAK0EATg0EIAUoAgAQUAwECxABIQIMDQsQASECCyAEQRhqEFYaIAQsACtBAE4NCyAFKAIAEFAMCwsgBSgCBCEGQaDHAUEANgIAQfYAIARBDGogAxAEIQVBoMcBKAIAIQNBoMcBQQA2AgACQAJAAkACQCADQQFHBEBBoMcBQQA2AgBB9gAgBCAGEAQhA0GgxwEoAgBBoMcBQQA2AgBBAUYNAUGgxwFBADYCAEHhACAEQdgAaiAFEAQhBkGgxwEoAgBBoMcBQQA2AgBBAUYNAkGgxwFBADYCACAEKAJcIQhB4QAgBEHQAGogAxAEIQpBoMcBKAIAIQtBoMcBQQA2AgACQAJAAkAgC0EBRwRAQaDHAUEANgIAQfcAIAkgCCAEKAJUEAVBoMcBKAIAQaDHAUEANgIAQQFGDQEgBCgCVCIGQQlPBEBBoMcBQQA2AgBBAyAGEAJBoMcBKAIAQaDHAUEANgIAQQFGDRULIAQoAlwiBkEJSQ0DQaDHAUEANgIAQQMgBhACQaDHASgCAEGgxwFBADYCAEEBRw0DDBQLEAEhAgwBCxABIQIgChBWGgsgBhBWGgwECyAELAALQQBIBEAgAygCABBQCyAELAAXQQBODQUgBSgCABBQDAULEAEhAgwOCxABIQIMAgsQASECCyAELAALQQBODQAgAygCABBQCyAELAAXQQBODQogBSgCABBQDAoLIAJBAWoiAiABKAIESA0ACwsgBEHgAGokAA8LDAcLEAEhAgsgBCwAK0EATg0EIAQoAiAQUAwECxABIQIMAwsQASECCyAFLAALQQBODQEgBSgCABBQDAELEAEhAgsgABBWGiACEAYAC0EAEAAaEFcACyYAIAAsABdBAEgEQCAAKAIMEFALIAAsAAtBAEgEQCAAKAIAEFALC8ABAgF/An5BfyEDAkAgAEIAUiABQv///////////wCDIgRCgICAgICAwP//AFYgBEKAgICAgIDA//8AURsNACACQv///////////wCDIgVCgICAgICAwP//AFYgBUKAgICAgIDA//8AUnENACAAIAQgBYSEUARAQQAPCyABIAKDQgBZBEAgASACUiABIAJTcQ0BIAAgASAChYRCAFIPCyAAQgBSIAEgAlUgASACURsNACAAIAEgAoWEQgBSIQMLIAMLiQIBA38jAEEQayICJAAgAEGw0QA2AgACQAJAIAAtAARBAUcNACACQQA2AgwCQEHIxwEtAABBAXEEQEHExwEoAgAhAQwBC0GgxwFBADYCAEHmAEEBQcDRAEEAEAwhAUGgxwEoAgBBoMcBQQA2AgBBAUYNAkHIxwFBAToAAEHExwEgATYCAAsgACgCDCEDQaDHAUEANgIAQfUAIAEgA0G5HCACQQxqQQAQKxpBoMcBKAIAQaDHAUEANgIAQQFGDQEgAigCDCIBRQ0AQaDHAUEANgIA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ACABKAIIIAQQWQRAIAEgAiADELEBDwsCQCAAIAEoAgAgBBBZBEACQCABKAIQIAJHBEAgAiABKAIURw0BCyADQQFHDQIgAUEBNgIgDwsgASADNgIgAkAgASgCLEEERg0AIAFBADsBNCAAKAIIIgAgASACIAJBASAEIAAoAgAoAhQRCgAgAS0ANUEBRgRAIAFBAzYCLCABLQA0RQ0BDAMLIAFBBDYCLAsgASACNgIUIAEgASgCKEEBajYCKCABKAIkQQFHDQEgASgCGEECRw0BIAFBAToANg8LIAAoAggiACABIAIgAyAEIAAoAgAoAhgRCAALCzgAIAAgASgCCCAFEFkEQCABIAIgAyAEELIBDwsgACgCCCIAIAEgAiADIAQgBSAAKAIAKAIUEQoAC6QBAQF/IwBBQGoiAyQAAn9BASAAIAFBABBZDQAaQQAgAUUNABpBACABQYCjAUGwowEQZiIBRQ0AGiADQQhqQQBBOPwLACADQQE6ADsgA0F/NgIQIAMgADYCDCADIAE2AgQgA0EBNgI0IAEgA0EEaiACKAIAQQEgASgCACgCHBEHACADKAIcIgBBAUYEQCACIAMoAhQ2AgALIABBAUYLIANBQGskAAtWAQF/IwBBEGsiAyQAIANBBGogAkEEaiACKAIAENEBIQIgASAAKAIAaiIALAALQQBIBEAgACgCABBQCyAAIAIpAgA3AgAgACACKAIINgIIIANBEGokAAsKACAAIAFBABBZCwYAELUBAAsVACAAIAEoAgQQ6QEgASgCACACRnELRQECfyABIAAoAgBqIgAoAgQgACwACyIBIAFBAEgiAxsiAUEEahB5IgIgATYCACACQQRqIAAoAgAgACADGyAB/AoAACACC0kBAX8jAEEQayIDJAAgA0EIaiAAIAEgACgCACgCDBEEACADKAIIIQAgAigCACEBIAMoAgwgAigCBBDpASAAIAFGcSADQRBqJAALCwAgACACIAEQvQELBwAgABDPAQsXACAAIAEQaiABKAIEIAEtAAsQcBDOAQueAQEDfyMAQRBrIgMkAAJAIAEoAgAiBARAIANBBGohBSACKAIEIAItAAsQcARAIAJBm8oAEJgCGiABKAIAIQQLIAUgASgCBCIBIAQgASgCACgCGBEEAEGgxwFBADYCAEHAASACIAUQBBpBoMcBKAIAQaDHAUEA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AswBIANCADcCxAEgA0EFNgLcASADQYquj+UDNgJwIANCgICAgKDh9dG8fzcCaEGgxwFBADYCACADQoquj+Wr4fXRPDcDECADQsyZs+bLmbPmPDcDCCADQoquj+Wr4fXRPDcClAQgA0LMmbPmy5mz5jw3AowEQZUBIANB9ABqIANBEGogA0EIahAFQaDHASgCAEGgxwFBADYCACADQcQBaiEHQQFHDQgQASEEIAcQUwwFCxABIQQMCwsQASEEDAwLEAEhBAwECxABIQQMAgsQASEECyAGEFMLIAIQUwsgBRBTDAULIANCADcCmAEgA0IANwKQASADQgA3AogBIANBATYCoAEgAEIANwMoIABCADcDICAAQgA3AxggAEEAOgAUIAAgAykC0AM3AjAgACADKQLYAzcCOCAAQUBrIAMpAuADNwIAIAAgAykA5QM3AEUgACADKALwAzYCUCAAIAMoAvQDNgJUIAAgAygC+AM2AlggACADKAL8AzYCXCAOQgA3AgggDkIANwIAIAAgAygCgAQ2AmAgACADKAKEBDYCZCADQgA3AoAEIAAgAygCiAQ2AmggACADKQKUAzcCbCAAIAMpApwDNwJ0IAAgAykCpAM3AnwgACADKQCpAzcAgQEgACADKAK0AzYCjAEgACADKAK4AzYCkAEgACADKAK8AzYClAEgACADKALAAzYCmAEgD0IANwIIIA9CADcCACAAIAMoAsQDNgKcASAAIAMoAsgDNgKgASADQgA3AsQDIAAgAygCzAM2AqQBIAAgAykD2AI3AqgBIAAgAykD4AI3ArABIAAgAykD6AI3ArgBIAAgAykA7QI3AL0BIAAgAygC+AI2AsgBIAAgAygC/AI2AswBIAAgAygCgAM2AtABIAAgAygChAM2AtQBIAVCADcCCCAFQgA3AgAgACADKAKIAzYC2AEgACADKAKMAzYC3AEgA0IANwOIAyAAIAMoApADNgLgASAAIAMpApwCNwLkASAAIAMpAqQCNwLsASAAIAMpAqwCNwL0ASAAIAMpALECNwD5ASAAIAMoArwCNgKEAiAAIAMoAsACNgKIAiAAIAMoAsQCNgKMAiAAIAMoAsgCNgKQAiACQgA3AgggAkIANwIAIAAgAygCzAI2ApQCIAAgAygC0AI2ApgCIANCADcCzAIgACADKALUAjYCnAIgACADKQLgATcCoAIgACADKQLoATcCqAIgACADKQLwATcCsAIgACADKQD1ATcAtQIgACADKAKAAjYCwAIgACADKAKEAjYCxAIgACADKAKIAjYCyAIgACADKAKMAjYCzAIgBkIANwIIIAZCADcCACAAIAMoApACNgLQAiAAIAMoApQCNgLUAiADQgA3ApACIAAgAygCmAI2AtgCIAAgAykCpAE3AtwCIAAgAykCrAE3AuQCIAAgAykCtAE3AuwCIAAgAykAuQE3APECIAAgAygCxAE2AvwCIAAgAygCyAE2AoADIAAgAygCzAE2AoQDIAAgAygC0AE2AogDIAdCADcCCCAHQgA3AgAgACADKALUATYCjAMgACADKALYATYCkAMgA0IANwLUASAAIAMoAtwBNgKUAyAAIAMpAmg3ApgDIAAgAykCcDcCoAMgACADKQJ4NwKoAyAAIAMpAH03AK0DIAAgAygCiAE2ArgDIAAgAygCjAE2ArwDIAAgAygCkAE2AsADIAAgAygClAE2AsQDIANCADcCkAEgA0IANwKIASAAIAMoApgBNgLIAyAAIAMoApwBNgLMAyADQgA3ApgBIAAgAygCoAE2AtADIANBiAFqEFMgBxBTIAYQUyACEFMgBRBTIA8QUyAOEFMgASoCFCERIABC////////////ADcD4AMgAEEAOgDYAyAAIBE4AtQDIANBsARqJAAgAA8LEAEhBAwFC0EAEAAQCRogBSgCBCIJIAUoAghHBEADQCAJKAIAEFAgCUEEaiIJIAUoAghHDQALC0GgxwFBADYCAEHZABAHQaDHASgCAEGgxwFBADYCAEEBRgRAEAEhBEGgxwFBADYCAEHaABAHQaDHASgCAEGgxwFBADYCAEEBRw0BQQAQABoQVwsACyAFKAIEIgIgBSgCCCIBRwRAIAUgASACIAFrQQNqQXxxajYCCAsgBSgCACIBRQ0AIAEQUAsgAygC/AIiAiADKAKAAyIBRwRAIAMgASACIAFrQQNqQXxxajYCgAMLIAMoAvgCIgFFDQAgARBQCyAPEFMLIA4QUwsgAEEMahBSIAQQBgALiwEBAn4CQAJAIAEqAgAgAioCAGAEQCABKgIEIAIqAgRfDQELQQgQXCEAQaDHAUEANgIAQa4BIAAQCCEBQaDHASgCAEGgxwFBADYCAEEBRw0BEAEgABBoEAYACyAB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QQBIIgQbIAUgAyAEG0GaIyACEIEBGiABKAIEIAEsAAsiAyADQQBIIgQbQQFrIQMCQCAEBEAgASADNgIEIAEoAgAhAQwBCyABIANB/wBxOgALCyABIANqQQA6AAALIAJB0ABqQQBB0AT8CwAgAkGSJzYCOCACQQE2AjwgACgCECEBQaDHAUEANgIAIAFBxAAgARsQFCELQaDHASgCACEBQaDHAUEANgIAAkAgAUEBRg0AIAJB+R02AkggAiALNwNAIAIgAigCpAUgAkGkBWogAiwArwUiAUEASBs2AkwgACgCCCIDBH8gACgCBCEAQaDHAUEANgIAIAMgACACQThqEANBoMcBKAIAQaDHAUEANgIAQQFGDQEgAi0ArwUFIAELwEEASARAIAIoAqQFEFALIAJBsAVqJAAPCxABIAIsAK8FQQBIBEAgAigCpAUQUAsQBgALlwICBn8BfiMAQfAEayICJAAgAEE8aiEGAkACQCAAKAJAIgQgACwARyIFIAVBAEgiBxsgASgCBCABLAALIgMgA0EASCIDG0cNACABKAIAIAEgAxshAyAHRQRAIAVFDQIgBiEEA0AgBC0AACADLQAARw0CIANBAWohAyAEQQFqIQQgBUEBayIFDQALDAILIAYoAgAgAyAEEJQBRQ0BCyACQSBqQQBB0AT8CwAgAkEBNgIMIAJBkic2AgggACgCECIEQcQAIAQbEQwAIQggAkH3JDYCGCACIAg3AxAgAiABKAIAIAEgASwAC0EASBs2AhwgBiABEIkBIAAoAggiAUUNACAAKAIEIAJBCGogARECAAsgAkHwBGokAAsJACAAQRBqEFsLDwAgAEHw5gA2AgAgABBQCw0AIABB8OYANgIAIAALsgIBAn8gAEIANwIEIABBjNkANgIAIABCADcCDEE0EFQiA0IANwIMIANBqJMBNgIAIANCADcCBCADQQA2AjAgA0IANwIUIANCADcCHCADQQA2AiQgAyADQShqIgQ2AiwgAyAENgIoIABCADcCPCAAQQA2AiAgAEEAOwEcIAAgAzYCGCAAIANBDGo2AhQgAEEANgJEIABBA0ECIAEbNgJMIAAgAToASCAAQaDaADYCACAAQdAAaiACQTD8CgAAIAAgAigCODYCiAEgACACKQIwNwKAASACQQA2AjggAkIANwIwIAIoAjwhASAAQgA3A6gB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QQRqIAJBCGoQGSIERAAAAAAAAPBBYyAERAAAAAAAAAAAZnEEQCAEqwwBC0EACyEAAkAgAigCBCIBBEBBoMcBQQA2AgBB6AAgARACQaDHASgCAEGgxwFBADYCAEEBRg0BCyAAQQlPBEBBoMcBQQA2AgBBAyAAEAJBoMcBKAIAQaDHAUEANgIAQQFGDQELIAJBEGokAA8LQQAQABoQVwALC+mxAR8AQYAIC/kOTm8gZXJyb3IgaW5mb3JtYXRpb24ASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATXVsdGlob3AgYXR0ZW1wdGVkAFJlcXVpcmVkIGtleSBub3QgYXZhaWxhYmxlAEtleSBoYXMgZXhwaXJlZABLZXkgaGFzIGJlZW4gcmV2b2tlZABLZXkgd2FzIHJlamVjdGVkIGJ5IHNlcnZpY2UAQYIXC5YBpQJbAPABtQWMBSUBgwYdA5QE/wDHAzEDCwa8AY8BfwPKBCsA2gavAEIDTgPcAQ4EFQChBg0BlAILAjgGZAK8Av8CXQPnBAsHzwLLBe8F2wXhAh4GRQKFAIICbANvBPEA8wMYBdkA2gNMBlQCewGdA70EAABRABUCuwCzA20A/wGFBC8F+QQ4AGUBRgGfALcGqAFzAlMBAEHIGAsMIQQAAAAAAAAAAC8CAEHoGAsGNQRHBFYEAEH+GAsCoAQAQZIZC+ZPRgVgBW4FYQYAAM8BAAAAAAAAAADJBukG+QYeBzkHSQdeB2luZmluaXR5AHBvc2VfcmVhZHkAaGFyZHdhcmVMYXRlbmN5AGhpbnRfbW92ZV9hd2F5AGZhY2VfbW92ZV9hd2F5AHBzZXVkb1lhd01heABpbml0aWFsUG9zZUNoZWNrRmFjZVdpZHRoUmF0aW9NYXgAcHNldWRvUGl0Y2hNYXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABwc2V1ZG9feWF3AHVuc2lnbmVkIHNob3J0AGZhcl9waG90aW51c19zdGFydABuZWFyX3Bob3RpbnVzX3N0YXJ0AHBvc2Vfc3RhcnQAbm9ybWFsaXplZE5lYXJGYXJDdXRPZmZQb2ludAB1bnNpZ25lZCBpbnQAZXZlbnQAb25Mb3dlckxldmVsRXZlbnQAZmFjZV9zdG9wX21vdmVtZW50AGltcGxlbWVudABmYWNlX25vdF91cHJpZ2h0AGZhY2VfdGlsdF9yaWdodABoZWlnaHQAc2hpZnQAZmFjZV90aWx0X2xlZnQAX19kZXN0cnVjdABPYmplY3QAZmxvYXQAdWludDY0X3QAa2V5cwBuZWFyX3Bob3RpbnVzAG5lYXJQaG90aW51cwB1eF9wcm9ncmVzcwBQaG90aW51c0NvbmZpZ3VyYXRpb25zAFByZW1pdW1MaXZlbmVzc0NvbmZpZ3VyYXRpb25zAFN0YW5kYXJkTGl2ZW5lc3NDb25maWd1cmF0aW9ucwBQb3NlQ2hlY2tDb25maWd1cmF0aW9ucwB2ZWN0b3IAcGhvdGludXNfY29sb3IAZmFjZV9rZWVwX2NlbnRlcgBoaW50X21vdmVfY2xvc2VyAGZhY2VfbW92ZV9jbG9zZXIATGl2ZW5lc3NVWERlbGVnYXRlV3JhcHBlcgBzZXRUaW1lc3RhbXBQcm92aWRlcgB1bnNpZ25lZCBjaGFyAGZhcgBpc19uZWFyAGZhY2VfdGlsdF91cABuYXRpdmVfdGltZXN0YW1wAGdldF90aW1lc3RhbXBfc3RkX2Nocm9ubwByZXF1aXJlZERpc3RhbmNlTW92ZW1lbnRSYXRpbwBmYWNlX3RpbHRfZG93bgBydW4AcGF0dGVybgBzdGQ6OmV4Y2VwdGlvbgBub3RpZnlPbkRlc3RydWN0aW9uAHN0YXJ0X3Nlc3Npb24AcHNldWRvWWF3TWluAGluaXRpYWxQb3NlQ2hlY2tGYWNlV2lkdGhSYXRpb01pbgBwc2V1ZG9QaXRjaE1pbgBuYW4AY3JlYXRlUHJlbWl1bQBzeXN0ZW0AYm9vbABmYWNlX2hvbGRfc3RpbGwAc3RkOjpiYWRfZnVuY3Rpb25fY2FsbAByZWZfZGlzdGFuY2VfY2FuY2VsAGZhY2VfaG9sZF9zdGlsbF9pbml0aWFsAHBvc2VDaGVjawBmYWNlX3JvaQBiYWRfYXJyYXlfbmV3X2xlbmd0aAB3aWR0aABmaW5pc2gAcHNldWRvX3BpdGNoAHVuc2lnbmVkIGxvbmcAc3RkOjp3c3RyaW5nAGJhc2ljX3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBEZWxheSBpcyBhbHJlYWR5IHJ1bm5pbmcAb25FdmVudEZvckZvcndhcmRpbmcAaW5mACVmLCVmLCVmAHByb2dyZXNzX2Jhcl92YWx1ZQBzZXREZWxlZ2F0ZQBMaXZlbmVzc1VYRGVsZWdhdGUAcG9zZQBvblJlc3BvbnNlAHRhcmdldEZhY2VXaWR0aFJhdGlvRm9yUHJvZmlsZVBpY3R1cmUAZmFjZV9rZWVwX2NlbnRlcl9zZXZlcmUAb25BZnRlckZyYW1lAG9uQmVmb3JlRnJhbWUAc3RlcF9uYW1lAGRvdWJsZQBjb25maXJtX2NvbG9yX2NoYW5nZQBjb25maXJtQ29sb3JDaGFuZ2UAZGlzcGxheV9tZXNzYWdlAG5vbmNlAExpdmVuZXNzVVggaXMgc2luZ2xlIHVzZS4gVG8gcnVuIHRoZSBVWCBhZ2FpbiwgY3JlYXRlIG5ldyBpbnN0YW5jZQByZWZfZGlzdGFuY2UAbGFuZHNjYXBlUmVzb2x1dGlvblNjYWxlRm9yRGlzdGFuY2UAZGVsYXlNaWxsaXNlY29uZHNCZXR3ZWVuRGlzdGFuY2UAdW5sb2NrX2V4cG9zdXJlX2FuZF93aGl0ZV9iYWxhbmNlAGNyZWF0ZVN0YW5kYXJkAGlvZABleHRlbmQAZmFyX3Bob3RpbnVzX2VuZABuZWFyX3Bob3RpbnVzX2VuZAByZWZfZGlzdGFuY2VfZW5kAHV4X2NvbW1hbmQAdWlfY29tbWFuZABjYW1lcmFfY29tbWFuZABub3JtYWxpemVkT2ZmQ2VudGVyVGhyZXNob2xkAHZvaWQAZmFjZV9ub25lX2RldGVjdGVkAHJlY3Vyc2l2ZV9tdXRleCBsb2NrIGZhaWxlZABjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQykgZmFpbGVkAHRhc2sgY2FuY2VsZWQAbW9yZV9jYXB0dXJlc19uZWVkZWQAJWYvJWQAJWQsJWQsJWQsJWQAVW5rbm93biBlcnJvciAlZABzdGQ6OmJhZF9hbGxvYwBvblZTeW5jAGdlbmVyaWMATGl2ZW5lc3NVWABQAE5BTgBJTkYAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ2NF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ2NF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4ANjE1Mjc3NwA1MjYxNzc3ADE2Mjc3ADE1Mjc3ADYxNjIyNzcANjI2MTI3NwAyNjE3NwAyNTE3NwA1MTUyMTc3ADUyNTExNzcAMzU1Mjc2NwAyMTc2NwAzNjEyNjY3ADM1NzE2NjcANTM3MTY2NwAyMTY2NwAzNjIyNTY3ADM1MjIzNjcAMjEzNjcAMTcyNjcAMjEyNjcAMjIxNjcANTM1MTE2NwAzNTMxMTY3ADEyNzU3ADM2NjE3NTcAMzUxMTY1NwAzNjcyNTU3ADYzNzI1NTcAMTI1NTcAMzUyMTU1NwAxMjM1NwAzNjExMzU3ADYzNjIyNTcAMzYzMjI1NwAxMTI1NwAyNzE1NwAxMjE1NwA2NTUyNzM3ADU2NjE3MzcANjUyMjYzNwAxMjYzNwA2NjIxNjM3ADUzMTE2MzcANjMyMjUzNwA1NTEyNTM3ADIxNTM3ADU2MTE1MzcANTM1MTIzNwA2MzYyMTM3ADYxNTc3MjcAMzE2NjcyNwAxNTcyNwAzMjE2NjI3ADEzNjI3ADU3NzE2MjcAMzIyNjUyNwAzMTc1NTI3ADE1NTI3ADYyMjM1MjcANTcxMTUyNwAzMTE2MzI3ADE1MzI3ADE2MjI3ADMxMzUyMjcAMTUxMjcANjI2MzEyNwA1MjY3NzE3ADI2NzE3ADMyNTU3MTcAMzI3NjYxNwAyNjYxNwAzMTE1NjE3ADUxMTM2MTcANjcyMjYxNwAzMTI1NTE3ADIzNTE3ADY3NzI1MTcAMjYzMTcAMzIyNTMxNwAyNjIxNwA1MTUzMjE3ADMyMzYxMTcAMjUxMTcANzE1Mjc3NgAyNzEzNjc2ADIyNzE2NzYAMjcyMzU3NgA1NTI3NgAyMjM1Mjc2ADUzMjc2ADcxNjIyNzYAMjc1NzE3NgAzNTE3NgA1MzE3NgAyMzYxNzY2ADMyNTY2ADIzMjUzNjYAMjUyMzM2NgA1MjM2NgA3MzYxMjY2ADU3MTY2ADM3MTY2ADMyMTY2ADMyNzU2ADMyNjU2ADczNzI1NTYAMzIzNTYANTEzNTYAMjYzMzI1NgA3MzYyMjU2ADMyMjU2ADM3MTU2ADc1NTI3MzYAMjMxNzYzNgA3NTIyNjM2ADczMTI2MzYAMjMyNzUzNgAzMTUzNgA1MjMzNgA1NzIzNgA3MzUyMjM2ADU3MTM2ADIzNTMxMzYAMjE2NzcyNgAzNTcyNgAzNTYyNgA3MjEzNjI2ADc3MjE2MjYAMzM1MjYANTYzMjYAMzUzMjYAMzUyMjYANzI1MzIyNgAyMjc3NjE2ADExMTY2MTYANzcyMjYxNgA3Mjc3NTE2ADM1NTE2ADMzNTE2ADc3NzI1MTYANTUzMTYANTMzMTYAMzUxMTYANTMxMTYANzI2MTc3NQAxNzEzNjc1ADE3MjM1NzUAMTE3MjU3NQAxNzY3Mjc1ADM2Mjc1ADYzMjc1ADY2MTc1ADExMzYxNzUANjMxNzUANzI1MTE3NQAzMTc2NQA3MzcxNjY1ADMxNTY1ADYyMzY1ADMxMzY1ADM3MjY1ADE1MzMxNjUANzM1MTE2NQAzMTE2NQAxMzUyNzU1ADMxNjU1ADEzMTYzNTUAMTYxMzM1NQA2MTM1NQA2NzI1NQAzNzI1NQAzMTI1NQA3MzUyMTU1ADc2NjE3MzUAMTMxNzYzNQAzMjYzNQAxMzI3NTM1ADczMjE1MzUANzYxMTUzNQA2MTMzNQA2NzIzNQAxMzYzMjM1ADY3MTM1ADczNjExMzUANzE3NzYyNQAzNjYyNQAzMzYyNQA3NzcxNjI1ADExNzc1MjUAMjIyNTUyNQA3NzExNTI1ADY2MzI1ADYzMzI1ADM2MjI1ADYzMjI1ADEyNTc3MTUAMzY3MTUAMzM2MTUAMzY1MTUANzEyMzUxNQA3NzEyNTE1ADM2MzE1ADY1MzE1ADM2MTE1ADcxNjMxMTUAMTcxNTY3MwAyNzI2NTczADIxMTYzNzMAMTIyNTM3MwAyMTY2MjczADU2MjczADIyNjUyNzMAMTc1NTI3MwAyNzY2MTczADExNTYxNzMANjUxNzMAMTI1NTE3MwA3NTUyNzYzADUxNzYzADUyNjYzADc1NzE2NjMAMjYyNzU2MwA1MTU2MwAyNTEzMzYzADc1MjIzNjMANTEzNjMANTcyNjMAMTMzNTI2MwA3NjUyMjYzADI2NjcxNjMAMTM1NTE2MwA3NjYyMTYzADUxMTYzADc1MzExNjMANjI3NTMANzY2MTc1MwAxNTE3NjUzADYyNjUzADc2NzI1NTMANjE1NTMAMTYyMzM1MwA2MjM1MwA3NjExMzUzADE1NTcyNTMAMjM2NjI1MwA2MjI1MwA3NjMyMjUzADc1NTEyNTMANjcxNTMAMjMzNjE1MwA3NTYxMTUzADI1MjY2MzMAMjYyNTYzMwA1MjYzMwA1MTYzMwAxNTE2NTMzADE2MTU1MzMANjI1MzMANjE1MzMAMjUxNjMzMwAxNjI1MzMzADcxNjY3MjMANjU3MjMANjU2MjMANTM2MjMANjY1MjMANzE3NTUyMwAxNzE1NTIzADcxMTYzMjMANjUzMjMANzI1NjIyMwA2NTIyMwAxNzM1MjIzADcxMzUyMjMANzI2NjEyMwA1NjcxMwA3MjU1NzEzADcyNzY2MTMAMjcyNjYxMwA1NTYxMwA1NjUxMwA2MzUxMwA1NjMxMwA3MjI1MzEzADcxNTUyMTMANTYxMTMAMjczNjExMwA3MjM2MTEzADcxNjUxMTMAZDNfbjdfazIAZDNfbjVfazIAMTY3NzIAMzcxNjY3MgAxMzY3MgA2NzE3NTcyADEzNTcyADMxMTYzNzIAMzE2NjI3MgAzNzU2MjcyADY3NTMyNzIANzUxNzIANjc2MzE3MgAxMjc2MgA3MTc2MgAzNjE3NjYyADcxNjYyADY1MjMzNjIANzEzNjIAMzY1NzI2MgAzMzY1MjYyADcxMjYyADc3MTYyADE3NzUyADExNzUyADE3NTUyADcxNTUyADMzNjYyNTIANjYzMzI1MgA1NTUyMjUyADc3MTUyADMzMzYxNTIAMzYzMzE1MgA3MTE1MgAxNzYzMgAzNTI2NjMyADY2NzE2MzIAMTE2MzIAMTc1MzIANjMxMzUzMgA3MTUzMgAzNTE2MzMyADYzNTcyMzIANjYzNTIzMgA2MzY3MTMyADYxNjc3MjIAMTY3MjIANjc2MTcyMgAzNzI1NjIyADc2NTIyADczNTIyADEzNTIyADY3MjUzMjIANzYxMjIANzY3MTIAMTU3MTIANjI3NzYxMgA3NjYxMgAzNzI2NjEyADczNTEyADc2MzEyADc2MjEyADM3MzYxMTIAMjU3NzEANTcyNzY3MQAyMzY3MQAzNzI1NTcxADIzNTcxADMyMjUzNzEANzYyNzEANTc1MzI3MQAzNzY1MTcxADMyNTUxNzEANTc2MzE3MQAyNzc2MQAyMjc2MQAyNzY2MQA3MjY2MQA3NzI2MQAzMzM1MjYxADM1MzMyNjEANzIyNjEAMzM1NTE2MQA1NTMzMTYxADY2NjExNjEANzI3NTEAMjE3NTEAMzUyNzU1MQA3MjU1MQA1NjEzMzUxADcyMzUxADc3MjUxADM1NjcxNTEAMzM1NjE1MQA3MjE1MQAyNzYzMQA1MzIzNjMxADcyNjMxADI3NTMxADM2MTU1MzEANTU3MjUzMQAyMjUzMQAzNjI1MzMxADUzNTcyMzEANTM2NzEzMQA1NTM2MTMxADI2NzIxADc1NzIxADczNjIxADUxNzc1MjEANzU1MjEAMzcxNTUyMQA3NTMyMQAzNzM1MjIxADc1MTIxADUyNTc3MTEAMjU3MTEANTc1MjcxMQA3NTYxMQA3MzYxMQAyMzYxMQAzNzE2NTExADU3MTYzMTEANzUyMTEAMAB0YXNrPFQ+LmF3YWl0X3Jlc3VtZSgpIG1heSBub3QgYmUgY2FsbGVkIGJlZm9yZSBhd2FpdF9yZWFkeSgpIHJldHVybnMgdHJ1ZS4ASW52YWxpZCBhd2FpdGFibGUgcmVzdWx0IHN0YXRlLgBBd2FpdGFibGUgcmVzdWx0IGlzIG5vdCB5ZXQgYXZhaWxhYmxlLgB0YXNrPFQ+IG1heSBiZSBjb19hd2FpdGVkIChvciBoYXZlIGF3YWl0X3Jlc3VtZSgpIHVzZWQpIG9ubHkgb25jZS4AdGFzazxUPiBtYXkgYmUgY29fYXdhaXRlZCAob3IgaGF2ZSBhd2FpdF9zdXNwZW5kKCkgdXNlZCkgb25seSBvbmNlLgBMaXZlbmVzc1VYIGRlc3Ryb3llZCB3aGlsZSBydW4oKSB3YXMgc3RpbGwgaW4gcHJvZ3Jlc3MuIEF3YWl0IHRoZSBQcm9taXNlIHJldHVybmVkIGJ5IHJ1bigpIGJlZm9yZSBkZWxldGluZyB0aGUgaW5zdGFuY2UuAChudWxsKQBJbnZhbGlkIGZvcm1hdC4gRXhwZWN0ZWQgJ3gseSx3LGgnAE1lZGlhbnMgY2FuIGJlIGNhbGN1bGF0ZWQgb25seSB3aGVuIHRoZSBidWZmZXIgaXMgbm90IGVtcHR5IQBPcGVuIHRocmVzaG9sZCBzaG91bGQgYmUgd2l0aGluIGNsb3NlZCB0aHJlc2hvbGQhAENhbm5vdCBmaW5kIGF0dHJpYnV0ZSB3aXRoIG5hbWU6IAAlcwoAAAB0KgAAdCoAAHQqAABONWp1bWlvOGpsaXZlX3V4MjJQaG90aW51c0NvbmZpZ3VyYXRpb25zRQAAAMRVAAAwJQAAcAB2cABpcHAAdnBwaQBwcHAAdnBwcABONWp1bWlvOGpsaXZlX3V4MjNQb3NlQ2hlY2tDb25maWd1cmF0aW9uc0UAAADEVQAAeyUAAGZwcAB2cHBmAE41anVtaW84amxpdmVfdXgzMFN0YW5kYXJkTGl2ZW5lc3NDb25maWd1cmF0aW9uc0UAAMRVAAC5JQAATjVqdW1pbzhqbGl2ZV91eDI5UHJlbWl1bUxpdmVuZXNzQ29uZmlndXJhdGlvbnNFAAAAAARWAAD0JQAA7CUAAFBONWp1bWlvOGpsaXZlX3V4MTBMaXZlbmVzc1VYRQAANFQAADQmAAAAAAAAaC0AAFBLTjVqdW1pbzhqbGl2ZV91eDEwTGl2ZW5lc3NVWEUANFQAAGQmAAABAAAAaC0AAHBwAHYAAAAAVCYAAOwlAABUJgAAKCYAAHQqAABoLQAA4FIAAFQmAAB2cHAA4FIAAGgtAAAAJwAAUDE4TGl2ZW5lc3NVWERlbGVnYXRlADE4TGl2ZW5lc3NVWERlbGVnYXRlAADEVQAA4iYAADRUAADMJgAAAAAAAPgmAADgUgAAaC0AAGRTAAB2cHBwAAAAAOBSAABoLQAAdCoAAOBSAABoLQAA4FIAAGgtAACUUwAAdnBwZABQSzE4TGl2ZW5lc3NVWERlbGVnYXRlADRUAABJJwAAAQAAAPgmAADgUgAAACcAAHQqAAAyNUxpdmVuZXNzVVhEZWxlZ2F0ZVdyYXBwZXIATjEwZW1zY3JpcHRlbjd3cmFwcGVySTE4TGl2ZW5lc3NVWERlbGVnYXRlRUUATjEwZW1zY3JpcHRlbjhpbnRlcm5hbDExV3JhcHBlckJhc2VFAAAAxFUAAMUnAADYUwAAmCcAAAAAAAACAAAA+CYAAAIAAADsJwAAAgQAAARWAAB8JwAA9CcAAFAyNUxpdmVuZXNzVVhEZWxlZ2F0ZVdyYXBwZXIAAAAANFQAACAoAAAAAAAAFCgAAFBLMjVMaXZlbmVzc1VYRGVsZWdhdGVXcmFwcGVyAAAANFQAAFAoAAABAAAAFCgAAOBSAAAUKAAAQCgAAHQqAAAAAAAAFCgAAMMAAADEAAAAxQAAAMYAAAAAAAAA9CcAAMcAAADHAAAAxQAAAMgAAADgUgAA4FIAAHQqAAB0KgAAMCkAAHQqAABwcHBwAAAAAHBTAABpcAAAdCoAAHQqAABOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAxFUAAPAoAABOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAAxFUAADgpAABOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQAAxFUAAIApAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRHNOU18xMWNoYXJfdHJhaXRzSURzRUVOU185YWxsb2NhdG9ySURzRUVFRQAAAMRVAADIKQAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUAAADEVQAAFCoAAE4xMGVtc2NyaXB0ZW4zdmFsRQAAxFUAAGAqAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUAAMRVAAB8KgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAADEVQAApCoAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQAAxFUAAMwqAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lzRUUAAMRVAAD0KgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAADEVQAAHCsAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQAAxFUAAEQrAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUAAMRVAABsKwAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAADEVQAAlCsAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQAAxFUAALwrAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l4RUUAAMRVAADkKwAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJeUVFAADEVQAADCwAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQAAxFUAADQsAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUAAMRVAABcLAAAAAAAAGgtAACDAAAAyQAAAMoAAACBAAAAywAAAMwAAADNAAAAxwAAAHAATjVqdW1pbzhqbGl2ZV91eDEwTGl2ZW5lc3NVWEUATjVqdW1pbzhqbGl2ZV91eDlQcm9jZWR1cmVFAE41anVtaW84amxpdmVfdXg5UHJvY2VkdXJlOERlbGVnYXRlRQAAAADEVQAA6CwAAAAAAACALQAAgwAAAMkAAADKAAAAgQAAAM4AAADPAAAA0AAAANEAAABONWp1bWlvOGpsaXZlX3V4MTdQcmVtaXVtTGl2ZW5lc3NVWEUAAAAA2FMAAK4sAAAAAAAAAQAAABAtAAAAAAAABFYAAEAtAABoLQAAAAAAAOAtAADSAAAA0wAAANQAAADVAAAA1gAAANcAAABONWp1bWlvOGpsaXZlX3V4MTBwcm9jZWR1cmVzMTdQaG90aW51c1Byb2NlZHVyZUUAAAAABFYAAKwtAAAgLgAATjVqdW1pbzhqbGl2ZV91eDEwcHJvY2VkdXJlczE4UG9zZUNoZWNrUHJvY2VkdXJlRQAAAMRVAADMLAAAAAAAAIguAADYAAAA2QAAANQAAADaAAAA2wAAANwAAADdAAAA3gAAAE41anVtaW84amxpdmVfdXgxMHByb2NlZHVyZXMyNE1lYXN1cmVGYWNlU2l6ZVByb2NlZHVyZUUABFYAAFAuAADgLwAAAAAAAEAvAADfAAAA4AAAAOEAAADiAAAA4wAAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU41YXN5bmM3ZGV0YWlsczEwdGFza19zdGF0ZUlONWp1bWlvOGpsaXZlX3V4MTBwcm9jZWR1cmVzMjRNZWFzdXJlRmFjZVNpemVQcm9jZWR1cmU2UmVzdWx0RUVFTlNfOWFsbG9jYXRvcklTOV9FRUVFAARWAACwLgAA0E0AALwQAAC8EAAAgRAAACoPAADnDAAADQ4AACoOAACEDwAA2Q8AAPwNAAAIDwAACxIAAN8NAAAAAAAA7C8AANgAAADZAAAA1AAAANoAAADkAAAA5QAAAOYAAADnAAAATjVqdW1pbzhqbGl2ZV91eDEwcHJvY2VkdXJlczIzQWRqdXN0RmFjZVNpemVQcm9jZWR1cmVFAAAEVgAA7C0AACAuAAAEVgAAqC8AAOAvAAAAAAAA4C8AANgAAADZAAAA1AAAANoAAADkAAAA6AAAAOYAAADHAAAAAAAAAPQwAADpAAAA6gAAAOsAAADsAAAA7QAAAO4AAADvAAAA8AAAAPEAAABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjVqdW1pbzhqbGl2ZV91eDEwcHJvY2VkdXJlczVkZWxheUVpUktOUzJfMTFqc3RvcF90b2tlbjlTdG9wVG9rZW5FRTMkXzBOU185YWxsb2NhdG9ySVM5X0VFRnZ2RUVFAE5TdDNfXzIxMF9fZnVuY3Rpb242X19iYXNlSUZ2dkVFRQAAxFUAAMkwAAAEVgAATDAAAOwwAABaTjVqdW1pbzhqbGl2ZV91eDEwcHJvY2VkdXJlczVkZWxheUVpUktOU18xMWpzdG9wX3Rva2VuOVN0b3BUb2tlbkVFMyRfMADEVQAAADEAAAAAAADEMQAA8gAAAPMAAAD0AAAA4gAAAPUAAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlONWFzeW5jMjJ0YXNrX2NvbXBsZXRpb25fc291cmNlSXZFRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAABFYAAGwxAADQTQAAAAAAAMAyAAD2AAAA9wAAAPgAAAD5AAAA+gAAAPsAAAD8AAAA/QAAAP4AAABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjVqdW1pbzhqbGl2ZV91eDEwcHJvY2VkdXJlczIwcnVuX3VudGlsX2NvbXBsZXRpb25FUktOUzJfMTFqc3RvcF90b2tlbjlTdG9wVG9rZW5FUk5TXzEwc2hhcmVkX3B0cklONWFzeW5jMjJ0YXNrX2NvbXBsZXRpb25fc291cmNlSXZFRUVFRTMkXzBOU185YWxsb2NhdG9ySVNGX0VFRnZ2RUVFAAAABFYAAPwxAADsMAAAWk41anVtaW84amxpdmVfdXgxMHByb2NlZHVyZXMyMHJ1bl91bnRpbF9jb21wbGV0aW9uRVJLTlNfMTFqc3RvcF90b2tlbjlTdG9wVG9rZW5FUk5TdDNfXzIxMHNoYXJlZF9wdHJJTjVhc3luYzIydGFza19jb21wbGV0aW9uX3NvdXJjZUl2RUVFRUUzJF8wAAAAAMRVAADMMgAAAAAAANgzAAD/AAAAAAEAAAEBAADiAAAAAgEAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU41YXN5bmM3ZGV0YWlsczEwdGFza19zdGF0ZUl2RUVOU185YWxsb2NhdG9ySVM0X0VFRUUAAARWAACEMwAA0E0AAAAAAAAQNAAAcgAAAAMBAAAEAQAATjVhc3luYzEzdGFza19jYW5jZWxlZEUABFYAAPgzAAAkVgAAAAAAAGA0AABWAAAABQEAAAYBAABONWp1bWlvOGpsaXZlX3V4MjVJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uRQAAAAAEVgAAMDQAAPRUAAAAAAA/AAAAPwAAAD8AQYTpAAutLJYwB3csYQ7uulEJmRnEbQeP9GpwNaVj6aOVZJ4yiNsOpLjceR7p1eCI2dKXK0y2Cb18sX4HLbjnkR2/kGQQtx3yILBqSHG5895BvoR91Noa6+TdbVG11PTHhdOD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RU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAABFYAALxJAADQTQAAAAAAANF0ngBXnb0qgHBSD///PicKAAAAZAAAAOgDAAAQJwAAoIYBAEBCDwCAlpgAAOH1BRgAAAA1AAAAcQAAAGv////O+///kr///wAAAAAAAAAAGQALABkZGQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAAZAAoKGRkZAwoHAAEACQsYAAAJBgsAAAsABhkAAAAZGRkAQcGVAQshDgAAAAAAAAAAGQALDRkZGQANAAACAAkOAAAACQAOAAAOAEH7lQELAQwAQYeWAQsVEwAAAAATAAAAAAkMAAAAAAAMAAAMAEG1lgELARAAQcGWAQsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEHvlgELARIAQfuWAQseEQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoaAEGylwELDhoAAAAaGhoAAAAAAAAJAEHjlwELARQAQe+XAQsVFwAAAAAXAAAAAAkUAAAAAAAUAAAUAEGdmAELARYAQamYAQu5AxUAAAAAFQAAAAAJFgAAAAAAFgAAFgAAMDEyMzQ1Njc4OUFCQ0RFRv////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAAAAAAAAAjE0AAHwAAAAcAQAAHQEAAE5TdDNfXzIxN2JhZF9mdW5jdGlvbl9jYWxsRQAEVgAAcE0AACRWAABOU3QzX18yMTRfX3NoYXJlZF9jb3VudEUATlN0M19fMjE5X19zaGFyZWRfd2Vha19jb3VudEUAANhTAACxTQAAAAAAAAEAAABIUQBB8JsBC8gBMDAwMTAyMDMwNDA1MDYwNzA4MDkxMDExMTIxMzE0MTUxNjE3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HAAAMxwAAG0cAABlHAAAURwAAIEbAACHGwAAjRsAAJsbAADlHgAArR4AALMeAAD9HgAAuR4AANceAACnHgAArx0AAJ8dAABtHQAAzR0AAIMdAACZHQAAZx0AAEMfAAAhHwAASR8AACcfAAAtHwAAMx8AAAMfAAArHgAA8R0AAFEeAABBHgAA/x0AAA0eAADbHQAAZx4AAG0eAACDHgAAiR4AACsdAAA7HQAAQx0AAFEdAAAXGQAAzxgAANUYAAAlGQAA8xgAABEZAADHGAAA2xcAANUXAAC5FwAA4RcAAMEXAADPFwAAmxcAAJMZAABRGQAAqRkAAHEZAAB3GQAAhRkAADsZAABJGAAABxgAAFUYAABPGAAAHRgAACsYAAD3FwAAcxgAAIMYAACLGAAAmRgAAFsXAABhFwAAdxcAAH0XAACLFwAAgxcAAG8XAABnFwAAnxgAAJEYAACJGAAArxgAAIEYAAB5GAAAaxgAAKcYAAAxGAAAIxgAAAUYAABBGAAAORgAAEEZAABvGQAAXxkAAFcZAABJGQAAZxkAAJkZAADHFwAAvxcAAO8XAADnFwAAoRcAAL8YAAD5GAAA6xgAAAEZAADjGAAAKxkAAM0YAAALHQAAVx0AAEkdAABBHQAAAx0AADkdAAAxHQAAIx0AAHseAABzHgAAXx4AAFceAAATHgAATx4AAOkdAAAbHgAAOR4AACMeAAAxHgAACR8AAF8fAAARHwAAGR8AAEEfAACRHQAAvyAAANkgAAC3IAAAqSAAAHsdAAD5HwAAtR0AAPEfAAC9HQAA0x0AAMUdAADVHwAArR0AAOMfAACfHgAAASEAAPMgAAC/HgAAxx4AAPseAADdHgAAJSAAAC0gAACZIAAAkSAAAF8gAABnIAAAoSAAAKMfAACrHwAAsx8AAH8fAABpGwAAwR8AAHEbAAChGwAAkxsAAGEbAAA5HAAASRwAAEEcAABrHAAAKxwAAOUbAAAFGwAA+xsAAOUaAADzGwAA3RoAABscAADJGgAAIxoAAA0aAAAVGgAA/xkAAL8cAAAdGwAADRsAANkcAADhHAAA+xwAAGUaAABdGgAAzxsAALMaAADXGwAAiRoAAJEaAACBGgAAmRoAAI8cAACfHAAA4xkAANUZAAC/GQAAtxkAAMcZAAA3IQAAayEAAGMhAABzIgAAZSIAAFshAABTIQAApyEAAK8hAAAdIgAAJSIAAEMiAABLIgAAOyIAALciAAC/IgAAnSIAAI8iAADZIQAA9SEAAO0hAADLIQAACSIAAJkhAACRIQAAMyIAACkhAABFIQAAgSIAAK8ZAADrGQAAhxwAAHMcAAB5GgAAwRoAAK8bAABJGgAAJRsAADkbAABdHAAAIxwAAHkbAACbHwAAjR8AAFkbAACJIAAAeyAAAEsgAABDIAAA8x4AAOseAAAbIQAAzx4AAKUdAABzHQAAiR0AAF8dAABXHwAATx8AADkfAABHHgAA9x0AAAUeAADhHQAAjx4AAJceAAATHQAAGx0AAB0ZAADbGAAACRkAALcYAACpFwAAsRcAAJMXAAChGQAAfRkAAIsZAAAzGQAADRgAABUYAAD9FwAAWxgAAGMYAABLFwAAUxcAAJccAAC3IQAAFRsAADUgAEG4vAELASoAQYC9AQsCLGQAQai9AQsBBQBBtL0BCwIZAQBBzL0BCwoaAQAAGwEAAExkAEHkvQELAQIAQfS9AQsI//////////8AQbi+AQsKNFAAAFhQAAArAQ=="), wl = () => ol(), hl = async () => await Vl({
|
|
3227
|
+
instantiateWasm(E, C) {
|
|
3228
|
+
cl(E).then((d) => (C(d), d.exports));
|
|
3229
|
+
},
|
|
3230
|
+
noExitRuntime: !0,
|
|
3231
|
+
noInitialRun: !0
|
|
3232
|
+
});
|
|
3233
|
+
function Yl(E, C, d, D = []) {
|
|
3234
|
+
const Q = E?.onBeforeFrame(), G = { ...d, ...Q !== void 0 ? { managed_tag: Q } : {} };
|
|
3235
|
+
C?.postMessage(G, D), E?.onAfterFrame();
|
|
3236
|
+
}
|
|
3237
|
+
function tl(E, C) {
|
|
3238
|
+
return "rotation" in E ? E.rotation : C && E.visibleRect && E.visibleRect.width == C.videoHeight && E.visibleRect.height == C.videoWidth ? 90 : 0;
|
|
3239
|
+
}
|
|
3240
|
+
const pl = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3241
|
+
__proto__: null,
|
|
3242
|
+
ConfigName: hB,
|
|
3243
|
+
DaCameraEventName: nA,
|
|
3244
|
+
DaDocIdEventName: qI,
|
|
3245
|
+
DaEventName: T,
|
|
3246
|
+
DaImageEventName: _I,
|
|
3247
|
+
DaLifecycleEventName: MA,
|
|
3248
|
+
DaLivenessEventName: t,
|
|
3249
|
+
DaSensorEventName: II,
|
|
3250
|
+
DaServiceEventMap: TA,
|
|
3251
|
+
DaSystem: BQ,
|
|
3252
|
+
UXDisplayMessage: rB,
|
|
3253
|
+
UXUICommand: uB,
|
|
3254
|
+
createDaSystem: Gl,
|
|
3255
|
+
createWasmInstance: wC,
|
|
3256
|
+
daCameraInputEvents: YB,
|
|
3257
|
+
daCameraOutputEvents: tB,
|
|
3258
|
+
daDocIdInputEvents: sB,
|
|
3259
|
+
daDocIdOutputEvents: bB,
|
|
3260
|
+
daImageInputEvent: MB,
|
|
3261
|
+
daImageOutputEvent: HB,
|
|
3262
|
+
daInputEvent: XB,
|
|
3263
|
+
daLifecycleInputEvent: pB,
|
|
3264
|
+
daLifecycleOutputEvent: eB,
|
|
3265
|
+
daLivenessInputEvent: mB,
|
|
3266
|
+
daLivenessOutputEvent: kB,
|
|
3267
|
+
daOutputEvent: LB,
|
|
3268
|
+
daSensorInputEvent: yB,
|
|
3269
|
+
daServiceInputEvent: KB,
|
|
3270
|
+
daServiceOutputEvent: TB,
|
|
3271
|
+
getConfigResult: _B,
|
|
3272
|
+
getInitializeSuccessResult: $B,
|
|
3273
|
+
getLivenessUXModuleInstance: hl,
|
|
3274
|
+
isDaOutputEvent: yg,
|
|
3275
|
+
isDaWorkerOutputEvent: Kg,
|
|
3276
|
+
isInputEventType: PB,
|
|
3277
|
+
isReadyWithMaxEvents: qB,
|
|
3278
|
+
isSimdEnabled: wl,
|
|
3279
|
+
livenessUXSendImage: Yl,
|
|
3280
|
+
unstable_getVideoFrameRotationCompat: tl
|
|
3281
|
+
}, Symbol.toStringTag, { value: "Module" })), sl = "" + new URL("../assets/ml/assets_da_web_id.tar.gz", import.meta.url).href, el = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3282
|
+
__proto__: null,
|
|
3283
|
+
default: sl
|
|
3284
|
+
}, Symbol.toStringTag, { value: "Module" })), bl = "" + new URL("../assets/ml/assets_da_web_liveness.tar.gz", import.meta.url).href, ml = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3285
|
+
__proto__: null,
|
|
3286
|
+
default: bl
|
|
3287
|
+
}, Symbol.toStringTag, { value: "Module" })), Ml = "" + new URL("../assets/ml/dac_simd.wasm", import.meta.url).href, kl = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3288
|
+
__proto__: null,
|
|
3289
|
+
default: Ml
|
|
3290
|
+
}, Symbol.toStringTag, { value: "Module" })), Hl = "" + new URL("../assets/ml/dac.wasm", import.meta.url).href, yl = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3291
|
+
__proto__: null,
|
|
3292
|
+
default: Hl
|
|
3293
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
3294
|
+
export {
|
|
3295
|
+
T as K,
|
|
3296
|
+
hl as T,
|
|
3297
|
+
Yl as X,
|
|
3298
|
+
tl as a,
|
|
3299
|
+
el as b,
|
|
3300
|
+
ml as c,
|
|
3301
|
+
kl as d,
|
|
3302
|
+
hB as e,
|
|
3303
|
+
yl as f,
|
|
3304
|
+
pl as i,
|
|
3305
|
+
Gl as k,
|
|
3306
|
+
qI as p,
|
|
3307
|
+
Kg as u,
|
|
3308
|
+
uB as x,
|
|
3309
|
+
rB as z
|
|
3310
|
+
};
|
|
3311
|
+
//# sourceMappingURL=da-system.CF4xYrOs.js.map
|