@apps-in-toss/web-framework 2.6.2 → 2.7.0

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.
@@ -44837,6 +44837,38 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
44837
44837
  }
44838
44838
  });
44839
44839
 
44840
+ // ../../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-e56741e8de/1/packages/apps-in-toss/native-modules/src/MiniAppModule/native-modules/getConsentedUserData.ts
44841
+ function getConsentedUserData(options) {
44842
+ return _async_to_generator(function() {
44843
+ var isSupported;
44844
+ return __generator(this, function(_state) {
44845
+ isSupported = isMinVersionSupported2({
44846
+ ios: "5.264.0",
44847
+ android: "5.264.0"
44848
+ });
44849
+ if (!isSupported) {
44850
+ return [
44851
+ 2,
44852
+ void 0
44853
+ ];
44854
+ }
44855
+ return [
44856
+ 2,
44857
+ safePostMessage2("getConsentedUserData", options)
44858
+ ];
44859
+ });
44860
+ })();
44861
+ }
44862
+ var init_getConsentedUserData = __esm({
44863
+ "../../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-e56741e8de/1/packages/apps-in-toss/native-modules/src/MiniAppModule/native-modules/getConsentedUserData.ts"() {
44864
+ "use strict";
44865
+ init_async_to_generator();
44866
+ init_ts_generator();
44867
+ init_isMinVersionSupported();
44868
+ init_natives2();
44869
+ }
44870
+ });
44871
+
44840
44872
  // ../../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-e56741e8de/1/packages/apps-in-toss/native-modules/src/MiniAppModule/native-modules/requestReview.ts
44841
44873
  function requestReview2() {
44842
44874
  return _async_to_generator(function() {
@@ -44915,6 +44947,9 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
44915
44947
  getClipboardText: function() {
44916
44948
  return getClipboardText2;
44917
44949
  },
44950
+ getConsentedUserData: function() {
44951
+ return getConsentedUserData;
44952
+ },
44918
44953
  getCurrentLocation: function() {
44919
44954
  return getCurrentLocation2;
44920
44955
  },
@@ -45033,6 +45068,7 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
45033
45068
  init_grantPromotionRewardForGame();
45034
45069
  init_getIsTossLoginIntegratedService();
45035
45070
  init_getServerTime();
45071
+ init_getConsentedUserData();
45036
45072
  init_requestReview();
45037
45073
  }
45038
45074
  });
@@ -45739,6 +45775,7 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
45739
45775
  init_getGroupId();
45740
45776
  init_shareWithScheme();
45741
45777
  init_getServerTime();
45778
+ init_getConsentedUserData();
45742
45779
  init_requestReview();
45743
45780
  init_requestNotificationAgreement();
45744
45781
  init_checkoutPayment();
