@tinkerlandai/indiana-sdk 0.9.5 → 0.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +30 -41
- package/README.zh-CN.md +24 -22
- package/dist/{ai-usage-CUTIHAU0.d.ts → ai-usage-Cn7dhvFw.d.ts} +3 -3
- package/dist/{api-BXu6TAoB.d.ts → api-DC44FaTV.d.ts} +6354 -904
- package/dist/chunk-ACF2FBUB.js +1 -0
- package/dist/{chunk-XSOEA4A5.js → chunk-CWHJKWOD.js} +1 -1
- package/dist/chunk-EARSGITJ.js +1 -0
- package/dist/chunk-FYGXGMRB.js +1 -0
- package/dist/chunk-GHJ65ILJ.js +1 -0
- package/dist/chunk-JPV7F5XI.js +1 -0
- package/dist/{chunk-AOGPGUWE.js → chunk-LCLCG2I2.js} +1 -1
- package/dist/chunk-Q64VNSPV.js +6 -0
- package/dist/chunk-SBPTOOYB.js +1 -0
- package/dist/{chunk-MKV726FV.js → chunk-V3RAOCVQ.js} +1 -1
- package/dist/chunk-VZVUZWP2.js +1 -0
- package/dist/{chunk-M7JWCLYX.js → chunk-X6BCUINI.js} +1 -1
- package/dist/{chunk-4C3HUZ3B.js → chunk-XO42OH3M.js} +1 -1
- package/dist/{configuration-sync-DuJl4SbM.d.ts → configuration-sync-CywDxRkX.d.ts} +12 -12
- package/dist/{content-PQJYLAGQ.js → content-QM75T7JO.js} +1 -1
- package/dist/{funnel-local-client-BhHdi5_V.d.ts → funnel-local-client-DXamAj1-.d.ts} +18475 -2597
- package/dist/funnel-node-evaluation-P5B4fPfJ.d.ts +2054 -0
- package/dist/{funnel-resource-client-BoIhL_my.d.ts → funnel-resource-client-md62M8Rv.d.ts} +5977 -1126
- package/dist/funnel-runtime-host-BJZUVJAI.js +1 -0
- package/dist/index.d.ts +9924 -1958
- package/dist/index.js +1 -1
- package/dist/native-shell.js +1 -1
- package/dist/openrouter.d.ts +3 -3
- package/dist/openrouter.js +1 -1
- package/dist/page.d.ts +4 -4
- package/dist/page.js +1 -1
- package/dist/paywall-527RPFAX.js +1 -0
- package/dist/popup.d.ts +1 -1
- package/dist/popup.js +1 -1
- package/dist/react-native.d.ts +19930 -7179
- package/dist/react-native.js +1 -1
- package/dist/{screen-renderer-VAMWY7ID.js → screen-renderer-ZSAR7LPS.js} +1 -1
- package/dist/server.d.ts +2737 -573
- package/dist/server.js +1 -1
- package/dist/visual.d.ts +1 -1
- package/dist/visual.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-5ZWSFE2C.js +0 -1
- package/dist/chunk-6ZZUNGNE.js +0 -1
- package/dist/chunk-HEGNIATD.js +0 -1
- package/dist/chunk-LMO3FXRT.js +0 -1
- package/dist/chunk-QYECMZJJ.js +0 -1
- package/dist/chunk-UBMPFTGE.js +0 -1
- package/dist/chunk-UWFYBRM2.js +0 -6
- package/dist/chunk-XRXI3DMZ.js +0 -1
- package/dist/funnel-node-evaluation-DuPmqIo1.d.ts +0 -998
- package/dist/funnel-runtime-host-3YUGXD3Y.js +0 -1
- package/dist/paywall-CSAGKPCP.js +0 -1
- package/dist/{screen-CvfI_L41.d.ts → screen-D81zCpfi.d.ts} +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{qa as o}from"./chunk-ACF2FBUB.js";function s(r,n){let i=structuredClone(r);for(let[a,e]of Object.entries(i.plans)){let t=n.plans[a];!t||t.versionId!==e.versionId||(t.amountMinor!==void 0&&(e.amountMinor=t.amountMinor),t.interval!==void 0&&(e.interval=t.interval),t.intervalCount!==void 0&&(e.intervalCount=t.intervalCount),t.prepaid!==void 0&&(e.prepaid=structuredClone(t.prepaid)))}return i}function c(r,n){let i=a=>"document"in a?a.offering.id:a.content.offeringVersionId;return r.id===n.id&&i(r)===i(n)&&r.content?.artifact.sha256===n.content?.artifact.sha256}function l(r,n,i){if(r.operationId!==n.operationId||n.currency!==void 0&&r.currency!==n.currency)throw new o("INVALID_RESPONSE",i)}function p(r,n,i){let a=Object.fromEntries((r.lines[0]?.prepaid??[]).map(e=>[e.internal_feature_id,e.quantity]));if(n.featureQuantities&&(Object.keys(a).length!==Object.keys(n.featureQuantities).length||Object.entries(n.featureQuantities).some(([e,t])=>a[e]!==t)))throw new o("INVALID_RESPONSE","The purchase quote changed its selected quantities");if(r.lines.length!==1||r.lines[0].productVersionId!==n.productVersionId||n.currency!==void 0&&r.currency!==n.currency||n.provider!==void 0&&r.provider!==n.provider&&!(n.provider==="stripe"&&r.provider==="merchant"&&r.execution?.provider==="merchant"))throw new o("INVALID_RESPONSE",i)}function f(r,n,i=!1){return!r||r.operationId!==n?.operationId?n:r.status==="complete"&&n.status!=="complete"||r.status!=="pending"&&(n.status==="pending"||i&&n.status!=="complete")?r:n}export{s as a,c as b,l as c,p as d,f as e};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{ia as E,ja as M,ka as j,la as O,ma as T}from"./chunk-Q64VNSPV.js";import{k as w,qa as u}from"./chunk-ACF2FBUB.js";import{z as t}from"zod";var _=E,V=t.string().regex(/^(0|[1-9]\d{0,5})(\.\d{1,12})?$/),C=t.strictObject(Object.fromEntries(_.map(i=>[i,t.number().int().nonnegative().max(1e9)]))),L=M,D=j,q=t.strictObject({modelId:L,source:t.enum(["models.dev","custom"]),fetchedAt:t.iso.datetime(),rates:O,contextTier:t.number().int().nonnegative(),markupPercent:D}),U=t.strictObject({pricing:q,tokens:C,quantity:w,digest:t.string().regex(/^[a-f0-9]{64}$/)}),z=i=>{let[s,o=""]=i.split(".");return BigInt(s)*10n**12n+BigInt(o.padEnd(12,"0"))};function $(i){if(typeof i!="number"||!Number.isFinite(i)||i<0)throw new u("AI_PRICE_UNAVAILABLE","A published token price is missing");let s=String(i),o=s.includes("e")?i.toFixed(12).replace(/0+$/,"").replace(/\.$/,""):s;if(Number(o)!==i||!V.safeParse(o).success)throw new u("AI_PRICE_UNAVAILABLE","Published price exceeds the supported precision");return o}var R=t.strictObject({input:t.number().nonnegative(),output:t.number().nonnegative(),cache_read:t.number().nonnegative().optional(),cache_write:t.number().nonnegative().optional(),reasoning:t.number().nonnegative().optional(),input_audio:t.number().nonnegative().optional(),output_audio:t.number().nonnegative().optional()}),F=R.extend({context_over_200k:t.unknown().optional(),tiers:t.array(R.extend({tier:t.strictObject({type:t.literal("context"),size:t.number().int().nonnegative()})})).max(20).refine(i=>new Set(i.map(s=>s.tier.size)).size===i.length).optional()});async function N(i,s,o){let d=new TextEncoder().encode(JSON.stringify({pricing:i,tokens:s,quantity:o}));return[...new Uint8Array(await crypto.subtle.digest("SHA-256",d))].map(m=>m.toString(16).padStart(2,"0")).join("")}function B(i,s){let o=0n;for(let c of _){if(!s[c])continue;let f=i.rates[c];if(f===void 0)throw new u("AI_PRICE_UNAVAILABLE",`No published price for ${c}; report exclusive token pools`);o+=z(f)*BigInt(s[c])}let[d,m="0"]=String(i.markupPercent).split("e"),r=(d.split(".")[1]?.length??0)-Number(m),e=10n**BigInt(Math.max(r,0)),n=BigInt(d.replace(".",""))*10n**BigInt(Math.max(-r,0)),g=100n*e+n,l=100n*e*1000000n,a=(o*g+l-1n)/l;return w.parse(`${a/1000000n}.${(a%1000000n).toString().padStart(6,"0")}`)}function K(i={}){if(typeof window<"u")throw new u("SERVER_ONLY","AI token pricing belongs on your backend");let s=T.parse({defaultMarkup:i.defaultMarkup??0,providerMarkups:i.providerMarkups??{},modelMarkups:i.modelMarkups??{},customModels:i.customModels??{}}),o=null,d=0;async function m(){if(!o||Date.now()>=d){d=Date.now()+15*6e4;let r=(async()=>{let e=await(i.fetch??fetch)("https://models.dev/api.json",{signal:AbortSignal.timeout(3e4)});if(!e.ok)throw new u("AI_PRICE_UNAVAILABLE","Models.dev pricing is unavailable");return{data:t.record(t.string(),t.object({models:t.record(t.string(),t.unknown())})).parse(await e.json()),fetchedAt:new Date().toISOString()}})().catch(e=>{throw o===r&&(o=null),e});o=r}return o}return{refreshPrices(){o=null,d=0},async quoteTokens(r){let e=L.parse(r.modelId),n=C.parse(r.tokens),[g,...l]=e.split("/"),a=s.customModels[e],c,f,p,y=0;if(a?.input!==void 0&&a.output!==void 0&&_.every(A=>n[A]===0||a[A]!==void 0))c={...a,input:a.input,output:a.output},f="custom",p=new Date().toISOString();else{let A=await m(),x=A.data[g]?.models[l.join("/")];if(!x)throw new u("AI_PRICE_UNAVAILABLE","Unknown model; configure a complete custom price");let{cost:I}=t.object({cost:F}).parse(x),P=n.input+n.cache_read+n.cache_write+n.input_audio;if(I.tiers===void 0&&I.context_over_200k!==void 0&&P>2e5)throw new u("AI_PRICE_UNAVAILABLE","A current context tier is required for this model");let b=I.tiers?.filter(k=>P>k.tier.size).sort((k,Q)=>Q.tier.size-k.tier.size)[0],v=b??I;b&&(y=b.tier.size),c=Object.fromEntries(_.filter(k=>v[k]!==void 0).map(k=>[k,$(v[k])])),c={...c,...a},f=a?"custom":"models.dev",p=A.fetchedAt}let h=q.parse({modelId:e,source:f,fetchedAt:p,rates:c,contextTier:y,markupPercent:s.modelMarkups[e]??s.providerMarkups[g]??s.defaultMarkup}),S=B(h,n);return U.parse({pricing:h,tokens:n,quantity:S,digest:await N(h,n,S)})},async trackTokens(r,e){let n=U.parse(e.quote);if(n.quantity!==B(n.pricing,n.tokens)||n.digest!==await N(n.pricing,n.tokens,n.quantity))throw new u("INVALID_REQUEST","AI quote changed after pricing");let g=e.properties??{},l=e.providerCostUsd===void 0?void 0:t.string().regex(/^(0|[1-9]\d{0,11})(\.\d{1,18})?$/).parse(e.providerCostUsd),a=e.generationId===void 0?void 0:t.string().min(1).max(120).parse(e.generationId),c=8+ +(l!==void 0)+ +(a!==void 0);if(Object.keys(g).some(p=>p.startsWith("ai_")))throw new u("INVALID_REQUEST","AI tracking reserves ai_ event properties");if(Object.keys(g).length>16-c)throw new u("INVALID_REQUEST","AI tracking properties exceed the available event budget");let f={operation:"consume",internal_feature_id:e.internal_feature_id,quantity:n.quantity,idempotencyKey:e.idempotencyKey,properties:{...g,...l!==void 0?{ai_provider_cost_usd:l}:{},...a!==void 0?{ai_generation_id:a}:{},ai_model:n.pricing.modelId,ai_source:n.pricing.source,ai_price_at:n.pricing.fetchedAt,ai_quote_hash:n.digest,ai_markup:String(n.pricing.markupPercent),ai_tier:String(n.pricing.contextTier),ai_tokens:_.map(p=>n.tokens[p]).join(","),ai_rates:"v1:"+_.map(p=>n.pricing.rates[p]===void 0?"-":z(n.pricing.rates[p]).toString(36)).join(",")},...e.entityId?{entityId:e.entityId}:{}};return r.mutateBalance({customerId:e.customerId,command:f})}}}async function Y(i,s,o={}){let{config:d,model_markups:m}=await i.readAiPricing(s);return K({defaultMarkup:d.default_markup??0,providerMarkups:Object.fromEntries(Object.entries(d.provider_markups??{}).map(([r,e])=>[r,e.markup])),modelMarkups:Object.fromEntries(Object.entries(m??{}).filter(([,r])=>r.markup!==void 0).map(([r,e])=>[r,e.markup])),customModels:Object.fromEntries(Object.entries(m??{}).filter(([,r])=>r.input_cost!==void 0||r.output_cost!==void 0).map(([r,e])=>[r,{...e.input_cost!==void 0?{input:String(e.input_cost)}:{},...e.output_cost!==void 0?{output:String(e.output_cost)}:{}}])),...o})}export{q as a,U as b,K as c,Y as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as u,b as Y,l as W,o as $}from"./chunk-FYGXGMRB.js";import{N as Q,Qa as K,a as J,b as H,c as z,d as U,e as B,f as G,j,na as i,pa as L}from"./chunk-Q64VNSPV.js";import{qa as a}from"./chunk-ACF2FBUB.js";import{a as M}from"./chunk-G56XGVMS.js";var x=t=>{if(!Number.isSafeInteger(t)||t<0||t>=Number.MAX_SAFE_INTEGER)throw new a("INVALID_STATE","Installation sequence exhausted");return t+1},me=async t=>[...new Uint8Array(await crypto.subtle.digest("SHA-256",Uint8Array.from(t,e=>e.charCodeAt(0))))].map(e=>e.toString(16).padStart(2,"0")).join("");function V(t,e){return t.transaction(n=>{if(!Number.isSafeInteger(n.identitySeq)||n.identitySeq<0||!Number.isSafeInteger(n.addressSeq)||n.addressSeq<0||n.detachSeq!==null&&(!Number.isSafeInteger(n.detachSeq)||n.detachSeq<1||n.detachSeq>n.identitySeq))throw new a("INVALID_STATE","Installation journal is invalid");return e({...n})})}function X(t,e,n){let r=null,d=0,p=0,c=0,m=Promise.resolve();if(t&&(!n||M.parse(t.scope).projectId!==n.projectId||t.scope.environment!==n.environment))throw new a("SCOPE_MISMATCH","Push installation belongs to another scope");let A=()=>{if(!t)throw new a("NOT_CONFIGURED","Configure this client's native Push host first");return t},h=o=>{if(o!==d)throw new a("IDENTITY_CHANGED","Identity changed during Push operation")};async function T(o){let s=A();if(!s.sha256&&!globalThis.crypto?.subtle)throw new a("NOT_CONFIGURED","Configure native SHA-256 for this Push host");let l=s.sha256?await s.sha256(Uint8Array.from(o,f=>f.charCodeAt(0))):await me(o);if(!/^[a-f0-9]{64}$/.test(l))throw new a("INVALID_STATE","Push credential digest is invalid");return l}function C(o){let s=B.parse(o);if(s.installationId.toLowerCase()!==A().installationId.toLowerCase())throw new a("INVALID_RESPONSE","Push response belongs to another installation");return s}async function R(o,s){let l=A(),f={installationId:l.installationId,publicKey:l.publicKey,issuedAt:new Date().toISOString(),...s},g=await l.sign(G(o,l.scope,f));return{...f,signature:g}}let k=(o,s,l)=>e.requestWithCredential?e.requestWithCredential(o,s,l):e.request(o,s);async function S(){let o=A(),s=d,l=r?await(e.session?.access()??r):null,f=V(o,y=>y),g;if(f.detachSeq!==null){let y=f.detachSeq,b=J.parse(await R("detach",{sequence:y,platform:o.platform}));try{let w=await e.request("push/installations/detach",{...o.scope,...b},"POST",{installationDetach:!0});if(!w||typeof w!="object"||!("installation"in w))throw new a("INVALID_RESPONSE","Push detach acknowledgement is invalid");let _=C(w.installation);if(_.bound||_.identitySeq!==y)throw new a("INVALID_RESPONSE","Push detach acknowledgement does not match its intent")}catch(w){if(w instanceof a&&w.status===404)g=w;else if(!(w instanceof a)||w.status!==412)throw w}g||V(o,w=>({...w,detachSeq:w.detachSeq===y?null:w.detachSeq}))}if(h(s),!l){if(g)throw g;return null}let E=i.bindPushInstallation,N=E.request.parse(await R("bind",{sequence:c,platform:o.platform,credentialDigest:await T(l)}));h(s);let D=E.response.parse(await k(E.path,N,l));h(s);let v=C(D.installation);if(!v.bound||v.identitySeq!==c)throw new a("INVALID_RESPONSE","Push binding acknowledgement does not match its intent");return g&&f.detachSeq!==null&&c>f.detachSeq&&V(o,y=>({...y,detachSeq:y.detachSeq===f.detachSeq?null:y.detachSeq})),v}async function P(){A();let o=d,s=r?await(e.session?.access()??r):null;if(!s)throw new a("NOT_IDENTIFIED","Identify before reading this installation");let l=i.readPushInstallation,f=l.request.parse(await R("read",{credentialDigest:await T(s)}));h(o);let g=l.response.parse(await k(l.path,f,s));return h(o),C(g.installation)}function O(o=S){let s=m.catch(()=>{}).then(o);return m=s,s.catch(l=>{try{t?.onError?.(l instanceof Error?l:new Error("Push synchronization failed"))}catch{}}),s}async function q(o,s,l){let f=A(),g=s.identity,E=s.observation,N=r?await(e.session?.access()??r):null;if(h(g),E!==p)throw new a("INVALID_STATE","Push observation changed during recovery");if(!N)throw new a("NOT_IDENTIFIED","Identify before recovering a Push address");if(!o.connectionId||!o.kind||!o.token||!["granted","provisional"].includes(o.permission))throw new a("INVALID_REQUEST","Recovery needs a provider token and notification permission");return await O(async()=>{if(h(g),await S(),h(g),E!==p)throw new a("INVALID_STATE","Push observation changed during recovery");let D=V(f,_=>l?_:{..._,addressSeq:x(_.addressSeq)}),y=await R(l?"recovery_confirm":"recovery_request",{...o,sequence:D.addressSeq,credentialDigest:await T(N),...l?{challenge:l}:{}}),b=l?z.parse(y):H.parse(y);if(h(g),E!==p)throw new a("INVALID_STATE","Push observation changed during recovery");let w=await k(`push/installations/recovery/${l?"confirm":"request"}`,b,N);if(h(g),E!==p||V(f,_=>_).addressSeq!==D.addressSeq)throw new a("INVALID_STATE","Push observation changed during recovery");if(l){let _=i.updatePushAddress.response.parse(w),F=C(_.installation);if(!F.bound||F.identitySeq!==c||F.addressSeq!==D.addressSeq||F.connectionId!==o.connectionId||F.addressStatus!=="active")throw new a("INVALID_RESPONSE","Push recovery acknowledgement does not match its intent");return F}if(!w||typeof w!="object"||!("recovery"in w))throw new a("INVALID_RESPONSE","Push recovery acknowledgement is invalid");return U.parse(w.recovery)})}return{recoveryObserver(){A();let o={identity:d,observation:++p};return{async request(s){return U.parse(await q(s,o))},async confirm(s,l){return B.parse(await q(l,o,s))}}},identify(o){if(!t)return;c=V(t,l=>({...l,identitySeq:x(l.identitySeq)})).identitySeq,r=o,d++,p++},reset(){if(t)try{V(t,o=>{let s=x(o.identitySeq);return{...o,identitySeq:s,detachSeq:s}})}finally{r=null,d++,p++}},start(){t&&O()},async sync(){return await O()},read:P,async recover(){let o=A(),s=d,l=c;return p++,await O(async()=>{h(s);let f=await P();return h(s),c=V(o,E=>{if(E.identitySeq!==l)throw new a("IDENTITY_CHANGED","A newer installation intent exists");return{...E,identitySeq:x(Math.max(E.identitySeq,f.identitySeq)),addressSeq:Math.max(E.addressSeq,f.addressSeq)}}).identitySeq,await S()})},tokenObserver(){A();let o=++p,s=d;return async l=>{if(o!==p||s!==d)return null;let f=A(),g=r?await(e.session?.access()??r):null;if(!g)throw new a("NOT_IDENTIFIED","Identify before registering a Push token");if(await O(),h(s),o!==p)return null;let E=V(f,y=>({...y,addressSeq:x(y.addressSeq)})),N=i.updatePushAddress,D=N.request.parse(await R("address",{...l,sequence:E.addressSeq,credentialDigest:await T(g)}));if(h(s),o!==p)return null;let v=N.response.parse(await k(N.path,D,g));return h(s),C(v.installation)}}}}function Z(t,e){return{messaging:{async preference(n){let r=i.readMessagingPreference;return r.response.parse(await t(r.path,r.request.parse({channel:n}))).preference},async setPreference(n){let r=i.setMessagingPreference;return r.response.parse(await t(r.path,r.request.parse(n))).preference}},push:{sync:e.sync,read:e.read,recover:e.recover,tokenObserver:e.tokenObserver,recoveryObserver:e.recoveryObserver,async preference(){let n=i.readMessagingPreference;return n.response.parse(await t(n.path,{channel:"push"})).preference},async setPreference(n){let r=i.setMessagingPreference;return r.response.parse(await t(r.path,r.request.parse({...n,channel:"push"}))).preference}}}}function ee(t,e,n={}){let r=!!t.session.peek(),d=new Set,p=c=>{for(let m of d)try{m(c)}catch{}};return t.session.subscribeIdentity(()=>{r=!!t.session.peek(),p(r),n.afterChange?.()},()=>{r=!1,e()}),{isIdentified:()=>r,methods:{subscribeIdentity(c){return d.add(c),()=>{d.delete(c)}},identify(c){let m=typeof c=="string"?c:c.accessToken;if(!j.test(m))throw new a("INVALID_TOKEN","Browser SDK requires a customer session");n.beforeIdentify?.(m),t.identify(c)},reset(){try{n.beforeReset?.()}finally{t.reset()}}}}}function I(t){if(t!==null&&typeof t=="object"&&"customerId"in t)throw new a("INVALID_REQUEST","Customer requests use the verified session identity")}function te(t){return{async checkEntitlement(e){I(e);let n=i.checkEntitlement;return u(t,n,e)},async readHoldings(e={}){let n=i.readHoldings;return u(t,{...n,request:n.request.omit({customerId:!0})},e)}}}function ne(t){return{async readLedger(e){let n=i.readLedger;return u(t,n,{query:e})},async readCreditStatement(e){I(e);let n=i.readCreditStatement;return u(t,n,e)},async quoteBalance(e){I(e);let n=i.quoteBalance;return u(t,n,{command:e})}}}function re(t){return{async setupPayment(e){I(e);let n=i.setupPayment;return u(t,n,e)},async readPaymentSetup(e){I(e);let n=i.readPaymentSetup;return u(t,n,e)},async readBillingInvoice(e){I(e);let n=i.readBillingInvoice;return u(t,n,e)},async readBillingControls(e={}){I(e);let n=i.readBillingControls;return u(t,n,e)},async prepareBillingAuthorization(e){I(e);let n=i.prepareBillingAuthorization;return u(t,n,e)},async confirmBillingAuthorization(e){I(e);let n=i.confirmBillingAuthorization;return u(t,n,e)},async setBillingCoupons(e){I(e);let n=i.setBillingCoupons;return u(t,n,e,{request:"Invalid billing coupon list",response:"Invalid billing coupon receipt"})},async revokeBillingAuthorization(e){I(e);let n=i.revokeBillingAuthorization;return u(t,n,e)},async listBillingInvoices(e={after:null,limit:25}){I(e);let n=i.listBillingInvoices;return u(t,n,e)},async confirmBillingAdjustment(e){I(e);let n=i.confirmBillingAdjustment;return u(t,n,e)}}}function ie(t){return{async previewUpdate(e){I(e);let n=i.previewUpdate;return u(t,n,e)},async update(e){I(e);let n=i.update;return u(t,n,e)},async readSubscriptionUpdate(e){I(e);let n=i.readSubscriptionUpdate;return u(t,n,e)},async restoreNativePurchase(e){I(e);let n=i.restoreNativePurchase;return u(t,n,e)},async previewAttach(e){I(e);let n=i.previewAttach;return u(t,n,e)},async attach(e){I(e);let n=i.attach;return u(t,n,e)},async readSubscriptionOperation(e){I(e);let n=i.readSubscriptionOperation;return u(t,n,e)}}}function oe(t){return{async redeemReward(e){return I(e),(await u(t,i.redeemReward,{...e,requestId:e.requestId??crypto.randomUUID()},{request:"Invalid reward redemption",response:"Invalid reward receipt"})).redemption},async claimRewardProduct(e){return I(e),(await u(t,i.claimRewardProduct,e,{request:"Invalid reward product claim",response:"Invalid reward product checkout"})).checkout},async createReferralCode(e){return I(e),(await u(t,i.createReferralCode,{...e,requestId:e.requestId??crypto.randomUUID()},{request:"Invalid referral program",response:"Invalid referral code"})).referralCode},async redeemCoupon(e,n=crypto.randomUUID()){let r=await u(t,i.redeemCoupon,{code:e,requestId:n},{request:"Invalid coupon code",response:"Invalid Coupon receipt"});return{offer:r.offer,reason:r.reason}},async claimCoupon(e,n=crypto.randomUUID()){let r=await u(t,i.grantOffer,{couponId:e,requestId:n},{request:"Invalid Coupon claim",response:"Invalid Coupon receipt"});return{offer:r.offer,reason:r.reason}},async listOffers(){return(await u(t,i.listOffers,{},{response:"Invalid offers response"})).offers}}}function se(t){return{...te(t),...ne(t),...re(t),...ie(t),...oe(t)}}function ae(t){return{async resolveContent(e){I(e);let n=i.resolveContent;return u(t,n,e)},async resolvePaywall(e){I(e);let n=i.resolvePaywall;return u(t,n,e)},async resolveOffering(e){I(e);let n=i.resolveOffering;return u(t,n,e)}}}var ce=t=>new TextEncoder().encode(JSON.stringify(t)).length,ue=16384;function de(t,e){let n=0,r,d=S=>{r={config:structuredClone(S),until:Date.now()+3e4}},p=[],c=null,m;function A(){if(!e())throw new a("NOT_IDENTIFIED","Call identify before using Features or events")}function h(){m||!p.length||(m=setTimeout(()=>{m=void 0,C().catch(()=>{}).finally(h)},5e3),typeof m=="object"&&"unref"in m&&m.unref())}function T(S,P={},O={}){if(A(),r&&Date.now()<r.until&&!Q(r.config,S))return;k();let q=i.trackEvents.request.parse({events:[{eventUuid:crypto.randomUUID(),timestamp:new Date().toISOString(),name:S,properties:P,...O}]}).events[0];if(ce({events:[q]})>ue)throw new a("INVALID_REQUEST","Event exceeds the delivery size limit");if(p.length>=500)throw new a("EVENT_QUEUE_FULL","Flush pending events before tracking more");p.push(structuredClone(q)),h()}async function C(S=!1){if(A(),c)return c;let P=n,O=(async()=>{let q={inserted:0,duplicates:0,rejected:0,skipped:0},o=p.length;for(;o&&P===n;){let s=[];for(let g of p.slice(0,Math.min(o,100))){if(s.length&&ce({events:[...s,g]})>ue)break;s.push(g)}let l=i.trackEvents,f=await u(t,l,{events:s},void 0,{keepalive:S});if(P!==n)throw new a("IDENTITY_CHANGED","Event identity changed during delivery");if(f.inserted+f.duplicates+f.rejected+f.skipped!==s.length)throw new a("INVALID_RESPONSE","Incomplete event acknowledgement");d(f.analyticsConfig),p.splice(0,s.length),o-=s.length,q.inserted+=f.inserted,q.duplicates+=f.duplicates,q.rejected+=f.rejected,q.skipped+=f.skipped}return q})();c=O;try{return await O}finally{c===O&&(c=null)}}let R;function k(){if(R||typeof document>"u")return;let S=()=>{document.visibilityState==="hidden"&&e()&&p.length&&C(!0).catch(()=>{})};document.addEventListener("visibilitychange",S),R=()=>document.removeEventListener("visibilitychange",S)}return{rememberConfiguration:d,track(S,P,O={}){return k(),T(S,P,O)},flush:C,reset(){n++,r=void 0,clearTimeout(m),m=void 0,p=[],c=null},detachVisibility(){R?.(),R=void 0}}}function pe(t){let e=t.merchandise;if(typeof t.merchandiseId=="string")return{internalId:t.merchandiseId};if(!(!e||typeof e!="object"||Array.isArray(e))){if(typeof e.internalId=="string")return{internalId:e.internalId};if(typeof e.externalId=="string")return{id:e.externalId};if(typeof e.id=="string")return{id:e.id}}}function ye(t){let e=pe(t),{merchandiseId:n,merchandise:r,...d}=t;return{...d,...e?{merchandise:e}:{}}}function le(t,e,n,r,d){if(d&&r&&(d.scope.projectId!==r.projectId||d.scope.environment!==r.environment))throw new a("SCOPE_MISMATCH","Configuration belongs to another App/environment");let p=0,c=new Set;function m(){if(!e())throw new a("NOT_IDENTIFIED","Call identify before using Features or events")}async function A(h={}){d||m();let T=p,C=!1,R=async()=>{if(C||T!==p)throw new a("IDENTITY_CHANGED","Feature identity changed");let v=i.getFeatures,y=d?{scope:{projectId:d.scope.projectId,environment:d.scope.environment},payload:await d.features()}:await u(t,v,{});if(T!==p)throw new a("IDENTITY_CHANGED","Feature identity changed");if(r&&(y.scope.projectId!==r.projectId||y.scope.environment!==r.environment))throw new a("INVALID_RESPONSE","Feature response scope changed");return n.rememberConfiguration(y.payload.analyticsConfig),y},k=await R(),S=!0,P,O=v=>{try{h.onError?.(v)}catch{}},q=(v,y,b)=>{try{let w=pe(b);n.track(v,y,w?{merchandise:w}:{})}catch(w){O(w)}},o=Y({assertUsable:d?.assertFeatures,scope:k.scope,attributes:h.attributes,onError:h.onError,load:async()=>S?(S=!1,k.payload):(await R()).payload,evaluateRemote:async v=>{if(T!==p)throw new a("IDENTITY_CHANGED","Feature identity changed");let y=i.evaluateFeatures,b=await u(t,y,{...v,attributes:ye(v.attributes)});if(b.scope.projectId!==k.scope.projectId||b.scope.environment!==k.scope.environment)throw new a("INVALID_RESPONSE","Remote Feature response scope changed");return{generation:b.generation,evaluatedAt:b.evaluatedAt,expiresAt:b.expiresAt,features:b.features,...b.merchandiseContext?{merchandiseContext:b.merchandiseContext}:{}}},onExperimentViewed:(v,y,b)=>q("Experiment Viewed",{experimentId:v.key,variationId:y.key},b),onFeatureUsage:(v,y,b)=>q("Feature Evaluated",{feature:v,value:y.value,source:y.source,ruleId:y.ruleId,...y.experimentResult?{variationId:y.experimentResult.key}:{}},b)}),s=o.refresh;function l(){clearTimeout(P),!d&&(C||T!==p||!o.expiresAt||(P=setTimeout(()=>{f().catch(O)},Math.min(2147483647,Math.max(1e3,Date.parse(o.expiresAt)-Date.now()))),typeof P=="object"&&"unref"in P&&P.unref()))}async function f(){try{return await s()}finally{l()}}let g=()=>{C||f().catch(O)},E=o.subscribe(l),N=d?.subscribe(()=>{!C&&d.fresh&&f().catch(O)});function D(){C||(C=!0,clearTimeout(P),typeof window<"u"&&window.removeEventListener("focus",g),E(),N?.(),o.reset(),c.delete(D))}c.add(D);try{await o.init(),(h.attributes?.merchandise||h.attributes?.merchandiseId)&&await o.refreshRemote()}catch(v){throw D(),v}return l(),!d&&typeof window<"u"&&window.addEventListener("focus",g),Object.assign(o,{refresh:f,destroy:D})}return{features:A,reset(h){p++,h();for(let T of c)T()}}}import{z as Ie}from"zod";function fe(t,e){let n="source"in e?{funnelId:e.source.id,funnelVersionId:e.source.versionId}:"versionId"in e?{funnelId:e.funnelId,funnelVersionId:e.versionId}:e,r=Ie.object({funnelId:L.shape.id,funnelVersionId:L.shape.versionId.optional()}).safeParse(n);if(!r.success)throw new a("INVALID_REQUEST","A valid Funnel source is required");let d=Object.freeze(r.data);function p(c){if("customerId"in c)throw new a("INVALID_REQUEST","Customer identity cannot be overridden");if("funnelId"in c&&c.funnelId!==void 0&&c.funnelId!==d.funnelId||"funnelVersionId"in c&&c.funnelVersionId!==void 0&&c.funnelVersionId!==d.funnelVersionId)throw new a("SCOPE_MISMATCH","The original Funnel source cannot change");return{...c,...d}}return{async claimCoupon(c,m=crypto.randomUUID()){let A=i.grantOffer,h=await u(t,A,p({couponId:c,requestId:m}));return{offer:h.offer,reason:h.reason}},async resolveOffering(c){let m=i.resolveOffering;return u(t,m,p(c))},async resolvePaywall(c){let m=i.resolvePaywall;return u(t,m,p(c))},async previewAttach(c){let m=i.previewAttach;return u(t,m,p(c))}}}function Pt(t){return he(t)}function he(t){let e=K(t),n=e.request,r=X(t.push,e,t.scope??t.configuration?.scope),d=ee(e,()=>{c.reset(p.reset),p.detachVisibility()},{beforeIdentify:r.identify,beforeReset:r.reset,afterChange:r.start}),p=de(n,d.isIdentified),c=le(n,d.isIdentified,p,t.scope,t.configuration);return{session:e.session,...Z(n,r),...se(n),...ae(n),forFunnel(m){return fe(n,m)},async features(m={}){return c.features(m)},track(m,A,h={}){return p.track(m,A,h)},flush(){return p.flush()},...d.methods}}function Nt(t){if(!j.test(t.customerToken))throw new a("INVALID_TOKEN","A customer credential is required");if(!t.scope)throw new a("INVALID_REQUEST","An explicit App and environment scope is required");let e=$({...t,scope:t.scope,apiKey:t.customerToken});return{async start(n){let r=await e.start(n),d=W({...t,runToken:r.runToken});d.identify(t.customerToken);let p=r.run.instruction?.type==="evaluate_segment"?await d.get():r;return{...r,...p,controller:d}}}}export{Pt as a,he as b,Nt as c};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as qt,b as Ut}from"./chunk-SSLZKIIU.js";import{N as ut,R as Ye,S as pt,T as Ze,U as Ne,W as gt,Y as mt,aa as Ge,ba as Qe,ca as ye,da as ft,ea as He,ga as ht,ha as yt,ja as bt,na as Fe,oa as Ot}from"./chunk-HEGNIATD.js";import{a as Q}from"./chunk-DSPLGTQI.js";var Be={tag:"0a3fc81c4311ccdb0f8dd7f7afff09170ce4ca4338ef9d17d626aba3d21e5366",csp:"default-src 'none'; script-src 'sha256-UznZYYJO84QL7WE307bb//1369HDvk9x2sY+tHsxToI='; style-src 'unsafe-inline'; img-src https: data:; connect-src 'none'; font-src 'none'; media-src 'none'; frame-src 'none'; base-uri 'none'; form-action 'none'",html:'<!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta http-equiv="Content-Security-Policy" content="default-src \'none\'; script-src \'sha256-UznZYYJO84QL7WE307bb//1369HDvk9x2sY+tHsxToI=\'; style-src \'unsafe-inline\'; img-src https: data:; connect-src \'none\'; font-src \'none\'; media-src \'none\'; frame-src \'none\'; base-uri \'none\'; form-action \'none\'"></head><body><script>(() => {\n try {\n const input = JSON.parse(decodeURIComponent(location.hash.slice(1)));\n if (!input || !/^[a-f0-9-]{36}$/.test(input.channel) || input.mode !== "live" || !Number.isInteger(input.hostDepth) || input.hostDepth < 1 || input.hostDepth > 16) return;\n const origin = new URL(input.parentOrigin);\n if (!["https:", "http:"].includes(origin.protocol) || origin.origin !== input.parentOrigin) return;\n const boot = { channel: input.channel, parentOrigin: origin.origin, hostDepth: input.hostDepth, mode: "live" };\n (function ct(y){function C(e){return e.type==="stack"&&e.interaction?.type==="select"&&e.interaction.purpose==="product"&&!!e.interaction.pickerId}function O(e){let a={};function t(r){if(C(r)){let n=a[r.interaction.pickerId]??={ids:[],defaultId:null};for(let i of r.children){let l=i.type==="stack"?i.bind?.plan:void 0;l&&!n.ids.includes(l)&&n.ids.push(l)}let s=r.children[r.interaction.defaultIndex];!n.defaultId&&s?.type==="stack"&&(n.defaultId=s.bind?.plan??null)}r.type==="stack"&&r.children.forEach(t)}return e.pages.forEach(r=>t(r.root)),a}function pe(e,a,t){let r={};function n(d){if(d.hidden)return;if(d.type==="plan_picker"){let o=t.pickers[d.id];r[d.id]={ids:o?.options??[],defaults:o?.selected?[o.selected]:[],remembered:[]};return}if(d.type!=="stack")return;let p=d.children.filter(o=>!o.hidden),f=d.interaction;if(C(d)){let o=r[d.interaction.pickerId]??={ids:[],defaults:[],remembered:[]},c=t.pickers[d.interaction.pickerId]?.options??[];for(let m of p){let w=m.type==="stack"?m.bind?.plan:void 0;w&&c.includes(w)&&!o.ids.includes(w)&&o.ids.push(w),w&&m.id===a[d.id]&&o.remembered.push(w)}let u=d.children[d.interaction.defaultIndex];u?.type==="stack"&&!u.hidden&&u.bind?.plan&&o.defaults.push(u.bind.plan)}if(f?.type==="tabs"){let o=p.find(c=>c.id===a[d.id])??d.children[f.defaultIndex];o&&n(o)}else if(f?.type==="toggle"){let o=typeof a[d.id]=="boolean"?a[d.id]:f.defaultEnabled,c=d.children[o?0:1];c&&n(c)}else p.forEach(n)}let s=typeof a.__page=="string"?a.__page:e.initialPageId??e.pages[0]?.id,i=e.pages.find(d=>d.id===s);i&&n(i.root);let l={};for(let[d,p]of Object.entries(r)){let f=a[d],o=p.remembered[0]??(p.ids.includes(t.pickers[d]?.selected??"")?t.pickers[d]?.selected:p.defaults[0]);l[d]=typeof f=="string"?p.ids.includes(f)?f:"":o&&p.ids.includes(o)?o:""}for(let d of Object.keys(O(e)))l[d]??="";return l}let F=window;for(let e=0;e<y.hostDepth;e++)F=F.parent;let ut=window,gt={none:0,xs:4,sm:8,md:12,lg:20,xl:32},ft={none:0,sm:4,md:8,lg:14,full:9999},Y={system:\'system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif\',serif:\'Georgia,"Times New Roman","Songti SC","Noto Serif CJK SC",serif\',rounded:\'ui-rounded,"SF Pro Rounded","Hiragino Maru Gothic ProN",system-ui,sans-serif\',mono:"ui-monospace,SFMono-Regular,Menlo,Consolas,monospace"},Be={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch"},qe={start:"flex-start",center:"center",end:"flex-end",between:"space-between"},mt={start:"start",center:"center",end:"end",between:"stretch"},ht={start:"start",center:"center",end:"end",stretch:"stretch"},Ue={"1:1":"1 / 1","4:3":"4 / 3","16:9":"16 / 9","3:1":"3 / 1"},yt=`\n*,*::before,*::after{box-sizing:border-box}\nhtml,body{margin:0;padding:0;background:transparent}\nbody{font-family:var(--g-font);color:var(--g-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}\n#g-card{background:var(--g-bg);min-height:1px}\n#g-card[data-g-presentation=fullscreen]{min-height:100vh;display:flex;flex-direction:column}\n#g-card[data-g-presentation=fullscreen]>[data-g-node]{flex:1 0 auto}\n[hidden]{display:none!important}\n.g-stack{display:flex;min-width:0}\n.g-empty{min-height:48px;outline:1px dashed #c9cfee;outline-offset:-1px;background:#eef0fa44}\n.g-empty::after{content:attr(data-g-editor-placeholder);font-size:12px;color:#737b8e;align-self:center;margin:auto;pointer-events:none}\n.g-v{flex-direction:column}\n.g-h{flex-direction:row;flex-wrap:wrap}\n.g-o{display:grid;grid-template-columns:minmax(0,1fr)}\n/* Each authored overlay layer paints as a unit in document order. */\n.g-o>*{grid-area:1/1;min-width:0;isolation:isolate}\n.g-text{margin:0;white-space:pre-line;overflow-wrap:anywhere;min-width:0}\n.g-title{font-size:26px;line-height:1.2;font-weight:700;letter-spacing:-.01em}\n.g-heading{font-size:20px;line-height:1.3;font-weight:650}\n.g-body{font-size:15px;line-height:1.6}\n.g-caption{font-size:12px;line-height:1.5;letter-spacing:.02em}\n.g-btn{appearance:none;border:0;margin:0;font:inherit;font-size:15px;font-weight:600;line-height:1.25;padding:12px 18px;border-radius:var(--g-radius);cursor:pointer;min-height:44px;text-align:center;overflow-wrap:anywhere}\n.g-btn-primary{background:var(--g-primary);color:var(--g-on-primary)}\n.g-btn.g-stack .g-text{color:inherit}\n.g-btn-primary:hover{filter:brightness(1.06)}\n.g-btn-secondary{background:transparent;color:var(--g-text);box-shadow:inset 0 0 0 1px var(--g-border)}\n.g-btn-secondary:hover{background:var(--g-surface)}\n.g-btn-link{background:transparent;color:var(--g-muted);padding:8px 12px;min-height:36px;font-weight:500}\n.g-btn-link:hover{color:var(--g-text)}\n.g-btn:focus-visible{outline:3px solid var(--g-focus);outline-offset:2px}\n.g-img{display:block;width:100%;overflow:hidden}\n.g-img img{display:block;width:100%;height:auto}\n.g-img[data-aspect] img{height:100%}\n.g-divider{border:0;border-top:1px solid var(--g-border);margin:0;align-self:stretch}\n.g-custom{display:block;min-width:0}\n.g-missing{opacity:.45}\n.g-box{position:absolute;pointer-events:none;z-index:2147483646;border:1px solid var(--g-edit);border-radius:2px;display:none}\n.g-box[data-kind=select]{border-width:2px}\n.g-box span{position:absolute;left:-2px;bottom:100%;margin-bottom:2px;padding:1px 6px;font:500 11px/16px system-ui,sans-serif;color:#fff;background:var(--g-edit);border-radius:3px;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis}\n.g-box[data-below] span{bottom:auto;top:100%;margin:2px 0 0}\n[data-g-editor] .g-btn{cursor:default}\n.g-data{--g-data-ink:var(--g-text);--g-data-muted:var(--g-muted);--g-data-line:var(--g-border);--g-data-surface:var(--g-surface);width:100%;min-width:0;color:var(--g-data-ink);font-variant-numeric:tabular-nums;container-type:inline-size;container-name:customer-data}\n.g-data-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}\n.g-data-heading{display:flex;align-items:center;gap:10px;font-size:18px;line-height:1.35;font-weight:600;margin:0;letter-spacing:-.025em}\n.g-data-icon{display:block;width:18px;height:18px;flex:none}\n.g-data-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}\n.g-data-button,.g-data-select{font:500 13px/1.4 var(--g-font);color:var(--g-data-ink);background:transparent;border:1px solid color-mix(in srgb,var(--g-data-ink) 52%,transparent);border-radius:6px;min-height:36px;padding:7px 10px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}\n.g-data-button:hover{background:var(--g-data-surface)}\n.g-data-button:focus-visible,.g-data-select:focus-visible,.g-data-sources>summary:focus-visible{outline:3px solid var(--g-data-ink);outline-offset:3px}\n.g-data-button:disabled,.g-data-select:disabled{opacity:.4;cursor:default}\n.g-data-refresh{border-color:transparent;width:32px;min-height:32px;display:grid;place-items:center;padding:6px;color:var(--g-data-muted)}\n.g-data-refresh:hover{color:var(--g-data-ink)}\n.g-data-refreshing .g-data-icon{animation:g-data-spin 1.2s linear infinite}\n@keyframes g-data-spin{to{transform:rotate(360deg)}}\n.g-data-buy{background:var(--g-primary);color:var(--g-on-primary);border-color:transparent;min-height:40px;font-size:13px;font-weight:600}\n.g-data-buy:hover{background:var(--g-primary);filter:brightness(.95);transform:translateY(-1px)}\n.g-data[data-preview=true] .g-data-buy:disabled{opacity:.8}\n.g-data-note{font-size:13px;line-height:1.6;color:var(--g-data-muted);margin:12px 0;overflow-wrap:anywhere}\n.g-data-error{padding:12px 0;border-block:1px solid var(--g-data-line);color:var(--g-data-ink);font-size:13px;line-height:1.6}\n.g-data-resource+.g-data-resource{border-top:1px solid var(--g-data-line);padding-top:24px;margin-top:24px}\n.g-data-name{font-size:12px;color:var(--g-data-muted);font-weight:500;margin:0 0 10px}\n.g-data-balance{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:18px}\n.g-data-number{font-family:var(--g-data-number-font,var(--g-font));font-size:var(--g-data-number-size,clamp(44px,7vw,72px));font-weight:var(--g-data-number-weight,500);line-height:1.08;letter-spacing:-.055em;overflow-wrap:anywhere;max-width:100%}\n.g-data-fraction{font-size:22px;letter-spacing:-.025em;color:var(--g-data-muted)}\n.g-data-unit{font-size:13px;color:var(--g-data-muted)}\n.g-data-facts{display:flex;gap:24px;flex-wrap:wrap;font-size:13px;line-height:1.6;color:var(--g-data-muted)}\n.g-data-facts strong{font-weight:600;color:var(--g-data-ink);margin-inline-start:6px}\n.g-data-expiry{margin-inline-start:auto;font-size:12px}\n.g-data-resource-label{font-size:12px;letter-spacing:0;color:var(--g-data-muted);padding-inline-start:10px;border-inline-start:1px solid var(--g-data-line);font-weight:400}\n.g-data-sources{margin-top:20px;border-top:1px solid var(--g-data-line);padding-top:12px}\n.g-data-sources>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:500;cursor:pointer;line-height:1.5;list-style:none;border-radius:3px;padding:6px 0}\n.g-data-sources>summary::-webkit-details-marker{display:none}\n.g-data-sources>summary>.g-data-icon{width:16px;height:16px;transition:transform .18s}\n.g-data-sources[open]>summary>.g-data-icon{transform:rotate(180deg)}\n.g-data-sources[open]>.g-data-list{animation:g-data-reveal .18s ease-out}\n@keyframes g-data-reveal{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}\n.g-data-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--g-data-line)}\n.g-data-row{display:grid;grid-template-columns:minmax(120px,1.5fr) minmax(80px,.75fr) minmax(90px,1fr);column-gap:20px;row-gap:10px;align-items:start;padding:18px 0;border-bottom:1px solid var(--g-data-line);min-width:0}\n.g-data-row-no-value,.g-data-row-no-status{grid-template-columns:minmax(0,1fr) auto;column-gap:16px}\n.g-data-row-no-value .g-data-row-status{text-align:end}\n.g-data-row-main{display:flex;align-items:flex-start;gap:12px;min-width:0}\n.g-data-row-copy{min-width:0}\n.g-data-row-mark{display:grid;place-items:center;width:34px;height:34px;flex:none;background:var(--g-data-surface);color:var(--g-data-muted);border:1px solid var(--g-data-line);border-radius:50%}\n.g-data-row-mark .g-data-icon{width:16px;height:16px}\n.g-data-row-label{font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere;margin:0}\n.g-data-row-detail{font-size:13px;line-height:1.65;color:var(--g-data-muted);margin-top:4px;overflow-wrap:anywhere}\n.g-data-row-status{font-size:12px;line-height:1.6;color:var(--g-data-muted);padding:4px 8px;border-radius:4px;background:var(--g-data-surface);width:fit-content;justify-self:end;overflow-wrap:anywhere}\n.g-data-row-value{font-size:15px;font-weight:650;text-align:end;line-height:1.5;overflow-wrap:anywhere}\n.g-data-row-extra{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}\n.g-data-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;font-size:12px;color:var(--g-data-muted)}\n.g-data-empty{display:flex;align-items:center;gap:10px;padding:28px 0;border-block:1px solid var(--g-data-line);font-size:13px;line-height:1.6;color:var(--g-data-muted)}\n.g-data-empty>.g-data-icon{width:20px;height:20px;opacity:.65}\n.g-data-skeleton{padding-block:8px;animation:g-data-reveal .18s ease-out}\n.g-data-skeleton-line{display:block;background:var(--g-data-line);border-radius:4px;animation:g-data-pulse 1.4s ease-in-out infinite}\n.g-data-skeleton-value{width:42%;height:var(--g-data-number-size,64px);margin:4px 0 22px}\n.g-data-skeleton-meta{width:65%;height:12px;margin-bottom:20px}\n.g-data-skeleton-row{display:flex;justify-content:space-between;gap:24px;padding:20px 0;border-block-end:1px solid var(--g-data-line)}\n.g-data-skeleton-row>.g-data-skeleton-line:first-child{width:52%;height:14px}\n.g-data-skeleton-row>.g-data-skeleton-line:last-child{width:18%;height:14px}\n.g-data[data-layout=compact] .g-data-skeleton-value{height:var(--g-data-number-size,34px);margin-bottom:16px}\n.g-data-recovery{margin:12px 0}\n.g-data-live-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}\n@keyframes g-data-pulse{50%{opacity:.4}}\n.g-data-updated{font-size:11px;margin-bottom:0}\n.g-data-preview{font-size:11px;color:var(--g-data-muted);border:1px solid var(--g-data-line);border-radius:4px;padding:3px 6px;white-space:nowrap}\n.g-data[data-source=credit_balance] .g-data-heading{font-size:15px;font-weight:500;letter-spacing:0}\n.g-data[data-source=credit_balance] .g-data-header{margin-bottom:18px}\n.g-data[data-source=credit_balance] .g-data-updated{margin:0;font-size:11px;color:var(--g-data-muted)}\n.g-data[data-source=credit_balance] .g-data-sources>summary{max-width:100%}\n.g-data-table-head{display:grid;grid-template-columns:minmax(0,1fr) 92px minmax(120px,.45fr);gap:16px;padding:10px 0;font-size:12px;color:var(--g-data-muted);border-block:1px solid var(--g-data-line)}\n.g-data-table-head>span:not(:first-child){text-align:end}\n.g-data[data-source=credit_transactions] .g-data-list{border-top:0}\n.g-data[data-source=credit_transactions] .g-data-row{grid-template-columns:minmax(0,1fr) 92px minmax(120px,.45fr);gap:16px;padding:18px 0;align-items:center;transition:background .15s}\n.g-data[data-source=credit_transactions] .g-data-row:hover{background:var(--g-data-surface)}\n.g-data[data-source=credit_transactions] .g-data-row-status{grid-column:2;grid-row:1}\n.g-data[data-source=credit_transactions] .g-data-row-extra{grid-column:3;grid-row:1;justify-content:flex-end}\n.g-data[data-source=credit_transactions] .g-data-facts{flex-direction:column;align-items:flex-end;gap:8px}\n.g-data[data-source=credit_transactions] .g-data-facts>span{display:flex;flex-direction:column-reverse;align-items:flex-end;font-size:12px}\n.g-data[data-source=credit_transactions] .g-data-facts strong{font-size:15px;margin-inline-start:0;font-weight:600}\n.g-data[data-source=credit_packs] .g-data-row{border:0;padding:16px 0;grid-template-columns:minmax(0,1fr) auto}\n.g-data[data-source=credit_packs] .g-data-list{border:0}\n.g-data[data-source=credit_packs] .g-data-row+.g-data-row{border-top:1px solid var(--g-data-line)}\n.g-data[data-source=credit_packs] .g-data-row-value{font-size:22px;letter-spacing:-.04em}\n.g-data[data-source=credit_packs] .g-data-row-extra{display:block}\n.g-data[data-source=credit_packs] .g-data-buy{width:100%;margin-top:2px}\n.g-data[data-source=credit_packs] .g-data-header{margin-bottom:4px}\n.g-data[data-layout=compact] .g-data-header{margin-bottom:10px}\n.g-data[data-layout=compact] .g-data-heading{font-size:14px;color:var(--g-data-muted);letter-spacing:0;font-weight:500}\n.g-data[data-layout=compact] .g-data-number{font-size:var(--g-data-number-size,34px)}\n.g-data[data-layout=compact] .g-data-row{padding:10px 0;column-gap:12px}\n.g-data[data-layout=compact] .g-data-row{grid-template-columns:minmax(0,1fr) auto}\n.g-data[data-layout=compact] .g-data-row-status{grid-column:1;grid-row:2;justify-self:start}\n.g-data[data-layout=compact] .g-data-row-value{grid-column:2;grid-row:1}\n.g-data[data-layout=compact] .g-data-updated{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}\n.g-data[data-source=credit_transactions][data-layout=compact] .g-data-table-head{display:none}\n.g-data[data-source=credit_transactions][data-layout=compact] .g-data-row{grid-template-columns:minmax(0,1fr) 92px minmax(120px,.45fr);gap:16px;padding:14px 0}\n.g-data[data-source=credit_transactions][data-layout=compact] .g-data-row-status{grid-column:2;grid-row:1}\n.g-data[data-source=credit_transactions][data-layout=compact] .g-data-row-extra{grid-column:3;grid-row:1;justify-content:flex-end}\n.g-data[data-source=membership][data-layout=compact] .g-data-list{border:0}\n.g-data[data-source=membership][data-layout=compact] .g-data-row{padding:0;border:0}\n.g-data[data-source=membership][data-layout=compact] .g-data-row-status{grid-column:2;grid-row:1;justify-self:end}\n.g-data[data-source=membership][data-layout=compact] .g-data-header{margin-bottom:6px}\n.g-data[data-source=membership][data-layout=full] .g-data-heading{font-size:14px;font-weight:500;color:var(--g-data-muted)}\n.g-data[data-source=membership][data-layout=full] .g-data-list{border-top:0}\n.g-data[data-source=membership][data-layout=full] .g-data-row{padding:12px 0 22px;column-gap:24px}\n.g-data[data-source=membership][data-layout=full] .g-data-row-label{font-family:var(--g-data-display-font,var(--g-font));font-size:var(--g-data-display-size,30px);font-weight:var(--g-data-display-weight,600);letter-spacing:-.035em;line-height:1.25}\n.g-data[data-source=membership][data-layout=full] .g-data-row-detail{font-size:13px;margin-top:12px}\n.g-data[data-source=membership][data-layout=full] .g-data-row-status{font-size:12px;padding:5px 9px}\n.g-data[data-source=customer_plans][data-layout=full] .g-data-row{padding:24px 0;grid-template-columns:minmax(0,1fr) 140px 180px;gap:24px;align-items:center}\n.g-data[data-source=customer_plans][data-layout=full] .g-data-row-label{font-family:var(--g-data-display-font,var(--g-font));font-size:22px;font-weight:600}\n.g-data[data-source=customer_plans][data-layout=full] .g-data-row-value{font-size:24px;font-weight:500;letter-spacing:-.035em}\n.g-data[data-source=customer_plans][data-layout=full] .g-data-row-status{font-size:12px;padding:5px 9px}\n@container customer-data (min-width:600px){\n .g-data[data-source=credit_packs][data-layout=full]>.g-data-list,.g-data[data-source=customer_plans][data-layout=full]>.g-data-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;border:0}\n .g-data[data-source=credit_packs][data-layout=full]>.g-data-list>.g-data-row,.g-data[data-source=customer_plans][data-layout=full]>.g-data-list>.g-data-row{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;gap:20px;padding:24px;border:1px solid var(--g-data-line);border-radius:14px;align-items:start;align-content:start;transition:border-color .16s,background .16s}\n .g-data[data-source=credit_packs][data-layout=full]>.g-data-list>.g-data-row:hover{border-color:var(--g-data-ink);background:var(--g-data-surface)}\n .g-data[data-source=customer_plans][data-layout=full]>.g-data-list>.g-data-row{padding:24px 0;border:0;border-top:1px solid var(--g-data-ink);border-radius:0}\n .g-data[data-source=credit_packs][data-layout=full]>.g-data-list>.g-data-row>.g-data-row-main,.g-data[data-source=customer_plans][data-layout=full]>.g-data-list>.g-data-row>.g-data-row-main{grid-column:1;grid-row:1}\n .g-data[data-source=credit_packs][data-layout=full]>.g-data-list>.g-data-row>.g-data-row-value,.g-data[data-source=customer_plans][data-layout=full]>.g-data-list>.g-data-row>.g-data-row-value{grid-column:1;grid-row:2;text-align:start;font-size:30px;line-height:1.3;letter-spacing:-.035em;font-weight:500}\n .g-data[data-source=credit_packs][data-layout=full]>.g-data-list>.g-data-row>.g-data-row-extra{grid-column:1;grid-row:3;align-self:end}\n .g-data[data-source=customer_plans][data-layout=full]>.g-data-list>.g-data-row>.g-data-row-status{grid-column:1;grid-row:3;justify-self:start;align-self:end}\n .g-data[data-source=customer_plans][data-layout=full]>.g-data-list>.g-data-row>.g-data-row-extra{grid-column:1;grid-row:auto}\n .g-data[data-source=credit_packs][data-layout=full] .g-data-header,.g-data[data-source=customer_plans][data-layout=full] .g-data-header{margin-bottom:20px}\n .g-data[data-source=credit_packs][data-layout=full] .g-data-buy{min-height:44px;border-radius:8px}\n}\n@media(max-width:560px){.g-data[data-source=customer_plans][data-layout=full] .g-data-row{grid-template-columns:minmax(0,1fr) auto;gap:12px}.g-data[data-source=customer_plans][data-layout=full] .g-data-row-value{font-size:20px}.g-data[data-source=membership][data-layout=full] .g-data-row-label{font-size:var(--g-data-display-size,24px)}}\n@media(max-width:560px){.g-data-header{gap:10px}.g-data-controls{gap:6px}.g-data-row{grid-template-columns:minmax(0,1fr) auto;column-gap:12px}.g-data-row-status{grid-column:1;grid-row:2}.g-data-row-value{grid-column:2;grid-row:1}.g-data-row-extra{grid-column:1/-1}.g-data-facts{gap:12px}.g-data-button,.g-data-select{min-height:40px;padding:8px 10px}.g-data-refresh{width:40px;padding:10px}.g-data-sources>summary{min-height:36px}.g-data-table-head{display:none}.g-data[data-source=credit_transactions] .g-data-row{grid-template-columns:minmax(0,1fr) minmax(95px,.45fr);gap:12px}.g-data[data-source=credit_transactions] .g-data-row-status{grid-column:1;grid-row:2;margin-inline-start:46px;justify-self:start}.g-data[data-source=credit_transactions] .g-data-row-extra{grid-column:2;grid-row:1/3}.g-data[data-source=membership][data-layout=compact] .g-data-row-status{grid-column:2;grid-row:1}}\n@media(max-width:560px){.g-data[data-source=credit_transactions][data-layout=compact] .g-data-row{grid-template-columns:minmax(0,1fr) minmax(95px,.45fr);gap:12px}.g-data[data-source=credit_transactions][data-layout=compact] .g-data-row-status{grid-column:1;grid-row:2;margin-inline-start:46px;justify-self:start}.g-data[data-source=credit_transactions][data-layout=compact] .g-data-row-extra{grid-column:2;grid-row:1/3}}\n@media(max-width:560px){.g-data[data-source=membership] .g-data-row-no-value .g-data-row-status{grid-column:2;grid-row:1;align-self:start;justify-self:end}}\n@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}\n`;function X(){return Object.create(null)}let k=null,$,Ae=new Set,E,ee,Z=new Map,le=new Map,_e=new Map,te=new Map,ue=0,H=new Map,ge=new WeakMap,ae=0,re=0,fe,B=null,h=X(),ie=X(),G=X(),P="",Je=!1,Ne=-1,Ie=!1,Ve="",me=null,Le=null,he=null,I=document.createElement("div");I.id="g-card";let ye=document.createElement("div"),ce=document.createElement("div");ye.className=ce.className="g-box",ce.dataset.kind="select",ye.append(document.createElement("span")),ce.append(document.createElement("span"));function N(e){let a={...e,channel:y.channel};try{F.postMessage(a,y.parentOrigin)}catch{}}function Te(e){let a=parseInt(e.slice(1),16);return[a>>16&255,a>>8&255,a&255]}function be(e,a,t){let r=Te(e),n=Te(a),s=r.map((i,l)=>Math.round(i*t+n[l]*(1-t)));return`rgb(${s[0]},${s[1]},${s[2]})`}function bt(e){let[a,t,r]=Te(e).map(n=>{let s=n/255;return s<=.03928?s/12.92:((s+.055)/1.055)**2.4});return .2126*a+.7152*t+.0722*r}function ne(e){return typeof e!="string"?"":e.startsWith("#")?e:`var(--g-${e==="background"?"bg":e})`}function xt(e){let a=e.theme,t=document.documentElement.style,r=bt(a.primary),n=(r+.05)/.05>1.05/(r+.05)?"#111318":"#FFFFFF";t.setProperty("--g-primary",a.primary),t.setProperty("--g-on-primary",n),t.setProperty("--g-bg",a.background),t.setProperty("--g-text",a.text),t.setProperty("--g-muted",be(a.text,a.background,.62)),t.setProperty("--g-surface",be(a.text,a.background,.05)),t.setProperty("--g-border",be(a.text,a.background,.16)),t.setProperty("--g-focus",be(a.primary,a.background,.45)),t.setProperty("--g-radius",`${ft[a.radius]??8}px`),t.setProperty("--g-font",Y[a.font]??Y.system),t.setProperty("--g-edit","#2C3C96")}function _(e){let a=k?.strings.locales[P]?.[e];return a&&a.trim()?{value:a,missing:!1}:{value:k?.strings.locales[k.strings.defaultLocale]?.[e]??"",missing:!0}}function q(e){let a=E?.nodes[e];if(!a)return;let t=a.picker?h[a.picker]??E?.pickers[a.picker]?.selected:void 0;if(!(a.picker&&typeof t=="string"&&!E?.pickers[a.picker]?.options.includes(t)))return typeof t=="string"?a.byPlan?.[t]??a.base:a.base}function K(){return{...k?.surface==="paywall"&&B?{__page:B}:{},...Object.fromEntries(Object.entries(h).filter(e=>!Array.isArray(e[1])))}}function Me(e){return $&&Object.hasOwn($.answers,e)&&$.bindings.some(a=>a.variable===e)?$.answers[e]:$?.values?.[e]}function Ke(e){let a=te.get(e);if(a)return a;let t=[...new Set([...e.matchAll(/\\{\\{\\s*variables\\.([^{}]+?)\\s*\\}\\}/g)].map(r=>r[1].trim()))];if(e.length<=1e6)for(te.set(e,t),ue+=e.length;te.size>128||ue>1e6;){let r=te.keys().next().value;te.delete(r),ue-=r.length}return t}function $e(e){let a=e.html[P];return q(e.id)?.html??E?.nodes[e.id]?.base.html??(a&&a.trim()?a:e.html[k?.strings.defaultLocale??""]??"")}function We(){te.clear(),ue=0;let e=[],a=[],t=l=>{if(!l.hidden){if(l.type==="stack")l.children.forEach(t);else if(l.type==="custom_html"){e.push($e(l));let d=E?.nodes[l.id];for(let p of[d?.base,...Object.values(d?.byPlan??{})])p?.html!==void 0&&a.push(p.html)}}},r=B??k?.initialPageId,n=k?.pages??[],s=new Set;for(let l of[...n.filter(d=>d.id===r),...n.filter(d=>d.id!==r)]){e.length=a.length=0,t(l.root);for(let d of[...e,...a])s.add(d)}let i=new Set([...s].map(ze));for(let[l,d]of H)i.has(l)||Ye(l,d);for(let l of s)Ke(l),!H.has(ze(l))&&(H.size>=32||re+500>4e3||ae+l.length+2>262144||Re(l,!0))}function ze(e){return(y.mode==="live"&&$?"b:":"s:")+e}function Ye(e,a){H.delete(e),ae-=e.length,re-=a.elements}function Re(e,a=!1){let t=ze(e),r=H.get(t);if(r)return H.delete(t),H.set(t,r),r;let n="data-indiana-html-binding";for(;e.includes(n);)n+="-next";let s=[],i=y.mode==="live"&&!!$,l=/\\{\\{\\s*variables\\.([^{}]+?)\\s*\\}\\}/g,d=i?e.replace(l,(u,m)=>(s.push(m.trim()),`<span ${n}="${s.length-1}"></span>`)):e,p=document.createElement("template");p.innerHTML=`<div>${d}</div>`;let f=p.content.firstElementChild,o=[];for(let u of f.querySelectorAll(`[${n}]`)){let m=document.createTextNode(""),w=s[Number(u.getAttribute(n))];u.replaceWith(m);let S=[];for(let v=m;v!==f;){let L=v.parentNode;S.unshift(Array.prototype.indexOf.call(L.childNodes,v)),v=L}o.push({path:S,variable:w})}let c={key:t,content:f,inUse:!1,bindings:o,unresolved:(i?e.replace(l,""):e).includes("{{"),elements:f.getElementsByTagName("*").length};if(t.length<=262144&&c.elements<=4e3){if(!a)for(;H.size>=32||ae+t.length>262144||re+c.elements>4e3;){let[u,m]=H.entries().next().value;Ye(u,m)}H.size<32&&ae+t.length<=262144&&re+c.elements<=4e3&&(H.set(t,c),ae+=t.length,re+=c.elements)}return c}function Ce(e){let a=e.template;if(a?.content===e.body&&H.get(a.key)===a){for(let t of e.bindings)t.node.data="";a.inUse=!1,e.parked=!0}e.template=null}function Ze(e,a){let t=ge.get(e),r=$e(a),n=y.mode==="live"&&!!$,s=t.source!==r||t.bound!==n,i;s&&(Ce(t),i=Re(r),t.source=r,t.bound=n,t.unresolved=i.unresolved,t.variables=[...new Set(i.bindings.map(o=>o.variable))]);let l=new Map,d=t.unresolved;if(n)for(let o of t.variables){let c=Me(o);if(c==null){d=!0;continue}let u=String(typeof c=="object"?JSON.stringify(c):c).replace(/\\r\\n?/g,`\n`);u.includes("{{")&&(d=!0),l.set(o,u)}if(d&&y.mode==="live"){if(Ce(t),t.parked){let c=document.createElement("div");t.body.replaceWith(c),t.body=c,t.parked=!1}let o=_(a.fallback??"").value.replace(/\\r\\n?/g,`\n`);(!t.fallback||t.body.textContent!==o)&&(t.body.textContent=o),t.fallback=!0,t.bindings=[]}else if(s||t.fallback||!t.initialized){i??=Re(r);let o=!i.inUse,c=o?i.content:i.content.cloneNode(!0);t.bindings=i.bindings.map(({path:u,variable:m})=>{let w=c;for(let S of u)w=w.childNodes[S];return{node:w,variable:m}});for(let u of t.bindings)u.node.data=l.get(u.variable);t.body.replaceWith(c),t.body=c,t.parked=!1,o&&H.get(i.key)===i?(i.inUse=!0,t.template=i):t.template=null;for(let u of t.body.querySelectorAll("img"))u.addEventListener("load",ke);t.fallback=!1,t.initialized=!0}else for(let o of t.bindings){let c=l.get(o.variable);o.node.data!==c&&(o.node.data=c)}let p=q(a.id),f=a.html[P];e.classList.toggle("g-missing",y.mode==="editor"&&(!!p?.missing?.length||!p&&r.includes("{{")||!(f&&f.trim())))}function se(e,a,t){let r=q(e.id),n=r?.[a],s=n!==void 0?{value:n,missing:!!r?.missing?.length}:_(t);if(y.mode==="live"&&$){let i=!1,l=s.value.replace(/\\{\\{\\s*variables\\.([^{}]+?)\\s*\\}\\}/g,(d,p)=>{p=p.trim();let f=Me(p);return f==null||f===""||Array.isArray(f)&&!f.length?(i=!0,""):Array.isArray(f)?f.join(", "):String(f)});if(i)return{value:e.fallback?_(e.fallback).value:"",missing:!0};if(!l.includes("{{"))return{value:l,missing:s.missing}}return n!==void 0?s:s.value.includes("{{")&&y.mode==="live"?{value:e.fallback?_(e.fallback).value:"",missing:!0}:{value:s.value,missing:s.missing||s.value.includes("{{")}}function wt(e){if(e.name)return e.name;let a=y.editorMessages?.nodeTypes?.[e.type];return y.mode==="editor"&&typeof a=="string"?a:{stack:"\\u5BB9\\u5668",text:"\\u6587\\u672C",image:"\\u56FE\\u7247",button:"\\u6309\\u94AE",divider:"\\u5206\\u9694\\u7EBF",spacer:"\\u7559\\u767D",custom_html:"\\u81EA\\u5B9A\\u4E49 HTML",price:"\\u4EF7\\u683C",coupon_code:"\\u4F18\\u60E0\\u7801",countdown:"\\u5012\\u8BA1\\u65F6",plan_picker:"\\u771F\\u5B9E\\u5957\\u9910\\u9009\\u62E9"}[e.type]??e.type}function vt(e,a){if(a.type==="color")e.background="none",e.backgroundColor=ne(a.color);else if(a.type==="linear"){let t=a.stops.map(r=>`${ne(r.color)} ${Number(r.at)}%`).join(",");e.backgroundColor="transparent",e.backgroundImage=`linear-gradient(${Number(a.angle)}deg,${t})`}else if(a.type==="image"&&typeof a.src=="string"){let t=/^data:image\\/(?:svg\\+xml|jpeg|png);base64,[A-Za-z0-9+/]+={0,2}$/.test(a.src)?a.src:a.src.replace(/[^A-Za-z0-9\\-._~:/?#[\\]@!$&*+;=%]/gu,n=>n.length===1&&n.charCodeAt(0)<128?`%${n.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0")}`:encodeURIComponent(n));e.backgroundImage=`url("${t}")`;let r=a.position;e.backgroundPosition=r?`${r.x}% ${r.y}%`:"center",e.backgroundSize=a.fit==="contain"?"contain":"cover",e.backgroundRepeat="no-repeat"}}function Ge(e){return`${Number(e.top)}px ${Number(e.right)}px ${Number(e.bottom)}px ${Number(e.left)}px`}function Qe(e,a,t,r,n){if(a===void 0)return;let s=r?.direction??"vertical",i=s!=="overlay"&&t==="width"==(s==="horizontal"),l=t==="width"?"minWidth":"minHeight";a==="fill"?s==="overlay"?(e.style[t]="100%",e.style[t==="width"?"justifySelf":"alignSelf"]="stretch"):i?(e.style.flex="1 1 0",e.style[l]="0"):(e.style.alignSelf="stretch",e.style[t]="auto"):a==="fit"?(e.style[t]="fit-content",t==="width"&&(e.style.maxWidth="100%"),!i&&s!=="overlay"&&(!r||r.align==="stretch")&&(e.style.alignSelf=n==="center"?"center":n==="end"?"flex-end":"flex-start")):typeof a=="number"&&(e.style[t]=`${a}px`,t==="width"&&(e.style.maxWidth="100%"),i&&(e.style.flex="0 0 auto"))}function oe(e,a,t){let r=a.style,n=r.text??{},s=e.style;if(a.type==="customer_data"&&(n.font&&s.setProperty("--g-data-display-font",Y[String(n.font)]??Y.system),a.data.source==="membership"&&(typeof n.size=="number"&&s.setProperty("--g-data-display-size",`clamp(${Math.min(n.size,28)}px, ${n.size/12}vw, ${n.size}px)`),typeof n.weight=="number"&&s.setProperty("--g-data-display-weight",String(n.weight)))),a.type==="customer_data"&&a.data.source==="credit_balance"&&(typeof n.size=="number"&&s.setProperty("--g-data-number-size",`clamp(${Math.min(n.size,48)}px, ${n.size/10}vw, ${n.size}px)`),n.font&&s.setProperty("--g-data-number-font",Y[String(n.font)]??Y.system),typeof n.weight=="number"&&s.setProperty("--g-data-number-weight",String(n.weight))),a.type==="customer_data"&&n.color){let p=ne(n.color);s.setProperty("--g-data-ink",p),s.setProperty("--g-data-muted",`color-mix(in srgb, ${p} 72%, transparent)`),s.setProperty("--g-data-line",`color-mix(in srgb, ${p} 20%, transparent)`),s.setProperty("--g-data-surface",`color-mix(in srgb, ${p} 8%, transparent)`)}r.padding&&(s.padding=Ge(r.padding)),r.margin&&(s.margin=Ge(r.margin)),typeof r.gap=="number"&&a.type==="stack"&&(s.gap=`${r.gap}px`),r.background&&vt(s,r.background),typeof r.opacity=="number"&&(s.opacity=String(r.opacity));let i=r.shape;if(i?.type==="pill")s.borderRadius="9999px";else if(i?.type==="rect"){let p=i.radius;s.borderRadius=typeof p=="number"?`${p}px`:`${Number(p.topLeft)}px ${Number(p.topRight)}px ${Number(p.bottomRight)}px ${Number(p.bottomLeft)}px`}(r.clipContent===!0||r.clipContent!==!1&&i&&(r.background||a.type==="image"))&&(s.overflow="hidden");let l=r.border;l&&(s.border=Number(l.width)>0?`${Number(l.width)}px ${l.style==="dashed"?"dashed":"solid"} ${ne(l.color)}`:"0");let d=r.shadow;d&&(s.boxShadow=`${Number(d.x)}px ${Number(d.y)}px ${Number(d.blur)}px ${Number(d.spread)}px ${ne(d.color)}`),["text","button","price","coupon_code","countdown","plan_picker"].includes(a.type)&&(n.font&&(s.fontFamily=Y[String(n.font)]??""),typeof n.size=="number"&&(s.fontSize=`${n.size}px`),typeof n.weight=="number"&&(s.fontWeight=String(n.weight)),typeof n.lineHeight=="number"&&(s.lineHeight=String(n.lineHeight)),typeof n.letterSpacing=="number"&&(s.letterSpacing=`${n.letterSpacing}px`),n.color&&(s.color=ne(n.color)),n.align&&(s.textAlign=String(n.align)),n.italic&&(s.fontStyle="italic"),n.decoration&&(s.textDecoration=String(n.decoration)),n.transform&&(s.textTransform=String(n.transform))),Qe(e,r.width,"width",t,n.align),Qe(e,r.height,"height",t,n.align),t?.direction==="horizontal"&&r.grow!==void 0&&(s.flexGrow=String(r.grow===!0?1:r.grow===!1?0:r.grow))}function xe(e,a){if($){let t=$.bindings.find(r=>r.componentId===e);if(!t)return;$.answers[t.variable]=a,Ae.add(e),N({type:"answers",answers:Xe()}),U();return}}function Xe(){let e={};for(let a of $?.bindings??[]){let t=h[a.componentId];t!==void 0&&typeof t!="number"&&(e[a.variable]=t)}return e}function kt(e){let a=document.createElement("section");a.className="g-data",a.dataset.layout=e.data.layout,a.dataset.source=e.data.source;let t=ee?.nodes[e.id];a.dataset.status=t?.status??"idle",a.dataset.preview=String(!!t?.preview);let r=t?.status==="loading",n=P.startsWith("zh"),s=(g,b)=>n?g:b;a.setAttribute("aria-busy",String(!!r));let i=(g,b,T)=>{let x=document.createElement(g);return x.className=b,T!==void 0&&(x.textContent=T),x},l=g=>{let b=document.createElementNS("http://www.w3.org/2000/svg","svg");b.setAttribute("viewBox","0 0 24 24"),b.setAttribute("fill","none"),b.setAttribute("stroke","currentColor"),b.setAttribute("stroke-width","1.7"),b.setAttribute("stroke-linecap","round"),b.setAttribute("stroke-linejoin","round"),b.setAttribute("aria-hidden","true"),b.classList.add("g-data-icon");let T={refresh:["M20 7v5h-5","M4 17v-5h5","M6.1 7a7 7 0 0 1 11.5-1.5L20 8M4 16l2.4 2.5A7 7 0 0 0 18 17"],down:["M7 7l10 10M7 17h10V7"],up:["M7 17L17 7M7 7h10v10"],chevron:["M6 9l6 6 6-6"],empty:["M4 8l8-4 8 4v10l-8 4-8-4V8Z","M4 8l8 4 8-4M12 12v10"],credit:["M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z","M12 7v10M8 12h8"]};for(let x of T[g]){let A=document.createElementNS("http://www.w3.org/2000/svg","path");A.setAttribute("d",x),b.append(A)}return b},d=(g,b,T,x=!1,A=b)=>{let z=i("button","g-data-button",g);return z.type="button",z.disabled=x||!!r&&b!=="refresh"||!!t?.preview||y.mode!=="live",r&&b==="refresh"&&z.setAttribute("aria-disabled","true"),z.dataset.gDataFocus=`${e.id}:${A}:${T??""}`,z.addEventListener("click",j=>{!j.isTrusted||z.disabled||r||N({type:"customer-data-intent",intent:{nodeId:e.id,action:b,...T?{value:T}:{}}})}),z},p=i("div","g-data-header"),f=i("h2","g-data-heading",_(e.title).value);f.id=`g-data-title-${e.id}`,a.setAttribute("aria-labelledby",f.id);let o=i("div","g-data-controls"),c=[],u=g=>{g.hidden||(g.type==="customer_data"&&c.push(g),g.type==="stack"&&g.children.forEach(u))},m=k?.pages[0];m&&u(m.root);let w=c.every(g=>ee?.nodes[g.id]?.preview),S=c.find(g=>g.data.source==="credit_balance")??c[0];t?.preview&&(!w||S?.id===e.id)&&o.append(i("span","g-data-preview",s("\\u793A\\u4F8B\\u6570\\u636E","Sample data")));let v=r?s("\\u66F4\\u65B0\\u4E2D\\u2026","Updating\\u2026"):s("\\u5237\\u65B0","Refresh"),L=d(v,"refresh");if(L.replaceChildren(l("refresh")),L.setAttribute("aria-label",v),L.title=v,L.classList.add("g-data-refresh"),r&&L.classList.add("g-data-refreshing"),o.append(L),e.data.source==="billing"&&e.data.outputs?.billing_portal&&o.append(d(t?.billingBusy?s("\\u6B63\\u5728\\u51C6\\u5907\\u2026","Preparing\\u2026"):s("\\u7BA1\\u7406\\u652F\\u4ED8\\u65B9\\u5F0F","Manage payment method"),"billing_portal",void 0,!!t?.billingBusy||t?.status!=="ready")),e.data.source==="credit_balance"&&(f.prepend(l("credit")),t?.resources.length===1&&f.append(i("span","g-data-resource-label",t.resources[0].name)),t?.updatedAt)){let g=i("time","g-data-updated",`${s("\\u66F4\\u65B0\\u4E8E","Updated")} ${new Intl.DateTimeFormat(P,{timeStyle:"short"}).format(new Date(t.updatedAt))}`);g.dateTime=t.updatedAt,g.title=new Intl.DateTimeFormat(P,{dateStyle:"medium",timeStyle:"short"}).format(new Date(t.updatedAt)),o.prepend(g)}if(p.append(f,o),a.append(p),!t||t.source!==e.data.source)return a.append(i("p","g-data-empty",s("\\u8FDE\\u63A5\\u5BA2\\u6237\\u6570\\u636E\\u540E\\u663E\\u793A\\u6B64\\u5185\\u5BB9\\u3002","Connect customer data to display this content."))),a;if(t.errorMessage){let g=i("div","g-data-error",t.errorMessage);g.setAttribute("role","alert"),a.append(g);let b=i("div","g-data-recovery");b.append(d(s("\\u91CD\\u8BD5","Retry"),"refresh")),a.append(b)}if(t.membershipResult){let g=i("p","g-data-note",t.membershipResult);g.setAttribute("role","status"),a.append(g)}if(t.membershipReview){let g=t.membershipReview,b=i("section","g-data-resource");b.dataset.gDataReview="",b.setAttribute("aria-label",g.title),b.setAttribute("aria-busy",String(!!t.membershipBusy));let T=i("h3","g-data-row-label",g.title);T.tabIndex=-1,b.append(T);let x=i("dl","g-data-facts");for(let z of g.facts){let j=i("div","");j.append(i("dt","",z.label),i("dd","",z.value)),x.append(j)}b.append(x,i("p","g-data-note",g.note));let A=i("div","g-data-controls");A.append(d(s("\\u8FD4\\u56DE","Back"),"membership_dismiss",void 0,!!t.membershipBusy),d(t.membershipBusy?s("\\u6B63\\u5728\\u5904\\u7406\\u2026","Processing\\u2026"):s("\\u786E\\u8BA4","Confirm"),"membership_confirm",void 0,!!t.membershipBusy)),b.append(A),a.append(b)}if(t.stale&&(t.resources.length||t.rows.length)&&a.append(i("p",r?"g-data-live-status":"g-data-note",r?s("\\u6B63\\u5728\\u66F4\\u65B0\\u8D26\\u6237\\u6570\\u636E\\u3002","Updating account data."):s("\\u663E\\u793A\\u4E0A\\u6B21\\u8BFB\\u53D6\\u7684\\u7ED3\\u679C\\uFF0C\\u6B63\\u5728\\u7B49\\u5F85\\u66F4\\u65B0\\u3002","Showing the last result while awaiting an update."))),r&&!t.resources.length&&!t.rows.length){let g=i("div","g-data-skeleton");if(g.setAttribute("aria-hidden","true"),e.data.source==="credit_balance")g.append(i("span","g-data-skeleton-line g-data-skeleton-value"),i("span","g-data-skeleton-line g-data-skeleton-meta"));else{let T=Math.min(e.data.pageSize,e.data.layout==="compact"?2:4);for(let x=0;x<T;x++){let A=i("div","g-data-skeleton-row");A.append(i("span","g-data-skeleton-line"),i("span","g-data-skeleton-line")),g.append(A)}}let b=i("p","g-data-live-status",s("\\u6B63\\u5728\\u8BFB\\u53D6\\u8D26\\u6237\\u6570\\u636E\\u2026","Loading account data\\u2026"));return b.setAttribute("role","status"),a.append(g,b),a}let R={credit_transactions:[["all","\\u5168\\u90E8\\u8BB0\\u5F55","All activity"],["consume","\\u6D88\\u8D39","Usage"],["reserve","\\u9884\\u6263","Reserved"],["confirm","\\u786E\\u8BA4\\u6263\\u8D39","Confirmed"],["release","\\u91CA\\u653E","Released"],["refund","\\u9000\\u56DE","Refund"]],credit_pack_orders:[["all","\\u5168\\u90E8\\u8BA2\\u5355","All orders"],["pending","\\u7B49\\u5F85\\u4ED8\\u6B3E","Pending"],["paid","\\u5DF2\\u4ED8\\u6B3E","Paid"],["expired","\\u5DF2\\u8FC7\\u671F","Expired"],["refunded","\\u5DF2\\u9000\\u6B3E","Refunded"],["disputed","\\u4E89\\u8BAE\\u4E2D","Disputed"]],offer_history:[["all","\\u5168\\u90E8\\u8BB0\\u5F55","All offers"],["issued","\\u672A\\u4F7F\\u7528","Unused"],["reserved","\\u4ED8\\u6B3E\\u5904\\u7406\\u4E2D","Payment pending"],["redeemed","\\u5DF2\\u4F7F\\u7528","Redeemed"],["expired","\\u5DF2\\u5230\\u671F","Expired"],["revoked","\\u5DF2\\u4F5C\\u5E9F","Revoked"]]};if(R[e.data.source]){let g=i("select","g-data-select");g.setAttribute("aria-label",s("\\u7B5B\\u9009\\u8BB0\\u5F55","Filter records")),g.dataset.gDataFocus=`${e.id}:filter`,g.disabled=!!r||t.preview||y.mode!=="live";for(let[b,T,x]of R[e.data.source]){let A=document.createElement("option");A.value=b,A.textContent=s(T,x),g.append(A)}g.value=t.filter,g.addEventListener("change",()=>{!g.disabled&&y.mode==="live"&&N({type:"customer-data-intent",intent:{nodeId:e.id,action:"filter",value:g.value}})}),o.prepend(g)}let ot=(g,b=!1)=>{let T=i("ul","g-data-list");if(e.data.source==="credit_transactions"&&g.length&&!b){let x=i("div","g-data-table-head");x.setAttribute("aria-hidden","true"),x.append(i("span","",s("\\u8BB0\\u5F55","Record")),i("span","",s("\\u7C7B\\u578B","Type")),i("span","",s("\\u79EF\\u5206","Credits"))),a.append(x)}for(let x of g){let A=i("li","g-data-row"),z=i("div","g-data-row-main"),j=i("div","g-data-row-copy");j.append(i("p","g-data-row-label",x.label));for(let M of x.detail)M!==x.status&&j.append(i("div","g-data-row-detail",M));if(e.data.source==="credit_transactions"&&!b){let M=i("span","g-data-row-mark");M.append(l(["Refund","\\u9000\\u56DE"].includes(x.status??"")?"up":"down")),z.append(M)}if(z.append(j),A.append(z),x.status?A.append(i("div","g-data-row-status",x.status)):A.classList.add("g-data-row-no-status"),x.value?A.append(i("div","g-data-row-value",x.value)):A.classList.add("g-data-row-no-value"),x.facts.length||x.purchaseId||x.membershipActions?.length||x.billingActions?.length){let M=i("div","g-data-row-extra"),V=i("div","g-data-facts"),W=(D,Ee)=>{for(let dt of D){let lt=i("span","",dt.label);lt.append(i("strong","",dt.value)),Ee.append(lt)}};if(W(x.facts.slice(0,3),V),x.facts.length>3){let D=i("details","g-data-sources");D.dataset.gDataSources=`facts:${x.id}`,D.append(i("summary","",`${e.data.source==="billing"?s("\\u8D26\\u5355\\u8BE6\\u60C5","Invoice details"):e.data.source==="offer_history"?s("\\u4F18\\u60E0\\u5238\\u660E\\u7EC6","Coupon details"):s("\\u5168\\u90E8\\u6263\\u8D39\\u660E\\u7EC6","All allocations")} \\xB7 ${x.facts.length}`));let Ee=i("div","g-data-facts");W(x.facts.slice(3),Ee),D.append(Ee),V.append(D)}if(M.append(V),!b)for(let D of x.billingActions??[])M.append(d(D.label,D.action,x.id,!!t.billingBusy));if(x.purchaseId&&e.data.allowPurchase&&!b){let D=d(t.buyingId===x.purchaseId?s("\\u6B63\\u5728\\u51C6\\u5907\\u2026","Preparing\\u2026"):s("\\u8D2D\\u4E70\\u79EF\\u5206","Buy credits"),"buy_pack",x.purchaseId,!!t.preview||!!t.buyingId);D.classList.add("g-data-buy"),M.append(D)}if(e.data.allowPurchase&&!b)for(let D of x.membershipActions??[])M.append(d(D.label,"membership_preview",D.value,!!t.preview||!!t.membershipBusy||!!t.membershipReview));A.append(M)}T.append(A)}return T};for(let g of t.resources){let b=i("article","g-data-resource");b.setAttribute("aria-label",g.name),t.resources.length>1&&b.append(i("p","g-data-name",g.name));let T=i("div","g-data-balance"),x=new Intl.NumberFormat(P).formatToParts(1.1).find(M=>M.type==="decimal")?.value??".",A=g.spendable.lastIndexOf(x),z=i("strong","g-data-number",A<0?g.spendable:g.spendable.slice(0,A));A>=0&&z.append(i("span","g-data-fraction",g.spendable.slice(A))),T.append(z,i("span","g-data-unit",s("\\u53EF\\u7528\\u79EF\\u5206","Spendable credits"))),b.append(T);let j=i("div","g-data-facts");for(let[M,V]of[[s("\\u4F59\\u989D","Balance"),g.available],[s("\\u51BB\\u7ED3","Reserved"),g.reserved]]){let W=i("span","",M);W.append(i("strong","",V)),j.append(W)}if(g.expiry&&j.append(i("span","g-data-expiry",`${s("\\u6700\\u8FD1\\u5230\\u671F","Next expiry")} \\xB7 ${g.expiry}`)),b.append(j),e.data.showSources&&g.sourceCount){let M=i("details","g-data-sources");if(M.dataset.gDataSources=g.key,M.append(i("summary","",`${s("\\u79EF\\u5206\\u6765\\u6E90","Credit sources")} \\xB7 ${g.sourceCount}`),ot(g.sources,!0)),M.querySelector("summary")?.append(l("chevron")),g.hasNextSources||g.hasPreviousSources){let V=i("div","g-data-footer");V.append(i("span","",`${s("\\u7B2C","Page")} ${g.sourcePage}`));let W=i("div","g-data-controls");W.append(d(s("\\u4E0A\\u4E00\\u9875","Previous"),"sources_previous",g.key,!g.hasPreviousSources),d(s("\\u4E0B\\u4E00\\u9875","Next"),"sources_next",g.key,!g.hasNextSources)),V.append(W),M.append(V)}b.append(M)}a.append(b)}if(t.rows.length&&a.append(ot(t.rows)),e.data.source==="billing_controls"&&(e.data.outputs?.billing_authorization||e.data.outputs?.billing_adjustment)){let g=i("div","g-data-controls");e.data.outputs?.billing_authorization&&g.append(d(s("\\u8BBE\\u7F6E\\u81EA\\u52A8\\u4ED8\\u6B3E\\u6388\\u6743","Set up payment authorization"),"billing_authorization")),e.data.outputs?.billing_adjustment&&g.append(d(s("\\u67E5\\u770B\\u5F85\\u786E\\u8BA4\\u8865\\u6B3E","Review pending adjustment"),"billing_adjustment")),a.append(g)}if(!t.rows.length&&!t.resources.length&&t.status!=="error"){let g=i("p","g-data-empty",r?s("\\u6B63\\u5728\\u8BFB\\u53D6\\u8D26\\u6237\\u6570\\u636E\\u2026","Loading account data\\u2026"):t.status==="idle"?s("\\u767B\\u5F55\\u540E\\u67E5\\u770B\\u4F60\\u7684\\u8D26\\u6237\\u6570\\u636E\\u3002","Sign in to view your account data."):t.filter!=="all"?s("\\u6CA1\\u6709\\u7B26\\u5408\\u7B5B\\u9009\\u6761\\u4EF6\\u7684\\u8BB0\\u5F55\\u3002","No records match this filter."):e.data.source==="credit_pack_orders"?s("\\u6682\\u65E0\\u8D2D\\u4E70\\u8BB0\\u5F55","No purchases yet"):e.data.source==="credit_balance"?s("\\u6682\\u65E0\\u79EF\\u5206\\u6765\\u6E90","No credit balances yet"):e.data.source==="membership"?s("\\u6682\\u65E0\\u4F1A\\u5458\\u65B9\\u6848","No memberships yet"):e.data.source==="customer_plans"?s("\\u6682\\u65E0\\u53EF\\u9009\\u5957\\u9910","No plans available"):e.data.source==="credit_packs"?s("\\u6682\\u65E0\\u53EF\\u8D2D\\u4E70\\u7684\\u79EF\\u5206\\u5305","No credit packs available"):e.data.source==="billing_controls"?s("\\u5C1A\\u672A\\u8BBE\\u7F6E\\u7528\\u91CF\\u9650\\u5236\\u6216\\u81EA\\u52A8\\u4ED8\\u6B3E\\u6388\\u6743","No usage limits or payment authorizations configured"):e.data.source==="offer_history"?s("\\u6682\\u65E0\\u4F18\\u60E0\\u8BB0\\u5F55","No offers yet"):e.data.source==="billing"?s("\\u6682\\u65E0\\u8D26\\u5355","No invoices yet"):s("\\u8FD9\\u91CC\\u8FD8\\u6CA1\\u6709\\u8BB0\\u5F55\\u3002","There are no records yet."));g.prepend(l("empty")),g.setAttribute("role","status"),a.append(g)}if(t.hasNext||t.hasPrevious){let g=i("div","g-data-footer");g.append(i("span","",`${s("\\u7B2C","Page")} ${t.page}`));let b=i("div","g-data-controls");b.append(d(s("\\u4E0A\\u4E00\\u9875","Previous"),"previous",void 0,!t.hasPrevious),d(s("\\u4E0B\\u4E00\\u9875","Next"),"next",void 0,!t.hasNext)),g.append(b),a.append(g)}return t.updatedAt&&e.data.source!=="credit_balance"&&a.append(i("p","g-data-note g-data-updated",`${s("\\u6570\\u636E\\u66F4\\u65B0\\u4E8E","Updated")} ${new Intl.DateTimeFormat(P,{dateStyle:"medium",timeStyle:"short"}).format(new Date(t.updatedAt))}`)),a}let Q=new Map,Pe=new Map,et=e=>{let a=e.target;for(let t of Q.keys())a&&!J(t)?.contains(a)&&Q.delete(t)};document.addEventListener("focusin",et),document.addEventListener("pointerdown",et);function St(e){let a=ee;if(ee=e,!k)return;let t=(n,s)=>{if(n.type==="stack"){n.children.forEach(m=>t(m,n));return}if(n.type!=="customer_data"||JSON.stringify(a?.nodes[n.id])===JSON.stringify(e.nodes[n.id]))return;let i=J(n.id);if(!i)return;let l=document.activeElement;l&&i.contains(l)&&l.dataset.gDataFocus&&Q.set(n.id,l.dataset.gDataFocus);let d=new Set([...i.querySelectorAll("details[data-g-data-sources]")].filter(m=>m.open).map(m=>m.dataset.gDataSources)),p=we(n,s);if(!p)return;for(let m of p.querySelectorAll("details[data-g-data-sources]"))m.open=d.has(m.dataset.gDataSources);let f=i.scrollTop;i.replaceWith(p),p.scrollTop=f;let o=!!e.nodes[n.id]?.membershipReview&&!a?.nodes[n.id]?.membershipReview,c=!e.nodes[n.id]?.membershipReview&&!!a?.nodes[n.id]?.membershipReview;o&&Q.get(n.id)&&Pe.set(n.id,Q.get(n.id));let u=c?Pe.get(n.id):Q.get(n.id);u&&[...p.querySelectorAll("[data-g-data-focus]")].find(m=>m.dataset.gDataFocus===u)?.focus({preventScroll:!0}),o&&p.querySelector("[data-g-data-review] h3")?.focus({preventScroll:!0}),c&&Pe.delete(n.id),p.animate&&e.nodes[n.id]?.status==="ready"&&!window.matchMedia("(prefers-reduced-motion:reduce)").matches&&p.animate([{opacity:.7},{opacity:1}],{duration:140,easing:"ease-out"})},r=k.pages.find(n=>n.id===B)??k.pages[0];t(r.root,null),de()}function we(e,a){if(e.hidden)return null;let t;if(e.type==="customer_data")t=kt(e);else if(e.type==="stack"){t=document.createElement(e.purchaseAction?"button":"div"),e.purchaseAction&&(t.type="button",t.dataset.gAction=e.purchaseAction),t.className=`${e.purchaseAction?`g-btn g-btn-${e.buttonVariant??"primary"} `:""}g-stack ${e.direction==="horizontal"?"g-h":e.direction==="overlay"?"g-o":"g-v"}`,e.direction==="overlay"?(t.style.alignItems=ht[e.align]??"stretch",t.style.justifyItems=mt[e.justify]??"stretch"):(t.style.alignItems=Be[e.align]??"stretch",t.style.justifyContent=qe[e.justify]??"flex-start");for(let r of e.children){let n=we(r,e);n&&t.append(n)}if(e.interaction&&Et(t,e),e.purchaseAction&&y.mode==="live"){let r=E?.nodes[e.id],n=r?.picker;n&&(t.disabled=!E?.pickers[n]?.options.includes(String(h[n]??""))),q(e.id)?.unavailable&&(t.disabled=!0)}y.mode==="editor"&&!t.childElementCount&&(t.classList.add("g-empty"),t.dataset.gEditorPlaceholder=y.editorMessages?.emptyContainer??"\\u62D6\\u5165\\u7EC4\\u4EF6")}else if(e.type==="text"){let r=e.variant==="title"?"h1":e.variant==="heading"?"h2":"p";t=document.createElement(r),t.className=`g-text g-${e.variant}`;let n=se(e,"text",e.text);t.textContent=n.value,n.missing&&y.mode==="editor"&&t.classList.add("g-missing")}else if(e.type==="button"){t=document.createElement("button"),t.type="button",t.className=`g-btn g-btn-${e.variant}`;let r=se(e,"label",e.label);t.textContent=r.value,r.missing&&y.mode==="editor"&&t.classList.add("g-missing"),t.dataset.gAction=e.action;let n=E?.nodes[e.id]?.picker;if(n&&y.mode==="live"){let s=n,i=E?.pickers[s],l=h[s]??i?.selected;t.disabled=!i?.options.includes(String(l)),t.disabled&&t.setAttribute("aria-disabled","true")}y.mode==="live"&&q(e.id)?.unavailable&&(t.disabled=!0,t.setAttribute("aria-disabled","true")),y.mode==="editor"&&(t.tabIndex=-1)}else if(e.type==="image"){t=document.createElement("div"),t.className="g-img",Ue[e.aspect]&&(t.dataset.aspect=e.aspect,t.style.aspectRatio=Ue[e.aspect]);let r=document.createElement("img");r.src=e.localizedSrc?.[P]??e.localizedSrc?.[k.strings.defaultLocale]??e.src,r.alt=se(e,"alt",e.alt).value,r.referrerPolicy="no-referrer",r.decoding="async",r.style.objectFit=e.fit,e.position&&(r.style.objectPosition=`${e.position.x}% ${e.position.y}%`),r.addEventListener("load",ke),t.append(r)}else if(e.type==="price"){t=document.createElement("div"),t.className="g-price",t.style.cssText="display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-variant-numeric:tabular-nums";let r=q(e.id);if(!r?.price)t.textContent=r?.text??_(e.fallback).value,y.mode==="editor"&&t.classList.add("g-missing");else for(let n of["current","original","period"]){let s=r.price[n];if(!s)continue;let i=document.createElement(n==="original"?"s":"span");i.textContent=s,n==="original"&&(i.style.opacity=".6"),e.parts?.[n]&&oe(i,{type:"text",id:e.id,text:e.fallback,variant:"body",style:e.parts[n]},null),t.append(i)}}else if(e.type==="coupon_code"){t=document.createElement("div"),t.style.cssText="display:flex;align-items:center;gap:12px;flex-wrap:wrap";let r=q(e.id);if(r?.code){let n=document.createElement("code");n.textContent=r.code;let s=document.createElement("button");s.type="button",s.className="g-btn g-btn-secondary",s.textContent=_(e.label).value,s.addEventListener("click",i=>{y.mode!=="editor"&&(i.stopPropagation(),N({type:"copy",nodeId:e.id}))}),t.append(n,s)}else t.textContent=r?.text??_(e.fallback).value,y.mode==="editor"&&t.classList.add("g-missing")}else if(e.type==="countdown"){t=document.createElement("span"),t.setAttribute("role","timer"),t.style.fontVariantNumeric="tabular-nums";let r=q(e.id),n=r?.countdownAt?Date.parse(r.countdownAt):NaN,s=e.granularity==="second"?void 0:new Intl.NumberFormat(P,{style:"unit",unit:e.granularity,unitDisplay:"short"});!Number.isFinite(n)&&y.mode==="editor"&&t.classList.add("g-missing");let i=()=>{if(!Number.isFinite(n)){t.textContent=r?.text??_(e.fallback).value;return}let l=Math.max(0,Math.ceil((n-Date.now())/1e3));if(!l){t.textContent=_(e.expired).value;let o=Z.get(e.id);o!==void 0&&clearInterval(o),Z.delete(e.id);return}let d=e.granularity,p=d==="day"?86400:d==="hour"?3600:d==="minute"?60:1,f=s?s.format(Math.ceil(l/p)):[Math.floor(l/86400),Math.floor(l/3600)%24,Math.floor(l/60)%60,l%60].map(o=>String(o).padStart(2,"0")).join(":");t.textContent!==f&&(t.textContent=f)};i(),Number.isFinite(n)&&n>Date.now()&&Z.set(e.id,setInterval(i,1e3))}else if(e.type==="quantity_picker"){t=document.createElement("div");let r=E?.quantities?.[e.id],n=document.createElement("label");n.textContent=_(e.label).value;let s=document.createElement("input");s.type="range",s.id=`quantity-${e.id}`,n.htmlFor=s.id,s.min=String(r?.minimum??e.minimumQuantity),s.max=String(r?.maximum??e.maximumQuantity),s.step=String(e.step),s.value=String(typeof h[e.id]=="number"?h[e.id]:e.defaultQuantity),h[e.id]=Number(s.value),s.disabled=y.mode!=="editor"&&!r?.available,s.style.cssText="width:100%;accent-color:var(--g-primary)";let i=document.createElement("output");i.textContent=r?.label||_(e.fallback).value,s.setAttribute("aria-valuetext",r?.label??String(s.value)),s.oninput=()=>{h[e.id]=Number(s.value),N({type:"selection",selection:K()})},t.append(n,s,i)}else if(e.type==="plan_picker"){t=document.createElement("div"),t.setAttribute("role",e.grouping?"group":"radiogroup"),t.setAttribute("aria-label",_(e.label).value),t.style.cssText="display:flex;flex-direction:column;gap:8px";let r=E?.pickers[e.id],n=e.grouping;if(!r?.options.length)t.textContent=_(e.fallback).value,y.mode==="editor"&&t.classList.add("g-missing");else{let s=typeof h[e.id]=="string"?String(h[e.id]):r.selected,i=G[e.id];if(n){if(!i){let S=n.assignments.find(v=>v.productVersionId===s);i={period:S?.period??"month",tierId:S?.tierId??n.tiers[0].id},G[e.id]=i}let o=n.assignments.find(S=>S.tierId===i.tierId&&S.period===i.period);s=o&&r.options.includes(o.productVersionId)?o.productVersionId:"";let c=document.createElement("div");c.setAttribute("role","radiogroup"),c.setAttribute("aria-label",`${_(n.monthLabel).value} / ${_(n.yearLabel).value}`),c.style.cssText="display:flex;gap:4px;padding:4px;border:1px solid var(--g-border);border-radius:10px";let u=["month","year"],m=u.filter(S=>n.assignments.some(v=>v.period===S&&r.options.includes(v.productVersionId))),w=S=>{i.period=S;let v=n.assignments.find(L=>L.tierId===i.tierId&&L.period===S);h[e.id]=v&&r.options.includes(v.productVersionId)?v.productVersionId:"",U(),N({type:"selection",selection:K()}),J(e.id)?.querySelector(`[data-product-period="${S}"]`)?.focus()};for(let S of u){let v=document.createElement("button");v.type="button",v.className=`g-btn g-btn-${S===i.period?"primary":"secondary"}`,v.style.cssText="flex:1;min-width:0;min-height:40px",v.dataset.productPeriod=S,v.setAttribute("role","radio"),v.setAttribute("aria-checked",String(S===i.period)),v.textContent=_(S==="month"?n.monthLabel:n.yearLabel).value,v.disabled=!m.includes(S),v.tabIndex=y.mode==="editor"||v.disabled?-1:S===i.period||!m.includes(i.period)&&S===m[0]?0:-1,v.addEventListener("click",L=>{y.mode!=="editor"&&(L.stopPropagation(),w(S))}),v.addEventListener("keydown",L=>{if(y.mode==="editor"||!m.length)return;let R;["ArrowRight","ArrowDown"].includes(L.key)?R=(m.indexOf(S)+1)%m.length:["ArrowLeft","ArrowUp"].includes(L.key)?R=(m.indexOf(S)-1+m.length)%m.length:L.key==="Home"?R=0:L.key==="End"&&(R=m.length-1),R!==void 0&&(L.preventDefault(),w(m[R]))}),c.append(v)}t.append(c)}h[e.id]=s??"";let l=n?n.tiers.map(o=>({tier:o,id:n.assignments.find(c=>c.tierId===o.id&&c.period===i.period)?.productVersionId})):r.options.map(o=>({id:o,tier:void 0})),d=l.filter(o=>o.id&&r.options.includes(o.id)),p=n?document.createElement("div"):t;n&&(p.setAttribute("role","radiogroup"),p.setAttribute("aria-label",_(e.label).value),p.style.cssText="display:flex;flex-direction:column;gap:8px",t.append(p));let f=o=>{!o.id||!r.options.includes(o.id)||(n&&o.tier&&(i.tierId=o.tier.id),h[e.id]=o.id,U(),N({type:"selection",selection:K()}),J(e.id)?.querySelector(`[data-plan-id="${o.id}"]`)?.focus())};for(let o of l){let c=o.id?E.plans[o.id]:void 0,u=!!c&&r.options.includes(o.id),m=document.createElement("button");m.type="button",m.className="g-btn g-btn-secondary",m.style.cssText="width:100%;text-align:start;min-height:44px",m.setAttribute("role","radio");let w=n?o.tier?.id===i.tierId:o.id===s;m.setAttribute("aria-checked",String(w)),m.disabled=!u,m.tabIndex=y.mode==="editor"||!u?-1:w||!s&&o===d[0]?0:-1,o.id&&(m.dataset.planId=o.id),o.tier&&(m.dataset.productTier=o.tier.id);let S=o.id?E.nodes[e.id]?.byPlan?.[o.id]?.price:void 0;m.textContent=u?`${o.tier?.name??c.name} \\xB7 ${S?.current??c.price}${S?.period??c.period}`:`${o.tier?.name??""} \\xB7 ${_(n?.unavailableLabel??e.fallback).value}`,w&&(m.style.borderColor="var(--g-primary)",m.style.boxShadow="inset 0 0 0 1px var(--g-primary)",e.states?.selected&&oe(m,{type:"text",id:e.id,text:e.label,variant:"body",style:e.states.selected},null)),m.addEventListener("click",v=>{y.mode==="editor"||!u||(v.stopPropagation(),f(o))}),m.addEventListener("keydown",v=>{if(y.mode==="editor"||!d.length)return;let L=d.indexOf(o),R;["ArrowRight","ArrowDown"].includes(v.key)?R=(L+1)%d.length:["ArrowLeft","ArrowUp"].includes(v.key)?R=(L-1+d.length)%d.length:v.key==="Home"?R=0:v.key==="End"&&(R=d.length-1),R!==void 0&&(v.preventDefault(),f(d[R]))}),p.append(m)}if(n&&!s){let o=document.createElement("p");o.setAttribute("role","status"),o.textContent=_(n.unavailableLabel).value,t.append(o)}}}else if(e.type==="divider")t=document.createElement("hr"),t.className="g-divider";else if(e.type==="spacer")t=document.createElement("div"),t.setAttribute("aria-hidden","true"),t.style.flex="0 0 auto",t.style.width=t.style.height=`${gt[e.size]??0}px`;else if(e.type==="custom_html"){t=document.createElement("div"),t.className="g-custom";let r=t.attachShadow({mode:"open"}),n=document.createElement("style"),s="@media(prefers-reduced-motion:reduce){:host,:host::before,:host::after,*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}";n.textContent=`:host{display:block}${s}@layer indiana-accessibility{${s}}${e.css}`;let i=document.createElement("div");r.append(n,i),ge.set(t,{body:i,source:null,bound:!1,unresolved:!1,variables:[],bindings:[],fallback:!1,initialized:!1,template:null,parked:!1}),Ze(t,e)}else return null;return e.style&&oe(t,e,a),t.dataset.gNode=e.id,t.dataset.gLabel=wt(e),_e.set(e.id,t),t}function Et(e,a){let t=a.interaction,r=[...e.children];e.setAttribute("aria-label",_(t.label).value);let n=$?.bindings.find(i=>i.componentId===a.id),s=n?{id:n.variable,source:n.componentId,required:n.required}:void 0;if(s){let i=document.createElement("p");i.className="g-text g-body",i.textContent=_(t.label).value+(s.required?" *":""),e.prepend(i),s.required&&e.setAttribute("aria-required","true")}if(t.type==="input"){let i=document.createElement("input");i.type=t.keyboard,i.maxLength=t.maxLength,i.autocomplete="off",i.setAttribute("aria-label",_(t.label).value),i.setAttribute("aria-required",String(!!s?.required)),i.value=typeof h[a.id]=="string"?String(h[a.id]):"",i.style.cssText="box-sizing:border-box;width:100%;min-height:44px;padding:10px 14px;border:1px solid var(--g-border);border-radius:8px;background:var(--g-surface);color:var(--g-text);font:inherit",i.disabled=y.mode!=="live",i.addEventListener("input",()=>{h[a.id]=i.value,xe(a.id,i.value)}),e.append(i);return}if(!(y.mode!=="live"||!r.length&&t.type!=="toggle")){if(t.type==="multiselect"){e.setAttribute("role","group"),e.dataset.gMin=String(t.min);let i=a.children.filter(p=>!p.hidden),l=new Set(Array.isArray(h[a.id])?h[a.id]:[]),d=()=>r.forEach((p,f)=>{let o=l.has(i[f].id);p.setAttribute("aria-checked",String(o)),p.setAttribute("aria-disabled",String(!o&&l.size>=t.max)),p.style.outline=o?"2px solid var(--g-primary)":"",p.style.outlineOffset="-2px"});r.forEach((p,f)=>{p.setAttribute("role","checkbox"),p.tabIndex=0,p.setAttribute("aria-label",p.textContent?.trim()||String(f+1)),p.style.cursor="pointer";let o=()=>{let c=i[f].id;if(l.has(c))l.delete(c);else if(l.size<t.max)l.add(c);else return;let u=i.filter(m=>l.has(m.id)).map(m=>m.id);h[a.id]=u,d(),xe(a.id,u)};p.addEventListener("click",c=>{c.stopPropagation(),o()}),p.addEventListener("keydown",c=>{[" ","Enter"].includes(c.key)&&(c.preventDefault(),c.stopPropagation(),o())})}),d();return}if(t.type==="select"){e.setAttribute("role","radiogroup");let i=a.children.filter(f=>!f.hidden),l=C(a)?a.interaction.pickerId:void 0,d=i.findIndex(f=>l?f.type==="stack"&&f.bind?.plan===h[l]:f.id===h[a.id]);!l&&d<0&&!s?.required&&(d=Math.min(t.defaultIndex,r.length-1));let p=(f,o=!1,c=!0)=>{if(l&&c&&f>=0){let u=i[f],m=u.type==="stack"?u.bind?.plan:void 0;if(!m||!E?.pickers[l]?.options.includes(m))return;h[a.id]=u.id,h[l]=m,U(),N({type:"selection",selection:K()}),o&&I.querySelector(`[data-g-node="${u.id}"]`)?.focus({preventScroll:!0});return}d=f,f>=0&&(h[a.id]=i[f].id),c&&f>=0&&xe(a.id,i[f].id),r.forEach((u,m)=>{u.setAttribute("aria-checked",String(m===f)),u.tabIndex=m===(f<0?0:f)?0:-1,u.style.cssText="";let w=i[m];w.type==="stack"&&(u.style.alignItems=Be[w.align]??"stretch",u.style.justifyContent=qe[w.justify]??"flex-start"),w.style&&oe(u,w,a),m===f&&(t.selectedStyle&&oe(u,{...w,style:t.selectedStyle},a),w.type==="stack"&&w.states?.selected&&oe(u,{...w,style:w.states.selected},a),!t.selectedStyle?.border&&!(w.type==="stack"&&w.states?.selected?.border)&&(u.style.outline="2px solid var(--g-primary)",u.style.outlineOffset="-2px")),u.style.cursor="pointer"}),o&&f>=0&&r[f].focus()};r.forEach((f,o)=>{if(f.setAttribute("role","radio"),l){let c=i[o],u=c.type==="stack"?c.bind?.plan:void 0;f.setAttribute("aria-disabled",String(!u||!E?.pickers[l]?.options.includes(u)))}f.setAttribute("aria-label",f.textContent?.trim()||String(o+1)),f.addEventListener("click",c=>{c.stopPropagation(),p(o)}),f.addEventListener("keydown",c=>{let u=c.key;if(!["ArrowRight","ArrowLeft","ArrowDown","ArrowUp","Home","End"," ","Enter"].includes(u))return;c.preventDefault(),c.stopPropagation();let m=d<0?o:d;p(u==="Home"?0:u==="End"?r.length-1:u==="ArrowRight"||u==="ArrowDown"?(m+1)%r.length:u==="ArrowLeft"||u==="ArrowUp"?(m+r.length-1)%r.length:o,!0)})}),p(d,!1,!1)}else if(t.type==="tabs"){let i=a.children.filter(o=>!o.hidden),l=document.createElement("div");l.setAttribute("role","tablist"),l.setAttribute("aria-label",_(t.label).value),l.style.cssText="display:flex;gap:4px;padding:4px;border:1px solid var(--g-border);border-radius:12px";let d=r.map((o,c)=>{let u=document.createElement("button");return u.type="button",u.setAttribute("role","tab"),u.textContent=De(i[c])||String(c+1),u.style.cssText="flex:1;min-width:0;min-height:44px;padding:8px 16px;border:0;border-radius:8px;font:inherit;cursor:pointer",o.id=`g-${a.id}-${i[c].id}`,o.setAttribute("role","tabpanel"),u.setAttribute("aria-controls",o.id),l.append(u),u}),p=(o,c=!1,u=!1)=>{if(h[a.id]=i[o].id,u&&k&&Object.keys(O(k)).length){for(let m of Object.keys(O(k)))delete h[m];U(),N({type:"selection",selection:K()}),c&&I.querySelector(`[data-g-node="${a.id}"] [role="tab"][aria-selected="true"]`)?.focus({preventScroll:!0});return}r.forEach((m,w)=>{m.hidden=w!==o,d[w].setAttribute("aria-selected",String(w===o)),d[w].tabIndex=w===o?0:-1,d[w].style.background=w===o?"var(--g-primary)":"transparent",d[w].style.color=w===o?"var(--g-on-primary)":"var(--g-text)"}),c&&d[o].focus(),de()};d.forEach((o,c)=>{o.addEventListener("click",u=>{u.stopPropagation(),p(c,!1,!0)}),o.addEventListener("keydown",u=>{["ArrowLeft","ArrowRight","Home","End"].includes(u.key)&&(u.preventDefault(),u.stopPropagation(),p(u.key==="Home"?0:u.key==="End"?r.length-1:(c+(u.key==="ArrowRight"?1:r.length-1))%r.length,!0,!0))})}),e.prepend(l);let f=i.findIndex(o=>o.id===h[a.id]);p(f>=0?f:Math.min(t.defaultIndex,r.length-1))}else if(t.type==="toggle"){let i=document.createElement("button");i.type="button",i.setAttribute("role","switch"),i.className="g-btn g-btn-secondary",i.style.cssText="display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--g-text)";let l=document.createElement("span");l.textContent=_(t.label).value;let d=document.createElement("span");d.setAttribute("aria-hidden","true"),d.style.cssText="position:relative;display:block;flex:none;width:44px;height:24px;border-radius:12px;background:var(--g-border)";let p=document.createElement("span");p.style.cssText="position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003",d.append(p),i.append(l,d);let f=(o,c=!1)=>{if(h[a.id]=o,c&&k&&Object.keys(O(k)).length){for(let u of Object.keys(O(k)))delete h[u];U(),N({type:"selection",selection:K()}),I.querySelector(`[data-g-node="${a.id}"] [role="switch"]`)?.focus({preventScroll:!0});return}i.setAttribute("aria-checked",String(o)),d.style.background=o?"var(--g-primary)":"var(--g-border)",p.style.left=o?"23px":"3px",p.style.background=o?"var(--g-on-primary)":"#FFFFFF",r.forEach((u,m)=>u.hidden=m!==(o?0:1)),de()};i.addEventListener("click",o=>{o.stopPropagation(),f(!h[a.id],!0),xe(a.id,!!h[a.id])}),e.prepend(i),f(typeof h[a.id]=="boolean"?h[a.id]:t.defaultEnabled)}else{e.setAttribute("role","region"),e.setAttribute("aria-roledescription","carousel");let i=document.createElement("div");i.style.cssText="display:flex;align-items:center;justify-content:center;gap:10px";let l=document.createElement("button"),d=document.createElement("button"),p=document.createElement("span"),f=P.startsWith("zh");l.textContent="\\u2190",d.textContent="\\u2192",l.setAttribute("aria-label",f?"\\u4E0A\\u4E00\\u6761\\u8BC4\\u4EF7":"Previous review"),d.setAttribute("aria-label",f?"\\u4E0B\\u4E00\\u6761\\u8BC4\\u4EF7":"Next review");for(let c of[l,d])c.type="button",c.className="g-btn g-btn-secondary",c.style.color="var(--g-text)";p.setAttribute("aria-live","polite");let o=c=>{ie[a.id]=c,r.forEach((u,m)=>u.hidden=m!==c),p.textContent=`${c+1} / ${r.length}`,de()};l.addEventListener("click",c=>{c.stopPropagation(),o((ie[a.id]+r.length-1)%r.length)}),d.addEventListener("click",c=>{c.stopPropagation(),o((ie[a.id]+1)%r.length)}),i.append(l,p,d),e.append(i),o(ie[a.id]??0)}}}function De(e){if(e.hidden)return"";if(e.type==="text"&&(e.variant==="title"||e.variant==="heading"))return _(e.text).value;if(e.type==="stack")for(let a of e.children){let t=De(a);if(t)return t}return""}function tt(e){return e.type==="stack"&&!e.interaction&&!e.purchaseAction}function ve(e){let a=[],t=r=>{let n=E?.nodes[r.id];if(a.push(r.id,q(r.id)),n?.picker&&a.push(h[n.picker],E?.pickers[n.picker]),r.type==="text")a.push(se(r,"text",r.text));else if(r.type==="button")a.push(se(r,"label",r.label));else if(r.type==="image")a.push(se(r,"alt",r.alt));else if(r.type==="custom_html"){let s=$e(r);a.push(s,y.mode==="live"&&$?Ke(s).map(i=>[i,Me(i)]):void 0)}else if(r.type==="customer_data")a.push(ee?.nodes[r.id]);else if(r.type==="plan_picker"){let s=E?.pickers[r.id];a.push(h[r.id],G[r.id],s,n,s?.options.map(i=>E?.plans[i]))}else r.type==="stack"&&(r.interaction?.type!=="input"&&a.push(h[r.id],ie[r.id]),C(r)&&a.push(h[r.interaction.pickerId],E?.pickers[r.interaction.pickerId]),r.children.forEach(t))};return t(e),JSON.stringify(a)}function at(e){e.hidden||(tt(e)?e.children.forEach(at):le.set(e.id,ve(e)))}function He(e){if(e.type==="custom_html"){let t=J(e.id),r=t&&ge.get(t);r&&Ce(r)}let a=Z.get(e.id);a!==void 0&&clearInterval(a),Z.delete(e.id),e.type==="stack"&&e.children.forEach(He)}function rt(e,a){if(e.hidden)return;if(tt(e)){e.children.forEach(n=>rt(n,e));return}if(le.get(e.id)===ve(e))return;let t=J(e.id);if(!t)return;if(e.type==="custom_html"&&ge.has(t)){Ze(t,e),le.set(e.id,ve(e));return}He(e);let r=we(e,a);r&&(t.replaceWith(r),le.set(e.id,ve(e)))}function At(){let e=document.activeElement;if(!(e instanceof HTMLElement)||!I.contains(e))return;let a=e.closest("[data-g-node]");if(!a)return;let t=[];for(let r=e;r!==a;){let n=r.parentElement;if(!n)return;t.unshift(Array.prototype.indexOf.call(n.children,r)),r=n}return{active:e,nodeId:a.dataset.gNode,path:t,identity:["productPeriod","planId","productTier","gDataFocus"].map(r=>[r,e.dataset[r]]).find(([,r])=>r!==void 0),selection:e instanceof HTMLInputElement&&e.selectionStart!==null?{start:e.selectionStart,end:e.selectionEnd,direction:e.selectionDirection}:void 0}}function _t(e){if(!e||e.active.isConnected)return;let a=J(e.nodeId);if(!a)return;let t=a;if(e.identity){let[r,n]=e.identity;t=[...a.querySelectorAll("*")].find(s=>s.dataset[r]===n)}else for(let r of e.path)t=t?.children[r];!t||t.hasAttribute("disabled")||(t.focus({preventScroll:!0}),e.selection&&t instanceof HTMLInputElement&&["text","search","tel","url","password"].includes(t.type)&&t.setSelectionRange(e.selection.start,e.selection.end,e.selection.direction??void 0))}function U(e=!1){if(!k)return;let a=e?void 0:At(),t=k.pages.find(n=>n.id===(B??k.initialPageId))??k.pages[0];if(B=t.id,E){let n={},s=i=>{i.type==="stack"&&i.children.forEach(s),i.type==="plan_picker"&&typeof h[i.id]=="string"&&h[i.id]!==""&&(n[i.id]=String(h[i.id]))};s(t.root),Object.assign(h,pe({...k,pages:[t]},K(),E)),Object.assign(h,n)}let r=n=>{if(n.type==="stack"&&n.children.forEach(r),n.type!=="plan_picker"||!n.grouping)return;let s=n.grouping,i=E?.pickers[n.id],l=G[n.id];if(!l){let p=s.assignments.find(f=>f.productVersionId===(h[n.id]??i?.selected));l={period:p?.period??"month",tierId:p?.tierId??s.tiers[0].id},G[n.id]=l}let d=s.assignments.find(p=>p.tierId===l.tierId&&p.period===l.period);h[n.id]=d&&i?.options.includes(d.productVersionId)?d.productVersionId:""};if(r(t.root),e||fe!==t){fe&&He(fe.root),Z.forEach(i=>clearInterval(i)),Z.clear(),le.clear(),_e.clear(),I.style.cssText="",xt(t.theme?{...k,theme:t.theme}:k);let n=P.split("-")[0];document.documentElement.lang=P,document.documentElement.dir=["ar","he","fa","ur"].includes(n)?"rtl":"ltr",I.dataset.gPresentation=k.presentation.type;let s=we(t.root,null);I.replaceChildren(...s?[s]:[]),fe=t,at(t.root)}else rt(t.root,null);if(_t(a),I.dataset.gPage=t.id,y.mode==="live"&&N({type:"page",pageId:t.id}),Je)de();else{Oe(),je();let n=Math.ceil(I.getBoundingClientRect().height);Je=!0,Ne=n,N({type:"rendered",height:n,label:De(t.root)||k.name})}}function de(){let e=Math.ceil(I.getBoundingClientRect().height);e!==Ne&&(Ne=e,N({type:"resize",height:e})),Oe(),je()}function ke(){Ie||(Ie=!0,window.requestAnimationFrame(()=>{Ie=!1,de()}))}function je(){if(y.mode!=="editor")return;let e=[];for(let t of I.querySelectorAll("[data-g-node]")){let r=t.getBoundingClientRect();!r.width||!r.height||e.push({id:t.dataset.gNode,x:r.x,y:r.y,width:r.width,height:r.height})}let a=JSON.stringify(e);a!==Ve&&(Ve=a,N({type:"layout",nodes:e}))}function J(e){if(!e||!/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(e))return null;let a=_e.get(e);return a?.isConnected?a:null}function it(e,a){let t=J(a);if(!t){e.style.display="none";return}let r=t.getBoundingClientRect();e.style.display="block",e.style.left=`${r.left+window.scrollX}px`,e.style.top=`${r.top+window.scrollY}px`,e.style.width=`${r.width}px`,e.style.height=`${r.height}px`,e.toggleAttribute("data-below",r.top<20),e.firstChild.textContent=t.dataset.gLabel??""}function Oe(){y.mode==="editor"&&(it(ce,Le),it(ye,me&&me!==Le?me:null))}function Se(e){for(let a of e.composedPath()){if(a instanceof HTMLElement&&a.dataset.gNode)return a.dataset.gNode;if(a===I)break}return null}function Nt(e){if(e.isTrusted){if(y.mode==="editor"){e.preventDefault(),e.stopPropagation(),N({type:"select",id:Se(e)});return}for(let a of e.composedPath()){if(!(a instanceof HTMLElement))continue;let t=a.dataset.gAction??(a.tagName==="BUTTON"?a.getAttribute("data-grow-action"):null);if(t&&!a.disabled){e.preventDefault();let r=k?.actions.find(n=>n.id===t);if(r?.type==="navigate"){if(B=r.pageId,k)for(let s of Object.keys(O(k)))delete h[s];U();let n=I.querySelector("h1,h2")??I;n===I&&(I.setAttribute("role","group"),I.setAttribute("aria-label",k?.pages.find(s=>s.id===B)?.name??k?.name??"Page")),n.tabIndex=-1,n.focus({preventScroll:!0});return}N({type:"action",actionId:t,nodeId:Se(e)??void 0,...Object.keys(h).length?{selection:K()}:{},...$?{answers:Xe()}:{}});return}if(a===I)return}}}function nt(e){let a=e;if(!(!a||a.channel!==y.channel))try{if(a.type==="render"){let t=a.doc;if(!t||t.kind!=="screen"||t.schemaVersion!==4||Object.hasOwn(t,"funnel")||!t.pages?.length||t.pages.length>(t.surface==="paywall"?10:1)||t.pages.some(r=>Object.hasOwn(r,"source"))||t.actions?.some(r=>!["event","close","open_url","claim_offer",...t.surface==="paywall"?["navigate"]:[]].includes(r.type)))throw new Error("Unsupported screen document; use the current Funnel runtime for flows");H.clear(),ae=re=0,k=t,B=null,P=String(a.locale),Ae=new Set,$=a.serverInput,h=X(),G=X(),E=a.capabilities,ee=a.customerData,Q.clear();for(let[r,n]of Object.entries(E?.pickers??{}))n.selected&&(h[r]=n.selected);if(a.selection&&typeof a.selection=="object"&&!Array.isArray(a.selection)){let r=a.selection,n=i=>{let l=r[i.id];if(i.type==="quantity_picker"&&typeof l=="number"&&(h[i.id]=l),i.type==="plan_picker"&&typeof l=="string"&&i.planIds?.includes(l)&&(h[i.id]=l),i.type==="stack"){if(i.interaction?.type==="toggle"&&typeof l=="boolean"&&(h[i.id]=l),i.interaction&&["select","tabs"].includes(i.interaction.type)&&typeof l=="string"&&i.children.some(d=>d.id===l)&&(h[i.id]=l),C(i)){let d=r[i.interaction.pickerId];typeof d=="string"&&i.children.some(p=>p.type==="stack"&&p.bind?.plan===d)&&(h[i.interaction.pickerId]=d)}i.children.forEach(n)}};k.pages.forEach(i=>n(i.root));let s=r.__page;typeof s=="string"&&k.pages.some(i=>i.id===s)&&(B=s)}for(let r of $?.bindings??[])Object.hasOwn($.answers,r.variable)&&(h[r.componentId]=$.answers[r.variable],Ae.add(r.componentId));ie=X(),P=String(a.locale),We(),U(!0)}else if(a.type==="capabilities"){E=a.capabilities;for(let[t,r]of Object.entries(E.quantities??{})){let n=J(t),s=n?.querySelector(\'input[type="range"]\');if(s){s.min=String(r.minimum),s.max=String(r.maximum),s.disabled=!r.available,s.setAttribute("aria-valuetext",r.label);let i=n?.querySelector("output");i&&(i.textContent=r.label)}}We();for(let[t,r]of Object.entries(E.pickers))!G[t]&&(h[t]===void 0||h[t]==="")&&(h[t]=r.selected??"");U()}else a.type==="customer-data"?St(a.data):a.type==="restore-action-focus"&&y.mode==="live"?[...I.querySelectorAll("button[data-g-node]")].find(t=>t.dataset.gNode===a.nodeId&&!t.disabled)?.focus({preventScroll:!0}):a.type==="highlight"&&y.mode==="editor"&&(me=a.hoverId??null,Le=a.selectedId??null,Oe())}catch(t){N({type:"error",message:t instanceof Error?t.message:"render failed"})}}let st=document.createElement("style");if(st.textContent=yt,document.head.append(st),document.body.append(I),y.mode==="editor"){document.body.dataset.gEditor="",document.body.append(ye,ce),document.addEventListener("mouseover",a=>{let t=Se(a);t!==he&&(he=t,N({type:"hover",id:t}))}),document.documentElement.addEventListener("mouseleave",()=>{he!==null&&(he=null,N({type:"hover",id:null}))}),document.addEventListener("dblclick",a=>{let t=Se(a);t&&a.isTrusted&&N({type:"edit",id:t})}),document.addEventListener("click",a=>{I.contains(a.target)||N({type:"select",id:null})});let e=(a,t)=>{if(!a.isTrusted)return;let r=a.metaKey||a.ctrlKey,n=a.key;(n===" "||t==="down"&&(["Delete","Backspace","Escape"].includes(n)||r&&/^[zysdcvg0=+-]$/i.test(n)))&&((r||n===" ")&&a.preventDefault(),N({type:"key",key:{key:n,phase:t,meta:a.metaKey,ctrl:a.ctrlKey,shift:a.shiftKey,alt:a.altKey}}))};document.addEventListener("keydown",a=>e(a,"down")),document.addEventListener("keyup",a=>e(a,"up")),document.addEventListener("wheel",a=>{!a.isTrusted||!(a.ctrlKey||a.metaKey)||(a.preventDefault(),N({type:"zoom",delta:a.deltaY}))},{passive:!1})}I.addEventListener("click",Nt),document.addEventListener("keydown",e=>{e.key==="Escape"&&e.isTrusted&&N({type:"escape"})}),typeof ResizeObserver=="function"&&new ResizeObserver(ke).observe(I),window.addEventListener("resize",ke),y.mode==="editor"&&window.addEventListener("scroll",je),window.addEventListener("message",e=>{e.source===F&&nt(e.data)}),ut.__indianaReceive=nt,N({type:"ready"})})(boot);\n } catch { /* No valid host bridge: leave the public shell empty. */ }\n })();<\/script></body></html>'};function ha(){let{html:d}=Be;return d.slice(d.indexOf("<script>")+8,d.lastIndexOf("<\/script>"))}function Wt(d){let p=new Intl.Locale(d);if(p.language==="zh")return p.maximize().script==="Hant"?"\u95DC\u9589\u5F48\u7A97":"\u5173\u95ED\u5F39\u7A97";let k={en:"Close popup",ja:"\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7\u3092\u9589\u3058\u308B",ko:"\uD31D\uC5C5 \uB2EB\uAE30",es:"Cerrar ventana emergente",fr:"Fermer la fen\xEAtre contextuelle",de:"Popup schlie\xDFen",pt:"Fechar janela pop-up",it:"Chiudi popup",ru:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0432\u0441\u043F\u043B\u044B\u0432\u0430\u044E\u0449\u0435\u0435 \u043E\u043A\u043D\u043E",vi:"\u0110\xF3ng c\u1EEDa s\u1ED5 b\u1EADt l\xEAn",th:"\u0E1B\u0E34\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07\u0E1B\u0E4A\u0E2D\u0E1B\u0E2D\u0E31\u0E1B",id:"Tutup pop-up",ar:"\u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u0645\u0646\u0628\u062B\u0642\u0629",he:"\u05E1\u05D2\u05D9\u05E8\u05EA \u05D4\u05D7\u05DC\u05D5\u05DF \u05D4\u05E7\u05D5\u05E4\u05E5",fa:"\u0628\u0633\u062A\u0646 \u067E\u0646\u062C\u0631\u0647\u0654 \u0628\u0627\u0632\u0634\u0648",ur:"\u067E\u0627\u067E \u0627\u067E \u0628\u0646\u062F \u06A9\u0631\u06CC\u06BA"};return k[p.language]??k.en}import ba from"dompurify";import Vt from"css-tree/parser";import ya from"css-tree/generator";import Jt from"css-tree/walker";function Kt(d){let p=0;return d.trim()&&Jt(Vt(d),()=>{p++}),p}function Yt(d){if(!d.trim())return"";if(/[\\<]/.test(d))throw new Error("CSS \u6682\u4E0D\u652F\u6301\u53CD\u659C\u6760\u8F6C\u4E49\u6216 HTML \u6807\u7B7E\u3002");let p=Vt(d,{onParseError:E=>{throw Object.assign(new Error("CSS \u683C\u5F0F\u4E0D\u6B63\u786E\u3002"),{offset:E.offset})}}),k=0;return Jt(p,E=>{if(++k>5e3)throw new Error("CSS \u8FC7\u4E8E\u590D\u6742\u3002");if(E.type==="Raw"||E.type==="Url"||E.type==="Atrule"&&!["media","supports","keyframes"].includes(E.name.toLowerCase())||E.type==="Function"&&["image-set","-webkit-image-set","image","src","paint"].includes(E.name.toLowerCase()))throw new Error("CSS \u4E0D\u652F\u6301\u5916\u90E8\u8D44\u6E90\u3001\u5BFC\u5165\u6216\u672A\u77E5\u8BED\u6CD5\uFF1B\u56FE\u7247\u8BF7\u4F7F\u7528 HTML img \u6807\u7B7E\u3002")}),ya(p)}function xa(d,p,k,E){return{html:ea(d,k,E),css:vt(p)}}function vt(d){return Yt(d)}function ea(d,p,k,E){return wt(d,p,k,E).html}function wt(d,p,k,E){if(!d.trim())return{html:"",elements:0};let I=Ze(d);if(I.length)throw new Error(I[0]);let N=ba(k),S=N.sanitize(d,{ALLOWED_TAGS:["main","section","article","header","footer","div","span","p","h1","h2","h3","h4","strong","em","b","i","small","br","hr","ul","ol","li","button","img"],ALLOWED_ATTR:["class","alt","src","width","height","title","type","disabled","data-grow-action","aria-label"],ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!1,ADD_URI_SAFE_ATTR:["data-grow-action"],ALLOWED_URI_REGEXP:/^https:\/\//i,RETURN_DOM:!0});if(!(S instanceof k.Element))throw new Error("\u65E0\u6CD5\u89E3\u6790 HTML\u3002");if(E){let M=new Set;for(let w of N.removed){let R="element"in w?w.element.nodeName.toLowerCase():void 0,L="attribute"in w?w.attribute?.name:void 0;if(!R&&!L)continue;let D=L?/<[^>]+>/g:new RegExp(`<\\s*${R}\\b[^>]*>`,"gi"),H=[...d.matchAll(D)].find(U=>!M.has(`${L??R}:${U.index}`)&&(!L||new RegExp(`\\b${L}\\s*=`,"i").test(U[0])));if(!H)continue;let q=H.index;M.add(`${L??R}:${q}`);let A=L==="style"?"\u5185\u8054\u6837\u5F0F\u4E0D\u4FDD\u7559\uFF0C\u8BF7\u5199\u5728 CSS \u4E2D\u3002":L?.startsWith("on")?"\u811A\u672C\u4E8B\u4EF6\u4E0D\u5141\u8BB8\uFF0C\u8BF7\u4F7F\u7528\u52A8\u4F5C\u6309\u94AE\u3002":L==="src"?"\u56FE\u7247\u53EA\u652F\u6301 https \u5730\u5740\u3002":"\u8FD9\u4E2A\u5C5E\u6027\u4E0D\u5728\u5141\u8BB8\u7684\u5E03\u5C40\u3001\u56FE\u7247\u4E0E\u52A8\u4F5C\u5C5E\u6027\u4E2D\u3002";E.push({language:"html",from:q,to:q+H[0].length,severity:"warning",message:L?`\u5DF2\u79FB\u9664\u5C5E\u6027 ${L}\uFF1A${A}`:`\u5DF2\u79FB\u9664 <${R}>\uFF1A\u8FD9\u4E2A\u6807\u7B7E\u4E0D\u5728\u5141\u8BB8\u7684\u6392\u7248\u6807\u7B7E\u4E2D\u3002`})}}let _=Ze(S.innerHTML);if(_.length)throw new Error(_[0]);let P=S.querySelectorAll("*").length;if(P>500)throw new Error("HTML \u6700\u591A\u652F\u6301 500 \u4E2A\u5143\u7D20\u3002");for(let M of S.querySelectorAll("[data-grow-action]")){let w=M.getAttribute("data-grow-action");if(M.tagName!=="BUTTON"||!p.includes(w))throw new Error(`\u81EA\u5B9A\u4E49 HTML \u91CC\u7684\u6309\u94AE ${w.slice(0,64)} \u6CA1\u6709\u5BF9\u5E94\u7684\u52A8\u4F5C\uFF0C\u8BF7\u5148\u5728\u300C\u70B9\u51FB\u52A8\u4F5C\u300D\u91CC\u6DFB\u52A0\uFF0C\u5E76\u4F7F\u7528 button \u5143\u7D20\u3002`)}if(!S.textContent?.trim()&&!S.querySelector("img"))throw new Error("\u81EA\u5B9A\u4E49 HTML \u6E05\u6D17\u540E\u6CA1\u6709\u53EF\u663E\u793A\u7684\u5185\u5BB9\u3002");return{html:S.innerHTML,elements:P}}var Zt=2e3,Gt=1e4,Qt=new WeakMap;function ta(d,p,k,E){let I=k.document;if(!I)throw new Error("A content document is required");let N=Qt.get(k)??new Map;Qt.set(k,N);let S=(M,w)=>{let R=N.get(M);if(R!==void 0)return R;let L=w();N.set(M,L);let D=[...N.keys()].reduce((H,q)=>H+q.length,0);for(;N.size>64||D>256e3;){let H=N.keys().next().value;N.delete(H),D-=H.length}return L},_=M=>{let w=E?.get(M);return w!==void 0&&p?w:S(`html:${M}`,()=>{if(w!==void 0)return w;let R=I.createElement("div");return R.innerHTML=M,R.querySelectorAll("*").length})},P=M=>S(`css:${M}`,()=>Kt(M));for(let M of d.pages){let w=0,R=0,L=D=>{if(D.hidden||(D.type==="stack"&&D.children.forEach(L),D.type!=="custom_html"))return;let H=p?.nodes[D.id],q=[...Object.values(D.html),H?.base.html??"",...Object.values(H?.byPlan??{}).map(A=>A.html??"")];if(w+=Math.max(0,...q.map(_)),R+=P(D.css),w>Zt)throw new Error(`Page custom HTML exceeds ${Zt} elements`);if(R>Gt)throw new Error(`Page custom CSS exceeds ${Gt} syntax nodes`)};L(M.root)}}function va(d,p,k,E){let I=[],N="",S="";for(let _ of["html","css"])try{_==="html"?N=ea(d,k,E,I):S=vt(p)}catch(P){let M=_==="html"?d:p,w=_==="html"?/\{\{|data-grow-action/:/@import\b|url\s*\(|image-set\s*\(|[\\<]/i,R=P instanceof Error?P.message:"\u5185\u5BB9\u65E0\u6CD5\u89E3\u6790",L=_==="html"?R.match(/未知变量:(.+)/)?.[1]:void 0,D=L?M.indexOf(L):-1,H=typeof P=="object"&&P!==null&&"offset"in P&&typeof P.offset=="number"?P.offset:D>=0?M.lastIndexOf("{{",D):M.search(w);I.push({language:_,from:Math.max(0,H),to:Math.min(M.length,Math.max(0,H)+2),severity:"error",message:R})}return{html:N,css:S,diagnostics:I,valid:!I.some(_=>_.severity==="error")}}var xt=new WeakMap;function wa(d,p,k){let E=xt.get(p);E||xt.set(p,E=new WeakMap);let I=JSON.stringify(k),N=E.get(d);return(!N||N.actions!==I)&&(N={actions:I,entries:new Map,characters:0},E.set(d,N)),N}function kt(d){let p={};return{prepare:(k,E)=>ka(k,E,d,p),destroy:()=>xt.get(d)?.delete(p)}}function ka(d,p,k,E=p){if(!d)return;let I={},N=p.actions.map(w=>w.id),S=wa(E,k,N),_=new Map,P=Date.now();for(let[w,R]of S.entries)R.expires>P||(S.entries.delete(w),S.characters-=w.length+R.html.length);for(let[w,R]of Object.entries(d.nodes)){let L,D=H=>{if(H.html===void 0)return H;if(L??=ye(p,w)?.type==="custom_html",!L)throw new Error("HTML \u5546\u54C1\u6570\u636E\u53EA\u80FD\u7528\u4E8E\u81EA\u5B9A\u4E49 HTML \u7EC4\u4EF6");let q=S.entries.get(H.html);if(q)S.entries.delete(H.html),S.entries.set(H.html,q);else{let{html:A,elements:U}=wt(H.html,N,k);q={html:A,elements:U,expires:P+6e4};let $=H.html.length+A.length;if($<=1e6)for(S.entries.set(H.html,q),S.characters+=$;S.entries.size>128||S.characters>1e6;){let[C,F]=S.entries.entries().next().value;S.entries.delete(C),S.characters-=C.length+F.html.length}}return _.set(q.html,q.elements),{...H,html:q.html}};I[w]={...R,base:D(R.base),...R.byPlan?{byPlan:Object.fromEntries(Object.entries(R.byPlan).map(([H,q])=>[H,D(q)]))}:{}}}let M={...d,nodes:I};return ta(p,M,k,_),M}var Xt=new WeakMap;function Xe(d,p){let k=mt.parse(d),E=JSON.stringify(k),I=Xt.get(p);I||(I=new Map,Xt.set(p,I));let N=Date.now();for(let[$,C]of I)C.expires<=N&&I.delete($);let S=I.get(E);if(S)return I.delete(E),I.set(E,S),JSON.parse(S.json);let _=k.actions.map($=>$.id),P=new Map,M=new Map,w=new Map,R=$=>{let C=P.get($);if(C===void 0){let F=wt($,_,p);C=F.html,M.set(C,F.elements),P.set($,C)}return C},L=$=>{if($.type==="stack")return{...$,children:$.children.map(L)};if($.type!=="custom_html")return $;let C={};for(let[ae,de]of Object.entries($.html))C[ae]=R(de);let F=w.get($.css);return F===void 0&&(F=vt($.css),w.set($.css,F)),{...$,html:C,css:F}},D={...k,pages:k.pages.map($=>({...$,root:L($.root)}))};ta(D,void 0,p,M);let H=JSON.stringify(D),q=new TextEncoder,A=q.encode(H).length;if(A>Ne.documentBytes)throw new Error(`\u754C\u9762\u5185\u5BB9\u8FC7\u5927\uFF08\u4E0A\u9650 ${Ne.documentBytes/1e3} KB\uFF09\u3002`);let U=q.encode(E).length;if(U<=Ne.documentBytes){I.set(E,{json:H,bytes:U+A,expires:N+6e4});let $=[...I.values()].reduce((C,F)=>C+F.bytes,0);for(;I.size>16||$>2*1024*1024;){let[C,F]=I.entries().next().value;I.delete(C),$-=F.bytes}}return D}function Ea(d){function p(e){return e.type==="stack"&&e.interaction?.type==="select"&&e.interaction.purpose==="product"&&!!e.interaction.pickerId}function k(e){let a={};function t(r){if(p(r)){let i=a[r.interaction.pickerId]??={ids:[],defaultId:null};for(let n of r.children){let c=n.type==="stack"?n.bind?.plan:void 0;c&&!i.ids.includes(c)&&i.ids.push(c)}let o=r.children[r.interaction.defaultIndex];!i.defaultId&&o?.type==="stack"&&(i.defaultId=o.bind?.plan??null)}r.type==="stack"&&r.children.forEach(t)}return e.pages.forEach(r=>t(r.root)),a}function E(e,a,t){let r={};function i(l){if(l.hidden)return;if(l.type==="plan_picker"){let s=t.pickers[l.id];r[l.id]={ids:s?.options??[],defaults:s?.selected?[s.selected]:[],remembered:[]};return}if(l.type!=="stack")return;let f=l.children.filter(s=>!s.hidden),x=l.interaction;if(p(l)){let s=r[l.interaction.pickerId]??={ids:[],defaults:[],remembered:[]},m=t.pickers[l.interaction.pickerId]?.options??[];for(let v of f){let j=v.type==="stack"?v.bind?.plan:void 0;j&&m.includes(j)&&!s.ids.includes(j)&&s.ids.push(j),j&&v.id===a[l.id]&&s.remembered.push(j)}let y=l.children[l.interaction.defaultIndex];y?.type==="stack"&&!y.hidden&&y.bind?.plan&&s.defaults.push(y.bind.plan)}if(x?.type==="tabs"){let s=f.find(m=>m.id===a[l.id])??l.children[x.defaultIndex];s&&i(s)}else if(x?.type==="toggle"){let s=typeof a[l.id]=="boolean"?a[l.id]:x.defaultEnabled,m=l.children[s?0:1];m&&i(m)}else f.forEach(i)}let o=typeof a.__page=="string"?a.__page:e.initialPageId??e.pages[0]?.id,n=e.pages.find(l=>l.id===o);n&&i(n.root);let c={};for(let[l,f]of Object.entries(r)){let x=a[l],s=f.remembered[0]??(f.ids.includes(t.pickers[l]?.selected??"")?t.pickers[l]?.selected:f.defaults[0]);c[l]=typeof x=="string"?f.ids.includes(x)?x:"":s&&f.ids.includes(s)?s:""}for(let l of Object.keys(k(e)))c[l]??="";return c}let I=window;for(let e=0;e<d.hostDepth;e++)I=I.parent;let N=window,S={none:0,xs:4,sm:8,md:12,lg:20,xl:32},_={none:0,sm:4,md:8,lg:14,full:9999},P={system:'system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif',serif:'Georgia,"Times New Roman","Songti SC","Noto Serif CJK SC",serif',rounded:'ui-rounded,"SF Pro Rounded","Hiragino Maru Gothic ProN",system-ui,sans-serif',mono:"ui-monospace,SFMono-Regular,Menlo,Consolas,monospace"},M={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch"},w={start:"flex-start",center:"center",end:"flex-end",between:"space-between"},R={start:"start",center:"center",end:"end",between:"stretch"},L={start:"start",center:"center",end:"end",stretch:"stretch"},D={"1:1":"1 / 1","4:3":"4 / 3","16:9":"16 / 9","3:1":"3 / 1"},H=`
|
|
1
|
+
import{a as qt,b as Ut}from"./chunk-SSLZKIIU.js";import{P as ut,T as Ye,U as pt,V as Ze,W as Ne,Y as gt,_ as mt,ca as Ge,da as Qe,ea as ye,fa as ft,ga as He,ia as ht,ja as yt,la as bt,pa as Fe,qa as Ot}from"./chunk-ACF2FBUB.js";import{a as Q}from"./chunk-DSPLGTQI.js";var Be={tag:"0a3fc81c4311ccdb0f8dd7f7afff09170ce4ca4338ef9d17d626aba3d21e5366",csp:"default-src 'none'; script-src 'sha256-UznZYYJO84QL7WE307bb//1369HDvk9x2sY+tHsxToI='; style-src 'unsafe-inline'; img-src https: data:; connect-src 'none'; font-src 'none'; media-src 'none'; frame-src 'none'; base-uri 'none'; form-action 'none'",html:'<!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta http-equiv="Content-Security-Policy" content="default-src \'none\'; script-src \'sha256-UznZYYJO84QL7WE307bb//1369HDvk9x2sY+tHsxToI=\'; style-src \'unsafe-inline\'; img-src https: data:; connect-src \'none\'; font-src \'none\'; media-src \'none\'; frame-src \'none\'; base-uri \'none\'; form-action \'none\'"></head><body><script>(() => {\n try {\n const input = JSON.parse(decodeURIComponent(location.hash.slice(1)));\n if (!input || !/^[a-f0-9-]{36}$/.test(input.channel) || input.mode !== "live" || !Number.isInteger(input.hostDepth) || input.hostDepth < 1 || input.hostDepth > 16) return;\n const origin = new URL(input.parentOrigin);\n if (!["https:", "http:"].includes(origin.protocol) || origin.origin !== input.parentOrigin) return;\n const boot = { channel: input.channel, parentOrigin: origin.origin, hostDepth: input.hostDepth, mode: "live" };\n (function ct(y){function C(e){return e.type==="stack"&&e.interaction?.type==="select"&&e.interaction.purpose==="product"&&!!e.interaction.pickerId}function O(e){let a={};function t(r){if(C(r)){let n=a[r.interaction.pickerId]??={ids:[],defaultId:null};for(let i of r.children){let l=i.type==="stack"?i.bind?.plan:void 0;l&&!n.ids.includes(l)&&n.ids.push(l)}let s=r.children[r.interaction.defaultIndex];!n.defaultId&&s?.type==="stack"&&(n.defaultId=s.bind?.plan??null)}r.type==="stack"&&r.children.forEach(t)}return e.pages.forEach(r=>t(r.root)),a}function pe(e,a,t){let r={};function n(d){if(d.hidden)return;if(d.type==="plan_picker"){let o=t.pickers[d.id];r[d.id]={ids:o?.options??[],defaults:o?.selected?[o.selected]:[],remembered:[]};return}if(d.type!=="stack")return;let p=d.children.filter(o=>!o.hidden),f=d.interaction;if(C(d)){let o=r[d.interaction.pickerId]??={ids:[],defaults:[],remembered:[]},c=t.pickers[d.interaction.pickerId]?.options??[];for(let m of p){let w=m.type==="stack"?m.bind?.plan:void 0;w&&c.includes(w)&&!o.ids.includes(w)&&o.ids.push(w),w&&m.id===a[d.id]&&o.remembered.push(w)}let u=d.children[d.interaction.defaultIndex];u?.type==="stack"&&!u.hidden&&u.bind?.plan&&o.defaults.push(u.bind.plan)}if(f?.type==="tabs"){let o=p.find(c=>c.id===a[d.id])??d.children[f.defaultIndex];o&&n(o)}else if(f?.type==="toggle"){let o=typeof a[d.id]=="boolean"?a[d.id]:f.defaultEnabled,c=d.children[o?0:1];c&&n(c)}else p.forEach(n)}let s=typeof a.__page=="string"?a.__page:e.initialPageId??e.pages[0]?.id,i=e.pages.find(d=>d.id===s);i&&n(i.root);let l={};for(let[d,p]of Object.entries(r)){let f=a[d],o=p.remembered[0]??(p.ids.includes(t.pickers[d]?.selected??"")?t.pickers[d]?.selected:p.defaults[0]);l[d]=typeof f=="string"?p.ids.includes(f)?f:"":o&&p.ids.includes(o)?o:""}for(let d of Object.keys(O(e)))l[d]??="";return l}let F=window;for(let e=0;e<y.hostDepth;e++)F=F.parent;let ut=window,gt={none:0,xs:4,sm:8,md:12,lg:20,xl:32},ft={none:0,sm:4,md:8,lg:14,full:9999},Y={system:\'system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif\',serif:\'Georgia,"Times New Roman","Songti SC","Noto Serif CJK SC",serif\',rounded:\'ui-rounded,"SF Pro Rounded","Hiragino Maru Gothic ProN",system-ui,sans-serif\',mono:"ui-monospace,SFMono-Regular,Menlo,Consolas,monospace"},Be={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch"},qe={start:"flex-start",center:"center",end:"flex-end",between:"space-between"},mt={start:"start",center:"center",end:"end",between:"stretch"},ht={start:"start",center:"center",end:"end",stretch:"stretch"},Ue={"1:1":"1 / 1","4:3":"4 / 3","16:9":"16 / 9","3:1":"3 / 1"},yt=`\n*,*::before,*::after{box-sizing:border-box}\nhtml,body{margin:0;padding:0;background:transparent}\nbody{font-family:var(--g-font);color:var(--g-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}\n#g-card{background:var(--g-bg);min-height:1px}\n#g-card[data-g-presentation=fullscreen]{min-height:100vh;display:flex;flex-direction:column}\n#g-card[data-g-presentation=fullscreen]>[data-g-node]{flex:1 0 auto}\n[hidden]{display:none!important}\n.g-stack{display:flex;min-width:0}\n.g-empty{min-height:48px;outline:1px dashed #c9cfee;outline-offset:-1px;background:#eef0fa44}\n.g-empty::after{content:attr(data-g-editor-placeholder);font-size:12px;color:#737b8e;align-self:center;margin:auto;pointer-events:none}\n.g-v{flex-direction:column}\n.g-h{flex-direction:row;flex-wrap:wrap}\n.g-o{display:grid;grid-template-columns:minmax(0,1fr)}\n/* Each authored overlay layer paints as a unit in document order. */\n.g-o>*{grid-area:1/1;min-width:0;isolation:isolate}\n.g-text{margin:0;white-space:pre-line;overflow-wrap:anywhere;min-width:0}\n.g-title{font-size:26px;line-height:1.2;font-weight:700;letter-spacing:-.01em}\n.g-heading{font-size:20px;line-height:1.3;font-weight:650}\n.g-body{font-size:15px;line-height:1.6}\n.g-caption{font-size:12px;line-height:1.5;letter-spacing:.02em}\n.g-btn{appearance:none;border:0;margin:0;font:inherit;font-size:15px;font-weight:600;line-height:1.25;padding:12px 18px;border-radius:var(--g-radius);cursor:pointer;min-height:44px;text-align:center;overflow-wrap:anywhere}\n.g-btn-primary{background:var(--g-primary);color:var(--g-on-primary)}\n.g-btn.g-stack .g-text{color:inherit}\n.g-btn-primary:hover{filter:brightness(1.06)}\n.g-btn-secondary{background:transparent;color:var(--g-text);box-shadow:inset 0 0 0 1px var(--g-border)}\n.g-btn-secondary:hover{background:var(--g-surface)}\n.g-btn-link{background:transparent;color:var(--g-muted);padding:8px 12px;min-height:36px;font-weight:500}\n.g-btn-link:hover{color:var(--g-text)}\n.g-btn:focus-visible{outline:3px solid var(--g-focus);outline-offset:2px}\n.g-img{display:block;width:100%;overflow:hidden}\n.g-img img{display:block;width:100%;height:auto}\n.g-img[data-aspect] img{height:100%}\n.g-divider{border:0;border-top:1px solid var(--g-border);margin:0;align-self:stretch}\n.g-custom{display:block;min-width:0}\n.g-missing{opacity:.45}\n.g-box{position:absolute;pointer-events:none;z-index:2147483646;border:1px solid var(--g-edit);border-radius:2px;display:none}\n.g-box[data-kind=select]{border-width:2px}\n.g-box span{position:absolute;left:-2px;bottom:100%;margin-bottom:2px;padding:1px 6px;font:500 11px/16px system-ui,sans-serif;color:#fff;background:var(--g-edit);border-radius:3px;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis}\n.g-box[data-below] span{bottom:auto;top:100%;margin:2px 0 0}\n[data-g-editor] .g-btn{cursor:default}\n.g-data{--g-data-ink:var(--g-text);--g-data-muted:var(--g-muted);--g-data-line:var(--g-border);--g-data-surface:var(--g-surface);width:100%;min-width:0;color:var(--g-data-ink);font-variant-numeric:tabular-nums;container-type:inline-size;container-name:customer-data}\n.g-data-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}\n.g-data-heading{display:flex;align-items:center;gap:10px;font-size:18px;line-height:1.35;font-weight:600;margin:0;letter-spacing:-.025em}\n.g-data-icon{display:block;width:18px;height:18px;flex:none}\n.g-data-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}\n.g-data-button,.g-data-select{font:500 13px/1.4 var(--g-font);color:var(--g-data-ink);background:transparent;border:1px solid color-mix(in srgb,var(--g-data-ink) 52%,transparent);border-radius:6px;min-height:36px;padding:7px 10px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}\n.g-data-button:hover{background:var(--g-data-surface)}\n.g-data-button:focus-visible,.g-data-select:focus-visible,.g-data-sources>summary:focus-visible{outline:3px solid var(--g-data-ink);outline-offset:3px}\n.g-data-button:disabled,.g-data-select:disabled{opacity:.4;cursor:default}\n.g-data-refresh{border-color:transparent;width:32px;min-height:32px;display:grid;place-items:center;padding:6px;color:var(--g-data-muted)}\n.g-data-refresh:hover{color:var(--g-data-ink)}\n.g-data-refreshing .g-data-icon{animation:g-data-spin 1.2s linear infinite}\n@keyframes g-data-spin{to{transform:rotate(360deg)}}\n.g-data-buy{background:var(--g-primary);color:var(--g-on-primary);border-color:transparent;min-height:40px;font-size:13px;font-weight:600}\n.g-data-buy:hover{background:var(--g-primary);filter:brightness(.95);transform:translateY(-1px)}\n.g-data[data-preview=true] .g-data-buy:disabled{opacity:.8}\n.g-data-note{font-size:13px;line-height:1.6;color:var(--g-data-muted);margin:12px 0;overflow-wrap:anywhere}\n.g-data-error{padding:12px 0;border-block:1px solid var(--g-data-line);color:var(--g-data-ink);font-size:13px;line-height:1.6}\n.g-data-resource+.g-data-resource{border-top:1px solid var(--g-data-line);padding-top:24px;margin-top:24px}\n.g-data-name{font-size:12px;color:var(--g-data-muted);font-weight:500;margin:0 0 10px}\n.g-data-balance{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:18px}\n.g-data-number{font-family:var(--g-data-number-font,var(--g-font));font-size:var(--g-data-number-size,clamp(44px,7vw,72px));font-weight:var(--g-data-number-weight,500);line-height:1.08;letter-spacing:-.055em;overflow-wrap:anywhere;max-width:100%}\n.g-data-fraction{font-size:22px;letter-spacing:-.025em;color:var(--g-data-muted)}\n.g-data-unit{font-size:13px;color:var(--g-data-muted)}\n.g-data-facts{display:flex;gap:24px;flex-wrap:wrap;font-size:13px;line-height:1.6;color:var(--g-data-muted)}\n.g-data-facts strong{font-weight:600;color:var(--g-data-ink);margin-inline-start:6px}\n.g-data-expiry{margin-inline-start:auto;font-size:12px}\n.g-data-resource-label{font-size:12px;letter-spacing:0;color:var(--g-data-muted);padding-inline-start:10px;border-inline-start:1px solid var(--g-data-line);font-weight:400}\n.g-data-sources{margin-top:20px;border-top:1px solid var(--g-data-line);padding-top:12px}\n.g-data-sources>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:500;cursor:pointer;line-height:1.5;list-style:none;border-radius:3px;padding:6px 0}\n.g-data-sources>summary::-webkit-details-marker{display:none}\n.g-data-sources>summary>.g-data-icon{width:16px;height:16px;transition:transform .18s}\n.g-data-sources[open]>summary>.g-data-icon{transform:rotate(180deg)}\n.g-data-sources[open]>.g-data-list{animation:g-data-reveal .18s ease-out}\n@keyframes g-data-reveal{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}\n.g-data-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--g-data-line)}\n.g-data-row{display:grid;grid-template-columns:minmax(120px,1.5fr) minmax(80px,.75fr) minmax(90px,1fr);column-gap:20px;row-gap:10px;align-items:start;padding:18px 0;border-bottom:1px solid var(--g-data-line);min-width:0}\n.g-data-row-no-value,.g-data-row-no-status{grid-template-columns:minmax(0,1fr) auto;column-gap:16px}\n.g-data-row-no-value .g-data-row-status{text-align:end}\n.g-data-row-main{display:flex;align-items:flex-start;gap:12px;min-width:0}\n.g-data-row-copy{min-width:0}\n.g-data-row-mark{display:grid;place-items:center;width:34px;height:34px;flex:none;background:var(--g-data-surface);color:var(--g-data-muted);border:1px solid var(--g-data-line);border-radius:50%}\n.g-data-row-mark .g-data-icon{width:16px;height:16px}\n.g-data-row-label{font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere;margin:0}\n.g-data-row-detail{font-size:13px;line-height:1.65;color:var(--g-data-muted);margin-top:4px;overflow-wrap:anywhere}\n.g-data-row-status{font-size:12px;line-height:1.6;color:var(--g-data-muted);padding:4px 8px;border-radius:4px;background:var(--g-data-surface);width:fit-content;justify-self:end;overflow-wrap:anywhere}\n.g-data-row-value{font-size:15px;font-weight:650;text-align:end;line-height:1.5;overflow-wrap:anywhere}\n.g-data-row-extra{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}\n.g-data-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;font-size:12px;color:var(--g-data-muted)}\n.g-data-empty{display:flex;align-items:center;gap:10px;padding:28px 0;border-block:1px solid var(--g-data-line);font-size:13px;line-height:1.6;color:var(--g-data-muted)}\n.g-data-empty>.g-data-icon{width:20px;height:20px;opacity:.65}\n.g-data-skeleton{padding-block:8px;animation:g-data-reveal .18s ease-out}\n.g-data-skeleton-line{display:block;background:var(--g-data-line);border-radius:4px;animation:g-data-pulse 1.4s ease-in-out infinite}\n.g-data-skeleton-value{width:42%;height:var(--g-data-number-size,64px);margin:4px 0 22px}\n.g-data-skeleton-meta{width:65%;height:12px;margin-bottom:20px}\n.g-data-skeleton-row{display:flex;justify-content:space-between;gap:24px;padding:20px 0;border-block-end:1px solid var(--g-data-line)}\n.g-data-skeleton-row>.g-data-skeleton-line:first-child{width:52%;height:14px}\n.g-data-skeleton-row>.g-data-skeleton-line:last-child{width:18%;height:14px}\n.g-data[data-layout=compact] .g-data-skeleton-value{height:var(--g-data-number-size,34px);margin-bottom:16px}\n.g-data-recovery{margin:12px 0}\n.g-data-live-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}\n@keyframes g-data-pulse{50%{opacity:.4}}\n.g-data-updated{font-size:11px;margin-bottom:0}\n.g-data-preview{font-size:11px;color:var(--g-data-muted);border:1px solid var(--g-data-line);border-radius:4px;padding:3px 6px;white-space:nowrap}\n.g-data[data-source=credit_balance] .g-data-heading{font-size:15px;font-weight:500;letter-spacing:0}\n.g-data[data-source=credit_balance] .g-data-header{margin-bottom:18px}\n.g-data[data-source=credit_balance] .g-data-updated{margin:0;font-size:11px;color:var(--g-data-muted)}\n.g-data[data-source=credit_balance] .g-data-sources>summary{max-width:100%}\n.g-data-table-head{display:grid;grid-template-columns:minmax(0,1fr) 92px minmax(120px,.45fr);gap:16px;padding:10px 0;font-size:12px;color:var(--g-data-muted);border-block:1px solid var(--g-data-line)}\n.g-data-table-head>span:not(:first-child){text-align:end}\n.g-data[data-source=credit_transactions] .g-data-list{border-top:0}\n.g-data[data-source=credit_transactions] .g-data-row{grid-template-columns:minmax(0,1fr) 92px minmax(120px,.45fr);gap:16px;padding:18px 0;align-items:center;transition:background .15s}\n.g-data[data-source=credit_transactions] .g-data-row:hover{background:var(--g-data-surface)}\n.g-data[data-source=credit_transactions] .g-data-row-status{grid-column:2;grid-row:1}\n.g-data[data-source=credit_transactions] .g-data-row-extra{grid-column:3;grid-row:1;justify-content:flex-end}\n.g-data[data-source=credit_transactions] .g-data-facts{flex-direction:column;align-items:flex-end;gap:8px}\n.g-data[data-source=credit_transactions] .g-data-facts>span{display:flex;flex-direction:column-reverse;align-items:flex-end;font-size:12px}\n.g-data[data-source=credit_transactions] .g-data-facts strong{font-size:15px;margin-inline-start:0;font-weight:600}\n.g-data[data-source=credit_packs] .g-data-row{border:0;padding:16px 0;grid-template-columns:minmax(0,1fr) auto}\n.g-data[data-source=credit_packs] .g-data-list{border:0}\n.g-data[data-source=credit_packs] .g-data-row+.g-data-row{border-top:1px solid var(--g-data-line)}\n.g-data[data-source=credit_packs] .g-data-row-value{font-size:22px;letter-spacing:-.04em}\n.g-data[data-source=credit_packs] .g-data-row-extra{display:block}\n.g-data[data-source=credit_packs] .g-data-buy{width:100%;margin-top:2px}\n.g-data[data-source=credit_packs] .g-data-header{margin-bottom:4px}\n.g-data[data-layout=compact] .g-data-header{margin-bottom:10px}\n.g-data[data-layout=compact] .g-data-heading{font-size:14px;color:var(--g-data-muted);letter-spacing:0;font-weight:500}\n.g-data[data-layout=compact] .g-data-number{font-size:var(--g-data-number-size,34px)}\n.g-data[data-layout=compact] .g-data-row{padding:10px 0;column-gap:12px}\n.g-data[data-layout=compact] .g-data-row{grid-template-columns:minmax(0,1fr) auto}\n.g-data[data-layout=compact] .g-data-row-status{grid-column:1;grid-row:2;justify-self:start}\n.g-data[data-layout=compact] .g-data-row-value{grid-column:2;grid-row:1}\n.g-data[data-layout=compact] .g-data-updated{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}\n.g-data[data-source=credit_transactions][data-layout=compact] .g-data-table-head{display:none}\n.g-data[data-source=credit_transactions][data-layout=compact] .g-data-row{grid-template-columns:minmax(0,1fr) 92px minmax(120px,.45fr);gap:16px;padding:14px 0}\n.g-data[data-source=credit_transactions][data-layout=compact] .g-data-row-status{grid-column:2;grid-row:1}\n.g-data[data-source=credit_transactions][data-layout=compact] .g-data-row-extra{grid-column:3;grid-row:1;justify-content:flex-end}\n.g-data[data-source=membership][data-layout=compact] .g-data-list{border:0}\n.g-data[data-source=membership][data-layout=compact] .g-data-row{padding:0;border:0}\n.g-data[data-source=membership][data-layout=compact] .g-data-row-status{grid-column:2;grid-row:1;justify-self:end}\n.g-data[data-source=membership][data-layout=compact] .g-data-header{margin-bottom:6px}\n.g-data[data-source=membership][data-layout=full] .g-data-heading{font-size:14px;font-weight:500;color:var(--g-data-muted)}\n.g-data[data-source=membership][data-layout=full] .g-data-list{border-top:0}\n.g-data[data-source=membership][data-layout=full] .g-data-row{padding:12px 0 22px;column-gap:24px}\n.g-data[data-source=membership][data-layout=full] .g-data-row-label{font-family:var(--g-data-display-font,var(--g-font));font-size:var(--g-data-display-size,30px);font-weight:var(--g-data-display-weight,600);letter-spacing:-.035em;line-height:1.25}\n.g-data[data-source=membership][data-layout=full] .g-data-row-detail{font-size:13px;margin-top:12px}\n.g-data[data-source=membership][data-layout=full] .g-data-row-status{font-size:12px;padding:5px 9px}\n.g-data[data-source=customer_plans][data-layout=full] .g-data-row{padding:24px 0;grid-template-columns:minmax(0,1fr) 140px 180px;gap:24px;align-items:center}\n.g-data[data-source=customer_plans][data-layout=full] .g-data-row-label{font-family:var(--g-data-display-font,var(--g-font));font-size:22px;font-weight:600}\n.g-data[data-source=customer_plans][data-layout=full] .g-data-row-value{font-size:24px;font-weight:500;letter-spacing:-.035em}\n.g-data[data-source=customer_plans][data-layout=full] .g-data-row-status{font-size:12px;padding:5px 9px}\n@container customer-data (min-width:600px){\n .g-data[data-source=credit_packs][data-layout=full]>.g-data-list,.g-data[data-source=customer_plans][data-layout=full]>.g-data-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;border:0}\n .g-data[data-source=credit_packs][data-layout=full]>.g-data-list>.g-data-row,.g-data[data-source=customer_plans][data-layout=full]>.g-data-list>.g-data-row{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;gap:20px;padding:24px;border:1px solid var(--g-data-line);border-radius:14px;align-items:start;align-content:start;transition:border-color .16s,background .16s}\n .g-data[data-source=credit_packs][data-layout=full]>.g-data-list>.g-data-row:hover{border-color:var(--g-data-ink);background:var(--g-data-surface)}\n .g-data[data-source=customer_plans][data-layout=full]>.g-data-list>.g-data-row{padding:24px 0;border:0;border-top:1px solid var(--g-data-ink);border-radius:0}\n .g-data[data-source=credit_packs][data-layout=full]>.g-data-list>.g-data-row>.g-data-row-main,.g-data[data-source=customer_plans][data-layout=full]>.g-data-list>.g-data-row>.g-data-row-main{grid-column:1;grid-row:1}\n .g-data[data-source=credit_packs][data-layout=full]>.g-data-list>.g-data-row>.g-data-row-value,.g-data[data-source=customer_plans][data-layout=full]>.g-data-list>.g-data-row>.g-data-row-value{grid-column:1;grid-row:2;text-align:start;font-size:30px;line-height:1.3;letter-spacing:-.035em;font-weight:500}\n .g-data[data-source=credit_packs][data-layout=full]>.g-data-list>.g-data-row>.g-data-row-extra{grid-column:1;grid-row:3;align-self:end}\n .g-data[data-source=customer_plans][data-layout=full]>.g-data-list>.g-data-row>.g-data-row-status{grid-column:1;grid-row:3;justify-self:start;align-self:end}\n .g-data[data-source=customer_plans][data-layout=full]>.g-data-list>.g-data-row>.g-data-row-extra{grid-column:1;grid-row:auto}\n .g-data[data-source=credit_packs][data-layout=full] .g-data-header,.g-data[data-source=customer_plans][data-layout=full] .g-data-header{margin-bottom:20px}\n .g-data[data-source=credit_packs][data-layout=full] .g-data-buy{min-height:44px;border-radius:8px}\n}\n@media(max-width:560px){.g-data[data-source=customer_plans][data-layout=full] .g-data-row{grid-template-columns:minmax(0,1fr) auto;gap:12px}.g-data[data-source=customer_plans][data-layout=full] .g-data-row-value{font-size:20px}.g-data[data-source=membership][data-layout=full] .g-data-row-label{font-size:var(--g-data-display-size,24px)}}\n@media(max-width:560px){.g-data-header{gap:10px}.g-data-controls{gap:6px}.g-data-row{grid-template-columns:minmax(0,1fr) auto;column-gap:12px}.g-data-row-status{grid-column:1;grid-row:2}.g-data-row-value{grid-column:2;grid-row:1}.g-data-row-extra{grid-column:1/-1}.g-data-facts{gap:12px}.g-data-button,.g-data-select{min-height:40px;padding:8px 10px}.g-data-refresh{width:40px;padding:10px}.g-data-sources>summary{min-height:36px}.g-data-table-head{display:none}.g-data[data-source=credit_transactions] .g-data-row{grid-template-columns:minmax(0,1fr) minmax(95px,.45fr);gap:12px}.g-data[data-source=credit_transactions] .g-data-row-status{grid-column:1;grid-row:2;margin-inline-start:46px;justify-self:start}.g-data[data-source=credit_transactions] .g-data-row-extra{grid-column:2;grid-row:1/3}.g-data[data-source=membership][data-layout=compact] .g-data-row-status{grid-column:2;grid-row:1}}\n@media(max-width:560px){.g-data[data-source=credit_transactions][data-layout=compact] .g-data-row{grid-template-columns:minmax(0,1fr) minmax(95px,.45fr);gap:12px}.g-data[data-source=credit_transactions][data-layout=compact] .g-data-row-status{grid-column:1;grid-row:2;margin-inline-start:46px;justify-self:start}.g-data[data-source=credit_transactions][data-layout=compact] .g-data-row-extra{grid-column:2;grid-row:1/3}}\n@media(max-width:560px){.g-data[data-source=membership] .g-data-row-no-value .g-data-row-status{grid-column:2;grid-row:1;align-self:start;justify-self:end}}\n@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}\n`;function X(){return Object.create(null)}let k=null,$,Ae=new Set,E,ee,Z=new Map,le=new Map,_e=new Map,te=new Map,ue=0,H=new Map,ge=new WeakMap,ae=0,re=0,fe,B=null,h=X(),ie=X(),G=X(),P="",Je=!1,Ne=-1,Ie=!1,Ve="",me=null,Le=null,he=null,I=document.createElement("div");I.id="g-card";let ye=document.createElement("div"),ce=document.createElement("div");ye.className=ce.className="g-box",ce.dataset.kind="select",ye.append(document.createElement("span")),ce.append(document.createElement("span"));function N(e){let a={...e,channel:y.channel};try{F.postMessage(a,y.parentOrigin)}catch{}}function Te(e){let a=parseInt(e.slice(1),16);return[a>>16&255,a>>8&255,a&255]}function be(e,a,t){let r=Te(e),n=Te(a),s=r.map((i,l)=>Math.round(i*t+n[l]*(1-t)));return`rgb(${s[0]},${s[1]},${s[2]})`}function bt(e){let[a,t,r]=Te(e).map(n=>{let s=n/255;return s<=.03928?s/12.92:((s+.055)/1.055)**2.4});return .2126*a+.7152*t+.0722*r}function ne(e){return typeof e!="string"?"":e.startsWith("#")?e:`var(--g-${e==="background"?"bg":e})`}function xt(e){let a=e.theme,t=document.documentElement.style,r=bt(a.primary),n=(r+.05)/.05>1.05/(r+.05)?"#111318":"#FFFFFF";t.setProperty("--g-primary",a.primary),t.setProperty("--g-on-primary",n),t.setProperty("--g-bg",a.background),t.setProperty("--g-text",a.text),t.setProperty("--g-muted",be(a.text,a.background,.62)),t.setProperty("--g-surface",be(a.text,a.background,.05)),t.setProperty("--g-border",be(a.text,a.background,.16)),t.setProperty("--g-focus",be(a.primary,a.background,.45)),t.setProperty("--g-radius",`${ft[a.radius]??8}px`),t.setProperty("--g-font",Y[a.font]??Y.system),t.setProperty("--g-edit","#2C3C96")}function _(e){let a=k?.strings.locales[P]?.[e];return a&&a.trim()?{value:a,missing:!1}:{value:k?.strings.locales[k.strings.defaultLocale]?.[e]??"",missing:!0}}function q(e){let a=E?.nodes[e];if(!a)return;let t=a.picker?h[a.picker]??E?.pickers[a.picker]?.selected:void 0;if(!(a.picker&&typeof t=="string"&&!E?.pickers[a.picker]?.options.includes(t)))return typeof t=="string"?a.byPlan?.[t]??a.base:a.base}function K(){return{...k?.surface==="paywall"&&B?{__page:B}:{},...Object.fromEntries(Object.entries(h).filter(e=>!Array.isArray(e[1])))}}function Me(e){return $&&Object.hasOwn($.answers,e)&&$.bindings.some(a=>a.variable===e)?$.answers[e]:$?.values?.[e]}function Ke(e){let a=te.get(e);if(a)return a;let t=[...new Set([...e.matchAll(/\\{\\{\\s*variables\\.([^{}]+?)\\s*\\}\\}/g)].map(r=>r[1].trim()))];if(e.length<=1e6)for(te.set(e,t),ue+=e.length;te.size>128||ue>1e6;){let r=te.keys().next().value;te.delete(r),ue-=r.length}return t}function $e(e){let a=e.html[P];return q(e.id)?.html??E?.nodes[e.id]?.base.html??(a&&a.trim()?a:e.html[k?.strings.defaultLocale??""]??"")}function We(){te.clear(),ue=0;let e=[],a=[],t=l=>{if(!l.hidden){if(l.type==="stack")l.children.forEach(t);else if(l.type==="custom_html"){e.push($e(l));let d=E?.nodes[l.id];for(let p of[d?.base,...Object.values(d?.byPlan??{})])p?.html!==void 0&&a.push(p.html)}}},r=B??k?.initialPageId,n=k?.pages??[],s=new Set;for(let l of[...n.filter(d=>d.id===r),...n.filter(d=>d.id!==r)]){e.length=a.length=0,t(l.root);for(let d of[...e,...a])s.add(d)}let i=new Set([...s].map(ze));for(let[l,d]of H)i.has(l)||Ye(l,d);for(let l of s)Ke(l),!H.has(ze(l))&&(H.size>=32||re+500>4e3||ae+l.length+2>262144||Re(l,!0))}function ze(e){return(y.mode==="live"&&$?"b:":"s:")+e}function Ye(e,a){H.delete(e),ae-=e.length,re-=a.elements}function Re(e,a=!1){let t=ze(e),r=H.get(t);if(r)return H.delete(t),H.set(t,r),r;let n="data-indiana-html-binding";for(;e.includes(n);)n+="-next";let s=[],i=y.mode==="live"&&!!$,l=/\\{\\{\\s*variables\\.([^{}]+?)\\s*\\}\\}/g,d=i?e.replace(l,(u,m)=>(s.push(m.trim()),`<span ${n}="${s.length-1}"></span>`)):e,p=document.createElement("template");p.innerHTML=`<div>${d}</div>`;let f=p.content.firstElementChild,o=[];for(let u of f.querySelectorAll(`[${n}]`)){let m=document.createTextNode(""),w=s[Number(u.getAttribute(n))];u.replaceWith(m);let S=[];for(let v=m;v!==f;){let L=v.parentNode;S.unshift(Array.prototype.indexOf.call(L.childNodes,v)),v=L}o.push({path:S,variable:w})}let c={key:t,content:f,inUse:!1,bindings:o,unresolved:(i?e.replace(l,""):e).includes("{{"),elements:f.getElementsByTagName("*").length};if(t.length<=262144&&c.elements<=4e3){if(!a)for(;H.size>=32||ae+t.length>262144||re+c.elements>4e3;){let[u,m]=H.entries().next().value;Ye(u,m)}H.size<32&&ae+t.length<=262144&&re+c.elements<=4e3&&(H.set(t,c),ae+=t.length,re+=c.elements)}return c}function Ce(e){let a=e.template;if(a?.content===e.body&&H.get(a.key)===a){for(let t of e.bindings)t.node.data="";a.inUse=!1,e.parked=!0}e.template=null}function Ze(e,a){let t=ge.get(e),r=$e(a),n=y.mode==="live"&&!!$,s=t.source!==r||t.bound!==n,i;s&&(Ce(t),i=Re(r),t.source=r,t.bound=n,t.unresolved=i.unresolved,t.variables=[...new Set(i.bindings.map(o=>o.variable))]);let l=new Map,d=t.unresolved;if(n)for(let o of t.variables){let c=Me(o);if(c==null){d=!0;continue}let u=String(typeof c=="object"?JSON.stringify(c):c).replace(/\\r\\n?/g,`\n`);u.includes("{{")&&(d=!0),l.set(o,u)}if(d&&y.mode==="live"){if(Ce(t),t.parked){let c=document.createElement("div");t.body.replaceWith(c),t.body=c,t.parked=!1}let o=_(a.fallback??"").value.replace(/\\r\\n?/g,`\n`);(!t.fallback||t.body.textContent!==o)&&(t.body.textContent=o),t.fallback=!0,t.bindings=[]}else if(s||t.fallback||!t.initialized){i??=Re(r);let o=!i.inUse,c=o?i.content:i.content.cloneNode(!0);t.bindings=i.bindings.map(({path:u,variable:m})=>{let w=c;for(let S of u)w=w.childNodes[S];return{node:w,variable:m}});for(let u of t.bindings)u.node.data=l.get(u.variable);t.body.replaceWith(c),t.body=c,t.parked=!1,o&&H.get(i.key)===i?(i.inUse=!0,t.template=i):t.template=null;for(let u of t.body.querySelectorAll("img"))u.addEventListener("load",ke);t.fallback=!1,t.initialized=!0}else for(let o of t.bindings){let c=l.get(o.variable);o.node.data!==c&&(o.node.data=c)}let p=q(a.id),f=a.html[P];e.classList.toggle("g-missing",y.mode==="editor"&&(!!p?.missing?.length||!p&&r.includes("{{")||!(f&&f.trim())))}function se(e,a,t){let r=q(e.id),n=r?.[a],s=n!==void 0?{value:n,missing:!!r?.missing?.length}:_(t);if(y.mode==="live"&&$){let i=!1,l=s.value.replace(/\\{\\{\\s*variables\\.([^{}]+?)\\s*\\}\\}/g,(d,p)=>{p=p.trim();let f=Me(p);return f==null||f===""||Array.isArray(f)&&!f.length?(i=!0,""):Array.isArray(f)?f.join(", "):String(f)});if(i)return{value:e.fallback?_(e.fallback).value:"",missing:!0};if(!l.includes("{{"))return{value:l,missing:s.missing}}return n!==void 0?s:s.value.includes("{{")&&y.mode==="live"?{value:e.fallback?_(e.fallback).value:"",missing:!0}:{value:s.value,missing:s.missing||s.value.includes("{{")}}function wt(e){if(e.name)return e.name;let a=y.editorMessages?.nodeTypes?.[e.type];return y.mode==="editor"&&typeof a=="string"?a:{stack:"\\u5BB9\\u5668",text:"\\u6587\\u672C",image:"\\u56FE\\u7247",button:"\\u6309\\u94AE",divider:"\\u5206\\u9694\\u7EBF",spacer:"\\u7559\\u767D",custom_html:"\\u81EA\\u5B9A\\u4E49 HTML",price:"\\u4EF7\\u683C",coupon_code:"\\u4F18\\u60E0\\u7801",countdown:"\\u5012\\u8BA1\\u65F6",plan_picker:"\\u771F\\u5B9E\\u5957\\u9910\\u9009\\u62E9"}[e.type]??e.type}function vt(e,a){if(a.type==="color")e.background="none",e.backgroundColor=ne(a.color);else if(a.type==="linear"){let t=a.stops.map(r=>`${ne(r.color)} ${Number(r.at)}%`).join(",");e.backgroundColor="transparent",e.backgroundImage=`linear-gradient(${Number(a.angle)}deg,${t})`}else if(a.type==="image"&&typeof a.src=="string"){let t=/^data:image\\/(?:svg\\+xml|jpeg|png);base64,[A-Za-z0-9+/]+={0,2}$/.test(a.src)?a.src:a.src.replace(/[^A-Za-z0-9\\-._~:/?#[\\]@!$&*+;=%]/gu,n=>n.length===1&&n.charCodeAt(0)<128?`%${n.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0")}`:encodeURIComponent(n));e.backgroundImage=`url("${t}")`;let r=a.position;e.backgroundPosition=r?`${r.x}% ${r.y}%`:"center",e.backgroundSize=a.fit==="contain"?"contain":"cover",e.backgroundRepeat="no-repeat"}}function Ge(e){return`${Number(e.top)}px ${Number(e.right)}px ${Number(e.bottom)}px ${Number(e.left)}px`}function Qe(e,a,t,r,n){if(a===void 0)return;let s=r?.direction??"vertical",i=s!=="overlay"&&t==="width"==(s==="horizontal"),l=t==="width"?"minWidth":"minHeight";a==="fill"?s==="overlay"?(e.style[t]="100%",e.style[t==="width"?"justifySelf":"alignSelf"]="stretch"):i?(e.style.flex="1 1 0",e.style[l]="0"):(e.style.alignSelf="stretch",e.style[t]="auto"):a==="fit"?(e.style[t]="fit-content",t==="width"&&(e.style.maxWidth="100%"),!i&&s!=="overlay"&&(!r||r.align==="stretch")&&(e.style.alignSelf=n==="center"?"center":n==="end"?"flex-end":"flex-start")):typeof a=="number"&&(e.style[t]=`${a}px`,t==="width"&&(e.style.maxWidth="100%"),i&&(e.style.flex="0 0 auto"))}function oe(e,a,t){let r=a.style,n=r.text??{},s=e.style;if(a.type==="customer_data"&&(n.font&&s.setProperty("--g-data-display-font",Y[String(n.font)]??Y.system),a.data.source==="membership"&&(typeof n.size=="number"&&s.setProperty("--g-data-display-size",`clamp(${Math.min(n.size,28)}px, ${n.size/12}vw, ${n.size}px)`),typeof n.weight=="number"&&s.setProperty("--g-data-display-weight",String(n.weight)))),a.type==="customer_data"&&a.data.source==="credit_balance"&&(typeof n.size=="number"&&s.setProperty("--g-data-number-size",`clamp(${Math.min(n.size,48)}px, ${n.size/10}vw, ${n.size}px)`),n.font&&s.setProperty("--g-data-number-font",Y[String(n.font)]??Y.system),typeof n.weight=="number"&&s.setProperty("--g-data-number-weight",String(n.weight))),a.type==="customer_data"&&n.color){let p=ne(n.color);s.setProperty("--g-data-ink",p),s.setProperty("--g-data-muted",`color-mix(in srgb, ${p} 72%, transparent)`),s.setProperty("--g-data-line",`color-mix(in srgb, ${p} 20%, transparent)`),s.setProperty("--g-data-surface",`color-mix(in srgb, ${p} 8%, transparent)`)}r.padding&&(s.padding=Ge(r.padding)),r.margin&&(s.margin=Ge(r.margin)),typeof r.gap=="number"&&a.type==="stack"&&(s.gap=`${r.gap}px`),r.background&&vt(s,r.background),typeof r.opacity=="number"&&(s.opacity=String(r.opacity));let i=r.shape;if(i?.type==="pill")s.borderRadius="9999px";else if(i?.type==="rect"){let p=i.radius;s.borderRadius=typeof p=="number"?`${p}px`:`${Number(p.topLeft)}px ${Number(p.topRight)}px ${Number(p.bottomRight)}px ${Number(p.bottomLeft)}px`}(r.clipContent===!0||r.clipContent!==!1&&i&&(r.background||a.type==="image"))&&(s.overflow="hidden");let l=r.border;l&&(s.border=Number(l.width)>0?`${Number(l.width)}px ${l.style==="dashed"?"dashed":"solid"} ${ne(l.color)}`:"0");let d=r.shadow;d&&(s.boxShadow=`${Number(d.x)}px ${Number(d.y)}px ${Number(d.blur)}px ${Number(d.spread)}px ${ne(d.color)}`),["text","button","price","coupon_code","countdown","plan_picker"].includes(a.type)&&(n.font&&(s.fontFamily=Y[String(n.font)]??""),typeof n.size=="number"&&(s.fontSize=`${n.size}px`),typeof n.weight=="number"&&(s.fontWeight=String(n.weight)),typeof n.lineHeight=="number"&&(s.lineHeight=String(n.lineHeight)),typeof n.letterSpacing=="number"&&(s.letterSpacing=`${n.letterSpacing}px`),n.color&&(s.color=ne(n.color)),n.align&&(s.textAlign=String(n.align)),n.italic&&(s.fontStyle="italic"),n.decoration&&(s.textDecoration=String(n.decoration)),n.transform&&(s.textTransform=String(n.transform))),Qe(e,r.width,"width",t,n.align),Qe(e,r.height,"height",t,n.align),t?.direction==="horizontal"&&r.grow!==void 0&&(s.flexGrow=String(r.grow===!0?1:r.grow===!1?0:r.grow))}function xe(e,a){if($){let t=$.bindings.find(r=>r.componentId===e);if(!t)return;$.answers[t.variable]=a,Ae.add(e),N({type:"answers",answers:Xe()}),U();return}}function Xe(){let e={};for(let a of $?.bindings??[]){let t=h[a.componentId];t!==void 0&&typeof t!="number"&&(e[a.variable]=t)}return e}function kt(e){let a=document.createElement("section");a.className="g-data",a.dataset.layout=e.data.layout,a.dataset.source=e.data.source;let t=ee?.nodes[e.id];a.dataset.status=t?.status??"idle",a.dataset.preview=String(!!t?.preview);let r=t?.status==="loading",n=P.startsWith("zh"),s=(g,b)=>n?g:b;a.setAttribute("aria-busy",String(!!r));let i=(g,b,T)=>{let x=document.createElement(g);return x.className=b,T!==void 0&&(x.textContent=T),x},l=g=>{let b=document.createElementNS("http://www.w3.org/2000/svg","svg");b.setAttribute("viewBox","0 0 24 24"),b.setAttribute("fill","none"),b.setAttribute("stroke","currentColor"),b.setAttribute("stroke-width","1.7"),b.setAttribute("stroke-linecap","round"),b.setAttribute("stroke-linejoin","round"),b.setAttribute("aria-hidden","true"),b.classList.add("g-data-icon");let T={refresh:["M20 7v5h-5","M4 17v-5h5","M6.1 7a7 7 0 0 1 11.5-1.5L20 8M4 16l2.4 2.5A7 7 0 0 0 18 17"],down:["M7 7l10 10M7 17h10V7"],up:["M7 17L17 7M7 7h10v10"],chevron:["M6 9l6 6 6-6"],empty:["M4 8l8-4 8 4v10l-8 4-8-4V8Z","M4 8l8 4 8-4M12 12v10"],credit:["M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z","M12 7v10M8 12h8"]};for(let x of T[g]){let A=document.createElementNS("http://www.w3.org/2000/svg","path");A.setAttribute("d",x),b.append(A)}return b},d=(g,b,T,x=!1,A=b)=>{let z=i("button","g-data-button",g);return z.type="button",z.disabled=x||!!r&&b!=="refresh"||!!t?.preview||y.mode!=="live",r&&b==="refresh"&&z.setAttribute("aria-disabled","true"),z.dataset.gDataFocus=`${e.id}:${A}:${T??""}`,z.addEventListener("click",j=>{!j.isTrusted||z.disabled||r||N({type:"customer-data-intent",intent:{nodeId:e.id,action:b,...T?{value:T}:{}}})}),z},p=i("div","g-data-header"),f=i("h2","g-data-heading",_(e.title).value);f.id=`g-data-title-${e.id}`,a.setAttribute("aria-labelledby",f.id);let o=i("div","g-data-controls"),c=[],u=g=>{g.hidden||(g.type==="customer_data"&&c.push(g),g.type==="stack"&&g.children.forEach(u))},m=k?.pages[0];m&&u(m.root);let w=c.every(g=>ee?.nodes[g.id]?.preview),S=c.find(g=>g.data.source==="credit_balance")??c[0];t?.preview&&(!w||S?.id===e.id)&&o.append(i("span","g-data-preview",s("\\u793A\\u4F8B\\u6570\\u636E","Sample data")));let v=r?s("\\u66F4\\u65B0\\u4E2D\\u2026","Updating\\u2026"):s("\\u5237\\u65B0","Refresh"),L=d(v,"refresh");if(L.replaceChildren(l("refresh")),L.setAttribute("aria-label",v),L.title=v,L.classList.add("g-data-refresh"),r&&L.classList.add("g-data-refreshing"),o.append(L),e.data.source==="billing"&&e.data.outputs?.billing_portal&&o.append(d(t?.billingBusy?s("\\u6B63\\u5728\\u51C6\\u5907\\u2026","Preparing\\u2026"):s("\\u7BA1\\u7406\\u652F\\u4ED8\\u65B9\\u5F0F","Manage payment method"),"billing_portal",void 0,!!t?.billingBusy||t?.status!=="ready")),e.data.source==="credit_balance"&&(f.prepend(l("credit")),t?.resources.length===1&&f.append(i("span","g-data-resource-label",t.resources[0].name)),t?.updatedAt)){let g=i("time","g-data-updated",`${s("\\u66F4\\u65B0\\u4E8E","Updated")} ${new Intl.DateTimeFormat(P,{timeStyle:"short"}).format(new Date(t.updatedAt))}`);g.dateTime=t.updatedAt,g.title=new Intl.DateTimeFormat(P,{dateStyle:"medium",timeStyle:"short"}).format(new Date(t.updatedAt)),o.prepend(g)}if(p.append(f,o),a.append(p),!t||t.source!==e.data.source)return a.append(i("p","g-data-empty",s("\\u8FDE\\u63A5\\u5BA2\\u6237\\u6570\\u636E\\u540E\\u663E\\u793A\\u6B64\\u5185\\u5BB9\\u3002","Connect customer data to display this content."))),a;if(t.errorMessage){let g=i("div","g-data-error",t.errorMessage);g.setAttribute("role","alert"),a.append(g);let b=i("div","g-data-recovery");b.append(d(s("\\u91CD\\u8BD5","Retry"),"refresh")),a.append(b)}if(t.membershipResult){let g=i("p","g-data-note",t.membershipResult);g.setAttribute("role","status"),a.append(g)}if(t.membershipReview){let g=t.membershipReview,b=i("section","g-data-resource");b.dataset.gDataReview="",b.setAttribute("aria-label",g.title),b.setAttribute("aria-busy",String(!!t.membershipBusy));let T=i("h3","g-data-row-label",g.title);T.tabIndex=-1,b.append(T);let x=i("dl","g-data-facts");for(let z of g.facts){let j=i("div","");j.append(i("dt","",z.label),i("dd","",z.value)),x.append(j)}b.append(x,i("p","g-data-note",g.note));let A=i("div","g-data-controls");A.append(d(s("\\u8FD4\\u56DE","Back"),"membership_dismiss",void 0,!!t.membershipBusy),d(t.membershipBusy?s("\\u6B63\\u5728\\u5904\\u7406\\u2026","Processing\\u2026"):s("\\u786E\\u8BA4","Confirm"),"membership_confirm",void 0,!!t.membershipBusy)),b.append(A),a.append(b)}if(t.stale&&(t.resources.length||t.rows.length)&&a.append(i("p",r?"g-data-live-status":"g-data-note",r?s("\\u6B63\\u5728\\u66F4\\u65B0\\u8D26\\u6237\\u6570\\u636E\\u3002","Updating account data."):s("\\u663E\\u793A\\u4E0A\\u6B21\\u8BFB\\u53D6\\u7684\\u7ED3\\u679C\\uFF0C\\u6B63\\u5728\\u7B49\\u5F85\\u66F4\\u65B0\\u3002","Showing the last result while awaiting an update."))),r&&!t.resources.length&&!t.rows.length){let g=i("div","g-data-skeleton");if(g.setAttribute("aria-hidden","true"),e.data.source==="credit_balance")g.append(i("span","g-data-skeleton-line g-data-skeleton-value"),i("span","g-data-skeleton-line g-data-skeleton-meta"));else{let T=Math.min(e.data.pageSize,e.data.layout==="compact"?2:4);for(let x=0;x<T;x++){let A=i("div","g-data-skeleton-row");A.append(i("span","g-data-skeleton-line"),i("span","g-data-skeleton-line")),g.append(A)}}let b=i("p","g-data-live-status",s("\\u6B63\\u5728\\u8BFB\\u53D6\\u8D26\\u6237\\u6570\\u636E\\u2026","Loading account data\\u2026"));return b.setAttribute("role","status"),a.append(g,b),a}let R={credit_transactions:[["all","\\u5168\\u90E8\\u8BB0\\u5F55","All activity"],["consume","\\u6D88\\u8D39","Usage"],["reserve","\\u9884\\u6263","Reserved"],["confirm","\\u786E\\u8BA4\\u6263\\u8D39","Confirmed"],["release","\\u91CA\\u653E","Released"],["refund","\\u9000\\u56DE","Refund"]],credit_pack_orders:[["all","\\u5168\\u90E8\\u8BA2\\u5355","All orders"],["pending","\\u7B49\\u5F85\\u4ED8\\u6B3E","Pending"],["paid","\\u5DF2\\u4ED8\\u6B3E","Paid"],["expired","\\u5DF2\\u8FC7\\u671F","Expired"],["refunded","\\u5DF2\\u9000\\u6B3E","Refunded"],["disputed","\\u4E89\\u8BAE\\u4E2D","Disputed"]],offer_history:[["all","\\u5168\\u90E8\\u8BB0\\u5F55","All offers"],["issued","\\u672A\\u4F7F\\u7528","Unused"],["reserved","\\u4ED8\\u6B3E\\u5904\\u7406\\u4E2D","Payment pending"],["redeemed","\\u5DF2\\u4F7F\\u7528","Redeemed"],["expired","\\u5DF2\\u5230\\u671F","Expired"],["revoked","\\u5DF2\\u4F5C\\u5E9F","Revoked"]]};if(R[e.data.source]){let g=i("select","g-data-select");g.setAttribute("aria-label",s("\\u7B5B\\u9009\\u8BB0\\u5F55","Filter records")),g.dataset.gDataFocus=`${e.id}:filter`,g.disabled=!!r||t.preview||y.mode!=="live";for(let[b,T,x]of R[e.data.source]){let A=document.createElement("option");A.value=b,A.textContent=s(T,x),g.append(A)}g.value=t.filter,g.addEventListener("change",()=>{!g.disabled&&y.mode==="live"&&N({type:"customer-data-intent",intent:{nodeId:e.id,action:"filter",value:g.value}})}),o.prepend(g)}let ot=(g,b=!1)=>{let T=i("ul","g-data-list");if(e.data.source==="credit_transactions"&&g.length&&!b){let x=i("div","g-data-table-head");x.setAttribute("aria-hidden","true"),x.append(i("span","",s("\\u8BB0\\u5F55","Record")),i("span","",s("\\u7C7B\\u578B","Type")),i("span","",s("\\u79EF\\u5206","Credits"))),a.append(x)}for(let x of g){let A=i("li","g-data-row"),z=i("div","g-data-row-main"),j=i("div","g-data-row-copy");j.append(i("p","g-data-row-label",x.label));for(let M of x.detail)M!==x.status&&j.append(i("div","g-data-row-detail",M));if(e.data.source==="credit_transactions"&&!b){let M=i("span","g-data-row-mark");M.append(l(["Refund","\\u9000\\u56DE"].includes(x.status??"")?"up":"down")),z.append(M)}if(z.append(j),A.append(z),x.status?A.append(i("div","g-data-row-status",x.status)):A.classList.add("g-data-row-no-status"),x.value?A.append(i("div","g-data-row-value",x.value)):A.classList.add("g-data-row-no-value"),x.facts.length||x.purchaseId||x.membershipActions?.length||x.billingActions?.length){let M=i("div","g-data-row-extra"),V=i("div","g-data-facts"),W=(D,Ee)=>{for(let dt of D){let lt=i("span","",dt.label);lt.append(i("strong","",dt.value)),Ee.append(lt)}};if(W(x.facts.slice(0,3),V),x.facts.length>3){let D=i("details","g-data-sources");D.dataset.gDataSources=`facts:${x.id}`,D.append(i("summary","",`${e.data.source==="billing"?s("\\u8D26\\u5355\\u8BE6\\u60C5","Invoice details"):e.data.source==="offer_history"?s("\\u4F18\\u60E0\\u5238\\u660E\\u7EC6","Coupon details"):s("\\u5168\\u90E8\\u6263\\u8D39\\u660E\\u7EC6","All allocations")} \\xB7 ${x.facts.length}`));let Ee=i("div","g-data-facts");W(x.facts.slice(3),Ee),D.append(Ee),V.append(D)}if(M.append(V),!b)for(let D of x.billingActions??[])M.append(d(D.label,D.action,x.id,!!t.billingBusy));if(x.purchaseId&&e.data.allowPurchase&&!b){let D=d(t.buyingId===x.purchaseId?s("\\u6B63\\u5728\\u51C6\\u5907\\u2026","Preparing\\u2026"):s("\\u8D2D\\u4E70\\u79EF\\u5206","Buy credits"),"buy_pack",x.purchaseId,!!t.preview||!!t.buyingId);D.classList.add("g-data-buy"),M.append(D)}if(e.data.allowPurchase&&!b)for(let D of x.membershipActions??[])M.append(d(D.label,"membership_preview",D.value,!!t.preview||!!t.membershipBusy||!!t.membershipReview));A.append(M)}T.append(A)}return T};for(let g of t.resources){let b=i("article","g-data-resource");b.setAttribute("aria-label",g.name),t.resources.length>1&&b.append(i("p","g-data-name",g.name));let T=i("div","g-data-balance"),x=new Intl.NumberFormat(P).formatToParts(1.1).find(M=>M.type==="decimal")?.value??".",A=g.spendable.lastIndexOf(x),z=i("strong","g-data-number",A<0?g.spendable:g.spendable.slice(0,A));A>=0&&z.append(i("span","g-data-fraction",g.spendable.slice(A))),T.append(z,i("span","g-data-unit",s("\\u53EF\\u7528\\u79EF\\u5206","Spendable credits"))),b.append(T);let j=i("div","g-data-facts");for(let[M,V]of[[s("\\u4F59\\u989D","Balance"),g.available],[s("\\u51BB\\u7ED3","Reserved"),g.reserved]]){let W=i("span","",M);W.append(i("strong","",V)),j.append(W)}if(g.expiry&&j.append(i("span","g-data-expiry",`${s("\\u6700\\u8FD1\\u5230\\u671F","Next expiry")} \\xB7 ${g.expiry}`)),b.append(j),e.data.showSources&&g.sourceCount){let M=i("details","g-data-sources");if(M.dataset.gDataSources=g.key,M.append(i("summary","",`${s("\\u79EF\\u5206\\u6765\\u6E90","Credit sources")} \\xB7 ${g.sourceCount}`),ot(g.sources,!0)),M.querySelector("summary")?.append(l("chevron")),g.hasNextSources||g.hasPreviousSources){let V=i("div","g-data-footer");V.append(i("span","",`${s("\\u7B2C","Page")} ${g.sourcePage}`));let W=i("div","g-data-controls");W.append(d(s("\\u4E0A\\u4E00\\u9875","Previous"),"sources_previous",g.key,!g.hasPreviousSources),d(s("\\u4E0B\\u4E00\\u9875","Next"),"sources_next",g.key,!g.hasNextSources)),V.append(W),M.append(V)}b.append(M)}a.append(b)}if(t.rows.length&&a.append(ot(t.rows)),e.data.source==="billing_controls"&&(e.data.outputs?.billing_authorization||e.data.outputs?.billing_adjustment)){let g=i("div","g-data-controls");e.data.outputs?.billing_authorization&&g.append(d(s("\\u8BBE\\u7F6E\\u81EA\\u52A8\\u4ED8\\u6B3E\\u6388\\u6743","Set up payment authorization"),"billing_authorization")),e.data.outputs?.billing_adjustment&&g.append(d(s("\\u67E5\\u770B\\u5F85\\u786E\\u8BA4\\u8865\\u6B3E","Review pending adjustment"),"billing_adjustment")),a.append(g)}if(!t.rows.length&&!t.resources.length&&t.status!=="error"){let g=i("p","g-data-empty",r?s("\\u6B63\\u5728\\u8BFB\\u53D6\\u8D26\\u6237\\u6570\\u636E\\u2026","Loading account data\\u2026"):t.status==="idle"?s("\\u767B\\u5F55\\u540E\\u67E5\\u770B\\u4F60\\u7684\\u8D26\\u6237\\u6570\\u636E\\u3002","Sign in to view your account data."):t.filter!=="all"?s("\\u6CA1\\u6709\\u7B26\\u5408\\u7B5B\\u9009\\u6761\\u4EF6\\u7684\\u8BB0\\u5F55\\u3002","No records match this filter."):e.data.source==="credit_pack_orders"?s("\\u6682\\u65E0\\u8D2D\\u4E70\\u8BB0\\u5F55","No purchases yet"):e.data.source==="credit_balance"?s("\\u6682\\u65E0\\u79EF\\u5206\\u6765\\u6E90","No credit balances yet"):e.data.source==="membership"?s("\\u6682\\u65E0\\u4F1A\\u5458\\u65B9\\u6848","No memberships yet"):e.data.source==="customer_plans"?s("\\u6682\\u65E0\\u53EF\\u9009\\u5957\\u9910","No plans available"):e.data.source==="credit_packs"?s("\\u6682\\u65E0\\u53EF\\u8D2D\\u4E70\\u7684\\u79EF\\u5206\\u5305","No credit packs available"):e.data.source==="billing_controls"?s("\\u5C1A\\u672A\\u8BBE\\u7F6E\\u7528\\u91CF\\u9650\\u5236\\u6216\\u81EA\\u52A8\\u4ED8\\u6B3E\\u6388\\u6743","No usage limits or payment authorizations configured"):e.data.source==="offer_history"?s("\\u6682\\u65E0\\u4F18\\u60E0\\u8BB0\\u5F55","No offers yet"):e.data.source==="billing"?s("\\u6682\\u65E0\\u8D26\\u5355","No invoices yet"):s("\\u8FD9\\u91CC\\u8FD8\\u6CA1\\u6709\\u8BB0\\u5F55\\u3002","There are no records yet."));g.prepend(l("empty")),g.setAttribute("role","status"),a.append(g)}if(t.hasNext||t.hasPrevious){let g=i("div","g-data-footer");g.append(i("span","",`${s("\\u7B2C","Page")} ${t.page}`));let b=i("div","g-data-controls");b.append(d(s("\\u4E0A\\u4E00\\u9875","Previous"),"previous",void 0,!t.hasPrevious),d(s("\\u4E0B\\u4E00\\u9875","Next"),"next",void 0,!t.hasNext)),g.append(b),a.append(g)}return t.updatedAt&&e.data.source!=="credit_balance"&&a.append(i("p","g-data-note g-data-updated",`${s("\\u6570\\u636E\\u66F4\\u65B0\\u4E8E","Updated")} ${new Intl.DateTimeFormat(P,{dateStyle:"medium",timeStyle:"short"}).format(new Date(t.updatedAt))}`)),a}let Q=new Map,Pe=new Map,et=e=>{let a=e.target;for(let t of Q.keys())a&&!J(t)?.contains(a)&&Q.delete(t)};document.addEventListener("focusin",et),document.addEventListener("pointerdown",et);function St(e){let a=ee;if(ee=e,!k)return;let t=(n,s)=>{if(n.type==="stack"){n.children.forEach(m=>t(m,n));return}if(n.type!=="customer_data"||JSON.stringify(a?.nodes[n.id])===JSON.stringify(e.nodes[n.id]))return;let i=J(n.id);if(!i)return;let l=document.activeElement;l&&i.contains(l)&&l.dataset.gDataFocus&&Q.set(n.id,l.dataset.gDataFocus);let d=new Set([...i.querySelectorAll("details[data-g-data-sources]")].filter(m=>m.open).map(m=>m.dataset.gDataSources)),p=we(n,s);if(!p)return;for(let m of p.querySelectorAll("details[data-g-data-sources]"))m.open=d.has(m.dataset.gDataSources);let f=i.scrollTop;i.replaceWith(p),p.scrollTop=f;let o=!!e.nodes[n.id]?.membershipReview&&!a?.nodes[n.id]?.membershipReview,c=!e.nodes[n.id]?.membershipReview&&!!a?.nodes[n.id]?.membershipReview;o&&Q.get(n.id)&&Pe.set(n.id,Q.get(n.id));let u=c?Pe.get(n.id):Q.get(n.id);u&&[...p.querySelectorAll("[data-g-data-focus]")].find(m=>m.dataset.gDataFocus===u)?.focus({preventScroll:!0}),o&&p.querySelector("[data-g-data-review] h3")?.focus({preventScroll:!0}),c&&Pe.delete(n.id),p.animate&&e.nodes[n.id]?.status==="ready"&&!window.matchMedia("(prefers-reduced-motion:reduce)").matches&&p.animate([{opacity:.7},{opacity:1}],{duration:140,easing:"ease-out"})},r=k.pages.find(n=>n.id===B)??k.pages[0];t(r.root,null),de()}function we(e,a){if(e.hidden)return null;let t;if(e.type==="customer_data")t=kt(e);else if(e.type==="stack"){t=document.createElement(e.purchaseAction?"button":"div"),e.purchaseAction&&(t.type="button",t.dataset.gAction=e.purchaseAction),t.className=`${e.purchaseAction?`g-btn g-btn-${e.buttonVariant??"primary"} `:""}g-stack ${e.direction==="horizontal"?"g-h":e.direction==="overlay"?"g-o":"g-v"}`,e.direction==="overlay"?(t.style.alignItems=ht[e.align]??"stretch",t.style.justifyItems=mt[e.justify]??"stretch"):(t.style.alignItems=Be[e.align]??"stretch",t.style.justifyContent=qe[e.justify]??"flex-start");for(let r of e.children){let n=we(r,e);n&&t.append(n)}if(e.interaction&&Et(t,e),e.purchaseAction&&y.mode==="live"){let r=E?.nodes[e.id],n=r?.picker;n&&(t.disabled=!E?.pickers[n]?.options.includes(String(h[n]??""))),q(e.id)?.unavailable&&(t.disabled=!0)}y.mode==="editor"&&!t.childElementCount&&(t.classList.add("g-empty"),t.dataset.gEditorPlaceholder=y.editorMessages?.emptyContainer??"\\u62D6\\u5165\\u7EC4\\u4EF6")}else if(e.type==="text"){let r=e.variant==="title"?"h1":e.variant==="heading"?"h2":"p";t=document.createElement(r),t.className=`g-text g-${e.variant}`;let n=se(e,"text",e.text);t.textContent=n.value,n.missing&&y.mode==="editor"&&t.classList.add("g-missing")}else if(e.type==="button"){t=document.createElement("button"),t.type="button",t.className=`g-btn g-btn-${e.variant}`;let r=se(e,"label",e.label);t.textContent=r.value,r.missing&&y.mode==="editor"&&t.classList.add("g-missing"),t.dataset.gAction=e.action;let n=E?.nodes[e.id]?.picker;if(n&&y.mode==="live"){let s=n,i=E?.pickers[s],l=h[s]??i?.selected;t.disabled=!i?.options.includes(String(l)),t.disabled&&t.setAttribute("aria-disabled","true")}y.mode==="live"&&q(e.id)?.unavailable&&(t.disabled=!0,t.setAttribute("aria-disabled","true")),y.mode==="editor"&&(t.tabIndex=-1)}else if(e.type==="image"){t=document.createElement("div"),t.className="g-img",Ue[e.aspect]&&(t.dataset.aspect=e.aspect,t.style.aspectRatio=Ue[e.aspect]);let r=document.createElement("img");r.src=e.localizedSrc?.[P]??e.localizedSrc?.[k.strings.defaultLocale]??e.src,r.alt=se(e,"alt",e.alt).value,r.referrerPolicy="no-referrer",r.decoding="async",r.style.objectFit=e.fit,e.position&&(r.style.objectPosition=`${e.position.x}% ${e.position.y}%`),r.addEventListener("load",ke),t.append(r)}else if(e.type==="price"){t=document.createElement("div"),t.className="g-price",t.style.cssText="display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-variant-numeric:tabular-nums";let r=q(e.id);if(!r?.price)t.textContent=r?.text??_(e.fallback).value,y.mode==="editor"&&t.classList.add("g-missing");else for(let n of["current","original","period"]){let s=r.price[n];if(!s)continue;let i=document.createElement(n==="original"?"s":"span");i.textContent=s,n==="original"&&(i.style.opacity=".6"),e.parts?.[n]&&oe(i,{type:"text",id:e.id,text:e.fallback,variant:"body",style:e.parts[n]},null),t.append(i)}}else if(e.type==="coupon_code"){t=document.createElement("div"),t.style.cssText="display:flex;align-items:center;gap:12px;flex-wrap:wrap";let r=q(e.id);if(r?.code){let n=document.createElement("code");n.textContent=r.code;let s=document.createElement("button");s.type="button",s.className="g-btn g-btn-secondary",s.textContent=_(e.label).value,s.addEventListener("click",i=>{y.mode!=="editor"&&(i.stopPropagation(),N({type:"copy",nodeId:e.id}))}),t.append(n,s)}else t.textContent=r?.text??_(e.fallback).value,y.mode==="editor"&&t.classList.add("g-missing")}else if(e.type==="countdown"){t=document.createElement("span"),t.setAttribute("role","timer"),t.style.fontVariantNumeric="tabular-nums";let r=q(e.id),n=r?.countdownAt?Date.parse(r.countdownAt):NaN,s=e.granularity==="second"?void 0:new Intl.NumberFormat(P,{style:"unit",unit:e.granularity,unitDisplay:"short"});!Number.isFinite(n)&&y.mode==="editor"&&t.classList.add("g-missing");let i=()=>{if(!Number.isFinite(n)){t.textContent=r?.text??_(e.fallback).value;return}let l=Math.max(0,Math.ceil((n-Date.now())/1e3));if(!l){t.textContent=_(e.expired).value;let o=Z.get(e.id);o!==void 0&&clearInterval(o),Z.delete(e.id);return}let d=e.granularity,p=d==="day"?86400:d==="hour"?3600:d==="minute"?60:1,f=s?s.format(Math.ceil(l/p)):[Math.floor(l/86400),Math.floor(l/3600)%24,Math.floor(l/60)%60,l%60].map(o=>String(o).padStart(2,"0")).join(":");t.textContent!==f&&(t.textContent=f)};i(),Number.isFinite(n)&&n>Date.now()&&Z.set(e.id,setInterval(i,1e3))}else if(e.type==="quantity_picker"){t=document.createElement("div");let r=E?.quantities?.[e.id],n=document.createElement("label");n.textContent=_(e.label).value;let s=document.createElement("input");s.type="range",s.id=`quantity-${e.id}`,n.htmlFor=s.id,s.min=String(r?.minimum??e.minimumQuantity),s.max=String(r?.maximum??e.maximumQuantity),s.step=String(e.step),s.value=String(typeof h[e.id]=="number"?h[e.id]:e.defaultQuantity),h[e.id]=Number(s.value),s.disabled=y.mode!=="editor"&&!r?.available,s.style.cssText="width:100%;accent-color:var(--g-primary)";let i=document.createElement("output");i.textContent=r?.label||_(e.fallback).value,s.setAttribute("aria-valuetext",r?.label??String(s.value)),s.oninput=()=>{h[e.id]=Number(s.value),N({type:"selection",selection:K()})},t.append(n,s,i)}else if(e.type==="plan_picker"){t=document.createElement("div"),t.setAttribute("role",e.grouping?"group":"radiogroup"),t.setAttribute("aria-label",_(e.label).value),t.style.cssText="display:flex;flex-direction:column;gap:8px";let r=E?.pickers[e.id],n=e.grouping;if(!r?.options.length)t.textContent=_(e.fallback).value,y.mode==="editor"&&t.classList.add("g-missing");else{let s=typeof h[e.id]=="string"?String(h[e.id]):r.selected,i=G[e.id];if(n){if(!i){let S=n.assignments.find(v=>v.productVersionId===s);i={period:S?.period??"month",tierId:S?.tierId??n.tiers[0].id},G[e.id]=i}let o=n.assignments.find(S=>S.tierId===i.tierId&&S.period===i.period);s=o&&r.options.includes(o.productVersionId)?o.productVersionId:"";let c=document.createElement("div");c.setAttribute("role","radiogroup"),c.setAttribute("aria-label",`${_(n.monthLabel).value} / ${_(n.yearLabel).value}`),c.style.cssText="display:flex;gap:4px;padding:4px;border:1px solid var(--g-border);border-radius:10px";let u=["month","year"],m=u.filter(S=>n.assignments.some(v=>v.period===S&&r.options.includes(v.productVersionId))),w=S=>{i.period=S;let v=n.assignments.find(L=>L.tierId===i.tierId&&L.period===S);h[e.id]=v&&r.options.includes(v.productVersionId)?v.productVersionId:"",U(),N({type:"selection",selection:K()}),J(e.id)?.querySelector(`[data-product-period="${S}"]`)?.focus()};for(let S of u){let v=document.createElement("button");v.type="button",v.className=`g-btn g-btn-${S===i.period?"primary":"secondary"}`,v.style.cssText="flex:1;min-width:0;min-height:40px",v.dataset.productPeriod=S,v.setAttribute("role","radio"),v.setAttribute("aria-checked",String(S===i.period)),v.textContent=_(S==="month"?n.monthLabel:n.yearLabel).value,v.disabled=!m.includes(S),v.tabIndex=y.mode==="editor"||v.disabled?-1:S===i.period||!m.includes(i.period)&&S===m[0]?0:-1,v.addEventListener("click",L=>{y.mode!=="editor"&&(L.stopPropagation(),w(S))}),v.addEventListener("keydown",L=>{if(y.mode==="editor"||!m.length)return;let R;["ArrowRight","ArrowDown"].includes(L.key)?R=(m.indexOf(S)+1)%m.length:["ArrowLeft","ArrowUp"].includes(L.key)?R=(m.indexOf(S)-1+m.length)%m.length:L.key==="Home"?R=0:L.key==="End"&&(R=m.length-1),R!==void 0&&(L.preventDefault(),w(m[R]))}),c.append(v)}t.append(c)}h[e.id]=s??"";let l=n?n.tiers.map(o=>({tier:o,id:n.assignments.find(c=>c.tierId===o.id&&c.period===i.period)?.productVersionId})):r.options.map(o=>({id:o,tier:void 0})),d=l.filter(o=>o.id&&r.options.includes(o.id)),p=n?document.createElement("div"):t;n&&(p.setAttribute("role","radiogroup"),p.setAttribute("aria-label",_(e.label).value),p.style.cssText="display:flex;flex-direction:column;gap:8px",t.append(p));let f=o=>{!o.id||!r.options.includes(o.id)||(n&&o.tier&&(i.tierId=o.tier.id),h[e.id]=o.id,U(),N({type:"selection",selection:K()}),J(e.id)?.querySelector(`[data-plan-id="${o.id}"]`)?.focus())};for(let o of l){let c=o.id?E.plans[o.id]:void 0,u=!!c&&r.options.includes(o.id),m=document.createElement("button");m.type="button",m.className="g-btn g-btn-secondary",m.style.cssText="width:100%;text-align:start;min-height:44px",m.setAttribute("role","radio");let w=n?o.tier?.id===i.tierId:o.id===s;m.setAttribute("aria-checked",String(w)),m.disabled=!u,m.tabIndex=y.mode==="editor"||!u?-1:w||!s&&o===d[0]?0:-1,o.id&&(m.dataset.planId=o.id),o.tier&&(m.dataset.productTier=o.tier.id);let S=o.id?E.nodes[e.id]?.byPlan?.[o.id]?.price:void 0;m.textContent=u?`${o.tier?.name??c.name} \\xB7 ${S?.current??c.price}${S?.period??c.period}`:`${o.tier?.name??""} \\xB7 ${_(n?.unavailableLabel??e.fallback).value}`,w&&(m.style.borderColor="var(--g-primary)",m.style.boxShadow="inset 0 0 0 1px var(--g-primary)",e.states?.selected&&oe(m,{type:"text",id:e.id,text:e.label,variant:"body",style:e.states.selected},null)),m.addEventListener("click",v=>{y.mode==="editor"||!u||(v.stopPropagation(),f(o))}),m.addEventListener("keydown",v=>{if(y.mode==="editor"||!d.length)return;let L=d.indexOf(o),R;["ArrowRight","ArrowDown"].includes(v.key)?R=(L+1)%d.length:["ArrowLeft","ArrowUp"].includes(v.key)?R=(L-1+d.length)%d.length:v.key==="Home"?R=0:v.key==="End"&&(R=d.length-1),R!==void 0&&(v.preventDefault(),f(d[R]))}),p.append(m)}if(n&&!s){let o=document.createElement("p");o.setAttribute("role","status"),o.textContent=_(n.unavailableLabel).value,t.append(o)}}}else if(e.type==="divider")t=document.createElement("hr"),t.className="g-divider";else if(e.type==="spacer")t=document.createElement("div"),t.setAttribute("aria-hidden","true"),t.style.flex="0 0 auto",t.style.width=t.style.height=`${gt[e.size]??0}px`;else if(e.type==="custom_html"){t=document.createElement("div"),t.className="g-custom";let r=t.attachShadow({mode:"open"}),n=document.createElement("style"),s="@media(prefers-reduced-motion:reduce){:host,:host::before,:host::after,*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}";n.textContent=`:host{display:block}${s}@layer indiana-accessibility{${s}}${e.css}`;let i=document.createElement("div");r.append(n,i),ge.set(t,{body:i,source:null,bound:!1,unresolved:!1,variables:[],bindings:[],fallback:!1,initialized:!1,template:null,parked:!1}),Ze(t,e)}else return null;return e.style&&oe(t,e,a),t.dataset.gNode=e.id,t.dataset.gLabel=wt(e),_e.set(e.id,t),t}function Et(e,a){let t=a.interaction,r=[...e.children];e.setAttribute("aria-label",_(t.label).value);let n=$?.bindings.find(i=>i.componentId===a.id),s=n?{id:n.variable,source:n.componentId,required:n.required}:void 0;if(s){let i=document.createElement("p");i.className="g-text g-body",i.textContent=_(t.label).value+(s.required?" *":""),e.prepend(i),s.required&&e.setAttribute("aria-required","true")}if(t.type==="input"){let i=document.createElement("input");i.type=t.keyboard,i.maxLength=t.maxLength,i.autocomplete="off",i.setAttribute("aria-label",_(t.label).value),i.setAttribute("aria-required",String(!!s?.required)),i.value=typeof h[a.id]=="string"?String(h[a.id]):"",i.style.cssText="box-sizing:border-box;width:100%;min-height:44px;padding:10px 14px;border:1px solid var(--g-border);border-radius:8px;background:var(--g-surface);color:var(--g-text);font:inherit",i.disabled=y.mode!=="live",i.addEventListener("input",()=>{h[a.id]=i.value,xe(a.id,i.value)}),e.append(i);return}if(!(y.mode!=="live"||!r.length&&t.type!=="toggle")){if(t.type==="multiselect"){e.setAttribute("role","group"),e.dataset.gMin=String(t.min);let i=a.children.filter(p=>!p.hidden),l=new Set(Array.isArray(h[a.id])?h[a.id]:[]),d=()=>r.forEach((p,f)=>{let o=l.has(i[f].id);p.setAttribute("aria-checked",String(o)),p.setAttribute("aria-disabled",String(!o&&l.size>=t.max)),p.style.outline=o?"2px solid var(--g-primary)":"",p.style.outlineOffset="-2px"});r.forEach((p,f)=>{p.setAttribute("role","checkbox"),p.tabIndex=0,p.setAttribute("aria-label",p.textContent?.trim()||String(f+1)),p.style.cursor="pointer";let o=()=>{let c=i[f].id;if(l.has(c))l.delete(c);else if(l.size<t.max)l.add(c);else return;let u=i.filter(m=>l.has(m.id)).map(m=>m.id);h[a.id]=u,d(),xe(a.id,u)};p.addEventListener("click",c=>{c.stopPropagation(),o()}),p.addEventListener("keydown",c=>{[" ","Enter"].includes(c.key)&&(c.preventDefault(),c.stopPropagation(),o())})}),d();return}if(t.type==="select"){e.setAttribute("role","radiogroup");let i=a.children.filter(f=>!f.hidden),l=C(a)?a.interaction.pickerId:void 0,d=i.findIndex(f=>l?f.type==="stack"&&f.bind?.plan===h[l]:f.id===h[a.id]);!l&&d<0&&!s?.required&&(d=Math.min(t.defaultIndex,r.length-1));let p=(f,o=!1,c=!0)=>{if(l&&c&&f>=0){let u=i[f],m=u.type==="stack"?u.bind?.plan:void 0;if(!m||!E?.pickers[l]?.options.includes(m))return;h[a.id]=u.id,h[l]=m,U(),N({type:"selection",selection:K()}),o&&I.querySelector(`[data-g-node="${u.id}"]`)?.focus({preventScroll:!0});return}d=f,f>=0&&(h[a.id]=i[f].id),c&&f>=0&&xe(a.id,i[f].id),r.forEach((u,m)=>{u.setAttribute("aria-checked",String(m===f)),u.tabIndex=m===(f<0?0:f)?0:-1,u.style.cssText="";let w=i[m];w.type==="stack"&&(u.style.alignItems=Be[w.align]??"stretch",u.style.justifyContent=qe[w.justify]??"flex-start"),w.style&&oe(u,w,a),m===f&&(t.selectedStyle&&oe(u,{...w,style:t.selectedStyle},a),w.type==="stack"&&w.states?.selected&&oe(u,{...w,style:w.states.selected},a),!t.selectedStyle?.border&&!(w.type==="stack"&&w.states?.selected?.border)&&(u.style.outline="2px solid var(--g-primary)",u.style.outlineOffset="-2px")),u.style.cursor="pointer"}),o&&f>=0&&r[f].focus()};r.forEach((f,o)=>{if(f.setAttribute("role","radio"),l){let c=i[o],u=c.type==="stack"?c.bind?.plan:void 0;f.setAttribute("aria-disabled",String(!u||!E?.pickers[l]?.options.includes(u)))}f.setAttribute("aria-label",f.textContent?.trim()||String(o+1)),f.addEventListener("click",c=>{c.stopPropagation(),p(o)}),f.addEventListener("keydown",c=>{let u=c.key;if(!["ArrowRight","ArrowLeft","ArrowDown","ArrowUp","Home","End"," ","Enter"].includes(u))return;c.preventDefault(),c.stopPropagation();let m=d<0?o:d;p(u==="Home"?0:u==="End"?r.length-1:u==="ArrowRight"||u==="ArrowDown"?(m+1)%r.length:u==="ArrowLeft"||u==="ArrowUp"?(m+r.length-1)%r.length:o,!0)})}),p(d,!1,!1)}else if(t.type==="tabs"){let i=a.children.filter(o=>!o.hidden),l=document.createElement("div");l.setAttribute("role","tablist"),l.setAttribute("aria-label",_(t.label).value),l.style.cssText="display:flex;gap:4px;padding:4px;border:1px solid var(--g-border);border-radius:12px";let d=r.map((o,c)=>{let u=document.createElement("button");return u.type="button",u.setAttribute("role","tab"),u.textContent=De(i[c])||String(c+1),u.style.cssText="flex:1;min-width:0;min-height:44px;padding:8px 16px;border:0;border-radius:8px;font:inherit;cursor:pointer",o.id=`g-${a.id}-${i[c].id}`,o.setAttribute("role","tabpanel"),u.setAttribute("aria-controls",o.id),l.append(u),u}),p=(o,c=!1,u=!1)=>{if(h[a.id]=i[o].id,u&&k&&Object.keys(O(k)).length){for(let m of Object.keys(O(k)))delete h[m];U(),N({type:"selection",selection:K()}),c&&I.querySelector(`[data-g-node="${a.id}"] [role="tab"][aria-selected="true"]`)?.focus({preventScroll:!0});return}r.forEach((m,w)=>{m.hidden=w!==o,d[w].setAttribute("aria-selected",String(w===o)),d[w].tabIndex=w===o?0:-1,d[w].style.background=w===o?"var(--g-primary)":"transparent",d[w].style.color=w===o?"var(--g-on-primary)":"var(--g-text)"}),c&&d[o].focus(),de()};d.forEach((o,c)=>{o.addEventListener("click",u=>{u.stopPropagation(),p(c,!1,!0)}),o.addEventListener("keydown",u=>{["ArrowLeft","ArrowRight","Home","End"].includes(u.key)&&(u.preventDefault(),u.stopPropagation(),p(u.key==="Home"?0:u.key==="End"?r.length-1:(c+(u.key==="ArrowRight"?1:r.length-1))%r.length,!0,!0))})}),e.prepend(l);let f=i.findIndex(o=>o.id===h[a.id]);p(f>=0?f:Math.min(t.defaultIndex,r.length-1))}else if(t.type==="toggle"){let i=document.createElement("button");i.type="button",i.setAttribute("role","switch"),i.className="g-btn g-btn-secondary",i.style.cssText="display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--g-text)";let l=document.createElement("span");l.textContent=_(t.label).value;let d=document.createElement("span");d.setAttribute("aria-hidden","true"),d.style.cssText="position:relative;display:block;flex:none;width:44px;height:24px;border-radius:12px;background:var(--g-border)";let p=document.createElement("span");p.style.cssText="position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003",d.append(p),i.append(l,d);let f=(o,c=!1)=>{if(h[a.id]=o,c&&k&&Object.keys(O(k)).length){for(let u of Object.keys(O(k)))delete h[u];U(),N({type:"selection",selection:K()}),I.querySelector(`[data-g-node="${a.id}"] [role="switch"]`)?.focus({preventScroll:!0});return}i.setAttribute("aria-checked",String(o)),d.style.background=o?"var(--g-primary)":"var(--g-border)",p.style.left=o?"23px":"3px",p.style.background=o?"var(--g-on-primary)":"#FFFFFF",r.forEach((u,m)=>u.hidden=m!==(o?0:1)),de()};i.addEventListener("click",o=>{o.stopPropagation(),f(!h[a.id],!0),xe(a.id,!!h[a.id])}),e.prepend(i),f(typeof h[a.id]=="boolean"?h[a.id]:t.defaultEnabled)}else{e.setAttribute("role","region"),e.setAttribute("aria-roledescription","carousel");let i=document.createElement("div");i.style.cssText="display:flex;align-items:center;justify-content:center;gap:10px";let l=document.createElement("button"),d=document.createElement("button"),p=document.createElement("span"),f=P.startsWith("zh");l.textContent="\\u2190",d.textContent="\\u2192",l.setAttribute("aria-label",f?"\\u4E0A\\u4E00\\u6761\\u8BC4\\u4EF7":"Previous review"),d.setAttribute("aria-label",f?"\\u4E0B\\u4E00\\u6761\\u8BC4\\u4EF7":"Next review");for(let c of[l,d])c.type="button",c.className="g-btn g-btn-secondary",c.style.color="var(--g-text)";p.setAttribute("aria-live","polite");let o=c=>{ie[a.id]=c,r.forEach((u,m)=>u.hidden=m!==c),p.textContent=`${c+1} / ${r.length}`,de()};l.addEventListener("click",c=>{c.stopPropagation(),o((ie[a.id]+r.length-1)%r.length)}),d.addEventListener("click",c=>{c.stopPropagation(),o((ie[a.id]+1)%r.length)}),i.append(l,p,d),e.append(i),o(ie[a.id]??0)}}}function De(e){if(e.hidden)return"";if(e.type==="text"&&(e.variant==="title"||e.variant==="heading"))return _(e.text).value;if(e.type==="stack")for(let a of e.children){let t=De(a);if(t)return t}return""}function tt(e){return e.type==="stack"&&!e.interaction&&!e.purchaseAction}function ve(e){let a=[],t=r=>{let n=E?.nodes[r.id];if(a.push(r.id,q(r.id)),n?.picker&&a.push(h[n.picker],E?.pickers[n.picker]),r.type==="text")a.push(se(r,"text",r.text));else if(r.type==="button")a.push(se(r,"label",r.label));else if(r.type==="image")a.push(se(r,"alt",r.alt));else if(r.type==="custom_html"){let s=$e(r);a.push(s,y.mode==="live"&&$?Ke(s).map(i=>[i,Me(i)]):void 0)}else if(r.type==="customer_data")a.push(ee?.nodes[r.id]);else if(r.type==="plan_picker"){let s=E?.pickers[r.id];a.push(h[r.id],G[r.id],s,n,s?.options.map(i=>E?.plans[i]))}else r.type==="stack"&&(r.interaction?.type!=="input"&&a.push(h[r.id],ie[r.id]),C(r)&&a.push(h[r.interaction.pickerId],E?.pickers[r.interaction.pickerId]),r.children.forEach(t))};return t(e),JSON.stringify(a)}function at(e){e.hidden||(tt(e)?e.children.forEach(at):le.set(e.id,ve(e)))}function He(e){if(e.type==="custom_html"){let t=J(e.id),r=t&&ge.get(t);r&&Ce(r)}let a=Z.get(e.id);a!==void 0&&clearInterval(a),Z.delete(e.id),e.type==="stack"&&e.children.forEach(He)}function rt(e,a){if(e.hidden)return;if(tt(e)){e.children.forEach(n=>rt(n,e));return}if(le.get(e.id)===ve(e))return;let t=J(e.id);if(!t)return;if(e.type==="custom_html"&&ge.has(t)){Ze(t,e),le.set(e.id,ve(e));return}He(e);let r=we(e,a);r&&(t.replaceWith(r),le.set(e.id,ve(e)))}function At(){let e=document.activeElement;if(!(e instanceof HTMLElement)||!I.contains(e))return;let a=e.closest("[data-g-node]");if(!a)return;let t=[];for(let r=e;r!==a;){let n=r.parentElement;if(!n)return;t.unshift(Array.prototype.indexOf.call(n.children,r)),r=n}return{active:e,nodeId:a.dataset.gNode,path:t,identity:["productPeriod","planId","productTier","gDataFocus"].map(r=>[r,e.dataset[r]]).find(([,r])=>r!==void 0),selection:e instanceof HTMLInputElement&&e.selectionStart!==null?{start:e.selectionStart,end:e.selectionEnd,direction:e.selectionDirection}:void 0}}function _t(e){if(!e||e.active.isConnected)return;let a=J(e.nodeId);if(!a)return;let t=a;if(e.identity){let[r,n]=e.identity;t=[...a.querySelectorAll("*")].find(s=>s.dataset[r]===n)}else for(let r of e.path)t=t?.children[r];!t||t.hasAttribute("disabled")||(t.focus({preventScroll:!0}),e.selection&&t instanceof HTMLInputElement&&["text","search","tel","url","password"].includes(t.type)&&t.setSelectionRange(e.selection.start,e.selection.end,e.selection.direction??void 0))}function U(e=!1){if(!k)return;let a=e?void 0:At(),t=k.pages.find(n=>n.id===(B??k.initialPageId))??k.pages[0];if(B=t.id,E){let n={},s=i=>{i.type==="stack"&&i.children.forEach(s),i.type==="plan_picker"&&typeof h[i.id]=="string"&&h[i.id]!==""&&(n[i.id]=String(h[i.id]))};s(t.root),Object.assign(h,pe({...k,pages:[t]},K(),E)),Object.assign(h,n)}let r=n=>{if(n.type==="stack"&&n.children.forEach(r),n.type!=="plan_picker"||!n.grouping)return;let s=n.grouping,i=E?.pickers[n.id],l=G[n.id];if(!l){let p=s.assignments.find(f=>f.productVersionId===(h[n.id]??i?.selected));l={period:p?.period??"month",tierId:p?.tierId??s.tiers[0].id},G[n.id]=l}let d=s.assignments.find(p=>p.tierId===l.tierId&&p.period===l.period);h[n.id]=d&&i?.options.includes(d.productVersionId)?d.productVersionId:""};if(r(t.root),e||fe!==t){fe&&He(fe.root),Z.forEach(i=>clearInterval(i)),Z.clear(),le.clear(),_e.clear(),I.style.cssText="",xt(t.theme?{...k,theme:t.theme}:k);let n=P.split("-")[0];document.documentElement.lang=P,document.documentElement.dir=["ar","he","fa","ur"].includes(n)?"rtl":"ltr",I.dataset.gPresentation=k.presentation.type;let s=we(t.root,null);I.replaceChildren(...s?[s]:[]),fe=t,at(t.root)}else rt(t.root,null);if(_t(a),I.dataset.gPage=t.id,y.mode==="live"&&N({type:"page",pageId:t.id}),Je)de();else{Oe(),je();let n=Math.ceil(I.getBoundingClientRect().height);Je=!0,Ne=n,N({type:"rendered",height:n,label:De(t.root)||k.name})}}function de(){let e=Math.ceil(I.getBoundingClientRect().height);e!==Ne&&(Ne=e,N({type:"resize",height:e})),Oe(),je()}function ke(){Ie||(Ie=!0,window.requestAnimationFrame(()=>{Ie=!1,de()}))}function je(){if(y.mode!=="editor")return;let e=[];for(let t of I.querySelectorAll("[data-g-node]")){let r=t.getBoundingClientRect();!r.width||!r.height||e.push({id:t.dataset.gNode,x:r.x,y:r.y,width:r.width,height:r.height})}let a=JSON.stringify(e);a!==Ve&&(Ve=a,N({type:"layout",nodes:e}))}function J(e){if(!e||!/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(e))return null;let a=_e.get(e);return a?.isConnected?a:null}function it(e,a){let t=J(a);if(!t){e.style.display="none";return}let r=t.getBoundingClientRect();e.style.display="block",e.style.left=`${r.left+window.scrollX}px`,e.style.top=`${r.top+window.scrollY}px`,e.style.width=`${r.width}px`,e.style.height=`${r.height}px`,e.toggleAttribute("data-below",r.top<20),e.firstChild.textContent=t.dataset.gLabel??""}function Oe(){y.mode==="editor"&&(it(ce,Le),it(ye,me&&me!==Le?me:null))}function Se(e){for(let a of e.composedPath()){if(a instanceof HTMLElement&&a.dataset.gNode)return a.dataset.gNode;if(a===I)break}return null}function Nt(e){if(e.isTrusted){if(y.mode==="editor"){e.preventDefault(),e.stopPropagation(),N({type:"select",id:Se(e)});return}for(let a of e.composedPath()){if(!(a instanceof HTMLElement))continue;let t=a.dataset.gAction??(a.tagName==="BUTTON"?a.getAttribute("data-grow-action"):null);if(t&&!a.disabled){e.preventDefault();let r=k?.actions.find(n=>n.id===t);if(r?.type==="navigate"){if(B=r.pageId,k)for(let s of Object.keys(O(k)))delete h[s];U();let n=I.querySelector("h1,h2")??I;n===I&&(I.setAttribute("role","group"),I.setAttribute("aria-label",k?.pages.find(s=>s.id===B)?.name??k?.name??"Page")),n.tabIndex=-1,n.focus({preventScroll:!0});return}N({type:"action",actionId:t,nodeId:Se(e)??void 0,...Object.keys(h).length?{selection:K()}:{},...$?{answers:Xe()}:{}});return}if(a===I)return}}}function nt(e){let a=e;if(!(!a||a.channel!==y.channel))try{if(a.type==="render"){let t=a.doc;if(!t||t.kind!=="screen"||t.schemaVersion!==4||Object.hasOwn(t,"funnel")||!t.pages?.length||t.pages.length>(t.surface==="paywall"?10:1)||t.pages.some(r=>Object.hasOwn(r,"source"))||t.actions?.some(r=>!["event","close","open_url","claim_offer",...t.surface==="paywall"?["navigate"]:[]].includes(r.type)))throw new Error("Unsupported screen document; use the current Funnel runtime for flows");H.clear(),ae=re=0,k=t,B=null,P=String(a.locale),Ae=new Set,$=a.serverInput,h=X(),G=X(),E=a.capabilities,ee=a.customerData,Q.clear();for(let[r,n]of Object.entries(E?.pickers??{}))n.selected&&(h[r]=n.selected);if(a.selection&&typeof a.selection=="object"&&!Array.isArray(a.selection)){let r=a.selection,n=i=>{let l=r[i.id];if(i.type==="quantity_picker"&&typeof l=="number"&&(h[i.id]=l),i.type==="plan_picker"&&typeof l=="string"&&i.planIds?.includes(l)&&(h[i.id]=l),i.type==="stack"){if(i.interaction?.type==="toggle"&&typeof l=="boolean"&&(h[i.id]=l),i.interaction&&["select","tabs"].includes(i.interaction.type)&&typeof l=="string"&&i.children.some(d=>d.id===l)&&(h[i.id]=l),C(i)){let d=r[i.interaction.pickerId];typeof d=="string"&&i.children.some(p=>p.type==="stack"&&p.bind?.plan===d)&&(h[i.interaction.pickerId]=d)}i.children.forEach(n)}};k.pages.forEach(i=>n(i.root));let s=r.__page;typeof s=="string"&&k.pages.some(i=>i.id===s)&&(B=s)}for(let r of $?.bindings??[])Object.hasOwn($.answers,r.variable)&&(h[r.componentId]=$.answers[r.variable],Ae.add(r.componentId));ie=X(),P=String(a.locale),We(),U(!0)}else if(a.type==="capabilities"){E=a.capabilities;for(let[t,r]of Object.entries(E.quantities??{})){let n=J(t),s=n?.querySelector(\'input[type="range"]\');if(s){s.min=String(r.minimum),s.max=String(r.maximum),s.disabled=!r.available,s.setAttribute("aria-valuetext",r.label);let i=n?.querySelector("output");i&&(i.textContent=r.label)}}We();for(let[t,r]of Object.entries(E.pickers))!G[t]&&(h[t]===void 0||h[t]==="")&&(h[t]=r.selected??"");U()}else a.type==="customer-data"?St(a.data):a.type==="restore-action-focus"&&y.mode==="live"?[...I.querySelectorAll("button[data-g-node]")].find(t=>t.dataset.gNode===a.nodeId&&!t.disabled)?.focus({preventScroll:!0}):a.type==="highlight"&&y.mode==="editor"&&(me=a.hoverId??null,Le=a.selectedId??null,Oe())}catch(t){N({type:"error",message:t instanceof Error?t.message:"render failed"})}}let st=document.createElement("style");if(st.textContent=yt,document.head.append(st),document.body.append(I),y.mode==="editor"){document.body.dataset.gEditor="",document.body.append(ye,ce),document.addEventListener("mouseover",a=>{let t=Se(a);t!==he&&(he=t,N({type:"hover",id:t}))}),document.documentElement.addEventListener("mouseleave",()=>{he!==null&&(he=null,N({type:"hover",id:null}))}),document.addEventListener("dblclick",a=>{let t=Se(a);t&&a.isTrusted&&N({type:"edit",id:t})}),document.addEventListener("click",a=>{I.contains(a.target)||N({type:"select",id:null})});let e=(a,t)=>{if(!a.isTrusted)return;let r=a.metaKey||a.ctrlKey,n=a.key;(n===" "||t==="down"&&(["Delete","Backspace","Escape"].includes(n)||r&&/^[zysdcvg0=+-]$/i.test(n)))&&((r||n===" ")&&a.preventDefault(),N({type:"key",key:{key:n,phase:t,meta:a.metaKey,ctrl:a.ctrlKey,shift:a.shiftKey,alt:a.altKey}}))};document.addEventListener("keydown",a=>e(a,"down")),document.addEventListener("keyup",a=>e(a,"up")),document.addEventListener("wheel",a=>{!a.isTrusted||!(a.ctrlKey||a.metaKey)||(a.preventDefault(),N({type:"zoom",delta:a.deltaY}))},{passive:!1})}I.addEventListener("click",Nt),document.addEventListener("keydown",e=>{e.key==="Escape"&&e.isTrusted&&N({type:"escape"})}),typeof ResizeObserver=="function"&&new ResizeObserver(ke).observe(I),window.addEventListener("resize",ke),y.mode==="editor"&&window.addEventListener("scroll",je),window.addEventListener("message",e=>{e.source===F&&nt(e.data)}),ut.__indianaReceive=nt,N({type:"ready"})})(boot);\n } catch { /* No valid host bridge: leave the public shell empty. */ }\n })();<\/script></body></html>'};function ha(){let{html:d}=Be;return d.slice(d.indexOf("<script>")+8,d.lastIndexOf("<\/script>"))}function Wt(d){let p=new Intl.Locale(d);if(p.language==="zh")return p.maximize().script==="Hant"?"\u95DC\u9589\u5F48\u7A97":"\u5173\u95ED\u5F39\u7A97";let k={en:"Close popup",ja:"\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7\u3092\u9589\u3058\u308B",ko:"\uD31D\uC5C5 \uB2EB\uAE30",es:"Cerrar ventana emergente",fr:"Fermer la fen\xEAtre contextuelle",de:"Popup schlie\xDFen",pt:"Fechar janela pop-up",it:"Chiudi popup",ru:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0432\u0441\u043F\u043B\u044B\u0432\u0430\u044E\u0449\u0435\u0435 \u043E\u043A\u043D\u043E",vi:"\u0110\xF3ng c\u1EEDa s\u1ED5 b\u1EADt l\xEAn",th:"\u0E1B\u0E34\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07\u0E1B\u0E4A\u0E2D\u0E1B\u0E2D\u0E31\u0E1B",id:"Tutup pop-up",ar:"\u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u0645\u0646\u0628\u062B\u0642\u0629",he:"\u05E1\u05D2\u05D9\u05E8\u05EA \u05D4\u05D7\u05DC\u05D5\u05DF \u05D4\u05E7\u05D5\u05E4\u05E5",fa:"\u0628\u0633\u062A\u0646 \u067E\u0646\u062C\u0631\u0647\u0654 \u0628\u0627\u0632\u0634\u0648",ur:"\u067E\u0627\u067E \u0627\u067E \u0628\u0646\u062F \u06A9\u0631\u06CC\u06BA"};return k[p.language]??k.en}import ba from"dompurify";import Vt from"css-tree/parser";import ya from"css-tree/generator";import Jt from"css-tree/walker";function Kt(d){let p=0;return d.trim()&&Jt(Vt(d),()=>{p++}),p}function Yt(d){if(!d.trim())return"";if(/[\\<]/.test(d))throw new Error("CSS \u6682\u4E0D\u652F\u6301\u53CD\u659C\u6760\u8F6C\u4E49\u6216 HTML \u6807\u7B7E\u3002");let p=Vt(d,{onParseError:E=>{throw Object.assign(new Error("CSS \u683C\u5F0F\u4E0D\u6B63\u786E\u3002"),{offset:E.offset})}}),k=0;return Jt(p,E=>{if(++k>5e3)throw new Error("CSS \u8FC7\u4E8E\u590D\u6742\u3002");if(E.type==="Raw"||E.type==="Url"||E.type==="Atrule"&&!["media","supports","keyframes"].includes(E.name.toLowerCase())||E.type==="Function"&&["image-set","-webkit-image-set","image","src","paint"].includes(E.name.toLowerCase()))throw new Error("CSS \u4E0D\u652F\u6301\u5916\u90E8\u8D44\u6E90\u3001\u5BFC\u5165\u6216\u672A\u77E5\u8BED\u6CD5\uFF1B\u56FE\u7247\u8BF7\u4F7F\u7528 HTML img \u6807\u7B7E\u3002")}),ya(p)}function xa(d,p,k,E){return{html:ea(d,k,E),css:vt(p)}}function vt(d){return Yt(d)}function ea(d,p,k,E){return wt(d,p,k,E).html}function wt(d,p,k,E){if(!d.trim())return{html:"",elements:0};let I=Ze(d);if(I.length)throw new Error(I[0]);let N=ba(k),S=N.sanitize(d,{ALLOWED_TAGS:["main","section","article","header","footer","div","span","p","h1","h2","h3","h4","strong","em","b","i","small","br","hr","ul","ol","li","button","img"],ALLOWED_ATTR:["class","alt","src","width","height","title","type","disabled","data-grow-action","aria-label"],ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!1,ADD_URI_SAFE_ATTR:["data-grow-action"],ALLOWED_URI_REGEXP:/^https:\/\//i,RETURN_DOM:!0});if(!(S instanceof k.Element))throw new Error("\u65E0\u6CD5\u89E3\u6790 HTML\u3002");if(E){let M=new Set;for(let w of N.removed){let R="element"in w?w.element.nodeName.toLowerCase():void 0,L="attribute"in w?w.attribute?.name:void 0;if(!R&&!L)continue;let D=L?/<[^>]+>/g:new RegExp(`<\\s*${R}\\b[^>]*>`,"gi"),H=[...d.matchAll(D)].find(U=>!M.has(`${L??R}:${U.index}`)&&(!L||new RegExp(`\\b${L}\\s*=`,"i").test(U[0])));if(!H)continue;let q=H.index;M.add(`${L??R}:${q}`);let A=L==="style"?"\u5185\u8054\u6837\u5F0F\u4E0D\u4FDD\u7559\uFF0C\u8BF7\u5199\u5728 CSS \u4E2D\u3002":L?.startsWith("on")?"\u811A\u672C\u4E8B\u4EF6\u4E0D\u5141\u8BB8\uFF0C\u8BF7\u4F7F\u7528\u52A8\u4F5C\u6309\u94AE\u3002":L==="src"?"\u56FE\u7247\u53EA\u652F\u6301 https \u5730\u5740\u3002":"\u8FD9\u4E2A\u5C5E\u6027\u4E0D\u5728\u5141\u8BB8\u7684\u5E03\u5C40\u3001\u56FE\u7247\u4E0E\u52A8\u4F5C\u5C5E\u6027\u4E2D\u3002";E.push({language:"html",from:q,to:q+H[0].length,severity:"warning",message:L?`\u5DF2\u79FB\u9664\u5C5E\u6027 ${L}\uFF1A${A}`:`\u5DF2\u79FB\u9664 <${R}>\uFF1A\u8FD9\u4E2A\u6807\u7B7E\u4E0D\u5728\u5141\u8BB8\u7684\u6392\u7248\u6807\u7B7E\u4E2D\u3002`})}}let _=Ze(S.innerHTML);if(_.length)throw new Error(_[0]);let P=S.querySelectorAll("*").length;if(P>500)throw new Error("HTML \u6700\u591A\u652F\u6301 500 \u4E2A\u5143\u7D20\u3002");for(let M of S.querySelectorAll("[data-grow-action]")){let w=M.getAttribute("data-grow-action");if(M.tagName!=="BUTTON"||!p.includes(w))throw new Error(`\u81EA\u5B9A\u4E49 HTML \u91CC\u7684\u6309\u94AE ${w.slice(0,64)} \u6CA1\u6709\u5BF9\u5E94\u7684\u52A8\u4F5C\uFF0C\u8BF7\u5148\u5728\u300C\u70B9\u51FB\u52A8\u4F5C\u300D\u91CC\u6DFB\u52A0\uFF0C\u5E76\u4F7F\u7528 button \u5143\u7D20\u3002`)}if(!S.textContent?.trim()&&!S.querySelector("img"))throw new Error("\u81EA\u5B9A\u4E49 HTML \u6E05\u6D17\u540E\u6CA1\u6709\u53EF\u663E\u793A\u7684\u5185\u5BB9\u3002");return{html:S.innerHTML,elements:P}}var Zt=2e3,Gt=1e4,Qt=new WeakMap;function ta(d,p,k,E){let I=k.document;if(!I)throw new Error("A content document is required");let N=Qt.get(k)??new Map;Qt.set(k,N);let S=(M,w)=>{let R=N.get(M);if(R!==void 0)return R;let L=w();N.set(M,L);let D=[...N.keys()].reduce((H,q)=>H+q.length,0);for(;N.size>64||D>256e3;){let H=N.keys().next().value;N.delete(H),D-=H.length}return L},_=M=>{let w=E?.get(M);return w!==void 0&&p?w:S(`html:${M}`,()=>{if(w!==void 0)return w;let R=I.createElement("div");return R.innerHTML=M,R.querySelectorAll("*").length})},P=M=>S(`css:${M}`,()=>Kt(M));for(let M of d.pages){let w=0,R=0,L=D=>{if(D.hidden||(D.type==="stack"&&D.children.forEach(L),D.type!=="custom_html"))return;let H=p?.nodes[D.id],q=[...Object.values(D.html),H?.base.html??"",...Object.values(H?.byPlan??{}).map(A=>A.html??"")];if(w+=Math.max(0,...q.map(_)),R+=P(D.css),w>Zt)throw new Error(`Page custom HTML exceeds ${Zt} elements`);if(R>Gt)throw new Error(`Page custom CSS exceeds ${Gt} syntax nodes`)};L(M.root)}}function va(d,p,k,E){let I=[],N="",S="";for(let _ of["html","css"])try{_==="html"?N=ea(d,k,E,I):S=vt(p)}catch(P){let M=_==="html"?d:p,w=_==="html"?/\{\{|data-grow-action/:/@import\b|url\s*\(|image-set\s*\(|[\\<]/i,R=P instanceof Error?P.message:"\u5185\u5BB9\u65E0\u6CD5\u89E3\u6790",L=_==="html"?R.match(/未知变量:(.+)/)?.[1]:void 0,D=L?M.indexOf(L):-1,H=typeof P=="object"&&P!==null&&"offset"in P&&typeof P.offset=="number"?P.offset:D>=0?M.lastIndexOf("{{",D):M.search(w);I.push({language:_,from:Math.max(0,H),to:Math.min(M.length,Math.max(0,H)+2),severity:"error",message:R})}return{html:N,css:S,diagnostics:I,valid:!I.some(_=>_.severity==="error")}}var xt=new WeakMap;function wa(d,p,k){let E=xt.get(p);E||xt.set(p,E=new WeakMap);let I=JSON.stringify(k),N=E.get(d);return(!N||N.actions!==I)&&(N={actions:I,entries:new Map,characters:0},E.set(d,N)),N}function kt(d){let p={};return{prepare:(k,E)=>ka(k,E,d,p),destroy:()=>xt.get(d)?.delete(p)}}function ka(d,p,k,E=p){if(!d)return;let I={},N=p.actions.map(w=>w.id),S=wa(E,k,N),_=new Map,P=Date.now();for(let[w,R]of S.entries)R.expires>P||(S.entries.delete(w),S.characters-=w.length+R.html.length);for(let[w,R]of Object.entries(d.nodes)){let L,D=H=>{if(H.html===void 0)return H;if(L??=ye(p,w)?.type==="custom_html",!L)throw new Error("HTML \u5546\u54C1\u6570\u636E\u53EA\u80FD\u7528\u4E8E\u81EA\u5B9A\u4E49 HTML \u7EC4\u4EF6");let q=S.entries.get(H.html);if(q)S.entries.delete(H.html),S.entries.set(H.html,q);else{let{html:A,elements:U}=wt(H.html,N,k);q={html:A,elements:U,expires:P+6e4};let $=H.html.length+A.length;if($<=1e6)for(S.entries.set(H.html,q),S.characters+=$;S.entries.size>128||S.characters>1e6;){let[C,F]=S.entries.entries().next().value;S.entries.delete(C),S.characters-=C.length+F.html.length}}return _.set(q.html,q.elements),{...H,html:q.html}};I[w]={...R,base:D(R.base),...R.byPlan?{byPlan:Object.fromEntries(Object.entries(R.byPlan).map(([H,q])=>[H,D(q)]))}:{}}}let M={...d,nodes:I};return ta(p,M,k,_),M}var Xt=new WeakMap;function Xe(d,p){let k=mt.parse(d),E=JSON.stringify(k),I=Xt.get(p);I||(I=new Map,Xt.set(p,I));let N=Date.now();for(let[$,C]of I)C.expires<=N&&I.delete($);let S=I.get(E);if(S)return I.delete(E),I.set(E,S),JSON.parse(S.json);let _=k.actions.map($=>$.id),P=new Map,M=new Map,w=new Map,R=$=>{let C=P.get($);if(C===void 0){let F=wt($,_,p);C=F.html,M.set(C,F.elements),P.set($,C)}return C},L=$=>{if($.type==="stack")return{...$,children:$.children.map(L)};if($.type!=="custom_html")return $;let C={};for(let[ae,de]of Object.entries($.html))C[ae]=R(de);let F=w.get($.css);return F===void 0&&(F=vt($.css),w.set($.css,F)),{...$,html:C,css:F}},D={...k,pages:k.pages.map($=>({...$,root:L($.root)}))};ta(D,void 0,p,M);let H=JSON.stringify(D),q=new TextEncoder,A=q.encode(H).length;if(A>Ne.documentBytes)throw new Error(`\u754C\u9762\u5185\u5BB9\u8FC7\u5927\uFF08\u4E0A\u9650 ${Ne.documentBytes/1e3} KB\uFF09\u3002`);let U=q.encode(E).length;if(U<=Ne.documentBytes){I.set(E,{json:H,bytes:U+A,expires:N+6e4});let $=[...I.values()].reduce((C,F)=>C+F.bytes,0);for(;I.size>16||$>2*1024*1024;){let[C,F]=I.entries().next().value;I.delete(C),$-=F.bytes}}return D}function Ea(d){function p(e){return e.type==="stack"&&e.interaction?.type==="select"&&e.interaction.purpose==="product"&&!!e.interaction.pickerId}function k(e){let a={};function t(r){if(p(r)){let i=a[r.interaction.pickerId]??={ids:[],defaultId:null};for(let n of r.children){let c=n.type==="stack"?n.bind?.plan:void 0;c&&!i.ids.includes(c)&&i.ids.push(c)}let o=r.children[r.interaction.defaultIndex];!i.defaultId&&o?.type==="stack"&&(i.defaultId=o.bind?.plan??null)}r.type==="stack"&&r.children.forEach(t)}return e.pages.forEach(r=>t(r.root)),a}function E(e,a,t){let r={};function i(l){if(l.hidden)return;if(l.type==="plan_picker"){let s=t.pickers[l.id];r[l.id]={ids:s?.options??[],defaults:s?.selected?[s.selected]:[],remembered:[]};return}if(l.type!=="stack")return;let f=l.children.filter(s=>!s.hidden),x=l.interaction;if(p(l)){let s=r[l.interaction.pickerId]??={ids:[],defaults:[],remembered:[]},m=t.pickers[l.interaction.pickerId]?.options??[];for(let v of f){let j=v.type==="stack"?v.bind?.plan:void 0;j&&m.includes(j)&&!s.ids.includes(j)&&s.ids.push(j),j&&v.id===a[l.id]&&s.remembered.push(j)}let y=l.children[l.interaction.defaultIndex];y?.type==="stack"&&!y.hidden&&y.bind?.plan&&s.defaults.push(y.bind.plan)}if(x?.type==="tabs"){let s=f.find(m=>m.id===a[l.id])??l.children[x.defaultIndex];s&&i(s)}else if(x?.type==="toggle"){let s=typeof a[l.id]=="boolean"?a[l.id]:x.defaultEnabled,m=l.children[s?0:1];m&&i(m)}else f.forEach(i)}let o=typeof a.__page=="string"?a.__page:e.initialPageId??e.pages[0]?.id,n=e.pages.find(l=>l.id===o);n&&i(n.root);let c={};for(let[l,f]of Object.entries(r)){let x=a[l],s=f.remembered[0]??(f.ids.includes(t.pickers[l]?.selected??"")?t.pickers[l]?.selected:f.defaults[0]);c[l]=typeof x=="string"?f.ids.includes(x)?x:"":s&&f.ids.includes(s)?s:""}for(let l of Object.keys(k(e)))c[l]??="";return c}let I=window;for(let e=0;e<d.hostDepth;e++)I=I.parent;let N=window,S={none:0,xs:4,sm:8,md:12,lg:20,xl:32},_={none:0,sm:4,md:8,lg:14,full:9999},P={system:'system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif',serif:'Georgia,"Times New Roman","Songti SC","Noto Serif CJK SC",serif',rounded:'ui-rounded,"SF Pro Rounded","Hiragino Maru Gothic ProN",system-ui,sans-serif',mono:"ui-monospace,SFMono-Regular,Menlo,Consolas,monospace"},M={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch"},w={start:"flex-start",center:"center",end:"flex-end",between:"space-between"},R={start:"start",center:"center",end:"end",between:"stretch"},L={start:"start",center:"center",end:"end",stretch:"stretch"},D={"1:1":"1 / 1","4:3":"4 / 3","16:9":"16 / 9","3:1":"3 / 1"},H=`
|
|
2
2
|
*,*::before,*::after{box-sizing:border-box}
|
|
3
3
|
html,body{margin:0;padding:0;background:transparent}
|
|
4
4
|
body{font-family:var(--g-font);color:var(--g-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
|