@basmilius/apple-audio-source 0.7.2 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ogg-vorbis-Di1d0ou7.mjs","names":["CodecParser"],"sources":["../../../node_modules/.bun/@wasm-audio-decoders+ogg-vorbis@0.1.20/node_modules/@wasm-audio-decoders/ogg-vorbis/src/EmscriptenWasm.js","../../../node_modules/.bun/@wasm-audio-decoders+ogg-vorbis@0.1.20/node_modules/@wasm-audio-decoders/ogg-vorbis/src/OggVorbisDecoder.js","../../../node_modules/.bun/@wasm-audio-decoders+ogg-vorbis@0.1.20/node_modules/@wasm-audio-decoders/ogg-vorbis/src/OggVorbisDecoderWebWorker.js","../../../node_modules/.bun/@wasm-audio-decoders+ogg-vorbis@0.1.20/node_modules/@wasm-audio-decoders/ogg-vorbis/index.js"],"sourcesContent":["/* **************************************************\n * This file is auto-generated during the build process.\n * Any edits to this file will be overwritten.\n ****************************************************/\n\nexport default function EmscriptenWASM(WASMAudioDecoderCommon) {\n// include: shell_minimal.js\nvar Module = Module;\n\n// Override this function in a --pre-js file to get a signal for when\n// compilation is ready. In that callback, call the function run() to start\n// the program.\nfunction ready() {}\n\n// --pre-jses are emitted after the Module integration code, so that they can\n// refer to Module (if they choose; they can also define Module)\n// include: src/ogg-vorbis/src/emscripten-pre.js\nModule = {};\n\n// end include: src/ogg-vorbis/src/emscripten-pre.js\n// end include: shell_minimal.js\n// include: preamble_minimal.js\n/** @param {string|number=} what */ function abort(what) {\n throw what;\n}\n\nvar HEAP8, HEAP16, HEAP32, HEAPU8, HEAPU16, HEAPU32, HEAPF32, HEAPF64, HEAP64, HEAPU64, wasmMemory;\n\n// include: runtime_shared.js\n// include: runtime_stack_check.js\n// end include: runtime_stack_check.js\n// include: runtime_exceptions.js\n// end include: runtime_exceptions.js\n// include: runtime_debug.js\n// end include: runtime_debug.js\n// include: memoryprofiler.js\n// end include: memoryprofiler.js\nfunction updateMemoryViews() {\n var b = wasmMemory.buffer;\n HEAP8 = new Int8Array(b);\n HEAP16 = new Int16Array(b);\n HEAPU8 = new Uint8Array(b);\n HEAPU16 = new Uint16Array(b);\n HEAP32 = new Int32Array(b);\n HEAPU32 = new Uint32Array(b);\n HEAPF32 = new Float32Array(b);\n HEAPF64 = new Float64Array(b);\n HEAP64 = new BigInt64Array(b);\n HEAPU64 = new BigUint64Array(b);\n}\n\n// end include: runtime_shared.js\n// end include: preamble_minimal.js\n// Begin JS library code\n/** @noinline */ var base64Decode = b64 => {\n var b1, b2, i = 0, j = 0, bLength = b64.length;\n var output = new Uint8Array((bLength * 3 >> 2) - (b64[bLength - 2] == \"=\") - (b64[bLength - 1] == \"=\"));\n for (;i < bLength; i += 4, j += 3) {\n b1 = base64ReverseLookup[b64.charCodeAt(i + 1)];\n b2 = base64ReverseLookup[b64.charCodeAt(i + 2)];\n output[j] = base64ReverseLookup[b64.charCodeAt(i)] << 2 | b1 >> 4;\n output[j + 1] = b1 << 4 | b2 >> 2;\n output[j + 2] = b2 << 6 | base64ReverseLookup[b64.charCodeAt(i + 3)];\n }\n return output;\n};\n\nvar __abort_js = () => abort(\"\");\n\nvar __emscripten_runtime_keepalive_clear = () => {};\n\nvar timers = {};\n\nvar callUserCallback = func => func();\n\nvar _emscripten_get_now = () => performance.now();\n\nvar __setitimer_js = (which, timeout_ms) => {\n // First, clear any existing timer.\n if (timers[which]) {\n clearTimeout(timers[which].id);\n delete timers[which];\n }\n // A timeout of zero simply cancels the current timeout so we have nothing\n // more to do.\n if (!timeout_ms) return 0;\n var id = setTimeout(() => {\n delete timers[which];\n callUserCallback(() => __emscripten_timeout(which, _emscripten_get_now()));\n }, timeout_ms);\n timers[which] = {\n id,\n timeout_ms\n };\n return 0;\n};\n\nvar _emscripten_math_atan = Math.atan;\n\nvar _emscripten_math_cos = Math.cos;\n\nvar _emscripten_math_exp = Math.exp;\n\nvar _emscripten_math_log = Math.log;\n\nvar _emscripten_math_pow = Math.pow;\n\nvar _emscripten_math_sin = Math.sin;\n\nvar _emscripten_resize_heap = requestedSize => {\n var oldSize = HEAPU8.length;\n // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned.\n requestedSize >>>= 0;\n return false;\n};\n\nvar _proc_exit = code => {\n throw `exit(${code})`;\n};\n\n// Precreate a reverse lookup table from chars\n// \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\" back to\n// bytes to make decoding fast.\nfor (var base64ReverseLookup = new Uint8Array(123), i = 25; i >= 0; --i) {\n base64ReverseLookup[48 + i] = 52 + i;\n // '0-9'\n base64ReverseLookup[65 + i] = i;\n // 'A-Z'\n base64ReverseLookup[97 + i] = 26 + i;\n}\n\nbase64ReverseLookup[43] = 62;\n\n// '+'\nbase64ReverseLookup[47] = 63;\n\nvar wasmImports = {\n /** @export */ \"e\": __abort_js,\n /** @export */ \"d\": __emscripten_runtime_keepalive_clear,\n /** @export */ \"f\": __setitimer_js,\n /** @export */ \"b\": _emscripten_math_atan,\n /** @export */ \"a\": _emscripten_math_cos,\n /** @export */ \"i\": _emscripten_math_exp,\n /** @export */ \"h\": _emscripten_math_log,\n /** @export */ \"g\": _emscripten_math_pow,\n /** @export */ \"c\": _emscripten_math_sin,\n /** @export */ \"k\": _emscripten_resize_heap,\n /** @export */ \"j\": _proc_exit\n};\n\nfunction assignWasmExports(wasmExports) {\n _create_decoder = wasmExports[\"n\"];\n _malloc = wasmExports[\"o\"];\n _send_setup = wasmExports[\"p\"];\n _init_dsp = wasmExports[\"q\"];\n _decode_packets = wasmExports[\"r\"];\n _destroy_decoder = wasmExports[\"s\"];\n _free = wasmExports[\"t\"];\n __emscripten_timeout = wasmExports[\"v\"];\n}\n\nvar _create_decoder, _malloc, _send_setup, _init_dsp, _decode_packets, _destroy_decoder, _free, __emscripten_timeout;\n\n// include: postamble_minimal.js\n// === Auto-generated postamble setup entry stuff ===\nfunction initRuntime(wasmExports) {\n // No ATINITS hooks\n wasmExports[\"m\"]();\n}\n\n// Initialize wasm (asynchronous)\nif (!EmscriptenWASM.wasm) Object.defineProperty(EmscriptenWASM, \"wasm\", {get: () => String.raw`dynEncode012091253f87dì%nä= 4&\u0000\u001f¿nÝØä‘ÂL\u000eÚªã9ÚØ[äº\\\f ¼¡³R=}L\u0012]ŸÈÿ2 ÿù¶J1jj¡é,zäV|\u0019i¸Qk¹‡= \n¨¨\u0015Ÿ%‰€\u001cýv²\u0005†\u0019±»ŸoúâLa:ê\u001f±ÊäÌÓ.÷؇ý×>àW>z¯°8¯ñ€\\Ñós\u000b9ˆ\\§\u0007ôÊ@Ü (tÂø4° ¢7fqÓg²J\u0014è6\bx[zç®&4=} p.(°tÍޖ™ã¾>÷CõË\u0012\"*k?¿~\f7‚~H\u00102ÛÜâ.ÏQä;Œ\u00136{ÜãF\u000fÑá'DœD\u0018¤±°HQ\u000e>MínÎϕÎöʵ’Ñӓ…™Þ“‰Ž‘š†Š‚œÌP¼P¨Þˆ\u0013*\u0000X²E=M¦qíxMÃ\f±=M̚ë4/<š\u001b\u001fgNO‰™/¢\t¢>\u0014ˆa~Ï®”ììììì0”ìœa笡ç\u0007ëOÓÇM\tQ9tùµyuéµµ\u001aÞϒ/Ÿ±Óõò}E{òÓ\u0001J¹Û|·\fôfÒ c\u0016’¬”Wêaûÿ\u0005lʽp¹|)‘ÖEL–†¦\t}‰\u001a\u0002ypÕS\u0003ϹI†]¢ˆºã\u001dæ°ÿo¶7ÛRqš¾ÔÅEߨ‘]\u0015æ\u0003ˉwÚ{ó\u0007ç‰Vwó\u001e1¾”E­Øpˆàe\"Æùû–¡Áª\u0001\u0016\u0019\f\u001a‡ Ààð´Lõ›€ÎxEÓ¢N¦‘…9Ÿëùši&\u001a€\tÒ§Ø!ÇFçS=MbäO?ß·™\u001f縪‡7ùa}5\u0011ð\u0006šûÕtsUŒþ£Kïg‡ˆN™¾\u0013)ø§\\V0uSIö:ÌU4ж¯´Õn9Ô\u0005ƒ\u0017èE£\u0016ZƼ{\u0002hµmى¾6Æ\u001džÑ+xñ´«„þ¸=M‚ߤ·å®«\u0012ïÆGFÝ\u001c\u0014ì|H?ä\u0000E\"þ!9\u001f«Æïpæ'][¯ù·£W\u001e÷O§&#a\u001eŸ‡x$qf=}ø ô b\u0019\u0017ϗ\u0018Ÿ×W÷L\u0019\u000f\u0019ôožÝWQ\u001eÕӎ)u\f†÷½èV|¥Gà¨Ö¸\u001f˜@Œê|\u000bÇK\u001e\u00115ò\t€A·Â9’CS2š¸‹¼¿,\u0013ä›\u001aÝ\fÑÝy™!\u0014ÑR\u0007„%ÆÝÎ0Âv§ \u0007qTcó±\u0010\u001chØÉã‰=}Z=}Ælü­ën¯ð\u0006(-°ÜwVχï.th\u0016¥í­‡S~SÏ\u0017»Z”ZÔZ\u0000\n3–BÌÛ\u001c\u0004¬•<éæO)ÎyÚ¯O*®uìÛ$öI¥Ý9ô\u0017ø³\\¤ò\u0002\u001f³Ù¹ÇP¸J׎y@Ô\u000fyO\u0010\u0011Ç\u0007\u000fm—’\u0004ô½ü\u0017œš¾|S?2àú¤F?½ûoo3\u0017\u0011ôž;<àáûܘ8‚ì²7ïë¨RäY¹\u000e|\u0016ÓºÌ\u0004F,ƒÐ™-¸*\\P!FJÒ8= o6HwLrú\u0004º\u001d”¶\bÐ۞\\Ù\u000f\u0019¬o¢–9\u0019Iq\u0018„Ý.\bôf¶Î\u001dȏ{Ī×N|Mfs…•¤\u000b„ÉݖàŸâ§‘*\u001c+ã§­’ô¯î¬7ç×§ä)€Š!Z¨ƒÉž,\u0006Äp~ý·wsSGó—äs„E€\u0004\\ýï鞧Ö:\u0017Ò'“\bC\u0019\u0018ç(_X$\\¦½eҒ\u00128$\u000e’\u0000X˜F|e‚•œ\u0012í\u001fٙә‚†¡¤Û<ØÞÛ¸9‰\u0001¿ðÃÎ#b\u001c~×\u0002 ‚\u00044éîÿÏq\u000b\n\u0000˜ód‡|\u00070•wU\b‰—&®è·vh6\u001b¨—{Ú珁Ú1\u00038ә(ÓY‚\\ƒ\b0¦\u0014= ç\u001eˆèí\u001fß)Ø=}\f˜[xü-v˜?N(Kk‘g\u0000š0}â\u0015ډ´ð“†¬”œÕQNÍ¢\u0010u\u0007s\u0018ѳ=}.\tëg\u000e…û\u000f= Í\fM—B\u0001p'²\u0007\u0018¨\u0007 œx’4è\u0003\u0014@9t“\u001f§eݵ¾âð½ z?†‹Z¹FH'‰Ì¯¿<ŒK,üµ<{˜\t¶Jãýv\u0016åàÆ\u001ce\u0004ù0Ð\"F¥ÃÒÞŽþԛÉvC›\u0019zl}„ðN’£\tÍ\u001e^ƒP%²¸FX»WÎê\u0005\u001dô¶…ŠäÉJ^g\u000eƒ×S\u0018Ãã.žÄt*'ªG‘«ÒB<ÜӅ¿ºp­\\\u0006àuV\u0010¯£\u001f\u0015›Åݑ½á–Þ ùߞ=}ÎÚ^\u000f‹Ÿ\u001aÿí>¥!\u0000¨ â=M·?\u001a\u000b\u001b*/¤\"å)â\u000e·ÿ\u001fîÿ\u001fî*(%*›2[½\"\u0013üríÔ4š’l½»a}¯CwpC\u000eÓèìGc-ã6®=M32†k\u0004?Êg­…–!So-™x›>³G+ã@ò,™ Áïƒá„åN0þŠÙ‚è.~È÷¡vTr¶‰­‚Æ[üB±º\u0018»ávëw¹\u0012{p\u001bÜ\u0006º\u0005û\"Aæ’\u0004\u0006±9Æ^¹³òï\u0003RIAy\u001e5GÂwÉfœ\u00154@Tù|qý7†ðªwB\u0002L|ÔqŽ‘v!ª°|]KiÐJVQ5\u000f‰¸åõ§‡‡\u0004åŒ\"\u001fH¼0e¬<óBî\u001b\u0002ÚS€Ï\u0007UìHPÙA+çÉ'\u0005se†\u0011ÌNf°@ÈM,ð½\u0006egÖ¬x©“„‹û½2~\u0004«Š\u001eÒ1\u0015;ֈ«…¯°4&9\u00190èE»Ó׺ç‚ʧ\u0013J<Æ\u001b¿&~Nu¼ãÙµ¢.UÇä(qQ\u001fô^ö–·“%!É\nw¬= Î\u000eôª«\u0006…Ùת…JIS;õa rx×£.6\u0004¤ž°>5²Åà,õ°\u0012°h6ûUp©²v#}%é‘= R¢hõ@ëQiJٔ\\ÛpŸ»©[vsiÙLE \u000eUG*sGÄ%V­¸\u0016Ч;º_]c؄p#¡:\u0002oZ{ãS\u001f5I¥]ÓaÎ\u001bg+n×ýÿ‚Txy]²ö°k¦kêju¼xÐTá©#h>Ù]u\\EA+§…퀤u¦ü؁lQPdë„NòzyÞ¼X€Ð]\b—ˆšÝøÝg¸BŠI¿BÕð_Ël¶Cuyºr|<¾¨Támo5\u0018êÿú>Ɓ[ã±G¨²)ü&áòüåBFouŠ!\u001fÍí.jÖìß½\u001a8¥Yëìá›ÈÁi—)‡qÀ:ÎüÐր¤Gͳô>°ú¯øâ?R£k~&ÑãÞ~AŠ¢;Ð'\fàÆU\u001aÀ\u0001»Lž­×)‚-!ÿkýí\u0014›Ù\n§Û\\{¤\u0018ólW^næzk?G~?_5™uÝñ7-ß«6YPðGßÚù\\Êê -\u0015ûp¥èÓtM\u0000×hKȯ›ÒBAê\"ïx×HÍ0Ôc\u001cè+\bè\u001bçÛÅf (§¢õ®%K£7éÞQ'MxãxÐúр…\u00102!\u000f8_6̶Ì6Ìrûù\u0001\u001dS¥Z\u0015\u001dƒ\u0005\u001dó\u0001AIŒüå\u001d6\u000f¿jÿ_°(\u001cÿšä9©C\u001e\bCÄ!bŒq5Öô×x{ÍbÆÚmÒ@\u0003«µ××~҄D“;*\u0010ü ùeŽ\u0001ÀÞ·xˆv¾;¤Š\u0014ƒ7\u0015¾ƒ[W\\ýüb\u0011›@'\u0010q㵋ÙâÉE¾}}“tq-g=}Ü\u0013s¢5Ó=}$Ĉ§£€Ó\u001f~SFÎgт\u0012n†N>1§/¥¸ŸG5àM8#ŠƒÒ\u0017;2¢/K%›–xVÓ(X„\u000bH>µ¬ü;_˜j~Æw\u001b<¾ô*»ô= fA\u0018ËbM¼iÀI\fIp'c*”:oY¡V\u0011Ö3ˆ‹ûIdû®4ڍûýÆð}û\u000eN¥\u000eû–\u0017I\u0014\n\u0017Š¥ÎŒÛK*]Ø=M>t\b\u001d×ý\u001b³MwE”™è®\"ۂ4­]]ÓgØ×EÈ.pN°¡\fš»¤ç/I.ÿ+6\u001d\u000br@«Âz@§Bz@¯Â\u0019\bIê-tí‡Ü«°·Gf\u001c\u001föjÏ\u0004˜Õì:žgÕ\u0013‡UÖ=}÷¦|§Eõ̐$a*¸›s\u0016¬´\u001e«£¯\u0001JÞàãË\u001bt™$š GSÚ³Ë1¯©&|±c!\\å\u0010\u0005vçϷѸ\u0012ã\u0016ßñ]á¸?ùää%\u00196´= #e—¬Â;IÚ¡\u0002õckCÀò*\\ï—0À\u0012\u0015•¿<>ªžÈåJA'ï\u0004´—¾M\u001dE.@OüІ0e\u0016\u0001x÷#2ÒùúµƒÇ½>o{›«ó= ž\u001cÔïŸ;ǽ¶óÐ\u0002\u0010‰/†—\u0004Ô͌\u0005܂€¤±¢Ê’…w>\u0011ÃâС\u0003¯œ®Üa£¹6ŽVý \u000bv†áÂh‘ôàÍ8˜D!Æ!ÆI;¢á܎Ž!oÑÙ …OÏKôò\u0002=}w\u0000<0rT= 5\bJ„_±3×Ì;ô\u0012\u001eYÐ<aÞꏹ¾7ßz\\˼\u000eÛۙ@>Â{å%K¯\u0001º'Ê\u0005mÚòÁ\u0015jRÒ×úw\b\u0002€@'\u000b(\t€=}­QU«ÐÁђ•„,/?\u0019úY\u0014E‘y\u0018ºQ얬Ÿ {ÇLÕæõNáð#f>_ò#Îv]\u0000\u001a˜/øÏ¾TUšà\u001e/øÀA\u0000Ô'\fw]€Ã]€W”•w]€Ã]\u0000‘\u001a\u001cX­÷Þn‹\u001bð·T\u0002bAåÉ\t\u0016r¨4\u0002?t²„>1Ç[áüx \f$€-ÒÂM†Ä\u001f…§\u001e·µ\u001ewsú>üÂ&³÷.dgA¦h²*G×\b\töcG×µF5\u0012¸Êqª$ñ?¦vÿ<ã;ÿs­Òi›ÇXòku\u0003®vUòõ•cu\u0003æÊ¦á«\u0004þ¸‹ÍŠ\nÑʑƒuã\u0000E\"þ!\u001f6Ø Êæ­}}onË:W”•½¶‰\u001a\u000e˜«ÊFˆuÃÝUS-1\u0002ÀÕHòzµöƒ?ov»®¦\u0012‡\nCyÈçaÆ\npÛ¢&\u0014{µ¨«‡±1˜EXÆÂ\u0017u\u0001\u0007.7ž\u0001˜\u0001÷²ÛJ’Ê‚y[å²µ»\u001dbL’?·×øèìCp:\u0014æÕé§·rUè\u0007és\u0013\u0004Ü[o²ÛòDòDހ]ªä#çN’;Ïð\u000e)â´\u0000*z\u001b8\f0Ú\u0013èóª1çE¯´Rì,D4H(øË)\u0014šg\u0007p=Mý«û»=Mþt8º‡-Hœx\u001eH”}Æ3Rt\u001c?ïɤC\n§ßìéõm†õ,;æðk=M6ЦuS\u0007Ý^贮ٙ6=}掍†ƒ\u0019óO\u0007«>\nyÒîÐ7‰a'ûLUöø>ò\u0012\u000f \u0000-6Y(¬ÀM\u001f\u001a\u0015’Z¾ZH\u001cpu°c«à±[\u0014t\u0011*Ç*jwÇÍ$Áíqx©SwћËR¥é®[XJŒÓ8=}üµn\u0003t9“ÚÏ3z½¼¢[Q2Þ\u001b¸/=MP\u0018§Y\u0002\u000e&y\b=}ÚÛw—\u0017ëý¡—àߥۧÃ\u000eŽþòýÁœÝÈìûê(±€¹\u00184š'€ïÌ:Ûùk\u001f=}eªãä\t\u0011ÒCKA¤Æy×nvȧmÿŸ;=M]\u0010\u0013¿ÕŸ€Õ\u001cj\u0007ԋ–ª\tsF>úÔ©áÄ:cÀÆ<$|ê'!גSb\u0015¢V¿oÇåGð\u0010™¢U™ÊŒ\u0016\tu¤ZJýæÔÿÿ\u0016\t2ç썯h£‹f¾Q\u0019–Zã\u001dÁ\u000b\t®‚\t쭔Ç'ÎÅ[¸¨‰{?¢ÉhS5o›ƒU½c¢ÈÂÜ»JZmUí\u001a\\áùµV6Bè\u001bte™Ÿ…~Ã\u0011w‰÷0Õà®\u0018œísÆk\u0012,{ý¦\fû‚iK+x\u0011\u0007vÅ兺ñ\t‡\u0004a”[Sé»Û\tNõòý¬ßà¨= 7p’å^ÿÃW\u001a,¿\u0017*\u0013M½áR±Ì–‰³FcË<\u0007üiÏ2|ö\u0016^\u0012vKÏHœò¹uY“bk¿mZ¡Oš^ÿç\u001c©~ïj°È\b”7\b\tŽ\u001cl©¨ç”_ó¼'½ßªåÏn\u000b\\ O,wòi,\u0017Ū-\u0016\u0003¿?ð­}òÁá\u0010=MÍ®ÿ²›EÍñ™Â}¨³\u001aô-ýƳúŠù5†6MÃ6\u001aÓJz=}p³žû\u0013ê\u001b—™9õ\u0012à垫TM×Ve>G~ŒÙ»Vü²öHByf<õ©˜\u000b+QWƒF+.ßAŽGÔ¦ÏèÚ½‚\u00153\u0013‚ˆâÏ\u0011YÀ¿T\u0018¢¸6ÌéɓÐ\u001c*\u000f¸Öª”ÏrÍ\u0007ëá=}6‰/U´ÃךZ\u0019œþðóW.½ÞQ¼¾Æ”qÅ\f‰½‡o\u000eâäB-ÓU‡€J¬má8øª€K.Œy±>.Q¡a0ޙ#!,¥B\u0012Þ¼­S?Ìr^¿_Ö.¹\bó{=}/äÈAt\u0007}Æè̼4¡—\u001bÔîgl]ÌUEý{}|DÏä–:°š-Ñÿ\u0016°=}\u001aàØ\u0000éÕ}Êñøðº~¹¯4Yƒqm\u0011¹]\u0006\u0015!ºÿ=Mõ«ˆ‹ :Š\u000e†N\u0001l\"SÇ\u0002ps¸Gåȧá+\u000f’'M¿ÓîÁ.î¤=}„mÅ8Œ)\u001f¶rrHá\"ÈøÂìËøÍ€í4ôŒ7\u00012bbߺq\u0001¿2ô=}A5.\u001eYV¬ÑÚã«Þ[F\n)ºh\u0006XûÇӔ>È\u0013”?p¤ðoUÊ\u0006Ó(€‚\u0013³FpÊi’¡Ð}SÚ~E \u0012”!›|ðí‡,Ç9½Ãë¸Üì!¤\u0004ÓÃX%D\u0005Bãu”&d‡ÔËôŽg¥\u0011‹á¾\u0002l¿AÉ\u0004\u0016)\u001cÁ±†Ñ߇Èßý¹ód;|¤\u0011Z€»#ñ\u0006\u0015\u0007scµ|¡…ÝOO\u0011e^\u0005‹ã‹ÂxÝ\b‹Í]¯\u001còbÏ£÷ð4½ïÖ³;û/ºsñ\u0014Æð\u0013FØIn²q\u001d¢©”*× \u0007kdO+÷削\u0005ҀiÉݱîBr]\u0010LÜ|8ƒ~7“vts÷\u00049l|aë»\u0003EânӜ´GGò„$ÍR,<e0i¿ª\n±¾…àsÓZJ¨\u0003\u0018?\u0003&%Æ~-ǵ\u000fª‡ö±;ól\"=MLgÿt#\nü˜2 \u0011<Àn¬É\u001fäÍôÿ®É1S’Ä›à–= \u0016ôñZ¥-@z;¯‰üà¹ìJ\u001b͑\u001b=}\fÊSe\u0000BÞ¯\u0019´~¢\u0002s\fmÿŽ-\u001c¨CozÀ/;\u0019\u0013Çël&uñZ\u0017ÖPV«¤¼Ÿ´À\u001cïY҄™˜–~\u001e—=}Drƒâg\u0012\u000eC\t§›ý\u000bçšr\u0016\u001a\u0005Æ7âÃ$\u0005ÿ¤Ý˜˜š~ސÝo@°³\u001b\u000fٖ\u0005sŸ\u000e;\u0003ozûÀ~R§ú\"¶ü/\u001dôcæ<œ°^Ôã/žéo•\u0015w\u001f×ër¦_UgûÀøäâkHț{\b&ÏMëqÀYÈLÁÊG†\u000ebÙéŸ:ˆš·\u001c\u0010q]\u001fä\\™PÔëÒ¤a\u0003£1è]á…^Y\u0012[›Sw¶å²¹gÒ0ód\b^žÈT\u001f.WœÄÜ[\u0012ՙ\u0004‹\u000b\u001fˆÙ*Hi®\u0004z¹µu}ýuý}#ú=}‹\u0004ÇÌRSûç—Mø=}¹¹>\u001b±ÿì¨áØ[R?ÿ^‰„¦ñê\u0014\u0018¾xZRS^PSSSç\u001f1ù}݈Zá4‡fffdf\u001c¨\fÕˈw&eÜ$hä'{»\u000fMoöyg8¹ê\u0018¶@ìƒÛª0\u0002-ó•¯:¹ e{™†%<ÎÖ\u0001›}Þ¤v’ª6¡Àõ÷Gh\u00058= “\u0005FºKVñ.ºHÅ)<Ñ= xs¥B“E;;áF¡\u000f·!¡-ÀYԖå^Ö'l̯\u0006ßûç¥k\u001bøÞ‚?[ë>†\" -9±/€Ê\u0017\u0003ÛGǘ\t6OY4VÕ\u000f»ºƒ[öBÿ:B¡WÍ&\u0011½ÇÎç\u000b»Î= \u00030y恧§5à\u001cÁFiA•›Í²®Ê\u001e\u0013\\¿<\u0005\u000eî!xÞ³E =M¬U/ݾssæ¶µ·O̐0§G\u001b\u0019ûúñŸ\u0019òŸ\u0019¯{^\u0014/~\u001dä׫ÊB\u000b= ;4¤þû–^\u0004Öï\u001c÷ŽL÷ï_ñíx<õ;\u0014ó5ËÇ~¾V+\u0002\u0017䅒lƒ¼Ñ°\u0006\u0019«\u001dÔí¾)Âfš‘\u0017żo¼Ö\u001eùW\u0002a1køìFvœûëûR\u0015Q‡ø]q’\u0000| ï0g–…ºúîy\u000f\b[\"FÐþ7\u001e^‰Ò‰Rµ\u000fÚèæ\u0013øÔyÚ\u0017\n«ãŽˆi Þ@ˆ…U¾¸»* è#ò-ì¶\u0004HÛé¢ùL”;}·O7…7ÅsLæ\u0001þý\u001b8¿Óùñ£}.= \tŒ<•¾=M£ðQ\u001aKTà^O|¸üggH\u0000«0³i£im¼_\u00162ÿö\u001f”úÕ¨L\u0003aO+&]L¤\u001fšÞ+,k Þ¶Ñ~T¤ÂH\u0010ì Êè\u0004è\u0016ÕÀíÒ³M܈‘ô~\u000eJ<¤0Yð¢´\u0014.\"»â›èÄxqe%o݂yå\u0002—æâ¹25U\u001cÐ/’\u0007Þe.×´Øì_\u001cæ¯_zRÏíšÑ\u0010Ÿ@ÿôL\u0013c¥Íðy\u0001@YΦ}µZ:ÑÂgZÒÒ(©¢‹9\fß\t€Yˆ«¦:™“v„ÙëÎ€ZJâÀVsOt\u001e\u0007™UÖ Ò¬¹\u0011‡1ûÚG´\u0015O\u0007ÃóG\u0004©‚)œniÇí\nÔ}½Ž3:.ˆk]ý²ÂB=M~\t–\u000fùÚYp95½‡\u0014q\u0005ý\u000fãë ÐÞ/¡(ä'§œ\u0001úºE/ê«ÌŸ9Ÿý%Ú!<σžJP&|[ƒ,gz’ű¡\\o•0™\u0001\bÔhûóþ“œ¶[KêÍ\u0010ð= TjÃV\u0006ñ¸ƒƒD¼Ð_Ò\nî\u001d£¥Ÿ0Ø_1dPðt  ýtZ¾r\fù\u0001 à\u001cJf^ƒ”;Ô2éÐ=}è\u0004\u001d¤B~ŸD\u0006šñ7ûÓÁ9³ýbA6ZØ´èÃg½ñ\u0018óø\u0010.:~ï \u0010]bªZŒì¿Ö²2QÄßo¥-¼Öá5uu/u³\fòD‡œ;g\u0015jÀ\u001c\u001f‰ê\u000f”\u0015ÃÇ|eÁ9¬u$*ÐÁ'ÓDelÀëäì¥Ò¤Zš\u0011í6\u000fOÂ@âF0-J÷¤=}_\u0010Õ߬Òl\u001aÚM\u0004½Ç˜ôó~ð76›DEÖ'ds\u0005´Ùï”ÝßøaÊb\u0005Ñ «‡^“™Í\u0007}&àØå?¾ÍF\\\u00072HD5òèÁƈ\u0016d˓„dÈ·6ÙPÑ\u0007“|¬Ôq\u0006\u0015*Ê>ƒ0š¸Cì(ÛX‚YV…²ý\fIpъí\u0005‹M\u0004\tk֔ů}Í\u000fóôc7“ÅŸbrñÐeQŒXæ©\u0000Æ\u0004¯ü_Û»\u001a\u0011‚\u0012˜Ý\u001aMþ©.c–kg\u0019 fq ôo@qRL°šÅ‘Y΂ˆÈ»d'™<±+\b±\u0002î‰,Z­-GG»\u0005ø$âG†\u0006vÇû\tµA~Y\u001d\u001aF5\"§)ð™fßÐ鸉oJRRŝ¿ŽôXÝaú.QMw1 1þøiSo¾®È\u001f²¸hÌ/Κ })f\u0001\u001bBr.G1\u001c£Šº×cÎ𥰹&WÈüAnŒo#g Ãà\u0002L\u0006i²¥8ó=}dä¥$\u0004\u001bŗ(³0h¢0OjfÀr¡6\b*#àæ\"ãûQ?ƒ›ñ±«²Xóä*hïx=}ÎÞ¬výÞV÷{u²cöê¡h¯QÏY\u0000aê‚L\u001b$¦ûÈçIGßþ\u001d\u0016EýWö\u001d\u0004ºý\u001bëÛߐý\u000e×Ïð“i\u0017 G´ì=M¦”ßÁý'\u000bþºeâNւ\u00127ϝ/Ñ\u001auž·6r\u0015ۇF¾Œ¾aUÌÓiÜúÒ]¶éUY*= g\u0010[ 2-_•\tc:ðY)\u001f\n‘¼\u00039ŠîK¨‡£\u00038\u0019†o•Sˆå¶K4U>+¯Ãî[H\\wâRVœê/÷~Ð\u0011n•m”–¨s8CÏö\u001a©Ø%Àašª\u0013S\u0006]ýŽ\u0010¼§ r_¸ƒk\u001c‘\nªµfÄéÒQæ2¹Ão¹&3žžÇ\u0016¢\u0000u \u0007\u001ac5ë\u00046}Í:B£Ž´1uiˆèÑfa’‹&]ävCŸ‚Ox·\u0016\"³L˜Tè.€I.ÊÍzB!:\bFÏëxS´Q{\u000bÊõZ7Uh8yÝfDÎ\tdÔX3‰QÂ\u0003±\t½–=MnØ\fnÅc\b\"\u000f@;f?ª¬nû0\u0014Lp´h„,¸#M\u001eà-\u001a>+C= Ê¡±‘­^ٗ= ®Â\u0000¬QôÅ\u0014ùî\n‰ö\u0006qòbŽß=}‡•±ÕAË/8RzT³…‘ÃÌ\u0005/_îMvÛ«;7S\tìN4\nìŽo7è_¤\u0004Àܕñ\u0003ŸÜ©è\u0005^U‰±A\u0017{Éö”ž\u0000ìŒXtnÝÇvz\n ½½Ùo¨’‘ça\u001dúâ?EH”Ä»ë\"‘±cÀÁEB]acgdck\nËÁ˜EŽv›ÇڄM:¸2\u0016¼\"\u0016ŒûŽc³Ï‰1mA]ø[à\u0001= Ý|«oÒ&¡® ¡ŽK$ÚiPÚÛaº!ÊI#?3\u000bÄLo\u0004\u000ex\u000eJò¹<•$$»¢”\u0006¸h.ˆ‡ÕY¡‹g \u001d\u0004Û30ׁ ‡¶~ÃtéR0 ‰ni6ôe\u0010ì\u0014a—z(¸9°Ù=}ocî†#üR{\u0002¶ù*×<Ç\u0016‹\\Ès„a>#¿]¤š(R F×\u001bX#¢¯mVRòºÃ\u0002 0ã51ï‚íDÅVs“t‘\u000b°YÎ=}ø\f´·Ç”F \u001a‡ØÕÓ\u001f¡ð—\u0019\u0013(B\n€Y\u001bS= '0“#×KB<r\u0014ÔôþMz8”ï³tíY­S\\¿©æ s\u001aŒ¢‡3~ÏcɃÜ[öÝ-y\u001d£îu(´{©ueŸØÝª\tg\u0004×\u000e\f»c*5쐣¡“І>¢\u001a9®Œïîêzr{½¢j|W¯Cú²‘\"žÆ\u001b¼¦Xç\u0003t,òYCIV‡µ\u0012X#\u0005¥‰_Žæ)‡3è \"9†ûã)‰e\u0007…0߸Ûͤ³.¥>„å*Á\u0012p\u0014ƒepœŽQkîtÎڠŶïoÔ¸>³5„\u00105\u0015Î= †Á¿rà\u0004†\u00013S\\ÌÒªs0 i\u001fæméŠQú\u000eR|Žë²­FA€è\tÁç-šÚýFå˜3$qϒ\u00023˜+w؋<üªU\u001aþvü‘\u0013£b”)Ný¯j\u000b;\u000e0õ”}᪟’[6k\t\u0003WÇ\u0011íH®\u0002\t\u001b\u0003¨{2\u0000Jþ!y+‹(\u001d-ò\u000eÉýÎlœ SÆ_¼òu8¼z¸Rîùq_fGHî?{vTgeÒU<S’^£(îl=MéáDÛ¶­ùM·Ä\u00177^õÿ\nØ£™ $\u0004\\ \u001aö\u001dv=M¦†px™6+ã*àÀìî{ølÊEy9² hω³!ÕÑjú¸ò5pG£¸fëp šƒ‹‹\u001d\u0019N_::û\\RQ[â\b£\u0015\u0002\u0001\u001f\u0011®M¿L#8¢\u0011ÑPk5]ý«\u0017¢zžg\u0010»g\u001eüš\u000båÐ\u0015\u0012Òöí<ô\u000bâ~Â\u0015ÔîtýX‚ÙñµE®\u000f\f:¼VBÍ\u0018¼\u000bçtnHç­|Ï0[óoûŠM™>h}ìA\u001cö…\"\u0003:Vk=M\u0007©l\\\u0017äÓröQR}8qeV\u0002<J\"†ÈFäíûI_Ó㎫D–ûëôz\u0006ïå‘JNHŽeÛpµš…×8挓ƏP\u0005I¦\u001eû-t£sp£i¼äs\u0017ç)’ç%0eq#„ôF\u0010ør\\ÃÁ\u0001s•×C\u0013P÷ú\u001c½˜\u001a\u0018ÿ”qH²\u000f}EéÏt\u0012\u001bj\u001dT‰i.•Òþ¡=M%ä¸Õ’“ِe½_ëÝ;+ÏÁ9ó\u001a+ä·9:„׎´irxb\u001a@åÄä*Ý\u000b•\u001b\n²íC­K„\u0010‹Ý»@‡;ö4Päü\nc\u000f\fãJ1«õãLPµ“ŒêY‚àn\u001112ȯ\u0016ÙI…r+˜= ¶/g\u0012ýZ³#³}~å0ž\u001a´„ú¾dȑwûŠ{\u000b”èÒY­uŒvëNô›ºô[í&öõ¼[9Ø6\n\u0016>ßNçRÆ\u0011Ûeí“u\u0013?ìý\fhWõM^8\b<˜ã*\u0005lkê@\u0010uú.FzFë=M-ûhêl\u0016\u0001T±ÏÌÚ®Eã¾ˆd¹P±\u0014¨à<\u001cÛÉ\u0011‹Ê6åÉì’\u0001Î\u00177Qv¬ÎÊýžì–$ºÑz†Ø'”¨mІ\u001b\u0004ØÒº´€ZM°o9=}óÃQ·»\u0011¾LW·:+¯˜’‡©p §àÕ\u0003<Ïí\u00112†gþá1é9|R‹ówàut\u000eH\u0019ý8ºï@¬^ŠŽ¢W¶—©ê\t]ð½6ς\u0005Oô\u001b¼<±Š—GãQ~V§xâ­ü1éUM&CÞ\u001eÍ|\u0014„A<^ES¸3‘4\n“\u0010Z!¡–Ú܋a7Î0¤q1çÖ'©\u0001~É ™‰Ù\u0002Wüã­)¼ðÁê1…¡é)ˆ&n¬'eÚ!6¹¾\u001bP;<\u0005dm-TŠ©\u001dÂ\u001eñPÿoà¿§Úì4¢Î³¬\u001b¬iTÑ9ËÀêIqþdiÉNì=MW­H&¨rÅ«q,ì9C6/¤t«ô= \u001aªK5Â#f¿%Î)\u0005¦k Aù4jFœ\u0003v7üÃ*-Ð\\\u0003é̗:œÄ²21 .›œ¨½ü,= åÔ3\u0011V\u0014I¯¾¸þ¼¥\u0014ÂÆÏç^g°(QÿiÕ¬•ª|ï\nÊáu¹ÎÖ¥U“UÁ­YE¸ã²öÌÐm®~—wø%þ\u0006\u0018z„êÑ5\\5oF–n$»9³™mi\u00176šzj1sé\u0003Gd¯É\u0014\u0006ؐ\u000b‚\u0012å2(0¬>nE¥âV˜Çú°Ž\u0010Üé›\u001dÕî\u0005£]þ´–Ý\u0012s×\u00167ã\u0005û<ŠÞë§¶§V\u000b\"íٜC'\u0003—œa\u000eÓX\u0000K£¯üYü›­úl^~¦¡—Rû\u0006!\u001c“=MÜPa´\u001a…_Cë.\u001b0£\\\u001a\u0004}À±QP›9\u0010\u0002wo\u001aÙæQù\u0002§j˜KŽ\u0011õ û@É+g\u0005\u0013I4…wÖü\u0016.Û\f_éš4GÆ·#ÛxEh\u00056–;L]¥2¥á5üP4õu\u0005Å\t>›çò-ç»ë\fé;]÷ÑÑ\u001cY¶•Œ\tv\u0000…\u0018P\u0002ö\u0014%‚!̝§\u001d8÷PÛ\u0015\u001d'rö§ÙßÏËí»kæ@æ{¨ËC4¬\u001dP\u001d¶Œ \u000b’óڄÈsåÍý£Îx\u0016Ž\u000e)ÜØNóÐ3õÜMüB‚¡Å–ø‚×½»#»Ã-á;Ì'œ€‹Æz{ã­Mò\u0004Æ0в>‡v\u001f‘©Ø¯³û\u0005#iàBé]á¹F{srP†Zá:ó‚öCŽÜ±ÀÃ\u0007Ê\u0007—õ†\u0003p\u0000^kñþ\u0017\u0019v1_Lç9νdŸØ¶ƒ+u¥\f˜æÌ·’ó“l~«‘Ù\u0013„îû­µŒ‰\u001d\fŒÕÔ\u0016ebyˆÞ«88\u001c0\u0012Lˆ\u001e²\u00165ìæôvZÉQ—¦\u0010\u0007HV/€ï\u0014F{8M*˜Áý¶ºÂؙO~ü‚3|ŽØ\u000ex\u0007¨>Œ¹…çû֓ú;êŸ$hÌz~ç1Hún41eÆOX\u0002Ø&É¡:h'¢yÓSvðxå\u0011Ê:µ\u001cÆ-Ð)ì•_ä;k@%\"’w¨s“\nËØ\u001aJ\u0003‘Â\u001e­\u0007V+á~àé4È\u0012'QØÇÝ\u0006ø\u0018Ä|^\tÇ\u0012)\"¥0Ǥ„Ðñ\u0004 kÂ\u0002e\\\u0016\u0001\u00000¤\u0002|>ÿI÷ä’ÒÝýÔ]¶;L\u000b\tqìÅR¥-bE]Ârʏý#8n°»ØÑGø†,RmâAê_Ãpá%/BU#\u0012tΊq>ò*öú(Ž$âešò|=M)\u0007!‚\u001aÐ'¼¹¼R…Ð\u0012zsÑxˆ\nß+Ž.¼\b¢7â%”‘²\u001f0ÿPàiÝPñ\u001d¸˜MÏ唀:L兙-üœgß=MƒÅ#MÚ+üfmi®= µ¬³ñ}\u0000$ž¨9<og\"Ø[x«Æ\u0004\u0014ˆ¯+_–ŸÐ N׿jV¦­\u000f¥˜\u0007#—Dw—$¢øŽ\"Â\u0017K**\u001d¨N]EB®°Ëß\u0014‹„Sâ^\u001dí\u0004%Í(æé¸Þö\u001ag\u0014ŽÝ¢´Q{Ý»b§Õ\u001d×\u0000±±hÙ\u001f^6Ÿ«Gàý‡QÃe]\u0016\u001ct„ŠÉ\u000f¡šQ¯¡šñ⸸\u001da\u0002·12À I¼Æ÷nZQ:bùh<c£5yÞ§è˜\u000f~xWÀ“Ûý$õAXÁÓ4\u0004Kóݛ\u001bœ×\u0013\u0014¼\u0005„µ•@ߺøz¶Ñ1s7‰†=MÇ5ö‹¹k±R%\u0013×¶Hšâð/\n+Å»ºD’ó(\u001d=Mj$\u0012×JD\u0005\t\u001fò¡Æÿ¼\"@ºqJº&Ïþ”IÑKÍP„çüƒzDjIö\n¼ììoìì¯íì÷†\u0006;#¶º8l”\b¾k#:âõØ\u0001÷\u001b¢™ ü\u0001‰_ŒWNì¹\u0016tjϔuÐÆ>I¿Œ‘\u0013y \u0011Høœ@u¬BÄÎ5\u0011Ûy:\u0003LU&\u000f–ù•ð\u0006˜†£\u0004Rn\u0004\b̵5\u0011ZGù<§h¿\u0011ËhÙâ²zí¾“¸\u0012?J\u0005\b‚\u0011àçªIx˜6ì\u0012ÚËìV£áøˆ¡›h²'ºéÞXQÍНS݌ŒdÖ8هßM†9\u000bˆS}‰À4To0ömeÎ\u001b¦\\ܳtQÖç'Ñ\"Á©–l—à¿\u0007ö&.Ó\u0011Úçï±í¥­£ds¿Œý= ìZÔOäþr;Z©’ê–ÜÔ\u0003‰Ðó>B:½î-t®«˜d¶‹L­Ó¨$Q\u0014èÔDϟ:!ˆì€ Ûq*sª4”x\u0004ã´®X&(\\À¾ŠÊØXA¸¨Åe2PšB\u001e…*“S{™é‚Ôce YÆB\u0000º©¦lÍX;O²:À‘\u001cd¿fQCŠnM‰Ë-ÂÂðǀ£ï¶¡SÚÁdC,\u0015KÂÍõÞŽ›=}=}ߛ ”2•y3‚R¤Ö3=}c\u0004Ð'Z®¦ž}±)„\\‘(\u0013\u001eYàP8?ÈÚÂÔº\u0001Ç\u0011¶ïi\u000fXEßÊè= êèŌDÐ&sÙ¦R÷_{\u0006\u0005Ù±4Ë2\u0000\tÆzãT!gU¯CÀ@\b¼“û7\"Ìf\u000bÆúX«\u0015à-öRÄ‘\u0000•êP$#¹‹\u0014oü\u0011³ãqŒ¿«í³= sü§{ÿ\u0012«·=}ß͕ Ž\u0013q?\u0015¡ÏÙ¨½Ãç×\u001eå?Ÿ\u001bgÆ\u001b\u0011‹\u001eôÝ\u0006\u0002i,×¾ž\u000e\u0007’\u001cÖ³G¾»= ÙM\u0002\u00079jA¿œ¬R¶‰Æ'‹\u0010s\u001f\u000bÖ\u0003æe4æ+6ª\u0005ƒ—À‚Uùxƒ\u000bG›Â+ŠYbç\u0005ÅÉM\"ä˜éÁZ]&\u0006ýŠ¡9\u000f˜å(¡nn¶1Í^\b¡<ÞÍeæ†:W\u0002æéÓ#4‘Òª“z\u0002B˂ÿ:°—5G¬ÛÂ\u0015Ò(âÄGÿö*ë¶.ï\\\u0001¶l\u0006^Iì°Ô‚üZ™ÖKXSý¨'\u001d\tM¾b]±>Œ0l›ùXŽ(^^\u0001¼òçHÂS\u0012\u0011îÃçàó\u0000ˆ+!šmû¤\u0010šÂp= w¢·nHµÔHŅp™\u001cȝX\u0003w]Ž©5\"1\u0012ü>\u0012\n±XZ^Î9â¦\u0003\u0003gþ\u0016=}oäíçY÷Wé[~Ñ;=Mã\u0011ª“¶&$óÅßah\nÂãt\bÛókÿ^ƒÛ7z¶#X‚@ù€rÏ8F\u001eŠ\u000eG\"5ĘÐÄ~á\u0012UҜ8̭ˎÌe\u00193΍ñŠ\u0011‰A’´º\u0004Ì\u0001\u0003=M¸óÆ~2“Î,ô®dmÖ=}»u¸ÆŸw\u0010:á!@…-\b\u0000¾ *ï\u000f\u001br±F¿/͒;öMÅÂ1¨:4>&YÏ= ¬]\u0005ÜèÁ\u0004/4&øö0\u0017aM—ÞjR»5bãXq=}A%è9= ži©\u0016¸¡l¥nô@\u000eÃOPz—ƒ»wƒÓ”ÝlXœ\n:ÎÛÝ\u0002(.Tɏ¬|©Î¾²ð•¬ð\u0015Éç\u0002\u0004iå_*&F×[Ÿ\toô8B¦Brþ=M¼-\u0003ò»ËÍF?\u000b<@üønÍ|ãžxÔr6hÚpÌöç#5‡íl\u001d÷.à@]ð‚\u0011{¹ø÷ì<Î<\u000f\u0002ÂuwNLO\"_u\u00047°Ïa ÿ\\Ìr\u000bîÔdð\u0004ó\u0006¶§Ô67¤p£\"ªCËu@ïfcOò\u001c¯x¸3\t²#lf1}U¬q±ýx¾\u0001jõ\u0005×»ó±ñ\tÀR\u001d³.ÙýåПéI\u000e\u0012cΗ‰ÿ;\u0019F? ÛÝkØýóÎó•ø‘6¸'á\u0015û=}žœt8\u001cÔ]&ã\u0001°¿|\u0013%\u001eBÆ<Šþ·Î\u0014\u0018Ü«ëÍ>YUˆÐgæE¡ã(Á…‰\n\u000b8ԐXÀ­vÏʨ¿6bnµ¤GԒÁ¹§\\)é\u0003«\u001c\u001d®~žî¿w\"Þñ£à/\u0010o\u001b¯ëO\bï“r(ÿ\n\u001aõOá4–\u0016¥àyázƒ¼}·‰æÌ²ìB#ƒÙ„ø }\u0005…\fJÏìN\\]\u0016=}Î\u001fnü4V–á‹a›ÉlIA\tÍ<œ\u001a\u0019â:^&q\u001b/nõ×n5\u0002;=}Ù,ìâ­|0Bõ=}l\u0007;Á¶®äÓ=}a&¼½ó…ß@”ÂU¨¯ÜüHÝØ¯Cþ6ý\u000ejÒX_16¿X]\u001f~Y\u001f~;\f×*½ÿÊí²2\n=MQŽ\u0000·ämòjybá]Ü\fÍl#\fà(\u0014‡Kð5ÅôIJßqE|s‘ª\u0010\u0010\u0011±×ÿše¼ˆSÐo\u0006“^[ØÞôX\u001b‰‚Yá4ô@1³¢ƒ[#ïQ½,C\u0004\u0001è\u0012oJ\t9Û\u000b\u001e«ÐKvnC&Â\b0\u0018 »¼Ž°SäcÑ07 »4NòÚhr\u0006/\u0012#ÉRƒ\u001feÊø?°Oí„ÿójà!c³hziÕ§nËGY³ÿòò,8ä¹àø¸\b\f¡\u001f\u001aµ\u001f¨X\u0012[|.\u0004ôóv3<÷\u0004£\u0012Û1²\u0005a<\u000e>G¦\b»…\u0017–=M˜lf†\u0002*-¨>9C1TQÂñ¬ì(\u000e*ø×\u0013d²¬p\u0015\u0019\t?n=}\u001eê{ÕÊd\\ø\\*·×Ré\u0017„ÕR_Y>7Û!èc.\u0011¢V;$|òè¯+/U€cMX\u0004?\u0000éŒ9À‘ÌéZ\u000bm&Š…,ôvõÓé¶ZÍ<V\u0018Ӟü°\tTiš{êC§)ÐC\u0015U·RsV$gÖ¦îÁƒ ÖPö4fÃÑ\u0006‰>ו¤kc1\u0013W\u0007\\‰åÅ$Çp,%jŽ1âÂ>†¦¹Ð¨–Xþùï\u001aäœRÜJ¿o\f{F\u0019úй\u0011ÝÚ³ó£ëQ\u000f\u001c\u0004E@mj6¹e¢Ñír»‘{SŽg½\u0018ÍRâl¦í\"C÷Ö]§@¸š±ë:\u0004Â(\u0013\fíQóƒœ9È«Ëîqw±º{i\"\u0019Á\u001dŽjêévVÏ¿KÐ÷±ñ´ìp¦o.\u001cè<wÕ\u0002\u0003ʈ¾­Ø/i\u0011ºdr2S£ú~&‡Oãè.¹\nx*q\u0019‘žT·gÀúÛ\u001fx¢\u001d/Ã}ÜYŽñ-•XlEšìøö\u0004t„¢Ù\u000f6À\b\u0000žùG\u0016\n;\u0013%eU\u001e\tàQ-ð„ÁÆô+\u000bwcq÷æÍ\u0019¸S\u0015©Šl¹¾\u0011!Û¬O ISüu\u00159=MÊ\u0006-\t!²\u0015;\fÅUº¿v¶å\u0015±ØÆ˜á\u0006¾\u0012 \u0004@ë]\u0005Lk\u0002e1³„,#o™¸\u0000òÄé—Î\u001e¾$ê¯3eI• \u001bŸ\bNö+ã\u001fs\u0004QøÙö”á9¬Çì\u001e<= \t!„#\\…]ôÅvÉpšˆlñƒEÚt^ÍU\u0011•MA\u001d\u0000ϼÆüÓú}Sú\"\u000f,Ú}Î>€P=M¡nOcùÀ˜Ñþ\u001dQ{¹ˆËÂM{pp‰\u0006\u0001•Ý5o;Ž„\u0017Úþ¨Wå7°S'1Ê= \u0005Eºg\"¦^€H m?P¾ æcà à°!£!f fT(Ø\b#ö%P\u0016!»3à\u001bc= icƒ ‚ \u0017 Œðü3p\u001a £\"Øä¨3ðE= Ÿ\"\u0018˜(\u0018\tÍè±Sàç\u0004g>W š9μ\u001d5'¹ñ3”\u0018•!©\u001fÝ¬kD›«\u0007êíS\u000fã‰Eèí«òªý+\bL—o~EhÿÙ%á¸ÞÓ®©\u000fÆPq\u000e²\u0017@¨Ø\u0017@Ÿù£\u001cu/’§>\u0004®\\è¹'ÙÞ'\u0019ë>\u0004Ϛ°c\u0010LŠX«züè–CŸõ­NÃö‡q«O\u0019ëÞ\u0004\u0001k^Á\u001aÞO}a=}¼e\u0015Œaþ²ï.5\u0001pf°²/‰²Ú±\u0006Ë=}\u001b‚lZOÁÐÊ\u001eSy5xŽLQ\u0010SS\u0013Owø‹††›¹¹Aì외;Ô\u0016Z\u0001\u001b$O0‰\\\u00136ŒkÃÎrÉŞ\u001dƟlØ2\u0012²_(™zŸ¤&ìL¥â\u0018ð¼[¬ºIPN¬¸\u0017/3†ö¸4†=}s\u0016¦•Sgù0ÆíÛàÆ¹(“â¬Ôÿ²Í\u000f҅ÁOøVSä®P†þWì»9ƒwx^Ô\u0007x”<Ô¥KL¹ihxŽ\\ÜpÿÕ\u0007;<V³\u0001¨Ðò\u001e\u0015õ«çÛ®\u00136\u001a¥Ã†\u0006XF<ÿC\u001cà)Ss¼4n9ÁƤ%çÊe×X&¼1öÜe¯“¢«†.’iX‹É¾H‡ù;%wì”ØJ|ûCœà•S-Ž(W\u001bú®{®û®“Zñ¢\u0016”0“Zå¤\u001f’›,\u000bYðu\u000e@­lð T*¨%­ëXæ¤%tÑM̊¾¨ÒsH*sH\u001b\u0002µ= Í¨‘_T5t|–Ì€ö¯ö\"\u0000Xö\u001aNV£\u001emYö”ÇzÿqovÕÀþ.‚V\t*Šz©æJ:ó’4—pÝH\u0002®qû§ÃŽE¬\\Ú®‘T±“Œ*\u0015W¯2¦<Û¸àăaxâPf<§PªQç\u0001hÐù*öÑ\u0001Xª‰ìX»\u0001$vÐ\nX©eL\tؤóa³”ÝÆõL™ÕæÔº¬š™ôô»\u0012ÿ\b˜4)D=}¯)3ÈÃ\u0001¸d;=}ý­ÐNŒÀ\"=}™{Ó¬IC¬¼õâh@±óRF¢òZbs9\u0012°ö§¦š1„­³az8‘ì‚>+âTªH\u000f[\u001bQl|¸ç6¶¥å@i§CšË‰¾Lê–Ë\u001aGd\u0013Ôð3Ö¤]äp2ºþW¾’d\u0015\u0016¿µ(\u0012H&b‰3Õ;ë°9Ûeôó„®jdúQÂџTƉ\u001dûd7\f.uo{„Ø<Züºæ:ˆ\u000bŠ'!Žî»Ø­:iÄ4ŽÓ\u000fÂÀ,¬ôQÁ]v\u000e=}/·tæ5\u0015&06…,ø$ʸt¶˜ØMõ‡ô[ªƒVÓÆ=}Ƀæ¨@A¬K\u000e¢§«K\u000eä>N¬È\u0002”\u0015]‘w5øÚ®dC{޼æ‰sœ\tÿÛ3_ƅ†OS\u001cLœMÔk탦…†\u001eú¿…††\u0018{††††¦Y“æÕ»\u0016Qÿ›E­L‰$1îì™4‰:›6Æ\u0003=Mr\u0007Z¾\u001c6Ày{øA<(†Ål1 db\u0010m7ÎN !\u0002‡\u001c¬ÛŽlî1_\u0017ƒ= ©néµÂå\u0012Åd¹¬V\u0001k.\u0007d,\u001d4Þ3~„L‰òôޟ1ú¦·½\u0019d\u000b’=}Ž–q©7švzaY6én˜±Æó¯Ã=M€µ\\^F\u0019>ÞªëàwÞ»ÏÂ\u0006Ëþúækéy¡½‘ãyÝ÷¥³jp'ò…‚°;c9¡Zs&‹×\b]Ñ]ÝUî«\u0000­\u0010\u001a>_<(¬\u0003‡O˜vž Q×*xœu‹òRN\u0002*k;\u001b*\u00020䅫¦—øÄ…üЩ{ÖÔY—å!\u00041è;\u0016å&ÜÃFU\u0003fmü&r3ÄèÄQñb)š2ãT#À·ÿ¼%Tqˑ\u0018Zs>cU´ƒzuÏ\u0012\t¸Ú‚uQ=}óÐ-G»ªM(e²ZVꬽv‡¸ ͦO‡\u001cT·S°{@R0MðaÀ\u000e\u001a’f\u001aȵ̂_Òú|â<ñ¡îйAé\u001a܂\u001b”b+™!¡O#\u0004*¾ï3¨0âš\u000fO\u001c\"Í\u0002xÔûÝ\nÞÝ'´Gü’ír\u001e”-—|zþçW掯›$\u0011×[ÙÉJuøAD!>'o0K\u000b¸’5׀=}þ\\\u0002e\u00148\n\u0015?»þÆüÜ=Mƒ\u000f3í\u001fúPþræ\tMׄ\u0013Ö\u0001q\u0005\u0006&@ý\u0016ÑWnBӐ>7„‹ÜÉTùÜQ¿^®ñ-,\få!›'9ìsùÃ4\u0005?\u0012„šBTu\u0016\u0018&éçãÎ,?(\u0017&\u0001ój /¤\u001b£\u0010™Eà'â£= \u0018R(/¤¼=}\bÍf÷I³•HZépôSG‹ˆÅQ\u000f‹¦˜+^@]ñï›\u0010GXg\u0014€¶ò¤ssÀ\t­/µ¨/6ʟ\u0013bÏ´%°/³~å—¨š5|Še¦U\u00059¢’$BFpŸ´„¢cë±²êÒ\u0002\u0011ýœ´f]\u0006„ð®Æ\u0006Æ\u0012ÓÎa.$ªó=}´Y_ó싌\u0000õ\u0000X\u0005óŠ¢Ëï|\u001a3;-%ÏS…ˆ)’÷ iTl\u0015Wôáµa6m u¢Þ>q9 '—I\u0000±N}\u000eÞC>hïˆGÒ*Æ·¸PØ\f¨)Åé\u0001ø¯Ë¡yè€Z?1\u0014„^B\\pü–ž™õôÞ燹Ã\u0005 Ôð4‘ÚIšsmQÚÆû¡†Žu™˜°|î–(®±Ø—¬$©•+=M­‘\u000e°˜8ggÒ\u0001ò›Cƒ“Æ\u001aK€\u0001\u0003âåþ6…Ä¬Ú \\Yý°-дXÇ̇íÁڙË\u00022ñ‚=MdŒÑkhhÉÃd6ñ‚«ŒQt»|Z³Üu\f֚Uh——Ï–½çØÛ“\u0012}½SýË}\u0012˜©)Û\u0000ÑÛÇwƒß\u0006C ¾\fã't¡a.ÍJãpa/\tÁâÿTV˜Ú´­ý\u000b·ñ¬?{«<\nM2I©O}žš³&ÿ¬\u0017øŽu®:”º\u000f}‘ëßGnêtF@\u0006\u001b1«=MÉ\u0004Ø &‡Õeî%~ïN\u0018õŠI'‰‘Oöz›:?\u000f\u0005*<á\u000b°TEŲ{Ï¡xÔ©\u0019žä\u0002¬É\u0004®\u001fò%‹}Iù$§\t\u001d= s~——;Àí–T/ƒ¢•¤ö…ìpg\u0006 ££»\u0002¬\u0006ú\u0007dl°\f„y\u0005ŠçðÖ\u0014ïf†“ʶúÜÃï¸F÷ÌìÊÝ}}yÑ\u0002^\u0006Ö½Ì~H\u0017í\b­Ò\u0015Ȟ٥\u0015¶k\u0015mzk\u0015k£%&¡Ë\u0010m„sÖ>ÀA}Ô?\u001dºRË\u0018œ%\u0011]\\:&D¾[,¦\u0017Ñ$ÃÐÎìn´cÓ5ÆÑ\u001d“ˆŽO\u0000[}=}á֍(N¡ñígµ€â9c\u0015&=}Ä®Òξ\u001bQ,öÔ?è³K'VL¡](ÂVÚCê0ø##{ºŸÿ3\u0002¡6ˆ®˜L(¡m\u000eÕ\"ÕlÆ\u0016zŽÉؚ\u001cÌÝ;A\fª¸_\fÛ\u0001ÕñXã0î|ò \u001bIUÂâw\u0006ļÃú®ž‚[,Ê\u0006Z\u0016H«§/nŽ\u0006’Päõ\u0011]eÿõuóšuq\u001dú´Å‘³’n=}¸@Ö,–ñ\u0013«À7¸£Å½ï\u0014oàõ‹› .®—\u0000<òò£àzÏq=}þõ–\u000baé¼ù^Қž\\¡Êá䄮ù”!MGÓ&„ adePõU\u0013ሞß\u001eá\u0007=M\u001e\ttï¸\n¿.\u001bÇ_\u000f\u0005ò$U+å¯\nw§ÆËp;Ÿt\u000f'Q\u001fŽ$2\u0012Œ\b%$\u0003}­¬”ˆ ƒ€^(f\u0003\u0006%eŸ_0^ Ò¯°\u0019j¸ƒkª2{\f™m4‹c™•@U4N-LCæ\u001aª!˜3\u0003gâùã\u0003„¾Fm¬EÇt‹îÏ6’Þ¤•\u0010\u0000äxN8‘a©Y(O}=}ˆŽ\u0010­ÔžWñ\u001cµ„Öê= W‰¹5(—¹~€o»›%V´¼ÒJÓ°ú:—‚Îų§0V÷zî!\u0001°¦Œ¡øðÃL!¦]èdˆ< ÛN\u0002´= C¤(\u0004Æý>„ñmÇs=}ï\u0015û&NK<\u0017ë‚'»éŒ_È\u0004!ôâ[õ³\"¸ÐNV\u001e\u001b캪6­\u001a°Â*v=}7%ÇHßD\u0007Ì/2Þ= 5ŽßK9'ë„n\"?¿\u0019lØdmçþ¼S3\u000eµ­¡BÁÞø|4ì\fX6!ôE¢z@ù}\u0011ï„<|à\u000b@T\u001d¢#\\âC‰\u001dËêéÙdU萮8Â\u0002rãÚ·AÙvqŠ\u0014¤A4ÌÈAäv¤ Ä,½ÛVq\u0005\u0013^ºÞéçÐ3'Á6\u00129÷[΂xÈ\u0003»áT•“yþΙÍe\u0000úî<=}ÕØq¿Šñ²9\u0010Œ\u0006y×m\b‡²cžàSÀŠÌëx\u0015—é\u0000cŒ¢b9¤ž¡1c7ÈHD\u0003\u000e À\u0015!xÚÁáò-[xÚ¡xÚÁ¥Å;úxÚÁ¥Å;zxÚ¦Â:z˜ÚÁ¥ÇëŠîAÓûäd¢í\"äü;ö'¦&Úl\u0003\u0005vs¥æ~cQ±¡K¤ÐáXÕnIÆÛ!£à†¿N;Ý&\u0003\u0019T\u000e,){†lH:_}\u001e\u001e3 Ãø½óÿ{ÎÝxöD= eË\u001ajv)j-K\u0007tÚF7À\u0001›Íãъò\u001beS³\u00011Ð{!ëwH«1¬È¸Øýi¸0mOPüéyMmOXÂh…\u0014¡\u0011º<\u0012¡\u0011!øÎÀ\u001d+ÓÿÀ\u0006U!4޹nð?4\u0012¬²ÔŒj FØ»ãw;p\u0016ÃøÐ\"ËT'b[[Ý\u001d¹?°#O·Õ·Š™O%·¹¾É„”³ä,}è\u0002ÚöÝvýÝsƒÁÝÑ*z\f¼wô†ŒõÆãú\u0004ۊ³~t\u0016\u0003ž±üOá±\u0011ŠË2¸[\nÁÔ(û6ùé2oeˆ•Åê½úLÁVqR Ô\fI7ÐHh=M*àCY¬Ñˆ­p#¸Þ\u0011YvG\u0003à¹\u001f8\t‚<ˆˆco\u0000[³ž\u0006Ki\u0004\u001dRGŸj&õՕu\u00196:“ÿ¹C;´ÕÝèÂ\u0018Ëj–ÒOƒõ*W±[Ōk¤íknXâ±vRa¢¯IC¶Ñh‘}£\u000f]Æ\u0006ãZµ*StÂm\b”‰\u001eÔk™øòÖ¾\u0001Ö¯w<\n\u0001­™¥ñͪÊw)*èќ;fy\u000f>\u000b\u00066\u0017z'ÚsFaãì(¶õêÁ\u0005öcŽÔ@n“i±c'ëA>Q“оñ\bBù$JCv\u000b…b9|U3„™q³\u0003Ø\u00008:\u0018Lw(ô¾îMàaSåÁ®b\u0006GÎβÖÍÞ= \n<Ò!¯É.\"\u000eîR\u0014Uéwº\u0002Ì\u0012Êaq_Ë\u001a’;e]¼.ã1ØÄ~–qØ´•¨\n©pz½¬“\bÓsÐü¹Ø:2R\u0016%3˜§ü+\u001b f„=}?@Õ,z\u0002èz%øíŒ‹aj*Mô…ÈÍ\u0002œ$w§î\u001cyfhEá\u001beD\u0015¬\n‘\u001aÿ™t‡\u0015áоÁÚãèV¦e֚>€ŽI\u0012[Bë+V†(mÀ®TBã:ê{A\u001cÓà½WWºÎ\u0014.\u0010®yj{µ¶y/5–kٝ׹wŸð\u0000¾ÒäÄ-¦ pþ*-+\u0012i} Ë}}ÈiÅa<û\u001e\u0011ceÒ\u000b¢]ù•á¾vÿ\u000e¡•+\u0013øt\u001dÂçm=}qI7hyP™”Ä\u001c‘H±Òlظ\u0007juO–\u0017Ô×ûÊ86\n%W=M\u001cñàÎ{\u0003_bØÓçõÓÿ%$|Dì£ZL3F…8‹VãW\u0010u\";\u0018¼×H°×kyPøÑâëpƒ®=M1¿ëAp:UŠ>’—2{\fíØíwK1-<–êJÜÌùksö\u0013\u0016K\u000b&›êBˆ.\u00013_\u001cg§%ÄŊ\u001aBƉ_®\u0011Õ¡o8C@Ao= „#±®\u001fPïf\u000f|§áÓñØ)¿G\u001a4¦ÎVYÿjMa›9)õç[\\Ý]= Q\u0013\u000fߟ\u000bÔ\\pnœ,ra\u000b7©\u001dô35‚\u0002Œ õH¬mµ[ÁœÏ¿\u0010†¨îÂëq\u0019ç\b¸ñïy>’‚…°ã¨áP“4ˆú¬PiŠ;Ò_çÂø^\u0007büZ\u0001°d!j©^/i¼CpÏ\u0000b\u00190üö¬\u0004\u001e—FE´ôU$­i‚Àⴞv+)ñ×\"¢:\u001bŒË=M››¦.Ur\u000f{\tåŽ=MÕ\u0014\u0006\nIݞFÆFÄÄã\u0003ç©Tùýl=}<Azà\u0017o.û“y2‚†ˆš£x„–€á3y‚hUuj½ù¹‘Ÿc-¦„\u001a\u001e&í-tüßùo¹ÊË\u0010•ElßµÕx¬î‚fF­eþ\u0001|)¬æ«Ô\u0003¬æ=}f[›8mí ‹\u001fÝÁ¡Þ¼]\"ƒdÃ\u001f>ŒPÅߗ\u0017\u0007\u000ež?F’^ßÁ\u001b‰ŒV\fä\u001d•¬Õ¾F\u001b— ¶»\u0014,ŸL±>4\"\u001f=}8žº¦Á\u001c\u001b…Øš‹\u0013™ØJ:\u001f‰Ø¹J%ã­JÙ/Wu\u0019žØ©*\u0010ã¥<^|M\u000e½©­\u0001S3–‹…<sd#ÖXæ<\u001b‡\u0015@ÍÃNÚÿõú^úÑ]þ•¦’Àÿ\u001f\u0013Ó³ÜÃBå\u001dç¥ð\t”ò\u001fS,çT à@ àÖ\f\u0000d\"r°¦”öFUlë–ü\u0003\u00159ƅ[\u000e\u0011\u001a,óÒ=}\u0017˜¦‰ùî\u0012ùƪÌ(‚@zØ[\f«+ì=}æý…ûÔ\u0004Q9i\u001aŕí)X&7‚­\fØ%µ‘\u000b\u0017²´‰Ã_\u0005\f\u0002\t@´ê\u0002>ìÎÝ\u0017c {À·–\u0011\u0019Ö\u001fdzC /zïç %ZƒzßÔ,NØ/S”w,¥¬$†µ²*¬^S=}ÆØ ã:i›È#eEÈ\u0017¬ŒÍþ\tõ{ɂ;\u001d^c÷Ô§ìg\u000eÁ°^ºø»\u0010\u0001´€ömì‘éŽÆxÿ%3ˆ&.·‹\u0013ɄƱl·Ó=}-p,Cóó£l[dNÆT\u000b\u0013¥ŒR³=M¾\u0017¹’5\u0013٘ýb6‹Ý„…r•¸MéW\u0019B$Á‰/í1—ð\u0013m¿ÁOñԍ\u0006\u001aX™Lþ4¾k–K½É¢Pgsáä\u0014ÜðS\u001fö\u000b¤ö9ÍKzo\u001ftõ•= ó}\u001cO,LàænГ6®=M›^5;{°fÚ['Œ[Ö^Äýª¯Í´M\"&¸´¥øM½&}þý›Ÿ\u0019ç\u000b;Ç\u001bȬvyÀÆV= mFyÖpc\u0018½“o(ˆ±Ò•k.Óv%Ì\u0001ôpÚvÜ¢\u0014®Â5?ƒI]\u0011.íý\u0012¹2RúHåÑ':ô¦ƒˆ\t„Tž°‚\u0012éåXñë(ƒšxƒj¬3œ\u0016™B‘¦_‚×'ƒ~’H>\u001c¶ãðy©'+XžÅÜË\u0004Xùêñ\u0010·\u0003œw¹žÏ€-\t\u0016¨”\trF\f}“tÐ\u000erJlxËã¶&¹Ð\u0010?\u001fÐl\u0007\u0010“\u0006qýànï\fm.^\u0003‰Î\u0016\\RðÐÄÉ\u0002€š˜\u0017?ÒÔ]hûîqç¯WH÷CJvÞFñîB\u001a‘Ù®Ô|Z@ä}#–†Pü€\u001c\u0013t'‡-F€:¿&…¨8§F\"¶Q+àƒ-‘æ„U|ÎÍ£ùu+”y‹£¶ý.Ø\f\u000f¢\u0010Z—\\:\n-ï*°s .ç$áås¦.\nÁ8„9¦cRY‚Œ4\bUh©Ñ‘j|:èÑô½ƒ\u001e9®MY<¥<݊X®W“œˆ\u0003˜\u001f·cm#ôU…\u0002\t»UDaI\t²\u000fùlZ\u0006ùq‰ä¨R‰Í³Î 'SA¹g(ò\u001e©bÕÿKáFÒm¸\\Å?\u0013˼â®\u0010E\f\u00037g6ö‘3«úå6][éæ\u0010‹LÁóƒöó\u000e]ct5Ëig×nˆò¦Ï\u001d\t¦r·îêÆr= Ö´”\"6s´×QÙÇøñúõ^”mÄDÏ)ûÈåRªÚF\u000eÅ\u0010ágé\u0001ôI\u0012Q¨Ã\u0000æKė_¥Ì®‡ð¾=}y4äò\u0001-\u000fI\u001a¿\u000f\u0014\u000e= 9Õß\u0010»BrºÈùÁ=}\fýôQ÷ÃKì|Õ0€ó+öËÔq\\›@ªÕ§brZ\"/O­b \u001bXð iðÝQ53\u0007Ú>Úm¶= Ô­pî<\u0014ŠS \u001b\u0000e¨ö}ªJ=M\u0005\b\u0011›EÖü|£Šgƒ”ˆUáfÙY¤\"kˆï|¯V—{ôeøÃ\u001b~gø‘æhKwŒ=}\u0006®\u001cG>Ö\u0014ⱗþ\u0018Zç7\u0011Û\u001dÐ\u0019¹_žõ'@bS(õzáh)f\u001c[9\fï¤\u0000¨mHšˆ¦až^,Ç\u0014\u0004x”s®\u001135ðúÃàíŠ%*\u0007J6ÎdŽÆ2íŠ<\u001be<KìX’ãXŽ<\u0004X—©ƒö#®\n\\.«Ï<ÕÅ<Sž‘\u0010Z.‰3ç½6.ÃV®YŸYrtÊtú\u001eƒ\u001eOˆê†\u000bóð?\u0013H}ÿ\u001a[³´u>µ8[¶iä7•Åï^¸iOœ¯°nزHõÒè·\u0006œ\u0018KÕ8øˆºB2RF;*g\u001bÚ(sœW+ÿÒ\u0016(×\u001a½1ú9ý4ŠW†)¯‚_+g\u0002\u001f(¯\u0013ZÒ\u001ce]yóÔAL‘÷X\u0006\bT«eE탱>Ëx\u001aq‹Ö5¾ŒÜ±¼ÕtŒ…£j¸ö\u0000\u001dì‹\u000b‘\u0016ŠìY\u0016ÒM©õŠþ‚ov…Ð7¹ùŒ—^«P\u001b↘·Ò\u0016韸\u000b¬V\u0006\u0006ó±~Ÿ\tj‘î]\bp‡zž—0%d¯À\u000b!ƒHù—2\tŒ½n\u001b2å”Ųh›þ\"Ò¬Sā\u0003÷ð¿4s\u0012Ñyo\u0003&Zñå\"/ú²\u0001o\u0013Ϥò͗;HûŽ+-ÊùnÎq1D»2c½þ\fÆÜ\u001b\tH[lc»¯q¿Û\u001f²\u001e_‡ˆ±ù%м²= \nýNóÈҋÄ\u0015L¹\"³óÈ\u0017ù›”\bà#Ú3\u0019¤†ŽíÁÄ-ï\t»\u00125I\u0018{ºÙ\tCE\u001bj×B+Ȕo)U<ÉÀ\u001dǟr€b-9üˆÀK—zhÿ~-§¼úƒ­‹g(\u000e½@\u0012\b¢n>ýàm3‰îýÑâÞGæz\u0015æh\u0003ÞðV\f§ïT FÂaÐ<^$¯U¦AЖX\u0006<)í›Úؔ‚TTµƒñ†R>NsF‚ŒÛé8\u001aœ*F>1¦ý”\u0014?]3‰_†Á\u0003\u0011ù˜Ýv?\u001dõÅhØL€£9aö\"H/樂¦!Ì>ï§\u0006Ú¥(\u001eÒ(\u0001\u0016kÀ\u0017I|L¶Á÷Ó\u0005ð…KÑ\u000bìJL\u000bÒ&¦®‹ÑIí(åz\u000b\u0000‡†¢aÑÆ˜\u001fù,\u0011#L0Þì2ÞÁvÐZ‰­5/öã\u0000Ë-D•Öð\u000b„/‘o'8\u0014•¤…GŒ=M\u0006¬gMî8}\n¢\u0013ï|–é-“Bü\u0001„\u0003¡×s]1û\b©ìû~е›Cˆ¶/\u001a·\u001a€\u0015!ìº\u0003§w_\u001càV\u0019ƒ\u0013\u0000 DG%Àª\"Aî,düª@¸_sQ,æÝ¬€¼¼E£\u0016‰9dýcðE@$W\u0012cВfHêCc‘\u0012›HB†¦\u0001\u000eÆP8\u0007¦áÉÏ<}m\u0005P]H§{Þ\nýc!éb%æ§J= ‘*äÜs= o})ãIj48IQXd©îg´Ø³Â¤\t{EJ\u001eHÑs«ã‚T§Ý´CE§â®\u0003¶_ç\u0016í<­ÛXfå’,ª\u0003ÈÚî‘\u0015Ng\b3.\u0003\u0007<fX–œ\u0002p\u001bá±sÌj{îÑߺ\u0003\u0012uœMçîš.ïf®ÚF.Ý6®ùÍ<=MúX®Ê\u0014\u001eë\u0001̒jEgÅpÅfÅe\u0005\u000f\u001fÿ\u001b\u001f¯ÀIó‹ýÆA\u000e³¹NŽH†\u001a›‹¯\n\u001b'µ\twÅ\bjœ;íDCºCDV3EZ›\u0013E=}\u001aËiÌ\tO½Ë0iÕ\u0017;jÛ<“±¶^ùL=MKùK\u001f\u000f9‰oՄ\t.̉ïøOòÀOUò¬•ã¨~â[ñpA^•Ü\u0010\u0001¾¾€P‡Þ°Áßf¸¹€C\u0018?\u00166lû‘\u0001Óï–A\u0005x¬PÁ\u0013a€â)áG\u0006¢ð_\u0011ªp÷Em\u00183\u001bpÈ\u0015›Fœû\u0018nXº\u0013c\bÖÖj\bÎýHL\fú¾}^ó¹ÅÎ÷‚ˇ\u0017n³&ÒB:î\u000e›­†ÅÉ3ùÂQóyv¢¸ùÎ!Ë\u000fÓ°¥\u001c~æ~v΅_õMxÊä®­¨”…}ºœ¸õ69ûÂÝ¡Uö†»ªÖÓ^%1LÖZ¦-\nÚ·%«.Ò+®gùÉ\u0013G¸‰\u0003‰¶‚’¡Åüo€ëø5Ö\u001eá-v„ºê~Tý…ÝO^€'½R¹Ñ\bI3—îƒÂ\u0012WŒ\nç¯l\u0007\u001dWöppä\u001eI‡:CŸQýU•\f}lSó\u0012tC÷!=}È^s½2W–ÁÍð@ÿ.ýéE×Gù<\u000bcK\u001d\u001bñ¤µ#ÉdT¤\u0004#¦óG•=}\u001aûPªþ\u001c:k\u0006_G°Â†Ríˆ3±¿ölºÌS»l%)µxPšÞ.•¨SÀÀ\u0017+‰p¯ÅtؘY]þު·Ïųm¨û¹3Î{qÞÆMm—•ÀEyîÄI’G¯ã~„ùõ¯Ò\u0005¡´pCÃ^’*\u001f剆\nfÚãW³åâÍôÑç–Ú\u0014Ž'¹½-Çú hrN¨ÆÒ\u001e[‰šåNz±Ñ§\u0014.\u000fÃÏ\u001e'ˆ\u0001êc„U\t(-÷Xf»ê¯3ï]a:·oò\u0010\u001dÇ\tÒ\u001cLÅX¼ÇÉKNrw\u001d˜Âñ©\u0014È\u0017Eúÿ\u000e*½\u001b•µÊÞG§\u001c»ô\u0016\u00046}ݽjÁwóò«—‰\u0000é”\u001a”\u0018^e\u000fhZQ¯IZ\\³Òׅs\u000e\u0006|ªü\u0018¬z\u0019+:à\u0013\bÅR¿f\u0012Wôâÿ±\tæ/T™\u0013G\u0012ù\u001a¥\u001a\u000f\u0018f#Cž°g”AÉ\u000fNÆ/\u001bjÉ\u0000pY‰?ÏDdzõ´\u00167i\u0003\u001epbrM‰ËG\u0017\u0004fZ½öl÷\u000fÕò\u001e'Ÿ‰x¡:¾5Ö£‰‘›üH\t \u000fÅ=}\u0011Æl=}Ûë[aÓÂS\u0006u”á\u0004ªÎèJ\u000f¦^\u0005:\bxÆ©#Ez˜rô=}Û*šÀ\u001a{oœ\u001cü+f?šƒ\u0015»^˜\u001eÒOҒÕá¾\u0014£nfŸ$Æ.à\u0014‹#<_(n-æ­ãcpѓH\"×-ã\u0012Ð\u0001\u0010\u0012>¡÷–CÁTö¡ãB}Œ2¯âˑÁR€,ô[¯å§ºÑè\u001fV.õÙ\u0003Q\nö$\u0018¾º¨7±³PGRòLÇ &s\u0011˜¼(KÔÆA\u000f\u0007TÌê»®\u001b÷†€\fÞ¹(-¸¥\u0004Uš\u0018X•V*Uä˜zDæÞ›\u001að[Da¯4­+%ˆ/\u0018{íU£@ú+\u0018Zìaà¬Ù¸ýŽ>Ž\u0004îc\u0015a#œÕ»¯37\u0000\u0013\u000f%Hj~¨Ãªeˆ½Ó8½[La\u0012\u001dE\bޙIZíUdŒËAþDOcÜÿ’,¹Ø\"ƒÞÏà\u0003#KñŠØ*¹ËP\u0016òŠ\u0014Óy£\u001dý÷\u0002”\nzàù(îݬQHå8\u000bŒ÷h‡3Øæ¹ v¸\u0002€ÕI„Q†\u0018Tù<¯ÒìQýé\"CõLÑ\u0007ÀEÖmÕb\u0013#K\u001cVÕ¦‹ÙU\f\u0004\u000b\u0011aã&\u0019§ŒÐЬM¶}ÖeÆä.¯S\fА©]6]ÕgöŠ'\\ɱC<\u0012<qÓê)}“½Š±S\u000eÿ“¦Ûø%§3}Ðf÷5›\u0016ÛâÆ«;²…ŽXv\f¦¾æ\u000e\b³\u000e®Ó3]°Ý÷#{z\\\u0010âî3÷>›bTñ+\u0013ÃÜps\t¥YëÝQAî;÷[\u001b\u0000»½/NÇ\u0019€¬ÖO,\\œñMã7\u001d\u001cäõ/ŽÉžHó\u0010ç+Ÿ”Ý\u0000¯\u0018zõ›Ž ”C\"ð²7 #£#q‹;¨a\u0007\"ñÅ\\0\t³£Ðø[(ÑiaèÊ*b\u0006Ā\u001c\u000b:,ÃSáH\u00182,\u0003¡R¼Mã\u0017=}R”ØKcï:9Tæ¥Àþ\\$Bc°[$ªê0L92ªÞkc\u0011]H4÷o¦‚‡ŽH¢\nc\u0001^B,^«ã0\u000e=}¦´po-£\u0007·PôÖ·\u0003äˆYœ7é\u0001\u0001Bç¾=}’´¾³ã\u000f±<Â\"YæÔsàŒÈ\"¹‚%\u0004‹5\u0010\u0017t\u0000êV%¤x%\u001aütÝ¿J°|À= d³\nýc©™Ã´¸Dvb†Èäd‹E6\u001aH±Óq©¬ýj¬_ÅdçËjÌëpb\u0017¥ruß2ÓKµøüĤ‘‡®Ä^<›§“”¾èñm¯\u0003ä<®üÅ<Û­Xž{‘t[‘d™“\\-\u0006ØîY,֓èÃY\f\u0016‘ô?\u0001€GYä\u0007Yj3Xö~\u0005°E“¸ÿ\u0006ˆi\u0007x\u001f¨ƒ{6gàs®\u0011OYî\u0007“ôÜ\u0005ð\u001aÈê\u001b¹\u0003\nWu™%Ê\u0010B®â2u¾R®ê*®ÔJ.÷¿<•ßX<\u001füÌ\u0001ÈÊ\u0005ðÈ\u0007\bùàñÆ\u0012Ú±\u0003h3ç҆®*5™«JߪwKg¾êÄV®0µûJ\u0015J3\u001e’8Éèt\u0016ËDÉüwés\u0019ÊrÆ\u0012kÅnÅiÅuÅ=MŸý\u001b\u001fM׌ö =M:Ó߅Æï–O…\u0002-\u0015gåÉÁ…\u0002!—•\u0015\u0013õì\u0015å=MB\u0015+ßE\n»¾ì÷7fÊi&ø\u0016·D=M4i\u001eD9j~ý‘±äžþL©QþK1]X\u0013Ÿ(¢' Q¢H*€ÕûV–\u001eˍû֛֍û֍û֍[\u0001˜—\u0018‘o\u00042ÙÄ\u0002rN”gWÇ\u0005[¹)ý¿ï\u0006\u001d|íNoúáöN^ê4ìïQ‘\u001b[Œˆ÷‹öÞ\u00137›„Cê6ÆèR\u001bIŠÌ~h¯E=MS‡WWXÐO×]ùª°@\u0016\u0000s,{‘K­Ý\u001càö\u0006uÑۜÍÌ\u000b\u001e 3\u0011»= \u000e\u000fƱ\u001aþYԜ\u0019BÚО%MÜÔ®d´×°˜\u001bNz\u001e\u000f@½~ìqoöIZ\u0000™±Z}ð¡ä\u001bôX\tY͘\u001e®\"RßrìÇßäÍ2ÄÉÜ\u0002Ô\u001eÇT\u0000±ÇLE…\u001a\fÁn\u000b‹Õ‰§!•*»ð´R+Zû¶\u001eÆ[r\fKWúY\ne&n\u001eÔ\u0010“(‰<ªÄe“\u0003hÛO©6Ödzœ.•ïIÂÛ§êé\fs-\u0005ZVrï;\u0015ß\bÁ´ajÖ9'\u001d\u000f3±êÆ\u0000\u001b\u001c\t\u0018óR3e9“€;R?¹\u000e«\u0010â‰IîÙÌ Ô\u000fŠÌ©{§y…;‘ƒ”+êW\u000f= ôýý\b´û§\u000fñ'ї\u001aq<Ýçaâ&¸[\u000eT*~½ceüeŒ\\–5fNW™÷=}Œ“߯ج߉ï°\u001f\u00055^\u0005þ?ñ\u0012\u000eKJw\u001edw\u001e?ÌQ\u0005áËÏ\"\u0010YA\"õy\u0002Ø\\L!¥–IüÌ·¡nµ<~tJàÖz)ÿ;u\u0000úŦ\u000f\u0003UU;—W\u000b¢¯\u0014Q\u001fÁAö\u001cW¦Á®I\u0004\"íqq‰)\u001bÙVHX§Ÿß=}\u0010ïö)%…NÐx=M®\u0004\u0007¾˜ˆ\u000e­3•Þ°X0 •‚ax²>¢W»ãQaX2ýÙñXžD.©Ú)Ð?jb\u0006Ût¼kkçð©L\u0014Û\u0005\u0000ø¶œ\u0018¹4\u0002\u001fª2\u001côO£\u0005êjìQϦ\u000b\u0016Zh™W= \u0001|Sb“zÑ\u001e{'|F•\u0003ÍyOæ(¢' Ð\"  ¢ù֍ûÝ|Ӎû֍û֍[ûÖ=M\u001e\u000e(\n(,ì\u000f*<ßc(<ÀMj÷\\QœÞ©C8hR˜Å4®©ò<–±…\u001daYŠŠ\u0005I:Ìè¤\u0007j¬ösA…³J)…Š\u0014?Âaä›m~ùŠ“\u0003Ä.ªòštÍôGÄâ \u0019)f\u0014nTÆÃ×I&ìØ\u000fáÝ7¶\bØ{s\u0017è&W7[Ò>ùs\u0003\u0006è\u00147n$\u001bÛÐ\u0001ÓKfÝýQl\u0010€=MXOÜêÜ\t×ü·×\u0002\u001eŒ]:à5+ðš9dn¿0ú’c¹ÒB<#ÅhìfÑ\\ÄWŠùˆ}ý/“½!<ŸY°^Ã&3úQ¤õ\u0007§q7R¢ËÅCY’€TÜæÂ·W®ç›FÐî‹2‹*G“\u001b\u0010tÄcƓԞ&Ïîâä<Ü\u0004\u0006Q\u0003\u0003œþN¨Û\u0003‚\u001e5Oû公9Ó¢ÞzË8¾Øºu§÷\u0012ˆðšÚuV\u0002T›3ó\u001bŒæâ+ÓµÖ\u0002qßµMiû8\u0016Š[×ï=M€\u0003\u0006½DïøåýžÛ1ü\u00160ÏÛ73ñ´·=MãIž_uÏ/€–\u0015@‘\u001b.ñÔ\u0002P'F?\u0001|ßÃ8\u001a<cõ\u0002XKtnðÏ\u001b$§Jn2¶–ªÉ_ns\u001b\f,Ewï2•\u0014<Ê{ï3Ö\u0014\"¹sO²Q\f2!±·1\u0017Ù¢Ýýu¾;|\u0003²\u0012•ê厐Ø\u0005&çKŽò¼“«g©×\u0019\u001e\u000b.Ž?\u000eò\u0012\u0014>ʗ\u000eÓ\u0019ò#Bn^„\f¡gœû\u001e¸\u0015\u000b¿Ð\u0019sÒ\u0006_ƒó¬\u0007Lº\u0018¢ÛÃ~\u0002\\\u00045}Ã:\u0019¦™á±\u0017ŸgÍ\u0007›Ô|_Ðá\u0001CvV¿pÔ\u0018¬Ûé7n8œåc\u0017;*zÿQr\u001fáLµ¿´K\u001e\u0002Â\u001c\u0016è\u001e\u0001Ö\u0014úE\u001fÑvB:'\u00118\u0004å‚ñ1­ƒÐh\\菱b¥$úš2i\u000eiBÍG9ÁG¥ÞbJϤTÂdRˆ6é\u0004ˈ6\u0017åҙF¾cªdNÊr™l·îGnƠᒥ´ê7‘hѸžêE\bʶòÌvf¾fY\tz5„\u000btrÅw¥ÄUöæU,Tͅݙ=}¯L\u000bIюàøÎ±q.m<–Š\u0006·k+ýŽÍXšÖQêÛ½•Þ=}¼\u0016\u000f\u0004~€7ï£Ú™:òãõP¡Ï†B\u001f)¢'àX4$ ¢Ñ{«øœÑ“yûÞ\u001bʍۭ‹û֍û¾Á•¹*3]t±ÍpEôk­Kõø\u0000ÍnóŠ•T%:ì{á§p³e‹UQ0‰ÁŒö‚Óh»/íúب•¨ŽñAyÌkt«N.‚]¾W\u000bÑ|ÄofÓ^w¤&\u0004ÏUÀs€è\u0017õ¦¨¬hy…dÒ·Q¢5æÜ—W\tr3b}m‰y„ªÆ³9)\u0013íÈÓSǖÖYÑv6\u001c¸†á\\skŒFyòïàªö\u001fÌøÏ…íÆ\u001fy\u0013·ª-žãx\u001fõ&Ó!քÞÓÅʧ=}Iï\fð²ùÓ\bÎ]fU.4‘À‡±C•Ç<\u0011萂çžGœ\u0002¼±‘†€°+µMN8™ÙR•±K¯Œüð»\næo]—–\u001dï½¼?\u000eÌ\t\u0007á\u00197><±˜R\u0016¦Gvå~\u0014X\u000eåÄd¦Œ\u0015æ_à§¶µ^ܕ0\u0010‹Ê “ZbÚ­0’\u0012ݰ\u0017*1׏ª¸tHf\u001dи\bˆâú\u0019\u0000\u0006gß¹žŒò\u0015‡\u000bPŸ¦ß\u0016gÕQ ´+!ÄÇ&Â×E°‘¢@®í-\u0002°žPC§%\u0013\teP^UAx½,—lH>MÁDú§_V¬ÖOœµ¥\u0013\u000bbXû3C\u0010\u000f¨ÀêQ2æf’\u0015sD¢ÆH\"ng\u0011BJººµñ¬Q­Á†x,ï?å@N¨å•›Lg]\u0002¿8gà\u0007X~õa=M1810o\u001e\f˜î\u001e®g}¾à£³)\u0014/i„\u0003üd¶ÉD1Ok‚ü\u0011D\u001e7°¬€fRãÞFSÔF%\u000fÝI¬\u0014h\u0005\u001f\u001fÄ2\u001cLµ©ù‰lkCùD½eÝóyžN½Â\u0000,zƅð\u0016^£ªÂlz÷…ÒæT«¼~yì]µåD‘VÂÑù\u0014˜¼me’.ï6\u0007\u0000\u0016S'µª|\u001eú°k§‘>ÃÚ\u0004\u0011\t= >†î\u0019¼;´oäٜ2e%Ü\u001b!IW*¨-I\u0004\nØbŒ\u000e7\u0012CÒ¨\u001fmNÂ=Mq1cƒª™QÅ8µç匮Nᄒ)&/jx;~ê\u0013ÑżÚyjq= 9£ç´±˜Á¬6ï’Ö,HgšØ¼-ö5L·w0ÚÙ\"¥vEñEµÔOË\u0004\u0000ûj¦råÙ\u0011u<Ýze£wU“\u001btó—wUO•‹ðNɁÿÂ:<¿õ€3rë\u001a\u0001ÕÜ^të‘\u0003Zòë\u000b°LÎã\u0015i=}C\u001c\u000b9ZÀ>»½\u0015´ÈW0¼ñ= \u0007ä&n¿€¢mCOÊ;™ÞرÑ/:Y\u0006ýäúNm({»èšý¤À¤¾D\u0014yOá\u0012£¤ê0I\u0014³’Ý´7\u000fČ(´\u0001øk¦—»¬\u0013ï…Ø(\u00048ë\u0004LzJ\u0007\fMYë=M4øµJ(¼Â\u0000\u0019‘%‰zjr\u0002µ\\:ÌdØ~©é+\u0005?&ä!ªÍM¨Â\u000b;ՍûæÎû®\u0013œqû֍û֍ûV‡®¹´Ñ;\u001bz”ƒ\føŽ\u001c“Ô;É\u001e\u0010‘Þ¸¯¢?¥\u0006\u001b؜åg昞\u0002w\u0012Sw\u0018ÙÚüïæûžªE.ðÆŠ ¼JàÔ\u0005!öý,€ä/’Þœ°{†°ñ\u0013¢\\Z7\u0004\u0001A¦7*‘Åc¨sƒb$—§x\u0013Räìô*÷(ƒ™zî/\u0013\u0002”¸Œ_âäî1ŠÃ(\u0007šeøØTbÅ+1š\u001c6ŝ®H:déý]jÂ%q6½¨\u0012\bc´\u0013‰,Bµ-V&-¶­SÈÓõ€\u0016£y\u001fºôéÒÜÞé6÷乆’—·é\u0017m®\u001f‡qC·¥ÌƒñâИ^îÂàf«\f·MîœÑè»êÆl‰»_zû¨>V\u0013‡ø\u0014ÿ³\u0002¦mç\u000f߸êAei§!í<6Ù.æ[Dx\u000bð\u001côO^—h8ãŏ6·\u0005\u0005}fՖéMŸ\u0015\u0011N\u0003vÙÔY\n\u0012\u0000ÞkÖÿ\\RÇ\u0010ØqðÁM¯¡½]ü¾>¹F™¬|\u0005Ñ\t°çÌ{>u^™L¯KX»eÐÉÔÀmcឿ\u0000™Oáå)¢^ë$ϖ+ò}4DœFX\u001c»Äb‚i\u000f\f²žÅEU\u000biN•´\u0004\u0010ž=McE\t‡h.β4üK\t’~ò\u001eÁDë‡éú8ª\u001frIÒ\u0006väcÑ×ÖŒ;åÀЂŠo¥:ÉèRsQ¥\u0002\u0016–åûƒªSw5]¿Hޜrt\u001cwóJÑÆ’fí¯œº¡ˆŽõð䈯\u0019ÇÓ\u0006ÌÁQšŠ\u000e-õ„¿ÄIWo³›µ\u0006\u0019vm\u000f£ºG‡TùŽˆj]ö„žÇÙ\u001fc\u0013³=Mš( b) P\u001cŒûìÖ\u000bï֍ûŽGû֍û֍û–íU<Þëúˆ\u001ey\u0000\u0012/¡øŸ'Òe-Ä®?\u0018R…€Žæ= \u001cü¡Îe\"Kê&Öu+ìË?ˆüB\u0010“\u001b= \u000f\u000e¡k\u001d#Ÿ¬(ä¸0\u0018f\u0000ü\u001c= \u0017\u0005¡¿ö'º+Ìþ;ؐD\u0005”€\u0007Å= ß»¡\u0004/\"‹¾Yï'Â\u0001‡‚ìW‚îo‚ü?ÂùŸBa4Ñ[Ɯö©åiä§Édâ”B{†±Y§¨¶wüI\bœådÒò‚q™\u0011o5q˦8gŒˆ@–V1‹{¨qÍd\u0005–\u0002÷n‚žw±ÒǸùgœU= 49Lš,“ýCåºQ‚\u0005˜Q…²ˆ[u„½A~ì’=}“\u0005SkLxDÂL5½¶«cK友d\u0016•Γ£ˆÝi”øBâVq‘§hÓkœÕgŒûKz\u000e7±.ª5§¼\u001e¨øšô\u0011çå\u00043\u0002³sÂø‰÷‘f¼\\KÞ_O²0eOªº·dóëÂ\u00195q\u001fÊHŸí\u001dß\u000eÞÿ0\u000fþ4[ÌÿM±\u001fÖ\u0018\u0002®xŠ5\u000eª¯\u000f©ñ¶\u0018ÞxY?¨}¶\u0003Áx‹©>Yþ^LÊûF\u001b\u000f©ˆˆ\u000b=MÛǨ-Ӄ\u0016ûS±ïZú2ی_]7ÉͲ•щÖõNû§Oä¶ðÒziˍMͧ-ÓiV÷vøfû‰'\f¸½Ñ«–õŽø=}ۇ/=M±]ÑÇÏ\u001d\u0013=MÍ\u001f\u001d÷ÝD(> ã¦âP î֍ûkþ\u001fí֍ûVúÆÖû֍ûÖýÛ¸q×y+ƒ—¼©*ü\u0001wً‡}Ûîî ?u[÷&L\u0005,§|\u0007œ§èGk\f؂ótNœ\t@þ\u0002\u0001l~pýä_•[á\u000f-Ÿê¯L1\u0001¿ýt\u0001\u001dƒl\u00191û]\u0018Êñ\u001cÓúœ\u001e\u000bÎvþCˆXSÛ_¹)ß\u0007ӓSöÐñ‹–R;g\b™†š\u0012>\u000bZ\u0013¶¬\u001fã¶´ªSÍe*Ìs£½]‡èÄ/{QۏîìËê§y‹¦ÑŸb\"ƒ®yL…–I[3pïìmÚøË\u0002A\u0014i™4]Û_¡®½½fsíÁ©e\u0014P™%u€]}(ýjFO9…ùgíS¯r\u001düS4Ó\u001bRi\u001dÝeK*?²\u0001ý·ôù\u0017¡ö\u001b\u001cÀ\u0019Q\u001fhQr¬þÅi²o³LÝ{Àdª÷ôˆ®©6­\u000bóÃço¬‰u¡Y½Šc™\u001d.´ˆ\u0006jˎ™qé2Ÿ:ò1lBY1\u0014HA¶L²³\b˜yZ½<µkVœ1]\u001b~nBqUôÙÚ©ÂTúɕfO\u0001\u001c€xM:¦°Ö1°l9­nŠ^19úshƒZŽ\nìâ<«Ù\u0018\u0007Ý \u0012‰«‘È“9,¶Î¢ñÅÕXFß!Ê)»AV›[\u0006\\\u0007N¨ÐŽé>xh\u000eg˜çA(®ÁÌ\u0016Dê_¼¥P\u0018BbõÎàˆ\u000b-ìëØ­Â\u0017qÑ\u0013QØ\u0006‡x\n\u0016*vŸÿA\n\u001cG¨Ì\u001b¦Ô\u0011ߐ\u0017ç8ž\u0018/ÛWÂ0þ(x\u0015a\"ÊÿÅ0KF£X5Yˆ¸K€½¿2DRt€ûÆ&ÍyºXÝ{;qo”Q~u?Sã,qþ…¬{í°\u0019æ\"½\u0016vèÖ¡DùÃ}äÊT‡ì=M¦ô_>X»\u0005%9î7rz\u001eX^H(qïbPV],\u0003®fBöG:ÇÖçaæQ!²»³‘èU5Þè= “˜6êN\u0007bÕR?£\u001e6\u0005¼r¬\u0012H§éÕJ”\u0015õ€Ôe]²NV\u0001â\u0010vèšÖ\u0003\u0017ÛNÌ|ÿ+ÁÆ?#$á#€5 = áŒûÖ=M·ûÓ=}^ҍƒÖû֍û—±\u0007šÒæÍ7zS\u001a\u0010\u0001™¾v\u0017\u0003\u0014Å!”$-\u0004áÚáÄ9.ääl[¼þÝg\u0002C8åÙ\u001añ$Ȭ…påX\u0006Kn€råd\u0012uF\u0013Ğ*¢‰\f\u000b]#Ù×SÙ^‘Vk­\u00060َ>Û¢\u0007\u0013\u0016òbìÊ7\u0011\u0007\u00192ÎïxfÓ\u000b’DîÍdہ5v÷\u0010\u001dZ–ÅÍG\báfÆLøì®¸MŒ0Å“á–ÞD=MÀ\u0015\u0019N¶úã\nêÝ\u0014õÿ¯\u0001Å£¬9›¸\u0003ñgØ\u0018\u00168K/¿@žèI–g½\u0006á\u0007Ó\\ߐ¾«SOò|š©;®w\u0018\u0012\u0018:?oþ\u0000\u001cŒ)ª;Dù1J­ÄÖLg\u000fèó\u0013ÄBâÅêØ/rEÀd­OÁ:LÔð\u0002\tçû8þÞ뻋bö?0ƒØ\u0006^5?>@\u0017\u0002A¡/>ñw\u0010¸Ùºo¸Ï\u0012´¡*ï(·™®Êô+\nE~’~\u00025ŸE~\u0003C\u0019&Ÿ\t×8éÝc~\t]£õ_\u0010\u001a\u0016gjå¿x\u0010\u0014SÛþž¡9Ã\u001d­0ó\u000f|–\u001ca¸\u000foFd\u001f‚‡\u0006\u0016w\u001cqçj¦\u001e\u0007锍zw\n˜¯N¢+š\\rög\n©!ӟ;\u0002Ž‹ä\u0012Pƒd\u0019F\b–ºÂWñ<ñz+¶¿Ôämåª\t\u000fÌٌ£z¤MwK=M¸]â!\u000fu®ÌY\u000b䝡Sú\u001f}\u00189\u0000ªŒÙ;cç˜\u0010‚«GIr~”Ý\u0017Æõõ§ðbtf\u001bsÒ] \u0015J¡|\u00187äñè€æ—¥€×B¬ù2\u0001h«\u0000ŽˆD÷Û¸ØV&¥xš\båÑTM¾Eƒ2‰[²äÏ7é,\u0012o\u0001€¯TN°î&&¥N¹hԄÙQ§€aNö\u000e™h—\u0005sÒÓ°mï«X?~ìîqÅÔ¼OcÄ}nx‘%¥KË(7vC.ÌÁ…„=}ûÎö“ìÌ¡eM­d\u000e‹†ë\u00176ô«zqÿðîÆw=}¤Æ—RÒ» ,ba ˆ\u0016\u001cӍ{èV¶‹ëÖ]ûÖ=M\u0005ºûÖÍÛ§i£¸=}\\(\u001d›£ÙW‘(.ácø\u0019€HÛÆ,ãIœ8/¿.çˆö(\u0006æ¯= \u0004ýhÎM9åŸyÃxÄT:\u0013­ƒ˜~Q&—ãÑ\fù[.ÉΑxØ(\u001e¢@Ï$¥ˆ/4B=MÉP‚+e\u0010î6ásc4¡=}‚d—¨q\u0001\u0016?R÷æãÄ)ܪ¿ Ð\u001cdf޻䥶i(Ûn†Öì4ÔÇn\u0005r\nt´õÇA҇Z=M£†Ð\t\u0017,R¾ïD…õL¶öîÂð‘VmR“ØX‹N+\u0012\u0006Òÿ„>ñ‡\u0006ƒ_ž!YI+ØÇÓ°Óç6IÜ8©äåŒõz¢öñŨ«Lƒ\u0012R|”·“\u0003ô*þl|i…öj\\ív1Ÿ™UÛ\u0006΁œå:ÖÛÎ\u0005\u000fã•\bÍ{oh÷š\u0016%Œ€¡\u001cfî?ødÙè†BRWS€Ù%\u0015»{™Ü’;Î=}ûø:ؽ¹ê@|¼êÉ2ä¶iPük2½Wr\\ýÕ#G\u0001½Ìîý©ÀóN˜Ö»€©]8)\fEH›Oû½\u0016Q\u000e垶=M\\ Å\ba„«.\u0012æ\u000b0e?/ƒ’\u0004(–S¯Rð4·àƒXˆ?Ç\u0019ú)ô÷½\u0004\u0015¨s\u0018…¾bü\u0015T³_¼a\u0012øyžî³\u0006cÇTÚÑ\u0007ˆÓZ¯\u001d\u0013+ø\u000eßh\u001dìkHÖ}\u0002žì…LÍÏP\u0003õuÊ.ƒ\u0010\"9„\u001b„0k³eð\u001dZG\u0005p–\u0011Fa;ŽqA”»Óu×1+ÙãD\u0013Ûüœ™¯¡ƒ\u0017I|\u0016 ÑÃ>\u0012Á\u0004A{\">¡\tƒt^\u0006éÇ\u0014̚ælá\u0007Èô\\‡‹ô+öYÞ\u0004É\u001cKZ…~3J\u0015¦ÔùyV\u0018=}±¥\u000f)œoÂõ'֞\u001ehûÊo\\Ô\u001eäxñïd\u0019¬s뇼…ß0»\u0016%Á]™\u001e\u0003K]«\u0005ÐQµ\u0003Π\\G_ê“Ñi>E9%²ó4øÞw±èª\\{Τص2kä´yÇÀìÅN…¼\u000eÉ@rÈ¢\u0011)uDBt9Ñu­:/U:\u0006ÈC‚Èî\u0011Ñ:˜Ÿô€eË&q×T\u0019²Ç©\u0014‘M.gˆ‘…»Vºþú\u0004Nð×¹.‘BÚ\\vô…m¿Nâo\u00158}ÅçÌë\u001a<oóç\u001a !\u0003¢-ðù„èšocz\u0006;1‹†d°¸QiJæ\u0014.Va\nÕ)Ö­Fì܅ªŸ¡I÷ï¸ÑJá¬\u0011›ì\u0019Oà¼\u0005;MØ\u0002‰¡ûbkdÍLñ¾„傍KÒg{ƒ\u001få:Å>‹\u0004¾ù€t‡cø-{æ4ú’sú®ü„[Ž?ÔgPü¾ˆ‘'LžZÀÜö1u—g\f6Z±†=Mäô‰îÜVÆnø¥·ÊNl:\u0001j\u001cGwl›|™\u001fâ­\u0007mŽœÙ\u0007®¥[™÷\\x²\u000f¡ºÔGcò\\ñX\nåªxOª\u0017˜\u00032\u0002­ÂØ/OŸ\u001b\u0010ŽÃOšÞÞ$Ì\u0014Ãÿõ¯Ã«\u001c\u0011×\u0013‡\u0019\f\u001cP\u001fæÉIÿ9Ž\u0018½(Ñ?¸‰\u001d\u0000«àoþÊ\u001cdž\u0004OÌ\u0005ž1_\u0018W\"?Ÿ“Ñ\u0017W\u001f~\u001fuç?œ¾\u001d…—\u0013Ê>\u001eãÜ\u000e?÷\u000e&ÐÁJ IW#1L+ddF¨™ea\fÞ<ìë܀ž¼/„–(҇cij/\u0005àÉPrsâØ›\\<\u0001Đb®d@7?á\u0011c±L¯­„\u001c¡HæfgAÐOº\t±ñŒú3ãõ\u00108\u0014—å²>:ë¼½‘Ü-©Ã= J¾Cá\u0011dkFLH¡‚©d^&FÒ= B©ì D\u0014ä³Y?°ìR\u00114f&ÄpcJù\u001friF­´Ÿ‰\u0004³n\u0013ߔ¤äSx?°¡¬˜FF!¹„©‡QKP«g2ùd$†Ó= R'ÕÀ<ÚE“™4¼kÍt>¯b\u0012\bþ±¯Šˆ^“–508v \f\u000eb$C*\u0019ÛǨDZeÌøwlctQ\u001e\u001bk\u00188sâ±£Åì«KÅ\u000fp9Y\u0011…\u001c[r®}‚Y:çJ˜¿|áã3µèÆv’\u0011t5ò\t\u001f\u001flU\u0007SËÙB}ãÍ\f:¾¼Ï\u0005cŽM\n7\u000bÐèÏã\u000b’]Á¥\u0015„ÀÉØ¡QÒ­ìM‹¤;mhwT\u0011\fvSúuíØÿ‰AÚÆ¥\u0012›Í,͏…\u0006ãVÖV֑\u001a‘[¯ºûqžú¡•‹'_¾—2ÿþi\u0011ëNz[Û8\u0016Æ;ñ¾Ž†Ü\u000bq/K_\u0014ҎÀ·-¿\u001axWØ¿u\u001ayT” \t’#\u001c¯@˜ Œ# @xçÕÍø\u0006\u001aӍû֍û֍ûåŒû֗WJà¯ße\u001d\bVì¯Çç\u001cÈ9\u0004ï©\u0002\u001e¸g\u0018S\u000f¤_¡A!ÔJ9àù±!ˆn%Pj0è£r¡Øf'R\u0001”@—¥a\bê$ñ‹l0§î$1H.Ƙù€¦®-†\u001fù€^ªcèN7bՑA,ì-¥dàɒ\"¾®3\u0000¿G@nJd}~¨ƒÜ0\u0012¤4³ªHv~dî˜1Ö\\1’ɸè\u0012‚ž¬3“Kw쎩¤é\u0005DT=}Gá¸K\u0001Ëxê\u000eÒrÚ¯µÂ]K\u0005¶hæèRRԃ„¼]MÃÉP´OÅb9RJ4áÉpf¥¤\u0001wR¬ÎCâØ›\\¬‚a\u0001LI6î¯Á\u0001´Y:îT\u001f(Î4®@‚$E.eð\u0015$Ó*eÒßDÙ\u001bBÙ\u0019S²'\u000eH>\u0014®\u0002\u001aÎHnŸ­‚Ó]ºiýÉÕM:ççˆ\u001e¸‚øÿI¦Î;ƒhŸ3ã)Lmûæ\u0012••Lc¾å2Ȩƒ= \u0013XþL­Ã\u001a£XÖÆåCˆ8oÕ\u0019\u0011ìØ9oaœ\"ŸŠF°UC!NEpUB±Úµ2ÉSA±ªÙ©ØeiD´j\u0002\u001d\u0010D\u0016?m‚ÀR®¼„>\u0015k†\u0004¾„rßEÓþ¶¢Ñ‹*ËVÅ0\u001dF¥¾ºt*zŲØBµš/s¹²¶æ\u001e\u001a‰üº³æÛˉœ«j\u0007“\u0005”¾nhG\u0017ŒZK$9”K¾¡h&Ï.„P\u0013‡&V‡FGۅrŽ“FG~‡‚q‡QÕe6o·„Ø»e»äŒ†õì†ïôŒ\u0012+ÒÙB¶“Þļ£c\u0005L\\HÇ\u000boYN§¢/}4LøÀà\u001bba~Ö²j­µ¼¸ÇdŸméÈh5·JȨ<ÃÂ\b‘5M\u001eÉ\b\u0003qSاºþ»õTÅFgÁaòdãù™:\u001a~õ°<Á…sYMÖ±zö>ö2\u001ekk;ۮͽ”Ü~ÃC\u000eÑ.‹Ê¾âÕ\u00154ºÊg»Çg<‚\u0000F&\u0006\u0016Qp–»¡wÏ-\u0014w8\u0019ûèh\u0007YfN~T²MUñÒ¤©ù#m\fý…B\u000fÝ©œÕ¹cmíL¾‡Æë…S†¹¥'EL,>ˆAŒ·¥)\u000fL\u001crzÉõøêÒùv\u000e¾×B4ùèL‚cóçfæ6;¢7VŽÅûytûnµé–^¾ÒS\u0004¿½Ÿ.'=M[ZXÙâa\u0018=}'Ž”H\u0007„èpGã\u0016X\t\u001eþiuÅ«ô¦NŽl—QD÷e| »™NWÒnŽúϐÓ\u0007¶»ï1>²k›Ð,\u0014€ÿ\u000ea\u0011òcpÚ·“Uܬ:\u0007eŸäë\u0001Ï~*\u000bœŒˆ\u0002cPëgå\\?\u001f9*'àX ¨í֍ûŽ\u0013֍ƒÖûÖ}í֍û֑h¦Æo€y³$²úEЎ‘\"sOG0ë±hu2ÙôM±®Ë3\u0019”K±˜žXB¥\u001caÙ1Z\\ ¡e$\u0014u)(/4ðLyà×ç\"v47²È5’Ð°fÉbF_5’ͤ¨üZ1Õ¦¨ˆ¶JÂ\u000es1%j¨ÙÇ1S—°8aÒ¸“¯äˆ«jhujèú¢”än\u0017D,K@…¸djç¾rDËńÞAEIÇ,e¢¬3=}…T}Lƒò™97Rè\u0019ûpnñȼ2S\u0005„[J\u0007þwYëÊIPZ5\\?ÃÀý.%÷~HÈwriwÕ²¥\u001d´ÄÍ\u001b\u001f»j¶\u0004tñÓŪF=Mtü»ËÂ\u001b)5?ÞːuwÓáÁ\u0006\u0019HU™×ÊI\u0017dm©â:\u001e¨U¼\nʁ\u00182-uî‰h\u001a\u0013ÿÕÕ¬‹YSfkڍzj]ñrÁ°®\u001cB=}OZ\txß= §\u0003Ä®Wÿ”ÔÏÂ\u0007ÒyoµAš¢;\u0015¬ÜɇzV#ƒ;;ˆ7Rðˆ²¡Ç[-,›†@{Cݤfî”P²—α\u0006g¬ˆ^8±·Qqk…\u0002g/3ikl8o»Ø\u0011í¤Æ²¹µšSO\u001aºIÒòlÍ\u0013†Š\u001cR³ßÊ¥›f+“\u001a{ˆÑêâÁ\u00136º\u001cÒPÕªµK&K9\u001ayIÖâj±ÓvžÓ’Ê¢­:;µšúxßèf¹\u0003VšŸÐÑÃĽç2[ÿZø\u0019TóîÕݖv\\Ó\u0003ê\u000f\u0000{“'#c.~­•@n‘P\u0014Æ£U9½ŒÏ\tDé\f„j_G΅n’¾”Ò\u001c£³êE|l2ÚØÿúeééN2×Úpü‘ñRÓ»BÕü|WÙ9ñçmÑåŽÆ?‘\u0013=Mµ;ia/Ý»›¸\u0001\u0017P‡¤§±\u000b\\Øï›H\u0016õã\u000er~tBO›\u0003~jm\u00102j\u0016R\tÊ·5ßÜLM\u000fƒÔì§Í½¯¼³Ìi\u0015q\u0017Ú¯%ߝœL\u000fÇÞì¯ÃÍ¿ød_¾„_MÏ\u0018i\u001fãïÆò!„â §B!Š®.ð—} í‡\"¼?\u0000jÁ@§»&¹\u0007*\u0002:0D\u001d\u0002@³/$é\u0016Xh\\‹¨­õcüv§\u0018üAäÇiAŽE¥x—Qd\u0018“¨¬e㬋6\u0006ÇS¬Ù¸‰\u0013ã\fú=}\u0006ô½P§\u001f¦yyNbg¤’Á(û§fˆÑLâ\u0012£1^_¬pWs4sÅH>i4}Dj\u0015\u0001q~M«R\u000b€´º/ÃÌê0C‡¥8–¬‘¡8Ë'åøØPæÜýQÚüªq\u0017‡¬Kå\u0003d»åم«óÒg¼\u0001ó\u0002ÄF\u001dƒX<À ê\"@Ú»;'ùöí֍œ^†û֍û֍ûÖQ¾.¼Zó¡óÏZÐUÆã\u0010ì.\u0005JX\\‹\u000bðÑ\u001fß¾\u0013\u000f\u000f’8‘ýû7§S©|î\u0004–ù|ý…¨\u000fr’ÈëÝ¥Ná^·[×|ªž—\t³äƒ…>¯#õ]\u0016™>ë&›”»\u000f±—×çŋ>M_™|¬\u0007³K»o\u0007*^«z\u001b\f\f\u0005ӋÊï²-^ýn\u001b\u0004Ÿ\u0006“]‚ ³F\u0000nÁ \n$,-#–,)Ø\\O\u0000æ® ƒ·\"\u0006Ý)ˆ5]D†æ°Yåbrö/\tGcî--©^_Dû®°b7cÒß*©5eQ­€aa\u001aº¢å®@‘_¡¸FxÛn\u0013¸\u0000ýݟ\u001eFØ>ÒJÓäKE©÷hRoir-µ\u0014½CYÓy2\u0015ÔDëCi¡¿²\f)5‘ÒHεt¬ŽÀèA4{'JÒîp,ÇXŸd1\u0019ÖB\u0003ge¶8ºô\tTÿ\u0012‹\u0016uñ¸vºØ}T³gŠÂî÷ÔùÂyžr“\u0013¾\u0006û‡íŸÑ,\u000fó9î\u0004WlɌÈôâ\u0010ä:ôp㣹¦ò\u000b,C/9\u0016}Sü›…˜\u0019ß\u0005a‚ëÁì¶\u0011åMµ‹y~×Õ\u0014\nŠ\u0019Zâòœ®…íšëëc¶ä÷L¹\u001e\u0013¦å!pÈH&ãù֍û\u0015…ûÖ­Ë£…û֍û֍ûö»\u0017\u0003è=}ç\u0001•Z§•%=}ºw–\u0018þôÁ/§/#<Šn–¸Ùô\u0001\u001c–§¯G=}bÿ‘\u0018\u0015ö\u0001H·M‘|¼”NI+،Ë\u0000rÔ±ëÊîN±ÌkÍQNã\u0006ÚÌx\u0007ҝßëÆ+NÓ>Ú\u0014\u001c\u0004²G¼ç\u001d˜>FÝgø\">a™¯;\u0015]R•\u0010ˆ\u000b›¬>\u0006ѐºç²…>s֙\u0014^\u0006q\u001cºç·Ç>Sߚ„«\u0000ÓZÞo²\u0014^Ž^¿]…œ^õ\u0016iðúGsO¿¬\u001d\u0002®\u0013™[ç‡\u000bŠ¿Îۜ‚½\u0014y˜ýGíS¿\u0011œ~§-H8GÀgÊ ÉY\"v6+x{Y€~㠞=M#ÊY!q&&Œ97pƒnàÕµ!õ×'Œ^20\tr= õ\u001b!ÿ$ì\u001d9\u0002«Èx3oQKÕâïÁHst\u0011×¢‚™}e\tvª³ýbÖvÌ8Ê(Uiqž¾âÎrLøÆø’hÑ\u0013|¨\u001f¶‚âSeûoªl\u001f4׈\u001aFðäjù´}3ÁÐÆsyí\u000e:ºŸ­U™û‹\n\u0017ò”Öº>ãTFŠJîñÄxΙÜqS‹¯Æ\u0014‘íí«Aü=}í½‡º*?U+Ÿ‹þfP„­ˆ´ô0ÄW¬è‰8yø€ë8zvS\u0004€\u0018ýòÐÉÓÁɃ\u0018F¦aã,ÁG8šîT|x„h׿ð‘ˁ\u000e^ãñ\u0003¦\u001b7,Ϗ:~^Rüœø\u001dåP\u001eÏÁždk¬x¶=}©L\u0015s{¾†Ö”ìƒÙ}ärƬ…–5ë\u0013Z¶¬mM-ûzŒwëDçRçz†,Ö¬8\tRùrŠÖE\u0012‚ë±u6‡³EáNë\n£¶œGM\u000bOxrýÐ,ڏÙ\u0011ì²\u0016½Åõwëä_¶\u0001¤\u0013q¥[‘bZѐAµÐCÃPU§ð^߰Ÿ\u0010ÈÔPβ°ËƐÄÞpݹÚ­pÂÓÐÄÇ0ê7ŠªP™°†¤\u0010‹¼°œÊ°Öp’ÁpŠÙpÍ°†Ó0†Ç¿Ð\u0000¨ð\u0012´0\u001f¢Ð\u0017Êð\fÖ\u0010\u0011¡€¿)ß~+]_*Wß)e\u001e(\u0003â\u001cGí>\"åh£@ Ï5û֍tŒûÖ=M”å֍û֍GïÖíÚM›\u0018æÍûì\u001c¦Ïß:’ÆRÔk€6ã\u000e¼¦K\u0019,¯*;¾µP\\L‹ØxéÐÃځZ,Í:8ÒTUœŒ‰xþîpÝÓáÁہr?ãO#•È\u0001¯q&;‡\u0010¹„ˆ^ýЯ¦ÐÙ¦Š«,³·9®ÎRœx‡¨ù„hßýp€×Á\u0004žc©ã¦\u001cç-‰o;Bï9þ~R<܆8Ÿëp\u0005¾A\fÁ\u0001àscû·Zžƒx\u0011á°\u0017«\u0001È£Á´«\u0001ÀÛAÛׁ¾¿áKðpOôÐ^â\u0000<H8\b³„x\u0017#‘\u001b‡â\u0013W\u0002Ç´d®Td\u0011\u0014d\u0019l²µH±£èµ»\u0018M?\u0001 ˜|¸øq¬8y²Èt¦¨Lg¼Ìh\u0014ÏbÄÉn¼ÏiÔ§¾ÍkìŒÀØæä\u0012Ædª6äüvô×/ñÛ]‘×C±Ï+QÕ;\u0011Ô'±ÅWñÃOÑÕ_\u0011žÀ\u0002¦0µ§1]g0<Å\u000bƒ¨ó\u0003ô\u000b$]_©˜U¥˜Ym\u001dì@Î;‘”6ю.Q…>ñ‰!q†1\u0011ã2\u0002\u0015r‚\u0013’\u0005yi\u0004|Íü‹¨å\u000b¨Š;(×­äÂídñÍäݍd×=}\n›Çšúmœß·¸×¯\u0018\u0011 \u0006Xh¤>ò¬gt\u0013Hq\u0005XÑ\u0005$1“²\bºX’¦¨[kT]oÌÙ= œÜh„Ýl”ÜÂùÏÊ\u0007‹ªßn\u0004ÞiTÞe,ßmLÛc<Ú˛\u0017¨/\u0017)Ï'däcB\t1\u0011\u00133\u0002÷ÇäOïôç“õ± 7¤\u0003kí\u001eªX\u001fºø\u0016¦\u0000{Â\u0017[Âæ›B\u0003'âwΟtíoº\u0005Sq\u0000+\u0001Cçß2Cß1E<(/ù\u0006hԕòŒîä9\t\u0005šÎä)‰\u0007f¤é:—ÂÔ'\u0011pš™ÊŸ¹\u0007e„\u0010F–i‘?åju\u0002Êô\u0014ó~Ê\u00183ÇÅx Ñsò'JnâÄo0\u0011lJ%Ë'\u0019^¤8H/ÄpHQw<Ŋ8ÑjÜÄfXÑb¼Ä”$Qc>i¦hÂÛ\f5?I5e¬¶ó2L…©1’p|D›¬†³e’m¢EŸLñ~\u0006ê9‘¶´‘ºa\u001aê2YC¿Ei*æ3m„ØL·\u0003\u0012|\"De\"qt:j?¹N\u000b\u0005¤\\4g©°´©d^ÉLíÄǬ±YÒn\u0016ë™ÙO\u000fämbDqrD1yÅÀ´±:òpzkw\tOC„¢ì°™Òlöê6ùE'\u0004¸¼±«’mŽë™BO\u0004ÕÜ·o\u0012m¼äeüåsœäo\"Dh¢EtâDbBEjÂEf‚En$\u0011Bh0a\u0002D\u001d'Í\u0001\u001fO/PÅbßeIJœ”Ûr;¿zµOfË|š¦Ra\u0010 HV4e!ŒÖûŽÿ]ӍûÖ\u0015û֍û֍ûl\u0016\t$Ï\u0006úgý\u0005\u0018ñ\u0012|yÙC\u0007‚¹áÝS¢wQ¿¯ñüáï\u0012^ç©™í_Ì0\u0003·^t\u0007K2M˜Kî»7ö®\u0003Ô4\u0011‹®–\u0010¢1ƒy\u0003«¹\f¹\br¶Ôˆ3[Ô½ƒŽaçùÒ\u0018Ël\u0001\u001a3ö–\u001bS›¸CäêŠÅøÌ\u0015ê\fЩV›“ç¤É~҅>‚ŽLË㿕xd҉\néŒuNûÖÉ¢ÑôFÖÿÛ·MŽ<e\u0013¬FðôoóˆäãYô\u0014Ž1\u0005ŠÏÀ\u0000\u0012•„’‰K\u001dïùm÷d©ö¾]bí[n³\u0007Þk\u0014\u001dþmúŠ\u0014 *gÞ@‰Ñ\u0017ԉí—*O\u001bg{jdÈÅh¢–Vêp\u0003„ezëtI\u000b§F­-õEçÅf´Bf?g{³Ä¢]Mx\u000fb‹²]èfú·ŒN'ñê-\u0001T›š,)®mÄdzóHˆeVÉ¿HÀ²_ń9pe…S:h\u001b{K¥w”ñËw#”\u0004\u001fhè¼?#¥U\u0003‘žìDdöma\u000e”ôÅì¢f\u0012|\u0014…Nàªåˆ\u000f}&\t%˰•€MªþŽ ©ñ†Líÿ¦‹K–\u0001\b\u001bÝÈ-\u0002‘ž\u0011žÜ2\\$ô<eôݳ¸²™&³Ž= hé…\f\u0018–=}WÇüæ~§›¨ß\u0011(«æ]ãªà·H4˜«ËG^bˆîw\\É\u001b¡Þ¸_X\u000fL ­iâ¸0Kªðˆ‘üª³d„ªT†\u0006ë¢Ëµ'÷ϨyÓt0Õy-×îˆ@\u0014Í6æI\u000b€Í¯>¶u:À…¾Q,ï¹‚ÍØYD£M1\\â&\tç=M0B\u000f ¹ŒGŒü\u0000*ӟ\u000e\bh\u0015äê^xÇ\u0000§Qí!\u0010Ý9¬SAÁù>¡v³Hlz0«^µ˜¤ooâkµ44íkçn\u0003lüýº£›¡™øÍ0…•å˜G}¦¸-µ8ªÏæ´?•ˆ~ñ(Û\u0004†<0£%Zqþù­~¯^t\u001c>äPa\u0010 8$ = Pû֍\u0013ӍûÖýŒû֍û֍ûÛkö;à¢Á£Ø\u0016šP_r¦@ڟ8Ÿ¦“Ÿîhöê¬ÂďT\u0002¿çRՊ<R¯Fp·S±ýWG\u0013Q*j÷ÇÁ»Y=}ÅÛS\u0019t\\+~ïÁޅNR\"\u0013¹RžABÚ«èߤEak٘YO\nv\u0010rœ5·7ρ¥\u001fzj\u000eÎgʏ#Ó,WÁ˜”+mõ{ùÃÒ½\u0017\u001b–B}Õ+%-\u0018›‚O·Û\u0016Qé\u000e >¯/‘œî1\u001cs®R\u0001Xïî¾d\f‰\f‚ï€Ï.\u0015Ë7˜V\u00172\u0013kO\u0003‹ŸµCŸÎ\u0003”\nFC\u0007ü\u0006x=M=}~%þ\u0003»\u001a#~ޟä\u0001³o8Ú\f9V£= ñk<£Sî\u001cM7„þ\u0013\u000b\u0013gÄ\u000eœf\u0010\u0018w\u000e\u001dîÂE_©º\u0012»»ã\u001f2ÿ\u0015¯‰=}\u001fùöBàéfaî÷+‘Ân¸Í•BlÎ7ÅÄa,«†‘\u000eÕkPÂg2\u0003aòŒ:I£\u0003$y¶î´cб\\¥‹4xÓc±\u0007§µpÝÀ¬\u000b]5BþÊ2\u0013w­€Y•Ì-T0“ö\u0004rØ63“Ô)ˆô\u0001\u0001h]z6\b\u0013“Ç!-7-Ù\u0011æ(g‘ƒš¬mø9ˆêӜSd\u001bìq»©\u001ažKÄ>z\u0013nä¦ã6Ö¬ªÕCÀé¾7Ó<9”ð)É·î,s–\u0001£ÏKQ5Žìº\u0006áÕc¾¨œ\u0010âhÿ;§˜?<&\u001aÁßù¿\u001fo#XÏ9è¤Ø@\"¦¤\u0010€—H­?ã\u0018ˆ5nq‘$§\u0006gÁ”SºDõ8&Gç҈r\\;ODÐaA±™©i”onA\u0002ŠJBº‰ŒìkGšiFw…1\u000f¸í®Î<\u0004/\u0007±J»ï¸ì\"VLK\u0002ðǂ®$´Ðb9s\u000f·s„¡\u001eÀJn}ÉÆøÜ¦÷]Õ4~Ì\u0007Èe#:#ºèÜþì(ç6¶®‰ƒãӖv&•Pža7åŸÚQí\u000e\u0001*\u001cX[€ïÞޞ¢\u0000!Ð-  €†û֍\u001e´•֍ûVŠû֍û<rû֑G\u0000ÃO¶ÿ\bíÙѝˆ)\u000fã¨/ñ}ö/Ãüžlq\u000fïð£#˜E8è)\u0017¡x\\:ä\u0013Y£‘i;ì#\u0005Aˆ>8êö^ãX\u000b[¬\u0002÷ãÉzQ¢§…C؂V²¨‹ÃP¿Zº–ñˆâõæP\u0000\u0004x\u001cg®ÃLž<’’\u0003Q[T¡ÕcGÒQ–BnÒ³PZ\\¹\u001eCư³X¥µJs‰Z]­u³Æ³·Q½¡fSPÝ]3×åÓørS«-\u000eÓÑ\u001cT'™\u0001|j'ïã[™>ýú\u0013\u0011ÞÙ ÒÅ+qˆz¨…\u0000BVèL†ë¹EØîzªq\u0005r\u001ašOC}œY\u0013oÍÀ˜öjÆöÌDüŸ5¥’Ë™—™-·ÍÅݓM5\u0011\u000bXŽØ¾åOV\u0010Ž\u0017fVoøäÓÒml\u0011ÿì†\u0005Mäþùjê6XZŠ;ûª×\u0004×½—Ê[(™Ø³?â}Øm1’Éaè»Øý\u0014Õ0Ã\u001f\u0017]œÚØ·û\u000b\u00171\\Š_êµ\u001b\u00197• Y\u0013£˜\u001e\\ä¹\u000b§Ù×\u001d(5ó®rø‘´ƒ9çx\u000e›¼ÚG0\u001bœ²ïwnѐç‰ä†¿\u0001ÿÓÄ5¿\u0005˜ìYV[¼g}\u0005\"×ÿ}ä\u0002\u0012EN*O\u0013ƒñ5Æ®Üêâ\u0006Ëx„}cS\u001cZ=M\u0016WhòØéÄ\u000f×\u0018\u0013\u0000V¢ó—Pøž7çå\u0017xS\u001e^«š_= Ñ\n!\u0017ó?\u0002:\u0019¨\u0007\u000e¯QTânµÇ¼\u001a\u0011,ñ\u0013\u0007äŸá\u001a3O9Aœå\u0019ÕÏ9_\u001f-⩏é;\u001c®\u001aî—ÜΝïÝâ/äÆžäX\u001e3EA¿Q\u0014\u001ab´ãwv½\u001c¦g\u001cW~?\u0018îã\u0010\u000fˆ\u000f\u001aaÏ ?8Ž\u0019é[ï¿hÎ\u001be²\u0013O®Ï\u001cí€\u001bÿÔO1‡¾ÕX\u0002+E¸‰Aaý\\iZlEùVw*o3I>ì±\u0006´©T\u0006谄BãíÙÒLS³…\u0019œY\u000eyè±Öp¾¿ö\u0012üzÊà‡›%\u0002wJ’æe±)\u000bµ8\u000eÅäÖÍê¸%HC4ÊPYb¥%'u™¼ÀjùiU\u0014eŠhvçNo½!\u0017TðÊô\u0000ækmŽÖŠÂ\u0013u«á\u001dՑ´õfž¬.FúZtïò\u0005¥µNkw\tQík/ѽ\u001a¸e\tÓ\u0005¤!#ó-8–밝µ¦˜ßQ\u0002Æà8ÁÔQ7満Áâ²eÆ4Ù¸Bú†¦@ú¬ËÇí‰ìQG\b±%ÁM6”\u001dÒ\u0004éHKæ\n{qÛøºÞ¾ö<1ÓA^ù¦ÿ÷Œ™~…«úG[Ê&û\u0013eë>\u0001b'֛X\u0010‚¯C‰Ÿ=}™—û©ã­n¼\u001b=M¬\u0006X7f¸Û\u0000Óþ5\u001d(wüïÙñ×ì-ɯ\u000e(§™Ðú࣓Ë\\‘)\u0011„\u00179O¦´šQ\u0000³W»f\u0018€ˆ\f#\u000b99=MëäKž¼Î\u0013Crü¿‡s\"X\u00028à•Ñ= Ìó\"y\u0010L¨Ôžá$\u000b$³ÓJ¤õ±A˜)\u0005ƒH\u0017„ãp¸3nٗX¿ndÐËL\"žd\u0012ˆ’4iîq\\X8íÆ¢ˆÖœ®\u0001\u0005\u0018x’<‚\u0019Þ_®S\u0019‘|\u001f<¯á¤$æXG\u0000“H1­\u0002dLŸDqYM¹Û~é¬[½bkm*ã\u0005\u001ežñdŸ±Ý\u0011¯·ý\u001fpð\u001do\u0016F1W\u001f«¸\u0012Zµ!ƒò¸\u000f´æ§Ã\t\u0014ÎjçoV#ÛE¹Df‡Ò\u0000a6î£Ò™†µí­\u001dYh¶\u0006°Gµëóå™Ì¨éƒîÜ.,KàìÞ Õç*‰ÌMÄlŨQ\u000b«™BJÆ\u0013c)!ój‘-LE\u0013†9;'´3}®\u0004±*^÷u€Ê~i\u0017\u0006J„ÓËX\u0014˺=M«ŠØ=}£ÿëz\u0016oʃ= = =}í×\n¹\\Ä¡‡n-Ô¼äÅË1cÓF\"/USÚÁ9-½6.+{ùpþê)µV,ÖÔSÃÀ½Dù.üö•2³õé8éN\u0004v•ÓIÝ;ù}¢Ê:¢Ž5¢>¦á!@,%!ÀمûÖÍ·ûÖÍ\u000fùÖ\u0002=M†û֍û\u0016#O\u001c%\u0011¿Iè\u0012‡¢X$(‘‚Æ0\u001f\\7BQp8ÏùߟIlrÐ(\u001fí5\u0001\u0014‹1¼ãdyÕ= ´À\u0017ÂÜ©4ƒ\u00032Q†œ6ƒœ¼X\u0013&åù\u0017c<ñ´1\u0004L?ái1)òÓD\u0018Öv¢­r²¬I´Ä…ËD=}jrìÈ´\u0002\b~IôÕÅ\t޲\u0006ëQ‰F¹è= ¯,B7…Ø‹Gë\u0005qÒ\\ÚM«¼·<Qó\u0004\bŸN§’È\\“7é\u0003\u0019e¾÷©*\f~Îà°ØB£\u0019ª\føÊè“5E¼\n´¸’d))3…†\u0016J\u0003“e¹ÏîJ¼¾Èâ®GJ\f-v\u0005öButÞɲ¿Êæ\u001eUŠ\u0018éʓÖ|½¾\u001d\n\u00189ˆÀùÍ¡ô…-´}T‘¾Ìiõ“mÖ¦‹XÀåBA|’ÕÙÓu»!•=}\u001eŒöÁ\t¬.]–ÚL<ÇëåçÚ¸¥\nQÞo/IA6\u0005\n3Õ}?™M#¾Ô9\u0015¢!\u0017¼-1¾Š¨\u0007‹cfæ:\u0011”Ù1ÅòæœÎP†éƒ*ìm?‰¢\t#3L£m)\u000eSÅuø¬}%†\b=MQƒÚ¡Y&ŸºÓ\u001f¶Y]ž6äNÒàuà2Ç\\kâ–yòÀåú_̰ڍeÛßUÿ7{Skè¦\u0010b;\u0004\u0017ù\u0010âø¶[\u001fú\u0012\u001c¡MR–$-ûQyò¾\u0017µ\u0016ô<×\u0007§Í#kGY°\u001bæ!§DgTVXÂÆ\u000e¤u§3é÷¼¸¦So6Y³B\fâł7Š/ÙÀ\u0005êí\u0011Όš\u0005ê€Â;ëVØÑã½\u0017}\u000e˜ý’‡fÀ'\u0002£>¬·\u0014äÂæ³ËÇ]y\u0002\u0002eïŒO\nޛñ¶\u000fí\u0014\u001dþ<Ô\u0010aŽ¢/uœØ±\"E{axÿ·\u0015\u001f\u0018ò\u001dø·¬8_B÷\u001a±È\u000eo×_«\u000e\u0018\u0013PT  \u0005!Ìu,äÃM°Ó÷#\u0019[P¨ð\u0001@,\u0004¢±‹.f\u0011ŠP¶\u001eAÄ.¦P{F´w­Á„~)\u0005Ê8Õ£ˆè¦“ÑI¼\u0001Ë\u0001l*¨€ü$\u0013\u0005Cùý:é÷;±¤§dь™4¦JñL\u000fªF\n~T\"qQ<z;c¿vLó\u001f®…îóxöF摛‹<¦æ\u0011Ô­«\u0007\u0016ۘ’Ó3˜Ý_¡¹Ö©äïldo@)á\u0012D^¾nbàK9ýބ‚…r¸þ²â«»I„¦Ç’•mJ•ú‰È\u001f·æù·‰Lmo\u0007ßÝ\t”ù„\u0010ÿì,\u001a$SY¹©\u0006¥l:\u001cÒØ\u001eßLÒtҙù»íÔGùdG\u0007ÀÙK§ï¶Ù\\»¾ë;¡\\ÄÊ\u0012Û¸g‹= ^g¶\u0007ƒÇqàð_%XßJ\u0000l†A\u001f<LDüÉ(\u001d¥ehi5SÂÕ8\u0015Ûå˜å¶pßÕ¤M†ÅÈlK\u0005¡R¤Ë븙Ù,\u000f°’þÏI‡·~%\u0013çuP\u001e“%³jJ\t_{éQßJävt±ÀuíÊqõ8œÈÆÏÐ&¯óUüƶY\u001fÏÅdÓ®Àq•XŸÈãÍȾèS\u0015ô\u001bUPÜ¡×ú­ä­„ç\u0007fœêºX™Á©æ\u0000†ì÷U\u0013òÐ¥c³{xKðêêúvÖÿˆ\u0005š”;Òûû¨ÓŽÇŸŽ[²r=}\u001cõñ¡\u0004³.\u001aò[©[ü©¬çO¦ã!Þ*f¡\u0002¿½íÕ\f…\u0017ïÖ\u0015›ù֋Ö=M›‡û֍ûÖ\u0019Z^IÔ\u001bjà\u0014XJœãÙ\u000f;/ßsµ\u0017½¹gäÙ\tOnñ„)æ¿°\u0000¤Ì$úá2´—kЙÕDš\u0017E96h\u0012Lw²\n‘rü_Le«¤42\u001erì\b°BÙT\u0017\u000fhSýdºìL‰\u0014æè\u001bÀ,;典\u0000Gc—»,5ë„éÙMkÆÑL™yÒt¯±ƒ\u0000À<óD\u0004ø\tOç\u0003.Yìvèsœw¾%\"™~\u0006ê3S~¡%g5p´vÀWh¡Ç]*ô«I\u0012\u0002±Bc6ªˆ6IҚÊ2¹Ç´0wt‚cÄ2cj˜rf\u0002ÅR\u0007=}´1Ër†\u0002|5¦OÉðÊÉbÂ*­ßËòÝkµ_^ËB\u0002ÅêÎ6u>Luc\u000fÖ:éFŠ\u001c·Ëæù)\n(¯ÉóMËî¹P•Ü'ô1ýÈ¡\u0016+-æZˆÀ~Åá,1m\fψÒgg³Ò4m\u0004\u001eö‚ãžM\nߋ=MÏåÃÎ?l»_>‹sŠÅmˆÉVÖS•ðÛÀ£Ò¦.*©ZÈ\u001cÁ«á>}<Þ\n2\tËk…§N\u001fÎöƒ\u000bC]~x\t\u0001xÊgëlÖ|ôgis¿ªD\u0016\u001c… =M^#F©;@?€àï]&hÍU\u0004¿‡¦8ú9Bv…h¨1ïÏ9Q}ÿ¨Ø,Cäç:Ó\u0013ÈQßè9³<ެ€ø¸/{mØ\u0010î¤=M\u000eFL‰VæRsFþ\u001b“sÆ7»Ò¦ í7$¼ö4\u0010Ry þÿbB/(\t±4B6B\u0004å 0Ïm†\u001c\u001c欓ΆXUº\u0011\u000fr“~þUÇðì¼3å\u0006díЀ\u000fe+‚ÔLX³Ša\u0019ß¶œXŒé„ykœâMÙQ‚é¸=MvdœÐ\u0002»·5[ûÍ\u0018ÕU‰¯ÍÑÐÕ\u0006kµUwdø™ý¦EæVlëÓ\u0001ßIÖ\u001c™ö¶ßô9·„ë\fß=Mxð®£ò–ü-Ócø.\u0017\u0016´žÐ‡Ò×]G[\fq5“@\u0013É#“<<˜v\u000b= \u0004bgdŽ[BN”ÄÆè±SS½¨Ø\u0004äv}GÜS¼øTþ¹\u00003î<q–Æ@î¹wŸØP†ß+N²N|(•\u0001ǁ7ü×Ù\u0012\u0000ÃK+œ|É\f”åžÍ;ØÑÿù­9­Ž”N•G\u0003Þ[^v\u000e¸uØÃVï#é\u000b>œR\u0011\u0000c᯾\u000e©äeot”\\Qí\u0010äƒÜ7éG݈r\u0011‚œÂ7{\u001f\u0016\u0006áA¬„Ýi¯\u0014†ìO^¼ü=M£\u0016—?ª£œxY\b£\u0018v’_\u0018Òáç7ýN&÷\u0019‘\u000fµ?yΞ<Š\u0011C”Å_û¿\u00183„\u000fï¾ZŸ26'\u0019~ ­¶!hv$P{T°À;¡ü0$\u0012‡‘@~Ӣ؛U¨9¦a„\u0004&Á^U¸ó7¢¹Ê3l‰fPî3b0_=}â%\u00150ärb8SF´öƒÁ„K¥2:?ª\u0013(/¥ÁK7¦š”8ÊߥÃÞO<=}ɐ$\u0001\u0001X\u001e4aðÎ(òßgð0<á?ã1Lþ1éñO±Ü*¨äÔ_²ÄMq¬œ¨‚£4ï›Âü8móûˆöše\u0013ÉSºÈ•Qlš=}ã\u00178¢ú‚¸ÒF¶÷O‚鐩…skLÆË\u0002\u0018\u0013y<\u000f¼\u0002ȉ¬\u0003\nª˜ò?ç“üA¾¤\u001a˜®Mk@=M\"·=M2ÈÈm\u0000\u0005²džž°¨ÎmBˊ2©}´äý›i\u001c†½¤}u2G7Fó—G9Kë„îuF\u0013\u001b¢4\"ŽÇ\u0010úB¥u5IT¨Æ\u0002˜Kµ\u0007\u0006ɌHo…˜~:‘WóðSk\u0003ay:û\u0007ÅS\u0001†Z-│jóÑ2é= \u0016f&/¥9¼Lí€ÓhFÂWR9Gì„ÔD³\u0016Ùyô|ïÂx°eŽi6¹“Óiß¾m¦@»\f²Œ*\u0007\u0006p‘]§Fa.EY\u001cI²ë\u0014;ÙL7\u0006ÒËT·kB™Üܱ§ÒP/\u001bò\\\u0002d\u0012‰Ø±ïxӜö·\u0005“~!ÒW+SKÀÄÌ QÂ¥\fÚuè‹\u0013bŒë+I1M‚ú=MBîz4Ávqdò\u001c‚\u001eÛsìië‚ÔJ«é}pâ¼ÛEü×JáÍʤÁ¥Å<Ùwª¡•I•õŌ{|¦ú\u001dRJêøz{¦\u0006²’:>´“àÎ<\u0013ڒf·v\u001dq%A\u00165ì‹È= š™EÕ¯KY\u000ex©‡ƒEÓvvA\u0013Ôª6ÇJÎVw1Ûʺ-ïËєɆr‹U҂U\u0014ÞÈ\u0001Ñ{-EU¼{{kâËz\u0016˜ô\u0002ÿqëÚ\u0015•XÝɃÑw=}6}•¨ŒÌç\u0004}]S\nQ\fɇæ\u0006&,_TPóÏ!³Þ&dÖV‚\u0011ɱå!­X,TBÖÝ)\u000fOmŒ/ŠB‚È©C[»i\u001föìµ°†Jfº™ÒË¥Ž\u00116äãz\u0018\u0007\u0007v”\u0017ÔRoÊ5ç¨vV\u001fúfôÞVnëÔq<õæ\u0003ÿû\t]ð®¬|[3ƒûQ\u001bÓ£u§[(t\b\u0000ˆœ'™Ÿ—’\u001fˆG}j½hG–R\u0001ßN¤çÛxÍúep’7g疳—Ò»\u001b\ný”Å–CYÞ§‘‡šPñ\fyf/^3›ù—ηt=M~΅\u0015r[Ù¯W7\u001a8ñ=McAǯió\u001aQÝôž|\u0013\u001aùRƒ ÐK#<V:@Հ «Ó&IÚVèM³aŠª&™\\‡¨¶\u001f-\u0011jPd‡é0\u000fd¦\tÞQì›Ó?}Vì{ñ1ú­\u0010ü‚¤æª1\u000eO8Å\fîHwÍféÌ:åš\u0002oÛê÷\u001d¿\u0001˜ –K! H8ûn~¬Í=MVû{û֍û֍û\u001c΍ûÖ=MY<1b•1ÕÚ«¸R}äÑ=MBD7e4\u001cH»mìúü‚\u000eö0\u0003\bIÆâlQc—ªù™iìÓo‚Ü.)µ\u0012j8rkâÖ~2\u000eﲀùMÁ\b5)}Þhx\b´’B¿´OÕÅd\u001ahÉTgj¿$IkÏjY\u001eu꛷,—!9ôµñÒϬѓ…Œl´‘\u0016º¬/ÿ„ø\\’’7´sþ¼\u000e\u001d\u0004l½G‡ƒ²¼\u0003÷\u0005\\\u001aN\u0007¯g¡Ë°¢\f\u00155´\tÏÀñœ%]²5¬ÙÁ€\u001e/%»$E›*IY{é½\u001ej~íw\u0012]y©\u0012Æ2ëoE~Ϫx|e\u0006&J’-pq€¡ª\u001fst4ÙÉÂ\u0018o5E܊jäõ4‹ÀÆè U\u0011%Š\u0012ÅÈé‘sm¦¿Šb~-îØ&}#-Ÿ\u001a‹˜_㣄-7Žˆø\u0017cãFaëÜbzfö÷òÉß¶z\u0013Õä³Õ¤Žˆ±\u001fð\u0012äÃ\u0003ˆa=}‹\n\t8õogәZ*G\t~÷\u0011\u0016»®CŽ]+*\b\trwoÑޚ̓\u0015\\hðÓ\u0005ʾ¡\u0015´‘9P\u0007WÕÖ¡åÝ-T¿\u0000ßý&¾~VÐ\u001aÓ¡¶.C\u0001ÜfŽõTRËDZjS­è–:i؈ÄýgC¢íä\u0011|F\u001atW1=MŽ\u0002\u0014T3ÝÖ¹\u0010¾WÑ\u000f½©6†Sª<†vvQsÜ«¹[³í\u0014ýŒæœæì\n÷†\u0002&+ÇÓxˆ|ñâ\u000b.6\u001aoÐÀü€ê)+î766ŠÌ$SzyvöjØÍµåƒÌ(‹Ìì\\‚e\u001fäꐥ­OQ;júØúâfÉ1VÖM×A<ÐQ\u001cÞ­‡‚[5b–V5ÑςÇý€[§6ù)Äù\t™ëî\u0011¿–œ~'=}+YhÉ\u0007= õïaÕÙ.\u0006FXؓåa\u0018«£6.Gë\u0012XÙsã©Ç§³Šó½¬ù\u0006D\u0019¼³w½˜mNꆓñݲ«\u0019=}}\f»\u0000\u0002\u0001š7ª3NÂï}4uÛÉ¿þm\u0017òŽæÔ’SŸÄ»\u0015KüD>“\bÞ»ó‚/·¢>Î\u0001\u0001fC/÷'šØÒàã\u0019„/çϛø\u0013íãV·àҜ\"sŠ)\u0014\u000fIð‚¦= Ù=M\"yï+8ÿ)ÜRšY¶õëÒª~\u001a–\u0010r‘Ü·àZOÏ®šiœ\u0002…ØâgÙ¸/c)?‡º\u0019¸T\u0014ÿ·\u0018°\u000e\u0011±”ëgÇ¿^\"¢¿s%\u001c\u0014Í\u0003Güûïñ¹žú\u000f\u0010ÃÛ\u0000‡ý[_Em!Ž…-ð͂ ™§ Sæ%(Í-Ð\u001eh ¼¯#\f²%é?)Òˈ°¼m¢Ì;4DØPè\u0014\u0004@ò\u000baڜ-’ý1ˆ¾0K˧p”+ñ‚j¨]»bXo¥\b\u0010BdºZ¬^¸ÚÅâL‹1\u0006\tÐP¹¶¦‰ßGì\n{\u000e\u001d(\u0003\u0012dH¿_b\u001fz1ö\u0014¨z¤{B\u0018îdH\u001cJb´~9ÂlL=}…‰ëH{§gùÓTêÑ]qîþª’\u0011g´k\u000e8\u0007\u0013åXySæ¡\u000eQ–o­Ñš“¬9ǂ,š1\u001bë X Ð1àpÔӍÛÖ\u001dîӍû֍û֍û֍ûéW­s\bI†ðƒt\u0015DŽÈ\u0007–_];\u0007\b9Òko\u0005;š*œó\u0013\\«¡U>#=Mê;Ð×U\u0010œ´¡™K,tZ†@\u00113#;29Éyàh\"¬Lʅd\u000e\u0004\u000etCýV;iñ輗fL‰mŒÑ¸¨6WÑÏ©)&¹øYÿ¤—Ï©\u0005×l\u0004\u001c‚xVS?܆ÊwPÓË͹üÃí”}\u0006üqS¥?»\t¼ð⡜6rçLtȁrw+7GyhÛᢚöb×w6¶ÅВi\u0005·ŒÅ= Kr?K•‡z\tÖíê¸ëv\u0006žÐÒZ½­v;›ªûøÿäæþ¡V–ìÓў׭åWŒl\u001aŠÃ†[m}–j¶Ñƒ‰‰GùP[\u00176ùùÔÿîÀ[–ê\u001fÔ³SÛ£[~'“ë[Èõæa¶±.nL•ð\u0013°#\u0003'\u0007Ÿ[\b²óiÖ ³m5½´Ž\u0007\u0004áHG=}·[ñ=}‘R\u001c¡³ÔŸ½¬é\u0005BuðåÀjNÞՓñœÔ«Kë}䝨x\u0010àeâßN\n\u0006’ÓE\u0000F…EWUúÙyRêí\u000b…޼§ýÔÝ\u000f†åW\u0017“˜è\u0004\u0017@u\u0010ðÊ­§)C\\Œz\u0002\u0001\u001c!/O\u000e˜ð\u001d\u0014°^»·\\>OeêšQÕ\u001cïÁ\u001f\u0013bOÙ\u0017ši—óë\u000fO~¾…\u0014‘æ\u000eƒ})?û\u0018ˆRàg„®¯t[œ|Ý\fƒ\u000e›?-ò\u0018I€\u0012“k\u0011SÁ¾?Å·¿\u0017s\u001dìø\b§Óž\u000eÞ\u0010óS‰ ¬%#L®%\u0010v/ÐÇs ™| cK#¨g#ŒŸ0à\u0016GàÌ<a²\u0019¢ÔN7\u0004Œë@öÁa&O(’—0\u0003\u0015@=}_%ù±NäO“¨°6Âc\u001d0kš¥ØRUd¢­A¬‡b´˜>‰\u0002P\u001d\u0012¥¹4.ÓВ¸U=MâŒ:9†ë²P;\u0017§y™Kìüρ愬ðí6ÁnÑ(T¬°Ëo¤¯óB<þ8ò¹(Õ¿gH¸Xê£Üq†§ÂtÊ4EiûH;¦gÉÙHê¿]\u001f\u0017\u000bq\"¿Â¼j;ÃÖIæSYfûZQþ—«ñ†‚¬Ç˃ô\\6\u0003\u0018£8¾ÿQƅ«\u0013ý5ÇrÉXK»ä\u0019õOn\u0011¹‘揮“\tŒ¼lO\u0002´j,\u001d\u0012âÚ@üÌ Úöp€Hä\u0006cŽð\u0004R”œ+]s(\u0014MDð[FðÅÊ= «\u0016\"Uf*H«%ì›%r~7˜\u001ca€wбñš±:¢h¡:B¯Zªì?MrÉhº\u001dB[¨T\u001aD²\\Íär£¤Hj|ÉAñijä\u001bñ2}·jœûGñ\u0011¦ä«¯2Uóè<õëX$¹\u0011õ…þ”°qgél{L\u0013„¯¬\u001dºl\u001b\u0017R‹sJ\\Kİ[ÆpÒªbÇÖ*ó§IŒ»Ï§â³«*~I\b²ÊDé\u0017¿a5}™µïíu¾,pY_s…ëFµÉÇuZ\\qI\u0016wEg–­çn­µåUzUðP\u0016ôØSqƒ\fJ­è­'×U&žñè·ÎH{,eIJ4\u0005?£\u0002 eu0eñŒûÖ}kŸ\u0007‡îl֍û֍û֍ûÖ­ëëõTŠÔ÷ØU|Ãú\"­Ó[Tê~ôx\u0015rC™,½n9”î·ðé=M\b”Ì“Ø×n\u001cIZî:½\u0001g”\u0016þñ™\u0017eGc‚£\u0012Ù-:‚ð×Êá\u0004Ö&k¦:Ì¿‹Ð•\u000b\u001f]‹Ð\u0001ÉáÒß&ór»,LŒòlSñ\u000bº„\u000bŠ\u0012•¬éñEF\u0003\u0017¸ÈKFIþ¸¼©‰Q@Ãeñ²6WŒ«^­LR\u0014Òø\\ñb‰‘\u0019 e=M;6\u0017þ\u001f\u001f‘N‡ÑñêøŒ\u0014ŒòUÕ\tõç\u0006ú„»bˍ\u001a>ÒY‘óFég;_¾ãèÌ.\u001bêXÜ\u0013¼\u001fy§h?§ú³=}Ú̒8žð\n-§™\u000f=}6摹·ù…ŠI·\u0001®k·fN՛ÚdFØÄ}\u000e\u0012–ÏëÞKNC~ۘQ\\2Ç\u0017X~ôÃ×\u000e±ßÎçÅî>}g™Ä|\bъÛ'\u0007\\n^\u0011(Ÿ›|l\u000e\u0003\u0005\u0013Y|öDŽu¿Ù͝‚,\u0012‰Xã‡\u0017Z¿Dg\nü\u0016y\u001añ\u0007™ü |y\"Š·*8‹'\fŒ0ß{= ôÑ!96'4ù9p\u0016œ \u0011Tà\u0019=}€E/ɰWÄDAùthü¶AO\u001a¥<¹2R“uhë#\u001f݋A_~§Œ¯Nˆ¿v°ÓÐ\u0000bea\u0017:¢\u0014=M=d{'+¼¹¢[\u000b$í®(~ÿ4ԚO˜2kr]£\u0004ˆqiAmRÞ¶\u0004•›i¥Á²iÓD—÷kÒ?µTÜE¹\u0015~’V¶\u0002—šeîÂ*Íҁme\u0017–ª1£5³‡HÆÏul[ĸ}Q\u0018­\u001açÀX (µ= q”Wû֍\u001b„;ÿ†Öû֍û֍ûŽ\u0006\u0011ª®q%´t\"\u0005\u0012+ÄÊL\u0010v0øûj€˜Ÿ¡Ús$\u0002Î4XÜwÀ\u000bE¡Ìï%n\u001d6ˆ½xD†.±ù…d\u0012U0ù\nª´\tNҍÔhá%B+רDXIò\u0019Î赯±zl©á‰EN5´hwuâ´D†×®\u0004\u001dEÂm±HØbÂù>©î7Dæ^±x\u0018c‚}œ¹¹…–4·ùrk†µNSË£ìðARM‡èô|C³\u0019 ìÇëR\u001b¿ë,\u001bMsC±b´Œ*ûjJ$•42º*;[JT8Ê\u0010”¦b×U*q/H,ßÌ0\u0013Ùâ *¿3ÈXytn4wé{k…¸Æ’Û½jÞaJ}ÇÊ\f|Á\u0012×já\u0013J\u0016CµQuVåöؼn\u0003a­HuT2):ÉzˆÄ\tͱ’¼f\u001c¥:ŸV‹\\_Ƒ\u001aÆæÊW:£\u001eó1²\n„éÁ\u0013´îªZZ¾Á³Ê£îÑaZ=MÇ\nDyÁӎ·n\u0015ÓZ÷\u000e\u000bø¿”¾fW\u0010s9üíƒðÈÜáþ&&ù<£A½-\u000e/UH^ã€\u0010J£S›,2½WÈ\u0017P²ŸVø2ã\u0004žJ³\b™mÒµWIÿàÄÁÂ—R\u0011§¸$ól\f5FâN³Š‡l*üSi\u0012á\u0004}4«ÃéLÆ\u0005Аjy\u0004ʍ\u0011lÕ¸ÿæÂ‰_«\u001fGxLˆq‹Óå³C6]Ïy䙁Q\tÇeª˜V³óûäMˆóÇÂí\u0013fV\u0015|»U½‚,ÕqÆùL{Ž\u0013ާmÁsV͏ûLœƒ“\u0001ÏíϤ.9R[´K\u0002ðÔª£ÿôÁ£\u000fð͋\u0004.“ˆ_ýá{\u0001ð˜Çc¹s.\tŽ[œ›=M\u0006¯ã¼$Nf·Ü¥|~t”yðèÅ©\u0003\u0012ÏÃë²aNõFÛü\fò™«k´ÃNCÏÚäŸ\u0006R\u0002{„FÆg\u001bt>W“™tH=MQǶçwùÆk¯I]]Ž­\u0014hWëc|\u0005Qš·çîs>¯Ž™ä˜=M±\u0015×g¹˜^•ò\u0019(\u0019œô’±{÷ÇÉ\u0006sÃÕo\u0011þ^\tf\u001b\u001c½\u0005“ƒµïÚ}^o\u0019ôÜ\u00053\u000fµïé¿^#\u0003$4k3_—àðò!YŠ%<°\"ºU/˜ôMÀ\u0015Р×s#zM-˜ØEÀé± Ý·#Ò^.8\u0018I\u0000v´°\"ibš‡.YtHDšå°ª-bÚ:Akû¤¼\u000f=}\u0012™th²yA™v¦´ÿ1r\u000b˜h$£\u0002 )5eñŒûÖ=MZ‹ûVÞ±]xû֍û֍û\u0006\\~5ù°ù\u001dÕéŸN³ßc\u0010\u0011\u0003¢‡~3|\u0019dÐ)áèb¢”eaAC˜\u0002?áúf¢\u0006=}%ù&(n®3”ºK\u0018mFÛk0n*ŽÝAˆ\u001aÀ\u0004ñ7DÍþ³ü\u001fÍD±{’ÌÄĄ-餿EoÄDÊ¥„jWé}cE\u0019GkºL´ì}OÙØw\u0012ö9iÁ{5\u0001eÓ75þw¬\u001dvQCׂŽéìvwl«ªq)e¯†ª&}4аB÷$å«\u00134çwKF\u000ftD®KØÊؔφøóº\u0012Š\u000e\u0018|S@«FgAí¶\u0012:KU·ž÷D\nŠŽÔò\u001cýc“œÈÆò„í¢%º\u0017ö‰:\u000eö\f\\Á\u0019\u001cºF™¿\u001eó¦›þT„\u001fì\u00107¦a%,‹ê:NöR\\\u001dË\u0001³´Ag“cÑN¦’#-5æ9êîV4yèÚõ\u0010\u0001Aã\u0003\u0007-‡ŽÓLŸøò\u0007%ëï\u000fzž\u0018ê’k–ë\u0014â¶_Jxþ³¶-ßy2‰ëËMLóÚxj,Ô\f;‹©ÓL7¶…’»MÇ\u0017{Š¿ÑÌ߁é\u0012 Ã\u000fS®ûÿ”´\u001fôQ\u0002gçÕÜ®¼Å<-ÊY\u0006Zçõß=}?V´‹\u0003h\u0016\u0014:\u0002¸Váц®ƒï*ç\u0011M®S'R›æ‘\f¦ƒ\u0017\u001d¾uo›Fß\u000e\t\u001eÑ\u0007ß\u000f]E“›þM\u000eÙpéSc™òߛh‡˜SïÀn¾r\u001d\\÷fššl\u0015œßðӚ­Ç\u001a.ï©ã¾ÿî›îÿ:\u0018\u0019áࡇ\"…þ(ì\u0019X\u0010î\u0017¡fÙ\"›ª&ÞÉ8ˆH\"˟)\\½(´Ž<ˆõNPχ\u0000\f°àk3\"ù†'ÊN+\u001cÓQð‚oÀû\u0011à k¡A—d&]<\t\u001d|Ä\u001d»±Ú¿d\f\u0017±ÂÙB?7­üsAÒÅv„¬\u001c\u001c\u0004Ë&±ÓÍBãÚfÊ,¨\\TZRŠÄ\u001c¢èÅu±ö{C>¨¬Y5RL.p= $!0í֍ûοû–\u000bí֍û֍ûÖ=MÚ§\u0011p\u0004—/\u0016§34«Iø¶x°Y½€†.a\b⢖…$gÊ)²W4èö¢£}%±ÝÀú@áØQ¢\u0003ó$Ÿ6(ÒÌ6ôûJ\bÕP\u000bĀ\u000b…áÉÛ¢{ï%o_*~\u001d6Ü.G™6c’G±\u0004Œ:é\u0019%D#kjºv¶\u0004ÍK)ÿ|’Ù£„¶,Ò^²äãD·æk¦î´\u0004y<œ÷h\u001a³D_@ùžrr\u0005Ò\u0004\u0016=}iû‡²w\u000fE½žj¾¦vT®ÊX=}oq@¥‚~fe¨üªFe4»ëHâusôÎϸýb‘ÏÃBÉrô\u000bÃ8Utѓ¼\u0002\u0011”e䥪¬Ë4ÅWK:=Mq”^ʐ\u00074\u001dÎK&\\(\u0018Åâžr”\u001c͈0vsRºF}œmØ4º'9T{“Ц5òôJÅity“Ûֆf3m­ÖºPýT»ÌƑŸmè1º\u00193T¥‡ŠNLôÔ|ř×iƒ–‹ž<.\u0018l\u0000ψzýõ|œÊI\u001anÓ\u0010»F”(cÓ(¦ÍQ,12:\nÆTì눘´ó°Ê°Á‘iã䪦cU-\u000f::\u0002ÕR4\f4\fÄÁ›Oã\u0000a¦éÃ,“G9¶ìRL}„xÔêP‹³\fNc¿c¦–Ç,µO9ÒþRdœ„Ø\u001fòÐ\u0011ÃÁ\u001focåp¶ˆ±L‡ƒzfDÔ4o‰\u0019¸áR_§Åœ!ë;LÃëyòwÓ\f͋Éöô’Û­Åm7ë+…\tðû\u0012˜°Å\u0001Hë\t©¶¢SM+7xâÍ(V\u000bM\u001b×y\u0002\u000f+–gM{ïx\u001e}ִލ9\u001cèÒ\u000fÅ\u0005\u000b'kæ?¶šA<#â[¶f“<­\u000b˜´ä\u0011SÕCz†g²|®\u0014%=}y«[Òµ“„É\nhsç±ÐÑC‚Kç\u0007.®{ý=}›Íƒ–§9\u0002È\\ú±”²\u0003\u0005,çÆ\u0019.Û챟Í\u0003\u0003†çª}®æ'=}±oXÖ¼“TÚ\n\u0018ûQ\u0013±C\u0017kçÑ\u0017®\u001aÿ<¯\u001fXZ§\u0011ܯ\u0004\t6ó\u0013RÞÇeRïÅT¾²¹]˓š‚5\u0010Ȃ¾+Å]¹J™\u001aõ\u0010¼Ï\u0007iúôóÆÕ‡…ç\u0000÷ý³îšº\u0014\u0011l8\u0004YPâ\u0013š¼G\u0016toÞù¾Z+]ý·›¦Î\u0015ìø\fyÖóӑ߇\u001bqïîó!,\u001cŸ&è!€+@&ãù֍û\u0015„ûÖ=M\u001aŽ{֍û֍û֍\u001c‡›‘Cછ!†])P\u001cu Ž?\"ô\u00196@ÿ¿ ‘bXþ§•<­\f¸6óñRÞC“rç\u0007t®M9<ýÒYR\u0006‘\\H\b¸tìa9ç몮‘õ=}ù\nZîU’Ô‰\u0001\u0018ûöQÞÓC‘oç\u0012 Ïñÿў¨ÿgYv¬—D¹\n¸Xë\u0011ŸÞÃ\u001drçåu®|;<³×š\u001c}®ò'<Ó®Z~½’\u0004Ù\u0000\b—õ‘\b¶C\u0004#gñÇ®àKçÚ\u0017®\u001b<±ŸY\u0012\u001e—T*E\u0014/Oì­B\f¨I¼¯G\\nLœjA\u001ckK¤éLdèAdìK¤KD$OFœOEÜLO|ÏB<ÌIÌÈG¬ŽL”ˆA´‰KD=MDœ\u000eF<\tMl2Áá A\u0019p\u0001éh\u0011XÁ\u0011„Aî,\u0001ô<áM4òN3NÌ2šÏ7\u00021Ö\u000f0Ê\u000f\u00158'%[FdYMì^OÄÚBÌÚA„ÞK̙\b\u0013¾)\u0013)Qÿ+c^+¿Þ+-\u001f(§£I‰bKcãK¯BK%‚H3\u0002\u0018“\"E{rerJ§óJSI…ÓIã’I'\u0012Iÿ+I9ªI\u0015kIãëI;JI÷ÊI_‹I\u0011\nKÙ:KµºKí{K]ûK£[K\u0003ÚKóšKÓ½R׿ÿ'\u0019\u001bP\u001f^j9Tîçm\u0012\u0011óœþL¿_o©×h\u0019ÙtÙÞrùÔv9Ùq‰ÜuéÚs\u0019ÛgYž= 9Ÿdɑb©•fٜ~9›yI•}\u0019•kyoÉ\u001fh)\u001dly\u001brÉ\u001ev\u0019\u0012a¹\u001ceé\u0012ã\u0007\u001fv:\u001dwþ§P\u001a§QBfPÆdV2fW\u0006åR²äS†GT‚GUæÄP¢ÅQÚÇW>„RJ„SV\u0007T\u0002\u0005U|!\u0003†CoQƒœi\u0003‰9C%ƒ„…\u0013¾8é‹9\u000b:‹;8\u000f;;yº;=M{9«û\u001aÜ.fÄNf\u0001\u000e\u001eÍ·QÕÏÑw¬g\u001d¬p£¬tc­ÂC¬\u001aíÎ\u0003¬Á3­‰s¬Eó­-Ó¬½“­\u001d+¬c«\u001d|†<x‰\f~\u0003ÙÍWvŒ\u0012\u001c×:×8—;M\u00169\u0005/:ù®8Q®;?o:\u0007î8Kï;#N9ÕÎ:‰8ÿ9g\u000e:\u0003>\u0018×çf¢‡æ½7æ¼÷fݗfì¯æ\tï^\u0007»±\u0013Ç\u0011\u0018×%Q= n!‚= Q0̍ûÖýnûÖ=M†‹û֍û֍ûÞëçSÒSl\u001c_ \u001ca­Gá­qÁ¬,­Ó\u0001­Ö±¬pq­\u0019ñ­¼Ñ¬³‘¬Ú\u0011­·)­\u000ei¬\u001f鬁I­‰¬Ñ\t¬(9\u001d†CdVß.\u0003“NÃe~\u0003šžÃ˜AƒƒC~Qƒp)\u0003™IÔyƒ…™C„EÑ5ƒwUC’mÃyƒ{}\u001fÇ¡qűQÇ©‡‹†Ä‰ÔÌ‹‹ÜÄ\t„T=M‚ì\u000e†|\f$\u000f„\u000f\u000b›\u001d­\u0011†\f<ˆ\\<\f\u001f/\u0013ÛC¬Rìöƒ¬Á\u0003¬%3¬=}³¼“ªÿ¹†œº$¹d¼‹ä¹DyˆÄzŒÄ{\n^¶›{\t\u0015w;I÷:©ö;QWZ\u0017†\u0003ÿ6\u0003\u001dV\u0003\u000e.\u0003ôNƒë>ïÛï9/X\u001bAÃô1C\u0015Qïâ\u000b¼T–¿VF½Uz½W\u0012}”‡·­[wüãUÃû-Ã\u0000M\u0007Þ\u0003Ÿý•Ç\u0017­*/\u001dîƒ\u0003\u00143—\u001dìH\u0014â\u0018\u0016òx\u001dúˆ\u0018öÝW\u0016ŸO¿¬ø¬c½\u0011Û1\tÇÑ\u0019·q\u001d¯\u0011\u0005Ï÷\u001c„*Bn&5­£«?Aä¸pBq8ÑAÌH4~¼©@Šf2/B«vqåۈ“,\u0011YÆ\b6{œªCZæ3Ï\u0002«Æ)åÍd‚2‘XÉè±|LmAÂÅ2jM~Ç1õò©ý\te²¬‚hF\u0011\\ÓH¹uLëF¢\u00050-’ª=MÙdÄ\\™~ÑK¿¨pà\u0017+ªÕ¥ä\u001cž1QÉÈ÷JF²¶0MkªõÅäûòBƒyñÞ¼xu~\\Ë@2w2ÕK«)uäñÊ\u0002‡U±Î¦Èws¬ÎE–ö6o\u000b˜ÝšB—ñС8úðÿW’\u0016æîûä\u000bW\u0013WíeÉ6îør\u0014EÆÖ6‹ú¨£åõ–îñþ\u001d•0ÁZ©8½]w7±ÁËèùm4\fNª\u00170…šª*ÝdÅþ’?ýu_qÎßS-0¥m\u0004µèRpÄ:D\u0002/\u0016|cd°Á\u0002Ã×'ãäÙ\u0001\u000e„¤›=}Iæ¯2]gÛ»QÂøx±†¼(_þS›[WaÌ»Hæl2ÍF\u001b\u00194±Ê\u0018\u000e=MüTŸ_}\u0014¹\u0001™†ÚÃy\u0002³×cÓåäY\u001eÿ|\u0007½Gޙ[P¬|\u0000¹7ªx«ä=}+6Û§EBår—\u0007éRO\u0017Ÿv\u0018Ù׉K\u001d\u001eJ1šÕø\u000fÍç:\u001fÍØ\u0007\u0002Z%2/PÖ½! &‹û֍×ï֍û֍û֍ûÖÑÖQÕ1–³éf\u0017\u001c®ßT\t‡×i3î\u0018Y\u0016€Ž»Til»÷FmÁ\u0019òDS…¡ÿOTwfNÒO«­c\u0007EöØôÅêR›ÝüøÄy|:ÍÔ:\u0004éœÛúÙp­\u000fó—Í6v³Ü°¬Ú\u0004#´÷F§ð‚ÃÙ\n³\u001b\u0011\u0014†ÿ\u0004½\u0012œÞðJÏBýV\u0017§ìûÕ΄ù\u0001_¹–\nÜiÛk;ì‡:\u0006™ÜÕç\u001a˜ŠÏÑٍ¿‘(ÁÜÎ\u00190¹/\bs™}ÿ\\¸{Tî\u0015Ym–½\u0013B~XÂ\u0005F¼‚gýW~_ƙE¬bçý¾^\u0001~’ª•ðÃhÀøIƒ\u0010\u0010‰=MPû™e7ýºCܟöޒª¯ï9«sœÈ³\u000eä1þôjW‡'o‹ÆËÓ¬ûO‰ã9g0|\u0016Æùå\u0003Z\nÒlE¤ïΊìùà=}º\n¼\u0014\u0005@¯‹Ë«Q¼3\\ÃÑNé(®\u0013¤öÚP#øãýa\u0016¿\u0016ÌDº\u0017Õ÷u9ëq\u000e/‘VԀ>·™ZôÝÂ]«Ùês\u0006bK†“º\u001bâ=MAU9îv˜Iâ\u000f‰á„\u0016±è‹±\u000eQí8ï.B˜Zê}Ç:xä)ލö¢³­z\u0014ƒAg¨\u00079\u0017—´ÁMƒyçYލ\u0015î\u0018®rԀH«Y= H\u0017ä™G„Ä,í9ä<֓¡D>«×„ÁLm\tã„v“° ŽlfÜcšªp³Ö,„JKùë%ÂÙCñ\u001a™·T\u0004Ã\\-\bè@FѸí<\u00022±üÌAŸ¨7™¿\u000fèiQÊð°\u0016\u0014$syäZ–‘¬«¤²àÚ\u0012'™¦÷\u0018°Ïéd>ªq¾ºTÂU}\bëpæQ­™Lƒ=}ûøëq@Bi\u0000Æ4›à\\êóÜè\u000bÜëgœáׄ@KÙèo1jr¶jtÃV\u0015‰l“zó¾î”ÇW\u001d8äpfP¦\u0011l‚JS¸í|6иÅ̀5‹yïfVÓ­=}\f‚/\u001bøïa.“´ƒ¼\u0000Dǟóñ¿\u0007\"·Øì5Β­\u000b$0h0á߉\fãž\u0012“‹?\u0019Ý¿»\u001b¿ä\u001cD\u0016G‘_©\u001f­¤ÿh\u001c­Ä_h\u001e;I\u001f±\u001e\u001e\u001f\u0007\u000fvŽ\u0003–\u000e\u0000n\u000e\u0002Ž\u000e\u0001~\u000e\u0003ž>\u0000á;ò­=M™óý\u0003\u000e\u0018Ž\u0001å¯\u000f\f7\u0011‘¯\u0019ɕý#”{} \u0000·Zë´”ÎÆ„NÏ\u0011RǽûV«A¹³ì֍ûÖyí\u0016\u000f\u001bû\u000f¼\u000f9g\u000f:&@*†!e*$£vËbáª;Vp•c,ÈåE\bUV!4yø \f\u0014Ô#\u0015Û\u0017%î%i\u0000[óX\u0000\u0015\u0013¢î¾Ù@\u0016à’À†G!þ¨@Ý\u0013IÐN\u0011Z= Ýóá\u0012¤\u0017àYá /žVâ ÷6X€ˆH\\Øü&\u0011ð8˜ûwâ6õ2@ý \u000eÊù.ž‡=M+ç-n¢ƒò|øM/<ýŽNÌS‰Y¬‹Ý)z¿\f¥—Coá\u0013\u0005Î㒱\tÐÁï›XÙ£!õ܀d?¯xðì\nÁ\biŸ;ª•äÀž‡%Ёn= =M+W= \u0007ÓÖc[\u000f\u0017aS\nFÁð]Nô‡Ý'= “qr\u0013\u0005(¶ù¤nŒü«òÿ¿d&ÿ\u000bÈõ\u0013T4Þ\u0007=}z|ö ¿OW\u0002×SM\u0018tdH.τãRX&§o3Ø\u0007\u0015˜ÜXÍ^\u001eœÊM–í\b£W´iâ\u001b]NüOå£S£\u0006\u0002\u001dÅ·ƒç÷­˜\u0010\u0000Ý\u0018§½GÑ\u0003\bU\fy¹¦ß\u0014§/6P0\u000f(C\u0019úýb\"þ¥°VٌÄᣈ’ÓÙ@¾Y\u0011\u0004ýò\u001aDŽŒ{òÃv?’EP©”=M\u0002Bé­\\Ä\u0004½Yä\u0018ýRò\tøfâë\u000fEEf¼D+gC×úDZGÅÿ±Ç?TzÙ¡±†Ï€ÁÕ¯¦ð‰vZ’mT}Œ3\u0014x˘z×cºrÑM=M„\fc-ɩԈ™7½wæc§Î»cû¾yf‡ÙWòŒÆÝÔc¥³ô\u0004Øfƒ«Äñ·9‰ø%­\u0019g:y”^+{U]¤\u0005þ‚…[&fӁÏY낫‡Gªõ‡¹¦ÖŒð\u0001þ¬\u000fm„o\u0013Ûø‘?/ÛS’.[S›9ÛùœC›…/û2”²Y£ÎÑ%/sy\u0000¢×ÌùJ­\u0014W\u00126Oí\\g\u00070^JùêßÏ0í[\u000e\u0004Ü\u0015“'Ï\u001eÔ>žÀ-¿[ÔW?Y]±\u000fž\u000b\u0004ØÙÃî<~ÎëR~Ì\u0004f¾Z—/×¼_á\u0013¾Þê+îo\u0005Ðñ{Þ\\e3K\u000e%©¹§íB¹§(c=}ËÈ·SzÔn\u0002\u0002\u0004f§èx}o\\9öf|%Ýå¥~©‚\u001aIǀ\u000bü\u0002€ñY\u00028}FfŸú@Rú\u000f1éþ3‚÷\u0018˂‹ótQø\u001cvœû|³Îa\u0012á,Ó\u0014é>BG6Òê}—Ä\u0017J|¶=}\u0000°\u000eŽ\u0015\u0004ˆöf6žõk¶ÌºHgN’j‡Ò{柾M;9·é—§WèO±›Ä\u00033қ\u0015ËÒy\u001et™\t\u0014;ù´ˆ\u001aà©aš|—Ó^\u0005!ÝøûšÄ\n(VV¸\u000bÇÙcÏ>yoçz\u000bÃv\u0014òG{3\u0015Þ£½šŠcמ\u0017ôŒ\u001d\u000bíŚ\u0017é;\u0014°OÛ\u0015‰\u0001G\u0014Ø<w\u0015ÜW>\trU\u0016]Žq­{û'ùÝ\u0005í\u0016r{*øï?t-í\u001agùWÿ…\u0016\u0016&§]\fm}\u001b×ût¥‚Ë~ß&>&Õv!b#ÅÌ\u0012\u0013‚q¢µ|jŽÍüùÉ^Æ&™ôžþŸ~s\u0012I\u0019µ\"\u001f“]d)uâ´\b‘ºvk\tÅ\\<͉ÿ­öꍽ\u0006ƒÂ\u0001\n\u0002ïB\u001eçϧ\u001fmÙIól\u001fÜo\u001bëVbƒ¦¯éWÇû\u00103`});\n\nvar imports = {\n \"a\": wasmImports\n};\n\n// No ATMODULES hooks\n// Begin runtime exports\n// End runtime exports\n// Begin JS library exports\n// End JS library exports\n\nthis.setModule = (data) => {\n WASMAudioDecoderCommon.setModule(EmscriptenWASM, data);\n};\n\nthis.getModule = () =>\n WASMAudioDecoderCommon.getModule(EmscriptenWASM);\n\nthis.instantiate = () => {\n this.getModule().then((wasm) => WebAssembly.instantiate(wasm, imports)).then(instance => {\n const wasmExports = instance.exports;\n assignWasmExports(wasmExports);\n wasmMemory = wasmExports[\"l\"];\n updateMemoryViews();\n // No ATPRERUNS hooks\n initRuntime(wasmExports);\n ready();\n});\n\n// end include: postamble_minimal.js\n// include: src/ogg-vorbis/src/emscripten-post.js\nthis.ready = new Promise(resolve => {\n ready = resolve;\n}).then(() => {\n this.HEAP = wasmMemory.buffer;\n this.malloc = _malloc;\n this.free = _free;\n this.create_decoder = _create_decoder;\n this.send_setup = _send_setup;\n this.init_dsp = _init_dsp;\n this.decode_packets = _decode_packets;\n this.destroy_decoder = _destroy_decoder;\n});\nreturn this;\n}}","import { WASMAudioDecoderCommon } from \"@wasm-audio-decoders/common\";\nimport CodecParser, {\n totalSamples,\n data,\n codecFrames,\n header,\n vorbisComments,\n vorbisSetup,\n isLastPage,\n} from \"codec-parser\";\n\nimport EmscriptenWASM from \"./EmscriptenWasm.js\";\n\nexport function Decoder() {\n // injects dependencies when running as a web worker\n // async\n this._init = () => {\n return new this._WASMAudioDecoderCommon()\n .instantiate(this._EmscriptenWASM, this._module)\n .then((common) => {\n this._common = common;\n\n this._input = this._common.allocateTypedArray(\n this._inputSize,\n Uint8Array,\n );\n\n this._firstPage = true;\n this._inputLen = this._common.allocateTypedArray(1, Uint32Array);\n\n this._outputBufferPtr = this._common.allocateTypedArray(1, Uint32Array);\n this._channels = this._common.allocateTypedArray(1, Uint32Array);\n this._sampleRate = this._common.allocateTypedArray(1, Uint32Array);\n this._samplesDecoded = this._common.allocateTypedArray(1, Uint32Array);\n\n const maxErrors = 128 * 2;\n this._errors = this._common.allocateTypedArray(maxErrors, Uint32Array);\n this._errorsLength = this._common.allocateTypedArray(1, Int32Array);\n\n this._frameNumber = 0;\n this._inputBytes = 0;\n this._outputSamples = 0;\n\n this._decoder = this._common.wasm.create_decoder(\n this._input.ptr,\n this._inputLen.ptr,\n this._outputBufferPtr.ptr,\n this._channels.ptr,\n this._sampleRate.ptr,\n this._samplesDecoded.ptr,\n this._errors.ptr,\n this._errorsLength.ptr,\n maxErrors,\n );\n });\n };\n\n Object.defineProperty(this, \"ready\", {\n enumerable: true,\n get: () => this._ready,\n });\n\n // async\n this.reset = () => {\n this.free();\n return this._init();\n };\n\n this.free = () => {\n this._common.wasm.destroy_decoder(this._decoder);\n this._common.free();\n };\n\n this.sendSetupHeader = (data) => {\n this._input.buf.set(data);\n this._inputLen.buf[0] = data.length;\n\n this._common.wasm.send_setup(this._decoder, this._firstPage);\n this._firstPage = false;\n };\n\n this.initDsp = () => {\n this._common.wasm.init_dsp(this._decoder);\n };\n\n this.decodePackets = (packets) => {\n let outputBuffers = [],\n outputSamples = 0,\n errors = [];\n\n for (let packetIdx = 0; packetIdx < packets.length; packetIdx++) {\n const packet = packets[packetIdx];\n this._input.buf.set(packet);\n this._inputLen.buf[0] = packet.length;\n\n this._common.wasm.decode_packets(this._decoder);\n\n const samplesDecoded = this._samplesDecoded.buf[0];\n const channels = [];\n\n const outputBufferChannels = new Uint32Array(\n this._common.wasm.HEAP,\n this._outputBufferPtr.buf[0],\n this._channels.buf[0],\n );\n for (let channel = 0; channel < this._channels.buf[0]; channel++) {\n const output = new Float32Array(samplesDecoded);\n\n if (samplesDecoded) {\n output.set(\n new Float32Array(\n this._common.wasm.HEAP,\n outputBufferChannels[channel],\n samplesDecoded,\n ),\n );\n }\n\n channels.push(output);\n }\n\n outputBuffers.push(channels);\n outputSamples += samplesDecoded;\n\n this._frameNumber++;\n this._inputBytes += packet.length;\n this._outputSamples += samplesDecoded;\n\n // handle any errors that may have occurred\n for (let i = 0; i < this._errorsLength.buf; i += 2) {\n const errorDescription = this._common.codeToString(this._errors.buf[i]);\n const functionName = this._common.codeToString(this._errors.buf[i + 1]);\n\n errors.push({\n message: errorDescription + \" vorbis_synthesis\" + functionName,\n frameLength: packet.length,\n frameNumber: this._frameNumber,\n inputBytes: this._inputBytes,\n outputSamples: this._outputSamples,\n });\n }\n\n // clear the error buffer\n this._errorsLength.buf[0] = 0;\n }\n\n return this._WASMAudioDecoderCommon.getDecodedAudioMultiChannel(\n errors,\n outputBuffers,\n this._channels.buf[0],\n outputSamples,\n this._sampleRate.buf[0],\n 16,\n );\n };\n\n // injects dependencies when running as a web worker\n this._isWebWorker = Decoder.isWebWorker;\n this._WASMAudioDecoderCommon =\n Decoder.WASMAudioDecoderCommon || WASMAudioDecoderCommon;\n this._EmscriptenWASM = Decoder.EmscriptenWASM || EmscriptenWASM;\n this._module = Decoder.module;\n\n this._inputSize = 128 * 1024;\n\n this._ready = this._init();\n\n return this;\n}\n\nexport const setDecoderClass = Symbol();\n\nexport default class OggVorbisDecoder {\n constructor() {\n this._onCodec = (codec) => {\n if (codec !== \"vorbis\")\n throw new Error(\n \"@wasm-audio-decoders/ogg-vorbis does not support this codec \" +\n codec,\n );\n };\n\n // instantiate to create static properties\n new WASMAudioDecoderCommon();\n\n this._init();\n this._ready = this[setDecoderClass](Decoder);\n }\n\n _init() {\n this._vorbisSetupInProgress = true;\n this._totalSamplesDecoded = 0;\n this._codecParser = new CodecParser(\"audio/ogg\", {\n onCodec: this._onCodec,\n enableFrameCRC32: false,\n });\n }\n\n async [setDecoderClass](decoderClass) {\n if (this._decoder) {\n const oldDecoder = this._decoder;\n await oldDecoder.ready.then(() => oldDecoder.free());\n }\n\n this._decoder = new decoderClass();\n return this._decoder.ready;\n }\n\n get ready() {\n return this._ready;\n }\n\n async reset() {\n this._init();\n return this._decoder.reset();\n }\n\n free() {\n this._decoder.free();\n }\n\n async decodeOggPages(oggPages) {\n const packets = [];\n\n for (let i = 0; i < oggPages.length; i++) {\n const oggPage = oggPages[i];\n\n if (this._vorbisSetupInProgress) {\n if (oggPage[data][0] === 1) {\n this._decoder.sendSetupHeader(oggPage[data]);\n }\n\n if (oggPage[codecFrames].length) {\n const headerData = oggPage[codecFrames][0][header];\n // skip the vorbis comment; an empty comment packet will be used\n this._decoder.sendSetupHeader(headerData[vorbisSetup]);\n this._decoder.initDsp();\n\n this._vorbisSetupInProgress = false;\n }\n }\n\n packets.push(...oggPage[codecFrames].map((f) => f[data]));\n }\n\n const decoded = await this._decoder.decodePackets(packets);\n\n this._totalSamplesDecoded += decoded.samplesDecoded;\n\n // in cases where BigInt isn't supported, don't do any absoluteGranulePosition logic (i.e. old iOS versions)\n const oggPage = oggPages[oggPages.length - 1];\n if (oggPage && oggPage[isLastPage]) {\n // trim any extra samples that are decoded beyond the absoluteGranulePosition, relative to where we started in the stream\n const samplesToTrim = this._totalSamplesDecoded - oggPage[totalSamples];\n\n if (samplesToTrim > 0) {\n for (let i = 0; i < decoded.channelData.length; i++)\n decoded.channelData[i] = decoded.channelData[i].subarray(\n 0,\n decoded.samplesDecoded - samplesToTrim,\n );\n\n decoded.samplesDecoded -= samplesToTrim;\n this._totalSamplesDecoded -= samplesToTrim;\n }\n }\n\n return decoded;\n }\n\n async decode(vorbisData) {\n return this.decodeOggPages([...this._codecParser.parseChunk(vorbisData)]);\n }\n\n async flush() {\n const decoded = await this.decodeOggPages([...this._codecParser.flush()]);\n\n await this.reset();\n return decoded;\n }\n\n async decodeFile(vorbisData) {\n const decoded = await this.decodeOggPages([\n ...this._codecParser.parseAll(vorbisData),\n ]);\n\n await this.reset();\n return decoded;\n }\n}\n","import { WASMAudioDecoderWorker } from \"@wasm-audio-decoders/common\";\nimport EmscriptenWASM from \"./EmscriptenWasm.js\";\nimport OggVorbisDecoder, {\n Decoder,\n setDecoderClass,\n} from \"./OggVorbisDecoder.js\";\n\nclass DecoderWorker extends WASMAudioDecoderWorker {\n constructor(options) {\n super(options, \"ogg-vorbis-decoder\", Decoder, EmscriptenWASM);\n }\n\n async sendSetupHeader(data) {\n return this.postToDecoder(\"sendSetupHeader\", data);\n }\n\n async initDsp() {\n return this.postToDecoder(\"initDsp\");\n }\n\n async decodePackets(packets) {\n return this.postToDecoder(\"decodePackets\", packets);\n }\n}\n\nexport default class OggVorbisDecoderWebWorker extends OggVorbisDecoder {\n constructor() {\n super();\n\n this._ready = super[setDecoderClass](DecoderWorker);\n }\n\n async free() {\n await this._decoder.free();\n }\n\n terminate() {\n this._decoder.terminate();\n }\n}\n","import OggVorbisDecoder from \"./src/OggVorbisDecoder.js\";\nimport OggVorbisDecoderWebWorker from \"./src/OggVorbisDecoderWebWorker.js\";\nimport { assignNames } from \"@wasm-audio-decoders/common\";\n\nassignNames(OggVorbisDecoder, \"OggVorbisDecoder\");\nassignNames(OggVorbisDecoderWebWorker, \"OggVorbisDecoderWebWorker\");\n\nexport { OggVorbisDecoder, OggVorbisDecoderWebWorker };\n"],"x_google_ignoreList":[0,1,2,3],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const e=(e,t=e=>e===void 0?``:`: `+e)=>class extends Error{origMessage;constructor(n){super(e(n)+t(n)),this.origMessage=n===void 0?``:String(n)}},t=e(()=>`illegal argument(s)`),n=e=>{throw new t(e)},r=e(()=>`illegal state`),i=e=>{throw new r(e)};var a=class{buffer;start;limit;pos;bitPos;bit;constructor(e,t=0,n=e.length<<3){this.buffer=e,this.start=t,this.limit=n,this.seek(t)}*[Symbol.iterator](){let e=this.start,t=e>>>3,n=7-(e&7);for(;e<this.limit;)yield this.buffer[t]>>>n&1,--n<0&&(t++,n=7),e++}get length(){return this.limit}get position(){return this.bitPos}seek(e){return(e<this.start||e>=this.limit)&&n(`seek pos out of bounds: ${e}`),this.pos=e>>>3,this.bit=8-(e&7),this.bitPos=e,this}read(e=1,t=!0){if(e>32)return this.read(e-32,t)*4294967296+this.read(32,t);if(e>8){let n=0,r=e&-8,i=e-r;for(i>0&&(n=this._read(i,t));r>0;)n=(n<<8|this._read(8,t))>>>0,r-=8;return n}else return this._read(e,t)}readFields(e,t=!0){return e.map(e=>this.read(e,t))}readWords(e,t=8,n=!0){let r=[];for(;e-- >0;)r.push(this.read(t,n));return r}readStruct(e,t=!0){return e.reduce((e,[n,r])=>(e[n]=this.read(r,t),e),{})}readBit(e=!0){e&&this.checkLimit(1),this.bit--,this.bitPos++;let t=this.buffer[this.pos]>>>this.bit&1;return this.bit===0&&(this.pos++,this.bit=8),t}_read(e,t=!0){t&&this.checkLimit(e);let n=this.bit-e,r;return n>=0?(this.bit=n,r=this.buffer[this.pos]>>>n&(1<<e)-1,n===0&&(this.pos++,this.bit=8)):(r=(this.buffer[this.pos++]&(1<<this.bit)-1)<<-n,this.bit=8+n,r|=this.buffer[this.pos]>>>this.bit),this.bitPos+=e,r}checkLimit(e){this.bitPos+e>this.limit&&i(`can't read past EOF`)}};function o(e,t,n){return e<t?t:e>n?n:e}function s(e,t){return{history:new Int16Array(e||4),weights:new Int16Array(t||4)}}function c(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]>>13}function l(e,t,n,r){let i=r>>4;e[0]+=t[0]<0?-i:i,e[1]+=t[1]<0?-i:i,e[2]+=t[2]<0?-i:i,e[3]+=t[3]<0?-i:i,t[0]=t[1],t[1]=t[2],t[2]=t[3],t[3]=n}const u=e=>Math.sign(e)*Math.round(Math.abs(e)),d=Array(16).fill().map((e,t)=>u((t+1)**2.75)),f=[.75,-.75,2.5,-2.5,4.5,-4.5,7,-7],p=d.map(e=>f.map(t=>u(t*e)));function m(e){if(e.read(32)!==1903124838)throw Error(`Not a QOA file; expected magic number 'qoaf'`);let t={samples:e.read(32),channels:e.read(8),sampleRate:e.read(24)};return e.seek(64),t}function h(e,t,n,r,i){let a=e.read(8),s=e.read(24),u=e.read(16),d=e.read(16),f=Math.floor(d-8-16*a),m=Math.floor(f/8)*20;if(a!=t.channels||s!=t.sampleRate||u*a>m)throw Error(`invalid frame header data`);for(let t=0;t<a;t++){let r=n[t];for(let t=0;t<4;t++){let n=e.read(16);r.history[t]=n}for(let t=0;t<4;t++){let n=e.read(16);r.weights[t]=n}}for(let t=0;t<u;t+=20)for(let s=0;s<a;s++){let a=p[e.read(4)],d=t,f=Math.min(t+20,u)-d,m=n[s],h=r[s],g=i+d,_=m.weights,v=m.history,y=60;for(let t=0;t<f;t++){let t=c(_,v),n=a[e.read(3)],r=o(t+n,-32768,32767),i=r<0?r/32768:r/32767;h[g++]=i,l(_,v,r,n),y-=3}y>0&&e.read(y)}return u}function g(e){if(e.byteLength<16)throw Error(`QOA file size must be >= 16`);let t=new a(e),n=m(t),r=[],i=[];for(let e=0;e<n.channels;e++){let e=new Float32Array(n.samples);r.push(e),i.push(s())}let o=0,c=0;do c=h(t,n,i,r,o),o+=c;while(c&&o<n.samples);return{...n,channelData:r}}d.map(e=>Math.floor((65536+e-1)/e));export{g as decode};
2
+ //# sourceMappingURL=qoa-format-CAiNgsjx.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qoa-format-CAiNgsjx.mjs","names":[],"sources":["../../../node_modules/.bun/@thi.ng+errors@2.6.2/node_modules/@thi.ng/errors/deferror.js","../../../node_modules/.bun/@thi.ng+errors@2.6.2/node_modules/@thi.ng/errors/illegal-arguments.js","../../../node_modules/.bun/@thi.ng+errors@2.6.2/node_modules/@thi.ng/errors/illegal-state.js","../../../node_modules/.bun/@thi.ng+bitstream@2.4.39/node_modules/@thi.ng/bitstream/input.js","../../../node_modules/.bun/qoa-format@1.0.1/node_modules/qoa-format/lib/common.js","../../../node_modules/.bun/qoa-format@1.0.1/node_modules/qoa-format/decode.js","../../../node_modules/.bun/qoa-format@1.0.1/node_modules/qoa-format/encode.js"],"sourcesContent":["const defError = (prefix, suffix = (msg) => msg !== void 0 ? \": \" + msg : \"\") => class extends Error {\n origMessage;\n constructor(msg) {\n super(prefix(msg) + suffix(msg));\n this.origMessage = msg !== void 0 ? String(msg) : \"\";\n }\n};\nexport {\n defError\n};\n","import { defError } from \"./deferror.js\";\nconst IllegalArgumentError = defError(() => \"illegal argument(s)\");\nconst illegalArgs = (msg) => {\n throw new IllegalArgumentError(msg);\n};\nexport {\n IllegalArgumentError,\n illegalArgs\n};\n","import { defError } from \"./deferror.js\";\nconst IllegalStateError = defError(() => \"illegal state\");\nconst illegalState = (msg) => {\n throw new IllegalStateError(msg);\n};\nexport {\n IllegalStateError,\n illegalState\n};\n","import { illegalArgs } from \"@thi.ng/errors/illegal-arguments\";\nimport { illegalState } from \"@thi.ng/errors/illegal-state\";\nconst U32 = 4294967296;\nclass BitInputStream {\n buffer;\n start;\n limit;\n pos;\n bitPos;\n bit;\n constructor(buffer, offset = 0, limit = buffer.length << 3) {\n this.buffer = buffer;\n this.start = offset;\n this.limit = limit;\n this.seek(offset);\n }\n *[Symbol.iterator]() {\n let j = this.start;\n let i = j >>> 3;\n let b = 7 - (j & 7);\n while (j < this.limit) {\n yield this.buffer[i] >>> b & 1;\n if (--b < 0) {\n i++;\n b = 7;\n }\n j++;\n }\n }\n get length() {\n return this.limit;\n }\n get position() {\n return this.bitPos;\n }\n seek(pos) {\n if (pos < this.start || pos >= this.limit) {\n illegalArgs(`seek pos out of bounds: ${pos}`);\n }\n this.pos = pos >>> 3;\n this.bit = 8 - (pos & 7);\n this.bitPos = pos;\n return this;\n }\n read(wordSize = 1, safe = true) {\n if (wordSize > 32) {\n return this.read(wordSize - 32, safe) * U32 + this.read(32, safe);\n } else if (wordSize > 8) {\n let out = 0;\n let n = wordSize & -8;\n let msb = wordSize - n;\n if (msb > 0) {\n out = this._read(msb, safe);\n }\n while (n > 0) {\n out = (out << 8 | this._read(8, safe)) >>> 0;\n n -= 8;\n }\n return out;\n } else {\n return this._read(wordSize, safe);\n }\n }\n readFields(fields, safe = true) {\n return fields.map((word) => this.read(word, safe));\n }\n readWords(n, wordSize = 8, safe = true) {\n let out = [];\n while (n-- > 0) {\n out.push(this.read(wordSize, safe));\n }\n return out;\n }\n readStruct(fields, safe = true) {\n return fields.reduce((acc, [id, word]) => {\n return acc[id] = this.read(word, safe), acc;\n }, {});\n }\n readBit(safe = true) {\n safe && this.checkLimit(1);\n this.bit--;\n this.bitPos++;\n let out = this.buffer[this.pos] >>> this.bit & 1;\n if (this.bit === 0) {\n this.pos++;\n this.bit = 8;\n }\n return out;\n }\n _read(wordSize, safe = true) {\n safe && this.checkLimit(wordSize);\n let l = this.bit - wordSize, out;\n if (l >= 0) {\n this.bit = l;\n out = this.buffer[this.pos] >>> l & (1 << wordSize) - 1;\n if (l === 0) {\n this.pos++;\n this.bit = 8;\n }\n } else {\n out = (this.buffer[this.pos++] & (1 << this.bit) - 1) << -l;\n this.bit = 8 + l;\n out = out | this.buffer[this.pos] >>> this.bit;\n }\n this.bitPos += wordSize;\n return out;\n }\n checkLimit(requested) {\n if (this.bitPos + requested > this.limit) {\n illegalState(`can't read past EOF`);\n }\n }\n}\nexport {\n BitInputStream\n};\n","export const QOA_MIN_FILESIZE = 16;\nexport const QOA_MAX_CHANNELS = 8;\n\nexport const QOA_SLICE_LEN = 20;\nexport const QOA_SLICES_PER_FRAME = 256;\nexport const QOA_FRAME_LEN = QOA_SLICES_PER_FRAME * QOA_SLICE_LEN;\nexport const QOA_LMS_LEN = 4;\nexport const QOA_MAGIC = 0x716f6166; /* 'qoaf' */\nexport const QOA_FRAME_SIZE = (channels, slices) =>\n Math.floor(8 + QOA_LMS_LEN * 4 * channels + 8 * slices * channels);\n\nexport function qoa_clamp(v, min, max) {\n return v < min ? min : v > max ? max : v;\n}\n\nexport function LMS(h, w) {\n const history = new Int16Array(h || 4);\n const weights = new Int16Array(w || 4);\n return { history, weights };\n}\n\nexport function qoa_lms_predict(weights, history) {\n return (\n (weights[0] * history[0] +\n weights[1] * history[1] +\n weights[2] * history[2] +\n weights[3] * history[3]) >>\n 13\n );\n}\n\nexport function qoa_lms_update(weights, history, sample, residual) {\n let delta = residual >> 4;\n weights[0] += history[0] < 0 ? -delta : delta;\n weights[1] += history[1] < 0 ? -delta : delta;\n weights[2] += history[2] < 0 ? -delta : delta;\n weights[3] += history[3] < 0 ? -delta : delta;\n history[0] = history[1];\n history[1] = history[2];\n history[2] = history[3];\n history[3] = sample;\n}\n\nexport const qoa_round = (num) => Math.sign(num) * Math.round(Math.abs(num));\n\n/* We have 16 different scalefactors. Like the quantized residuals these become\nless accurate at the higher end. In theory, the highest scalefactor that we\nwould need to encode the highest 16bit residual is (2**16)/8 = 8192. However we\nrely on the LMS filter to predict samples accurately enough that a maximum \nresidual of one quarter of the 16 bit range is high sufficent. I.e. with the \nscalefactor 2048 times the quant range of 8 we can encode residuals up to 2**14.\n\nThe scalefactor values are computed as:\nscalefactor_tab[s] <- round(pow(s + 1, 2.75)) */\n\nexport const qoa_scalefactor_tab = Array(16)\n .fill()\n .map((_, s) => qoa_round(Math.pow(s + 1, 2.75)));\n\n/* The dequant_tab maps each of the scalefactors and quantized residuals to \ntheir unscaled & dequantized version.\n\nSince qoa_div rounds away from the zero, the smallest entries are mapped to 3/4\ninstead of 1. The dequant_tab assumes the following dequantized values for each \nof the quant_tab indices and is computed as:\nfloat dqt[8] = {0.75, -0.75, 2.5, -2.5, 4.5, -4.5, 7, -7};\ndequant_tab[s][q] <- round(scalefactor_tab[s] * dqt[q]) */\n\nconst dqt = [0.75, -0.75, 2.5, -2.5, 4.5, -4.5, 7, -7];\nexport const qoa_dequant_tab = qoa_scalefactor_tab.map((sf) => {\n return dqt.map((dq) => qoa_round(dq * sf));\n});\n","import { BitInputStream } from \"@thi.ng/bitstream\";\nimport {\n qoa_lms_predict,\n qoa_lms_update,\n qoa_clamp,\n qoa_dequant_tab,\n LMS,\n QOA_MIN_FILESIZE,\n QOA_SLICE_LEN,\n QOA_MAGIC,\n QOA_LMS_LEN,\n} from \"./lib/common.js\";\n\nfunction decodeHeader(stream) {\n const magic = stream.read(32);\n if (magic !== QOA_MAGIC) {\n throw new Error(`Not a QOA file; expected magic number 'qoaf'`);\n }\n\n // peek first frame to get audio file data\n const header = {\n samples: stream.read(32),\n channels: stream.read(8),\n sampleRate: stream.read(24),\n };\n\n // go back to end of header\n stream.seek(64);\n\n // return data\n return header;\n}\n\nfunction qoa_decode_frame(stream, audio, lmses, channelData, sampleOffset) {\n const channels = stream.read(8);\n const sampleRate = stream.read(24);\n const samples = stream.read(16); // frame samples\n const frameSize = stream.read(16);\n\n const dataSize = Math.floor(frameSize - 8 - QOA_LMS_LEN * 4 * channels);\n const numSlices = Math.floor(dataSize / 8);\n const maxTotalSamples = numSlices * QOA_SLICE_LEN;\n\n if (\n channels != audio.channels ||\n sampleRate != audio.sampleRate ||\n samples * channels > maxTotalSamples\n ) {\n throw new Error(`invalid frame header data`);\n }\n\n // decode LMS history and weights\n for (let c = 0; c < channels; c++) {\n const lms = lmses[c];\n for (let i = 0; i < QOA_LMS_LEN; i++) {\n let h = stream.read(16);\n lms.history[i] = h;\n }\n for (let i = 0; i < QOA_LMS_LEN; i++) {\n let w = stream.read(16);\n lms.weights[i] = w;\n }\n }\n\n for (\n let sample_index = 0;\n sample_index < samples;\n sample_index += QOA_SLICE_LEN\n ) {\n for (let c = 0; c < channels; c++) {\n const scalefactor = stream.read(4);\n const table = qoa_dequant_tab[scalefactor];\n const slice_start = sample_index;\n const slice_end = Math.min(sample_index + QOA_SLICE_LEN, samples);\n const slice_count = slice_end - slice_start;\n const lms = lmses[c];\n const sampleData = channelData[c];\n let idx = sampleOffset + slice_start;\n const weights = lms.weights;\n const history = lms.history;\n let bitsRemaining = 60;\n // note: this loop is a hot code path and could be optimized\n for (let i = 0; i < slice_count; i++) {\n const predicted = qoa_lms_predict(weights, history);\n const quantized = stream.read(3);\n const dequantized = table[quantized];\n const reconstructed = qoa_clamp(predicted + dequantized, -32768, 32767);\n const sample =\n reconstructed < 0 ? reconstructed / 32768 : reconstructed / 32767;\n sampleData[idx++] = sample;\n qoa_lms_update(weights, history, reconstructed, dequantized);\n bitsRemaining -= 3;\n }\n // skip stream if needed\n if (bitsRemaining > 0) {\n stream.read(bitsRemaining);\n }\n }\n }\n\n return samples;\n}\n\nexport default function decode(data) {\n if (data.byteLength < QOA_MIN_FILESIZE) {\n throw new Error(`QOA file size must be >= ${QOA_MIN_FILESIZE}`);\n }\n\n const stream = new BitInputStream(data);\n const audio = decodeHeader(stream);\n\n const channelData = [];\n const lmses = [];\n for (let c = 0; c < audio.channels; c++) {\n const d = new Float32Array(audio.samples);\n channelData.push(d);\n lmses.push(LMS());\n }\n\n let sampleIndex = 0;\n let frameLen = 0;\n do {\n frameLen = qoa_decode_frame(stream, audio, lmses, channelData, sampleIndex);\n sampleIndex += frameLen;\n } while (frameLen && sampleIndex < audio.samples);\n\n return {\n ...audio,\n channelData,\n };\n}\n","import { BitOutputStream } from \"@thi.ng/bitstream\";\nimport {\n qoa_lms_predict,\n qoa_lms_update,\n qoa_clamp,\n qoa_dequant_tab,\n qoa_scalefactor_tab,\n LMS,\n QOA_SLICE_LEN,\n QOA_FRAME_LEN,\n QOA_MAGIC,\n QOA_LMS_LEN,\n QOA_FRAME_SIZE,\n} from \"./lib/common.js\";\n\n/* The reciprocal_tab maps each of the 16 scalefactors to their rounded \nreciprocals 1/scalefactor. This allows us to calculate the scaled residuals in \nthe encoder with just one multiplication instead of an expensive division. We \ndo this in .16 fixed point with integers, instead of floats.\n\nThe reciprocal_tab is computed as:\nreciprocal_tab[s] <- ((1<<16) + scalefactor_tab[s] - 1) / scalefactor_tab[s] */\n\nconst qoa_reciprocal_tab = qoa_scalefactor_tab.map((s) =>\n Math.floor(((1 << 16) + s - 1) / s)\n);\n\n/* The quant_tab provides an index into the dequant_tab for residuals in the\nrange of -8 .. 8. It maps this range to just 3bits and becommes less accurate at \nthe higher end. Note that the residual zero is identical to the lowest positive \nvalue. This is mostly fine, since the qoa_div() function always rounds away \nfrom zero. */\n\nconst qoa_quant_tab = [\n // -8..-1\n 7, 7, 7, 5, 5, 3, 3, 1,\n // 0\n 0,\n // 1.. 8\n 0, 2, 2, 4, 4, 6, 6, 6,\n];\n\n/* qoa_div() implements a rounding division, but avoids rounding to zero for \nsmall numbers. E.g. 0.1 will be rounded to 1. Note that 0 itself still \nreturns as 0, which is handled in the qoa_quant_tab[].\nqoa_div() takes an index into the .16 fixed point qoa_reciprocal_tab as an\nargument, so it can do the division with a cheaper integer multiplication. */\n\nfunction qoa_div(v, scalefactor) {\n const reciprocal = qoa_reciprocal_tab[scalefactor];\n let n = (v * reciprocal + (1 << 15)) >> 16;\n n = n + ((v > 0) - (v < 0)) - ((n > 0) - (n < 0)); /* round away from 0 */\n return n;\n}\n\nfunction qoa_encode_frame(stream, audio, lmses, sample_offset, frame_len) {\n const channels = audio.channels;\n const sampleRate = audio.sampleRate;\n const channelData = audio.channelData;\n const samples = audio.samples;\n\n const slices = Math.floor((frame_len + QOA_SLICE_LEN - 1) / QOA_SLICE_LEN);\n const frame_size = QOA_FRAME_SIZE(channels, slices);\n\n // Frame header\n stream.write(channels, 8);\n stream.write(sampleRate, 24);\n stream.write(frame_len, 16); // frame samples\n stream.write(frame_size, 16);\n\n // write current LMS weights and history state\n for (let c = 0; c < channels; c++) {\n const lms = lmses[c];\n\n /* If the weights have grown too large, reset them to 0. This may happen\n\t\twith certain high-frequency sounds. This is a last resort and will \n\t\tintroduce quite a bit of noise, but should at least prevent pops/clicks */\n const weights_sum =\n lms.weights[0] * lms.weights[0] +\n lms.weights[1] * lms.weights[1] +\n lms.weights[2] * lms.weights[2] +\n lms.weights[3] * lms.weights[3];\n if (weights_sum > 0x2fffffff) {\n lms.weights[0] = 0;\n lms.weights[1] = 0;\n lms.weights[2] = 0;\n lms.weights[3] = 0;\n }\n\n for (let i = 0; i < QOA_LMS_LEN; i++) {\n stream.write(lms.history[i], 16);\n }\n for (let i = 0; i < QOA_LMS_LEN; i++) {\n stream.write(lms.weights[i], 16);\n }\n }\n\n /* We encode all samples with the channels interleaved on a slice level.\n\tE.g. for stereo: (ch-0, slice 0), (ch 1, slice 0), (ch 0, slice 1), ...*/\n for (\n let sample_index = 0;\n sample_index < frame_len;\n sample_index += QOA_SLICE_LEN\n ) {\n for (let c = 0; c < channels; c++) {\n const slice_len = qoa_clamp(QOA_SLICE_LEN, 0, frame_len - sample_index);\n const slice_start = sample_index;\n\n /* Brute for search for the best scalefactor. Just go through all\n\t\t\t16 scalefactors, encode all samples for the current slice and \n\t\t\tmeassure the total squared error. */\n let best_error = Number.MAX_SAFE_INTEGER;\n let best_slice;\n let best_slice_scalefactor;\n let best_lms;\n const sampleData = channelData[c];\n\n for (let scalefactor = 0; scalefactor < 16; scalefactor++) {\n /* We have to reset the LMS state to the last known good one\n\t\t\t\tbefore trying each scalefactor, as each pass updates the LMS\n\t\t\t\tstate when encoding. */\n let lms = LMS(lmses[c].history, lmses[c].weights);\n\n const table = qoa_dequant_tab[scalefactor];\n\n // an array of slice data\n let slice = [];\n let current_error = 0;\n let idx = slice_start + sample_offset;\n\n for (let i = 0; i < slice_len; i++) {\n let sample = sampleData[idx++];\n\n // turn into 16 bit signed integer\n sample = Math.floor(\n Math.fround(sample < 0 ? sample * 32768 : sample * 32767)\n );\n sample = qoa_clamp(sample, -32768, 32767);\n\n let predicted = qoa_lms_predict(lms.weights, lms.history);\n let residual = sample - predicted;\n let scaled = qoa_div(residual, scalefactor);\n let clamped = qoa_clamp(scaled, -8, 8);\n let quantized = qoa_quant_tab[clamped + 8];\n let dequantized = table[quantized];\n let reconstructed = qoa_clamp(predicted + dequantized, -32768, 32767);\n let error = sample - reconstructed;\n current_error += error * error;\n if (current_error > best_error) {\n break;\n }\n\n qoa_lms_update(lms.weights, lms.history, reconstructed, dequantized);\n slice.push(quantized);\n }\n\n if (current_error < best_error) {\n best_error = current_error;\n best_slice = slice;\n best_slice_scalefactor = scalefactor;\n best_lms = lms;\n }\n }\n\n lmses[c] = best_lms;\n // first, write the 4bit scalefactor\n stream.write(best_slice_scalefactor, 4);\n // now write each 3bit datum in the slice\n for (let i = 0; i < QOA_SLICE_LEN; i++) {\n // the last frame of a file might be smaller than QOA_SLICE_LEN\n const v = i < best_slice.length ? best_slice[i] : 0;\n stream.write(v, 3);\n }\n }\n }\n}\n\nexport default function encode({ channelData, sampleRate = 44100 } = {}) {\n const channels = channelData.length;\n const samples = channels >= 1 ? channelData[0].length : 0;\n const audio = {\n samples,\n channels,\n channelData,\n sampleRate,\n };\n\n const num_frames = (samples + QOA_FRAME_LEN - 1) / QOA_FRAME_LEN;\n const num_slices = (samples + QOA_SLICE_LEN - 1) / QOA_SLICE_LEN;\n const encoded_size =\n 8 /* 8 byte file header */ +\n num_frames * 8 /* 8 byte frame headers */ +\n num_frames *\n QOA_LMS_LEN *\n 4 *\n audio.channels /* 4 * 4 bytes lms state per channel */ +\n num_slices * 8 * audio.channels; /* 8 byte slices */\n\n const lmses = [];\n for (let c = 0; c < audio.channels; c++) {\n const lms = LMS();\n lms.weights[0] = 0;\n lms.weights[1] = 0;\n lms.weights[2] = -(1 << 13);\n lms.weights[3] = 1 << 14;\n lmses.push(lms);\n }\n\n // write header\n const stream = new BitOutputStream(encoded_size);\n stream.write(QOA_MAGIC, 32);\n stream.write(samples, 32);\n\n let frame_len = QOA_FRAME_LEN;\n for (\n let sample_index = 0;\n sample_index < samples;\n sample_index += frame_len\n ) {\n frame_len = qoa_clamp(QOA_FRAME_LEN, 0, samples - sample_index);\n qoa_encode_frame(stream, audio, lmses, sample_index, frame_len);\n }\n\n return stream.bytes();\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import{n as e,r as t,t as n}from"./chunk-Bwx8J3ba.mjs";const r=(e,t=4294967295,n=79764919)=>{let r=new Int32Array(256),i,a,o,s=t;for(i=0;i<256;i++){for(o=i<<24,a=8;a>0;--a)o=2147483648&o?o<<1^n:o<<1;r[i]=o}for(i=0;i<e.length;i++)s=s<<8^r[255&(s>>24^e[i])];return s},i=(e,t=r)=>{let n=e=>new Uint8Array(e.length/2).map(((t,n)=>parseInt(e.substring(2*n,2*(n+1)),16))),i=e=>n(e)[0],a=new Map;[,8364,,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,,381,,,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,,382,376].forEach(((e,t)=>a.set(e,t)));let o=new Uint8Array(e.length),s,c,l,u=!1,d=0,f=42,p=e.length>13&&e.substring(0,9)===`dynEncode`,m=0;p&&(m=11,c=i(e.substring(9,m)),c<=1&&(m+=2,f=i(e.substring(11,m))),c===1&&(m+=8,l=(e=>new DataView(n(e).buffer).getInt32(0,!0))(e.substring(13,m))));let h=256-f;for(let t=m;t<e.length;t++)if(s=e.charCodeAt(t),s!==61||u){if(s===92&&t<e.length-5&&p){let n=e.charCodeAt(t+1);n!==117&&n!==85||(s=parseInt(e.substring(t+2,t+6),16),t+=5)}if(s>255){let e=a.get(s);e&&(s=e+127)}u&&(u=!1,s-=64),o[d++]=s<f&&s>0?s+h:s-f}else u=!0;let g=o.subarray(0,d);if(p&&c===1){let e=t(g);if(e!==l){let t=`Decode failed crc32 validation`;throw console.error("`simple-yenc`\n",t+`
2
+ `,`Expected: `+l+`; Got: `+e+`
3
+ `,`Visit https://github.com/eshaz/simple-yenc for more information`),Error(t)}}return g};function a(){let e=Uint8Array,t=Float32Array;a.modules||Object.defineProperties(a,{modules:{value:new WeakMap},setModule:{value(e,t){a.modules.set(e,Promise.resolve(t))}},getModule:{value(e,t){let n=a.modules.get(e);return n||(t?n=WebAssembly.compile(i(t)):(t=e.wasm,n=a.inflateDynEncodeString(t).then(e=>WebAssembly.compile(e))),a.modules.set(e,n)),n}},concatFloat32:{value(e,n){let r=new t(n),i=0,a=0;for(;i<e.length;)r.set(e[i],a),a+=e[i++].length;return r}},getDecodedAudio:{value:(e,t,n,r,i)=>({errors:e,channelData:t,samplesDecoded:n,sampleRate:r,bitDepth:i})},getDecodedAudioMultiChannel:{value(e,t,n,r,i,o){let s=[],c,l;for(c=0;c<n;c++){let e=[];for(l=0;l<t.length;)e.push(t[l++][c]||[]);s.push(a.concatFloat32(e,r))}return a.getDecodedAudio(e,s,r,i,o)}},inflateDynEncodeString:{value(t){return t=i(t),new Promise(n=>{let r=String.raw`dynEncode012804c7886d(‰›•)((()>+ˆ*§§)§ˆ,§§§§)§ˆ+§§§)§+.-()(*)-+)(ˆ.7*§)i¸¸,3§(i¸¸,3/G+.••—š¡*(,˜ŽŽ(,3‡‡‰˜‡Š‰›+)2å:-œ),§H(P*DI*H(P*@I++hH)H*r,hH(H(P*<J,i)’^*<H,H(P*4’U((I-H(H*i0’J,^*DH+H-H*œšI+H,I*4)33H(H*H)“^*DH(H+H)^*@H+i§H)œi§›™3æ*).§K(iH“I/+§H,iHn,§H+i(H+i(rCJ0I,H*I-+hH,,hH(H-V)(i)œ’J.H.W)(i)’c)(H,i)“I,H-i*’I-4)33i(I.*hH(V)(H+n5(H(i*’I-i(I,i)I.+hH,i*’J+iHn,hi(I-i*I,+hH,H/’H-c)(H,iFn,hi(I,+hH,H0n5-H*V)(J(,hH/H(i)œ’J(H(V)(J(i)’c)(H)H(i)œ’H,c)(3H*i*’I*H,i)’I,4(3(-H(H,’W)(H-’I-H,i*’I,4)3(3(3H,H-’I1H+I,H.i)œH1V)(“J.i(v5(33H.-H(H,’i(c)(H,i*’I,4)333–)-§i*I*+§H*iHn,hiž73H,H(i)8(H+šJ+H)P*(H*’V)(J-“r,§H)P*,H.i)œ’H+H,“i)œ’V)(-H*i*’I*H+i)œI+H-H.’I.H,H-’i)œI,4)333Ã+)-§iø7i(^*(iü7I,*h+hH+iDn,h*hilI+i)I,+hH+,hH+iô7’H,c)(i)H+i´8’W)(œH,’I,H+i*’I+4)-+hH(H)8*J-i(p5.*h*h*hH-i')u,hH(P*(J+,hH(P*0J,H(P*,n50H+H,’H-b((3H(P*0i)’I.4)3H-i¨*n5*H-iÅ*s,hiž73H-i)œJ+V)&+I,H(H+V)æ,8(I.H(H*8*J-i(p51H-i)œJ+i¸7’V)(H(H+iø7’V)(8(’J/H(P*0J+s,hi73H+H,H.’J,’I.H(P*(m5(H.H(P*,s5.+hH,m5*H(P*(J.H+’H.H+H/“’U((b((H(H(P*0i)’J+^*0H,i)“I,4(3(3H(H.^*03H-i¨*o5)33i(73(3(3-H,H+i)žc)(H,i*’I,H+i)’I+4)33i)I-3H-3!2)0§K(i2“J,L(H,H(^*(H,H*^*4H,i(^*0H,i(^*DH,j(_*<H,H)P*(^*,H,H+P*(^*8*h*h+hH,i)8(I3i§I**h*h*h*h*h*h*hH,i*8(6+(),03H,j(_*@i*I-H,P*<J.i,’J(H,P*8J/s50H,H.i+’J0^*<i¦I*H.H,P*4J1’J.U(*H.U((J2›i')o5/H.U()I.H,H(^*<H0H1’U((H.i0œJ.i§›i0ži')™o5/H/H.H2šJ*H(’J.q50H,P*0J/H*’I-H,P*(J0,hH,P*,H-q,hi)I-423+hH*m5+H/H0’H(H1’U((b((H/i)’I/H(i)’I(H*i)“I*4(3(3H,H.^*<H,H-^*04*3iØ1U((5+i(I(i¨7i1^*(i$6iè1^*(i°7iè6^*(i¬7iÈ6^*(+hH(iÈ*n,hiÈ*I(+hH(i¨,n,hi¨,I(+hH(iØ,n,hiØ,I(+hH(iè,o,hH,i-’H(’i0c)(H(i*’I(4)33iè1i1H,i-’iÈ*8)Bi(I(+hH(ido,hH,i-’H(’i-c)(H(i*’I(4)33iÈ6iè6H,i-’iF8)BiØ1i)b((41-H,i-’H(’i/c)(H(i*’I(4)3(3(-H,i-’H(’i1c)(H(i*’I(4)3(3(-H,i-’H(’i0c)(H(i*’I(4)3(3(3H,H/^*0H,H(^*<3i(I*4*3H,H,i¸)’^*TH,H,iø-’^*PH,H,iX’^*LH,H,i(’^*HH,i-8(I(H,i-8(I-i¥I*H,i,8(I.H(iErH-iErš5)H(i©*’I1H-i)’I0i(i;H.i,’J(i(H(i(rCJ(“J*H*i;sCI*i¨1I-H(I/+hH/,hH,i-’H-V)(i)œ’H,i+8(c)(H/i)“I/H-i*’I-H*i)’I*4)-H(i)œi¨1’I/+hH(H*o,hH,i-’H/V)(i)œ’i(c)(H/i*’I/H(i)’I(4)33i¤I*H,iø-’H,i¸)’H,i-’i;8)5+H0H1’I2i(I-+hH-H2p,hH,H,iP’8*J*i(p5-H*i7u,hH,i-’H-i)œ’H*c)(H-i)’I-4*3i(I/i+I.i+I(*h*h*hH*i8“6*(*)3H-m,hi£I*403H-i)œH,’W)-I/i*I(4)3i3I.i/I(3H2H,H(8(H.’J(H-’J.p,hi¢I*4.3H,i-’H-i)œ’I*+hH(,hH*H/c)(H*i*’I*H(i)“I(4)-H.I-4+3(3(33H,W)1m,hiŸI*4,3H,iø-’H,i¸)’H,i-’H18)J(,hi¡I*H(i(p5,H1H,V)ú-H,V)ø-’o5,3H,i(’H,iX’H,i-’H1i)œ’H08)J(,hi I*H(i(p5,H0H,V)šH,V)˜’o5,3H,H,iP’H,iH’8+I*4+3(3(3H,i$6i¬78+I*3H*H3šm5(3i)I-H*i(r5)3H)H,P*0^*(H+H,P*<^*(H*I-3H,i2’L(H-33Á)+(i¨03b+(,(-(.(/(0(1(2(3(5(7(9(;(?(C(G(K(S([(c(k({(‹(›(«(Ë(ë( (*)(iø03O)()()()(*(*(*(*(+(+(+(+(,(,(,(,(-(-(-(-(i¨13M8(9(:(((0(/(1(.(2(-(3(,(4(+(5(*(6()(7(T7œ‰šœ‡Ž‰œš›*S7•œ‰Š”U”—Љ”›S0›‘–U œ`;a.getModule(a,r).then(e=>WebAssembly.instantiate(e,{})).then(({exports:r})=>{let i=new Map(Object.entries(r)),a=i.get(`puff`),o=i.get(`memory`).buffer,s=new e(o),c=new DataView(o),l=i.get(`__heap_base`),u=t.length,d=l;l+=4,c.setInt32(d,u,!0);let f=l;l+=u,s.set(t,f);let p=l;l+=4,c.setInt32(p,s.byteLength-l,!0),a(l,p,f,d),n(s.slice(l,l+c.getInt32(p,!0)))})})}}}),Object.defineProperty(this,`wasm`,{enumerable:!0,get:()=>this._wasm}),this.getOutputChannels=(e,t,n)=>{let r=[],i=0;for(;i<t;)r.push(e.slice(i*n,i++*n+n));return r},this.allocateTypedArray=(e,t,n=!0)=>{let r=this._wasm.malloc(t.BYTES_PER_ELEMENT*e);return n&&this._pointers.add(r),{ptr:r,len:e,buf:new t(this._wasm.HEAP,r,e)}},this.free=()=>{this._pointers.forEach(e=>{this._wasm.free(e)}),this._pointers.clear()},this.codeToString=e=>{let t=[],n=new Uint8Array(this._wasm.HEAP);for(let r=n[e];r!==0;r=n[++e])t.push(r);return String.fromCharCode.apply(null,t)},this.addError=(e,t,n,r,i,a)=>{e.push({message:t,frameLength:n,frameNumber:r,inputBytes:i,outputSamples:a})},this.instantiate=(e,t)=>(t&&a.setModule(e,t),this._wasm=new e(a).instantiate(),this._pointers=new Set,this._wasm.ready.then(()=>this))}var o=t(n(((t,n)=>{let r=e(`url`),i=e(`vm`),a=e(`worker_threads`),o=Symbol.for(`worker`),s=Symbol.for(`events`);var c=class{constructor(){Object.defineProperty(this,s,{value:new Map})}dispatchEvent(e){if(e.target=e.currentTarget=this,this[`on`+e.type])try{this[`on`+e.type](e)}catch(e){console.error(e)}this[s].get(e.type)?.forEach(t=>{try{t.call(this,e)}catch(e){console.error(e)}})}addEventListener(e,t){let n=this[s].get(e);n||this[s].set(e,n=[]),n.push(t)}removeEventListener(e,t){let n=this[s].get(e);if(n){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}};function l(e,t){this.type=e,this.timeStamp=Date.now(),this.target=this.currentTarget=this.data=null}n.exports=a.isMainThread?d():f();let u=r.pathToFileURL(process.cwd()+`/`);function d(){class e extends c{constructor(e,t){super();let{name:n,type:i}=t||{};e+=``;let s;s=/^data:/.test(e)?e:r.fileURLToPath(new r.URL(e,u));let c=new a.Worker(__filename,{workerData:{mod:s,name:n,type:i}});Object.defineProperty(this,o,{value:c}),c.on(`message`,e=>{let t=new l(`message`);t.data=e,this.dispatchEvent(t)}),c.on(`error`,e=>{e.type=`error`,this.dispatchEvent(e)}),c.on(`exit`,()=>{this.dispatchEvent(new l(`close`))})}postMessage(e,t){this[o].postMessage(e,t)}terminate(){this[o].terminate()}}return e.prototype.onmessage=e.prototype.onerror=e.prototype.onclose=null,e}function f(){let{mod:t,name:n,type:r}=a.workerData||{};if(!t)return d();let i=global.self=global,o=[];function s(){let e=o;o=null,e.forEach(e=>{i.dispatchEvent(e)})}a.parentPort.on(`message`,e=>{let t=new l(`message`);t.data=e,o==null?i.dispatchEvent(t):o.push(t)}),a.parentPort.on(`error`,e=>{e.type=`Error`,i.dispatchEvent(e)});class u extends c{postMessage(e,t){a.parentPort.postMessage(e,t)}close(){process.exit()}}let f=Object.getPrototypeOf(global);delete f.constructor,Object.defineProperties(u.prototype,f),f=Object.setPrototypeOf(global,new u),[`postMessage`,`addEventListener`,`removeEventListener`,`dispatchEvent`].forEach(e=>{f[e]=f[e].bind(global)}),global.name=n;let m=/^data:/.test(t);if(r===`module`)import(t).catch(e=>{if(m&&e.message===`Not supported`)return console.warn(`Worker(): Importing data: URLs requires Node 12.10+. Falling back to classic worker.`),p(t,n);console.error(e)}).then(s);else{try{/^data:/.test(t)?p(t,n):e(t)}catch(e){console.error(e)}Promise.resolve().then(s)}}function p(e,t){let{data:n}=m(e);return i.runInThisContext(n,{filename:`worker.<`+(t||`data:`)+`>`})}function m(e){let[t,n,r,i]=e.match(/^data: *([^;,]*)(?: *; *([^,]*))? *,(.*)$/)||[];if(!t)throw Error(`Invalid Data URL.`);if(r)switch(r.toLowerCase()){case`base64`:i=Buffer.from(i,`base64`).toString();break;default:throw Error(`Unknown Data URL encoding "`+r+`"`)}return{type:n,data:i}}}))(),1);const s=()=>globalThis.Worker||o.default;var c=class extends s(){constructor(e,t,n,r){a.modules||new a;let i=a.modules.get(n);if(!i){let e=`text/javascript`,t,o=`'use strict';(${((e,t,n)=>{let r,i,a=new Promise(e=>{i=e});self.onmessage=({data:{id:o,command:s,data:c}})=>{let l=a,u={id:o},d;s===`init`?(Object.defineProperties(e,{WASMAudioDecoderCommon:{value:t},EmscriptenWASM:{value:n},module:{value:c.module},isWebWorker:{value:!0}}),r=new e(c.options),i()):s===`free`?r.free():s===`ready`?l=l.then(()=>r.ready):s===`reset`?l=l.then(()=>r.reset()):(Object.assign(u,r[s](Array.isArray(c)?c.map(e=>new Uint8Array(e)):new Uint8Array(c))),d=u.channelData?u.channelData.map(e=>e.buffer):[]),l.then(()=>self.postMessage(u,d))}}).toString()})(${n}, ${a}, ${r})`;try{t=process.versions.node!==void 0}catch{}i=t?`data:${e};base64,${Buffer.from(o).toString(`base64`)}`:URL.createObjectURL(new Blob([o],{type:e})),a.modules.set(n,i)}super(i,{name:t}),this._id=-(2**53-1),this._enqueuedOperations=new Map,this.onmessage=({data:e})=>{let{id:t,...n}=e;this._enqueuedOperations.get(t)(n),this._enqueuedOperations.delete(t)},new r(a).getModule().then(t=>{this.postToDecoder(`init`,{module:t,options:e})})}async postToDecoder(e,t){return new Promise(n=>{this.postMessage({command:e,id:this._id,data:t}),this._enqueuedOperations.set(this._id++,n)})}get ready(){return this.postToDecoder(`ready`)}async free(){await this.postToDecoder(`free`).finally(()=>{this.terminate()})}async reset(){await this.postToDecoder(`reset`)}};const l=(e,t)=>{Object.defineProperty(e,`name`,{value:t})};export{c as n,a as r,l as t};
4
+ //# sourceMappingURL=utilities-DBsvONcX.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilities-DBsvONcX.mjs","names":["decode","URL","NodeWorker"],"sources":["../../../node_modules/.bun/simple-yenc@1.0.4/node_modules/simple-yenc/dist/esm.js","../../../node_modules/.bun/@wasm-audio-decoders+common@9.0.7/node_modules/@wasm-audio-decoders/common/src/WASMAudioDecoderCommon.js","../../../node_modules/.bun/@eshaz+web-worker@1.2.2/node_modules/@eshaz/web-worker/cjs/node.js","../../../node_modules/.bun/@wasm-audio-decoders+common@9.0.7/node_modules/@wasm-audio-decoders/common/src/WASMAudioDecoderWorker.js","../../../node_modules/.bun/@wasm-audio-decoders+common@9.0.7/node_modules/@wasm-audio-decoders/common/src/utilities.js"],"sourcesContent":["const t=(t,n=4294967295,e=79764919)=>{const r=new Int32Array(256);let o,s,i,c=n;for(o=0;o<256;o++){for(i=o<<24,s=8;s>0;--s)i=2147483648&i?i<<1^e:i<<1;r[o]=i}for(o=0;o<t.length;o++)c=c<<8^r[255&(c>>24^t[o])];return c},n=t=>{const n=[];for(const e of t){let t=(e+42)%256;0===t||10===t||13===t||61===t?n.push(\"=\"+String.fromCharCode((t+64)%256)):n.push(String.fromCharCode(t))}return n.join(\"\")},e=(n,e=t)=>{const r=t=>new Uint8Array(t.length/2).map(((n,e)=>parseInt(t.substring(2*e,2*(e+1)),16))),o=t=>r(t)[0],s=new Map;[,8364,,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,,381,,,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,,382,376].forEach(((t,n)=>s.set(t,n)));const i=new Uint8Array(n.length);let c,a,l,f=!1,g=0,h=42,p=n.length>13&&\"dynEncode\"===n.substring(0,9),u=0;p&&(u=11,a=o(n.substring(9,u)),a<=1&&(u+=2,h=o(n.substring(11,u))),1===a&&(u+=8,l=(t=>new DataView(r(t).buffer).getInt32(0,!0))(n.substring(13,u))));const d=256-h;for(let t=u;t<n.length;t++)if(c=n.charCodeAt(t),61!==c||f){if(92===c&&t<n.length-5&&p){const e=n.charCodeAt(t+1);117!==e&&85!==e||(c=parseInt(n.substring(t+2,t+6),16),t+=5)}if(c>255){const t=s.get(c);t&&(c=t+127)}f&&(f=!1,c-=64),i[g++]=c<h&&c>0?c+d:c-h}else f=!0;const m=i.subarray(0,g);if(p&&1===a){const t=e(m);if(t!==l){const n=\"Decode failed crc32 validation\";throw console.error(\"`simple-yenc`\\n\",n+\"\\n\",\"Expected: \"+l+\"; Got: \"+t+\"\\n\",\"Visit https://github.com/eshaz/simple-yenc for more information\"),Error(n)}}return m},r=(n,e='\"',r=t,o)=>{const s=(t,n)=>(t%n+n)%n,i=(t,n)=>n.push(String.fromCharCode(61,(t+64)%256)),c=t=>t.map((t=>t.toString(16).padStart(2,\"0\")));let a,l,f=[],g=1/0,h=Array(256).fill(0);if('\"'===e?(l=[0,8,9,10,11,12,13,34,92,61],a=t=>0===t||8===t||9===t||10===t||11===t||12===t||13===t||34===t||92===t||61===t):\"'\"===e?(l=[0,8,9,10,11,12,13,39,92,61],a=t=>0===t||8===t||9===t||10===t||11===t||12===t||13===t||39===t||92===t||61===t):\"`\"===e&&(l=[13,61,96],f=[7,205,231],a=(t,n)=>13===t||36===t&&123===n||61===t||92===t&&(85===n||117===n)||96===t),void 0===o){o=0;for(let t=0;t<n.length;t++){const e=0|n[t];h[e]++;for(let r=0;r<f.length;r++){const o=f[r];s(e-n[t+1]|0,256)===o&&h[e]++}}for(let t=0;t<256;t++){let n=0;for(let e=0;e<l.length;e++)n+=h[s(l[e]-t,256)];n<g&&(g=n,o=t)}}const p=[\"dynEncode\",\"01\",c([o]),...c((t=>{const n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,t,!0),[...n]})(r(n)))];for(let t=0;t<n.length;t++){const e=(n[t]+o)%256;a(e,(n[t+1]+o)%256)?i(e,p):p.push(String.fromCharCode(e))}return\"\\\\\"===p[p.length-1]&&(p.pop(),i(92,p)),p.join(\"\")},o=t=>t.replace(/[\\\\]/g,\"\\\\\\\\\").replace(/[`]/g,\"\\\\`\").replace(/\\${/g,\"\\\\${\");export{t as crc32,e as decode,r as dynamicEncode,n as encode,o as stringify};\n","import { decode } from \"simple-yenc\";\n\nexport default function WASMAudioDecoderCommon() {\n // setup static methods\n const uint8Array = Uint8Array;\n const float32Array = Float32Array;\n\n if (!WASMAudioDecoderCommon.modules) {\n Object.defineProperties(WASMAudioDecoderCommon, {\n modules: {\n value: new WeakMap(),\n },\n\n setModule: {\n value(Ref, module) {\n WASMAudioDecoderCommon.modules.set(Ref, Promise.resolve(module));\n },\n },\n\n getModule: {\n value(Ref, wasmString) {\n let module = WASMAudioDecoderCommon.modules.get(Ref);\n\n if (!module) {\n if (!wasmString) {\n wasmString = Ref.wasm;\n module = WASMAudioDecoderCommon.inflateDynEncodeString(\n wasmString,\n ).then((data) => WebAssembly.compile(data));\n } else {\n module = WebAssembly.compile(decode(wasmString));\n }\n\n WASMAudioDecoderCommon.modules.set(Ref, module);\n }\n\n return module;\n },\n },\n\n concatFloat32: {\n value(buffers, length) {\n let ret = new float32Array(length),\n i = 0,\n offset = 0;\n\n while (i < buffers.length) {\n ret.set(buffers[i], offset);\n offset += buffers[i++].length;\n }\n\n return ret;\n },\n },\n\n getDecodedAudio: {\n value: (errors, channelData, samplesDecoded, sampleRate, bitDepth) => ({\n errors,\n channelData,\n samplesDecoded,\n sampleRate,\n bitDepth,\n }),\n },\n\n getDecodedAudioMultiChannel: {\n value(\n errors,\n input,\n channelsDecoded,\n samplesDecoded,\n sampleRate,\n bitDepth,\n ) {\n let channelData = [],\n i,\n j;\n\n for (i = 0; i < channelsDecoded; i++) {\n const channel = [];\n for (j = 0; j < input.length; ) channel.push(input[j++][i] || []);\n channelData.push(\n WASMAudioDecoderCommon.concatFloat32(channel, samplesDecoded),\n );\n }\n\n return WASMAudioDecoderCommon.getDecodedAudio(\n errors,\n channelData,\n samplesDecoded,\n sampleRate,\n bitDepth,\n );\n },\n },\n\n /*\n ******************\n * Compression Code\n ******************\n */\n\n inflateDynEncodeString: {\n value(source) {\n source = decode(source);\n\n return new Promise((resolve) => {\n // prettier-ignore\n const puffString = String.raw`dynEncode012804c7886d(‰›•)((()>+ˆ*§§)§ˆ,§§§§)§ˆ+§§§)§+.-()(*)-+)(ˆ.7*§)i¸¸,3§(i¸¸,3/G+.••—š¡*(,˜ŽŽ(,3‡‡‰˜‡Š‰›+)2å:-œ),§H(P*DI*H(P*@I++hH)H*r,hH(H(P*<J,i)’^*<H,H(P*4’U((I-H(H*i0’J,^*DH+H-H*œšI+H,I*4)33H(H*H)“^*DH(H+H)^*@H+i§H)œi§›™3æ*).§K(iH“I/+§H,iHn,§H+i(H+i(rCJ0I,H*I-+hH,,hH(H-V)(i)œ’J.H.W)(i)’c)(H,i)“I,H-i*’I-4)33i(I.*hH(V)(H+n5(H(i*’I-i(I,i)I.+hH,i*’J+iHn,hi(I-i*I,+hH,H/’H-c)(H,iFn,hi(I,+hH,H0n5-H*V)(J(,hH/H(i)œ’J(H(V)(J(i)’c)(H)H(i)œ’H,c)(3H*i*’I*H,i)’I,4(3(-H(H,’W)(H-’I-H,i*’I,4)3(3(3H,H-’I1H+I,H.i)œH1V)(“J.i(v5(33H.-H(H,’i(c)(H,i*’I,4)333–)-§i*I*+§H*iHn,hiž73H,H(i)8(H+šJ+H)P*(H*’V)(J-“r,§H)P*,H.i)œ’H+H,“i)œ’V)(-H*i*’I*H+i)œI+H-H.’I.H,H-’i)œI,4)333Ã+)-§iø7i(^*(iü7I,*h+hH+iDn,h*hilI+i)I,+hH+,hH+iô7’H,c)(i)H+i´8’W)(œH,’I,H+i*’I+4)-+hH(H)8*J-i(p5.*h*h*hH-i')u,hH(P*(J+,hH(P*0J,H(P*,n50H+H,’H-b((3H(P*0i)’I.4)3H-i¨*n5*H-iÅ*s,hiž73H-i)œJ+V)&+I,H(H+V)æ,8(I.H(H*8*J-i(p51H-i)œJ+i¸7’V)(H(H+iø7’V)(8(’J/H(P*0J+s,hi73H+H,H.’J,’I.H(P*(m5(H.H(P*,s5.+hH,m5*H(P*(J.H+’H.H+H/“’U((b((H(H(P*0i)’J+^*0H,i)“I,4(3(3H(H.^*03H-i¨*o5)33i(73(3(3-H,H+i)žc)(H,i*’I,H+i)’I+4)33i)I-3H-3!2)0§K(i\u00182“J,L(H,H(^*(H,H*^*4H,i(^*0H,i(^*DH,j(_*<H,H)P*(^*,H,H+P*(^*8*h*h+hH,i)8(I3i§I**h*h*h*h*h*h*hH,i*8(6+(),03H,j(_*@i*I-H,P*<J.i,’J(H,P*8J/s50H,H.i+’J0^*<i¦I*H.H,P*4J1’J.U(*H.U((J2›i')o5/H.U()I.H,H(^*<H0H1’U((H.i0œJ.i§›i0ži')™o5/H/H.H2šJ*H(’J.q50H,P*0J/H*’I-H,P*(J0,hH,P*,H-q,hi)I-423+hH*m5+H/H0’H(H1’U((b((H/i)’I/H(i)’I(H*i)“I*4(3(3H,H.^*<H,H-^*04*3iØ1U((5+i(I(i¨7i\b1^*(i$6iè1^*(i°7iè6^*(i¬7iÈ6^*(+hH(iÈ*n,hiÈ*I(+hH(i¨,n,hi¨,I(+hH(iØ,n,hiØ,I(+hH(iè,o,hH,i\u0018-’H(’i0c)(H(i*’I(4)33iè1i\b1H,i\u0018-’iÈ*8)Bi(I(+hH(ido,hH,i\u0018-’H(’i-c)(H(i*’I(4)33iÈ6iè6H,i\u0018-’iF8)BiØ1i)b((41-H,i\u0018-’H(’i/c)(H(i*’I(4)3(3(-H,i\u0018-’H(’i1c)(H(i*’I(4)3(3(-H,i\u0018-’H(’i0c)(H(i*’I(4)3(3(3H,H/^*0H,H(^*<3i(I*4*3H,H,i¸)’^*TH,H,iø-’^*PH,H,iX’^*LH,H,i\u0018(’^*HH,i-8(I(H,i-8(I-i¥I*H,i,8(I.H(iErH-iErš5)H(i©*’I1H-i)’I0i(i;H.i,’J(i(H(i(rCJ(“J*H*i;sCI*i¨1I-H(I/+hH/,hH,i\u0018-’H-V)(i)œ’H,i+8(c)(H/i)“I/H-i*’I-H*i)’I*4)-H(i)œi¨1’I/+hH(H*o,hH,i\u0018-’H/V)(i)œ’i(c)(H/i*’I/H(i)’I(4)33i¤I*H,iø-’H,i¸)’H,i\u0018-’i;8)5+H0H1’I2i(I-+hH-H2p,hH,H,iP’8*J*i(p5-H*i7u,hH,i\u0018-’H-i)œ’H*c)(H-i)’I-4*3i(I/i+I.i+I(*h*h*hH*i8“6*(*)3H-m,hi£I*403H-i)œH,’W)\u0016-I/i*I(4)3i3I.i/I(3H2H,H(8(H.’J(H-’J.p,hi¢I*4.3H,i\u0018-’H-i)œ’I*+hH(,hH*H/c)(H*i*’I*H(i)“I(4)-H.I-4+3(3(33H,W)\u00181m,hiŸI*4,3H,iø-’H,i¸)’H,i\u0018-’H18)J(,hi¡I*H(i(p5,H1H,V)ú-H,V)ø-’o5,3H,i\u0018(’H,iX’H,i\u0018-’H1i)œ’H08)J(,hi I*H(i(p5,H0H,V)šH,V)˜’o5,3H,H,iP’H,iH’8+I*4+3(3(3H,i$6i¬78+I*3H*H3šm5(3i)I-H*i(r5)3H)H,P*0^*(H+H,P*<^*(H*I-3H,i\u00182’L(H-33Á)+(i¨03b+(,(-(.(/(0(1(2(3(5(7(9(;(?(C(G(K(S([(c(k({(‹(›(«(Ë(ë(\u000b(*)(iø03O)()()()(*(*(*(*(+(+(+(+(,(,(,(,(-(-(-(-(i¨13M8(9(:(((0(/(1(.(2(-(3(,(4(+(5(*(6()(7(T7œ‰šœ‡Ž‰œš›*S7•œ‰Š”U”—Љ”›S0›‘–U œ`;\n\n WASMAudioDecoderCommon.getModule(WASMAudioDecoderCommon, puffString)\n .then((wasm) => WebAssembly.instantiate(wasm, {}))\n .then(({ exports }) => {\n // required for minifiers that mangle the __heap_base property\n const instanceExports = new Map(Object.entries(exports));\n\n const puff = instanceExports.get(\"puff\");\n const memory = instanceExports.get(\"memory\")[\"buffer\"];\n const dataArray = new uint8Array(memory);\n const heapView = new DataView(memory);\n\n let heapPos = instanceExports.get(\"__heap_base\");\n\n // source length\n const sourceLength = source.length;\n const sourceLengthPtr = heapPos;\n heapPos += 4;\n heapView.setInt32(sourceLengthPtr, sourceLength, true);\n\n // source data\n const sourcePtr = heapPos;\n heapPos += sourceLength;\n dataArray.set(source, sourcePtr);\n\n // destination length\n const destLengthPtr = heapPos;\n heapPos += 4;\n heapView.setInt32(\n destLengthPtr,\n dataArray.byteLength - heapPos,\n true,\n );\n\n // destination data fills in the rest of the heap\n puff(heapPos, destLengthPtr, sourcePtr, sourceLengthPtr);\n\n resolve(\n dataArray.slice(\n heapPos,\n heapPos + heapView.getInt32(destLengthPtr, true),\n ),\n );\n });\n });\n },\n },\n });\n }\n\n Object.defineProperty(this, \"wasm\", {\n enumerable: true,\n get: () => this._wasm,\n });\n\n this.getOutputChannels = (outputData, channelsDecoded, samplesDecoded) => {\n let output = [],\n i = 0;\n\n while (i < channelsDecoded)\n output.push(\n outputData.slice(\n i * samplesDecoded,\n i++ * samplesDecoded + samplesDecoded,\n ),\n );\n\n return output;\n };\n\n this.allocateTypedArray = (len, TypedArray, setPointer = true) => {\n const ptr = this._wasm.malloc(TypedArray.BYTES_PER_ELEMENT * len);\n if (setPointer) this._pointers.add(ptr);\n\n return {\n ptr: ptr,\n len: len,\n buf: new TypedArray(this._wasm.HEAP, ptr, len),\n };\n };\n\n this.free = () => {\n this._pointers.forEach((ptr) => {\n this._wasm.free(ptr);\n });\n this._pointers.clear();\n };\n\n this.codeToString = (ptr) => {\n const characters = [],\n heap = new Uint8Array(this._wasm.HEAP);\n for (let character = heap[ptr]; character !== 0; character = heap[++ptr])\n characters.push(character);\n\n return String.fromCharCode.apply(null, characters);\n };\n\n this.addError = (\n errors,\n message,\n frameLength,\n frameNumber,\n inputBytes,\n outputSamples,\n ) => {\n errors.push({\n message: message,\n frameLength: frameLength,\n frameNumber: frameNumber,\n inputBytes: inputBytes,\n outputSamples: outputSamples,\n });\n };\n\n this.instantiate = (_EmscriptenWASM, _module) => {\n if (_module) WASMAudioDecoderCommon.setModule(_EmscriptenWASM, _module);\n this._wasm = new _EmscriptenWASM(WASMAudioDecoderCommon).instantiate();\n this._pointers = new Set();\n\n return this._wasm.ready.then(() => this);\n };\n}\n","/**\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst URL = require('url');\nconst VM = require('vm');\nconst threads = require('worker_threads');\nconst WORKER = Symbol.for('worker');\nconst EVENTS = Symbol.for('events');\nclass EventTarget {\n constructor() {\n Object.defineProperty(this, EVENTS, {\n value: new Map()\n });\n }\n dispatchEvent(event) {\n event.target = event.currentTarget = this;\n if (this['on' + event.type]) {\n try {\n this['on' + event.type](event);\n } catch (err) {\n console.error(err);\n }\n }\n const list = this[EVENTS].get(event.type);\n if (list == null) return;\n list.forEach(handler => {\n try {\n handler.call(this, event);\n } catch (err) {\n console.error(err);\n }\n });\n }\n addEventListener(type, fn) {\n let events = this[EVENTS].get(type);\n if (!events) this[EVENTS].set(type, events = []);\n events.push(fn);\n }\n removeEventListener(type, fn) {\n let events = this[EVENTS].get(type);\n if (events) {\n const index = events.indexOf(fn);\n if (index !== -1) events.splice(index, 1);\n }\n }\n}\nfunction Event(type, target) {\n this.type = type;\n this.timeStamp = Date.now();\n this.target = this.currentTarget = this.data = null;\n}\n\n// this module is used self-referentially on both sides of the\n// thread boundary, but behaves differently in each context.\nmodule.exports = threads.isMainThread ? mainThread() : workerThread();\nconst baseUrl = URL.pathToFileURL(process.cwd() + '/');\nfunction mainThread() {\n /**\n * A web-compatible Worker implementation atop Node's worker_threads.\n * - uses DOM-style events (Event.data, Event.type, etc)\n * - supports event handler properties (worker.onmessage)\n * - Worker() constructor accepts a module URL\n * - accepts the {type:'module'} option\n * - emulates WorkerGlobalScope within the worker\n * @param {string} url The URL or module specifier to load\n * @param {object} [options] Worker construction options\n * @param {string} [options.name] Available as `self.name` within the Worker\n * @param {string} [options.type=\"classic\"] Pass \"module\" to create a Module Worker.\n */\n class Worker extends EventTarget {\n constructor(url, options) {\n super();\n const {\n name,\n type\n } = options || {};\n url += '';\n let mod;\n if (/^data:/.test(url)) {\n mod = url;\n } else {\n mod = URL.fileURLToPath(new URL.URL(url, baseUrl));\n }\n const worker = new threads.Worker(__filename, {\n workerData: {\n mod,\n name,\n type\n }\n });\n Object.defineProperty(this, WORKER, {\n value: worker\n });\n worker.on('message', data => {\n const event = new Event('message');\n event.data = data;\n this.dispatchEvent(event);\n });\n worker.on('error', error => {\n error.type = 'error';\n this.dispatchEvent(error);\n });\n worker.on('exit', () => {\n this.dispatchEvent(new Event('close'));\n });\n }\n postMessage(data, transferList) {\n this[WORKER].postMessage(data, transferList);\n }\n terminate() {\n this[WORKER].terminate();\n }\n }\n Worker.prototype.onmessage = Worker.prototype.onerror = Worker.prototype.onclose = null;\n return Worker;\n}\nfunction workerThread() {\n let {\n mod,\n name,\n type\n } = threads.workerData || {};\n if (!mod) return mainThread();\n\n // turn global into a mock WorkerGlobalScope\n const self = global.self = global;\n\n // enqueue messages to dispatch after modules are loaded\n let q = [];\n function flush() {\n const buffered = q;\n q = null;\n buffered.forEach(event => {\n self.dispatchEvent(event);\n });\n }\n threads.parentPort.on('message', data => {\n const event = new Event('message');\n event.data = data;\n if (q == null) self.dispatchEvent(event);else q.push(event);\n });\n threads.parentPort.on('error', err => {\n err.type = 'Error';\n self.dispatchEvent(err);\n });\n class WorkerGlobalScope extends EventTarget {\n postMessage(data, transferList) {\n threads.parentPort.postMessage(data, transferList);\n }\n // Emulates https://developer.mozilla.org/en-US/docs/Web/API/DedicatedWorkerGlobalScope/close\n close() {\n process.exit();\n }\n }\n let proto = Object.getPrototypeOf(global);\n delete proto.constructor;\n Object.defineProperties(WorkerGlobalScope.prototype, proto);\n proto = Object.setPrototypeOf(global, new WorkerGlobalScope());\n ['postMessage', 'addEventListener', 'removeEventListener', 'dispatchEvent'].forEach(fn => {\n proto[fn] = proto[fn].bind(global);\n });\n global.name = name;\n const isDataUrl = /^data:/.test(mod);\n if (type === 'module') {\n import(mod).catch(err => {\n if (isDataUrl && err.message === 'Not supported') {\n console.warn('Worker(): Importing data: URLs requires Node 12.10+. Falling back to classic worker.');\n return evaluateDataUrl(mod, name);\n }\n console.error(err);\n }).then(flush);\n } else {\n try {\n if (/^data:/.test(mod)) {\n evaluateDataUrl(mod, name);\n } else {\n require(mod);\n }\n } catch (err) {\n console.error(err);\n }\n Promise.resolve().then(flush);\n }\n}\nfunction evaluateDataUrl(url, name) {\n const {\n data\n } = parseDataUrl(url);\n return VM.runInThisContext(data, {\n filename: 'worker.<' + (name || 'data:') + '>'\n });\n}\nfunction parseDataUrl(url) {\n let [m, type, encoding, data] = url.match(/^data: *([^;,]*)(?: *; *([^,]*))? *,(.*)$/) || [];\n if (!m) throw Error('Invalid Data URL.');\n if (encoding) switch (encoding.toLowerCase()) {\n case 'base64':\n data = Buffer.from(data, 'base64').toString();\n break;\n default:\n throw Error('Unknown Data URL encoding \"' + encoding + '\"');\n }\n return {\n type,\n data\n };\n}","import NodeWorker from \"@eshaz/web-worker\";\nimport WASMAudioDecoderCommon from \"./WASMAudioDecoderCommon.js\";\n\nconst getWorker = () => globalThis.Worker || NodeWorker;\n\nexport default class WASMAudioDecoderWorker extends getWorker() {\n constructor(options, name, Decoder, EmscriptenWASM) {\n if (!WASMAudioDecoderCommon.modules) new WASMAudioDecoderCommon();\n\n let source = WASMAudioDecoderCommon.modules.get(Decoder);\n\n if (!source) {\n let type = \"text/javascript\",\n isNode,\n webworkerSourceCode =\n \"'use strict';\" +\n // dependencies need to be manually resolved when stringifying this function\n `(${((_Decoder, _WASMAudioDecoderCommon, _EmscriptenWASM) => {\n // We're in a Web Worker\n\n // setup Promise that will be resolved once the WebAssembly Module is received\n let decoder,\n moduleResolve,\n modulePromise = new Promise((resolve) => {\n moduleResolve = resolve;\n });\n\n self.onmessage = ({ data: { id, command, data } }) => {\n let messagePromise = modulePromise,\n messagePayload = { id },\n transferList;\n\n if (command === \"init\") {\n Object.defineProperties(_Decoder, {\n WASMAudioDecoderCommon: { value: _WASMAudioDecoderCommon },\n EmscriptenWASM: { value: _EmscriptenWASM },\n module: { value: data.module },\n isWebWorker: { value: true },\n });\n\n decoder = new _Decoder(data.options);\n moduleResolve();\n } else if (command === \"free\") {\n decoder.free();\n } else if (command === \"ready\") {\n messagePromise = messagePromise.then(() => decoder.ready);\n } else if (command === \"reset\") {\n messagePromise = messagePromise.then(() => decoder.reset());\n } else {\n // \"decode\":\n // \"decodeFrame\":\n // \"decodeFrames\":\n Object.assign(\n messagePayload,\n decoder[command](\n // detach buffers\n Array.isArray(data)\n ? data.map((data) => new Uint8Array(data))\n : new Uint8Array(data),\n ),\n );\n // The \"transferList\" parameter transfers ownership of channel data to main thread,\n // which avoids copying memory.\n transferList = messagePayload.channelData\n ? messagePayload.channelData.map((channel) => channel.buffer)\n : [];\n }\n\n messagePromise.then(() =>\n self.postMessage(messagePayload, transferList),\n );\n };\n }).toString()})(${Decoder}, ${WASMAudioDecoderCommon}, ${EmscriptenWASM})`;\n\n try {\n isNode = typeof process.versions.node !== \"undefined\";\n } catch {}\n\n source = isNode\n ? `data:${type};base64,${Buffer.from(webworkerSourceCode).toString(\n \"base64\",\n )}`\n : URL.createObjectURL(new Blob([webworkerSourceCode], { type }));\n\n WASMAudioDecoderCommon.modules.set(Decoder, source);\n }\n\n super(source, { name });\n\n this._id = Number.MIN_SAFE_INTEGER;\n this._enqueuedOperations = new Map();\n\n this.onmessage = ({ data }) => {\n const { id, ...rest } = data;\n this._enqueuedOperations.get(id)(rest);\n this._enqueuedOperations.delete(id);\n };\n\n new EmscriptenWASM(WASMAudioDecoderCommon).getModule().then((module) => {\n this.postToDecoder(\"init\", { module, options });\n });\n }\n\n async postToDecoder(command, data) {\n return new Promise((resolve) => {\n this.postMessage({\n command,\n id: this._id,\n data,\n });\n\n this._enqueuedOperations.set(this._id++, resolve);\n });\n }\n\n get ready() {\n return this.postToDecoder(\"ready\");\n }\n\n async free() {\n await this.postToDecoder(\"free\").finally(() => {\n this.terminate();\n });\n }\n\n async reset() {\n await this.postToDecoder(\"reset\");\n }\n}\n","export const assignNames = (Class, name) => {\n Object.defineProperty(Class, \"name\", { value: name });\n};\n"],"x_google_ignoreList":[0,1,2,3,4],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@basmilius/apple-audio-source",
3
3
  "description": "Different audio sources for use in Apple Streaming Protocols.",
4
- "version": "0.7.2",
4
+ "version": "0.8.1",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "author": {
@@ -19,23 +19,23 @@
19
19
  "provenance": false
20
20
  },
21
21
  "scripts": {
22
- "build": "tsgo && bun -b build.ts"
22
+ "build": "tsgo --noEmit && tsdown",
23
+ "dev": "tsdown --watch"
23
24
  },
24
- "main": "./dist/index.js",
25
- "types": "./dist/index.d.ts",
26
- "typings": "./dist/index.d.ts",
25
+ "main": "./dist/index.mjs",
26
+ "types": "./dist/index.d.mts",
27
+ "typings": "./dist/index.d.mts",
27
28
  "sideEffects": false,
28
29
  "exports": {
29
30
  ".": {
30
- "types": "./dist/index.d.ts",
31
- "default": "./dist/index.js"
31
+ "types": "./dist/index.d.mts",
32
+ "default": "./dist/index.mjs"
32
33
  }
33
34
  },
34
35
  "dependencies": {
35
- "@basmilius/apple-common": "0.7.2"
36
+ "@basmilius/apple-common": "0.8.1"
36
37
  },
37
38
  "devDependencies": {
38
- "@basmilius/tools": "^2.25.0",
39
39
  "@types/bun": "^1.3.9",
40
40
  "@wasm-audio-decoders/flac": "^0.2.4",
41
41
  "@wasm-audio-decoders/ogg-vorbis": "^0.1.15",
@@ -43,6 +43,7 @@
43
43
  "audio-type": "^2.2.1",
44
44
  "mpg123-decoder": "^1.0.0",
45
45
  "node-wav": "^0.0.2",
46
- "qoa-format": "^1.0.1"
46
+ "qoa-format": "^1.0.1",
47
+ "tsdown": "^0.21.0-beta.2"
47
48
  }
48
49
  }