@@ -45799,7 +45836,7 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
45799
45836
  "../user-scripts/dist/index.mjs"() {
45800
45837
  "use strict";
45801
45838
  e63 = '"use strict";(()=>{var e=document.createElement("style");e.textContent=`\n*:not(input):not(textarea) {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-touch-callout: none;\n}\n`;document.head.appendChild(e);})();\n';
45802
- t52 = '"use strict";(()=>{var ve=class{get _window(){return typeof window<"u"?window:{ReactNativeWebView:{postMessage:()=>{}},__GRANITE_NATIVE_EMITTER:{on:()=>()=>{}},__CONSTANT_HANDLER_MAP:{}}}postMessage(e){let t=this._window.ReactNativeWebView;if(!t)throw new Error("ReactNativeWebView is not available in browser environment");t.postMessage(JSON.stringify(e))}on(e,t){let r=this._window.__GRANITE_NATIVE_EMITTER;if(!r)throw new Error("__GRANITE_NATIVE_EMITTER is not available");return r.on(e,t)}getConstant(e){let t=this._window.__CONSTANT_HANDLER_MAP;if(t&&e in t)return t[e];throw new Error(`${e} is not a constant handler`)}},E=new ve,z=()=>Math.random().toString(36).substring(2,15),$=e=>{if(e&&e.__isError){let t=new Error(e.message);for(let[r,n]of Object.entries(e))t[r]=n;return t}return e};function d(e){return(...t)=>{let r=z(),n=[],o=()=>{for(let s of n)s()};return new Promise((s,a)=>{n.push(E.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(E.on(`${e}/reject/${r}`,i=>{o(),a($(i))})),E.postMessage({type:"method",functionName:e,eventId:r,args:t})})}}function D(e){return t=>{let r=z(),n=[E.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),E.on(`${e}/onError/${r}`,o=>{t.onError($(o))})];return E.postMessage({type:"addEventListener",functionName:e,eventId:r,args:t.options}),()=>{E.postMessage({type:"removeEventListener",functionName:e,eventId:r}),n.forEach(o=>o())}}}function v(e){return()=>E.getConstant(e)}var he=function(){return{emit:function(t,r){for(var n=this.events[t]||[],o=0,s=n.length;o<s;o++)n[o](r)},events:{},on:function(t,r){var n=this,o,s;return((o=this.events)[s=t]||(o[s]=[])).push(r),function(){var a;n.events[t]=(a=n.events[t])===null||a===void 0?void 0:a.filter(function(i){return r!==i})}}}};typeof window<"u"&&(window.__GRANITE_NATIVE_EMITTER=he());var it=d("closeView"),dt=d("generateHapticFeedback"),ct=d("share"),ut=d("setSecureScreen"),pt=d("setScreenAwakeMode"),mt=d("getNetworkStatus"),lt=d("setIosSwipeGestureEnabled"),gt=d("openURL"),ft=d("openPermissionDialog"),vt=d("getPermission"),ht=d("requestPermission"),wt=v("setClipboardText"),Et=v("getClipboardText"),At=v("fetchContacts"),bt=v("fetchAlbumPhotos"),_t=v("getCurrentLocation"),St=v("openCamera"),Ct=d("appLogin"),It=d("eventLog"),yt=d("getTossShareLink"),Tt=d("setDeviceOrientation"),Rt=d("checkoutPayment"),Lt=d("requestTossPayPaysBilling"),Pt=d("saveBase64Data"),xt=d("openPDFViewer"),Dt=d("fetchAlbumItems"),Nt=d("appsInTossSignTossCert"),Mt=d("getGameCenterGameProfile"),Ft=d("openGameCenterLeaderboard"),Gt=d("submitGameCenterLeaderBoardScore"),Bt=d("getAnonymousKey"),kt=d("getUserKeyForGame"),Ot=d("grantPromotionReward"),Vt=d("grantPromotionRewardForGame"),Ht=d("getIsTossLoginIntegratedService"),qt=d("getServerTime"),Ut=d("requestReview"),Wt=v("getLocale"),zt=v("getSchemeUri"),$t=v("getPlatformOS"),jt=v("getOperationalEnvironment"),Kt=v("getTossAppVersion"),Jt=v("getDeviceId"),Xt=v("getGroupId"),Yt=D("contactsViral"),Zt=D("startUpdateLocation"),Qt=D("onVisibilityChangedByTransparentServiceWeb");var C=class extends Error{constructor({methodName:e,message:t}){super(),this.name=`${e} permission error`,this.message=t}},j=class extends C{constructor(){super({methodName:"fetchAlbumPhotos",message:"\\uC0AC\\uC9C4\\uCCA9 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},K=class extends C{constructor(){super({methodName:"fetchContacts",message:"\\uC5F0\\uB77D\\uCC98 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},J=class extends C{constructor(){super({methodName:"openCamera",message:"\\uCE74\\uBA54\\uB77C \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}};var V=class extends C{constructor(){super({methodName:"getCurrentLocation",message:"\\uC704\\uCE58 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},X=V,Y=class extends C{constructor(){super({methodName:"getClipboardText",message:"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC77D\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},Z=class extends C{constructor(){super({methodName:"setClipboardText",message:"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC4F0\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}};var we=class{get _window(){return typeof window<"u"?window:{ReactNativeWebView:{postMessage:()=>{}},__GRANITE_NATIVE_EMITTER:{on:()=>()=>{}},__CONSTANT_HANDLER_MAP:{}}}postMessage(e){let t=this._window.ReactNativeWebView;if(!t)throw new Error("ReactNativeWebView is not available in browser environment");t.postMessage(JSON.stringify(e))}on(e,t){let r=this._window.__GRANITE_NATIVE_EMITTER;if(!r)throw new Error("__GRANITE_NATIVE_EMITTER is not available");return r.on(e,t)}getConstant(e){let t=this._window.__CONSTANT_HANDLER_MAP;if(t&&e in t)return t[e];throw new Error(`${e} is not a constant handler`)}},A=new we,de=()=>Math.random().toString(36).substring(2,15),ce=e=>{if(e&&e.__isError){let t=new Error(e.message);for(let[r,n]of Object.entries(e))t[r]=n;return t}return e};function c(e){return(...t)=>{let r=de(),n=[],o=()=>{for(let s of n)s()};return new Promise((s,a)=>{n.push(A.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(A.on(`${e}/reject/${r}`,i=>{o(),a(ce(i))})),A.postMessage({type:"method",functionName:e,eventId:r,args:t})})}}function b(e){return t=>{let r=de(),n=[A.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),A.on(`${e}/onError/${r}`,o=>{t.onError(ce(o))})];return A.postMessage({type:"addEventListener",functionName:e,eventId:r,args:t.options}),()=>{A.postMessage({type:"removeEventListener",functionName:e,eventId:r}),n.forEach(o=>o())}}}function p(e){return()=>A.getConstant(e)}var cr={getItem:c("getStorageItem"),setItem:c("setStorageItem"),removeItem:c("removeStorageItem"),clearItems:c("clearItems")},Ee=/^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*))?(?:\\+[\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*)?)?)?$/i,Q=e=>["*","x","X"].includes(e),ee=e=>{let t=parseInt(e,10);return isNaN(t)?e:t},Ae=(e,t)=>typeof e==typeof t?[e,t]:[String(e),String(t)],be=(e,t)=>{if(Q(e)||Q(t))return 0;let[r,n]=Ae(ee(e),ee(t));return r>n?1:r<n?-1:0},te=e=>{if(typeof e!="string")throw new TypeError("Invalid argument: expected a string");let t=e.match(Ee);if(!t)throw new Error(`Invalid semver: \'${e}\'`);let[,r,n,o,s,a]=t;return[r,n,o,s,a]},re=(e,t)=>{let r=Math.max(e.length,t.length);for(let n=0;n<r;n++){let o=e[n]??"0",s=t[n]??"0",a=be(o,s);if(a!==0)return a}return 0},_e=(e,t)=>{let r=te(e),n=te(t),o=r.pop(),s=n.pop(),a=re(r,n);return a!==0?a:o&&s?re(o.split("."),s.split(".")):o?-1:s?1:0};function H(e){if(p("getOperationalEnvironment")()==="sandbox")return!0;let r=p("getTossAppVersion")(),o=p("getPlatformOS")()==="ios"?e.ios:e.android;return o===void 0?!1:o==="always"?!0:o==="never"?!1:_e(r,o)>=0}function ne(e){return c("processProductGrant")(e)}var ur={createOneTimePurchaseOrder:e=>{let t=H({android:"5.219.0",ios:"5.219.0"}),r=()=>{};if(!t)return r;let n=H({android:"5.231.1",ios:"5.230.0"}),{options:o,onEvent:s,onError:a}=e,i=o.sku??o.productId;return n?b("requestOneTimePurchase")({options:{sku:i},onEvent:async g=>{if(g.type==="purchased"){let u=await o.processProductGrant({orderId:g.data.orderId});await ne({orderId:g.data.orderId,isProductGranted:u}).catch(a)}else s(g)},onError:g=>{a(g)}}):(c("iapCreateOneTimePurchaseOrder")({productId:i}).then(u=>{Promise.resolve(o.processProductGrant({orderId:u.orderId})).then(()=>{s({type:"success",data:u})}).catch(f=>{a(f)})}).catch(u=>{a(u)}),r)},createSubscriptionPurchaseOrder:e=>{let t=H({android:"5.248.0",ios:"5.249.0"}),r=()=>{};if(!t)return r;let{options:n,onEvent:o,onError:s}=e,{sku:a,offerId:i,processProductGrant:l}=n;return b("requestSubscriptionPurchase")({options:{sku:a,offerId:i??null},onEvent:async u=>{if(u.type==="purchased"){let f=await l({orderId:u.data.orderId,subscriptionId:u.data.subscriptionId});await ne({orderId:u.data.orderId,isProductGranted:f}).catch(s)}else o(u)},onError:u=>{s(u)}})},getProductItemList:c("iapGetProductItemList"),getPendingOrders:c("getPendingOrders"),getCompletedOrRefundedOrders:c("getCompletedOrRefundedOrders"),completeProductGrant:c("completeProductGrant"),getSubscriptionInfo:c("getSubscriptionInfo")},pr=p("getSafeAreaInsets");var mr=p("getSafeAreaInsets");var lr={loadAppsInTossAdMob:Object.assign(b("loadAppsInTossAdMob"),{isSupported:p("loadAppsInTossAdMob_isSupported")}),showAppsInTossAdMob:Object.assign(b("showAppsInTossAdMob"),{isSupported:p("showAppsInTossAdMob_isSupported")}),isAppsInTossAdMobLoaded:Object.assign(c("isAppsInTossAdMobLoaded"),{isSupported:p("isAppsInTossAdMobLoaded_isSupported")})};var gr={getDeploymentId:p("getDeploymentId")},fr=p("deploymentId"),vr=p("brandDisplayName"),hr=p("brandIcon"),wr=p("brandPrimaryColor");var Er={addAccessoryButton:c("addAccessoryButton"),removeAccessoryButton:c("removeAccessoryButton")},Se=c("requestPermission"),Ce=c("getPermission"),Ie=c("openPermissionDialog");function I({permission:e,handler:t,error:r}){let n=async(...o)=>{if(await Se(e)==="denied")throw new r;return t(...o)};return n.getPermission=()=>Ce(e),n.openPermissionDialog=()=>Ie(e),n}var br=I({handler:e=>c("fetchAlbumPhotos")(e),permission:{name:"photos",access:"read"},error:j}),Sr=I({handler:e=>c("fetchContacts")(e),permission:{name:"contacts",access:"read"},error:K}),Ir=I({handler:e=>c("getCurrentLocation")(e),permission:{name:"geolocation",access:"access"},error:V}),Tr=I({handler:e=>c("openCamera")(e),permission:{name:"camera",access:"access"},error:J}),Lr=I({handler:e=>c("setClipboardText")(e),permission:{name:"clipboard",access:"write"},error:Z}),xr=I({handler:()=>c("getClipboardText")(),permission:{name:"clipboard",access:"read"},error:Y}),ye=c("getPermission"),Te=c("openPermissionDialog"),ue=e=>b("updateLocationEvent")({...e,onError:t=>{let r=new X;return t instanceof Error&&t.name===r.name?e.onError(r):e.onError(t)}});ue.getPermission=()=>ye({name:"geolocation",access:"access"});ue.openPermissionDialog=()=>Te({name:"geolocation",access:"access"});var Nr=Object.assign(b("loadFullScreenAd"),{isSupported:p("loadFullScreenAd_isSupported")}),Mr=Object.assign(b("showFullScreenAd"),{isSupported:p("showFullScreenAd_isSupported")}),P=new WeakMap;function Re(e,t){let r=P.get(e);if(r)return r;let n=t(),o=!1,s={destroy(){o||(o=!0,P.get(e)===s&&P.delete(e),n.destroy())}};return P.set(e,s),s}function Le(){P=new WeakMap}var Pe=c("openURL");function xe(e){let t=De(e);return Pe(t)}function De(e){return["http://","https://"].some(r=>e.startsWith(r))?Ne(e):e}function Ne(e){return`supertoss://web?url=${encodeURIComponent(e)}&external=true`}var oe="https://static.toss.im/ads/sdk/toss-ads-space-kit-1.3.0.js",se=15e3,N=null;function S(){if(!(typeof window>"u"))return window.TossAdsSpaceKit}function Me(){if(typeof window>"u"||typeof document>"u")return Promise.reject(new Error("Ads SDK can only be loaded in a browser environment."));let e=S();if(e)return Promise.resolve(e);if(N)return N;let t=new Promise((r,n)=>{let o=document.createElement("script"),s=()=>{o.removeEventListener("load",a),o.removeEventListener("error",i),window.clearTimeout(l),N=null},a=()=>{let g=S();if(g){s(),r(g);return}s(),n(new Error("Ads SDK script loaded but window.TossAdsSpaceKit was not exposed."))},i=()=>{s(),n(new Error(`Failed to load Ads SDK script from ${oe}.`))},l=window.setTimeout(()=>{s(),n(new Error(`Loading Ads SDK timed out after ${se}ms.`))},se);o.addEventListener("load",a),o.addEventListener("error",i),o.async=!0,o.src=oe,document.head.appendChild(o)});return N=t,t}var _=Object.assign(b("fetchTossAd"),{isSupported:p("fetchTossAd_isSupported")}),Fe=c("tossAdEventLog"),Ge=new Set(["1","2"]),pe="\\uC798\\uBABB\\uB41C \\uC694\\uCCAD\\uC774\\uC5D0\\uC694. \\uD544\\uC694\\uD55C \\uAC12\\uC774 \\uBE44\\uC5B4 \\uC788\\uC5B4\\uC694.";function M(e){return e.trim()}function U(){return new Error(pe)}function Be(){return{resultType:"FAIL",error:{reason:pe}}}function ke(e){return new Promise((t,r)=>{if(!_.isSupported()){r(new Error("fetchTossAd is not supported in this environment."));return}let n=M(e.adGroupId);if(n.length===0){r(U());return}return _({options:{...e,adGroupId:n},onEvent:t,onError:r})})}function ae(e){let t=Array.isArray(e.ads)?e.ads.filter(r=>Ge.has(String(r.styleId))):[];return{requestId:e.requestId??"",status:e.status??"OK",ads:t,ext:e.ext}}function Oe(e){return Ve(e)?e.resultType!=="SUCCESS"?e:e.success?{...e,success:ae(e.success)}:{resultType:"FAIL",error:{reason:"fetchTossAd returned SUCCESS without payload"}}:He(e)?{resultType:"SUCCESS",success:ae(e)}:{resultType:"FAIL",error:{reason:"Invalid response from fetchTossAd"}}}function Ve(e){return!!(e&&typeof e=="object"&&"resultType"in e)}function He(e){return!!(e&&typeof e=="object"&&"ads"in e)}function qe(){return async(e,t)=>{let r=M(t.spaceUnitId);if(r.length===0)return Be();try{let n=await ke({adGroupId:r,sdkId:"108",availableStyleIds:["1","2"]});return Oe(n)}catch(n){return{resultType:"FAIL",error:{reason:n instanceof Error?n.message:"Unknown fetchTossAd error"}}}}}var L=null;function Ue(e){let{callbacks:t}=e,r=()=>t?.onInitialized?.(),n=a=>{let i=a instanceof Error?a:new Error(String(a));t?.onInitializationFailed?.(i)};if(S()?.isInitialized()){r();return}if(L!=null){L.then(r).catch(n);return}let s=Me().then(a=>{if(a.isInitialized())return;let l={environment:"live",customAdFetcher:qe(),opener:xe};a.init(l)});L=s,s.then(r).catch(n).finally(()=>{L===s&&(L=null)})}function We(e,t,r={}){let{callbacks:n}=r,o=M(e),s=a=>{let i=a instanceof Error?a:new Error(String(a));n?.onAdFailedToRender?.({slotId:"",adGroupId:o,adMetadata:{},error:{code:0,message:i.message}})};try{let a=o;if(a.length===0)throw U();let i=S();if(!i)throw new Error("[toss-ad] Call initialize() before attaching an ad.");if(!i.banner)throw new Error("[toss-ad] Loaded TossAdsSpaceKit does not support banner ads.");let l=typeof t=="string"?document.querySelector(t):t;if(!l)throw new Error(`[toss-ad] Failed to find target element: ${t}`);let g={spaceId:a,autoLoad:!0,theme:r.theme,padding:r.padding,callbacks:le(o,r.callbacks)};i.banner.createSlot(l,g)}catch(a){s(a)}}var ze="16px 20px",$e="20px",je="auto",Ke="blackAndWhite",Je="expanded",h="toss-ads-attach",ie="toss-ads-attach-style",me="data-toss-ads-attach-banner-wrapper",q=\'"Toss Product Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif\';function Xe(e){let t=e.ownerDocument;if(!t||t.getElementById(ie))return;let r=t.createElement("style");r.id=ie,r.textContent=`\n .${h},\n .${h} * {\n font-family: ${q};\n font-style: normal;\n }\n .${h} { background: #ffffff; }\n .${h}.toss-ads-tone-grey { background: #f2f4f7; }\n @media (prefers-color-scheme: dark) {\n .${h} { background: #17171c; }\n .${h}.toss-ads-tone-grey { background: #101013; }\n }\n .${h}.toss-ads-theme-light { background: #ffffff; }\n .${h}.toss-ads-theme-light.toss-ads-tone-grey { background: #f2f4f7; }\n .${h}.toss-ads-theme-dark { background: #17171c; }\n .${h}.toss-ads-theme-dark.toss-ads-tone-grey { background: #101013; }\n `;let n=t.head??t.body??t.documentElement;n&&n.appendChild(r)}function Ye(e){Array.from(e.children).forEach(t=>{t instanceof HTMLElement&&t.getAttribute(me)==="true"&&e.removeChild(t)})}function Ze(e,t,r={}){let{callbacks:n,theme:o=je,tone:s=Ke,variant:a=Je}=r,i=M(e),l=u=>{let f=u instanceof Error?u:new Error(String(u));n?.onAdFailedToRender?.({slotId:"",adGroupId:i,adMetadata:{},error:{code:0,message:f.message}})},g=le(i,n);try{let u=i;if(u.length===0)throw U();let f=S();if(!f)throw new Error("[toss-ad] Call initialize() before attaching an ad.");if(!f.banner)throw new Error("[toss-ad] Loaded TossAdsSpaceKit does not support banner ads.");let R=typeof t=="string"?document.querySelector(t):t;if(!R)throw new Error(`[toss-ad] Failed to find target element: ${t}`);return Re(R,()=>{let m=document.createElement("div");m.style.width="100%",m.style.height="100%",m.style.boxSizing="border-box",m.style.display="flex",m.style.flexDirection="column",m.style.fontFamily=q,m.style.fontStyle="normal",m.style.justifyContent="center",m.style.overflow="hidden",m.setAttribute(me,"true"),a==="card"&&(m.style.padding="0 10px");let w=document.createElement("div");w.classList.add(h),w.style.fontFamily=q,w.style.fontStyle="normal",s==="grey"&&w.classList.add("toss-ads-tone-grey"),o==="light"?w.classList.add("toss-ads-theme-light"):o==="dark"&&w.classList.add("toss-ads-theme-dark"),a==="card"&&(w.style.borderRadius="16px",w.style.overflow="hidden"),m.appendChild(w);let x=!1,W=null;try{Xe(R),Ye(R),R.appendChild(m),x=!0;let O={spaceId:u,autoLoad:!0,theme:o==="auto"?void 0:o,renderPadding:fe=>fe==="1"?ze:$e,callbacks:g};W=f.banner.createSlot(w,O)}catch(O){throw x&&m.parentNode&&m.parentNode.removeChild(m),O}return{destroy(){W?.destroy(),x&&m.parentNode&&m.parentNode.removeChild(m),x=!1}}})}catch(u){return l(u),{destroy(){}}}}function Qe(e){let t=S();t?.banner&&t.banner.destroy(e)}function et(){let e=S();e?.banner&&(e.banner.destroyAll(),Le())}function le(e,t){if(!t)return;let r=n=>{let o={...n??{}};return o.adGroupId=o.adGroupId??o.spaceId??e,delete o.spaceId,o};return{onAdRendered:n=>t.onAdRendered?.(r(n)),onAdViewable:n=>t.onAdViewable?.(r(n)),onAdClicked:n=>t.onAdClicked?.(r(n)),onAdImpression:n=>{Fe({log_name:"display_ads_all::impression__1px_banner",log_type:"event",params:{event_type:"impression",schema_id:1812034,request_id:n?.adMetadata?.requestId??""}}),t.onAdImpression?.(r(n))},onAdFailedToRender:n=>t.onAdFailedToRender?.({...r(n),error:n?.error??{code:0,message:"UNKNOWN"}}),onNoFill:n=>t.onNoFill?.(r(n))}}var Fr={initialize:Object.assign(Ue,{isSupported:_.isSupported}),attach:Object.assign(We,{isSupported:_.isSupported}),attachBanner:Object.assign(Ze,{isSupported:_.isSupported}),destroy:Object.assign(Qe,{isSupported:_.isSupported}),destroyAll:Object.assign(et,{isSupported:_.isSupported})},Gr=Object.assign(c("getServerTime"),{isSupported:p("getServerTime_isSupported")}),Br=Object.assign(c("requestReview"),{isSupported:p("requestReview_isSupported")});var F=class{_log=c("debugLog");log(t,r){try{this._log({log_name:`apps_in_toss_webview_${t}`,log_type:"debug",params:{...r,...this.getCommonParams()}})}catch{}}getCommonParams(){return{...this.getLocationInfo(),...this.getNavigatorInfo(),...this.getScreenInfo(),appName:window.__appsInToss.appName,deploymentId:window.__appsInToss.deploymentId,sessionId:window.__appsInToss.sessionId,isGame:window.__appsInToss.webViewType==="game",timestampMs:Date.now()}}getLocationInfo(){return{url:window.location.href,urlOrigin:window.location.origin,urlHost:window.location.hostname,urlPath:window.location.pathname,urlSearch:window.location.search}}getNavigatorInfo(){return{userAgent:navigator.userAgent,platform:navigator.platform,language:navigator.language,cookieEnabled:navigator.cookieEnabled,hardwareConcurrency:navigator.hardwareConcurrency,deviceMemory:navigator.deviceMemory?navigator.deviceMemory*1024*1024:void 0,maxTouchPoints:navigator.maxTouchPoints}}getScreenInfo(){return{screenWidth:screen.width,screenHeight:screen.height,availableScreenWidth:screen.availWidth,availableScreenHeight:screen.availHeight,devicePixelRatio:window.devicePixelRatio,colorDepth:screen.colorDepth,pixelDepth:screen.pixelDepth,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight}}};var G=class{callbacks={};on(t,r){return typeof this.callbacks[t]>"u"&&(this.callbacks[t]=[]),this.callbacks[t].push(r),()=>{this.callbacks[t]=this.callbacks[t]?.filter(n=>n!==r)??[]}}emit(t,r){this.callbacks[t]?.forEach(n=>n(r))}};window.__appsInToss={appName:p("getAppName")(),deploymentId:p("getDeploymentId")(),webViewType:p("getWebViewType")(),sessionId:Math.random().toString(36).substring(2),eventEmitter:new G,debugLogger:new F};var y=/\\.(data|wasm|framework\\.js)(?:\\.gz|\\.br|\\.unityweb)?$/;function B(e){window.fetch=new Proxy(window.fetch,{apply:e})}(()=>{if(window.__appsInToss.webViewType!=="game"||typeof caches>"u")return;let e="@apps-in-toss/caches/",t=`${e}${window.__appsInToss.deploymentId}`;window.addEventListener("load",async()=>{let r=await caches.keys();for(let n of r)n.startsWith(e)&&n!==t&&await caches.delete(n)}),B(async(r,n,o)=>{let s=new Request(o[0],o[1]);if(!y.test(s.url))return await r.call(n,s);let a=await caches.open(t),i=await a.match(s);if(i){let g=i.headers.get("ETag"),u=i.headers.get("Last-Modified");g&&s.headers.set("If-None-Match",g),u&&s.headers.set("If-Modified-Since",u);let f=await r.call(n,s);return f.status===304?(i.__revalidateResponse=f,i):(a.put(s,f.clone()),f)}let l=await r.call(n,s);return a.put(s,l.clone()),l})})();B(async(e,t,r)=>{let n=new Request(r[0],r[1]),o=Date.now();window.__appsInToss.eventEmitter.emit("fetchRequest",{request:n});try{let s=await e.call(t,n);return window.__appsInToss.eventEmitter.emit("fetchResponse",{request:n,response:s,requestAt:o}),s}catch(s){throw window.__appsInToss.eventEmitter.emit("fetchError",{request:n,requestAt:o,error:s}),s}});HTMLCanvasElement.prototype.getContext=new Proxy(HTMLCanvasElement.prototype.getContext,{apply:(e,t,r)=>{let n=e.apply(t,r);return(n instanceof WebGL2RenderingContext||n instanceof WebGLRenderingContext)&&window.__appsInToss.eventEmitter.emit("webglGetContext",{canvas:t,context:n}),n}});var ge=window.__appsInToss.debugLogger;ge.log("load_start",{});window.addEventListener("load",()=>{let e=performance.timeOrigin,t=performance.getEntriesByType?.("navigation")[0]??null,r=typeof e<"u"&&t!==null,n=r?{navigationStartAtMs:e+t.startTime,navigationRedirectStartAtMs:e+t.redirectStart,navigationRedirectEndAtMs:e+t.redirectEnd,navigationRedirectCount:t.redirectCount,navigationServiceWorkerStartAtMs:e+t.workerStart,navigationFetchStartAtMs:e+t.fetchStart,navigationDomainLookupStartAtMs:e+t.domainLookupStart,navigationDomainLookupEndAtMs:e+t.domainLookupEnd,navigationConnectStartAtMs:e+t.connectStart,navigationSecureConnectStartAtMs:e+t.secureConnectionStart,navigationConnectEndAtMs:e+t.connectEnd,navigationRequestStartAtMs:e+t.requestStart,navigationResponseStartAtMs:e+t.responseStart,navigationResponseEndAtMs:e+t.responseEnd,navigationDomInteractiveAtMs:e+t.domInteractive,navigationDomContentLoadedEventStartAtMs:e+t.domContentLoadedEventStart,navigationDomContentLoadedEventEndAtMs:e+t.domContentLoadedEventEnd,navigationDomCompleteAtMs:e+t.domComplete}:{};ge.log("load_complete",{isNavigationDebugSupported:r,...n})});function T(e,t){return parseFloat(e.toFixed(t))}(()=>{if(typeof performance.memory>"u"||typeof performance.memory.usedJSHeapSize>"u"||typeof performance.memory.totalJSHeapSize>"u"||typeof performance.memory.jsHeapSizeLimit>"u")return;function e(t){window.__appsInToss.debugLogger.log(t,{usedJSHeapSize:T(performance.memory.usedJSHeapSize/1024,2),totalJSHeapSize:T(performance.memory.totalJSHeapSize/1024,2),jsHeapSizeLimit:T(performance.memory.jsHeapSizeLimit/1024,2)})}e("memory_usage_first_0s"),setTimeout(()=>e("memory_usage_first_1s"),1e3),setTimeout(()=>e("memory_usage_first_10s"),1e4),setTimeout(()=>e("memory_usage_first_30s"),3e4),setTimeout(()=>e("memory_usage_first_60s"),6e4),setInterval(()=>e("memory_usage_every_180s"),18e4)})();(()=>{let e=window.__appsInToss.debugLogger,t=performance.timeOrigin;if(typeof t>"u"||typeof PerformanceObserver>"u")return;new PerformanceObserver(o=>{o.getEntries().forEach(a=>{a.name==="first-paint"?e.log("first_paint",{fpStartAtMs:t+a.startTime}):a.name==="first-contentful-paint"&&e.log("first_contentful_paint",{fcpStartAtMs:t+a.startTime})})}).observe({type:"paint"}),new PerformanceObserver(o=>{o.getEntries().forEach(a=>{e.log("largest_contentful_paint",{lcpStartAtMs:t+a.startTime,lcpRenderSize:a.size})})}).observe({type:"largest-contentful-paint"})})();(()=>{if(window.__appsInToss.webViewType!=="game")return;let e=window.__appsInToss.eventEmitter.on("webglGetContext",({canvas:t,context:r})=>{if(t.getAttribute("id")!=="unity-canvas")return;e();let n=r.getExtension("WEBGL_debug_renderer_info"),o=r.getParameter(r.MAX_VIEWPORT_DIMS),s={webGLRenderer:r.getParameter(r.RENDERER),webGLVendor:r.getParameter(r.VENDOR),webGLVersion:r.getParameter(r.VERSION),webGLShadingLanguageVersion:r.getParameter(r.SHADING_LANGUAGE_VERSION),webGLMaxTextureSize:r.getParameter(r.MAX_TEXTURE_SIZE),webGLMaxViewportWidth:o[0],webGLMaxViewportHeight:o[1],webGLMaxRenderbufferSize:r.getParameter(r.MAX_RENDERBUFFER_SIZE)},a=n?{webGLUnmaskedVendor:r.getParameter(n.UNMASKED_VENDOR_WEBGL),webGLUnmaskedRenderer:r.getParameter(n.UNMASKED_RENDERER_WEBGL)}:{};window.__appsInToss.debugLogger.log("unity_webgl_info",{...s,...a})})})();(()=>{if(window.__appsInToss.webViewType!=="game")return;let e=window.__appsInToss.debugLogger,t=window.__appsInToss.eventEmitter;t.on("fetchRequest",({request:n})=>{y.test(n.url)&&e.log("game_resource_download_start",{gameResourceRequestURL:n.url})});function r({request:n,requestAt:o,error:s}){e.log("game_resource_download_error",{gameResourceRequestURL:n.url,gameResourceRequestAtMs:o,gameResourceError:s instanceof Error?s.message:"Unknown Error"})}t.on("fetchResponse",async({request:n,requestAt:o,response:s})=>{if(!y.test(n.url))return;let a=await s.clone().blob().then(l=>T(l.size/1024,2)).catch(l=>(r({request:n,requestAt:o,error:l}),null));if(a===null)return;let i=Date.now();e.log("game_resource_download_end",{gameResourceRequestURL:n.url,gameResourceRequestAtMs:o,gameResourceResponseAtMs:i,gameResourceResponseSize:a,gameResourceResponseStatus:s.__revalidateResponse?.status??s.status,gameResourceDownloadDurationMs:i-o})}),t.on("fetchError",async({request:n,requestAt:o,error:s})=>{y.test(n.url)&&r({request:n,requestAt:o,error:s})})})();var k=[];function tt(){let e=0;function t(r){let n=performance.now();if(r<n-1e3){k.push(e);return}e+=1,window.requestAnimationFrame(()=>t(r))}window.requestAnimationFrame(()=>t(performance.now()))}function rt(){if(k.length===0)return;let e=k;k=[];let t=nt(e).toSorted(),r={};for(let o=0;o<=100;o+=10){let s=t[Math.floor((t.length-1)*(o/100))];s&&(r[`fpsP${o}`]=s)}let n=t.reduce((o,s)=>o+s,0);r.fpsAverage=n/t.length,window.__appsInToss.debugLogger.log("fps_every_300s",r)}function nt(e){let t=new Set(e);return Array.from(t.values())}setInterval(()=>tt(),1e3);setInterval(()=>rt(),3e5);})();\n';
45839
+ t52 = '"use strict";(()=>{var ve=class{get _window(){return typeof window<"u"?window:{ReactNativeWebView:{postMessage:()=>{}},__GRANITE_NATIVE_EMITTER:{on:()=>()=>{}},__CONSTANT_HANDLER_MAP:{}}}postMessage(e){let t=this._window.ReactNativeWebView;if(!t)throw new Error("ReactNativeWebView is not available in browser environment");t.postMessage(JSON.stringify(e))}on(e,t){let r=this._window.__GRANITE_NATIVE_EMITTER;if(!r)throw new Error("__GRANITE_NATIVE_EMITTER is not available");return r.on(e,t)}getConstant(e){let t=this._window.__CONSTANT_HANDLER_MAP;if(t&&e in t)return t[e];throw new Error(`${e} is not a constant handler`)}},E=new ve,z=()=>Math.random().toString(36).substring(2,15),$=e=>{if(e&&e.__isError){let t=new Error(e.message);for(let[r,n]of Object.entries(e))t[r]=n;return t}return e};function d(e){return(...t)=>{let r=z(),n=[],o=()=>{for(let s of n)s()};return new Promise((s,a)=>{n.push(E.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(E.on(`${e}/reject/${r}`,i=>{o(),a($(i))})),E.postMessage({type:"method",functionName:e,eventId:r,args:t})})}}function D(e){return t=>{let r=z(),n=[E.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),E.on(`${e}/onError/${r}`,o=>{t.onError($(o))})];return E.postMessage({type:"addEventListener",functionName:e,eventId:r,args:t.options}),()=>{E.postMessage({type:"removeEventListener",functionName:e,eventId:r}),n.forEach(o=>o())}}}function v(e){return()=>E.getConstant(e)}var he=function(){return{emit:function(t,r){for(var n=this.events[t]||[],o=0,s=n.length;o<s;o++)n[o](r)},events:{},on:function(t,r){var n=this,o,s;return((o=this.events)[s=t]||(o[s]=[])).push(r),function(){var a;n.events[t]=(a=n.events[t])===null||a===void 0?void 0:a.filter(function(i){return r!==i})}}}};typeof window<"u"&&(window.__GRANITE_NATIVE_EMITTER=he());var it=d("closeView"),dt=d("generateHapticFeedback"),ct=d("share"),ut=d("setSecureScreen"),pt=d("setScreenAwakeMode"),mt=d("getNetworkStatus"),lt=d("setIosSwipeGestureEnabled"),gt=d("openURL"),ft=d("openPermissionDialog"),vt=d("getPermission"),ht=d("requestPermission"),wt=v("setClipboardText"),Et=v("getClipboardText"),At=v("fetchContacts"),bt=v("fetchAlbumPhotos"),_t=v("getCurrentLocation"),Ct=v("openCamera"),St=d("appLogin"),It=d("eventLog"),yt=d("getTossShareLink"),Tt=d("setDeviceOrientation"),Rt=d("checkoutPayment"),Lt=d("requestTossPayPaysBilling"),Pt=d("saveBase64Data"),xt=d("openPDFViewer"),Dt=d("fetchAlbumItems"),Nt=d("appsInTossSignTossCert"),Mt=d("getGameCenterGameProfile"),Ft=d("openGameCenterLeaderboard"),Gt=d("submitGameCenterLeaderBoardScore"),Bt=d("getAnonymousKey"),kt=d("getUserKeyForGame"),Ot=d("grantPromotionReward"),Vt=d("grantPromotionRewardForGame"),Ht=d("getIsTossLoginIntegratedService"),Ut=d("getServerTime"),qt=d("getConsentedUserData"),Wt=d("requestReview"),zt=v("getLocale"),$t=v("getSchemeUri"),jt=v("getPlatformOS"),Kt=v("getOperationalEnvironment"),Jt=v("getTossAppVersion"),Xt=v("getDeviceId"),Yt=v("getGroupId"),Zt=D("contactsViral"),Qt=D("startUpdateLocation"),er=D("onVisibilityChangedByTransparentServiceWeb");var S=class extends Error{constructor({methodName:e,message:t}){super(),this.name=`${e} permission error`,this.message=t}},j=class extends S{constructor(){super({methodName:"fetchAlbumPhotos",message:"\\uC0AC\\uC9C4\\uCCA9 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},K=class extends S{constructor(){super({methodName:"fetchContacts",message:"\\uC5F0\\uB77D\\uCC98 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},J=class extends S{constructor(){super({methodName:"openCamera",message:"\\uCE74\\uBA54\\uB77C \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}};var V=class extends S{constructor(){super({methodName:"getCurrentLocation",message:"\\uC704\\uCE58 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},X=V,Y=class extends S{constructor(){super({methodName:"getClipboardText",message:"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC77D\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},Z=class extends S{constructor(){super({methodName:"setClipboardText",message:"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC4F0\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}};var we=class{get _window(){return typeof window<"u"?window:{ReactNativeWebView:{postMessage:()=>{}},__GRANITE_NATIVE_EMITTER:{on:()=>()=>{}},__CONSTANT_HANDLER_MAP:{}}}postMessage(e){let t=this._window.ReactNativeWebView;if(!t)throw new Error("ReactNativeWebView is not available in browser environment");t.postMessage(JSON.stringify(e))}on(e,t){let r=this._window.__GRANITE_NATIVE_EMITTER;if(!r)throw new Error("__GRANITE_NATIVE_EMITTER is not available");return r.on(e,t)}getConstant(e){let t=this._window.__CONSTANT_HANDLER_MAP;if(t&&e in t)return t[e];throw new Error(`${e} is not a constant handler`)}},A=new we,de=()=>Math.random().toString(36).substring(2,15),ce=e=>{if(e&&e.__isError){let t=new Error(e.message);for(let[r,n]of Object.entries(e))t[r]=n;return t}return e};function c(e){return(...t)=>{let r=de(),n=[],o=()=>{for(let s of n)s()};return new Promise((s,a)=>{n.push(A.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(A.on(`${e}/reject/${r}`,i=>{o(),a(ce(i))})),A.postMessage({type:"method",functionName:e,eventId:r,args:t})})}}function b(e){return t=>{let r=de(),n=[A.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),A.on(`${e}/onError/${r}`,o=>{t.onError(ce(o))})];return A.postMessage({type:"addEventListener",functionName:e,eventId:r,args:t.options}),()=>{A.postMessage({type:"removeEventListener",functionName:e,eventId:r}),n.forEach(o=>o())}}}function p(e){return()=>A.getConstant(e)}var ur={getItem:c("getStorageItem"),setItem:c("setStorageItem"),removeItem:c("removeStorageItem"),clearItems:c("clearItems")},Ee=/^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*))?(?:\\+[\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*)?)?)?$/i,Q=e=>["*","x","X"].includes(e),ee=e=>{let t=parseInt(e,10);return isNaN(t)?e:t},Ae=(e,t)=>typeof e==typeof t?[e,t]:[String(e),String(t)],be=(e,t)=>{if(Q(e)||Q(t))return 0;let[r,n]=Ae(ee(e),ee(t));return r>n?1:r<n?-1:0},te=e=>{if(typeof e!="string")throw new TypeError("Invalid argument: expected a string");let t=e.match(Ee);if(!t)throw new Error(`Invalid semver: \'${e}\'`);let[,r,n,o,s,a]=t;return[r,n,o,s,a]},re=(e,t)=>{let r=Math.max(e.length,t.length);for(let n=0;n<r;n++){let o=e[n]??"0",s=t[n]??"0",a=be(o,s);if(a!==0)return a}return 0},_e=(e,t)=>{let r=te(e),n=te(t),o=r.pop(),s=n.pop(),a=re(r,n);return a!==0?a:o&&s?re(o.split("."),s.split(".")):o?-1:s?1:0};function H(e){if(p("getOperationalEnvironment")()==="sandbox")return!0;let r=p("getTossAppVersion")(),o=p("getPlatformOS")()==="ios"?e.ios:e.android;return o===void 0?!1:o==="always"?!0:o==="never"?!1:_e(r,o)>=0}function ne(e){return c("processProductGrant")(e)}var pr={createOneTimePurchaseOrder:e=>{let t=H({android:"5.219.0",ios:"5.219.0"}),r=()=>{};if(!t)return r;let n=H({android:"5.231.1",ios:"5.230.0"}),{options:o,onEvent:s,onError:a}=e,i=o.sku??o.productId;return n?b("requestOneTimePurchase")({options:{sku:i},onEvent:async g=>{if(g.type==="purchased"){let u=await o.processProductGrant({orderId:g.data.orderId});await ne({orderId:g.data.orderId,isProductGranted:u}).catch(a)}else s(g)},onError:g=>{a(g)}}):(c("iapCreateOneTimePurchaseOrder")({productId:i}).then(u=>{Promise.resolve(o.processProductGrant({orderId:u.orderId})).then(()=>{s({type:"success",data:u})}).catch(f=>{a(f)})}).catch(u=>{a(u)}),r)},createSubscriptionPurchaseOrder:e=>{let t=H({android:"5.248.0",ios:"5.249.0"}),r=()=>{};if(!t)return r;let{options:n,onEvent:o,onError:s}=e,{sku:a,offerId:i,processProductGrant:l}=n;return b("requestSubscriptionPurchase")({options:{sku:a,offerId:i??null},onEvent:async u=>{if(u.type==="purchased"){let f=await l({orderId:u.data.orderId,subscriptionId:u.data.subscriptionId});await ne({orderId:u.data.orderId,isProductGranted:f}).catch(s)}else o(u)},onError:u=>{s(u)}})},getProductItemList:c("iapGetProductItemList"),getPendingOrders:c("getPendingOrders"),getCompletedOrRefundedOrders:c("getCompletedOrRefundedOrders"),completeProductGrant:c("completeProductGrant"),getSubscriptionInfo:c("getSubscriptionInfo")},mr=p("getSafeAreaInsets");var lr=p("getSafeAreaInsets");var gr={loadAppsInTossAdMob:Object.assign(b("loadAppsInTossAdMob"),{isSupported:p("loadAppsInTossAdMob_isSupported")}),showAppsInTossAdMob:Object.assign(b("showAppsInTossAdMob"),{isSupported:p("showAppsInTossAdMob_isSupported")}),isAppsInTossAdMobLoaded:Object.assign(c("isAppsInTossAdMobLoaded"),{isSupported:p("isAppsInTossAdMobLoaded_isSupported")})};var fr={getDeploymentId:p("getDeploymentId")},vr=p("deploymentId"),hr=p("brandDisplayName"),wr=p("brandIcon"),Er=p("brandPrimaryColor");var Ar={addAccessoryButton:c("addAccessoryButton"),removeAccessoryButton:c("removeAccessoryButton")},Ce=c("requestPermission"),Se=c("getPermission"),Ie=c("openPermissionDialog");function I({permission:e,handler:t,error:r}){let n=async(...o)=>{if(await Ce(e)==="denied")throw new r;return t(...o)};return n.getPermission=()=>Se(e),n.openPermissionDialog=()=>Ie(e),n}var _r=I({handler:e=>c("fetchAlbumPhotos")(e),permission:{name:"photos",access:"read"},error:j}),Sr=I({handler:e=>c("fetchContacts")(e),permission:{name:"contacts",access:"read"},error:K}),yr=I({handler:e=>c("getCurrentLocation")(e),permission:{name:"geolocation",access:"access"},error:V}),Rr=I({handler:e=>c("openCamera")(e),permission:{name:"camera",access:"access"},error:J}),Pr=I({handler:e=>c("setClipboardText")(e),permission:{name:"clipboard",access:"write"},error:Z}),Dr=I({handler:()=>c("getClipboardText")(),permission:{name:"clipboard",access:"read"},error:Y}),ye=c("getPermission"),Te=c("openPermissionDialog"),ue=e=>b("updateLocationEvent")({...e,onError:t=>{let r=new X;return t instanceof Error&&t.name===r.name?e.onError(r):e.onError(t)}});ue.getPermission=()=>ye({name:"geolocation",access:"access"});ue.openPermissionDialog=()=>Te({name:"geolocation",access:"access"});var Mr=Object.assign(b("loadFullScreenAd"),{isSupported:p("loadFullScreenAd_isSupported")}),Fr=Object.assign(b("showFullScreenAd"),{isSupported:p("showFullScreenAd_isSupported")}),P=new WeakMap;function Re(e,t){let r=P.get(e);if(r)return r;let n=t(),o=!1,s={destroy(){o||(o=!0,P.get(e)===s&&P.delete(e),n.destroy())}};return P.set(e,s),s}function Le(){P=new WeakMap}var Pe=c("openURL");function xe(e){let t=De(e);return Pe(t)}function De(e){return["http://","https://"].some(r=>e.startsWith(r))?Ne(e):e}function Ne(e){return`supertoss://web?url=${encodeURIComponent(e)}&external=true`}var oe="https://static.toss.im/ads/sdk/toss-ads-space-kit-1.3.0.js",se=15e3,N=null;function C(){if(!(typeof window>"u"))return window.TossAdsSpaceKit}function Me(){if(typeof window>"u"||typeof document>"u")return Promise.reject(new Error("Ads SDK can only be loaded in a browser environment."));let e=C();if(e)return Promise.resolve(e);if(N)return N;let t=new Promise((r,n)=>{let o=document.createElement("script"),s=()=>{o.removeEventListener("load",a),o.removeEventListener("error",i),window.clearTimeout(l),N=null},a=()=>{let g=C();if(g){s(),r(g);return}s(),n(new Error("Ads SDK script loaded but window.TossAdsSpaceKit was not exposed."))},i=()=>{s(),n(new Error(`Failed to load Ads SDK script from ${oe}.`))},l=window.setTimeout(()=>{s(),n(new Error(`Loading Ads SDK timed out after ${se}ms.`))},se);o.addEventListener("load",a),o.addEventListener("error",i),o.async=!0,o.src=oe,document.head.appendChild(o)});return N=t,t}var _=Object.assign(b("fetchTossAd"),{isSupported:p("fetchTossAd_isSupported")}),Fe=c("tossAdEventLog"),Ge=new Set(["1","2"]),pe="\\uC798\\uBABB\\uB41C \\uC694\\uCCAD\\uC774\\uC5D0\\uC694. \\uD544\\uC694\\uD55C \\uAC12\\uC774 \\uBE44\\uC5B4 \\uC788\\uC5B4\\uC694.";function M(e){return e.trim()}function q(){return new Error(pe)}function Be(){return{resultType:"FAIL",error:{reason:pe}}}function ke(e){return new Promise((t,r)=>{if(!_.isSupported()){r(new Error("fetchTossAd is not supported in this environment."));return}let n=M(e.adGroupId);if(n.length===0){r(q());return}return _({options:{...e,adGroupId:n},onEvent:t,onError:r})})}function ae(e){let t=Array.isArray(e.ads)?e.ads.filter(r=>Ge.has(String(r.styleId))):[];return{requestId:e.requestId??"",status:e.status??"OK",ads:t,ext:e.ext}}function Oe(e){return Ve(e)?e.resultType!=="SUCCESS"?e:e.success?{...e,success:ae(e.success)}:{resultType:"FAIL",error:{reason:"fetchTossAd returned SUCCESS without payload"}}:He(e)?{resultType:"SUCCESS",success:ae(e)}:{resultType:"FAIL",error:{reason:"Invalid response from fetchTossAd"}}}function Ve(e){return!!(e&&typeof e=="object"&&"resultType"in e)}function He(e){return!!(e&&typeof e=="object"&&"ads"in e)}function Ue(){return async(e,t)=>{let r=M(t.spaceUnitId);if(r.length===0)return Be();try{let n=await ke({adGroupId:r,sdkId:"108",availableStyleIds:["1","2"]});return Oe(n)}catch(n){return{resultType:"FAIL",error:{reason:n instanceof Error?n.message:"Unknown fetchTossAd error"}}}}}var L=null;function qe(e){let{callbacks:t}=e,r=()=>t?.onInitialized?.(),n=a=>{let i=a instanceof Error?a:new Error(String(a));t?.onInitializationFailed?.(i)};if(C()?.isInitialized()){r();return}if(L!=null){L.then(r).catch(n);return}let s=Me().then(a=>{if(a.isInitialized())return;let l={environment:"live",customAdFetcher:Ue(),opener:xe};a.init(l)});L=s,s.then(r).catch(n).finally(()=>{L===s&&(L=null)})}function We(e,t,r={}){let{callbacks:n}=r,o=M(e),s=a=>{let i=a instanceof Error?a:new Error(String(a));n?.onAdFailedToRender?.({slotId:"",adGroupId:o,adMetadata:{},error:{code:0,message:i.message}})};try{let a=o;if(a.length===0)throw q();let i=C();if(!i)throw new Error("[toss-ad] Call initialize() before attaching an ad.");if(!i.banner)throw new Error("[toss-ad] Loaded TossAdsSpaceKit does not support banner ads.");let l=typeof t=="string"?document.querySelector(t):t;if(!l)throw new Error(`[toss-ad] Failed to find target element: ${t}`);let g={spaceId:a,autoLoad:!0,theme:r.theme,padding:r.padding,callbacks:le(o,r.callbacks)};i.banner.createSlot(l,g)}catch(a){s(a)}}var ze="16px 20px",$e="20px",je="auto",Ke="blackAndWhite",Je="expanded",h="toss-ads-attach",ie="toss-ads-attach-style",me="data-toss-ads-attach-banner-wrapper",U=\'"Toss Product Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif\';function Xe(e){let t=e.ownerDocument;if(!t||t.getElementById(ie))return;let r=t.createElement("style");r.id=ie,r.textContent=`\n .${h},\n .${h} * {\n font-family: ${U};\n font-style: normal;\n }\n .${h} { background: #ffffff; }\n .${h}.toss-ads-tone-grey { background: #f2f4f7; }\n @media (prefers-color-scheme: dark) {\n .${h} { background: #17171c; }\n .${h}.toss-ads-tone-grey { background: #101013; }\n }\n .${h}.toss-ads-theme-light { background: #ffffff; }\n .${h}.toss-ads-theme-light.toss-ads-tone-grey { background: #f2f4f7; }\n .${h}.toss-ads-theme-dark { background: #17171c; }\n .${h}.toss-ads-theme-dark.toss-ads-tone-grey { background: #101013; }\n `;let n=t.head??t.body??t.documentElement;n&&n.appendChild(r)}function Ye(e){Array.from(e.children).forEach(t=>{t instanceof HTMLElement&&t.getAttribute(me)==="true"&&e.removeChild(t)})}function Ze(e,t,r={}){let{callbacks:n,theme:o=je,tone:s=Ke,variant:a=Je}=r,i=M(e),l=u=>{let f=u instanceof Error?u:new Error(String(u));n?.onAdFailedToRender?.({slotId:"",adGroupId:i,adMetadata:{},error:{code:0,message:f.message}})},g=le(i,n);try{let u=i;if(u.length===0)throw q();let f=C();if(!f)throw new Error("[toss-ad] Call initialize() before attaching an ad.");if(!f.banner)throw new Error("[toss-ad] Loaded TossAdsSpaceKit does not support banner ads.");let R=typeof t=="string"?document.querySelector(t):t;if(!R)throw new Error(`[toss-ad] Failed to find target element: ${t}`);return Re(R,()=>{let m=document.createElement("div");m.style.width="100%",m.style.height="100%",m.style.boxSizing="border-box",m.style.display="flex",m.style.flexDirection="column",m.style.fontFamily=U,m.style.fontStyle="normal",m.style.justifyContent="center",m.style.overflow="hidden",m.setAttribute(me,"true"),a==="card"&&(m.style.padding="0 10px");let w=document.createElement("div");w.classList.add(h),w.style.fontFamily=U,w.style.fontStyle="normal",s==="grey"&&w.classList.add("toss-ads-tone-grey"),o==="light"?w.classList.add("toss-ads-theme-light"):o==="dark"&&w.classList.add("toss-ads-theme-dark"),a==="card"&&(w.style.borderRadius="16px",w.style.overflow="hidden"),m.appendChild(w);let x=!1,W=null;try{Xe(R),Ye(R),R.appendChild(m),x=!0;let O={spaceId:u,autoLoad:!0,theme:o==="auto"?void 0:o,renderPadding:fe=>fe==="1"?ze:$e,callbacks:g};W=f.banner.createSlot(w,O)}catch(O){throw x&&m.parentNode&&m.parentNode.removeChild(m),O}return{destroy(){W?.destroy(),x&&m.parentNode&&m.parentNode.removeChild(m),x=!1}}})}catch(u){return l(u),{destroy(){}}}}function Qe(e){let t=C();t?.banner&&t.banner.destroy(e)}function et(){let e=C();e?.banner&&(e.banner.destroyAll(),Le())}function le(e,t){if(!t)return;let r=n=>{let o={...n??{}};return o.adGroupId=o.adGroupId??o.spaceId??e,delete o.spaceId,o};return{onAdRendered:n=>t.onAdRendered?.(r(n)),onAdViewable:n=>t.onAdViewable?.(r(n)),onAdClicked:n=>t.onAdClicked?.(r(n)),onAdImpression:n=>{Fe({log_name:"display_ads_all::impression__1px_banner",log_type:"event",params:{event_type:"impression",schema_id:1812034,request_id:n?.adMetadata?.requestId??""}}),t.onAdImpression?.(r(n))},onAdFailedToRender:n=>t.onAdFailedToRender?.({...r(n),error:n?.error??{code:0,message:"UNKNOWN"}}),onNoFill:n=>t.onNoFill?.(r(n))}}var Gr={initialize:Object.assign(qe,{isSupported:_.isSupported}),attach:Object.assign(We,{isSupported:_.isSupported}),attachBanner:Object.assign(Ze,{isSupported:_.isSupported}),destroy:Object.assign(Qe,{isSupported:_.isSupported}),destroyAll:Object.assign(et,{isSupported:_.isSupported})},Br=Object.assign(c("getServerTime"),{isSupported:p("getServerTime_isSupported")}),kr=Object.assign(c("requestReview"),{isSupported:p("requestReview_isSupported")});var F=class{_log=c("debugLog");log(t,r){try{this._log({log_name:`apps_in_toss_webview_${t}`,log_type:"debug",params:{...r,...this.getCommonParams()}})}catch{}}getCommonParams(){return{...this.getLocationInfo(),...this.getNavigatorInfo(),...this.getScreenInfo(),appName:window.__appsInToss.appName,deploymentId:window.__appsInToss.deploymentId,sessionId:window.__appsInToss.sessionId,isGame:window.__appsInToss.webViewType==="game",timestampMs:Date.now()}}getLocationInfo(){return{url:window.location.href,urlOrigin:window.location.origin,urlHost:window.location.hostname,urlPath:window.location.pathname,urlSearch:window.location.search}}getNavigatorInfo(){return{userAgent:navigator.userAgent,platform:navigator.platform,language:navigator.language,cookieEnabled:navigator.cookieEnabled,hardwareConcurrency:navigator.hardwareConcurrency,deviceMemory:navigator.deviceMemory?navigator.deviceMemory*1024*1024:void 0,maxTouchPoints:navigator.maxTouchPoints}}getScreenInfo(){return{screenWidth:screen.width,screenHeight:screen.height,availableScreenWidth:screen.availWidth,availableScreenHeight:screen.availHeight,devicePixelRatio:window.devicePixelRatio,colorDepth:screen.colorDepth,pixelDepth:screen.pixelDepth,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight}}};var G=class{callbacks={};on(t,r){return typeof this.callbacks[t]>"u"&&(this.callbacks[t]=[]),this.callbacks[t].push(r),()=>{this.callbacks[t]=this.callbacks[t]?.filter(n=>n!==r)??[]}}emit(t,r){this.callbacks[t]?.forEach(n=>n(r))}};window.__appsInToss={appName:p("getAppName")(),deploymentId:p("getDeploymentId")(),webViewType:p("getWebViewType")(),sessionId:Math.random().toString(36).substring(2),eventEmitter:new G,debugLogger:new F};var y=/\\.(data|wasm|framework\\.js)(?:\\.gz|\\.br|\\.unityweb)?$/;function B(e){window.fetch=new Proxy(window.fetch,{apply:e})}(()=>{if(window.__appsInToss.webViewType!=="game"||typeof caches>"u")return;let e="@apps-in-toss/caches/",t=`${e}${window.__appsInToss.deploymentId}`;window.addEventListener("load",async()=>{let r=await caches.keys();for(let n of r)n.startsWith(e)&&n!==t&&await caches.delete(n)}),B(async(r,n,o)=>{let s=new Request(o[0],o[1]);if(!y.test(s.url))return await r.call(n,s);let a=await caches.open(t),i=await a.match(s);if(i){let g=i.headers.get("ETag"),u=i.headers.get("Last-Modified");g&&s.headers.set("If-None-Match",g),u&&s.headers.set("If-Modified-Since",u);let f=await r.call(n,s);return f.status===304?(i.__revalidateResponse=f,i):(a.put(s,f.clone()),f)}let l=await r.call(n,s);return a.put(s,l.clone()),l})})();B(async(e,t,r)=>{let n=new Request(r[0],r[1]),o=Date.now();window.__appsInToss.eventEmitter.emit("fetchRequest",{request:n});try{let s=await e.call(t,n);return window.__appsInToss.eventEmitter.emit("fetchResponse",{request:n,response:s,requestAt:o}),s}catch(s){throw window.__appsInToss.eventEmitter.emit("fetchError",{request:n,requestAt:o,error:s}),s}});HTMLCanvasElement.prototype.getContext=new Proxy(HTMLCanvasElement.prototype.getContext,{apply:(e,t,r)=>{let n=e.apply(t,r);return(n instanceof WebGL2RenderingContext||n instanceof WebGLRenderingContext)&&window.__appsInToss.eventEmitter.emit("webglGetContext",{canvas:t,context:n}),n}});var ge=window.__appsInToss.debugLogger;ge.log("load_start",{});window.addEventListener("load",()=>{let e=performance.timeOrigin,t=performance.getEntriesByType?.("navigation")[0]??null,r=typeof e<"u"&&t!==null,n=r?{navigationStartAtMs:e+t.startTime,navigationRedirectStartAtMs:e+t.redirectStart,navigationRedirectEndAtMs:e+t.redirectEnd,navigationRedirectCount:t.redirectCount,navigationServiceWorkerStartAtMs:e+t.workerStart,navigationFetchStartAtMs:e+t.fetchStart,navigationDomainLookupStartAtMs:e+t.domainLookupStart,navigationDomainLookupEndAtMs:e+t.domainLookupEnd,navigationConnectStartAtMs:e+t.connectStart,navigationSecureConnectStartAtMs:e+t.secureConnectionStart,navigationConnectEndAtMs:e+t.connectEnd,navigationRequestStartAtMs:e+t.requestStart,navigationResponseStartAtMs:e+t.responseStart,navigationResponseEndAtMs:e+t.responseEnd,navigationDomInteractiveAtMs:e+t.domInteractive,navigationDomContentLoadedEventStartAtMs:e+t.domContentLoadedEventStart,navigationDomContentLoadedEventEndAtMs:e+t.domContentLoadedEventEnd,navigationDomCompleteAtMs:e+t.domComplete}:{};ge.log("load_complete",{isNavigationDebugSupported:r,...n})});function T(e,t){return parseFloat(e.toFixed(t))}(()=>{if(typeof performance.memory>"u"||typeof performance.memory.usedJSHeapSize>"u"||typeof performance.memory.totalJSHeapSize>"u"||typeof performance.memory.jsHeapSizeLimit>"u")return;function e(t){window.__appsInToss.debugLogger.log(t,{usedJSHeapSize:T(performance.memory.usedJSHeapSize/1024,2),totalJSHeapSize:T(performance.memory.totalJSHeapSize/1024,2),jsHeapSizeLimit:T(performance.memory.jsHeapSizeLimit/1024,2)})}e("memory_usage_first_0s"),setTimeout(()=>e("memory_usage_first_1s"),1e3),setTimeout(()=>e("memory_usage_first_10s"),1e4),setTimeout(()=>e("memory_usage_first_30s"),3e4),setTimeout(()=>e("memory_usage_first_60s"),6e4),setInterval(()=>e("memory_usage_every_180s"),18e4)})();(()=>{let e=window.__appsInToss.debugLogger,t=performance.timeOrigin;if(typeof t>"u"||typeof PerformanceObserver>"u")return;new PerformanceObserver(o=>{o.getEntries().forEach(a=>{a.name==="first-paint"?e.log("first_paint",{fpStartAtMs:t+a.startTime}):a.name==="first-contentful-paint"&&e.log("first_contentful_paint",{fcpStartAtMs:t+a.startTime})})}).observe({type:"paint"}),new PerformanceObserver(o=>{o.getEntries().forEach(a=>{e.log("largest_contentful_paint",{lcpStartAtMs:t+a.startTime,lcpRenderSize:a.size})})}).observe({type:"largest-contentful-paint"})})();(()=>{if(window.__appsInToss.webViewType!=="game")return;let e=window.__appsInToss.eventEmitter.on("webglGetContext",({canvas:t,context:r})=>{if(t.getAttribute("id")!=="unity-canvas")return;e();let n=r.getExtension("WEBGL_debug_renderer_info"),o=r.getParameter(r.MAX_VIEWPORT_DIMS),s={webGLRenderer:r.getParameter(r.RENDERER),webGLVendor:r.getParameter(r.VENDOR),webGLVersion:r.getParameter(r.VERSION),webGLShadingLanguageVersion:r.getParameter(r.SHADING_LANGUAGE_VERSION),webGLMaxTextureSize:r.getParameter(r.MAX_TEXTURE_SIZE),webGLMaxViewportWidth:o[0],webGLMaxViewportHeight:o[1],webGLMaxRenderbufferSize:r.getParameter(r.MAX_RENDERBUFFER_SIZE)},a=n?{webGLUnmaskedVendor:r.getParameter(n.UNMASKED_VENDOR_WEBGL),webGLUnmaskedRenderer:r.getParameter(n.UNMASKED_RENDERER_WEBGL)}:{};window.__appsInToss.debugLogger.log("unity_webgl_info",{...s,...a})})})();(()=>{if(window.__appsInToss.webViewType!=="game")return;let e=window.__appsInToss.debugLogger,t=window.__appsInToss.eventEmitter;t.on("fetchRequest",({request:n})=>{y.test(n.url)&&e.log("game_resource_download_start",{gameResourceRequestURL:n.url})});function r({request:n,requestAt:o,error:s}){e.log("game_resource_download_error",{gameResourceRequestURL:n.url,gameResourceRequestAtMs:o,gameResourceError:s instanceof Error?s.message:"Unknown Error"})}t.on("fetchResponse",async({request:n,requestAt:o,response:s})=>{if(!y.test(n.url))return;let a=await s.clone().blob().then(l=>T(l.size/1024,2)).catch(l=>(r({request:n,requestAt:o,error:l}),null));if(a===null)return;let i=Date.now();e.log("game_resource_download_end",{gameResourceRequestURL:n.url,gameResourceRequestAtMs:o,gameResourceResponseAtMs:i,gameResourceResponseSize:a,gameResourceResponseStatus:s.__revalidateResponse?.status??s.status,gameResourceDownloadDurationMs:i-o})}),t.on("fetchError",async({request:n,requestAt:o,error:s})=>{y.test(n.url)&&r({request:n,requestAt:o,error:s})})})();var k=[];function tt(){let e=0;function t(r){let n=performance.now();if(r<n-1e3){k.push(e);return}e+=1,window.requestAnimationFrame(()=>t(r))}window.requestAnimationFrame(()=>t(performance.now()))}function rt(){if(k.length===0)return;let e=k;k=[];let t=nt(e).toSorted(),r={};for(let o=0;o<=100;o+=10){let s=t[Math.floor((t.length-1)*(o/100))];s&&(r[`fpsP${o}`]=s)}let n=t.reduce((o,s)=>o+s,0);r.fpsAverage=n/t.length,window.__appsInToss.debugLogger.log("fps_every_300s",r)}function nt(e){let t=new Set(e);return Array.from(t.values())}setInterval(()=>tt(),1e3);setInterval(()=>rt(),3e5);})();\n';
45803
45840
  }
