{"version":3,"sources":["../../wasm/build/swisseph.js","../../wasm/src/swisseph.ts","../../src/astrology/swisseph.ts","../../src/astrology/index.ts"],"sourcesContent":["var SwissEphemerisModule = (() => {\n  var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined;\n  if (typeof __filename != 'undefined') _scriptName = _scriptName || __filename;\n  return (\nasync function(moduleArg = {}) {\n  var moduleRtn;\n\nvar Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window==\"object\";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!=\"undefined\";var ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\"&&process.type!=\"renderer\";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){}var moduleOverrides={...Module};var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){if(typeof process==\"undefined\"||!process.release||process.release.name!==\"node\")throw new Error(\"not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)\");var nodeVersion=process.versions.node;var numericVersion=nodeVersion.split(\".\").slice(0,3);numericVersion=numericVersion[0]*1e4+numericVersion[1]*100+numericVersion[2].split(\"-\")[0]*1;if(numericVersion<16e4){throw new Error(\"This emscripten-generated code requires node v16.0.0 (detected v\"+nodeVersion+\")\")}var fs=require(\"fs\");var nodePath=require(\"path\");scriptDirectory=__dirname+\"/\";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);assert(Buffer.isBuffer(ret));return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:\"utf8\");assert(binary?Buffer.isBuffer(ret):typeof ret==\"string\");return ret};if(!Module[\"thisProgram\"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\\\/g,\"/\")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_SHELL){if(typeof process==\"object\"&&typeof require===\"function\"||typeof window==\"object\"||typeof WorkerGlobalScope!=\"undefined\")throw new Error(\"not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)\")}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith(\"blob:\")){scriptDirectory=\"\"}else{scriptDirectory=scriptDirectory.slice(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}if(!(typeof window==\"object\"||typeof WorkerGlobalScope!=\"undefined\"))throw new Error(\"not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)\");{readAsync=async url=>{assert(!isFileURI(url),\"readAsync does not work with file:// URLs\");var response=await fetch(url,{credentials:\"same-origin\"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+\" : \"+response.url)}}}else{throw new Error(\"environment detection error\")}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module[\"arguments\"])arguments_=Module[\"arguments\"];legacyModuleProp(\"arguments\",\"arguments_\");if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];legacyModuleProp(\"thisProgram\",\"thisProgram\");assert(typeof Module[\"memoryInitializerPrefixURL\"]==\"undefined\",\"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"pthreadMainPrefixURL\"]==\"undefined\",\"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"cdInitializerPrefixURL\"]==\"undefined\",\"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"filePackagePrefixURL\"]==\"undefined\",\"Module.filePackagePrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"read\"]==\"undefined\",\"Module.read option was removed\");assert(typeof Module[\"readAsync\"]==\"undefined\",\"Module.readAsync option was removed (modify readAsync in JS)\");assert(typeof Module[\"readBinary\"]==\"undefined\",\"Module.readBinary option was removed (modify readBinary in JS)\");assert(typeof Module[\"setWindowTitle\"]==\"undefined\",\"Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)\");assert(typeof Module[\"TOTAL_MEMORY\"]==\"undefined\",\"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY\");legacyModuleProp(\"asm\",\"wasmExports\");legacyModuleProp(\"readAsync\",\"readAsync\");legacyModuleProp(\"readBinary\",\"readBinary\");legacyModuleProp(\"setWindowTitle\",\"setWindowTitle\");assert(!ENVIRONMENT_IS_WORKER,\"worker environment detected but not enabled at build time.  Add `worker` to `-sENVIRONMENT` to enable.\");assert(!ENVIRONMENT_IS_SHELL,\"shell environment detected but not enabled at build time.  Add `shell` to `-sENVIRONMENT` to enable.\");var wasmBinary=Module[\"wasmBinary\"];legacyModuleProp(\"wasmBinary\",\"wasmBinary\");if(typeof WebAssembly!=\"object\"){err(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;function assert(condition,text){if(!condition){abort(\"Assertion failed\"+(text?\": \"+text:\"\"))}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;var runtimeInitialized=false;var isFileURI=filename=>filename.startsWith(\"file://\");function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);if(max==0){max+=4}SAFE_HEAP_STORE((max>>2)*4,34821223,4);SAFE_HEAP_STORE((max+4>>2)*4,2310721022,4)}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();if(max==0){max+=4}var cookie1=SAFE_HEAP_LOAD((max>>2)*4,4,1);var cookie2=SAFE_HEAP_LOAD((max+4>>2)*4,4,1);if(cookie1!=34821223||cookie2!=2310721022){abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`)}}(()=>{var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw\"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)\"})();if(Module[\"ENVIRONMENT\"]){throw new Error(\"Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)\")}function legacyModuleProp(prop,newName,incoming=true){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get(){let extra=incoming?\" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)\":\"\";abort(`\\`Module.${prop}\\` has been replaced by \\`${newName}\\``+extra)}})}}function consumedModuleProp(prop){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,set(){abort(`Attempt to set \\`Module.${prop}\\` after it has already been processed.  This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`)}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort(`\\`Module.${prop}\\` was supplied but \\`${prop}\\` not included in INCOMING_MODULE_JS_API`)}}function isExportedByForceFilesystem(name){return name===\"FS_createPath\"||name===\"FS_createDataFile\"||name===\"FS_createPreloadedFile\"||name===\"FS_unlink\"||name===\"addRunDependency\"||name===\"FS_createLazyFile\"||name===\"FS_createDevice\"||name===\"removeRunDependency\"}function hookGlobalSymbolAccess(sym,func){}function missingGlobal(sym,msg){hookGlobalSymbolAccess(sym,()=>{warnOnce(`\\`${sym}\\` is not longer defined by emscripten. ${msg}`)})}missingGlobal(\"buffer\",\"Please use HEAP8.buffer or wasmMemory.buffer\");missingGlobal(\"asm\",\"Please use wasmExports instead\");function missingLibrarySymbol(sym){hookGlobalSymbolAccess(sym,()=>{var msg=`\\`${sym}\\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`;var librarySymbol=sym;if(!librarySymbol.startsWith(\"_\")){librarySymbol=\"$\"+sym}msg+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`;if(isExportedByForceFilesystem(sym)){msg+=\". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you\"}warnOnce(msg)});unexportedRuntimeSymbol(sym)}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get(){var msg=`'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;if(isExportedByForceFilesystem(sym)){msg+=\". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you\"}abort(msg)}})}}var runtimeDebug=true;function getSafeHeapType(bytes,isFloat){switch(bytes){case 1:return\"i8\";case 2:return\"i16\";case 4:return isFloat?\"float\":\"i32\";case 8:return isFloat?\"double\":\"i64\";default:abort(`getSafeHeapType() invalid bytes=${bytes}`)}}function SAFE_HEAP_STORE(dest,value,bytes,isFloat){if(dest<=0)abort(`segmentation fault storing ${bytes} bytes to address ${dest}`);if(dest%bytes!==0)abort(`alignment error storing to address ${dest}, which was expected to be aligned to a multiple of ${bytes}`);if(runtimeInitialized){var brk=_sbrk(0);if(dest+bytes>brk)abort(`segmentation fault, exceeded the top of the available dynamic heap when storing ${bytes} bytes to address ${dest}. DYNAMICTOP=${brk}`);if(brk<_emscripten_stack_get_base())abort(`brk >= _emscripten_stack_get_base() (brk=${brk}, _emscripten_stack_get_base()=${_emscripten_stack_get_base()})`);if(brk>wasmMemory.buffer.byteLength)abort(`brk <= wasmMemory.buffer.byteLength (brk=${brk}, wasmMemory.buffer.byteLength=${wasmMemory.buffer.byteLength})`)}setValue_safe(dest,value,getSafeHeapType(bytes,isFloat));return value}function SAFE_HEAP_STORE_D(dest,value,bytes){return SAFE_HEAP_STORE(dest,value,bytes,true)}function SAFE_HEAP_LOAD(dest,bytes,unsigned,isFloat){if(dest<=0)abort(`segmentation fault loading ${bytes} bytes from address ${dest}`);if(dest%bytes!==0)abort(`alignment error loading from address ${dest}, which was expected to be aligned to a multiple of ${bytes}`);if(runtimeInitialized){var brk=_sbrk(0);if(dest+bytes>brk)abort(`segmentation fault, exceeded the top of the available dynamic heap when loading ${bytes} bytes from address ${dest}. DYNAMICTOP=${brk}`);if(brk<_emscripten_stack_get_base())abort(`brk >= _emscripten_stack_get_base() (brk=${brk}, _emscripten_stack_get_base()=${_emscripten_stack_get_base()})`);if(brk>wasmMemory.buffer.byteLength)abort(`brk <= wasmMemory.buffer.byteLength (brk=${brk}, wasmMemory.buffer.byteLength=${wasmMemory.buffer.byteLength})`)}var type=getSafeHeapType(bytes,isFloat);var ret=getValue_safe(dest,type);if(unsigned)ret=unSign(ret,parseInt(type.slice(1),10));return ret}function SAFE_HEAP_LOAD_D(dest,bytes,unsigned){return SAFE_HEAP_LOAD(dest,bytes,unsigned,true)}function segfault(){abort(\"segmentation fault\")}function alignfault(){abort(\"alignment fault\")}function updateMemoryViews(){var b=wasmMemory.buffer;Module[\"HEAP8\"]=HEAP8=new Int8Array(b);Module[\"HEAP16\"]=HEAP16=new Int16Array(b);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(b);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(b);Module[\"HEAP32\"]=HEAP32=new Int32Array(b);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(b);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(b);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(b);Module[\"HEAP64\"]=HEAP64=new BigInt64Array(b);Module[\"HEAPU64\"]=HEAPU64=new BigUint64Array(b)}assert(!Module[\"STACK_SIZE\"],\"STACK_SIZE can no longer be set at runtime.  Use -sSTACK_SIZE at link time\");assert(typeof Int32Array!=\"undefined\"&&typeof Float64Array!==\"undefined\"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,\"JS engine does not provide full typed array support\");assert(!Module[\"wasmMemory\"],\"Use of `wasmMemory` detected.  Use -sIMPORTED_MEMORY to define wasmMemory externally\");assert(!Module[\"INITIAL_MEMORY\"],\"Detected runtime INITIAL_MEMORY setting.  Use -sIMPORTED_MEMORY to define wasmMemory dynamically\");function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}consumedModuleProp(\"preRun\");callRuntimeCallbacks(onPreRuns)}function initRuntime(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();if(!Module[\"noFSInit\"]&&!FS.initialized)FS.init();TTY.init();wasmExports[\"__wasm_call_ctors\"]();FS.ignorePermissions=false}function postRun(){checkStackCookie();if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}consumedModuleProp(\"postRun\");callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;var runDependencyTracking={};var runDependencyWatcher=null;function getUniqueRunDependency(id){var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}}function addRunDependency(id){runDependencies++;Module[\"monitorRunDependencies\"]?.(runDependencies);if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=\"undefined\"){runDependencyWatcher=setInterval(()=>{if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err(\"still waiting on run dependencies:\")}err(`dependency: ${dep}`)}if(shown){err(\"(end of list)\")}},1e4)}}else{err(\"warning: run dependency added without ID\")}}function removeRunDependency(id){runDependencies--;Module[\"monitorRunDependencies\"]?.(runDependencies);if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err(\"warning: run dependency removed without ID\")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module[\"onAbort\"]?.(what);what=\"Aborted(\"+what+\")\";err(what);ABORT=true;var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}function createExportWrapper(name,nargs){return(...args)=>{assert(runtimeInitialized,`native function \\`${name}\\` called before runtime initialization`);var f=wasmExports[name];assert(f,`exported native function \\`${name}\\` not found`);assert(args.length<=nargs,`native function \\`${name}\\` called with ${args.length} args but expects ${nargs}`);return f(...args)}}var wasmBinaryFile;function findWasmBinary(){return locateFile(\"swisseph.wasm\")}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw\"both async and sync fetching of the wasm failed\"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);if(isFileURI(wasmBinaryFile)){err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`)}abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming==\"function\"&&!ENVIRONMENT_IS_NODE){try{var response=fetch(binaryFile,{credentials:\"same-origin\"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err(\"falling back to ArrayBuffer instantiation\")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports[\"memory\"];assert(wasmMemory,\"memory not found in wasm exports\");updateMemoryViews();removeRunDependency(\"wasm-instantiate\");return wasmExports}addRunDependency(\"wasm-instantiate\");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,\"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?\");trueModule=null;return receiveInstance(result[\"instance\"])}var info=getWasmImports();if(Module[\"instantiateWasm\"]){return new Promise((resolve,reject)=>{try{Module[\"instantiateWasm\"](info,(mod,inst)=>{receiveInstance(mod,inst);resolve(mod.exports)})}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);reject(e)}})}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}catch(e){readyPromiseReject(e);return Promise.reject(e)}}class ExitStatus{name=\"ExitStatus\";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.unshift(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.unshift(cb);function getValue(ptr,type=\"i8\"){if(type.endsWith(\"*\"))type=\"*\";switch(type){case\"i1\":return SAFE_HEAP_LOAD(ptr,1,0);case\"i8\":return SAFE_HEAP_LOAD(ptr,1,0);case\"i16\":return SAFE_HEAP_LOAD((ptr>>1)*2,2,0);case\"i32\":return SAFE_HEAP_LOAD((ptr>>2)*4,4,0);case\"i64\":return HEAP64[ptr>>3];case\"float\":return SAFE_HEAP_LOAD_D((ptr>>2)*4,4,0);case\"double\":return SAFE_HEAP_LOAD_D((ptr>>3)*8,8,0);case\"*\":return SAFE_HEAP_LOAD((ptr>>2)*4,4,1);default:abort(`invalid type for getValue: ${type}`)}}function getValue_safe(ptr,type=\"i8\"){if(type.endsWith(\"*\"))type=\"*\";switch(type){case\"i1\":return HEAP8[ptr];case\"i8\":return HEAP8[ptr];case\"i16\":return HEAP16[ptr>>1];case\"i32\":return HEAP32[ptr>>2];case\"i64\":return HEAP64[ptr>>3];case\"float\":return HEAPF32[ptr>>2];case\"double\":return HEAPF64[ptr>>3];case\"*\":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=Module[\"noExitRuntime\"]||true;var ptrToString=ptr=>{assert(typeof ptr===\"number\");ptr>>>=0;return\"0x\"+ptr.toString(16).padStart(8,\"0\")};function setValue(ptr,value,type=\"i8\"){if(type.endsWith(\"*\"))type=\"*\";switch(type){case\"i1\":SAFE_HEAP_STORE(ptr,value,1);break;case\"i8\":SAFE_HEAP_STORE(ptr,value,1);break;case\"i16\":SAFE_HEAP_STORE((ptr>>1)*2,value,2);break;case\"i32\":SAFE_HEAP_STORE((ptr>>2)*4,value,4);break;case\"i64\":HEAP64[ptr>>3]=BigInt(value);break;case\"float\":SAFE_HEAP_STORE_D((ptr>>2)*4,value,4);break;case\"double\":SAFE_HEAP_STORE_D((ptr>>3)*8,value,8);break;case\"*\":SAFE_HEAP_STORE((ptr>>2)*4,value,4);break;default:abort(`invalid type for setValue: ${type}`)}}function setValue_safe(ptr,value,type=\"i8\"){if(type.endsWith(\"*\"))type=\"*\";switch(type){case\"i1\":HEAP8[ptr]=value;break;case\"i8\":HEAP8[ptr]=value;break;case\"i16\":HEAP16[ptr>>1]=value;break;case\"i32\":HEAP32[ptr>>2]=value;break;case\"i64\":HEAP64[ptr>>3]=BigInt(value);break;case\"float\":HEAPF32[ptr>>2]=value;break;case\"double\":HEAPF64[ptr>>3]=value;break;case\"*\":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var unSign=(value,bits)=>{if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value};var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text=\"warning: \"+text;err(text)}};var syscallGetVarargI=()=>{assert(SYSCALLS.varargs!=undefined);var ret=SAFE_HEAP_LOAD((+SYSCALLS.varargs>>2)*4,4,0);SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;var PATH={isAbs:path=>path.charAt(0)===\"/\",splitPath:filename=>{var splitPathRe=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last===\".\"){parts.splice(i,1)}else if(last===\"..\"){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift(\"..\")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.slice(-1)===\"/\";path=PATH.normalizeArray(path.split(\"/\").filter(p=>!!p),!isAbsolute).join(\"/\");if(!path&&!isAbsolute){path=\".\"}if(path&&trailingSlash){path+=\"/\"}return(isAbsolute?\"/\":\"\")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return\".\"}if(dir){dir=dir.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\\/]+|\\/)\\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join(\"/\")),join2:(l,r)=>PATH.normalize(l+\"/\"+r)};var initRandomFill=()=>{if(ENVIRONMENT_IS_NODE){var nodeCrypto=require(\"crypto\");return view=>nodeCrypto.randomFillSync(view)}return view=>crypto.getRandomValues(view)};var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath=\"\",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!=\"string\"){throw new TypeError(\"Arguments to path.resolve must be strings\")}else if(!path){return\"\"}resolvedPath=path+\"/\"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split(\"/\").filter(p=>!!p),!resolvedAbsolute).join(\"/\");return(resolvedAbsolute?\"/\":\"\")+resolvedPath||\".\"},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!==\"\")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!==\"\")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split(\"/\"));var toParts=trim(to.split(\"/\"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push(\"..\")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join(\"/\")}};var UTF8Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{if((u0&248)!=240)warnOnce(\"Invalid UTF-8 leading byte \"+ptrToString(u0)+\" encountered when deserializing a UTF-8 string in wasm memory to a JS string!\");u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{assert(typeof str===\"string\",`stringToUTF8Array expects a string (got ${typeof str})`);if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;if(u>1114111)warnOnce(\"Invalid Unicode code point \"+ptrToString(u)+\" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).\");heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes(\"EOF\"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString(\"utf-8\")}}else if(typeof window!=\"undefined\"&&typeof window.prompt==\"function\"){result=window.prompt(\"Input: \");if(result!==null){result+=\"\\n\"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.atime=Date.now()}return bytesRead},write(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(60)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(29)}if(length){stream.node.mtime=stream.node.ctime=Date.now()}return i}},default_tty_ops:{get_char(tty){return FS_stdin_getChar()},put_char(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var alignMemory=(size,alignment)=>{assert(alignment,\"alignment argument is required\");return Math.ceil(size/alignment)*alignment};var mmapAlloc=size=>{abort(\"internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported\")};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,\"/\",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)>>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of[\"mode\",\"atime\",\"mtime\",\"ctime\"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw new FS.ErrnoError(44)},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[\".\",\"..\",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write(stream,buffer,offset,length,position,canOwn){assert(!(buffer instanceof ArrayBuffer));if(buffer.buffer===HEAP8.buffer){canOwn=false}if(!length)return 0;var node=stream.node;node.mtime=node.ctime=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){assert(position===0,\"canOwn must imply no weird position inside the file\");node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray){node.contents.set(buffer.subarray(offset,offset+length),position)}else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},mmap(stream,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents&&contents.buffer===HEAP8.buffer){allocated=false;ptr=contents.byteOffset}else{allocated=true;ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}if(contents){if(position>0||position+length<contents.length){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}HEAP8.set(contents,ptr)}}return{ptr,allocated}},msync(stream,buffer,offset,length,mmapFlags){MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);assert(arrayBuffer,`Loading data file \"${url}\" failed (no arrayBuffer).`);return new Uint8Array(arrayBuffer)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module[\"preloadPlugins\"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!=\"undefined\")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin[\"canHandle\"](fullname)){plugin[\"handle\"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url==\"string\"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,\"r+\":2,w:512|64|1,\"w+\":512|64|2,a:1024|64|1,\"a+\":1024|64|2};var flags=flagModes[str];if(typeof flags==\"undefined\"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var UTF8ToString=(ptr,maxBytesToRead)=>{assert(typeof ptr==\"number\",`UTF8ToString expects a number (got ${typeof ptr})`);return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"};var strError=errno=>UTF8ToString(_strerror(errno));var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:\"/\",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class extends Error{name=\"ErrnoError\";constructor(errno){super(runtimeInitialized?strError(errno):\"\");this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+\"/\"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split(\"/\").filter(p=>!!p);var current=FS.root;var current_path=\"/\";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}if(parts[i]===\".\"){continue}if(parts[i]===\"..\"){current_path=PATH.dirname(current_path);current=current.parent;continue}current_path=PATH.join2(current_path,parts[i]);try{current=FS.lookupNode(current,parts[i])}catch(e){if(e?.errno===44&&islast&&opts.noent_okay){return{path:current_path}}throw e}if(FS.isMountpoint(current)&&(!islast||opts.follow_mount)){current=current.mounted.root}if(FS.isLink(current.mode)&&(!islast||opts.follow)){if(!current.node_ops.readlink){throw new FS.ErrnoError(52)}var link=current.node_ops.readlink(current);if(!PATH.isAbs(link)){link=PATH.dirname(current_path)+\"/\"+link}path=link+\"/\"+parts.slice(i+1).join(\"/\");continue linkloop}}return{path:current_path,node:current}}throw new FS.ErrnoError(32)},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!==\"/\"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){assert(typeof parent==\"object\");var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=[\"r\",\"w\",\"rw\"][flag&3];if(flag&512){perms+=\"w\"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes(\"r\")&&!(node.mode&292)){return 2}else if(perms.includes(\"w\")&&!(node.mode&146)){return 2}else if(perms.includes(\"x\")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,\"x\");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,\"wx\")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,\"wx\");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!==\"r\"||flags&(512|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){assert(fd>=-1);stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate==\"function\"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){if(typeof type==\"string\"){throw type}var root=mountpoint===\"/\";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name){throw new FS.ErrnoError(28)}if(name===\".\"||name===\"..\"){throw new FS.ErrnoError(20)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split(\"/\");var d=\"\";for(var dir of dirs){if(!dir)continue;d+=\"/\"+dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){if(typeof dev==\"undefined\"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,\"w\");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name);old_node.parent=new_dir}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return readdir(node)},unlink(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path==\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path==\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,\"w\");if(errCode){throw new FS.ErrnoError(errCode)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},truncate(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path==\"string\"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===\"\"){throw new FS.ErrnoError(44)}flags=typeof flags==\"string\"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path==\"object\"){node=path}else{isDirPath=path.endsWith(\"/\");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module[\"logReadFiles\"]&&!(flags&1)){if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed(stream){return stream.fd===null},llseek(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read(stream,buffer,offset,length,position){assert(offset>=0);if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!=\"undefined\";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){assert(offset>=0);if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=\"undefined\";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}if(!length){throw new FS.ErrnoError(28)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){assert(offset>=0);if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||\"binary\";if(opts.encoding!==\"utf8\"&&opts.encoding!==\"binary\"){throw new Error(`Invalid encoding type \"${opts.encoding}\"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding===\"utf8\"){ret=UTF8ArrayToString(buf)}else if(opts.encoding===\"binary\"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==\"string\"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error(\"Unsupported data type\")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,\"x\");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir(\"/tmp\");FS.mkdir(\"/home\");FS.mkdir(\"/home/web_user\")},createDefaultDevices(){FS.mkdir(\"/dev\");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length,llseek:()=>0});FS.mkdev(\"/dev/null\",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev(\"/dev/tty\",FS.makedev(5,0));FS.mkdev(\"/dev/tty1\",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomFill(randomBuffer);randomLeft=randomBuffer.byteLength}return randomBuffer[--randomLeft]};FS.createDevice(\"/dev\",\"random\",randomByte);FS.createDevice(\"/dev\",\"urandom\",randomByte);FS.mkdir(\"/dev/shm\");FS.mkdir(\"/dev/shm/tmp\")},createSpecialDirectories(){FS.mkdir(\"/proc\");var proc_self=FS.mkdir(\"/proc/self\");FS.mkdir(\"/proc/self/fd\");FS.mount({mount(){var node=FS.createNode(proc_self,\"fd\",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:\"fake\"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},\"/proc/self/fd\")},createStandardStreams(input,output,error){if(input){FS.createDevice(\"/dev\",\"stdin\",input)}else{FS.symlink(\"/dev/tty\",\"/dev/stdin\")}if(output){FS.createDevice(\"/dev\",\"stdout\",null,output)}else{FS.symlink(\"/dev/tty\",\"/dev/stdout\")}if(error){FS.createDevice(\"/dev\",\"stderr\",null,error)}else{FS.symlink(\"/dev/tty1\",\"/dev/stderr\")}var stdin=FS.open(\"/dev/stdin\",0);var stdout=FS.open(\"/dev/stdout\",1);var stderr=FS.open(\"/dev/stderr\",1);assert(stdin.fd===0,`invalid handle for stdin (${stdin.fd})`);assert(stdout.fd===1,`invalid handle for stdout (${stdout.fd})`);assert(stderr.fd===2,`invalid handle for stderr (${stderr.fd})`)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},\"/\");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){assert(!FS.initialized,\"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)\");FS.initialized=true;input??=Module[\"stdin\"];output??=Module[\"stdout\"];error??=Module[\"stderr\"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;_fflush(0);for(var stream of FS.streams){if(stream){FS.close(stream)}}},findObject(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path===\"/\"}catch(e){ret.error=e.errno}return ret},createPath(parent,path,canRead,canWrite){parent=typeof parent==\"string\"?parent:FS.getPath(parent);var parts=path.split(\"/\").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){if(e.errno!=20)throw e}parent=current}return current},createFile(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==\"string\"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile(parent,name,data,canRead,canWrite,canOwn){var path=name;if(parent){parent=typeof parent==\"string\"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==\"string\"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,577);FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}},createDevice(parent,name,input,output){var path=PATH.join2(typeof parent==\"string\"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);FS.createDevice.major??=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open(stream){stream.seekable=false},close(stream){if(output?.buffer?.length){output(10)}},read(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.atime=Date.now()}return bytesRead},write(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(29)}}if(length){stream.node.mtime=stream.node.ctime=Date.now()}return i}});return FS.mkdev(path,mode,dev)},forceLoadFile(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!=\"undefined\"){throw new Error(\"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.\")}else{try{obj.contents=readBinary(obj.url);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}},createLazyFile(parent,name,url,canRead,canWrite){class LazyUint8Array{lengthKnown=false;chunks=[];get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open(\"HEAD\",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);var datalength=Number(xhr.getResponseHeader(\"Content-length\"));var header;var hasByteServing=(header=xhr.getResponseHeader(\"Accept-Ranges\"))&&header===\"bytes\";var usesGzip=(header=xhr.getResponseHeader(\"Content-Encoding\"))&&header===\"gzip\";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error(\"invalid range (\"+from+\", \"+to+\") or no bytes requested!\");if(to>datalength-1)throw new Error(\"only \"+datalength+\" bytes available! programmer error!\");var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);if(datalength!==chunkSize)xhr.setRequestHeader(\"Range\",\"bytes=\"+from+\"-\"+to);xhr.responseType=\"arraybuffer\";if(xhr.overrideMimeType){xhr.overrideMimeType(\"text/plain; charset=x-user-defined\")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||\"\",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==\"undefined\"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==\"undefined\")throw new Error(\"doXHR failed!\");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out(\"LazyFiles on gzip forces download of the whole file when length is accessed\")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!=\"undefined\"){if(!ENVIRONMENT_IS_WORKER)throw\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size}stream_ops.read=(stream,buffer,offset,length,position)=>{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node},absolutePath(){abort(\"FS.absolutePath has been removed; use PATH_FS.resolve instead\")},createFolder(){abort(\"FS.createFolder has been removed; use FS.mkdir instead\")},createLink(){abort(\"FS.createLink has been removed; use FS.symlink instead\")},joinPath(){abort(\"FS.joinPath has been removed; use PATH.join instead\")},mmapAlloc(){abort(\"FS.mmapAlloc has been replaced by the top level function mmapAlloc\")},standardizePath(){abort(\"FS.standardizePath has been removed; use PATH.normalize instead\")}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+\"/\"+path},writeStat(buf,stat){SAFE_HEAP_STORE((buf>>2)*4,stat.dev,4);SAFE_HEAP_STORE((buf+4>>2)*4,stat.mode,4);SAFE_HEAP_STORE((buf+8>>2)*4,stat.nlink,4);SAFE_HEAP_STORE((buf+12>>2)*4,stat.uid,4);SAFE_HEAP_STORE((buf+16>>2)*4,stat.gid,4);SAFE_HEAP_STORE((buf+20>>2)*4,stat.rdev,4);HEAP64[buf+24>>3]=BigInt(stat.size);SAFE_HEAP_STORE((buf+32>>2)*4,4096,4);SAFE_HEAP_STORE((buf+36>>2)*4,stat.blocks,4);var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>3]=BigInt(Math.floor(atime/1e3));SAFE_HEAP_STORE((buf+48>>2)*4,atime%1e3*1e3*1e3,4);HEAP64[buf+56>>3]=BigInt(Math.floor(mtime/1e3));SAFE_HEAP_STORE((buf+64>>2)*4,mtime%1e3*1e3*1e3,4);HEAP64[buf+72>>3]=BigInt(Math.floor(ctime/1e3));SAFE_HEAP_STORE((buf+80>>2)*4,ctime%1e3*1e3*1e3,4);HEAP64[buf+88>>3]=BigInt(stat.ino);return 0},writeStatFs(buf,stats){SAFE_HEAP_STORE((buf+4>>2)*4,stats.bsize,4);SAFE_HEAP_STORE((buf+40>>2)*4,stats.bsize,4);SAFE_HEAP_STORE((buf+8>>2)*4,stats.blocks,4);SAFE_HEAP_STORE((buf+12>>2)*4,stats.bfree,4);SAFE_HEAP_STORE((buf+16>>2)*4,stats.bavail,4);SAFE_HEAP_STORE((buf+20>>2)*4,stats.files,4);SAFE_HEAP_STORE((buf+24>>2)*4,stats.ffree,4);SAFE_HEAP_STORE((buf+28>>2)*4,stats.fsid,4);SAFE_HEAP_STORE((buf+44>>2)*4,stats.flags,4);SAFE_HEAP_STORE((buf+36>>2)*4,stats.namelen,4)},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;SAFE_HEAP_STORE((arg+offset>>1)*2,2,2);return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();SAFE_HEAP_STORE((argp>>2)*4,termios.c_iflag||0,4);SAFE_HEAP_STORE((argp+4>>2)*4,termios.c_oflag||0,4);SAFE_HEAP_STORE((argp+8>>2)*4,termios.c_cflag||0,4);SAFE_HEAP_STORE((argp+12>>2)*4,termios.c_lflag||0,4);for(var i=0;i<32;i++){SAFE_HEAP_STORE(argp+i+17,termios.c_cc[i]||0,1)}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=SAFE_HEAP_LOAD((argp>>2)*4,4,0);var c_oflag=SAFE_HEAP_LOAD((argp+4>>2)*4,4,0);var c_cflag=SAFE_HEAP_LOAD((argp+8>>2)*4,4,0);var c_lflag=SAFE_HEAP_LOAD((argp+12>>2)*4,4,0);var c_cc=[];for(var i=0;i<32;i++){c_cc.push(SAFE_HEAP_LOAD(argp+i+17,1,0))}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();SAFE_HEAP_STORE((argp>>2)*4,0,4);return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();SAFE_HEAP_STORE((argp>>1)*2,winsize[0],2);SAFE_HEAP_STORE((argp+2>>1)*2,winsize[1],2)}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}var __abort_js=()=>abort(\"native code called abort()\");var getHeapMax=()=>134217728;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){err(`growMemory: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`)}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err(`Cannot enlarge memory, requested ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`);return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`);return false};var ENV={};var getExecutableName=()=>thisProgram||\"./this.program\";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\";var env={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i<str.length;++i){assert(str.charCodeAt(i)===(str.charCodeAt(i)&255));SAFE_HEAP_STORE(buffer++,str.charCodeAt(i),1)}SAFE_HEAP_STORE(buffer,0,1)};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;SAFE_HEAP_STORE((__environ+i*4>>2)*4,ptr,4);stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();SAFE_HEAP_STORE((penviron_count>>2)*4,strings.length,4);var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);SAFE_HEAP_STORE((penviron_buf_size>>2)*4,bufSize,4);return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i<iovcnt;i++){var ptr=SAFE_HEAP_LOAD((iov>>2)*4,4,1);var len=SAFE_HEAP_LOAD((iov+4>>2)*4,4,1);iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break;if(typeof offset!=\"undefined\"){offset+=curr}}return ret};function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);SAFE_HEAP_STORE((pnum>>2)*4,num,4);return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>num<INT53_MIN||num>INT53_MAX?NaN:Number(num);function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>3]=BigInt(stream.position);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i<iovcnt;i++){var ptr=SAFE_HEAP_LOAD((iov>>2)*4,4,1);var len=SAFE_HEAP_LOAD((iov+4>>2)*4,4,1);iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len){break}if(typeof offset!=\"undefined\"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);SAFE_HEAP_STORE((pnum>>2)*4,num,4);return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}var getCFunc=ident=>{var func=Module[\"_\"+ident];assert(func,\"Cannot call unknown function \"+ident+\", make sure it is exported\");return func};var writeArrayToMemory=(array,buffer)=>{assert(array.length>=0,\"writeArrayToMemory array must have a length (should be an array or typed array)\");HEAP8.set(array,buffer)};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>{assert(typeof maxBytesToWrite==\"number\",\"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!\");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType===\"string\"){return UTF8ToString(ret)}if(returnType===\"boolean\")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!==\"array\",'Return type should not be \"array\".');if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func(...cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var cwrap=(ident,returnType,argTypes,opts)=>(...args)=>ccall(ident,returnType,argTypes,args,opts);FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();function checkIncomingModuleAPI(){ignoredModuleProp(\"fetchSettings\")}var wasmImports={__syscall_fcntl64:___syscall_fcntl64,__syscall_ioctl:___syscall_ioctl,__syscall_openat:___syscall_openat,_abort_js:__abort_js,alignfault,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,fd_close:_fd_close,fd_read:_fd_read,fd_seek:_fd_seek,fd_write:_fd_write,segfault};var wasmExports=await createWasm();var ___wasm_call_ctors=createExportWrapper(\"__wasm_call_ctors\",0);var _swe_calc=Module[\"_swe_calc\"]=createExportWrapper(\"swe_calc\",5);var _free=Module[\"_free\"]=createExportWrapper(\"free\",1);var _swe_set_ephe_path=Module[\"_swe_set_ephe_path\"]=createExportWrapper(\"swe_set_ephe_path\",1);var _swe_set_sid_mode=Module[\"_swe_set_sid_mode\"]=createExportWrapper(\"swe_set_sid_mode\",3);var _swe_calc_ut=Module[\"_swe_calc_ut\"]=createExportWrapper(\"swe_calc_ut\",5);var _swe_close=Module[\"_swe_close\"]=createExportWrapper(\"swe_close\",0);var _swe_set_jpl_file=Module[\"_swe_set_jpl_file\"]=createExportWrapper(\"swe_set_jpl_file\",1);var _swe_fixstar=Module[\"_swe_fixstar\"]=createExportWrapper(\"swe_fixstar\",5);var _swe_get_planet_name=Module[\"_swe_get_planet_name\"]=createExportWrapper(\"swe_get_planet_name\",2);var _malloc=Module[\"_malloc\"]=createExportWrapper(\"malloc\",1);var _swe_set_topo=Module[\"_swe_set_topo\"]=createExportWrapper(\"swe_set_topo\",3);var _swe_julday=Module[\"_swe_julday\"]=createExportWrapper(\"swe_julday\",5);var _swe_houses=Module[\"_swe_houses\"]=createExportWrapper(\"swe_houses\",6);var _swe_house_pos=Module[\"_swe_house_pos\"]=createExportWrapper(\"swe_house_pos\",6);var _swe_azalt=Module[\"_swe_azalt\"]=createExportWrapper(\"swe_azalt\",7);var _fflush=createExportWrapper(\"fflush\",1);var _strerror=createExportWrapper(\"strerror\",1);var _sbrk=createExportWrapper(\"sbrk\",1);var _emscripten_get_sbrk_ptr=createExportWrapper(\"emscripten_get_sbrk_ptr\",0);var _emscripten_stack_init=wasmExports[\"emscripten_stack_init\"];var _emscripten_stack_get_free=wasmExports[\"emscripten_stack_get_free\"];var _emscripten_stack_get_base=wasmExports[\"emscripten_stack_get_base\"];var _emscripten_stack_get_end=wasmExports[\"emscripten_stack_get_end\"];var __emscripten_stack_restore=wasmExports[\"_emscripten_stack_restore\"];var __emscripten_stack_alloc=wasmExports[\"_emscripten_stack_alloc\"];var _emscripten_stack_get_current=wasmExports[\"emscripten_stack_get_current\"];Module[\"ccall\"]=ccall;Module[\"cwrap\"]=cwrap;Module[\"setValue\"]=setValue;Module[\"getValue\"]=getValue;Module[\"UTF8ToString\"]=UTF8ToString;Module[\"stringToUTF8\"]=stringToUTF8;Module[\"lengthBytesUTF8\"]=lengthBytesUTF8;var missingLibrarySymbols=[\"writeI53ToI64\",\"writeI53ToI64Clamped\",\"writeI53ToI64Signaling\",\"writeI53ToU64Clamped\",\"writeI53ToU64Signaling\",\"readI53FromI64\",\"readI53FromU64\",\"convertI32PairToI53\",\"convertI32PairToI53Checked\",\"convertU32PairToI53\",\"getTempRet0\",\"setTempRet0\",\"exitJS\",\"inetPton4\",\"inetNtop4\",\"inetPton6\",\"inetNtop6\",\"readSockaddr\",\"writeSockaddr\",\"emscriptenLog\",\"readEmAsmArgs\",\"jstoi_q\",\"listenOnce\",\"autoResumeAudioContext\",\"getDynCaller\",\"dynCall\",\"handleException\",\"keepRuntimeAlive\",\"runtimeKeepalivePush\",\"runtimeKeepalivePop\",\"callUserCallback\",\"maybeExit\",\"asmjsMangle\",\"HandleAllocator\",\"getNativeTypeSize\",\"addOnInit\",\"addOnPostCtor\",\"addOnPreMain\",\"addOnExit\",\"STACK_SIZE\",\"STACK_ALIGN\",\"POINTER_SIZE\",\"ASSERTIONS\",\"uleb128Encode\",\"sigToWasmTypes\",\"generateFuncType\",\"convertJsFunctionToWasm\",\"getEmptyTableSlot\",\"updateTableMap\",\"getFunctionAddress\",\"addFunction\",\"removeFunction\",\"reallyNegative\",\"strLen\",\"reSign\",\"formatString\",\"intArrayToString\",\"AsciiToString\",\"UTF16ToString\",\"stringToUTF16\",\"lengthBytesUTF16\",\"UTF32ToString\",\"stringToUTF32\",\"lengthBytesUTF32\",\"stringToNewUTF8\",\"registerKeyEventCallback\",\"maybeCStringToJsString\",\"findEventTarget\",\"getBoundingClientRect\",\"fillMouseEventData\",\"registerMouseEventCallback\",\"registerWheelEventCallback\",\"registerUiEventCallback\",\"registerFocusEventCallback\",\"fillDeviceOrientationEventData\",\"registerDeviceOrientationEventCallback\",\"fillDeviceMotionEventData\",\"registerDeviceMotionEventCallback\",\"screenOrientation\",\"fillOrientationChangeEventData\",\"registerOrientationChangeEventCallback\",\"fillFullscreenChangeEventData\",\"registerFullscreenChangeEventCallback\",\"JSEvents_requestFullscreen\",\"JSEvents_resizeCanvasForFullscreen\",\"registerRestoreOldStyle\",\"hideEverythingExceptGivenElement\",\"restoreHiddenElements\",\"setLetterbox\",\"softFullscreenResizeWebGLRenderTarget\",\"doRequestFullscreen\",\"fillPointerlockChangeEventData\",\"registerPointerlockChangeEventCallback\",\"registerPointerlockErrorEventCallback\",\"requestPointerLock\",\"fillVisibilityChangeEventData\",\"registerVisibilityChangeEventCallback\",\"registerTouchEventCallback\",\"fillGamepadEventData\",\"registerGamepadEventCallback\",\"registerBeforeUnloadEventCallback\",\"fillBatteryEventData\",\"battery\",\"registerBatteryEventCallback\",\"setCanvasElementSize\",\"getCanvasElementSize\",\"jsStackTrace\",\"getCallstack\",\"convertPCtoSourceLocation\",\"checkWasiClock\",\"wasiRightsToMuslOFlags\",\"wasiOFlagsToMuslOFlags\",\"safeSetTimeout\",\"setImmediateWrapped\",\"safeRequestAnimationFrame\",\"clearImmediateWrapped\",\"registerPostMainLoop\",\"registerPreMainLoop\",\"getPromise\",\"makePromise\",\"idsToPromises\",\"makePromiseCallback\",\"ExceptionInfo\",\"findMatchingCatch\",\"Browser_asyncPrepareDataCounter\",\"isLeapYear\",\"ydayFromDate\",\"arraySum\",\"addDays\",\"getSocketFromFD\",\"getSocketAddress\",\"FS_unlink\",\"FS_mkdirTree\",\"_setNetworkCallback\",\"heapObjectForWebGLType\",\"toTypedArrayIndex\",\"webgl_enable_ANGLE_instanced_arrays\",\"webgl_enable_OES_vertex_array_object\",\"webgl_enable_WEBGL_draw_buffers\",\"webgl_enable_WEBGL_multi_draw\",\"webgl_enable_EXT_polygon_offset_clamp\",\"webgl_enable_EXT_clip_control\",\"webgl_enable_WEBGL_polygon_mode\",\"emscriptenWebGLGet\",\"computeUnpackAlignedImageSize\",\"colorChannelsInGlTextureFormat\",\"emscriptenWebGLGetTexPixelData\",\"emscriptenWebGLGetUniform\",\"webglGetUniformLocation\",\"webglPrepareUniformLocationsBeforeFirstUse\",\"webglGetLeftBracePos\",\"emscriptenWebGLGetVertexAttrib\",\"__glGetActiveAttribOrUniform\",\"writeGLArray\",\"registerWebGlEventCallback\",\"runAndAbortIfError\",\"ALLOC_NORMAL\",\"ALLOC_STACK\",\"allocate\",\"writeStringToMemory\",\"writeAsciiToMemory\",\"setErrNo\",\"demangle\",\"stackTrace\"];missingLibrarySymbols.forEach(missingLibrarySymbol);var unexportedSymbols=[\"run\",\"addRunDependency\",\"removeRunDependency\",\"out\",\"err\",\"callMain\",\"abort\",\"wasmMemory\",\"wasmExports\",\"writeStackCookie\",\"checkStackCookie\",\"INT53_MAX\",\"INT53_MIN\",\"bigintToI53Checked\",\"stackSave\",\"stackRestore\",\"stackAlloc\",\"ptrToString\",\"zeroMemory\",\"getHeapMax\",\"growMemory\",\"ENV\",\"ERRNO_CODES\",\"strError\",\"DNS\",\"Protocols\",\"Sockets\",\"timers\",\"warnOnce\",\"readEmAsmArgsArray\",\"jstoi_s\",\"getExecutableName\",\"asyncLoad\",\"alignMemory\",\"mmapAlloc\",\"wasmTable\",\"noExitRuntime\",\"addOnPreRun\",\"addOnPostRun\",\"getCFunc\",\"freeTableIndexes\",\"functionsInTableMap\",\"unSign\",\"PATH\",\"PATH_FS\",\"UTF8Decoder\",\"UTF8ArrayToString\",\"stringToUTF8Array\",\"intArrayFromString\",\"stringToAscii\",\"UTF16Decoder\",\"stringToUTF8OnStack\",\"writeArrayToMemory\",\"JSEvents\",\"specialHTMLTargets\",\"findCanvasEventTarget\",\"currentFullscreenStrategy\",\"restoreOldWindowedStyle\",\"UNWIND_CACHE\",\"ExitStatus\",\"getEnvStrings\",\"doReadv\",\"doWritev\",\"initRandomFill\",\"randomFill\",\"emSetImmediate\",\"emClearImmediate_deps\",\"emClearImmediate\",\"promiseMap\",\"uncaughtExceptionCount\",\"exceptionLast\",\"exceptionCaught\",\"Browser\",\"getPreloadedImageData__data\",\"wget\",\"MONTH_DAYS_REGULAR\",\"MONTH_DAYS_LEAP\",\"MONTH_DAYS_REGULAR_CUMULATIVE\",\"MONTH_DAYS_LEAP_CUMULATIVE\",\"SYSCALLS\",\"preloadPlugins\",\"FS_createPreloadedFile\",\"FS_modeStringToFlags\",\"FS_getMode\",\"FS_stdin_getChar_buffer\",\"FS_stdin_getChar\",\"FS_createPath\",\"FS_createDevice\",\"FS_readFile\",\"FS\",\"FS_createDataFile\",\"FS_createLazyFile\",\"MEMFS\",\"TTY\",\"PIPEFS\",\"SOCKFS\",\"tempFixedLengthArray\",\"miniTempWebGLFloatBuffers\",\"miniTempWebGLIntBuffers\",\"GL\",\"AL\",\"GLUT\",\"EGL\",\"GLEW\",\"IDBStore\",\"SDL\",\"SDL_gfx\",\"allocateUTF8\",\"allocateUTF8OnStack\",\"print\",\"printErr\"];unexportedSymbols.forEach(unexportedRuntimeSymbol);var calledRun;function stackCheckInit(){_emscripten_stack_init();writeStackCookie()}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}stackCheckInit();preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){assert(!calledRun);calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);Module[\"onRuntimeInitialized\"]?.();consumedModuleProp(\"onRuntimeInitialized\");assert(!Module[\"_main\"],'compiled without a main, but one is present. if you added it from JS, use Module[\"onRuntimeInitialized\"]');postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(()=>{setTimeout(()=>Module[\"setStatus\"](\"\"),1);doRun()},1)}else{doRun()}checkStackCookie()}if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}consumedModuleProp(\"preInit\");run();moduleRtn=readyPromise;for(const prop of Object.keys(Module)){if(!(prop in moduleArg)){Object.defineProperty(moduleArg,prop,{configurable:true,get(){abort(`Access to module property ('${prop}') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`)}})}}\n\n\n  return moduleRtn;\n}\n);\n})();\n(() => {\n  // Create a small, never-async wrapper around SwissEphemerisModule which\n  // checks for callers incorrectly using it with `new`.\n  var real_SwissEphemerisModule = SwissEphemerisModule;\n  SwissEphemerisModule = function(arg) {\n    if (new.target) throw new Error(\"SwissEphemerisModule() should not be called with `new SwissEphemerisModule()`\");\n    return real_SwissEphemerisModule(arg);\n  }\n})();\nif (typeof exports === 'object' && typeof module === 'object') {\n  module.exports = SwissEphemerisModule;\n  // This default export looks redundant, but it allows TS to import this\n  // commonjs style module.\n  module.exports.default = SwissEphemerisModule;\n} else if (typeof define === 'function' && define['amd'])\n  define([], () => SwissEphemerisModule);\n","/**\n * TypeScript wrapper for Swiss Ephemeris WebAssembly module\n */\n\nimport type {\n  SweCalcUt,\n  SweClose,\n  SweHousePos,\n  SweHouses,\n  SweJulDay,\n  SweSetEphePath,\n  SwissEphModule,\n  SwissEphModuleFactory\n} from './types';\n\n// Exported planet constants\nexport enum Planet {\n  SUN = 0,\n  MOON = 1,\n  MERCURY = 2,\n  VENUS = 3,\n  MARS = 4,\n  JUPITER = 5,\n  SATURN = 6,\n  URANUS = 7,\n  NEPTUNE = 8,\n  PLUTO = 9,\n  MEAN_NODE = 10,\n  TRUE_NODE = 11,\n  CHIRON = 15\n}\n\n// House systems\nexport enum HouseSystem {\n  PLACIDUS = 'P',\n  KOCH = 'K',\n  PORPHYRIUS = 'O',\n  REGIOMONTANUS = 'R',\n  CAMPANUS = 'C',\n  EQUAL = 'E',\n  WHOLE_SIGN = 'W',\n  MERIDIAN = 'X',\n  MORINUS = 'M',\n  KRUSINSKI = 'U',\n  ALCABITIUS = 'B'\n}\n\n// Calculation flag constants\nexport enum CalcFlag {\n  SWISS_EPH = 2,\n  MOSHIER = 4,\n  HELIOCENTRIC = 8,\n  TRUE_POS = 16,\n  SPEED = 32\n}\n\n// Planet position result\nexport interface PlanetPosition {\n  longitude: number;\n  latitude: number;\n  distance: number;\n  longitudeSpeed?: number;\n  latitudeSpeed?: number;\n  distanceSpeed?: number;\n}\n\n// Houses calculation result\nexport interface Houses {\n  ascendant: number;\n  mc: number;\n  houses: number[];\n}\n\n// Swiss Ephemeris class\nexport class SwissEph {\n  private module: SwissEphModule | null = null;\n  private swe_julday: SweJulDay | null = null;\n  private swe_calc_ut: SweCalcUt | null = null;\n  private swe_houses: SweHouses | null = null;\n  private swe_house_pos: SweHousePos | null = null;\n  private swe_set_ephe_path: SweSetEphePath | null = null;\n  private swe_close: SweClose | null = null;\n  private ephePath: string;\n  private initialized = false;\n  \n  /**\n   * Constructor that takes an optional path to ephemeris files\n   */\n  constructor(ephePath = '') {\n    this.ephePath = ephePath;\n  }\n  \n  private checkInitialized(): void {\n    if (!this.initialized || !this.module) {\n      throw new Error('Swiss Ephemeris module not initialized. Call init() first.');\n    }\n  }\n  \n  /**\n   * Initialize the Swiss Ephemeris module\n   */\n  async init(): Promise<void> {\n    if (this.initialized) {\n      return;\n    }\n    \n    try {\n      // Dynamic import to ensure compatibility with both Node.js and browsers\n      let moduleFactory: SwissEphModuleFactory;\n      if (typeof window !== 'undefined') {\n        const mod = await import(/* webpackIgnore: true */ '../build/swisseph.js');\n        moduleFactory = mod.default;\n      } else {\n        // eslint-disable-next-line @typescript-eslint/no-var-requires\n        moduleFactory = require('../build/swisseph.js');\n      }\n      \n      const module = await moduleFactory();\n      \n      if (!module) {\n        throw new Error('Failed to initialize Swiss Ephemeris module');\n      }\n      \n      this.module = module;\n      \n      // Create wrapped functions with specific types\n      this.swe_julday = module.cwrap<SweJulDay>('swe_julday', 'number', ['number', 'number', 'number', 'number', 'number']);\n      this.swe_calc_ut = module.cwrap<SweCalcUt>('swe_calc_ut', 'number', ['number', 'number', 'number', 'number']);\n      this.swe_houses = module.cwrap<SweHouses>('swe_houses', 'number', ['number', 'number', 'number', 'string', 'number', 'number']);\n      this.swe_house_pos = module.cwrap<SweHousePos>('swe_house_pos', 'number', ['number', 'number', 'number', 'string', 'number', 'number']);\n      this.swe_set_ephe_path = module.cwrap<SweSetEphePath>('swe_set_ephe_path', null, ['number']);\n      this.swe_close = module.cwrap<SweClose>('swe_close', null, []);\n      \n      // Set ephemeris path if provided\n      if (this.ephePath) {\n        const pathPtr = module._malloc(this.ephePath.length + 1);\n        if (!pathPtr) {\n          throw new Error('Failed to allocate memory for ephemeris path');\n        }\n        module.stringToUTF8(this.ephePath, pathPtr, this.ephePath.length + 1);\n        if (this.swe_set_ephe_path) {\n          this.swe_set_ephe_path(pathPtr);\n        }\n        module._free(pathPtr);\n      }\n      \n      this.initialized = true;\n    } catch (error) {\n      console.error('Failed to initialize Swiss Ephemeris module:', error);\n      throw error;\n    }\n  }\n  \n  /**\n   * Calculate Julian day number for a given date and time\n   */\n  getJulianDay(date: Date): number {\n    this.checkInitialized();\n    if (!this.swe_julday) {\n      throw new Error('Julian day calculation function not available');\n    }\n    \n    // Get UTC components\n    const year = date.getUTCFullYear();\n    const month = date.getUTCMonth() + 1; // JavaScript months are 0-based\n    const day = date.getUTCDate();\n    const hour = date.getUTCHours() + date.getUTCMinutes() / 60 + date.getUTCSeconds() / 3600;\n    \n    // Use Gregorian calendar (flag = 1)\n    return this.swe_julday(year, month, day, hour, 1);\n  }\n  \n  /**\n   * Calculate planet position at a given Julian day\n   */\n  calculatePlanetPosition(julday: number, planet: Planet, flags = CalcFlag.SWISS_EPH): PlanetPosition {\n    this.checkInitialized();\n    if (!this.swe_calc_ut || !this.module) {\n      throw new Error('Planet calculation function not available');\n    }\n    \n    const resultPtr = this.module._malloc(6 * 8);\n    if (!resultPtr) {\n      throw new Error('Failed to allocate memory for planet position');\n    }\n    \n    try {\n      const ret = this.swe_calc_ut(julday, planet, flags, resultPtr);\n      \n      if (ret < 0) {\n        throw new Error(`Swiss Ephemeris calculation failed with error code ${ret}`);\n      }\n      \n      const position: PlanetPosition = {\n        longitude: this.module.getValue(resultPtr, 'double'),\n        latitude: this.module.getValue(resultPtr + 8, 'double'),\n        distance: this.module.getValue(resultPtr + 16, 'double')\n      };\n      \n      if (flags & CalcFlag.SPEED) {\n        position.longitudeSpeed = this.module.getValue(resultPtr + 24, 'double');\n        position.latitudeSpeed = this.module.getValue(resultPtr + 32, 'double');\n        position.distanceSpeed = this.module.getValue(resultPtr + 40, 'double');\n      }\n      \n      return position;\n    } finally {\n      this.module._free(resultPtr);\n    }\n  }\n  \n  /**\n   * Calculate houses for a given date, location, and house system\n   */\n  calculateHouses(julday: number, latitude: number, longitude: number, hsys: HouseSystem = HouseSystem.PLACIDUS): Houses {\n    this.checkInitialized();\n    if (!this.swe_houses || !this.module) {\n      throw new Error('Houses calculation function not available');\n    }\n    \n    // Validate input parameters\n    if (latitude < -90 || latitude > 90) {\n      throw new Error('Latitude must be between -90 and 90 degrees');\n    }\n    if (longitude < -180 || longitude > 180) {\n      throw new Error('Longitude must be between -180 and 180 degrees');\n    }\n    \n    // Create a single contiguous memory block for both houses and ascmc\n    const totalBytes = (12 + 10) * 8; // 12 houses + 10 ascmc values, each 8 bytes (double)\n    const memoryPtr = this.module._malloc(totalBytes);\n    \n    if (!memoryPtr) {\n      throw new Error('Memory allocation failed');\n    }\n    \n    // Calculate offsets\n    const housesPtr = memoryPtr;\n    const ascmcPtr = memoryPtr + (12 * 8);\n    \n    try {\n      // Calculate houses\n      const ret = this.swe_houses(julday, latitude, longitude, hsys.toString(), housesPtr, ascmcPtr);\n      \n      if (ret < 0) {\n        throw new Error(`Houses calculation failed with error code ${ret}`);\n      }\n      \n      // Extract all data before any memory operations\n      const houses: number[] = [];\n      for (let i = 0; i < 12; i++) {\n        const value = this.module.getValue(housesPtr + i * 8, 'double');\n        houses.push(value);\n      }\n      \n      const ascendant = this.module.getValue(ascmcPtr, 'double');\n      const mc = this.module.getValue(ascmcPtr + 8, 'double');\n      \n      return { ascendant, mc, houses };\n    } finally {\n      // Always free memory\n      this.module._free(memoryPtr);\n    }\n  }\n  \n  /**\n   * Clean up and close the Swiss Ephemeris\n   */\n  close(): void {\n    if (this.initialized && this.swe_close) {\n      this.swe_close();\n      this.initialized = false;\n      this.module = null;\n    }\n  }\n} ","/**\n * Integration with the Swiss Ephemeris WebAssembly module\n */\n\n// Note: In the production code, you'll need to include the compiled WASM files\n// and update the import path. This is a placeholder that would work once the\n// compilation is complete.\n\n// Import from the actual WASM wrapper\nimport { CalcFlag, Houses, HouseSystem, Planet, PlanetPosition, SwissEph } from '../../wasm/src/swisseph';\n\n// We'll use this singleton pattern to manage the Swiss Ephemeris instance\nlet swissEph: SwissEph | null = null;\n\n/**\n * Get the Swiss Ephemeris instance, initializing it if needed\n */\nexport async function getSwissEph(ephePath?: string): Promise<void> {\n  try {\n    if (swissEph) {\n      return;\n    }\n\n    swissEph = new SwissEph(ephePath || '');\n    await swissEph.init();\n  } catch (error) {\n    console.error('Error initializing Swiss Ephemeris:', error);\n    throw error;\n  }\n}\n\n/**\n * Calculate planetary positions for a given date\n */\nexport async function calculatePlanetaryPositions(date: Date): Promise<Record<string, PlanetPosition>> {\n  try {\n    checkInitialization();\n\n    const julday = swissEph!.getJulianDay(date);\n    const planets = {\n      sun: Planet.SUN,\n      moon: Planet.MOON,\n      mercury: Planet.MERCURY,\n      venus: Planet.VENUS,\n      mars: Planet.MARS,\n      jupiter: Planet.JUPITER,\n      saturn: Planet.SATURN\n    };\n\n    const positions: Record<string, PlanetPosition> = {};\n    for (const [name, id] of Object.entries(planets)) {\n      try {\n        positions[name] = swissEph!.calculatePlanetPosition(julday, id);\n      } catch (error) {\n        throw new Error(`Failed to calculate position for ${name}: ${error}`);\n      }\n    }\n\n    return positions;\n  } catch (error) {\n    console.error('Error calculating planetary positions:', error);\n    throw error;\n  }\n}\n\n/**\n * Calculate houses for a given date and location\n */\nexport async function calculateHouses(\n  date: Date,\n  latitude: number,\n  longitude: number,\n  houseSystem: HouseSystem\n): Promise<Houses> {\n  try {\n    checkInitialization();\n\n    const julday = swissEph!.getJulianDay(date);\n    return swissEph!.calculateHouses(julday, latitude, longitude, houseSystem);\n  } catch (error) {\n    console.error('Error calculating houses:', error);\n    throw error;\n  }\n}\n\n/**\n * Clean up Swiss Ephemeris resources\n */\nexport function closeSwissEph(): void {\n  if (swissEph) {\n    try {\n      swissEph.close();\n      swissEph = null;\n    } catch (error) {\n      console.error('Error closing Swiss Ephemeris:', error);\n      throw error;\n    }\n  }\n}\n\nfunction checkInitialization(): void {\n  if (!swissEph) {\n    throw new Error('Swiss Ephemeris not initialized. Call getSwissEph() first.');\n  }\n}\n\n// Re-export types and enums for convenience\nexport { CalcFlag, HouseSystem, Planet };\n\n","/**\n * Astrological calculations using Swiss Ephemeris\n */\n\nimport {\n  CalcFlag,\n  calculateHouses,\n  calculatePlanetaryPositions,\n  closeSwissEph,\n  getSwissEph,\n  HouseSystem,\n  Planet\n} from './swisseph';\n\nexport { CalcFlag, closeSwissEph, getSwissEph, HouseSystem, Planet };\n\nexport interface BirthChartOptions {\n  date: Date;\n  latitude: number;\n  longitude: number;\n  timezone: number;\n  houseSystem?: HouseSystem;\n}\n\nexport interface BirthChart {\n  dateUtc: Date;\n  planets: Record<string, { longitude: number; latitude: number; distance: number }>;\n  houses: {\n    houses: number[];\n    ascendant: number;\n    mc: number;\n  };\n}\n\nfunction validateInputs(options: BirthChartOptions): void {\n  if (!(options.date instanceof Date) || isNaN(options.date.getTime())) {\n    throw new Error('Invalid date provided');\n  }\n\n  if (typeof options.latitude !== 'number' || options.latitude < -90 || options.latitude > 90) {\n    throw new Error('Invalid latitude: must be between -90 and 90 degrees');\n  }\n\n  if (typeof options.longitude !== 'number' || options.longitude < -180 || options.longitude > 180) {\n    throw new Error('Invalid longitude: must be between -180 and 180 degrees');\n  }\n\n  if (typeof options.timezone !== 'number' || options.timezone < -12 || options.timezone > 14) {\n    throw new Error('Invalid timezone: must be between -12 and +14');\n  }\n}\n\n/**\n * Calculate a birth chart using Swiss Ephemeris\n * \n * @param options Chart calculation options\n * @returns Birth chart data\n */\nexport async function getBirthChart(options: BirthChartOptions): Promise<BirthChart> {\n  try {\n    // Validate inputs\n    validateInputs(options);\n\n    // Convert local time to UTC\n    const localDate = new Date(options.date);\n    const utcDate = new Date(localDate.getTime() - (options.timezone * 60 * 60 * 1000));\n\n    // Calculate planetary positions\n    const planets = await calculatePlanetaryPositions(utcDate);\n    if (!planets) {\n      throw new Error('Failed to calculate planetary positions');\n    }\n\n    // Calculate houses\n    const houses = await calculateHouses(\n      utcDate,\n      options.latitude,\n      options.longitude,\n      options.houseSystem || HouseSystem.PLACIDUS\n    );\n    if (!houses) {\n      throw new Error('Failed to calculate houses');\n    }\n\n    return {\n      dateUtc: utcDate,\n      planets,\n      houses\n    };\n  } catch (error) {\n    console.error('Error calculating birth chart:', error);\n    throw error;\n  }\n}\n\n/**\n * Convert decimal degrees to degrees and minutes format\n * \n * @param decimalDegrees Decimal degrees (e.g., 9.8)\n * @returns Formatted string (e.g., \"9°48'\")\n */\nexport function formatDegreeMinutes(decimalDegrees: number): string {\n  const degrees = Math.floor(decimalDegrees);\n  const minutes = Math.round((decimalDegrees - degrees) * 60);\n  return `${degrees}°${minutes.toString().padStart(2, '0')}'`;\n}\n\n/**\n * Convert decimal degrees to zodiac position (sign and degrees)\n * \n * @param longitude Longitude in decimal degrees (0-360)\n * @returns Formatted zodiac position with both decimal and traditional format\n */\nexport function getZodiacPosition(longitude: number): { \n  sign: string;\n  decimalDegrees: number;\n  traditionalFormat: string;\n  decimal: string;\n} {\n  const signs = [\n    'Aries', 'Taurus', 'Gemini', 'Cancer',\n    'Leo', 'Virgo', 'Libra', 'Scorpio',\n    'Sagittarius', 'Capricorn', 'Aquarius', 'Pisces'\n  ];\n  \n  const signIndex = Math.floor(longitude / 30) % 12;\n  const degrees = longitude % 30;\n  \n  return {\n    sign: signs[signIndex],\n    decimalDegrees: degrees,\n    traditionalFormat: formatDegreeMinutes(degrees),\n    decimal: degrees.toFixed(2) + '°'\n  };\n} "],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,QAAI,wBAAwB,MAAM;AAChC,UAAI,cAAc,OAAO,YAAY,cAAc,SAAS,eAAe,MAAM;AACjF,UAAI,OAAO,cAAc,YAAa,eAAc,eAAe;AACnE,aACF,eAAe,YAAY,CAAC,GAAG;AAC7B,YAAI;AAEN,YAAI,SAAO;AAAU,YAAI,qBAAoB;AAAmB,YAAI,eAAa,IAAI,QAAQ,CAAC,SAAQ,WAAS;AAAC,gCAAoB;AAAQ,+BAAmB;AAAA,QAAM,CAAC;AAAE,YAAI,qBAAmB,OAAO,UAAQ;AAAS,YAAI,wBAAsB,OAAO,qBAAmB;AAAY,YAAI,sBAAoB,OAAO,WAAS,YAAU,OAAO,QAAQ,YAAU,YAAU,OAAO,QAAQ,SAAS,QAAM,YAAU,QAAQ,QAAM;AAAW,YAAI,uBAAqB,CAAC,sBAAoB,CAAC,uBAAqB,CAAC;AAAsB,YAAG,qBAAoB;AAAA,QAAC;AAAC,YAAI,kBAAgB,EAAC,GAAG,OAAM;AAAE,YAAI,aAAW,CAAC;AAAE,YAAI,cAAY;AAAiB,YAAI,QAAM,CAAC,QAAO,YAAU;AAAC,gBAAM;AAAA,QAAO;AAAE,YAAI,kBAAgB;AAAG,iBAAS,WAAW,MAAK;AAAC,cAAG,OAAO,YAAY,GAAE;AAAC,mBAAO,OAAO,YAAY,EAAE,MAAK,eAAe;AAAA,UAAC;AAAC,iBAAO,kBAAgB;AAAA,QAAI;AAAC,YAAI,WAAU;AAAW,YAAG,qBAAoB;AAAC,cAAG,OAAO,WAAS,eAAa,CAAC,QAAQ,WAAS,QAAQ,QAAQ,SAAO,OAAO,OAAM,IAAI,MAAM,wLAAwL;AAAE,cAAI,cAAY,QAAQ,SAAS;AAAK,cAAI,iBAAe,YAAY,MAAM,GAAG,EAAE,MAAM,GAAE,CAAC;AAAE,2BAAe,eAAe,CAAC,IAAE,MAAI,eAAe,CAAC,IAAE,MAAI,eAAe,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,IAAE;AAAE,cAAG,iBAAe,MAAK;AAAC,kBAAM,IAAI,MAAM,qEAAmE,cAAY,GAAG;AAAA,UAAC;AAAC,cAAI,KAAG,UAAQ,IAAI;AAAE,cAAI,WAAS,UAAQ,MAAM;AAAE,4BAAgB,YAAU;AAAI,uBAAW,cAAU;AAAC,uBAAS,UAAU,QAAQ,IAAE,IAAI,IAAI,QAAQ,IAAE;AAAS,gBAAI,MAAI,GAAG,aAAa,QAAQ;AAAE,mBAAO,OAAO,SAAS,GAAG,CAAC;AAAE,mBAAO;AAAA,UAAG;AAAE,sBAAU,OAAM,UAAS,SAAO,SAAO;AAAC,uBAAS,UAAU,QAAQ,IAAE,IAAI,IAAI,QAAQ,IAAE;AAAS,gBAAI,MAAI,GAAG,aAAa,UAAS,SAAO,SAAU,MAAM;AAAE,mBAAO,SAAO,OAAO,SAAS,GAAG,IAAE,OAAO,OAAK,QAAQ;AAAE,mBAAO;AAAA,UAAG;AAAE,cAAG,CAAC,OAAO,aAAa,KAAG,QAAQ,KAAK,SAAO,GAAE;AAAC,0BAAY,QAAQ,KAAK,CAAC,EAAE,QAAQ,OAAM,GAAG;AAAA,UAAC;AAAC,uBAAW,QAAQ,KAAK,MAAM,CAAC;AAAE,kBAAM,CAAC,QAAO,YAAU;AAAC,oBAAQ,WAAS;AAAO,kBAAM;AAAA,UAAO;AAAA,QAAC,WAAS,sBAAqB;AAAC,cAAG,OAAO,WAAS,YAAU,OAAO,cAAU,cAAY,OAAO,UAAQ,YAAU,OAAO,qBAAmB,YAAY,OAAM,IAAI,MAAM,wLAAwL;AAAA,QAAC,WAAS,sBAAoB,uBAAsB;AAAC,cAAG,uBAAsB;AAAC,8BAAgB,KAAK,SAAS;AAAA,UAAI,WAAS,OAAO,YAAU,eAAa,SAAS,eAAc;AAAC,8BAAgB,SAAS,cAAc;AAAA,UAAG;AAAC,cAAG,aAAY;AAAC,8BAAgB;AAAA,UAAW;AAAC,cAAG,gBAAgB,WAAW,OAAO,GAAE;AAAC,8BAAgB;AAAA,UAAE,OAAK;AAAC,8BAAgB,gBAAgB,MAAM,GAAE,gBAAgB,QAAQ,UAAS,EAAE,EAAE,YAAY,GAAG,IAAE,CAAC;AAAA,UAAC;AAAC,cAAG,EAAE,OAAO,UAAQ,YAAU,OAAO,qBAAmB,aAAa,OAAM,IAAI,MAAM,wLAAwL;AAAE;AAAC,wBAAU,OAAM,QAAK;AAAC,qBAAO,CAAC,UAAU,GAAG,GAAE,2CAA2C;AAAE,kBAAI,WAAS,MAAM,MAAM,KAAI,EAAC,aAAY,cAAa,CAAC;AAAE,kBAAG,SAAS,IAAG;AAAC,uBAAO,SAAS,YAAY;AAAA,cAAC;AAAC,oBAAM,IAAI,MAAM,SAAS,SAAO,QAAM,SAAS,GAAG;AAAA,YAAC;AAAA,UAAC;AAAA,QAAC,OAAK;AAAC,gBAAM,IAAI,MAAM,6BAA6B;AAAA,QAAC;AAAC,YAAI,MAAI,OAAO,OAAO,KAAG,QAAQ,IAAI,KAAK,OAAO;AAAE,YAAI,MAAI,OAAO,UAAU,KAAG,QAAQ,MAAM,KAAK,OAAO;AAAE,eAAO,OAAO,QAAO,eAAe;AAAE,0BAAgB;AAAK,+BAAuB;AAAE,YAAG,OAAO,WAAW,EAAE,cAAW,OAAO,WAAW;AAAE,yBAAiB,aAAY,YAAY;AAAE,YAAG,OAAO,aAAa,EAAE,eAAY,OAAO,aAAa;AAAE,yBAAiB,eAAc,aAAa;AAAE,eAAO,OAAO,OAAO,4BAA4B,KAAG,aAAY,qFAAqF;AAAE,eAAO,OAAO,OAAO,sBAAsB,KAAG,aAAY,+EAA+E;AAAE,eAAO,OAAO,OAAO,wBAAwB,KAAG,aAAY,iFAAiF;AAAE,eAAO,OAAO,OAAO,sBAAsB,KAAG,aAAY,+EAA+E;AAAE,eAAO,OAAO,OAAO,MAAM,KAAG,aAAY,gCAAgC;AAAE,eAAO,OAAO,OAAO,WAAW,KAAG,aAAY,8DAA8D;AAAE,eAAO,OAAO,OAAO,YAAY,KAAG,aAAY,gEAAgE;AAAE,eAAO,OAAO,OAAO,gBAAgB,KAAG,aAAY,qFAAqF;AAAE,eAAO,OAAO,OAAO,cAAc,KAAG,aAAY,4DAA4D;AAAE,yBAAiB,OAAM,aAAa;AAAE,yBAAiB,aAAY,WAAW;AAAE,yBAAiB,cAAa,YAAY;AAAE,yBAAiB,kBAAiB,gBAAgB;AAAE,eAAO,CAAC,uBAAsB,wGAAwG;AAAE,eAAO,CAAC,sBAAqB,sGAAsG;AAAE,YAAI,aAAW,OAAO,YAAY;AAAE,yBAAiB,cAAa,YAAY;AAAE,YAAG,OAAO,eAAa,UAAS;AAAC,cAAI,iCAAiC;AAAA,QAAC;AAAC,YAAI;AAAW,YAAI,QAAM;AAAM,iBAAS,OAAO,WAAU,MAAK;AAAC,cAAG,CAAC,WAAU;AAAC,kBAAM,sBAAoB,OAAK,OAAK,OAAK,GAAG;AAAA,UAAC;AAAA,QAAC;AAAC,YAAI,OAAM,QAAO,QAAO,SAAQ,QAAO,SAAQ,SAAQ,QAAO,SAAQ;AAAQ,YAAI,qBAAmB;AAAM,YAAI,YAAU,cAAU,SAAS,WAAW,SAAS;AAAE,iBAAS,mBAAkB;AAAC,cAAI,MAAI,0BAA0B;AAAE,kBAAQ,MAAI,MAAI,CAAC;AAAE,cAAG,OAAK,GAAE;AAAC,mBAAK;AAAA,UAAC;AAAC,2BAAiB,OAAK,KAAG,GAAE,UAAS,CAAC;AAAE,2BAAiB,MAAI,KAAG,KAAG,GAAE,YAAW,CAAC;AAAA,QAAC;AAAC,iBAAS,mBAAkB;AAAC,cAAG,MAAM;AAAO,cAAI,MAAI,0BAA0B;AAAE,cAAG,OAAK,GAAE;AAAC,mBAAK;AAAA,UAAC;AAAC,cAAI,UAAQ,gBAAgB,OAAK,KAAG,GAAE,GAAE,CAAC;AAAE,cAAI,UAAQ,gBAAgB,MAAI,KAAG,KAAG,GAAE,GAAE,CAAC;AAAE,cAAG,WAAS,YAAU,WAAS,YAAW;AAAC,kBAAM,wDAAwD,YAAY,GAAG,CAAC,gEAAgE,YAAY,OAAO,CAAC,IAAI,YAAY,OAAO,CAAC,EAAE;AAAA,UAAC;AAAA,QAAC;AAAC,SAAC,MAAI;AAAC,cAAI,MAAI,IAAI,WAAW,CAAC;AAAE,cAAI,KAAG,IAAI,UAAU,IAAI,MAAM;AAAE,cAAI,CAAC,IAAE;AAAM,cAAG,GAAG,CAAC,MAAI,OAAK,GAAG,CAAC,MAAI,GAAG,OAAK;AAAA,QAAmG,GAAG;AAAE,YAAG,OAAO,aAAa,GAAE;AAAC,gBAAM,IAAI,MAAM,kKAAkK;AAAA,QAAC;AAAC,iBAAS,iBAAiB,MAAK,SAAQ,WAAS,MAAK;AAAC,cAAG,CAAC,OAAO,yBAAyB,QAAO,IAAI,GAAE;AAAC,mBAAO,eAAe,QAAO,MAAK,EAAC,cAAa,MAAK,MAAK;AAAC,kBAAI,QAAM,WAAS,oIAAkI;AAAG,oBAAM,YAAY,IAAI,6BAA6B,OAAO,OAAK,KAAK;AAAA,YAAC,EAAC,CAAC;AAAA,UAAC;AAAA,QAAC;AAAC,iBAAS,mBAAmB,MAAK;AAAC,cAAG,CAAC,OAAO,yBAAyB,QAAO,IAAI,GAAE;AAAC,mBAAO,eAAe,QAAO,MAAK,EAAC,cAAa,MAAK,MAAK;AAAC,oBAAM,2BAA2B,IAAI,qIAAqI;AAAA,YAAC,EAAC,CAAC;AAAA,UAAC;AAAA,QAAC;AAAC,iBAAS,kBAAkB,MAAK;AAAC,cAAG,OAAO,yBAAyB,QAAO,IAAI,GAAE;AAAC,kBAAM,YAAY,IAAI,yBAAyB,IAAI,2CAA2C;AAAA,UAAC;AAAA,QAAC;AAAC,iBAAS,4BAA4B,MAAK;AAAC,iBAAO,SAAO,mBAAiB,SAAO,uBAAqB,SAAO,4BAA0B,SAAO,eAAa,SAAO,sBAAoB,SAAO,uBAAqB,SAAO,qBAAmB,SAAO;AAAA,QAAqB;AAAC,iBAAS,uBAAuB,KAAI,MAAK;AAAA,QAAC;AAAC,iBAAS,cAAc,KAAI,KAAI;AAAC,iCAAuB,KAAI,MAAI;AAAC,qBAAS,KAAK,GAAG,2CAA2C,GAAG,EAAE;AAAA,UAAC,CAAC;AAAA,QAAC;AAAC,sBAAc,UAAS,8CAA8C;AAAE,sBAAc,OAAM,gCAAgC;AAAE,iBAAS,qBAAqB,KAAI;AAAC,iCAAuB,KAAI,MAAI;AAAC,gBAAI,MAAI,KAAK,GAAG;AAAkJ,gBAAI,gBAAc;AAAI,gBAAG,CAAC,cAAc,WAAW,GAAG,GAAE;AAAC,8BAAc,MAAI;AAAA,YAAG;AAAC,mBAAK,8CAA8C,aAAa;AAAK,gBAAG,4BAA4B,GAAG,GAAE;AAAC,qBAAK;AAAA,YAA0F;AAAC,qBAAS,GAAG;AAAA,UAAC,CAAC;AAAE,kCAAwB,GAAG;AAAA,QAAC;AAAC,iBAAS,wBAAwB,KAAI;AAAC,cAAG,CAAC,OAAO,yBAAyB,QAAO,GAAG,GAAE;AAAC,mBAAO,eAAe,QAAO,KAAI,EAAC,cAAa,MAAK,MAAK;AAAC,kBAAI,MAAI,IAAI,GAAG;AAAkF,kBAAG,4BAA4B,GAAG,GAAE;AAAC,uBAAK;AAAA,cAA0F;AAAC,oBAAM,GAAG;AAAA,YAAC,EAAC,CAAC;AAAA,UAAC;AAAA,QAAC;AAAC,YAAI,eAAa;AAAK,iBAAS,gBAAgB,OAAM,SAAQ;AAAC,kBAAO,OAAM;AAAA,YAAC,KAAK;AAAE,qBAAM;AAAA,YAAK,KAAK;AAAE,qBAAM;AAAA,YAAM,KAAK;AAAE,qBAAO,UAAQ,UAAQ;AAAA,YAAM,KAAK;AAAE,qBAAO,UAAQ,WAAS;AAAA,YAAM;AAAQ,oBAAM,mCAAmC,KAAK,EAAE;AAAA,UAAC;AAAA,QAAC;AAAC,iBAAS,gBAAgB,MAAK,OAAM,OAAM,SAAQ;AAAC,cAAG,QAAM,EAAE,OAAM,8BAA8B,KAAK,qBAAqB,IAAI,EAAE;AAAE,cAAG,OAAK,UAAQ,EAAE,OAAM,sCAAsC,IAAI,uDAAuD,KAAK,EAAE;AAAE,cAAG,oBAAmB;AAAC,gBAAI,MAAI,MAAM,CAAC;AAAE,gBAAG,OAAK,QAAM,IAAI,OAAM,mFAAmF,KAAK,qBAAqB,IAAI,gBAAgB,GAAG,EAAE;AAAE,gBAAG,MAAI,2BAA2B,EAAE,OAAM,4CAA4C,GAAG,kCAAkC,2BAA2B,CAAC,GAAG;AAAE,gBAAG,MAAI,WAAW,OAAO,WAAW,OAAM,4CAA4C,GAAG,kCAAkC,WAAW,OAAO,UAAU,GAAG;AAAA,UAAC;AAAC,wBAAc,MAAK,OAAM,gBAAgB,OAAM,OAAO,CAAC;AAAE,iBAAO;AAAA,QAAK;AAAC,iBAAS,kBAAkB,MAAK,OAAM,OAAM;AAAC,iBAAO,gBAAgB,MAAK,OAAM,OAAM,IAAI;AAAA,QAAC;AAAC,iBAAS,eAAe,MAAK,OAAM,UAAS,SAAQ;AAAC,cAAG,QAAM,EAAE,OAAM,8BAA8B,KAAK,uBAAuB,IAAI,EAAE;AAAE,cAAG,OAAK,UAAQ,EAAE,OAAM,wCAAwC,IAAI,uDAAuD,KAAK,EAAE;AAAE,cAAG,oBAAmB;AAAC,gBAAI,MAAI,MAAM,CAAC;AAAE,gBAAG,OAAK,QAAM,IAAI,OAAM,mFAAmF,KAAK,uBAAuB,IAAI,gBAAgB,GAAG,EAAE;AAAE,gBAAG,MAAI,2BAA2B,EAAE,OAAM,4CAA4C,GAAG,kCAAkC,2BAA2B,CAAC,GAAG;AAAE,gBAAG,MAAI,WAAW,OAAO,WAAW,OAAM,4CAA4C,GAAG,kCAAkC,WAAW,OAAO,UAAU,GAAG;AAAA,UAAC;AAAC,cAAI,OAAK,gBAAgB,OAAM,OAAO;AAAE,cAAI,MAAI,cAAc,MAAK,IAAI;AAAE,cAAG,SAAS,OAAI,OAAO,KAAI,SAAS,KAAK,MAAM,CAAC,GAAE,EAAE,CAAC;AAAE,iBAAO;AAAA,QAAG;AAAC,iBAAS,iBAAiB,MAAK,OAAM,UAAS;AAAC,iBAAO,eAAe,MAAK,OAAM,UAAS,IAAI;AAAA,QAAC;AAAC,iBAAS,WAAU;AAAC,gBAAM,oBAAoB;AAAA,QAAC;AAAC,iBAAS,aAAY;AAAC,gBAAM,iBAAiB;AAAA,QAAC;AAAC,iBAAS,oBAAmB;AAAC,cAAI,IAAE,WAAW;AAAO,iBAAO,OAAO,IAAE,QAAM,IAAI,UAAU,CAAC;AAAE,iBAAO,QAAQ,IAAE,SAAO,IAAI,WAAW,CAAC;AAAE,iBAAO,QAAQ,IAAE,SAAO,IAAI,WAAW,CAAC;AAAE,iBAAO,SAAS,IAAE,UAAQ,IAAI,YAAY,CAAC;AAAE,iBAAO,QAAQ,IAAE,SAAO,IAAI,WAAW,CAAC;AAAE,iBAAO,SAAS,IAAE,UAAQ,IAAI,YAAY,CAAC;AAAE,iBAAO,SAAS,IAAE,UAAQ,IAAI,aAAa,CAAC;AAAE,iBAAO,SAAS,IAAE,UAAQ,IAAI,aAAa,CAAC;AAAE,iBAAO,QAAQ,IAAE,SAAO,IAAI,cAAc,CAAC;AAAE,iBAAO,SAAS,IAAE,UAAQ,IAAI,eAAe,CAAC;AAAA,QAAC;AAAC,eAAO,CAAC,OAAO,YAAY,GAAE,4EAA4E;AAAE,eAAO,OAAO,cAAY,eAAa,OAAO,iBAAe,eAAa,WAAW,UAAU,YAAU,UAAW,WAAW,UAAU,OAAK,QAAU,qDAAqD;AAAE,eAAO,CAAC,OAAO,YAAY,GAAE,sFAAsF;AAAE,eAAO,CAAC,OAAO,gBAAgB,GAAE,kGAAkG;AAAE,iBAAS,SAAQ;AAAC,cAAG,OAAO,QAAQ,GAAE;AAAC,gBAAG,OAAO,OAAO,QAAQ,KAAG,WAAW,QAAO,QAAQ,IAAE,CAAC,OAAO,QAAQ,CAAC;AAAE,mBAAM,OAAO,QAAQ,EAAE,QAAO;AAAC,0BAAY,OAAO,QAAQ,EAAE,MAAM,CAAC;AAAA,YAAC;AAAA,UAAC;AAAC,6BAAmB,QAAQ;AAAE,+BAAqB,SAAS;AAAA,QAAC;AAAC,iBAAS,cAAa;AAAC,iBAAO,CAAC,kBAAkB;AAAE,+BAAmB;AAAK,2BAAiB;AAAE,cAAG,CAAC,OAAO,UAAU,KAAG,CAAC,GAAG,YAAY,IAAG,KAAK;AAAE,cAAI,KAAK;AAAE,sBAAY,mBAAmB,EAAE;AAAE,aAAG,oBAAkB;AAAA,QAAK;AAAC,iBAAS,UAAS;AAAC,2BAAiB;AAAE,cAAG,OAAO,SAAS,GAAE;AAAC,gBAAG,OAAO,OAAO,SAAS,KAAG,WAAW,QAAO,SAAS,IAAE,CAAC,OAAO,SAAS,CAAC;AAAE,mBAAM,OAAO,SAAS,EAAE,QAAO;AAAC,2BAAa,OAAO,SAAS,EAAE,MAAM,CAAC;AAAA,YAAC;AAAA,UAAC;AAAC,6BAAmB,SAAS;AAAE,+BAAqB,UAAU;AAAA,QAAC;AAAC,YAAI,kBAAgB;AAAE,YAAI,wBAAsB;AAAK,YAAI,wBAAsB,CAAC;AAAE,YAAI,uBAAqB;AAAK,iBAAS,uBAAuB,IAAG;AAAC,cAAI,OAAK;AAAG,iBAAM,GAAE;AAAC,gBAAG,CAAC,sBAAsB,EAAE,EAAE,QAAO;AAAG,iBAAG,OAAK,KAAK,OAAO;AAAA,UAAC;AAAA,QAAC;AAAC,iBAAS,iBAAiB,IAAG;AAAC;AAAkB,iBAAO,wBAAwB,IAAI,eAAe;AAAE,cAAG,IAAG;AAAC,mBAAO,CAAC,sBAAsB,EAAE,CAAC;AAAE,kCAAsB,EAAE,IAAE;AAAE,gBAAG,yBAAuB,QAAM,OAAO,eAAa,aAAY;AAAC,qCAAqB,YAAY,MAAI;AAAC,oBAAG,OAAM;AAAC,gCAAc,oBAAoB;AAAE,yCAAqB;AAAK;AAAA,gBAAM;AAAC,oBAAI,QAAM;AAAM,yBAAQ,OAAO,uBAAsB;AAAC,sBAAG,CAAC,OAAM;AAAC,4BAAM;AAAK,wBAAI,oCAAoC;AAAA,kBAAC;AAAC,sBAAI,eAAe,GAAG,EAAE;AAAA,gBAAC;AAAC,oBAAG,OAAM;AAAC,sBAAI,eAAe;AAAA,gBAAC;AAAA,cAAC,GAAE,GAAG;AAAA,YAAC;AAAA,UAAC,OAAK;AAAC,gBAAI,0CAA0C;AAAA,UAAC;AAAA,QAAC;AAAC,iBAAS,oBAAoB,IAAG;AAAC;AAAkB,iBAAO,wBAAwB,IAAI,eAAe;AAAE,cAAG,IAAG;AAAC,mBAAO,sBAAsB,EAAE,CAAC;AAAE,mBAAO,sBAAsB,EAAE;AAAA,UAAC,OAAK;AAAC,gBAAI,4CAA4C;AAAA,UAAC;AAAC,cAAG,mBAAiB,GAAE;AAAC,gBAAG,yBAAuB,MAAK;AAAC,4BAAc,oBAAoB;AAAE,qCAAqB;AAAA,YAAI;AAAC,gBAAG,uBAAsB;AAAC,kBAAI,WAAS;AAAsB,sCAAsB;AAAK,uBAAS;AAAA,YAAC;AAAA,UAAC;AAAA,QAAC;AAAC,iBAAS,MAAM,MAAK;AAAC,iBAAO,SAAS,IAAI,IAAI;AAAE,iBAAK,aAAW,OAAK;AAAI,cAAI,IAAI;AAAE,kBAAM;AAAK,cAAI,IAAE,IAAI,YAAY,aAAa,IAAI;AAAE,6BAAmB,CAAC;AAAE,gBAAM;AAAA,QAAC;AAAC,iBAAS,oBAAoB,MAAK,OAAM;AAAC,iBAAM,IAAI,SAAO;AAAC,mBAAO,oBAAmB,qBAAqB,IAAI,yCAAyC;AAAE,gBAAI,IAAE,YAAY,IAAI;AAAE,mBAAO,GAAE,8BAA8B,IAAI,cAAc;AAAE,mBAAO,KAAK,UAAQ,OAAM,qBAAqB,IAAI,kBAAkB,KAAK,MAAM,qBAAqB,KAAK,EAAE;AAAE,mBAAO,EAAE,GAAG,IAAI;AAAA,UAAC;AAAA,QAAC;AAAC,YAAI;AAAe,iBAAS,iBAAgB;AAAC,iBAAO,WAAW,eAAe;AAAA,QAAC;AAAC,iBAAS,cAAc,MAAK;AAAC,cAAG,QAAM,kBAAgB,YAAW;AAAC,mBAAO,IAAI,WAAW,UAAU;AAAA,UAAC;AAAC,cAAG,YAAW;AAAC,mBAAO,WAAW,IAAI;AAAA,UAAC;AAAC,gBAAK;AAAA,QAAiD;AAAC,uBAAe,cAAc,YAAW;AAAC,cAAG,CAAC,YAAW;AAAC,gBAAG;AAAC,kBAAI,WAAS,MAAM,UAAU,UAAU;AAAE,qBAAO,IAAI,WAAW,QAAQ;AAAA,YAAC,QAAM;AAAA,YAAC;AAAA,UAAC;AAAC,iBAAO,cAAc,UAAU;AAAA,QAAC;AAAC,uBAAe,uBAAuB,YAAW,SAAQ;AAAC,cAAG;AAAC,gBAAI,SAAO,MAAM,cAAc,UAAU;AAAE,gBAAI,WAAS,MAAM,YAAY,YAAY,QAAO,OAAO;AAAE,mBAAO;AAAA,UAAQ,SAAO,QAAO;AAAC,gBAAI,0CAA0C,MAAM,EAAE;AAAE,gBAAG,UAAU,cAAc,GAAE;AAAC,kBAAI,qCAAqC,cAAc,gMAAgM;AAAA,YAAC;AAAC,kBAAM,MAAM;AAAA,UAAC;AAAA,QAAC;AAAC,uBAAe,iBAAiB,QAAO,YAAW,SAAQ;AAAC,cAAG,CAAC,UAAQ,OAAO,YAAY,wBAAsB,cAAY,CAAC,qBAAoB;AAAC,gBAAG;AAAC,kBAAI,WAAS,MAAM,YAAW,EAAC,aAAY,cAAa,CAAC;AAAE,kBAAI,sBAAoB,MAAM,YAAY,qBAAqB,UAAS,OAAO;AAAE,qBAAO;AAAA,YAAmB,SAAO,QAAO;AAAC,kBAAI,kCAAkC,MAAM,EAAE;AAAE,kBAAI,2CAA2C;AAAA,YAAC;AAAA,UAAC;AAAC,iBAAO,uBAAuB,YAAW,OAAO;AAAA,QAAC;AAAC,iBAAS,iBAAgB;AAAC,iBAAM,EAAC,KAAI,aAAY,wBAAuB,YAAW;AAAA,QAAC;AAAC,uBAAe,aAAY;AAAC,mBAAS,gBAAgB,UAASA,SAAO;AAAC,0BAAY,SAAS;AAAQ,yBAAW,YAAY,QAAQ;AAAE,mBAAO,YAAW,kCAAkC;AAAE,8BAAkB;AAAE,gCAAoB,kBAAkB;AAAE,mBAAO;AAAA,UAAW;AAAC,2BAAiB,kBAAkB;AAAE,cAAI,aAAW;AAAO,mBAAS,2BAA2BC,SAAO;AAAC,mBAAO,WAAS,YAAW,kHAAkH;AAAE,yBAAW;AAAK,mBAAO,gBAAgBA,QAAO,UAAU,CAAC;AAAA,UAAC;AAAC,cAAI,OAAK,eAAe;AAAE,cAAG,OAAO,iBAAiB,GAAE;AAAC,mBAAO,IAAI,QAAQ,CAAC,SAAQ,WAAS;AAAC,kBAAG;AAAC,uBAAO,iBAAiB,EAAE,MAAK,CAAC,KAAI,SAAO;AAAC,kCAAgB,KAAI,IAAI;AAAE,0BAAQ,IAAI,OAAO;AAAA,gBAAC,CAAC;AAAA,cAAC,SAAO,GAAE;AAAC,oBAAI,sDAAsD,CAAC,EAAE;AAAE,uBAAO,CAAC;AAAA,cAAC;AAAA,YAAC,CAAC;AAAA,UAAC;AAAC,8CAAiB,eAAe;AAAE,cAAG;AAAC,gBAAI,SAAO,MAAM,iBAAiB,YAAW,gBAAe,IAAI;AAAE,gBAAIC,WAAQ,2BAA2B,MAAM;AAAE,mBAAOA;AAAA,UAAO,SAAO,GAAE;AAAC,+BAAmB,CAAC;AAAE,mBAAO,QAAQ,OAAO,CAAC;AAAA,UAAC;AAAA,QAAC;AAAA,QAAC,MAAM,WAAU;AAAA,UAAmB,YAAY,QAAO;AAArC,wCAAK;AAAiC,iBAAK,UAAQ,gCAAgC,MAAM;AAAI,iBAAK,SAAO;AAAA,UAAM;AAAA,QAAC;AAAC,YAAI,uBAAqB,eAAW;AAAC,iBAAM,UAAU,SAAO,GAAE;AAAC,sBAAU,MAAM,EAAE,MAAM;AAAA,UAAC;AAAA,QAAC;AAAE,YAAI,aAAW,CAAC;AAAE,YAAI,eAAa,QAAI,WAAW,QAAQ,EAAE;AAAE,YAAI,YAAU,CAAC;AAAE,YAAI,cAAY,QAAI,UAAU,QAAQ,EAAE;AAAE,iBAAS,SAAS,KAAI,OAAK,MAAK;AAAC,cAAG,KAAK,SAAS,GAAG,EAAE,QAAK;AAAI,kBAAO,MAAK;AAAA,YAAC,KAAI;AAAK,qBAAO,eAAe,KAAI,GAAE,CAAC;AAAA,YAAE,KAAI;AAAK,qBAAO,eAAe,KAAI,GAAE,CAAC;AAAA,YAAE,KAAI;AAAM,qBAAO,gBAAgB,OAAK,KAAG,GAAE,GAAE,CAAC;AAAA,YAAE,KAAI;AAAM,qBAAO,gBAAgB,OAAK,KAAG,GAAE,GAAE,CAAC;AAAA,YAAE,KAAI;AAAM,qBAAO,OAAO,OAAK,CAAC;AAAA,YAAE,KAAI;AAAQ,qBAAO,kBAAkB,OAAK,KAAG,GAAE,GAAE,CAAC;AAAA,YAAE,KAAI;AAAS,qBAAO,kBAAkB,OAAK,KAAG,GAAE,GAAE,CAAC;AAAA,YAAE,KAAI;AAAI,qBAAO,gBAAgB,OAAK,KAAG,GAAE,GAAE,CAAC;AAAA,YAAE;AAAQ,oBAAM,8BAA8B,IAAI,EAAE;AAAA,UAAC;AAAA,QAAC;AAAC,iBAAS,cAAc,KAAI,OAAK,MAAK;AAAC,cAAG,KAAK,SAAS,GAAG,EAAE,QAAK;AAAI,kBAAO,MAAK;AAAA,YAAC,KAAI;AAAK,qBAAO,MAAM,GAAG;AAAA,YAAE,KAAI;AAAK,qBAAO,MAAM,GAAG;AAAA,YAAE,KAAI;AAAM,qBAAO,OAAO,OAAK,CAAC;AAAA,YAAE,KAAI;AAAM,qBAAO,OAAO,OAAK,CAAC;AAAA,YAAE,KAAI;AAAM,qBAAO,OAAO,OAAK,CAAC;AAAA,YAAE,KAAI;AAAQ,qBAAO,QAAQ,OAAK,CAAC;AAAA,YAAE,KAAI;AAAS,qBAAO,QAAQ,OAAK,CAAC;AAAA,YAAE,KAAI;AAAI,qBAAO,QAAQ,OAAK,CAAC;AAAA,YAAE;AAAQ,oBAAM,8BAA8B,IAAI,EAAE;AAAA,UAAC;AAAA,QAAC;AAAC,YAAI,gBAAc,OAAO,eAAe,KAAG;AAAK,YAAI,cAAY,SAAK;AAAC,iBAAO,OAAO,QAAM,QAAQ;AAAE,mBAAO;AAAE,iBAAM,OAAK,IAAI,SAAS,EAAE,EAAE,SAAS,GAAE,GAAG;AAAA,QAAC;AAAE,iBAAS,SAAS,KAAI,OAAM,OAAK,MAAK;AAAC,cAAG,KAAK,SAAS,GAAG,EAAE,QAAK;AAAI,kBAAO,MAAK;AAAA,YAAC,KAAI;AAAK,8BAAgB,KAAI,OAAM,CAAC;AAAE;AAAA,YAAM,KAAI;AAAK,8BAAgB,KAAI,OAAM,CAAC;AAAE;AAAA,YAAM,KAAI;AAAM,+BAAiB,OAAK,KAAG,GAAE,OAAM,CAAC;AAAE;AAAA,YAAM,KAAI;AAAM,+BAAiB,OAAK,KAAG,GAAE,OAAM,CAAC;AAAE;AAAA,YAAM,KAAI;AAAM,qBAAO,OAAK,CAAC,IAAE,OAAO,KAAK;AAAE;AAAA,YAAM,KAAI;AAAQ,iCAAmB,OAAK,KAAG,GAAE,OAAM,CAAC;AAAE;AAAA,YAAM,KAAI;AAAS,iCAAmB,OAAK,KAAG,GAAE,OAAM,CAAC;AAAE;AAAA,YAAM,KAAI;AAAI,+BAAiB,OAAK,KAAG,GAAE,OAAM,CAAC;AAAE;AAAA,YAAM;AAAQ,oBAAM,8BAA8B,IAAI,EAAE;AAAA,UAAC;AAAA,QAAC;AAAC,iBAAS,cAAc,KAAI,OAAM,OAAK,MAAK;AAAC,cAAG,KAAK,SAAS,GAAG,EAAE,QAAK;AAAI,kBAAO,MAAK;AAAA,YAAC,KAAI;AAAK,oBAAM,GAAG,IAAE;AAAM;AAAA,YAAM,KAAI;AAAK,oBAAM,GAAG,IAAE;AAAM;AAAA,YAAM,KAAI;AAAM,qBAAO,OAAK,CAAC,IAAE;AAAM;AAAA,YAAM,KAAI;AAAM,qBAAO,OAAK,CAAC,IAAE;AAAM;AAAA,YAAM,KAAI;AAAM,qBAAO,OAAK,CAAC,IAAE,OAAO,KAAK;AAAE;AAAA,YAAM,KAAI;AAAQ,sBAAQ,OAAK,CAAC,IAAE;AAAM;AAAA,YAAM,KAAI;AAAS,sBAAQ,OAAK,CAAC,IAAE;AAAM;AAAA,YAAM,KAAI;AAAI,sBAAQ,OAAK,CAAC,IAAE;AAAM;AAAA,YAAM;AAAQ,oBAAM,8BAA8B,IAAI,EAAE;AAAA,UAAC;AAAA,QAAC;AAAC,YAAI,eAAa,SAAK,2BAA2B,GAAG;AAAE,YAAI,YAAU,MAAI,8BAA8B;AAAE,YAAI,SAAO,CAAC,OAAM,SAAO;AAAC,cAAG,SAAO,GAAE;AAAC,mBAAO;AAAA,UAAK;AAAC,iBAAO,QAAM,KAAG,IAAE,KAAK,IAAI,KAAG,OAAK,CAAC,IAAE,QAAM,KAAK,IAAI,GAAE,IAAI,IAAE;AAAA,QAAK;AAAE,YAAI,WAAS,UAAM;AAAC,mBAAS,UAAT,SAAS,QAAQ,CAAC;AAAE,cAAG,CAAC,SAAS,MAAM,IAAI,GAAE;AAAC,qBAAS,MAAM,IAAI,IAAE;AAAE,gBAAG,oBAAoB,QAAK,cAAY;AAAK,gBAAI,IAAI;AAAA,UAAC;AAAA,QAAC;AAAE,YAAI,oBAAkB,MAAI;AAAC,iBAAO,SAAS,WAAS,MAAS;AAAE,cAAI,MAAI,gBAAgB,CAAC,SAAS,WAAS,KAAG,GAAE,GAAE,CAAC;AAAE,mBAAS,WAAS;AAAE,iBAAO;AAAA,QAAG;AAAE,YAAI,oBAAkB;AAAkB,YAAI,OAAK,EAAC,OAAM,UAAM,KAAK,OAAO,CAAC,MAAI,KAAI,WAAU,cAAU;AAAC,cAAI,cAAY;AAAgE,iBAAO,YAAY,KAAK,QAAQ,EAAE,MAAM,CAAC;AAAA,QAAC,GAAE,gBAAe,CAAC,OAAM,mBAAiB;AAAC,cAAI,KAAG;AAAE,mBAAQ,IAAE,MAAM,SAAO,GAAE,KAAG,GAAE,KAAI;AAAC,gBAAI,OAAK,MAAM,CAAC;AAAE,gBAAG,SAAO,KAAI;AAAC,oBAAM,OAAO,GAAE,CAAC;AAAA,YAAC,WAAS,SAAO,MAAK;AAAC,oBAAM,OAAO,GAAE,CAAC;AAAE;AAAA,YAAI,WAAS,IAAG;AAAC,oBAAM,OAAO,GAAE,CAAC;AAAE;AAAA,YAAI;AAAA,UAAC;AAAC,cAAG,gBAAe;AAAC,mBAAK,IAAG,MAAK;AAAC,oBAAM,QAAQ,IAAI;AAAA,YAAC;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAK,GAAE,WAAU,UAAM;AAAC,cAAI,aAAW,KAAK,MAAM,IAAI,GAAE,gBAAc,KAAK,MAAM,EAAE,MAAI;AAAI,iBAAK,KAAK,eAAe,KAAK,MAAM,GAAG,EAAE,OAAO,OAAG,CAAC,CAAC,CAAC,GAAE,CAAC,UAAU,EAAE,KAAK,GAAG;AAAE,cAAG,CAAC,QAAM,CAAC,YAAW;AAAC,mBAAK;AAAA,UAAG;AAAC,cAAG,QAAM,eAAc;AAAC,oBAAM;AAAA,UAAG;AAAC,kBAAO,aAAW,MAAI,MAAI;AAAA,QAAI,GAAE,SAAQ,UAAM;AAAC,cAAI,SAAO,KAAK,UAAU,IAAI,GAAE,OAAK,OAAO,CAAC,GAAE,MAAI,OAAO,CAAC;AAAE,cAAG,CAAC,QAAM,CAAC,KAAI;AAAC,mBAAM;AAAA,UAAG;AAAC,cAAG,KAAI;AAAC,kBAAI,IAAI,MAAM,GAAE,EAAE;AAAA,UAAC;AAAC,iBAAO,OAAK;AAAA,QAAG,GAAE,UAAS,UAAM,QAAM,KAAK,MAAM,iBAAiB,EAAE,CAAC,GAAE,MAAK,IAAI,UAAQ,KAAK,UAAU,MAAM,KAAK,GAAG,CAAC,GAAE,OAAM,CAAC,GAAE,MAAI,KAAK,UAAU,IAAE,MAAI,CAAC,EAAC;AAAE,YAAI,iBAAe,MAAI;AAAC,cAAG,qBAAoB;AAAC,gBAAI,aAAW,UAAQ,QAAQ;AAAE,mBAAO,UAAM,WAAW,eAAe,IAAI;AAAA,UAAC;AAAC,iBAAO,UAAM,OAAO,gBAAgB,IAAI;AAAA,QAAC;AAAE,YAAI,aAAW,UAAM;AAAC,WAAC,aAAW,eAAe,GAAG,IAAI;AAAA,QAAC;AAAE,YAAI,UAAQ,EAAC,SAAQ,IAAI,SAAO;AAAC,cAAI,eAAa,IAAG,mBAAiB;AAAM,mBAAQ,IAAE,KAAK,SAAO,GAAE,KAAG,MAAI,CAAC,kBAAiB,KAAI;AAAC,gBAAI,OAAK,KAAG,IAAE,KAAK,CAAC,IAAE,GAAG,IAAI;AAAE,gBAAG,OAAO,QAAM,UAAS;AAAC,oBAAM,IAAI,UAAU,2CAA2C;AAAA,YAAC,WAAS,CAAC,MAAK;AAAC,qBAAM;AAAA,YAAE;AAAC,2BAAa,OAAK,MAAI;AAAa,+BAAiB,KAAK,MAAM,IAAI;AAAA,UAAC;AAAC,yBAAa,KAAK,eAAe,aAAa,MAAM,GAAG,EAAE,OAAO,OAAG,CAAC,CAAC,CAAC,GAAE,CAAC,gBAAgB,EAAE,KAAK,GAAG;AAAE,kBAAO,mBAAiB,MAAI,MAAI,gBAAc;AAAA,QAAG,GAAE,UAAS,CAAC,MAAK,OAAK;AAAC,iBAAK,QAAQ,QAAQ,IAAI,EAAE,MAAM,CAAC;AAAE,eAAG,QAAQ,QAAQ,EAAE,EAAE,MAAM,CAAC;AAAE,mBAAS,KAAK,KAAI;AAAC,gBAAI,QAAM;AAAE,mBAAK,QAAM,IAAI,QAAO,SAAQ;AAAC,kBAAG,IAAI,KAAK,MAAI,GAAG;AAAA,YAAK;AAAC,gBAAI,MAAI,IAAI,SAAO;AAAE,mBAAK,OAAK,GAAE,OAAM;AAAC,kBAAG,IAAI,GAAG,MAAI,GAAG;AAAA,YAAK;AAAC,gBAAG,QAAM,IAAI,QAAM,CAAC;AAAE,mBAAO,IAAI,MAAM,OAAM,MAAI,QAAM,CAAC;AAAA,UAAC;AAAC,cAAI,YAAU,KAAK,KAAK,MAAM,GAAG,CAAC;AAAE,cAAI,UAAQ,KAAK,GAAG,MAAM,GAAG,CAAC;AAAE,cAAI,SAAO,KAAK,IAAI,UAAU,QAAO,QAAQ,MAAM;AAAE,cAAI,kBAAgB;AAAO,mBAAQ,IAAE,GAAE,IAAE,QAAO,KAAI;AAAC,gBAAG,UAAU,CAAC,MAAI,QAAQ,CAAC,GAAE;AAAC,gCAAgB;AAAE;AAAA,YAAK;AAAA,UAAC;AAAC,cAAI,cAAY,CAAC;AAAE,mBAAQ,IAAE,iBAAgB,IAAE,UAAU,QAAO,KAAI;AAAC,wBAAY,KAAK,IAAI;AAAA,UAAC;AAAC,wBAAY,YAAY,OAAO,QAAQ,MAAM,eAAe,CAAC;AAAE,iBAAO,YAAY,KAAK,GAAG;AAAA,QAAC,EAAC;AAAE,YAAI,cAAY,OAAO,eAAa,cAAY,IAAI,gBAAY;AAAU,YAAI,oBAAkB,CAAC,aAAY,MAAI,GAAE,iBAAe,QAAM;AAAC,cAAI,SAAO,MAAI;AAAe,cAAI,SAAO;AAAI,iBAAM,YAAY,MAAM,KAAG,EAAE,UAAQ,QAAQ,GAAE;AAAO,cAAG,SAAO,MAAI,MAAI,YAAY,UAAQ,aAAY;AAAC,mBAAO,YAAY,OAAO,YAAY,SAAS,KAAI,MAAM,CAAC;AAAA,UAAC;AAAC,cAAI,MAAI;AAAG,iBAAM,MAAI,QAAO;AAAC,gBAAI,KAAG,YAAY,KAAK;AAAE,gBAAG,EAAE,KAAG,MAAK;AAAC,qBAAK,OAAO,aAAa,EAAE;AAAE;AAAA,YAAQ;AAAC,gBAAI,KAAG,YAAY,KAAK,IAAE;AAAG,iBAAI,KAAG,QAAM,KAAI;AAAC,qBAAK,OAAO,cAAc,KAAG,OAAK,IAAE,EAAE;AAAE;AAAA,YAAQ;AAAC,gBAAI,KAAG,YAAY,KAAK,IAAE;AAAG,iBAAI,KAAG,QAAM,KAAI;AAAC,oBAAI,KAAG,OAAK,KAAG,MAAI,IAAE;AAAA,YAAE,OAAK;AAAC,mBAAI,KAAG,QAAM,IAAI,UAAS,gCAA8B,YAAY,EAAE,IAAE,+EAA+E;AAAE,oBAAI,KAAG,MAAI,KAAG,MAAI,KAAG,MAAI,IAAE,YAAY,KAAK,IAAE;AAAA,YAAE;AAAC,gBAAG,KAAG,OAAM;AAAC,qBAAK,OAAO,aAAa,EAAE;AAAA,YAAC,OAAK;AAAC,kBAAI,KAAG,KAAG;AAAM,qBAAK,OAAO,aAAa,QAAM,MAAI,IAAG,QAAM,KAAG,IAAI;AAAA,YAAC;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAG;AAAE,YAAI,0BAAwB,CAAC;AAAE,YAAI,kBAAgB,SAAK;AAAC,cAAI,MAAI;AAAE,mBAAQ,IAAE,GAAE,IAAE,IAAI,QAAO,EAAE,GAAE;AAAC,gBAAI,IAAE,IAAI,WAAW,CAAC;AAAE,gBAAG,KAAG,KAAI;AAAC;AAAA,YAAK,WAAS,KAAG,MAAK;AAAC,qBAAK;AAAA,YAAC,WAAS,KAAG,SAAO,KAAG,OAAM;AAAC,qBAAK;AAAE,gBAAE;AAAA,YAAC,OAAK;AAAC,qBAAK;AAAA,YAAC;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAG;AAAE,YAAI,oBAAkB,CAAC,KAAI,MAAK,QAAO,oBAAkB;AAAC,iBAAO,OAAO,QAAM,UAAS,2CAA2C,OAAO,GAAG,GAAG;AAAE,cAAG,EAAE,kBAAgB,GAAG,QAAO;AAAE,cAAI,WAAS;AAAO,cAAI,SAAO,SAAO,kBAAgB;AAAE,mBAAQ,IAAE,GAAE,IAAE,IAAI,QAAO,EAAE,GAAE;AAAC,gBAAI,IAAE,IAAI,WAAW,CAAC;AAAE,gBAAG,KAAG,SAAO,KAAG,OAAM;AAAC,kBAAI,KAAG,IAAI,WAAW,EAAE,CAAC;AAAE,kBAAE,UAAQ,IAAE,SAAO,MAAI,KAAG;AAAA,YAAI;AAAC,gBAAG,KAAG,KAAI;AAAC,kBAAG,UAAQ,OAAO;AAAM,mBAAK,QAAQ,IAAE;AAAA,YAAC,WAAS,KAAG,MAAK;AAAC,kBAAG,SAAO,KAAG,OAAO;AAAM,mBAAK,QAAQ,IAAE,MAAI,KAAG;AAAE,mBAAK,QAAQ,IAAE,MAAI,IAAE;AAAA,YAAE,WAAS,KAAG,OAAM;AAAC,kBAAG,SAAO,KAAG,OAAO;AAAM,mBAAK,QAAQ,IAAE,MAAI,KAAG;AAAG,mBAAK,QAAQ,IAAE,MAAI,KAAG,IAAE;AAAG,mBAAK,QAAQ,IAAE,MAAI,IAAE;AAAA,YAAE,OAAK;AAAC,kBAAG,SAAO,KAAG,OAAO;AAAM,kBAAG,IAAE,QAAQ,UAAS,gCAA8B,YAAY,CAAC,IAAE,wIAAwI;AAAE,mBAAK,QAAQ,IAAE,MAAI,KAAG;AAAG,mBAAK,QAAQ,IAAE,MAAI,KAAG,KAAG;AAAG,mBAAK,QAAQ,IAAE,MAAI,KAAG,IAAE;AAAG,mBAAK,QAAQ,IAAE,MAAI,IAAE;AAAA,YAAE;AAAA,UAAC;AAAC,eAAK,MAAM,IAAE;AAAE,iBAAO,SAAO;AAAA,QAAQ;AAAE,YAAI,qBAAmB,CAAC,SAAQ,aAAY,WAAS;AAAC,cAAI,MAAI,SAAO,IAAE,SAAO,gBAAgB,OAAO,IAAE;AAAE,cAAI,UAAQ,IAAI,MAAM,GAAG;AAAE,cAAI,kBAAgB,kBAAkB,SAAQ,SAAQ,GAAE,QAAQ,MAAM;AAAE,cAAG,YAAY,SAAQ,SAAO;AAAgB,iBAAO;AAAA,QAAO;AAAE,YAAI,mBAAiB,MAAI;AAAC,cAAG,CAAC,wBAAwB,QAAO;AAAC,gBAAI,SAAO;AAAK,gBAAG,qBAAoB;AAAC,kBAAI,UAAQ;AAAI,kBAAI,MAAI,OAAO,MAAM,OAAO;AAAE,kBAAI,YAAU;AAAE,kBAAI,KAAG,QAAQ,MAAM;AAAG,kBAAG;AAAC,4BAAU,GAAG,SAAS,IAAG,KAAI,GAAE,OAAO;AAAA,cAAC,SAAO,GAAE;AAAC,oBAAG,EAAE,SAAS,EAAE,SAAS,KAAK,EAAE,aAAU;AAAA,oBAAO,OAAM;AAAA,cAAC;AAAC,kBAAG,YAAU,GAAE;AAAC,yBAAO,IAAI,MAAM,GAAE,SAAS,EAAE,SAAS,OAAO;AAAA,cAAC;AAAA,YAAC,WAAS,OAAO,UAAQ,eAAa,OAAO,OAAO,UAAQ,YAAW;AAAC,uBAAO,OAAO,OAAO,SAAS;AAAE,kBAAG,WAAS,MAAK;AAAC,0BAAQ;AAAA,cAAI;AAAA,YAAC,OAAK;AAAA,YAAC;AAAC,gBAAG,CAAC,QAAO;AAAC,qBAAO;AAAA,YAAI;AAAC,sCAAwB,mBAAmB,QAAO,IAAI;AAAA,UAAC;AAAC,iBAAO,wBAAwB,MAAM;AAAA,QAAC;AAAE,YAAI,MAAI,EAAC,MAAK,CAAC,GAAE,OAAM;AAAA,QAAC,GAAE,WAAU;AAAA,QAAC,GAAE,SAAS,KAAI,KAAI;AAAC,cAAI,KAAK,GAAG,IAAE,EAAC,OAAM,CAAC,GAAE,QAAO,CAAC,GAAE,IAAG;AAAE,aAAG,eAAe,KAAI,IAAI,UAAU;AAAA,QAAC,GAAE,YAAW,EAAC,KAAK,QAAO;AAAC,cAAI,MAAI,IAAI,KAAK,OAAO,KAAK,IAAI;AAAE,cAAG,CAAC,KAAI;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,iBAAO,MAAI;AAAI,iBAAO,WAAS;AAAA,QAAK,GAAE,MAAM,QAAO;AAAC,iBAAO,IAAI,IAAI,MAAM,OAAO,GAAG;AAAA,QAAC,GAAE,MAAM,QAAO;AAAC,iBAAO,IAAI,IAAI,MAAM,OAAO,GAAG;AAAA,QAAC,GAAE,KAAK,QAAO,QAAO,QAAO,QAAO,KAAI;AAAC,cAAG,CAAC,OAAO,OAAK,CAAC,OAAO,IAAI,IAAI,UAAS;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAI,YAAU;AAAE,mBAAQ,IAAE,GAAE,IAAE,QAAO,KAAI;AAAC,gBAAI;AAAO,gBAAG;AAAC,uBAAO,OAAO,IAAI,IAAI,SAAS,OAAO,GAAG;AAAA,YAAC,SAAO,GAAE;AAAC,oBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,YAAC;AAAC,gBAAG,WAAS,UAAW,cAAY,GAAE;AAAC,oBAAM,IAAI,GAAG,WAAW,CAAC;AAAA,YAAC;AAAC,gBAAG,WAAS,QAAM,WAAS,OAAU;AAAM;AAAY,mBAAO,SAAO,CAAC,IAAE;AAAA,UAAM;AAAC,cAAG,WAAU;AAAC,mBAAO,KAAK,QAAM,KAAK,IAAI;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAS,GAAE,MAAM,QAAO,QAAO,QAAO,QAAO,KAAI;AAAC,cAAG,CAAC,OAAO,OAAK,CAAC,OAAO,IAAI,IAAI,UAAS;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG;AAAC,qBAAQ,IAAE,GAAE,IAAE,QAAO,KAAI;AAAC,qBAAO,IAAI,IAAI,SAAS,OAAO,KAAI,OAAO,SAAO,CAAC,CAAC;AAAA,YAAC;AAAA,UAAC,SAAO,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,QAAO;AAAC,mBAAO,KAAK,QAAM,OAAO,KAAK,QAAM,KAAK,IAAI;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAC,EAAC,GAAE,iBAAgB,EAAC,SAAS,KAAI;AAAC,iBAAO,iBAAiB;AAAA,QAAC,GAAE,SAAS,KAAI,KAAI;AAAC,cAAG,QAAM,QAAM,QAAM,IAAG;AAAC,gBAAI,kBAAkB,IAAI,MAAM,CAAC;AAAE,gBAAI,SAAO,CAAC;AAAA,UAAC,OAAK;AAAC,gBAAG,OAAK,EAAE,KAAI,OAAO,KAAK,GAAG;AAAA,UAAC;AAAA,QAAC,GAAE,MAAM,KAAI;AAAC,cAAG,IAAI,QAAQ,SAAO,GAAE;AAAC,gBAAI,kBAAkB,IAAI,MAAM,CAAC;AAAE,gBAAI,SAAO,CAAC;AAAA,UAAC;AAAA,QAAC,GAAE,aAAa,KAAI;AAAC,iBAAM,EAAC,SAAQ,OAAM,SAAQ,GAAE,SAAQ,KAAI,SAAQ,OAAM,MAAK,CAAC,GAAE,IAAG,KAAI,IAAG,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,IAAG,GAAE,IAAG,IAAG,IAAG,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC,EAAC;AAAA,QAAC,GAAE,aAAa,KAAI,kBAAiB,MAAK;AAAC,iBAAO;AAAA,QAAC,GAAE,iBAAiB,KAAI;AAAC,iBAAM,CAAC,IAAG,EAAE;AAAA,QAAC,EAAC,GAAE,kBAAiB,EAAC,SAAS,KAAI,KAAI;AAAC,cAAG,QAAM,QAAM,QAAM,IAAG;AAAC,gBAAI,kBAAkB,IAAI,MAAM,CAAC;AAAE,gBAAI,SAAO,CAAC;AAAA,UAAC,OAAK;AAAC,gBAAG,OAAK,EAAE,KAAI,OAAO,KAAK,GAAG;AAAA,UAAC;AAAA,QAAC,GAAE,MAAM,KAAI;AAAC,cAAG,IAAI,QAAQ,SAAO,GAAE;AAAC,gBAAI,kBAAkB,IAAI,MAAM,CAAC;AAAE,gBAAI,SAAO,CAAC;AAAA,UAAC;AAAA,QAAC,EAAC,EAAC;AAAE,YAAI,cAAY,CAAC,MAAK,cAAY;AAAC,iBAAO,WAAU,gCAAgC;AAAE,iBAAO,KAAK,KAAK,OAAK,SAAS,IAAE;AAAA,QAAS;AAAE,YAAI,YAAU,UAAM;AAAC,gBAAM,+FAA+F;AAAA,QAAC;AAAE,YAAI,QAAM,EAAC,WAAU,MAAK,MAAM,OAAM;AAAC,iBAAO,MAAM,WAAW,MAAK,KAAI,OAAM,CAAC;AAAA,QAAC,GAAE,WAAW,QAAO,MAAK,MAAK,KAAI;AAAC,cAAG,GAAG,SAAS,IAAI,KAAG,GAAG,OAAO,IAAI,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,gBAAM,cAAN,MAAM,YAAY,EAAC,KAAI,EAAC,MAAK,EAAC,SAAQ,MAAM,SAAS,SAAQ,SAAQ,MAAM,SAAS,SAAQ,QAAO,MAAM,SAAS,QAAO,OAAM,MAAM,SAAS,OAAM,QAAO,MAAM,SAAS,QAAO,QAAO,MAAM,SAAS,QAAO,OAAM,MAAM,SAAS,OAAM,SAAQ,MAAM,SAAS,SAAQ,SAAQ,MAAM,SAAS,QAAO,GAAE,QAAO,EAAC,QAAO,MAAM,WAAW,OAAM,EAAC,GAAE,MAAK,EAAC,MAAK,EAAC,SAAQ,MAAM,SAAS,SAAQ,SAAQ,MAAM,SAAS,QAAO,GAAE,QAAO,EAAC,QAAO,MAAM,WAAW,QAAO,MAAK,MAAM,WAAW,MAAK,OAAM,MAAM,WAAW,OAAM,MAAK,MAAM,WAAW,MAAK,OAAM,MAAM,WAAW,MAAK,EAAC,GAAE,MAAK,EAAC,MAAK,EAAC,SAAQ,MAAM,SAAS,SAAQ,SAAQ,MAAM,SAAS,SAAQ,UAAS,MAAM,SAAS,SAAQ,GAAE,QAAO,CAAC,EAAC,GAAE,QAAO,EAAC,MAAK,EAAC,SAAQ,MAAM,SAAS,SAAQ,SAAQ,MAAM,SAAS,QAAO,GAAE,QAAO,GAAG,kBAAiB,EAAC;AAAE,cAAI,OAAK,GAAG,WAAW,QAAO,MAAK,MAAK,GAAG;AAAE,cAAG,GAAG,MAAM,KAAK,IAAI,GAAE;AAAC,iBAAK,WAAS,MAAM,UAAU,IAAI;AAAK,iBAAK,aAAW,MAAM,UAAU,IAAI;AAAO,iBAAK,WAAS,CAAC;AAAA,UAAC,WAAS,GAAG,OAAO,KAAK,IAAI,GAAE;AAAC,iBAAK,WAAS,MAAM,UAAU,KAAK;AAAK,iBAAK,aAAW,MAAM,UAAU,KAAK;AAAO,iBAAK,YAAU;AAAE,iBAAK,WAAS;AAAA,UAAI,WAAS,GAAG,OAAO,KAAK,IAAI,GAAE;AAAC,iBAAK,WAAS,MAAM,UAAU,KAAK;AAAK,iBAAK,aAAW,MAAM,UAAU,KAAK;AAAA,UAAM,WAAS,GAAG,SAAS,KAAK,IAAI,GAAE;AAAC,iBAAK,WAAS,MAAM,UAAU,OAAO;AAAK,iBAAK,aAAW,MAAM,UAAU,OAAO;AAAA,UAAM;AAAC,eAAK,QAAM,KAAK,QAAM,KAAK,QAAM,KAAK,IAAI;AAAE,cAAG,QAAO;AAAC,mBAAO,SAAS,IAAI,IAAE;AAAK,mBAAO,QAAM,OAAO,QAAM,OAAO,QAAM,KAAK;AAAA,UAAK;AAAC,iBAAO;AAAA,QAAI,GAAE,wBAAwB,MAAK;AAAC,cAAG,CAAC,KAAK,SAAS,QAAO,IAAI,WAAW,CAAC;AAAE,cAAG,KAAK,SAAS,SAAS,QAAO,KAAK,SAAS,SAAS,GAAE,KAAK,SAAS;AAAE,iBAAO,IAAI,WAAW,KAAK,QAAQ;AAAA,QAAC,GAAE,kBAAkB,MAAK,aAAY;AAAC,cAAI,eAAa,KAAK,WAAS,KAAK,SAAS,SAAO;AAAE,cAAG,gBAAc,YAAY;AAAO,cAAI,wBAAsB,OAAK;AAAK,wBAAY,KAAK,IAAI,aAAY,gBAAc,eAAa,wBAAsB,IAAE,WAAS,CAAC;AAAE,cAAG,gBAAc,EAAE,eAAY,KAAK,IAAI,aAAY,GAAG;AAAE,cAAI,cAAY,KAAK;AAAS,eAAK,WAAS,IAAI,WAAW,WAAW;AAAE,cAAG,KAAK,YAAU,EAAE,MAAK,SAAS,IAAI,YAAY,SAAS,GAAE,KAAK,SAAS,GAAE,CAAC;AAAA,QAAC,GAAE,kBAAkB,MAAK,SAAQ;AAAC,cAAG,KAAK,aAAW,QAAQ;AAAO,cAAG,WAAS,GAAE;AAAC,iBAAK,WAAS;AAAK,iBAAK,YAAU;AAAA,UAAC,OAAK;AAAC,gBAAI,cAAY,KAAK;AAAS,iBAAK,WAAS,IAAI,WAAW,OAAO;AAAE,gBAAG,aAAY;AAAC,mBAAK,SAAS,IAAI,YAAY,SAAS,GAAE,KAAK,IAAI,SAAQ,KAAK,SAAS,CAAC,CAAC;AAAA,YAAC;AAAC,iBAAK,YAAU;AAAA,UAAO;AAAA,QAAC,GAAE,UAAS,EAAC,QAAQ,MAAK;AAAC,cAAI,OAAK,CAAC;AAAE,eAAK,MAAI,GAAG,SAAS,KAAK,IAAI,IAAE,KAAK,KAAG;AAAE,eAAK,MAAI,KAAK;AAAG,eAAK,OAAK,KAAK;AAAK,eAAK,QAAM;AAAE,eAAK,MAAI;AAAE,eAAK,MAAI;AAAE,eAAK,OAAK,KAAK;AAAK,cAAG,GAAG,MAAM,KAAK,IAAI,GAAE;AAAC,iBAAK,OAAK;AAAA,UAAI,WAAS,GAAG,OAAO,KAAK,IAAI,GAAE;AAAC,iBAAK,OAAK,KAAK;AAAA,UAAS,WAAS,GAAG,OAAO,KAAK,IAAI,GAAE;AAAC,iBAAK,OAAK,KAAK,KAAK;AAAA,UAAM,OAAK;AAAC,iBAAK,OAAK;AAAA,UAAC;AAAC,eAAK,QAAM,IAAI,KAAK,KAAK,KAAK;AAAE,eAAK,QAAM,IAAI,KAAK,KAAK,KAAK;AAAE,eAAK,QAAM,IAAI,KAAK,KAAK,KAAK;AAAE,eAAK,UAAQ;AAAK,eAAK,SAAO,KAAK,KAAK,KAAK,OAAK,KAAK,OAAO;AAAE,iBAAO;AAAA,QAAI,GAAE,QAAQ,MAAK,MAAK;AAAC,qBAAU,OAAM,CAAC,QAAO,SAAQ,SAAQ,OAAO,GAAE;AAAC,gBAAG,KAAK,GAAG,KAAG,MAAK;AAAC,mBAAK,GAAG,IAAE,KAAK,GAAG;AAAA,YAAC;AAAA,UAAC;AAAC,cAAG,KAAK,SAAO,QAAU;AAAC,kBAAM,kBAAkB,MAAK,KAAK,IAAI;AAAA,UAAC;AAAA,QAAC,GAAE,OAAO,QAAO,MAAK;AAAC,gBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,QAAC,GAAE,MAAM,QAAO,MAAK,MAAK,KAAI;AAAC,iBAAO,MAAM,WAAW,QAAO,MAAK,MAAK,GAAG;AAAA,QAAC,GAAE,OAAO,UAAS,SAAQ,UAAS;AAAC,cAAI;AAAS,cAAG;AAAC,uBAAS,GAAG,WAAW,SAAQ,QAAQ;AAAA,UAAC,SAAO,GAAE;AAAA,UAAC;AAAC,cAAG,UAAS;AAAC,gBAAG,GAAG,MAAM,SAAS,IAAI,GAAE;AAAC,uBAAQ,KAAK,SAAS,UAAS;AAAC,sBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,cAAC;AAAA,YAAC;AAAC,eAAG,eAAe,QAAQ;AAAA,UAAC;AAAC,iBAAO,SAAS,OAAO,SAAS,SAAS,IAAI;AAAE,kBAAQ,SAAS,QAAQ,IAAE;AAAS,mBAAS,OAAK;AAAS,kBAAQ,QAAM,QAAQ,QAAM,SAAS,OAAO,QAAM,SAAS,OAAO,QAAM,KAAK,IAAI;AAAA,QAAC,GAAE,OAAO,QAAO,MAAK;AAAC,iBAAO,OAAO,SAAS,IAAI;AAAE,iBAAO,QAAM,OAAO,QAAM,KAAK,IAAI;AAAA,QAAC,GAAE,MAAM,QAAO,MAAK;AAAC,cAAI,OAAK,GAAG,WAAW,QAAO,IAAI;AAAE,mBAAQ,KAAK,KAAK,UAAS;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,iBAAO,OAAO,SAAS,IAAI;AAAE,iBAAO,QAAM,OAAO,QAAM,KAAK,IAAI;AAAA,QAAC,GAAE,QAAQ,MAAK;AAAC,iBAAM,CAAC,KAAI,MAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC;AAAA,QAAC,GAAE,QAAQ,QAAO,SAAQ,SAAQ;AAAC,cAAI,OAAK,MAAM,WAAW,QAAO,SAAQ,MAAI,OAAM,CAAC;AAAE,eAAK,OAAK;AAAQ,iBAAO;AAAA,QAAI,GAAE,SAAS,MAAK;AAAC,cAAG,CAAC,GAAG,OAAO,KAAK,IAAI,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,iBAAO,KAAK;AAAA,QAAI,EAAC,GAAE,YAAW,EAAC,KAAK,QAAO,QAAO,QAAO,QAAO,UAAS;AAAC,cAAI,WAAS,OAAO,KAAK;AAAS,cAAG,YAAU,OAAO,KAAK,UAAU,QAAO;AAAE,cAAI,OAAK,KAAK,IAAI,OAAO,KAAK,YAAU,UAAS,MAAM;AAAE,iBAAO,QAAM,CAAC;AAAE,cAAG,OAAK,KAAG,SAAS,UAAS;AAAC,mBAAO,IAAI,SAAS,SAAS,UAAS,WAAS,IAAI,GAAE,MAAM;AAAA,UAAC,OAAK;AAAC,qBAAQ,IAAE,GAAE,IAAE,MAAK,IAAI,QAAO,SAAO,CAAC,IAAE,SAAS,WAAS,CAAC;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAI,GAAE,MAAM,QAAO,QAAO,QAAO,QAAO,UAAS,QAAO;AAAC,iBAAO,EAAE,kBAAkB,YAAY;AAAE,cAAG,OAAO,WAAS,MAAM,QAAO;AAAC,qBAAO;AAAA,UAAK;AAAC,cAAG,CAAC,OAAO,QAAO;AAAE,cAAI,OAAK,OAAO;AAAK,eAAK,QAAM,KAAK,QAAM,KAAK,IAAI;AAAE,cAAG,OAAO,aAAW,CAAC,KAAK,YAAU,KAAK,SAAS,WAAU;AAAC,gBAAG,QAAO;AAAC,qBAAO,aAAW,GAAE,qDAAqD;AAAE,mBAAK,WAAS,OAAO,SAAS,QAAO,SAAO,MAAM;AAAE,mBAAK,YAAU;AAAO,qBAAO;AAAA,YAAM,WAAS,KAAK,cAAY,KAAG,aAAW,GAAE;AAAC,mBAAK,WAAS,OAAO,MAAM,QAAO,SAAO,MAAM;AAAE,mBAAK,YAAU;AAAO,qBAAO;AAAA,YAAM,WAAS,WAAS,UAAQ,KAAK,WAAU;AAAC,mBAAK,SAAS,IAAI,OAAO,SAAS,QAAO,SAAO,MAAM,GAAE,QAAQ;AAAE,qBAAO;AAAA,YAAM;AAAA,UAAC;AAAC,gBAAM,kBAAkB,MAAK,WAAS,MAAM;AAAE,cAAG,KAAK,SAAS,YAAU,OAAO,UAAS;AAAC,iBAAK,SAAS,IAAI,OAAO,SAAS,QAAO,SAAO,MAAM,GAAE,QAAQ;AAAA,UAAC,OAAK;AAAC,qBAAQ,IAAE,GAAE,IAAE,QAAO,KAAI;AAAC,mBAAK,SAAS,WAAS,CAAC,IAAE,OAAO,SAAO,CAAC;AAAA,YAAC;AAAA,UAAC;AAAC,eAAK,YAAU,KAAK,IAAI,KAAK,WAAU,WAAS,MAAM;AAAE,iBAAO;AAAA,QAAM,GAAE,OAAO,QAAO,QAAO,QAAO;AAAC,cAAI,WAAS;AAAO,cAAG,WAAS,GAAE;AAAC,wBAAU,OAAO;AAAA,UAAQ,WAAS,WAAS,GAAE;AAAC,gBAAG,GAAG,OAAO,OAAO,KAAK,IAAI,GAAE;AAAC,0BAAU,OAAO,KAAK;AAAA,YAAS;AAAA,UAAC;AAAC,cAAG,WAAS,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAQ,GAAE,KAAK,QAAO,QAAO,UAAS,MAAK,OAAM;AAAC,cAAG,CAAC,GAAG,OAAO,OAAO,KAAK,IAAI,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAI;AAAI,cAAI;AAAU,cAAI,WAAS,OAAO,KAAK;AAAS,cAAG,EAAE,QAAM,MAAI,YAAU,SAAS,WAAS,MAAM,QAAO;AAAC,wBAAU;AAAM,kBAAI,SAAS;AAAA,UAAU,OAAK;AAAC,wBAAU;AAAK,kBAAI,UAAU,MAAM;AAAE,gBAAG,CAAC,KAAI;AAAC,oBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,YAAC;AAAC,gBAAG,UAAS;AAAC,kBAAG,WAAS,KAAG,WAAS,SAAO,SAAS,QAAO;AAAC,oBAAG,SAAS,UAAS;AAAC,6BAAS,SAAS,SAAS,UAAS,WAAS,MAAM;AAAA,gBAAC,OAAK;AAAC,6BAAS,MAAM,UAAU,MAAM,KAAK,UAAS,UAAS,WAAS,MAAM;AAAA,gBAAC;AAAA,cAAC;AAAC,oBAAM,IAAI,UAAS,GAAG;AAAA,YAAC;AAAA,UAAC;AAAC,iBAAM,EAAC,KAAI,UAAS;AAAA,QAAC,GAAE,MAAM,QAAO,QAAO,QAAO,QAAO,WAAU;AAAC,gBAAM,WAAW,MAAM,QAAO,QAAO,GAAE,QAAO,QAAO,KAAK;AAAE,iBAAO;AAAA,QAAC,EAAC,EAAC;AAAE,YAAI,YAAU,OAAM,QAAK;AAAC,cAAI,cAAY,MAAM,UAAU,GAAG;AAAE,iBAAO,aAAY,sBAAsB,GAAG,4BAA4B;AAAE,iBAAO,IAAI,WAAW,WAAW;AAAA,QAAC;AAAE,YAAI,oBAAkB,CAAC,QAAO,MAAK,UAAS,SAAQ,UAAS,WAAS;AAAC,aAAG,eAAe,QAAO,MAAK,UAAS,SAAQ,UAAS,MAAM;AAAA,QAAC;AAAE,YAAI,iBAAe,OAAO,gBAAgB,KAAG,CAAC;AAAE,YAAI,4BAA0B,CAAC,WAAU,UAAS,QAAO,YAAU;AAAC,cAAG,OAAO,WAAS,YAAY,SAAQ,KAAK;AAAE,cAAI,UAAQ;AAAM,yBAAe,QAAQ,YAAQ;AAAC,gBAAG,QAAQ;AAAO,gBAAG,OAAO,WAAW,EAAE,QAAQ,GAAE;AAAC,qBAAO,QAAQ,EAAE,WAAU,UAAS,QAAO,OAAO;AAAE,wBAAQ;AAAA,YAAI;AAAA,UAAC,CAAC;AAAE,iBAAO;AAAA,QAAO;AAAE,YAAI,yBAAuB,CAAC,QAAO,MAAK,KAAI,SAAQ,UAAS,QAAO,SAAQ,gBAAe,QAAO,cAAY;AAAC,cAAI,WAAS,OAAK,QAAQ,QAAQ,KAAK,MAAM,QAAO,IAAI,CAAC,IAAE;AAAO,cAAI,MAAI,uBAAuB,MAAM,QAAQ,EAAE;AAAE,mBAAS,YAAY,WAAU;AAAC,qBAAS,OAAOC,YAAU;AAAC,0BAAY;AAAE,kBAAG,CAAC,gBAAe;AAAC,kCAAkB,QAAO,MAAKA,YAAU,SAAQ,UAAS,MAAM;AAAA,cAAC;AAAC,uBAAS;AAAE,kCAAoB,GAAG;AAAA,YAAC;AAAC,gBAAG,0BAA0B,WAAU,UAAS,QAAO,MAAI;AAAC,wBAAU;AAAE,kCAAoB,GAAG;AAAA,YAAC,CAAC,GAAE;AAAC;AAAA,YAAM;AAAC,mBAAO,SAAS;AAAA,UAAC;AAAC,2BAAiB,GAAG;AAAE,cAAG,OAAO,OAAK,UAAS;AAAC,sBAAU,GAAG,EAAE,KAAK,aAAY,OAAO;AAAA,UAAC,OAAK;AAAC,wBAAY,GAAG;AAAA,UAAC;AAAA,QAAC;AAAE,YAAI,uBAAqB,SAAK;AAAC,cAAI,YAAU,EAAC,GAAE,GAAE,MAAK,GAAE,GAAE,MAAI,KAAG,GAAE,MAAK,MAAI,KAAG,GAAE,GAAE,OAAK,KAAG,GAAE,MAAK,OAAK,KAAG,EAAC;AAAE,cAAI,QAAM,UAAU,GAAG;AAAE,cAAG,OAAO,SAAO,aAAY;AAAC,kBAAM,IAAI,MAAM,2BAA2B,GAAG,EAAE;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAK;AAAE,YAAI,aAAW,CAAC,SAAQ,aAAW;AAAC,cAAI,OAAK;AAAE,cAAG,QAAQ,SAAM,MAAI;AAAG,cAAG,SAAS,SAAM;AAAI,iBAAO;AAAA,QAAI;AAAE,YAAI,eAAa,CAAC,KAAI,mBAAiB;AAAC,iBAAO,OAAO,OAAK,UAAS,sCAAsC,OAAO,GAAG,GAAG;AAAE,iBAAO,MAAI,kBAAkB,QAAO,KAAI,cAAc,IAAE;AAAA,QAAE;AAAE,YAAI,WAAS,WAAO,aAAa,UAAU,KAAK,CAAC;AAAE,YAAI,cAAY,EAAC,OAAM,IAAG,QAAO,IAAG,OAAM,IAAG,OAAM,IAAG,KAAI,IAAG,OAAM,IAAG,OAAM,GAAE,SAAQ,IAAG,OAAM,GAAE,QAAO,IAAG,QAAO,GAAE,aAAY,GAAE,QAAO,IAAG,QAAO,GAAE,QAAO,IAAG,SAAQ,KAAI,OAAM,IAAG,QAAO,IAAG,OAAM,IAAG,QAAO,IAAG,SAAQ,IAAG,QAAO,IAAG,QAAO,IAAG,QAAO,IAAG,QAAO,IAAG,QAAO,IAAG,SAAQ,IAAG,OAAM,IAAG,QAAO,IAAG,QAAO,IAAG,OAAM,IAAG,QAAO,IAAG,OAAM,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,OAAM,IAAG,QAAO,KAAI,UAAS,KAAI,QAAO,KAAI,QAAO,KAAI,QAAO,KAAI,SAAQ,KAAI,QAAO,KAAI,QAAO,KAAI,SAAQ,IAAG,QAAO,IAAG,OAAM,KAAI,OAAM,KAAI,QAAO,KAAI,QAAO,KAAI,SAAQ,KAAI,SAAQ,KAAI,WAAU,IAAG,QAAO,KAAI,QAAO,KAAI,SAAQ,KAAI,OAAM,KAAI,OAAM,KAAI,QAAO,KAAI,QAAO,KAAI,SAAQ,KAAI,SAAQ,IAAG,MAAK,KAAI,QAAO,KAAI,OAAM,KAAI,QAAO,IAAG,WAAU,IAAG,SAAQ,KAAI,SAAQ,GAAE,UAAS,KAAI,QAAO,KAAI,SAAQ,KAAI,SAAQ,KAAI,SAAQ,KAAI,SAAQ,KAAI,SAAQ,KAAI,UAAS,KAAI,QAAO,IAAG,WAAU,IAAG,cAAa,IAAG,OAAM,IAAG,YAAW,KAAI,cAAa,KAAI,YAAW,IAAG,SAAQ,IAAG,cAAa,GAAE,YAAW,IAAG,UAAS,IAAG,aAAY,IAAG,WAAU,KAAI,cAAa,IAAG,YAAW,GAAE,cAAa,IAAG,aAAY,IAAG,UAAS,IAAG,WAAU,IAAG,WAAU,KAAI,cAAa,IAAG,aAAY,IAAG,UAAS,GAAE,cAAa,IAAG,UAAS,IAAG,iBAAgB,IAAG,iBAAgB,KAAI,eAAc,GAAE,WAAU,IAAG,SAAQ,IAAG,UAAS,IAAG,cAAa,KAAI,QAAO,KAAI,QAAO,IAAG,QAAO,IAAG,SAAQ,KAAI,WAAU,KAAI,QAAO,IAAG,WAAU,IAAG,WAAU,IAAG,iBAAgB,IAAG,YAAW,IAAG,UAAS,IAAG;AAAE,YAAI,KAAG,EAAC,MAAK,MAAK,QAAO,CAAC,GAAE,SAAQ,CAAC,GAAE,SAAQ,CAAC,GAAE,WAAU,GAAE,WAAU,MAAK,aAAY,KAAI,aAAY,OAAM,mBAAkB,MAAK,aAAY,MAAK,gBAAe,GAAE,WAAU,CAAC,GAAE,YAAW,cAAc,MAAK;AAAA,UAAmB,YAAY,OAAM;AAAC,kBAAM,qBAAmB,SAAS,KAAK,IAAE,EAAE;AAAhF,wCAAK;AAA6E,iBAAK,QAAM;AAAM,qBAAQ,OAAO,aAAY;AAAC,kBAAG,YAAY,GAAG,MAAI,OAAM;AAAC,qBAAK,OAAK;AAAI;AAAA,cAAK;AAAA,YAAC;AAAA,UAAC;AAAA,QAAC,GAAE,UAAS,MAAK;AAAA,UAAL;AAAM,0CAAO,CAAC;AAAA;AAAA,UAAE,IAAI,SAAQ;AAAC,mBAAO,KAAK;AAAA,UAAI;AAAA,UAAC,IAAI,OAAO,KAAI;AAAC,iBAAK,OAAK;AAAA,UAAG;AAAA,UAAC,IAAI,SAAQ;AAAC,oBAAO,KAAK,QAAM,aAAW;AAAA,UAAC;AAAA,UAAC,IAAI,UAAS;AAAC,oBAAO,KAAK,QAAM,aAAW;AAAA,UAAC;AAAA,UAAC,IAAI,WAAU;AAAC,mBAAO,KAAK,QAAM;AAAA,UAAI;AAAA,UAAC,IAAI,QAAO;AAAC,mBAAO,KAAK,OAAO;AAAA,UAAK;AAAA,UAAC,IAAI,MAAM,KAAI;AAAC,iBAAK,OAAO,QAAM;AAAA,UAAG;AAAA,UAAC,IAAI,WAAU;AAAC,mBAAO,KAAK,OAAO;AAAA,UAAQ;AAAA,UAAC,IAAI,SAAS,KAAI;AAAC,iBAAK,OAAO,WAAS;AAAA,UAAG;AAAA,QAAC,GAAE,QAAO,MAAK;AAAA,UAAsE,YAAY,QAAO,MAAK,MAAK,MAAK;AAAvG,4CAAS,CAAC;AAAE,8CAAW,CAAC;AAAE,4CAAS,MAAI;AAAG,6CAAU;AAAI,2CAAQ;AAAwC,gBAAG,CAAC,QAAO;AAAC,uBAAO;AAAA,YAAI;AAAC,iBAAK,SAAO;AAAO,iBAAK,QAAM,OAAO;AAAM,iBAAK,KAAG,GAAG;AAAY,iBAAK,OAAK;AAAK,iBAAK,OAAK;AAAK,iBAAK,OAAK;AAAK,iBAAK,QAAM,KAAK,QAAM,KAAK,QAAM,KAAK,IAAI;AAAA,UAAC;AAAA,UAAC,IAAI,OAAM;AAAC,oBAAO,KAAK,OAAK,KAAK,cAAY,KAAK;AAAA,UAAQ;AAAA,UAAC,IAAI,KAAK,KAAI;AAAC,kBAAI,KAAK,QAAM,KAAK,WAAS,KAAK,QAAM,CAAC,KAAK;AAAA,UAAQ;AAAA,UAAC,IAAI,QAAO;AAAC,oBAAO,KAAK,OAAK,KAAK,eAAa,KAAK;AAAA,UAAS;AAAA,UAAC,IAAI,MAAM,KAAI;AAAC,kBAAI,KAAK,QAAM,KAAK,YAAU,KAAK,QAAM,CAAC,KAAK;AAAA,UAAS;AAAA,UAAC,IAAI,WAAU;AAAC,mBAAO,GAAG,MAAM,KAAK,IAAI;AAAA,UAAC;AAAA,UAAC,IAAI,WAAU;AAAC,mBAAO,GAAG,SAAS,KAAK,IAAI;AAAA,UAAC;AAAA,QAAC,GAAE,WAAW,MAAK,OAAK,CAAC,GAAE;AAAC,cAAG,CAAC,MAAK;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,eAAK,iBAAL,KAAK,eAAe;AAAK,cAAG,CAAC,KAAK,MAAM,IAAI,GAAE;AAAC,mBAAK,GAAG,IAAI,IAAE,MAAI;AAAA,UAAI;AAAC,mBAAS,UAAQ,SAAO,GAAE,SAAO,IAAG,UAAS;AAAC,gBAAI,QAAM,KAAK,MAAM,GAAG,EAAE,OAAO,OAAG,CAAC,CAAC,CAAC;AAAE,gBAAI,UAAQ,GAAG;AAAK,gBAAI,eAAa;AAAI,qBAAQ,IAAE,GAAE,IAAE,MAAM,QAAO,KAAI;AAAC,kBAAI,SAAO,MAAI,MAAM,SAAO;AAAE,kBAAG,UAAQ,KAAK,QAAO;AAAC;AAAA,cAAK;AAAC,kBAAG,MAAM,CAAC,MAAI,KAAI;AAAC;AAAA,cAAQ;AAAC,kBAAG,MAAM,CAAC,MAAI,MAAK;AAAC,+BAAa,KAAK,QAAQ,YAAY;AAAE,0BAAQ,QAAQ;AAAO;AAAA,cAAQ;AAAC,6BAAa,KAAK,MAAM,cAAa,MAAM,CAAC,CAAC;AAAE,kBAAG;AAAC,0BAAQ,GAAG,WAAW,SAAQ,MAAM,CAAC,CAAC;AAAA,cAAC,SAAO,GAAE;AAAC,oBAAG,GAAG,UAAQ,MAAI,UAAQ,KAAK,YAAW;AAAC,yBAAM,EAAC,MAAK,aAAY;AAAA,gBAAC;AAAC,sBAAM;AAAA,cAAC;AAAC,kBAAG,GAAG,aAAa,OAAO,MAAI,CAAC,UAAQ,KAAK,eAAc;AAAC,0BAAQ,QAAQ,QAAQ;AAAA,cAAI;AAAC,kBAAG,GAAG,OAAO,QAAQ,IAAI,MAAI,CAAC,UAAQ,KAAK,SAAQ;AAAC,oBAAG,CAAC,QAAQ,SAAS,UAAS;AAAC,wBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,gBAAC;AAAC,oBAAI,OAAK,QAAQ,SAAS,SAAS,OAAO;AAAE,oBAAG,CAAC,KAAK,MAAM,IAAI,GAAE;AAAC,yBAAK,KAAK,QAAQ,YAAY,IAAE,MAAI;AAAA,gBAAI;AAAC,uBAAK,OAAK,MAAI,MAAM,MAAM,IAAE,CAAC,EAAE,KAAK,GAAG;AAAE,yBAAS;AAAA,cAAQ;AAAA,YAAC;AAAC,mBAAM,EAAC,MAAK,cAAa,MAAK,QAAO;AAAA,UAAC;AAAC,gBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,QAAC,GAAE,QAAQ,MAAK;AAAC,cAAI;AAAK,iBAAM,MAAK;AAAC,gBAAG,GAAG,OAAO,IAAI,GAAE;AAAC,kBAAI,QAAM,KAAK,MAAM;AAAW,kBAAG,CAAC,KAAK,QAAO;AAAM,qBAAO,MAAM,MAAM,SAAO,CAAC,MAAI,MAAI,GAAG,KAAK,IAAI,IAAI,KAAG,QAAM;AAAA,YAAI;AAAC,mBAAK,OAAK,GAAG,KAAK,IAAI,IAAI,IAAI,KAAG,KAAK;AAAK,mBAAK,KAAK;AAAA,UAAM;AAAA,QAAC,GAAE,SAAS,UAAS,MAAK;AAAC,cAAI,OAAK;AAAE,mBAAQ,IAAE,GAAE,IAAE,KAAK,QAAO,KAAI;AAAC,oBAAM,QAAM,KAAG,OAAK,KAAK,WAAW,CAAC,IAAE;AAAA,UAAC;AAAC,kBAAO,WAAS,SAAO,KAAG,GAAG,UAAU;AAAA,QAAM,GAAE,YAAY,MAAK;AAAC,cAAI,OAAK,GAAG,SAAS,KAAK,OAAO,IAAG,KAAK,IAAI;AAAE,eAAK,YAAU,GAAG,UAAU,IAAI;AAAE,aAAG,UAAU,IAAI,IAAE;AAAA,QAAI,GAAE,eAAe,MAAK;AAAC,cAAI,OAAK,GAAG,SAAS,KAAK,OAAO,IAAG,KAAK,IAAI;AAAE,cAAG,GAAG,UAAU,IAAI,MAAI,MAAK;AAAC,eAAG,UAAU,IAAI,IAAE,KAAK;AAAA,UAAS,OAAK;AAAC,gBAAI,UAAQ,GAAG,UAAU,IAAI;AAAE,mBAAM,SAAQ;AAAC,kBAAG,QAAQ,cAAY,MAAK;AAAC,wBAAQ,YAAU,KAAK;AAAU;AAAA,cAAK;AAAC,wBAAQ,QAAQ;AAAA,YAAS;AAAA,UAAC;AAAA,QAAC,GAAE,WAAW,QAAO,MAAK;AAAC,cAAI,UAAQ,GAAG,UAAU,MAAM;AAAE,cAAG,SAAQ;AAAC,kBAAM,IAAI,GAAG,WAAW,OAAO;AAAA,UAAC;AAAC,cAAI,OAAK,GAAG,SAAS,OAAO,IAAG,IAAI;AAAE,mBAAQ,OAAK,GAAG,UAAU,IAAI,GAAE,MAAK,OAAK,KAAK,WAAU;AAAC,gBAAI,WAAS,KAAK;AAAK,gBAAG,KAAK,OAAO,OAAK,OAAO,MAAI,aAAW,MAAK;AAAC,qBAAO;AAAA,YAAI;AAAA,UAAC;AAAC,iBAAO,GAAG,OAAO,QAAO,IAAI;AAAA,QAAC,GAAE,WAAW,QAAO,MAAK,MAAK,MAAK;AAAC,iBAAO,OAAO,UAAQ,QAAQ;AAAE,cAAI,OAAK,IAAI,GAAG,OAAO,QAAO,MAAK,MAAK,IAAI;AAAE,aAAG,YAAY,IAAI;AAAE,iBAAO;AAAA,QAAI,GAAE,YAAY,MAAK;AAAC,aAAG,eAAe,IAAI;AAAA,QAAC,GAAE,OAAO,MAAK;AAAC,iBAAO,SAAO,KAAK;AAAA,QAAM,GAAE,aAAa,MAAK;AAAC,iBAAM,CAAC,CAAC,KAAK;AAAA,QAAO,GAAE,OAAO,MAAK;AAAC,kBAAO,OAAK,WAAS;AAAA,QAAK,GAAE,MAAM,MAAK;AAAC,kBAAO,OAAK,WAAS;AAAA,QAAK,GAAE,OAAO,MAAK;AAAC,kBAAO,OAAK,WAAS;AAAA,QAAK,GAAE,SAAS,MAAK;AAAC,kBAAO,OAAK,WAAS;AAAA,QAAI,GAAE,SAAS,MAAK;AAAC,kBAAO,OAAK,WAAS;AAAA,QAAK,GAAE,OAAO,MAAK;AAAC,kBAAO,OAAK,WAAS;AAAA,QAAI,GAAE,SAAS,MAAK;AAAC,kBAAO,OAAK,WAAS;AAAA,QAAK,GAAE,wBAAwB,MAAK;AAAC,cAAI,QAAM,CAAC,KAAI,KAAI,IAAI,EAAE,OAAK,CAAC;AAAE,cAAG,OAAK,KAAI;AAAC,qBAAO;AAAA,UAAG;AAAC,iBAAO;AAAA,QAAK,GAAE,gBAAgB,MAAK,OAAM;AAAC,cAAG,GAAG,mBAAkB;AAAC,mBAAO;AAAA,UAAC;AAAC,cAAG,MAAM,SAAS,GAAG,KAAG,EAAE,KAAK,OAAK,MAAK;AAAC,mBAAO;AAAA,UAAC,WAAS,MAAM,SAAS,GAAG,KAAG,EAAE,KAAK,OAAK,MAAK;AAAC,mBAAO;AAAA,UAAC,WAAS,MAAM,SAAS,GAAG,KAAG,EAAE,KAAK,OAAK,KAAI;AAAC,mBAAO;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAC,GAAE,UAAU,KAAI;AAAC,cAAG,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,QAAO;AAAG,cAAI,UAAQ,GAAG,gBAAgB,KAAI,GAAG;AAAE,cAAG,QAAQ,QAAO;AAAQ,cAAG,CAAC,IAAI,SAAS,OAAO,QAAO;AAAE,iBAAO;AAAA,QAAC,GAAE,UAAU,KAAI,MAAK;AAAC,cAAG,CAAC,GAAG,MAAM,IAAI,IAAI,GAAE;AAAC,mBAAO;AAAA,UAAE;AAAC,cAAG;AAAC,gBAAI,OAAK,GAAG,WAAW,KAAI,IAAI;AAAE,mBAAO;AAAA,UAAE,SAAO,GAAE;AAAA,UAAC;AAAC,iBAAO,GAAG,gBAAgB,KAAI,IAAI;AAAA,QAAC,GAAE,UAAU,KAAI,MAAK,OAAM;AAAC,cAAI;AAAK,cAAG;AAAC,mBAAK,GAAG,WAAW,KAAI,IAAI;AAAA,UAAC,SAAO,GAAE;AAAC,mBAAO,EAAE;AAAA,UAAK;AAAC,cAAI,UAAQ,GAAG,gBAAgB,KAAI,IAAI;AAAE,cAAG,SAAQ;AAAC,mBAAO;AAAA,UAAO;AAAC,cAAG,OAAM;AAAC,gBAAG,CAAC,GAAG,MAAM,KAAK,IAAI,GAAE;AAAC,qBAAO;AAAA,YAAE;AAAC,gBAAG,GAAG,OAAO,IAAI,KAAG,GAAG,QAAQ,IAAI,MAAI,GAAG,IAAI,GAAE;AAAC,qBAAO;AAAA,YAAE;AAAA,UAAC,OAAK;AAAC,gBAAG,GAAG,MAAM,KAAK,IAAI,GAAE;AAAC,qBAAO;AAAA,YAAE;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAC,GAAE,QAAQ,MAAK,OAAM;AAAC,cAAG,CAAC,MAAK;AAAC,mBAAO;AAAA,UAAE;AAAC,cAAG,GAAG,OAAO,KAAK,IAAI,GAAE;AAAC,mBAAO;AAAA,UAAE,WAAS,GAAG,MAAM,KAAK,IAAI,GAAE;AAAC,gBAAG,GAAG,wBAAwB,KAAK,MAAI,OAAK,SAAO,MAAI,KAAI;AAAC,qBAAO;AAAA,YAAE;AAAA,UAAC;AAAC,iBAAO,GAAG,gBAAgB,MAAK,GAAG,wBAAwB,KAAK,CAAC;AAAA,QAAC,GAAE,cAAc,IAAGC,MAAI;AAAC,cAAG,CAAC,IAAG;AAAC,kBAAM,IAAI,GAAG,WAAWA,IAAG;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAE,GAAE,cAAa,MAAK,SAAQ;AAAC,mBAAQ,KAAG,GAAE,MAAI,GAAG,cAAa,MAAK;AAAC,gBAAG,CAAC,GAAG,QAAQ,EAAE,GAAE;AAAC,qBAAO;AAAA,YAAE;AAAA,UAAC;AAAC,gBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,QAAC,GAAE,iBAAiB,IAAG;AAAC,cAAI,SAAO,GAAG,UAAU,EAAE;AAAE,cAAG,CAAC,QAAO;AAAC,kBAAM,IAAI,GAAG,WAAW,CAAC;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAM,GAAE,WAAU,QAAI,GAAG,QAAQ,EAAE,GAAE,aAAa,QAAO,KAAG,IAAG;AAAC,iBAAO,MAAI,EAAE;AAAE,mBAAO,OAAO,OAAO,IAAI,GAAG,YAAS,MAAM;AAAE,cAAG,MAAI,IAAG;AAAC,iBAAG,GAAG,OAAO;AAAA,UAAC;AAAC,iBAAO,KAAG;AAAG,aAAG,QAAQ,EAAE,IAAE;AAAO,iBAAO;AAAA,QAAM,GAAE,YAAY,IAAG;AAAC,aAAG,QAAQ,EAAE,IAAE;AAAA,QAAI,GAAE,UAAU,YAAW,KAAG,IAAG;AAAC,cAAI,SAAO,GAAG,aAAa,YAAW,EAAE;AAAE,iBAAO,YAAY,MAAM,MAAM;AAAE,iBAAO;AAAA,QAAM,GAAE,UAAU,QAAO,MAAK,MAAK;AAAC,cAAI,UAAQ,QAAQ,WAAW;AAAQ,cAAI,MAAI,UAAQ,SAAO;AAAK,gCAAU,KAAK,SAAS;AAAQ,aAAG,cAAc,SAAQ,EAAE;AAAE,kBAAQ,KAAI,IAAI;AAAA,QAAC,GAAE,mBAAkB,EAAC,KAAK,QAAO;AAAC,cAAI,SAAO,GAAG,UAAU,OAAO,KAAK,IAAI;AAAE,iBAAO,aAAW,OAAO;AAAW,iBAAO,WAAW,OAAO,MAAM;AAAA,QAAC,GAAE,SAAQ;AAAC,gBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,QAAC,EAAC,GAAE,OAAM,SAAK,OAAK,GAAE,OAAM,SAAK,MAAI,KAAI,SAAQ,CAAC,IAAG,OAAK,MAAI,IAAE,IAAG,eAAe,KAAI,KAAI;AAAC,aAAG,QAAQ,GAAG,IAAE,EAAC,YAAW,IAAG;AAAA,QAAC,GAAE,WAAU,SAAK,GAAG,QAAQ,GAAG,GAAE,UAAU,OAAM;AAAC,cAAI,SAAO,CAAC;AAAE,cAAI,QAAM,CAAC,KAAK;AAAE,iBAAM,MAAM,QAAO;AAAC,gBAAI,IAAE,MAAM,IAAI;AAAE,mBAAO,KAAK,CAAC;AAAE,kBAAM,KAAK,GAAG,EAAE,MAAM;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAM,GAAE,OAAO,UAAS,UAAS;AAAC,cAAG,OAAO,YAAU,YAAW;AAAC,uBAAS;AAAS,uBAAS;AAAA,UAAK;AAAC,aAAG;AAAiB,cAAG,GAAG,iBAAe,GAAE;AAAC,gBAAI,YAAY,GAAG,cAAc,yEAAyE;AAAA,UAAC;AAAC,cAAI,SAAO,GAAG,UAAU,GAAG,KAAK,KAAK;AAAE,cAAI,YAAU;AAAE,mBAAS,WAAW,SAAQ;AAAC,mBAAO,GAAG,iBAAe,CAAC;AAAE,eAAG;AAAiB,mBAAO,SAAS,OAAO;AAAA,UAAC;AAAC,mBAAS,KAAK,SAAQ;AAAC,gBAAG,SAAQ;AAAC,kBAAG,CAAC,KAAK,SAAQ;AAAC,qBAAK,UAAQ;AAAK,uBAAO,WAAW,OAAO;AAAA,cAAC;AAAC;AAAA,YAAM;AAAC,gBAAG,EAAE,aAAW,OAAO,QAAO;AAAC,yBAAW,IAAI;AAAA,YAAC;AAAA,UAAC;AAAC,iBAAO,QAAQ,WAAO;AAAC,gBAAG,CAAC,MAAM,KAAK,QAAO;AAAC,qBAAO,KAAK,IAAI;AAAA,YAAC;AAAC,kBAAM,KAAK,OAAO,OAAM,UAAS,IAAI;AAAA,UAAC,CAAC;AAAA,QAAC,GAAE,MAAM,MAAK,MAAK,YAAW;AAAC,cAAG,OAAO,QAAM,UAAS;AAAC,kBAAM;AAAA,UAAI;AAAC,cAAI,OAAK,eAAa;AAAI,cAAI,SAAO,CAAC;AAAW,cAAI;AAAK,cAAG,QAAM,GAAG,MAAK;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC,WAAS,CAAC,QAAM,CAAC,QAAO;AAAC,gBAAI,SAAO,GAAG,WAAW,YAAW,EAAC,cAAa,MAAK,CAAC;AAAE,yBAAW,OAAO;AAAK,mBAAK,OAAO;AAAK,gBAAG,GAAG,aAAa,IAAI,GAAE;AAAC,oBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,YAAC;AAAC,gBAAG,CAAC,GAAG,MAAM,KAAK,IAAI,GAAE;AAAC,oBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,YAAC;AAAA,UAAC;AAAC,cAAI,QAAM,EAAC,MAAK,MAAK,YAAW,QAAO,CAAC,EAAC;AAAE,cAAI,YAAU,KAAK,MAAM,KAAK;AAAE,oBAAU,QAAM;AAAM,gBAAM,OAAK;AAAU,cAAG,MAAK;AAAC,eAAG,OAAK;AAAA,UAAS,WAAS,MAAK;AAAC,iBAAK,UAAQ;AAAM,gBAAG,KAAK,OAAM;AAAC,mBAAK,MAAM,OAAO,KAAK,KAAK;AAAA,YAAC;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAS,GAAE,QAAQ,YAAW;AAAC,cAAI,SAAO,GAAG,WAAW,YAAW,EAAC,cAAa,MAAK,CAAC;AAAE,cAAG,CAAC,GAAG,aAAa,OAAO,IAAI,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAI,OAAK,OAAO;AAAK,cAAI,QAAM,KAAK;AAAQ,cAAI,SAAO,GAAG,UAAU,KAAK;AAAE,iBAAO,KAAK,GAAG,SAAS,EAAE,QAAQ,UAAM;AAAC,gBAAI,UAAQ,GAAG,UAAU,IAAI;AAAE,mBAAM,SAAQ;AAAC,kBAAI,OAAK,QAAQ;AAAU,kBAAG,OAAO,SAAS,QAAQ,KAAK,GAAE;AAAC,mBAAG,YAAY,OAAO;AAAA,cAAC;AAAC,wBAAQ;AAAA,YAAI;AAAA,UAAC,CAAC;AAAE,eAAK,UAAQ;AAAK,cAAI,MAAI,KAAK,MAAM,OAAO,QAAQ,KAAK;AAAE,iBAAO,QAAM,EAAE;AAAE,eAAK,MAAM,OAAO,OAAO,KAAI,CAAC;AAAA,QAAC,GAAE,OAAO,QAAO,MAAK;AAAC,iBAAO,OAAO,SAAS,OAAO,QAAO,IAAI;AAAA,QAAC,GAAE,MAAM,MAAK,MAAK,KAAI;AAAC,cAAI,SAAO,GAAG,WAAW,MAAK,EAAC,QAAO,KAAI,CAAC;AAAE,cAAI,SAAO,OAAO;AAAK,cAAI,OAAK,KAAK,SAAS,IAAI;AAAE,cAAG,CAAC,MAAK;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,SAAO,OAAK,SAAO,MAAK;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAI,UAAQ,GAAG,UAAU,QAAO,IAAI;AAAE,cAAG,SAAQ;AAAC,kBAAM,IAAI,GAAG,WAAW,OAAO;AAAA,UAAC;AAAC,cAAG,CAAC,OAAO,SAAS,OAAM;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,iBAAO,OAAO,SAAS,MAAM,QAAO,MAAK,MAAK,GAAG;AAAA,QAAC,GAAE,OAAO,MAAK;AAAC,iBAAO,GAAG,WAAW,GAAG,WAAW,MAAK,EAAC,QAAO,KAAI,CAAC,EAAE,IAAI;AAAA,QAAC,GAAE,aAAa,QAAO;AAAC,iBAAO,GAAG,WAAW,OAAO,IAAI;AAAA,QAAC,GAAE,WAAW,MAAK;AAAC,cAAI,MAAI,EAAC,OAAM,MAAK,QAAO,MAAK,QAAO,KAAI,OAAM,KAAI,QAAO,KAAI,OAAM,GAAG,WAAU,OAAM,GAAG,YAAU,GAAE,MAAK,IAAG,OAAM,GAAE,SAAQ,IAAG;AAAE,cAAG,KAAK,SAAS,QAAO;AAAC,mBAAO,OAAO,KAAI,KAAK,SAAS,OAAO,KAAK,MAAM,KAAK,IAAI,CAAC;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAG,GAAE,OAAO,MAAK,OAAK,KAAI;AAAC,kBAAM;AAAK,kBAAM;AAAM,iBAAO,GAAG,MAAM,MAAK,MAAK,CAAC;AAAA,QAAC,GAAE,MAAM,MAAK,OAAK,KAAI;AAAC,kBAAM,MAAI;AAAI,kBAAM;AAAM,iBAAO,GAAG,MAAM,MAAK,MAAK,CAAC;AAAA,QAAC,GAAE,UAAU,MAAK,MAAK;AAAC,cAAI,OAAK,KAAK,MAAM,GAAG;AAAE,cAAI,IAAE;AAAG,mBAAQ,OAAO,MAAK;AAAC,gBAAG,CAAC,IAAI;AAAS,iBAAG,MAAI;AAAI,gBAAG;AAAC,iBAAG,MAAM,GAAE,IAAI;AAAA,YAAC,SAAO,GAAE;AAAC,kBAAG,EAAE,SAAO,GAAG,OAAM;AAAA,YAAC;AAAA,UAAC;AAAA,QAAC,GAAE,MAAM,MAAK,MAAK,KAAI;AAAC,cAAG,OAAO,OAAK,aAAY;AAAC,kBAAI;AAAK,mBAAK;AAAA,UAAG;AAAC,kBAAM;AAAK,iBAAO,GAAG,MAAM,MAAK,MAAK,GAAG;AAAA,QAAC,GAAE,QAAQ,SAAQ,SAAQ;AAAC,cAAG,CAAC,QAAQ,QAAQ,OAAO,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAI,SAAO,GAAG,WAAW,SAAQ,EAAC,QAAO,KAAI,CAAC;AAAE,cAAI,SAAO,OAAO;AAAK,cAAG,CAAC,QAAO;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAI,UAAQ,KAAK,SAAS,OAAO;AAAE,cAAI,UAAQ,GAAG,UAAU,QAAO,OAAO;AAAE,cAAG,SAAQ;AAAC,kBAAM,IAAI,GAAG,WAAW,OAAO;AAAA,UAAC;AAAC,cAAG,CAAC,OAAO,SAAS,SAAQ;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,iBAAO,OAAO,SAAS,QAAQ,QAAO,SAAQ,OAAO;AAAA,QAAC,GAAE,OAAO,UAAS,UAAS;AAAC,cAAI,cAAY,KAAK,QAAQ,QAAQ;AAAE,cAAI,cAAY,KAAK,QAAQ,QAAQ;AAAE,cAAI,WAAS,KAAK,SAAS,QAAQ;AAAE,cAAI,WAAS,KAAK,SAAS,QAAQ;AAAE,cAAI,QAAO,SAAQ;AAAQ,mBAAO,GAAG,WAAW,UAAS,EAAC,QAAO,KAAI,CAAC;AAAE,oBAAQ,OAAO;AAAK,mBAAO,GAAG,WAAW,UAAS,EAAC,QAAO,KAAI,CAAC;AAAE,oBAAQ,OAAO;AAAK,cAAG,CAAC,WAAS,CAAC,QAAQ,OAAM,IAAI,GAAG,WAAW,EAAE;AAAE,cAAG,QAAQ,UAAQ,QAAQ,OAAM;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAI,WAAS,GAAG,WAAW,SAAQ,QAAQ;AAAE,cAAI,WAAS,QAAQ,SAAS,UAAS,WAAW;AAAE,cAAG,SAAS,OAAO,CAAC,MAAI,KAAI;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,qBAAS,QAAQ,SAAS,UAAS,WAAW;AAAE,cAAG,SAAS,OAAO,CAAC,MAAI,KAAI;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAI;AAAS,cAAG;AAAC,uBAAS,GAAG,WAAW,SAAQ,QAAQ;AAAA,UAAC,SAAO,GAAE;AAAA,UAAC;AAAC,cAAG,aAAW,UAAS;AAAC;AAAA,UAAM;AAAC,cAAI,QAAM,GAAG,MAAM,SAAS,IAAI;AAAE,cAAI,UAAQ,GAAG,UAAU,SAAQ,UAAS,KAAK;AAAE,cAAG,SAAQ;AAAC,kBAAM,IAAI,GAAG,WAAW,OAAO;AAAA,UAAC;AAAC,oBAAQ,WAAS,GAAG,UAAU,SAAQ,UAAS,KAAK,IAAE,GAAG,UAAU,SAAQ,QAAQ;AAAE,cAAG,SAAQ;AAAC,kBAAM,IAAI,GAAG,WAAW,OAAO;AAAA,UAAC;AAAC,cAAG,CAAC,QAAQ,SAAS,QAAO;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,GAAG,aAAa,QAAQ,KAAG,YAAU,GAAG,aAAa,QAAQ,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,YAAU,SAAQ;AAAC,sBAAQ,GAAG,gBAAgB,SAAQ,GAAG;AAAE,gBAAG,SAAQ;AAAC,oBAAM,IAAI,GAAG,WAAW,OAAO;AAAA,YAAC;AAAA,UAAC;AAAC,aAAG,eAAe,QAAQ;AAAE,cAAG;AAAC,oBAAQ,SAAS,OAAO,UAAS,SAAQ,QAAQ;AAAE,qBAAS,SAAO;AAAA,UAAO,SAAO,GAAE;AAAC,kBAAM;AAAA,UAAC,UAAC;AAAQ,eAAG,YAAY,QAAQ;AAAA,UAAC;AAAA,QAAC,GAAE,MAAM,MAAK;AAAC,cAAI,SAAO,GAAG,WAAW,MAAK,EAAC,QAAO,KAAI,CAAC;AAAE,cAAI,SAAO,OAAO;AAAK,cAAI,OAAK,KAAK,SAAS,IAAI;AAAE,cAAI,OAAK,GAAG,WAAW,QAAO,IAAI;AAAE,cAAI,UAAQ,GAAG,UAAU,QAAO,MAAK,IAAI;AAAE,cAAG,SAAQ;AAAC,kBAAM,IAAI,GAAG,WAAW,OAAO;AAAA,UAAC;AAAC,cAAG,CAAC,OAAO,SAAS,OAAM;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,GAAG,aAAa,IAAI,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,iBAAO,SAAS,MAAM,QAAO,IAAI;AAAE,aAAG,YAAY,IAAI;AAAA,QAAC,GAAE,QAAQ,MAAK;AAAC,cAAI,SAAO,GAAG,WAAW,MAAK,EAAC,QAAO,KAAI,CAAC;AAAE,cAAI,OAAK,OAAO;AAAK,cAAI,UAAQ,GAAG,cAAc,KAAK,SAAS,SAAQ,EAAE;AAAE,iBAAO,QAAQ,IAAI;AAAA,QAAC,GAAE,OAAO,MAAK;AAAC,cAAI,SAAO,GAAG,WAAW,MAAK,EAAC,QAAO,KAAI,CAAC;AAAE,cAAI,SAAO,OAAO;AAAK,cAAG,CAAC,QAAO;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAI,OAAK,KAAK,SAAS,IAAI;AAAE,cAAI,OAAK,GAAG,WAAW,QAAO,IAAI;AAAE,cAAI,UAAQ,GAAG,UAAU,QAAO,MAAK,KAAK;AAAE,cAAG,SAAQ;AAAC,kBAAM,IAAI,GAAG,WAAW,OAAO;AAAA,UAAC;AAAC,cAAG,CAAC,OAAO,SAAS,QAAO;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,GAAG,aAAa,IAAI,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,iBAAO,SAAS,OAAO,QAAO,IAAI;AAAE,aAAG,YAAY,IAAI;AAAA,QAAC,GAAE,SAAS,MAAK;AAAC,cAAI,SAAO,GAAG,WAAW,IAAI;AAAE,cAAI,OAAK,OAAO;AAAK,cAAG,CAAC,MAAK;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,CAAC,KAAK,SAAS,UAAS;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,iBAAO,KAAK,SAAS,SAAS,IAAI;AAAA,QAAC,GAAE,KAAK,MAAK,YAAW;AAAC,cAAI,SAAO,GAAG,WAAW,MAAK,EAAC,QAAO,CAAC,WAAU,CAAC;AAAE,cAAI,OAAK,OAAO;AAAK,cAAI,UAAQ,GAAG,cAAc,KAAK,SAAS,SAAQ,EAAE;AAAE,iBAAO,QAAQ,IAAI;AAAA,QAAC,GAAE,MAAM,IAAG;AAAC,cAAI,SAAO,GAAG,iBAAiB,EAAE;AAAE,cAAI,OAAK,OAAO;AAAK,cAAI,UAAQ,OAAO,WAAW;AAAQ,cAAI,MAAI,UAAQ,SAAO;AAAK,gCAAU,KAAK,SAAS;AAAQ,aAAG,cAAc,SAAQ,EAAE;AAAE,iBAAO,QAAQ,GAAG;AAAA,QAAC,GAAE,MAAM,MAAK;AAAC,iBAAO,GAAG,KAAK,MAAK,IAAI;AAAA,QAAC,GAAE,QAAQ,QAAO,MAAK,MAAK,YAAW;AAAC,aAAG,UAAU,QAAO,MAAK,EAAC,MAAK,OAAK,OAAK,KAAK,OAAK,CAAC,MAAK,OAAM,KAAK,IAAI,GAAE,WAAU,CAAC;AAAA,QAAC,GAAE,MAAM,MAAK,MAAK,YAAW;AAAC,cAAI;AAAK,cAAG,OAAO,QAAM,UAAS;AAAC,gBAAI,SAAO,GAAG,WAAW,MAAK,EAAC,QAAO,CAAC,WAAU,CAAC;AAAE,mBAAK,OAAO;AAAA,UAAI,OAAK;AAAC,mBAAK;AAAA,UAAI;AAAC,aAAG,QAAQ,MAAK,MAAK,MAAK,UAAU;AAAA,QAAC,GAAE,OAAO,MAAK,MAAK;AAAC,aAAG,MAAM,MAAK,MAAK,IAAI;AAAA,QAAC,GAAE,OAAO,IAAG,MAAK;AAAC,cAAI,SAAO,GAAG,iBAAiB,EAAE;AAAE,aAAG,QAAQ,QAAO,OAAO,MAAK,MAAK,KAAK;AAAA,QAAC,GAAE,QAAQ,QAAO,MAAK,YAAW;AAAC,aAAG,UAAU,QAAO,MAAK,EAAC,WAAU,KAAK,IAAI,GAAE,WAAU,CAAC;AAAA,QAAC,GAAE,MAAM,MAAK,KAAI,KAAI,YAAW;AAAC,cAAI;AAAK,cAAG,OAAO,QAAM,UAAS;AAAC,gBAAI,SAAO,GAAG,WAAW,MAAK,EAAC,QAAO,CAAC,WAAU,CAAC;AAAE,mBAAK,OAAO;AAAA,UAAI,OAAK;AAAC,mBAAK;AAAA,UAAI;AAAC,aAAG,QAAQ,MAAK,MAAK,UAAU;AAAA,QAAC,GAAE,OAAO,MAAK,KAAI,KAAI;AAAC,aAAG,MAAM,MAAK,KAAI,KAAI,IAAI;AAAA,QAAC,GAAE,OAAO,IAAG,KAAI,KAAI;AAAC,cAAI,SAAO,GAAG,iBAAiB,EAAE;AAAE,aAAG,QAAQ,QAAO,OAAO,MAAK,KAAK;AAAA,QAAC,GAAE,WAAW,QAAO,MAAK,KAAI;AAAC,cAAG,GAAG,MAAM,KAAK,IAAI,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,CAAC,GAAG,OAAO,KAAK,IAAI,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAI,UAAQ,GAAG,gBAAgB,MAAK,GAAG;AAAE,cAAG,SAAQ;AAAC,kBAAM,IAAI,GAAG,WAAW,OAAO;AAAA,UAAC;AAAC,aAAG,UAAU,QAAO,MAAK,EAAC,MAAK,KAAI,WAAU,KAAK,IAAI,EAAC,CAAC;AAAA,QAAC,GAAE,SAAS,MAAK,KAAI;AAAC,cAAG,MAAI,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAI;AAAK,cAAG,OAAO,QAAM,UAAS;AAAC,gBAAI,SAAO,GAAG,WAAW,MAAK,EAAC,QAAO,KAAI,CAAC;AAAE,mBAAK,OAAO;AAAA,UAAI,OAAK;AAAC,mBAAK;AAAA,UAAI;AAAC,aAAG,WAAW,MAAK,MAAK,GAAG;AAAA,QAAC,GAAE,UAAU,IAAG,KAAI;AAAC,cAAI,SAAO,GAAG,iBAAiB,EAAE;AAAE,cAAG,MAAI,MAAI,OAAO,QAAM,aAAW,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,aAAG,WAAW,QAAO,OAAO,MAAK,GAAG;AAAA,QAAC,GAAE,MAAM,MAAK,OAAM,OAAM;AAAC,cAAI,SAAO,GAAG,WAAW,MAAK,EAAC,QAAO,KAAI,CAAC;AAAE,cAAI,OAAK,OAAO;AAAK,cAAI,UAAQ,GAAG,cAAc,KAAK,SAAS,SAAQ,EAAE;AAAE,kBAAQ,MAAK,EAAC,OAAM,MAAK,CAAC;AAAA,QAAC,GAAE,KAAK,MAAK,OAAM,OAAK,KAAI;AAAC,cAAG,SAAO,IAAG;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,kBAAM,OAAO,SAAO,WAAS,qBAAqB,KAAK,IAAE;AAAM,cAAG,QAAM,IAAG;AAAC,mBAAK,OAAK,OAAK;AAAA,UAAK,OAAK;AAAC,mBAAK;AAAA,UAAC;AAAC,cAAI;AAAK,cAAI;AAAU,cAAG,OAAO,QAAM,UAAS;AAAC,mBAAK;AAAA,UAAI,OAAK;AAAC,wBAAU,KAAK,SAAS,GAAG;AAAE,gBAAI,SAAO,GAAG,WAAW,MAAK,EAAC,QAAO,EAAE,QAAM,SAAQ,YAAW,KAAI,CAAC;AAAE,mBAAK,OAAO;AAAK,mBAAK,OAAO;AAAA,UAAI;AAAC,cAAI,UAAQ;AAAM,cAAG,QAAM,IAAG;AAAC,gBAAG,MAAK;AAAC,kBAAG,QAAM,KAAI;AAAC,sBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,cAAC;AAAA,YAAC,WAAS,WAAU;AAAC,oBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,YAAC,OAAK;AAAC,qBAAK,GAAG,MAAM,MAAK,OAAK,KAAI,CAAC;AAAE,wBAAQ;AAAA,YAAI;AAAA,UAAC;AAAC,cAAG,CAAC,MAAK;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,GAAG,SAAS,KAAK,IAAI,GAAE;AAAC,qBAAO,CAAC;AAAA,UAAG;AAAC,cAAG,QAAM,SAAO,CAAC,GAAG,MAAM,KAAK,IAAI,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,CAAC,SAAQ;AAAC,gBAAI,UAAQ,GAAG,QAAQ,MAAK,KAAK;AAAE,gBAAG,SAAQ;AAAC,oBAAM,IAAI,GAAG,WAAW,OAAO;AAAA,YAAC;AAAA,UAAC;AAAC,cAAG,QAAM,OAAK,CAAC,SAAQ;AAAC,eAAG,SAAS,MAAK,CAAC;AAAA,UAAC;AAAC,mBAAO,EAAE,MAAI,MAAI;AAAQ,cAAI,SAAO,GAAG,aAAa,EAAC,MAAK,MAAK,GAAG,QAAQ,IAAI,GAAE,OAAM,UAAS,MAAK,UAAS,GAAE,YAAW,KAAK,YAAW,UAAS,CAAC,GAAE,OAAM,MAAK,CAAC;AAAE,cAAG,OAAO,WAAW,MAAK;AAAC,mBAAO,WAAW,KAAK,MAAM;AAAA,UAAC;AAAC,cAAG,SAAQ;AAAC,eAAG,MAAM,MAAK,OAAK,GAAG;AAAA,UAAC;AAAC,cAAG,OAAO,cAAc,KAAG,EAAE,QAAM,IAAG;AAAC,gBAAG,EAAE,QAAQ,GAAG,YAAW;AAAC,iBAAG,UAAU,IAAI,IAAE;AAAA,YAAC;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAM,GAAE,MAAM,QAAO;AAAC,cAAG,GAAG,SAAS,MAAM,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,CAAC;AAAA,UAAC;AAAC,cAAG,OAAO,SAAS,QAAO,WAAS;AAAK,cAAG;AAAC,gBAAG,OAAO,WAAW,OAAM;AAAC,qBAAO,WAAW,MAAM,MAAM;AAAA,YAAC;AAAA,UAAC,SAAO,GAAE;AAAC,kBAAM;AAAA,UAAC,UAAC;AAAQ,eAAG,YAAY,OAAO,EAAE;AAAA,UAAC;AAAC,iBAAO,KAAG;AAAA,QAAI,GAAE,SAAS,QAAO;AAAC,iBAAO,OAAO,OAAK;AAAA,QAAI,GAAE,OAAO,QAAO,QAAO,QAAO;AAAC,cAAG,GAAG,SAAS,MAAM,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,CAAC;AAAA,UAAC;AAAC,cAAG,CAAC,OAAO,YAAU,CAAC,OAAO,WAAW,QAAO;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,iBAAO,WAAS,OAAO,WAAW,OAAO,QAAO,QAAO,MAAM;AAAE,iBAAO,WAAS,CAAC;AAAE,iBAAO,OAAO;AAAA,QAAQ,GAAE,KAAK,QAAO,QAAO,QAAO,QAAO,UAAS;AAAC,iBAAO,UAAQ,CAAC;AAAE,cAAG,SAAO,KAAG,WAAS,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,GAAG,SAAS,MAAM,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,CAAC;AAAA,UAAC;AAAC,eAAI,OAAO,QAAM,aAAW,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,CAAC;AAAA,UAAC;AAAC,cAAG,GAAG,MAAM,OAAO,KAAK,IAAI,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,CAAC,OAAO,WAAW,MAAK;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAI,UAAQ,OAAO,YAAU;AAAY,cAAG,CAAC,SAAQ;AAAC,uBAAS,OAAO;AAAA,UAAQ,WAAS,CAAC,OAAO,UAAS;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAI,YAAU,OAAO,WAAW,KAAK,QAAO,QAAO,QAAO,QAAO,QAAQ;AAAE,cAAG,CAAC,QAAQ,QAAO,YAAU;AAAU,iBAAO;AAAA,QAAS,GAAE,MAAM,QAAO,QAAO,QAAO,QAAO,UAAS,QAAO;AAAC,iBAAO,UAAQ,CAAC;AAAE,cAAG,SAAO,KAAG,WAAS,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,GAAG,SAAS,MAAM,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,CAAC;AAAA,UAAC;AAAC,eAAI,OAAO,QAAM,aAAW,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,CAAC;AAAA,UAAC;AAAC,cAAG,GAAG,MAAM,OAAO,KAAK,IAAI,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,CAAC,OAAO,WAAW,OAAM;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,OAAO,YAAU,OAAO,QAAM,MAAK;AAAC,eAAG,OAAO,QAAO,GAAE,CAAC;AAAA,UAAC;AAAC,cAAI,UAAQ,OAAO,YAAU;AAAY,cAAG,CAAC,SAAQ;AAAC,uBAAS,OAAO;AAAA,UAAQ,WAAS,CAAC,OAAO,UAAS;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAI,eAAa,OAAO,WAAW,MAAM,QAAO,QAAO,QAAO,QAAO,UAAS,MAAM;AAAE,cAAG,CAAC,QAAQ,QAAO,YAAU;AAAa,iBAAO;AAAA,QAAY,GAAE,KAAK,QAAO,QAAO,UAAS,MAAK,OAAM;AAAC,eAAI,OAAK,OAAK,MAAI,QAAM,OAAK,MAAI,OAAO,QAAM,aAAW,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,CAAC;AAAA,UAAC;AAAC,eAAI,OAAO,QAAM,aAAW,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,CAAC;AAAA,UAAC;AAAC,cAAG,CAAC,OAAO,WAAW,MAAK;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,CAAC,QAAO;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,iBAAO,OAAO,WAAW,KAAK,QAAO,QAAO,UAAS,MAAK,KAAK;AAAA,QAAC,GAAE,MAAM,QAAO,QAAO,QAAO,QAAO,WAAU;AAAC,iBAAO,UAAQ,CAAC;AAAE,cAAG,CAAC,OAAO,WAAW,OAAM;AAAC,mBAAO;AAAA,UAAC;AAAC,iBAAO,OAAO,WAAW,MAAM,QAAO,QAAO,QAAO,QAAO,SAAS;AAAA,QAAC,GAAE,MAAM,QAAO,KAAI,KAAI;AAAC,cAAG,CAAC,OAAO,WAAW,OAAM;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,iBAAO,OAAO,WAAW,MAAM,QAAO,KAAI,GAAG;AAAA,QAAC,GAAE,SAAS,MAAK,OAAK,CAAC,GAAE;AAAC,eAAK,QAAM,KAAK,SAAO;AAAE,eAAK,WAAS,KAAK,YAAU;AAAS,cAAG,KAAK,aAAW,UAAQ,KAAK,aAAW,UAAS;AAAC,kBAAM,IAAI,MAAM,0BAA0B,KAAK,QAAQ,GAAG;AAAA,UAAC;AAAC,cAAI;AAAI,cAAI,SAAO,GAAG,KAAK,MAAK,KAAK,KAAK;AAAE,cAAI,OAAK,GAAG,KAAK,IAAI;AAAE,cAAI,SAAO,KAAK;AAAK,cAAI,MAAI,IAAI,WAAW,MAAM;AAAE,aAAG,KAAK,QAAO,KAAI,GAAE,QAAO,CAAC;AAAE,cAAG,KAAK,aAAW,QAAO;AAAC,kBAAI,kBAAkB,GAAG;AAAA,UAAC,WAAS,KAAK,aAAW,UAAS;AAAC,kBAAI;AAAA,UAAG;AAAC,aAAG,MAAM,MAAM;AAAE,iBAAO;AAAA,QAAG,GAAE,UAAU,MAAK,MAAK,OAAK,CAAC,GAAE;AAAC,eAAK,QAAM,KAAK,SAAO;AAAI,cAAI,SAAO,GAAG,KAAK,MAAK,KAAK,OAAM,KAAK,IAAI;AAAE,cAAG,OAAO,QAAM,UAAS;AAAC,gBAAI,MAAI,IAAI,WAAW,gBAAgB,IAAI,IAAE,CAAC;AAAE,gBAAI,iBAAe,kBAAkB,MAAK,KAAI,GAAE,IAAI,MAAM;AAAE,eAAG,MAAM,QAAO,KAAI,GAAE,gBAAe,QAAU,KAAK,MAAM;AAAA,UAAC,WAAS,YAAY,OAAO,IAAI,GAAE;AAAC,eAAG,MAAM,QAAO,MAAK,GAAE,KAAK,YAAW,QAAU,KAAK,MAAM;AAAA,UAAC,OAAK;AAAC,kBAAM,IAAI,MAAM,uBAAuB;AAAA,UAAC;AAAC,aAAG,MAAM,MAAM;AAAA,QAAC,GAAE,KAAI,MAAI,GAAG,aAAY,MAAM,MAAK;AAAC,cAAI,SAAO,GAAG,WAAW,MAAK,EAAC,QAAO,KAAI,CAAC;AAAE,cAAG,OAAO,SAAO,MAAK;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,CAAC,GAAG,MAAM,OAAO,KAAK,IAAI,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAI,UAAQ,GAAG,gBAAgB,OAAO,MAAK,GAAG;AAAE,cAAG,SAAQ;AAAC,kBAAM,IAAI,GAAG,WAAW,OAAO;AAAA,UAAC;AAAC,aAAG,cAAY,OAAO;AAAA,QAAI,GAAE,2BAA0B;AAAC,aAAG,MAAM,MAAM;AAAE,aAAG,MAAM,OAAO;AAAE,aAAG,MAAM,gBAAgB;AAAA,QAAC,GAAE,uBAAsB;AAAC,aAAG,MAAM,MAAM;AAAE,aAAG,eAAe,GAAG,QAAQ,GAAE,CAAC,GAAE,EAAC,MAAK,MAAI,GAAE,OAAM,CAAC,QAAO,QAAO,QAAO,QAAO,QAAM,QAAO,QAAO,MAAI,EAAC,CAAC;AAAE,aAAG,MAAM,aAAY,GAAG,QAAQ,GAAE,CAAC,CAAC;AAAE,cAAI,SAAS,GAAG,QAAQ,GAAE,CAAC,GAAE,IAAI,eAAe;AAAE,cAAI,SAAS,GAAG,QAAQ,GAAE,CAAC,GAAE,IAAI,gBAAgB;AAAE,aAAG,MAAM,YAAW,GAAG,QAAQ,GAAE,CAAC,CAAC;AAAE,aAAG,MAAM,aAAY,GAAG,QAAQ,GAAE,CAAC,CAAC;AAAE,cAAI,eAAa,IAAI,WAAW,IAAI,GAAE,aAAW;AAAE,cAAI,aAAW,MAAI;AAAC,gBAAG,eAAa,GAAE;AAAC,yBAAW,YAAY;AAAE,2BAAW,aAAa;AAAA,YAAU;AAAC,mBAAO,aAAa,EAAE,UAAU;AAAA,UAAC;AAAE,aAAG,aAAa,QAAO,UAAS,UAAU;AAAE,aAAG,aAAa,QAAO,WAAU,UAAU;AAAE,aAAG,MAAM,UAAU;AAAE,aAAG,MAAM,cAAc;AAAA,QAAC,GAAE,2BAA0B;AAAC,aAAG,MAAM,OAAO;AAAE,cAAI,YAAU,GAAG,MAAM,YAAY;AAAE,aAAG,MAAM,eAAe;AAAE,aAAG,MAAM,EAAC,QAAO;AAAC,gBAAI,OAAK,GAAG,WAAW,WAAU,MAAK,OAAM,EAAE;AAAE,iBAAK,aAAW,EAAC,QAAO,MAAM,WAAW,OAAM;AAAE,iBAAK,WAAS,EAAC,OAAO,QAAO,MAAK;AAAC,kBAAI,KAAG,CAAC;AAAK,kBAAI,SAAO,GAAG,iBAAiB,EAAE;AAAE,kBAAI,MAAI,EAAC,QAAO,MAAK,OAAM,EAAC,YAAW,OAAM,GAAE,UAAS,EAAC,UAAS,MAAI,OAAO,KAAI,GAAE,IAAG,KAAG,EAAC;AAAE,kBAAI,SAAO;AAAI,qBAAO;AAAA,YAAG,GAAE,UAAS;AAAC,qBAAO,MAAM,KAAK,GAAG,QAAQ,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,GAAE,CAAC,MAAI,CAAC,EAAE,IAAI,CAAC,CAAC,GAAE,CAAC,MAAI,EAAE,SAAS,CAAC;AAAA,YAAC,EAAC;AAAE,mBAAO;AAAA,UAAI,EAAC,GAAE,CAAC,GAAE,eAAe;AAAA,QAAC,GAAE,sBAAsB,OAAM,QAAO,OAAM;AAAC,cAAG,OAAM;AAAC,eAAG,aAAa,QAAO,SAAQ,KAAK;AAAA,UAAC,OAAK;AAAC,eAAG,QAAQ,YAAW,YAAY;AAAA,UAAC;AAAC,cAAG,QAAO;AAAC,eAAG,aAAa,QAAO,UAAS,MAAK,MAAM;AAAA,UAAC,OAAK;AAAC,eAAG,QAAQ,YAAW,aAAa;AAAA,UAAC;AAAC,cAAG,OAAM;AAAC,eAAG,aAAa,QAAO,UAAS,MAAK,KAAK;AAAA,UAAC,OAAK;AAAC,eAAG,QAAQ,aAAY,aAAa;AAAA,UAAC;AAAC,cAAI,QAAM,GAAG,KAAK,cAAa,CAAC;AAAE,cAAI,SAAO,GAAG,KAAK,eAAc,CAAC;AAAE,cAAI,SAAO,GAAG,KAAK,eAAc,CAAC;AAAE,iBAAO,MAAM,OAAK,GAAE,6BAA6B,MAAM,EAAE,GAAG;AAAE,iBAAO,OAAO,OAAK,GAAE,8BAA8B,OAAO,EAAE,GAAG;AAAE,iBAAO,OAAO,OAAK,GAAE,8BAA8B,OAAO,EAAE,GAAG;AAAA,QAAC,GAAE,aAAY;AAAC,aAAG,YAAU,IAAI,MAAM,IAAI;AAAE,aAAG,MAAM,OAAM,CAAC,GAAE,GAAG;AAAE,aAAG,yBAAyB;AAAE,aAAG,qBAAqB;AAAE,aAAG,yBAAyB;AAAE,aAAG,cAAY,EAAC,MAAK;AAAA,QAAC,GAAE,KAAK,OAAM,QAAO,OAAM;AAAC,iBAAO,CAAC,GAAG,aAAY,8KAA8K;AAAE,aAAG,cAAY;AAAK,4BAAQ,OAAO,OAAO;AAAE,8BAAS,OAAO,QAAQ;AAAE,4BAAQ,OAAO,QAAQ;AAAE,aAAG,sBAAsB,OAAM,QAAO,KAAK;AAAA,QAAC,GAAE,OAAM;AAAC,aAAG,cAAY;AAAM,kBAAQ,CAAC;AAAE,mBAAQ,UAAU,GAAG,SAAQ;AAAC,gBAAG,QAAO;AAAC,iBAAG,MAAM,MAAM;AAAA,YAAC;AAAA,UAAC;AAAA,QAAC,GAAE,WAAW,MAAK,qBAAoB;AAAC,cAAI,MAAI,GAAG,YAAY,MAAK,mBAAmB;AAAE,cAAG,CAAC,IAAI,QAAO;AAAC,mBAAO;AAAA,UAAI;AAAC,iBAAO,IAAI;AAAA,QAAM,GAAE,YAAY,MAAK,qBAAoB;AAAC,cAAG;AAAC,gBAAI,SAAO,GAAG,WAAW,MAAK,EAAC,QAAO,CAAC,oBAAmB,CAAC;AAAE,mBAAK,OAAO;AAAA,UAAI,SAAO,GAAE;AAAA,UAAC;AAAC,cAAI,MAAI,EAAC,QAAO,OAAM,QAAO,OAAM,OAAM,GAAE,MAAK,MAAK,MAAK,MAAK,QAAO,MAAK,cAAa,OAAM,YAAW,MAAK,cAAa,KAAI;AAAE,cAAG;AAAC,gBAAI,SAAO,GAAG,WAAW,MAAK,EAAC,QAAO,KAAI,CAAC;AAAE,gBAAI,eAAa;AAAK,gBAAI,aAAW,OAAO;AAAK,gBAAI,eAAa,OAAO;AAAK,gBAAI,OAAK,KAAK,SAAS,IAAI;AAAE,qBAAO,GAAG,WAAW,MAAK,EAAC,QAAO,CAAC,oBAAmB,CAAC;AAAE,gBAAI,SAAO;AAAK,gBAAI,OAAK,OAAO;AAAK,gBAAI,SAAO,OAAO;AAAK,gBAAI,OAAK,OAAO,KAAK;AAAK,gBAAI,SAAO,OAAO,SAAO;AAAA,UAAG,SAAO,GAAE;AAAC,gBAAI,QAAM,EAAE;AAAA,UAAK;AAAC,iBAAO;AAAA,QAAG,GAAE,WAAW,QAAO,MAAK,SAAQ,UAAS;AAAC,mBAAO,OAAO,UAAQ,WAAS,SAAO,GAAG,QAAQ,MAAM;AAAE,cAAI,QAAM,KAAK,MAAM,GAAG,EAAE,QAAQ;AAAE,iBAAM,MAAM,QAAO;AAAC,gBAAI,OAAK,MAAM,IAAI;AAAE,gBAAG,CAAC,KAAK;AAAS,gBAAI,UAAQ,KAAK,MAAM,QAAO,IAAI;AAAE,gBAAG;AAAC,iBAAG,MAAM,OAAO;AAAA,YAAC,SAAO,GAAE;AAAC,kBAAG,EAAE,SAAO,GAAG,OAAM;AAAA,YAAC;AAAC,qBAAO;AAAA,UAAO;AAAC,iBAAO;AAAA,QAAO,GAAE,WAAW,QAAO,MAAK,YAAW,SAAQ,UAAS;AAAC,cAAI,OAAK,KAAK,MAAM,OAAO,UAAQ,WAAS,SAAO,GAAG,QAAQ,MAAM,GAAE,IAAI;AAAE,cAAI,OAAK,WAAW,SAAQ,QAAQ;AAAE,iBAAO,GAAG,OAAO,MAAK,IAAI;AAAA,QAAC,GAAE,eAAe,QAAO,MAAK,MAAK,SAAQ,UAAS,QAAO;AAAC,cAAI,OAAK;AAAK,cAAG,QAAO;AAAC,qBAAO,OAAO,UAAQ,WAAS,SAAO,GAAG,QAAQ,MAAM;AAAE,mBAAK,OAAK,KAAK,MAAM,QAAO,IAAI,IAAE;AAAA,UAAM;AAAC,cAAI,OAAK,WAAW,SAAQ,QAAQ;AAAE,cAAI,OAAK,GAAG,OAAO,MAAK,IAAI;AAAE,cAAG,MAAK;AAAC,gBAAG,OAAO,QAAM,UAAS;AAAC,kBAAI,MAAI,IAAI,MAAM,KAAK,MAAM;AAAE,uBAAQ,IAAE,GAAE,MAAI,KAAK,QAAO,IAAE,KAAI,EAAE,EAAE,KAAI,CAAC,IAAE,KAAK,WAAW,CAAC;AAAE,qBAAK;AAAA,YAAG;AAAC,eAAG,MAAM,MAAK,OAAK,GAAG;AAAE,gBAAI,SAAO,GAAG,KAAK,MAAK,GAAG;AAAE,eAAG,MAAM,QAAO,MAAK,GAAE,KAAK,QAAO,GAAE,MAAM;AAAE,eAAG,MAAM,MAAM;AAAE,eAAG,MAAM,MAAK,IAAI;AAAA,UAAC;AAAA,QAAC,GAAE,aAAa,QAAO,MAAK,OAAM,QAAO;AAPty6D;AAOuy6D,cAAI,OAAK,KAAK,MAAM,OAAO,UAAQ,WAAS,SAAO,GAAG,QAAQ,MAAM,GAAE,IAAI;AAAE,cAAI,OAAK,WAAW,CAAC,CAAC,OAAM,CAAC,CAAC,MAAM;AAAE,mBAAG,cAAa,UAAhB,GAAgB,QAAQ;AAAG,cAAI,MAAI,GAAG,QAAQ,GAAG,aAAa,SAAQ,CAAC;AAAE,aAAG,eAAe,KAAI,EAAC,KAAK,QAAO;AAAC,mBAAO,WAAS;AAAA,UAAK,GAAE,MAAM,QAAO;AAAC,gBAAG,QAAQ,QAAQ,QAAO;AAAC,qBAAO,EAAE;AAAA,YAAC;AAAA,UAAC,GAAE,KAAK,QAAO,QAAO,QAAO,QAAO,KAAI;AAAC,gBAAI,YAAU;AAAE,qBAAQ,IAAE,GAAE,IAAE,QAAO,KAAI;AAAC,kBAAI;AAAO,kBAAG;AAAC,yBAAO,MAAM;AAAA,cAAC,SAAO,GAAE;AAAC,sBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,cAAC;AAAC,kBAAG,WAAS,UAAW,cAAY,GAAE;AAAC,sBAAM,IAAI,GAAG,WAAW,CAAC;AAAA,cAAC;AAAC,kBAAG,WAAS,QAAM,WAAS,OAAU;AAAM;AAAY,qBAAO,SAAO,CAAC,IAAE;AAAA,YAAM;AAAC,gBAAG,WAAU;AAAC,qBAAO,KAAK,QAAM,KAAK,IAAI;AAAA,YAAC;AAAC,mBAAO;AAAA,UAAS,GAAE,MAAM,QAAO,QAAO,QAAO,QAAO,KAAI;AAAC,qBAAQ,IAAE,GAAE,IAAE,QAAO,KAAI;AAAC,kBAAG;AAAC,uBAAO,OAAO,SAAO,CAAC,CAAC;AAAA,cAAC,SAAO,GAAE;AAAC,sBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,cAAC;AAAA,YAAC;AAAC,gBAAG,QAAO;AAAC,qBAAO,KAAK,QAAM,OAAO,KAAK,QAAM,KAAK,IAAI;AAAA,YAAC;AAAC,mBAAO;AAAA,UAAC,EAAC,CAAC;AAAE,iBAAO,GAAG,MAAM,MAAK,MAAK,GAAG;AAAA,QAAC,GAAE,cAAc,KAAI;AAAC,cAAG,IAAI,YAAU,IAAI,YAAU,IAAI,QAAM,IAAI,SAAS,QAAO;AAAK,cAAG,OAAO,kBAAgB,aAAY;AAAC,kBAAM,IAAI,MAAM,kMAAkM;AAAA,UAAC,OAAK;AAAC,gBAAG;AAAC,kBAAI,WAAS,WAAW,IAAI,GAAG;AAAE,kBAAI,YAAU,IAAI,SAAS;AAAA,YAAM,SAAO,GAAE;AAAC,oBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,YAAC;AAAA,UAAC;AAAA,QAAC,GAAE,eAAe,QAAO,MAAK,KAAI,SAAQ,UAAS;AAAA,UAAC,MAAM,eAAc;AAAA,YAApB;AAAqB,iDAAY;AAAM,4CAAO,CAAC;AAAA;AAAA,YAAE,IAAI,KAAI;AAAC,kBAAG,MAAI,KAAK,SAAO,KAAG,MAAI,GAAE;AAAC,uBAAO;AAAA,cAAS;AAAC,kBAAI,cAAY,MAAI,KAAK;AAAU,kBAAI,WAAS,MAAI,KAAK,YAAU;AAAE,qBAAO,KAAK,OAAO,QAAQ,EAAE,WAAW;AAAA,YAAC;AAAA,YAAC,cAAc,QAAO;AAAC,mBAAK,SAAO;AAAA,YAAM;AAAA,YAAC,cAAa;AAAC,kBAAI,MAAI,IAAI;AAAe,kBAAI,KAAK,QAAO,KAAI,KAAK;AAAE,kBAAI,KAAK,IAAI;AAAE,kBAAG,EAAE,IAAI,UAAQ,OAAK,IAAI,SAAO,OAAK,IAAI,WAAS,KAAK,OAAM,IAAI,MAAM,mBAAiB,MAAI,eAAa,IAAI,MAAM;AAAE,kBAAI,aAAW,OAAO,IAAI,kBAAkB,gBAAgB,CAAC;AAAE,kBAAI;AAAO,kBAAI,kBAAgB,SAAO,IAAI,kBAAkB,eAAe,MAAI,WAAS;AAAQ,kBAAI,YAAU,SAAO,IAAI,kBAAkB,kBAAkB,MAAI,WAAS;AAAO,kBAAI,YAAU,OAAK;AAAK,kBAAG,CAAC,eAAe,aAAU;AAAW,kBAAI,QAAM,CAAC,MAAK,OAAK;AAAC,oBAAG,OAAK,GAAG,OAAM,IAAI,MAAM,oBAAkB,OAAK,OAAK,KAAG,0BAA0B;AAAE,oBAAG,KAAG,aAAW,EAAE,OAAM,IAAI,MAAM,UAAQ,aAAW,qCAAqC;AAAE,oBAAIC,OAAI,IAAI;AAAe,gBAAAA,KAAI,KAAK,OAAM,KAAI,KAAK;AAAE,oBAAG,eAAa,UAAU,CAAAA,KAAI,iBAAiB,SAAQ,WAAS,OAAK,MAAI,EAAE;AAAE,gBAAAA,KAAI,eAAa;AAAc,oBAAGA,KAAI,kBAAiB;AAAC,kBAAAA,KAAI,iBAAiB,oCAAoC;AAAA,gBAAC;AAAC,gBAAAA,KAAI,KAAK,IAAI;AAAE,oBAAG,EAAEA,KAAI,UAAQ,OAAKA,KAAI,SAAO,OAAKA,KAAI,WAAS,KAAK,OAAM,IAAI,MAAM,mBAAiB,MAAI,eAAaA,KAAI,MAAM;AAAE,oBAAGA,KAAI,aAAW,QAAU;AAAC,yBAAO,IAAI,WAAWA,KAAI,YAAU,CAAC,CAAC;AAAA,gBAAC;AAAC,uBAAO,mBAAmBA,KAAI,gBAAc,IAAG,IAAI;AAAA,cAAC;AAAE,kBAAIC,aAAU;AAAK,cAAAA,WAAU,cAAc,cAAU;AAAC,oBAAI,QAAM,WAAS;AAAU,oBAAI,OAAK,WAAS,KAAG,YAAU;AAAE,sBAAI,KAAK,IAAI,KAAI,aAAW,CAAC;AAAE,oBAAG,OAAOA,WAAU,OAAO,QAAQ,KAAG,aAAY;AAAC,kBAAAA,WAAU,OAAO,QAAQ,IAAE,MAAM,OAAM,GAAG;AAAA,gBAAC;AAAC,oBAAG,OAAOA,WAAU,OAAO,QAAQ,KAAG,YAAY,OAAM,IAAI,MAAM,eAAe;AAAE,uBAAOA,WAAU,OAAO,QAAQ;AAAA,cAAC,CAAC;AAAE,kBAAG,YAAU,CAAC,YAAW;AAAC,4BAAU,aAAW;AAAE,6BAAW,KAAK,OAAO,CAAC,EAAE;AAAO,4BAAU;AAAW,oBAAI,6EAA6E;AAAA,cAAC;AAAC,mBAAK,UAAQ;AAAW,mBAAK,aAAW;AAAU,mBAAK,cAAY;AAAA,YAAI;AAAA,YAAC,IAAI,SAAQ;AAAC,kBAAG,CAAC,KAAK,aAAY;AAAC,qBAAK,YAAY;AAAA,cAAC;AAAC,qBAAO,KAAK;AAAA,YAAO;AAAA,YAAC,IAAI,YAAW;AAAC,kBAAG,CAAC,KAAK,aAAY;AAAC,qBAAK,YAAY;AAAA,cAAC;AAAC,qBAAO,KAAK;AAAA,YAAU;AAAA,UAAC;AAAC,cAAG,OAAO,kBAAgB,aAAY;AAAC,gBAAG,CAAC,sBAAsB,OAAK;AAAsH,gBAAI,YAAU,IAAI;AAAe,gBAAI,aAAW,EAAC,UAAS,OAAM,UAAS,UAAS;AAAA,UAAC,OAAK;AAAC,gBAAI,aAAW,EAAC,UAAS,OAAM,IAAG;AAAA,UAAC;AAAC,cAAI,OAAK,GAAG,WAAW,QAAO,MAAK,YAAW,SAAQ,QAAQ;AAAE,cAAG,WAAW,UAAS;AAAC,iBAAK,WAAS,WAAW;AAAA,UAAQ,WAAS,WAAW,KAAI;AAAC,iBAAK,WAAS;AAAK,iBAAK,MAAI,WAAW;AAAA,UAAG;AAAC,iBAAO,iBAAiB,MAAK,EAAC,WAAU,EAAC,KAAI,WAAU;AAAC,mBAAO,KAAK,SAAS;AAAA,UAAM,EAAC,EAAC,CAAC;AAAE,cAAI,aAAW,CAAC;AAAE,cAAI,OAAK,OAAO,KAAK,KAAK,UAAU;AAAE,eAAK,QAAQ,SAAK;AAAC,gBAAI,KAAG,KAAK,WAAW,GAAG;AAAE,uBAAW,GAAG,IAAE,IAAI,SAAO;AAAC,iBAAG,cAAc,IAAI;AAAE,qBAAO,GAAG,GAAG,IAAI;AAAA,YAAC;AAAA,UAAC,CAAC;AAAE,mBAAS,YAAY,QAAO,QAAO,QAAO,QAAO,UAAS;AAAC,gBAAI,WAAS,OAAO,KAAK;AAAS,gBAAG,YAAU,SAAS,OAAO,QAAO;AAAE,gBAAI,OAAK,KAAK,IAAI,SAAS,SAAO,UAAS,MAAM;AAAE,mBAAO,QAAM,CAAC;AAAE,gBAAG,SAAS,OAAM;AAAC,uBAAQ,IAAE,GAAE,IAAE,MAAK,KAAI;AAAC,uBAAO,SAAO,CAAC,IAAE,SAAS,WAAS,CAAC;AAAA,cAAC;AAAA,YAAC,OAAK;AAAC,uBAAQ,IAAE,GAAE,IAAE,MAAK,KAAI;AAAC,uBAAO,SAAO,CAAC,IAAE,SAAS,IAAI,WAAS,CAAC;AAAA,cAAC;AAAA,YAAC;AAAC,mBAAO;AAAA,UAAI;AAAC,qBAAW,OAAK,CAAC,QAAO,QAAO,QAAO,QAAO,aAAW;AAAC,eAAG,cAAc,IAAI;AAAE,mBAAO,YAAY,QAAO,QAAO,QAAO,QAAO,QAAQ;AAAA,UAAC;AAAE,qBAAW,OAAK,CAAC,QAAO,QAAO,UAAS,MAAK,UAAQ;AAAC,eAAG,cAAc,IAAI;AAAE,gBAAI,MAAI,UAAU,MAAM;AAAE,gBAAG,CAAC,KAAI;AAAC,oBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,YAAC;AAAC,wBAAY,QAAO,OAAM,KAAI,QAAO,QAAQ;AAAE,mBAAM,EAAC,KAAI,WAAU,KAAI;AAAA,UAAC;AAAE,eAAK,aAAW;AAAW,iBAAO;AAAA,QAAI,GAAE,eAAc;AAAC,gBAAM,+DAA+D;AAAA,QAAC,GAAE,eAAc;AAAC,gBAAM,wDAAwD;AAAA,QAAC,GAAE,aAAY;AAAC,gBAAM,wDAAwD;AAAA,QAAC,GAAE,WAAU;AAAC,gBAAM,qDAAqD;AAAA,QAAC,GAAE,YAAW;AAAC,gBAAM,oEAAoE;AAAA,QAAC,GAAE,kBAAiB;AAAC,gBAAM,iEAAiE;AAAA,QAAC,EAAC;AAAE,YAAI,WAAS,EAAC,kBAAiB,GAAE,YAAY,OAAM,MAAK,YAAW;AAAC,cAAG,KAAK,MAAM,IAAI,GAAE;AAAC,mBAAO;AAAA,UAAI;AAAC,cAAI;AAAI,cAAG,UAAQ,MAAK;AAAC,kBAAI,GAAG,IAAI;AAAA,UAAC,OAAK;AAAC,gBAAI,YAAU,SAAS,gBAAgB,KAAK;AAAE,kBAAI,UAAU;AAAA,UAAI;AAAC,cAAG,KAAK,UAAQ,GAAE;AAAC,gBAAG,CAAC,YAAW;AAAC,oBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,YAAC;AAAC,mBAAO;AAAA,UAAG;AAAC,iBAAO,MAAI,MAAI;AAAA,QAAI,GAAE,UAAU,KAAI,MAAK;AAAC,2BAAiB,OAAK,KAAG,GAAE,KAAK,KAAI,CAAC;AAAE,2BAAiB,MAAI,KAAG,KAAG,GAAE,KAAK,MAAK,CAAC;AAAE,2BAAiB,MAAI,KAAG,KAAG,GAAE,KAAK,OAAM,CAAC;AAAE,2BAAiB,MAAI,MAAI,KAAG,GAAE,KAAK,KAAI,CAAC;AAAE,2BAAiB,MAAI,MAAI,KAAG,GAAE,KAAK,KAAI,CAAC;AAAE,2BAAiB,MAAI,MAAI,KAAG,GAAE,KAAK,MAAK,CAAC;AAAE,iBAAO,MAAI,MAAI,CAAC,IAAE,OAAO,KAAK,IAAI;AAAE,2BAAiB,MAAI,MAAI,KAAG,GAAE,MAAK,CAAC;AAAE,2BAAiB,MAAI,MAAI,KAAG,GAAE,KAAK,QAAO,CAAC;AAAE,cAAI,QAAM,KAAK,MAAM,QAAQ;AAAE,cAAI,QAAM,KAAK,MAAM,QAAQ;AAAE,cAAI,QAAM,KAAK,MAAM,QAAQ;AAAE,iBAAO,MAAI,MAAI,CAAC,IAAE,OAAO,KAAK,MAAM,QAAM,GAAG,CAAC;AAAE,2BAAiB,MAAI,MAAI,KAAG,GAAE,QAAM,MAAI,MAAI,KAAI,CAAC;AAAE,iBAAO,MAAI,MAAI,CAAC,IAAE,OAAO,KAAK,MAAM,QAAM,GAAG,CAAC;AAAE,2BAAiB,MAAI,MAAI,KAAG,GAAE,QAAM,MAAI,MAAI,KAAI,CAAC;AAAE,iBAAO,MAAI,MAAI,CAAC,IAAE,OAAO,KAAK,MAAM,QAAM,GAAG,CAAC;AAAE,2BAAiB,MAAI,MAAI,KAAG,GAAE,QAAM,MAAI,MAAI,KAAI,CAAC;AAAE,iBAAO,MAAI,MAAI,CAAC,IAAE,OAAO,KAAK,GAAG;AAAE,iBAAO;AAAA,QAAC,GAAE,YAAY,KAAI,OAAM;AAAC,2BAAiB,MAAI,KAAG,KAAG,GAAE,MAAM,OAAM,CAAC;AAAE,2BAAiB,MAAI,MAAI,KAAG,GAAE,MAAM,OAAM,CAAC;AAAE,2BAAiB,MAAI,KAAG,KAAG,GAAE,MAAM,QAAO,CAAC;AAAE,2BAAiB,MAAI,MAAI,KAAG,GAAE,MAAM,OAAM,CAAC;AAAE,2BAAiB,MAAI,MAAI,KAAG,GAAE,MAAM,QAAO,CAAC;AAAE,2BAAiB,MAAI,MAAI,KAAG,GAAE,MAAM,OAAM,CAAC;AAAE,2BAAiB,MAAI,MAAI,KAAG,GAAE,MAAM,OAAM,CAAC;AAAE,2BAAiB,MAAI,MAAI,KAAG,GAAE,MAAM,MAAK,CAAC;AAAE,2BAAiB,MAAI,MAAI,KAAG,GAAE,MAAM,OAAM,CAAC;AAAE,2BAAiB,MAAI,MAAI,KAAG,GAAE,MAAM,SAAQ,CAAC;AAAA,QAAC,GAAE,QAAQ,MAAK,QAAO,KAAI,OAAM,QAAO;AAAC,cAAG,CAAC,GAAG,OAAO,OAAO,KAAK,IAAI,GAAE;AAAC,kBAAM,IAAI,GAAG,WAAW,EAAE;AAAA,UAAC;AAAC,cAAG,QAAM,GAAE;AAAC,mBAAO;AAAA,UAAC;AAAC,cAAI,SAAO,OAAO,MAAM,MAAK,OAAK,GAAG;AAAE,aAAG,MAAM,QAAO,QAAO,QAAO,KAAI,KAAK;AAAA,QAAC,GAAE,gBAAgB,IAAG;AAAC,cAAI,SAAO,GAAG,iBAAiB,EAAE;AAAE,iBAAO;AAAA,QAAM,GAAE,SAAQ,QAAU,OAAO,KAAI;AAAC,cAAI,MAAI,aAAa,GAAG;AAAE,iBAAO;AAAA,QAAG,EAAC;AAAE,iBAAS,mBAAmB,IAAG,KAAI,SAAQ;AAAC,mBAAS,UAAQ;AAAQ,cAAG;AAAC,gBAAI,SAAO,SAAS,gBAAgB,EAAE;AAAE,oBAAO,KAAI;AAAA,cAAC,KAAK,GAAE;AAAC,oBAAI,MAAI,kBAAkB;AAAE,oBAAG,MAAI,GAAE;AAAC,yBAAM;AAAA,gBAAG;AAAC,uBAAM,GAAG,QAAQ,GAAG,GAAE;AAAC;AAAA,gBAAK;AAAC,oBAAI;AAAU,4BAAU,GAAG,UAAU,QAAO,GAAG;AAAE,uBAAO,UAAU;AAAA,cAAE;AAAA,cAAC,KAAK;AAAA,cAAE,KAAK;AAAE,uBAAO;AAAA,cAAE,KAAK;AAAE,uBAAO,OAAO;AAAA,cAAM,KAAK,GAAE;AAAC,oBAAI,MAAI,kBAAkB;AAAE,uBAAO,SAAO;AAAI,uBAAO;AAAA,cAAC;AAAA,cAAC,KAAK,IAAG;AAAC,oBAAI,MAAI,kBAAkB;AAAE,oBAAI,SAAO;AAAE,iCAAiB,MAAI,UAAQ,KAAG,GAAE,GAAE,CAAC;AAAE,uBAAO;AAAA,cAAC;AAAA,cAAC,KAAK;AAAA,cAAG,KAAK;AAAG,uBAAO;AAAA,YAAC;AAAC,mBAAM;AAAA,UAAG,SAAO,GAAE;AAAC,gBAAG,OAAO,MAAI,eAAa,EAAE,EAAE,SAAO,cAAc,OAAM;AAAE,mBAAM,CAAC,EAAE;AAAA,UAAK;AAAA,QAAC;AAAC,iBAAS,iBAAiB,IAAG,IAAG,SAAQ;AAAC,mBAAS,UAAQ;AAAQ,cAAG;AAAC,gBAAI,SAAO,SAAS,gBAAgB,EAAE;AAAE,oBAAO,IAAG;AAAA,cAAC,KAAK,OAAM;AAAC,oBAAG,CAAC,OAAO,IAAI,QAAM;AAAI,uBAAO;AAAA,cAAC;AAAA,cAAC,KAAK,OAAM;AAAC,oBAAG,CAAC,OAAO,IAAI,QAAM;AAAI,oBAAG,OAAO,IAAI,IAAI,cAAa;AAAC,sBAAI,UAAQ,OAAO,IAAI,IAAI,aAAa,MAAM;AAAE,sBAAI,OAAK,kBAAkB;AAAE,mCAAiB,QAAM,KAAG,GAAE,QAAQ,WAAS,GAAE,CAAC;AAAE,mCAAiB,OAAK,KAAG,KAAG,GAAE,QAAQ,WAAS,GAAE,CAAC;AAAE,mCAAiB,OAAK,KAAG,KAAG,GAAE,QAAQ,WAAS,GAAE,CAAC;AAAE,mCAAiB,OAAK,MAAI,KAAG,GAAE,QAAQ,WAAS,GAAE,CAAC;AAAE,2BAAQ,IAAE,GAAE,IAAE,IAAG,KAAI;AAAC,oCAAgB,OAAK,IAAE,IAAG,QAAQ,KAAK,CAAC,KAAG,GAAE,CAAC;AAAA,kBAAC;AAAC,yBAAO;AAAA,gBAAC;AAAC,uBAAO;AAAA,cAAC;AAAA,cAAC,KAAK;AAAA,cAAM,KAAK;AAAA,cAAM,KAAK,OAAM;AAAC,oBAAG,CAAC,OAAO,IAAI,QAAM;AAAI,uBAAO;AAAA,cAAC;AAAA,cAAC,KAAK;AAAA,cAAM,KAAK;AAAA,cAAM,KAAK,OAAM;AAAC,oBAAG,CAAC,OAAO,IAAI,QAAM;AAAI,oBAAG,OAAO,IAAI,IAAI,cAAa;AAAC,sBAAI,OAAK,kBAAkB;AAAE,sBAAI,UAAQ,gBAAgB,QAAM,KAAG,GAAE,GAAE,CAAC;AAAE,sBAAI,UAAQ,gBAAgB,OAAK,KAAG,KAAG,GAAE,GAAE,CAAC;AAAE,sBAAI,UAAQ,gBAAgB,OAAK,KAAG,KAAG,GAAE,GAAE,CAAC;AAAE,sBAAI,UAAQ,gBAAgB,OAAK,MAAI,KAAG,GAAE,GAAE,CAAC;AAAE,sBAAI,OAAK,CAAC;AAAE,2BAAQ,IAAE,GAAE,IAAE,IAAG,KAAI;AAAC,yBAAK,KAAK,eAAe,OAAK,IAAE,IAAG,GAAE,CAAC,CAAC;AAAA,kBAAC;AAAC,yBAAO,OAAO,IAAI,IAAI,aAAa,OAAO,KAAI,IAAG,EAAC,SAAQ,SAAQ,SAAQ,SAAQ,KAAI,CAAC;AAAA,gBAAC;AAAC,uBAAO;AAAA,cAAC;AAAA,cAAC,KAAK,OAAM;AAAC,oBAAG,CAAC,OAAO,IAAI,QAAM;AAAI,oBAAI,OAAK,kBAAkB;AAAE,iCAAiB,QAAM,KAAG,GAAE,GAAE,CAAC;AAAE,uBAAO;AAAA,cAAC;AAAA,cAAC,KAAK,OAAM;AAAC,oBAAG,CAAC,OAAO,IAAI,QAAM;AAAI,uBAAM;AAAA,cAAG;AAAA,cAAC,KAAK,OAAM;AAAC,oBAAI,OAAK,kBAAkB;AAAE,uBAAO,GAAG,MAAM,QAAO,IAAG,IAAI;AAAA,cAAC;AAAA,cAAC,KAAK,OAAM;AAAC,oBAAG,CAAC,OAAO,IAAI,QAAM;AAAI,oBAAG,OAAO,IAAI,IAAI,kBAAiB;AAAC,sBAAI,UAAQ,OAAO,IAAI,IAAI,iBAAiB,OAAO,GAAG;AAAE,sBAAI,OAAK,kBAAkB;AAAE,mCAAiB,QAAM,KAAG,GAAE,QAAQ,CAAC,GAAE,CAAC;AAAE,mCAAiB,OAAK,KAAG,KAAG,GAAE,QAAQ,CAAC,GAAE,CAAC;AAAA,gBAAC;AAAC,uBAAO;AAAA,cAAC;AAAA,cAAC,KAAK,OAAM;AAAC,oBAAG,CAAC,OAAO,IAAI,QAAM;AAAI,uBAAO;AAAA,cAAC;AAAA,cAAC,KAAK,OAAM;AAAC,oBAAG,CAAC,OAAO,IAAI,QAAM;AAAI,uBAAO;AAAA,cAAC;AAAA,cAAC;AAAQ,uBAAM;AAAA,YAAG;AAAA,UAAC,SAAO,GAAE;AAAC,gBAAG,OAAO,MAAI,eAAa,EAAE,EAAE,SAAO,cAAc,OAAM;AAAE,mBAAM,CAAC,EAAE;AAAA,UAAK;AAAA,QAAC;AAAC,iBAAS,kBAAkB,OAAM,MAAK,OAAM,SAAQ;AAAC,mBAAS,UAAQ;AAAQ,cAAG;AAAC,mBAAK,SAAS,OAAO,IAAI;AAAE,mBAAK,SAAS,YAAY,OAAM,IAAI;AAAE,gBAAI,OAAK,UAAQ,kBAAkB,IAAE;AAAE,mBAAO,GAAG,KAAK,MAAK,OAAM,IAAI,EAAE;AAAA,UAAE,SAAO,GAAE;AAAC,gBAAG,OAAO,MAAI,eAAa,EAAE,EAAE,SAAO,cAAc,OAAM;AAAE,mBAAM,CAAC,EAAE;AAAA,UAAK;AAAA,QAAC;AAAC,YAAI,aAAW,MAAI,MAAM,4BAA4B;AAAE,YAAI,aAAW,MAAI;AAAU,YAAI,aAAW,UAAM;AAAC,cAAI,IAAE,WAAW;AAAO,cAAI,SAAO,OAAK,EAAE,aAAW,SAAO,QAAM;AAAE,cAAG;AAAC,uBAAW,KAAK,KAAK;AAAE,8BAAkB;AAAE,mBAAO;AAAA,UAAC,SAAO,GAAE;AAAC,gBAAI,2CAA2C,EAAE,UAAU,aAAa,IAAI,0BAA0B,CAAC,EAAE;AAAA,UAAC;AAAA,QAAC;AAAE,YAAI,0BAAwB,mBAAe;AAAC,cAAI,UAAQ,OAAO;AAAO,6BAAiB;AAAE,iBAAO,gBAAc,OAAO;AAAE,cAAI,cAAY,WAAW;AAAE,cAAG,gBAAc,aAAY;AAAC,gBAAI,oCAAoC,aAAa,4BAA4B,WAAW,SAAS;AAAE,mBAAO;AAAA,UAAK;AAAC,mBAAQ,UAAQ,GAAE,WAAS,GAAE,WAAS,GAAE;AAAC,gBAAI,oBAAkB,WAAS,IAAE,MAAG;AAAS,gCAAkB,KAAK,IAAI,mBAAkB,gBAAc,SAAS;AAAE,gBAAI,UAAQ,KAAK,IAAI,aAAY,YAAY,KAAK,IAAI,eAAc,iBAAiB,GAAE,KAAK,CAAC;AAAE,gBAAI,cAAY,WAAW,OAAO;AAAE,gBAAG,aAAY;AAAC,qBAAO;AAAA,YAAI;AAAA,UAAC;AAAC,cAAI,gCAAgC,OAAO,aAAa,OAAO,4BAA4B;AAAE,iBAAO;AAAA,QAAK;AAAE,YAAI,MAAI,CAAC;AAAE,YAAI,oBAAkB,MAAI,eAAa;AAAiB,YAAI,gBAAc,MAAI;AAAC,cAAG,CAAC,cAAc,SAAQ;AAAC,gBAAI,QAAM,OAAO,aAAW,YAAU,UAAU,aAAW,UAAU,UAAU,CAAC,KAAG,KAAK,QAAQ,KAAI,GAAG,IAAE;AAAS,gBAAI,MAAI,EAAC,MAAK,YAAW,SAAQ,YAAW,MAAK,KAAI,KAAI,KAAI,MAAK,kBAAiB,MAAK,MAAK,GAAE,kBAAkB,EAAC;AAAE,qBAAQ,KAAK,KAAI;AAAC,kBAAG,IAAI,CAAC,MAAI,OAAU,QAAO,IAAI,CAAC;AAAA,kBAAO,KAAI,CAAC,IAAE,IAAI,CAAC;AAAA,YAAC;AAAC,gBAAI,UAAQ,CAAC;AAAE,qBAAQ,KAAK,KAAI;AAAC,sBAAQ,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE;AAAA,YAAC;AAAC,0BAAc,UAAQ;AAAA,UAAO;AAAC,iBAAO,cAAc;AAAA,QAAO;AAAE,YAAI,gBAAc,CAAC,KAAI,WAAS;AAAC,mBAAQ,IAAE,GAAE,IAAE,IAAI,QAAO,EAAE,GAAE;AAAC,mBAAO,IAAI,WAAW,CAAC,OAAK,IAAI,WAAW,CAAC,IAAE,IAAI;AAAE,4BAAgB,UAAS,IAAI,WAAW,CAAC,GAAE,CAAC;AAAA,UAAC;AAAC,0BAAgB,QAAO,GAAE,CAAC;AAAA,QAAC;AAAE,YAAI,eAAa,CAAC,WAAU,gBAAc;AAAC,cAAI,UAAQ;AAAE,wBAAc,EAAE,QAAQ,CAAC,QAAO,MAAI;AAAC,gBAAI,MAAI,cAAY;AAAQ,6BAAiB,YAAU,IAAE,KAAG,KAAG,GAAE,KAAI,CAAC;AAAE,0BAAc,QAAO,GAAG;AAAE,uBAAS,OAAO,SAAO;AAAA,UAAC,CAAC;AAAE,iBAAO;AAAA,QAAC;AAAE,YAAI,qBAAmB,CAAC,gBAAe,sBAAoB;AAAC,cAAI,UAAQ,cAAc;AAAE,2BAAiB,kBAAgB,KAAG,GAAE,QAAQ,QAAO,CAAC;AAAE,cAAI,UAAQ;AAAE,kBAAQ,QAAQ,YAAQ,WAAS,OAAO,SAAO,CAAC;AAAE,2BAAiB,qBAAmB,KAAG,GAAE,SAAQ,CAAC;AAAE,iBAAO;AAAA,QAAC;AAAE,iBAAS,UAAU,IAAG;AAAC,cAAG;AAAC,gBAAI,SAAO,SAAS,gBAAgB,EAAE;AAAE,eAAG,MAAM,MAAM;AAAE,mBAAO;AAAA,UAAC,SAAO,GAAE;AAAC,gBAAG,OAAO,MAAI,eAAa,EAAE,EAAE,SAAO,cAAc,OAAM;AAAE,mBAAO,EAAE;AAAA,UAAK;AAAA,QAAC;AAAC,YAAI,UAAQ,CAAC,QAAO,KAAI,QAAO,WAAS;AAAC,cAAI,MAAI;AAAE,mBAAQ,IAAE,GAAE,IAAE,QAAO,KAAI;AAAC,gBAAI,MAAI,gBAAgB,OAAK,KAAG,GAAE,GAAE,CAAC;AAAE,gBAAI,MAAI,gBAAgB,MAAI,KAAG,KAAG,GAAE,GAAE,CAAC;AAAE,mBAAK;AAAE,gBAAI,OAAK,GAAG,KAAK,QAAO,OAAM,KAAI,KAAI,MAAM;AAAE,gBAAG,OAAK,EAAE,QAAM;AAAG,mBAAK;AAAK,gBAAG,OAAK,IAAI;AAAM,gBAAG,OAAO,UAAQ,aAAY;AAAC,wBAAQ;AAAA,YAAI;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAG;AAAE,iBAAS,SAAS,IAAG,KAAI,QAAO,MAAK;AAAC,cAAG;AAAC,gBAAI,SAAO,SAAS,gBAAgB,EAAE;AAAE,gBAAI,MAAI,QAAQ,QAAO,KAAI,MAAM;AAAE,6BAAiB,QAAM,KAAG,GAAE,KAAI,CAAC;AAAE,mBAAO;AAAA,UAAC,SAAO,GAAE;AAAC,gBAAG,OAAO,MAAI,eAAa,EAAE,EAAE,SAAO,cAAc,OAAM;AAAE,mBAAO,EAAE;AAAA,UAAK;AAAA,QAAC;AAAC,YAAI,YAAU;AAAiB,YAAI,YAAU;AAAkB,YAAI,qBAAmB,SAAK,MAAI,aAAW,MAAI,YAAU,MAAI,OAAO,GAAG;AAAE,iBAAS,SAAS,IAAG,QAAO,QAAO,WAAU;AAAC,mBAAO,mBAAmB,MAAM;AAAE,cAAG;AAAC,gBAAG,MAAM,MAAM,EAAE,QAAO;AAAG,gBAAI,SAAO,SAAS,gBAAgB,EAAE;AAAE,eAAG,OAAO,QAAO,QAAO,MAAM;AAAE,mBAAO,aAAW,CAAC,IAAE,OAAO,OAAO,QAAQ;AAAE,gBAAG,OAAO,YAAU,WAAS,KAAG,WAAS,EAAE,QAAO,WAAS;AAAK,mBAAO;AAAA,UAAC,SAAO,GAAE;AAAC,gBAAG,OAAO,MAAI,eAAa,EAAE,EAAE,SAAO,cAAc,OAAM;AAAE,mBAAO,EAAE;AAAA,UAAK;AAAA,QAAC;AAAC,YAAI,WAAS,CAAC,QAAO,KAAI,QAAO,WAAS;AAAC,cAAI,MAAI;AAAE,mBAAQ,IAAE,GAAE,IAAE,QAAO,KAAI;AAAC,gBAAI,MAAI,gBAAgB,OAAK,KAAG,GAAE,GAAE,CAAC;AAAE,gBAAI,MAAI,gBAAgB,MAAI,KAAG,KAAG,GAAE,GAAE,CAAC;AAAE,mBAAK;AAAE,gBAAI,OAAK,GAAG,MAAM,QAAO,OAAM,KAAI,KAAI,MAAM;AAAE,gBAAG,OAAK,EAAE,QAAM;AAAG,mBAAK;AAAK,gBAAG,OAAK,KAAI;AAAC;AAAA,YAAK;AAAC,gBAAG,OAAO,UAAQ,aAAY;AAAC,wBAAQ;AAAA,YAAI;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAG;AAAE,iBAAS,UAAU,IAAG,KAAI,QAAO,MAAK;AAAC,cAAG;AAAC,gBAAI,SAAO,SAAS,gBAAgB,EAAE;AAAE,gBAAI,MAAI,SAAS,QAAO,KAAI,MAAM;AAAE,6BAAiB,QAAM,KAAG,GAAE,KAAI,CAAC;AAAE,mBAAO;AAAA,UAAC,SAAO,GAAE;AAAC,gBAAG,OAAO,MAAI,eAAa,EAAE,EAAE,SAAO,cAAc,OAAM;AAAE,mBAAO,EAAE;AAAA,UAAK;AAAA,QAAC;AAAC,YAAI,WAAS,WAAO;AAAC,cAAI,OAAK,OAAO,MAAI,KAAK;AAAE,iBAAO,MAAK,kCAAgC,QAAM,4BAA4B;AAAE,iBAAO;AAAA,QAAI;AAAE,YAAI,qBAAmB,CAAC,OAAM,WAAS;AAAC,iBAAO,MAAM,UAAQ,GAAE,iFAAiF;AAAE,gBAAM,IAAI,OAAM,MAAM;AAAA,QAAC;AAAE,YAAI,eAAa,CAAC,KAAI,QAAO,oBAAkB;AAAC,iBAAO,OAAO,mBAAiB,UAAS,2HAA2H;AAAE,iBAAO,kBAAkB,KAAI,QAAO,QAAO,eAAe;AAAA,QAAC;AAAE,YAAI,aAAW,QAAI,yBAAyB,EAAE;AAAE,YAAI,sBAAoB,SAAK;AAAC,cAAI,OAAK,gBAAgB,GAAG,IAAE;AAAE,cAAI,MAAI,WAAW,IAAI;AAAE,uBAAa,KAAI,KAAI,IAAI;AAAE,iBAAO;AAAA,QAAG;AAAE,YAAI,QAAM,CAAC,OAAM,YAAW,UAAS,MAAK,SAAO;AAAC,cAAI,MAAI,EAAC,QAAO,SAAK;AAAC,gBAAIC,OAAI;AAAE,gBAAG,QAAM,QAAM,QAAM,UAAW,QAAM,GAAE;AAAC,cAAAA,OAAI,oBAAoB,GAAG;AAAA,YAAC;AAAC,mBAAOA;AAAA,UAAG,GAAE,OAAM,SAAK;AAAC,gBAAIA,OAAI,WAAW,IAAI,MAAM;AAAE,+BAAmB,KAAIA,IAAG;AAAE,mBAAOA;AAAA,UAAG,EAAC;AAAE,mBAAS,mBAAmBA,MAAI;AAAC,gBAAG,eAAa,UAAS;AAAC,qBAAO,aAAaA,IAAG;AAAA,YAAC;AAAC,gBAAG,eAAa,UAAU,QAAO,QAAQA,IAAG;AAAE,mBAAOA;AAAA,UAAG;AAAC,cAAI,OAAK,SAAS,KAAK;AAAE,cAAI,QAAM,CAAC;AAAE,cAAI,QAAM;AAAE,iBAAO,eAAa,SAAQ,oCAAoC;AAAE,cAAG,MAAK;AAAC,qBAAQ,IAAE,GAAE,IAAE,KAAK,QAAO,KAAI;AAAC,kBAAI,YAAU,IAAI,SAAS,CAAC,CAAC;AAAE,kBAAG,WAAU;AAAC,oBAAG,UAAQ,EAAE,SAAM,UAAU;AAAE,sBAAM,CAAC,IAAE,UAAU,KAAK,CAAC,CAAC;AAAA,cAAC,OAAK;AAAC,sBAAM,CAAC,IAAE,KAAK,CAAC;AAAA,cAAC;AAAA,YAAC;AAAA,UAAC;AAAC,cAAI,MAAI,KAAK,GAAG,KAAK;AAAE,mBAAS,OAAOA,MAAI;AAAC,gBAAG,UAAQ,EAAE,cAAa,KAAK;AAAE,mBAAO,mBAAmBA,IAAG;AAAA,UAAC;AAAC,gBAAI,OAAO,GAAG;AAAE,iBAAO;AAAA,QAAG;AAAE,YAAI,QAAM,CAAC,OAAM,YAAW,UAAS,SAAO,IAAI,SAAO,MAAM,OAAM,YAAW,UAAS,MAAK,IAAI;AAAE,WAAG,sBAAoB;AAAuB,WAAG,WAAW;AAAE,iBAAS,yBAAwB;AAAC,4BAAkB,eAAe;AAAA,QAAC;AAAC,YAAI,cAAY,EAAC,mBAAkB,oBAAmB,iBAAgB,kBAAiB,kBAAiB,mBAAkB,WAAU,YAAW,YAAW,wBAAuB,yBAAwB,aAAY,cAAa,mBAAkB,oBAAmB,UAAS,WAAU,SAAQ,UAAS,SAAQ,UAAS,UAAS,WAAU,SAAQ;AAAE,YAAI,cAAY,MAAM,WAAW;AAAE,YAAI,qBAAmB,oBAAoB,qBAAoB,CAAC;AAAE,YAAI,YAAU,OAAO,WAAW,IAAE,oBAAoB,YAAW,CAAC;AAAE,YAAI,QAAM,OAAO,OAAO,IAAE,oBAAoB,QAAO,CAAC;AAAE,YAAI,qBAAmB,OAAO,oBAAoB,IAAE,oBAAoB,qBAAoB,CAAC;AAAE,YAAI,oBAAkB,OAAO,mBAAmB,IAAE,oBAAoB,oBAAmB,CAAC;AAAE,YAAI,eAAa,OAAO,cAAc,IAAE,oBAAoB,eAAc,CAAC;AAAE,YAAI,aAAW,OAAO,YAAY,IAAE,oBAAoB,aAAY,CAAC;AAAE,YAAI,oBAAkB,OAAO,mBAAmB,IAAE,oBAAoB,oBAAmB,CAAC;AAAE,YAAI,eAAa,OAAO,cAAc,IAAE,oBAAoB,eAAc,CAAC;AAAE,YAAI,uBAAqB,OAAO,sBAAsB,IAAE,oBAAoB,uBAAsB,CAAC;AAAE,YAAI,UAAQ,OAAO,SAAS,IAAE,oBAAoB,UAAS,CAAC;AAAE,YAAI,gBAAc,OAAO,eAAe,IAAE,oBAAoB,gBAAe,CAAC;AAAE,YAAI,cAAY,OAAO,aAAa,IAAE,oBAAoB,cAAa,CAAC;AAAE,YAAI,cAAY,OAAO,aAAa,IAAE,oBAAoB,cAAa,CAAC;AAAE,YAAI,iBAAe,OAAO,gBAAgB,IAAE,oBAAoB,iBAAgB,CAAC;AAAE,YAAI,aAAW,OAAO,YAAY,IAAE,oBAAoB,aAAY,CAAC;AAAE,YAAI,UAAQ,oBAAoB,UAAS,CAAC;AAAE,YAAI,YAAU,oBAAoB,YAAW,CAAC;AAAE,YAAI,QAAM,oBAAoB,QAAO,CAAC;AAAE,YAAI,2BAAyB,oBAAoB,2BAA0B,CAAC;AAAE,YAAI,yBAAuB,YAAY,uBAAuB;AAAE,YAAI,6BAA2B,YAAY,2BAA2B;AAAE,YAAI,6BAA2B,YAAY,2BAA2B;AAAE,YAAI,4BAA0B,YAAY,0BAA0B;AAAE,YAAI,6BAA2B,YAAY,2BAA2B;AAAE,YAAI,2BAAyB,YAAY,yBAAyB;AAAE,YAAI,gCAA8B,YAAY,8BAA8B;AAAE,eAAO,OAAO,IAAE;AAAM,eAAO,OAAO,IAAE;AAAM,eAAO,UAAU,IAAE;AAAS,eAAO,UAAU,IAAE;AAAS,eAAO,cAAc,IAAE;AAAa,eAAO,cAAc,IAAE;AAAa,eAAO,iBAAiB,IAAE;AAAgB,YAAI,wBAAsB,CAAC,iBAAgB,wBAAuB,0BAAyB,wBAAuB,0BAAyB,kBAAiB,kBAAiB,uBAAsB,8BAA6B,uBAAsB,eAAc,eAAc,UAAS,aAAY,aAAY,aAAY,aAAY,gBAAe,iBAAgB,iBAAgB,iBAAgB,WAAU,cAAa,0BAAyB,gBAAe,WAAU,mBAAkB,oBAAmB,wBAAuB,uBAAsB,oBAAmB,aAAY,eAAc,mBAAkB,qBAAoB,aAAY,iBAAgB,gBAAe,aAAY,cAAa,eAAc,gBAAe,cAAa,iBAAgB,kBAAiB,oBAAmB,2BAA0B,qBAAoB,kBAAiB,sBAAqB,eAAc,kBAAiB,kBAAiB,UAAS,UAAS,gBAAe,oBAAmB,iBAAgB,iBAAgB,iBAAgB,oBAAmB,iBAAgB,iBAAgB,oBAAmB,mBAAkB,4BAA2B,0BAAyB,mBAAkB,yBAAwB,sBAAqB,8BAA6B,8BAA6B,2BAA0B,8BAA6B,kCAAiC,0CAAyC,6BAA4B,qCAAoC,qBAAoB,kCAAiC,0CAAyC,iCAAgC,yCAAwC,8BAA6B,sCAAqC,2BAA0B,oCAAmC,yBAAwB,gBAAe,yCAAwC,uBAAsB,kCAAiC,0CAAyC,yCAAwC,sBAAqB,iCAAgC,yCAAwC,8BAA6B,wBAAuB,gCAA+B,qCAAoC,wBAAuB,WAAU,gCAA+B,wBAAuB,wBAAuB,gBAAe,gBAAe,6BAA4B,kBAAiB,0BAAyB,0BAAyB,kBAAiB,uBAAsB,6BAA4B,yBAAwB,wBAAuB,uBAAsB,cAAa,eAAc,iBAAgB,uBAAsB,iBAAgB,qBAAoB,mCAAkC,cAAa,gBAAe,YAAW,WAAU,mBAAkB,oBAAmB,aAAY,gBAAe,uBAAsB,0BAAyB,qBAAoB,uCAAsC,wCAAuC,mCAAkC,iCAAgC,yCAAwC,iCAAgC,mCAAkC,sBAAqB,iCAAgC,kCAAiC,kCAAiC,6BAA4B,2BAA0B,8CAA6C,wBAAuB,kCAAiC,gCAA+B,gBAAe,8BAA6B,sBAAqB,gBAAe,eAAc,YAAW,uBAAsB,sBAAqB,YAAW,YAAW,YAAY;AAAE,8BAAsB,QAAQ,oBAAoB;AAAE,YAAI,oBAAkB,CAAC,OAAM,oBAAmB,uBAAsB,OAAM,OAAM,YAAW,SAAQ,cAAa,eAAc,oBAAmB,oBAAmB,aAAY,aAAY,sBAAqB,aAAY,gBAAe,cAAa,eAAc,cAAa,cAAa,cAAa,OAAM,eAAc,YAAW,OAAM,aAAY,WAAU,UAAS,YAAW,sBAAqB,WAAU,qBAAoB,aAAY,eAAc,aAAY,aAAY,iBAAgB,eAAc,gBAAe,YAAW,oBAAmB,uBAAsB,UAAS,QAAO,WAAU,eAAc,qBAAoB,qBAAoB,sBAAqB,iBAAgB,gBAAe,uBAAsB,sBAAqB,YAAW,sBAAqB,yBAAwB,6BAA4B,2BAA0B,gBAAe,cAAa,iBAAgB,WAAU,YAAW,kBAAiB,cAAa,kBAAiB,yBAAwB,oBAAmB,cAAa,0BAAyB,iBAAgB,mBAAkB,WAAU,+BAA8B,QAAO,sBAAqB,mBAAkB,iCAAgC,8BAA6B,YAAW,kBAAiB,0BAAyB,wBAAuB,cAAa,2BAA0B,oBAAmB,iBAAgB,mBAAkB,eAAc,MAAK,qBAAoB,qBAAoB,SAAQ,OAAM,UAAS,UAAS,wBAAuB,6BAA4B,2BAA0B,MAAK,MAAK,QAAO,OAAM,QAAO,YAAW,OAAM,WAAU,gBAAe,uBAAsB,SAAQ,UAAU;AAAE,0BAAkB,QAAQ,uBAAuB;AAAE,YAAI;AAAU,iBAAS,iBAAgB;AAAC,iCAAuB;AAAE,2BAAiB;AAAA,QAAC;AAAC,iBAAS,MAAK;AAAC,cAAG,kBAAgB,GAAE;AAAC,oCAAsB;AAAI;AAAA,UAAM;AAAC,yBAAe;AAAE,iBAAO;AAAE,cAAG,kBAAgB,GAAE;AAAC,oCAAsB;AAAI;AAAA,UAAM;AAAC,mBAAS,QAAO;AAAC,mBAAO,CAAC,SAAS;AAAE,wBAAU;AAAK,mBAAO,WAAW,IAAE;AAAK,gBAAG,MAAM;AAAO,wBAAY;AAAE,gCAAoB,MAAM;AAAE,mBAAO,sBAAsB,IAAI;AAAE,+BAAmB,sBAAsB;AAAE,mBAAO,CAAC,OAAO,OAAO,GAAE,0GAA0G;AAAE,oBAAQ;AAAA,UAAC;AAAC,cAAG,OAAO,WAAW,GAAE;AAAC,mBAAO,WAAW,EAAE,YAAY;AAAE,uBAAW,MAAI;AAAC,yBAAW,MAAI,OAAO,WAAW,EAAE,EAAE,GAAE,CAAC;AAAE,oBAAM;AAAA,YAAC,GAAE,CAAC;AAAA,UAAC,OAAK;AAAC,kBAAM;AAAA,UAAC;AAAC,2BAAiB;AAAA,QAAC;AAAC,YAAG,OAAO,SAAS,GAAE;AAAC,cAAG,OAAO,OAAO,SAAS,KAAG,WAAW,QAAO,SAAS,IAAE,CAAC,OAAO,SAAS,CAAC;AAAE,iBAAM,OAAO,SAAS,EAAE,SAAO,GAAE;AAAC,mBAAO,SAAS,EAAE,IAAI,EAAE;AAAA,UAAC;AAAA,QAAC;AAAC,2BAAmB,SAAS;AAAE,YAAI;AAAE,oBAAU;AAAa,mBAAU,QAAQ,OAAO,KAAK,MAAM,GAAE;AAAC,cAAG,EAAE,QAAQ,YAAW;AAAC,mBAAO,eAAe,WAAU,MAAK,EAAC,cAAa,MAAK,MAAK;AAAC,oBAAM,+BAA+B,IAAI,kHAAkH;AAAA,YAAC,EAAC,CAAC;AAAA,UAAC;AAAA,QAAC;AAGhqsF,eAAO;AAAA,MACT;AAAA,IAEA,GAAG;AACH,KAAC,MAAM;AAGL,UAAI,4BAA4B;AAChC,6BAAuB,SAAS,KAAK;AACnC,YAAI,WAAY,OAAM,IAAI,MAAM,+EAA+E;AAC/G,eAAO,0BAA0B,GAAG;AAAA,MACtC;AAAA,IACF,GAAG;AACH,QAAI,OAAO,YAAY,YAAY,OAAO,WAAW,UAAU;AAC7D,aAAO,UAAU;AAGjB,aAAO,QAAQ,UAAU;AAAA,IAC3B,WAAW,OAAO,WAAW,cAAc,OAAO,KAAK;AACrD,aAAO,CAAC,GAAG,MAAM,oBAAoB;AAAA;AAAA;;;ACbhC,IAAK,SAAL,kBAAKC,YAAL;AACL,EAAAA,gBAAA,SAAM,KAAN;AACA,EAAAA,gBAAA,UAAO,KAAP;AACA,EAAAA,gBAAA,aAAU,KAAV;AACA,EAAAA,gBAAA,WAAQ,KAAR;AACA,EAAAA,gBAAA,UAAO,KAAP;AACA,EAAAA,gBAAA,aAAU,KAAV;AACA,EAAAA,gBAAA,YAAS,KAAT;AACA,EAAAA,gBAAA,YAAS,KAAT;AACA,EAAAA,gBAAA,aAAU,KAAV;AACA,EAAAA,gBAAA,WAAQ,KAAR;AACA,EAAAA,gBAAA,eAAY,MAAZ;AACA,EAAAA,gBAAA,eAAY,MAAZ;AACA,EAAAA,gBAAA,YAAS,MAAT;AAbU,SAAAA;AAAA,GAAA;AAiBL,IAAK,cAAL,kBAAKC,iBAAL;AACL,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,UAAO;AACP,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,mBAAgB;AAChB,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,eAAY;AACZ,EAAAA,aAAA,gBAAa;AAXH,SAAAA;AAAA,GAAA;AAeL,IAAK,WAAL,kBAAKC,cAAL;AACL,EAAAA,oBAAA,eAAY,KAAZ;AACA,EAAAA,oBAAA,aAAU,KAAV;AACA,EAAAA,oBAAA,kBAAe,KAAf;AACA,EAAAA,oBAAA,cAAW,MAAX;AACA,EAAAA,oBAAA,WAAQ,MAAR;AALU,SAAAA;AAAA,GAAA;AA0BL,IAAM,WAAN,MAAe;AAAA;AAAA;AAAA;AAAA,EAcpB,YAAY,WAAW,IAAI;AAb3B,SAAQ,SAAgC;AACxC,SAAQ,aAA+B;AACvC,SAAQ,cAAgC;AACxC,SAAQ,aAA+B;AACvC,SAAQ,gBAAoC;AAC5C,SAAQ,oBAA2C;AACnD,SAAQ,YAA6B;AAErC,SAAQ,cAAc;AAMpB,SAAK,WAAW;AAAA,EAClB;AAAA,EAEQ,mBAAyB;AAC/B,QAAI,CAAC,KAAK,eAAe,CAAC,KAAK,QAAQ;AACrC,YAAM,IAAI,MAAM,4DAA4D;AAAA,IAC9E;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAsB;AAC1B,QAAI,KAAK,aAAa;AACpB;AAAA,IACF;AAEA,QAAI;AAEF,UAAI;AACJ,UAAI,OAAO,WAAW,aAAa;AACjC,cAAM,MAAM,MAAM;AAClB,wBAAgB,IAAI;AAAA,MACtB,OAAO;AAEL,wBAAgB;AAAA,MAClB;AAEA,YAAM,SAAS,MAAM,cAAc;AAEnC,UAAI,CAAC,QAAQ;AACX,cAAM,IAAI,MAAM,6CAA6C;AAAA,MAC/D;AAEA,WAAK,SAAS;AAGd,WAAK,aAAa,OAAO,MAAiB,cAAc,UAAU,CAAC,UAAU,UAAU,UAAU,UAAU,QAAQ,CAAC;AACpH,WAAK,cAAc,OAAO,MAAiB,eAAe,UAAU,CAAC,UAAU,UAAU,UAAU,QAAQ,CAAC;AAC5G,WAAK,aAAa,OAAO,MAAiB,cAAc,UAAU,CAAC,UAAU,UAAU,UAAU,UAAU,UAAU,QAAQ,CAAC;AAC9H,WAAK,gBAAgB,OAAO,MAAmB,iBAAiB,UAAU,CAAC,UAAU,UAAU,UAAU,UAAU,UAAU,QAAQ,CAAC;AACtI,WAAK,oBAAoB,OAAO,MAAsB,qBAAqB,MAAM,CAAC,QAAQ,CAAC;AAC3F,WAAK,YAAY,OAAO,MAAgB,aAAa,MAAM,CAAC,CAAC;AAG7D,UAAI,KAAK,UAAU;AACjB,cAAM,UAAU,OAAO,QAAQ,KAAK,SAAS,SAAS,CAAC;AACvD,YAAI,CAAC,SAAS;AACZ,gBAAM,IAAI,MAAM,8CAA8C;AAAA,QAChE;AACA,eAAO,aAAa,KAAK,UAAU,SAAS,KAAK,SAAS,SAAS,CAAC;AACpE,YAAI,KAAK,mBAAmB;AAC1B,eAAK,kBAAkB,OAAO;AAAA,QAChC;AACA,eAAO,MAAM,OAAO;AAAA,MACtB;AAEA,WAAK,cAAc;AAAA,IACrB,SAAS,OAAO;AACd,cAAQ,MAAM,gDAAgD,KAAK;AACnE,YAAM;AAAA,IACR;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,MAAoB;AAC/B,SAAK,iBAAiB;AACtB,QAAI,CAAC,KAAK,YAAY;AACpB,YAAM,IAAI,MAAM,+CAA+C;AAAA,IACjE;AAGA,UAAM,OAAO,KAAK,eAAe;AACjC,UAAM,QAAQ,KAAK,YAAY,IAAI;AACnC,UAAM,MAAM,KAAK,WAAW;AAC5B,UAAM,OAAO,KAAK,YAAY,IAAI,KAAK,cAAc,IAAI,KAAK,KAAK,cAAc,IAAI;AAGrF,WAAO,KAAK,WAAW,MAAM,OAAO,KAAK,MAAM,CAAC;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA,EAKA,wBAAwB,QAAgB,QAAgB,QAAQ,mBAAoC;AAClG,SAAK,iBAAiB;AACtB,QAAI,CAAC,KAAK,eAAe,CAAC,KAAK,QAAQ;AACrC,YAAM,IAAI,MAAM,2CAA2C;AAAA,IAC7D;AAEA,UAAM,YAAY,KAAK,OAAO,QAAQ,IAAI,CAAC;AAC3C,QAAI,CAAC,WAAW;AACd,YAAM,IAAI,MAAM,+CAA+C;AAAA,IACjE;AAEA,QAAI;AACF,YAAM,MAAM,KAAK,YAAY,QAAQ,QAAQ,OAAO,SAAS;AAE7D,UAAI,MAAM,GAAG;AACX,cAAM,IAAI,MAAM,sDAAsD,GAAG,EAAE;AAAA,MAC7E;AAEA,YAAM,WAA2B;AAAA,QAC/B,WAAW,KAAK,OAAO,SAAS,WAAW,QAAQ;AAAA,QACnD,UAAU,KAAK,OAAO,SAAS,YAAY,GAAG,QAAQ;AAAA,QACtD,UAAU,KAAK,OAAO,SAAS,YAAY,IAAI,QAAQ;AAAA,MACzD;AAEA,UAAI,QAAQ,gBAAgB;AAC1B,iBAAS,iBAAiB,KAAK,OAAO,SAAS,YAAY,IAAI,QAAQ;AACvE,iBAAS,gBAAgB,KAAK,OAAO,SAAS,YAAY,IAAI,QAAQ;AACtE,iBAAS,gBAAgB,KAAK,OAAO,SAAS,YAAY,IAAI,QAAQ;AAAA,MACxE;AAEA,aAAO;AAAA,IACT,UAAE;AACA,WAAK,OAAO,MAAM,SAAS;AAAA,IAC7B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAgB,QAAgB,UAAkB,WAAmB,OAAoB,oBAA8B;AACrH,SAAK,iBAAiB;AACtB,QAAI,CAAC,KAAK,cAAc,CAAC,KAAK,QAAQ;AACpC,YAAM,IAAI,MAAM,2CAA2C;AAAA,IAC7D;AAGA,QAAI,WAAW,OAAO,WAAW,IAAI;AACnC,YAAM,IAAI,MAAM,6CAA6C;AAAA,IAC/D;AACA,QAAI,YAAY,QAAQ,YAAY,KAAK;AACvC,YAAM,IAAI,MAAM,gDAAgD;AAAA,IAClE;AAGA,UAAM,cAAc,KAAK,MAAM;AAC/B,UAAM,YAAY,KAAK,OAAO,QAAQ,UAAU;AAEhD,QAAI,CAAC,WAAW;AACd,YAAM,IAAI,MAAM,0BAA0B;AAAA,IAC5C;AAGA,UAAM,YAAY;AAClB,UAAM,WAAW,YAAa,KAAK;AAEnC,QAAI;AAEF,YAAM,MAAM,KAAK,WAAW,QAAQ,UAAU,WAAW,KAAK,SAAS,GAAG,WAAW,QAAQ;AAE7F,UAAI,MAAM,GAAG;AACX,cAAM,IAAI,MAAM,6CAA6C,GAAG,EAAE;AAAA,MACpE;AAGA,YAAM,SAAmB,CAAC;AAC1B,eAAS,IAAI,GAAG,IAAI,IAAI,KAAK;AAC3B,cAAM,QAAQ,KAAK,OAAO,SAAS,YAAY,IAAI,GAAG,QAAQ;AAC9D,eAAO,KAAK,KAAK;AAAA,MACnB;AAEA,YAAM,YAAY,KAAK,OAAO,SAAS,UAAU,QAAQ;AACzD,YAAM,KAAK,KAAK,OAAO,SAAS,WAAW,GAAG,QAAQ;AAEtD,aAAO,EAAE,WAAW,IAAI,OAAO;AAAA,IACjC,UAAE;AAEA,WAAK,OAAO,MAAM,SAAS;AAAA,IAC7B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,QAAc;AACZ,QAAI,KAAK,eAAe,KAAK,WAAW;AACtC,WAAK,UAAU;AACf,WAAK,cAAc;AACnB,WAAK,SAAS;AAAA,IAChB;AAAA,EACF;AACF;;;ACvQA,IAAI,WAA4B;AAKhC,eAAsB,YAAY,UAAkC;AAClE,MAAI;AACF,QAAI,UAAU;AACZ;AAAA,IACF;AAEA,eAAW,IAAI,SAAS,YAAY,EAAE;AACtC,UAAM,SAAS,KAAK;AAAA,EACtB,SAAS,OAAO;AACd,YAAQ,MAAM,uCAAuC,KAAK;AAC1D,UAAM;AAAA,EACR;AACF;AAKA,eAAsB,4BAA4B,MAAqD;AACrG,MAAI;AACF,wBAAoB;AAEpB,UAAM,SAAS,SAAU,aAAa,IAAI;AAC1C,UAAM,UAAU;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,UAAM,YAA4C,CAAC;AACnD,eAAW,CAAC,MAAM,EAAE,KAAK,OAAO,QAAQ,OAAO,GAAG;AAChD,UAAI;AACF,kBAAU,IAAI,IAAI,SAAU,wBAAwB,QAAQ,EAAE;AAAA,MAChE,SAAS,OAAO;AACd,cAAM,IAAI,MAAM,oCAAoC,IAAI,KAAK,KAAK,EAAE;AAAA,MACtE;AAAA,IACF;AAEA,WAAO;AAAA,EACT,SAAS,OAAO;AACd,YAAQ,MAAM,0CAA0C,KAAK;AAC7D,UAAM;AAAA,EACR;AACF;AAKA,eAAsB,gBACpB,MACA,UACA,WACA,aACiB;AACjB,MAAI;AACF,wBAAoB;AAEpB,UAAM,SAAS,SAAU,aAAa,IAAI;AAC1C,WAAO,SAAU,gBAAgB,QAAQ,UAAU,WAAW,WAAW;AAAA,EAC3E,SAAS,OAAO;AACd,YAAQ,MAAM,6BAA6B,KAAK;AAChD,UAAM;AAAA,EACR;AACF;AAKO,SAAS,gBAAsB;AACpC,MAAI,UAAU;AACZ,QAAI;AACF,eAAS,MAAM;AACf,iBAAW;AAAA,IACb,SAAS,OAAO;AACd,cAAQ,MAAM,kCAAkC,KAAK;AACrD,YAAM;AAAA,IACR;AAAA,EACF;AACF;AAEA,SAAS,sBAA4B;AACnC,MAAI,CAAC,UAAU;AACb,UAAM,IAAI,MAAM,4DAA4D;AAAA,EAC9E;AACF;;;ACtEA,SAAS,eAAe,SAAkC;AACxD,MAAI,EAAE,QAAQ,gBAAgB,SAAS,MAAM,QAAQ,KAAK,QAAQ,CAAC,GAAG;AACpE,UAAM,IAAI,MAAM,uBAAuB;AAAA,EACzC;AAEA,MAAI,OAAO,QAAQ,aAAa,YAAY,QAAQ,WAAW,OAAO,QAAQ,WAAW,IAAI;AAC3F,UAAM,IAAI,MAAM,sDAAsD;AAAA,EACxE;AAEA,MAAI,OAAO,QAAQ,cAAc,YAAY,QAAQ,YAAY,QAAQ,QAAQ,YAAY,KAAK;AAChG,UAAM,IAAI,MAAM,yDAAyD;AAAA,EAC3E;AAEA,MAAI,OAAO,QAAQ,aAAa,YAAY,QAAQ,WAAW,OAAO,QAAQ,WAAW,IAAI;AAC3F,UAAM,IAAI,MAAM,+CAA+C;AAAA,EACjE;AACF;AAQA,eAAsB,cAAc,SAAiD;AACnF,MAAI;AAEF,mBAAe,OAAO;AAGtB,UAAM,YAAY,IAAI,KAAK,QAAQ,IAAI;AACvC,UAAM,UAAU,IAAI,KAAK,UAAU,QAAQ,IAAK,QAAQ,WAAW,KAAK,KAAK,GAAK;AAGlF,UAAM,UAAU,MAAM,4BAA4B,OAAO;AACzD,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI,MAAM,yCAAyC;AAAA,IAC3D;AAGA,UAAM,SAAS,MAAM;AAAA,MACnB;AAAA,MACA,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AACA,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI,MAAM,4BAA4B;AAAA,IAC9C;AAEA,WAAO;AAAA,MACL,SAAS;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,EACF,SAAS,OAAO;AACd,YAAQ,MAAM,kCAAkC,KAAK;AACrD,UAAM;AAAA,EACR;AACF;AAQO,SAAS,oBAAoB,gBAAgC;AAClE,QAAM,UAAU,KAAK,MAAM,cAAc;AACzC,QAAM,UAAU,KAAK,OAAO,iBAAiB,WAAW,EAAE;AAC1D,SAAO,GAAG,OAAO,OAAI,QAAQ,SAAS,EAAE,SAAS,GAAG,GAAG,CAAC;AAC1D;AAQO,SAAS,kBAAkB,WAKhC;AACA,QAAM,QAAQ;AAAA,IACZ;AAAA,IAAS;AAAA,IAAU;AAAA,IAAU;AAAA,IAC7B;AAAA,IAAO;AAAA,IAAS;AAAA,IAAS;AAAA,IACzB;AAAA,IAAe;AAAA,IAAa;AAAA,IAAY;AAAA,EAC1C;AAEA,QAAM,YAAY,KAAK,MAAM,YAAY,EAAE,IAAI;AAC/C,QAAM,UAAU,YAAY;AAE5B,SAAO;AAAA,IACL,MAAM,MAAM,SAAS;AAAA,IACrB,gBAAgB;AAAA,IAChB,mBAAmB,oBAAoB,OAAO;AAAA,IAC9C,SAAS,QAAQ,QAAQ,CAAC,IAAI;AAAA,EAChC;AACF;","names":["module","result","exports","byteArray","err","xhr","lazyArray","ret","Planet","HouseSystem","CalcFlag"]}