@marp-team/marp-cli
Version:
A CLI interface for Marp and Marpit based converters
18 lines • 360 kB
JavaScript
"use strict";var e=require("node:process"),t=require("node:os"),r=require("node:tty"),n=require("./binary-BtVxQo5V.js"),i=require("node:fs"),o=require("node:path"),s=require("fs"),a=require("fs/promises"),u=require("path"),c=require("node:child_process"),l=require("node:util"),p=require("os"),f=require("child_process"),d=require("process"),A=require("events"),h=require("tty"),g=require("util"),m=require("net"),D=require("puppeteer-core"),w=require("node:events"),b=require("node:util/types"),v=require("node:crypto"),y=require("yargs/yargs"),E=require("cosmiconfig"),C=require("node:url"),_=require("module"),F=require("node:assert"),k=require("node:module"),P=require("node:v8"),B=require("node:fs/promises"),x=require("stream"),S=require("node:stream/consumers"),R=require("node:timers/promises"),T=require("tmp"),O=require("@marp-team/marpit"),I=require("chokidar"),L=require("ws"),M=require("node:querystring"),N=require("serve-index"),H=require("@marp-team/marp-core/package.json");function j(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var Q=j(C);const U=(e=0)=>t=>`[${t+e}m`,z=(e=0)=>t=>`[${38+e};5;${t}m`,G=(e=0)=>(t,r,n)=>`[${38+e};2;${t};${r};${n}m`,Y={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(Y.modifier),Object.keys(Y.color),Object.keys(Y.bgColor);const W=function(){const e=new Map;for(const[t,r]of Object.entries(Y)){for(const[t,n]of Object.entries(r))Y[t]={open:`[${n[0]}m`,close:`[${n[1]}m`},r[t]=Y[t],e.set(n[0],n[1]);Object.defineProperty(Y,t,{value:r,enumerable:!1})}return Object.defineProperty(Y,"codes",{value:e,enumerable:!1}),Y.color.close="[39m",Y.bgColor.close="[49m",Y.color.ansi=U(),Y.color.ansi256=z(),Y.color.ansi16m=G(),Y.bgColor.ansi=U(10),Y.bgColor.ansi256=z(10),Y.bgColor.ansi16m=G(10),Object.defineProperties(Y,{rgbToAnsi256:{value:(e,t,r)=>e===t&&t===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(r/255*5),enumerable:!1},hexToRgb:{value(e){const t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[r]=t;3===r.length&&(r=[...r].map(e=>e+e).join(""));const n=Number.parseInt(r,16);return[n>>16&255,n>>8&255,255&n]},enumerable:!1},hexToAnsi256:{value:e=>Y.rgbToAnsi256(...Y.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return e-8+90;let t,r,n;if(e>=232)t=(10*(e-232)+8)/255,r=t,n=t;else{const i=(e-=16)%36;t=Math.floor(e/36)/5,r=Math.floor(i/6)/5,n=i%6/5}const i=2*Math.max(t,r,n);if(0===i)return 30;let o=30+(Math.round(n)<<2|Math.round(r)<<1|Math.round(t));return 2===i&&(o+=60),o},enumerable:!1},rgbToAnsi:{value:(e,t,r)=>Y.ansi256ToAnsi(Y.rgbToAnsi256(e,t,r)),enumerable:!1},hexToAnsi:{value:e=>Y.ansi256ToAnsi(Y.hexToAnsi256(e)),enumerable:!1}}),Y}();function X(t,r=(globalThis.Deno?globalThis.Deno.args:e.argv)){const n=t.startsWith("-")?"":1===t.length?"-":"--",i=r.indexOf(n+t),o=r.indexOf("--");return-1!==i&&(-1===o||i<o)}const{env:q}=e;let $;function J(r,n={}){return 0!==(i=function(r,{streamIsTTY:n,sniffFlags:i=!0}={}){const o=function(){if("FORCE_COLOR"in q)return"true"===q.FORCE_COLOR?1:"false"===q.FORCE_COLOR?0:0===q.FORCE_COLOR.length?1:Math.min(Number.parseInt(q.FORCE_COLOR,10),3)}();void 0!==o&&($=o);const s=i?$:o;if(0===s)return 0;if(i){if(X("color=16m")||X("color=full")||X("color=truecolor"))return 3;if(X("color=256"))return 2}if("TF_BUILD"in q&&"AGENT_NAME"in q)return 1;if(r&&!n&&void 0===s)return 0;const a=s||0;if("dumb"===q.TERM)return a;if("win32"===e.platform){const e=t.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in q)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(e=>e in q)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(e=>e in q)||"codeship"===q.CI_NAME?1:a;if("TEAMCITY_VERSION"in q)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(q.TEAMCITY_VERSION)?1:0;if("truecolor"===q.COLORTERM)return 3;if("xterm-kitty"===q.TERM)return 3;if("TERM_PROGRAM"in q){const e=Number.parseInt((q.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(q.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(q.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(q.TERM)||"COLORTERM"in q?1:a}(r,{streamIsTTY:r&&r.isTTY,...n}))&&{level:i,hasBasic:!0,has256:i>=2,has16m:i>=3};var i}X("no-color")||X("no-colors")||X("color=false")||X("color=never")?$=0:(X("color")||X("colors")||X("color=true")||X("color=always"))&&($=1);const Z={stdout:J({isTTY:r.isatty(1)}),stderr:J({isTTY:r.isatty(2)})};function K(e,t,r){let n=e.indexOf(t);if(-1===n)return e;const i=t.length;let o=0,s="";do{s+=e.slice(o,n)+t+r,o=n+i,n=e.indexOf(t,o)}while(-1!==n);return s+=e.slice(o),s}const{stdout:V,stderr:ee}=Z,te=Symbol("GENERATOR"),re=Symbol("STYLER"),ne=Symbol("IS_EMPTY"),ie=["ansi","ansi","ansi256","ansi16m"],oe=Object.create(null);function se(e){return(e=>{const t=(...e)=>e.join(" ");return((e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const r=V?V.level:0;e.level=void 0===t.level?r:t.level})(t,e),Object.setPrototypeOf(t,se.prototype),t})(e)}Object.setPrototypeOf(se.prototype,Function.prototype);for(const[e,t]of Object.entries(W))oe[e]={get(){const r=pe(this,le(t.open,t.close,this[re]),this[ne]);return Object.defineProperty(this,e,{value:r}),r}};oe.visible={get(){const e=pe(this,this[re],!0);return Object.defineProperty(this,"visible",{value:e}),e}};const ae=(e,t,r,...n)=>"rgb"===e?"ansi16m"===t?W[r].ansi16m(...n):"ansi256"===t?W[r].ansi256(W.rgbToAnsi256(...n)):W[r].ansi(W.rgbToAnsi(...n)):"hex"===e?ae("rgb",t,r,...W.hexToRgb(...n)):W[r][e](...n),ue=["rgb","hex","ansi256"];for(const e of ue)oe[e]={get(){const{level:t}=this;return function(...r){const n=le(ae(e,ie[t],"color",...r),W.color.close,this[re]);return pe(this,n,this[ne])}}},oe["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const{level:t}=this;return function(...r){const n=le(ae(e,ie[t],"bgColor",...r),W.bgColor.close,this[re]);return pe(this,n,this[ne])}}};const ce=Object.defineProperties(()=>{},{...oe,level:{enumerable:!0,get(){return this[te].level},set(e){this[te].level=e}}}),le=(e,t,r)=>{let n,i;return void 0===r?(n=e,i=t):(n=r.openAll+e,i=t+r.closeAll),{open:e,close:t,openAll:n,closeAll:i,parent:r}},pe=(e,t,r)=>{const n=(...e)=>fe(n,1===e.length?""+e[0]:e.join(" "));return Object.setPrototypeOf(n,ce),n[te]=e,n[re]=t,n[ne]=r,n},fe=(e,t)=>{if(e.level<=0||!t)return e[ne]?"":t;let r=e[re];if(void 0===r)return t;const{openAll:n,closeAll:i}=r;if(t.includes(""))for(;void 0!==r;)t=K(t,r.close,r.open),r=r.parent;const o=t.indexOf("\n");return-1!==o&&(t=function(e,t,r,n){let i=0,o="";do{const s="\r"===e[n-1];o+=e.slice(i,s?n-1:n)+t+(s?"\r\n":"\n")+r,i=n+1,n=e.indexOf("\n",i)}while(-1!==n);return o+=e.slice(i),o}(t,i,n,o)),n+t+i};Object.defineProperties(se.prototype,oe);const de=se();se({level:ee?ee.level:0});class CLIError extends Error{errorCode;message;name="CLIError";constructor(e,t=Ae.GENERAL_ERROR){super(),this.message=e,this.errorCode=t}toString(){return this.message}}const Ae={INVALID_OPTIONS:-1,GENERAL_ERROR:1,NOT_FOUND_BROWSER:2,LISTEN_PORT_IS_ALREADY_USED:3,CANNOT_SPAWN_SNAP_CHROMIUM:4,NOT_FOUND_SOFFICE:5,NOT_FOUND_CHROMIUM:2};function he(e,t=Ae.GENERAL_ERROR){const r=new CLIError(e,t);throw n.d("%O",r),r}const ge=e=>"[object Error]"===Object.prototype.toString.call(e);var me,De,we={},be=function(){if(me)return we;function e(e,t,r){var n=e.length,i=0,o=1,s=0;function a(t){if(null===r)i+=t;else for(;t>0;)10===e.charCodeAt(i)?(i++,o++,s=0):(i++,s++),t--}function u(e){null===r?i=e:a(e-i)}function c(){for(;i<n;){var t=e.charCodeAt(i);if(32!==t&&9!==t&&13!==t&&10!==t)break;a(1)}}function l(t){return e.substr(i,t.length)===t&&(a(t.length),!0)}function p(t){var r=e.indexOf(t,i);u(-1!==r?r+t.length:n)}function f(t){var r=e.indexOf(t,i);if(-1!==r){var o=e.substring(i,r);return u(r+t.length),o}return o=e.substr(i),u(n),o}n>0&&65279===e.charCodeAt(0)&&(i=1);var d=0,A=null,h=[],g=[],m=null;function D(e,t){h.push(d),g.push(A),d=e,A=t}function w(){if(0===h.length)return b("illegal state stack");d=h.pop(),A=g.pop()}function b(t){throw new Error("Near offset "+i+": "+t+" ~~~"+e.substr(i,50)+"~~~")}function v(){var e;1===d?function(){if(null===m)return b("missing <key>");var e={};null!==r&&(e[r]={filename:t,line:o,char:s}),A[m]=e,m=null,D(1,e)}():2===d?(e={},null!==r&&(e[r]={filename:t,line:o,char:s}),A.push(e),D(1,e)):(A={},null!==r&&(A[r]={filename:t,line:o,char:s}),D(1,A))}function y(){if(1!==d)return b("unexpected </dict>");w()}function E(){var e;1===d?function(){if(null===m)return b("missing <key>");var e=[];A[m]=e,m=null,D(2,e)}():2===d?(e=[],A.push(e),D(2,e)):D(2,A=[])}function C(){return 1===d||2!==d?b("unexpected </array>"):void w()}function _(e){return 1!==d?b("unexpected <key>"):null!==m?b("too many <key>"):void(m=e)}function F(e){if(1===d){if(null===m)return b("missing <key>");A[m]=e,m=null}else 2===d?A.push(e):A=e}function k(e){if(isNaN(e))return b("cannot parse float");if(1===d){if(null===m)return b("missing <key>");A[m]=e,m=null}else 2===d?A.push(e):A=e}function P(e){if(isNaN(e))return b("cannot parse integer");if(1===d){if(null===m)return b("missing <key>");A[m]=e,m=null}else 2===d?A.push(e):A=e}function B(e){if(1===d){if(null===m)return b("missing <key>");A[m]=e,m=null}else 2===d?A.push(e):A=e}function x(e){if(1===d){if(null===m)return b("missing <key>");A[m]=e,m=null}else 2===d?A.push(e):A=e}function S(e){if(1===d){if(null===m)return b("missing <key>");A[m]=e,m=null}else 2===d?A.push(e):A=e}function R(){var e=f(">"),t=!1;return 47===e.charCodeAt(e.length-1)&&(t=!0,e=e.substring(0,e.length-1)),{name:e.trim(),isClosed:t}}function T(e){if(e.isClosed)return"";var t=f("</");return p(">"),t.replace(/&#([0-9]+);/g,function(e,t){return String.fromCodePoint(parseInt(t,10))}).replace(/&#x([0-9a-f]+);/g,function(e,t){return String.fromCodePoint(parseInt(t,16))}).replace(/&|<|>|"|'/g,function(e){switch(e){case"&":return"&";case"<":return"<";case">":return">";case""":return'"';case"'":return"'"}return e})}for(;i<n&&(c(),!(i>=n));){var O=e.charCodeAt(i);if(a(1),60!==O)return b("expected <");if(i>=n)return b("unexpected end of input");var I=e.charCodeAt(i);if(63!==I)if(33!==I){if(47===I){if(a(1),c(),l("plist")){p(">");continue}if(l("dict")){p(">"),y();continue}if(l("array")){p(">"),C();continue}return b("unexpected closed tag")}var L=R();switch(L.name){case"dict":v(),L.isClosed&&y();continue;case"array":E(),L.isClosed&&C();continue;case"key":_(T(L));continue;case"string":F(T(L));continue;case"real":k(parseFloat(T(L)));continue;case"integer":P(parseInt(T(L),10));continue;case"date":B(new Date(T(L)));continue;case"data":x(T(L));continue;case"true":T(L),S(!0);continue;case"false":T(L),S(!1);continue}if(!/^plist/.test(L.name))return b("unexpected opened tag "+L.name)}else{if(a(1),l("--")){p("--\x3e");continue}p(">")}else a(1),p("?>")}return A}return me=1,we.__esModule=!0,we.parse=we.parseWithLocation=void 0,we.parseWithLocation=function(t,r,n){return e(t,r,n)},we.parse=function(t){return e(t,null,null)},we}(),ve={},ye={};function Ee(){if(De)return ye;De=1,Object.defineProperty(ye,"__esModule",{value:!0}),ye.sync=ye.isexe=void 0;const e=s,t=a;ye.isexe=async(e,n={})=>{const{ignoreErrors:i=!1}=n;try{return r(await(0,t.stat)(e),n)}catch(e){const t=e;if(i||"EACCES"===t.code)return!1;throw t}},ye.sync=(t,n={})=>{const{ignoreErrors:i=!1}=n;try{return r((0,e.statSync)(t),n)}catch(e){const t=e;if(i||"EACCES"===t.code)return!1;throw t}};const r=(e,t)=>e.isFile()&&n(e,t),n=(e,t)=>{const r=t.uid??process.getuid?.(),n=t.groups??process.getgroups?.()??[],i=t.gid??process.getgid?.()??n[0];if(void 0===r||void 0===i)throw new Error("cannot get uid or gid");const o=new Set([i,...n]),s=e.mode,a=e.uid,u=e.gid,c=parseInt("100",8),l=parseInt("010",8),p=c|l;return!!(s&parseInt("001",8)||s&l&&o.has(u)||s&c&&a===r||s&p&&0===r)};return ye}var Ce,_e={};var Fe,ke,Pe,Be,xe={};function Se(){return ke||(ke=1,function(e){var t=ve&&ve.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=ve&&ve.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=ve&&ve.__importStar||function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&t(n,e,i);return r(n,e),n},i=ve&&ve.__exportStar||function(e,r){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(r,n)||t(r,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.sync=e.isexe=e.posix=e.win32=void 0;const o=n(Ee());e.posix=o;const u=n(function(){if(Ce)return _e;Ce=1,Object.defineProperty(_e,"__esModule",{value:!0}),_e.sync=_e.isexe=void 0;const e=s,t=a;_e.isexe=async(e,n={})=>{const{ignoreErrors:i=!1}=n;try{return r(await(0,t.stat)(e),e,n)}catch(e){const t=e;if(i||"EACCES"===t.code)return!1;throw t}},_e.sync=(t,n={})=>{const{ignoreErrors:i=!1}=n;try{return r((0,e.statSync)(t),t,n)}catch(e){const t=e;if(i||"EACCES"===t.code)return!1;throw t}};const r=(e,t,r)=>e.isFile()&&((e,t)=>{const{pathExt:r=process.env.PATHEXT||""}=t,n=r.split(";");if(-1!==n.indexOf(""))return!0;for(let t=0;t<n.length;t++){const r=n[t].toLowerCase(),i=e.substring(e.length-r.length).toLowerCase();if(r&&i===r)return!0}return!1})(t,r);return _e}());e.win32=u,i((Fe||(Fe=1,Object.defineProperty(xe,"__esModule",{value:!0})),xe),e);const c="win32"===(process.env._ISEXE_TEST_PLATFORM_||process.platform)?u:o;e.isexe=c.isexe,e.sync=c.sync}(ve)),ve}var Re=function(){if(Be)return Pe;Be=1;const{isexe:e,sync:t}=Se(),{join:r,delimiter:n,sep:i,posix:o}=u,s="win32"===process.platform,a=new RegExp(`[${o.sep}${i===o.sep?"":i}]`.replace(/(\\)/g,"\\$1")),c=new RegExp(`^\\.${a.source}`),l=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),p=(e,{path:t=process.env.PATH,pathExt:r=process.env.PATHEXT,delimiter:i=n})=>{const o=e.match(a)?[""]:[...s?[process.cwd()]:[],...(t||"").split(i)];if(s){const t=r||[".EXE",".CMD",".BAT",".COM"].join(i),n=t.split(i).flatMap(e=>[e,e.toLowerCase()]);return e.includes(".")&&""!==n[0]&&n.unshift(""),{pathEnv:o,pathExt:n,pathExtExe:t}}return{pathEnv:o,pathExt:[""]}},f=(e,t)=>{const n=/^".*"$/.test(e)?e.slice(1,-1):e;return(!n&&c.test(t)?t.slice(0,2):"")+r(n,t)},d=async(t,r={})=>{const{pathEnv:n,pathExt:i,pathExtExe:o}=p(t,r),s=[];for(const a of n){const n=f(a,t);for(const t of i){const i=n+t;if(await e(i,{pathExt:o,ignoreErrors:!0})){if(!r.all)return i;s.push(i)}}}if(r.all&&s.length)return s;if(r.nothrow)return null;throw l(t)};return Pe=d,d.sync=(e,r={})=>{const{pathEnv:n,pathExt:i,pathExtExe:o}=p(e,r),s=[];for(const a of n){const n=f(a,e);for(const e of i){const i=n+e;if(t(i,{pathExt:o,ignoreErrors:!0})){if(!r.all)return i;s.push(i)}}}if(r.all&&s.length)return s;if(r.nothrow)return null;throw l(e)},Pe}(),Te=n.g(Re);const Oe=()=>{const e={value:void 0,init:async t=>await(e.value??=Promise.resolve(t()).then(t=>e.value=t))};return e},Ie=l.promisify(c.execFile),Le=({stdout:e})=>e.trim(),Me=async(e,t=!1)=>await Ie("wslpath",[t?"-m":"-w",e]).then(Le),Ne=async e=>await Ie("wslpath",["-u",e]).then(Le),He=async e=>{const t=await Ie("cmd.exe",["/c","SET",e]).then(Le);if(t.startsWith(`${e}=`))return t.slice(e.length+1)},je=Oe(),Qe=()=>je.init(async()=>{if(2!==await Ge())return null;try{return(await Ie("wslinfo",["--networking-mode"]).then(Le)).toLowerCase()}catch(e){return n.d("Error while detecting WSL networking mode: %o",e),"nat"}}),Ue=Oe(),ze=/microsoft-standard-wsl2/i,Ge=()=>Ue.init(async()=>{if((await Promise.resolve().then(function(){return require("./index-S2P_KO2B.js")})).default){const e=await(async()=>{if(process.env.WSL_DISTRO_NAME&&process.env.WSL_INTEROP)return!0;try{const e=await i.promises.readFile("/proc/version","utf8");if(ze.test(e))return!0;const t=e.match(/gcc[^,]+?(\d+)\.\d+\.\d+/);if(t&&Number.parseInt(t[1],10)>=8)return!0}catch(e){return n.d("Error while detecting WSL version: %o",e),n.d("Assuming current WSL version is the primary version 2"),!0}})()?2:1;return n.d("Detected WSL version: %s",e),e}return 0}),Ye=async()=>1===await Ge()?"wsl1":process.platform,We=async(e,t)=>{try{return await i.promises.access(e,t),!0}catch{return!1}},Xe=async e=>await We(e,i.constants.X_OK),qe=async(e,t)=>{const r=e.length;if(0!==r)return new Promise(i=>{const o=Array(r),s=Array(r);e.forEach((e,a)=>{t(e).then(e=>{o[a]=e,s[a]=!!e}).catch(e=>{n.a("%o",e),s[a]=!1}).finally(()=>{let e;for(let t=r-1;t>=0;t-=1)!1!==s[t]&&(e=t);void 0===e?i(void 0):s[e]&&i(o[e])})})})},$e=async e=>await qe(e,async e=>await Xe(e)?e:void 0),Je=async e=>"linux"===process.platform&&(!!e.startsWith("/snap/")||!(!Ze(e)||!(await i.promises.readFile(e)).includes("/snap/"))),Ze=e=>{let t=null;try{t=i.openSync(e,"r");const r=Buffer.alloc(2);if(i.readSync(t,r,0,2,0),35===r[0]&&33===r[1])return!0}catch{}finally{null!==t&&i.closeSync(t)}return!1},Ke=async e=>await qe(e,async e=>{const t=await Ve(e);if(t&&await Xe(t))return t}),Ve=async e=>await Te(e,{nothrow:!0})??void 0,et=/.app\/?$/,tt=async e=>{if("darwin"!==process.platform)return e;if(!et.test(e))return e;n.a(`Maybe macOS app bundle path: ${e}`);try{if((await i.promises.stat(e)).isDirectory()){const t=o.join(e,"Contents","Info.plist"),r=await i.promises.readFile(t),s=be.parse(r.toString());if("APPL"==s.CFBundlePackageType&&s.CFBundleExecutable){const t=o.join(e,"Contents","MacOS",s.CFBundleExecutable);return n.a(`macOS app bundle has been confirmed. Use normalized executable path: ${t}`),t}}}catch{}return e};var rt,nt,it,ot,st,at,ut=(nt||(nt=1,rt=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}),rt),ct=n.g(ut),lt={exports:{}},pt={exports:{}},ft={exports:{}};function dt(){return st||(st=1,function(e,t){var r;function n(e){function n(){if(n.enabled){var e=n,i=+new Date,o=i-(r||i);e.diff=o,e.prev=r,e.curr=i,r=i;for(var s=new Array(arguments.length),a=0;a<s.length;a++)s[a]=arguments[a];s[0]=t.coerce(s[0]),"string"!=typeof s[0]&&s.unshift("%O");var u=0;s[0]=s[0].replace(/%([a-zA-Z%])/g,function(r,n){if("%%"===r)return r;u++;var i=t.formatters[n];if("function"==typeof i){var o=s[u];r=i.call(e,o),s.splice(u,1),u--}return r}),t.formatArgs.call(e,s),(n.log||t.log||console.log.bind(console)).apply(e,s)}}return n.namespace=e,n.enabled=t.enabled(e),n.useColors=t.useColors(),n.color=function(e){var r,n=0;for(r in e)n=(n<<5)-n+e.charCodeAt(r),n|=0;return t.colors[Math.abs(n)%t.colors.length]}(e),"function"==typeof t.init&&t.init(n),n}(t=ft.exports=n.debug=n.default=n).coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){t.enable("")},t.enable=function(e){t.save(e),t.names=[],t.skips=[];for(var r=("string"==typeof e?e:"").split(/[\s,]+/),n=r.length,i=0;i<n;i++)r[i]&&("-"===(e=r[i].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.substr(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){var r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=function(){if(ot)return it;ot=1;var e=1e3,t=60*e,r=60*t,n=24*r;function i(e,t,r){if(!(e<t))return e<1.5*t?Math.floor(e/t)+" "+r:Math.ceil(e/t)+" "+r+"s"}return it=function(o,s){s=s||{};var a=typeof o;if("string"===a&&o.length>0)return function(i){if(!((i=String(i)).length>100)){var o=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(i);if(o){var s=parseFloat(o[1]);switch((o[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*s;case"days":case"day":case"d":return s*n;case"hours":case"hour":case"hrs":case"hr":case"h":return s*r;case"minutes":case"minute":case"mins":case"min":case"m":return s*t;case"seconds":case"second":case"secs":case"sec":case"s":return s*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return}}}}(o);if("number"===a&&!1===isNaN(o))return s.long?function(o){return i(o,n,"day")||i(o,r,"hour")||i(o,t,"minute")||i(o,e,"second")||o+" ms"}(o):function(i){return i>=n?Math.round(i/n)+"d":i>=r?Math.round(i/r)+"h":i>=t?Math.round(i/t)+"m":i>=e?Math.round(i/e)+"s":i+"ms"}(o);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(o))},it}(),t.names=[],t.skips=[],t.formatters={}}(0,ft.exports)),ft.exports}var At,ht,gt,mt={exports:{}},Dt=(ht||(ht=1,"undefined"!=typeof process&&"renderer"===process.type?lt.exports=(at||(at=1,function(e,t){function r(){var e;try{e=t.storage.debug}catch(e){}return!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG),e}(t=pt.exports=dt()).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},t.formatArgs=function(e){var r=this.useColors;if(e[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+e[0]+(r?"%c ":" ")+"+"+t.humanize(this.diff),r){var n="color: "+this.color;e.splice(1,0,n,"color: inherit");var i=0,o=0;e[0].replace(/%[a-zA-Z%]/g,function(e){"%%"!==e&&(i++,"%c"===e&&(o=i))}),e.splice(o,0,n)}},t.save=function(e){try{null==e?t.storage.removeItem("debug"):t.storage.debug=e}catch(e){}},t.load=r,t.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},t.enable(r())}(0,pt.exports)),pt.exports):lt.exports=(At||(At=1,function(e,t){var r=h,n=g;(t=mt.exports=dt()).init=function(e){e.inspectOpts={};for(var r=Object.keys(t.inspectOpts),n=0;n<r.length;n++)e.inspectOpts[r[n]]=t.inspectOpts[r[n]]},t.log=function(){return o.write(n.format.apply(n,arguments)+"\n")},t.formatArgs=function(e){var r=this.namespace;if(this.useColors){var n=this.color,i=" [3"+n+";1m"+r+" [0m";e[0]=i+e[0].split("\n").join("\n"+i),e.push("[3"+n+"m+"+t.humanize(this.diff)+"[0m")}else e[0]=(new Date).toUTCString()+" "+r+" "+e[0]},t.save=function(e){null==e?delete process.env.DEBUG:process.env.DEBUG=e},t.load=a,t.useColors=function(){return"colors"in t.inspectOpts?Boolean(t.inspectOpts.colors):r.isatty(i)},t.colors=[6,2,3,4,5,1],t.inspectOpts=Object.keys(process.env).filter(function(e){return/^debug_/i.test(e)}).reduce(function(e,t){var r=t.substring(6).toLowerCase().replace(/_([a-z])/g,function(e,t){return t.toUpperCase()}),n=process.env[t];return n=!!/^(yes|on|true|enabled)$/i.test(n)||!/^(no|off|false|disabled)$/i.test(n)&&("null"===n?null:Number(n)),e[r]=n,e},{});var i=parseInt(process.env.DEBUG_FD,10)||2;1!==i&&2!==i&&n.deprecate(function(){},"except for stderr(2) and stdout(1), any other usage of DEBUG_FD is deprecated. Override debug.log if you want to use a different log function (https://git.io/debug_fd)")();var o=1===i?process.stdout:2===i?process.stderr:function(e){var t;switch(process.binding("tty_wrap").guessHandleType(e)){case"TTY":(t=new r.WriteStream(e))._type="tty",t._handle&&t._handle.unref&&t._handle.unref();break;case"FILE":(t=new s.SyncWriteStream(e,{autoClose:!1}))._type="fs";break;case"PIPE":case"TCP":(t=new m.Socket({fd:e,readable:!1,writable:!0})).readable=!1,t.read=null,t._type="pipe",t._handle&&t._handle.unref&&t._handle.unref();break;default:throw new Error("Implement me. Unknown stream file type!")}return t.fd=e,t._isStdio=!0,t}(i);function a(){return process.env.DEBUG}t.formatters.o=function(e){return this.inspectOpts.colors=this.useColors,n.inspect(e,this.inspectOpts).split("\n").map(function(e){return e.trim()}).join(" ")},t.formatters.O=function(e){return this.inspectOpts.colors=this.useColors,n.inspect(e,this.inspectOpts)},t.enable(a())}(0,mt.exports)),mt.exports)),lt.exports),wt=n.g(Dt),bt="undefined"!=typeof performance&&performance,vt=process.hrtime,yt=function(){var e=vt();return 1e9*e[0]+e[1]},Et=yt();gt=function(){return(yt()-Et)/1e6};var Ct,_t,Ft,kt,Pt=bt&&bt.now?function(){return bt.now()}:gt;function Bt(e){if(!e)throw new Error("name must be non-empty")}if(bt&&bt.mark&&bt.measure&&bt.getEntriesByName&&bt.getEntriesByType&&bt.clearMarks&&bt.clearMeasures&&bt.clearResourceTimings)Ct=function(e){Bt(e),bt.mark("start "+e)},_t=function(e){Bt(e),bt.mark("end "+e);var t=bt.measure(e,"start "+e,"end "+e);if(t)return t;var r=bt.getEntriesByName(e);return r[r.length-1]},Ft=function(){return bt.getEntriesByType("measure")},kt=function(){bt.clearMarks(),bt.clearMeasures()};else{var xt={},St=[];Ct=function(e){Bt(e);var t=Pt();xt["$"+e]=t},_t=function(e){Bt(e);var t=Pt(),r=xt["$"+e];if(!r)throw new Error("no known mark: "+e);var n={startTime:r,name:e,duration:t-r,entryType:"measure"};return function(e,t){for(var r,n=0,i=e.length;n<i;)e[r=n+i>>>1].startTime<t.startTime?n=r+1:i=r;e.splice(n,0,t)}(St,n),n},Ft=function(){return St},kt=function(){xt={},St=[]}}
/**
* @license Copyright 2016 The Lighthouse Authors. All Rights Reserved.
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
*/const Rt="win32"===d.platform,Tt=d.browser,Ot={red:Tt?"crimson":1,yellow:Tt?"gold":3,cyan:Tt?"darkturquoise":6,green:Tt?"forestgreen":2,blue:Tt?"steelblue":4,magenta:Tt?"palevioletred":5};wt.colors=[Ot.cyan,Ot.green,Ot.blue,Ot.magenta];class It extends A.EventEmitter{issueStatus(e,t){"status"!==e&&"statusEnd"!==e||this.emit(e,[e,...t])}issueWarning(e,t){this.emit("warning",[e,...t])}}const Lt={};let Mt;class Nt{static _logToStdErr(e,t){Nt.loggerfn(e)(...t)}static loggerfn(e){let t=Lt[e=`LH:${e}`];return t||(t=wt(e),Lt[e]=t,e.endsWith("error")?t.color=Ot.red:e.endsWith("warn")&&(t.color=Ot.yellow)),t}static setLevel(e){switch(Mt=e,e){case"silent":wt.enable("-LH:*");break;case"verbose":wt.enable("LH:*");break;case"warn":wt.enable("-LH:*, LH:*:warn, LH:*:error");break;case"error":wt.enable("-LH:*, LH:*:error");break;default:wt.enable("LH:*, -LH:*:verbose")}}static formatProtocol(e,t,r){const n=!d||d.browser?1/0:d.stdout.columns,i=t.method||"?????",o=n-i.length-e.length-25,s=t.params&&"IO.read"!==i?JSON.stringify(t.params).substr(0,o):"";Nt._logToStdErr(`${e}:${r||""}`,[i,s])}static isVerbose(){return"verbose"===Mt}static time({msg:e,id:t,args:r=[]},n="log"){Ct(t),Nt[n]("status",e,...r)}static timeEnd({msg:e,id:t,args:r=[]},n="verbose"){Nt[n]("statusEnd",e,...r),_t(t)}static log(e,...t){return Nt.events.issueStatus(e,t),Nt._logToStdErr(e,t)}static warn(e,...t){return Nt.events.issueWarning(e,t),Nt._logToStdErr(`${e}:warn`,t)}static error(e,...t){return Nt._logToStdErr(`${e}:error`,t)}static verbose(e,...t){return Nt.events.issueStatus(e,t),Nt._logToStdErr(`${e}:verbose`,t)}static greenify(e){return`${Nt.green}${e}${Nt.reset}`}static redify(e){return`${Nt.red}${e}${Nt.reset}`}static get green(){return"[32m"}static get red(){return"[31m"}static get yellow(){return"[33m"}static get purple(){return"[95m"}static get reset(){return"[0m"}static get bold(){return"[1m"}static get dim(){return"[2m"}static get tick(){return Rt?"√":"✓"}static get cross(){return Rt?"×":"✘"}static get whiteSmallSquare(){return Rt?"·":"▫"}static get heavyHorizontal(){return Rt?"─":"━"}static get heavyVertical(){return Rt?"│ ":"┃ "}static get heavyUpAndRight(){return Rt?"└":"┗"}static get heavyVerticalAndRight(){return Rt?"├":"┣"}static get heavyDownAndHorizontal(){return Rt?"┬":"┳"}static get doubleLightHorizontal(){return"──"}}Nt.events=new It,Nt.takeTimeEntries=()=>{const e=Ft();return kt(),e},Nt.getTimeEntries=()=>Ft();var Ht,jt,Qt,Ut={exports:{}};!function(){if(Qt)return Ut.exports;Qt=1;const e=p,t=s,r=function(){if(jt)return Ht;jt=1;const e=s;let t;return Ht=()=>(void 0===t&&(t=function(){try{return e.statSync("/.dockerenv"),!0}catch(e){return!1}}()||function(){try{return e.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch(e){return!1}}()),t)}(),n=()=>{if("linux"!==process.platform)return!1;if(e.release().toLowerCase().includes("microsoft"))return!r();try{return!!t.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")&&!r()}catch(e){return!1}};process.env.__IS_WSL_TEST__?Ut.exports=n:Ut.exports=n(),Ut.exports}();
/**
* @license Copyright 2017 Google Inc. All Rights Reserved.
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
*/
class zt extends Error{constructor(e="Unexpected error",t){return super(),this.message=e,this.code=t,this.stack=(new Error).stack,this}}class Gt extends zt{constructor(){super(...arguments),this.message="The CHROME_PATH environment variable must be set to a Chrome/Chromium executable no older than Chrome stable.",this.code="ERR_LAUNCHER_PATH_NOT_SET"}}function Yt(e,t){try{return f.execFileSync("wslpath",["-u",e]).toString().trim()}catch{return t}}
/**
* @license Copyright 2016 Google Inc. All Rights Reserved.
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
*/
const Wt=/\r?\n/;function Xt(){return Jt(process.env.CHROME_PATH)?process.env.CHROME_PATH:Jt(process.env.LIGHTHOUSE_CHROMIUM_PATH)?(Nt.warn("ChromeLauncher","LIGHTHOUSE_CHROMIUM_PATH is deprecated, use CHROME_PATH env variable instead."),process.env.LIGHTHOUSE_CHROMIUM_PATH):void 0}function qt(){const e=[],t=[`${u.sep}Google${u.sep}Chrome SxS${u.sep}Application${u.sep}chrome.exe`,`${u.sep}Google${u.sep}Chrome${u.sep}Application${u.sep}chrome.exe`],r=[process.env.LOCALAPPDATA,process.env.PROGRAMFILES,process.env["PROGRAMFILES(X86)"]].filter(Boolean),n=Xt();return n&&e.push(n),r.forEach(r=>t.forEach(t=>{const n=u.join(r,t);Jt(n)&&e.push(n)})),e}function $t(e,t){return e.map(e=>{for(const r of t)if(r.regex.test(e))return{path:e,weight:r.weight};return{path:e,weight:10}}).sort((e,t)=>t.weight-e.weight).map(e=>e.path)}function Jt(e){if(!e)return!1;try{return s.accessSync(e),!0}catch(e){return!1}}let Zt,Kt;function Vt(){return void 0===Kt&&(Kt=(()=>{try{return i.statSync("/run/.containerenv"),!0}catch{return!1}})()||(void 0===Zt&&(Zt=function(){try{return i.statSync("/.dockerenv"),!0}catch{return!1}}()||function(){try{return i.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}()),Zt)),Kt}const er=()=>!!process.env.MARP_USER;let tr,rr,nr;function ir(e=21){var t;t=e|=0,!tr||tr.length<t?(tr=Buffer.allocUnsafe(128*t),v.webcrypto.getRandomValues(tr),rr=0):rr+t>tr.length&&(v.webcrypto.getRandomValues(tr),rr=0),rr+=t;let r="";for(let t=rr-e;t<rr;t++)r+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&tr[t]];return r}const or=/^\/mnt\/[a-z]\//;class sr extends w.EventEmitter{static kind;static protocol;path;protocolTimeout;timeout;#e;_puppeteerDataDir=Oe();_puppeteer=Oe();constructor(e){super(),this.#e=`marp-cli-${ir(10)}`,this.path=e.path,this.timeout=e.timeout??3e4,this.protocolTimeout=0===this.timeout?0:Math.max(18e4,this.timeout)}get kind(){return this.constructor.kind}get protocol(){return this.constructor.protocol}async launch(e={}){return this._puppeteer.init(async()=>{n.b("Launching browser via Puppeteer...");const t=await this.launchPuppeteer(e);return t.once("disconnected",()=>{this.emit("disconnect",t),this._puppeteer.value=void 0,n.b("Browser disconnected (Cleaned up puppeteer instance)")}),this.emit("launch",t),t})}async withPage(e){const t=ir(8),r=await this.launch(),i=await r.newPage();n.b("Created a new page [%s]",t),i.setDefaultTimeout(this.timeout),i.setDefaultNavigationTimeout(this.timeout);try{return await e(i)}finally{await i.close(),n.b("Page closed [%s]",t)}}async close(){const e=await this._puppeteer.value;e&&(e.connected&&(await e.close(),this.emit("close",e)),this._puppeteer.value=void 0)}async[Symbol.asyncDispose](){await this.close()}async browserInWSLHost(){return!!await Ge()&&or.test((this._puppeteer.value&&!b.isPromise(this._puppeteer.value)?this._puppeteer.value.process()?.spawnfile:null)??this.path)}async resolveToFileURI(e){return await this.browserInWSLHost()?`file:${await Me(e,!0)}`:`file://${e}`}async generateLaunchOptions(e={}){const t={browser:this.kind,executablePath:this.path,headless:!0,protocol:this.protocol,protocolTimeout:this.protocolTimeout,timeout:this.timeout,...e};return await this.browserInWSLHost()&&(t.env={}),t}async puppeteerDataDir(){return this._puppeteerDataDir.init(async()=>{let e=!1;const r=await(async()=>await this.browserInWSLHost()&&(void 0===nr&&(nr=await He("TMP")),void 0!==nr)?(e=!0,o.win32.resolve(nr,this.#e)):o.resolve(t.tmpdir(),this.#e))(),s=e?await Ne(r):r;return await i.promises.mkdir(s,{recursive:!0}),n.b("Created data directory: %s",s),r})}}class ar extends sr{static kind="chrome";static protocol="webDriverBiDi";async launchPuppeteer(e){const t=new Set("object"==typeof e.ignoreDefaultArgs?e.ignoreDefaultArgs:[]);process.env.CHROME_ENABLE_EXTENSIONS&&t.add("--disable-extensions");const r=await this.generateLaunchOptions({headless:this.puppeteerHeadless(),pipe:await this.puppeteerPipe(),...e,userDataDir:void 0,args:await this.puppeteerArgs(e.args??[]),ignoreDefaultArgs:!0===e.ignoreDefaultArgs||[...t]}),n=async(e={})=>{const t={...r,...e};try{return await D.launch(t)}catch(r){if(ge(r)){if(t.pipe)return await n({...e,pipe:!1});/need to run as root or suid/im.test(r.message)&&await Je(this.path)&&he("Marp CLI has detected trying to spawn Chromium browser installed by snap, from the confined environment like another snap app. At least either of Chrome/Chromium or the shell environment must be non snap app.",Ae.CANNOT_SPAWN_SNAP_CHROMIUM)}throw r}};return await n()}async puppeteerArgs(e=[]){const t=new Set([`--user-data-dir=${await this.puppeteerDataDir()}`,"--disable-component-update","--test-type",...e]);return await this.puppeteerArgsEnableSandbox()||t.add("--no-sandbox"),this.puppeteerArgsEnableGPU()||t.add("--disable-gpu"),[...t]}async puppeteerArgsEnableSandbox(){return!process.env.CHROME_NO_SANDBOX&&0!==process.getuid?.()&&!(er()||Vt()&&!process.env.MARP_TEST_CI)&&!await Ge()}puppeteerArgsEnableGPU(){return!process.env.CHROME_DISABLE_GPU}async puppeteerPipe(){return!await Ge()&&!await Je(this.path)}puppeteerHeadless(){const e=process.env.PUPPETEER_HEADLESS_MODE?.toLowerCase()??"";return!["old","legacy","shell"].includes(e)||"shell"}}class ur extends ar{static protocol="cdp";async launchPuppeteer(e){const t=await super.launchPuppeteer(e);return"darwin"===process.platform&&t.target().createCDPSession().then(e=>{e.send("Browser.setDockTile",{image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABAAAAAQACAMAAABIw9uxAAAAAXNSR0IArs4c6QAAAkBQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdnZ2AAAAAAAAAAAAqKioAAAAAAAAAAAAAAAAAAAAAAAAAAAAqqqqAAAAAAAAAAAAAAAAysrKiYmJQUFBbm5u3t7emJiYs7Oz39/fxMTE8fHx19fX7Ozs9fX15eXl9/f36+vr4uLi6+vr+fn58fHx7u7u9PT09PT0+fn5+vr6/Pz8+/z8+/v8+/v7+vv8+fv8+vr7+Pr79/r7+Pn79/n79vn79fn79vj79vj59Pj78/j79Pf68vf69Pb58vb68vb48fb68fb58Pb67/b67fX67/T37vT57fT56/T57fP46/P46fP56fL47PH15/L56fH35/H46fD15fH45/D25O/35+706u3w5O714u735e3y4O324uzz3uz23uv05Ont4Orx2+r22+ny3ujv2+fw1+j13+Xp2Ofx2uXt1OXz1+Tu2OPpzeXz1OLs0OLw1eDn0eDqzN/u0t3kzt3o0tvgyNvqy9rlzdfdyNjjxNfmxtXgwtXiuNfuxdPdx9DXwdHcvtHgvs7Zus7erdHrwMrRu8vWt8vbuMjTtMjXucTLtcXQsMTUssLMsMDKrMDQrr7IrLzHqLzMqrvGqLnEpbnJorbFlrrPpLTBnrPDn7C9mrDAj7PLm626bbrkbLrkmaq3aLjjl6i2gKnIYrPfdaPGcZeycJSvKojEKIfDJoXCD4rSI4PBH4TEAIjRDmifA2adoo65NAAAADt0Uk5TAAECAwQFBgcICgwQEhQXGRscHR8hIyMlJigqLC4wMTU5PkNFR1ZcY3KBh46eo6+3vsHEyc7O2Nni5PEAui9xAABlyklEQVR42uzcMW/aWhgG4KZJbtuTiYGRxYMlC9lioMo1lpAiZcn//0NXThEn5piE3mAw4Xm6dsjyvuf7Pki+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAVuuGEvoFcoyqQePQBYo8qYPDgf2fMFAGHkfRrogbY+lzmbxmz7wdQA1frpteRk37HQG6jo/SCFrgihyT/nHG+vy53p3FQGyiBr+6D6H+Y+Pth/XO17gd1l3qnCbTA1/Re9G+jJO+fS+gPjuwY9ZJUQdIDOuBrScKfRL8v9odm+SfjcGht9FVBTw0ogS/h/ezH6CexP33Ef12pnyfR1we7RZC0gA64bP3h70a/k/u9kR9rQMOo/Bqj9+qgWwTdGlACFy5Jfwx/Gv009/15D2Eymc6yVt7+axUb813lflVikVom6sQq8dycwtMqUaeWqUWqSpV7zFPFRv4qy7NXs+lkEg5ohLdF8LYGuiWgAy7N/vDH7Mfk74t9m/U24POyauPYxq3ps24+b33Yf1rvakZk3ZztZ1s3PdpSaiunKudtQWSz6cO+Kog9cN/qKQEdcDluojT8neynwQ/TLG8Tv3ysnxsu3brpFtFL/bioyqLIs2lPEcQW6C0BFXAJ0vQn4Y/Zj8mfzPJiXi3rp6ZpxvWuMozn+nc1L/LZdirotkAsAR1wOW6i/vCn2Q+zvCgXdfNK8q/PU70oi3yatkAsgU4HqIDR6k9/DP9u9qd5US1fGmia1bIssklsgaQEdMDIJfGP6Y/hj9mfL+oGuuqqHQZiC6QdoAJG6cP0x/CHrKhq0z57PZbFLOyWQNIBKmA8brZ60x/D/5DNF6sGPrKqiiz0dsBtyxgwIr2Pf5r+kBXCz1+oq3waS+BNB6iAEYnxfy/9k7y08vP3HufZTgfEVcAmcH798Y/p//PdnqJy6+f/WpX55G0HtGOAChiFnfjHx39z9fuT/oV7H5/zUuWTdhDYGQNUwJmk8e9//MMkXzw1cJQOeGg7IBkDvrc0QOJc8Y/pD3nl6/wcz6rc3AM2Y4AKOKM0/vfd+M/mrn4c27J4swqogB7nj3+b/ofc4s8gXjZjgAroc974x7ufx5/hLP9cA+IxQAVE54l/nP1DyEqf+TGsupjuqwANMLDkg7/O7B+yRQODeylnIWyOAXERMASc8vnfDv8x/vmygdOosp4KMAQMaif+m+c/xt/v+HE664UK2BhF/B8bOKV181oB8RZgDzhl/tv4G/45p/W6mnUqwBBw0vj/cPrjzJ7K6bYCtnuABhgy/+30H29/IcyqBs5mNZ9sKsAQcPLpP4TJ3O/7cF513jZAWgEa4Kj571/+feuP8/udvVZA3AMMAceTPv9x+Xf7YxTW5fTtHuASMPzzH8Kk9Lk/Y7EqQgibIeCfdgiwBgz5/AfTP6OyXi9mhoAh8999/qdu/4zMU/EQK8AtcIDxPz7/hT/xzfgst8fAdgiwBhzz+b/z/DN6b4YAa8DR8m/752IsZoaAo+iO/53jfwOjtcq3HwdogM+v//H6t3n+s38bGLNqsnsL1ADHGv8fCt/8ZezqLISwXQM0wKfy3x3/Xf+4AM9Fdw3QAN/+Y+/uVhs50jCOM7AzZEeWZMua8ZFPZHBGHms8Q8b4o5X2p7RR8A5hWYYs2Q3Zr0xYAhMIgSx7kBvIrSzscSD3tiqp1dVSVau7bMnqt/r/OwzkoAeex1VvVbfusv3Xy3+mf5Ah3gYwCLh1/s3lPz/1AymOx9sABgF3zn+0/K9UmP5DkNPdymQbwCDg9vmPl/9PDgNAkueTS0EMAvIzxn/R8p/tP8R5sTHaBtAAd8//Lnf/Ic/RNg3gJDH+nx7/BYBAJ61KPAqkAZzzr8Z/wwpl/AepTndpgNzs478Kt38gVnihDwNogNvln/E/JFNvCD+mAW6b/yf85hdk61QSo0AawC3/2xz/QbpOpUIDuOT/EfmHT17QAHnyz/Uf+Cl8UaUBbpN/rv/ADy83aACn/D8m//BI+JI1APlHedEArvnfJv/wSPhizWgACkC//5s8/3vM/B/+6SQa4Dc0gPn+P/mH12gAC2v+17j/Bw89r9AA8/Kv7//zw//wUZsGyJP/Nd7/g592aYDUA4Ao/3z+E/66aI0bIP4+QKkLwJ5/vv8Df51uqwYYfyGk9IeBDxQj/7sB4K2TDdUAXAdILACiC0DR/r81CAB/vazSALYBYPT3/wkXAOC30XWAx6UfBJoHACr/VT4ABr+FYTu+EFTmQaAxAFT5X+MAAN67bk0dBpZzCWAdAK5xAAD/hdFRwG9LfBSgB4DJA4AWv/+LEggPyz4ITA4AHjEARNl01lQDlHcMYB8AvgyActgtdQM8UGYGgAwAUCKn2/FRQPnGAOYAQOW/FQZAWbyuRoNAPQYoVQHMDgDWNhgAoDzC8HlpNwF6A/CQGwAoq4vWqAHKdxvAPgDgFSCUzPHGZAzw6FGZNgF6A5AYADzhG8Aom85aYgxQmk1AcgMQDwA4AUT5hLsl3ASknQByBIDSOdmIG6A0mwC9AdD5r/IjICilTnWtZJsA+waAj4CinMp2EsAJAJBwXLJNgGUDwBUglNjzUm0C7BsArgChrMKZ60CeLwGiBcD0BqAVAKV1WNUN4PsS4IEyuwGo8jNgKLNdvQkYvRPg8RJATwATG4BdrgCgzMpzGYAJIGBSc8DK6J0Av+eAUxPAeAPwPABK7Xo72gR4PgfUE8DEBmD7IgBKLXxZijmgZQLIHUAgCMJWGZYAxgJA5Z8jQCB4Xat6vwSwLADWqjV+CAwYHwVWJvcB/TwKjPOfXADwEgAwdFSvrvm9BLAvAI4CAEHQjueAni4BZo8AWQAAsfCk7vccUC8AEkeAteMAgNKu6aNAD5cAyfyzAABmjZYAFV+XADMLACYAgLEEqPq7BLAsAKo1FgBAKZYAxgKgohYAvAYMaLu16pqnSwDLESALAGDKcW1qCeDRXQD7AoCfAgFKsQSwLgC2AwBaeDhZAvh2HdC6AOBLoMC0lp9LgOg1QH0JUOV/YxAASOpMlgA+FsDMAqAdAJhysaGXAA8f+nISmPwOQHwHoM6XAIFZbR+XAJwBAvmc1OMlgDeXgR4o+kNAo7cAapwBAqYLD08C7WeA/BQAYHpRG78R4NFlIF0AiQUA3wIHLAYbvi0B4hGgXgAwAgRStGvj7wJ4MwY0zgAZAQKpjuuenQQmRoB6AcCPAQB2Lb9OAmdHgBVuAQLpws70SaBXBRBdAmIHAKQ5qfs0BrSPALkEAKRp+TQGtI4A+T1QIFXHHAOKL4DpESDvAQGpTuv+jAGttwDr/B4gkG5XNYAfewDbLcA614CBnHuAR7L3ANYdwF4AINXpeq3mxx7AuATALSAgQxi09B5A9lUA2yWAep1bQMA8z33ZA1h3ANwCAuY68mQPYL0EUOdrwMB8235cBzZ2ACr/67wJDMwVtv3YA1h3ADsBgLle+bEHmHkPoMI1QCCP04YPd4GsZwDrrwIA87Wm3gcQOgSw7gAapwGA+fZ92AM8GDJ2AK0AQIbDdfl7APMQsFqrrTMCADJdbMk/CLQfAvItECBbK94DiD0IZAQA3Na+/D3A5BBQXwOs1da5BQDk8Ep8AVh3AIwAgEz6JkBldBAocghgL4CDAEC2HelDAD0CSBwCNngRAMghbEvfA1hHANsBgBw6ugA+kFgA9h0A3wIAcjkSPgRIFMAHzAABRxdb67VaVe4QwD4C4E0gIJ/W7BBAZgFMjQCYAQI57cmeAtpGAMwAgbw6oocAzACBO3ndSN4EkPZNAPuLAMwAgXzCwabkIYD5LQA1AuCDwEBeO5KHAMYMUO0AGvwqKJBTuNsQfBXIOgLY5F1gIK+2GgIInQJaZ4AN3gUGcjtoqD2AzCmgfQb4LACQ02vBU0DrDJBDACC/U08KYDID5BAAcLEjdwponwHyJgCQW9hqrEu9C2idAW4eBwDy2hN7F9D6LnCjeR0AyGu/MRkCCC2AqXeB1zkFBFwciJ0CWt8F5hQQcHG42fCkAEYzwMZeACC3k6bUYwD7IcB+ACC/LamXge2HAFwDAFzsNNbrEo8BUg4B+F1QwEVL6NsAyQLQhwDNowBAfnvxMYCsLwObp4A1VQC8DAy4aAs9B7S/CbAVAHDQaco8B9QFkDwE4B4Q4ORA6Dmgyr9ZAK0AgIPDpsxzQPspIBcBASfHUwXwSHYBNPkcCODktCnyHDDlGgAXAQE3W5sS3wfUp4BT1wC4CAi42RFeAFPXAPgeEODmQ5HvA9qvATT5VRDAza7IiwDWAths8kEwwEm4l7wIILMA4msA3AQGHLWb0XdBRd0ESimAMADgYl/kTSD7PSBeBQAcddRFAD8KoMmrAICjA5E3gewF8GEAwMlHzfFFAKkFEF8EXG80eRUAcHTYFHgTyPweUI0CAG7hSHABzF4E5KPggKOTpsBvAlkKoL7Oy4CAs9OnAq8CmhcBKQDgVrwpgE3eBi6B7pQAd7Yl8C6w/SIgbwP7qzuLIliUnWZj3ZMCOAjgn26MFliGHYEvA1AAJdGNUALLs5N8GeCRjLvA9m8C8z0Qr3TH6IAl+1Dg20D2m8DNjwJ4ojtSwg64/0d6JvBtIHsBPOWDQH7oKuWrgBU91q7At4FSCoCfBvVBN9PHilcdsMpue9bc9KUA+CKYeOmhTye8Ala9vmkLfB3Q/jLg05MAojlnXxNaAQXY4+wJfBsopQD4JKBojuE3SWuAYsw52vIKYPZtYArAA7bwu5NTAd2ijDq9KICaKgA+CShXavrdiaiA7lBBKmBfbAGot4EpAB9kxN9V4RugO1SYCthvivttIArAL/nTfzbl41SFboBuHuPH+PgeKqDTFPc+sKUA6hSAVLnifzaHrArIir3d8hog7Mj7IEBcAMnPAfBVcJGyA3CmOZVAIRvAIfum5VSA4AJ4SAFI103KCL9zCRSuAZzDb1p8AxxQAFiB7PifuSt0A7inf/l3njwqgE0KQJpukkP6HSqgQA2Qmn53C22AV0/FfRNstgDWKACBukm3Tf/PfzybVcwGyJ1+W6f98PnSbj2qAhD3TTAKwAOO8bf7+ZfPM1cBK2oA9/ifpfnhv38+O1vOpUcPCuAxBSCRe/zPTT//8qsqAFPBGqBryhF+nf//DQtAWUoFHE4KoEIB4J6kRiEj+pdThvn/9U/D/xqG4dmsAjVAV3OqPJ1/VQATi26A0J8C4MeBpXCIvy35Ov/DArhUVAnkq4Dg3nUVh8Yz868LILsCAmeHW6oAapI+C0wByNbV5mdBZ9+e/6gAJh1QyAbozsif/lAZ5n/oL6FyNrHQBjiiAHCvutq8MBjhN/KvfHEZOz8/m7aCXYDLn//M9A//AVT+VQGch2M5KiBwdLQl7rvgFIBg9jA4pF/nX/ni2mwAbdVLALf4m8+v8q/8dfR4KauAOxeAuO+CpxTAswCFZ0+DW/yvr69V/qMCGEpUQKEawCn+5sZH5V8XgKIaILMCAgf+FECDApAgTxqy0t/r9VT+x77qDekKGP6/hWmA9D//c6Nv5F8VwOQJzxffAMdb4n4YYJx/CkAea/6d/vj3FJX/yFeDwWC2AorRAG7xP0+6jPMf+fvwAa/jBtAW0QAnnhRAkwIovG7sLvEfqPxP/GOgxA2gZDfAvT2rlnnUqUXPqvI/8c/hM0YVoA47FtcAugCq4gvgKQVQcDnyf5muNzZQ+df+9ubNG7MBzlfeALnjf26Pf+/fKv8T3wyGokdMqTcKgAIotuz4p+b/qjfRH+df+/qNMmqAS21FDeCefyP8Zv6Vb9QjqkVAvATQ7toAJ1vifhuMAhDImv/s+F+p8Cfif6Pyn/D1Z5/ZGyBZAc4FcD/xN8Mf6cX51wWQaICzxTWAVwWwF6CwbPnPjL8Kf6zf7w8mf/+1f739TFXAqAEuC9IA3Sk54n+pmPnXvp084/W8s85bFUB4SgFgFfmfDkN2+tWf/zdR/rVv30YNEC0BtPkNsOr8G+mP9eL8a9+9TTTA+dACG4ACQJYl51+nwB7/fhR/nX/t/ZdvVQXoJUBGAyx/CeAU/0vNzL/2nXrIqAAW3QCnW+J+HpgCECZr+T8n/f2xTwY3Zv6V778cNkC0BHBqgMBqSfl3iX8/zr+mnjJqudFzGRVAAQwLoB2gkPL++Tdn/pFPPrmJ8m/4/t2XOhy9S6MB3DYBS86/GX/zyQc6/9r36iFVy0V7gIU1AAWADEvOf3r8+3H8P73R+TcL4F20BhjdCLzKaIBlF0A3ae6ff/uBR1/l3/Tj+CGjApjXABQACsYp/1dm+j/V+bf48Z1qgPESoN8bWmkD5P7zb6ZfxV/n3ygA9ZDRHmChDaALYI0CgGG5+VdJsMdfp1/l/3c3b1T+bf4zLgAVjptBT7kyGsChAJaR/+z4XynqsVX+bdRTTpYA48eKlL0APkgWwH6Awpmff+tlX51+5UbR+TcK4H28BLgZ9FfQAA7Lf3v8r+L4929U/m3GNRcXgLKYBvCmANYpgEJyyP/VVPw/TcT/9zr/2QWgZGwCjHwsLf9O8R+o/NuNnjJaAaQ3AAWAgulOZG//eyP6j38y/39Q+bf76f37yR7g5qbfjyrAbQmwsvxfjY2f+0bn3/CTesh3quVUASywASgAWC09/7NRSI+/kX+zAKL98c3/2bv33TaOK47jKNCiQHr7owH8FEVRFL3SgtQQJBVeqlKkTcm0DN9kO7ZbC1FgG3YDB4phCSoKB+mL8AX0bt2zO8szu2e4s6PxOrPc33kD/vH98MzsUtq2CeABgGf/xflb+l/EnzJ+GejzLn+2VYeApgLwmxYmqCnff1KtzH8UzS73bwLgObWRPAgc9rsWATbUiD4q7n8rGWP+XZoh92+alDl62KndcfivAFkAPgEAGDFV9i+//kX+3L9xTgiA9BJguC0F8F8B/Pu35S/7lwCkaw4BYBPACYDP6w7AzwBAkFO6/yRYmb/o3w5AXwhQ9Qog+7et/zL/nq3/xclztQH8gwAQAvitAGsDwG9bmHCmbP9tsf0Pl/nvcP9WAK7HACQCdIUAla4Atq9/e/5/5/6tAHRLCNA0AH4JAEIb0b/l658P/5y/vX8CIBFAARDNEoC2xwpQdf+cf9z/v7l/4yjm4jUnAkAXoIEA/MgMwJXftTChjEP/KgU9f2v/PG8FABYBfADw75/zd+ifAbiuAPhwAgAAjJjK+5fr/7Yx/+v/4/7tAOyOEgD6xkOAxxnAt//PePL590X/dgC6bZrcIQAAfHrl9y1MGMNBlOxfy9+pfwbgVgyAEMB9BfDv3/b1z/n3hty/AwAdFsB7BagxAD/OA/CHFiaIsfZvXv/1/MfcvwMASgB+FtC2rgAfvX8+/Pf63L9l3qoPSQD0zAI0EoCfAoAAh4so1/+22P7Hsn87ANd3d0ZDXYCiFYABqL5/mT/3P6L+7UNXnSkAw24pARoIwB9bmADGsX/59T/m/u1zSgA8TgHICNCh8VgBPPu3fP279L94mwNACQAAMgD8qYWpYCrZ/9u8/hu//mfcv3UDeJ4CsDtiAfgQwJX4AuDfP+dPn3kg+rdvAHQJQNMpWAFczgAAACOn+v7F+s/5x/3PVP/WOX39/BkDIAQwrgACgMr7l1///fgjU//lNwD1IkAv+Wi2FaBRAPyKAPhzC+MxFfdfZv2n/MeUP/dvm7c6ADuaANtuK0D1/Wfzd+p/8Y43AALAJkBDAfhLC1PBVNm//Pqf0PrP/ZfYAOgI8OCuAoAF4BXABoB//5bH/9rXf4/Xf9G/ZQNgAHpdeQ1w2TPAWgDwCwAQxnj1z1//1L8TAM8iAG7lAGAB/M4A/v2Lr/+k/13q32EDeJYC0GcBsgDkPl/jAPhrC1PBVNK/OP6rr3/q/wb17wbAw7vxGWCcEWC73Arg3X/x47+2of+BY/8L9bAzBSAngFwBGgIA/VFgABDMlOufr//E1/+E8hf9WwB4Q208VgCMLYcAjzOAX/+cP/U/4v4dN4D4OWAvmuSz5VeAZgHwEwAQ0rj1b/j65/49AFAC8ArgeAbw71+u/179SwAsK4DbGQAAYELpf8b9uwNw99aN67sTEkCuAFojjgD49y/Xf+7fAQD+ydNoRABkBZBnAACAcZ7q+29n+uf1n7/+qX+nOUsAeBABMJvtjvkQ0KcpdQaoun/OX+/fB4BUALkCNBeAX3965W8tjNtU37/59Z+V6/+c+ncE4LUGwIQFECuAwxmgwv5H3L8HANlDAABIAGhhKpiK+u+L9Z/7d5nTCIBjBkAcAngF8D4D+PeffP2797840//qwaCfWwF8rgEBAOaj9s/X/7z+J/3vif7djgDzSICJWAHkGUACUEn/bd/+zRvAdQJghQBNBeDnAMB5wuv/hujfbQO4HQOQCMArwDafAVwB8O+/0+H8vfpf8G8eUwD6KQAdAAAAnCeo/tXxn/p3n/MIgOdLAKYkgFgBbGeAqvrvevbP8y656FAAiBVAPwMAAIx1wuifj//cv/OcJgA8fkAAkACGFcD/EsC//4FP/4tTAuChAoAFsJ4BAADGa/z7l6//8vUfH/9F/04bwDEBcHc+31uuADu8AjicASrtf8T9e24A+RUAAAAA/6m+//z1/9i3fz4CHBEAtwkAXgHEGaAAgND7XyS/eXyYAiBXgEtfAtQegE8AgNusV//JBnD0VF0CkAC8ApjPAC6vAvn33/fon+eduuhgAGjMKwAAwBRMUP1P4/7non/XDeA4AUBbAdzOAB+j/7FH/4tTDYCxEsACwCYAwMhZt/4vzk/iFYABIAH4GtDjDODZP6///v0vzlIAbqQA8NtAhWcAAIDxHv/+u8b+4/y5fw8AnqUA8AogzgCFAATe/+JUA2B3ZFkBAADGYyrsf8j9T/z7ZwCO0w1gX6wA/WhKABB4/9oGMEsBGAAAAOA4YfS/I/v3BOAlAfDg9u35vr4C5M4AnIgrAP7973L/vhvAbLY7EisAnwGcbwEBAOYH7f829+9zB/D00YO7CgD1QrB2BrBfAlTX/4j795izYgA6AgAaAIDRZj37VxsAAXA/AoAEuNQZIOz+CQD1p08JACGAdgYAABjjhNL/2Na/PwD8o8DyAITd/+LsjQbA2AJA5gMCAAxNUP1P4/73Rf++ABzsyxVAXgLYAfDvvy/69wSA//DZbHcyohHXgACghVk1a9v/EoDHBIA4A4hLAIdbQM/+B2n/M+7fC4AjdQkw1QHoAwAAYJ/17V8AYD8DSABogu5fbQAZAPgnQQAAABRPcP3T8Z/795r/xgBE7wI/igAwnAEcLgE8++9U0j8DcMwAyDOA8RYQAGBo1rn/FICjp6sAGJYDIOj+F5k/fTpZcQkAADCmWev+EwBeMgAkQHoGsN4CFhdyNZj+aQPQALCeARyeAwIATJ37zwEwFysA3wJaAAi5f20DmM/0MwAAAADFs+79xwC8TgC4f3BwUwPA8RYw5P61O4D5DfpsJQGgAQCYNe4/AiASQAFwR50BZtHolwB2AGgC7p82ADMA/CAQAAAAMevf/8X7kxO1ARxGAPAKUOIWcGO1AFfD6n9xxn/0gAEYmd8EAAAYNQ3onwBQGwBdAogzQJnHAEKAq6H1LwDInQEAAAAwTFj9zyrpnwF4qgCIRgKwbQWAI7kaXv85AKYAAADYpxH9MwDJJQA/B3B8DMDj3/9Y9O875xIAGtstIADABNb/AfVfGQDmS4B+NAUA1KD/7AZwjc4A4hIAAAAAfRrS/8X7dwTAVxKAqeEWUAJAE37/+gYw38ucAfgWEAC0MMtpSv8CgANxCWAFwKf/rnf//gDwGQAAYJJpTP9LAP6lngPSCmAFIPscMPz+AQAAcJrm9J8DQD8DWACwXwJsBNP/Yvn/j5YATFbfAgIATGP6jwH4OgLgqBiA7QIANoLvXwAwLQkADQDArG//KQDHSwD4J8GlXgSgCb5/AuBlAsBtCUDf50UAAICpc/8X3ykA0iOAehNAA2B0KQA2Arn/NwFwTb8EAAAAQJ+G9R8D8PpVDMCjCIA7uVtA+4sANKH3TwC8Pj4uBKALAFqYVtP6v3ivADjKArAnHgO4ALARWP8MwP0IgL0YgIl8DMAAbAEATCP6pw3gm68VAIeFAHQFACxA4P0vzk8YgH0CIF0BAAAA0KZ5/dMGoAB48ujwnv05oBmAwPtfnMUAHAEAAFA0Dew/3QCiFwFSAA5cXgSQAmwE2P/ivBwAbQCAaVb/agNgANQPAp0AoEk/aZD9L/5z8kYH4JodgGQAAGa9+7/47mwJwBcKAH4MUA4AnlD7LwKABAAAAKDVzP4jAN5FALxMALjvAEChAJth9b84NwAwAQAAgKeh/RcDMLG9CrhZj/4NG8AUAAAAbZravwbA0wwAe9qbQAUA1KP/xTkAAABF09j+sxvA4T0nAGhq0X+8AbwUANDkAaABAJim9J8AEP0Y4EsG4EAHYMcCQC36z20Ae0YAugAA07j+BQAkwFy8CCDeBV4pwGaI/Wc3AONzQAAAAJrYPwHw7Tc+AGzWoP8UgKePAAAAyE+j+zcCcLMcAFKAzUD7BwAAYOU0u/+L72MAXuUAML8KaASABdgMtv8YgOcAAADIaXj/DgCIW8Ci2Qqqf/MGMMkB0AEAmKb1XwjAtACArTr1bwJgCgAAQKvx/V8egDr1DwAAgHHQfwaA6NdA90oDUKf+CwEYAAAA0Nj+qwAgyT+k/gEAADAM+i8CYM8CwFb5/rsF/QcBQB8AAIBm9i8AyL0LLABgAWrUvwTgGgAAAOjfHYC2BYCtIPvPADAHAACg1UL/qwC4IwDgXwPpAGzVp38AAAByg/5LAjBeDUB9+s8DsLcKgDYAwDSqfzMAcwsAZgG2gu1fB+BAA4AGAACABvd/8f35EoAneQBmDIDhFjCaov7bAfWfA2AfAAAA9G8C4NABABqZf5D9AwAAoA36twAgfw8sAaBMaNTnDLt/AAAAeNC/GQDrHwSQlwBqgu8fAACA5aB/EwAvHAGgEfkH2z8AAADpoP9yAOxbAKCpTf8AAACoQf/+APDo+YfcvzsAWwAA04T+nQHofKbPMv+w+wcAACAe9G8F4F4BAGoFkBN6/wAAANCg/w8BQA37BwAAIBr07wVAvwQA7WX/vZD6BwAAoNVC/84ATE0A1LB/EwAkAAAAAA3v3xUAEqB+/QMAAID+PQAYlQIgzj/I/r0A2AAAmLXt3wkAdQZo165/AAAA0L87APwngfgxAAlQsP6H2T+OAAAA/bsAIP4k0JAqSQFo161/AAAA0L83ALwCtI35h9s/AAAA6P8DApAVoB18/wAAAKD/EgB8UQKAvADtGvQPAAAA+rcDYP6zwDsMAK8ANBQ/58+v/8b9j0LqHwAAAPTvAYB6DtjjFSAzndD7BwAAAP37A9DvmgTopP33gu0fAAAA9O8K