45804
45841
  });
45805
45842
 
@@ -43854,6 +43854,38 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
43854
43854
  }
43855
43855
  });
43856
43856
 
43857
+ // ../../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-e56741e8de/1/packages/apps-in-toss/native-modules/src/MiniAppModule/native-modules/getConsentedUserData.ts
43858
+ function getConsentedUserData(options) {
43859
+ return _async_to_generator(function() {
43860
+ var isSupported;
43861
+ return __generator(this, function(_state) {
43862
+ isSupported = isMinVersionSupported2({
43863
+ ios: "5.264.0",
43864
+ android: "5.264.0"
43865
+ });
43866
+ if (!isSupported) {
43867
+ return [
43868
+ 2,
43869
+ void 0
43870
+ ];
43871
+ }
43872
+ return [
43873
+ 2,
43874
+ safePostMessage2("getConsentedUserData", options)
43875
+ ];
43876
+ });
43877
+ })();
43878
+ }
43879
+ var init_getConsentedUserData = __esm({
43880
+ "../../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-e56741e8de/1/packages/apps-in-toss/native-modules/src/MiniAppModule/native-modules/getConsentedUserData.ts"() {
43881
+ "use strict";
43882
+ init_async_to_generator();
43883
+ init_ts_generator();
43884
+ init_isMinVersionSupported();
43885
+ init_natives2();
43886
+ }
43887
+ });
43888
+
43857
43889
  // ../../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-e56741e8de/1/packages/apps-in-toss/native-modules/src/MiniAppModule/native-modules/requestReview.ts
