@spiffcommerce/core 16.0.0-beta.0 → 16.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +4 -0
- package/dist/index.umd.cjs +2 -2
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -35623,6 +35623,8 @@ class eR {
|
|
|
35623
35623
|
scaleX: n.width / i.frameData.width,
|
|
35624
35624
|
scaleY: n.height / i.frameData.height,
|
|
35625
35625
|
path: i.frameData.path,
|
|
35626
|
+
dataWidth: i.frameData.width,
|
|
35627
|
+
dataHeight: i.frameData.height,
|
|
35626
35628
|
stepRegion: n,
|
|
35627
35629
|
stepName: i.stepName,
|
|
35628
35630
|
disablePlaceholder: i.disablePlaceholder,
|
|
@@ -51882,6 +51884,8 @@ const xO = [
|
|
|
51882
51884
|
{
|
|
51883
51885
|
id: h,
|
|
51884
51886
|
path: A.path,
|
|
51887
|
+
dataWidth: A.width,
|
|
51888
|
+
dataHeight: A.height,
|
|
51885
51889
|
type: Ct.Frame,
|
|
51886
51890
|
focalBlur: r.data.focalBlur,
|
|
51887
51891
|
focalBlurStrength: r.data.focalBlurStrength,
|
package/dist/index.umd.cjs
CHANGED
|
@@ -703,7 +703,7 @@ Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}};var lR
|
|
|
703
703
|
The chosen QR Code version cannot contain this amount of data.
|
|
704
704
|
Minimum version required to store current data is: `+a+`.
|
|
705
705
|
`);const s=CR(t,n,i),o=Eu.getSymbolSize(t),c=new hR(o);return yR(c,t),wR(c),vR(c,t),p0(c,n,0),t>=7&&ER(c,t),BR(c,s),isNaN(r)&&(r=f0.getBestMask(c,p0.bind(null,c,n))),f0.applyMask(r,c),p0(c,n,r),{modules:c,version:t,errorCorrectionLevel:n,maskPattern:r,segments:i}}jv.create=function(t,n){if(typeof t>"u"||t==="")throw new Error("No input text");let r=h0.M,i,a;return typeof n<"u"&&(r=h0.from(n.errorCorrectionLevel,h0.M),i=Bu.from(n.version),a=f0.from(n.maskPattern),n.toSJISFunc&&Eu.setToSJISFunction(n.toSJISFunc)),bR(t,i,r,a)};var oE={},m0={};(function(e){function t(n){if(typeof n=="number"&&(n=n.toString()),typeof n!="string")throw new Error("Color should be defined as hex string");let r=n.slice().replace("#","").split("");if(r.length<3||r.length===5||r.length>8)throw new Error("Invalid hex color: "+n);(r.length===3||r.length===4)&&(r=Array.prototype.concat.apply([],r.map(function(a){return[a,a]}))),r.length===6&&r.push("F","F");const i=parseInt(r.join(""),16);return{r:i>>24&255,g:i>>16&255,b:i>>8&255,a:i&255,hex:"#"+r.slice(0,6).join("")}}e.getOptions=function(r){r||(r={}),r.color||(r.color={});const i=typeof r.margin>"u"||r.margin===null||r.margin<0?4:r.margin,a=r.width&&r.width>=21?r.width:void 0,s=r.scale||4;return{width:a,scale:a?4:s,margin:i,color:{dark:t(r.color.dark||"#000000ff"),light:t(r.color.light||"#ffffffff")},type:r.type,rendererOpts:r.rendererOpts||{}}},e.getScale=function(r,i){return i.width&&i.width>=r+i.margin*2?i.width/(r+i.margin*2):i.scale},e.getImageWidth=function(r,i){const a=e.getScale(r,i);return Math.floor((r+i.margin*2)*a)},e.qrToImageData=function(r,i,a){const s=i.modules.size,o=i.modules.data,c=e.getScale(s,a),l=Math.floor((s+a.margin*2)*c),u=a.margin*c,A=[a.color.light,a.color.dark];for(let h=0;h<l;h++)for(let f=0;f<l;f++){let d=(h*l+f)*4,p=a.color.light;if(h>=u&&f>=u&&h<l-u&&f<l-u){const m=Math.floor((h-u)/c),y=Math.floor((f-u)/c);p=A[o[m*s+y]?1:0]}r[d++]=p.r,r[d++]=p.g,r[d++]=p.b,r[d]=p.a}}})(m0),function(e){const t=m0;function n(i,a,s){i.clearRect(0,0,a.width,a.height),a.style||(a.style={}),a.height=s,a.width=s,a.style.height=s+"px",a.style.width=s+"px"}function r(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}e.render=function(a,s,o){let c=o,l=s;typeof c>"u"&&(!s||!s.getContext)&&(c=s,s=void 0),s||(l=r()),c=t.getOptions(c);const u=t.getImageWidth(a.modules.size,c),A=l.getContext("2d"),h=A.createImageData(u,u);return t.qrToImageData(h.data,a,c),n(A,l,u),A.putImageData(h,0,0),l},e.renderToDataURL=function(a,s,o){let c=o;typeof c>"u"&&(!s||!s.getContext)&&(c=s,s=void 0),c||(c={});const l=e.render(a,s,c),u=c.type||"image/png",A=c.rendererOpts||{};return l.toDataURL(u,A.quality)}}(oE);var cE={};const SR=m0;function lE(e,t){const n=e.a/255,r=t+'="'+e.hex+'"';return n<1?r+" "+t+'-opacity="'+n.toFixed(2).slice(1)+'"':r}function y0(e,t,n){let r=e+t;return typeof n<"u"&&(r+=" "+n),r}function DR(e,t,n){let r="",i=0,a=!1,s=0;for(let o=0;o<e.length;o++){const c=Math.floor(o%t),l=Math.floor(o/t);!c&&!a&&(a=!0),e[o]?(s++,o>0&&c>0&&e[o-1]||(r+=a?y0("M",c+n,.5+l+n):y0("m",i,0),i=0,a=!1),c+1<t&&e[o+1]||(r+=y0("h",s),s=0)):i++}return r}cE.render=function(t,n,r){const i=SR.getOptions(n),a=t.modules.size,s=t.modules.data,o=a+i.margin*2,c=i.color.light.a?"<path "+lE(i.color.light,"fill")+' d="M0 0h'+o+"v"+o+'H0z"/>':"",l="<path "+lE(i.color.dark,"stroke")+' d="'+DR(s,a,i.margin)+'"/>',u='viewBox="0 0 '+o+" "+o+'"',h='<svg xmlns="http://www.w3.org/2000/svg" '+(i.width?'width="'+i.width+'" height="'+i.width+'" ':"")+u+' shape-rendering="crispEdges">'+c+l+`</svg>
|
|
706
|
-
`;return typeof r=="function"&&r(null,h),h};const IR=Hk,w0=jv,uE=oE,FR=cE;function v0(e,t,n,r,i){const a=[].slice.call(arguments,1),s=a.length,o=typeof a[s-1]=="function";if(!o&&!IR())throw new Error("Callback required as last argument");if(o){if(s<2)throw new Error("Too few arguments provided");s===2?(i=n,n=t,t=r=void 0):s===3&&(t.getContext&&typeof i>"u"?(i=r,r=void 0):(i=r,r=n,n=t,t=void 0))}else{if(s<1)throw new Error("Too few arguments provided");return s===1?(n=t,t=r=void 0):s===2&&!t.getContext&&(r=n,n=t,t=void 0),new Promise(function(c,l){try{const u=w0.create(n,r);c(e(u,t,r))}catch(u){l(u)}})}try{const c=w0.create(n,r);i(null,e(c,t,r))}catch(c){i(c)}}w0.create,v0.bind(null,uE.render),v0.bind(null,uE.renderToDataURL);var AE=v0.bind(null,function(e,t,n){return FR.render(e,n)});const hE=async e=>{const t=`${wo.getServicesApiUrl()}/shortener`;try{return(await(await fetch(t,{method:"POST",body:JSON.stringify({longUrl:e}),headers:{"Content-Type":"application/json"}})).json()).shortUrl}catch(n){throw console.error(n),new ru("Failed to shorten URL, see console.")}};class fE{async poll(){try{if(await this.predicate()){this.onSuccess(),this.pollingId>-1&&window.clearInterval(this.pollingId);return}}catch{}this.attempts+=1,this.attempts<this.maxAttempts?this.pollingId=window.setTimeout(this.poll.bind(this),this.interval):this.onFailure()}constructor(t,n,r,i=3e3,a=10){this.onSuccess=n,this.onFailure=r,this.predicate=t,this.attempts=0,this.pollingId=-1,this.interval=i,this.maxAttempts=a,this.poll()}}class QR{async init(t,n,r){return r&&await this.reload(t,n,r),null}async reload(t,n,r){const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),c=Object.values(r.layouts).map(l=>l.elements).flat().filter(l=>l.stepName===t.stepName).map(l=>({id:l.id,region:l.stepRegion}));await n.setSelectionsAndElements(t.stepName,[],c,async()=>{var A,h;const l=(A=i==null?void 0:i.storage)==null?void 0:A.videoShortUrl,u=(h=i==null?void 0:i.storage)==null?void 0:h.videoUrl;n.updateStorage(t.stepName,{videoShortUrl:l,videoUrl:u})})}async regenerateQRCode(t,n,r,i,a,s,o,c,l){if(!n&&r!==""&&i===""){const u=async()=>{var B,x;const v=(await Zw([r]))[0],w=(x=(B=v==null?void 0:v.versions)==null?void 0:B.find(C=>C.name==="mpeg4"))==null?void 0:x.link;return{asset:v,link:w}},A=await new Promise((v,w)=>{new fE(async()=>!!(await u()).link,async()=>{const B=await u();if(!B.link||!B.link)throw new za(B.asset);v({rel:"mpeg4",href:B.link})},()=>{w("Poller timed out with 40 attempts @ 3 second interval")},3e3,40)});t.forEach(v=>c(new ni(v.id)));const h=s.data.baseUrl.slice(0,4)==="http"?"":"https://",f=new URL(h+s.data.baseUrl);f.searchParams.append("video",btoa(JSON.stringify([A]))),f.pathname=f.pathname+(f.pathname.slice(-1)==="/"?"":"/");const d=f.toString();if(d.length>=2e3)throw new ru("Cannot create QR code, URL too long.");const p=await hE(d);if(o(p),!s.data||!s.data.regions)throw new yo(s,"Missing regions.");const m=await this.regionElements(s),y=await this.command(p,m,a,s.stepName);y&&(y.command&&a.getCommandDispatcher()(y.command),y.followup&&await y.followup()),await a.setSelectionsAndElements(s.stepName,[],m,async()=>{a.updateStorage(s.stepName,{videoShortUrl:p,videoUrl:i}),l(!1)})}else l(!1)}async regionElements(t){const n=r=>({id:Dt(),region:r});return t.data.regions.map(n)}async command(t,n,r,i){const a=r.getLayouts(),o=`data:image/svg+xml;base64,${btoa(await AE(t,{type:"svg"}))}`,c=n.map(l=>{const u=l.region,A=a.find(h=>h.panelId===(u==null?void 0:u.panelId));if(!A&&u)throw new ke(u);if(A&&!u)throw new Error("Region not found");if(!A||!u)throw new Error("Neither a region or layout found!");return new ve({stepRegion:u,stepName:i,id:l.id,src:o,type:Et.Image,y:u.top,x:u.left,width:u.width,height:u.height,rotation:0},A)});return{command:new $t(c),followup:async()=>{}}}}const gE=new QR;class MR{constructor(){this.frameSourceSvg=async(t,n)=>{if(!t)return vf(n);const r=t.asset;if(!r)throw new ci(t);const i=r.fileLink;if(i)return Ln(i);throw new za(r)}}async init(t,n,r){if(r)return await this.reload(t,n,r),null;if(n.setMandatoryFulfilled(t.stepName,!1),n.markStepsAsInitialised([t.stepName]),t.option&&t.option.variants&&t.option.variants.length>0){const i=t.option,a=En.getDefaultVariant(i);return a?this.selectVariantCommand(t,a,[],n,void 0,t.data.placeholderImageUrl):null}return this.selectVariantCommand(t,void 0,[],n,void 0,t.data.placeholderImageUrl)}async reload(t,n,r){var l;const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),c=Object.values(r.layouts).map(u=>u.elements).flat().filter(u=>u.stepName===t.stepName).map(u=>({id:u.id,region:u.stepRegion}));if(!t.option||(t.option.variants||[]).length===0){const u=t.data.regions.map(A=>vf(A));n.updateStorage(t.stepName,{currentFrameSources:u})}if(i){const u=async()=>{var f,d,p,m;const A=(f=i.storage)==null?void 0:f.framePatternSrc,h=(d=i.storage)==null?void 0:d.frameOffsetsList;if(n.updateMetadata(t.stepName,{frameOffsetsList:h,framePatternSrc:A}),A){const y=(p=n.getStepSpecificServices(t.stepName))==null?void 0:p.frameService;if(!y)throw new Error("Frame service unavailable, cannot load pattern!");await this.loadPatternFromString(A,y),n.updateMetadata(t.stepName,{image:A}),n.updateStorage(t.stepName,{framePatternSrc:A})}if(h!=null&&h.some(y=>y.zoom)){const y=(m=n.getStepSpecificServices(t.stepName))==null?void 0:m.frameService;if(!y)throw new Error("Frame service unavailable, cannot load pattern!");y.updateOffsets(h)}n.setMandatoryFulfilled(t.stepName,!0)};if(i.selectedVariants&&i.selectedVariants.length>0){const A=i.selectedVariants[0].id;if(t.option&&A){const h=(l=t.option.variants)==null?void 0:l.find(f=>f.id===A);h&&await n.setSelectionsAndElements(t.stepName,[h],c,async()=>{const f=await Promise.all(t.data.regions.map(d=>this.frameSourceSvg(h,d)));n.updateStorage(t.stepName,{currentFrameSources:f}),await u()})}}else await n.setSelectionsAndElements(t.stepName,[],c,u)}}selectImage(t,n,r){r.setEditedStatus(t.stepName,!0),(n.fileLink||"").endsWith("pdf")?r.addPoller(new fE(async()=>{var c;const s=(c=(await Re.getLocalOrFromServer(n.key||"")).versions)==null?void 0:c.find(l=>l.name==="svg");return s?(await fetch(s.link)).status===200:!1},()=>{Re.getLocalOrFromServer(n.key||"").then(a=>{this.loadPatternFromAsset(a,t,r)})},()=>{throw new ru("Failed to resolve transcoded PDF")})):this.loadPatternFromAsset(n,t,r)}async selectVariant(t,n,r,i,a){const s=await this.selectVariantCommand(t,n,r,i,a);s&&(s.command&&i.getCommandDispatcher()(s.command),s.followup&&await s.followup())}getCreateElementCommand(t,n,r,i){return new ve({id:t,type:Et.Frame,x:n.left,y:n.top,width:n.width,height:n.height,layer:n.layer,layerIndex:n.layerIndex,rotation:n.rotation,scaleX:n.width/i.frameData.width,scaleY:n.height/i.frameData.height,path:i.frameData.path,stepRegion:n,stepName:i.stepName,disablePlaceholder:i.disablePlaceholder,focalBlur:i.focalBlur,focalBlurStrength:i.focalBlurStrength,focalBlurRadius:i.focalBlurRadius,pattern:i.pattern,immutable:n.immutable},r)}async loadPatternFromString(t,n){if(t.endsWith("svg")){const r=await rw(t),i=r.width,a=r.height,s={src:t,width:i,height:a,aspect:i/a};Ui.set(t,s),n.setPatternData(s)}else{const r=await Ml(t),i=await ro(r),a={src:t,width:i.width,height:i.height,aspect:i.width/i.height};Ui.set(t,a),n.setPatternData(a)}}async selectVariantCommand(t,n,r,i,a,s){var h;const o=(h=i.getStepSpecificServices(t.stepName))==null?void 0:h.frameService;if(!o)throw new Error("Frame service unavailable, cannot load pattern!");const c=await Promise.all(t.data.regions.map(f=>this.frameSourceSvg(n,f)));a&&a(!0);const l=await Promise.all(t.data.regions.map(async(f,d)=>{const p=await ao(c[d]),m=o.getImageData(),y=r.map(b=>new ni(b.id)),v=m?Ef(m,p):void 0,w=m?{id:Dt(),src:m.src,x:(v==null?void 0:v.x)||0,y:(v==null?void 0:v.y)||0,width:m.width,height:m.height,scaleX:(v==null?void 0:v.zoom)||1,scaleY:(v==null?void 0:v.zoom)||1,rotation:0}:void 0,B=Dt(),C=i.getLayouts().find(b=>b.panelId===f.panelId);if(!C)throw new ke(f);return{command:this.getCreateElementCommand(B,f,C,{frameData:p,pattern:w,disablePlaceholder:t.data.disablePlaceholder,focalBlur:t.data.focalBlur,focalBlurStrength:t.data.focalBlurStrength,focalBlurRadius:t.data.focalBlurRadius,stepName:t.stepName}),regionEl:{id:B,region:f},removeExistingCommands:y}})),u=l.map(f=>f.command),A=l.map(f=>f.removeExistingCommands).flat();return{command:new $t([...u,...A]),followup:async()=>{a&&a(!1),await i.setSelectionsAndElements(t.stepName,n?[n]:[],[...l.map(f=>f.regionEl)],async()=>{var f;if(i.updateStorage(t.stepName,{currentFrameSources:c}),s){const d=(f=i.getStepSpecificServices(t.stepName))==null?void 0:f.frameService;if(!d)throw new Error("Frame service unavailable, cannot load pattern!");await this.loadPatternFromString(s,d)}})}}}patternSource(t){var i;const n=(i=t.versions)==null?void 0:i.find(a=>a.name==="svg");if(n)return n.link;const r=t.fileLink;if(r)return r;throw new za(t)}async loadPatternFromAsset(t,n,r){var o;const i=this.patternSource(t),a=r.markUpdatePending(),s=(o=r.getStepSpecificServices(n.stepName))==null?void 0:o.frameService;if(!s)throw new Error("Frame service unavailable, cannot load pattern!");await this.loadPatternFromString(i,s),r.updateMetadata(n.stepName,{image:i}),r.updateStorage(n.stepName,{framePatternSrc:i}),r.markUpdateCompleted(a)}}const Cu=new MR;class TR{async getIllustrationBody(t){return new Promise(n=>{Ln(t).then(r=>{n(r)}).catch(r=>console.error(r))})}getCreateElementCommand(t,n,r,i){return new ve({stepRegion:n,stepName:i.stepName,colors:i.svg.colors,id:t,src:i.src,svg:i.svg.svg,cachedObjectURL:i.objectURL,type:Et.Illustration,y:n.top,x:n.left,rotation:n.rotation,width:n.width,height:n.height,layer:n.layer,layerIndex:n.layerIndex,immutable:n.immutable},r)}getColors(t,n){const r=n.getRegionElements(t.stepName)||[];if(r.length===0)return[];try{return we(r[0].id,n.getAllLayoutData()).colors}catch{return[]}}async init(t,n,r){const i=t.option;if(!i)return null;if(r)return this.reload(t,n,r);{const a=En.getDefaultVariant(i);if(a)return await this.selectVariantCommand(t,a,[],()=>{},n)}return null}async reload(t,n,r){var l;const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),o=Object.values(r.layouts).map(u=>u.elements).flat().filter(u=>u.stepName===t.stepName),c=t.option;if(i!=null&&i.selectedVariants){const u=i.selectedVariants[0].id;if(c&&u){const A=(l=c.variants)==null?void 0:l.find(h=>h.id===u);if(A){const h=o.map(f=>({id:f.id,region:f.stepRegion}));await n.setSelectionsAndElements(t.stepName,[A],h,async()=>{var f;n.updateMetadata(t.stepName,{colors:(f=i.storage)==null?void 0:f.colors}),n.setMandatoryFulfilled(t.stepName,!0)})}}else throw new Error("Required illustration variant no longer available")}return null}async availableColors(t,n){var i;const r=t.data.colorOption;return r?r?(i=r.variants)==null?void 0:i.map(a=>({fill:a.color,stroke:a.color,variant:a})):[]:[]}async changeColorsCommand(t,n,r,i,a){var u;const s={};for(const[A,h]of a.entries())s[A]={browserValue:h,spotColor:(u=s[A])==null?void 0:u.spotColor};const o=Jh(t,n,r,s),c=await Gi(o),l=[];for(const A of i){for(const[h,f]of a.entries())l.push(new _h(A,h,f));l.push(new NF(A,o,c))}return new $t(l)}async changeColors(t,n,r,i,a){var f,d;if(n.length===0)return;const s=we(n[0].id,i().map(p=>p.layoutState)),o={...s.colors},c={};Object.entries(o).forEach(([p,m])=>{const y={browserValue:m.browserValue},v=m.spotColor;v&&(y.spotColor={profileName:v.profileName,namedColor:v.namedColor}),c[p]=y});for(const[p,m]of a.entries())o[p]={browserValue:m,spotColor:(f=o[p])==null?void 0:f.spotColor},c[p]={browserValue:m};let l=Array.from(Object.values(o)).map(p=>p.browserValue);const u=t.data.colorOption;u&&((d=u.variants)==null||d.forEach(p=>{l=l.map(m=>{var y;return m.toLowerCase()===((y=p.color)==null?void 0:y.toLowerCase())?p.name:m})})),r.updateMetadata(t.stepName,{colors:l});const A=new Map;if(Object.entries(o).forEach(([p,m])=>{A.set(p,m.browserValue)}),!s.svg)throw new Error("Colors changed before SVG loaded. This should never happen!");const h=await this.changeColorsCommand(s.svg,s.width,s.height,n.map(p=>p.id),A);r.updateStorage(t.stepName,{colors:c}),r.getCommandDispatcher()(h)}async selectVariant(t,n,r,i,a){const s=await this.selectVariantCommand(t,n,r,i,a);s&&(s.command&&a.getCommandDispatcher()(s.command),s.followup&&await s.followup())}async selectVariantCommand(t,n,r,i,a){var y;if(!t.data||!t.data.regions)throw new yo(t,"Missing regions.");i(!0);const s=r.map(v=>new ni(v.id));a.setMandatoryFulfilled(t.stepName,!1);const o=n.asset;if(!o)throw new ci(n);const c=o.fileLink;if(!c)throw new za(o);const l=await Na(await this.getIllustrationBody(c)),u=await Gi(l.svg),A=v=>{const w=a.getLayouts().find(x=>x.panelId===v.panelId);if(!w)throw new ke(v);const B=Dt();return{regionElement:{id:B,region:v},command:this.getCreateElementCommand(B,v,w,{stepName:t.stepName,src:c,objectURL:u,svg:l})}},h=t.data.regions.map(A),d=[...h.map(v=>v.command),...s];let p=Array.from(Object.values(l.colors)).map(v=>v.browserValue);const m=t.data.colorOption;return m&&((y=m.variants)==null||y.forEach(v=>{p=p.map(w=>{var B;return w.toLowerCase()===((B=v.color)==null?void 0:B.toLowerCase())?v.name:w})})),a.updateMetadata(t.stepName,{colors:p}),{command:new $t(d),followup:async()=>{await a.setSelectionsAndElements(t.stepName,[n],h.map(v=>v.regionElement),async()=>{a.setMandatoryFulfilled(t.stepName,!0),i(!1)})}}}}const Ro=new TR;class NR{async init(t,n,r){const i=t.option;if(!i)throw new mo(t);if(r)await this.reload(t,n,r);else{const a=En.getDefaultVariant(i);if(a)return await this.selectVariantLambda(t,a,n,()=>{})}return null}async reload(t,n,r){var l;const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),o=Object.values(r.layouts).map(u=>u.elements).flat().filter(u=>u.stepName===t.stepName),c=t.option;if(!c)throw new mo(t);if(i!=null&&i.selectedVariants){const u=i.selectedVariants[0].id;if(u){const A=(l=c.variants)==null?void 0:l.find(h=>h.id===u);if(A){const h=A.material,f=o.map(d=>({id:d.id,region:d.stepRegion}));await n.setSelectionsAndElements(t.stepName,[A],f,async()=>{const d=n.getModelContainer();if(d){const p=t.data.targetMaterials.map(m=>d.applyMaterialVariant(m,c.id||"",h||{}));Promise.all(p).then(()=>n.setMandatoryFulfilled(t.stepName,!0))}})}}}}async selectVariant(t,n,r,i){const a=await this.selectVariantLambda(t,n,r,i);a&&(a.command&&r.getCommandDispatcher()(a.command),a.followup&&await a.followup())}async selectVariantLambda(t,n,r,i){const a=r.getModelContainer();i(!0);const s=n.material;if(!s)throw i(!1),new ci(n);return{command:void 0,followup:async()=>{await r.setSelectionsAndElements(t.stepName,[n],[],async()=>{try{a&&t.data.targetMaterials.forEach(o=>{t.option&&a.applyMaterialVariant(o,t.option.id||"",s)}),r.setMandatoryFulfilled(t.stepName,!0)}finally{i(!1)}})}}}}const E0=new NR;class PR{async init(t,n,r){const i=t.option;if(!i)throw new mo(t);if(r)await this.reload(t,n,r);else{const a=En.getDefaultVariant(i);if(a)return await this.selectVariantLambda(t,a,n,()=>{})}return null}async reload(t,n,r){var l;const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),o=Object.values(r.layouts).map(u=>u.elements).flat().filter(u=>u.stepName===t.stepName),c=t.option;if(i!=null&&i.selectedVariants){const u=i.selectedVariants[0].id;if(c&&u){const A=(l=c.variants)==null?void 0:l.find(h=>h.id===u);if(A){const h=o.map(f=>({id:f.id,region:f.stepRegion}));await n.setSelectionsAndElements(t.stepName,[A],h,async()=>{var d;const f=n.getModelContainer();if(f&&t.option){const p=(d=A.asset)==null?void 0:d.fileLink;if(!p)throw new ci(A);await f.applyModelVariant(t.option.id||"",{model:p,contextService:n.getLayoutPreviewService()},t.data.replaceProductModel||!1),n.setMandatoryFulfilled(t.stepName,!0)}})}}}}async selectVariant(t,n,r,i){const a=await this.selectVariantLambda(t,n,r,i);a&&(a.command&&r.getCommandDispatcher()(a.command),a.followup&&await a.followup())}async selectVariantLambda(t,n,r,i){var s;i(!0);const a=(s=n.asset)==null?void 0:s.fileLink;if(!a)throw new ci(n);return{command:void 0,followup:async()=>{await r.setSelectionsAndElements(t.stepName,[n],[],async()=>{try{const o=r.getModelContainer();o&&t.option&&o.applyModelVariant(t.option.id||"",{model:a,contextService:r.getLayoutPreviewService()},t.data.replaceProductModel||!1),r.setMandatoryFulfilled(t.stepName,!0)}finally{i(!1)}})}}}}const B0=new PR;var C0={},xu={},bu={};Object.defineProperty(bu,"__esModule",{value:!0}),bu.extendedPictographic=/^[\u00A9\u00AE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9-\u21AA\u231A-\u231B\u2328\u2388\u23CF\u23E9-\u23EC\u23ED-\u23EE\u23EF\u23F0\u23F1-\u23F2\u23F3\u23F8-\u23FA\u24C2\u25AA-\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2601\u2602-\u2603\u2604\u2605\u2607-\u260D\u260E\u260F-\u2610\u2611\u2612\u2614-\u2615\u2616-\u2617\u2618\u2619-\u261C\u261D\u261E-\u261F\u2620\u2621\u2622-\u2623\u2624-\u2625\u2626\u2627-\u2629\u262A\u262B-\u262D\u262E\u262F\u2630-\u2637\u2638-\u2639\u263A\u263B-\u263F\u2640\u2641\u2642\u2643-\u2647\u2648-\u2653\u2654-\u265E\u265F\u2660\u2661-\u2662\u2663\u2664\u2665-\u2666\u2667\u2668\u2669-\u267A\u267B\u267C-\u267D\u267E\u267F\u2680-\u2685\u2690-\u2691\u2692\u2693\u2694\u2695\u2696-\u2697\u2698\u2699\u269A\u269B-\u269C\u269D-\u269F\u26A0-\u26A1\u26A2-\u26A6\u26A7\u26A8-\u26A9\u26AA-\u26AB\u26AC-\u26AF\u26B0-\u26B1\u26B2-\u26BC\u26BD-\u26BE\u26BF-\u26C3\u26C4-\u26C5\u26C6-\u26C7\u26C8\u26C9-\u26CD\u26CE\u26CF\u26D0\u26D1\u26D2\u26D3\u26D4\u26D5-\u26E8\u26E9\u26EA\u26EB-\u26EF\u26F0-\u26F1\u26F2-\u26F3\u26F4\u26F5\u26F6\u26F7-\u26F9\u26FA\u26FB-\u26FC\u26FD\u26FE-\u2701\u2702\u2703-\u2704\u2705\u2708-\u270C\u270D\u270E\u270F\u2710-\u2711\u2712\u2714\u2716\u271D\u2721\u2728\u2733-\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2765-\u2767\u2795-\u2797\u27A1\u27B0\u27BF\u2934-\u2935\u2B05-\u2B07\u2B1B-\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299\u{01F000}-\u{01F003}\u{01F004}\u{01F005}-\u{01F0CE}\u{01F0CF}\u{01F0D0}-\u{01F0FF}\u{01F10D}-\u{01F10F}\u{01F12F}\u{01F16C}-\u{01F16F}\u{01F170}-\u{01F171}\u{01F17E}-\u{01F17F}\u{01F18E}\u{01F191}-\u{01F19A}\u{01F1AD}-\u{01F1E5}\u{01F201}-\u{01F202}\u{01F203}-\u{01F20F}\u{01F21A}\u{01F22F}\u{01F232}-\u{01F23A}\u{01F23C}-\u{01F23F}\u{01F249}-\u{01F24F}\u{01F250}-\u{01F251}\u{01F252}-\u{01F2FF}\u{01F300}-\u{01F30C}\u{01F30D}-\u{01F30E}\u{01F30F}\u{01F310}\u{01F311}\u{01F312}\u{01F313}-\u{01F315}\u{01F316}-\u{01F318}\u{01F319}\u{01F31A}\u{01F31B}\u{01F31C}\u{01F31D}-\u{01F31E}\u{01F31F}-\u{01F320}\u{01F321}\u{01F322}-\u{01F323}\u{01F324}-\u{01F32C}\u{01F32D}-\u{01F32F}\u{01F330}-\u{01F331}\u{01F332}-\u{01F333}\u{01F334}-\u{01F335}\u{01F336}\u{01F337}-\u{01F34A}\u{01F34B}\u{01F34C}-\u{01F34F}\u{01F350}\u{01F351}-\u{01F37B}\u{01F37C}\u{01F37D}\u{01F37E}-\u{01F37F}\u{01F380}-\u{01F393}\u{01F394}-\u{01F395}\u{01F396}-\u{01F397}\u{01F398}\u{01F399}-\u{01F39B}\u{01F39C}-\u{01F39D}\u{01F39E}-\u{01F39F}\u{01F3A0}-\u{01F3C4}\u{01F3C5}\u{01F3C6}\u{01F3C7}\u{01F3C8}\u{01F3C9}\u{01F3CA}\u{01F3CB}-\u{01F3CE}\u{01F3CF}-\u{01F3D3}\u{01F3D4}-\u{01F3DF}\u{01F3E0}-\u{01F3E3}\u{01F3E4}\u{01F3E5}-\u{01F3F0}\u{01F3F1}-\u{01F3F2}\u{01F3F3}\u{01F3F4}\u{01F3F5}\u{01F3F6}\u{01F3F7}\u{01F3F8}-\u{01F3FA}\u{01F400}-\u{01F407}\u{01F408}\u{01F409}-\u{01F40B}\u{01F40C}-\u{01F40E}\u{01F40F}-\u{01F410}\u{01F411}-\u{01F412}\u{01F413}\u{01F414}\u{01F415}\u{01F416}\u{01F417}-\u{01F429}\u{01F42A}\u{01F42B}-\u{01F43E}\u{01F43F}\u{01F440}\u{01F441}\u{01F442}-\u{01F464}\u{01F465}\u{01F466}-\u{01F46B}\u{01F46C}-\u{01F46D}\u{01F46E}-\u{01F4AC}\u{01F4AD}\u{01F4AE}-\u{01F4B5}\u{01F4B6}-\u{01F4B7}\u{01F4B8}-\u{01F4EB}\u{01F4EC}-\u{01F4ED}\u{01F4EE}\u{01F4EF}\u{01F4F0}-\u{01F4F4}\u{01F4F5}\u{01F4F6}-\u{01F4F7}\u{01F4F8}\u{01F4F9}-\u{01F4FC}\u{01F4FD}\u{01F4FE}\u{01F4FF}-\u{01F502}\u{01F503}\u{01F504}-\u{01F507}\u{01F508}\u{01F509}\u{01F50A}-\u{01F514}\u{01F515}\u{01F516}-\u{01F52B}\u{01F52C}-\u{01F52D}\u{01F52E}-\u{01F53D}\u{01F546}-\u{01F548}\u{01F549}-\u{01F54A}\u{01F54B}-\u{01F54E}\u{01F54F}\u{01F550}-\u{01F55B}\u{01F55C}-\u{01F567}\u{01F568}-\u{01F56E}\u{01F56F}-\u{01F570}\u{01F571}-\u{01F572}\u{01F573}-\u{01F579}\u{01F57A}\u{01F57B}-\u{01F586}\u{01F587}\u{01F588}-\u{01F589}\u{01F58A}-\u{01F58D}\u{01F58E}-\u{01F58F}\u{01F590}\u{01F591}-\u{01F594}\u{01F595}-\u{01F596}\u{01F597}-\u{01F5A3}\u{01F5A4}\u{01F5A5}\u{01F5A6}-\u{01F5A7}\u{01F5A8}\u{01F5A9}-\u{01F5B0}\u{01F5B1}-\u{01F5B2}\u{01F5B3}-\u{01F5BB}\u{01F5BC}\u{01F5BD}-\u{01F5C1}\u{01F5C2}-\u{01F5C4}\u{01F5C5}-\u{01F5D0}\u{01F5D1}-\u{01F5D3}\u{01F5D4}-\u{01F5DB}\u{01F5DC}-\u{01F5DE}\u{01F5DF}-\u{01F5E0}\u{01F5E1}\u{01F5E2}\u{01F5E3}\u{01F5E4}-\u{01F5E7}\u{01F5E8}\u{01F5E9}-\u{01F5EE}\u{01F5EF}\u{01F5F0}-\u{01F5F2}\u{01F5F3}\u{01F5F4}-\u{01F5F9}\u{01F5FA}\u{01F5FB}-\u{01F5FF}\u{01F600}\u{01F601}-\u{01F606}\u{01F607}-\u{01F608}\u{01F609}-\u{01F60D}\u{01F60E}\u{01F60F}\u{01F610}\u{01F611}\u{01F612}-\u{01F614}\u{01F615}\u{01F616}\u{01F617}\u{01F618}\u{01F619}\u{01F61A}\u{01F61B}\u{01F61C}-\u{01F61E}\u{01F61F}\u{01F620}-\u{01F625}\u{01F626}-\u{01F627}\u{01F628}-\u{01F62B}\u{01F62C}\u{01F62D}\u{01F62E}-\u{01F62F}\u{01F630}-\u{01F633}\u{01F634}\u{01F635}\u{01F636}\u{01F637}-\u{01F640}\u{01F641}-\u{01F644}\u{01F645}-\u{01F64F}\u{01F680}\u{01F681}-\u{01F682}\u{01F683}-\u{01F685}\u{01F686}\u{01F687}\u{01F688}\u{01F689}\u{01F68A}-\u{01F68B}\u{01F68C}\u{01F68D}\u{01F68E}\u{01F68F}\u{01F690}\u{01F691}-\u{01F693}\u{01F694}\u{01F695}\u{01F696}\u{01F697}\u{01F698}\u{01F699}-\u{01F69A}\u{01F69B}-\u{01F6A1}\u{01F6A2}\u{01F6A3}\u{01F6A4}-\u{01F6A5}\u{01F6A6}\u{01F6A7}-\u{01F6AD}\u{01F6AE}-\u{01F6B1}\u{01F6B2}\u{01F6B3}-\u{01F6B5}\u{01F6B6}\u{01F6B7}-\u{01F6B8}\u{01F6B9}-\u{01F6BE}\u{01F6BF}\u{01F6C0}\u{01F6C1}-\u{01F6C5}\u{01F6C6}-\u{01F6CA}\u{01F6CB}\u{01F6CC}\u{01F6CD}-\u{01F6CF}\u{01F6D0}\u{01F6D1}-\u{01F6D2}\u{01F6D3}-\u{01F6D4}\u{01F6D5}\u{01F6D6}-\u{01F6D7}\u{01F6D8}-\u{01F6DF}\u{01F6E0}-\u{01F6E5}\u{01F6E6}-\u{01F6E8}\u{01F6E9}\u{01F6EA}\u{01F6EB}-\u{01F6EC}\u{01F6ED}-\u{01F6EF}\u{01F6F0}\u{01F6F1}-\u{01F6F2}\u{01F6F3}\u{01F6F4}-\u{01F6F6}\u{01F6F7}-\u{01F6F8}\u{01F6F9}\u{01F6FA}\u{01F6FB}-\u{01F6FC}\u{01F6FD}-\u{01F6FF}\u{01F774}-\u{01F77F}\u{01F7D5}-\u{01F7DF}\u{01F7E0}-\u{01F7EB}\u{01F7EC}-\u{01F7FF}\u{01F80C}-\u{01F80F}\u{01F848}-\u{01F84F}\u{01F85A}-\u{01F85F}\u{01F888}-\u{01F88F}\u{01F8AE}-\u{01F8FF}\u{01F90C}\u{01F90D}-\u{01F90F}\u{01F910}-\u{01F918}\u{01F919}-\u{01F91E}\u{01F91F}\u{01F920}-\u{01F927}\u{01F928}-\u{01F92F}\u{01F930}\u{01F931}-\u{01F932}\u{01F933}-\u{01F93A}\u{01F93C}-\u{01F93E}\u{01F93F}\u{01F940}-\u{01F945}\u{01F947}-\u{01F94B}\u{01F94C}\u{01F94D}-\u{01F94F}\u{01F950}-\u{01F95E}\u{01F95F}-\u{01F96B}\u{01F96C}-\u{01F970}\u{01F971}\u{01F972}\u{01F973}-\u{01F976}\u{01F977}-\u{01F978}\u{01F979}\u{01F97A}\u{01F97B}\u{01F97C}-\u{01F97F}\u{01F980}-\u{01F984}\u{01F985}-\u{01F991}\u{01F992}-\u{01F997}\u{01F998}-\u{01F9A2}\u{01F9A3}-\u{01F9A4}\u{01F9A5}-\u{01F9AA}\u{01F9AB}-\u{01F9AD}\u{01F9AE}-\u{01F9AF}\u{01F9B0}-\u{01F9B9}\u{01F9BA}-\u{01F9BF}\u{01F9C0}\u{01F9C1}-\u{01F9C2}\u{01F9C3}-\u{01F9CA}\u{01F9CB}\u{01F9CC}\u{01F9CD}-\u{01F9CF}\u{01F9D0}-\u{01F9E6}\u{01F9E7}-\u{01F9FF}\u{01FA00}-\u{01FA6F}\u{01FA70}-\u{01FA73}\u{01FA74}\u{01FA75}-\u{01FA77}\u{01FA78}-\u{01FA7A}\u{01FA7B}-\u{01FA7F}\u{01FA80}-\u{01FA82}\u{01FA83}-\u{01FA86}\u{01FA87}-\u{01FA8F}\u{01FA90}-\u{01FA95}\u{01FA96}-\u{01FAA8}\u{01FAA9}-\u{01FAAF}\u{01FAB0}-\u{01FAB6}\u{01FAB7}-\u{01FABF}\u{01FAC0}-\u{01FAC2}\u{01FAC3}-\u{01FACF}\u{01FAD0}-\u{01FAD6}\u{01FAD7}-\u{01FAFF}\u{01FC00}-\u{01FFFD}]/u,bu.WORD_BREAK_PROPERTY=[[0,0],[10,1],[11,2],[13,3],[14,0],[32,4],[33,0],[34,5],[35,0],[39,6],[40,0],[44,7],[45,0],[46,8],[47,0],[48,9],[58,10],[59,7],[60,0],[65,11],[91,0],[95,12],[96,0],[97,11],[123,0],[133,2],[134,0],[170,11],[171,0],[173,13],[174,0],[181,11],[182,0],[183,10],[184,0],[186,11],[187,0],[192,11],[215,0],[216,11],[247,0],[248,11],[728,0],[734,11],[768,14],[880,11],[885,0],[886,11],[888,0],[890,11],[894,7],[895,11],[896,0],[902,11],[903,10],[904,11],[907,0],[908,11],[909,0],[910,11],[930,0],[931,11],[1014,0],[1015,11],[1154,0],[1155,14],[1162,11],[1328,0],[1329,11],[1367,0],[1369,11],[1373,0],[1374,11],[1375,10],[1376,11],[1417,7],[1418,11],[1419,0],[1425,14],[1470,0],[1471,14],[1472,0],[1473,14],[1475,0],[1476,14],[1478,0],[1479,14],[1480,0],[1488,15],[1515,0],[1519,15],[1523,11],[1524,10],[1525,0],[1536,13],[1542,0],[1548,7],[1550,0],[1552,14],[1563,0],[1564,13],[1565,0],[1568,11],[1611,14],[1632,9],[1642,0],[1643,9],[1644,7],[1645,0],[1646,11],[1648,14],[1649,11],[1748,0],[1749,11],[1750,14],[1757,13],[1758,0],[1759,14],[1765,11],[1767,14],[1769,0],[1770,14],[1774,11],[1776,9],[1786,11],[1789,0],[1791,11],[1792,0],[1807,13],[1808,11],[1809,14],[1810,11],[1840,14],[1867,0],[1869,11],[1958,14],[1969,11],[1970,0],[1984,9],[1994,11],[2027,14],[2036,11],[2038,0],[2040,7],[2041,0],[2042,11],[2043,0],[2045,14],[2046,0],[2048,11],[2070,14],[2074,11],[2075,14],[2084,11],[2085,14],[2088,11],[2089,14],[2094,0],[2112,11],[2137,14],[2140,0],[2144,11],[2155,0],[2208,11],[2229,0],[2230,11],[2248,0],[2259,14],[2274,13],[2275,14],[2308,11],[2362,14],[2365,11],[2366,14],[2384,11],[2385,14],[2392,11],[2402,14],[2404,0],[2406,9],[2416,0],[2417,11],[2433,14],[2436,0],[2437,11],[2445,0],[2447,11],[2449,0],[2451,11],[2473,0],[2474,11],[2481,0],[2482,11],[2483,0],[2486,11],[2490,0],[2492,14],[2493,11],[2494,14],[2501,0],[2503,14],[2505,0],[2507,14],[2510,11],[2511,0],[2519,14],[2520,0],[2524,11],[2526,0],[2527,11],[2530,14],[2532,0],[2534,9],[2544,11],[2546,0],[2556,11],[2557,0],[2558,14],[2559,0],[2561,14],[2564,0],[2565,11],[2571,0],[2575,11],[2577,0],[2579,11],[2601,0],[2602,11],[2609,0],[2610,11],[2612,0],[2613,11],[2615,0],[2616,11],[2618,0],[2620,14],[2621,0],[2622,14],[2627,0],[2631,14],[2633,0],[2635,14],[2638,0],[2641,14],[2642,0],[2649,11],[2653,0],[2654,11],[2655,0],[2662,9],[2672,14],[2674,11],[2677,14],[2678,0],[2689,14],[2692,0],[2693,11],[2702,0],[2703,11],[2706,0],[2707,11],[2729,0],[2730,11],[2737,0],[2738,11],[2740,0],[2741,11],[2746,0],[2748,14],[2749,11],[2750,14],[2758,0],[2759,14],[2762,0],[2763,14],[2766,0],[2768,11],[2769,0],[2784,11],[2786,14],[2788,0],[2790,9],[2800,0],[2809,11],[2810,14],[2816,0],[2817,14],[2820,0],[2821,11],[2829,0],[2831,11],[2833,0],[2835,11],[2857,0],[2858,11],[2865,0],[2866,11],[2868,0],[2869,11],[2874,0],[2876,14],[2877,11],[2878,14],[2885,0],[2887,14],[2889,0],[2891,14],[2894,0],[2901,14],[2904,0],[2908,11],[2910,0],[2911,11],[2914,14],[2916,0],[2918,9],[2928,0],[2929,11],[2930,0],[2946,14],[2947,11],[2948,0],[2949,11],[2955,0],[2958,11],[2961,0],[2962,11],[2966,0],[2969,11],[2971,0],[2972,11],[2973,0],[2974,11],[2976,0],[2979,11],[2981,0],[2984,11],[2987,0],[2990,11],[3002,0],[3006,14],[3011,0],[3014,14],[3017,0],[3018,14],[3022,0],[3024,11],[3025,0],[3031,14],[3032,0],[3046,9],[3056,0],[3072,14],[3077,11],[3085,0],[3086,11],[3089,0],[3090,11],[3113,0],[3114,11],[3130,0],[3133,11],[3134,14],[3141,0],[3142,14],[3145,0],[3146,14],[3150,0],[3157,14],[3159,0],[3160,11],[3163,0],[3168,11],[3170,14],[3172,0],[3174,9],[3184,0],[3200,11],[3201,14],[3204,0],[3205,11],[3213,0],[3214,11],[3217,0],[3218,11],[3241,0],[3242,11],[3252,0],[3253,11],[3258,0],[3260,14],[3261,11],[3262,14],[3269,0],[3270,14],[3273,0],[3274,14],[3278,0],[3285,14],[3287,0],[3294,11],[3295,0],[3296,11],[3298,14],[3300,0],[3302,9],[3312,0],[3313,11],[3315,0],[3328,14],[3332,11],[3341,0],[3342,11],[3345,0],[3346,11],[3387,14],[3389,11],[3390,14],[3397,0],[3398,14],[3401,0],[3402,14],[3406,11],[3407,0],[3412,11],[3415,14],[3416,0],[3423,11],[3426,14],[3428,0],[3430,9],[3440,0],[3450,11],[3456,0],[3457,14],[3460,0],[3461,11],[3479,0],[3482,11],[3506,0],[3507,11],[3516,0],[3517,11],[3518,0],[3520,11],[3527,0],[3530,14],[3531,0],[3535,14],[3541,0],[3542,14],[3543,0],[3544,14],[3552,0],[3558,9],[3568,0],[3570,14],[3572,0],[3633,14],[3634,0],[3636,14],[3643,0],[3655,14],[3663,0],[3664,9],[3674,0],[3761,14],[3762,0],[3764,14],[3773,0],[3784,14],[3790,0],[3792,9],[3802,0],[3840,11],[3841,0],[3864,14],[3866,0],[3872,9],[3882,0],[3893,14],[3894,0],[3895,14],[3896,0],[3897,14],[3898,0],[3902,14],[3904,11],[3912,0],[3913,11],[3949,0],[3953,14],[3973,0],[3974,14],[3976,11],[3981,14],[3992,0],[3993,14],[4029,0],[4038,14],[4039,0],[4139,14],[4159,0],[4160,9],[4170,0],[4182,14],[4186,0],[4190,14],[4193,0],[4194,14],[4197,0],[4199,14],[4206,0],[4209,14],[4213,0],[4226,14],[4238,0],[4239,14],[4240,9],[4250,14],[4254,0],[4256,11],[4294,0],[4295,11],[4296,0],[4301,11],[4302,0],[4304,11],[4347,0],[4348,11],[4681,0],[4682,11],[4686,0],[4688,11],[4695,0],[4696,11],[4697,0],[4698,11],[4702,0],[4704,11],[4745,0],[4746,11],[4750,0],[4752,11],[4785,0],[4786,11],[4790,0],[4792,11],[4799,0],[4800,11],[4801,0],[4802,11],[4806,0],[4808,11],[4823,0],[4824,11],[4881,0],[4882,11],[4886,0],[4888,11],[4955,0],[4957,14],[4960,0],[4992,11],[5008,0],[5024,11],[5110,0],[5112,11],[5118,0],[5121,11],[5741,0],[5743,11],[5760,4],[5761,11],[5787,0],[5792,11],[5867,0],[5870,11],[5881,0],[5888,11],[5901,0],[5902,11],[5906,14],[5909,0],[5920,11],[5938,14],[5941,0],[5952,11],[5970,14],[5972,0],[5984,11],[5997,0],[5998,11],[6001,0],[6002,14],[6004,0],[6068,14],[6100,0],[6109,14],[6110,0],[6112,9],[6122,0],[6155,14],[6158,13],[6159,0],[6160,9],[6170,0],[6176,11],[6265,0],[6272,11],[6277,14],[6279,11],[6313,14],[6314,11],[6315,0],[6320,11],[6390,0],[6400,11],[6431,0],[6432,14],[6444,0],[6448,14],[6460,0],[6470,9],[6480,0],[6608,9],[6618,0],[6656,11],[6679,14],[6684,0],[6741,14],[6751,0],[6752,14],[6781,0],[6783,14],[6784,9],[6794,0],[6800,9],[6810,0],[6832,14],[6849,0],[6912,14],[6917,11],[6964,14],[6981,11],[6988,0],[6992,9],[7002,0],[7019,14],[7028,0],[7040,14],[7043,11],[7073,14],[7086,11],[7088,9],[7098,11],[7142,14],[7156,0],[7168,11],[7204,14],[7224,0],[7232,9],[7242,0],[7245,11],[7248,9],[7258,11],[7294,0],[7296,11],[7305,0],[7312,11],[7355,0],[7357,11],[7360,0],[7376,14],[7379,0],[7380,14],[7401,11],[7405,14],[7406,11],[7412,14],[7413,11],[7415,14],[7418,11],[7419,0],[7424,11],[7616,14],[7674,0],[7675,14],[7680,11],[7958,0],[7960,11],[7966,0],[7968,11],[8006,0],[8008,11],[8014,0],[8016,11],[8024,0],[8025,11],[8026,0],[8027,11],[8028,0],[8029,11],[8030,0],[8031,11],[8062,0],[8064,11],[8117,0],[8118,11],[8125,0],[8126,11],[8127,0],[8130,11],[8133,0],[8134,11],[8141,0],[8144,11],[8148,0],[8150,11],[8156,0],[8160,11],[8173,0],[8178,11],[8181,0],[8182,11],[8189,0],[8192,4],[8199,0],[8200,4],[8203,0],[8204,14],[8205,16],[8206,13],[8208,0],[8216,8],[8218,0],[8228,8],[8229,0],[8231,10],[8232,2],[8234,13],[8239,12],[8240,0],[8255,12],[8257,0],[8260,7],[8261,0],[8276,12],[8277,0],[8287,4],[8288,13],[8293,0],[8294,13],[8304,0],[8305,11],[8306,0],[8319,11],[8320,0],[8336,11],[8349,0],[8400,14],[8433,0],[8450,11],[8451,0],[8455,11],[8456,0],[8458,11],[8468,0],[8469,11],[8470,0],[8473,11],[8478,0],[8484,11],[8485,0],[8486,11],[8487,0],[8488,11],[8489,0],[8490,11],[8494,0],[8495,11],[8506,0],[8508,11],[8512,0],[8517,11],[8522,0],[8526,11],[8527,0],[8544,11],[8585,0],[9398,11],[9450,0],[11264,11],[11311,0],[11312,11],[11359,0],[11360,11],[11493,0],[11499,11],[11503,14],[11506,11],[11508,0],[11520,11],[11558,0],[11559,11],[11560,0],[11565,11],[11566,0],[11568,11],[11624,0],[11631,11],[11632,0],[11647,14],[11648,11],[11671,0],[11680,11],[11687,0],[11688,11],[11695,0],[11696,11],[11703,0],[11704,11],[11711,0],[11712,11],[11719,0],[11720,11],[11727,0],[11728,11],[11735,0],[11736,11],[11743,0],[11744,14],[11776,0],[11823,11],[11824,0],[12288,4],[12289,0],[12293,11],[12294,0],[12330,14],[12336,0],[12337,17],[12342,0],[12347,11],[12349,0],[12441,14],[12443,17],[12445,0],[12448,17],[12539,0],[12540,17],[12544,0],[12549,11],[12592,0],[12593,11],[12687,0],[12704,11],[12736,0],[12784,17],[12800,0],[13008,17],[13055,0],[13056,17],[13144,0],[40960,11],[42125,0],[42192,11],[42238,0],[42240,11],[42509,0],[42512,11],[42528,9],[42538,11],[42540,0],[42560,11],[42607,14],[42611,0],[42612,14],[42622,0],[42623,11],[42654,14],[42656,11],[42736,14],[42738,0],[42760,11],[42944,0],[42946,11],[42955,0],[42997,11],[43010,14],[43011,11],[43014,14],[43015,11],[43019,14],[43020,11],[43043,14],[43048,0],[43052,14],[43053,0],[43072,11],[43124,0],[43136,14],[43138,11],[43188,14],[43206,0],[43216,9],[43226,0],[43232,14],[43250,11],[43256,0],[43259,11],[43260,0],[43261,11],[43263,14],[43264,9],[43274,11],[43302,14],[43310,0],[43312,11],[43335,14],[43348,0],[43360,11],[43389,0],[43392,14],[43396,11],[43443,14],[43457,0],[43471,11],[43472,9],[43482,0],[43493,14],[43494,0],[43504,9],[43514,0],[43520,11],[43561,14],[43575,0],[43584,11],[43587,14],[43588,11],[43596,14],[43598,0],[43600,9],[43610,0],[43643,14],[43646,0],[43696,14],[43697,0],[43698,14],[43701,0],[43703,14],[43705,0],[43710,14],[43712,0],[43713,14],[43714,0],[43744,11],[43755,14],[43760,0],[43762,11],[43765,14],[43767,0],[43777,11],[43783,0],[43785,11],[43791,0],[43793,11],[43799,0],[43808,11],[43815,0],[43816,11],[43823,0],[43824,11],[43882,0],[43888,11],[44003,14],[44011,0],[44012,14],[44014,0],[44016,9],[44026,0],[44032,11],[55204,0],[55216,11],[55239,0],[55243,11],[55292,0],[64256,11],[64263,0],[64275,11],[64280,0],[64285,15],[64286,14],[64287,15],[64297,0],[64298,15],[64311,0],[64312,15],[64317,0],[64318,15],[64319,0],[64320,15],[64322,0],[64323,15],[64325,0],[64326,15],[64336,11],[64434,0],[64467,11],[64830,0],[64848,11],[64912,0],[64914,11],[64968,0],[65008,11],[65020,0],[65024,14],[65040,7],[65041,0],[65043,10],[65044,7],[65045,0],[65056,14],[65072,0],[65075,12],[65077,0],[65101,12],[65104,7],[65105,0],[65106,8],[65107,0],[65108,7],[65109,10],[65110,0],[65136,11],[65141,0],[65142,11],[65277,0],[65279,13],[65280,0],[65287,8],[65288,0],[65292,7],[65293,0],[65294,8],[65295,0],[65296,9],[65306,10],[65307,7],[65308,0],[65313,11],[65339,0],[65343,12],[65344,0],[65345,11],[65371,0],[65382,17],[65438,14],[65440,11],[65471,0],[65474,11],[65480,0],[65482,11],[65488,0],[65490,11],[65496,0],[65498,11],[65501,0],[65529,13],[65532,0],[65536,11],[65548,0],[65549,11],[65575,0],[65576,11],[65595,0],[65596,11],[65598,0],[65599,11],[65614,0],[65616,11],[65630,0],[65664,11],[65787,0],[65856,11],[65909,0],[66045,14],[66046,0],[66176,11],[66205,0],[66208,11],[66257,0],[66272,14],[66273,0],[66304,11],[66336,0],[66349,11],[66379,0],[66384,11],[66422,14],[66427,0],[66432,11],[66462,0],[66464,11],[66500,0],[66504,11],[66512,0],[66513,11],[66518,0],[66560,11],[66718,0],[66720,9],[66730,0],[66736,11],[66772,0],[66776,11],[66812,0],[66816,11],[66856,0],[66864,11],[66916,0],[67072,11],[67383,0],[67392,11],[67414,0],[67424,11],[67432,0],[67584,11],[67590,0],[67592,11],[67593,0],[67594,11],[67638,0],[67639,11],[67641,0],[67644,11],[67645,0],[67647,11],[67670,0],[67680,11],[67703,0],[67712,11],[67743,0],[67808,11],[67827,0],[67828,11],[67830,0],[67840,11],[67862,0],[67872,11],[67898,0],[67968,11],[68024,0],[68030,11],[68032,0],[68096,11],[68097,14],[68100,0],[68101,14],[68103,0],[68108,14],[68112,11],[68116,0],[68117,11],[68120,0],[68121,11],[68150,0],[68152,14],[68155,0],[68159,14],[68160,0],[68192,11],[68221,0],[68224,11],[68253,0],[68288,11],[68296,0],[68297,11],[68325,14],[68327,0],[68352,11],[68406,0],[68416,11],[68438,0],[68448,11],[68467,0],[68480,11],[68498,0],[68608,11],[68681,0],[68736,11],[68787,0],[68800,11],[68851,0],[68864,11],[68900,14],[68904,0],[68912,9],[68922,0],[69248,11],[69290,0],[69291,14],[69293,0],[69296,11],[69298,0],[69376,11],[69405,0],[69415,11],[69416,0],[69424,11],[69446,14],[69457,0],[69552,11],[69573,0],[69600,11],[69623,0],[69632,14],[69635,11],[69688,14],[69703,0],[69734,9],[69744,0],[69759,14],[69763,11],[69808,14],[69819,0],[69821,13],[69822,0],[69837,13],[69838,0],[69840,11],[69865,0],[69872,9],[69882,0],[69888,14],[69891,11],[69927,14],[69941,0],[69942,9],[69952,0],[69956,11],[69957,14],[69959,11],[69960,0],[69968,11],[70003,14],[70004,0],[70006,11],[70007,0],[70016,14],[70019,11],[70067,14],[70081,11],[70085,0],[70089,14],[70093,0],[70094,14],[70096,9],[70106,11],[70107,0],[70108,11],[70109,0],[70144,11],[70162,0],[70163,11],[70188,14],[70200,0],[70206,14],[70207,0],[70272,11],[70279,0],[70280,11],[70281,0],[70282,11],[70286,0],[70287,11],[70302,0],[70303,11],[70313,0],[70320,11],[70367,14],[70379,0],[70384,9],[70394,0],[70400,14],[70404,0],[70405,11],[70413,0],[70415,11],[70417,0],[70419,11],[70441,0],[70442,11],[70449,0],[70450,11],[70452,0],[70453,11],[70458,0],[70459,14],[70461,11],[70462,14],[70469,0],[70471,14],[70473,0],[70475,14],[70478,0],[70480,11],[70481,0],[70487,14],[70488,0],[70493,11],[70498,14],[70500,0],[70502,14],[70509,0],[70512,14],[70517,0],[70656,11],[70709,14],[70727,11],[70731,0],[70736,9],[70746,0],[70750,14],[70751,11],[70754,0],[70784,11],[70832,14],[70852,11],[70854,0],[70855,11],[70856,0],[70864,9],[70874,0],[71040,11],[71087,14],[71094,0],[71096,14],[71105,0],[71128,11],[71132,14],[71134,0],[71168,11],[71216,14],[71233,0],[71236,11],[71237,0],[71248,9],[71258,0],[71296,11],[71339,14],[71352,11],[71353,0],[71360,9],[71370,0],[71453,14],[71468,0],[71472,9],[71482,0],[71680,11],[71724,14],[71739,0],[71840,11],[71904,9],[71914,0],[71935,11],[71943,0],[71945,11],[71946,0],[71948,11],[71956,0],[71957,11],[71959,0],[71960,11],[71984,14],[71990,0],[71991,14],[71993,0],[71995,14],[71999,11],[72e3,14],[72001,11],[72002,14],[72004,0],[72016,9],[72026,0],[72096,11],[72104,0],[72106,11],[72145,14],[72152,0],[72154,14],[72161,11],[72162,0],[72163,11],[72164,14],[72165,0],[72192,11],[72193,14],[72203,11],[72243,14],[72250,11],[72251,14],[72255,0],[72263,14],[72264,0],[72272,11],[72273,14],[72284,11],[72330,14],[72346,0],[72349,11],[72350,0],[72384,11],[72441,0],[72704,11],[72713,0],[72714,11],[72751,14],[72759,0],[72760,14],[72768,11],[72769,0],[72784,9],[72794,0],[72818,11],[72848,0],[72850,14],[72872,0],[72873,14],[72887,0],[72960,11],[72967,0],[72968,11],[72970,0],[72971,11],[73009,14],[73015,0],[73018,14],[73019,0],[73020,14],[73022,0],[73023,14],[73030,11],[73031,14],[73032,0],[73040,9],[73050,0],[73056,11],[73062,0],[73063,11],[73065,0],[73066,11],[73098,14],[73103,0],[73104,14],[73106,0],[73107,14],[73112,11],[73113,0],[73120,9],[73130,0],[73440,11],[73459,14],[73463,0],[73648,11],[73649,0],[73728,11],[74650,0],[74752,11],[74863,0],[74880,11],[75076,0],[77824,11],[78895,0],[78896,13],[78905,0],[82944,11],[83527,0],[92160,11],[92729,0],[92736,11],[92767,0],[92768,9],[92778,0],[92880,11],[92910,0],[92912,14],[92917,0],[92928,11],[92976,14],[92983,0],[92992,11],[92996,0],[93008,9],[93018,0],[93027,11],[93048,0],[93053,11],[93072,0],[93760,11],[93824,0],[93952,11],[94027,0],[94031,14],[94032,11],[94033,14],[94088,0],[94095,14],[94099,11],[94112,0],[94176,11],[94178,0],[94179,11],[94180,14],[94181,0],[94192,14],[94194,0],[110592,17],[110593,0],[110948,17],[110952,0],[113664,11],[113771,0],[113776,11],[113789,0],[113792,11],[113801,0],[113808,11],[113818,0],[113821,14],[113823,0],[113824,13],[113828,0],[119141,14],[119146,0],[119149,14],[119155,13],[119163,14],[119171,0],[119173,14],[119180,0],[119210,14],[119214,0],[119362,14],[119365,0],[119808,11],[119893,0],[119894,11],[119965,0],[119966,11],[119968,0],[119970,11],[119971,0],[119973,11],[119975,0],[119977,11],[119981,0],[119982,11],[119994,0],[119995,11],[119996,0],[119997,11],[120004,0],[120005,11],[120070,0],[120071,11],[120075,0],[120077,11],[120085,0],[120086,11],[120093,0],[120094,11],[120122,0],[120123,11],[120127,0],[120128,11],[120133,0],[120134,11],[120135,0],[120138,11],[120145,0],[120146,11],[120486,0],[120488,11],[120513,0],[120514,11],[120539,0],[120540,11],[120571,0],[120572,11],[120597,0],[120598,11],[120629,0],[120630,11],[120655,0],[120656,11],[120687,0],[120688,11],[120713,0],[120714,11],[120745,0],[120746,11],[120771,0],[120772,11],[120780,0],[120782,9],[120832,0],[121344,14],[121399,0],[121403,14],[121453,0],[121461,14],[121462,0],[121476,14],[121477,0],[121499,14],[121504,0],[121505,14],[121520,0],[122880,14],[122887,0],[122888,14],[122905,0],[122907,14],[122914,0],[122915,14],[122917,0],[122918,14],[122923,0],[123136,11],[123181,0],[123184,14],[123191,11],[123198,0],[123200,9],[123210,0],[123214,11],[123215,0],[123584,11],[123628,14],[123632,9],[123642,0],[124928,11],[125125,0],[125136,14],[125143,0],[125184,11],[125252,14],[125259,11],[125260,0],[125264,9],[125274,0],[126464,11],[126468,0],[126469,11],[126496,0],[126497,11],[126499,0],[126500,11],[126501,0],[126503,11],[126504,0],[126505,11],[126515,0],[126516,11],[126520,0],[126521,11],[126522,0],[126523,11],[126524,0],[126530,11],[126531,0],[126535,11],[126536,0],[126537,11],[126538,0],[126539,11],[126540,0],[126541,11],[126544,0],[126545,11],[126547,0],[126548,11],[126549,0],[126551,11],[126552,0],[126553,11],[126554,0],[126555,11],[126556,0],[126557,11],[126558,0],[126559,11],[126560,0],[126561,11],[126563,0],[126564,11],[126565,0],[126567,11],[126571,0],[126572,11],[126579,0],[126580,11],[126584,0],[126585,11],[126589,0],[126590,11],[126591,0],[126592,11],[126602,0],[126603,11],[126620,0],[126625,11],[126628,0],[126629,11],[126634,0],[126635,11],[126652,0],[127280,11],[127306,0],[127312,11],[127338,0],[127344,11],[127370,0],[127462,18],[127488,0],[127995,14],[128e3,0],[130032,9],[130042,0],[917505,13],[917506,0],[917536,14],[917632,0],[917760,14],[918e3,0]];/*!
|
|
706
|
+
`;return typeof r=="function"&&r(null,h),h};const IR=Hk,w0=jv,uE=oE,FR=cE;function v0(e,t,n,r,i){const a=[].slice.call(arguments,1),s=a.length,o=typeof a[s-1]=="function";if(!o&&!IR())throw new Error("Callback required as last argument");if(o){if(s<2)throw new Error("Too few arguments provided");s===2?(i=n,n=t,t=r=void 0):s===3&&(t.getContext&&typeof i>"u"?(i=r,r=void 0):(i=r,r=n,n=t,t=void 0))}else{if(s<1)throw new Error("Too few arguments provided");return s===1?(n=t,t=r=void 0):s===2&&!t.getContext&&(r=n,n=t,t=void 0),new Promise(function(c,l){try{const u=w0.create(n,r);c(e(u,t,r))}catch(u){l(u)}})}try{const c=w0.create(n,r);i(null,e(c,t,r))}catch(c){i(c)}}w0.create,v0.bind(null,uE.render),v0.bind(null,uE.renderToDataURL);var AE=v0.bind(null,function(e,t,n){return FR.render(e,n)});const hE=async e=>{const t=`${wo.getServicesApiUrl()}/shortener`;try{return(await(await fetch(t,{method:"POST",body:JSON.stringify({longUrl:e}),headers:{"Content-Type":"application/json"}})).json()).shortUrl}catch(n){throw console.error(n),new ru("Failed to shorten URL, see console.")}};class fE{async poll(){try{if(await this.predicate()){this.onSuccess(),this.pollingId>-1&&window.clearInterval(this.pollingId);return}}catch{}this.attempts+=1,this.attempts<this.maxAttempts?this.pollingId=window.setTimeout(this.poll.bind(this),this.interval):this.onFailure()}constructor(t,n,r,i=3e3,a=10){this.onSuccess=n,this.onFailure=r,this.predicate=t,this.attempts=0,this.pollingId=-1,this.interval=i,this.maxAttempts=a,this.poll()}}class QR{async init(t,n,r){return r&&await this.reload(t,n,r),null}async reload(t,n,r){const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),c=Object.values(r.layouts).map(l=>l.elements).flat().filter(l=>l.stepName===t.stepName).map(l=>({id:l.id,region:l.stepRegion}));await n.setSelectionsAndElements(t.stepName,[],c,async()=>{var A,h;const l=(A=i==null?void 0:i.storage)==null?void 0:A.videoShortUrl,u=(h=i==null?void 0:i.storage)==null?void 0:h.videoUrl;n.updateStorage(t.stepName,{videoShortUrl:l,videoUrl:u})})}async regenerateQRCode(t,n,r,i,a,s,o,c,l){if(!n&&r!==""&&i===""){const u=async()=>{var B,x;const v=(await Zw([r]))[0],w=(x=(B=v==null?void 0:v.versions)==null?void 0:B.find(C=>C.name==="mpeg4"))==null?void 0:x.link;return{asset:v,link:w}},A=await new Promise((v,w)=>{new fE(async()=>!!(await u()).link,async()=>{const B=await u();if(!B.link||!B.link)throw new za(B.asset);v({rel:"mpeg4",href:B.link})},()=>{w("Poller timed out with 40 attempts @ 3 second interval")},3e3,40)});t.forEach(v=>c(new ni(v.id)));const h=s.data.baseUrl.slice(0,4)==="http"?"":"https://",f=new URL(h+s.data.baseUrl);f.searchParams.append("video",btoa(JSON.stringify([A]))),f.pathname=f.pathname+(f.pathname.slice(-1)==="/"?"":"/");const d=f.toString();if(d.length>=2e3)throw new ru("Cannot create QR code, URL too long.");const p=await hE(d);if(o(p),!s.data||!s.data.regions)throw new yo(s,"Missing regions.");const m=await this.regionElements(s),y=await this.command(p,m,a,s.stepName);y&&(y.command&&a.getCommandDispatcher()(y.command),y.followup&&await y.followup()),await a.setSelectionsAndElements(s.stepName,[],m,async()=>{a.updateStorage(s.stepName,{videoShortUrl:p,videoUrl:i}),l(!1)})}else l(!1)}async regionElements(t){const n=r=>({id:Dt(),region:r});return t.data.regions.map(n)}async command(t,n,r,i){const a=r.getLayouts(),o=`data:image/svg+xml;base64,${btoa(await AE(t,{type:"svg"}))}`,c=n.map(l=>{const u=l.region,A=a.find(h=>h.panelId===(u==null?void 0:u.panelId));if(!A&&u)throw new ke(u);if(A&&!u)throw new Error("Region not found");if(!A||!u)throw new Error("Neither a region or layout found!");return new ve({stepRegion:u,stepName:i,id:l.id,src:o,type:Et.Image,y:u.top,x:u.left,width:u.width,height:u.height,rotation:0},A)});return{command:new $t(c),followup:async()=>{}}}}const gE=new QR;class MR{constructor(){this.frameSourceSvg=async(t,n)=>{if(!t)return vf(n);const r=t.asset;if(!r)throw new ci(t);const i=r.fileLink;if(i)return Ln(i);throw new za(r)}}async init(t,n,r){if(r)return await this.reload(t,n,r),null;if(n.setMandatoryFulfilled(t.stepName,!1),n.markStepsAsInitialised([t.stepName]),t.option&&t.option.variants&&t.option.variants.length>0){const i=t.option,a=En.getDefaultVariant(i);return a?this.selectVariantCommand(t,a,[],n,void 0,t.data.placeholderImageUrl):null}return this.selectVariantCommand(t,void 0,[],n,void 0,t.data.placeholderImageUrl)}async reload(t,n,r){var l;const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),c=Object.values(r.layouts).map(u=>u.elements).flat().filter(u=>u.stepName===t.stepName).map(u=>({id:u.id,region:u.stepRegion}));if(!t.option||(t.option.variants||[]).length===0){const u=t.data.regions.map(A=>vf(A));n.updateStorage(t.stepName,{currentFrameSources:u})}if(i){const u=async()=>{var f,d,p,m;const A=(f=i.storage)==null?void 0:f.framePatternSrc,h=(d=i.storage)==null?void 0:d.frameOffsetsList;if(n.updateMetadata(t.stepName,{frameOffsetsList:h,framePatternSrc:A}),A){const y=(p=n.getStepSpecificServices(t.stepName))==null?void 0:p.frameService;if(!y)throw new Error("Frame service unavailable, cannot load pattern!");await this.loadPatternFromString(A,y),n.updateMetadata(t.stepName,{image:A}),n.updateStorage(t.stepName,{framePatternSrc:A})}if(h!=null&&h.some(y=>y.zoom)){const y=(m=n.getStepSpecificServices(t.stepName))==null?void 0:m.frameService;if(!y)throw new Error("Frame service unavailable, cannot load pattern!");y.updateOffsets(h)}n.setMandatoryFulfilled(t.stepName,!0)};if(i.selectedVariants&&i.selectedVariants.length>0){const A=i.selectedVariants[0].id;if(t.option&&A){const h=(l=t.option.variants)==null?void 0:l.find(f=>f.id===A);h&&await n.setSelectionsAndElements(t.stepName,[h],c,async()=>{const f=await Promise.all(t.data.regions.map(d=>this.frameSourceSvg(h,d)));n.updateStorage(t.stepName,{currentFrameSources:f}),await u()})}}else await n.setSelectionsAndElements(t.stepName,[],c,u)}}selectImage(t,n,r){r.setEditedStatus(t.stepName,!0),(n.fileLink||"").endsWith("pdf")?r.addPoller(new fE(async()=>{var c;const s=(c=(await Re.getLocalOrFromServer(n.key||"")).versions)==null?void 0:c.find(l=>l.name==="svg");return s?(await fetch(s.link)).status===200:!1},()=>{Re.getLocalOrFromServer(n.key||"").then(a=>{this.loadPatternFromAsset(a,t,r)})},()=>{throw new ru("Failed to resolve transcoded PDF")})):this.loadPatternFromAsset(n,t,r)}async selectVariant(t,n,r,i,a){const s=await this.selectVariantCommand(t,n,r,i,a);s&&(s.command&&i.getCommandDispatcher()(s.command),s.followup&&await s.followup())}getCreateElementCommand(t,n,r,i){return new ve({id:t,type:Et.Frame,x:n.left,y:n.top,width:n.width,height:n.height,layer:n.layer,layerIndex:n.layerIndex,rotation:n.rotation,scaleX:n.width/i.frameData.width,scaleY:n.height/i.frameData.height,path:i.frameData.path,dataWidth:i.frameData.width,dataHeight:i.frameData.height,stepRegion:n,stepName:i.stepName,disablePlaceholder:i.disablePlaceholder,focalBlur:i.focalBlur,focalBlurStrength:i.focalBlurStrength,focalBlurRadius:i.focalBlurRadius,pattern:i.pattern,immutable:n.immutable},r)}async loadPatternFromString(t,n){if(t.endsWith("svg")){const r=await rw(t),i=r.width,a=r.height,s={src:t,width:i,height:a,aspect:i/a};Ui.set(t,s),n.setPatternData(s)}else{const r=await Ml(t),i=await ro(r),a={src:t,width:i.width,height:i.height,aspect:i.width/i.height};Ui.set(t,a),n.setPatternData(a)}}async selectVariantCommand(t,n,r,i,a,s){var h;const o=(h=i.getStepSpecificServices(t.stepName))==null?void 0:h.frameService;if(!o)throw new Error("Frame service unavailable, cannot load pattern!");const c=await Promise.all(t.data.regions.map(f=>this.frameSourceSvg(n,f)));a&&a(!0);const l=await Promise.all(t.data.regions.map(async(f,d)=>{const p=await ao(c[d]),m=o.getImageData(),y=r.map(b=>new ni(b.id)),v=m?Ef(m,p):void 0,w=m?{id:Dt(),src:m.src,x:(v==null?void 0:v.x)||0,y:(v==null?void 0:v.y)||0,width:m.width,height:m.height,scaleX:(v==null?void 0:v.zoom)||1,scaleY:(v==null?void 0:v.zoom)||1,rotation:0}:void 0,B=Dt(),C=i.getLayouts().find(b=>b.panelId===f.panelId);if(!C)throw new ke(f);return{command:this.getCreateElementCommand(B,f,C,{frameData:p,pattern:w,disablePlaceholder:t.data.disablePlaceholder,focalBlur:t.data.focalBlur,focalBlurStrength:t.data.focalBlurStrength,focalBlurRadius:t.data.focalBlurRadius,stepName:t.stepName}),regionEl:{id:B,region:f},removeExistingCommands:y}})),u=l.map(f=>f.command),A=l.map(f=>f.removeExistingCommands).flat();return{command:new $t([...u,...A]),followup:async()=>{a&&a(!1),await i.setSelectionsAndElements(t.stepName,n?[n]:[],[...l.map(f=>f.regionEl)],async()=>{var f;if(i.updateStorage(t.stepName,{currentFrameSources:c}),s){const d=(f=i.getStepSpecificServices(t.stepName))==null?void 0:f.frameService;if(!d)throw new Error("Frame service unavailable, cannot load pattern!");await this.loadPatternFromString(s,d)}})}}}patternSource(t){var i;const n=(i=t.versions)==null?void 0:i.find(a=>a.name==="svg");if(n)return n.link;const r=t.fileLink;if(r)return r;throw new za(t)}async loadPatternFromAsset(t,n,r){var o;const i=this.patternSource(t),a=r.markUpdatePending(),s=(o=r.getStepSpecificServices(n.stepName))==null?void 0:o.frameService;if(!s)throw new Error("Frame service unavailable, cannot load pattern!");await this.loadPatternFromString(i,s),r.updateMetadata(n.stepName,{image:i}),r.updateStorage(n.stepName,{framePatternSrc:i}),r.markUpdateCompleted(a)}}const Cu=new MR;class TR{async getIllustrationBody(t){return new Promise(n=>{Ln(t).then(r=>{n(r)}).catch(r=>console.error(r))})}getCreateElementCommand(t,n,r,i){return new ve({stepRegion:n,stepName:i.stepName,colors:i.svg.colors,id:t,src:i.src,svg:i.svg.svg,cachedObjectURL:i.objectURL,type:Et.Illustration,y:n.top,x:n.left,rotation:n.rotation,width:n.width,height:n.height,layer:n.layer,layerIndex:n.layerIndex,immutable:n.immutable},r)}getColors(t,n){const r=n.getRegionElements(t.stepName)||[];if(r.length===0)return[];try{return we(r[0].id,n.getAllLayoutData()).colors}catch{return[]}}async init(t,n,r){const i=t.option;if(!i)return null;if(r)return this.reload(t,n,r);{const a=En.getDefaultVariant(i);if(a)return await this.selectVariantCommand(t,a,[],()=>{},n)}return null}async reload(t,n,r){var l;const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),o=Object.values(r.layouts).map(u=>u.elements).flat().filter(u=>u.stepName===t.stepName),c=t.option;if(i!=null&&i.selectedVariants){const u=i.selectedVariants[0].id;if(c&&u){const A=(l=c.variants)==null?void 0:l.find(h=>h.id===u);if(A){const h=o.map(f=>({id:f.id,region:f.stepRegion}));await n.setSelectionsAndElements(t.stepName,[A],h,async()=>{var f;n.updateMetadata(t.stepName,{colors:(f=i.storage)==null?void 0:f.colors}),n.setMandatoryFulfilled(t.stepName,!0)})}}else throw new Error("Required illustration variant no longer available")}return null}async availableColors(t,n){var i;const r=t.data.colorOption;return r?r?(i=r.variants)==null?void 0:i.map(a=>({fill:a.color,stroke:a.color,variant:a})):[]:[]}async changeColorsCommand(t,n,r,i,a){var u;const s={};for(const[A,h]of a.entries())s[A]={browserValue:h,spotColor:(u=s[A])==null?void 0:u.spotColor};const o=Jh(t,n,r,s),c=await Gi(o),l=[];for(const A of i){for(const[h,f]of a.entries())l.push(new _h(A,h,f));l.push(new NF(A,o,c))}return new $t(l)}async changeColors(t,n,r,i,a){var f,d;if(n.length===0)return;const s=we(n[0].id,i().map(p=>p.layoutState)),o={...s.colors},c={};Object.entries(o).forEach(([p,m])=>{const y={browserValue:m.browserValue},v=m.spotColor;v&&(y.spotColor={profileName:v.profileName,namedColor:v.namedColor}),c[p]=y});for(const[p,m]of a.entries())o[p]={browserValue:m,spotColor:(f=o[p])==null?void 0:f.spotColor},c[p]={browserValue:m};let l=Array.from(Object.values(o)).map(p=>p.browserValue);const u=t.data.colorOption;u&&((d=u.variants)==null||d.forEach(p=>{l=l.map(m=>{var y;return m.toLowerCase()===((y=p.color)==null?void 0:y.toLowerCase())?p.name:m})})),r.updateMetadata(t.stepName,{colors:l});const A=new Map;if(Object.entries(o).forEach(([p,m])=>{A.set(p,m.browserValue)}),!s.svg)throw new Error("Colors changed before SVG loaded. This should never happen!");const h=await this.changeColorsCommand(s.svg,s.width,s.height,n.map(p=>p.id),A);r.updateStorage(t.stepName,{colors:c}),r.getCommandDispatcher()(h)}async selectVariant(t,n,r,i,a){const s=await this.selectVariantCommand(t,n,r,i,a);s&&(s.command&&a.getCommandDispatcher()(s.command),s.followup&&await s.followup())}async selectVariantCommand(t,n,r,i,a){var y;if(!t.data||!t.data.regions)throw new yo(t,"Missing regions.");i(!0);const s=r.map(v=>new ni(v.id));a.setMandatoryFulfilled(t.stepName,!1);const o=n.asset;if(!o)throw new ci(n);const c=o.fileLink;if(!c)throw new za(o);const l=await Na(await this.getIllustrationBody(c)),u=await Gi(l.svg),A=v=>{const w=a.getLayouts().find(x=>x.panelId===v.panelId);if(!w)throw new ke(v);const B=Dt();return{regionElement:{id:B,region:v},command:this.getCreateElementCommand(B,v,w,{stepName:t.stepName,src:c,objectURL:u,svg:l})}},h=t.data.regions.map(A),d=[...h.map(v=>v.command),...s];let p=Array.from(Object.values(l.colors)).map(v=>v.browserValue);const m=t.data.colorOption;return m&&((y=m.variants)==null||y.forEach(v=>{p=p.map(w=>{var B;return w.toLowerCase()===((B=v.color)==null?void 0:B.toLowerCase())?v.name:w})})),a.updateMetadata(t.stepName,{colors:p}),{command:new $t(d),followup:async()=>{await a.setSelectionsAndElements(t.stepName,[n],h.map(v=>v.regionElement),async()=>{a.setMandatoryFulfilled(t.stepName,!0),i(!1)})}}}}const Ro=new TR;class NR{async init(t,n,r){const i=t.option;if(!i)throw new mo(t);if(r)await this.reload(t,n,r);else{const a=En.getDefaultVariant(i);if(a)return await this.selectVariantLambda(t,a,n,()=>{})}return null}async reload(t,n,r){var l;const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),o=Object.values(r.layouts).map(u=>u.elements).flat().filter(u=>u.stepName===t.stepName),c=t.option;if(!c)throw new mo(t);if(i!=null&&i.selectedVariants){const u=i.selectedVariants[0].id;if(u){const A=(l=c.variants)==null?void 0:l.find(h=>h.id===u);if(A){const h=A.material,f=o.map(d=>({id:d.id,region:d.stepRegion}));await n.setSelectionsAndElements(t.stepName,[A],f,async()=>{const d=n.getModelContainer();if(d){const p=t.data.targetMaterials.map(m=>d.applyMaterialVariant(m,c.id||"",h||{}));Promise.all(p).then(()=>n.setMandatoryFulfilled(t.stepName,!0))}})}}}}async selectVariant(t,n,r,i){const a=await this.selectVariantLambda(t,n,r,i);a&&(a.command&&r.getCommandDispatcher()(a.command),a.followup&&await a.followup())}async selectVariantLambda(t,n,r,i){const a=r.getModelContainer();i(!0);const s=n.material;if(!s)throw i(!1),new ci(n);return{command:void 0,followup:async()=>{await r.setSelectionsAndElements(t.stepName,[n],[],async()=>{try{a&&t.data.targetMaterials.forEach(o=>{t.option&&a.applyMaterialVariant(o,t.option.id||"",s)}),r.setMandatoryFulfilled(t.stepName,!0)}finally{i(!1)}})}}}}const E0=new NR;class PR{async init(t,n,r){const i=t.option;if(!i)throw new mo(t);if(r)await this.reload(t,n,r);else{const a=En.getDefaultVariant(i);if(a)return await this.selectVariantLambda(t,a,n,()=>{})}return null}async reload(t,n,r){var l;const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),o=Object.values(r.layouts).map(u=>u.elements).flat().filter(u=>u.stepName===t.stepName),c=t.option;if(i!=null&&i.selectedVariants){const u=i.selectedVariants[0].id;if(c&&u){const A=(l=c.variants)==null?void 0:l.find(h=>h.id===u);if(A){const h=o.map(f=>({id:f.id,region:f.stepRegion}));await n.setSelectionsAndElements(t.stepName,[A],h,async()=>{var d;const f=n.getModelContainer();if(f&&t.option){const p=(d=A.asset)==null?void 0:d.fileLink;if(!p)throw new ci(A);await f.applyModelVariant(t.option.id||"",{model:p,contextService:n.getLayoutPreviewService()},t.data.replaceProductModel||!1),n.setMandatoryFulfilled(t.stepName,!0)}})}}}}async selectVariant(t,n,r,i){const a=await this.selectVariantLambda(t,n,r,i);a&&(a.command&&r.getCommandDispatcher()(a.command),a.followup&&await a.followup())}async selectVariantLambda(t,n,r,i){var s;i(!0);const a=(s=n.asset)==null?void 0:s.fileLink;if(!a)throw new ci(n);return{command:void 0,followup:async()=>{await r.setSelectionsAndElements(t.stepName,[n],[],async()=>{try{const o=r.getModelContainer();o&&t.option&&o.applyModelVariant(t.option.id||"",{model:a,contextService:r.getLayoutPreviewService()},t.data.replaceProductModel||!1),r.setMandatoryFulfilled(t.stepName,!0)}finally{i(!1)}})}}}}const B0=new PR;var C0={},xu={},bu={};Object.defineProperty(bu,"__esModule",{value:!0}),bu.extendedPictographic=/^[\u00A9\u00AE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9-\u21AA\u231A-\u231B\u2328\u2388\u23CF\u23E9-\u23EC\u23ED-\u23EE\u23EF\u23F0\u23F1-\u23F2\u23F3\u23F8-\u23FA\u24C2\u25AA-\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2601\u2602-\u2603\u2604\u2605\u2607-\u260D\u260E\u260F-\u2610\u2611\u2612\u2614-\u2615\u2616-\u2617\u2618\u2619-\u261C\u261D\u261E-\u261F\u2620\u2621\u2622-\u2623\u2624-\u2625\u2626\u2627-\u2629\u262A\u262B-\u262D\u262E\u262F\u2630-\u2637\u2638-\u2639\u263A\u263B-\u263F\u2640\u2641\u2642\u2643-\u2647\u2648-\u2653\u2654-\u265E\u265F\u2660\u2661-\u2662\u2663\u2664\u2665-\u2666\u2667\u2668\u2669-\u267A\u267B\u267C-\u267D\u267E\u267F\u2680-\u2685\u2690-\u2691\u2692\u2693\u2694\u2695\u2696-\u2697\u2698\u2699\u269A\u269B-\u269C\u269D-\u269F\u26A0-\u26A1\u26A2-\u26A6\u26A7\u26A8-\u26A9\u26AA-\u26AB\u26AC-\u26AF\u26B0-\u26B1\u26B2-\u26BC\u26BD-\u26BE\u26BF-\u26C3\u26C4-\u26C5\u26C6-\u26C7\u26C8\u26C9-\u26CD\u26CE\u26CF\u26D0\u26D1\u26D2\u26D3\u26D4\u26D5-\u26E8\u26E9\u26EA\u26EB-\u26EF\u26F0-\u26F1\u26F2-\u26F3\u26F4\u26F5\u26F6\u26F7-\u26F9\u26FA\u26FB-\u26FC\u26FD\u26FE-\u2701\u2702\u2703-\u2704\u2705\u2708-\u270C\u270D\u270E\u270F\u2710-\u2711\u2712\u2714\u2716\u271D\u2721\u2728\u2733-\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2765-\u2767\u2795-\u2797\u27A1\u27B0\u27BF\u2934-\u2935\u2B05-\u2B07\u2B1B-\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299\u{01F000}-\u{01F003}\u{01F004}\u{01F005}-\u{01F0CE}\u{01F0CF}\u{01F0D0}-\u{01F0FF}\u{01F10D}-\u{01F10F}\u{01F12F}\u{01F16C}-\u{01F16F}\u{01F170}-\u{01F171}\u{01F17E}-\u{01F17F}\u{01F18E}\u{01F191}-\u{01F19A}\u{01F1AD}-\u{01F1E5}\u{01F201}-\u{01F202}\u{01F203}-\u{01F20F}\u{01F21A}\u{01F22F}\u{01F232}-\u{01F23A}\u{01F23C}-\u{01F23F}\u{01F249}-\u{01F24F}\u{01F250}-\u{01F251}\u{01F252}-\u{01F2FF}\u{01F300}-\u{01F30C}\u{01F30D}-\u{01F30E}\u{01F30F}\u{01F310}\u{01F311}\u{01F312}\u{01F313}-\u{01F315}\u{01F316}-\u{01F318}\u{01F319}\u{01F31A}\u{01F31B}\u{01F31C}\u{01F31D}-\u{01F31E}\u{01F31F}-\u{01F320}\u{01F321}\u{01F322}-\u{01F323}\u{01F324}-\u{01F32C}\u{01F32D}-\u{01F32F}\u{01F330}-\u{01F331}\u{01F332}-\u{01F333}\u{01F334}-\u{01F335}\u{01F336}\u{01F337}-\u{01F34A}\u{01F34B}\u{01F34C}-\u{01F34F}\u{01F350}\u{01F351}-\u{01F37B}\u{01F37C}\u{01F37D}\u{01F37E}-\u{01F37F}\u{01F380}-\u{01F393}\u{01F394}-\u{01F395}\u{01F396}-\u{01F397}\u{01F398}\u{01F399}-\u{01F39B}\u{01F39C}-\u{01F39D}\u{01F39E}-\u{01F39F}\u{01F3A0}-\u{01F3C4}\u{01F3C5}\u{01F3C6}\u{01F3C7}\u{01F3C8}\u{01F3C9}\u{01F3CA}\u{01F3CB}-\u{01F3CE}\u{01F3CF}-\u{01F3D3}\u{01F3D4}-\u{01F3DF}\u{01F3E0}-\u{01F3E3}\u{01F3E4}\u{01F3E5}-\u{01F3F0}\u{01F3F1}-\u{01F3F2}\u{01F3F3}\u{01F3F4}\u{01F3F5}\u{01F3F6}\u{01F3F7}\u{01F3F8}-\u{01F3FA}\u{01F400}-\u{01F407}\u{01F408}\u{01F409}-\u{01F40B}\u{01F40C}-\u{01F40E}\u{01F40F}-\u{01F410}\u{01F411}-\u{01F412}\u{01F413}\u{01F414}\u{01F415}\u{01F416}\u{01F417}-\u{01F429}\u{01F42A}\u{01F42B}-\u{01F43E}\u{01F43F}\u{01F440}\u{01F441}\u{01F442}-\u{01F464}\u{01F465}\u{01F466}-\u{01F46B}\u{01F46C}-\u{01F46D}\u{01F46E}-\u{01F4AC}\u{01F4AD}\u{01F4AE}-\u{01F4B5}\u{01F4B6}-\u{01F4B7}\u{01F4B8}-\u{01F4EB}\u{01F4EC}-\u{01F4ED}\u{01F4EE}\u{01F4EF}\u{01F4F0}-\u{01F4F4}\u{01F4F5}\u{01F4F6}-\u{01F4F7}\u{01F4F8}\u{01F4F9}-\u{01F4FC}\u{01F4FD}\u{01F4FE}\u{01F4FF}-\u{01F502}\u{01F503}\u{01F504}-\u{01F507}\u{01F508}\u{01F509}\u{01F50A}-\u{01F514}\u{01F515}\u{01F516}-\u{01F52B}\u{01F52C}-\u{01F52D}\u{01F52E}-\u{01F53D}\u{01F546}-\u{01F548}\u{01F549}-\u{01F54A}\u{01F54B}-\u{01F54E}\u{01F54F}\u{01F550}-\u{01F55B}\u{01F55C}-\u{01F567}\u{01F568}-\u{01F56E}\u{01F56F}-\u{01F570}\u{01F571}-\u{01F572}\u{01F573}-\u{01F579}\u{01F57A}\u{01F57B}-\u{01F586}\u{01F587}\u{01F588}-\u{01F589}\u{01F58A}-\u{01F58D}\u{01F58E}-\u{01F58F}\u{01F590}\u{01F591}-\u{01F594}\u{01F595}-\u{01F596}\u{01F597}-\u{01F5A3}\u{01F5A4}\u{01F5A5}\u{01F5A6}-\u{01F5A7}\u{01F5A8}\u{01F5A9}-\u{01F5B0}\u{01F5B1}-\u{01F5B2}\u{01F5B3}-\u{01F5BB}\u{01F5BC}\u{01F5BD}-\u{01F5C1}\u{01F5C2}-\u{01F5C4}\u{01F5C5}-\u{01F5D0}\u{01F5D1}-\u{01F5D3}\u{01F5D4}-\u{01F5DB}\u{01F5DC}-\u{01F5DE}\u{01F5DF}-\u{01F5E0}\u{01F5E1}\u{01F5E2}\u{01F5E3}\u{01F5E4}-\u{01F5E7}\u{01F5E8}\u{01F5E9}-\u{01F5EE}\u{01F5EF}\u{01F5F0}-\u{01F5F2}\u{01F5F3}\u{01F5F4}-\u{01F5F9}\u{01F5FA}\u{01F5FB}-\u{01F5FF}\u{01F600}\u{01F601}-\u{01F606}\u{01F607}-\u{01F608}\u{01F609}-\u{01F60D}\u{01F60E}\u{01F60F}\u{01F610}\u{01F611}\u{01F612}-\u{01F614}\u{01F615}\u{01F616}\u{01F617}\u{01F618}\u{01F619}\u{01F61A}\u{01F61B}\u{01F61C}-\u{01F61E}\u{01F61F}\u{01F620}-\u{01F625}\u{01F626}-\u{01F627}\u{01F628}-\u{01F62B}\u{01F62C}\u{01F62D}\u{01F62E}-\u{01F62F}\u{01F630}-\u{01F633}\u{01F634}\u{01F635}\u{01F636}\u{01F637}-\u{01F640}\u{01F641}-\u{01F644}\u{01F645}-\u{01F64F}\u{01F680}\u{01F681}-\u{01F682}\u{01F683}-\u{01F685}\u{01F686}\u{01F687}\u{01F688}\u{01F689}\u{01F68A}-\u{01F68B}\u{01F68C}\u{01F68D}\u{01F68E}\u{01F68F}\u{01F690}\u{01F691}-\u{01F693}\u{01F694}\u{01F695}\u{01F696}\u{01F697}\u{01F698}\u{01F699}-\u{01F69A}\u{01F69B}-\u{01F6A1}\u{01F6A2}\u{01F6A3}\u{01F6A4}-\u{01F6A5}\u{01F6A6}\u{01F6A7}-\u{01F6AD}\u{01F6AE}-\u{01F6B1}\u{01F6B2}\u{01F6B3}-\u{01F6B5}\u{01F6B6}\u{01F6B7}-\u{01F6B8}\u{01F6B9}-\u{01F6BE}\u{01F6BF}\u{01F6C0}\u{01F6C1}-\u{01F6C5}\u{01F6C6}-\u{01F6CA}\u{01F6CB}\u{01F6CC}\u{01F6CD}-\u{01F6CF}\u{01F6D0}\u{01F6D1}-\u{01F6D2}\u{01F6D3}-\u{01F6D4}\u{01F6D5}\u{01F6D6}-\u{01F6D7}\u{01F6D8}-\u{01F6DF}\u{01F6E0}-\u{01F6E5}\u{01F6E6}-\u{01F6E8}\u{01F6E9}\u{01F6EA}\u{01F6EB}-\u{01F6EC}\u{01F6ED}-\u{01F6EF}\u{01F6F0}\u{01F6F1}-\u{01F6F2}\u{01F6F3}\u{01F6F4}-\u{01F6F6}\u{01F6F7}-\u{01F6F8}\u{01F6F9}\u{01F6FA}\u{01F6FB}-\u{01F6FC}\u{01F6FD}-\u{01F6FF}\u{01F774}-\u{01F77F}\u{01F7D5}-\u{01F7DF}\u{01F7E0}-\u{01F7EB}\u{01F7EC}-\u{01F7FF}\u{01F80C}-\u{01F80F}\u{01F848}-\u{01F84F}\u{01F85A}-\u{01F85F}\u{01F888}-\u{01F88F}\u{01F8AE}-\u{01F8FF}\u{01F90C}\u{01F90D}-\u{01F90F}\u{01F910}-\u{01F918}\u{01F919}-\u{01F91E}\u{01F91F}\u{01F920}-\u{01F927}\u{01F928}-\u{01F92F}\u{01F930}\u{01F931}-\u{01F932}\u{01F933}-\u{01F93A}\u{01F93C}-\u{01F93E}\u{01F93F}\u{01F940}-\u{01F945}\u{01F947}-\u{01F94B}\u{01F94C}\u{01F94D}-\u{01F94F}\u{01F950}-\u{01F95E}\u{01F95F}-\u{01F96B}\u{01F96C}-\u{01F970}\u{01F971}\u{01F972}\u{01F973}-\u{01F976}\u{01F977}-\u{01F978}\u{01F979}\u{01F97A}\u{01F97B}\u{01F97C}-\u{01F97F}\u{01F980}-\u{01F984}\u{01F985}-\u{01F991}\u{01F992}-\u{01F997}\u{01F998}-\u{01F9A2}\u{01F9A3}-\u{01F9A4}\u{01F9A5}-\u{01F9AA}\u{01F9AB}-\u{01F9AD}\u{01F9AE}-\u{01F9AF}\u{01F9B0}-\u{01F9B9}\u{01F9BA}-\u{01F9BF}\u{01F9C0}\u{01F9C1}-\u{01F9C2}\u{01F9C3}-\u{01F9CA}\u{01F9CB}\u{01F9CC}\u{01F9CD}-\u{01F9CF}\u{01F9D0}-\u{01F9E6}\u{01F9E7}-\u{01F9FF}\u{01FA00}-\u{01FA6F}\u{01FA70}-\u{01FA73}\u{01FA74}\u{01FA75}-\u{01FA77}\u{01FA78}-\u{01FA7A}\u{01FA7B}-\u{01FA7F}\u{01FA80}-\u{01FA82}\u{01FA83}-\u{01FA86}\u{01FA87}-\u{01FA8F}\u{01FA90}-\u{01FA95}\u{01FA96}-\u{01FAA8}\u{01FAA9}-\u{01FAAF}\u{01FAB0}-\u{01FAB6}\u{01FAB7}-\u{01FABF}\u{01FAC0}-\u{01FAC2}\u{01FAC3}-\u{01FACF}\u{01FAD0}-\u{01FAD6}\u{01FAD7}-\u{01FAFF}\u{01FC00}-\u{01FFFD}]/u,bu.WORD_BREAK_PROPERTY=[[0,0],[10,1],[11,2],[13,3],[14,0],[32,4],[33,0],[34,5],[35,0],[39,6],[40,0],[44,7],[45,0],[46,8],[47,0],[48,9],[58,10],[59,7],[60,0],[65,11],[91,0],[95,12],[96,0],[97,11],[123,0],[133,2],[134,0],[170,11],[171,0],[173,13],[174,0],[181,11],[182,0],[183,10],[184,0],[186,11],[187,0],[192,11],[215,0],[216,11],[247,0],[248,11],[728,0],[734,11],[768,14],[880,11],[885,0],[886,11],[888,0],[890,11],[894,7],[895,11],[896,0],[902,11],[903,10],[904,11],[907,0],[908,11],[909,0],[910,11],[930,0],[931,11],[1014,0],[1015,11],[1154,0],[1155,14],[1162,11],[1328,0],[1329,11],[1367,0],[1369,11],[1373,0],[1374,11],[1375,10],[1376,11],[1417,7],[1418,11],[1419,0],[1425,14],[1470,0],[1471,14],[1472,0],[1473,14],[1475,0],[1476,14],[1478,0],[1479,14],[1480,0],[1488,15],[1515,0],[1519,15],[1523,11],[1524,10],[1525,0],[1536,13],[1542,0],[1548,7],[1550,0],[1552,14],[1563,0],[1564,13],[1565,0],[1568,11],[1611,14],[1632,9],[1642,0],[1643,9],[1644,7],[1645,0],[1646,11],[1648,14],[1649,11],[1748,0],[1749,11],[1750,14],[1757,13],[1758,0],[1759,14],[1765,11],[1767,14],[1769,0],[1770,14],[1774,11],[1776,9],[1786,11],[1789,0],[1791,11],[1792,0],[1807,13],[1808,11],[1809,14],[1810,11],[1840,14],[1867,0],[1869,11],[1958,14],[1969,11],[1970,0],[1984,9],[1994,11],[2027,14],[2036,11],[2038,0],[2040,7],[2041,0],[2042,11],[2043,0],[2045,14],[2046,0],[2048,11],[2070,14],[2074,11],[2075,14],[2084,11],[2085,14],[2088,11],[2089,14],[2094,0],[2112,11],[2137,14],[2140,0],[2144,11],[2155,0],[2208,11],[2229,0],[2230,11],[2248,0],[2259,14],[2274,13],[2275,14],[2308,11],[2362,14],[2365,11],[2366,14],[2384,11],[2385,14],[2392,11],[2402,14],[2404,0],[2406,9],[2416,0],[2417,11],[2433,14],[2436,0],[2437,11],[2445,0],[2447,11],[2449,0],[2451,11],[2473,0],[2474,11],[2481,0],[2482,11],[2483,0],[2486,11],[2490,0],[2492,14],[2493,11],[2494,14],[2501,0],[2503,14],[2505,0],[2507,14],[2510,11],[2511,0],[2519,14],[2520,0],[2524,11],[2526,0],[2527,11],[2530,14],[2532,0],[2534,9],[2544,11],[2546,0],[2556,11],[2557,0],[2558,14],[2559,0],[2561,14],[2564,0],[2565,11],[2571,0],[2575,11],[2577,0],[2579,11],[2601,0],[2602,11],[2609,0],[2610,11],[2612,0],[2613,11],[2615,0],[2616,11],[2618,0],[2620,14],[2621,0],[2622,14],[2627,0],[2631,14],[2633,0],[2635,14],[2638,0],[2641,14],[2642,0],[2649,11],[2653,0],[2654,11],[2655,0],[2662,9],[2672,14],[2674,11],[2677,14],[2678,0],[2689,14],[2692,0],[2693,11],[2702,0],[2703,11],[2706,0],[2707,11],[2729,0],[2730,11],[2737,0],[2738,11],[2740,0],[2741,11],[2746,0],[2748,14],[2749,11],[2750,14],[2758,0],[2759,14],[2762,0],[2763,14],[2766,0],[2768,11],[2769,0],[2784,11],[2786,14],[2788,0],[2790,9],[2800,0],[2809,11],[2810,14],[2816,0],[2817,14],[2820,0],[2821,11],[2829,0],[2831,11],[2833,0],[2835,11],[2857,0],[2858,11],[2865,0],[2866,11],[2868,0],[2869,11],[2874,0],[2876,14],[2877,11],[2878,14],[2885,0],[2887,14],[2889,0],[2891,14],[2894,0],[2901,14],[2904,0],[2908,11],[2910,0],[2911,11],[2914,14],[2916,0],[2918,9],[2928,0],[2929,11],[2930,0],[2946,14],[2947,11],[2948,0],[2949,11],[2955,0],[2958,11],[2961,0],[2962,11],[2966,0],[2969,11],[2971,0],[2972,11],[2973,0],[2974,11],[2976,0],[2979,11],[2981,0],[2984,11],[2987,0],[2990,11],[3002,0],[3006,14],[3011,0],[3014,14],[3017,0],[3018,14],[3022,0],[3024,11],[3025,0],[3031,14],[3032,0],[3046,9],[3056,0],[3072,14],[3077,11],[3085,0],[3086,11],[3089,0],[3090,11],[3113,0],[3114,11],[3130,0],[3133,11],[3134,14],[3141,0],[3142,14],[3145,0],[3146,14],[3150,0],[3157,14],[3159,0],[3160,11],[3163,0],[3168,11],[3170,14],[3172,0],[3174,9],[3184,0],[3200,11],[3201,14],[3204,0],[3205,11],[3213,0],[3214,11],[3217,0],[3218,11],[3241,0],[3242,11],[3252,0],[3253,11],[3258,0],[3260,14],[3261,11],[3262,14],[3269,0],[3270,14],[3273,0],[3274,14],[3278,0],[3285,14],[3287,0],[3294,11],[3295,0],[3296,11],[3298,14],[3300,0],[3302,9],[3312,0],[3313,11],[3315,0],[3328,14],[3332,11],[3341,0],[3342,11],[3345,0],[3346,11],[3387,14],[3389,11],[3390,14],[3397,0],[3398,14],[3401,0],[3402,14],[3406,11],[3407,0],[3412,11],[3415,14],[3416,0],[3423,11],[3426,14],[3428,0],[3430,9],[3440,0],[3450,11],[3456,0],[3457,14],[3460,0],[3461,11],[3479,0],[3482,11],[3506,0],[3507,11],[3516,0],[3517,11],[3518,0],[3520,11],[3527,0],[3530,14],[3531,0],[3535,14],[3541,0],[3542,14],[3543,0],[3544,14],[3552,0],[3558,9],[3568,0],[3570,14],[3572,0],[3633,14],[3634,0],[3636,14],[3643,0],[3655,14],[3663,0],[3664,9],[3674,0],[3761,14],[3762,0],[3764,14],[3773,0],[3784,14],[3790,0],[3792,9],[3802,0],[3840,11],[3841,0],[3864,14],[3866,0],[3872,9],[3882,0],[3893,14],[3894,0],[3895,14],[3896,0],[3897,14],[3898,0],[3902,14],[3904,11],[3912,0],[3913,11],[3949,0],[3953,14],[3973,0],[3974,14],[3976,11],[3981,14],[3992,0],[3993,14],[4029,0],[4038,14],[4039,0],[4139,14],[4159,0],[4160,9],[4170,0],[4182,14],[4186,0],[4190,14],[4193,0],[4194,14],[4197,0],[4199,14],[4206,0],[4209,14],[4213,0],[4226,14],[4238,0],[4239,14],[4240,9],[4250,14],[4254,0],[4256,11],[4294,0],[4295,11],[4296,0],[4301,11],[4302,0],[4304,11],[4347,0],[4348,11],[4681,0],[4682,11],[4686,0],[4688,11],[4695,0],[4696,11],[4697,0],[4698,11],[4702,0],[4704,11],[4745,0],[4746,11],[4750,0],[4752,11],[4785,0],[4786,11],[4790,0],[4792,11],[4799,0],[4800,11],[4801,0],[4802,11],[4806,0],[4808,11],[4823,0],[4824,11],[4881,0],[4882,11],[4886,0],[4888,11],[4955,0],[4957,14],[4960,0],[4992,11],[5008,0],[5024,11],[5110,0],[5112,11],[5118,0],[5121,11],[5741,0],[5743,11],[5760,4],[5761,11],[5787,0],[5792,11],[5867,0],[5870,11],[5881,0],[5888,11],[5901,0],[5902,11],[5906,14],[5909,0],[5920,11],[5938,14],[5941,0],[5952,11],[5970,14],[5972,0],[5984,11],[5997,0],[5998,11],[6001,0],[6002,14],[6004,0],[6068,14],[6100,0],[6109,14],[6110,0],[6112,9],[6122,0],[6155,14],[6158,13],[6159,0],[6160,9],[6170,0],[6176,11],[6265,0],[6272,11],[6277,14],[6279,11],[6313,14],[6314,11],[6315,0],[6320,11],[6390,0],[6400,11],[6431,0],[6432,14],[6444,0],[6448,14],[6460,0],[6470,9],[6480,0],[6608,9],[6618,0],[6656,11],[6679,14],[6684,0],[6741,14],[6751,0],[6752,14],[6781,0],[6783,14],[6784,9],[6794,0],[6800,9],[6810,0],[6832,14],[6849,0],[6912,14],[6917,11],[6964,14],[6981,11],[6988,0],[6992,9],[7002,0],[7019,14],[7028,0],[7040,14],[7043,11],[7073,14],[7086,11],[7088,9],[7098,11],[7142,14],[7156,0],[7168,11],[7204,14],[7224,0],[7232,9],[7242,0],[7245,11],[7248,9],[7258,11],[7294,0],[7296,11],[7305,0],[7312,11],[7355,0],[7357,11],[7360,0],[7376,14],[7379,0],[7380,14],[7401,11],[7405,14],[7406,11],[7412,14],[7413,11],[7415,14],[7418,11],[7419,0],[7424,11],[7616,14],[7674,0],[7675,14],[7680,11],[7958,0],[7960,11],[7966,0],[7968,11],[8006,0],[8008,11],[8014,0],[8016,11],[8024,0],[8025,11],[8026,0],[8027,11],[8028,0],[8029,11],[8030,0],[8031,11],[8062,0],[8064,11],[8117,0],[8118,11],[8125,0],[8126,11],[8127,0],[8130,11],[8133,0],[8134,11],[8141,0],[8144,11],[8148,0],[8150,11],[8156,0],[8160,11],[8173,0],[8178,11],[8181,0],[8182,11],[8189,0],[8192,4],[8199,0],[8200,4],[8203,0],[8204,14],[8205,16],[8206,13],[8208,0],[8216,8],[8218,0],[8228,8],[8229,0],[8231,10],[8232,2],[8234,13],[8239,12],[8240,0],[8255,12],[8257,0],[8260,7],[8261,0],[8276,12],[8277,0],[8287,4],[8288,13],[8293,0],[8294,13],[8304,0],[8305,11],[8306,0],[8319,11],[8320,0],[8336,11],[8349,0],[8400,14],[8433,0],[8450,11],[8451,0],[8455,11],[8456,0],[8458,11],[8468,0],[8469,11],[8470,0],[8473,11],[8478,0],[8484,11],[8485,0],[8486,11],[8487,0],[8488,11],[8489,0],[8490,11],[8494,0],[8495,11],[8506,0],[8508,11],[8512,0],[8517,11],[8522,0],[8526,11],[8527,0],[8544,11],[8585,0],[9398,11],[9450,0],[11264,11],[11311,0],[11312,11],[11359,0],[11360,11],[11493,0],[11499,11],[11503,14],[11506,11],[11508,0],[11520,11],[11558,0],[11559,11],[11560,0],[11565,11],[11566,0],[11568,11],[11624,0],[11631,11],[11632,0],[11647,14],[11648,11],[11671,0],[11680,11],[11687,0],[11688,11],[11695,0],[11696,11],[11703,0],[11704,11],[11711,0],[11712,11],[11719,0],[11720,11],[11727,0],[11728,11],[11735,0],[11736,11],[11743,0],[11744,14],[11776,0],[11823,11],[11824,0],[12288,4],[12289,0],[12293,11],[12294,0],[12330,14],[12336,0],[12337,17],[12342,0],[12347,11],[12349,0],[12441,14],[12443,17],[12445,0],[12448,17],[12539,0],[12540,17],[12544,0],[12549,11],[12592,0],[12593,11],[12687,0],[12704,11],[12736,0],[12784,17],[12800,0],[13008,17],[13055,0],[13056,17],[13144,0],[40960,11],[42125,0],[42192,11],[42238,0],[42240,11],[42509,0],[42512,11],[42528,9],[42538,11],[42540,0],[42560,11],[42607,14],[42611,0],[42612,14],[42622,0],[42623,11],[42654,14],[42656,11],[42736,14],[42738,0],[42760,11],[42944,0],[42946,11],[42955,0],[42997,11],[43010,14],[43011,11],[43014,14],[43015,11],[43019,14],[43020,11],[43043,14],[43048,0],[43052,14],[43053,0],[43072,11],[43124,0],[43136,14],[43138,11],[43188,14],[43206,0],[43216,9],[43226,0],[43232,14],[43250,11],[43256,0],[43259,11],[43260,0],[43261,11],[43263,14],[43264,9],[43274,11],[43302,14],[43310,0],[43312,11],[43335,14],[43348,0],[43360,11],[43389,0],[43392,14],[43396,11],[43443,14],[43457,0],[43471,11],[43472,9],[43482,0],[43493,14],[43494,0],[43504,9],[43514,0],[43520,11],[43561,14],[43575,0],[43584,11],[43587,14],[43588,11],[43596,14],[43598,0],[43600,9],[43610,0],[43643,14],[43646,0],[43696,14],[43697,0],[43698,14],[43701,0],[43703,14],[43705,0],[43710,14],[43712,0],[43713,14],[43714,0],[43744,11],[43755,14],[43760,0],[43762,11],[43765,14],[43767,0],[43777,11],[43783,0],[43785,11],[43791,0],[43793,11],[43799,0],[43808,11],[43815,0],[43816,11],[43823,0],[43824,11],[43882,0],[43888,11],[44003,14],[44011,0],[44012,14],[44014,0],[44016,9],[44026,0],[44032,11],[55204,0],[55216,11],[55239,0],[55243,11],[55292,0],[64256,11],[64263,0],[64275,11],[64280,0],[64285,15],[64286,14],[64287,15],[64297,0],[64298,15],[64311,0],[64312,15],[64317,0],[64318,15],[64319,0],[64320,15],[64322,0],[64323,15],[64325,0],[64326,15],[64336,11],[64434,0],[64467,11],[64830,0],[64848,11],[64912,0],[64914,11],[64968,0],[65008,11],[65020,0],[65024,14],[65040,7],[65041,0],[65043,10],[65044,7],[65045,0],[65056,14],[65072,0],[65075,12],[65077,0],[65101,12],[65104,7],[65105,0],[65106,8],[65107,0],[65108,7],[65109,10],[65110,0],[65136,11],[65141,0],[65142,11],[65277,0],[65279,13],[65280,0],[65287,8],[65288,0],[65292,7],[65293,0],[65294,8],[65295,0],[65296,9],[65306,10],[65307,7],[65308,0],[65313,11],[65339,0],[65343,12],[65344,0],[65345,11],[65371,0],[65382,17],[65438,14],[65440,11],[65471,0],[65474,11],[65480,0],[65482,11],[65488,0],[65490,11],[65496,0],[65498,11],[65501,0],[65529,13],[65532,0],[65536,11],[65548,0],[65549,11],[65575,0],[65576,11],[65595,0],[65596,11],[65598,0],[65599,11],[65614,0],[65616,11],[65630,0],[65664,11],[65787,0],[65856,11],[65909,0],[66045,14],[66046,0],[66176,11],[66205,0],[66208,11],[66257,0],[66272,14],[66273,0],[66304,11],[66336,0],[66349,11],[66379,0],[66384,11],[66422,14],[66427,0],[66432,11],[66462,0],[66464,11],[66500,0],[66504,11],[66512,0],[66513,11],[66518,0],[66560,11],[66718,0],[66720,9],[66730,0],[66736,11],[66772,0],[66776,11],[66812,0],[66816,11],[66856,0],[66864,11],[66916,0],[67072,11],[67383,0],[67392,11],[67414,0],[67424,11],[67432,0],[67584,11],[67590,0],[67592,11],[67593,0],[67594,11],[67638,0],[67639,11],[67641,0],[67644,11],[67645,0],[67647,11],[67670,0],[67680,11],[67703,0],[67712,11],[67743,0],[67808,11],[67827,0],[67828,11],[67830,0],[67840,11],[67862,0],[67872,11],[67898,0],[67968,11],[68024,0],[68030,11],[68032,0],[68096,11],[68097,14],[68100,0],[68101,14],[68103,0],[68108,14],[68112,11],[68116,0],[68117,11],[68120,0],[68121,11],[68150,0],[68152,14],[68155,0],[68159,14],[68160,0],[68192,11],[68221,0],[68224,11],[68253,0],[68288,11],[68296,0],[68297,11],[68325,14],[68327,0],[68352,11],[68406,0],[68416,11],[68438,0],[68448,11],[68467,0],[68480,11],[68498,0],[68608,11],[68681,0],[68736,11],[68787,0],[68800,11],[68851,0],[68864,11],[68900,14],[68904,0],[68912,9],[68922,0],[69248,11],[69290,0],[69291,14],[69293,0],[69296,11],[69298,0],[69376,11],[69405,0],[69415,11],[69416,0],[69424,11],[69446,14],[69457,0],[69552,11],[69573,0],[69600,11],[69623,0],[69632,14],[69635,11],[69688,14],[69703,0],[69734,9],[69744,0],[69759,14],[69763,11],[69808,14],[69819,0],[69821,13],[69822,0],[69837,13],[69838,0],[69840,11],[69865,0],[69872,9],[69882,0],[69888,14],[69891,11],[69927,14],[69941,0],[69942,9],[69952,0],[69956,11],[69957,14],[69959,11],[69960,0],[69968,11],[70003,14],[70004,0],[70006,11],[70007,0],[70016,14],[70019,11],[70067,14],[70081,11],[70085,0],[70089,14],[70093,0],[70094,14],[70096,9],[70106,11],[70107,0],[70108,11],[70109,0],[70144,11],[70162,0],[70163,11],[70188,14],[70200,0],[70206,14],[70207,0],[70272,11],[70279,0],[70280,11],[70281,0],[70282,11],[70286,0],[70287,11],[70302,0],[70303,11],[70313,0],[70320,11],[70367,14],[70379,0],[70384,9],[70394,0],[70400,14],[70404,0],[70405,11],[70413,0],[70415,11],[70417,0],[70419,11],[70441,0],[70442,11],[70449,0],[70450,11],[70452,0],[70453,11],[70458,0],[70459,14],[70461,11],[70462,14],[70469,0],[70471,14],[70473,0],[70475,14],[70478,0],[70480,11],[70481,0],[70487,14],[70488,0],[70493,11],[70498,14],[70500,0],[70502,14],[70509,0],[70512,14],[70517,0],[70656,11],[70709,14],[70727,11],[70731,0],[70736,9],[70746,0],[70750,14],[70751,11],[70754,0],[70784,11],[70832,14],[70852,11],[70854,0],[70855,11],[70856,0],[70864,9],[70874,0],[71040,11],[71087,14],[71094,0],[71096,14],[71105,0],[71128,11],[71132,14],[71134,0],[71168,11],[71216,14],[71233,0],[71236,11],[71237,0],[71248,9],[71258,0],[71296,11],[71339,14],[71352,11],[71353,0],[71360,9],[71370,0],[71453,14],[71468,0],[71472,9],[71482,0],[71680,11],[71724,14],[71739,0],[71840,11],[71904,9],[71914,0],[71935,11],[71943,0],[71945,11],[71946,0],[71948,11],[71956,0],[71957,11],[71959,0],[71960,11],[71984,14],[71990,0],[71991,14],[71993,0],[71995,14],[71999,11],[72e3,14],[72001,11],[72002,14],[72004,0],[72016,9],[72026,0],[72096,11],[72104,0],[72106,11],[72145,14],[72152,0],[72154,14],[72161,11],[72162,0],[72163,11],[72164,14],[72165,0],[72192,11],[72193,14],[72203,11],[72243,14],[72250,11],[72251,14],[72255,0],[72263,14],[72264,0],[72272,11],[72273,14],[72284,11],[72330,14],[72346,0],[72349,11],[72350,0],[72384,11],[72441,0],[72704,11],[72713,0],[72714,11],[72751,14],[72759,0],[72760,14],[72768,11],[72769,0],[72784,9],[72794,0],[72818,11],[72848,0],[72850,14],[72872,0],[72873,14],[72887,0],[72960,11],[72967,0],[72968,11],[72970,0],[72971,11],[73009,14],[73015,0],[73018,14],[73019,0],[73020,14],[73022,0],[73023,14],[73030,11],[73031,14],[73032,0],[73040,9],[73050,0],[73056,11],[73062,0],[73063,11],[73065,0],[73066,11],[73098,14],[73103,0],[73104,14],[73106,0],[73107,14],[73112,11],[73113,0],[73120,9],[73130,0],[73440,11],[73459,14],[73463,0],[73648,11],[73649,0],[73728,11],[74650,0],[74752,11],[74863,0],[74880,11],[75076,0],[77824,11],[78895,0],[78896,13],[78905,0],[82944,11],[83527,0],[92160,11],[92729,0],[92736,11],[92767,0],[92768,9],[92778,0],[92880,11],[92910,0],[92912,14],[92917,0],[92928,11],[92976,14],[92983,0],[92992,11],[92996,0],[93008,9],[93018,0],[93027,11],[93048,0],[93053,11],[93072,0],[93760,11],[93824,0],[93952,11],[94027,0],[94031,14],[94032,11],[94033,14],[94088,0],[94095,14],[94099,11],[94112,0],[94176,11],[94178,0],[94179,11],[94180,14],[94181,0],[94192,14],[94194,0],[110592,17],[110593,0],[110948,17],[110952,0],[113664,11],[113771,0],[113776,11],[113789,0],[113792,11],[113801,0],[113808,11],[113818,0],[113821,14],[113823,0],[113824,13],[113828,0],[119141,14],[119146,0],[119149,14],[119155,13],[119163,14],[119171,0],[119173,14],[119180,0],[119210,14],[119214,0],[119362,14],[119365,0],[119808,11],[119893,0],[119894,11],[119965,0],[119966,11],[119968,0],[119970,11],[119971,0],[119973,11],[119975,0],[119977,11],[119981,0],[119982,11],[119994,0],[119995,11],[119996,0],[119997,11],[120004,0],[120005,11],[120070,0],[120071,11],[120075,0],[120077,11],[120085,0],[120086,11],[120093,0],[120094,11],[120122,0],[120123,11],[120127,0],[120128,11],[120133,0],[120134,11],[120135,0],[120138,11],[120145,0],[120146,11],[120486,0],[120488,11],[120513,0],[120514,11],[120539,0],[120540,11],[120571,0],[120572,11],[120597,0],[120598,11],[120629,0],[120630,11],[120655,0],[120656,11],[120687,0],[120688,11],[120713,0],[120714,11],[120745,0],[120746,11],[120771,0],[120772,11],[120780,0],[120782,9],[120832,0],[121344,14],[121399,0],[121403,14],[121453,0],[121461,14],[121462,0],[121476,14],[121477,0],[121499,14],[121504,0],[121505,14],[121520,0],[122880,14],[122887,0],[122888,14],[122905,0],[122907,14],[122914,0],[122915,14],[122917,0],[122918,14],[122923,0],[123136,11],[123181,0],[123184,14],[123191,11],[123198,0],[123200,9],[123210,0],[123214,11],[123215,0],[123584,11],[123628,14],[123632,9],[123642,0],[124928,11],[125125,0],[125136,14],[125143,0],[125184,11],[125252,14],[125259,11],[125260,0],[125264,9],[125274,0],[126464,11],[126468,0],[126469,11],[126496,0],[126497,11],[126499,0],[126500,11],[126501,0],[126503,11],[126504,0],[126505,11],[126515,0],[126516,11],[126520,0],[126521,11],[126522,0],[126523,11],[126524,0],[126530,11],[126531,0],[126535,11],[126536,0],[126537,11],[126538,0],[126539,11],[126540,0],[126541,11],[126544,0],[126545,11],[126547,0],[126548,11],[126549,0],[126551,11],[126552,0],[126553,11],[126554,0],[126555,11],[126556,0],[126557,11],[126558,0],[126559,11],[126560,0],[126561,11],[126563,0],[126564,11],[126565,0],[126567,11],[126571,0],[126572,11],[126579,0],[126580,11],[126584,0],[126585,11],[126589,0],[126590,11],[126591,0],[126592,11],[126602,0],[126603,11],[126620,0],[126625,11],[126628,0],[126629,11],[126634,0],[126635,11],[126652,0],[127280,11],[127306,0],[127312,11],[127338,0],[127344,11],[127370,0],[127462,18],[127488,0],[127995,14],[128e3,0],[130032,9],[130042,0],[917505,13],[917506,0],[917536,14],[917632,0],[917760,14],[918e3,0]];/*!
|
|
707
707
|
* Copyright (c) 2019 Eddie Antonio Santos
|
|
708
708
|
*
|
|
709
709
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
@@ -2112,7 +2112,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
|
|
|
2112
2112
|
}
|
|
2113
2113
|
}
|
|
2114
2114
|
}
|
|
2115
|
-
`,kO=async e=>{var n;return(n=(await St.getShadowGraphqlClient().mutate({mutation:NO,errorPolicy:"all",fetchPolicy:"no-cache",variables:{name:e.name,layouts:e.layouts,workflowId:e.workflowId,transactionId:e.transactionId,previewImage:e.previewImage,useThreeDimPreview:e.useThreeDimPreview,metadata:e.metadata,selectedVariants:e.selectedVariants}})).data)==null?void 0:n.designCreate},RO=async e=>{var n;return(n=(await St.getShadowGraphqlClient().mutate({mutation:PO,errorPolicy:"all",fetchPolicy:"no-cache",variables:{inputs:e.map(r=>({name:r.name,layouts:r.layouts,workflowId:r.workflowId,transactionId:r.transactionId,previewImage:r.previewImage,useThreeDimPreview:r.useThreeDimPreview,metadata:r.metadata,selectedVariants:r.selectedVariants}))}})).data)==null?void 0:n.designCreateMany},R0=(e,t,n)=>{const r=a=>{const s={};if(a.type==="Frame"){const o=e[a.stepName],c=a.data;if(!o||c.hideImageInCart&&n)return s;s[`${a.stepTitle} image`]=o.image}if(a.type==="Illustration"){const o=e[a.stepName],c=a.data;if(!o||c.hideColorsInCart&&n||!o.colors)return s;if(o.colors.length>0){const l=o.colors.join(", ").toUpperCase();s[`${a.stepTitle} colors`]=l}}if(a.type==="Module"){const o=e[a.stepName],c=a.data;if(!o||c.hideTextInCart&&n)return s;s[`${a.stepTitle} text`]=o.text}if(a.type==="Text"){const o=e[a.stepName];if(!o)return s;const c=a.data;(!c.hideTextInCart||!n)&&(s[`${a.stepTitle} text`]=o.text),o.color&&(!c.hideColorInCart||!n)&&(s[`${a.stepTitle} color`]=o.color)}return s},i={};return t.steps.forEach(a=>{Object.assign(i,r(a))}),i},OO=(e,t,n,r)=>{const i={};let a;if(n){a=R0(n,t,!1);for(const s of Object.keys(a))i[s]={value:a[s],priceModifier:0}}else if(r){a=r;for(const s of Object.keys(a))i[s]={value:a[s],priceModifier:0}}for(const s of Object.keys(e)){const o=e[s],c=t.steps.find(l=>l.stepTitle===s);if(o.length===1)i[`${c==null?void 0:c.stepTitle} selection`]={value:o[0].name,priceModifier:o[0].priceModifier};else if(o.length>1)for(let l=0;l<o.length;l++)i[`${c==null?void 0:c.stepTitle} selection ${l+1}`]={value:o[l].name,priceModifier:o[l].priceModifier}}return i},VE=(e,t,n,r,i,a,s,o,c,l)=>{const A=(vt.getMap("transactionOwnerIds")||new Map).get(e.id),h={baseCost:n,designProductId:e.externalDesignProductId,designProductVariantId:e.externalDesignProductVariantId,event:"onComplete",exportedData:a,externalCartProductId:e.externalCartProductId,externalCartProductVariantId:e.externalCartProductVariantId,lineItemImageUrl:s||"",optionsCost:r,processExecutionId:l,transactionId:e.id,transactionOwnerId:A,weight:t.weight,workflowViewerLink:e.workflowViewerLink||"",workflowViewerReadOnlyLink:e.workflowViewerReadOnlyLink||""};return i&&(h.metadata=i),o&&(h.selectedVariants=o),c&&(h.sku=c),h},UO=(e,t,n,r)=>{const i=(t.basePrice||0)*(e.variationsCount||0),a=e.priceModifierTotal||0,s={items:{value:e.variationsCount?`${e.variationsCount}`:"0",priceModifier:0}};return VE(e,t,i,a,void 0,s,n,void 0,void 0,r)},zE=async(e,t,n,r,i,a,s,o)=>{const c=t.basePrice||0,l=e.priceModifierTotal||0,u=OO(r,n,void 0,a);return VE(e,t,c,l,a,u,s,r,i,o)},JE=async(e,t,n,r,i,a,s,o,c)=>{var D,N;await e.outstandingRequestsPromise();const u=await St.getShadowGraphqlClient().query({query:XN,variables:{id:i.id},fetchPolicy:"no-cache",errorPolicy:"all"}),A=(D=u.data)==null?void 0:D.transactions[0].workflowState;(u.errors||!A)&&(console.warn("State mismatch detected. Uploading known state explicitly"),console.warn("State Object:",JSON.stringify(r())),u.errors&&u.errors.forEach(P=>{u.errors&&console.log("Server Error:",P.message)}),await e.updateStateWithServerImmediate(r),console.log("Server state is undefined @ Workflow completion"));const h=e.getPreviewService(),f=(N=t==null?void 0:t.finalizeStepConfig)==null?void 0:N.lookAtAnimation,d=h&&h.getSceneInitializationProgress()===100&&t.showModelOnFinishStep&&!!f,p=c&&R0(c,t,!0),m=c&&R0(c,t,!1),y=async P=>{const U={};let L=0;if(Object.keys(a).length>0)for(const V of Object.keys(a)){const W=a[V],J=t.steps.find(Z=>Z.stepName===V);for(let Z=0;Z<W.selections.length;++Z){const et=W.selections[Z];if(J&&(!P||J.option&&(J.option.variants||[]).length>1&&!J.data.hideSelectionInCart&&!J.data.hideSelectionsInCart)){const ct=J.stepTitle;U[ct]?U[ct].push({id:et.id||"",name:et.name,priceModifier:et.priceModifier}):U[ct]=[{id:et.id||"",name:et.name,priceModifier:et.priceModifier}]}L+=et.priceModifier}}return[U,L]},[v]=await y(!0),w=Object.fromEntries(Object.keys(v).map(P=>[P,v[P].map(U=>U.id)])),[B]=await y(!1),x=Object.fromEntries(Object.keys(B).map(P=>[P,B[P].map(U=>U.id)])),C=await o(d);return{designDetails:(()=>{const P={name:s,layouts:n.map(U=>({index:U.index,panelId:U.panelId})),workflowId:t.id,transactionId:i.id,useThreeDimPreview:!!d,previewImage:C};if(m){const U=[];for(const[L,V]of Object.entries(m))U.push({key:L,value:V});P.metadata=U}if(w){const U=[];for(const[L,V]of Object.entries(x))U.push({key:L,ids:V});P.selectedVariants=U}return P})(),cartSelectionsWithPrices:v,cartMetadata:p}},jE=async(e,t,n,r,i,a,s,o,c,l,u,A,h)=>{var w,B,x;c("workflow.steps.finish.finalize.buildingLayouts");const{designDetails:f,cartSelectionsWithPrices:d,cartMetadata:p}=await JE(e,t,n,r,a,s,o,A,h);c("workflow.steps.finish.finalize.creatingDesign"),a.bulk&&await l(u);const m=await kO(f),y=(w=m==null?void 0:m.transaction)==null?void 0:w.previewImageLink;if(!(m!=null&&m.transaction))throw new Error("Failed to create design");c("workflow.steps.finish.finalize.updatingTransaction");const v=m.transaction;return a.bulk?UO(v,i,y,(B=m==null?void 0:m.processExecution)==null?void 0:B.id):await zE(v,i,t,d,m==null?void 0:m.sku,p,y,(x=m==null?void 0:m.processExecution)==null?void 0:x.id)},LO=async(e,t)=>{t("workflow.steps.finish.finalize.buildingLayouts");const n=await Promise.all(e.map(async i=>await JE(i.workflowManager,i.workflow,i.layouts,i.getReducerState,i.transaction,i.workflowSelections,i.designName,()=>Promise.resolve(void 0),i.workflowMetadata)));t("workflow.steps.finish.finalize.creatingDesign");const r=await RO(n.map(i=>i.designDetails));if(!r)throw new Error("Failed to create designs");return t("workflow.steps.finish.finalize.updatingTransaction"),Promise.all(r.map(async(i,a)=>{var l;const s=e[a],o=n[a],c=i.transaction;return await zE(c,s.product,s.workflow,o.cartSelectionsWithPrices,i.sku,o.cartMetadata,void 0,(l=i.processExecution)==null?void 0:l.id)}))};class YO{constructor(){this.localPersistenceKey="designTransactions",this.storageMethod="Local",this.designSavedListeners=[]}attachSaveListener(t){this.designSavedListeners.push(t)}detachSaveListener(t){this.designSavedListeners=this.designSavedListeners.filter(n=>n!==t)}async getSavedDesigns(){if(this.storageMethod==="Local"){const t=vt.get(this.localPersistenceKey);return t?JSON.parse(t):[]}throw new ge("Unexpected storage method requested")}async getSavedDesignByTransaction(t){return(await this.getSavedDesigns()).find(r=>r.transactionId===t)}async addDesign(t){const r=(await this.getSavedDesigns()).filter(i=>i.transactionId!==t.transactionId);r.unshift(t),await this.setDesigns(r),this.designSavedListeners.forEach(i=>i(t))}async renameDesign(t,n){const r=await this.getSavedDesigns(),i=r.find(a=>a.transactionId===t);if(!i)throw new Error(`No saved design for transaction ${t}.`);i.title=n,await this.setDesigns(r)}async removeDesign(t){const n=await this.getSavedDesigns();await this.setDesigns(n.filter(r=>r.transactionId!==t))}async setDesigns(t){if(this.storageMethod==="Local"){vt.set(this.localPersistenceKey,JSON.stringify(t));return}throw new ge("Unexpected storage method requested")}}const Mu=new YO;class Go{constructor(t,n){var i;if(this.renderableScenes=[],this.renderableSceneCallbacks=[],this.debouncedSavedDesignUpdate=Hv(async()=>{await Mu.getSavedDesignByTransaction(this.getWorkflowManager().getTransaction().id)&&this.save()},2500),this.getCanvasObjectURLAsync=async a=>new Promise((s,o)=>{try{a.toBlob(c=>{if(c){const l=URL.createObjectURL(c);s(l)}})}catch(c){o(c)}}),!n.workflow)throw new Error("No Workflow ID provided.");this.client=t;const r=n.layouts;this.commandContext=new Om,this.commandContext.initialize(r,n.reloadedState),this.isReadOnly=n.transaction.isOrdered||!!n.readOnly,this.workflowManager=new MO(n.workflow,((i=n.product.profanities)==null?void 0:i.map(a=>a.word))||[],r,this.commandContext,a=>{try{this.debouncedSavedDesignUpdate()}catch{console.error("Failed to update saved design details.")}return n.stateMutationFunc(a)},n.transaction,n.product,n.previewService,n.renderableContextService,n.reloadedState,n.readOnly,n.modelContainer,n.isReloadedTransaction),this.workflowManager.addSelectionCallback(a=>{const s=a.traversableScenes.map(o=>{const c=o.renderableSteps.map(l=>l.stepName);return{id:o.name,title:o.title,renderableSteps:c}});this.renderableScenes=s,this.renderableSceneCallbacks.forEach(o=>o(s))})}getClient(){return this.client}getIsReadOnly(){return this.isReadOnly}getCommandContext(){return this.commandContext}getWorkflowManager(){return this.workflowManager}async updateVariationRecords(t){await St.getShadowGraphqlClient().mutate({mutation:KN,variables:{transactionId:this.workflowManager.getTransaction().id,updates:t.map(n=>({recordNumber:n.recordNumber,values:n.values.map(r=>({aspect:r.aspect,stepName:r.stepName,value:r.value}))}))}})}async createPreviewImage(t,n){var y,v;const r=this.workflowManager.getWorkflow(),i=(y=r==null?void 0:r.finalizeStepConfig)==null?void 0:y.lookAtAnimation;if(t){if(!i)throw new Error("Failed to generate cart preview image!");return await((v=this.workflowManager.getPreviewService())==null?void 0:v.renderSceneScreenshot(512,i))||""}const a=ri(),s=this.commandContext.getAllLayouts(),o=r.defaultPreviewPanelIndex||0,c=r.panels[o],l=s.find(w=>{var B;return((B=w.layoutState)==null?void 0:B.layout.panelId)===(c==null?void 0:c.name)})||s[0],u=l.layoutState.layout.previewRegion?{x:l.layoutState.layout.previewRegion.left,y:l.layoutState.layout.previewRegion.top,width:l.layoutState.layout.previewRegion.width,height:l.layoutState.layout.previewRegion.height}:{x:0,y:0,width:l.layoutState.layout.width,height:l.layoutState.layout.height},A=this.commandContext.getLayoutById(l.layoutState.layout.id),h=a.getContext("2d");if(!h)throw new ru("Failed to obtain 2D context for preview image creation");const f=Rl(A.layoutState.layout,A.layoutState.elements,{renderingConfiguration:{purpose:Ms.Print,region:{left:u.x,top:u.y,width:u.width,height:u.height}}}),d=Bm(f);await(await ji.from(h,d,{anonymousCrossOrigin:!0,ignoreDimensions:!1,createCanvas:ri,createImage:Zs,DOMParser:Zh(),fetch:Ma})).render();const m=await this.getCanvasObjectURLAsync(a);return a.toDataURL(m)}getStepById(t){const n=this.getWorkflowManager().getWorkflow().steps.find(r=>r.stepName===t);if(!(!n||!this.stepHasHandle(n)))return Ho.get(this.getWorkflowManager(),n)}getSteps(){return this.getScenes().flatMap(t=>this.getStepsByScene(t))}getScenes(){return this.getWorkflowManager().getWorkflow().stepGroups.map(n=>({id:n.id,name:n.name,stepIds:n.stepNames}))}getSelectionPriceSubunits(){const t=this.getWorkflowManager().getWorkflowSelections();let n=0;return Object.values(t).forEach(r=>{n+=r.selections.map(i=>i.priceModifier).reduce((i,a)=>i+a)}),n}getBasePriceSubunits(){return this.getWorkflowManager().getProduct().basePrice||0}getTotalPriceSubunits(){return this.getBasePriceSubunits()+this.getSelectionPriceSubunits()}getBulkStep(){if(this.getWorkflowManager().getTransaction().bulk){const t=this.getWorkflowManager().getProduct().bulkConfiguration,n={type:j.Bulk,stepName:"Bulk",stepTitle:(t==null?void 0:t.stepTitle)??"workflow.steps.bulk.title",helpText:t==null?void 0:t.helpText,data:{aspects:n0(this.getWorkflowManager().getWorkflow())},conditions:[]};return Ho.get(this.getWorkflowManager(),n)}}getStepByName(t){const n=this.getWorkflowManager().getWorkflow().steps.find(r=>r.stepTitle===t);if(!(!n||!this.stepHasHandle(n)))return Ho.get(this.getWorkflowManager(),n)}getStepsByType(t){return this.getWorkflowManager().getWorkflow().steps.filter(n=>n.type===t).map(n=>Ho.get(this.getWorkflowManager(),n))}getStepsByScene(t){if(!this.getWorkflowManager().getWorkflow().stepGroups.find(r=>r.name===t.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 t.stepIds.map(r=>this.getWorkflowManager().getWorkflow().steps.find(i=>i.stepName===r)).filter(r=>this.stepHasHandle(r)).map(r=>Ho.get(this.getWorkflowManager(),r))}async attachCustomerDetails(t){return this.assignCustomerDetails({emailAddress:t.email})}async assignCustomerDetails(t){var i,a,s;const r=(s=(a=(i=(await St.getShadowGraphqlClient().mutate({mutation:TE,variables:{id:this.getWorkflowManager().getTransaction().id,details:t,type:"Owner"}})).data)==null?void 0:i.transactionAddStakeholder)==null?void 0:a.stakeholders)==null?void 0:s.find(o=>{var c;return((c=o.customer)==null?void 0:c.emailAddress)===t.emailAddress});if(r!=null&&r.customer){this.getWorkflowManager().setTransactionCustomer(r.customer);const o=vt.getMap("transactionCustomerIds")||new Map;o.set(this.getWorkflowManager().getTransaction().id,r.customer.id),vt.setMap("transactionCustomerIds",o)}}attachRenderableSceneListener(t){this.renderableSceneCallbacks.push(t),t(this.renderableScenes)}detachRenderableSceneListener(t){this.renderableSceneCallbacks=this.renderableSceneCallbacks.filter(n=>n!==t)}async save(t){if(!this.getCommandContext().getState())throw new ge("State undefined!");const i={title:await(async()=>{var c;if(t)return t;const a=this.getWorkflowManager().getTransaction().id,o=(c=(await Mu.getSavedDesigns()).find(l=>l.transactionId===a))==null?void 0:c.title;return o||"My design"})(),thumbnail:await this.createPreviewImage(!1,256),transactionId:this.getWorkflowManager().getTransaction().id,productId:this.getWorkflowManager().getProduct().id,integrationProductId:this.getWorkflowManager().getTransaction().integrationProduct.id,workflowName:this.getWorkflowManager().getWorkflow().name,workflowId:this.getWorkflowManager().getWorkflow().id,lastEdited:new Date};return await Mu.addDesign(i),i}async copy(){var o;const t=To(this.getCommandContext().getState());if(!t)throw new ge("Internal state is undefined! Cannot copy experience!");const n=JSON.stringify(t.transaction),r=this.getWorkflowManager().getWorkflow(),i=new rB({}),a=(o=this.getWorkflowManager().getTransaction().integrationProduct)==null?void 0:o.id;if(!a)throw new ge("Integration product id is undefined!");return await i.initFromIntegrationProduct(a),await i.getWorkflowExperience(r.id,n,void 0)}async onDesignFinished(t,n=!0){return jE(this.workflowManager,this.workflowManager.getWorkflow(),this.workflowManager.getLayouts(),()=>this.commandContext.getState(),this.workflowManager.getProduct(),this.workflowManager.getTransaction(),this.workflowManager.getWorkflowSelections(),this.workflowManager.getWorkflow().name,t||(()=>{}),r=>this.updateVariationRecords(r),this.workflowManager.getVariationRecords(),r=>n?this.createPreviewImage(r):Promise.resolve(void 0),this.workflowManager.getWorkflowMetadata())}stepHasHandle(t){return t.type!==j.SilentIllustration&&t.type!==j.ProductOverlay}getExportedData(){var i;const t=new Map,n=this.getWorkflowManager().getWorkflowMetadata(),r=this.getWorkflowManager().getWorkflowSelections();return Object.keys(n).forEach(a=>{const s=this.workflowManager.getWorkflow().steps.find(c=>c.stepName===a);if(!s)return;t.has(s.stepTitle)||t.set(s.stepTitle,{});const o=n[a];Object.keys(o).forEach(c=>{t.get(s.stepTitle)[c]=o[c]})}),(i=Object.keys(r))==null||i.forEach(a=>{const s=this.workflowManager.getWorkflow().steps.find(o=>o.stepName===a);s&&(t.has(s.stepTitle)||t.set(s.stepTitle,{}),t.get(s.stepTitle).selection=r[a].selections[0].name)}),t}}const HO=["altGlyph","circle","ellipse","path","polygon","polyline","rect","text","textPath","tref","tspan"],GO=async(e,t,n)=>{const r=t.data,i=n.data.baseUrl,a=r.assetUrl.replace("localhost","localstack"),s=i.slice(0,4)==="http"?"":"https://",o=new URL(s+i);o.searchParams.append("video",xm(JSON.stringify([{href:a}]))),o.pathname=o.pathname+(o.pathname.slice(-1)==="/"?"":"/");const c=o.toString(),u=`data:image/svg+xml;base64,${xm(await AE(c,{type:"svg"}))}`,A=f=>{const d=e.find(m=>m.panelId===f.panelId);if(!d)throw new ke(f);const p=Dt();return new ve({id:p,src:u,type:Et.Image,y:f.top,x:f.left,width:f.width,height:f.height,rotation:0},d)},h=n.data.regions;try{return h.map(A)}catch(f){return console.error(f),[]}},VO=async(e,t,n,r)=>{const i=n.data,a=i.assetUrl,s=await Bf(a);try{const o=qT(i,r.option);o&&(t[r.stepName]={selectedVariants:[o]});const c=async l=>{var p;const u=await nw(l||{width:1,height:1},(p=o==null?void 0:o.asset)==null?void 0:p.fileLink),A=await ao(u),h=Dt(),f=e.find(m=>m.panelId===l.panelId);if(!f)throw new ke(l);const d=Ef(s,A,{scale:i.scale,left:i.x,top:i.y});return[new ve({id:h,path:A.path,type:Et.Frame,focalBlur:r.data.focalBlur,focalBlurStrength:r.data.focalBlurStrength,focalBlurRadius:r.data.focalBlurRadius,forceImageCover:r.data.forceImageCover,x:l.left,y:l.top,width:l.width,height:l.height,layer:l.layer,layerIndex:l.layerIndex,rotation:l.rotation,scaleX:l.width/A.width,scaleY:l.height/A.height,pattern:void 0},f),new Hm(h,s,d)]};return(await Promise.all(r.data.regions.map(l=>c(l)))).flat()}catch(o){return console.error(o),[]}},zO=async(e,t,n,r)=>{var x,C;const i=n.data,a=r.option;if(!a)return console.error(`No option for step ${r.stepName}.`),[];const s=((x=a.variants)==null?void 0:x.find(b=>b.id===i.illustrationVariantId))||io(a);if(!s)return console.error(`No variant with ID: ${i.illustrationVariantId}`),[];if(!s.asset)return console.error(`No asset for variant with ID: ${i.illustrationVariantId}`),[];t[r.stepName]={selectedVariants:[s]};const o=(C=s.asset)==null?void 0:C.fileLink;if(!o)return console.error(`No asset link for variant with ID: ${i.illustrationVariantId}`),[];const c=await Ln(o),l=/<svg.*?<\/svg>/s,u=c.match(l)||[],A=(u==null?void 0:u.length)>0?u[0]:"",d=$r().parseFromString(A,"image/svg+xml").firstElementChild;if(!d)return console.error("Failed to read SVG."),[];zh(d);const p={};Ta(d,b=>{HO.includes(b.tagName)&&!b.attributes.getNamedItem("fill")&&b.setAttribute("fill","#000000");const D=b.attributes.getNamedItem("fill");if(D&&D.value!=="none"){const P=D.value,L=`spiff-fill-${P.replace(/\W/g,"")}`;b.classList.add(L),p[L]={browserValue:P}}const N=b.attributes.getNamedItem("stroke");if(N&&N.value!=="none"){const P=N.value,L=`spiff-stroke-${P.replace(/\W/g,"")}`;b.classList.add(L),p[L]={browserValue:P}}});const y=Tl().serializeToString(d),v=i.colors;if(v){for(const[b,D]of Object.entries(p))for(const N of Object.keys(v))if(D.browserValue===N){p[b]={browserValue:v[N]};break}}const w=b=>{const D=e.find(P=>P.panelId===b.panelId);if(!D)throw new ke(b);const N=Dt();return new ve({colors:p,id:N,svg:y,type:Et.Illustration,y:b.top,x:b.left,rotation:b.rotation,width:b.width,height:b.height,layer:b.layer,layerIndex:b.layerIndex,immutable:b.immutable},D)},B=r.data.regions;try{return B.map(w)}catch(b){return console.error(b),[]}},JO=async(e,t,n)=>{const r=await FE(n.data.module),i=t.data,a=(o,c)=>{const l=e.find(A=>A.panelId===c.panelId);if(!l)throw new ke(c);const u=Dt();return new ve({colors:{},id:u,svg:o,type:Et.Illustration,y:c.top,x:c.left,rotation:c.rotation,width:c.width,height:c.height,layer:c.layer,layerIndex:c.layerIndex},l)},s=n.data.regions;try{return s.map(o=>a(r.svgPrint(i.text,o),o))}catch(o){return console.error(o),[]}},jO=async(e,t,n,r)=>{var u,A;const i=n.data,a=r.option;if(!a)return console.error(`No option for step ${r.stepName}.`),[];const s=((u=a.variants)==null?void 0:u.find(h=>h.id===i.pictureVariantId))||io(a);if(!s)return console.error(`No variant with ID: ${i.pictureVariantId}`),[];if(!s.asset)return console.error(`No asset for variant with ID: ${i.pictureVariantId}`),[];t[r.stepName]={selectedVariants:[s]};const o=(A=s.asset)==null?void 0:A.fileLink;if(!o)return console.error(`No asset link for variant with ID: ${i.pictureVariantId}`),[];const c=h=>{const f=e.find(p=>p.panelId===h.panelId);if(!f)throw new ke(h);const d=Dt();return new ve({id:d,src:o,type:Et.Image,y:h.top,x:h.left,rotation:h.rotation,width:h.width,height:h.height,layer:h.layer,layerIndex:h.layerIndex,immutable:h.immutable,preserveAspectRatio:"none"},f)},l=r.data.regions;try{return l.map(c)}catch(h){return console.error(h),[]}},WO=async(e,t,n,r)=>{var l;const i=n.data,a=r.option;if(!a)return console.error(`No option for step ${r.stepName}.`),[];const s=((l=a.variants)==null?void 0:l.find(u=>u.id===i.colorVariantId))||io(a);if(!s)return console.error(`No variant with ID: ${i.colorVariantId}`),[];t[r.stepName]={selectedVariants:[s]};const o=u=>{const A=e.find(m=>m.panelId===u.panelId);if(!A)throw new ke(u);const h=`
|
|
2115
|
+
`,kO=async e=>{var n;return(n=(await St.getShadowGraphqlClient().mutate({mutation:NO,errorPolicy:"all",fetchPolicy:"no-cache",variables:{name:e.name,layouts:e.layouts,workflowId:e.workflowId,transactionId:e.transactionId,previewImage:e.previewImage,useThreeDimPreview:e.useThreeDimPreview,metadata:e.metadata,selectedVariants:e.selectedVariants}})).data)==null?void 0:n.designCreate},RO=async e=>{var n;return(n=(await St.getShadowGraphqlClient().mutate({mutation:PO,errorPolicy:"all",fetchPolicy:"no-cache",variables:{inputs:e.map(r=>({name:r.name,layouts:r.layouts,workflowId:r.workflowId,transactionId:r.transactionId,previewImage:r.previewImage,useThreeDimPreview:r.useThreeDimPreview,metadata:r.metadata,selectedVariants:r.selectedVariants}))}})).data)==null?void 0:n.designCreateMany},R0=(e,t,n)=>{const r=a=>{const s={};if(a.type==="Frame"){const o=e[a.stepName],c=a.data;if(!o||c.hideImageInCart&&n)return s;s[`${a.stepTitle} image`]=o.image}if(a.type==="Illustration"){const o=e[a.stepName],c=a.data;if(!o||c.hideColorsInCart&&n||!o.colors)return s;if(o.colors.length>0){const l=o.colors.join(", ").toUpperCase();s[`${a.stepTitle} colors`]=l}}if(a.type==="Module"){const o=e[a.stepName],c=a.data;if(!o||c.hideTextInCart&&n)return s;s[`${a.stepTitle} text`]=o.text}if(a.type==="Text"){const o=e[a.stepName];if(!o)return s;const c=a.data;(!c.hideTextInCart||!n)&&(s[`${a.stepTitle} text`]=o.text),o.color&&(!c.hideColorInCart||!n)&&(s[`${a.stepTitle} color`]=o.color)}return s},i={};return t.steps.forEach(a=>{Object.assign(i,r(a))}),i},OO=(e,t,n,r)=>{const i={};let a;if(n){a=R0(n,t,!1);for(const s of Object.keys(a))i[s]={value:a[s],priceModifier:0}}else if(r){a=r;for(const s of Object.keys(a))i[s]={value:a[s],priceModifier:0}}for(const s of Object.keys(e)){const o=e[s],c=t.steps.find(l=>l.stepTitle===s);if(o.length===1)i[`${c==null?void 0:c.stepTitle} selection`]={value:o[0].name,priceModifier:o[0].priceModifier};else if(o.length>1)for(let l=0;l<o.length;l++)i[`${c==null?void 0:c.stepTitle} selection ${l+1}`]={value:o[l].name,priceModifier:o[l].priceModifier}}return i},VE=(e,t,n,r,i,a,s,o,c,l)=>{const A=(vt.getMap("transactionOwnerIds")||new Map).get(e.id),h={baseCost:n,designProductId:e.externalDesignProductId,designProductVariantId:e.externalDesignProductVariantId,event:"onComplete",exportedData:a,externalCartProductId:e.externalCartProductId,externalCartProductVariantId:e.externalCartProductVariantId,lineItemImageUrl:s||"",optionsCost:r,processExecutionId:l,transactionId:e.id,transactionOwnerId:A,weight:t.weight,workflowViewerLink:e.workflowViewerLink||"",workflowViewerReadOnlyLink:e.workflowViewerReadOnlyLink||""};return i&&(h.metadata=i),o&&(h.selectedVariants=o),c&&(h.sku=c),h},UO=(e,t,n,r)=>{const i=(t.basePrice||0)*(e.variationsCount||0),a=e.priceModifierTotal||0,s={items:{value:e.variationsCount?`${e.variationsCount}`:"0",priceModifier:0}};return VE(e,t,i,a,void 0,s,n,void 0,void 0,r)},zE=async(e,t,n,r,i,a,s,o)=>{const c=t.basePrice||0,l=e.priceModifierTotal||0,u=OO(r,n,void 0,a);return VE(e,t,c,l,a,u,s,r,i,o)},JE=async(e,t,n,r,i,a,s,o,c)=>{var D,N;await e.outstandingRequestsPromise();const u=await St.getShadowGraphqlClient().query({query:XN,variables:{id:i.id},fetchPolicy:"no-cache",errorPolicy:"all"}),A=(D=u.data)==null?void 0:D.transactions[0].workflowState;(u.errors||!A)&&(console.warn("State mismatch detected. Uploading known state explicitly"),console.warn("State Object:",JSON.stringify(r())),u.errors&&u.errors.forEach(P=>{u.errors&&console.log("Server Error:",P.message)}),await e.updateStateWithServerImmediate(r),console.log("Server state is undefined @ Workflow completion"));const h=e.getPreviewService(),f=(N=t==null?void 0:t.finalizeStepConfig)==null?void 0:N.lookAtAnimation,d=h&&h.getSceneInitializationProgress()===100&&t.showModelOnFinishStep&&!!f,p=c&&R0(c,t,!0),m=c&&R0(c,t,!1),y=async P=>{const U={};let L=0;if(Object.keys(a).length>0)for(const V of Object.keys(a)){const W=a[V],J=t.steps.find(Z=>Z.stepName===V);for(let Z=0;Z<W.selections.length;++Z){const et=W.selections[Z];if(J&&(!P||J.option&&(J.option.variants||[]).length>1&&!J.data.hideSelectionInCart&&!J.data.hideSelectionsInCart)){const ct=J.stepTitle;U[ct]?U[ct].push({id:et.id||"",name:et.name,priceModifier:et.priceModifier}):U[ct]=[{id:et.id||"",name:et.name,priceModifier:et.priceModifier}]}L+=et.priceModifier}}return[U,L]},[v]=await y(!0),w=Object.fromEntries(Object.keys(v).map(P=>[P,v[P].map(U=>U.id)])),[B]=await y(!1),x=Object.fromEntries(Object.keys(B).map(P=>[P,B[P].map(U=>U.id)])),C=await o(d);return{designDetails:(()=>{const P={name:s,layouts:n.map(U=>({index:U.index,panelId:U.panelId})),workflowId:t.id,transactionId:i.id,useThreeDimPreview:!!d,previewImage:C};if(m){const U=[];for(const[L,V]of Object.entries(m))U.push({key:L,value:V});P.metadata=U}if(w){const U=[];for(const[L,V]of Object.entries(x))U.push({key:L,ids:V});P.selectedVariants=U}return P})(),cartSelectionsWithPrices:v,cartMetadata:p}},jE=async(e,t,n,r,i,a,s,o,c,l,u,A,h)=>{var w,B,x;c("workflow.steps.finish.finalize.buildingLayouts");const{designDetails:f,cartSelectionsWithPrices:d,cartMetadata:p}=await JE(e,t,n,r,a,s,o,A,h);c("workflow.steps.finish.finalize.creatingDesign"),a.bulk&&await l(u);const m=await kO(f),y=(w=m==null?void 0:m.transaction)==null?void 0:w.previewImageLink;if(!(m!=null&&m.transaction))throw new Error("Failed to create design");c("workflow.steps.finish.finalize.updatingTransaction");const v=m.transaction;return a.bulk?UO(v,i,y,(B=m==null?void 0:m.processExecution)==null?void 0:B.id):await zE(v,i,t,d,m==null?void 0:m.sku,p,y,(x=m==null?void 0:m.processExecution)==null?void 0:x.id)},LO=async(e,t)=>{t("workflow.steps.finish.finalize.buildingLayouts");const n=await Promise.all(e.map(async i=>await JE(i.workflowManager,i.workflow,i.layouts,i.getReducerState,i.transaction,i.workflowSelections,i.designName,()=>Promise.resolve(void 0),i.workflowMetadata)));t("workflow.steps.finish.finalize.creatingDesign");const r=await RO(n.map(i=>i.designDetails));if(!r)throw new Error("Failed to create designs");return t("workflow.steps.finish.finalize.updatingTransaction"),Promise.all(r.map(async(i,a)=>{var l;const s=e[a],o=n[a],c=i.transaction;return await zE(c,s.product,s.workflow,o.cartSelectionsWithPrices,i.sku,o.cartMetadata,void 0,(l=i.processExecution)==null?void 0:l.id)}))};class YO{constructor(){this.localPersistenceKey="designTransactions",this.storageMethod="Local",this.designSavedListeners=[]}attachSaveListener(t){this.designSavedListeners.push(t)}detachSaveListener(t){this.designSavedListeners=this.designSavedListeners.filter(n=>n!==t)}async getSavedDesigns(){if(this.storageMethod==="Local"){const t=vt.get(this.localPersistenceKey);return t?JSON.parse(t):[]}throw new ge("Unexpected storage method requested")}async getSavedDesignByTransaction(t){return(await this.getSavedDesigns()).find(r=>r.transactionId===t)}async addDesign(t){const r=(await this.getSavedDesigns()).filter(i=>i.transactionId!==t.transactionId);r.unshift(t),await this.setDesigns(r),this.designSavedListeners.forEach(i=>i(t))}async renameDesign(t,n){const r=await this.getSavedDesigns(),i=r.find(a=>a.transactionId===t);if(!i)throw new Error(`No saved design for transaction ${t}.`);i.title=n,await this.setDesigns(r)}async removeDesign(t){const n=await this.getSavedDesigns();await this.setDesigns(n.filter(r=>r.transactionId!==t))}async setDesigns(t){if(this.storageMethod==="Local"){vt.set(this.localPersistenceKey,JSON.stringify(t));return}throw new ge("Unexpected storage method requested")}}const Mu=new YO;class Go{constructor(t,n){var i;if(this.renderableScenes=[],this.renderableSceneCallbacks=[],this.debouncedSavedDesignUpdate=Hv(async()=>{await Mu.getSavedDesignByTransaction(this.getWorkflowManager().getTransaction().id)&&this.save()},2500),this.getCanvasObjectURLAsync=async a=>new Promise((s,o)=>{try{a.toBlob(c=>{if(c){const l=URL.createObjectURL(c);s(l)}})}catch(c){o(c)}}),!n.workflow)throw new Error("No Workflow ID provided.");this.client=t;const r=n.layouts;this.commandContext=new Om,this.commandContext.initialize(r,n.reloadedState),this.isReadOnly=n.transaction.isOrdered||!!n.readOnly,this.workflowManager=new MO(n.workflow,((i=n.product.profanities)==null?void 0:i.map(a=>a.word))||[],r,this.commandContext,a=>{try{this.debouncedSavedDesignUpdate()}catch{console.error("Failed to update saved design details.")}return n.stateMutationFunc(a)},n.transaction,n.product,n.previewService,n.renderableContextService,n.reloadedState,n.readOnly,n.modelContainer,n.isReloadedTransaction),this.workflowManager.addSelectionCallback(a=>{const s=a.traversableScenes.map(o=>{const c=o.renderableSteps.map(l=>l.stepName);return{id:o.name,title:o.title,renderableSteps:c}});this.renderableScenes=s,this.renderableSceneCallbacks.forEach(o=>o(s))})}getClient(){return this.client}getIsReadOnly(){return this.isReadOnly}getCommandContext(){return this.commandContext}getWorkflowManager(){return this.workflowManager}async updateVariationRecords(t){await St.getShadowGraphqlClient().mutate({mutation:KN,variables:{transactionId:this.workflowManager.getTransaction().id,updates:t.map(n=>({recordNumber:n.recordNumber,values:n.values.map(r=>({aspect:r.aspect,stepName:r.stepName,value:r.value}))}))}})}async createPreviewImage(t,n){var y,v;const r=this.workflowManager.getWorkflow(),i=(y=r==null?void 0:r.finalizeStepConfig)==null?void 0:y.lookAtAnimation;if(t){if(!i)throw new Error("Failed to generate cart preview image!");return await((v=this.workflowManager.getPreviewService())==null?void 0:v.renderSceneScreenshot(512,i))||""}const a=ri(),s=this.commandContext.getAllLayouts(),o=r.defaultPreviewPanelIndex||0,c=r.panels[o],l=s.find(w=>{var B;return((B=w.layoutState)==null?void 0:B.layout.panelId)===(c==null?void 0:c.name)})||s[0],u=l.layoutState.layout.previewRegion?{x:l.layoutState.layout.previewRegion.left,y:l.layoutState.layout.previewRegion.top,width:l.layoutState.layout.previewRegion.width,height:l.layoutState.layout.previewRegion.height}:{x:0,y:0,width:l.layoutState.layout.width,height:l.layoutState.layout.height},A=this.commandContext.getLayoutById(l.layoutState.layout.id),h=a.getContext("2d");if(!h)throw new ru("Failed to obtain 2D context for preview image creation");const f=Rl(A.layoutState.layout,A.layoutState.elements,{renderingConfiguration:{purpose:Ms.Print,region:{left:u.x,top:u.y,width:u.width,height:u.height}}}),d=Bm(f);await(await ji.from(h,d,{anonymousCrossOrigin:!0,ignoreDimensions:!1,createCanvas:ri,createImage:Zs,DOMParser:Zh(),fetch:Ma})).render();const m=await this.getCanvasObjectURLAsync(a);return a.toDataURL(m)}getStepById(t){const n=this.getWorkflowManager().getWorkflow().steps.find(r=>r.stepName===t);if(!(!n||!this.stepHasHandle(n)))return Ho.get(this.getWorkflowManager(),n)}getSteps(){return this.getScenes().flatMap(t=>this.getStepsByScene(t))}getScenes(){return this.getWorkflowManager().getWorkflow().stepGroups.map(n=>({id:n.id,name:n.name,stepIds:n.stepNames}))}getSelectionPriceSubunits(){const t=this.getWorkflowManager().getWorkflowSelections();let n=0;return Object.values(t).forEach(r=>{n+=r.selections.map(i=>i.priceModifier).reduce((i,a)=>i+a)}),n}getBasePriceSubunits(){return this.getWorkflowManager().getProduct().basePrice||0}getTotalPriceSubunits(){return this.getBasePriceSubunits()+this.getSelectionPriceSubunits()}getBulkStep(){if(this.getWorkflowManager().getTransaction().bulk){const t=this.getWorkflowManager().getProduct().bulkConfiguration,n={type:j.Bulk,stepName:"Bulk",stepTitle:(t==null?void 0:t.stepTitle)??"workflow.steps.bulk.title",helpText:t==null?void 0:t.helpText,data:{aspects:n0(this.getWorkflowManager().getWorkflow())},conditions:[]};return Ho.get(this.getWorkflowManager(),n)}}getStepByName(t){const n=this.getWorkflowManager().getWorkflow().steps.find(r=>r.stepTitle===t);if(!(!n||!this.stepHasHandle(n)))return Ho.get(this.getWorkflowManager(),n)}getStepsByType(t){return this.getWorkflowManager().getWorkflow().steps.filter(n=>n.type===t).map(n=>Ho.get(this.getWorkflowManager(),n))}getStepsByScene(t){if(!this.getWorkflowManager().getWorkflow().stepGroups.find(r=>r.name===t.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 t.stepIds.map(r=>this.getWorkflowManager().getWorkflow().steps.find(i=>i.stepName===r)).filter(r=>this.stepHasHandle(r)).map(r=>Ho.get(this.getWorkflowManager(),r))}async attachCustomerDetails(t){return this.assignCustomerDetails({emailAddress:t.email})}async assignCustomerDetails(t){var i,a,s;const r=(s=(a=(i=(await St.getShadowGraphqlClient().mutate({mutation:TE,variables:{id:this.getWorkflowManager().getTransaction().id,details:t,type:"Owner"}})).data)==null?void 0:i.transactionAddStakeholder)==null?void 0:a.stakeholders)==null?void 0:s.find(o=>{var c;return((c=o.customer)==null?void 0:c.emailAddress)===t.emailAddress});if(r!=null&&r.customer){this.getWorkflowManager().setTransactionCustomer(r.customer);const o=vt.getMap("transactionCustomerIds")||new Map;o.set(this.getWorkflowManager().getTransaction().id,r.customer.id),vt.setMap("transactionCustomerIds",o)}}attachRenderableSceneListener(t){this.renderableSceneCallbacks.push(t),t(this.renderableScenes)}detachRenderableSceneListener(t){this.renderableSceneCallbacks=this.renderableSceneCallbacks.filter(n=>n!==t)}async save(t){if(!this.getCommandContext().getState())throw new ge("State undefined!");const i={title:await(async()=>{var c;if(t)return t;const a=this.getWorkflowManager().getTransaction().id,o=(c=(await Mu.getSavedDesigns()).find(l=>l.transactionId===a))==null?void 0:c.title;return o||"My design"})(),thumbnail:await this.createPreviewImage(!1,256),transactionId:this.getWorkflowManager().getTransaction().id,productId:this.getWorkflowManager().getProduct().id,integrationProductId:this.getWorkflowManager().getTransaction().integrationProduct.id,workflowName:this.getWorkflowManager().getWorkflow().name,workflowId:this.getWorkflowManager().getWorkflow().id,lastEdited:new Date};return await Mu.addDesign(i),i}async copy(){var o;const t=To(this.getCommandContext().getState());if(!t)throw new ge("Internal state is undefined! Cannot copy experience!");const n=JSON.stringify(t.transaction),r=this.getWorkflowManager().getWorkflow(),i=new rB({}),a=(o=this.getWorkflowManager().getTransaction().integrationProduct)==null?void 0:o.id;if(!a)throw new ge("Integration product id is undefined!");return await i.initFromIntegrationProduct(a),await i.getWorkflowExperience(r.id,n,void 0)}async onDesignFinished(t,n=!0){return jE(this.workflowManager,this.workflowManager.getWorkflow(),this.workflowManager.getLayouts(),()=>this.commandContext.getState(),this.workflowManager.getProduct(),this.workflowManager.getTransaction(),this.workflowManager.getWorkflowSelections(),this.workflowManager.getWorkflow().name,t||(()=>{}),r=>this.updateVariationRecords(r),this.workflowManager.getVariationRecords(),r=>n?this.createPreviewImage(r):Promise.resolve(void 0),this.workflowManager.getWorkflowMetadata())}stepHasHandle(t){return t.type!==j.SilentIllustration&&t.type!==j.ProductOverlay}getExportedData(){var i;const t=new Map,n=this.getWorkflowManager().getWorkflowMetadata(),r=this.getWorkflowManager().getWorkflowSelections();return Object.keys(n).forEach(a=>{const s=this.workflowManager.getWorkflow().steps.find(c=>c.stepName===a);if(!s)return;t.has(s.stepTitle)||t.set(s.stepTitle,{});const o=n[a];Object.keys(o).forEach(c=>{t.get(s.stepTitle)[c]=o[c]})}),(i=Object.keys(r))==null||i.forEach(a=>{const s=this.workflowManager.getWorkflow().steps.find(o=>o.stepName===a);s&&(t.has(s.stepTitle)||t.set(s.stepTitle,{}),t.get(s.stepTitle).selection=r[a].selections[0].name)}),t}}const HO=["altGlyph","circle","ellipse","path","polygon","polyline","rect","text","textPath","tref","tspan"],GO=async(e,t,n)=>{const r=t.data,i=n.data.baseUrl,a=r.assetUrl.replace("localhost","localstack"),s=i.slice(0,4)==="http"?"":"https://",o=new URL(s+i);o.searchParams.append("video",xm(JSON.stringify([{href:a}]))),o.pathname=o.pathname+(o.pathname.slice(-1)==="/"?"":"/");const c=o.toString(),u=`data:image/svg+xml;base64,${xm(await AE(c,{type:"svg"}))}`,A=f=>{const d=e.find(m=>m.panelId===f.panelId);if(!d)throw new ke(f);const p=Dt();return new ve({id:p,src:u,type:Et.Image,y:f.top,x:f.left,width:f.width,height:f.height,rotation:0},d)},h=n.data.regions;try{return h.map(A)}catch(f){return console.error(f),[]}},VO=async(e,t,n,r)=>{const i=n.data,a=i.assetUrl,s=await Bf(a);try{const o=qT(i,r.option);o&&(t[r.stepName]={selectedVariants:[o]});const c=async l=>{var p;const u=await nw(l||{width:1,height:1},(p=o==null?void 0:o.asset)==null?void 0:p.fileLink),A=await ao(u),h=Dt(),f=e.find(m=>m.panelId===l.panelId);if(!f)throw new ke(l);const d=Ef(s,A,{scale:i.scale,left:i.x,top:i.y});return[new ve({id:h,path:A.path,dataWidth:A.width,dataHeight:A.height,type:Et.Frame,focalBlur:r.data.focalBlur,focalBlurStrength:r.data.focalBlurStrength,focalBlurRadius:r.data.focalBlurRadius,forceImageCover:r.data.forceImageCover,x:l.left,y:l.top,width:l.width,height:l.height,layer:l.layer,layerIndex:l.layerIndex,rotation:l.rotation,scaleX:l.width/A.width,scaleY:l.height/A.height,pattern:void 0},f),new Hm(h,s,d)]};return(await Promise.all(r.data.regions.map(l=>c(l)))).flat()}catch(o){return console.error(o),[]}},zO=async(e,t,n,r)=>{var x,C;const i=n.data,a=r.option;if(!a)return console.error(`No option for step ${r.stepName}.`),[];const s=((x=a.variants)==null?void 0:x.find(b=>b.id===i.illustrationVariantId))||io(a);if(!s)return console.error(`No variant with ID: ${i.illustrationVariantId}`),[];if(!s.asset)return console.error(`No asset for variant with ID: ${i.illustrationVariantId}`),[];t[r.stepName]={selectedVariants:[s]};const o=(C=s.asset)==null?void 0:C.fileLink;if(!o)return console.error(`No asset link for variant with ID: ${i.illustrationVariantId}`),[];const c=await Ln(o),l=/<svg.*?<\/svg>/s,u=c.match(l)||[],A=(u==null?void 0:u.length)>0?u[0]:"",d=$r().parseFromString(A,"image/svg+xml").firstElementChild;if(!d)return console.error("Failed to read SVG."),[];zh(d);const p={};Ta(d,b=>{HO.includes(b.tagName)&&!b.attributes.getNamedItem("fill")&&b.setAttribute("fill","#000000");const D=b.attributes.getNamedItem("fill");if(D&&D.value!=="none"){const P=D.value,L=`spiff-fill-${P.replace(/\W/g,"")}`;b.classList.add(L),p[L]={browserValue:P}}const N=b.attributes.getNamedItem("stroke");if(N&&N.value!=="none"){const P=N.value,L=`spiff-stroke-${P.replace(/\W/g,"")}`;b.classList.add(L),p[L]={browserValue:P}}});const y=Tl().serializeToString(d),v=i.colors;if(v){for(const[b,D]of Object.entries(p))for(const N of Object.keys(v))if(D.browserValue===N){p[b]={browserValue:v[N]};break}}const w=b=>{const D=e.find(P=>P.panelId===b.panelId);if(!D)throw new ke(b);const N=Dt();return new ve({colors:p,id:N,svg:y,type:Et.Illustration,y:b.top,x:b.left,rotation:b.rotation,width:b.width,height:b.height,layer:b.layer,layerIndex:b.layerIndex,immutable:b.immutable},D)},B=r.data.regions;try{return B.map(w)}catch(b){return console.error(b),[]}},JO=async(e,t,n)=>{const r=await FE(n.data.module),i=t.data,a=(o,c)=>{const l=e.find(A=>A.panelId===c.panelId);if(!l)throw new ke(c);const u=Dt();return new ve({colors:{},id:u,svg:o,type:Et.Illustration,y:c.top,x:c.left,rotation:c.rotation,width:c.width,height:c.height,layer:c.layer,layerIndex:c.layerIndex},l)},s=n.data.regions;try{return s.map(o=>a(r.svgPrint(i.text,o),o))}catch(o){return console.error(o),[]}},jO=async(e,t,n,r)=>{var u,A;const i=n.data,a=r.option;if(!a)return console.error(`No option for step ${r.stepName}.`),[];const s=((u=a.variants)==null?void 0:u.find(h=>h.id===i.pictureVariantId))||io(a);if(!s)return console.error(`No variant with ID: ${i.pictureVariantId}`),[];if(!s.asset)return console.error(`No asset for variant with ID: ${i.pictureVariantId}`),[];t[r.stepName]={selectedVariants:[s]};const o=(A=s.asset)==null?void 0:A.fileLink;if(!o)return console.error(`No asset link for variant with ID: ${i.pictureVariantId}`),[];const c=h=>{const f=e.find(p=>p.panelId===h.panelId);if(!f)throw new ke(h);const d=Dt();return new ve({id:d,src:o,type:Et.Image,y:h.top,x:h.left,rotation:h.rotation,width:h.width,height:h.height,layer:h.layer,layerIndex:h.layerIndex,immutable:h.immutable,preserveAspectRatio:"none"},f)},l=r.data.regions;try{return l.map(c)}catch(h){return console.error(h),[]}},WO=async(e,t,n,r)=>{var l;const i=n.data,a=r.option;if(!a)return console.error(`No option for step ${r.stepName}.`),[];const s=((l=a.variants)==null?void 0:l.find(u=>u.id===i.colorVariantId))||io(a);if(!s)return console.error(`No variant with ID: ${i.colorVariantId}`),[];t[r.stepName]={selectedVariants:[s]};const o=u=>{const A=e.find(m=>m.panelId===u.panelId);if(!A)throw new ke(u);const h=`
|
|
2116
2116
|
<svg
|
|
2117
2117
|
xmlns="http://www.w3.org/2000/svg"
|
|
2118
2118
|
xmlnsXlink="http://www.w3.org/1999/xlink"
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spiffcommerce/core",
|
|
3
|
-
"version": "16.0.0-beta.
|
|
3
|
+
"version": "16.0.0-beta.2",
|
|
4
4
|
"description": "Core client API for interacting with the Spiff Commerce backend.",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
|
-
"main": "dist/index.umd.
|
|
7
|
-
"module": "dist/index.
|
|
8
|
-
"types": "dist/index.d.
|
|
6
|
+
"main": "dist/index.umd.cjs",
|
|
7
|
+
"module": "dist/index.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
9
|
"type": "module",
|
|
10
10
|
"scripts": {
|
|
11
11
|
"dev": "ladle serve",
|