handler-playable-sdk 0.3.28 → 0.3.29
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/dist/{chunk-FRUXII62.js → chunk-53UBQCSX.js} +13 -22
- package/dist/index.cjs +11 -20
- package/dist/index.js +1 -1
- package/dist/pixi/index.cjs +1 -1
- package/dist/pixi/index.js +1 -1
- package/dist/three/index.cjs +11 -11
- package/dist/three/index.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as F,F as G,G as H,H as I,I as J,J as K,K as L,L as M,M as N,N as O,O as P,P as Q,Q as R,a}from"./chunk-
|
|
1
|
+
import{E as F,F as G,G as H,H as I,I as J,J as K,K as L,L as M,M as N,N as O,O as P,P as Q,Q as R,a}from"./chunk-53UBQCSX.js";import"./chunk-I5OOVR5U.js";import{a as q,b as r,c as s,d as t,e as u,f as v,g as w,h as x,i as y,j as z,k as A,l as B,m as C,n as D,o as E}from"./chunk-LV4HGC5G.js";import{a as b,b as c,c as d,d as e,e as f,f as g,g as h,h as i,i as j,j as k,k as l,l as m,m as n,n as o,o as p}from"./chunk-ZLL42OOV.js";import"./chunk-E6WJCS24.js";import"./chunk-Q7FPWOA3.js";export{B as ConfigWatcher,K as DebugPanel,A as DefaultReloadStrategy,Q as Handler,L as PreviewShell,d as applyConfigOverride,e as applyConfigOverrides,n as applyConfigsToDisk,x as applyDefaults,a as baseLottie,P as bootstrap,f as clearConfigOverrides,g as clearConfigOverridesForObject,j as configOverrideManager,M as createPreviewShell,k as deepClone,R as default,H as defaultPreset,G as deviceGroups,F as devicePresets,C as diffConfigs,l as exportConfigsAsJSON,i as getConfigOverrides,m as getConfigStateSummary,b as getOverrideMode,I as getPresetById,J as getPresetsByCategory,s as loadAllObjectConfigs,q as loadComponentSchemas,t as loadEngineConfig,u as loadGamePromptConfig,y as loadObjectCentricConfig,r as loadObjectConfig,v as loadSceneConfig,D as rehydrateObject,h as removeConfigOverride,o as resetToApplied,p as resetToOriginal,O as setBootstrapDependencies,c as setOverrideMode,E as setupHotReload,N as setupLiveEditBridge,z as toLegacyFormat,w as validateObjectConfig};
|
package/dist/pixi/index.cjs
CHANGED
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
<button class="debug-btn primary" data-modal-apply>Apply</button>
|
|
45
45
|
</div>
|
|
46
46
|
</div>
|
|
47
|
-
`,this.modal=n}attachModalListeners(){if(!this.modal)return;this.modal.querySelectorAll("[data-modal-close]").forEach(s=>{s.addEventListener("click",()=>this.close())}),this.modal.querySelectorAll("[data-tab]").forEach(s=>{s.addEventListener("click",o=>{let l=o.target.dataset.tab;l&&this.switchTab(l)})});let n=this.modal.querySelector("[data-ai-generate]");n==null||n.addEventListener("click",()=>{this.openAiEditor("generate")});let r=this.modal.querySelector("[data-ai-edit]");r==null||r.addEventListener("click",()=>{this.openAiEditor("edit")});let a=this.modal.querySelector("[data-modal-apply]");a==null||a.addEventListener("click",()=>{this.apply()}),this.modal.addEventListener("click",s=>{s.target===this.modal&&this.close()})}switchTab(t){if(!this.modal)return;this.modal.querySelectorAll("[data-tab]").forEach(r=>{r.classList.toggle("active",r.getAttribute("data-tab")===t)}),this.modal.querySelectorAll("[data-tab-panel]").forEach(r=>{r.classList.toggle("active",r.getAttribute("data-tab-panel")===t)})}openAiEditor(t){let i=window.__openAiEditor;if(typeof i!="function"){alert("AI Editor not available. Please check your setup.");return}let n="";t==="edit"&&this.currentAsset?n=`Edit this image: ${this.currentObjectId}`:n=`Create an image for: ${this.currentObjectId}`,i(this.currentObjectId||"unknown",n,this.currentAsset,{path:this.currentPath,onApply:r=>{this.onApplyCallback&&this.onApplyCallback(r),this.close()}})}apply(){this.onApplyCallback&&this.onApplyCallback("library/placeholder.png"),this.close()}close(){this.modal&&this.modal.parentNode&&this.modal.parentNode.removeChild(this.modal),this.modal=null,this.currentObjectId=null,this.currentPath=null,this.onApplyCallback=null}}});var Fv={};rl(Fv,{AssetCache:()=>Be,AssetLoader:()=>xt,AssetSystem:()=>Qr,AssetTextures:()=>wt,Assets:()=>jf,BaseSystem:()=>Oi,GameEngine:()=>Jr,GameObject:()=>Dn,GameObjectManager:()=>ki,ObjectFactory:()=>_t,Renderer:()=>jn,RuntimeObjectRegistry:()=>Ii,Transform:()=>Pn,applyScreenAnchor:()=>ia,basePixi:()=>If,clearResponsiveElements:()=>zf,createPixiBase:()=>Xr,getRegisteredFontIds:()=>Tf,globalResponsiveMultipliers:()=>Nn,initAssetTextures:()=>Ur,initAssets:()=>Df,layout:()=>Bf,playLottieOverlay:()=>Lf,registerFont:()=>Cf,registerType:()=>Hr,resolveAnchorVec2:()=>Bn,resolveFont:()=>Sf,resolveFontWeight:()=>Af,resolveScreenAnchorPoint:()=>Mi,resolveScreenRatioPoint:()=>Ri,runInitSequence:()=>Ff,setLottieInstance:()=>qr,spawnSceneFromConfig:()=>Rf,updateScreenState:()=>ta});module.exports=Wf(Fv);var Ef=require("pixi.js");var st={};function Gn(e,t,i=!1){st[e]||(st[e]=[]),st[e].push({fn:t,once:i})}function ca(e,t){if(st[e]){if(!t){delete st[e];return}st[e]=st[e].filter(i=>i.fn!==t)}}function Wn(e,...t){let i=st[e];if(i)for(let n of[...i])n.fn(...t),n.once&&ca(e,n.fn)}function ge(e,t){Gn(e,t,!0)}var X=null,Ee=[],qt=null;function ll(e){X=e,Ee=[],qt!==null&&(clearTimeout(qt),qt=null)}function cl(){var e,t,i;return{endpoint:(X==null?void 0:X.endpoint)||"",transport:(X==null?void 0:X.transport)||"beacon",batchSize:(e=X==null?void 0:X.batchSize)!=null?e:10,flushIntervalMs:(t=X==null?void 0:X.flushIntervalMs)!=null?t:300,maxQueue:(i=X==null?void 0:X.maxQueue)!=null?i:200,debug:!!(X!=null&&X.debug)}}async function sl(e,t,i,n){let r=JSON.stringify(t);if(i==="beacon"&&typeof navigator!="undefined"&&typeof navigator.sendBeacon=="function")try{let a=navigator.sendBeacon(e,new Blob([r],{type:"application/json"}));n&&console.log("[handler.telemetry] beacon",a,t);return}catch(a){n&&console.warn("[handler.telemetry] beacon failed, fallback to fetch",a)}try{await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:r,keepalive:!0}),n&&console.log("[handler.telemetry] fetch",t)}catch(a){n&&console.warn("[handler.telemetry] fetch failed",a)}}function da(e,t){let i=cl();if(t&&i.endpoint){if(Ee.push(e),Ee.length>i.maxQueue&&(Ee=Ee.slice(Ee.length-i.maxQueue)),Ee.length>=i.batchSize){ol();return}qt===null&&(qt=window.setTimeout(()=>{qt=null,ol()},i.flushIntervalMs))}}async function ol(){let e=cl();if(!e.endpoint||Ee.length===0)return;let t=Ee.splice(0,e.batchSize);await sl(e.endpoint,{events:t},e.transport,e.debug),Ee.length>0&&await sl(e.endpoint,{events:Ee.splice(0,e.batchSize)},e.transport,e.debug)}function dl(e){return Math.max(0,Math.min(1,e))}function Yf(e){let t=String(e!=null?e:"power2.out");if(t==="linear")return i=>i;if(t==="sine.inOut")return i=>.5-Math.cos(Math.PI*i)/2;if(t==="power2.out"||t==="easeOutQuad")return i=>1-(1-i)*(1-i);if(t.startsWith("back.out")){let i=t.match(/back\.out\(([\d.]+)\)/),n=i?Number(i[1]):1.8;return r=>1+(n+1)*Math.pow(r-1,3)+n*Math.pow(r-1,2)}return i=>1-(1-i)*(1-i)}function $i(){return typeof performance!="undefined"&&performance.now?performance.now():Date.now()}function Vf(e,t){let i=e==null?void 0:e[t];return typeof i=="number"?i:0}function ul(e,t,i){try{e[t]=i}catch{}}function Kf(e){let t=e==null?void 0:e.scale;if(!t)return null;let i=typeof t.x=="number"?t.x:1,n=typeof t.y=="number"?t.y:1;return{x:i,y:n}}function pl(e,t){let i=e==null?void 0:e.scale;if(i)try{typeof i.set=="function"?i.set(t.x,t.y):(typeof i.x=="number"&&(i.x=t.x),typeof i.y=="number"&&(i.y=t.y))}catch{}}function fl(e,t){let i=Kf(e);if(!i)return{from:null,to:null};let n=null,r=null;return typeof t.scale=="number"?(n=t.scale,r=t.scale):t.scale&&typeof t.scale=="object"&&(typeof t.scale.x=="number"&&(n=t.scale.x),typeof t.scale.y=="number"&&(r=t.scale.y)),typeof t.scaleX=="number"&&(n=t.scaleX),typeof t.scaleY=="number"&&(r=t.scaleY),n===null&&r===null?{from:null,to:null}:{from:{x:i.x,y:i.y},to:{x:n!=null?n:i.x,y:r!=null?r:i.y}}}function hl(){let e=new Set,t=new WeakMap,i=null,n=()=>{if(i!=null)return;i=requestAnimationFrame(()=>{i=null,o(),e.size>0&&n()})},r=c=>{var u;e.add(c);let f=(u=t.get(c.target))!=null?u:new Set;f.add(c),t.set(c.target,f),n()},a=c=>{e.delete(c);let f=t.get(c.target);f&&(f.delete(c),f.size===0&&t.delete(c.target))},s=c=>{c.killed||(c.killed=!0,a(c))},o=()=>{var f,u;let c=$i();for(let p of Array.from(e)){if(p.killed||p.paused)continue;let v=c-p.startMs-p.delayMs;if(v<0)continue;let m=p.durationMs>0?v/p.durationMs:1,w=dl(m),g=p.repeat>=0?p.repeat+1:1,h=p.repeat>0?Math.min(Math.floor(m),g-1):0;if(p.repeat>0&&m>=1){let b=m-h;w=dl(b)}let x=p.ease(w);p.yoyo&&h%2===1&&(x=1-x);for(let b of p.props)ul(p.target,b.key,b.from+(b.to-b.from)*x);p.scaleFrom&&p.scaleTo&&pl(p.target,{x:p.scaleFrom.x+(p.scaleTo.x-p.scaleFrom.x)*x,y:p.scaleFrom.y+(p.scaleTo.y-p.scaleFrom.y)*x});try{(f=p.onUpdate)==null||f.call(p)}catch{}if(m>=g){s(p);try{(u=p.onComplete)==null||u.call(p)}catch{}}}},d=(c,f,u)=>{var b;let p=Math.max(0,(typeof f.duration=="number"?f.duration:.5)*1e3),v=Math.max(0,(typeof f.delay=="number"?f.delay:0)*1e3+((b=u==null?void 0:u.delayMsOverride)!=null?b:0)),m=Yf(f.ease),w=typeof f.repeat=="number"?Math.max(0,f.repeat|0):0,g=f.yoyo===!0,h=new Set(["duration","delay","ease","repeat","yoyo","onUpdate","onComplete","scale","scaleX","scaleY"]),x=[];for(let C of Object.keys(f)){if(h.has(C))continue;let S=f[C];typeof S=="number"&&x.push({key:C,from:Vf(c,C),to:S})}let y=fl(c,f);return{target:c,startMs:$i(),delayMs:v,durationMs:p,ease:m,props:x,scaleFrom:y.from,scaleTo:y.to,repeat:w,yoyo:g,onUpdate:typeof f.onUpdate=="function"?f.onUpdate:void 0,onComplete:typeof f.onComplete=="function"?f.onComplete:void 0,killed:!1,paused:!1,pauseAtMs:null}},l={to(c,f){let u=d(c,f);return r(u),{kill:()=>s(u),pause:()=>{u.paused||(u.paused=!0,u.pauseAtMs=$i())},resume:()=>{var m;if(!u.paused)return;let p=(m=u.pauseAtMs)!=null?m:$i(),v=$i()-p;u.startMs+=v,u.paused=!1,u.pauseAtMs=null},isActive:()=>!u.killed&&!u.paused}},fromTo(c,f,u){return l.set(c,f),l.to(c,u)},set(c,f){if(!c||!f)return;for(let p of Object.keys(f)){let v=f[p];p==="scale"||p==="scaleX"||p==="scaleY"||typeof v=="number"&&ul(c,p,v)}let u=fl(c,f);u.to&&pl(c,u.to)},killTweensOf(c){let f=t.get(c);if(f)for(let u of Array.from(f))s(u)},timeline(c={}){let f=[],u=0,p=!1,v=[],m=h=>{if(typeof h=="number")return Math.max(0,h*1e3);let x=typeof h=="string"?h.trim():"";return x.startsWith("+=")?u+Math.max(0,Number(x.slice(2))*1e3||0):x?Math.max(0,Number(x)*1e3||0):u},w=h=>{f.push(h);let x=Math.max(0,(typeof h.vars.duration=="number"?h.vars.duration:.5)*1e3);u=Math.max(u,h.atMs+x)},g={to(h,x,y){return w({kind:"to",target:h,vars:x,atMs:m(y)}),g},fromTo(h,x,y,b){return w({kind:"fromTo",target:h,vars:y,from:x,atMs:m(b)}),g},play(){var h,x;if(p)return g;p=!0,v=[];for(let y of f)y.kind==="fromTo"&&l.set(y.target,(h=y.from)!=null?h:{}),v.push(l.to(y.target,{...y.vars,delay:y.atMs/1e3+((x=y.vars.delay)!=null?x:0)}));return g},pause(){for(let h of v)h.pause();return g},kill(){for(let h of v)h.kill();v=[],p=!1}};return c.paused||g.play(),g}};return l}function gl(){if(typeof window=="undefined")return;let e=window;if(!e.gsap)try{e.gsap=hl()}catch{}}var ml={name:"handler-playable-sdk",version:"0.3.28",type:"module",description:"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).",main:"dist/index.cjs",module:"dist/index.js",types:"dist/index.d.ts",exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./pixi":{types:"./dist/pixi/index.d.ts",import:"./dist/pixi/index.js",require:"./dist/pixi/index.cjs"},"./pixi/index.css":{import:"./dist/pixi/index.css",require:"./dist/pixi/index.css"},"./three":{types:"./dist/three/index.d.ts",import:"./dist/three/index.js",require:"./dist/three/index.cjs"}},scripts:{prebuild:"python3 src/preview/build-css.py",build:"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild",postbuild:"python3 src/preview/copy-css-to-dist.py","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks",obfuscate:"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json",lint:"eslint 'src/**/*.{ts,tsx}'",typecheck:"tsc --noEmit",prepublishOnly:"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","publish:update:minor":"node scripts/publish-and-update.cjs minor","publish:update:major":"node scripts/publish-and-update.cjs major"},author:"Handler",license:"MIT",publishConfig:{access:"public"},repository:{type:"git",url:"https://github.com/HandlerAIGames/handler-playable-sdk.git"},files:["dist","LICENSE","README.md"],peerDependencies:{"lottie-web":"^5.0.0","pixi.js":"^8.0.0",three:"^0.182.0"},peerDependenciesMeta:{"pixi.js":{optional:!0},three:{optional:!0},"lottie-web":{optional:!0}},devDependencies:{"@types/three":"^0.182.0",eslint:"^9.39.2","javascript-obfuscator":"^5.1.0","pixi.js":"8.8.1",three:"^0.182.0","ts-node":"^10.9.2",tsup:"^8.4.0",typescript:"^5.7.2","typescript-eslint":"^8.53.0"},dependencies:{"@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1",sharp:"^0.34.5"}};var me=0,Zf=me++,bl=me++,yl=me++,vl=me++,xl=me++,wl=me++,_l=me++,El=me++,Sl=me++,Al=me++,Cl=me++,Tl=me++,q=Zf;function kl(){return q===bl}function Ll(){return q===yl}function Ol(){return q===vl}function Il(){return q===xl}function Gt(){return q===wl}function Wt(){return q===_l}function Ml(){return q===El}function Rl(){return q===Sl}function Pl(){return q===Al}function ua(){return q===Cl}function pa(){return q===Tl}function jl(){let e=typeof AD_PROTOCOL!="undefined"?AD_PROTOCOL:"none",t=typeof AD_NETWORK!="undefined"?AD_NETWORK:"web_embed";if(e==="mraid")try{mraid.getState(),q=bl;return}catch{}else if(e==="dapi")try{dapi.isReady(),q=yl;return}catch{}if(t==="facebook")try{typeof FbPlayableAd!="undefined"&&(q=vl)}catch{}else if(t==="google")try{typeof ExitApi!="undefined"&&(q=xl)}catch{}else if(t==="mintegral")window.gameReady&&(q=wl);else if(t==="tapjoy")window.TJ_API&&(q=_l);else if(t==="tiktok")window.openAppStore&&(q=El);else if(t==="smadex")try{window.smxTracking&&(q=Sl)}catch{}else if(t==="snapchat")try{window.ScPlayableAd&&(q=Al)}catch{}else t==="vungle"?q=Cl:(e==="nucleo"||t==="nucleo")&&(q=Tl)}var Yn=qn(require("lottie-web"),1),Dl=Yn.default;typeof window!="undefined"&&(window.lottie=Yn.default,window.__baseLottie=Yn.default);ga();function Z(e,t){let i=(r,a)=>a===0?r:i(a,r%a),n=i(e,t);return`${e/n}:${t/n}`}var vx=[{id:"iphone-15-pro-max",label:"iPhone 15 Pro Max",width:430,height:932,category:"iphone",ratio:Z(430,932)},{id:"iphone-15-pro",label:"iPhone 15 Pro",width:393,height:852,category:"iphone",ratio:Z(393,852)},{id:"iphone-15",label:"iPhone 15",width:393,height:852,category:"iphone",ratio:Z(393,852)},{id:"iphone-14",label:"iPhone 14",width:390,height:844,category:"iphone",ratio:Z(390,844)},{id:"iphone-se",label:"iPhone SE",width:375,height:667,category:"iphone",ratio:Z(375,667)},{id:"iphone-12-mini",label:"iPhone 12 Mini",width:360,height:780,category:"iphone",ratio:Z(360,780)}],xx=[{id:"pixel-8-pro",label:"Pixel 8 Pro",width:448,height:998,category:"android",ratio:Z(448,998)},{id:"pixel-8",label:"Pixel 8",width:412,height:915,category:"android",ratio:Z(412,915)},{id:"samsung-s24-ultra",label:"Samsung S24 Ultra",width:412,height:915,category:"android",ratio:Z(412,915)},{id:"samsung-s24",label:"Samsung S24",width:360,height:780,category:"android",ratio:Z(360,780)},{id:"samsung-a54",label:"Samsung A54",width:412,height:915,category:"android",ratio:Z(412,915)},{id:"oneplus-12",label:"OnePlus 12",width:412,height:915,category:"android",ratio:Z(412,915)}],wx=[{id:"ipad-pro-12",label:'iPad Pro 12.9"',width:1024,height:1366,category:"tablet",ratio:Z(1024,1366)},{id:"ipad-pro-11",label:'iPad Pro 11"',width:834,height:1194,category:"tablet",ratio:Z(834,1194)},{id:"ipad-air",label:"iPad Air",width:820,height:1180,category:"tablet",ratio:Z(820,1180)},{id:"ipad-mini",label:"iPad Mini",width:768,height:1024,category:"tablet",ratio:Z(768,1024)},{id:"samsung-tab-s9",label:"Samsung Tab S9",width:800,height:1280,category:"tablet",ratio:Z(800,1280)}],Fl=[{id:"playable-portrait",label:"Playable Portrait",width:320,height:480,category:"playable",ratio:"2:3",mraidScale:1},{id:"mraid-320x480",label:"MRAID 320\xD7480",width:320,height:480,category:"playable",ratio:"2:3",mraidScale:1},{id:"iphone-14",label:"iPhone 14",width:390,height:844,category:"playable",ratio:Z(390,844),mraidScale:.7},{id:"ipad-mini",label:"iPad Mini",width:768,height:1024,category:"playable",ratio:Z(768,1024),mraidScale:.7}];var _x=[...Fl];var ah=Fl[0];ot();var qy=qn(Jp(),1);function Hy(e){return new Promise((t,i)=>{let n=new FileReader;n.onerror=()=>i(new Error("FileReader failed")),n.onload=()=>t(String(n.result||"")),n.readAsDataURL(e)})}function $y(e){var r;let[t,i]=e.split(","),n=t==null?void 0:t.match(/data:(.*?);base64/);return{base64:i!=null?i:"",mimeType:(r=n==null?void 0:n[1])!=null?r:"image/png"}}async function Uy(e){return await new Promise(t=>{let i=new Image;i.onload=()=>t({width:i.naturalWidth||i.width,height:i.naturalHeight||i.height}),i.onerror=()=>t(null),i.src=e})}async function ao(e){var t,i;try{console.log("[ImageUtils] Fetching image data from URL:",e);let n=await fetch(e);if(!n.ok)return console.warn("[ImageUtils] Fetch failed with status:",n.status,e),null;let r=await n.blob();console.log("[ImageUtils] Blob received, size:",r.size,"type:",r.type);let a=await Hy(r),s=await Uy(a),o=$y(a);return console.log("[ImageUtils] Success resolution:",s==null?void 0:s.width,"x",s==null?void 0:s.height,"mime:",o.mimeType),{base64:o.base64,mimeType:o.mimeType,dataUrl:a,width:(t=s==null?void 0:s.width)!=null?t:0,height:(i=s==null?void 0:s.height)!=null?i:0}}catch(n){return console.error("[ImageUtils] Error fetching image data:",n),null}}async function Br(e,t=30){try{console.log("[ImageUtils] Removing background color...");let i=await new Promise((f,u)=>{let p=new Image;p.onload=()=>f(p),p.onerror=()=>u(new Error("Failed to load image")),p.src=e}),n=document.createElement("canvas");n.width=i.width,n.height=i.height;let r=n.getContext("2d");if(!r)return console.error("[ImageUtils] Failed to get canvas context"),e;r.drawImage(i,0,0);let a=r.getImageData(0,0,n.width,n.height),s=a.data,d=[{name:"top-left",offset:0},{name:"top-right",offset:(n.width-1)*4},{name:"bottom-left",offset:(n.height-1)*n.width*4},{name:"bottom-right",offset:((n.height-1)*n.width+(n.width-1))*4}].map(f=>({r:s[f.offset],g:s[f.offset+1],b:s[f.offset+2]})),l=0;for(let f=0;f<s.length;f+=4){let u=s[f],p=s[f+1],v=s[f+2],m=!1;for(let w of d)if(Math.sqrt(Math.pow(u-w.r,2)+Math.pow(p-w.g,2)+Math.pow(v-w.b,2))<t){m=!0;break}m&&(s[f+3]=0,l++)}return console.log(`[ImageUtils] Removed background from ${l} pixels (4-corner sampling, tolerance: ${t})`),r.putImageData(a,0,0),n.toDataURL("image/png")}catch(i){return console.error("[ImageUtils] Error removing background:",i),e}}var Qp=require("@google/genai");async function so(e,t,i=[],n={}){var r,a,s,o,d,l,c;try{if(!(e!=null&&e.trim()))throw new Error("Gemini API key is required");if(!(t!=null&&t.trim()))throw new Error("Prompt is required");for(let g=0;g<i.length;g++){let h=i[g];if(!h.base64||!h.mimeType)throw new Error(`Image ${g+1} is missing required data`);if(h.base64.length<1e3&&console.warn(`Image ${g+1} data appears very small, may be corrupted`),!h.mimeType.startsWith("image/"))throw new Error(`Image ${g+1} has invalid MIME type: ${h.mimeType}`)}let f=new Qp.GoogleGenAI({apiKey:e}),u="gemini-2.5-flash",p=[t];i.length>0&&i.forEach((g,h)=>{p.push({inlineData:{data:g.base64,mimeType:g.mimeType}}),console.log(`[Gemini] Added image ${h+1}: ${g.mimeType}, size: ${Math.round(g.base64.length/1024)}KB`)}),console.log(`[Gemini] Making request with ${i.length} images and prompt length: ${t.length}`);let v=await f.models.generateContent({model:u,contents:p}),m="",w=(s=(a=(r=v.candidates)==null?void 0:r[0])==null?void 0:a.content)==null?void 0:s.parts;if(w)for(let g of w)g.text&&(m+=g.text);if(!m.trim())throw new Error("Empty response from Gemini API");return console.log(`[Gemini] Response received, length: ${m.length}`),m}catch(f){throw console.error("[Gemini] API error:",f),(o=f.message)!=null&&o.includes("Unable to process input image")?new Error("Unable to process the uploaded image. Please ensure it's a valid PNG, JPG, or JPEG file under 10MB and not corrupted."):(d=f.message)!=null&&d.includes("API_KEY_INVALID")?new Error("Invalid Gemini API key. Please check your API key configuration."):(l=f.message)!=null&&l.includes("QUOTA_EXCEEDED")?new Error("Gemini API quota exceeded. Please try again later or check your billing."):(c=f.message)!=null&&c.includes("SAFETY")?new Error("Content was flagged by Gemini safety filters. Please try with different images."):f}}var ef=require("@google/genai");async function Fr(e,t,i=[],n={}){try{console.info("[GEMINI-REAL-SDK] Initializing GoogleGenAI...");let r=new ef.GoogleGenAI({apiKey:e}),a=[{text:t}];i.length>0&&i.forEach((o,d)=>{console.info(`[GEMINI-REAL-SDK] Adding image part ${d}`),a.push({inlineData:{mimeType:o.mimeType,data:o.base64}})}),console.info("[GEMINI-REAL-SDK] Calling generateContent with model: gemini-2.5-flash-image");let s=await r.models.generateContent({model:"gemini-2.5-flash-image",contents:a});if(console.info("[GEMINI-REAL-SDK] Received response from model"),!s.candidates||!s.candidates[0]||!s.candidates[0].content||!s.candidates[0].content.parts)throw new Error("Gemini 2.5 Flash Image returned invalid response structure.");for(let o of s.candidates[0].content.parts)if(o.text)console.log(o.text);else if(o.inlineData){let d=o.inlineData.data,l=o.inlineData.mimeType||"image/png";return console.info("[GEMINI-REAL-SDK] Found inline image data in response"),`data:${l};base64,${d}`}throw new Error("Gemini 2.5 Flash Image returned no image data.")}catch(r){throw console.error("[GEMINI-REAL-SDK] Error in generateImageWithGemini25Flash:",JSON.stringify(r,Object.getOwnPropertyNames(r),2)),r}}var Xy=require("pixi.js");An();ot();var of=require("pixi.js");var Zy=require("pixi.js");ot();function rv(e){return new Promise((t,i)=>{let n=new FileReader;n.onerror=()=>i(new Error("FileReader failed")),n.onload=()=>t(String(n.result||"")),n.readAsDataURL(e)})}function av(e){var r;let[t,i]=e.split(","),n=t==null?void 0:t.match(/data:(.*?);base64/);return{base64:i!=null?i:"",mimeType:(r=n==null?void 0:n[1])!=null?r:"image/png"}}function sv(e){return`
|
|
47
|
+
`,this.modal=n}attachModalListeners(){if(!this.modal)return;this.modal.querySelectorAll("[data-modal-close]").forEach(s=>{s.addEventListener("click",()=>this.close())}),this.modal.querySelectorAll("[data-tab]").forEach(s=>{s.addEventListener("click",o=>{let l=o.target.dataset.tab;l&&this.switchTab(l)})});let n=this.modal.querySelector("[data-ai-generate]");n==null||n.addEventListener("click",()=>{this.openAiEditor("generate")});let r=this.modal.querySelector("[data-ai-edit]");r==null||r.addEventListener("click",()=>{this.openAiEditor("edit")});let a=this.modal.querySelector("[data-modal-apply]");a==null||a.addEventListener("click",()=>{this.apply()}),this.modal.addEventListener("click",s=>{s.target===this.modal&&this.close()})}switchTab(t){if(!this.modal)return;this.modal.querySelectorAll("[data-tab]").forEach(r=>{r.classList.toggle("active",r.getAttribute("data-tab")===t)}),this.modal.querySelectorAll("[data-tab-panel]").forEach(r=>{r.classList.toggle("active",r.getAttribute("data-tab-panel")===t)})}openAiEditor(t){let i=window.__openAiEditor;if(typeof i!="function"){alert("AI Editor not available. Please check your setup.");return}let n="";t==="edit"&&this.currentAsset?n=`Edit this image: ${this.currentObjectId}`:n=`Create an image for: ${this.currentObjectId}`,i(this.currentObjectId||"unknown",n,this.currentAsset,{path:this.currentPath,onApply:r=>{this.onApplyCallback&&this.onApplyCallback(r),this.close()}})}apply(){this.onApplyCallback&&this.onApplyCallback("library/placeholder.png"),this.close()}close(){this.modal&&this.modal.parentNode&&this.modal.parentNode.removeChild(this.modal),this.modal=null,this.currentObjectId=null,this.currentPath=null,this.onApplyCallback=null}}});var Fv={};rl(Fv,{AssetCache:()=>Be,AssetLoader:()=>xt,AssetSystem:()=>Qr,AssetTextures:()=>wt,Assets:()=>jf,BaseSystem:()=>Oi,GameEngine:()=>Jr,GameObject:()=>Dn,GameObjectManager:()=>ki,ObjectFactory:()=>_t,Renderer:()=>jn,RuntimeObjectRegistry:()=>Ii,Transform:()=>Pn,applyScreenAnchor:()=>ia,basePixi:()=>If,clearResponsiveElements:()=>zf,createPixiBase:()=>Xr,getRegisteredFontIds:()=>Tf,globalResponsiveMultipliers:()=>Nn,initAssetTextures:()=>Ur,initAssets:()=>Df,layout:()=>Bf,playLottieOverlay:()=>Lf,registerFont:()=>Cf,registerType:()=>Hr,resolveAnchorVec2:()=>Bn,resolveFont:()=>Sf,resolveFontWeight:()=>Af,resolveScreenAnchorPoint:()=>Mi,resolveScreenRatioPoint:()=>Ri,runInitSequence:()=>Ff,setLottieInstance:()=>qr,spawnSceneFromConfig:()=>Rf,updateScreenState:()=>ta});module.exports=Wf(Fv);var Ef=require("pixi.js");var st={};function Gn(e,t,i=!1){st[e]||(st[e]=[]),st[e].push({fn:t,once:i})}function ca(e,t){if(st[e]){if(!t){delete st[e];return}st[e]=st[e].filter(i=>i.fn!==t)}}function Wn(e,...t){let i=st[e];if(i)for(let n of[...i])n.fn(...t),n.once&&ca(e,n.fn)}function ge(e,t){Gn(e,t,!0)}var X=null,Ee=[],qt=null;function ll(e){X=e,Ee=[],qt!==null&&(clearTimeout(qt),qt=null)}function cl(){var e,t,i;return{endpoint:(X==null?void 0:X.endpoint)||"",transport:(X==null?void 0:X.transport)||"beacon",batchSize:(e=X==null?void 0:X.batchSize)!=null?e:10,flushIntervalMs:(t=X==null?void 0:X.flushIntervalMs)!=null?t:300,maxQueue:(i=X==null?void 0:X.maxQueue)!=null?i:200,debug:!!(X!=null&&X.debug)}}async function sl(e,t,i,n){let r=JSON.stringify(t);if(i==="beacon"&&typeof navigator!="undefined"&&typeof navigator.sendBeacon=="function")try{let a=navigator.sendBeacon(e,new Blob([r],{type:"application/json"}));n&&console.log("[handler.telemetry] beacon",a,t);return}catch(a){n&&console.warn("[handler.telemetry] beacon failed, fallback to fetch",a)}try{await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:r,keepalive:!0}),n&&console.log("[handler.telemetry] fetch",t)}catch(a){n&&console.warn("[handler.telemetry] fetch failed",a)}}function da(e,t){let i=cl();if(t&&i.endpoint){if(Ee.push(e),Ee.length>i.maxQueue&&(Ee=Ee.slice(Ee.length-i.maxQueue)),Ee.length>=i.batchSize){ol();return}qt===null&&(qt=window.setTimeout(()=>{qt=null,ol()},i.flushIntervalMs))}}async function ol(){let e=cl();if(!e.endpoint||Ee.length===0)return;let t=Ee.splice(0,e.batchSize);await sl(e.endpoint,{events:t},e.transport,e.debug),Ee.length>0&&await sl(e.endpoint,{events:Ee.splice(0,e.batchSize)},e.transport,e.debug)}function dl(e){return Math.max(0,Math.min(1,e))}function Yf(e){let t=String(e!=null?e:"power2.out");if(t==="linear")return i=>i;if(t==="sine.inOut")return i=>.5-Math.cos(Math.PI*i)/2;if(t==="power2.out"||t==="easeOutQuad")return i=>1-(1-i)*(1-i);if(t.startsWith("back.out")){let i=t.match(/back\.out\(([\d.]+)\)/),n=i?Number(i[1]):1.8;return r=>1+(n+1)*Math.pow(r-1,3)+n*Math.pow(r-1,2)}return i=>1-(1-i)*(1-i)}function $i(){return typeof performance!="undefined"&&performance.now?performance.now():Date.now()}function Vf(e,t){let i=e==null?void 0:e[t];return typeof i=="number"?i:0}function ul(e,t,i){try{e[t]=i}catch{}}function Kf(e){let t=e==null?void 0:e.scale;if(!t)return null;let i=typeof t.x=="number"?t.x:1,n=typeof t.y=="number"?t.y:1;return{x:i,y:n}}function pl(e,t){let i=e==null?void 0:e.scale;if(i)try{typeof i.set=="function"?i.set(t.x,t.y):(typeof i.x=="number"&&(i.x=t.x),typeof i.y=="number"&&(i.y=t.y))}catch{}}function fl(e,t){let i=Kf(e);if(!i)return{from:null,to:null};let n=null,r=null;return typeof t.scale=="number"?(n=t.scale,r=t.scale):t.scale&&typeof t.scale=="object"&&(typeof t.scale.x=="number"&&(n=t.scale.x),typeof t.scale.y=="number"&&(r=t.scale.y)),typeof t.scaleX=="number"&&(n=t.scaleX),typeof t.scaleY=="number"&&(r=t.scaleY),n===null&&r===null?{from:null,to:null}:{from:{x:i.x,y:i.y},to:{x:n!=null?n:i.x,y:r!=null?r:i.y}}}function hl(){let e=new Set,t=new WeakMap,i=null,n=()=>{if(i!=null)return;i=requestAnimationFrame(()=>{i=null,o(),e.size>0&&n()})},r=c=>{var u;e.add(c);let f=(u=t.get(c.target))!=null?u:new Set;f.add(c),t.set(c.target,f),n()},a=c=>{e.delete(c);let f=t.get(c.target);f&&(f.delete(c),f.size===0&&t.delete(c.target))},s=c=>{c.killed||(c.killed=!0,a(c))},o=()=>{var f,u;let c=$i();for(let p of Array.from(e)){if(p.killed||p.paused)continue;let v=c-p.startMs-p.delayMs;if(v<0)continue;let m=p.durationMs>0?v/p.durationMs:1,w=dl(m),g=p.repeat>=0?p.repeat+1:1,h=p.repeat>0?Math.min(Math.floor(m),g-1):0;if(p.repeat>0&&m>=1){let b=m-h;w=dl(b)}let x=p.ease(w);p.yoyo&&h%2===1&&(x=1-x);for(let b of p.props)ul(p.target,b.key,b.from+(b.to-b.from)*x);p.scaleFrom&&p.scaleTo&&pl(p.target,{x:p.scaleFrom.x+(p.scaleTo.x-p.scaleFrom.x)*x,y:p.scaleFrom.y+(p.scaleTo.y-p.scaleFrom.y)*x});try{(f=p.onUpdate)==null||f.call(p)}catch{}if(m>=g){s(p);try{(u=p.onComplete)==null||u.call(p)}catch{}}}},d=(c,f,u)=>{var b;let p=Math.max(0,(typeof f.duration=="number"?f.duration:.5)*1e3),v=Math.max(0,(typeof f.delay=="number"?f.delay:0)*1e3+((b=u==null?void 0:u.delayMsOverride)!=null?b:0)),m=Yf(f.ease),w=typeof f.repeat=="number"?Math.max(0,f.repeat|0):0,g=f.yoyo===!0,h=new Set(["duration","delay","ease","repeat","yoyo","onUpdate","onComplete","scale","scaleX","scaleY"]),x=[];for(let C of Object.keys(f)){if(h.has(C))continue;let S=f[C];typeof S=="number"&&x.push({key:C,from:Vf(c,C),to:S})}let y=fl(c,f);return{target:c,startMs:$i(),delayMs:v,durationMs:p,ease:m,props:x,scaleFrom:y.from,scaleTo:y.to,repeat:w,yoyo:g,onUpdate:typeof f.onUpdate=="function"?f.onUpdate:void 0,onComplete:typeof f.onComplete=="function"?f.onComplete:void 0,killed:!1,paused:!1,pauseAtMs:null}},l={to(c,f){let u=d(c,f);return r(u),{kill:()=>s(u),pause:()=>{u.paused||(u.paused=!0,u.pauseAtMs=$i())},resume:()=>{var m;if(!u.paused)return;let p=(m=u.pauseAtMs)!=null?m:$i(),v=$i()-p;u.startMs+=v,u.paused=!1,u.pauseAtMs=null},isActive:()=>!u.killed&&!u.paused}},fromTo(c,f,u){return l.set(c,f),l.to(c,u)},set(c,f){if(!c||!f)return;for(let p of Object.keys(f)){let v=f[p];p==="scale"||p==="scaleX"||p==="scaleY"||typeof v=="number"&&ul(c,p,v)}let u=fl(c,f);u.to&&pl(c,u.to)},killTweensOf(c){let f=t.get(c);if(f)for(let u of Array.from(f))s(u)},timeline(c={}){let f=[],u=0,p=!1,v=[],m=h=>{if(typeof h=="number")return Math.max(0,h*1e3);let x=typeof h=="string"?h.trim():"";return x.startsWith("+=")?u+Math.max(0,Number(x.slice(2))*1e3||0):x?Math.max(0,Number(x)*1e3||0):u},w=h=>{f.push(h);let x=Math.max(0,(typeof h.vars.duration=="number"?h.vars.duration:.5)*1e3);u=Math.max(u,h.atMs+x)},g={to(h,x,y){return w({kind:"to",target:h,vars:x,atMs:m(y)}),g},fromTo(h,x,y,b){return w({kind:"fromTo",target:h,vars:y,from:x,atMs:m(b)}),g},play(){var h,x;if(p)return g;p=!0,v=[];for(let y of f)y.kind==="fromTo"&&l.set(y.target,(h=y.from)!=null?h:{}),v.push(l.to(y.target,{...y.vars,delay:y.atMs/1e3+((x=y.vars.delay)!=null?x:0)}));return g},pause(){for(let h of v)h.pause();return g},kill(){for(let h of v)h.kill();v=[],p=!1}};return c.paused||g.play(),g}};return l}function gl(){if(typeof window=="undefined")return;let e=window;if(!e.gsap)try{e.gsap=hl()}catch{}}var ml={name:"handler-playable-sdk",version:"0.3.29",type:"module",description:"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).",main:"dist/index.cjs",module:"dist/index.js",types:"dist/index.d.ts",exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./pixi":{types:"./dist/pixi/index.d.ts",import:"./dist/pixi/index.js",require:"./dist/pixi/index.cjs"},"./pixi/index.css":{import:"./dist/pixi/index.css",require:"./dist/pixi/index.css"},"./three":{types:"./dist/three/index.d.ts",import:"./dist/three/index.js",require:"./dist/three/index.cjs"}},scripts:{prebuild:"python3 src/preview/build-css.py",build:"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild",postbuild:"python3 src/preview/copy-css-to-dist.py","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks",obfuscate:"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json",lint:"eslint 'src/**/*.{ts,tsx}'",typecheck:"tsc --noEmit",prepublishOnly:"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","publish:update:minor":"node scripts/publish-and-update.cjs minor","publish:update:major":"node scripts/publish-and-update.cjs major"},author:"Handler",license:"MIT",publishConfig:{access:"public"},repository:{type:"git",url:"https://github.com/HandlerAIGames/handler-playable-sdk.git"},files:["dist","LICENSE","README.md"],peerDependencies:{"lottie-web":"^5.0.0","pixi.js":"^8.0.0",three:"^0.182.0"},peerDependenciesMeta:{"pixi.js":{optional:!0},three:{optional:!0},"lottie-web":{optional:!0}},devDependencies:{"@types/three":"^0.182.0",eslint:"^9.39.2","javascript-obfuscator":"^5.1.0","pixi.js":"8.8.1",three:"^0.182.0","ts-node":"^10.9.2",tsup:"^8.4.0",typescript:"^5.7.2","typescript-eslint":"^8.53.0"},dependencies:{"@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1",sharp:"^0.34.5"}};var me=0,Zf=me++,bl=me++,yl=me++,vl=me++,xl=me++,wl=me++,_l=me++,El=me++,Sl=me++,Al=me++,Cl=me++,Tl=me++,q=Zf;function kl(){return q===bl}function Ll(){return q===yl}function Ol(){return q===vl}function Il(){return q===xl}function Gt(){return q===wl}function Wt(){return q===_l}function Ml(){return q===El}function Rl(){return q===Sl}function Pl(){return q===Al}function ua(){return q===Cl}function pa(){return q===Tl}function jl(){let e=typeof AD_PROTOCOL!="undefined"?AD_PROTOCOL:"none",t=typeof AD_NETWORK!="undefined"?AD_NETWORK:"web_embed";if(e==="mraid")try{mraid.getState(),q=bl;return}catch{}else if(e==="dapi")try{dapi.isReady(),q=yl;return}catch{}if(t==="facebook")try{typeof FbPlayableAd!="undefined"&&(q=vl)}catch{}else if(t==="google")try{typeof ExitApi!="undefined"&&(q=xl)}catch{}else if(t==="mintegral")window.gameReady&&(q=wl);else if(t==="tapjoy")window.TJ_API&&(q=_l);else if(t==="tiktok")window.openAppStore&&(q=El);else if(t==="smadex")try{window.smxTracking&&(q=Sl)}catch{}else if(t==="snapchat")try{window.ScPlayableAd&&(q=Al)}catch{}else t==="vungle"?q=Cl:(e==="nucleo"||t==="nucleo")&&(q=Tl)}var Yn=qn(require("lottie-web"),1),Dl=Yn.default;typeof window!="undefined"&&(window.lottie=Yn.default,window.__baseLottie=Yn.default);ga();function Z(e,t){let i=(r,a)=>a===0?r:i(a,r%a),n=i(e,t);return`${e/n}:${t/n}`}var vx=[{id:"iphone-15-pro-max",label:"iPhone 15 Pro Max",width:430,height:932,category:"iphone",ratio:Z(430,932)},{id:"iphone-15-pro",label:"iPhone 15 Pro",width:393,height:852,category:"iphone",ratio:Z(393,852)},{id:"iphone-15",label:"iPhone 15",width:393,height:852,category:"iphone",ratio:Z(393,852)},{id:"iphone-14",label:"iPhone 14",width:390,height:844,category:"iphone",ratio:Z(390,844)},{id:"iphone-se",label:"iPhone SE",width:375,height:667,category:"iphone",ratio:Z(375,667)},{id:"iphone-12-mini",label:"iPhone 12 Mini",width:360,height:780,category:"iphone",ratio:Z(360,780)}],xx=[{id:"pixel-8-pro",label:"Pixel 8 Pro",width:448,height:998,category:"android",ratio:Z(448,998)},{id:"pixel-8",label:"Pixel 8",width:412,height:915,category:"android",ratio:Z(412,915)},{id:"samsung-s24-ultra",label:"Samsung S24 Ultra",width:412,height:915,category:"android",ratio:Z(412,915)},{id:"samsung-s24",label:"Samsung S24",width:360,height:780,category:"android",ratio:Z(360,780)},{id:"samsung-a54",label:"Samsung A54",width:412,height:915,category:"android",ratio:Z(412,915)},{id:"oneplus-12",label:"OnePlus 12",width:412,height:915,category:"android",ratio:Z(412,915)}],wx=[{id:"ipad-pro-12",label:'iPad Pro 12.9"',width:1024,height:1366,category:"tablet",ratio:Z(1024,1366)},{id:"ipad-pro-11",label:'iPad Pro 11"',width:834,height:1194,category:"tablet",ratio:Z(834,1194)},{id:"ipad-air",label:"iPad Air",width:820,height:1180,category:"tablet",ratio:Z(820,1180)},{id:"ipad-mini",label:"iPad Mini",width:768,height:1024,category:"tablet",ratio:Z(768,1024)},{id:"samsung-tab-s9",label:"Samsung Tab S9",width:800,height:1280,category:"tablet",ratio:Z(800,1280)}],Fl=[{id:"playable-portrait",label:"Playable Portrait",width:320,height:480,category:"playable",ratio:"2:3",mraidScale:1},{id:"mraid-320x480",label:"MRAID 320\xD7480",width:320,height:480,category:"playable",ratio:"2:3",mraidScale:1},{id:"iphone-14",label:"iPhone 14",width:390,height:844,category:"playable",ratio:Z(390,844),mraidScale:.7},{id:"ipad-mini",label:"iPad Mini",width:768,height:1024,category:"playable",ratio:Z(768,1024),mraidScale:.7}];var _x=[...Fl];var ah=Fl[0];ot();var qy=qn(Jp(),1);function Hy(e){return new Promise((t,i)=>{let n=new FileReader;n.onerror=()=>i(new Error("FileReader failed")),n.onload=()=>t(String(n.result||"")),n.readAsDataURL(e)})}function $y(e){var r;let[t,i]=e.split(","),n=t==null?void 0:t.match(/data:(.*?);base64/);return{base64:i!=null?i:"",mimeType:(r=n==null?void 0:n[1])!=null?r:"image/png"}}async function Uy(e){return await new Promise(t=>{let i=new Image;i.onload=()=>t({width:i.naturalWidth||i.width,height:i.naturalHeight||i.height}),i.onerror=()=>t(null),i.src=e})}async function ao(e){var t,i;try{console.log("[ImageUtils] Fetching image data from URL:",e);let n=await fetch(e);if(!n.ok)return console.warn("[ImageUtils] Fetch failed with status:",n.status,e),null;let r=await n.blob();console.log("[ImageUtils] Blob received, size:",r.size,"type:",r.type);let a=await Hy(r),s=await Uy(a),o=$y(a);return console.log("[ImageUtils] Success resolution:",s==null?void 0:s.width,"x",s==null?void 0:s.height,"mime:",o.mimeType),{base64:o.base64,mimeType:o.mimeType,dataUrl:a,width:(t=s==null?void 0:s.width)!=null?t:0,height:(i=s==null?void 0:s.height)!=null?i:0}}catch(n){return console.error("[ImageUtils] Error fetching image data:",n),null}}async function Br(e,t=30){try{console.log("[ImageUtils] Removing background color...");let i=await new Promise((f,u)=>{let p=new Image;p.onload=()=>f(p),p.onerror=()=>u(new Error("Failed to load image")),p.src=e}),n=document.createElement("canvas");n.width=i.width,n.height=i.height;let r=n.getContext("2d");if(!r)return console.error("[ImageUtils] Failed to get canvas context"),e;r.drawImage(i,0,0);let a=r.getImageData(0,0,n.width,n.height),s=a.data,d=[{name:"top-left",offset:0},{name:"top-right",offset:(n.width-1)*4},{name:"bottom-left",offset:(n.height-1)*n.width*4},{name:"bottom-right",offset:((n.height-1)*n.width+(n.width-1))*4}].map(f=>({r:s[f.offset],g:s[f.offset+1],b:s[f.offset+2]})),l=0;for(let f=0;f<s.length;f+=4){let u=s[f],p=s[f+1],v=s[f+2],m=!1;for(let w of d)if(Math.sqrt(Math.pow(u-w.r,2)+Math.pow(p-w.g,2)+Math.pow(v-w.b,2))<t){m=!0;break}m&&(s[f+3]=0,l++)}return console.log(`[ImageUtils] Removed background from ${l} pixels (4-corner sampling, tolerance: ${t})`),r.putImageData(a,0,0),n.toDataURL("image/png")}catch(i){return console.error("[ImageUtils] Error removing background:",i),e}}var Qp=require("@google/genai");async function so(e,t,i=[],n={}){var r,a,s,o,d,l,c;try{if(!(e!=null&&e.trim()))throw new Error("Gemini API key is required");if(!(t!=null&&t.trim()))throw new Error("Prompt is required");for(let g=0;g<i.length;g++){let h=i[g];if(!h.base64||!h.mimeType)throw new Error(`Image ${g+1} is missing required data`);if(h.base64.length<1e3&&console.warn(`Image ${g+1} data appears very small, may be corrupted`),!h.mimeType.startsWith("image/"))throw new Error(`Image ${g+1} has invalid MIME type: ${h.mimeType}`)}let f=new Qp.GoogleGenAI({apiKey:e}),u="gemini-2.5-flash",p=[t];i.length>0&&i.forEach((g,h)=>{p.push({inlineData:{data:g.base64,mimeType:g.mimeType}}),console.log(`[Gemini] Added image ${h+1}: ${g.mimeType}, size: ${Math.round(g.base64.length/1024)}KB`)}),console.log(`[Gemini] Making request with ${i.length} images and prompt length: ${t.length}`);let v=await f.models.generateContent({model:u,contents:p}),m="",w=(s=(a=(r=v.candidates)==null?void 0:r[0])==null?void 0:a.content)==null?void 0:s.parts;if(w)for(let g of w)g.text&&(m+=g.text);if(!m.trim())throw new Error("Empty response from Gemini API");return console.log(`[Gemini] Response received, length: ${m.length}`),m}catch(f){throw console.error("[Gemini] API error:",f),(o=f.message)!=null&&o.includes("Unable to process input image")?new Error("Unable to process the uploaded image. Please ensure it's a valid PNG, JPG, or JPEG file under 10MB and not corrupted."):(d=f.message)!=null&&d.includes("API_KEY_INVALID")?new Error("Invalid Gemini API key. Please check your API key configuration."):(l=f.message)!=null&&l.includes("QUOTA_EXCEEDED")?new Error("Gemini API quota exceeded. Please try again later or check your billing."):(c=f.message)!=null&&c.includes("SAFETY")?new Error("Content was flagged by Gemini safety filters. Please try with different images."):f}}var ef=require("@google/genai");async function Fr(e,t,i=[],n={}){try{console.info("[GEMINI-REAL-SDK] Initializing GoogleGenAI...");let r=new ef.GoogleGenAI({apiKey:e}),a=[{text:t}];i.length>0&&i.forEach((o,d)=>{console.info(`[GEMINI-REAL-SDK] Adding image part ${d}`),a.push({inlineData:{mimeType:o.mimeType,data:o.base64}})}),console.info("[GEMINI-REAL-SDK] Calling generateContent with model: gemini-2.5-flash-image");let s=await r.models.generateContent({model:"gemini-2.5-flash-image",contents:a});if(console.info("[GEMINI-REAL-SDK] Received response from model"),!s.candidates||!s.candidates[0]||!s.candidates[0].content||!s.candidates[0].content.parts)throw new Error("Gemini 2.5 Flash Image returned invalid response structure.");for(let o of s.candidates[0].content.parts)if(o.text)console.log(o.text);else if(o.inlineData){let d=o.inlineData.data,l=o.inlineData.mimeType||"image/png";return console.info("[GEMINI-REAL-SDK] Found inline image data in response"),`data:${l};base64,${d}`}throw new Error("Gemini 2.5 Flash Image returned no image data.")}catch(r){throw console.error("[GEMINI-REAL-SDK] Error in generateImageWithGemini25Flash:",JSON.stringify(r,Object.getOwnPropertyNames(r),2)),r}}var Xy=require("pixi.js");An();ot();var of=require("pixi.js");var Zy=require("pixi.js");ot();function rv(e){return new Promise((t,i)=>{let n=new FileReader;n.onerror=()=>i(new Error("FileReader failed")),n.onload=()=>t(String(n.result||"")),n.readAsDataURL(e)})}function av(e){var r;let[t,i]=e.split(","),n=t==null?void 0:t.match(/data:(.*?);base64/);return{base64:i!=null?i:"",mimeType:(r=n==null?void 0:n[1])!=null?r:"image/png"}}function sv(e){return`
|
|
48
48
|
Analyze these screenshots of a brand or game and extract its "Brand DNA".
|
|
49
49
|
|
|
50
50
|
Provide a concise summary (2-3 sentences) covering:
|
package/dist/pixi/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x4ce239,_0x2d1f08){var a0_0x859083={_0x595241:0x5e,_0x47cc84:0x63,_0x27e099:'%MXu',_0x1e9428:0x61,_0x1d6d9b:0x54,_0x33b53c:0x49,_0x572205:'rClw',_0x1c27b9:0x79,_0x27b90d:0x58,_0x1b8fb0:'YaZI',_0x371549:0x68,_0x4ac6a4:0x6a,_0x4b7ad:'3sw8',_0x3911a7:0x5e,_0x55a04b:0xca,_0x13cb8a:0xcf,_0x5d0f95:0xd4,_0x5e0403:0xd7,_0x31d02c:0x50,_0x158667:0x4d,_0x54aabb:'[MX%',_0x3d46d7:0x5a,_0x8a3e3c:0xd1,_0x10fc9c:0xc1,_0xeaca5b:0xba,_0x18830d:'#jp(',_0x73b4e:0x5d,_0xea2099:0x78,_0x3d5356:'3[MZ',_0x2ee870:0x6d,_0x3ae297:0xad,_0x5e3095:'A^6O',_0x131aa4:0xa4,_0x5c7452:0xb2,_0x509a38:0xad,_0x34da15:0xa9,_0x528528:'cT]w',_0x527e3c:0xbf,_0x3d0788:0xc8,_0xb1e039:0xb8,_0x58aa27:'bxVT',_0x2eba34:0xbd,_0x436c0e:0xc0,_0x11260d:0xb9,_0x278186:0xd0},a0_0x6459de={_0xb720fb:0x2aa};function _0x514bc2(_0x264411,_0x391214,_0x377c66,_0x281e07,_0x4f493a){return a0_0x366d(_0x391214- -0xb6,_0x4f493a);}var _0xe60156=_0x4ce239();function _0x258a8b(_0x3bee45,_0x107a52,_0x4d86c5,_0x18acc4,_0x836d55){return a0_0x366d(_0x836d55- -0x1d1,_0x18acc4);}function _0x2df9bf(_0x3b1ece,_0x3a0229,_0x3a74fd,_0x3b88b2,_0xb975fc){return a0_0x366d(_0x3b88b2- -a0_0x6459de._0xb720fb,_0x3a74fd);}while(!![]){try{var _0x3fe9e0=-parseInt(_0x258a8b(-a0_0x859083._0x595241,-0x6c,-a0_0x859083._0x47cc84,a0_0x859083._0x27e099,-a0_0x859083._0x1e9428))/(0x21cf*0x1+-0x1a96+-0x738)*(-parseInt(_0x258a8b(-a0_0x859083._0x1d6d9b,-a0_0x859083._0x33b53c,-0x5a,a0_0x859083._0x572205,-0x4e))/(-0x1235+-0x8b*-0x42+-0x119f))+parseInt(_0x258a8b(-0x6f,-a0_0x859083._0x1c27b9,-a0_0x859083._0x27b90d,a0_0x859083._0x1b8fb0,-a0_0x859083._0x371549))/(0xb*-0x131+-0x10f2+0x1e10)*(parseInt(_0x258a8b(-0x65,-a0_0x859083._0x4ac6a4,-a0_0x859083._0x1d6d9b,a0_0x859083._0x4b7ad,-a0_0x859083._0x3911a7))/(0x1d95+-0xe1*0xc+0x3*-0x657))+parseInt(_0x514bc2(a0_0x859083._0x55a04b,a0_0x859083._0x13cb8a,a0_0x859083._0x5d0f95,a0_0x859083._0x5e0403,'[MX%'))/(-0xcd0+-0x1*-0xddf+-0x10a)*(parseInt(_0x258a8b(-a0_0x859083._0x47cc84,-a0_0x859083._0x31d02c,-a0_0x859083._0x158667,a0_0x859083._0x54aabb,-a0_0x859083._0x3d46d7))/(-0x1f38+0x11f*0x1c+-0x13*0x2))+-parseInt(_0x514bc2(a0_0x859083._0x8a3e3c,0xc4,a0_0x859083._0x10fc9c,a0_0x859083._0xeaca5b,a0_0x859083._0x18830d))/(-0x1fc3+-0x1b6*0x10+0x1d95*0x2)*(parseInt(_0x258a8b(-a0_0x859083._0x73b4e,-a0_0x859083._0xea2099,-0x6e,a0_0x859083._0x3d5356,-a0_0x859083._0x2ee870))/(0x2*-0x1e7+0xac1+-0x6eb))+-parseInt(_0x514bc2(a0_0x859083._0x3ae297,0xbc,0xc5,a0_0x859083._0x3ae297,a0_0x859083._0x5e3095))/(-0xc7*0x2e+-0x203e+-0x1*-0x4409)+-parseInt(_0x514bc2(a0_0x859083._0x131aa4,a0_0x859083._0x5c7452,a0_0x859083._0x509a38,a0_0x859083._0x34da15,a0_0x859083._0x528528))/(-0x2*-0x94b+0x1d*0x2+-0x12c6)*(-parseInt(_0x514bc2(a0_0x859083._0x527e3c,a0_0x859083._0x3d0788,a0_0x859083._0x527e3c,a0_0x859083._0xb1e039,a0_0x859083._0x58aa27))/(-0x1d35*0x1+0xc04+-0x113c*-0x1))+-parseInt(_0x514bc2(a0_0x859083._0x2eba34,a0_0x859083._0x436c0e,a0_0x859083._0x11260d,a0_0x859083._0x278186,'3LkS'))/(0x1615*-0x1+0x516+0x1*0x110b);if(_0x3fe9e0===_0x2d1f08)break;else _0xe60156['push'](_0xe60156['shift']());}catch(_0x3c1cd1){_0xe60156['push'](_0xe60156['shift']());}}}(a0_0x8882,0x1335*0x35+-0xcbd26+0xfe575));var a0_0x3532e5=(function(){var _0x2e14a8=!![];return function(_0x5e4433,_0x455e75){var _0x48e639=_0x2e14a8?function(){if(_0x455e75){var _0x3de2dc=_0x455e75['apply'](_0x5e4433,arguments);return _0x455e75=null,_0x3de2dc;}}:function(){};return _0x2e14a8=![],_0x48e639;};}()),a0_0x15258e=a0_0x3532e5(this,function(){var a0_0x2100be={_0x17d3e3:0xd9,_0x587f5c:0xbe,_0x413a92:')9sQ',_0x2f9bc6:0xc7,_0x4f3e4f:0xb7,_0x4fb668:0xc1,_0x1bd6b7:0xc7,_0x2d4cc2:0xd5,_0x25b12d:0x261,_0x1e5347:0x26f,_0x2dd2fb:'Vgs%',_0x2d7698:0x5d,_0x13174b:0x60,_0x176fe:0x6d,_0x453c5a:0x26a,_0x53deb3:0x25e,_0x50c84a:'idLQ',_0x515950:0x25a,_0x22f713:0x260,_0x378c41:0x277,_0x30dd3c:'3sw8',_0x30b9eb:0x26c,_0x3c965d:0x270,_0x5d2fd0:0x6a,_0x367b8b:'Xfl1',_0x51c13e:0x64,_0x3e10d2:0x67,_0x1f8b42:0x63,_0x1dbe87:'nTYW',_0x5ce5f0:0x63,_0x439a69:0x267,_0x20d1c5:0x25d,_0x31516e:0x54,_0x43b4ea:0x5c,_0x877aef:0x26d,_0x464df2:'3sw8',_0x1b5b57:0x26c,_0x34f043:0x26b,_0x110626:0xd1,_0x54dac4:0xe0},a0_0x53ef79={_0x4a1f75:0x3d6},a0_0x56ab5d={_0x375fa9:0x111},a0_0x630dd0={_0x4e7e5a:0xa0};function _0x198623(_0x3ab102,_0x7e581,_0x436110,_0x11bda4,_0x2a68aa){return a0_0x366d(_0x436110- -a0_0x630dd0._0x4e7e5a,_0x11bda4);}var _0x15d6c3={};function _0x299231(_0x457577,_0x501f1f,_0x413e7b,_0x52da49,_0x4fe7f5){return a0_0x366d(_0x413e7b- -a0_0x56ab5d._0x375fa9,_0x501f1f);}function _0x19e0b1(_0x3c8ef0,_0x57ebd6,_0x2bf53c,_0x29ac26,_0x3070d8){return a0_0x366d(_0x29ac26- -a0_0x53ef79._0x4a1f75,_0x2bf53c);}_0x15d6c3[_0x198623(a0_0x2100be._0x17d3e3,a0_0x2100be._0x587f5c,0xcc,a0_0x2100be._0x413a92,a0_0x2100be._0x2f9bc6)]=_0x198623(a0_0x2100be._0x4f3e4f,a0_0x2100be._0x4fb668,a0_0x2100be._0x1bd6b7,'E&kG',a0_0x2100be._0x2d4cc2)+_0x19e0b1(-a0_0x2100be._0x25b12d,-a0_0x2100be._0x1e5347,a0_0x2100be._0x2dd2fb,-0x270,-a0_0x2100be._0x1e5347)+'+$';var _0x3cf3bb=_0x15d6c3;return a0_0x15258e[_0x299231(a0_0x2100be._0x2d7698,'Og(B',a0_0x2100be._0x13174b,0x5b,a0_0x2100be._0x176fe)+_0x19e0b1(-a0_0x2100be._0x453c5a,-a0_0x2100be._0x53deb3,a0_0x2100be._0x50c84a,-a0_0x2100be._0x515950,-0x24e)]()[_0x19e0b1(-a0_0x2100be._0x22f713,-a0_0x2100be._0x378c41,a0_0x2100be._0x30dd3c,-a0_0x2100be._0x30b9eb,-a0_0x2100be._0x3c965d)+'h'](_0x3cf3bb['eCepf'])[_0x299231(a0_0x2100be._0x5d2fd0,a0_0x2100be._0x367b8b,a0_0x2100be._0x51c13e,a0_0x2100be._0x5d2fd0,a0_0x2100be._0x3e10d2)+_0x299231(a0_0x2100be._0x1f8b42,a0_0x2100be._0x1dbe87,a0_0x2100be._0x1f8b42,0x5f,a0_0x2100be._0x5ce5f0)]()[_0x19e0b1(-a0_0x2100be._0x439a69,-0x249,'Og(B',-0x259,-a0_0x2100be._0x20d1c5)+_0x299231(0x5f,a0_0x2100be._0x367b8b,a0_0x2100be._0x31516e,0x65,a0_0x2100be._0x43b4ea)+'r'](a0_0x15258e)[_0x19e0b1(-0x25b,-a0_0x2100be._0x877aef,a0_0x2100be._0x464df2,-a0_0x2100be._0x1b5b57,-a0_0x2100be._0x34f043)+'h'](_0x3cf3bb[_0x198623(0xe3,a0_0x2100be._0x110626,a0_0x2100be._0x54dac4,'[aYy',0xd9)]);});a0_0x15258e();import{A as a0_0x54ae27,B as a0_0x3028df,C as a0_0x1dd657,D as a0_0x23e44b,b as a0_0x77d146,c as a0_0x5a4092,d as a0_0x51780f,e as a0_0x20a330,f as a0_0x5435d7,g as a0_0x350f53,h as a0_0x36a7e8,i as a0_0x2d9ab5,j as a0_0x199b88,k as a0_0x44ceb5,l as a0_0x104bd1,m as a0_0x5a452c,n as a0_0x54bd62,o as a0_0x4c0a4a,p as a0_0x507a9f,q as a0_0x52fec9,r as a0_0x8a3e07,s as a0_0x47f23c,t as a0_0x3ecd5a,u as a0_0x1d3f87,v as a0_0x54068b,w as a0_0x216f19,x as a0_0x334dcd,y as a0_0xb057af,z as a0_0x40a8a7}from'../chunk-FRUXII62.js';import{a as a0_0x2b86fb,b as a0_0x492fce,c as a0_0x15fce6,d as a0_0x2d9214,e as a0_0x433abb}from'../chunk-I5OOVR5U.js';function a0_0x366d(_0x9ab48e,_0x1976ff){_0x9ab48e=_0x9ab48e-(0x738+-0x1e82+-0x2be*-0x9);var _0x5b6d0c=a0_0x8882();var _0xc905b8=_0x5b6d0c[_0x9ab48e];if(a0_0x366d['xuWCRU']===undefined){var _0x4fc62c=function(_0x59d235){var _0x3bed87='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x70b429='',_0x1a5e80='',_0x53cb70=_0x70b429+_0x4fc62c;for(var _0x22d042=0x9*0x9d+-0x2*0x6d9+0x82d,_0x137c1b,_0x3702dc,_0xacf386=0x17d+0x1252+-0x13cf;_0x3702dc=_0x59d235['charAt'](_0xacf386++);~_0x3702dc&&(_0x137c1b=_0x22d042%(0x7*0x3b5+0x1*-0x319+-0x16d6)?_0x137c1b*(0x17ce+0x14b+-0x1*0x18d9)+_0x3702dc:_0x3702dc,_0x22d042++%(-0x1205*-0x1+0x344+0xb*-0x1ef))?_0x70b429+=_0x53cb70['charCodeAt'](_0xacf386+(-0xd*-0x2e3+0x11*-0x77+0x1*-0x1d96))-(-0x2161+0xdf0+0x137b*0x1)!==-0x121a+-0x1766+0x2980?String['fromCharCode'](0x21f6+-0x1f6c+0x1*-0x18b&_0x137c1b>>(-(-0xc40+-0x44b+-0x13*-0xdf)*_0x22d042&-0x1*-0x12fe+-0x866*0x4+0x20*0x75)):_0x22d042:0x15*-0x7c+0xbf8+0x2e*-0xa){_0x3702dc=_0x3bed87['indexOf'](_0x3702dc);}for(var _0x52e148=-0x1*0xea3+-0x1*0x1e7e+0x2d21*0x1,_0x3bbbea=_0x70b429['length'];_0x52e148<_0x3bbbea;_0x52e148++){_0x1a5e80+='%'+('00'+_0x70b429['charCodeAt'](_0x52e148)['toString'](-0x10b2+0x77d+-0x317*-0x3))['slice'](-(-0xfc7*0x1+-0x1f24+0x2eed*0x1));}return decodeURIComponent(_0x1a5e80);};var _0x1b012c=function(_0x200d6c,_0x409eb4){var _0xde2e5b=[],_0x3bed05=0x63+-0xea0+0xf3*0xf,_0x2e1444,_0x1cdff1='';_0x200d6c=_0x4fc62c(_0x200d6c);var _0x9964ec;for(_0x9964ec=0x7*-0x1c3+-0x22c3+0x2f18;_0x9964ec<0x8a7*0x2+0x66e*-0x4+-0x4b5*-0x2;_0x9964ec++){_0xde2e5b[_0x9964ec]=_0x9964ec;}for(_0x9964ec=0x13e0+-0x5*-0x27a+-0x2042*0x1;_0x9964ec<-0xde7*-0x1+-0x369+-0x4bf*0x2;_0x9964ec++){_0x3bed05=(_0x3bed05+_0xde2e5b[_0x9964ec]+_0x409eb4['charCodeAt'](_0x9964ec%_0x409eb4['length']))%(0x5*0x7a2+0x11c3+-0x3*0x124f),_0x2e1444=_0xde2e5b[_0x9964ec],_0xde2e5b[_0x9964ec]=_0xde2e5b[_0x3bed05],_0xde2e5b[_0x3bed05]=_0x2e1444;}_0x9964ec=-0x2*-0xcd4+0x1497+0x2e3f*-0x1,_0x3bed05=0xc*-0x139+0x13*0x10a+-0x512;for(var _0x5600f1=-0xb27+0xeee+0x3c7*-0x1;_0x5600f1<_0x200d6c['length'];_0x5600f1++){_0x9964ec=(_0x9964ec+(-0x1f99+0xf56+0x1044))%(0x4d3+0x3d*-0x4d+0xe86),_0x3bed05=(_0x3bed05+_0xde2e5b[_0x9964ec])%(0x1*-0x14b3+0xfde+0x1*0x5d5),_0x2e1444=_0xde2e5b[_0x9964ec],_0xde2e5b[_0x9964ec]=_0xde2e5b[_0x3bed05],_0xde2e5b[_0x3bed05]=_0x2e1444,_0x1cdff1+=String['fromCharCode'](_0x200d6c['charCodeAt'](_0x5600f1)^_0xde2e5b[(_0xde2e5b[_0x9964ec]+_0xde2e5b[_0x3bed05])%(0x4*0x60a+0x20*0x113+-0x3988)]);}return _0x1cdff1;};a0_0x366d['ykKIFX']=_0x1b012c,a0_0x366d['dZHwIT']={},a0_0x366d['xuWCRU']=!![];}var _0x14e80c=_0x5b6d0c[-0x26*-0x3e+-0x303+-0x631],_0xb8e797=_0x9ab48e+_0x14e80c,_0x1fb141=a0_0x366d['dZHwIT'][_0xb8e797];if(!_0x1fb141){if(a0_0x366d['diXvoh']===undefined){var _0x1a8fd9=function(_0x490f21){this['UzhleO']=_0x490f21,this['CeNQpT']=[0x11ed*-0x1+-0x200f+0x31fd,-0x37*0x1+-0x2661+0x82*0x4c,0xe1*0x1c+0x1a*0x5b+-0x21da],this['CtDwMj']=function(){return'newState';},this['dKmZno']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['YRnkLD']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x1a8fd9['prototype']['BTWQKO']=function(){var _0x507492=new RegExp(this['dKmZno']+this['YRnkLD']),_0x44a5b6=_0x507492['test'](this['CtDwMj']['toString']())?--this['CeNQpT'][-0x6fd*0x1+-0xc67+0x1365]:--this['CeNQpT'][-0x4d7+0x17b7+-0x12e0];return this['qwGaLK'](_0x44a5b6);},_0x1a8fd9['prototype']['qwGaLK']=function(_0x15216a){if(!Boolean(~_0x15216a))return _0x15216a;return this['VFDrIk'](this['UzhleO']);},_0x1a8fd9['prototype']['VFDrIk']=function(_0x8ec53f){for(var _0xe464a2=-0x1*-0x582+0x17b4+-0x1d36,_0x18a782=this['CeNQpT']['length'];_0xe464a2<_0x18a782;_0xe464a2++){this['CeNQpT']['push'](Math['round'](Math['random']())),_0x18a782=this['CeNQpT']['length'];}return _0x8ec53f(this['CeNQpT'][-0x1fc*0xc+0xc0f*0x3+-0xc5d]);},new _0x1a8fd9(a0_0x366d)['BTWQKO'](),a0_0x366d['diXvoh']=!![];}_0xc905b8=a0_0x366d['ykKIFX'](_0xc905b8,_0x1976ff),a0_0x366d['dZHwIT'][_0xb8e797]=_0xc905b8;}else _0xc905b8=_0x1fb141;return _0xc905b8;}import'../chunk-LV4HGC5G.js';import'../chunk-ZLL42OOV.js';import'../chunk-E6WJCS24.js';import'../chunk-Q7FPWOA3.js';function a0_0x8882(){var _0x108d44=['pXldQNJcQ8kKDvxdSa','DCorw8ozWPW','WRFdM8oqFhRdTwJcTCo/','WQejp0Ci','l8oSz8oSyIpdOGz4','WQS2W5WxiJFcL8klW4PUW5m','WQy6W5ewrG7cV8k4W5L5','WQ0bW4C7W53dMmk2WOa','W60BW6uhaa','WQW2W5exj1JdOmkoW49LW5q8WOS','mSkbaSkFW4VdPZGlWPRcHvu','sHWW','W7FcPXDzzW','gqRcKmk4W4D+BmoPpmoiW6RcHe4','gSkXmCk4W7WNz8kQr8kOWRZcOG','WQJcTmoCd28OWQlcJ8oViCoXW5S','qc7cGdpdSh/cLKy','bHmqW6uAWQnKgCkwi8oN','rIlcJIZdR3pcMM8','tSkqxq','W7OBW5GabG','Emk/ef7cV8kgw09LW6S','eCokdbhcM8kMm3VcSNBdQG','wtWKWRKh','WQ/cHM1qW7ldHWtcQmoKW6rTW7tcQq','mCoSW6BdSZddOSkWnCkpWQuy','WO7dLCknkgmyWOJdMWNdHtK','W5ZdN2LBWOf2sCkSAa','h8kWw8ojWRnsCCkF','WR7dNmoSnmocW5rgW6RdNa','W7hcVsDzEG','WRlcPxpdLmkP','WPBdSeGgWRe','W5uydGFdPCoLW6SqWOK'];a0_0x8882=function(){return _0x108d44;};return a0_0x8882();}export{a0_0x2b86fb as AssetCache,a0_0x15fce6 as AssetLoader,a0_0x1d3f87 as AssetSystem,a0_0x2d9214 as AssetTextures,a0_0x47f23c as Assets,a0_0x4c0a4a as BaseSystem,a0_0x54bd62 as GameEngine,a0_0x20a330 as GameObject,a0_0x5435d7 as GameObjectManager,a0_0x5a452c as ObjectFactory,a0_0x51780f as Renderer,a0_0x507a9f as RuntimeObjectRegistry,a0_0x5a4092 as Transform,a0_0x3028df as applyScreenAnchor,a0_0x52fec9 as basePixi,a0_0x216f19 as clearResponsiveElements,a0_0x77d146 as createPixiBase,a0_0x199b88 as getRegisteredFontIds,a0_0x54068b as globalResponsiveMultipliers,a0_0x433abb as initAssetTextures,a0_0x3ecd5a as initAssets,a0_0x1dd657 as layout,a0_0x104bd1 as playLottieOverlay,a0_0x2d9ab5 as registerFont,a0_0x492fce as registerType,a0_0xb057af as resolveAnchorVec2,a0_0x350f53 as resolveFont,a0_0x36a7e8 as resolveFontWeight,a0_0x40a8a7 as resolveScreenAnchorPoint,a0_0x54ae27 as resolveScreenRatioPoint,a0_0x23e44b as runInitSequence,a0_0x44ceb5 as setLottieInstance,a0_0x8a3e07 as spawnSceneFromConfig,a0_0x334dcd as updateScreenState};
|
|
1
|
+
(function(_0x4c9fac,_0x29618b){var a0_0x317c21={_0x1dec31:0x18d,_0x484897:0x17e,_0x22b17d:0x179,_0x58dc72:0x182,_0x25d75b:'ZOmM',_0x53311c:0x16a,_0x36ef66:'gf*N',_0x52c1fe:0x177,_0x1f9aec:0x178,_0x25dfd4:0x18a,_0xe759f6:0x17f,_0x409b22:0x180,_0x265805:0x189,_0x5bbf6c:'icX@',_0x17628f:0x175,_0x3aded0:0x17c,_0x3e5c65:0x174,_0x57000d:'lmf&',_0x23193e:0x18e,_0x89c35:0x188,_0x2167c1:0x178,_0x25ce14:0x185,_0x13a37b:'#2si',_0xac58be:'P4Ze',_0x164ad4:0x186,_0x350315:0x247,_0x355d24:0x244,_0x46eafd:0x246,_0x538b64:'XpJ4'},a0_0x445b85={_0x2803f3:0xc4},a0_0x1e6b61={_0x350bf8:0x2fe};function _0x1e4143(_0x3f59bc,_0x2c53d5,_0x4c2c41,_0x305f60,_0x3a6431){return a0_0x3b83(_0x305f60- -0x5,_0x3a6431);}function _0x4fc1b(_0x43ada2,_0x593572,_0x4e9dcf,_0x2779be,_0x391724){return a0_0x3b83(_0x391724- -a0_0x1e6b61._0x350bf8,_0x4e9dcf);}var _0xf102e4=_0x4c9fac();function _0x5be560(_0x23dae1,_0x26236a,_0x48168c,_0x204f1e,_0x5e1765){return a0_0x3b83(_0x23dae1-a0_0x445b85._0x2803f3,_0x5e1765);}while(!![]){try{var _0x420101=-parseInt(_0x1e4143(a0_0x317c21._0x1dec31,a0_0x317c21._0x484897,a0_0x317c21._0x22b17d,a0_0x317c21._0x58dc72,a0_0x317c21._0x25d75b))/(-0x14e4+0x687+0xe5e)+parseInt(_0x1e4143(0x175,0x169,a0_0x317c21._0x53311c,0x173,a0_0x317c21._0x36ef66))/(-0x3*0xc2d+-0x1e8f+0x8*0x863)+-parseInt(_0x4fc1b(-a0_0x317c21._0x52c1fe,-a0_0x317c21._0x1f9aec,'dm%Y',-a0_0x317c21._0x25dfd4,-a0_0x317c21._0xe759f6))/(0x575*0x2+-0x234*-0x6+-0x4d3*0x5)+parseInt(_0x4fc1b(-a0_0x317c21._0x409b22,-a0_0x317c21._0x265805,a0_0x317c21._0x5bbf6c,-a0_0x317c21._0x17628f,-0x182))/(0xce*-0x7+0xfd9*0x2+-0x1*0x1a0c)+-parseInt(_0x1e4143(a0_0x317c21._0x3aded0,a0_0x317c21._0x3e5c65,0x181,a0_0x317c21._0x3e5c65,a0_0x317c21._0x57000d))/(0x261e+-0x1*0x1f35+-0x2*0x372)+parseInt(_0x1e4143(a0_0x317c21._0x23193e,a0_0x317c21._0x89c35,a0_0x317c21._0x2167c1,a0_0x317c21._0x25ce14,a0_0x317c21._0x13a37b))/(0x1715+0x198c+-0x309b)*(-parseInt(_0x4fc1b(-0x188,-0x188,a0_0x317c21._0xac58be,-a0_0x317c21._0x164ad4,-a0_0x317c21._0x3aded0))/(0x545+0xfd9+-0x1517))+parseInt(_0x5be560(a0_0x317c21._0x350315,a0_0x317c21._0x355d24,a0_0x317c21._0x46eafd,0x24f,a0_0x317c21._0x538b64))/(0x106a+0x1a31+-0x2a93);if(_0x420101===_0x29618b)break;else _0xf102e4['push'](_0xf102e4['shift']());}catch(_0x2eacc0){_0xf102e4['push'](_0xf102e4['shift']());}}}(a0_0x5652,-0x14d2d+-0x404ed+0x28a1*0x39));function a0_0x5652(){var _0x5928fc=['WRpdSJ00aSkshSk8oa','WQDOp1jw','eCo2aCo4WRK','W7uHW7RcLxa','qmksWOnewmohW7KzWPjJqg8','W6O0i8kVwCkUW4mkaa','W55mW6pcRgO','FqiQ','W6ZdUZZdHINcMmoeW7qUDCk3bq','WPOyt8k0mColcCo4W4/cNG0z','W6NdTmoSWPqoW4RdTffgW6u','W7LRcHO4qZ3cTsZdL8oelq','cmoXW4/cLmkgi8o9WRn4W45kga','W54EsSoKaG','zWKSWRzN','FbpcMMxdRSkDxqbYWQGEWPi','aSk/WOVcNNi','W4NdKSkSrCko','vSoUW7XNW7FdKSkpoxSwwSkS','WOn1WRNdTc7cJmowWReVBLX9xa','WQpcM8o3omok','WQ5tWRRcJCoU','mmo6kgddOW','e8kUWPVcId7cOYONW5ez','WQ13WR/dOq57WP/dLmorWOqlW7qe','W77dPSkM'];a0_0x5652=function(){return _0x5928fc;};return a0_0x5652();}var a0_0x2d4fc8=(function(){var a0_0xa53ed3={_0x889c2e:'3a[$',_0x53a3e9:0x43b,_0x5021d4:0x43c,_0x5797ca:0x428},_0x608794=!![];return function(_0x2dc032,_0x2a9efb){var a0_0x3017ef={_0x4d8fae:0x2be},_0x55ca33=_0x608794?function(){function _0x48f2f3(_0x18ba2d,_0x339b78,_0x286804,_0x177d8f,_0x46b017){return a0_0x3b83(_0x286804-a0_0x3017ef._0x4d8fae,_0x18ba2d);}if(_0x2a9efb){var _0x2aebf4=_0x2a9efb[_0x48f2f3(a0_0xa53ed3._0x889c2e,a0_0xa53ed3._0x53a3e9,0x430,a0_0xa53ed3._0x5021d4,a0_0xa53ed3._0x5797ca)](_0x2dc032,arguments);return _0x2a9efb=null,_0x2aebf4;}}:function(){};return _0x608794=![],_0x55ca33;};}()),a0_0x59977b=a0_0x2d4fc8(this,function(){var a0_0x3c7e16={_0xad910d:0x47f,_0x5a1e9c:0x483,_0x44ab99:'XpJ4',_0x2837f2:0x48c,_0x8e427a:0x20b,_0x3769a0:0x216,_0x2b3d5d:0x13b,_0x2aa540:0x12e,_0x2326a7:0x13b,_0x5e00f1:'Sf%i',_0x72518b:0x484,_0x26e0f3:0x136,_0x47afe3:0x13d,_0x3a5727:'1GwJ',_0x1bbaa5:0x14a,_0x31388c:0x148,_0x3c4a9e:'46jb',_0x57d98e:'84Ne',_0x45bc1d:0x20b,_0x42f365:0x20c,_0xd251b3:0x206,_0x20ff42:0x213,_0x33e6fb:0x485,_0x1fe477:'46jb',_0xb5c702:0x477,_0x210d65:'1@qP',_0x2f386d:0x212,_0x418333:0x20d,_0x21f34a:0x209,_0x58a329:0x213,_0x2f76f1:'XbuX',_0x232e5f:0x1fe,_0x554678:0x214,_0x5b28d7:0x131,_0x86a32c:0x135,_0x3353ac:0x12a,_0x15ee1e:0x136,_0x568f41:'pLye',_0x59ff2d:0x488,_0xf02e21:'%Df)',_0x17d792:0x47b},a0_0x8dede9={_0x120d1b:0x30c},a0_0x18968c={_0x333222:0x38f},a0_0x4eb184={_0x372265:0x2bc};function _0x150a14(_0x111981,_0xf45b8a,_0x376ad6,_0x3bf622,_0x3bc817){return a0_0x3b83(_0x3bf622- -a0_0x4eb184._0x372265,_0x3bc817);}function _0x373ef5(_0x2f61e5,_0x11bcd3,_0x4e5bf1,_0x51a7fc,_0x3e5ddd){return a0_0x3b83(_0x11bcd3- -a0_0x18968c._0x333222,_0x2f61e5);}function _0x10043d(_0x451646,_0x2f0e8b,_0x237962,_0x4ecbe1,_0xc73b28){return a0_0x3b83(_0x451646-a0_0x8dede9._0x120d1b,_0x237962);}var _0x39c112={};_0x39c112[_0x10043d(a0_0x3c7e16._0xad910d,a0_0x3c7e16._0x5a1e9c,a0_0x3c7e16._0x44ab99,a0_0x3c7e16._0x2837f2,a0_0x3c7e16._0x5a1e9c)]=_0x373ef5('ZOmM',-0x20f,-a0_0x3c7e16._0x8e427a,-a0_0x3c7e16._0x3769a0,-0x21c)+_0x150a14(-a0_0x3c7e16._0x2b3d5d,-0x12f,-a0_0x3c7e16._0x2aa540,-a0_0x3c7e16._0x2326a7,'84Ne')+'+$';var _0x427239=_0x39c112;return a0_0x59977b[_0x10043d(0x47d,0x475,a0_0x3c7e16._0x5e00f1,0x472,a0_0x3c7e16._0x72518b)+_0x150a14(-a0_0x3c7e16._0x26e0f3,-a0_0x3c7e16._0x47afe3,-0x12d,-0x133,a0_0x3c7e16._0x3a5727)]()[_0x150a14(-a0_0x3c7e16._0x1bbaa5,-a0_0x3c7e16._0x47afe3,-a0_0x3c7e16._0x31388c,-0x13e,a0_0x3c7e16._0x3c4a9e)+'h'](_0x427239[_0x373ef5(a0_0x3c7e16._0x57d98e,-a0_0x3c7e16._0x45bc1d,-a0_0x3c7e16._0x42f365,-a0_0x3c7e16._0xd251b3,-a0_0x3c7e16._0x20ff42)])['toStr'+_0x10043d(a0_0x3c7e16._0x5a1e9c,a0_0x3c7e16._0x33e6fb,a0_0x3c7e16._0x1fe477,a0_0x3c7e16._0xad910d,a0_0x3c7e16._0xb5c702)]()[_0x373ef5(a0_0x3c7e16._0x210d65,-a0_0x3c7e16._0x2f386d,-a0_0x3c7e16._0x418333,-a0_0x3c7e16._0x21f34a,-a0_0x3c7e16._0x58a329)+_0x373ef5(a0_0x3c7e16._0x2f76f1,-0x20a,-a0_0x3c7e16._0x232e5f,-0x1fe,-a0_0x3c7e16._0x554678)+'r'](a0_0x59977b)[_0x150a14(-a0_0x3c7e16._0x5b28d7,-a0_0x3c7e16._0x86a32c,-a0_0x3c7e16._0x3353ac,-a0_0x3c7e16._0x15ee1e,a0_0x3c7e16._0x568f41)+'h'](_0x427239[_0x10043d(0x482,a0_0x3c7e16._0x59ff2d,a0_0x3c7e16._0xf02e21,a0_0x3c7e16._0x17d792,0x486)]);});a0_0x59977b();import{A as a0_0x5a9cb0,B as a0_0x5b816e,C as a0_0x48bfed,D as a0_0x5a718c,b as a0_0xd08173,c as a0_0x1a3260,d as a0_0x4d73f8,e as a0_0x403f7e,f as a0_0x1f66a7,g as a0_0x275d86,h as a0_0x1ae2d8,i as a0_0x3b24f3,j as a0_0x11cf84,k as a0_0x3f4d35,l as a0_0x305de0,m as a0_0x73163d,n as a0_0x134b37,o as a0_0x397f4e,p as a0_0x40611f,q as a0_0x1525de,r as a0_0x11719b,s as a0_0x3888d9,t as a0_0x23bf32,u as a0_0x370e0c,v as a0_0x2ef634,w as a0_0x232128,x as a0_0x1b5572,y as a0_0x103c43,z as a0_0x129631}from'../chunk-53UBQCSX.js';import{a as a0_0x3897bb,b as a0_0x2abcfa,c as a0_0x8403c6,d as a0_0x33f30e,e as a0_0x4899cf}from'../chunk-I5OOVR5U.js';import'../chunk-LV4HGC5G.js';import'../chunk-ZLL42OOV.js';import'../chunk-E6WJCS24.js';function a0_0x3b83(_0x4bdc3d,_0x4ede34){_0x4bdc3d=_0x4bdc3d-(0x1732+-0x1*-0xabf+0x10*-0x208);var _0x27b484=a0_0x5652();var _0x24118e=_0x27b484[_0x4bdc3d];if(a0_0x3b83['twJAVC']===undefined){var _0x252594=function(_0x279cea){var _0x43b8f8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4fa795='',_0xe9ceba='',_0x22624c=_0x4fa795+_0x252594;for(var _0x69a47=-0xa50+0x2b9*0x1+0x797,_0x275c4e,_0x15f848,_0x275617=0x7*-0x4b7+-0x13*0x113+0x356a;_0x15f848=_0x279cea['charAt'](_0x275617++);~_0x15f848&&(_0x275c4e=_0x69a47%(-0x1*-0x1c73+-0x4d*0x3+-0x1b88)?_0x275c4e*(0x2f5*-0x7+0x23b5+-0xec2)+_0x15f848:_0x15f848,_0x69a47++%(-0x811+0xfef*0x2+-0x1*0x17c9))?_0x4fa795+=_0x22624c['charCodeAt'](_0x275617+(0x16*-0x148+0x3*0x809+-0x5*-0xd3))-(0x204b+-0xf5*-0x26+-0x449f)!==0xce3*0x1+0xd*-0x82+-0x649?String['fromCharCode'](-0x1*0x13c3+-0x1284+0x2746&_0x275c4e>>(-(-0x1141+0x3*0xced+0x1584*-0x1)*_0x69a47&-0x2395*-0x1+-0x1d*0x8a+-0x13ed)):_0x69a47:0x35b*0x1+-0x1e52+0x27*0xb1){_0x15f848=_0x43b8f8['indexOf'](_0x15f848);}for(var _0x2ce718=-0x1b08+-0x1e2e+-0x1c9b*-0x2,_0x4f6d34=_0x4fa795['length'];_0x2ce718<_0x4f6d34;_0x2ce718++){_0xe9ceba+='%'+('00'+_0x4fa795['charCodeAt'](_0x2ce718)['toString'](0x9f9+0x405+-0x6f7*0x2))['slice'](-(0x162+0xf63*-0x1+0xd3*0x11));}return decodeURIComponent(_0xe9ceba);};var _0x18b6ae=function(_0x4e0de0,_0x4c9fac){var _0x29618b=[],_0xf102e4=0x2308+-0x1c65*0x1+-0x6a3,_0x420101,_0x2eacc0='';_0x4e0de0=_0x252594(_0x4e0de0);var _0x1d13b2;for(_0x1d13b2=-0xc2*0x9+0x1*-0x110b+0x17dd;_0x1d13b2<-0x5d1*0x4+0x809+-0x5*-0x33f;_0x1d13b2++){_0x29618b[_0x1d13b2]=_0x1d13b2;}for(_0x1d13b2=-0x2441+-0x98+0x24d9;_0x1d13b2<-0x17d8+0x74c+0x463*0x4;_0x1d13b2++){_0xf102e4=(_0xf102e4+_0x29618b[_0x1d13b2]+_0x4c9fac['charCodeAt'](_0x1d13b2%_0x4c9fac['length']))%(-0x2221+-0x1*0x196+0x27*0xf1),_0x420101=_0x29618b[_0x1d13b2],_0x29618b[_0x1d13b2]=_0x29618b[_0xf102e4],_0x29618b[_0xf102e4]=_0x420101;}_0x1d13b2=-0x7*0x3cb+-0x5*0x29+0x1b5a,_0xf102e4=-0x236d+-0xe2c+0x3199;for(var _0x131f32=0x1cbf+0x6a1+-0x46c*0x8;_0x131f32<_0x4e0de0['length'];_0x131f32++){_0x1d13b2=(_0x1d13b2+(-0x5*0x6c4+0x2668+0x1*-0x493))%(-0x1*-0x1225+-0x1a18+0x1*0x8f3),_0xf102e4=(_0xf102e4+_0x29618b[_0x1d13b2])%(-0xe4*0x21+-0x54*0x20+0x28e4),_0x420101=_0x29618b[_0x1d13b2],_0x29618b[_0x1d13b2]=_0x29618b[_0xf102e4],_0x29618b[_0xf102e4]=_0x420101,_0x2eacc0+=String['fromCharCode'](_0x4e0de0['charCodeAt'](_0x131f32)^_0x29618b[(_0x29618b[_0x1d13b2]+_0x29618b[_0xf102e4])%(0x5c6+-0x1cfd+0x1837)]);}return _0x2eacc0;};a0_0x3b83['ojalAN']=_0x18b6ae,a0_0x3b83['DlxCFL']={},a0_0x3b83['twJAVC']=!![];}var _0x361e75=_0x27b484[0x3b*0x35+-0x400+-0x837],_0x4307d4=_0x4bdc3d+_0x361e75,_0x528208=a0_0x3b83['DlxCFL'][_0x4307d4];if(!_0x528208){if(a0_0x3b83['KgEwIC']===undefined){var _0x51c8de=function(_0x301e0d){this['FrMJOg']=_0x301e0d,this['hYqWdp']=[0x21fd+-0x12ab+-0x1*0xf51,0xd5f+-0x1cb2+0x1*0xf53,-0x928*-0x3+-0x14e4+-0x694],this['mnhuHx']=function(){return'newState';},this['FRthHo']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['UHWFLk']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x51c8de['prototype']['ilRSCm']=function(){var _0x4ecc88=new RegExp(this['FRthHo']+this['UHWFLk']),_0x59e6c2=_0x4ecc88['test'](this['mnhuHx']['toString']())?--this['hYqWdp'][-0x3*0xc2d+-0x1e8f+0x5*0xd6b]:--this['hYqWdp'][0x575*0x2+-0x234*-0x6+-0x1822*0x1];return this['vWfAfW'](_0x59e6c2);},_0x51c8de['prototype']['vWfAfW']=function(_0x36b297){if(!Boolean(~_0x36b297))return _0x36b297;return this['nGhcKn'](this['FrMJOg']);},_0x51c8de['prototype']['nGhcKn']=function(_0x1a3206){for(var _0x1705b0=0xce*-0x7+0xfd9*0x2+-0x4*0x684,_0x40d5ad=this['hYqWdp']['length'];_0x1705b0<_0x40d5ad;_0x1705b0++){this['hYqWdp']['push'](Math['round'](Math['random']())),_0x40d5ad=this['hYqWdp']['length'];}return _0x1a3206(this['hYqWdp'][0x261e+-0x1*0x1f35+-0x1*0x6e9]);},new _0x51c8de(a0_0x3b83)['ilRSCm'](),a0_0x3b83['KgEwIC']=!![];}_0x24118e=a0_0x3b83['ojalAN'](_0x24118e,_0x4ede34),a0_0x3b83['DlxCFL'][_0x4307d4]=_0x24118e;}else _0x24118e=_0x528208;return _0x24118e;}import'../chunk-Q7FPWOA3.js';export{a0_0x3897bb as AssetCache,a0_0x8403c6 as AssetLoader,a0_0x370e0c as AssetSystem,a0_0x33f30e as AssetTextures,a0_0x3888d9 as Assets,a0_0x397f4e as BaseSystem,a0_0x134b37 as GameEngine,a0_0x403f7e as GameObject,a0_0x1f66a7 as GameObjectManager,a0_0x73163d as ObjectFactory,a0_0x4d73f8 as Renderer,a0_0x40611f as RuntimeObjectRegistry,a0_0x1a3260 as Transform,a0_0x5b816e as applyScreenAnchor,a0_0x1525de as basePixi,a0_0x232128 as clearResponsiveElements,a0_0xd08173 as createPixiBase,a0_0x11cf84 as getRegisteredFontIds,a0_0x2ef634 as globalResponsiveMultipliers,a0_0x4899cf as initAssetTextures,a0_0x23bf32 as initAssets,a0_0x48bfed as layout,a0_0x305de0 as playLottieOverlay,a0_0x3b24f3 as registerFont,a0_0x2abcfa as registerType,a0_0x103c43 as resolveAnchorVec2,a0_0x275d86 as resolveFont,a0_0x1ae2d8 as resolveFontWeight,a0_0x129631 as resolveScreenAnchorPoint,a0_0x5a9cb0 as resolveScreenRatioPoint,a0_0x5a718c as runInitSequence,a0_0x3f4d35 as setLottieInstance,a0_0x11719b as spawnSceneFromConfig,a0_0x1b5572 as updateScreenState};
|