package/dist/const.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export declare const DEFAULT_BYTES_PER_CHANNEL = 2;
2
- export declare const DEFAULT_CHANNELS = 2;
3
- export declare const DEFAULT_SAMPLE_RATE = 44100;
4
- export declare const FFMPEG_FRAMES_PER_PACKET = 352;
@@ -1,8 +0,0 @@
1
- export default function audioDecode(buf);
2
- export declare const decoders: {
3
- oga(buf);
4
- mp3(buf);
5
- flac(buf);
6
- wav(buf);
7
- qoa(buf);
8
- };
@@ -1,3 +0,0 @@
1
- export declare function isMp3(buffer: Buffer): boolean;
2
- export declare function isOgg(buffer: Buffer): boolean;
3
- export declare function isWav(buffer: Buffer): boolean;
@@ -1 +0,0 @@
1
- export default function(buffer: Buffer): Promise<Buffer>;
@@ -1,3 +0,0 @@
1
- export { isMp3, isOgg, isWav } from "./codec";
2
- export { default as decode } from "./decode";
3
- export * from "./pcm";
@@ -1,8 +0,0 @@
1
- export declare function convertPcm(input: Buffer, options: ConvertPcmOptions): Buffer;
2
- type ConvertPcmOptions = {
3
- readonly inputChannels: number;
4
- readonly inputSampleRate: number;
5
- readonly inputBitsPerSample: number;
6
- readonly inputEndian: "little" | "big";
7
- };
8
- export {};
package/dist/ffmpeg.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import type { AudioSource } from "@basmilius/apple-common";
2
- export default class Ffmpeg implements AudioSource {
3
- #private;
4
- readonly duration: number;
5
- constructor(filePath: string, duration: number, sampleRate?: number, channels?: number, bytesPerChannel?: number);
6
- start(): Promise<void>;
7
- reset(): Promise<void>;
8
- stop(): Promise<void>;
9
- readFrames(count: number): Promise<Buffer | null>;
10
- }
package/dist/index.d.ts DELETED
@@ -1,7 +0,0 @@
1
- export { default as Ffmpeg } from "./ffmpeg";
2
- export { default as Mp3 } from "./mp3";
3
- export { default as Ogg } from "./ogg";
4
- export { default as Pcm } from "./pcm";
5
- export { default as SineWave } from "./sineWave";
6
- export { default as Url } from "./url";
7
- export { default as Wav } from "./wav";