43858
43890
  function requestReview2() {
43859
43891
  return _async_to_generator(function() {
@@ -43932,6 +43964,9 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
43932
43964
  getClipboardText: function() {
43933
43965
  return getClipboardText2;
43934
43966
  },
43967
+ getConsentedUserData: function() {
43968
+ return getConsentedUserData;
43969
+ },
43935
43970
  getCurrentLocation: function() {
43936
43971
  return getCurrentLocation2;
43937
43972
  },
@@ -44050,6 +44085,7 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
44050
44085
  init_grantPromotionRewardForGame();
44051
44086
  init_getIsTossLoginIntegratedService();
44052
44087
  init_getServerTime();
44088
+ init_getConsentedUserData();
44053
44089
  init_requestReview();
44054
44090
  }
44055
44091
  });
@@ -44756,6 +44792,7 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
44756
44792
  init_getGroupId();
44757
44793
  init_shareWithScheme();
44758
44794
  init_getServerTime();
44795
+ init_getConsentedUserData();
44759
44796
  init_requestReview();
44760
44797
  init_requestNotificationAgreement();
44761
44798
  init_checkoutPayment();
@@ -44816,7 +44853,7 @@ var global=typeof globalThis!=='undefined'?globalThis:typeof global!=='undefined
44816
44853
  "../user-scripts/dist/index.mjs"() {
44817
44854
  "use strict";
44818
44855
  e63 = '"use strict";(()=>{var e=document.createElement("style");e.textContent=`\n*:not(input):not(textarea) {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-touch-callout: none;\n}\n`;document.head.appendChild(e);})();\n';
44819
- t52 = '"use strict";(()=>{var ve=class{get _window(){return typeof window<"u"?window:{ReactNativeWebView:{postMessage:()=>{}},__GRANITE_NATIVE_EMITTER:{on:()=>()=>{}},__CONSTANT_HANDLER_MAP:{}}}postMessage(e){let t=this._window.ReactNativeWebView;if(!t)throw new Error("ReactNativeWebView is not available in browser environment");t.postMessage(JSON.stringify(e))}on(e,t){let r=this._window.__GRANITE_NATIVE_EMITTER;if(!r)throw new Error("__GRANITE_NATIVE_EMITTER is not available");return r.on(e,t)}getConstant(e){let t=this._window.__CONSTANT_HANDLER_MAP;if(t&&e in t)return t[e];throw new Error(`${e} is not a constant handler`)}},E=new ve,z=()=>Math.random().toString(36).substring(2,15),$=e=>{if(e&&e.__isError){let t=new Error(e.message);for(let[r,n]of Object.entries(e))t[r]=n;return t}return e};function d(e){return(...t)=>{let r=z(),n=[],o=()=>{for(let s of n)s()};return new Promise((s,a)=>{n.push(E.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(E.on(`${e}/reject/${r}`,i=>{o(),a($(i))})),E.postMessage({type:"method",functionName:e,eventId:r,args:t})})}}function D(e){return t=>{let r=z(),n=[E.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),E.on(`${e}/onError/${r}`,o=>{t.onError($(o))})];return E.postMessage({type:"addEventListener",functionName:e,eventId:r,args:t.options}),()=>{E.postMessage({type:"removeEventListener",functionName:e,eventId:r}),n.forEach(o=>o())}}}function v(e){return()=>E.getConstant(e)}var he=function(){return{emit:function(t,r){for(var n=this.events[t]||[],o=0,s=n.length;o<s;o++)n[o](r)},events:{},on:function(t,r){var n=this,o,s;return((o=this.events)[s=t]||(o[s]=[])).push(r),function(){var a;n.events[t]=(a=n.events[t])===null||a===void 0?void 0:a.filter(function(i){return r!==i})}}}};typeof window<"u"&&(window.__GRANITE_NATIVE_EMITTER=he());var it=d("closeView"),dt=d("generateHapticFeedback"),ct=d("share"),ut=d("setSecureScreen"),pt=d("setScreenAwakeMode"),mt=d("getNetworkStatus"),lt=d("setIosSwipeGestureEnabled"),gt=d("openURL"),ft=d("openPermissionDialog"),vt=d("getPermission"),ht=d("requestPermission"),wt=v("setClipboardText"),Et=v("getClipboardText"),At=v("fetchContacts"),bt=v("fetchAlbumPhotos"),_t=v("getCurrentLocation"),St=v("openCamera"),Ct=d("appLogin"),It=d("eventLog"),yt=d("getTossShareLink"),Tt=d("setDeviceOrientation"),Rt=d("checkoutPayment"),Lt=d("requestTossPayPaysBilling"),Pt=d("saveBase64Data"),xt=d("openPDFViewer"),Dt=d("fetchAlbumItems"),Nt=d("appsInTossSignTossCert"),Mt=d("getGameCenterGameProfile"),Ft=d("openGameCenterLeaderboard"),Gt=d("submitGameCenterLeaderBoardScore"),Bt=d("getAnonymousKey"),kt=d("getUserKeyForGame"),Ot=d("grantPromotionReward"),Vt=d("grantPromotionRewardForGame"),Ht=d("getIsTossLoginIntegratedService"),qt=d("getServerTime"),Ut=d("requestReview"),Wt=v("getLocale"),zt=v("getSchemeUri"),$t=v("getPlatformOS"),jt=v("getOperationalEnvironment"),Kt=v("getTossAppVersion"),Jt=v("getDeviceId"),Xt=v("getGroupId"),Yt=D("contactsViral"),Zt=D("startUpdateLocation"),Qt=D("onVisibilityChangedByTransparentServiceWeb");var C=class extends Error{constructor({methodName:e,message:t}){super(),this.name=`${e} permission error`,this.message=t}},j=class extends C{constructor(){super({methodName:"fetchAlbumPhotos",message:"\\uC0AC\\uC9C4\\uCCA9 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},K=class extends C{constructor(){super({methodName:"fetchContacts",message:"\\uC5F0\\uB77D\\uCC98 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},J=class extends C{constructor(){super({methodName:"openCamera",message:"\\uCE74\\uBA54\\uB77C \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}};var V=class extends C{constructor(){super({methodName:"getCurrentLocation",message:"\\uC704\\uCE58 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},X=V,Y=class extends C{constructor(){super({methodName:"getClipboardText",message:"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC77D\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},Z=class extends C{constructor(){super({methodName:"setClipboardText",message:"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC4F0\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}};var we=class{get _window(){return typeof window<"u"?window:{ReactNativeWebView:{postMessage:()=>{}},__GRANITE_NATIVE_EMITTER:{on:()=>()=>{}},__CONSTANT_HANDLER_MAP:{}}}postMessage(e){let t=this._window.ReactNativeWebView;if(!t)throw new Error("ReactNativeWebView is not available in browser environment");t.postMessage(JSON.stringify(e))}on(e,t){let r=this._window.__GRANITE_NATIVE_EMITTER;if(!r)throw new Error("__GRANITE_NATIVE_EMITTER is not available");return r.on(e,t)}getConstant(e){let t=this._window.__CONSTANT_HANDLER_MAP;if(t&&e in t)return t[e];throw new Error(`${e} is not a constant handler`)}},A=new we,de=()=>Math.random().toString(36).substring(2,15),ce=e=>{if(e&&e.__isError){let t=new Error(e.message);for(let[r,n]of Object.entries(e))t[r]=n;return t}return e};function c(e){return(...t)=>{let r=de(),n=[],o=()=>{for(let s of n)s()};return new Promise((s,a)=>{n.push(A.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(A.on(`${e}/reject/${r}`,i=>{o(),a(ce(i))})),A.postMessage({type:"method",functionName:e,eventId:r,args:t})})}}function b(e){return t=>{let r=de(),n=[A.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),A.on(`${e}/onError/${r}`,o=>{t.onError(ce(o))})];return A.postMessage({type:"addEventListener",functionName:e,eventId:r,args:t.options}),()=>{A.postMessage({type:"removeEventListener",functionName:e,eventId:r}),n.forEach(o=>o())}}}function p(e){return()=>A.getConstant(e)}var cr={getItem:c("getStorageItem"),setItem:c("setStorageItem"),removeItem:c("removeStorageItem"),clearItems:c("clearItems")},Ee=/^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*))?(?:\\+[\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*)?)?)?$/i,Q=e=>["*","x","X"].includes(e),ee=e=>{let t=parseInt(e,10);return isNaN(t)?e:t},Ae=(e,t)=>typeof e==typeof t?[e,t]:[String(e),String(t)],be=(e,t)=>{if(Q(e)||Q(t))return 0;let[r,n]=Ae(ee(e),ee(t));return r>n?1:r<n?-1:0},te=e=>{if(typeof e!="string")throw new TypeError("Invalid argument: expected a string");let t=e.match(Ee);if(!t)throw new Error(`Invalid semver: \'${e}\'`);let[,r,n,o,s,a]=t;return[r,n,o,s,a]},re=(e,t)=>{let r=Math.max(e.length,t.length);for(let n=0;n<r;n++){let o=e[n]??"0",s=t[n]??"0",a=be(o,s);if(a!==0)return a}return 0},_e=(e,t)=>{let r=te(e),n=te(t),o=r.pop(),s=n.pop(),a=re(r,n);return a!==0?a:o&&s?re(o.split("."),s.split(".")):o?-1:s?1:0};function H(e){if(p("getOperationalEnvironment")()==="sandbox")return!0;let r=p("getTossAppVersion")(),o=p("getPlatformOS")()==="ios"?e.ios:e.android;return o===void 0?!1:o==="always"?!0:o==="never"?!1:_e(r,o)>=0}function ne(e){return c("processProductGrant")(e)}var ur={createOneTimePurchaseOrder:e=>{let t=H({android:"5.219.0",ios:"5.219.0"}),r=()=>{};if(!t)return r;let n=H({android:"5.231.1",ios:"5.230.0"}),{options:o,onEvent:s,onError:a}=e,i=o.sku??o.productId;return n?b("requestOneTimePurchase")({options:{sku:i},onEvent:async g=>{if(g.type==="purchased"){let u=await o.processProductGrant({orderId:g.data.orderId});await ne({orderId:g.data.orderId,isProductGranted:u}).catch(a)}else s(g)},onError:g=>{a(g)}}):(c("iapCreateOneTimePurchaseOrder")({productId:i}).then(u=>{Promise.resolve(o.processProductGrant({orderId:u.orderId})).then(()=>{s({type:"success",data:u})}).catch(f=>{a(f)})}).catch(u=>{a(u)}),r)},createSubscriptionPurchaseOrder:e=>{let t=H({android:"5.248.0",ios:"5.249.0"}),r=()=>{};if(!t)return r;let{options:n,onEvent:o,onError:s}=e,{sku:a,offerId:i,processProductGrant:l}=n;return b("requestSubscriptionPurchase")({options:{sku:a,offerId:i??null},onEvent:async u=>{if(u.type==="purchased"){let f=await l({orderId:u.data.orderId,subscriptionId:u.data.subscriptionId});await ne({orderId:u.data.orderId,isProductGranted:f}).catch(s)}else o(u)},onError:u=>{s(u)}})},getProductItemList:c("iapGetProductItemList"),getPendingOrders:c("getPendingOrders"),getCompletedOrRefundedOrders:c("getCompletedOrRefundedOrders"),completeProductGrant:c("completeProductGrant"),getSubscriptionInfo:c("getSubscriptionInfo")},pr=p("getSafeAreaInsets");var mr=p("getSafeAreaInsets");var lr={loadAppsInTossAdMob:Object.assign(b("loadAppsInTossAdMob"),{isSupported:p("loadAppsInTossAdMob_isSupported")}),showAppsInTossAdMob:Object.assign(b("showAppsInTossAdMob"),{isSupported:p("showAppsInTossAdMob_isSupported")}),isAppsInTossAdMobLoaded:Object.assign(c("isAppsInTossAdMobLoaded"),{isSupported:p("isAppsInTossAdMobLoaded_isSupported")})};var gr={getDeploymentId:p("getDeploymentId")},fr=p("deploymentId"),vr=p("brandDisplayName"),hr=p("brandIcon"),wr=p("brandPrimaryColor");var Er={addAccessoryButton:c("addAccessoryButton"),removeAccessoryButton:c("removeAccessoryButton")},Se=c("requestPermission"),Ce=c("getPermission"),Ie=c("openPermissionDialog");function I({permission:e,handler:t,error:r}){let n=async(...o)=>{if(await Se(e)==="denied")throw new r;return t(...o)};return n.getPermission=()=>Ce(e),n.openPermissionDialog=()=>Ie(e),n}var br=I({handler:e=>c("fetchAlbumPhotos")(e),permission:{name:"photos",access:"read"},error:j}),Sr=I({handler:e=>c("fetchContacts")(e),permission:{name:"contacts",access:"read"},error:K}),Ir=I({handler:e=>c("getCurrentLocation")(e),permission:{name:"geolocation",access:"access"},error:V}),Tr=I({handler:e=>c("openCamera")(e),permission:{name:"camera",access:"access"},error:J}),Lr=I({handler:e=>c("setClipboardText")(e),permission:{name:"clipboard",access:"write"},error:Z}),xr=I({handler:()=>c("getClipboardText")(),permission:{name:"clipboard",access:"read"},error:Y}),ye=c("getPermission"),Te=c("openPermissionDialog"),ue=e=>b("updateLocationEvent")({...e,onError:t=>{let r=new X;return t instanceof Error&&t.name===r.name?e.onError(r):e.onError(t)}});ue.getPermission=()=>ye({name:"geolocation",access:"access"});ue.openPermissionDialog=()=>Te({name:"geolocation",access:"access"});var Nr=Object.assign(b("loadFullScreenAd"),{isSupported:p("loadFullScreenAd_isSupported")}),Mr=Object.assign(b("showFullScreenAd"),{isSupported:p("showFullScreenAd_isSupported")}),P=new WeakMap;function Re(e,t){let r=P.get(e);if(r)return r;let n=t(),o=!1,s={destroy(){o||(o=!0,P.get(e)===s&&P.delete(e),n.destroy())}};return P.set(e,s),s}function Le(){P=new WeakMap}var Pe=c("openURL");function xe(e){let t=De(e);return Pe(t)}function De(e){return["http://","https://"].some(r=>e.startsWith(r))?Ne(e):e}function Ne(e){return`supertoss://web?url=${encodeURIComponent(e)}&external=true`}var oe="https://static.toss.im/ads/sdk/toss-ads-space-kit-1.3.0.js",se=15e3,N=null;function S(){if(!(typeof window>"u"))return window.TossAdsSpaceKit}function Me(){if(typeof window>"u"||typeof document>"u")return Promise.reject(new Error("Ads SDK can only be loaded in a browser environment."));let e=S();if(e)return Promise.resolve(e);if(N)return N;let t=new Promise((r,n)=>{let o=document.createElement("script"),s=()=>{o.removeEventListener("load",a),o.removeEventListener("error",i),window.clearTimeout(l),N=null},a=()=>{let g=S();if(g){s(),r(g);return}s(),n(new Error("Ads SDK script loaded but window.TossAdsSpaceKit was not exposed."))},i=()=>{s(),n(new Error(`Failed to load Ads SDK script from ${oe}.`))},l=window.setTimeout(()=>{s(),n(new Error(`Loading Ads SDK timed out after ${se}ms.`))},se);o.addEventListener("load",a),o.addEventListener("error",i),o.async=!0,o.src=oe,document.head.appendChild(o)});return N=t,t}var _=Object.assign(b("fetchTossAd"),{isSupported:p("fetchTossAd_isSupported")}),Fe=c("tossAdEventLog"),Ge=new Set(["1","2"]),pe="\\uC798\\uBABB\\uB41C \\uC694\\uCCAD\\uC774\\uC5D0\\uC694. \\uD544\\uC694\\uD55C \\uAC12\\uC774 \\uBE44\\uC5B4 \\uC788\\uC5B4\\uC694.";function M(e){return e.trim()}function U(){return new Error(pe)}function Be(){return{resultType:"FAIL",error:{reason:pe}}}function ke(e){return new Promise((t,r)=>{if(!_.isSupported()){r(new Error("fetchTossAd is not supported in this environment."));return}let n=M(e.adGroupId);if(n.length===0){r(U());return}return _({options:{...e,adGroupId:n},onEvent:t,onError:r})})}function ae(e){let t=Array.isArray(e.ads)?e.ads.filter(r=>Ge.has(String(r.styleId))):[];return{requestId:e.requestId??"",status:e.status??"OK",ads:t,ext:e.ext}}function Oe(e){return Ve(e)?e.resultType!=="SUCCESS"?e:e.success?{...e,success:ae(e.success)}:{resultType:"FAIL",error:{reason:"fetchTossAd returned SUCCESS without payload"}}:He(e)?{resultType:"SUCCESS",success:ae(e)}:{resultType:"FAIL",error:{reason:"Invalid response from fetchTossAd"}}}function Ve(e){return!!(e&&typeof e=="object"&&"resultType"in e)}function He(e){return!!(e&&typeof e=="object"&&"ads"in e)}function qe(){return async(e,t)=>{let r=M(t.spaceUnitId);if(r.length===0)return Be();try{let n=await ke({adGroupId:r,sdkId:"108",availableStyleIds:["1","2"]});return Oe(n)}catch(n){return{resultType:"FAIL",error:{reason:n instanceof Error?n.message:"Unknown fetchTossAd error"}}}}}var L=null;function Ue(e){let{callbacks:t}=e,r=()=>t?.onInitialized?.(),n=a=>{let i=a instanceof Error?a:new Error(String(a));t?.onInitializationFailed?.(i)};if(S()?.isInitialized()){r();return}if(L!=null){L.then(r).catch(n);return}let s=Me().then(a=>{if(a.isInitialized())return;let l={environment:"live",customAdFetcher:qe(),opener:xe};a.init(l)});L=s,s.then(r).catch(n).finally(()=>{L===s&&(L=null)})}function We(e,t,r={}){let{callbacks:n}=r,o=M(e),s=a=>{let i=a instanceof Error?a:new Error(String(a));n?.onAdFailedToRender?.({slotId:"",adGroupId:o,adMetadata:{},error:{code:0,message:i.message}})};try{let a=o;if(a.length===0)throw U();let i=S();if(!i)throw new Error("[toss-ad] Call initialize() before attaching an ad.");if(!i.banner)throw new Error("[toss-ad] Loaded TossAdsSpaceKit does not support banner ads.");let l=typeof t=="string"?document.querySelector(t):t;if(!l)throw new Error(`[toss-ad] Failed to find target element: ${t}`);let g={spaceId:a,autoLoad:!0,theme:r.theme,padding:r.padding,callbacks:le(o,r.callbacks)};i.banner.createSlot(l,g)}catch(a){s(a)}}var ze="16px 20px",$e="20px",je="auto",Ke="blackAndWhite",Je="expanded",h="toss-ads-attach",ie="toss-ads-attach-style",me="data-toss-ads-attach-banner-wrapper",q=\'"Toss Product Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif\';function Xe(e){let t=e.ownerDocument;if(!t||t.getElementById(ie))return;let r=t.createElement("style");r.id=ie,r.textContent=`\n .${h},\n .${h} * {\n font-family: ${q};\n font-style: normal;\n }\n .${h} { background: #ffffff; }\n .${h}.toss-ads-tone-grey { background: #f2f4f7; }\n @media (prefers-color-scheme: dark) {\n .${h} { background: #17171c; }\n .${h}.toss-ads-tone-grey { background: #101013; }\n }\n .${h}.toss-ads-theme-light { background: #ffffff; }\n .${h}.toss-ads-theme-light.toss-ads-tone-grey { background: #f2f4f7; }\n .${h}.toss-ads-theme-dark { background: #17171c; }\n .${h}.toss-ads-theme-dark.toss-ads-tone-grey { background: #101013; }\n `;let n=t.head??t.body??t.documentElement;n&&n.appendChild(r)}function Ye(e){Array.from(e.children).forEach(t=>{t instanceof HTMLElement&&t.getAttribute(me)==="true"&&e.removeChild(t)})}function Ze(e,t,r={}){let{callbacks:n,theme:o=je,tone:s=Ke,variant:a=Je}=r,i=M(e),l=u=>{let f=u instanceof Error?u:new Error(String(u));n?.onAdFailedToRender?.({slotId:"",adGroupId:i,adMetadata:{},error:{code:0,message:f.message}})},g=le(i,n);try{let u=i;if(u.length===0)throw U();let f=S();if(!f)throw new Error("[toss-ad] Call initialize() before attaching an ad.");if(!f.banner)throw new Error("[toss-ad] Loaded TossAdsSpaceKit does not support banner ads.");let R=typeof t=="string"?document.querySelector(t):t;if(!R)throw new Error(`[toss-ad] Failed to find target element: ${t}`);return Re(R,()=>{let m=document.createElement("div");m.style.width="100%",m.style.height="100%",m.style.boxSizing="border-box",m.style.display="flex",m.style.flexDirection="column",m.style.fontFamily=q,m.style.fontStyle="normal",m.style.justifyContent="center",m.style.overflow="hidden",m.setAttribute(me,"true"),a==="card"&&(m.style.padding="0 10px");let w=document.createElement("div");w.classList.add(h),w.style.fontFamily=q,w.style.fontStyle="normal",s==="grey"&&w.classList.add("toss-ads-tone-grey"),o==="light"?w.classList.add("toss-ads-theme-light"):o==="dark"&&w.classList.add("toss-ads-theme-dark"),a==="card"&&(w.style.borderRadius="16px",w.style.overflow="hidden"),m.appendChild(w);let x=!1,W=null;try{Xe(R),Ye(R),R.appendChild(m),x=!0;let O={spaceId:u,autoLoad:!0,theme:o==="auto"?void 0:o,renderPadding:fe=>fe==="1"?ze:$e,callbacks:g};W=f.banner.createSlot(w,O)}catch(O){throw x&&m.parentNode&&m.parentNode.removeChild(m),O}return{destroy(){W?.destroy(),x&&m.parentNode&&m.parentNode.removeChild(m),x=!1}}})}catch(u){return l(u),{destroy(){}}}}function Qe(e){let t=S();t?.banner&&t.banner.destroy(e)}function et(){let e=S();e?.banner&&(e.banner.destroyAll(),Le())}function le(e,t){if(!t)return;let r=n=>{let o={...n??{}};return o.adGroupId=o.adGroupId??o.spaceId??e,delete o.spaceId,o};return{onAdRendered:n=>t.onAdRendered?.(r(n)),onAdViewable:n=>t.onAdViewable?.(r(n)),onAdClicked:n=>t.onAdClicked?.(r(n)),onAdImpression:n=>{Fe({log_name:"display_ads_all::impression__1px_banner",log_type:"event",params:{event_type:"impression",schema_id:1812034,request_id:n?.adMetadata?.requestId??""}}),t.onAdImpression?.(r(n))},onAdFailedToRender:n=>t.onAdFailedToRender?.({...r(n),error:n?.error??{code:0,message:"UNKNOWN"}}),onNoFill:n=>t.onNoFill?.(r(n))}}var Fr={initialize:Object.assign(Ue,{isSupported:_.isSupported}),attach:Object.assign(We,{isSupported:_.isSupported}),attachBanner:Object.assign(Ze,{isSupported:_.isSupported}),destroy:Object.assign(Qe,{isSupported:_.isSupported}),destroyAll:Object.assign(et,{isSupported:_.isSupported})},Gr=Object.assign(c("getServerTime"),{isSupported:p("getServerTime_isSupported")}),Br=Object.assign(c("requestReview"),{isSupported:p("requestReview_isSupported")});var F=class{_log=c("debugLog");log(t,r){try{this._log({log_name:`apps_in_toss_webview_${t}`,log_type:"debug",params:{...r,...this.getCommonParams()}})}catch{}}getCommonParams(){return{...this.getLocationInfo(),...this.getNavigatorInfo(),...this.getScreenInfo(),appName:window.__appsInToss.appName,deploymentId:window.__appsInToss.deploymentId,sessionId:window.__appsInToss.sessionId,isGame:window.__appsInToss.webViewType==="game",timestampMs:Date.now()}}getLocationInfo(){return{url:window.location.href,urlOrigin:window.location.origin,urlHost:window.location.hostname,urlPath:window.location.pathname,urlSearch:window.location.search}}getNavigatorInfo(){return{userAgent:navigator.userAgent,platform:navigator.platform,language:navigator.language,cookieEnabled:navigator.cookieEnabled,hardwareConcurrency:navigator.hardwareConcurrency,deviceMemory:navigator.deviceMemory?navigator.deviceMemory*1024*1024:void 0,maxTouchPoints:navigator.maxTouchPoints}}getScreenInfo(){return{screenWidth:screen.width,screenHeight:screen.height,availableScreenWidth:screen.availWidth,availableScreenHeight:screen.availHeight,devicePixelRatio:window.devicePixelRatio,colorDepth:screen.colorDepth,pixelDepth:screen.pixelDepth,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight}}};var G=class{callbacks={};on(t,r){return typeof this.callbacks[t]>"u"&&(this.callbacks[t]=[]),this.callbacks[t].push(r),()=>{this.callbacks[t]=this.callbacks[t]?.filter(n=>n!==r)??[]}}emit(t,r){this.callbacks[t]?.forEach(n=>n(r))}};window.__appsInToss={appName:p("getAppName")(),deploymentId:p("getDeploymentId")(),webViewType:p("getWebViewType")(),sessionId:Math.random().toString(36).substring(2),eventEmitter:new G,debugLogger:new F};var y=/\\.(data|wasm|framework\\.js)(?:\\.gz|\\.br|\\.unityweb)?$/;function B(e){window.fetch=new Proxy(window.fetch,{apply:e})}(()=>{if(window.__appsInToss.webViewType!=="game"||typeof caches>"u")return;let e="@apps-in-toss/caches/",t=`${e}${window.__appsInToss.deploymentId}`;window.addEventListener("load",async()=>{let r=await caches.keys();for(let n of r)n.startsWith(e)&&n!==t&&await caches.delete(n)}),B(async(r,n,o)=>{let s=new Request(o[0],o[1]);if(!y.test(s.url))return await r.call(n,s);let a=await caches.open(t),i=await a.match(s);if(i){let g=i.headers.get("ETag"),u=i.headers.get("Last-Modified");g&&s.headers.set("If-None-Match",g),u&&s.headers.set("If-Modified-Since",u);let f=await r.call(n,s);return f.status===304?(i.__revalidateResponse=f,i):(a.put(s,f.clone()),f)}let l=await r.call(n,s);return a.put(s,l.clone()),l})})();B(async(e,t,r)=>{let n=new Request(r[0],r[1]),o=Date.now();window.__appsInToss.eventEmitter.emit("fetchRequest",{request:n});try{let s=await e.call(t,n);return window.__appsInToss.eventEmitter.emit("fetchResponse",{request:n,response:s,requestAt:o}),s}catch(s){throw window.__appsInToss.eventEmitter.emit("fetchError",{request:n,requestAt:o,error:s}),s}});HTMLCanvasElement.prototype.getContext=new Proxy(HTMLCanvasElement.prototype.getContext,{apply:(e,t,r)=>{let n=e.apply(t,r);return(n instanceof WebGL2RenderingContext||n instanceof WebGLRenderingContext)&&window.__appsInToss.eventEmitter.emit("webglGetContext",{canvas:t,context:n}),n}});var ge=window.__appsInToss.debugLogger;ge.log("load_start",{});window.addEventListener("load",()=>{let e=performance.timeOrigin,t=performance.getEntriesByType?.("navigation")[0]??null,r=typeof e<"u"&&t!==null,n=r?{navigationStartAtMs:e+t.startTime,navigationRedirectStartAtMs:e+t.redirectStart,navigationRedirectEndAtMs:e+t.redirectEnd,navigationRedirectCount:t.redirectCount,navigationServiceWorkerStartAtMs:e+t.workerStart,navigationFetchStartAtMs:e+t.fetchStart,navigationDomainLookupStartAtMs:e+t.domainLookupStart,navigationDomainLookupEndAtMs:e+t.domainLookupEnd,navigationConnectStartAtMs:e+t.connectStart,navigationSecureConnectStartAtMs:e+t.secureConnectionStart,navigationConnectEndAtMs:e+t.connectEnd,navigationRequestStartAtMs:e+t.requestStart,navigationResponseStartAtMs:e+t.responseStart,navigationResponseEndAtMs:e+t.responseEnd,navigationDomInteractiveAtMs:e+t.domInteractive,navigationDomContentLoadedEventStartAtMs:e+t.domContentLoadedEventStart,navigationDomContentLoadedEventEndAtMs:e+t.domContentLoadedEventEnd,navigationDomCompleteAtMs:e+t.domComplete}:{};ge.log("load_complete",{isNavigationDebugSupported:r,...n})});function T(e,t){return parseFloat(e.toFixed(t))}(()=>{if(typeof performance.memory>"u"||typeof performance.memory.usedJSHeapSize>"u"||typeof performance.memory.totalJSHeapSize>"u"||typeof performance.memory.jsHeapSizeLimit>"u")return;function e(t){window.__appsInToss.debugLogger.log(t,{usedJSHeapSize:T(performance.memory.usedJSHeapSize/1024,2),totalJSHeapSize:T(performance.memory.totalJSHeapSize/1024,2),jsHeapSizeLimit:T(performance.memory.jsHeapSizeLimit/1024,2)})}e("memory_usage_first_0s"),setTimeout(()=>e("memory_usage_first_1s"),1e3),setTimeout(()=>e("memory_usage_first_10s"),1e4),setTimeout(()=>e("memory_usage_first_30s"),3e4),setTimeout(()=>e("memory_usage_first_60s"),6e4),setInterval(()=>e("memory_usage_every_180s"),18e4)})();(()=>{let e=window.__appsInToss.debugLogger,t=performance.timeOrigin;if(typeof t>"u"||typeof PerformanceObserver>"u")return;new PerformanceObserver(o=>{o.getEntries().forEach(a=>{a.name==="first-paint"?e.log("first_paint",{fpStartAtMs:t+a.startTime}):a.name==="first-contentful-paint"&&e.log("first_contentful_paint",{fcpStartAtMs:t+a.startTime})})}).observe({type:"paint"}),new PerformanceObserver(o=>{o.getEntries().forEach(a=>{e.log("largest_contentful_paint",{lcpStartAtMs:t+a.startTime,lcpRenderSize:a.size})})}).observe({type:"largest-contentful-paint"})})();(()=>{if(window.__appsInToss.webViewType!=="game")return;let e=window.__appsInToss.eventEmitter.on("webglGetContext",({canvas:t,context:r})=>{if(t.getAttribute("id")!=="unity-canvas")return;e();let n=r.getExtension("WEBGL_debug_renderer_info"),o=r.getParameter(r.MAX_VIEWPORT_DIMS),s={webGLRenderer:r.getParameter(r.RENDERER),webGLVendor:r.getParameter(r.VENDOR),webGLVersion:r.getParameter(r.VERSION),webGLShadingLanguageVersion:r.getParameter(r.SHADING_LANGUAGE_VERSION),webGLMaxTextureSize:r.getParameter(r.MAX_TEXTURE_SIZE),webGLMaxViewportWidth:o[0],webGLMaxViewportHeight:o[1],webGLMaxRenderbufferSize:r.getParameter(r.MAX_RENDERBUFFER_SIZE)},a=n?{webGLUnmaskedVendor:r.getParameter(n.UNMASKED_VENDOR_WEBGL),webGLUnmaskedRenderer:r.getParameter(n.UNMASKED_RENDERER_WEBGL)}:{};window.__appsInToss.debugLogger.log("unity_webgl_info",{...s,...a})})})();(()=>{if(window.__appsInToss.webViewType!=="game")return;let e=window.__appsInToss.debugLogger,t=window.__appsInToss.eventEmitter;t.on("fetchRequest",({request:n})=>{y.test(n.url)&&e.log("game_resource_download_start",{gameResourceRequestURL:n.url})});function r({request:n,requestAt:o,error:s}){e.log("game_resource_download_error",{gameResourceRequestURL:n.url,gameResourceRequestAtMs:o,gameResourceError:s instanceof Error?s.message:"Unknown Error"})}t.on("fetchResponse",async({request:n,requestAt:o,response:s})=>{if(!y.test(n.url))return;let a=await s.clone().blob().then(l=>T(l.size/1024,2)).catch(l=>(r({request:n,requestAt:o,error:l}),null));if(a===null)return;let i=Date.now();e.log("game_resource_download_end",{gameResourceRequestURL:n.url,gameResourceRequestAtMs:o,gameResourceResponseAtMs:i,gameResourceResponseSize:a,gameResourceResponseStatus:s.__revalidateResponse?.status??s.status,gameResourceDownloadDurationMs:i-o})}),t.on("fetchError",async({request:n,requestAt:o,error:s})=>{y.test(n.url)&&r({request:n,requestAt:o,error:s})})})();var k=[];function tt(){let e=0;function t(r){let n=performance.now();if(r<n-1e3){k.push(e);return}e+=1,window.requestAnimationFrame(()=>t(r))}window.requestAnimationFrame(()=>t(performance.now()))}function rt(){if(k.length===0)return;let e=k;k=[];let t=nt(e).toSorted(),r={};for(let o=0;o<=100;o+=10){let s=t[Math.floor((t.length-1)*(o/100))];s&&(r[`fpsP${o}`]=s)}let n=t.reduce((o,s)=>o+s,0);r.fpsAverage=n/t.length,window.__appsInToss.debugLogger.log("fps_every_300s",r)}function nt(e){let t=new Set(e);return Array.from(t.values())}setInterval(()=>tt(),1e3);setInterval(()=>rt(),3e5);})();\n';
44856
+ t52 = '"use strict";(()=>{var ve=class{get _window(){return typeof window<"u"?window:{ReactNativeWebView:{postMessage:()=>{}},__GRANITE_NATIVE_EMITTER:{on:()=>()=>{}},__CONSTANT_HANDLER_MAP:{}}}postMessage(e){let t=this._window.ReactNativeWebView;if(!t)throw new Error("ReactNativeWebView is not available in browser environment");t.postMessage(JSON.stringify(e))}on(e,t){let r=this._window.__GRANITE_NATIVE_EMITTER;if(!r)throw new Error("__GRANITE_NATIVE_EMITTER is not available");return r.on(e,t)}getConstant(e){let t=this._window.__CONSTANT_HANDLER_MAP;if(t&&e in t)return t[e];throw new Error(`${e} is not a constant handler`)}},E=new ve,z=()=>Math.random().toString(36).substring(2,15),$=e=>{if(e&&e.__isError){let t=new Error(e.message);for(let[r,n]of Object.entries(e))t[r]=n;return t}return e};function d(e){return(...t)=>{let r=z(),n=[],o=()=>{for(let s of n)s()};return new Promise((s,a)=>{n.push(E.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(E.on(`${e}/reject/${r}`,i=>{o(),a($(i))})),E.postMessage({type:"method",functionName:e,eventId:r,args:t})})}}function D(e){return t=>{let r=z(),n=[E.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),E.on(`${e}/onError/${r}`,o=>{t.onError($(o))})];return E.postMessage({type:"addEventListener",functionName:e,eventId:r,args:t.options}),()=>{E.postMessage({type:"removeEventListener",functionName:e,eventId:r}),n.forEach(o=>o())}}}function v(e){return()=>E.getConstant(e)}var he=function(){return{emit:function(t,r){for(var n=this.events[t]||[],o=0,s=n.length;o<s;o++)n[o](r)},events:{},on:function(t,r){var n=this,o,s;return((o=this.events)[s=t]||(o[s]=[])).push(r),function(){var a;n.events[t]=(a=n.events[t])===null||a===void 0?void 0:a.filter(function(i){return r!==i})}}}};typeof window<"u"&&(window.__GRANITE_NATIVE_EMITTER=he());var it=d("closeView"),dt=d("generateHapticFeedback"),ct=d("share"),ut=d("setSecureScreen"),pt=d("setScreenAwakeMode"),mt=d("getNetworkStatus"),lt=d("setIosSwipeGestureEnabled"),gt=d("openURL"),ft=d("openPermissionDialog"),vt=d("getPermission"),ht=d("requestPermission"),wt=v("setClipboardText"),Et=v("getClipboardText"),At=v("fetchContacts"),bt=v("fetchAlbumPhotos"),_t=v("getCurrentLocation"),Ct=v("openCamera"),St=d("appLogin"),It=d("eventLog"),yt=d("getTossShareLink"),Tt=d("setDeviceOrientation"),Rt=d("checkoutPayment"),Lt=d("requestTossPayPaysBilling"),Pt=d("saveBase64Data"),xt=d("openPDFViewer"),Dt=d("fetchAlbumItems"),Nt=d("appsInTossSignTossCert"),Mt=d("getGameCenterGameProfile"),Ft=d("openGameCenterLeaderboard"),Gt=d("submitGameCenterLeaderBoardScore"),Bt=d("getAnonymousKey"),kt=d("getUserKeyForGame"),Ot=d("grantPromotionReward"),Vt=d("grantPromotionRewardForGame"),Ht=d("getIsTossLoginIntegratedService"),Ut=d("getServerTime"),qt=d("getConsentedUserData"),Wt=d("requestReview"),zt=v("getLocale"),$t=v("getSchemeUri"),jt=v("getPlatformOS"),Kt=v("getOperationalEnvironment"),Jt=v("getTossAppVersion"),Xt=v("getDeviceId"),Yt=v("getGroupId"),Zt=D("contactsViral"),Qt=D("startUpdateLocation"),er=D("onVisibilityChangedByTransparentServiceWeb");var S=class extends Error{constructor({methodName:e,message:t}){super(),this.name=`${e} permission error`,this.message=t}},j=class extends S{constructor(){super({methodName:"fetchAlbumPhotos",message:"\\uC0AC\\uC9C4\\uCCA9 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},K=class extends S{constructor(){super({methodName:"fetchContacts",message:"\\uC5F0\\uB77D\\uCC98 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},J=class extends S{constructor(){super({methodName:"openCamera",message:"\\uCE74\\uBA54\\uB77C \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}};var V=class extends S{constructor(){super({methodName:"getCurrentLocation",message:"\\uC704\\uCE58 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},X=V,Y=class extends S{constructor(){super({methodName:"getClipboardText",message:"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC77D\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},Z=class extends S{constructor(){super({methodName:"setClipboardText",message:"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC4F0\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}};var we=class{get _window(){return typeof window<"u"?window:{ReactNativeWebView:{postMessage:()=>{}},__GRANITE_NATIVE_EMITTER:{on:()=>()=>{}},__CONSTANT_HANDLER_MAP:{}}}postMessage(e){let t=this._window.ReactNativeWebView;if(!t)throw new Error("ReactNativeWebView is not available in browser environment");t.postMessage(JSON.stringify(e))}on(e,t){let r=this._window.__GRANITE_NATIVE_EMITTER;if(!r)throw new Error("__GRANITE_NATIVE_EMITTER is not available");return r.on(e,t)}getConstant(e){let t=this._window.__CONSTANT_HANDLER_MAP;if(t&&e in t)return t[e];throw new Error(`${e} is not a constant handler`)}},A=new we,de=()=>Math.random().toString(36).substring(2,15),ce=e=>{if(e&&e.__isError){let t=new Error(e.message);for(let[r,n]of Object.entries(e))t[r]=n;return t}return e};function c(e){return(...t)=>{let r=de(),n=[],o=()=>{for(let s of n)s()};return new Promise((s,a)=>{n.push(A.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(A.on(`${e}/reject/${r}`,i=>{o(),a(ce(i))})),A.postMessage({type:"method",functionName:e,eventId:r,args:t})})}}function b(e){return t=>{let r=de(),n=[A.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),A.on(`${e}/onError/${r}`,o=>{t.onError(ce(o))})];return A.postMessage({type:"addEventListener",functionName:e,eventId:r,args:t.options}),()=>{A.postMessage({type:"removeEventListener",functionName:e,eventId:r}),n.forEach(o=>o())}}}function p(e){return()=>A.getConstant(e)}var ur={getItem:c("getStorageItem"),setItem:c("setStorageItem"),removeItem:c("removeStorageItem"),clearItems:c("clearItems")},Ee=/^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*))?(?:\\+[\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*)?)?)?$/i,Q=e=>["*","x","X"].includes(e),ee=e=>{let t=parseInt(e,10);return isNaN(t)?e:t},Ae=(e,t)=>typeof e==typeof t?[e,t]:[String(e),String(t)],be=(e,t)=>{if(Q(e)||Q(t))return 0;let[r,n]=Ae(ee(e),ee(t));return r>n?1:r<n?-1:0},te=e=>{if(typeof e!="string")throw new TypeError("Invalid argument: expected a string");let t=e.match(Ee);if(!t)throw new Error(`Invalid semver: \'${e}\'`);let[,r,n,o,s,a]=t;return[r,n,o,s,a]},re=(e,t)=>{let r=Math.max(e.length,t.length);for(let n=0;n<r;n++){let o=e[n]??"0",s=t[n]??"0",a=be(o,s);if(a!==0)return a}return 0},_e=(e,t)=>{let r=te(e),n=te(t),o=r.pop(),s=n.pop(),a=re(r,n);return a!==0?a:o&&s?re(o.split("."),s.split(".")):o?-1:s?1:0};function H(e){if(p("getOperationalEnvironment")()==="sandbox")return!0;let r=p("getTossAppVersion")(),o=p("getPlatformOS")()==="ios"?e.ios:e.android;return o===void 0?!1:o==="always"?!0:o==="never"?!1:_e(r,o)>=0}function ne(e){return c("processProductGrant")(e)}var pr={createOneTimePurchaseOrder:e=>{let t=H({android:"5.219.0",ios:"5.219.0"}),r=()=>{};if(!t)return r;let n=H({android:"5.231.1",ios:"5.230.0"}),{options:o,onEvent:s,onError:a}=e,i=o.sku??o.productId;return n?b("requestOneTimePurchase")({options:{sku:i},onEvent:async g=>{if(g.type==="purchased"){let u=await o.processProductGrant({orderId:g.data.orderId});await ne({orderId:g.data.orderId,isProductGranted:u}).catch(a)}else s(g)},onError:g=>{a(g)}}):(c("iapCreateOneTimePurchaseOrder")({productId:i}).then(u=>{Promise.resolve(o.processProductGrant({orderId:u.orderId})).then(()=>{s({type:"success",data:u})}).catch(f=>{a(f)})}).catch(u=>{a(u)}),r)},createSubscriptionPurchaseOrder:e=>{let t=H({android:"5.248.0",ios:"5.249.0"}),r=()=>{};if(!t)return r;let{options:n,onEvent:o,onError:s}=e,{sku:a,offerId:i,processProductGrant:l}=n;return b("requestSubscriptionPurchase")({options:{sku:a,offerId:i??null},onEvent:async u=>{if(u.type==="purchased"){let f=await l({orderId:u.data.orderId,subscriptionId:u.data.subscriptionId});await ne({orderId:u.data.orderId,isProductGranted:f}).catch(s)}else o(u)},onError:u=>{s(u)}})},getProductItemList:c("iapGetProductItemList"),getPendingOrders:c("getPendingOrders"),getCompletedOrRefundedOrders:c("getCompletedOrRefundedOrders"),completeProductGrant:c("completeProductGrant"),getSubscriptionInfo:c("getSubscriptionInfo")},mr=p("getSafeAreaInsets");var lr=p("getSafeAreaInsets");var gr={loadAppsInTossAdMob:Object.assign(b("loadAppsInTossAdMob"),{isSupported:p("loadAppsInTossAdMob_isSupported")}),showAppsInTossAdMob:Object.assign(b("showAppsInTossAdMob"),{isSupported:p("showAppsInTossAdMob_isSupported")}),isAppsInTossAdMobLoaded:Object.assign(c("isAppsInTossAdMobLoaded"),{isSupported:p("isAppsInTossAdMobLoaded_isSupported")})};var fr={getDeploymentId:p("getDeploymentId")},vr=p("deploymentId"),hr=p("brandDisplayName"),wr=p("brandIcon"),Er=p("brandPrimaryColor");var Ar={addAccessoryButton:c("addAccessoryButton"),removeAccessoryButton:c("removeAccessoryButton")},Ce=c("requestPermission"),Se=c("getPermission"),Ie=c("openPermissionDialog");function I({permission:e,handler:t,error:r}){let n=async(...o)=>{if(await Ce(e)==="denied")throw new r;return t(...o)};return n.getPermission=()=>Se(e),n.openPermissionDialog=()=>Ie(e),n}var _r=I({handler:e=>c("fetchAlbumPhotos")(e),permission:{name:"photos",access:"read"},error:j}),Sr=I({handler:e=>c("fetchContacts")(e),permission:{name:"contacts",access:"read"},error:K}),yr=I({handler:e=>c("getCurrentLocation")(e),permission:{name:"geolocation",access:"access"},error:V}),Rr=I({handler:e=>c("openCamera")(e),permission:{name:"camera",access:"access"},error:J}),Pr=I({handler:e=>c("setClipboardText")(e),permission:{name:"clipboard",access:"write"},error:Z}),Dr=I({handler:()=>c("getClipboardText")(),permission:{name:"clipboard",access:"read"},error:Y}),ye=c("getPermission"),Te=c("openPermissionDialog"),ue=e=>b("updateLocationEvent")({...e,onError:t=>{let r=new X;return t instanceof Error&&t.name===r.name?e.onError(r):e.onError(t)}});ue.getPermission=()=>ye({name:"geolocation",access:"access"});ue.openPermissionDialog=()=>Te({name:"geolocation",access:"access"});var Mr=Object.assign(b("loadFullScreenAd"),{isSupported:p("loadFullScreenAd_isSupported")}),Fr=Object.assign(b("showFullScreenAd"),{isSupported:p("showFullScreenAd_isSupported")}),P=new WeakMap;function Re(e,t){let r=P.get(e);if(r)return r;let n=t(),o=!1,s={destroy(){o||(o=!0,P.get(e)===s&&P.delete(e),n.destroy())}};return P.set(e,s),s}function Le(){P=new WeakMap}var Pe=c("openURL");function xe(e){let t=De(e);return Pe(t)}function De(e){return["http://","https://"].some(r=>e.startsWith(r))?Ne(e):e}function Ne(e){return`supertoss://web?url=${encodeURIComponent(e)}&external=true`}var oe="https://static.toss.im/ads/sdk/toss-ads-space-kit-1.3.0.js",se=15e3,N=null;function C(){if(!(typeof window>"u"))return window.TossAdsSpaceKit}function Me(){if(typeof window>"u"||typeof document>"u")return Promise.reject(new Error("Ads SDK can only be loaded in a browser environment."));let e=C();if(e)return Promise.resolve(e);if(N)return N;let t=new Promise((r,n)=>{let o=document.createElement("script"),s=()=>{o.removeEventListener("load",a),o.removeEventListener("error",i),window.clearTimeout(l),N=null},a=()=>{let g=C();if(g){s(),r(g);return}s(),n(new Error("Ads SDK script loaded but window.TossAdsSpaceKit was not exposed."))},i=()=>{s(),n(new Error(`Failed to load Ads SDK script from ${oe}.`))},l=window.setTimeout(()=>{s(),n(new Error(`Loading Ads SDK timed out after ${se}ms.`))},se);o.addEventListener("load",a),o.addEventListener("error",i),o.async=!0,o.src=oe,document.head.appendChild(o)});return N=t,t}var _=Object.assign(b("fetchTossAd"),{isSupported:p("fetchTossAd_isSupported")}),Fe=c("tossAdEventLog"),Ge=new Set(["1","2"]),pe="\\uC798\\uBABB\\uB41C \\uC694\\uCCAD\\uC774\\uC5D0\\uC694. \\uD544\\uC694\\uD55C \\uAC12\\uC774 \\uBE44\\uC5B4 \\uC788\\uC5B4\\uC694.";function M(e){return e.trim()}function q(){return new Error(pe)}function Be(){return{resultType:"FAIL",error:{reason:pe}}}function ke(e){return new Promise((t,r)=>{if(!_.isSupported()){r(new Error("fetchTossAd is not supported in this environment."));return}let n=M(e.adGroupId);if(n.length===0){r(q());return}return _({options:{...e,adGroupId:n},onEvent:t,onError:r})})}function ae(e){let t=Array.isArray(e.ads)?e.ads.filter(r=>Ge.has(String(r.styleId))):[];return{requestId:e.requestId??"",status:e.status??"OK",ads:t,ext:e.ext}}function Oe(e){return Ve(e)?e.resultType!=="SUCCESS"?e:e.success?{...e,success:ae(e.success)}:{resultType:"FAIL",error:{reason:"fetchTossAd returned SUCCESS without payload"}}:He(e)?{resultType:"SUCCESS",success:ae(e)}:{resultType:"FAIL",error:{reason:"Invalid response from fetchTossAd"}}}function Ve(e){return!!(e&&typeof e=="object"&&"resultType"in e)}function He(e){return!!(e&&typeof e=="object"&&"ads"in e)}function Ue(){return async(e,t)=>{let r=M(t.spaceUnitId);if(r.length===0)return Be();try{let n=await ke({adGroupId:r,sdkId:"108",availableStyleIds:["1","2"]});return Oe(n)}catch(n){return{resultType:"FAIL",error:{reason:n instanceof Error?n.message:"Unknown fetchTossAd error"}}}}}var L=null;function qe(e){let{callbacks:t}=e,r=()=>t?.onInitialized?.(),n=a=>{let i=a instanceof Error?a:new Error(String(a));t?.onInitializationFailed?.(i)};if(C()?.isInitialized()){r();return}if(L!=null){L.then(r).catch(n);return}let s=Me().then(a=>{if(a.isInitialized())return;let l={environment:"live",customAdFetcher:Ue(),opener:xe};a.init(l)});L=s,s.then(r).catch(n).finally(()=>{L===s&&(L=null)})}function We(e,t,r={}){let{callbacks:n}=r,o=M(e),s=a=>{let i=a instanceof Error?a:new Error(String(a));n?.onAdFailedToRender?.({slotId:"",adGroupId:o,adMetadata:{},error:{code:0,message:i.message}})};try{let a=o;if(a.length===0)throw q();let i=C();if(!i)throw new Error("[toss-ad] Call initialize() before attaching an ad.");if(!i.banner)throw new Error("[toss-ad] Loaded TossAdsSpaceKit does not support banner ads.");let l=typeof t=="string"?document.querySelector(t):t;if(!l)throw new Error(`[toss-ad] Failed to find target element: ${t}`);let g={spaceId:a,autoLoad:!0,theme:r.theme,padding:r.padding,callbacks:le(o,r.callbacks)};i.banner.createSlot(l,g)}catch(a){s(a)}}var ze="16px 20px",$e="20px",je="auto",Ke="blackAndWhite",Je="expanded",h="toss-ads-attach",ie="toss-ads-attach-style",me="data-toss-ads-attach-banner-wrapper",U=\'"Toss Product Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif\';function Xe(e){let t=e.ownerDocument;if(!t||t.getElementById(ie))return;let r=t.createElement("style");r.id=ie,r.textContent=`\n .${h},\n .${h} * {\n font-family: ${U};\n font-style: normal;\n }\n .${h} { background: #ffffff; }\n .${h}.toss-ads-tone-grey { background: #f2f4f7; }\n @media (prefers-color-scheme: dark) {\n .${h} { background: #17171c; }\n .${h}.toss-ads-tone-grey { background: #101013; }\n }\n .${h}.toss-ads-theme-light { background: #ffffff; }\n .${h}.toss-ads-theme-light.toss-ads-tone-grey { background: #f2f4f7; }\n .${h}.toss-ads-theme-dark { background: #17171c; }\n .${h}.toss-ads-theme-dark.toss-ads-tone-grey { background: #101013; }\n `;let n=t.head??t.body??t.documentElement;n&&n.appendChild(r)}function Ye(e){Array.from(e.children).forEach(t=>{t instanceof HTMLElement&&t.getAttribute(me)==="true"&&e.removeChild(t)})}function Ze(e,t,r={}){let{callbacks:n,theme:o=je,tone:s=Ke,variant:a=Je}=r,i=M(e),l=u=>{let f=u instanceof Error?u:new Error(String(u));n?.onAdFailedToRender?.({slotId:"",adGroupId:i,adMetadata:{},error:{code:0,message:f.message}})},g=le(i,n);try{let u=i;if(u.length===0)throw q();let f=C();if(!f)throw new Error("[toss-ad] Call initialize() before attaching an ad.");if(!f.banner)throw new Error("[toss-ad] Loaded TossAdsSpaceKit does not support banner ads.");let R=typeof t=="string"?document.querySelector(t):t;if(!R)throw new Error(`[toss-ad] Failed to find target element: ${t}`);return Re(R,()=>{let m=document.createElement("div");m.style.width="100%",m.style.height="100%",m.style.boxSizing="border-box",m.style.display="flex",m.style.flexDirection="column",m.style.fontFamily=U,m.style.fontStyle="normal",m.style.justifyContent="center",m.style.overflow="hidden",m.setAttribute(me,"true"),a==="card"&&(m.style.padding="0 10px");let w=document.createElement("div");w.classList.add(h),w.style.fontFamily=U,w.style.fontStyle="normal",s==="grey"&&w.classList.add("toss-ads-tone-grey"),o==="light"?w.classList.add("toss-ads-theme-light"):o==="dark"&&w.classList.add("toss-ads-theme-dark"),a==="card"&&(w.style.borderRadius="16px",w.style.overflow="hidden"),m.appendChild(w);let x=!1,W=null;try{Xe(R),Ye(R),R.appendChild(m),x=!0;let O={spaceId:u,autoLoad:!0,theme:o==="auto"?void 0:o,renderPadding:fe=>fe==="1"?ze:$e,callbacks:g};W=f.banner.createSlot(w,O)}catch(O){throw x&&m.parentNode&&m.parentNode.removeChild(m),O}return{destroy(){W?.destroy(),x&&m.parentNode&&m.parentNode.removeChild(m),x=!1}}})}catch(u){return l(u),{destroy(){}}}}function Qe(e){let t=C();t?.banner&&t.banner.destroy(e)}function et(){let e=C();e?.banner&&(e.banner.destroyAll(),Le())}function le(e,t){if(!t)return;let r=n=>{let o={...n??{}};return o.adGroupId=o.adGroupId??o.spaceId??e,delete o.spaceId,o};return{onAdRendered:n=>t.onAdRendered?.(r(n)),onAdViewable:n=>t.onAdViewable?.(r(n)),onAdClicked:n=>t.onAdClicked?.(r(n)),onAdImpression:n=>{Fe({log_name:"display_ads_all::impression__1px_banner",log_type:"event",params:{event_type:"impression",schema_id:1812034,request_id:n?.adMetadata?.requestId??""}}),t.onAdImpression?.(r(n))},onAdFailedToRender:n=>t.onAdFailedToRender?.({...r(n),error:n?.error??{code:0,message:"UNKNOWN"}}),onNoFill:n=>t.onNoFill?.(r(n))}}var Gr={initialize:Object.assign(qe,{isSupported:_.isSupported}),attach:Object.assign(We,{isSupported:_.isSupported}),attachBanner:Object.assign(Ze,{isSupported:_.isSupported}),destroy:Object.assign(Qe,{isSupported:_.isSupported}),destroyAll:Object.assign(et,{isSupported:_.isSupported})},Br=Object.assign(c("getServerTime"),{isSupported:p("getServerTime_isSupported")}),kr=Object.assign(c("requestReview"),{isSupported:p("requestReview_isSupported")});var F=class{_log=c("debugLog");log(t,r){try{this._log({log_name:`apps_in_toss_webview_${t}`,log_type:"debug",params:{...r,...this.getCommonParams()}})}catch{}}getCommonParams(){return{...this.getLocationInfo(),...this.getNavigatorInfo(),...this.getScreenInfo(),appName:window.__appsInToss.appName,deploymentId:window.__appsInToss.deploymentId,sessionId:window.__appsInToss.sessionId,isGame:window.__appsInToss.webViewType==="game",timestampMs:Date.now()}}getLocationInfo(){return{url:window.location.href,urlOrigin:window.location.origin,urlHost:window.location.hostname,urlPath:window.location.pathname,urlSearch:window.location.search}}getNavigatorInfo(){return{userAgent:navigator.userAgent,platform:navigator.platform,language:navigator.language,cookieEnabled:navigator.cookieEnabled,hardwareConcurrency:navigator.hardwareConcurrency,deviceMemory:navigator.deviceMemory?navigator.deviceMemory*1024*1024:void 0,maxTouchPoints:navigator.maxTouchPoints}}getScreenInfo(){return{screenWidth:screen.width,screenHeight:screen.height,availableScreenWidth:screen.availWidth,availableScreenHeight:screen.availHeight,devicePixelRatio:window.devicePixelRatio,colorDepth:screen.colorDepth,pixelDepth:screen.pixelDepth,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight}}};var G=class{callbacks={};on(t,r){return typeof this.callbacks[t]>"u"&&(this.callbacks[t]=[]),this.callbacks[t].push(r),()=>{this.callbacks[t]=this.callbacks[t]?.filter(n=>n!==r)??[]}}emit(t,r){this.callbacks[t]?.forEach(n=>n(r))}};window.__appsInToss={appName:p("getAppName")(),deploymentId:p("getDeploymentId")(),webViewType:p("getWebViewType")(),sessionId:Math.random().toString(36).substring(2),eventEmitter:new G,debugLogger:new F};var y=/\\.(data|wasm|framework\\.js)(?:\\.gz|\\.br|\\.unityweb)?$/;function B(e){window.fetch=new Proxy(window.fetch,{apply:e})}(()=>{if(window.__appsInToss.webViewType!=="game"||typeof caches>"u")return;let e="@apps-in-toss/caches/",t=`${e}${window.__appsInToss.deploymentId}`;window.addEventListener("load",async()=>{let r=await caches.keys();for(let n of r)n.startsWith(e)&&n!==t&&await caches.delete(n)}),B(async(r,n,o)=>{let s=new Request(o[0],o[1]);if(!y.test(s.url))return await r.call(n,s);let a=await caches.open(t),i=await a.match(s);if(i){let g=i.headers.get("ETag"),u=i.headers.get("Last-Modified");g&&s.headers.set("If-None-Match",g),u&&s.headers.set("If-Modified-Since",u);let f=await r.call(n,s);return f.status===304?(i.__revalidateResponse=f,i):(a.put(s,f.clone()),f)}let l=await r.call(n,s);return a.put(s,l.clone()),l})})();B(async(e,t,r)=>{let n=new Request(r[0],r[1]),o=Date.now();window.__appsInToss.eventEmitter.emit("fetchRequest",{request:n});try{let s=await e.call(t,n);return window.__appsInToss.eventEmitter.emit("fetchResponse",{request:n,response:s,requestAt:o}),s}catch(s){throw window.__appsInToss.eventEmitter.emit("fetchError",{request:n,requestAt:o,error:s}),s}});HTMLCanvasElement.prototype.getContext=new Proxy(HTMLCanvasElement.prototype.getContext,{apply:(e,t,r)=>{let n=e.apply(t,r);return(n instanceof WebGL2RenderingContext||n instanceof WebGLRenderingContext)&&window.__appsInToss.eventEmitter.emit("webglGetContext",{canvas:t,context:n}),n}});var ge=window.__appsInToss.debugLogger;ge.log("load_start",{});window.addEventListener("load",()=>{let e=performance.timeOrigin,t=performance.getEntriesByType?.("navigation")[0]??null,r=typeof e<"u"&&t!==null,n=r?{navigationStartAtMs:e+t.startTime,navigationRedirectStartAtMs:e+t.redirectStart,navigationRedirectEndAtMs:e+t.redirectEnd,navigationRedirectCount:t.redirectCount,navigationServiceWorkerStartAtMs:e+t.workerStart,navigationFetchStartAtMs:e+t.fetchStart,navigationDomainLookupStartAtMs:e+t.domainLookupStart,navigationDomainLookupEndAtMs:e+t.domainLookupEnd,navigationConnectStartAtMs:e+t.connectStart,navigationSecureConnectStartAtMs:e+t.secureConnectionStart,navigationConnectEndAtMs:e+t.connectEnd,navigationRequestStartAtMs:e+t.requestStart,navigationResponseStartAtMs:e+t.responseStart,navigationResponseEndAtMs:e+t.responseEnd,navigationDomInteractiveAtMs:e+t.domInteractive,navigationDomContentLoadedEventStartAtMs:e+t.domContentLoadedEventStart,navigationDomContentLoadedEventEndAtMs:e+t.domContentLoadedEventEnd,navigationDomCompleteAtMs:e+t.domComplete}:{};ge.log("load_complete",{isNavigationDebugSupported:r,...n})});function T(e,t){return parseFloat(e.toFixed(t))}(()=>{if(typeof performance.memory>"u"||typeof performance.memory.usedJSHeapSize>"u"||typeof performance.memory.totalJSHeapSize>"u"||typeof performance.memory.jsHeapSizeLimit>"u")return;function e(t){window.__appsInToss.debugLogger.log(t,{usedJSHeapSize:T(performance.memory.usedJSHeapSize/1024,2),totalJSHeapSize:T(performance.memory.totalJSHeapSize/1024,2),jsHeapSizeLimit:T(performance.memory.jsHeapSizeLimit/1024,2)})}e("memory_usage_first_0s"),setTimeout(()=>e("memory_usage_first_1s"),1e3),setTimeout(()=>e("memory_usage_first_10s"),1e4),setTimeout(()=>e("memory_usage_first_30s"),3e4),setTimeout(()=>e("memory_usage_first_60s"),6e4),setInterval(()=>e("memory_usage_every_180s"),18e4)})();(()=>{let e=window.__appsInToss.debugLogger,t=performance.timeOrigin;if(typeof t>"u"||typeof PerformanceObserver>"u")return;new PerformanceObserver(o=>{o.getEntries().forEach(a=>{a.name==="first-paint"?e.log("first_paint",{fpStartAtMs:t+a.startTime}):a.name==="first-contentful-paint"&&e.log("first_contentful_paint",{fcpStartAtMs:t+a.startTime})})}).observe({type:"paint"}),new PerformanceObserver(o=>{o.getEntries().forEach(a=>{e.log("largest_contentful_paint",{lcpStartAtMs:t+a.startTime,lcpRenderSize:a.size})})}).observe({type:"largest-contentful-paint"})})();(()=>{if(window.__appsInToss.webViewType!=="game")return;let e=window.__appsInToss.eventEmitter.on("webglGetContext",({canvas:t,context:r})=>{if(t.getAttribute("id")!=="unity-canvas")return;e();let n=r.getExtension("WEBGL_debug_renderer_info"),o=r.getParameter(r.MAX_VIEWPORT_DIMS),s={webGLRenderer:r.getParameter(r.RENDERER),webGLVendor:r.getParameter(r.VENDOR),webGLVersion:r.getParameter(r.VERSION),webGLShadingLanguageVersion:r.getParameter(r.SHADING_LANGUAGE_VERSION),webGLMaxTextureSize:r.getParameter(r.MAX_TEXTURE_SIZE),webGLMaxViewportWidth:o[0],webGLMaxViewportHeight:o[1],webGLMaxRenderbufferSize:r.getParameter(r.MAX_RENDERBUFFER_SIZE)},a=n?{webGLUnmaskedVendor:r.getParameter(n.UNMASKED_VENDOR_WEBGL),webGLUnmaskedRenderer:r.getParameter(n.UNMASKED_RENDERER_WEBGL)}:{};window.__appsInToss.debugLogger.log("unity_webgl_info",{...s,...a})})})();(()=>{if(window.__appsInToss.webViewType!=="game")return;let e=window.__appsInToss.debugLogger,t=window.__appsInToss.eventEmitter;t.on("fetchRequest",({request:n})=>{y.test(n.url)&&e.log("game_resource_download_start",{gameResourceRequestURL:n.url})});function r({request:n,requestAt:o,error:s}){e.log("game_resource_download_error",{gameResourceRequestURL:n.url,gameResourceRequestAtMs:o,gameResourceError:s instanceof Error?s.message:"Unknown Error"})}t.on("fetchResponse",async({request:n,requestAt:o,response:s})=>{if(!y.test(n.url))return;let a=await s.clone().blob().then(l=>T(l.size/1024,2)).catch(l=>(r({request:n,requestAt:o,error:l}),null));if(a===null)return;let i=Date.now();e.log("game_resource_download_end",{gameResourceRequestURL:n.url,gameResourceRequestAtMs:o,gameResourceResponseAtMs:i,gameResourceResponseSize:a,gameResourceResponseStatus:s.__revalidateResponse?.status??s.status,gameResourceDownloadDurationMs:i-o})}),t.on("fetchError",async({request:n,requestAt:o,error:s})=>{y.test(n.url)&&r({request:n,requestAt:o,error:s})})})();var k=[];function tt(){let e=0;function t(r){let n=performance.now();if(r<n-1e3){k.push(e);return}e+=1,window.requestAnimationFrame(()=>t(r))}window.requestAnimationFrame(()=>t(performance.now()))}function rt(){if(k.length===0)return;let e=k;k=[];let t=nt(e).toSorted(),r={};for(let o=0;o<=100;o+=10){let s=t[Math.floor((t.length-1)*(o/100))];s&&(r[`fpsP${o}`]=s)}let n=t.reduce((o,s)=>o+s,0);r.fpsAverage=n/t.length,window.__appsInToss.debugLogger.log("fps_every_300s",r)}function nt(e){let t=new Set(e);return Array.from(t.values())}setInterval(()=>tt(),1e3);setInterval(()=>rt(),3e5);})();\n';
44820
44857
  }
44821
44858
  });
44822
44859