@tscircuit/runframe 0.0.2075 → 0.0.2077

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.
@@ -5617,7 +5617,7 @@ svg { font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif; }
5617
5617
  `&&(w=`
5618
5618
  `);var oe=0,Ae=!1;this.parse=function(Z,re,ae){if(typeof Z!="string")throw new Error("Input must be a string");var ce=Z.length,pe=B.length,Ie=w.length,ve=k.length,Be=b(N),me=[],be=[],ue=[],He=oe=0;if(!Z)return ze();if(O||O!==!1&&Z.indexOf(j)===-1){for(var Ge=Z.split(w),Ke=0;Ke<Ge.length;Ke++){if(ue=Ge[Ke],oe+=ue.length,Ke!==Ge.length-1)oe+=w.length;else if(ae)return ze();if(!k||ue.substring(0,ve)!==k){if(Be){if(me=[],Qe(ue.split(B)),je(),Ae)return ze()}else Qe(ue.split(B));if(L&&L<=Ke)return me=me.slice(0,L),ze(!0)}}return ze()}for(var fe=Z.indexOf(B,oe),Xe=Z.indexOf(w,oe),Le=new RegExp(p($)+p(j),"g"),we=Z.indexOf(j,oe);;)if(Z[oe]===j)for(we=oe,oe++;;){if((we=Z.indexOf(j,we+1))===-1)return ae||be.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:me.length,index:oe}),Fe();if(we===ce-1)return Fe(Z.substring(oe,we).replace(Le,j));if(j===$&&Z[we+1]===$)we++;else if(j===$||we===0||Z[we-1]!==$){fe!==-1&&fe<we+1&&(fe=Z.indexOf(B,we+1));var Ue=Se((Xe=Xe!==-1&&Xe<we+1?Z.indexOf(w,we+1):Xe)===-1?fe:Math.min(fe,Xe));if(Z.substr(we+1+Ue,pe)===B){ue.push(Z.substring(oe,we).replace(Le,j)),Z[oe=we+1+Ue+pe]!==j&&(we=Z.indexOf(j,oe)),fe=Z.indexOf(B,oe),Xe=Z.indexOf(w,oe);break}if(Ue=Se(Xe),Z.substring(we+1+Ue,we+1+Ue+Ie)===w){if(ue.push(Z.substring(oe,we).replace(Le,j)),Me(we+1+Ue+Ie),fe=Z.indexOf(B,oe),we=Z.indexOf(j,oe),Be&&(je(),Ae))return ze();if(L&&me.length>=L)return ze(!0);break}be.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:me.length,index:oe}),we++}}else if(k&&ue.length===0&&Z.substring(oe,oe+ve)===k){if(Xe===-1)return ze();oe=Xe+Ie,Xe=Z.indexOf(w,oe),fe=Z.indexOf(B,oe)}else if(fe!==-1&&(fe<Xe||Xe===-1))ue.push(Z.substring(oe,fe)),oe=fe+pe,fe=Z.indexOf(B,oe);else{if(Xe===-1)break;if(ue.push(Z.substring(oe,Xe)),Me(Xe+Ie),Be&&(je(),Ae))return ze();if(L&&me.length>=L)return ze(!0)}return Fe();function Qe(nt){me.push(nt),He=oe}function Se(nt){var at=0;return at=nt!==-1&&(nt=Z.substring(we+1,nt))&&nt.trim()===""?nt.length:at}function Fe(nt){return ae||(nt===void 0&&(nt=Z.substring(oe)),ue.push(nt),oe=ce,Qe(ue),Be&&je()),ze()}function Me(nt){oe=nt,Qe(ue),ue=[],Xe=Z.indexOf(w,oe)}function ze(nt){if(P.header&&!re&&me.length&&!K){var at=me[0],At=Object.create(null),lt=new Set(at);let xt=!1;for(let vt=0;vt<at.length;vt++){let pt=at[vt];if(At[pt=b(P.transformHeader)?P.transformHeader(pt,vt):pt]){let wt,Ht=At[pt];for(;wt=pt+"_"+Ht,Ht++,lt.has(wt););lt.add(wt),at[vt]=wt,At[pt]++,xt=!0,(G=G===null?{}:G)[wt]=pt}else At[pt]=1,at[vt]=pt;lt.add(pt)}xt&&console.warn("Duplicate headers found and renamed."),K=!0}return{data:me,errors:be,meta:{delimiter:B,linebreak:w,aborted:Ae,truncated:!!nt,cursor:He+(re||0),renamedHeaders:G}}}function je(){N(ze()),me=[],be=[]}},this.abort=function(){Ae=!0},this.getCharIndex=function(){return oe}}function y(P){var B=P.data,w=a[B.workerId],k=!1;if(B.error)w.userError(B.error,B.file);else if(B.results&&B.results.data){var N={abort:function(){k=!0,f(B.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:C,resume:C};if(b(w.userStep)){for(var L=0;L<B.results.data.length&&(w.userStep({data:B.results.data[L],errors:B.results.errors,meta:B.results.meta},N),!k);L++);delete B.results}else b(w.userChunk)&&(w.userChunk(B.results,N,B.file),delete B.results)}B.finished&&!k&&f(B.workerId,B.results)}function f(P,B){var w=a[P];b(w.userComplete)&&w.userComplete(B),w.terminate(),delete a[P]}function C(){throw new Error("Not implemented.")}function I(P){if(typeof P!="object"||P===null)return P;var B,w=Array.isArray(P)?[]:{};for(B in P)w[B]=I(P[B]);return w}function E(P,B){return function(){P.apply(B,arguments)}}function b(P){return typeof P=="function"}return l.parse=function(P,B){var w=(B=B||{}).dynamicTyping||!1;if(b(w)&&(B.dynamicTypingFunction=w,w={}),B.dynamicTyping=w,B.transform=!!b(B.transform)&&B.transform,!B.worker||!l.WORKERS_SUPPORTED)return w=null,l.NODE_STREAM_INPUT,typeof P=="string"?(P=(k=>k.charCodeAt(0)!==65279?k:k.slice(1))(P),w=new(B.download?u:h)(B)):P.readable===!0&&b(P.read)&&b(P.on)?w=new _(B):(o.File&&P instanceof File||P instanceof Object)&&(w=new d(B)),w.stream(P);(w=(()=>{var k;return!!l.WORKERS_SUPPORTED&&(k=(()=>{var N=o.URL||o.webkitURL||null,L=n.toString();return l.BLOB_URL||(l.BLOB_URL=N.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ","(",L,")();"],{type:"text/javascript"})))})(),(k=new o.Worker(k)).onmessage=y,k.id=c++,a[k.id]=k)})()).userStep=B.step,w.userChunk=B.chunk,w.userComplete=B.complete,w.userError=B.error,B.step=b(B.step),B.chunk=b(B.chunk),B.complete=b(B.complete),B.error=b(B.error),delete B.worker,w.postMessage({input:P,config:B,workerId:w.id})},l.unparse=function(P,B){var w=!1,k=!0,N=",",L=`\r
5619
5619
  `,O='"',G=O+O,K=!1,j=null,$=!1,oe=((()=>{if(typeof B=="object"){if(typeof B.delimiter!="string"||l.BAD_DELIMITERS.filter(function(re){return B.delimiter.indexOf(re)!==-1}).length||(N=B.delimiter),typeof B.quotes!="boolean"&&typeof B.quotes!="function"&&!Array.isArray(B.quotes)||(w=B.quotes),typeof B.skipEmptyLines!="boolean"&&typeof B.skipEmptyLines!="string"||(K=B.skipEmptyLines),typeof B.newline=="string"&&(L=B.newline),typeof B.quoteChar=="string"&&(O=B.quoteChar),typeof B.header=="boolean"&&(k=B.header),Array.isArray(B.columns)){if(B.columns.length===0)throw new Error("Option columns is empty");j=B.columns}B.escapeChar!==void 0&&(G=B.escapeChar+O),B.escapeFormulae instanceof RegExp?$=B.escapeFormulae:typeof B.escapeFormulae=="boolean"&&B.escapeFormulae&&($=/^[=+\-@\t\r].*$/)}})(),new RegExp(p(O),"g"));if(typeof P=="string"&&(P=JSON.parse(P)),Array.isArray(P)){if(!P.length||Array.isArray(P[0]))return Ae(null,P,K);if(typeof P[0]=="object")return Ae(j||Object.keys(P[0]),P,K)}else if(typeof P=="object")return typeof P.data=="string"&&(P.data=JSON.parse(P.data)),Array.isArray(P.data)&&(P.fields||(P.fields=P.meta&&P.meta.fields||j),P.fields||(P.fields=Array.isArray(P.data[0])?P.fields:typeof P.data[0]=="object"?Object.keys(P.data[0]):[]),Array.isArray(P.data[0])||typeof P.data[0]=="object"||(P.data=[P.data])),Ae(P.fields||[],P.data||[],K);throw new Error("Unable to serialize unrecognized input");function Ae(re,ae,ce){var pe="",Ie=(typeof re=="string"&&(re=JSON.parse(re)),typeof ae=="string"&&(ae=JSON.parse(ae)),Array.isArray(re)&&0<re.length),ve=!Array.isArray(ae[0]);if(Ie&&k){for(var Be=0;Be<re.length;Be++)0<Be&&(pe+=N),pe+=Z(re[Be],Be);0<ae.length&&(pe+=L)}for(var me=0;me<ae.length;me++){var be=(Ie?re:ae[me]).length,ue=!1,He=Ie?Object.keys(ae[me]).length===0:ae[me].length===0;if(ce&&!Ie&&(ue=ce==="greedy"?ae[me].join("").trim()==="":ae[me].length===1&&ae[me][0].length===0),ce==="greedy"&&Ie){for(var Ge=[],Ke=0;Ke<be;Ke++){var fe=ve?re[Ke]:Ke;Ge.push(ae[me][fe])}ue=Ge.join("").trim()===""}if(!ue){for(var Xe=0;Xe<be;Xe++){0<Xe&&!He&&(pe+=N);var Le=Ie&&ve?re[Xe]:Xe;pe+=Z(ae[me][Le],Xe)}me<ae.length-1&&(!ce||0<be&&!He)&&(pe+=L)}}return pe}function Z(re,ae){var ce,pe;return re==null?"":re.constructor===Date?JSON.stringify(re).slice(1,25):(pe=!1,$&&typeof re=="string"&&$.test(re)&&(re="'"+re,pe=!0),ce=re.toString().replace(oe,G),(pe=pe||w===!0||typeof w=="function"&&w(re,ae)||Array.isArray(w)&&w[ae]||((Ie,ve)=>{for(var Be=0;Be<ve.length;Be++)if(-1<Ie.indexOf(ve[Be]))return!0;return!1})(ce,l.BAD_DELIMITERS)||-1<ce.indexOf(N)||ce.charAt(0)===" "||ce.charAt(ce.length-1)===" ")?O+ce+O:ce)}},l.RECORD_SEP="",l.UNIT_SEP="",l.BYTE_ORDER_MARK="\uFEFF",l.BAD_DELIMITERS=["\r",`
5620
- `,'"',l.BYTE_ORDER_MARK],l.WORKERS_SUPPORTED=!r&&!!o.Worker,l.NODE_STREAM_INPUT=1,l.LocalChunkSize=10485760,l.RemoteChunkSize=5242880,l.DefaultDelimiter=",",l.Parser=g,l.ParserHandle=m,l.NetworkStreamer=u,l.FileStreamer=d,l.StringStreamer=h,l.ReadableStreamStreamer=_,o.jQuery&&((i=o.jQuery).fn.parse=function(P){var B=P.config||{},w=[];return this.each(function(L){if(!(i(this).prop("tagName").toUpperCase()==="INPUT"&&i(this).attr("type").toLowerCase()==="file"&&o.FileReader)||!this.files||this.files.length===0)return!0;for(var O=0;O<this.files.length;O++)w.push({file:this.files[O],inputElem:this,instanceConfig:i.extend({},B)})}),k(),this;function k(){if(w.length===0)b(P.complete)&&P.complete();else{var L,O,G,K,j=w[0];if(b(P.before)){var $=P.before(j.file,j.inputElem);if(typeof $=="object"){if($.action==="abort")return L="AbortError",O=j.file,G=j.inputElem,K=$.reason,void(b(P.error)&&P.error({name:L},O,G,K));if($.action==="skip")return void N();typeof $.config=="object"&&(j.instanceConfig=i.extend(j.instanceConfig,$.config))}else if($==="skip")return void N()}var oe=j.instanceConfig.complete;j.instanceConfig.complete=function(Ae){b(oe)&&oe(Ae,j.file,j.inputElem),N()},l.parse(j.file,j.instanceConfig)}}function N(){w.splice(0,1),k()}}),s&&(o.onmessage=function(P){P=P.data,l.WORKER_ID===void 0&&P&&(l.WORKER_ID=P.workerId),typeof P.input=="string"?o.postMessage({workerId:l.WORKER_ID,results:l.parse(P.input,P.config),finished:!0}):(o.File&&P.input instanceof File||P.input instanceof Object)&&(P=l.parse(P.input,P.config))&&o.postMessage({workerId:l.WORKER_ID,results:P,finished:!0})}),(u.prototype=Object.create(A.prototype)).constructor=u,(d.prototype=Object.create(A.prototype)).constructor=d,(h.prototype=Object.create(h.prototype)).constructor=h,(_.prototype=Object.create(A.prototype)).constructor=_,l})})(GZ)),GZ.exports}var pgo=ggo();const p4t=c2(pgo);var f4t=async({circuitJson:t,resolvePart:e})=>{const n=[];for(const o of t){if(o.type!=="pcb_component")continue;const i=t.find(c=>c.type==="source_component"&&c.source_component_id===o.source_component_id);if(!i)continue;const r=await e?.({pcb_component:o,source_component:i})??{};let s="";i.ftype==="simple_resistor"&&(s=y4t(i.resistance)),i.ftype==="simple_capacitor"&&(s=y4t(i.capacitance));const a=!!o.do_not_place;n.push({designator:i.name??o.pcb_component_id,comment:a?"DNP":s,value:a?"DNP":s,footprint:r.footprint||"",supplier_part_number_columns:a?void 0:r.supplier_part_number_columns??(i.supplier_part_numbers?fgo(i.supplier_part_numbers):void 0)})}return n};function fgo(t){const e={};return t?.jlcpcb&&(e["JLCPCB Part #"]=t.jlcpcb[0]),t?.lcsc&&(e["JLCPCB Part #"]=t.lcsc[0]),e}function y4t(t){return t==null?"":typeof t=="string"?t:hgo.formatSI(t)}var ygo=t=>{const e=t.map(o=>{const i=o.supplier_part_number_columns;return Object.values(i||{}).join(", "),Object.entries(o.extra_columns||{}).map(([r,s])=>`${r}: ${s}`).join(", "),{Designator:o.designator,Comment:o.comment,Value:o.value,Footprint:o.footprint,...i}}),n=["Designator","Comment","Value","Footprint"];for(const o of e)for(const i in o)n.includes(i)||n.push(i);return p4t.unparse(e,{columns:n})};const Cgo=(t,e)=>W.jsx("a",{className:"rf-underline rf-text-blue-500",target:"_blank",rel:"noreferrer",href:`https://jlcpcb.com/partdetail/${e}`,children:e}),xgo=t=>t?.map(({manufacturer:e,mpn:n})=>`${e}: ${n}`).join(", "),Igo=t=>{const e=new Set;let n=!1,o=!1;for(const i of t){i.supplier_part_number_columns?.["JLCPCB Part #"]!==void 0&&(n=!0);for(const r of Object.keys(i.extra_columns??{}))e.add(r);(i.manufacturer_mpn_pairs?.length??0)>0&&(o=!0)}return{extraColumnNames:[...e],hasSupplierColumn:n,hasManufacturerColumn:o}},Ego=t=>{const e=[{key:"designator",label:"Designator",getCell:n=>n.designator},{key:"comment",label:"Comment",getCell:n=>n.comment},{key:"value",label:"Component Value",getCell:n=>n.value},{key:"footprint",label:"Footprint",getCell:n=>n.footprint}];t.hasSupplierColumn&&e.push({key:"supplier:JLCPCB Part #",label:"JLCPCB Part #",getCell:n=>{const o=n.supplier_part_number_columns?.["JLCPCB Part #"];return o?Cgo("jlcpcb",o):""}}),t.hasManufacturerColumn&&e.push({key:"manufacturer_mpn_pairs",label:"Manufacturer / MPN",getCell:n=>xgo(n.manufacturer_mpn_pairs)});for(const n of t.extraColumnNames)e.push({key:`extra:${n}`,label:n,getCell:o=>o.extra_columns?.[n]||""});return e},bgo=({circuitJson:t})=>{const[e,n]=ne.useState(null),[o,i]=ne.useState(null);if(ne.useEffect(()=>{let a=!1;return(async()=>{try{i(null),n(null);const l=await f4t({circuitJson:t});a||n(l)}catch(l){a||i(l instanceof Error?l.message:"Unknown BOM error")}})(),()=>{a=!0}},[t]),o)throw new Error(o);const r=Igo(e??[]),s=Ego(r);return e?W.jsx("div",{className:"rf-overflow-x-auto",children:W.jsxs("table",{className:"rf-w-full rf-text-left rf-text-sm",children:[W.jsx("thead",{children:W.jsx("tr",{className:"rf-border-b",children:s.map(a=>W.jsx("th",{className:"rf-p-2",children:a.label},a.key))})}),W.jsx("tbody",{children:e.map((a,c)=>W.jsx("tr",{className:"rf-border-b",children:s.map(l=>W.jsx("td",{className:"rf-p-2",children:l.getCell(a)},l.key))},a.designator||`${c}`))})]})}):W.jsx("div",{className:"rf-p-4 rf-text-sm rf-text-muted-foreground",children:"Loading BOM..."})},r3e=ne.forwardRef(({className:t,type:e,...n},o)=>W.jsx("input",{type:e,className:ns("rf-flex rf-h-9 rf-w-full rf-rounded-md rf-border rf-border-zinc-200 rf-bg-white rf-px-3 rf-py-1 rf-text-sm rf-shadow-sm rf-transition-colors file:rf-border-0 file:rf-bg-transparent file:rf-text-sm file:rf-font-medium placeholder:rf-text-zinc-500 focus-visible:rf-outline-none focus-visible:rf-ring-1 focus-visible:rf-ring-zinc-950 disabled:rf-cursor-not-allowed disabled:rf-opacity-50 dark:rf-border-zinc-800 dark:rf-bg-zinc-950 dark:rf-placeholder-zinc-400 dark:focus-visible:rf-ring-zinc-300",t),ref:o,...n}));r3e.displayName="Input";const Sgo={},C4t=t=>{let e;const n=new Set,o=(A,u)=>{const d=typeof A=="function"?A(e):A;if(!Object.is(d,e)){const h=e;e=u??(typeof d!="object"||d===null)?d:Object.assign({},e,d),n.forEach(_=>_(e,h))}},i=()=>e,c={setState:o,getState:i,getInitialState:()=>l,subscribe:A=>(n.add(A),()=>n.delete(A)),destroy:()=>{(Sgo?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},l=e=t(o,i,c);return c},x4t=t=>t?C4t(t):C4t;var UZ={exports:{}},s3e={},zZ={exports:{}},a3e={};var I4t;function Pgo(){if(I4t)return a3e;I4t=1;var t=FC();function e(u,d){return u===d&&(u!==0||1/u===1/d)||u!==u&&d!==d}var n=typeof Object.is=="function"?Object.is:e,o=t.useState,i=t.useEffect,r=t.useLayoutEffect,s=t.useDebugValue;function a(u,d){var h=d(),_=o({inst:{value:h,getSnapshot:d}}),m=_[0].inst,p=_[1];return r(function(){m.value=h,m.getSnapshot=d,c(m)&&p({inst:m})},[u,h,d]),i(function(){return c(m)&&p({inst:m}),u(function(){c(m)&&p({inst:m})})},[u]),s(h),h}function c(u){var d=u.getSnapshot;u=u.value;try{var h=d();return!n(u,h)}catch{return!0}}function l(u,d){return d()}var A=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?l:a;return a3e.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:A,a3e}var c3e={},E4t;function vgo(){if(E4t)return c3e;E4t=1;var t={env:{}};return t.env.NODE_ENV!=="production"&&(function(){function e(_,m){return _===m&&(_!==0||1/_===1/m)||_!==_&&m!==m}function n(_,m){u||r.startTransition===void 0||(u=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var p=m();if(!d){var g=m();s(p,g)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),d=!0)}g=a({inst:{value:p,getSnapshot:m}});var y=g[0].inst,f=g[1];return l(function(){y.value=p,y.getSnapshot=m,o(y)&&f({inst:y})},[_,p,m]),c(function(){return o(y)&&f({inst:y}),_(function(){o(y)&&f({inst:y})})},[_]),A(p),p}function o(_){var m=_.getSnapshot;_=_.value;try{var p=m();return!s(_,p)}catch{return!0}}function i(_,m){return m()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var r=FC(),s=typeof Object.is=="function"?Object.is:e,a=r.useState,c=r.useEffect,l=r.useLayoutEffect,A=r.useDebugValue,u=!1,d=!1,h=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?i:n;c3e.useSyncExternalStore=r.useSyncExternalStore!==void 0?r.useSyncExternalStore:h,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})(),c3e}var b4t;function S4t(){if(b4t)return zZ.exports;b4t=1;var t={env:{}};return t.env.NODE_ENV==="production"?zZ.exports=Pgo():zZ.exports=vgo(),zZ.exports}var P4t;function Bgo(){if(P4t)return s3e;P4t=1;var t=FC(),e=S4t();function n(l,A){return l===A&&(l!==0||1/l===1/A)||l!==l&&A!==A}var o=typeof Object.is=="function"?Object.is:n,i=e.useSyncExternalStore,r=t.useRef,s=t.useEffect,a=t.useMemo,c=t.useDebugValue;return s3e.useSyncExternalStoreWithSelector=function(l,A,u,d,h){var _=r(null);if(_.current===null){var m={hasValue:!1,value:null};_.current=m}else m=_.current;_=a(function(){function g(E){if(!y){if(y=!0,f=E,E=d(E),h!==void 0&&m.hasValue){var b=m.value;if(h(b,E))return C=b}return C=E}if(b=C,o(f,E))return b;var P=d(E);return h!==void 0&&h(b,P)?(f=E,b):(f=E,C=P)}var y=!1,f,C,I=u===void 0?null:u;return[function(){return g(A())},I===null?void 0:function(){return g(I())}]},[A,u,d,h]);var p=i(l,_[0],_[1]);return s(function(){m.hasValue=!0,m.value=p},[p]),c(p),p},s3e}var l3e={},v4t;function Mgo(){if(v4t)return l3e;v4t=1;var t={env:{}};return t.env.NODE_ENV!=="production"&&(function(){function e(A,u){return A===u&&(A!==0||1/A===1/u)||A!==A&&u!==u}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=FC(),o=S4t(),i=typeof Object.is=="function"?Object.is:e,r=o.useSyncExternalStore,s=n.useRef,a=n.useEffect,c=n.useMemo,l=n.useDebugValue;l3e.useSyncExternalStoreWithSelector=function(A,u,d,h,_){var m=s(null);if(m.current===null){var p={hasValue:!1,value:null};m.current=p}else p=m.current;m=c(function(){function y(b){if(!f){if(f=!0,C=b,b=h(b),_!==void 0&&p.hasValue){var P=p.value;if(_(P,b))return I=P}return I=b}if(P=I,i(C,b))return P;var B=h(b);return _!==void 0&&_(P,B)?(C=b,P):(C=b,I=B)}var f=!1,C,I,E=d===void 0?null:d;return[function(){return y(u())},E===null?void 0:function(){return y(E())}]},[u,d,h,_]);var g=r(A,m[0],m[1]);return a(function(){p.hasValue=!0,p.value=g},[g]),l(g),g},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})(),l3e}var B4t;function wgo(){if(B4t)return UZ.exports;B4t=1;var t={env:{}};return t.env.NODE_ENV==="production"?UZ.exports=Bgo():UZ.exports=Mgo(),UZ.exports}var Dgo=wgo();const Qgo=c2(Dgo),M4t={},{useDebugValue:Tgo}=cr,{useSyncExternalStoreWithSelector:Rgo}=Qgo;let w4t=!1;const Ngo=t=>t;function D4t(t,e=Ngo,n){(M4t?"production":void 0)!=="production"&&n&&!w4t&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),w4t=!0);const o=Rgo(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return Tgo(o),o}const kgo=t=>{(M4t?"production":void 0)!=="production"&&typeof t!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const e=typeof t=="function"?x4t(t):t,n=(o,i)=>D4t(e,o,i);return Object.assign(n,e),n},Q4t=t=>kgo,FF=t=>typeof t=="number"&&!isNaN(t),T8=t=>typeof t=="string",Cx=t=>typeof t=="function",VZ=t=>T8(t)||Cx(t)?t:null,A3e=t=>ne.isValidElement(t)||T8(t)||Cx(t)||FF(t);function Hgo(t,e,n){n===void 0&&(n=300);const{scrollHeight:o,style:i}=t;requestAnimationFrame(()=>{i.minHeight="initial",i.height=o+"px",i.transition=`all ${n}ms`,requestAnimationFrame(()=>{i.height="0",i.padding="0",i.margin="0",setTimeout(e,n)})})}function YZ(t){let{enter:e,exit:n,appendPosition:o=!1,collapse:i=!0,collapseDuration:r=300}=t;return function(s){let{children:a,position:c,preventExitTransition:l,done:A,nodeRef:u,isIn:d,playToast:h}=s;const _=o?`${e}--${c}`:e,m=o?`${n}--${c}`:n,p=ne.useRef(0);return ne.useLayoutEffect(()=>{const g=u.current,y=_.split(" "),f=C=>{C.target===u.current&&(h(),g.removeEventListener("animationend",f),g.removeEventListener("animationcancel",f),p.current===0&&C.type!=="animationcancel"&&g.classList.remove(...y))};g.classList.add(...y),g.addEventListener("animationend",f),g.addEventListener("animationcancel",f)},[]),ne.useEffect(()=>{const g=u.current,y=()=>{g.removeEventListener("animationend",y),i?Hgo(g,A,r):A()};d||(l?y():(p.current=1,g.className+=` ${m}`,g.addEventListener("animationend",y)))},[d]),cr.createElement(cr.Fragment,null,a)}}function T4t(t,e){return t!=null?{content:t.content,containerId:t.props.containerId,id:t.props.toastId,theme:t.props.theme,type:t.props.type,data:t.props.data||{},isLoading:t.props.isLoading,icon:t.props.icon,status:e}:{}}const R1=new Map;let OF=[];const u3e=new Set,Lgo=t=>u3e.forEach(e=>e(t)),R4t=()=>R1.size>0;function N4t(t,e){var n;if(e)return!((n=R1.get(e))==null||!n.isToastActive(t));let o=!1;return R1.forEach(i=>{i.isToastActive(t)&&(o=!0)}),o}function k4t(t,e){A3e(t)&&(R4t()||OF.push({content:t,options:e}),R1.forEach(n=>{n.buildToast(t,e)}))}function H4t(t,e){R1.forEach(n=>{e!=null&&e!=null&&e.containerId?e?.containerId===n.id&&n.toggle(t,e?.id):n.toggle(t,e?.id)})}function Fgo(t){const{subscribe:e,getSnapshot:n,setProps:o}=ne.useRef((function(r){const s=r.containerId||1;return{subscribe(a){const c=(function(A,u,d){let h=1,_=0,m=[],p=[],g=[],y=u;const f=new Map,C=new Set,I=()=>{g=Array.from(f.values()),C.forEach(P=>P())},E=P=>{p=P==null?[]:p.filter(B=>B!==P),I()},b=P=>{const{toastId:B,onOpen:w,updateId:k,children:N}=P.props,L=k==null;P.staleId&&f.delete(P.staleId),f.set(B,P),p=[...p,P.props.toastId].filter(O=>O!==P.staleId),I(),d(T4t(P,L?"added":"updated")),L&&Cx(w)&&w(ne.isValidElement(N)&&N.props)};return{id:A,props:y,observe:P=>(C.add(P),()=>C.delete(P)),toggle:(P,B)=>{f.forEach(w=>{B!=null&&B!==w.props.toastId||Cx(w.toggle)&&w.toggle(P)})},removeToast:E,toasts:f,clearQueue:()=>{_-=m.length,m=[]},buildToast:(P,B)=>{if((re=>{let{containerId:ae,toastId:ce,updateId:pe}=re;const Ie=ae?ae!==A:A!==1,ve=f.has(ce)&&pe==null;return Ie||ve})(B))return;const{toastId:w,updateId:k,data:N,staleId:L,delay:O}=B,G=()=>{E(w)},K=k==null;K&&_++;const j={...y,style:y.toastStyle,key:h++,...Object.fromEntries(Object.entries(B).filter(re=>{let[ae,ce]=re;return ce!=null})),toastId:w,updateId:k,data:N,closeToast:G,isIn:!1,className:VZ(B.className||y.toastClassName),bodyClassName:VZ(B.bodyClassName||y.bodyClassName),progressClassName:VZ(B.progressClassName||y.progressClassName),autoClose:!B.isLoading&&($=B.autoClose,oe=y.autoClose,$===!1||FF($)&&$>0?$:oe),deleteToast(){const re=f.get(w),{onClose:ae,children:ce}=re.props;Cx(ae)&&ae(ne.isValidElement(ce)&&ce.props),d(T4t(re,"removed")),f.delete(w),_--,_<0&&(_=0),m.length>0?b(m.shift()):I()}};var $,oe;j.closeButton=y.closeButton,B.closeButton===!1||A3e(B.closeButton)?j.closeButton=B.closeButton:B.closeButton===!0&&(j.closeButton=!A3e(y.closeButton)||y.closeButton);let Ae=P;ne.isValidElement(P)&&!T8(P.type)?Ae=ne.cloneElement(P,{closeToast:G,toastProps:j,data:N}):Cx(P)&&(Ae=P({closeToast:G,toastProps:j,data:N}));const Z={content:Ae,props:j,staleId:L};y.limit&&y.limit>0&&_>y.limit&&K?m.push(Z):FF(O)?setTimeout(()=>{b(Z)},O):b(Z)},setProps(P){y=P},setToggle:(P,B)=>{f.get(P).toggle=B},isToastActive:P=>p.some(B=>B===P),getSnapshot:()=>g}})(s,r,Lgo);R1.set(s,c);const l=c.observe(a);return OF.forEach(A=>k4t(A.content,A.options)),OF=[],()=>{l(),R1.delete(s)}},setProps(a){var c;(c=R1.get(s))==null||c.setProps(a)},getSnapshot(){var a;return(a=R1.get(s))==null?void 0:a.getSnapshot()}}})(t)).current;o(t);const i=ne.useSyncExternalStore(e,n,n);return{getToastToRender:function(r){if(!i)return[];const s=new Map;return t.newestOnTop&&i.reverse(),i.forEach(a=>{const{position:c}=a.props;s.has(c)||s.set(c,[]),s.get(c).push(a)}),Array.from(s,a=>r(a[0],a[1]))},isToastActive:N4t,count:i?.length}}function Ogo(t){const[e,n]=ne.useState(!1),[o,i]=ne.useState(!1),r=ne.useRef(null),s=ne.useRef({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:a,pauseOnHover:c,closeToast:l,onClick:A,closeOnClick:u}=t;var d,h;function _(){n(!0)}function m(){n(!1)}function p(f){const C=r.current;s.canDrag&&C&&(s.didMove=!0,e&&m(),s.delta=t.draggableDirection==="x"?f.clientX-s.start:f.clientY-s.start,s.start!==f.clientX&&(s.canCloseOnClick=!1),C.style.transform=`translate3d(${t.draggableDirection==="x"?`${s.delta}px, var(--y)`:`0, calc(${s.delta}px + var(--y))`},0)`,C.style.opacity=""+(1-Math.abs(s.delta/s.removalDistance)))}function g(){document.removeEventListener("pointermove",p),document.removeEventListener("pointerup",g);const f=r.current;if(s.canDrag&&s.didMove&&f){if(s.canDrag=!1,Math.abs(s.delta)>s.removalDistance)return i(!0),t.closeToast(),void t.collapseAll();f.style.transition="transform 0.2s, opacity 0.2s",f.style.removeProperty("transform"),f.style.removeProperty("opacity")}}(h=R1.get((d={id:t.toastId,containerId:t.containerId,fn:n}).containerId||1))==null||h.setToggle(d.id,d.fn),ne.useEffect(()=>{if(t.pauseOnFocusLoss)return document.hasFocus()||m(),window.addEventListener("focus",_),window.addEventListener("blur",m),()=>{window.removeEventListener("focus",_),window.removeEventListener("blur",m)}},[t.pauseOnFocusLoss]);const y={onPointerDown:function(f){if(t.draggable===!0||t.draggable===f.pointerType){s.didMove=!1,document.addEventListener("pointermove",p),document.addEventListener("pointerup",g);const C=r.current;s.canCloseOnClick=!0,s.canDrag=!0,C.style.transition="none",t.draggableDirection==="x"?(s.start=f.clientX,s.removalDistance=C.offsetWidth*(t.draggablePercent/100)):(s.start=f.clientY,s.removalDistance=C.offsetHeight*(t.draggablePercent===80?1.5*t.draggablePercent:t.draggablePercent)/100)}},onPointerUp:function(f){const{top:C,bottom:I,left:E,right:b}=r.current.getBoundingClientRect();f.nativeEvent.type!=="touchend"&&t.pauseOnHover&&f.clientX>=E&&f.clientX<=b&&f.clientY>=C&&f.clientY<=I?m():_()}};return a&&c&&(y.onMouseEnter=m,t.stacked||(y.onMouseLeave=_)),u&&(y.onClick=f=>{A&&A(f),s.canCloseOnClick&&l()}),{playToast:_,pauseToast:m,isRunning:e,preventExitTransition:o,toastRef:r,eventHandlers:y}}function Ggo(t){let{delay:e,isRunning:n,closeToast:o,type:i="default",hide:r,className:s,style:a,controlledProgress:c,progress:l,rtl:A,isIn:u,theme:d}=t;const h=r||c&&l===0,_={...a,animationDuration:`${e}ms`,animationPlayState:n?"running":"paused"};c&&(_.transform=`scaleX(${l})`);const m=dI("Toastify__progress-bar",c?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${d}`,`Toastify__progress-bar--${i}`,{"Toastify__progress-bar--rtl":A}),p=Cx(s)?s({rtl:A,type:i,defaultClassName:m}):dI(m,s),g={[c&&l>=1?"onTransitionEnd":"onAnimationEnd"]:c&&l<1?null:()=>{u&&o()}};return cr.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":h},cr.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${d} Toastify__progress-bar--${i}`}),cr.createElement("div",{role:"progressbar","aria-hidden":h?"true":"false","aria-label":"notification timer",className:p,style:_,...g}))}let Ugo=1;const L4t=()=>""+Ugo++;function zgo(t){return t&&(T8(t.toastId)||FF(t.toastId))?t.toastId:L4t()}function GF(t,e){return k4t(t,e),e.toastId}function KZ(t,e){return{...e,type:e&&e.type||t,toastId:zgo(e)}}function WZ(t){return(e,n)=>GF(e,KZ(t,n))}function zA(t,e){return GF(t,KZ("default",e))}zA.loading=(t,e)=>GF(t,KZ("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...e})),zA.promise=function(t,e,n){let o,{pending:i,error:r,success:s}=e;i&&(o=T8(i)?zA.loading(i,n):zA.loading(i.render,{...n,...i}));const a={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},c=(A,u,d)=>{if(u==null)return void zA.dismiss(o);const h={type:A,...a,...n,data:d},_=T8(u)?{render:u}:u;return o?zA.update(o,{...h,..._}):zA(_.render,{...h,..._}),d},l=Cx(t)?t():t;return l.then(A=>c("success",s,A)).catch(A=>c("error",r,A)),l},zA.success=WZ("success"),zA.info=WZ("info"),zA.error=WZ("error"),zA.warning=WZ("warning"),zA.warn=zA.warning,zA.dark=(t,e)=>GF(t,KZ("default",{theme:"dark",...e})),zA.dismiss=function(t){(function(e){var n;if(R4t()){if(e==null||T8(n=e)||FF(n))R1.forEach(o=>{o.removeToast(e)});else if(e&&("containerId"in e||"id"in e)){const o=R1.get(e.containerId);o?o.removeToast(e.id):R1.forEach(i=>{i.removeToast(e.id)})}}else OF=OF.filter(o=>e!=null&&o.options.toastId!==e)})(t)},zA.clearWaitingQueue=function(t){t===void 0&&(t={}),R1.forEach(e=>{!e.props.limit||t.containerId&&e.id!==t.containerId||e.clearQueue()})},zA.isActive=N4t,zA.update=function(t,e){e===void 0&&(e={});const n=((o,i)=>{var r;let{containerId:s}=i;return(r=R1.get(s||1))==null?void 0:r.toasts.get(o)})(t,e);if(n){const{props:o,content:i}=n,r={delay:100,...o,...e,toastId:e.toastId||t,updateId:L4t()};r.toastId!==t&&(r.staleId=t);const s=r.render||i;delete r.render,GF(s,r)}},zA.done=t=>{zA.update(t,{progress:1})},zA.onChange=function(t){return u3e.add(t),()=>{u3e.delete(t)}},zA.play=t=>H4t(!0,t),zA.pause=t=>H4t(!1,t);const Vgo=typeof window<"u"?ne.useLayoutEffect:ne.useEffect,jZ=t=>{let{theme:e,type:n,isLoading:o,...i}=t;return cr.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:e==="colored"?"currentColor":`var(--toastify-icon-color-${n})`,...i})},d3e={info:function(t){return cr.createElement(jZ,{...t},cr.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))},warning:function(t){return cr.createElement(jZ,{...t},cr.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))},success:function(t){return cr.createElement(jZ,{...t},cr.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))},error:function(t){return cr.createElement(jZ,{...t},cr.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))},spinner:function(){return cr.createElement("div",{className:"Toastify__spinner"})}},Ygo=t=>{const{isRunning:e,preventExitTransition:n,toastRef:o,eventHandlers:i,playToast:r}=Ogo(t),{closeButton:s,children:a,autoClose:c,onClick:l,type:A,hideProgressBar:u,closeToast:d,transition:h,position:_,className:m,style:p,bodyClassName:g,bodyStyle:y,progressClassName:f,progressStyle:C,updateId:I,role:E,progress:b,rtl:P,toastId:B,deleteToast:w,isIn:k,isLoading:N,closeOnClick:L,theme:O}=t,G=dI("Toastify__toast",`Toastify__toast-theme--${O}`,`Toastify__toast--${A}`,{"Toastify__toast--rtl":P},{"Toastify__toast--close-on-click":L}),K=Cx(m)?m({rtl:P,position:_,type:A,defaultClassName:G}):dI(G,m),j=(function(Z){let{theme:re,type:ae,isLoading:ce,icon:pe}=Z,Ie=null;const ve={theme:re,type:ae};return pe===!1||(Cx(pe)?Ie=pe({...ve,isLoading:ce}):ne.isValidElement(pe)?Ie=ne.cloneElement(pe,ve):ce?Ie=d3e.spinner():(Be=>Be in d3e)(ae)&&(Ie=d3e[ae](ve))),Ie})(t),$=!!b||!c,oe={closeToast:d,type:A,theme:O};let Ae=null;return s===!1||(Ae=Cx(s)?s(oe):ne.isValidElement(s)?ne.cloneElement(s,oe):(function(Z){let{closeToast:re,theme:ae,ariaLabel:ce="close"}=Z;return cr.createElement("button",{className:`Toastify__close-button Toastify__close-button--${ae}`,type:"button",onClick:pe=>{pe.stopPropagation(),re(pe)},"aria-label":ce},cr.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},cr.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))})(oe)),cr.createElement(h,{isIn:k,done:w,position:_,preventExitTransition:n,nodeRef:o,playToast:r},cr.createElement("div",{id:B,onClick:l,"data-in":k,className:K,...i,style:p,ref:o},cr.createElement("div",{...k&&{role:E},className:Cx(g)?g({type:A}):dI("Toastify__toast-body",g),style:y},j!=null&&cr.createElement("div",{className:dI("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!N})},j),cr.createElement("div",null,a)),Ae,cr.createElement(Ggo,{...I&&!$?{key:`pb-${I}`}:{},rtl:P,theme:O,delay:c,isRunning:e,isIn:k,closeToast:d,hide:u,type:A,style:C,className:f,controlledProgress:$,progress:b||0})))},XZ=function(t,e){return e===void 0&&(e=!1),{enter:`Toastify--animate Toastify__${t}-enter`,exit:`Toastify--animate Toastify__${t}-exit`,appendPosition:e}},Kgo=YZ(XZ("bounce",!0));YZ(XZ("slide",!0)),YZ(XZ("zoom")),YZ(XZ("flip"));const Wgo={position:"top-right",transition:Kgo,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light"};function jgo(t){let e={...Wgo,...t};const n=t.stacked,[o,i]=ne.useState(!0),r=ne.useRef(null),{getToastToRender:s,isToastActive:a,count:c}=Fgo(e),{className:l,style:A,rtl:u,containerId:d}=e;function h(m){const p=dI("Toastify__toast-container",`Toastify__toast-container--${m}`,{"Toastify__toast-container--rtl":u});return Cx(l)?l({position:m,rtl:u,defaultClassName:p}):dI(p,VZ(l))}function _(){n&&(i(!0),zA.play())}return Vgo(()=>{if(n){var m;const p=r.current.querySelectorAll('[data-in="true"]'),g=12,y=(m=e.position)==null?void 0:m.includes("top");let f=0,C=0;Array.from(p).reverse().forEach((I,E)=>{const b=I;b.classList.add("Toastify__toast--stacked"),E>0&&(b.dataset.collapsed=`${o}`),b.dataset.pos||(b.dataset.pos=y?"top":"bot");const P=f*(o?.2:1)+(o?0:g*E);b.style.setProperty("--y",`${y?P:-1*P}px`),b.style.setProperty("--g",`${g}`),b.style.setProperty("--s",""+(1-(o?C:0))),f+=b.offsetHeight,C+=.025})}},[o,c,n]),cr.createElement("div",{ref:r,className:"Toastify",id:d,onMouseEnter:()=>{n&&(i(!1),zA.pause())},onMouseLeave:_},s((m,p)=>{const g=p.length?{...A}:{...A,pointerEvents:"none"};return cr.createElement("div",{className:h(m),style:g,key:`container-${m}`},p.map(y=>{let{content:f,props:C}=y;return cr.createElement(Ygo,{...C,stacked:n,collapseAll:_,isIn:a(C.toastId,C.containerId),style:C.style,key:`toast-${C.key}`},f)}))}))}function Xgo(){var t=':root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:hsla(0,0%,100%,.7);--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translateZ(var(--toastify-z-index));position:fixed;padding:4px;width:var(--toastify-toast-width);box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translateX(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;padding:0;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:auto}}.Toastify__toast{--y:0;position:relative;-ms-touch-action:none;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0;overflow:hidden}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{margin:auto 0;-ms-flex:1 1 auto;flex:1 1 auto;padding:6px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.Toastify__toast-body>div:last-child{word-break:break-word;-ms-flex:1;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;margin-inline-end:10px;width:20px;-ms-flex-negative:0;flex-shrink:0;display:-ms-flexbox;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}@media only screen and (max-width:480px){.Toastify__toast{margin-bottom:0;border-radius:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;-ms-flex-item-align:start;align-self:flex-start;z-index:1}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:auto;transform-origin:right;border-bottom-left-radius:0;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{position:absolute;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}',e=document.createElement("style");e.innerText=t,document.head.appendChild(e)}var _3e={exports:{}},h3e,F4t;function O4t(){return F4t||(F4t=1,h3e={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),h3e}var m3e={exports:{}},g3e,G4t;function Jgo(){return G4t||(G4t=1,g3e=function(e){return!e||typeof e=="string"?!1:e instanceof Array||Array.isArray(e)||e.length>=0&&(e.splice instanceof Function||Object.getOwnPropertyDescriptor(e,e.length-1)&&e.constructor.name!=="String")}),g3e}var U4t;function qgo(){if(U4t)return m3e.exports;U4t=1;var t=Jgo(),e=Array.prototype.concat,n=Array.prototype.slice,o=m3e.exports=function(r){for(var s=[],a=0,c=r.length;a<c;a++){var l=r[a];t(l)?s=e.call(s,n.call(l)):s.push(l)}return s};return o.wrap=function(i){return function(){return i(o(arguments))}},m3e.exports}var z4t;function $go(){if(z4t)return _3e.exports;z4t=1;var t=O4t(),e=qgo(),n=Object.hasOwnProperty,o=Object.create(null);for(var i in t)n.call(t,i)&&(o[t[i]]=i);var r=_3e.exports={to:{},get:{}};r.get=function(c){var l=c.substring(0,3).toLowerCase(),A,u;switch(l){case"hsl":A=r.get.hsl(c),u="hsl";break;case"hwb":A=r.get.hwb(c),u="hwb";break;default:A=r.get.rgb(c),u="rgb";break}return A?{model:u,value:A}:null},r.get.rgb=function(c){if(!c)return null;var l=/^#([a-f0-9]{3,4})$/i,A=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,u=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,d=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,h=/^(\w+)$/,_=[0,0,0,1],m,p,g;if(m=c.match(A)){for(g=m[2],m=m[1],p=0;p<3;p++){var y=p*2;_[p]=parseInt(m.slice(y,y+2),16)}g&&(_[3]=parseInt(g,16)/255)}else if(m=c.match(l)){for(m=m[1],g=m[3],p=0;p<3;p++)_[p]=parseInt(m[p]+m[p],16);g&&(_[3]=parseInt(g+g,16)/255)}else if(m=c.match(u)){for(p=0;p<3;p++)_[p]=parseInt(m[p+1],0);m[4]&&(m[5]?_[3]=parseFloat(m[4])*.01:_[3]=parseFloat(m[4]))}else if(m=c.match(d)){for(p=0;p<3;p++)_[p]=Math.round(parseFloat(m[p+1])*2.55);m[4]&&(m[5]?_[3]=parseFloat(m[4])*.01:_[3]=parseFloat(m[4]))}else return(m=c.match(h))?m[1]==="transparent"?[0,0,0,0]:n.call(t,m[1])?(_=t[m[1]],_[3]=1,_):null:null;for(p=0;p<3;p++)_[p]=s(_[p],0,255);return _[3]=s(_[3],0,1),_},r.get.hsl=function(c){if(!c)return null;var l=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,A=c.match(l);if(A){var u=parseFloat(A[4]),d=(parseFloat(A[1])%360+360)%360,h=s(parseFloat(A[2]),0,100),_=s(parseFloat(A[3]),0,100),m=s(isNaN(u)?1:u,0,1);return[d,h,_,m]}return null},r.get.hwb=function(c){if(!c)return null;var l=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,A=c.match(l);if(A){var u=parseFloat(A[4]),d=(parseFloat(A[1])%360+360)%360,h=s(parseFloat(A[2]),0,100),_=s(parseFloat(A[3]),0,100),m=s(isNaN(u)?1:u,0,1);return[d,h,_,m]}return null},r.to.hex=function(){var c=e(arguments);return"#"+a(c[0])+a(c[1])+a(c[2])+(c[3]<1?a(Math.round(c[3]*255)):"")},r.to.rgb=function(){var c=e(arguments);return c.length<4||c[3]===1?"rgb("+Math.round(c[0])+", "+Math.round(c[1])+", "+Math.round(c[2])+")":"rgba("+Math.round(c[0])+", "+Math.round(c[1])+", "+Math.round(c[2])+", "+c[3]+")"},r.to.rgb.percent=function(){var c=e(arguments),l=Math.round(c[0]/255*100),A=Math.round(c[1]/255*100),u=Math.round(c[2]/255*100);return c.length<4||c[3]===1?"rgb("+l+"%, "+A+"%, "+u+"%)":"rgba("+l+"%, "+A+"%, "+u+"%, "+c[3]+")"},r.to.hsl=function(){var c=e(arguments);return c.length<4||c[3]===1?"hsl("+c[0]+", "+c[1]+"%, "+c[2]+"%)":"hsla("+c[0]+", "+c[1]+"%, "+c[2]+"%, "+c[3]+")"},r.to.hwb=function(){var c=e(arguments),l="";return c.length>=4&&c[3]!==1&&(l=", "+c[3]),"hwb("+c[0]+", "+c[1]+"%, "+c[2]+"%"+l+")"},r.to.keyword=function(c){return o[c.slice(0,3)]};function s(c,l,A){return Math.min(Math.max(l,c),A)}function a(c){var l=Math.round(c).toString(16).toUpperCase();return l.length<2?"0"+l:l}return _3e.exports}var p3e,V4t;function Y4t(){if(V4t)return p3e;V4t=1;const t=O4t(),e={};for(const i of Object.keys(t))e[t[i]]=i;const n={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};p3e=n;for(const i of Object.keys(n)){if(!("channels"in n[i]))throw new Error("missing channels property: "+i);if(!("labels"in n[i]))throw new Error("missing channel labels property: "+i);if(n[i].labels.length!==n[i].channels)throw new Error("channel and label counts mismatch: "+i);const{channels:r,labels:s}=n[i];delete n[i].channels,delete n[i].labels,Object.defineProperty(n[i],"channels",{value:r}),Object.defineProperty(n[i],"labels",{value:s})}n.rgb.hsl=function(i){const r=i[0]/255,s=i[1]/255,a=i[2]/255,c=Math.min(r,s,a),l=Math.max(r,s,a),A=l-c;let u,d;l===c?u=0:r===l?u=(s-a)/A:s===l?u=2+(a-r)/A:a===l&&(u=4+(r-s)/A),u=Math.min(u*60,360),u<0&&(u+=360);const h=(c+l)/2;return l===c?d=0:h<=.5?d=A/(l+c):d=A/(2-l-c),[u,d*100,h*100]},n.rgb.hsv=function(i){let r,s,a,c,l;const A=i[0]/255,u=i[1]/255,d=i[2]/255,h=Math.max(A,u,d),_=h-Math.min(A,u,d),m=function(p){return(h-p)/6/_+1/2};return _===0?(c=0,l=0):(l=_/h,r=m(A),s=m(u),a=m(d),A===h?c=a-s:u===h?c=1/3+r-a:d===h&&(c=2/3+s-r),c<0?c+=1:c>1&&(c-=1)),[c*360,l*100,h*100]},n.rgb.hwb=function(i){const r=i[0],s=i[1];let a=i[2];const c=n.rgb.hsl(i)[0],l=1/255*Math.min(r,Math.min(s,a));return a=1-1/255*Math.max(r,Math.max(s,a)),[c,l*100,a*100]},n.rgb.cmyk=function(i){const r=i[0]/255,s=i[1]/255,a=i[2]/255,c=Math.min(1-r,1-s,1-a),l=(1-r-c)/(1-c)||0,A=(1-s-c)/(1-c)||0,u=(1-a-c)/(1-c)||0;return[l*100,A*100,u*100,c*100]};function o(i,r){return(i[0]-r[0])**2+(i[1]-r[1])**2+(i[2]-r[2])**2}return n.rgb.keyword=function(i){const r=e[i];if(r)return r;let s=1/0,a;for(const c of Object.keys(t)){const l=t[c],A=o(i,l);A<s&&(s=A,a=c)}return a},n.keyword.rgb=function(i){return t[i]},n.rgb.xyz=function(i){let r=i[0]/255,s=i[1]/255,a=i[2]/255;r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,s=s>.04045?((s+.055)/1.055)**2.4:s/12.92,a=a>.04045?((a+.055)/1.055)**2.4:a/12.92;const c=r*.4124+s*.3576+a*.1805,l=r*.2126+s*.7152+a*.0722,A=r*.0193+s*.1192+a*.9505;return[c*100,l*100,A*100]},n.rgb.lab=function(i){const r=n.rgb.xyz(i);let s=r[0],a=r[1],c=r[2];s/=95.047,a/=100,c/=108.883,s=s>.008856?s**(1/3):7.787*s+16/116,a=a>.008856?a**(1/3):7.787*a+16/116,c=c>.008856?c**(1/3):7.787*c+16/116;const l=116*a-16,A=500*(s-a),u=200*(a-c);return[l,A,u]},n.hsl.rgb=function(i){const r=i[0]/360,s=i[1]/100,a=i[2]/100;let c,l,A;if(s===0)return A=a*255,[A,A,A];a<.5?c=a*(1+s):c=a+s-a*s;const u=2*a-c,d=[0,0,0];for(let h=0;h<3;h++)l=r+1/3*-(h-1),l<0&&l++,l>1&&l--,6*l<1?A=u+(c-u)*6*l:2*l<1?A=c:3*l<2?A=u+(c-u)*(2/3-l)*6:A=u,d[h]=A*255;return d},n.hsl.hsv=function(i){const r=i[0];let s=i[1]/100,a=i[2]/100,c=s;const l=Math.max(a,.01);a*=2,s*=a<=1?a:2-a,c*=l<=1?l:2-l;const A=(a+s)/2,u=a===0?2*c/(l+c):2*s/(a+s);return[r,u*100,A*100]},n.hsv.rgb=function(i){const r=i[0]/60,s=i[1]/100;let a=i[2]/100;const c=Math.floor(r)%6,l=r-Math.floor(r),A=255*a*(1-s),u=255*a*(1-s*l),d=255*a*(1-s*(1-l));switch(a*=255,c){case 0:return[a,d,A];case 1:return[u,a,A];case 2:return[A,a,d];case 3:return[A,u,a];case 4:return[d,A,a];case 5:return[a,A,u]}},n.hsv.hsl=function(i){const r=i[0],s=i[1]/100,a=i[2]/100,c=Math.max(a,.01);let l,A;A=(2-s)*a;const u=(2-s)*c;return l=s*c,l/=u<=1?u:2-u,l=l||0,A/=2,[r,l*100,A*100]},n.hwb.rgb=function(i){const r=i[0]/360;let s=i[1]/100,a=i[2]/100;const c=s+a;let l;c>1&&(s/=c,a/=c);const A=Math.floor(6*r),u=1-a;l=6*r-A,(A&1)!==0&&(l=1-l);const d=s+l*(u-s);let h,_,m;switch(A){default:case 6:case 0:h=u,_=d,m=s;break;case 1:h=d,_=u,m=s;break;case 2:h=s,_=u,m=d;break;case 3:h=s,_=d,m=u;break;case 4:h=d,_=s,m=u;break;case 5:h=u,_=s,m=d;break}return[h*255,_*255,m*255]},n.cmyk.rgb=function(i){const r=i[0]/100,s=i[1]/100,a=i[2]/100,c=i[3]/100,l=1-Math.min(1,r*(1-c)+c),A=1-Math.min(1,s*(1-c)+c),u=1-Math.min(1,a*(1-c)+c);return[l*255,A*255,u*255]},n.xyz.rgb=function(i){const r=i[0]/100,s=i[1]/100,a=i[2]/100;let c,l,A;return c=r*3.2406+s*-1.5372+a*-.4986,l=r*-.9689+s*1.8758+a*.0415,A=r*.0557+s*-.204+a*1.057,c=c>.0031308?1.055*c**(1/2.4)-.055:c*12.92,l=l>.0031308?1.055*l**(1/2.4)-.055:l*12.92,A=A>.0031308?1.055*A**(1/2.4)-.055:A*12.92,c=Math.min(Math.max(0,c),1),l=Math.min(Math.max(0,l),1),A=Math.min(Math.max(0,A),1),[c*255,l*255,A*255]},n.xyz.lab=function(i){let r=i[0],s=i[1],a=i[2];r/=95.047,s/=100,a/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,s=s>.008856?s**(1/3):7.787*s+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;const c=116*s-16,l=500*(r-s),A=200*(s-a);return[c,l,A]},n.lab.xyz=function(i){const r=i[0],s=i[1],a=i[2];let c,l,A;l=(r+16)/116,c=s/500+l,A=l-a/200;const u=l**3,d=c**3,h=A**3;return l=u>.008856?u:(l-16/116)/7.787,c=d>.008856?d:(c-16/116)/7.787,A=h>.008856?h:(A-16/116)/7.787,c*=95.047,l*=100,A*=108.883,[c,l,A]},n.lab.lch=function(i){const r=i[0],s=i[1],a=i[2];let c;c=Math.atan2(a,s)*360/2/Math.PI,c<0&&(c+=360);const A=Math.sqrt(s*s+a*a);return[r,A,c]},n.lch.lab=function(i){const r=i[0],s=i[1],c=i[2]/360*2*Math.PI,l=s*Math.cos(c),A=s*Math.sin(c);return[r,l,A]},n.rgb.ansi16=function(i,r=null){const[s,a,c]=i;let l=r===null?n.rgb.hsv(i)[2]:r;if(l=Math.round(l/50),l===0)return 30;let A=30+(Math.round(c/255)<<2|Math.round(a/255)<<1|Math.round(s/255));return l===2&&(A+=60),A},n.hsv.ansi16=function(i){return n.rgb.ansi16(n.hsv.rgb(i),i[2])},n.rgb.ansi256=function(i){const r=i[0],s=i[1],a=i[2];return r===s&&s===a?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(s/255*5)+Math.round(a/255*5)},n.ansi16.rgb=function(i){let r=i%10;if(r===0||r===7)return i>50&&(r+=3.5),r=r/10.5*255,[r,r,r];const s=(~~(i>50)+1)*.5,a=(r&1)*s*255,c=(r>>1&1)*s*255,l=(r>>2&1)*s*255;return[a,c,l]},n.ansi256.rgb=function(i){if(i>=232){const l=(i-232)*10+8;return[l,l,l]}i-=16;let r;const s=Math.floor(i/36)/5*255,a=Math.floor((r=i%36)/6)/5*255,c=r%6/5*255;return[s,a,c]},n.rgb.hex=function(i){const s=(((Math.round(i[0])&255)<<16)+((Math.round(i[1])&255)<<8)+(Math.round(i[2])&255)).toString(16).toUpperCase();return"000000".substring(s.length)+s},n.hex.rgb=function(i){const r=i.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!r)return[0,0,0];let s=r[0];r[0].length===3&&(s=s.split("").map(u=>u+u).join(""));const a=parseInt(s,16),c=a>>16&255,l=a>>8&255,A=a&255;return[c,l,A]},n.rgb.hcg=function(i){const r=i[0]/255,s=i[1]/255,a=i[2]/255,c=Math.max(Math.max(r,s),a),l=Math.min(Math.min(r,s),a),A=c-l;let u,d;return A<1?u=l/(1-A):u=0,A<=0?d=0:c===r?d=(s-a)/A%6:c===s?d=2+(a-r)/A:d=4+(r-s)/A,d/=6,d%=1,[d*360,A*100,u*100]},n.hsl.hcg=function(i){const r=i[1]/100,s=i[2]/100,a=s<.5?2*r*s:2*r*(1-s);let c=0;return a<1&&(c=(s-.5*a)/(1-a)),[i[0],a*100,c*100]},n.hsv.hcg=function(i){const r=i[1]/100,s=i[2]/100,a=r*s;let c=0;return a<1&&(c=(s-a)/(1-a)),[i[0],a*100,c*100]},n.hcg.rgb=function(i){const r=i[0]/360,s=i[1]/100,a=i[2]/100;if(s===0)return[a*255,a*255,a*255];const c=[0,0,0],l=r%1*6,A=l%1,u=1-A;let d=0;switch(Math.floor(l)){case 0:c[0]=1,c[1]=A,c[2]=0;break;case 1:c[0]=u,c[1]=1,c[2]=0;break;case 2:c[0]=0,c[1]=1,c[2]=A;break;case 3:c[0]=0,c[1]=u,c[2]=1;break;case 4:c[0]=A,c[1]=0,c[2]=1;break;default:c[0]=1,c[1]=0,c[2]=u}return d=(1-s)*a,[(s*c[0]+d)*255,(s*c[1]+d)*255,(s*c[2]+d)*255]},n.hcg.hsv=function(i){const r=i[1]/100,s=i[2]/100,a=r+s*(1-r);let c=0;return a>0&&(c=r/a),[i[0],c*100,a*100]},n.hcg.hsl=function(i){const r=i[1]/100,a=i[2]/100*(1-r)+.5*r;let c=0;return a>0&&a<.5?c=r/(2*a):a>=.5&&a<1&&(c=r/(2*(1-a))),[i[0],c*100,a*100]},n.hcg.hwb=function(i){const r=i[1]/100,s=i[2]/100,a=r+s*(1-r);return[i[0],(a-r)*100,(1-a)*100]},n.hwb.hcg=function(i){const r=i[1]/100,a=1-i[2]/100,c=a-r;let l=0;return c<1&&(l=(a-c)/(1-c)),[i[0],c*100,l*100]},n.apple.rgb=function(i){return[i[0]/65535*255,i[1]/65535*255,i[2]/65535*255]},n.rgb.apple=function(i){return[i[0]/255*65535,i[1]/255*65535,i[2]/255*65535]},n.gray.rgb=function(i){return[i[0]/100*255,i[0]/100*255,i[0]/100*255]},n.gray.hsl=function(i){return[0,0,i[0]]},n.gray.hsv=n.gray.hsl,n.gray.hwb=function(i){return[0,100,i[0]]},n.gray.cmyk=function(i){return[0,0,0,i[0]]},n.gray.lab=function(i){return[i[0],0,0]},n.gray.hex=function(i){const r=Math.round(i[0]/100*255)&255,a=((r<<16)+(r<<8)+r).toString(16).toUpperCase();return"000000".substring(a.length)+a},n.rgb.gray=function(i){return[(i[0]+i[1]+i[2])/3/255*100]},p3e}var f3e,K4t;function Zgo(){if(K4t)return f3e;K4t=1;const t=Y4t();function e(){const r={},s=Object.keys(t);for(let a=s.length,c=0;c<a;c++)r[s[c]]={distance:-1,parent:null};return r}function n(r){const s=e(),a=[r];for(s[r].distance=0;a.length;){const c=a.pop(),l=Object.keys(t[c]);for(let A=l.length,u=0;u<A;u++){const d=l[u],h=s[d];h.distance===-1&&(h.distance=s[c].distance+1,h.parent=c,a.unshift(d))}}return s}function o(r,s){return function(a){return s(r(a))}}function i(r,s){const a=[s[r].parent,r];let c=t[s[r].parent][r],l=s[r].parent;for(;s[l].parent;)a.unshift(s[l].parent),c=o(t[s[l].parent][l],c),l=s[l].parent;return c.conversion=a,c}return f3e=function(r){const s=n(r),a={},c=Object.keys(s);for(let l=c.length,A=0;A<l;A++){const u=c[A];s[u].parent!==null&&(a[u]=i(u,s))}return a},f3e}var y3e,W4t;function epo(){if(W4t)return y3e;W4t=1;const t=Y4t(),e=Zgo(),n={},o=Object.keys(t);function i(s){const a=function(...c){const l=c[0];return l==null?l:(l.length>1&&(c=l),s(c))};return"conversion"in s&&(a.conversion=s.conversion),a}function r(s){const a=function(...c){const l=c[0];if(l==null)return l;l.length>1&&(c=l);const A=s(c);if(typeof A=="object")for(let u=A.length,d=0;d<u;d++)A[d]=Math.round(A[d]);return A};return"conversion"in s&&(a.conversion=s.conversion),a}return o.forEach(s=>{n[s]={},Object.defineProperty(n[s],"channels",{value:t[s].channels}),Object.defineProperty(n[s],"labels",{value:t[s].labels});const a=e(s);Object.keys(a).forEach(l=>{const A=a[l];n[s][l]=r(A),n[s][l].raw=i(A)})}),y3e=n,y3e}var C3e,j4t;function tpo(){if(j4t)return C3e;j4t=1;const t=$go(),e=epo(),n=["keyword","gray","hex"],o={};for(const d of Object.keys(e))o[[...e[d].labels].sort().join("")]=d;const i={};function r(d,h){if(!(this instanceof r))return new r(d,h);if(h&&h in n&&(h=null),h&&!(h in e))throw new Error("Unknown model: "+h);let _,m;if(d==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(d instanceof r)this.model=d.model,this.color=[...d.color],this.valpha=d.valpha;else if(typeof d=="string"){const p=t.get(d);if(p===null)throw new Error("Unable to parse color from string: "+d);this.model=p.model,m=e[this.model].channels,this.color=p.value.slice(0,m),this.valpha=typeof p.value[m]=="number"?p.value[m]:1}else if(d.length>0){this.model=h||"rgb",m=e[this.model].channels;const p=Array.prototype.slice.call(d,0,m);this.color=u(p,m),this.valpha=typeof d[m]=="number"?d[m]:1}else if(typeof d=="number")this.model="rgb",this.color=[d>>16&255,d>>8&255,d&255],this.valpha=1;else{this.valpha=1;const p=Object.keys(d);"alpha"in d&&(p.splice(p.indexOf("alpha"),1),this.valpha=typeof d.alpha=="number"?d.alpha:0);const g=p.sort().join("");if(!(g in o))throw new Error("Unable to parse color from object: "+JSON.stringify(d));this.model=o[g];const{labels:y}=e[this.model],f=[];for(_=0;_<y.length;_++)f.push(d[y[_]]);this.color=u(f)}if(i[this.model])for(m=e[this.model].channels,_=0;_<m;_++){const p=i[this.model][_];p&&(this.color[_]=p(this.color[_]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}r.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(d){let h=this.model in t.to?this:this.rgb();h=h.round(typeof d=="number"?d:1);const _=h.valpha===1?h.color:[...h.color,this.valpha];return t.to[h.model](_)},percentString(d){const h=this.rgb().round(typeof d=="number"?d:1),_=h.valpha===1?h.color:[...h.color,this.valpha];return t.to.rgb.percent(_)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){const d={},{channels:h}=e[this.model],{labels:_}=e[this.model];for(let m=0;m<h;m++)d[_[m]]=this.color[m];return this.valpha!==1&&(d.alpha=this.valpha),d},unitArray(){const d=this.rgb().color;return d[0]/=255,d[1]/=255,d[2]/=255,this.valpha!==1&&d.push(this.valpha),d},unitObject(){const d=this.rgb().object();return d.r/=255,d.g/=255,d.b/=255,this.valpha!==1&&(d.alpha=this.valpha),d},round(d){return d=Math.max(d||0,0),new r([...this.color.map(a(d)),this.valpha],this.model)},alpha(d){return d!==void 0?new r([...this.color,Math.max(0,Math.min(1,d))],this.model):this.valpha},red:c("rgb",0,l(255)),green:c("rgb",1,l(255)),blue:c("rgb",2,l(255)),hue:c(["hsl","hsv","hsl","hwb","hcg"],0,d=>(d%360+360)%360),saturationl:c("hsl",1,l(100)),lightness:c("hsl",2,l(100)),saturationv:c("hsv",1,l(100)),value:c("hsv",2,l(100)),chroma:c("hcg",1,l(100)),gray:c("hcg",2,l(100)),white:c("hwb",1,l(100)),wblack:c("hwb",2,l(100)),cyan:c("cmyk",0,l(100)),magenta:c("cmyk",1,l(100)),yellow:c("cmyk",2,l(100)),black:c("cmyk",3,l(100)),x:c("xyz",0,l(95.047)),y:c("xyz",1,l(100)),z:c("xyz",2,l(108.833)),l:c("lab",0,l(100)),a:c("lab",1),b:c("lab",2),keyword(d){return d!==void 0?new r(d):e[this.model].keyword(this.color)},hex(d){return d!==void 0?new r(d):t.to.hex(this.rgb().round().color)},hexa(d){if(d!==void 0)return new r(d);const h=this.rgb().round().color;let _=Math.round(this.valpha*255).toString(16).toUpperCase();return _.length===1&&(_="0"+_),t.to.hex(h)+_},rgbNumber(){const d=this.rgb().color;return(d[0]&255)<<16|(d[1]&255)<<8|d[2]&255},luminosity(){const d=this.rgb().color,h=[];for(const[_,m]of d.entries()){const p=m/255;h[_]=p<=.04045?p/12.92:((p+.055)/1.055)**2.4}return .2126*h[0]+.7152*h[1]+.0722*h[2]},contrast(d){const h=this.luminosity(),_=d.luminosity();return h>_?(h+.05)/(_+.05):(_+.05)/(h+.05)},level(d){const h=this.contrast(d);return h>=7?"AAA":h>=4.5?"AA":""},isDark(){const d=this.rgb().color;return(d[0]*2126+d[1]*7152+d[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){const d=this.rgb();for(let h=0;h<3;h++)d.color[h]=255-d.color[h];return d},lighten(d){const h=this.hsl();return h.color[2]+=h.color[2]*d,h},darken(d){const h=this.hsl();return h.color[2]-=h.color[2]*d,h},saturate(d){const h=this.hsl();return h.color[1]+=h.color[1]*d,h},desaturate(d){const h=this.hsl();return h.color[1]-=h.color[1]*d,h},whiten(d){const h=this.hwb();return h.color[1]+=h.color[1]*d,h},blacken(d){const h=this.hwb();return h.color[2]+=h.color[2]*d,h},grayscale(){const d=this.rgb().color,h=d[0]*.3+d[1]*.59+d[2]*.11;return r.rgb(h,h,h)},fade(d){return this.alpha(this.valpha-this.valpha*d)},opaquer(d){return this.alpha(this.valpha+this.valpha*d)},rotate(d){const h=this.hsl();let _=h.color[0];return _=(_+d)%360,_=_<0?360+_:_,h.color[0]=_,h},mix(d,h){if(!d||!d.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof d);const _=d.rgb(),m=this.rgb(),p=h===void 0?.5:h,g=2*p-1,y=_.alpha()-m.alpha(),f=((g*y===-1?g:(g+y)/(1+g*y))+1)/2,C=1-f;return r.rgb(f*_.red()+C*m.red(),f*_.green()+C*m.green(),f*_.blue()+C*m.blue(),_.alpha()*p+m.alpha()*(1-p))}};for(const d of Object.keys(e)){if(n.includes(d))continue;const{channels:h}=e[d];r.prototype[d]=function(..._){return this.model===d?new r(this):_.length>0?new r(_,d):new r([...A(e[this.model][d].raw(this.color)),this.valpha],d)},r[d]=function(..._){let m=_[0];return typeof m=="number"&&(m=u(_,h)),new r(m,d)}}function s(d,h){return Number(d.toFixed(h))}function a(d){return function(h){return s(h,d)}}function c(d,h,_){d=Array.isArray(d)?d:[d];for(const m of d)(i[m]||(i[m]=[]))[h]=_;return d=d[0],function(m){let p;return m!==void 0?(_&&(m=_(m)),p=this[d](),p.color[h]=m,p):(p=this[d]().color[h],_&&(p=_(p)),p)}}function l(d){return function(h){return Math.max(0,Math.min(d,h))}}function A(d){return Array.isArray(d)?d:[d]}function u(d,h){for(let _=0;_<h;_++)typeof d[_]!="number"&&(d[_]=0);return d}return C3e=r,C3e}var npo=tpo();const ul=c2(npo);function So(t,e){return Array.isArray(e)?[t.a*e[0]+t.c*e[1]+t.e,t.b*e[0]+t.d*e[1]+t.f]:{x:t.a*e.x+t.c*e.y+t.e,y:t.b*e.x+t.d*e.y+t.f}}function opo(){return{a:1,c:0,e:0,b:0,d:1,f:0}}function UF(t){return typeof t>"u"}function JP(t,e=0){return{a:1,c:0,e:t,b:0,d:1,f:e}}function JZ(...t){t=Array.isArray(t[0])?t[0]:t;const e=(n,o)=>({a:n.a*o.a+n.c*o.b,c:n.a*o.c+n.c*o.d,e:n.a*o.e+n.c*o.f+n.e,b:n.b*o.a+n.d*o.b,d:n.b*o.c+n.d*o.d,f:n.b*o.e+n.d*o.f+n.f});switch(t.length){case 0:throw new Error("no matrices provided");case 1:return t[0];case 2:return e(t[0],t[1]);default:{const[n,o,...i]=t,r=e(n,o);return JZ(r,...i)}}}function x3e(...t){return JZ(...t)}const{cos:ipo,sin:rpo}=Math;function X4t(t,e,n){const o=ipo(t),i=rpo(t),r={a:o,c:-i,e:0,b:i,d:o,f:0};return UF(e)||UF(n)?r:JZ([JP(e,n),r,JP(-e,-n)])}function spo(t,e=void 0,n=void 0,o=void 0){UF(e)&&(e=t);const i={a:t,c:0,e:0,b:0,d:e,f:0};return UF(n)||UF(o)?i:JZ([JP(n,o),i,JP(-n,-o)])}function qZ(t){const{ctx:e,points:n,fill:o,stroke:i,strokeWidth:r=1,minStrokePx:s,realToCanvasMat:a,closePath:c=!1}=t;if(n.length<2)return;e.beginPath();const l=n.map(h=>So(a,[h.x,h.y])),A=l[0];if(!A)return;const[u,d]=A;e.moveTo(u,d);for(let h=1;h<l.length;h++){const _=l[h];if(!_)continue;const[m,p]=_;e.lineTo(m,p)}if(c&&e.closePath(),o&&(e.fillStyle=o,e.fill()),i){const h=r*Math.abs(a.a),_=s===void 0?h:Math.max(h,s);e.strokeStyle=i,e.lineWidth=_,e.stroke()}}function Gh(t){const{ctx:e,center:n,width:o,height:i,fill:r,realToCanvasMat:s,borderRadius:a=0,ccwRotationDegrees:c=0,stroke:l,strokeWidth:A,isStrokeDashed:u=!1,lineJoin:d}=t,[h,_]=So(s,[n.x,n.y]),m=o*Math.abs(s.a),p=i*Math.abs(s.a),g=a*Math.abs(s.a),y=A?A*Math.abs(s.a):void 0;if(e.save(),e.translate(h,_),c!==0&&e.rotate(-c*(Math.PI/180)),e.beginPath(),g>0){const f=-m/2,C=-p/2,I=Math.min(g,m/2,p/2);e.moveTo(f+I,C),e.lineTo(f+m-I,C),e.arcTo(f+m,C,f+m,C+I,I),e.lineTo(f+m,C+p-I),e.arcTo(f+m,C+p,f+m-I,C+p,I),e.lineTo(f+I,C+p),e.arcTo(f,C+p,f,C+p-I,I),e.lineTo(f,C+I),e.arcTo(f,C,f+I,C,I)}else e.rect(-m/2,-p/2,m,p);r&&(e.fillStyle=r,e.fill()),l&&y&&(u?e.setLineDash([y*3,y*2]):e.setLineDash([]),d&&(e.lineJoin=d),e.strokeStyle=l,e.lineWidth=y,e.stroke()),e.restore()}function apo(t){const{ctx:e,board:n,realToCanvasMat:o,colorMap:i,drawBoardMaterial:r,minBoardOutlineStrokePx:s}=t,{width:a,height:c,center:l,outline:A}=n;if(A&&Array.isArray(A)&&A.length>=3){r&&qZ({ctx:e,points:A.map(u=>({x:u.x,y:u.y})),fill:i.substrate,realToCanvasMat:o,closePath:!0}),qZ({ctx:e,points:A.map(u=>({x:u.x,y:u.y})),stroke:i.boardOutline,strokeWidth:.1,realToCanvasMat:o,closePath:!0,minStrokePx:s});return}if(a!==void 0&&c!==void 0&&l){r&&Gh({ctx:e,center:l,width:a,height:c,fill:i.substrate,realToCanvasMat:o});const u=a/2,d=c/2,h=[{x:l.x-u,y:l.y-d},{x:l.x+u,y:l.y-d},{x:l.x+u,y:l.y+d},{x:l.x-u,y:l.y+d}];qZ({ctx:e,points:h,stroke:i.boardOutline,strokeWidth:.1,realToCanvasMat:o,closePath:!0,minStrokePx:s})}}function qP(t){const{ctx:e,points:n,fill:o,realToCanvasMat:i}=t;if(n.length<3)return;e.beginPath();const r=n.map(l=>So(i,[l.x,l.y])),s=r[0];if(!s)return;const[a,c]=s;e.moveTo(a,c);for(let l=1;l<r.length;l++){const A=r[l];if(!A)continue;const[u,d]=A;e.lineTo(u,d)}e.closePath(),e.fillStyle=o,e.fill()}function cpo(t,e){return e.copper[t]??e.copper.top}function lpo(t,e,n,o,i){if(Math.abs(i)<1e-10)return null;const r=n-t,s=o-e,a=Math.hypot(r,s);if(a<1e-10)return null;const c=Math.abs(i)*(a/2),l=a/2,A=(c*c+l*l)/(2*c),u=A-c,d=(t+n)/2,h=(e+o)/2,_=-s/a,m=r/a,p=i>0?-1:1,g=d+p*_*u,y=h+p*m*u;return{centerX:g,centerY:y,radius:A}}function I3e(t,e,n,o,i,r,s){if(Math.abs(r)<1e-10){const[C,I]=So(s,[o,i]);t.lineTo(C,I);return}const a=lpo(e,n,o,i,r);if(!a){const[C,I]=So(s,[o,i]);t.lineTo(C,I);return}const[c,l]=So(s,[e,n]),[A,u]=So(s,[o,i]),[d,h]=So(s,[a.centerX,a.centerY]),_=Math.hypot(c-d,l-h),m=Math.atan2(l-h,c-d),p=Math.atan2(u-h,A-d),y=s.a*s.d-s.b*s.c<0,f=r>0?!y:y;t.arc(d,h,_,m,p,f)}function J4t(t,e,n){if(e.vertices.length<2)return;if(e.vertices.length===2){const s=e.vertices[0],a=e.vertices[1];if(s&&a&&Math.abs((s.bulge??0)-1)<1e-10&&Math.abs((a.bulge??0)-1)<1e-10){const[c,l]=So(n,[s.x,s.y]);t.moveTo(c,l),I3e(t,s.x,s.y,a.x,a.y,1,n),I3e(t,a.x,a.y,s.x,s.y,1,n);return}}const o=e.vertices[0];if(!o)return;const[i,r]=So(n,[o.x,o.y]);t.moveTo(i,r);for(let s=0;s<e.vertices.length;s++){const a=e.vertices[s],c=(s+1)%e.vertices.length,l=e.vertices[c];if(!a||!l)continue;const A=a.bulge??0;if(Math.abs(A)<1e-10){const[u,d]=So(n,[l.x,l.y]);t.lineTo(u,d)}else I3e(t,a.x,a.y,l.x,l.y,A,n)}}function Apo(t){const{ctx:e,pour:n,realToCanvasMat:o,colorMap:i}=t,r=cpo(n.layer,i),s=.5;if(e.save(),e.globalAlpha=s,n.shape==="rect"){const[a,c]=So(o,[n.center.x,n.center.y]),l=n.width*Math.abs(o.a),A=n.height*Math.abs(o.a);e.translate(a,c),n.rotation&&e.rotate(-n.rotation*(Math.PI/180)),e.beginPath(),e.rect(-l/2,-A/2,l,A),e.fillStyle=r,e.fill(),e.restore();return}if(n.shape==="polygon"){if(n.points&&n.points.length>=3){const a=n.points.map(u=>So(o,[u.x,u.y])),c=a[0];if(!c){e.restore();return}e.beginPath();const[l,A]=c;e.moveTo(l,A);for(let u=1;u<a.length;u++){const d=a[u];if(!d)continue;const[h,_]=d;e.lineTo(h,_)}e.closePath(),e.fillStyle=r,e.fill()}e.restore();return}if(n.shape==="brep"){if(e.beginPath(),J4t(e,n.brep_shape.outer_ring,o),n.brep_shape.inner_rings)for(const a of n.brep_shape.inner_rings)J4t(e,a,o);e.fillStyle=r,e.fill("evenodd"),e.restore();return}e.restore()}function upo(t,e){if(e.length<3)return;const n=e[0];if(n){t.moveTo(n.x,n.y);for(let o=1;o<e.length;o++){const i=e[o];i&&t.lineTo(i.x,i.y)}t.closePath()}}var dpo=t=>rmt[t]??(t===" "?Sf.spaceWidthRatio:Sf.glyphWidthRatio);function E3e(t,e,n){const o=dpo(t),i=e?Sf.letterSpacingRatio:0,r=e?smt[t]?.[e]??0:0;return n*(o+i+r)}function _po(t,e){const n=e*Sf.glyphWidthRatio,o=e*Sf.letterSpacingRatio,i=e*Sf.spaceWidthRatio,r=e*Sf.strokeWidthRatio,s=e*Sf.lineHeightRatio,a=t.replace(/\\n/g,`
5620
+ `,'"',l.BYTE_ORDER_MARK],l.WORKERS_SUPPORTED=!r&&!!o.Worker,l.NODE_STREAM_INPUT=1,l.LocalChunkSize=10485760,l.RemoteChunkSize=5242880,l.DefaultDelimiter=",",l.Parser=g,l.ParserHandle=m,l.NetworkStreamer=u,l.FileStreamer=d,l.StringStreamer=h,l.ReadableStreamStreamer=_,o.jQuery&&((i=o.jQuery).fn.parse=function(P){var B=P.config||{},w=[];return this.each(function(L){if(!(i(this).prop("tagName").toUpperCase()==="INPUT"&&i(this).attr("type").toLowerCase()==="file"&&o.FileReader)||!this.files||this.files.length===0)return!0;for(var O=0;O<this.files.length;O++)w.push({file:this.files[O],inputElem:this,instanceConfig:i.extend({},B)})}),k(),this;function k(){if(w.length===0)b(P.complete)&&P.complete();else{var L,O,G,K,j=w[0];if(b(P.before)){var $=P.before(j.file,j.inputElem);if(typeof $=="object"){if($.action==="abort")return L="AbortError",O=j.file,G=j.inputElem,K=$.reason,void(b(P.error)&&P.error({name:L},O,G,K));if($.action==="skip")return void N();typeof $.config=="object"&&(j.instanceConfig=i.extend(j.instanceConfig,$.config))}else if($==="skip")return void N()}var oe=j.instanceConfig.complete;j.instanceConfig.complete=function(Ae){b(oe)&&oe(Ae,j.file,j.inputElem),N()},l.parse(j.file,j.instanceConfig)}}function N(){w.splice(0,1),k()}}),s&&(o.onmessage=function(P){P=P.data,l.WORKER_ID===void 0&&P&&(l.WORKER_ID=P.workerId),typeof P.input=="string"?o.postMessage({workerId:l.WORKER_ID,results:l.parse(P.input,P.config),finished:!0}):(o.File&&P.input instanceof File||P.input instanceof Object)&&(P=l.parse(P.input,P.config))&&o.postMessage({workerId:l.WORKER_ID,results:P,finished:!0})}),(u.prototype=Object.create(A.prototype)).constructor=u,(d.prototype=Object.create(A.prototype)).constructor=d,(h.prototype=Object.create(h.prototype)).constructor=h,(_.prototype=Object.create(A.prototype)).constructor=_,l})})(GZ)),GZ.exports}var pgo=ggo();const p4t=c2(pgo);var f4t=async({circuitJson:t,resolvePart:e})=>{const n=[];for(const o of t){if(o.type!=="pcb_component")continue;const i=t.find(l=>l.type==="source_component"&&l.source_component_id===o.source_component_id),r=t.find(l=>l.type==="cad_component"&&l.pcb_component_id===o.pcb_component_id);if(!i)continue;const s=await e?.({pcb_component:o,source_component:i})??{};let a="";i.ftype==="simple_resistor"&&(a=y4t(i.resistance)),i.ftype==="simple_capacitor"&&(a=y4t(i.capacitance));const c=!!o.do_not_place;n.push({designator:i.name??o.pcb_component_id,comment:c?"DNP":a,value:c?"DNP":a,footprint:s.footprint||r?.footprinter_string||"",supplier_part_number_columns:c?void 0:s.supplier_part_number_columns??(i.supplier_part_numbers?fgo(i.supplier_part_numbers):void 0)})}return n};function fgo(t){const e={};return t?.jlcpcb&&(e["JLCPCB Part #"]=t.jlcpcb[0]),t?.lcsc&&(e["JLCPCB Part #"]=t.lcsc[0]),e}function y4t(t){return t==null?"":typeof t=="string"?t:hgo.formatSI(t)}var ygo=t=>{const e=t.map(o=>{const i=o.supplier_part_number_columns;return Object.values(i||{}).join(", "),Object.entries(o.extra_columns||{}).map(([r,s])=>`${r}: ${s}`).join(", "),{Designator:o.designator,Comment:o.comment,Value:o.value,Footprint:o.footprint,...i}}),n=["Designator","Comment","Value","Footprint"];for(const o of e)for(const i in o)n.includes(i)||n.push(i);return p4t.unparse(e,{columns:n})};const Cgo=(t,e)=>W.jsx("a",{className:"rf-underline rf-text-blue-500",target:"_blank",rel:"noreferrer",href:`https://jlcpcb.com/partdetail/${e}`,children:e}),xgo=t=>t?.map(({manufacturer:e,mpn:n})=>`${e}: ${n}`).join(", "),Igo=t=>{const e=new Set;let n=!1,o=!1;for(const i of t){i.supplier_part_number_columns?.["JLCPCB Part #"]!==void 0&&(n=!0);for(const r of Object.keys(i.extra_columns??{}))e.add(r);(i.manufacturer_mpn_pairs?.length??0)>0&&(o=!0)}return{extraColumnNames:[...e],hasSupplierColumn:n,hasManufacturerColumn:o}},Ego=t=>{const e=[{key:"designator",label:"Designator",getCell:n=>n.designator},{key:"comment",label:"Comment",getCell:n=>n.comment},{key:"value",label:"Component Value",getCell:n=>n.value},{key:"footprint",label:"Footprint",getCell:n=>n.footprint}];t.hasSupplierColumn&&e.push({key:"supplier:JLCPCB Part #",label:"JLCPCB Part #",getCell:n=>{const o=n.supplier_part_number_columns?.["JLCPCB Part #"];return o?Cgo("jlcpcb",o):""}}),t.hasManufacturerColumn&&e.push({key:"manufacturer_mpn_pairs",label:"Manufacturer / MPN",getCell:n=>xgo(n.manufacturer_mpn_pairs)});for(const n of t.extraColumnNames)e.push({key:`extra:${n}`,label:n,getCell:o=>o.extra_columns?.[n]||""});return e},bgo=({circuitJson:t})=>{const[e,n]=ne.useState(null),[o,i]=ne.useState(null);if(ne.useEffect(()=>{let a=!1;return(async()=>{try{i(null),n(null);const l=await f4t({circuitJson:t});a||n(l)}catch(l){a||i(l instanceof Error?l.message:"Unknown BOM error")}})(),()=>{a=!0}},[t]),o)throw new Error(o);const r=Igo(e??[]),s=Ego(r);return e?W.jsx("div",{className:"rf-overflow-x-auto",children:W.jsxs("table",{className:"rf-w-full rf-text-left rf-text-sm",children:[W.jsx("thead",{children:W.jsx("tr",{className:"rf-border-b",children:s.map(a=>W.jsx("th",{className:"rf-p-2",children:a.label},a.key))})}),W.jsx("tbody",{children:e.map((a,c)=>W.jsx("tr",{className:"rf-border-b",children:s.map(l=>W.jsx("td",{className:"rf-p-2",children:l.getCell(a)},l.key))},a.designator||`${c}`))})]})}):W.jsx("div",{className:"rf-p-4 rf-text-sm rf-text-muted-foreground",children:"Loading BOM..."})},r3e=ne.forwardRef(({className:t,type:e,...n},o)=>W.jsx("input",{type:e,className:ns("rf-flex rf-h-9 rf-w-full rf-rounded-md rf-border rf-border-zinc-200 rf-bg-white rf-px-3 rf-py-1 rf-text-sm rf-shadow-sm rf-transition-colors file:rf-border-0 file:rf-bg-transparent file:rf-text-sm file:rf-font-medium placeholder:rf-text-zinc-500 focus-visible:rf-outline-none focus-visible:rf-ring-1 focus-visible:rf-ring-zinc-950 disabled:rf-cursor-not-allowed disabled:rf-opacity-50 dark:rf-border-zinc-800 dark:rf-bg-zinc-950 dark:rf-placeholder-zinc-400 dark:focus-visible:rf-ring-zinc-300",t),ref:o,...n}));r3e.displayName="Input";const Sgo={},C4t=t=>{let e;const n=new Set,o=(A,u)=>{const d=typeof A=="function"?A(e):A;if(!Object.is(d,e)){const h=e;e=u??(typeof d!="object"||d===null)?d:Object.assign({},e,d),n.forEach(_=>_(e,h))}},i=()=>e,c={setState:o,getState:i,getInitialState:()=>l,subscribe:A=>(n.add(A),()=>n.delete(A)),destroy:()=>{(Sgo?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},l=e=t(o,i,c);return c},x4t=t=>t?C4t(t):C4t;var UZ={exports:{}},s3e={},zZ={exports:{}},a3e={};var I4t;function Pgo(){if(I4t)return a3e;I4t=1;var t=FC();function e(u,d){return u===d&&(u!==0||1/u===1/d)||u!==u&&d!==d}var n=typeof Object.is=="function"?Object.is:e,o=t.useState,i=t.useEffect,r=t.useLayoutEffect,s=t.useDebugValue;function a(u,d){var h=d(),_=o({inst:{value:h,getSnapshot:d}}),m=_[0].inst,p=_[1];return r(function(){m.value=h,m.getSnapshot=d,c(m)&&p({inst:m})},[u,h,d]),i(function(){return c(m)&&p({inst:m}),u(function(){c(m)&&p({inst:m})})},[u]),s(h),h}function c(u){var d=u.getSnapshot;u=u.value;try{var h=d();return!n(u,h)}catch{return!0}}function l(u,d){return d()}var A=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?l:a;return a3e.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:A,a3e}var c3e={},E4t;function vgo(){if(E4t)return c3e;E4t=1;var t={env:{}};return t.env.NODE_ENV!=="production"&&(function(){function e(_,m){return _===m&&(_!==0||1/_===1/m)||_!==_&&m!==m}function n(_,m){u||r.startTransition===void 0||(u=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var p=m();if(!d){var g=m();s(p,g)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),d=!0)}g=a({inst:{value:p,getSnapshot:m}});var y=g[0].inst,f=g[1];return l(function(){y.value=p,y.getSnapshot=m,o(y)&&f({inst:y})},[_,p,m]),c(function(){return o(y)&&f({inst:y}),_(function(){o(y)&&f({inst:y})})},[_]),A(p),p}function o(_){var m=_.getSnapshot;_=_.value;try{var p=m();return!s(_,p)}catch{return!0}}function i(_,m){return m()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var r=FC(),s=typeof Object.is=="function"?Object.is:e,a=r.useState,c=r.useEffect,l=r.useLayoutEffect,A=r.useDebugValue,u=!1,d=!1,h=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?i:n;c3e.useSyncExternalStore=r.useSyncExternalStore!==void 0?r.useSyncExternalStore:h,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})(),c3e}var b4t;function S4t(){if(b4t)return zZ.exports;b4t=1;var t={env:{}};return t.env.NODE_ENV==="production"?zZ.exports=Pgo():zZ.exports=vgo(),zZ.exports}var P4t;function Bgo(){if(P4t)return s3e;P4t=1;var t=FC(),e=S4t();function n(l,A){return l===A&&(l!==0||1/l===1/A)||l!==l&&A!==A}var o=typeof Object.is=="function"?Object.is:n,i=e.useSyncExternalStore,r=t.useRef,s=t.useEffect,a=t.useMemo,c=t.useDebugValue;return s3e.useSyncExternalStoreWithSelector=function(l,A,u,d,h){var _=r(null);if(_.current===null){var m={hasValue:!1,value:null};_.current=m}else m=_.current;_=a(function(){function g(E){if(!y){if(y=!0,f=E,E=d(E),h!==void 0&&m.hasValue){var b=m.value;if(h(b,E))return C=b}return C=E}if(b=C,o(f,E))return b;var P=d(E);return h!==void 0&&h(b,P)?(f=E,b):(f=E,C=P)}var y=!1,f,C,I=u===void 0?null:u;return[function(){return g(A())},I===null?void 0:function(){return g(I())}]},[A,u,d,h]);var p=i(l,_[0],_[1]);return s(function(){m.hasValue=!0,m.value=p},[p]),c(p),p},s3e}var l3e={},v4t;function Mgo(){if(v4t)return l3e;v4t=1;var t={env:{}};return t.env.NODE_ENV!=="production"&&(function(){function e(A,u){return A===u&&(A!==0||1/A===1/u)||A!==A&&u!==u}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=FC(),o=S4t(),i=typeof Object.is=="function"?Object.is:e,r=o.useSyncExternalStore,s=n.useRef,a=n.useEffect,c=n.useMemo,l=n.useDebugValue;l3e.useSyncExternalStoreWithSelector=function(A,u,d,h,_){var m=s(null);if(m.current===null){var p={hasValue:!1,value:null};m.current=p}else p=m.current;m=c(function(){function y(b){if(!f){if(f=!0,C=b,b=h(b),_!==void 0&&p.hasValue){var P=p.value;if(_(P,b))return I=P}return I=b}if(P=I,i(C,b))return P;var B=h(b);return _!==void 0&&_(P,B)?(C=b,P):(C=b,I=B)}var f=!1,C,I,E=d===void 0?null:d;return[function(){return y(u())},E===null?void 0:function(){return y(E())}]},[u,d,h,_]);var g=r(A,m[0],m[1]);return a(function(){p.hasValue=!0,p.value=g},[g]),l(g),g},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})(),l3e}var B4t;function wgo(){if(B4t)return UZ.exports;B4t=1;var t={env:{}};return t.env.NODE_ENV==="production"?UZ.exports=Bgo():UZ.exports=Mgo(),UZ.exports}var Dgo=wgo();const Qgo=c2(Dgo),M4t={},{useDebugValue:Tgo}=cr,{useSyncExternalStoreWithSelector:Rgo}=Qgo;let w4t=!1;const Ngo=t=>t;function D4t(t,e=Ngo,n){(M4t?"production":void 0)!=="production"&&n&&!w4t&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),w4t=!0);const o=Rgo(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return Tgo(o),o}const kgo=t=>{(M4t?"production":void 0)!=="production"&&typeof t!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const e=typeof t=="function"?x4t(t):t,n=(o,i)=>D4t(e,o,i);return Object.assign(n,e),n},Q4t=t=>kgo,FF=t=>typeof t=="number"&&!isNaN(t),T8=t=>typeof t=="string",Cx=t=>typeof t=="function",VZ=t=>T8(t)||Cx(t)?t:null,A3e=t=>ne.isValidElement(t)||T8(t)||Cx(t)||FF(t);function Hgo(t,e,n){n===void 0&&(n=300);const{scrollHeight:o,style:i}=t;requestAnimationFrame(()=>{i.minHeight="initial",i.height=o+"px",i.transition=`all ${n}ms`,requestAnimationFrame(()=>{i.height="0",i.padding="0",i.margin="0",setTimeout(e,n)})})}function YZ(t){let{enter:e,exit:n,appendPosition:o=!1,collapse:i=!0,collapseDuration:r=300}=t;return function(s){let{children:a,position:c,preventExitTransition:l,done:A,nodeRef:u,isIn:d,playToast:h}=s;const _=o?`${e}--${c}`:e,m=o?`${n}--${c}`:n,p=ne.useRef(0);return ne.useLayoutEffect(()=>{const g=u.current,y=_.split(" "),f=C=>{C.target===u.current&&(h(),g.removeEventListener("animationend",f),g.removeEventListener("animationcancel",f),p.current===0&&C.type!=="animationcancel"&&g.classList.remove(...y))};g.classList.add(...y),g.addEventListener("animationend",f),g.addEventListener("animationcancel",f)},[]),ne.useEffect(()=>{const g=u.current,y=()=>{g.removeEventListener("animationend",y),i?Hgo(g,A,r):A()};d||(l?y():(p.current=1,g.className+=` ${m}`,g.addEventListener("animationend",y)))},[d]),cr.createElement(cr.Fragment,null,a)}}function T4t(t,e){return t!=null?{content:t.content,containerId:t.props.containerId,id:t.props.toastId,theme:t.props.theme,type:t.props.type,data:t.props.data||{},isLoading:t.props.isLoading,icon:t.props.icon,status:e}:{}}const R1=new Map;let OF=[];const u3e=new Set,Lgo=t=>u3e.forEach(e=>e(t)),R4t=()=>R1.size>0;function N4t(t,e){var n;if(e)return!((n=R1.get(e))==null||!n.isToastActive(t));let o=!1;return R1.forEach(i=>{i.isToastActive(t)&&(o=!0)}),o}function k4t(t,e){A3e(t)&&(R4t()||OF.push({content:t,options:e}),R1.forEach(n=>{n.buildToast(t,e)}))}function H4t(t,e){R1.forEach(n=>{e!=null&&e!=null&&e.containerId?e?.containerId===n.id&&n.toggle(t,e?.id):n.toggle(t,e?.id)})}function Fgo(t){const{subscribe:e,getSnapshot:n,setProps:o}=ne.useRef((function(r){const s=r.containerId||1;return{subscribe(a){const c=(function(A,u,d){let h=1,_=0,m=[],p=[],g=[],y=u;const f=new Map,C=new Set,I=()=>{g=Array.from(f.values()),C.forEach(P=>P())},E=P=>{p=P==null?[]:p.filter(B=>B!==P),I()},b=P=>{const{toastId:B,onOpen:w,updateId:k,children:N}=P.props,L=k==null;P.staleId&&f.delete(P.staleId),f.set(B,P),p=[...p,P.props.toastId].filter(O=>O!==P.staleId),I(),d(T4t(P,L?"added":"updated")),L&&Cx(w)&&w(ne.isValidElement(N)&&N.props)};return{id:A,props:y,observe:P=>(C.add(P),()=>C.delete(P)),toggle:(P,B)=>{f.forEach(w=>{B!=null&&B!==w.props.toastId||Cx(w.toggle)&&w.toggle(P)})},removeToast:E,toasts:f,clearQueue:()=>{_-=m.length,m=[]},buildToast:(P,B)=>{if((re=>{let{containerId:ae,toastId:ce,updateId:pe}=re;const Ie=ae?ae!==A:A!==1,ve=f.has(ce)&&pe==null;return Ie||ve})(B))return;const{toastId:w,updateId:k,data:N,staleId:L,delay:O}=B,G=()=>{E(w)},K=k==null;K&&_++;const j={...y,style:y.toastStyle,key:h++,...Object.fromEntries(Object.entries(B).filter(re=>{let[ae,ce]=re;return ce!=null})),toastId:w,updateId:k,data:N,closeToast:G,isIn:!1,className:VZ(B.className||y.toastClassName),bodyClassName:VZ(B.bodyClassName||y.bodyClassName),progressClassName:VZ(B.progressClassName||y.progressClassName),autoClose:!B.isLoading&&($=B.autoClose,oe=y.autoClose,$===!1||FF($)&&$>0?$:oe),deleteToast(){const re=f.get(w),{onClose:ae,children:ce}=re.props;Cx(ae)&&ae(ne.isValidElement(ce)&&ce.props),d(T4t(re,"removed")),f.delete(w),_--,_<0&&(_=0),m.length>0?b(m.shift()):I()}};var $,oe;j.closeButton=y.closeButton,B.closeButton===!1||A3e(B.closeButton)?j.closeButton=B.closeButton:B.closeButton===!0&&(j.closeButton=!A3e(y.closeButton)||y.closeButton);let Ae=P;ne.isValidElement(P)&&!T8(P.type)?Ae=ne.cloneElement(P,{closeToast:G,toastProps:j,data:N}):Cx(P)&&(Ae=P({closeToast:G,toastProps:j,data:N}));const Z={content:Ae,props:j,staleId:L};y.limit&&y.limit>0&&_>y.limit&&K?m.push(Z):FF(O)?setTimeout(()=>{b(Z)},O):b(Z)},setProps(P){y=P},setToggle:(P,B)=>{f.get(P).toggle=B},isToastActive:P=>p.some(B=>B===P),getSnapshot:()=>g}})(s,r,Lgo);R1.set(s,c);const l=c.observe(a);return OF.forEach(A=>k4t(A.content,A.options)),OF=[],()=>{l(),R1.delete(s)}},setProps(a){var c;(c=R1.get(s))==null||c.setProps(a)},getSnapshot(){var a;return(a=R1.get(s))==null?void 0:a.getSnapshot()}}})(t)).current;o(t);const i=ne.useSyncExternalStore(e,n,n);return{getToastToRender:function(r){if(!i)return[];const s=new Map;return t.newestOnTop&&i.reverse(),i.forEach(a=>{const{position:c}=a.props;s.has(c)||s.set(c,[]),s.get(c).push(a)}),Array.from(s,a=>r(a[0],a[1]))},isToastActive:N4t,count:i?.length}}function Ogo(t){const[e,n]=ne.useState(!1),[o,i]=ne.useState(!1),r=ne.useRef(null),s=ne.useRef({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:a,pauseOnHover:c,closeToast:l,onClick:A,closeOnClick:u}=t;var d,h;function _(){n(!0)}function m(){n(!1)}function p(f){const C=r.current;s.canDrag&&C&&(s.didMove=!0,e&&m(),s.delta=t.draggableDirection==="x"?f.clientX-s.start:f.clientY-s.start,s.start!==f.clientX&&(s.canCloseOnClick=!1),C.style.transform=`translate3d(${t.draggableDirection==="x"?`${s.delta}px, var(--y)`:`0, calc(${s.delta}px + var(--y))`},0)`,C.style.opacity=""+(1-Math.abs(s.delta/s.removalDistance)))}function g(){document.removeEventListener("pointermove",p),document.removeEventListener("pointerup",g);const f=r.current;if(s.canDrag&&s.didMove&&f){if(s.canDrag=!1,Math.abs(s.delta)>s.removalDistance)return i(!0),t.closeToast(),void t.collapseAll();f.style.transition="transform 0.2s, opacity 0.2s",f.style.removeProperty("transform"),f.style.removeProperty("opacity")}}(h=R1.get((d={id:t.toastId,containerId:t.containerId,fn:n}).containerId||1))==null||h.setToggle(d.id,d.fn),ne.useEffect(()=>{if(t.pauseOnFocusLoss)return document.hasFocus()||m(),window.addEventListener("focus",_),window.addEventListener("blur",m),()=>{window.removeEventListener("focus",_),window.removeEventListener("blur",m)}},[t.pauseOnFocusLoss]);const y={onPointerDown:function(f){if(t.draggable===!0||t.draggable===f.pointerType){s.didMove=!1,document.addEventListener("pointermove",p),document.addEventListener("pointerup",g);const C=r.current;s.canCloseOnClick=!0,s.canDrag=!0,C.style.transition="none",t.draggableDirection==="x"?(s.start=f.clientX,s.removalDistance=C.offsetWidth*(t.draggablePercent/100)):(s.start=f.clientY,s.removalDistance=C.offsetHeight*(t.draggablePercent===80?1.5*t.draggablePercent:t.draggablePercent)/100)}},onPointerUp:function(f){const{top:C,bottom:I,left:E,right:b}=r.current.getBoundingClientRect();f.nativeEvent.type!=="touchend"&&t.pauseOnHover&&f.clientX>=E&&f.clientX<=b&&f.clientY>=C&&f.clientY<=I?m():_()}};return a&&c&&(y.onMouseEnter=m,t.stacked||(y.onMouseLeave=_)),u&&(y.onClick=f=>{A&&A(f),s.canCloseOnClick&&l()}),{playToast:_,pauseToast:m,isRunning:e,preventExitTransition:o,toastRef:r,eventHandlers:y}}function Ggo(t){let{delay:e,isRunning:n,closeToast:o,type:i="default",hide:r,className:s,style:a,controlledProgress:c,progress:l,rtl:A,isIn:u,theme:d}=t;const h=r||c&&l===0,_={...a,animationDuration:`${e}ms`,animationPlayState:n?"running":"paused"};c&&(_.transform=`scaleX(${l})`);const m=dI("Toastify__progress-bar",c?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${d}`,`Toastify__progress-bar--${i}`,{"Toastify__progress-bar--rtl":A}),p=Cx(s)?s({rtl:A,type:i,defaultClassName:m}):dI(m,s),g={[c&&l>=1?"onTransitionEnd":"onAnimationEnd"]:c&&l<1?null:()=>{u&&o()}};return cr.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":h},cr.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${d} Toastify__progress-bar--${i}`}),cr.createElement("div",{role:"progressbar","aria-hidden":h?"true":"false","aria-label":"notification timer",className:p,style:_,...g}))}let Ugo=1;const L4t=()=>""+Ugo++;function zgo(t){return t&&(T8(t.toastId)||FF(t.toastId))?t.toastId:L4t()}function GF(t,e){return k4t(t,e),e.toastId}function KZ(t,e){return{...e,type:e&&e.type||t,toastId:zgo(e)}}function WZ(t){return(e,n)=>GF(e,KZ(t,n))}function zA(t,e){return GF(t,KZ("default",e))}zA.loading=(t,e)=>GF(t,KZ("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...e})),zA.promise=function(t,e,n){let o,{pending:i,error:r,success:s}=e;i&&(o=T8(i)?zA.loading(i,n):zA.loading(i.render,{...n,...i}));const a={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},c=(A,u,d)=>{if(u==null)return void zA.dismiss(o);const h={type:A,...a,...n,data:d},_=T8(u)?{render:u}:u;return o?zA.update(o,{...h,..._}):zA(_.render,{...h,..._}),d},l=Cx(t)?t():t;return l.then(A=>c("success",s,A)).catch(A=>c("error",r,A)),l},zA.success=WZ("success"),zA.info=WZ("info"),zA.error=WZ("error"),zA.warning=WZ("warning"),zA.warn=zA.warning,zA.dark=(t,e)=>GF(t,KZ("default",{theme:"dark",...e})),zA.dismiss=function(t){(function(e){var n;if(R4t()){if(e==null||T8(n=e)||FF(n))R1.forEach(o=>{o.removeToast(e)});else if(e&&("containerId"in e||"id"in e)){const o=R1.get(e.containerId);o?o.removeToast(e.id):R1.forEach(i=>{i.removeToast(e.id)})}}else OF=OF.filter(o=>e!=null&&o.options.toastId!==e)})(t)},zA.clearWaitingQueue=function(t){t===void 0&&(t={}),R1.forEach(e=>{!e.props.limit||t.containerId&&e.id!==t.containerId||e.clearQueue()})},zA.isActive=N4t,zA.update=function(t,e){e===void 0&&(e={});const n=((o,i)=>{var r;let{containerId:s}=i;return(r=R1.get(s||1))==null?void 0:r.toasts.get(o)})(t,e);if(n){const{props:o,content:i}=n,r={delay:100,...o,...e,toastId:e.toastId||t,updateId:L4t()};r.toastId!==t&&(r.staleId=t);const s=r.render||i;delete r.render,GF(s,r)}},zA.done=t=>{zA.update(t,{progress:1})},zA.onChange=function(t){return u3e.add(t),()=>{u3e.delete(t)}},zA.play=t=>H4t(!0,t),zA.pause=t=>H4t(!1,t);const Vgo=typeof window<"u"?ne.useLayoutEffect:ne.useEffect,jZ=t=>{let{theme:e,type:n,isLoading:o,...i}=t;return cr.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:e==="colored"?"currentColor":`var(--toastify-icon-color-${n})`,...i})},d3e={info:function(t){return cr.createElement(jZ,{...t},cr.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))},warning:function(t){return cr.createElement(jZ,{...t},cr.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))},success:function(t){return cr.createElement(jZ,{...t},cr.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))},error:function(t){return cr.createElement(jZ,{...t},cr.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))},spinner:function(){return cr.createElement("div",{className:"Toastify__spinner"})}},Ygo=t=>{const{isRunning:e,preventExitTransition:n,toastRef:o,eventHandlers:i,playToast:r}=Ogo(t),{closeButton:s,children:a,autoClose:c,onClick:l,type:A,hideProgressBar:u,closeToast:d,transition:h,position:_,className:m,style:p,bodyClassName:g,bodyStyle:y,progressClassName:f,progressStyle:C,updateId:I,role:E,progress:b,rtl:P,toastId:B,deleteToast:w,isIn:k,isLoading:N,closeOnClick:L,theme:O}=t,G=dI("Toastify__toast",`Toastify__toast-theme--${O}`,`Toastify__toast--${A}`,{"Toastify__toast--rtl":P},{"Toastify__toast--close-on-click":L}),K=Cx(m)?m({rtl:P,position:_,type:A,defaultClassName:G}):dI(G,m),j=(function(Z){let{theme:re,type:ae,isLoading:ce,icon:pe}=Z,Ie=null;const ve={theme:re,type:ae};return pe===!1||(Cx(pe)?Ie=pe({...ve,isLoading:ce}):ne.isValidElement(pe)?Ie=ne.cloneElement(pe,ve):ce?Ie=d3e.spinner():(Be=>Be in d3e)(ae)&&(Ie=d3e[ae](ve))),Ie})(t),$=!!b||!c,oe={closeToast:d,type:A,theme:O};let Ae=null;return s===!1||(Ae=Cx(s)?s(oe):ne.isValidElement(s)?ne.cloneElement(s,oe):(function(Z){let{closeToast:re,theme:ae,ariaLabel:ce="close"}=Z;return cr.createElement("button",{className:`Toastify__close-button Toastify__close-button--${ae}`,type:"button",onClick:pe=>{pe.stopPropagation(),re(pe)},"aria-label":ce},cr.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},cr.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))})(oe)),cr.createElement(h,{isIn:k,done:w,position:_,preventExitTransition:n,nodeRef:o,playToast:r},cr.createElement("div",{id:B,onClick:l,"data-in":k,className:K,...i,style:p,ref:o},cr.createElement("div",{...k&&{role:E},className:Cx(g)?g({type:A}):dI("Toastify__toast-body",g),style:y},j!=null&&cr.createElement("div",{className:dI("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!N})},j),cr.createElement("div",null,a)),Ae,cr.createElement(Ggo,{...I&&!$?{key:`pb-${I}`}:{},rtl:P,theme:O,delay:c,isRunning:e,isIn:k,closeToast:d,hide:u,type:A,style:C,className:f,controlledProgress:$,progress:b||0})))},XZ=function(t,e){return e===void 0&&(e=!1),{enter:`Toastify--animate Toastify__${t}-enter`,exit:`Toastify--animate Toastify__${t}-exit`,appendPosition:e}},Kgo=YZ(XZ("bounce",!0));YZ(XZ("slide",!0)),YZ(XZ("zoom")),YZ(XZ("flip"));const Wgo={position:"top-right",transition:Kgo,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light"};function jgo(t){let e={...Wgo,...t};const n=t.stacked,[o,i]=ne.useState(!0),r=ne.useRef(null),{getToastToRender:s,isToastActive:a,count:c}=Fgo(e),{className:l,style:A,rtl:u,containerId:d}=e;function h(m){const p=dI("Toastify__toast-container",`Toastify__toast-container--${m}`,{"Toastify__toast-container--rtl":u});return Cx(l)?l({position:m,rtl:u,defaultClassName:p}):dI(p,VZ(l))}function _(){n&&(i(!0),zA.play())}return Vgo(()=>{if(n){var m;const p=r.current.querySelectorAll('[data-in="true"]'),g=12,y=(m=e.position)==null?void 0:m.includes("top");let f=0,C=0;Array.from(p).reverse().forEach((I,E)=>{const b=I;b.classList.add("Toastify__toast--stacked"),E>0&&(b.dataset.collapsed=`${o}`),b.dataset.pos||(b.dataset.pos=y?"top":"bot");const P=f*(o?.2:1)+(o?0:g*E);b.style.setProperty("--y",`${y?P:-1*P}px`),b.style.setProperty("--g",`${g}`),b.style.setProperty("--s",""+(1-(o?C:0))),f+=b.offsetHeight,C+=.025})}},[o,c,n]),cr.createElement("div",{ref:r,className:"Toastify",id:d,onMouseEnter:()=>{n&&(i(!1),zA.pause())},onMouseLeave:_},s((m,p)=>{const g=p.length?{...A}:{...A,pointerEvents:"none"};return cr.createElement("div",{className:h(m),style:g,key:`container-${m}`},p.map(y=>{let{content:f,props:C}=y;return cr.createElement(Ygo,{...C,stacked:n,collapseAll:_,isIn:a(C.toastId,C.containerId),style:C.style,key:`toast-${C.key}`},f)}))}))}function Xgo(){var t=':root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:hsla(0,0%,100%,.7);--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translateZ(var(--toastify-z-index));position:fixed;padding:4px;width:var(--toastify-toast-width);box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translateX(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;padding:0;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:auto}}.Toastify__toast{--y:0;position:relative;-ms-touch-action:none;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0;overflow:hidden}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{margin:auto 0;-ms-flex:1 1 auto;flex:1 1 auto;padding:6px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.Toastify__toast-body>div:last-child{word-break:break-word;-ms-flex:1;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;margin-inline-end:10px;width:20px;-ms-flex-negative:0;flex-shrink:0;display:-ms-flexbox;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}@media only screen and (max-width:480px){.Toastify__toast{margin-bottom:0;border-radius:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;-ms-flex-item-align:start;align-self:flex-start;z-index:1}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:auto;transform-origin:right;border-bottom-left-radius:0;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{position:absolute;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}',e=document.createElement("style");e.innerText=t,document.head.appendChild(e)}var _3e={exports:{}},h3e,F4t;function O4t(){return F4t||(F4t=1,h3e={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),h3e}var m3e={exports:{}},g3e,G4t;function Jgo(){return G4t||(G4t=1,g3e=function(e){return!e||typeof e=="string"?!1:e instanceof Array||Array.isArray(e)||e.length>=0&&(e.splice instanceof Function||Object.getOwnPropertyDescriptor(e,e.length-1)&&e.constructor.name!=="String")}),g3e}var U4t;function qgo(){if(U4t)return m3e.exports;U4t=1;var t=Jgo(),e=Array.prototype.concat,n=Array.prototype.slice,o=m3e.exports=function(r){for(var s=[],a=0,c=r.length;a<c;a++){var l=r[a];t(l)?s=e.call(s,n.call(l)):s.push(l)}return s};return o.wrap=function(i){return function(){return i(o(arguments))}},m3e.exports}var z4t;function $go(){if(z4t)return _3e.exports;z4t=1;var t=O4t(),e=qgo(),n=Object.hasOwnProperty,o=Object.create(null);for(var i in t)n.call(t,i)&&(o[t[i]]=i);var r=_3e.exports={to:{},get:{}};r.get=function(c){var l=c.substring(0,3).toLowerCase(),A,u;switch(l){case"hsl":A=r.get.hsl(c),u="hsl";break;case"hwb":A=r.get.hwb(c),u="hwb";break;default:A=r.get.rgb(c),u="rgb";break}return A?{model:u,value:A}:null},r.get.rgb=function(c){if(!c)return null;var l=/^#([a-f0-9]{3,4})$/i,A=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,u=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,d=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,h=/^(\w+)$/,_=[0,0,0,1],m,p,g;if(m=c.match(A)){for(g=m[2],m=m[1],p=0;p<3;p++){var y=p*2;_[p]=parseInt(m.slice(y,y+2),16)}g&&(_[3]=parseInt(g,16)/255)}else if(m=c.match(l)){for(m=m[1],g=m[3],p=0;p<3;p++)_[p]=parseInt(m[p]+m[p],16);g&&(_[3]=parseInt(g+g,16)/255)}else if(m=c.match(u)){for(p=0;p<3;p++)_[p]=parseInt(m[p+1],0);m[4]&&(m[5]?_[3]=parseFloat(m[4])*.01:_[3]=parseFloat(m[4]))}else if(m=c.match(d)){for(p=0;p<3;p++)_[p]=Math.round(parseFloat(m[p+1])*2.55);m[4]&&(m[5]?_[3]=parseFloat(m[4])*.01:_[3]=parseFloat(m[4]))}else return(m=c.match(h))?m[1]==="transparent"?[0,0,0,0]:n.call(t,m[1])?(_=t[m[1]],_[3]=1,_):null:null;for(p=0;p<3;p++)_[p]=s(_[p],0,255);return _[3]=s(_[3],0,1),_},r.get.hsl=function(c){if(!c)return null;var l=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,A=c.match(l);if(A){var u=parseFloat(A[4]),d=(parseFloat(A[1])%360+360)%360,h=s(parseFloat(A[2]),0,100),_=s(parseFloat(A[3]),0,100),m=s(isNaN(u)?1:u,0,1);return[d,h,_,m]}return null},r.get.hwb=function(c){if(!c)return null;var l=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,A=c.match(l);if(A){var u=parseFloat(A[4]),d=(parseFloat(A[1])%360+360)%360,h=s(parseFloat(A[2]),0,100),_=s(parseFloat(A[3]),0,100),m=s(isNaN(u)?1:u,0,1);return[d,h,_,m]}return null},r.to.hex=function(){var c=e(arguments);return"#"+a(c[0])+a(c[1])+a(c[2])+(c[3]<1?a(Math.round(c[3]*255)):"")},r.to.rgb=function(){var c=e(arguments);return c.length<4||c[3]===1?"rgb("+Math.round(c[0])+", "+Math.round(c[1])+", "+Math.round(c[2])+")":"rgba("+Math.round(c[0])+", "+Math.round(c[1])+", "+Math.round(c[2])+", "+c[3]+")"},r.to.rgb.percent=function(){var c=e(arguments),l=Math.round(c[0]/255*100),A=Math.round(c[1]/255*100),u=Math.round(c[2]/255*100);return c.length<4||c[3]===1?"rgb("+l+"%, "+A+"%, "+u+"%)":"rgba("+l+"%, "+A+"%, "+u+"%, "+c[3]+")"},r.to.hsl=function(){var c=e(arguments);return c.length<4||c[3]===1?"hsl("+c[0]+", "+c[1]+"%, "+c[2]+"%)":"hsla("+c[0]+", "+c[1]+"%, "+c[2]+"%, "+c[3]+")"},r.to.hwb=function(){var c=e(arguments),l="";return c.length>=4&&c[3]!==1&&(l=", "+c[3]),"hwb("+c[0]+", "+c[1]+"%, "+c[2]+"%"+l+")"},r.to.keyword=function(c){return o[c.slice(0,3)]};function s(c,l,A){return Math.min(Math.max(l,c),A)}function a(c){var l=Math.round(c).toString(16).toUpperCase();return l.length<2?"0"+l:l}return _3e.exports}var p3e,V4t;function Y4t(){if(V4t)return p3e;V4t=1;const t=O4t(),e={};for(const i of Object.keys(t))e[t[i]]=i;const n={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};p3e=n;for(const i of Object.keys(n)){if(!("channels"in n[i]))throw new Error("missing channels property: "+i);if(!("labels"in n[i]))throw new Error("missing channel labels property: "+i);if(n[i].labels.length!==n[i].channels)throw new Error("channel and label counts mismatch: "+i);const{channels:r,labels:s}=n[i];delete n[i].channels,delete n[i].labels,Object.defineProperty(n[i],"channels",{value:r}),Object.defineProperty(n[i],"labels",{value:s})}n.rgb.hsl=function(i){const r=i[0]/255,s=i[1]/255,a=i[2]/255,c=Math.min(r,s,a),l=Math.max(r,s,a),A=l-c;let u,d;l===c?u=0:r===l?u=(s-a)/A:s===l?u=2+(a-r)/A:a===l&&(u=4+(r-s)/A),u=Math.min(u*60,360),u<0&&(u+=360);const h=(c+l)/2;return l===c?d=0:h<=.5?d=A/(l+c):d=A/(2-l-c),[u,d*100,h*100]},n.rgb.hsv=function(i){let r,s,a,c,l;const A=i[0]/255,u=i[1]/255,d=i[2]/255,h=Math.max(A,u,d),_=h-Math.min(A,u,d),m=function(p){return(h-p)/6/_+1/2};return _===0?(c=0,l=0):(l=_/h,r=m(A),s=m(u),a=m(d),A===h?c=a-s:u===h?c=1/3+r-a:d===h&&(c=2/3+s-r),c<0?c+=1:c>1&&(c-=1)),[c*360,l*100,h*100]},n.rgb.hwb=function(i){const r=i[0],s=i[1];let a=i[2];const c=n.rgb.hsl(i)[0],l=1/255*Math.min(r,Math.min(s,a));return a=1-1/255*Math.max(r,Math.max(s,a)),[c,l*100,a*100]},n.rgb.cmyk=function(i){const r=i[0]/255,s=i[1]/255,a=i[2]/255,c=Math.min(1-r,1-s,1-a),l=(1-r-c)/(1-c)||0,A=(1-s-c)/(1-c)||0,u=(1-a-c)/(1-c)||0;return[l*100,A*100,u*100,c*100]};function o(i,r){return(i[0]-r[0])**2+(i[1]-r[1])**2+(i[2]-r[2])**2}return n.rgb.keyword=function(i){const r=e[i];if(r)return r;let s=1/0,a;for(const c of Object.keys(t)){const l=t[c],A=o(i,l);A<s&&(s=A,a=c)}return a},n.keyword.rgb=function(i){return t[i]},n.rgb.xyz=function(i){let r=i[0]/255,s=i[1]/255,a=i[2]/255;r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,s=s>.04045?((s+.055)/1.055)**2.4:s/12.92,a=a>.04045?((a+.055)/1.055)**2.4:a/12.92;const c=r*.4124+s*.3576+a*.1805,l=r*.2126+s*.7152+a*.0722,A=r*.0193+s*.1192+a*.9505;return[c*100,l*100,A*100]},n.rgb.lab=function(i){const r=n.rgb.xyz(i);let s=r[0],a=r[1],c=r[2];s/=95.047,a/=100,c/=108.883,s=s>.008856?s**(1/3):7.787*s+16/116,a=a>.008856?a**(1/3):7.787*a+16/116,c=c>.008856?c**(1/3):7.787*c+16/116;const l=116*a-16,A=500*(s-a),u=200*(a-c);return[l,A,u]},n.hsl.rgb=function(i){const r=i[0]/360,s=i[1]/100,a=i[2]/100;let c,l,A;if(s===0)return A=a*255,[A,A,A];a<.5?c=a*(1+s):c=a+s-a*s;const u=2*a-c,d=[0,0,0];for(let h=0;h<3;h++)l=r+1/3*-(h-1),l<0&&l++,l>1&&l--,6*l<1?A=u+(c-u)*6*l:2*l<1?A=c:3*l<2?A=u+(c-u)*(2/3-l)*6:A=u,d[h]=A*255;return d},n.hsl.hsv=function(i){const r=i[0];let s=i[1]/100,a=i[2]/100,c=s;const l=Math.max(a,.01);a*=2,s*=a<=1?a:2-a,c*=l<=1?l:2-l;const A=(a+s)/2,u=a===0?2*c/(l+c):2*s/(a+s);return[r,u*100,A*100]},n.hsv.rgb=function(i){const r=i[0]/60,s=i[1]/100;let a=i[2]/100;const c=Math.floor(r)%6,l=r-Math.floor(r),A=255*a*(1-s),u=255*a*(1-s*l),d=255*a*(1-s*(1-l));switch(a*=255,c){case 0:return[a,d,A];case 1:return[u,a,A];case 2:return[A,a,d];case 3:return[A,u,a];case 4:return[d,A,a];case 5:return[a,A,u]}},n.hsv.hsl=function(i){const r=i[0],s=i[1]/100,a=i[2]/100,c=Math.max(a,.01);let l,A;A=(2-s)*a;const u=(2-s)*c;return l=s*c,l/=u<=1?u:2-u,l=l||0,A/=2,[r,l*100,A*100]},n.hwb.rgb=function(i){const r=i[0]/360;let s=i[1]/100,a=i[2]/100;const c=s+a;let l;c>1&&(s/=c,a/=c);const A=Math.floor(6*r),u=1-a;l=6*r-A,(A&1)!==0&&(l=1-l);const d=s+l*(u-s);let h,_,m;switch(A){default:case 6:case 0:h=u,_=d,m=s;break;case 1:h=d,_=u,m=s;break;case 2:h=s,_=u,m=d;break;case 3:h=s,_=d,m=u;break;case 4:h=d,_=s,m=u;break;case 5:h=u,_=s,m=d;break}return[h*255,_*255,m*255]},n.cmyk.rgb=function(i){const r=i[0]/100,s=i[1]/100,a=i[2]/100,c=i[3]/100,l=1-Math.min(1,r*(1-c)+c),A=1-Math.min(1,s*(1-c)+c),u=1-Math.min(1,a*(1-c)+c);return[l*255,A*255,u*255]},n.xyz.rgb=function(i){const r=i[0]/100,s=i[1]/100,a=i[2]/100;let c,l,A;return c=r*3.2406+s*-1.5372+a*-.4986,l=r*-.9689+s*1.8758+a*.0415,A=r*.0557+s*-.204+a*1.057,c=c>.0031308?1.055*c**(1/2.4)-.055:c*12.92,l=l>.0031308?1.055*l**(1/2.4)-.055:l*12.92,A=A>.0031308?1.055*A**(1/2.4)-.055:A*12.92,c=Math.min(Math.max(0,c),1),l=Math.min(Math.max(0,l),1),A=Math.min(Math.max(0,A),1),[c*255,l*255,A*255]},n.xyz.lab=function(i){let r=i[0],s=i[1],a=i[2];r/=95.047,s/=100,a/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,s=s>.008856?s**(1/3):7.787*s+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;const c=116*s-16,l=500*(r-s),A=200*(s-a);return[c,l,A]},n.lab.xyz=function(i){const r=i[0],s=i[1],a=i[2];let c,l,A;l=(r+16)/116,c=s/500+l,A=l-a/200;const u=l**3,d=c**3,h=A**3;return l=u>.008856?u:(l-16/116)/7.787,c=d>.008856?d:(c-16/116)/7.787,A=h>.008856?h:(A-16/116)/7.787,c*=95.047,l*=100,A*=108.883,[c,l,A]},n.lab.lch=function(i){const r=i[0],s=i[1],a=i[2];let c;c=Math.atan2(a,s)*360/2/Math.PI,c<0&&(c+=360);const A=Math.sqrt(s*s+a*a);return[r,A,c]},n.lch.lab=function(i){const r=i[0],s=i[1],c=i[2]/360*2*Math.PI,l=s*Math.cos(c),A=s*Math.sin(c);return[r,l,A]},n.rgb.ansi16=function(i,r=null){const[s,a,c]=i;let l=r===null?n.rgb.hsv(i)[2]:r;if(l=Math.round(l/50),l===0)return 30;let A=30+(Math.round(c/255)<<2|Math.round(a/255)<<1|Math.round(s/255));return l===2&&(A+=60),A},n.hsv.ansi16=function(i){return n.rgb.ansi16(n.hsv.rgb(i),i[2])},n.rgb.ansi256=function(i){const r=i[0],s=i[1],a=i[2];return r===s&&s===a?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(s/255*5)+Math.round(a/255*5)},n.ansi16.rgb=function(i){let r=i%10;if(r===0||r===7)return i>50&&(r+=3.5),r=r/10.5*255,[r,r,r];const s=(~~(i>50)+1)*.5,a=(r&1)*s*255,c=(r>>1&1)*s*255,l=(r>>2&1)*s*255;return[a,c,l]},n.ansi256.rgb=function(i){if(i>=232){const l=(i-232)*10+8;return[l,l,l]}i-=16;let r;const s=Math.floor(i/36)/5*255,a=Math.floor((r=i%36)/6)/5*255,c=r%6/5*255;return[s,a,c]},n.rgb.hex=function(i){const s=(((Math.round(i[0])&255)<<16)+((Math.round(i[1])&255)<<8)+(Math.round(i[2])&255)).toString(16).toUpperCase();return"000000".substring(s.length)+s},n.hex.rgb=function(i){const r=i.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!r)return[0,0,0];let s=r[0];r[0].length===3&&(s=s.split("").map(u=>u+u).join(""));const a=parseInt(s,16),c=a>>16&255,l=a>>8&255,A=a&255;return[c,l,A]},n.rgb.hcg=function(i){const r=i[0]/255,s=i[1]/255,a=i[2]/255,c=Math.max(Math.max(r,s),a),l=Math.min(Math.min(r,s),a),A=c-l;let u,d;return A<1?u=l/(1-A):u=0,A<=0?d=0:c===r?d=(s-a)/A%6:c===s?d=2+(a-r)/A:d=4+(r-s)/A,d/=6,d%=1,[d*360,A*100,u*100]},n.hsl.hcg=function(i){const r=i[1]/100,s=i[2]/100,a=s<.5?2*r*s:2*r*(1-s);let c=0;return a<1&&(c=(s-.5*a)/(1-a)),[i[0],a*100,c*100]},n.hsv.hcg=function(i){const r=i[1]/100,s=i[2]/100,a=r*s;let c=0;return a<1&&(c=(s-a)/(1-a)),[i[0],a*100,c*100]},n.hcg.rgb=function(i){const r=i[0]/360,s=i[1]/100,a=i[2]/100;if(s===0)return[a*255,a*255,a*255];const c=[0,0,0],l=r%1*6,A=l%1,u=1-A;let d=0;switch(Math.floor(l)){case 0:c[0]=1,c[1]=A,c[2]=0;break;case 1:c[0]=u,c[1]=1,c[2]=0;break;case 2:c[0]=0,c[1]=1,c[2]=A;break;case 3:c[0]=0,c[1]=u,c[2]=1;break;case 4:c[0]=A,c[1]=0,c[2]=1;break;default:c[0]=1,c[1]=0,c[2]=u}return d=(1-s)*a,[(s*c[0]+d)*255,(s*c[1]+d)*255,(s*c[2]+d)*255]},n.hcg.hsv=function(i){const r=i[1]/100,s=i[2]/100,a=r+s*(1-r);let c=0;return a>0&&(c=r/a),[i[0],c*100,a*100]},n.hcg.hsl=function(i){const r=i[1]/100,a=i[2]/100*(1-r)+.5*r;let c=0;return a>0&&a<.5?c=r/(2*a):a>=.5&&a<1&&(c=r/(2*(1-a))),[i[0],c*100,a*100]},n.hcg.hwb=function(i){const r=i[1]/100,s=i[2]/100,a=r+s*(1-r);return[i[0],(a-r)*100,(1-a)*100]},n.hwb.hcg=function(i){const r=i[1]/100,a=1-i[2]/100,c=a-r;let l=0;return c<1&&(l=(a-c)/(1-c)),[i[0],c*100,l*100]},n.apple.rgb=function(i){return[i[0]/65535*255,i[1]/65535*255,i[2]/65535*255]},n.rgb.apple=function(i){return[i[0]/255*65535,i[1]/255*65535,i[2]/255*65535]},n.gray.rgb=function(i){return[i[0]/100*255,i[0]/100*255,i[0]/100*255]},n.gray.hsl=function(i){return[0,0,i[0]]},n.gray.hsv=n.gray.hsl,n.gray.hwb=function(i){return[0,100,i[0]]},n.gray.cmyk=function(i){return[0,0,0,i[0]]},n.gray.lab=function(i){return[i[0],0,0]},n.gray.hex=function(i){const r=Math.round(i[0]/100*255)&255,a=((r<<16)+(r<<8)+r).toString(16).toUpperCase();return"000000".substring(a.length)+a},n.rgb.gray=function(i){return[(i[0]+i[1]+i[2])/3/255*100]},p3e}var f3e,K4t;function Zgo(){if(K4t)return f3e;K4t=1;const t=Y4t();function e(){const r={},s=Object.keys(t);for(let a=s.length,c=0;c<a;c++)r[s[c]]={distance:-1,parent:null};return r}function n(r){const s=e(),a=[r];for(s[r].distance=0;a.length;){const c=a.pop(),l=Object.keys(t[c]);for(let A=l.length,u=0;u<A;u++){const d=l[u],h=s[d];h.distance===-1&&(h.distance=s[c].distance+1,h.parent=c,a.unshift(d))}}return s}function o(r,s){return function(a){return s(r(a))}}function i(r,s){const a=[s[r].parent,r];let c=t[s[r].parent][r],l=s[r].parent;for(;s[l].parent;)a.unshift(s[l].parent),c=o(t[s[l].parent][l],c),l=s[l].parent;return c.conversion=a,c}return f3e=function(r){const s=n(r),a={},c=Object.keys(s);for(let l=c.length,A=0;A<l;A++){const u=c[A];s[u].parent!==null&&(a[u]=i(u,s))}return a},f3e}var y3e,W4t;function epo(){if(W4t)return y3e;W4t=1;const t=Y4t(),e=Zgo(),n={},o=Object.keys(t);function i(s){const a=function(...c){const l=c[0];return l==null?l:(l.length>1&&(c=l),s(c))};return"conversion"in s&&(a.conversion=s.conversion),a}function r(s){const a=function(...c){const l=c[0];if(l==null)return l;l.length>1&&(c=l);const A=s(c);if(typeof A=="object")for(let u=A.length,d=0;d<u;d++)A[d]=Math.round(A[d]);return A};return"conversion"in s&&(a.conversion=s.conversion),a}return o.forEach(s=>{n[s]={},Object.defineProperty(n[s],"channels",{value:t[s].channels}),Object.defineProperty(n[s],"labels",{value:t[s].labels});const a=e(s);Object.keys(a).forEach(l=>{const A=a[l];n[s][l]=r(A),n[s][l].raw=i(A)})}),y3e=n,y3e}var C3e,j4t;function tpo(){if(j4t)return C3e;j4t=1;const t=$go(),e=epo(),n=["keyword","gray","hex"],o={};for(const d of Object.keys(e))o[[...e[d].labels].sort().join("")]=d;const i={};function r(d,h){if(!(this instanceof r))return new r(d,h);if(h&&h in n&&(h=null),h&&!(h in e))throw new Error("Unknown model: "+h);let _,m;if(d==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(d instanceof r)this.model=d.model,this.color=[...d.color],this.valpha=d.valpha;else if(typeof d=="string"){const p=t.get(d);if(p===null)throw new Error("Unable to parse color from string: "+d);this.model=p.model,m=e[this.model].channels,this.color=p.value.slice(0,m),this.valpha=typeof p.value[m]=="number"?p.value[m]:1}else if(d.length>0){this.model=h||"rgb",m=e[this.model].channels;const p=Array.prototype.slice.call(d,0,m);this.color=u(p,m),this.valpha=typeof d[m]=="number"?d[m]:1}else if(typeof d=="number")this.model="rgb",this.color=[d>>16&255,d>>8&255,d&255],this.valpha=1;else{this.valpha=1;const p=Object.keys(d);"alpha"in d&&(p.splice(p.indexOf("alpha"),1),this.valpha=typeof d.alpha=="number"?d.alpha:0);const g=p.sort().join("");if(!(g in o))throw new Error("Unable to parse color from object: "+JSON.stringify(d));this.model=o[g];const{labels:y}=e[this.model],f=[];for(_=0;_<y.length;_++)f.push(d[y[_]]);this.color=u(f)}if(i[this.model])for(m=e[this.model].channels,_=0;_<m;_++){const p=i[this.model][_];p&&(this.color[_]=p(this.color[_]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}r.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(d){let h=this.model in t.to?this:this.rgb();h=h.round(typeof d=="number"?d:1);const _=h.valpha===1?h.color:[...h.color,this.valpha];return t.to[h.model](_)},percentString(d){const h=this.rgb().round(typeof d=="number"?d:1),_=h.valpha===1?h.color:[...h.color,this.valpha];return t.to.rgb.percent(_)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){const d={},{channels:h}=e[this.model],{labels:_}=e[this.model];for(let m=0;m<h;m++)d[_[m]]=this.color[m];return this.valpha!==1&&(d.alpha=this.valpha),d},unitArray(){const d=this.rgb().color;return d[0]/=255,d[1]/=255,d[2]/=255,this.valpha!==1&&d.push(this.valpha),d},unitObject(){const d=this.rgb().object();return d.r/=255,d.g/=255,d.b/=255,this.valpha!==1&&(d.alpha=this.valpha),d},round(d){return d=Math.max(d||0,0),new r([...this.color.map(a(d)),this.valpha],this.model)},alpha(d){return d!==void 0?new r([...this.color,Math.max(0,Math.min(1,d))],this.model):this.valpha},red:c("rgb",0,l(255)),green:c("rgb",1,l(255)),blue:c("rgb",2,l(255)),hue:c(["hsl","hsv","hsl","hwb","hcg"],0,d=>(d%360+360)%360),saturationl:c("hsl",1,l(100)),lightness:c("hsl",2,l(100)),saturationv:c("hsv",1,l(100)),value:c("hsv",2,l(100)),chroma:c("hcg",1,l(100)),gray:c("hcg",2,l(100)),white:c("hwb",1,l(100)),wblack:c("hwb",2,l(100)),cyan:c("cmyk",0,l(100)),magenta:c("cmyk",1,l(100)),yellow:c("cmyk",2,l(100)),black:c("cmyk",3,l(100)),x:c("xyz",0,l(95.047)),y:c("xyz",1,l(100)),z:c("xyz",2,l(108.833)),l:c("lab",0,l(100)),a:c("lab",1),b:c("lab",2),keyword(d){return d!==void 0?new r(d):e[this.model].keyword(this.color)},hex(d){return d!==void 0?new r(d):t.to.hex(this.rgb().round().color)},hexa(d){if(d!==void 0)return new r(d);const h=this.rgb().round().color;let _=Math.round(this.valpha*255).toString(16).toUpperCase();return _.length===1&&(_="0"+_),t.to.hex(h)+_},rgbNumber(){const d=this.rgb().color;return(d[0]&255)<<16|(d[1]&255)<<8|d[2]&255},luminosity(){const d=this.rgb().color,h=[];for(const[_,m]of d.entries()){const p=m/255;h[_]=p<=.04045?p/12.92:((p+.055)/1.055)**2.4}return .2126*h[0]+.7152*h[1]+.0722*h[2]},contrast(d){const h=this.luminosity(),_=d.luminosity();return h>_?(h+.05)/(_+.05):(_+.05)/(h+.05)},level(d){const h=this.contrast(d);return h>=7?"AAA":h>=4.5?"AA":""},isDark(){const d=this.rgb().color;return(d[0]*2126+d[1]*7152+d[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){const d=this.rgb();for(let h=0;h<3;h++)d.color[h]=255-d.color[h];return d},lighten(d){const h=this.hsl();return h.color[2]+=h.color[2]*d,h},darken(d){const h=this.hsl();return h.color[2]-=h.color[2]*d,h},saturate(d){const h=this.hsl();return h.color[1]+=h.color[1]*d,h},desaturate(d){const h=this.hsl();return h.color[1]-=h.color[1]*d,h},whiten(d){const h=this.hwb();return h.color[1]+=h.color[1]*d,h},blacken(d){const h=this.hwb();return h.color[2]+=h.color[2]*d,h},grayscale(){const d=this.rgb().color,h=d[0]*.3+d[1]*.59+d[2]*.11;return r.rgb(h,h,h)},fade(d){return this.alpha(this.valpha-this.valpha*d)},opaquer(d){return this.alpha(this.valpha+this.valpha*d)},rotate(d){const h=this.hsl();let _=h.color[0];return _=(_+d)%360,_=_<0?360+_:_,h.color[0]=_,h},mix(d,h){if(!d||!d.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof d);const _=d.rgb(),m=this.rgb(),p=h===void 0?.5:h,g=2*p-1,y=_.alpha()-m.alpha(),f=((g*y===-1?g:(g+y)/(1+g*y))+1)/2,C=1-f;return r.rgb(f*_.red()+C*m.red(),f*_.green()+C*m.green(),f*_.blue()+C*m.blue(),_.alpha()*p+m.alpha()*(1-p))}};for(const d of Object.keys(e)){if(n.includes(d))continue;const{channels:h}=e[d];r.prototype[d]=function(..._){return this.model===d?new r(this):_.length>0?new r(_,d):new r([...A(e[this.model][d].raw(this.color)),this.valpha],d)},r[d]=function(..._){let m=_[0];return typeof m=="number"&&(m=u(_,h)),new r(m,d)}}function s(d,h){return Number(d.toFixed(h))}function a(d){return function(h){return s(h,d)}}function c(d,h,_){d=Array.isArray(d)?d:[d];for(const m of d)(i[m]||(i[m]=[]))[h]=_;return d=d[0],function(m){let p;return m!==void 0?(_&&(m=_(m)),p=this[d](),p.color[h]=m,p):(p=this[d]().color[h],_&&(p=_(p)),p)}}function l(d){return function(h){return Math.max(0,Math.min(d,h))}}function A(d){return Array.isArray(d)?d:[d]}function u(d,h){for(let _=0;_<h;_++)typeof d[_]!="number"&&(d[_]=0);return d}return C3e=r,C3e}var npo=tpo();const ul=c2(npo);function So(t,e){return Array.isArray(e)?[t.a*e[0]+t.c*e[1]+t.e,t.b*e[0]+t.d*e[1]+t.f]:{x:t.a*e.x+t.c*e.y+t.e,y:t.b*e.x+t.d*e.y+t.f}}function opo(){return{a:1,c:0,e:0,b:0,d:1,f:0}}function UF(t){return typeof t>"u"}function JP(t,e=0){return{a:1,c:0,e:t,b:0,d:1,f:e}}function JZ(...t){t=Array.isArray(t[0])?t[0]:t;const e=(n,o)=>({a:n.a*o.a+n.c*o.b,c:n.a*o.c+n.c*o.d,e:n.a*o.e+n.c*o.f+n.e,b:n.b*o.a+n.d*o.b,d:n.b*o.c+n.d*o.d,f:n.b*o.e+n.d*o.f+n.f});switch(t.length){case 0:throw new Error("no matrices provided");case 1:return t[0];case 2:return e(t[0],t[1]);default:{const[n,o,...i]=t,r=e(n,o);return JZ(r,...i)}}}function x3e(...t){return JZ(...t)}const{cos:ipo,sin:rpo}=Math;function X4t(t,e,n){const o=ipo(t),i=rpo(t),r={a:o,c:-i,e:0,b:i,d:o,f:0};return UF(e)||UF(n)?r:JZ([JP(e,n),r,JP(-e,-n)])}function spo(t,e=void 0,n=void 0,o=void 0){UF(e)&&(e=t);const i={a:t,c:0,e:0,b:0,d:e,f:0};return UF(n)||UF(o)?i:JZ([JP(n,o),i,JP(-n,-o)])}function qZ(t){const{ctx:e,points:n,fill:o,stroke:i,strokeWidth:r=1,minStrokePx:s,realToCanvasMat:a,closePath:c=!1}=t;if(n.length<2)return;e.beginPath();const l=n.map(h=>So(a,[h.x,h.y])),A=l[0];if(!A)return;const[u,d]=A;e.moveTo(u,d);for(let h=1;h<l.length;h++){const _=l[h];if(!_)continue;const[m,p]=_;e.lineTo(m,p)}if(c&&e.closePath(),o&&(e.fillStyle=o,e.fill()),i){const h=r*Math.abs(a.a),_=s===void 0?h:Math.max(h,s);e.strokeStyle=i,e.lineWidth=_,e.stroke()}}function Gh(t){const{ctx:e,center:n,width:o,height:i,fill:r,realToCanvasMat:s,borderRadius:a=0,ccwRotationDegrees:c=0,stroke:l,strokeWidth:A,isStrokeDashed:u=!1,lineJoin:d}=t,[h,_]=So(s,[n.x,n.y]),m=o*Math.abs(s.a),p=i*Math.abs(s.a),g=a*Math.abs(s.a),y=A?A*Math.abs(s.a):void 0;if(e.save(),e.translate(h,_),c!==0&&e.rotate(-c*(Math.PI/180)),e.beginPath(),g>0){const f=-m/2,C=-p/2,I=Math.min(g,m/2,p/2);e.moveTo(f+I,C),e.lineTo(f+m-I,C),e.arcTo(f+m,C,f+m,C+I,I),e.lineTo(f+m,C+p-I),e.arcTo(f+m,C+p,f+m-I,C+p,I),e.lineTo(f+I,C+p),e.arcTo(f,C+p,f,C+p-I,I),e.lineTo(f,C+I),e.arcTo(f,C,f+I,C,I)}else e.rect(-m/2,-p/2,m,p);r&&(e.fillStyle=r,e.fill()),l&&y&&(u?e.setLineDash([y*3,y*2]):e.setLineDash([]),d&&(e.lineJoin=d),e.strokeStyle=l,e.lineWidth=y,e.stroke()),e.restore()}function apo(t){const{ctx:e,board:n,realToCanvasMat:o,colorMap:i,drawBoardMaterial:r,minBoardOutlineStrokePx:s}=t,{width:a,height:c,center:l,outline:A}=n;if(A&&Array.isArray(A)&&A.length>=3){r&&qZ({ctx:e,points:A.map(u=>({x:u.x,y:u.y})),fill:i.substrate,realToCanvasMat:o,closePath:!0}),qZ({ctx:e,points:A.map(u=>({x:u.x,y:u.y})),stroke:i.boardOutline,strokeWidth:.1,realToCanvasMat:o,closePath:!0,minStrokePx:s});return}if(a!==void 0&&c!==void 0&&l){r&&Gh({ctx:e,center:l,width:a,height:c,fill:i.substrate,realToCanvasMat:o});const u=a/2,d=c/2,h=[{x:l.x-u,y:l.y-d},{x:l.x+u,y:l.y-d},{x:l.x+u,y:l.y+d},{x:l.x-u,y:l.y+d}];qZ({ctx:e,points:h,stroke:i.boardOutline,strokeWidth:.1,realToCanvasMat:o,closePath:!0,minStrokePx:s})}}function qP(t){const{ctx:e,points:n,fill:o,realToCanvasMat:i}=t;if(n.length<3)return;e.beginPath();const r=n.map(l=>So(i,[l.x,l.y])),s=r[0];if(!s)return;const[a,c]=s;e.moveTo(a,c);for(let l=1;l<r.length;l++){const A=r[l];if(!A)continue;const[u,d]=A;e.lineTo(u,d)}e.closePath(),e.fillStyle=o,e.fill()}function cpo(t,e){return e.copper[t]??e.copper.top}function lpo(t,e,n,o,i){if(Math.abs(i)<1e-10)return null;const r=n-t,s=o-e,a=Math.hypot(r,s);if(a<1e-10)return null;const c=Math.abs(i)*(a/2),l=a/2,A=(c*c+l*l)/(2*c),u=A-c,d=(t+n)/2,h=(e+o)/2,_=-s/a,m=r/a,p=i>0?-1:1,g=d+p*_*u,y=h+p*m*u;return{centerX:g,centerY:y,radius:A}}function I3e(t,e,n,o,i,r,s){if(Math.abs(r)<1e-10){const[C,I]=So(s,[o,i]);t.lineTo(C,I);return}const a=lpo(e,n,o,i,r);if(!a){const[C,I]=So(s,[o,i]);t.lineTo(C,I);return}const[c,l]=So(s,[e,n]),[A,u]=So(s,[o,i]),[d,h]=So(s,[a.centerX,a.centerY]),_=Math.hypot(c-d,l-h),m=Math.atan2(l-h,c-d),p=Math.atan2(u-h,A-d),y=s.a*s.d-s.b*s.c<0,f=r>0?!y:y;t.arc(d,h,_,m,p,f)}function J4t(t,e,n){if(e.vertices.length<2)return;if(e.vertices.length===2){const s=e.vertices[0],a=e.vertices[1];if(s&&a&&Math.abs((s.bulge??0)-1)<1e-10&&Math.abs((a.bulge??0)-1)<1e-10){const[c,l]=So(n,[s.x,s.y]);t.moveTo(c,l),I3e(t,s.x,s.y,a.x,a.y,1,n),I3e(t,a.x,a.y,s.x,s.y,1,n);return}}const o=e.vertices[0];if(!o)return;const[i,r]=So(n,[o.x,o.y]);t.moveTo(i,r);for(let s=0;s<e.vertices.length;s++){const a=e.vertices[s],c=(s+1)%e.vertices.length,l=e.vertices[c];if(!a||!l)continue;const A=a.bulge??0;if(Math.abs(A)<1e-10){const[u,d]=So(n,[l.x,l.y]);t.lineTo(u,d)}else I3e(t,a.x,a.y,l.x,l.y,A,n)}}function Apo(t){const{ctx:e,pour:n,realToCanvasMat:o,colorMap:i}=t,r=cpo(n.layer,i),s=.5;if(e.save(),e.globalAlpha=s,n.shape==="rect"){const[a,c]=So(o,[n.center.x,n.center.y]),l=n.width*Math.abs(o.a),A=n.height*Math.abs(o.a);e.translate(a,c),n.rotation&&e.rotate(-n.rotation*(Math.PI/180)),e.beginPath(),e.rect(-l/2,-A/2,l,A),e.fillStyle=r,e.fill(),e.restore();return}if(n.shape==="polygon"){if(n.points&&n.points.length>=3){const a=n.points.map(u=>So(o,[u.x,u.y])),c=a[0];if(!c){e.restore();return}e.beginPath();const[l,A]=c;e.moveTo(l,A);for(let u=1;u<a.length;u++){const d=a[u];if(!d)continue;const[h,_]=d;e.lineTo(h,_)}e.closePath(),e.fillStyle=r,e.fill()}e.restore();return}if(n.shape==="brep"){if(e.beginPath(),J4t(e,n.brep_shape.outer_ring,o),n.brep_shape.inner_rings)for(const a of n.brep_shape.inner_rings)J4t(e,a,o);e.fillStyle=r,e.fill("evenodd"),e.restore();return}e.restore()}function upo(t,e){if(e.length<3)return;const n=e[0];if(n){t.moveTo(n.x,n.y);for(let o=1;o<e.length;o++){const i=e[o];i&&t.lineTo(i.x,i.y)}t.closePath()}}var dpo=t=>rmt[t]??(t===" "?Sf.spaceWidthRatio:Sf.glyphWidthRatio);function E3e(t,e,n){const o=dpo(t),i=e?Sf.letterSpacingRatio:0,r=e?smt[t]?.[e]??0:0;return n*(o+i+r)}function _po(t,e){const n=e*Sf.glyphWidthRatio,o=e*Sf.letterSpacingRatio,i=e*Sf.spaceWidthRatio,r=e*Sf.strokeWidthRatio,s=e*Sf.lineHeightRatio,a=t.replace(/\\n/g,`
5621
5621
  `).split(`
5622
5622
  `),c=a.map(u=>{const d=Array.from(u);return d.reduce((h,_,m)=>h+E3e(_,d[m+1],e),0)}),l=c.reduce((u,d)=>Math.max(u,d),0),A=a.length>1?e+(a.length-1)*s:e;return{width:l,height:A,glyphWidth:n,letterSpacing:o,spaceWidth:i,strokeWidth:r,lineHeight:s,lines:a,lineWidths:c}}function hpo(t){const{line:e,fontSize:n,startX:o,startY:i}=t,r=n,s=n,a=Array.from(e),c=[];let l=o+t.layout.strokeWidth/2;return a.forEach((A,u)=>{const d=amt[A];if(d?.length){const h=[];for(const _ of d){const m=_.map(p=>({x:l+p.x*s,y:i+(1-p.y)*r}));m.length>=3&&h.push(m)}h.length>0&&c.push(h)}l+=E3e(A,a[u+1],n)}),c}function mpo(t){let e=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;for(const r of t)for(const s of r)e=Math.min(e,s.x),n=Math.min(n,s.y),o=Math.max(o,s.x),i=Math.max(i,s.y);return e===Number.POSITIVE_INFINITY||n===Number.POSITIVE_INFINITY||o===Number.NEGATIVE_INFINITY||i===Number.NEGATIVE_INFINITY?null:{minX:e,minY:n,maxX:o,maxY:i}}function gpo(t,e){const n=e.width+e.strokeWidth,o=e.height+e.strokeWidth;let i=0,r=0;return t==="center"||t==="top_center"||t==="bottom_center"?i=-n/2:t==="top_left"||t==="bottom_left"||t==="center_left"?i=0:t==="top_right"||t==="bottom_right"||t==="center_right"?i=-n:(t==="top_center"||t==="bottom_center")&&(i=-n/2),t==="center"||t==="center_left"||t==="center_right"?r=-o/2:t==="top_left"||t==="top_right"||t==="top_center"?r=0:(t==="bottom_left"||t==="bottom_right"||t==="bottom_center")&&(r=-o),{x:i,y:r}}function q4t(t){const{alignment:e,lineWidth:n,maxWidth:o,strokeWidth:i}=t,r=n+i,s=o+i;return e==="top_left"||e==="bottom_left"||e==="center_left"?0:e==="top_right"||e==="bottom_right"||e==="center_right"?s-r:(s-r)/2}var ppo=t=>imt[t];function fpo(t){const{ctx:e,line:n,fontSize:o,startX:i,startY:r,layout:s}=t,{strokeWidth:a}=s,c=o,l=o,A=r,u=Array.from(n);let d=i+a/2;u.forEach((h,_)=>{const m=ppo(h);if(m?.length){e.beginPath();for(const p of m){const g=d+p.x1*l,y=A+(1-p.y1)*c,f=d+p.x2*l,C=A+(1-p.y2)*c;e.moveTo(g,y),e.lineTo(f,C)}e.stroke()}d+=E3e(h,u[_+1],o)})}var ypo={left:.2,right:.2,top:.2,bottom:.2};function zF(t){const{ctx:e,text:n,x:o,y:i,fontSize:r,color:s,realToCanvasMat:a,anchorAlignment:c,rotation:l=0,mirrorX:A=!1,knockout:u=!1,knockoutPadding:d={}}=t;if(!n)return;const[h,_]=So(a,[o,i]),m=Math.abs(a.a),p=r*m,g=_po(n,p),y=gpo(c,g),{lines:f,lineWidths:C,lineHeight:I,width:E,strokeWidth:b}=g;if(e.save(),e.translate(h,_),l!==0&&e.rotate(-l*(Math.PI/180)),A&&e.scale(-1,1),u){const P={...ypo,...d},B=P.left*m,w=P.right*m,k=P.top*m,N=P.bottom*m,L=[],O=[];for(const[Ae,Z]of f.entries()){const re=y.x+q4t({alignment:c,lineWidth:C[Ae],maxWidth:E,strokeWidth:b}),ae=y.y+Ae*I,ce=hpo({line:Z,fontSize:p,startX:re,startY:ae,layout:g});O.push(...ce);for(const pe of ce)L.push(...pe)}const G=mpo(L);if(!G){e.restore();return}const K=G.minX-B,j=G.minY-k,$=G.maxX-G.minX+B+w,oe=G.maxY-G.minY+k+N;e.fillStyle=s,e.beginPath(),e.rect(K,j,$,oe);for(const Ae of O)for(const Z of Ae)upo(e,Z);e.fill("evenodd")}else e.strokeStyle=s;e.lineWidth=g.strokeWidth,e.lineCap="round",e.lineJoin="round",u||f.forEach((P,B)=>{const w=y.x+q4t({alignment:c,lineWidth:C[B],maxWidth:E,strokeWidth:b}),k=y.y+B*I;fpo({ctx:e,line:P,fontSize:p,startX:w,startY:k,layout:g})}),e.restore()}function Cpo(t){return t?t.includes("left")?"center_left":t.includes("right")?"center_right":"center":"center"}function xpo(t){const{ctx:e,text:n,realToCanvasMat:o,colorMap:i}=t,r=n.text??"";r&&zF({ctx:e,text:r,x:n.anchor_position.x,y:n.anchor_position.y,fontSize:n.font_size??1,color:i.copper[n.layer]??i.copper.top,realToCanvasMat:o,anchorAlignment:Cpo(n.anchor_alignment),rotation:n.ccw_rotation??0,mirrorX:n.is_mirrored??n.layer==="bottom",knockout:n.is_knockout,knockoutPadding:n.is_knockout?n.knockout_padding:void 0})}function Uh(t){const{ctx:e,center:n,radius:o,fill:i,realToCanvasMat:r,stroke:s,strokeWidth:a,isStrokeDashed:c=!1}=t,[l,A]=So(r,[n.x,n.y]),u=o*Math.abs(r.a),d=a?a*Math.abs(r.a):void 0;e.beginPath(),e.arc(l,A,u,0,Math.PI*2),i&&(e.fillStyle=i,e.fill()),s&&d&&(c?e.setLineDash([d*3,d*2]):e.setLineDash([]),e.strokeStyle=s,e.lineWidth=d,e.stroke())}function Ipo(t,e){return t==="bottom"?e.courtyard.bottom:e.courtyard.top}function Epo(t){const{ctx:e,circle:n,realToCanvasMat:o,colorMap:i}=t;Uh({ctx:e,center:n.center,radius:n.radius,stroke:Ipo(n.layer,i),strokeWidth:.05,realToCanvasMat:o})}function bpo(t,e){return t==="bottom"?e.courtyard.bottom:e.courtyard.top}function Spo(t){const{ctx:e,outline:n,realToCanvasMat:o,colorMap:i}=t;if(!n.outline||n.outline.length<2)return;e.beginPath();const r=So(o,n.outline[0]);e.moveTo(r.x,r.y);for(let s=1;s<n.outline.length;s++){const a=So(o,n.outline[s]);e.lineTo(a.x,a.y)}e.closePath(),e.lineWidth=.05*Math.abs(o.a),e.strokeStyle=bpo(n.layer,i),e.lineJoin="round",e.stroke()}function Ppo(t,e){return t==="bottom"?e.courtyard.bottom:e.courtyard.top}function vpo(t){const{ctx:e,rect:n,realToCanvasMat:o,colorMap:i}=t;Gh({ctx:e,center:n.center,width:n.width,height:n.height,stroke:Ppo(n.layer,i),strokeWidth:.05,realToCanvasMat:o,ccwRotationDegrees:n.ccw_rotation??0,lineJoin:"round"})}function Bpo(t){const{ctx:e,cutout:n,realToCanvasMat:o,colorMap:i}=t;if(n.shape==="rect"){Gh({ctx:e,center:n.center,width:n.width,height:n.height,fill:i.drill,realToCanvasMat:o,ccwRotationDegrees:n.rotation??0,borderRadius:n.corner_radius??0});return}if(n.shape==="circle"){Uh({ctx:e,center:n.center,radius:n.radius,fill:i.drill,realToCanvasMat:o});return}if(n.shape==="polygon"){n.points&&n.points.length>=3&&qP({ctx:e,points:n.points,fill:i.drill,realToCanvasMat:o});return}}var Mpo=1.5,wpo=.6,Dpo=.3;function b3e(t){const e=Math.hypot(t.x,t.y)||1;return{x:t.x/e,y:t.y/e}}function $4t(t){const{ctx:e,from:n,to:o,realToCanvasMat:i,color:r,fontSize:s,arrowSize:a=1,strokeWidth:c,text:l,textRotation:A,offset:u}=t,d=b3e({x:o.x-n.x,y:o.y-n.y}),h={x:-d.y,y:d.x},_=u?.direction&&typeof u.direction.x=="number"&&typeof u.direction.y=="number",m=_?b3e(u.direction):{x:0,y:0},p=u?.distance??0,g={x:m.x*p,y:m.y*p},y={x:n.x+g.x,y:n.y+g.y},f={x:o.x+g.x,y:o.y+g.y},C={x:y.x+d.x*a,y:y.y+d.y*a},I={x:f.x-d.x*a,y:f.y-d.y*a};Math.abs(i.a);const E=c??a/5,b=r||"rgba(255,255,255,0.5)",P=_&&(Math.abs(m.x)>Number.EPSILON||Math.abs(m.y)>Number.EPSILON)?m:h,B=p+.5,w=[],k=O=>{const G={x:O.x+P.x*B,y:O.y+P.y*B},K=E/2,j={x:-P.y,y:P.x};return[{x:O.x+j.x*K,y:O.y+j.y*K},{x:O.x-j.x*K,y:O.y-j.y*K},{x:G.x-j.x*K,y:G.y-j.y*K},{x:G.x+j.x*K,y:G.y+j.y*K}]};w.push(y),w.push({x:C.x+h.x*(a/2),y:C.y+h.y*(a/2)}),w.push({x:C.x+h.x*(E/2),y:C.y+h.y*(E/2)}),w.push({x:I.x+h.x*(E/2),y:I.y+h.y*(E/2)}),w.push({x:I.x+h.x*(a/2),y:I.y+h.y*(a/2)}),w.push(f),w.push({x:I.x-h.x*(a/2),y:I.y-h.y*(a/2)}),w.push({x:I.x-h.x*(E/2),y:I.y-h.y*(E/2)}),w.push({x:C.x-h.x*(E/2),y:C.y-h.y*(E/2)}),w.push({x:C.x-h.x*(a/2),y:C.y-h.y*(a/2)}),w.push(y);const N=w[0],L=O=>{const G=k(O);w.push(N),w.push(G[0]),w.push(...G),w.push(G[0]),w.push(N)};if(L(n),L(o),qP({ctx:e,points:w,fill:b,realToCanvasMat:i}),l){const O={x:(n.x+o.x)/2+g.x,y:(n.y+o.y)/2+g.y},[G,K]=So(i,[y.x,y.y]),[j,$]=So(i,[f.x,f.y]),oe=b3e({x:j-G,y:$-K});let Ae=Math.atan2(oe.y,oe.x)*180/Math.PI;(Ae>90||Ae<-90)&&(Ae+=180);const Z=typeof A=="number"&&Number.isFinite(A)?Ae-A:Ae;let re=0;if(l&&typeof A=="number"&&Number.isFinite(A)){const pe=l.length*s*wpo,Ie=s,ve=A*Math.PI/180,Be=Math.abs(Math.sin(ve)),me=Math.abs(Math.cos(ve)),be=pe/2,ue=Ie/2;re=be*Be+ue*me+s*Dpo}const ae=a*Mpo+re,ce={x:O.x+h.x*ae,y:O.y+h.y*ae};zF({ctx:e,text:l,x:ce.x,y:ce.y,fontSize:s,color:b,realToCanvasMat:i,anchorAlignment:"center",rotation:-Z})}}function Qpo(t){const{ctx:e,pcbFabricationNoteDimension:n,realToCanvasMat:o,colorMap:i}=t,r=n.color??i.fabricationNote;$4t({ctx:e,from:n.from,to:n.to,realToCanvasMat:o,color:r,fontSize:n.font_size??1,arrowSize:n.arrow_size??1,text:n.text,textRotation:n.text_ccw_rotation,offset:n.offset_distance&&n.offset_direction?{distance:n.offset_distance,direction:n.offset_direction}:void 0})}function vQ(t){const{ctx:e,start:n,end:o,strokeWidth:i,stroke:r,realToCanvasMat:s,lineCap:a="round"}=t,[c,l]=So(s,[n.x,n.y]),[A,u]=So(s,[o.x,o.y]),d=i*Math.abs(s.a);e.beginPath(),e.moveTo(c,l),e.lineTo(A,u),e.lineWidth=d,e.strokeStyle=r,e.lineCap=a,e.stroke()}function Tpo(t){const{ctx:e,path:n,realToCanvasMat:o,colorMap:i}=t,r=i.fabricationNote,s=n.color??r;if(!(!n.route||n.route.length<2))for(let a=0;a<n.route.length-1;a++){const c=n.route[a],l=n.route[a+1];!c||!l||vQ({ctx:e,start:{x:c.x,y:c.y},end:{x:l.x,y:l.y},strokeWidth:n.stroke_width??.1,stroke:s,realToCanvasMat:o})}}function Rpo(t){const{ctx:e,rect:n,realToCanvasMat:o,colorMap:i}=t,r=i.fabricationNote,s=n.color??r,a=n.is_filled??!1,c=n.has_stroke??!0,l=n.is_stroke_dashed??!1;Gh({ctx:e,center:n.center,width:n.width,height:n.height,fill:a?s:void 0,stroke:c?s:void 0,strokeWidth:c?n.stroke_width:void 0,borderRadius:n.corner_radius,realToCanvasMat:o,isStrokeDashed:l})}function Npo(t,e){return e.fabricationNote}function kpo(t){const{ctx:e,text:n,realToCanvasMat:o,colorMap:i}=t,r=Npo(n.layer,i),s=n.color??r,a=n.font_size;zF({ctx:e,text:n.text,x:n.anchor_position.x,y:n.anchor_position.y,fontSize:a,color:s,realToCanvasMat:o,anchorAlignment:n.anchor_alignment})}function K4(t){const{ctx:e,center:n,radius_x:o,radius_y:i,fill:r,stroke:s,strokeWidth:a=.1,realToCanvasMat:c,rotation:l=0}=t,[A,u]=So(c,[n.x,n.y]),d=o*Math.abs(c.a),h=i*Math.abs(c.a),_=a*Math.abs(c.a);e.save(),e.translate(A,u),l!==0&&e.rotate(-l*(Math.PI/180)),e.beginPath(),e.ellipse(0,0,d,h,0,0,Math.PI*2),r&&(e.fillStyle=r,e.fill()),s&&(e.strokeStyle=s,e.lineWidth=_,e.stroke()),e.restore()}function Qm(t){const{ctx:e,center:n,width:o,height:i,fill:r,realToCanvasMat:s,rotation:a=0,stroke:c,strokeWidth:l}=t,[A,u]=So(s,[n.x,n.y]),d=o*Math.abs(s.a),h=i*Math.abs(s.a),_=l?l*Math.abs(s.a):void 0;if(e.save(),e.translate(A,u),a!==0&&e.rotate(-a*(Math.PI/180)),e.beginPath(),d>h){const m=h/2,p=d-h;e.moveTo(-p/2,-m),e.lineTo(p/2,-m),e.arc(p/2,0,m,-Math.PI/2,Math.PI/2),e.lineTo(-p/2,m),e.arc(-p/2,0,m,Math.PI/2,-Math.PI/2)}else if(h>d){const m=d/2,p=h-d;e.moveTo(m,-p/2),e.lineTo(m,p/2),e.arc(0,p/2,m,0,Math.PI),e.lineTo(-m,-p/2),e.arc(0,-p/2,m,Math.PI,0)}else e.arc(0,0,d/2,0,Math.PI*2);e.closePath(),r&&(e.fillStyle=r,e.fill()),c&&_&&(e.strokeStyle=c,e.lineWidth=_,e.stroke()),e.restore()}function $Z(t){return"ccw_rotation"in t&&typeof t.ccw_rotation=="number"?t.ccw_rotation:0}function Z4t(t){const{ctx:e,hole:n,realToCanvasMat:o,colorMap:i,soldermaskMargin:r=0,drawSoldermask:s=!1}=t;if(s&&n.is_covered_with_solder_mask===!0)return;const a=r<0?Math.abs(r):0;if(n.hole_shape==="circle"){Uh({ctx:e,center:{x:n.x,y:n.y},radius:n.hole_diameter/2-a,fill:i.drill,realToCanvasMat:o});return}if(n.hole_shape==="square"){const c=$Z(n);Gh({ctx:e,center:{x:n.x,y:n.y},width:n.hole_diameter-a*2,height:n.hole_diameter-a*2,fill:i.drill,realToCanvasMat:o,ccwRotationDegrees:c});return}if(n.hole_shape==="oval"){const c=$Z(n);K4({ctx:e,center:{x:n.x,y:n.y},radius_x:n.hole_width/2-a,radius_y:n.hole_height/2-a,fill:i.drill,realToCanvasMat:o,rotation:c});return}if(n.hole_shape==="rect"){const c=$Z(n);Gh({ctx:e,center:{x:n.x,y:n.y},width:n.hole_width-a*2,height:n.hole_height-a*2,fill:i.drill,realToCanvasMat:o,ccwRotationDegrees:c});return}if(n.hole_shape==="pill"||n.hole_shape==="rotated_pill"){const c=$Z(n);Qm({ctx:e,center:{x:n.x,y:n.y},width:n.hole_width-a*2,height:n.hole_height-a*2,fill:i.drill,realToCanvasMat:o,rotation:c});return}}function Hpo(t,e){const n=parseInt(t.slice(1,3),16),o=parseInt(t.slice(3,5),16),i=parseInt(t.slice(5,7),16);return`rgba(${n}, ${o}, ${i}, ${e})`}function Lpo(t){const{ctx:e,keepout:n,realToCanvasMat:o,colorMap:i}=t,r=i.keepout,s=Hpo(i.keepout,.2),a=1;if(n.shape==="rect"){const[c,l]=So(o,[n.center.x,n.center.y]),A=n.width*Math.abs(o.a),u=n.height*Math.abs(o.a),d=n.rotation??0;e.save(),e.translate(c,l),d!==0&&e.rotate(-d*(Math.PI/180)),e.beginPath(),e.rect(-A/2,-u/2,A,u),e.fillStyle=s,e.fill(),e.beginPath(),e.rect(-A/2,-u/2,A,u),e.clip();const h=a*Math.abs(o.a),_=Math.sqrt(A*A+u*u),m=A/2,p=u/2;e.strokeStyle=r,e.lineWidth=.15*Math.abs(o.a),e.setLineDash([]);for(let g=-_;g<_*2;g+=h){e.beginPath();const y=-m+g,f=-p,C=-m+g+_,I=-p+_;e.moveTo(y,f),e.lineTo(C,I),e.stroke()}e.restore();return}if(n.shape==="circle"){const[c,l]=So(o,[n.center.x,n.center.y]),A=n.radius*Math.abs(o.a),u=a*Math.abs(o.a);e.save(),e.translate(c,l),e.beginPath(),e.arc(0,0,A,0,Math.PI*2),e.fillStyle=s,e.fill(),e.beginPath(),e.arc(0,0,A,0,Math.PI*2),e.clip();const d=A*2;e.strokeStyle=r,e.lineWidth=.15*Math.abs(o.a),e.setLineDash([]);for(let h=-d;h<d*2;h+=u)e.beginPath(),e.moveTo(h-d,-d),e.lineTo(h+d,d),e.stroke();e.restore();return}}var Fpo="rgba(255,255,255,0.5)";function Opo(t){const{ctx:e,pcbNoteDimension:n,realToCanvasMat:o}=t,i=n.color??Fpo;$4t({ctx:e,from:n.from,to:n.to,realToCanvasMat:o,color:i,fontSize:n.font_size,arrowSize:n.arrow_size,text:n.text,textRotation:n.text_ccw_rotation,offset:n.offset_distance&&n.offset_direction?{distance:n.offset_distance,direction:n.offset_direction}:void 0})}function Gpo(t){const{ctx:e,line:n,realToCanvasMat:o}=t,r=n.color??"rgb(89, 148, 220)",s=n.stroke_width??.1,a=n.is_dashed??!1,[c,l]=So(o,[n.x1,n.y1]),[A,u]=So(o,[n.x2,n.y2]),d=s*Math.abs(o.a);e.save(),a?e.setLineDash([d*2,d*2]):e.setLineDash([]),e.beginPath(),e.moveTo(c,l),e.lineTo(A,u),e.lineWidth=d,e.strokeStyle=r,e.lineCap="round",e.stroke(),e.restore()}function Upo(t){const{ctx:e,path:n,realToCanvasMat:o}=t,r=n.color??"rgb(89, 148, 220)";if(!(!n.route||n.route.length<2))for(let s=0;s<n.route.length-1;s++){const a=n.route[s],c=n.route[s+1];!a||!c||vQ({ctx:e,start:{x:a.x,y:a.y},end:{x:c.x,y:c.y},strokeWidth:n.stroke_width??.1,stroke:r,realToCanvasMat:o})}}function zpo(t){const{ctx:e,rect:n,realToCanvasMat:o}=t,r=n.color??"rgb(89, 148, 220)",s=n.is_filled??!1,a=n.has_stroke??!0,c=n.is_stroke_dashed??!1;Gh({ctx:e,center:n.center,width:n.width,height:n.height,fill:s?r:void 0,stroke:a?r:void 0,strokeWidth:a?n.stroke_width:void 0,borderRadius:n.corner_radius,realToCanvasMat:o,isStrokeDashed:c})}var Vpo="rgb(89, 148, 220)";function Ypo(t){const{ctx:e,text:n,realToCanvasMat:o}=t,i=Vpo,r=n.color??i,s=n.font_size??1;zF({ctx:e,text:n.text??"",x:n.anchor_position.x,y:n.anchor_position.y,fontSize:s,color:r,realToCanvasMat:o,anchorAlignment:n.anchor_alignment??"center"})}function Kpo(t){const{ctx:e,panel:n,realToCanvasMat:o,colorMap:i}=t,{width:r,height:s,center:a}=n;if(r!==void 0&&s!==void 0&&a){const c=r/2,l=s/2,A=[{x:a.x-c,y:a.y-l},{x:a.x+c,y:a.y-l},{x:a.x+c,y:a.y+l},{x:a.x-c,y:a.y+l}];qZ({ctx:e,points:A,stroke:i.boardOutline,strokeWidth:.5,realToCanvasMat:o,closePath:!0})}}function VF(t,e){if(t.length<3||e===0)return t;let n=0,o=0;for(const r of t)n+=r.x,o+=r.y;n/=t.length,o/=t.length;const i=[];for(const r of t){const s=r.x-n,a=r.y-o,c=Math.sqrt(s*s+a*a);if(c>0){const l=s/c,A=a/c;i.push({x:r.x+l*e,y:r.y+A*e})}else i.push({x:r.x+e,y:r.y})}return i}function eEt(t){const{ctx:e,hole:n,realToCanvasMat:o,colorMap:i,soldermaskMargin:r=0,drawSoldermask:s}=t;if(n.is_covered_with_solder_mask===!0&&s)return;const a=i.copper[t.layer??"top"],c=r<0?Math.abs(r):0;if(n.shape==="circle"){Uh({ctx:e,center:{x:n.x,y:n.y},radius:n.outer_diameter/2-c,fill:a,realToCanvasMat:o}),W4(e,()=>{Uh({ctx:e,center:{x:n.x,y:n.y},radius:n.hole_diameter/2,fill:"#000",realToCanvasMat:o})}),Uh({ctx:e,center:{x:n.x,y:n.y},radius:n.hole_diameter/2,fill:i.drill,realToCanvasMat:o});return}if(n.shape==="oval"){K4({ctx:e,center:{x:n.x,y:n.y},radius_x:n.outer_width/2-c,radius_y:n.outer_height/2-c,fill:a,realToCanvasMat:o,rotation:n.ccw_rotation}),W4(e,()=>{K4({ctx:e,center:{x:n.x,y:n.y},radius_x:n.hole_width/2,radius_y:n.hole_height/2,fill:"#000",realToCanvasMat:o,rotation:n.ccw_rotation})}),K4({ctx:e,center:{x:n.x,y:n.y},radius_x:n.hole_width/2,radius_y:n.hole_height/2,fill:i.drill,realToCanvasMat:o,rotation:n.ccw_rotation});return}if(n.shape==="pill"){Qm({ctx:e,center:{x:n.x,y:n.y},width:n.outer_width-c*2,height:n.outer_height-c*2,fill:a,realToCanvasMat:o,rotation:n.ccw_rotation}),W4(e,()=>{Qm({ctx:e,center:{x:n.x,y:n.y},width:n.hole_width,height:n.hole_height,fill:"#000",realToCanvasMat:o,rotation:n.ccw_rotation})}),Qm({ctx:e,center:{x:n.x,y:n.y},width:n.hole_width,height:n.hole_height,fill:i.drill,realToCanvasMat:o,rotation:n.ccw_rotation});return}if(n.shape==="circular_hole_with_rect_pad"){Gh({ctx:e,center:{x:n.x,y:n.y},width:n.rect_pad_width-c*2,height:n.rect_pad_height-c*2,fill:a,realToCanvasMat:o,borderRadius:n.rect_border_radius?Math.max(0,n.rect_border_radius-c):0,ccwRotationDegrees:n.rect_ccw_rotation});const l=n.x+(n.hole_offset_x??0),A=n.y+(n.hole_offset_y??0);W4(e,()=>{Uh({ctx:e,center:{x:l,y:A},radius:n.hole_diameter/2,fill:"#000",realToCanvasMat:o})}),Uh({ctx:e,center:{x:l,y:A},radius:n.hole_diameter/2,fill:i.drill,realToCanvasMat:o});return}if(n.shape==="pill_hole_with_rect_pad"){Gh({ctx:e,center:{x:n.x,y:n.y},width:n.rect_pad_width-c*2,height:n.rect_pad_height-c*2,fill:a,realToCanvasMat:o,borderRadius:n.rect_border_radius?Math.max(0,n.rect_border_radius-c):0});const l=n.x+(n.hole_offset_x??0),A=n.y+(n.hole_offset_y??0);W4(e,()=>{Qm({ctx:e,center:{x:l,y:A},width:n.hole_width,height:n.hole_height,fill:"#000",realToCanvasMat:o})}),Qm({ctx:e,center:{x:l,y:A},width:n.hole_width,height:n.hole_height,fill:i.drill,realToCanvasMat:o});return}if(n.shape==="rotated_pill_hole_with_rect_pad"){Gh({ctx:e,center:{x:n.x,y:n.y},width:n.rect_pad_width-c*2,height:n.rect_pad_height-c*2,fill:a,realToCanvasMat:o,borderRadius:n.rect_border_radius?Math.max(0,n.rect_border_radius-c):0,ccwRotationDegrees:n.rect_ccw_rotation});const l=n.x+(n.hole_offset_x??0),A=n.y+(n.hole_offset_y??0);W4(e,()=>{Qm({ctx:e,center:{x:l,y:A},width:n.hole_width,height:n.hole_height,fill:"#000",realToCanvasMat:o,rotation:n.hole_ccw_rotation})}),Qm({ctx:e,center:{x:l,y:A},width:n.hole_width,height:n.hole_height,fill:i.drill,realToCanvasMat:o,rotation:n.hole_ccw_rotation});return}if(n.shape==="hole_with_polygon_pad"){const l=n.pad_outline;if(l&&l.length>=3){const h=l.map(m=>({x:n.x+m.x,y:n.y+m.y})),_=c>0?VF(h,-c):h;_.length>=3&&qP({ctx:e,points:_,fill:a,realToCanvasMat:o})}const A=n.x+(n.hole_offset_x??0),u=n.y+(n.hole_offset_y??0),d=n.hole_shape;d==="circle"?(W4(e,()=>{Uh({ctx:e,center:{x:A,y:u},radius:(n.hole_diameter??0)/2,fill:"#000",realToCanvasMat:o})}),Uh({ctx:e,center:{x:A,y:u},radius:(n.hole_diameter??0)/2,fill:i.drill,realToCanvasMat:o})):d==="oval"?(W4(e,()=>{K4({ctx:e,center:{x:A,y:u},radius_x:(n.hole_width??0)/2,radius_y:(n.hole_height??0)/2,fill:"#000",realToCanvasMat:o})}),K4({ctx:e,center:{x:A,y:u},radius_x:(n.hole_width??0)/2,radius_y:(n.hole_height??0)/2,fill:i.drill,realToCanvasMat:o})):d==="pill"?(W4(e,()=>{Qm({ctx:e,center:{x:A,y:u},width:n.hole_width??0,height:n.hole_height??0,fill:"#000",realToCanvasMat:o})}),Qm({ctx:e,center:{x:A,y:u},width:n.hole_width??0,height:n.hole_height??0,fill:i.drill,realToCanvasMat:o})):d==="rotated_pill"&&(W4(e,()=>{Qm({ctx:e,center:{x:A,y:u},width:n.hole_width??0,height:n.hole_height??0,fill:"#000",realToCanvasMat:o})}),Qm({ctx:e,center:{x:A,y:u},width:n.hole_width??0,height:n.hole_height??0,fill:i.drill,realToCanvasMat:o}));return}}function W4(t,e){t.save(),t.globalCompositeOperation="destination-out",e(),t.restore()}function Wpo(t,e){return t==="bottom"?e.silkscreen.bottom:e.silkscreen.top}function jpo(t){const{ctx:e,circle:n,realToCanvasMat:o,colorMap:i}=t,r=Wpo(n.layer,i);Uh({ctx:e,center:n.center,radius:n.radius,stroke:r,strokeWidth:n.stroke_width,realToCanvasMat:o})}function Xpo(t,e){return t==="bottom"?e.silkscreen.bottom:e.silkscreen.top}function Jpo(t){const{ctx:e,line:n,realToCanvasMat:o,colorMap:i}=t,r=Xpo(n.layer,i);vQ({ctx:e,start:{x:n.x1,y:n.y1},end:{x:n.x2,y:n.y2},strokeWidth:n.stroke_width??.1,stroke:r,realToCanvasMat:o})}function qpo(t,e){return t==="bottom"?e.silkscreen.bottom:e.silkscreen.top}function $po(t){const{ctx:e,oval:n,realToCanvasMat:o,colorMap:i}=t,r=qpo(n.layer,i);K4({ctx:e,center:n.center,radius_x:n.radius_x,radius_y:n.radius_y,stroke:r,strokeWidth:.1,realToCanvasMat:o,rotation:n.ccw_rotation??0})}function Zpo(t,e){return t==="bottom"?e.silkscreen.bottom:e.silkscreen.top}function efo(t){const{ctx:e,path:n,realToCanvasMat:o,colorMap:i}=t,r=Zpo(n.layer,i);if(!(!n.route||n.route.length<2))for(let s=0;s<n.route.length-1;s++){const a=n.route[s],c=n.route[s+1];!a||!c||vQ({ctx:e,start:{x:a.x,y:a.y},end:{x:c.x,y:c.y},strokeWidth:n.stroke_width??.1,stroke:r,realToCanvasMat:o})}}function tfo(t,e){return t==="bottom"?e.silkscreen.bottom:e.silkscreen.top}function nfo(t){const{ctx:e,pill:n,realToCanvasMat:o,colorMap:i}=t,r=tfo(n.layer,i);Qm({ctx:e,center:n.center,width:n.width,height:n.height,stroke:r,strokeWidth:.2,realToCanvasMat:o})}function ofo(t,e){return t==="bottom"?e.silkscreen.bottom:e.silkscreen.top}function ifo(t){const{ctx:e,rect:n,realToCanvasMat:o,colorMap:i}=t,r=ofo(n.layer,i);Gh({ctx:e,center:n.center,width:n.width,height:n.height,fill:n.is_filled?r:"transparent",stroke:r,strokeWidth:n.stroke_width,realToCanvasMat:o})}function rfo(t,e){return t==="bottom"?e.silkscreen.bottom:e.silkscreen.top}function sfo(t){return t||"center"}function afo(t){const{ctx:e,text:n,realToCanvasMat:o,colorMap:i}=t,r=n.text??"";if(!r)return;const s=rfo(n.layer,i),a=sfo(n.anchor_alignment),c=n.font_size??1;zF({ctx:e,text:r,x:n.anchor_position.x,y:n.anchor_position.y,fontSize:c,color:s,realToCanvasMat:o,anchorAlignment:a,rotation:n.ccw_rotation??0,mirrorX:n.layer==="bottom",knockout:n.is_knockout,knockoutPadding:n.is_knockout?n.knockout_padding:void 0})}function cfo(t,e){return e.copper[t]??e.copper.top}function tEt(t){return t.shape==="rect"||t.shape==="rotated_rect"?t.corner_radius??t.rect_border_radius??0:0}function lfo(t){const{ctx:e,pad:n,realToCanvasMat:o,colorMap:i}=t,r=cfo(n.layer,i);if(n.shape==="rect"){Gh({ctx:e,center:{x:n.x,y:n.y},width:n.width,height:n.height,fill:r,realToCanvasMat:o,borderRadius:tEt(n)});return}if(n.shape==="rotated_rect"){Gh({ctx:e,center:{x:n.x,y:n.y},width:n.width,height:n.height,fill:r,realToCanvasMat:o,borderRadius:tEt(n),ccwRotationDegrees:n.ccw_rotation??0});return}if(n.shape==="circle"){Uh({ctx:e,center:{x:n.x,y:n.y},radius:n.radius,fill:r,realToCanvasMat:o});return}if(n.shape==="pill"){Qm({ctx:e,center:{x:n.x,y:n.y},width:n.width,height:n.height,fill:r,realToCanvasMat:o});return}if(n.shape==="rotated_pill"){Qm({ctx:e,center:{x:n.x,y:n.y},width:n.width,height:n.height,fill:r,realToCanvasMat:o,rotation:n.ccw_rotation??0});return}if(n.shape==="polygon"){n.points&&n.points.length>=3&&qP({ctx:e,points:n.points,fill:r,realToCanvasMat:o});return}}function $P(t){const{ctx:e,points:n}=t;if(n.length<3)return;const o=n[0];if(o){e.moveTo(o.x,o.y);for(let i=1;i<n.length;i++){const r=n[i];r&&e.lineTo(r.x,r.y)}e.closePath()}}function nEt(t){const{ctx:e,board:n,realToCanvasMat:o,soldermaskColor:i}=t,{width:r,height:s,center:a,outline:c}=n;if(c&&Array.isArray(c)&&c.length>=3){const l=c.map(A=>{const[u,d]=So(o,[A.x,A.y]);return{x:u,y:d}});e.beginPath(),$P({ctx:e,points:l}),e.fillStyle=i,e.fill()}else if(r!==void 0&&s!==void 0&&a){const[l,A]=So(o,[a.x,a.y]),u=r*Math.abs(o.a),d=s*Math.abs(o.a);e.fillStyle=i,e.fillRect(l-u/2,A-d/2,u,d)}}function Afo(t){return"createPattern"in t&&typeof Reflect.get(t,"createPattern")=="function"}function ufo(t,e){if(t===e||e.canvas.width<=0||e.canvas.height<=0||!Afo(t))return;let n=null;try{n=t.createPattern(e.canvas,"no-repeat")}catch{return}n&&(t.save(),t.globalCompositeOperation="source-over",t.fillStyle=n,t.fillRect(0,0,e.canvas.width,e.canvas.height),t.restore())}function dfo(t){return typeof t=="function"}function _fo(t,e,n){if(e<=0||n<=0)return null;const o=globalThis;let i=null;if("OffscreenCanvas"in o&&typeof o.OffscreenCanvas=="function")i=new o.OffscreenCanvas(e,n);else if("document"in o&&o.document&&typeof o.document.createElement=="function"){const r=o.document.createElement("canvas");r.width=e,r.height=n,i=r}else{const r=t.canvas.constructor;if(dfo(r))try{i=new r(e,n)}catch{return null}}return i?i.getContext("2d"):null}function hfo(t){const{ctx:e,panel:n,realToCanvasMat:o,soldermaskColor:i}=t,{width:r,height:s,center:a}=n;if(r===void 0||s===void 0||!a)return;const[c,l]=So(o,[a.x,a.y]),A=r*Math.abs(o.a),u=s*Math.abs(o.a);e.fillStyle=i,e.fillRect(c-A/2,l-u/2,A,u)}function xx(t){const{ctx:e,cx:n,cy:o,width:i,height:r,radius:s,ccwRotationDegrees:a=0}=t,c=a*Math.PI/180,l=x3e(JP(n,o),X4t(-c)),A=i/2,u=r/2,d=Math.min(s,A,u);if(d>0){const h=So(l,{x:-A,y:-u}),_=So(l,{x:A,y:-u}),m=So(l,{x:A,y:u}),p=So(l,{x:-A,y:u}),g=So(l,{x:-A,y:0});e.moveTo(g.x,g.y),e.arcTo(h.x,h.y,_.x,_.y,d),e.arcTo(_.x,_.y,m.x,m.y,d),e.arcTo(m.x,m.y,p.x,p.y,d),e.arcTo(p.x,p.y,h.x,h.y,d)}else{const h=So(l,{x:-A,y:-u}),_=So(l,{x:A,y:-u}),m=So(l,{x:A,y:u}),p=So(l,{x:-A,y:u});e.moveTo(h.x,h.y),e.lineTo(_.x,_.y),e.lineTo(m.x,m.y),e.lineTo(p.x,p.y)}e.closePath()}function Ix(t){t.save(),t.globalCompositeOperation="destination-out",t.fill(),t.restore()}function mfo(t){const{ctx:e,cutout:n,realToCanvasMat:o}=t;if(n.shape==="rect"){const[i,r]=So(o,[n.center?.x??0,n.center?.y??0]),s=n.width*Math.abs(o.a),a=n.height*Math.abs(o.a),c=(n.corner_radius??0)*Math.abs(o.a);e.save(),e.translate(i,r),n.rotation&&e.rotate(-n.rotation*Math.PI/180),e.beginPath(),xx({ctx:e,cx:0,cy:0,width:s,height:a,radius:c}),e.restore(),Ix(e)}else if(n.shape==="circle"){const[i,r]=So(o,[n.center?.x??0,n.center?.y??0]),s=n.radius*Math.abs(o.a);e.beginPath(),e.arc(i,r,s,0,Math.PI*2),e.closePath(),Ix(e)}else if(n.shape==="polygon"&&n.points&&n.points.length>=3){const i=n.points.map(r=>{const[s,a]=So(o,[r.x,r.y]);return{x:s,y:a}});e.beginPath(),$P({ctx:e,points:i}),Ix(e)}}var vg="rgba(255, 255, 255, 1)";function S3e(t){const{ctx:e,elements:n,layer:o,realToCanvasMat:i}=t;e.save(),e.globalCompositeOperation="destination-out";for(const r of n){if(r.type==="pcb_smtpad"){if(r.layer!==o||r.is_covered_with_solder_mask===!0)continue;gfo({ctx:e,pad:r,realToCanvasMat:i});continue}if(r.type==="pcb_plated_hole"){if(r.layers&&!r.layers.includes(o)||r.is_covered_with_solder_mask===!0)continue;pfo({ctx:e,hole:r,realToCanvasMat:i});continue}if(r.type==="pcb_via"){if(r.layers&&!r.layers.includes(o))continue;Uh({ctx:e,center:{x:r.x,y:r.y},radius:r.outer_diameter/2,fill:vg,realToCanvasMat:i});continue}if(r.type==="pcb_hole"){if(r.is_covered_with_solder_mask===!0)continue;ffo({ctx:e,hole:r,realToCanvasMat:i})}}e.restore()}function gfo(t){const{ctx:e,pad:n,realToCanvasMat:o}=t;if(n.shape==="rect"){Gh({ctx:e,center:{x:n.x,y:n.y},width:n.width,height:n.height,borderRadius:n.corner_radius??n.rect_border_radius??0,fill:vg,realToCanvasMat:o});return}if(n.shape==="rotated_rect"){Gh({ctx:e,center:{x:n.x,y:n.y},width:n.width,height:n.height,borderRadius:n.corner_radius??n.rect_border_radius??0,ccwRotationDegrees:n.ccw_rotation??0,fill:vg,realToCanvasMat:o});return}if(n.shape==="circle"){Uh({ctx:e,center:{x:n.x,y:n.y},radius:n.radius,fill:vg,realToCanvasMat:o});return}if(n.shape==="pill"||n.shape==="rotated_pill"){Qm({ctx:e,center:{x:n.x,y:n.y},width:n.width,height:n.height,rotation:n.shape==="rotated_pill"?n.ccw_rotation??0:0,fill:vg,realToCanvasMat:o});return}n.shape==="polygon"&&n.points&&n.points.length>=3&&qP({ctx:e,points:n.points,fill:vg,realToCanvasMat:o})}function pfo(t){const{ctx:e,hole:n,realToCanvasMat:o}=t;if(n.shape==="circle"){Uh({ctx:e,center:{x:n.x,y:n.y},radius:n.outer_diameter/2,fill:vg,realToCanvasMat:o});return}if(n.shape==="oval"){K4({ctx:e,center:{x:n.x,y:n.y},radius_x:n.outer_width/2,radius_y:n.outer_height/2,rotation:n.ccw_rotation,fill:vg,realToCanvasMat:o});return}if(n.shape==="pill"){Qm({ctx:e,center:{x:n.x,y:n.y},width:n.outer_width,height:n.outer_height,rotation:n.ccw_rotation,fill:vg,realToCanvasMat:o});return}if(n.shape==="circular_hole_with_rect_pad"){Gh({ctx:e,center:{x:n.x,y:n.y},width:n.rect_pad_width,height:n.rect_pad_height,borderRadius:n.rect_border_radius??0,ccwRotationDegrees:n.rect_ccw_rotation,fill:vg,realToCanvasMat:o});return}if(n.shape==="pill_hole_with_rect_pad"){Gh({ctx:e,center:{x:n.x,y:n.y},width:n.rect_pad_width,height:n.rect_pad_height,borderRadius:n.rect_border_radius??0,fill:vg,realToCanvasMat:o});return}if(n.shape==="rotated_pill_hole_with_rect_pad"){Gh({ctx:e,center:{x:n.x,y:n.y},width:n.rect_pad_width,height:n.rect_pad_height,borderRadius:n.rect_border_radius??0,ccwRotationDegrees:n.rect_ccw_rotation,fill:vg,realToCanvasMat:o});return}n.shape==="hole_with_polygon_pad"&&n.pad_outline&&n.pad_outline.length>=3&&qP({ctx:e,points:n.pad_outline.map(i=>({x:n.x+i.x,y:n.y+i.y})),fill:vg,realToCanvasMat:o})}function ffo(t){const{ctx:e,hole:n,realToCanvasMat:o}=t,i="ccw_rotation"in n&&typeof n.ccw_rotation=="number"?n.ccw_rotation:0;if(n.hole_shape==="circle"){Uh({ctx:e,center:{x:n.x,y:n.y},radius:n.hole_diameter/2,fill:vg,realToCanvasMat:o});return}if(n.hole_shape==="square"){Gh({ctx:e,center:{x:n.x,y:n.y},width:n.hole_diameter,height:n.hole_diameter,ccwRotationDegrees:i,fill:vg,realToCanvasMat:o});return}if(n.hole_shape==="oval"){K4({ctx:e,center:{x:n.x,y:n.y},radius_x:n.hole_width/2,radius_y:n.hole_height/2,rotation:i,fill:vg,realToCanvasMat:o});return}if(n.hole_shape==="rect"){Gh({ctx:e,center:{x:n.x,y:n.y},width:n.hole_width,height:n.hole_height,ccwRotationDegrees:i,fill:vg,realToCanvasMat:o});return}(n.hole_shape==="pill"||n.hole_shape==="rotated_pill")&&Qm({ctx:e,center:{x:n.x,y:n.y},width:n.hole_width,height:n.hole_height,rotation:i,fill:vg,realToCanvasMat:o})}function yfo(t,e,n,o,i){if(Math.abs(i)<1e-10)return null;const r=n-t,s=o-e,a=Math.hypot(r,s);if(a<1e-10)return null;const c=Math.abs(i)*(a/2),l=a/2,A=(c*c+l*l)/(2*c),u=A-c,d=(t+n)/2,h=(e+o)/2,_=-s/a,m=r/a,p=i>0?-1:1;return{centerX:d+p*_*u,centerY:h+p*m*u,radius:A}}function P3e(t,e,n,o,i,r,s){if(Math.abs(r)<1e-10){const[C,I]=So(s,[o,i]);t.lineTo(C,I);return}const a=yfo(e,n,o,i,r);if(!a){const[C,I]=So(s,[o,i]);t.lineTo(C,I);return}const[c,l]=So(s,[e,n]),[A,u]=So(s,[o,i]),[d,h]=So(s,[a.centerX,a.centerY]),_=Math.hypot(c-d,l-h),m=Math.atan2(l-h,c-d),p=Math.atan2(u-h,A-d),y=s.a*s.d-s.b*s.c<0,f=r>0?!y:y;t.arc(d,h,_,m,p,f)}function oEt(t,e,n){if(e.vertices.length<2)return;if(e.vertices.length===2){const s=e.vertices[0],a=e.vertices[1];if(s&&a&&Math.abs((s.bulge??0)-1)<1e-10&&Math.abs((a.bulge??0)-1)<1e-10){const[c,l]=So(n,[s.x,s.y]);t.moveTo(c,l),P3e(t,s.x,s.y,a.x,a.y,1,n),P3e(t,a.x,a.y,s.x,s.y,1,n);return}}const o=e.vertices[0];if(!o)return;const[i,r]=So(n,[o.x,o.y]);t.moveTo(i,r);for(let s=0;s<e.vertices.length;s++){const a=e.vertices[s],c=e.vertices[(s+1)%e.vertices.length];if(!a||!c)continue;const l=a.bulge??0;if(Math.abs(l)<1e-10){const[A,u]=So(n,[c.x,c.y]);t.lineTo(A,u)}else P3e(t,a.x,a.y,c.x,c.y,l,n)}}function Cfo(t){const{ctx:e,pour:n,realToCanvasMat:o,soldermaskOverCopperColor:i,layer:r,elements:s}=t;if(n.layer===r&&n.covered_with_solder_mask===!0){if(e.save(),e.fillStyle=i,n.shape==="rect"){const[a,c]=So(o,[n.center.x,n.center.y]),l=n.width*Math.abs(o.a),A=n.height*Math.abs(o.a);e.translate(a,c),n.rotation&&e.rotate(-n.rotation*(Math.PI/180)),e.beginPath(),e.rect(-l/2,-A/2,l,A),e.fill(),e.restore(),S3e({ctx:e,elements:s,layer:r,realToCanvasMat:o});return}if(n.shape==="polygon"){if(n.points&&n.points.length>=3){const a=n.points.map(l=>So(o,[l.x,l.y])),c=a[0];if(c){e.beginPath();const[l,A]=c;e.moveTo(l,A);for(let u=1;u<a.length;u++){const d=a[u];if(!d)continue;const[h,_]=d;e.lineTo(h,_)}e.closePath(),e.fill(),S3e({ctx:e,elements:s,layer:r,realToCanvasMat:o})}}e.restore();return}if(n.shape==="brep"){if(e.beginPath(),oEt(e,n.brep_shape.outer_ring,o),n.brep_shape.inner_rings)for(const a of n.brep_shape.inner_rings)oEt(e,a,o);e.fill("evenodd"),S3e({ctx:e,elements:s,layer:r,realToCanvasMat:o}),e.restore();return}e.restore()}}function kb(t){const{ctx:e,cx:n,cy:o,width:i,height:r,ccwRotationDegrees:s=0}=t,a=s*Math.PI/180,c=x3e(JP(n,o),X4t(-a));if(i>r){const l=r/2,A=(i-r)/2,u=So(c,{x:-A,y:0}),d=So(c,{x:A,y:0}),h=So(c,{x:A,y:-l});e.moveTo(h.x,h.y),e.arc(d.x,d.y,l,-a-Math.PI/2,-a+Math.PI/2),e.arc(u.x,u.y,l,-a+Math.PI/2,-a-Math.PI/2)}else if(r>i){const l=i/2,A=(r-i)/2,u=So(c,{x:0,y:-A}),d=So(c,{x:0,y:A}),h=So(c,{x:l,y:A});e.moveTo(h.x,h.y),e.arc(d.x,d.y,l,-a,-a+Math.PI),e.arc(u.x,u.y,l,-a+Math.PI,-a)}else{const l=i/2;e.moveTo(n+l,o),e.arc(n,o,l,0,Math.PI*2)}e.closePath()}function xfo(t){const{ctx:e,hole:n,realToCanvasMat:o,soldermaskOverCopperColor:i}=t,r=n.is_covered_with_solder_mask===!0,s=n.soldermask_margin??0;r?(e.fillStyle=i,ZZ({ctx:e,hole:n,realToCanvasMat:o,margin:0}),e.fill()):s<0?(ZZ({ctx:e,hole:n,realToCanvasMat:o,margin:s}),Ix(e),Ifo({ctx:e,hole:n,realToCanvasMat:o,soldermaskOverCopperColor:i,margin:s})):s>0?(ZZ({ctx:e,hole:n,realToCanvasMat:o,margin:s}),Ix(e)):(ZZ({ctx:e,hole:n,realToCanvasMat:o,margin:0}),Ix(e))}function iEt(t){return"ccw_rotation"in t&&typeof t.ccw_rotation=="number"?t.ccw_rotation:0}function ZZ(t){const{ctx:e,hole:n,realToCanvasMat:o,margin:i}=t,r=iEt(n);if(n.hole_shape==="circle"){const[s,a]=So(o,[n.x,n.y]),c=(n.hole_diameter/2+i)*Math.abs(o.a);e.beginPath(),e.arc(s,a,c,0,Math.PI*2),e.closePath()}else if(n.hole_shape==="square"){const[s,a]=So(o,[n.x,n.y]),c=(n.hole_diameter+i*2)*Math.abs(o.a);e.save(),e.translate(s,a),r!==0&&e.rotate(-r*Math.PI/180),e.beginPath(),e.rect(-c/2,-c/2,c,c),e.closePath(),e.restore()}else if(n.hole_shape==="oval"){const[s,a]=So(o,[n.x,n.y]),c=(n.hole_width/2+i)*Math.abs(o.a),l=(n.hole_height/2+i)*Math.abs(o.a);e.save(),e.translate(s,a),r!==0&&e.rotate(-r*Math.PI/180),e.beginPath(),e.ellipse(0,0,c,l,0,0,Math.PI*2),e.closePath(),e.restore()}else if(n.hole_shape==="rect"){const[s,a]=So(o,[n.x,n.y]),c=(n.hole_width+i*2)*Math.abs(o.a),l=(n.hole_height+i*2)*Math.abs(o.a);e.save(),e.translate(s,a),r!==0&&e.rotate(-r*Math.PI/180),e.beginPath(),e.rect(-c/2,-l/2,c,l),e.closePath(),e.restore()}else if(n.hole_shape==="pill"||n.hole_shape==="rotated_pill"){const[s,a]=So(o,[n.x,n.y]),c=(n.hole_width+i*2)*Math.abs(o.a),l=(n.hole_height+i*2)*Math.abs(o.a);e.save(),e.translate(s,a),r!==0&&e.rotate(-r*Math.PI/180),e.beginPath(),kb({ctx:e,cx:0,cy:0,width:c,height:l}),e.restore()}}function Ifo(t){const{ctx:e,hole:n,realToCanvasMat:o,soldermaskOverCopperColor:i,margin:r}=t,s=Math.abs(r),a=iEt(n);if(e.fillStyle=i,n.hole_shape==="circle"){const[c,l]=So(o,[n.x,n.y]),A=n.hole_diameter/2*Math.abs(o.a),u=s*Math.abs(o.a),d=Math.max(0,A-u);e.save(),e.beginPath(),e.arc(c,l,A,0,Math.PI*2),d>0&&e.arc(c,l,d,0,Math.PI*2,!0),e.fill("evenodd"),e.restore()}else if(n.hole_shape==="square"){const[c,l]=So(o,[n.x,n.y]),A=n.hole_diameter*Math.abs(o.a),u=s*Math.abs(o.a),d=Math.max(0,A-u*2);e.save(),e.translate(c,l),a!==0&&e.rotate(-a*Math.PI/180),e.beginPath(),e.rect(-A/2,-A/2,A,A),d>0&&e.rect(-d/2,-d/2,d,d),e.fill("evenodd"),e.restore()}else if(n.hole_shape==="oval"){const[c,l]=So(o,[n.x,n.y]),A=n.hole_width/2*Math.abs(o.a),u=n.hole_height/2*Math.abs(o.a),d=s*Math.abs(o.a),h=Math.max(0,A-d),_=Math.max(0,u-d);e.save(),e.translate(c,l),a!==0&&e.rotate(-a*Math.PI/180),e.beginPath(),e.ellipse(0,0,A,u,0,0,Math.PI*2),h>0&&_>0&&(e.moveTo(h,0),e.ellipse(0,0,h,_,0,0,Math.PI*2)),e.fill("evenodd"),e.restore()}else if(n.hole_shape==="rect"){const[c,l]=So(o,[n.x,n.y]),A=n.hole_width*Math.abs(o.a),u=n.hole_height*Math.abs(o.a),d=s*Math.abs(o.a),h=Math.max(0,A-d*2),_=Math.max(0,u-d*2);e.save(),e.translate(c,l),a!==0&&e.rotate(-a*Math.PI/180),e.beginPath(),e.rect(-A/2,-u/2,A,u),h>0&&_>0&&e.rect(-h/2,-_/2,h,_),e.fill("evenodd"),e.restore()}else if(n.hole_shape==="pill"||n.hole_shape==="rotated_pill"){const[c,l]=So(o,[n.x,n.y]),A=n.hole_width*Math.abs(o.a),u=n.hole_height*Math.abs(o.a),d=s*Math.abs(o.a);e.save(),e.translate(c,l),a!==0&&e.rotate(-a*Math.PI/180),e.beginPath(),kb({ctx:e,cx:0,cy:0,width:A,height:u});const h=A-d*2,_=u-d*2;h>0&&_>0&&kb({ctx:e,cx:0,cy:0,width:h,height:_}),e.fill("evenodd"),e.restore()}}function Efo(t){const{ctx:e,hole:n,realToCanvasMat:o,soldermaskOverCopperColor:i,layer:r}=t;if(n.layers&&!n.layers.includes(r))return;const s=n.is_covered_with_solder_mask===!0,a=n.soldermask_margin??0;s?(e.fillStyle=i,eee({ctx:e,hole:n,realToCanvasMat:o,margin:0}),e.fill()):a<0?(eee({ctx:e,hole:n,realToCanvasMat:o,margin:a}),Ix(e),bfo({ctx:e,hole:n,realToCanvasMat:o,soldermaskOverCopperColor:i,margin:a})):a>0?(eee({ctx:e,hole:n,realToCanvasMat:o,margin:a}),Ix(e)):(eee({ctx:e,hole:n,realToCanvasMat:o,margin:0}),Ix(e))}function eee(t){const{ctx:e,hole:n,realToCanvasMat:o,margin:i}=t;if(n.shape==="circle"){const[r,s]=So(o,[n.x,n.y]),a=(n.outer_diameter/2+i)*Math.abs(o.a);e.beginPath(),e.arc(r,s,a,0,Math.PI*2),e.closePath()}else if(n.shape==="oval"){const[r,s]=So(o,[n.x,n.y]),a=(n.outer_width/2+i)*Math.abs(o.a),c=(n.outer_height/2+i)*Math.abs(o.a);e.beginPath(),e.ellipse(r,s,a,c,-((n.ccw_rotation??0)*Math.PI)/180,0,Math.PI*2),e.closePath()}else if(n.shape==="pill"){const[r,s]=So(o,[n.x,n.y]),a=(n.outer_width+i*2)*Math.abs(o.a),c=(n.outer_height+i*2)*Math.abs(o.a);e.beginPath(),kb({ctx:e,cx:r,cy:s,width:a,height:c,ccwRotationDegrees:n.ccw_rotation})}else if(n.shape==="circular_hole_with_rect_pad"){const[r,s]=So(o,[n.x,n.y]),a=(n.rect_pad_width+i*2)*Math.abs(o.a),c=(n.rect_pad_height+i*2)*Math.abs(o.a),l=(n.rect_border_radius??0)*Math.abs(o.a);e.beginPath(),xx({ctx:e,cx:r,cy:s,width:a,height:c,radius:l,ccwRotationDegrees:n.rect_ccw_rotation})}else if(n.shape==="pill_hole_with_rect_pad"){const[r,s]=So(o,[n.x,n.y]),a=(n.rect_pad_width+i*2)*Math.abs(o.a),c=(n.rect_pad_height+i*2)*Math.abs(o.a),l=(n.rect_border_radius??0)*Math.abs(o.a);e.beginPath(),xx({ctx:e,cx:r,cy:s,width:a,height:c,radius:l})}else if(n.shape==="rotated_pill_hole_with_rect_pad"){const[r,s]=So(o,[n.x,n.y]),a=(n.rect_pad_width+i*2)*Math.abs(o.a),c=(n.rect_pad_height+i*2)*Math.abs(o.a),l=(n.rect_border_radius??0)*Math.abs(o.a);e.beginPath(),xx({ctx:e,cx:r,cy:s,width:a,height:c,radius:l,ccwRotationDegrees:n.rect_ccw_rotation})}else if(n.shape==="hole_with_polygon_pad"&&n.pad_outline&&n.pad_outline.length>=3){const r=n.pad_outline.map(c=>({x:n.x+c.x,y:n.y+c.y})),a=(i!==0?VF(r,i):r).map(c=>{const[l,A]=So(o,[c.x,c.y]);return{x:l,y:A}});e.beginPath(),$P({ctx:e,points:a})}}function bfo(t){const{ctx:e,hole:n,realToCanvasMat:o,soldermaskOverCopperColor:i,margin:r}=t,s=Math.abs(r);if(e.fillStyle=i,n.shape==="circle"){const[a,c]=So(o,[n.x,n.y]),l=n.outer_diameter/2*Math.abs(o.a),A=s*Math.abs(o.a),u=Math.max(0,l-A);e.beginPath(),e.arc(a,c,l,0,Math.PI*2),u>0&&e.arc(a,c,u,0,Math.PI*2,!0),e.fill("evenodd")}else if(n.shape==="oval"){const[a,c]=So(o,[n.x,n.y]),l=n.outer_width/2*Math.abs(o.a),A=n.outer_height/2*Math.abs(o.a),u=s*Math.abs(o.a),d=Math.max(0,l-u),h=Math.max(0,A-u),_=-((n.ccw_rotation??0)*Math.PI)/180;if(e.beginPath(),e.ellipse(a,c,l,A,_,0,Math.PI*2),d>0&&h>0){const m=a+d*Math.cos(_),p=c+d*Math.sin(_);e.moveTo(m,p),e.ellipse(a,c,d,h,_,0,Math.PI*2)}e.fill("evenodd")}else if(n.shape==="pill"){const[a,c]=So(o,[n.x,n.y]),l=n.outer_width*Math.abs(o.a),A=n.outer_height*Math.abs(o.a),u=s*Math.abs(o.a);e.beginPath(),kb({ctx:e,cx:a,cy:c,width:l,height:A,ccwRotationDegrees:n.ccw_rotation});const d=l-u*2,h=A-u*2;d>0&&h>0&&kb({ctx:e,cx:a,cy:c,width:d,height:h,ccwRotationDegrees:n.ccw_rotation}),e.fill("evenodd")}else if(n.shape==="circular_hole_with_rect_pad"){const[a,c]=So(o,[n.x,n.y]),l=n.rect_pad_width*Math.abs(o.a),A=n.rect_pad_height*Math.abs(o.a),u=s*Math.abs(o.a),d=n.rect_border_radius?n.rect_border_radius*Math.abs(o.a):0;e.beginPath(),xx({ctx:e,cx:a,cy:c,width:l,height:A,radius:d,ccwRotationDegrees:n.rect_ccw_rotation});const h=l-u*2,_=A-u*2;if(h>0&&_>0){const m=Math.max(0,d-u);xx({ctx:e,cx:a,cy:c,width:h,height:_,radius:m,ccwRotationDegrees:n.rect_ccw_rotation})}e.fill("evenodd")}else if(n.shape==="pill_hole_with_rect_pad"){const[a,c]=So(o,[n.x,n.y]),l=n.rect_pad_width*Math.abs(o.a),A=n.rect_pad_height*Math.abs(o.a),u=s*Math.abs(o.a),d=n.rect_border_radius?n.rect_border_radius*Math.abs(o.a):0;e.beginPath(),xx({ctx:e,cx:a,cy:c,width:l,height:A,radius:d});const h=l-u*2,_=A-u*2;if(h>0&&_>0){const m=Math.max(0,d-u);xx({ctx:e,cx:a,cy:c,width:h,height:_,radius:m})}e.fill("evenodd")}else if(n.shape==="rotated_pill_hole_with_rect_pad"){const[a,c]=So(o,[n.x,n.y]),l=n.rect_pad_width*Math.abs(o.a),A=n.rect_pad_height*Math.abs(o.a),u=s*Math.abs(o.a),d=n.rect_border_radius?n.rect_border_radius*Math.abs(o.a):0;e.beginPath(),xx({ctx:e,cx:a,cy:c,width:l,height:A,radius:d,ccwRotationDegrees:n.rect_ccw_rotation});const h=l-u*2,_=A-u*2;if(h>0&&_>0){const m=Math.max(0,d-u);xx({ctx:e,cx:a,cy:c,width:h,height:_,radius:m,ccwRotationDegrees:n.rect_ccw_rotation})}e.fill("evenodd")}else if(n.shape==="hole_with_polygon_pad"&&n.pad_outline&&n.pad_outline.length>=3){const a=n.pad_outline.map(A=>({x:n.x+A.x,y:n.y+A.y}));e.beginPath();const c=a.map(A=>{const[u,d]=So(o,[A.x,A.y]);return{x:u,y:d}});$P({ctx:e,points:c});const l=VF(a,-s);if(l.length>=3){const A=l.map(u=>{const[d,h]=So(o,[u.x,u.y]);return{x:d,y:h}});$P({ctx:e,points:A})}e.fill("evenodd")}}function Sfo(t){const{ctx:e,pad:n,realToCanvasMat:o,soldermaskOverCopperColor:i,layer:r}=t;if(n.layer!==r)return;const s=n.is_covered_with_solder_mask===!0,a=n.soldermask_margin??0;let c=a,l=a,A=a,u=a;(n.shape==="rect"||n.shape==="rotated_rect")&&(c=n.soldermask_margin_left??a,l=n.soldermask_margin_right??a,A=n.soldermask_margin_top??a,u=n.soldermask_margin_bottom??a),s?(e.fillStyle=i,tee({ctx:e,pad:n,realToCanvasMat:o,ml:0,mr:0,mt:0,mb:0}),e.fill()):c<0||l<0||A<0||u<0?(tee({ctx:e,pad:n,realToCanvasMat:o,ml:c,mr:l,mt:A,mb:u}),Ix(e),Pfo({ctx:e,pad:n,realToCanvasMat:o,soldermaskOverCopperColor:i,ml:c,mr:l,mt:A,mb:u})):c>0||l>0||A>0||u>0?(tee({ctx:e,pad:n,realToCanvasMat:o,ml:c,mr:l,mt:A,mb:u}),Ix(e)):(tee({ctx:e,pad:n,realToCanvasMat:o,ml:0,mr:0,mt:0,mb:0}),Ix(e))}function tee(t){const{ctx:e,pad:n,realToCanvasMat:o,ml:i,mr:r,mt:s,mb:a}=t,c=n.shape==="rotated_rect"||n.shape==="rotated_pill"?n.ccw_rotation??0:0;if(n.shape==="rect"||n.shape==="rotated_rect"){const l=n.corner_radius??n.rect_border_radius??0,A=c*Math.PI/180,u=(r-i)/2,d=(s-a)/2,h=u*Math.cos(A)-d*Math.sin(A),_=u*Math.sin(A)+d*Math.cos(A),[m,p]=So(o,[n.x+h,n.y+_]),g=(n.width+i+r)*Math.abs(o.a),y=(n.height+s+a)*Math.abs(o.a),f=l*Math.abs(o.a);e.save(),e.translate(m,p),c!==0&&e.rotate(-c*Math.PI/180),e.beginPath(),xx({ctx:e,cx:0,cy:0,width:g,height:y,radius:f}),e.restore()}else if(n.shape==="circle"){const l=(i+r+s+a)/4,[A,u]=So(o,[n.x,n.y]),d=(n.radius+l)*Math.abs(o.a);e.beginPath(),e.arc(A,u,d,0,Math.PI*2),e.closePath()}else if(n.shape==="pill"||n.shape==="rotated_pill"){const l=(i+r)/2,[A,u]=So(o,[n.x,n.y]),d=(n.width+l*2)*Math.abs(o.a),h=(n.height+l*2)*Math.abs(o.a);e.save(),e.translate(A,u),c!==0&&e.rotate(-c*Math.PI/180),e.beginPath(),kb({ctx:e,cx:0,cy:0,width:d,height:h}),e.restore()}else if(n.shape==="polygon"&&n.points&&n.points.length>=3){const l=(i+r+s+a)/4,u=(l!==0?VF(n.points,l):n.points).map(d=>{const[h,_]=So(o,[d.x,d.y]);return{x:h,y:_}});e.beginPath(),$P({ctx:e,points:u})}}function Pfo(t){const{ctx:e,pad:n,realToCanvasMat:o,soldermaskOverCopperColor:i,ml:r,mr:s,mt:a,mb:c}=t,l=n.shape==="rotated_rect"||n.shape==="rotated_pill"?n.ccw_rotation??0:0,A=Math.max(0,-r),u=Math.max(0,-s),d=Math.max(0,-a),h=Math.max(0,-c);if(e.fillStyle=i,n.shape==="rect"||n.shape==="rotated_rect"){const _=n.corner_radius??n.rect_border_radius??0,[m,p]=So(o,[n.x,n.y]),g=n.width*Math.abs(o.a),y=n.height*Math.abs(o.a),f=_*Math.abs(o.a),C=A*Math.abs(o.a),I=u*Math.abs(o.a),E=d*Math.abs(o.a),b=h*Math.abs(o.a);e.save(),e.translate(m,p),l!==0&&e.rotate(-l*Math.PI/180),e.beginPath(),xx({ctx:e,cx:0,cy:0,width:g,height:y,radius:f});const P=g-C-I,B=y-E-b,w=(C-I)/2,k=(E-b)/2,N=Math.max(0,f-(C+I+E+b)/4);P>0&&B>0&&xx({ctx:e,cx:w,cy:k,width:P,height:B,radius:N}),e.fill("evenodd"),e.restore()}else if(n.shape==="circle"){const _=Math.max(A,u,d,h),[m,p]=So(o,[n.x,n.y]),g=n.radius*Math.abs(o.a),y=_*Math.abs(o.a),f=Math.max(0,g-y);e.save(),e.beginPath(),e.arc(m,p,g,0,Math.PI*2),f>0&&e.arc(m,p,f,0,Math.PI*2,!0),e.fill("evenodd"),e.restore()}else if(n.shape==="pill"||n.shape==="rotated_pill"){const _=Math.max(A,u,d,h),[m,p]=So(o,[n.x,n.y]),g=n.width*Math.abs(o.a),y=n.height*Math.abs(o.a),f=_*Math.abs(o.a);e.save(),e.translate(m,p),l!==0&&e.rotate(-l*Math.PI/180),e.beginPath(),kb({ctx:e,cx:0,cy:0,width:g,height:y});const C=g-f*2,I=y-f*2;C>0&&I>0&&kb({ctx:e,cx:0,cy:0,width:C,height:I}),e.fill("evenodd"),e.restore()}else if(n.shape==="polygon"&&n.points&&n.points.length>=3){const _=Math.max(A,u,d,h);e.save(),e.beginPath();const m=n.points.map(g=>{const[y,f]=So(o,[g.x,g.y]);return{x:y,y:f}});$P({ctx:e,points:m});const p=VF(n.points,-_);if(p.length>=3){const g=p.map(y=>{const[f,C]=So(o,[y.x,y.y]);return{x:f,y:C}});$P({ctx:e,points:g})}e.fill("evenodd"),e.restore()}}function BQ(t,e){const n=Math.hypot(t,e);return n<=Number.EPSILON?{x:0,y:0}:{x:t/n,y:e/n}}function vfo(t,e){const n=t.length;if(n<2)return{x:1,y:0};if(e<=0){const l=t[1],A=t[0];if(!l||!A)return{x:1,y:0};const u=BQ(l.x-A.x,l.y-A.y);return u.x===0&&u.y===0?{x:1,y:0}:u}if(e>=n-1){const l=t[n-2],A=t[n-1];if(!l||!A)return{x:1,y:0};const u=BQ(A.x-l.x,A.y-l.y);return u.x===0&&u.y===0?{x:1,y:0}:u}const o=t[e-1],i=t[e],r=t[e+1];if(!o||!i||!r)return{x:1,y:0};const s=BQ(i.x-o.x,i.y-o.y),a=BQ(r.x-i.x,r.y-i.y),c=BQ(s.x+a.x,s.y+a.y);return c.x===0&&c.y===0?s.x!==0||s.y!==0?s:a.x!==0||a.y!==0?a:{x:1,y:0}:c}function rEt(t){const e=[],n=[];for(let o=0;o<t.length;o++){const i=t[o];if(!i)continue;const r=vfo(t,o),s=BQ(-r.y,r.x),a=i.width/2;e.push({x:i.x+s.x*a,y:i.y+s.y*a}),n.push({x:i.x-s.x*a,y:i.y-s.y*a})}return e.concat(n.reverse())}function v3e(t){const e=[];let n=[],o=null;for(const i of t??[]){if(!i||i.route_type!=="wire"){n.length>=2&&e.push(n),n=[],o=null;continue}const r=i.layer??o;if(!r)continue;const s=i.x,a=i.y;typeof s!="number"||typeof a!="number"||typeof i.width=="number"&&(i.width,o&&r!==o&&(n.length>=2&&e.push(n),n=[]),o=r,n.push(i))}return n.length>=2&&e.push(n),e}var sEt=1e-6;function aEt(t){const{ctx:e,trace:n,realToCanvasMat:o,vias:i,platedHoles:r,layer:s}=t;if(!n.route||n.route.length<2)return;const a=v3e(n.route);if(a.length===0)return;const c=new Map;for(const l of a){const A=l[0]?.layer,u=l[l.length-1];if(!(!A||!u)&&!(s&&A!==s)){for(const d of i){if(d.layers&&Array.isArray(d.layers)&&!d.layers.includes(A)||!cEt(u.x,u.y,d.x,d.y))continue;const h=d.hole_diameter/2;if(h<=0)continue;const _={shape:"circle",x:d.x,y:d.y,radius:h};c.set(lEt(_),_)}for(const d of r){if(d.layers&&Array.isArray(d.layers)&&!d.layers.includes(A))continue;const h=Bfo(d);h&&cEt(u.x,u.y,h.x,h.y)&&c.set(lEt(h),h)}}}if(c.size!==0){e.save(),e.globalCompositeOperation="destination-out";for(const l of c.values()){if(l.shape==="circle"){Uh({ctx:e,center:{x:l.x,y:l.y},radius:l.radius,fill:"#000",realToCanvasMat:o});continue}if(l.shape==="oval"){K4({ctx:e,center:{x:l.x,y:l.y},radius_x:l.radiusX,radius_y:l.radiusY,fill:"#000",realToCanvasMat:o,rotation:l.rotation});continue}Qm({ctx:e,center:{x:l.x,y:l.y},width:l.width,height:l.height,fill:"#000",realToCanvasMat:o,rotation:l.rotation})}e.restore()}}function Bfo(t){if(t.shape==="circle"){const i=t.hole_diameter/2;return i<=0?void 0:{shape:"circle",x:t.x,y:t.y,radius:i}}if(t.shape==="oval"){const i=t.hole_width/2,r=t.hole_height/2;return i<=0||r<=0?void 0:{shape:"oval",x:t.x,y:t.y,radiusX:i,radiusY:r,rotation:t.ccw_rotation}}if(t.shape==="pill")return t.hole_width<=0||t.hole_height<=0?void 0:{shape:"pill",x:t.x,y:t.y,width:t.hole_width,height:t.hole_height,rotation:t.ccw_rotation};if(t.shape==="circular_hole_with_rect_pad"){const i=t.hole_diameter/2;return i<=0?void 0:{shape:"circle",x:t.x+(t.hole_offset_x??0),y:t.y+(t.hole_offset_y??0),radius:i}}if(t.shape==="pill_hole_with_rect_pad")return t.hole_width<=0||t.hole_height<=0?void 0:{shape:"pill",x:t.x+(t.hole_offset_x??0),y:t.y+(t.hole_offset_y??0),width:t.hole_width,height:t.hole_height};if(t.shape==="rotated_pill_hole_with_rect_pad")return t.hole_width<=0||t.hole_height<=0?void 0:{shape:"pill",x:t.x+(t.hole_offset_x??0),y:t.y+(t.hole_offset_y??0),width:t.hole_width,height:t.hole_height,rotation:t.hole_ccw_rotation};if(t.shape!=="hole_with_polygon_pad")return;const e=t.x+(t.hole_offset_x??0),n=t.y+(t.hole_offset_y??0),o=t.hole_shape;if(o==="circle"){const i=(t.hole_diameter??0)/2;return i<=0?void 0:{shape:"circle",x:e,y:n,radius:i}}if(o==="oval"){const i=(t.hole_width??0)/2,r=(t.hole_height??0)/2;return i<=0||r<=0?void 0:{shape:"oval",x:e,y:n,radiusX:i,radiusY:r}}if(o==="pill"||o==="rotated_pill"){const i=t.hole_width??0,r=t.hole_height??0;return i<=0||r<=0?void 0:{shape:"pill",x:e,y:n,width:i,height:r,rotation:o==="rotated_pill"?t.ccw_rotation:0}}}function cEt(t,e,n,o){return Math.abs(t-n)<=sEt&&Math.abs(e-o)<=sEt}function lEt(t){return t.shape==="circle"?`circle:${t.x}:${t.y}:${t.radius}`:t.shape==="oval"?`oval:${t.x}:${t.y}:${t.radiusX}:${t.radiusY}:${t.rotation??0}`:`pill:${t.x}:${t.y}:${t.width}:${t.height}:${t.rotation??0}`}function AEt(t){if(t.length<2)return!1;const e=t[0]?.width;return typeof e!="number"?!1:t.some(n=>Math.abs(n.width-e)>Number.EPSILON)}function Mfo(t){const{ctx:e,trace:n,realToCanvasMat:o,soldermaskOverCopperColor:i,layer:r}=t;if(!n.route||!Array.isArray(n.route)||n.route.length<2)return;const s=v3e(n.route);for(const a of s)if(a[0]?.layer===r){if(AEt(a)){const l=rEt(a);qP({ctx:e,points:l,fill:i,realToCanvasMat:o});continue}for(let l=0;l<a.length-1;l++){const A=a[l],u=a[l+1];!A||!u||vQ({ctx:e,start:{x:A.x,y:A.y},end:{x:u.x,y:u.y},strokeWidth:A.width,stroke:i,realToCanvasMat:o,lineCap:"round"})}}aEt({ctx:e,trace:n,realToCanvasMat:o,layer:r,vias:t.vias,platedHoles:t.platedHoles})}function wfo(t){const{ctx:e,via:n,realToCanvasMat:o}=t,[i,r]=So(o,[n.x,n.y]),s=n.outer_diameter/2*Math.abs(o.a);e.beginPath(),e.arc(i,r,s,0,Math.PI*2),e.closePath(),Ix(e)}function uEt(t){const{ctx:e,elements:n,realToCanvasMat:o,colorMap:i,layer:r,drawSoldermask:s}=t;if(!s||e.canvas.width<=0||e.canvas.height<=0)return;const a=n.filter(_=>_.type==="pcb_board"),c=n.find(_=>_.type==="pcb_panel");if(a.length===0&&!c)return;const l=i.soldermask[r]??i.soldermask.top,A=i.soldermaskOverCopper[r]??i.soldermaskOverCopper.top,u=n.filter(_=>_.type==="pcb_via"),d=n.filter(_=>_.type==="pcb_plated_hole"),h=_fo(e,e.canvas.width,e.canvas.height)??e;if(c&&hfo({ctx:h,panel:c,realToCanvasMat:o,soldermaskColor:l}),c&&a.length>0){h.save(),h.globalCompositeOperation="destination-out";for(const _ of a)nEt({ctx:h,board:_,realToCanvasMat:o,soldermaskColor:"#000"});h.restore()}for(const _ of a)nEt({ctx:h,board:_,realToCanvasMat:o,soldermaskColor:l});for(const _ of n)_.type==="pcb_trace"?Mfo({ctx:h,trace:_,realToCanvasMat:o,soldermaskOverCopperColor:A,layer:r,vias:u,platedHoles:d}):_.type==="pcb_copper_pour"&&Cfo({ctx:h,pour:_,realToCanvasMat:o,soldermaskOverCopperColor:A,layer:r,elements:n});for(const _ of n)Dfo({ctx:h,element:_,realToCanvasMat:o,soldermaskOverCopperColor:A,layer:r});ufo(e,h)}function Dfo(t){const{ctx:e,element:n,realToCanvasMat:o,soldermaskOverCopperColor:i,layer:r}=t;if(n.type==="pcb_smtpad")Sfo({ctx:e,pad:n,realToCanvasMat:o,soldermaskOverCopperColor:i,layer:r});else if(n.type==="pcb_plated_hole")Efo({ctx:e,hole:n,realToCanvasMat:o,soldermaskOverCopperColor:i,layer:r});else if(n.type==="pcb_hole")xfo({ctx:e,hole:n,realToCanvasMat:o,soldermaskOverCopperColor:i});else if(n.type==="pcb_via")wfo({ctx:e,via:n,realToCanvasMat:o});else if(n.type==="pcb_cutout")mfo({ctx:e,cutout:n,realToCanvasMat:o});else{if(n.type==="pcb_copper_pour")return;if(n.type==="pcb_trace")return}}function Qfo(t,e){return e.copper[t]??e.copper.top}function dEt(t){const{ctx:e,trace:n,realToCanvasMat:o,colorMap:i}=t;if(!n.route||!Array.isArray(n.route)||n.route.length<2)return;const r=v3e(n.route);for(const s of r){const a=s[0]?.layer;if(!a)continue;const c=Qfo(a,i);if(AEt(s)){const l=rEt(s);qP({ctx:e,points:l,fill:c,realToCanvasMat:o});continue}for(let l=0;l<s.length-1;l++){const A=s[l],u=s[l+1];!A||!u||A.is_inside_copper_pour&&u.is_inside_copper_pour||vQ({ctx:e,start:{x:A.x,y:A.y},end:{x:u.x,y:u.y},strokeWidth:A.width,stroke:c,realToCanvasMat:o,lineCap:"round"})}}aEt({ctx:e,trace:n,realToCanvasMat:o,vias:t.vias??[],platedHoles:t.platedHoles??[]})}function _Et(t){const{ctx:e,via:n,realToCanvasMat:o,colorMap:i,layer:r}=t;Uh({ctx:e,center:{x:n.x,y:n.y},radius:n.outer_diameter/2,fill:i.copper[r??"top"],realToCanvasMat:o}),e.save(),e.globalCompositeOperation="destination-out",Uh({ctx:e,center:{x:n.x,y:n.y},radius:n.hole_diameter/2,fill:"#000",realToCanvasMat:o}),e.restore(),Uh({ctx:e,center:{x:n.x,y:n.y},radius:n.hole_diameter/2,fill:i.drill,realToCanvasMat:o})}function K2(t,e){if(!e.layers||e.layers.length===0)return!0;const n=$re(t);return n.length===0?!0:n.some(o=>e.layers.includes(o))}var N1={copper:{top:"rgb(200, 52, 52)",inner1:"rgb(255, 140, 0)",inner2:"rgb(255, 215, 0)",inner3:"rgb(50, 205, 50)",inner4:"rgb(64, 224, 208)",inner5:"rgb(138, 43, 226)",inner6:"rgb(255, 105, 180)",bottom:"rgb(77, 127, 196)"},copperPour:{top:"rgb(230, 95, 95)",bottom:"rgb(122, 162, 222)"},soldermaskWithCopperUnderneath:{top:"rgb(18, 82, 50)",bottom:"rgb(77, 127, 196)"},soldermask:{top:"rgb(12, 55, 33)",bottom:"rgb(12, 55, 33)"},soldermaskOverCopper:{top:"rgb(52, 135, 73)",bottom:"rgb(52, 135, 73)"},substrate:"rgb(201, 162, 110)",drill:"#FF26E2",silkscreen:{top:"#f2eda1",bottom:"#5da9e9"},boardOutline:"rgba(255, 255, 255, 0.5)",courtyard:{top:"#FF00FF",bottom:"rgb(38, 233, 255)"},keepout:"#FF6B6B",fabricationNote:"rgba(255, 255, 255, 0.5)"};function Tfo(t){return!t||t.length===0?"top":t.some(n=>n.startsWith("bottom"))?"bottom":"top"}var th=class{ctx;colorMap;realToCanvasMat;constructor(t){if("getContext"in t&&typeof t.getContext=="function"){const e=t.getContext("2d");if(!e)throw new Error("Failed to get 2D rendering context from canvas");this.ctx=e}else this.ctx=t;this.colorMap={...N1},this.realToCanvasMat=opo()}configure(t){t.colorOverrides&&(this.colorMap={...this.colorMap,...t.colorOverrides,copper:{...this.colorMap.copper,...t.colorOverrides.copper},copperPour:{...this.colorMap.copperPour,...t.colorOverrides.copperPour},silkscreen:{...this.colorMap.silkscreen,...t.colorOverrides.silkscreen},soldermask:{...this.colorMap.soldermask,...t.colorOverrides.soldermask},soldermaskWithCopperUnderneath:{...this.colorMap.soldermaskWithCopperUnderneath,...t.colorOverrides.soldermaskWithCopperUnderneath},soldermaskOverCopper:{...this.colorMap.soldermaskOverCopper,...t.colorOverrides.soldermaskOverCopper}})}setCameraBounds(t){const e=this.ctx.canvas,n=e.width,o=e.height,i=t.maxX-t.minX,r=t.maxY-t.minY,s=n/i,a=o/r,c=Math.min(s,a),l=(n-i*c)/2,A=(o-r*c)/2;this.realToCanvasMat=x3e(JP(l,A),spo(c,-c),JP(-t.minX,-t.maxY))}drawElements(t,e={}){const n=Tfo(e.layers),o=t.find(d=>d.type==="pcb_board"),i=t.find(d=>d.type==="pcb_panel");i&&Kpo({ctx:this.ctx,panel:i,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});const r=e.drawBoardMaterial??!1,s=e.drawSoldermask??!1,a=e.drawSoldermaskTop!==void 0||e.drawSoldermaskBottom!==void 0,c=s&&(o!==void 0||i!==void 0)&&(e.drawSoldermaskTop??!a),l=s&&(o!==void 0||i!==void 0)&&(e.drawSoldermaskBottom??!1),A=t.filter(d=>K2(d,e)&&d.type==="pcb_via"),u=t.filter(d=>K2(d,e)&&d.type==="pcb_plated_hole");o&&apo({ctx:this.ctx,board:o,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,drawBoardMaterial:r,minBoardOutlineStrokePx:e.minBoardOutlineStrokePx});for(const d of t)K2(d,e)&&d.type==="pcb_copper_pour"&&Apo({ctx:this.ctx,pour:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});for(const d of t)K2(d,e)&&(d.type==="pcb_smtpad"&&lfo({ctx:this.ctx,pad:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),d.type==="pcb_copper_text"&&xpo({ctx:this.ctx,text:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}));if(c){for(const d of t)K2(d,e)&&d.type==="pcb_trace"&&dEt({ctx:this.ctx,trace:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,vias:A,platedHoles:u});for(const d of t)K2(d,e)&&(d.type==="pcb_hole"&&Z4t({ctx:this.ctx,hole:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:d.soldermask_margin,drawSoldermask:c}),d.type==="pcb_plated_hole"&&eEt({ctx:this.ctx,hole:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:d.soldermask_margin,drawSoldermask:c,layer:n}),d.type==="pcb_via"&&_Et({ctx:this.ctx,via:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:n}))}c&&uEt({ctx:this.ctx,elements:t,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:"top",drawSoldermask:!0});for(const d of t)K2(d,e)&&(d.type==="pcb_silkscreen_text"&&afo({ctx:this.ctx,text:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),d.type==="pcb_silkscreen_rect"&&ifo({ctx:this.ctx,rect:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),d.type==="pcb_silkscreen_circle"&&jpo({ctx:this.ctx,circle:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),d.type==="pcb_silkscreen_line"&&Jpo({ctx:this.ctx,line:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),d.type==="pcb_silkscreen_path"&&efo({ctx:this.ctx,path:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),d.type==="pcb_silkscreen_pill"&&nfo({ctx:this.ctx,pill:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),d.type==="pcb_silkscreen_oval"&&$po({ctx:this.ctx,oval:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}));for(const d of t)K2(d,e)&&d.type==="pcb_trace"&&!c&&dEt({ctx:this.ctx,trace:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,vias:A,platedHoles:u});for(const d of t)K2(d,e)&&d.type==="pcb_hole"&&!c&&Z4t({ctx:this.ctx,hole:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:c?d.soldermask_margin:void 0,drawSoldermask:c});for(const d of t)K2(d,e)&&(d.type==="pcb_plated_hole"&&!c&&eEt({ctx:this.ctx,hole:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:c?d.soldermask_margin:void 0,drawSoldermask:c,layer:n}),d.type==="pcb_via"&&!c&&_Et({ctx:this.ctx,via:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:n}));l&&uEt({ctx:this.ctx,elements:t,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:"bottom",drawSoldermask:!0});for(const d of t)K2(d,e)&&d.type==="pcb_cutout"&&Bpo({ctx:this.ctx,cutout:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});for(const d of t){if(!K2(d,e))continue;d.type==="pcb_keepout"&&Lpo({ctx:this.ctx,keepout:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),d.type==="pcb_fabrication_note_text"&&kpo({ctx:this.ctx,text:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),d.type==="pcb_fabrication_note_rect"&&Rpo({ctx:this.ctx,rect:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});const h=e.showPcbNotes??!0;h&&d.type==="pcb_note_rect"&&zpo({realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,ctx:this.ctx,rect:d}),d.type==="pcb_fabrication_note_path"&&Tpo({ctx:this.ctx,path:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),h&&d.type==="pcb_note_path"&&Upo({ctx:this.ctx,path:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),h&&d.type==="pcb_note_text"&&Ypo({ctx:this.ctx,text:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),h&&d.type==="pcb_note_line"&&Gpo({ctx:this.ctx,line:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),h&&d.type==="pcb_note_dimension"&&Opo({ctx:this.ctx,pcbNoteDimension:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),d.type==="pcb_fabrication_note_dimension"&&Qpo({ctx:this.ctx,pcbFabricationNoteDimension:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),d.type==="pcb_courtyard_circle"&&Epo({ctx:this.ctx,circle:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),d.type==="pcb_courtyard_rect"&&vpo({ctx:this.ctx,rect:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),d.type==="pcb_courtyard_outline"&&Spo({ctx:this.ctx,outline:d,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap})}}};const Rfo=u6t(nHt);var B3e,hEt;function Nfo(){if(hEt)return B3e;hEt=1;var t=Object.defineProperty,e=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i=(p,g)=>{for(var y in g)t(p,y,{get:g[y],enumerable:!0})},r=(p,g,y,f)=>{if(g&&typeof g=="object"||typeof g=="function")for(let C of n(g))!o.call(p,C)&&C!==y&&t(p,C,{get:()=>g[C],enumerable:!(f=e(g,C))||f.enumerable});return p},s=p=>r(t({},"__esModule",{value:!0}),p),a={};i(a,{SuperGrid:()=>m,toMMSI:()=>_,toMeterSI:()=>h}),B3e=s(a);var c=FC(),l=Rfo,A=n6e(),u=(p,g,y)=>{const f=[];if(g<p)for(let C=p;C>=g;C-=Math.abs(y))f.push(C);else for(let C=p;C<=g;C+=Math.abs(y))f.push(C);return f};function d(p,g){return{x:Math.round(g.x/p)*p,y:Math.round(g.y/p)*p}}function h(p,g=1){return p<0?"-"+h(-p):p<1e-6?"0m":p>1e3?Math.floor(p/1e3)+"km":p>1&&g>1?Math.round(p)+"m":p>1&&g<=1?p.toFixed(Math.ceil(-Math.log10(g)))+"m":p<1&&g>=1/1e3?Math.round(p*1e3)+"mm":p<1&&g<1/1e3?(p*1e3).toFixed(Math.ceil(-Math.log10(g*1e3)))+"mm":""}function _(p,g=1){return h(p/1e3,g/1e3)}var m=p=>{var g;const y=(0,c.useRef)(null),[f,C]=(0,c.useState)({x:0,y:0}),{majorColor:I="rgba(0,0,0,0.2)",minorColor:E="rgba(0,0,0,0.1)",textColor:b=(g=p.majorColor)!=null?g:"rgba(0,0,0,0.5)",width:P,height:B,screenSpaceCellSize:w=200,stringifyCoord:k=(G,K,j)=>`${h(G,j)}, ${h(K,j)}`}=p,N=Math.ceil(P/w)+2,L=Math.ceil(B/w)+2;(0,c.useEffect)(()=>{if(!y.current)return;const G=y.current.getContext("2d");if(!G)return;const K=w/10**Math.floor(Math.log10(p.transform.a)),j=p.transform.d<0?-1:1,oe=w/10**Math.log10(p.transform.a)/K;function Ae(be,ue,He){const Ge=be;let Ke,fe,Xe;for(Ke=ue.x;Ke<=He.x;Ke+=Ge)fe=(0,l.applyToPoint)(p.transform,{x:Ke,y:ue.y}),Xe=(0,l.applyToPoint)(p.transform,{x:Ke,y:He.y}),G.beginPath(),G.moveTo(fe.x,fe.y),G.lineTo(Xe.x,Xe.y),G.stroke();const Le=u(ue.y,He.y,Ge*j);for(const we of Le)fe=(0,l.applyToPoint)(p.transform,{x:ue.x,y:we}),Xe=(0,l.applyToPoint)(p.transform,{x:He.x,y:we}),G.beginPath(),G.moveTo(fe.x,fe.y),G.lineTo(Xe.x,Xe.y),G.stroke()}function Z(be,ue,He){const Ge=be;let Ke;for(Ke=ue.x;Ke<=He.x;Ke+=Ge)for(const fe of u(ue.y,He.y,Ge*j)){const Xe=(0,l.applyToPoint)(p.transform,{x:Ke,y:fe});G.fillStyle=b,G.font="12px sans-serif",G.fillText(k(Ke,fe,be),Xe.x+2,Xe.y-2)}}G.clearRect(0,0,P,B);const re=(0,l.applyToPoint)((0,l.inverse)(p.transform),{x:0,y:0}),ae={x:Math.floor((re.x-K)/K)*K,y:Math.floor((re.y-K)/K+(j==-1?2:0))*K},ce={x:ae.x+K*N,y:ae.y+K*L*j},Ie=K*5,ve={x:Math.floor((re.x-Ie)/Ie)*Ie,y:Math.floor((re.y-Ie)/Ie+(j==-1?2:0))*Ie},Be={x:ve.x+Ie*N,y:ve.y+Ie*L*j};G.globalAlpha=1,G.strokeStyle=I,Ae(K,ae,ce),Z(Ie,ve,Be),G.globalAlpha=1-oe,Ae(Ie/10,ve,Be),G.globalAlpha=1-oe,G.strokeStyle=E,Ae(K/10,ae,ce),G.globalAlpha=Math.max(((1-oe)*10-5)/5,0),Z(Ie/10,ve,Be),G.globalAlpha=1;const me=(0,l.applyToPoint)(p.transform,f);G.font="12px sans-serif",G.fillStyle=b,G.fillText(k(f.x,f.y,K),me.x+2,me.y-2),G.strokeStyle=I,G.strokeRect(me.x-5,me.y-5,10,10)},[y,p.transform,f,P,B]);const O=G=>{if(!y.current)return;const K=w/10/10**Math.floor(Math.log10(p.transform.a)),j=y.current.getBoundingClientRect(),$=(0,l.applyToPoint)((0,l.inverse)(p.transform),{x:G.clientX-j.left,y:G.clientY-j.top}),oe=d(K,$);C(oe)};return(0,A.jsx)("canvas",{onMouseUp:G=>{G.button===1&&O(G)},onDoubleClick:O,ref:y,width:p.width,height:p.height})};return B3e}var nee=Nfo();function kfo(t){if(t.sheet)return t.sheet;for(var e=0;e<document.styleSheets.length;e++)if(document.styleSheets[e].ownerNode===t)return document.styleSheets[e]}function Hfo(t){var e=document.createElement("style");return e.setAttribute("data-emotion",t.key),t.nonce!==void 0&&e.setAttribute("nonce",t.nonce),e.appendChild(document.createTextNode("")),e.setAttribute("data-s",""),e}var Lfo=(function(){function t(n){var o=this;this._insertTag=function(i){var r;o.tags.length===0?o.insertionPoint?r=o.insertionPoint.nextSibling:o.prepend?r=o.container.firstChild:r=o.before:r=o.tags[o.tags.length-1].nextSibling,o.container.insertBefore(i,r),o.tags.push(i)},this.isSpeedy=n.speedy===void 0?!0:n.speedy,this.tags=[],this.ctr=0,this.nonce=n.nonce,this.key=n.key,this.container=n.container,this.prepend=n.prepend,this.insertionPoint=n.insertionPoint,this.before=null}var e=t.prototype;return e.hydrate=function(o){o.forEach(this._insertTag)},e.insert=function(o){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(Hfo(this));var i=this.tags[this.tags.length-1];if(this.isSpeedy){var r=kfo(i);try{r.insertRule(o,r.cssRules.length)}catch{}}else i.appendChild(document.createTextNode(o));this.ctr++},e.flush=function(){this.tags.forEach(function(o){var i;return(i=o.parentNode)==null?void 0:i.removeChild(o)}),this.tags=[],this.ctr=0},t})(),Qf="-ms-",oee="-moz-",vl="-webkit-",mEt="comm",M3e="rule",w3e="decl",Ffo="@import",gEt="@keyframes",Ofo="@layer",Gfo=Math.abs,iee=String.fromCharCode,Ufo=Object.assign;function zfo(t,e){return xp(t,0)^45?(((e<<2^xp(t,0))<<2^xp(t,1))<<2^xp(t,2))<<2^xp(t,3):0}function pEt(t){return t.trim()}function Vfo(t,e){return(t=e.exec(t))?t[0]:t}function Bl(t,e,n){return t.replace(e,n)}function D3e(t,e){return t.indexOf(e)}function xp(t,e){return t.charCodeAt(e)|0}function YF(t,e,n){return t.slice(e,n)}function j4(t){return t.length}function Q3e(t){return t.length}function ree(t,e){return e.push(t),t}function Yfo(t,e){return t.map(e).join("")}var see=1,MQ=1,fEt=0,aC=0,zh=0,wQ="";function aee(t,e,n,o,i,r,s){return{value:t,root:e,parent:n,type:o,props:i,children:r,line:see,column:MQ,length:s,return:""}}function KF(t,e){return Ufo(aee("",null,null,"",null,null,0),t,{length:-t.length},e)}function Kfo(){return zh}function Wfo(){return zh=aC>0?xp(wQ,--aC):0,MQ--,zh===10&&(MQ=1,see--),zh}function Ex(){return zh=aC<fEt?xp(wQ,aC++):0,MQ++,zh===10&&(MQ=1,see++),zh}function X4(){return xp(wQ,aC)}function cee(){return aC}function WF(t,e){return YF(wQ,t,e)}function jF(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function yEt(t){return see=MQ=1,fEt=j4(wQ=t),aC=0,[]}function CEt(t){return wQ="",t}function lee(t){return pEt(WF(aC-1,T3e(t===91?t+2:t===40?t+1:t)))}function jfo(t){for(;(zh=X4())&&zh<33;)Ex();return jF(t)>2||jF(zh)>3?"":" "}function Xfo(t,e){for(;--e&&Ex()&&!(zh<48||zh>102||zh>57&&zh<65||zh>70&&zh<97););return WF(t,cee()+(e<6&&X4()==32&&Ex()==32))}function T3e(t){for(;Ex();)switch(zh){case t:return aC;case 34:case 39:t!==34&&t!==39&&T3e(zh);break;case 40:t===41&&T3e(t);break;case 92:Ex();break}return aC}function Jfo(t,e){for(;Ex()&&t+zh!==57;)if(t+zh===84&&X4()===47)break;return"/*"+WF(e,aC-1)+"*"+iee(t===47?t:Ex())}function qfo(t){for(;!jF(X4());)Ex();return WF(t,aC)}function $fo(t){return CEt(Aee("",null,null,null,[""],t=yEt(t),0,[0],t))}function Aee(t,e,n,o,i,r,s,a,c){for(var l=0,A=0,u=s,d=0,h=0,_=0,m=1,p=1,g=1,y=0,f="",C=i,I=r,E=o,b=f;p;)switch(_=y,y=Ex()){case 40:if(_!=108&&xp(b,u-1)==58){D3e(b+=Bl(lee(y),"&","&\f"),"&\f")!=-1&&(g=-1);break}case 34:case 39:case 91:b+=lee(y);break;case 9:case 10:case 13:case 32:b+=jfo(_);break;case 92:b+=Xfo(cee()-1,7);continue;case 47:switch(X4()){case 42:case 47:ree(Zfo(Jfo(Ex(),cee()),e,n),c);break;default:b+="/"}break;case 123*m:a[l++]=j4(b)*g;case 125*m:case 59:case 0:switch(y){case 0:case 125:p=0;case 59+A:g==-1&&(b=Bl(b,/\f/g,"")),h>0&&j4(b)-u&&ree(h>32?IEt(b+";",o,n,u-1):IEt(Bl(b," ","")+";",o,n,u-2),c);break;case 59:b+=";";default:if(ree(E=xEt(b,e,n,l,A,i,a,f,C=[],I=[],u),r),y===123)if(A===0)Aee(b,e,E,E,C,r,u,a,I);else switch(d===99&&xp(b,3)===110?100:d){case 100:case 108:case 109:case 115:Aee(t,E,E,o&&ree(xEt(t,E,E,0,0,i,a,f,i,C=[],u),I),i,I,u,a,o?C:I);break;default:Aee(b,E,E,E,[""],I,0,a,I)}}l=A=h=0,m=g=1,f=b="",u=s;break;case 58:u=1+j4(b),h=_;default:if(m<1){if(y==123)--m;else if(y==125&&m++==0&&Wfo()==125)continue}switch(b+=iee(y),y*m){case 38:g=A>0?1:(b+="\f",-1);break;case 44:a[l++]=(j4(b)-1)*g,g=1;break;case 64:X4()===45&&(b+=lee(Ex())),d=X4(),A=u=j4(f=b+=qfo(cee())),y++;break;case 45:_===45&&j4(b)==2&&(m=0)}}return r}function xEt(t,e,n,o,i,r,s,a,c,l,A){for(var u=i-1,d=i===0?r:[""],h=Q3e(d),_=0,m=0,p=0;_<o;++_)for(var g=0,y=YF(t,u+1,u=Gfo(m=s[_])),f=t;g<h;++g)(f=pEt(m>0?d[g]+" "+y:Bl(y,/&\f/g,d[g])))&&(c[p++]=f);return aee(t,e,n,i===0?M3e:a,c,l,A)}function Zfo(t,e,n){return aee(t,e,n,mEt,iee(Kfo()),YF(t,2,-2),0)}function IEt(t,e,n,o){return aee(t,e,n,w3e,YF(t,0,o),YF(t,o+1,-1),o)}function DQ(t,e){for(var n="",o=Q3e(t),i=0;i<o;i++)n+=e(t[i],i,t,e)||"";return n}function e1o(t,e,n,o){switch(t.type){case Ofo:if(t.children.length)break;case Ffo:case w3e:return t.return=t.return||t.value;case mEt:return"";case gEt:return t.return=t.value+"{"+DQ(t.children,o)+"}";case M3e:t.value=t.props.join(",")}return j4(n=DQ(t.children,o))?t.return=t.value+"{"+n+"}":""}function t1o(t){var e=Q3e(t);return function(n,o,i,r){for(var s="",a=0;a<e;a++)s+=t[a](n,o,i,r)||"";return s}}function n1o(t){return function(e){e.root||(e=e.return)&&t(e)}}function o1o(t){var e=Object.create(null);return function(n){return e[n]===void 0&&(e[n]=t(n)),e[n]}}var i1o=function(e,n,o){for(var i=0,r=0;i=r,r=X4(),i===38&&r===12&&(n[o]=1),!jF(r);)Ex();return WF(e,aC)},r1o=function(e,n){var o=-1,i=44;do switch(jF(i)){case 0:i===38&&X4()===12&&(n[o]=1),e[o]+=i1o(aC-1,n,o);break;case 2:e[o]+=lee(i);break;case 4:if(i===44){e[++o]=X4()===58?"&\f":"",n[o]=e[o].length;break}default:e[o]+=iee(i)}while(i=Ex());return e},s1o=function(e,n){return CEt(r1o(yEt(e),n))},EEt=new WeakMap,a1o=function(e){if(!(e.type!=="rule"||!e.parent||e.length<1)){for(var n=e.value,o=e.parent,i=e.column===o.column&&e.line===o.line;o.type!=="rule";)if(o=o.parent,!o)return;if(!(e.props.length===1&&n.charCodeAt(0)!==58&&!EEt.get(o))&&!i){EEt.set(e,!0);for(var r=[],s=s1o(n,r),a=o.props,c=0,l=0;c<s.length;c++)for(var A=0;A<a.length;A++,l++)e.props[l]=r[c]?s[c].replace(/&\f/g,a[A]):a[A]+" "+s[c]}}},c1o=function(e){if(e.type==="decl"){var n=e.value;n.charCodeAt(0)===108&&n.charCodeAt(2)===98&&(e.return="",e.value="")}};function bEt(t,e){switch(zfo(t,e)){case 5103:return vl+"print-"+t+t;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return vl+t+t;case 5349:case 4246:case 4810:case 6968:case 2756:return vl+t+oee+t+Qf+t+t;case 6828:case 4268:return vl+t+Qf+t+t;case 6165:return vl+t+Qf+"flex-"+t+t;case 5187:return vl+t+Bl(t,/(\w+).+(:[^]+)/,vl+"box-$1$2"+Qf+"flex-$1$2")+t;case 5443:return vl+t+Qf+"flex-item-"+Bl(t,/flex-|-self/,"")+t;case 4675:return vl+t+Qf+"flex-line-pack"+Bl(t,/align-content|flex-|-self/,"")+t;case 5548:return vl+t+Qf+Bl(t,"shrink","negative")+t;case 5292:return vl+t+Qf+Bl(t,"basis","preferred-size")+t;case 6060:return vl+"box-"+Bl(t,"-grow","")+vl+t+Qf+Bl(t,"grow","positive")+t;case 4554:return vl+Bl(t,/([^-])(transform)/g,"$1"+vl+"$2")+t;case 6187:return Bl(Bl(Bl(t,/(zoom-|grab)/,vl+"$1"),/(image-set)/,vl+"$1"),t,"")+t;case 5495:case 3959:return Bl(t,/(image-set\([^]*)/,vl+"$1$`$1");case 4968:return Bl(Bl(t,/(.+:)(flex-)?(.*)/,vl+"box-pack:$3"+Qf+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+vl+t+t;case 4095:case 3583:case 4068:case 2532:return Bl(t,/(.+)-inline(.+)/,vl+"$1$2")+t;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(j4(t)-1-e>6)switch(xp(t,e+1)){case 109:if(xp(t,e+4)!==45)break;case 102:return Bl(t,/(.+:)(.+)-([^]+)/,"$1"+vl+"$2-$3$1"+oee+(xp(t,e+3)==108?"$3":"$2-$3"))+t;case 115:return~D3e(t,"stretch")?bEt(Bl(t,"stretch","fill-available"),e)+t:t}break;case 4949:if(xp(t,e+1)!==115)break;case 6444:switch(xp(t,j4(t)-3-(~D3e(t,"!important")&&10))){case 107:return Bl(t,":",":"+vl)+t;case 101:return Bl(t,/(.+:)([^;!]+)(;|!.+)?/,"$1"+vl+(xp(t,14)===45?"inline-":"")+"box$3$1"+vl+"$2$3$1"+Qf+"$2box$3")+t}break;case 5936:switch(xp(t,e+11)){case 114:return vl+t+Qf+Bl(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return vl+t+Qf+Bl(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return vl+t+Qf+Bl(t,/[svh]\w+-[tblr]{2}/,"lr")+t}return vl+t+Qf+t+t}return t}var l1o=function(e,n,o,i){if(e.length>-1&&!e.return)switch(e.type){case w3e:e.return=bEt(e.value,e.length);break;case gEt:return DQ([KF(e,{value:Bl(e.value,"@","@"+vl)})],i);case M3e:if(e.length)return Yfo(e.props,function(r){switch(Vfo(r,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return DQ([KF(e,{props:[Bl(r,/:(read-\w+)/,":"+oee+"$1")]})],i);case"::placeholder":return DQ([KF(e,{props:[Bl(r,/:(plac\w+)/,":"+vl+"input-$1")]}),KF(e,{props:[Bl(r,/:(plac\w+)/,":"+oee+"$1")]}),KF(e,{props:[Bl(r,/:(plac\w+)/,Qf+"input-$1")]})],i)}return""})}},A1o=[l1o],u1o=function(e){var n=e.key;if(n==="css"){var o=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(o,function(m){var p=m.getAttribute("data-emotion");p.indexOf(" ")!==-1&&(document.head.appendChild(m),m.setAttribute("data-s",""))})}var i=e.stylisPlugins||A1o,r={},s,a=[];s=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(m){for(var p=m.getAttribute("data-emotion").split(" "),g=1;g<p.length;g++)r[p[g]]=!0;a.push(m)});var c,l=[a1o,c1o];{var A,u=[e1o,n1o(function(m){A.insert(m)})],d=t1o(l.concat(i,u)),h=function(p){return DQ($fo(p),d)};c=function(p,g,y,f){A=y,h(p?p+"{"+g.styles+"}":g.styles),f&&(_.inserted[g.name]=!0)}}var _={key:n,sheet:new Lfo({key:n,container:s,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:r,registered:{},insert:c};return _.sheet.hydrate(a),_};function d1o(t){for(var e=0,n,o=0,i=t.length;i>=4;++o,i-=4)n=t.charCodeAt(o)&255|(t.charCodeAt(++o)&255)<<8|(t.charCodeAt(++o)&255)<<16|(t.charCodeAt(++o)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,e=(n&65535)*1540483477+((n>>>16)*59797<<16)^(e&65535)*1540483477+((e>>>16)*59797<<16);switch(i){case 3:e^=(t.charCodeAt(o+2)&255)<<16;case 2:e^=(t.charCodeAt(o+1)&255)<<8;case 1:e^=t.charCodeAt(o)&255,e=(e&65535)*1540483477+((e>>>16)*59797<<16)}return e^=e>>>13,e=(e&65535)*1540483477+((e>>>16)*59797<<16),((e^e>>>15)>>>0).toString(36)}var _1o={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},h1o=/[A-Z]|^ms/g,m1o=/_EMO_([^_]+?)_([^]*?)_EMO_/g,SEt=function(e){return e.charCodeAt(1)===45},PEt=function(e){return e!=null&&typeof e!="boolean"},R3e=o1o(function(t){return SEt(t)?t:t.replace(h1o,"-$&").toLowerCase()}),vEt=function(e,n){switch(e){case"animation":case"animationName":if(typeof n=="string")return n.replace(m1o,function(o,i,r){return ZP={name:i,styles:r,next:ZP},i})}return _1o[e]!==1&&!SEt(e)&&typeof n=="number"&&n!==0?n+"px":n};function uee(t,e,n){if(n==null)return"";var o=n;if(o.__emotion_styles!==void 0)return o;switch(typeof n){case"boolean":return"";case"object":{var i=n;if(i.anim===1)return ZP={name:i.name,styles:i.styles,next:ZP},i.name;var r=n;if(r.styles!==void 0){var s=r.next;if(s!==void 0)for(;s!==void 0;)ZP={name:s.name,styles:s.styles,next:ZP},s=s.next;var a=r.styles+";";return a}return g1o(t,e,n)}}var c=n;if(e==null)return c;var l=e[c];return l!==void 0?l:c}function g1o(t,e,n){var o="";if(Array.isArray(n))for(var i=0;i<n.length;i++)o+=uee(t,e,n[i])+";";else for(var r in n){var s=n[r];if(typeof s!="object"){var a=s;e!=null&&e[a]!==void 0?o+=r+"{"+e[a]+"}":PEt(a)&&(o+=R3e(r)+":"+vEt(r,a)+";")}else if(Array.isArray(s)&&typeof s[0]=="string"&&(e==null||e[s[0]]===void 0))for(var c=0;c<s.length;c++)PEt(s[c])&&(o+=R3e(r)+":"+vEt(r,s[c])+";");else{var l=uee(t,e,s);switch(r){case"animation":case"animationName":{o+=R3e(r)+":"+l+";";break}default:o+=r+"{"+l+"}"}}}return o}var BEt=/label:\s*([^\s;{]+)\s*(;|$)/g,ZP;function N3e(t,e,n){if(t.length===1&&typeof t[0]=="object"&&t[0]!==null&&t[0].styles!==void 0)return t[0];var o=!0,i="";ZP=void 0;var r=t[0];if(r==null||r.raw===void 0)o=!1,i+=uee(n,e,r);else{var s=r;i+=s[0]}for(var a=1;a<t.length;a++)if(i+=uee(n,e,t[a]),o){var c=r;i+=c[a]}BEt.lastIndex=0;for(var l="",A;(A=BEt.exec(i))!==null;)l+="-"+A[1];var u=d1o(i)+l;return{name:u,styles:i,next:ZP}}function MEt(t,e,n){var o="";return n.split(" ").forEach(function(i){t[i]!==void 0?e.push(t[i]+";"):i&&(o+=i+" ")}),o}var p1o=function(e,n,o){var i=e.key+"-"+n.name;e.registered[i]===void 0&&(e.registered[i]=n.styles)},f1o=function(e,n,o){p1o(e,n);var i=e.key+"-"+n.name;if(e.inserted[n.name]===void 0){var r=n;do e.insert(n===r?"."+i:"",r,e.sheet,!0),r=r.next;while(r!==void 0)}};function wEt(t,e){if(t.inserted[e.name]===void 0)return t.insert("",e,t.sheet,!0)}function DEt(t,e,n){var o=[],i=MEt(t,o,n);return o.length<2?n:i+e(o)}var y1o=function(e){var n=u1o(e);n.sheet.speedy=function(a){this.isSpeedy=a},n.compat=!0;var o=function(){for(var c=arguments.length,l=new Array(c),A=0;A<c;A++)l[A]=arguments[A];var u=N3e(l,n.registered,void 0);return f1o(n,u),n.key+"-"+u.name},i=function(){for(var c=arguments.length,l=new Array(c),A=0;A<c;A++)l[A]=arguments[A];var u=N3e(l,n.registered),d="animation-"+u.name;return wEt(n,{name:u.name,styles:"@keyframes "+d+"{"+u.styles+"}"}),d},r=function(){for(var c=arguments.length,l=new Array(c),A=0;A<c;A++)l[A]=arguments[A];var u=N3e(l,n.registered);wEt(n,u)},s=function(){for(var c=arguments.length,l=new Array(c),A=0;A<c;A++)l[A]=arguments[A];return DEt(n.registered,o,C1o(l))};return{css:o,cx:s,injectGlobal:r,keyframes:i,hydrate:function(c){c.forEach(function(l){n.inserted[l]=!0})},flush:function(){n.registered={},n.inserted={},n.sheet.flush()},sheet:n.sheet,cache:n,getRegisteredStyles:MEt.bind(null,n.registered),merge:DEt.bind(null,n.registered,o)}},C1o=function t(e){for(var n="",o=0;o<e.length;o++){var i=e[o];if(i!=null){var r=void 0;switch(typeof i){case"boolean":break;case"object":{if(Array.isArray(i))r=t(i);else{r="";for(var s in i)i[s]&&s&&(r&&(r+=" "),r+=s)}break}default:r=i}r&&(n&&(n+=" "),n+=r)}}return n},x1o=y1o({key:"css"}),QQ=x1o.css,I1o=Object.create,QEt=Object.defineProperty,E1o=Object.getOwnPropertyDescriptor,TEt=Object.getOwnPropertyNames,b1o=Object.getPrototypeOf,S1o=Object.prototype.hasOwnProperty,Vc=(t,e)=>function(){return e||(0,t[TEt(t)[0]])((e={exports:{}}).exports,e),e.exports},P1o=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of TEt(e))!S1o.call(t,i)&&i!==n&&QEt(t,i,{get:()=>e[i],enumerable:!(o=E1o(e,i))||o.enumerable});return t},k3e=(t,e,n)=>(n=t!=null?I1o(b1o(t)):{},P1o(e||!t||!t.__esModule?QEt(n,"default",{value:t,enumerable:!0}):n,t)),v1o=Vc({"node_modules/toggle-selection/index.js"(t,e){e.exports=function(){var n=document.getSelection();if(!n.rangeCount)return function(){};for(var o=document.activeElement,i=[],r=0;r<n.rangeCount;r++)i.push(n.getRangeAt(r));switch(o.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":o.blur();break;default:o=null;break}return n.removeAllRanges(),function(){n.type==="Caret"&&n.removeAllRanges(),n.rangeCount||i.forEach(function(s){n.addRange(s)}),o&&o.focus()}}}}),B1o=Vc({"node_modules/copy-to-clipboard/index.js"(t,e){var n=v1o(),o={"text/plain":"Text","text/html":"Url",default:"Text"},i="Copy to clipboard: #{key}, Enter";function r(a){var c=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return a.replace(/#{\s*key\s*}/g,c)}function s(a,c){var l,A,u,d,h,_,m=!1;c||(c={}),l=c.debug||!1;try{u=n(),d=document.createRange(),h=document.getSelection(),_=document.createElement("span"),_.textContent=a,_.ariaHidden="true",_.style.all="unset",_.style.position="fixed",_.style.top=0,_.style.clip="rect(0, 0, 0, 0)",_.style.whiteSpace="pre",_.style.webkitUserSelect="text",_.style.MozUserSelect="text",_.style.msUserSelect="text",_.style.userSelect="text",_.addEventListener("copy",function(g){if(g.stopPropagation(),c.format)if(g.preventDefault(),typeof g.clipboardData>"u"){l&&console.warn("unable to use e.clipboardData"),l&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var y=o[c.format]||o.default;window.clipboardData.setData(y,a)}else g.clipboardData.clearData(),g.clipboardData.setData(c.format,a);c.onCopy&&(g.preventDefault(),c.onCopy(g.clipboardData))}),document.body.appendChild(_),d.selectNodeContents(_),h.addRange(d);var p=document.execCommand("copy");if(!p)throw new Error("copy command was unsuccessful");m=!0}catch(g){l&&console.error("unable to copy using execCommand: ",g),l&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(c.format||"text",a),c.onCopy&&c.onCopy(window.clipboardData),m=!0}catch(y){l&&console.error("unable to copy using clipboardData: ",y),l&&console.error("falling back to prompt"),A=r("message"in c?c.message:i),window.prompt(A,a)}}finally{h&&(typeof h.removeRange=="function"?h.removeRange(d):h.removeAllRanges()),_&&document.body.removeChild(_),u()}return m}e.exports=s}}),M1o=Vc({"node_modules/svgson/dist/svgson.umd.js"(t,e){(function(n,o){typeof t=="object"&&typeof e<"u"?e.exports=o():typeof define=="function"&&define.amd?define(o):(n=typeof globalThis<"u"?globalThis:n||self,n.svgson=o())})(t,function(){var n=function(Z){return Z!=null&&(o(Z)||i(Z)||!!Z._isBuffer)};function o(Z){return!!Z.constructor&&typeof Z.constructor.isBuffer=="function"&&Z.constructor.isBuffer(Z)}function i(Z){return typeof Z.readFloatLE=="function"&&typeof Z.slice=="function"&&o(Z.slice(0,0))}var r=Object.prototype.toString,s=function(re){if(typeof re>"u")return"undefined";if(re===null)return"null";if(re===!0||re===!1||re instanceof Boolean)return"boolean";if(typeof re=="string"||re instanceof String)return"string";if(typeof re=="number"||re instanceof Number)return"number";if(typeof re=="function"||re instanceof Function)return"function";if(typeof Array.isArray<"u"&&Array.isArray(re))return"array";if(re instanceof RegExp)return"regexp";if(re instanceof Date)return"date";var ae=r.call(re);return ae==="[object RegExp]"?"regexp":ae==="[object Date]"?"date":ae==="[object Arguments]"?"arguments":ae==="[object Error]"?"error":n(re)?"buffer":ae==="[object Set]"?"set":ae==="[object WeakSet]"?"weakset":ae==="[object Map]"?"map":ae==="[object WeakMap]"?"weakmap":ae==="[object Symbol]"?"symbol":ae==="[object Int8Array]"?"int8array":ae==="[object Uint8Array]"?"uint8array":ae==="[object Uint8ClampedArray]"?"uint8clampedarray":ae==="[object Int16Array]"?"int16array":ae==="[object Uint16Array]"?"uint16array":ae==="[object Int32Array]"?"int32array":ae==="[object Uint32Array]"?"uint32array":ae==="[object Float32Array]"?"float32array":ae==="[object Float64Array]"?"float64array":"object"};function a(Z,re){return re={exports:{}},Z(re,re.exports),re.exports}var c=a(function(Z){(function(){function re(ae,ce){if(typeof ce!="function")return ae;var pe={};for(var Ie in ae)Object.prototype.hasOwnProperty.call(ae,Ie)&&(pe[ce(Ie,ae[Ie])||Ie]=ae[Ie]);return pe}Z.exports?Z.exports=re:window.rename=re})()}),l=function Z(re,ae){var ce=s(re);if(ce!=="object"&&ce!=="array")throw new Error("expected an object");var pe=[];ce==="object"&&(re=c(re,ae),pe={});for(var Ie in re)if(re.hasOwnProperty(Ie)){var ve=re[Ie];s(ve)==="object"||s(ve)==="array"?pe[Ie]=Z(ve,ae):pe[Ie]=ve}return pe},A=a(function(Z){var re=Object.prototype.hasOwnProperty,ae="~";function ce(){}Object.create&&(ce.prototype=Object.create(null),new ce().__proto__||(ae=!1));function pe(ve,Be,me){this.fn=ve,this.context=Be,this.once=me||!1}function Ie(){this._events=new ce,this._eventsCount=0}Ie.prototype.eventNames=function(){var Be=[],me,be;if(this._eventsCount===0)return Be;for(be in me=this._events)re.call(me,be)&&Be.push(ae?be.slice(1):be);return Object.getOwnPropertySymbols?Be.concat(Object.getOwnPropertySymbols(me)):Be},Ie.prototype.listeners=function(Be,me){var be=ae?ae+Be:Be,ue=this._events[be];if(me)return!!ue;if(!ue)return[];if(ue.fn)return[ue.fn];for(var He=0,Ge=ue.length,Ke=new Array(Ge);He<Ge;He++)Ke[He]=ue[He].fn;return Ke},Ie.prototype.emit=function(Be,me,be,ue,He,Ge){var Ke=ae?ae+Be:Be;if(!this._events[Ke])return!1;var fe=this._events[Ke],Xe=arguments.length,Le,we;if(fe.fn){switch(fe.once&&this.removeListener(Be,fe.fn,void 0,!0),Xe){case 1:return fe.fn.call(fe.context),!0;case 2:return fe.fn.call(fe.context,me),!0;case 3:return fe.fn.call(fe.context,me,be),!0;case 4:return fe.fn.call(fe.context,me,be,ue),!0;case 5:return fe.fn.call(fe.context,me,be,ue,He),!0;case 6:return fe.fn.call(fe.context,me,be,ue,He,Ge),!0}for(we=1,Le=new Array(Xe-1);we<Xe;we++)Le[we-1]=arguments[we];fe.fn.apply(fe.context,Le)}else{var Ue=fe.length,Qe;for(we=0;we<Ue;we++)switch(fe[we].once&&this.removeListener(Be,fe[we].fn,void 0,!0),Xe){case 1:fe[we].fn.call(fe[we].context);break;case 2:fe[we].fn.call(fe[we].context,me);break;case 3:fe[we].fn.call(fe[we].context,me,be);break;case 4:fe[we].fn.call(fe[we].context,me,be,ue);break;default:if(!Le)for(Qe=1,Le=new Array(Xe-1);Qe<Xe;Qe++)Le[Qe-1]=arguments[Qe];fe[we].fn.apply(fe[we].context,Le)}}return!0},Ie.prototype.on=function(Be,me,be){var ue=new pe(me,be||this),He=ae?ae+Be:Be;return this._events[He]?this._events[He].fn?this._events[He]=[this._events[He],ue]:this._events[He].push(ue):(this._events[He]=ue,this._eventsCount++),this},Ie.prototype.once=function(Be,me,be){var ue=new pe(me,be||this,!0),He=ae?ae+Be:Be;return this._events[He]?this._events[He].fn?this._events[He]=[this._events[He],ue]:this._events[He].push(ue):(this._events[He]=ue,this._eventsCount++),this},Ie.prototype.removeListener=function(Be,me,be,ue){var He=ae?ae+Be:Be;if(!this._events[He])return this;if(!me)return--this._eventsCount===0?this._events=new ce:delete this._events[He],this;var Ge=this._events[He];if(Ge.fn)Ge.fn===me&&(!ue||Ge.once)&&(!be||Ge.context===be)&&(--this._eventsCount===0?this._events=new ce:delete this._events[He]);else{for(var Ke=0,fe=[],Xe=Ge.length;Ke<Xe;Ke++)(Ge[Ke].fn!==me||ue&&!Ge[Ke].once||be&&Ge[Ke].context!==be)&&fe.push(Ge[Ke]);fe.length?this._events[He]=fe.length===1?fe[0]:fe:--this._eventsCount===0?this._events=new ce:delete this._events[He]}return this},Ie.prototype.removeAllListeners=function(Be){var me;return Be?(me=ae?ae+Be:Be,this._events[me]&&(--this._eventsCount===0?this._events=new ce:delete this._events[me])):(this._events=new ce,this._eventsCount=0),this},Ie.prototype.off=Ie.prototype.removeListener,Ie.prototype.addListener=Ie.prototype.on,Ie.prototype.setMaxListeners=function(){return this},Ie.prefixed=ae,Ie.EventEmitter=Ie,Z.exports=Ie});function u(Z,re,ae){return re in Z?Object.defineProperty(Z,re,{value:ae,enumerable:!0,configurable:!0,writable:!0}):Z[re]=ae,Z}var d=function(){},h={data:"state-data",cdata:"state-cdata",tagBegin:"state-tag-begin",tagName:"state-tag-name",tagEnd:"state-tag-end",attributeNameStart:"state-attribute-name-start",attributeName:"state-attribute-name",attributeNameEnd:"state-attribute-name-end",attributeValueBegin:"state-attribute-value-begin",attributeValue:"state-attribute-value"},_={lt:"action-lt",gt:"action-gt",space:"action-space",equal:"action-equal",quote:"action-quote",slash:"action-slash",char:"action-char",error:"action-error"},m={text:"text",openTag:"open-tag",closeTag:"close-tag",attributeName:"attribute-name",attributeValue:"attribute-value"},p={" ":_.space," ":_.space,"\n":_.space,"\r":_.space,"<":_.lt,">":_.gt,'"':_.quote,"'":_.quote,"=":_.equal,"/":_.slash},g=function(re){return p[re]||_.char},y=function(re){var ae,ce,pe,Ie,ve,Be,me,be,ue,He;re=Object.assign({debug:!1},re);var Ge=new A,Ke=h.data,fe="",Xe="",Le="",we="",Ue="",Qe="",Se=function(ze,je){if(!(Xe[0]==="?"||Xe[0]==="!")){var nt={type:ze,value:je};re.debug&&console.log("emit:",nt),Ge.emit("data",nt)}};Ge.stateMachine=(He={},u(He,h.data,(ae={},u(ae,_.lt,function(){fe.trim()&&Se(m.text,fe),Xe="",Ue=!1,Ke=h.tagBegin}),u(ae,_.char,function(Me){fe+=Me}),ae)),u(He,h.cdata,u({},_.char,function(Me){fe+=Me,fe.substr(-3)==="]]>"&&(Se(m.text,fe.slice(0,-3)),fe="",Ke=h.data)})),u(He,h.tagBegin,(ce={},u(ce,_.space,d),u(ce,_.char,function(Me){Xe=Me,Ke=h.tagName}),u(ce,_.slash,function(){Xe="",Ue=!0}),ce)),u(He,h.tagName,(pe={},u(pe,_.space,function(){Ue?Ke=h.tagEnd:(Ke=h.attributeNameStart,Se(m.openTag,Xe))}),u(pe,_.gt,function(){Se(Ue?m.closeTag:m.openTag,Xe),fe="",Ke=h.data}),u(pe,_.slash,function(){Ke=h.tagEnd,Se(m.openTag,Xe)}),u(pe,_.char,function(Me){Xe+=Me,Xe==="![CDATA["&&(Ke=h.cdata,fe="",Xe="")}),pe)),u(He,h.tagEnd,(Ie={},u(Ie,_.gt,function(){Se(m.closeTag,Xe),fe="",Ke=h.data}),u(Ie,_.char,d),Ie)),u(He,h.attributeNameStart,(ve={},u(ve,_.char,function(Me){Le=Me,Ke=h.attributeName}),u(ve,_.gt,function(){fe="",Ke=h.data}),u(ve,_.space,d),u(ve,_.slash,function(){Ue=!0,Ke=h.tagEnd}),ve)),u(He,h.attributeName,(Be={},u(Be,_.space,function(){Ke=h.attributeNameEnd}),u(Be,_.equal,function(){Se(m.attributeName,Le),Ke=h.attributeValueBegin}),u(Be,_.gt,function(){we="",Se(m.attributeName,Le),Se(m.attributeValue,we),fe="",Ke=h.data}),u(Be,_.slash,function(){Ue=!0,we="",Se(m.attributeName,Le),Se(m.attributeValue,we),Ke=h.tagEnd}),u(Be,_.char,function(Me){Le+=Me}),Be)),u(He,h.attributeNameEnd,(me={},u(me,_.space,d),u(me,_.equal,function(){Se(m.attributeName,Le),Ke=h.attributeValueBegin}),u(me,_.gt,function(){we="",Se(m.attributeName,Le),Se(m.attributeValue,we),fe="",Ke=h.data}),u(me,_.char,function(Me){we="",Se(m.attributeName,Le),Se(m.attributeValue,we),Le=Me,Ke=h.attributeName}),me)),u(He,h.attributeValueBegin,(be={},u(be,_.space,d),u(be,_.quote,function(Me){Qe=Me,we="",Ke=h.attributeValue}),u(be,_.gt,function(){we="",Se(m.attributeValue,we),fe="",Ke=h.data}),u(be,_.char,function(Me){Qe="",we=Me,Ke=h.attributeValue}),be)),u(He,h.attributeValue,(ue={},u(ue,_.space,function(Me){Qe?we+=Me:(Se(m.attributeValue,we),Ke=h.attributeNameStart)}),u(ue,_.quote,function(Me){Qe===Me?(Se(m.attributeValue,we),Ke=h.attributeNameStart):we+=Me}),u(ue,_.gt,function(Me){Qe?we+=Me:(Se(m.attributeValue,we),fe="",Ke=h.data)}),u(ue,_.slash,function(Me){Qe?we+=Me:(Se(m.attributeValue,we),Ue=!0,Ke=h.tagEnd)}),u(ue,_.char,function(Me){we+=Me}),ue)),He);var Fe=function(ze){re.debug&&console.log(Ke,ze);var je=Ge.stateMachine[Ke],nt=je[g(ze)]||je[_.error]||je[_.char];nt(ze)};return Ge.write=function(Me){for(var ze=Me.length,je=0;je<ze;je++)Fe(Me[je])},Ge},f={State:h,Action:_,Type:m,create:y},C=f.Type,I={element:"element",text:"text"},E=function(re){return Object.assign({name:"",type:I.element,value:"",parent:null,attributes:{},children:[]},re)},b=function(re){re=Object.assign({stream:!1,parentNodes:!0,doneEvent:"done",tagPrefix:"tag:",emitTopLevelOnly:!1,debug:!1},re);var ae=void 0,ce=void 0,pe=void 0,Ie=void 0,ve=new A,Be=function(be){switch(be.type){case C.openTag:if(pe===null)pe=ce,pe.name=be.value;else{var ue=E({name:be.value,parent:pe});pe.children.push(ue),pe=ue}break;case C.closeTag:var He=pe.parent;if(re.parentNodes||(pe.parent=null),pe.name!==be.value)break;re.stream&&He===ce&&(ce.children=[],pe.parent=null),(!re.emitTopLevelOnly||He===ce)&&(ve.emit(re.tagPrefix+pe.name,pe),ve.emit("tag",pe.name,pe)),pe===ce&&(ae.removeAllListeners("data"),ve.emit(re.doneEvent,pe),ce=null),pe=He;break;case C.text:pe&&pe.children.push(E({type:I.text,value:be.value,parent:re.parentNodes?pe:null}));break;case C.attributeName:Ie=be.value,pe.attributes[Ie]="";break;case C.attributeValue:pe.attributes[Ie]=be.value;break}};return ve.reset=function(){ae=f.create({debug:re.debug}),ae.on("data",Be),ce=E(),pe=null,Ie="",ve.parse=ae.write},ve.reset(),ve},P=function(re,ae){ae=Object.assign({},ae,{stream:!1,tagPrefix:":"});var ce=b(ae),pe=void 0;return ce.on("done",function(Ie){pe=Ie}),ce.parse(re),pe},B={parseSync:P},w=B.parseSync,k=function(re){var ae=w("<root>".concat(re,"</root>"),{parentNodes:!1}),ce=ae.children&&ae.children.length>0&&ae.children.every(function(pe){return pe.name==="svg"});if(ce)return ae.children.length===1?ae.children[0]:ae.children;throw Error("nothing to parse")},N=function(re){return l(re,function(ae){return O(ae)?ae:L(ae)})},L=function(re){return re.replace(/[-|:]([a-z])/gi,function(ae,ce){return ce.toUpperCase()})},O=function(re){return/^(data|aria)(-\w+)/.test(re)},G=function(re){if(re){var ae=String(re);return/[&<>]/.test(ae)?"<![CDATA[".concat(ae.replace(/]]>/,"]]]]><![CDATA[>"),"]]>"):ae}return""},K=function(re){return String(re).replace(/&/g,"&amp;").replace(/'/g,"&apos;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},j=function(re){var ae=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ce=ae.transformNode,pe=ce===void 0?function(me){return me}:ce,Ie=ae.camelcase,ve=Ie===void 0?!1:Ie,Be=function(be){var ue;return ue=pe(be),ve&&(ue=N(ue)),ue};return Be(k(re))};function $(){for(var Z=arguments.length,re=new Array(Z),ae=0;ae<Z;ae++)re[ae]=arguments[ae];return new Promise(function(ce,pe){try{var Ie=j.apply(void 0,re);ce(Ie)}catch(ve){pe(ve)}})}var oe=function Z(re){var ae=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ce=ae.transformAttr,pe=ce===void 0?function(Ke,fe,Xe){return"".concat(Ke,'="').concat(Xe(fe),'"')}:ce,Ie=ae.transformNode,ve=Ie===void 0?function(Ke){return Ke}:Ie,Be=ae.selfClose,me=Be===void 0?!0:Be;if(Array.isArray(re))return re.map(function(Ke){return Z(Ke,{transformAttr:pe,selfClose:me,transformNode:ve})}).join("");var be=ve(re);if(be.type==="text")return G(be.value);var ue="";for(var He in be.attributes){var Ge=pe(He,be.attributes[He],K,be.name);ue+=Ge?" ".concat(Ge):""}return be.children&&be.children.length>0||!me?"<".concat(be.name).concat(ue,">").concat(Z(be.children,{transformAttr:pe,transformNode:ve,selfClose:me}),"</").concat(be.name,">"):"<".concat(be.name).concat(ue,"/>")},Ae=Object.assign({},{parse:$,parseSync:j,stringify:oe});return Ae})}}),H3e=Vc({"node_modules/js-beautify/js/src/core/output.js"(t,e){function n(r){this.__parent=r,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}n.prototype.clone_empty=function(){var r=new n(this.__parent);return r.set_indent(this.__indent_count,this.__alignment_count),r},n.prototype.item=function(r){return r<0?this.__items[this.__items.length+r]:this.__items[r]},n.prototype.has_match=function(r){for(var s=this.__items.length-1;s>=0;s--)if(this.__items[s].match(r))return!0;return!1},n.prototype.set_indent=function(r,s){this.is_empty()&&(this.__indent_count=r||0,this.__alignment_count=s||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},n.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},n.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},n.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var r=this.__parent.current_line;return r.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),r.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),r.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,r.__items[0]===" "&&(r.__items.splice(0,1),r.__character_count-=1),!0}return!1},n.prototype.is_empty=function(){return this.__items.length===0},n.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},n.prototype.push=function(r){this.__items.push(r);var s=r.lastIndexOf(`
5623
5623
  `);s!==-1?this.__character_count=r.length-s:this.__character_count+=r.length},n.prototype.pop=function(){var r=null;return this.is_empty()||(r=this.__items.pop(),this.__character_count-=r.length),r},n.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},n.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},n.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},n.prototype.toString=function(){var r="";return this.is_empty()?this.__parent.indent_empty_lines&&(r=this.__parent.get_indent_string(this.__indent_count)):(r=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),r+=this.__items.join("")),r};function o(r,s){this.__cache=[""],this.__indent_size=r.indent_size,this.__indent_string=r.indent_char,r.indent_with_tabs||(this.__indent_string=new Array(r.indent_size+1).join(r.indent_char)),s=s||"",r.indent_level>0&&(s=new Array(r.indent_level+1).join(this.__indent_string)),this.__base_string=s,this.__base_string_length=s.length}o.prototype.get_indent_size=function(r,s){var a=this.__base_string_length;return s=s||0,r<0&&(a=0),a+=r*this.__indent_size,a+=s,a},o.prototype.get_indent_string=function(r,s){var a=this.__base_string;return s=s||0,r<0&&(r=0,a=""),s+=r*this.__indent_size,this.__ensure_cache(s),a+=this.__cache[s],a},o.prototype.__ensure_cache=function(r){for(;r>=this.__cache.length;)this.__add_column()},o.prototype.__add_column=function(){var r=this.__cache.length,s=0,a="";this.__indent_size&&r>=this.__indent_size&&(s=Math.floor(r/this.__indent_size),r-=s*this.__indent_size,a=new Array(s+1).join(this.__indent_string)),r&&(a+=new Array(r+1).join(" ")),this.__cache.push(a)};function i(r,s){this.__indent_cache=new o(r,s),this.raw=!1,this._end_with_newline=r.end_with_newline,this.indent_size=r.indent_size,this.wrap_line_length=r.wrap_line_length,this.indent_empty_lines=r.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new n(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}i.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},i.prototype.get_line_number=function(){return this.__lines.length},i.prototype.get_indent_string=function(r,s){return this.__indent_cache.get_indent_string(r,s)},i.prototype.get_indent_size=function(r,s){return this.__indent_cache.get_indent_size(r,s)},i.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},i.prototype.add_new_line=function(r){return this.is_empty()||!r&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},i.prototype.get_code=function(r){this.trim(!0);var s=this.current_line.pop();s&&(s[s.length-1]===`
@@ -5775,7 +5775,7 @@ test("${l} should solve problem correctly", () => {
5775
5775
  // Add more specific assertions based on expected output
5776
5776
  // expect(solver.netLabelPlacementSolver!.netLabelPlacements).toMatchInlineSnapshot()
5777
5777
  })
5778
- `,u=new Blob([A],{type:"text/plain"}),d=URL.createObjectURL(u),h=document.createElement("a");h.href=d,h.download=`${l}.test.ts`,h.click(),URL.revokeObjectURL(d)}catch(c){alert(`Error generating test.ts for ${t.constructor.name}: ${c instanceof Error?c.message:String(c)}`)}o(!1)};return W.jsxs("div",{className:`relative ${e}`,ref:i,children:[W.jsx("button",{className:"px-2 py-1 rounded text-xs cursor-pointer",onClick:()=>o(!n),title:`Download options for ${t.constructor.name}`,children:t.constructor.name}),n&&W.jsxs("div",{className:"absolute top-full left-0 mt-1 bg-white border border-gray-300 rounded shadow-lg z-10 min-w-[150px]",children:[W.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:r,children:"Download JSON"}),W.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:s,children:"Download page.tsx"}),W.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:a,children:"Download test.ts"})]})]})},Qbt=t=>t.activeSubSolver?[t,...Qbt(t.activeSubSolver)]:[t],S2o=({solver:t})=>{const e=Qbt(t);return W.jsx("div",{className:"flex gap-1 items-center text-sm pt-1",children:e.map((n,o)=>W.jsxs("div",{className:"flex items-center",children:[o>0&&W.jsx("span",{className:"text-gray-400 mx-1",children:"→"}),W.jsx(b2o,{solver:n})]},n.constructor.name))})},P2o=({solver:t,triggerRender:e,animationSpeed:n=25,onSolverStarted:o,onSolverCompleted:i})=>{const[r,s]=ne.useReducer(m=>!m,!1),a=ne.useRef(void 0),c=()=>{!t.solved&&!t.failed&&(t.step(),e())},l=()=>{!t.solved&&!t.failed&&(o&&o(t),t.solve(),e(),i&&i(t))},A=()=>{r?(a.current&&(clearInterval(a.current),a.current=void 0),s()):(s(),a.current=setInterval(()=>{if(t.solved||t.failed){a.current&&(clearInterval(a.current),a.current=void 0),s(),e(),i&&t.solved&&i(t);return}t.step(),e()},n))},u=()=>{const m=t;if(m.getCurrentPhase&&!t.solved&&!t.failed){const p=m.getCurrentPhase();for(;m.getCurrentPhase()===p&&!t.solved&&!t.failed;)t.step();e()}},d=()=>{if(t.solved||t.failed||r)return;const m=window.prompt("Step until which iteration?",`${t.iterations}`);if(m===null)return;const p=Number(m);if(!Number.isFinite(p)){window.alert("Please enter a valid number for the iteration");return}for(;t.iterations<p&&!t.solved&&!t.failed;)t.step();e(),t.solved&&i&&i(t)};ne.useEffect(()=>()=>{a.current&&clearInterval(a.current)},[]),ne.useEffect(()=>{(t.solved||t.failed)&&r&&(a.current&&(clearInterval(a.current),a.current=void 0),s())},[t.solved,t.failed,r]);const h=t.getCurrentPhase!==void 0,_=h?t.getCurrentPhase():null;return W.jsxs("div",{className:"space-y-2 p-2 border-b",children:[W.jsx("div",{className:"flex items-center",children:W.jsx(S2o,{solver:t})}),W.jsxs("div",{className:"flex gap-2 items-center flex-wrap",children:[W.jsx("button",{onClick:c,disabled:t.solved||t.failed||r,className:"bg-blue-500 hover:bg-blue-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step"}),W.jsx("button",{onClick:l,disabled:t.solved||t.failed||r,className:"bg-green-500 hover:bg-green-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Solve"}),W.jsx("button",{onClick:A,disabled:t.solved||t.failed,className:`px-3 py-1 rounded text-white text-sm ${r?"bg-red-500 hover:bg-red-600":"bg-yellow-500 hover:bg-yellow-600"} disabled:bg-gray-300`,children:r?"Stop":"Animate"}),W.jsx("button",{onClick:d,disabled:t.solved||t.failed||r,className:"bg-orange-500 hover:bg-orange-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step Until Iteration"}),h&&W.jsx("button",{onClick:u,disabled:t.solved||t.failed||r,className:"bg-purple-500 hover:bg-purple-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Next Stage"}),W.jsxs("div",{className:"text-sm text-gray-600",children:["Iterations: ",t.iterations]}),t.timeToSolve!==void 0&&W.jsxs("div",{className:"text-sm text-gray-600",children:["Time: ",(t.timeToSolve/1e3).toFixed(3),"s"]}),_&&W.jsxs("div",{className:"text-sm text-gray-600",children:["Phase: ",W.jsx("span",{className:"font-medium",children:_})]}),t.solved&&W.jsx("div",{className:"px-2 py-1 bg-green-100 text-green-800 rounded text-sm",children:"Solved"}),t.failed&&W.jsx("div",{className:"px-2 py-1 bg-red-100 text-red-800 rounded text-sm",children:"Failed"})]}),t.error&&W.jsxs("div",{className:"text-red-600 text-sm",children:["Error: ",t.error]})]})},v2o=(t,e,n)=>{const o=t.currentPipelineStepIndex;return e<o?"Completed":e===o&&t.activeSubSolver?t.activeSubSolver.failed?"Failed":"In Progress":"Not Started"},B2o=(t,e)=>{const o=t.pipelineDef[e].solverName,i=v2o(t,e),r=t[o],s=t.firstIterationOfPhase?.[o]??null,a=t.iterations;let c=0;if(i==="Completed"){const d=t.pipelineDef[e+1],h=d?t.firstIterationOfPhase?.[d.solverName]:void 0;h!==void 0&&s!==null?c=h-s:s!==null&&(c=a-s)}else i==="In Progress"&&s!==null&&(c=a-s);const l=t.timeSpentOnPhase?.[o]??0;let A=0;i==="Completed"?A=1:i==="In Progress"&&r&&(A=r.progress??0);const u=r?.stats??null;return{index:e,name:o,status:i,firstIteration:s,iterations:c,progress:A,timeSpent:l,stats:u&&Object.keys(u).length>0?u:null,solverInstance:r??null}},M2o=({status:t})=>{const e={"Not Started":"text-blue-600","In Progress":"text-yellow-600",Completed:"text-green-600",Failed:"text-red-600"};return W.jsx("span",{className:`font-medium ${e[t]}`,children:t})},w2o=({progress:t})=>{if(t===0)return null;const e=Math.round(t*100);return W.jsxs("div",{className:"flex items-center gap-2",children:[W.jsx("div",{className:"w-20 h-2 bg-gray-200 rounded overflow-hidden",children:W.jsx("div",{className:"h-full bg-blue-500 transition-all duration-200",style:{width:`${e}%`}})}),W.jsxs("span",{className:"text-xs text-gray-500",children:[e,"%"]})]})},D2o=t=>Object.entries(t).map(([e,n])=>`${e}: ${n}`).join(", "),Q2o=({stats:t})=>{if(!t||Object.keys(t).length===0)return W.jsx("span",{children:"-"});const e=Object.entries(t),n=D2o(t);return W.jsxs("details",{className:"cursor-pointer",children:[W.jsx("summary",{className:"whitespace-nowrap overflow-hidden text-ellipsis max-w-[200px]",children:n}),W.jsx("div",{className:"mt-1 text-xs",children:e.map(([o,i])=>W.jsxs("div",{children:[o,": ",String(i)]},o))})]})},X3e=t=>{if(t===null||typeof t!="object")return t;if(Array.isArray(t))return t.map(X3e);const e={};for(const[n,o]of Object.entries(t))n.startsWith("_")||(e[n]=X3e(o));return e},T2o=(t,e)=>{try{if(typeof t.getConstructorParams!="function"){alert(`getConstructorParams() is not implemented for ${e}`);return}const n=X3e(t.getConstructorParams()),o=new Blob([JSON.stringify(n,null,2)],{type:"application/json"}),i=URL.createObjectURL(o),r=document.createElement("a");r.href=i,r.download=`${e}_input.json`,r.click(),URL.revokeObjectURL(i)}catch(n){alert(`Error downloading input for ${e}: ${n instanceof Error?n.message:String(n)}`)}},R2o=({solver:t,onStepUntilPhase:e,onDownloadInput:n})=>{const o=t.pipelineDef.map((a,c)=>B2o(t,c)),i=a=>{e?.(a)},r=a=>{a.solverInstance&&(n?n(a.solverInstance,a.name):T2o(a.solverInstance,a.name))},s=a=>`${(a/1e3).toFixed(2)}s`;return W.jsxs("div",{className:"border-t border-gray-200",children:[W.jsx("div",{className:"px-4 py-2 bg-gray-50 border-b border-gray-200",children:W.jsx("h3",{className:"text-sm font-semibold text-gray-700",children:"Pipeline Steps"})}),W.jsx("div",{className:"overflow-x-auto",children:W.jsxs("table",{className:"w-full text-sm",children:[W.jsx("thead",{children:W.jsxs("tr",{className:"bg-gray-50 border-b border-gray-200",children:[W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Step"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Status"}),W.jsxs("th",{className:"px-4 py-2 text-center font-semibold text-gray-700",children:["i",W.jsx("sub",{children:"0"})]}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Iterations"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Progress"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Time"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stats"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Input"})]})}),W.jsx("tbody",{children:o.map(a=>W.jsxs("tr",{className:`border-b border-gray-100 ${a.status==="In Progress"?"bg-yellow-50":""}`,children:[W.jsx("td",{className:"px-4 py-2",children:W.jsxs("div",{className:"flex items-center gap-2",children:[W.jsx("span",{className:"text-gray-400 w-6",children:String(a.index+1).padStart(2,"0")}),W.jsx("button",{onClick:()=>i(a.name),disabled:a.status==="Completed"||t.solved||t.failed,className:"text-blue-500 hover:text-blue-700 disabled:text-gray-300 disabled:cursor-not-allowed",title:`Step until ${a.name} completes`,children:W.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:W.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})})}),W.jsx("span",{className:"font-medium text-gray-900",children:a.name})]})}),W.jsx("td",{className:"px-4 py-2",children:W.jsx(M2o,{status:a.status})}),W.jsx("td",{className:"px-4 py-2 text-center text-gray-600",children:a.firstIteration!==null?a.firstIteration:""}),W.jsx("td",{className:"px-4 py-2 text-gray-600",children:a.iterations}),W.jsx("td",{className:"px-4 py-2",children:W.jsx(w2o,{progress:a.progress})}),W.jsx("td",{className:"px-4 py-2 text-gray-600",children:s(a.timeSpent)}),W.jsx("td",{className:"px-4 py-2 text-gray-500",children:W.jsx(Q2o,{stats:a.stats})}),W.jsx("td",{className:"px-4 py-2",children:a.solverInstance?W.jsxs("button",{onClick:()=>r(a),className:"flex items-center gap-1 text-blue-500 hover:text-blue-700",title:`Download input for ${a.name}`,children:[W.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:W.jsx("path",{fillRule:"evenodd",d:"M12 2.25a.75.75 0 01.75.75v11.69l3.22-3.22a.75.75 0 111.06 1.06l-4.5 4.5a.75.75 0 01-1.06 0l-4.5-4.5a.75.75 0 111.06-1.06l3.22 3.22V3a.75.75 0 01.75-.75zm-9 13.5a.75.75 0 01.75.75v2.25a1.5 1.5 0 001.5 1.5h13.5a1.5 1.5 0 001.5-1.5V16.5a.75.75 0 011.5 0v2.25a3 3 0 01-3 3H5.25a3 3 0 01-3-3V16.5a.75.75 0 01.75-.75z",clipRule:"evenodd"})}),W.jsx("span",{children:"Input"})]}):null})]},a.name))})]})})]})},N2o=class extends cr.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.error("InteractiveGraphics render error:",t)}render(){return this.state.hasError?this.props.fallback:this.props.children}};function k2o({graphics:t}){const e=t.points??[],n=t.lines??[],o=t.rects??[],i=t.circles??[],r=t.texts??[];let s=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,l=Number.NEGATIVE_INFINITY;const A=(p,g)=>{typeof p=="number"&&(p<s&&(s=p),p>c&&(c=p)),typeof g=="number"&&(g<a&&(a=g),g>l&&(l=g))};for(const p of e)A(p.x,p.y);for(const p of n){const g=p.points??[];for(const y of g)A(y.x,y.y)}for(const p of o){const g=p.x??0,y=p.y??0,f=p.width??0,C=p.height??0;A(g,y),A(g+f,y+C)}for(const p of i){const g=p.x??0,y=p.y??0,f=p.radius??1;A(g-f,y-f),A(g+f,y+f)}for(const p of r)A(p.x,p.y);(!isFinite(s)||!isFinite(a)||!isFinite(c)||!isFinite(l))&&(s=-20,a=-20,c=20,l=20);const u=10,d=s-u,h=a-u,_=Math.max(1,c-s+2*u),m=Math.max(1,l-a+2*u);return W.jsxs("svg",{className:"w-full h-[400px] bg-white",viewBox:`${d} ${h} ${_} ${m}`,role:"img","aria-label":"Graphics fallback",children:[o.map((p,g)=>W.jsx("rect",{x:p.x??0,y:p.y??0,width:p.width??0,height:p.height??0,fill:"none",stroke:p.strokeColor??"black",strokeWidth:p.strokeWidth??1},`rect-${g}`)),n.map((p,g)=>W.jsx("polyline",{fill:"none",stroke:p.strokeColor??"black",strokeWidth:p.strokeWidth??1,points:(p.points??[]).map(y=>`${y.x??0},${y.y??0}`).join(" ")},`line-${g}`)),i.map((p,g)=>W.jsx("circle",{cx:p.x??0,cy:p.y??0,r:p.radius??1.5,fill:p.fillColor??"none",stroke:p.strokeColor??"black",strokeWidth:p.strokeWidth??1},`circle-${g}`)),e.map((p,g)=>W.jsx("circle",{cx:p.x??0,cy:p.y??0,r:p.radius??1.5,fill:p.color??"black"},`point-${g}`)),r.map((p,g)=>W.jsx("text",{x:p.x??0,y:p.y??0,fontSize:p.fontSize??10,fill:p.color??"black",children:p.text??""},`text-${g}`))]})}var H2o=({solver:t,animationSpeed:e=25,onSolverStarted:n,onSolverCompleted:o})=>{const[i,r]=ne.useReducer(A=>A+1,0),s=ne.useMemo(()=>{try{return t.visualize()||{points:[],lines:[],rects:[],circles:[]}}catch(A){return console.error("Visualization error:",A),{points:[],lines:[],rects:[],circles:[]}}},[t,i]),a=ne.useMemo(()=>(s.rects?.length||0)===0&&(s.lines?.length||0)===0&&(s.points?.length||0)===0&&(s.circles?.length||0)===0,[s]);ne.useEffect(()=>{if(!(typeof document>"u")&&!document.querySelector('script[src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"]')){const A=document.createElement("script");A.src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4",document.head.appendChild(A)}},[]);const c=t.pipelineDef!==void 0,l=A=>{const u=t;if(!t.solved&&!t.failed){for(;!t.solved&&!t.failed&&u.currentPipelineStepIndex<=u.pipelineDef.findIndex(d=>d.solverName===A);)t.step();r()}};return W.jsxs("div",{children:[W.jsx(P2o,{solver:t,triggerRender:r,animationSpeed:e,onSolverStarted:n,onSolverCompleted:o}),a?W.jsx("div",{className:"p-4 text-gray-500",children:"No Graphics Yet"}):W.jsx(N2o,{fallback:W.jsx(k2o,{graphics:s}),children:W.jsx(E2o,{graphics:s})}),c&&W.jsx(R2o,{solver:t,onStepUntilPhase:l})]})};const L2o=()=>{ne.useEffect(()=>{const t="tailwind-cdn-script";if(document.getElementById(t)||window.tailwind)return;const e=document.createElement("div");e.className="hidden",document.body.appendChild(e);const n=window.getComputedStyle(e).display==="none";if(document.body.removeChild(e),n)return;const o=document.createElement("script");o.id=t,o.src="https://cdn.tailwindcss.com",document.head.appendChild(o)},[])},F2o=t=>t.toLowerCase().includes("pack")?Vio:t.toLowerCase().includes("rout")?Jio:Nio,O2o=({solverEvents:t=[]})=>{const[e,n]=ne.useState(null);L2o();const o=ne.useMemo(()=>{const a=new Map;for(const c of t){const l=`${c.componentName}-${c.solverName}`;a.set(l,c)}return a},[t]),i=ne.useMemo(()=>Array.from(o.keys()),[o]),r=e?o.get(e):null,s=ne.useMemo(()=>{if(!r)return{instance:null,error:null,classFound:!1};const a=Tpe[r.solverName];if(!a)return{instance:null,error:`Solver class "${r.solverName}" not found in SOLVERS registry. Available: ${Object.keys(Tpe).join(", ")}`,classFound:!1};try{const c=r.solverParams,l=c?.input!==void 0?c.input:c;return{instance:new a(l),error:null,classFound:!0}}catch(c){const l=c instanceof Error?c.message:String(c);return console.error("Failed to reconstruct solver:",c),{instance:null,error:`Failed to instantiate solver: ${l}`,classFound:!0}}},[r]);return t.length===0?W.jsx("div",{className:"rf-p-4",children:W.jsx("div",{className:"rf-bg-gray-50 rf-rounded-md rf-border rf-border-gray-200",children:W.jsxs("div",{className:"rf-p-4",children:[W.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800 rf-mb-3",children:"No Solvers Detected"}),W.jsx("p",{className:"rf-text-sm rf-text-gray-600",children:"Solvers will appear here when the circuit runs. Solvers are used for tasks like component packing and autorouting."})]})})}):W.jsxs("div",{className:"rf-flex rf-h-full rf-overflow-hidden",children:[W.jsxs("div",{className:"rf-w-64 rf-border-r rf-border-gray-200 rf-overflow-y-auto rf-flex-shrink-0",children:[W.jsxs("div",{className:"rf-text-xs rf-font-semibold rf-text-gray-500 rf-px-3 rf-py-2 rf-bg-gray-50 rf-border-b rf-border-gray-200",children:[i.length," ",i.length===1?"Solver":"Solvers"]}),i.map(a=>{const c=o.get(a),l=e===a;return W.jsx("div",{className:`rf-px-3 rf-py-2 rf-cursor-pointer rf-border-b rf-border-gray-100 ${l?"rf-bg-blue-50 rf-border-l-2 rf-border-l-blue-500":"hover:rf-bg-gray-50"}`,onClick:()=>n(a),children:(()=>{const A=F2o(c.solverName);return W.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2",children:[W.jsx(A,{className:"rf-w-4 rf-h-4 rf-text-blue-500 rf-flex-shrink-0"}),W.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[W.jsx("div",{className:"rf-text-sm rf-font-medium rf-text-gray-800 rf-truncate",children:c.componentName}),W.jsx("div",{className:"rf-text-xs rf-text-gray-500 rf-truncate",children:c.solverName})]})]})})()},a)})]}),W.jsx("div",{className:"rf-flex-1 rf-overflow-hidden",children:r?s.instance?W.jsx(N4,{fallback:W.jsx("div",{className:"rf-p-4",children:W.jsxs("div",{className:"rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200 rf-p-4",children:[W.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-2",children:"Error Loading Solver Debugger"}),W.jsxs("p",{className:"rf-text-sm rf-text-red-600",children:["Failed to render the solver debugger for"," ",r.solverName]})]})}),children:W.jsx(H2o,{solver:s.instance})}):W.jsxs("div",{className:"rf-p-4",children:[W.jsxs("div",{className:"rf-mb-4",children:[W.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800",children:r.solverName}),W.jsxs("p",{className:"rf-text-sm rf-text-gray-500",children:["Component: ",r.componentName]})]}),s.error&&W.jsx("div",{className:`rf-rounded-md rf-border rf-p-4 rf-mb-4 ${s.classFound?"rf-bg-red-50 rf-border-red-200":"rf-bg-yellow-50 rf-border-yellow-200"}`,children:W.jsx("p",{className:`rf-text-sm ${s.classFound?"rf-text-red-700":"rf-text-yellow-700"}`,children:s.error})}),W.jsxs("div",{className:"rf-border rf-border-gray-200 rf-rounded-md rf-overflow-hidden",children:[W.jsx("div",{className:"rf-px-3 rf-py-2 rf-bg-gray-50",children:W.jsx("span",{className:"rf-text-sm rf-font-medium rf-text-gray-700",children:"Solver Parameters"})}),W.jsx("div",{className:"rf-p-3 rf-bg-white rf-border-t rf-border-gray-200",children:W.jsx("pre",{className:"rf-text-xs rf-font-mono rf-text-gray-600 rf-whitespace-pre-wrap rf-overflow-x-auto",children:JSON.stringify(r.solverParams,null,2)})})]})]}):W.jsx("div",{className:"rf-flex rf-items-center rf-justify-center rf-h-full",children:W.jsx("p",{className:"rf-text-sm rf-text-gray-500",children:"Select a solver from the list to view details"})})})]})},Tbt=({errorMessage:t,errorStack:e,circuitJsonErrors:n})=>{ne.useEffect(()=>{if(t){const o=new Error(t);e&&(o.stack=e);try{L9.captureException(o)}catch{}}},[t,e]),ne.useEffect(()=>{if(n&&n.length>0)for(const o of n){const i=new Error(o.message||"Circuit JSON Error");o.stack&&(i.stack=o.stack);try{L9.captureException(i,{error_type:o.type})}catch{}}},[n])},G2o=t=>{ne.useEffect(()=>{try{BMt(t)}catch{}},[t.source,t.component,t.isWebEmbedded,t.activeTab])},Rbt="0.0.2074",U2o={version:Rbt},J3e={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1},q3e=new Map,Iee=t=>{const e=q3e.get(t);return e?Object.fromEntries(Object.entries(e.stores).map(([n,o])=>[n,o.getState()])):{}},z2o=(t,e,n)=>{if(t===void 0)return{type:"untracked",connection:e.connect(n)};const o=q3e.get(n.name);if(o)return{type:"tracked",store:t,...o};const i={connection:e.connect(n),stores:{}};return q3e.set(n.name,i),{type:"tracked",store:t,...i}},Nbt=(t,e={})=>(n,o,i)=>{const{enabled:r,anonymousActionType:s,store:a,...c}=e;let l;try{l=(r??(J3e?"production":void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!l)return(J3e?"production":void 0)!=="production"&&r&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),t(n,o,i);const{connection:A,...u}=z2o(a,l,c);let d=!0;i.setState=(m,p,g)=>{const y=n(m,p);if(!d)return y;const f=g===void 0?{type:s||"anonymous"}:typeof g=="string"?{type:g}:g;return a===void 0?(A?.send(f,o()),y):(A?.send({...f,type:`${a}/${f.type}`},{...Iee(c.name),[a]:i.getState()}),y)};const h=(...m)=>{const p=d;d=!1,n(...m),d=p},_=t(i.setState,o,i);if(u.type==="untracked"?A?.init(_):(u.stores[u.store]=i,A?.init(Object.fromEntries(Object.entries(u.stores).map(([m,p])=>[m,m===u.store?_:p.getState()])))),i.dispatchFromDevtools&&typeof i.dispatch=="function"){let m=!1;const p=i.dispatch;i.dispatch=(...g)=>{(J3e?"production":void 0)!=="production"&&g[0].type==="__setState"&&!m&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),m=!0),p(...g)}}return A.subscribe(m=>{var p;switch(m.type){case"ACTION":if(typeof m.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return $3e(m.payload,g=>{if(g.type==="__setState"){if(a===void 0){h(g.state);return}Object.keys(g.state).length!==1&&console.error(`
5778
+ `,u=new Blob([A],{type:"text/plain"}),d=URL.createObjectURL(u),h=document.createElement("a");h.href=d,h.download=`${l}.test.ts`,h.click(),URL.revokeObjectURL(d)}catch(c){alert(`Error generating test.ts for ${t.constructor.name}: ${c instanceof Error?c.message:String(c)}`)}o(!1)};return W.jsxs("div",{className:`relative ${e}`,ref:i,children:[W.jsx("button",{className:"px-2 py-1 rounded text-xs cursor-pointer",onClick:()=>o(!n),title:`Download options for ${t.constructor.name}`,children:t.constructor.name}),n&&W.jsxs("div",{className:"absolute top-full left-0 mt-1 bg-white border border-gray-300 rounded shadow-lg z-10 min-w-[150px]",children:[W.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:r,children:"Download JSON"}),W.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:s,children:"Download page.tsx"}),W.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:a,children:"Download test.ts"})]})]})},Qbt=t=>t.activeSubSolver?[t,...Qbt(t.activeSubSolver)]:[t],S2o=({solver:t})=>{const e=Qbt(t);return W.jsx("div",{className:"flex gap-1 items-center text-sm pt-1",children:e.map((n,o)=>W.jsxs("div",{className:"flex items-center",children:[o>0&&W.jsx("span",{className:"text-gray-400 mx-1",children:"→"}),W.jsx(b2o,{solver:n})]},n.constructor.name))})},P2o=({solver:t,triggerRender:e,animationSpeed:n=25,onSolverStarted:o,onSolverCompleted:i})=>{const[r,s]=ne.useReducer(m=>!m,!1),a=ne.useRef(void 0),c=()=>{!t.solved&&!t.failed&&(t.step(),e())},l=()=>{!t.solved&&!t.failed&&(o&&o(t),t.solve(),e(),i&&i(t))},A=()=>{r?(a.current&&(clearInterval(a.current),a.current=void 0),s()):(s(),a.current=setInterval(()=>{if(t.solved||t.failed){a.current&&(clearInterval(a.current),a.current=void 0),s(),e(),i&&t.solved&&i(t);return}t.step(),e()},n))},u=()=>{const m=t;if(m.getCurrentPhase&&!t.solved&&!t.failed){const p=m.getCurrentPhase();for(;m.getCurrentPhase()===p&&!t.solved&&!t.failed;)t.step();e()}},d=()=>{if(t.solved||t.failed||r)return;const m=window.prompt("Step until which iteration?",`${t.iterations}`);if(m===null)return;const p=Number(m);if(!Number.isFinite(p)){window.alert("Please enter a valid number for the iteration");return}for(;t.iterations<p&&!t.solved&&!t.failed;)t.step();e(),t.solved&&i&&i(t)};ne.useEffect(()=>()=>{a.current&&clearInterval(a.current)},[]),ne.useEffect(()=>{(t.solved||t.failed)&&r&&(a.current&&(clearInterval(a.current),a.current=void 0),s())},[t.solved,t.failed,r]);const h=t.getCurrentPhase!==void 0,_=h?t.getCurrentPhase():null;return W.jsxs("div",{className:"space-y-2 p-2 border-b",children:[W.jsx("div",{className:"flex items-center",children:W.jsx(S2o,{solver:t})}),W.jsxs("div",{className:"flex gap-2 items-center flex-wrap",children:[W.jsx("button",{onClick:c,disabled:t.solved||t.failed||r,className:"bg-blue-500 hover:bg-blue-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step"}),W.jsx("button",{onClick:l,disabled:t.solved||t.failed||r,className:"bg-green-500 hover:bg-green-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Solve"}),W.jsx("button",{onClick:A,disabled:t.solved||t.failed,className:`px-3 py-1 rounded text-white text-sm ${r?"bg-red-500 hover:bg-red-600":"bg-yellow-500 hover:bg-yellow-600"} disabled:bg-gray-300`,children:r?"Stop":"Animate"}),W.jsx("button",{onClick:d,disabled:t.solved||t.failed||r,className:"bg-orange-500 hover:bg-orange-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step Until Iteration"}),h&&W.jsx("button",{onClick:u,disabled:t.solved||t.failed||r,className:"bg-purple-500 hover:bg-purple-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Next Stage"}),W.jsxs("div",{className:"text-sm text-gray-600",children:["Iterations: ",t.iterations]}),t.timeToSolve!==void 0&&W.jsxs("div",{className:"text-sm text-gray-600",children:["Time: ",(t.timeToSolve/1e3).toFixed(3),"s"]}),_&&W.jsxs("div",{className:"text-sm text-gray-600",children:["Phase: ",W.jsx("span",{className:"font-medium",children:_})]}),t.solved&&W.jsx("div",{className:"px-2 py-1 bg-green-100 text-green-800 rounded text-sm",children:"Solved"}),t.failed&&W.jsx("div",{className:"px-2 py-1 bg-red-100 text-red-800 rounded text-sm",children:"Failed"})]}),t.error&&W.jsxs("div",{className:"text-red-600 text-sm",children:["Error: ",t.error]})]})},v2o=(t,e,n)=>{const o=t.currentPipelineStepIndex;return e<o?"Completed":e===o&&t.activeSubSolver?t.activeSubSolver.failed?"Failed":"In Progress":"Not Started"},B2o=(t,e)=>{const o=t.pipelineDef[e].solverName,i=v2o(t,e),r=t[o],s=t.firstIterationOfPhase?.[o]??null,a=t.iterations;let c=0;if(i==="Completed"){const d=t.pipelineDef[e+1],h=d?t.firstIterationOfPhase?.[d.solverName]:void 0;h!==void 0&&s!==null?c=h-s:s!==null&&(c=a-s)}else i==="In Progress"&&s!==null&&(c=a-s);const l=t.timeSpentOnPhase?.[o]??0;let A=0;i==="Completed"?A=1:i==="In Progress"&&r&&(A=r.progress??0);const u=r?.stats??null;return{index:e,name:o,status:i,firstIteration:s,iterations:c,progress:A,timeSpent:l,stats:u&&Object.keys(u).length>0?u:null,solverInstance:r??null}},M2o=({status:t})=>{const e={"Not Started":"text-blue-600","In Progress":"text-yellow-600",Completed:"text-green-600",Failed:"text-red-600"};return W.jsx("span",{className:`font-medium ${e[t]}`,children:t})},w2o=({progress:t})=>{if(t===0)return null;const e=Math.round(t*100);return W.jsxs("div",{className:"flex items-center gap-2",children:[W.jsx("div",{className:"w-20 h-2 bg-gray-200 rounded overflow-hidden",children:W.jsx("div",{className:"h-full bg-blue-500 transition-all duration-200",style:{width:`${e}%`}})}),W.jsxs("span",{className:"text-xs text-gray-500",children:[e,"%"]})]})},D2o=t=>Object.entries(t).map(([e,n])=>`${e}: ${n}`).join(", "),Q2o=({stats:t})=>{if(!t||Object.keys(t).length===0)return W.jsx("span",{children:"-"});const e=Object.entries(t),n=D2o(t);return W.jsxs("details",{className:"cursor-pointer",children:[W.jsx("summary",{className:"whitespace-nowrap overflow-hidden text-ellipsis max-w-[200px]",children:n}),W.jsx("div",{className:"mt-1 text-xs",children:e.map(([o,i])=>W.jsxs("div",{children:[o,": ",String(i)]},o))})]})},X3e=t=>{if(t===null||typeof t!="object")return t;if(Array.isArray(t))return t.map(X3e);const e={};for(const[n,o]of Object.entries(t))n.startsWith("_")||(e[n]=X3e(o));return e},T2o=(t,e)=>{try{if(typeof t.getConstructorParams!="function"){alert(`getConstructorParams() is not implemented for ${e}`);return}const n=X3e(t.getConstructorParams()),o=new Blob([JSON.stringify(n,null,2)],{type:"application/json"}),i=URL.createObjectURL(o),r=document.createElement("a");r.href=i,r.download=`${e}_input.json`,r.click(),URL.revokeObjectURL(i)}catch(n){alert(`Error downloading input for ${e}: ${n instanceof Error?n.message:String(n)}`)}},R2o=({solver:t,onStepUntilPhase:e,onDownloadInput:n})=>{const o=t.pipelineDef.map((a,c)=>B2o(t,c)),i=a=>{e?.(a)},r=a=>{a.solverInstance&&(n?n(a.solverInstance,a.name):T2o(a.solverInstance,a.name))},s=a=>`${(a/1e3).toFixed(2)}s`;return W.jsxs("div",{className:"border-t border-gray-200",children:[W.jsx("div",{className:"px-4 py-2 bg-gray-50 border-b border-gray-200",children:W.jsx("h3",{className:"text-sm font-semibold text-gray-700",children:"Pipeline Steps"})}),W.jsx("div",{className:"overflow-x-auto",children:W.jsxs("table",{className:"w-full text-sm",children:[W.jsx("thead",{children:W.jsxs("tr",{className:"bg-gray-50 border-b border-gray-200",children:[W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Step"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Status"}),W.jsxs("th",{className:"px-4 py-2 text-center font-semibold text-gray-700",children:["i",W.jsx("sub",{children:"0"})]}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Iterations"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Progress"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Time"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stats"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Input"})]})}),W.jsx("tbody",{children:o.map(a=>W.jsxs("tr",{className:`border-b border-gray-100 ${a.status==="In Progress"?"bg-yellow-50":""}`,children:[W.jsx("td",{className:"px-4 py-2",children:W.jsxs("div",{className:"flex items-center gap-2",children:[W.jsx("span",{className:"text-gray-400 w-6",children:String(a.index+1).padStart(2,"0")}),W.jsx("button",{onClick:()=>i(a.name),disabled:a.status==="Completed"||t.solved||t.failed,className:"text-blue-500 hover:text-blue-700 disabled:text-gray-300 disabled:cursor-not-allowed",title:`Step until ${a.name} completes`,children:W.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:W.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})})}),W.jsx("span",{className:"font-medium text-gray-900",children:a.name})]})}),W.jsx("td",{className:"px-4 py-2",children:W.jsx(M2o,{status:a.status})}),W.jsx("td",{className:"px-4 py-2 text-center text-gray-600",children:a.firstIteration!==null?a.firstIteration:""}),W.jsx("td",{className:"px-4 py-2 text-gray-600",children:a.iterations}),W.jsx("td",{className:"px-4 py-2",children:W.jsx(w2o,{progress:a.progress})}),W.jsx("td",{className:"px-4 py-2 text-gray-600",children:s(a.timeSpent)}),W.jsx("td",{className:"px-4 py-2 text-gray-500",children:W.jsx(Q2o,{stats:a.stats})}),W.jsx("td",{className:"px-4 py-2",children:a.solverInstance?W.jsxs("button",{onClick:()=>r(a),className:"flex items-center gap-1 text-blue-500 hover:text-blue-700",title:`Download input for ${a.name}`,children:[W.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:W.jsx("path",{fillRule:"evenodd",d:"M12 2.25a.75.75 0 01.75.75v11.69l3.22-3.22a.75.75 0 111.06 1.06l-4.5 4.5a.75.75 0 01-1.06 0l-4.5-4.5a.75.75 0 111.06-1.06l3.22 3.22V3a.75.75 0 01.75-.75zm-9 13.5a.75.75 0 01.75.75v2.25a1.5 1.5 0 001.5 1.5h13.5a1.5 1.5 0 001.5-1.5V16.5a.75.75 0 011.5 0v2.25a3 3 0 01-3 3H5.25a3 3 0 01-3-3V16.5a.75.75 0 01.75-.75z",clipRule:"evenodd"})}),W.jsx("span",{children:"Input"})]}):null})]},a.name))})]})})]})},N2o=class extends cr.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.error("InteractiveGraphics render error:",t)}render(){return this.state.hasError?this.props.fallback:this.props.children}};function k2o({graphics:t}){const e=t.points??[],n=t.lines??[],o=t.rects??[],i=t.circles??[],r=t.texts??[];let s=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,l=Number.NEGATIVE_INFINITY;const A=(p,g)=>{typeof p=="number"&&(p<s&&(s=p),p>c&&(c=p)),typeof g=="number"&&(g<a&&(a=g),g>l&&(l=g))};for(const p of e)A(p.x,p.y);for(const p of n){const g=p.points??[];for(const y of g)A(y.x,y.y)}for(const p of o){const g=p.x??0,y=p.y??0,f=p.width??0,C=p.height??0;A(g,y),A(g+f,y+C)}for(const p of i){const g=p.x??0,y=p.y??0,f=p.radius??1;A(g-f,y-f),A(g+f,y+f)}for(const p of r)A(p.x,p.y);(!isFinite(s)||!isFinite(a)||!isFinite(c)||!isFinite(l))&&(s=-20,a=-20,c=20,l=20);const u=10,d=s-u,h=a-u,_=Math.max(1,c-s+2*u),m=Math.max(1,l-a+2*u);return W.jsxs("svg",{className:"w-full h-[400px] bg-white",viewBox:`${d} ${h} ${_} ${m}`,role:"img","aria-label":"Graphics fallback",children:[o.map((p,g)=>W.jsx("rect",{x:p.x??0,y:p.y??0,width:p.width??0,height:p.height??0,fill:"none",stroke:p.strokeColor??"black",strokeWidth:p.strokeWidth??1},`rect-${g}`)),n.map((p,g)=>W.jsx("polyline",{fill:"none",stroke:p.strokeColor??"black",strokeWidth:p.strokeWidth??1,points:(p.points??[]).map(y=>`${y.x??0},${y.y??0}`).join(" ")},`line-${g}`)),i.map((p,g)=>W.jsx("circle",{cx:p.x??0,cy:p.y??0,r:p.radius??1.5,fill:p.fillColor??"none",stroke:p.strokeColor??"black",strokeWidth:p.strokeWidth??1},`circle-${g}`)),e.map((p,g)=>W.jsx("circle",{cx:p.x??0,cy:p.y??0,r:p.radius??1.5,fill:p.color??"black"},`point-${g}`)),r.map((p,g)=>W.jsx("text",{x:p.x??0,y:p.y??0,fontSize:p.fontSize??10,fill:p.color??"black",children:p.text??""},`text-${g}`))]})}var H2o=({solver:t,animationSpeed:e=25,onSolverStarted:n,onSolverCompleted:o})=>{const[i,r]=ne.useReducer(A=>A+1,0),s=ne.useMemo(()=>{try{return t.visualize()||{points:[],lines:[],rects:[],circles:[]}}catch(A){return console.error("Visualization error:",A),{points:[],lines:[],rects:[],circles:[]}}},[t,i]),a=ne.useMemo(()=>(s.rects?.length||0)===0&&(s.lines?.length||0)===0&&(s.points?.length||0)===0&&(s.circles?.length||0)===0,[s]);ne.useEffect(()=>{if(!(typeof document>"u")&&!document.querySelector('script[src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"]')){const A=document.createElement("script");A.src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4",document.head.appendChild(A)}},[]);const c=t.pipelineDef!==void 0,l=A=>{const u=t;if(!t.solved&&!t.failed){for(;!t.solved&&!t.failed&&u.currentPipelineStepIndex<=u.pipelineDef.findIndex(d=>d.solverName===A);)t.step();r()}};return W.jsxs("div",{children:[W.jsx(P2o,{solver:t,triggerRender:r,animationSpeed:e,onSolverStarted:n,onSolverCompleted:o}),a?W.jsx("div",{className:"p-4 text-gray-500",children:"No Graphics Yet"}):W.jsx(N2o,{fallback:W.jsx(k2o,{graphics:s}),children:W.jsx(E2o,{graphics:s})}),c&&W.jsx(R2o,{solver:t,onStepUntilPhase:l})]})};const L2o=()=>{ne.useEffect(()=>{const t="tailwind-cdn-script";if(document.getElementById(t)||window.tailwind)return;const e=document.createElement("div");e.className="hidden",document.body.appendChild(e);const n=window.getComputedStyle(e).display==="none";if(document.body.removeChild(e),n)return;const o=document.createElement("script");o.id=t,o.src="https://cdn.tailwindcss.com",document.head.appendChild(o)},[])},F2o=t=>t.toLowerCase().includes("pack")?Vio:t.toLowerCase().includes("rout")?Jio:Nio,O2o=({solverEvents:t=[]})=>{const[e,n]=ne.useState(null);L2o();const o=ne.useMemo(()=>{const a=new Map;for(const c of t){const l=`${c.componentName}-${c.solverName}`;a.set(l,c)}return a},[t]),i=ne.useMemo(()=>Array.from(o.keys()),[o]),r=e?o.get(e):null,s=ne.useMemo(()=>{if(!r)return{instance:null,error:null,classFound:!1};const a=Tpe[r.solverName];if(!a)return{instance:null,error:`Solver class "${r.solverName}" not found in SOLVERS registry. Available: ${Object.keys(Tpe).join(", ")}`,classFound:!1};try{const c=r.solverParams,l=c?.input!==void 0?c.input:c;return{instance:new a(l),error:null,classFound:!0}}catch(c){const l=c instanceof Error?c.message:String(c);return console.error("Failed to reconstruct solver:",c),{instance:null,error:`Failed to instantiate solver: ${l}`,classFound:!0}}},[r]);return t.length===0?W.jsx("div",{className:"rf-p-4",children:W.jsx("div",{className:"rf-bg-gray-50 rf-rounded-md rf-border rf-border-gray-200",children:W.jsxs("div",{className:"rf-p-4",children:[W.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800 rf-mb-3",children:"No Solvers Detected"}),W.jsx("p",{className:"rf-text-sm rf-text-gray-600",children:"Solvers will appear here when the circuit runs. Solvers are used for tasks like component packing and autorouting."})]})})}):W.jsxs("div",{className:"rf-flex rf-h-full rf-overflow-hidden",children:[W.jsxs("div",{className:"rf-w-64 rf-border-r rf-border-gray-200 rf-overflow-y-auto rf-flex-shrink-0",children:[W.jsxs("div",{className:"rf-text-xs rf-font-semibold rf-text-gray-500 rf-px-3 rf-py-2 rf-bg-gray-50 rf-border-b rf-border-gray-200",children:[i.length," ",i.length===1?"Solver":"Solvers"]}),i.map(a=>{const c=o.get(a),l=e===a;return W.jsx("div",{className:`rf-px-3 rf-py-2 rf-cursor-pointer rf-border-b rf-border-gray-100 ${l?"rf-bg-blue-50 rf-border-l-2 rf-border-l-blue-500":"hover:rf-bg-gray-50"}`,onClick:()=>n(a),children:(()=>{const A=F2o(c.solverName);return W.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2",children:[W.jsx(A,{className:"rf-w-4 rf-h-4 rf-text-blue-500 rf-flex-shrink-0"}),W.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[W.jsx("div",{className:"rf-text-sm rf-font-medium rf-text-gray-800 rf-truncate",children:c.componentName}),W.jsx("div",{className:"rf-text-xs rf-text-gray-500 rf-truncate",children:c.solverName})]})]})})()},a)})]}),W.jsx("div",{className:"rf-flex-1 rf-overflow-hidden",children:r?s.instance?W.jsx(N4,{fallback:W.jsx("div",{className:"rf-p-4",children:W.jsxs("div",{className:"rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200 rf-p-4",children:[W.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-2",children:"Error Loading Solver Debugger"}),W.jsxs("p",{className:"rf-text-sm rf-text-red-600",children:["Failed to render the solver debugger for"," ",r.solverName]})]})}),children:W.jsx(H2o,{solver:s.instance})}):W.jsxs("div",{className:"rf-p-4",children:[W.jsxs("div",{className:"rf-mb-4",children:[W.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800",children:r.solverName}),W.jsxs("p",{className:"rf-text-sm rf-text-gray-500",children:["Component: ",r.componentName]})]}),s.error&&W.jsx("div",{className:`rf-rounded-md rf-border rf-p-4 rf-mb-4 ${s.classFound?"rf-bg-red-50 rf-border-red-200":"rf-bg-yellow-50 rf-border-yellow-200"}`,children:W.jsx("p",{className:`rf-text-sm ${s.classFound?"rf-text-red-700":"rf-text-yellow-700"}`,children:s.error})}),W.jsxs("div",{className:"rf-border rf-border-gray-200 rf-rounded-md rf-overflow-hidden",children:[W.jsx("div",{className:"rf-px-3 rf-py-2 rf-bg-gray-50",children:W.jsx("span",{className:"rf-text-sm rf-font-medium rf-text-gray-700",children:"Solver Parameters"})}),W.jsx("div",{className:"rf-p-3 rf-bg-white rf-border-t rf-border-gray-200",children:W.jsx("pre",{className:"rf-text-xs rf-font-mono rf-text-gray-600 rf-whitespace-pre-wrap rf-overflow-x-auto",children:JSON.stringify(r.solverParams,null,2)})})]})]}):W.jsx("div",{className:"rf-flex rf-items-center rf-justify-center rf-h-full",children:W.jsx("p",{className:"rf-text-sm rf-text-gray-500",children:"Select a solver from the list to view details"})})})]})},Tbt=({errorMessage:t,errorStack:e,circuitJsonErrors:n})=>{ne.useEffect(()=>{if(t){const o=new Error(t);e&&(o.stack=e);try{L9.captureException(o)}catch{}}},[t,e]),ne.useEffect(()=>{if(n&&n.length>0)for(const o of n){const i=new Error(o.message||"Circuit JSON Error");o.stack&&(i.stack=o.stack);try{L9.captureException(i,{error_type:o.type})}catch{}}},[n])},G2o=t=>{ne.useEffect(()=>{try{BMt(t)}catch{}},[t.source,t.component,t.isWebEmbedded,t.activeTab])},Rbt="0.0.2076",U2o={version:Rbt},J3e={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1},q3e=new Map,Iee=t=>{const e=q3e.get(t);return e?Object.fromEntries(Object.entries(e.stores).map(([n,o])=>[n,o.getState()])):{}},z2o=(t,e,n)=>{if(t===void 0)return{type:"untracked",connection:e.connect(n)};const o=q3e.get(n.name);if(o)return{type:"tracked",store:t,...o};const i={connection:e.connect(n),stores:{}};return q3e.set(n.name,i),{type:"tracked",store:t,...i}},Nbt=(t,e={})=>(n,o,i)=>{const{enabled:r,anonymousActionType:s,store:a,...c}=e;let l;try{l=(r??(J3e?"production":void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!l)return(J3e?"production":void 0)!=="production"&&r&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),t(n,o,i);const{connection:A,...u}=z2o(a,l,c);let d=!0;i.setState=(m,p,g)=>{const y=n(m,p);if(!d)return y;const f=g===void 0?{type:s||"anonymous"}:typeof g=="string"?{type:g}:g;return a===void 0?(A?.send(f,o()),y):(A?.send({...f,type:`${a}/${f.type}`},{...Iee(c.name),[a]:i.getState()}),y)};const h=(...m)=>{const p=d;d=!1,n(...m),d=p},_=t(i.setState,o,i);if(u.type==="untracked"?A?.init(_):(u.stores[u.store]=i,A?.init(Object.fromEntries(Object.entries(u.stores).map(([m,p])=>[m,m===u.store?_:p.getState()])))),i.dispatchFromDevtools&&typeof i.dispatch=="function"){let m=!1;const p=i.dispatch;i.dispatch=(...g)=>{(J3e?"production":void 0)!=="production"&&g[0].type==="__setState"&&!m&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),m=!0),p(...g)}}return A.subscribe(m=>{var p;switch(m.type){case"ACTION":if(typeof m.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return $3e(m.payload,g=>{if(g.type==="__setState"){if(a===void 0){h(g.state);return}Object.keys(g.state).length!==1&&console.error(`
5779
5779
  [zustand devtools middleware] Unsupported __setState action format.
5780
5780
  When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
5781
5781
  and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }