@spiffcommerce/core 16.0.0-beta.3 → 16.0.0-beta.4

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 CHANGED
@@ -19797,12 +19797,12 @@ const ui = (e, t, n) => {
19797
19797
  } catch {
19798
19798
  throw new Error("Canvas module not set");
19799
19799
  }
19800
- }, Ac = (e) => {
19800
+ }, Ac = (e, t) => {
19801
19801
  if (Qh !== void 0)
19802
- return Qh(e);
19802
+ return Qh(e, t);
19803
19803
  try {
19804
- const t = Aw(!0);
19805
- return uw(t), t.loadImage(e);
19804
+ const n = Aw(!0);
19805
+ return uw(n), n.loadImage(e, t);
19806
19806
  } catch {
19807
19807
  throw new Error("Canvas module not set");
19808
19808
  }
@@ -19818,11 +19818,11 @@ function Aw(e) {
19818
19818
  const i = document.createElement("canvas");
19819
19819
  return t != null && (i.width = t), n != null && (i.height = n), i;
19820
19820
  },
19821
- loadImage: (t) => new Promise((n, r) => {
19822
- const i = new Image();
19823
- i.onload = () => {
19824
- n(i);
19825
- }, i.onerror = r, i.src = t;
19821
+ loadImage: (t, n) => new Promise((r, i) => {
19822
+ const a = new Image();
19823
+ n !== !1 && (a.crossOrigin = "anonymous"), a.onload = () => {
19824
+ r(a);
19825
+ }, a.onerror = i, a.src = t;
19826
19826
  })
19827
19827
  };
19828
19828
  } catch (t) {
@@ -83,7 +83,7 @@ this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):s
83
83
  matrix(1, 0, 0, 1, ${e.width/2}, ${e.height/2})
84
84
  matrix(${a}, ${-s}, ${s}, ${a}, 0, 0)
85
85
  matrix(1, 0, 0, 1, ${-e.width/2}, ${-e.height/2})
86
- `;if(!e.svg)throw new Error(`Illustration element ${e.id} (stepName ${e.stepName}) lacked svg from src ${e.src} at render time.`);return ut("g",{mask:e.stepName?void 0:e.mask,children:ut("g",{transform:o,dangerouslySetInnerHTML:{__html:Jh(e.svg,e.width,e.height,e.colors,(n=e._renderingConfiguration)==null?void 0:n.spotColors)}})})};class Lm{constructor(){this.id=Dt(),this.stateCallbacks=[],this.prevCommands=[],this.nextCommands=[]}registerStateCallback(t){this.stateCallbacks.push(t)}unregisterStateCallback(t){this.stateCallbacks.filter(n=>n!==t)}getState(){return this.state}runStateCallbacks(){this.stateCallbacks.forEach(t=>t())}apply(t,n){if(!this.state)throw new Error(`State not initialized for cc ${this.id}!`);this.state=this.commandReducer(this.state,t),this.runStateCallbacks(),this.nextCommands=[],n||this.prevCommands.push(t)}undo(){if(!this.state)return;const t=this.prevCommands.pop();if(!t)return;const n=t.undo();t.varying?this.state={...this.state,variation:n}:this.state={...this.state,transaction:n},this.nextCommands.push(t),this.runStateCallbacks()}redo(){if(!this.state)return;const t=this.nextCommands.pop();t&&(this.state=this.commandReducer(this.state,t),this.runStateCallbacks(),this.prevCommands.push(t))}flattenSequence(t,n){const r=this.prevCommands.filter(i=>i.sequenceId===t).pop();r&&(this.prevCommands=this.prevCommands.filter(i=>i.sequenceId!==t),r==null||r.overrideOldState(n),this.prevCommands.push(r))}getLayoutById(t){var n,r,i,a;if(!this.state)throw new Error(`State not initialized for cc ${this.id}!`);const s=(r=(n=this.state.transaction)==null?void 0:n.layouts)==null?void 0:r[t],o=(a=(i=this.state.variation)==null?void 0:i.layouts)==null?void 0:a[t],c=(s==null?void 0:s.layout)||(o==null?void 0:o.layout);if(!c)throw new Error(`No layout: ${t}`);const l=[...(s==null?void 0:s.elements)||[],...(o==null?void 0:o.elements)||[]];return this.getLayoutDataWithState(c,l)}getAllLayouts(){var t,n;if(!this.state)throw new Error(`State not initialized for cc ${this.id}!`);const r=[...Object.keys((t=this.state.transaction)==null?void 0:t.layouts),...Object.keys(((n=this.state.variation)==null?void 0:n.layouts)||{})];return[...new Set(r)].map(i=>this.getLayoutById(i))}getLayoutDataWithState(t,n){return{layoutState:{layout:t,elements:n},getComponentWithProps:r=>Rl(t,n,r)}}initialize(t,n){if(n){this.state={transaction:n};return}let r={serializableWorkflow:{steps:[]},layouts:{}};t.forEach(i=>{r=new Wh(i).apply(r)}),this.runStateCallbacks(),this.state={transaction:r}}commandReducer(t,n){if(n.varying){const r={layouts:{},serializableWorkflow:{steps:[]},...t.variation};return{...t,variation:n.apply(r)}}else{const r=t.transaction||{layouts:{},serializableWorkflow:{steps:[]}};return{...t,transaction:n.apply(r)}}}}const TF=e=>e.type==="image"?ut(up,{...e},e.id):e.type==="frame"?ut(Ib,{...e},e.id):e.type==="illustration"?ut(MF,{...e},e.id):e.type==="textbox"?ut(vF,{...e},e.id):null,Rl=(e,t,n)=>{const r=n.renderingConfiguration,i=r!=null&&r.removeExcludedElements?t.filter(a=>!a.excludeFromExport):t;return ut(R2,{preserveAspectRatio:void 0,elements:i,backgroundColor:e.transparentBackground?void 0:"white",width:n.width||e.width,height:n.height||e.height,viewBox:r!=null&&r.region?{x:r.region.left,y:r.region.top,width:r.region.width,height:r.region.height}:{x:0,y:0,width:e.width,height:e.height},configuration:r,outlineArea:n.outlineArea,maxHeight:n.maxHeight,maxWidth:n.maxWidth,position:n.position,borderRadius:n.borderRadius,outlineColor:n.outlineColor})};function jh(e){return e.sort((t,n)=>{const r=t.layer||0,i=n.layer||0;if(r<i)return-1;if(r>i)return 1;const a=t.layerIndex||0,s=n.layerIndex||0;return a<s?-1:a>s?1:0})}class Pe extends Error{constructor(){super("Element not found!"),Object.setPrototypeOf(this,Pe.prototype)}}const we=(e,t)=>wn(e,t).elements.find(n=>n.id===e),wn=(e,t)=>{const n=Object.values(t).find(r=>r.elements.some(i=>i.id===e));if(!n)throw new Pe;return n},Yn=(e,t)=>{const n=[...t.elements.filter(i=>i.id!==e.id),e],r=jh(n);return{layout:t.layout,elements:r,modificationID:Dt()}},ki=async(e,t)=>{const n=[...Object.keys(e.layouts),...Object.keys((t==null?void 0:t.layouts)||{})],r=[...new Set(n)];for(let i=0;i<r.length;i++){const a=r[i],s=e.layouts[a],o=t==null?void 0:t.layouts[a],c=s||o;await Promise.all(c.elements.map(async l=>{if(l.type==="illustration"){const u=l;if(u.src&&!u.svg){const A=await Ln(u.src),h=await Na(A);u.svg=Jh(h.svg,u.width,u.height,u.colors)}}isNaN(l.x)&&(l.x=0),isNaN(l.y)&&(l.y=0),isNaN(l.width)&&(l.width=0),isNaN(l.height)&&(l.height=0),isNaN(l.rotation)&&(l.rotation=0)}))}};class le{undo(){if(!this.oldState)throw new Error("Cannot undo.");return this.oldState}overrideOldState(t){this.oldState=t}}class Ym extends le{constructor(t){super(),this.serializableWorkflow=t}apply(t){return this.oldState=t,{...t,serializableWorkflow:this.serializableWorkflow}}}class NF extends le{constructor(t,n,r){super(),this.id=t,this.x=n,this.y=r}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,x:this.x,y:this.y},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class PF extends le{constructor(t,n){super(),this.id=t,this.angle=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,rotation:this.angle},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class kF extends le{constructor(t,n,r){super(),this.id=t,this.width=Math.abs(n),this.height=Math.abs(r)}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;let r={...n,width:this.width,height:this.height};if(n.type==="frame"){const s=r;s.scaleX=s.scaleX*this.width/n.width,s.scaleY=s.scaleY*this.height/n.height}else if(n.type==="textbox"){const s=r,o=(!s.algorithm||s.algorithm===Ea.Autosize?s.text:s.input)??"";r=qs(s,o,n)}const i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class $t extends le{constructor(t){super(),this.commands=t}apply(t){return this.oldState=t,this.commands.reduce((n,r)=>r.apply(n),t)}}class Wh extends le{constructor(t){super(),this.layout=t}apply(t){return this.oldState=t,{...t,layouts:{...t.layouts,[this.layout.id]:{elements:[],layout:{...this.layout},modificationID:Dt()}}}}}class ve extends le{constructor(t,n){super(),this.element=t,this.layout=n}apply(t){this.oldState=t,t.layouts[this.layout.id]||(t.layouts[this.layout.id]={layout:this.layout,elements:[],modificationID:""});const n=t.layouts[this.layout.id].elements;if(n.find(s=>s.id===this.element.id))throw new Error(`Failed to apply new ${this.element.type} element because ID ${this.element.id} already taken`);if(this.element.productOverlay||n.length===0){const s=[...n,this.element];return this.element.layerIndex===void 0&&(this.element.layerIndex=this.assignIndex(this.element,s)),{...t,layouts:{...t.layouts,[this.layout.id]:{...t.layouts[this.layout.id],elements:s,modificationID:Dt()}}}}const r=n[n.length-1],i=r.productOverlay?r:null;i&&n.pop();let a;if(this.element.layerIndex!==null&&this.element.layerIndex!==void 0)a=[...n,this.element].sort((s,o)=>s.layerIndex!==void 0&&o.layerIndex!==void 0?s.layerIndex-o.layerIndex:0);else{const s=this.assignIndex(this.element,n);this.element.layerIndex=s!==void 0?s:0,a=[...n,this.element]}return i&&a.push(i),{...t,layouts:{...t.layouts,[this.layout.id]:{...t.layouts[this.layout.id],elements:a,modificationID:Dt()}}}}assignIndex(t,n){var r;if(n.length===0)return 0;const i=(r=n.filter(a=>(a.layer||0)===(t.layer||0)).sort((a,s)=>(a.layerIndex||0)-(s.layerIndex||0))[n.length-1])==null?void 0:r.layerIndex;return i!==void 0?i+1:0}}class ni extends le{constructor(t){super(),this.id=t}apply(t){this.oldState=t;let n=!1;const r=Object.values(t.layouts).map(a=>(a.elements.filter(s=>s.id!==this.id).length!==a.elements.length&&(n=!0),{...a,elements:a.elements.filter(s=>s.id!==this.id),modificationID:Dt()}));n||console.log(`Failed to delete element ${this.id}`);const i={};return r.forEach(a=>{i[a.layout.id]=a}),{...t,layouts:i}}}class Hm extends le{constructor(t,n,r){super(),this.id=t,this.color=n,this.textFillSpotColor=r}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,fill:this.color,fillSpotColorDefinition:this.textFillSpotColor,textFillImage:void 0},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class Kh extends le{constructor(t,n){super(),this.id=t,this.imageFill=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,textFillImage:this.imageFill},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class Gm extends le{constructor(t,n){super(),this.id=t,this.size=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,fontSize:this.size},i=wn(n.id,Object.values(t.layouts)),a=(!n.algorithm||n.algorithm===Ea.Autosize?n.text:n.input)??"",s=Yn(qs(r,a),i);return{...t,layouts:{...t.layouts,[i.layout.id]:s}}}}class Xh extends le{constructor(t,n){super(),this.id=t,this.fontData=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,fontData:this.fontData},i=wn(n.id,Object.values(t.layouts)),a=(!n.algorithm||n.algorithm===Ea.Autosize?n.text:n.input)??"",s=Yn(qs(r,a),i);return{...t,layouts:{...t.layouts,[i.layout.id]:s}}}}class RF extends le{constructor(t,n){super(),this.id=t,this.align=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,align:this.align},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class Vm extends le{constructor(t,n,r){super(),this.id=t,this.imageData=n,this.offsets=r}apply(t){this.oldState=t;const n=wn(this.id,Object.values(t.layouts)),r=n.elements.findIndex(o=>o.id===this.id),i=n.elements[r].pattern,a=[...n.elements];a.splice(r,1,{...n.elements[r],pattern:{...i,src:this.imageData.src,x:this.offsets.x,y:this.offsets.y,width:this.imageData.width,height:this.imageData.height,scaleX:this.offsets.zoom,scaleY:this.offsets.zoom}});const s={...n,elements:a,modificationID:Dt()};return{...t,layouts:{...t.layouts,[n.layout.id]:s}}}}class zm extends le{constructor(t,n){super(),this.id=t,this.text=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r=wn(n.id,Object.values(t.layouts)),i=Yn(qs(n,this.text,n),r);return{...t,layouts:{...t.layouts,[r.layout.id]:i}}}}class _h extends le{constructor(t,n,r){super(),this.id=t,this.className=n,this.fill=r}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r=n.colors||{},i=r[this.className];r[this.className]={browserValue:this.fill,spotColor:i==null?void 0:i.spotColor};const a={...n,colors:r},s=wn(n.id,Object.values(t.layouts)),o=Yn(a,s);return{...t,layouts:{...t.layouts,[s.layout.id]:o}}}}class OF extends le{constructor(t,n,r){super(),this.id=t,this.svgBody=n,this.objectURL=r}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,svg:this.svgBody,cachedObjectURL:this.objectURL},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class UF extends le{constructor(t){super(),this.id=t}apply(t){if(this.oldState=t,!we(this.id,Object.values(t.layouts)).id)throw new Pe;const n=Object.values(t.layouts).find(a=>a.elements.find(s=>s.id===this.id));if(!n)throw new Error("Layout missing from state!");const r=n.elements.findIndex(a=>a.id===this.id);n.elements.push(n.elements.splice(r,1)[0]);const i=[...n.elements];return i.forEach((a,s)=>a.layerIndex=s),{...t,layouts:{...t.layouts,[n.layout.id]:{...t.layouts[n.layout.id],elements:i,modificationID:Dt()}}}}}class LF extends le{constructor(t){super(),this.id=t}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r=Object.values(t.layouts).find(o=>o.elements.find(c=>c.id===this.id));if(!r)throw new Error("Layout missing from state!");const i=r.elements.findIndex(o=>o.id===this.id);r.elements.splice(i,1),r.elements.unshift(n);const a=[...r.elements],s=a.splice(i,1)[0];return a.splice(i,0,s),a.forEach((o,c)=>o.layerIndex=c),{...t,layouts:{...t.layouts,[r.layout.id]:{...t.layouts[r.layout.id],elements:a,modificationID:Dt()}}}}}class YF extends le{constructor(t){super(),this.id=t}apply(t){if(this.oldState=t,!we(this.id,Object.values(t.layouts)).id)throw new Pe;const n=Object.values(t.layouts).find(o=>o.elements.find(c=>c.id===this.id));if(!n)throw new Error("Layout missing from state!");const r=n.elements.findIndex(o=>o.id===this.id),i=r+1,a=[...n.elements],s=a.splice(r,1)[0];return a.splice(i,0,s),a.forEach((o,c)=>o.layerIndex=c),{...t,layouts:{...t.layouts,[n.layout.id]:{...t.layouts[n.layout.id],elements:a,modificationID:Dt()}}}}}class HF extends le{constructor(t){super(),this.id=t}apply(t){if(this.oldState=t,!we(this.id,Object.values(t.layouts)).id)throw new Pe;const n=Object.values(t.layouts).find(o=>o.elements.find(c=>c.id===this.id));if(!n)throw new Error("Layout missing from state!");const r=n.elements.findIndex(o=>o.id===this.id),i=r-1,a=[...n.elements],s=a.splice(r,1)[0];return a.splice(i,0,s),a.forEach((o,c)=>o.layerIndex=c),{...t,layouts:{...t.layouts,[n.layout.id]:{...t.layouts[n.layout.id],elements:a,modificationID:Dt()}}}}}let qh,Zh;const ri=(e,t,n)=>{if(qh!==void 0)return qh(e,t,n);try{const r=jm(!0);return Jm(r),r.createCanvas(e,t,n)}catch{throw new Error("Canvas module not set")}},Zs=e=>{if(Zh!==void 0)return Zh(e);try{const t=jm(!0);return Jm(t),t.loadImage(e)}catch{throw new Error("Canvas module not set")}};function Jm(e){qh=e==null?void 0:e.createCanvas,Zh=e==null?void 0:e.loadImage}function jm(e){try{if(document.createElement("canvas").getContext("2d"))return{createCanvas:(t,n,r)=>{const i=document.createElement("canvas");return t!=null&&(i.width=t),n!=null&&(i.height=n),i},loadImage:t=>new Promise((n,r)=>{const i=new Image;i.onload=()=>{n(i)},i.onerror=r,i.src=t})}}catch(t){if(e)throw t}}let $h;function tf(){return $h===void 0&&($h=DOMParser),$h}function It(e,t,n){const r=[];for(let i=0;i<n&&t+i<e.byteLength;i++)r.push(e.getUint8(t+i));return Pa(r)}function GF(e,t,n){const r=[];for(let i=0;i<n&&t+i<e.byteLength;i+=2)r.push(e.getUint16(t+i));return Pa(r)}function Pa(e){return e.map(t=>String.fromCharCode(t)).join("")}function Lt(){for(let e=1;e<arguments.length;e++)for(const t in arguments[e])arguments[0][t]=arguments[e][t];return arguments[0]}function Wm(e,t,n){let r=!1;Object.defineProperty(e,t,{get(){return r||(r=!0,Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n.apply(e),writable:!0})),e[t]},configurable:!0,enumerable:!0})}function Km(e){if(typeof btoa<"u")return btoa(typeof e=="string"?e:Array.prototype.reduce.call(new Uint8Array(e),(t,n)=>t+String.fromCharCode(n),""));if(!(typeof Buffer>"u"))return typeof Buffer.from!==void 0?Buffer.from(e).toString("base64"):new Buffer(e).toString("base64")}function VF(e){const t=e.substring(e.indexOf(",")+1);if(e.indexOf(";base64")!==-1)return typeof atob<"u"?Uint8Array.from(atob(t),r=>r.charCodeAt(0)).buffer:typeof Buffer>"u"?void 0:typeof Buffer.from!==void 0?Buffer.from(t,"base64"):new Buffer(t,"base64");const n=decodeURIComponent(t);return typeof Buffer<"u"?typeof Buffer.from!==void 0?Buffer.from(n):new Buffer(n):Uint8Array.from(n,r=>r.charCodeAt(0)).buffer}let zF=class{constructor(e){if(JF(e))throw new Error("DataView: Passed buffer type is unsupported.");this.buffer=e,this.byteLength=this.buffer.length}getUint8(e){return this.buffer.readUInt8(e)}getUint16(e,t){return t?this.buffer.readUInt16LE(e):this.buffer.readUInt16BE(e)}getUint32(e,t){return t?this.buffer.readUInt32LE(e):this.buffer.readUInt32BE(e)}getInt32(e,t){return t?this.buffer.readInt32LE(e):this.buffer.readInt32BE(e)}};function JF(e){return typeof e!="object"||e.length===void 0||e.readUInt8===void 0||e.readUInt16LE===void 0||e.readUInt16BE===void 0||e.readUInt32LE===void 0||e.readUInt32BE===void 0||e.readInt32LE===void 0||e.readInt32BE===void 0}function Ee(e){return e.map(t=>String.fromCharCode(t)).join("")}function ef(e){if(e.length>=8){const t=Ee(e.slice(0,8));if(t==="ASCII\0\0\0")return Ee(e.slice(8));if(t==="JIS\0\0\0\0\0")return"[JIS encoded text]";if(t==="UNICODE\0")return"[Unicode encoded text]";if(t==="\0\0\0\0\0\0\0\0")return"[Undefined encoding]"}return"Undefined"}function Ol(e){return e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600}const nf=18761,rf=19789,Ri={BIG_ENDIAN:rf,LITTLE_ENDIAN:nf,getByteOrder:jF};function jF(e,t){if(e.getUint16(t)===nf)return nf;if(e.getUint16(t)===rf)return rf;throw new Error("Illegal byte order value. Faulty image.")}const Xm={isTiffFile:WF,findTiffOffsets:XF};function WF(e){return!!e&&e.byteLength>=4&&KF(e)}function KF(e){const t=e.getUint16(0)===Ri.LITTLE_ENDIAN;return e.getUint16(2,t)===42}function XF(){return{hasAppMarkers:!0,tiffHeaderOffset:0}}const _m={isJpegFile:h3,findJpegOffsets:f3},_F=2,qF=65496,qm=2,Sn=4,un=2,ZF=2,$F=10,t3=18,Zm=33,$m=79,ty=18,e3=8,af="ICC_PROFILE\0",ey=Sn+af.length,n3=ey+1,ny="MPF\0",ry=65472,iy=65474,r3=65476,i3=65499,a3=65501,s3=65498,ay=65504,sf=65505,sy=65506,o3=65517,c3=65519,l3=65534,u3=65535,A3="JFIF",of="Exif",oy="http://ns.adobe.com/xap/1.0/\0",cy="http://ns.adobe.com/xmp/extension/\0",ly="Photoshop 3.0";function h3(e){return!!e&&e.byteLength>=_F&&e.getUint16(0)===qF}function f3(e){let t=qm,n,r,i,a,s,o,c,l,u;for(;t+Sn+5<=e.byteLength;){if(g3(e,t))r=t+un;else if(d3(e,t))i=t+un;else if(y3(e,t))n=e.getUint16(t+un),a=t+ZF;else if(w3(e,t))n=e.getUint16(t+un),s=t+$F;else if(v3(e,t))c||(c=[]),n=e.getUint16(t+un),c.push(x3(t,n));else if(B3(e,t))c||(c=[]),n=e.getUint16(t+un),c.push(b3(t,n));else if(S3(e,t))n=e.getUint16(t+un),o=t+t3;else if(p3(e,t)){n=e.getUint16(t+un);const A=t+ty,h=n-(ty-un),f=e.getUint8(t+ey),d=e.getUint8(t+n3);l||(l=[]),l.push({offset:A,length:h,chunkNumber:f,chunksTotal:d})}else if(m3(e,t))n=e.getUint16(t+un),u=t+e3;else if(D3(e,t))n=e.getUint16(t+un);else if(I3(e,t)){t++;continue}else break;t+=un+n}return{hasAppMarkers:t>qm,fileDataOffset:r||i,jfifDataOffset:a,tiffHeaderOffset:s,iptcDataOffset:o,xmpChunks:c,iccChunks:l,mpfDataOffset:u}}function g3(e,t){return e.getUint16(t)===ry}function d3(e,t){return e.getUint16(t)===iy}function p3(e,t){const n=af.length;return e.getUint16(t)===sy&&It(e,t+Sn,n)===af}function m3(e,t){const n=ny.length;return e.getUint16(t)===sy&&It(e,t+Sn,n)===ny}function y3(e,t){const n=of.length;return e.getUint16(t)===ay&&It(e,t+Sn,n)===A3&&e.getUint8(t+Sn+n)===0}function w3(e,t){const n=of.length;return e.getUint16(t)===sf&&It(e,t+Sn,n)===of&&e.getUint8(t+Sn+n)===0}function v3(e,t){return e.getUint16(t)===sf&&E3(e,t)}function E3(e,t){const n=oy.length;return It(e,t+Sn,n)===oy}function B3(e,t){return e.getUint16(t)===sf&&C3(e,t)}function C3(e,t){const n=cy.length;return It(e,t+Sn,n)===cy}function x3(e,t){return{dataOffset:e+Zm,length:t-(Zm-un)}}function b3(e,t){return{dataOffset:e+$m,length:t-($m-un)}}function S3(e,t){const n=ly.length;return e.getUint16(t)===o3&&It(e,t+Sn,n)===ly&&e.getUint8(t+Sn+n)===0}function D3(e,t){const n=e.getUint16(t);return n>=ay&&n<=c3||n===l3||n===ry||n===iy||n===r3||n===i3||n===a3||n===s3}function I3(e,t){return e.getUint16(t)===u3}const uy={isPngFile:M3,findPngOffsets:T3},cf=`‰PNG\r
86
+ `;if(!e.svg)throw new Error(`Illustration element ${e.id} (stepName ${e.stepName}) lacked svg from src ${e.src} at render time.`);return ut("g",{mask:e.stepName?void 0:e.mask,children:ut("g",{transform:o,dangerouslySetInnerHTML:{__html:Jh(e.svg,e.width,e.height,e.colors,(n=e._renderingConfiguration)==null?void 0:n.spotColors)}})})};class Lm{constructor(){this.id=Dt(),this.stateCallbacks=[],this.prevCommands=[],this.nextCommands=[]}registerStateCallback(t){this.stateCallbacks.push(t)}unregisterStateCallback(t){this.stateCallbacks.filter(n=>n!==t)}getState(){return this.state}runStateCallbacks(){this.stateCallbacks.forEach(t=>t())}apply(t,n){if(!this.state)throw new Error(`State not initialized for cc ${this.id}!`);this.state=this.commandReducer(this.state,t),this.runStateCallbacks(),this.nextCommands=[],n||this.prevCommands.push(t)}undo(){if(!this.state)return;const t=this.prevCommands.pop();if(!t)return;const n=t.undo();t.varying?this.state={...this.state,variation:n}:this.state={...this.state,transaction:n},this.nextCommands.push(t),this.runStateCallbacks()}redo(){if(!this.state)return;const t=this.nextCommands.pop();t&&(this.state=this.commandReducer(this.state,t),this.runStateCallbacks(),this.prevCommands.push(t))}flattenSequence(t,n){const r=this.prevCommands.filter(i=>i.sequenceId===t).pop();r&&(this.prevCommands=this.prevCommands.filter(i=>i.sequenceId!==t),r==null||r.overrideOldState(n),this.prevCommands.push(r))}getLayoutById(t){var n,r,i,a;if(!this.state)throw new Error(`State not initialized for cc ${this.id}!`);const s=(r=(n=this.state.transaction)==null?void 0:n.layouts)==null?void 0:r[t],o=(a=(i=this.state.variation)==null?void 0:i.layouts)==null?void 0:a[t],c=(s==null?void 0:s.layout)||(o==null?void 0:o.layout);if(!c)throw new Error(`No layout: ${t}`);const l=[...(s==null?void 0:s.elements)||[],...(o==null?void 0:o.elements)||[]];return this.getLayoutDataWithState(c,l)}getAllLayouts(){var t,n;if(!this.state)throw new Error(`State not initialized for cc ${this.id}!`);const r=[...Object.keys((t=this.state.transaction)==null?void 0:t.layouts),...Object.keys(((n=this.state.variation)==null?void 0:n.layouts)||{})];return[...new Set(r)].map(i=>this.getLayoutById(i))}getLayoutDataWithState(t,n){return{layoutState:{layout:t,elements:n},getComponentWithProps:r=>Rl(t,n,r)}}initialize(t,n){if(n){this.state={transaction:n};return}let r={serializableWorkflow:{steps:[]},layouts:{}};t.forEach(i=>{r=new Wh(i).apply(r)}),this.runStateCallbacks(),this.state={transaction:r}}commandReducer(t,n){if(n.varying){const r={layouts:{},serializableWorkflow:{steps:[]},...t.variation};return{...t,variation:n.apply(r)}}else{const r=t.transaction||{layouts:{},serializableWorkflow:{steps:[]}};return{...t,transaction:n.apply(r)}}}}const TF=e=>e.type==="image"?ut(up,{...e},e.id):e.type==="frame"?ut(Ib,{...e},e.id):e.type==="illustration"?ut(MF,{...e},e.id):e.type==="textbox"?ut(vF,{...e},e.id):null,Rl=(e,t,n)=>{const r=n.renderingConfiguration,i=r!=null&&r.removeExcludedElements?t.filter(a=>!a.excludeFromExport):t;return ut(R2,{preserveAspectRatio:void 0,elements:i,backgroundColor:e.transparentBackground?void 0:"white",width:n.width||e.width,height:n.height||e.height,viewBox:r!=null&&r.region?{x:r.region.left,y:r.region.top,width:r.region.width,height:r.region.height}:{x:0,y:0,width:e.width,height:e.height},configuration:r,outlineArea:n.outlineArea,maxHeight:n.maxHeight,maxWidth:n.maxWidth,position:n.position,borderRadius:n.borderRadius,outlineColor:n.outlineColor})};function jh(e){return e.sort((t,n)=>{const r=t.layer||0,i=n.layer||0;if(r<i)return-1;if(r>i)return 1;const a=t.layerIndex||0,s=n.layerIndex||0;return a<s?-1:a>s?1:0})}class Pe extends Error{constructor(){super("Element not found!"),Object.setPrototypeOf(this,Pe.prototype)}}const we=(e,t)=>wn(e,t).elements.find(n=>n.id===e),wn=(e,t)=>{const n=Object.values(t).find(r=>r.elements.some(i=>i.id===e));if(!n)throw new Pe;return n},Yn=(e,t)=>{const n=[...t.elements.filter(i=>i.id!==e.id),e],r=jh(n);return{layout:t.layout,elements:r,modificationID:Dt()}},ki=async(e,t)=>{const n=[...Object.keys(e.layouts),...Object.keys((t==null?void 0:t.layouts)||{})],r=[...new Set(n)];for(let i=0;i<r.length;i++){const a=r[i],s=e.layouts[a],o=t==null?void 0:t.layouts[a],c=s||o;await Promise.all(c.elements.map(async l=>{if(l.type==="illustration"){const u=l;if(u.src&&!u.svg){const A=await Ln(u.src),h=await Na(A);u.svg=Jh(h.svg,u.width,u.height,u.colors)}}isNaN(l.x)&&(l.x=0),isNaN(l.y)&&(l.y=0),isNaN(l.width)&&(l.width=0),isNaN(l.height)&&(l.height=0),isNaN(l.rotation)&&(l.rotation=0)}))}};class le{undo(){if(!this.oldState)throw new Error("Cannot undo.");return this.oldState}overrideOldState(t){this.oldState=t}}class Ym extends le{constructor(t){super(),this.serializableWorkflow=t}apply(t){return this.oldState=t,{...t,serializableWorkflow:this.serializableWorkflow}}}class NF extends le{constructor(t,n,r){super(),this.id=t,this.x=n,this.y=r}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,x:this.x,y:this.y},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class PF extends le{constructor(t,n){super(),this.id=t,this.angle=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,rotation:this.angle},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class kF extends le{constructor(t,n,r){super(),this.id=t,this.width=Math.abs(n),this.height=Math.abs(r)}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;let r={...n,width:this.width,height:this.height};if(n.type==="frame"){const s=r;s.scaleX=s.scaleX*this.width/n.width,s.scaleY=s.scaleY*this.height/n.height}else if(n.type==="textbox"){const s=r,o=(!s.algorithm||s.algorithm===Ea.Autosize?s.text:s.input)??"";r=qs(s,o,n)}const i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class $t extends le{constructor(t){super(),this.commands=t}apply(t){return this.oldState=t,this.commands.reduce((n,r)=>r.apply(n),t)}}class Wh extends le{constructor(t){super(),this.layout=t}apply(t){return this.oldState=t,{...t,layouts:{...t.layouts,[this.layout.id]:{elements:[],layout:{...this.layout},modificationID:Dt()}}}}}class ve extends le{constructor(t,n){super(),this.element=t,this.layout=n}apply(t){this.oldState=t,t.layouts[this.layout.id]||(t.layouts[this.layout.id]={layout:this.layout,elements:[],modificationID:""});const n=t.layouts[this.layout.id].elements;if(n.find(s=>s.id===this.element.id))throw new Error(`Failed to apply new ${this.element.type} element because ID ${this.element.id} already taken`);if(this.element.productOverlay||n.length===0){const s=[...n,this.element];return this.element.layerIndex===void 0&&(this.element.layerIndex=this.assignIndex(this.element,s)),{...t,layouts:{...t.layouts,[this.layout.id]:{...t.layouts[this.layout.id],elements:s,modificationID:Dt()}}}}const r=n[n.length-1],i=r.productOverlay?r:null;i&&n.pop();let a;if(this.element.layerIndex!==null&&this.element.layerIndex!==void 0)a=[...n,this.element].sort((s,o)=>s.layerIndex!==void 0&&o.layerIndex!==void 0?s.layerIndex-o.layerIndex:0);else{const s=this.assignIndex(this.element,n);this.element.layerIndex=s!==void 0?s:0,a=[...n,this.element]}return i&&a.push(i),{...t,layouts:{...t.layouts,[this.layout.id]:{...t.layouts[this.layout.id],elements:a,modificationID:Dt()}}}}assignIndex(t,n){var r;if(n.length===0)return 0;const i=(r=n.filter(a=>(a.layer||0)===(t.layer||0)).sort((a,s)=>(a.layerIndex||0)-(s.layerIndex||0))[n.length-1])==null?void 0:r.layerIndex;return i!==void 0?i+1:0}}class ni extends le{constructor(t){super(),this.id=t}apply(t){this.oldState=t;let n=!1;const r=Object.values(t.layouts).map(a=>(a.elements.filter(s=>s.id!==this.id).length!==a.elements.length&&(n=!0),{...a,elements:a.elements.filter(s=>s.id!==this.id),modificationID:Dt()}));n||console.log(`Failed to delete element ${this.id}`);const i={};return r.forEach(a=>{i[a.layout.id]=a}),{...t,layouts:i}}}class Hm extends le{constructor(t,n,r){super(),this.id=t,this.color=n,this.textFillSpotColor=r}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,fill:this.color,fillSpotColorDefinition:this.textFillSpotColor,textFillImage:void 0},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class Kh extends le{constructor(t,n){super(),this.id=t,this.imageFill=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,textFillImage:this.imageFill},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class Gm extends le{constructor(t,n){super(),this.id=t,this.size=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,fontSize:this.size},i=wn(n.id,Object.values(t.layouts)),a=(!n.algorithm||n.algorithm===Ea.Autosize?n.text:n.input)??"",s=Yn(qs(r,a),i);return{...t,layouts:{...t.layouts,[i.layout.id]:s}}}}class Xh extends le{constructor(t,n){super(),this.id=t,this.fontData=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,fontData:this.fontData},i=wn(n.id,Object.values(t.layouts)),a=(!n.algorithm||n.algorithm===Ea.Autosize?n.text:n.input)??"",s=Yn(qs(r,a),i);return{...t,layouts:{...t.layouts,[i.layout.id]:s}}}}class RF extends le{constructor(t,n){super(),this.id=t,this.align=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,align:this.align},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class Vm extends le{constructor(t,n,r){super(),this.id=t,this.imageData=n,this.offsets=r}apply(t){this.oldState=t;const n=wn(this.id,Object.values(t.layouts)),r=n.elements.findIndex(o=>o.id===this.id),i=n.elements[r].pattern,a=[...n.elements];a.splice(r,1,{...n.elements[r],pattern:{...i,src:this.imageData.src,x:this.offsets.x,y:this.offsets.y,width:this.imageData.width,height:this.imageData.height,scaleX:this.offsets.zoom,scaleY:this.offsets.zoom}});const s={...n,elements:a,modificationID:Dt()};return{...t,layouts:{...t.layouts,[n.layout.id]:s}}}}class zm extends le{constructor(t,n){super(),this.id=t,this.text=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r=wn(n.id,Object.values(t.layouts)),i=Yn(qs(n,this.text,n),r);return{...t,layouts:{...t.layouts,[r.layout.id]:i}}}}class _h extends le{constructor(t,n,r){super(),this.id=t,this.className=n,this.fill=r}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r=n.colors||{},i=r[this.className];r[this.className]={browserValue:this.fill,spotColor:i==null?void 0:i.spotColor};const a={...n,colors:r},s=wn(n.id,Object.values(t.layouts)),o=Yn(a,s);return{...t,layouts:{...t.layouts,[s.layout.id]:o}}}}class OF extends le{constructor(t,n,r){super(),this.id=t,this.svgBody=n,this.objectURL=r}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,svg:this.svgBody,cachedObjectURL:this.objectURL},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class UF extends le{constructor(t){super(),this.id=t}apply(t){if(this.oldState=t,!we(this.id,Object.values(t.layouts)).id)throw new Pe;const n=Object.values(t.layouts).find(a=>a.elements.find(s=>s.id===this.id));if(!n)throw new Error("Layout missing from state!");const r=n.elements.findIndex(a=>a.id===this.id);n.elements.push(n.elements.splice(r,1)[0]);const i=[...n.elements];return i.forEach((a,s)=>a.layerIndex=s),{...t,layouts:{...t.layouts,[n.layout.id]:{...t.layouts[n.layout.id],elements:i,modificationID:Dt()}}}}}class LF extends le{constructor(t){super(),this.id=t}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r=Object.values(t.layouts).find(o=>o.elements.find(c=>c.id===this.id));if(!r)throw new Error("Layout missing from state!");const i=r.elements.findIndex(o=>o.id===this.id);r.elements.splice(i,1),r.elements.unshift(n);const a=[...r.elements],s=a.splice(i,1)[0];return a.splice(i,0,s),a.forEach((o,c)=>o.layerIndex=c),{...t,layouts:{...t.layouts,[r.layout.id]:{...t.layouts[r.layout.id],elements:a,modificationID:Dt()}}}}}class YF extends le{constructor(t){super(),this.id=t}apply(t){if(this.oldState=t,!we(this.id,Object.values(t.layouts)).id)throw new Pe;const n=Object.values(t.layouts).find(o=>o.elements.find(c=>c.id===this.id));if(!n)throw new Error("Layout missing from state!");const r=n.elements.findIndex(o=>o.id===this.id),i=r+1,a=[...n.elements],s=a.splice(r,1)[0];return a.splice(i,0,s),a.forEach((o,c)=>o.layerIndex=c),{...t,layouts:{...t.layouts,[n.layout.id]:{...t.layouts[n.layout.id],elements:a,modificationID:Dt()}}}}}class HF extends le{constructor(t){super(),this.id=t}apply(t){if(this.oldState=t,!we(this.id,Object.values(t.layouts)).id)throw new Pe;const n=Object.values(t.layouts).find(o=>o.elements.find(c=>c.id===this.id));if(!n)throw new Error("Layout missing from state!");const r=n.elements.findIndex(o=>o.id===this.id),i=r-1,a=[...n.elements],s=a.splice(r,1)[0];return a.splice(i,0,s),a.forEach((o,c)=>o.layerIndex=c),{...t,layouts:{...t.layouts,[n.layout.id]:{...t.layouts[n.layout.id],elements:a,modificationID:Dt()}}}}}let qh,Zh;const ri=(e,t,n)=>{if(qh!==void 0)return qh(e,t,n);try{const r=jm(!0);return Jm(r),r.createCanvas(e,t,n)}catch{throw new Error("Canvas module not set")}},Zs=(e,t)=>{if(Zh!==void 0)return Zh(e,t);try{const n=jm(!0);return Jm(n),n.loadImage(e,t)}catch{throw new Error("Canvas module not set")}};function Jm(e){qh=e==null?void 0:e.createCanvas,Zh=e==null?void 0:e.loadImage}function jm(e){try{if(document.createElement("canvas").getContext("2d"))return{createCanvas:(t,n,r)=>{const i=document.createElement("canvas");return t!=null&&(i.width=t),n!=null&&(i.height=n),i},loadImage:(t,n)=>new Promise((r,i)=>{const a=new Image;n!==!1&&(a.crossOrigin="anonymous"),a.onload=()=>{r(a)},a.onerror=i,a.src=t})}}catch(t){if(e)throw t}}let $h;function tf(){return $h===void 0&&($h=DOMParser),$h}function It(e,t,n){const r=[];for(let i=0;i<n&&t+i<e.byteLength;i++)r.push(e.getUint8(t+i));return Pa(r)}function GF(e,t,n){const r=[];for(let i=0;i<n&&t+i<e.byteLength;i+=2)r.push(e.getUint16(t+i));return Pa(r)}function Pa(e){return e.map(t=>String.fromCharCode(t)).join("")}function Lt(){for(let e=1;e<arguments.length;e++)for(const t in arguments[e])arguments[0][t]=arguments[e][t];return arguments[0]}function Wm(e,t,n){let r=!1;Object.defineProperty(e,t,{get(){return r||(r=!0,Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n.apply(e),writable:!0})),e[t]},configurable:!0,enumerable:!0})}function Km(e){if(typeof btoa<"u")return btoa(typeof e=="string"?e:Array.prototype.reduce.call(new Uint8Array(e),(t,n)=>t+String.fromCharCode(n),""));if(!(typeof Buffer>"u"))return typeof Buffer.from!==void 0?Buffer.from(e).toString("base64"):new Buffer(e).toString("base64")}function VF(e){const t=e.substring(e.indexOf(",")+1);if(e.indexOf(";base64")!==-1)return typeof atob<"u"?Uint8Array.from(atob(t),r=>r.charCodeAt(0)).buffer:typeof Buffer>"u"?void 0:typeof Buffer.from!==void 0?Buffer.from(t,"base64"):new Buffer(t,"base64");const n=decodeURIComponent(t);return typeof Buffer<"u"?typeof Buffer.from!==void 0?Buffer.from(n):new Buffer(n):Uint8Array.from(n,r=>r.charCodeAt(0)).buffer}let zF=class{constructor(e){if(JF(e))throw new Error("DataView: Passed buffer type is unsupported.");this.buffer=e,this.byteLength=this.buffer.length}getUint8(e){return this.buffer.readUInt8(e)}getUint16(e,t){return t?this.buffer.readUInt16LE(e):this.buffer.readUInt16BE(e)}getUint32(e,t){return t?this.buffer.readUInt32LE(e):this.buffer.readUInt32BE(e)}getInt32(e,t){return t?this.buffer.readInt32LE(e):this.buffer.readInt32BE(e)}};function JF(e){return typeof e!="object"||e.length===void 0||e.readUInt8===void 0||e.readUInt16LE===void 0||e.readUInt16BE===void 0||e.readUInt32LE===void 0||e.readUInt32BE===void 0||e.readInt32LE===void 0||e.readInt32BE===void 0}function Ee(e){return e.map(t=>String.fromCharCode(t)).join("")}function ef(e){if(e.length>=8){const t=Ee(e.slice(0,8));if(t==="ASCII\0\0\0")return Ee(e.slice(8));if(t==="JIS\0\0\0\0\0")return"[JIS encoded text]";if(t==="UNICODE\0")return"[Unicode encoded text]";if(t==="\0\0\0\0\0\0\0\0")return"[Undefined encoding]"}return"Undefined"}function Ol(e){return e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600}const nf=18761,rf=19789,Ri={BIG_ENDIAN:rf,LITTLE_ENDIAN:nf,getByteOrder:jF};function jF(e,t){if(e.getUint16(t)===nf)return nf;if(e.getUint16(t)===rf)return rf;throw new Error("Illegal byte order value. Faulty image.")}const Xm={isTiffFile:WF,findTiffOffsets:XF};function WF(e){return!!e&&e.byteLength>=4&&KF(e)}function KF(e){const t=e.getUint16(0)===Ri.LITTLE_ENDIAN;return e.getUint16(2,t)===42}function XF(){return{hasAppMarkers:!0,tiffHeaderOffset:0}}const _m={isJpegFile:h3,findJpegOffsets:f3},_F=2,qF=65496,qm=2,Sn=4,un=2,ZF=2,$F=10,t3=18,Zm=33,$m=79,ty=18,e3=8,af="ICC_PROFILE\0",ey=Sn+af.length,n3=ey+1,ny="MPF\0",ry=65472,iy=65474,r3=65476,i3=65499,a3=65501,s3=65498,ay=65504,sf=65505,sy=65506,o3=65517,c3=65519,l3=65534,u3=65535,A3="JFIF",of="Exif",oy="http://ns.adobe.com/xap/1.0/\0",cy="http://ns.adobe.com/xmp/extension/\0",ly="Photoshop 3.0";function h3(e){return!!e&&e.byteLength>=_F&&e.getUint16(0)===qF}function f3(e){let t=qm,n,r,i,a,s,o,c,l,u;for(;t+Sn+5<=e.byteLength;){if(g3(e,t))r=t+un;else if(d3(e,t))i=t+un;else if(y3(e,t))n=e.getUint16(t+un),a=t+ZF;else if(w3(e,t))n=e.getUint16(t+un),s=t+$F;else if(v3(e,t))c||(c=[]),n=e.getUint16(t+un),c.push(x3(t,n));else if(B3(e,t))c||(c=[]),n=e.getUint16(t+un),c.push(b3(t,n));else if(S3(e,t))n=e.getUint16(t+un),o=t+t3;else if(p3(e,t)){n=e.getUint16(t+un);const A=t+ty,h=n-(ty-un),f=e.getUint8(t+ey),d=e.getUint8(t+n3);l||(l=[]),l.push({offset:A,length:h,chunkNumber:f,chunksTotal:d})}else if(m3(e,t))n=e.getUint16(t+un),u=t+e3;else if(D3(e,t))n=e.getUint16(t+un);else if(I3(e,t)){t++;continue}else break;t+=un+n}return{hasAppMarkers:t>qm,fileDataOffset:r||i,jfifDataOffset:a,tiffHeaderOffset:s,iptcDataOffset:o,xmpChunks:c,iccChunks:l,mpfDataOffset:u}}function g3(e,t){return e.getUint16(t)===ry}function d3(e,t){return e.getUint16(t)===iy}function p3(e,t){const n=af.length;return e.getUint16(t)===sy&&It(e,t+Sn,n)===af}function m3(e,t){const n=ny.length;return e.getUint16(t)===sy&&It(e,t+Sn,n)===ny}function y3(e,t){const n=of.length;return e.getUint16(t)===ay&&It(e,t+Sn,n)===A3&&e.getUint8(t+Sn+n)===0}function w3(e,t){const n=of.length;return e.getUint16(t)===sf&&It(e,t+Sn,n)===of&&e.getUint8(t+Sn+n)===0}function v3(e,t){return e.getUint16(t)===sf&&E3(e,t)}function E3(e,t){const n=oy.length;return It(e,t+Sn,n)===oy}function B3(e,t){return e.getUint16(t)===sf&&C3(e,t)}function C3(e,t){const n=cy.length;return It(e,t+Sn,n)===cy}function x3(e,t){return{dataOffset:e+Zm,length:t-(Zm-un)}}function b3(e,t){return{dataOffset:e+$m,length:t-($m-un)}}function S3(e,t){const n=ly.length;return e.getUint16(t)===o3&&It(e,t+Sn,n)===ly&&e.getUint8(t+Sn+n)===0}function D3(e,t){const n=e.getUint16(t);return n>=ay&&n<=c3||n===l3||n===ry||n===iy||n===r3||n===i3||n===a3||n===s3}function I3(e,t){return e.getUint16(t)===u3}const uy={isPngFile:M3,findPngOffsets:T3},cf=`‰PNG\r
87
87
  
88
88
  `,Ul=4,cr=4,$s=0,Oi=Ul,qe=Ul+cr,lf="XML:com.adobe.xmp\0",F3="tEXt",Ay="iTXt",hy="pHYs",fy="tIME",Q3="eXIf";function M3(e){return!!e&&It(e,0,cf.length)===cf}function T3(e){const t={hasAppMarkers:!1};let n=cf.length;for(;n+Ul+cr<=e.byteLength;){if(N3(e,n))t.hasAppMarkers=!0,t.pngHeaderOffset=n+qe;else if(P3(e,n)){const r=U3(e,n);r!==void 0&&(t.hasAppMarkers=!0,t.xmpChunks=[{dataOffset:r,length:e.getUint32(n+$s)-(r-(n+qe))}])}else if(k3(e,n)){t.hasAppMarkers=!0;const r=It(e,n+Oi,cr);t.pngTextChunks||(t.pngTextChunks=[]),t.pngTextChunks.push({length:e.getUint32(n+$s),type:r,offset:n+qe})}else R3(e,n)?(t.hasAppMarkers=!0,t.tiffHeaderOffset=n+qe):O3(e,n)&&(t.hasAppMarkers=!0,t.pngChunkOffsets||(t.pngChunkOffsets=[]),t.pngChunkOffsets.push(n+$s));n+=e.getUint32(n+$s)+Ul+cr+4}return t}function N3(e,t){const n="IHDR";return It(e,t+Oi,cr)===n}function P3(e,t){const n="iTXt";return It(e,t+Oi,cr)===n&&It(e,t+qe,lf.length)===lf}function k3(e,t){const n="tEXt",r="iTXt",i=It(e,t+Oi,cr);return i===n||i===r}function R3(e,t){return It(e,t+Oi,cr)===Q3}function O3(e,t){const n=[hy,fy],r=It(e,t+Oi,cr);return n.includes(r)}function U3(e,t){t+=qe+lf.length+1+1;let n=0;for(;n<2&&t<e.byteLength;)e.getUint8(t)===0&&n++,t++;if(!(n<2))return t}const gy={isHeicFile:L3,findHeicOffsets:Y3};function L3(e){if(!e)return!1;const t="ftyp",n=4,r=["heic","heix","hevc","hevx","heim","heis","hevm","hevs","mif1"],i=4,a=It(e,n+t.length,i);return It(e,n,t.length)===t&&r.indexOf(a)!==-1}function Y3(e){{const{offset:t,length:n}=H3(e);if(t===void 0)return{hasAppMarkers:!1};const r=Math.min(t+n,e.byteLength),{exifItemOffset:i,ilocOffset:a,colrOffset:s}=J3(e,t,r),o=j3(e,i,a,r),c=W3(e,s,r);return{hasAppMarkers:o!==void 0||c!==void 0,tiffHeaderOffset:o,iccChunks:c}}}function H3(e){let t=0;for(;t+4+4<=e.byteLength;){const n=dy(e,t);if(n>=8&&It(e,t+4,4)==="meta")return{offset:t,length:n};t+=n}return{offset:void 0,length:0}}function dy(e,t){const n=e.getUint32(t);return G3(n)?e.byteLength-t:V3(n)&&z3(e,t)?e.getUint32(t+12):n}function G3(e){return e===0}function V3(e){return e===1}function z3(e,t){return e.getUint32(t+8)===0}function J3(e,t,n){const r={ilocOffset:void 0,exifItemOffset:void 0,colrOffset:void 0};for(;t+4<=n&&(!r.ilocOffset||!r.exifItemOffset||!r.colrOffset);){const i=It(e,t,4);i==="iloc"?r.ilocOffset=t:i==="Exif"?r.exifItemOffset=t+-4:i==="colr"&&(r.colrOffset=t+-4),t++}return r}function j3(e,t,n,r){if(!n||!t||t+2>r)return;const i=e.getUint16(t);for(n+=12;n+16<=r;){if(e.getUint16(n)===i){const a=e.getUint32(n+8);if(a+4<=e.byteLength){const s=e.getUint32(a)+4;return a+s}}n+=16}}function W3(e,t,n){if(!t||t+12>n)return;const r=It(e,t+8,4);if(!(r!=="prof"&&r!=="rICC"))return[{offset:t+12,length:dy(e,t)-12,chunkNumber:1,chunksTotal:1}]}const py={isWebpFile:K3,findOffsets:X3};function K3(e){const t="RIFF",n="WEBP";return!!e&&It(e,0,t.length)===t&&It(e,8,n.length)===n}function X3(e){const t="Exif\0\0";let n=12,r=!1,i,a,s;for(;n+8<e.byteLength;){const o=It(e,n,4),c=e.getUint32(n+4,!0);o==="EXIF"?(r=!0,It(e,n+8,t.length)===t?i=n+8+t.length:i=n+8):o==="XMP "?(r=!0,a=[{dataOffset:n+8,length:c}]):o==="ICCP"&&(r=!0,s=[{offset:n+8,length:c,chunkNumber:1,chunksTotal:1}]),n+=8+(c%2===0?c:c+1)}return{hasAppMarkers:r,tiffHeaderOffset:i,xmpChunks:a,iccChunks:s}}const _3={parseAppMarkers:q3};function q3(e){if(Xm.isTiffFile(e))return Xm.findTiffOffsets();if(_m.isJpegFile(e))return _m.findJpegOffsets(e);if(uy.isPngFile(e))return uy.findPngOffsets(e);if(gy.isHeicFile(e))return gy.findHeicOffsets(e);if(py.isWebpFile(e))return py.findOffsets(e);throw new Error("Invalid image format")}const my={1:1,2:1,3:2,4:4,5:8,7:1,9:4,10:8,13:4},uf={BYTE:1,ASCII:2,SHORT:3,LONG:4,RATIONAL:5,UNDEFINED:7,SLONG:9,SRATIONAL:10,IFD:13},q={getAsciiValue:Z3,getByteAt:yy,getAsciiAt:$3,getShortAt:tQ,getLongAt:Ll,getRationalAt:eQ,getUndefinedAt:nQ,getSlongAt:Af,getSrationalAt:rQ,getIfdPointerAt:iQ,typeSizes:my,tagTypes:uf,getTypeSize:aQ};function Z3(e){return e.map(t=>String.fromCharCode(t))}function yy(e,t){return e.getUint8(t)}function $3(e,t){return e.getUint8(t)}function tQ(e,t,n){return e.getUint16(t,n===Ri.LITTLE_ENDIAN)}function Ll(e,t,n){return e.getUint32(t,n===Ri.LITTLE_ENDIAN)}function eQ(e,t,n){return[Ll(e,t,n),Ll(e,t+4,n)]}function nQ(e,t){return yy(e,t)}function Af(e,t,n){return e.getInt32(t,n===Ri.LITTLE_ENDIAN)}function rQ(e,t,n){return[Af(e,t,n),Af(e,t+4,n)]}function iQ(e,t,n){return Ll(e,t,n)}function aQ(e){if(uf[e]===void 0)throw new Error("No such type found.");return my[uf[e]]}const Bt={ApertureValue:e=>Math.pow(Math.sqrt(2),e[0]/e[1]).toFixed(2),ColorSpace(e){return e===1?"sRGB":e===65535?"Uncalibrated":"Unknown"},ComponentsConfiguration(e){return e.map(t=>{if(t===49)return"Y";if(t===50)return"Cb";if(t===51)return"Cr";if(t===52)return"R";if(t===53)return"G";if(t===54)return"B"}).join("")},Contrast(e){return e===0?"Normal":e===1?"Soft":e===2?"Hard":"Unknown"},CustomRendered(e){return e===0?"Normal process":e===1?"Custom process":"Unknown"},ExposureMode(e){return e===0?"Auto exposure":e===1?"Manual exposure":e===2?"Auto bracket":"Unknown"},ExposureProgram(e){return e===0?"Undefined":e===1?"Manual":e===2?"Normal program":e===3?"Aperture priority":e===4?"Shutter priority":e===5?"Creative program":e===6?"Action program":e===7?"Portrait mode":e===8?"Landscape mode":e===9?"Bulb":"Unknown"},ExposureTime(e){return e[0]>=e[1]?`${Math.round(e[0]/e[1])}`:e[0]!==0?`1/${Math.round(e[1]/e[0])}`:`0/${e[1]}`},FNumber:e=>`f/${e[0]/e[1]}`,FocalLength:e=>e[0]/e[1]+" mm",FocalPlaneResolutionUnit(e){return e===2?"inches":e===3?"centimeters":"Unknown"},LightSource:e=>e===1?"Daylight":e===2?"Fluorescent":e===3?"Tungsten (incandescent light)":e===4?"Flash":e===9?"Fine weather":e===10?"Cloudy weather":e===11?"Shade":e===12?"Daylight fluorescent (D 5700 – 7100K)":e===13?"Day white fluorescent (N 4600 – 5400K)":e===14?"Cool white fluorescent (W 3900 – 4500K)":e===15?"White fluorescent (WW 3200 – 3700K)":e===17?"Standard light A":e===18?"Standard light B":e===19?"Standard light C":e===20?"D55":e===21?"D65":e===22?"D75":e===23?"D50":e===24?"ISO studio tungsten":e===255?"Other light source":"Unknown",MeteringMode(e){return e===1?"Average":e===2?"CenterWeightedAverage":e===3?"Spot":e===4?"MultiSpot":e===5?"Pattern":e===6?"Partial":e===255?"Other":"Unknown"},ResolutionUnit(e){return e===2?"inches":e===3?"centimeters":"Unknown"},Saturation(e){return e===0?"Normal":e===1?"Low saturation":e===2?"High saturation":"Unknown"},SceneCaptureType(e){return e===0?"Standard":e===1?"Landscape":e===2?"Portrait":e===3?"Night scene":"Unknown"},Sharpness(e){return e===0?"Normal":e===1?"Soft":e===2?"Hard":"Unknown"},ShutterSpeedValue(e){const t=Math.pow(2,e[0]/e[1]);return t<=1?`${Math.round(1/t)}`:`1/${Math.round(t)}`},WhiteBalance(e){return e===0?"Auto white balance":e===1?"Manual white balance":"Unknown"},XResolution:e=>""+Math.round(e[0]/e[1]),YResolution:e=>""+Math.round(e[0]/e[1])},sQ={11:"ProcessingSoftware",254:{name:"SubfileType",description:e=>({0:"Full-resolution image",1:"Reduced-resolution image",2:"Single page of multi-page image",3:"Single page of multi-page reduced-resolution image",4:"Transparency mask",5:"Transparency mask of reduced-resolution image",6:"Transparency mask of multi-page image",7:"Transparency mask of reduced-resolution multi-page image",65537:"Alternate reduced-resolution image",4294967295:"Invalid"})[e]||"Unknown"},255:{name:"OldSubfileType",description:e=>({0:"Full-resolution image",1:"Reduced-resolution image",2:"Single page of multi-page image"})[e]||"Unknown"},256:"ImageWidth",257:"ImageLength",258:"BitsPerSample",259:"Compression",262:"PhotometricInterpretation",263:{name:"Thresholding",description:e=>({1:"No dithering or halftoning",2:"Ordered dither or halfton",3:"Randomized dither"})[e]||"Unknown"},264:"CellWidth",265:"CellLength",266:{name:"FillOrder",description:e=>({1:"Normal",2:"Reversed"})[e]||"Unknown"},269:"DocumentName",270:"ImageDescription",271:"Make",272:"Model",273:"StripOffsets",274:{name:"Orientation",description:e=>e===1?"top-left":e===2?"top-right":e===3?"bottom-right":e===4?"bottom-left":e===5?"left-top":e===6?"right-top":e===7?"right-bottom":e===8?"left-bottom":"Undefined"},277:"SamplesPerPixel",278:"RowsPerStrip",279:"StripByteCounts",280:"MinSampleValue",281:"MaxSampleValue",282:{name:"XResolution",description:Bt.XResolution},283:{name:"YResolution",description:Bt.YResolution},284:"PlanarConfiguration",285:"PageName",286:{name:"XPosition",description:e=>""+Math.round(e[0]/e[1])},287:{name:"YPosition",description:e=>""+Math.round(e[0]/e[1])},290:{name:"GrayResponseUnit",description:e=>({1:"0.1",2:"0.001",3:"0.0001",4:"1e-05",5:"1e-06"})[e]||"Unknown"},296:{name:"ResolutionUnit",description:Bt.ResolutionUnit},297:"PageNumber",301:"TransferFunction",305:"Software",306:"DateTime",315:"Artist",316:"HostComputer",317:"Predictor",318:{name:"WhitePoint",description:e=>e.map(t=>`${t[0]}/${t[1]}`).join(", ")},319:{name:"PrimaryChromaticities",description:e=>e.map(t=>`${t[0]}/${t[1]}`).join(", ")},321:"HalftoneHints",322:"TileWidth",323:"TileLength",330:"A100DataOffset",332:{name:"InkSet",description:e=>({1:"CMYK",2:"Not CMYK"})[e]||"Unknown"},337:"TargetPrinter",338:{name:"ExtraSamples",description:e=>({0:"Unspecified",1:"Associated Alpha",2:"Unassociated Alpha"})[e]||"Unknown"},339:{name:"SampleFormat",description:e=>{const t={1:"Unsigned",2:"Signed",3:"Float",4:"Undefined",5:"Complex int",6:"Complex float"};return Array.isArray(e)?e.map(n=>t[n]||"Unknown").join(", "):"Unknown"}},513:"JPEGInterchangeFormat",514:"JPEGInterchangeFormatLength",529:{name:"YCbCrCoefficients",description:e=>e.map(t=>""+t[0]/t[1]).join("/")},530:"YCbCrSubSampling",531:{name:"YCbCrPositioning",description:e=>e===1?"centered":e===2?"co-sited":"undefined "+e},532:{name:"ReferenceBlackWhite",description:e=>e.map(t=>""+t[0]/t[1]).join(", ")},700:"ApplicationNotes",18246:"Rating",18249:"RatingPercent",33432:{name:"Copyright",description:e=>e.join("; ")},33550:"PixelScale",33723:"IPTC-NAA",33920:"IntergraphMatrix",33922:"ModelTiePoint",34118:"SEMInfo",34264:"ModelTransform",34377:"PhotoshopSettings",34665:"Exif IFD Pointer",34675:"ICC_Profile",34735:"GeoTiffDirectory",34736:"GeoTiffDoubleParams",34737:"GeoTiffAsciiParams",34853:"GPS Info IFD Pointer",40091:"XPTitle",40092:"XPComment",40093:"XPAuthor",40094:"XPKeywords",40095:"XPSubject",42112:"GDALMetadata",42113:"GDALNoData",50341:"PrintIM",50707:"DNGBackwardVersion",50708:"UniqueCameraModel",50709:"LocalizedCameraModel",50721:"ColorMatrix1",50722:"ColorMatrix2",50723:"CameraCalibration1",50724:"CameraCalibration2",50725:"ReductionMatrix1",50726:"ReductionMatrix2",50727:"AnalogBalance",50728:"AsShotNeutral",50729:"AsShotWhiteXY",50730:"BaselineExposure",50731:"BaselineNoise",50732:"BaselineSharpness",50734:"LinearResponseLimit",50735:"CameraSerialNumber",50736:"DNGLensInfo",50739:"ShadowScale",50741:{name:"MakerNoteSafety",description:e=>({0:"Unsafe",1:"Safe"})[e]||"Unknown"},50778:{name:"CalibrationIlluminant1",description:Bt.LightSource},50779:{name:"CalibrationIlluminant2",description:Bt.LightSource},50781:"RawDataUniqueID",50827:"OriginalRawFileName",50828:"OriginalRawFileData",50831:"AsShotICCProfile",50832:"AsShotPreProfileMatrix",50833:"CurrentICCProfile",50834:"CurrentPreProfileMatrix",50879:"ColorimetricReference",50885:"SRawType",50898:"PanasonicTitle",50899:"PanasonicTitle2",50931:"CameraCalibrationSig",50932:"ProfileCalibrationSig",50933:"ProfileIFD",50934:"AsShotProfileName",50936:"ProfileName",50937:"ProfileHueSatMapDims",50938:"ProfileHueSatMapData1",50939:"ProfileHueSatMapData2",50940:"ProfileToneCurve",50941:{name:"ProfileEmbedPolicy",description:e=>({0:"Allow Copying",1:"Embed if Used",2:"Never Embed",3:"No Restrictions"})[e]||"Unknown"},50942:"ProfileCopyright",50964:"ForwardMatrix1",50965:"ForwardMatrix2",50966:"PreviewApplicationName",50967:"PreviewApplicationVersion",50968:"PreviewSettingsName",50969:"PreviewSettingsDigest",50970:{name:"PreviewColorSpace",description:e=>({1:"Gray Gamma 2.2",2:"sRGB",3:"Adobe RGB",4:"ProPhoto RGB"})[e]||"Unknown"},50971:"PreviewDateTime",50972:"RawImageDigest",50973:"OriginalRawFileDigest",50981:"ProfileLookTableDims",50982:"ProfileLookTableData",51043:"TimeCodes",51044:"FrameRate",51058:"TStop",51081:"ReelName",51089:"OriginalDefaultFinalSize",51090:"OriginalBestQualitySize",51091:"OriginalDefaultCropSize",51105:"CameraLabel",51107:{name:"ProfileHueSatMapEncoding",description:e=>({0:"Linear",1:"sRGB"})[e]||"Unknown"},51108:{name:"ProfileLookTableEncoding",description:e=>({0:"Linear",1:"sRGB"})[e]||"Unknown"},51109:"BaselineExposureOffset",51110:{name:"DefaultBlackRender",description:e=>({0:"Auto",1:"None"})[e]||"Unknown"},51111:"NewRawImageDigest",51112:"RawToPreviewGain"},oQ={33434:{name:"ExposureTime",description:Bt.ExposureTime},33437:{name:"FNumber",description:Bt.FNumber},34850:{name:"ExposureProgram",description:Bt.ExposureProgram},34852:"SpectralSensitivity",34855:"ISOSpeedRatings",34856:{name:"OECF",description:()=>"[Raw OECF table data]"},34858:"TimeZoneOffset",34859:"SelfTimerMode",34864:{name:"SensitivityType",description:e=>({1:"Standard Output Sensitivity",2:"Recommended Exposure Index",3:"ISO Speed",4:"Standard Output Sensitivity and Recommended Exposure Index",5:"Standard Output Sensitivity and ISO Speed",6:"Recommended Exposure Index and ISO Speed",7:"Standard Output Sensitivity, Recommended Exposure Index and ISO Speed"})[e]||"Unknown"},34865:"StandardOutputSensitivity",34866:"RecommendedExposureIndex",34867:"ISOSpeed",34868:"ISOSpeedLatitudeyyy",34869:"ISOSpeedLatitudezzz",36864:{name:"ExifVersion",description:e=>Ee(e)},36867:"DateTimeOriginal",36868:"DateTimeDigitized",36873:"GooglePlusUploadCode",36880:"OffsetTime",36881:"OffsetTimeOriginal",36882:"OffsetTimeDigitized",37121:{name:"ComponentsConfiguration",description:Bt.ComponentsConfiguration},37122:"CompressedBitsPerPixel",37377:{name:"ShutterSpeedValue",description:Bt.ShutterSpeedValue},37378:{name:"ApertureValue",description:Bt.ApertureValue},37379:"BrightnessValue",37380:"ExposureBiasValue",37381:{name:"MaxApertureValue",description:e=>Math.pow(Math.sqrt(2),e[0]/e[1]).toFixed(2)},37382:{name:"SubjectDistance",description:e=>e[0]/e[1]+" m"},37383:{name:"MeteringMode",description:Bt.MeteringMode},37384:{name:"LightSource",description:Bt.LightSource},37385:{name:"Flash",description:e=>e===0?"Flash did not fire":e===1?"Flash fired":e===5?"Strobe return light not detected":e===7?"Strobe return light detected":e===9?"Flash fired, compulsory flash mode":e===13?"Flash fired, compulsory flash mode, return light not detected":e===15?"Flash fired, compulsory flash mode, return light detected":e===16?"Flash did not fire, compulsory flash mode":e===24?"Flash did not fire, auto mode":e===25?"Flash fired, auto mode":e===29?"Flash fired, auto mode, return light not detected":e===31?"Flash fired, auto mode, return light detected":e===32?"No flash function":e===65?"Flash fired, red-eye reduction mode":e===69?"Flash fired, red-eye reduction mode, return light not detected":e===71?"Flash fired, red-eye reduction mode, return light detected":e===73?"Flash fired, compulsory flash mode, red-eye reduction mode":e===77?"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected":e===79?"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected":e===89?"Flash fired, auto mode, red-eye reduction mode":e===93?"Flash fired, auto mode, return light not detected, red-eye reduction mode":e===95?"Flash fired, auto mode, return light detected, red-eye reduction mode":"Unknown"},37386:{name:"FocalLength",description:Bt.FocalLength},37393:"ImageNumber",37394:{name:"SecurityClassification",description:e=>({C:"Confidential",R:"Restricted",S:"Secret",T:"Top Secret",U:"Unclassified"})[e]||"Unknown"},37395:"ImageHistory",37396:{name:"SubjectArea",description:e=>e.length===2?`Location; X: ${e[0]}, Y: ${e[1]}`:e.length===3?`Circle; X: ${e[0]}, Y: ${e[1]}, diameter: ${e[2]}`:e.length===4?`Rectangle; X: ${e[0]}, Y: ${e[1]}, width: ${e[2]}, height: ${e[3]}`:"Unknown"},37500:{name:"MakerNote",description:()=>"[Raw maker note data]"},37510:{name:"UserComment",description:ef},37520:"SubSecTime",37521:"SubSecTimeOriginal",37522:"SubSecTimeDigitized",37888:{name:"AmbientTemperature",description:e=>e[0]/e[1]+" °C"},37889:{name:"Humidity",description:e=>e[0]/e[1]+" %"},37890:{name:"Pressure",description:e=>e[0]/e[1]+" hPa"},37891:{name:"WaterDepth",description:e=>e[0]/e[1]+" m"},37892:{name:"Acceleration",description:e=>e[0]/e[1]+" mGal"},37893:{name:"CameraElevationAngle",description:e=>e[0]/e[1]+" °"},40960:{name:"FlashpixVersion",description:e=>e.map(t=>String.fromCharCode(t)).join("")},40961:{name:"ColorSpace",description:Bt.ColorSpace},40962:"PixelXDimension",40963:"PixelYDimension",40964:"RelatedSoundFile",40965:"Interoperability IFD Pointer",41483:"FlashEnergy",41484:{name:"SpatialFrequencyResponse",description:()=>"[Raw SFR table data]"},41486:"FocalPlaneXResolution",41487:"FocalPlaneYResolution",41488:{name:"FocalPlaneResolutionUnit",description:Bt.FocalPlaneResolutionUnit},41492:{name:"SubjectLocation",description:([e,t])=>`X: ${e}, Y: ${t}`},41493:"ExposureIndex",41495:{name:"SensingMethod",description:e=>e===1?"Undefined":e===2?"One-chip color area sensor":e===3?"Two-chip color area sensor":e===4?"Three-chip color area sensor":e===5?"Color sequential area sensor":e===7?"Trilinear sensor":e===8?"Color sequential linear sensor":"Unknown"},41728:{name:"FileSource",description:e=>e===3?"DSC":"Unknown"},41729:{name:"SceneType",description:e=>e===1?"A directly photographed image":"Unknown"},41730:{name:"CFAPattern",description:()=>"[Raw CFA pattern table data]"},41985:{name:"CustomRendered",description:Bt.CustomRendered},41986:{name:"ExposureMode",description:Bt.ExposureMode},41987:{name:"WhiteBalance",description:Bt.WhiteBalance},41988:{name:"DigitalZoomRatio",description:e=>e[0]===0?"Digital zoom was not used":""+e[0]/e[1]},41989:{name:"FocalLengthIn35mmFilm",description:e=>e===0?"Unknown":e},41990:{name:"SceneCaptureType",description:Bt.SceneCaptureType},41991:{name:"GainControl",description:e=>e===0?"None":e===1?"Low gain up":e===2?"High gain up":e===3?"Low gain down":e===4?"High gain down":"Unknown"},41992:{name:"Contrast",description:Bt.Contrast},41993:{name:"Saturation",description:Bt.Saturation},41994:{name:"Sharpness",description:Bt.Sharpness},41995:{name:"DeviceSettingDescription",description:()=>"[Raw device settings table data]"},41996:{name:"SubjectDistanceRange",description:e=>e===1?"Macro":e===2?"Close view":e===3?"Distant view":"Unknown"},42016:"ImageUniqueID",42032:"CameraOwnerName",42033:"BodySerialNumber",42034:{name:"LensSpecification",description:e=>{const t=`${e[0][0]/e[0][1]}-${e[1][0]/e[1][1]} mm`;return e[3][1]===0?`${t} f/?`:`${t} f/${1/(e[2][1]/e[2][1]/(e[3][0]/e[3][1]))}`}},42035:"LensMake",42036:"LensModel",42037:"LensSerialNumber",42080:{name:"CompositeImage",description:e=>({1:"Not a Composite Image",2:"General Composite Image",3:"Composite Image Captured While Shooting"})[e]||"Unknown"},42081:"SourceImageNumberOfCompositeImage",42082:"SourceExposureTimesOfCompositeImage",42240:"Gamma",59932:"Padding",59933:"OffsetSchema",65e3:"OwnerName",65001:"SerialNumber",65002:"Lens",65100:"RawFile",65101:"Converter",65102:"WhiteBalance",65105:"Exposure",65106:"Shadows",65107:"Brightness",65108:"Contrast",65109:"Saturation",65110:"Sharpness",65111:"Smoothness",65112:"MoireFilter"},cQ={0:{name:"GPSVersionID",description:e=>e[0]===2&&e[1]===2&&e[2]===0&&e[3]===0?"Version 2.2":"Unknown"},1:{name:"GPSLatitudeRef",description:e=>{const t=e.join("");return t==="N"?"North latitude":t==="S"?"South latitude":"Unknown"}},2:{name:"GPSLatitude",description:Ol},3:{name:"GPSLongitudeRef",description:e=>{const t=e.join("");return t==="E"?"East longitude":t==="W"?"West longitude":"Unknown"}},4:{name:"GPSLongitude",description:Ol},5:{name:"GPSAltitudeRef",description:e=>e===0?"Sea level":e===1?"Sea level reference (negative value)":"Unknown"},6:{name:"GPSAltitude",description:e=>e[0]/e[1]+" m"},7:{name:"GPSTimeStamp",description:e=>e.map(([t,n])=>{const r=t/n;return/^\d(\.|$)/.test(`${r}`)?`0${r}`:r}).join(":")},8:"GPSSatellites",9:{name:"GPSStatus",description:e=>{const t=e.join("");return t==="A"?"Measurement in progress":t==="V"?"Measurement Interoperability":"Unknown"}},10:{name:"GPSMeasureMode",description:e=>{const t=e.join("");return t==="2"?"2-dimensional measurement":t==="3"?"3-dimensional measurement":"Unknown"}},11:"GPSDOP",12:{name:"GPSSpeedRef",description:e=>{const t=e.join("");return t==="K"?"Kilometers per hour":t==="M"?"Miles per hour":t==="N"?"Knots":"Unknown"}},13:"GPSSpeed",14:{name:"GPSTrackRef",description:e=>{const t=e.join("");return t==="T"?"True direction":t==="M"?"Magnetic direction":"Unknown"}},15:"GPSTrack",16:{name:"GPSImgDirectionRef",description:e=>{const t=e.join("");return t==="T"?"True direction":t==="M"?"Magnetic direction":"Unknown"}},17:"GPSImgDirection",18:"GPSMapDatum",19:{name:"GPSDestLatitudeRef",description:e=>{const t=e.join("");return t==="N"?"North latitude":t==="S"?"South latitude":"Unknown"}},20:{name:"GPSDestLatitude",description:e=>e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600},21:{name:"GPSDestLongitudeRef",description:e=>{const t=e.join("");return t==="E"?"East longitude":t==="W"?"West longitude":"Unknown"}},22:{name:"GPSDestLongitude",description:e=>e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600},23:{name:"GPSDestBearingRef",description:e=>{const t=e.join("");return t==="T"?"True direction":t==="M"?"Magnetic direction":"Unknown"}},24:"GPSDestBearing",25:{name:"GPSDestDistanceRef",description:e=>{const t=e.join("");return t==="K"?"Kilometers":t==="M"?"Miles":t==="N"?"Knots":"Unknown"}},26:"GPSDestDistance",27:{name:"GPSProcessingMethod",description:ef},28:{name:"GPSAreaInformation",description:ef},29:"GPSDateStamp",30:{name:"GPSDifferential",description:e=>e===0?"Measurement without differential correction":e===1?"Differential correction applied":"Unknown"},31:"GPSHPositioningError"},lQ={1:"InteroperabilityIndex",2:{name:"InteroperabilityVersion",description:e=>Ee(e)},4096:"RelatedImageFileFormat",4097:"RelatedImageWidth",4098:"RelatedImageHeight"},uQ={45056:{name:"MPFVersion",description:e=>Ee(e)},45057:"NumberOfImages",45058:"MPEntry",45059:"ImageUIDList",45060:"TotalFrames"},wy=Lt({},sQ,oQ),ii={"0th":wy,exif:wy,gps:cQ,interoperability:lQ,mpf:uQ},vy="Exif IFD Pointer",Ey="GPS Info IFD Pointer",By="Interoperability IFD Pointer",AQ={1:q.getByteAt,2:q.getAsciiAt,3:q.getShortAt,4:q.getLongAt,5:q.getRationalAt,7:q.getUndefinedAt,9:q.getSlongAt,10:q.getSrationalAt,13:q.getIfdPointerAt},Cy={read:hQ,readMpf:mQ};function hQ(e,t,n){const r=Ri.getByteOrder(e,t);let i=fQ(e,t,r,n);return i=gQ(i,e,t,r,n),i=dQ(i,e,t,r,n),i=pQ(i,e,t,r,n),i}function fQ(e,t,n,r){return ka(e,"0th",t,xy(e,t,n),n,r)}function xy(e,t,n){return t+q.getLongAt(e,t+4,n)}function gQ(e,t,n,r,i){return e[vy]!==void 0?Lt(e,ka(t,"exif",n,n+e[vy].value,r,i)):e}function dQ(e,t,n,r,i){return e[Ey]!==void 0?Lt(e,ka(t,"gps",n,n+e[Ey].value,r,i)):e}function pQ(e,t,n,r,i){return e[By]!==void 0?Lt(e,ka(t,"interoperability",n,n+e[By].value,r,i)):e}function mQ(e,t,n){const r=Ri.getByteOrder(e,t),i=ka(e,"mpf",t,xy(e,t,r),r,n);return yQ(e,t,i,r)}function yQ(e,t,n,r){if(!n.MPEntry)return n;const i=[];for(let a=0;a<Math.ceil(n.MPEntry.value.length/16);a++){i[a]={};const s=to(n.MPEntry.value,a*16,q.getTypeSize("LONG"),r);i[a].ImageFlags=wQ(s),i[a].ImageFormat=vQ(s),i[a].ImageType=EQ(s);const o=to(n.MPEntry.value,a*16+4,q.getTypeSize("LONG"),r);i[a].ImageSize={value:o,description:""+o};const c=BQ(a)?0:to(n.MPEntry.value,a*16+8,q.getTypeSize("LONG"),r)+t;i[a].ImageOffset={value:c,description:""+c};const l=to(n.MPEntry.value,a*16+12,q.getTypeSize("SHORT"),r);i[a].DependentImage1EntryNumber={value:l,description:""+l};const u=to(n.MPEntry.value,a*16+14,q.getTypeSize("SHORT"),r);i[a].DependentImage2EntryNumber={value:u,description:""+u},i[a].image=e.buffer.slice(c,c+o),Wm(i[a],"base64",function(){return Km(this.image)})}return n.Images=i,n}function to(e,t,n,r){if(r===Ri.LITTLE_ENDIAN){let a=0;for(let s=0;s<n;s++)a+=e[t+s]<<8*s;return a}let i=0;for(let a=0;a<n;a++)i+=e[t+a]<<8*(n-1-a);return i}function wQ(e){const t=[e>>31&1,e>>30&1,e>>29&1],n=[];return t[0]&&n.push("Dependent Parent Image"),t[1]&&n.push("Dependent Child Image"),t[2]&&n.push("Representative Image"),{value:t,description:n.join(", ")||"None"}}function vQ(e){const t=e>>24&7;return{value:t,description:t===0?"JPEG":"Unknown"}}function EQ(e){const t=e&16777215;return{value:t,description:{196608:"Baseline MP Primary Image",65537:"Large Thumbnail (VGA equivalent)",65538:"Large Thumbnail (Full HD equivalent)",131073:"Multi-Frame Image (Panorama)",131074:"Multi-Frame Image (Disparity)",131075:"Multi-Frame Image (Multi-Angle)",0:"Undefined"}[t]||"Unknown"}}function BQ(e){return e===0}function ka(e,t,n,r,i,a){const s=q.getTypeSize("SHORT"),o=12,c={},l=CQ(e,r,i);r+=s;for(let u=0;u<l&&!(r+o>e.byteLength);u++){const A=xQ(e,t,n,r,i,a);A!==void 0&&(c[A.name]={id:A.id,value:A.value,description:A.description}),r+=o}if(r<e.byteLength-q.getTypeSize("LONG")){const u=q.getLongAt(e,r,i);u!==0&&(c.Thumbnail=ka(e,t,n,n+u,i,!0))}return c}function CQ(e,t,n){return t+q.getTypeSize("SHORT")<=e.byteLength?q.getShortAt(e,t,n):0}function xQ(e,t,n,r,i,a){const s=q.getTypeSize("SHORT"),o=s+q.getTypeSize("SHORT"),c=o+q.getTypeSize("LONG"),l=q.getShortAt(e,r,i),u=q.getShortAt(e,r+s,i),A=q.getLongAt(e,r+o,i);let h;if(q.typeSizes[u]===void 0||!a&&ii[t][l]===void 0)return;if(bQ(u,A))h=by(e,r+c,u,A,i);else{const p=q.getLongAt(e,r+c,i);if(SQ(e,n,p,u,A)){const m=l===33723;h=by(e,n+p,u,A,i,m)}else h="<faulty value>"}u===q.tagTypes.ASCII&&(h=DQ(h),h=IQ(h));let f=`undefined-${l}`,d=h;if(ii[t][l]!==void 0)if(ii[t][l].name!==void 0&&ii[t][l].description!==void 0){f=ii[t][l].name;try{d=ii[t][l].description(h)}catch{d=Sy(h)}}else u===q.tagTypes.RATIONAL||u===q.tagTypes.SRATIONAL?(f=ii[t][l],d=""+h[0]/h[1]):(f=ii[t][l],d=Sy(h));return{id:l,name:f,value:h,description:d}}function bQ(e,t){return q.typeSizes[e]*t<=q.getTypeSize("LONG")}function by(e,t,n,r,i,a=!1){let s=[];a&&(r=r*q.typeSizes[n],n=q.tagTypes.BYTE);for(let o=0;o<r;o++)s.push(AQ[n](e,t,i)),t+=q.typeSizes[n];return n===q.tagTypes.ASCII?s=q.getAsciiValue(s):s.length===1&&(s=s[0]),s}function SQ(e,t,n,r,i){return t+n+q.typeSizes[r]*i<=e.byteLength}function DQ(e){const t=[];let n=0;for(let r=0;r<e.length;r++){if(e[r]==="\0"){n++;continue}t[n]===void 0&&(t[n]=""),t[n]+=e[r]}return t}function IQ(e){try{return e.map(t=>decodeURIComponent(escape(t)))}catch{return e}}function Sy(e){return e instanceof Array?e.join(", "):e}const FQ={read:QQ};function QQ(e,t){const n=MQ(e,t),r=kQ(e,t,n);return{"Bits Per Sample":TQ(e,t,n),"Image Height":NQ(e,t,n),"Image Width":PQ(e,t,n),"Color Components":r,Subsampling:r&&RQ(e,t,r.value,n)}}function MQ(e,t){return q.getShortAt(e,t)}function TQ(e,t,n){if(2+1>n)return;const r=q.getByteAt(e,t+2);return{value:r,description:""+r}}function NQ(e,t,n){if(3+2>n)return;const r=q.getShortAt(e,t+3);return{value:r,description:`${r}px`}}function PQ(e,t,n){if(5+2>n)return;const r=q.getShortAt(e,t+5);return{value:r,description:`${r}px`}}function kQ(e,t,n){if(7+1>n)return;const r=q.getByteAt(e,t+7);return{value:r,description:""+r}}function RQ(e,t,n,r){if(8+3*n>r)return;const i=[];for(let a=0;a<n;a++){const s=t+8+a*3;i.push([q.getByteAt(e,s),q.getByteAt(e,s+1),q.getByteAt(e,s+2)])}return{value:i,description:i.length>1?OQ(i)+UQ(i):""}}function OQ(e){const t={1:"Y",2:"Cb",3:"Cr",4:"I",5:"Q"};return e.map(n=>t[n[0]]).join("")}function UQ(e){const t={17:"4:4:4 (1 1)",18:"4:4:0 (1 2)",20:"4:4:1 (1 4)",33:"4:2:2 (2 1)",34:"4:2:0 (2 2)",36:"4:2:1 (2 4)",65:"4:1:1 (4 1)",66:"4:1:0 (4 2)"};return e.length===0||e[0][1]===void 0||t[e[0][1]]===void 0?"":t[e[0][1]]}const LQ={read:YQ};function YQ(e,t){const n=HQ(e,t),r=WQ(e,t,n),i=KQ(e,t,n),a={"JFIF Version":GQ(e,t,n),"Resolution Unit":VQ(e,t,n),XResolution:JQ(e,t,n),YResolution:jQ(e,t,n),"JFIF Thumbnail Width":r,"JFIF Thumbnail Height":i};if(r!==void 0&&i!==void 0){const s=XQ(e,t,3*r.value*i.value,n);s&&(a["JFIF Thumbnail"]=s)}for(const s in a)a[s]===void 0&&delete a[s];return a}function HQ(e,t){return q.getShortAt(e,t)}function GQ(e,t,n){if(7+2>n)return;const r=q.getByteAt(e,t+7),i=q.getByteAt(e,t+7+1);return{value:r*256+i,description:r+"."+i}}function VQ(e,t,n){if(9+1>n)return;const r=q.getByteAt(e,t+9);return{value:r,description:zQ(r)}}function zQ(e){return e===0?"None":e===1?"inches":e===2?"cm":"Unknown"}function JQ(e,t,n){if(10+2>n)return;const r=q.getShortAt(e,t+10);return{value:r,description:""+r}}function jQ(e,t,n){if(12+2>n)return;const r=q.getShortAt(e,t+12);return{value:r,description:""+r}}function WQ(e,t,n){if(14+1>n)return;const r=q.getByteAt(e,t+14);return{value:r,description:`${r}px`}}function KQ(e,t,n){if(15+1>n)return;const r=q.getByteAt(e,t+15);return{value:r,description:`${r}px`}}function XQ(e,t,n,r){return n===0||16+n>r?void 0:{value:e.buffer.slice(t+16,t+16+n),description:"<24-bit RGB pixel data>"}}const ai={iptc:{256:{name:"Model Version",description:e=>((e[0]<<8)+e[1]).toString()},261:{name:"Destination",repeatable:!0},276:{name:"File Format",description:e=>((e[0]<<8)+e[1]).toString()},278:{name:"File Format Version",description:e=>((e[0]<<8)+e[1]).toString()},286:"Service Identifier",296:"Envelope Number",306:"Product ID",316:"Envelope Priority",326:{name:"Date Sent",description:hf},336:{name:"Time Sent",description:ff},346:{name:"Coded Character Set",description:Dy,encoding_name:Dy},356:"UNO",376:{name:"ARM Identifier",description:e=>((e[0]<<8)+e[1]).toString()},378:{name:"ARM Version",description:e=>((e[0]<<8)+e[1]).toString()},512:{name:"Record Version",description:e=>((e[0]<<8)+e[1]).toString()},515:"Object Type Reference",516:"Object Attribute Reference",517:"Object Name",519:"Edit Status",520:{name:"Editorial Update",description:e=>Ee(e)==="01"?"Additional Language":"Unknown"},522:"Urgency",524:{name:"Subject Reference",repeatable:!0,description:e=>{const t=Ee(e).split(":");return t[2]+(t[3]?"/"+t[3]:"")+(t[4]?"/"+t[4]:"")}},527:"Category",532:{name:"Supplemental Category",repeatable:!0},534:"Fixture Identifier",537:{name:"Keywords",repeatable:!0},538:{name:"Content Location Code",repeatable:!0},539:{name:"Content Location Name",repeatable:!0},542:"Release Date",547:"Release Time",549:"Expiration Date",550:"Expiration Time",552:"Special Instructions",554:{name:"Action Advised",description:e=>{const t=Ee(e);return t==="01"?"Object Kill":t==="02"?"Object Replace":t==="03"?"Object Append":t==="04"?"Object Reference":"Unknown"}},557:{name:"Reference Service",repeatable:!0},559:{name:"Reference Date",repeatable:!0},562:{name:"Reference Number",repeatable:!0},567:{name:"Date Created",description:hf},572:{name:"Time Created",description:ff},574:{name:"Digital Creation Date",description:hf},575:{name:"Digital Creation Time",description:ff},577:"Originating Program",582:"Program Version",587:{name:"Object Cycle",description:e=>{const t=Ee(e);return t==="a"?"morning":t==="p"?"evening":t==="b"?"both":"Unknown"}},592:{name:"By-line",repeatable:!0},597:{name:"By-line Title",repeatable:!0},602:"City",604:"Sub-location",607:"Province/State",612:"Country/Primary Location Code",613:"Country/Primary Location Name",615:"Original Transmission Reference",617:"Headline",622:"Credit",627:"Source",628:"Copyright Notice",630:{name:"Contact",repeatable:!0},632:"Caption/Abstract",634:{name:"Writer/Editor",repeatable:!0},637:{name:"Rasterized Caption",description:e=>e},642:"Image Type",643:{name:"Image Orientation",description:e=>{const t=Ee(e);return t==="P"?"Portrait":t==="L"?"Landscape":t==="S"?"Square":"Unknown"}},647:"Language Identifier",662:{name:"Audio Type",description:e=>{const t=Ee(e),n=t.charAt(0),r=t.charAt(1);let i="";return n==="1"?i+="Mono":n==="2"&&(i+="Stereo"),r==="A"?i+=", actuality":r==="C"?i+=", question and answer session":r==="M"?i+=", music, transmitted by itself":r==="Q"?i+=", response to a question":r==="R"?i+=", raw sound":r==="S"?i+=", scener":r==="V"?i+=", voicer":r==="W"&&(i+=", wrap"),i!==""?i:t}},663:{name:"Audio Sampling Rate",description:e=>parseInt(Ee(e),10)+" Hz"},664:{name:"Audio Sampling Resolution",description:e=>{const t=parseInt(Ee(e),10);return t+(t===1?" bit":" bits")}},665:{name:"Audio Duration",description:e=>{const t=Ee(e);return t.length>=6?t.substr(0,2)+":"+t.substr(2,2)+":"+t.substr(4,2):t}},666:"Audio Outcue",698:"Short Document ID",699:"Unique Document ID",700:"Owner ID",712:{name:e=>e.length===2?"ObjectData Preview File Format":"Record 2 destination",description:e=>{if(e.length===2){const t=(e[0]<<8)+e[1];return t===0?"No ObjectData":t===1?"IPTC-NAA Digital Newsphoto Parameter Record":t===2?"IPTC7901 Recommended Message Format":t===3?"Tagged Image File Format (Adobe/Aldus Image data)":t===4?"Illustrator (Adobe Graphics data)":t===5?"AppleSingle (Apple Computer Inc)":t===6?"NAA 89-3 (ANPA 1312)":t===7?"MacBinary II":t===8?"IPTC Unstructured Character Oriented File Format (UCOFF)":t===9?"United Press International ANPA 1312 variant":t===10?"United Press International Down-Load Message":t===11?"JPEG File Interchange (JFIF)":t===12?"Photo-CD Image-Pac (Eastman Kodak)":t===13?"Microsoft Bit Mapped Graphics File [*.BMP]":t===14?"Digital Audio File [*.WAV] (Microsoft & Creative Labs)":t===15?"Audio plus Moving Video [*.AVI] (Microsoft)":t===16?"PC DOS/Windows Executable Files [*.COM][*.EXE]":t===17?"Compressed Binary File [*.ZIP] (PKWare Inc)":t===18?"Audio Interchange File Format AIFF (Apple Computer Inc)":t===19?"RIFF Wave (Microsoft Corporation)":t===20?"Freehand (Macromedia/Aldus)":t===21?'Hypertext Markup Language "HTML" (The Internet Society)':t===22?"MPEG 2 Audio Layer 2 (Musicom), ISO/IEC":t===23?"MPEG 2 Audio Layer 3, ISO/IEC":t===24?"Portable Document File (*.PDF) Adobe":t===25?"News Industry Text Format (NITF)":t===26?"Tape Archive (*.TAR)":t===27?"Tidningarnas Telegrambyrå NITF version (TTNITF DTD)":t===28?"Ritzaus Bureau NITF version (RBNITF DTD)":t===29?"Corel Draw [*.CDR]":`Unknown format ${t}`}return Ee(e)}},713:{name:"ObjectData Preview File Format Version",description:(e,t)=>{const n={"00":{"00":"1"},"01":{"01":"1","02":"2","03":"3","04":"4"},"02":{"04":"4"},"03":{"01":"5.0","02":"6.0"},"04":{"01":"1.40"},"05":{"01":"2"},"06":{"01":"1"},11:{"01":"1.02"},20:{"01":"3.1","02":"4.0","03":"5.0","04":"5.5"},21:{"02":"2.0"}},r=Ee(e);if(t["ObjectData Preview File Format"]){const i=Ee(t["ObjectData Preview File Format"].value);if(n[i]&&n[i][r])return n[i][r]}return r}},714:"ObjectData Preview Data",1802:{name:"Size Mode",description:e=>e[0].toString()},1812:{name:"Max Subfile Size",description:e=>{let t=0;for(let n=0;n<e.length;n++)t=(t<<8)+e[n];return t.toString()}},1882:{name:"ObjectData Size Announced",description:e=>{let t=0;for(let n=0;n<e.length;n++)t=(t<<8)+e[n];return t.toString()}},1887:{name:"Maximum ObjectData Size",description:e=>{let t=0;for(let n=0;n<e.length;n++)t=(t<<8)+e[n];return t.toString()}}}};function hf(e){const t=Ee(e);return t.length>=8?t.substr(0,4)+"-"+t.substr(4,2)+"-"+t.substr(6,2):t}function ff(e){const t=Ee(e);let n=t;return t.length>=6&&(n=t.substr(0,2)+":"+t.substr(2,2)+":"+t.substr(4,2),t.length===11&&(n+=t.substr(6,1)+t.substr(7,2)+":"+t.substr(9,2))),n}function Dy(e){const t=Ee(e);return t==="\x1B%G"?"UTF-8":t==="\x1B%5"?"Windows-1252":t==="\x1B%/G"?"UTF-8 Level 1":t==="\x1B%/H"?"UTF-8 Level 2":t==="\x1B%/I"?"UTF-8 Level 3":t==="\x1B/A"?"ISO-8859-1":t==="\x1B/B"?"ISO-8859-2":t==="\x1B/C"?"ISO-8859-3":t==="\x1B/D"?"ISO-8859-4":t==="\x1B/@"?"ISO-8859-5":t==="\x1B/G"?"ISO-8859-6":t==="\x1B/F"?"ISO-8859-7":t==="\x1B/H"?"ISO-8859-8":"Unknown"}const _Q={get:qQ};function qQ(){if(typeof TextDecoder<"u")return TextDecoder}const ZQ=5,Iy={decode:$Q,TAG_HEADER_SIZE:ZQ};function $Q(e,t){const n=_Q.get();if(typeof n<"u"&&e!==void 0)try{return new n(e).decode(Uint8Array.from(t))}catch{}const r=t.map(i=>String.fromCharCode(i)).join("");return tM(r)}function tM(e){try{return decodeURIComponent(escape(e))}catch{return e}}const eM=943868237,Fy=4,gf=Fy+8,nM=1028,Qy=5,My={read:rM};function rM(e,t,n){try{if(Array.isArray(e))return Ty(new DataView(Uint8Array.from(e).buffer),{size:e.length},0,n);const{naaBlock:r,dataOffset:i}=iM(e,t);return Ty(e,r,i,n)}catch{return{}}}function iM(e,t){for(;t+gf<=e.byteLength;){const n=aM(e,t);if(sM(n))return{naaBlock:n,dataOffset:t+gf};t+=gf+n.size+oM(n)}throw new Error("No IPTC NAA resource block.")}function aM(e,t){if(e.getUint32(t,!1)!==eM)throw new Error("Not an IPTC resource block.");return{type:e.getUint16(t+Fy),size:e.getUint16(t+10)}}function sM(e){return e.type===nM}function oM(e){return e.size%2!==0?1:0}function Ty(e,t,n,r){const i={};let a;const s=n+t.size;for(;n<s&&n<e.byteLength;){const{tag:o,tagSize:c}=cM(e,n,i,a,r);if(o===null)break;o&&("encoding"in o&&(a=o.encoding),i[o.name]===void 0||o.repeatable===void 0?i[o.name]={id:o.id,value:o.value,description:o.description}:(i[o.name]instanceof Array||(i[o.name]=[{id:i[o.name].id,value:i[o.name].value,description:i[o.name].description}]),i[o.name].push({id:o.id,value:o.value,description:o.description}))),n+=Qy+c}return i}function cM(e,t,n,r,i){if(lM(e,t))return{tag:null,tagSize:0};const a=e.getUint16(t+1),s=e.getUint16(t+3);if(!i&&!ai.iptc[a])return{tag:void 0,tagSize:s};const o=uM(e,t+Qy,s),c={id:a,name:AM(ai.iptc[a],a,o),value:o,description:gM(ai.iptc[a],o,n,r)};return mM(a)&&(c.repeatable=!0),yM(a)&&(c.encoding=ai.iptc[a].encoding_name(o)),{tag:c,tagSize:s}}function lM(e,t){return e.getUint8(t)!==28}function uM(e,t,n){const r=[];for(let i=0;i<n;i++)r.push(e.getUint8(t+i));return r}function AM(e,t,n){return e?hM(e)?e:fM(e)?e.name(n):e.name:`undefined-${t}`}function hM(e){return typeof e=="string"}function fM(e){return typeof e.name=="function"}function gM(e,t,n,r){if(pM(e))try{return e.description(t,n)}catch{}return dM(e,t)?Iy.decode(r,t):t}function dM(e,t){return e&&t instanceof Array}function pM(e){return e&&e.description!==void 0}function mM(e){return ai.iptc[e]&&ai.iptc[e].repeatable}function yM(e){return ai.iptc[e]&&ai.iptc[e].encoding_name!==void 0}const Yl={"tiff:Orientation"(e){return e==="1"?"Horizontal (normal)":e==="2"?"Mirror horizontal":e==="3"?"Rotate 180":e==="4"?"Mirror vertical":e==="5"?"Mirror horizontal and rotate 270 CW":e==="6"?"Rotate 90 CW":e==="7"?"Mirror horizontal and rotate 90 CW":e==="8"?"Rotate 270 CW":e},"tiff:ResolutionUnit":e=>Bt.ResolutionUnit(parseInt(e,10)),"tiff:XResolution":e=>Ra(Bt.XResolution,e),"tiff:YResolution":e=>Ra(Bt.YResolution,e),"exif:ApertureValue":e=>Ra(Bt.ApertureValue,e),"exif:GPSLatitude":Py,"exif:GPSLongitude":Py,"exif:FNumber":e=>Ra(Bt.FNumber,e),"exif:FocalLength":e=>Ra(Bt.FocalLength,e),"exif:FocalPlaneResolutionUnit":e=>Bt.FocalPlaneResolutionUnit(parseInt(e,10)),"exif:ColorSpace":e=>Bt.ColorSpace(wM(e)),"exif:ComponentsConfiguration"(e,t){if(/^\d, \d, \d, \d$/.test(t)){const n=t.split(", ").map(r=>r.charCodeAt(0));return Bt.ComponentsConfiguration(n)}return t},"exif:Contrast":e=>Bt.Contrast(parseInt(e,10)),"exif:CustomRendered":e=>Bt.CustomRendered(parseInt(e,10)),"exif:ExposureMode":e=>Bt.ExposureMode(parseInt(e,10)),"exif:ExposureProgram":e=>Bt.ExposureProgram(parseInt(e,10)),"exif:ExposureTime"(e){return Ny(e)?Bt.ExposureTime(e.split("/").map(t=>parseInt(t,10))):e},"exif:MeteringMode":e=>Bt.MeteringMode(parseInt(e,10)),"exif:Saturation":e=>Bt.Saturation(parseInt(e,10)),"exif:SceneCaptureType":e=>Bt.SceneCaptureType(parseInt(e,10)),"exif:Sharpness":e=>Bt.Sharpness(parseInt(e,10)),"exif:ShutterSpeedValue":e=>Ra(Bt.ShutterSpeedValue,e),"exif:WhiteBalance":e=>Bt.WhiteBalance(parseInt(e,10))};function Ra(e,t){return Ny(t)?e(t.split("/")):t}function wM(e){return e.substring(0,2)==="0x"?parseInt(e.substring(2),16):parseInt(e,10)}function Ny(e){return/^-?\d+\/-?\d+$/.test(e)}function Py(e){const[t,n]=e.split(",");if(t!==void 0&&n!==void 0){const r=parseFloat(t),i=parseFloat(n),a=n.charAt(n.length-1);if(!Number.isNaN(r)&&!Number.isNaN(i))return""+(r+i/60)+a}return e}const vM={get:EM};function EM(){if(typeof DOMParser<"u")return new DOMParser;try{return new(__non_webpack_require__("@xmldom/xmldom")).DOMParser({errorHandler:{error:()=>{throw new Error("Faulty XML")}}})}catch{return}}const ky={read:BM};function BM(e,t){const n={};if(typeof e=="string")return Hl(n,e),n;const[r,i]=CM(e,t),a=Hl(n,r);if(i){const s=Hl(n,i);!a&&!s&&(delete n._raw,Hl(n,df(e,t)))}return n}function CM(e,t){if(t.length===0)return[];const n=[df(e,t.slice(0,1))];return t.length>1&&n.push(df(e,t.slice(1))),n}function df(e,t){const n=t.reduce((a,s)=>a+s.length,0),r=new Uint8Array(n);let i=0;for(let a=0;a<t.length;a++){const s=t[a],o=e.buffer.slice(s.dataOffset,s.dataOffset+s.length);r.set(new Uint8Array(o),i),i+=s.length}return new DataView(r.buffer)}function Hl(e,t){try{const{doc:n,raw:r}=xM(t);e._raw=(e._raw||"")+r;const i=Ry(n);return Lt(e,Uy(Oy(i,!0))),!0}catch{return!1}}function xM(e){const t=vM.get();if(!t)throw console.warn("Warning: DOMParser is not available. It is needed to be able to parse XMP tags."),new Error;const n=typeof e=="string"?e:It(e,0,e.byteLength),r=t.parseFromString(bM(n),"application/xml");if(r.documentElement.nodeName==="parsererror")throw new Error(r.documentElement.textContent);return{doc:r,raw:n}}function bM(e){return e.replace(/^.+(<\?xpacket begin)/,"$1").replace(/(<\?xpacket end=".*"\?>).+$/,"$1")}function Ry(e){for(let t=0;t<e.childNodes.length;t++){if(e.childNodes[t].tagName==="x:xmpmeta")return Ry(e.childNodes[t]);if(e.childNodes[t].tagName==="rdf:RDF")return e.childNodes[t]}throw new Error}function Oy(e,t=!1){const n=SM(e);return DM(n)?t?{}:IM(n[0]):FM(n)}function SM(e){const t=[];for(let n=0;n<e.childNodes.length;n++)t.push(e.childNodes[n]);return t}function DM(e){return e.length===1&&e[0].nodeName==="#text"}function IM(e){return e.nodeValue}function FM(e){const t={};return e.forEach(n=>{if(QM(n)){const r=MM(n);t[n.nodeName]!==void 0?(Array.isArray(t[n.nodeName])||(t[n.nodeName]=[t[n.nodeName]]),t[n.nodeName].push(r)):t[n.nodeName]=r}}),t}function QM(e){return e.nodeName&&e.nodeName!=="#text"}function MM(e){return{attributes:TM(e),value:Oy(e)}}function TM(e){const t={};for(let n=0;n<e.attributes.length;n++)t[e.attributes[n].nodeName]=decodeURIComponent(escape(e.attributes[n].value));return t}function Uy(e){const t={};if(typeof e=="string")return e;for(const n in e){let r=e[n];Array.isArray(r)||(r=[r]),r.forEach(i=>{Lt(t,pf(i.attributes)),typeof i.value=="object"&&Lt(t,Ly(i.value))})}return t}function pf(e){const t={};for(const n in e)NM(n)&&(t[Vl(n)]={value:e[n],attributes:{},description:Er(e[n],n)});return t}function NM(e){return e!=="rdf:parseType"&&!Gl(e)}function Gl(e){return e.split(":")[0]==="xmlns"}function Vl(e){return/^MicrosoftPhoto(_\d+_)?:Rating$/i.test(e)?"RatingPercent":e.split(":")[1]}function Er(e,t=void 0){if(Array.isArray(e)){const n=PM(e);return t&&typeof Yl[t]=="function"?Yl[t](e,n):n}if(typeof e=="object")return kM(e);try{return t&&typeof Yl[t]=="function"?Yl[t](e):decodeURIComponent(escape(e))}catch{return e}}function PM(e){return e.map(t=>t.value!==void 0?Er(t.value):Er(t)).join(", ")}function kM(e){const t=[];for(const n in e)t.push(`${RM(n)}: ${Er(e[n].value)}`);return t.join("; ")}function RM(e){return e==="CiAdrCity"?"CreatorCity":e==="CiAdrCtry"?"CreatorCountry":e==="CiAdrExtadr"?"CreatorAddress":e==="CiAdrPcode"?"CreatorPostalCode":e==="CiAdrRegion"?"CreatorRegion":e==="CiEmailWork"?"CreatorWorkEmail":e==="CiTelWork"?"CreatorWorkPhone":e==="CiUrlWork"?"CreatorWorkUrl":e}function Ly(e){const t={};for(const n in e)Gl(n)||(t[Vl(n)]=OM(e[n],n));return t}function OM(e,t){return Yy(e)?Hy(e,t):Gy(e)?Vy(e,t):zy(e)?Jy(e,t):YM(e)?HM(e,t):Wy(e,t)}function Yy(e){return e.attributes["rdf:parseType"]==="Resource"&&e.value["rdf:value"]!==void 0||e.value["rdf:Description"]!==void 0&&e.value["rdf:Description"].value["rdf:value"]!==void 0}function Hy(e,t){const n=eo(e);e.value["rdf:Description"]!==void 0&&(e=e.value["rdf:Description"]),Lt(n,eo(e),UM(e));const r=LM(e);return{value:r,attributes:n,description:Er(r,t)}}function eo(e){const t={};for(const n in e.attributes)n!=="rdf:parseType"&&n!=="rdf:resource"&&!Gl(n)&&(t[Vl(n)]=e.attributes[n]);return t}function UM(e){const t={};for(const n in e.value)n!=="rdf:value"&&!Gl(n)&&(t[Vl(n)]=e.value[n].value);return t}function LM(e){return Ky(e.value["rdf:value"])||e.value["rdf:value"].value}function Gy(e){return e.attributes["rdf:parseType"]==="Resource"||e.value["rdf:Description"]!==void 0&&e.value["rdf:Description"].value["rdf:value"]===void 0}function Vy(e,t){const n={value:{},attributes:{}};return e.value["rdf:Description"]!==void 0&&(Lt(n.value,pf(e.value["rdf:Description"].attributes)),Lt(n.attributes,eo(e)),e=e.value["rdf:Description"]),Lt(n.value,Ly(e.value)),n.description=Er(n.value,t),n}function zy(e){return Object.keys(e.value).length===0&&e.attributes["xml:lang"]===void 0&&e.attributes["rdf:resource"]===void 0}function Jy(e,t){const n=pf(e.attributes);return{value:n,attributes:{},description:Er(n,t)}}function YM(e){return jy(e.value)!==void 0}function jy(e){return e["rdf:Bag"]||e["rdf:Seq"]||e["rdf:Alt"]}function HM(e,t){let n=jy(e.value).value["rdf:li"];const r=eo(e),i=[];return n===void 0?n=[]:Array.isArray(n)||(n=[n]),n.forEach(a=>{i.push(GM(a))}),{value:i,attributes:r,description:Er(i,t)}}function GM(e){return Yy(e)?Hy(e):Gy(e)?Vy(e).value:zy(e)?Jy(e).value:Wy(e)}function Wy(e,t){const n=Ky(e)||Uy(e.value);return{value:n,attributes:eo(e),description:Er(n,t)}}function Ky(e){return e.attributes&&e.attributes["rdf:resource"]}const Xy={desc:{name:"ICC Description"},cprt:{name:"ICC Copyright"},dmdd:{name:"ICC Device Model Description"},vued:{name:"ICC Viewing Conditions Description"},dmnd:{name:"ICC Device Manufacturer for Display"},tech:{name:"Technology"}},_y={4:{name:"Preferred CMM type",value:(e,t)=>It(e,t,4),description:e=>e!==null?mf(e):""},8:{name:"Profile Version",value:(e,t)=>e.getUint8(t).toString(10)+"."+(e.getUint8(t+1)>>4).toString(10)+"."+(e.getUint8(t+1)%16).toString(10)},12:{name:"Profile/Device class",value:(e,t)=>It(e,t,4),description:e=>{switch(e.toLowerCase()){case"scnr":return"Input Device profile";case"mntr":return"Display Device profile";case"prtr":return"Output Device profile";case"link":return"DeviceLink profile";case"abst":return"Abstract profile";case"spac":return"ColorSpace profile";case"nmcl":return"NamedColor profile";case"cenc":return"ColorEncodingSpace profile";case"mid ":return"MultiplexIdentification profile";case"mlnk":return"MultiplexLink profile";case"mvis":return"MultiplexVisualization profile";default:return e}}},16:{name:"Color Space",value:(e,t)=>It(e,t,4)},20:{name:"Connection Space",value:(e,t)=>It(e,t,4)},24:{name:"ICC Profile Date",value:(e,t)=>VM(e,t).toISOString()},36:{name:"ICC Signature",value:(e,t)=>zM(e.buffer.slice(t,t+4))},40:{name:"Primary Platform",value:(e,t)=>It(e,t,4),description:e=>mf(e)},48:{name:"Device Manufacturer",value:(e,t)=>It(e,t,4),description:e=>mf(e)},52:{name:"Device Model Number",value:(e,t)=>It(e,t,4)},64:{name:"Rendering Intent",value:(e,t)=>e.getUint32(t),description:e=>{switch(e){case 0:return"Perceptual";case 1:return"Relative Colorimetric";case 2:return"Saturation";case 3:return"Absolute Colorimetric";default:return e}}},80:{name:"Profile Creator",value:(e,t)=>It(e,t,4)}};function VM(e,t){const n=e.getUint16(t),r=e.getUint16(t+2)-1,i=e.getUint16(t+4),a=e.getUint16(t+6),s=e.getUint16(t+8),o=e.getUint16(t+10);return new Date(Date.UTC(n,r,i,a,s,o))}function zM(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function mf(e){switch(e.toLowerCase()){case"appl":return"Apple";case"adbe":return"Adobe";case"msft":return"Microsoft";case"sunw":return"Sun Microsystems";case"sgi":return"Silicon Graphics";case"tgnt":return"Taligent";default:return e}}const qy={read:$M},JM=84,jM=128,WM="acsp",KM="desc",XM="mluc",_M="text",qM="sig ",ZM=12;function $M(e,t){try{const n=t.reduce((s,o)=>s+o.length,0),r=new Uint8Array(n);let i=0;const a=tT(e);for(let s=1;s<=t.length;s++){const o=t.find(u=>u.chunkNumber===s);if(!o)throw new Error(`ICC chunk ${s} not found`);const c=a.slice(o.offset,o.offset+o.length),l=new Uint8Array(c);r.set(l,i),i+=l.length}return rT(new DataView(r.buffer))}catch{return{}}}function tT(e){return Array.isArray(e)?new DataView(Uint8Array.from(e).buffer).buffer:e.buffer}function eT(e){return e.length<jM+4}function nT(e,t){return e.length<t+ZM}function rT(e){const t=e.buffer,n=e.getUint32();if(e.byteLength!==n)throw new Error("ICC profile length not matching");if(e.length<JM)throw new Error("ICC profile too short");const r={},i=Object.keys(_y);for(let o=0;o<i.length;o++){const c=i[o],l=_y[c],u=l.value(e,parseInt(c,10));let A=u;l.description&&(A=l.description(u)),r[l.name]={value:u,description:A}}if(zl(t.slice(36,40))!==WM)throw new Error("ICC profile: missing signature");if(eT(t))return r;const a=e.getUint32(128);let s=132;for(let o=0;o<a;o++){if(nT(t,s))return r;const c=It(e,s,4),l=e.getUint32(s+4),u=e.getUint32(s+8);if(l>t.length)return r;const A=It(e,l,4);if(A===KM){const h=e.getUint32(l+8);if(h>u)return r;const f=zl(t.slice(l+12,l+h+11));no(r,c,f)}else if(A===XM){const h=e.getUint32(l+8),f=e.getUint32(l+12);let d=l+16;const p=[];for(let m=0;m<h;m++){const y=It(e,d+0,2),v=It(e,d+2,2),w=e.getUint32(d+4),B=e.getUint32(d+8),C=GF(e,l+B,w);p.push({languageCode:y,countryCode:v,text:C}),d+=f}if(h===1)no(r,c,p[0].text);else{const m={};for(let y=0;y<p.length;y++)m[`${p[y].languageCode}-${p[y].countryCode}`]=p[y].text;no(r,c,m)}}else if(A===_M){const h=zl(t.slice(l+8,l+u-7));no(r,c,h)}else if(A===qM){const h=zl(t.slice(l+8,l+12));no(r,c,h)}s=s+12}return r}function zl(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function no(e,t,n){Xy[t]?e[Xy[t].name]={value:n,description:n}:e[t]={value:n,description:n}}const iT={read:aT};function aT(e,t){return{"Image Width":sT(e,t),"Image Height":oT(e,t),"Bit Depth":cT(e,t),"Color Type":lT(e,t),Compression:uT(e,t),Filter:AT(e,t),Interlace:hT(e,t)}}function sT(e,t){if(t+0+4>e.byteLength)return;const n=q.getLongAt(e,t);return{value:n,description:`${n}px`}}function oT(e,t){if(t+4+4>e.byteLength)return;const n=q.getLongAt(e,t+4);return{value:n,description:`${n}px`}}function cT(e,t){if(t+8+1>e.byteLength)return;const n=q.getByteAt(e,t+8);return{value:n,description:`${n}`}}function lT(e,t){const n={0:"Grayscale",2:"RGB",3:"Palette",4:"Grayscale with Alpha",6:"RGB with Alpha"};if(t+9+1>e.byteLength)return;const r=q.getByteAt(e,t+9);return{value:r,description:n[r]||"Unknown"}}function uT(e,t){if(t+10+1>e.byteLength)return;const n=q.getByteAt(e,t+10);return{value:n,description:n===0?"Deflate/Inflate":"Unknown"}}function AT(e,t){if(t+11+1>e.byteLength)return;const n=q.getByteAt(e,t+11);return{value:n,description:n===0?"Adaptive":"Unknown"}}function hT(e,t){const n={0:"Noninterlaced",1:"Adam7 Interlace"};if(t+12+1>e.byteLength)return;const r=q.getByteAt(e,t+12);return{value:r,description:n[r]||"Unknown"}}const fT={read:pT},yf="STATE_KEYWORD",wf="STATE_COMPRESSION",vf="STATE_LANG",Zy="STATE_TRANSLATED_KEYWORD",gT="STATE_TEXT",dT=2;function pT(e,t){return t.reduce((n,{offset:r,length:i,type:a})=>{const{name:s,value:o,description:c}=mT(e,r,i,a);return s&&(n[s]={value:o,description:c}),n},{})}function mT(e,t,n,r){const i=[],a=[],s=[];let o=yf;for(let l=0;l<n&&t+l<e.byteLength;l++){if(o===wf){if(e.getUint8(t+l)!==0)return{};l+=dT,o=$y(r,o)}const u=e.getUint8(t+l);u===0?o=$y(r,o):o===yf?i.push(u):o===vf?a.push(u):o===Zy||s.push(u)}const c=Pa(s);return{name:yT(r,a,i),value:c,description:r===Ay?Iy.decode("UTF-8",s):c}}function $y(e,t){return t===yf&&e===Ay?wf:t===wf?vf:t===vf?Zy:gT}function yT(e,t,n){const r=Pa(n);if(e===F3||t.length===0)return r;const i=Pa(t);return`${r} (${i})`}const wT={read:vT};function vT(e,t){const n={};for(let r=0;r<t.length;r++){const i=q.getLongAt(e,t[r]+$s),a=It(e,t[r]+Oi,cr);a===hy?(n["Pixels Per Unit X"]=ET(e,t[r],i),n["Pixels Per Unit Y"]=BT(e,t[r],i),n["Pixel Units"]=CT(e,t[r],i)):a===fy&&(n["Modify Date"]=xT(e,t[r],i))}return n}function ET(e,t,n){if(!Jl(e,t,n,0,4))return;const r=q.getLongAt(e,t+qe+0);return{value:r,description:""+r}}function BT(e,t,n){if(!Jl(e,t,n,4,4))return;const r=q.getLongAt(e,t+qe+4);return{value:r,description:""+r}}function CT(e,t,n){if(!Jl(e,t,n,8,1))return;const r=q.getByteAt(e,t+qe+8);return{value:r,description:r===1?"meters":"Unknown"}}function xT(e,t,n){if(!Jl(e,t,n,0,7))return;const r=q.getShortAt(e,t+qe),i=q.getByteAt(e,t+qe+2),a=q.getByteAt(e,t+qe+3),s=q.getByteAt(e,t+qe+4),o=q.getByteAt(e,t+qe+5),c=q.getByteAt(e,t+qe+6);return{value:[r,i,a,s,o,c],description:`${Oa(r,4)}-${Oa(i,2)}-${Oa(a,2)} ${Oa(s,2)}:${Oa(o,2)}:${Oa(c,2)}`}}function Jl(e,t,n,r,i){return r+i<=n&&t+qe+r+i<=e.byteLength}function Oa(e,t){return`${"0".repeat(t-(""+e).length)}${e}`}const bT=[6,7,99],ST={get:DT};function DT(e,t,n){if(IT(t)){t.type="image/jpeg";const r=n+t.JPEGInterchangeFormat.value;t.image=e.buffer.slice(r,r+t.JPEGInterchangeFormatLength.value),Wm(t,"base64",function(){return Km(this.image)})}return t}function IT(e){return e&&(e.Compression===void 0||bT.includes(e.Compression.value))&&e.JPEGInterchangeFormat&&e.JPEGInterchangeFormat.value&&e.JPEGInterchangeFormatLength&&e.JPEGInterchangeFormatLength.value}function tw(e){this.name="MetadataMissingError",this.message=e||"No Exif data",this.stack=new Error().stack}tw.prototype=new Error;const ew={MetadataMissingError:tw},FT={load:QT,loadView:nw,errors:ew};function QT(e,t){return MT(e)?TT(e,t).then(n=>Ef(n,t)):LT(e)?YT(e).then(n=>Ef(n,t)):Ef(e,t)}function MT(e){return typeof e=="string"}function TT(e,t){return/^https?:\/\//.test(e)?typeof fetch<"u"?NT(e,t):PT(e,t):RT(e)?Promise.resolve(VF(e)):OT(e,t)}function NT(e,{length:t}={}){const n={method:"GET"};return Number.isInteger(t)&&t>=0&&(n.headers={range:`bytes=0-${t-1}`}),fetch(e,n).then(r=>r.arrayBuffer())}function PT(e,{length:t}={}){return new Promise((n,r)=>{const i={};Number.isInteger(t)&&t>=0&&(i.headers={range:`bytes=0-${t-1}`}),kT(e)(e,i,a=>{if(a.statusCode>=200&&a.statusCode<=299){const s=[];a.on("data",o=>s.push(Buffer.from(o))),a.on("error",o=>r(o)),a.on("end",()=>n(Buffer.concat(s)))}else r(`Could not fetch file: ${a.statusCode} ${a.statusMessage}`),a.resume()}).on("error",a=>r(a))})}function kT(e){return/^https:\/\//.test(e)?__non_webpack_require__("https").get:__non_webpack_require__("http").get}function RT(e){return/^data:[^;,]*(;base64)?,/.test(e)}function OT(e,{length:t}={}){return new Promise((n,r)=>{const i=UT();i.open(e,(a,s)=>{a?r(a):i.stat(e,(o,c)=>{if(o)r(o);else{const l=Math.min(c.size,t!==void 0?t:c.size),u=Buffer.alloc(l),A={buffer:u,length:l};i.read(s,A,h=>{h?r(h):i.close(s,f=>{f&&console.warn(`Could not close file ${e}:`,f),n(u)})})}})})})}function UT(){try{return __non_webpack_require__("fs")}catch{return}}function LT(e){return typeof window<"u"&&typeof File<"u"&&e instanceof File}function YT(e){return new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(i.target.result),r.onerror=()=>n(r.error),r.readAsArrayBuffer(e)})}function Ef(e,t){return HT(e)&&(e=new Uint8Array(e).buffer),nw(GT(e),t)}function HT(e){try{return Buffer.isBuffer(e)}catch{return!1}}function GT(e){try{return new DataView(e)}catch{return new zF(e)}}function nw(e,{expanded:t=!1,includeUnknown:n=!1}={expanded:!1,includeUnknown:!1}){let r=!1,i={};const{fileDataOffset:a,jfifDataOffset:s,tiffHeaderOffset:o,iptcDataOffset:c,xmpChunks:l,iccChunks:u,mpfDataOffset:A,pngHeaderOffset:h,pngTextChunks:f,pngChunkOffsets:d}=_3.parseAppMarkers(e);if(VT(a)){r=!0;const m=FQ.read(e,a);t?i.file=m:i=Lt({},i,m)}if(zT(s)){r=!0;const m=LQ.read(e,s);t?i.jfif=m:i=Lt({},i,m)}if(JT(o)){r=!0;const m=Cy.read(e,o,n);if(m.Thumbnail&&(i.Thumbnail=m.Thumbnail,delete m.Thumbnail),t?(i.exif=m,jT(i)):i=Lt({},i,m),m["IPTC-NAA"]&&!rw(c)){const y=My.read(m["IPTC-NAA"].value,0,n);t?i.iptc=y:i=Lt({},i,y)}if(m.ApplicationNotes&&!iw(l)){const y=ky.read(Pa(m.ApplicationNotes.value));t?i.xmp=y:(delete y._raw,i=Lt({},i,y))}if(m.ICC_Profile&&!aw(u)){const y=qy.read(m.ICC_Profile.value,[{offset:0,length:m.ICC_Profile.value.length,chunkNumber:1,chunksTotal:1}]);t?i.icc=y:i=Lt({},i,y)}}if(rw(c)){r=!0;const m=My.read(e,c,n);t?i.iptc=m:i=Lt({},i,m)}if(iw(l)){r=!0;const m=ky.read(e,l);t?i.xmp=m:(delete m._raw,i=Lt({},i,m))}if(aw(u)){r=!0;const m=qy.read(e,u);t?i.icc=m:i=Lt({},i,m)}if(WT(A)){r=!0;const m=Cy.readMpf(e,A,n);t?i.mpf=m:i=Lt({},i,m)}if(KT(h)){r=!0;const m=iT.read(e,h);t?(i.png=i.png?Lt({},i.png,m):m,i.pngFile=m):i=Lt({},i,m)}if(XT(f)){r=!0;const m=fT.read(e,f);t?(i.png=i.png?Lt({},i.png,m):m,i.pngText=m):i=Lt({},i,m)}if(_T(d)){r=!0;const m=wT.read(e,d);t?i.png=i.png?Lt({},i.png,m):m:i=Lt({},i,m)}const p=ST.get(e,i.Thumbnail,o);if(p?(r=!0,i.Thumbnail=p):delete i.Thumbnail,!r)throw new ew.MetadataMissingError;return i}function VT(e){return e!==void 0}function zT(e){return e!==void 0}function JT(e){return e!==void 0}function jT(e){if(e.exif){if(e.exif.GPSLatitude&&e.exif.GPSLatitudeRef)try{e.gps=e.gps||{},e.gps.Latitude=Ol(e.exif.GPSLatitude.value),e.exif.GPSLatitudeRef.value.join("")==="S"&&(e.gps.Latitude=-e.gps.Latitude)}catch{}if(e.exif.GPSLongitude&&e.exif.GPSLongitudeRef)try{e.gps=e.gps||{},e.gps.Longitude=Ol(e.exif.GPSLongitude.value),e.exif.GPSLongitudeRef.value.join("")==="W"&&(e.gps.Longitude=-e.gps.Longitude)}catch{}if(e.exif.GPSAltitude&&e.exif.GPSAltitudeRef)try{e.gps=e.gps||{},e.gps.Altitude=e.exif.GPSAltitude.value[0]/e.exif.GPSAltitude.value[1],e.exif.GPSAltitudeRef.value===1&&(e.gps.Altitude=-e.gps.Altitude)}catch{}}}function rw(e){return e!==void 0}function iw(e){return Array.isArray(e)&&e.length>0}function aw(e){return Array.isArray(e)&&e.length>0}function WT(e){return e!==void 0}function KT(e){return e!==void 0}function XT(e){return e!==void 0}function _T(e){return e!==void 0}let jl=null;const qT=e=>new Promise(t=>{var n;if(Yh(e)!=="image/jpeg")return t(1);const r=(n=FT.load(e).Orientation)==null?void 0:n.value;return t(r?Number(r):1)}),ZT=async()=>{if(jl!==null)return!jl;const e=await Zs("data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAIAAwMBEQACEQEDEQH/xABRAAEAAAAAAAAAAAAAAAAAAAAKEAEBAQADAQEAAAAAAAAAAAAGBQQDCAkCBwEBAAAAAAAAAAAAAAAAAAAAABEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AG8T9NfSMEVMhQvoP3fFiRZ+MTHDifa/95OFSZU5OzRzxkyejv8ciEfhSceSXGjS8eSdLnZc2HDm4M3BxcXwH/9k=");return jl=e.width===2&&e.height===3,!jl},$T=e=>{const t=e.naturalWidth/e.naturalHeight;return e.naturalHeight<=8192&&e.naturalWidth<=8192?[e.naturalWidth,e.naturalHeight]:e.naturalHeight>e.naturalWidth?[t*8192,8192]:[8192,8192/t]},t8=async e=>{var t;const n=await Im(e),r=await Zs(n),[i,a]=$T(r);if(!await ZT()){const A=ri(i,a);return(t=A.getContext("2d"))==null||t.drawImage(r,0,0,i,a),A}const s=await qT(e),[o,c]=s>4?[a,i]:[i,a],l=ri(o,c),u=l.getContext("2d");switch(s){case 2:u.translate(o,0),u.scale(-1,1);break;case 3:u.translate(o,c),u.rotate(Math.PI);break;case 4:u.translate(0,c),u.scale(1,-1);break;case 5:u.rotate(-.5*Math.PI),u.scale(-1,1);break;case 6:u.rotate(-.5*Math.PI),u.translate(-o,0);break;case 7:u.rotate(-.5*Math.PI),u.translate(-o,c),u.scale(1,-1);break;case 8:u.rotate(.5*Math.PI),u.translate(0,-c);break}return u.drawImage(r,0,0,o,c),l},ro=async e=>{const t=await t8(e);return Yh(e)==="image/jpeg"?{dataUrl:t.toDataURL("image/jpeg",1),height:t.height,width:t.width}:{dataUrl:t.toDataURL(),height:t.height,width:t.width}},io=e=>{const t=e.variants;if(t){if(t.length===1)return t[0];if(e.defaultVariant!==void 0)return t.find(n=>n.id===e.defaultVariant)}},Ui=new Map,Wl=new Map,sw=async(e,t)=>{if(!t){if(!e)throw new Error("No region or src supplied. Cannot construct frame!");return Bf(e)}return Ln(t)},Bf=e=>{const t=e.width,n=e.height,r=t/n,i=Math.max(t,512),a=i/r;return`<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 ${i} ${a}'>
89
89
  <path id="target-path" d='M0 0 h ${i} v ${a} h ${-i} Z' />
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spiffcommerce/core",
3
- "version": "16.0.0-beta.3",
3
+ "version": "16.0.0-beta.4",
4
4
  "description": "Core client API for interacting with the Spiff Commerce backend.",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.umd.cjs",
@@ -54,7 +54,7 @@
54
54
  },
55
55
  "dependencies": {
56
56
  "@apollo/client": "^3.8.3",
57
- "@spiffcommerce/papyrus": "5.0.7-alpha.10",
57
+ "@spiffcommerce/papyrus": "5.0.7-alpha.11",
58
58
  "graphql": "^16.8.0",
59
59
  "lodash.clonedeep": "^4.5.0",
60
60
  "lodash.debounce": "^4.0.8",