@spiffcommerce/core 44.5.6-alpha.5 → 44.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/{index-BFeXhRxg.js → index-Bw9IeJ49.js} +6 -25
- package/dist/{index-BFeXhRxg.js.map → index-Bw9IeJ49.js.map} +1 -1
- package/dist/{index-CFpHWUEx.cjs → index-T_iRUrC3.cjs} +5 -5
- package/dist/{index-CFpHWUEx.cjs.map → index-T_iRUrC3.cjs.map} +1 -1
- package/dist/{index.browser-DkPy7zyG.cjs → index.browser-C3yejTxm.cjs} +2 -2
- package/dist/{index.browser-DkPy7zyG.cjs.map → index.browser-C3yejTxm.cjs.map} +1 -1
- package/dist/{index.browser-oJDA3nBL.js → index.browser-CVfUyTq0.js} +2 -2
- package/dist/{index.browser-oJDA3nBL.js.map → index.browser-CVfUyTq0.js.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
|
@@ -2652,7 +2652,7 @@ Minimum version required to store current data is: `+q+`.
|
|
|
2652
2652
|
id
|
|
2653
2653
|
}
|
|
2654
2654
|
}
|
|
2655
|
-
`,I9=(r,e)=>e&&typeof e=="object"&&!Array.isArray(e)?Object.keys(e).sort().reduce((t,n)=>(t[n]=e[n],t),{}):e,P9=r=>{for(const e of Object.values(r.layouts).map(t=>t.elements).flat())e.type==="illustration"&&(delete e.cachedObjectURL,e.src&&delete e.svg),e.type==="frame"&&delete e.pattern?.svg;return mI(r,"__typename"),r},mI=(r,e)=>{if(!(typeof r!="object"||r===null))for(const t in r)t===e?delete r[t]:mI(r[t],e)};var Jf=(r=>(r.Error="Error",r.Warning="Warning",r.Info="Info",r))(Jf||{});const D9=1e3;class EE extends Gg{constructor(e){super(),this.update=e}async execute(){await this.update(),await new Promise(e=>{window.setTimeout(()=>{e()},D9)})}}const R9=r=>r.sort((e,t)=>e.index-t.index).map(e=>({id:Ar(),panelId:e.name,name:e.name,title:e.title,index:e.index,createdAt:new Date,updatedAt:new Date,transparentBackground:e.transparentBackground,height:e.height,width:e.width,previewRegion:e.previewRegion,useEditableArea:e.useEditableArea,editableArea:e.editableArea})),kE=(r,e)=>{const t=r.workflowState,n=t?JSON.parse(t):void 0;return n?Object.values(n.layouts).map(i=>i.layout):R9(e.panels)},af=class af{constructor(e,t,n,i,a,s=!1,o,l=!1,u=!1,c=!1){this.workflowStatePromiseQueue=new jg(1),this.initialized=!1,this.readOnly=!1,this.isReloadedTransaction=!1,this.singleVariantsRenderable=!1,this.stepTags={},this.setWorkflow=async d=>{this.confirmedDesign=!1,this.editedSteps={},this.informationResults=[],this.mandatorySteps={},this.pendingUpdates=[],this.selectionCost=0,this.stepSpecificServices={},this.pollers=[],this.allScenes=[],this.stepElements={},this.stepInitialised={},this.stepMetadata={},this.stepSelections={},this.storage={},this.validationErrors={steps:new Map},this.currentAdjustingStepId="",this.reloadedState?this.layouts=Object.values(this.reloadedState.layouts||{}).map(g=>g.layout):d?this.layouts=kE(this.experience.getTransaction(),d):this.layouts=[],this.commandContext.initialize(this.layouts,this.reloadedState),this.renderableContextService=new VU(this.layouts),this.renderableContextService.setWorkflowManager(this),d.steps.forEach(g=>{this.stepTags[g.stepName]=g.tags??[]});const h=this.previewService;this.ejectFromPreviewService(),this.initializationPromise=this.initializeDefaultWorkflowState(d),this.initializationPromise.then(()=>{this.initialized=!0}),this.initializationPromise.catch(g=>{throw this.initialized=!1,new Error(g)}),this.initializationPromise.finally(()=>this.commandContext.registerStateCallback(()=>{this.updateStateWithServer(),this.renderLayouts()})),h&&await this.injectIntoPreviewService(h,!0)},this.renderLayouts=()=>{if(!this.previewService)return;const d=this.getCommandContext().getAllLayouts(),h=this.getLayoutPreviewService()?.getAll();if(h)for(const[,g]of h)g.render(d)},this.experience=e,this.client=t,this.updateTransaction=n,this.graphQlClient=i,this.reloadedState=a,this.readOnly=s,this.singleVariantsRenderable=u,this.commandContext=new WF,this.confirmCallbacks=[],this.editedCallbacks=[],this.elementsCallbacks=[],this.informationResultCallbacks=[],this.initCallbacks=[],this.mandatoryCallbacks=[],this.makingAdjustmentsCallback=[],this.metadataCallbacks=[],this.selectionCallbacks=[],this.stepSpecificStorageCallbacks={},this.storageCallbacks=[],this.validationCallbacks=[],this.recipientCallbacks=[],this.modelContainer=o,this.confirmedDesign=!1,this.editedSteps={},this.informationResults=[],this.mandatorySteps={},this.pendingUpdates=[],this.selectionCost=0,this.stepSpecificServices={},this.pollers=[],this.allScenes=[],this.stepElements={},this.stepInitialised={},this.stepMetadata={},this.stepSelections={},this.storage={},this.validationErrors={steps:new Map},this.currentAdjustingStepId="",this.isReloadedTransaction=l,c&&(this.workflowStatePromiseQueue.enabled=!1);const f=this.experience.getWorkflow();f&&this.setWorkflow(f)}async updateWorkflowConfiguration(e){e.panels&&await this.updatePanels(e.panels),e.steps&&await this.updateSteps(e.steps);let t=this.getWorkflowExperience().getWorkflow().stepGroups||[];e.stepGroups&&(t=await this.updateScenes(e.stepGroups)),this.allScenes=T0({...this.getWorkflowExperience().getWorkflow(),stepGroups:t}),await this.ensureStepsAreLoaded(),this.renderLayouts(),await this.onSelectionChange()}async updatePanels(e){const t=this.experience.getWorkflow();let n=[...t.panels];if(e.removed&&(n=n.filter(o=>!e.removed.includes(o.name))),e.changed)for(const o of e.changed){const l=n.findIndex(u=>u.name===o.name);l>=0&&(n[l]=o)}if(e.added)for(const{item:o,index:l}of e.added)n.splice(l,0,o);const i=new Map(this.layouts.map(o=>[o.panelId,o])),a=kE(this.experience.getTransaction(),{...t,panels:n}),s=new Map;for(const o of a){const l=i.get(o.panelId);l?s.set(l.id,{...l,...o,id:l.id}):s.set(o.id,o)}this.layouts=Array.from(s.values()),this.commandContext.updateLayouts(this.layouts),this.renderableContextService&&this.renderableContextService.updateLayouts(this.layouts)}async updateSteps(e){if(e.removed)for(const t of e.removed)this.clearStepState(t);if(e.changed)for(const t of e.changed)this.clearStepState(t.stepName)}clearStepState(e){const t=this.stepElements[e];if(t&&t.length>0){const n=t.map(i=>new Po(i.id));n.length>0&&this.commandContext.apply(new Fn(n),!0)}delete this.stepSelections[e],delete this.stepMetadata[e],delete this.storage[e],delete this.stepElements[e],delete this.stepInitialised[e],delete this.stepSpecificServices[e],delete this.mandatorySteps[e],this.validationErrors.steps.delete(e)}async updateScenes(e){const t=this.experience.getWorkflow();if(!t)return[];let n=[...t.stepGroups];if(e.removed&&(n=n.filter(i=>i.id&&!e.removed.includes(i.id))),e.changed)for(const i of e.changed){const a=i.id||i.name,s=n.findIndex(o=>o.id===a);s>=0&&(n[s]=i)}if(e.added)for(const{item:i,index:a}of e.added)n.splice(a,0,i);return n}getTemplatingContext(){const e=this.experience.getTransaction().recipient,t={recipient:e};return this.recipientConversionConfiguration?.requestedDataItems?.forEach(n=>{const i=n.uniqueIdentifier??n.title??"";n.type===Qd.FirstName?t[i]=e?.firstName:n.type===Qd.LastName?t[i]=e?.lastName:n.type===Qd.Custom&&(n.customFieldIndex===1?t[i]=e?.customField1:n.customFieldIndex===2?t[i]=e?.customField2:n.customFieldIndex===3?t[i]=e?.customField3:n.customFieldIndex===4?t[i]=e?.customField4:n.customFieldIndex===5&&(t[i]=e?.customField5),n.option&&(t[i]=n.option.variants?.find(a=>a.id===t[i])?.name))}),t}async updateRecipient(e,t,n,i,a,s,o,l,u,c,f,d,h,g,v,y,A,C){const S=this.experience.getTransaction();if(S.recipient?.id)this.experience.getTransaction().recipient={id:S.recipient.id,firstName:e??S.recipient.firstName,lastName:t??S.recipient.lastName,address:n??S.recipient.address,suburb:i??S.recipient.suburb,state:a??S.recipient.state,email:s??S.recipient.email,postalCode:o??S.recipient.postalCode,country:l??S.recipient.country,mobile:u??S.recipient.mobile,company:c??S.recipient.company,apartment:f??S.recipient.apartment,customField1:d??S.recipient.customField1,customField2:h??S.recipient.customField2,customField3:g??S.recipient.customField3,customField4:v??S.recipient.customField4,customField5:y??S.recipient.customField5,conversionConfigurationId:A||S.recipient.conversionConfigurationId},this.experience.callEvent(yg.RecipientChanged),await this.graphQlClient().mutate({mutation:S9,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:S.recipient.id,firstName:e||S.recipient.firstName,lastName:t||S.recipient.lastName,address:n||S.recipient.address,suburb:i||S.recipient.suburb,state:a||S.recipient.state,email:s||S.recipient.email,postalCode:o||S.recipient.postalCode,country:l||S.recipient.country,mobile:u||S.recipient.mobile,company:c||S.recipient.company,apartment:f||S.recipient.apartment,customField1:d||S.recipient.customField1,customField2:h||S.recipient.customField2,customField3:g||S.recipient.customField3,customField4:v||S.recipient.customField4,customField5:y||S.recipient.customField5,conversionConfigurationId:A||S.recipient.conversionConfigurationId,prevalidated:C}});else{const F=await this.graphQlClient().mutate({mutation:x9,errorPolicy:"all",fetchPolicy:"no-cache",variables:{firstName:e,lastName:t,address:n,suburb:i,state:a,email:s,postalCode:o,country:l,mobile:u,company:c,apartment:f,customField1:d,customField2:h,customField3:g,customField4:v,customField5:y,conversionConfigurationId:A}});S.recipient={id:F?.data?.recipientCreate?.id,firstName:e,lastName:t,address:n,suburb:i,state:a,email:s,postalCode:o,country:l,mobile:u,company:c,apartment:f,customField1:d,customField2:h,customField3:g,customField4:v,customField5:y,conversionConfigurationId:A},this.experience.callEvent(yg.RecipientChanged),await this.graphQlClient().mutate({mutation:E9,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:this.experience.getTransaction().id,recipientId:F.data?.recipientCreate?.id},context:{transactionOwnerId:this.experience.getTransaction().transactionOwnerId}})}await this.fetchConversionConfiguration(),this.recipientCallbacks.forEach(F=>F(this.experience.getTransaction().recipient))}async fetchConversionConfiguration(){const e=this.experience.getTransaction().recipient;if(e?.conversionConfigurationId&&!this.recipientConversionConfiguration){const t=af.configurationPromiseMap.get(e.conversionConfigurationId);if(t)this.recipientConversionConfiguration=await t;else{const i=(async()=>(await this.graphQlClient().query({query:_3,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:e.conversionConfigurationId}})).data.conversionConfiguration)();af.configurationPromiseMap.set(e.conversionConfigurationId,i),this.recipientConversionConfiguration=await i}}}async initializeDefaultWorkflowState(e){const t=()=>{const c=e.finalizeStepConfig;if(!c)return;const f=c.lookAtAnimation,d=c.modelAnimation;f&&this.previewService?.executeCameraAnimation(f),d&&this.modelContainer?.executeAnimation(d)};this.reloadedState&&this.reloadedState.serializableWorkflow.steps.forEach(c=>{this.storage[c.stepName]=c.storage||{}});const n=await this.getInitialOptionIds(this.reloadedState?.serializableWorkflow?.steps.reduce((c,f)=>(f.selectedVariants?.length&&(c[f.stepName]={selectedVariants:f.selectedVariants.map(d=>({id:d.id}))}),c),{})),i=ct.getOptions(Array.from(n)),a=this.fetchConversionConfiguration();await Promise.all([i,a]),this.allScenes=T0(e);const o=(await Ja(this.allScenes,this.stepSelections)).map(c=>c.silentSteps).flat(),{stepElements:l,commands:u}=await this.stepElementsForIntroducedSilentSteps(o,!!this.reloadedState);this.commandContext.apply(new Fn(u),!0),this.stepElements={...this.stepElements,...l},await this.ensureStepsAreLoaded(),this.isReloadedTransaction||this.updateStateWithServer(),this.renderLayouts(),this.reloadedState&&t()}getWorkflowExperience(){return this.experience}getClient(){return this.client}setWorkflowStateSyncEnabled(e){this.workflowStatePromiseQueue.enabled=e}getInitializationPromise(){return this.initializationPromise}isInitialized(){return this.initialized}async getInitialOptionIds(e){const t=new Set,n=this.experience.getWorkflow();if(!n)return t;const i=T0(n),a={...e};let s=-1;for(;;){const u=(await Ja(i,a)).flatMap(c=>c.renderableSteps);if(u.length===s)break;s=u.length;for(const c of u){if(a[c.stepName])continue;const f=c.option?.defaultVariant?.id;f&&(a[c.stepName]={selectedVariants:[{id:f}]})}}return(await Ja(i,a)).flatMap(l=>l.renderableSteps).forEach(l=>{l.option?.id&&!l.option?.variants&&t.add(l.option.id)}),t}addConfirmCallback(e){e(this.confirmedDesign),this.confirmCallbacks.push(e)}addEditedCallback(e){e(this.editedSteps),this.editedCallbacks.push(e)}addElementsCallback(e){e(this.stepElements),this.elementsCallbacks.push(e)}addInformationResultCallback(e){e(this.informationResults),this.informationResultCallbacks.push(e)}addInitCallback(e){e(this.stepInitialised),this.initCallbacks.push(e)}addMandatoryCallback(e){e(this.mandatorySteps),this.mandatoryCallbacks.push(e)}addMetadataCallback(e){e(this.stepMetadata),this.metadataCallbacks.push(e)}async addSelectionCallback(e){e({selectionCost:this.selectionCost,selections:this.stepSelections,traversableScenes:await this.traversableScenes()}),this.selectionCallbacks.push(e)}addStepSpecificStorageCallback(e,t){Object.keys(this.storage).includes(t)||(this.storage[t]={}),e(this.storage[t]),Object.keys(this.stepSpecificStorageCallbacks).includes(t)||(this.stepSpecificStorageCallbacks[t]=[]),this.stepSpecificStorageCallbacks[t].push(e)}addStorageCallback(e){e(this.storage),this.storageCallbacks.push(e)}addMakingAdjustmentsCallback(e){e(this.currentAdjustingStepId),this.makingAdjustmentsCallback.push(e)}addPoller(e){this.pollers.push(e)}addValidationCallback(e){this.validationCallbacks.push(e),e(this.validationErrors)}addRecipientCallback(e){this.recipientCallbacks.push(e),e(this.experience.getTransaction().recipient)}removeRecipientCallback(e){this.recipientCallbacks=this.recipientCallbacks.filter(t=>t!==e)}getLayouts(){return this.layouts}getAllLayoutData(){return this.commandContext.getAllLayouts().map(e=>e.layoutState)}getLayoutPreviewService(){return this.renderableContextService}getInformationResults(){return this.informationResults}getPreviewService(){return this.previewService}getCommandContext(){return this.commandContext}getRegionElements(e){return this.stepElements[e]||[]}getStepSpecificServices(e){return this.stepSpecificServices[e]}getTransactionCustomer(){return this.ownerCustomer}setTransactionCustomer(e){this.ownerCustomer=e}setTransactionCustomerDetails(e){this.ownerCustomer={...this.ownerCustomer,emailAddress:e.email}}getModelContainer(){return this.modelContainer}setModelContainer(e){(!e||this.previewService&&this.previewService.getAllModels().includes(e))&&(this.modelContainer=e,e&&e.metadata&&e.metadata instanceof Map&&this.modelContainer.metadata.set("workflowManager",this))}getCommandDispatcher(){return e=>this.commandContext.apply(e,!this.initialized)}getWorkflowSelections(){const e={};return this.experience.getWorkflow()?.steps.forEach(t=>{const n=this.stepSelections[t.stepName];n&&n.selectedVariants&&n.selectedVariants.length>0&&(e[t.stepName]={selections:n.selectedVariants})}),e}getStepSelections(){return this.stepSelections}markStepsAsInitialised(e){const t={...this.stepInitialised};e.forEach(n=>{t[n]=!0}),this.stepInitialised=t,this.onInitChange()}getUpdatesPending(){return this.pendingUpdates.length>0}markUpdateCompleted(e){this.pendingUpdates=this.pendingUpdates.filter(t=>t!==e)}markUpdatePending(){const e=Ar();return this.pendingUpdates=[...this.pendingUpdates,e],e}setEditedStatus(e,t){this.editedSteps={...this.editedSteps,[e]:t},this.onEditedChange()}setInformationResults(e){this.informationResults=[...e],this.onInformationResultChange()}setCurrentAdjustingStepId(e){this.currentAdjustingStepId=e,this.onMakingAdjustmentsChange()}setMandatoryFulfilled(e,t){this.mandatorySteps[e]!==t&&(this.mandatorySteps={...this.mandatorySteps,[e]:t},this.onMandatoryChange())}async getMandatoryUnfulfilledSteps(){return(await Ja(this.allScenes,this.stepSelections)).flatMap(a=>a.renderableSteps).filter(a=>a.mandatory).filter(a=>!this.mandatorySteps[a.stepName]).map(a=>a.stepName)}setStepError(e,t,n){let i=!1;if(!this.validationErrors.steps.has(e)&&n)i=!0,this.validationErrors.steps.set(e,new Map([[t,n]]));else if(this.validationErrors.steps.has(e)){const a=this.validationErrors.steps.get(e);n&&n!==a.get(t)?(i=!0,a.set(t,n)):n||(i=!0,a.delete(t),a.size===0&&this.validationErrors.steps.delete(e))}i&&this.onValidationChange()}getStepErrors(e){return this.validationErrors.steps.get(e)}getValidationErrors(){return this.validationErrors}toggleDesignConfirmed(){this.confirmedDesign=!this.confirmedDesign,this.onConfirmChange()}toggleMakingAdjustmentsCallback(e){e(this.mandatorySteps),this.mandatoryCallbacks.push(e)}async injectIntoPreviewService(e,t){if(this.modelContainer)throw new Error("You must eject from the preview service before injecting again.");this.previewService=e;const n=this.experience.getProduct();if(!n?.modelUrl||!this.previewService)return;const i=e.loadModel({model:n.modelUrl,contextService:this.getLayoutPreviewService()},{refocusCamera:t});this.setModelContainer(i),(await Ja(this.allScenes,this.stepSelections)).filter(o=>o).map(o=>o.renderableSteps).flat().filter(o=>o.type===Xe.Model||o.type===Xe.Material).forEach(o=>{if(!o.option?.id){console.error(`Failed to read option id from step: ${o.stepName}`);return}const l=this.stepSelections[o.stepName]?.selectedVariants||[];if(l.length===0)return;const u=l[0];if(o.type===Xe.Model){if(!this.modelContainer)throw new nn("We should always have a model container when injecting a preview!");const c=u.asset?.fileLink;if(!c){console.error(`Failed to read model url from variant: ${u.id} for step: ${o.stepName}`);return}const f=o.data;this.modelContainer.applyModelVariant(o.stepName,{model:c,contextService:this.getLayoutPreviewService()},f.replaceProductModel||!1)}else{const c=u.material;if(!c){console.error(`Failed to read material from variant: ${u.id} for step: ${o.stepName}`);return}o.data.targetMaterials.forEach(d=>{if(!this.modelContainer)throw new nn("We should always have a model container when injecting a preview!");this.modelContainer.applyMaterialVariant(d,o.option.id,c)})}}),await i.getInitializationPromise(),this.renderLayouts()}ejectFromPreviewService(){if(this.modelContainer){if(!this.modelContainer.dispose)throw new Error("This feature is not supported in the current preview service.");this.modelContainer.dispose(),this.modelContainer=void 0}this.previewService=void 0}updateStorage(e,t){const n={...this.storage,[e]:{...this.storage[e],...t}};if(!vf(n,this.storage)){this.storage=n;const i=new BS(this.constructSerializableWorkflow());this.commandContext.apply(i,!0),this.onStepSpecificStorageChange(e),this.onStorageChange()}}constructSerializableWorkflow(){const e=[];return this.allScenes.forEach(t=>{t.renderableSteps.forEach(n=>{const i={stepName:n.stepName};i.storage=this.storage[n.stepName],i.selectedVariants=this.stepSelections[n.stepName]?.selectedVariants?.map(a=>({id:a.id,priceModifier:a.priceModifier})),e.push(i)})}),{steps:e}}updateStateWithServer(){if(this.readOnly)return;const e=this.serialize();this.workflowStatePromiseQueue.enqueue(new EE(async()=>{await new Promise(t=>{setTimeout(()=>{t()},1)}),await this.updateTransaction({variables:{id:this.experience.getTransaction().id,workflowState:e}})}))}async updateStateWithServerImmediate(){if(this.readOnly)return;const e=this.serialize();return new EE(async()=>{await this.updateTransaction({variables:{id:this.experience.getTransaction().id,workflowState:e}})}).execute()}serialize(){const e=this.getCommandContext().getState();if(!e)throw new nn("Attempted to serialize state before it was initialized.");const t=mo(e.transaction),n=P9(t);return JSON.stringify(n,I9,void 0)}async getStateHash(){const e=this.getCommandContext().getState(),n=Object.values(e?.transaction.layouts||{}).map(s=>s.modificationID??"").sort().join(""),a=new TextEncoder().encode(n);if(typeof window<"u"&&window.crypto&&window.crypto.subtle&&window.crypto.subtle.digest){const s=await window.crypto.subtle.digest("SHA-256",a);return Array.from(new Uint8Array(s)).map(u=>u.toString(16).padStart(2,"0")).join("")}try{return(await import("crypto")).createHash("sha256").update(n,"utf8").digest("hex")}catch{throw new Error("Unable to compute SHA-256 hash: no suitable crypto implementation available.")}}async outstandingRequestsPromise(){return this.workflowStatePromiseQueue.finalize()}updateMetadata(e,t){this.stepMetadata={...this.stepMetadata,[e]:{...this.stepMetadata[e],...t}},this.onMetadataChange()}removeElements(e){const t=(n,i)=>Object.keys(n).reduce((a,s)=>{const o=[...n[s]||[]];return i.forEach(l=>{const u=o.findIndex(c=>c.id===l.id);u>-1&&o.splice(u,1)}),a[s]=o,a},{});this.stepElements=t(this.stepElements,e)}async getInvalidCanvasRegions(){let e=[];for(const t of this.experience.getWorkflow()?.steps||[])if(!await co(t,this.stepSelections)&&this.stepElements[t.stepName])for(const n of this.stepElements[t.stepName])e.push(n);return e}async getInvalidModelVariants(){let e=[];for(const t of this.experience.getWorkflow()?.steps||[])t.type===Xe.Model&&!await co(t,this.stepSelections)&&e.push(t.stepName);return e}async stepElementsForIntroducedSilentSteps(e,t){const n=this.experience.getProduct();if(!n)return Promise.resolve({stepElements:{},commands:[]});const i=async(u,c,f)=>{if(u.type===Xe.SilentIllustration){const d=await new MS(u,c).trigger();return{step:u,results:d}}else if(u.type===Xe.ProductOverlay){const d=await new MS(u,c,f).trigger();return{step:u,results:d}}return Promise.reject("Unknown silent step. This is a bug")},a=e.filter(u=>!this.stepInitialised[u.stepName]),s={stepElements:{},commands:[]},o=[];for(const u of a)this.markStepsAsInitialised([u.stepName]),t||o.push(i(u,this.layouts,n));const l=await Promise.all(o);for(const u of l)s.stepElements[u.step.stepName]=u.results.map(c=>c.regionElement),s.commands=[...s.commands,...u.results.map(c=>c.command)];return s}getStepStorage(e){return this.storage[e]}getMetadata(e){return this.stepMetadata[e]}getWorkflowMetadata(){return this.stepMetadata}getStepTags(e){return this.stepTags[e]||[]}getSerializedStep(e,t){return t.find(n=>n.stepName===e)}async updateTransactionShareActions(){const e=await this.client.getShareActionsForTransaction(this.experience.getTransaction().id);this.experience.getTransaction().transactionShareActions=e}async updateTransactionStakeholders(){const e=await ze.getShadowGraphqlClient().query({query:$3,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:this.experience.getTransaction().id}});!e?.data?.transactions||e.data.transactions.length!==1?(this.experience.getTransaction().currentStakeholder=void 0,this.experience.getTransaction().stakeholders=void 0):(this.experience.getTransaction().stakeholders=e.data.transactions[0].stakeholders,this.experience.getTransaction().currentStakeholder=e.data.transactions[0].currentStakeholder)}async approveTransaction(e){await ze.getShadowGraphqlClient().mutate({mutation:b9,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:this.experience.getTransaction().id,note:e}})}async rejectTransaction(e){await ze.getShadowGraphqlClient().mutate({mutation:C9,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:this.experience.getTransaction().id,note:e}})}async reset(){this.stepElements={},this.stepInitialised={},this.stepMetadata={},this.stepSelections={},this.storage={},await this.ensureStepsAreLoaded()}async setSelectionsAndElements(e,t,n,i){const a=this.experience.getWorkflow();if(!a)throw new Error("Attempted to set selections when no workflow is set!");const s=this.stepSelections;this.stepSelections={...this.stepSelections,[e]:{selectedVariants:t}};for(const R of a.steps)await co(R,this.stepSelections)||(this.stepInitialised[R.stepName]=!1,delete this.stepMetadata[R.stepName],delete this.stepSelections[R.stepName],delete this.storage[R.stepName]);const o=this.allScenes,l=await Ja(o,s),u=await Ja(o,this.stepSelections),c=l.map(R=>R.silentSteps).flat(),d=u.map(R=>R.silentSteps).flat().filter(R=>!c.some(B=>B.stepName===R.stepName));for(const R of c)await co(R,this.stepSelections)||(this.stepInitialised[R.stepName]=!1);const h=await this.getInvalidCanvasRegions(),{stepElements:g,commands:v}=await this.stepElementsForIntroducedSilentSteps(d,!1);this.stepElements={...this.stepElements,...g,[e]:n},this.removeElements(h);const y=a.steps.find(R=>R.stepName===e);y?.type===Xe.Frame&&this.getWorkflowExperience().getStepById(y.stepName)?.frameService?.setTargetElements(n.map(B=>B.id));const A=h.map(R=>new Po(R.id)),C=new BS(this.constructSerializableWorkflow()),S=[...v,...A,C];S.length>0&&this.commandContext.apply(new Fn(S),!0),await this.ensureStepsAreLoaded(),this.selectionCost=Object.values(this.stepSelections).reduce((R,B)=>R+B.selectedVariants.map(G=>G.priceModifier||0).reduce((G,j)=>G+j,0),0),this.onElementsChange();const F=await this.getInvalidModelVariants(),E=this.modelContainer;if(E){const R=F.map(B=>E.applyModelVariant(B,{contextService:this.getLayoutPreviewService()},!1));await Promise.all(R)}await this.onSelectionChange(),await this.reapplyMaterialSteps(),y?.type!==Xe.Frame&&y?.type!==Xe.Text&&this.setMandatoryFulfilled(e,!0),i&&await i()}async ensureStepsAreLoaded(){const t=(await Ja(this.allScenes,this.stepSelections)).map(l=>l.renderableSteps),n=[],i=t.flat();console.log("[ensureStepsAreLoaded] All steps:",i);for(const l of i)if(!this.stepInitialised[l.stepName])switch(this.stepInitialised[l.stepName]=!0,l.type){case Xe.DigitalContent:n.push(F1.init(l,this,this.reloadedState));break;case Xe.Frame:n.push(so.init(l,this,this.reloadedState));break;case Xe.Illustration:n.push(Jd.init(l,this,this.reloadedState));break;case Xe.Material:n.push(I1.init(l,this,this.reloadedState));break;case Xe.Model:n.push(P1.init(l,this,this.reloadedState));break;case Xe.Module:this.stepSpecificServices[l.stepName]={module:await uI(l.data.module)},n.push(D1.init(l,this,this.reloadedState));break;case Xe.Picture:n.push(R1.init(l,this,this.reloadedState));break;case Xe.Question:n.push(O1.init(l,this,this.reloadedState));break;case Xe.Shape:n.push(Nu.init(l,this,this.reloadedState));break;case Xe.Text:n.push(ri.init(l,this,this.reloadedState));break}const a=(await Promise.allSettled(n)).map(l=>{if(l.status==="rejected")throw new Error(`Step initialization failed: ${l.reason}`);return l.value}),s=a.flatMap(l=>l?.command?[l.command]:[]),o=a.flatMap(l=>l?.followup?[l.followup]:[]);s&&s.length>0&&this.commandContext.apply(new Fn(s),!0);for(const l of o)await l();o.length>0&&await this.ensureStepsAreLoaded(),this.onInitChange()}onConfirmChange(){this.confirmCallbacks.forEach(e=>e(this.confirmedDesign))}onEditedChange(){this.editedCallbacks.forEach(e=>e(this.editedSteps))}onElementsChange(){this.elementsCallbacks.forEach(e=>e(this.stepElements))}onInformationResultChange(){this.informationResultCallbacks.forEach(e=>e(this.informationResults))}onInitChange(){this.initCallbacks.forEach(e=>e(this.stepInitialised))}onMakingAdjustmentsChange(){this.makingAdjustmentsCallback.forEach(e=>{e(this.currentAdjustingStepId)})}onMandatoryChange(){this.mandatoryCallbacks.forEach(e=>e(this.mandatorySteps))}onMetadataChange(){this.metadataCallbacks.forEach(e=>{e(this.stepMetadata)})}async onSelectionChange(){const e=await this.traversableScenes();for(const t of this.selectionCallbacks)t({selectionCost:this.selectionCost,selections:this.stepSelections,traversableScenes:e})}onStepSpecificStorageChange(e){Object.keys(this.stepSpecificStorageCallbacks).includes(e)||(this.stepSpecificStorageCallbacks[e]=[]),this.stepSpecificStorageCallbacks[e].forEach(t=>t(this.storage[e]))}onStorageChange(){this.storageCallbacks.forEach(e=>e(this.storage))}onValidationChange(){this.validationCallbacks.forEach(e=>e(this.validationErrors))}traversableScenes(){return R_(this.allScenes,this.stepSelections,this.singleVariantsRenderable)}async reapplyMaterialSteps(){if(!this.modelContainer)return;const t=(await Ja(this.allScenes,this.stepSelections)).flatMap(n=>n.renderableSteps).filter(n=>n.type===Xe.Material);for(const n of t){const i=this.stepSelections[n.stepName]?.selectedVariants;if(!i||i.length===0)continue;const s=i[0].material;if(!s||!n.option?.id)continue;n.data.targetMaterials.forEach(l=>{this.modelContainer?.applyMaterialVariant(l,n.option.id,s)})}}};af.configurationPromiseMap=new Map;let fA=af;class Fa{constructor(e){this.variantData=e}getType(){return this.variantData.asset?.type}getId(){return this.variantData.id}getName(){return this.variantData.name}getPriceFormatted(e,t){return this.variantData.priceModifier.toLocaleString(e||"en-US",{style:"currency",currency:"USD",...t})}getPrice(){return this.variantData.priceModifier}getAsset(){return this.variantData.asset?.fileLink}getAssetResource(){return this.variantData.asset}getThumbnail(e=256,t){const n=this.variantData.thumbnail;if(!(!n||!n.fileLink))return $g(n,e,"webp",t)}getColor(){return this.variantData.color}isDefault(){return!!this.variantData.default}getResource(){return this.variantData}isEnabled(){return this.variantData.enabled}getCategory(){return this.variantData.category}getProduct(){return this.variantData.product}}const sf=class sf{constructor(e,t,n){this.manager=e,this.step=t,this.tags=n}setUpdateState(e){sf.updateState.set(`${this.step.stepName}-${this.manager.getWorkflowExperience().getTransaction().id}`,e)}getUpdateState(){return!!sf.updateState.get(`${this.step.stepName}-${this.manager.getWorkflowExperience().getTransaction().id}`)}getCurrentVariant(){const n=this.manager.getWorkflowSelections()[this.step.stepName]?.selections[0];if(n)return new Fa(n)}async getAvailableVariants(){return(await this.getAllVariants()).filter(t=>t.isEnabled())||[]}async getAllVariants(){if(!this.step.option?.id)return[];if(this.step.option.variants)return(this.step.option.variants||[]).map(t=>new Fa(t))||[];const e=await ct.getOption(this.step.option?.id);if(!e)throw new Error("Option not found, cannot fetch variants.");return(e.variants||[]).map(t=>new Fa(t))||[]}getId(){return this.step.stepName}getName(){return this.step.stepTitle}getHelpText(){return this.step.helpText}getType(){return this.step.type}getRaw(){return this.step}getTags(){return this.tags}hasTag(e){return this.tags.includes(e)||!1}getMandatory(){return this.step.mandatory||!1}getOverrideGlobalPropertyConfiguration(e){return(this.manager.getStepStorage(this.step.stepName)?.overrideGlobalConfigurations??{})[e.toString()]??!1}setOverrideGlobalPropertyConfiguration(e,t){const n=this.manager.getStepStorage(this.step.stepName)?.overrideGlobalConfigurations??{};this.manager.updateStorage(this.step.stepName,{overrideGlobalConfigurations:{...n,[e.toString()]:t}})}getGlobalPropertyAspects(e){return this.step.globalPropertyAspectConfigurations?.filter(t=>t.globalPropertyConfigurationId===e&&t.aspectName).map(t=>t.aspectName)??[]}executeAnimations(e){const t=this.manager.getPreviewService(),n=this.manager.getModelContainer(),i=this.step.data.modelAnimation,a=this.step.data.lookAtAnimation;t?a&&t.executeCameraAnimation(a):console.warn("No preview service available, cannot execute camera animations."),n?i&&n.executeAnimation(i,e):console.warn("No model container available, cannot execute model animations.")}};sf.updateState=new Map;let Ui=sf;class vI extends Ui{constructor(e,t,n){super(e,t,n)}async selectVariant(e){if(!this.getUpdateState()&&this.getCurrentVariant()!==e)return Jd.selectVariant(this.step,e.getResource(),this.manager.getRegionElements(this.step.stepName)||[],t=>this.setUpdateState(t),this.manager)}getColors(){const e=this.manager.getRegionElements(this.step.stepName)||[];if(e.length===0)return;const n=Un(e[0].id,this.manager.getAllLayoutData()).colors,a=this.getCurrentVariant()?.getAssetResource()?.assetConfiguration,s=a?.defaultColorVariants||[];if(s.length!==0){const o={};return s.forEach(l=>{const u=a.channelNumbers.find(c=>c.number===l.channelNumber);if(u){const c=u.id.replace(/\W/g,"");o[l.channelNumber]={browserValue:n[c]?.browserValue||""}}}),o}try{return n}catch(o){console.error(o)}}setColor(e,t,n){const i=new Map,s=this.getCurrentVariant()?.getAssetResource()?.assetConfiguration;return(s?.defaultColorVariants||[]).length!==0?s.channelNumbers.forEach(l=>{if(l.number.toString()===e){const u=l.id.replace(/\W/g,"");n?i.set(u,{browserValue:t,pmsValue:n}):i.set(u,t)}}):n?i.set(e,{browserValue:t,pmsValue:n}):i.set(e,t),Jd.changeColors(this.step,this.manager.getRegionElements(this.step.stepName),this.manager,i)}async getColorOption(){return await ct.ensureFullOption(this.step.data.colorOption)}getAvailableColors(){return this.step.data.colorPickerEnabled?Jd.availableColors(this.step,this.manager):Promise.resolve([])}isColorPickerEnabled(){return this.step.data.colorPickerEnabled??!1}isPMSPickerEnabled(){return this.step.data.pmsPickerEnabled??!1}isVariantSearchEnabled(){return this.step.data.enableVariantSearch??!1}isVariantCategoriesEnabled(){return this.step.data.enableVariantCategories??!1}}class yI extends Ui{constructor(e,t,n){super(e,t,n)}selectVariant(e){return I1.selectVariant(this.step,e.getResource(),this.manager,t=>this.setUpdateState(t))}isVariantCategoriesEnabled(){return this.step.data.enableVariantCategories??!1}}class AI extends Ui{constructor(e,t,n){super(e,t,n)}selectVariant(e){return P1.selectVariant(this.step,e.getResource(),this.manager,t=>this.setUpdateState(t))}isVariantCategoriesEnabled(){return this.step.data.enableVariantCategories??!1}}class wI extends Ui{constructor(e,t,n){super(e,t,n)}selectVariant(e){return R1.selectVariant(this.step,e.getResource(),this.manager,t=>this.setUpdateState(t))}isVariantSearchEnabled(){return this.step.data.enableVariantSearch??!1}isVariantCategoriesEnabled(){return this.step.data.enableVariantCategories??!1}}class bI extends Ui{constructor(e,t,n){super(e,t,n)}async selectVariant(e){if(!e.getId())throw new Error("Unable to select variant with a null ID");await O1.selectVariant(this.step,e.getId(),this.manager)}async getDisplayType(){return this.step.data.displayType?this.step.data.displayType:(await ct.getOptionForStep(this.step))?.displayType}}class CI extends Ui{constructor(e,t,n){super(e,t,n)}selectVariant(e){const t=e.getResource();return Nu.selectVariant(this.step,{fill:t.color,stroke:t.color,variant:t},this.manager.getRegionElements(this.step.stepName)||[],this.manager)}setColor(e){return Nu.selectVariant(this.step,e,this.manager.getRegionElements(this.step.stepName)||[],this.manager)}getColors(){return Nu.availableColours(this.step)}setCustomColor(e){return this.getCurrentVariant()?.getColor()!=="#custom"&&console.warn(`setting custom color for step ${this.step.stepName} but color is ${this.getCurrentVariant()?.getColor()}`),Nu.setCustomColor(e,this.step,this.manager)}getCustomColor(){this.getCurrentVariant()?.getColor()!=="#custom"&&console.warn(`setting custom color for step ${this.step.stepName} but color is ${this.getCurrentVariant()?.getColor()}`);const e=this.manager.getStepStorage(this.step.stepName)?.colour;if(!e)throw new Error(`Color not available on step ${this.step.stepName}. Set a default on the workflow to fix this.`);return e}isVariantCategoriesEnabled(){return this.step.data.enableVariantCategories??!1}}class xI extends Ui{constructor(e,t,n){super(e,t,n)}async selectVariant(e){await ri.selectVariant(this.step,e.getResource(),this.manager,t=>{if(t)this.manager.setInformationResults([...this.manager.getInformationResults(),{message:t,messageType:Jf.Error,stepID:this.step.stepName}]);else{const n=this.manager.getInformationResults().filter(i=>i.stepID!==this.step.stepName);this.manager.setInformationResults(n)}},()=>{})}async getAvailableFillColors(){return this.step.data.colorPickerEnabled?ri.availableFillColors(this.step):[]}async setFillColor(e){const t=this.manager.getRegionElements(this.step.stepName);await ri.changeFillColor(this.step,e,t,this.manager)}getFillColor(){return this.manager.getStepStorage(this.step.stepName)?.color||"#000000"}getAvailableFillImages(){return ri.availableFillImages(this.step)}async setFillImage(e){const t=this.manager.getRegionElements(this.step.stepName);await ri.changeFillImage(this.step,e,t,this.manager)}getFillImage(){return this.manager.getStepStorage(this.step.stepName)?.fillImage}getAlignment(){return ri.findLayoutElements(this.manager,this.step)?.[0].align}setAlignment(e){const t=this.manager.getRegionElements(this.step.stepName);ri.changeAlignment(this.step,e,t,this.manager)}setFullTextCustomization(e){const t=this.manager.getStepStorage(this.step.stepName)?.inputText||"",n=this.step.data.replaceableText!==void 0?this.step.data.replaceableText.replace("{{}}",t):t,i=e?n:this.step.data.defaultText;return this.manager.updateStorage(this.step.stepName,{customiseAllText:e,text:i,defaultCleared:!1}),this.setText(i)}setText(e){const t={input:e,helperData:{}},n=ri.findLayoutElements(this.manager,this.step),i=ri.filterUnsupportedCharacters(e,n[0]?.fontData),a=Gu(i,this.manager).length,s=!!this.step.data&&!!this.step.data.maxLength&&a>this.step.data.maxLength;s||(t.input=i);const o=n.length<=0,l=o?{inputText:i,text:i}:{inputText:i};this.manager.updateStorage(this.step.stepName,l);const u=this.manager.getStepStorage(this.step.stepName),c=ri.getProcessedInput(i,this.step.data,u?.customiseAllText??!1);if(o)s||this.manager.updateMetadata(this.step.stepName,{text:c});else{const{command:f,errorData:d,helperData:h}=ri.updateInputText(i,n,this.step,this.manager);f&&this.manager.getCommandDispatcher()(f),t.helperData=h,t.errorData=d,!s&&!d&&this.manager.updateMetadata(this.step.stepName,{text:c})}return t}getText(){const e=this.step.data.defaultText,t=this.manager.getStepStorage(this.step.stepName);return e&&t?.defaultCleared!==void 0&&!t?.defaultCleared?e:this.manager.getStepStorage(this.step.stepName)?.text||""}isReplaceable(){return this.step.data.userCanReplaceText}newLinesSupported(){return this.step.data.allowNewlines||!1}clearDefaultTextIfNecessary(){if(!this.manager.getStepStorage(this.step.stepName)?.defaultCleared&&this.step.data.deleteDefaultOnFocus){const t=this.setText("");this.manager.updateStorage(this.step.stepName,{defaultCleared:!0,inputText:""});const n=ri.findLayoutElements(this.manager,this.step);return ri.updateInputText("",n,this.step,this.manager),t}}hasColorPicker(){return this.step.data.colorPickerEnabled}getRegions(){return this.step.data.regions}getCharacterLimit(){return this.step.data.maxLength}getCharactersRemaining(){const e=this.step.data.maxLength;if(e===void 0)return;const t=Gu(this.getText(),this.manager);return e-t.length}setCustomColor(e){this.getFillColor()!=="#custom"&&console.warn(`setting custom color for text step ${this.step.stepName} but current fill is not #custom`);const t=this.manager.getRegionElements(this.step.stepName);ri.applyCustomFillColor(this.step,e,t,this.manager)}getCustomColor(){return this.manager.getStepStorage(this.step.stepName)?.customColor||"#000000"}async getAvailableStrokeColors(){return this.step.data.strokeEnabled?ri.availableStrokeColors(this.step):[]}getStrokeColor(){return this.manager.getStepStorage(this.step.stepName)?.strokeColor?.browserValue||"#000000"}async setStrokeColor(e){const t=this.manager.getRegionElements(this.step.stepName);await ri.changeStrokeColor(this.step,e,t,this.manager)}isVariantCategoriesEnabled(){return this.step.data.enableVariantCategories??!1}}class SI extends Ui{constructor(e,t,n){super(e,t,n)}async selectVariant(){}getContent(){return this.step.data.content}}class EI extends Ui{constructor(e,t,n){super(e,t,n)}async selectVariant(){}getPreviewURL(){return this.manager.getStepStorage(this.step.stepName)?.videoUrl||""}async selectVideo(e){return F1.regenerateQRCode(this.manager.getRegionElements(this.step.stepName),e.key,this.manager,this.step)}}class kI extends Ui{constructor(e,t,n){super(e,t,n)}async selectVariant(){console.info("Text Modules don't support variants.")}getCharactersRemaining(){const e=this.step.data.maxLength;if(e===void 0)return;const t=Gu(this.getText(),this.manager);return e-t.length}getCharacterLimit(){return this.step.data.maxLength}getText(){return this.manager.getStepStorage(this.step.stepName)?.text||""}setText(e){D1.changeText(this.step,e,this.manager,t=>{if(t){const n=[...this.manager.getInformationResults(),{message:t,messageType:Jf.Error,stepID:this.step.stepName}];this.manager.setInformationResults(n)}else{const n=this.manager.getInformationResults().filter(i=>i.stepID!==this.step.stepName);this.manager.setInformationResults(n)}})}}class TI extends Ui{constructor(e,t,n){super(e,t,n)}async selectVariant(){}async getAvailableVariants(){const e=await super.getAvailableVariants();if(!this.cachedProductIds){this.cachedProductIds=new Set;for(const t of e){const n=t.getProduct();n?.id&&this.cachedProductIds.add(n.id)}}return e}isPersonalisable(e){const t=e.getProduct();return!!t?.workflows&&t.workflows.length>0}async addProduct(e){const t=this.manager.getWorkflowExperience().getBundle();if(!t)throw new Error("Product step requires bundle context");const n=e.getProduct();if(!n)throw new Error("Variant has no product. Ensure the option query includes the product field on variants.");if(!this.isPersonalisable(e)){await this.incrementNonPersonalisable(e);return}const i=this.manager.getWorkflowExperience().getTransaction(),a=i.integrationProduct?.integration?.id;let s;if(a&&n.integrationProducts&&(s=n.integrationProducts.find(d=>d.integration?.id===a)?.id),!s)throw new Error("No integration product found for bundle context");const o=this.manager.getClient(),l=n?.workflows||[];let u;if(l.length===1)u=l[0].id;else if(l.length>1){const f=this.step.data.workflows,d=l.find(h=>f.includes(h.id));if(d)u=d.id;else throw new Error("Multiple workflows available but none match step configuration")}const c=await o.getWorkflowExperience({type:"integration",integrationProductId:s,workflowId:u,parentTransactionId:i.id});await t.addWorkflowExperience(c)}async incrementNonPersonalisable(e){const t=this.manager.getWorkflowExperience().getBundle();if(!t)return;const n=e.getProduct(),i=this.findExperienceForProduct(n.id);if(i){const c=i.getTransaction().quantity||1;await i.setQuantity(c+1);return}const a=this.manager.getWorkflowExperience().getTransaction(),s=a.integrationProduct?.integration?.id;let o;if(s&&n.integrationProducts&&(o=n.integrationProducts.find(f=>f.integration?.id===s)?.id),!o)throw new Error("No integration product found for bundle context");const u=await this.manager.getClient().getWorkflowExperience({type:"integration",integrationProductId:o,parentTransactionId:a.id});await t.addWorkflowExperience(u)}async removeProduct(e){const t=this.manager.getWorkflowExperience().getBundle();if(!t)throw new Error("Product step requires bundle context");const i=t.getWorkflowExperiences().find(o=>o.getTransaction().id===e);if(!i)throw new Error("Transaction is not a child of this product step");const a=i.getTransaction(),s=a.quantity||1;if(s>1){await i.setQuantity(s-1);return}await t.removeWorkflowExperienceByTransaction(a)}isCategoryFilterEnabled(){return this.step.data.categoryFilterEnabled??!1}isSearchBarEnabled(){return this.step.data.searchBarEnabled??!1}getMin(){return this.step.data.min}getMax(){return this.step.data.max}getPricing(){return this.step.data.pricing}getWorkflows(){return this.step.data.workflows||[]}getChildTransactions(){const e=this.manager.getWorkflowExperience().getBundle();if(!e)return[];const t=this.manager.getWorkflowExperience().getTransaction().id,n=e.getWorkflowExperiences(),i=this.getStepProductIds();return n.map(a=>a.getTransaction()).filter(a=>a.parentTransaction?.id!==t||i.size===0?!1:a.product?.id?i.has(a.product.id):!1)}getStepProductIds(){if(this.cachedProductIds&&this.cachedProductIds.size>0)return this.cachedProductIds;const e=this.step.option?.variants||[],t=new Set;for(const n of e)n.product?.id&&t.add(n.product.id);return t}getLockedAddOns(){return this.step.data.lockedAddOns||[]}findExperienceForProduct(e){const t=this.manager.getWorkflowExperience().getBundle();if(!t)return;const n=this.manager.getWorkflowExperience().getTransaction().id,i=this.getStepProductIds();return t.getWorkflowExperiences().find(a=>{const s=a.getTransaction();return s.parentTransaction?.id!==n||i.size>0&&!i.has(e)?!1:s.product?.id===e})}}class Ep{static get(e,t){switch(t.type){case Xe.DigitalContent:return new EI(e,t,e.getStepTags(t.stepName));case Xe.Information:return new SI(e,t,e.getStepTags(t.stepName));case Xe.Question:return new bI(e,t,e.getStepTags(t.stepName));case Xe.Text:return new xI(e,t,e.getStepTags(t.stepName));case Xe.Illustration:return new vI(e,t,e.getStepTags(t.stepName));case Xe.Picture:return new wI(e,t,e.getStepTags(t.stepName));case Xe.Shape:return new CI(e,t,e.getStepTags(t.stepName));case Xe.Material:return new yI(e,t,e.getStepTags(t.stepName));case Xe.Model:return new AI(e,t,e.getStepTags(t.stepName));case Xe.Frame:return new YP(e,t,e.getStepTags(t.stepName));case Xe.Module:return new kI(e,t,e.getStepTags(t.stepName));case Xe.Product:return new TI(e,t,e.getStepTags(t.stepName));default:throw new nn(`Step type ${t.type} not yet supported in Core SDK`)}}}var Dv,TE;function O9(){if(TE)return Dv;TE=1;var r=1/0,e=9007199254740991,t=17976931348623157e292,n=NaN,i="[object Function]",a="[object GeneratorFunction]",s="[object Symbol]",o=/^\s+|\s+$/g,l=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,c=/^0o[0-7]+$/i,f=/^(?:0|[1-9]\d*)$/,d=parseInt,h=Object.prototype,g=h.toString,v=Math.ceil,y=Math.max;function A(oe,he,ye){var Ue=-1,Re=oe.length;he<0&&(he=-he>Re?0:Re+he),ye=ye>Re?Re:ye,ye<0&&(ye+=Re),Re=he>ye?0:ye-he>>>0,he>>>=0;for(var Oe=Array(Re);++Ue<Re;)Oe[Ue]=oe[Ue+he];return Oe}function C(oe,he){return he=he??e,!!he&&(typeof oe=="number"||f.test(oe))&&oe>-1&&oe%1==0&&oe<he}function S(oe,he,ye){if(!j(ye))return!1;var Ue=typeof he;return(Ue=="number"?R(ye)&&C(he,ye.length):Ue=="string"&&he in ye)?E(ye[he],oe):!1}function F(oe,he,ye){(ye?S(oe,he,ye):he===void 0)?he=1:he=y(J(he),0);var Ue=oe?oe.length:0;if(!Ue||he<1)return[];for(var Re=0,Oe=0,ee=Array(v(Ue/he));Re<Ue;)ee[Oe++]=A(oe,Re,Re+=he);return ee}function E(oe,he){return oe===he||oe!==oe&&he!==he}function R(oe){return oe!=null&&G(oe.length)&&!B(oe)}function B(oe){var he=j(oe)?g.call(oe):"";return he==i||he==a}function G(oe){return typeof oe=="number"&&oe>-1&&oe%1==0&&oe<=e}function j(oe){var he=typeof oe;return!!oe&&(he=="object"||he=="function")}function ie(oe){return!!oe&&typeof oe=="object"}function q(oe){return typeof oe=="symbol"||ie(oe)&&g.call(oe)==s}function Y(oe){if(!oe)return oe===0?oe:0;if(oe=ae(oe),oe===r||oe===-r){var he=oe<0?-1:1;return he*t}return oe===oe?oe:0}function J(oe){var he=Y(oe),ye=he%1;return he===he?ye?he-ye:he:0}function ae(oe){if(typeof oe=="number")return oe;if(q(oe))return n;if(j(oe)){var he=typeof oe.valueOf=="function"?oe.valueOf():oe;oe=j(he)?he+"":he}if(typeof oe!="string")return oe===0?oe:+oe;oe=oe.replace(o,"");var ye=u.test(oe);return ye||c.test(oe)?d(oe.slice(2),ye?2:8):l.test(oe)?n:+oe}return Dv=F,Dv}var B9=O9();const hA=Ns(B9),M9=Se`
|
|
2655
|
+
`,I9=(r,e)=>e&&typeof e=="object"&&!Array.isArray(e)?Object.keys(e).sort().reduce((t,n)=>(t[n]=e[n],t),{}):e,P9=r=>{for(const e of Object.values(r.layouts).map(t=>t.elements).flat())e.type==="illustration"&&(delete e.cachedObjectURL,e.src&&delete e.svg),e.type==="frame"&&delete e.pattern?.svg;return mI(r,"__typename"),r},mI=(r,e)=>{if(!(typeof r!="object"||r===null))for(const t in r)t===e?delete r[t]:mI(r[t],e)};var Jf=(r=>(r.Error="Error",r.Warning="Warning",r.Info="Info",r))(Jf||{});const D9=1e3;class EE extends Gg{constructor(e){super(),this.update=e}async execute(){await this.update(),await new Promise(e=>{window.setTimeout(()=>{e()},D9)})}}const R9=r=>r.sort((e,t)=>e.index-t.index).map(e=>({id:Ar(),panelId:e.name,name:e.name,title:e.title,index:e.index,createdAt:new Date,updatedAt:new Date,transparentBackground:e.transparentBackground,height:e.height,width:e.width,previewRegion:e.previewRegion,useEditableArea:e.useEditableArea,editableArea:e.editableArea})),kE=(r,e)=>{const t=r.workflowState,n=t?JSON.parse(t):void 0;return n?Object.values(n.layouts).map(i=>i.layout):R9(e.panels)},af=class af{constructor(e,t,n,i,a,s=!1,o,l=!1,u=!1,c=!1){this.workflowStatePromiseQueue=new jg(1),this.initialized=!1,this.readOnly=!1,this.isReloadedTransaction=!1,this.singleVariantsRenderable=!1,this.stepTags={},this.setWorkflow=async d=>{this.confirmedDesign=!1,this.editedSteps={},this.informationResults=[],this.mandatorySteps={},this.pendingUpdates=[],this.selectionCost=0,this.stepSpecificServices={},this.pollers=[],this.allScenes=[],this.stepElements={},this.stepInitialised={},this.stepMetadata={},this.stepSelections={},this.storage={},this.validationErrors={steps:new Map},this.currentAdjustingStepId="",this.reloadedState?this.layouts=Object.values(this.reloadedState.layouts||{}).map(g=>g.layout):d?this.layouts=kE(this.experience.getTransaction(),d):this.layouts=[],this.commandContext.initialize(this.layouts,this.reloadedState),this.renderableContextService=new VU(this.layouts),this.renderableContextService.setWorkflowManager(this),d.steps.forEach(g=>{this.stepTags[g.stepName]=g.tags??[]});const h=this.previewService;this.ejectFromPreviewService(),this.initializationPromise=this.initializeDefaultWorkflowState(d),this.initializationPromise.then(()=>{this.initialized=!0}),this.initializationPromise.catch(g=>{throw this.initialized=!1,new Error(g)}),this.initializationPromise.finally(()=>this.commandContext.registerStateCallback(()=>{this.updateStateWithServer(),this.renderLayouts()})),h&&await this.injectIntoPreviewService(h,!0)},this.renderLayouts=()=>{if(!this.previewService)return;const d=this.getCommandContext().getAllLayouts(),h=this.getLayoutPreviewService()?.getAll();if(h)for(const[,g]of h)g.render(d)},this.experience=e,this.client=t,this.updateTransaction=n,this.graphQlClient=i,this.reloadedState=a,this.readOnly=s,this.singleVariantsRenderable=u,this.commandContext=new WF,this.confirmCallbacks=[],this.editedCallbacks=[],this.elementsCallbacks=[],this.informationResultCallbacks=[],this.initCallbacks=[],this.mandatoryCallbacks=[],this.makingAdjustmentsCallback=[],this.metadataCallbacks=[],this.selectionCallbacks=[],this.stepSpecificStorageCallbacks={},this.storageCallbacks=[],this.validationCallbacks=[],this.recipientCallbacks=[],this.modelContainer=o,this.confirmedDesign=!1,this.editedSteps={},this.informationResults=[],this.mandatorySteps={},this.pendingUpdates=[],this.selectionCost=0,this.stepSpecificServices={},this.pollers=[],this.allScenes=[],this.stepElements={},this.stepInitialised={},this.stepMetadata={},this.stepSelections={},this.storage={},this.validationErrors={steps:new Map},this.currentAdjustingStepId="",this.isReloadedTransaction=l,c&&(this.workflowStatePromiseQueue.enabled=!1);const f=this.experience.getWorkflow();f&&this.setWorkflow(f)}async updateWorkflowConfiguration(e){e.panels&&await this.updatePanels(e.panels),e.steps&&await this.updateSteps(e.steps),this.allScenes=T0(this.getWorkflowExperience().getWorkflow()),await this.ensureStepsAreLoaded(),this.renderLayouts(),await this.onSelectionChange()}async updatePanels(e){const t=this.experience.getWorkflow();let n=[...t.panels];if(e.removed&&(n=n.filter(o=>!e.removed.includes(o.name))),e.changed)for(const o of e.changed){const l=n.findIndex(u=>u.name===o.name);l>=0&&(n[l]=o)}if(e.added)for(const{item:o,index:l}of e.added)n.splice(l,0,o);const i=new Map(this.layouts.map(o=>[o.panelId,o])),a=kE(this.experience.getTransaction(),{...t,panels:n}),s=new Map;for(const o of a){const l=i.get(o.panelId);l?s.set(l.id,{...l,...o,id:l.id}):s.set(o.id,o)}this.layouts=Array.from(s.values()),this.commandContext.updateLayouts(this.layouts),this.renderableContextService&&this.renderableContextService.updateLayouts(this.layouts)}async updateSteps(e){if(e.removed)for(const t of e.removed)this.clearStepState(t);if(e.changed)for(const t of e.changed)this.clearStepState(t.stepName)}clearStepState(e){const t=this.stepElements[e];if(t&&t.length>0){const n=t.map(i=>new Po(i.id));n.length>0&&this.commandContext.apply(new Fn(n),!0)}delete this.stepSelections[e],delete this.stepMetadata[e],delete this.storage[e],delete this.stepElements[e],delete this.stepInitialised[e],delete this.stepSpecificServices[e],delete this.mandatorySteps[e],this.validationErrors.steps.delete(e)}getTemplatingContext(){const e=this.experience.getTransaction().recipient,t={recipient:e};return this.recipientConversionConfiguration?.requestedDataItems?.forEach(n=>{const i=n.uniqueIdentifier??n.title??"";n.type===Qd.FirstName?t[i]=e?.firstName:n.type===Qd.LastName?t[i]=e?.lastName:n.type===Qd.Custom&&(n.customFieldIndex===1?t[i]=e?.customField1:n.customFieldIndex===2?t[i]=e?.customField2:n.customFieldIndex===3?t[i]=e?.customField3:n.customFieldIndex===4?t[i]=e?.customField4:n.customFieldIndex===5&&(t[i]=e?.customField5),n.option&&(t[i]=n.option.variants?.find(a=>a.id===t[i])?.name))}),t}async updateRecipient(e,t,n,i,a,s,o,l,u,c,f,d,h,g,v,y,A,C){const S=this.experience.getTransaction();if(S.recipient?.id)this.experience.getTransaction().recipient={id:S.recipient.id,firstName:e??S.recipient.firstName,lastName:t??S.recipient.lastName,address:n??S.recipient.address,suburb:i??S.recipient.suburb,state:a??S.recipient.state,email:s??S.recipient.email,postalCode:o??S.recipient.postalCode,country:l??S.recipient.country,mobile:u??S.recipient.mobile,company:c??S.recipient.company,apartment:f??S.recipient.apartment,customField1:d??S.recipient.customField1,customField2:h??S.recipient.customField2,customField3:g??S.recipient.customField3,customField4:v??S.recipient.customField4,customField5:y??S.recipient.customField5,conversionConfigurationId:A||S.recipient.conversionConfigurationId},this.experience.callEvent(yg.RecipientChanged),await this.graphQlClient().mutate({mutation:S9,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:S.recipient.id,firstName:e||S.recipient.firstName,lastName:t||S.recipient.lastName,address:n||S.recipient.address,suburb:i||S.recipient.suburb,state:a||S.recipient.state,email:s||S.recipient.email,postalCode:o||S.recipient.postalCode,country:l||S.recipient.country,mobile:u||S.recipient.mobile,company:c||S.recipient.company,apartment:f||S.recipient.apartment,customField1:d||S.recipient.customField1,customField2:h||S.recipient.customField2,customField3:g||S.recipient.customField3,customField4:v||S.recipient.customField4,customField5:y||S.recipient.customField5,conversionConfigurationId:A||S.recipient.conversionConfigurationId,prevalidated:C}});else{const F=await this.graphQlClient().mutate({mutation:x9,errorPolicy:"all",fetchPolicy:"no-cache",variables:{firstName:e,lastName:t,address:n,suburb:i,state:a,email:s,postalCode:o,country:l,mobile:u,company:c,apartment:f,customField1:d,customField2:h,customField3:g,customField4:v,customField5:y,conversionConfigurationId:A}});S.recipient={id:F?.data?.recipientCreate?.id,firstName:e,lastName:t,address:n,suburb:i,state:a,email:s,postalCode:o,country:l,mobile:u,company:c,apartment:f,customField1:d,customField2:h,customField3:g,customField4:v,customField5:y,conversionConfigurationId:A},this.experience.callEvent(yg.RecipientChanged),await this.graphQlClient().mutate({mutation:E9,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:this.experience.getTransaction().id,recipientId:F.data?.recipientCreate?.id},context:{transactionOwnerId:this.experience.getTransaction().transactionOwnerId}})}await this.fetchConversionConfiguration(),this.recipientCallbacks.forEach(F=>F(this.experience.getTransaction().recipient))}async fetchConversionConfiguration(){const e=this.experience.getTransaction().recipient;if(e?.conversionConfigurationId&&!this.recipientConversionConfiguration){const t=af.configurationPromiseMap.get(e.conversionConfigurationId);if(t)this.recipientConversionConfiguration=await t;else{const i=(async()=>(await this.graphQlClient().query({query:_3,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:e.conversionConfigurationId}})).data.conversionConfiguration)();af.configurationPromiseMap.set(e.conversionConfigurationId,i),this.recipientConversionConfiguration=await i}}}async initializeDefaultWorkflowState(e){const t=()=>{const c=e.finalizeStepConfig;if(!c)return;const f=c.lookAtAnimation,d=c.modelAnimation;f&&this.previewService?.executeCameraAnimation(f),d&&this.modelContainer?.executeAnimation(d)};this.reloadedState&&this.reloadedState.serializableWorkflow.steps.forEach(c=>{this.storage[c.stepName]=c.storage||{}});const n=await this.getInitialOptionIds(this.reloadedState?.serializableWorkflow?.steps.reduce((c,f)=>(f.selectedVariants?.length&&(c[f.stepName]={selectedVariants:f.selectedVariants.map(d=>({id:d.id}))}),c),{})),i=ct.getOptions(Array.from(n)),a=this.fetchConversionConfiguration();await Promise.all([i,a]),this.allScenes=T0(e);const o=(await Ja(this.allScenes,this.stepSelections)).map(c=>c.silentSteps).flat(),{stepElements:l,commands:u}=await this.stepElementsForIntroducedSilentSteps(o,!!this.reloadedState);this.commandContext.apply(new Fn(u),!0),this.stepElements={...this.stepElements,...l},await this.ensureStepsAreLoaded(),this.isReloadedTransaction||this.updateStateWithServer(),this.renderLayouts(),this.reloadedState&&t()}getWorkflowExperience(){return this.experience}getClient(){return this.client}setWorkflowStateSyncEnabled(e){this.workflowStatePromiseQueue.enabled=e}getInitializationPromise(){return this.initializationPromise}isInitialized(){return this.initialized}async getInitialOptionIds(e){const t=new Set,n=this.experience.getWorkflow();if(!n)return t;const i=T0(n),a={...e};let s=-1;for(;;){const u=(await Ja(i,a)).flatMap(c=>c.renderableSteps);if(u.length===s)break;s=u.length;for(const c of u){if(a[c.stepName])continue;const f=c.option?.defaultVariant?.id;f&&(a[c.stepName]={selectedVariants:[{id:f}]})}}return(await Ja(i,a)).flatMap(l=>l.renderableSteps).forEach(l=>{l.option?.id&&!l.option?.variants&&t.add(l.option.id)}),t}addConfirmCallback(e){e(this.confirmedDesign),this.confirmCallbacks.push(e)}addEditedCallback(e){e(this.editedSteps),this.editedCallbacks.push(e)}addElementsCallback(e){e(this.stepElements),this.elementsCallbacks.push(e)}addInformationResultCallback(e){e(this.informationResults),this.informationResultCallbacks.push(e)}addInitCallback(e){e(this.stepInitialised),this.initCallbacks.push(e)}addMandatoryCallback(e){e(this.mandatorySteps),this.mandatoryCallbacks.push(e)}addMetadataCallback(e){e(this.stepMetadata),this.metadataCallbacks.push(e)}async addSelectionCallback(e){e({selectionCost:this.selectionCost,selections:this.stepSelections,traversableScenes:await this.traversableScenes()}),this.selectionCallbacks.push(e)}addStepSpecificStorageCallback(e,t){Object.keys(this.storage).includes(t)||(this.storage[t]={}),e(this.storage[t]),Object.keys(this.stepSpecificStorageCallbacks).includes(t)||(this.stepSpecificStorageCallbacks[t]=[]),this.stepSpecificStorageCallbacks[t].push(e)}addStorageCallback(e){e(this.storage),this.storageCallbacks.push(e)}addMakingAdjustmentsCallback(e){e(this.currentAdjustingStepId),this.makingAdjustmentsCallback.push(e)}addPoller(e){this.pollers.push(e)}addValidationCallback(e){this.validationCallbacks.push(e),e(this.validationErrors)}addRecipientCallback(e){this.recipientCallbacks.push(e),e(this.experience.getTransaction().recipient)}removeRecipientCallback(e){this.recipientCallbacks=this.recipientCallbacks.filter(t=>t!==e)}getLayouts(){return this.layouts}getAllLayoutData(){return this.commandContext.getAllLayouts().map(e=>e.layoutState)}getLayoutPreviewService(){return this.renderableContextService}getInformationResults(){return this.informationResults}getPreviewService(){return this.previewService}getCommandContext(){return this.commandContext}getRegionElements(e){return this.stepElements[e]||[]}getStepSpecificServices(e){return this.stepSpecificServices[e]}getTransactionCustomer(){return this.ownerCustomer}setTransactionCustomer(e){this.ownerCustomer=e}setTransactionCustomerDetails(e){this.ownerCustomer={...this.ownerCustomer,emailAddress:e.email}}getModelContainer(){return this.modelContainer}setModelContainer(e){(!e||this.previewService&&this.previewService.getAllModels().includes(e))&&(this.modelContainer=e,e&&e.metadata&&e.metadata instanceof Map&&this.modelContainer.metadata.set("workflowManager",this))}getCommandDispatcher(){return e=>this.commandContext.apply(e,!this.initialized)}getWorkflowSelections(){const e={};return this.experience.getWorkflow()?.steps.forEach(t=>{const n=this.stepSelections[t.stepName];n&&n.selectedVariants&&n.selectedVariants.length>0&&(e[t.stepName]={selections:n.selectedVariants})}),e}getStepSelections(){return this.stepSelections}markStepsAsInitialised(e){const t={...this.stepInitialised};e.forEach(n=>{t[n]=!0}),this.stepInitialised=t,this.onInitChange()}getUpdatesPending(){return this.pendingUpdates.length>0}markUpdateCompleted(e){this.pendingUpdates=this.pendingUpdates.filter(t=>t!==e)}markUpdatePending(){const e=Ar();return this.pendingUpdates=[...this.pendingUpdates,e],e}setEditedStatus(e,t){this.editedSteps={...this.editedSteps,[e]:t},this.onEditedChange()}setInformationResults(e){this.informationResults=[...e],this.onInformationResultChange()}setCurrentAdjustingStepId(e){this.currentAdjustingStepId=e,this.onMakingAdjustmentsChange()}setMandatoryFulfilled(e,t){this.mandatorySteps[e]!==t&&(this.mandatorySteps={...this.mandatorySteps,[e]:t},this.onMandatoryChange())}async getMandatoryUnfulfilledSteps(){return(await Ja(this.allScenes,this.stepSelections)).flatMap(a=>a.renderableSteps).filter(a=>a.mandatory).filter(a=>!this.mandatorySteps[a.stepName]).map(a=>a.stepName)}setStepError(e,t,n){let i=!1;if(!this.validationErrors.steps.has(e)&&n)i=!0,this.validationErrors.steps.set(e,new Map([[t,n]]));else if(this.validationErrors.steps.has(e)){const a=this.validationErrors.steps.get(e);n&&n!==a.get(t)?(i=!0,a.set(t,n)):n||(i=!0,a.delete(t),a.size===0&&this.validationErrors.steps.delete(e))}i&&this.onValidationChange()}getStepErrors(e){return this.validationErrors.steps.get(e)}getValidationErrors(){return this.validationErrors}toggleDesignConfirmed(){this.confirmedDesign=!this.confirmedDesign,this.onConfirmChange()}toggleMakingAdjustmentsCallback(e){e(this.mandatorySteps),this.mandatoryCallbacks.push(e)}async injectIntoPreviewService(e,t){if(this.modelContainer)throw new Error("You must eject from the preview service before injecting again.");this.previewService=e;const n=this.experience.getProduct();if(!n?.modelUrl||!this.previewService)return;const i=e.loadModel({model:n.modelUrl,contextService:this.getLayoutPreviewService()},{refocusCamera:t});this.setModelContainer(i),(await Ja(this.allScenes,this.stepSelections)).filter(o=>o).map(o=>o.renderableSteps).flat().filter(o=>o.type===Xe.Model||o.type===Xe.Material).forEach(o=>{if(!o.option?.id){console.error(`Failed to read option id from step: ${o.stepName}`);return}const l=this.stepSelections[o.stepName]?.selectedVariants||[];if(l.length===0)return;const u=l[0];if(o.type===Xe.Model){if(!this.modelContainer)throw new nn("We should always have a model container when injecting a preview!");const c=u.asset?.fileLink;if(!c){console.error(`Failed to read model url from variant: ${u.id} for step: ${o.stepName}`);return}const f=o.data;this.modelContainer.applyModelVariant(o.stepName,{model:c,contextService:this.getLayoutPreviewService()},f.replaceProductModel||!1)}else{const c=u.material;if(!c){console.error(`Failed to read material from variant: ${u.id} for step: ${o.stepName}`);return}o.data.targetMaterials.forEach(d=>{if(!this.modelContainer)throw new nn("We should always have a model container when injecting a preview!");this.modelContainer.applyMaterialVariant(d,o.option.id,c)})}}),await i.getInitializationPromise(),this.renderLayouts()}ejectFromPreviewService(){if(this.modelContainer){if(!this.modelContainer.dispose)throw new Error("This feature is not supported in the current preview service.");this.modelContainer.dispose(),this.modelContainer=void 0}this.previewService=void 0}updateStorage(e,t){const n={...this.storage,[e]:{...this.storage[e],...t}};if(!vf(n,this.storage)){this.storage=n;const i=new BS(this.constructSerializableWorkflow());this.commandContext.apply(i,!0),this.onStepSpecificStorageChange(e),this.onStorageChange()}}constructSerializableWorkflow(){const e=[];return this.allScenes.forEach(t=>{t.renderableSteps.forEach(n=>{const i={stepName:n.stepName};i.storage=this.storage[n.stepName],i.selectedVariants=this.stepSelections[n.stepName]?.selectedVariants?.map(a=>({id:a.id,priceModifier:a.priceModifier})),e.push(i)})}),{steps:e}}updateStateWithServer(){if(this.readOnly)return;const e=this.serialize();this.workflowStatePromiseQueue.enqueue(new EE(async()=>{await new Promise(t=>{setTimeout(()=>{t()},1)}),await this.updateTransaction({variables:{id:this.experience.getTransaction().id,workflowState:e}})}))}async updateStateWithServerImmediate(){if(this.readOnly)return;const e=this.serialize();return new EE(async()=>{await this.updateTransaction({variables:{id:this.experience.getTransaction().id,workflowState:e}})}).execute()}serialize(){const e=this.getCommandContext().getState();if(!e)throw new nn("Attempted to serialize state before it was initialized.");const t=mo(e.transaction),n=P9(t);return JSON.stringify(n,I9,void 0)}async getStateHash(){const e=this.getCommandContext().getState(),n=Object.values(e?.transaction.layouts||{}).map(s=>s.modificationID??"").sort().join(""),a=new TextEncoder().encode(n);if(typeof window<"u"&&window.crypto&&window.crypto.subtle&&window.crypto.subtle.digest){const s=await window.crypto.subtle.digest("SHA-256",a);return Array.from(new Uint8Array(s)).map(u=>u.toString(16).padStart(2,"0")).join("")}try{return(await import("crypto")).createHash("sha256").update(n,"utf8").digest("hex")}catch{throw new Error("Unable to compute SHA-256 hash: no suitable crypto implementation available.")}}async outstandingRequestsPromise(){return this.workflowStatePromiseQueue.finalize()}updateMetadata(e,t){this.stepMetadata={...this.stepMetadata,[e]:{...this.stepMetadata[e],...t}},this.onMetadataChange()}removeElements(e){const t=(n,i)=>Object.keys(n).reduce((a,s)=>{const o=[...n[s]||[]];return i.forEach(l=>{const u=o.findIndex(c=>c.id===l.id);u>-1&&o.splice(u,1)}),a[s]=o,a},{});this.stepElements=t(this.stepElements,e)}async getInvalidCanvasRegions(){let e=[];for(const t of this.experience.getWorkflow()?.steps||[])if(!await co(t,this.stepSelections)&&this.stepElements[t.stepName])for(const n of this.stepElements[t.stepName])e.push(n);return e}async getInvalidModelVariants(){let e=[];for(const t of this.experience.getWorkflow()?.steps||[])t.type===Xe.Model&&!await co(t,this.stepSelections)&&e.push(t.stepName);return e}async stepElementsForIntroducedSilentSteps(e,t){const n=this.experience.getProduct();if(!n)return Promise.resolve({stepElements:{},commands:[]});const i=async(u,c,f)=>{if(u.type===Xe.SilentIllustration){const d=await new MS(u,c).trigger();return{step:u,results:d}}else if(u.type===Xe.ProductOverlay){const d=await new MS(u,c,f).trigger();return{step:u,results:d}}return Promise.reject("Unknown silent step. This is a bug")},a=e.filter(u=>!this.stepInitialised[u.stepName]),s={stepElements:{},commands:[]},o=[];for(const u of a)this.markStepsAsInitialised([u.stepName]),t||o.push(i(u,this.layouts,n));const l=await Promise.all(o);for(const u of l)s.stepElements[u.step.stepName]=u.results.map(c=>c.regionElement),s.commands=[...s.commands,...u.results.map(c=>c.command)];return s}getStepStorage(e){return this.storage[e]}getMetadata(e){return this.stepMetadata[e]}getWorkflowMetadata(){return this.stepMetadata}getStepTags(e){return this.stepTags[e]||[]}getSerializedStep(e,t){return t.find(n=>n.stepName===e)}async updateTransactionShareActions(){const e=await this.client.getShareActionsForTransaction(this.experience.getTransaction().id);this.experience.getTransaction().transactionShareActions=e}async updateTransactionStakeholders(){const e=await ze.getShadowGraphqlClient().query({query:$3,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:this.experience.getTransaction().id}});!e?.data?.transactions||e.data.transactions.length!==1?(this.experience.getTransaction().currentStakeholder=void 0,this.experience.getTransaction().stakeholders=void 0):(this.experience.getTransaction().stakeholders=e.data.transactions[0].stakeholders,this.experience.getTransaction().currentStakeholder=e.data.transactions[0].currentStakeholder)}async approveTransaction(e){await ze.getShadowGraphqlClient().mutate({mutation:b9,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:this.experience.getTransaction().id,note:e}})}async rejectTransaction(e){await ze.getShadowGraphqlClient().mutate({mutation:C9,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:this.experience.getTransaction().id,note:e}})}async reset(){this.stepElements={},this.stepInitialised={},this.stepMetadata={},this.stepSelections={},this.storage={},await this.ensureStepsAreLoaded()}async setSelectionsAndElements(e,t,n,i){const a=this.experience.getWorkflow();if(!a)throw new Error("Attempted to set selections when no workflow is set!");const s=this.stepSelections;this.stepSelections={...this.stepSelections,[e]:{selectedVariants:t}};for(const R of a.steps)await co(R,this.stepSelections)||(this.stepInitialised[R.stepName]=!1,delete this.stepMetadata[R.stepName],delete this.stepSelections[R.stepName],delete this.storage[R.stepName]);const o=this.allScenes,l=await Ja(o,s),u=await Ja(o,this.stepSelections),c=l.map(R=>R.silentSteps).flat(),d=u.map(R=>R.silentSteps).flat().filter(R=>!c.some(B=>B.stepName===R.stepName));for(const R of c)await co(R,this.stepSelections)||(this.stepInitialised[R.stepName]=!1);const h=await this.getInvalidCanvasRegions(),{stepElements:g,commands:v}=await this.stepElementsForIntroducedSilentSteps(d,!1);this.stepElements={...this.stepElements,...g,[e]:n},this.removeElements(h);const y=a.steps.find(R=>R.stepName===e);y?.type===Xe.Frame&&this.getWorkflowExperience().getStepById(y.stepName)?.frameService?.setTargetElements(n.map(B=>B.id));const A=h.map(R=>new Po(R.id)),C=new BS(this.constructSerializableWorkflow()),S=[...v,...A,C];S.length>0&&this.commandContext.apply(new Fn(S),!0),await this.ensureStepsAreLoaded(),this.selectionCost=Object.values(this.stepSelections).reduce((R,B)=>R+B.selectedVariants.map(G=>G.priceModifier||0).reduce((G,j)=>G+j,0),0),this.onElementsChange();const F=await this.getInvalidModelVariants(),E=this.modelContainer;if(E){const R=F.map(B=>E.applyModelVariant(B,{contextService:this.getLayoutPreviewService()},!1));await Promise.all(R)}await this.onSelectionChange(),await this.reapplyMaterialSteps(),y?.type!==Xe.Frame&&y?.type!==Xe.Text&&this.setMandatoryFulfilled(e,!0),i&&await i()}async ensureStepsAreLoaded(){const t=(await Ja(this.allScenes,this.stepSelections)).map(l=>l.renderableSteps),n=[],i=t.flat();console.log("[ensureStepsAreLoaded] All steps:",i);for(const l of i)if(!this.stepInitialised[l.stepName])switch(this.stepInitialised[l.stepName]=!0,l.type){case Xe.DigitalContent:n.push(F1.init(l,this,this.reloadedState));break;case Xe.Frame:n.push(so.init(l,this,this.reloadedState));break;case Xe.Illustration:n.push(Jd.init(l,this,this.reloadedState));break;case Xe.Material:n.push(I1.init(l,this,this.reloadedState));break;case Xe.Model:n.push(P1.init(l,this,this.reloadedState));break;case Xe.Module:this.stepSpecificServices[l.stepName]={module:await uI(l.data.module)},n.push(D1.init(l,this,this.reloadedState));break;case Xe.Picture:n.push(R1.init(l,this,this.reloadedState));break;case Xe.Question:n.push(O1.init(l,this,this.reloadedState));break;case Xe.Shape:n.push(Nu.init(l,this,this.reloadedState));break;case Xe.Text:n.push(ri.init(l,this,this.reloadedState));break}const a=(await Promise.allSettled(n)).map(l=>{if(l.status==="rejected")throw new Error(`Step initialization failed: ${l.reason}`);return l.value}),s=a.flatMap(l=>l?.command?[l.command]:[]),o=a.flatMap(l=>l?.followup?[l.followup]:[]);s&&s.length>0&&this.commandContext.apply(new Fn(s),!0);for(const l of o)await l();o.length>0&&await this.ensureStepsAreLoaded(),this.onInitChange()}onConfirmChange(){this.confirmCallbacks.forEach(e=>e(this.confirmedDesign))}onEditedChange(){this.editedCallbacks.forEach(e=>e(this.editedSteps))}onElementsChange(){this.elementsCallbacks.forEach(e=>e(this.stepElements))}onInformationResultChange(){this.informationResultCallbacks.forEach(e=>e(this.informationResults))}onInitChange(){this.initCallbacks.forEach(e=>e(this.stepInitialised))}onMakingAdjustmentsChange(){this.makingAdjustmentsCallback.forEach(e=>{e(this.currentAdjustingStepId)})}onMandatoryChange(){this.mandatoryCallbacks.forEach(e=>e(this.mandatorySteps))}onMetadataChange(){this.metadataCallbacks.forEach(e=>{e(this.stepMetadata)})}async onSelectionChange(){const e=await this.traversableScenes();for(const t of this.selectionCallbacks)t({selectionCost:this.selectionCost,selections:this.stepSelections,traversableScenes:e})}onStepSpecificStorageChange(e){Object.keys(this.stepSpecificStorageCallbacks).includes(e)||(this.stepSpecificStorageCallbacks[e]=[]),this.stepSpecificStorageCallbacks[e].forEach(t=>t(this.storage[e]))}onStorageChange(){this.storageCallbacks.forEach(e=>e(this.storage))}onValidationChange(){this.validationCallbacks.forEach(e=>e(this.validationErrors))}traversableScenes(){return R_(this.allScenes,this.stepSelections,this.singleVariantsRenderable)}async reapplyMaterialSteps(){if(!this.modelContainer)return;const t=(await Ja(this.allScenes,this.stepSelections)).flatMap(n=>n.renderableSteps).filter(n=>n.type===Xe.Material);for(const n of t){const i=this.stepSelections[n.stepName]?.selectedVariants;if(!i||i.length===0)continue;const s=i[0].material;if(!s||!n.option?.id)continue;n.data.targetMaterials.forEach(l=>{this.modelContainer?.applyMaterialVariant(l,n.option.id,s)})}}};af.configurationPromiseMap=new Map;let fA=af;class Fa{constructor(e){this.variantData=e}getType(){return this.variantData.asset?.type}getId(){return this.variantData.id}getName(){return this.variantData.name}getPriceFormatted(e,t){return this.variantData.priceModifier.toLocaleString(e||"en-US",{style:"currency",currency:"USD",...t})}getPrice(){return this.variantData.priceModifier}getAsset(){return this.variantData.asset?.fileLink}getAssetResource(){return this.variantData.asset}getThumbnail(e=256,t){const n=this.variantData.thumbnail;if(!(!n||!n.fileLink))return $g(n,e,"webp",t)}getColor(){return this.variantData.color}isDefault(){return!!this.variantData.default}getResource(){return this.variantData}isEnabled(){return this.variantData.enabled}getCategory(){return this.variantData.category}getProduct(){return this.variantData.product}}const sf=class sf{constructor(e,t,n){this.manager=e,this.step=t,this.tags=n}setUpdateState(e){sf.updateState.set(`${this.step.stepName}-${this.manager.getWorkflowExperience().getTransaction().id}`,e)}getUpdateState(){return!!sf.updateState.get(`${this.step.stepName}-${this.manager.getWorkflowExperience().getTransaction().id}`)}getCurrentVariant(){const n=this.manager.getWorkflowSelections()[this.step.stepName]?.selections[0];if(n)return new Fa(n)}async getAvailableVariants(){return(await this.getAllVariants()).filter(t=>t.isEnabled())||[]}async getAllVariants(){if(!this.step.option?.id)return[];if(this.step.option.variants)return(this.step.option.variants||[]).map(t=>new Fa(t))||[];const e=await ct.getOption(this.step.option?.id);if(!e)throw new Error("Option not found, cannot fetch variants.");return(e.variants||[]).map(t=>new Fa(t))||[]}getId(){return this.step.stepName}getName(){return this.step.stepTitle}getHelpText(){return this.step.helpText}getType(){return this.step.type}getRaw(){return this.step}getTags(){return this.tags}hasTag(e){return this.tags.includes(e)||!1}getMandatory(){return this.step.mandatory||!1}getOverrideGlobalPropertyConfiguration(e){return(this.manager.getStepStorage(this.step.stepName)?.overrideGlobalConfigurations??{})[e.toString()]??!1}setOverrideGlobalPropertyConfiguration(e,t){const n=this.manager.getStepStorage(this.step.stepName)?.overrideGlobalConfigurations??{};this.manager.updateStorage(this.step.stepName,{overrideGlobalConfigurations:{...n,[e.toString()]:t}})}getGlobalPropertyAspects(e){return this.step.globalPropertyAspectConfigurations?.filter(t=>t.globalPropertyConfigurationId===e&&t.aspectName).map(t=>t.aspectName)??[]}executeAnimations(e){const t=this.manager.getPreviewService(),n=this.manager.getModelContainer(),i=this.step.data.modelAnimation,a=this.step.data.lookAtAnimation;t?a&&t.executeCameraAnimation(a):console.warn("No preview service available, cannot execute camera animations."),n?i&&n.executeAnimation(i,e):console.warn("No model container available, cannot execute model animations.")}};sf.updateState=new Map;let Ui=sf;class vI extends Ui{constructor(e,t,n){super(e,t,n)}async selectVariant(e){if(!this.getUpdateState()&&this.getCurrentVariant()!==e)return Jd.selectVariant(this.step,e.getResource(),this.manager.getRegionElements(this.step.stepName)||[],t=>this.setUpdateState(t),this.manager)}getColors(){const e=this.manager.getRegionElements(this.step.stepName)||[];if(e.length===0)return;const n=Un(e[0].id,this.manager.getAllLayoutData()).colors,a=this.getCurrentVariant()?.getAssetResource()?.assetConfiguration,s=a?.defaultColorVariants||[];if(s.length!==0){const o={};return s.forEach(l=>{const u=a.channelNumbers.find(c=>c.number===l.channelNumber);if(u){const c=u.id.replace(/\W/g,"");o[l.channelNumber]={browserValue:n[c]?.browserValue||""}}}),o}try{return n}catch(o){console.error(o)}}setColor(e,t,n){const i=new Map,s=this.getCurrentVariant()?.getAssetResource()?.assetConfiguration;return(s?.defaultColorVariants||[]).length!==0?s.channelNumbers.forEach(l=>{if(l.number.toString()===e){const u=l.id.replace(/\W/g,"");n?i.set(u,{browserValue:t,pmsValue:n}):i.set(u,t)}}):n?i.set(e,{browserValue:t,pmsValue:n}):i.set(e,t),Jd.changeColors(this.step,this.manager.getRegionElements(this.step.stepName),this.manager,i)}async getColorOption(){return await ct.ensureFullOption(this.step.data.colorOption)}getAvailableColors(){return this.step.data.colorPickerEnabled?Jd.availableColors(this.step,this.manager):Promise.resolve([])}isColorPickerEnabled(){return this.step.data.colorPickerEnabled??!1}isPMSPickerEnabled(){return this.step.data.pmsPickerEnabled??!1}isVariantSearchEnabled(){return this.step.data.enableVariantSearch??!1}isVariantCategoriesEnabled(){return this.step.data.enableVariantCategories??!1}}class yI extends Ui{constructor(e,t,n){super(e,t,n)}selectVariant(e){return I1.selectVariant(this.step,e.getResource(),this.manager,t=>this.setUpdateState(t))}isVariantCategoriesEnabled(){return this.step.data.enableVariantCategories??!1}}class AI extends Ui{constructor(e,t,n){super(e,t,n)}selectVariant(e){return P1.selectVariant(this.step,e.getResource(),this.manager,t=>this.setUpdateState(t))}isVariantCategoriesEnabled(){return this.step.data.enableVariantCategories??!1}}class wI extends Ui{constructor(e,t,n){super(e,t,n)}selectVariant(e){return R1.selectVariant(this.step,e.getResource(),this.manager,t=>this.setUpdateState(t))}isVariantSearchEnabled(){return this.step.data.enableVariantSearch??!1}isVariantCategoriesEnabled(){return this.step.data.enableVariantCategories??!1}}class bI extends Ui{constructor(e,t,n){super(e,t,n)}async selectVariant(e){if(!e.getId())throw new Error("Unable to select variant with a null ID");await O1.selectVariant(this.step,e.getId(),this.manager)}async getDisplayType(){return this.step.data.displayType?this.step.data.displayType:(await ct.getOptionForStep(this.step))?.displayType}}class CI extends Ui{constructor(e,t,n){super(e,t,n)}selectVariant(e){const t=e.getResource();return Nu.selectVariant(this.step,{fill:t.color,stroke:t.color,variant:t},this.manager.getRegionElements(this.step.stepName)||[],this.manager)}setColor(e){return Nu.selectVariant(this.step,e,this.manager.getRegionElements(this.step.stepName)||[],this.manager)}getColors(){return Nu.availableColours(this.step)}setCustomColor(e){return this.getCurrentVariant()?.getColor()!=="#custom"&&console.warn(`setting custom color for step ${this.step.stepName} but color is ${this.getCurrentVariant()?.getColor()}`),Nu.setCustomColor(e,this.step,this.manager)}getCustomColor(){this.getCurrentVariant()?.getColor()!=="#custom"&&console.warn(`setting custom color for step ${this.step.stepName} but color is ${this.getCurrentVariant()?.getColor()}`);const e=this.manager.getStepStorage(this.step.stepName)?.colour;if(!e)throw new Error(`Color not available on step ${this.step.stepName}. Set a default on the workflow to fix this.`);return e}isVariantCategoriesEnabled(){return this.step.data.enableVariantCategories??!1}}class xI extends Ui{constructor(e,t,n){super(e,t,n)}async selectVariant(e){await ri.selectVariant(this.step,e.getResource(),this.manager,t=>{if(t)this.manager.setInformationResults([...this.manager.getInformationResults(),{message:t,messageType:Jf.Error,stepID:this.step.stepName}]);else{const n=this.manager.getInformationResults().filter(i=>i.stepID!==this.step.stepName);this.manager.setInformationResults(n)}},()=>{})}async getAvailableFillColors(){return this.step.data.colorPickerEnabled?ri.availableFillColors(this.step):[]}async setFillColor(e){const t=this.manager.getRegionElements(this.step.stepName);await ri.changeFillColor(this.step,e,t,this.manager)}getFillColor(){return this.manager.getStepStorage(this.step.stepName)?.color||"#000000"}getAvailableFillImages(){return ri.availableFillImages(this.step)}async setFillImage(e){const t=this.manager.getRegionElements(this.step.stepName);await ri.changeFillImage(this.step,e,t,this.manager)}getFillImage(){return this.manager.getStepStorage(this.step.stepName)?.fillImage}getAlignment(){return ri.findLayoutElements(this.manager,this.step)?.[0].align}setAlignment(e){const t=this.manager.getRegionElements(this.step.stepName);ri.changeAlignment(this.step,e,t,this.manager)}setFullTextCustomization(e){const t=this.manager.getStepStorage(this.step.stepName)?.inputText||"",n=this.step.data.replaceableText!==void 0?this.step.data.replaceableText.replace("{{}}",t):t,i=e?n:this.step.data.defaultText;return this.manager.updateStorage(this.step.stepName,{customiseAllText:e,text:i,defaultCleared:!1}),this.setText(i)}setText(e){const t={input:e,helperData:{}},n=ri.findLayoutElements(this.manager,this.step),i=ri.filterUnsupportedCharacters(e,n[0]?.fontData),a=Gu(i,this.manager).length,s=!!this.step.data&&!!this.step.data.maxLength&&a>this.step.data.maxLength;s||(t.input=i);const o=n.length<=0,l=o?{inputText:i,text:i}:{inputText:i};this.manager.updateStorage(this.step.stepName,l);const u=this.manager.getStepStorage(this.step.stepName),c=ri.getProcessedInput(i,this.step.data,u?.customiseAllText??!1);if(o)s||this.manager.updateMetadata(this.step.stepName,{text:c});else{const{command:f,errorData:d,helperData:h}=ri.updateInputText(i,n,this.step,this.manager);f&&this.manager.getCommandDispatcher()(f),t.helperData=h,t.errorData=d,!s&&!d&&this.manager.updateMetadata(this.step.stepName,{text:c})}return t}getText(){const e=this.step.data.defaultText,t=this.manager.getStepStorage(this.step.stepName);return e&&t?.defaultCleared!==void 0&&!t?.defaultCleared?e:this.manager.getStepStorage(this.step.stepName)?.text||""}isReplaceable(){return this.step.data.userCanReplaceText}newLinesSupported(){return this.step.data.allowNewlines||!1}clearDefaultTextIfNecessary(){if(!this.manager.getStepStorage(this.step.stepName)?.defaultCleared&&this.step.data.deleteDefaultOnFocus){const t=this.setText("");this.manager.updateStorage(this.step.stepName,{defaultCleared:!0,inputText:""});const n=ri.findLayoutElements(this.manager,this.step);return ri.updateInputText("",n,this.step,this.manager),t}}hasColorPicker(){return this.step.data.colorPickerEnabled}getRegions(){return this.step.data.regions}getCharacterLimit(){return this.step.data.maxLength}getCharactersRemaining(){const e=this.step.data.maxLength;if(e===void 0)return;const t=Gu(this.getText(),this.manager);return e-t.length}setCustomColor(e){this.getFillColor()!=="#custom"&&console.warn(`setting custom color for text step ${this.step.stepName} but current fill is not #custom`);const t=this.manager.getRegionElements(this.step.stepName);ri.applyCustomFillColor(this.step,e,t,this.manager)}getCustomColor(){return this.manager.getStepStorage(this.step.stepName)?.customColor||"#000000"}async getAvailableStrokeColors(){return this.step.data.strokeEnabled?ri.availableStrokeColors(this.step):[]}getStrokeColor(){return this.manager.getStepStorage(this.step.stepName)?.strokeColor?.browserValue||"#000000"}async setStrokeColor(e){const t=this.manager.getRegionElements(this.step.stepName);await ri.changeStrokeColor(this.step,e,t,this.manager)}isVariantCategoriesEnabled(){return this.step.data.enableVariantCategories??!1}}class SI extends Ui{constructor(e,t,n){super(e,t,n)}async selectVariant(){}getContent(){return this.step.data.content}}class EI extends Ui{constructor(e,t,n){super(e,t,n)}async selectVariant(){}getPreviewURL(){return this.manager.getStepStorage(this.step.stepName)?.videoUrl||""}async selectVideo(e){return F1.regenerateQRCode(this.manager.getRegionElements(this.step.stepName),e.key,this.manager,this.step)}}class kI extends Ui{constructor(e,t,n){super(e,t,n)}async selectVariant(){console.info("Text Modules don't support variants.")}getCharactersRemaining(){const e=this.step.data.maxLength;if(e===void 0)return;const t=Gu(this.getText(),this.manager);return e-t.length}getCharacterLimit(){return this.step.data.maxLength}getText(){return this.manager.getStepStorage(this.step.stepName)?.text||""}setText(e){D1.changeText(this.step,e,this.manager,t=>{if(t){const n=[...this.manager.getInformationResults(),{message:t,messageType:Jf.Error,stepID:this.step.stepName}];this.manager.setInformationResults(n)}else{const n=this.manager.getInformationResults().filter(i=>i.stepID!==this.step.stepName);this.manager.setInformationResults(n)}})}}class TI extends Ui{constructor(e,t,n){super(e,t,n)}async selectVariant(){}async getAvailableVariants(){const e=await super.getAvailableVariants();if(!this.cachedProductIds){this.cachedProductIds=new Set;for(const t of e){const n=t.getProduct();n?.id&&this.cachedProductIds.add(n.id)}}return e}isPersonalisable(e){const t=e.getProduct();return!!t?.workflows&&t.workflows.length>0}async addProduct(e){const t=this.manager.getWorkflowExperience().getBundle();if(!t)throw new Error("Product step requires bundle context");const n=e.getProduct();if(!n)throw new Error("Variant has no product. Ensure the option query includes the product field on variants.");if(!this.isPersonalisable(e)){await this.incrementNonPersonalisable(e);return}const i=this.manager.getWorkflowExperience().getTransaction(),a=i.integrationProduct?.integration?.id;let s;if(a&&n.integrationProducts&&(s=n.integrationProducts.find(d=>d.integration?.id===a)?.id),!s)throw new Error("No integration product found for bundle context");const o=this.manager.getClient(),l=n?.workflows||[];let u;if(l.length===1)u=l[0].id;else if(l.length>1){const f=this.step.data.workflows,d=l.find(h=>f.includes(h.id));if(d)u=d.id;else throw new Error("Multiple workflows available but none match step configuration")}const c=await o.getWorkflowExperience({type:"integration",integrationProductId:s,workflowId:u,parentTransactionId:i.id});await t.addWorkflowExperience(c)}async incrementNonPersonalisable(e){const t=this.manager.getWorkflowExperience().getBundle();if(!t)return;const n=e.getProduct(),i=this.findExperienceForProduct(n.id);if(i){const c=i.getTransaction().quantity||1;await i.setQuantity(c+1);return}const a=this.manager.getWorkflowExperience().getTransaction(),s=a.integrationProduct?.integration?.id;let o;if(s&&n.integrationProducts&&(o=n.integrationProducts.find(f=>f.integration?.id===s)?.id),!o)throw new Error("No integration product found for bundle context");const u=await this.manager.getClient().getWorkflowExperience({type:"integration",integrationProductId:o,parentTransactionId:a.id});await t.addWorkflowExperience(u)}async removeProduct(e){const t=this.manager.getWorkflowExperience().getBundle();if(!t)throw new Error("Product step requires bundle context");const i=t.getWorkflowExperiences().find(o=>o.getTransaction().id===e);if(!i)throw new Error("Transaction is not a child of this product step");const a=i.getTransaction(),s=a.quantity||1;if(s>1){await i.setQuantity(s-1);return}await t.removeWorkflowExperienceByTransaction(a)}isCategoryFilterEnabled(){return this.step.data.categoryFilterEnabled??!1}isSearchBarEnabled(){return this.step.data.searchBarEnabled??!1}getMin(){return this.step.data.min}getMax(){return this.step.data.max}getPricing(){return this.step.data.pricing}getWorkflows(){return this.step.data.workflows||[]}getChildTransactions(){const e=this.manager.getWorkflowExperience().getBundle();if(!e)return[];const t=this.manager.getWorkflowExperience().getTransaction().id,n=e.getWorkflowExperiences(),i=this.getStepProductIds();return n.map(a=>a.getTransaction()).filter(a=>a.parentTransaction?.id!==t||i.size===0?!1:a.product?.id?i.has(a.product.id):!1)}getStepProductIds(){if(this.cachedProductIds&&this.cachedProductIds.size>0)return this.cachedProductIds;const e=this.step.option?.variants||[],t=new Set;for(const n of e)n.product?.id&&t.add(n.product.id);return t}getLockedAddOns(){return this.step.data.lockedAddOns||[]}findExperienceForProduct(e){const t=this.manager.getWorkflowExperience().getBundle();if(!t)return;const n=this.manager.getWorkflowExperience().getTransaction().id,i=this.getStepProductIds();return t.getWorkflowExperiences().find(a=>{const s=a.getTransaction();return s.parentTransaction?.id!==n||i.size>0&&!i.has(e)?!1:s.product?.id===e})}}class Ep{static get(e,t){switch(t.type){case Xe.DigitalContent:return new EI(e,t,e.getStepTags(t.stepName));case Xe.Information:return new SI(e,t,e.getStepTags(t.stepName));case Xe.Question:return new bI(e,t,e.getStepTags(t.stepName));case Xe.Text:return new xI(e,t,e.getStepTags(t.stepName));case Xe.Illustration:return new vI(e,t,e.getStepTags(t.stepName));case Xe.Picture:return new wI(e,t,e.getStepTags(t.stepName));case Xe.Shape:return new CI(e,t,e.getStepTags(t.stepName));case Xe.Material:return new yI(e,t,e.getStepTags(t.stepName));case Xe.Model:return new AI(e,t,e.getStepTags(t.stepName));case Xe.Frame:return new YP(e,t,e.getStepTags(t.stepName));case Xe.Module:return new kI(e,t,e.getStepTags(t.stepName));case Xe.Product:return new TI(e,t,e.getStepTags(t.stepName));default:throw new nn(`Step type ${t.type} not yet supported in Core SDK`)}}}var Dv,TE;function O9(){if(TE)return Dv;TE=1;var r=1/0,e=9007199254740991,t=17976931348623157e292,n=NaN,i="[object Function]",a="[object GeneratorFunction]",s="[object Symbol]",o=/^\s+|\s+$/g,l=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,c=/^0o[0-7]+$/i,f=/^(?:0|[1-9]\d*)$/,d=parseInt,h=Object.prototype,g=h.toString,v=Math.ceil,y=Math.max;function A(oe,he,ye){var Ue=-1,Re=oe.length;he<0&&(he=-he>Re?0:Re+he),ye=ye>Re?Re:ye,ye<0&&(ye+=Re),Re=he>ye?0:ye-he>>>0,he>>>=0;for(var Oe=Array(Re);++Ue<Re;)Oe[Ue]=oe[Ue+he];return Oe}function C(oe,he){return he=he??e,!!he&&(typeof oe=="number"||f.test(oe))&&oe>-1&&oe%1==0&&oe<he}function S(oe,he,ye){if(!j(ye))return!1;var Ue=typeof he;return(Ue=="number"?R(ye)&&C(he,ye.length):Ue=="string"&&he in ye)?E(ye[he],oe):!1}function F(oe,he,ye){(ye?S(oe,he,ye):he===void 0)?he=1:he=y(J(he),0);var Ue=oe?oe.length:0;if(!Ue||he<1)return[];for(var Re=0,Oe=0,ee=Array(v(Ue/he));Re<Ue;)ee[Oe++]=A(oe,Re,Re+=he);return ee}function E(oe,he){return oe===he||oe!==oe&&he!==he}function R(oe){return oe!=null&&G(oe.length)&&!B(oe)}function B(oe){var he=j(oe)?g.call(oe):"";return he==i||he==a}function G(oe){return typeof oe=="number"&&oe>-1&&oe%1==0&&oe<=e}function j(oe){var he=typeof oe;return!!oe&&(he=="object"||he=="function")}function ie(oe){return!!oe&&typeof oe=="object"}function q(oe){return typeof oe=="symbol"||ie(oe)&&g.call(oe)==s}function Y(oe){if(!oe)return oe===0?oe:0;if(oe=ae(oe),oe===r||oe===-r){var he=oe<0?-1:1;return he*t}return oe===oe?oe:0}function J(oe){var he=Y(oe),ye=he%1;return he===he?ye?he-ye:he:0}function ae(oe){if(typeof oe=="number")return oe;if(q(oe))return n;if(j(oe)){var he=typeof oe.valueOf=="function"?oe.valueOf():oe;oe=j(he)?he+"":he}if(typeof oe!="string")return oe===0?oe:+oe;oe=oe.replace(o,"");var ye=u.test(oe);return ye||c.test(oe)?d(oe.slice(2),ye?2:8):l.test(oe)?n:+oe}return Dv=F,Dv}var B9=O9();const hA=Ns(B9),M9=Se`
|
|
2656
2656
|
fragment CreateDesignTransaction on Transaction {
|
|
2657
2657
|
id
|
|
2658
2658
|
designName
|
|
@@ -2831,7 +2831,7 @@ Minimum version required to store current data is: `+q+`.
|
|
|
2831
2831
|
}
|
|
2832
2832
|
}
|
|
2833
2833
|
}
|
|
2834
|
-
`;var yg=(r=>(r.PriceBreakChanged="PriceBreakChanged",r.ProductChanged="ProductChanged",r.QuantityChanged="QuantityChanged",r.RecipientChanged="RecipientChanged",r.SelectionChanged="SelectionChanged",r.WorkflowConfigurationChanged="WorkflowConfigurationChanged",r))(yg||{});class M1{constructor(e,t){this.cachedStepHandles=new Map,this.profanityList=[],this.currentPriceBreak=1,this.renderableScenes=[],this.renderableSceneCallbacks=[],this.eventCallbacks=new Map,this.debouncedSavedDesignUpdate=PI(async()=>{await Qp.getSavedDesignByTransaction(this.getTransaction().id)&&this.save()},2500),this.getCanvasObjectURLAsync=async n=>new Promise((i,a)=>{try{n.toBlob(s=>{if(s){const o=URL.createObjectURL(s);i(o)}})}catch(s){a(s)}}),this.client=e,this.transaction=t.transaction,this.workflow=t.workflow,this.profanityList=this.transaction.product?.profanities?.map(n=>n.word)||[],this.isReadOnly=t.transaction.isOrdered||!!t.readOnly,this.graphQlClient=t.graphQlClient,this.workflowManager=new fA(this,e,n=>{try{this.debouncedSavedDesignUpdate()}catch{console.error("Failed to update saved design details.")}return t.stateMutationFunc(n)},t.graphQlClient,t.reloadedState,t.readOnly,t.modelContainer,t.isReloadedTransaction,t.singleVariantsRenderable,t.delayWorkflowStateSync),this.workflowManager.addSelectionCallback(n=>{const i=n.traversableScenes.map(a=>{const s=a.renderableSteps.map(o=>o.stepName);return{id:a.name,title:a.title,renderableSteps:s,workflowScene:a}});this.renderableScenes=i,this.renderableSceneCallbacks.forEach(a=>a(i)),this.callEvent("SelectionChanged")}),this.currentPriceBreak=this.priceBreakToBeApplied()}getTransaction(){return this.transaction}getProduct(){return this.transaction.product}getProfanityList(){return this.profanityList}async setProduct(e){this.workflow=void 0;const t=await this.graphQlClient().mutate({mutation:PE,variables:{id:this.getTransaction().id,integrationProductId:e}}),n=t.data?.transactionUpdateIntegrationProduct.product;if(!n)throw new nn("Failed to set product. No product returned from server.");if(!this.bundle)throw new nn("Cannot set product on experience that is not part of a bundle.");this.transaction.product={...this.transaction.product,...t.data?.transactionUpdateIntegrationProduct.product},this.transaction.integrationProduct={...this.transaction.integrationProduct,...t.data?.transactionUpdateIntegrationProduct.integrationProduct},this.transaction.workflowState=void 0,this.currentPriceBreak=this.priceBreakToBeApplied(),this.callEvent("ProductChanged");const i=(await this.bundle.getProductCollection().fetchProducts()).find(a=>a.getId()===n.id);try{const a=i?.getDefaultWorkflow();if(a){const s=await UP(a.getId());await this.setWorkflow(s),console.log("Setting Product - Workflow set to default for product.")}}catch{console.log("Setting Product - No default workflow available, must be set manually.")}}async clearProduct(){if(!this.bundle)throw new nn("Cannot clear product on experience that is not part of a bundle.");this.workflow=void 0,this.transaction.workflowState=void 0,this.transaction.product=void 0,this.transaction.integrationProduct=void 0,this.currentPriceBreak=this.priceBreakToBeApplied(),this.callEvent("ProductChanged"),await this.graphQlClient().mutate({mutation:PE,variables:{id:this.getTransaction().id}})}getWorkflow(){return this.workflow}async setWorkflow(e){return this.workflow=e,await this.graphQlClient().mutate({mutation:M3,variables:{id:this.getTransaction().id,workflowId:e.id}}),this.workflowManager.setWorkflow(e)}async updateWorkflowConfiguration(e){if(!this.workflow)throw new Error("No workflow set");e.steps&&this.cachedStepHandles.clear();const t=this.applyWorkflowChanges(this.workflow,e);await this.workflowManager.updateWorkflowConfiguration(e),this.workflow=t,this.callEvent("WorkflowConfigurationChanged")}applyWorkflowChanges(e,t){let n={...e};if(t.panels){let i=[...e.panels];if(t.panels.removed&&(i=i.filter(a=>!t.panels.removed.includes(a.name))),t.panels.changed)for(const a of t.panels.changed){const s=i.findIndex(o=>o.name===a.name);s>=0&&(i[s]=a)}if(t.panels.added)for(const{item:a,index:s}of t.panels.added)i.splice(s,0,a);n.panels=i}if(t.steps){let i=[...e.steps];if(t.steps.removed&&(i=i.filter(a=>!t.steps.removed.includes(a.stepName))),t.steps.changed)for(const a of t.steps.changed){const s=i.findIndex(o=>o.stepName===a.stepName);s>=0&&(i[s]=a)}if(t.steps.added)for(const{item:a,index:s}of t.steps.added)i.splice(s,0,a);n.steps=i}if(t.stepGroups){let i=[...e.stepGroups];if(t.stepGroups.removed&&(i=i.filter(a=>a.id&&!t.stepGroups.removed.includes(a.id))),t.stepGroups.changed)for(const a of t.stepGroups.changed){const s=a.id||a.name,o=i.findIndex(l=>l.id===s);o>=0&&(i[o]=a)}if(t.stepGroups.added)for(const{item:a,index:s}of t.stepGroups.added)i.splice(s,0,a);n.stepGroups=i}return n}async attachAddress(e,t,n,i,a,s){await this.graphQlClient().mutate({mutation:Y9,variables:{transactionId:this.getTransaction().id,streetAddress:e||void 0,apartment:t||void 0,city:n||void 0,country:i||void 0,state:a||void 0,postCode:s||void 0}})}async attachOrganization(e){await this.graphQlClient().mutate({mutation:X9,variables:{transactionId:this.getTransaction().id,organizationName:e}})}getBundle(){return this.bundle}setBundle(e){this.bundle=e}getClient(){return this.client}getIsReadOnly(){return this.isReadOnly}getCommandContext(){return this.workflowManager.getCommandContext()}getWorkflowManager(){return this.workflowManager}async createPreviewImage(e,t){const n=this.getWorkflow(),i=n?.finalizeStepConfig?.lookAtAnimation;if(!n)throw new Error("Failed to generate cart preview image! No workflow is set.");if(e){if(!i)throw new Error("Failed to generate cart preview image! No camera orientation configured.");return await this.workflowManager.getPreviewService()?.renderSceneScreenshot(t??512,i)||""}let a=2048;t&&t<=2048&&(a=t);const s=Eo(a,a),o=this.workflowManager.getCommandContext().getAllLayouts(),l=n.defaultPreviewPanelIndex||0,u=n.panels[l],c=o.find(S=>S.layoutState?.layout.panelId===u?.name)||o[0],f=c.layoutState.layout.previewRegion?{x:c.layoutState.layout.previewRegion.left,y:c.layoutState.layout.previewRegion.top,width:c.layoutState.layout.previewRegion.width,height:c.layoutState.layout.previewRegion.height}:{x:0,y:0,width:c.layoutState.layout.width,height:c.layoutState.layout.height},d=this.workflowManager.getCommandContext().getLayoutById(c.layoutState.layout.id),h=s.getContext("2d");if(!h)throw new _g("Failed to obtain 2D context for preview image creation");const g=this.workflowManager.getTemplatingContext(),v=Qg(d.layoutState.layout,d.layoutState.elements,{renderingConfiguration:{purpose:Ku.Print,region:{left:f.x,top:f.y,width:f.width,height:f.height},templatingContext:g}}),y=Qk(v);await(await uo.from(h,y,{anonymousCrossOrigin:!0,ignoreDimensions:!1,createCanvas:Eo,createImage:Mf,DOMParser:YA(),fetch})).render();const C=await this.getCanvasObjectURLAsync(s);return s.toDataURL(C)}getStepById(e){const t=this.getWorkflow()?.steps.find(a=>a.stepName===e);if(!t||!this.stepHasHandle(t))return;const n=this.cachedStepHandles.get(t.stepName);if(n)return n;const i=Ep.get(this.getWorkflowManager(),t);return this.cachedStepHandles.set(t.stepName,i),i}getSteps(){return this.getScenes().flatMap(e=>this.getStepsByScene(e))}async getStepsConditionallyActive(){const e=this.getScenes();return(await Promise.all(e.map(async n=>{const i=this.getStepsByScene(n),a=await Promise.all(i.map(s=>co(s.getRaw(),this.getWorkflowManager().getStepSelections())));return i.filter((s,o)=>a[o])}))).flat()}getScenes(){return(this.getWorkflow()?.stepGroups||[]).map(t=>({id:t.id,name:t.name,stepIds:t.stepNames}))}getSelectionPriceSubunits(e){const t=this.getWorkflowManager().getWorkflowSelections();let n=0;return Object.values(t).forEach(i=>{n+=i.selections.reduce((a,s)=>a+(s.priceModifier||0),0)}),this.getPriceSubUnitsAfterPriceBreaks(n,e)}getBasePriceSubunits(e,t){const n=this.getPriceSubUnitsAfterPriceBreaks(this.getProduct()?.basePrice||0,t);if(e){const i=this.getAdditionalProductPriceSubunits(t)||0;return n+i}return n}getAdditionalProductPriceSubunits(e){const t=this.getTransaction().integrationProduct;if(t?.additionalIntegrationProduct?.product){const n=t.additionalIntegrationProduct.product.basePrice||0;return this.getPriceSubUnitsAfterPriceBreaks(n,e)}}getTotalPriceSubunits(e){return this.getBasePriceSubunits(!1,e)+this.getSelectionPriceSubunits(e)}getPriceSubUnitsAfterPriceBreaks(e,t){const n=t?1:this.priceBreakToBeApplied(),i=e*n;return Math.ceil(i)}priceBreakToBeApplied(){const e=(this.getProduct()?.priceBreaks||[]).sort((i,a)=>-(i.minQty-a.minQty)),n=[...this.getMatchingExperiencesFromBundle(),this].reduce((i,a)=>i+a.getQuantity(),0);for(const i of e)if(i.minQty<=n)return i.percentage;return 1}checkForPriceBreakChanges(){const e=this.priceBreakToBeApplied();this.currentPriceBreak!==e&&(this.updatePriceBreak(e),this.getMatchingExperiencesFromBundle().forEach(t=>t.updatePriceBreak(e)))}getMatchingExperiencesFromBundle(){return(this.bundle?.getWorkflowExperiences()||[]).filter(e=>{const t=e.getTransaction().id,n=this.getTransaction().id,i=e.getProduct()?.id,a=this.getProduct()?.id;return t!==n&&i===a})}updatePriceBreak(e){this.currentPriceBreak=e,this.callEvent("PriceBreakChanged")}async copySelectionsViaGlobalConfiguration(e,t,n){const i=await e.getGlobalProperties(),a=n?.map(u=>u.getId()),s=this.getSteps().filter(u=>a===void 0||a.includes(u.getId())),o=t.getSteps(),l=u=>i.find(c=>c.getRawProperty().name===u.aspectName);s.forEach(u=>{const c=new Set,f=u.getRaw().globalPropertyAspectConfigurations;f!==void 0&&(f.forEach(d=>c.add(JSON.stringify(d))),o.forEach(d=>{const h=d.getRaw().globalPropertyAspectConfigurations;h!==void 0&&h.forEach(g=>{const v=l(g),y=c.has(JSON.stringify(g));if(y&&v?.getType()==="Option"){const A=d.getCurrentVariant();if(!A)return;u.selectVariant(A),c.delete(JSON.stringify(g))}else if(y&&v?.getType()==="Text"){const A=d.getText();u.setText(A),c.delete(JSON.stringify(g))}})}))})}getStepByName(e){const t=this.getWorkflow()?.steps.find(n=>n.stepTitle===e);if(!(!t||!this.stepHasHandle(t)))return Ep.get(this.getWorkflowManager(),t)}getStepsByType(e){return this.getWorkflow()?.steps.filter(t=>t.type===e).map(t=>Ep.get(this.getWorkflowManager(),t))||[]}getStepsByScene(e){const t=this.getWorkflow();if(!t?.stepGroups.find(i=>i.name===e.name))throw new Error("Given scene is not present on workflow! Be careful when persisting scenes that you only use them with the relevant workflow.");return e.stepIds.map(i=>t.steps.find(a=>a.stepName===i)).filter(i=>!!i&&this.stepHasHandle(i)).map(i=>Ep.get(this.getWorkflowManager(),i))}async attachCustomerDetails(e){return this.assignCustomerDetails({emailAddress:e.email})}async assignCustomerDetails(e){const n=(await this.graphQlClient().mutate({mutation:W9,variables:{id:this.getTransaction().id,details:e,type:"Owner"}})).data?.transactionAddStakeholder?.stakeholders?.find(i=>i.customer?.emailAddress===e.emailAddress);n?.customer&&this.assignCustomerInternal(n.customer)}assignCustomerInternal(e){this.getWorkflowManager().setTransactionCustomer(e);const t=br.getMap("transactionCustomerIds")||new Map;t.set(this.getTransaction().id,e.id),br.setMap("transactionCustomerIds",t)}attachRenderableSceneListener(e){this.renderableSceneCallbacks.push(e),e(this.renderableScenes)}detachRenderableSceneListener(e){this.renderableSceneCallbacks=this.renderableSceneCallbacks.filter(t=>t!==e)}async save(e){const t=this.getProduct(),n=this.getWorkflow(),i=this.getCommandContext().getState();if(!t)throw new nn("Product undefined!");if(!n)throw new nn("Workflow undefined!");if(!i)throw new nn("State undefined!");const s={title:await(async()=>{if(e)return e;const o=this.getTransaction().id,u=(await Qp.getSavedDesigns()).find(c=>c.transactionId===o)?.title;return u||"My design"})(),thumbnail:await this.createPreviewImage(!1,256),transactionId:this.getTransaction().id,productId:t.id,integrationProductId:this.getTransaction().integrationProduct.id,workflowName:n.name,workflowId:n.id,lastEdited:new Date};return await Qp.addDesign(s),s}async copy(){const e=mo(this.getCommandContext().getState());if(!e)throw new nn("Internal state is undefined! Cannot copy experience!");const t=JSON.stringify(e.transaction),n=this.getWorkflow();if(!n)throw new nn("Workflow is undefined! Cannot copy experience!");const i=this.getTransaction().integrationProduct?.id;if(!i)throw new nn("Integration product id is undefined!");return await this.getClient().getWorkflowExperience({type:"integration",integrationProductId:i,workflowId:n.id,workflowState:t})}async onDesignFinished(e=!0){const t=this.getTransaction(),n=this.getProduct(),i=this.getWorkflow();if(!n)throw new nn("Product undefined! Cannot finish an experience without a product.");if(!i)throw new nn("Workflow undefined! Cannot finish an experience without a workflow.");if(t.isOrdered)return{event:"",exportedData:{},lineItemImageUrl:"",optionsCost:0,transactionId:t.id,workflowViewerLink:"",workflowViewerReadOnlyLink:""};const a=await II([{workflowManager:this.workflowManager,workflow:i,layouts:this.workflowManager.getLayouts(),getReducerState:()=>this.workflowManager.getCommandContext().getState(),product:n,transaction:t,workflowSelections:this.workflowManager.getWorkflowSelections(),workflowMetadata:this.workflowManager.getWorkflowMetadata(),designName:i.name}],s=>e?this.createPreviewImage(s,1024):Promise.resolve(void 0));return t.completed&&await this.graphQlClient().mutate({mutation:H3,variables:{transactionId:t.id}}),a[0]}stepHasHandle(e){return e.type!==Xe.SilentIllustration&&e.type!==Xe.ProductOverlay}async getExportedStepData(){const e=this.getWorkflow(),t=this.getWorkflowManager().getWorkflowMetadata(),n=this.getWorkflowManager().getWorkflowSelections(),i=[];for(const a of e?.steps||[]){const s=a.stepName,o=t[s],l=n[s]?.selections[0],u={stepId:s,title:a.stepTitle,properties:[]};if(l&&await K9(a,n)&&u.properties.push({type:"selection",value:l.name,priceModifier:l.priceModifier}),!o){i.push(u);continue}switch(a.type){case Xe.Frame:{const c=a.data,f=o;f.image&&c.displayImageOnFinishStep&&u.properties.push({type:"image",value:f.image,priceModifier:0})}break;case Xe.Illustration:{const c=a.data,f=o;if(f&&f.colors&&f.colors.length>0&&c.displayColorsOnFinishStep){const d=f.colors.join(", ").toUpperCase();u.properties.push({type:"color",value:d,priceModifier:0})}}break;case Xe.Module:{const c=a.data,f=o;f&&f.text&&c.displayTextOnFinishStep&&u.properties.push({type:"text",value:f.text,priceModifier:0})}break;case Xe.Text:{const c=a.data,f=o;f&&f.text&&c.displayTextOnFinishStep&&u.properties.push({type:"text",value:f.text,priceModifier:0}),f&&f.color&&c.displayColorOnFinishStep&&u.properties.push({type:"color",value:f.color,priceModifier:0})}}i.push(u)}return i.filter(a=>a.properties&&a.properties.length>0)}getQuantity(){return this.getTransaction().quantity||1}async setQuantity(e){if(e<1)throw new RangeError("WorkflowExperience quantity must be greater than zero.");if(this.isReadOnly)throw new Error("Cannot update quantity on a read-only WorkflowExperience");this.getTransaction().quantity=e,this.callEvent("QuantityChanged"),this.checkForPriceBreakChanges();const t=this.getTransaction();await this.graphQlClient().mutate({mutation:B3,variables:{id:t.id,quantity:e}})}addEventListener(e,t){const n=this.eventCallbacks.get(e)||[];n.push(t),this.eventCallbacks.set(e,n)}removeEventListener(e,t){const n=this.eventCallbacks.get(e)||[];this.eventCallbacks.set(e,n.filter(i=>i!==t))}callEvent(e){(this.eventCallbacks.get(e)||[]).forEach(t=>t(this))}}const J9=r=>{if([Xe.Question,Xe.Frame,Xe.Illustration,Xe.Material,Xe.Model,Xe.Picture,Xe.Shape,Xe.Text].includes(r.type)){const t=r.data;return!!t.displaySelectionOnFinishStep||!!t.displaySelectionsOnFinishStep}return!1},K9=async(r,e)=>{if(!J9(r))return!1;const t=await ct.getOptionForStep(r);if(t&&(t.variants||[]).length>1){const n=e[r.stepName];return!!(n&&n.selections.length>0)}return!1};class Z9{constructor(e){this.handleCache={},this.bundle=e}async getHandle(e){if(this.handleCache[e.name])return this.handleCache[e.name];const t=await this.createHandle(e);return this.handleCache[e.name]=t,t}async getHandles(){if(!this.bundle.getGlobalPropertyConfiguration())return[];await this.bundle.getGlobalPropertyStateManager().getInitializationPromise();const e=this.bundle.getGlobalPropertyConfiguration();return e?Promise.all(e.aspects.map(t=>this.getHandle(t))):[]}applyConditionsFromState(e,t){return t?e.filter(n=>this.aspectConditionsSatisfied(n.getRawProperty(),t)):e}aspectConditionsSatisfied(e,t){return!e.conditions||e.conditions.length===0?!0:(e.conditionMode===Nk.AND?Array.prototype.every.bind(e.conditions):Array.prototype.some.bind(e.conditions))(i=>{const a=t.aspects.find(s=>s.name===i.targetAspectName);return a?i.requiredVariantSelections.some(s=>s===a.value):!1})}async createHandle(e){switch(e.type){case Hn.FileUpload:return new DI(this.bundle,e).initialize();case Hn.ColorOption:return new pA(this.bundle,e,e.entityId?await ct.getOption(e.entityId):void 0);case Hn.Option:{const t=e.entityId?await ct.getOption(e.entityId):void 0;return t?.type==="Color"?new pA(this.bundle,e,t):new _1(this.bundle,e,t)}case Hn.Text:return new RI(this.bundle,e);default:throw new Error("Unhandled Global Property Aspect Type")}}}class Jg{constructor(e,t){this.bundle=e,this.property=t}getName(){return this.property.name}getTitle(){return this.property.title}getDescription(){return this.property.description}getType(){return this.property.type}getRawProperty(){return this.property}isMandatory(){return!!this.property.mandatory}isMandatoryFulfilled(){return!this.property.mandatory||!!this.bundle.getGlobalPropertyStateManager().getAspectMandatoryFulfilled(this.property.name)}isSilent(){return!!this.property.silent||this.bundle.getGlobalPropertyStateManager().getAspectHidden(this.property.name)}async getSharedSteps(e){const t=e??this.bundle.getWorkflowExperiences();return(await Promise.all(t.map(a=>a.getStepsConditionallyActive()))).map(a=>a.filter(s=>s.getOverrideGlobalPropertyConfiguration(this.property.type)?!1:s.getRaw().globalPropertyAspectConfigurations?.some(o=>o.globalPropertyConfigurationId===this.bundle.getGlobalPropertyConfiguration()?.id&&o.aspectName===this.property.name))).flat()}getStateValue(){return this.bundle.getGlobalPropertyStateManager().getAspect(this.property.name)}}class DI extends Jg{constructor(e,t){super(e,t)}async initialize(){return this.property.data?.fileUpload?.colorOptionId&&(this.colorOption=await ct.getOption(this.property.data?.fileUpload?.colorOptionId)),await this.loadImageData(),this}async loadImageData(){const e=await this.getImage();if(e?.fileLink)if(e?.fileLink.endsWith(".svg")){const t=await ra(e?.fileLink),n=await S1(e?.fileLink),i=n.width,a=n.height,s=await Pa(t);this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name)?.colors?.forEach(u=>{s.colors[u.key]={browserValue:u.browserValue,pmsValue:u.pmsValue}});const l={src:e?.fileLink,width:i,height:a,aspect:i/a,svg:s.svg,colors:s.colors};Ds.set(e?.fileLink,l),this.imageData=l}else this.imageData=void 0}async selectImage(e){const t=this.bundle.getGlobalPropertyStateManager();await Promise.all([t.setAspect(this.property.name,e.key,{...t.getAspectStorage(this.property.name)||{},originalAssetKey:e.key,backgroundRemovedAssetKey:void 0,vectorizedAssetKey:void 0,useOriginalAsset:void 0},void 0),this.applyImageSelection(e),this.loadImageData()])}async canUseAdvancedImageManipulation(){return this.bundle.getClient().canUseAddon(Bg.AdvancedImageManipulation)}async removeBackgroundFromImage(e=!0){if(!await this.canUseAdvancedImageManipulation())throw new Error("The current Integration does not have access to the Advanced Image Manipulation addon. Please call canUseAdvancedImageManipulation to ensure you disable this feature when appropriate.");const t=await this.getOriginalImage();if(!t)throw new Error("You must supply an image selection before attempting to remove the background.");const n=this.bundle.getGlobalPropertyStateManager(),i=await Ln.removeBackgroundFromAsset(t),s={...n.getAspectStorage(this.property.name),backgroundRemovedAssetKey:i.key,useOriginalAsset:!e},l=[e?n.setAspect(this.property.name,i.key,s):n.setAspectStorage(this.property.name,s)];return e&&(l.push(this.applyImageSelection(i,void 0,!1,!1)),l.push(this.loadImageData())),await Promise.all(l),this.updateSharedStepStorage(s),i}async vectorizeImage(e=!0){if(!await this.canUseAdvancedImageManipulation())throw new Error("The current Integration does not have access to the Advanced Image Manipulation addon. Please call canUseAdvancedImageManipulation to ensure you disable this feature when appropriate.");const t=await this.getOriginalImage();if(!t)throw new Error("You must supply an image selection before attempting to vectorize the image.");const n=this.bundle.getGlobalPropertyStateManager(),i=await Ln.vectorizeAsset(t),s={...n.getAspectStorage(this.property.name),vectorizedAssetKey:i.key,useOriginalAsset:!e},l=[e?n.setAspect(this.property.name,i.key,s):n.setAspectStorage(this.property.name,s)];return e&&(l.push(this.applyImageSelection(i,void 0,!1,!1)),l.push(this.loadImageData())),await Promise.all(l),this.updateSharedStepStorage(s),i}hasImage(){return!!this.getStateValue()}async getImage(){const e=this.getStateValue();if(e)return Ln.getLocalOrFromServer(e)}async getImageWithColors(){return await this.loadImageData(),this.imageData?.svg?Ug(zg(this.imageData.svg,this.imageData.colors??{},!1)):this.imageData?.src}async getOriginalImage(){const e=this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name);if(e?.originalAssetKey)return Ln.getLocalOrFromServer(e.originalAssetKey)}async getBackgroundRemovedImage(){const e=this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name);if(e?.backgroundRemovedAssetKey)return Ln.getLocalOrFromServer(e.backgroundRemovedAssetKey)}getUseOriginalImage(){return this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name)?.useOriginalAsset??!1}async setUseOriginalImage(e){const t=await this.getOriginalImage();if(!t)throw new Error("You must select an image before calling setUseOriginalImage");const n=this.bundle.getGlobalPropertyStateManager(),i=n.getAspectStorage(this.property.name);if(i?.useOriginalAsset===e)return;const a={...i,useOriginalAsset:e},s=e?i?.originalAssetKey:i?.backgroundRemovedAssetKey,o=[n.setAspect(this.property.name,s||"",a)];if(e)o.push(this.applyImageSelection(t,void 0,!1,!1));else{const l=async()=>{const u=await this.getBackgroundRemovedImage();if(!u)throw new Error("You must call removeBackgroundFromImage before attempting to use that version of the image.");this.applyImageSelection(u,void 0,!1,!1)};o.push(l())}o.push(this.loadImageData()),await Promise.all(o),this.updateSharedStepStorage(a)}async applyGlobalState(e){const t=this.getStateValue();if(!t)return;const n=await Ln.getLocalOrFromServer(t);if(!n)return;await this.applyImageSelection(n,e,!1,!0);const i=this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name);if(i){if(this.updateSharedStepStorage({...i}),i.colors){const a=new Map(i.colors.map(s=>[s.key,{browserValue:s.browserValue,pmsValue:s.pmsValue}])??[]);await Promise.all((await this.getSharedSteps(e)).map(async s=>{await s.changeColors(a)}))}}else this.updateSharedStepStorage({originalAssetKey:t}),await this.bundle.getGlobalPropertyStateManager().setAspectStorage(this.property.name,{originalAssetKey:t})}getAvailableColors(){return this.property.data?.fileUpload?.colorPickerEnabled?this.colorOption?.variants?.map(e=>({fill:e.color,stroke:e.color,variant:e,pmsValue:e.name}))??[]:[]}getCurrentColors(){return this.imageData?.colors}isColorPickerEnabled(){return this.property.data?.fileUpload?.colorPickerEnabled??!1}isPmsPickerEnabled(){return this.property.data?.fileUpload?.pmsPickerEnabled??!1}async getOriginalColors(){return this.imageData?.svg?(await Pa(this.imageData.svg)).colors:void 0}async changeColors(e){if(!this.imageData?.svg)return;const t=this.getSharedSteps(),n=new Map(Object.entries(e));await Promise.all((await t).map(async a=>{await a.changeColors(n)}));const i=this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name);await Promise.all([this.bundle.getGlobalPropertyStateManager().setAspectStorage(this.property.name,{...i,colors:Object.entries(e).map(([a,s])=>({key:a,browserValue:s.browserValue,pmsValue:s.pmsValue}))}),await this.loadImageData()])}async applyImageSelection(e,t,n=!0,i=!0){const s=(await this.getSharedSteps(t)).map(o=>{const l=o;if(l.getFrameService())return l.selectImage(e,n,i)});await Promise.all(s)}updateSharedStepStorage(e){this.bundle.getWorkflowExperiences().forEach(n=>n.getSteps().forEach(i=>{if(i.getOverrideGlobalPropertyConfiguration(this.property.type))return;i.getRaw().globalPropertyAspectConfigurations?.some(s=>s.globalPropertyConfigurationId===this.bundle.getGlobalPropertyConfiguration()?.id&&s.aspectName===this.property.name)&&n.getWorkflowManager().updateStorage(i.getId(),{framePatternData:{originalAssetKey:e.originalAssetKey,backgroundRemovedAssetKey:e.backgroundRemovedAssetKey,useOriginalAsset:e.useOriginalAsset}})}))}}class RI extends Jg{constructor(e,t){super(e,t)}isTemplatingEnabled(){return this.property.data?.text?.templatingEnabled||!1}getText(){const e=this.getStateValue();return e||""}async setText(e){await Promise.all([this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name,e,void 0,void 0),this.applyTextSelection(e)])}async applyGlobalState(e){const t=this.getStateValue();if(!t)return Promise.resolve();await this.applyTextSelection(t,e)}async applyTextSelection(e,t){const i=(await this.getSharedSteps(t)).map(a=>{a.setText(e)});await Promise.all(i)}}class _1 extends Jg{constructor(e,t,n){super(e,t),this.optionResource=n}async ensureOptionLoaded(){if(this.optionResource?.variants)return this.optionResource;if(!this.property.entityId)return this.optionResource;const e=await ct.getOption(this.property.entityId);return e&&(this.optionResource=e),this.optionResource}async initDefaultVariant(){await this.ensureOptionLoaded();const e=this.optionResource?.variants?.find(t=>t.id===this.optionResource?.defaultVariant?.id);e&&await this.selectVariant(new Fa(e))}getCurrentVariant(){if(!this.optionResource)return;const e=this.getStateValue();if(e){const t=this.optionResource.variants?.find(n=>n.id===e);return t?new Fa(t):void 0}else{const t=this.optionResource.variants?.find(n=>n.id===this.optionResource?.defaultVariant?.id);return t?new Fa(t):void 0}}async getAvailableVariants(){return await this.ensureOptionLoaded(),(this.optionResource?.variants?.filter(t=>t.enabled)||[]).map(t=>new Fa(t))}async getAllVariants(){return await this.ensureOptionLoaded(),(this.optionResource?.variants||[]).map(t=>new Fa(t))}async selectVariant(e,t){await this.applyVariantSelection(e),await this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name,e.getId(),void 0,t)}async applyGlobalState(e){const t=this.getStateValue();if(!t)return;await this.ensureOptionLoaded();const n=this.optionResource?.variants?.find(i=>i.id===t);if(n)return this.applyVariantSelection(new Fa(n),e)}async applyVariantSelection(e,t){const i=(await this.getSharedSteps(t)).map(a=>a.selectVariant(e));await Promise.all(i)}}class pA extends _1{constructor(e,t,n){super(e,t,n)}async selectVariant(e,t){await this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name,e.getId(),void 0,t),await this.applyColorVariant(e,void 0,t)}async applyGlobalState(e){const t=this.getStateValue();if(!t)return;await this.ensureOptionLoaded();const n=this.optionResource?.variants?.find(a=>a.id===t);if(!n)return;await this.applyColorVariant(new Fa(n),e);const i=this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name)?.customColor;i&&await this.setCustomColor(i)}async applyColorVariant(e,t,n){const a=(await this.getSharedSteps(t)).map(s=>{switch(s.getType()){case Xe.Shape:return s.selectVariant(e);case Xe.Text:return s.setFillColor({fill:e.getColor(),stroke:e.getColor(),variant:e.getResource()});case Xe.Illustration:return s.setColor(n?.toString()||"",e.getColor()||"")}});await Promise.all(a)}async setCustomColor(e){const t=this.getCurrentVariant()?.getColor();t&&t.toLowerCase()==="#custom"&&(await this.getSharedSteps()).forEach(i=>i.setCustomColor(e)),this.bundle.getGlobalPropertyStateManager().setAspectStorage(this.property.name,{customColor:e})}getCustomColor(){return this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name)?.customColor||this.getCurrentVariant()?.getColor()||"#ffffff"}}const eV=(r,e,t)=>{const n=r.getWorkflowExperiences(),i=r.getGlobalPropertyConfiguration();return i?n.flatMap(s=>s.getSteps()).filter(s=>s.getGlobalPropertyAspects(i.id).includes(e)&&s.getType()===t):[]},OI=(r,e)=>{const n=eV(r,e,Xe.Illustration).map(i=>{if(!i.getCurrentVariant()?.getAssetResource()?.assetConfiguration)return 0;const s=i.getColors();return s?Object.getOwnPropertyNames(s).length:0});return Math.max(...n)};var Ud={exports:{}};Ud.exports;var DE;function tV(){return DE||(DE=1,(function(r,e){var t=200,n="Expected a function",i="__lodash_hash_undefined__",a=500,s=1,o=2,l=4,u=800,c=16,f=9007199254740991,d="[object Arguments]",h="[object Array]",g="[object AsyncFunction]",v="[object Boolean]",y="[object Date]",A="[object Error]",C="[object Function]",S="[object GeneratorFunction]",F="[object Map]",E="[object Number]",R="[object Null]",B="[object Object]",G="[object Promise]",j="[object Proxy]",ie="[object RegExp]",q="[object Set]",Y="[object String]",J="[object Symbol]",ae="[object Undefined]",oe="[object WeakMap]",he="[object ArrayBuffer]",ye="[object DataView]",Ue="[object Float32Array]",Re="[object Float64Array]",Oe="[object Int8Array]",ee="[object Int16Array]",re="[object Int32Array]",fe="[object Uint8Array]",Be="[object Uint8ClampedArray]",ke="[object Uint16Array]",$e="[object Uint32Array]",Ge=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qe=/^\w*$/,je=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,wt=/[\\^$.*+?()[\]{}|]/g,rr=/\\(\\)?/g,Dr=/\w*$/,jt=/^\[object .+?Constructor\]$/,ar=/^(?:0|[1-9]\d*)$/,St={};St[Ue]=St[Re]=St[Oe]=St[ee]=St[re]=St[fe]=St[Be]=St[ke]=St[$e]=!0,St[d]=St[h]=St[he]=St[v]=St[ye]=St[y]=St[A]=St[C]=St[F]=St[E]=St[B]=St[ie]=St[q]=St[Y]=St[oe]=!1;var st={};st[d]=st[h]=st[he]=st[ye]=st[v]=st[y]=st[Ue]=st[Re]=st[Oe]=st[ee]=st[re]=st[F]=st[E]=st[B]=st[ie]=st[q]=st[Y]=st[J]=st[fe]=st[Be]=st[ke]=st[$e]=!0,st[A]=st[C]=st[oe]=!1;var Qr=typeof di=="object"&&di&&di.Object===Object&&di,Sr=typeof self=="object"&&self&&self.Object===Object&&self,gr=Qr||Sr||Function("return this")(),nr=e&&!e.nodeType&&e,dr=nr&&!0&&r&&!r.nodeType&&r,Yt=dr&&dr.exports===nr,Xt=Yt&&Qr.process,mt=(function(){try{var L=dr&&dr.require&&dr.require("util").types;return L||Xt&&Xt.binding&&Xt.binding("util")}catch{}})(),Cr=mt&&mt.isMap,sn=mt&&mt.isSet,_r=mt&&mt.isTypedArray;function ir(L,te,le){switch(le.length){case 0:return L.call(te);case 1:return L.call(te,le[0]);case 2:return L.call(te,le[0],le[1]);case 3:return L.call(te,le[0],le[1],le[2])}return L.apply(te,le)}function Yr(L,te){for(var le=-1,Ve=L==null?0:L.length;++le<Ve&&te(L[le],le,L)!==!1;);return L}function kr(L,te){for(var le=-1,Ve=L==null?0:L.length,pt=0,_t=[];++le<Ve;){var Wr=L[le];te(Wr,le,L)&&(_t[pt++]=Wr)}return _t}function Zr(L,te){for(var le=-1,Ve=L==null?0:L.length,pt=Array(Ve);++le<Ve;)pt[le]=te(L[le],le,L);return pt}function Vr(L,te){for(var le=-1,Ve=te.length,pt=L.length;++le<Ve;)L[pt+le]=te[le];return L}function pn(L,te){for(var le=-1,Ve=Array(L);++le<L;)Ve[le]=te(le);return Ve}function gn(L){return function(te){return L(te)}}function Tr(L,te){return L?.[te]}function zr(L,te){return function(le){return L(te(le))}}var en=Array.prototype,$r=Function.prototype,zt=Object.prototype,sr=gr["__core-js_shared__"],Er=$r.toString,tt=zt.hasOwnProperty,Nr=(function(){var L=/[^.]+$/.exec(sr&&sr.keys&&sr.keys.IE_PROTO||"");return L?"Symbol(src)_1."+L:""})(),Xr=zt.toString,Ee=Er.call(Object),D=RegExp("^"+Er.call(tt).replace(wt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),U=Yt?gr.Buffer:void 0,X=gr.Symbol,ue=gr.Uint8Array;U&&U.allocUnsafe;var Fe=zr(Object.getPrototypeOf,Object),We=zt.propertyIsEnumerable,bt=en.splice,Dt=X?X.isConcatSpreadable:void 0,Nt=X?X.toStringTag:void 0,or=(function(){try{var L=Ut(Object,"defineProperty");return L({},"",{}),L}catch{}})(),Lt=Object.getOwnPropertySymbols,K=U?U.isBuffer:void 0,Ie=Math.max,Qe=Date.now,Ye=Ut(gr,"DataView"),xt=Ut(gr,"Map"),ft=Ut(gr,"Promise"),Rt=Ut(gr,"Set"),Et=Ut(gr,"WeakMap"),hr=Ut(Object,"create"),tr=hi(Ye),fr=hi(xt),$t=hi(ft),Bn=hi(Rt),Pn=hi(Et),mr=X?X.prototype:void 0,xr=mr?mr.valueOf:void 0,bn=mr?mr.toString:void 0;function Rr(L){var te=-1,le=L==null?0:L.length;for(this.clear();++te<le;){var Ve=L[te];this.set(Ve[0],Ve[1])}}function jn(){this.__data__=hr?hr(null):{},this.size=0}function Cn(L){var te=this.has(L)&&delete this.__data__[L];return this.size-=te?1:0,te}function Hr(L){var te=this.__data__;if(hr){var le=te[L];return le===i?void 0:le}return tt.call(te,L)?te[L]:void 0}function xn(L){var te=this.__data__;return hr?te[L]!==void 0:tt.call(te,L)}function cn(L,te){var le=this.__data__;return this.size+=this.has(L)?0:1,le[L]=hr&&te===void 0?i:te,this}Rr.prototype.clear=jn,Rr.prototype.delete=Cn,Rr.prototype.get=Hr,Rr.prototype.has=xn,Rr.prototype.set=cn;function tn(L){var te=-1,le=L==null?0:L.length;for(this.clear();++te<le;){var Ve=L[te];this.set(Ve[0],Ve[1])}}function Jn(){this.__data__=[],this.size=0}function si(L){var te=this.__data__,le=Jt(te,L);if(le<0)return!1;var Ve=te.length-1;return le==Ve?te.pop():bt.call(te,le,1),--this.size,!0}function Sn(L){var te=this.__data__,le=Jt(te,L);return le<0?void 0:te[le][1]}function mn(L){return Jt(this.__data__,L)>-1}function on(L,te){var le=this.__data__,Ve=Jt(le,L);return Ve<0?(++this.size,le.push([L,te])):le[Ve][1]=te,this}tn.prototype.clear=Jn,tn.prototype.delete=si,tn.prototype.get=Sn,tn.prototype.has=mn,tn.prototype.set=on;function rn(L){var te=-1,le=L==null?0:L.length;for(this.clear();++te<le;){var Ve=L[te];this.set(Ve[0],Ve[1])}}function Lr(){this.size=0,this.__data__={hash:new Rr,map:new(xt||tn),string:new Rr}}function ln(L){var te=Ht(this,L).delete(L);return this.size-=te?1:0,te}function k(L){return Ht(this,L).get(L)}function O(L){return Ht(this,L).has(L)}function z(L,te){var le=Ht(this,L),Ve=le.size;return le.set(L,te),this.size+=le.size==Ve?0:1,this}rn.prototype.clear=Lr,rn.prototype.delete=ln,rn.prototype.get=k,rn.prototype.has=O,rn.prototype.set=z;function W(L){var te=this.__data__=new tn(L);this.size=te.size}function pe(){this.__data__=new tn,this.size=0}function ce(L){var te=this.__data__,le=te.delete(L);return this.size=te.size,le}function xe(L){return this.__data__.get(L)}function _e(L){return this.__data__.has(L)}function rt(L,te){var le=this.__data__;if(le instanceof tn){var Ve=le.__data__;if(!xt||Ve.length<t-1)return Ve.push([L,te]),this.size=++le.size,this;le=this.__data__=new rn(Ve)}return le.set(L,te),this.size=le.size,this}W.prototype.clear=pe,W.prototype.delete=ce,W.prototype.get=xe,W.prototype.has=_e,W.prototype.set=rt;function ut(L,te){var le=Ti(L),Ve=!le&&ds(L),pt=!le&&!Ve&&fs(L),_t=!le&&!Ve&&!pt&&Ae(L),Wr=le||Ve||pt||_t,$n=Wr?pn(L.length,String):[],oi=$n.length;for(var zi in L)Wr&&(zi=="length"||pt&&(zi=="offset"||zi=="parent")||_t&&(zi=="buffer"||zi=="byteLength"||zi=="byteOffset")||Je(zi,oi))||$n.push(zi);return $n}function nt(L,te,le){var Ve=L[te];(!(tt.call(L,te)&&cs(Ve,le))||le===void 0&&!(te in L))&&vr(L,te,le)}function Jt(L,te){for(var le=L.length;le--;)if(cs(L[le][0],te))return le;return-1}function vr(L,te,le){te=="__proto__"&&or?or(L,te,{configurable:!0,enumerable:!0,value:le,writable:!0}):L[te]=le}function Gr(L,te,le,Ve,pt,_t){var Wr;if(le&&(Wr=pt?le(L,Ve,pt,_t):le(L)),Wr!==void 0)return Wr;if(!la(L))return L;var $n=Ti(L);if($n)Wr=we(L);else{var oi=de(L),zi=oi==C||oi==S;if(fs(L))return Zn(L);if(oi==B||oi==d||zi&&!pt)Wr={};else{if(!st[oi])return pt?L:{};Wr=Me(L,oi)}}_t||(_t=new W);var _l=_t.get(L);if(_l)return _l;_t.set(L,Wr),V(L)?L.forEach(function(ua){Wr.add(Gr(ua,te,le,ua,L,_t))}):T(L)&&L.forEach(function(ua,va){Wr.set(va,Gr(ua,te,le,va,L,_t))});var Nl=lt,_o=$n?void 0:Nl(L);return Yr(_o||L,function(ua,va){_o&&(va=ua,ua=L[va]),nt(Wr,va,Gr(ua,te,le,va,L,_t))}),Wr}function dn(L,te,le,Ve,pt){var _t=-1,Wr=L.length;for(le||(le=Ke),pt||(pt=[]);++_t<Wr;){var $n=L[_t];le($n)?Vr(pt,$n):pt[pt.length]=$n}return pt}function Kn(L,te){te=En(te,L);for(var le=0,Ve=te.length;L!=null&&le<Ve;)L=L[Yi(te[le++])];return le&&le==Ve?L:void 0}function Vn(L,te,le){var Ve=te(L);return Ti(L)?Ve:Vr(Ve,le(L))}function vn(L){return L==null?L===void 0?ae:R:Nt&&Nt in Object(L)?Br(L):jr(L)}function Or(L){return Vi(L)&&vn(L)==d}function qn(L){return Vi(L)&&de(L)==F}function Mn(L){if(!la(L)||pr(L))return!1;var te=hs(L)?D:jt;return te.test(hi(L))}function _n(L){return Vi(L)&&de(L)==q}function Ri(L){return Vi(L)&&ps(L.length)&&!!St[vn(L)]}function wi(L){if(!la(L))return Fr(L);var te=yr(L),le=[];for(var Ve in L)Ve=="constructor"&&(te||!tt.call(L,Ve))||le.push(Ve);return le}var bi=or?function(L,te){return or(L,"toString",{configurable:!0,enumerable:!1,value:Bt(te),writable:!0})}:Kt;function Nn(L,te,le){var Ve=-1,pt=L.length;te<0&&(te=-te>pt?0:pt+te),le=le>pt?pt:le,le<0&&(le+=pt),pt=te>le?0:le-te>>>0,te>>>=0;for(var _t=Array(pt);++Ve<pt;)_t[Ve]=L[Ve+te];return _t}function ki(L){if(typeof L=="string")return L;if(Ti(L))return Zr(L,ki)+"";if(Q(L))return bn?bn.call(L):"";var te=L+"";return te=="0"&&1/L==-1/0?"-0":te}function zn(L,te){te=En(te,L);var le=-1,Ve=te.length;if(!Ve)return!0;for(;++le<Ve;){var pt=Yi(te[le]);if(pt==="__proto__"&&!tt.call(L,"__proto__")||(pt==="constructor"||pt==="prototype")&&le<Ve-1)return!1}var _t=Wi(L,te);return _t==null||delete _t[Yi(Va(te))]}function En(L,te){return Ti(L)?L:yt(L,te)?[L]:Wn(ve(L))}function Zn(L,te){return L.slice()}function lr(L){var te=new L.constructor(L.byteLength);return new ue(te).set(new ue(L)),te}function Dn(L,te){var le=lr(L.buffer);return new L.constructor(le,L.byteOffset,L.byteLength)}function Ci(L){var te=new L.constructor(L.source,Dr.exec(L));return te.lastIndex=L.lastIndex,te}function I(L){return xr?Object(xr.call(L)):{}}function $(L,te){var le=lr(L.buffer);return new L.constructor(le,L.byteOffset,L.length)}function se(L,te,le,Ve){var pt=!le;le||(le={});for(var _t=-1,Wr=te.length;++_t<Wr;){var $n=te[_t],oi=void 0;oi===void 0&&(oi=L[$n]),pt?vr(le,$n,oi):nt(le,$n,oi)}return le}function Ce(L){return _(L)?void 0:L}function ht(L){return sa(yn(L,void 0,Ua),L+"")}function lt(L){return Vn(L,Te,Z)}function Ht(L,te){var le=L.__data__;return Ot(te)?le[typeof te=="string"?"string":"hash"]:le.map}function Ut(L,te){var le=Tr(L,te);return Mn(le)?le:void 0}function Br(L){var te=tt.call(L,Nt),le=L[Nt];try{L[Nt]=void 0;var Ve=!0}catch{}var pt=Xr.call(L);return Ve&&(te?L[Nt]=le:delete L[Nt]),pt}var M=Lt?function(L){return L==null?[]:(L=Object(L),kr(Lt(L),function(te){return We.call(L,te)}))}:qt,Z=Lt?function(L){for(var te=[];L;)Vr(te,M(L)),L=Fe(L);return te}:qt,de=vn;(Ye&&de(new Ye(new ArrayBuffer(1)))!=ye||xt&&de(new xt)!=F||ft&&de(ft.resolve())!=G||Rt&&de(new Rt)!=q||Et&&de(new Et)!=oe)&&(de=function(L){var te=vn(L),le=te==B?L.constructor:void 0,Ve=le?hi(le):"";if(Ve)switch(Ve){case tr:return ye;case fr:return F;case $t:return G;case Bn:return q;case Pn:return oe}return te});function we(L){var te=L.length,le=new L.constructor(te);return te&&typeof L[0]=="string"&&tt.call(L,"index")&&(le.index=L.index,le.input=L.input),le}function Me(L,te,le){var Ve=L.constructor;switch(te){case he:return lr(L);case v:case y:return new Ve(+L);case ye:return Dn(L);case Ue:case Re:case Oe:case ee:case re:case fe:case Be:case ke:case $e:return $(L);case F:return new Ve;case E:case Y:return new Ve(L);case ie:return Ci(L);case q:return new Ve;case J:return I(L)}}function Ke(L){return Ti(L)||ds(L)||!!(Dt&&L&&L[Dt])}function Je(L,te){var le=typeof L;return te=te??f,!!te&&(le=="number"||le!="symbol"&&ar.test(L))&&L>-1&&L%1==0&&L<te}function yt(L,te){if(Ti(L))return!1;var le=typeof L;return le=="number"||le=="symbol"||le=="boolean"||L==null||Q(L)?!0:qe.test(L)||!Ge.test(L)||te!=null&&L in Object(te)}function Ot(L){var te=typeof L;return te=="string"||te=="number"||te=="symbol"||te=="boolean"?L!=="__proto__":L===null}function pr(L){return!!Nr&&Nr in L}function yr(L){var te=L&&L.constructor,le=typeof te=="function"&&te.prototype||zt;return L===le}function ur(L){var te=oa(L,function(Ve){return le.size===a&&le.clear(),Ve}),le=te.cache;return te}function Fr(L){var te=[];if(L!=null)for(var le in Object(L))te.push(le);return te}function jr(L){return Xr.call(L)}function yn(L,te,le){return te=Ie(te===void 0?L.length-1:te,0),function(){for(var Ve=arguments,pt=-1,_t=Ie(Ve.length-te,0),Wr=Array(_t);++pt<_t;)Wr[pt]=Ve[te+pt];pt=-1;for(var $n=Array(te+1);++pt<te;)$n[pt]=Ve[pt];return $n[te]=le(Wr),ir(L,this,$n)}}function Wi(L,te){return te.length<2?L:Kn(L,Nn(te,0,-1))}var sa=Qi(bi);function Qi(L){var te=0,le=0;return function(){var Ve=Qe(),pt=c-(Ve-le);if(le=Ve,pt>0){if(++te>=u)return arguments[0]}else te=0;return L.apply(void 0,arguments)}}var Wn=ur(function(L){var te=[];return L.charCodeAt(0)===46&&te.push(""),L.replace(je,function(le,Ve,pt,_t){te.push(pt?_t.replace(rr,"$1"):Ve||le)}),te});function Yi(L){if(typeof L=="string"||Q(L))return L;var te=L+"";return te=="0"&&1/L==-1/0?"-0":te}function hi(L){if(L!=null){try{return Er.call(L)}catch{}try{return L+""}catch{}}return""}function Ua(L){var te=L==null?0:L.length;return te?dn(L):[]}function Va(L){var te=L==null?0:L.length;return te?L[te-1]:void 0}function oa(L,te){if(typeof L!="function"||te!=null&&typeof te!="function")throw new TypeError(n);var le=function(){var Ve=arguments,pt=te?te.apply(this,Ve):Ve[0],_t=le.cache;if(_t.has(pt))return _t.get(pt);var Wr=L.apply(this,Ve);return le.cache=_t.set(pt,Wr)||_t,Wr};return le.cache=new(oa.Cache||rn),le}oa.Cache=rn;function cs(L,te){return L===te||L!==L&&te!==te}var ds=Or((function(){return arguments})())?Or:function(L){return Vi(L)&&tt.call(L,"callee")&&!We.call(L,"callee")},Ti=Array.isArray;function za(L){return L!=null&&ps(L.length)&&!hs(L)}var fs=K||qr;function hs(L){if(!la(L))return!1;var te=vn(L);return te==C||te==S||te==g||te==j}function ps(L){return typeof L=="number"&&L>-1&&L%1==0&&L<=f}function la(L){var te=typeof L;return L!=null&&(te=="object"||te=="function")}function Vi(L){return L!=null&&typeof L=="object"}var T=Cr?gn(Cr):qn;function _(L){if(!Vi(L)||vn(L)!=B)return!1;var te=Fe(L);if(te===null)return!0;var le=tt.call(te,"constructor")&&te.constructor;return typeof le=="function"&&le instanceof le&&Er.call(le)==Ee}var V=sn?gn(sn):_n;function Q(L){return typeof L=="symbol"||Vi(L)&&vn(L)==J}var Ae=_r?gn(_r):Ri;function ve(L){return L==null?"":ki(L)}function Te(L){return za(L)?ut(L):wi(L)}var He=ht(function(L,te){var le={};if(L==null)return le;var Ve=!1;te=Zr(te,function(_t){return _t=En(_t,L),Ve||(Ve=_t.length>1),_t}),se(L,lt(L),le),Ve&&(le=Gr(le,s|o|l,Ce));for(var pt=te.length;pt--;)zn(le,te[pt]);return le});function Bt(L){return function(){return L}}function Kt(L){return L}function qt(){return[]}function qr(){return!1}r.exports=He})(Ud,Ud.exports)),Ud.exports}var rV=tV();const nV=Ns(rV);function gA(r,e){function t(n){if(typeof n>"u"||!Array.isArray(n)&&!aV(n))return n;if(Array.isArray(n))return gA(n,e);let i={};for(const[a,s]of Object.entries(n))i[a]=iV(s)?s:gA(s,e);return nV(i,e)}return Array.isArray(r)?r.map(t):t(r)}function iV(r){return r==null}function aV(r){return typeof r=="object"&&!Array.isArray(r)&&r!==null}function RE(r,e){return r==null&&e==null?!0:r===e}function BI(r){const e=new Map;return r?.aspects?.forEach(t=>{t.value!==""&&e.set(t.name,!0)}),e}class sV extends Gg{constructor(e){super(),this.update=e}async execute(){await this.update(),await new Promise(e=>{window.setTimeout(()=>{e()},1e3)})}}function Ov(r){return gA(r,["__typename"])}class oV{constructor(e,t,n,i,a){this.stateUpdateQueue=new jg(1),this.mandatoryFulfilledAspects=new Map,this.bundleId=e,this.bundleOwnerId=t,this.configuration=n,this.bundleOptions=a;const s=a?.existingGlobalPropertyState;this.initPromise=s?Promise.resolve(s).then(()=>{console.log("Setting global property state to existing state."),this.globalPropertyState=Ov(s),this.recalculateMandatoryStates()}):this.createGlobalPropertyState().then(o=>{console.log("Setting global property state to new state."),this.globalPropertyState=Ov(o),this.recalculateMandatoryStates()}),this.onGlobalPropertyStateChange=i}async clearAspects(e){if(!this.globalPropertyState)throw new Error("Global property state not initialized");const t=this.globalPropertyState.aspects;this.globalPropertyState.aspects=t.filter(n=>!e.includes(n.name))}recalculateMandatoryStates(){this.mandatoryFulfilledAspects=BI(this.globalPropertyState)}setBundleOptions(e){this.bundleOptions=e}getBundleOptions(){return this.bundleOptions}setConfiguration(e){this.configuration=e}getInitializationPromise(){return this.initPromise}getGlobalPropertyState(){return this.globalPropertyState}async setGlobalPropertyState(e){this.globalPropertyState||await this.initPromise;const t=mo(this.globalPropertyState);this.globalPropertyState={...Ov(e),id:t.id},this.recalculateMandatoryStates(),this.queueGlobalPropertyStateUpdate(),await this.onGlobalPropertyStateChange(t,this.globalPropertyState)}getAspectMandatoryFulfilled(e){return this.mandatoryFulfilledAspects.get(e)}getAspectHidden(e){if(!this.globalPropertyState)throw new Error("Global property state not initialized");return!!this.globalPropertyState.aspects.find(t=>t.name===e)?.hidden}getAspect(e,t){if(!this.globalPropertyState)throw new Error("Global property state not initialized");const n=this.globalPropertyState.aspects.find(i=>i.name===e&&RE(i.channel,t));if(n)return n.value}getAspectStorage(e,t){if(!this.globalPropertyState)throw new Error("Global property state not initialized");return this.globalPropertyState.aspects.find(n=>n.name===e&&RE(n.channel,t))?.storage}async setAspect(e,t,n,i,a){if(!this.globalPropertyState)throw new Error("Global property state not initialized");if(!this.configuration)throw new Error("Global property configuration not linked to the state manager.");const s=this.configuration.aspects.find(u=>u.name===e);if(!s)throw new Error(`Failed to find configuration aspect with name: ${e}`);this.mandatoryFulfilledAspects.set(e,t!=="");const o=mo(this.globalPropertyState),l=this.globalPropertyState.aspects.filter(u=>u.name===e);if(l.length>0)if(i){const u=l.find(c=>c.channel===i);if(u)u.value=t,u.type=s.type,u.channel=i,u.hidden=a??u.hidden,n!==void 0&&(u.storage=n!==null?n:void 0);else{let c;if(i===1){const f=this.globalPropertyState.aspects.findIndex(d=>!d.channel&&d.name===e);f&&f>0&&(c=this.globalPropertyState.aspects.splice(f,1)[0].hidden)}this.globalPropertyState.aspects.push({name:e,value:t,type:s.type,storage:n!==null?n:void 0,channel:i,hidden:a??c})}}else{const u=l[0];u.value=t,u.type=s.type,u.hidden=a??u.hidden,n!==void 0&&(u.storage=n!==null?n:void 0)}else this.globalPropertyState.aspects.push({name:e,value:t,type:s.type,storage:n!==null?n:void 0,channel:i,hidden:a});vf(o,this.globalPropertyState)||(this.queueGlobalPropertyStateUpdate(),await this.onGlobalPropertyStateChange(o,this.globalPropertyState))}async setAspectStorage(e,t,n){if(!this.globalPropertyState)throw new Error("Global property state not initialized");if(!this.configuration)throw new Error("Global property configuration not linked to the state manager.");const i=this.configuration.aspects.find(o=>o.name===e);if(!i)throw new Error(`Failed to find configuration aspect with name: ${e}`);const a=mo(this.globalPropertyState),s=this.globalPropertyState.aspects.filter(o=>o.name===e);if(s.length>0)if(n){const o=s.find(l=>l.channel===n);o&&(o.storage=t!==null?t:void 0,o.type=i.type)}else{const o=s[0];o.storage=t!==null?t:void 0,o.type=i.type}else this.globalPropertyState.aspects.push({name:e,value:"",type:i.type,storage:t!==null?t:void 0,channel:n});vf(a,this.globalPropertyState)||(this.queueGlobalPropertyStateUpdate(),await this.onGlobalPropertyStateChange(a,this.globalPropertyState))}queueGlobalPropertyStateUpdate(){this.stateUpdateQueue.enqueue(new sV(async()=>{await this.updateGlobalPropertyState()}))}async updateGlobalPropertyState(){if(!this.globalPropertyState)throw new Error("Global property state not initialized");if(!(await ze.getShadowGraphqlClient().mutate({mutation:XU,variables:{id:this.globalPropertyState.id,aspects:this.globalPropertyState.aspects.map(t=>{let n=t.type&&t.storage?{}:void 0;if(n)switch(t.type){case Hn.FileUpload:{n.fileUpload=t.storage;break}case Hn.ColorOption:case Hn.Option:{n.option=t.storage;break}}return{name:t.name,value:t.value,type:t.type,storage:n,channel:t.channel,hidden:t.hidden}})},context:{headers:{bundleOwnerId:this.bundleOwnerId,...this.bundleOptions?.additionalHeaders}}})).data?.globalPropertyStateUpdate)throw new Error("Unable to update global property state")}async createGlobalPropertyState(){const e=await ze.getShadowGraphqlClient().mutate({mutation:YU,variables:{bundleId:this.bundleId},context:{headers:{bundleOwnerId:this.bundleOwnerId,...this.bundleOptions?.additionalHeaders}}});if(e.data?.globalPropertyStateCreate&&e.data.globalPropertyStateCreate.id)return e.data.globalPropertyStateCreate;throw new Error(`Unable to create global property state for bundle: ${this.bundleId}`)}}class lV{constructor(e){this.setState(e||'{"transactions": []}')}setState(e){e&&(this.state=JSON.parse(e))}getState(){return this.state}removeStateForTransaction(e){if(!this.state||!this.state.transactions)return;const t=this.state.transactions.findIndex(n=>n.transactionId===e);t!==-1&&this.state.transactions.splice(t,1)}getSerializedState(){if(this.state)return this.deleteFieldNameFromObjectRecursive(this.state,"__typename"),JSON.stringify(this.state)}deleteFieldNameFromObjectRecursive(e,t){if(!(typeof e!="object"||e===null))for(const n in e)n===t?delete e[n]:this.deleteFieldNameFromObjectRecursive(e[n],t)}}const uV=Se`
|
|
2834
|
+
`;var yg=(r=>(r.PriceBreakChanged="PriceBreakChanged",r.ProductChanged="ProductChanged",r.QuantityChanged="QuantityChanged",r.RecipientChanged="RecipientChanged",r.SelectionChanged="SelectionChanged",r.WorkflowConfigurationChanged="WorkflowConfigurationChanged",r))(yg||{});class M1{constructor(e,t){this.cachedStepHandles=new Map,this.profanityList=[],this.currentPriceBreak=1,this.renderableScenes=[],this.renderableSceneCallbacks=[],this.eventCallbacks=new Map,this.debouncedSavedDesignUpdate=PI(async()=>{await Qp.getSavedDesignByTransaction(this.getTransaction().id)&&this.save()},2500),this.getCanvasObjectURLAsync=async n=>new Promise((i,a)=>{try{n.toBlob(s=>{if(s){const o=URL.createObjectURL(s);i(o)}})}catch(s){a(s)}}),this.client=e,this.transaction=t.transaction,this.workflow=t.workflow,this.profanityList=this.transaction.product?.profanities?.map(n=>n.word)||[],this.isReadOnly=t.transaction.isOrdered||!!t.readOnly,this.graphQlClient=t.graphQlClient,this.workflowManager=new fA(this,e,n=>{try{this.debouncedSavedDesignUpdate()}catch{console.error("Failed to update saved design details.")}return t.stateMutationFunc(n)},t.graphQlClient,t.reloadedState,t.readOnly,t.modelContainer,t.isReloadedTransaction,t.singleVariantsRenderable,t.delayWorkflowStateSync),this.workflowManager.addSelectionCallback(n=>{const i=n.traversableScenes.map(a=>{const s=a.renderableSteps.map(o=>o.stepName);return{id:a.name,title:a.title,renderableSteps:s,workflowScene:a}});this.renderableScenes=i,this.renderableSceneCallbacks.forEach(a=>a(i)),this.callEvent("SelectionChanged")}),this.currentPriceBreak=this.priceBreakToBeApplied()}getTransaction(){return this.transaction}getProduct(){return this.transaction.product}getProfanityList(){return this.profanityList}async setProduct(e){this.workflow=void 0;const t=await this.graphQlClient().mutate({mutation:PE,variables:{id:this.getTransaction().id,integrationProductId:e}}),n=t.data?.transactionUpdateIntegrationProduct.product;if(!n)throw new nn("Failed to set product. No product returned from server.");if(!this.bundle)throw new nn("Cannot set product on experience that is not part of a bundle.");this.transaction.product={...this.transaction.product,...t.data?.transactionUpdateIntegrationProduct.product},this.transaction.integrationProduct={...this.transaction.integrationProduct,...t.data?.transactionUpdateIntegrationProduct.integrationProduct},this.transaction.workflowState=void 0,this.currentPriceBreak=this.priceBreakToBeApplied(),this.callEvent("ProductChanged");const i=(await this.bundle.getProductCollection().fetchProducts()).find(a=>a.getId()===n.id);try{const a=i?.getDefaultWorkflow();if(a){const s=await UP(a.getId());await this.setWorkflow(s),console.log("Setting Product - Workflow set to default for product.")}}catch{console.log("Setting Product - No default workflow available, must be set manually.")}}async clearProduct(){if(!this.bundle)throw new nn("Cannot clear product on experience that is not part of a bundle.");this.workflow=void 0,this.transaction.workflowState=void 0,this.transaction.product=void 0,this.transaction.integrationProduct=void 0,this.currentPriceBreak=this.priceBreakToBeApplied(),this.callEvent("ProductChanged"),await this.graphQlClient().mutate({mutation:PE,variables:{id:this.getTransaction().id}})}getWorkflow(){return this.workflow}async setWorkflow(e){return this.workflow=e,await this.graphQlClient().mutate({mutation:M3,variables:{id:this.getTransaction().id,workflowId:e.id}}),this.workflowManager.setWorkflow(e)}async updateWorkflowConfiguration(e){if(!this.workflow)throw new Error("No workflow set");e.steps&&this.cachedStepHandles.clear();const t=this.applyWorkflowChanges(this.workflow,e);this.workflow=t,await this.workflowManager.updateWorkflowConfiguration(e),this.callEvent("WorkflowConfigurationChanged")}applyWorkflowChanges(e,t){let n={...e};if(t.panels){let i=[...e.panels];if(t.panels.removed&&(i=i.filter(a=>!t.panels.removed.includes(a.name))),t.panels.changed)for(const a of t.panels.changed){const s=i.findIndex(o=>o.name===a.name);s>=0&&(i[s]=a)}if(t.panels.added)for(const{item:a,index:s}of t.panels.added)i.splice(s,0,a);n.panels=i}if(t.steps){let i=[...e.steps];if(t.steps.removed&&(i=i.filter(a=>!t.steps.removed.includes(a.stepName))),t.steps.changed)for(const a of t.steps.changed){const s=i.findIndex(o=>o.stepName===a.stepName);s>=0&&(i[s]=a)}if(t.steps.added)for(const{item:a,index:s}of t.steps.added)i.splice(s,0,a);n.steps=i}if(t.stepGroups){let i=[...e.stepGroups];if(t.stepGroups.removed&&(i=i.filter(a=>a.id&&!t.stepGroups.removed.includes(a.id))),t.stepGroups.changed)for(const a of t.stepGroups.changed){const s=a.id||a.name,o=i.findIndex(l=>l.id===s);o>=0&&(i[o]=a)}if(t.stepGroups.added)for(const{item:a,index:s}of t.stepGroups.added)i.splice(s,0,a);n.stepGroups=i}return n}async attachAddress(e,t,n,i,a,s){await this.graphQlClient().mutate({mutation:Y9,variables:{transactionId:this.getTransaction().id,streetAddress:e||void 0,apartment:t||void 0,city:n||void 0,country:i||void 0,state:a||void 0,postCode:s||void 0}})}async attachOrganization(e){await this.graphQlClient().mutate({mutation:X9,variables:{transactionId:this.getTransaction().id,organizationName:e}})}getBundle(){return this.bundle}setBundle(e){this.bundle=e}getClient(){return this.client}getIsReadOnly(){return this.isReadOnly}getCommandContext(){return this.workflowManager.getCommandContext()}getWorkflowManager(){return this.workflowManager}async createPreviewImage(e,t){const n=this.getWorkflow(),i=n?.finalizeStepConfig?.lookAtAnimation;if(!n)throw new Error("Failed to generate cart preview image! No workflow is set.");if(e){if(!i)throw new Error("Failed to generate cart preview image! No camera orientation configured.");return await this.workflowManager.getPreviewService()?.renderSceneScreenshot(t??512,i)||""}let a=2048;t&&t<=2048&&(a=t);const s=Eo(a,a),o=this.workflowManager.getCommandContext().getAllLayouts(),l=n.defaultPreviewPanelIndex||0,u=n.panels[l],c=o.find(S=>S.layoutState?.layout.panelId===u?.name)||o[0],f=c.layoutState.layout.previewRegion?{x:c.layoutState.layout.previewRegion.left,y:c.layoutState.layout.previewRegion.top,width:c.layoutState.layout.previewRegion.width,height:c.layoutState.layout.previewRegion.height}:{x:0,y:0,width:c.layoutState.layout.width,height:c.layoutState.layout.height},d=this.workflowManager.getCommandContext().getLayoutById(c.layoutState.layout.id),h=s.getContext("2d");if(!h)throw new _g("Failed to obtain 2D context for preview image creation");const g=this.workflowManager.getTemplatingContext(),v=Qg(d.layoutState.layout,d.layoutState.elements,{renderingConfiguration:{purpose:Ku.Print,region:{left:f.x,top:f.y,width:f.width,height:f.height},templatingContext:g}}),y=Qk(v);await(await uo.from(h,y,{anonymousCrossOrigin:!0,ignoreDimensions:!1,createCanvas:Eo,createImage:Mf,DOMParser:YA(),fetch})).render();const C=await this.getCanvasObjectURLAsync(s);return s.toDataURL(C)}getStepById(e){const t=this.getWorkflow()?.steps.find(a=>a.stepName===e);if(!t||!this.stepHasHandle(t))return;const n=this.cachedStepHandles.get(t.stepName);if(n)return n;const i=Ep.get(this.getWorkflowManager(),t);return this.cachedStepHandles.set(t.stepName,i),i}getSteps(){return this.getScenes().flatMap(e=>this.getStepsByScene(e))}async getStepsConditionallyActive(){const e=this.getScenes();return(await Promise.all(e.map(async n=>{const i=this.getStepsByScene(n),a=await Promise.all(i.map(s=>co(s.getRaw(),this.getWorkflowManager().getStepSelections())));return i.filter((s,o)=>a[o])}))).flat()}getScenes(){return(this.getWorkflow()?.stepGroups||[]).map(t=>({id:t.id,name:t.name,stepIds:t.stepNames}))}getSelectionPriceSubunits(e){const t=this.getWorkflowManager().getWorkflowSelections();let n=0;return Object.values(t).forEach(i=>{n+=i.selections.reduce((a,s)=>a+(s.priceModifier||0),0)}),this.getPriceSubUnitsAfterPriceBreaks(n,e)}getBasePriceSubunits(e,t){const n=this.getPriceSubUnitsAfterPriceBreaks(this.getProduct()?.basePrice||0,t);if(e){const i=this.getAdditionalProductPriceSubunits(t)||0;return n+i}return n}getAdditionalProductPriceSubunits(e){const t=this.getTransaction().integrationProduct;if(t?.additionalIntegrationProduct?.product){const n=t.additionalIntegrationProduct.product.basePrice||0;return this.getPriceSubUnitsAfterPriceBreaks(n,e)}}getTotalPriceSubunits(e){return this.getBasePriceSubunits(!1,e)+this.getSelectionPriceSubunits(e)}getPriceSubUnitsAfterPriceBreaks(e,t){const n=t?1:this.priceBreakToBeApplied(),i=e*n;return Math.ceil(i)}priceBreakToBeApplied(){const e=(this.getProduct()?.priceBreaks||[]).sort((i,a)=>-(i.minQty-a.minQty)),n=[...this.getMatchingExperiencesFromBundle(),this].reduce((i,a)=>i+a.getQuantity(),0);for(const i of e)if(i.minQty<=n)return i.percentage;return 1}checkForPriceBreakChanges(){const e=this.priceBreakToBeApplied();this.currentPriceBreak!==e&&(this.updatePriceBreak(e),this.getMatchingExperiencesFromBundle().forEach(t=>t.updatePriceBreak(e)))}getMatchingExperiencesFromBundle(){return(this.bundle?.getWorkflowExperiences()||[]).filter(e=>{const t=e.getTransaction().id,n=this.getTransaction().id,i=e.getProduct()?.id,a=this.getProduct()?.id;return t!==n&&i===a})}updatePriceBreak(e){this.currentPriceBreak=e,this.callEvent("PriceBreakChanged")}async copySelectionsViaGlobalConfiguration(e,t,n){const i=await e.getGlobalProperties(),a=n?.map(u=>u.getId()),s=this.getSteps().filter(u=>a===void 0||a.includes(u.getId())),o=t.getSteps(),l=u=>i.find(c=>c.getRawProperty().name===u.aspectName);s.forEach(u=>{const c=new Set,f=u.getRaw().globalPropertyAspectConfigurations;f!==void 0&&(f.forEach(d=>c.add(JSON.stringify(d))),o.forEach(d=>{const h=d.getRaw().globalPropertyAspectConfigurations;h!==void 0&&h.forEach(g=>{const v=l(g),y=c.has(JSON.stringify(g));if(y&&v?.getType()==="Option"){const A=d.getCurrentVariant();if(!A)return;u.selectVariant(A),c.delete(JSON.stringify(g))}else if(y&&v?.getType()==="Text"){const A=d.getText();u.setText(A),c.delete(JSON.stringify(g))}})}))})}getStepByName(e){const t=this.getWorkflow()?.steps.find(n=>n.stepTitle===e);if(!(!t||!this.stepHasHandle(t)))return Ep.get(this.getWorkflowManager(),t)}getStepsByType(e){return this.getWorkflow()?.steps.filter(t=>t.type===e).map(t=>Ep.get(this.getWorkflowManager(),t))||[]}getStepsByScene(e){const t=this.getWorkflow();if(!t?.stepGroups.find(i=>i.name===e.name))throw new Error("Given scene is not present on workflow! Be careful when persisting scenes that you only use them with the relevant workflow.");return e.stepIds.map(i=>t.steps.find(a=>a.stepName===i)).filter(i=>!!i&&this.stepHasHandle(i)).map(i=>Ep.get(this.getWorkflowManager(),i))}async attachCustomerDetails(e){return this.assignCustomerDetails({emailAddress:e.email})}async assignCustomerDetails(e){const n=(await this.graphQlClient().mutate({mutation:W9,variables:{id:this.getTransaction().id,details:e,type:"Owner"}})).data?.transactionAddStakeholder?.stakeholders?.find(i=>i.customer?.emailAddress===e.emailAddress);n?.customer&&this.assignCustomerInternal(n.customer)}assignCustomerInternal(e){this.getWorkflowManager().setTransactionCustomer(e);const t=br.getMap("transactionCustomerIds")||new Map;t.set(this.getTransaction().id,e.id),br.setMap("transactionCustomerIds",t)}attachRenderableSceneListener(e){this.renderableSceneCallbacks.push(e),e(this.renderableScenes)}detachRenderableSceneListener(e){this.renderableSceneCallbacks=this.renderableSceneCallbacks.filter(t=>t!==e)}async save(e){const t=this.getProduct(),n=this.getWorkflow(),i=this.getCommandContext().getState();if(!t)throw new nn("Product undefined!");if(!n)throw new nn("Workflow undefined!");if(!i)throw new nn("State undefined!");const s={title:await(async()=>{if(e)return e;const o=this.getTransaction().id,u=(await Qp.getSavedDesigns()).find(c=>c.transactionId===o)?.title;return u||"My design"})(),thumbnail:await this.createPreviewImage(!1,256),transactionId:this.getTransaction().id,productId:t.id,integrationProductId:this.getTransaction().integrationProduct.id,workflowName:n.name,workflowId:n.id,lastEdited:new Date};return await Qp.addDesign(s),s}async copy(){const e=mo(this.getCommandContext().getState());if(!e)throw new nn("Internal state is undefined! Cannot copy experience!");const t=JSON.stringify(e.transaction),n=this.getWorkflow();if(!n)throw new nn("Workflow is undefined! Cannot copy experience!");const i=this.getTransaction().integrationProduct?.id;if(!i)throw new nn("Integration product id is undefined!");return await this.getClient().getWorkflowExperience({type:"integration",integrationProductId:i,workflowId:n.id,workflowState:t})}async onDesignFinished(e=!0){const t=this.getTransaction(),n=this.getProduct(),i=this.getWorkflow();if(!n)throw new nn("Product undefined! Cannot finish an experience without a product.");if(!i)throw new nn("Workflow undefined! Cannot finish an experience without a workflow.");if(t.isOrdered)return{event:"",exportedData:{},lineItemImageUrl:"",optionsCost:0,transactionId:t.id,workflowViewerLink:"",workflowViewerReadOnlyLink:""};const a=await II([{workflowManager:this.workflowManager,workflow:i,layouts:this.workflowManager.getLayouts(),getReducerState:()=>this.workflowManager.getCommandContext().getState(),product:n,transaction:t,workflowSelections:this.workflowManager.getWorkflowSelections(),workflowMetadata:this.workflowManager.getWorkflowMetadata(),designName:i.name}],s=>e?this.createPreviewImage(s,1024):Promise.resolve(void 0));return t.completed&&await this.graphQlClient().mutate({mutation:H3,variables:{transactionId:t.id}}),a[0]}stepHasHandle(e){return e.type!==Xe.SilentIllustration&&e.type!==Xe.ProductOverlay}async getExportedStepData(){const e=this.getWorkflow(),t=this.getWorkflowManager().getWorkflowMetadata(),n=this.getWorkflowManager().getWorkflowSelections(),i=[];for(const a of e?.steps||[]){const s=a.stepName,o=t[s],l=n[s]?.selections[0],u={stepId:s,title:a.stepTitle,properties:[]};if(l&&await K9(a,n)&&u.properties.push({type:"selection",value:l.name,priceModifier:l.priceModifier}),!o){i.push(u);continue}switch(a.type){case Xe.Frame:{const c=a.data,f=o;f.image&&c.displayImageOnFinishStep&&u.properties.push({type:"image",value:f.image,priceModifier:0})}break;case Xe.Illustration:{const c=a.data,f=o;if(f&&f.colors&&f.colors.length>0&&c.displayColorsOnFinishStep){const d=f.colors.join(", ").toUpperCase();u.properties.push({type:"color",value:d,priceModifier:0})}}break;case Xe.Module:{const c=a.data,f=o;f&&f.text&&c.displayTextOnFinishStep&&u.properties.push({type:"text",value:f.text,priceModifier:0})}break;case Xe.Text:{const c=a.data,f=o;f&&f.text&&c.displayTextOnFinishStep&&u.properties.push({type:"text",value:f.text,priceModifier:0}),f&&f.color&&c.displayColorOnFinishStep&&u.properties.push({type:"color",value:f.color,priceModifier:0})}}i.push(u)}return i.filter(a=>a.properties&&a.properties.length>0)}getQuantity(){return this.getTransaction().quantity||1}async setQuantity(e){if(e<1)throw new RangeError("WorkflowExperience quantity must be greater than zero.");if(this.isReadOnly)throw new Error("Cannot update quantity on a read-only WorkflowExperience");this.getTransaction().quantity=e,this.callEvent("QuantityChanged"),this.checkForPriceBreakChanges();const t=this.getTransaction();await this.graphQlClient().mutate({mutation:B3,variables:{id:t.id,quantity:e}})}addEventListener(e,t){const n=this.eventCallbacks.get(e)||[];n.push(t),this.eventCallbacks.set(e,n)}removeEventListener(e,t){const n=this.eventCallbacks.get(e)||[];this.eventCallbacks.set(e,n.filter(i=>i!==t))}callEvent(e){(this.eventCallbacks.get(e)||[]).forEach(t=>t(this))}}const J9=r=>{if([Xe.Question,Xe.Frame,Xe.Illustration,Xe.Material,Xe.Model,Xe.Picture,Xe.Shape,Xe.Text].includes(r.type)){const t=r.data;return!!t.displaySelectionOnFinishStep||!!t.displaySelectionsOnFinishStep}return!1},K9=async(r,e)=>{if(!J9(r))return!1;const t=await ct.getOptionForStep(r);if(t&&(t.variants||[]).length>1){const n=e[r.stepName];return!!(n&&n.selections.length>0)}return!1};class Z9{constructor(e){this.handleCache={},this.bundle=e}async getHandle(e){if(this.handleCache[e.name])return this.handleCache[e.name];const t=await this.createHandle(e);return this.handleCache[e.name]=t,t}async getHandles(){if(!this.bundle.getGlobalPropertyConfiguration())return[];await this.bundle.getGlobalPropertyStateManager().getInitializationPromise();const e=this.bundle.getGlobalPropertyConfiguration();return e?Promise.all(e.aspects.map(t=>this.getHandle(t))):[]}applyConditionsFromState(e,t){return t?e.filter(n=>this.aspectConditionsSatisfied(n.getRawProperty(),t)):e}aspectConditionsSatisfied(e,t){return!e.conditions||e.conditions.length===0?!0:(e.conditionMode===Nk.AND?Array.prototype.every.bind(e.conditions):Array.prototype.some.bind(e.conditions))(i=>{const a=t.aspects.find(s=>s.name===i.targetAspectName);return a?i.requiredVariantSelections.some(s=>s===a.value):!1})}async createHandle(e){switch(e.type){case Hn.FileUpload:return new DI(this.bundle,e).initialize();case Hn.ColorOption:return new pA(this.bundle,e,e.entityId?await ct.getOption(e.entityId):void 0);case Hn.Option:{const t=e.entityId?await ct.getOption(e.entityId):void 0;return t?.type==="Color"?new pA(this.bundle,e,t):new _1(this.bundle,e,t)}case Hn.Text:return new RI(this.bundle,e);default:throw new Error("Unhandled Global Property Aspect Type")}}}class Jg{constructor(e,t){this.bundle=e,this.property=t}getName(){return this.property.name}getTitle(){return this.property.title}getDescription(){return this.property.description}getType(){return this.property.type}getRawProperty(){return this.property}isMandatory(){return!!this.property.mandatory}isMandatoryFulfilled(){return!this.property.mandatory||!!this.bundle.getGlobalPropertyStateManager().getAspectMandatoryFulfilled(this.property.name)}isSilent(){return!!this.property.silent||this.bundle.getGlobalPropertyStateManager().getAspectHidden(this.property.name)}async getSharedSteps(e){const t=e??this.bundle.getWorkflowExperiences();return(await Promise.all(t.map(a=>a.getStepsConditionallyActive()))).map(a=>a.filter(s=>s.getOverrideGlobalPropertyConfiguration(this.property.type)?!1:s.getRaw().globalPropertyAspectConfigurations?.some(o=>o.globalPropertyConfigurationId===this.bundle.getGlobalPropertyConfiguration()?.id&&o.aspectName===this.property.name))).flat()}getStateValue(){return this.bundle.getGlobalPropertyStateManager().getAspect(this.property.name)}}class DI extends Jg{constructor(e,t){super(e,t)}async initialize(){return this.property.data?.fileUpload?.colorOptionId&&(this.colorOption=await ct.getOption(this.property.data?.fileUpload?.colorOptionId)),await this.loadImageData(),this}async loadImageData(){const e=await this.getImage();if(e?.fileLink)if(e?.fileLink.endsWith(".svg")){const t=await ra(e?.fileLink),n=await S1(e?.fileLink),i=n.width,a=n.height,s=await Pa(t);this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name)?.colors?.forEach(u=>{s.colors[u.key]={browserValue:u.browserValue,pmsValue:u.pmsValue}});const l={src:e?.fileLink,width:i,height:a,aspect:i/a,svg:s.svg,colors:s.colors};Ds.set(e?.fileLink,l),this.imageData=l}else this.imageData=void 0}async selectImage(e){const t=this.bundle.getGlobalPropertyStateManager();await Promise.all([t.setAspect(this.property.name,e.key,{...t.getAspectStorage(this.property.name)||{},originalAssetKey:e.key,backgroundRemovedAssetKey:void 0,vectorizedAssetKey:void 0,useOriginalAsset:void 0},void 0),this.applyImageSelection(e),this.loadImageData()])}async canUseAdvancedImageManipulation(){return this.bundle.getClient().canUseAddon(Bg.AdvancedImageManipulation)}async removeBackgroundFromImage(e=!0){if(!await this.canUseAdvancedImageManipulation())throw new Error("The current Integration does not have access to the Advanced Image Manipulation addon. Please call canUseAdvancedImageManipulation to ensure you disable this feature when appropriate.");const t=await this.getOriginalImage();if(!t)throw new Error("You must supply an image selection before attempting to remove the background.");const n=this.bundle.getGlobalPropertyStateManager(),i=await Ln.removeBackgroundFromAsset(t),s={...n.getAspectStorage(this.property.name),backgroundRemovedAssetKey:i.key,useOriginalAsset:!e},l=[e?n.setAspect(this.property.name,i.key,s):n.setAspectStorage(this.property.name,s)];return e&&(l.push(this.applyImageSelection(i,void 0,!1,!1)),l.push(this.loadImageData())),await Promise.all(l),this.updateSharedStepStorage(s),i}async vectorizeImage(e=!0){if(!await this.canUseAdvancedImageManipulation())throw new Error("The current Integration does not have access to the Advanced Image Manipulation addon. Please call canUseAdvancedImageManipulation to ensure you disable this feature when appropriate.");const t=await this.getOriginalImage();if(!t)throw new Error("You must supply an image selection before attempting to vectorize the image.");const n=this.bundle.getGlobalPropertyStateManager(),i=await Ln.vectorizeAsset(t),s={...n.getAspectStorage(this.property.name),vectorizedAssetKey:i.key,useOriginalAsset:!e},l=[e?n.setAspect(this.property.name,i.key,s):n.setAspectStorage(this.property.name,s)];return e&&(l.push(this.applyImageSelection(i,void 0,!1,!1)),l.push(this.loadImageData())),await Promise.all(l),this.updateSharedStepStorage(s),i}hasImage(){return!!this.getStateValue()}async getImage(){const e=this.getStateValue();if(e)return Ln.getLocalOrFromServer(e)}async getImageWithColors(){return await this.loadImageData(),this.imageData?.svg?Ug(zg(this.imageData.svg,this.imageData.colors??{},!1)):this.imageData?.src}async getOriginalImage(){const e=this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name);if(e?.originalAssetKey)return Ln.getLocalOrFromServer(e.originalAssetKey)}async getBackgroundRemovedImage(){const e=this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name);if(e?.backgroundRemovedAssetKey)return Ln.getLocalOrFromServer(e.backgroundRemovedAssetKey)}getUseOriginalImage(){return this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name)?.useOriginalAsset??!1}async setUseOriginalImage(e){const t=await this.getOriginalImage();if(!t)throw new Error("You must select an image before calling setUseOriginalImage");const n=this.bundle.getGlobalPropertyStateManager(),i=n.getAspectStorage(this.property.name);if(i?.useOriginalAsset===e)return;const a={...i,useOriginalAsset:e},s=e?i?.originalAssetKey:i?.backgroundRemovedAssetKey,o=[n.setAspect(this.property.name,s||"",a)];if(e)o.push(this.applyImageSelection(t,void 0,!1,!1));else{const l=async()=>{const u=await this.getBackgroundRemovedImage();if(!u)throw new Error("You must call removeBackgroundFromImage before attempting to use that version of the image.");this.applyImageSelection(u,void 0,!1,!1)};o.push(l())}o.push(this.loadImageData()),await Promise.all(o),this.updateSharedStepStorage(a)}async applyGlobalState(e){const t=this.getStateValue();if(!t)return;const n=await Ln.getLocalOrFromServer(t);if(!n)return;await this.applyImageSelection(n,e,!1,!0);const i=this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name);if(i){if(this.updateSharedStepStorage({...i}),i.colors){const a=new Map(i.colors.map(s=>[s.key,{browserValue:s.browserValue,pmsValue:s.pmsValue}])??[]);await Promise.all((await this.getSharedSteps(e)).map(async s=>{await s.changeColors(a)}))}}else this.updateSharedStepStorage({originalAssetKey:t}),await this.bundle.getGlobalPropertyStateManager().setAspectStorage(this.property.name,{originalAssetKey:t})}getAvailableColors(){return this.property.data?.fileUpload?.colorPickerEnabled?this.colorOption?.variants?.map(e=>({fill:e.color,stroke:e.color,variant:e,pmsValue:e.name}))??[]:[]}getCurrentColors(){return this.imageData?.colors}isColorPickerEnabled(){return this.property.data?.fileUpload?.colorPickerEnabled??!1}isPmsPickerEnabled(){return this.property.data?.fileUpload?.pmsPickerEnabled??!1}async getOriginalColors(){return this.imageData?.svg?(await Pa(this.imageData.svg)).colors:void 0}async changeColors(e){if(!this.imageData?.svg)return;const t=this.getSharedSteps(),n=new Map(Object.entries(e));await Promise.all((await t).map(async a=>{await a.changeColors(n)}));const i=this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name);await Promise.all([this.bundle.getGlobalPropertyStateManager().setAspectStorage(this.property.name,{...i,colors:Object.entries(e).map(([a,s])=>({key:a,browserValue:s.browserValue,pmsValue:s.pmsValue}))}),await this.loadImageData()])}async applyImageSelection(e,t,n=!0,i=!0){const s=(await this.getSharedSteps(t)).map(o=>{const l=o;if(l.getFrameService())return l.selectImage(e,n,i)});await Promise.all(s)}updateSharedStepStorage(e){this.bundle.getWorkflowExperiences().forEach(n=>n.getSteps().forEach(i=>{if(i.getOverrideGlobalPropertyConfiguration(this.property.type))return;i.getRaw().globalPropertyAspectConfigurations?.some(s=>s.globalPropertyConfigurationId===this.bundle.getGlobalPropertyConfiguration()?.id&&s.aspectName===this.property.name)&&n.getWorkflowManager().updateStorage(i.getId(),{framePatternData:{originalAssetKey:e.originalAssetKey,backgroundRemovedAssetKey:e.backgroundRemovedAssetKey,useOriginalAsset:e.useOriginalAsset}})}))}}class RI extends Jg{constructor(e,t){super(e,t)}isTemplatingEnabled(){return this.property.data?.text?.templatingEnabled||!1}getText(){const e=this.getStateValue();return e||""}async setText(e){await Promise.all([this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name,e,void 0,void 0),this.applyTextSelection(e)])}async applyGlobalState(e){const t=this.getStateValue();if(!t)return Promise.resolve();await this.applyTextSelection(t,e)}async applyTextSelection(e,t){const i=(await this.getSharedSteps(t)).map(a=>{a.setText(e)});await Promise.all(i)}}class _1 extends Jg{constructor(e,t,n){super(e,t),this.optionResource=n}async ensureOptionLoaded(){if(this.optionResource?.variants)return this.optionResource;if(!this.property.entityId)return this.optionResource;const e=await ct.getOption(this.property.entityId);return e&&(this.optionResource=e),this.optionResource}async initDefaultVariant(){await this.ensureOptionLoaded();const e=this.optionResource?.variants?.find(t=>t.id===this.optionResource?.defaultVariant?.id);e&&await this.selectVariant(new Fa(e))}getCurrentVariant(){if(!this.optionResource)return;const e=this.getStateValue();if(e){const t=this.optionResource.variants?.find(n=>n.id===e);return t?new Fa(t):void 0}else{const t=this.optionResource.variants?.find(n=>n.id===this.optionResource?.defaultVariant?.id);return t?new Fa(t):void 0}}async getAvailableVariants(){return await this.ensureOptionLoaded(),(this.optionResource?.variants?.filter(t=>t.enabled)||[]).map(t=>new Fa(t))}async getAllVariants(){return await this.ensureOptionLoaded(),(this.optionResource?.variants||[]).map(t=>new Fa(t))}async selectVariant(e,t){await this.applyVariantSelection(e),await this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name,e.getId(),void 0,t)}async applyGlobalState(e){const t=this.getStateValue();if(!t)return;await this.ensureOptionLoaded();const n=this.optionResource?.variants?.find(i=>i.id===t);if(n)return this.applyVariantSelection(new Fa(n),e)}async applyVariantSelection(e,t){const i=(await this.getSharedSteps(t)).map(a=>a.selectVariant(e));await Promise.all(i)}}class pA extends _1{constructor(e,t,n){super(e,t,n)}async selectVariant(e,t){await this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name,e.getId(),void 0,t),await this.applyColorVariant(e,void 0,t)}async applyGlobalState(e){const t=this.getStateValue();if(!t)return;await this.ensureOptionLoaded();const n=this.optionResource?.variants?.find(a=>a.id===t);if(!n)return;await this.applyColorVariant(new Fa(n),e);const i=this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name)?.customColor;i&&await this.setCustomColor(i)}async applyColorVariant(e,t,n){const a=(await this.getSharedSteps(t)).map(s=>{switch(s.getType()){case Xe.Shape:return s.selectVariant(e);case Xe.Text:return s.setFillColor({fill:e.getColor(),stroke:e.getColor(),variant:e.getResource()});case Xe.Illustration:return s.setColor(n?.toString()||"",e.getColor()||"")}});await Promise.all(a)}async setCustomColor(e){const t=this.getCurrentVariant()?.getColor();t&&t.toLowerCase()==="#custom"&&(await this.getSharedSteps()).forEach(i=>i.setCustomColor(e)),this.bundle.getGlobalPropertyStateManager().setAspectStorage(this.property.name,{customColor:e})}getCustomColor(){return this.bundle.getGlobalPropertyStateManager().getAspectStorage(this.property.name)?.customColor||this.getCurrentVariant()?.getColor()||"#ffffff"}}const eV=(r,e,t)=>{const n=r.getWorkflowExperiences(),i=r.getGlobalPropertyConfiguration();return i?n.flatMap(s=>s.getSteps()).filter(s=>s.getGlobalPropertyAspects(i.id).includes(e)&&s.getType()===t):[]},OI=(r,e)=>{const n=eV(r,e,Xe.Illustration).map(i=>{if(!i.getCurrentVariant()?.getAssetResource()?.assetConfiguration)return 0;const s=i.getColors();return s?Object.getOwnPropertyNames(s).length:0});return Math.max(...n)};var Ud={exports:{}};Ud.exports;var DE;function tV(){return DE||(DE=1,(function(r,e){var t=200,n="Expected a function",i="__lodash_hash_undefined__",a=500,s=1,o=2,l=4,u=800,c=16,f=9007199254740991,d="[object Arguments]",h="[object Array]",g="[object AsyncFunction]",v="[object Boolean]",y="[object Date]",A="[object Error]",C="[object Function]",S="[object GeneratorFunction]",F="[object Map]",E="[object Number]",R="[object Null]",B="[object Object]",G="[object Promise]",j="[object Proxy]",ie="[object RegExp]",q="[object Set]",Y="[object String]",J="[object Symbol]",ae="[object Undefined]",oe="[object WeakMap]",he="[object ArrayBuffer]",ye="[object DataView]",Ue="[object Float32Array]",Re="[object Float64Array]",Oe="[object Int8Array]",ee="[object Int16Array]",re="[object Int32Array]",fe="[object Uint8Array]",Be="[object Uint8ClampedArray]",ke="[object Uint16Array]",$e="[object Uint32Array]",Ge=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qe=/^\w*$/,je=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,wt=/[\\^$.*+?()[\]{}|]/g,rr=/\\(\\)?/g,Dr=/\w*$/,jt=/^\[object .+?Constructor\]$/,ar=/^(?:0|[1-9]\d*)$/,St={};St[Ue]=St[Re]=St[Oe]=St[ee]=St[re]=St[fe]=St[Be]=St[ke]=St[$e]=!0,St[d]=St[h]=St[he]=St[v]=St[ye]=St[y]=St[A]=St[C]=St[F]=St[E]=St[B]=St[ie]=St[q]=St[Y]=St[oe]=!1;var st={};st[d]=st[h]=st[he]=st[ye]=st[v]=st[y]=st[Ue]=st[Re]=st[Oe]=st[ee]=st[re]=st[F]=st[E]=st[B]=st[ie]=st[q]=st[Y]=st[J]=st[fe]=st[Be]=st[ke]=st[$e]=!0,st[A]=st[C]=st[oe]=!1;var Qr=typeof di=="object"&&di&&di.Object===Object&&di,Sr=typeof self=="object"&&self&&self.Object===Object&&self,gr=Qr||Sr||Function("return this")(),nr=e&&!e.nodeType&&e,dr=nr&&!0&&r&&!r.nodeType&&r,Yt=dr&&dr.exports===nr,Xt=Yt&&Qr.process,mt=(function(){try{var L=dr&&dr.require&&dr.require("util").types;return L||Xt&&Xt.binding&&Xt.binding("util")}catch{}})(),Cr=mt&&mt.isMap,sn=mt&&mt.isSet,_r=mt&&mt.isTypedArray;function ir(L,te,le){switch(le.length){case 0:return L.call(te);case 1:return L.call(te,le[0]);case 2:return L.call(te,le[0],le[1]);case 3:return L.call(te,le[0],le[1],le[2])}return L.apply(te,le)}function Yr(L,te){for(var le=-1,Ve=L==null?0:L.length;++le<Ve&&te(L[le],le,L)!==!1;);return L}function kr(L,te){for(var le=-1,Ve=L==null?0:L.length,pt=0,_t=[];++le<Ve;){var Wr=L[le];te(Wr,le,L)&&(_t[pt++]=Wr)}return _t}function Zr(L,te){for(var le=-1,Ve=L==null?0:L.length,pt=Array(Ve);++le<Ve;)pt[le]=te(L[le],le,L);return pt}function Vr(L,te){for(var le=-1,Ve=te.length,pt=L.length;++le<Ve;)L[pt+le]=te[le];return L}function pn(L,te){for(var le=-1,Ve=Array(L);++le<L;)Ve[le]=te(le);return Ve}function gn(L){return function(te){return L(te)}}function Tr(L,te){return L?.[te]}function zr(L,te){return function(le){return L(te(le))}}var en=Array.prototype,$r=Function.prototype,zt=Object.prototype,sr=gr["__core-js_shared__"],Er=$r.toString,tt=zt.hasOwnProperty,Nr=(function(){var L=/[^.]+$/.exec(sr&&sr.keys&&sr.keys.IE_PROTO||"");return L?"Symbol(src)_1."+L:""})(),Xr=zt.toString,Ee=Er.call(Object),D=RegExp("^"+Er.call(tt).replace(wt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),U=Yt?gr.Buffer:void 0,X=gr.Symbol,ue=gr.Uint8Array;U&&U.allocUnsafe;var Fe=zr(Object.getPrototypeOf,Object),We=zt.propertyIsEnumerable,bt=en.splice,Dt=X?X.isConcatSpreadable:void 0,Nt=X?X.toStringTag:void 0,or=(function(){try{var L=Ut(Object,"defineProperty");return L({},"",{}),L}catch{}})(),Lt=Object.getOwnPropertySymbols,K=U?U.isBuffer:void 0,Ie=Math.max,Qe=Date.now,Ye=Ut(gr,"DataView"),xt=Ut(gr,"Map"),ft=Ut(gr,"Promise"),Rt=Ut(gr,"Set"),Et=Ut(gr,"WeakMap"),hr=Ut(Object,"create"),tr=hi(Ye),fr=hi(xt),$t=hi(ft),Bn=hi(Rt),Pn=hi(Et),mr=X?X.prototype:void 0,xr=mr?mr.valueOf:void 0,bn=mr?mr.toString:void 0;function Rr(L){var te=-1,le=L==null?0:L.length;for(this.clear();++te<le;){var Ve=L[te];this.set(Ve[0],Ve[1])}}function jn(){this.__data__=hr?hr(null):{},this.size=0}function Cn(L){var te=this.has(L)&&delete this.__data__[L];return this.size-=te?1:0,te}function Hr(L){var te=this.__data__;if(hr){var le=te[L];return le===i?void 0:le}return tt.call(te,L)?te[L]:void 0}function xn(L){var te=this.__data__;return hr?te[L]!==void 0:tt.call(te,L)}function cn(L,te){var le=this.__data__;return this.size+=this.has(L)?0:1,le[L]=hr&&te===void 0?i:te,this}Rr.prototype.clear=jn,Rr.prototype.delete=Cn,Rr.prototype.get=Hr,Rr.prototype.has=xn,Rr.prototype.set=cn;function tn(L){var te=-1,le=L==null?0:L.length;for(this.clear();++te<le;){var Ve=L[te];this.set(Ve[0],Ve[1])}}function Jn(){this.__data__=[],this.size=0}function si(L){var te=this.__data__,le=Jt(te,L);if(le<0)return!1;var Ve=te.length-1;return le==Ve?te.pop():bt.call(te,le,1),--this.size,!0}function Sn(L){var te=this.__data__,le=Jt(te,L);return le<0?void 0:te[le][1]}function mn(L){return Jt(this.__data__,L)>-1}function on(L,te){var le=this.__data__,Ve=Jt(le,L);return Ve<0?(++this.size,le.push([L,te])):le[Ve][1]=te,this}tn.prototype.clear=Jn,tn.prototype.delete=si,tn.prototype.get=Sn,tn.prototype.has=mn,tn.prototype.set=on;function rn(L){var te=-1,le=L==null?0:L.length;for(this.clear();++te<le;){var Ve=L[te];this.set(Ve[0],Ve[1])}}function Lr(){this.size=0,this.__data__={hash:new Rr,map:new(xt||tn),string:new Rr}}function ln(L){var te=Ht(this,L).delete(L);return this.size-=te?1:0,te}function k(L){return Ht(this,L).get(L)}function O(L){return Ht(this,L).has(L)}function z(L,te){var le=Ht(this,L),Ve=le.size;return le.set(L,te),this.size+=le.size==Ve?0:1,this}rn.prototype.clear=Lr,rn.prototype.delete=ln,rn.prototype.get=k,rn.prototype.has=O,rn.prototype.set=z;function W(L){var te=this.__data__=new tn(L);this.size=te.size}function pe(){this.__data__=new tn,this.size=0}function ce(L){var te=this.__data__,le=te.delete(L);return this.size=te.size,le}function xe(L){return this.__data__.get(L)}function _e(L){return this.__data__.has(L)}function rt(L,te){var le=this.__data__;if(le instanceof tn){var Ve=le.__data__;if(!xt||Ve.length<t-1)return Ve.push([L,te]),this.size=++le.size,this;le=this.__data__=new rn(Ve)}return le.set(L,te),this.size=le.size,this}W.prototype.clear=pe,W.prototype.delete=ce,W.prototype.get=xe,W.prototype.has=_e,W.prototype.set=rt;function ut(L,te){var le=Ti(L),Ve=!le&&ds(L),pt=!le&&!Ve&&fs(L),_t=!le&&!Ve&&!pt&&Ae(L),Wr=le||Ve||pt||_t,$n=Wr?pn(L.length,String):[],oi=$n.length;for(var zi in L)Wr&&(zi=="length"||pt&&(zi=="offset"||zi=="parent")||_t&&(zi=="buffer"||zi=="byteLength"||zi=="byteOffset")||Je(zi,oi))||$n.push(zi);return $n}function nt(L,te,le){var Ve=L[te];(!(tt.call(L,te)&&cs(Ve,le))||le===void 0&&!(te in L))&&vr(L,te,le)}function Jt(L,te){for(var le=L.length;le--;)if(cs(L[le][0],te))return le;return-1}function vr(L,te,le){te=="__proto__"&&or?or(L,te,{configurable:!0,enumerable:!0,value:le,writable:!0}):L[te]=le}function Gr(L,te,le,Ve,pt,_t){var Wr;if(le&&(Wr=pt?le(L,Ve,pt,_t):le(L)),Wr!==void 0)return Wr;if(!la(L))return L;var $n=Ti(L);if($n)Wr=we(L);else{var oi=de(L),zi=oi==C||oi==S;if(fs(L))return Zn(L);if(oi==B||oi==d||zi&&!pt)Wr={};else{if(!st[oi])return pt?L:{};Wr=Me(L,oi)}}_t||(_t=new W);var _l=_t.get(L);if(_l)return _l;_t.set(L,Wr),V(L)?L.forEach(function(ua){Wr.add(Gr(ua,te,le,ua,L,_t))}):T(L)&&L.forEach(function(ua,va){Wr.set(va,Gr(ua,te,le,va,L,_t))});var Nl=lt,_o=$n?void 0:Nl(L);return Yr(_o||L,function(ua,va){_o&&(va=ua,ua=L[va]),nt(Wr,va,Gr(ua,te,le,va,L,_t))}),Wr}function dn(L,te,le,Ve,pt){var _t=-1,Wr=L.length;for(le||(le=Ke),pt||(pt=[]);++_t<Wr;){var $n=L[_t];le($n)?Vr(pt,$n):pt[pt.length]=$n}return pt}function Kn(L,te){te=En(te,L);for(var le=0,Ve=te.length;L!=null&&le<Ve;)L=L[Yi(te[le++])];return le&&le==Ve?L:void 0}function Vn(L,te,le){var Ve=te(L);return Ti(L)?Ve:Vr(Ve,le(L))}function vn(L){return L==null?L===void 0?ae:R:Nt&&Nt in Object(L)?Br(L):jr(L)}function Or(L){return Vi(L)&&vn(L)==d}function qn(L){return Vi(L)&&de(L)==F}function Mn(L){if(!la(L)||pr(L))return!1;var te=hs(L)?D:jt;return te.test(hi(L))}function _n(L){return Vi(L)&&de(L)==q}function Ri(L){return Vi(L)&&ps(L.length)&&!!St[vn(L)]}function wi(L){if(!la(L))return Fr(L);var te=yr(L),le=[];for(var Ve in L)Ve=="constructor"&&(te||!tt.call(L,Ve))||le.push(Ve);return le}var bi=or?function(L,te){return or(L,"toString",{configurable:!0,enumerable:!1,value:Bt(te),writable:!0})}:Kt;function Nn(L,te,le){var Ve=-1,pt=L.length;te<0&&(te=-te>pt?0:pt+te),le=le>pt?pt:le,le<0&&(le+=pt),pt=te>le?0:le-te>>>0,te>>>=0;for(var _t=Array(pt);++Ve<pt;)_t[Ve]=L[Ve+te];return _t}function ki(L){if(typeof L=="string")return L;if(Ti(L))return Zr(L,ki)+"";if(Q(L))return bn?bn.call(L):"";var te=L+"";return te=="0"&&1/L==-1/0?"-0":te}function zn(L,te){te=En(te,L);var le=-1,Ve=te.length;if(!Ve)return!0;for(;++le<Ve;){var pt=Yi(te[le]);if(pt==="__proto__"&&!tt.call(L,"__proto__")||(pt==="constructor"||pt==="prototype")&&le<Ve-1)return!1}var _t=Wi(L,te);return _t==null||delete _t[Yi(Va(te))]}function En(L,te){return Ti(L)?L:yt(L,te)?[L]:Wn(ve(L))}function Zn(L,te){return L.slice()}function lr(L){var te=new L.constructor(L.byteLength);return new ue(te).set(new ue(L)),te}function Dn(L,te){var le=lr(L.buffer);return new L.constructor(le,L.byteOffset,L.byteLength)}function Ci(L){var te=new L.constructor(L.source,Dr.exec(L));return te.lastIndex=L.lastIndex,te}function I(L){return xr?Object(xr.call(L)):{}}function $(L,te){var le=lr(L.buffer);return new L.constructor(le,L.byteOffset,L.length)}function se(L,te,le,Ve){var pt=!le;le||(le={});for(var _t=-1,Wr=te.length;++_t<Wr;){var $n=te[_t],oi=void 0;oi===void 0&&(oi=L[$n]),pt?vr(le,$n,oi):nt(le,$n,oi)}return le}function Ce(L){return _(L)?void 0:L}function ht(L){return sa(yn(L,void 0,Ua),L+"")}function lt(L){return Vn(L,Te,Z)}function Ht(L,te){var le=L.__data__;return Ot(te)?le[typeof te=="string"?"string":"hash"]:le.map}function Ut(L,te){var le=Tr(L,te);return Mn(le)?le:void 0}function Br(L){var te=tt.call(L,Nt),le=L[Nt];try{L[Nt]=void 0;var Ve=!0}catch{}var pt=Xr.call(L);return Ve&&(te?L[Nt]=le:delete L[Nt]),pt}var M=Lt?function(L){return L==null?[]:(L=Object(L),kr(Lt(L),function(te){return We.call(L,te)}))}:qt,Z=Lt?function(L){for(var te=[];L;)Vr(te,M(L)),L=Fe(L);return te}:qt,de=vn;(Ye&&de(new Ye(new ArrayBuffer(1)))!=ye||xt&&de(new xt)!=F||ft&&de(ft.resolve())!=G||Rt&&de(new Rt)!=q||Et&&de(new Et)!=oe)&&(de=function(L){var te=vn(L),le=te==B?L.constructor:void 0,Ve=le?hi(le):"";if(Ve)switch(Ve){case tr:return ye;case fr:return F;case $t:return G;case Bn:return q;case Pn:return oe}return te});function we(L){var te=L.length,le=new L.constructor(te);return te&&typeof L[0]=="string"&&tt.call(L,"index")&&(le.index=L.index,le.input=L.input),le}function Me(L,te,le){var Ve=L.constructor;switch(te){case he:return lr(L);case v:case y:return new Ve(+L);case ye:return Dn(L);case Ue:case Re:case Oe:case ee:case re:case fe:case Be:case ke:case $e:return $(L);case F:return new Ve;case E:case Y:return new Ve(L);case ie:return Ci(L);case q:return new Ve;case J:return I(L)}}function Ke(L){return Ti(L)||ds(L)||!!(Dt&&L&&L[Dt])}function Je(L,te){var le=typeof L;return te=te??f,!!te&&(le=="number"||le!="symbol"&&ar.test(L))&&L>-1&&L%1==0&&L<te}function yt(L,te){if(Ti(L))return!1;var le=typeof L;return le=="number"||le=="symbol"||le=="boolean"||L==null||Q(L)?!0:qe.test(L)||!Ge.test(L)||te!=null&&L in Object(te)}function Ot(L){var te=typeof L;return te=="string"||te=="number"||te=="symbol"||te=="boolean"?L!=="__proto__":L===null}function pr(L){return!!Nr&&Nr in L}function yr(L){var te=L&&L.constructor,le=typeof te=="function"&&te.prototype||zt;return L===le}function ur(L){var te=oa(L,function(Ve){return le.size===a&&le.clear(),Ve}),le=te.cache;return te}function Fr(L){var te=[];if(L!=null)for(var le in Object(L))te.push(le);return te}function jr(L){return Xr.call(L)}function yn(L,te,le){return te=Ie(te===void 0?L.length-1:te,0),function(){for(var Ve=arguments,pt=-1,_t=Ie(Ve.length-te,0),Wr=Array(_t);++pt<_t;)Wr[pt]=Ve[te+pt];pt=-1;for(var $n=Array(te+1);++pt<te;)$n[pt]=Ve[pt];return $n[te]=le(Wr),ir(L,this,$n)}}function Wi(L,te){return te.length<2?L:Kn(L,Nn(te,0,-1))}var sa=Qi(bi);function Qi(L){var te=0,le=0;return function(){var Ve=Qe(),pt=c-(Ve-le);if(le=Ve,pt>0){if(++te>=u)return arguments[0]}else te=0;return L.apply(void 0,arguments)}}var Wn=ur(function(L){var te=[];return L.charCodeAt(0)===46&&te.push(""),L.replace(je,function(le,Ve,pt,_t){te.push(pt?_t.replace(rr,"$1"):Ve||le)}),te});function Yi(L){if(typeof L=="string"||Q(L))return L;var te=L+"";return te=="0"&&1/L==-1/0?"-0":te}function hi(L){if(L!=null){try{return Er.call(L)}catch{}try{return L+""}catch{}}return""}function Ua(L){var te=L==null?0:L.length;return te?dn(L):[]}function Va(L){var te=L==null?0:L.length;return te?L[te-1]:void 0}function oa(L,te){if(typeof L!="function"||te!=null&&typeof te!="function")throw new TypeError(n);var le=function(){var Ve=arguments,pt=te?te.apply(this,Ve):Ve[0],_t=le.cache;if(_t.has(pt))return _t.get(pt);var Wr=L.apply(this,Ve);return le.cache=_t.set(pt,Wr)||_t,Wr};return le.cache=new(oa.Cache||rn),le}oa.Cache=rn;function cs(L,te){return L===te||L!==L&&te!==te}var ds=Or((function(){return arguments})())?Or:function(L){return Vi(L)&&tt.call(L,"callee")&&!We.call(L,"callee")},Ti=Array.isArray;function za(L){return L!=null&&ps(L.length)&&!hs(L)}var fs=K||qr;function hs(L){if(!la(L))return!1;var te=vn(L);return te==C||te==S||te==g||te==j}function ps(L){return typeof L=="number"&&L>-1&&L%1==0&&L<=f}function la(L){var te=typeof L;return L!=null&&(te=="object"||te=="function")}function Vi(L){return L!=null&&typeof L=="object"}var T=Cr?gn(Cr):qn;function _(L){if(!Vi(L)||vn(L)!=B)return!1;var te=Fe(L);if(te===null)return!0;var le=tt.call(te,"constructor")&&te.constructor;return typeof le=="function"&&le instanceof le&&Er.call(le)==Ee}var V=sn?gn(sn):_n;function Q(L){return typeof L=="symbol"||Vi(L)&&vn(L)==J}var Ae=_r?gn(_r):Ri;function ve(L){return L==null?"":ki(L)}function Te(L){return za(L)?ut(L):wi(L)}var He=ht(function(L,te){var le={};if(L==null)return le;var Ve=!1;te=Zr(te,function(_t){return _t=En(_t,L),Ve||(Ve=_t.length>1),_t}),se(L,lt(L),le),Ve&&(le=Gr(le,s|o|l,Ce));for(var pt=te.length;pt--;)zn(le,te[pt]);return le});function Bt(L){return function(){return L}}function Kt(L){return L}function qt(){return[]}function qr(){return!1}r.exports=He})(Ud,Ud.exports)),Ud.exports}var rV=tV();const nV=Ns(rV);function gA(r,e){function t(n){if(typeof n>"u"||!Array.isArray(n)&&!aV(n))return n;if(Array.isArray(n))return gA(n,e);let i={};for(const[a,s]of Object.entries(n))i[a]=iV(s)?s:gA(s,e);return nV(i,e)}return Array.isArray(r)?r.map(t):t(r)}function iV(r){return r==null}function aV(r){return typeof r=="object"&&!Array.isArray(r)&&r!==null}function RE(r,e){return r==null&&e==null?!0:r===e}function BI(r){const e=new Map;return r?.aspects?.forEach(t=>{t.value!==""&&e.set(t.name,!0)}),e}class sV extends Gg{constructor(e){super(),this.update=e}async execute(){await this.update(),await new Promise(e=>{window.setTimeout(()=>{e()},1e3)})}}function Ov(r){return gA(r,["__typename"])}class oV{constructor(e,t,n,i,a){this.stateUpdateQueue=new jg(1),this.mandatoryFulfilledAspects=new Map,this.bundleId=e,this.bundleOwnerId=t,this.configuration=n,this.bundleOptions=a;const s=a?.existingGlobalPropertyState;this.initPromise=s?Promise.resolve(s).then(()=>{console.log("Setting global property state to existing state."),this.globalPropertyState=Ov(s),this.recalculateMandatoryStates()}):this.createGlobalPropertyState().then(o=>{console.log("Setting global property state to new state."),this.globalPropertyState=Ov(o),this.recalculateMandatoryStates()}),this.onGlobalPropertyStateChange=i}async clearAspects(e){if(!this.globalPropertyState)throw new Error("Global property state not initialized");const t=this.globalPropertyState.aspects;this.globalPropertyState.aspects=t.filter(n=>!e.includes(n.name))}recalculateMandatoryStates(){this.mandatoryFulfilledAspects=BI(this.globalPropertyState)}setBundleOptions(e){this.bundleOptions=e}getBundleOptions(){return this.bundleOptions}setConfiguration(e){this.configuration=e}getInitializationPromise(){return this.initPromise}getGlobalPropertyState(){return this.globalPropertyState}async setGlobalPropertyState(e){this.globalPropertyState||await this.initPromise;const t=mo(this.globalPropertyState);this.globalPropertyState={...Ov(e),id:t.id},this.recalculateMandatoryStates(),this.queueGlobalPropertyStateUpdate(),await this.onGlobalPropertyStateChange(t,this.globalPropertyState)}getAspectMandatoryFulfilled(e){return this.mandatoryFulfilledAspects.get(e)}getAspectHidden(e){if(!this.globalPropertyState)throw new Error("Global property state not initialized");return!!this.globalPropertyState.aspects.find(t=>t.name===e)?.hidden}getAspect(e,t){if(!this.globalPropertyState)throw new Error("Global property state not initialized");const n=this.globalPropertyState.aspects.find(i=>i.name===e&&RE(i.channel,t));if(n)return n.value}getAspectStorage(e,t){if(!this.globalPropertyState)throw new Error("Global property state not initialized");return this.globalPropertyState.aspects.find(n=>n.name===e&&RE(n.channel,t))?.storage}async setAspect(e,t,n,i,a){if(!this.globalPropertyState)throw new Error("Global property state not initialized");if(!this.configuration)throw new Error("Global property configuration not linked to the state manager.");const s=this.configuration.aspects.find(u=>u.name===e);if(!s)throw new Error(`Failed to find configuration aspect with name: ${e}`);this.mandatoryFulfilledAspects.set(e,t!=="");const o=mo(this.globalPropertyState),l=this.globalPropertyState.aspects.filter(u=>u.name===e);if(l.length>0)if(i){const u=l.find(c=>c.channel===i);if(u)u.value=t,u.type=s.type,u.channel=i,u.hidden=a??u.hidden,n!==void 0&&(u.storage=n!==null?n:void 0);else{let c;if(i===1){const f=this.globalPropertyState.aspects.findIndex(d=>!d.channel&&d.name===e);f&&f>0&&(c=this.globalPropertyState.aspects.splice(f,1)[0].hidden)}this.globalPropertyState.aspects.push({name:e,value:t,type:s.type,storage:n!==null?n:void 0,channel:i,hidden:a??c})}}else{const u=l[0];u.value=t,u.type=s.type,u.hidden=a??u.hidden,n!==void 0&&(u.storage=n!==null?n:void 0)}else this.globalPropertyState.aspects.push({name:e,value:t,type:s.type,storage:n!==null?n:void 0,channel:i,hidden:a});vf(o,this.globalPropertyState)||(this.queueGlobalPropertyStateUpdate(),await this.onGlobalPropertyStateChange(o,this.globalPropertyState))}async setAspectStorage(e,t,n){if(!this.globalPropertyState)throw new Error("Global property state not initialized");if(!this.configuration)throw new Error("Global property configuration not linked to the state manager.");const i=this.configuration.aspects.find(o=>o.name===e);if(!i)throw new Error(`Failed to find configuration aspect with name: ${e}`);const a=mo(this.globalPropertyState),s=this.globalPropertyState.aspects.filter(o=>o.name===e);if(s.length>0)if(n){const o=s.find(l=>l.channel===n);o&&(o.storage=t!==null?t:void 0,o.type=i.type)}else{const o=s[0];o.storage=t!==null?t:void 0,o.type=i.type}else this.globalPropertyState.aspects.push({name:e,value:"",type:i.type,storage:t!==null?t:void 0,channel:n});vf(a,this.globalPropertyState)||(this.queueGlobalPropertyStateUpdate(),await this.onGlobalPropertyStateChange(a,this.globalPropertyState))}queueGlobalPropertyStateUpdate(){this.stateUpdateQueue.enqueue(new sV(async()=>{await this.updateGlobalPropertyState()}))}async updateGlobalPropertyState(){if(!this.globalPropertyState)throw new Error("Global property state not initialized");if(!(await ze.getShadowGraphqlClient().mutate({mutation:XU,variables:{id:this.globalPropertyState.id,aspects:this.globalPropertyState.aspects.map(t=>{let n=t.type&&t.storage?{}:void 0;if(n)switch(t.type){case Hn.FileUpload:{n.fileUpload=t.storage;break}case Hn.ColorOption:case Hn.Option:{n.option=t.storage;break}}return{name:t.name,value:t.value,type:t.type,storage:n,channel:t.channel,hidden:t.hidden}})},context:{headers:{bundleOwnerId:this.bundleOwnerId,...this.bundleOptions?.additionalHeaders}}})).data?.globalPropertyStateUpdate)throw new Error("Unable to update global property state")}async createGlobalPropertyState(){const e=await ze.getShadowGraphqlClient().mutate({mutation:YU,variables:{bundleId:this.bundleId},context:{headers:{bundleOwnerId:this.bundleOwnerId,...this.bundleOptions?.additionalHeaders}}});if(e.data?.globalPropertyStateCreate&&e.data.globalPropertyStateCreate.id)return e.data.globalPropertyStateCreate;throw new Error(`Unable to create global property state for bundle: ${this.bundleId}`)}}class lV{constructor(e){this.setState(e||'{"transactions": []}')}setState(e){e&&(this.state=JSON.parse(e))}getState(){return this.state}removeStateForTransaction(e){if(!this.state||!this.state.transactions)return;const t=this.state.transactions.findIndex(n=>n.transactionId===e);t!==-1&&this.state.transactions.splice(t,1)}getSerializedState(){if(this.state)return this.deleteFieldNameFromObjectRecursive(this.state,"__typename"),JSON.stringify(this.state)}deleteFieldNameFromObjectRecursive(e,t){if(!(typeof e!="object"||e===null))for(const n in e)n===t?delete e[n]:this.deleteFieldNameFromObjectRecursive(e[n],t)}}const uV=Se`
|
|
2835
2835
|
query GetManyMetafields($entityIds: [String!]!) {
|
|
2836
2836
|
metafieldsMany(entityIds: $entityIds) {
|
|
2837
2837
|
id
|
|
@@ -3039,7 +3039,7 @@ Minimum version required to store current data is: `+q+`.
|
|
|
3039
3039
|
`;class SV{constructor(e,t=ze.getShadowGraphqlClient.bind(ze)){this.options=e,this.client=t}query(e){const t=this.options?.onQuery?this.options?.onQuery(e):{};return this.client().query({...t,...e,context:{...t.context??{},...e.context??{}}})}mutate(e){const t=this.options?.onMutate?this.options?.onMutate(e):{};return this.client().mutate({...t,...e,context:{...t.context??{},...e.context??{}}})}}function EV(r,e,t){return r.$source||(r.$source={}),r.$source[e]=t,r}const kV=r=>r?.body instanceof ReadableStream,hl=(r,e)=>{const t=[];if(r&&t.push(r),e)for(const n of e)t.push(n);return t},to=(r,e)=>`${r||"anonymous"}${e&&e.length>0?` (a.k.a. ${e.join(",")})`:""}`,wg=()=>{let r=[],e=[],t=!1;const n=new Set,i=f=>f.sort((d,h)=>BE[h.step]-BE[d.step]||ME[h.priority||"normal"]-ME[d.priority||"normal"]),a=f=>{let d=!1;const h=g=>{const v=hl(g.name,g.aliases);if(v.includes(f)){d=!0;for(const y of v)n.delete(y);return!1}return!0};return r=r.filter(h),e=e.filter(h),d},s=f=>{let d=!1;const h=g=>{if(g.middleware===f){d=!0;for(const v of hl(g.name,g.aliases))n.delete(v);return!1}return!0};return r=r.filter(h),e=e.filter(h),d},o=f=>(r.forEach(d=>{f.add(d.middleware,{...d})}),e.forEach(d=>{f.addRelativeTo(d.middleware,{...d})}),f.identifyOnResolve?.(c.identifyOnResolve()),f),l=f=>{const d=[];return f.before.forEach(h=>{h.before.length===0&&h.after.length===0?d.push(h):d.push(...l(h))}),d.push(f),f.after.reverse().forEach(h=>{h.before.length===0&&h.after.length===0?d.push(h):d.push(...l(h))}),d},u=(f=!1)=>{const d=[],h=[],g={};return r.forEach(y=>{const A={...y,before:[],after:[]};for(const C of hl(A.name,A.aliases))g[C]=A;d.push(A)}),e.forEach(y=>{const A={...y,before:[],after:[]};for(const C of hl(A.name,A.aliases))g[C]=A;h.push(A)}),h.forEach(y=>{if(y.toMiddleware){const A=g[y.toMiddleware];if(A===void 0){if(f)return;throw new Error(`${y.toMiddleware} is not found when adding ${to(y.name,y.aliases)} middleware ${y.relation} ${y.toMiddleware}`)}y.relation==="after"&&A.after.push(y),y.relation==="before"&&A.before.push(y)}}),i(d).map(l).reduce((y,A)=>(y.push(...A),y),[])},c={add:(f,d={})=>{const{name:h,override:g,aliases:v}=d,y={step:"initialize",priority:"normal",middleware:f,...d},A=hl(h,v);if(A.length>0){if(A.some(C=>n.has(C))){if(!g)throw new Error(`Duplicate middleware name '${to(h,v)}'`);for(const C of A){const S=r.findIndex(E=>E.name===C||E.aliases?.some(R=>R===C));if(S===-1)continue;const F=r[S];if(F.step!==y.step||y.priority!==F.priority)throw new Error(`"${to(F.name,F.aliases)}" middleware with ${F.priority} priority in ${F.step} step cannot be overridden by "${to(h,v)}" middleware with ${y.priority} priority in ${y.step} step.`);r.splice(S,1)}}for(const C of A)n.add(C)}r.push(y)},addRelativeTo:(f,d)=>{const{name:h,override:g,aliases:v}=d,y={middleware:f,...d},A=hl(h,v);if(A.length>0){if(A.some(C=>n.has(C))){if(!g)throw new Error(`Duplicate middleware name '${to(h,v)}'`);for(const C of A){const S=e.findIndex(E=>E.name===C||E.aliases?.some(R=>R===C));if(S===-1)continue;const F=e[S];if(F.toMiddleware!==y.toMiddleware||F.relation!==y.relation)throw new Error(`"${to(F.name,F.aliases)}" middleware ${F.relation} "${F.toMiddleware}" middleware cannot be overridden by "${to(h,v)}" middleware ${y.relation} "${y.toMiddleware}" middleware.`);e.splice(S,1)}}for(const C of A)n.add(C)}e.push(y)},clone:()=>o(wg()),use:f=>{f.applyToStack(c)},remove:f=>typeof f=="string"?a(f):s(f),removeByTag:f=>{let d=!1;const h=g=>{const{tags:v,name:y,aliases:A}=g;if(v&&v.includes(f)){const C=hl(y,A);for(const S of C)n.delete(S);return d=!0,!1}return!0};return r=r.filter(h),e=e.filter(h),d},concat:f=>{const d=o(wg());return d.use(f),d.identifyOnResolve(t||d.identifyOnResolve()||(f.identifyOnResolve?.()??!1)),d},applyToStack:o,identify:()=>u(!0).map(f=>{const d=f.step??f.relation+" "+f.toMiddleware;return to(f.name,f.aliases)+" - "+d}),identifyOnResolve(f){return typeof f=="boolean"&&(t=f),t},resolve:(f,d)=>{for(const h of u().map(g=>g.middleware).reverse())f=h(f,d);return t&&console.log(c.identify()),f}};return c},BE={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},ME={high:3,normal:2,low:1};var xf;(function(r){r.HTTP="http",r.HTTPS="https"})(xf||(xf={}));var Sf;(function(r){r.MD5="md5",r.CRC32="crc32",r.CRC32C="crc32c",r.SHA1="sha1",r.SHA256="sha256"})(Sf||(Sf={}));const vA="__smithy_context",vc=r=>r[vA]||(r[vA]={});class na{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(e){this.method=e.method||"GET",this.hostname=e.hostname||"localhost",this.port=e.port,this.query=e.query||{},this.headers=e.headers||{},this.body=e.body,this.protocol=e.protocol?e.protocol.slice(-1)!==":"?`${e.protocol}:`:e.protocol:"https:",this.path=e.path?e.path.charAt(0)!=="/"?`/${e.path}`:e.path:"/",this.username=e.username,this.password=e.password,this.fragment=e.fragment}static clone(e){const t=new na({...e,headers:{...e.headers}});return t.query&&(t.query=TV(t.query)),t}static isInstance(e){if(!e)return!1;const t=e;return"method"in t&&"protocol"in t&&"hostname"in t&&"path"in t&&typeof t.query=="object"&&typeof t.headers=="object"}clone(){return na.clone(this)}}function TV(r){return Object.keys(r).reduce((e,t)=>{const n=r[t];return{...e,[t]:Array.isArray(n)?[...n]:n}},{})}class sc{statusCode;reason;headers;body;constructor(e){this.statusCode=e.statusCode,this.reason=e.reason,this.headers=e.headers||{},this.body=e.body}static isInstance(e){if(!e)return!1;const t=e;return typeof t.statusCode=="number"&&typeof t.headers=="object"}}const FV=new RegExp("^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$"),Kg=(r,e=!1)=>{if(!e)return FV.test(r);const t=r.split(".");for(const n of t)if(!Kg(n))return!1;return!0},Bs=r=>{if(typeof r=="function")return r;const e=Promise.resolve(r);return()=>e};function IV(r){const e={};if(r=r.replace(/^\?/,""),r)for(const t of r.split("&")){let[n,i=null]=t.split("=");n=decodeURIComponent(n),i&&(i=decodeURIComponent(i)),n in e?Array.isArray(e[n])?e[n].push(i):e[n]=[e[n],i]:e[n]=i}return e}const bg=r=>{if(typeof r=="string")return bg(new URL(r));const{hostname:e,pathname:t,port:n,protocol:i,search:a}=r;let s;return a&&(s=IV(a)),{hostname:e,port:n?parseInt(n):void 0,protocol:i,path:t,query:s}},V1=r=>{if(typeof r=="object"){if("url"in r){const e=bg(r.url);if(r.headers){e.headers={};for(const t in r.headers)e.headers[t.toLowerCase()]=r.headers[t].join(", ")}return e}return r}return bg(r)},PV=r=>()=>Promise.reject(r);class DV{config;middlewareStack=wg();initConfig;handlers;constructor(e){this.config=e;const{protocol:t,protocolSettings:n}=e;n&&typeof t=="function"&&(e.protocol=new t(n))}send(e,t,n){const i=typeof t!="function"?t:void 0,a=typeof t=="function"?t:n,s=i===void 0&&this.config.cacheMiddleware===!0;let o;if(s){this.handlers||(this.handlers=new WeakMap);const l=this.handlers;l.has(e.constructor)?o=l.get(e.constructor):(o=e.resolveMiddleware(this.middlewareStack,this.config,i),l.set(e.constructor,o))}else delete this.handlers,o=e.resolveMiddleware(this.middlewareStack,this.config,i);if(a)o(e).then(l=>a(null,l.output),l=>a(l)).catch(()=>{});else return o(e).then(l=>l.output)}destroy(){this.config?.requestHandler?.destroy?.(),delete this.handlers}}const Yp=r=>typeof r=="function"?r():r,UI=(r,e,t,n,i)=>({name:e,namespace:r,traits:t,input:n,output:i}),RV=r=>(e,t)=>async n=>{const{response:i}=await e(n),{operationSchema:a}=vc(t),[,s,o,l,u,c]=a??[];try{const f=await r.protocol.deserializeResponse(UI(s,o,l,u,c),{...r,...t},i);return{response:i,output:f}}catch(f){if(Object.defineProperty(f,"$response",{value:i,enumerable:!1,writable:!1,configurable:!1}),!("$metadata"in f)){const d="Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.";try{f.message+=`
|
|
3040
3040
|
`+d}catch{!t.logger||t.logger?.constructor?.name==="NoOpLogger"?console.warn(d):t.logger?.warn?.(d)}typeof f.$responseBodyText<"u"&&f.$response&&(f.$response.body=f.$responseBodyText);try{if(sc.isInstance(i)){const{headers:h={},statusCode:g}=i,v=Object.entries(h);f.$metadata={httpStatusCode:g,requestId:Mv(/^x-[\w-]+-request-?id$/,v),extendedRequestId:Mv(/^x-[\w-]+-id-2$/,v),cfId:Mv(/^x-[\w-]+-cf-id$/,v)}}}catch{}}throw f}},Mv=(r,e)=>(e.find(([t])=>t.match(r))||[void 0,void 0])[1],OV=r=>(e,t)=>async n=>{const{operationSchema:i}=vc(t),[,a,s,o,l,u]=i??[],c=t.endpointV2?async()=>V1(t.endpointV2):r.endpoint,f=await r.protocol.serializeRequest(UI(a,s,o,l,u),n.input,{...r,...t,endpoint:c});return e({...n,request:f})},BV={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:!0},MV={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0};function _V(r){return{applyToStack:e=>{e.add(OV(r),MV),e.add(RV(r),BV),r.protocol.setSerdeContext(r)}}}const _v=[];function zd(r){if(typeof r=="object")return r;if(r=r|0,_v[r])return _v[r];const e={};let t=0;for(const n of["httpLabel","idempotent","idempotencyToken","sensitive","httpPayload","httpResponseCode","httpQueryParams"])(r>>t++&1)===1&&(e[n]=1);return _v[r]=e}const kd={it:Symbol.for("@smithy/nor-struct-it"),ns:Symbol.for("@smithy/ns")},Nv=[],Lv={};class vi{ref;memberName;static symbol=Symbol.for("@smithy/nor");symbol=vi.symbol;name;schema;_isMemberSchema;traits;memberTraits;normalizedTraits;constructor(e,t){this.ref=e,this.memberName=t;const n=[];let i=e,a=e;for(this._isMemberSchema=!1;Uv(i);)n.push(i[1]),i=i[0],a=Yp(i),this._isMemberSchema=!0;if(n.length>0){this.memberTraits={};for(let s=n.length-1;s>=0;--s){const o=n[s];Object.assign(this.memberTraits,zd(o))}}else this.memberTraits=0;if(a instanceof vi){const s=this.memberTraits;Object.assign(this,a),this.memberTraits=Object.assign({},s,a.getMemberTraits(),this.getMemberTraits()),this.normalizedTraits=void 0,this.memberName=t??a.memberName;return}if(this.schema=Yp(a),NV(this.schema)?(this.name=`${this.schema[1]}#${this.schema[2]}`,this.traits=this.schema[3]):(this.name=this.memberName??String(a),this.traits=0),this._isMemberSchema&&!t)throw new Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(!0)} missing member name.`)}static[Symbol.hasInstance](e){const t=this.prototype.isPrototypeOf(e);return!t&&typeof e=="object"&&e!==null?e.symbol===this.symbol:t}static of(e){const t=typeof e=="function"||typeof e=="object"&&e!==null;if(typeof e=="number"){if(Nv[e])return Nv[e]}else if(typeof e=="string"){if(Lv[e])return Lv[e]}else if(t&&e[kd.ns])return e[kd.ns];const n=Yp(e);if(n instanceof vi)return n;if(Uv(n)){const[a,s]=n;if(a instanceof vi)return Object.assign(a.getMergedTraits(),zd(s)),a;throw new Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(e,null,2)}.`)}const i=new vi(n);return t?e[kd.ns]=i:typeof n=="string"?Lv[n]=i:typeof n=="number"?Nv[n]=i:i}getSchema(){const e=this.schema;return Array.isArray(e)&&e[0]===0?e[4]:e}getName(e=!1){const{name:t}=this;return!e&&t&&t.includes("#")?t.split("#")[1]:t||void 0}getMemberName(){return this.memberName}isMemberSchema(){return this._isMemberSchema}isListSchema(){const e=this.getSchema();return typeof e=="number"?e>=64&&e<128:e[0]===1}isMapSchema(){const e=this.getSchema();return typeof e=="number"?e>=128&&e<=255:e[0]===2}isStructSchema(){const e=this.getSchema();if(typeof e!="object")return!1;const t=e[0];return t===3||t===-3||t===4}isUnionSchema(){const e=this.getSchema();return typeof e!="object"?!1:e[0]===4}isBlobSchema(){const e=this.getSchema();return e===21||e===42}isTimestampSchema(){const e=this.getSchema();return typeof e=="number"&&e>=4&&e<=7}isUnitSchema(){return this.getSchema()==="unit"}isDocumentSchema(){return this.getSchema()===15}isStringSchema(){return this.getSchema()===0}isBooleanSchema(){return this.getSchema()===2}isNumericSchema(){return this.getSchema()===1}isBigIntegerSchema(){return this.getSchema()===17}isBigDecimalSchema(){return this.getSchema()===19}isStreaming(){const{streaming:e}=this.getMergedTraits();return!!e||this.getSchema()===42}isIdempotencyToken(){return!!this.getMergedTraits().idempotencyToken}getMergedTraits(){return this.normalizedTraits??(this.normalizedTraits={...this.getOwnTraits(),...this.getMemberTraits()})}getMemberTraits(){return zd(this.memberTraits)}getOwnTraits(){return zd(this.traits)}getKeySchema(){const[e,t]=[this.isDocumentSchema(),this.isMapSchema()];if(!e&&!t)throw new Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(!0)}`);const n=this.getSchema(),i=e?15:n[4]??0;return Td([i,0],"key")}getValueSchema(){const e=this.getSchema(),[t,n,i]=[this.isDocumentSchema(),this.isMapSchema(),this.isListSchema()],a=typeof e=="number"?63&e:e&&typeof e=="object"&&(n||i)?e[3+e[0]]:t?15:void 0;if(a!=null)return Td([a,0],n?"value":"member");throw new Error(`@smithy/core/schema - ${this.getName(!0)} has no value member.`)}getMemberSchema(e){const t=this.getSchema();if(this.isStructSchema()&&t[4].includes(e)){const n=t[4].indexOf(e),i=t[5][n];return Td(Uv(i)?i:[i,0],e)}if(this.isDocumentSchema())return Td([15,0],e);throw new Error(`@smithy/core/schema - ${this.getName(!0)} has no member=${e}.`)}getMemberSchemas(){const e={};try{for(const[t,n]of this.structIterator())e[t]=n}catch{}return e}getEventStreamMember(){if(this.isStructSchema()){for(const[e,t]of this.structIterator())if(t.isStreaming()&&t.isStructSchema())return e}return""}*structIterator(){if(this.isUnitSchema())return;if(!this.isStructSchema())throw new Error("@smithy/core/schema - cannot iterate non-struct schema.");const e=this.getSchema(),t=e[4].length;let n=e[kd.it];if(n&&t===n.length){yield*n;return}n=Array(t);for(let i=0;i<t;++i){const a=e[4][i],s=Td([e[5][i],0],a);yield n[i]=[a,s]}e[kd.it]=n}}function Td(r,e){if(r instanceof vi)return Object.assign(r,{memberName:e,_isMemberSchema:!0});const t=vi;return new t(r,e)}const Uv=r=>Array.isArray(r)&&r.length===2,NV=r=>Array.isArray(r)&&r.length>=5;class Zi{namespace;schemas;exceptions;static registries=new Map;constructor(e,t=new Map,n=new Map){this.namespace=e,this.schemas=t,this.exceptions=n}static for(e){return Zi.registries.has(e)||Zi.registries.set(e,new Zi(e)),Zi.registries.get(e)}copyFrom(e){const{schemas:t,exceptions:n}=this;for(const[i,a]of e.schemas)t.has(i)||t.set(i,a);for(const[i,a]of e.exceptions)n.has(i)||n.set(i,a)}register(e,t){const n=this.normalizeShapeId(e);for(const i of[this,Zi.for(n.split("#")[0])])i.schemas.set(n,t)}getSchema(e){const t=this.normalizeShapeId(e);if(!this.schemas.has(t)){if(!e.includes("#")){const n="#"+e,i=[];for(const[a,s]of this.schemas.entries())a.endsWith(n)&&i.push(s);if(i.length===1)return i[0]}throw new Error(`@smithy/core/schema - schema not found for ${t}`)}return this.schemas.get(t)}registerError(e,t){const n=e,i=n[1];for(const a of[this,Zi.for(i)])a.schemas.set(i+"#"+n[2],n),a.exceptions.set(n,t)}getErrorCtor(e){const t=e;return this.exceptions.has(t)?this.exceptions.get(t):Zi.for(t[1]).exceptions.get(t)}getBaseException(){for(const e of this.exceptions.keys())if(Array.isArray(e)){const[,t,n]=e,i=t+"#"+n;if(i.startsWith("smithy.ts.sdk.synthetic.")&&i.endsWith("ServiceException"))return e}}find(e){for(const t of this.schemas.values())if(e(t))return t}clear(){this.schemas.clear(),this.exceptions.clear()}normalizeShapeId(e){return e.includes("#")?e:this.namespace+"#"+e}}const Vv="***SensitiveInformation***";function yA(r,e){if(e==null)return e;const t=vi.of(r);if(t.getMergedTraits().sensitive)return Vv;if(t.isListSchema()){if(!!t.getValueSchema().getMergedTraits().sensitive)return Vv}else if(t.isMapSchema()){if(!!t.getKeySchema().getMergedTraits().sensitive||!!t.getValueSchema().getMergedTraits().sensitive)return Vv}else if(t.isStructSchema()&&typeof e=="object"){const n=e,i={};for(const[a,s]of t.structIterator())n[a]!=null&&(i[a]=yA(s,n[a]));return i}return e}class z1{middlewareStack=wg();schema;static classBuilder(){return new LV}resolveMiddlewareWithContext(e,t,n,{middlewareFn:i,clientName:a,commandName:s,inputFilterSensitiveLog:o,outputFilterSensitiveLog:l,smithyContext:u,additionalContext:c,CommandCtor:f}){for(const A of i.bind(this)(f,e,t,n))this.middlewareStack.use(A);const d=e.concat(this.middlewareStack),{logger:h}=t,g={logger:h,clientName:a,commandName:s,inputFilterSensitiveLog:o,outputFilterSensitiveLog:l,[vA]:{commandInstance:this,...u},...c},{requestHandler:v}=t;let y=n??{};return u.eventStream&&(y={isEventStream:!0,...y}),d.resolve(A=>v.handle(A.request,y),g)}}class LV{_init=()=>{};_ep={};_middlewareFn=()=>[];_commandName="";_clientName="";_additionalContext={};_smithyContext={};_inputFilterSensitiveLog=void 0;_outputFilterSensitiveLog=void 0;_serializer=null;_deserializer=null;_operationSchema;init(e){this._init=e}ep(e){return this._ep=e,this}m(e){return this._middlewareFn=e,this}s(e,t,n={}){return this._smithyContext={service:e,operation:t,...n},this}c(e={}){return this._additionalContext=e,this}n(e,t){return this._clientName=e,this._commandName=t,this}f(e=n=>n,t=n=>n){return this._inputFilterSensitiveLog=e,this._outputFilterSensitiveLog=t,this}ser(e){return this._serializer=e,this}de(e){return this._deserializer=e,this}sc(e){return this._operationSchema=e,this._smithyContext.operationSchema=e,this}build(){const e=this;let t;return t=class extends z1{input;static getEndpointParameterInstructions(){return e._ep}constructor(...[n]){super(),this.input=n??{},e._init(this),this.schema=e._operationSchema}resolveMiddleware(n,i,a){const s=e._operationSchema,o=s?.[4]??s?.input,l=s?.[5]??s?.output;return this.resolveMiddlewareWithContext(n,i,a,{CommandCtor:t,middlewareFn:e._middlewareFn,clientName:e._clientName,commandName:e._commandName,inputFilterSensitiveLog:e._inputFilterSensitiveLog??(s?yA.bind(null,o):u=>u),outputFilterSensitiveLog:e._outputFilterSensitiveLog??(s?yA.bind(null,l):u=>u),smithyContext:e._smithyContext,additionalContext:e._additionalContext})}serialize=e._serializer;deserialize=e._deserializer}}}class Lu extends Error{$fault;$response;$retryable;$metadata;constructor(e){super(e.message),Object.setPrototypeOf(this,Object.getPrototypeOf(this).constructor.prototype),this.name=e.name,this.$fault=e.$fault,this.$metadata=e.$metadata}static isInstance(e){if(!e)return!1;const t=e;return Lu.prototype.isPrototypeOf(t)||!!t.$fault&&!!t.$metadata&&(t.$fault==="client"||t.$fault==="server")}static[Symbol.hasInstance](e){if(!e)return!1;const t=e;return this===Lu?Lu.isInstance(e):Lu.isInstance(e)?t.name&&this.name?this.prototype.isPrototypeOf(e)||t.name===this.name:this.prototype.isPrototypeOf(e):!1}}const _E=(r,e={})=>{Object.entries(e).filter(([,n])=>n!==void 0).forEach(([n,i])=>{(r[n]==null||r[n]==="")&&(r[n]=i)});const t=r.message||r.Message||"UnknownError";return r.message=t,delete r.Message,r},UV=r=>{switch(r){case"standard":return{retryMode:"standard",connectionTimeout:3100};case"in-region":return{retryMode:"standard",connectionTimeout:1100};case"cross-region":return{retryMode:"standard",connectionTimeout:3100};case"mobile":return{retryMode:"standard",connectionTimeout:3e4};default:return{}}},VI=Object.values(Sf),VV=r=>{const e=[];for(const t in Sf){const n=Sf[t];r[n]!==void 0&&e.push({algorithmId:()=>n,checksumConstructor:()=>r[n]})}for(const[t,n]of Object.entries(r.checksumAlgorithms??{}))e.push({algorithmId:()=>t,checksumConstructor:()=>n});return{addChecksumAlgorithm(t){r.checksumAlgorithms=r.checksumAlgorithms??{};const n=t.algorithmId(),i=t.checksumConstructor();VI.includes(n)?r.checksumAlgorithms[n.toUpperCase()]=i:r.checksumAlgorithms[n]=i,e.push(t)},checksumAlgorithms(){return e}}},zV=r=>{const e={};return r.checksumAlgorithms().forEach(t=>{const n=t.algorithmId();VI.includes(n)&&(e[n]=t.checksumConstructor())}),e},$V=r=>({setRetryStrategy(e){r.retryStrategy=e},retryStrategy(){return r.retryStrategy}}),HV=r=>{const e={};return e.retryStrategy=r.retryStrategy(),e},GV=r=>Object.assign(VV(r),$V(r)),jV=r=>Object.assign(zV(r),HV(r));class zI{trace(){}debug(){}info(){}warn(){}error(){}}const $I="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",NE=Object.entries($I).reduce((r,[e,t])=>(r[t]=Number(e),r),{}),qV=$I.split(""),ju=6,Zd=8,WV=63,Zg=r=>{let e=r.length/4*3;r.slice(-2)==="=="?e-=2:r.slice(-1)==="="&&e--;const t=new ArrayBuffer(e),n=new DataView(t);for(let i=0;i<r.length;i+=4){let a=0,s=0;for(let u=i,c=i+3;u<=c;u++)if(r[u]!=="="){if(!(r[u]in NE))throw new TypeError(`Invalid character ${r[u]} in base64 string.`);a|=NE[r[u]]<<(c-u)*ju,s+=ju}else a>>=ju;const o=i/4*3;a>>=s%Zd;const l=Math.floor(s/Zd);for(let u=0;u<l;u++){const c=(l-u-1)*Zd;n.setUint8(o+u,(a&255<<c)>>c)}}return new Uint8Array(t)},Tl=r=>new TextEncoder().encode(r);function Cg(r){let e;typeof r=="string"?e=Tl(r):e=r;const t=typeof e=="object"&&typeof e.length=="number",n=typeof e=="object"&&typeof e.byteOffset=="number"&&typeof e.byteLength=="number";if(!t&&!n)throw new Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");let i="";for(let a=0;a<e.length;a+=3){let s=0,o=0;for(let u=a,c=Math.min(a+3,e.length);u<c;u++)s|=e[u]<<(c-u-1)*Zd,o+=Zd;const l=Math.ceil(o/ju);s<<=l*ju-o;for(let u=1;u<=l;u++){const c=(l-u)*ju;i+=qV[(s&WV<<c)>>c]}i+="==".slice(0,4-l)}return i}function QV(r,e,t,n){return class Xp extends Uint8Array{static fromString(a,s="utf-8"){if(typeof a=="string")return s==="base64"?Xp.mutate(n(a)):Xp.mutate(e(a));throw new Error(`Unsupported conversion from ${typeof a} to Uint8ArrayBlobAdapter.`)}static mutate(a){return Object.setPrototypeOf(a,Xp.prototype),a}transformToString(a="utf-8"){return a==="base64"?t(this):r(this)}}}const em=r=>{if(typeof r=="string")return r;if(typeof r!="object"||typeof r.byteOffset!="number"||typeof r.byteLength!="number")throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");return new TextDecoder("utf-8").decode(r)},Ii=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function YV(r){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?()=>crypto.randomUUID():()=>{const e=new Uint8Array(16);return r(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128,Ii[e[0]]+Ii[e[1]]+Ii[e[2]]+Ii[e[3]]+"-"+Ii[e[4]]+Ii[e[5]]+"-"+Ii[e[6]]+Ii[e[7]]+"-"+Ii[e[8]]+Ii[e[9]]+"-"+Ii[e[10]]+Ii[e[11]]+Ii[e[12]]+Ii[e[13]]+Ii[e[14]]+Ii[e[15]]}}const AA=r=>{if(r!=null){if(typeof r=="string"){const e=parseFloat(r);if(!Number.isNaN(e))return String(e)!==String(r)&&iz.warn(nz(`Expected number but observed string: ${r}`)),e}if(typeof r=="number")return r;throw new TypeError(`Expected number, got ${typeof r}: ${r}`)}},XV=Math.ceil(2**127*(2-2**-23)),LE=r=>{const e=AA(r);if(e!==void 0&&!Number.isNaN(e)&&e!==1/0&&e!==-1/0&&Math.abs(e)>XV)throw new TypeError(`Expected 32-bit float, got ${r}`);return e},JV=r=>{if(r!=null){if(Number.isInteger(r)&&!Number.isNaN(r))return r;throw new TypeError(`Expected integer, got ${typeof r}: ${r}`)}},UE=r=>HI(r,16),VE=r=>HI(r,8),HI=(r,e)=>{const t=JV(r);if(t!==void 0&&KV(t,e)!==t)throw new TypeError(`Expected ${e}-bit integer, got ${r}`);return t},KV=(r,e)=>{switch(e){case 32:return Int32Array.of(r)[0];case 16:return Int16Array.of(r)[0];case 8:return Int8Array.of(r)[0]}},ZV=r=>AA(typeof r=="string"?tm(r):r),ez=r=>LE(typeof r=="string"?tm(r):r),tz=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,tm=r=>{const e=r.match(tz);if(e===null||e[0].length!==r.length)throw new TypeError("Expected real number, got implicit NaN");return parseFloat(r)},xg=r=>UE(typeof r=="string"?tm(r):r),rz=r=>VE(typeof r=="string"?tm(r):r),nz=r=>String(new TypeError(r).stack||r).split(`
|
|
3041
3041
|
`).slice(0,5).filter(e=>!e.includes("stackTraceWarning")).join(`
|
|
3042
|
-
`),iz={warn:console.warn},az=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],$1=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function sz(r){const e=r.getUTCFullYear(),t=r.getUTCMonth(),n=r.getUTCDay(),i=r.getUTCDate(),a=r.getUTCHours(),s=r.getUTCMinutes(),o=r.getUTCSeconds(),l=i<10?`0${i}`:`${i}`,u=a<10?`0${a}`:`${a}`,c=s<10?`0${s}`:`${s}`,f=o<10?`0${o}`:`${o}`;return`${az[n]}, ${l} ${$1[t]} ${e} ${u}:${c}:${f} GMT`}const oz=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/),lz=r=>{if(r==null)return;if(typeof r!="string")throw new TypeError("RFC-3339 date-times must be expressed as strings");const e=oz.exec(r);if(!e)throw new TypeError("Invalid RFC-3339 date-time value");const[t,n,i,a,s,o,l,u,c]=e,f=xg(Ef(n)),d=yo(i,"month",1,12),h=yo(a,"day",1,31),g=Jp(f,d,h,{hours:s,minutes:o,seconds:l,fractionalMilliseconds:u});return c.toUpperCase()!="Z"&&g.setTime(g.getTime()-wz(c)),g},uz=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),cz=new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),dz=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/),GI=r=>{if(r==null)return;if(typeof r!="string")throw new TypeError("RFC-7231 date-times must be expressed as strings");let e=uz.exec(r);if(e){const[t,n,i,a,s,o,l,u]=e;return Jp(xg(Ef(a)),zv(i),yo(n,"day",1,31),{hours:s,minutes:o,seconds:l,fractionalMilliseconds:u})}if(e=cz.exec(r),e){const[t,n,i,a,s,o,l,u]=e;return gz(Jp(hz(a),zv(i),yo(n,"day",1,31),{hours:s,minutes:o,seconds:l,fractionalMilliseconds:u}))}if(e=dz.exec(r),e){const[t,n,i,a,s,o,l,u]=e;return Jp(xg(Ef(u)),zv(n),yo(i.trimLeft(),"day",1,31),{hours:a,minutes:s,seconds:o,fractionalMilliseconds:l})}throw new TypeError("Invalid RFC-7231 date-time value")},fz=r=>{if(r==null)return;let e;if(typeof r=="number")e=r;else if(typeof r=="string")e=ZV(r);else if(typeof r=="object"&&r.tag===1)e=r.value;else throw new TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation");if(Number.isNaN(e)||e===1/0||e===-1/0)throw new TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics");return new Date(Math.round(e*1e3))},Jp=(r,e,t,n)=>{const i=e-1;return vz(r,i,t),new Date(Date.UTC(r,i,t,yo(n.hours,"hour",0,23),yo(n.minutes,"minute",0,59),yo(n.seconds,"seconds",0,60),Az(n.fractionalMilliseconds)))},hz=r=>{const e=new Date().getUTCFullYear(),t=Math.floor(e/100)*100+xg(Ef(r));return t<e?t+100:t},pz=50*365*24*60*60*1e3,gz=r=>r.getTime()-new Date().getTime()>pz?new Date(Date.UTC(r.getUTCFullYear()-100,r.getUTCMonth(),r.getUTCDate(),r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds())):r,zv=r=>{const e=$1.indexOf(r);if(e<0)throw new TypeError(`Invalid month: ${r}`);return e+1},mz=[31,28,31,30,31,30,31,31,30,31,30,31],vz=(r,e,t)=>{let n=mz[e];if(e===1&&yz(r)&&(n=29),t>n)throw new TypeError(`Invalid day for ${$1[e]} in ${r}: ${t}`)},yz=r=>r%4===0&&(r%100!==0||r%400===0),yo=(r,e,t,n)=>{const i=rz(Ef(r));if(i<t||i>n)throw new TypeError(`${e} must be between ${t} and ${n}, inclusive`);return i},Az=r=>r==null?0:ez("0."+r)*1e3,wz=r=>{const e=r[0];let t=1;if(e=="+")t=1;else if(e=="-")t=-1;else throw new TypeError(`Offset direction, ${e}, must be "+" or "-"`);const n=Number(r.substring(1,3)),i=Number(r.substring(4,6));return t*(n*60+i)*60*1e3},Ef=r=>{let e=0;for(;e<r.length-1&&r.charAt(e)==="0";)e++;return e===0?r:r.slice(e)},po=function(e){return Object.assign(new String(e),{deserializeJSON(){return JSON.parse(String(e))},toString(){return String(e)},toJSON(){return String(e)}})};po.from=r=>r&&typeof r=="object"&&(r instanceof po||"deserializeJSON"in r)?r:typeof r=="string"||Object.getPrototypeOf(r)===String.prototype?po(String(r)):po(JSON.stringify(r));po.fromObject=po.from;const zE=/^-?\d*(\.\d+)?$/;class ns{string;type;constructor(e,t){if(this.string=e,this.type=t,!zE.test(e))throw new Error('@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point ".", and an optional negation prefix "-".')}toString(){return this.string}static[Symbol.hasInstance](e){if(!e||typeof e!="object")return!1;const t=e;return ns.prototype.isPrototypeOf(e)||t.type==="bigDecimal"&&zE.test(t.string)}}const jI={},wA={};for(let r=0;r<256;r++){let e=r.toString(16).toLowerCase();e.length===1&&(e=`0${e}`),jI[r]=e,wA[e]=r}function qI(r){if(r.length%2!==0)throw new Error("Hex encoded strings must have an even number length");const e=new Uint8Array(r.length/2);for(let t=0;t<r.length;t+=2){const n=r.slice(t,t+2).toLowerCase();if(n in wA)e[t/2]=wA[n];else throw new Error(`Cannot decode unrecognized sequence ${n} as hexadecimal`)}return e}function Ao(r){let e="";for(let t=0;t<r.byteLength;t++)e+=jI[r[t]];return e}const $E=typeof TextEncoder=="function"?new TextEncoder:null,bz=r=>{if(typeof r=="string"){if($E)return $E.encode(r).byteLength;let e=r.length;for(let t=e-1;t>=0;t--){const n=r.charCodeAt(t);n>127&&n<=2047?e++:n>2047&&n<=65535&&(e+=2),n>=56320&&n<=57343&&t--}return e}else{if(typeof r.byteLength=="number")return r.byteLength;if(typeof r.size=="number")return r.size}throw new Error(`Body Length computation failed for ${r}`)},kf=r=>typeof r=="string"?Tl(r):ArrayBuffer.isView(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(r),Cz=r=>typeof ArrayBuffer=="function"&&r instanceof ArrayBuffer||Object.prototype.toString.call(r)==="[object ArrayBuffer]",WI=async r=>{},xz=async r=>{const e=r?.Bucket||"";if(typeof r.Bucket=="string"&&(r.Bucket=e.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))),Fz(e)){if(r.ForcePathStyle===!0)throw new Error("Path-style addressing cannot be used with ARN buckets")}else(!Tz(e)||e.indexOf(".")!==-1&&!String(r.Endpoint).startsWith("http:")||e.toLowerCase()!==e||e.length<3)&&(r.ForcePathStyle=!0);return r.DisableMultiRegionAccessPoints&&(r.disableMultiRegionAccessPoints=!0,r.DisableMRAP=!0),r},Sz=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,Ez=/(\d+\.){3}\d+/,kz=/\.\./,Tz=r=>Sz.test(r)&&!Ez.test(r)&&!kz.test(r),Fz=r=>{const[e,t,n,,,i]=r.split(":"),a=e==="arn"&&r.split(":").length>=6,s=!!(a&&t&&n&&i);if(a&&!s)throw new Error(`Invalid ARN: ${r} was an invalid ARN.`);return s},Iz=(r,e,t,n=!1)=>{const i=async()=>{let a;return n?a=t.clientContextParams?.[r]??t[r]??t[e]:a=t[r]??t[e],typeof a=="function"?a():a};return r==="credentialScope"||e==="CredentialScope"?async()=>{const a=typeof t.credentials=="function"?await t.credentials():t.credentials;return a?.credentialScope??a?.CredentialScope}:r==="accountId"||e==="AccountId"?async()=>{const a=typeof t.credentials=="function"?await t.credentials():t.credentials;return a?.accountId??a?.AccountId}:r==="endpoint"||e==="endpoint"?async()=>{if(t.isCustomEndpoint===!1)return;const a=await i();if(a&&typeof a=="object"){if("url"in a)return a.url.href;if("hostname"in a){const{protocol:s,hostname:o,port:l,path:u}=a;return`${s}//${o}${l?":"+l:""}${u}`}}return a}:i};function Pz(r){return async(e,t,n,i)=>{if(!n.isCustomEndpoint){let o;n.serviceConfiguredEndpoint?o=await n.serviceConfiguredEndpoint():o=await r(n.serviceId),o&&(n.endpoint=()=>Promise.resolve(V1(o)),n.isCustomEndpoint=!0)}const a=await Dz(e,t,n);if(typeof n.endpointProvider!="function")throw new Error("config.endpointProvider is not set.");const s=n.endpointProvider(a,i);if(n.isCustomEndpoint&&n.endpoint){const o=await n.endpoint();if(o?.headers){s.headers??={};for(const[l,u]of Object.entries(o.headers))s.headers[l]=Array.isArray(u)?u:[u]}}return s}}const Dz=async(r,e,t)=>{const n={},i=e?.getEndpointParameterInstructions?.()||{};for(const[a,s]of Object.entries(i))switch(s.type){case"staticContextParams":n[a]=s.value;break;case"contextParams":n[a]=r[s.name];break;case"clientContextParams":case"builtInParams":n[a]=await Iz(s.name,a,t,s.type!=="builtInParams")();break;case"operationContextParams":n[a]=s.get(r);break;default:throw new Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(s))}return Object.keys(i).length===0&&Object.assign(n,t),String(t.serviceId).toLowerCase()==="s3"&&await xz(n),n};function Rz(r,e,t){r.__smithy_context?r.__smithy_context.features||(r.__smithy_context.features={}):r.__smithy_context={features:{}},r.__smithy_context.features[e]=t}function Oz(r){const e=Pz(r);return({config:t,instructions:n})=>(i,a)=>async s=>{t.isCustomEndpoint&&Rz(a,"ENDPOINT_OVERRIDE","N");const o=await e(s.input,{getEndpointParameterInstructions(){return n}},{...t},a);a.endpointV2=o,a.authSchemes=o.properties?.authSchemes;const l=a.authSchemes?.[0];if(l){a.signing_region=l.signingRegion,a.signing_service=l.signingName;const c=vc(a)?.selectedHttpAuthScheme?.httpAuthOption;c&&(c.signingProperties=Object.assign(c.signingProperties||{},{signing_region:l.signingRegion,signingRegion:l.signingRegion,signing_service:l.signingName,signingName:l.signingName,signingRegionSet:l.signingRegionSet},l.properties))}return i({...s})}}const Bz={name:"serializerMiddleware"},Mz={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:!0,relation:"before",toMiddleware:Bz.name};function _z(r){const e=Oz(r);return(t,n)=>({applyToStack:i=>{i.addRelativeTo(e({config:t,instructions:n}),Mz)}})}function Nz(r){return e=>{const t=e.tls??!0,{endpoint:n,useDualstackEndpoint:i,useFipsEndpoint:a}=e,s=n!=null?async()=>V1(await Bs(n)()):void 0,l=Object.assign(e,{endpoint:s,tls:t,isCustomEndpoint:!!n,useDualstackEndpoint:Bs(i??!1),useFipsEndpoint:Bs(a??!1)});let u;return l.serviceConfiguredEndpoint=async()=>(e.serviceId&&!u&&(u=r(e.serviceId)),u),l}}class H1{nodes;root;conditions;results;constructor(e,t,n,i){this.nodes=e,this.root=t,this.conditions=n,this.results=i}static from(e,t,n,i){return new H1(e,t,n,i)}}class Lz{capacity;data=new Map;parameters=[];constructor({size:e,params:t}){this.capacity=e??50,t&&(this.parameters=t)}get(e,t){const n=this.hash(e);if(n===!1)return t();if(!this.data.has(n)){if(this.data.size>this.capacity+10){const i=this.data.keys();let a=0;for(;;){const{value:s,done:o}=i.next();if(this.data.delete(s),o||++a>10)break}}this.data.set(n,t())}return this.data.get(n)}size(){return this.data.size}hash(e){let t="";const{parameters:n}=this;if(n.length===0)return!1;for(const i of n){const a=String(e[i]??"");if(a.includes("|;"))return!1;t+=a+"|;"}return t}}class Ba extends Error{constructor(e){super(e),this.name="EndpointError"}}const Uz="endpoints";function Sg(r){return typeof r!="object"||r==null?r:"ref"in r?`$${Sg(r.ref)}`:"fn"in r?`${r.fn}(${(r.argv||[]).map(Sg).join(", ")})`:JSON.stringify(r,null,2)}const G1={},Vz=(r,e)=>r===e;function zz(...r){for(const e of r)if(e!=null)return e}const $z=r=>{const e=r.split("."),t=[];for(const n of e){const i=n.indexOf("[");if(i!==-1){if(n.indexOf("]")!==n.length-1)throw new Ba(`Path: '${r}' does not end with ']'`);const a=n.slice(i+1,-1);if(Number.isNaN(parseInt(a)))throw new Ba(`Invalid array index: '${a}' in path: '${r}'`);i!==0&&t.push(n.slice(0,i)),t.push(a)}else t.push(n)}return t},QI=(r,e)=>$z(e).reduce((t,n)=>{if(typeof t!="object")throw new Ba(`Index '${n}' in '${e}' not found in '${JSON.stringify(r)}'`);if(Array.isArray(t)){const i=parseInt(n);return t[i<0?t.length+i:i]}return t[n]},r),Hz=r=>r!=null;function Gz(r,e,t){return r?e:t}const jz=r=>!r,qz=new RegExp("^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$"),YI=r=>qz.test(r)||r.startsWith("[")&&r.endsWith("]"),$v={[xf.HTTP]:80,[xf.HTTPS]:443},Wz=r=>{const e=(()=>{try{if(r instanceof URL)return r;if(typeof r=="object"&&"hostname"in r){const{hostname:d,port:h,protocol:g="",path:v="",query:y={}}=r,A=new URL(`${g}//${d}${h?`:${h}`:""}${v}`);return A.search=Object.entries(y).map(([C,S])=>`${C}=${S}`).join("&"),A}return new URL(r)}catch{return null}})();if(!e)return console.error(`Unable to parse ${JSON.stringify(r)} as a whatwg URL.`),null;const t=e.href,{host:n,hostname:i,pathname:a,protocol:s,search:o}=e;if(o)return null;const l=s.slice(0,-1);if(!Object.values(xf).includes(l))return null;const u=YI(i),c=t.includes(`${n}:${$v[l]}`)||typeof r=="string"&&r.includes(`${n}:${$v[l]}`),f=`${n}${c?`:${$v[l]}`:""}`;return{scheme:l,authority:f,path:a,normalizedPath:a.endsWith("/")?a:`${a}/`,isIp:u}};function Qz(r,e,t){if(t===1)return[r];if(r==="")return[""];const n=r.split(e);return t===0?n:n.slice(0,t-1).concat(n.slice(1).join(e))}const Yz=(r,e)=>r===e,Xz=(r,e,t,n)=>r==null||e>=t||r.length<t||/[^\u0000-\u007f]/.test(r)?null:n?r.substring(r.length-t,r.length-e):r.substring(e,t),Jz=r=>encodeURIComponent(r).replace(/[!*'()]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),Kz={booleanEquals:Vz,coalesce:zz,getAttr:QI,isSet:Hz,isValidHostLabel:Kg,ite:Gz,not:jz,parseURL:Wz,split:Qz,stringEquals:Yz,substring:Xz,uriEncode:Jz},XI=(r,e)=>{const t=[],{referenceRecord:n,endpointParams:i}=e;let a=0;for(;a<r.length;){const s=r.indexOf("{",a);if(s===-1){t.push(r.slice(a));break}t.push(r.slice(a,s));const o=r.indexOf("}",s);if(o===-1){t.push(r.slice(s));break}r[s+1]==="{"&&r[o+1]==="}"&&(t.push(r.slice(s+1,o)),a=o+2);const l=r.substring(s+1,o);if(l.includes("#")){const[u,c]=l.split("#");t.push(QI(n[u]??i[u],c))}else t.push(n[l]??i[l]);a=o+1}return t.join("")},Zz=({ref:r},e)=>e.referenceRecord[r]??e.endpointParams[r],rm=(r,e,t)=>{if(typeof r=="string")return XI(r,t);if(r.fn)return KI.callFunction(r,t);if(r.ref)return Zz(r,t);throw new Ba(`'${e}': ${String(r)} is not a string, function or reference.`)},JI=({fn:r,argv:e},t)=>{const n=Array(e.length);for(let s=0;s<n.length;++s){const o=e[s];typeof o=="boolean"||typeof o=="number"?n[s]=o:n[s]=KI.evaluateExpression(o,"arg",t)}const i=r.indexOf(".");if(i!==-1){const o=G1[r.slice(0,i)]?.[r.slice(i+1)];if(typeof o=="function")return o(...n)}const a=Kz[r];if(typeof a=="function")return a(...n);throw new Error(`function ${r} not loaded in endpointFunctions.`)},KI={evaluateExpression:rm,callFunction:JI},e$=(r,e)=>{const{assign:t}=r;if(t&&t in e.referenceRecord)throw new Ba(`'${t}' is already defined in Reference Record.`);const n=JI(r,e);e.logger?.debug?.(`${Uz} evaluateCondition: ${Sg(r)} = ${Sg(n)}`);const i=n===""?!0:!!n;return t!=null?{result:i,toAssign:{name:t,value:n}}:{result:i}},t$=(r,e)=>Object.entries(r??{}).reduce((t,[n,i])=>(t[n]=i.map(a=>{const s=rm(a,"Header value entry",e);if(typeof s!="string")throw new Ba(`Header '${n}' value '${s}' is not a string`);return s}),t),{}),ZI=(r,e)=>Object.entries(r).reduce((t,[n,i])=>(t[n]=tP.getEndpointProperty(i,e),t),{}),eP=(r,e)=>{if(Array.isArray(r))return r.map(t=>eP(t,e));switch(typeof r){case"string":return XI(r,e);case"object":if(r===null)throw new Ba(`Unexpected endpoint property: ${r}`);return tP.getEndpointProperties(r,e);case"boolean":return r;default:throw new Ba(`Unexpected endpoint property type: ${typeof r}`)}},tP={getEndpointProperty:eP,getEndpointProperties:ZI},r$=(r,e)=>{const t=rm(r,"Endpoint URL",e);if(typeof t=="string")try{return new URL(t)}catch(n){throw console.error(`Failed to construct URL with ${t}`,n),n}throw new Ba(`Endpoint URL must be a string, got ${typeof t}`)},Hv=1e8,n$=(r,e)=>{const{nodes:t,root:n,results:i,conditions:a}=r;let s=n;const o={},l={referenceRecord:o,endpointParams:e.endpointParams,logger:e.logger};for(;s!==1&&s!==-1&&s<Hv;){const u=3*(Math.abs(s)-1),[c,f,d]=[t[u],t[u+1],t[u+2]],[h,g,v]=a[c],y=e$({fn:h,assign:v,argv:g},l);if(y.toAssign){const{name:A,value:C}=y.toAssign;o[A]=C}s=s>=0===y.result?f:d}if(s>=Hv){const u=i[s-Hv];if(u[0]===-1){const[,h]=u;throw new Ba(rm(h,"Error",l))}const[c,f,d]=u;return{url:r$(c,l),properties:ZI(f,l),headers:t$(d??{},l)}}throw new Ba("No matching endpoint.")},i$=Nz(WI),rP=_z(WI);class Gv extends QV(em,Tl,Cg,Zg){}const a$=r=>crypto.getRandomValues(r),nP=YV(a$),s$=nP,bA=async(r=new Uint8Array,e)=>{if(r instanceof Uint8Array)return Gv.mutate(r);if(!r)return Gv.mutate(new Uint8Array);const t=e.streamCollector(r);return Gv.mutate(await t)};class o${serdeContext;setSerdeContext(e){this.serdeContext=e}}class l$ extends o${options;compositeErrorRegistry;constructor(e){super(),this.options=e,this.compositeErrorRegistry=Zi.for(e.defaultNamespace);for(const t of e.errorTypeRegistries??[])this.compositeErrorRegistry.copyFrom(t)}getRequestType(){return na}getResponseType(){return sc}setSerdeContext(e){this.serdeContext=e,this.serializer.setSerdeContext(e),this.deserializer.setSerdeContext(e),this.getPayloadCodec()&&this.getPayloadCodec().setSerdeContext(e)}updateServiceEndpoint(e,t){if("url"in t){e.protocol=t.url.protocol,e.hostname=t.url.hostname,e.port=t.url.port?Number(t.url.port):void 0,e.path=t.url.pathname,e.fragment=t.url.hash||void 0,e.username=t.url.username||void 0,e.password=t.url.password||void 0,e.query||(e.query={});for(const[n,i]of t.url.searchParams.entries())e.query[n]=i;if(t.headers)for(const n in t.headers)e.headers[n]=t.headers[n].join(", ");return e}else{if(e.protocol=t.protocol,e.hostname=t.hostname,e.port=t.port?Number(t.port):void 0,e.path=t.path,e.query={...t.query},t.headers)for(const n in t.headers)e.headers[n]=t.headers[n];return e}}setHostPrefix(e,t,n){if(this.serdeContext?.disableHostPrefix)return;const i=vi.of(t.input),a=zd(t.traits??{});if(a.endpoint){let s=a.endpoint?.[0];if(typeof s=="string"){for(const[o,l]of i.structIterator()){if(!l.getMergedTraits().hostLabel)continue;const u=n[o];if(typeof u!="string")throw new Error(`@smithy/core/schema - ${o} in input must be a string as hostLabel.`);s=s.replace(`{${o}}`,u)}e.hostname=s+e.hostname}}}deserializeMetadata(e){return{httpStatusCode:e.statusCode,requestId:e.headers["x-amzn-requestid"]??e.headers["x-amzn-request-id"]??e.headers["x-amz-request-id"],extendedRequestId:e.headers["x-amz-id-2"],cfId:e.headers["x-amz-cf-id"]}}async serializeEventStream({eventStream:e,requestSchema:t,initialRequest:n}){return(await this.loadEventStreamCapability()).serializeEventStream({eventStream:e,requestSchema:t,initialRequest:n})}async deserializeEventStream({response:e,responseSchema:t,initialResponseContainer:n}){return(await this.loadEventStreamCapability()).deserializeEventStream({response:e,responseSchema:t,initialResponseContainer:n})}async loadEventStreamCapability(){const{EventStreamSerde:e,eventStreamSerdeProvider:t}=await Promise.resolve().then(()=>require("./index.browser-DkPy7zyG.cjs")),n=this.resolveEventStreamMarshaller(t);return new e({marshaller:n,serializer:this.serializer,deserializer:this.deserializer,serdeContext:this.serdeContext,defaultContentType:this.getDefaultContentType()})}resolveEventStreamMarshaller(e){const t=this.serdeContext;return t.eventStreamMarshaller?t.eventStreamMarshaller:e(this.serdeContext)}getDefaultContentType(){throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`)}async deserializeHttpMessage(e,t,n,i,a){return[]}getEventStreamMarshaller(){const e=this.serdeContext;if(!e.eventStreamMarshaller)throw new Error("@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.");return e.eventStreamMarshaller}}class u$ extends l${async serializeRequest(e,t,n){const i=this.serializer,a={},s={},o=await n.endpoint(),l=vi.of(e?.input),u=l.getSchema();let c;const f=t&&typeof t=="object"?t:{},d=new na({protocol:"",hostname:"",port:void 0,path:"/",fragment:void 0,query:a,headers:s,body:void 0});if(o&&(this.updateServiceEndpoint(d,o),this.setHostPrefix(d,e,f)),f){const h=l.getEventStreamMember();if(h){if(f[h]){const g={};for(const[v,y]of l.structIterator())v!==h&&f[v]&&(i.write(y,f[v]),g[v]=i.flush());c=await this.serializeEventStream({eventStream:f[h],requestSchema:l,initialRequest:g})}}else i.write(u,f),c=i.flush()}return d.headers=Object.assign(d.headers,s),d.query=a,d.body=c,d.method="POST",d}async deserializeResponse(e,t,n){const i=this.deserializer,a=vi.of(e.output),s={};if(n.statusCode>=300){const l=await bA(n.body,t);throw l.byteLength>0&&Object.assign(s,await i.read(15,l)),await this.handleError(e,t,n,s,this.deserializeMetadata(n)),new Error("@smithy/core/protocols - RPC Protocol error handler failed to throw.")}for(const l in n.headers){const u=n.headers[l];delete n.headers[l],n.headers[l.toLowerCase()]=u}const o=a.getEventStreamMember();if(o)s[o]=await this.deserializeEventStream({response:n,responseSchema:a,initialResponseContainer:s});else{const l=await bA(n.body,t);l.byteLength>0&&Object.assign(s,await i.read(a,l))}return s.$metadata=this.deserializeMetadata(n),s}}function iP(r,e){if(e.timestampFormat.useTrait&&r.isTimestampSchema()&&(r.getSchema()===5||r.getSchema()===6||r.getSchema()===7))return r.getSchema();const{httpLabel:t,httpPrefixHeaders:n,httpHeader:i,httpQuery:a}=r.getMergedTraits();return(e.httpBindings?typeof n=="string"||i?6:a||t?5:void 0:void 0)??e.timestampFormat.default}const c$=r=>({setHttpHandler(e){r.httpHandler=e},httpHandler(){return r.httpHandler},updateHttpClientConfig(e,t){r.httpHandler?.updateHttpClientConfig(e,t)},httpHandlerConfigs(){return r.httpHandler.httpHandlerConfigs()}}),d$=r=>({httpHandler:r.httpHandler()}),HE="content-length";function f$(r){return e=>async t=>{const n=t.request;if(na.isInstance(n)){const{body:i,headers:a}=n;if(i&&Object.keys(a).map(s=>s.toLowerCase()).indexOf(HE)===-1)try{const s=r(i);n.headers={...n.headers,[HE]:String(s)}}catch{}}return e({...t,request:n})}}const h$={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:!0},p$=r=>({applyToStack:e=>{e.add(f$(r.bodyLengthChecker),h$)}}),xl=r=>encodeURIComponent(r).replace(/[!'()*]/g,g$),g$=r=>`%${r.charCodeAt(0).toString(16).toUpperCase()}`;function m$(r){const e=[];for(let t of Object.keys(r).sort()){const n=r[t];if(t=xl(t),Array.isArray(n))for(let i=0,a=n.length;i<a;i++)e.push(`${t}=${xl(n[i])}`);else{let i=t;(n||typeof n=="string")&&(i+=`=${xl(n)}`),e.push(i)}}return e.join("&")}const v$=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],y$=["TimeoutError","RequestTimeout","RequestTimeoutException"],A$=[500,502,503,504],w$=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],b$=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND","EAI_AGAIN"],C$=r=>r?.$retryable!==void 0,x$=r=>r.$metadata?.clockSkewCorrected,S$=r=>{const e=new Set(["Failed to fetch","NetworkError when attempting to fetch resource","The Internet connection appears to be offline","Load failed","Network request failed"]);return r&&r instanceof TypeError?e.has(r.message):!1},aP=r=>r.$metadata?.httpStatusCode===429||v$.includes(r.name)||r.$retryable?.throttling==!0,j1=(r,e=0)=>C$(r)||x$(r)||r.name==="InvalidSignatureException"&&r.message?.includes("Signature expired")||y$.includes(r.name)||w$.includes(r?.code||"")||b$.includes(r?.code||"")||A$.includes(r.$metadata?.httpStatusCode||0)||S$(r)||k$(r)||r.cause!==void 0&&e<=10&&j1(r.cause,e+1),E$=r=>{if(r.$metadata?.httpStatusCode!==void 0){const e=r.$metadata.httpStatusCode;return 500<=e&&e<=599&&!j1(r)}return!1};function k$(r){return r.code==="ERR_HTTP2_STREAM_ERROR"&&r.message.includes("NGHTTP2_REFUSED_STREAM")}const sP=20*1e3,GE=500,T$=1,F$="amz-sdk-invocation-id",I$="amz-sdk-request";function P$(r,e){if(sc.isInstance(r))for(const t of Object.keys(r.headers)){const n=t.toLowerCase();if(n==="retry-after"){const i=r.headers[t];let a=NaN;if(i.endsWith("GMT"))try{a=(GI(i).getTime()-Date.now())/1e3}catch(s){e?.trace?.("Failed to parse retry-after header"),e?.trace?.(s)}else i.match(/ GMT, ((\d+)|(\d+\.\d+))$/)?a=Number(i.match(/ GMT, ([\d.]+)$/)?.[1]):i.match(/^((\d+)|(\d+\.\d+))$/)?a=Number(i):Date.parse(i)>=Date.now()&&(a=(Date.parse(i)-Date.now())/1e3);return isNaN(a)?void 0:new Date(Date.now()+a*1e3)}else if(n==="x-amz-retry-after"){const i=r.headers[t],a=Number(i);if(isNaN(a)){e?.trace?.(`Failed to parse x-amz-retry-after=${i}`);return}return new Date(Date.now()+a)}}}const D$=r=>r instanceof Error?r:r instanceof Object?Object.assign(new Error,r):typeof r=="string"?new Error(r):new Error(`AWS SDK error wrapper for ${r}`);function R$(r){return e=>(t,n)=>async i=>{let a=await e.retryStrategy();const s=await e.maxAttempts();if(B$(a)){a=a;let o=await a.acquireInitialRetryToken((n.partition_id??"")+(n.__retryLongPoll?":longpoll":"")),l=new Error,u=0,c=0;const{request:f}=i,d=na.isInstance(f);for(d&&(f.headers[F$]=nP());;)try{d&&(f.headers[I$]=`attempt=${u+1}; max=${s}`);const{response:h,output:g}=await t(i);return a.recordSuccess(o),g.$metadata.attempts=u+1,g.$metadata.totalRetryDelay=c,{response:h,output:g}}catch(h){const g=M$(h,e.logger);if(l=D$(h),d&&r(f))throw(n.logger instanceof zI?console:n.logger)?.warn("An error was encountered in a non-retryable streaming request."),l;try{o=await a.refreshRetryTokenForRetry(o,g)}catch{throw l.$metadata||(l.$metadata={}),l.$metadata.attempts=u+1,l.$metadata.totalRetryDelay=c,l}u=o.getRetryCount();const v=o.getRetryDelay();c+=(o?.$retryLog?.acquisitionDelay??0)+v,v>0&&await O$(v)}}else return a=a,a?.mode&&(n.userAgent=[...n.userAgent||[],["cfg/retry-mode",a.mode]]),a.retry(t,i)}}const O$=r=>new Promise(e=>setTimeout(e,r)),B$=r=>typeof r.acquireInitialRetryToken<"u"&&typeof r.refreshRetryTokenForRetry<"u"&&typeof r.recordSuccess<"u",M$=(r,e)=>{const t={error:r,errorType:_$(r)},n=P$(r.$response,e);return n&&(t.retryAfterHint=n),t},_$=r=>aP(r)?"THROTTLING":j1(r)?"TRANSIENT":E$(r)?"SERVER_ERROR":"CLIENT_ERROR",N$={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high",override:!0};function L$(r){const e=R$(r);return t=>({applyToStack:n=>{n.add(e(t),N$)}})}class q1{static setTimeoutFn=(e,t)=>setTimeout(e,t);beta;minCapacity;minFillRate;scaleConstant;smooth;enabled=!1;availableTokens=0;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor(e){this.beta=e?.beta??.7,this.minCapacity=e?.minCapacity??1,this.minFillRate=e?.minFillRate??.5,this.scaleConstant=e?.scaleConstant??.4,this.smooth=e?.smooth??.8,this.lastThrottleTime=this.getCurrentTimeInSeconds(),this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}async getSendToken(){return this.acquireTokenBucket(1)}updateClientSendingRate(e){let t;this.updateMeasuredRate();const n=e;if(n?.errorType==="THROTTLING"||aP(n?.error??e)){const s=this.enabled?Math.min(this.measuredTxRate,this.fillRate):this.measuredTxRate;this.lastMaxRate=s,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),t=this.cubicThrottle(s),this.enableTokenBucket()}else this.calculateTimeWindow(),t=this.cubicSuccess(this.getCurrentTimeInSeconds());const a=Math.min(t,2*this.measuredTxRate);this.updateTokenBucketRate(a)}getCurrentTimeInSeconds(){return Date.now()/1e3}async acquireTokenBucket(e){if(this.enabled){for(this.refillTokenBucket();e>this.availableTokens;){const t=(e-this.availableTokens)/this.fillRate*1e3;await new Promise(n=>q1.setTimeoutFn(n,t)),this.refillTokenBucket()}this.availableTokens=this.availableTokens-e}}refillTokenBucket(){const e=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=e;return}const t=(e-this.lastTimestamp)*this.fillRate;this.availableTokens=Math.min(this.maxCapacity,this.availableTokens+t),this.lastTimestamp=e}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,1/3))}cubicThrottle(e){return this.getPrecise(e*this.beta)}cubicSuccess(e){return this.getPrecise(this.scaleConstant*Math.pow(e-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate(e){this.refillTokenBucket(),this.fillRate=Math.max(e,this.minFillRate),this.maxCapacity=Math.max(e,this.minCapacity),this.availableTokens=Math.min(this.availableTokens,this.maxCapacity)}updateMeasuredRate(){const e=this.getCurrentTimeInSeconds(),t=Math.floor(e*2)/2;if(this.requestCount++,t>this.lastTxRateBucket){const n=this.requestCount/(t-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(n*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=t}}getPrecise(e){return parseFloat(e.toFixed(8))}}class Ei{static v2026=typeof process<"u"&&process.env?.SMITHY_NEW_RETRIES_2026==="true";static delay(){return Ei.v2026?50:100}static throttlingDelay(){return Ei.v2026?1e3:500}static cost(){return Ei.v2026?14:5}static throttlingCost(){return Ei.v2026?5:10}static modifiedCostType(){return Ei.v2026?"THROTTLING":"TRANSIENT"}}class U${x=Ei.delay();computeNextBackoffDelay(e){const i=Math.random()*Math.min(this.x*2**e,sP);return Math.floor(i)}setDelayBase(e){this.x=e}}class jE{delay;count;cost;longPoll;$retryLog={acquisitionDelay:0};constructor(e,t,n,i){this.delay=e,this.count=t,this.cost=n,this.longPoll=i}getRetryCount(){return this.count}getRetryDelay(){return Math.min(sP,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}}var Do;(function(r){r.STANDARD="standard",r.ADAPTIVE="adaptive"})(Do||(Do={}));const ef=3,V$=Do.STANDARD,kp={incompatible:1,attempts:2,capacity:3};class CA{mode=Do.STANDARD;retryBackoffStrategy;capacity=GE;maxAttemptsProvider;baseDelay;constructor(e){typeof e=="number"?this.maxAttemptsProvider=async()=>e:typeof e=="function"?this.maxAttemptsProvider=e:e&&typeof e=="object"&&(this.maxAttemptsProvider=async()=>e.maxAttempts,this.baseDelay=e.baseDelay,this.retryBackoffStrategy=e.backoff),this.maxAttemptsProvider??=async()=>ef,this.baseDelay??=Ei.delay(),this.retryBackoffStrategy??=new U$}async acquireInitialRetryToken(e){return new jE(Ei.delay(),0,void 0,Ei.v2026&&e.includes(":longpoll"))}async refreshRetryTokenForRetry(e,t){const n=await this.getMaxAttempts(),i=this.retryCode(e,t,n),a=i===0,s=e.isLongPoll?.();if(a||s){const o=t.errorType;this.retryBackoffStrategy.setDelayBase(o==="THROTTLING"?Ei.throttlingDelay():this.baseDelay);const l=this.retryBackoffStrategy.computeNextBackoffDelay(e.getRetryCount());let u=l;if(t.retryAfterHint instanceof Date&&(u=Math.max(l,Math.min(t.retryAfterHint.getTime()-Date.now(),l+5e3))),a){const c=this.getCapacityCost(o);this.capacity-=c;const f=new jE(0,e.getRetryCount()+1,c,e.isLongPoll?.()??!1);return await new Promise(d=>setTimeout(d,u)),f.$retryLog.acquisitionDelay=u,f}else{const c=Ei.v2026&&i===kp.capacity&&s?u:0;c>0&&await new Promise(f=>setTimeout(f,c))}}throw new Error("No retry token available")}recordSuccess(e){this.capacity=Math.min(GE,this.capacity+(e.getRetryCost()??T$))}getCapacity(){return this.capacity}async maxAttempts(){return this.maxAttemptsProvider()}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch{return console.warn(`Max attempts provider could not resolve. Using default of ${ef}`),ef}}retryCode(e,t,n){const i=e.getRetryCount()+1,a=this.isRetryableError(t.errorType)?0:kp.incompatible,s=i<n?0:kp.attempts,o=this.capacity>=this.getCapacityCost(t.errorType)?0:kp.capacity;return a||s||o}getCapacityCost(e){return e===Ei.modifiedCostType()?Ei.throttlingCost():Ei.cost()}isRetryableError(e){return e==="THROTTLING"||e==="TRANSIENT"}}class z${mode=Do.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor(e,t){const{rateLimiter:n}=t??{};this.rateLimiter=n??new q1,this.standardRetryStrategy=t?new CA({maxAttempts:typeof e=="number"?e:3,...t}):new CA(e)}async acquireInitialRetryToken(e){const t=await this.standardRetryStrategy.acquireInitialRetryToken(e);return await this.rateLimiter.getSendToken(),t}async refreshRetryTokenForRetry(e,t){this.rateLimiter.updateClientSendingRate(t);const n=await this.standardRetryStrategy.refreshRetryTokenForRetry(e,t);return await this.rateLimiter.getSendToken(),n}recordSuccess(e){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(e)}async maxAttemptsProvider(){return this.standardRetryStrategy.maxAttempts()}}const $$=(r,e)=>{const{retryStrategy:t,retryMode:n}=r,{defaultMaxAttempts:i=ef,defaultBaseDelay:a=Ei.delay()}={},s=Bs(r.maxAttempts??i);let o=t?Promise.resolve(t):void 0;const l=async()=>{const u=await s();return await Bs(n)()===Do.ADAPTIVE?new z$(s,{maxAttempts:u,baseDelay:a}):new CA({maxAttempts:u,baseDelay:a})};return Object.assign(r,{maxAttempts:s,retryStrategy:()=>o??=l()})},H$=L$(kV);Ei.v2026||=typeof process=="object"&&process.env?.AWS_NEW_RETRIES_2026==="true";function Is(r,e,t){r.__aws_sdk_context?r.__aws_sdk_context.features||(r.__aws_sdk_context.features={}):r.__aws_sdk_context={features:{}},r.__aws_sdk_context.features[e]=t}const G$=r=>e=>async t=>{if(!na.isInstance(t.request))return e(t);const{request:n}=t,{handlerProtocol:i=""}=r.requestHandler.metadata||{};if(i.indexOf("h2")>=0&&!n.headers[":authority"])delete n.headers.host,n.headers[":authority"]=n.hostname+(n.port?":"+n.port:"");else if(!n.headers.host){let a=n.hostname;n.port!=null&&(a+=`:${n.port}`),n.headers.host=a}return e(t)},j$={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:!0},q$=r=>({applyToStack:e=>{e.add(G$(r),j$)}}),W$=()=>(r,e)=>async t=>{try{const n=await r(t),{clientName:i,commandName:a,logger:s,dynamoDbDocumentClientOptions:o={}}=e,{overrideInputFilterSensitiveLog:l,overrideOutputFilterSensitiveLog:u}=o,c=l??e.inputFilterSensitiveLog,f=u??e.outputFilterSensitiveLog,{$metadata:d,...h}=n.output;return s?.info?.({clientName:i,commandName:a,input:c(t.input),output:f(h),metadata:d}),n}catch(n){const{clientName:i,commandName:a,logger:s,dynamoDbDocumentClientOptions:o={}}=e,{overrideInputFilterSensitiveLog:l}=o,u=l??e.inputFilterSensitiveLog;throw s?.error?.({clientName:i,commandName:a,input:u(t.input),error:n,metadata:n.$metadata}),n}},Q$={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize",override:!0},Y$=r=>({applyToStack:e=>{e.add(W$(),Q$)}}),X$=r=>({applyToStack:e=>{}}),J$=(r,e)=>{if(!e||e.length===0)return r;const t=[];for(const n of e)for(const i of r)i.schemeId.split("#")[1]===n&&t.push(i);for(const n of r)t.find(({schemeId:i})=>i===n.schemeId)||t.push(n);return t};function K$(r){const e=new Map;for(const t of r)e.set(t.schemeId,t);return e}const Z$=(r,e)=>(t,n)=>async i=>{const a=r.httpAuthSchemeProvider(await e.httpAuthSchemeParametersProvider(r,n,i.input)),s=r.authSchemePreference?await r.authSchemePreference():[],o=J$(a,s),l=K$(r.httpAuthSchemes),u=vc(n),c=[];for(const f of o){const d=l.get(f.schemeId);if(!d){c.push(`HttpAuthScheme \`${f.schemeId}\` was not enabled for this service.`);continue}const h=d.identityProvider(await e.identityProviderConfigProvider(r));if(!h){c.push(`HttpAuthScheme \`${f.schemeId}\` did not have an IdentityProvider configured.`);continue}const{identityProperties:g={},signingProperties:v={}}=f.propertiesExtractor?.(r,n)||{};f.identityProperties=Object.assign(f.identityProperties||{},g),f.signingProperties=Object.assign(f.signingProperties||{},v),u.selectedHttpAuthScheme={httpAuthOption:f,identity:await h(f.identityProperties),signer:d.signer};break}if(!u.selectedHttpAuthScheme)throw new Error(c.join(`
|
|
3042
|
+
`),iz={warn:console.warn},az=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],$1=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function sz(r){const e=r.getUTCFullYear(),t=r.getUTCMonth(),n=r.getUTCDay(),i=r.getUTCDate(),a=r.getUTCHours(),s=r.getUTCMinutes(),o=r.getUTCSeconds(),l=i<10?`0${i}`:`${i}`,u=a<10?`0${a}`:`${a}`,c=s<10?`0${s}`:`${s}`,f=o<10?`0${o}`:`${o}`;return`${az[n]}, ${l} ${$1[t]} ${e} ${u}:${c}:${f} GMT`}const oz=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/),lz=r=>{if(r==null)return;if(typeof r!="string")throw new TypeError("RFC-3339 date-times must be expressed as strings");const e=oz.exec(r);if(!e)throw new TypeError("Invalid RFC-3339 date-time value");const[t,n,i,a,s,o,l,u,c]=e,f=xg(Ef(n)),d=yo(i,"month",1,12),h=yo(a,"day",1,31),g=Jp(f,d,h,{hours:s,minutes:o,seconds:l,fractionalMilliseconds:u});return c.toUpperCase()!="Z"&&g.setTime(g.getTime()-wz(c)),g},uz=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),cz=new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),dz=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/),GI=r=>{if(r==null)return;if(typeof r!="string")throw new TypeError("RFC-7231 date-times must be expressed as strings");let e=uz.exec(r);if(e){const[t,n,i,a,s,o,l,u]=e;return Jp(xg(Ef(a)),zv(i),yo(n,"day",1,31),{hours:s,minutes:o,seconds:l,fractionalMilliseconds:u})}if(e=cz.exec(r),e){const[t,n,i,a,s,o,l,u]=e;return gz(Jp(hz(a),zv(i),yo(n,"day",1,31),{hours:s,minutes:o,seconds:l,fractionalMilliseconds:u}))}if(e=dz.exec(r),e){const[t,n,i,a,s,o,l,u]=e;return Jp(xg(Ef(u)),zv(n),yo(i.trimLeft(),"day",1,31),{hours:a,minutes:s,seconds:o,fractionalMilliseconds:l})}throw new TypeError("Invalid RFC-7231 date-time value")},fz=r=>{if(r==null)return;let e;if(typeof r=="number")e=r;else if(typeof r=="string")e=ZV(r);else if(typeof r=="object"&&r.tag===1)e=r.value;else throw new TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation");if(Number.isNaN(e)||e===1/0||e===-1/0)throw new TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics");return new Date(Math.round(e*1e3))},Jp=(r,e,t,n)=>{const i=e-1;return vz(r,i,t),new Date(Date.UTC(r,i,t,yo(n.hours,"hour",0,23),yo(n.minutes,"minute",0,59),yo(n.seconds,"seconds",0,60),Az(n.fractionalMilliseconds)))},hz=r=>{const e=new Date().getUTCFullYear(),t=Math.floor(e/100)*100+xg(Ef(r));return t<e?t+100:t},pz=50*365*24*60*60*1e3,gz=r=>r.getTime()-new Date().getTime()>pz?new Date(Date.UTC(r.getUTCFullYear()-100,r.getUTCMonth(),r.getUTCDate(),r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds())):r,zv=r=>{const e=$1.indexOf(r);if(e<0)throw new TypeError(`Invalid month: ${r}`);return e+1},mz=[31,28,31,30,31,30,31,31,30,31,30,31],vz=(r,e,t)=>{let n=mz[e];if(e===1&&yz(r)&&(n=29),t>n)throw new TypeError(`Invalid day for ${$1[e]} in ${r}: ${t}`)},yz=r=>r%4===0&&(r%100!==0||r%400===0),yo=(r,e,t,n)=>{const i=rz(Ef(r));if(i<t||i>n)throw new TypeError(`${e} must be between ${t} and ${n}, inclusive`);return i},Az=r=>r==null?0:ez("0."+r)*1e3,wz=r=>{const e=r[0];let t=1;if(e=="+")t=1;else if(e=="-")t=-1;else throw new TypeError(`Offset direction, ${e}, must be "+" or "-"`);const n=Number(r.substring(1,3)),i=Number(r.substring(4,6));return t*(n*60+i)*60*1e3},Ef=r=>{let e=0;for(;e<r.length-1&&r.charAt(e)==="0";)e++;return e===0?r:r.slice(e)},po=function(e){return Object.assign(new String(e),{deserializeJSON(){return JSON.parse(String(e))},toString(){return String(e)},toJSON(){return String(e)}})};po.from=r=>r&&typeof r=="object"&&(r instanceof po||"deserializeJSON"in r)?r:typeof r=="string"||Object.getPrototypeOf(r)===String.prototype?po(String(r)):po(JSON.stringify(r));po.fromObject=po.from;const zE=/^-?\d*(\.\d+)?$/;class ns{string;type;constructor(e,t){if(this.string=e,this.type=t,!zE.test(e))throw new Error('@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point ".", and an optional negation prefix "-".')}toString(){return this.string}static[Symbol.hasInstance](e){if(!e||typeof e!="object")return!1;const t=e;return ns.prototype.isPrototypeOf(e)||t.type==="bigDecimal"&&zE.test(t.string)}}const jI={},wA={};for(let r=0;r<256;r++){let e=r.toString(16).toLowerCase();e.length===1&&(e=`0${e}`),jI[r]=e,wA[e]=r}function qI(r){if(r.length%2!==0)throw new Error("Hex encoded strings must have an even number length");const e=new Uint8Array(r.length/2);for(let t=0;t<r.length;t+=2){const n=r.slice(t,t+2).toLowerCase();if(n in wA)e[t/2]=wA[n];else throw new Error(`Cannot decode unrecognized sequence ${n} as hexadecimal`)}return e}function Ao(r){let e="";for(let t=0;t<r.byteLength;t++)e+=jI[r[t]];return e}const $E=typeof TextEncoder=="function"?new TextEncoder:null,bz=r=>{if(typeof r=="string"){if($E)return $E.encode(r).byteLength;let e=r.length;for(let t=e-1;t>=0;t--){const n=r.charCodeAt(t);n>127&&n<=2047?e++:n>2047&&n<=65535&&(e+=2),n>=56320&&n<=57343&&t--}return e}else{if(typeof r.byteLength=="number")return r.byteLength;if(typeof r.size=="number")return r.size}throw new Error(`Body Length computation failed for ${r}`)},kf=r=>typeof r=="string"?Tl(r):ArrayBuffer.isView(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(r),Cz=r=>typeof ArrayBuffer=="function"&&r instanceof ArrayBuffer||Object.prototype.toString.call(r)==="[object ArrayBuffer]",WI=async r=>{},xz=async r=>{const e=r?.Bucket||"";if(typeof r.Bucket=="string"&&(r.Bucket=e.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))),Fz(e)){if(r.ForcePathStyle===!0)throw new Error("Path-style addressing cannot be used with ARN buckets")}else(!Tz(e)||e.indexOf(".")!==-1&&!String(r.Endpoint).startsWith("http:")||e.toLowerCase()!==e||e.length<3)&&(r.ForcePathStyle=!0);return r.DisableMultiRegionAccessPoints&&(r.disableMultiRegionAccessPoints=!0,r.DisableMRAP=!0),r},Sz=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,Ez=/(\d+\.){3}\d+/,kz=/\.\./,Tz=r=>Sz.test(r)&&!Ez.test(r)&&!kz.test(r),Fz=r=>{const[e,t,n,,,i]=r.split(":"),a=e==="arn"&&r.split(":").length>=6,s=!!(a&&t&&n&&i);if(a&&!s)throw new Error(`Invalid ARN: ${r} was an invalid ARN.`);return s},Iz=(r,e,t,n=!1)=>{const i=async()=>{let a;return n?a=t.clientContextParams?.[r]??t[r]??t[e]:a=t[r]??t[e],typeof a=="function"?a():a};return r==="credentialScope"||e==="CredentialScope"?async()=>{const a=typeof t.credentials=="function"?await t.credentials():t.credentials;return a?.credentialScope??a?.CredentialScope}:r==="accountId"||e==="AccountId"?async()=>{const a=typeof t.credentials=="function"?await t.credentials():t.credentials;return a?.accountId??a?.AccountId}:r==="endpoint"||e==="endpoint"?async()=>{if(t.isCustomEndpoint===!1)return;const a=await i();if(a&&typeof a=="object"){if("url"in a)return a.url.href;if("hostname"in a){const{protocol:s,hostname:o,port:l,path:u}=a;return`${s}//${o}${l?":"+l:""}${u}`}}return a}:i};function Pz(r){return async(e,t,n,i)=>{if(!n.isCustomEndpoint){let o;n.serviceConfiguredEndpoint?o=await n.serviceConfiguredEndpoint():o=await r(n.serviceId),o&&(n.endpoint=()=>Promise.resolve(V1(o)),n.isCustomEndpoint=!0)}const a=await Dz(e,t,n);if(typeof n.endpointProvider!="function")throw new Error("config.endpointProvider is not set.");const s=n.endpointProvider(a,i);if(n.isCustomEndpoint&&n.endpoint){const o=await n.endpoint();if(o?.headers){s.headers??={};for(const[l,u]of Object.entries(o.headers))s.headers[l]=Array.isArray(u)?u:[u]}}return s}}const Dz=async(r,e,t)=>{const n={},i=e?.getEndpointParameterInstructions?.()||{};for(const[a,s]of Object.entries(i))switch(s.type){case"staticContextParams":n[a]=s.value;break;case"contextParams":n[a]=r[s.name];break;case"clientContextParams":case"builtInParams":n[a]=await Iz(s.name,a,t,s.type!=="builtInParams")();break;case"operationContextParams":n[a]=s.get(r);break;default:throw new Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(s))}return Object.keys(i).length===0&&Object.assign(n,t),String(t.serviceId).toLowerCase()==="s3"&&await xz(n),n};function Rz(r,e,t){r.__smithy_context?r.__smithy_context.features||(r.__smithy_context.features={}):r.__smithy_context={features:{}},r.__smithy_context.features[e]=t}function Oz(r){const e=Pz(r);return({config:t,instructions:n})=>(i,a)=>async s=>{t.isCustomEndpoint&&Rz(a,"ENDPOINT_OVERRIDE","N");const o=await e(s.input,{getEndpointParameterInstructions(){return n}},{...t},a);a.endpointV2=o,a.authSchemes=o.properties?.authSchemes;const l=a.authSchemes?.[0];if(l){a.signing_region=l.signingRegion,a.signing_service=l.signingName;const c=vc(a)?.selectedHttpAuthScheme?.httpAuthOption;c&&(c.signingProperties=Object.assign(c.signingProperties||{},{signing_region:l.signingRegion,signingRegion:l.signingRegion,signing_service:l.signingName,signingName:l.signingName,signingRegionSet:l.signingRegionSet},l.properties))}return i({...s})}}const Bz={name:"serializerMiddleware"},Mz={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:!0,relation:"before",toMiddleware:Bz.name};function _z(r){const e=Oz(r);return(t,n)=>({applyToStack:i=>{i.addRelativeTo(e({config:t,instructions:n}),Mz)}})}function Nz(r){return e=>{const t=e.tls??!0,{endpoint:n,useDualstackEndpoint:i,useFipsEndpoint:a}=e,s=n!=null?async()=>V1(await Bs(n)()):void 0,l=Object.assign(e,{endpoint:s,tls:t,isCustomEndpoint:!!n,useDualstackEndpoint:Bs(i??!1),useFipsEndpoint:Bs(a??!1)});let u;return l.serviceConfiguredEndpoint=async()=>(e.serviceId&&!u&&(u=r(e.serviceId)),u),l}}class H1{nodes;root;conditions;results;constructor(e,t,n,i){this.nodes=e,this.root=t,this.conditions=n,this.results=i}static from(e,t,n,i){return new H1(e,t,n,i)}}class Lz{capacity;data=new Map;parameters=[];constructor({size:e,params:t}){this.capacity=e??50,t&&(this.parameters=t)}get(e,t){const n=this.hash(e);if(n===!1)return t();if(!this.data.has(n)){if(this.data.size>this.capacity+10){const i=this.data.keys();let a=0;for(;;){const{value:s,done:o}=i.next();if(this.data.delete(s),o||++a>10)break}}this.data.set(n,t())}return this.data.get(n)}size(){return this.data.size}hash(e){let t="";const{parameters:n}=this;if(n.length===0)return!1;for(const i of n){const a=String(e[i]??"");if(a.includes("|;"))return!1;t+=a+"|;"}return t}}class Ba extends Error{constructor(e){super(e),this.name="EndpointError"}}const Uz="endpoints";function Sg(r){return typeof r!="object"||r==null?r:"ref"in r?`$${Sg(r.ref)}`:"fn"in r?`${r.fn}(${(r.argv||[]).map(Sg).join(", ")})`:JSON.stringify(r,null,2)}const G1={},Vz=(r,e)=>r===e;function zz(...r){for(const e of r)if(e!=null)return e}const $z=r=>{const e=r.split("."),t=[];for(const n of e){const i=n.indexOf("[");if(i!==-1){if(n.indexOf("]")!==n.length-1)throw new Ba(`Path: '${r}' does not end with ']'`);const a=n.slice(i+1,-1);if(Number.isNaN(parseInt(a)))throw new Ba(`Invalid array index: '${a}' in path: '${r}'`);i!==0&&t.push(n.slice(0,i)),t.push(a)}else t.push(n)}return t},QI=(r,e)=>$z(e).reduce((t,n)=>{if(typeof t!="object")throw new Ba(`Index '${n}' in '${e}' not found in '${JSON.stringify(r)}'`);if(Array.isArray(t)){const i=parseInt(n);return t[i<0?t.length+i:i]}return t[n]},r),Hz=r=>r!=null;function Gz(r,e,t){return r?e:t}const jz=r=>!r,qz=new RegExp("^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$"),YI=r=>qz.test(r)||r.startsWith("[")&&r.endsWith("]"),$v={[xf.HTTP]:80,[xf.HTTPS]:443},Wz=r=>{const e=(()=>{try{if(r instanceof URL)return r;if(typeof r=="object"&&"hostname"in r){const{hostname:d,port:h,protocol:g="",path:v="",query:y={}}=r,A=new URL(`${g}//${d}${h?`:${h}`:""}${v}`);return A.search=Object.entries(y).map(([C,S])=>`${C}=${S}`).join("&"),A}return new URL(r)}catch{return null}})();if(!e)return console.error(`Unable to parse ${JSON.stringify(r)} as a whatwg URL.`),null;const t=e.href,{host:n,hostname:i,pathname:a,protocol:s,search:o}=e;if(o)return null;const l=s.slice(0,-1);if(!Object.values(xf).includes(l))return null;const u=YI(i),c=t.includes(`${n}:${$v[l]}`)||typeof r=="string"&&r.includes(`${n}:${$v[l]}`),f=`${n}${c?`:${$v[l]}`:""}`;return{scheme:l,authority:f,path:a,normalizedPath:a.endsWith("/")?a:`${a}/`,isIp:u}};function Qz(r,e,t){if(t===1)return[r];if(r==="")return[""];const n=r.split(e);return t===0?n:n.slice(0,t-1).concat(n.slice(1).join(e))}const Yz=(r,e)=>r===e,Xz=(r,e,t,n)=>r==null||e>=t||r.length<t||/[^\u0000-\u007f]/.test(r)?null:n?r.substring(r.length-t,r.length-e):r.substring(e,t),Jz=r=>encodeURIComponent(r).replace(/[!*'()]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),Kz={booleanEquals:Vz,coalesce:zz,getAttr:QI,isSet:Hz,isValidHostLabel:Kg,ite:Gz,not:jz,parseURL:Wz,split:Qz,stringEquals:Yz,substring:Xz,uriEncode:Jz},XI=(r,e)=>{const t=[],{referenceRecord:n,endpointParams:i}=e;let a=0;for(;a<r.length;){const s=r.indexOf("{",a);if(s===-1){t.push(r.slice(a));break}t.push(r.slice(a,s));const o=r.indexOf("}",s);if(o===-1){t.push(r.slice(s));break}r[s+1]==="{"&&r[o+1]==="}"&&(t.push(r.slice(s+1,o)),a=o+2);const l=r.substring(s+1,o);if(l.includes("#")){const[u,c]=l.split("#");t.push(QI(n[u]??i[u],c))}else t.push(n[l]??i[l]);a=o+1}return t.join("")},Zz=({ref:r},e)=>e.referenceRecord[r]??e.endpointParams[r],rm=(r,e,t)=>{if(typeof r=="string")return XI(r,t);if(r.fn)return KI.callFunction(r,t);if(r.ref)return Zz(r,t);throw new Ba(`'${e}': ${String(r)} is not a string, function or reference.`)},JI=({fn:r,argv:e},t)=>{const n=Array(e.length);for(let s=0;s<n.length;++s){const o=e[s];typeof o=="boolean"||typeof o=="number"?n[s]=o:n[s]=KI.evaluateExpression(o,"arg",t)}const i=r.indexOf(".");if(i!==-1){const o=G1[r.slice(0,i)]?.[r.slice(i+1)];if(typeof o=="function")return o(...n)}const a=Kz[r];if(typeof a=="function")return a(...n);throw new Error(`function ${r} not loaded in endpointFunctions.`)},KI={evaluateExpression:rm,callFunction:JI},e$=(r,e)=>{const{assign:t}=r;if(t&&t in e.referenceRecord)throw new Ba(`'${t}' is already defined in Reference Record.`);const n=JI(r,e);e.logger?.debug?.(`${Uz} evaluateCondition: ${Sg(r)} = ${Sg(n)}`);const i=n===""?!0:!!n;return t!=null?{result:i,toAssign:{name:t,value:n}}:{result:i}},t$=(r,e)=>Object.entries(r??{}).reduce((t,[n,i])=>(t[n]=i.map(a=>{const s=rm(a,"Header value entry",e);if(typeof s!="string")throw new Ba(`Header '${n}' value '${s}' is not a string`);return s}),t),{}),ZI=(r,e)=>Object.entries(r).reduce((t,[n,i])=>(t[n]=tP.getEndpointProperty(i,e),t),{}),eP=(r,e)=>{if(Array.isArray(r))return r.map(t=>eP(t,e));switch(typeof r){case"string":return XI(r,e);case"object":if(r===null)throw new Ba(`Unexpected endpoint property: ${r}`);return tP.getEndpointProperties(r,e);case"boolean":return r;default:throw new Ba(`Unexpected endpoint property type: ${typeof r}`)}},tP={getEndpointProperty:eP,getEndpointProperties:ZI},r$=(r,e)=>{const t=rm(r,"Endpoint URL",e);if(typeof t=="string")try{return new URL(t)}catch(n){throw console.error(`Failed to construct URL with ${t}`,n),n}throw new Ba(`Endpoint URL must be a string, got ${typeof t}`)},Hv=1e8,n$=(r,e)=>{const{nodes:t,root:n,results:i,conditions:a}=r;let s=n;const o={},l={referenceRecord:o,endpointParams:e.endpointParams,logger:e.logger};for(;s!==1&&s!==-1&&s<Hv;){const u=3*(Math.abs(s)-1),[c,f,d]=[t[u],t[u+1],t[u+2]],[h,g,v]=a[c],y=e$({fn:h,assign:v,argv:g},l);if(y.toAssign){const{name:A,value:C}=y.toAssign;o[A]=C}s=s>=0===y.result?f:d}if(s>=Hv){const u=i[s-Hv];if(u[0]===-1){const[,h]=u;throw new Ba(rm(h,"Error",l))}const[c,f,d]=u;return{url:r$(c,l),properties:ZI(f,l),headers:t$(d??{},l)}}throw new Ba("No matching endpoint.")},i$=Nz(WI),rP=_z(WI);class Gv extends QV(em,Tl,Cg,Zg){}const a$=r=>crypto.getRandomValues(r),nP=YV(a$),s$=nP,bA=async(r=new Uint8Array,e)=>{if(r instanceof Uint8Array)return Gv.mutate(r);if(!r)return Gv.mutate(new Uint8Array);const t=e.streamCollector(r);return Gv.mutate(await t)};class o${serdeContext;setSerdeContext(e){this.serdeContext=e}}class l$ extends o${options;compositeErrorRegistry;constructor(e){super(),this.options=e,this.compositeErrorRegistry=Zi.for(e.defaultNamespace);for(const t of e.errorTypeRegistries??[])this.compositeErrorRegistry.copyFrom(t)}getRequestType(){return na}getResponseType(){return sc}setSerdeContext(e){this.serdeContext=e,this.serializer.setSerdeContext(e),this.deserializer.setSerdeContext(e),this.getPayloadCodec()&&this.getPayloadCodec().setSerdeContext(e)}updateServiceEndpoint(e,t){if("url"in t){e.protocol=t.url.protocol,e.hostname=t.url.hostname,e.port=t.url.port?Number(t.url.port):void 0,e.path=t.url.pathname,e.fragment=t.url.hash||void 0,e.username=t.url.username||void 0,e.password=t.url.password||void 0,e.query||(e.query={});for(const[n,i]of t.url.searchParams.entries())e.query[n]=i;if(t.headers)for(const n in t.headers)e.headers[n]=t.headers[n].join(", ");return e}else{if(e.protocol=t.protocol,e.hostname=t.hostname,e.port=t.port?Number(t.port):void 0,e.path=t.path,e.query={...t.query},t.headers)for(const n in t.headers)e.headers[n]=t.headers[n];return e}}setHostPrefix(e,t,n){if(this.serdeContext?.disableHostPrefix)return;const i=vi.of(t.input),a=zd(t.traits??{});if(a.endpoint){let s=a.endpoint?.[0];if(typeof s=="string"){for(const[o,l]of i.structIterator()){if(!l.getMergedTraits().hostLabel)continue;const u=n[o];if(typeof u!="string")throw new Error(`@smithy/core/schema - ${o} in input must be a string as hostLabel.`);s=s.replace(`{${o}}`,u)}e.hostname=s+e.hostname}}}deserializeMetadata(e){return{httpStatusCode:e.statusCode,requestId:e.headers["x-amzn-requestid"]??e.headers["x-amzn-request-id"]??e.headers["x-amz-request-id"],extendedRequestId:e.headers["x-amz-id-2"],cfId:e.headers["x-amz-cf-id"]}}async serializeEventStream({eventStream:e,requestSchema:t,initialRequest:n}){return(await this.loadEventStreamCapability()).serializeEventStream({eventStream:e,requestSchema:t,initialRequest:n})}async deserializeEventStream({response:e,responseSchema:t,initialResponseContainer:n}){return(await this.loadEventStreamCapability()).deserializeEventStream({response:e,responseSchema:t,initialResponseContainer:n})}async loadEventStreamCapability(){const{EventStreamSerde:e,eventStreamSerdeProvider:t}=await Promise.resolve().then(()=>require("./index.browser-C3yejTxm.cjs")),n=this.resolveEventStreamMarshaller(t);return new e({marshaller:n,serializer:this.serializer,deserializer:this.deserializer,serdeContext:this.serdeContext,defaultContentType:this.getDefaultContentType()})}resolveEventStreamMarshaller(e){const t=this.serdeContext;return t.eventStreamMarshaller?t.eventStreamMarshaller:e(this.serdeContext)}getDefaultContentType(){throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`)}async deserializeHttpMessage(e,t,n,i,a){return[]}getEventStreamMarshaller(){const e=this.serdeContext;if(!e.eventStreamMarshaller)throw new Error("@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.");return e.eventStreamMarshaller}}class u$ extends l${async serializeRequest(e,t,n){const i=this.serializer,a={},s={},o=await n.endpoint(),l=vi.of(e?.input),u=l.getSchema();let c;const f=t&&typeof t=="object"?t:{},d=new na({protocol:"",hostname:"",port:void 0,path:"/",fragment:void 0,query:a,headers:s,body:void 0});if(o&&(this.updateServiceEndpoint(d,o),this.setHostPrefix(d,e,f)),f){const h=l.getEventStreamMember();if(h){if(f[h]){const g={};for(const[v,y]of l.structIterator())v!==h&&f[v]&&(i.write(y,f[v]),g[v]=i.flush());c=await this.serializeEventStream({eventStream:f[h],requestSchema:l,initialRequest:g})}}else i.write(u,f),c=i.flush()}return d.headers=Object.assign(d.headers,s),d.query=a,d.body=c,d.method="POST",d}async deserializeResponse(e,t,n){const i=this.deserializer,a=vi.of(e.output),s={};if(n.statusCode>=300){const l=await bA(n.body,t);throw l.byteLength>0&&Object.assign(s,await i.read(15,l)),await this.handleError(e,t,n,s,this.deserializeMetadata(n)),new Error("@smithy/core/protocols - RPC Protocol error handler failed to throw.")}for(const l in n.headers){const u=n.headers[l];delete n.headers[l],n.headers[l.toLowerCase()]=u}const o=a.getEventStreamMember();if(o)s[o]=await this.deserializeEventStream({response:n,responseSchema:a,initialResponseContainer:s});else{const l=await bA(n.body,t);l.byteLength>0&&Object.assign(s,await i.read(a,l))}return s.$metadata=this.deserializeMetadata(n),s}}function iP(r,e){if(e.timestampFormat.useTrait&&r.isTimestampSchema()&&(r.getSchema()===5||r.getSchema()===6||r.getSchema()===7))return r.getSchema();const{httpLabel:t,httpPrefixHeaders:n,httpHeader:i,httpQuery:a}=r.getMergedTraits();return(e.httpBindings?typeof n=="string"||i?6:a||t?5:void 0:void 0)??e.timestampFormat.default}const c$=r=>({setHttpHandler(e){r.httpHandler=e},httpHandler(){return r.httpHandler},updateHttpClientConfig(e,t){r.httpHandler?.updateHttpClientConfig(e,t)},httpHandlerConfigs(){return r.httpHandler.httpHandlerConfigs()}}),d$=r=>({httpHandler:r.httpHandler()}),HE="content-length";function f$(r){return e=>async t=>{const n=t.request;if(na.isInstance(n)){const{body:i,headers:a}=n;if(i&&Object.keys(a).map(s=>s.toLowerCase()).indexOf(HE)===-1)try{const s=r(i);n.headers={...n.headers,[HE]:String(s)}}catch{}}return e({...t,request:n})}}const h$={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:!0},p$=r=>({applyToStack:e=>{e.add(f$(r.bodyLengthChecker),h$)}}),xl=r=>encodeURIComponent(r).replace(/[!'()*]/g,g$),g$=r=>`%${r.charCodeAt(0).toString(16).toUpperCase()}`;function m$(r){const e=[];for(let t of Object.keys(r).sort()){const n=r[t];if(t=xl(t),Array.isArray(n))for(let i=0,a=n.length;i<a;i++)e.push(`${t}=${xl(n[i])}`);else{let i=t;(n||typeof n=="string")&&(i+=`=${xl(n)}`),e.push(i)}}return e.join("&")}const v$=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],y$=["TimeoutError","RequestTimeout","RequestTimeoutException"],A$=[500,502,503,504],w$=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],b$=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND","EAI_AGAIN"],C$=r=>r?.$retryable!==void 0,x$=r=>r.$metadata?.clockSkewCorrected,S$=r=>{const e=new Set(["Failed to fetch","NetworkError when attempting to fetch resource","The Internet connection appears to be offline","Load failed","Network request failed"]);return r&&r instanceof TypeError?e.has(r.message):!1},aP=r=>r.$metadata?.httpStatusCode===429||v$.includes(r.name)||r.$retryable?.throttling==!0,j1=(r,e=0)=>C$(r)||x$(r)||r.name==="InvalidSignatureException"&&r.message?.includes("Signature expired")||y$.includes(r.name)||w$.includes(r?.code||"")||b$.includes(r?.code||"")||A$.includes(r.$metadata?.httpStatusCode||0)||S$(r)||k$(r)||r.cause!==void 0&&e<=10&&j1(r.cause,e+1),E$=r=>{if(r.$metadata?.httpStatusCode!==void 0){const e=r.$metadata.httpStatusCode;return 500<=e&&e<=599&&!j1(r)}return!1};function k$(r){return r.code==="ERR_HTTP2_STREAM_ERROR"&&r.message.includes("NGHTTP2_REFUSED_STREAM")}const sP=20*1e3,GE=500,T$=1,F$="amz-sdk-invocation-id",I$="amz-sdk-request";function P$(r,e){if(sc.isInstance(r))for(const t of Object.keys(r.headers)){const n=t.toLowerCase();if(n==="retry-after"){const i=r.headers[t];let a=NaN;if(i.endsWith("GMT"))try{a=(GI(i).getTime()-Date.now())/1e3}catch(s){e?.trace?.("Failed to parse retry-after header"),e?.trace?.(s)}else i.match(/ GMT, ((\d+)|(\d+\.\d+))$/)?a=Number(i.match(/ GMT, ([\d.]+)$/)?.[1]):i.match(/^((\d+)|(\d+\.\d+))$/)?a=Number(i):Date.parse(i)>=Date.now()&&(a=(Date.parse(i)-Date.now())/1e3);return isNaN(a)?void 0:new Date(Date.now()+a*1e3)}else if(n==="x-amz-retry-after"){const i=r.headers[t],a=Number(i);if(isNaN(a)){e?.trace?.(`Failed to parse x-amz-retry-after=${i}`);return}return new Date(Date.now()+a)}}}const D$=r=>r instanceof Error?r:r instanceof Object?Object.assign(new Error,r):typeof r=="string"?new Error(r):new Error(`AWS SDK error wrapper for ${r}`);function R$(r){return e=>(t,n)=>async i=>{let a=await e.retryStrategy();const s=await e.maxAttempts();if(B$(a)){a=a;let o=await a.acquireInitialRetryToken((n.partition_id??"")+(n.__retryLongPoll?":longpoll":"")),l=new Error,u=0,c=0;const{request:f}=i,d=na.isInstance(f);for(d&&(f.headers[F$]=nP());;)try{d&&(f.headers[I$]=`attempt=${u+1}; max=${s}`);const{response:h,output:g}=await t(i);return a.recordSuccess(o),g.$metadata.attempts=u+1,g.$metadata.totalRetryDelay=c,{response:h,output:g}}catch(h){const g=M$(h,e.logger);if(l=D$(h),d&&r(f))throw(n.logger instanceof zI?console:n.logger)?.warn("An error was encountered in a non-retryable streaming request."),l;try{o=await a.refreshRetryTokenForRetry(o,g)}catch{throw l.$metadata||(l.$metadata={}),l.$metadata.attempts=u+1,l.$metadata.totalRetryDelay=c,l}u=o.getRetryCount();const v=o.getRetryDelay();c+=(o?.$retryLog?.acquisitionDelay??0)+v,v>0&&await O$(v)}}else return a=a,a?.mode&&(n.userAgent=[...n.userAgent||[],["cfg/retry-mode",a.mode]]),a.retry(t,i)}}const O$=r=>new Promise(e=>setTimeout(e,r)),B$=r=>typeof r.acquireInitialRetryToken<"u"&&typeof r.refreshRetryTokenForRetry<"u"&&typeof r.recordSuccess<"u",M$=(r,e)=>{const t={error:r,errorType:_$(r)},n=P$(r.$response,e);return n&&(t.retryAfterHint=n),t},_$=r=>aP(r)?"THROTTLING":j1(r)?"TRANSIENT":E$(r)?"SERVER_ERROR":"CLIENT_ERROR",N$={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high",override:!0};function L$(r){const e=R$(r);return t=>({applyToStack:n=>{n.add(e(t),N$)}})}class q1{static setTimeoutFn=(e,t)=>setTimeout(e,t);beta;minCapacity;minFillRate;scaleConstant;smooth;enabled=!1;availableTokens=0;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor(e){this.beta=e?.beta??.7,this.minCapacity=e?.minCapacity??1,this.minFillRate=e?.minFillRate??.5,this.scaleConstant=e?.scaleConstant??.4,this.smooth=e?.smooth??.8,this.lastThrottleTime=this.getCurrentTimeInSeconds(),this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}async getSendToken(){return this.acquireTokenBucket(1)}updateClientSendingRate(e){let t;this.updateMeasuredRate();const n=e;if(n?.errorType==="THROTTLING"||aP(n?.error??e)){const s=this.enabled?Math.min(this.measuredTxRate,this.fillRate):this.measuredTxRate;this.lastMaxRate=s,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),t=this.cubicThrottle(s),this.enableTokenBucket()}else this.calculateTimeWindow(),t=this.cubicSuccess(this.getCurrentTimeInSeconds());const a=Math.min(t,2*this.measuredTxRate);this.updateTokenBucketRate(a)}getCurrentTimeInSeconds(){return Date.now()/1e3}async acquireTokenBucket(e){if(this.enabled){for(this.refillTokenBucket();e>this.availableTokens;){const t=(e-this.availableTokens)/this.fillRate*1e3;await new Promise(n=>q1.setTimeoutFn(n,t)),this.refillTokenBucket()}this.availableTokens=this.availableTokens-e}}refillTokenBucket(){const e=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=e;return}const t=(e-this.lastTimestamp)*this.fillRate;this.availableTokens=Math.min(this.maxCapacity,this.availableTokens+t),this.lastTimestamp=e}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,1/3))}cubicThrottle(e){return this.getPrecise(e*this.beta)}cubicSuccess(e){return this.getPrecise(this.scaleConstant*Math.pow(e-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate(e){this.refillTokenBucket(),this.fillRate=Math.max(e,this.minFillRate),this.maxCapacity=Math.max(e,this.minCapacity),this.availableTokens=Math.min(this.availableTokens,this.maxCapacity)}updateMeasuredRate(){const e=this.getCurrentTimeInSeconds(),t=Math.floor(e*2)/2;if(this.requestCount++,t>this.lastTxRateBucket){const n=this.requestCount/(t-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(n*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=t}}getPrecise(e){return parseFloat(e.toFixed(8))}}class Ei{static v2026=typeof process<"u"&&process.env?.SMITHY_NEW_RETRIES_2026==="true";static delay(){return Ei.v2026?50:100}static throttlingDelay(){return Ei.v2026?1e3:500}static cost(){return Ei.v2026?14:5}static throttlingCost(){return Ei.v2026?5:10}static modifiedCostType(){return Ei.v2026?"THROTTLING":"TRANSIENT"}}class U${x=Ei.delay();computeNextBackoffDelay(e){const i=Math.random()*Math.min(this.x*2**e,sP);return Math.floor(i)}setDelayBase(e){this.x=e}}class jE{delay;count;cost;longPoll;$retryLog={acquisitionDelay:0};constructor(e,t,n,i){this.delay=e,this.count=t,this.cost=n,this.longPoll=i}getRetryCount(){return this.count}getRetryDelay(){return Math.min(sP,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}}var Do;(function(r){r.STANDARD="standard",r.ADAPTIVE="adaptive"})(Do||(Do={}));const ef=3,V$=Do.STANDARD,kp={incompatible:1,attempts:2,capacity:3};class CA{mode=Do.STANDARD;retryBackoffStrategy;capacity=GE;maxAttemptsProvider;baseDelay;constructor(e){typeof e=="number"?this.maxAttemptsProvider=async()=>e:typeof e=="function"?this.maxAttemptsProvider=e:e&&typeof e=="object"&&(this.maxAttemptsProvider=async()=>e.maxAttempts,this.baseDelay=e.baseDelay,this.retryBackoffStrategy=e.backoff),this.maxAttemptsProvider??=async()=>ef,this.baseDelay??=Ei.delay(),this.retryBackoffStrategy??=new U$}async acquireInitialRetryToken(e){return new jE(Ei.delay(),0,void 0,Ei.v2026&&e.includes(":longpoll"))}async refreshRetryTokenForRetry(e,t){const n=await this.getMaxAttempts(),i=this.retryCode(e,t,n),a=i===0,s=e.isLongPoll?.();if(a||s){const o=t.errorType;this.retryBackoffStrategy.setDelayBase(o==="THROTTLING"?Ei.throttlingDelay():this.baseDelay);const l=this.retryBackoffStrategy.computeNextBackoffDelay(e.getRetryCount());let u=l;if(t.retryAfterHint instanceof Date&&(u=Math.max(l,Math.min(t.retryAfterHint.getTime()-Date.now(),l+5e3))),a){const c=this.getCapacityCost(o);this.capacity-=c;const f=new jE(0,e.getRetryCount()+1,c,e.isLongPoll?.()??!1);return await new Promise(d=>setTimeout(d,u)),f.$retryLog.acquisitionDelay=u,f}else{const c=Ei.v2026&&i===kp.capacity&&s?u:0;c>0&&await new Promise(f=>setTimeout(f,c))}}throw new Error("No retry token available")}recordSuccess(e){this.capacity=Math.min(GE,this.capacity+(e.getRetryCost()??T$))}getCapacity(){return this.capacity}async maxAttempts(){return this.maxAttemptsProvider()}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch{return console.warn(`Max attempts provider could not resolve. Using default of ${ef}`),ef}}retryCode(e,t,n){const i=e.getRetryCount()+1,a=this.isRetryableError(t.errorType)?0:kp.incompatible,s=i<n?0:kp.attempts,o=this.capacity>=this.getCapacityCost(t.errorType)?0:kp.capacity;return a||s||o}getCapacityCost(e){return e===Ei.modifiedCostType()?Ei.throttlingCost():Ei.cost()}isRetryableError(e){return e==="THROTTLING"||e==="TRANSIENT"}}class z${mode=Do.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor(e,t){const{rateLimiter:n}=t??{};this.rateLimiter=n??new q1,this.standardRetryStrategy=t?new CA({maxAttempts:typeof e=="number"?e:3,...t}):new CA(e)}async acquireInitialRetryToken(e){const t=await this.standardRetryStrategy.acquireInitialRetryToken(e);return await this.rateLimiter.getSendToken(),t}async refreshRetryTokenForRetry(e,t){this.rateLimiter.updateClientSendingRate(t);const n=await this.standardRetryStrategy.refreshRetryTokenForRetry(e,t);return await this.rateLimiter.getSendToken(),n}recordSuccess(e){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(e)}async maxAttemptsProvider(){return this.standardRetryStrategy.maxAttempts()}}const $$=(r,e)=>{const{retryStrategy:t,retryMode:n}=r,{defaultMaxAttempts:i=ef,defaultBaseDelay:a=Ei.delay()}={},s=Bs(r.maxAttempts??i);let o=t?Promise.resolve(t):void 0;const l=async()=>{const u=await s();return await Bs(n)()===Do.ADAPTIVE?new z$(s,{maxAttempts:u,baseDelay:a}):new CA({maxAttempts:u,baseDelay:a})};return Object.assign(r,{maxAttempts:s,retryStrategy:()=>o??=l()})},H$=L$(kV);Ei.v2026||=typeof process=="object"&&process.env?.AWS_NEW_RETRIES_2026==="true";function Is(r,e,t){r.__aws_sdk_context?r.__aws_sdk_context.features||(r.__aws_sdk_context.features={}):r.__aws_sdk_context={features:{}},r.__aws_sdk_context.features[e]=t}const G$=r=>e=>async t=>{if(!na.isInstance(t.request))return e(t);const{request:n}=t,{handlerProtocol:i=""}=r.requestHandler.metadata||{};if(i.indexOf("h2")>=0&&!n.headers[":authority"])delete n.headers.host,n.headers[":authority"]=n.hostname+(n.port?":"+n.port:"");else if(!n.headers.host){let a=n.hostname;n.port!=null&&(a+=`:${n.port}`),n.headers.host=a}return e(t)},j$={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:!0},q$=r=>({applyToStack:e=>{e.add(G$(r),j$)}}),W$=()=>(r,e)=>async t=>{try{const n=await r(t),{clientName:i,commandName:a,logger:s,dynamoDbDocumentClientOptions:o={}}=e,{overrideInputFilterSensitiveLog:l,overrideOutputFilterSensitiveLog:u}=o,c=l??e.inputFilterSensitiveLog,f=u??e.outputFilterSensitiveLog,{$metadata:d,...h}=n.output;return s?.info?.({clientName:i,commandName:a,input:c(t.input),output:f(h),metadata:d}),n}catch(n){const{clientName:i,commandName:a,logger:s,dynamoDbDocumentClientOptions:o={}}=e,{overrideInputFilterSensitiveLog:l}=o,u=l??e.inputFilterSensitiveLog;throw s?.error?.({clientName:i,commandName:a,input:u(t.input),error:n,metadata:n.$metadata}),n}},Q$={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize",override:!0},Y$=r=>({applyToStack:e=>{e.add(W$(),Q$)}}),X$=r=>({applyToStack:e=>{}}),J$=(r,e)=>{if(!e||e.length===0)return r;const t=[];for(const n of e)for(const i of r)i.schemeId.split("#")[1]===n&&t.push(i);for(const n of r)t.find(({schemeId:i})=>i===n.schemeId)||t.push(n);return t};function K$(r){const e=new Map;for(const t of r)e.set(t.schemeId,t);return e}const Z$=(r,e)=>(t,n)=>async i=>{const a=r.httpAuthSchemeProvider(await e.httpAuthSchemeParametersProvider(r,n,i.input)),s=r.authSchemePreference?await r.authSchemePreference():[],o=J$(a,s),l=K$(r.httpAuthSchemes),u=vc(n),c=[];for(const f of o){const d=l.get(f.schemeId);if(!d){c.push(`HttpAuthScheme \`${f.schemeId}\` was not enabled for this service.`);continue}const h=d.identityProvider(await e.identityProviderConfigProvider(r));if(!h){c.push(`HttpAuthScheme \`${f.schemeId}\` did not have an IdentityProvider configured.`);continue}const{identityProperties:g={},signingProperties:v={}}=f.propertiesExtractor?.(r,n)||{};f.identityProperties=Object.assign(f.identityProperties||{},g),f.signingProperties=Object.assign(f.signingProperties||{},v),u.selectedHttpAuthScheme={httpAuthOption:f,identity:await h(f.identityProperties),signer:d.signer};break}if(!u.selectedHttpAuthScheme)throw new Error(c.join(`
|
|
3043
3043
|
`));return t(i)},eH={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"},tH=(r,{httpAuthSchemeParametersProvider:e,identityProviderConfigProvider:t})=>({applyToStack:n=>{n.addRelativeTo(Z$(r,{httpAuthSchemeParametersProvider:e,identityProviderConfigProvider:t}),eH)}}),rH=r=>e=>{throw e},nH=(r,e)=>{},iH=r=>(e,t)=>async n=>{if(!na.isInstance(n.request))return e(n);const a=vc(t).selectedHttpAuthScheme;if(!a)throw new Error("No HttpAuthScheme was selected: unable to sign request");const{httpAuthOption:{signingProperties:s={}},identity:o,signer:l}=a,u=await e({...n,request:await l.sign(n.request,o,s)}).catch((l.errorHandler||rH)(s));return(l.successHandler||nH)(u.response,s),u},aH={step:"finalizeRequest",tags:["HTTP_SIGNING"],name:"httpSigningMiddleware",aliases:["apiKeyMiddleware","tokenMiddleware","awsAuthMiddleware"],override:!0,relation:"after",toMiddleware:"retryMiddleware"},sH=r=>({applyToStack:e=>{e.addRelativeTo(iH(),aH)}}),tf=r=>{if(typeof r=="function")return r;const e=Promise.resolve(r);return()=>e};class oH{authSchemes=new Map;constructor(e){for(const t in e){const n=e[t];n!==void 0&&this.authSchemes.set(t,n)}}getIdentityProvider(e){return this.authSchemes.get(e)}}class lH{async sign(e,t,n){return e}}const uH=r=>function(t){return oP(t)&&t.expiration.getTime()-Date.now()<r},cH=3e5,dH=uH(cH),oP=r=>r.expiration!==void 0,fH=(r,e,t)=>{if(r===void 0)return;const n=typeof r!="function"?async()=>Promise.resolve(r):r;let i,a,s,o=!1;const l=async u=>{a||(a=n(u));try{i=await a,s=!0,o=!1}finally{a=void 0}return i};return e===void 0?async u=>((!s||u?.forceRefresh)&&(i=await l(u)),i):async u=>((!s||u?.forceRefresh)&&(i=await l(u)),o?i:t(i)?(e(i)&&await l(u),i):(o=!0,i))},hH=void 0;function pH(r){return r===void 0?!0:typeof r=="string"&&r.length<=50}function gH(r){const e=tf(r.userAgentAppId??hH),{customUserAgent:t}=r;return Object.assign(r,{customUserAgent:typeof t=="string"?[[t]]:t,userAgentAppId:async()=>{const n=await e();if(!pH(n)){const i=r.logger?.constructor?.name==="NoOpLogger"||!r.logger?console:r.logger;typeof n!="string"?i?.warn("userAgentAppId must be a string or undefined."):n.length>50&&i?.warn("The provided userAgentAppId exceeds the maximum length of 50 characters.")}return n}})}const mH={partitions:[{id:"aws",outputs:{dnsSuffix:"amazonaws.com",dualStackDnsSuffix:"api.aws",implicitGlobalRegion:"us-east-1",name:"aws",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^(us|eu|ap|sa|ca|me|af|il|mx)\\-\\w+\\-\\d+$",regions:{"af-south-1":{description:"Africa (Cape Town)"},"ap-east-1":{description:"Asia Pacific (Hong Kong)"},"ap-east-2":{description:"Asia Pacific (Taipei)"},"ap-northeast-1":{description:"Asia Pacific (Tokyo)"},"ap-northeast-2":{description:"Asia Pacific (Seoul)"},"ap-northeast-3":{description:"Asia Pacific (Osaka)"},"ap-south-1":{description:"Asia Pacific (Mumbai)"},"ap-south-2":{description:"Asia Pacific (Hyderabad)"},"ap-southeast-1":{description:"Asia Pacific (Singapore)"},"ap-southeast-2":{description:"Asia Pacific (Sydney)"},"ap-southeast-3":{description:"Asia Pacific (Jakarta)"},"ap-southeast-4":{description:"Asia Pacific (Melbourne)"},"ap-southeast-5":{description:"Asia Pacific (Malaysia)"},"ap-southeast-6":{description:"Asia Pacific (New Zealand)"},"ap-southeast-7":{description:"Asia Pacific (Thailand)"},"aws-global":{description:"aws global region"},"ca-central-1":{description:"Canada (Central)"},"ca-west-1":{description:"Canada West (Calgary)"},"eu-central-1":{description:"Europe (Frankfurt)"},"eu-central-2":{description:"Europe (Zurich)"},"eu-north-1":{description:"Europe (Stockholm)"},"eu-south-1":{description:"Europe (Milan)"},"eu-south-2":{description:"Europe (Spain)"},"eu-west-1":{description:"Europe (Ireland)"},"eu-west-2":{description:"Europe (London)"},"eu-west-3":{description:"Europe (Paris)"},"il-central-1":{description:"Israel (Tel Aviv)"},"me-central-1":{description:"Middle East (UAE)"},"me-south-1":{description:"Middle East (Bahrain)"},"mx-central-1":{description:"Mexico (Central)"},"sa-east-1":{description:"South America (Sao Paulo)"},"us-east-1":{description:"US East (N. Virginia)"},"us-east-2":{description:"US East (Ohio)"},"us-west-1":{description:"US West (N. California)"},"us-west-2":{description:"US West (Oregon)"}}},{id:"aws-cn",outputs:{dnsSuffix:"amazonaws.com.cn",dualStackDnsSuffix:"api.amazonwebservices.com.cn",implicitGlobalRegion:"cn-northwest-1",name:"aws-cn",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^cn\\-\\w+\\-\\d+$",regions:{"aws-cn-global":{description:"aws-cn global region"},"cn-north-1":{description:"China (Beijing)"},"cn-northwest-1":{description:"China (Ningxia)"}}},{id:"aws-eusc",outputs:{dnsSuffix:"amazonaws.eu",dualStackDnsSuffix:"api.amazonwebservices.eu",implicitGlobalRegion:"eusc-de-east-1",name:"aws-eusc",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^eusc\\-(de)\\-\\w+\\-\\d+$",regions:{"eusc-de-east-1":{description:"AWS European Sovereign Cloud (Germany)"}}},{id:"aws-iso",outputs:{dnsSuffix:"c2s.ic.gov",dualStackDnsSuffix:"api.aws.ic.gov",implicitGlobalRegion:"us-iso-east-1",name:"aws-iso",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^us\\-iso\\-\\w+\\-\\d+$",regions:{"aws-iso-global":{description:"aws-iso global region"},"us-iso-east-1":{description:"US ISO East"},"us-iso-west-1":{description:"US ISO WEST"}}},{id:"aws-iso-b",outputs:{dnsSuffix:"sc2s.sgov.gov",dualStackDnsSuffix:"api.aws.scloud",implicitGlobalRegion:"us-isob-east-1",name:"aws-iso-b",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^us\\-isob\\-\\w+\\-\\d+$",regions:{"aws-iso-b-global":{description:"aws-iso-b global region"},"us-isob-east-1":{description:"US ISOB East (Ohio)"},"us-isob-west-1":{description:"US ISOB West"}}},{id:"aws-iso-e",outputs:{dnsSuffix:"cloud.adc-e.uk",dualStackDnsSuffix:"api.cloud-aws.adc-e.uk",implicitGlobalRegion:"eu-isoe-west-1",name:"aws-iso-e",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^eu\\-isoe\\-\\w+\\-\\d+$",regions:{"aws-iso-e-global":{description:"aws-iso-e global region"},"eu-isoe-west-1":{description:"EU ISOE West"}}},{id:"aws-iso-f",outputs:{dnsSuffix:"csp.hci.ic.gov",dualStackDnsSuffix:"api.aws.hci.ic.gov",implicitGlobalRegion:"us-isof-south-1",name:"aws-iso-f",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^us\\-isof\\-\\w+\\-\\d+$",regions:{"aws-iso-f-global":{description:"aws-iso-f global region"},"us-isof-east-1":{description:"US ISOF EAST"},"us-isof-south-1":{description:"US ISOF SOUTH"}}},{id:"aws-us-gov",outputs:{dnsSuffix:"amazonaws.com",dualStackDnsSuffix:"api.aws",implicitGlobalRegion:"us-gov-west-1",name:"aws-us-gov",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^us\\-gov\\-\\w+\\-\\d+$",regions:{"aws-us-gov-global":{description:"aws-us-gov global region"},"us-gov-east-1":{description:"AWS GovCloud (US-East)"},"us-gov-west-1":{description:"AWS GovCloud (US-West)"}}}]};let vH=mH;const yH=r=>{const{partitions:e}=vH;for(const n of e){const{regions:i,outputs:a}=n;for(const[s,o]of Object.entries(i))if(s===r)return{...a,...o}}for(const n of e){const{regionRegex:i,outputs:a}=n;if(new RegExp(i).test(r))return{...a}}const t=e.find(n=>n.id==="aws");if(!t)throw new Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist.");return{...t.outputs}},AH=/\d{12}\.ddb/;async function wH(r,e,t){if(t.request?.headers?.["smithy-protocol"]==="rpc-v2-cbor"&&Is(r,"PROTOCOL_RPC_V2_CBOR","M"),typeof e.retryStrategy=="function"){const a=await e.retryStrategy();if(typeof a.mode=="string")switch(a.mode){case Do.ADAPTIVE:Is(r,"RETRY_MODE_ADAPTIVE","F");break;case Do.STANDARD:Is(r,"RETRY_MODE_STANDARD","E");break}}if(typeof e.accountIdEndpointMode=="function"){const a=r.endpointV2;switch(String(a?.url?.hostname).match(AH)&&Is(r,"ACCOUNT_ID_ENDPOINT","O"),await e.accountIdEndpointMode?.()){case"disabled":Is(r,"ACCOUNT_ID_MODE_DISABLED","Q");break;case"preferred":Is(r,"ACCOUNT_ID_MODE_PREFERRED","P");break;case"required":Is(r,"ACCOUNT_ID_MODE_REQUIRED","R");break}}const i=r.__smithy_context?.selectedHttpAuthScheme?.identity;if(i?.$source){const a=i;a.accountId&&Is(r,"RESOLVED_ACCOUNT_ID","T");for(const[s,o]of Object.entries(a.$source??{}))Is(r,s,o)}}const qE="user-agent",jv="x-amz-user-agent",WE=" ",qv="/",bH=/[^!$%&'*+\-.^_`|~\w]/g,CH=/[^!$%&'*+\-.^_`|~\w#]/g,QE="-",xH=1024;function SH(r){let e="";for(const t in r){const n=r[t];if(e.length+n.length+1<=xH){e.length?e+=","+n:e+=n;continue}break}return e}const EH=r=>(e,t)=>async n=>{const{request:i}=n;if(!na.isInstance(i))return e(n);const{headers:a}=i,s=t?.userAgent?.map(Tp)||[],o=(await r.defaultUserAgentProvider()).map(Tp);await wH(t,r,n);const l=t;o.push(`m/${SH(Object.assign({},t.__smithy_context?.features,l.__aws_sdk_context?.features))}`);const u=r?.customUserAgent?.map(Tp)||[],c=await r.userAgentAppId();c&&o.push(Tp(["app",`${c}`]));const f=[].concat([...o,...s,...u]).join(WE),d=[...o.filter(h=>h.startsWith("aws-sdk-")),...u].join(WE);return r.runtime!=="browser"?(d&&(a[jv]=a[jv]?`${a[qE]} ${d}`:d),a[qE]=f):a[jv]=f,e({...n,request:i})},Tp=r=>{const e=r[0].split(qv).map(s=>s.replace(bH,QE)).join(qv),t=r[1]?.replace(CH,QE),n=e.indexOf(qv),i=e.substring(0,n);let a=e.substring(n+1);return i==="api"&&(a=a.toLowerCase()),[i,a,t].filter(s=>s&&s.length>0).reduce((s,o,l)=>{switch(l){case 0:return o;case 1:return`${s}/${o}`;default:return`${s}#${o}`}},"")},kH={name:"getUserAgentMiddleware",step:"build",priority:"low",tags:["SET_USER_AGENT","USER_AGENT"],override:!0},TH=r=>({applyToStack:e=>{e.add(EH(r),kH)}}),FH=({serviceId:r,clientVersion:e})=>async t=>{const n=typeof window<"u"?window.navigator:void 0,i=n?.userAgent??"",a=n?.userAgentData?.platform??YE.os(i)??"other",s=void 0,o=n?.userAgentData?.brands??[],l=o[o.length-1],u=l?.brand??YE.browser(i)??"unknown",c=l?.version??"unknown",f=[["aws-sdk-js",e],["ua","2.1"],[`os/${a}`,s],["lang/js"],["md/browser",`${u}_${c}`]];r&&f.push([`api/${r}`,e]);const d=await t?.userAgentAppId?.();return d&&f.push([`app/${d}`]),f},YE={os(r){if(/iPhone|iPad|iPod/.test(r))return"iOS";if(/Macintosh|Mac OS X/.test(r))return"macOS";if(/Windows NT/.test(r))return"Windows";if(/Android/.test(r))return"Android";if(/Linux/.test(r))return"Linux"},browser(r){if(/EdgiOS|EdgA|Edg\//.test(r))return"Microsoft Edge";if(/Firefox\//.test(r))return"Firefox";if(/Chrome\//.test(r))return"Chrome";if(/Safari\//.test(r))return"Safari"}},lP=(r,e=!1)=>{if(e){for(const t of r.split("."))if(!lP(t))return!1;return!0}return!(!Kg(r)||r.length<3||r.length>63||r!==r.toLowerCase()||YI(r))},XE=":",IH="/",PH=r=>{const e=r.split(XE);if(e.length<6)return null;const[t,n,i,a,s,...o]=e;if(t!=="arn"||n===""||i===""||o.join(XE)==="")return null;const l=o.map(u=>u.split(IH)).flat();return{partition:n,service:i,region:a,accountId:s,resourceId:l}},uP={isVirtualHostableS3Bucket:lP,parseArn:PH,partition:yH};G1.aws=uP;const DH=(r,e,t)=>{let n,i,a,s=!1;const o=async()=>{i||(i=r());try{n=await i,a=!0,s=!1}finally{i=void 0}return n};return async l=>((!a||l?.forceRefresh)&&(n=await o()),n)},JE=new Set,RH=(r,e=Kg)=>{if(!JE.has(r)&&!e(r))if(r==="*")console.warn('@smithy/config-resolver WARN - Please use the caller region instead of "*". See "sigv4a" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.');else throw new Error(`Region not accepted: region="${r}" is not a valid hostname component.`);else JE.add(r)},cP=r=>typeof r=="string"&&(r.startsWith("fips-")||r.endsWith("-fips")),OH=r=>cP(r)?["fips-aws-global","aws-fips"].includes(r)?"us-east-1":r.replace(/fips-(dkr-|prod-)?|-fips/,""):r,BH=r=>{const{region:e,useFipsEndpoint:t}=r;if(!e)throw new Error("Region is missing");return Object.assign(r,{region:async()=>{const n=typeof e=="function"?await e():e,i=OH(n);return RH(i),i},useFipsEndpoint:async()=>{const n=typeof e=="string"?e:await e();return cP(n)?!0:typeof t!="function"?Promise.resolve(!!t):t()}})},MH=["in-region","cross-region","mobile","standard","legacy"],_H=({defaultsMode:r}={})=>DH(async()=>{const e=typeof r=="function"?await r():r;switch(e?.toLowerCase()){case"auto":return Promise.resolve(NH()?"mobile":"standard");case"mobile":case"in-region":case"cross-region":case"standard":case"legacy":return Promise.resolve(e?.toLocaleLowerCase());case void 0:return Promise.resolve("legacy");default:throw new Error(`Invalid parameter for "defaultsMode", expect ${MH.join(", ")}, got ${e}`)}}),NH=()=>{const r=window?.navigator;if(r?.connection){const{effectiveType:e,rtt:t,downlink:n}=r?.connection;if(typeof e=="string"&&e!=="4g"||Number(t)>100||Number(n)<10)return!0}return r?.userAgentData?.mobile||typeof r?.maxTouchPoints=="number"&&r?.maxTouchPoints>1},LH=!1,UH=!1,VH=r=>({setRegion(e){r.region=e},region(){return r.region}}),zH=r=>({region:r.region()}),KE=r=>sc.isInstance(r)?r.headers?.date??r.headers?.Date:void 0,dP=r=>new Date(Date.now()+r),$H=(r,e)=>Math.abs(dP(e).getTime()-r)>=3e5,ZE=(r,e)=>{const t=Date.parse(r);return $H(t,e)?t-Date.now():e},rf=(r,e)=>{if(!e)throw new Error(`Property \`${r}\` is not resolved for AWS SDK SigV4Auth`);return e},HH=async r=>{const e=rf("context",r.context),t=rf("config",r.config),n=e.endpointV2?.properties?.authSchemes?.[0],a=await rf("signer",t.signer)(n),s=r?.signingRegion,o=r?.signingRegionSet,l=r?.signingName;return{config:t,signer:a,signingRegion:s,signingRegionSet:o,signingName:l}};class GH{async sign(e,t,n){if(!na.isInstance(e))throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");const i=await HH(n),{config:a,signer:s}=i;let{signingRegion:o,signingName:l}=i;const u=n.context;if(u?.authSchemes?.length??!1){const[f,d]=u.authSchemes;f?.name==="sigv4a"&&d?.name==="sigv4"&&(o=d?.signingRegion??o,l=d?.signingName??l)}return n._preRequestSystemClockOffset=a.systemClockOffset,await s.sign(e,{signingDate:dP(a.systemClockOffset),signingRegion:o,signingService:l})}errorHandler(e){return t=>{const n=t,i=n.ServerTime??KE(n.$response);if(i){const a=rf("config",e.config),s=e._preRequestSystemClockOffset,o=ZE(i,a.systemClockOffset);(o!==a.systemClockOffset||s!==void 0&&s!==o)&&n.$metadata&&(a.systemClockOffset=o,n.$metadata.clockSkewCorrected=!0)}throw t}}successHandler(e,t){const n=KE(e);if(n){const i=rf("config",t.config);i.systemClockOffset=ZE(n,i.systemClockOffset)}}}class jH{format(e){const t=[];for(const a of Object.keys(e)){const s=Tl(a);t.push(Uint8Array.from([s.byteLength]),s,this.formatHeaderValue(e[a]))}const n=new Uint8Array(t.reduce((a,s)=>a+s.byteLength,0));let i=0;for(const a of t)n.set(a,i),i+=a.byteLength;return n}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([e.value?0:1]);case"byte":return Uint8Array.from([2,e.value]);case"short":const t=new DataView(new ArrayBuffer(3));return t.setUint8(0,3),t.setInt16(1,e.value,!1),new Uint8Array(t.buffer);case"integer":const n=new DataView(new ArrayBuffer(5));return n.setUint8(0,4),n.setInt32(1,e.value,!1),new Uint8Array(n.buffer);case"long":const i=new Uint8Array(9);return i[0]=5,i.set(e.value.bytes,1),i;case"binary":const a=new DataView(new ArrayBuffer(3+e.value.byteLength));a.setUint8(0,6),a.setUint16(1,e.value.byteLength,!1);const s=new Uint8Array(a.buffer);return s.set(e.value,3),s;case"string":const o=Tl(e.value),l=new DataView(new ArrayBuffer(3+o.byteLength));l.setUint8(0,7),l.setUint16(1,o.byteLength,!1);const u=new Uint8Array(l.buffer);return u.set(o,3),u;case"timestamp":const c=new Uint8Array(9);return c[0]=8,c.set(W1.fromNumber(e.value.valueOf()).bytes,1),c;case"uuid":if(!qH.test(e.value))throw new Error(`Invalid UUID received: ${e.value}`);const f=new Uint8Array(17);return f[0]=9,f.set(qI(e.value.replace(/\-/g,"")),1),f}}}var e2;(function(r){r[r.boolTrue=0]="boolTrue",r[r.boolFalse=1]="boolFalse",r[r.byte=2]="byte",r[r.short=3]="short",r[r.integer=4]="integer",r[r.long=5]="long",r[r.byteArray=6]="byteArray",r[r.string=7]="string",r[r.timestamp=8]="timestamp",r[r.uuid=9]="uuid"})(e2||(e2={}));const qH=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class W1{bytes;constructor(e){if(this.bytes=e,e.byteLength!==8)throw new Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>9223372036854776e3||e<-9223372036854776e3)throw new Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);const t=new Uint8Array(8);for(let n=7,i=Math.abs(Math.round(e));n>-1&&i>0;n--,i/=256)t[n]=i;return e<0&&t2(t),new W1(t)}valueOf(){const e=this.bytes.slice(0),t=e[0]&128;return t&&t2(e),parseInt(Ao(e),16)*(t?-1:1)}toString(){return String(this.valueOf())}}function t2(r){for(let e=0;e<8;e++)r[e]^=255;for(let e=7;e>-1&&(r[e]++,r[e]===0);e--);}const WH="X-Amz-Algorithm",QH="X-Amz-Credential",fP="X-Amz-Date",YH="X-Amz-SignedHeaders",XH="X-Amz-Expires",hP="X-Amz-Signature",pP="X-Amz-Security-Token",gP="authorization",mP=fP.toLowerCase(),JH="date",KH=[gP,mP,JH],ZH=hP.toLowerCase(),xA="x-amz-content-sha256",eG=pP.toLowerCase(),tG={authorization:!0,"cache-control":!0,connection:!0,expect:!0,from:!0,"keep-alive":!0,"max-forwards":!0,pragma:!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,"user-agent":!0,"x-amzn-trace-id":!0},rG=/^proxy-/,nG=/^sec-/,Wv="AWS4-HMAC-SHA256",iG="AWS4-HMAC-SHA256-PAYLOAD",aG="UNSIGNED-PAYLOAD",sG=50,vP="aws4_request",oG=3600*24*7,lG=({query:r={}})=>{const e=[],t={};for(const n of Object.keys(r)){if(n.toLowerCase()===ZH)continue;const i=xl(n);e.push(i);const a=r[n];typeof a=="string"?t[i]=`${i}=${xl(a)}`:Array.isArray(a)&&(t[i]=a.slice(0).reduce((s,o)=>s.concat([`${i}=${xl(o)}`]),[]).sort().join("&"))}return e.sort().map(n=>t[n]).filter(n=>n).join("&")},uG=r=>cG(r).toISOString().replace(/\.\d{3}Z$/,"Z"),cG=r=>typeof r=="number"?new Date(r*1e3):typeof r=="string"?Number(r)?new Date(Number(r)*1e3):new Date(r):r;class dG{service;regionProvider;credentialProvider;sha256;uriEscapePath;applyChecksum;constructor({applyChecksum:e,credentials:t,region:n,service:i,sha256:a,uriEscapePath:s=!0}){this.service=i,this.sha256=a,this.uriEscapePath=s,this.applyChecksum=typeof e=="boolean"?e:!0,this.regionProvider=Bs(n),this.credentialProvider=Bs(t)}createCanonicalRequest(e,t,n){const i=Object.keys(t).sort();return`${e.method}
|
|
3044
3044
|
${this.getCanonicalPath(e)}
|
|
3045
3045
|
${lG(e)}
|
|
@@ -3053,7 +3053,7 @@ ${t}
|
|
|
3053
3053
|
${Ao(s)}`}getCanonicalPath({path:e}){if(this.uriEscapePath){const t=[];for(const a of e.split("/"))a?.length!==0&&a!=="."&&(a===".."?t.pop():t.push(a));const n=`${e?.startsWith("/")?"/":""}${t.join("/")}${t.length>0&&e?.endsWith("/")?"/":""}`;return xl(n).replace(/%2F/g,"/")}return e}validateResolvedCredentials(e){if(typeof e!="object"||typeof e.accessKeyId!="string"||typeof e.secretAccessKey!="string")throw new Error("Resolved credential object is not valid")}formatDate(e){const t=uG(e).replace(/[\-:]/g,"");return{longDate:t,shortDate:t.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(";")}}const Fp={},Qv=[],Yv=(r,e,t)=>`${r}/${e}/${t}/${vP}`,fG=async(r,e,t,n,i)=>{const a=await r2(r,e.secretAccessKey,e.accessKeyId),s=`${t}:${n}:${i}:${Ao(a)}:${e.sessionToken}`;if(s in Fp)return Fp[s];for(Qv.push(s);Qv.length>sG;)delete Fp[Qv.shift()];let o=`AWS4${e.secretAccessKey}`;for(const l of[t,n,i,vP])o=await r2(r,o,l);return Fp[s]=o},r2=(r,e,t)=>{const n=new r(e);return n.update(kf(t)),n.digest()},n2=({headers:r},e,t)=>{const n={};for(const i of Object.keys(r).sort()){if(r[i]==null)continue;const a=i.toLowerCase();(a in tG||e?.has(a)||rG.test(a)||nG.test(a))&&(!t||t&&!t.has(a))||(n[a]=r[i].trim().replace(/\s+/g," "))}return n},Xv=async({headers:r,body:e},t)=>{for(const n of Object.keys(r))if(n.toLowerCase()===xA)return r[n];if(e==null)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";if(typeof e=="string"||ArrayBuffer.isView(e)||Cz(e)){const n=new t;return n.update(kf(e)),Ao(await n.digest())}return aG},hG=(r,e)=>{r=r.toLowerCase();for(const t of Object.keys(e))if(r===t.toLowerCase())return!0;return!1},pG=(r,e={})=>{const{headers:t,query:n={}}=na.clone(r);for(const i of Object.keys(t)){const a=i.toLowerCase();(a.slice(0,6)==="x-amz-"&&!e.unhoistableHeaders?.has(a)||e.hoistableHeaders?.has(a))&&(n[i]=t[i],delete t[i])}return{...r,headers:t,query:n}},i2=r=>{r=na.clone(r);for(const e of Object.keys(r.headers))KH.indexOf(e.toLowerCase())>-1&&delete r.headers[e];return r};class a2 extends dG{headerFormatter=new jH;constructor({applyChecksum:e,credentials:t,region:n,service:i,sha256:a,uriEscapePath:s=!0}){super({applyChecksum:e,credentials:t,region:n,service:i,sha256:a,uriEscapePath:s})}async presign(e,t={}){const{signingDate:n=new Date,expiresIn:i=3600,unsignableHeaders:a,unhoistableHeaders:s,signableHeaders:o,hoistableHeaders:l,signingRegion:u,signingService:c}=t,f=await this.credentialProvider();this.validateResolvedCredentials(f);const d=u??await this.regionProvider(),{longDate:h,shortDate:g}=this.formatDate(n);if(i>oG)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");const v=Yv(g,d,c??this.service),y=pG(i2(e),{unhoistableHeaders:s,hoistableHeaders:l});f.sessionToken&&(y.query[pP]=f.sessionToken),y.query[WH]=Wv,y.query[QH]=`${f.accessKeyId}/${v}`,y.query[fP]=h,y.query[XH]=i.toString(10);const A=n2(y,a,o);return y.query[YH]=this.getCanonicalHeaderList(A),y.query[hP]=await this.getSignature(h,v,this.getSigningKey(f,d,g,c),this.createCanonicalRequest(y,A,await Xv(e,this.sha256))),y}async sign(e,t){return typeof e=="string"?this.signString(e,t):e.headers&&e.payload?this.signEvent(e,t):e.message?this.signMessage(e,t):this.signRequest(e,t)}async signEvent({headers:e,payload:t},{signingDate:n=new Date,priorSignature:i,signingRegion:a,signingService:s,eventStreamCredentials:o}){const l=a??await this.regionProvider(),{shortDate:u,longDate:c}=this.formatDate(n),f=Yv(u,l,s??this.service),d=await Xv({headers:{},body:t},this.sha256),h=new this.sha256;h.update(e);const g=Ao(await h.digest()),v=[iG,c,f,i,g,d].join(`
|
|
3054
3054
|
`);return this.signString(v,{signingDate:n,signingRegion:l,signingService:s,eventStreamCredentials:o})}async signMessage(e,{signingDate:t=new Date,signingRegion:n,signingService:i,eventStreamCredentials:a}){return this.signEvent({headers:this.headerFormatter.format(e.message.headers),payload:e.message.body},{signingDate:t,signingRegion:n,signingService:i,priorSignature:e.priorSignature,eventStreamCredentials:a}).then(o=>({message:e.message,signature:o}))}async signString(e,{signingDate:t=new Date,signingRegion:n,signingService:i,eventStreamCredentials:a}={}){const s=a??await this.credentialProvider();this.validateResolvedCredentials(s);const o=n??await this.regionProvider(),{shortDate:l}=this.formatDate(t),u=new this.sha256(await this.getSigningKey(s,o,l,i));return u.update(kf(e)),Ao(await u.digest())}async signRequest(e,{signingDate:t=new Date,signableHeaders:n,unsignableHeaders:i,signingRegion:a,signingService:s}={}){const o=await this.credentialProvider();this.validateResolvedCredentials(o);const l=a??await this.regionProvider(),u=i2(e),{longDate:c,shortDate:f}=this.formatDate(t),d=Yv(f,l,s??this.service);u.headers[mP]=c,o.sessionToken&&(u.headers[eG]=o.sessionToken);const h=await Xv(u,this.sha256);!hG(xA,u.headers)&&this.applyChecksum&&(u.headers[xA]=h);const g=n2(u,i,n),v=await this.getSignature(c,d,this.getSigningKey(o,l,f,s),this.createCanonicalRequest(u,g,h));return u.headers[gP]=`${Wv} Credential=${o.accessKeyId}/${d}, SignedHeaders=${this.getCanonicalHeaderList(g)}, Signature=${v}`,u}async getSignature(e,t,n,i){const a=await this.createStringToSign(e,t,i,Wv),s=new this.sha256(await n);return s.update(kf(a)),Ao(await s.digest())}getSigningKey(e,t,n,i){return fG(this.sha256,e,n,t,i||this.service)}}const gG=r=>{let e=r.credentials,t=!!r.credentials,n;Object.defineProperty(r,"credentials",{set(u){u&&u!==e&&u!==n&&(t=!0),e=u;const c=mG(r,{credentials:e,credentialDefaultProvider:r.credentialDefaultProvider}),f=vG(r,c);if(t&&!f.attributed){const d=typeof e=="object"&&e!==null;n=async h=>{const v=await f(h);return d&&(!v.$source||Object.keys(v.$source).length===0)?EV(v,"CREDENTIALS_CODE","e"):v},n.memoized=f.memoized,n.configBound=f.configBound,n.attributed=!0}else n=f},get(){return n},enumerable:!0,configurable:!0}),r.credentials=e;const{signingEscapePath:i=!0,systemClockOffset:a=r.systemClockOffset||0,sha256:s}=r;let o;return r.signer?o=tf(r.signer):r.regionInfoProvider?o=()=>tf(r.region)().then(async u=>[await r.regionInfoProvider(u,{useFipsEndpoint:await r.useFipsEndpoint(),useDualstackEndpoint:await r.useDualstackEndpoint()})||{},u]).then(([u,c])=>{const{signingRegion:f,signingService:d}=u;r.signingRegion=r.signingRegion||f||c,r.signingName=r.signingName||d||r.serviceId;const h={...r,credentials:r.credentials,region:r.signingRegion,service:r.signingName,sha256:s,uriEscapePath:i},g=r.signerConstructor||a2;return new g(h)}):o=async u=>{u=Object.assign({},{name:"sigv4",signingName:r.signingName||r.defaultSigningName,signingRegion:await tf(r.region)(),properties:{}},u);const c=u.signingRegion,f=u.signingName;r.signingRegion=r.signingRegion||c,r.signingName=r.signingName||f||r.serviceId;const d={...r,credentials:r.credentials,region:r.signingRegion,service:r.signingName,sha256:s,uriEscapePath:i},h=r.signerConstructor||a2;return new h(d)},Object.assign(r,{systemClockOffset:a,signingEscapePath:i,signer:o})};function mG(r,{credentials:e,credentialDefaultProvider:t}){let n;return e?e?.memoized?n=e:n=fH(e,dH,oP):t?n=tf(t(Object.assign({},r,{parentClientConfig:r}))):n=async()=>{throw new Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.")},n.memoized=!0,n}function vG(r,e){if(e.configBound)return e;const t=async n=>e({...n,callerClientConfig:r});return t.memoized=e.memoized,t.configBound=!0,t}const yG=async(r,e,t)=>({operation:vc(e).operation,region:await Bs(r.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function AG(r){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"cognito-idp",region:r.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}function Ur(r){return{schemeId:"smithy.api#noAuth"}}const wG=r=>{const e=[];switch(r.operation){case"AssociateSoftwareToken":{e.push(Ur());break}case"ChangePassword":{e.push(Ur());break}case"CompleteWebAuthnRegistration":{e.push(Ur());break}case"ConfirmDevice":{e.push(Ur());break}case"ConfirmForgotPassword":{e.push(Ur());break}case"ConfirmSignUp":{e.push(Ur());break}case"DeleteUser":{e.push(Ur());break}case"DeleteUserAttributes":{e.push(Ur());break}case"DeleteWebAuthnCredential":{e.push(Ur());break}case"ForgetDevice":{e.push(Ur());break}case"ForgotPassword":{e.push(Ur());break}case"GetDevice":{e.push(Ur());break}case"GetTokensFromRefreshToken":{e.push(Ur());break}case"GetUser":{e.push(Ur());break}case"GetUserAttributeVerificationCode":{e.push(Ur());break}case"GetUserAuthFactors":{e.push(Ur());break}case"GlobalSignOut":{e.push(Ur());break}case"InitiateAuth":{e.push(Ur());break}case"ListDevices":{e.push(Ur());break}case"ListWebAuthnCredentials":{e.push(Ur());break}case"ResendConfirmationCode":{e.push(Ur());break}case"RespondToAuthChallenge":{e.push(Ur());break}case"RevokeToken":{e.push(Ur());break}case"SetUserMFAPreference":{e.push(Ur());break}case"SetUserSettings":{e.push(Ur());break}case"SignUp":{e.push(Ur());break}case"StartWebAuthnRegistration":{e.push(Ur());break}case"UpdateAuthEventFeedback":{e.push(Ur());break}case"UpdateDeviceStatus":{e.push(Ur());break}case"UpdateUserAttributes":{e.push(Ur());break}case"VerifySoftwareToken":{e.push(Ur());break}case"VerifyUserAttribute":{e.push(Ur());break}default:e.push(AG(r))}return e},bG=r=>{const e=gG(r);return Object.assign(e,{authSchemePreference:Bs(r.authSchemePreference??[])})},CG=r=>Object.assign(r,{useDualstackEndpoint:r.useDualstackEndpoint??!1,useFipsEndpoint:r.useFipsEndpoint??!1,defaultSigningName:"cognito-idp"}),yP={UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}},xG="3.1075.0",SG={version:xG},EG=r=>new TextEncoder().encode(r);var kG=typeof Buffer<"u"&&Buffer.from?function(r){return Buffer.from(r,"utf8")}:EG;function Tf(r){return r instanceof Uint8Array?r:typeof r=="string"?kG(r):ArrayBuffer.isView(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(r)}function SA(r){return typeof r=="string"?r.length===0:r.byteLength===0}var AP={name:"SHA-256"},s2={name:"HMAC",hash:AP},TG=new Uint8Array([227,176,196,66,152,252,28,20,154,251,244,200,153,111,185,36,39,174,65,228,100,155,147,76,164,149,153,27,120,82,184,85]);const FG={};function Kp(){return typeof window<"u"?window:typeof self<"u"?self:FG}var IG=(function(){function r(e){this.toHash=new Uint8Array(0),this.secret=e,this.reset()}return r.prototype.update=function(e){if(!SA(e)){var t=Tf(e),n=new Uint8Array(this.toHash.byteLength+t.byteLength);n.set(this.toHash,0),n.set(t,this.toHash.byteLength),this.toHash=n}},r.prototype.digest=function(){var e=this;return this.key?this.key.then(function(t){return Kp().crypto.subtle.sign(s2,t,e.toHash).then(function(n){return new Uint8Array(n)})}):SA(this.toHash)?Promise.resolve(TG):Promise.resolve().then(function(){return Kp().crypto.subtle.digest(AP,e.toHash)}).then(function(t){return Promise.resolve(new Uint8Array(t))})},r.prototype.reset=function(){var e=this;this.toHash=new Uint8Array(0),this.secret&&this.secret!==void 0&&(this.key=new Promise(function(t,n){Kp().crypto.subtle.importKey("raw",Tf(e.secret),s2,!1,["sign"]).then(t,n)}),this.key.catch(function(){}))},r})(),ha=64,PG=32,DG=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),RG=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],OG=Math.pow(2,53)-1,Zp=(function(){function r(){this.state=Int32Array.from(RG),this.temp=new Int32Array(64),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}return r.prototype.update=function(e){if(this.finished)throw new Error("Attempted to update an already finished hash.");var t=0,n=e.byteLength;if(this.bytesHashed+=n,this.bytesHashed*8>OG)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;n>0;)this.buffer[this.bufferLength++]=e[t++],n--,this.bufferLength===ha&&(this.hashBuffer(),this.bufferLength=0)},r.prototype.digest=function(){if(!this.finished){var e=this.bytesHashed*8,t=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),n=this.bufferLength;if(t.setUint8(this.bufferLength++,128),n%ha>=ha-8){for(var i=this.bufferLength;i<ha;i++)t.setUint8(i,0);this.hashBuffer(),this.bufferLength=0}for(var i=this.bufferLength;i<ha-8;i++)t.setUint8(i,0);t.setUint32(ha-8,Math.floor(e/4294967296),!0),t.setUint32(ha-4,e),this.hashBuffer(),this.finished=!0}for(var a=new Uint8Array(PG),i=0;i<8;i++)a[i*4]=this.state[i]>>>24&255,a[i*4+1]=this.state[i]>>>16&255,a[i*4+2]=this.state[i]>>>8&255,a[i*4+3]=this.state[i]>>>0&255;return a},r.prototype.hashBuffer=function(){for(var e=this,t=e.buffer,n=e.state,i=n[0],a=n[1],s=n[2],o=n[3],l=n[4],u=n[5],c=n[6],f=n[7],d=0;d<ha;d++){if(d<16)this.temp[d]=(t[d*4]&255)<<24|(t[d*4+1]&255)<<16|(t[d*4+2]&255)<<8|t[d*4+3]&255;else{var h=this.temp[d-2],g=(h>>>17|h<<15)^(h>>>19|h<<13)^h>>>10;h=this.temp[d-15];var v=(h>>>7|h<<25)^(h>>>18|h<<14)^h>>>3;this.temp[d]=(g+this.temp[d-7]|0)+(v+this.temp[d-16]|0)}var y=(((l>>>6|l<<26)^(l>>>11|l<<21)^(l>>>25|l<<7))+(l&u^~l&c)|0)+(f+(DG[d]+this.temp[d]|0)|0)|0,A=((i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10))+(i&a^i&s^a&s)|0;f=c,c=u,u=l,l=o+y|0,o=s,s=a,a=i,i=y+A|0}n[0]+=i,n[1]+=a,n[2]+=s,n[3]+=o,n[4]+=l,n[5]+=u,n[6]+=c,n[7]+=f},r})(),BG=(function(){function r(e){this.secret=e,this.hash=new Zp,this.reset()}return r.prototype.update=function(e){if(!(SA(e)||this.error))try{this.hash.update(Tf(e))}catch(t){this.error=t}},r.prototype.digestSync=function(){if(this.error)throw this.error;return this.outer?(this.outer.finished||this.outer.update(this.hash.digest()),this.outer.digest()):this.hash.digest()},r.prototype.digest=function(){return es(this,void 0,void 0,function(){return ts(this,function(e){return[2,this.digestSync()]})})},r.prototype.reset=function(){if(this.hash=new Zp,this.secret){this.outer=new Zp;var e=MG(this.secret),t=new Uint8Array(ha);t.set(e);for(var n=0;n<ha;n++)e[n]^=54,t[n]^=92;this.hash.update(e),this.outer.update(t);for(var n=0;n<e.byteLength;n++)e[n]=0}},r})();function MG(r){var e=Tf(r);if(e.byteLength>ha){var t=new Zp;t.update(e),e=t.digest()}var n=new Uint8Array(ha);return n.set(e),n}var _G=["decrypt","digest","encrypt","exportKey","generateKey","importKey","sign","verify"];function NG(r){if(LG(r)&&typeof r.crypto.subtle=="object"){var e=r.crypto.subtle;return UG(e)}return!1}function LG(r){if(typeof r=="object"&&typeof r.crypto=="object"){var e=r.crypto.getRandomValues;return typeof e=="function"}return!1}function UG(r){return r&&_G.every(function(e){return typeof r[e]=="function"})}var VG=(function(){function r(e){NG(Kp())?this.hash=new IG(e):this.hash=new BG(e)}return r.prototype.update=function(e,t){this.hash.update(Tf(e))},r.prototype.digest=function(){return this.hash.digest()},r.prototype.reset=function(){this.hash.reset()},r})();function o2(r,e){return new Request(r,e)}function zG(r=0){return new Promise((e,t)=>{r&&setTimeout(()=>{const n=new Error(`Request did not complete within ${r} ms`);n.name="TimeoutError",t(n)},r)})}const Jv={supported:void 0};class Q1{config;configProvider;static create(e){return typeof e?.handle=="function"?e:new Q1(e)}constructor(e){typeof e=="function"?this.configProvider=e().then(t=>t||{}):(this.config=e??{},this.configProvider=Promise.resolve(this.config)),Jv.supported===void 0&&(Jv.supported=typeof Request<"u"&&"keepalive"in o2("https://[::1]"))}destroy(){}async handle(e,{abortSignal:t,requestTimeout:n}={}){this.config||(this.config=await this.configProvider);const i=n??this.config.requestTimeout,a=this.config.keepAlive===!0,s=this.config.credentials;if(t?.aborted){const C=l2(t);return Promise.reject(C)}let o=e.path;const l=m$(e.query||{});l&&(o+=`?${l}`),e.fragment&&(o+=`#${e.fragment}`);let u="";if(e.username!=null||e.password!=null){const C=e.username??"",S=e.password??"";u=`${C}:${S}@`}const{port:c,method:f}=e,d=`${e.protocol}//${u}${e.hostname}${c?`:${c}`:""}${o}`,h=f==="GET"||f==="HEAD"?void 0:e.body,g={body:h,headers:new Headers(e.headers),method:f,credentials:s};this.config?.cache&&(g.cache=this.config.cache),h&&(g.duplex="half"),typeof AbortController<"u"&&(g.signal=t),Jv.supported&&(g.keepalive=a),typeof this.config.requestInit=="function"&&Object.assign(g,this.config.requestInit(e));let v=()=>{};const y=o2(d,g),A=[fetch(y).then(C=>{const S=C.headers,F={};for(const R of S.entries())F[R[0]]=R[1];return C.body!=null?{response:new sc({headers:F,reason:C.statusText,statusCode:C.status,body:C.body})}:C.blob().then(R=>({response:new sc({headers:F,reason:C.statusText,statusCode:C.status,body:R})}))}),zG(i)];return t&&A.push(new Promise((C,S)=>{const F=()=>{const E=l2(t);S(E)};if(typeof t.addEventListener=="function"){const E=t;E.addEventListener("abort",F,{once:!0}),v=()=>E.removeEventListener("abort",F)}else t.onabort=F})),Promise.race(A).finally(v)}updateHttpClientConfig(e,t){this.config=void 0,this.configProvider=this.configProvider.then(n=>(n[e]=t,n))}httpHandlerConfigs(){return this.config??{}}}function l2(r){const e=r&&typeof r=="object"&&"reason"in r?r.reason:void 0;if(e){if(e instanceof Error){const i=new Error("Request aborted");return i.name="AbortError",i.cause=e,i}const n=new Error(String(e));return n.name="AbortError",n}const t=new Error("Request aborted");return t.name="AbortError",t}const $G=async r=>typeof Blob=="function"&&r instanceof Blob||r.constructor?.name==="Blob"?Blob.prototype.arrayBuffer!==void 0?new Uint8Array(await r.arrayBuffer()):HG(r):GG(r);async function HG(r){const e=await jG(r),t=Zg(e);return new Uint8Array(t)}async function GG(r){const e=[],t=r.getReader();let n=!1,i=0;for(;!n;){const{done:o,value:l}=await t.read();l&&(e.push(l),i+=l.length),n=o}const a=new Uint8Array(i);let s=0;for(const o of e)a.set(o,s),s+=o.length;return a}function jG(r){return new Promise((e,t)=>{const n=new FileReader;n.onloadend=()=>{if(n.readyState!==2)return t(new Error("Reader aborted too early"));const i=n.result??"",a=i.indexOf(","),s=a>-1?a+1:i.length;e(i.substring(s))},n.onabort=()=>t(new Error("Read aborted")),n.onerror=()=>t(n.error),n.readAsDataURL(r)})}class qG{queryCompat;errorRegistry;constructor(e=!1){this.queryCompat=e}resolveRestContentType(e,t){const n=t.getMemberSchemas(),i=Object.values(n).find(a=>!!a.getMergedTraits().httpPayload);if(i){const a=i.getMergedTraits().mediaType;return a||(i.isStringSchema()?"text/plain":i.isBlobSchema()?"application/octet-stream":e)}else if(!t.isUnitSchema()&&Object.values(n).find(s=>{const{httpQuery:o,httpQueryParams:l,httpHeader:u,httpLabel:c,httpPrefixHeaders:f}=s.getMergedTraits();return!o&&!l&&!u&&!c&&f===void 0}))return e}async getErrorSchemaOrThrowBaseException(e,t,n,i,a,s){let o=e;e.includes("#")&&([,o]=e.split("#"));const l={$metadata:a,$fault:n.statusCode<500?"client":"server"};if(!this.errorRegistry)throw new Error("@aws-sdk/core/protocols - error handler not initialized.");try{return{errorSchema:s?.(this.errorRegistry,o)??this.errorRegistry.getSchema(e),errorMetadata:l}}catch{i.message=i.message??i.Message??"UnknownError";const c=this.errorRegistry,f=c.getBaseException();if(f){const g=c.getErrorCtor(f)??Error;throw this.decorateServiceException(Object.assign(new g({name:o}),l),i)}const d=i,h=d?.message??d?.Message??d?.Error?.Message??d?.Error?.message;throw this.decorateServiceException(Object.assign(new Error(h),{name:o},l),i)}}compose(e,t,n){let i=n;t.includes("#")&&([i]=t.split("#"));const a=Zi.for(i),s=Zi.for("smithy.ts.sdk.synthetic."+n);e.copyFrom(a),e.copyFrom(s),this.errorRegistry=e}decorateServiceException(e,t={}){if(this.queryCompat){const n=e.Message??t.Message,i=_E(e,t);n&&(i.message=n);const a=i.Error??{};a.Type=i.Error?.Type,a.Code=i.Error?.Code,a.Message=i.Error?.message??i.Error?.Message??n,i.Error=a;const s=i.$metadata.requestId;return s&&(i.RequestId=s),i}return _E(e,t)}setQueryCompatError(e,t){const n=t.headers?.["x-amzn-query-error"];if(e!==void 0&&n!=null){const[i,a]=n.split(";"),s=Object.keys(e),o={Code:i,Type:a};e.Code=i,e.Type=a;for(let l=0;l<s.length;l++){const u=s[l];o[u==="message"?"Message":u]=e[u]}delete o.__type,e.Error=o}}queryCompatOutput(e,t){e.Error&&(t.Error=e.Error),e.Type&&(t.Type=e.Type),e.Code&&(t.Code=e.Code)}findQueryCompatibleError(e,t){try{return e.getSchema(t)}catch{return e.find(i=>vi.of(i).getMergedTraits().awsQueryError?.[0]===t)}}}class Y1{serdeContext;setSerdeContext(e){this.serdeContext=e}}class WG{from;to;keys;constructor(e,t){this.from=e,this.to=t;const n=Object.keys(this.from),i=new Set(n);i.delete("__type"),this.keys=i}mark(e){this.keys.delete(e)}hasUnknown(){return this.keys.size===1&&Object.keys(this.to).length===0}writeUnknown(){if(this.hasUnknown()){const e=this.keys.values().next().value,t=this.from[e];this.to.$unknown=[e,t]}}}function QG(r,e,t){if(t?.source){const n=t.source;if(typeof e=="number"&&(e>Number.MAX_SAFE_INTEGER||e<Number.MIN_SAFE_INTEGER||n!==String(e)))return n.includes(".")?new ns(n,"bigDecimal"):BigInt(n)}return e}const YG=(r,e)=>bA(r,e).then(t=>(e?.utf8Encoder??em)(t)),XG=(r,e)=>YG(r,e).then(t=>{if(t.length)try{return JSON.parse(t)}catch(n){throw n?.name==="SyntaxError"&&Object.defineProperty(n,"$responseBodyText",{value:t}),n}return{}}),u2=(r,e)=>Object.keys(r).find(t=>t.toLowerCase()===e.toLowerCase()),Kv=r=>{let e=r;return typeof e=="number"&&(e=e.toString()),e.indexOf(",")>=0&&(e=e.split(",")[0]),e.indexOf(":")>=0&&(e=e.split(":")[0]),e.indexOf("#")>=0&&(e=e.split("#")[1]),e},JG=(r,e,t=!1)=>KG(r,e,t?["code","header","type"]:["type","code","header"]),KG=({headers:r},e,t)=>{for(;t.length>0;)switch(t.shift()){case"header":const i=u2(r??{},"x-amzn-errortype");if(i!==void 0)return Kv(r[i]);break;case"code":const a=u2(e??{},"code");if(a&&e[a]!==void 0)return Kv(e[a]);break;case"type":if(e?.__type!==void 0)return Kv(e.__type);break}};class ZG extends Y1{settings;constructor(e){super(),this.settings=e}async read(e,t){return this._read(e,typeof t=="string"?JSON.parse(t,QG):await XG(t,this.serdeContext))}readObject(e,t){return this._read(e,t)}_read(e,t){const n=t!==null&&typeof t=="object",i=vi.of(e);if(n){if(i.isStructSchema()){const s=t,o=i.isUnionSchema(),l={};let u;const{jsonName:c}=this.settings;c&&(u={});let f;o&&(f=new WG(s,l));for(const[d,h]of i.structIterator()){let g=d;c&&(g=h.getMergedTraits().jsonName??g,u[g]=d),o&&f.mark(g),s[g]!=null&&(l[d]=this._read(h,s[g]))}if(o)f.writeUnknown();else if(typeof s.__type=="string")for(const d in s){const h=s[d],g=c?u[d]??d:d;g in l||(l[g]=h)}return l}if(Array.isArray(t)&&i.isListSchema()){const s=i.getValueSchema(),o=[];for(const l of t)o.push(this._read(s,l));return o}if(i.isMapSchema()){const s=i.getValueSchema(),o={};for(const l in t)o[l]=this._read(s,t[l]);return o}}if(i.isBlobSchema()&&typeof t=="string")return Zg(t);const a=i.getMergedTraits().mediaType;if(i.isStringSchema()&&typeof t=="string"&&a)return a==="application/json"||a.endsWith("+json")?po.from(t):t;if(i.isTimestampSchema()&&t!=null)switch(iP(i,this.settings)){case 5:return lz(t);case 6:return GI(t);case 7:return fz(t);default:return console.warn("Missing timestamp format, parsing value with Date constructor:",t),new Date(t)}if(i.isBigIntegerSchema()&&(typeof t=="number"||typeof t=="string"))return BigInt(t);if(i.isBigDecimalSchema()&&t!=null){if(t instanceof ns)return t;const s=t;return s.type==="bigDecimal"&&"string"in s?new ns(s.string,s.type):new ns(String(t),"bigDecimal")}if(i.isNumericSchema()&&typeof t=="string"){switch(t){case"Infinity":return 1/0;case"-Infinity":return-1/0;case"NaN":return NaN}return t}if(i.isDocumentSchema())if(n){const s=Array.isArray(t)?[]:{};for(const o in t){const l=t[o];l instanceof ns?s[o]=l:s[o]=this._read(i,l)}return s}else return structuredClone(t);return t}}const c2="Ν";class ej{values=new Map;counter=0;stage=0;createReplacer(){if(this.stage===1)throw new Error("@aws-sdk/core/protocols - JsonReplacer already created.");if(this.stage===2)throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted.");return this.stage=1,(e,t)=>{if(t instanceof ns){const n=`${c2+"nv"+this.counter++}_`+t.string;return this.values.set(`"${n}"`,t.string),n}if(typeof t=="bigint"){const n=t.toString(),i=`${c2+"b"+this.counter++}_`+n;return this.values.set(`"${i}"`,n),i}return t}}replaceInJson(e){if(this.stage===0)throw new Error("@aws-sdk/core/protocols - JsonReplacer not created yet.");if(this.stage===2)throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted.");if(this.stage=2,this.counter===0)return e;for(const[t,n]of this.values)e=e.replace(t,n);return e}}class tj extends Y1{settings;buffer;useReplacer=!1;rootSchema;constructor(e){super(),this.settings=e}write(e,t){this.rootSchema=vi.of(e),this.buffer=this._write(this.rootSchema,t)}flush(){const{rootSchema:e,useReplacer:t}=this;if(this.rootSchema=void 0,this.useReplacer=!1,e?.isStructSchema()||e?.isDocumentSchema()){if(!t)return JSON.stringify(this.buffer);const n=new ej;return n.replaceInJson(JSON.stringify(this.buffer,n.createReplacer(),0))}return this.buffer}writeDiscriminatedDocument(e,t){this.write(e,t),typeof this.buffer=="object"&&(this.buffer.__type=vi.of(e).getName(!0))}_write(e,t,n){const i=t!==null&&typeof t=="object",a=vi.of(e);if(i){if(a.isStructSchema()){const s=t,o={},{jsonName:l}=this.settings;let u;l&&(u={});let c=0;for(const[f,d]of a.structIterator()){const h=this._write(d,s[f],a);if(h!==void 0){let g=f;l&&(g=d.getMergedTraits().jsonName??f,u[f]=g),o[g]=h,c++}}if(a.isUnionSchema()&&c===0){const{$unknown:f}=s;if(Array.isArray(f)){const[d,h]=f;o[d]=this._write(15,h)}}else if(typeof s.__type=="string")for(const f in s){const d=s[f],h=l?u[f]??f:f;h in o||(o[h]=this._write(15,d))}return o}if(Array.isArray(t)&&a.isListSchema()){const s=a.getValueSchema(),o=[],l=!!a.getMergedTraits().sparse;for(const u of t)(l||u!=null)&&o.push(this._write(s,u));return o}if(a.isMapSchema()){const s=a.getValueSchema(),o={},l=!!a.getMergedTraits().sparse;for(const u in t){const c=t[u];(l||c!=null)&&(o[u]=this._write(s,c))}return o}if(t instanceof Uint8Array&&(a.isBlobSchema()||a.isDocumentSchema()))return a===this.rootSchema?t:(this.serdeContext?.base64Encoder??Cg)(t);if(t instanceof Date&&(a.isTimestampSchema()||a.isDocumentSchema()))switch(iP(a,this.settings)){case 5:return t.toISOString().replace(".000Z","Z");case 6:return sz(t);case 7:return t.getTime()/1e3;default:return console.warn("Missing timestamp format, using epoch seconds",t),t.getTime()/1e3}t instanceof ns&&(this.useReplacer=!0)}if(!(t===null&&n?.isStructSchema())){if(a.isStringSchema()){if(typeof t>"u"&&a.isIdempotencyToken())return s$();const s=a.getMergedTraits().mediaType;return t!=null&&s&&(s==="application/json"||s.endsWith("+json"))?po.from(t):t}if(typeof t=="number"&&a.isNumericSchema())return Math.abs(t)===1/0||isNaN(t)?String(t):t;if(typeof t=="string"&&a.isBlobSchema())return a===this.rootSchema?t:(this.serdeContext?.base64Encoder??Cg)(t);if(typeof t=="bigint"&&(this.useReplacer=!0),a.isDocumentSchema())if(i){const s=Array.isArray(t)?[]:{};for(const o in t){const l=t[o];l instanceof ns?(this.useReplacer=!0,s[o]=l):s[o]=this._write(a,l)}return s}else return structuredClone(t);return t}}}class rj extends Y1{settings;constructor(e){super(),this.settings=e}createSerializer(){const e=new tj(this.settings);return e.setSerdeContext(this.serdeContext),e}createDeserializer(){const e=new ZG(this.settings);return e.setSerdeContext(this.serdeContext),e}}class nj extends u${serializer;deserializer;serviceTarget;codec;mixin;awsQueryCompatible;constructor({defaultNamespace:e,errorTypeRegistries:t,serviceTarget:n,awsQueryCompatible:i,jsonCodec:a}){super({defaultNamespace:e,errorTypeRegistries:t}),this.serviceTarget=n,this.codec=a??new rj({timestampFormat:{useTrait:!0,default:7},jsonName:!1}),this.serializer=this.codec.createSerializer(),this.deserializer=this.codec.createDeserializer(),this.awsQueryCompatible=!!i,this.mixin=new qG(this.awsQueryCompatible)}async serializeRequest(e,t,n){const i=await super.serializeRequest(e,t,n);return i.path.endsWith("/")||(i.path+="/"),i.headers["content-type"]=`application/x-amz-json-${this.getJsonRpcVersion()}`,i.headers["x-amz-target"]=`${this.serviceTarget}.${e.name}`,this.awsQueryCompatible&&(i.headers["x-amzn-query-mode"]="true"),(Yp(e.input)==="unit"||!i.body)&&(i.body="{}"),i}getPayloadCodec(){return this.codec}async handleError(e,t,n,i,a){const{awsQueryCompatible:s}=this;s&&this.mixin.setQueryCompatError(i,n);const o=JG(n,i,s)??"Unknown";this.mixin.compose(this.compositeErrorRegistry,o,this.options.defaultNamespace);const{errorSchema:l,errorMetadata:u}=await this.mixin.getErrorSchemaOrThrowBaseException(o,this.options.defaultNamespace,n,i,a,s?this.mixin.findQueryCompatibleError:void 0),c=vi.of(l),f=i.message??i.Message??"UnknownError",d=this.compositeErrorRegistry.getErrorCtor(l)??Error,h=new d({}),g={},v=this.codec.createDeserializer();for(const[y,A]of c.structIterator())i[y]!=null&&(g[y]=v.readObject(A,i[y]));throw s&&this.mixin.queryCompatOutput(i,g),this.mixin.decorateServiceException(Object.assign(h,u,{$fault:c.getMergedTraits().error,message:f},g),i)}}class ij extends nj{constructor({defaultNamespace:e,errorTypeRegistries:t,serviceTarget:n,awsQueryCompatible:i,jsonCodec:a}){super({defaultNamespace:e,errorTypeRegistries:t,serviceTarget:n,awsQueryCompatible:i,jsonCodec:a})}getShapeId(){return"aws.protocols#awsJson1_1"}getJsonRpcVersion(){return"1.1"}getDefaultContentType(){return"application/x-amz-json-1.1"}}const Ff="ref",pl=-1,Ip=!0,d2="isSet",wP="PartitionResult",Pp="booleanEquals",Zv="getAttr",Fd="stringEquals",f2={[Ff]:"Endpoint"},ey={[Ff]:wP},$d={[Ff]:"Region"},Ya={},h2=[$d],p2={conditions:[[d2,[f2]],[d2,h2],["aws.partition",h2,wP],[Pp,[{[Ff]:"UseFIPS"},Ip]],[Pp,[{fn:Zv,argv:[ey,"supportsFIPS"]},Ip]],[Pp,[{[Ff]:"UseDualStack"},Ip]],[Pp,[{fn:Zv,argv:[ey,"supportsDualStack"]},Ip]],[Fd,[{fn:Zv,argv:[ey,"name"]},"aws"]],[Fd,[$d,"us-east-1"]],[Fd,[$d,"us-east-2"]],[Fd,[$d,"us-west-1"]],[Fd,[$d,"us-west-2"]]],results:[[pl],[pl,"Invalid Configuration: FIPS and custom endpoint are not supported"],[pl,"Invalid Configuration: Dualstack and custom endpoint are not supported"],[f2,Ya],["https://cognito-idp-fips.us-east-1.amazonaws.com",Ya],["https://cognito-idp-fips.us-east-2.amazonaws.com",Ya],["https://cognito-idp-fips.us-west-1.amazonaws.com",Ya],["https://cognito-idp-fips.us-west-2.amazonaws.com",Ya],["https://cognito-idp-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",Ya],[pl,"FIPS and DualStack are enabled, but this partition does not support one or both"],["https://cognito-idp-fips.{Region}.{PartitionResult#dnsSuffix}",Ya],[pl,"FIPS is enabled but this partition does not support FIPS"],["https://cognito-idp.{Region}.amazonaws.com",Ya],["https://cognito-idp.{Region}.{PartitionResult#dualStackDnsSuffix}",Ya],[pl,"DualStack is enabled but this partition does not support DualStack"],["https://cognito-idp.{Region}.{PartitionResult#dnsSuffix}",Ya],[pl,"Invalid Configuration: Missing Region"]]},aj=2,pi=1e8,sj=new Int32Array([-1,1,-1,0,17,3,1,4,pi+16,2,5,pi+16,3,9,6,5,7,pi+15,6,8,pi+14,7,pi+12,pi+13,4,11,10,5,pi+9,pi+11,5,12,pi+10,6,13,pi+9,8,pi+4,14,9,pi+5,15,10,pi+6,16,11,pi+7,pi+8,3,pi+1,18,5,pi+2,pi+3]),oj=H1.from(sj,aj,p2.conditions,p2.results),lj=new Lz({size:50,params:["Endpoint","Region","UseDualStack","UseFIPS"]}),uj=(r,e={})=>lj.get(r,()=>n$(oj,{endpointParams:r,logger:e.logger}));G1.aws=uP;class Ct extends Lu{constructor(e){super(e),Object.setPrototypeOf(this,Ct.prototype)}}class X1 extends Ct{name="AccessDeniedException";$fault="client";constructor(e){super({name:"AccessDeniedException",$fault:"client",...e}),Object.setPrototypeOf(this,X1.prototype)}}class J1 extends Ct{name="InternalErrorException";$fault="server";constructor(e){super({name:"InternalErrorException",$fault:"server",...e}),Object.setPrototypeOf(this,J1.prototype)}}class K1 extends Ct{name="InvalidParameterException";$fault="client";reasonCode;constructor(e){super({name:"InvalidParameterException",$fault:"client",...e}),Object.setPrototypeOf(this,K1.prototype),this.reasonCode=e.reasonCode}}class Z1 extends Ct{name="NotAuthorizedException";$fault="client";constructor(e){super({name:"NotAuthorizedException",$fault:"client",...e}),Object.setPrototypeOf(this,Z1.prototype)}}class ew extends Ct{name="OperationNotEnabledException";$fault="client";constructor(e){super({name:"OperationNotEnabledException",$fault:"client",...e}),Object.setPrototypeOf(this,ew.prototype)}}class tw extends Ct{name="ResourceNotFoundException";$fault="client";constructor(e){super({name:"ResourceNotFoundException",$fault:"client",...e}),Object.setPrototypeOf(this,tw.prototype)}}class rw extends Ct{name="TooManyRequestsException";$fault="client";constructor(e){super({name:"TooManyRequestsException",$fault:"client",...e}),Object.setPrototypeOf(this,rw.prototype)}}class nw extends Ct{name="UserImportInProgressException";$fault="client";constructor(e){super({name:"UserImportInProgressException",$fault:"client",...e}),Object.setPrototypeOf(this,nw.prototype)}}class iw extends Ct{name="InternalServerException";$fault="server";constructor(e){super({name:"InternalServerException",$fault:"server",...e}),Object.setPrototypeOf(this,iw.prototype)}}class aw extends Ct{name="LimitExceededException";$fault="client";constructor(e){super({name:"LimitExceededException",$fault:"client",...e}),Object.setPrototypeOf(this,aw.prototype)}}class sw extends Ct{name="UserNotFoundException";$fault="client";constructor(e){super({name:"UserNotFoundException",$fault:"client",...e}),Object.setPrototypeOf(this,sw.prototype)}}class ow extends Ct{name="InvalidLambdaResponseException";$fault="client";constructor(e){super({name:"InvalidLambdaResponseException",$fault:"client",...e}),Object.setPrototypeOf(this,ow.prototype)}}class lw extends Ct{name="TooManyFailedAttemptsException";$fault="client";constructor(e){super({name:"TooManyFailedAttemptsException",$fault:"client",...e}),Object.setPrototypeOf(this,lw.prototype)}}class uw extends Ct{name="UnexpectedLambdaException";$fault="client";constructor(e){super({name:"UnexpectedLambdaException",$fault:"client",...e}),Object.setPrototypeOf(this,uw.prototype)}}class cw extends Ct{name="UserLambdaValidationException";$fault="client";constructor(e){super({name:"UserLambdaValidationException",$fault:"client",...e}),Object.setPrototypeOf(this,cw.prototype)}}class dw extends Ct{name="CodeDeliveryFailureException";$fault="client";constructor(e){super({name:"CodeDeliveryFailureException",$fault:"client",...e}),Object.setPrototypeOf(this,dw.prototype)}}class fw extends Ct{name="InvalidPasswordException";$fault="client";constructor(e){super({name:"InvalidPasswordException",$fault:"client",...e}),Object.setPrototypeOf(this,fw.prototype)}}class hw extends Ct{name="InvalidSmsRoleAccessPolicyException";$fault="client";constructor(e){super({name:"InvalidSmsRoleAccessPolicyException",$fault:"client",...e}),Object.setPrototypeOf(this,hw.prototype)}}class pw extends Ct{name="InvalidSmsRoleTrustRelationshipException";$fault="client";constructor(e){super({name:"InvalidSmsRoleTrustRelationshipException",$fault:"client",...e}),Object.setPrototypeOf(this,pw.prototype)}}class gw extends Ct{name="PreconditionNotMetException";$fault="client";constructor(e){super({name:"PreconditionNotMetException",$fault:"client",...e}),Object.setPrototypeOf(this,gw.prototype)}}class mw extends Ct{name="UnsupportedUserStateException";$fault="client";constructor(e){super({name:"UnsupportedUserStateException",$fault:"client",...e}),Object.setPrototypeOf(this,mw.prototype)}}class vw extends Ct{name="UsernameExistsException";$fault="client";constructor(e){super({name:"UsernameExistsException",$fault:"client",...e}),Object.setPrototypeOf(this,vw.prototype)}}class yw extends Ct{name="AliasExistsException";$fault="client";constructor(e){super({name:"AliasExistsException",$fault:"client",...e}),Object.setPrototypeOf(this,yw.prototype)}}class Aw extends Ct{name="InvalidUserPoolConfigurationException";$fault="client";constructor(e){super({name:"InvalidUserPoolConfigurationException",$fault:"client",...e}),Object.setPrototypeOf(this,Aw.prototype)}}class ww extends Ct{name="InvalidEmailRoleAccessPolicyException";$fault="client";constructor(e){super({name:"InvalidEmailRoleAccessPolicyException",$fault:"client",...e}),Object.setPrototypeOf(this,ww.prototype)}}class bw extends Ct{name="MFAMethodNotFoundException";$fault="client";constructor(e){super({name:"MFAMethodNotFoundException",$fault:"client",...e}),Object.setPrototypeOf(this,bw.prototype)}}class Cw extends Ct{name="PasswordResetRequiredException";$fault="client";constructor(e){super({name:"PasswordResetRequiredException",$fault:"client",...e}),Object.setPrototypeOf(this,Cw.prototype)}}class xw extends Ct{name="UnsupportedOperationException";$fault="client";constructor(e){super({name:"UnsupportedOperationException",$fault:"client",...e}),Object.setPrototypeOf(this,xw.prototype)}}class Sw extends Ct{name="UserNotConfirmedException";$fault="client";constructor(e){super({name:"UserNotConfirmedException",$fault:"client",...e}),Object.setPrototypeOf(this,Sw.prototype)}}class Ew extends Ct{name="UserPoolAddOnNotEnabledException";$fault="client";constructor(e){super({name:"UserPoolAddOnNotEnabledException",$fault:"client",...e}),Object.setPrototypeOf(this,Ew.prototype)}}class kw extends Ct{name="CodeMismatchException";$fault="client";constructor(e){super({name:"CodeMismatchException",$fault:"client",...e}),Object.setPrototypeOf(this,kw.prototype)}}class Tw extends Ct{name="ExpiredCodeException";$fault="client";constructor(e){super({name:"ExpiredCodeException",$fault:"client",...e}),Object.setPrototypeOf(this,Tw.prototype)}}class Fw extends Ct{name="PasswordHistoryPolicyViolationException";$fault="client";constructor(e){super({name:"PasswordHistoryPolicyViolationException",$fault:"client",...e}),Object.setPrototypeOf(this,Fw.prototype)}}class Iw extends Ct{name="SoftwareTokenMFANotFoundException";$fault="client";constructor(e){super({name:"SoftwareTokenMFANotFoundException",$fault:"client",...e}),Object.setPrototypeOf(this,Iw.prototype)}}class Pw extends Ct{name="ConcurrentModificationException";$fault="client";constructor(e){super({name:"ConcurrentModificationException",$fault:"client",...e}),Object.setPrototypeOf(this,Pw.prototype)}}class Dw extends Ct{name="ForbiddenException";$fault="client";constructor(e){super({name:"ForbiddenException",$fault:"client",...e}),Object.setPrototypeOf(this,Dw.prototype)}}class Rw extends Ct{name="WebAuthnChallengeNotFoundException";$fault="client";constructor(e){super({name:"WebAuthnChallengeNotFoundException",$fault:"client",...e}),Object.setPrototypeOf(this,Rw.prototype)}}class Ow extends Ct{name="WebAuthnClientMismatchException";$fault="client";constructor(e){super({name:"WebAuthnClientMismatchException",$fault:"client",...e}),Object.setPrototypeOf(this,Ow.prototype)}}class Bw extends Ct{name="WebAuthnCredentialNotSupportedException";$fault="client";constructor(e){super({name:"WebAuthnCredentialNotSupportedException",$fault:"client",...e}),Object.setPrototypeOf(this,Bw.prototype)}}class Mw extends Ct{name="WebAuthnNotEnabledException";$fault="client";constructor(e){super({name:"WebAuthnNotEnabledException",$fault:"client",...e}),Object.setPrototypeOf(this,Mw.prototype)}}class _w extends Ct{name="WebAuthnOriginNotAllowedException";$fault="client";constructor(e){super({name:"WebAuthnOriginNotAllowedException",$fault:"client",...e}),Object.setPrototypeOf(this,_w.prototype)}}class Nw extends Ct{name="WebAuthnRelyingPartyMismatchException";$fault="client";constructor(e){super({name:"WebAuthnRelyingPartyMismatchException",$fault:"client",...e}),Object.setPrototypeOf(this,Nw.prototype)}}class Lw extends Ct{name="DeviceKeyExistsException";$fault="client";constructor(e){super({name:"DeviceKeyExistsException",$fault:"client",...e}),Object.setPrototypeOf(this,Lw.prototype)}}class Uw extends Ct{name="GroupExistsException";$fault="client";constructor(e){super({name:"GroupExistsException",$fault:"client",...e}),Object.setPrototypeOf(this,Uw.prototype)}}class Vw extends Ct{name="DuplicateProviderException";$fault="client";constructor(e){super({name:"DuplicateProviderException",$fault:"client",...e}),Object.setPrototypeOf(this,Vw.prototype)}}class zw extends Ct{name="ManagedLoginBrandingExistsException";$fault="client";constructor(e){super({name:"ManagedLoginBrandingExistsException",$fault:"client",...e}),Object.setPrototypeOf(this,zw.prototype)}}class $w extends Ct{name="TermsExistsException";$fault="client";constructor(e){super({name:"TermsExistsException",$fault:"client",...e}),Object.setPrototypeOf(this,$w.prototype)}}class Hw extends Ct{name="FeatureUnavailableInTierException";$fault="client";constructor(e){super({name:"FeatureUnavailableInTierException",$fault:"client",...e}),Object.setPrototypeOf(this,Hw.prototype)}}class Gw extends Ct{name="TierChangeNotAllowedException";$fault="client";constructor(e){super({name:"TierChangeNotAllowedException",$fault:"client",...e}),Object.setPrototypeOf(this,Gw.prototype)}}class jw extends Ct{name="UserPoolTaggingException";$fault="client";constructor(e){super({name:"UserPoolTaggingException",$fault:"client",...e}),Object.setPrototypeOf(this,jw.prototype)}}class qw extends Ct{name="InvalidOAuthFlowException";$fault="client";constructor(e){super({name:"InvalidOAuthFlowException",$fault:"client",...e}),Object.setPrototypeOf(this,qw.prototype)}}class Ww extends Ct{name="ScopeDoesNotExistException";$fault="client";constructor(e){super({name:"ScopeDoesNotExistException",$fault:"client",...e}),Object.setPrototypeOf(this,Ww.prototype)}}class Qw extends Ct{name="UnsupportedIdentityProviderException";$fault="client";constructor(e){super({name:"UnsupportedIdentityProviderException",$fault:"client",...e}),Object.setPrototypeOf(this,Qw.prototype)}}class Yw extends Ct{name="RefreshTokenReuseException";$fault="client";constructor(e){super({name:"RefreshTokenReuseException",$fault:"client",...e}),Object.setPrototypeOf(this,Yw.prototype)}}class Xw extends Ct{name="UnauthorizedException";$fault="client";constructor(e){super({name:"UnauthorizedException",$fault:"client",...e}),Object.setPrototypeOf(this,Xw.prototype)}}class Jw extends Ct{name="UnsupportedTokenTypeException";$fault="client";constructor(e){super({name:"UnsupportedTokenTypeException",$fault:"client",...e}),Object.setPrototypeOf(this,Jw.prototype)}}class Kw extends Ct{name="WebAuthnConfigurationMissingException";$fault="client";constructor(e){super({name:"WebAuthnConfigurationMissingException",$fault:"client",...e}),Object.setPrototypeOf(this,Kw.prototype)}}class Zw extends Ct{name="EnableSoftwareTokenMFAException";$fault="client";constructor(e){super({name:"EnableSoftwareTokenMFAException",$fault:"client",...e}),Object.setPrototypeOf(this,Zw.prototype)}}const cj="AvailableChallenges",dj="AccessDeniedException",fj="AliasExistsException",hj="AnalyticsEndpointId",pj="AuthFlow",bP="AnalyticsMetadata",gj="AnalyticsMetadataType",mj="AuthParameters",vj="AuthParametersType",CP="AuthenticationResult",yj="AuthenticationResultType",Aj="AccessToken",wj="CodeDeliveryFailureException",xP="ClientId",bj="ClientIdType",SP="ClientMetadata",Cj="CodeMismatchException",xj="ConcurrentModificationException",eb="ChallengeName",EP="ChallengeParameters",Sj="ChallengeResponses",Ej="ChallengeResponsesType",kj="DeviceGroupKey",Tj="DeviceKey",Fj="DeviceKeyExistsException",Ij="DuplicateProviderException",Pj="ExpiredCodeException",Dj="EncodedData",Rj="ExpiresIn",Oj="EnableSoftwareTokenMFAException",Bj="ForbiddenException",Mj="FeatureUnavailableInTierException",_j="GroupExistsException",Nj="IpAddress",Lj="InitiateAuthRequest",Uj="InitiateAuthResponse",Vj="InitiateAuth",zj="InternalErrorException",$j="InvalidEmailRoleAccessPolicyException",Hj="InvalidLambdaResponseException",Gj="InvalidOAuthFlowException",jj="InvalidParameterException",qj="InvalidPasswordException",Wj="InternalServerException",Qj="InvalidSmsRoleAccessPolicyException",Yj="InvalidSmsRoleTrustRelationshipException",Xj="IdToken",Jj="InvalidUserPoolConfigurationException",Kj="LimitExceededException",Zj="MFAMethodNotFoundException",eq="ManagedLoginBrandingExistsException",tq="NotAuthorizedException",rq="NewDeviceMetadata",nq="NewDeviceMetadataType",iq="OperationNotEnabledException",aq="PasswordHistoryPolicyViolationException",sq="PreconditionNotMetException",oq="PasswordResetRequiredException",lq="ResourceNotFoundException",uq="RefreshToken",cq="RespondToAuthChallenge",dq="RespondToAuthChallengeRequest",fq="RespondToAuthChallengeResponse",hq="RefreshTokenReuseException",nm="Session",pq="ScopeDoesNotExistException",gq="SessionType",mq="SoftwareTokenMFANotFoundException",vq="TierChangeNotAllowedException",yq="TermsExistsException",Aq="TooManyFailedAttemptsException",wq="TooManyRequestsException",bq="TokenModelType",Cq="TokenType",xq="UserContextDataType",kP="UserContextData",Sq="UnauthorizedException",Eq="UsernameExistsException",kq="UserImportInProgressException",Tq="UnsupportedIdentityProviderException",Fq="UnexpectedLambdaException",Iq="UserLambdaValidationException",Pq="UserNotConfirmedException",Dq="UserNotFoundException",Rq="UnsupportedOperationException",Oq="UserPoolAddOnNotEnabledException",Bq="UserPoolTaggingException",Mq="UnsupportedTokenTypeException",_q="UnsupportedUserStateException",Nq="WebAuthnClientMismatchException",Lq="WebAuthnConfigurationMissingException",Uq="WebAuthnChallengeNotFoundException",Vq="WebAuthnCredentialNotSupportedException",zq="WebAuthnNotEnabledException",$q="WebAuthnOriginNotAllowedException",Hq="WebAuthnRelyingPartyMismatchException",It="client",Tt="error",Pt="httpError",Ft="message",Gq="reasonCode",TP="smithy.ts.sdk.synthetic.com.amazonaws.cognitoidentityprovider",FP="server",at="com.amazonaws.cognitoidentityprovider",IP=Zi.for(TP);var jq=[-3,TP,"CognitoIdentityProviderServiceException",0,[],[]];IP.registerError(jq,Ct);const kt=Zi.for(at);var qq=[-3,at,dj,{[Tt]:It,[Pt]:403},[Ft],[0]];kt.registerError(qq,X1);var Wq=[-3,at,fj,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(Wq,yw);var Qq=[-3,at,wj,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(Qq,dw);var Yq=[-3,at,Cj,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(Yq,kw);var Xq=[-3,at,xj,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(Xq,Pw);var Jq=[-3,at,Fj,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(Jq,Lw);var Kq=[-3,at,Ij,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(Kq,Vw);var Zq=[-3,at,Oj,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(Zq,Zw);var eW=[-3,at,Pj,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(eW,Tw);var tW=[-3,at,Mj,{[Tt]:It,[Pt]:403},[Ft],[0]];kt.registerError(tW,Hw);var rW=[-3,at,Bj,{[Tt]:It,[Pt]:403},[Ft],[0]];kt.registerError(rW,Dw);var nW=[-3,at,_j,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(nW,Uw);var iW=[-3,at,zj,{[Tt]:FP},[Ft],[0]];kt.registerError(iW,J1);var aW=[-3,at,Wj,{[Tt]:FP},[Ft],[0]];kt.registerError(aW,iw);var sW=[-3,at,$j,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(sW,ww);var oW=[-3,at,Hj,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(oW,ow);var lW=[-3,at,Gj,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(lW,qw);var uW=[-3,at,jj,{[Tt]:It,[Pt]:400},[Ft,Gq],[0,0]];kt.registerError(uW,K1);var cW=[-3,at,qj,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(cW,fw);var dW=[-3,at,Qj,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(dW,hw);var fW=[-3,at,Yj,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(fW,pw);var hW=[-3,at,Jj,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(hW,Aw);var pW=[-3,at,Kj,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(pW,aw);var gW=[-3,at,eq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(gW,zw);var mW=[-3,at,Zj,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(mW,bw);var vW=[-3,at,tq,{[Tt]:It,[Pt]:403},[Ft],[0]];kt.registerError(vW,Z1);var yW=[-3,at,iq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(yW,ew);var AW=[-3,at,aq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(AW,Fw);var wW=[-3,at,oq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(wW,Cw);var bW=[-3,at,sq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(bW,gw);var CW=[-3,at,hq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(CW,Yw);var xW=[-3,at,lq,{[Tt]:It,[Pt]:404},[Ft],[0]];kt.registerError(xW,tw);var SW=[-3,at,pq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(SW,Ww);var EW=[-3,at,mq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(EW,Iw);var kW=[-3,at,yq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(kW,$w);var TW=[-3,at,vq,{[Tt]:It,[Pt]:403},[Ft],[0]];kt.registerError(TW,Gw);var FW=[-3,at,Aq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(FW,lw);var IW=[-3,at,wq,{[Tt]:It,[Pt]:429},[Ft],[0]];kt.registerError(IW,rw);var PW=[-3,at,Sq,{[Tt]:It,[Pt]:401},[Ft],[0]];kt.registerError(PW,Xw);var DW=[-3,at,Fq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(DW,uw);var RW=[-3,at,Tq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(RW,Qw);var OW=[-3,at,Rq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(OW,xw);var BW=[-3,at,Mq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(BW,Jw);var MW=[-3,at,_q,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(MW,mw);var _W=[-3,at,kq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(_W,nw);var NW=[-3,at,Iq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(NW,cw);var LW=[-3,at,Eq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(LW,vw);var UW=[-3,at,Pq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(UW,Sw);var VW=[-3,at,Dq,{[Tt]:It,[Pt]:404},[Ft],[0]];kt.registerError(VW,sw);var zW=[-3,at,Oq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(zW,Ew);var $W=[-3,at,Bq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError($W,jw);var HW=[-3,at,Uq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(HW,Rw);var GW=[-3,at,Nq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(GW,Ow);var jW=[-3,at,Lq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(jW,Kw);var qW=[-3,at,Vq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(qW,Bw);var WW=[-3,at,zq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(WW,Mw);var QW=[-3,at,$q,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(QW,_w);var YW=[-3,at,Hq,{[Tt]:It,[Pt]:400},[Ft],[0]];kt.registerError(YW,Nw);const XW=[IP,kt];var PP=[0,at,bj,8,0],im=[0,at,gq,8,0],ty=[0,at,bq,8,0],DP=[3,at,gj,0,[hj],[0]],RP=[3,at,yj,0,[Aj,Rj,Cq,uq,Xj,rq],[[()=>ty,0],1,0,[()=>ty,0],[()=>ty,0],()=>ZW]],JW=[3,at,Lj,0,[pj,xP,mj,SP,bP,kP,nm],[0,[()=>PP,0],[()=>rQ,0],128,()=>DP,[()=>OP,0],[()=>im,0]],2],KW=[3,at,Uj,0,[eb,nm,EP,CP,cj],[0,[()=>im,0],128,[()=>RP,0],64]],ZW=[3,at,nq,0,[Tj,kj],[0,0]],eQ=[3,at,dq,0,[xP,eb,nm,Sj,bP,kP,SP],[[()=>PP,0],0,[()=>im,0],[()=>nQ,0],()=>DP,[()=>OP,0],128],2],tQ=[3,at,fq,0,[eb,nm,EP,CP],[0,[()=>im,0],128,[()=>RP,0]]],OP=[3,at,xq,8,[Nj,Dj],[0,0]],rQ=[2,at,vj,8,0,0],nQ=[2,at,Ej,8,0,0],iQ=[9,at,Vj,0,()=>JW,()=>KW],aQ=[9,at,cq,0,()=>eQ,()=>tQ];const sQ=r=>({apiVersion:"2016-04-18",base64Decoder:r?.base64Decoder??Zg,base64Encoder:r?.base64Encoder??Cg,disableHostPrefix:r?.disableHostPrefix??!1,endpointProvider:r?.endpointProvider??uj,extensions:r?.extensions??[],httpAuthSchemeProvider:r?.httpAuthSchemeProvider??wG,httpAuthSchemes:r?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4"),signer:new GH},{schemeId:"smithy.api#noAuth",identityProvider:e=>e.getIdentityProvider("smithy.api#noAuth")||(async()=>({})),signer:new lH}],logger:r?.logger??new zI,protocol:r?.protocol??ij,protocolSettings:r?.protocolSettings??{defaultNamespace:"com.amazonaws.cognitoidentityprovider",errorTypeRegistries:XW,xmlNamespace:"http://cognito-idp.amazonaws.com/doc/2016-04-18/",version:"2016-04-18",serviceTarget:"AWSCognitoIdentityProviderService"},serviceId:r?.serviceId??"Cognito Identity Provider",urlParser:r?.urlParser??bg,utf8Decoder:r?.utf8Decoder??Tl,utf8Encoder:r?.utf8Encoder??em}),oQ=r=>{const e=_H(r),t=()=>e().then(UV),n=sQ(r);return{...n,...r,runtime:"browser",defaultsMode:e,bodyLengthChecker:r?.bodyLengthChecker??bz,credentialDefaultProvider:r?.credentialDefaultProvider??(i=>()=>Promise.reject(new Error("Credential is missing"))),defaultUserAgentProvider:r?.defaultUserAgentProvider??FH({serviceId:n.serviceId,clientVersion:SG.version}),maxAttempts:r?.maxAttempts??ef,region:r?.region??PV("Region is missing"),requestHandler:Q1.create(r?.requestHandler??t),retryMode:r?.retryMode??(async()=>(await t()).retryMode||V$),sha256:r?.sha256??VG,streamCollector:r?.streamCollector??$G,useDualstackEndpoint:r?.useDualstackEndpoint??(()=>Promise.resolve(LH)),useFipsEndpoint:r?.useFipsEndpoint??(()=>Promise.resolve(UH))}},lQ=r=>{const e=r.httpAuthSchemes;let t=r.httpAuthSchemeProvider,n=r.credentials;return{setHttpAuthScheme(i){const a=e.findIndex(s=>s.schemeId===i.schemeId);a===-1?e.push(i):e.splice(a,1,i)},httpAuthSchemes(){return e},setHttpAuthSchemeProvider(i){t=i},httpAuthSchemeProvider(){return t},setCredentials(i){n=i},credentials(){return n}}},uQ=r=>({httpAuthSchemes:r.httpAuthSchemes(),httpAuthSchemeProvider:r.httpAuthSchemeProvider(),credentials:r.credentials()}),cQ=(r,e)=>{const t=Object.assign(VH(r),GV(r),c$(r),lQ(r));return e.forEach(n=>n.configure(t)),Object.assign(r,zH(t),jV(t),d$(t),uQ(t))};class dQ extends DV{config;constructor(...[e]){const t=oQ(e||{});super(t),this.initConfig=t;const n=CG(t),i=gH(n),a=$$(i),s=BH(a),o=s,l=i$(o),u=bG(l),c=cQ(u,e?.extensions||[]);this.config=c,this.middlewareStack.use(_V(this.config)),this.middlewareStack.use(TH(this.config)),this.middlewareStack.use(H$(this.config)),this.middlewareStack.use(p$(this.config)),this.middlewareStack.use(q$(this.config)),this.middlewareStack.use(Y$(this.config)),this.middlewareStack.use(X$(this.config)),this.middlewareStack.use(tH(this.config,{httpAuthSchemeParametersProvider:yG,identityProviderConfigProvider:async f=>new oH({"aws.auth#sigv4":f.credentials})})),this.middlewareStack.use(sH(this.config))}destroy(){super.destroy()}}class g2 extends z1.classBuilder().ep(yP).m(function(e,t,n,i){return[rP(n,e.getEndpointParameterInstructions())]}).s("AWSCognitoIdentityProviderService","InitiateAuth",{}).n("CognitoIdentityProviderClient","InitiateAuthCommand").sc(iQ).build(){}class fQ extends z1.classBuilder().ep(yP).m(function(e,t,n,i){return[rP(n,e.getEndpointParameterInstructions())]}).s("AWSCognitoIdentityProviderService","RespondToAuthChallenge",{}).n("CognitoIdentityProviderClient","RespondToAuthChallengeCommand").sc(aQ).build(){}class hQ{init(e,t,n){this.cognitoClient=new dQ({region:t}),this.spiffRegion=e,this.userPoolClientId=n}async generateCode(e){const t=await this.cognitoClient?.send(new g2({AuthFlow:"CUSTOM_AUTH",ClientId:this.userPoolClientId,AuthParameters:{USERNAME:e}}));t?.ChallengeName==="CUSTOM_CHALLENGE"&&(this.challengeSession=t.Session)}async verifyCode(e,t,n){const i=await this.cognitoClient?.send(new fQ({ClientId:this.userPoolClientId,ChallengeName:"CUSTOM_CHALLENGE",Session:this.challengeSession,ChallengeResponses:{USERNAME:e,ANSWER:t},ClientMetadata:{partnerId:n,environment:(this.spiffRegion||"").toLowerCase()}}));return i?.ChallengeName==="CUSTOM_CHALLENGE"&&(this.challengeSession=i.Session),i}async refreshTokens(){const e=localStorage.getItem("cognito-tokens");if(!e)throw new Error("Failed to find existing tokens.");const t=JSON.parse(e);return await this.cognitoClient?.send(new g2({AuthFlow:"REFRESH_TOKEN_AUTH",ClientId:this.userPoolClientId,AuthParameters:{REFRESH_TOKEN:t.RefreshToken||""}}))}}const Id=new hQ;var pQ={defaultAmount:0,defaultCurrency:"USD",defaultPrecision:2},gQ={globalLocale:"en-US",globalFormat:"$0,0.00",globalRoundingMode:"HALF_EVEN",globalFormatRoundingMode:"HALF_AWAY_FROM_ZERO",globalExchangeRatesApi:{endpoint:void 0,headers:void 0,propertyPath:void 0}};function nf(r){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?nf=function(e){return typeof e}:nf=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nf(r)}function m2(r){return mQ(r)||vQ(r)||yQ(r)||AQ()}function mQ(r){if(Array.isArray(r))return r}function vQ(r){if(typeof Symbol<"u"&&Symbol.iterator in Object(r))return Array.from(r)}function yQ(r,e){if(r){if(typeof r=="string")return v2(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return v2(r,e)}}function v2(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function AQ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
3055
3055
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var wQ={normalizePrecision:function(e){var t=e.reduce(function(n,i){return Math.max(n.getPrecision(),i.getPrecision())});return e.map(function(n){return n.getPrecision()!==t?n.convertPrecision(t):n})},minimum:function(e){var t=m2(e),n=t[0],i=t.slice(1),a=n;return i.forEach(function(s){a=a.lessThan(s)?a:s}),a},maximum:function(e){var t=m2(e),n=t[0],i=t.slice(1),a=n;return i.forEach(function(s){a=a.greaterThan(s)?a:s}),a}};function BP(r){return!isNaN(parseInt(r))&&isFinite(r)}function bQ(r){return BP(r)&&r<=100&&r>=0}function CQ(r){return r.length>0&&r.every(function(e){return e>=0})&&r.some(function(e){return e>0})}function y2(r){return r%2===0}function A2(r){return BP(r)&&!Number.isInteger(r)}function xQ(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,e=r.toString();if(e.indexOf("e-")>0)return parseInt(e.split("e-")[1]);var t=e.split(".")[1];return t?t.length:0}function Pd(r){return Math.abs(r)%1===.5}function SQ(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return new Promise(function(t,n){var i=Object.assign(new XMLHttpRequest,{onreadystatechange:function(){i.readyState===4&&(i.status>=200&&i.status<400?t(JSON.parse(i.responseText)):n(new Error(i.statusText)))},onerror:function(){n(new Error("Network error"))}});i.open("GET",r,!0),EQ(i,e.headers),i.send()})}function EQ(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};for(var t in e)r.setRequestHeader(t,e[t]);return r}function Hd(r){return typeof r>"u"}function MP(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:".",t={};return Object.entries(r).forEach(function(n){if(nf(n[1])==="object"){var i=MP(n[1]);Object.entries(i).forEach(function(a){t[n[0]+e+a[0]]=a[1]})}else t[n[0]]=n[1]}),t}function kQ(r){return!!r&&(nf(r)==="object"||typeof r=="function")&&typeof r.then=="function"}function _P(){var r=function(n,i){var a=function(l){return Math.pow(10,xQ(l))},s=Math.max(a(n),a(i));return Math.round(n*s)*Math.round(i*s)/(s*s)},e={HALF_ODD:function(n){var i=Math.round(n);return Pd(n)&&y2(i)?i-1:i},HALF_EVEN:function(n){var i=Math.round(n);return Pd(n)?y2(i)?i:i-1:i},HALF_UP:function(n){return Math.round(n)},HALF_DOWN:function(n){return Pd(n)?Math.floor(n):Math.round(n)},HALF_TOWARDS_ZERO:function(n){return Pd(n)?Math.sign(n)*Math.floor(Math.abs(n)):Math.round(n)},HALF_AWAY_FROM_ZERO:function(n){return Pd(n)?Math.sign(n)*Math.ceil(Math.abs(n)):Math.round(n)},DOWN:function(n){return Math.floor(n)}};return{add:function(n,i){return n+i},subtract:function(n,i){return n-i},multiply:function(n,i){return A2(n)||A2(i)?r(n,i):n*i},divide:function(n,i){return n/i},modulo:function(n,i){return n%i},round:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"HALF_EVEN";return e[i](n)}}}var TQ=_P();function FQ(r){var e=/^(?:(\$|USD)?0(?:(,)0)?(\.)?(0+)?|0(?:(,)0)?(\.)?(0+)?\s?(dollar)?)$/gm.exec(r);return{getMatches:function(){return e!==null?e.slice(1).filter(function(n){return!Hd(n)}):[]},getMinimumFractionDigits:function(){var n=function(a){return a==="."};return Hd(this.getMatches().find(n))?0:this.getMatches()[TQ.add(this.getMatches().findIndex(n),1)].split("").length},getCurrencyDisplay:function(){var n={USD:"code",dollar:"name",$:"symbol"};return n[this.getMatches().find(function(i){return i==="USD"||i==="dollar"||i==="$"})]},getStyle:function(){return Hd(this.getCurrencyDisplay(this.getMatches()))?"decimal":"currency"},getUseGrouping:function(){return!Hd(this.getMatches().find(function(n){return n===","}))}}}function IQ(r){var e=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",a=arguments.length>1?arguments[1]:void 0;for(var s in a)i=i.replace("{{".concat(s,"}}"),a[s]);return i},t=function(i,a){return SQ(e(r.endpoint,{from:i,to:a}),{headers:r.headers})};return{getExchangeRate:function(i,a){return(kQ(r.endpoint)?r.endpoint:t(i,a)).then(function(s){return MP(s)[e(r.propertyPath,{from:i,to:a})]})}}}function If(r,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Error;if(!r)throw new t(e)}function PQ(r){If(bQ(r),"You must provide a numeric value between 0 and 100.",RangeError)}function DQ(r){If(CQ(r),"You must provide a non-empty array of numeric values greater than 0.",TypeError)}function ry(r){If(Number.isInteger(r),"You must provide an integer.",TypeError)}var kn=_P(),RQ=function r(e){var t=Object.assign({},{amount:r.defaultAmount,currency:r.defaultCurrency,precision:r.defaultPrecision},e),n=t.amount,i=t.currency,a=t.precision;ry(n),ry(a);var s=r.globalLocale,o=r.globalFormat,l=r.globalRoundingMode,u=r.globalFormatRoundingMode,c=Object.assign({},r.globalExchangeRatesApi),f=function(g){var v=Object.assign({},Object.assign({},{amount:n,currency:i,precision:a},g),Object.assign({},{locale:this.locale},g));return Object.assign(r({amount:v.amount,currency:v.currency,precision:v.precision}),{locale:v.locale})},d=function(g){If(this.hasSameCurrency(g),"You must provide a Dinero instance with the same currency.",TypeError)};return{getAmount:function(){return n},getCurrency:function(){return i},getLocale:function(){return this.locale||s},setLocale:function(g){return f.call(this,{locale:g})},getPrecision:function(){return a},convertPrecision:function(g){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:u;ry(g);var y=this.getPrecision(),A=g>y,C=A?kn.multiply:kn.divide,S=A?[g,y]:[y,g],F=Math.pow(10,kn.subtract.apply(kn,S));return f.call(this,{amount:kn.round(C(this.getAmount(),F),v),precision:g})},add:function(g){d.call(this,g);var v=r.normalizePrecision([this,g]);return f.call(this,{amount:kn.add(v[0].getAmount(),v[1].getAmount()),precision:v[0].getPrecision()})},subtract:function(g){d.call(this,g);var v=r.normalizePrecision([this,g]);return f.call(this,{amount:kn.subtract(v[0].getAmount(),v[1].getAmount()),precision:v[0].getPrecision()})},multiply:function(g){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:l;return f.call(this,{amount:kn.round(kn.multiply(this.getAmount(),g),v)})},divide:function(g){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:l;return f.call(this,{amount:kn.round(kn.divide(this.getAmount(),g),v)})},percentage:function(g){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:l;return PQ(g),this.multiply(kn.divide(g,100),v)},allocate:function(g){var v=this;DQ(g);for(var y=g.reduce(function(F,E){return kn.add(F,E)}),A=this.getAmount(),C=g.map(function(F){var E=Math.floor(kn.divide(kn.multiply(v.getAmount(),F),y));return A=kn.subtract(A,E),f.call(v,{amount:E})}),S=0;A>0;)g[S]>0&&(C[S]=C[S].add(f.call(this,{amount:1})),A=kn.subtract(A,1)),S+=1;return C},convert:function(g){var v=this,y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},A=y.endpoint,C=A===void 0?c.endpoint:A,S=y.propertyPath,F=S===void 0?c.propertyPath||"rates.{{to}}":S,E=y.headers,R=E===void 0?c.headers:E,B=y.roundingMode,G=B===void 0?l:B,j=Object.assign({},{endpoint:C,propertyPath:F,headers:R,roundingMode:G});return IQ(j).getExchangeRate(this.getCurrency(),g).then(function(ie){return If(!Hd(ie),'No rate was found for the destination currency "'.concat(g,'".'),TypeError),f.call(v,{amount:kn.round(kn.multiply(v.getAmount(),parseFloat(ie)),j.roundingMode),currency:g})})},equalsTo:function(g){return this.hasSameAmount(g)&&this.hasSameCurrency(g)},lessThan:function(g){d.call(this,g);var v=r.normalizePrecision([this,g]);return v[0].getAmount()<v[1].getAmount()},lessThanOrEqual:function(g){d.call(this,g);var v=r.normalizePrecision([this,g]);return v[0].getAmount()<=v[1].getAmount()},greaterThan:function(g){d.call(this,g);var v=r.normalizePrecision([this,g]);return v[0].getAmount()>v[1].getAmount()},greaterThanOrEqual:function(g){d.call(this,g);var v=r.normalizePrecision([this,g]);return v[0].getAmount()>=v[1].getAmount()},isZero:function(){return this.getAmount()===0},isPositive:function(){return this.getAmount()>=0},isNegative:function(){return this.getAmount()<0},hasSubUnits:function(){return kn.modulo(this.getAmount(),Math.pow(10,a))!==0},hasCents:function(){return kn.modulo(this.getAmount(),Math.pow(10,a))!==0},hasSameCurrency:function(g){return this.getCurrency()===g.getCurrency()},hasSameAmount:function(g){var v=r.normalizePrecision([this,g]);return v[0].getAmount()===v[1].getAmount()},toFormat:function(){var g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:o,v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:u,y=FQ(g);return this.toRoundedUnit(y.getMinimumFractionDigits(),v).toLocaleString(this.getLocale(),{currencyDisplay:y.getCurrencyDisplay(),useGrouping:y.getUseGrouping(),minimumFractionDigits:y.getMinimumFractionDigits(),style:y.getStyle(),currency:this.getCurrency()})},toUnit:function(){return kn.divide(this.getAmount(),Math.pow(10,a))},toRoundedUnit:function(g){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:u,y=Math.pow(10,g);return kn.divide(kn.round(kn.multiply(this.toUnit(),y),v),y)},toObject:function(){return{amount:n,currency:i,precision:a}},toJSON:function(){return this.toObject()}}},OQ=Object.assign(RQ,pQ,gQ,wQ),Xa={},ny,w2;function BQ(){if(w2)return ny;w2=1;function r(t){return t}function e(t,a,s){for(var a=a||r,s=s||t,o=0,l=t.length;o<l;o+=1)if(a.call(s,t[o],o))return t[o]}return ny=e,ny}var iy={exports:{}},b2;function MQ(){if(b2)return iy.exports;b2=1;var r=iy.exports=function(e,t){if(typeof e=="function"||t)return r.by(e,t);for(var n={object:[],function:[],string:{},number:{},boolean:{},undefined:{}},i=[],a=0;a<e.length;a++){var s=e[a],o=s==="__proto__"?n.objects:n[typeof s]||n.objects;Array.isArray(o)?o.indexOf(s)<0&&(o.push(s),i.push(s)):Object.hasOwnProperty.call(o,s)||(o[s]=!0,i.push(s))}return i};return r.by=function(e,t){if(typeof e=="function"){var n=t;t=e,e=n}for(var i=[],a=0;a<e.length;a++){for(var s=e[a],o=!1,l=0;l<i.length;l++){var u=i[l];if(t.call(i,s,u)){o=!0;break}}o||i.push(s)}return i},iy.exports}var ay,C2;function _Q(){return C2||(C2=1,ay=[{code:"AED",number:"784",digits:2,currency:"UAE Dirham",countries:["United Arab Emirates (The)"]},{code:"AFN",number:"971",digits:2,currency:"Afghani",countries:["Afghanistan"]},{code:"ALL",number:"008",digits:2,currency:"Lek",countries:["Albania"]},{code:"AMD",number:"051",digits:2,currency:"Armenian Dram",countries:["Armenia"]},{code:"ANG",number:"532",digits:2,currency:"Netherlands Antillean Guilder",countries:["Curaçao","Sint Maarten (Dutch Part)"]},{code:"AOA",number:"973",digits:2,currency:"Kwanza",countries:["Angola"]},{code:"ARS",number:"032",digits:2,currency:"Argentine Peso",countries:["Argentina"]},{code:"AUD",number:"036",digits:2,currency:"Australian Dollar",countries:["Australia","Christmas Island","Cocos (Keeling) Islands (The)","Heard Island and Mcdonald Islands","Kiribati","Nauru","Norfolk Island","Tuvalu"]},{code:"AWG",number:"533",digits:2,currency:"Aruban Florin",countries:["Aruba"]},{code:"AZN",number:"944",digits:2,currency:"Azerbaijan Manat",countries:["Azerbaijan"]},{code:"BAM",number:"977",digits:2,currency:"Convertible Mark",countries:["Bosnia and Herzegovina"]},{code:"BBD",number:"052",digits:2,currency:"Barbados Dollar",countries:["Barbados"]},{code:"BDT",number:"050",digits:2,currency:"Taka",countries:["Bangladesh"]},{code:"BGN",number:"975",digits:2,currency:"Bulgarian Lev",countries:["Bulgaria"]},{code:"BHD",number:"048",digits:3,currency:"Bahraini Dinar",countries:["Bahrain"]},{code:"BIF",number:"108",digits:0,currency:"Burundi Franc",countries:["Burundi"]},{code:"BMD",number:"060",digits:2,currency:"Bermudian Dollar",countries:["Bermuda"]},{code:"BND",number:"096",digits:2,currency:"Brunei Dollar",countries:["Brunei Darussalam"]},{code:"BOB",number:"068",digits:2,currency:"Boliviano",countries:["Bolivia (Plurinational State Of)"]},{code:"BOV",number:"984",digits:2,currency:"Mvdol",countries:["Bolivia (Plurinational State Of)"]},{code:"BRL",number:"986",digits:2,currency:"Brazilian Real",countries:["Brazil"]},{code:"BSD",number:"044",digits:2,currency:"Bahamian Dollar",countries:["Bahamas (The)"]},{code:"BTN",number:"064",digits:2,currency:"Ngultrum",countries:["Bhutan"]},{code:"BWP",number:"072",digits:2,currency:"Pula",countries:["Botswana"]},{code:"BYN",number:"933",digits:2,currency:"Belarusian Ruble",countries:["Belarus"]},{code:"BZD",number:"084",digits:2,currency:"Belize Dollar",countries:["Belize"]},{code:"CAD",number:"124",digits:2,currency:"Canadian Dollar",countries:["Canada"]},{code:"CDF",number:"976",digits:2,currency:"Congolese Franc",countries:["Congo (The Democratic Republic of The)"]},{code:"CHE",number:"947",digits:2,currency:"WIR Euro",countries:["Switzerland"]},{code:"CHF",number:"756",digits:2,currency:"Swiss Franc",countries:["Liechtenstein","Switzerland"]},{code:"CHW",number:"948",digits:2,currency:"WIR Franc",countries:["Switzerland"]},{code:"CLF",number:"990",digits:4,currency:"Unidad de Fomento",countries:["Chile"]},{code:"CLP",number:"152",digits:0,currency:"Chilean Peso",countries:["Chile"]},{code:"CNY",number:"156",digits:2,currency:"Yuan Renminbi",countries:["China"]},{code:"COP",number:"170",digits:2,currency:"Colombian Peso",countries:["Colombia"]},{code:"COU",number:"970",digits:2,currency:"Unidad de Valor Real",countries:["Colombia"]},{code:"CRC",number:"188",digits:2,currency:"Costa Rican Colon",countries:["Costa Rica"]},{code:"CUC",number:"931",digits:2,currency:"Peso Convertible",countries:["Cuba"]},{code:"CUP",number:"192",digits:2,currency:"Cuban Peso",countries:["Cuba"]},{code:"CVE",number:"132",digits:2,currency:"Cabo Verde Escudo",countries:["Cabo Verde"]},{code:"CZK",number:"203",digits:2,currency:"Czech Koruna",countries:["Czechia"]},{code:"DJF",number:"262",digits:0,currency:"Djibouti Franc",countries:["Djibouti"]},{code:"DKK",number:"208",digits:2,currency:"Danish Krone",countries:["Denmark","Faroe Islands (The)","Greenland"]},{code:"DOP",number:"214",digits:2,currency:"Dominican Peso",countries:["Dominican Republic (The)"]},{code:"DZD",number:"012",digits:2,currency:"Algerian Dinar",countries:["Algeria"]},{code:"EGP",number:"818",digits:2,currency:"Egyptian Pound",countries:["Egypt"]},{code:"ERN",number:"232",digits:2,currency:"Nakfa",countries:["Eritrea"]},{code:"ETB",number:"230",digits:2,currency:"Ethiopian Birr",countries:["Ethiopia"]},{code:"EUR",number:"978",digits:2,currency:"Euro",countries:["Åland Islands","Andorra","Austria","Belgium","Croatia","Cyprus","Estonia","European Union","Finland","France","French Guiana","French Southern Territories (The)","Germany","Greece","Guadeloupe","Holy See (The)","Ireland","Italy","Latvia","Lithuania","Luxembourg","Malta","Martinique","Mayotte","Monaco","Montenegro","Netherlands (The)","Portugal","Réunion","Saint Barthélemy","Saint Martin (French Part)","Saint Pierre and Miquelon","San Marino","Slovakia","Slovenia","Spain"]},{code:"FJD",number:"242",digits:2,currency:"Fiji Dollar",countries:["Fiji"]},{code:"FKP",number:"238",digits:2,currency:"Falkland Islands Pound",countries:["Falkland Islands (The) [Malvinas]"]},{code:"GBP",number:"826",digits:2,currency:"Pound Sterling",countries:["Guernsey","Isle of Man","Jersey","United Kingdom of Great Britain and Northern Ireland (The)"]},{code:"GEL",number:"981",digits:2,currency:"Lari",countries:["Georgia"]},{code:"GHS",number:"936",digits:2,currency:"Ghana Cedi",countries:["Ghana"]},{code:"GIP",number:"292",digits:2,currency:"Gibraltar Pound",countries:["Gibraltar"]},{code:"GMD",number:"270",digits:2,currency:"Dalasi",countries:["Gambia (The)"]},{code:"GNF",number:"324",digits:0,currency:"Guinean Franc",countries:["Guinea"]},{code:"GTQ",number:"320",digits:2,currency:"Quetzal",countries:["Guatemala"]},{code:"GYD",number:"328",digits:2,currency:"Guyana Dollar",countries:["Guyana"]},{code:"HKD",number:"344",digits:2,currency:"Hong Kong Dollar",countries:["Hong Kong"]},{code:"HNL",number:"340",digits:2,currency:"Lempira",countries:["Honduras"]},{code:"HTG",number:"332",digits:2,currency:"Gourde",countries:["Haiti"]},{code:"HUF",number:"348",digits:2,currency:"Forint",countries:["Hungary"]},{code:"IDR",number:"360",digits:2,currency:"Rupiah",countries:["Indonesia"]},{code:"ILS",number:"376",digits:2,currency:"New Israeli Sheqel",countries:["Israel"]},{code:"INR",number:"356",digits:2,currency:"Indian Rupee",countries:["Bhutan","India"]},{code:"IQD",number:"368",digits:3,currency:"Iraqi Dinar",countries:["Iraq"]},{code:"IRR",number:"364",digits:2,currency:"Iranian Rial",countries:["Iran (Islamic Republic Of)"]},{code:"ISK",number:"352",digits:0,currency:"Iceland Krona",countries:["Iceland"]},{code:"JMD",number:"388",digits:2,currency:"Jamaican Dollar",countries:["Jamaica"]},{code:"JOD",number:"400",digits:3,currency:"Jordanian Dinar",countries:["Jordan"]},{code:"JPY",number:"392",digits:0,currency:"Yen",countries:["Japan"]},{code:"KES",number:"404",digits:2,currency:"Kenyan Shilling",countries:["Kenya"]},{code:"KGS",number:"417",digits:2,currency:"Som",countries:["Kyrgyzstan"]},{code:"KHR",number:"116",digits:2,currency:"Riel",countries:["Cambodia"]},{code:"KMF",number:"174",digits:0,currency:"Comorian Franc ",countries:["Comoros (The)"]},{code:"KPW",number:"408",digits:2,currency:"North Korean Won",countries:["Korea (The Democratic People’s Republic Of)"]},{code:"KRW",number:"410",digits:0,currency:"Won",countries:["Korea (The Republic Of)"]},{code:"KWD",number:"414",digits:3,currency:"Kuwaiti Dinar",countries:["Kuwait"]},{code:"KYD",number:"136",digits:2,currency:"Cayman Islands Dollar",countries:["Cayman Islands (The)"]},{code:"KZT",number:"398",digits:2,currency:"Tenge",countries:["Kazakhstan"]},{code:"LAK",number:"418",digits:2,currency:"Lao Kip",countries:["Lao People’s Democratic Republic (The)"]},{code:"LBP",number:"422",digits:2,currency:"Lebanese Pound",countries:["Lebanon"]},{code:"LKR",number:"144",digits:2,currency:"Sri Lanka Rupee",countries:["Sri Lanka"]},{code:"LRD",number:"430",digits:2,currency:"Liberian Dollar",countries:["Liberia"]},{code:"LSL",number:"426",digits:2,currency:"Loti",countries:["Lesotho"]},{code:"LYD",number:"434",digits:3,currency:"Libyan Dinar",countries:["Libya"]},{code:"MAD",number:"504",digits:2,currency:"Moroccan Dirham",countries:["Morocco","Western Sahara"]},{code:"MDL",number:"498",digits:2,currency:"Moldovan Leu",countries:["Moldova (The Republic Of)"]},{code:"MGA",number:"969",digits:2,currency:"Malagasy Ariary",countries:["Madagascar"]},{code:"MKD",number:"807",digits:2,currency:"Denar",countries:["North Macedonia"]},{code:"MMK",number:"104",digits:2,currency:"Kyat",countries:["Myanmar"]},{code:"MNT",number:"496",digits:2,currency:"Tugrik",countries:["Mongolia"]},{code:"MOP",number:"446",digits:2,currency:"Pataca",countries:["Macao"]},{code:"MRU",number:"929",digits:2,currency:"Ouguiya",countries:["Mauritania"]},{code:"MUR",number:"480",digits:2,currency:"Mauritius Rupee",countries:["Mauritius"]},{code:"MVR",number:"462",digits:2,currency:"Rufiyaa",countries:["Maldives"]},{code:"MWK",number:"454",digits:2,currency:"Malawi Kwacha",countries:["Malawi"]},{code:"MXN",number:"484",digits:2,currency:"Mexican Peso",countries:["Mexico"]},{code:"MXV",number:"979",digits:2,currency:"Mexican Unidad de Inversion (UDI)",countries:["Mexico"]},{code:"MYR",number:"458",digits:2,currency:"Malaysian Ringgit",countries:["Malaysia"]},{code:"MZN",number:"943",digits:2,currency:"Mozambique Metical",countries:["Mozambique"]},{code:"NAD",number:"516",digits:2,currency:"Namibia Dollar",countries:["Namibia"]},{code:"NGN",number:"566",digits:2,currency:"Naira",countries:["Nigeria"]},{code:"NIO",number:"558",digits:2,currency:"Cordoba Oro",countries:["Nicaragua"]},{code:"NOK",number:"578",digits:2,currency:"Norwegian Krone",countries:["Bouvet Island","Norway","Svalbard and Jan Mayen"]},{code:"NPR",number:"524",digits:2,currency:"Nepalese Rupee",countries:["Nepal"]},{code:"NZD",number:"554",digits:2,currency:"New Zealand Dollar",countries:["Cook Islands (The)","New Zealand","Niue","Pitcairn","Tokelau"]},{code:"OMR",number:"512",digits:3,currency:"Rial Omani",countries:["Oman"]},{code:"PAB",number:"590",digits:2,currency:"Balboa",countries:["Panama"]},{code:"PEN",number:"604",digits:2,currency:"Sol",countries:["Peru"]},{code:"PGK",number:"598",digits:2,currency:"Kina",countries:["Papua New Guinea"]},{code:"PHP",number:"608",digits:2,currency:"Philippine Peso",countries:["Philippines (The)"]},{code:"PKR",number:"586",digits:2,currency:"Pakistan Rupee",countries:["Pakistan"]},{code:"PLN",number:"985",digits:2,currency:"Zloty",countries:["Poland"]},{code:"PYG",number:"600",digits:0,currency:"Guarani",countries:["Paraguay"]},{code:"QAR",number:"634",digits:2,currency:"Qatari Rial",countries:["Qatar"]},{code:"RON",number:"946",digits:2,currency:"Romanian Leu",countries:["Romania"]},{code:"RSD",number:"941",digits:2,currency:"Serbian Dinar",countries:["Serbia"]},{code:"RUB",number:"643",digits:2,currency:"Russian Ruble",countries:["Russian Federation (The)"]},{code:"RWF",number:"646",digits:0,currency:"Rwanda Franc",countries:["Rwanda"]},{code:"SAR",number:"682",digits:2,currency:"Saudi Riyal",countries:["Saudi Arabia"]},{code:"SBD",number:"090",digits:2,currency:"Solomon Islands Dollar",countries:["Solomon Islands"]},{code:"SCR",number:"690",digits:2,currency:"Seychelles Rupee",countries:["Seychelles"]},{code:"SDG",number:"938",digits:2,currency:"Sudanese Pound",countries:["Sudan (The)"]},{code:"SEK",number:"752",digits:2,currency:"Swedish Krona",countries:["Sweden"]},{code:"SGD",number:"702",digits:2,currency:"Singapore Dollar",countries:["Singapore"]},{code:"SHP",number:"654",digits:2,currency:"Saint Helena Pound",countries:["Saint Helena, Ascension and Tristan Da Cunha"]},{code:"SLE",number:"925",digits:2,currency:"Leone",countries:["Sierra Leone"]},{code:"SOS",number:"706",digits:2,currency:"Somali Shilling",countries:["Somalia"]},{code:"SRD",number:"968",digits:2,currency:"Surinam Dollar",countries:["Suriname"]},{code:"SSP",number:"728",digits:2,currency:"South Sudanese Pound",countries:["South Sudan"]},{code:"STN",number:"930",digits:2,currency:"Dobra",countries:["Sao Tome and Principe"]},{code:"SVC",number:"222",digits:2,currency:"El Salvador Colon",countries:["El Salvador"]},{code:"SYP",number:"760",digits:2,currency:"Syrian Pound",countries:["Syrian Arab Republic"]},{code:"SZL",number:"748",digits:2,currency:"Lilangeni",countries:["Eswatini"]},{code:"THB",number:"764",digits:2,currency:"Baht",countries:["Thailand"]},{code:"TJS",number:"972",digits:2,currency:"Somoni",countries:["Tajikistan"]},{code:"TMT",number:"934",digits:2,currency:"Turkmenistan New Manat",countries:["Turkmenistan"]},{code:"TND",number:"788",digits:3,currency:"Tunisian Dinar",countries:["Tunisia"]},{code:"TOP",number:"776",digits:2,currency:"Pa’anga",countries:["Tonga"]},{code:"TRY",number:"949",digits:2,currency:"Turkish Lira",countries:["Türki̇ye"]},{code:"TTD",number:"780",digits:2,currency:"Trinidad and Tobago Dollar",countries:["Trinidad and Tobago"]},{code:"TWD",number:"901",digits:2,currency:"New Taiwan Dollar",countries:["Taiwan (Province of China)"]},{code:"TZS",number:"834",digits:2,currency:"Tanzanian Shilling",countries:["Tanzania, United Republic Of"]},{code:"UAH",number:"980",digits:2,currency:"Hryvnia",countries:["Ukraine"]},{code:"UGX",number:"800",digits:0,currency:"Uganda Shilling",countries:["Uganda"]},{code:"USD",number:"840",digits:2,currency:"US Dollar",countries:["American Samoa","Bonaire, Sint Eustatius and Saba","British Indian Ocean Territory (The)","Ecuador","El Salvador","Guam","Haiti","Marshall Islands (The)","Micronesia (Federated States Of)","Northern Mariana Islands (The)","Palau","Panama","Puerto Rico","Timor-Leste","Turks and Caicos Islands (The)","United States Minor Outlying Islands (The)","United States of America (The)","Virgin Islands (British)","Virgin Islands (u.s.)"]},{code:"USN",number:"997",digits:2,currency:"US Dollar (Next day)",countries:["United States of America (The)"]},{code:"UYI",number:"940",digits:0,currency:"Uruguay Peso en Unidades Indexadas (UI)",countries:["Uruguay"]},{code:"UYU",number:"858",digits:2,currency:"Peso Uruguayo",countries:["Uruguay"]},{code:"UYW",number:"927",digits:4,currency:"Unidad Previsional",countries:["Uruguay"]},{code:"UZS",number:"860",digits:2,currency:"Uzbekistan Sum",countries:["Uzbekistan"]},{code:"VED",number:"926",digits:2,currency:"Bolívar Soberano",countries:["Venezuela (Bolivarian Republic Of)"]},{code:"VES",number:"928",digits:2,currency:"Bolívar Soberano",countries:["Venezuela (Bolivarian Republic Of)"]},{code:"VND",number:"704",digits:0,currency:"Dong",countries:["Viet Nam"]},{code:"VUV",number:"548",digits:0,currency:"Vatu",countries:["Vanuatu"]},{code:"WST",number:"882",digits:2,currency:"Tala",countries:["Samoa"]},{code:"XAF",number:"950",digits:0,currency:"CFA Franc BEAC",countries:["Cameroon","Central African Republic (The)","Chad","Congo (The)","Equatorial Guinea","Gabon"]},{code:"XAG",number:"961",digits:0,currency:"Silver",countries:["Zz11_silver"]},{code:"XAU",number:"959",digits:0,currency:"Gold",countries:["Zz08_gold"]},{code:"XBA",number:"955",digits:0,currency:"Bond Markets Unit European Composite Unit (EURCO)",countries:["Zz01_bond Markets Unit European_eurco"]},{code:"XBB",number:"956",digits:0,currency:"Bond Markets Unit European Monetary Unit (E.M.U.-6)",countries:["Zz02_bond Markets Unit European_emu-6"]},{code:"XBC",number:"957",digits:0,currency:"Bond Markets Unit European Unit of Account 9 (E.U.A.-9)",countries:["Zz03_bond Markets Unit European_eua-9"]},{code:"XBD",number:"958",digits:0,currency:"Bond Markets Unit European Unit of Account 17 (E.U.A.-17)",countries:["Zz04_bond Markets Unit European_eua-17"]},{code:"XCD",number:"951",digits:2,currency:"East Caribbean Dollar",countries:["Anguilla","Antigua and Barbuda","Dominica","Grenada","Montserrat","Saint Kitts and Nevis","Saint Lucia","Saint Vincent and the Grenadines"]},{code:"XDR",number:"960",digits:0,currency:"SDR (Special Drawing Right)",countries:["International Monetary Fund (Imf) "]},{code:"XOF",number:"952",digits:0,currency:"CFA Franc BCEAO",countries:["Benin","Burkina Faso","Côte D'ivoire","Guinea-Bissau","Mali","Niger (The)","Senegal","Togo"]},{code:"XPD",number:"964",digits:0,currency:"Palladium",countries:["Zz09_palladium"]},{code:"XPF",number:"953",digits:0,currency:"CFP Franc",countries:["French Polynesia","New Caledonia","Wallis and Futuna"]},{code:"XPT",number:"962",digits:0,currency:"Platinum",countries:["Zz10_platinum"]},{code:"XSU",number:"994",digits:0,currency:"Sucre",countries:['Sistema Unitario De Compensacion Regional De Pagos "Sucre"']},{code:"XTS",number:"963",digits:0,currency:"Codes specifically reserved for testing purposes",countries:["Zz06_testing_code"]},{code:"XUA",number:"965",digits:0,currency:"ADB Unit of Account",countries:["Member Countries of the African Development Bank Group"]},{code:"XXX",number:"999",digits:0,currency:"The codes assigned for transactions where no currency is involved",countries:["Zz07_no_currency"]},{code:"YER",number:"886",digits:2,currency:"Yemeni Rial",countries:["Yemen"]},{code:"ZAR",number:"710",digits:2,currency:"Rand",countries:["Lesotho","Namibia","South Africa"]},{code:"ZMW",number:"967",digits:2,currency:"Zambian Kwacha",countries:["Zambia"]},{code:"ZWG",number:"924",digits:2,currency:"Zimbabwe Gold",countries:["Zimbabwe"]}]),ay}var sy,x2;function NQ(){return x2||(x2=1,sy="2024-06-25"),sy}var S2;function LQ(){if(S2)return Xa;S2=1;var r=BQ(),e=MQ(),t=_Q(),n=NQ(),i=function(c){return c=c.toUpperCase(),r(t,function(f){return f.code===c})},a=function(c){return c=c.toLowerCase(),t.filter(function(f){return(f.countries.map(function(d){return d.toLowerCase()})||[]).indexOf(c)>-1})},s=function(c){return r(t,function(f){return f.number===String(c)})},o=function(){return t.map(function(c){return c.code})},l=function(){var c=t.map(function(f){return f.number});return c.filter(function(f){if(f)return f})},u=function(){var c=t.filter(function(f){return f.countries}).map(function(f){return f.countries});return e(Array.prototype.concat.apply([],c))};return Xa.code=i,Xa.country=a,Xa.number=s,Xa.codes=o,Xa.numbers=l,Xa.countries=u,Xa.publishDate=n,Xa.data=t,Xa}var E2=LQ();class NP{formatCurrencyForDisplay(e,t){const n={amount:t||0,currency:e,precision:this.getPrecisionForCurrency(e)};return OQ(n).toFormat(this.getSpecialFormat(e))}getPrecisionForCurrency(e){const t=e,n=E2.code(t);return n?n.digits:2}getSpecialFormat(e){const t=e;if(E2.code(t)?.code==="CLP")return"USD0,0"}}const k2=new NP;class LP{constructor(e,t,n,i){this.presentmentCurrency=void 0,this.presentmentCurrency=i,this.partnerCurrency=n,this.rateFrom=e,this.rateTo=t}code(){return this.presentmentCurrency?this.presentmentCurrency:this.partnerCurrency}conversionRequired(){return this.presentmentCurrency!==void 0&&this.code()!==this.partnerCurrency}getConvertedSubunits(e){return this.conversionRequired()?Math.ceil(this.subunits(this.units(e,this.partnerCurrency)/this.rateFrom*this.rateTo,this.code())):e}units(e,t){return e/Math.pow(10,k2.getPrecisionForCurrency(t))}subunits(e,t){return e*Math.pow(10,k2.getPrecisionForCurrency(t))}}const UQ=async(r,e)=>{const t=Q3(e?.assets?.metadata||!1),n={ids:r};console.log("[getWorkflowsInternal] Requesting workflows.",{url:`${ss.getServerUrl()}/graphql`,variables:JSON.stringify(n)}),console.log(`[getWorkflowsInternal] Query:
|
|
3056
|
-
${V2(t)}`);const i=await ze.getShadowGraphqlClient().query({query:t,errorPolicy:"all",variables:n,context:{logRequestHeaders:!0}});if(i.error)throw console.log("[getWorkflowsInternal] Response errored."),i.error;if(i.errors)throw i.errors.forEach(s=>console.error(s)),new Error("Unable to read workflows. Consult GraphQL errors.");if(!i.data.workflows||i.data.workflows.length!==r.length)throw new Error(`Unable to read workflows: ${i.errors??"Length mismatch in response"}`);const a=mo(i.data.workflows);return a.forEach(s=>{s.finalizeStepConfig||(s.finalizeStepConfig={}),s.finalizeStepConfig.termsMarkdown=s.finalizeStepConfig.termsMarkdown||s.partner.termsMarkdown}),a},VQ=async(r,e)=>{const n=(await e).find(i=>i.id===r);if(!n)throw new Error(`Workflow not found: ${r}`);return n},tb=async(r,e)=>{const t=r.map(o=>mf.get({id:o,options:e})),n=r.filter((o,l)=>t[l]===void 0);if(n.length===0)return Promise.all(t);const i=UQ(n,e),a=n.map(o=>mf.set({id:o,options:e},VQ(o,i))),s=t.filter(o=>o!==void 0);return await Promise.all(s.concat(a))},UP=async(r,e)=>(await tb([r],e))[0],VP=async r=>{const e=await ze.getShadowGraphqlClient().query({query:wT,variables:{ids:r},errorPolicy:"all",fetchPolicy:"no-cache"});return e.errors&&console.error(e.errors),e.data.integrationProducts||[]};class zQ{constructor(e){this.activeIntegration=void 0,this.updateTransactionState=async t=>{try{return ze.getShadowGraphqlClient().mutate({...t,mutation:O3})}catch(n){throw console.error(n),new lo("Critical - Unable to synchronize workflow state with server.")}},this.options=e,this.options.applicationKey&&Jk(this.options.applicationKey),console.debug("------------------------"),console.debug("Spiff Commerce Core SDK"),console.debug("Version: 44.5.6-alpha.4"),console.debug(`Application Key Provided: ${!!this.options.applicationKey}`),console.debug("------------------------")}configure(e){ss.setHubUrl(e.hubUrl),ss.setServerUrl(e.serverUrl),ss.setServicesApiUrl(e.servicesApiUrl),this.marketplaceThemeInstallId=e.marketplaceThemeInstallId,this.marketplaceThemeInstallConfigurationId=e.marketplaceThemeInstallConfigurationId,this.userPoolClientId=e.userPoolClientId,this.userPoolRegion=e.userPoolRegion,this.spiffRegion=e.spiffRegion,e.bearerAuthenticationToken&&Zk(e.bearerAuthenticationToken),this.options.applicationKey&&this.getIntegration(),this.spiffRegion&&this.userPoolRegion&&this.userPoolClientId&&Id.init(this.spiffRegion,this.userPoolRegion,this.userPoolClientId)}getVersion(){return"44.5.6-alpha.4"}getAssetManager(){return Ln}async getBetaEnabled(){return this.options.enableBetaFeatures?!0:(await this.getIntegration()).partner.beta===!0}getFlowService(){if(!Z4())throw new Error("Application key required to use Flow Service.");return new _I}async getCurrencyContext(e){const n=(await this.getIntegration()).partner.currencyCode,a=await ze.getShadowGraphqlClient().query({query:eM,errorPolicy:"all",fetchPolicy:"cache-first",variables:{from:n,to:e}}),{rateFrom:s,rateTo:o}=a.data.currencyConversion;return new LP(s,o,n,e)}async getIntegration(){if(this.activeIntegration)return this.activeIntegration;if(!this.options.applicationKey)throw new Error("Cannot get current Integration without specifying an Application Key.");return this.activeIntegration=zP(this.options.applicationKey),this.activeIntegration}async canUseAddon(e){try{return(await this.getIntegration()).partner.activeAddons?.includes(e)??!1}catch(t){return console.error(t),!1}}clearCustomer(){this.customer=void 0}clearCustomerForTransaction(e){const t=br.getMap("transactionCustomerIds");t?.has(e)&&(t.delete(e),br.setMap("transactionCustomerIds",t))}async customerHasBundleTemplates(e){const i=(await ze.getShadowGraphqlClient().query({query:Bv,errorPolicy:"all",fetchPolicy:"no-cache",variables:{emailAddress:e}})).data.customer;return i.id?i.hasBundleTemplates??!1:!1}getStakeholderTypeForTransaction(e){const t=this.customer?.stakeholders?.find(n=>n.transaction?.id===e);if(t)return t.type}async getOrCreateCustomer(e){this.customer=void 0;const t=ze.getShadowGraphqlClient(),i=(await t.query({query:Bv,errorPolicy:"all",fetchPolicy:"no-cache",variables:{emailAddress:e}})).data.customer;if(!i.id){const o=(await t.mutate({mutation:wV,errorPolicy:"all",fetchPolicy:"no-cache",variables:{details:{emailAddress:e}}})).data?.customerCreate;if(!o)throw new Error("Unable to create customer.");return this.storeCustomer(o),this.customer=o,{customer:o,isAuthenticated:!1}}this.storeCustomer(i);const a=await this.reloadLoggedInCustomer();return{customer:this.customer||i,isAuthenticated:a}}getCustomer(){return this.customer}async reloadLoggedInCustomer(){const e=localStorage.getItem("last-refreshed-cognito-tokens"),t=localStorage.getItem("cognito-tokens"),n=localStorage.getItem("cognito-email");if(!e||!t||!n)return!1;const i=JSON.parse(t),a=new Date().getTime()/1e3;if(!i.ExpiresIn||i.ExpiresIn<a-parseInt(e)){const u=await Id.refreshTokens();if(u?.AuthenticationResult)localStorage.setItem("last-refreshed-cognito-tokens",`${new Date().getTime()/1e3}`),i.AccessToken=u.AuthenticationResult.AccessToken,localStorage.setItem("cognito-tokens",JSON.stringify(i));else return this.logOut(),console.error("Failed to refresh tokens."),!1}const s=localStorage.getItem("customer-login-token");s&&p0(s);const l=(await ze.getShadowGraphqlClient().query({query:Bv,errorPolicy:"all",fetchPolicy:"no-cache",variables:{emailAddress:n}})).data.customer;return l.id?(this.customer=l,!0):(console.error("Failed to get customer."),!1)}async generateVerificationCode(e){await ze.getShadowGraphqlClient().mutate({mutation:bV,variables:{emailAddress:e}}),await Id.generateCode(e)}async verifyCode(e,t){const n=(await this.getIntegration()).partner.id||"",i=await Id.verifyCode(e,t,n);if(i?.AuthenticationResult){localStorage.setItem("last-refreshed-cognito-tokens",`${new Date().getTime()/1e3}`),localStorage.setItem("cognito-tokens",JSON.stringify(i.AuthenticationResult)),localStorage.setItem("cognito-email",e);const s=(await ze.getShadowGraphqlClient().mutate({mutation:CV,errorPolicy:"all",fetchPolicy:"no-cache",variables:{emailAddress:e,verificationCode:t}})).data?.customerVerifyCode;if(!s?.id)throw new Error("Failed to get customer.");return this.customer=s,s.loginToken&&(localStorage.setItem("customer-login-token",s.loginToken),p0(s.loginToken)),!0}else throw new Error}async logOut(){localStorage.removeItem("last-refreshed-cognito-tokens"),localStorage.removeItem("cognito-tokens"),localStorage.removeItem("cognito-email"),localStorage.removeItem("customer-login-token"),p0(""),this.clearCustomer()}async loggedInBearerToken(){const e=localStorage.getItem("last-refreshed-cognito-tokens"),t=localStorage.getItem("cognito-tokens");if(!e||!t)throw new Error("No token data in storage.");const n=JSON.parse(t),i=new Date().getTime()/1e3,a=!n?.AccessToken||vg(n.AccessToken);if(!n.ExpiresIn||n.ExpiresIn<i-parseInt(e)||a){const s=await Id.refreshTokens();if(s?.AuthenticationResult)localStorage.setItem("last-refreshed-cognito-tokens",`${new Date().getTime()/1e3}`),n.AccessToken=s.AuthenticationResult.AccessToken,localStorage.setItem("cognito-tokens",JSON.stringify(n));else throw this.logOut(),new Error("Failed to refresh tokens.")}if(!n.AccessToken)throw new Error("No bearer token in storage.");return n.AccessToken}async getCustomerMetafields(){if(!this.customer?.id)throw new Error("Customer must be logged in before calling this function.");return(await ze.getShadowGraphqlClient().query({query:xV,variables:{id:this.customer.id}})).data.metafields}async getNewBundle(e,t,n,i){const s=(await ze.getShadowGraphqlClient().mutate({mutation:a9(n?.graphql?.productCollection?.eagerFetchProducts||!1),variables:{collectionId:e,initialMetadata:t?Object.entries(t).map((c,f)=>({key:c[0],value:c[1]})):void 0,marketplaceThemeInstallId:this.marketplaceThemeInstallId,marketplaceThemeInstallConfigurationId:this.marketplaceThemeInstallConfigurationId,activationId:i,test:n?.test},fetchPolicy:"no-cache"})).data?.bundleCreate;if(!s?.id)throw new Error("Unable to create bundle");const o=br.getMap("bundlePartnerIds")||new Map;o.set(s.id,s.partner.id),br.setMap("bundlePartnerIds",o);const l=br.getMap("bundleOwnerIds")||new Map;l.set(s.id,s.bundleOwnerId),br.setMap("bundleOwnerIds",l);const u=new OE(this,s,void 0,void 0,s.bundleOwnerId,{eagerFetchProducts:n?.graphql?.productCollection?.eagerFetchProducts});return await u.getInitializationPromise(),u}async getExistingBundle(e,t,n,i,a){const o=br.getMap("bundleOwnerIds")?.get(e),l={};try{const g=await this.loggedInBearerToken();l.Authorization=`Bearer ${g}`}catch{const y=Object.entries(localStorage).find(([C,S])=>C.startsWith("CognitoIdentityServiceProvider")&&C.endsWith("idToken"))?.[0]||"",A=localStorage.getItem(y);A&&!vg(A)&&(l.Authorization=`Bearer ${A}`)}const u={bundleOwnerId:o,...l,...i?.graphql?.additionalHeaders},c=await ze.getShadowGraphqlClient().query({query:t9(i?.graphql?.productCollection?.eagerFetchProducts||!1),variables:{id:e},fetchPolicy:"no-cache",context:{headers:u}});if(!c.data?.bundles||c.data?.bundles.length===0||!c.data?.bundles[0])throw new Error(`Unable to find bundle: ${e}`);const f=c.data?.bundles[0],d=br.getMap("bundlePartnerIds")||new Map;d.set(f.id,f.partner.id),br.setMap("bundlePartnerIds",d);const h=new OE(this,f,t,n,o,{additionalHeaders:i?.graphql?.additionalHeaders,eagerFetchProducts:i?.graphql?.productCollection?.eagerFetchProducts,existingGlobalPropertyState:c.data.globalPropertyState,readonly:i?.readonly},a);return await h.getInitializationPromise(),h}async duplicateBundle(e,t,n,i){const s={...await GP(e),...i?.graphql?.additionalHeaders},l=(await ze.getShadowGraphqlClient().mutate({mutation:s9(),variables:{id:e,template:t,marketplaceThemeInstallId:this.marketplaceThemeInstallId,marketplaceThemeInstallConfigurationId:this.marketplaceThemeInstallConfigurationId,duplicateTransactions:n,test:i?.test},context:{headers:s},fetchPolicy:"no-cache"})).data?.bundleDuplicate;if(!l?.id)throw new Error("Unable to duplicate bundle");const u=br.getMap("bundlePartnerIds")||new Map;u.set(l.id,l.partner.id),br.setMap("bundlePartnerIds",u);const c=br.getMap("bundleOwnerIds")||new Map;return c.set(l.id,l.bundleOwnerId),br.setMap("bundleOwnerIds",c),async()=>await this.getExistingBundle(l.id,void 0,void 0,{graphql:{productCollection:{eagerFetchProducts:i?.graphql?.productCollection?.eagerFetchProducts||!1}}})}async getBundlesForCustomer(e){if(!this.customer?.id)throw new Error("Customer not authenticated.");const{includeMetadata:t,...n}=e;return(await ze.getShadowGraphqlClient().query({query:v9(t??!1),variables:{...n,id:this.customer.id},fetchPolicy:"no-cache"})).data.customerBundlesFeed}async getBundleStakeholders(){if(!this.customer)throw new Error("Customer not authenticated.");const e=await ze.getShadowGraphqlClient().query({query:r9,variables:{id:this.customer.id},fetchPolicy:"no-cache"});if(!e.data?.customers||e.data.customers.length===0)throw new Error("Unable to find customer.");const n=e.data.customers[0].bundleStakeholders||[],i=br.getMap("bundlePartnerIds")||new Map;return n.forEach(a=>{a.bundle?.id&&a.bundle.partner?.id&&i.set(a.bundle.id,a.bundle.partner.id)}),br.setMap("bundlePartnerIds",i),n}async getWorkflowExperience(e,t){if(!e)throw new Error("getWorkflowExperience has been called without an options object! This is not supported.");const n=await this.getWorkflowExperiences([e],e.graphql),i=n[0],a=i.getWorkflow();return t&&!a&&console.error("No workflow instantiated when trying to create preview service."),t&&a&&await i.getWorkflowManager().injectIntoPreviewService(t(a)),n[0]}async getWorkflowExperiences(e,t,n,i){if(e.length===0)throw new lo("No options provided!");const a=e.map((q,Y)=>({option:q,index:Y})),s=a.filter(q=>q.option.type==="transaction"),o=a.filter(q=>q.option.type==="integration"||q.option.type==="external"||q.option.type==="blank"),l=50,u=hA(s,l),c=hA(o,l);let f=0;const d=ze.getShadowGraphqlClient(),h=async q=>{if(q.length===0)return[];const Y=q.map(oe=>oe.option.transactionId),J=await d.query({query:R3,variables:{ids:Y},errorPolicy:"all",fetchPolicy:"no-cache"}),ae=J.data.transactions;if(f=f+ae.length,i&&i(f,s.length),ae.length!==q.length){const oe=J.errors?.[0]?.message||"Unknown error";throw new lo(`Not all transactions were found: ${oe}`)}return!this.activeIntegration&&ae[0].integrationProduct?.integration&&(this.activeIntegration=Promise.resolve(ae[0].integrationProduct.integration)),ae.map((oe,he)=>({transaction:oe,workflowId:oe.workflowId,readOnly:q.find(ye=>ye.option.transactionId===oe.id)?.option.readOnly??!1,index:q[he].index}))},g=async q=>{if(q.length===0)return[];const Y=await d.mutate({mutation:D3,variables:{inputs:q.map(ae=>({integrationProductId:ae.option.type==="integration"?ae.option.integrationProductId:void 0,externalIntegrationId:ae.option.type==="external"?ae.option.externalIntegrationId:void 0,externalProductId:ae.option.type==="external"?ae.option.externalProductId:void 0,workflowId:ae.option.workflowId,designName:ae.option.designName,claim:!0,quantity:ae.option.quantity,recipient:ae.option.recipient,parentTransactionId:ae.option.parentTransactionId})),marketplaceThemeInstallId:this.marketplaceThemeInstallId,marketplaceThemeInstallConfigurationId:this.marketplaceThemeInstallConfigurationId},errorPolicy:"all",fetchPolicy:"no-cache",context:this.getCreateTransactionContext(q,t)}),J=Y.data?.transactionCreateMany;if(!J||J.length===0){const ae=Y.errors?.[0]?.message||"Unknown error";throw new lo(`Failed to create transactions: ${ae}`)}return f=f+J.length,i&&i(f,s.length),J.map((ae,oe)=>({transaction:ae,workflowId:ae.workflowId,readOnly:!1,index:q[oe].index}))},v=(await Promise.all([...u.map(h),...c.map(g)])).flat();let y=[...new Set(v.map(q=>q.transaction.integrationProductId))].filter(q=>!!q);y=y.filter(q=>!!q);let A=[...new Set(v.map(q=>q.workflowId))].filter(q=>!!q);A=A.filter(q=>!!q);const[C,S]=await Promise.all([(async()=>y.length>0?await VP(y):[])(),(async()=>A.length>0?await tb(A,t):[])()]),F=new Map(C.map(q=>[q.id,q])),E=new Map(S.map(q=>[q.id,q])),R=v.map(async q=>{const{transaction:Y,workflowId:J,readOnly:ae,index:oe}=q,he=J?E.get(J):void 0,ye=e[oe];if(Y.integrationProductId){const re=F.get(Y.integrationProductId);Y.integrationProduct=re,Y.product=re?.product,Y.integrationProduct||console.error("failed to find transaction's product")}const Ue=br.getMap("transactionOwnerIds")||new Map;!Ue.get(Y.id)&&Y.transactionOwnerId&&(Ue.set(Y.id,Y.transactionOwnerId),br.setMap("transactionOwnerIds",Ue));const Re=Ue.get(Y.id)||void 0,Oe=new SV({onMutate:()=>({context:{transactionOwnerId:Re,bundleOwnerId:t?.bundleOwnerId}}),onQuery:()=>({context:{transactionOwnerId:Re,bundleOwnerId:t?.bundleOwnerId}})}),ee={workflow:he,transaction:Y,singleVariantsRenderable:ye?.workflowConfiguration?.singleVariantsRenderable,stateMutationFunc:ae?async()=>{throw new nn("State mutation is forbidden in read only mode!")}:async re=>this.updateTransactionState({...re,context:{transactionOwnerId:Re,bundleOwnerId:t?.bundleOwnerId}}),graphQlClient:()=>Oe,readOnly:ae,isReloadedTransaction:ye.type==="transaction"};if(ye.type==="transaction"&&Y.workflowState){const re=JSON.parse(Y.workflowState);await oA(re),ee.reloadedState=re}else if(!ae&&ye.workflowState){const re=JSON.parse(ye.workflowState);await oA(re),ee.reloadedState=re}return ee.delayWorkflowStateSync=!0,{experienceOptions:ee,index:oe,options:ye}}),G=(await Promise.all(R)).sort((q,Y)=>q.index-Y.index);let j=[],ie=[];for(const q of G){const{experienceOptions:Y,options:J}=q,ae=new M1(this,Y);await ae.getWorkflowManager().getInitializationPromise(),n&&n(),J.type!=="transaction"&&this.customer&&ie.push(ae),j=[...j,ae],ae.getWorkflowManager().setWorkflowStateSyncEnabled(!0)}if(ie.length>0){const q=this.customer.emailAddress,Y=ie.map(oe=>oe.getTransaction().id),ae=(await d.mutate({mutation:Q9,variables:{ids:Y,details:{emailAddress:q},type:"Owner"},errorPolicy:"all"})).data?.transactionsAddStakeholder;if(ae&&ae?.length>0){const oe=ae[0].stakeholders?.find(he=>he.customer?.emailAddress===q);if(oe?.customer)for(const he of ie)he.assignCustomerInternal(oe.customer)}}return j}getCreateTransactionContext(e,t){const n=e.find(s=>s.option.parentTransactionId)?.option.parentTransactionId;if(!n&&!t?.bundleOwnerId)return;const i=br.getMap("transactionOwnerIds")||new Map,a=n?i.get(n):void 0;return{...a?{transactionOwnerId:a}:{},...t?.bundleOwnerId?{bundleOwnerId:t.bundleOwnerId}:{}}}storeCustomer(e){const t=br.getMap("partnerCustomerIds")||new Map;t.set(e.partner.id,e.id),br.setMap("partnerCustomerIds",t)}async getIntegrationProductById(e,t){const a=(await ze.getShadowGraphqlClient().query({query:V3(t),variables:{ids:[e]},fetchPolicy:"no-cache",errorPolicy:"all"})).data?.integrationProducts;if(!a||a.length===0||!a[0]?.id)throw new Error("Integration product not found.");return new mA(a[0])}async getIntegrationProductFromExternalIds(e,t,n){const s=(await ze.getShadowGraphqlClient().query({query:z3(n),variables:{externalProductId:t,externalIntegrationId:e},fetchPolicy:"no-cache",errorPolicy:"all"})).data?.integrationProductFromExternalIds;if(!s?.id)throw new Error("Integration product not found.");return new mA(s)}async getIntegrationProduct(e){return e.type==="integration"?this.getIntegrationProductById(e.integrationProductId):this.getIntegrationProductFromExternalIds(e.externalIntegrationId,e.externalProductId)}async getShareActionsForTransaction(e){const n=(br.getMap("transactionOwnerIds")||new Map).get(e)||void 0,i=await ze.getShadowGraphqlClient().query({query:L3,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:e},context:{transactionOwnerId:n}});if(!i.data.transactions||i.data.transactions.length!==1)throw new Error(`Failed to fetch share actions for transaction: ${e}`);return i.data.transactions[0].transactionShareActions}async placeOrder(e){const t=await ze.getShadowGraphqlClient().mutate({mutation:Z3,variables:{orderItems:e}});if(t.errors)throw new Error(t.errors[0].message);if(!t.data)throw new Error("Failed to create order: No order data in response.");return{id:t.data.orderCreate.id,internalId:t.data.orderCreate.internalId}}}const zP=async(r,e)=>(await ze.getShadowGraphqlClient().query({query:X3,errorPolicy:"all",fetchPolicy:"no-cache",context:{headers:{"x-application-key":r},skipIntegrationCheck:!0},variables:{themeConfigurationId:e}})).data.currentIntegration,$Q=async r=>{const t=await ze.getShadowGraphqlClient().query({query:N3,errorPolicy:"all",fetchPolicy:"network-only",variables:{id:r}});if(t.data.transactions.length!==0)return t.data.transactions[0]},HQ=async(r,e)=>(await ze.getShadowGraphqlClient().query({query:Y3,errorPolicy:"all",variables:{themeConfigurationId:r,themeInstallId:e}})).data?.marketplaceThemeInstallConfiguration,GQ=async r=>(await ze.getShadowGraphqlClient().query({query:K3,errorPolicy:"all",variables:{id:r}})).data?.bundles?.[0]?.marketplaceThemeInstallConfiguration,jQ=async r=>(await ze.getShadowGraphqlClient().query({query:J3,errorPolicy:"all",variables:{id:r}})).data?.transactions?.[0]?.marketplaceThemeInstallConfiguration,$P=async(r,e)=>(await ze.getShadowGraphqlClient().query({query:oM(!!e),errorPolicy:"all",variables:{id:r,productIds:e}})).data?.activation,qQ=async r=>(await $P(r))?.marketplaceThemeInstallConfiguration;async function HP(){const r={};try{const e=await this.loggedInBearerToken();r.Authorization=`Bearer ${e}`}catch{const n=Object.entries(localStorage).find(([a,s])=>a.startsWith("CognitoIdentityServiceProvider")&&a.endsWith("idToken"))?.[0]||"",i=localStorage.getItem(n);i&&!vg(i)&&(r.Authorization=`Bearer ${i}`)}return r}async function GP(r){const t=br.getMap("bundleOwnerIds")?.get(r),n=await HP();return{bundleOwnerId:t,...n}}async function WQ(r){const t=br.getMap("transactionOwnerIds")?.get(r),n=await HP();return{transactionOwnerId:t,...n}}const QQ=async r=>{const e=await GP(r),t=await ze.getShadowGraphqlClient().mutate({mutation:k9,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:r},context:{headers:e}});if(t.data?.bundleDelete!==r)throw new Error(`Failed to delete bundle: ${t.errors}`)},YQ=async r=>{const e=await WQ(r),t=await ze.getShadowGraphqlClient().mutate({mutation:T9,errorPolicy:"all",fetchPolicy:"no-cache",variables:{ids:[r]},context:{headers:e}});if(!t.data?.transactions||t.data.transactions.length!==1||t.data.transactions[0].id!==r)throw new Error(`Failed to find transaction to read bundle id: ${JSON.stringify(t.errors)}`);return t.data.transactions[0].bundle?.id};function jP(r,e,t,n){const i=t.width*r.zoom,a=t.height*r.zoom;if(n){const s=Math.max(e.width/t.width,e.height/t.height),o=Math.max(s,r.zoom),l=t.width*o,u=t.height*o;return{...r,x:Dp(r.x,e.width-l,0),y:Dp(r.y,e.height-u,0),zoom:o}}return{...r,x:Dp(r.x,-i,e.width),y:Dp(r.y,-a,e.height)}}function Dp(r,e,t){return Math.min(Math.max(r,e),t)}class qP{constructor(e,t){this.minZoomScale=[.03],this.maxZoomScale=[20],this._debouncedUpdateFrameOffsets=PI(this.updateFrameOffsets,200),this.targetElements=[],this.onFrameDataChangeListeners=[],this.onZoomChangeListeners=[],this.onRotationChangeListeners=[],this.forceImageCover=e,this.initialZoom=t,this.thresholdSettings={useThreshold:!1,invertThreshold:!1,threshold:128,thresholdSaturation:.5}}connectWorkflowManager(e,t){t&&e.addStepSpecificStorageCallback(async n=>{if(n){const i=n;if(i.currentFrameSources){let a=!1;for(let s=0;s<i.currentFrameSources.length;s++){const o=i.currentFrameSources[s],l=await Xf(o),u=this.frameData?this.frameData[s]:void 0;vf(l,u)||(this.frameData||(this.frameData=new Array(i.currentFrameSources.length)),this.frameData[s]=l,a=!0)}a&&(this.onFrameDataChangeListeners.forEach(s=>s(this.frameData)),this.frameData&&this.imageData&&(this.recalculateOffsets(this.imageData),this.updateOffsets(this.offsets),this.recalculateZoomLimits(this.imageData,this.frameData)))}}},t),this.workflowManager=e,this.stepName=t}setTargetElements(e){this.targetElements=e}getFrameData(){return this.frameData}setFrameData(e){if(!e){this.frameData=void 0;return}e.forEach((t,n)=>{const i=_u.get(t);i&&(this.frameData||(this.frameData=new Array(e.length)),this.frameData[n]=i)})}getImageData(){return this.imageData}getImageSrc(){if(this.imageData){if(this.imageData.svg){const e=zg(this.imageData.svg,this.imageData.colors||{},!1);return Ug(e)}return this.imageData.src}}getOffsets(){return this.offsets}setOffsets(e){this.offsets=e}setZoom(e,t,n,i){if(this.imageData&&this.offsets&&this.frameData){(!this.offsets||this.offsets.length!==this.frameData.length)&&(this.offsets=new Array(this.frameData.length));const a=this.frameData.map((s,o)=>{const l=(t[o]-this.offsets[o].x)/this.offsets[o].zoom,u=(n[o]-this.offsets[o].y)/this.offsets[o].zoom,c=t[o]-l*e[o],f=n[o]-u*e[o];return{x:c,y:f,zoom:this.imageData.width*e[o]/this.imageData.width,rotation:this.offsets[o].rotation}});this.updateOffsets(a,i),this.onZoomChangeListeners.forEach(s=>s(e))}}setRotation(e,t){if(this.imageData&&this.offsets&&this.frameData){(!this.offsets||this.offsets.length!==this.frameData.length)&&(this.offsets=new Array(this.frameData.length));const n=this.frameData.map((i,a)=>({...this.offsets[a],rotation:e[a]}));this.updateOffsets(n,t),this.onRotationChangeListeners.forEach(i=>i(e))}}setPatternData(e,t=!0){this.imageData=e,e&&this.frameData&&((t||!this.offsets)&&this.recalculateOffsets(e,t),this.updateOffsets(this.offsets,void 0,!0)),this.imageData&&this.frameData&&this.recalculateZoomLimits(this.imageData,this.frameData)}updateOffsets(e,t,n){const i=this.imageData;if(!i||!this.frameData)return;if(this.frameData.length!==e.length)throw new nn("Frame data and offsets are not the same length. This is a bug. Please report it.");if(!this.offsets.some((s,o)=>!(e[o].x===s.x&&e[o].y===s.y&&e[o].zoom===s.zoom&&e[o].rotation===s.rotation))&&!n){t&&t();return}(!this.offsets||this.offsets.length!==this.frameData.length)&&(this.offsets=new Array(this.frameData.length)),this.frameData.forEach((s,o)=>{this.offsets[o]=jP(e[o],s,this.imageData,this.forceImageCover)}),this._debouncedUpdateFrameOffsets(this.offsets,i,this.frameData,this.thresholdSettings,t)}getThresholdSettings(){return this.thresholdSettings}setThresholdSettings(e){this.thresholdSettings=e,this.imageData&&this.frameData&&this._debouncedUpdateFrameOffsets(this.offsets,this.imageData,this.frameData,e)}onFrameDataChanged(e){e(this.frameData),this.onFrameDataChangeListeners.push(e)}onZoom(e){this.onZoomChangeListeners.push(e)}onRotation(e){this.onRotationChangeListeners.push(e)}updateFrameOffsets(e,t,n,i,a){if(!n||n.length===0||n.some(l=>!l))throw new nn("Frame data not set. This is a bug");if(!this.workflowManager)throw new nn("No workflow manager set, cannot update offsets.");const s=this.workflowManager.getRegionElements(this.stepName||""),o=this.workflowManager.getCommandDispatcher();this.targetElements.forEach((l,u)=>{let c=s.find(f=>f.id===l)?.regionIndex??u;c>=e.length&&(c=u);try{o(new Fn([new xL(l,t,e[c]),new SL(l,i.useThreshold,i.invertThreshold,i.threshold,i.thresholdSaturation)]))}catch{}}),this.stepName&&this.workflowManager.updateStorage(this.stepName,{frameOffsetsList:e}),a&&a()}recalculateZoomLimits(e,t){(this.minZoomScale.length!==t.length||this.maxZoomScale.length!==t.length)&&(this.minZoomScale=new Array(t.length),this.maxZoomScale=new Array(t.length)),t.forEach((n,i)=>{const a=Math.max(n.width/e.width,n.height/e.height);this.forceImageCover?(this.minZoomScale[i]=a,this.maxZoomScale[i]=a*2.5):(this.minZoomScale[i]=a/10,this.maxZoomScale[i]=a*2.5)})}recalculateOffsets(e,t=!0){this.frameData&&((!this.offsets||this.offsets.length!==this.frameData.length)&&(this.offsets=new Array(this.frameData.length)),this.frameData.forEach((n,i)=>{const a=t?0:this.offsets[i]?.rotation||0;this.offsets[i]={...x1(e,n,this.initialZoom&&!this.forceImageCover?{scale:this.initialZoom}:void 0,this.forceImageCover),rotation:a}}),this._debouncedUpdateFrameOffsets(this.offsets,e,this.frameData,this.thresholdSettings))}}class XQ{traversableScenes(){throw new Error("Method not implemented.")}updateRecipient(e,t,n,i,a,s,o,l,u,c,f,d,h,g,v,y,A){throw new Error("Method not implemented.")}approveTransaction(e){throw new Error("Method not implemented.")}rejectTransaction(e){throw new Error("Method not implemented.")}getClient(){return this.client??{}}getWorkflowExperience(){return{}}setClient(e){this.client=e}getInitializationPromise(){return Promise.resolve()}async updateWorkflowConfiguration(e){throw new Error("Method not implemented.")}isInitialized(){return!0}getInformationResults(){return[]}async reset(){}updateStateWithServer(e){}async outstandingRequestsPromise(){}async updateStateWithServerImmediate(e){}addPoller(e){}addConfirmCallback(e){}addEditedCallback(e){}addElementsCallback(e){}addInformationResultCallback(e){}addInitCallback(e){}addMakingAdjustmentsCallback(e){}addMandatoryCallback(e){}addMetadataCallback(e){}addSelectionCallback(e){}addStepSpecificStorageCallback(e,t){}addStorageCallback(e){}getCommandDispatcher(){return e=>{}}getLayouts(){return[]}getLayoutPreviewService(){return{getAll:()=>new Map}}getPreviewService(){}getModelContainer(){}getRegionElements(e){return[]}getSerializedStep(e,t){}getStepSpecificServices(e){}getTransaction(){return{id:""}}getTransactionCustomer(){}setTransactionCustomer(){}setTransactionCustomerDetails(){}getInitialOptionIds(){return new Promise(()=>new Set)}getWorkflow(){return{id:"",name:"",panels:[],steps:[],showModelOnFinishStep:!1,allowProofDownload:!1,introduction:"",stepGroups:[]}}markStepsAsInitialised(e){}markUpdateCompleted(e){}markUpdatePending(){return"123"}getWorkflowSelections(){return{}}getStepSelections(){return{}}setCurrentAdjustingStepId(e){}setEditedStatus(e,t){}setInformationResults(e){}setMandatoryFulfilled(e,t){}async setSelectionsAndElements(e,t,n){}toggleDesignConfirmed(){}updateMetadata(e,t){}async updateStorage(e,t){}injectIntoPreviewService(e){return Promise.resolve()}ejectFromPreviewService(){}setWorkflowStateSyncEnabled(e){}async updateTransactionShareActions(){}addValidationCallback(e){}setStepError(e,t,n){}getStepErrors(e){}getValidationErrors(){return{steps:new Map}}async updateTransactionStakeholders(){}getStepTags(e){return[]}}var WP=(r=>(r.SelectFrame="SelectFrame",r.SelectImage="SelectImage",r.Position="Position",r))(WP||{}),QP=(r=>(r.Original="original",r.BackgroundRemoved="backgroundRemoved",r.Optimized="optimized",r))(QP||{});class YP extends Ui{constructor(e,t,n){super(e,t,n);const i=t.data;this.frameService=new qP(i.forceImageCover,i.initialZoomLevel),this.frameService.connectWorkflowManager(e,t.stepName)}selectVariant(e){const t=this.manager.getRegionElements(this.step.stepName);return so.selectVariant(this.step,e.getResource(),t,this.manager,n=>this.setUpdateState(n))}onFrameDataChanged(e){this.frameService&&this.frameService.onFrameDataChanged(t=>{t&&e(t)})}async selectImage(e,t=!0,n=!0){await so.selectImage(this.step,e,this.manager,n),t&&this.manager.updateStorage(this.step.stepName,{framePatternData:{originalAssetKey:e.key,backgroundRemovedAssetKey:void 0,vectorizedAssetKey:void 0,enhancedAssetKey:void 0,useOriginalAsset:void 0}})}async canUseAdvancedImageManipulation(){return this.manager.getClient().canUseAddon(Bg.AdvancedImageManipulation)}async canRemoveBackground(){return await this.canUseAdvancedImageManipulation()&&this.hasOriginalImageSelection()&&!!this.frameService?.getImageData()?.src&&!this.frameService?.getImageData()?.svg}async removeBackgroundFromImageSelection(e=!0){if(!await this.canUseAdvancedImageManipulation())throw new Error("The current Integration does not have access to the Background Remover. Please call canUseAdvancedImageManipulation to ensure you disable this feature when appropriate.");const t=await this.getOriginalImageSelection();if(!t)throw new Error("You must supply an image selection before attempting to remove the background.");const n=await Ln.removeBackgroundFromAsset(t);e&&await so.selectImage(this.step,n,this.manager,!1);const i=this.getFrameStepStorage()?.framePatternData||{};return this.manager.updateStorage(this.step.stepName,{framePatternData:{...i,backgroundRemovedAssetKey:n.key,useOriginalAsset:!e}}),n}async vectorize(e,t=void 0){const n=e??await this.getOriginalImageSelection();if(!n)throw new Error("You must supply an image selection before attempting to vectorize the image.");const i=await Ln.vectorizeAsset(n,t);await this.selectImage(i,!1);const a=this.getFrameStepStorage()?.framePatternData||{};return this.manager.updateStorage(this.step.stepName,{framePatternData:{...a,vectorizedAssetKey:i.key,useOriginalAsset:!1}}),i}async enhanceWithAI(e,t){const n=e??await this.getOriginalImageSelection();if(!n)throw new Error("You must supply an image selection before attempting to enhance the image with AI.");const i=await Ln.enhanceWithAI(n,t);await this.selectImage(i,!1);const a=this.getFrameStepStorage()?.framePatternData||{};return this.manager.updateStorage(this.step.stepName,{framePatternData:{originalAssetKey:a.originalAssetKey,backgroundRemovedAssetKey:a.backgroundRemovedAssetKey,vectorizedAssetKey:a.vectorizedAssetKey,enhancedAssetKey:i.key,useOriginalAsset:!1}}),i}async getBackgroundRemovedImageSelection(){const e=this.getFrameStepStorage()?.framePatternData?.backgroundRemovedAssetKey;if(e)return Ln.getLocalOrFromServer(e)}async getVectorizedImageSelection(){const e=this.getFrameStepStorage()?.framePatternData?.vectorizedAssetKey;if(e)return Ln.getLocalOrFromServer(e)}async getEnhancedImageSelection(){const e=this.getFrameStepStorage()?.framePatternData?.enhancedAssetKey;if(e)return Ln.getLocalOrFromServer(e)}hasOriginalImageSelection(){return!!this.getFrameStepStorage()?.framePatternData?.originalAssetKey}hasBackgroundRemovedImageSelection(){return!!this.getFrameStepStorage()?.framePatternData?.backgroundRemovedAssetKey}hasVectorizedImageSelection(){return!!this.getFrameStepStorage()?.framePatternData?.vectorizedAssetKey}hasEnhancedImageSelection(){return!!this.getFrameStepStorage()?.framePatternData?.enhancedAssetKey}async changeColors(e){await so.changeColors(this.step,this.manager,e)}getImageData(){if(this.frameService)return this.frameService.getImageData()}async getColorOption(){return await ct.ensureFullOption(this.step.data.colorOption)}getAvailableColors(){return this.step.data.colorPickerEnabled?so.availableColors(this.step,this.manager):Promise.resolve([])}isColorPickerEnabled(){return this.step.data.colorPickerEnabled??!1}async getOriginalImageColors(){const e=this.getImageData();return e?.svg?(await Pa(e.svg)).colors:void 0}async mergeColors(e,t,n){const i=this.frameService.getImageData();if(!i?.svg||!i.colors)throw new Error("Cannot merge colors on non-SVG image or image without color information");const{svg:a,colors:s}=pT(i.svg,i.colors,e,t,n);this.frameService.setPatternData({...i,svg:a,colors:s},!1),this.manager.updateStorage(this.step.stepName,{colors:s})}async unmergeColors(e,t,n,i){const a=this.frameService.getImageData();if(!a?.svg||!a.colors)throw new Error("Cannot unmerge colors on non-SVG image or image without color information");this.frameService.setPatternData({...a,svg:i,colors:n},!1),this.manager.updateStorage(this.step.stepName,{colors:n})}getShouldVectorize(){return this.step.data.shouldVectorize??!1}getVectorizeMaxColors(){return this.step.data.vectorizeMaxColors}getMinimumPixelThresholdForOptimization(){return this.step.data.vectorizationMinimumPixelThreshold}getMaxAllowedColors(){return this.step.data.maxColors}getUniqueColorCount(){return so.getUniqueColorCount(this.step,this.manager)}getCurrentFrameStep(e,t,n,i){return i&&i.length>1&&e===void 0?"SelectFrame":t||n||this.getImageData()?"Position":"SelectImage"}getFrameService(){return this.frameService}hasOverlayImageKey(){return this.step.data.overlayImageKey}hasOverlayImageUrl(){return this.step.data.overlayImageUrl}getWhitelistedExtensions(){return[...this.step.data.whitelistedExtensions,...this.step.data.whitelistedExtensions.includes(".jpg")?[".jpeg"]:[]]}async getOriginalImageSelection(){const e=this.getFrameStepStorage()?.framePatternData?.originalAssetKey;if(e)return Ln.getLocalOrFromServer(e)}getCurrentImageState(){const e=this.getFrameStepStorage()?.framePatternData;return e?e.vectorizedAssetKey&&!e.useOriginalAsset?"optimized":e.useOriginalAsset!==!1?"original":"backgroundRemoved":"original"}async setImageState(e){const t=this.getFrameStepStorage()?.framePatternData||{};let n,i;switch(e){case"original":if(n=await this.getOriginalImageSelection(),!n)throw new Error("No original image available");i=!0;break;case"backgroundRemoved":if(n=await this.getBackgroundRemovedImageSelection(),!n)throw new Error("No background-removed image available. Call removeBackgroundFromImageSelection first.");i=!1;break;case"optimized":if(n=await this.getVectorizedImageSelection(),!n)throw new Error("No optimized image available. Call vectorize first.");i=!1;break}await this.selectImage(n,!1,!0),this.manager.updateStorage(this.step.stepName,{framePatternData:{...t,useOriginalAsset:i}})}getUseOriginalImageSelection(){return this.getFrameStepStorage()?.framePatternData?.useOriginalAsset??!1}async setUseOriginalImageSelection(e){const t=this.getFrameStepStorage()?.framePatternData||{};if(t.useOriginalAsset===e)return;const n=await this.getOriginalImageSelection();if(!n)throw new Error("You must provide an image selection before calling setUseOriginalImageSelection");if(e)await this.selectImage(n,!1,!1);else{const i=await this.getBackgroundRemovedImageSelection();if(!i)throw new Error("You must call removeBackgroundFromImageSelection before attempting to apply the image.");await this.selectImage(i,!1,!1)}this.manager.updateStorage(this.step.stepName,{framePatternData:{...t,useOriginalAsset:e}})}getFrameStepStorage(){return this.manager.getStepStorage(this.step.stepName)}isVariantCategoriesEnabled(){return this.step.data.enableVariantCategories??!1}}const JQ=Se`
|
|
3056
|
+
${V2(t)}`);const i=await ze.getShadowGraphqlClient().query({query:t,errorPolicy:"all",variables:n,context:{logRequestHeaders:!0}});if(i.error)throw console.log("[getWorkflowsInternal] Response errored."),i.error;if(i.errors)throw i.errors.forEach(s=>console.error(s)),new Error("Unable to read workflows. Consult GraphQL errors.");if(!i.data.workflows||i.data.workflows.length!==r.length)throw new Error(`Unable to read workflows: ${i.errors??"Length mismatch in response"}`);const a=mo(i.data.workflows);return a.forEach(s=>{s.finalizeStepConfig||(s.finalizeStepConfig={}),s.finalizeStepConfig.termsMarkdown=s.finalizeStepConfig.termsMarkdown||s.partner.termsMarkdown}),a},VQ=async(r,e)=>{const n=(await e).find(i=>i.id===r);if(!n)throw new Error(`Workflow not found: ${r}`);return n},tb=async(r,e)=>{const t=r.map(o=>mf.get({id:o,options:e})),n=r.filter((o,l)=>t[l]===void 0);if(n.length===0)return Promise.all(t);const i=UQ(n,e),a=n.map(o=>mf.set({id:o,options:e},VQ(o,i))),s=t.filter(o=>o!==void 0);return await Promise.all(s.concat(a))},UP=async(r,e)=>(await tb([r],e))[0],VP=async r=>{const e=await ze.getShadowGraphqlClient().query({query:wT,variables:{ids:r},errorPolicy:"all",fetchPolicy:"no-cache"});return e.errors&&console.error(e.errors),e.data.integrationProducts||[]};class zQ{constructor(e){this.activeIntegration=void 0,this.updateTransactionState=async t=>{try{return ze.getShadowGraphqlClient().mutate({...t,mutation:O3})}catch(n){throw console.error(n),new lo("Critical - Unable to synchronize workflow state with server.")}},this.options=e,this.options.applicationKey&&Jk(this.options.applicationKey),console.debug("------------------------"),console.debug("Spiff Commerce Core SDK"),console.debug("Version: 44.5.6-alpha.6"),console.debug(`Application Key Provided: ${!!this.options.applicationKey}`),console.debug("------------------------")}configure(e){ss.setHubUrl(e.hubUrl),ss.setServerUrl(e.serverUrl),ss.setServicesApiUrl(e.servicesApiUrl),this.marketplaceThemeInstallId=e.marketplaceThemeInstallId,this.marketplaceThemeInstallConfigurationId=e.marketplaceThemeInstallConfigurationId,this.userPoolClientId=e.userPoolClientId,this.userPoolRegion=e.userPoolRegion,this.spiffRegion=e.spiffRegion,e.bearerAuthenticationToken&&Zk(e.bearerAuthenticationToken),this.options.applicationKey&&this.getIntegration(),this.spiffRegion&&this.userPoolRegion&&this.userPoolClientId&&Id.init(this.spiffRegion,this.userPoolRegion,this.userPoolClientId)}getVersion(){return"44.5.6-alpha.6"}getAssetManager(){return Ln}async getBetaEnabled(){return this.options.enableBetaFeatures?!0:(await this.getIntegration()).partner.beta===!0}getFlowService(){if(!Z4())throw new Error("Application key required to use Flow Service.");return new _I}async getCurrencyContext(e){const n=(await this.getIntegration()).partner.currencyCode,a=await ze.getShadowGraphqlClient().query({query:eM,errorPolicy:"all",fetchPolicy:"cache-first",variables:{from:n,to:e}}),{rateFrom:s,rateTo:o}=a.data.currencyConversion;return new LP(s,o,n,e)}async getIntegration(){if(this.activeIntegration)return this.activeIntegration;if(!this.options.applicationKey)throw new Error("Cannot get current Integration without specifying an Application Key.");return this.activeIntegration=zP(this.options.applicationKey),this.activeIntegration}async canUseAddon(e){try{return(await this.getIntegration()).partner.activeAddons?.includes(e)??!1}catch(t){return console.error(t),!1}}clearCustomer(){this.customer=void 0}clearCustomerForTransaction(e){const t=br.getMap("transactionCustomerIds");t?.has(e)&&(t.delete(e),br.setMap("transactionCustomerIds",t))}async customerHasBundleTemplates(e){const i=(await ze.getShadowGraphqlClient().query({query:Bv,errorPolicy:"all",fetchPolicy:"no-cache",variables:{emailAddress:e}})).data.customer;return i.id?i.hasBundleTemplates??!1:!1}getStakeholderTypeForTransaction(e){const t=this.customer?.stakeholders?.find(n=>n.transaction?.id===e);if(t)return t.type}async getOrCreateCustomer(e){this.customer=void 0;const t=ze.getShadowGraphqlClient(),i=(await t.query({query:Bv,errorPolicy:"all",fetchPolicy:"no-cache",variables:{emailAddress:e}})).data.customer;if(!i.id){const o=(await t.mutate({mutation:wV,errorPolicy:"all",fetchPolicy:"no-cache",variables:{details:{emailAddress:e}}})).data?.customerCreate;if(!o)throw new Error("Unable to create customer.");return this.storeCustomer(o),this.customer=o,{customer:o,isAuthenticated:!1}}this.storeCustomer(i);const a=await this.reloadLoggedInCustomer();return{customer:this.customer||i,isAuthenticated:a}}getCustomer(){return this.customer}async reloadLoggedInCustomer(){const e=localStorage.getItem("last-refreshed-cognito-tokens"),t=localStorage.getItem("cognito-tokens"),n=localStorage.getItem("cognito-email");if(!e||!t||!n)return!1;const i=JSON.parse(t),a=new Date().getTime()/1e3;if(!i.ExpiresIn||i.ExpiresIn<a-parseInt(e)){const u=await Id.refreshTokens();if(u?.AuthenticationResult)localStorage.setItem("last-refreshed-cognito-tokens",`${new Date().getTime()/1e3}`),i.AccessToken=u.AuthenticationResult.AccessToken,localStorage.setItem("cognito-tokens",JSON.stringify(i));else return this.logOut(),console.error("Failed to refresh tokens."),!1}const s=localStorage.getItem("customer-login-token");s&&p0(s);const l=(await ze.getShadowGraphqlClient().query({query:Bv,errorPolicy:"all",fetchPolicy:"no-cache",variables:{emailAddress:n}})).data.customer;return l.id?(this.customer=l,!0):(console.error("Failed to get customer."),!1)}async generateVerificationCode(e){await ze.getShadowGraphqlClient().mutate({mutation:bV,variables:{emailAddress:e}}),await Id.generateCode(e)}async verifyCode(e,t){const n=(await this.getIntegration()).partner.id||"",i=await Id.verifyCode(e,t,n);if(i?.AuthenticationResult){localStorage.setItem("last-refreshed-cognito-tokens",`${new Date().getTime()/1e3}`),localStorage.setItem("cognito-tokens",JSON.stringify(i.AuthenticationResult)),localStorage.setItem("cognito-email",e);const s=(await ze.getShadowGraphqlClient().mutate({mutation:CV,errorPolicy:"all",fetchPolicy:"no-cache",variables:{emailAddress:e,verificationCode:t}})).data?.customerVerifyCode;if(!s?.id)throw new Error("Failed to get customer.");return this.customer=s,s.loginToken&&(localStorage.setItem("customer-login-token",s.loginToken),p0(s.loginToken)),!0}else throw new Error}async logOut(){localStorage.removeItem("last-refreshed-cognito-tokens"),localStorage.removeItem("cognito-tokens"),localStorage.removeItem("cognito-email"),localStorage.removeItem("customer-login-token"),p0(""),this.clearCustomer()}async loggedInBearerToken(){const e=localStorage.getItem("last-refreshed-cognito-tokens"),t=localStorage.getItem("cognito-tokens");if(!e||!t)throw new Error("No token data in storage.");const n=JSON.parse(t),i=new Date().getTime()/1e3,a=!n?.AccessToken||vg(n.AccessToken);if(!n.ExpiresIn||n.ExpiresIn<i-parseInt(e)||a){const s=await Id.refreshTokens();if(s?.AuthenticationResult)localStorage.setItem("last-refreshed-cognito-tokens",`${new Date().getTime()/1e3}`),n.AccessToken=s.AuthenticationResult.AccessToken,localStorage.setItem("cognito-tokens",JSON.stringify(n));else throw this.logOut(),new Error("Failed to refresh tokens.")}if(!n.AccessToken)throw new Error("No bearer token in storage.");return n.AccessToken}async getCustomerMetafields(){if(!this.customer?.id)throw new Error("Customer must be logged in before calling this function.");return(await ze.getShadowGraphqlClient().query({query:xV,variables:{id:this.customer.id}})).data.metafields}async getNewBundle(e,t,n,i){const s=(await ze.getShadowGraphqlClient().mutate({mutation:a9(n?.graphql?.productCollection?.eagerFetchProducts||!1),variables:{collectionId:e,initialMetadata:t?Object.entries(t).map((c,f)=>({key:c[0],value:c[1]})):void 0,marketplaceThemeInstallId:this.marketplaceThemeInstallId,marketplaceThemeInstallConfigurationId:this.marketplaceThemeInstallConfigurationId,activationId:i,test:n?.test},fetchPolicy:"no-cache"})).data?.bundleCreate;if(!s?.id)throw new Error("Unable to create bundle");const o=br.getMap("bundlePartnerIds")||new Map;o.set(s.id,s.partner.id),br.setMap("bundlePartnerIds",o);const l=br.getMap("bundleOwnerIds")||new Map;l.set(s.id,s.bundleOwnerId),br.setMap("bundleOwnerIds",l);const u=new OE(this,s,void 0,void 0,s.bundleOwnerId,{eagerFetchProducts:n?.graphql?.productCollection?.eagerFetchProducts});return await u.getInitializationPromise(),u}async getExistingBundle(e,t,n,i,a){const o=br.getMap("bundleOwnerIds")?.get(e),l={};try{const g=await this.loggedInBearerToken();l.Authorization=`Bearer ${g}`}catch{const y=Object.entries(localStorage).find(([C,S])=>C.startsWith("CognitoIdentityServiceProvider")&&C.endsWith("idToken"))?.[0]||"",A=localStorage.getItem(y);A&&!vg(A)&&(l.Authorization=`Bearer ${A}`)}const u={bundleOwnerId:o,...l,...i?.graphql?.additionalHeaders},c=await ze.getShadowGraphqlClient().query({query:t9(i?.graphql?.productCollection?.eagerFetchProducts||!1),variables:{id:e},fetchPolicy:"no-cache",context:{headers:u}});if(!c.data?.bundles||c.data?.bundles.length===0||!c.data?.bundles[0])throw new Error(`Unable to find bundle: ${e}`);const f=c.data?.bundles[0],d=br.getMap("bundlePartnerIds")||new Map;d.set(f.id,f.partner.id),br.setMap("bundlePartnerIds",d);const h=new OE(this,f,t,n,o,{additionalHeaders:i?.graphql?.additionalHeaders,eagerFetchProducts:i?.graphql?.productCollection?.eagerFetchProducts,existingGlobalPropertyState:c.data.globalPropertyState,readonly:i?.readonly},a);return await h.getInitializationPromise(),h}async duplicateBundle(e,t,n,i){const s={...await GP(e),...i?.graphql?.additionalHeaders},l=(await ze.getShadowGraphqlClient().mutate({mutation:s9(),variables:{id:e,template:t,marketplaceThemeInstallId:this.marketplaceThemeInstallId,marketplaceThemeInstallConfigurationId:this.marketplaceThemeInstallConfigurationId,duplicateTransactions:n,test:i?.test},context:{headers:s},fetchPolicy:"no-cache"})).data?.bundleDuplicate;if(!l?.id)throw new Error("Unable to duplicate bundle");const u=br.getMap("bundlePartnerIds")||new Map;u.set(l.id,l.partner.id),br.setMap("bundlePartnerIds",u);const c=br.getMap("bundleOwnerIds")||new Map;return c.set(l.id,l.bundleOwnerId),br.setMap("bundleOwnerIds",c),async()=>await this.getExistingBundle(l.id,void 0,void 0,{graphql:{productCollection:{eagerFetchProducts:i?.graphql?.productCollection?.eagerFetchProducts||!1}}})}async getBundlesForCustomer(e){if(!this.customer?.id)throw new Error("Customer not authenticated.");const{includeMetadata:t,...n}=e;return(await ze.getShadowGraphqlClient().query({query:v9(t??!1),variables:{...n,id:this.customer.id},fetchPolicy:"no-cache"})).data.customerBundlesFeed}async getBundleStakeholders(){if(!this.customer)throw new Error("Customer not authenticated.");const e=await ze.getShadowGraphqlClient().query({query:r9,variables:{id:this.customer.id},fetchPolicy:"no-cache"});if(!e.data?.customers||e.data.customers.length===0)throw new Error("Unable to find customer.");const n=e.data.customers[0].bundleStakeholders||[],i=br.getMap("bundlePartnerIds")||new Map;return n.forEach(a=>{a.bundle?.id&&a.bundle.partner?.id&&i.set(a.bundle.id,a.bundle.partner.id)}),br.setMap("bundlePartnerIds",i),n}async getWorkflowExperience(e,t){if(!e)throw new Error("getWorkflowExperience has been called without an options object! This is not supported.");const n=await this.getWorkflowExperiences([e],e.graphql),i=n[0],a=i.getWorkflow();return t&&!a&&console.error("No workflow instantiated when trying to create preview service."),t&&a&&await i.getWorkflowManager().injectIntoPreviewService(t(a)),n[0]}async getWorkflowExperiences(e,t,n,i){if(e.length===0)throw new lo("No options provided!");const a=e.map((q,Y)=>({option:q,index:Y})),s=a.filter(q=>q.option.type==="transaction"),o=a.filter(q=>q.option.type==="integration"||q.option.type==="external"||q.option.type==="blank"),l=50,u=hA(s,l),c=hA(o,l);let f=0;const d=ze.getShadowGraphqlClient(),h=async q=>{if(q.length===0)return[];const Y=q.map(oe=>oe.option.transactionId),J=await d.query({query:R3,variables:{ids:Y},errorPolicy:"all",fetchPolicy:"no-cache"}),ae=J.data.transactions;if(f=f+ae.length,i&&i(f,s.length),ae.length!==q.length){const oe=J.errors?.[0]?.message||"Unknown error";throw new lo(`Not all transactions were found: ${oe}`)}return!this.activeIntegration&&ae[0].integrationProduct?.integration&&(this.activeIntegration=Promise.resolve(ae[0].integrationProduct.integration)),ae.map((oe,he)=>({transaction:oe,workflowId:oe.workflowId,readOnly:q.find(ye=>ye.option.transactionId===oe.id)?.option.readOnly??!1,index:q[he].index}))},g=async q=>{if(q.length===0)return[];const Y=await d.mutate({mutation:D3,variables:{inputs:q.map(ae=>({integrationProductId:ae.option.type==="integration"?ae.option.integrationProductId:void 0,externalIntegrationId:ae.option.type==="external"?ae.option.externalIntegrationId:void 0,externalProductId:ae.option.type==="external"?ae.option.externalProductId:void 0,workflowId:ae.option.workflowId,designName:ae.option.designName,claim:!0,quantity:ae.option.quantity,recipient:ae.option.recipient,parentTransactionId:ae.option.parentTransactionId})),marketplaceThemeInstallId:this.marketplaceThemeInstallId,marketplaceThemeInstallConfigurationId:this.marketplaceThemeInstallConfigurationId},errorPolicy:"all",fetchPolicy:"no-cache",context:this.getCreateTransactionContext(q,t)}),J=Y.data?.transactionCreateMany;if(!J||J.length===0){const ae=Y.errors?.[0]?.message||"Unknown error";throw new lo(`Failed to create transactions: ${ae}`)}return f=f+J.length,i&&i(f,s.length),J.map((ae,oe)=>({transaction:ae,workflowId:ae.workflowId,readOnly:!1,index:q[oe].index}))},v=(await Promise.all([...u.map(h),...c.map(g)])).flat();let y=[...new Set(v.map(q=>q.transaction.integrationProductId))].filter(q=>!!q);y=y.filter(q=>!!q);let A=[...new Set(v.map(q=>q.workflowId))].filter(q=>!!q);A=A.filter(q=>!!q);const[C,S]=await Promise.all([(async()=>y.length>0?await VP(y):[])(),(async()=>A.length>0?await tb(A,t):[])()]),F=new Map(C.map(q=>[q.id,q])),E=new Map(S.map(q=>[q.id,q])),R=v.map(async q=>{const{transaction:Y,workflowId:J,readOnly:ae,index:oe}=q,he=J?E.get(J):void 0,ye=e[oe];if(Y.integrationProductId){const re=F.get(Y.integrationProductId);Y.integrationProduct=re,Y.product=re?.product,Y.integrationProduct||console.error("failed to find transaction's product")}const Ue=br.getMap("transactionOwnerIds")||new Map;!Ue.get(Y.id)&&Y.transactionOwnerId&&(Ue.set(Y.id,Y.transactionOwnerId),br.setMap("transactionOwnerIds",Ue));const Re=Ue.get(Y.id)||void 0,Oe=new SV({onMutate:()=>({context:{transactionOwnerId:Re,bundleOwnerId:t?.bundleOwnerId}}),onQuery:()=>({context:{transactionOwnerId:Re,bundleOwnerId:t?.bundleOwnerId}})}),ee={workflow:he,transaction:Y,singleVariantsRenderable:ye?.workflowConfiguration?.singleVariantsRenderable,stateMutationFunc:ae?async()=>{throw new nn("State mutation is forbidden in read only mode!")}:async re=>this.updateTransactionState({...re,context:{transactionOwnerId:Re,bundleOwnerId:t?.bundleOwnerId}}),graphQlClient:()=>Oe,readOnly:ae,isReloadedTransaction:ye.type==="transaction"};if(ye.type==="transaction"&&Y.workflowState){const re=JSON.parse(Y.workflowState);await oA(re),ee.reloadedState=re}else if(!ae&&ye.workflowState){const re=JSON.parse(ye.workflowState);await oA(re),ee.reloadedState=re}return ee.delayWorkflowStateSync=!0,{experienceOptions:ee,index:oe,options:ye}}),G=(await Promise.all(R)).sort((q,Y)=>q.index-Y.index);let j=[],ie=[];for(const q of G){const{experienceOptions:Y,options:J}=q,ae=new M1(this,Y);await ae.getWorkflowManager().getInitializationPromise(),n&&n(),J.type!=="transaction"&&this.customer&&ie.push(ae),j=[...j,ae],ae.getWorkflowManager().setWorkflowStateSyncEnabled(!0)}if(ie.length>0){const q=this.customer.emailAddress,Y=ie.map(oe=>oe.getTransaction().id),ae=(await d.mutate({mutation:Q9,variables:{ids:Y,details:{emailAddress:q},type:"Owner"},errorPolicy:"all"})).data?.transactionsAddStakeholder;if(ae&&ae?.length>0){const oe=ae[0].stakeholders?.find(he=>he.customer?.emailAddress===q);if(oe?.customer)for(const he of ie)he.assignCustomerInternal(oe.customer)}}return j}getCreateTransactionContext(e,t){const n=e.find(s=>s.option.parentTransactionId)?.option.parentTransactionId;if(!n&&!t?.bundleOwnerId)return;const i=br.getMap("transactionOwnerIds")||new Map,a=n?i.get(n):void 0;return{...a?{transactionOwnerId:a}:{},...t?.bundleOwnerId?{bundleOwnerId:t.bundleOwnerId}:{}}}storeCustomer(e){const t=br.getMap("partnerCustomerIds")||new Map;t.set(e.partner.id,e.id),br.setMap("partnerCustomerIds",t)}async getIntegrationProductById(e,t){const a=(await ze.getShadowGraphqlClient().query({query:V3(t),variables:{ids:[e]},fetchPolicy:"no-cache",errorPolicy:"all"})).data?.integrationProducts;if(!a||a.length===0||!a[0]?.id)throw new Error("Integration product not found.");return new mA(a[0])}async getIntegrationProductFromExternalIds(e,t,n){const s=(await ze.getShadowGraphqlClient().query({query:z3(n),variables:{externalProductId:t,externalIntegrationId:e},fetchPolicy:"no-cache",errorPolicy:"all"})).data?.integrationProductFromExternalIds;if(!s?.id)throw new Error("Integration product not found.");return new mA(s)}async getIntegrationProduct(e){return e.type==="integration"?this.getIntegrationProductById(e.integrationProductId):this.getIntegrationProductFromExternalIds(e.externalIntegrationId,e.externalProductId)}async getShareActionsForTransaction(e){const n=(br.getMap("transactionOwnerIds")||new Map).get(e)||void 0,i=await ze.getShadowGraphqlClient().query({query:L3,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:e},context:{transactionOwnerId:n}});if(!i.data.transactions||i.data.transactions.length!==1)throw new Error(`Failed to fetch share actions for transaction: ${e}`);return i.data.transactions[0].transactionShareActions}async placeOrder(e){const t=await ze.getShadowGraphqlClient().mutate({mutation:Z3,variables:{orderItems:e}});if(t.errors)throw new Error(t.errors[0].message);if(!t.data)throw new Error("Failed to create order: No order data in response.");return{id:t.data.orderCreate.id,internalId:t.data.orderCreate.internalId}}}const zP=async(r,e)=>(await ze.getShadowGraphqlClient().query({query:X3,errorPolicy:"all",fetchPolicy:"no-cache",context:{headers:{"x-application-key":r},skipIntegrationCheck:!0},variables:{themeConfigurationId:e}})).data.currentIntegration,$Q=async r=>{const t=await ze.getShadowGraphqlClient().query({query:N3,errorPolicy:"all",fetchPolicy:"network-only",variables:{id:r}});if(t.data.transactions.length!==0)return t.data.transactions[0]},HQ=async(r,e)=>(await ze.getShadowGraphqlClient().query({query:Y3,errorPolicy:"all",variables:{themeConfigurationId:r,themeInstallId:e}})).data?.marketplaceThemeInstallConfiguration,GQ=async r=>(await ze.getShadowGraphqlClient().query({query:K3,errorPolicy:"all",variables:{id:r}})).data?.bundles?.[0]?.marketplaceThemeInstallConfiguration,jQ=async r=>(await ze.getShadowGraphqlClient().query({query:J3,errorPolicy:"all",variables:{id:r}})).data?.transactions?.[0]?.marketplaceThemeInstallConfiguration,$P=async(r,e)=>(await ze.getShadowGraphqlClient().query({query:oM(!!e),errorPolicy:"all",variables:{id:r,productIds:e}})).data?.activation,qQ=async r=>(await $P(r))?.marketplaceThemeInstallConfiguration;async function HP(){const r={};try{const e=await this.loggedInBearerToken();r.Authorization=`Bearer ${e}`}catch{const n=Object.entries(localStorage).find(([a,s])=>a.startsWith("CognitoIdentityServiceProvider")&&a.endsWith("idToken"))?.[0]||"",i=localStorage.getItem(n);i&&!vg(i)&&(r.Authorization=`Bearer ${i}`)}return r}async function GP(r){const t=br.getMap("bundleOwnerIds")?.get(r),n=await HP();return{bundleOwnerId:t,...n}}async function WQ(r){const t=br.getMap("transactionOwnerIds")?.get(r),n=await HP();return{transactionOwnerId:t,...n}}const QQ=async r=>{const e=await GP(r),t=await ze.getShadowGraphqlClient().mutate({mutation:k9,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:r},context:{headers:e}});if(t.data?.bundleDelete!==r)throw new Error(`Failed to delete bundle: ${t.errors}`)},YQ=async r=>{const e=await WQ(r),t=await ze.getShadowGraphqlClient().mutate({mutation:T9,errorPolicy:"all",fetchPolicy:"no-cache",variables:{ids:[r]},context:{headers:e}});if(!t.data?.transactions||t.data.transactions.length!==1||t.data.transactions[0].id!==r)throw new Error(`Failed to find transaction to read bundle id: ${JSON.stringify(t.errors)}`);return t.data.transactions[0].bundle?.id};function jP(r,e,t,n){const i=t.width*r.zoom,a=t.height*r.zoom;if(n){const s=Math.max(e.width/t.width,e.height/t.height),o=Math.max(s,r.zoom),l=t.width*o,u=t.height*o;return{...r,x:Dp(r.x,e.width-l,0),y:Dp(r.y,e.height-u,0),zoom:o}}return{...r,x:Dp(r.x,-i,e.width),y:Dp(r.y,-a,e.height)}}function Dp(r,e,t){return Math.min(Math.max(r,e),t)}class qP{constructor(e,t){this.minZoomScale=[.03],this.maxZoomScale=[20],this._debouncedUpdateFrameOffsets=PI(this.updateFrameOffsets,200),this.targetElements=[],this.onFrameDataChangeListeners=[],this.onZoomChangeListeners=[],this.onRotationChangeListeners=[],this.forceImageCover=e,this.initialZoom=t,this.thresholdSettings={useThreshold:!1,invertThreshold:!1,threshold:128,thresholdSaturation:.5}}connectWorkflowManager(e,t){t&&e.addStepSpecificStorageCallback(async n=>{if(n){const i=n;if(i.currentFrameSources){let a=!1;for(let s=0;s<i.currentFrameSources.length;s++){const o=i.currentFrameSources[s],l=await Xf(o),u=this.frameData?this.frameData[s]:void 0;vf(l,u)||(this.frameData||(this.frameData=new Array(i.currentFrameSources.length)),this.frameData[s]=l,a=!0)}a&&(this.onFrameDataChangeListeners.forEach(s=>s(this.frameData)),this.frameData&&this.imageData&&(this.recalculateOffsets(this.imageData),this.updateOffsets(this.offsets),this.recalculateZoomLimits(this.imageData,this.frameData)))}}},t),this.workflowManager=e,this.stepName=t}setTargetElements(e){this.targetElements=e}getFrameData(){return this.frameData}setFrameData(e){if(!e){this.frameData=void 0;return}e.forEach((t,n)=>{const i=_u.get(t);i&&(this.frameData||(this.frameData=new Array(e.length)),this.frameData[n]=i)})}getImageData(){return this.imageData}getImageSrc(){if(this.imageData){if(this.imageData.svg){const e=zg(this.imageData.svg,this.imageData.colors||{},!1);return Ug(e)}return this.imageData.src}}getOffsets(){return this.offsets}setOffsets(e){this.offsets=e}setZoom(e,t,n,i){if(this.imageData&&this.offsets&&this.frameData){(!this.offsets||this.offsets.length!==this.frameData.length)&&(this.offsets=new Array(this.frameData.length));const a=this.frameData.map((s,o)=>{const l=(t[o]-this.offsets[o].x)/this.offsets[o].zoom,u=(n[o]-this.offsets[o].y)/this.offsets[o].zoom,c=t[o]-l*e[o],f=n[o]-u*e[o];return{x:c,y:f,zoom:this.imageData.width*e[o]/this.imageData.width,rotation:this.offsets[o].rotation}});this.updateOffsets(a,i),this.onZoomChangeListeners.forEach(s=>s(e))}}setRotation(e,t){if(this.imageData&&this.offsets&&this.frameData){(!this.offsets||this.offsets.length!==this.frameData.length)&&(this.offsets=new Array(this.frameData.length));const n=this.frameData.map((i,a)=>({...this.offsets[a],rotation:e[a]}));this.updateOffsets(n,t),this.onRotationChangeListeners.forEach(i=>i(e))}}setPatternData(e,t=!0){this.imageData=e,e&&this.frameData&&((t||!this.offsets)&&this.recalculateOffsets(e,t),this.updateOffsets(this.offsets,void 0,!0)),this.imageData&&this.frameData&&this.recalculateZoomLimits(this.imageData,this.frameData)}updateOffsets(e,t,n){const i=this.imageData;if(!i||!this.frameData)return;if(this.frameData.length!==e.length)throw new nn("Frame data and offsets are not the same length. This is a bug. Please report it.");if(!this.offsets.some((s,o)=>!(e[o].x===s.x&&e[o].y===s.y&&e[o].zoom===s.zoom&&e[o].rotation===s.rotation))&&!n){t&&t();return}(!this.offsets||this.offsets.length!==this.frameData.length)&&(this.offsets=new Array(this.frameData.length)),this.frameData.forEach((s,o)=>{this.offsets[o]=jP(e[o],s,this.imageData,this.forceImageCover)}),this._debouncedUpdateFrameOffsets(this.offsets,i,this.frameData,this.thresholdSettings,t)}getThresholdSettings(){return this.thresholdSettings}setThresholdSettings(e){this.thresholdSettings=e,this.imageData&&this.frameData&&this._debouncedUpdateFrameOffsets(this.offsets,this.imageData,this.frameData,e)}onFrameDataChanged(e){e(this.frameData),this.onFrameDataChangeListeners.push(e)}onZoom(e){this.onZoomChangeListeners.push(e)}onRotation(e){this.onRotationChangeListeners.push(e)}updateFrameOffsets(e,t,n,i,a){if(!n||n.length===0||n.some(l=>!l))throw new nn("Frame data not set. This is a bug");if(!this.workflowManager)throw new nn("No workflow manager set, cannot update offsets.");const s=this.workflowManager.getRegionElements(this.stepName||""),o=this.workflowManager.getCommandDispatcher();this.targetElements.forEach((l,u)=>{let c=s.find(f=>f.id===l)?.regionIndex??u;c>=e.length&&(c=u);try{o(new Fn([new xL(l,t,e[c]),new SL(l,i.useThreshold,i.invertThreshold,i.threshold,i.thresholdSaturation)]))}catch{}}),this.stepName&&this.workflowManager.updateStorage(this.stepName,{frameOffsetsList:e}),a&&a()}recalculateZoomLimits(e,t){(this.minZoomScale.length!==t.length||this.maxZoomScale.length!==t.length)&&(this.minZoomScale=new Array(t.length),this.maxZoomScale=new Array(t.length)),t.forEach((n,i)=>{const a=Math.max(n.width/e.width,n.height/e.height);this.forceImageCover?(this.minZoomScale[i]=a,this.maxZoomScale[i]=a*2.5):(this.minZoomScale[i]=a/10,this.maxZoomScale[i]=a*2.5)})}recalculateOffsets(e,t=!0){this.frameData&&((!this.offsets||this.offsets.length!==this.frameData.length)&&(this.offsets=new Array(this.frameData.length)),this.frameData.forEach((n,i)=>{const a=t?0:this.offsets[i]?.rotation||0;this.offsets[i]={...x1(e,n,this.initialZoom&&!this.forceImageCover?{scale:this.initialZoom}:void 0,this.forceImageCover),rotation:a}}),this._debouncedUpdateFrameOffsets(this.offsets,e,this.frameData,this.thresholdSettings))}}class XQ{traversableScenes(){throw new Error("Method not implemented.")}updateRecipient(e,t,n,i,a,s,o,l,u,c,f,d,h,g,v,y,A){throw new Error("Method not implemented.")}approveTransaction(e){throw new Error("Method not implemented.")}rejectTransaction(e){throw new Error("Method not implemented.")}getClient(){return this.client??{}}getWorkflowExperience(){return{}}setClient(e){this.client=e}getInitializationPromise(){return Promise.resolve()}async updateWorkflowConfiguration(e){throw new Error("Method not implemented.")}isInitialized(){return!0}getInformationResults(){return[]}async reset(){}updateStateWithServer(e){}async outstandingRequestsPromise(){}async updateStateWithServerImmediate(e){}addPoller(e){}addConfirmCallback(e){}addEditedCallback(e){}addElementsCallback(e){}addInformationResultCallback(e){}addInitCallback(e){}addMakingAdjustmentsCallback(e){}addMandatoryCallback(e){}addMetadataCallback(e){}addSelectionCallback(e){}addStepSpecificStorageCallback(e,t){}addStorageCallback(e){}getCommandDispatcher(){return e=>{}}getLayouts(){return[]}getLayoutPreviewService(){return{getAll:()=>new Map}}getPreviewService(){}getModelContainer(){}getRegionElements(e){return[]}getSerializedStep(e,t){}getStepSpecificServices(e){}getTransaction(){return{id:""}}getTransactionCustomer(){}setTransactionCustomer(){}setTransactionCustomerDetails(){}getInitialOptionIds(){return new Promise(()=>new Set)}getWorkflow(){return{id:"",name:"",panels:[],steps:[],showModelOnFinishStep:!1,allowProofDownload:!1,introduction:"",stepGroups:[]}}markStepsAsInitialised(e){}markUpdateCompleted(e){}markUpdatePending(){return"123"}getWorkflowSelections(){return{}}getStepSelections(){return{}}setCurrentAdjustingStepId(e){}setEditedStatus(e,t){}setInformationResults(e){}setMandatoryFulfilled(e,t){}async setSelectionsAndElements(e,t,n){}toggleDesignConfirmed(){}updateMetadata(e,t){}async updateStorage(e,t){}injectIntoPreviewService(e){return Promise.resolve()}ejectFromPreviewService(){}setWorkflowStateSyncEnabled(e){}async updateTransactionShareActions(){}addValidationCallback(e){}setStepError(e,t,n){}getStepErrors(e){}getValidationErrors(){return{steps:new Map}}async updateTransactionStakeholders(){}getStepTags(e){return[]}}var WP=(r=>(r.SelectFrame="SelectFrame",r.SelectImage="SelectImage",r.Position="Position",r))(WP||{}),QP=(r=>(r.Original="original",r.BackgroundRemoved="backgroundRemoved",r.Optimized="optimized",r))(QP||{});class YP extends Ui{constructor(e,t,n){super(e,t,n);const i=t.data;this.frameService=new qP(i.forceImageCover,i.initialZoomLevel),this.frameService.connectWorkflowManager(e,t.stepName)}selectVariant(e){const t=this.manager.getRegionElements(this.step.stepName);return so.selectVariant(this.step,e.getResource(),t,this.manager,n=>this.setUpdateState(n))}onFrameDataChanged(e){this.frameService&&this.frameService.onFrameDataChanged(t=>{t&&e(t)})}async selectImage(e,t=!0,n=!0){await so.selectImage(this.step,e,this.manager,n),t&&this.manager.updateStorage(this.step.stepName,{framePatternData:{originalAssetKey:e.key,backgroundRemovedAssetKey:void 0,vectorizedAssetKey:void 0,enhancedAssetKey:void 0,useOriginalAsset:void 0}})}async canUseAdvancedImageManipulation(){return this.manager.getClient().canUseAddon(Bg.AdvancedImageManipulation)}async canRemoveBackground(){return await this.canUseAdvancedImageManipulation()&&this.hasOriginalImageSelection()&&!!this.frameService?.getImageData()?.src&&!this.frameService?.getImageData()?.svg}async removeBackgroundFromImageSelection(e=!0){if(!await this.canUseAdvancedImageManipulation())throw new Error("The current Integration does not have access to the Background Remover. Please call canUseAdvancedImageManipulation to ensure you disable this feature when appropriate.");const t=await this.getOriginalImageSelection();if(!t)throw new Error("You must supply an image selection before attempting to remove the background.");const n=await Ln.removeBackgroundFromAsset(t);e&&await so.selectImage(this.step,n,this.manager,!1);const i=this.getFrameStepStorage()?.framePatternData||{};return this.manager.updateStorage(this.step.stepName,{framePatternData:{...i,backgroundRemovedAssetKey:n.key,useOriginalAsset:!e}}),n}async vectorize(e,t=void 0){const n=e??await this.getOriginalImageSelection();if(!n)throw new Error("You must supply an image selection before attempting to vectorize the image.");const i=await Ln.vectorizeAsset(n,t);await this.selectImage(i,!1);const a=this.getFrameStepStorage()?.framePatternData||{};return this.manager.updateStorage(this.step.stepName,{framePatternData:{...a,vectorizedAssetKey:i.key,useOriginalAsset:!1}}),i}async enhanceWithAI(e,t){const n=e??await this.getOriginalImageSelection();if(!n)throw new Error("You must supply an image selection before attempting to enhance the image with AI.");const i=await Ln.enhanceWithAI(n,t);await this.selectImage(i,!1);const a=this.getFrameStepStorage()?.framePatternData||{};return this.manager.updateStorage(this.step.stepName,{framePatternData:{originalAssetKey:a.originalAssetKey,backgroundRemovedAssetKey:a.backgroundRemovedAssetKey,vectorizedAssetKey:a.vectorizedAssetKey,enhancedAssetKey:i.key,useOriginalAsset:!1}}),i}async getBackgroundRemovedImageSelection(){const e=this.getFrameStepStorage()?.framePatternData?.backgroundRemovedAssetKey;if(e)return Ln.getLocalOrFromServer(e)}async getVectorizedImageSelection(){const e=this.getFrameStepStorage()?.framePatternData?.vectorizedAssetKey;if(e)return Ln.getLocalOrFromServer(e)}async getEnhancedImageSelection(){const e=this.getFrameStepStorage()?.framePatternData?.enhancedAssetKey;if(e)return Ln.getLocalOrFromServer(e)}hasOriginalImageSelection(){return!!this.getFrameStepStorage()?.framePatternData?.originalAssetKey}hasBackgroundRemovedImageSelection(){return!!this.getFrameStepStorage()?.framePatternData?.backgroundRemovedAssetKey}hasVectorizedImageSelection(){return!!this.getFrameStepStorage()?.framePatternData?.vectorizedAssetKey}hasEnhancedImageSelection(){return!!this.getFrameStepStorage()?.framePatternData?.enhancedAssetKey}async changeColors(e){await so.changeColors(this.step,this.manager,e)}getImageData(){if(this.frameService)return this.frameService.getImageData()}async getColorOption(){return await ct.ensureFullOption(this.step.data.colorOption)}getAvailableColors(){return this.step.data.colorPickerEnabled?so.availableColors(this.step,this.manager):Promise.resolve([])}isColorPickerEnabled(){return this.step.data.colorPickerEnabled??!1}async getOriginalImageColors(){const e=this.getImageData();return e?.svg?(await Pa(e.svg)).colors:void 0}async mergeColors(e,t,n){const i=this.frameService.getImageData();if(!i?.svg||!i.colors)throw new Error("Cannot merge colors on non-SVG image or image without color information");const{svg:a,colors:s}=pT(i.svg,i.colors,e,t,n);this.frameService.setPatternData({...i,svg:a,colors:s},!1),this.manager.updateStorage(this.step.stepName,{colors:s})}async unmergeColors(e,t,n,i){const a=this.frameService.getImageData();if(!a?.svg||!a.colors)throw new Error("Cannot unmerge colors on non-SVG image or image without color information");this.frameService.setPatternData({...a,svg:i,colors:n},!1),this.manager.updateStorage(this.step.stepName,{colors:n})}getShouldVectorize(){return this.step.data.shouldVectorize??!1}getVectorizeMaxColors(){return this.step.data.vectorizeMaxColors}getMinimumPixelThresholdForOptimization(){return this.step.data.vectorizationMinimumPixelThreshold}getMaxAllowedColors(){return this.step.data.maxColors}getUniqueColorCount(){return so.getUniqueColorCount(this.step,this.manager)}getCurrentFrameStep(e,t,n,i){return i&&i.length>1&&e===void 0?"SelectFrame":t||n||this.getImageData()?"Position":"SelectImage"}getFrameService(){return this.frameService}hasOverlayImageKey(){return this.step.data.overlayImageKey}hasOverlayImageUrl(){return this.step.data.overlayImageUrl}getWhitelistedExtensions(){return[...this.step.data.whitelistedExtensions,...this.step.data.whitelistedExtensions.includes(".jpg")?[".jpeg"]:[]]}async getOriginalImageSelection(){const e=this.getFrameStepStorage()?.framePatternData?.originalAssetKey;if(e)return Ln.getLocalOrFromServer(e)}getCurrentImageState(){const e=this.getFrameStepStorage()?.framePatternData;return e?e.vectorizedAssetKey&&!e.useOriginalAsset?"optimized":e.useOriginalAsset!==!1?"original":"backgroundRemoved":"original"}async setImageState(e){const t=this.getFrameStepStorage()?.framePatternData||{};let n,i;switch(e){case"original":if(n=await this.getOriginalImageSelection(),!n)throw new Error("No original image available");i=!0;break;case"backgroundRemoved":if(n=await this.getBackgroundRemovedImageSelection(),!n)throw new Error("No background-removed image available. Call removeBackgroundFromImageSelection first.");i=!1;break;case"optimized":if(n=await this.getVectorizedImageSelection(),!n)throw new Error("No optimized image available. Call vectorize first.");i=!1;break}await this.selectImage(n,!1,!0),this.manager.updateStorage(this.step.stepName,{framePatternData:{...t,useOriginalAsset:i}})}getUseOriginalImageSelection(){return this.getFrameStepStorage()?.framePatternData?.useOriginalAsset??!1}async setUseOriginalImageSelection(e){const t=this.getFrameStepStorage()?.framePatternData||{};if(t.useOriginalAsset===e)return;const n=await this.getOriginalImageSelection();if(!n)throw new Error("You must provide an image selection before calling setUseOriginalImageSelection");if(e)await this.selectImage(n,!1,!1);else{const i=await this.getBackgroundRemovedImageSelection();if(!i)throw new Error("You must call removeBackgroundFromImageSelection before attempting to apply the image.");await this.selectImage(i,!1,!1)}this.manager.updateStorage(this.step.stepName,{framePatternData:{...t,useOriginalAsset:e}})}getFrameStepStorage(){return this.manager.getStepStorage(this.step.stepName)}isVariantCategoriesEnabled(){return this.step.data.enableVariantCategories??!1}}const JQ=Se`
|
|
3057
3057
|
query GetLoggedInCustomer($email: String!) {
|
|
3058
3058
|
customer(emailAddress: $email) {
|
|
3059
3059
|
id
|
|
@@ -3266,4 +3266,4 @@ ${V2(t)}`);const i=await ze.getShadowGraphqlClient().query({query:t,errorPolicy:
|
|
|
3266
3266
|
}
|
|
3267
3267
|
}
|
|
3268
3268
|
`,IY=async r=>(await ze.getShadowGraphqlClient().query({query:FY,variables:{ids:r}})).data.integrationProducts;function PY(r){return new M1({},{stateMutationFunc:(()=>Promise.resolve()),transaction:{id:"local-transaction",product:{modelUrl:r.modelUrl}},graphQlClient:{},workflow:r.workflow,reloadedState:r.reloadedState})}exports.AddonHandle=Bg;exports.AddressValidationJobStatus=KP;exports.AddressValidationResultConfirmationLevel=JP;exports.AddressValidationStatus=Og;exports.ArrayInput=AV;exports.AspectType=Hn;exports.AssetNotFoundError=So;exports.AssetType=ff;exports.BringForwardCommand=IL;exports.BringToBackCommand=FL;exports.BringToFrontCommand=TL;exports.BundleDesignCreationCartAddMode=Uk;exports.CanvasCommand=In;exports.CollectionProduct=Pu;exports.ColorOptionGlobalPropertyHandle=pA;exports.CommandContext=WF;exports.ConversionDataType=Qd;exports.CreateElementCommand=ai;exports.CreateLayoutCommand=k1;exports.CurrencyContext=LP;exports.CurrencyService=NP;exports.DeleteElementCommand=Po;exports.DigitalContentStepHandle=EI;exports.FileUploadGlobalPropertyHandle=DI;exports.FlowExecutionNodeResult=Vd;exports.FlowExecutionResult=NI;exports.FlowService=_I;exports.FontAlignmentCommand=KF;exports.FontColorCommand=lA;exports.FontSizeCommand=JF;exports.FontSourceCommand=uA;exports.FrameService=qP;exports.FrameStep=WP;exports.FrameStepHandle=YP;exports.GlobalPropertyHandle=Jg;exports.GroupCommand=Fn;exports.IllustrationStepHandle=vI;exports.ImageState=QP;exports.InformationMessageType=Jf;exports.InformationStepHandle=SI;exports.IntegrationProduct=mA;exports.IntegrationType=zk;exports.LayoutElementFactory=AL;exports.LayoutElementType=er;exports.LayoutNotFoundError=Ai;exports.LayoutRenderingPurpose=Ku;exports.MaterialStepHandle=yI;exports.MisconfigurationError=as;exports.MockWorkflowManager=XQ;exports.ModelStepHandle=AI;exports.ModuleStepHandle=kI;exports.MoveCommand=wL;exports.ObjectInput=U1;exports.ObjectInputType=LI;exports.OptionGlobalPropertyHandle=_1;exports.OptionNotFoundError=hf;exports.ParseError=wl;exports.PictureStepHandle=wI;exports.ProductCameraRig=$k;exports.ProductCollection=N1;exports.ProductCollectionProductSortKey=MI;exports.ProductStepHandle=TI;exports.ProductWorkflow=oo;exports.PromiseQueue=jg;exports.QuestionStepHandle=bI;exports.QueueablePromise=Gg;exports.ResizeCommand=CL;exports.ResourceNotFoundError=Zu;exports.RotateCommand=bL;exports.ScaleAxis=gi;exports.SendBackwardsCommand=PL;exports.ShapeStepHandle=CI;exports.ShareActionType=Vk;exports.SpiffCommerceClient=zQ;exports.StakeholderType=qA;exports.StepAspectType=Lk;exports.StepHandle=Ui;exports.StepType=Xe;exports.TextAlgorithm=Il;exports.TextChangeCommand=ZF;exports.TextGlobalPropertyHandle=RI;exports.TextInput=yV;exports.TextStepHandle=xI;exports.UnhandledBehaviorError=nn;exports.UnitOfMeasurement=Hk;exports.UpdateImageSourceCommand=EL;exports.Variant=Fa;exports.WorkflowExperienceEventType=yg;exports.WorkflowExperienceImpl=M1;exports.__values=oD;exports.amtChannelsForAspect=OI;exports.assetConfigurationDeleteMutation=nM;exports.assetConfigurationUpdateMutation=rM;exports.assetConfigurationsQuery=tM;exports.assetService=Ln;exports.browserColorToHex=cT;exports.bundleEmailMutation=F9;exports.cmPerPixel=J_;exports.createLocalWorkflowExperience=PY;exports.currentDirection=Q_;exports.dataUrlFromExternalUrl=z4;exports.deleteBundle=QQ;exports.designService=Qp;exports.determineCorrectFontSizeAndLines=Kd;exports.digitalContentStepService=F1;exports.domParser=us;exports.duplicateBundle=oY;exports.duplicateTransaction=lY;exports.fetchAsString=ra;exports.findAngle=z_;exports.findElement=Un;exports.findPmsColors=a3;exports.frameDataCache=_u;exports.frameStepService=so;exports.fromHex=qI;exports.fromUtf8=Tl;exports.generate=Ar;exports.generateCommands=cI;exports.generateSVGWithUnknownColors=Pa;exports.generateStateFromDesignInputSteps=QU;exports.getActivation=$P;exports.getActivationThemeConfiguration=qQ;exports.getAddressValidationJobs=xY;exports.getAssetsForProductImagesQuery=iM;exports.getAttributesFromArrayBuffer=_f;exports.getAxisAlignedBoundingBox=V_;exports.getBoundedOffsets=jP;exports.getBundleIdForTransaction=YQ;exports.getBundleThemeConfiguration=GQ;exports.getCustomer=uY;exports.getCustomerBundles=cY;exports.getElementVertices=Y_;exports.getFrameData=Xf;exports.getGlobalPropertyStateForBundle=KU;exports.getIntegration=zP;exports.getIntegrationProducts=IY;exports.getLayoutCanvasSize=fI;exports.getNEPoint=q_;exports.getNWPoint=j_;exports.getOrderedTransactions=hY;exports.getOverrideThemeConfiguration=HQ;exports.getPointOfRotation=G_;exports.getProductCollections=fV;exports.getSEPoint=W_;exports.getSvgElement=Qg;exports.getTemplateBundles=gY;exports.getTemplateTransactions=pY;exports.getTransaction=$Q;exports.getTransactionThemeConfiguration=jQ;exports.getTransactionsForBundle=dY;exports.getTransformedAssetURL=$g;exports.getTrueCoordinates=H_;exports.getUnorderedTransactions=fY;exports.getValidationJobsForWorkflowExperiences=CY;exports.getWorkflow=UP;exports.getWorkflows=tb;exports.graphQlManager=ze;exports.illustrationStepService=Jd;exports.isCloseToValue=$_;exports.loadFont=Ol;exports.matchHexToPms=r3;exports.materialStepService=I1;exports.mergeColorClasses=pT;exports.metafieldManager=Ag;exports.mmPerPixel=X_;exports.modelStepService=P1;exports.modifySVGColors=zg;exports.moduleStepService=D1;exports.nameBundle=aY;exports.nameTransaction=sY;exports.nonPotTexSupport=dI;exports.optionService=ct;exports.outlineFontsInSvg=F7;exports.overrideWorkflowExperienceRecipientAddress=kY;exports.patternImageDataCache=Ds;exports.persistenceService=br;exports.pictureStepService=R1;exports.pmsToRgb=t3;exports.promiseCache=mf;exports.questionStepService=O1;exports.registerFetchImplementation=_4;exports.registerWindowImplementation=M4;exports.rehydrateSerializedLayout=oA;exports.rgbToPms=uT;exports.rotateAroundPoint=Ld;exports.sanitizeSvgTree=Vg;exports.setApplicationKey=Jk;exports.setBearerAuthenticationToken=Zk;exports.setCanvasModule=QA;exports.shapeStepService=Nu;exports.shortenUrl=aI;exports.skipWorkflowExperienceRecipientAddress=TY;exports.spiffCoreConfiguration=ss;exports.stepAspectValuesToDesignInputSteps=WU;exports.svgColorValueToDefinition=Hy;exports.svgStringDimensions=E1;exports.svgToDataUrl=Ug;exports.textStepService=ri;exports.toHex=Ao;exports.toUtf8=em;exports.toast=oI;exports.validateWorkflowExperienceRecipient=SY;exports.validateWorkflowExperienceRecipients=EY;exports.xmlSerializer=Ro;
|
|
3269
|
-
//# sourceMappingURL=index-
|
|
3269
|
+
//# sourceMappingURL=index-T_iRUrC3.cjs.map
|