@enhance-eng/sandbox 0.3.16 → 0.3.17-dev.7469ea2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,44 @@
1
+ # @enhance-eng/sandbox
2
+
3
+ Enhance sandbox library for adding preview functionality to your application.
4
+
5
+ **Supported frameworks:** React SPAs and statically generated sites. SSR is not supported.
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ npm install @enhance-eng/sandbox
11
+ ```
12
+
13
+ ## Vite
14
+
15
+ Add the plugin to your Vite config:
16
+
17
+ ```typescript
18
+ // vite.config.ts
19
+ import { enhance } from "@enhance-eng/sandbox/vite";
20
+
21
+ export default defineConfig({
22
+ plugins: [enhance()],
23
+ });
24
+ ```
25
+
26
+ That's it. The plugin handles everything automatically.
27
+
28
+ ## Other Build Tools
29
+
30
+ For non-Vite setups, use the CLI to copy the required assets to your public directory:
31
+
32
+ ```bash
33
+ npx enhance-sandbox prepare-sw --public-dir ./public
34
+ ```
35
+
36
+ Then initialize Enhance in your application entry point:
37
+
38
+ ```typescript
39
+ import { Enhance } from "@enhance-eng/sandbox";
40
+
41
+ Enhance.init();
42
+ ```
43
+
44
+ Run the CLI as part of your build process to keep assets up to date.
@@ -1 +1 @@
1
- const _0x342511=_0x3436;(function(_0x15343a,_0x5258b5){const _0x5422c0=_0x3436,_0x5b7ad5=_0x15343a();while(!![]){try{const _0x9f5a0e=-parseInt(_0x5422c0(0x1f1))/0x1*(-parseInt(_0x5422c0(0x282))/0x2)+-parseInt(_0x5422c0(0x228))/0x3*(-parseInt(_0x5422c0(0x296))/0x4)+-parseInt(_0x5422c0(0x234))/0x5+-parseInt(_0x5422c0(0x254))/0x6+-parseInt(_0x5422c0(0x2b1))/0x7+parseInt(_0x5422c0(0x299))/0x8*(-parseInt(_0x5422c0(0x260))/0x9)+parseInt(_0x5422c0(0x247))/0xa;if(_0x9f5a0e===_0x5258b5)break;else _0x5b7ad5['push'](_0x5b7ad5['shift']());}catch(_0x260a31){_0x5b7ad5['push'](_0x5b7ad5['shift']());}}}(_0x3a8c,0xb5bcf));function normalizeOptions(_0x3cc3c7){const _0x4c63c6=_0x3436,_0x4d590a=_0x3cc3c7[_0x4c63c6(0x29c)]??{};return{'callbackBypass':_0x3cc3c7[_0x4c63c6(0x241)],'overlay':{'enabled':!![],'position':_0x4c63c6(0x222),'enableViteHmr':_0x4d590a[_0x4c63c6(0x20c)]??![]},'logLevel':_0x4c63c6(0x28d),'swPath':_0x4c63c6(0x218),'overlayPath':_0x4d590a[_0x4c63c6(0x264)]??_0x4c63c6(0x1fc),'runtimeScriptPath':_0x4c63c6(0x245),'security':_0x4d590a[_0x4c63c6(0x20a)]??_0x4c63c6(0x2b3),'backendUrl':_0x4d590a['backendUrl']??_0x4c63c6(0x283)};}var state={'enabled':![],'controlled':![]};function getEnhancementUrl(){const _0x471030=_0x3436;try{const _0x535805=new URLSearchParams(window[_0x471030(0x28f)][_0x471030(0x27f)]);return _0x535805[_0x471030(0x1f2)]('enhancementUrl')?.['trim']()||'';}catch{return'';}}var LOG_PREFIX=_0x342511(0x24c),overlayController=null,overlayLoadPromise=null,toggleHandler=null,currentOptions=null;async function loadOverlay(_0x27080b){const _0x3593b4=_0x342511;console[_0x3593b4(0x29e)](LOG_PREFIX+_0x3593b4(0x1fe)),console[_0x3593b4(0x29e)](LOG_PREFIX+_0x3593b4(0x225)+_0x27080b[_0x3593b4(0x264)]),console[_0x3593b4(0x29e)](LOG_PREFIX+_0x3593b4(0x268)+_0x27080b[_0x3593b4(0x27b)]),currentOptions=_0x27080b['options'],toggleHandler=_0x27080b[_0x3593b4(0x258)];if(overlayController){console['log'](LOG_PREFIX+_0x3593b4(0x22d)),updateOverlay();return;}if(overlayLoadPromise)return console['log'](LOG_PREFIX+_0x3593b4(0x253)),overlayLoadPromise;console[_0x3593b4(0x29e)](LOG_PREFIX+_0x3593b4(0x279)),overlayLoadPromise=doLoadOverlay(_0x27080b);try{await overlayLoadPromise,console[_0x3593b4(0x29e)](LOG_PREFIX+_0x3593b4(0x1ed));}catch(_0x3147b9){console[_0x3593b4(0x250)](LOG_PREFIX+'\x20loadOverlay()\x20failed:',_0x3147b9);}finally{overlayLoadPromise=null;}}async function doLoadOverlay(_0x10ee8a){const _0x364537=_0x342511;console[_0x364537(0x29e)](LOG_PREFIX+'\x20doLoadOverlay()\x20starting...');if(typeof window===_0x364537(0x226)){console[_0x364537(0x29e)](LOG_PREFIX+'\x20No\x20window\x20object\x20-\x20skipping');return;}if(window[_0x364537(0x1fb)]){console[_0x364537(0x29e)](LOG_PREFIX+_0x364537(0x255)),overlayController=window[_0x364537(0x1fb)],overlayController[_0x364537(0x258)](_0x10ee8a[_0x364537(0x258)]),updateOverlay();return;}console[_0x364537(0x29e)](LOG_PREFIX+'\x20No\x20cached\x20controller\x20-\x20will\x20import\x20module');try{_0x10ee8a['enableViteHmr']&&(console[_0x364537(0x29e)](LOG_PREFIX+_0x364537(0x28a)),await setupRemoteHMR(_0x10ee8a[_0x364537(0x264)]));console['log'](LOG_PREFIX+_0x364537(0x1f6)+_0x10ee8a[_0x364537(0x264)]);const _0x4e1111=Date['now'](),_0x3f3bb1=await import(_0x10ee8a[_0x364537(0x264)]);console['log'](LOG_PREFIX+_0x364537(0x220)+(Date['now']()-_0x4e1111)+'ms'),console[_0x364537(0x29e)](LOG_PREFIX+_0x364537(0x259),Object[_0x364537(0x22f)](_0x3f3bb1));if(typeof _0x3f3bb1?.[_0x364537(0x27a)]!==_0x364537(0x21b)){console[_0x364537(0x250)](LOG_PREFIX+_0x364537(0x1ec)),console['error'](LOG_PREFIX+_0x364537(0x26b),Object[_0x364537(0x22f)](_0x3f3bb1));return;}console['log'](LOG_PREFIX+_0x364537(0x25b));const _0x4f5e59=_0x3f3bb1[_0x364537(0x27a)]();console[_0x364537(0x29e)](LOG_PREFIX+_0x364537(0x269),_0x4f5e59),overlayController=_0x4f5e59,window[_0x364537(0x1fb)]=_0x4f5e59,_0x4f5e59['onToggle'](_0x10ee8a[_0x364537(0x258)]),console[_0x364537(0x29e)](LOG_PREFIX+_0x364537(0x295)),console[_0x364537(0x29e)](LOG_PREFIX+_0x364537(0x205)),updateOverlay();}catch(_0x3f60b9){console[_0x364537(0x250)](LOG_PREFIX+_0x364537(0x2a5),_0x3f60b9);}}function updateOverlay(){const _0x5e3f95=_0x342511;console['log'](LOG_PREFIX+_0x5e3f95(0x1e8)),console[_0x5e3f95(0x29e)](LOG_PREFIX+'\x20overlayController\x20exists:\x20'+!!overlayController),console['log'](LOG_PREFIX+_0x5e3f95(0x20e)+!!currentOptions);if(!overlayController||!currentOptions){console[_0x5e3f95(0x29e)](LOG_PREFIX+_0x5e3f95(0x23d));return;}const _0x34e329=composeOverlayState(currentOptions);console['log'](LOG_PREFIX+'\x20Updating\x20overlay\x20with\x20state:',JSON[_0x5e3f95(0x243)](_0x34e329,null,0x2)),overlayController[_0x5e3f95(0x286)](_0x34e329),console[_0x5e3f95(0x29e)](LOG_PREFIX+'\x20Overlay\x20update\x20complete');}function composeOverlayState(_0x2618e4){const _0x32dfaa=_0x342511,_0x401a5f=getEnhancementUrl();return console[_0x32dfaa(0x29e)](LOG_PREFIX+_0x32dfaa(0x20f)+_0x401a5f),console[_0x32dfaa(0x29e)](LOG_PREFIX+_0x32dfaa(0x209)+state[_0x32dfaa(0x276)]),console['log'](LOG_PREFIX+_0x32dfaa(0x232)+state[_0x32dfaa(0x285)]),{'enhancementUrl':_0x401a5f,'enabled':state['enabled'],'controlled':state[_0x32dfaa(0x285)],'overlayPosition':_0x2618e4[_0x32dfaa(0x27d)][_0x32dfaa(0x216)],'securityMode':_0x2618e4[_0x32dfaa(0x20a)],'backendBaseUrl':_0x2618e4[_0x32dfaa(0x214)]};}async function setupRemoteHMR(_0x546ed9){const _0x40ae93=_0x342511;console[_0x40ae93(0x29e)](LOG_PREFIX+_0x40ae93(0x25d)+_0x546ed9);if(typeof window===_0x40ae93(0x226))return;try{const _0x2901c9=new URL(_0x546ed9,window[_0x40ae93(0x28f)][_0x40ae93(0x22e)]),_0xbf9ee4=_0x2901c9['origin'];console['log'](LOG_PREFIX+'\x20Overlay\x20origin:\x20'+_0xbf9ee4+_0x40ae93(0x203)+window[_0x40ae93(0x28f)]['origin']);if(_0xbf9ee4===window[_0x40ae93(0x28f)][_0x40ae93(0x22e)]){console[_0x40ae93(0x29e)](LOG_PREFIX+'\x20Same\x20origin\x20-\x20skipping\x20HMR\x20setup');return;}console['log'](LOG_PREFIX+_0x40ae93(0x287)),await ensureReactRefreshPreamble(_0xbf9ee4),await ensureViteClient(_0xbf9ee4),console['log'](LOG_PREFIX+_0x40ae93(0x2aa));}catch(_0x41b339){console[_0x40ae93(0x20d)](LOG_PREFIX+_0x40ae93(0x246),_0x41b339);}}async function ensureReactRefreshPreamble(_0x29de09){const _0x455bf8=_0x342511;window[_0x455bf8(0x1e6)]??(window[_0x455bf8(0x1e6)]=new Set());if(window[_0x455bf8(0x1e6)][_0x455bf8(0x25f)](_0x29de09)){console[_0x455bf8(0x29e)](LOG_PREFIX+'\x20React\x20Refresh\x20already\x20installed\x20for\x20'+_0x29de09);return;}console[_0x455bf8(0x29e)](LOG_PREFIX+_0x455bf8(0x221)+_0x29de09+_0x455bf8(0x24d));const _0x46f3df=await import(_0x29de09+_0x455bf8(0x2a6)),_0x4efa0a=_0x46f3df&&typeof _0x46f3df===_0x455bf8(0x256)&&_0x455bf8(0x248)in _0x46f3df?_0x46f3df[_0x455bf8(0x248)]:_0x46f3df;if(!isRefreshRuntime(_0x4efa0a)){console[_0x455bf8(0x20d)](LOG_PREFIX+_0x455bf8(0x266));return;}_0x4efa0a[_0x455bf8(0x1ea)](window),window[_0x455bf8(0x236)]=()=>{},window[_0x455bf8(0x292)]=()=>_0x1fdc1e=>_0x1fdc1e,window['__vite_plugin_react_preamble_installed__']=!![],window[_0x455bf8(0x1e6)]['add'](_0x29de09),console[_0x455bf8(0x29e)](LOG_PREFIX+_0x455bf8(0x290)+_0x29de09);}async function ensureViteClient(_0x1b6c8d){const _0x892529=_0x342511;window[_0x892529(0x289)]??(window[_0x892529(0x289)]=new Set());if(window['__viteHMRLoaded'][_0x892529(0x25f)](_0x1b6c8d)){console[_0x892529(0x29e)](LOG_PREFIX+_0x892529(0x244)+_0x1b6c8d);return;}console[_0x892529(0x29e)](LOG_PREFIX+_0x892529(0x278)+_0x1b6c8d+_0x892529(0x24d)),await import(_0x1b6c8d+_0x892529(0x204)),window['__viteHMRLoaded'][_0x892529(0x1f8)](_0x1b6c8d),console[_0x892529(0x29e)](LOG_PREFIX+_0x892529(0x2a9)+_0x1b6c8d);}function isRefreshRuntime(_0x1e8fba){const _0x3a75d2=_0x342511;return typeof _0x1e8fba==='object'&&_0x1e8fba!==null&&_0x3a75d2(0x1ea)in _0x1e8fba&&typeof _0x1e8fba[_0x3a75d2(0x1ea)]==='function';}var WORKER_MESSAGE_CONFIG=_0x342511(0x20b),WORKER_MESSAGE_DISABLE=_0x342511(0x235),WORKER_MESSAGE_REQUEST_CONFIG=_0x342511(0x242),LOG_PREFIX2=_0x342511(0x212),registration=null,messageListener=null,currentOptions2=null,configGetter=null;async function registerServiceWorker(_0x798642){const _0x22412b=_0x342511;console[_0x22412b(0x29e)](LOG_PREFIX2+_0x22412b(0x23a)),console[_0x22412b(0x29e)](LOG_PREFIX2+'\x20swPath:\x20'+_0x798642[_0x22412b(0x21a)]);if(!(_0x22412b(0x23f)in navigator)){console['warn'](LOG_PREFIX2+'\x20Service\x20workers\x20NOT\x20supported\x20in\x20this\x20browser');return;}console[_0x22412b(0x29e)](LOG_PREFIX2+'\x20Service\x20workers\x20supported');const _0x5e3135=navigator[_0x22412b(0x23f)][_0x22412b(0x2b2)];console[_0x22412b(0x29e)](LOG_PREFIX2+_0x22412b(0x227),_0x5e3135?.[_0x22412b(0x206)]??_0x22412b(0x2ac)),console[_0x22412b(0x29e)](LOG_PREFIX2+'\x20Controller\x20state:',_0x5e3135?.[_0x22412b(0x2a1)]??'N/A');const _0x2862b4=!!_0x5e3135;currentOptions2=_0x798642,configGetter=()=>buildWorkerConfiguration(_0x798642),console[_0x22412b(0x29e)](LOG_PREFIX2+_0x22412b(0x21f));const _0x48dc52=await detectBlockingServiceWorker(_0x798642[_0x22412b(0x21a)]);if(_0x48dc52){console[_0x22412b(0x250)](LOG_PREFIX2+_0x22412b(0x1ee)+_0x48dc52),console[_0x22412b(0x250)](LOG_PREFIX2+_0x22412b(0x231));return;}console[_0x22412b(0x29e)](LOG_PREFIX2+_0x22412b(0x21e));try{console['log'](LOG_PREFIX2+'\x20Registering\x20SW\x20at\x20'+_0x798642[_0x22412b(0x21a)]+'\x20with\x20scope\x20\x27/\x27...'),registration=await navigator[_0x22412b(0x23f)][_0x22412b(0x272)](_0x798642[_0x22412b(0x21a)],{'scope':'/'}),console[_0x22412b(0x29e)](LOG_PREFIX2+_0x22412b(0x1e5),{'scope':registration['scope'],'active':registration[_0x22412b(0x219)]?.[_0x22412b(0x206)],'waiting':registration['waiting']?.[_0x22412b(0x206)],'installing':registration[_0x22412b(0x277)]?.[_0x22412b(0x206)]}),console[_0x22412b(0x29e)](LOG_PREFIX2+_0x22412b(0x293));const _0x2842d4=await navigator['serviceWorker']['ready'];console[_0x22412b(0x29e)](LOG_PREFIX2+'\x20SW\x20ready!\x20Active:',_0x2842d4[_0x22412b(0x219)]?.[_0x22412b(0x206)]);const _0x3949ab=ownsCurrentController(_0x798642[_0x22412b(0x21a)]);state[_0x22412b(0x285)]=_0x3949ab,console['log'](LOG_PREFIX2+_0x22412b(0x233)+_0x3949ab),console[_0x22412b(0x29e)](LOG_PREFIX2+_0x22412b(0x26d),navigator[_0x22412b(0x23f)][_0x22412b(0x2b2)]?.[_0x22412b(0x206)]??_0x22412b(0x2ac));if(!_0x2862b4&&!navigator[_0x22412b(0x23f)][_0x22412b(0x2b2)]){console[_0x22412b(0x29e)](LOG_PREFIX2+_0x22412b(0x229)),window['location'][_0x22412b(0x297)]();return;}console['log'](LOG_PREFIX2+_0x22412b(0x23c)),attachMessageListener(),console['log'](LOG_PREFIX2+'\x20Sending\x20initial\x20configuration...'),await sendConfiguration();if(state['enabled']){const _0x53e38c=document[_0x22412b(0x26e)](_0x22412b(0x21d))!==null;console['log'](LOG_PREFIX2+'\x20Enhancement\x20detection:\x20wasEnhanced='+_0x53e38c);if(!_0x53e38c){console[_0x22412b(0x29e)](LOG_PREFIX2+_0x22412b(0x207)),window[_0x22412b(0x28f)][_0x22412b(0x297)]();return;}}console[_0x22412b(0x29e)](LOG_PREFIX2+_0x22412b(0x29f)),updateOverlay(),console[_0x22412b(0x29e)](LOG_PREFIX2+_0x22412b(0x26a));}catch(_0x14566e){console[_0x22412b(0x250)](LOG_PREFIX2+_0x22412b(0x2b0),_0x14566e);}}async function sendConfiguration(){const _0xe6306b=_0x342511;console[_0xe6306b(0x29e)](LOG_PREFIX2+_0xe6306b(0x22b)),console[_0xe6306b(0x29e)](LOG_PREFIX2+_0xe6306b(0x2a0)+state[_0xe6306b(0x276)]+_0xe6306b(0x1f0)+!!configGetter);if(!state[_0xe6306b(0x276)]||!configGetter){console[_0xe6306b(0x29e)](LOG_PREFIX2+_0xe6306b(0x24a));return;}const _0x22106b=await resolveWorker();if(!_0x22106b){console[_0xe6306b(0x20d)](LOG_PREFIX2+_0xe6306b(0x298));return;}const _0x348c44=configGetter();console[_0xe6306b(0x29e)](LOG_PREFIX2+_0xe6306b(0x29b),JSON[_0xe6306b(0x243)](_0x348c44,null,0x2)),_0x22106b[_0xe6306b(0x211)]({'type':WORKER_MESSAGE_CONFIG,'config':_0x348c44}),console[_0xe6306b(0x29e)](LOG_PREFIX2+_0xe6306b(0x1fa));}function _0x3a8c(){const _0x251f9c=['\x20Invalid\x20React\x20Refresh\x20runtime','searchParams','\x20enableViteHmr:\x20','\x20Controller\x20created:','\x20registerServiceWorker()\x20complete','\x20Available\x20exports:','MIT','\x20Current\x20controller\x20after\x20ready:','querySelector','\x20Normal\x20mode\x20-\x20no\x20enhancement\x20params','public','scope','register','replaceState','\x20detectBlocking\x20error:','dist','enabled','installing','\x20Loading\x20Vite\x20HMR\x20client\x20from\x20','\x20Starting\x20fresh\x20overlay\x20load...','createOverlay','enableViteHmr','./dist/index.cjs','overlay',',\x20owns=','search','\x20detectBlocking\x20-\x20existing\x20registration:','\x20Document\x20readyState:\x20','2DHNnty','https://api.enhancelabs.ai','bin/enhance-sandbox.js','controlled','update','\x20Cross-origin\x20overlay\x20-\x20setting\x20up\x20HMR...','\x20enhancementUrl:\x20','__viteHMRLoaded','\x20Setting\x20up\x20remote\x20HMR...','\x20Unregistering\x20SW...','waiting','info','module','location','\x20React\x20Refresh\x20runtime\x20installed\x20for\x20','\x20Sending\x20DISABLE\x20message\x20to\x20SW...','$RefreshSig$','\x20Waiting\x20for\x20navigator.serviceWorker.ready...','^24.10.1','\x20Overlay\x20controller\x20initialized\x20and\x20cached','1704292cdngYX','reload','\x20No\x20service\x20worker\x20active\x20to\x20configure','64mNzvGx','\x20Message\x20listener\x20detached','\x20Sending\x20config\x20to\x20SW:','__development','href','log','\x20Updating\x20overlay...','\x20state.enabled:\x20','state','\x20resolveWorker:','sw-enhance','0.3.16','\x20Failed\x20to\x20import/create\x20overlay:','/@react-refresh','delete','startsWith','\x20Vite\x20HMR\x20client\x20loaded\x20for\x20','\x20HMR\x20setup\x20complete','data','none','type','readyState','enhancement','\x20Failed\x20to\x20register\x20service\x20worker:','4986345LFAfte','controller','permissive','\x20Registration\x20returned:','__enhanceReactRefreshInstalledOrigins','./dist/vite/index.js','\x20updateOverlay()\x20called','removeEventListener','injectIntoGlobalHook','state:\x20','\x20Module\x20missing\x20createOverlay\x20export!','\x20loadOverlay()\x20complete','\x20BLOCKING\x20SW\x20detected:\x20','enhancementUrl',',\x20configGetter:\x20','320359bATfUA','get','explicitDisable','\x20No\x20current\x20controller','\x20Registration\x20is\x20not\x20ours\x20-\x20not\x20unregistering','\x20Importing\x20overlay\x20module\x20from:\x20','runtimeScriptPath','add','\x20buildWorkerConfiguration\x20-\x20enhancementUrl:\x20','\x20Config\x20sent\x20to\x20SW','__enhanceOverlay','https://assets.enhancelabs.ai/overlay.js','./dist/index.d.ts','\x20loadOverlay()\x20called','\x20Current\x20URL:\x20','\x20Message\x20listener\x20already\x20attached\x20or\x20no\x20SW\x20support','\x20URL\x20params\x20parsed:','message',',\x20page\x20origin:\x20','/@vite/client','\x20Calling\x20updateOverlay()...','scriptURL','\x20Page\x20not\x20enhanced\x20by\x20SW\x20-\x20reloading\x20to\x20apply\x20enhancement','^4.1.1','\x20composeOverlayState\x20-\x20state.enabled:\x20','security','enhance:configure','enableOverlayHmr','warn','\x20currentOptions\x20exists:\x20','\x20composeOverlayState\x20-\x20enhancementUrl:\x20','N/A','postMessage','[Enhance\x20SW-Client]','off','backendUrl','^3.22.4','position','\x20SW\x20requested\x20config\x20-\x20sending...','/sw-enhance.js','active','swPath','function','[Enhance\x20Runtime]','[data-enhance-runtime-bootstrap]','\x20No\x20blocking\x20SW\x20found','\x20Checking\x20for\x20blocking\x20service\x20worker...','\x20Module\x20imported\x20in\x20','\x20Installing\x20React\x20Refresh\x20runtime\x20from\x20','bottom-right','./dist/index.js','some','\x20overlayPath:\x20','undefined','\x20Current\x20controller:','3ecFhuX','\x20Page\x20was\x20not\x20controlled\x20-\x20SW\x20just\x20activated.\x20Reloading\x20to\x20enable\x20enhancement...','^11.1.0','\x20sendConfiguration()\x20called','https://','\x20Controller\x20already\x20exists\x20-\x20updating\x20overlay','origin','keys','enable','\x20Enhancement\x20features\x20will\x20NOT\x20work\x20until\x20it\x20is\x20unregistered','\x20composeOverlayState\x20-\x20state.controlled:\x20','\x20Page\x20controlled\x20by\x20our\x20SW:\x20','4023085DsEMsz','enhance:disable','$RefreshReg$','enhance','\x20Raw\x20options:','bin','\x20registerServiceWorker()\x20called','\x20ownsServiceWorker?\x20scriptURL=','\x20Attaching\x20message\x20listener...','\x20Missing\x20controller\x20or\x20options\x20-\x20skipping\x20update','^7.2.4','serviceWorker','\x20Unregistering\x20any\x20existing\x20SW...','callbackBypass','enhance:request-config','stringify','\x20Vite\x20client\x20already\x20loaded\x20for\x20','/assets/enhance-runtime.js','\x20Failed\x20to\x20prepare\x20remote\x20HMR\x20(non-fatal):','19182760HBAlqg','default','\x20No\x20registration\x20found\x20-\x20nothing\x20to\x20unregister','\x20Skipping\x20-\x20not\x20enabled\x20or\x20no\x20configGetter','history','[Enhance\x20Overlay]','...','includes','enhancementId','error','unregister','\x20Starting\x20overlay\x20load\x20(async)...','\x20Load\x20already\x20in\x20progress\x20-\x20waiting...','1792782FmECzf','\x20Found\x20cached\x20overlay\x20controller\x20on\x20window.__enhanceOverlay','object','\x20Enhancement\x20mode\x20ENABLED','onToggle','\x20Module\x20exports:','false','\x20Calling\x20createOverlay()...','disable','\x20setupRemoteHMR()\x20for\x20','\x20Message\x20listener\x20attached','has','117630FHHchi','getRegistration','init','ENHANCE_OVERLAY_PATH=https://assets.enhancelabs.ai/overlay.js\x20ENHANCE_BACKEND_URL=https://api.enhancelabs.ai\x20tsup','overlayPath','addEventListener'];_0x3a8c=function(){return _0x251f9c;};return _0x3a8c();}async function unregisterServiceWorker(_0x460ab0){const _0x4b5d57=_0x342511;console[_0x4b5d57(0x29e)](LOG_PREFIX2+'\x20unregisterServiceWorker()\x20called');if(!(_0x4b5d57(0x23f)in navigator)){console[_0x4b5d57(0x29e)](LOG_PREFIX2+'\x20No\x20serviceWorker\x20support\x20-\x20nothing\x20to\x20unregister');return;}detachMessageListener();try{const _0x19cc8d=registration??await navigator[_0x4b5d57(0x23f)]['getRegistration']('/');if(!_0x19cc8d){console[_0x4b5d57(0x29e)](LOG_PREFIX2+_0x4b5d57(0x249));return;}console[_0x4b5d57(0x29e)](LOG_PREFIX2+'\x20Found\x20registration:',{'scope':_0x19cc8d[_0x4b5d57(0x271)],'active':_0x19cc8d[_0x4b5d57(0x219)]?.[_0x4b5d57(0x206)],'waiting':_0x19cc8d[_0x4b5d57(0x28c)]?.['scriptURL'],'installing':_0x19cc8d['installing']?.[_0x4b5d57(0x206)]});const _0x62a986=[_0x19cc8d[_0x4b5d57(0x219)]?.[_0x4b5d57(0x206)],_0x19cc8d[_0x4b5d57(0x28c)]?.[_0x4b5d57(0x206)],_0x19cc8d[_0x4b5d57(0x277)]?.[_0x4b5d57(0x206)]],_0x21aec5=_0x62a986[_0x4b5d57(0x224)](_0x4f2c41=>_0x4f2c41&&ownsServiceWorker(_0x4f2c41,_0x460ab0));if(!_0x21aec5){console[_0x4b5d57(0x29e)](LOG_PREFIX2+_0x4b5d57(0x1f5));return;}_0x19cc8d[_0x4b5d57(0x219)]&&(console['log'](LOG_PREFIX2+_0x4b5d57(0x291)),_0x19cc8d[_0x4b5d57(0x219)][_0x4b5d57(0x211)]({'type':WORKER_MESSAGE_DISABLE})),console[_0x4b5d57(0x29e)](LOG_PREFIX2+_0x4b5d57(0x28b)),await _0x19cc8d[_0x4b5d57(0x251)](),registration=null,console['log'](LOG_PREFIX2+'\x20SW\x20unregistered\x20successfully');}catch(_0x36c796){console[_0x4b5d57(0x250)](LOG_PREFIX2+'\x20Failed\x20to\x20unregister\x20service\x20worker:',_0x36c796);}}function attachMessageListener(){const _0x2a5631=_0x342511;if(!navigator[_0x2a5631(0x23f)]||messageListener){console[_0x2a5631(0x29e)](LOG_PREFIX2+_0x2a5631(0x200));return;}messageListener=_0x49d81c=>{const _0x1501ab=_0x2a5631,_0x199312=_0x49d81c[_0x1501ab(0x2ab)];console[_0x1501ab(0x29e)](LOG_PREFIX2+'\x20Received\x20message\x20from\x20SW:',_0x199312);if(!_0x199312||typeof _0x199312!==_0x1501ab(0x256))return;_0x199312[_0x1501ab(0x2ad)]===WORKER_MESSAGE_REQUEST_CONFIG&&(console[_0x1501ab(0x29e)](LOG_PREFIX2+_0x1501ab(0x217)),void sendConfiguration());},navigator[_0x2a5631(0x23f)][_0x2a5631(0x265)](_0x2a5631(0x202),messageListener),console[_0x2a5631(0x29e)](LOG_PREFIX2+_0x2a5631(0x25e));}function _0x3436(_0x3a1671,_0x35ef75){const _0x3a8c39=_0x3a8c();return _0x3436=function(_0x3436e3,_0xcd27d0){_0x3436e3=_0x3436e3-0x1e5;let _0x3118fb=_0x3a8c39[_0x3436e3];return _0x3118fb;},_0x3436(_0x3a1671,_0x35ef75);}function detachMessageListener(){const _0x15b31f=_0x342511;navigator[_0x15b31f(0x23f)]&&messageListener&&(navigator[_0x15b31f(0x23f)][_0x15b31f(0x1e9)]('message',messageListener),messageListener=null,console[_0x15b31f(0x29e)](LOG_PREFIX2+_0x15b31f(0x29a)));}function ownsServiceWorker(_0x25815f,_0x366bb7){const _0x462168=_0x342511,_0x1076f4=typeof window!=='undefined'?window[_0x462168(0x28f)][_0x462168(0x22e)]:'',_0x397283=new URL(_0x366bb7,_0x1076f4||void 0x0)['href'],_0x377007=_0x25815f===_0x397283||_0x25815f[_0x462168(0x24e)](_0x462168(0x2a3));return console[_0x462168(0x29e)](LOG_PREFIX2+_0x462168(0x23b)+_0x25815f+',\x20expected='+_0x397283+_0x462168(0x27e)+_0x377007),_0x377007;}function ownsCurrentController(_0x3e160c){const _0x1a0281=_0x342511;if(typeof navigator==='undefined')return![];const _0x537951=navigator[_0x1a0281(0x23f)]?.[_0x1a0281(0x2b2)];if(!_0x537951)return console[_0x1a0281(0x29e)](LOG_PREFIX2+_0x1a0281(0x1f4)),![];return ownsServiceWorker(_0x537951[_0x1a0281(0x206)],_0x3e160c);}async function detectBlockingServiceWorker(_0x16ca23){const _0x11a41a=_0x342511;if(!navigator[_0x11a41a(0x23f)])return null;try{const _0x21a74a=await navigator['serviceWorker'][_0x11a41a(0x261)]('/');console[_0x11a41a(0x29e)](LOG_PREFIX2+_0x11a41a(0x280),_0x21a74a?.['active']?.[_0x11a41a(0x206)]??_0x11a41a(0x2ac));const _0x2260a6=_0x21a74a?.[_0x11a41a(0x219)]?.['scriptURL'];if(!_0x2260a6)return null;if(ownsServiceWorker(_0x2260a6,_0x16ca23))return null;return _0x2260a6;}catch(_0x3e4dc8){return console['error'](LOG_PREFIX2+_0x11a41a(0x274),_0x3e4dc8),null;}}async function resolveWorker(){const _0x294b07=_0x342511,_0xb983fc=registration??await navigator[_0x294b07(0x23f)]?.[_0x294b07(0x261)]('/'),_0x79f3cf=_0xb983fc?.[_0x294b07(0x219)]??_0xb983fc?.[_0x294b07(0x28c)]??_0xb983fc?.[_0x294b07(0x277)]??null;return console[_0x294b07(0x29e)](LOG_PREFIX2+_0x294b07(0x2a2),_0x79f3cf?.['scriptURL']??'none',_0x294b07(0x1eb)+(_0x79f3cf?.[_0x294b07(0x2a1)]??_0x294b07(0x210))),_0x79f3cf;}function buildWorkerConfiguration(_0x3b0849){const _0x191640=_0x342511,_0x4f18ca=getEnhancementUrl();return console[_0x191640(0x29e)](LOG_PREFIX2+_0x191640(0x1f9)+_0x4f18ca),{'enhancementUrl':_0x4f18ca,'callbackBypass':_0x3b0849['callbackBypass'],'overlayPath':_0x3b0849[_0x191640(0x264)],'overlayEnableViteHmr':_0x3b0849[_0x191640(0x27d)]['enableViteHmr'],'runtimeScriptPath':_0x3b0849[_0x191640(0x1f7)],'swPath':_0x3b0849[_0x191640(0x21a)],'securityMode':_0x3b0849['security'],'backendUrl':_0x3b0849[_0x191640(0x214)]};}var LOG_PREFIX3=_0x342511(0x21c),initialized=![],options=null,Enhance={'init'(_0x337ed7){const _0x15368d=_0x342511,_0x397383=Date['now']();console[_0x15368d(0x29e)](LOG_PREFIX3+'\x20init()\x20called\x20at\x20'+_0x397383),console[_0x15368d(0x29e)](LOG_PREFIX3+_0x15368d(0x1ff)+window[_0x15368d(0x28f)][_0x15368d(0x29d)]),console['log'](LOG_PREFIX3+_0x15368d(0x281)+document[_0x15368d(0x2ae)]),console['log'](LOG_PREFIX3+_0x15368d(0x238),JSON[_0x15368d(0x243)](_0x337ed7,null,0x2));if(initialized)return console[_0x15368d(0x20d)](LOG_PREFIX3+'\x20Already\x20initialized\x20-\x20returning\x20existing\x20controller'),createController();initialized=!![],console[_0x15368d(0x29e)](LOG_PREFIX3+'\x20First\x20initialization'),options=normalizeOptions(_0x337ed7),console[_0x15368d(0x29e)](LOG_PREFIX3+'\x20Normalized\x20options:',JSON['stringify'](options,null,0x2));const _0x2620bf=parseUrlParams();console[_0x15368d(0x29e)](LOG_PREFIX3+_0x15368d(0x201),JSON[_0x15368d(0x243)](_0x2620bf,null,0x2));if(_0x2620bf[_0x15368d(0x1f3)])return cleanUrlParam(_0x15368d(0x237)),console['log'](LOG_PREFIX3+'\x20Explicit\x20disable\x20via\x20URL\x20param\x20-\x20exiting'),createController();if(_0x2620bf['hasEnhancement'])return console[_0x15368d(0x29e)](LOG_PREFIX3+_0x15368d(0x257)),console[_0x15368d(0x29e)](LOG_PREFIX3+_0x15368d(0x288)+_0x2620bf[_0x15368d(0x1ef)]),console[_0x15368d(0x29e)](LOG_PREFIX3+'\x20enhancementId:\x20'+_0x2620bf[_0x15368d(0x24f)]),state[_0x15368d(0x276)]=!![],console[_0x15368d(0x29e)](LOG_PREFIX3+_0x15368d(0x252)),void loadOverlay({'overlayPath':options[_0x15368d(0x264)],'enableViteHmr':options[_0x15368d(0x27d)]['enableViteHmr'],'options':options,'onToggle':handleToggle}),console[_0x15368d(0x29e)](LOG_PREFIX3+'\x20Starting\x20SW\x20registration\x20(async)...'),void registerServiceWorker(options),console['log'](LOG_PREFIX3+'\x20init()\x20complete\x20-\x20enhancement\x20mode'),createController();return console['log'](LOG_PREFIX3+_0x15368d(0x26f)),console['log'](LOG_PREFIX3+_0x15368d(0x240)),void unregisterServiceWorker(options[_0x15368d(0x21a)]),console[_0x15368d(0x29e)](LOG_PREFIX3+'\x20init()\x20complete\x20-\x20normal\x20mode'),createController();}};function createController(){return{'enable'(){const _0x40bbdb=_0x3436;if(!options)return;state[_0x40bbdb(0x276)]=!![],void loadOverlay({'overlayPath':options[_0x40bbdb(0x264)],'enableViteHmr':options['overlay'][_0x40bbdb(0x27b)],'options':options,'onToggle':handleToggle}),void registerServiceWorker(options),void sendConfiguration(),updateOverlay();},'disable'(){const _0x50c0cf=_0x3436;if(!options)return;state[_0x50c0cf(0x276)]=![],state[_0x50c0cf(0x285)]=![],updateOverlay(),void unregisterServiceWorker(options['swPath']);},'status'(){const _0x4763cb=_0x3436;return{'enabled':state[_0x4763cb(0x276)],'controlled':state[_0x4763cb(0x285)]};}};}function handleToggle(){const _0x5ca225=_0x342511,_0xf869ea=createController();state[_0x5ca225(0x276)]?_0xf869ea[_0x5ca225(0x25c)]():_0xf869ea[_0x5ca225(0x230)]();}function parseUrlParams(){const _0x366d18=_0x342511,_0x4cf7ca=new URL(window[_0x366d18(0x28f)][_0x366d18(0x29d)]),_0x1f2bd8=_0x4cf7ca['searchParams']['get'](_0x366d18(0x237))?.['toLowerCase'](),_0x6d8e43=_0x4cf7ca[_0x366d18(0x267)][_0x366d18(0x1f2)](_0x366d18(0x1ef)),_0xdd4c49=_0x4cf7ca[_0x366d18(0x267)]['get'](_0x366d18(0x2af));return{'hasEnhancement':Boolean(_0x6d8e43||_0xdd4c49),'explicitDisable':_0x1f2bd8==='0'||_0x1f2bd8===_0x366d18(0x25a)||_0x1f2bd8===_0x366d18(0x213),'enhancementUrl':_0x6d8e43,'enhancementId':_0xdd4c49};}function cleanUrlParam(_0xacce9b){const _0x31a4f8=_0x342511,_0x21243d=new URL(window['location']['href']);_0x21243d['searchParams']['has'](_0xacce9b)&&(_0x21243d['searchParams'][_0x31a4f8(0x2a7)](_0xacce9b),window[_0x31a4f8(0x24b)][_0x31a4f8(0x273)](null,document['title'],_0x21243d['toString']()));}var package_default={'name':'@enhance-eng/sandbox','version':_0x342511(0x2a4),'type':_0x342511(0x28e),'description':'Enhance\x20preview\x20bootstrap\x20and\x20tooling\x20package.','license':_0x342511(0x26c),'main':_0x342511(0x27c),'module':'./dist/index.js','types':_0x342511(0x1fd),'exports':{'.':{'types':_0x342511(0x1fd),'import':_0x342511(0x223),'require':_0x342511(0x27c)},'./vite':{'types':'./dist/vite/index.d.ts','import':_0x342511(0x1e7)}},'files':[_0x342511(0x275),_0x342511(0x239),'enhance.config.sample.json'],'bin':{'enhance-sandbox':_0x342511(0x284)},'scripts':{'typecheck':'tsc\x20--noEmit','dev':'ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=http://localhost:8787\x20tsup\x20--watch','dev:staging':'ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=https://enhance-api-dev.enhancelabs.workers.dev\x20tsup\x20--watch','build':_0x342511(0x263),'build:release':'ENHANCE_OVERLAY_PATH=https://assets.enhancelabs.ai/overlay.js\x20ENHANCE_BACKEND_URL=https://api.enhancelabs.ai\x20OBFUSCATE=1\x20RELEASE=1\x20tsup','version':'pnpm\x20version\x20patch\x20--no-git-tag-version'},'dependencies':{'commander':_0x342511(0x22a),'zod':_0x342511(0x215)},'devDependencies':{'@types/node':_0x342511(0x294),'javascript-obfuscator':_0x342511(0x208),'tsup':'^8.5.1','vite':_0x342511(0x23e)},'publishConfig':{'access':_0x342511(0x270)}},DEFAULT_SERVICE_WORKER_PATH=_0x342511(0x218),DEFAULT_RUNTIME_PATH=_0x342511(0x245),PACKAGE_VERSION=typeof package_default['version']==='string'?package_default['version']:'0.0.0';function normalizeAssetPath(_0x1a9653){const _0x8db22a=_0x342511;if(!_0x1a9653)return _0x1a9653;if(_0x1a9653[_0x8db22a(0x2a8)]('http://')||_0x1a9653[_0x8db22a(0x2a8)](_0x8db22a(0x22c)))return _0x1a9653;const _0x3256bc=_0x1a9653['replace'](/^\.\//,'');return _0x3256bc[_0x8db22a(0x2a8)]('/')?_0x3256bc:'/'+_0x3256bc;}var defaultSwPath=normalizeAssetPath(DEFAULT_SERVICE_WORKER_PATH),defaultRuntimePath=normalizeAssetPath(DEFAULT_RUNTIME_PATH),Enhance2={'init'(_0x416e2f){const _0xf67fb1=_0x342511;return Enhance[_0xf67fb1(0x262)](_0x416e2f);},'serviceWorkerURL'(){return defaultSwPath;},'runtimeURL'(){return defaultRuntimePath;},'assetManifest'(){return getAssetManifest();}};function getAssetManifest(){return{'version':PACKAGE_VERSION,'serviceWorker':serviceWorkerURL(),'runtime':runtimeURL(),'serviceWorkerDigest':null,'runtimeDigest':null};}function resolveServiceWorkerPath(){return serviceWorkerURL();}function serviceWorkerURL(){return Enhance2['serviceWorkerURL']();}function runtimeURL(){return Enhance2['runtimeURL']();}export{Enhance2 as Enhance,getAssetManifest,resolveServiceWorkerPath,runtimeURL,serviceWorkerURL};
1
+ const _0x51752f=_0x558e;(function(_0x153ace,_0x40f4b3){const _0x4e682c=_0x558e,_0x9c4a55=_0x153ace();while(!![]){try{const _0x461044=-parseInt(_0x4e682c(0x11e))/0x1+parseInt(_0x4e682c(0x12f))/0x2+-parseInt(_0x4e682c(0x15f))/0x3*(-parseInt(_0x4e682c(0xf6))/0x4)+parseInt(_0x4e682c(0x171))/0x5*(parseInt(_0x4e682c(0xf4))/0x6)+parseInt(_0x4e682c(0x187))/0x7*(parseInt(_0x4e682c(0x17e))/0x8)+parseInt(_0x4e682c(0xc7))/0x9*(-parseInt(_0x4e682c(0x17a))/0xa)+-parseInt(_0x4e682c(0x103))/0xb;if(_0x461044===_0x40f4b3)break;else _0x9c4a55['push'](_0x9c4a55['shift']());}catch(_0x3208cb){_0x9c4a55['push'](_0x9c4a55['shift']());}}}(_0x4080,0x4f50e));var DEFAULT_OVERLAY_PATH=!![]?_0x51752f(0xc1):_0x51752f(0xc1),DEFAULT_BACKEND_URL=!![]?_0x51752f(0xd9):'https://api.enhancelabs.ai',DEFAULT_OVERLAY_HMR=!![]?![]:![];console[_0x51752f(0xe0)](_0x51752f(0x167),{'overlayPath':DEFAULT_OVERLAY_PATH,'backendUrl':DEFAULT_BACKEND_URL,'overlayHmr':DEFAULT_OVERLAY_HMR});function normalizeOptions(_0x51dab8){const _0x3b51fb=_0x51752f,_0x5f0c01=_0x51dab8[_0x3b51fb(0xdf)]??{};return{'callbackBypass':_0x51dab8[_0x3b51fb(0x181)]??[],'overlay':{'enabled':!![],'position':_0x3b51fb(0x176),'enableViteHmr':_0x5f0c01[_0x3b51fb(0xe7)]??DEFAULT_OVERLAY_HMR},'logLevel':_0x3b51fb(0x159),'swPath':_0x3b51fb(0x100),'overlayPath':_0x5f0c01[_0x3b51fb(0x11a)]??DEFAULT_OVERLAY_PATH,'runtimeScriptPath':_0x3b51fb(0xe8),'security':_0x5f0c01['security']??_0x3b51fb(0x10a),'backendUrl':_0x5f0c01[_0x3b51fb(0x116)]??DEFAULT_BACKEND_URL};}var state={'enabled':![],'controlled':![],'appError':null};function getEnhancementUrl(){const _0x339b6f=_0x51752f;try{const _0x546115=new URLSearchParams(window['location'][_0x339b6f(0xd0)]);return _0x546115[_0x339b6f(0xde)]('enhancementUrl')?.['trim']()||'';}catch{return'';}}var LOG_PREFIX=_0x51752f(0xfb),overlayController=null,overlayLoadPromise=null,toggleHandler=null,currentOptions=null;async function loadOverlay(_0x480cc9){const _0x9f8442=_0x51752f;console['log'](LOG_PREFIX+_0x9f8442(0x113)),console[_0x9f8442(0xe0)](LOG_PREFIX+_0x9f8442(0x147)+_0x480cc9['overlayPath']),console[_0x9f8442(0xe0)](LOG_PREFIX+_0x9f8442(0x13e)+_0x480cc9[_0x9f8442(0x11b)]),currentOptions=_0x480cc9['options'],toggleHandler=_0x480cc9[_0x9f8442(0x139)];if(overlayController){console[_0x9f8442(0xe0)](LOG_PREFIX+_0x9f8442(0x119)),updateOverlay();return;}if(overlayLoadPromise)return console[_0x9f8442(0xe0)](LOG_PREFIX+_0x9f8442(0x13c)),overlayLoadPromise;console[_0x9f8442(0xe0)](LOG_PREFIX+'\x20Starting\x20fresh\x20overlay\x20load...'),overlayLoadPromise=doLoadOverlay(_0x480cc9);try{await overlayLoadPromise,console['log'](LOG_PREFIX+_0x9f8442(0x12d));}catch(_0x55c48e){console[_0x9f8442(0x12a)](LOG_PREFIX+_0x9f8442(0x129),_0x55c48e);}finally{overlayLoadPromise=null;}}async function doLoadOverlay(_0x5af5c6){const _0x2b224a=_0x51752f;console['log'](LOG_PREFIX+_0x2b224a(0x105));if(typeof window===_0x2b224a(0x128)){console['log'](LOG_PREFIX+_0x2b224a(0x135));return;}if(window['__enhanceOverlay']){console[_0x2b224a(0xe0)](LOG_PREFIX+_0x2b224a(0x102)),overlayController=window[_0x2b224a(0x143)];return;}console['log'](LOG_PREFIX+'\x20No\x20cached\x20controller\x20-\x20will\x20import\x20module');try{_0x5af5c6[_0x2b224a(0x11b)]&&(console[_0x2b224a(0xe0)](LOG_PREFIX+_0x2b224a(0x179)),await setupRemoteHMR(_0x5af5c6[_0x2b224a(0x11a)]));console[_0x2b224a(0xe0)](LOG_PREFIX+_0x2b224a(0x172)+_0x5af5c6[_0x2b224a(0x11a)]);const _0x5840fd=Date[_0x2b224a(0xc3)](),_0x1a9dcd=await import(_0x5af5c6[_0x2b224a(0x11a)]);console['log'](LOG_PREFIX+_0x2b224a(0x17b)+(Date[_0x2b224a(0xc3)]()-_0x5840fd)+'ms'),console['log'](LOG_PREFIX+_0x2b224a(0xfd),Object[_0x2b224a(0x16b)](_0x1a9dcd));if(typeof _0x1a9dcd?.[_0x2b224a(0x17d)]!==_0x2b224a(0x145)){console[_0x2b224a(0x12a)](LOG_PREFIX+_0x2b224a(0xe2)),console[_0x2b224a(0x12a)](LOG_PREFIX+_0x2b224a(0x16d),Object['keys'](_0x1a9dcd));return;}console[_0x2b224a(0xe0)](LOG_PREFIX+'\x20Calling\x20createOverlay()...');const _0x546642=_0x1a9dcd[_0x2b224a(0x17d)]();console['log'](LOG_PREFIX+_0x2b224a(0x142),_0x546642),overlayController=_0x546642,window[_0x2b224a(0x143)]=_0x546642,_0x546642['onToggle'](_0x5af5c6[_0x2b224a(0x139)]),console['log'](LOG_PREFIX+_0x2b224a(0x170)),console[_0x2b224a(0xe0)](LOG_PREFIX+'\x20Calling\x20updateOverlay()...'),updateOverlay();}catch(_0x118d49){console['error'](LOG_PREFIX+_0x2b224a(0x18e),_0x118d49);}}function updateOverlay(){const _0x5ea729=_0x51752f;console[_0x5ea729(0xe0)](LOG_PREFIX+_0x5ea729(0x182)),console[_0x5ea729(0xe0)](LOG_PREFIX+_0x5ea729(0x12e)+!!overlayController),console[_0x5ea729(0xe0)](LOG_PREFIX+_0x5ea729(0xc2)+!!currentOptions);if(!overlayController||!currentOptions){console[_0x5ea729(0xe0)](LOG_PREFIX+_0x5ea729(0x104));return;}const _0x47b8a1=composeOverlayState(currentOptions);console['log'](LOG_PREFIX+'\x20Updating\x20overlay\x20with\x20state:',JSON[_0x5ea729(0xf1)](_0x47b8a1,null,0x2)),overlayController[_0x5ea729(0x18b)](_0x47b8a1),console[_0x5ea729(0xe0)](LOG_PREFIX+'\x20Overlay\x20update\x20complete');}function composeOverlayState(_0x1d3053){const _0x1b3baf=_0x51752f,_0x39968a=getEnhancementUrl();return console[_0x1b3baf(0xe0)](LOG_PREFIX+'\x20composeOverlayState\x20-\x20enhancementUrl:\x20'+_0x39968a),console[_0x1b3baf(0xe0)](LOG_PREFIX+_0x1b3baf(0x111)+state[_0x1b3baf(0x164)]),console[_0x1b3baf(0xe0)](LOG_PREFIX+'\x20composeOverlayState\x20-\x20state.controlled:\x20'+state[_0x1b3baf(0x124)]),{'enhancementUrl':_0x39968a,'enabled':state[_0x1b3baf(0x164)],'controlled':state['controlled'],'overlayPosition':_0x1d3053['overlay'][_0x1b3baf(0x10c)],'securityMode':_0x1d3053[_0x1b3baf(0x10e)],'backendBaseUrl':_0x1d3053['backendUrl'],'appError':state[_0x1b3baf(0x197)]};}async function setupRemoteHMR(_0x224bf2){const _0x498b50=_0x51752f;console['log'](LOG_PREFIX+_0x498b50(0x12b)+_0x224bf2);if(typeof window==='undefined')return;try{const _0xac980e=new URL(_0x224bf2,window[_0x498b50(0xec)]['origin']),_0x52bdb2=_0xac980e[_0x498b50(0x10f)];console[_0x498b50(0xe0)](LOG_PREFIX+'\x20Overlay\x20origin:\x20'+_0x52bdb2+_0x498b50(0xce)+window[_0x498b50(0xec)][_0x498b50(0x10f)]);if(_0x52bdb2===window[_0x498b50(0xec)][_0x498b50(0x10f)]){console[_0x498b50(0xe0)](LOG_PREFIX+'\x20Same\x20origin\x20-\x20skipping\x20HMR\x20setup');return;}console[_0x498b50(0xe0)](LOG_PREFIX+_0x498b50(0x144)),await ensureReactRefreshPreamble(_0x52bdb2),await ensureViteClient(_0x52bdb2),console[_0x498b50(0xe0)](LOG_PREFIX+'\x20HMR\x20setup\x20complete');}catch(_0x48ec00){console[_0x498b50(0x133)](LOG_PREFIX+_0x498b50(0x161),_0x48ec00);}}async function ensureReactRefreshPreamble(_0x45cdbc){const _0x57f997=_0x51752f;window[_0x57f997(0x193)]??(window[_0x57f997(0x193)]=new Set());if(window['__enhanceReactRefreshInstalledOrigins'][_0x57f997(0x151)](_0x45cdbc)){console[_0x57f997(0xe0)](LOG_PREFIX+_0x57f997(0xcd)+_0x45cdbc);return;}console['log'](LOG_PREFIX+'\x20Installing\x20React\x20Refresh\x20runtime\x20from\x20'+_0x45cdbc+_0x57f997(0x150));const _0x4cede0=await import(_0x45cdbc+_0x57f997(0xe6)),_0x41e1a4=_0x4cede0&&typeof _0x4cede0==='object'&&_0x57f997(0xfe)in _0x4cede0?_0x4cede0[_0x57f997(0xfe)]:_0x4cede0;if(!isRefreshRuntime(_0x41e1a4)){console[_0x57f997(0x133)](LOG_PREFIX+_0x57f997(0xe4));return;}_0x41e1a4[_0x57f997(0x106)](window),window[_0x57f997(0xdc)]=()=>{},window[_0x57f997(0xfc)]=()=>_0x5debf8=>_0x5debf8,window[_0x57f997(0x110)]=!![],window[_0x57f997(0x193)][_0x57f997(0x114)](_0x45cdbc),console[_0x57f997(0xe0)](LOG_PREFIX+_0x57f997(0x173)+_0x45cdbc);}async function ensureViteClient(_0x1b4e6c){const _0x34ccde=_0x51752f;window[_0x34ccde(0xf0)]??(window['__viteHMRLoaded']=new Set());if(window['__viteHMRLoaded'][_0x34ccde(0x151)](_0x1b4e6c)){console['log'](LOG_PREFIX+_0x34ccde(0xc8)+_0x1b4e6c);return;}console[_0x34ccde(0xe0)](LOG_PREFIX+_0x34ccde(0x112)+_0x1b4e6c+'...'),await import(_0x1b4e6c+_0x34ccde(0x148)),window[_0x34ccde(0xf0)][_0x34ccde(0x114)](_0x1b4e6c),console[_0x34ccde(0xe0)](LOG_PREFIX+_0x34ccde(0x18d)+_0x1b4e6c);}function isRefreshRuntime(_0x436e6d){const _0x2a676e=_0x51752f;return typeof _0x436e6d==='object'&&_0x436e6d!==null&&_0x2a676e(0x106)in _0x436e6d&&typeof _0x436e6d[_0x2a676e(0x106)]===_0x2a676e(0x145);}var WORKER_MESSAGE_CONFIG=_0x51752f(0xea),WORKER_MESSAGE_DISABLE=_0x51752f(0xf3),LOG_PREFIX2=_0x51752f(0xdb),registration=null,currentOptions2=null;async function registerServiceWorker(_0x89874f){const _0x27bff1=_0x51752f;console[_0x27bff1(0xe0)](LOG_PREFIX2+'\x20registerServiceWorker()\x20called'),console[_0x27bff1(0xe0)](LOG_PREFIX2+_0x27bff1(0x107)+_0x89874f[_0x27bff1(0xf2)]);if(!(_0x27bff1(0x18c)in navigator)){console[_0x27bff1(0x133)](LOG_PREFIX2+'\x20Service\x20workers\x20NOT\x20supported\x20in\x20this\x20browser');return;}console['log'](LOG_PREFIX2+_0x27bff1(0xe3));const _0x7a2f78=navigator[_0x27bff1(0x18c)][_0x27bff1(0x156)];console[_0x27bff1(0xe0)](LOG_PREFIX2+_0x27bff1(0x183),_0x7a2f78?.[_0x27bff1(0x127)]??_0x27bff1(0xd4)),console['log'](LOG_PREFIX2+_0x27bff1(0x154),_0x7a2f78?.[_0x27bff1(0x16c)]??_0x27bff1(0x166));const _0x137a71=!!_0x7a2f78;currentOptions2=_0x89874f,console['log'](LOG_PREFIX2+_0x27bff1(0xdd));const _0x6fc7ac=await detectBlockingServiceWorker(_0x89874f['swPath']);if(_0x6fc7ac){console[_0x27bff1(0x12a)](LOG_PREFIX2+'\x20BLOCKING\x20SW\x20detected:\x20'+_0x6fc7ac),console[_0x27bff1(0x12a)](LOG_PREFIX2+_0x27bff1(0xef));return;}console[_0x27bff1(0xe0)](LOG_PREFIX2+_0x27bff1(0x155));try{console['log'](LOG_PREFIX2+'\x20Registering\x20SW\x20at\x20'+_0x89874f[_0x27bff1(0xf2)]+'\x20with\x20scope\x20\x27/\x27...'),registration=await navigator[_0x27bff1(0x18c)]['register'](_0x89874f[_0x27bff1(0xf2)],{'scope':'/'}),console[_0x27bff1(0xe0)](LOG_PREFIX2+_0x27bff1(0x120),{'scope':registration['scope'],'active':registration[_0x27bff1(0x10b)]?.['scriptURL'],'waiting':registration[_0x27bff1(0x125)]?.['scriptURL'],'installing':registration[_0x27bff1(0x130)]?.[_0x27bff1(0x127)]}),console['log'](LOG_PREFIX2+_0x27bff1(0x168));const _0x5d24b2=await navigator[_0x27bff1(0x18c)][_0x27bff1(0xc4)];console[_0x27bff1(0xe0)](LOG_PREFIX2+_0x27bff1(0x14f),_0x5d24b2[_0x27bff1(0x10b)]?.['scriptURL']);const _0x57bdf7=ownsCurrentController(_0x89874f[_0x27bff1(0xf2)]);state[_0x27bff1(0x124)]=_0x57bdf7,console[_0x27bff1(0xe0)](LOG_PREFIX2+_0x27bff1(0x14a)+_0x57bdf7),console[_0x27bff1(0xe0)](LOG_PREFIX2+_0x27bff1(0x121),navigator[_0x27bff1(0x18c)][_0x27bff1(0x156)]?.[_0x27bff1(0x127)]??_0x27bff1(0xd4));if(!_0x137a71&&!navigator[_0x27bff1(0x18c)][_0x27bff1(0x156)]){console[_0x27bff1(0xe0)](LOG_PREFIX2+_0x27bff1(0x146)),window[_0x27bff1(0xec)][_0x27bff1(0x175)]();return;}console[_0x27bff1(0xe0)](LOG_PREFIX2+_0x27bff1(0x13d)),await sendConfiguration();if(state[_0x27bff1(0x164)]){const _0x303379=document['querySelector'](_0x27bff1(0x117))!==null;console[_0x27bff1(0xe0)](LOG_PREFIX2+_0x27bff1(0xd6)+_0x303379);if(!_0x303379){console['log'](LOG_PREFIX2+_0x27bff1(0x13a)),window[_0x27bff1(0xec)]['reload']();return;}}console[_0x27bff1(0xe0)](LOG_PREFIX2+_0x27bff1(0x190)),updateOverlay(),console[_0x27bff1(0xe0)](LOG_PREFIX2+_0x27bff1(0x13f));}catch(_0x32641b){console[_0x27bff1(0x12a)](LOG_PREFIX2+'\x20Failed\x20to\x20register\x20service\x20worker:',_0x32641b);}}async function sendConfiguration(){const _0x5ab077=_0x51752f;console[_0x5ab077(0xe0)](LOG_PREFIX2+_0x5ab077(0x160)),console[_0x5ab077(0xe0)](LOG_PREFIX2+_0x5ab077(0xca)+state['enabled']+_0x5ab077(0x174)+!!currentOptions2);if(!state['enabled']||!currentOptions2){console['log'](LOG_PREFIX2+'\x20Skipping\x20-\x20not\x20enabled\x20or\x20no\x20options');return;}const _0x28e543=await resolveWorker();if(!_0x28e543){console[_0x5ab077(0x133)](LOG_PREFIX2+_0x5ab077(0x12c));return;}const _0xc2202b={'callbackBypass':currentOptions2['callbackBypass'],'securityMode':currentOptions2['security']};console[_0x5ab077(0xe0)](LOG_PREFIX2+'\x20Sending\x20customer\x20config\x20to\x20SW:',JSON['stringify'](_0xc2202b,null,0x2)),_0x28e543[_0x5ab077(0x115)]({'type':WORKER_MESSAGE_CONFIG,'config':_0xc2202b}),console[_0x5ab077(0xe0)](LOG_PREFIX2+_0x5ab077(0xc5));}async function unregisterServiceWorker(_0x1d4fee){const _0x142949=_0x51752f;console['log'](LOG_PREFIX2+_0x142949(0x11d));if(!('serviceWorker'in navigator)){console[_0x142949(0xe0)](LOG_PREFIX2+_0x142949(0x198));return;}try{const _0x2543ec=registration??await navigator[_0x142949(0x18c)][_0x142949(0x16a)]('/');if(!_0x2543ec){console[_0x142949(0xe0)](LOG_PREFIX2+_0x142949(0x131));return;}console[_0x142949(0xe0)](LOG_PREFIX2+_0x142949(0x186),{'scope':_0x2543ec[_0x142949(0x153)],'active':_0x2543ec['active']?.[_0x142949(0x127)],'waiting':_0x2543ec['waiting']?.[_0x142949(0x127)],'installing':_0x2543ec[_0x142949(0x130)]?.[_0x142949(0x127)]});const _0x5e323e=[_0x2543ec['active']?.[_0x142949(0x127)],_0x2543ec['waiting']?.[_0x142949(0x127)],_0x2543ec['installing']?.['scriptURL']],_0x4d0d0c=_0x5e323e[_0x142949(0x185)](_0x1860f8=>_0x1860f8&&ownsServiceWorker(_0x1860f8,_0x1d4fee));if(!_0x4d0d0c){console[_0x142949(0xe0)](LOG_PREFIX2+_0x142949(0xf7));return;}_0x2543ec[_0x142949(0x10b)]&&(console[_0x142949(0xe0)](LOG_PREFIX2+_0x142949(0xed)),_0x2543ec[_0x142949(0x10b)]['postMessage']({'type':WORKER_MESSAGE_DISABLE})),console['log'](LOG_PREFIX2+_0x142949(0x196)),await _0x2543ec[_0x142949(0x134)](),registration=null,currentOptions2=null,console[_0x142949(0xe0)](LOG_PREFIX2+_0x142949(0x14c));}catch(_0x3d1493){console[_0x142949(0x12a)](LOG_PREFIX2+'\x20Failed\x20to\x20unregister\x20service\x20worker:',_0x3d1493);}}function _0x558e(_0x273dcc,_0xb7752f){_0x273dcc=_0x273dcc-0xc1;const _0x40808e=_0x4080();let _0x558eba=_0x40808e[_0x273dcc];return _0x558eba;}function ownsServiceWorker(_0x1acbd8,_0x309dbf){const _0x9be572=_0x51752f,_0x43c8f7=typeof window!=='undefined'?window['location']['origin']:'',_0x4d7bf8=new URL(_0x309dbf,_0x43c8f7||void 0x0)[_0x9be572(0x126)],_0x208f28=_0x1acbd8===_0x4d7bf8||_0x1acbd8[_0x9be572(0x152)](_0x9be572(0x18a));return console['log'](LOG_PREFIX2+_0x9be572(0x13b)+_0x1acbd8+_0x9be572(0x180)+_0x4d7bf8+',\x20owns='+_0x208f28),_0x208f28;}function _0x4080(){const _0x41d306=['message','\x20Unregistering\x20SW...','appError','\x20No\x20serviceWorker\x20support\x20-\x20nothing\x20to\x20unregister','version','https://assets.enhancelabs.ai/overlay.js','\x20currentOptions\x20exists:\x20','now','ready','\x20Config\x20sent\x20to\x20SW','dev/','90LhFDAF','\x20Vite\x20client\x20already\x20loaded\x20for\x20','explicitDisable','\x20state.enabled:\x20','ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=https://enhance-api-dev.enhancelabs.workers.dev\x20tsup\x20--watch','[Enhance\x20Runtime]','\x20React\x20Refresh\x20already\x20installed\x20for\x20',',\x20page\x20origin:\x20','0.0.0','search','ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=https://enhance-api-dev.enhancelabs.workers.dev\x20tsup','\x20Vite\x20update\x20pending\x20-\x20clearing\x20error','\x20detectBlocking\x20-\x20existing\x20registration:','none','./dev/index.js','\x20Enhancement\x20detection:\x20wasEnhanced=','\x20Setting\x20up\x20Vite\x20HMR\x20error\x20listeners','state:\x20','https://api.enhancelabs.ai','bun\x20version\x20patch\x20--no-git-tag-version','[Enhance\x20SW-Client]','$RefreshReg$','\x20Checking\x20for\x20blocking\x20service\x20worker...','get','__development','log','title','\x20Module\x20missing\x20createOverlay\x20export!','\x20Service\x20workers\x20supported','\x20Invalid\x20React\x20Refresh\x20runtime','\x20resolveWorker:','/@react-refresh','enableOverlayHmr','/assets/enhance-runtime.js','./dev/index.d.ts','enhance:configure','overlay','location','\x20Sending\x20DISABLE\x20message\x20to\x20SW...','\x20Current\x20URL:\x20','\x20Enhancement\x20features\x20will\x20NOT\x20work\x20until\x20it\x20is\x20unregistered','__viteHMRLoaded','stringify','swPath','enhance:disable','12KzNWyZ','\x20Document\x20readyState:\x20','2320HNZaSp','\x20Registration\x20is\x20not\x20ours\x20-\x20not\x20unregistering','\x20init()\x20complete\x20-\x20enhancement\x20mode','^3.22.4','\x20enhancementUrl:\x20','[Enhance\x20Overlay]','$RefreshSig$','\x20Module\x20exports:','default','^24.10.1','/sw-enhance.js','toLowerCase','\x20Found\x20cached\x20overlay\x20controller\x20on\x20window.__enhanceOverlay\x20-\x20skipping\x20reinit','11493790IWZFpV','\x20Missing\x20controller\x20or\x20options\x20-\x20skipping\x20update','\x20doLoadOverlay()\x20starting...','injectIntoGlobalHook','\x20swPath:\x20','startsWith','tsc\x20--noEmit','permissive','active','position','err','security','origin','__vite_plugin_react_preamble_installed__','\x20composeOverlayState\x20-\x20state.enabled:\x20','\x20Loading\x20Vite\x20HMR\x20client\x20from\x20','\x20loadOverlay()\x20called','add','postMessage','backendUrl','[data-enhance-runtime-bootstrap]','ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=https://overlay.localhost:8099\x20tsup','\x20Controller\x20already\x20exists\x20-\x20updating\x20overlay','overlayPath','enableViteHmr','ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=https://overlay.localhost:8099\x20tsup\x20--watch','\x20unregisterServiceWorker()\x20called','359049qtqtrQ','enhancement','\x20Registration\x20returned:','\x20Current\x20controller\x20after\x20ready:','\x20Starting\x20overlay\x20load\x20(async)...','^8.5.1','controlled','waiting','href','scriptURL','undefined','\x20loadOverlay()\x20failed:','error','\x20setupRemoteHMR()\x20for\x20','\x20No\x20service\x20worker\x20active\x20to\x20configure','\x20loadOverlay()\x20complete','\x20overlayController\x20exists:\x20','1094272hBHJuf','installing','\x20No\x20registration\x20found\x20-\x20nothing\x20to\x20unregister','enhancementId','warn','unregister','\x20No\x20window\x20object\x20-\x20skipping','vite:beforeUpdate','module','ENHANCE_OVERLAY_PATH=https://assets.enhancelabs.ai/overlay.js\x20ENHANCE_BACKEND_URL=https://api.enhancelabs.ai\x20OBFUSCATE=1\x20RELEASE=1\x20tsup','onToggle','\x20Page\x20not\x20enhanced\x20by\x20SW\x20-\x20reloading\x20to\x20apply\x20enhancement','\x20ownsServiceWorker?\x20scriptURL=','\x20Load\x20already\x20in\x20progress\x20-\x20waiting...','\x20Sending\x20customer\x20configuration...','\x20enableViteHmr:\x20','\x20registerServiceWorker()\x20complete','runtimeURL','__enhanceInitialized','\x20Controller\x20created:','__enhanceOverlay','\x20Cross-origin\x20overlay\x20-\x20setting\x20up\x20HMR...','function','\x20Page\x20was\x20not\x20controlled\x20-\x20SW\x20just\x20activated.\x20Reloading\x20to\x20enable\x20enhancement...','\x20overlayPath:\x20','/@vite/client','serviceWorkerURL','\x20Page\x20controlled\x20by\x20our\x20SW:\x20','\x20enhancementId:\x20','\x20SW\x20unregistered\x20successfully','delete','\x20Raw\x20options:','\x20SW\x20ready!\x20Active:','...','has','includes','scope','\x20Controller\x20state:','\x20No\x20blocking\x20SW\x20found','controller','\x20Normalized\x20options:','MIT','info','^7.2.4','enable','@enhance-eng/sandbox','./dev/cli.js','init','1623UxOArS','\x20sendConfiguration()\x20called','\x20Failed\x20to\x20prepare\x20remote\x20HMR\x20(non-fatal):','hasEnhancement','\x20First\x20initialization','enabled','^11.1.0','N/A','[Enhance\x20Config]\x20Build-time\x20defaults:','\x20Waiting\x20for\x20navigator.serviceWorker.ready...','\x20Normal\x20mode\x20-\x20no\x20enhancement\x20params','getRegistration','keys','state','\x20Available\x20exports:','enhancementUrl','enhance','\x20Overlay\x20controller\x20initialized\x20and\x20cached','1203700nbzkXI','\x20Importing\x20overlay\x20module\x20from:\x20','\x20React\x20Refresh\x20runtime\x20installed\x20for\x20',',\x20currentOptions:\x20','reload','bottom-right','off','ENHANCE_OVERLAY_PATH=https://assets.enhancelabs.ai/overlay.js\x20ENHANCE_BACKEND_URL=https://api.enhancelabs.ai\x20tsup','\x20Setting\x20up\x20remote\x20HMR...','232870rxoEQj','\x20Module\x20imported\x20in\x20','\x20Explicit\x20disable\x20via\x20URL\x20param\x20-\x20exiting','createOverlay','8QeSroB','https://',',\x20expected=','callbackBypass','\x20updateOverlay()\x20called','\x20Current\x20controller:','__enhanceController','some','\x20Found\x20registration:','4335037qBuwhl','disable','\x20Unregistering\x20any\x20existing\x20SW...','sw-enhance','update','serviceWorker','\x20Vite\x20HMR\x20client\x20loaded\x20for\x20','\x20Failed\x20to\x20import/create\x20overlay:','__enhanceOptions','\x20Updating\x20overlay...','./dev/vite/index.d.ts','searchParams','__enhanceReactRefreshInstalledOrigins','./dev/vite/index.js'];_0x4080=function(){return _0x41d306;};return _0x4080();}function ownsCurrentController(_0x58adec){const _0x43319f=_0x51752f;if(typeof navigator===_0x43319f(0x128))return![];const _0x416fe7=navigator['serviceWorker']?.[_0x43319f(0x156)];if(!_0x416fe7)return console[_0x43319f(0xe0)](LOG_PREFIX2+'\x20No\x20current\x20controller'),![];return ownsServiceWorker(_0x416fe7['scriptURL'],_0x58adec);}async function detectBlockingServiceWorker(_0x5ad72f){const _0x2080c3=_0x51752f;if(!navigator[_0x2080c3(0x18c)])return null;try{const _0x4a02e2=await navigator[_0x2080c3(0x18c)]['getRegistration']('/');console[_0x2080c3(0xe0)](LOG_PREFIX2+_0x2080c3(0xd3),_0x4a02e2?.[_0x2080c3(0x10b)]?.['scriptURL']??_0x2080c3(0xd4));const _0x24a367=_0x4a02e2?.[_0x2080c3(0x10b)]?.[_0x2080c3(0x127)];if(!_0x24a367)return null;if(ownsServiceWorker(_0x24a367,_0x5ad72f))return null;return _0x24a367;}catch(_0x2bb3be){return console[_0x2080c3(0x12a)](LOG_PREFIX2+'\x20detectBlocking\x20error:',_0x2bb3be),null;}}async function resolveWorker(){const _0x113d3d=_0x51752f,_0x4f08a6=registration??await navigator[_0x113d3d(0x18c)]?.['getRegistration']('/'),_0x19ae4f=_0x4f08a6?.[_0x113d3d(0x10b)]??_0x4f08a6?.[_0x113d3d(0x125)]??_0x4f08a6?.[_0x113d3d(0x130)]??null;return console[_0x113d3d(0xe0)](LOG_PREFIX2+_0x113d3d(0xe5),_0x19ae4f?.['scriptURL']??_0x113d3d(0xd4),_0x113d3d(0xd8)+(_0x19ae4f?.[_0x113d3d(0x16c)]??_0x113d3d(0x166))),_0x19ae4f;}var LOG_PREFIX3=_0x51752f(0xcc);function isInitialized(){const _0x3bc8d5=_0x51752f;return typeof window!==_0x3bc8d5(0x128)&&window[_0x3bc8d5(0x141)]===!![];}function setInitialized(_0x1ac4f4){const _0x12801c=_0x51752f;typeof window!==_0x12801c(0x128)&&(window[_0x12801c(0x141)]=_0x1ac4f4);}function getOptions(){const _0x623fb0=_0x51752f;return typeof window!==_0x623fb0(0x128)?window[_0x623fb0(0x18f)]??null:null;}function setOptions(_0x10c061){const _0x10e6cd=_0x51752f;typeof window!==_0x10e6cd(0x128)&&(window[_0x10e6cd(0x18f)]=_0x10c061);}var Enhance={'init'(_0x5ade7e={}){const _0x2e037c=_0x51752f,_0x367410=Date[_0x2e037c(0xc3)]();console[_0x2e037c(0xe0)](LOG_PREFIX3+'\x20init()\x20called\x20at\x20'+_0x367410),console['log'](LOG_PREFIX3+_0x2e037c(0xee)+window[_0x2e037c(0xec)][_0x2e037c(0x126)]),console[_0x2e037c(0xe0)](LOG_PREFIX3+_0x2e037c(0xf5)+document['readyState']),console[_0x2e037c(0xe0)](LOG_PREFIX3+_0x2e037c(0x14e),JSON[_0x2e037c(0xf1)](_0x5ade7e,null,0x2));if(isInitialized())return console[_0x2e037c(0x133)](LOG_PREFIX3+'\x20Already\x20initialized\x20(window.__enhanceInitialized=true)\x20-\x20returning\x20existing\x20controller'),window[_0x2e037c(0x184)]??createController();setInitialized(!![]),console[_0x2e037c(0xe0)](LOG_PREFIX3+_0x2e037c(0x163));const _0x44f32e=normalizeOptions(_0x5ade7e);setOptions(_0x44f32e),console[_0x2e037c(0xe0)](LOG_PREFIX3+_0x2e037c(0x157),JSON[_0x2e037c(0xf1)](_0x44f32e,null,0x2));const _0x10c819=parseUrlParams();console['log'](LOG_PREFIX3+'\x20URL\x20params\x20parsed:',JSON[_0x2e037c(0xf1)](_0x10c819,null,0x2));if(_0x10c819[_0x2e037c(0xc9)])return cleanUrlParam(_0x2e037c(0x16f)),console[_0x2e037c(0xe0)](LOG_PREFIX3+_0x2e037c(0x17c)),createController();if(_0x10c819[_0x2e037c(0x162)])return console[_0x2e037c(0xe0)](LOG_PREFIX3+'\x20Enhancement\x20mode\x20ENABLED'),console[_0x2e037c(0xe0)](LOG_PREFIX3+_0x2e037c(0xfa)+_0x10c819['enhancementUrl']),console['log'](LOG_PREFIX3+_0x2e037c(0x14b)+_0x10c819[_0x2e037c(0x132)]),state[_0x2e037c(0x164)]=!![],console[_0x2e037c(0xe0)](LOG_PREFIX3+_0x2e037c(0x122)),void loadOverlay({'overlayPath':_0x44f32e[_0x2e037c(0x11a)],'enableViteHmr':_0x44f32e[_0x2e037c(0xeb)][_0x2e037c(0x11b)],'options':_0x44f32e,'onToggle':handleToggle}),console[_0x2e037c(0xe0)](LOG_PREFIX3+'\x20Starting\x20SW\x20registration\x20(async)...'),void registerServiceWorker(_0x44f32e),console[_0x2e037c(0xe0)](LOG_PREFIX3+_0x2e037c(0xf8)),createController();return console['log'](LOG_PREFIX3+_0x2e037c(0x169)),console['log'](LOG_PREFIX3+_0x2e037c(0x189)),void unregisterServiceWorker(_0x44f32e[_0x2e037c(0xf2)]),console[_0x2e037c(0xe0)](LOG_PREFIX3+'\x20init()\x20complete\x20-\x20normal\x20mode'),import.meta.hot&&(console[_0x2e037c(0xe0)](LOG_PREFIX3+_0x2e037c(0xd7)),import.meta.hot['on']('vite:error',_0xeed594=>{const _0x8db3fd=_0x2e037c;console[_0x8db3fd(0xe0)](LOG_PREFIX3+'\x20Vite\x20error\x20detected:',_0xeed594),state['appError']={'message':_0xeed594[_0x8db3fd(0x10d)][_0x8db3fd(0x195)]},updateOverlay();}),import.meta.hot['on'](_0x2e037c(0x136),()=>{const _0x3b4a7f=_0x2e037c;state[_0x3b4a7f(0x197)]&&(console[_0x3b4a7f(0xe0)](LOG_PREFIX3+_0x3b4a7f(0xd2)),state[_0x3b4a7f(0x197)]=null,updateOverlay());})),createController();}};function createController(){const _0x461c9c=_0x51752f,_0x17d26a={'enable'(){const _0x50b590=_0x558e,_0x21d7c6=getOptions();if(!_0x21d7c6)return;state[_0x50b590(0x164)]=!![],void loadOverlay({'overlayPath':_0x21d7c6[_0x50b590(0x11a)],'enableViteHmr':_0x21d7c6[_0x50b590(0xeb)][_0x50b590(0x11b)],'options':_0x21d7c6,'onToggle':handleToggle}),void registerServiceWorker(_0x21d7c6),void sendConfiguration(),updateOverlay();},'disable'(){const _0x27ae65=_0x558e,_0x170383=getOptions();if(!_0x170383)return;state[_0x27ae65(0x164)]=![],state[_0x27ae65(0x124)]=![],updateOverlay(),void unregisterServiceWorker(_0x170383[_0x27ae65(0xf2)]);},'status'(){const _0x4a31ae=_0x558e;return{'enabled':state[_0x4a31ae(0x164)],'controlled':state[_0x4a31ae(0x124)]};}};return typeof window!==_0x461c9c(0x128)&&(window[_0x461c9c(0x184)]=_0x17d26a),_0x17d26a;}function handleToggle(){const _0x2b2b1a=_0x51752f,_0x450392=createController();state[_0x2b2b1a(0x164)]?_0x450392[_0x2b2b1a(0x188)]():_0x450392[_0x2b2b1a(0x15b)]();}function parseUrlParams(){const _0x1d1c8b=_0x51752f,_0x3b6d2b=new URL(window[_0x1d1c8b(0xec)][_0x1d1c8b(0x126)]),_0x8f8497=_0x3b6d2b[_0x1d1c8b(0x192)][_0x1d1c8b(0xde)](_0x1d1c8b(0x16f))?.[_0x1d1c8b(0x101)](),_0x369fc6=_0x3b6d2b['searchParams'][_0x1d1c8b(0xde)](_0x1d1c8b(0x16e)),_0x2edf5a=_0x3b6d2b[_0x1d1c8b(0x192)][_0x1d1c8b(0xde)](_0x1d1c8b(0x11f));return{'hasEnhancement':Boolean(_0x369fc6||_0x2edf5a),'explicitDisable':_0x8f8497==='0'||_0x8f8497==='false'||_0x8f8497===_0x1d1c8b(0x177),'enhancementUrl':_0x369fc6,'enhancementId':_0x2edf5a};}function cleanUrlParam(_0x20f798){const _0x138f07=_0x51752f,_0x4925bd=new URL(window[_0x138f07(0xec)]['href']);_0x4925bd[_0x138f07(0x192)][_0x138f07(0x151)](_0x20f798)&&(_0x4925bd[_0x138f07(0x192)][_0x138f07(0x14d)](_0x20f798),window['history']['replaceState'](null,document[_0x138f07(0xe1)],_0x4925bd['toString']()));}var package_default={'name':_0x51752f(0x15c),'version':'0.3.17','type':_0x51752f(0x137),'description':'Enhance\x20preview\x20bootstrap\x20and\x20tooling\x20package.','license':_0x51752f(0x158),'main':_0x51752f(0xd5),'module':_0x51752f(0xd5),'types':_0x51752f(0xe9),'exports':{'.':{'types':'./dev/index.d.ts','import':_0x51752f(0xd5)},'./vite':{'types':_0x51752f(0x191),'import':_0x51752f(0x194)}},'files':[_0x51752f(0xc6)],'bin':{'enhance-sandbox':_0x51752f(0x15d)},'scripts':{'typecheck':_0x51752f(0x109),'dev':_0x51752f(0x11c),'dev:build':_0x51752f(0x118),'dev:staging':_0x51752f(0xcb),'dev:staging:build':_0x51752f(0xd1),'build':_0x51752f(0x178),'build:release':_0x51752f(0x138),'version':_0x51752f(0xda)},'dependencies':{'commander':_0x51752f(0x165),'zod':_0x51752f(0xf9)},'devDependencies':{'@types/node':_0x51752f(0xff),'javascript-obfuscator':'^4.1.1','tsup':_0x51752f(0x123),'vite':_0x51752f(0x15a)},'publishConfig':{'access':'public'}},DEFAULT_SERVICE_WORKER_PATH='/sw-enhance.js',DEFAULT_RUNTIME_PATH='/assets/enhance-runtime.js',PACKAGE_VERSION=typeof package_default['version']==='string'?package_default[_0x51752f(0x199)]:_0x51752f(0xcf);function normalizeAssetPath(_0xa0094e){const _0x2befea=_0x51752f;if(!_0xa0094e)return _0xa0094e;if(_0xa0094e[_0x2befea(0x108)]('http://')||_0xa0094e[_0x2befea(0x108)](_0x2befea(0x17f)))return _0xa0094e;const _0x37601a=_0xa0094e['replace'](/^\.\//,'');return _0x37601a[_0x2befea(0x108)]('/')?_0x37601a:'/'+_0x37601a;}var defaultSwPath=normalizeAssetPath(DEFAULT_SERVICE_WORKER_PATH),defaultRuntimePath=normalizeAssetPath(DEFAULT_RUNTIME_PATH),Enhance2={'init'(_0x545237){const _0x25d06d=_0x51752f;return Enhance[_0x25d06d(0x15e)](_0x545237);},'serviceWorkerURL'(){return defaultSwPath;},'runtimeURL'(){return defaultRuntimePath;},'assetManifest'(){return getAssetManifest();}};function getAssetManifest(){return{'version':PACKAGE_VERSION,'serviceWorker':serviceWorkerURL(),'runtime':runtimeURL(),'serviceWorkerDigest':null,'runtimeDigest':null};}function resolveServiceWorkerPath(){return serviceWorkerURL();}function serviceWorkerURL(){const _0x2ee782=_0x51752f;return Enhance2[_0x2ee782(0x149)]();}function runtimeURL(){const _0x4519a6=_0x51752f;return Enhance2[_0x4519a6(0x140)]();}export{Enhance2 as Enhance,getAssetManifest,resolveServiceWorkerPath,runtimeURL,serviceWorkerURL};
package/dist/cli.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const _0x146bdc=_0x375c;(function(_0x526dfd,_0x2c24bc){const _0x5c1948=_0x375c,_0x523eed=_0x526dfd();while(!![]){try{const _0xc900c7=-parseInt(_0x5c1948(0x22b))/0x1*(parseInt(_0x5c1948(0x1f6))/0x2)+-parseInt(_0x5c1948(0x23a))/0x3+parseInt(_0x5c1948(0x240))/0x4+-parseInt(_0x5c1948(0x1bf))/0x5+parseInt(_0x5c1948(0x23d))/0x6+parseInt(_0x5c1948(0x1af))/0x7+parseInt(_0x5c1948(0x210))/0x8;if(_0xc900c7===_0x2c24bc)break;else _0x523eed['push'](_0x523eed['shift']());}catch(_0x1df68f){_0x523eed['push'](_0x523eed['shift']());}}}(_0x9fdd,0x2481e));import{Command}from'commander';import{resolve,relative}from'path';function normalizeOptions(_0x586e2d){const _0x4aea2c=_0x375c,_0x2a5c2b=_0x586e2d[_0x4aea2c(0x18c)]??{};return{'callbackBypass':_0x586e2d[_0x4aea2c(0x261)],'overlay':{'enabled':!![],'position':_0x4aea2c(0x1d9),'enableViteHmr':_0x2a5c2b[_0x4aea2c(0x19d)]??![]},'logLevel':_0x4aea2c(0x207),'swPath':_0x4aea2c(0x16a),'overlayPath':_0x2a5c2b[_0x4aea2c(0x1ac)]??_0x4aea2c(0x191),'runtimeScriptPath':_0x4aea2c(0x225),'security':_0x2a5c2b[_0x4aea2c(0x190)]??'permissive','backendUrl':_0x2a5c2b[_0x4aea2c(0x1a3)]??_0x4aea2c(0x1d0)};}var state={'enabled':![],'controlled':![]};function _0x9fdd(){const _0x41eb65=['\x20Updating\x20overlay...','data','swFilename','option','\x20Enhancement\x20features\x20will\x20NOT\x20work\x20until\x20it\x20is\x20unregistered','overlay','replaceState','info','\x20Updating\x20overlay\x20with\x20state:','\x20No\x20registration\x20found\x20-\x20nothing\x20to\x20unregister','toString','ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=http://localhost:8787\x20tsup\x20--watch','^8.5.1','search','all','...','2498944jXkwvT','get','serviceWorkerURL','\x20Cross-origin\x20overlay\x20-\x20setting\x20up\x20HMR...','/@react-refresh','waiting','publicDir','reload','unregister','command','\x20Unregistering\x20any\x20existing\x20SW...','./dist/vite/index.d.ts','\x20Explicit\x20disable\x20via\x20URL\x20param\x20-\x20exiting','\x20Starting\x20overlay\x20load\x20(async)...','\x20Service\x20workers\x20NOT\x20supported\x20in\x20this\x20browser','href','https://','\x20Registering\x20SW\x20at\x20','stringify','./dist/index.cjs','\x20detectBlocking\x20-\x20existing\x20registration:','/assets/enhance-runtime.js','searchParams','\x20Starting\x20SW\x20registration\x20(async)...','^4.1.1','off','\x20Failed\x20to\x20register\x20service\x20worker:','1samSFM','--filename\x20<name>','\x20detectBlocking\x20error:','\x20SW\x20unregistered\x20successfully','init','enhance-sandbox','ready','\x20URL\x20params\x20parsed:','\x20buildWorkerConfiguration\x20-\x20enhancementUrl:\x20','runtimeURL','\x20init()\x20complete\x20-\x20normal\x20mode','getRegistration',',\x20configGetter:\x20','enhancement','ENHANCE_OVERLAY_PATH=https://assets.enhancelabs.ai/overlay.js\x20ENHANCE_BACKEND_URL=https://api.enhancelabs.ai\x20tsup','365379daVEDH',',\x20page\x20origin:\x20','write','602574zMVfwD','\x20setupRemoteHMR()\x20for\x20','stdout','1112276bmXcfw','\x20doLoadOverlay()\x20starting...','filename','cwd','\x20Module\x20exports:','\x20Page\x20not\x20enhanced\x20by\x20SW\x20-\x20reloading\x20to\x20apply\x20enhancement','\x20registerServiceWorker()\x20complete','\x20currentOptions\x20exists:\x20','__viteHMRLoaded','Print\x20the\x20current\x20asset\x20manifest','active','removeEventListener','\x20First\x20initialization','\x20composeOverlayState\x20-\x20state.enabled:\x20','controlled','enhance.config.sample.json','/@vite/client','\x20No\x20current\x20controller','./dist/index.js','enableViteHmr','enable','\x20overlayPath:\x20','\x20Failed\x20to\x20import/create\x20overlay:','none','addEventListener','\x20Module\x20missing\x20createOverlay\x20export!','toLowerCase','\x20Controller\x20already\x20exists\x20-\x20updating\x20overlay','^24.10.1','sw-enhance','[Enhance\x20SW-Client]','string','\x20Failed\x20to\x20unregister\x20service\x20worker:','callbackBypass','replace','ENOENT','\x20Enhancement\x20detection:\x20wasEnhanced=','\x20with\x20scope\x20\x27/\x27...','\x20unregisterServiceWorker()\x20called','swPath','update','scope','ENHANCE_OVERLAY_PATH=https://assets.enhancelabs.ai/overlay.js\x20ENHANCE_BACKEND_URL=https://api.enhancelabs.ai\x20OBFUSCATE=1\x20RELEASE=1\x20tsup','\x20Page\x20was\x20not\x20controlled\x20-\x20SW\x20just\x20activated.\x20Reloading\x20to\x20enable\x20enhancement...','\x20Starting\x20fresh\x20overlay\x20load...','/sw-enhance.js','options','\x20Attaching\x20message\x20listener...','\x20HMR\x20setup\x20complete','\x20Sending\x20DISABLE\x20message\x20to\x20SW...','\x20sendConfiguration()\x20called','\x20state.enabled:\x20','\x20→\x20','N/A','\x20Document\x20readyState:\x20','\x20Current\x20URL:\x20','\x20composeOverlayState\x20-\x20enhancementUrl:\x20','sha256','hasEnhancement','\x20Available\x20exports:','runtimeScriptPath','public','enhance','\x20React\x20Refresh\x20runtime\x20installed\x20for\x20','\x20Normalized\x20options:','querySelector','../dist/index.js','\x20resolveWorker:','^3.22.4','[data-enhance-runtime-bootstrap]','\x20No\x20cached\x20controller\x20-\x20will\x20import\x20module','\x20Missing\x20controller\x20or\x20options\x20-\x20skipping\x20update','enabled','location','object','has','__enhanceOverlay','\x20Skipping\x20-\x20not\x20enabled\x20or\x20no\x20configGetter','\x20enhancementUrl:\x20','__development','__vite_plugin_react_preamble_installed__','disable','$RefreshSig$','security','https://assets.enhancelabs.ai/overlay.js','\x20SW\x20ready!\x20Active:','http://','\x20Already\x20initialized\x20-\x20returning\x20existing\x20controller','\x20Unregistering\x20SW...','\x20Same\x20origin\x20-\x20skipping\x20HMR\x20setup','version','Skipped\x20','./dist/index.d.ts','dist','bin/enhance-sandbox.js','\x20init()\x20complete\x20-\x20enhancement\x20mode','enableOverlayHmr','\x20React\x20Refresh\x20already\x20installed\x20for\x20','manifestPath','\x20enhancementId:\x20','\x20(already\x20current)\x20[','readyState','backendUrl','\x20No\x20window\x20object\x20-\x20skipping','\x20Importing\x20overlay\x20module\x20from:\x20','\x20Overlay\x20controller\x20initialized\x20and\x20cached','serviceWorker','state','\x20loadOverlay()\x20called','log','now','overlayPath','\x20composeOverlayState\x20-\x20state.controlled:\x20','position','323015eZhjIB','includes','createOverlay','\x20Checking\x20for\x20blocking\x20service\x20worker...','copied','skipped','\x20Current\x20controller\x20after\x20ready:','module','status','\x20Enhancement\x20mode\x20ENABLED','sw-enhance.js','controller','add','onToggle','0.0.0','postMessage','1350865lwyyzJ','Copied\x20','push','\x20Page\x20controlled\x20by\x20our\x20SW:\x20','message','0.3.16','assets/enhance-runtime.js','action','function','\x20Sending\x20initial\x20configuration...','\x20Found\x20registration:','installing','\x20Vite\x20client\x20already\x20loaded\x20for\x20','relativeDestination','state:\x20','\x20Calling\x20createOverlay()...','__enhanceReactRefreshInstalledOrigins','https://api.enhancelabs.ai','description','sourcePath','override','\x20Service\x20workers\x20supported','\x20Load\x20already\x20in\x20progress\x20-\x20waiting...','enhance:request-config','Copy\x20the\x20service\x20worker\x20and\x20overlay\x20bundle\x20into\x20a\x20public\x20directory','startsWith','bottom-right','\x20Message\x20listener\x20already\x20attached\x20or\x20no\x20SW\x20support','code','\x20updateOverlay()\x20called','\x20Current\x20controller:','\x20Found\x20cached\x20overlay\x20controller\x20on\x20window.__enhanceOverlay','scriptURL','enhancementUrl','delete','\x20Failed\x20to\x20prepare\x20remote\x20HMR\x20(non-fatal):','Override\x20the\x20service\x20worker\x20output\x20filename\x20(defaults\x20to\x20sw-enhance.js)','injectIntoGlobalHook','Enhance\x20preview\x20bootstrap\x20and\x20tooling\x20package.','warn','parseAsync','Directory\x20to\x20copy\x20the\x20service\x20worker\x20into','bin','^7.2.4','keys','\x20No\x20blocking\x20SW\x20found','\x20BLOCKING\x20SW\x20detected:\x20','error','manifest','@enhance-eng/sandbox','MIT','undefined','requiredOption','name','destinationPath','391022LxLpky','copyFile','enhance:disable','trim','\x20Setting\x20up\x20remote\x20HMR...','[Enhance\x20Overlay]','enhancementId','origin','ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=https://enhance-api-dev.enhancelabs.workers.dev\x20tsup\x20--watch',',\x20owns='];_0x9fdd=function(){return _0x41eb65;};return _0x9fdd();}function getEnhancementUrl(){const _0x5c2101=_0x375c;try{const _0x429673=new URLSearchParams(window[_0x5c2101(0x186)][_0x5c2101(0x20d)]);return _0x429673[_0x5c2101(0x211)]('enhancementUrl')?.[_0x5c2101(0x1f9)]()||'';}catch{return'';}}var LOG_PREFIX=_0x146bdc(0x1fb),overlayController=null,overlayLoadPromise=null,toggleHandler=null,currentOptions=null;async function loadOverlay(_0x43681a){const _0x239c36=_0x146bdc;console['log'](LOG_PREFIX+_0x239c36(0x1a9)),console[_0x239c36(0x1aa)](LOG_PREFIX+_0x239c36(0x255)+_0x43681a['overlayPath']),console['log'](LOG_PREFIX+'\x20enableViteHmr:\x20'+_0x43681a[_0x239c36(0x253)]),currentOptions=_0x43681a[_0x239c36(0x16b)],toggleHandler=_0x43681a[_0x239c36(0x1bc)];if(overlayController){console['log'](LOG_PREFIX+_0x239c36(0x25b)),updateOverlay();return;}if(overlayLoadPromise)return console[_0x239c36(0x1aa)](LOG_PREFIX+_0x239c36(0x1d5)),overlayLoadPromise;console[_0x239c36(0x1aa)](LOG_PREFIX+_0x239c36(0x169)),overlayLoadPromise=doLoadOverlay(_0x43681a);try{await overlayLoadPromise,console[_0x239c36(0x1aa)](LOG_PREFIX+'\x20loadOverlay()\x20complete');}catch(_0x41f2b3){console[_0x239c36(0x1ee)](LOG_PREFIX+'\x20loadOverlay()\x20failed:',_0x41f2b3);}finally{overlayLoadPromise=null;}}async function doLoadOverlay(_0x2c12e3){const _0x4ff8d5=_0x146bdc;console[_0x4ff8d5(0x1aa)](LOG_PREFIX+_0x4ff8d5(0x241));if(typeof window==='undefined'){console[_0x4ff8d5(0x1aa)](LOG_PREFIX+_0x4ff8d5(0x1a4));return;}if(window['__enhanceOverlay']){console['log'](LOG_PREFIX+_0x4ff8d5(0x1de)),overlayController=window[_0x4ff8d5(0x189)],overlayController[_0x4ff8d5(0x1bc)](_0x2c12e3[_0x4ff8d5(0x1bc)]),updateOverlay();return;}console['log'](LOG_PREFIX+_0x4ff8d5(0x183));try{_0x2c12e3[_0x4ff8d5(0x253)]&&(console['log'](LOG_PREFIX+_0x4ff8d5(0x1fa)),await setupRemoteHMR(_0x2c12e3[_0x4ff8d5(0x1ac)]));console[_0x4ff8d5(0x1aa)](LOG_PREFIX+_0x4ff8d5(0x1a5)+_0x2c12e3['overlayPath']);const _0x48ee17=Date[_0x4ff8d5(0x1ab)](),_0x2d762c=await import(_0x2c12e3[_0x4ff8d5(0x1ac)]);console['log'](LOG_PREFIX+'\x20Module\x20imported\x20in\x20'+(Date['now']()-_0x48ee17)+'ms'),console['log'](LOG_PREFIX+_0x4ff8d5(0x244),Object[_0x4ff8d5(0x1eb)](_0x2d762c));if(typeof _0x2d762c?.[_0x4ff8d5(0x1b1)]!==_0x4ff8d5(0x1c7)){console['error'](LOG_PREFIX+_0x4ff8d5(0x259)),console[_0x4ff8d5(0x1ee)](LOG_PREFIX+_0x4ff8d5(0x178),Object[_0x4ff8d5(0x1eb)](_0x2d762c));return;}console[_0x4ff8d5(0x1aa)](LOG_PREFIX+_0x4ff8d5(0x1ce));const _0x52b678=_0x2d762c[_0x4ff8d5(0x1b1)]();console[_0x4ff8d5(0x1aa)](LOG_PREFIX+'\x20Controller\x20created:',_0x52b678),overlayController=_0x52b678,window[_0x4ff8d5(0x189)]=_0x52b678,_0x52b678[_0x4ff8d5(0x1bc)](_0x2c12e3['onToggle']),console[_0x4ff8d5(0x1aa)](LOG_PREFIX+_0x4ff8d5(0x1a6)),console['log'](LOG_PREFIX+'\x20Calling\x20updateOverlay()...'),updateOverlay();}catch(_0x58169a){console[_0x4ff8d5(0x1ee)](LOG_PREFIX+_0x4ff8d5(0x256),_0x58169a);}}function updateOverlay(){const _0x5a44d6=_0x146bdc;console[_0x5a44d6(0x1aa)](LOG_PREFIX+_0x5a44d6(0x1dc)),console[_0x5a44d6(0x1aa)](LOG_PREFIX+'\x20overlayController\x20exists:\x20'+!!overlayController),console['log'](LOG_PREFIX+_0x5a44d6(0x247)+!!currentOptions);if(!overlayController||!currentOptions){console[_0x5a44d6(0x1aa)](LOG_PREFIX+_0x5a44d6(0x184));return;}const _0x1f5ea6=composeOverlayState(currentOptions);console[_0x5a44d6(0x1aa)](LOG_PREFIX+_0x5a44d6(0x208),JSON[_0x5a44d6(0x222)](_0x1f5ea6,null,0x2)),overlayController['update'](_0x1f5ea6),console[_0x5a44d6(0x1aa)](LOG_PREFIX+'\x20Overlay\x20update\x20complete');}function composeOverlayState(_0x284c69){const _0x3a8c9e=_0x146bdc,_0x1bd9b6=getEnhancementUrl();return console[_0x3a8c9e(0x1aa)](LOG_PREFIX+_0x3a8c9e(0x175)+_0x1bd9b6),console['log'](LOG_PREFIX+_0x3a8c9e(0x24d)+state[_0x3a8c9e(0x185)]),console[_0x3a8c9e(0x1aa)](LOG_PREFIX+_0x3a8c9e(0x1ad)+state[_0x3a8c9e(0x24e)]),{'enhancementUrl':_0x1bd9b6,'enabled':state[_0x3a8c9e(0x185)],'controlled':state[_0x3a8c9e(0x24e)],'overlayPosition':_0x284c69['overlay'][_0x3a8c9e(0x1ae)],'securityMode':_0x284c69[_0x3a8c9e(0x190)],'backendBaseUrl':_0x284c69[_0x3a8c9e(0x1a3)]};}async function setupRemoteHMR(_0x20c3db){const _0x39e7b6=_0x146bdc;console[_0x39e7b6(0x1aa)](LOG_PREFIX+_0x39e7b6(0x23e)+_0x20c3db);if(typeof window===_0x39e7b6(0x1f2))return;try{const _0x27a8ff=new URL(_0x20c3db,window['location'][_0x39e7b6(0x1fd)]),_0x36f620=_0x27a8ff[_0x39e7b6(0x1fd)];console[_0x39e7b6(0x1aa)](LOG_PREFIX+'\x20Overlay\x20origin:\x20'+_0x36f620+_0x39e7b6(0x23b)+window[_0x39e7b6(0x186)][_0x39e7b6(0x1fd)]);if(_0x36f620===window[_0x39e7b6(0x186)][_0x39e7b6(0x1fd)]){console[_0x39e7b6(0x1aa)](LOG_PREFIX+_0x39e7b6(0x196));return;}console['log'](LOG_PREFIX+_0x39e7b6(0x213)),await ensureReactRefreshPreamble(_0x36f620),await ensureViteClient(_0x36f620),console[_0x39e7b6(0x1aa)](LOG_PREFIX+_0x39e7b6(0x16d));}catch(_0x540603){console[_0x39e7b6(0x1e6)](LOG_PREFIX+_0x39e7b6(0x1e2),_0x540603);}}async function ensureReactRefreshPreamble(_0x50d17e){const _0x8497af=_0x146bdc;window[_0x8497af(0x1cf)]??=new Set();if(window['__enhanceReactRefreshInstalledOrigins'][_0x8497af(0x188)](_0x50d17e)){console[_0x8497af(0x1aa)](LOG_PREFIX+_0x8497af(0x19e)+_0x50d17e);return;}console[_0x8497af(0x1aa)](LOG_PREFIX+'\x20Installing\x20React\x20Refresh\x20runtime\x20from\x20'+_0x50d17e+_0x8497af(0x20f));const _0x3e4d68=await import(_0x50d17e+_0x8497af(0x214)),_0x4ea87f=_0x3e4d68&&typeof _0x3e4d68===_0x8497af(0x187)&&'default'in _0x3e4d68?_0x3e4d68['default']:_0x3e4d68;if(!isRefreshRuntime(_0x4ea87f)){console[_0x8497af(0x1e6)](LOG_PREFIX+'\x20Invalid\x20React\x20Refresh\x20runtime');return;}_0x4ea87f['injectIntoGlobalHook'](window),window['$RefreshReg$']=()=>{},window[_0x8497af(0x18f)]=()=>_0x2bd5c9=>_0x2bd5c9,window[_0x8497af(0x18d)]=!![],window[_0x8497af(0x1cf)]['add'](_0x50d17e),console[_0x8497af(0x1aa)](LOG_PREFIX+_0x8497af(0x17c)+_0x50d17e);}async function ensureViteClient(_0x44ac9f){const _0x1c7f17=_0x146bdc;window[_0x1c7f17(0x248)]??=new Set();if(window[_0x1c7f17(0x248)][_0x1c7f17(0x188)](_0x44ac9f)){console[_0x1c7f17(0x1aa)](LOG_PREFIX+_0x1c7f17(0x1cb)+_0x44ac9f);return;}console['log'](LOG_PREFIX+'\x20Loading\x20Vite\x20HMR\x20client\x20from\x20'+_0x44ac9f+_0x1c7f17(0x20f)),await import(_0x44ac9f+_0x1c7f17(0x250)),window[_0x1c7f17(0x248)][_0x1c7f17(0x1bb)](_0x44ac9f),console['log'](LOG_PREFIX+'\x20Vite\x20HMR\x20client\x20loaded\x20for\x20'+_0x44ac9f);}function isRefreshRuntime(_0x1ee225){const _0x1da44f=_0x146bdc;return typeof _0x1ee225===_0x1da44f(0x187)&&_0x1ee225!==null&&_0x1da44f(0x1e4)in _0x1ee225&&typeof _0x1ee225[_0x1da44f(0x1e4)]==='function';}var WORKER_MESSAGE_CONFIG='enhance:configure',WORKER_MESSAGE_DISABLE=_0x146bdc(0x1f8),WORKER_MESSAGE_REQUEST_CONFIG=_0x146bdc(0x1d6),LOG_PREFIX2=_0x146bdc(0x25e),registration=null,messageListener=null,currentOptions2=null,configGetter=null;async function registerServiceWorker(_0x9fb112){const _0x50433b=_0x146bdc;console[_0x50433b(0x1aa)](LOG_PREFIX2+'\x20registerServiceWorker()\x20called'),console['log'](LOG_PREFIX2+'\x20swPath:\x20'+_0x9fb112[_0x50433b(0x164)]);if(!(_0x50433b(0x1a7)in navigator)){console['warn'](LOG_PREFIX2+_0x50433b(0x21e));return;}console[_0x50433b(0x1aa)](LOG_PREFIX2+_0x50433b(0x1d4));const _0x3bd5b2=navigator[_0x50433b(0x1a7)][_0x50433b(0x1ba)];console[_0x50433b(0x1aa)](LOG_PREFIX2+_0x50433b(0x1dd),_0x3bd5b2?.[_0x50433b(0x1df)]??_0x50433b(0x257)),console[_0x50433b(0x1aa)](LOG_PREFIX2+'\x20Controller\x20state:',_0x3bd5b2?.[_0x50433b(0x1a8)]??_0x50433b(0x172));const _0x3cb6d7=!!_0x3bd5b2;currentOptions2=_0x9fb112,configGetter=()=>buildWorkerConfiguration(_0x9fb112),console[_0x50433b(0x1aa)](LOG_PREFIX2+_0x50433b(0x1b2));const _0x35f157=await detectBlockingServiceWorker(_0x9fb112[_0x50433b(0x164)]);if(_0x35f157){console[_0x50433b(0x1ee)](LOG_PREFIX2+_0x50433b(0x1ed)+_0x35f157),console['error'](LOG_PREFIX2+_0x50433b(0x204));return;}console[_0x50433b(0x1aa)](LOG_PREFIX2+_0x50433b(0x1ec));try{console[_0x50433b(0x1aa)](LOG_PREFIX2+_0x50433b(0x221)+_0x9fb112[_0x50433b(0x164)]+_0x50433b(0x265)),registration=await navigator[_0x50433b(0x1a7)]['register'](_0x9fb112[_0x50433b(0x164)],{'scope':'/'}),console[_0x50433b(0x1aa)](LOG_PREFIX2+'\x20Registration\x20returned:',{'scope':registration['scope'],'active':registration[_0x50433b(0x24a)]?.[_0x50433b(0x1df)],'waiting':registration[_0x50433b(0x215)]?.[_0x50433b(0x1df)],'installing':registration[_0x50433b(0x1ca)]?.[_0x50433b(0x1df)]}),console['log'](LOG_PREFIX2+'\x20Waiting\x20for\x20navigator.serviceWorker.ready...');const _0xc8e820=await navigator['serviceWorker'][_0x50433b(0x231)];console['log'](LOG_PREFIX2+_0x50433b(0x192),_0xc8e820[_0x50433b(0x24a)]?.[_0x50433b(0x1df)]);const _0x402dec=ownsCurrentController(_0x9fb112[_0x50433b(0x164)]);state[_0x50433b(0x24e)]=_0x402dec,console[_0x50433b(0x1aa)](LOG_PREFIX2+_0x50433b(0x1c2)+_0x402dec),console[_0x50433b(0x1aa)](LOG_PREFIX2+_0x50433b(0x1b5),navigator[_0x50433b(0x1a7)][_0x50433b(0x1ba)]?.[_0x50433b(0x1df)]??_0x50433b(0x257));if(!_0x3cb6d7&&!navigator[_0x50433b(0x1a7)][_0x50433b(0x1ba)]){console['log'](LOG_PREFIX2+_0x50433b(0x168)),window[_0x50433b(0x186)][_0x50433b(0x217)]();return;}console[_0x50433b(0x1aa)](LOG_PREFIX2+_0x50433b(0x16c)),attachMessageListener(),console['log'](LOG_PREFIX2+_0x50433b(0x1c8)),await sendConfiguration();if(state[_0x50433b(0x185)]){const _0x30582=document[_0x50433b(0x17e)](_0x50433b(0x182))!==null;console[_0x50433b(0x1aa)](LOG_PREFIX2+_0x50433b(0x264)+_0x30582);if(!_0x30582){console[_0x50433b(0x1aa)](LOG_PREFIX2+_0x50433b(0x245)),window[_0x50433b(0x186)][_0x50433b(0x217)]();return;}}console['log'](LOG_PREFIX2+_0x50433b(0x200)),updateOverlay(),console[_0x50433b(0x1aa)](LOG_PREFIX2+_0x50433b(0x246));}catch(_0xc14890){console[_0x50433b(0x1ee)](LOG_PREFIX2+_0x50433b(0x22a),_0xc14890);}}async function sendConfiguration(){const _0x24caf5=_0x146bdc;console['log'](LOG_PREFIX2+_0x24caf5(0x16f)),console[_0x24caf5(0x1aa)](LOG_PREFIX2+_0x24caf5(0x170)+state[_0x24caf5(0x185)]+_0x24caf5(0x237)+!!configGetter);if(!state[_0x24caf5(0x185)]||!configGetter){console[_0x24caf5(0x1aa)](LOG_PREFIX2+_0x24caf5(0x18a));return;}const _0x3658a6=await resolveWorker();if(!_0x3658a6){console[_0x24caf5(0x1e6)](LOG_PREFIX2+'\x20No\x20service\x20worker\x20active\x20to\x20configure');return;}const _0x18316b=configGetter();console[_0x24caf5(0x1aa)](LOG_PREFIX2+'\x20Sending\x20config\x20to\x20SW:',JSON[_0x24caf5(0x222)](_0x18316b,null,0x2)),_0x3658a6['postMessage']({'type':WORKER_MESSAGE_CONFIG,'config':_0x18316b}),console[_0x24caf5(0x1aa)](LOG_PREFIX2+'\x20Config\x20sent\x20to\x20SW');}async function unregisterServiceWorker(_0x432d55){const _0x91b9b9=_0x146bdc;console[_0x91b9b9(0x1aa)](LOG_PREFIX2+_0x91b9b9(0x266));if(!('serviceWorker'in navigator)){console[_0x91b9b9(0x1aa)](LOG_PREFIX2+'\x20No\x20serviceWorker\x20support\x20-\x20nothing\x20to\x20unregister');return;}detachMessageListener();try{const _0x19dee9=registration??await navigator[_0x91b9b9(0x1a7)]['getRegistration']('/');if(!_0x19dee9){console[_0x91b9b9(0x1aa)](LOG_PREFIX2+_0x91b9b9(0x209));return;}console[_0x91b9b9(0x1aa)](LOG_PREFIX2+_0x91b9b9(0x1c9),{'scope':_0x19dee9[_0x91b9b9(0x166)],'active':_0x19dee9['active']?.[_0x91b9b9(0x1df)],'waiting':_0x19dee9[_0x91b9b9(0x215)]?.[_0x91b9b9(0x1df)],'installing':_0x19dee9[_0x91b9b9(0x1ca)]?.[_0x91b9b9(0x1df)]});const _0x131098=[_0x19dee9[_0x91b9b9(0x24a)]?.['scriptURL'],_0x19dee9[_0x91b9b9(0x215)]?.[_0x91b9b9(0x1df)],_0x19dee9[_0x91b9b9(0x1ca)]?.[_0x91b9b9(0x1df)]],_0x9fa264=_0x131098['some'](_0x14e6d8=>_0x14e6d8&&ownsServiceWorker(_0x14e6d8,_0x432d55));if(!_0x9fa264){console[_0x91b9b9(0x1aa)](LOG_PREFIX2+'\x20Registration\x20is\x20not\x20ours\x20-\x20not\x20unregistering');return;}_0x19dee9[_0x91b9b9(0x24a)]&&(console[_0x91b9b9(0x1aa)](LOG_PREFIX2+_0x91b9b9(0x16e)),_0x19dee9[_0x91b9b9(0x24a)][_0x91b9b9(0x1be)]({'type':WORKER_MESSAGE_DISABLE})),console['log'](LOG_PREFIX2+_0x91b9b9(0x195)),await _0x19dee9[_0x91b9b9(0x218)](),registration=null,console[_0x91b9b9(0x1aa)](LOG_PREFIX2+_0x91b9b9(0x22e));}catch(_0x1bc5b4){console[_0x91b9b9(0x1ee)](LOG_PREFIX2+_0x91b9b9(0x260),_0x1bc5b4);}}function attachMessageListener(){const _0x261107=_0x146bdc;if(!navigator[_0x261107(0x1a7)]||messageListener){console[_0x261107(0x1aa)](LOG_PREFIX2+_0x261107(0x1da));return;}messageListener=_0x49a4f3=>{const _0x1b6602=_0x261107,_0x545340=_0x49a4f3[_0x1b6602(0x201)];console['log'](LOG_PREFIX2+'\x20Received\x20message\x20from\x20SW:',_0x545340);if(!_0x545340||typeof _0x545340!=='object')return;_0x545340['type']===WORKER_MESSAGE_REQUEST_CONFIG&&(console[_0x1b6602(0x1aa)](LOG_PREFIX2+'\x20SW\x20requested\x20config\x20-\x20sending...'),void sendConfiguration());},navigator[_0x261107(0x1a7)][_0x261107(0x258)]('message',messageListener),console[_0x261107(0x1aa)](LOG_PREFIX2+'\x20Message\x20listener\x20attached');}function detachMessageListener(){const _0x573bf4=_0x146bdc;navigator['serviceWorker']&&messageListener&&(navigator[_0x573bf4(0x1a7)][_0x573bf4(0x24b)](_0x573bf4(0x1c3),messageListener),messageListener=null,console[_0x573bf4(0x1aa)](LOG_PREFIX2+'\x20Message\x20listener\x20detached'));}function ownsServiceWorker(_0xec49ab,_0x2091ea){const _0x36f63e=_0x146bdc,_0x2a91ae=typeof window!==_0x36f63e(0x1f2)?window[_0x36f63e(0x186)][_0x36f63e(0x1fd)]:'',_0x182c61=new URL(_0x2091ea,_0x2a91ae||void 0x0)[_0x36f63e(0x21f)],_0x1e2b6d=_0xec49ab===_0x182c61||_0xec49ab[_0x36f63e(0x1b0)](_0x36f63e(0x25d));return console[_0x36f63e(0x1aa)](LOG_PREFIX2+'\x20ownsServiceWorker?\x20scriptURL='+_0xec49ab+',\x20expected='+_0x182c61+_0x36f63e(0x1ff)+_0x1e2b6d),_0x1e2b6d;}function ownsCurrentController(_0xb52035){const _0x5196ea=_0x146bdc;if(typeof navigator==='undefined')return![];const _0x2f1fc6=navigator[_0x5196ea(0x1a7)]?.[_0x5196ea(0x1ba)];if(!_0x2f1fc6)return console[_0x5196ea(0x1aa)](LOG_PREFIX2+_0x5196ea(0x251)),![];return ownsServiceWorker(_0x2f1fc6[_0x5196ea(0x1df)],_0xb52035);}async function detectBlockingServiceWorker(_0xbccda1){const _0x2a6d65=_0x146bdc;if(!navigator[_0x2a6d65(0x1a7)])return null;try{const _0x25cbc5=await navigator[_0x2a6d65(0x1a7)][_0x2a6d65(0x236)]('/');console[_0x2a6d65(0x1aa)](LOG_PREFIX2+_0x2a6d65(0x224),_0x25cbc5?.[_0x2a6d65(0x24a)]?.['scriptURL']??_0x2a6d65(0x257));const _0x413910=_0x25cbc5?.[_0x2a6d65(0x24a)]?.['scriptURL'];if(!_0x413910)return null;if(ownsServiceWorker(_0x413910,_0xbccda1))return null;return _0x413910;}catch(_0xff67a9){return console[_0x2a6d65(0x1ee)](LOG_PREFIX2+_0x2a6d65(0x22d),_0xff67a9),null;}}async function resolveWorker(){const _0x512667=_0x146bdc,_0x1db6fa=registration??await navigator['serviceWorker']?.[_0x512667(0x236)]('/'),_0x4206cb=_0x1db6fa?.[_0x512667(0x24a)]??_0x1db6fa?.[_0x512667(0x215)]??_0x1db6fa?.[_0x512667(0x1ca)]??null;return console[_0x512667(0x1aa)](LOG_PREFIX2+_0x512667(0x180),_0x4206cb?.[_0x512667(0x1df)]??_0x512667(0x257),_0x512667(0x1cd)+(_0x4206cb?.[_0x512667(0x1a8)]??_0x512667(0x172))),_0x4206cb;}function buildWorkerConfiguration(_0x15f8ac){const _0x2c9eec=_0x146bdc,_0x988472=getEnhancementUrl();return console[_0x2c9eec(0x1aa)](LOG_PREFIX2+_0x2c9eec(0x233)+_0x988472),{'enhancementUrl':_0x988472,'callbackBypass':_0x15f8ac[_0x2c9eec(0x261)],'overlayPath':_0x15f8ac[_0x2c9eec(0x1ac)],'overlayEnableViteHmr':_0x15f8ac[_0x2c9eec(0x205)][_0x2c9eec(0x253)],'runtimeScriptPath':_0x15f8ac[_0x2c9eec(0x179)],'swPath':_0x15f8ac['swPath'],'securityMode':_0x15f8ac[_0x2c9eec(0x190)],'backendUrl':_0x15f8ac[_0x2c9eec(0x1a3)]};}var LOG_PREFIX3='[Enhance\x20Runtime]',initialized=![],options=null,Enhance={'init'(_0x6c2f83){const _0x42d9ee=_0x146bdc,_0x1863a0=Date['now']();console[_0x42d9ee(0x1aa)](LOG_PREFIX3+'\x20init()\x20called\x20at\x20'+_0x1863a0),console[_0x42d9ee(0x1aa)](LOG_PREFIX3+_0x42d9ee(0x174)+window['location'][_0x42d9ee(0x21f)]),console['log'](LOG_PREFIX3+_0x42d9ee(0x173)+document[_0x42d9ee(0x1a2)]),console[_0x42d9ee(0x1aa)](LOG_PREFIX3+'\x20Raw\x20options:',JSON[_0x42d9ee(0x222)](_0x6c2f83,null,0x2));if(initialized)return console[_0x42d9ee(0x1e6)](LOG_PREFIX3+_0x42d9ee(0x194)),createController();initialized=!![],console[_0x42d9ee(0x1aa)](LOG_PREFIX3+_0x42d9ee(0x24c)),options=normalizeOptions(_0x6c2f83),console[_0x42d9ee(0x1aa)](LOG_PREFIX3+_0x42d9ee(0x17d),JSON['stringify'](options,null,0x2));const _0x567bbd=parseUrlParams();console[_0x42d9ee(0x1aa)](LOG_PREFIX3+_0x42d9ee(0x232),JSON[_0x42d9ee(0x222)](_0x567bbd,null,0x2));if(_0x567bbd['explicitDisable'])return cleanUrlParam(_0x42d9ee(0x17b)),console['log'](LOG_PREFIX3+_0x42d9ee(0x21c)),createController();if(_0x567bbd[_0x42d9ee(0x177)])return console['log'](LOG_PREFIX3+_0x42d9ee(0x1b8)),console[_0x42d9ee(0x1aa)](LOG_PREFIX3+_0x42d9ee(0x18b)+_0x567bbd[_0x42d9ee(0x1e0)]),console[_0x42d9ee(0x1aa)](LOG_PREFIX3+_0x42d9ee(0x1a0)+_0x567bbd[_0x42d9ee(0x1fc)]),state['enabled']=!![],console[_0x42d9ee(0x1aa)](LOG_PREFIX3+_0x42d9ee(0x21d)),void loadOverlay({'overlayPath':options[_0x42d9ee(0x1ac)],'enableViteHmr':options[_0x42d9ee(0x205)]['enableViteHmr'],'options':options,'onToggle':handleToggle}),console[_0x42d9ee(0x1aa)](LOG_PREFIX3+_0x42d9ee(0x227)),void registerServiceWorker(options),console[_0x42d9ee(0x1aa)](LOG_PREFIX3+_0x42d9ee(0x19c)),createController();return console[_0x42d9ee(0x1aa)](LOG_PREFIX3+'\x20Normal\x20mode\x20-\x20no\x20enhancement\x20params'),console[_0x42d9ee(0x1aa)](LOG_PREFIX3+_0x42d9ee(0x21a)),void unregisterServiceWorker(options[_0x42d9ee(0x164)]),console[_0x42d9ee(0x1aa)](LOG_PREFIX3+_0x42d9ee(0x235)),createController();}};function createController(){return{'enable'(){const _0xee9c59=_0x375c;if(!options)return;state['enabled']=!![],void loadOverlay({'overlayPath':options[_0xee9c59(0x1ac)],'enableViteHmr':options['overlay'][_0xee9c59(0x253)],'options':options,'onToggle':handleToggle}),void registerServiceWorker(options),void sendConfiguration(),updateOverlay();},'disable'(){const _0xce9f=_0x375c;if(!options)return;state['enabled']=![],state[_0xce9f(0x24e)]=![],updateOverlay(),void unregisterServiceWorker(options[_0xce9f(0x164)]);},'status'(){const _0x197a4b=_0x375c;return{'enabled':state[_0x197a4b(0x185)],'controlled':state['controlled']};}};}function handleToggle(){const _0x436f14=_0x146bdc,_0x567472=createController();state[_0x436f14(0x185)]?_0x567472[_0x436f14(0x18e)]():_0x567472[_0x436f14(0x254)]();}function _0x375c(_0x4a8986,_0x1e811d){const _0x9fdd80=_0x9fdd();return _0x375c=function(_0x375c59,_0xd4ae91){_0x375c59=_0x375c59-0x164;let _0x32f9e2=_0x9fdd80[_0x375c59];return _0x32f9e2;},_0x375c(_0x4a8986,_0x1e811d);}function parseUrlParams(){const _0x21a435=_0x146bdc,_0x431e6e=new URL(window[_0x21a435(0x186)]['href']),_0x58781a=_0x431e6e['searchParams']['get'](_0x21a435(0x17b))?.[_0x21a435(0x25a)](),_0x228eb5=_0x431e6e['searchParams'][_0x21a435(0x211)](_0x21a435(0x1e0)),_0x2ebae3=_0x431e6e[_0x21a435(0x226)]['get'](_0x21a435(0x238));return{'hasEnhancement':Boolean(_0x228eb5||_0x2ebae3),'explicitDisable':_0x58781a==='0'||_0x58781a==='false'||_0x58781a===_0x21a435(0x229),'enhancementUrl':_0x228eb5,'enhancementId':_0x2ebae3};}function cleanUrlParam(_0x304556){const _0x3e247b=_0x146bdc,_0x5806d7=new URL(window[_0x3e247b(0x186)][_0x3e247b(0x21f)]);_0x5806d7[_0x3e247b(0x226)][_0x3e247b(0x188)](_0x304556)&&(_0x5806d7[_0x3e247b(0x226)][_0x3e247b(0x1e1)](_0x304556),window['history'][_0x3e247b(0x206)](null,document['title'],_0x5806d7[_0x3e247b(0x20a)]()));}var package_default={'name':_0x146bdc(0x1f0),'version':_0x146bdc(0x1c4),'type':_0x146bdc(0x1b6),'description':_0x146bdc(0x1e5),'license':_0x146bdc(0x1f1),'main':_0x146bdc(0x223),'module':_0x146bdc(0x252),'types':'./dist/index.d.ts','exports':{'.':{'types':_0x146bdc(0x199),'import':_0x146bdc(0x252),'require':_0x146bdc(0x223)},'./vite':{'types':_0x146bdc(0x21b),'import':'./dist/vite/index.js'}},'files':[_0x146bdc(0x19a),_0x146bdc(0x1e9),_0x146bdc(0x24f)],'bin':{'enhance-sandbox':_0x146bdc(0x19b)},'scripts':{'typecheck':'tsc\x20--noEmit','dev':_0x146bdc(0x20b),'dev:staging':_0x146bdc(0x1fe),'build':_0x146bdc(0x239),'build:release':_0x146bdc(0x167),'version':'pnpm\x20version\x20patch\x20--no-git-tag-version'},'dependencies':{'commander':'^11.1.0','zod':_0x146bdc(0x181)},'devDependencies':{'@types/node':_0x146bdc(0x25c),'javascript-obfuscator':_0x146bdc(0x228),'tsup':_0x146bdc(0x20c),'vite':_0x146bdc(0x1ea)},'publishConfig':{'access':_0x146bdc(0x17a)}},DEFAULT_SERVICE_WORKER_PATH=_0x146bdc(0x16a),DEFAULT_RUNTIME_PATH='/assets/enhance-runtime.js',DIST_SERVICE_WORKER_PATH=_0x146bdc(0x1b9),DIST_RUNTIME_PATH=_0x146bdc(0x1c5),PACKAGE_VERSION=typeof package_default[_0x146bdc(0x197)]===_0x146bdc(0x25f)?package_default[_0x146bdc(0x197)]:_0x146bdc(0x1bd);function normalizeAssetPath(_0x18f25a){const _0x436171=_0x146bdc;if(!_0x18f25a)return _0x18f25a;if(_0x18f25a['startsWith'](_0x436171(0x193))||_0x18f25a[_0x436171(0x1d8)](_0x436171(0x220)))return _0x18f25a;const _0xb7cb82=_0x18f25a[_0x436171(0x262)](/^\.\//,'');return _0xb7cb82[_0x436171(0x1d8)]('/')?_0xb7cb82:'/'+_0xb7cb82;}var defaultSwPath=normalizeAssetPath(DEFAULT_SERVICE_WORKER_PATH),defaultRuntimePath=normalizeAssetPath(DEFAULT_RUNTIME_PATH),Enhance2={'init'(_0x58abdb){const _0x103b79=_0x146bdc;return Enhance[_0x103b79(0x22f)](_0x58abdb);},'serviceWorkerURL'(){return defaultSwPath;},'runtimeURL'(){return defaultRuntimePath;},'assetManifest'(){return getAssetManifest();}};function getAssetManifest(){return{'version':PACKAGE_VERSION,'serviceWorker':serviceWorkerURL(),'runtime':runtimeURL(),'serviceWorkerDigest':null,'runtimeDigest':null};}function serviceWorkerURL(){const _0x3e382f=_0x146bdc;return Enhance2[_0x3e382f(0x212)]();}function runtimeURL(){const _0x4f3555=_0x146bdc;return Enhance2[_0x4f3555(0x234)]();}import{promises as _0x24f58a}from'fs';import{createHash}from'crypto';import{dirname,join}from'path';import{fileURLToPath}from'url';var distDir=dirname(fileURLToPath(new URL(_0x146bdc(0x17f),import.meta['url'])));async function syncAssets(_0x32359a){const _0x1c8603=_0x146bdc,_0x48fca7=[{'sourcePath':DIST_SERVICE_WORKER_PATH,'manifestPath':normalizeAssetPath(DEFAULT_SERVICE_WORKER_PATH),'override':_0x32359a[_0x1c8603(0x202)]?'./'+_0x32359a[_0x1c8603(0x202)]:void 0x0},{'sourcePath':DIST_RUNTIME_PATH,'manifestPath':normalizeAssetPath(DEFAULT_RUNTIME_PATH)}],_0x2b2164=[];for(const _0x2b80b7 of _0x48fca7){const _0x4b2896=cleanRelativePath(_0x2b80b7[_0x1c8603(0x1d3)]??_0x2b80b7[_0x1c8603(0x19f)]),_0x5c96a6=join(distDir,cleanRelativePath(_0x2b80b7[_0x1c8603(0x1d2)])),_0x38a9b8=join(_0x32359a[_0x1c8603(0x216)],_0x4b2896),[_0x4f19a9,_0x47a4cb]=await Promise[_0x1c8603(0x20e)]([readDigest(_0x5c96a6),readDigest(_0x38a9b8)]);if(_0x4f19a9&&_0x47a4cb&&_0x4f19a9===_0x47a4cb){_0x2b2164['push']({'sourcePath':_0x5c96a6,'destinationPath':_0x38a9b8,'relativeDestination':_0x4b2896,'status':_0x1c8603(0x1b4)});continue;}await _0x24f58a['mkdir'](dirname(_0x38a9b8),{'recursive':!![]}),await _0x24f58a[_0x1c8603(0x1f7)](_0x5c96a6,_0x38a9b8),_0x2b2164[_0x1c8603(0x1c1)]({'sourcePath':_0x5c96a6,'destinationPath':_0x38a9b8,'relativeDestination':_0x4b2896,'status':_0x1c8603(0x1b3)});}return _0x2b2164;}function cleanRelativePath(_0x4316fb){return _0x4316fb['replace'](/^[./]+/,'');}async function readDigest(_0x1c88c4){const _0x2cac38=_0x146bdc;try{const _0x25564=await _0x24f58a['readFile'](_0x1c88c4);return createHash(_0x2cac38(0x176))[_0x2cac38(0x165)](_0x25564)['digest']('base64');}catch(_0xd65dbf){if(_0xd65dbf[_0x2cac38(0x1db)]===_0x2cac38(0x263))return null;throw _0xd65dbf;}}var program=new Command();program[_0x146bdc(0x1f4)](_0x146bdc(0x230))[_0x146bdc(0x1d1)]('Enhance\x20sandbox\x20utility\x20CLI')[_0x146bdc(0x197)]('0.0.0'),program[_0x146bdc(0x219)](_0x146bdc(0x1ef))['description'](_0x146bdc(0x249))[_0x146bdc(0x1c6)](()=>{const _0x5d752e=_0x146bdc,_0x533200=getAssetManifest();process[_0x5d752e(0x23f)][_0x5d752e(0x23c)](JSON['stringify'](_0x533200,null,0x2)+'\x0a');}),program[_0x146bdc(0x219)]('prepare-sw')[_0x146bdc(0x1d1)](_0x146bdc(0x1d7))[_0x146bdc(0x1f3)]('--public-dir\x20<path>',_0x146bdc(0x1e8))[_0x146bdc(0x203)](_0x146bdc(0x22c),_0x146bdc(0x1e3))[_0x146bdc(0x1c6)](async _0x4202c8=>{const _0x3d6fa8=_0x146bdc,_0x5966db=resolve(process[_0x3d6fa8(0x243)](),_0x4202c8['publicDir']),_0x391a55=await syncAssets({'publicDir':_0x5966db,'swFilename':_0x4202c8[_0x3d6fa8(0x242)]});for(const _0x5248ea of _0x391a55){const _0x401505=relative(process['cwd'](),_0x5248ea[_0x3d6fa8(0x1f5)]);_0x5248ea[_0x3d6fa8(0x1b7)]==='skipped'?process[_0x3d6fa8(0x23f)][_0x3d6fa8(0x23c)](_0x3d6fa8(0x198)+_0x5248ea['relativeDestination']+_0x3d6fa8(0x1a1)+_0x401505+']\x0a'):process[_0x3d6fa8(0x23f)][_0x3d6fa8(0x23c)](_0x3d6fa8(0x1c0)+_0x5248ea[_0x3d6fa8(0x1cc)]+_0x3d6fa8(0x171)+_0x401505+'\x0a');}}),program[_0x146bdc(0x1e7)]();
3
+ const _0x1cff22=_0x2488;(function(_0x173588,_0x3e5202){const _0x1a222b=_0x2488,_0xe2401d=_0x173588();while(!![]){try{const _0x1421f5=-parseInt(_0x1a222b(0x1fa))/0x1*(parseInt(_0x1a222b(0x1e3))/0x2)+parseInt(_0x1a222b(0x20f))/0x3*(parseInt(_0x1a222b(0x1bc))/0x4)+parseInt(_0x1a222b(0x1b4))/0x5*(-parseInt(_0x1a222b(0x193))/0x6)+parseInt(_0x1a222b(0x143))/0x7*(-parseInt(_0x1a222b(0x1b7))/0x8)+-parseInt(_0x1a222b(0x131))/0x9+-parseInt(_0x1a222b(0x1b8))/0xa*(parseInt(_0x1a222b(0x216))/0xb)+parseInt(_0x1a222b(0x180))/0xc*(parseInt(_0x1a222b(0x128))/0xd);if(_0x1421f5===_0x3e5202)break;else _0xe2401d['push'](_0xe2401d['shift']());}catch(_0x1d8326){_0xe2401d['push'](_0xe2401d['shift']());}}}(_0x34e8,0x80b8f));import{Command}from'commander';import{resolve,relative}from'path';var DEFAULT_OVERLAY_PATH=typeof __ENHANCE_DEFAULT_OVERLAY_PATH__!==_0x1cff22(0x1d7)?__ENHANCE_DEFAULT_OVERLAY_PATH__:_0x1cff22(0x1a9),DEFAULT_BACKEND_URL=typeof __ENHANCE_DEFAULT_BACKEND_URL__!=='undefined'?__ENHANCE_DEFAULT_BACKEND_URL__:_0x1cff22(0x1b3),DEFAULT_OVERLAY_HMR=typeof __ENHANCE_OVERLAY_ENABLE_HMR__!==_0x1cff22(0x1d7)?__ENHANCE_OVERLAY_ENABLE_HMR__:![];console[_0x1cff22(0x214)]('[Enhance\x20Config]\x20Build-time\x20defaults:',{'overlayPath':DEFAULT_OVERLAY_PATH,'backendUrl':DEFAULT_BACKEND_URL,'overlayHmr':DEFAULT_OVERLAY_HMR});function normalizeOptions(_0xa824e4){const _0x14d9c5=_0x1cff22,_0x428757=_0xa824e4[_0x14d9c5(0x1b1)]??{};return{'callbackBypass':_0xa824e4[_0x14d9c5(0x168)]??[],'overlay':{'enabled':!![],'position':'bottom-right','enableViteHmr':_0x428757[_0x14d9c5(0x217)]??DEFAULT_OVERLAY_HMR},'logLevel':'info','swPath':'/sw-enhance.js','overlayPath':_0x428757[_0x14d9c5(0x215)]??DEFAULT_OVERLAY_PATH,'runtimeScriptPath':'/assets/enhance-runtime.js','security':_0x428757['security']??_0x14d9c5(0x1e6),'backendUrl':_0x428757['backendUrl']??DEFAULT_BACKEND_URL};}var state={'enabled':![],'controlled':![],'appError':null};function getEnhancementUrl(){const _0x4a3802=_0x1cff22;try{const _0xb990dc=new URLSearchParams(window[_0x4a3802(0x1bb)]['search']);return _0xb990dc[_0x4a3802(0x1ff)](_0x4a3802(0x13b))?.[_0x4a3802(0x186)]()||'';}catch{return'';}}var LOG_PREFIX=_0x1cff22(0x1c7),overlayController=null,overlayLoadPromise=null,toggleHandler=null,currentOptions=null;async function loadOverlay(_0xaa8c1){const _0x1ce702=_0x1cff22;console[_0x1ce702(0x214)](LOG_PREFIX+_0x1ce702(0x1f5)),console[_0x1ce702(0x214)](LOG_PREFIX+_0x1ce702(0x130)+_0xaa8c1[_0x1ce702(0x215)]),console[_0x1ce702(0x214)](LOG_PREFIX+_0x1ce702(0x12a)+_0xaa8c1[_0x1ce702(0x1f7)]),currentOptions=_0xaa8c1[_0x1ce702(0x1cb)],toggleHandler=_0xaa8c1['onToggle'];if(overlayController){console[_0x1ce702(0x214)](LOG_PREFIX+'\x20Controller\x20already\x20exists\x20-\x20updating\x20overlay'),updateOverlay();return;}if(overlayLoadPromise)return console['log'](LOG_PREFIX+_0x1ce702(0x19f)),overlayLoadPromise;console[_0x1ce702(0x214)](LOG_PREFIX+_0x1ce702(0x1f3)),overlayLoadPromise=doLoadOverlay(_0xaa8c1);try{await overlayLoadPromise,console[_0x1ce702(0x214)](LOG_PREFIX+_0x1ce702(0x21f));}catch(_0x119194){console['error'](LOG_PREFIX+_0x1ce702(0x1b9),_0x119194);}finally{overlayLoadPromise=null;}}async function doLoadOverlay(_0x3a4f69){const _0x40cab7=_0x1cff22;console[_0x40cab7(0x214)](LOG_PREFIX+_0x40cab7(0x1ab));if(typeof window===_0x40cab7(0x1d7)){console[_0x40cab7(0x214)](LOG_PREFIX+_0x40cab7(0x17d));return;}if(window[_0x40cab7(0x1a3)]){console[_0x40cab7(0x214)](LOG_PREFIX+_0x40cab7(0x13d)),overlayController=window['__enhanceOverlay'];return;}console[_0x40cab7(0x214)](LOG_PREFIX+_0x40cab7(0x1f9));try{_0x3a4f69[_0x40cab7(0x1f7)]&&(console[_0x40cab7(0x214)](LOG_PREFIX+_0x40cab7(0x176)),await setupRemoteHMR(_0x3a4f69[_0x40cab7(0x215)]));console[_0x40cab7(0x214)](LOG_PREFIX+'\x20Importing\x20overlay\x20module\x20from:\x20'+_0x3a4f69[_0x40cab7(0x215)]);const _0x11fd44=Date['now'](),_0x29d818=await import(_0x3a4f69[_0x40cab7(0x215)]);console[_0x40cab7(0x214)](LOG_PREFIX+_0x40cab7(0x173)+(Date[_0x40cab7(0x17f)]()-_0x11fd44)+'ms'),console[_0x40cab7(0x214)](LOG_PREFIX+_0x40cab7(0x16c),Object[_0x40cab7(0x139)](_0x29d818));if(typeof _0x29d818?.[_0x40cab7(0x15c)]!==_0x40cab7(0x1c4)){console[_0x40cab7(0x1eb)](LOG_PREFIX+_0x40cab7(0x189)),console[_0x40cab7(0x1eb)](LOG_PREFIX+_0x40cab7(0x1a8),Object[_0x40cab7(0x139)](_0x29d818));return;}console[_0x40cab7(0x214)](LOG_PREFIX+_0x40cab7(0x19e));const _0x13d096=_0x29d818['createOverlay']();console[_0x40cab7(0x214)](LOG_PREFIX+_0x40cab7(0x13c),_0x13d096),overlayController=_0x13d096,window[_0x40cab7(0x1a3)]=_0x13d096,_0x13d096['onToggle'](_0x3a4f69[_0x40cab7(0x1fc)]),console[_0x40cab7(0x214)](LOG_PREFIX+_0x40cab7(0x1c3)),console[_0x40cab7(0x214)](LOG_PREFIX+_0x40cab7(0x1ac)),updateOverlay();}catch(_0x5b730d){console[_0x40cab7(0x1eb)](LOG_PREFIX+_0x40cab7(0x179),_0x5b730d);}}function updateOverlay(){const _0x1d7303=_0x1cff22;console[_0x1d7303(0x214)](LOG_PREFIX+'\x20updateOverlay()\x20called'),console[_0x1d7303(0x214)](LOG_PREFIX+_0x1d7303(0x206)+!!overlayController),console[_0x1d7303(0x214)](LOG_PREFIX+_0x1d7303(0x1cf)+!!currentOptions);if(!overlayController||!currentOptions){console[_0x1d7303(0x214)](LOG_PREFIX+'\x20Missing\x20controller\x20or\x20options\x20-\x20skipping\x20update');return;}const _0x24fd63=composeOverlayState(currentOptions);console[_0x1d7303(0x214)](LOG_PREFIX+'\x20Updating\x20overlay\x20with\x20state:',JSON[_0x1d7303(0x175)](_0x24fd63,null,0x2)),overlayController['update'](_0x24fd63),console['log'](LOG_PREFIX+'\x20Overlay\x20update\x20complete');}function composeOverlayState(_0x181c94){const _0x2895a4=_0x1cff22,_0x50c61e=getEnhancementUrl();return console[_0x2895a4(0x214)](LOG_PREFIX+_0x2895a4(0x17e)+_0x50c61e),console[_0x2895a4(0x214)](LOG_PREFIX+_0x2895a4(0x156)+state[_0x2895a4(0x200)]),console[_0x2895a4(0x214)](LOG_PREFIX+_0x2895a4(0x221)+state['controlled']),{'enhancementUrl':_0x50c61e,'enabled':state[_0x2895a4(0x200)],'controlled':state[_0x2895a4(0x138)],'overlayPosition':_0x181c94[_0x2895a4(0x133)][_0x2895a4(0x1dc)],'securityMode':_0x181c94['security'],'backendBaseUrl':_0x181c94[_0x2895a4(0x172)],'appError':state['appError']};}async function setupRemoteHMR(_0x4a830b){const _0xed8f92=_0x1cff22;console[_0xed8f92(0x214)](LOG_PREFIX+_0xed8f92(0x1a6)+_0x4a830b);if(typeof window===_0xed8f92(0x1d7))return;try{const _0x5c9af0=new URL(_0x4a830b,window[_0xed8f92(0x1bb)][_0xed8f92(0x1d9)]),_0x1d6008=_0x5c9af0[_0xed8f92(0x1d9)];console[_0xed8f92(0x214)](LOG_PREFIX+_0xed8f92(0x147)+_0x1d6008+_0xed8f92(0x20b)+window[_0xed8f92(0x1bb)]['origin']);if(_0x1d6008===window[_0xed8f92(0x1bb)][_0xed8f92(0x1d9)]){console['log'](LOG_PREFIX+_0xed8f92(0x174));return;}console[_0xed8f92(0x214)](LOG_PREFIX+_0xed8f92(0x191)),await ensureReactRefreshPreamble(_0x1d6008),await ensureViteClient(_0x1d6008),console['log'](LOG_PREFIX+'\x20HMR\x20setup\x20complete');}catch(_0x48e685){console[_0xed8f92(0x202)](LOG_PREFIX+_0xed8f92(0x148),_0x48e685);}}async function ensureReactRefreshPreamble(_0x3b07be){const _0x1250d6=_0x1cff22;window[_0x1250d6(0x14b)]??=new Set();if(window[_0x1250d6(0x14b)][_0x1250d6(0x1ba)](_0x3b07be)){console['log'](LOG_PREFIX+_0x1250d6(0x1bf)+_0x3b07be);return;}console[_0x1250d6(0x214)](LOG_PREFIX+_0x1250d6(0x192)+_0x3b07be+_0x1250d6(0x166));const _0xbd938d=await import(_0x3b07be+'/@react-refresh'),_0x4e3956=_0xbd938d&&typeof _0xbd938d==='object'&&_0x1250d6(0x1c6)in _0xbd938d?_0xbd938d[_0x1250d6(0x1c6)]:_0xbd938d;if(!isRefreshRuntime(_0x4e3956)){console[_0x1250d6(0x202)](LOG_PREFIX+_0x1250d6(0x224));return;}_0x4e3956[_0x1250d6(0x1c1)](window),window[_0x1250d6(0x127)]=()=>{},window[_0x1250d6(0x12b)]=()=>_0x3ddce2=>_0x3ddce2,window['__vite_plugin_react_preamble_installed__']=!![],window['__enhanceReactRefreshInstalledOrigins']['add'](_0x3b07be),console['log'](LOG_PREFIX+_0x1250d6(0x207)+_0x3b07be);}async function ensureViteClient(_0x2ac89){const _0x517fb1=_0x1cff22;window[_0x517fb1(0x1f1)]??=new Set();if(window['__viteHMRLoaded'][_0x517fb1(0x1ba)](_0x2ac89)){console['log'](LOG_PREFIX+_0x517fb1(0x177)+_0x2ac89);return;}console[_0x517fb1(0x214)](LOG_PREFIX+'\x20Loading\x20Vite\x20HMR\x20client\x20from\x20'+_0x2ac89+_0x517fb1(0x166)),await import(_0x2ac89+'/@vite/client'),window['__viteHMRLoaded']['add'](_0x2ac89),console['log'](LOG_PREFIX+_0x517fb1(0x14e)+_0x2ac89);}function isRefreshRuntime(_0x13850d){const _0x492f65=_0x1cff22;return typeof _0x13850d==='object'&&_0x13850d!==null&&_0x492f65(0x1c1)in _0x13850d&&typeof _0x13850d[_0x492f65(0x1c1)]===_0x492f65(0x1c4);}var WORKER_MESSAGE_CONFIG=_0x1cff22(0x18c),WORKER_MESSAGE_DISABLE=_0x1cff22(0x204),LOG_PREFIX2='[Enhance\x20SW-Client]',registration=null,currentOptions2=null;async function registerServiceWorker(_0x350c45){const _0x16aede=_0x1cff22;console[_0x16aede(0x214)](LOG_PREFIX2+_0x16aede(0x1d2)),console[_0x16aede(0x214)](LOG_PREFIX2+_0x16aede(0x1e1)+_0x350c45[_0x16aede(0x178)]);if(!('serviceWorker'in navigator)){console[_0x16aede(0x202)](LOG_PREFIX2+_0x16aede(0x155));return;}console[_0x16aede(0x214)](LOG_PREFIX2+_0x16aede(0x14d));const _0x4ea79b=navigator[_0x16aede(0x1e4)][_0x16aede(0x201)];console[_0x16aede(0x214)](LOG_PREFIX2+_0x16aede(0x167),_0x4ea79b?.[_0x16aede(0x1e5)]??_0x16aede(0x196)),console[_0x16aede(0x214)](LOG_PREFIX2+'\x20Controller\x20state:',_0x4ea79b?.[_0x16aede(0x1c8)]??'N/A');const _0x508d8b=!!_0x4ea79b;currentOptions2=_0x350c45,console[_0x16aede(0x214)](LOG_PREFIX2+'\x20Checking\x20for\x20blocking\x20service\x20worker...');const _0x43961f=await detectBlockingServiceWorker(_0x350c45[_0x16aede(0x178)]);if(_0x43961f){console[_0x16aede(0x1eb)](LOG_PREFIX2+_0x16aede(0x187)+_0x43961f),console['error'](LOG_PREFIX2+_0x16aede(0x1e9));return;}console['log'](LOG_PREFIX2+_0x16aede(0x20c));try{console[_0x16aede(0x214)](LOG_PREFIX2+'\x20Registering\x20SW\x20at\x20'+_0x350c45[_0x16aede(0x178)]+_0x16aede(0x14c)),registration=await navigator['serviceWorker'][_0x16aede(0x16b)](_0x350c45[_0x16aede(0x178)],{'scope':'/'}),console[_0x16aede(0x214)](LOG_PREFIX2+_0x16aede(0x1db),{'scope':registration['scope'],'active':registration[_0x16aede(0x1f0)]?.[_0x16aede(0x1e5)],'waiting':registration['waiting']?.[_0x16aede(0x1e5)],'installing':registration[_0x16aede(0x1cc)]?.[_0x16aede(0x1e5)]}),console['log'](LOG_PREFIX2+_0x16aede(0x15b));const _0x2d3e40=await navigator['serviceWorker'][_0x16aede(0x16d)];console[_0x16aede(0x214)](LOG_PREFIX2+_0x16aede(0x142),_0x2d3e40[_0x16aede(0x1f0)]?.['scriptURL']);const _0x281c6f=ownsCurrentController(_0x350c45[_0x16aede(0x178)]);state[_0x16aede(0x138)]=_0x281c6f,console['log'](LOG_PREFIX2+_0x16aede(0x1fe)+_0x281c6f),console['log'](LOG_PREFIX2+_0x16aede(0x1ea),navigator['serviceWorker'][_0x16aede(0x201)]?.[_0x16aede(0x1e5)]??_0x16aede(0x196));if(!_0x508d8b&&!navigator[_0x16aede(0x1e4)][_0x16aede(0x201)]){console['log'](LOG_PREFIX2+_0x16aede(0x19a)),window[_0x16aede(0x1bb)][_0x16aede(0x185)]();return;}console[_0x16aede(0x214)](LOG_PREFIX2+'\x20Sending\x20customer\x20configuration...'),await sendConfiguration();if(state[_0x16aede(0x200)]){const _0x3d956b=document[_0x16aede(0x197)]('[data-enhance-runtime-bootstrap]')!==null;console['log'](LOG_PREFIX2+_0x16aede(0x18e)+_0x3d956b);if(!_0x3d956b){console[_0x16aede(0x214)](LOG_PREFIX2+'\x20Page\x20not\x20enhanced\x20by\x20SW\x20-\x20reloading\x20to\x20apply\x20enhancement'),window[_0x16aede(0x1bb)][_0x16aede(0x185)]();return;}}console[_0x16aede(0x214)](LOG_PREFIX2+_0x16aede(0x1dd)),updateOverlay(),console[_0x16aede(0x214)](LOG_PREFIX2+'\x20registerServiceWorker()\x20complete');}catch(_0x20a5f5){console[_0x16aede(0x1eb)](LOG_PREFIX2+_0x16aede(0x160),_0x20a5f5);}}async function sendConfiguration(){const _0x356548=_0x1cff22;console[_0x356548(0x214)](LOG_PREFIX2+'\x20sendConfiguration()\x20called'),console[_0x356548(0x214)](LOG_PREFIX2+_0x356548(0x12f)+state['enabled']+_0x356548(0x171)+!!currentOptions2);if(!state[_0x356548(0x200)]||!currentOptions2){console[_0x356548(0x214)](LOG_PREFIX2+_0x356548(0x137));return;}const _0x266e10=await resolveWorker();if(!_0x266e10){console[_0x356548(0x202)](LOG_PREFIX2+'\x20No\x20service\x20worker\x20active\x20to\x20configure');return;}const _0x164315={'callbackBypass':currentOptions2['callbackBypass'],'securityMode':currentOptions2[_0x356548(0x1ae)]};console['log'](LOG_PREFIX2+_0x356548(0x14a),JSON['stringify'](_0x164315,null,0x2)),_0x266e10['postMessage']({'type':WORKER_MESSAGE_CONFIG,'config':_0x164315}),console['log'](LOG_PREFIX2+'\x20Config\x20sent\x20to\x20SW');}async function unregisterServiceWorker(_0x4cd52e){const _0x37e319=_0x1cff22;console[_0x37e319(0x214)](LOG_PREFIX2+_0x37e319(0x209));if(!(_0x37e319(0x1e4)in navigator)){console[_0x37e319(0x214)](LOG_PREFIX2+'\x20No\x20serviceWorker\x20support\x20-\x20nothing\x20to\x20unregister');return;}try{const _0x447571=registration??await navigator['serviceWorker'][_0x37e319(0x208)]('/');if(!_0x447571){console[_0x37e319(0x214)](LOG_PREFIX2+_0x37e319(0x17c));return;}console[_0x37e319(0x214)](LOG_PREFIX2+'\x20Found\x20registration:',{'scope':_0x447571[_0x37e319(0x15f)],'active':_0x447571[_0x37e319(0x1f0)]?.[_0x37e319(0x1e5)],'waiting':_0x447571[_0x37e319(0x1ef)]?.[_0x37e319(0x1e5)],'installing':_0x447571[_0x37e319(0x1cc)]?.[_0x37e319(0x1e5)]});const _0x54458b=[_0x447571[_0x37e319(0x1f0)]?.[_0x37e319(0x1e5)],_0x447571[_0x37e319(0x1ef)]?.[_0x37e319(0x1e5)],_0x447571['installing']?.[_0x37e319(0x1e5)]],_0x5ab2e4=_0x54458b[_0x37e319(0x1ca)](_0x5d9b4b=>_0x5d9b4b&&ownsServiceWorker(_0x5d9b4b,_0x4cd52e));if(!_0x5ab2e4){console[_0x37e319(0x214)](LOG_PREFIX2+'\x20Registration\x20is\x20not\x20ours\x20-\x20not\x20unregistering');return;}_0x447571[_0x37e319(0x1f0)]&&(console['log'](LOG_PREFIX2+_0x37e319(0x1d1)),_0x447571['active'][_0x37e319(0x13a)]({'type':WORKER_MESSAGE_DISABLE})),console[_0x37e319(0x214)](LOG_PREFIX2+_0x37e319(0x158)),await _0x447571[_0x37e319(0x162)](),registration=null,currentOptions2=null,console[_0x37e319(0x214)](LOG_PREFIX2+'\x20SW\x20unregistered\x20successfully');}catch(_0x35560f){console['error'](LOG_PREFIX2+_0x37e319(0x15a),_0x35560f);}}function ownsServiceWorker(_0x425bfb,_0x2003aa){const _0x383a39=_0x1cff22,_0x360aca=typeof window!=='undefined'?window[_0x383a39(0x1bb)][_0x383a39(0x1d9)]:'',_0xdd6186=new URL(_0x2003aa,_0x360aca||void 0x0)[_0x383a39(0x1d0)],_0x29153b=_0x425bfb===_0xdd6186||_0x425bfb[_0x383a39(0x13f)]('sw-enhance');return console[_0x383a39(0x214)](LOG_PREFIX2+_0x383a39(0x19c)+_0x425bfb+',\x20expected='+_0xdd6186+_0x383a39(0x1e2)+_0x29153b),_0x29153b;}function _0x2488(_0x2ca8e8,_0x182fea){_0x2ca8e8=_0x2ca8e8-0x127;const _0x34e80a=_0x34e8();let _0x2488f5=_0x34e80a[_0x2ca8e8];return _0x2488f5;}function ownsCurrentController(_0x5cb7aa){const _0x7b4b4d=_0x1cff22;if(typeof navigator===_0x7b4b4d(0x1d7))return![];const _0x29fc41=navigator['serviceWorker']?.['controller'];if(!_0x29fc41)return console[_0x7b4b4d(0x214)](LOG_PREFIX2+_0x7b4b4d(0x132)),![];return ownsServiceWorker(_0x29fc41['scriptURL'],_0x5cb7aa);}async function detectBlockingServiceWorker(_0x1fafed){const _0x2b1219=_0x1cff22;if(!navigator[_0x2b1219(0x1e4)])return null;try{const _0x215817=await navigator[_0x2b1219(0x1e4)][_0x2b1219(0x208)]('/');console[_0x2b1219(0x214)](LOG_PREFIX2+_0x2b1219(0x144),_0x215817?.[_0x2b1219(0x1f0)]?.[_0x2b1219(0x1e5)]??_0x2b1219(0x196));const _0x4c77fa=_0x215817?.['active']?.['scriptURL'];if(!_0x4c77fa)return null;if(ownsServiceWorker(_0x4c77fa,_0x1fafed))return null;return _0x4c77fa;}catch(_0x790177){return console[_0x2b1219(0x1eb)](LOG_PREFIX2+_0x2b1219(0x15e),_0x790177),null;}}async function resolveWorker(){const _0x535336=_0x1cff22,_0x2a09c3=registration??await navigator[_0x535336(0x1e4)]?.[_0x535336(0x208)]('/'),_0x287483=_0x2a09c3?.['active']??_0x2a09c3?.[_0x535336(0x1ef)]??_0x2a09c3?.[_0x535336(0x1cc)]??null;return console[_0x535336(0x214)](LOG_PREFIX2+_0x535336(0x1a5),_0x287483?.['scriptURL']??'none','state:\x20'+(_0x287483?.[_0x535336(0x1c8)]??_0x535336(0x151))),_0x287483;}var LOG_PREFIX3='[Enhance\x20Runtime]';function isInitialized(){const _0x3a5091=_0x1cff22;return typeof window!==_0x3a5091(0x1d7)&&window[_0x3a5091(0x203)]===!![];}function setInitialized(_0x4622f0){const _0x57f854=_0x1cff22;typeof window!==_0x57f854(0x1d7)&&(window[_0x57f854(0x203)]=_0x4622f0);}function getOptions(){const _0x2ab8ee=_0x1cff22;return typeof window!==_0x2ab8ee(0x1d7)?window['__enhanceOptions']??null:null;}function setOptions(_0x338925){const _0x5b1176=_0x1cff22;typeof window!=='undefined'&&(window[_0x5b1176(0x169)]=_0x338925);}var Enhance={'init'(_0x4e9ffb={}){const _0x1ce6c3=_0x1cff22,_0x232091=Date[_0x1ce6c3(0x17f)]();console[_0x1ce6c3(0x214)](LOG_PREFIX3+_0x1ce6c3(0x14f)+_0x232091),console[_0x1ce6c3(0x214)](LOG_PREFIX3+'\x20Current\x20URL:\x20'+window['location'][_0x1ce6c3(0x1d0)]),console[_0x1ce6c3(0x214)](LOG_PREFIX3+_0x1ce6c3(0x136)+document['readyState']),console[_0x1ce6c3(0x214)](LOG_PREFIX3+'\x20Raw\x20options:',JSON[_0x1ce6c3(0x175)](_0x4e9ffb,null,0x2));if(isInitialized())return console[_0x1ce6c3(0x202)](LOG_PREFIX3+_0x1ce6c3(0x220)),window[_0x1ce6c3(0x1ec)]??createController();setInitialized(!![]),console[_0x1ce6c3(0x214)](LOG_PREFIX3+_0x1ce6c3(0x183));const _0x4a00ec=normalizeOptions(_0x4e9ffb);setOptions(_0x4a00ec),console['log'](LOG_PREFIX3+_0x1ce6c3(0x20e),JSON['stringify'](_0x4a00ec,null,0x2));const _0x4dab00=parseUrlParams();console[_0x1ce6c3(0x214)](LOG_PREFIX3+_0x1ce6c3(0x223),JSON[_0x1ce6c3(0x175)](_0x4dab00,null,0x2));if(_0x4dab00[_0x1ce6c3(0x140)])return cleanUrlParam(_0x1ce6c3(0x1f2)),console[_0x1ce6c3(0x214)](LOG_PREFIX3+_0x1ce6c3(0x19d)),createController();if(_0x4dab00['hasEnhancement'])return console[_0x1ce6c3(0x214)](LOG_PREFIX3+_0x1ce6c3(0x1b5)),console[_0x1ce6c3(0x214)](LOG_PREFIX3+_0x1ce6c3(0x150)+_0x4dab00[_0x1ce6c3(0x13b)]),console[_0x1ce6c3(0x214)](LOG_PREFIX3+_0x1ce6c3(0x1ed)+_0x4dab00[_0x1ce6c3(0x1d4)]),state['enabled']=!![],console['log'](LOG_PREFIX3+_0x1ce6c3(0x21c)),void loadOverlay({'overlayPath':_0x4a00ec[_0x1ce6c3(0x215)],'enableViteHmr':_0x4a00ec['overlay'][_0x1ce6c3(0x1f7)],'options':_0x4a00ec,'onToggle':handleToggle}),console[_0x1ce6c3(0x214)](LOG_PREFIX3+'\x20Starting\x20SW\x20registration\x20(async)...'),void registerServiceWorker(_0x4a00ec),console[_0x1ce6c3(0x214)](LOG_PREFIX3+_0x1ce6c3(0x16f)),createController();return console[_0x1ce6c3(0x214)](LOG_PREFIX3+_0x1ce6c3(0x17b)),console['log'](LOG_PREFIX3+_0x1ce6c3(0x15d)),void unregisterServiceWorker(_0x4a00ec[_0x1ce6c3(0x178)]),console[_0x1ce6c3(0x214)](LOG_PREFIX3+_0x1ce6c3(0x1bd)),import.meta.hot&&(console[_0x1ce6c3(0x214)](LOG_PREFIX3+_0x1ce6c3(0x145)),import.meta.hot['on']('vite:error',_0x1db26b=>{const _0x3bfd0c=_0x1ce6c3;console[_0x3bfd0c(0x214)](LOG_PREFIX3+'\x20Vite\x20error\x20detected:',_0x1db26b),state[_0x3bfd0c(0x141)]={'message':_0x1db26b['err']['message']},updateOverlay();}),import.meta.hot['on'](_0x1ce6c3(0x1ad),()=>{const _0x536fc8=_0x1ce6c3;state[_0x536fc8(0x141)]&&(console[_0x536fc8(0x214)](LOG_PREFIX3+_0x536fc8(0x1c2)),state[_0x536fc8(0x141)]=null,updateOverlay());})),createController();}};function createController(){const _0x3c6285={'enable'(){const _0x536700=_0x2488,_0x101777=getOptions();if(!_0x101777)return;state[_0x536700(0x200)]=!![],void loadOverlay({'overlayPath':_0x101777[_0x536700(0x215)],'enableViteHmr':_0x101777[_0x536700(0x133)][_0x536700(0x1f7)],'options':_0x101777,'onToggle':handleToggle}),void registerServiceWorker(_0x101777),void sendConfiguration(),updateOverlay();},'disable'(){const _0x2d8bfe=_0x2488,_0x136043=getOptions();if(!_0x136043)return;state[_0x2d8bfe(0x200)]=![],state[_0x2d8bfe(0x138)]=![],updateOverlay(),void unregisterServiceWorker(_0x136043[_0x2d8bfe(0x178)]);},'status'(){const _0x3e8d2a=_0x2488;return{'enabled':state[_0x3e8d2a(0x200)],'controlled':state['controlled']};}};return typeof window!=='undefined'&&(window['__enhanceController']=_0x3c6285),_0x3c6285;}function handleToggle(){const _0x1759bc=_0x1cff22,_0x574da4=createController();state[_0x1759bc(0x200)]?_0x574da4[_0x1759bc(0x12d)]():_0x574da4[_0x1759bc(0x1a7)]();}function parseUrlParams(){const _0x142101=_0x1cff22,_0x5cc288=new URL(window[_0x142101(0x1bb)][_0x142101(0x1d0)]),_0x2befc9=_0x5cc288[_0x142101(0x1f6)]['get']('enhance')?.[_0x142101(0x1e7)](),_0x40fbad=_0x5cc288['searchParams'][_0x142101(0x1ff)]('enhancementUrl'),_0x21ba3a=_0x5cc288[_0x142101(0x1f6)][_0x142101(0x1ff)](_0x142101(0x1d6));return{'hasEnhancement':Boolean(_0x40fbad||_0x21ba3a),'explicitDisable':_0x2befc9==='0'||_0x2befc9===_0x142101(0x1de)||_0x2befc9===_0x142101(0x170),'enhancementUrl':_0x40fbad,'enhancementId':_0x21ba3a};}function cleanUrlParam(_0x487c87){const _0x51405d=_0x1cff22,_0x438a04=new URL(window[_0x51405d(0x1bb)][_0x51405d(0x1d0)]);_0x438a04['searchParams'][_0x51405d(0x1ba)](_0x487c87)&&(_0x438a04[_0x51405d(0x1f6)]['delete'](_0x487c87),window[_0x51405d(0x17a)][_0x51405d(0x1e0)](null,document[_0x51405d(0x18d)],_0x438a04[_0x51405d(0x1ce)]()));}function _0x34e8(){const _0x1b8f6d=['replace','toString','\x20currentOptions\x20exists:\x20','href','\x20Sending\x20DISABLE\x20message\x20to\x20SW...','\x20registerServiceWorker()\x20called','Copy\x20the\x20service\x20worker\x20and\x20overlay\x20bundle\x20into\x20a\x20public\x20directory','enhancementId','base64','enhancement','undefined','Print\x20the\x20current\x20asset\x20manifest','origin','push','\x20Registration\x20returned:','position','\x20Updating\x20overlay...','false','copied','replaceState','\x20swPath:\x20',',\x20owns=','58nQIoPs','serviceWorker','scriptURL','permissive','toLowerCase','version','\x20Enhancement\x20features\x20will\x20NOT\x20work\x20until\x20it\x20is\x20unregistered','\x20Current\x20controller\x20after\x20ready:','error','__enhanceController','\x20enhancementId:\x20','runtimeURL','waiting','active','__viteHMRLoaded','enhance','\x20Starting\x20fresh\x20overlay\x20load...','--public-dir\x20<path>','\x20loadOverlay()\x20called','searchParams','enableViteHmr','string','\x20No\x20cached\x20controller\x20-\x20will\x20import\x20module','9244FPHUkE','ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=https://overlay.localhost:8099\x20tsup','onToggle','all','\x20Page\x20controlled\x20by\x20our\x20SW:\x20','get','enabled','controller','warn','__enhanceInitialized','enhance:disable','manifestPath','\x20overlayController\x20exists:\x20','\x20React\x20Refresh\x20runtime\x20installed\x20for\x20','getRegistration','\x20unregisterServiceWorker()\x20called','ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=https://overlay.localhost:8099\x20tsup\x20--watch',',\x20page\x20origin:\x20','\x20No\x20blocking\x20SW\x20found','https://','\x20Normalized\x20options:','17373cMyarQ','^11.1.0','description','0.3.17','mkdir','log','overlayPath','451ZYehAv','enableOverlayHmr','Enhance\x20preview\x20bootstrap\x20and\x20tooling\x20package.','ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=https://enhance-api-dev.enhancelabs.workers.dev\x20tsup','\x20→\x20','^7.2.4','\x20Starting\x20overlay\x20load\x20(async)...','publicDir','cwd','\x20loadOverlay()\x20complete','\x20Already\x20initialized\x20(window.__enhanceInitialized=true)\x20-\x20returning\x20existing\x20controller','\x20composeOverlayState\x20-\x20state.controlled:\x20','--filename\x20<name>','\x20URL\x20params\x20parsed:','\x20Invalid\x20React\x20Refresh\x20runtime','$RefreshReg$','13ohHDYK','write','\x20enableViteHmr:\x20','$RefreshSig$','ENHANCE_OVERLAY_PATH=https://assets.enhancelabs.ai/overlay.js\x20ENHANCE_BACKEND_URL=https://api.enhancelabs.ai\x20OBFUSCATE=1\x20RELEASE=1\x20tsup','disable','destinationPath','\x20state.enabled:\x20','\x20overlayPath:\x20','602460KzWDZM','\x20No\x20current\x20controller','overlay','copyFile','bun\x20version\x20patch\x20--no-git-tag-version','\x20Document\x20readyState:\x20','\x20Skipping\x20-\x20not\x20enabled\x20or\x20no\x20options','controlled','keys','postMessage','enhancementUrl','\x20Controller\x20created:','\x20Found\x20cached\x20overlay\x20controller\x20on\x20window.__enhanceOverlay\x20-\x20skipping\x20reinit','./dev/vite/index.js','includes','explicitDisable','appError','\x20SW\x20ready!\x20Active:','7ZgLrjf','\x20detectBlocking\x20-\x20existing\x20registration:','\x20Setting\x20up\x20Vite\x20HMR\x20error\x20listeners','action','\x20Overlay\x20origin:\x20','\x20Failed\x20to\x20prepare\x20remote\x20HMR\x20(non-fatal):','0.0.0','\x20Sending\x20customer\x20config\x20to\x20SW:','__enhanceReactRefreshInstalledOrigins','\x20with\x20scope\x20\x27/\x27...','\x20Service\x20workers\x20supported','\x20Vite\x20HMR\x20client\x20loaded\x20for\x20','\x20init()\x20called\x20at\x20','\x20enhancementUrl:\x20','N/A','Override\x20the\x20service\x20worker\x20output\x20filename\x20(defaults\x20to\x20sw-enhance.js)','/sw-enhance.js','code','\x20Service\x20workers\x20NOT\x20supported\x20in\x20this\x20browser','\x20composeOverlayState\x20-\x20state.enabled:\x20','^24.10.1','\x20Unregistering\x20SW...','enhance-sandbox','\x20Failed\x20to\x20unregister\x20service\x20worker:','\x20Waiting\x20for\x20navigator.serviceWorker.ready...','createOverlay','\x20Unregistering\x20any\x20existing\x20SW...','\x20detectBlocking\x20error:','scope','\x20Failed\x20to\x20register\x20service\x20worker:','override','unregister','assets/enhance-runtime.js','./dev/cli.js','init','...','\x20Current\x20controller:','callbackBypass','__enhanceOptions','./dev/index.d.ts','register','\x20Module\x20exports:','ready','Copied\x20','\x20init()\x20complete\x20-\x20enhancement\x20mode','off',',\x20currentOptions:\x20','backendUrl','\x20Module\x20imported\x20in\x20','\x20Same\x20origin\x20-\x20skipping\x20HMR\x20setup','stringify','\x20Setting\x20up\x20remote\x20HMR...','\x20Vite\x20client\x20already\x20loaded\x20for\x20','swPath','\x20Failed\x20to\x20import/create\x20overlay:','history','\x20Normal\x20mode\x20-\x20no\x20enhancement\x20params','\x20No\x20registration\x20found\x20-\x20nothing\x20to\x20unregister','\x20No\x20window\x20object\x20-\x20skipping','\x20composeOverlayState\x20-\x20enhancementUrl:\x20','now','16196244DcdoBB','ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=https://enhance-api-dev.enhancelabs.workers.dev\x20tsup\x20--watch','digest','\x20First\x20initialization','option','reload','trim','\x20BLOCKING\x20SW\x20detected:\x20','MIT','\x20Module\x20missing\x20createOverlay\x20export!','tsc\x20--noEmit','relativeDestination','enhance:configure','title','\x20Enhancement\x20detection:\x20wasEnhanced=','filename','./dev/index.js','\x20Cross-origin\x20overlay\x20-\x20setting\x20up\x20HMR...','\x20Installing\x20React\x20Refresh\x20runtime\x20from\x20','6CBuLrT','../dist/index.js','sha256','none','querySelector','/assets/enhance-runtime.js','update','\x20Page\x20was\x20not\x20controlled\x20-\x20SW\x20just\x20activated.\x20Reloading\x20to\x20enable\x20enhancement...','swFilename','\x20ownsServiceWorker?\x20scriptURL=','\x20Explicit\x20disable\x20via\x20URL\x20param\x20-\x20exiting','\x20Calling\x20createOverlay()...','\x20Load\x20already\x20in\x20progress\x20-\x20waiting...','dev/','serviceWorkerURL','ENOENT','__enhanceOverlay','startsWith','\x20resolveWorker:','\x20setupRemoteHMR()\x20for\x20','enable','\x20Available\x20exports:','https://assets.enhancelabs.ai/overlay.js','@enhance-eng/sandbox','\x20doLoadOverlay()\x20starting...','\x20Calling\x20updateOverlay()...','vite:beforeUpdate','security','Skipped\x20','ENHANCE_OVERLAY_PATH=https://assets.enhancelabs.ai/overlay.js\x20ENHANCE_BACKEND_URL=https://api.enhancelabs.ai\x20tsup','__development','Directory\x20to\x20copy\x20the\x20service\x20worker\x20into','https://api.enhancelabs.ai','667865YpRBaA','\x20Enhancement\x20mode\x20ENABLED','manifest','2307640YJuDyT','137420ldcHdf','\x20loadOverlay()\x20failed:','has','location','344LPuYuu','\x20init()\x20complete\x20-\x20normal\x20mode','http://','\x20React\x20Refresh\x20already\x20installed\x20for\x20','module','injectIntoGlobalHook','\x20Vite\x20update\x20pending\x20-\x20clearing\x20error','\x20Overlay\x20controller\x20initialized\x20and\x20cached','function','public','default','[Enhance\x20Overlay]','state','prepare-sw','some','options','installing'];_0x34e8=function(){return _0x1b8f6d;};return _0x34e8();}var package_default={'name':_0x1cff22(0x1aa),'version':_0x1cff22(0x212),'type':_0x1cff22(0x1c0),'description':_0x1cff22(0x218),'license':_0x1cff22(0x188),'main':'./dev/index.js','module':'./dev/index.js','types':_0x1cff22(0x16a),'exports':{'.':{'types':_0x1cff22(0x16a),'import':_0x1cff22(0x190)},'./vite':{'types':'./dev/vite/index.d.ts','import':_0x1cff22(0x13e)}},'files':[_0x1cff22(0x1a0)],'bin':{'enhance-sandbox':_0x1cff22(0x164)},'scripts':{'typecheck':_0x1cff22(0x18a),'dev':_0x1cff22(0x20a),'dev:build':_0x1cff22(0x1fb),'dev:staging':_0x1cff22(0x181),'dev:staging:build':_0x1cff22(0x219),'build':_0x1cff22(0x1b0),'build:release':_0x1cff22(0x12c),'version':_0x1cff22(0x135)},'dependencies':{'commander':_0x1cff22(0x210),'zod':'^3.22.4'},'devDependencies':{'@types/node':_0x1cff22(0x157),'javascript-obfuscator':'^4.1.1','tsup':'^8.5.1','vite':_0x1cff22(0x21b)},'publishConfig':{'access':_0x1cff22(0x1c5)}},DEFAULT_SERVICE_WORKER_PATH=_0x1cff22(0x153),DEFAULT_RUNTIME_PATH=_0x1cff22(0x198),DIST_SERVICE_WORKER_PATH='sw-enhance.js',DIST_RUNTIME_PATH=_0x1cff22(0x163),PACKAGE_VERSION=typeof package_default[_0x1cff22(0x1e8)]===_0x1cff22(0x1f8)?package_default[_0x1cff22(0x1e8)]:_0x1cff22(0x149);function normalizeAssetPath(_0x167d01){const _0xe8b3fc=_0x1cff22;if(!_0x167d01)return _0x167d01;if(_0x167d01['startsWith'](_0xe8b3fc(0x1be))||_0x167d01[_0xe8b3fc(0x1a4)](_0xe8b3fc(0x20d)))return _0x167d01;const _0x46c9b3=_0x167d01[_0xe8b3fc(0x1cd)](/^\.\//,'');return _0x46c9b3['startsWith']('/')?_0x46c9b3:'/'+_0x46c9b3;}var defaultSwPath=normalizeAssetPath(DEFAULT_SERVICE_WORKER_PATH),defaultRuntimePath=normalizeAssetPath(DEFAULT_RUNTIME_PATH),Enhance2={'init'(_0x24d981){const _0x3dca12=_0x1cff22;return Enhance[_0x3dca12(0x165)](_0x24d981);},'serviceWorkerURL'(){return defaultSwPath;},'runtimeURL'(){return defaultRuntimePath;},'assetManifest'(){return getAssetManifest();}};function getAssetManifest(){return{'version':PACKAGE_VERSION,'serviceWorker':serviceWorkerURL(),'runtime':runtimeURL(),'serviceWorkerDigest':null,'runtimeDigest':null};}function serviceWorkerURL(){const _0x2982a7=_0x1cff22;return Enhance2[_0x2982a7(0x1a1)]();}function runtimeURL(){const _0x398198=_0x1cff22;return Enhance2[_0x398198(0x1ee)]();}import{promises as _0x1ddebc}from'fs';import{createHash}from'crypto';import{dirname,join}from'path';import{fileURLToPath}from'url';var distDir=dirname(fileURLToPath(new URL(_0x1cff22(0x194),import.meta.url)));async function syncAssets(_0x58ffbe){const _0x47aee3=_0x1cff22,_0x445e51=[{'sourcePath':DIST_SERVICE_WORKER_PATH,'manifestPath':normalizeAssetPath(DEFAULT_SERVICE_WORKER_PATH),'override':_0x58ffbe[_0x47aee3(0x19b)]?'./'+_0x58ffbe[_0x47aee3(0x19b)]:void 0x0},{'sourcePath':DIST_RUNTIME_PATH,'manifestPath':normalizeAssetPath(DEFAULT_RUNTIME_PATH)}],_0x3c7cc4=[];for(const _0x20b364 of _0x445e51){const _0xebc6ec=cleanRelativePath(_0x20b364[_0x47aee3(0x161)]??_0x20b364[_0x47aee3(0x205)]),_0x3179ad=join(distDir,cleanRelativePath(_0x20b364['sourcePath'])),_0x1bbbc1=join(_0x58ffbe[_0x47aee3(0x21d)],_0xebc6ec),[_0x1aed2e,_0x5bff9d]=await Promise[_0x47aee3(0x1fd)]([readDigest(_0x3179ad),readDigest(_0x1bbbc1)]);if(_0x1aed2e&&_0x5bff9d&&_0x1aed2e===_0x5bff9d){_0x3c7cc4[_0x47aee3(0x1da)]({'sourcePath':_0x3179ad,'destinationPath':_0x1bbbc1,'relativeDestination':_0xebc6ec,'status':'skipped'});continue;}await _0x1ddebc[_0x47aee3(0x213)](dirname(_0x1bbbc1),{'recursive':!![]}),await _0x1ddebc[_0x47aee3(0x134)](_0x3179ad,_0x1bbbc1),_0x3c7cc4['push']({'sourcePath':_0x3179ad,'destinationPath':_0x1bbbc1,'relativeDestination':_0xebc6ec,'status':_0x47aee3(0x1df)});}return _0x3c7cc4;}function cleanRelativePath(_0x5d1e01){return _0x5d1e01['replace'](/^[./]+/,'');}async function readDigest(_0x2ceed3){const _0x360c0b=_0x1cff22;try{const _0x337346=await _0x1ddebc['readFile'](_0x2ceed3);return createHash(_0x360c0b(0x195))[_0x360c0b(0x199)](_0x337346)[_0x360c0b(0x182)](_0x360c0b(0x1d5));}catch(_0x355f2b){if(_0x355f2b[_0x360c0b(0x154)]===_0x360c0b(0x1a2))return null;throw _0x355f2b;}}var program=new Command();program['name'](_0x1cff22(0x159))['description']('Enhance\x20sandbox\x20utility\x20CLI')[_0x1cff22(0x1e8)]('0.0.0'),program['command'](_0x1cff22(0x1b6))['description'](_0x1cff22(0x1d8))[_0x1cff22(0x146)](()=>{const _0x5016ef=_0x1cff22,_0x436aa7=getAssetManifest();process['stdout']['write'](JSON[_0x5016ef(0x175)](_0x436aa7,null,0x2)+'\x0a');}),program['command'](_0x1cff22(0x1c9))[_0x1cff22(0x211)](_0x1cff22(0x1d3))['requiredOption'](_0x1cff22(0x1f4),_0x1cff22(0x1b2))[_0x1cff22(0x184)](_0x1cff22(0x222),_0x1cff22(0x152))['action'](async _0x28032a=>{const _0x5afafd=_0x1cff22,_0x49deb1=resolve(process['cwd'](),_0x28032a[_0x5afafd(0x21d)]),_0x4726a0=await syncAssets({'publicDir':_0x49deb1,'swFilename':_0x28032a[_0x5afafd(0x18f)]});for(const _0x1d5721 of _0x4726a0){const _0x4bb7ca=relative(process[_0x5afafd(0x21e)](),_0x1d5721[_0x5afafd(0x12e)]);_0x1d5721['status']==='skipped'?process['stdout'][_0x5afafd(0x129)](_0x5afafd(0x1af)+_0x1d5721['relativeDestination']+'\x20(already\x20current)\x20['+_0x4bb7ca+']\x0a'):process['stdout'][_0x5afafd(0x129)](_0x5afafd(0x16e)+_0x1d5721[_0x5afafd(0x18b)]+_0x5afafd(0x21a)+_0x4bb7ca+'\x0a');}}),program['parseAsync']();
package/dist/index.d.ts CHANGED
@@ -1,15 +1,31 @@
1
+ type SecurityMode$1 = "permissive" | "custom";
2
+
1
3
  type RawOptions = {
2
- callbackBypass: string[];
4
+ callbackBypass?: string[];
3
5
  __development?: {
4
6
  enableOverlayHmr?: boolean;
5
7
  overlayPath?: string;
6
- security?: 'permissive' | 'custom';
8
+ security?: "permissive" | "custom";
7
9
  backendUrl?: string;
8
10
  };
9
11
  };
12
+ type NormalizedOptions = {
13
+ callbackBypass: string[];
14
+ overlay: {
15
+ enabled: true;
16
+ position: "bottom-right";
17
+ enableViteHmr: boolean;
18
+ };
19
+ logLevel: "info";
20
+ swPath: "/sw-enhance.js";
21
+ overlayPath: string;
22
+ runtimeScriptPath: "/assets/enhance-runtime.js";
23
+ security: SecurityMode$1;
24
+ backendUrl: string;
25
+ };
10
26
 
11
- type OverlayPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
12
- type SecurityMode = 'permissive' | 'custom';
27
+ type OverlayPosition = "top-left" | "top-right" | "bottom-left" | "bottom-right";
28
+ type SecurityMode = "permissive" | "custom";
13
29
  interface OverlayState {
14
30
  enhancementUrl: string;
15
31
  enabled: boolean;
@@ -17,11 +33,19 @@ interface OverlayState {
17
33
  overlayPosition: OverlayPosition;
18
34
  securityMode: SecurityMode;
19
35
  backendBaseUrl?: string;
36
+ appError: {
37
+ message: string;
38
+ } | null;
39
+ /** Debug flag to force "Working" state */
40
+ forceWorking?: boolean;
20
41
  }
21
42
  interface OverlayController {
22
43
  update(state: OverlayState): void;
23
44
  onToggle(handler: () => void): void;
24
45
  destroy(): void;
46
+ open(): void;
47
+ close(): void;
48
+ isOpen(): boolean;
25
49
  }
26
50
  interface EnhanceStatus {
27
51
  enabled: boolean;
@@ -44,11 +68,18 @@ declare global {
44
68
  }
45
69
  }
46
70
 
71
+ declare global {
72
+ interface Window {
73
+ __enhanceInitialized?: boolean;
74
+ __enhanceOptions?: NormalizedOptions;
75
+ __enhanceController?: EnhanceController;
76
+ }
77
+ }
47
78
  /**
48
79
  * Main entry point - the only public API.
49
80
  */
50
81
  declare const Enhance$1: {
51
- init(rawOptions: RawOptions): EnhanceController;
82
+ init(rawOptions?: RawOptions): EnhanceController;
52
83
  };
53
84
 
54
85
  interface EnhanceAssetManifest {
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- const _0x447c3c=_0x2c38;(function(_0xe6adc8,_0x2f7b78){const _0x2c617d=_0x2c38,_0x596d81=_0xe6adc8();while(!![]){try{const _0x38cbdc=parseInt(_0x2c617d(0x19a))/0x1+parseInt(_0x2c617d(0x199))/0x2*(-parseInt(_0x2c617d(0x175))/0x3)+-parseInt(_0x2c617d(0x21a))/0x4+-parseInt(_0x2c617d(0x168))/0x5*(parseInt(_0x2c617d(0x1b7))/0x6)+-parseInt(_0x2c617d(0x1e9))/0x7*(parseInt(_0x2c617d(0x187))/0x8)+parseInt(_0x2c617d(0x1e0))/0x9+parseInt(_0x2c617d(0x1b8))/0xa*(parseInt(_0x2c617d(0x1f3))/0xb);if(_0x38cbdc===_0x2f7b78)break;else _0x596d81['push'](_0x596d81['shift']());}catch(_0x1887af){_0x596d81['push'](_0x596d81['shift']());}}}(_0x5842,0x4b112));function normalizeOptions(_0x5cc7ee){const _0x38d0aa=_0x2c38,_0x2b62f0=_0x5cc7ee[_0x38d0aa(0x1a9)]??{};return{'callbackBypass':_0x5cc7ee[_0x38d0aa(0x1f9)],'overlay':{'enabled':!![],'position':'bottom-right','enableViteHmr':_0x2b62f0[_0x38d0aa(0x167)]??![]},'logLevel':'info','swPath':_0x38d0aa(0x158),'overlayPath':_0x2b62f0['overlayPath']??'https://assets.enhancelabs.ai/overlay.js','runtimeScriptPath':_0x38d0aa(0x219),'security':_0x2b62f0[_0x38d0aa(0x1b5)]??_0x38d0aa(0x17e),'backendUrl':_0x2b62f0[_0x38d0aa(0x201)]??'https://api.enhancelabs.ai'};}var state={'enabled':![],'controlled':![]};function getEnhancementUrl(){const _0x26968b=_0x2c38;try{const _0x509967=new URLSearchParams(window[_0x26968b(0x17b)]['search']);return _0x509967['get'](_0x26968b(0x1ea))?.[_0x26968b(0x1d8)]()||'';}catch{return'';}}var LOG_PREFIX=_0x447c3c(0x16a),overlayController=null,overlayLoadPromise=null,toggleHandler=null,currentOptions=null;async function loadOverlay(_0x31044f){const _0x6341c9=_0x447c3c;console['log'](LOG_PREFIX+'\x20loadOverlay()\x20called'),console[_0x6341c9(0x1b2)](LOG_PREFIX+'\x20overlayPath:\x20'+_0x31044f['overlayPath']),console[_0x6341c9(0x1b2)](LOG_PREFIX+_0x6341c9(0x1ec)+_0x31044f[_0x6341c9(0x20d)]),currentOptions=_0x31044f[_0x6341c9(0x1ae)],toggleHandler=_0x31044f[_0x6341c9(0x224)];if(overlayController){console[_0x6341c9(0x1b2)](LOG_PREFIX+_0x6341c9(0x1cb)),updateOverlay();return;}if(overlayLoadPromise)return console[_0x6341c9(0x1b2)](LOG_PREFIX+'\x20Load\x20already\x20in\x20progress\x20-\x20waiting...'),overlayLoadPromise;console[_0x6341c9(0x1b2)](LOG_PREFIX+'\x20Starting\x20fresh\x20overlay\x20load...'),overlayLoadPromise=doLoadOverlay(_0x31044f);try{await overlayLoadPromise,console[_0x6341c9(0x1b2)](LOG_PREFIX+_0x6341c9(0x15a));}catch(_0x506b37){console[_0x6341c9(0x1f6)](LOG_PREFIX+_0x6341c9(0x185),_0x506b37);}finally{overlayLoadPromise=null;}}async function doLoadOverlay(_0x121e42){const _0x566dfc=_0x447c3c;console[_0x566dfc(0x1b2)](LOG_PREFIX+'\x20doLoadOverlay()\x20starting...');if(typeof window===_0x566dfc(0x188)){console[_0x566dfc(0x1b2)](LOG_PREFIX+_0x566dfc(0x1c0));return;}if(window[_0x566dfc(0x1bb)]){console['log'](LOG_PREFIX+_0x566dfc(0x1af)),overlayController=window[_0x566dfc(0x1bb)],overlayController['onToggle'](_0x121e42[_0x566dfc(0x224)]),updateOverlay();return;}console[_0x566dfc(0x1b2)](LOG_PREFIX+_0x566dfc(0x19e));try{_0x121e42['enableViteHmr']&&(console['log'](LOG_PREFIX+_0x566dfc(0x156)),await setupRemoteHMR(_0x121e42[_0x566dfc(0x177)]));console[_0x566dfc(0x1b2)](LOG_PREFIX+'\x20Importing\x20overlay\x20module\x20from:\x20'+_0x121e42['overlayPath']);const _0x1e4021=Date[_0x566dfc(0x17f)](),_0x46904a=await import(_0x121e42[_0x566dfc(0x177)]);console[_0x566dfc(0x1b2)](LOG_PREFIX+_0x566dfc(0x221)+(Date[_0x566dfc(0x17f)]()-_0x1e4021)+'ms'),console[_0x566dfc(0x1b2)](LOG_PREFIX+_0x566dfc(0x22b),Object[_0x566dfc(0x15b)](_0x46904a));if(typeof _0x46904a?.[_0x566dfc(0x171)]!=='function'){console['error'](LOG_PREFIX+'\x20Module\x20missing\x20createOverlay\x20export!'),console[_0x566dfc(0x1f6)](LOG_PREFIX+'\x20Available\x20exports:',Object[_0x566dfc(0x15b)](_0x46904a));return;}console[_0x566dfc(0x1b2)](LOG_PREFIX+_0x566dfc(0x182));const _0x214b46=_0x46904a[_0x566dfc(0x171)]();console[_0x566dfc(0x1b2)](LOG_PREFIX+'\x20Controller\x20created:',_0x214b46),overlayController=_0x214b46,window[_0x566dfc(0x1bb)]=_0x214b46,_0x214b46[_0x566dfc(0x224)](_0x121e42[_0x566dfc(0x224)]),console['log'](LOG_PREFIX+'\x20Overlay\x20controller\x20initialized\x20and\x20cached'),console[_0x566dfc(0x1b2)](LOG_PREFIX+'\x20Calling\x20updateOverlay()...'),updateOverlay();}catch(_0x4bd65b){console[_0x566dfc(0x1f6)](LOG_PREFIX+_0x566dfc(0x1ff),_0x4bd65b);}}function updateOverlay(){const _0xf07ed=_0x447c3c;console[_0xf07ed(0x1b2)](LOG_PREFIX+_0xf07ed(0x170)),console[_0xf07ed(0x1b2)](LOG_PREFIX+_0xf07ed(0x1c2)+!!overlayController),console[_0xf07ed(0x1b2)](LOG_PREFIX+_0xf07ed(0x1b1)+!!currentOptions);if(!overlayController||!currentOptions){console[_0xf07ed(0x1b2)](LOG_PREFIX+_0xf07ed(0x1e8));return;}const _0xf8a48=composeOverlayState(currentOptions);console[_0xf07ed(0x1b2)](LOG_PREFIX+_0xf07ed(0x228),JSON[_0xf07ed(0x1cf)](_0xf8a48,null,0x2)),overlayController[_0xf07ed(0x195)](_0xf8a48),console[_0xf07ed(0x1b2)](LOG_PREFIX+'\x20Overlay\x20update\x20complete');}function composeOverlayState(_0x4575a9){const _0x47752b=_0x447c3c,_0x2da3c9=getEnhancementUrl();return console[_0x47752b(0x1b2)](LOG_PREFIX+'\x20composeOverlayState\x20-\x20enhancementUrl:\x20'+_0x2da3c9),console['log'](LOG_PREFIX+'\x20composeOverlayState\x20-\x20state.enabled:\x20'+state[_0x47752b(0x181)]),console[_0x47752b(0x1b2)](LOG_PREFIX+_0x47752b(0x16c)+state['controlled']),{'enhancementUrl':_0x2da3c9,'enabled':state[_0x47752b(0x181)],'controlled':state[_0x47752b(0x1d2)],'overlayPosition':_0x4575a9['overlay'][_0x47752b(0x222)],'securityMode':_0x4575a9[_0x47752b(0x1b5)],'backendBaseUrl':_0x4575a9[_0x47752b(0x201)]};}async function setupRemoteHMR(_0x575f08){const _0x57314d=_0x447c3c;console['log'](LOG_PREFIX+'\x20setupRemoteHMR()\x20for\x20'+_0x575f08);if(typeof window===_0x57314d(0x188))return;try{const _0x39d0cc=new URL(_0x575f08,window[_0x57314d(0x17b)]['origin']),_0x19fe7d=_0x39d0cc[_0x57314d(0x194)];console[_0x57314d(0x1b2)](LOG_PREFIX+_0x57314d(0x17c)+_0x19fe7d+_0x57314d(0x1d9)+window[_0x57314d(0x17b)]['origin']);if(_0x19fe7d===window[_0x57314d(0x17b)]['origin']){console[_0x57314d(0x1b2)](LOG_PREFIX+_0x57314d(0x16f));return;}console['log'](LOG_PREFIX+_0x57314d(0x192)),await ensureReactRefreshPreamble(_0x19fe7d),await ensureViteClient(_0x19fe7d),console[_0x57314d(0x1b2)](LOG_PREFIX+_0x57314d(0x1c3));}catch(_0x4cb35d){console[_0x57314d(0x1e5)](LOG_PREFIX+_0x57314d(0x1df),_0x4cb35d);}}async function ensureReactRefreshPreamble(_0x3b1574){const _0x40b422=_0x447c3c;window[_0x40b422(0x19d)]??=new Set();if(window[_0x40b422(0x19d)][_0x40b422(0x17d)](_0x3b1574)){console[_0x40b422(0x1b2)](LOG_PREFIX+'\x20React\x20Refresh\x20already\x20installed\x20for\x20'+_0x3b1574);return;}console[_0x40b422(0x1b2)](LOG_PREFIX+_0x40b422(0x1ce)+_0x3b1574+_0x40b422(0x1ad));const _0x3b7b75=await import(_0x3b1574+_0x40b422(0x16d)),_0x3307ee=_0x3b7b75&&typeof _0x3b7b75===_0x40b422(0x1f2)&&_0x40b422(0x1a3)in _0x3b7b75?_0x3b7b75['default']:_0x3b7b75;if(!isRefreshRuntime(_0x3307ee)){console['warn'](LOG_PREFIX+_0x40b422(0x1ba));return;}_0x3307ee['injectIntoGlobalHook'](window),window['$RefreshReg$']=()=>{},window[_0x40b422(0x15e)]=()=>_0x1c219e=>_0x1c219e,window['__vite_plugin_react_preamble_installed__']=!![],window[_0x40b422(0x19d)][_0x40b422(0x21d)](_0x3b1574),console[_0x40b422(0x1b2)](LOG_PREFIX+_0x40b422(0x1b0)+_0x3b1574);}async function ensureViteClient(_0x3cb3a0){const _0x38fa02=_0x447c3c;window[_0x38fa02(0x215)]??=new Set();if(window[_0x38fa02(0x215)][_0x38fa02(0x17d)](_0x3cb3a0)){console['log'](LOG_PREFIX+_0x38fa02(0x179)+_0x3cb3a0);return;}console[_0x38fa02(0x1b2)](LOG_PREFIX+'\x20Loading\x20Vite\x20HMR\x20client\x20from\x20'+_0x3cb3a0+_0x38fa02(0x1ad)),await import(_0x3cb3a0+_0x38fa02(0x162)),window['__viteHMRLoaded']['add'](_0x3cb3a0),console[_0x38fa02(0x1b2)](LOG_PREFIX+'\x20Vite\x20HMR\x20client\x20loaded\x20for\x20'+_0x3cb3a0);}function isRefreshRuntime(_0x2406db){const _0x103be9=_0x447c3c;return typeof _0x2406db===_0x103be9(0x1f2)&&_0x2406db!==null&&_0x103be9(0x159)in _0x2406db&&typeof _0x2406db[_0x103be9(0x159)]===_0x103be9(0x205);}var WORKER_MESSAGE_CONFIG=_0x447c3c(0x1b3),WORKER_MESSAGE_DISABLE='enhance:disable',WORKER_MESSAGE_REQUEST_CONFIG=_0x447c3c(0x208),LOG_PREFIX2=_0x447c3c(0x202),registration=null,messageListener=null,currentOptions2=null,configGetter=null;async function registerServiceWorker(_0x1b4377){const _0x471eac=_0x447c3c;console[_0x471eac(0x1b2)](LOG_PREFIX2+'\x20registerServiceWorker()\x20called'),console[_0x471eac(0x1b2)](LOG_PREFIX2+_0x471eac(0x1aa)+_0x1b4377[_0x471eac(0x1e2)]);if(!(_0x471eac(0x225)in navigator)){console[_0x471eac(0x1e5)](LOG_PREFIX2+_0x471eac(0x200));return;}console[_0x471eac(0x1b2)](LOG_PREFIX2+_0x471eac(0x190));const _0x533101=navigator[_0x471eac(0x225)][_0x471eac(0x21b)];console[_0x471eac(0x1b2)](LOG_PREFIX2+_0x471eac(0x18f),_0x533101?.[_0x471eac(0x173)]??_0x471eac(0x1fc)),console['log'](LOG_PREFIX2+'\x20Controller\x20state:',_0x533101?.['state']??_0x471eac(0x193));const _0x3fc05f=!!_0x533101;currentOptions2=_0x1b4377,configGetter=()=>buildWorkerConfiguration(_0x1b4377),console[_0x471eac(0x1b2)](LOG_PREFIX2+_0x471eac(0x183));const _0x534937=await detectBlockingServiceWorker(_0x1b4377[_0x471eac(0x1e2)]);if(_0x534937){console['error'](LOG_PREFIX2+_0x471eac(0x198)+_0x534937),console['error'](LOG_PREFIX2+'\x20Enhancement\x20features\x20will\x20NOT\x20work\x20until\x20it\x20is\x20unregistered');return;}console[_0x471eac(0x1b2)](LOG_PREFIX2+_0x471eac(0x1a8));try{console[_0x471eac(0x1b2)](LOG_PREFIX2+_0x471eac(0x1db)+_0x1b4377['swPath']+_0x471eac(0x21e)),registration=await navigator['serviceWorker'][_0x471eac(0x217)](_0x1b4377['swPath'],{'scope':'/'}),console['log'](LOG_PREFIX2+_0x471eac(0x1c1),{'scope':registration['scope'],'active':registration[_0x471eac(0x1d6)]?.['scriptURL'],'waiting':registration[_0x471eac(0x1b6)]?.[_0x471eac(0x173)],'installing':registration[_0x471eac(0x1f0)]?.[_0x471eac(0x173)]}),console[_0x471eac(0x1b2)](LOG_PREFIX2+_0x471eac(0x209));const _0x36a772=await navigator[_0x471eac(0x225)][_0x471eac(0x21c)];console['log'](LOG_PREFIX2+'\x20SW\x20ready!\x20Active:',_0x36a772[_0x471eac(0x1d6)]?.[_0x471eac(0x173)]);const _0x3dd053=ownsCurrentController(_0x1b4377[_0x471eac(0x1e2)]);state[_0x471eac(0x1d2)]=_0x3dd053,console[_0x471eac(0x1b2)](LOG_PREFIX2+'\x20Page\x20controlled\x20by\x20our\x20SW:\x20'+_0x3dd053),console[_0x471eac(0x1b2)](LOG_PREFIX2+_0x471eac(0x1cc),navigator[_0x471eac(0x225)][_0x471eac(0x21b)]?.['scriptURL']??_0x471eac(0x1fc));if(!_0x3fc05f&&!navigator[_0x471eac(0x225)][_0x471eac(0x21b)]){console[_0x471eac(0x1b2)](LOG_PREFIX2+'\x20Page\x20was\x20not\x20controlled\x20-\x20SW\x20just\x20activated.\x20Reloading\x20to\x20enable\x20enhancement...'),window['location'][_0x471eac(0x220)]();return;}console[_0x471eac(0x1b2)](LOG_PREFIX2+_0x471eac(0x1a6)),attachMessageListener(),console['log'](LOG_PREFIX2+_0x471eac(0x20a)),await sendConfiguration();if(state['enabled']){const _0x1412fc=document['querySelector'](_0x471eac(0x203))!==null;console[_0x471eac(0x1b2)](LOG_PREFIX2+_0x471eac(0x1a5)+_0x1412fc);if(!_0x1412fc){console[_0x471eac(0x1b2)](LOG_PREFIX2+_0x471eac(0x1fe)),window[_0x471eac(0x17b)][_0x471eac(0x220)]();return;}}console[_0x471eac(0x1b2)](LOG_PREFIX2+_0x471eac(0x15f)),updateOverlay(),console[_0x471eac(0x1b2)](LOG_PREFIX2+_0x471eac(0x1b9));}catch(_0x4085b5){console[_0x471eac(0x1f6)](LOG_PREFIX2+_0x471eac(0x155),_0x4085b5);}}async function sendConfiguration(){const _0x351027=_0x447c3c;console['log'](LOG_PREFIX2+_0x351027(0x164)),console[_0x351027(0x1b2)](LOG_PREFIX2+_0x351027(0x20e)+state['enabled']+',\x20configGetter:\x20'+!!configGetter);if(!state[_0x351027(0x181)]||!configGetter){console[_0x351027(0x1b2)](LOG_PREFIX2+_0x351027(0x1fd));return;}const _0x47e260=await resolveWorker();if(!_0x47e260){console[_0x351027(0x1e5)](LOG_PREFIX2+'\x20No\x20service\x20worker\x20active\x20to\x20configure');return;}const _0x4fdd1f=configGetter();console[_0x351027(0x1b2)](LOG_PREFIX2+_0x351027(0x1a0),JSON[_0x351027(0x1cf)](_0x4fdd1f,null,0x2)),_0x47e260[_0x351027(0x1fb)]({'type':WORKER_MESSAGE_CONFIG,'config':_0x4fdd1f}),console[_0x351027(0x1b2)](LOG_PREFIX2+_0x351027(0x1d0));}async function unregisterServiceWorker(_0x358f96){const _0x28ef05=_0x447c3c;console[_0x28ef05(0x1b2)](LOG_PREFIX2+_0x28ef05(0x226));if(!(_0x28ef05(0x225)in navigator)){console[_0x28ef05(0x1b2)](LOG_PREFIX2+_0x28ef05(0x1c9));return;}detachMessageListener();try{const _0x3440a7=registration??await navigator['serviceWorker'][_0x28ef05(0x1d1)]('/');if(!_0x3440a7){console[_0x28ef05(0x1b2)](LOG_PREFIX2+_0x28ef05(0x19b));return;}console[_0x28ef05(0x1b2)](LOG_PREFIX2+'\x20Found\x20registration:',{'scope':_0x3440a7[_0x28ef05(0x1f4)],'active':_0x3440a7[_0x28ef05(0x1d6)]?.[_0x28ef05(0x173)],'waiting':_0x3440a7[_0x28ef05(0x1b6)]?.[_0x28ef05(0x173)],'installing':_0x3440a7[_0x28ef05(0x1f0)]?.[_0x28ef05(0x173)]});const _0x48ab2d=[_0x3440a7['active']?.[_0x28ef05(0x173)],_0x3440a7[_0x28ef05(0x1b6)]?.[_0x28ef05(0x173)],_0x3440a7['installing']?.[_0x28ef05(0x173)]],_0x1b0e78=_0x48ab2d['some'](_0x48103b=>_0x48103b&&ownsServiceWorker(_0x48103b,_0x358f96));if(!_0x1b0e78){console[_0x28ef05(0x1b2)](LOG_PREFIX2+_0x28ef05(0x1d7));return;}_0x3440a7[_0x28ef05(0x1d6)]&&(console[_0x28ef05(0x1b2)](LOG_PREFIX2+_0x28ef05(0x1f8)),_0x3440a7[_0x28ef05(0x1d6)][_0x28ef05(0x1fb)]({'type':WORKER_MESSAGE_DISABLE})),console['log'](LOG_PREFIX2+_0x28ef05(0x1e7)),await _0x3440a7[_0x28ef05(0x20b)](),registration=null,console[_0x28ef05(0x1b2)](LOG_PREFIX2+_0x28ef05(0x1bf));}catch(_0x326a4b){console[_0x28ef05(0x1f6)](LOG_PREFIX2+_0x28ef05(0x1d3),_0x326a4b);}}function attachMessageListener(){const _0x2ab9eb=_0x447c3c;if(!navigator[_0x2ab9eb(0x225)]||messageListener){console['log'](LOG_PREFIX2+_0x2ab9eb(0x16b));return;}messageListener=_0x2eea4a=>{const _0x112ba2=_0x2ab9eb,_0x2c4d9a=_0x2eea4a[_0x112ba2(0x229)];console[_0x112ba2(0x1b2)](LOG_PREFIX2+_0x112ba2(0x196),_0x2c4d9a);if(!_0x2c4d9a||typeof _0x2c4d9a!==_0x112ba2(0x1f2))return;_0x2c4d9a[_0x112ba2(0x18c)]===WORKER_MESSAGE_REQUEST_CONFIG&&(console[_0x112ba2(0x1b2)](LOG_PREFIX2+_0x112ba2(0x1c5)),void sendConfiguration());},navigator['serviceWorker'][_0x2ab9eb(0x18d)]('message',messageListener),console[_0x2ab9eb(0x1b2)](LOG_PREFIX2+_0x2ab9eb(0x178));}function detachMessageListener(){const _0x23c3c4=_0x447c3c;navigator['serviceWorker']&&messageListener&&(navigator[_0x23c3c4(0x225)][_0x23c3c4(0x184)](_0x23c3c4(0x1ab),messageListener),messageListener=null,console['log'](LOG_PREFIX2+_0x23c3c4(0x207)));}function ownsServiceWorker(_0x1aa89e,_0x4dc2c7){const _0x34834f=_0x447c3c,_0x165b3b=typeof window!=='undefined'?window['location']['origin']:'',_0x130741=new URL(_0x4dc2c7,_0x165b3b||void 0x0)[_0x34834f(0x1da)],_0x3ab00d=_0x1aa89e===_0x130741||_0x1aa89e[_0x34834f(0x1c8)](_0x34834f(0x1a7));return console['log'](LOG_PREFIX2+_0x34834f(0x20c)+_0x1aa89e+_0x34834f(0x216)+_0x130741+',\x20owns='+_0x3ab00d),_0x3ab00d;}function ownsCurrentController(_0x35da83){const _0x265edd=_0x447c3c;if(typeof navigator===_0x265edd(0x188))return![];const _0x4502c5=navigator[_0x265edd(0x225)]?.[_0x265edd(0x21b)];if(!_0x4502c5)return console[_0x265edd(0x1b2)](LOG_PREFIX2+_0x265edd(0x163)),![];return ownsServiceWorker(_0x4502c5[_0x265edd(0x173)],_0x35da83);}async function detectBlockingServiceWorker(_0x1d42e7){const _0xaeff2e=_0x447c3c;if(!navigator[_0xaeff2e(0x225)])return null;try{const _0x46d55c=await navigator[_0xaeff2e(0x225)][_0xaeff2e(0x1d1)]('/');console[_0xaeff2e(0x1b2)](LOG_PREFIX2+_0xaeff2e(0x189),_0x46d55c?.[_0xaeff2e(0x1d6)]?.[_0xaeff2e(0x173)]??_0xaeff2e(0x1fc));const _0x1ad8c5=_0x46d55c?.[_0xaeff2e(0x1d6)]?.['scriptURL'];if(!_0x1ad8c5)return null;if(ownsServiceWorker(_0x1ad8c5,_0x1d42e7))return null;return _0x1ad8c5;}catch(_0x5cfbf4){return console[_0xaeff2e(0x1f6)](LOG_PREFIX2+'\x20detectBlocking\x20error:',_0x5cfbf4),null;}}async function resolveWorker(){const _0x489739=_0x447c3c,_0x5aa5e5=registration??await navigator['serviceWorker']?.[_0x489739(0x1d1)]('/'),_0x34c9d4=_0x5aa5e5?.[_0x489739(0x1d6)]??_0x5aa5e5?.[_0x489739(0x1b6)]??_0x5aa5e5?.[_0x489739(0x1f0)]??null;return console[_0x489739(0x1b2)](LOG_PREFIX2+_0x489739(0x223),_0x34c9d4?.[_0x489739(0x173)]??_0x489739(0x1fc),'state:\x20'+(_0x34c9d4?.['state']??_0x489739(0x193))),_0x34c9d4;}function buildWorkerConfiguration(_0x1537e2){const _0x26a9c5=_0x447c3c,_0x3f23fe=getEnhancementUrl();return console[_0x26a9c5(0x1b2)](LOG_PREFIX2+_0x26a9c5(0x169)+_0x3f23fe),{'enhancementUrl':_0x3f23fe,'callbackBypass':_0x1537e2['callbackBypass'],'overlayPath':_0x1537e2[_0x26a9c5(0x177)],'overlayEnableViteHmr':_0x1537e2[_0x26a9c5(0x1eb)][_0x26a9c5(0x20d)],'runtimeScriptPath':_0x1537e2['runtimeScriptPath'],'swPath':_0x1537e2[_0x26a9c5(0x1e2)],'securityMode':_0x1537e2[_0x26a9c5(0x1b5)],'backendUrl':_0x1537e2[_0x26a9c5(0x201)]};}var LOG_PREFIX3=_0x447c3c(0x197),initialized=![],options=null,Enhance={'init'(_0x5c03b2){const _0x3b0887=_0x447c3c,_0x27d64e=Date[_0x3b0887(0x17f)]();console[_0x3b0887(0x1b2)](LOG_PREFIX3+_0x3b0887(0x1e3)+_0x27d64e),console[_0x3b0887(0x1b2)](LOG_PREFIX3+_0x3b0887(0x212)+window[_0x3b0887(0x17b)][_0x3b0887(0x1da)]),console[_0x3b0887(0x1b2)](LOG_PREFIX3+_0x3b0887(0x1d5)+document[_0x3b0887(0x1ed)]),console['log'](LOG_PREFIX3+_0x3b0887(0x22a),JSON[_0x3b0887(0x1cf)](_0x5c03b2,null,0x2));if(initialized)return console[_0x3b0887(0x1e5)](LOG_PREFIX3+'\x20Already\x20initialized\x20-\x20returning\x20existing\x20controller'),createController();initialized=!![],console[_0x3b0887(0x1b2)](LOG_PREFIX3+_0x3b0887(0x1f1)),options=normalizeOptions(_0x5c03b2),console[_0x3b0887(0x1b2)](LOG_PREFIX3+_0x3b0887(0x1a4),JSON[_0x3b0887(0x1cf)](options,null,0x2));const _0x4f9aa4=parseUrlParams();console[_0x3b0887(0x1b2)](LOG_PREFIX3+'\x20URL\x20params\x20parsed:',JSON[_0x3b0887(0x1cf)](_0x4f9aa4,null,0x2));if(_0x4f9aa4[_0x3b0887(0x1ca)])return cleanUrlParam(_0x3b0887(0x19c)),console[_0x3b0887(0x1b2)](LOG_PREFIX3+_0x3b0887(0x191)),createController();if(_0x4f9aa4[_0x3b0887(0x1cd)])return console[_0x3b0887(0x1b2)](LOG_PREFIX3+_0x3b0887(0x160)),console['log'](LOG_PREFIX3+_0x3b0887(0x157)+_0x4f9aa4[_0x3b0887(0x1ea)]),console[_0x3b0887(0x1b2)](LOG_PREFIX3+_0x3b0887(0x206)+_0x4f9aa4[_0x3b0887(0x210)]),state[_0x3b0887(0x181)]=!![],console['log'](LOG_PREFIX3+_0x3b0887(0x1c6)),void loadOverlay({'overlayPath':options['overlayPath'],'enableViteHmr':options[_0x3b0887(0x1eb)][_0x3b0887(0x20d)],'options':options,'onToggle':handleToggle}),console[_0x3b0887(0x1b2)](LOG_PREFIX3+'\x20Starting\x20SW\x20registration\x20(async)...'),void registerServiceWorker(options),console[_0x3b0887(0x1b2)](LOG_PREFIX3+_0x3b0887(0x18e)),createController();return console[_0x3b0887(0x1b2)](LOG_PREFIX3+'\x20Normal\x20mode\x20-\x20no\x20enhancement\x20params'),console[_0x3b0887(0x1b2)](LOG_PREFIX3+_0x3b0887(0x165)),void unregisterServiceWorker(options['swPath']),console[_0x3b0887(0x1b2)](LOG_PREFIX3+_0x3b0887(0x18a)),createController();}};function createController(){return{'enable'(){const _0x283446=_0x2c38;if(!options)return;state['enabled']=!![],void loadOverlay({'overlayPath':options[_0x283446(0x177)],'enableViteHmr':options[_0x283446(0x1eb)][_0x283446(0x20d)],'options':options,'onToggle':handleToggle}),void registerServiceWorker(options),void sendConfiguration(),updateOverlay();},'disable'(){const _0x130160=_0x2c38;if(!options)return;state[_0x130160(0x181)]=![],state[_0x130160(0x1d2)]=![],updateOverlay(),void unregisterServiceWorker(options[_0x130160(0x1e2)]);},'status'(){const _0x490959=_0x2c38;return{'enabled':state[_0x490959(0x181)],'controlled':state[_0x490959(0x1d2)]};}};}function handleToggle(){const _0x17793d=_0x447c3c,_0x399b3f=createController();state[_0x17793d(0x181)]?_0x399b3f[_0x17793d(0x16e)]():_0x399b3f[_0x17793d(0x19f)]();}function parseUrlParams(){const _0x6740d8=_0x447c3c,_0x53172a=new URL(window['location'][_0x6740d8(0x1da)]),_0x3a5bc8=_0x53172a[_0x6740d8(0x20f)][_0x6740d8(0x186)](_0x6740d8(0x19c))?.[_0x6740d8(0x218)](),_0x1613c6=_0x53172a[_0x6740d8(0x20f)][_0x6740d8(0x186)](_0x6740d8(0x1ea)),_0x2d2d51=_0x53172a[_0x6740d8(0x20f)][_0x6740d8(0x186)](_0x6740d8(0x176));return{'hasEnhancement':Boolean(_0x1613c6||_0x2d2d51),'explicitDisable':_0x3a5bc8==='0'||_0x3a5bc8===_0x6740d8(0x214)||_0x3a5bc8===_0x6740d8(0x1a2),'enhancementUrl':_0x1613c6,'enhancementId':_0x2d2d51};}function _0x2c38(_0xc900e2,_0x49d823){const _0x5842ff=_0x5842();return _0x2c38=function(_0x2c38c4,_0x2f0466){_0x2c38c4=_0x2c38c4-0x155;let _0x5ecd43=_0x5842ff[_0x2c38c4];return _0x5ecd43;},_0x2c38(_0xc900e2,_0x49d823);}function cleanUrlParam(_0x1441f0){const _0x5090a1=_0x447c3c,_0x1d61d5=new URL(window[_0x5090a1(0x17b)][_0x5090a1(0x1da)]);_0x1d61d5['searchParams'][_0x5090a1(0x17d)](_0x1441f0)&&(_0x1d61d5[_0x5090a1(0x20f)][_0x5090a1(0x1e6)](_0x1441f0),window[_0x5090a1(0x1bc)][_0x5090a1(0x1ee)](null,document[_0x5090a1(0x21f)],_0x1d61d5[_0x5090a1(0x174)]()));}var package_default={'name':_0x447c3c(0x1b4),'version':_0x447c3c(0x1f7),'type':_0x447c3c(0x1bd),'description':_0x447c3c(0x166),'license':_0x447c3c(0x1e4),'main':_0x447c3c(0x161),'module':_0x447c3c(0x180),'types':_0x447c3c(0x172),'exports':{'.':{'types':_0x447c3c(0x172),'import':'./dist/index.js','require':'./dist/index.cjs'},'./vite':{'types':'./dist/vite/index.d.ts','import':_0x447c3c(0x15c)}},'files':[_0x447c3c(0x227),_0x447c3c(0x1a1),'enhance.config.sample.json'],'bin':{'enhance-sandbox':_0x447c3c(0x1c7)},'scripts':{'typecheck':_0x447c3c(0x1de),'dev':_0x447c3c(0x1dd),'dev:staging':_0x447c3c(0x1be),'build':'ENHANCE_OVERLAY_PATH=https://assets.enhancelabs.ai/overlay.js\x20ENHANCE_BACKEND_URL=https://api.enhancelabs.ai\x20tsup','build:release':_0x447c3c(0x1e1),'version':'pnpm\x20version\x20patch\x20--no-git-tag-version'},'dependencies':{'commander':'^11.1.0','zod':_0x447c3c(0x1c4)},'devDependencies':{'@types/node':_0x447c3c(0x18b),'javascript-obfuscator':_0x447c3c(0x213),'tsup':_0x447c3c(0x17a),'vite':_0x447c3c(0x15d)},'publishConfig':{'access':_0x447c3c(0x1d4)}},DEFAULT_SERVICE_WORKER_PATH='/sw-enhance.js',DEFAULT_RUNTIME_PATH=_0x447c3c(0x219),PACKAGE_VERSION=typeof package_default[_0x447c3c(0x1ac)]===_0x447c3c(0x1dc)?package_default[_0x447c3c(0x1ac)]:_0x447c3c(0x211);function _0x5842(){const _0x177510=['[data-enhance-runtime-bootstrap]','replace','function','\x20enhancementId:\x20','\x20Message\x20listener\x20detached','enhance:request-config','\x20Waiting\x20for\x20navigator.serviceWorker.ready...','\x20Sending\x20initial\x20configuration...','unregister','\x20ownsServiceWorker?\x20scriptURL=','enableViteHmr','\x20state.enabled:\x20','searchParams','enhancementId','0.0.0','\x20Current\x20URL:\x20','^4.1.1','false','__viteHMRLoaded',',\x20expected=','register','toLowerCase','/assets/enhance-runtime.js','245512hkOjXF','controller','ready','add','\x20with\x20scope\x20\x27/\x27...','title','reload','\x20Module\x20imported\x20in\x20','position','\x20resolveWorker:','onToggle','serviceWorker','\x20unregisterServiceWorker()\x20called','dist','\x20Updating\x20overlay\x20with\x20state:','data','\x20Raw\x20options:','\x20Module\x20exports:','\x20Failed\x20to\x20register\x20service\x20worker:','\x20Setting\x20up\x20remote\x20HMR...','\x20enhancementUrl:\x20','/sw-enhance.js','injectIntoGlobalHook','\x20loadOverlay()\x20complete','keys','./dist/vite/index.js','^7.2.4','$RefreshSig$','\x20Updating\x20overlay...','\x20Enhancement\x20mode\x20ENABLED','./dist/index.cjs','/@vite/client','\x20No\x20current\x20controller','\x20sendConfiguration()\x20called','\x20Unregistering\x20any\x20existing\x20SW...','Enhance\x20preview\x20bootstrap\x20and\x20tooling\x20package.','enableOverlayHmr','8005cxAnmh','\x20buildWorkerConfiguration\x20-\x20enhancementUrl:\x20','[Enhance\x20Overlay]','\x20Message\x20listener\x20already\x20attached\x20or\x20no\x20SW\x20support','\x20composeOverlayState\x20-\x20state.controlled:\x20','/@react-refresh','disable','\x20Same\x20origin\x20-\x20skipping\x20HMR\x20setup','\x20updateOverlay()\x20called','createOverlay','./dist/index.d.ts','scriptURL','toString','954kHprwT','enhancement','overlayPath','\x20Message\x20listener\x20attached','\x20Vite\x20client\x20already\x20loaded\x20for\x20','^8.5.1','location','\x20Overlay\x20origin:\x20','has','permissive','now','./dist/index.js','enabled','\x20Calling\x20createOverlay()...','\x20Checking\x20for\x20blocking\x20service\x20worker...','removeEventListener','\x20loadOverlay()\x20failed:','get','6424hutHZP','undefined','\x20detectBlocking\x20-\x20existing\x20registration:','\x20init()\x20complete\x20-\x20normal\x20mode','^24.10.1','type','addEventListener','\x20init()\x20complete\x20-\x20enhancement\x20mode','\x20Current\x20controller:','\x20Service\x20workers\x20supported','\x20Explicit\x20disable\x20via\x20URL\x20param\x20-\x20exiting','\x20Cross-origin\x20overlay\x20-\x20setting\x20up\x20HMR...','N/A','origin','update','\x20Received\x20message\x20from\x20SW:','[Enhance\x20Runtime]','\x20BLOCKING\x20SW\x20detected:\x20','2762OEbcMG','488588UIrhHF','\x20No\x20registration\x20found\x20-\x20nothing\x20to\x20unregister','enhance','__enhanceReactRefreshInstalledOrigins','\x20No\x20cached\x20controller\x20-\x20will\x20import\x20module','enable','\x20Sending\x20config\x20to\x20SW:','bin','off','default','\x20Normalized\x20options:','\x20Enhancement\x20detection:\x20wasEnhanced=','\x20Attaching\x20message\x20listener...','sw-enhance','\x20No\x20blocking\x20SW\x20found','__development','\x20swPath:\x20','message','version','...','options','\x20Found\x20cached\x20overlay\x20controller\x20on\x20window.__enhanceOverlay','\x20React\x20Refresh\x20runtime\x20installed\x20for\x20','\x20currentOptions\x20exists:\x20','log','enhance:configure','@enhance-eng/sandbox','security','waiting','1500ZCLaup','91150MhoLUh','\x20registerServiceWorker()\x20complete','\x20Invalid\x20React\x20Refresh\x20runtime','__enhanceOverlay','history','module','ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=https://enhance-api-dev.enhancelabs.workers.dev\x20tsup\x20--watch','\x20SW\x20unregistered\x20successfully','\x20No\x20window\x20object\x20-\x20skipping','\x20Registration\x20returned:','\x20overlayController\x20exists:\x20','\x20HMR\x20setup\x20complete','^3.22.4','\x20SW\x20requested\x20config\x20-\x20sending...','\x20Starting\x20overlay\x20load\x20(async)...','bin/enhance-sandbox.js','includes','\x20No\x20serviceWorker\x20support\x20-\x20nothing\x20to\x20unregister','explicitDisable','\x20Controller\x20already\x20exists\x20-\x20updating\x20overlay','\x20Current\x20controller\x20after\x20ready:','hasEnhancement','\x20Installing\x20React\x20Refresh\x20runtime\x20from\x20','stringify','\x20Config\x20sent\x20to\x20SW','getRegistration','controlled','\x20Failed\x20to\x20unregister\x20service\x20worker:','public','\x20Document\x20readyState:\x20','active','\x20Registration\x20is\x20not\x20ours\x20-\x20not\x20unregistering','trim',',\x20page\x20origin:\x20','href','\x20Registering\x20SW\x20at\x20','string','ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=http://localhost:8787\x20tsup\x20--watch','tsc\x20--noEmit','\x20Failed\x20to\x20prepare\x20remote\x20HMR\x20(non-fatal):','4232250WcVubU','ENHANCE_OVERLAY_PATH=https://assets.enhancelabs.ai/overlay.js\x20ENHANCE_BACKEND_URL=https://api.enhancelabs.ai\x20OBFUSCATE=1\x20RELEASE=1\x20tsup','swPath','\x20init()\x20called\x20at\x20','MIT','warn','delete','\x20Unregistering\x20SW...','\x20Missing\x20controller\x20or\x20options\x20-\x20skipping\x20update','2037PzJWof','enhancementUrl','overlay','\x20enableViteHmr:\x20','readyState','replaceState','https://','installing','\x20First\x20initialization','object','583CqWaoJ','scope','init','error','0.3.16','\x20Sending\x20DISABLE\x20message\x20to\x20SW...','callbackBypass','startsWith','postMessage','none','\x20Skipping\x20-\x20not\x20enabled\x20or\x20no\x20configGetter','\x20Page\x20not\x20enhanced\x20by\x20SW\x20-\x20reloading\x20to\x20apply\x20enhancement','\x20Failed\x20to\x20import/create\x20overlay:','\x20Service\x20workers\x20NOT\x20supported\x20in\x20this\x20browser','backendUrl','[Enhance\x20SW-Client]'];_0x5842=function(){return _0x177510;};return _0x5842();}function normalizeAssetPath(_0x2eb819){const _0x5e2ba7=_0x447c3c;if(!_0x2eb819)return _0x2eb819;if(_0x2eb819[_0x5e2ba7(0x1fa)]('http://')||_0x2eb819[_0x5e2ba7(0x1fa)](_0x5e2ba7(0x1ef)))return _0x2eb819;const _0xbd5e67=_0x2eb819[_0x5e2ba7(0x204)](/^\.\//,'');return _0xbd5e67[_0x5e2ba7(0x1fa)]('/')?_0xbd5e67:'/'+_0xbd5e67;}var defaultSwPath=normalizeAssetPath(DEFAULT_SERVICE_WORKER_PATH),defaultRuntimePath=normalizeAssetPath(DEFAULT_RUNTIME_PATH),Enhance2={'init'(_0x1f8f53){const _0x486f3b=_0x447c3c;return Enhance[_0x486f3b(0x1f5)](_0x1f8f53);},'serviceWorkerURL'(){return defaultSwPath;},'runtimeURL'(){return defaultRuntimePath;},'assetManifest'(){return getAssetManifest();}};function getAssetManifest(){return{'version':PACKAGE_VERSION,'serviceWorker':serviceWorkerURL(),'runtime':runtimeURL(),'serviceWorkerDigest':null,'runtimeDigest':null};}function resolveServiceWorkerPath(){return serviceWorkerURL();}function serviceWorkerURL(){return Enhance2['serviceWorkerURL']();}function runtimeURL(){return Enhance2['runtimeURL']();}export{Enhance2 as Enhance,getAssetManifest,resolveServiceWorkerPath,runtimeURL,serviceWorkerURL};
1
+ const _0x2ec25b=_0x2826;(function(_0x3fa5d2,_0x52fe05){const _0x2afa68=_0x2826,_0x1fa68d=_0x3fa5d2();while(!![]){try{const _0x50d92f=-parseInt(_0x2afa68(0x152))/0x1+-parseInt(_0x2afa68(0x1e8))/0x2+-parseInt(_0x2afa68(0x1db))/0x3*(parseInt(_0x2afa68(0x13d))/0x4)+parseInt(_0x2afa68(0x1cb))/0x5+-parseInt(_0x2afa68(0x1f0))/0x6+-parseInt(_0x2afa68(0x1bb))/0x7+parseInt(_0x2afa68(0x1d5))/0x8;if(_0x50d92f===_0x52fe05)break;else _0x1fa68d['push'](_0x1fa68d['shift']());}catch(_0x3deda0){_0x1fa68d['push'](_0x1fa68d['shift']());}}}(_0x3160,0x971f3));var DEFAULT_OVERLAY_PATH=typeof __ENHANCE_DEFAULT_OVERLAY_PATH__!=='undefined'?__ENHANCE_DEFAULT_OVERLAY_PATH__:'https://assets.enhancelabs.ai/overlay.js',DEFAULT_BACKEND_URL=typeof __ENHANCE_DEFAULT_BACKEND_URL__!=='undefined'?__ENHANCE_DEFAULT_BACKEND_URL__:_0x2ec25b(0x149),DEFAULT_OVERLAY_HMR=typeof __ENHANCE_OVERLAY_ENABLE_HMR__!==_0x2ec25b(0x160)?__ENHANCE_OVERLAY_ENABLE_HMR__:![];console[_0x2ec25b(0x1f5)](_0x2ec25b(0x1d8),{'overlayPath':DEFAULT_OVERLAY_PATH,'backendUrl':DEFAULT_BACKEND_URL,'overlayHmr':DEFAULT_OVERLAY_HMR});function normalizeOptions(_0x1c8c8e){const _0x30e634=_0x2ec25b,_0x42f692=_0x1c8c8e['__development']??{};return{'callbackBypass':_0x1c8c8e[_0x30e634(0x1a9)]??[],'overlay':{'enabled':!![],'position':_0x30e634(0x14e),'enableViteHmr':_0x42f692[_0x30e634(0x1a7)]??DEFAULT_OVERLAY_HMR},'logLevel':'info','swPath':_0x30e634(0x1c2),'overlayPath':_0x42f692['overlayPath']??DEFAULT_OVERLAY_PATH,'runtimeScriptPath':_0x30e634(0x186),'security':_0x42f692[_0x30e634(0x16c)]??'permissive','backendUrl':_0x42f692['backendUrl']??DEFAULT_BACKEND_URL};}var state={'enabled':![],'controlled':![],'appError':null};function getEnhancementUrl(){const _0x1fe8b4=_0x2ec25b;try{const _0x8c0148=new URLSearchParams(window['location']['search']);return _0x8c0148[_0x1fe8b4(0x195)]('enhancementUrl')?.[_0x1fe8b4(0x1d9)]()||'';}catch{return'';}}var LOG_PREFIX=_0x2ec25b(0x146),overlayController=null,overlayLoadPromise=null,toggleHandler=null,currentOptions=null;async function loadOverlay(_0x2e8799){const _0x336168=_0x2ec25b;console[_0x336168(0x1f5)](LOG_PREFIX+_0x336168(0x1c3)),console[_0x336168(0x1f5)](LOG_PREFIX+_0x336168(0x157)+_0x2e8799['overlayPath']),console[_0x336168(0x1f5)](LOG_PREFIX+'\x20enableViteHmr:\x20'+_0x2e8799[_0x336168(0x183)]),currentOptions=_0x2e8799[_0x336168(0x1ec)],toggleHandler=_0x2e8799[_0x336168(0x16d)];if(overlayController){console[_0x336168(0x1f5)](LOG_PREFIX+_0x336168(0x1e9)),updateOverlay();return;}if(overlayLoadPromise)return console[_0x336168(0x1f5)](LOG_PREFIX+_0x336168(0x1c5)),overlayLoadPromise;console[_0x336168(0x1f5)](LOG_PREFIX+'\x20Starting\x20fresh\x20overlay\x20load...'),overlayLoadPromise=doLoadOverlay(_0x2e8799);try{await overlayLoadPromise,console[_0x336168(0x1f5)](LOG_PREFIX+_0x336168(0x179));}catch(_0x50032c){console[_0x336168(0x1c4)](LOG_PREFIX+'\x20loadOverlay()\x20failed:',_0x50032c);}finally{overlayLoadPromise=null;}}async function doLoadOverlay(_0xb9bb6c){const _0x1cdc29=_0x2ec25b;console[_0x1cdc29(0x1f5)](LOG_PREFIX+'\x20doLoadOverlay()\x20starting...');if(typeof window===_0x1cdc29(0x160)){console[_0x1cdc29(0x1f5)](LOG_PREFIX+'\x20No\x20window\x20object\x20-\x20skipping');return;}if(window[_0x1cdc29(0x165)]){console[_0x1cdc29(0x1f5)](LOG_PREFIX+_0x1cdc29(0x197)),overlayController=window['__enhanceOverlay'];return;}console[_0x1cdc29(0x1f5)](LOG_PREFIX+_0x1cdc29(0x19d));try{_0xb9bb6c[_0x1cdc29(0x183)]&&(console[_0x1cdc29(0x1f5)](LOG_PREFIX+'\x20Setting\x20up\x20remote\x20HMR...'),await setupRemoteHMR(_0xb9bb6c[_0x1cdc29(0x136)]));console[_0x1cdc29(0x1f5)](LOG_PREFIX+_0x1cdc29(0x1ed)+_0xb9bb6c['overlayPath']);const _0x4f6355=Date[_0x1cdc29(0x135)](),_0x7ef8e0=await import(_0xb9bb6c[_0x1cdc29(0x136)]);console[_0x1cdc29(0x1f5)](LOG_PREFIX+_0x1cdc29(0x1ad)+(Date[_0x1cdc29(0x135)]()-_0x4f6355)+'ms'),console[_0x1cdc29(0x1f5)](LOG_PREFIX+_0x1cdc29(0x1d2),Object[_0x1cdc29(0x1f2)](_0x7ef8e0));if(typeof _0x7ef8e0?.[_0x1cdc29(0x141)]!=='function'){console['error'](LOG_PREFIX+'\x20Module\x20missing\x20createOverlay\x20export!'),console[_0x1cdc29(0x1c4)](LOG_PREFIX+_0x1cdc29(0x13f),Object[_0x1cdc29(0x1f2)](_0x7ef8e0));return;}console[_0x1cdc29(0x1f5)](LOG_PREFIX+_0x1cdc29(0x1c0));const _0x5700bc=_0x7ef8e0[_0x1cdc29(0x141)]();console[_0x1cdc29(0x1f5)](LOG_PREFIX+'\x20Controller\x20created:',_0x5700bc),overlayController=_0x5700bc,window[_0x1cdc29(0x165)]=_0x5700bc,_0x5700bc[_0x1cdc29(0x16d)](_0xb9bb6c[_0x1cdc29(0x16d)]),console[_0x1cdc29(0x1f5)](LOG_PREFIX+'\x20Overlay\x20controller\x20initialized\x20and\x20cached'),console[_0x1cdc29(0x1f5)](LOG_PREFIX+_0x1cdc29(0x159)),updateOverlay();}catch(_0x5440b9){console[_0x1cdc29(0x1c4)](LOG_PREFIX+_0x1cdc29(0x18a),_0x5440b9);}}function updateOverlay(){const _0x185492=_0x2ec25b;console[_0x185492(0x1f5)](LOG_PREFIX+_0x185492(0x18c)),console[_0x185492(0x1f5)](LOG_PREFIX+'\x20overlayController\x20exists:\x20'+!!overlayController),console['log'](LOG_PREFIX+'\x20currentOptions\x20exists:\x20'+!!currentOptions);if(!overlayController||!currentOptions){console[_0x185492(0x1f5)](LOG_PREFIX+_0x185492(0x180));return;}const _0x3d5d3c=composeOverlayState(currentOptions);console[_0x185492(0x1f5)](LOG_PREFIX+_0x185492(0x1cc),JSON[_0x185492(0x1f3)](_0x3d5d3c,null,0x2)),overlayController[_0x185492(0x1dd)](_0x3d5d3c),console[_0x185492(0x1f5)](LOG_PREFIX+'\x20Overlay\x20update\x20complete');}function composeOverlayState(_0x358e4b){const _0x529b89=_0x2ec25b,_0xbf5095=getEnhancementUrl();return console[_0x529b89(0x1f5)](LOG_PREFIX+_0x529b89(0x1d7)+_0xbf5095),console[_0x529b89(0x1f5)](LOG_PREFIX+_0x529b89(0x151)+state['enabled']),console[_0x529b89(0x1f5)](LOG_PREFIX+'\x20composeOverlayState\x20-\x20state.controlled:\x20'+state[_0x529b89(0x187)]),{'enhancementUrl':_0xbf5095,'enabled':state[_0x529b89(0x1eb)],'controlled':state[_0x529b89(0x187)],'overlayPosition':_0x358e4b[_0x529b89(0x16e)][_0x529b89(0x1a8)],'securityMode':_0x358e4b[_0x529b89(0x16c)],'backendBaseUrl':_0x358e4b[_0x529b89(0x14a)],'appError':state[_0x529b89(0x1d3)]};}async function setupRemoteHMR(_0x560dff){const _0x102ce3=_0x2ec25b;console[_0x102ce3(0x1f5)](LOG_PREFIX+'\x20setupRemoteHMR()\x20for\x20'+_0x560dff);if(typeof window==='undefined')return;try{const _0x5b1c4e=new URL(_0x560dff,window[_0x102ce3(0x15a)][_0x102ce3(0x167)]),_0x3fdadf=_0x5b1c4e['origin'];console[_0x102ce3(0x1f5)](LOG_PREFIX+_0x102ce3(0x1a0)+_0x3fdadf+_0x102ce3(0x191)+window[_0x102ce3(0x15a)][_0x102ce3(0x167)]);if(_0x3fdadf===window[_0x102ce3(0x15a)]['origin']){console['log'](LOG_PREFIX+_0x102ce3(0x142));return;}console[_0x102ce3(0x1f5)](LOG_PREFIX+'\x20Cross-origin\x20overlay\x20-\x20setting\x20up\x20HMR...'),await ensureReactRefreshPreamble(_0x3fdadf),await ensureViteClient(_0x3fdadf),console[_0x102ce3(0x1f5)](LOG_PREFIX+_0x102ce3(0x134));}catch(_0x162293){console[_0x102ce3(0x137)](LOG_PREFIX+_0x102ce3(0x133),_0x162293);}}async function ensureReactRefreshPreamble(_0x17a715){const _0x2bb974=_0x2ec25b;window['__enhanceReactRefreshInstalledOrigins']??=new Set();if(window[_0x2bb974(0x143)][_0x2bb974(0x15f)](_0x17a715)){console[_0x2bb974(0x1f5)](LOG_PREFIX+_0x2bb974(0x1a6)+_0x17a715);return;}console[_0x2bb974(0x1f5)](LOG_PREFIX+_0x2bb974(0x139)+_0x17a715+'...');const _0xb09671=await import(_0x17a715+_0x2bb974(0x132)),_0x14c76c=_0xb09671&&typeof _0xb09671==='object'&&_0x2bb974(0x158)in _0xb09671?_0xb09671['default']:_0xb09671;if(!isRefreshRuntime(_0x14c76c)){console[_0x2bb974(0x137)](LOG_PREFIX+_0x2bb974(0x1ba));return;}_0x14c76c[_0x2bb974(0x16b)](window),window[_0x2bb974(0x1de)]=()=>{},window[_0x2bb974(0x154)]=()=>_0x359f82=>_0x359f82,window['__vite_plugin_react_preamble_installed__']=!![],window[_0x2bb974(0x143)][_0x2bb974(0x1e4)](_0x17a715),console[_0x2bb974(0x1f5)](LOG_PREFIX+_0x2bb974(0x15e)+_0x17a715);}async function ensureViteClient(_0x334678){const _0x389f14=_0x2ec25b;window[_0x389f14(0x18b)]??=new Set();if(window['__viteHMRLoaded'][_0x389f14(0x15f)](_0x334678)){console['log'](LOG_PREFIX+_0x389f14(0x1bc)+_0x334678);return;}console[_0x389f14(0x1f5)](LOG_PREFIX+'\x20Loading\x20Vite\x20HMR\x20client\x20from\x20'+_0x334678+'...'),await import(_0x334678+_0x389f14(0x1c9)),window[_0x389f14(0x18b)][_0x389f14(0x1e4)](_0x334678),console[_0x389f14(0x1f5)](LOG_PREFIX+_0x389f14(0x16f)+_0x334678);}function isRefreshRuntime(_0x4e2066){const _0x4fa606=_0x2ec25b;return typeof _0x4e2066===_0x4fa606(0x161)&&_0x4e2066!==null&&_0x4fa606(0x16b)in _0x4e2066&&typeof _0x4e2066[_0x4fa606(0x16b)]===_0x4fa606(0x1d4);}var WORKER_MESSAGE_CONFIG=_0x2ec25b(0x1b9),WORKER_MESSAGE_DISABLE='enhance:disable',LOG_PREFIX2=_0x2ec25b(0x14b),registration=null,currentOptions2=null;async function registerServiceWorker(_0x526498){const _0x49ed63=_0x2ec25b;console[_0x49ed63(0x1f5)](LOG_PREFIX2+'\x20registerServiceWorker()\x20called'),console[_0x49ed63(0x1f5)](LOG_PREFIX2+_0x49ed63(0x1f9)+_0x526498['swPath']);if(!(_0x49ed63(0x1ea)in navigator)){console[_0x49ed63(0x137)](LOG_PREFIX2+_0x49ed63(0x1ae));return;}console[_0x49ed63(0x1f5)](LOG_PREFIX2+_0x49ed63(0x1bd));const _0x507480=navigator[_0x49ed63(0x1ea)][_0x49ed63(0x1e3)];console['log'](LOG_PREFIX2+_0x49ed63(0x1d0),_0x507480?.[_0x49ed63(0x1c8)]??_0x49ed63(0x168)),console['log'](LOG_PREFIX2+_0x49ed63(0x1bf),_0x507480?.['state']??_0x49ed63(0x19e));const _0x4b7357=!!_0x507480;currentOptions2=_0x526498,console[_0x49ed63(0x1f5)](LOG_PREFIX2+_0x49ed63(0x1a4));const _0x136035=await detectBlockingServiceWorker(_0x526498['swPath']);if(_0x136035){console[_0x49ed63(0x1c4)](LOG_PREFIX2+_0x49ed63(0x1af)+_0x136035),console[_0x49ed63(0x1c4)](LOG_PREFIX2+_0x49ed63(0x189));return;}console['log'](LOG_PREFIX2+_0x49ed63(0x177));try{console[_0x49ed63(0x1f5)](LOG_PREFIX2+'\x20Registering\x20SW\x20at\x20'+_0x526498[_0x49ed63(0x147)]+'\x20with\x20scope\x20\x27/\x27...'),registration=await navigator['serviceWorker'][_0x49ed63(0x178)](_0x526498[_0x49ed63(0x147)],{'scope':'/'}),console[_0x49ed63(0x1f5)](LOG_PREFIX2+_0x49ed63(0x171),{'scope':registration[_0x49ed63(0x1ac)],'active':registration[_0x49ed63(0x13e)]?.['scriptURL'],'waiting':registration[_0x49ed63(0x188)]?.[_0x49ed63(0x1c8)],'installing':registration[_0x49ed63(0x18e)]?.['scriptURL']}),console[_0x49ed63(0x1f5)](LOG_PREFIX2+_0x49ed63(0x175));const _0xf46d78=await navigator[_0x49ed63(0x1ea)][_0x49ed63(0x17c)];console[_0x49ed63(0x1f5)](LOG_PREFIX2+_0x49ed63(0x1e6),_0xf46d78[_0x49ed63(0x13e)]?.['scriptURL']);const _0x2691ef=ownsCurrentController(_0x526498[_0x49ed63(0x147)]);state[_0x49ed63(0x187)]=_0x2691ef,console[_0x49ed63(0x1f5)](LOG_PREFIX2+_0x49ed63(0x144)+_0x2691ef),console[_0x49ed63(0x1f5)](LOG_PREFIX2+'\x20Current\x20controller\x20after\x20ready:',navigator['serviceWorker'][_0x49ed63(0x1e3)]?.[_0x49ed63(0x1c8)]??_0x49ed63(0x168));if(!_0x4b7357&&!navigator[_0x49ed63(0x1ea)]['controller']){console[_0x49ed63(0x1f5)](LOG_PREFIX2+'\x20Page\x20was\x20not\x20controlled\x20-\x20SW\x20just\x20activated.\x20Reloading\x20to\x20enable\x20enhancement...'),window[_0x49ed63(0x15a)][_0x49ed63(0x172)]();return;}console[_0x49ed63(0x1f5)](LOG_PREFIX2+'\x20Sending\x20customer\x20configuration...'),await sendConfiguration();if(state[_0x49ed63(0x1eb)]){const _0xc59c1d=document[_0x49ed63(0x156)]('[data-enhance-runtime-bootstrap]')!==null;console[_0x49ed63(0x1f5)](LOG_PREFIX2+_0x49ed63(0x184)+_0xc59c1d);if(!_0xc59c1d){console[_0x49ed63(0x1f5)](LOG_PREFIX2+'\x20Page\x20not\x20enhanced\x20by\x20SW\x20-\x20reloading\x20to\x20apply\x20enhancement'),window[_0x49ed63(0x15a)][_0x49ed63(0x172)]();return;}}console['log'](LOG_PREFIX2+_0x49ed63(0x14d)),updateOverlay(),console['log'](LOG_PREFIX2+'\x20registerServiceWorker()\x20complete');}catch(_0x58b620){console[_0x49ed63(0x1c4)](LOG_PREFIX2+_0x49ed63(0x174),_0x58b620);}}async function sendConfiguration(){const _0x396e31=_0x2ec25b;console[_0x396e31(0x1f5)](LOG_PREFIX2+_0x396e31(0x145)),console[_0x396e31(0x1f5)](LOG_PREFIX2+_0x396e31(0x18d)+state['enabled']+_0x396e31(0x173)+!!currentOptions2);if(!state[_0x396e31(0x1eb)]||!currentOptions2){console['log'](LOG_PREFIX2+_0x396e31(0x17a));return;}const _0x9e631e=await resolveWorker();if(!_0x9e631e){console[_0x396e31(0x137)](LOG_PREFIX2+_0x396e31(0x1f1));return;}const _0x29f43a={'callbackBypass':currentOptions2[_0x396e31(0x1a9)],'securityMode':currentOptions2[_0x396e31(0x16c)]};console[_0x396e31(0x1f5)](LOG_PREFIX2+_0x396e31(0x1f7),JSON['stringify'](_0x29f43a,null,0x2)),_0x9e631e['postMessage']({'type':WORKER_MESSAGE_CONFIG,'config':_0x29f43a}),console[_0x396e31(0x1f5)](LOG_PREFIX2+_0x396e31(0x185));}async function unregisterServiceWorker(_0x19406d){const _0x5017e4=_0x2ec25b;console['log'](LOG_PREFIX2+'\x20unregisterServiceWorker()\x20called');if(!('serviceWorker'in navigator)){console[_0x5017e4(0x1f5)](LOG_PREFIX2+'\x20No\x20serviceWorker\x20support\x20-\x20nothing\x20to\x20unregister');return;}try{const _0x5a5f80=registration??await navigator['serviceWorker'][_0x5017e4(0x1dc)]('/');if(!_0x5a5f80){console[_0x5017e4(0x1f5)](LOG_PREFIX2+_0x5017e4(0x194));return;}console[_0x5017e4(0x1f5)](LOG_PREFIX2+_0x5017e4(0x1b7),{'scope':_0x5a5f80['scope'],'active':_0x5a5f80[_0x5017e4(0x13e)]?.[_0x5017e4(0x1c8)],'waiting':_0x5a5f80[_0x5017e4(0x188)]?.[_0x5017e4(0x1c8)],'installing':_0x5a5f80[_0x5017e4(0x18e)]?.['scriptURL']});const _0xbe9291=[_0x5a5f80[_0x5017e4(0x13e)]?.[_0x5017e4(0x1c8)],_0x5a5f80[_0x5017e4(0x188)]?.[_0x5017e4(0x1c8)],_0x5a5f80[_0x5017e4(0x18e)]?.[_0x5017e4(0x1c8)]],_0x4e2668=_0xbe9291[_0x5017e4(0x14c)](_0x22efe3=>_0x22efe3&&ownsServiceWorker(_0x22efe3,_0x19406d));if(!_0x4e2668){console[_0x5017e4(0x1f5)](LOG_PREFIX2+_0x5017e4(0x13b));return;}_0x5a5f80[_0x5017e4(0x13e)]&&(console[_0x5017e4(0x1f5)](LOG_PREFIX2+_0x5017e4(0x1e0)),_0x5a5f80['active']['postMessage']({'type':WORKER_MESSAGE_DISABLE})),console[_0x5017e4(0x1f5)](LOG_PREFIX2+_0x5017e4(0x1a5)),await _0x5a5f80['unregister'](),registration=null,currentOptions2=null,console[_0x5017e4(0x1f5)](LOG_PREFIX2+_0x5017e4(0x1d1));}catch(_0x58f65c){console['error'](LOG_PREFIX2+_0x5017e4(0x1b0),_0x58f65c);}}function ownsServiceWorker(_0x35b281,_0x41b33a){const _0xca661f=_0x2ec25b,_0x1a346f=typeof window!=='undefined'?window[_0xca661f(0x15a)][_0xca661f(0x167)]:'',_0x127f3c=new URL(_0x41b33a,_0x1a346f||void 0x0)[_0xca661f(0x18f)],_0x26b661=_0x35b281===_0x127f3c||_0x35b281[_0xca661f(0x14f)](_0xca661f(0x169));return console[_0xca661f(0x1f5)](LOG_PREFIX2+'\x20ownsServiceWorker?\x20scriptURL='+_0x35b281+',\x20expected='+_0x127f3c+_0xca661f(0x1ab)+_0x26b661),_0x26b661;}function ownsCurrentController(_0x51c324){const _0x353702=_0x2ec25b;if(typeof navigator==='undefined')return![];const _0x275b9a=navigator[_0x353702(0x1ea)]?.[_0x353702(0x1e3)];if(!_0x275b9a)return console[_0x353702(0x1f5)](LOG_PREFIX2+'\x20No\x20current\x20controller'),![];return ownsServiceWorker(_0x275b9a[_0x353702(0x1c8)],_0x51c324);}async function detectBlockingServiceWorker(_0x179263){const _0x34cab6=_0x2ec25b;if(!navigator[_0x34cab6(0x1ea)])return null;try{const _0x2da8ca=await navigator[_0x34cab6(0x1ea)][_0x34cab6(0x1dc)]('/');console['log'](LOG_PREFIX2+'\x20detectBlocking\x20-\x20existing\x20registration:',_0x2da8ca?.['active']?.['scriptURL']??_0x34cab6(0x168));const _0x3ae02c=_0x2da8ca?.[_0x34cab6(0x13e)]?.[_0x34cab6(0x1c8)];if(!_0x3ae02c)return null;if(ownsServiceWorker(_0x3ae02c,_0x179263))return null;return _0x3ae02c;}catch(_0x137d1c){return console[_0x34cab6(0x1c4)](LOG_PREFIX2+_0x34cab6(0x15d),_0x137d1c),null;}}async function resolveWorker(){const _0x55df74=_0x2ec25b,_0x4a5694=registration??await navigator[_0x55df74(0x1ea)]?.[_0x55df74(0x1dc)]('/'),_0x1f7804=_0x4a5694?.['active']??_0x4a5694?.[_0x55df74(0x188)]??_0x4a5694?.['installing']??null;return console['log'](LOG_PREFIX2+_0x55df74(0x19b),_0x1f7804?.['scriptURL']??_0x55df74(0x168),_0x55df74(0x1ee)+(_0x1f7804?.[_0x55df74(0x181)]??_0x55df74(0x19e))),_0x1f7804;}var LOG_PREFIX3=_0x2ec25b(0x1ce);function isInitialized(){const _0x3ee51a=_0x2ec25b;return typeof window!==_0x3ee51a(0x160)&&window[_0x3ee51a(0x1b5)]===!![];}function setInitialized(_0x43d52e){const _0x7385b4=_0x2ec25b;typeof window!==_0x7385b4(0x160)&&(window[_0x7385b4(0x1b5)]=_0x43d52e);}function getOptions(){const _0x4f866d=_0x2ec25b;return typeof window!==_0x4f866d(0x160)?window[_0x4f866d(0x17d)]??null:null;}function setOptions(_0xb71a10){const _0x2ca21f=_0x2ec25b;typeof window!==_0x2ca21f(0x160)&&(window[_0x2ca21f(0x17d)]=_0xb71a10);}var Enhance={'init'(_0x1d8afc={}){const _0x838741=_0x2ec25b,_0x3f5742=Date[_0x838741(0x135)]();console[_0x838741(0x1f5)](LOG_PREFIX3+_0x838741(0x170)+_0x3f5742),console[_0x838741(0x1f5)](LOG_PREFIX3+_0x838741(0x190)+window[_0x838741(0x15a)][_0x838741(0x18f)]),console['log'](LOG_PREFIX3+_0x838741(0x198)+document['readyState']),console[_0x838741(0x1f5)](LOG_PREFIX3+'\x20Raw\x20options:',JSON[_0x838741(0x1f3)](_0x1d8afc,null,0x2));if(isInitialized())return console[_0x838741(0x137)](LOG_PREFIX3+_0x838741(0x1c6)),window[_0x838741(0x1da)]??createController();setInitialized(!![]),console[_0x838741(0x1f5)](LOG_PREFIX3+_0x838741(0x196));const _0x2b8dca=normalizeOptions(_0x1d8afc);setOptions(_0x2b8dca),console['log'](LOG_PREFIX3+_0x838741(0x1b8),JSON[_0x838741(0x1f3)](_0x2b8dca,null,0x2));const _0x57d7d2=parseUrlParams();console['log'](LOG_PREFIX3+_0x838741(0x19a),JSON[_0x838741(0x1f3)](_0x57d7d2,null,0x2));if(_0x57d7d2['explicitDisable'])return cleanUrlParam(_0x838741(0x192)),console[_0x838741(0x1f5)](LOG_PREFIX3+'\x20Explicit\x20disable\x20via\x20URL\x20param\x20-\x20exiting'),createController();if(_0x57d7d2[_0x838741(0x153)])return console[_0x838741(0x1f5)](LOG_PREFIX3+_0x838741(0x1b3)),console[_0x838741(0x1f5)](LOG_PREFIX3+_0x838741(0x193)+_0x57d7d2[_0x838741(0x15b)]),console[_0x838741(0x1f5)](LOG_PREFIX3+'\x20enhancementId:\x20'+_0x57d7d2[_0x838741(0x13a)]),state[_0x838741(0x1eb)]=!![],console[_0x838741(0x1f5)](LOG_PREFIX3+_0x838741(0x1e7)),void loadOverlay({'overlayPath':_0x2b8dca[_0x838741(0x136)],'enableViteHmr':_0x2b8dca[_0x838741(0x16e)][_0x838741(0x183)],'options':_0x2b8dca,'onToggle':handleToggle}),console[_0x838741(0x1f5)](LOG_PREFIX3+_0x838741(0x1a1)),void registerServiceWorker(_0x2b8dca),console[_0x838741(0x1f5)](LOG_PREFIX3+_0x838741(0x1be)),createController();return console[_0x838741(0x1f5)](LOG_PREFIX3+_0x838741(0x1cd)),console[_0x838741(0x1f5)](LOG_PREFIX3+_0x838741(0x1e2)),void unregisterServiceWorker(_0x2b8dca[_0x838741(0x147)]),console[_0x838741(0x1f5)](LOG_PREFIX3+'\x20init()\x20complete\x20-\x20normal\x20mode'),import.meta.hot&&(console[_0x838741(0x1f5)](LOG_PREFIX3+'\x20Setting\x20up\x20Vite\x20HMR\x20error\x20listeners'),import.meta.hot['on'](_0x838741(0x163),_0xc58549=>{const _0x289997=_0x838741;console[_0x289997(0x1f5)](LOG_PREFIX3+_0x289997(0x1ef),_0xc58549),state['appError']={'message':_0xc58549[_0x289997(0x1c1)]['message']},updateOverlay();}),import.meta.hot['on'](_0x838741(0x1b2),()=>{const _0x22f8d9=_0x838741;state[_0x22f8d9(0x1d3)]&&(console[_0x22f8d9(0x1f5)](LOG_PREFIX3+'\x20Vite\x20update\x20pending\x20-\x20clearing\x20error'),state['appError']=null,updateOverlay());})),createController();}};function _0x2826(_0x1b60aa,_0x45a2d2){_0x1b60aa=_0x1b60aa-0x132;const _0x3160b4=_0x3160();let _0x28260d=_0x3160b4[_0x1b60aa];return _0x28260d;}function createController(){const _0x1793ee=_0x2ec25b,_0x226269={'enable'(){const _0x33f85a=_0x2826,_0x1a34de=getOptions();if(!_0x1a34de)return;state[_0x33f85a(0x1eb)]=!![],void loadOverlay({'overlayPath':_0x1a34de['overlayPath'],'enableViteHmr':_0x1a34de[_0x33f85a(0x16e)][_0x33f85a(0x183)],'options':_0x1a34de,'onToggle':handleToggle}),void registerServiceWorker(_0x1a34de),void sendConfiguration(),updateOverlay();},'disable'(){const _0x3120bc=_0x2826,_0x52c778=getOptions();if(!_0x52c778)return;state[_0x3120bc(0x1eb)]=![],state[_0x3120bc(0x187)]=![],updateOverlay(),void unregisterServiceWorker(_0x52c778[_0x3120bc(0x147)]);},'status'(){const _0x1327b2=_0x2826;return{'enabled':state[_0x1327b2(0x1eb)],'controlled':state[_0x1327b2(0x187)]};}};return typeof window!==_0x1793ee(0x160)&&(window[_0x1793ee(0x1da)]=_0x226269),_0x226269;}function handleToggle(){const _0x181c8e=_0x2ec25b,_0x1c91e6=createController();state['enabled']?_0x1c91e6[_0x181c8e(0x1b1)]():_0x1c91e6['enable']();}function parseUrlParams(){const _0x59f451=_0x2ec25b,_0x3542af=new URL(window[_0x59f451(0x15a)]['href']),_0x3edcbf=_0x3542af[_0x59f451(0x1f4)][_0x59f451(0x195)](_0x59f451(0x192))?.[_0x59f451(0x17f)](),_0x3ccdfa=_0x3542af[_0x59f451(0x1f4)]['get'](_0x59f451(0x15b)),_0x26aa7a=_0x3542af[_0x59f451(0x1f4)]['get'](_0x59f451(0x150));return{'hasEnhancement':Boolean(_0x3ccdfa||_0x26aa7a),'explicitDisable':_0x3edcbf==='0'||_0x3edcbf==='false'||_0x3edcbf===_0x59f451(0x1c7),'enhancementUrl':_0x3ccdfa,'enhancementId':_0x26aa7a};}function cleanUrlParam(_0x15fdbc){const _0xae9050=_0x2ec25b,_0xd41128=new URL(window[_0xae9050(0x15a)]['href']);_0xd41128[_0xae9050(0x1f4)][_0xae9050(0x15f)](_0x15fdbc)&&(_0xd41128[_0xae9050(0x1f4)][_0xae9050(0x162)](_0x15fdbc),window[_0xae9050(0x19c)][_0xae9050(0x1e1)](null,document['title'],_0xd41128['toString']()));}var package_default={'name':_0x2ec25b(0x148),'version':_0x2ec25b(0x1aa),'type':_0x2ec25b(0x138),'description':'Enhance\x20preview\x20bootstrap\x20and\x20tooling\x20package.','license':_0x2ec25b(0x17b),'main':_0x2ec25b(0x182),'module':_0x2ec25b(0x182),'types':_0x2ec25b(0x1df),'exports':{'.':{'types':'./dev/index.d.ts','import':_0x2ec25b(0x182)},'./vite':{'types':'./dev/vite/index.d.ts','import':_0x2ec25b(0x19f)}},'files':[_0x2ec25b(0x16a)],'bin':{'enhance-sandbox':_0x2ec25b(0x17e)},'scripts':{'typecheck':_0x2ec25b(0x1b4),'dev':'ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=https://overlay.localhost:8099\x20tsup\x20--watch','dev:build':_0x2ec25b(0x1f6),'dev:staging':_0x2ec25b(0x15c),'dev:staging:build':'ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=https://enhance-api-dev.enhancelabs.workers.dev\x20tsup','build':'ENHANCE_OVERLAY_PATH=https://assets.enhancelabs.ai/overlay.js\x20ENHANCE_BACKEND_URL=https://api.enhancelabs.ai\x20tsup','build:release':_0x2ec25b(0x155),'version':_0x2ec25b(0x176)},'dependencies':{'commander':_0x2ec25b(0x13c),'zod':'^3.22.4'},'devDependencies':{'@types/node':'^24.10.1','javascript-obfuscator':_0x2ec25b(0x140),'tsup':_0x2ec25b(0x1b6),'vite':_0x2ec25b(0x1a2)},'publishConfig':{'access':_0x2ec25b(0x1cf)}},DEFAULT_SERVICE_WORKER_PATH=_0x2ec25b(0x1c2),DEFAULT_RUNTIME_PATH='/assets/enhance-runtime.js',PACKAGE_VERSION=typeof package_default[_0x2ec25b(0x1a3)]===_0x2ec25b(0x199)?package_default[_0x2ec25b(0x1a3)]:'0.0.0';function normalizeAssetPath(_0x4cea16){const _0x20e55e=_0x2ec25b;if(!_0x4cea16)return _0x4cea16;if(_0x4cea16['startsWith'](_0x20e55e(0x1ca))||_0x4cea16[_0x20e55e(0x166)]('https://'))return _0x4cea16;const _0x4244ac=_0x4cea16[_0x20e55e(0x164)](/^\.\//,'');return _0x4244ac[_0x20e55e(0x166)]('/')?_0x4244ac:'/'+_0x4244ac;}var defaultSwPath=normalizeAssetPath(DEFAULT_SERVICE_WORKER_PATH),defaultRuntimePath=normalizeAssetPath(DEFAULT_RUNTIME_PATH),Enhance2={'init'(_0x4704fc){const _0x447508=_0x2ec25b;return Enhance[_0x447508(0x1d6)](_0x4704fc);},'serviceWorkerURL'(){return defaultSwPath;},'runtimeURL'(){return defaultRuntimePath;},'assetManifest'(){return getAssetManifest();}};function getAssetManifest(){return{'version':PACKAGE_VERSION,'serviceWorker':serviceWorkerURL(),'runtime':runtimeURL(),'serviceWorkerDigest':null,'runtimeDigest':null};}function _0x3160(){const _0x5028d2=['\x20Enhancement\x20detection:\x20wasEnhanced=','\x20Config\x20sent\x20to\x20SW','/assets/enhance-runtime.js','controlled','waiting','\x20Enhancement\x20features\x20will\x20NOT\x20work\x20until\x20it\x20is\x20unregistered','\x20Failed\x20to\x20import/create\x20overlay:','__viteHMRLoaded','\x20updateOverlay()\x20called','\x20state.enabled:\x20','installing','href','\x20Current\x20URL:\x20',',\x20page\x20origin:\x20','enhance','\x20enhancementUrl:\x20','\x20No\x20registration\x20found\x20-\x20nothing\x20to\x20unregister','get','\x20First\x20initialization','\x20Found\x20cached\x20overlay\x20controller\x20on\x20window.__enhanceOverlay\x20-\x20skipping\x20reinit','\x20Document\x20readyState:\x20','string','\x20URL\x20params\x20parsed:','\x20resolveWorker:','history','\x20No\x20cached\x20controller\x20-\x20will\x20import\x20module','N/A','./dev/vite/index.js','\x20Overlay\x20origin:\x20','\x20Starting\x20SW\x20registration\x20(async)...','^7.2.4','version','\x20Checking\x20for\x20blocking\x20service\x20worker...','\x20Unregistering\x20SW...','\x20React\x20Refresh\x20already\x20installed\x20for\x20','enableOverlayHmr','position','callbackBypass','0.3.17',',\x20owns=','scope','\x20Module\x20imported\x20in\x20','\x20Service\x20workers\x20NOT\x20supported\x20in\x20this\x20browser','\x20BLOCKING\x20SW\x20detected:\x20','\x20Failed\x20to\x20unregister\x20service\x20worker:','disable','vite:beforeUpdate','\x20Enhancement\x20mode\x20ENABLED','tsc\x20--noEmit','__enhanceInitialized','^8.5.1','\x20Found\x20registration:','\x20Normalized\x20options:','enhance:configure','\x20Invalid\x20React\x20Refresh\x20runtime','7296478TbnfaD','\x20Vite\x20client\x20already\x20loaded\x20for\x20','\x20Service\x20workers\x20supported','\x20init()\x20complete\x20-\x20enhancement\x20mode','\x20Controller\x20state:','\x20Calling\x20createOverlay()...','err','/sw-enhance.js','\x20loadOverlay()\x20called','error','\x20Load\x20already\x20in\x20progress\x20-\x20waiting...','\x20Already\x20initialized\x20(window.__enhanceInitialized=true)\x20-\x20returning\x20existing\x20controller','off','scriptURL','/@vite/client','http://','1227740DFhknn','\x20Updating\x20overlay\x20with\x20state:','\x20Normal\x20mode\x20-\x20no\x20enhancement\x20params','[Enhance\x20Runtime]','public','\x20Current\x20controller:','\x20SW\x20unregistered\x20successfully','\x20Module\x20exports:','appError','function','35145112QZcrHk','init','\x20composeOverlayState\x20-\x20enhancementUrl:\x20','[Enhance\x20Config]\x20Build-time\x20defaults:','trim','__enhanceController','6GBxLgv','getRegistration','update','$RefreshReg$','./dev/index.d.ts','\x20Sending\x20DISABLE\x20message\x20to\x20SW...','replaceState','\x20Unregistering\x20any\x20existing\x20SW...','controller','add','serviceWorkerURL','\x20SW\x20ready!\x20Active:','\x20Starting\x20overlay\x20load\x20(async)...','2195714OiitMR','\x20Controller\x20already\x20exists\x20-\x20updating\x20overlay','serviceWorker','enabled','options','\x20Importing\x20overlay\x20module\x20from:\x20','state:\x20','\x20Vite\x20error\x20detected:','1824342GjMqbo','\x20No\x20service\x20worker\x20active\x20to\x20configure','keys','stringify','searchParams','log','ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=https://overlay.localhost:8099\x20tsup','\x20Sending\x20customer\x20config\x20to\x20SW:','runtimeURL','\x20swPath:\x20','/@react-refresh','\x20Failed\x20to\x20prepare\x20remote\x20HMR\x20(non-fatal):','\x20HMR\x20setup\x20complete','now','overlayPath','warn','module','\x20Installing\x20React\x20Refresh\x20runtime\x20from\x20','enhancementId','\x20Registration\x20is\x20not\x20ours\x20-\x20not\x20unregistering','^11.1.0','1906212nIjkii','active','\x20Available\x20exports:','^4.1.1','createOverlay','\x20Same\x20origin\x20-\x20skipping\x20HMR\x20setup','__enhanceReactRefreshInstalledOrigins','\x20Page\x20controlled\x20by\x20our\x20SW:\x20','\x20sendConfiguration()\x20called','[Enhance\x20Overlay]','swPath','@enhance-eng/sandbox','https://api.enhancelabs.ai','backendUrl','[Enhance\x20SW-Client]','some','\x20Updating\x20overlay...','bottom-right','includes','enhancement','\x20composeOverlayState\x20-\x20state.enabled:\x20','622318QeBtfW','hasEnhancement','$RefreshSig$','ENHANCE_OVERLAY_PATH=https://assets.enhancelabs.ai/overlay.js\x20ENHANCE_BACKEND_URL=https://api.enhancelabs.ai\x20OBFUSCATE=1\x20RELEASE=1\x20tsup','querySelector','\x20overlayPath:\x20','default','\x20Calling\x20updateOverlay()...','location','enhancementUrl','ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=https://enhance-api-dev.enhancelabs.workers.dev\x20tsup\x20--watch','\x20detectBlocking\x20error:','\x20React\x20Refresh\x20runtime\x20installed\x20for\x20','has','undefined','object','delete','vite:error','replace','__enhanceOverlay','startsWith','origin','none','sw-enhance','dev/','injectIntoGlobalHook','security','onToggle','overlay','\x20Vite\x20HMR\x20client\x20loaded\x20for\x20','\x20init()\x20called\x20at\x20','\x20Registration\x20returned:','reload',',\x20currentOptions:\x20','\x20Failed\x20to\x20register\x20service\x20worker:','\x20Waiting\x20for\x20navigator.serviceWorker.ready...','bun\x20version\x20patch\x20--no-git-tag-version','\x20No\x20blocking\x20SW\x20found','register','\x20loadOverlay()\x20complete','\x20Skipping\x20-\x20not\x20enabled\x20or\x20no\x20options','MIT','ready','__enhanceOptions','./dev/cli.js','toLowerCase','\x20Missing\x20controller\x20or\x20options\x20-\x20skipping\x20update','state','./dev/index.js','enableViteHmr'];_0x3160=function(){return _0x5028d2;};return _0x3160();}function resolveServiceWorkerPath(){return serviceWorkerURL();}function serviceWorkerURL(){const _0xd4537c=_0x2ec25b;return Enhance2[_0xd4537c(0x1e5)]();}function runtimeURL(){const _0x55735f=_0x2ec25b;return Enhance2[_0x55735f(0x1f8)]();}export{Enhance2 as Enhance,getAssetManifest,resolveServiceWorkerPath,runtimeURL,serviceWorkerURL};
@@ -1 +1 @@
1
- const _0x3fccef=_0x31ea;(function(_0x3c8a2b,_0x37a1ef){const _0x2ba27b=_0x31ea,_0x1bad27=_0x3c8a2b();while(!![]){try{const _0x43b9d7=-parseInt(_0x2ba27b(0x1e3))/0x1*(parseInt(_0x2ba27b(0x11c))/0x2)+-parseInt(_0x2ba27b(0x190))/0x3*(-parseInt(_0x2ba27b(0x13c))/0x4)+parseInt(_0x2ba27b(0xb7))/0x5+parseInt(_0x2ba27b(0x1d2))/0x6+parseInt(_0x2ba27b(0x1bf))/0x7*(parseInt(_0x2ba27b(0x1c8))/0x8)+-parseInt(_0x2ba27b(0x178))/0x9+parseInt(_0x2ba27b(0x163))/0xa;if(_0x43b9d7===_0x37a1ef)break;else _0x1bad27['push'](_0x1bad27['shift']());}catch(_0x341485){_0x1bad27['push'](_0x1bad27['shift']());}}}(_0x35fb,0x6fc2c));var WORKER_MESSAGE_CONFIG=_0x3fccef(0xe0),WORKER_MESSAGE_DISABLE='enhance:disable',WORKER_MESSAGE_REQUEST_CONFIG=_0x3fccef(0x15f);function ensureLeadingSlash(_0x21a5ca){if(!_0x21a5ca['startsWith']('/'))return'/'+_0x21a5ca;return _0x21a5ca;}function appendRequestToEnhancementBase(_0x2bc306,_0x110ea1){const _0x3ebd34=_0x3fccef,_0x1a712d=new URL(_0x2bc306[_0x3ebd34(0x1d9)]()),_0x284a11=_0x1a712d[_0x3ebd34(0x1df)][_0x3ebd34(0xb6)]('/')?_0x1a712d['pathname'][_0x3ebd34(0xf8)](0x0,-0x1):_0x1a712d[_0x3ebd34(0x1df)],_0x289a3c=_0x110ea1['pathname']['startsWith']('/')?_0x110ea1[_0x3ebd34(0x1df)]:'/'+_0x110ea1[_0x3ebd34(0x1df)];return _0x1a712d[_0x3ebd34(0x1df)]=(''+_0x284a11+_0x289a3c)[_0x3ebd34(0x19e)](/\/+/g,'/'),_0x1a712d[_0x3ebd34(0xf7)]=_0x110ea1[_0x3ebd34(0xf7)],_0x1a712d['hash']='',_0x1a712d;}var LOG_PREFIX=_0x3fccef(0x18a),CONFIG_REQUEST_INTERVAL_MS=0x1f4,activeConfig=null,lastConfigRequest=0x0;function getActiveConfig(){return activeConfig;}function setActiveConfig(_0x55886a){const _0x3bb867=_0x3fccef;console[_0x3bb867(0x18c)](LOG_PREFIX+_0x3bb867(0x1de)),console['log'](LOG_PREFIX+_0x3bb867(0xd2),JSON[_0x3bb867(0x121)](_0x55886a,null,0x2));const _0x528c50=normalizeConfig(_0x55886a);return activeConfig=_0x528c50,lastConfigRequest=Date['now'](),console[_0x3bb867(0x18c)](LOG_PREFIX+'\x20Normalized\x20config\x20set'),console['log'](LOG_PREFIX+_0x3bb867(0x13f)+(_0x528c50['enhancementBase']?.[_0x3bb867(0x1d9)]()??_0x3bb867(0x107))),console['log'](LOG_PREFIX+'\x20callbackBypassNormalized:',_0x528c50[_0x3bb867(0x195)]),_0x528c50;}function clearActiveConfig(){const _0x3f2942=_0x3fccef;console[_0x3f2942(0x18c)](LOG_PREFIX+_0x3f2942(0x1b1)),activeConfig=null;}async function requestConfiguration(_0xfcddee=![]){const _0x2be6dc=_0x3fccef,_0x40d9cb=Date[_0x2be6dc(0x1d1)](),_0x59c045=_0x40d9cb-lastConfigRequest;console[_0x2be6dc(0x18c)](LOG_PREFIX+_0x2be6dc(0x1cc)+_0xfcddee+')'),console[_0x2be6dc(0x18c)](LOG_PREFIX+'\x20Time\x20since\x20last\x20request:\x20'+_0x59c045+'ms');if(!_0xfcddee&&_0x59c045<CONFIG_REQUEST_INTERVAL_MS){console[_0x2be6dc(0x18c)](LOG_PREFIX+_0x2be6dc(0x194));return;}lastConfigRequest=_0x40d9cb,console['log'](LOG_PREFIX+_0x2be6dc(0x120));const _0xc26a=await self['clients']['matchAll']({'type':'window','includeUncontrolled':!![]});console[_0x2be6dc(0x18c)](LOG_PREFIX+_0x2be6dc(0xc1)+_0xc26a[_0x2be6dc(0xc8)]+_0x2be6dc(0x134));for(let _0x2d01c4=0x0;_0x2d01c4<_0xc26a[_0x2be6dc(0xc8)];_0x2d01c4++){const _0x3fc625=_0xc26a[_0x2d01c4];console['log'](LOG_PREFIX+'\x20\x20\x20Client\x20'+_0x2d01c4+':\x20'+_0x3fc625['url']),_0x3fc625[_0x2be6dc(0x146)]({'type':WORKER_MESSAGE_REQUEST_CONFIG});}console[_0x2be6dc(0x18c)](LOG_PREFIX+_0x2be6dc(0x1a1));}function log(_0x28759a,_0x2c6ead,..._0x2820ac){const _0x351be2=_0x3fccef,_0x3eae7a='[Enhance\x20SW]';_0x28759a==='info'?console[_0x351be2(0x161)](_0x3eae7a,_0x2c6ead,..._0x2820ac):console[_0x351be2(0x133)](_0x3eae7a,_0x2c6ead,..._0x2820ac);}function _0x35fb(){const _0x181e5c=['/sockjs-node','/snowpack/hmr','replace','\x20\x20\x20\x20console.error(\x22[Enhance\x20Bootstrap]\x20Failed\x20to\x20bootstrap\x20runtime:\x22,\x20error);','body','\x20Config\x20request\x20sent\x20to\x20all\x20clients','\x20\x20\x20Rewriting\x20document...','none','includes','set','get','runtimeScriptPath','waitUntil','destination','\x20\x20\x20Bootstrap\x20script\x20generated\x20(','https://','startsWith','\x20MESSAGE\x20received:','object','redirect','\x20tryRestoreConfigFromUrl:\x20failed\x20to\x20parse\x20enhancementUrl','\x20clearActiveConfig()\x20called','x-enhance-routing','clients','location','/_next/webpack-hmr','addEventListener','x-enhance-document','\x20\x20\x20Skipping\x20HMR\x20bridge\x20(production\x20source)','overlay','\x20\x20\x20Not\x20HTML\x20-\x20returning\x20production\x20response\x20as-is','\x20Configuration\x20request\x20sent','\x20\x20\x20\x20var\x20shouldProxy\x20=\x20function(url,\x20protocols)\x20{','</script>','\x20\x20\x20\x20\x20-\x20has\x20enhancement\x20param:\x20','14GQDjDa','set-cookie','\x20\x20\x20securityMode:\x20','stylesheet','\x20\x20\x20\x20\x20\x20var\x20externalHosts\x20=\x20[\x22app.enhance.localhost:4450\x22,\x20\x22localhost:5173\x22];','\x20\x20\x20\x20\x20\x20//\x20ignore\x20if\x20unable\x20to\x20redefine','/webpackhotmiddleware','content-security-policy','\x5cs*=\x5cs*([\x27\x22])([^\x22\x27]+)\x5c1','1809448xHUKXm','font','follow','type','\x20requestConfiguration(force=','\x20\x20\x20\x20var\x20buildProxiedUrl\x20=\x20function(targetUrl)\x20{','method','enhancement-document','\x20ACTIVATE\x20event','now','1496130XqxLMM','\x20\x20\x20Enhancement\x20document\x20URL:\x20','\x20\x20\x20Fetching\x20from\x20enhancement...','claim','\x20\x20\x20No\x20script\x20generated\x20(missing\x20runtimePath)\x20-\x20returning\x20html\x20unchanged','\x20\x20\x20Document\x20source:\x20','test','toString','\x20skipWaiting()\x20complete','\x20shouldRouteAsset:\x20','\x20\x20\x20\x20\x20\x20if\x20(pathname\x20===\x20basePrefix\x20||\x20pathname.indexOf(basePrefix\x20+\x20\x22/\x22)\x20===\x200)\x20{','\x20\x20try\x20{','\x20setActiveConfig()\x20called','pathname','\x20\x20\x20\x20\x20-\x20has\x20overlay\x20param:\x20','Cannot\x20build\x20enhancement\x20URL\x20without\x20enhancementBase\x20configured','\x20\x20\x20\x20\x20\x20console.log(\x22[Enhance\x20Bootstrap]\x20Controller\x20attached\x20to\x20window.enhancePreview\x22);','288872WajpEW','overlayEnableViteHmr','set-cookie2','\x20\x20\x20\x20\x20\x20if\x20(!value)\x20return\x20[];','endsWith','2123530lLueAt','access-control-allow-credentials','/sw-enhance.js','include','\x20\x20\x20\x20if\x20(!Enhance\x20||\x20typeof\x20Enhance.init\x20!==\x20\x22function\x22)\x20{','\x5c1[^>]*>\x5cs*</script>','[Enhance\x20SW\x20Document]','\x20\x20\x20\x20\x20\x20return;','\x20\x20\x20\x20\x20\x20var\x20loweredPath\x20=\x20pathname.toLowerCase();','status','\x20Found\x20','\x20\x20\x20\x20\x20\x20var\x20isAppHost\x20=\x20url.host\x20===\x20window.location.host;','navigate','\x20\x20\x20Stripped\x20existing\x20bootstraps,\x20inserting\x20new\x20script...','overlayPath','<script\x20type=\x22module\x22\x20data-enhance-runtime-bootstrap>','(async\x20()\x20=>\x20{','length','\x20\x20\x20mode:\x20','\x20\x20\x20\x20\x20\x20for\x20(var\x20j\x20=\x200;\x20j\x20<\x20knownPathHints.length;\x20j++)\x20{','href','\x20\x20\x20Applying\x20permissive\x20CSP...','\x20\x20\x20\x20}\x20catch\x20(error)\x20{','\x20fetchEnhancementDocument:\x20','\x20\x20\x20\x20const\x20Enhance\x20=\x20runtimeModule?.Enhance\x20??\x20runtimeModule?.default?.Enhance\x20??\x20runtimeModule?.default;','\x20chars','url','\x20Input\x20config:','\x20\x20\x20\x20\x20-\x20has\x20enhancementUrl\x20param:\x20','\x20\x20\x20\x20var\x20originalWebSocket\x20=\x20window.WebSocket;','\x20\x20\x20\x20\x20\x20','clone','\x20\x20\x20\x20var\x20enhancementBase\x20=\x20new\x20URL(','rewritten','\x20\x20\x20Not\x20OK\x20(','<script\x5cb[^>]*src\x5cs*=\x5cs*([\x27\x22])','\x20\x20\x20\x20var\x20knownProtocols\x20=\x20new\x20Set(','statusText','match','\x20\x20\x20\x20\x20\x20var\x20proxied\x20=\x20new\x20URL(enhancementBase);','})();','enhance:configure','value','push','style-src\x20\x27self\x27\x20\x27unsafe-inline\x27\x20blob:\x20data:\x20https:\x20http:','/assets/enhance-runtime.js','\x20\x20\x20No\x20enhancementBase\x20configured\x20-\x20returning\x20null',',\x20destination:\x20','Enhancement\x20document\x20CORS\x20blocked','/__vite_ping','\x20buildRuntimeBootstrapScript:\x20no\x20runtimePath\x20-\x20returning\x20null','\x20\x20\x20Document\x20rewritten\x20successfully','\x20\x20\x20Document\x20fetch\x20error:','\x20No\x20enhancementUrl\x20in\x20config','cross-origin-resource-policy','\x20Calling\x20clients.claim()...','\x20\x20\x20\x20Object.defineProperty(EnhancedWebSocket,\x20\x22__enhancePatched\x22,\x20{\x20value:\x20true\x20});','cache-control','\x20\x20\x20Original\x20HTML\x20length:\x20','\x20\x20\x20Failed\x20to\x20rewrite\x20document:','\x20\x20\x20\x20\x20\x20if\x20(!isExternalHost\x20&&\x20!isAppHost)\x20return\x20false;','\x20\x20\x20\x20\x20\x20\x20\x20if\x20(shouldProxy(resolved,\x20protocols))\x20{','\x20\x20\x20CORS\x20blocked\x20(opaque\x20response)','font-src\x20*\x20data:','search','slice','\x20\x20\x20Rewritten\x20HTML\x20length:\x20','\x20\x20\x20\x20\x20\x20return\x20false;','\x20\x20\x20No\x20enhancementBase\x20configured\x20-\x20skipping','?import','\x20Config\x20cleared','\x20\x20\x20\x20const\x20controller\x20=\x20Enhance.init(','securityMode','\x20\x20\x20\x20}','http://','\x20chars)','text/html','\x20\x20\x20SUCCESS\x20-\x20returning\x20enhancement\x20document','x-enhance-document-source','\x20\x20\x20\x20var\x20basePrefix\x20=\x20\x22/__sbx__\x22;','null','no-store','\x20\x20\x20\x20\x20\x20window.enhancePreview\x20=\x20controller;','\x20\x20\x20NAVIGATE\x20request\x20-\x20handling\x20navigation','\x20tryRestoreConfigFromUrl:\x20found\x20enhancementUrl=','\x20\x20\x20Skipping\x20runtime\x20bootstrap\x20injection','\x20Requesting\x20configuration\x20from\x20clients...','error','\x20for\x20','Enhancement\x20fetch\x20failed','delete','host','\x20\x20}\x20catch\x20(error)\x20{','\x20\x20\x20HTML\x20response\x20-\x20processing...','sharedworker','$&\x0a','image','\x20\x20\x20Response:\x20','x-enhance-enhancement','modulepreload',')\x20-\x20returning\x20null','4qrtMgO','fetch','\x20\x20\x20\x20\x20\x20//\x20Always\x20use\x20enhancementBase\x20for\x20HMR\x20WebSocket\x20proxying','\x20\x20\x20BYPASS:\x20','\x20Fetching\x20all\x20window\x20clients...','stringify','install','\x20\x20\x20\x20\x20-\x20source\x20===\x20enhancement:\x20','hit','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20true;','/parcel-hmr','\x20\x20\x20\x20var\x20toArray\x20=\x20function(value)\x20{','\x20\x20\x20Fetching\x20production\x20response...','text','\x20\x20\x20\x20\x20\x20proxied.search\x20=\x20targetUrl.search;','\x20\x20\x20Checking\x20for\x20enhancement\x20document...','src','headers','\x20\x20\x20\x20var\x20EnhancedWebSocket\x20=\x20function(url,\x20protocols)\x20{','\x20matches\x20callbackBypass','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20rewritten\x20=\x20buildProxiedUrl(resolved);','\x20\x20\x20\x20console.log(\x22[Enhance\x20Bootstrap]\x20Runtime\x20module\x20loaded:\x22,\x20Object.keys(runtimeModule));','\x5c$&','debug','\x20client(s)','permissive','/__vite/client','\x20\x20\x20Not\x20routing\x20asset\x20(not\x20routable\x20or\x20not\x20same-origin)','\x20\x20\x20\x20};','\x20\x20\x20\x20var\x20knownPathHints\x20=\x20','GET','/__snowpack__','172BcUONY','\x20\x20\x20Enhancement\x20HIT\x20for\x20','\x20\x20\x20\x20\x20\x20Object.defineProperty(EnhancedWebSocket.prototype,\x20\x22constructor\x22,\x20{\x20value:\x20EnhancedWebSocket\x20});','\x20enhancementBase:\x20','\x20Calling\x20skipWaiting()...','\x20\x20\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20protoList.length;\x20i++)\x20{','\x20\x20\x20\x20console.log(\x22[Enhance\x20Bootstrap]\x20Starting\x20runtime\x20bootstrap...\x22);','\x0a</body>','\x20Unknown\x20message\x20type:\x20','toISOString','postMessage','img-src\x20*\x20data:\x20blob:','\x20\x20\x20shouldInjectOverlay:\x20','\x20\x20\x20\x20Object.setPrototypeOf(EnhancedWebSocket,\x20originalWebSocket);','\x20\x20\x20\x20\x20\x20return\x20Array.isArray(value)\x20?\x20value\x20:\x20[value];','\x20-\x20falling\x20back\x20to\x20production','\x20\x20\x20\x20console.log(\x22[Enhance\x20Bootstrap]\x20Bootstrap\x20complete\x22);','\x20\x20\x20\x20\x20\x20var\x20isExternalHost\x20=\x20externalHosts.includes(url.host);','full','join','\x20\x20\x20\x20\x20\x20console.error(\x22[Enhance\x20Bootstrap]\x20No\x20Enhance.init\x20export\x20found!\x22);','\x20\x20\x20\x20console.log(\x22[Enhance\x20Bootstrap]\x20Runtime\x20path:\x22,\x20runtimePath);','\x20\x20\x20\x20\x20\x20return\x20proxied;','/vite/client','\x20\x20\x20Not\x20HTML\x20response\x20-\x20returning\x20null','message','\x20\x20\x20Script\x20inserted\x20into\x20document','\x20\x20\x20Injecting\x20runtime\x20bootstrap...','\x20fetchFromEnhancement:\x20','vite-hmr','\x20\x20\x20\x20\x20\x20\x20\x20}','has','<script\x20data-enhance-hmr-bridge>','config','\x20Bootstrap\x20options:','enhance:request-config','\x20handleNavigationRequest:\x20','info','content-type','954720bGiQuu','backendUrl','\x0a</head>','enhancementUrl','\x20\x20\x20NO\x20CONFIG\x20-\x20requesting\x20config\x20and\x20passing\x20through','[Enhance\x20SW\x20Bootstrap]','https://assets.enhancelabs.ai/overlay.js','HEAD','\x20\x20\x20\x20if\x20(!originalWebSocket\x20||\x20originalWebSocket.__enhancePatched)\x20{','trim','style',',\x20type:\x20','script-src\x20\x27self\x27\x20\x27unsafe-inline\x27\x20\x27unsafe-eval\x27\x20blob:\x20data:\x20https:\x20http:','\x20Config\x20data:','cors','callbackBypass','\x20clients.claim()\x20complete','\x20\x20\x20\x20\x20\x20var\x20pathname\x20=\x20url.pathname\x20||\x20\x22/\x22;','enhancement','some','\x20\x20\x20Production\x20response:\x20','5519547nJnnPl','enhancementBase','\x20\x20\x20Injecting\x20HMR\x20bridge\x20(enhancement\x20source)...','origin','\x20\x20\x20Not\x20handling\x20(method\x20not\x20GET/HEAD)','\x20FETCH:\x20','\x20\x20\x20\x20\x20\x20var\x20protoList\x20=\x20toArray(protocols);','access-control-expose-headers','\x20INSTALL\x20event',',\x20null,\x202));','Enhancement\x20document\x20miss\x20','\x20\x20\x20Fetching\x20enhancement\x20document...','toLowerCase','opaque','\x20\x20\x20enhancementUrl\x20in\x20config:\x20','\x20\x20\x20\x20console.log(\x22[Enhance\x20Bootstrap]\x20Calling\x20Enhance.init()\x20with\x20options:\x22,\x20JSON.stringify(','\x20Invalid\x20message\x20data\x20-\x20ignoring','map','[Enhance\x20SW\x20Config]','\x20Service\x20Worker\x20script\x20loaded\x20at\x20','log','\x20\x20\x20\x20\x20\x20\x20\x20console.debug(\x22[Enhance]\x20websocket\x20bridge\x20fallback\x22,\x20error);','searchParams','\x20\x20\x20\x20\x20\x20}','29784gdwFgc','\x20\x20\x20Enhancement\x20URL:\x20','Enhancement\x20CORS\x20blocked','\x20\x20\x20overlayPath:\x20','\x20Throttled\x20-\x20not\x20requesting','callbackBypassNormalized','\x20\x20\x20Content-Type:\x20','[Enhance\x20SW\x20Routing]','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20new\x20originalWebSocket(rewritten.toString(),\x20protocols);','add','\x20\x20\x20\x20\x20\x20\x20\x20if\x20(typeof\x20proto\x20===\x20\x22string\x22\x20&&\x20knownProtocols.has(proto.toLowerCase()))\x20{','connect-src\x20*'];_0x35fb=function(){return _0x181e5c;};return _0x35fb();}function normalizeConfig(_0x2ef8a7){const _0xee6dea=_0x3fccef;console['log'](LOG_PREFIX+'\x20normalizeConfig()\x20called');let _0x35a4e9=null;if(_0x2ef8a7[_0xee6dea(0x166)]&&_0x2ef8a7['enhancementUrl'][_0xee6dea(0xc8)]>0x0)try{_0x35a4e9=new URL(_0x2ef8a7[_0xee6dea(0x166)]),console[_0xee6dea(0x18c)](LOG_PREFIX+'\x20Parsed\x20enhancementUrl:\x20'+_0x35a4e9['toString']());}catch(_0x4e28fc){console[_0xee6dea(0x10e)](LOG_PREFIX+'\x20Failed\x20to\x20parse\x20enhancementUrl\x20\x22'+_0x2ef8a7[_0xee6dea(0x166)]+'\x22:',_0x4e28fc);}else console[_0xee6dea(0x18c)](LOG_PREFIX+_0xee6dea(0xec));const _0x45af83=(_0x2ef8a7[_0xee6dea(0x172)]??[])[_0xee6dea(0x189)](_0x278f2b=>ensureLeadingSlash(_0x278f2b));return{..._0x2ef8a7,'enhancementBase':_0x35a4e9,'callbackBypassNormalized':_0x45af83};}var LOG_PREFIX2=_0x3fccef(0x197),ROUTABLE_DESTINATIONS=new Set(['script',_0x3fccef(0x16d),_0x3fccef(0x1c9),_0x3fccef(0x117),'worker',_0x3fccef(0x115),_0x3fccef(0x11a)]);function shouldHandleRequest(_0x3e886f){const _0x529204=_0x3fccef,_0x19bca1=_0x3e886f[_0x529204(0x1ce)]===_0x529204(0x13a)||_0x3e886f[_0x529204(0x1ce)]===_0x529204(0x16a);return _0x19bca1;}function shouldBypass(_0x3c8e29,_0x642617){const _0x3d2897=_0x3fccef,_0x3f6a36=ensureLeadingSlash(_0x642617),_0x3e4004=_0x3c8e29[_0x3d2897(0x195)][_0x3d2897(0x176)](_0x300f7d=>_0x3f6a36[_0x3d2897(0x1ac)](_0x300f7d));return _0x3e4004;}function shouldRouteAsset(_0x5d315d,_0x5c40ad,_0x502c95){const _0xd7a7eb=_0x3fccef,_0xce4814=_0x5c40ad[_0xd7a7eb(0x1a9)];if(!_0xce4814||!ROUTABLE_DESTINATIONS[_0xd7a7eb(0x15b)](_0xce4814))return![];if(isOverlayAsset(_0x5d315d,_0x502c95))return console['log'](LOG_PREFIX2+_0xd7a7eb(0x1db)+_0x502c95[_0xd7a7eb(0x1df)]+'\x20is\x20overlay\x20asset\x20-\x20not\x20routing'),![];if(isRuntimeAsset(_0x5d315d,_0x502c95))return console['log'](LOG_PREFIX2+_0xd7a7eb(0x1db)+_0x502c95[_0xd7a7eb(0x1df)]+'\x20is\x20runtime\x20asset\x20-\x20not\x20routing'),![];if(_0x502c95[_0xd7a7eb(0x17b)]!==self[_0xd7a7eb(0x1b4)][_0xd7a7eb(0x17b)])return![];return!![];}async function fetchFromEnhancement(_0x42b6b7,_0xbe4197,_0x4d077e){const _0xcfe292=_0x3fccef;console[_0xcfe292(0x18c)](LOG_PREFIX2+_0xcfe292(0x158)+_0x4d077e[_0xcfe292(0x1df)]);if(!_0x42b6b7[_0xcfe292(0x179)])return console[_0xcfe292(0x18c)](LOG_PREFIX2+_0xcfe292(0xfb)),null;const _0x448038=buildEnhancementUrl(_0x42b6b7,_0x4d077e);console[_0xcfe292(0x18c)](LOG_PREFIX2+_0xcfe292(0x191)+_0x448038[_0xcfe292(0x1d9)]());const _0xc0e9bf=new Headers(_0xbe4197[_0xcfe292(0x12d)]);_0xc0e9bf[_0xcfe292(0x1a5)](_0xcfe292(0x1b2),_0xcfe292(0x175)),_0xc0e9bf[_0xcfe292(0x111)](_0xcfe292(0x112));const _0x5a7f39=new Request(_0x448038[_0xcfe292(0x1d9)](),{'method':_0xbe4197['method'],'headers':_0xc0e9bf,'credentials':_0xcfe292(0xba),'redirect':_0xbe4197[_0xcfe292(0x1af)],'cache':_0xcfe292(0x108),'mode':_0xcfe292(0x171)});try{console[_0xcfe292(0x18c)](LOG_PREFIX2+_0xcfe292(0x1d4));const _0x1f8990=await fetch(_0x5a7f39);console[_0xcfe292(0x18c)](LOG_PREFIX2+_0xcfe292(0x118)+_0x1f8990[_0xcfe292(0xc0)]+'\x20'+_0x1f8990[_0xcfe292(0xdc)]+',\x20type:\x20'+_0x1f8990[_0xcfe292(0x1cb)]);if(_0x1f8990[_0xcfe292(0x1cb)]==='opaque')return console['log'](LOG_PREFIX2+_0xcfe292(0xf5)),log(_0xcfe292(0x161),_0xcfe292(0x192),_0x448038[_0xcfe292(0x1d9)]()),null;if(!_0x1f8990['ok'])return console[_0xcfe292(0x18c)](LOG_PREFIX2+_0xcfe292(0xd9)+_0x1f8990[_0xcfe292(0xc0)]+_0xcfe292(0x11b)),log('debug','Enhancement\x20miss\x20'+_0x1f8990['status']+_0xcfe292(0x10f)+_0x448038[_0xcfe292(0x1df)]),null;return console[_0xcfe292(0x18c)](LOG_PREFIX2+'\x20\x20\x20SUCCESS\x20-\x20returning\x20enhanced\x20response'),toSameOriginResponse(_0x1f8990,_0xbe4197[_0xcfe292(0x1ce)]);}catch(_0x1958d8){return console[_0xcfe292(0x10e)](LOG_PREFIX2+'\x20\x20\x20Fetch\x20error:',_0x1958d8),log('info',_0xcfe292(0x110),_0x1958d8),null;}}async function fetchEnhancementDocument(_0x627647,_0x5d1d4d){const _0x2fefc5=_0x3fccef,_0x5f468e=new URL(_0x5d1d4d[_0x2fefc5(0xd1)]);console[_0x2fefc5(0x18c)](LOG_PREFIX2+_0x2fefc5(0xce)+_0x5f468e['pathname']+_0x5f468e[_0x2fefc5(0xf7)]);if(!_0x627647[_0x2fefc5(0x179)])return console['log'](LOG_PREFIX2+_0x2fefc5(0xe5)),null;const _0x35159e=buildEnhancementUrl(_0x627647,_0x5f468e);console[_0x2fefc5(0x18c)](LOG_PREFIX2+_0x2fefc5(0x1d3)+_0x35159e[_0x2fefc5(0x1d9)]());const _0x8bd122=new Headers(_0x5d1d4d['headers']);_0x8bd122[_0x2fefc5(0x1a5)](_0x2fefc5(0x1b2),_0x2fefc5(0x1cf)),_0x8bd122[_0x2fefc5(0x111)](_0x2fefc5(0x112)),_0x8bd122[_0x2fefc5(0x111)]('content-length');const _0x7d5c5d=new Request(_0x35159e[_0x2fefc5(0x1d9)](),{'method':'GET','headers':_0x8bd122,'credentials':_0x2fefc5(0xba),'redirect':_0x2fefc5(0x1ca),'cache':_0x2fefc5(0x108),'mode':'cors'});try{console[_0x2fefc5(0x18c)](LOG_PREFIX2+_0x2fefc5(0x183));const _0x5e370e=await fetch(_0x7d5c5d);console[_0x2fefc5(0x18c)](LOG_PREFIX2+_0x2fefc5(0x118)+_0x5e370e[_0x2fefc5(0xc0)]+'\x20'+_0x5e370e[_0x2fefc5(0xdc)]+_0x2fefc5(0x16e)+_0x5e370e[_0x2fefc5(0x1cb)]),console['log'](LOG_PREFIX2+_0x2fefc5(0x196)+_0x5e370e[_0x2fefc5(0x12d)][_0x2fefc5(0x1a6)]('content-type'));if(_0x5e370e[_0x2fefc5(0x1cb)]===_0x2fefc5(0x185))return console['log'](LOG_PREFIX2+_0x2fefc5(0xf5)),log('info',_0x2fefc5(0xe7),_0x35159e[_0x2fefc5(0x1d9)]()),null;if(!_0x5e370e['ok'])return console[_0x2fefc5(0x18c)](LOG_PREFIX2+_0x2fefc5(0xd9)+_0x5e370e[_0x2fefc5(0xc0)]+_0x2fefc5(0x11b)),log(_0x2fefc5(0x133),_0x2fefc5(0x182)+_0x5e370e['status']+_0x2fefc5(0x10f)+_0x35159e[_0x2fefc5(0x1df)]),null;if(!isHtmlResponse(_0x5e370e))return console[_0x2fefc5(0x18c)](LOG_PREFIX2+_0x2fefc5(0x154)),null;return console[_0x2fefc5(0x18c)](LOG_PREFIX2+_0x2fefc5(0x104)),toSameOriginResponse(_0x5e370e,_0x2fefc5(0x13a));}catch(_0x54cac9){return console[_0x2fefc5(0x10e)](LOG_PREFIX2+_0x2fefc5(0xeb),_0x54cac9),log(_0x2fefc5(0x161),'Enhancement\x20document\x20fetch\x20failed',_0x54cac9),null;}}function buildEnhancementUrl(_0x582cb4,_0x31f248){const _0x441a65=_0x3fccef;if(!_0x582cb4[_0x441a65(0x179)])throw new Error(_0x441a65(0x1e1));return appendRequestToEnhancementBase(_0x582cb4[_0x441a65(0x179)],_0x31f248);}function toSameOriginResponse(_0x15742c,_0x2c8e00){const _0x5e0371=_0x3fccef,_0x3fcda0=_0x15742c[_0x5e0371(0xd6)](),_0x6d6654=new Headers(_0x3fcda0[_0x5e0371(0x12d)]);_0x6d6654['delete']('access-control-allow-origin'),_0x6d6654['delete'](_0x5e0371(0xb8)),_0x6d6654[_0x5e0371(0x111)](_0x5e0371(0x17f)),_0x6d6654[_0x5e0371(0x1a5)](_0x5e0371(0xf0),_0x5e0371(0x108)),_0x6d6654[_0x5e0371(0x1a5)](_0x5e0371(0x119),_0x5e0371(0x124)),stripCookies(_0x6d6654);const _0x22e1da=_0x2c8e00==='HEAD'?null:_0x3fcda0[_0x5e0371(0x1a0)];return new Response(_0x22e1da,{'status':_0x3fcda0[_0x5e0371(0xc0)],'statusText':_0x3fcda0['statusText'],'headers':_0x6d6654});}function isHtmlResponse(_0x228a8f){const _0x4fb26b=_0x3fccef,_0x5eabd7=_0x228a8f[_0x4fb26b(0x12d)][_0x4fb26b(0x1a6)](_0x4fb26b(0x162));return _0x5eabd7!=null&&_0x5eabd7[_0x4fb26b(0x1a4)](_0x4fb26b(0x103));}function isOverlayAsset(_0x430a03,_0x47ee57){return matchesOverlayAsset(_0x47ee57,_0x430a03['overlayPath']);}function isRuntimeAsset(_0x1764f7,_0x268d9d){const _0x50d5c2=_0x3fccef;return matchesRuntimeAsset(_0x268d9d,_0x1764f7[_0x50d5c2(0x1a7)]);}function matchesOverlayAsset(_0x2a6d2d,_0x30da64){const _0x61bea3=_0x3fccef;if(!_0x30da64)return![];if(_0x30da64[_0x61bea3(0x1ac)](_0x61bea3(0x101))||_0x30da64[_0x61bea3(0x1ac)](_0x61bea3(0x1ab)))return _0x2a6d2d['href']===_0x30da64;const _0x2c93a4=normalizeAssetPathForDocument(_0x30da64);if(!_0x2c93a4)return![];const _0x2d4299=''+_0x2a6d2d['pathname']+_0x2a6d2d[_0x61bea3(0xf7)];if(_0x2d4299===_0x2c93a4)return!![];if(_0x2a6d2d[_0x61bea3(0xf7)]===_0x61bea3(0xfc))return _0x2a6d2d['pathname']===_0x2c93a4;return![];}function matchesRuntimeAsset(_0x567a1b,_0x4e046d){const _0x3802f5=_0x3fccef;if(!_0x4e046d)return![];if(_0x4e046d[_0x3802f5(0x1ac)]('http://')||_0x4e046d[_0x3802f5(0x1ac)](_0x3802f5(0x1ab)))return _0x567a1b[_0x3802f5(0xcb)]===_0x4e046d;const _0x1071b5=normalizeAssetPathForDocument(_0x4e046d);if(!_0x1071b5)return![];const _0x10c9f8=''+_0x567a1b[_0x3802f5(0x1df)]+_0x567a1b['search'];return _0x10c9f8===_0x1071b5;}function normalizeAssetPathForDocument(_0x123fa4){const _0x41bb58=_0x3fccef;if(!_0x123fa4)return _0x123fa4;if(_0x123fa4['startsWith'](_0x41bb58(0x101))||_0x123fa4['startsWith']('https://'))return _0x123fa4;const _0x12a52a=_0x123fa4[_0x41bb58(0x19e)](/^\.\//,'');if(_0x12a52a[_0x41bb58(0x1ac)]('/'))return _0x12a52a;return'/'+_0x12a52a;}function stripCookies(_0x128cec){const _0xf796a6=_0x3fccef;_0x128cec[_0xf796a6(0x111)](_0xf796a6(0x1c0)),_0x128cec[_0xf796a6(0x111)](_0xf796a6(0x1e5));}function buildPreviewCsp(_0x59df7a){const _0x3412f1=_0x3fccef,_0xbbde29=['default-src\x20\x27self\x27\x20blob:\x20data:',_0x3412f1(0x16f),_0x3412f1(0xe3),_0x3412f1(0x147),_0x3412f1(0xf6),_0x3412f1(0x19b),'media-src\x20*\x20data:\x20blob:','worker-src\x20\x27self\x27\x20blob:','object-src\x20\x27none\x27'],_0x129f97=extractFrameAncestors(_0x59df7a);return _0x129f97&&_0xbbde29[_0x3412f1(0xe2)](_0x129f97),_0xbbde29[_0x3412f1(0x14f)](';\x20');}function stripCookies2(_0x5b3a20){const _0x281325=_0x3fccef;_0x5b3a20[_0x281325(0x111)](_0x281325(0x1c0)),_0x5b3a20['delete']('set-cookie2');}function extractFrameAncestors(_0x165834){const _0x68396b=_0x3fccef;if(!_0x165834)return null;const _0x2a92e5=_0x165834[_0x68396b(0xdd)](/frame-ancestors\s+([^;]+)/i);if(!_0x2a92e5)return null;return'frame-ancestors\x20'+_0x2a92e5[0x1][_0x68396b(0x16c)]();}function insertScript(_0x2b271c,_0x3a5263){const _0x12d142=_0x3fccef;if(/<head[^>]*>/i[_0x12d142(0x1d8)](_0x2b271c)){const _0x30b041=_0x2b271c[_0x12d142(0xdd)](/<head[^>]*>/i);if(_0x30b041){const _0x578cb5=_0x30b041[0x0];return _0x2b271c[_0x12d142(0x19e)](_0x578cb5,_0x578cb5+'\x0a'+_0x3a5263);}}if(/<\/head>/i[_0x12d142(0x1d8)](_0x2b271c))return _0x2b271c[_0x12d142(0x19e)](/<\/head>/i,_0x3a5263+_0x12d142(0x165));if(/<body\b[^>]*>/i[_0x12d142(0x1d8)](_0x2b271c))return _0x2b271c[_0x12d142(0x19e)](/<body\b[^>]*>/i,_0x12d142(0x116)+_0x3a5263);if(/<\/body>/i[_0x12d142(0x1d8)](_0x2b271c))return _0x2b271c[_0x12d142(0x19e)](/<\/body>/i,_0x3a5263+_0x12d142(0x143));return _0x3a5263+'\x0a'+_0x2b271c;}var DEFAULT_HMR_PROTOCOLS=[_0x3fccef(0x159)],DEFAULT_HMR_PATH_HINTS=['/@vite/client',_0x3fccef(0x136),_0x3fccef(0x153),_0x3fccef(0xe8),_0x3fccef(0x19c),'/webpack-dev-server','/webpack-hmr',_0x3fccef(0x1c5),'/webpack-hot-middleware','/__webpack_hmr',_0x3fccef(0x1b5),_0x3fccef(0x126),'/__parcel_hmr',_0x3fccef(0x13b),_0x3fccef(0x19d)];function injectHmrBridge(_0x5168b1,_0x3840c3){const _0x54e098=buildHmrBridgeScript(_0x5168b1);if(!_0x54e098)return _0x3840c3;return insertScript(_0x3840c3,_0x54e098);}function _0x31ea(_0x3447da,_0x3cfa4a){const _0x35fb0b=_0x35fb();return _0x31ea=function(_0x31eadf,_0x31960c){_0x31eadf=_0x31eadf-0xb5;let _0x5630c1=_0x35fb0b[_0x31eadf];return _0x5630c1;},_0x31ea(_0x3447da,_0x3cfa4a);}function buildHmrBridgeScript(_0x322ba7){const _0x15613a=_0x3fccef;if(!_0x322ba7[_0x15613a(0x179)])return null;const _0x23a709=_0x322ba7[_0x15613a(0x179)][_0x15613a(0x1d9)](),_0x2d4433=toLowerCaseUnique(DEFAULT_HMR_PROTOCOLS),_0x8c81d0=toLowerCaseUnique(DEFAULT_HMR_PATH_HINTS),_0x8cffa4=[_0x15613a(0x15c),'(function(){','\x20\x20try\x20{',_0x15613a(0xd7)+JSON['stringify'](_0x23a709)+');',_0x15613a(0xd4),_0x15613a(0x16b),_0x15613a(0xbe),_0x15613a(0x100),_0x15613a(0xdb)+JSON[_0x15613a(0x121)](_0x2d4433)+');',_0x15613a(0x139)+JSON[_0x15613a(0x121)](_0x8c81d0)+';',_0x15613a(0x106),_0x15613a(0x127),_0x15613a(0xb5),_0x15613a(0x14a),_0x15613a(0x138),_0x15613a(0x1bc),'\x20\x20\x20\x20\x20\x20//\x20Allow\x20proxying\x20for\x20specific\x20external\x20hosts',_0x15613a(0x1c3),_0x15613a(0x14d),_0x15613a(0xc2),_0x15613a(0xd5),_0x15613a(0xf3),_0x15613a(0xd5),_0x15613a(0x174),_0x15613a(0x1dc),'\x20\x20\x20\x20\x20\x20\x20\x20return\x20false;',_0x15613a(0x18f),_0x15613a(0x17e),_0x15613a(0x141),'\x20\x20\x20\x20\x20\x20\x20\x20var\x20proto\x20=\x20protoList[i];',_0x15613a(0x19a),_0x15613a(0x125),_0x15613a(0x15a),'\x20\x20\x20\x20\x20\x20}',_0x15613a(0xbf),_0x15613a(0xca),'\x20\x20\x20\x20\x20\x20\x20\x20if\x20(loweredPath.indexOf(knownPathHints[j])\x20!==\x20-1)\x20{','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20true;',_0x15613a(0x15a),_0x15613a(0x18f),_0x15613a(0xfa),_0x15613a(0x138),_0x15613a(0x1cd),_0x15613a(0x11e),_0x15613a(0xde),_0x15613a(0x12a),'\x20\x20\x20\x20\x20\x20proxied.hash\x20=\x20\x22\x22;',_0x15613a(0x152),_0x15613a(0x138),_0x15613a(0x12e),'\x20\x20\x20\x20\x20\x20try\x20{','\x20\x20\x20\x20\x20\x20\x20\x20var\x20resolved\x20=\x20url\x20instanceof\x20URL\x20?\x20url\x20:\x20new\x20URL(String(url),\x20window.location.href);',_0x15613a(0xf4),_0x15613a(0x130),_0x15613a(0x198),'\x20\x20\x20\x20\x20\x20\x20\x20}','\x20\x20\x20\x20\x20\x20}\x20catch\x20(error)\x20{',_0x15613a(0x18d),'\x20\x20\x20\x20\x20\x20}','\x20\x20\x20\x20\x20\x20return\x20new\x20originalWebSocket(url,\x20protocols);',_0x15613a(0x138),'\x20\x20\x20\x20Object.assign(EnhancedWebSocket,\x20originalWebSocket);','\x20\x20\x20\x20EnhancedWebSocket.prototype\x20=\x20originalWebSocket.prototype;',_0x15613a(0x149),'\x20\x20\x20\x20try\x20{',_0x15613a(0x13e),_0x15613a(0xcd),_0x15613a(0x1c4),_0x15613a(0x100),_0x15613a(0xef),'\x20\x20\x20\x20window.WebSocket\x20=\x20EnhancedWebSocket;',_0x15613a(0x113),'\x20\x20\x20\x20console.debug(\x22[Enhance]\x20websocket\x20bridge\x20unavailable\x22,\x20error);','\x20\x20}',_0x15613a(0xdf),_0x15613a(0x1bd)];return _0x8cffa4[_0x15613a(0x14f)]('\x0a');}function toLowerCaseUnique(_0x545b26){const _0x4e9597=_0x3fccef,_0x13f9a0=new Set(),_0x1af3ae=[];for(const _0x2c8e8b of _0x545b26){const _0x1a6cc8=_0x2c8e8b[_0x4e9597(0x184)]();if(_0x13f9a0['has'](_0x1a6cc8))continue;_0x13f9a0[_0x4e9597(0x199)](_0x1a6cc8),_0x1af3ae[_0x4e9597(0xe2)](_0x1a6cc8);}return _0x1af3ae;}var LOG_PREFIX3=_0x3fccef(0x168);function injectRuntimeBootstrap(_0xcd035b,_0x36cbcb){const _0x16c992=_0x3fccef;console['log'](LOG_PREFIX3+'\x20injectRuntimeBootstrap()\x20called'),console[_0x16c992(0x18c)](LOG_PREFIX3+'\x20\x20\x20runtimeScriptPath:\x20'+_0xcd035b[_0x16c992(0x1a7)]),console[_0x16c992(0x18c)](LOG_PREFIX3+_0x16c992(0x193)+_0xcd035b[_0x16c992(0xc5)]);const _0x1d6521=buildRuntimeBootstrapScript(_0xcd035b);if(!_0x1d6521)return console[_0x16c992(0x18c)](LOG_PREFIX3+_0x16c992(0x1d6)),_0x36cbcb;console['log'](LOG_PREFIX3+_0x16c992(0x1aa)+_0x1d6521[_0x16c992(0xc8)]+_0x16c992(0x102));const _0x4db5f1=stripExistingRuntimeBootstraps(_0x36cbcb,_0xcd035b[_0x16c992(0x1a7)]);console[_0x16c992(0x18c)](LOG_PREFIX3+_0x16c992(0xc4));const _0x1c25b1=insertScript(_0x4db5f1,_0x1d6521);return console[_0x16c992(0x18c)](LOG_PREFIX3+_0x16c992(0x156)),_0x1c25b1;}function buildRuntimeBootstrapScript(_0x28ea4f){const _0x3cfda4=_0x3fccef,_0x35d006=_0x28ea4f[_0x3cfda4(0x1a7)];if(!_0x35d006)return console[_0x3cfda4(0x18c)](LOG_PREFIX3+_0x3cfda4(0xe9)),null;const _0x51fe8a=buildRuntimeBootstrapOptions(_0x28ea4f);console[_0x3cfda4(0x18c)](LOG_PREFIX3+_0x3cfda4(0x15e),JSON[_0x3cfda4(0x121)](_0x51fe8a,null,0x2));const _0x5b23fd=serializeForScript(_0x51fe8a),_0x495767=JSON['stringify'](_0x35d006),_0x5c97bf=[_0x3cfda4(0xc6),_0x3cfda4(0xc7),_0x3cfda4(0x1dd),'\x20\x20\x20\x20const\x20runtimePath\x20=\x20'+_0x495767+';',_0x3cfda4(0x142),_0x3cfda4(0x151),'\x20\x20\x20\x20console.log(\x22[Enhance\x20Bootstrap]\x20Current\x20URL:\x22,\x20window.location.href);','\x20\x20\x20\x20const\x20runtimeModule\x20=\x20await\x20import(runtimePath);',_0x3cfda4(0x131),_0x3cfda4(0xcf),_0x3cfda4(0xbb),_0x3cfda4(0x150),_0x3cfda4(0xbe),'\x20\x20\x20\x20}',_0x3cfda4(0x187)+_0x5b23fd+_0x3cfda4(0x181),_0x3cfda4(0xfe)+_0x5b23fd+');','\x20\x20\x20\x20console.log(\x22[Enhance\x20Bootstrap]\x20Enhance\x20controller\x20created:\x22,\x20controller);','\x20\x20\x20\x20if\x20(typeof\x20window\x20!==\x20\x22undefined\x22)\x20{',_0x3cfda4(0x109),_0x3cfda4(0x1e2),_0x3cfda4(0x100),_0x3cfda4(0x14c),_0x3cfda4(0x113),_0x3cfda4(0x19f),'\x20\x20}',_0x3cfda4(0xdf),'</script>'];return _0x5c97bf['join']('\x0a');}function buildRuntimeBootstrapOptions(_0x55454c){const _0x502f3b=_0x3fccef,_0x447434={'callbackBypass':_0x55454c[_0x502f3b(0x172)],'__development':{'enableOverlayHmr':_0x55454c[_0x502f3b(0x1e4)],'overlayPath':_0x55454c[_0x502f3b(0xc5)],'security':_0x55454c[_0x502f3b(0xff)],'backendUrl':_0x55454c[_0x502f3b(0x164)]}};return _0x447434;}function serializeForScript(_0x4a3237){const _0x363c84=_0x3fccef;return JSON[_0x363c84(0x121)](_0x4a3237)[_0x363c84(0x19e)](/</g,'\x5cu003c')[_0x363c84(0x19e)](/>/g,'\x5cu003e');}function stripExistingRuntimeBootstraps(_0x2f042c,_0x1099d7){const _0x66bdd7=_0x3fccef,_0x4fbeeb=/<script\b[^>]*data-enhance-runtime-bootstrap[^>]*>[\s\S]*?<\/script>/gi;let _0x4361a5=_0x2f042c[_0x66bdd7(0x19e)](_0x4fbeeb,'');if(_0x1099d7){const _0x4fb23b=escapeRegExp(_0x1099d7),_0x593a5b=new RegExp(_0x66bdd7(0xda)+_0x4fb23b+_0x66bdd7(0xbc),'gi');_0x4361a5=_0x4361a5['replace'](_0x593a5b,'');}return _0x4361a5;}function escapeRegExp(_0xf85174){const _0x1178f6=_0x3fccef;return _0xf85174[_0x1178f6(0x19e)](/[-/\\^$*+?.()|[\]{}]/g,_0x1178f6(0x132));}function rewriteEntryReferences(_0xd26740,_0x33993e){const _0x527de6=_0x3fccef,_0x23bd45=_0x3077de=>rewriteScriptTag(_0xd26740,_0x3077de),_0x22de48=_0x567d03=>rewriteLinkTag(_0xd26740,_0x567d03);return _0x33993e[_0x527de6(0x19e)](/<script\b[^>]*>/gi,_0x23bd45)[_0x527de6(0x19e)](/<link\b[^>]*>/gi,_0x22de48);}function stripSri(_0x57e0ba){const _0x568f9f=_0x3fccef;return _0x57e0ba[_0x568f9f(0x19e)](/\s+integrity\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi,'');}function rewriteScriptTag(_0x2cdb71,_0x4395f9){const _0x34cb39=_0x3fccef,_0x157d93=extractAttribute(_0x4395f9,_0x34cb39(0x12c));if(!_0x157d93)return _0x4395f9;const _0x28512e=normalizeAssetReference(_0x2cdb71,_0x157d93[_0x34cb39(0xe1)]);if(!_0x28512e||_0x28512e===_0x157d93['value'])return _0x4395f9;const _0x5783e4=_0x157d93[_0x34cb39(0x14e)][_0x34cb39(0x19e)](_0x157d93[_0x34cb39(0xe1)],_0x28512e);return _0x4395f9[_0x34cb39(0x19e)](_0x157d93['full'],_0x5783e4);}function rewriteLinkTag(_0x28e8e1,_0x42f20e){const _0x3fd4cf=_0x3fccef,_0x2340f8=_0x42f20e[_0x3fd4cf(0xdd)](/\brel\s*=\s*(['"])([^"']+)\1/i);if(!_0x2340f8)return _0x42f20e;const _0xa79843=_0x2340f8[0x2][_0x3fd4cf(0x184)]();if(_0xa79843!==_0x3fd4cf(0x1c2)&&_0xa79843!==_0x3fd4cf(0x11a))return _0x42f20e;const _0x671b1a=extractAttribute(_0x42f20e,'href');if(!_0x671b1a)return _0x42f20e;const _0x4f5dab=normalizeAssetReference(_0x28e8e1,_0x671b1a[_0x3fd4cf(0xe1)]);if(!_0x4f5dab||_0x4f5dab===_0x671b1a[_0x3fd4cf(0xe1)])return _0x42f20e;const _0x5f1268=_0x671b1a[_0x3fd4cf(0x14e)][_0x3fd4cf(0x19e)](_0x671b1a['value'],_0x4f5dab);return _0x42f20e[_0x3fd4cf(0x19e)](_0x671b1a['full'],_0x5f1268);}function extractAttribute(_0x35cedd,_0x3a0d9b){const _0x4d6638=_0x3fccef,_0x49f981=new RegExp(_0x3a0d9b+_0x4d6638(0x1c7),'i'),_0x3a46a5=_0x35cedd['match'](_0x49f981);if(!_0x3a46a5)return null;return{'full':_0x3a46a5[0x0],'value':_0x3a46a5[0x2]};}function normalizeAssetReference(_0x1253ad,_0x3b7e0f){const _0x46edbc=_0x3fccef,_0xd0e94d=parseDocumentUrl(_0x3b7e0f);if(!_0xd0e94d)return null;if(_0xd0e94d[_0x46edbc(0x17b)]===self[_0x46edbc(0x1b4)]['origin'])return''+_0xd0e94d['pathname']+_0xd0e94d[_0x46edbc(0xf7)];return null;}function parseDocumentUrl(_0xe7b268){const _0x2830f3=_0x3fccef;try{return new URL(_0xe7b268,self['location'][_0x2830f3(0x17b)]);}catch{return null;}}var LOG_PREFIX4=_0x3fccef(0xbd);async function rewriteDocument(_0x29ace5,_0x1b77c4,_0x1c674,_0x8143a8=!![]){const _0x386165=_0x3fccef;console['log'](LOG_PREFIX4+'\x20rewriteDocument()\x20called'),console[_0x386165(0x18c)](LOG_PREFIX4+'\x20\x20\x20source:\x20'+_0x1c674),console[_0x386165(0x18c)](LOG_PREFIX4+'\x20\x20\x20shouldInjectOverlay:\x20'+_0x8143a8),console[_0x386165(0x18c)](LOG_PREFIX4+_0x386165(0x1c1)+_0x29ace5[_0x386165(0xff)]);const _0x2feddb=_0x1b77c4['clone'](),_0x4ba32e=await _0x2feddb[_0x386165(0x129)]();console[_0x386165(0x18c)](LOG_PREFIX4+_0x386165(0xf1)+_0x4ba32e[_0x386165(0xc8)]+_0x386165(0xd0)),console[_0x386165(0x18c)](LOG_PREFIX4+'\x20\x20\x20Stripping\x20SRI\x20attributes...');const _0x102f6f=stripSri(_0x4ba32e);console[_0x386165(0x18c)](LOG_PREFIX4+'\x20\x20\x20Rewriting\x20entry\x20references...');let _0x54fbab=rewriteEntryReferences(_0x29ace5,_0x102f6f);_0x1c674===_0x386165(0x175)?(console[_0x386165(0x18c)](LOG_PREFIX4+_0x386165(0x17a)),_0x54fbab=injectHmrBridge(_0x29ace5,_0x54fbab)):console[_0x386165(0x18c)](LOG_PREFIX4+_0x386165(0x1b8));_0x8143a8?(console['log'](LOG_PREFIX4+_0x386165(0x157)),_0x54fbab=injectRuntimeBootstrap(_0x29ace5,_0x54fbab)):console[_0x386165(0x18c)](LOG_PREFIX4+_0x386165(0x10c));console['log'](LOG_PREFIX4+_0x386165(0xf9)+_0x54fbab[_0x386165(0xc8)]+_0x386165(0xd0));const _0x533e88=new Headers(_0x2feddb[_0x386165(0x12d)]);_0x533e88[_0x386165(0x1a5)]('cache-control',_0x386165(0x108)),_0x533e88[_0x386165(0x1a5)](_0x386165(0x1b7),_0x386165(0xd8)),_0x533e88[_0x386165(0x1a5)](_0x386165(0x105),_0x1c674),stripCookies2(_0x533e88);if(_0x29ace5[_0x386165(0xff)]!=='custom'){console['log'](LOG_PREFIX4+_0x386165(0xcc));const _0x5b968c=_0x533e88['get'](_0x386165(0x1c6));_0x533e88[_0x386165(0x1a5)](_0x386165(0x1c6),buildPreviewCsp(_0x5b968c)),_0x533e88['delete']('cross-origin-opener-policy'),_0x533e88[_0x386165(0x111)]('cross-origin-embedder-policy'),_0x533e88[_0x386165(0x111)](_0x386165(0xed));}else console[_0x386165(0x18c)](LOG_PREFIX4+'\x20\x20\x20Custom\x20security\x20mode\x20-\x20preserving\x20original\x20CSP');return console[_0x386165(0x18c)](LOG_PREFIX4+'\x20\x20\x20Document\x20rewrite\x20complete'),new Response(_0x54fbab,{'status':_0x2feddb[_0x386165(0xc0)],'statusText':_0x2feddb[_0x386165(0xdc)],'headers':_0x533e88});}var LOG_PREFIX5='[Enhance\x20SW]';console['log'](LOG_PREFIX5+_0x3fccef(0x18b)+new Date()[_0x3fccef(0x145)]());function tryRestoreConfigFromUrl(_0x3aeb29){const _0x2b57e7=_0x3fccef,_0x16f05e=_0x3aeb29[_0x2b57e7(0x18e)]['get']('enhancementUrl');if(!_0x16f05e)return console[_0x2b57e7(0x18c)](LOG_PREFIX5+'\x20tryRestoreConfigFromUrl:\x20no\x20enhancementUrl\x20in\x20URL'),null;console['log'](LOG_PREFIX5+_0x2b57e7(0x10b)+_0x16f05e);let _0x2781e7=null;try{_0x2781e7=new URL(_0x16f05e);}catch(_0x32e9dd){return console[_0x2b57e7(0x10e)](LOG_PREFIX5+_0x2b57e7(0x1b0),_0x32e9dd),null;}const _0x494df8={'enhancementUrl':_0x16f05e,'callbackBypass':[],'overlayPath':_0x2b57e7(0x169),'overlayEnableViteHmr':![],'runtimeScriptPath':_0x2b57e7(0xe4),'swPath':_0x2b57e7(0xb9),'securityMode':_0x2b57e7(0x135),'backendUrl':'https://api.enhancelabs.ai'},_0xceab08=setActiveConfig(_0x494df8);return _0xceab08;}self['addEventListener'](_0x3fccef(0x122),_0x5406b6=>{const _0x2f9f88=_0x3fccef;console[_0x2f9f88(0x18c)](LOG_PREFIX5+_0x2f9f88(0x180)),_0x5406b6[_0x2f9f88(0x1a8)](((async()=>{const _0x36c807=_0x2f9f88;console[_0x36c807(0x18c)](LOG_PREFIX5+_0x36c807(0x140)),await self['skipWaiting'](),console[_0x36c807(0x18c)](LOG_PREFIX5+_0x36c807(0x1da));})()));}),self['addEventListener']('activate',_0x3b5e3d=>{const _0x3cd9a4=_0x3fccef;console[_0x3cd9a4(0x18c)](LOG_PREFIX5+_0x3cd9a4(0x1d0)),_0x3b5e3d['waitUntil'](((async()=>{const _0x17eef3=_0x3cd9a4;console[_0x17eef3(0x18c)](LOG_PREFIX5+_0x17eef3(0xee)),await self[_0x17eef3(0x1b3)][_0x17eef3(0x1d5)](),console[_0x17eef3(0x18c)](LOG_PREFIX5+_0x17eef3(0x173)),console[_0x17eef3(0x18c)](LOG_PREFIX5+_0x17eef3(0x10d)),await requestConfiguration(),console[_0x17eef3(0x18c)](LOG_PREFIX5+_0x17eef3(0x1bb));})()));}),self[_0x3fccef(0x1b6)](_0x3fccef(0x155),_0x2568f0=>{const _0x3319a5=_0x3fccef,_0x4840fd=_0x2568f0['data'];console[_0x3319a5(0x18c)](LOG_PREFIX5+_0x3319a5(0x1ad),_0x4840fd);if(!_0x4840fd||typeof _0x4840fd!==_0x3319a5(0x1ae)){console[_0x3319a5(0x18c)](LOG_PREFIX5+_0x3319a5(0x188));return;}switch(_0x4840fd['type']){case WORKER_MESSAGE_CONFIG:console['log'](LOG_PREFIX5+'\x20CONFIG\x20message\x20-\x20setting\x20active\x20config'),console[_0x3319a5(0x18c)](LOG_PREFIX5+_0x3319a5(0x170),JSON[_0x3319a5(0x121)](_0x4840fd[_0x3319a5(0x15d)],null,0x2)),setActiveConfig(_0x4840fd[_0x3319a5(0x15d)]),console[_0x3319a5(0x18c)](LOG_PREFIX5+'\x20Active\x20config\x20set');break;case WORKER_MESSAGE_DISABLE:console[_0x3319a5(0x18c)](LOG_PREFIX5+'\x20DISABLE\x20message\x20-\x20clearing\x20config'),clearActiveConfig(),console[_0x3319a5(0x18c)](LOG_PREFIX5+_0x3319a5(0xfd));break;default:console[_0x3319a5(0x18c)](LOG_PREFIX5+_0x3319a5(0x144)+_0x4840fd[_0x3319a5(0x1cb)]);break;}}),self[_0x3fccef(0x1b6)](_0x3fccef(0x11d),_0x3c7ac7=>{_0x3c7ac7['respondWith'](handleFetch(_0x3c7ac7));});async function handleFetch(_0x4b84d9){const _0x45cb8d=_0x3fccef,{request:_0x188138}=_0x4b84d9,_0x37cb9e=new URL(_0x188138[_0x45cb8d(0xd1)]),_0x2add00=_0x188138['mode']===_0x45cb8d(0xc3),_0x25bb69=_0x2add00||_0x37cb9e[_0x45cb8d(0x17b)]===self[_0x45cb8d(0x1b4)][_0x45cb8d(0x17b)];_0x25bb69&&(console['log'](LOG_PREFIX5+_0x45cb8d(0x17d)+_0x188138['method']+'\x20'+_0x37cb9e[_0x45cb8d(0x1df)]+_0x37cb9e[_0x45cb8d(0xf7)]),console['log'](LOG_PREFIX5+_0x45cb8d(0xc9)+_0x188138['mode']+_0x45cb8d(0xe6)+_0x188138['destination']));let _0x5ccccc=getActiveConfig();if(!_0x5ccccc&&_0x2add00){const _0x3e97fd=tryRestoreConfigFromUrl(_0x37cb9e);_0x3e97fd&&(console[_0x45cb8d(0x18c)](LOG_PREFIX5+'\x20\x20\x20Restored\x20config\x20from\x20URL\x20params'),_0x5ccccc=_0x3e97fd);}if(!_0x5ccccc)return _0x25bb69&&console[_0x45cb8d(0x18c)](LOG_PREFIX5+_0x45cb8d(0x167)),void requestConfiguration(),fetch(_0x188138);_0x25bb69&&console[_0x45cb8d(0x18c)](LOG_PREFIX5+'\x20\x20\x20Config\x20exists,\x20enhancementUrl:\x20'+(_0x5ccccc['enhancementUrl']||_0x45cb8d(0x1a3)));if(!shouldHandleRequest(_0x188138))return _0x25bb69&&console['log'](LOG_PREFIX5+_0x45cb8d(0x17c)),fetch(_0x188138);if(shouldBypass(_0x5ccccc,_0x37cb9e[_0x45cb8d(0x1df)]))return _0x25bb69&&console[_0x45cb8d(0x18c)](LOG_PREFIX5+_0x45cb8d(0x11f)+_0x37cb9e[_0x45cb8d(0x1df)]+_0x45cb8d(0x12f)),fetch(_0x188138);if(_0x2add00)return console[_0x45cb8d(0x18c)](LOG_PREFIX5+_0x45cb8d(0x10a)),handleNavigationRequest(_0x188138,_0x5ccccc);if(!shouldRouteAsset(_0x5ccccc,_0x188138,_0x37cb9e))return _0x25bb69&&console[_0x45cb8d(0x18c)](LOG_PREFIX5+_0x45cb8d(0x137)),fetch(_0x188138);console['log'](LOG_PREFIX5+'\x20\x20\x20Attempting\x20to\x20fetch\x20from\x20enhancement:\x20'+_0x37cb9e['pathname']);const _0x5edcb7=await fetchFromEnhancement(_0x5ccccc,_0x188138,_0x37cb9e);if(_0x5edcb7)return console[_0x45cb8d(0x18c)](LOG_PREFIX5+_0x45cb8d(0x13d)+_0x37cb9e['pathname']),_0x5edcb7;return console[_0x45cb8d(0x18c)](LOG_PREFIX5+'\x20\x20\x20Enhancement\x20MISS\x20for\x20'+_0x37cb9e[_0x45cb8d(0x1df)]+_0x45cb8d(0x14b)),fetch(_0x188138);}async function handleNavigationRequest(_0x5bb3e9,_0x53d031){const _0x26e803=_0x3fccef,_0x78baff=new URL(_0x5bb3e9[_0x26e803(0xd1)]);console[_0x26e803(0x18c)](LOG_PREFIX5+_0x26e803(0x160)+_0x78baff[_0x26e803(0x1df)]+_0x78baff[_0x26e803(0xf7)]),console['log'](LOG_PREFIX5+_0x26e803(0x186)+(_0x53d031['enhancementUrl']||_0x26e803(0x1a3))),console[_0x26e803(0x18c)](LOG_PREFIX5+_0x26e803(0x128));const _0xeb7771=await fetch(_0x5bb3e9);console[_0x26e803(0x18c)](LOG_PREFIX5+_0x26e803(0x177)+_0xeb7771[_0x26e803(0xc0)]+'\x20'+_0xeb7771[_0x26e803(0xdc)]),console[_0x26e803(0x18c)](LOG_PREFIX5+_0x26e803(0x196)+_0xeb7771[_0x26e803(0x12d)][_0x26e803(0x1a6)]('content-type'));if(!isHtmlResponse(_0xeb7771))return console[_0x26e803(0x18c)](LOG_PREFIX5+_0x26e803(0x1ba)),_0xeb7771;console[_0x26e803(0x18c)](LOG_PREFIX5+_0x26e803(0x114));const _0x3db369=toSameOriginResponse(_0xeb7771,'GET');console['log'](LOG_PREFIX5+_0x26e803(0x12b));const _0x41bc13=await fetchEnhancementDocument(_0x53d031,_0x5bb3e9),_0xfa1af8=_0x41bc13?'enhancement':'production';console['log'](LOG_PREFIX5+_0x26e803(0x1d7)+_0xfa1af8);const _0x233136=_0x41bc13??_0x3db369,_0x21d48e=_0xfa1af8===_0x26e803(0x175)||_0x78baff[_0x26e803(0x18e)][_0x26e803(0x15b)](_0x26e803(0x1b9))||_0x78baff['searchParams']['has']('enhancement')||_0x78baff[_0x26e803(0x18e)][_0x26e803(0x15b)](_0x26e803(0x166));console['log'](LOG_PREFIX5+_0x26e803(0x148)+_0x21d48e),console[_0x26e803(0x18c)](LOG_PREFIX5+_0x26e803(0x123)+(_0xfa1af8===_0x26e803(0x175))),console['log'](LOG_PREFIX5+_0x26e803(0x1e0)+_0x78baff['searchParams'][_0x26e803(0x15b)](_0x26e803(0x1b9))),console[_0x26e803(0x18c)](LOG_PREFIX5+_0x26e803(0x1be)+_0x78baff[_0x26e803(0x18e)][_0x26e803(0x15b)]('enhancement')),console[_0x26e803(0x18c)](LOG_PREFIX5+_0x26e803(0xd3)+_0x78baff[_0x26e803(0x18e)]['has']('enhancementUrl'));try{console[_0x26e803(0x18c)](LOG_PREFIX5+_0x26e803(0x1a2));const _0x1662ec=await rewriteDocument(_0x53d031,_0x233136,_0xfa1af8,_0x21d48e);return console[_0x26e803(0x18c)](LOG_PREFIX5+_0x26e803(0xea)),_0x1662ec;}catch(_0x588f4c){return console[_0x26e803(0x10e)](LOG_PREFIX5+_0x26e803(0xf2),_0x588f4c),log(_0x26e803(0x161),'Failed\x20to\x20rewrite\x20document',_0x588f4c),_0x233136;}}
1
+ 'use strict';(function(_0x4c073d,_0x3ba513){const _0x374348=_0x636e,_0x5a012f=_0x4c073d();while(!![]){try{const _0x4f689e=parseInt(_0x374348(0x2a4))/0x1+-parseInt(_0x374348(0x20e))/0x2+-parseInt(_0x374348(0x29a))/0x3+-parseInt(_0x374348(0x2a0))/0x4+parseInt(_0x374348(0x1bf))/0x5*(parseInt(_0x374348(0x1fe))/0x6)+parseInt(_0x374348(0x275))/0x7+parseInt(_0x374348(0x288))/0x8;if(_0x4f689e===_0x3ba513)break;else _0x5a012f['push'](_0x5a012f['shift']());}catch(_0x27bcef){_0x5a012f['push'](_0x5a012f['shift']());}}}(_0x57f8,0xc86de));function _0x636e(_0x53e7f1,_0x320821){_0x53e7f1=_0x53e7f1-0x1b7;const _0x57f846=_0x57f8();let _0x636e6=_0x57f846[_0x53e7f1];return _0x636e6;}var EnhanceSW=((()=>{const _0x2986ec=_0x636e;var _0x1f2143=Object['defineProperty'],_0x46b3e0=Object[_0x2986ec(0x1f9)],_0x680632=Object['getOwnPropertyNames'],_0x13cb65=Object[_0x2986ec(0x240)][_0x2986ec(0x23c)],_0x504e1d=(_0x153adb,_0xa99c73)=>{for(var _0x5a873c in _0xa99c73)_0x1f2143(_0x153adb,_0x5a873c,{'get':_0xa99c73[_0x5a873c],'enumerable':!![]});},_0x5b5032=(_0x10a30d,_0x15965d,_0x39d9b7,_0x37ec07)=>{const _0x53fee5=_0x2986ec;if(_0x15965d&&typeof _0x15965d===_0x53fee5(0x1c0)||typeof _0x15965d===_0x53fee5(0x205)){for(let _0x1dc1a5 of _0x680632(_0x15965d))if(!_0x13cb65[_0x53fee5(0x25d)](_0x10a30d,_0x1dc1a5)&&_0x1dc1a5!==_0x39d9b7)_0x1f2143(_0x10a30d,_0x1dc1a5,{'get':()=>_0x15965d[_0x1dc1a5],'enumerable':!(_0x37ec07=_0x46b3e0(_0x15965d,_0x1dc1a5))||_0x37ec07[_0x53fee5(0x1ed)]});}return _0x10a30d;},_0x35dd16=_0x2177c6=>_0x5b5032(_0x1f2143({},_0x2986ec(0x1c8),{'value':!![]}),_0x2177c6),_0x181ecf={};_0x504e1d(_0x181ecf,{'log':()=>_0x23bb9a});var _0x46a8df=_0x2986ec(0x249),_0x2d9595=_0x2986ec(0x277);function _0x4e5117(_0x24d62c){const _0x929bcd=_0x2986ec;if(!_0x24d62c[_0x929bcd(0x29b)]('/'))return'/'+_0x24d62c;return _0x24d62c;}function _0x59281d(_0x203f00,_0x3e25df){const _0x22b809=_0x2986ec,_0x6230b4=new URL(_0x203f00[_0x22b809(0x28d)]()),_0x5e274d=_0x6230b4[_0x22b809(0x2d0)][_0x22b809(0x22c)]('/')?_0x6230b4[_0x22b809(0x2d0)][_0x22b809(0x1c1)](0x0,-0x1):_0x6230b4[_0x22b809(0x2d0)],_0x21abec=_0x3e25df['pathname'][_0x22b809(0x29b)]('/')?_0x3e25df[_0x22b809(0x2d0)]:'/'+_0x3e25df[_0x22b809(0x2d0)];return _0x6230b4[_0x22b809(0x2d0)]=(''+_0x5e274d+_0x21abec)[_0x22b809(0x202)](/\/+/g,'/'),_0x6230b4['search']=_0x3e25df[_0x22b809(0x2b8)],_0x6230b4[_0x22b809(0x2b3)]='',_0x6230b4;}var _0x472bf6=_0x2986ec(0x2d1),_0x39af94=new Set([_0x2986ec(0x2c4),_0x2986ec(0x266),'font',_0x2986ec(0x20a),_0x2986ec(0x2b5),_0x2986ec(0x2d3),_0x2986ec(0x1c2)]);function _0x5e7795(_0x4c539c){const _0x56aec6=_0x2986ec,_0x4b388d=_0x4c539c['method']===_0x56aec6(0x2b1)||_0x4c539c[_0x56aec6(0x1b8)]===_0x56aec6(0x263);return _0x4b388d;}function _0x2e8c67(_0x45d34d,_0x1a0ebb){const _0xc18ae9=_0x2986ec,_0x4d1b1e=_0x4e5117(_0x1a0ebb),_0x537670=_0x45d34d[_0xc18ae9(0x255)][_0xc18ae9(0x2d2)](_0x18ff10=>_0x4d1b1e['startsWith'](_0x18ff10));return _0x537670;}function _0x2e1c56(_0x1335bf,_0x19414c,_0x34b97c){const _0x416f3f=_0x2986ec,_0x81e3cb=_0x19414c['destination'];if(!_0x81e3cb||!_0x39af94['has'](_0x81e3cb))return![];if(_0x1ae6c0(_0x1335bf,_0x34b97c))return console[_0x416f3f(0x252)](_0x472bf6+'\x20shouldRouteAsset:\x20'+_0x34b97c[_0x416f3f(0x2d0)]+_0x416f3f(0x2ab)),![];if(_0x458340(_0x1335bf,_0x34b97c))return console[_0x416f3f(0x252)](_0x472bf6+_0x416f3f(0x247)+_0x34b97c[_0x416f3f(0x2d0)]+_0x416f3f(0x1f7)),![];if(_0x34b97c[_0x416f3f(0x2d6)]!==self[_0x416f3f(0x25e)]['origin'])return![];return!![];}async function _0x1b14a8(_0x5d71e7,_0x3eb454,_0x852969){const _0xde89cd=_0x2986ec;console['log'](_0x472bf6+_0xde89cd(0x1eb)+_0x852969[_0xde89cd(0x2d0)]);if(!_0x5d71e7[_0xde89cd(0x23d)])return console[_0xde89cd(0x252)](_0x472bf6+_0xde89cd(0x2d5)),null;const _0x4ab5be=_0x4a820e(_0x5d71e7,_0x852969);console[_0xde89cd(0x252)](_0x472bf6+'\x20\x20\x20Enhancement\x20URL:\x20'+_0x4ab5be[_0xde89cd(0x28d)]());const _0x359c2a=new Headers(_0x3eb454[_0xde89cd(0x1da)]);_0x359c2a['set']('x-enhance-routing','enhancement'),_0x359c2a[_0xde89cd(0x2cf)](_0xde89cd(0x1bd));const _0x4afe11=new Request(_0x4ab5be['toString'](),{'method':_0x3eb454['method'],'headers':_0x359c2a,'credentials':'include','redirect':_0x3eb454['redirect'],'cache':_0xde89cd(0x1c6),'mode':_0xde89cd(0x28b)});try{console['log'](_0x472bf6+'\x20\x20\x20Fetching\x20from\x20enhancement...');const _0x1e183f=await fetch(_0x4afe11);console[_0xde89cd(0x252)](_0x472bf6+'\x20\x20\x20Response:\x20'+_0x1e183f[_0xde89cd(0x278)]+'\x20'+_0x1e183f[_0xde89cd(0x234)]+_0xde89cd(0x1ff)+_0x1e183f[_0xde89cd(0x245)]);if(_0x1e183f[_0xde89cd(0x245)]==='opaque')return console['log'](_0x472bf6+'\x20\x20\x20CORS\x20blocked\x20(opaque\x20response)'),_0x23bb9a(_0xde89cd(0x2a6),_0xde89cd(0x2aa),_0x4ab5be[_0xde89cd(0x28d)]()),null;if(!_0x1e183f['ok'])return console[_0xde89cd(0x252)](_0x472bf6+_0xde89cd(0x210)+_0x1e183f['status']+_0xde89cd(0x284)),_0x23bb9a(_0xde89cd(0x225),_0xde89cd(0x219)+_0x1e183f[_0xde89cd(0x278)]+_0xde89cd(0x267)+_0x4ab5be[_0xde89cd(0x2d0)]),null;return console['log'](_0x472bf6+_0xde89cd(0x1f6)),_0x18a28b(_0x1e183f,_0x3eb454['method']);}catch(_0x48618f){return console[_0xde89cd(0x2a8)](_0x472bf6+_0xde89cd(0x22b),_0x48618f),_0x23bb9a('info',_0xde89cd(0x2c0),_0x48618f),null;}}async function _0x8e716a(_0x512471,_0x35c716){const _0x14c23d=_0x2986ec,_0x7a3143=new URL(_0x35c716[_0x14c23d(0x296)]);console['log'](_0x472bf6+_0x14c23d(0x26b)+_0x7a3143[_0x14c23d(0x2d0)]+_0x7a3143[_0x14c23d(0x2b8)]);if(!_0x512471[_0x14c23d(0x23d)])return console[_0x14c23d(0x252)](_0x472bf6+_0x14c23d(0x23a)),null;const _0x1f1de1=_0x4a820e(_0x512471,_0x7a3143);console['log'](_0x472bf6+'\x20\x20\x20Enhancement\x20document\x20URL:\x20'+_0x1f1de1['toString']());const _0x39e4a9=new Headers(_0x35c716[_0x14c23d(0x1da)]);_0x39e4a9['set'](_0x14c23d(0x2a1),_0x14c23d(0x24d)),_0x39e4a9['delete'](_0x14c23d(0x1bd)),_0x39e4a9[_0x14c23d(0x2cf)](_0x14c23d(0x286));const _0x4a5063=new Request(_0x1f1de1[_0x14c23d(0x28d)](),{'method':_0x14c23d(0x2b1),'headers':_0x39e4a9,'credentials':_0x14c23d(0x294),'redirect':'follow','cache':_0x14c23d(0x1c6),'mode':_0x14c23d(0x28b)});try{console['log'](_0x472bf6+_0x14c23d(0x2bc));const _0x3da05b=await fetch(_0x4a5063);console['log'](_0x472bf6+_0x14c23d(0x293)+_0x3da05b[_0x14c23d(0x278)]+'\x20'+_0x3da05b[_0x14c23d(0x234)]+',\x20type:\x20'+_0x3da05b[_0x14c23d(0x245)]),console['log'](_0x472bf6+_0x14c23d(0x261)+_0x3da05b[_0x14c23d(0x1da)]['get'](_0x14c23d(0x20b)));if(_0x3da05b[_0x14c23d(0x245)]==='opaque')return console[_0x14c23d(0x252)](_0x472bf6+_0x14c23d(0x26e)),_0x23bb9a(_0x14c23d(0x2a6),'Enhancement\x20document\x20CORS\x20blocked',_0x1f1de1[_0x14c23d(0x28d)]()),null;if(!_0x3da05b['ok'])return console[_0x14c23d(0x252)](_0x472bf6+_0x14c23d(0x210)+_0x3da05b[_0x14c23d(0x278)]+')\x20-\x20returning\x20null'),_0x23bb9a(_0x14c23d(0x225),'Enhancement\x20document\x20miss\x20'+_0x3da05b[_0x14c23d(0x278)]+_0x14c23d(0x267)+_0x1f1de1[_0x14c23d(0x2d0)]),null;if(!_0x4b730b(_0x3da05b))return console[_0x14c23d(0x252)](_0x472bf6+_0x14c23d(0x254)),null;return console[_0x14c23d(0x252)](_0x472bf6+_0x14c23d(0x1fa)),_0x18a28b(_0x3da05b,'GET');}catch(_0x5a60f2){return console[_0x14c23d(0x2a8)](_0x472bf6+'\x20\x20\x20Document\x20fetch\x20error:',_0x5a60f2),_0x23bb9a(_0x14c23d(0x2a6),_0x14c23d(0x2a2),_0x5a60f2),null;}}function _0x4a820e(_0x5e4376,_0x4ba325){const _0x28cad1=_0x2986ec;if(!_0x5e4376['enhancementBase'])throw new Error(_0x28cad1(0x274));return _0x59281d(_0x5e4376[_0x28cad1(0x23d)],_0x4ba325);}function _0x18a28b(_0xa063eb,_0x4cfa35){const _0x2064f0=_0x2986ec,_0x29547a=_0xa063eb[_0x2064f0(0x264)](),_0x4b2d60=new Headers(_0x29547a[_0x2064f0(0x1da)]);_0x4b2d60['delete'](_0x2064f0(0x22a)),_0x4b2d60[_0x2064f0(0x2cf)]('access-control-allow-credentials'),_0x4b2d60[_0x2064f0(0x2cf)](_0x2064f0(0x282)),_0x4b2d60[_0x2064f0(0x1bc)](_0x2064f0(0x2c2),'hit'),_0x4b6740(_0x4b2d60);const _0x5bf6a4=_0x4cfa35==='HEAD'?null:_0x29547a[_0x2064f0(0x2bd)];return new Response(_0x5bf6a4,{'status':_0x29547a['status'],'statusText':_0x29547a['statusText'],'headers':_0x4b2d60});}function _0x4b730b(_0x4bcdf5){const _0x108b49=_0x2986ec,_0x48e905=_0x4bcdf5['headers']['get']('content-type');return _0x48e905!=null&&_0x48e905['includes'](_0x108b49(0x237));}function _0x1ae6c0(_0x58ffaf,_0x3e4324){const _0x5aa6ab=_0x2986ec;return _0x5c1ec9(_0x3e4324,_0x58ffaf[_0x5aa6ab(0x270)]);}function _0x458340(_0x23b944,_0x1d0830){const _0x120c81=_0x2986ec;return _0x4893c6(_0x1d0830,_0x23b944[_0x120c81(0x1f2)]);}function _0x5c1ec9(_0x5a5095,_0x1d3bf7){const _0x3153da=_0x2986ec;if(!_0x1d3bf7)return![];if(_0x1d3bf7[_0x3153da(0x29b)](_0x3153da(0x1be))||_0x1d3bf7['startsWith'](_0x3153da(0x1ca)))return _0x5a5095['href']===_0x1d3bf7;const _0xcf1e66=_0x11efec(_0x1d3bf7);if(!_0xcf1e66)return![];const _0x2c87ca=''+_0x5a5095[_0x3153da(0x2d0)]+_0x5a5095[_0x3153da(0x2b8)];if(_0x2c87ca===_0xcf1e66)return!![];if(_0x5a5095[_0x3153da(0x2b8)]===_0x3153da(0x220))return _0x5a5095[_0x3153da(0x2d0)]===_0xcf1e66;return![];}function _0x4893c6(_0x13a3a9,_0x53b367){const _0x587f21=_0x2986ec;if(!_0x53b367)return![];if(_0x53b367[_0x587f21(0x29b)](_0x587f21(0x1be))||_0x53b367[_0x587f21(0x29b)]('https://'))return _0x13a3a9['href']===_0x53b367;const _0x1ee019=_0x11efec(_0x53b367);if(!_0x1ee019)return![];const _0x1bf72d=''+_0x13a3a9['pathname']+_0x13a3a9[_0x587f21(0x2b8)];return _0x1bf72d===_0x1ee019;}function _0x11efec(_0xe1330a){const _0x2e46c8=_0x2986ec;if(!_0xe1330a)return _0xe1330a;if(_0xe1330a[_0x2e46c8(0x29b)](_0x2e46c8(0x1be))||_0xe1330a['startsWith'](_0x2e46c8(0x1ca)))return _0xe1330a;const _0x5260d3=_0xe1330a['replace'](/^\.\//,'');if(_0x5260d3[_0x2e46c8(0x29b)]('/'))return _0x5260d3;return'/'+_0x5260d3;}function _0x4b6740(_0xbd5dba){const _0x1a7b08=_0x2986ec;_0xbd5dba[_0x1a7b08(0x2cf)](_0x1a7b08(0x2c7)),_0xbd5dba[_0x1a7b08(0x2cf)](_0x1a7b08(0x1f8));}function _0x4e3522(_0x5ef30e){const _0x5818f1=_0x2986ec,_0x4c9cae=['default-src\x20\x27self\x27\x20blob:\x20data:',_0x5818f1(0x232),_0x5818f1(0x21b),_0x5818f1(0x2ac),_0x5818f1(0x27b),_0x5818f1(0x2c5),_0x5818f1(0x2a5),_0x5818f1(0x1c5),'object-src\x20\x27none\x27'],_0x4bb07b=_0x13d017(_0x5ef30e);return _0x4bb07b&&_0x4c9cae[_0x5818f1(0x203)](_0x4bb07b),_0x4c9cae[_0x5818f1(0x295)](';\x20');}function _0x58d6a7(_0x40e58f){const _0x324c93=_0x2986ec;_0x40e58f[_0x324c93(0x2cf)](_0x324c93(0x2c7)),_0x40e58f[_0x324c93(0x2cf)](_0x324c93(0x1f8));}function _0x13d017(_0x1566c4){const _0x46563a=_0x2986ec;if(!_0x1566c4)return null;const _0x1b7721=_0x1566c4[_0x46563a(0x1d9)](/frame-ancestors\s+([^;]+)/i);if(!_0x1b7721)return null;return'frame-ancestors\x20'+_0x1b7721[0x1][_0x46563a(0x271)]();}function _0x5f2d64(_0x13a618,_0xaede8c){const _0xa79ec0=_0x2986ec;if(/<head[^>]*>/i[_0xa79ec0(0x1ce)](_0x13a618)){const _0x4c2fd5=_0x13a618['match'](/<head[^>]*>/i);if(_0x4c2fd5){const _0x37abff=_0x4c2fd5[0x0];return _0x13a618['replace'](_0x37abff,_0x37abff+'\x0a'+_0xaede8c);}}if(/<\/head>/i[_0xa79ec0(0x1ce)](_0x13a618))return _0x13a618[_0xa79ec0(0x202)](/<\/head>/i,_0xaede8c+_0xa79ec0(0x213));if(/<body\b[^>]*>/i[_0xa79ec0(0x1ce)](_0x13a618))return _0x13a618[_0xa79ec0(0x202)](/<body\b[^>]*>/i,_0xa79ec0(0x20d)+_0xaede8c);if(/<\/body>/i[_0xa79ec0(0x1ce)](_0x13a618))return _0x13a618[_0xa79ec0(0x202)](/<\/body>/i,_0xaede8c+_0xa79ec0(0x243));return _0xaede8c+'\x0a'+_0x13a618;}var _0x4abd1a=['vite-hmr'],_0x1f0151=[_0x2986ec(0x1ba),_0x2986ec(0x258),'/vite/client',_0x2986ec(0x290),_0x2986ec(0x25f),_0x2986ec(0x1d0),_0x2986ec(0x2ae),_0x2986ec(0x26a),_0x2986ec(0x29f),_0x2986ec(0x1e8),_0x2986ec(0x21e),_0x2986ec(0x269),'/__parcel_hmr','/__snowpack__',_0x2986ec(0x206)];function _0x450c3d(_0xc85eba,_0x5aeb57){const _0x410177=_0x19a6c8(_0xc85eba);if(!_0x410177)return _0x5aeb57;return _0x5f2d64(_0x5aeb57,_0x410177);}function _0x19a6c8(_0x4788ce){const _0x2d07ea=_0x2986ec;if(!_0x4788ce[_0x2d07ea(0x23d)])return null;const _0x4b90c2=_0x4788ce[_0x2d07ea(0x23d)][_0x2d07ea(0x28d)](),_0x589bcd=_0x414c04(_0x4abd1a),_0x12fe69=_0x414c04(_0x1f0151),_0x3030d5=[_0x2d07ea(0x22f),'(function(){','\x20\x20try\x20{',_0x2d07ea(0x1fb)+JSON[_0x2d07ea(0x201)](_0x4b90c2)+');',_0x2d07ea(0x273),'\x20\x20\x20\x20if\x20(!originalWebSocket\x20||\x20originalWebSocket.__enhancePatched)\x20{','\x20\x20\x20\x20\x20\x20return;',_0x2d07ea(0x1e1),_0x2d07ea(0x235)+JSON[_0x2d07ea(0x201)](_0x589bcd)+');','\x20\x20\x20\x20var\x20knownPathHints\x20=\x20'+JSON['stringify'](_0x12fe69)+';','\x20\x20\x20\x20var\x20basePrefix\x20=\x20\x22/__sbx__\x22;','\x20\x20\x20\x20var\x20toArray\x20=\x20function(value)\x20{',_0x2d07ea(0x224),'\x20\x20\x20\x20\x20\x20return\x20Array.isArray(value)\x20?\x20value\x20:\x20[value];',_0x2d07ea(0x1f3),'\x20\x20\x20\x20var\x20shouldProxy\x20=\x20function(url,\x20protocols)\x20{',_0x2d07ea(0x1e7),_0x2d07ea(0x2b2),_0x2d07ea(0x1e4),_0x2d07ea(0x209),_0x2d07ea(0x28f),_0x2d07ea(0x1fc),_0x2d07ea(0x28f),_0x2d07ea(0x1d6),_0x2d07ea(0x27c),_0x2d07ea(0x253),_0x2d07ea(0x1cf),_0x2d07ea(0x242),_0x2d07ea(0x2cc),'\x20\x20\x20\x20\x20\x20\x20\x20var\x20proto\x20=\x20protoList[i];',_0x2d07ea(0x24b),_0x2d07ea(0x29c),'\x20\x20\x20\x20\x20\x20\x20\x20}',_0x2d07ea(0x1cf),_0x2d07ea(0x21d),_0x2d07ea(0x248),_0x2d07ea(0x211),_0x2d07ea(0x29c),_0x2d07ea(0x2d4),'\x20\x20\x20\x20\x20\x20}',_0x2d07ea(0x1e9),_0x2d07ea(0x1f3),_0x2d07ea(0x1e2),_0x2d07ea(0x241),_0x2d07ea(0x21a),_0x2d07ea(0x218),_0x2d07ea(0x298),'\x20\x20\x20\x20\x20\x20return\x20proxied;',_0x2d07ea(0x1f3),_0x2d07ea(0x1e0),_0x2d07ea(0x2cd),'\x20\x20\x20\x20\x20\x20\x20\x20var\x20resolved\x20=\x20url\x20instanceof\x20URL\x20?\x20url\x20:\x20new\x20URL(String(url),\x20window.location.href);',_0x2d07ea(0x2c1),_0x2d07ea(0x2c8),_0x2d07ea(0x1e6),_0x2d07ea(0x2d4),_0x2d07ea(0x283),_0x2d07ea(0x2a7),'\x20\x20\x20\x20\x20\x20}','\x20\x20\x20\x20\x20\x20return\x20new\x20originalWebSocket(url,\x20protocols);',_0x2d07ea(0x1f3),'\x20\x20\x20\x20Object.assign(EnhancedWebSocket,\x20originalWebSocket);','\x20\x20\x20\x20EnhancedWebSocket.prototype\x20=\x20originalWebSocket.prototype;','\x20\x20\x20\x20Object.setPrototypeOf(EnhancedWebSocket,\x20originalWebSocket);',_0x2d07ea(0x236),'\x20\x20\x20\x20\x20\x20Object.defineProperty(EnhancedWebSocket.prototype,\x20\x22constructor\x22,\x20{\x20value:\x20EnhancedWebSocket\x20});',_0x2d07ea(0x21c),'\x20\x20\x20\x20\x20\x20//\x20ignore\x20if\x20unable\x20to\x20redefine',_0x2d07ea(0x1e1),_0x2d07ea(0x231),'\x20\x20\x20\x20window.WebSocket\x20=\x20EnhancedWebSocket;',_0x2d07ea(0x1ea),_0x2d07ea(0x24f),_0x2d07ea(0x2bf),'})();','</script>'];return _0x3030d5[_0x2d07ea(0x295)]('\x0a');}function _0x414c04(_0x1647ed){const _0x425114=_0x2986ec,_0x4fc8fa=new Set(),_0x48e94d=[];for(const _0x16ea27 of _0x1647ed){const _0x191d9f=_0x16ea27['toLowerCase']();if(_0x4fc8fa['has'](_0x191d9f))continue;_0x4fc8fa[_0x425114(0x244)](_0x191d9f),_0x48e94d[_0x425114(0x203)](_0x191d9f);}return _0x48e94d;}var _0x41355f=_0x2986ec(0x23e);function _0xdf14ce(_0x53822d,_0x3529bb){const _0x26b94c=_0x2986ec;console['log'](_0x41355f+'\x20injectRuntimeBootstrap()\x20called'),console['log'](_0x41355f+'\x20\x20\x20runtimeScriptPath:\x20'+_0x53822d[_0x26b94c(0x1f2)]),console[_0x26b94c(0x252)](_0x41355f+_0x26b94c(0x29e)+_0x53822d[_0x26b94c(0x270)]);const _0x3e258c=_0x51fdf0(_0x53822d);if(!_0x3e258c)return console[_0x26b94c(0x252)](_0x41355f+_0x26b94c(0x1c3)),_0x3529bb;console[_0x26b94c(0x252)](_0x41355f+'\x20\x20\x20Bootstrap\x20script\x20generated\x20('+_0x3e258c[_0x26b94c(0x281)]+'\x20chars)');const _0x5dc41b=_0x21d5b7(_0x3529bb,_0x53822d[_0x26b94c(0x1f2)]);console[_0x26b94c(0x252)](_0x41355f+_0x26b94c(0x2a9));const _0x11b403=_0x5f2d64(_0x5dc41b,_0x3e258c);return console[_0x26b94c(0x252)](_0x41355f+_0x26b94c(0x212)),_0x11b403;}function _0x51fdf0(_0x5ab4ad){const _0x5af375=_0x2986ec,_0x559aa2=_0x5ab4ad[_0x5af375(0x1f2)];if(!_0x559aa2)return console[_0x5af375(0x252)](_0x41355f+_0x5af375(0x25b)),null;const _0x31d625=_0x36c20f(_0x5ab4ad);console['log'](_0x41355f+_0x5af375(0x215),JSON[_0x5af375(0x201)](_0x31d625,null,0x2));const _0x51c8c4=_0x30d9df(_0x31d625),_0x2e3e94=JSON[_0x5af375(0x201)](_0x559aa2),_0x1c1fa=['<script\x20type=\x22module\x22\x20data-enhance-runtime-bootstrap>',_0x5af375(0x239),_0x5af375(0x26c),_0x5af375(0x257)+_0x2e3e94+';',_0x5af375(0x1dc),'\x20\x20\x20\x20console.log(\x22[Enhance\x20Bootstrap]\x20Runtime\x20path:\x22,\x20runtimePath);',_0x5af375(0x20c),_0x5af375(0x292),_0x5af375(0x23b),'\x20\x20\x20\x20const\x20Enhance\x20=\x20runtimeModule?.Enhance\x20??\x20runtimeModule?.default?.Enhance\x20??\x20runtimeModule?.default;','\x20\x20\x20\x20if\x20(!Enhance\x20||\x20typeof\x20Enhance.init\x20!==\x20\x22function\x22)\x20{',_0x5af375(0x1f1),_0x5af375(0x272),_0x5af375(0x1e1),_0x5af375(0x1d4)+_0x51c8c4+',\x20null,\x202));',_0x5af375(0x27e)+_0x51c8c4+');',_0x5af375(0x2c3),_0x5af375(0x1d5),_0x5af375(0x2b6),_0x5af375(0x28c),_0x5af375(0x1f0),_0x5af375(0x2cb),_0x5af375(0x1de),'\x20\x20\x20\x20\x20\x20console.log(\x22[Enhance\x20Bootstrap]\x20Set\x20window.__enhanceInitialized\x20=\x20true\x22);',_0x5af375(0x1e1),_0x5af375(0x250),_0x5af375(0x1ea),_0x5af375(0x226),_0x5af375(0x2bf),'})();',_0x5af375(0x1f4)];return _0x1c1fa[_0x5af375(0x295)]('\x0a');}function _0x36c20f(_0x5647a2){const _0xfa9e71=_0x2986ec,_0x2bd13f={'callbackBypass':_0x5647a2[_0xfa9e71(0x222)],'__development':{'enableOverlayHmr':_0x5647a2[_0xfa9e71(0x246)],'overlayPath':_0x5647a2['overlayPath'],'security':_0x5647a2['securityMode'],'backendUrl':_0x5647a2[_0xfa9e71(0x24a)]}};return _0x2bd13f;}function _0x30d9df(_0x1cd2f3){const _0x3b4904=_0x2986ec;return JSON[_0x3b4904(0x201)](_0x1cd2f3)[_0x3b4904(0x202)](/</g,_0x3b4904(0x1c7))['replace'](/>/g,_0x3b4904(0x1e3));}function _0x21d5b7(_0x105e0f,_0x410ff4){const _0x42c236=_0x2986ec,_0x4699af=/<script\b[^>]*data-enhance-runtime-bootstrap[^>]*>[\s\S]*?<\/script>/gi;let _0x556193=_0x105e0f[_0x42c236(0x202)](_0x4699af,'');if(_0x410ff4){const _0x33c78d=_0x1b8f53(_0x410ff4),_0x55d7a7=new RegExp(_0x42c236(0x1d7)+_0x33c78d+'\x5c1[^>]*>\x5cs*</script>','gi');_0x556193=_0x556193[_0x42c236(0x202)](_0x55d7a7,'');}return _0x556193;}function _0x1b8f53(_0x3d57e1){const _0x47055b=_0x2986ec;return _0x3d57e1[_0x47055b(0x202)](/[-/\\^$*+?.()|[\]{}]/g,_0x47055b(0x207));}function _0x105263(_0x46ad09,_0xbc1ad4){const _0x5e23e7=_0x2986ec,_0x84568a=_0x4a507a=>_0xa0485e(_0x46ad09,_0x4a507a),_0x307537=_0x569203=>_0x5ad8d9(_0x46ad09,_0x569203);return _0xbc1ad4['replace'](/<script\b[^>]*>/gi,_0x84568a)[_0x5e23e7(0x202)](/<link\b[^>]*>/gi,_0x307537);}function _0x195cec(_0x4d4150){return _0x4d4150['replace'](/\s+integrity\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi,'');}function _0xa0485e(_0x4642ed,_0x38f497){const _0x1f4001=_0x2986ec,_0x431618=_0x8e6fd2(_0x38f497,_0x1f4001(0x214));if(!_0x431618)return _0x38f497;const _0x539b46=_0x5749eb(_0x4642ed,_0x431618[_0x1f4001(0x1cb)]);if(!_0x539b46||_0x539b46===_0x431618[_0x1f4001(0x1cb)])return _0x38f497;const _0x492239=_0x431618[_0x1f4001(0x285)]['replace'](_0x431618[_0x1f4001(0x1cb)],_0x539b46);return _0x38f497['replace'](_0x431618['full'],_0x492239);}function _0x5ad8d9(_0xd1550d,_0x1acdcc){const _0x260a6a=_0x2986ec,_0x5726e1=_0x1acdcc['match'](/\brel\s*=\s*(['"])([^"']+)\1/i);if(!_0x5726e1)return _0x1acdcc;const _0x4c57d9=_0x5726e1[0x2][_0x260a6a(0x28a)]();if(_0x4c57d9!=='stylesheet'&&_0x4c57d9!==_0x260a6a(0x1c2))return _0x1acdcc;const _0x3db105=_0x8e6fd2(_0x1acdcc,_0x260a6a(0x27d));if(!_0x3db105)return _0x1acdcc;const _0x43bc64=_0x5749eb(_0xd1550d,_0x3db105[_0x260a6a(0x1cb)]);if(!_0x43bc64||_0x43bc64===_0x3db105[_0x260a6a(0x1cb)])return _0x1acdcc;const _0x42ba10=_0x3db105['full'][_0x260a6a(0x202)](_0x3db105[_0x260a6a(0x1cb)],_0x43bc64);return _0x1acdcc['replace'](_0x3db105[_0x260a6a(0x285)],_0x42ba10);}function _0x8e6fd2(_0x1389ca,_0x2c9196){const _0x4efde9=_0x2986ec,_0x1656a=new RegExp(_0x2c9196+_0x4efde9(0x259),'i'),_0x1678b4=_0x1389ca['match'](_0x1656a);if(!_0x1678b4)return null;return{'full':_0x1678b4[0x0],'value':_0x1678b4[0x2]};}function _0x5749eb(_0x49df7d,_0x2cb3af){const _0x5a5d0f=_0x2986ec,_0x37f4fe=_0x3258a4(_0x2cb3af);if(!_0x37f4fe)return null;if(_0x37f4fe[_0x5a5d0f(0x2d6)]===self[_0x5a5d0f(0x25e)]['origin'])return''+_0x37f4fe[_0x5a5d0f(0x2d0)]+_0x37f4fe[_0x5a5d0f(0x2b8)];return null;}function _0x3258a4(_0x4866b2){const _0x5439f2=_0x2986ec;try{return new URL(_0x4866b2,self['location'][_0x5439f2(0x2d6)]);}catch{return null;}}var _0x347d63=_0x2986ec(0x1cc);async function _0x343d70(_0x39ac30,_0x561338,_0x392551,_0x3c5b8e=!![]){const _0x538438=_0x2986ec;console[_0x538438(0x252)](_0x347d63+'\x20rewriteDocument()\x20called'),console[_0x538438(0x252)](_0x347d63+'\x20\x20\x20source:\x20'+_0x392551),console[_0x538438(0x252)](_0x347d63+_0x538438(0x221)+_0x3c5b8e),console[_0x538438(0x252)](_0x347d63+_0x538438(0x229)+_0x39ac30[_0x538438(0x1ef)]);const _0x3f56fe=_0x561338[_0x538438(0x264)](),_0x23fa2e=await _0x3f56fe['text']();console[_0x538438(0x252)](_0x347d63+_0x538438(0x1f5)+_0x23fa2e['length']+_0x538438(0x1dd)),console['log'](_0x347d63+_0x538438(0x29d));const _0x3f6ff1=_0x195cec(_0x23fa2e);console['log'](_0x347d63+'\x20\x20\x20Rewriting\x20entry\x20references...');let _0x21607f=_0x105263(_0x39ac30,_0x3f6ff1);_0x392551===_0x538438(0x1ee)?(console[_0x538438(0x252)](_0x347d63+'\x20\x20\x20Injecting\x20HMR\x20bridge\x20(enhancement\x20source)...'),_0x21607f=_0x450c3d(_0x39ac30,_0x21607f)):console[_0x538438(0x252)](_0x347d63+_0x538438(0x299));_0x3c5b8e?(console[_0x538438(0x252)](_0x347d63+_0x538438(0x1c4)),_0x21607f=_0xdf14ce(_0x39ac30,_0x21607f)):console[_0x538438(0x252)](_0x347d63+_0x538438(0x2ad));console[_0x538438(0x252)](_0x347d63+_0x538438(0x1b9)+_0x21607f[_0x538438(0x281)]+_0x538438(0x1dd));const _0x371d75=new Headers(_0x3f56fe[_0x538438(0x1da)]);_0x371d75['set']('cache-control','no-store'),_0x371d75[_0x538438(0x1bc)](_0x538438(0x208),'rewritten'),_0x371d75[_0x538438(0x1bc)](_0x538438(0x297),_0x392551),_0x58d6a7(_0x371d75);if(_0x39ac30['securityMode']!=='custom'){console[_0x538438(0x252)](_0x347d63+'\x20\x20\x20Applying\x20permissive\x20CSP...');const _0x599d12=_0x371d75[_0x538438(0x24e)](_0x538438(0x256));_0x371d75[_0x538438(0x1bc)](_0x538438(0x256),_0x4e3522(_0x599d12)),_0x371d75[_0x538438(0x2cf)](_0x538438(0x280)),_0x371d75[_0x538438(0x2cf)](_0x538438(0x228)),_0x371d75[_0x538438(0x2cf)]('cross-origin-resource-policy');}else console[_0x538438(0x252)](_0x347d63+'\x20\x20\x20Custom\x20security\x20mode\x20-\x20preserving\x20original\x20CSP');return console[_0x538438(0x252)](_0x347d63+'\x20\x20\x20Document\x20rewrite\x20complete'),new Response(_0x21607f,{'status':_0x3f56fe['status'],'statusText':_0x3f56fe[_0x538438(0x234)],'headers':_0x371d75});}var _0x5a9439=_0x2986ec(0x26f);console[_0x2986ec(0x252)](_0x5a9439+_0x2986ec(0x1d8)+new Date()[_0x2986ec(0x22e)]());var _0x51bc5f={'overlayPath':_0x2986ec(0x230),'backendUrl':'https://api.enhancelabs.ai','overlayEnableViteHmr':![],'runtimeScriptPath':'/assets/enhance-runtime.js','swPath':_0x2986ec(0x1df)};console['log'](_0x5a9439+'\x20Build\x20config:',JSON[_0x2986ec(0x201)](_0x51bc5f,null,0x2));var _0x1715ac={'callbackBypass':[_0x2986ec(0x28e)],'securityMode':_0x2986ec(0x2c6)},_0x42a498=null,_0x26d0fa=null;function _0x218847(_0x4f48ae,_0x3bae0b){const _0x1c566f=_0x2986ec,_0x35e057=_0x4f48ae[_0x1c566f(0x2b4)][_0x1c566f(0x24e)](_0x1c566f(0x27f));if(_0x3bae0b&&_0x35e057){console[_0x1c566f(0x252)](_0x5a9439+_0x1c566f(0x2ce)+_0x35e057),_0x42a498=_0x35e057;try{_0x26d0fa=new URL(_0x35e057);}catch{console[_0x1c566f(0x2a8)](_0x5a9439+'\x20Failed\x20to\x20parse\x20enhancementUrl:\x20'+_0x35e057),_0x26d0fa=null;}}_0x3bae0b&&!_0x35e057&&(_0x42a498&&console[_0x1c566f(0x252)](_0x5a9439+_0x1c566f(0x2ba)),_0x42a498=null,_0x26d0fa=null);const _0x9457f5=_0x35e057||_0x42a498||'',_0x3cc577=_0x35e057?((()=>{if(_0x35e057===_0x42a498)return _0x26d0fa;try{return new URL(_0x35e057);}catch{return null;}})()):_0x26d0fa;return{..._0x51bc5f,..._0x1715ac,'enhancementUrl':_0x9457f5,'enhancementBase':_0x3cc577,'callbackBypassNormalized':_0x1715ac[_0x1c566f(0x222)][_0x1c566f(0x238)](_0x17c0c9=>_0x17c0c9[_0x1c566f(0x29b)]('/')?_0x17c0c9:'/'+_0x17c0c9)};}function _0x23bb9a(_0x357fe9,_0x3cfcb1,..._0x52b683){const _0x322d70=_0x2986ec;_0x357fe9===_0x322d70(0x2a6)?console[_0x322d70(0x2a6)](_0x5a9439,_0x3cfcb1,..._0x52b683):console['debug'](_0x5a9439,_0x3cfcb1,..._0x52b683);}self[_0x2986ec(0x24c)](_0x2986ec(0x217),_0xa43e05=>{const _0x478967=_0x2986ec;console['log'](_0x5a9439+_0x478967(0x1cd)),_0xa43e05[_0x478967(0x1d3)](((async()=>{const _0x18b6e6=_0x478967;console[_0x18b6e6(0x252)](_0x5a9439+_0x18b6e6(0x279)),await self['skipWaiting'](),console[_0x18b6e6(0x252)](_0x5a9439+_0x18b6e6(0x289));})()));}),self[_0x2986ec(0x24c)](_0x2986ec(0x1b7),_0x414559=>{const _0x339be1=_0x2986ec;console['log'](_0x5a9439+_0x339be1(0x1e5)),_0x414559[_0x339be1(0x1d3)](((async()=>{const _0x4d9d7e=_0x339be1;console['log'](_0x5a9439+_0x4d9d7e(0x25c)),await self[_0x4d9d7e(0x2b9)][_0x4d9d7e(0x1d2)](),console[_0x4d9d7e(0x252)](_0x5a9439+_0x4d9d7e(0x1bb));})()));}),self[_0x2986ec(0x24c)](_0x2986ec(0x27a),_0x3446a7=>{const _0x202325=_0x2986ec,_0x459ef0=_0x3446a7[_0x202325(0x204)];console[_0x202325(0x252)](_0x5a9439+_0x202325(0x26d),_0x459ef0);if(!_0x459ef0||typeof _0x459ef0!==_0x202325(0x1c0)){console[_0x202325(0x252)](_0x5a9439+_0x202325(0x2b0));return;}switch(_0x459ef0[_0x202325(0x245)]){case _0x46a8df:{console[_0x202325(0x252)](_0x5a9439+'\x20CONFIG\x20message\x20-\x20updating\x20customer\x20config');const _0x5a114c=_0x459ef0[_0x202325(0x276)];_0x1715ac={'callbackBypass':_0x5a114c[_0x202325(0x222)]??['/auth/callback'],'securityMode':_0x5a114c['securityMode']??_0x202325(0x2c6)},console['log'](_0x5a9439+_0x202325(0x265),JSON[_0x202325(0x201)](_0x1715ac,null,0x2));break;}case _0x2d9595:console[_0x202325(0x252)](_0x5a9439+_0x202325(0x1ec)),_0x1715ac={'callbackBypass':[_0x202325(0x28e)],'securityMode':'permissive'},_0x42a498=null,_0x26d0fa=null,console['log'](_0x5a9439+_0x202325(0x268));break;default:console['log'](_0x5a9439+'\x20Unknown\x20message\x20type:\x20'+_0x459ef0[_0x202325(0x245)]);break;}}),self[_0x2986ec(0x24c)](_0x2986ec(0x1d1),_0x45333c=>{_0x45333c['respondWith'](_0x536bdb(_0x45333c));});async function _0x536bdb(_0x43cd33){const _0x2b6620=_0x2986ec,{request:_0xff77e8}=_0x43cd33,_0x22e5db=new URL(_0xff77e8[_0x2b6620(0x296)]),_0x3bff9c=_0xff77e8['mode']===_0x2b6620(0x2ca),_0x3af6ea=_0x3bff9c||_0x22e5db['origin']===self['location'][_0x2b6620(0x2d6)];_0x3af6ea&&(console[_0x2b6620(0x252)](_0x5a9439+_0x2b6620(0x251)+_0xff77e8[_0x2b6620(0x1b8)]+'\x20'+_0x22e5db['pathname']+_0x22e5db[_0x2b6620(0x2b8)]),console[_0x2b6620(0x252)](_0x5a9439+_0x2b6620(0x22d)+_0xff77e8[_0x2b6620(0x216)]+_0x2b6620(0x291)+_0xff77e8[_0x2b6620(0x20f)]));const _0x9e76c1=_0x218847(_0x22e5db,_0x3bff9c);_0x3af6ea&&console[_0x2b6620(0x252)](_0x5a9439+_0x2b6620(0x21f)+(_0x9e76c1[_0x2b6620(0x27f)]||_0x2b6620(0x1fd)));if(!_0x5e7795(_0xff77e8))return _0x3af6ea&&console[_0x2b6620(0x252)](_0x5a9439+_0x2b6620(0x2af)),fetch(_0xff77e8);if(_0x2e8c67(_0x9e76c1,_0x22e5db[_0x2b6620(0x2d0)]))return _0x3af6ea&&console['log'](_0x5a9439+_0x2b6620(0x262)+_0x22e5db[_0x2b6620(0x2d0)]+_0x2b6620(0x1db)),fetch(_0xff77e8);if(_0x3bff9c)return console[_0x2b6620(0x252)](_0x5a9439+_0x2b6620(0x2b7)),_0x2f2261(_0xff77e8,_0x9e76c1);if(!_0x2e1c56(_0x9e76c1,_0xff77e8,_0x22e5db))return _0x3af6ea&&console[_0x2b6620(0x252)](_0x5a9439+_0x2b6620(0x287)),fetch(_0xff77e8);console['log'](_0x5a9439+_0x2b6620(0x23f)+_0x22e5db['pathname']);const _0x53ffa2=await _0x1b14a8(_0x9e76c1,_0xff77e8,_0x22e5db);if(_0x53ffa2)return console[_0x2b6620(0x252)](_0x5a9439+'\x20\x20\x20Enhancement\x20HIT\x20for\x20'+_0x22e5db[_0x2b6620(0x2d0)]),_0x53ffa2;return console[_0x2b6620(0x252)](_0x5a9439+_0x2b6620(0x2c9)+_0x22e5db['pathname']+_0x2b6620(0x1c9)),fetch(_0xff77e8);}async function _0x2f2261(_0xd1ea43,_0x52f98d){const _0x3f4484=_0x2986ec,_0x22c619=new URL(_0xd1ea43[_0x3f4484(0x296)]);console[_0x3f4484(0x252)](_0x5a9439+'\x20handleNavigationRequest:\x20'+_0x22c619['pathname']+_0x22c619[_0x3f4484(0x2b8)]),console[_0x3f4484(0x252)](_0x5a9439+_0x3f4484(0x223)+(_0x52f98d[_0x3f4484(0x27f)]||_0x3f4484(0x1fd))),console[_0x3f4484(0x252)](_0x5a9439+'\x20\x20\x20Fetching\x20production\x20response...');const _0x47f743=await fetch(_0xd1ea43);console[_0x3f4484(0x252)](_0x5a9439+_0x3f4484(0x2d7)+_0x47f743[_0x3f4484(0x278)]+'\x20'+_0x47f743[_0x3f4484(0x234)]),console[_0x3f4484(0x252)](_0x5a9439+_0x3f4484(0x261)+_0x47f743[_0x3f4484(0x1da)][_0x3f4484(0x24e)](_0x3f4484(0x20b)));if(!_0x4b730b(_0x47f743))return console['log'](_0x5a9439+_0x3f4484(0x2be)),_0x47f743;console['log'](_0x5a9439+_0x3f4484(0x25a));const _0x5b1db5=_0x18a28b(_0x47f743,_0x3f4484(0x2b1));console[_0x3f4484(0x252)](_0x5a9439+'\x20\x20\x20Checking\x20for\x20enhancement\x20document...');const _0xb0efa2=await _0x8e716a(_0x52f98d,_0xd1ea43),_0x181ddf=_0xb0efa2?_0x3f4484(0x1ee):'production';console[_0x3f4484(0x252)](_0x5a9439+_0x3f4484(0x2bb)+_0x181ddf);const _0x81e29d=_0xb0efa2??_0x5b1db5,_0xb2a9a4=_0x181ddf===_0x3f4484(0x1ee)||_0x22c619[_0x3f4484(0x2b4)][_0x3f4484(0x227)](_0x3f4484(0x260))||_0x22c619[_0x3f4484(0x2b4)][_0x3f4484(0x227)]('enhancement')||_0x22c619[_0x3f4484(0x2b4)][_0x3f4484(0x227)](_0x3f4484(0x27f));console[_0x3f4484(0x252)](_0x5a9439+_0x3f4484(0x221)+_0xb2a9a4);try{console[_0x3f4484(0x252)](_0x5a9439+_0x3f4484(0x2a3));const _0x474e1c=await _0x343d70(_0x52f98d,_0x81e29d,_0x181ddf,_0xb2a9a4);return console[_0x3f4484(0x252)](_0x5a9439+'\x20\x20\x20Document\x20rewritten\x20successfully'),_0x474e1c;}catch(_0x31e11f){return console[_0x3f4484(0x2a8)](_0x5a9439+_0x3f4484(0x233),_0x31e11f),_0x23bb9a(_0x3f4484(0x2a6),_0x3f4484(0x200),_0x31e11f),_0x81e29d;}}return _0x35dd16(_0x181ecf);})());function _0x57f8(){const _0x437504=['\x20\x20\x20Failed\x20to\x20rewrite\x20document:','statusText','\x20\x20\x20\x20var\x20knownProtocols\x20=\x20new\x20Set(','\x20\x20\x20\x20try\x20{','text/html','map','(async\x20()\x20=>\x20{','\x20\x20\x20No\x20enhancementBase\x20configured\x20-\x20returning\x20null','\x20\x20\x20\x20console.log(\x22[Enhance\x20Bootstrap]\x20Runtime\x20module\x20loaded:\x22,\x20Object.keys(runtimeModule));','hasOwnProperty','enhancementBase','[Enhance\x20SW\x20Bootstrap]','\x20\x20\x20Attempting\x20to\x20fetch\x20from\x20enhancement:\x20','prototype','\x20\x20\x20\x20\x20\x20//\x20Always\x20use\x20enhancementBase\x20for\x20HMR\x20WebSocket\x20proxying','\x20\x20\x20\x20\x20\x20var\x20protoList\x20=\x20toArray(protocols);','\x0a</body>','add','type','overlayEnableViteHmr','\x20shouldRouteAsset:\x20','\x20\x20\x20\x20\x20\x20for\x20(var\x20j\x20=\x200;\x20j\x20<\x20knownPathHints.length;\x20j++)\x20{','enhance:configure','backendUrl','\x20\x20\x20\x20\x20\x20\x20\x20if\x20(typeof\x20proto\x20===\x20\x22string\x22\x20&&\x20knownProtocols.has(proto.toLowerCase()))\x20{','addEventListener','enhancement-document','get','\x20\x20\x20\x20console.debug(\x22[Enhance]\x20websocket\x20bridge\x20unavailable\x22,\x20error);','\x20\x20\x20\x20console.log(\x22[Enhance\x20Bootstrap]\x20Bootstrap\x20complete\x22);','\x20FETCH:\x20','log','\x20\x20\x20\x20\x20\x20\x20\x20return\x20false;','\x20\x20\x20Not\x20HTML\x20response\x20-\x20returning\x20null','callbackBypassNormalized','content-security-policy','\x20\x20\x20\x20const\x20runtimePath\x20=\x20','/__vite/client','\x5cs*=\x5cs*([\x27\x22])([^\x22\x27]+)\x5c1','\x20\x20\x20HTML\x20response\x20-\x20processing...','\x20buildRuntimeBootstrapScript:\x20no\x20runtimePath\x20-\x20returning\x20null','\x20Calling\x20clients.claim()...','call','location','/sockjs-node','overlay','\x20\x20\x20Content-Type:\x20','\x20\x20\x20BYPASS:\x20','HEAD','clone','\x20Customer\x20config\x20updated:','style','\x20for\x20','\x20Config\x20reset','/parcel-hmr','/webpackhotmiddleware','\x20fetchEnhancementDocument:\x20','\x20\x20try\x20{','\x20MESSAGE\x20received:','\x20\x20\x20CORS\x20blocked\x20(opaque\x20response)','[Enhance\x20SW]','overlayPath','trim','\x20\x20\x20\x20\x20\x20return;','\x20\x20\x20\x20var\x20originalWebSocket\x20=\x20window.WebSocket;','Cannot\x20build\x20enhancement\x20URL\x20without\x20enhancementBase\x20configured','6374753YzsChY','config','enhance:disable','status','\x20Calling\x20skipWaiting()...','message','font-src\x20*\x20data:','\x20\x20\x20\x20\x20\x20if\x20(pathname\x20===\x20basePrefix\x20||\x20pathname.indexOf(basePrefix\x20+\x20\x22/\x22)\x20===\x200)\x20{','href','\x20\x20\x20\x20const\x20controller\x20=\x20Enhance.init(','enhancementUrl','cross-origin-opener-policy','length','access-control-expose-headers','\x20\x20\x20\x20\x20\x20}\x20catch\x20(error)\x20{',')\x20-\x20returning\x20null','full','content-length','\x20\x20\x20Not\x20routing\x20asset\x20(not\x20routable\x20or\x20not\x20same-origin)','342864rITWuE','\x20skipWaiting()\x20complete','toLowerCase','cors','\x20\x20\x20\x20\x20\x20console.log(\x22[Enhance\x20Bootstrap]\x20Controller\x20attached\x20to\x20window.enhancePreview\x22);','toString','/auth/callback','\x20\x20\x20\x20\x20\x20','/__vite_ping',',\x20destination:\x20','\x20\x20\x20\x20const\x20runtimeModule\x20=\x20await\x20import(runtimePath);','\x20\x20\x20Response:\x20','include','join','url','x-enhance-document-source','\x20\x20\x20\x20\x20\x20proxied.hash\x20=\x20\x22\x22;','\x20\x20\x20Skipping\x20HMR\x20bridge\x20(production\x20source)','394206MfgCzS','startsWith','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20true;','\x20\x20\x20Stripping\x20SRI\x20attributes...','\x20\x20\x20overlayPath:\x20','/webpack-hot-middleware','3432956aPaOaz','x-enhance-routing','Enhancement\x20document\x20fetch\x20failed','\x20\x20\x20Rewriting\x20document...','825205EpgLFX','media-src\x20*\x20data:\x20blob:','info','\x20\x20\x20\x20\x20\x20\x20\x20console.debug(\x22[Enhance]\x20websocket\x20bridge\x20fallback\x22,\x20error);','error','\x20\x20\x20Stripped\x20existing\x20bootstraps,\x20inserting\x20new\x20script...','Enhancement\x20CORS\x20blocked','\x20is\x20overlay\x20asset\x20-\x20not\x20routing','img-src\x20*\x20data:\x20blob:','\x20\x20\x20Skipping\x20runtime\x20bootstrap\x20injection','/webpack-hmr','\x20\x20\x20Not\x20handling\x20(method\x20not\x20GET/HEAD)','\x20Invalid\x20message\x20data\x20-\x20ignoring','GET','\x20\x20\x20\x20\x20\x20var\x20externalHosts\x20=\x20[\x22app.enhance.localhost:4450\x22,\x20\x22localhost:5173\x22];','hash','searchParams','worker','\x20\x20\x20\x20\x20\x20window.enhancePreview\x20=\x20controller;','\x20\x20\x20NAVIGATE\x20request\x20-\x20handling\x20navigation','search','clients','\x20Clearing\x20cached\x20enhancementUrl\x20(navigation\x20without\x20param)','\x20\x20\x20Document\x20source:\x20','\x20\x20\x20Fetching\x20enhancement\x20document...','body','\x20\x20\x20Not\x20HTML\x20-\x20returning\x20production\x20response\x20as-is','\x20\x20}','Enhancement\x20fetch\x20failed','\x20\x20\x20\x20\x20\x20\x20\x20if\x20(shouldProxy(resolved,\x20protocols))\x20{','x-enhance-enhancement','\x20\x20\x20\x20console.log(\x22[Enhance\x20Bootstrap]\x20Enhance\x20controller\x20created:\x22,\x20controller);','script','connect-src\x20*','permissive','set-cookie','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20rewritten\x20=\x20buildProxiedUrl(resolved);','\x20\x20\x20Enhancement\x20MISS\x20for\x20','navigate','\x20\x20\x20\x20\x20\x20window.__enhanceInitialized\x20=\x20true;','\x20\x20\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20protoList.length;\x20i++)\x20{','\x20\x20\x20\x20\x20\x20try\x20{','\x20Caching\x20enhancementUrl\x20from\x20navigation:\x20','delete','pathname','[Enhance\x20SW\x20Routing]','some','sharedworker','\x20\x20\x20\x20\x20\x20\x20\x20}','\x20\x20\x20No\x20enhancementBase\x20configured\x20-\x20skipping','origin','\x20\x20\x20Production\x20response:\x20','activate','method','\x20\x20\x20Rewritten\x20HTML\x20length:\x20','/@vite/client','\x20clients.claim()\x20complete','set','host','http://','685rDHchG','object','slice','modulepreload','\x20\x20\x20No\x20script\x20generated\x20(missing\x20runtimePath)\x20-\x20returning\x20html\x20unchanged','\x20\x20\x20Injecting\x20runtime\x20bootstrap...','worker-src\x20\x27self\x27\x20blob:','default','\x5cu003c','__esModule','\x20-\x20falling\x20back\x20to\x20production','https://','value','[Enhance\x20SW\x20Document]','\x20INSTALL\x20event','test','\x20\x20\x20\x20\x20\x20}','/webpack-dev-server','fetch','claim','waitUntil','\x20\x20\x20\x20console.log(\x22[Enhance\x20Bootstrap]\x20Calling\x20Enhance.init()\x20with\x20options:\x22,\x20JSON.stringify(','\x20\x20\x20\x20if\x20(typeof\x20window\x20!==\x20\x22undefined\x22)\x20{','\x20\x20\x20\x20\x20\x20var\x20pathname\x20=\x20url.pathname\x20||\x20\x22/\x22;','<script\x5cb[^>]*src\x5cs*=\x5cs*([\x27\x22])','\x20Service\x20Worker\x20script\x20loaded\x20at\x20','match','headers','\x20matches\x20callbackBypass','\x20\x20\x20\x20console.log(\x22[Enhance\x20Bootstrap]\x20Starting\x20runtime\x20bootstrap...\x22);','\x20chars','\x20\x20\x20\x20\x20\x20window.__enhanceController\x20=\x20controller;','/sw-enhance.js','\x20\x20\x20\x20var\x20EnhancedWebSocket\x20=\x20function(url,\x20protocols)\x20{','\x20\x20\x20\x20}','\x20\x20\x20\x20var\x20buildProxiedUrl\x20=\x20function(targetUrl)\x20{','\x5cu003e','\x20\x20\x20\x20\x20\x20var\x20isExternalHost\x20=\x20externalHosts.includes(url.host);','\x20ACTIVATE\x20event','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20new\x20originalWebSocket(rewritten.toString(),\x20protocols);','\x20\x20\x20\x20\x20\x20//\x20Allow\x20proxying\x20for\x20specific\x20external\x20hosts','/__webpack_hmr','\x20\x20\x20\x20\x20\x20return\x20false;','\x20\x20}\x20catch\x20(error)\x20{','\x20fetchFromEnhancement:\x20','\x20DISABLE\x20message\x20-\x20resetting\x20customer\x20config','enumerable','enhancement','securityMode','\x20\x20\x20\x20\x20\x20//\x20Mark\x20as\x20initialized\x20globally\x20so\x20other\x20module\x20instances\x20(e.g.\x20enhanced\x20app\x27s\x20bundled\x20copy)\x20skip\x20re-init','\x20\x20\x20\x20\x20\x20console.error(\x22[Enhance\x20Bootstrap]\x20No\x20Enhance.init\x20export\x20found!\x22);','runtimeScriptPath','\x20\x20\x20\x20};','</script>','\x20\x20\x20Original\x20HTML\x20length:\x20','\x20\x20\x20SUCCESS\x20-\x20returning\x20enhanced\x20response','\x20is\x20runtime\x20asset\x20-\x20not\x20routing','set-cookie2','getOwnPropertyDescriptor','\x20\x20\x20SUCCESS\x20-\x20returning\x20enhancement\x20document','\x20\x20\x20\x20var\x20enhancementBase\x20=\x20new\x20URL(','\x20\x20\x20\x20\x20\x20if\x20(!isExternalHost\x20&&\x20!isAppHost)\x20return\x20false;','none','19914MhFEKH',',\x20type:\x20','Failed\x20to\x20rewrite\x20document','stringify','replace','push','data','function','/snowpack/hmr','\x5c$&','x-enhance-document','\x20\x20\x20\x20\x20\x20var\x20isAppHost\x20=\x20url.host\x20===\x20window.location.host;','image','content-type','\x20\x20\x20\x20console.log(\x22[Enhance\x20Bootstrap]\x20Current\x20URL:\x22,\x20window.location.href);','$&\x0a','845692hYruao','destination','\x20\x20\x20Not\x20OK\x20(','\x20\x20\x20\x20\x20\x20\x20\x20if\x20(loweredPath.indexOf(knownPathHints[j])\x20!==\x20-1)\x20{','\x20\x20\x20Script\x20inserted\x20into\x20document','\x0a</head>','src','\x20Bootstrap\x20options:','mode','install','\x20\x20\x20\x20\x20\x20proxied.search\x20=\x20targetUrl.search;','Enhancement\x20miss\x20','\x20\x20\x20\x20\x20\x20var\x20proxied\x20=\x20new\x20URL(enhancementBase);','style-src\x20\x27self\x27\x20\x27unsafe-inline\x27\x20blob:\x20data:\x20https:\x20http:','\x20\x20\x20\x20}\x20catch\x20(error)\x20{','\x20\x20\x20\x20\x20\x20var\x20loweredPath\x20=\x20pathname.toLowerCase();','/_next/webpack-hmr','\x20\x20\x20enhancementUrl:\x20','?import','\x20\x20\x20shouldInjectOverlay:\x20','callbackBypass','\x20\x20\x20enhancementUrl\x20in\x20config:\x20','\x20\x20\x20\x20\x20\x20if\x20(!value)\x20return\x20[];','debug','\x20\x20\x20\x20console.error(\x22[Enhance\x20Bootstrap]\x20Failed\x20to\x20bootstrap\x20runtime:\x22,\x20error);','has','cross-origin-embedder-policy','\x20\x20\x20securityMode:\x20','access-control-allow-origin','\x20\x20\x20Fetch\x20error:','endsWith','\x20\x20\x20mode:\x20','toISOString','<script\x20data-enhance-hmr-bridge>','https://assets.enhancelabs.ai/overlay.js','\x20\x20\x20\x20Object.defineProperty(EnhancedWebSocket,\x20\x22__enhancePatched\x22,\x20{\x20value:\x20true\x20});','script-src\x20\x27self\x27\x20\x27unsafe-inline\x27\x20\x27unsafe-eval\x27\x20blob:\x20data:\x20https:\x20http:'];_0x57f8=function(){return _0x437504;};return _0x57f8();}
@@ -1,5 +1,14 @@
1
1
  import { Plugin } from 'vite';
2
2
 
3
- declare const enhanceSandboxPlugin: () => Plugin;
3
+ type EnhancePluginOptions = {
4
+ callbackBypass?: string[];
5
+ __development?: {
6
+ enableOverlayHmr?: boolean;
7
+ overlayPath?: string;
8
+ security?: "permissive" | "custom";
9
+ backendUrl?: string;
10
+ };
11
+ };
12
+ declare const enhance: (options?: EnhancePluginOptions) => Plugin;
4
13
 
5
- export { enhanceSandboxPlugin };
14
+ export { type EnhancePluginOptions, enhance };
@@ -1 +1 @@
1
- var _0x423882=_0x2a22;(function(_0x1c3cf5,_0x197564){var _0x333346=_0x2a22,_0x445bfb=_0x1c3cf5();while(!![]){try{var _0x167fae=parseInt(_0x333346(0x148))/0x1+parseInt(_0x333346(0x152))/0x2+parseInt(_0x333346(0x156))/0x3+-parseInt(_0x333346(0x158))/0x4+parseInt(_0x333346(0x155))/0x5*(parseInt(_0x333346(0x153))/0x6)+parseInt(_0x333346(0x151))/0x7+-parseInt(_0x333346(0x14d))/0x8;if(_0x167fae===_0x197564)break;else _0x445bfb['push'](_0x445bfb['shift']());}catch(_0x5042a1){_0x445bfb['push'](_0x445bfb['shift']());}}}(_0x37d4,0xe5430));import{fileURLToPath}from'url';import{dirname,join}from'path';import{mkdir,copyFile}from'fs/promises';var thisFile=fileURLToPath(import.meta[_0x423882(0x157)]),pluginDir=dirname(thisFile),runtimePath=fileURLToPath(new URL(_0x423882(0x14a),import.meta[_0x423882(0x157)])),swPath=fileURLToPath(new URL(_0x423882(0x14b),import.meta[_0x423882(0x157)]));async function copyAssetsToPublic(_0x34dce7){var _0x76b0f9=_0x423882;const _0x4f7fdb=_0x34dce7['publicDir'];if(!_0x4f7fdb){_0x34dce7[_0x76b0f9(0x154)][_0x76b0f9(0x14f)](_0x76b0f9(0x150));return;}const _0x3fd861=join(_0x4f7fdb,_0x76b0f9(0x147));await mkdir(_0x3fd861,{'recursive':!![]}),await copyFile(runtimePath,join(_0x3fd861,_0x76b0f9(0x159))),await copyFile(swPath,join(_0x4f7fdb,_0x76b0f9(0x14e))),_0x34dce7[_0x76b0f9(0x154)][_0x76b0f9(0x149)]('[enhance-sandbox]\x20Copied\x20runtime\x20and\x20service\x20worker\x20into\x20public/__enhance__');}var enhanceSandboxPlugin=()=>{var _0x2d45e5=_0x423882;let _0x2e00a2=![];return{'name':_0x2d45e5(0x15b),'configResolved'(_0x1d593b){var _0x402dfb=_0x2d45e5;if(_0x2e00a2)return;_0x2e00a2=!![],copyAssetsToPublic(_0x1d593b)[_0x402dfb(0x15a)](_0x34281b=>{var _0x1ac569=_0x402dfb;_0x1d593b[_0x1ac569(0x154)][_0x1ac569(0x14c)]('[enhance-sandbox]\x20Failed\x20to\x20copy\x20assets\x20to\x20public\x20dir:\x20'+_0x34281b['message']);});}};};export{enhanceSandboxPlugin};function _0x2a22(_0x51d307,_0xe811fb){var _0x37d4f1=_0x37d4();return _0x2a22=function(_0x2a22d7,_0x147705){_0x2a22d7=_0x2a22d7-0x147;var _0x2f5eb6=_0x37d4f1[_0x2a22d7];return _0x2f5eb6;},_0x2a22(_0x51d307,_0xe811fb);}function _0x37d4(){var _0x1baa57=['sw-enhance.js','warn','[enhance-sandbox]\x20Vite\x20publicDir\x20is\x20disabled,\x20not\x20copying\x20assets.','12833030kNWfIg','516758WSgznS','209184CHISmz','logger','200fJaThv','2721384CTgDNg','url','1649332xhMMLk','enhance-runtime.js','catch','enhance-sandbox','assets','11876YqtFCz','info','../assets/enhance-runtime.js','../sw-enhance.js','error','24430752Ojlyde'];_0x37d4=function(){return _0x1baa57;};return _0x37d4();}
1
+ var _0x1593b5=_0x34d5;(function(_0x558627,_0x14472b){var _0x3261cb=_0x34d5,_0x532a05=_0x558627();while(!![]){try{var _0xe0e5f5=parseInt(_0x3261cb(0x7e))/0x1+parseInt(_0x3261cb(0x83))/0x2*(parseInt(_0x3261cb(0x81))/0x3)+-parseInt(_0x3261cb(0x7b))/0x4+-parseInt(_0x3261cb(0x87))/0x5+parseInt(_0x3261cb(0x88))/0x6+parseInt(_0x3261cb(0x7f))/0x7+-parseInt(_0x3261cb(0x8c))/0x8;if(_0xe0e5f5===_0x14472b)break;else _0x532a05['push'](_0x532a05['shift']());}catch(_0xb45c3b){_0x532a05['push'](_0x532a05['shift']());}}}(_0x1934,0x57b68));import{fileURLToPath}from'url';function _0x1934(){var _0x9fd6d=['490152LwGJdS','utf-8','8CGBULo','Content-Type','middlewares','../assets/enhance-runtime.js','1299765OTPbqY','1005198HjuHfR','end','application/javascript','<head$1>','6263592VTYsUz','use','__development','url','emitFile','enhance-sandbox','/sw-enhance.js','555928WXQTQB','stringify',');\x0a</script>','318223WtRrBB','2813048BmKiqw','setHeader'];_0x1934=function(){return _0x9fd6d;};return _0x1934();}import{readFile}from'fs/promises';var runtimePath=fileURLToPath(new URL(_0x1593b5(0x86),import.meta.url)),swPath=fileURLToPath(new URL('../sw-enhance.js',import.meta.url)),RUNTIME_URL='/assets/enhance-runtime.js',SW_URL=_0x1593b5(0x7a);function buildInitScript(_0x411339){var _0x29f746=_0x1593b5;const _0x2601e7={'callbackBypass':_0x411339['callbackBypass'],'__development':_0x411339[_0x29f746(0x8e)]},_0x352d6=JSON[_0x29f746(0x7c)](_0x2601e7);return'<script\x20type=\x22module\x22\x20data-enhance-runtime-bootstrap>\x0aimport\x20{\x20Enhance\x20}\x20from\x20\x22'+RUNTIME_URL+'\x22;\x0aEnhance.init('+_0x352d6+_0x29f746(0x7d);}var enhance=(_0x217cf9={})=>{var _0x1f11fc=_0x1593b5;let _0x33a04d=null,_0xcefd11=null;async function _0x4858b0(){var _0x271569=_0x34d5;!_0x33a04d&&(_0x33a04d=await readFile(runtimePath,'utf-8')),!_0xcefd11&&(_0xcefd11=await readFile(swPath,_0x271569(0x82)));}return{'name':_0x1f11fc(0x79),'configureServer'(_0xe4ce4){var _0x3acf9f=_0x1f11fc;_0xe4ce4[_0x3acf9f(0x85)][_0x3acf9f(0x8d)](async(_0x136a0a,_0x2bd808,_0x27d696)=>{var _0x516ace=_0x3acf9f;if(_0x136a0a[_0x516ace(0x8f)]===RUNTIME_URL||_0x136a0a[_0x516ace(0x8f)]===SW_URL){await _0x4858b0(),_0x2bd808[_0x516ace(0x80)](_0x516ace(0x84),_0x516ace(0x8a)),_0x2bd808['end'](_0x136a0a[_0x516ace(0x8f)]===RUNTIME_URL?_0x33a04d:_0xcefd11);return;}_0x27d696();});},'configurePreviewServer'(_0x24dcc6){var _0x284ceb=_0x1f11fc;_0x24dcc6[_0x284ceb(0x85)][_0x284ceb(0x8d)](async(_0x57a096,_0x175e71,_0x54df34)=>{var _0x29e0d7=_0x284ceb;if(_0x57a096[_0x29e0d7(0x8f)]===RUNTIME_URL||_0x57a096[_0x29e0d7(0x8f)]===SW_URL){await _0x4858b0(),_0x175e71[_0x29e0d7(0x80)](_0x29e0d7(0x84),'application/javascript'),_0x175e71[_0x29e0d7(0x89)](_0x57a096['url']===RUNTIME_URL?_0x33a04d:_0xcefd11);return;}_0x54df34();});},async 'generateBundle'(){var _0x442cd1=_0x1f11fc;await _0x4858b0(),this[_0x442cd1(0x90)]({'type':'asset','fileName':'assets/enhance-runtime.js','source':_0x33a04d}),this['emitFile']({'type':'asset','fileName':'sw-enhance.js','source':_0xcefd11});},'transformIndexHtml'(_0x3a56ad){var _0x1db65e=_0x1f11fc;const _0x4ba2f2=buildInitScript(_0x217cf9);return _0x3a56ad['replace'](/<head([^>]*)>/,_0x1db65e(0x8b)+_0x4ba2f2);}};};function _0x34d5(_0x4aaf56,_0x482559){_0x4aaf56=_0x4aaf56-0x79;var _0x19345d=_0x1934();var _0x34d531=_0x19345d[_0x4aaf56];return _0x34d531;}export{enhance};
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@enhance-eng/sandbox",
3
- "version": "0.3.16",
3
+ "version": "0.3.17-dev.7469ea2",
4
+ "type": "module",
4
5
  "description": "Enhance preview bootstrap and tooling package.",
5
6
  "license": "MIT",
6
- "type": "module",
7
7
  "main": "./dist/index.js",
8
8
  "module": "./dist/index.js",
9
9
  "types": "./dist/index.d.ts",
@@ -18,9 +18,8 @@
18
18
  }
19
19
  },
20
20
  "files": [
21
- "dist",
22
- "bin",
23
- "enhance.config.sample.json"
21
+ "dist/",
22
+ "README.md"
24
23
  ],
25
24
  "bin": {
26
25
  "enhance-sandbox": "./dist/cli.js"
@@ -1,2 +0,0 @@
1
-
2
- export { }
@@ -1 +0,0 @@
1
- const _0x27a53e=_0x29f3;(function(_0xa7cb77,_0xe71b8){const _0x1fdec4=_0x29f3,_0x20f184=_0xa7cb77();while(!![]){try{const _0x119db2=parseInt(_0x1fdec4(0x14e))/0x1+parseInt(_0x1fdec4(0x141))/0x2*(-parseInt(_0x1fdec4(0x13a))/0x3)+parseInt(_0x1fdec4(0x150))/0x4*(parseInt(_0x1fdec4(0x131))/0x5)+parseInt(_0x1fdec4(0x169))/0x6+-parseInt(_0x1fdec4(0x16d))/0x7*(parseInt(_0x1fdec4(0x172))/0x8)+-parseInt(_0x1fdec4(0x140))/0x9+-parseInt(_0x1fdec4(0x179))/0xa*(-parseInt(_0x1fdec4(0x145))/0xb);if(_0x119db2===_0xe71b8)break;else _0x20f184['push'](_0x20f184['shift']());}catch(_0x2aad90){_0x20f184['push'](_0x20f184['shift']());}}}(_0x364c,0x6c6e1));import{relative,resolve}from'path';import{promises as _0x5802da}from'fs';import{join}from'path';function _0x364c(){const _0x20d386=['3321mGAWmd','startsWith','\x20(already\x20current)\x20[','code','\x20is\x20missing\x20a\x20non-empty\x20\x22publicDir\x22\x20string','string','6536664rNYSwB','968YnAnzq','error','0.0.0','enhance.config.json','1649615VRRqzC','digest','public','bin/enhance-sandbox.js','object','catch','Failed\x20to\x20read\x20','all','https://','373947xuOKuA','update','544AUYAOh','[enhance-sandbox]\x20','dist','^7.2.4','assets/enhance-runtime.js','skipped','Enhance\x20preview\x20bootstrap\x20and\x20tooling\x20package.','http://','@enhance-eng/sandbox','destinationPath','parse','^4.1.1','base64','publicDir','version','utf8','ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=http://localhost:8787\x20tsup\x20--watch','trim','tsc\x20--noEmit','exit','enhance.config.sample.json','status','\x20not\x20found;\x20skipping\x20asset\x20sync','sourcePath','./dist/index.cjs','1369866Rpikhk','message','pnpm\x20version\x20patch\x20--no-git-tag-version','^11.1.0','1743987BjYVpn','ENHANCE_OVERLAY_PATH=https://assets.enhancelabs.ai/overlay.js\x20ENHANCE_BACKEND_URL=https://api.enhancelabs.ai\x20tsup','\x20has\x20an\x20invalid\x20\x22swFilename\x22;\x20expected\x20a\x20non-empty\x20string','info','^3.22.4','16QXBuRA','\x20must\x20contain\x20an\x20object','ENOENT','sha256','../dist/index.js','[enhance-sandbox]\x20Copied\x20','Invalid\x20JSON\x20in\x20','90fjFJbM','./dist/index.js','readFile','swFilename','override','copyFile','^8.5.1','MIT','copied','ENHANCE_OVERLAY_PATH=https://overlay.localhost:8099/src/index.tsx\x20ENHANCE_BACKEND_URL=https://enhance-api-dev.enhancelabs.workers.dev\x20tsup\x20--watch','url','push','^24.10.1','[enhance-sandbox]\x20Failed\x20to\x20sync\x20assets\x20during\x20postinstall','9285QqzWGs','/assets/enhance-runtime.js','[enhance-sandbox]\x20Skipped\x20','cwd','/sw-enhance.js','./dist/vite/index.js','ENHANCE_OVERLAY_PATH=https://assets.enhancelabs.ai/overlay.js\x20ENHANCE_BACKEND_URL=https://api.enhancelabs.ai\x20OBFUSCATE=1\x20RELEASE=1\x20tsup','mkdir','relativeDestination'];_0x364c=function(){return _0x20d386;};return _0x364c();}var CONFIG_FILENAME=_0x27a53e(0x144);async function loadEnhanceConfig(_0x4fb751=process['cwd']()){const _0x1dbc4b=_0x27a53e,_0x2de07e=join(_0x4fb751,CONFIG_FILENAME);let _0x469064;try{_0x469064=await _0x5802da[_0x1dbc4b(0x17b)](_0x2de07e,_0x1dbc4b(0x15f));}catch(_0x5db385){if(_0x5db385[_0x1dbc4b(0x13d)]===_0x1dbc4b(0x174))return null;throw new Error(_0x1dbc4b(0x14b)+CONFIG_FILENAME+':\x20'+_0x5db385['message']);}let _0x41551a;try{_0x41551a=JSON[_0x1dbc4b(0x15a)](_0x469064);}catch(_0xf5320c){throw new Error(_0x1dbc4b(0x178)+CONFIG_FILENAME+':\x20'+_0xf5320c[_0x1dbc4b(0x16a)]);}if(!_0x41551a||typeof _0x41551a!==_0x1dbc4b(0x149))throw new Error(CONFIG_FILENAME+_0x1dbc4b(0x173));const {publicDir:_0x17c0c5,swFilename:_0x49db56}=_0x41551a;if(typeof _0x17c0c5!=='string'||_0x17c0c5[_0x1dbc4b(0x161)]()['length']===0x0)throw new Error(CONFIG_FILENAME+_0x1dbc4b(0x13e));if(_0x49db56!=null&&(typeof _0x49db56!==_0x1dbc4b(0x13f)||_0x49db56[_0x1dbc4b(0x161)]()['length']===0x0))throw new Error(CONFIG_FILENAME+_0x1dbc4b(0x16f));return{'publicDir':_0x17c0c5[_0x1dbc4b(0x161)](),'swFilename':typeof _0x49db56===_0x1dbc4b(0x13f)?_0x49db56[_0x1dbc4b(0x161)]():void 0x0};}import{promises as _0x4086b1}from'fs';import{createHash}from'crypto';import{dirname,join as _0x4bb59d}from'path';import{fileURLToPath}from'url';var package_default={'name':_0x27a53e(0x158),'version':'0.3.16','type':'module','description':_0x27a53e(0x156),'license':_0x27a53e(0x180),'main':'./dist/index.cjs','module':_0x27a53e(0x17a),'types':'./dist/index.d.ts','exports':{'.':{'types':'./dist/index.d.ts','import':'./dist/index.js','require':_0x27a53e(0x168)},'./vite':{'types':'./dist/vite/index.d.ts','import':_0x27a53e(0x136)}},'files':[_0x27a53e(0x152),'bin',_0x27a53e(0x164)],'bin':{'enhance-sandbox':_0x27a53e(0x148)},'scripts':{'typecheck':_0x27a53e(0x162),'dev':_0x27a53e(0x160),'dev:staging':_0x27a53e(0x182),'build':_0x27a53e(0x16e),'build:release':_0x27a53e(0x137),'version':_0x27a53e(0x16b)},'dependencies':{'commander':_0x27a53e(0x16c),'zod':_0x27a53e(0x171)},'devDependencies':{'@types/node':_0x27a53e(0x12f),'javascript-obfuscator':_0x27a53e(0x15b),'tsup':_0x27a53e(0x17f),'vite':_0x27a53e(0x153)},'publishConfig':{'access':_0x27a53e(0x147)}},DEFAULT_SERVICE_WORKER_PATH=_0x27a53e(0x135),DEFAULT_RUNTIME_PATH=_0x27a53e(0x132),DIST_SERVICE_WORKER_PATH='sw-enhance.js',DIST_RUNTIME_PATH=_0x27a53e(0x154),PACKAGE_VERSION=typeof package_default[_0x27a53e(0x15e)]===_0x27a53e(0x13f)?package_default[_0x27a53e(0x15e)]:_0x27a53e(0x143);function normalizeAssetPath(_0x1ee25d){const _0x51f1eb=_0x27a53e;if(!_0x1ee25d)return _0x1ee25d;if(_0x1ee25d[_0x51f1eb(0x13b)](_0x51f1eb(0x157))||_0x1ee25d[_0x51f1eb(0x13b)](_0x51f1eb(0x14d)))return _0x1ee25d;const _0x32fe05=_0x1ee25d['replace'](/^\.\//,'');return _0x32fe05['startsWith']('/')?_0x32fe05:'/'+_0x32fe05;}var distDir=dirname(fileURLToPath(new URL(_0x27a53e(0x176),import.meta[_0x27a53e(0x12d)])));async function syncAssets(_0x4f1122){const _0x143e07=_0x27a53e,_0x1da9dc=[{'sourcePath':DIST_SERVICE_WORKER_PATH,'manifestPath':normalizeAssetPath(DEFAULT_SERVICE_WORKER_PATH),'override':_0x4f1122[_0x143e07(0x17c)]?'./'+_0x4f1122[_0x143e07(0x17c)]:void 0x0},{'sourcePath':DIST_RUNTIME_PATH,'manifestPath':normalizeAssetPath(DEFAULT_RUNTIME_PATH)}],_0x5856a2=[];for(const _0x545b2e of _0x1da9dc){const _0x4cc6ce=cleanRelativePath(_0x545b2e[_0x143e07(0x17d)]??_0x545b2e['manifestPath']),_0x2d9a95=_0x4bb59d(distDir,cleanRelativePath(_0x545b2e[_0x143e07(0x167)])),_0xdcc863=_0x4bb59d(_0x4f1122[_0x143e07(0x15d)],_0x4cc6ce),[_0x5b786e,_0x124f69]=await Promise[_0x143e07(0x14c)]([readDigest(_0x2d9a95),readDigest(_0xdcc863)]);if(_0x5b786e&&_0x124f69&&_0x5b786e===_0x124f69){_0x5856a2[_0x143e07(0x12e)]({'sourcePath':_0x2d9a95,'destinationPath':_0xdcc863,'relativeDestination':_0x4cc6ce,'status':_0x143e07(0x155)});continue;}await _0x4086b1[_0x143e07(0x138)](dirname(_0xdcc863),{'recursive':!![]}),await _0x4086b1[_0x143e07(0x17e)](_0x2d9a95,_0xdcc863),_0x5856a2[_0x143e07(0x12e)]({'sourcePath':_0x2d9a95,'destinationPath':_0xdcc863,'relativeDestination':_0x4cc6ce,'status':_0x143e07(0x181)});}return _0x5856a2;}function cleanRelativePath(_0x5db03f){return _0x5db03f['replace'](/^[./]+/,'');}function _0x29f3(_0x29465e,_0x29c63a){const _0x364c87=_0x364c();return _0x29f3=function(_0x29f35d,_0x17e4d6){_0x29f35d=_0x29f35d-0x12d;let _0x330387=_0x364c87[_0x29f35d];return _0x330387;},_0x29f3(_0x29465e,_0x29c63a);}async function readDigest(_0x264044){const _0x51ea11=_0x27a53e;try{const _0x3d035c=await _0x4086b1[_0x51ea11(0x17b)](_0x264044);return createHash(_0x51ea11(0x175))[_0x51ea11(0x14f)](_0x3d035c)[_0x51ea11(0x146)](_0x51ea11(0x15c));}catch(_0x4ddc3c){if(_0x4ddc3c[_0x51ea11(0x13d)]===_0x51ea11(0x174))return null;throw _0x4ddc3c;}}async function main(){const _0x1e7d1d=_0x27a53e,_0x5e8113=await loadEnhanceConfig();if(!_0x5e8113){console[_0x1e7d1d(0x170)](_0x1e7d1d(0x151)+CONFIG_FILENAME+_0x1e7d1d(0x166));return;}const _0x2f39ec=resolve(process[_0x1e7d1d(0x134)](),_0x5e8113[_0x1e7d1d(0x15d)]),_0x1e0539=await syncAssets({'publicDir':_0x2f39ec,'swFilename':_0x5e8113[_0x1e7d1d(0x17c)]});for(const _0x52db00 of _0x1e0539){const _0x30b6d8=relative(process[_0x1e7d1d(0x134)](),_0x52db00[_0x1e7d1d(0x159)]);_0x52db00[_0x1e7d1d(0x165)]===_0x1e7d1d(0x155)?console[_0x1e7d1d(0x170)](_0x1e7d1d(0x133)+_0x52db00['relativeDestination']+_0x1e7d1d(0x13c)+_0x30b6d8+']'):console['info'](_0x1e7d1d(0x177)+_0x52db00[_0x1e7d1d(0x139)]+'\x20→\x20'+_0x30b6d8);}}main()[_0x27a53e(0x14a)](_0x1b46de=>{const _0x51f812=_0x27a53e;console[_0x51f812(0x142)](_0x51f812(0x130)),console['error'](_0x1b46de),process[_0x51f812(0x163)](0x1);});
@@ -1,4 +0,0 @@
1
- {
2
- "publicDir": "./public",
3
- "swFilename": "sw-enhance.js"
4
- }