Saved your changes before starting work

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 4b008663-bd72-492b-b0b6-fa252367e730
This commit is contained in:
michaelschal committed 2025-07-19 13:16:10 +00:00
1 parent a0fd8e0a25
commit ae1fd208c2
21 files changed
+2232 -969

No files matched your search

+34
View File
@@ -0,0 +1,34 @@
import { QueryClientProvider } from "@tanstack/react-query";
import { queryClient } from "./lib/queryClient";
import { Toaster } from "@/components/ui/toaster";
import { TooltipProvider } from "@/components/ui/tooltip";
import { useAuth } from "@/hooks/useAuth";
import Login from "@/pages/Login";
import Dashboard from "@/pages/Dashboard";
function AppContent() {
const { isAuthenticated, isLoading } = useAuth();
if (isLoading) {
return (
<div className="min-h-screen flex items-center justify-center">
<div className="animate-spin rounded-full h-8 w-8 border-b-2 border-primary"></div>
</div>
);
}
return isAuthenticated ? <Dashboard /> : <Login />;
}
function App() {
return (
<QueryClientProvider client={queryClient}>
<TooltipProvider>
<Toaster />
<AppContent />
</TooltipProvider>
</QueryClientProvider>
);
}
export default App;
+39
View File
@@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32">
<defs>
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#ff6b35;stop-opacity:1" />
<stop offset="50%" style="stop-color:#f7931e;stop-opacity:1" />
<stop offset="100%" style="stop-color:#ffd23f;stop-opacity:1" />
</linearGradient>
</defs>
<!-- Background circle -->
<circle cx="16" cy="16" r="15" fill="url(#grad1)" stroke="#e74c3c" stroke-width="1"/>
<!-- Firework sparkles -->
<g fill="#fff" opacity="0.9">
<!-- Center spark -->
<circle cx="16" cy="14" r="1.5"/>
<!-- Main sparks -->
<circle cx="11" cy="9" r="1"/>
<circle cx="21" cy="9" r="1"/>
<circle cx="24" cy="14" r="1"/>
<circle cx="21" cy="19" r="1"/>
<circle cx="11" cy="19" r="1"/>
<circle cx="8" cy="14" r="1"/>
<!-- Small sparks -->
<circle cx="13" cy="7" r="0.5"/>
<circle cx="19" cy="7" r="0.5"/>
<circle cx="25" cy="11" r="0.5"/>
<circle cx="25" cy="17" r="0.5"/>
<circle cx="19" cy="21" r="0.5"/>
<circle cx="13" cy="21" r="0.5"/>
<circle cx="7" cy="17" r="0.5"/>
<circle cx="7" cy="11" r="0.5"/>
</g>
<!-- Registry symbol (RF for RegisFlow) -->
<text x="16" y="28" font-family="Arial, sans-serif" font-size="8" font-weight="bold" text-anchor="middle" fill="#fff" opacity="0.8">RF</text>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@@ -0,0 +1,57 @@
import{g as Ve,c as Kt}from"./index-JGS-T_I_.js";function qe(xe,Fe){for(var s=0;s<Fe.length;s++){const T=Fe[s];if(typeof T!="string"&&!Array.isArray(T)){for(const S in T)if(S!=="default"&&!(S in xe)){const m=Object.getOwnPropertyDescriptor(T,S);m&&Object.defineProperty(xe,S,m.get?m:{enumerable:!0,get:()=>T[S]})}}}return Object.freeze(Object.defineProperty(xe,Symbol.toStringTag,{value:"Module"}))}function De(xe){throw new Error('Could not dynamically require "'+xe+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var $e={exports:{}};/*! ExcelJS 19-10-2023 */(function(xe,Fe){(function(s){xe.exports=s()})(function(){return function s(T,S,m){function o(t,e){if(!S[t]){if(!T[t]){var l=typeof De=="function"&&De;if(!e&&l)return l(t,!0);if(a)return a(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=S[t]={exports:{}};T[t][0].call(i.exports,function(c){return o(T[t][1][c]||c)},i,i.exports,s,T,S,m)}return S[t].exports}for(var a=typeof De=="function"&&De,r=0;r<m.length;r++)o(m[r]);return o}({1:[function(s,T,S){const m=s("fs"),o=s("fast-csv"),a=s("dayjs/plugin/customParseFormat"),r=s("dayjs/plugin/utc"),t=s("dayjs").extend(a).extend(r),e=s("../utils/stream-buf"),{fs:{exists:l}}=s("../utils/utils"),n={true:!0,false:!1,"#N/A":{error:"#N/A"},"#REF!":{error:"#REF!"},"#NAME?":{error:"#NAME?"},"#DIV/0!":{error:"#DIV/0!"},"#NULL!":{error:"#NULL!"},"#VALUE!":{error:"#VALUE!"},"#NUM!":{error:"#NUM!"}};T.exports=class{constructor(i){this.workbook=i,this.worksheet=null}async readFile(i,c){if(c=c||{},!await l(i))throw new Error("File not found: "+i);const h=m.createReadStream(i),u=await this.read(h,c);return h.close(),u}read(i,c){return c=c||{},new Promise((h,u)=>{const d=this.workbook.addWorksheet(c.sheetName),f=c.dateFormats||["YYYY-MM-DD[T]HH:mm:ssZ","YYYY-MM-DD[T]HH:mm:ss","MM-DD-YYYY","YYYY-MM-DD"],w=c.map||function(A){if(A==="")return null;const N=Number(A);if(!Number.isNaN(N)&&N!==1/0)return N;const L=f.reduce((P,D)=>{if(P)return P;const U=t(A,D,!0);return U.isValid()?U:null},null);if(L)return new Date(L.valueOf());const I=n[A];return I!==void 0?I:A},_=o.parse(c.parserOptions).on("data",A=>{d.addRow(A.map(w))}).on("end",()=>{_.emit("worksheet",d)});_.on("worksheet",h).on("error",u),i.pipe(_)})}createInputStream(){throw new Error("`CSV#createInputStream` is deprecated. You should use `CSV#read` instead. This method will be removed in version 5.0. Please follow upgrade instruction: https://github.com/exceljs/exceljs/blob/master/UPGRADE-4.0.md")}write(i,c){return new Promise((h,u)=>{c=c||{};const d=this.workbook.getWorksheet(c.sheetName||c.sheetId),f=o.format(c.formatterOptions);i.on("finish",()=>{h()}),f.on("error",u),f.pipe(i);const{dateFormat:w,dateUTC:_}=c,A=c.map||(I=>{if(I){if(I.text||I.hyperlink)return I.hyperlink||I.text||"";if(I.formula||I.result)return I.result||"";if(I instanceof Date)return w?_?t.utc(I).format(w):t(I).format(w):_?t.utc(I).format():t(I).format();if(I.error)return I.error;if(typeof I=="object")return JSON.stringify(I)}return I}),N=c.includeEmptyRows===void 0||c.includeEmptyRows;let L=1;d&&d.eachRow((I,P)=>{if(N)for(;L++<P-1;)f.write([]);const{values:D}=I;D.shift(),f.write(D.map(A)),L=P}),f.end()})}writeFile(i,c){const h={encoding:(c=c||{}).encoding||"utf8"},u=m.createWriteStream(i,h);return this.write(u,c)}async writeBuffer(i){const c=new e;return await this.write(c,i),c.read()}}},{"../utils/stream-buf":24,"../utils/utils":27,dayjs:391,"dayjs/plugin/customParseFormat":392,"dayjs/plugin/utc":393,"fast-csv":424,fs:216}],2:[function(s,T,S){const m=s("../utils/col-cache");class o{constructor(r,t){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;if(this.worksheet=r,t)if(typeof t=="string"){const l=m.decodeAddress(t);this.nativeCol=l.col+e,this.nativeColOff=0,this.nativeRow=l.row+e,this.nativeRowOff=0}else t.nativeCol!==void 0?(this.nativeCol=t.nativeCol||0,this.nativeColOff=t.nativeColOff||0,this.nativeRow=t.nativeRow||0,this.nativeRowOff=t.nativeRowOff||0):t.col!==void 0?(this.col=t.col+e,this.row=t.row+e):(this.nativeCol=0,this.nativeColOff=0,this.nativeRow=0,this.nativeRowOff=0);else this.nativeCol=0,this.nativeColOff=0,this.nativeRow=0,this.nativeRowOff=0}static asInstance(r){return r instanceof o||r==null?r:new o(r)}get col(){return this.nativeCol+Math.min(this.colWidth-1,this.nativeColOff)/this.colWidth}set col(r){this.nativeCol=Math.floor(r),this.nativeColOff=Math.floor((r-this.nativeCol)*this.colWidth)}get row(){return this.nativeRow+Math.min(this.rowHeight-1,this.nativeRowOff)/this.rowHeight}set row(r){this.nativeRow=Math.floor(r),this.nativeRowOff=Math.floor((r-this.nativeRow)*this.rowHeight)}get colWidth(){return this.worksheet&&this.worksheet.getColumn(this.nativeCol+1)&&this.worksheet.getColumn(this.nativeCol+1).isCustomWidth?Math.floor(1e4*this.worksheet.getColumn(this.nativeCol+1).width):64e4}get rowHeight(){return this.worksheet&Line truncated
`)}openNode(l,n){const i=this.tos,c=this._xml;i&&this.open&&c.push(">"),this._stack.push(l),c.push("<"),c.push(l),r(c,n),this.leaf=!0,this.open=!0}addAttribute(l,n){if(!this.open)throw new Error("Cannot write attributes to node if it is not open");n!==void 0&&a(this._xml,l,n)}addAttributes(l){if(!this.open)throw new Error("Cannot write attributes to node if it is not open");r(this._xml,l)}writeText(l){const n=this._xml;this.open&&(n.push(">"),this.open=!1),this.leaf=!1,n.push(o.xmlEncode(l.toString()))}writeXml(l){this.open&&(this._xml.push(">"),this.open=!1),this.leaf=!1,this._xml.push(l)}closeNode(){const l=this._stack.pop(),n=this._xml;this.leaf?n.push("/>"):(n.push("</"),n.push(l),n.push(">")),this.open=!1,this.leaf=!1}leafNode(l,n,i){this.openNode(l,n),i!==void 0&&this.writeText(i),this.closeNode()}closeAll(){for(;this._stack.length;)this.closeNode()}addRollback(){return this._rollbacks.push({xml:this._xml.length,stack:this._stack.length,leaf:this.leaf,open:this.open}),this.cursor}commit(){this._rollbacks.pop()}rollback(){const l=this._rollbacks.pop();this._xml.length>l.xml&&this._xml.splice(l.xml,this._xml.length-l.xml),this._stack.length>l.stack&&this._stack.splice(l.stack,this._stack.length-l.stack),this.leaf=l.leaf,this.open=l.open}get xml(){return this.closeAll(),this._xml.join("")}}t.StdDocAttributes={version:"1.0",encoding:"UTF-8",standalone:"yes"},T.exports=t},{"./under-dash":26,"./utils":27}],29:[function(s,T,S){(function(m){(function(){const o=s("events"),a=s("jszip"),r=s("./stream-buf"),{stringToBuffer:t}=s("./browser-buffer-encode");class e extends o.EventEmitter{constructor(n){super(),this.options=Object.assign({type:"nodebuffer",compression:"DEFLATE"},n),this.zip=new a,this.stream=new r}append(n,i){i.hasOwnProperty("base64")&&i.base64?this.zip.file(i.name,n,{base64:!0}):(m.browser&&typeof n=="string"&&(n=t(n)),this.zip.file(i.name,n))}async finalize(){const n=await this.zip.generateAsync(this.options);this.stream.end(n),this.emit("finish")}read(n){return this.stream.read(n)}setEncoding(n){return this.stream.setEncoding(n)}pause(){return this.stream.pause()}resume(){return this.stream.resume()}isPaused(){return this.stream.isPaused()}pipe(n,i){return this.stream.pipe(n,i)}unpipe(n){return this.stream.unpipe(n)}unshift(n){return this.stream.unshift(n)}wrap(n){return this.stream.wrap(n)}}T.exports={ZipWriter:e}}).call(this)}).call(this,s("_process"))},{"./browser-buffer-encode":17,"./stream-buf":24,_process:467,events:422,jszip:441}],30:[function(s,T,S){T.exports={0:{f:"General"},1:{f:"0"},2:{f:"0.00"},3:{f:"#,##0"},4:{f:"#,##0.00"},9:{f:"0%"},10:{f:"0.00%"},11:{f:"0.00E+00"},12:{f:"# ?/?"},13:{f:"# ??/??"},14:{f:"mm-dd-yy"},15:{f:"d-mmm-yy"},16:{f:"d-mmm"},17:{f:"mmm-yy"},18:{f:"h:mm AM/PM"},19:{f:"h:mm:ss AM/PM"},20:{f:"h:mm"},21:{f:"h:mm:ss"},22:{f:'m/d/yy "h":mm'},27:{"zh-tw":"[$-404]e/m/d","zh-cn":'yyyy"年"m"月"',"ja-jp":"[$-411]ge.m.d","ko-kr":'yyyy"年" mm"月" dd"日"'},28:{"zh-tw":'[$-404]e"年"m"月"d"日"',"zh-cn":'m"月"d"日"',"ja-jp":'[$-411]ggge"年"m"月"d"日"',"ko-kr":"mm-dd"},29:{"zh-tw":'[$-404]e"年"m"月"d"日"',"zh-cn":'m"月"d"日"',"ja-jp":'[$-411]ggge"年"m"月"d"日"',"ko-kr":"mm-dd"},30:{"zh-tw":"m/d/yy ","zh-cn":"m-d-yy","ja-jp":"m/d/yy","ko-kr":"mm-dd-yy"},31:{"zh-tw":'yyyy"年"m"月"d"日"',"zh-cn":'yyyy"年"m"月"d"日"',"ja-jp":'yyyy"年"m"月"d"日"',"ko-kr":'yyyy"년" mm"월" dd"일"'},32:{"zh-tw":'hh"時"mm"分"',"zh-cn":'h"时"mm"分"',"ja-jp":'h"時"mm"分"',"ko-kr":'h"시" mm"분"'},33:{"zh-tw":'hh"時"mm"分"ss"秒"',"zh-cn":'h"时"mm"分"ss"秒"',"ja-jp":'h"時"mm"分"ss"秒"',"ko-kr":'h"시" mm"분" ss"초"'},34:{"zh-tw":'上午/下午 hh"時"mm"分"',"zh-cn":'上午/下午 h"时"mm"分"',"ja-jp":'yyyy"年"m"月"',"ko-kr":"yyyy-mm-dd"},35:{"zh-tw":'上午/下午 hh"時"mm"分"ss"秒"',"zh-cn":'上午/下午 h"时"mm"分"ss"秒"',"ja-jp":'m"月"d"日"',"ko-kr":"yyyy-mm-dd"},36:{"zh-tw":"[$-404]e/m/d","zh-cn":'yyyy"年"m"月"',"ja-jp":"[$-411]ge.m.d","ko-kr":'yyyy"年" mm"月" dd"日"'},37:{f:"#,##0 ;(#,##0)"},38:{f:"#,##0 ;[Red](#,##0)"},39:{f:"#,##0.00 ;(#,##0.00)"},40:{f:"#,##0.00 ;[Red](#,##0.00)"},45:{f:"mm:ss"},46:{f:"[h]:mm:ss"},47:{f:"mmss.0"},48:{f:"##0.0E+0"},49:{f:"@"},50:{"zh-tw":"[$-404]e/m/d","zh-cn":'yyyy"年"m"月"',"ja-jp":"[$-411]ge.m.d","ko-kr":'yyyy"年" mm"月" dd"日"'},51:{"zh-tw":'[$-404]e"年"m"月"d"日"',"zh-cn":'m"月"d"日"',"ja-jp":'[$-411]ggge"年"m"月"d"日"',"ko-kr":"mm-dd"},52:{"zh-tw":'上午/下午 hh"時"mm"分"',"zh-cn":'yyyy"年"m"月"',"ja-jp":'yyyy"年"m"月"',"ko-kr":"yyyy-mm-dd"},53:{"zh-tw":'上午/下午 hh"時"mm"分"ss"秒"',"zh-cn":'m"月"d"日"',"ja-jp":'m"月"d"日"',"ko-kr":"yyyy-mm-dd"},54:{"zh-tw":'[$-404]e"年"m"月"d"日"',"zh-cn":'m"月"d"日"',"ja-jp":'[$-411]ggge"年"m"月"d"日"',"ko-kr":"mm-dd"},55:{"zh-tw":'上午/下午 hh"時"mm"分"',"zh-cn":'上午/下午 h"时"mm"分"',"ja-jp":'yyyy"年"m"月"',"ko-kr":"yyyy-mm-dd"},56:{"zh-tw":'上午/下午 hh"時"mm"分"ss"秒"',"zh-cn":'上午/ Line truncated
<a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme"> <a:themeElements> <a:clrScheme name="Office"> <a:dk1> <a:sysClr val="windowText" lastClr="000000"/> </a:dk1> <a:lt1> <a:sysClr val="window" lastClr="FFFFFF"/> </a:lt1> <a:dk2> <a:srgbClr val="1F497D"/> </a:dk2> <a:lt2> <a:srgbClr val="EEECE1"/> </a:lt2> <a:accent1> <a:srgbClr val="4F81BD"/> </a:accent1> <a:accent2> <a:srgbClr val="C0504D"/> </a:accent2> <a:accent3> <a:srgbClr val="9BBB59"/> </a:accent3> <a:accent4> <a:srgbClr val="8064A2"/> </a:accent4> <a:accent5> <a:srgbClr val="4BACC6"/> </a:accent5> <a:accent6> <a:srgbClr val="F79646"/> </a:accent6> <a:hlink> <a:srgbClr val="0000FF"/> </a:hlink> <a:folHlink> <a:srgbClr val="800080"/> </a:folHlink> </a:clrScheme> <a:fontScheme name="Office"> <a:majorFont> <a:latin typeface="Cambria"/> <a:ea typeface=""/> <a:cs typeface=""/> <a:font script="Jpan" typeface="MS Pゴシック"/> <a:font script="Hang" typeface="맑은 고딕"/> <a:font script="Hans" typeface="宋体"/> <a:font script="Hant" typeface="新細明體"/> <a:font script="Arab" typeface="Times New Roman"/> <a:font script="Hebr" typeface="Times New Roman"/> <a:font script="Thai" typeface="Tahoma"/> <a:font script="Ethi" typeface="Nyala"/> <a:font script="Beng" typeface="Vrinda"/> <a:font script="Gujr" typeface="Shruti"/> <a:font script="Khmr" typeface="MoolBoran"/> <a:font script="Knda" typeface="Tunga"/> <a:font script="Guru" typeface="Raavi"/> <a:font script="Cans" typeface="Euphemia"/> <a:font script="Cher" typeface="Plantagenet Cherokee"/> <a:font script="Yiii" typeface="Microsoft Yi Baiti"/> <a:font script="Tibt" typeface="Microsoft Himalaya"/> <a:font script="Thaa" typeface="MV Boli"/> <a:font script="Deva" typeface="Mangal"/> <a:font script="Telu" typeface="Gautami"/> <a:font script="Taml" typeface="Latha"/> <a:font script="Syrc" typeface="Estrangelo Edessa"/> <a:font script="Orya" typeface="Kalinga"/> <a:font script="Mlym" typeface="Kartika"/> <a:font script="Laoo" typeface="DokChampa"/> <a:font script="Sinh" typeface="Iskoola Pota"/> <a:font script="Mong" typeface="Mongolian Baiti"/> <a:font script="Viet" typeface="Times New Roman"/> <a:font script="Uigh" typeface="Microsoft Uighur"/> <a:font script="Geor" typeface="Sylfaen"/> </a:majorFont> <a:minorFont> <a:latin typeface="Calibri"/> <a:ea typeface=""/> <a:cs typeface=""/> <a:font script="Jpan" typeface="MS Pゴシック"/> <a:font script="Hang" typeface="맑은 고딕"/> <a:font script="Hans" typeface="宋体"/> <a:font script="Hant" typeface="新細明體"/> <a:font script="Arab" typeface="Arial"/> <a:font script="Hebr" typeface="Arial"/> <a:font script="Thai" typeface="Tahoma"/> <a:font script="Ethi" typeface="Nyala"/> <a:font script="Beng" typeface="Vrinda"/> <a:font script="Gujr" typeface="Shruti"/> <a:font script="Khmr" typeface="DaunPenh"/> <a:font script="Knda" typeface="Tunga"/> <a:font script="Guru" typeface="Raavi"/> <a:font script="Cans" typeface="Euphemia"/> <a:font script="Cher" typeface="Plantagenet Cherokee"/> <a:font script="Yiii" typeface="Microsoft Yi Baiti"/> <a:font script="Tibt" typeface="Microsoft Himalaya"/> <a:font script="Thaa" typeface="MV Boli"/> <a:font script="Deva" typeface="Mangal"/> <a:font script="Telu" typeface="Gautami"/> <a:font script="Taml" typeface="Latha"/> <a:font script="Syrc" typeface="Estrangelo Edessa"/> <a:font script="Orya" typeface="Kalinga"/> <a:font script="Mlym" typeface="Kartika"/> <a:font script="Laoo" typeface="DokChampa"/> <a:font script="Sinh" typeface="Iskoola Pota"/> <a:font script="Mong" typeface="Mongolian Baiti"/> <a:font script="Viet" typeface="Arial"/> <a:font script="Uigh" typeface="Microsoft Uighur"/> <a:font script="Geor" typeface="Sylfaen"/> </a:minorFont> </a:fontScheme> <a:fmtScheme name="Office"> <a:fillStyleLst> <a:solidFill> <a:schemeClr val="phClr"/> </a:solidFill> <a:gradFill rotWithShape="1"> <a:gsLst> <a:gs pos="0"> <a:schemeClr val="phClr"> <a:tint val="50000"/> <a:satMod val="300000"/> </a:schemeClr> </a:gs> <a:gs pos="35000"> <a:schemeClr val="phClr"> <a:tint val="37000"/> <a:satMod val="300000"/> </a:schemeClr> </a:gs> <a:gs pos="100000"> <a:schemeClr val="phClr"> <a:tint val="15000"/> <a:satMod val="350000"/> </a:schemeClr> </a:gs> </a:gsLst> <a:lin ang="16200000" scaled="1"/> </a:gradFill> <a:gradFill rotWithShape="1"> <a:gsLst> <a:gs pos="0"> <a:schemeClr val="phClr"> <a:tint val="100000"/> <a:shade val="100000"/> <a:satMod val="130000"/> </a:schemeClr> </a:gs> <a:gs pos="100000"> <a:schemeClr val="phClr"> <a:tint val="50000"/> <a:shade val="100000"/> <a:satMod val="350000"/> </a:schemeClr> </a:gs> </a:gsLst> <a:lin ang="16200000" scaled="0"/> </a:gradFill> </a:fillStyleLst> <a:lnStyleLst> <a:ln w="9525" cap="flat" cmpd="sng" algn="ctr"> <a:solidFill> <a:schemeClr val="phClr"> <a:shade val="95000"/> <a:satMod val="105000"/> </a:schemeClr> </a:solidFill> <a:prstDash val="solid"/> </a:ln> <a:ln w="25400" cap="flat" cmpd="sng" algn="ctr"> <a:solidFill> <a:Line truncated
`,this.quote='"',this.escape=this.quote,this.quoteColumns=!1,this.quoteHeaders=this.quoteColumns,this.headers=null,this.includeEndRowDelimiter=!1,this.writeBOM=!1,this.BOM="\uFEFF",this.alwaysWriteHeaders=!1,Object.assign(this,m||{}),(m==null?void 0:m.quoteHeaders)===void 0&&(this.quoteHeaders=this.quoteColumns),(m==null?void 0:m.quote)===!0?this.quote='"':(m==null?void 0:m.quote)===!1&&(this.quote=""),typeof(m==null?void 0:m.escape)!="string"&&(this.escape=this.quote),this.shouldWriteHeaders=!!this.headers&&((o=m.writeHeaders)===null||o===void 0||o),this.headers=Array.isArray(this.headers)?this.headers:null,this.escapedQuote=`${this.escape}${this.quote}`}}},{}],148:[function(s,T,S){var m=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(S,"__esModule",{value:!0}),S.FieldFormatter=void 0;const o=m(s("lodash.isboolean")),a=m(s("lodash.isnil")),r=m(s("lodash.escaperegexp"));S.FieldFormatter=class{constructor(t){this._headers=null,this.formatterOptions=t,t.headers!==null&&(this.headers=t.headers),this.REPLACE_REGEXP=new RegExp(t.quote,"g");const e=`[${t.delimiter}${r.default(t.rowDelimiter)}|\r|
]`;this.ESCAPE_REGEXP=new RegExp(e)}set headers(t){this._headers=t}shouldQuote(t,e){const l=e?this.formatterOptions.quoteHeaders:this.formatterOptions.quoteColumns;return o.default(l)?l:Array.isArray(l)?l[t]:this._headers!==null&&l[this._headers[t]]}format(t,e,l){const n=(""+(a.default(t)?"":t)).replace(/\0/g,""),{formatterOptions:i}=this;return i.quote!==""&&n.indexOf(i.quote)!==-1?this.quoteField(n.replace(this.REPLACE_REGEXP,i.escapedQuote)):n.search(this.ESCAPE_REGEXP)!==-1||this.shouldQuote(e,l)?this.quoteField(n):n}quoteField(t){const{quote:e}=this.formatterOptions;return`${e}${t}${e}`}}},{"lodash.escaperegexp":442,"lodash.isboolean":444,"lodash.isnil":447}],149:[function(s,T,S){var m=function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(S,"__esModule",{value:!0}),S.RowFormatter=void 0;const o=m(s("lodash.isfunction")),a=m(s("lodash.isequal")),r=s("./FieldFormatter"),t=s("../types");class e{constructor(n){this.rowCount=0,this.formatterOptions=n,this.fieldFormatter=new r.FieldFormatter(n),this.headers=n.headers,this.shouldWriteHeaders=n.shouldWriteHeaders,this.hasWrittenHeaders=!1,this.headers!==null&&(this.fieldFormatter.headers=this.headers),n.transform&&(this.rowTransform=n.transform)}static isRowHashArray(n){return!!Array.isArray(n)&&Array.isArray(n[0])&&n[0].length===2}static isRowArray(n){return Array.isArray(n)&&!this.isRowHashArray(n)}static gatherHeaders(n){return e.isRowHashArray(n)?n.map(i=>i[0]):Array.isArray(n)?n:Object.keys(n)}static createTransform(n){return t.isSyncTransform(n)?(i,c)=>{let h=null;try{h=n(i)}catch(u){return c(u)}return c(null,h)}:(i,c)=>{n(i,c)}}set rowTransform(n){if(!o.default(n))throw new TypeError("The transform should be a function");this._rowTransform=e.createTransform(n)}format(n,i){this.callTransformer(n,(c,h)=>{if(c)return i(c);if(!n)return i(null);const u=[];if(h){const{shouldFormatColumns:d,headers:f}=this.checkHeaders(h);if(this.shouldWriteHeaders&&f&&!this.hasWrittenHeaders&&(u.push(this.formatColumns(f,!0)),this.hasWrittenHeaders=!0),d){const w=this.gatherColumns(h);u.push(this.formatColumns(w,!1))}}return i(null,u)})}finish(n){const i=[];if(this.formatterOptions.alwaysWriteHeaders&&this.rowCount===0){if(!this.headers)return n(new Error("`alwaysWriteHeaders` option is set to true but `headers` option not provided."));i.push(this.formatColumns(this.headers,!0))}return this.formatterOptions.includeEndRowDelimiter&&i.push(this.formatterOptions.rowDelimiter),n(null,i)}checkHeaders(n){if(this.headers)return{shouldFormatColumns:!0,headers:this.headers};const i=e.gatherHeaders(n);return this.headers=i,this.fieldFormatter.headers=i,this.shouldWriteHeaders?{shouldFormatColumns:!a.default(i,n),headers:i}:{shouldFormatColumns:!0,headers:null}}gatherColumns(n){if(this.headers===null)throw new Error("Headers is currently null");return Array.isArray(n)?e.isRowHashArray(n)?this.headers.map((i,c)=>{const h=n[c];return h?h[1]:""}):e.isRowArray(n)&&!this.shouldWriteHeaders?n:this.headers.map((i,c)=>n[c]):this.headers.map(i=>n[i])}callTransformer(n,i){return this._rowTransform?this._rowTransform(n,i):i(null,n)}formatColumns(n,i){const c=n.map((u,d)=>this.fieldFormatter.format(u,d,i)).join(this.formatterOptions.delimiter),{rowCount:h}=this;return this.rowCount+=1,h?[this.formatterOptions.rowDelimiter,c].join(""):c}}S.RowFormatter=e},{"../types":152,"./FieldFormatter":148,"lodash.isequal":445,"lodash.isfunction":446}],150:[function(s,T,S){Object.defineProperty(S,"__esModule",{value:!0}),S.FieldFormatter=S.RowFormatter=void 0;var m=s("./RowFormatter");Object.defineProperty(S,"RowFormatter",{enumerable:!0,get:function(){return m.RowFormatter}});var o=s("./FieldFormatter");Object.defineProperty(S,"FieldFormatter",{enumerable:!0,get:function(){return o.FieldFormatter}})},{"./FieldFormatter":148,"./RowFormatter":149}],151:[function(s,T,S){(function(m){(function(){var o=Object.create?function(d,f,w,_){_===void 0&&(_=w),Object.defineProperty(d,_,{enumerable:!0,get:function(){return f[w]}})}:function(d,f,w,_){_===void 0&&(_=w),d[_]=f[w]},a=Object.create?function(d,f){Object.defineProperty(d,"default",{enumerable:!0,value:f})}:function(d,f){d.default=f},r=function(d){if(d&&d.__esModule)return d;var f={};if(d!=null)for(var w in d)w!=="default"&&Object.prototype.hasOwnProperty.call(d,w)&&o(f,d,w);return a(f,d),f},t=function(d,f){for(var w in d)w==="default"||Object.prototype.hasOwnProperty.call(f,w)||o(f,d,w)};Object.defineProperty(S,"__esModule",{value:!0}),S.writeToPath=S.writeToString=S.writeToBuffer=S.writeToStream=S.write=S.format=S.FormatterOptions=S.CsvFormatterStream=void 0;const e=s("util"),l=s("stream"),n=r(s("fs")),i=s("./FormatterOptions"),c=s("./CsvFormatterStream");t(s("./types"),S);var h=s("./CsvFormatterStream");Object.defineProperty(S,"CsvFormatterStream",{enumerable:!0,get:function(){return h.CsvFormatterStream}});var u=s("./FormatterOptions");Object.defineProperty(S,"FormatterOptions",{enumerable:!0,get:function(){return u.FormatterOptions}}),S.format Line truncated
`||o===`\r
`}static isTokenCarriageReturn(m,o){return m.token===o.carriageReturn}static isTokenComment(m,o){return o.supportsComments&&!!m&&m.token===o.comment}static isTokenEscapeCharacter(m,o){return m.token===o.escapeChar}static isTokenQuote(m,o){return m.token===o.quote}static isTokenDelimiter(m,o){return m.token===o.delimiter}}},{}],160:[function(s,T,S){Object.defineProperty(S,"__esModule",{value:!0}),S.ColumnFormatter=void 0,S.ColumnFormatter=class{constructor(m){m.trim?this.format=o=>o.trim():m.ltrim?this.format=o=>o.trimLeft():m.rtrim?this.format=o=>o.trimRight():this.format=o=>o}}},{}],161:[function(s,T,S){Object.defineProperty(S,"__esModule",{value:!0}),S.ColumnParser=void 0;const m=s("./NonQuotedColumnParser"),o=s("./QuotedColumnParser"),a=s("../Token");S.ColumnParser=class{constructor(r){this.parserOptions=r,this.quotedColumnParser=new o.QuotedColumnParser(r),this.nonQuotedColumnParser=new m.NonQuotedColumnParser(r)}parse(r){const{nextNonSpaceToken:t}=r;return t!==null&&a.Token.isTokenQuote(t,this.parserOptions)?(r.advanceToToken(t),this.quotedColumnParser.parse(r)):this.nonQuotedColumnParser.parse(r)}}},{"../Token":159,"./NonQuotedColumnParser":162,"./QuotedColumnParser":163}],162:[function(s,T,S){Object.defineProperty(S,"__esModule",{value:!0}),S.NonQuotedColumnParser=void 0;const m=s("./ColumnFormatter"),o=s("../Token");S.NonQuotedColumnParser=class{constructor(a){this.parserOptions=a,this.columnFormatter=new m.ColumnFormatter(a)}parse(a){if(!a.hasMoreCharacters)return null;const{parserOptions:r}=this,t=[];let e=a.nextCharacterToken;for(;e&&!o.Token.isTokenDelimiter(e,r)&&!o.Token.isTokenRowDelimiter(e);e=a.nextCharacterToken)t.push(e.token),a.advancePastToken(e);return this.columnFormatter.format(t.join(""))}}},{"../Token":159,"./ColumnFormatter":160}],163:[function(s,T,S){Object.defineProperty(S,"__esModule",{value:!0}),S.QuotedColumnParser=void 0;const m=s("./ColumnFormatter"),o=s("../Token");S.QuotedColumnParser=class{constructor(a){this.parserOptions=a,this.columnFormatter=new m.ColumnFormatter(a)}parse(a){if(!a.hasMoreCharacters)return null;const r=a.cursor,{foundClosingQuote:t,col:e}=this.gatherDataBetweenQuotes(a);if(!t){if(a.advanceTo(r),!a.hasMoreData)throw new Error(`Parse Error: missing closing: '${this.parserOptions.quote||""}' in line: at '${a.lineFromCursor.replace(/[\r\n]/g,"\\n'")}'`);return null}return this.checkForMalformedColumn(a),e}gatherDataBetweenQuotes(a){const{parserOptions:r}=this;let t=!1,e=!1;const l=[];let n=a.nextCharacterToken;for(;!e&&n!==null;n=a.nextCharacterToken){const i=o.Token.isTokenQuote(n,r);if(!t&&i)t=!0;else if(t)if(o.Token.isTokenEscapeCharacter(n,r)){a.advancePastToken(n);const c=a.nextCharacterToken;c!==null&&(o.Token.isTokenQuote(c,r)||o.Token.isTokenEscapeCharacter(c,r))?(l.push(c.token),n=c):i?e=!0:l.push(n.token)}else i?e=!0:l.push(n.token);a.advancePastToken(n)}return{col:this.columnFormatter.format(l.join("")),foundClosingQuote:e}}checkForMalformedColumn(a){const{parserOptions:r}=this,{nextNonSpaceToken:t}=a;if(t){const e=o.Token.isTokenDelimiter(t,r),l=o.Token.isTokenRowDelimiter(t);if(!e&&!l){const n=a.lineFromCursor.substr(0,10).replace(/[\r\n]/g,"\\n'");throw new Error(`Parse Error: expected: '${r.escapedDelimiter}' OR new line got: '${t.token}'. at '${n}`)}a.advanceToToken(t)}else a.hasMoreData||a.advancePastLine()}}},{"../Token":159,"./ColumnFormatter":160}],164:[function(s,T,S){Object.defineProperty(S,"__esModule",{value:!0}),S.ColumnFormatter=S.QuotedColumnParser=S.NonQuotedColumnParser=S.ColumnParser=void 0;var m=s("./ColumnParser");Object.defineProperty(S,"ColumnParser",{enumerable:!0,get:function(){return m.ColumnParser}});var o=s("./NonQuotedColumnParser");Object.defineProperty(S,"NonQuotedColumnParser",{enumerable:!0,get:function(){return o.NonQuotedColumnParser}});var a=s("./QuotedColumnParser");Object.defineProperty(S,"QuotedColumnParser",{enumerable:!0,get:function(){return a.QuotedColumnParser}});var r=s("./ColumnFormatter");Object.defineProperty(S,"ColumnFormatter",{enumerable:!0,get:function(){return r.ColumnFormatter}})},{"./ColumnFormatter":160,"./ColumnParser":161,"./NonQuotedColumnParser":162,"./QuotedColumnParser":163}],165:[function(s,T,S){Object.defineProperty(S,"__esModule",{value:!0}),S.QuotedColumnParser=S.NonQuotedColumnParser=S.ColumnParser=S.Token=S.Scanner=S.RowParser=S.Parser=void 0;var m=s("./Parser");Object.defineProperty(S,"Parser",{enumerable:!0,get:function(){return m.Parser}});var o=s("./RowParser");Object.defineProperty(S,"RowParser",{enumerable:!0,get:function(){return o.RowParser}});var a=s("./Scanner");Object.defineProperty(S,"Scanner",{enumerable:!0,get:function(){return a.Scanner}});var r=s("./Token");Object.defineProperty(S,"Token",{enumerable:!0,get:function(){return r.Token}});var t=s("./column");Object.defineProperty(S,"ColumnParser",{enumerable:!0,get:function(){return t.ColumnParser}}),Object.defineProperty(S,"NonQuotedColumnParser",{enumerable:!0,get:function(){return t.NonQuotedColumnParser}}),Obj Line truncated
`)}},{"./der":181,inherits:440}],184:[function(s,T,S){(function(m,o){function a(x,M){if(!x)throw new Error(M||"Assertion failed")}function r(x,M){x.super_=M;var v=function(){};v.prototype=M.prototype,x.prototype=new v,x.prototype.constructor=x}function t(x,M,v){if(t.isBN(x))return x;this.negative=0,this.words=null,this.length=0,this.red=null,x!==null&&(M!=="le"&&M!=="be"||(v=M,M=10),this._init(x||0,M||10,v||"be"))}var e;typeof m=="object"?m.exports=t:(void 0).BN=t,t.BN=t,t.wordSize=26;try{e=typeof window<"u"&&window.Buffer!==void 0?window.Buffer:s("buffer").Buffer}catch{}function l(x,M){var v=x.charCodeAt(M);return v>=65&&v<=70?v-55:v>=97&&v<=102?v-87:v-48&15}function n(x,M,v){var p=l(x,v);return v-1>=M&&(p|=l(x,v-1)<<4),p}function i(x,M,v,p){for(var b=0,g=Math.min(x.length,v),y=M;y<g;y++){var k=x.charCodeAt(y)-48;b*=p,b+=k>=49?k-49+10:k>=17?k-17+10:k}return b}t.isBN=function(x){return x instanceof t||x!==null&&typeof x=="object"&&x.constructor.wordSize===t.wordSize&&Array.isArray(x.words)},t.max=function(x,M){return x.cmp(M)>0?x:M},t.min=function(x,M){return x.cmp(M)<0?x:M},t.prototype._init=function(x,M,v){if(typeof x=="number")return this._initNumber(x,M,v);if(typeof x=="object")return this._initArray(x,M,v);M==="hex"&&(M=16),a(M===(0|M)&&M>=2&&M<=36);var p=0;(x=x.toString().replace(/\s+/g,""))[0]==="-"&&(p++,this.negative=1),p<x.length&&(M===16?this._parseHex(x,p,v):(this._parseBase(x,M,p),v==="le"&&this._initArray(this.toArray(),M,v)))},t.prototype._initNumber=function(x,M,v){x<0&&(this.negative=1,x=-x),x<67108864?(this.words=[67108863&x],this.length=1):x<4503599627370496?(this.words=[67108863&x,x/67108864&67108863],this.length=2):(a(x<9007199254740992),this.words=[67108863&x,x/67108864&67108863,1],this.length=3),v==="le"&&this._initArray(this.toArray(),M,v)},t.prototype._initArray=function(x,M,v){if(a(typeof x.length=="number"),x.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(x.length/3),this.words=new Array(this.length);for(var p=0;p<this.length;p++)this.words[p]=0;var b,g,y=0;if(v==="be")for(p=x.length-1,b=0;p>=0;p-=3)g=x[p]|x[p-1]<<8|x[p-2]<<16,this.words[b]|=g<<y&67108863,this.words[b+1]=g>>>26-y&67108863,(y+=24)>=26&&(y-=26,b++);else if(v==="le")for(p=0,b=0;p<x.length;p+=3)g=x[p]|x[p+1]<<8|x[p+2]<<16,this.words[b]|=g<<y&67108863,this.words[b+1]=g>>>26-y&67108863,(y+=24)>=26&&(y-=26,b++);return this.strip()},t.prototype._parseHex=function(x,M,v){this.length=Math.ceil((x.length-M)/6),this.words=new Array(this.length);for(var p=0;p<this.length;p++)this.words[p]=0;var b,g=0,y=0;if(v==="be")for(p=x.length-1;p>=M;p-=2)b=n(x,M,p)<<g,this.words[y]|=67108863&b,g>=18?(g-=18,y+=1,this.words[y]|=b>>>26):g+=8;else for(p=(x.length-M)%2==0?M+1:M;p<x.length;p+=2)b=n(x,M,p)<<g,this.words[y]|=67108863&b,g>=18?(g-=18,y+=1,this.words[y]|=b>>>26):g+=8;this.strip()},t.prototype._parseBase=function(x,M,v){this.words=[0],this.length=1;for(var p=0,b=1;b<=67108863;b*=M)p++;p--,b=b/M|0;for(var g=x.length-v,y=g%p,k=Math.min(g,g-y)+v,R=0,O=v;O<k;O+=p)R=i(x,O,O+p,M),this.imuln(b),this.words[0]+R<67108864?this.words[0]+=R:this._iaddn(R);if(y!==0){var z=1;for(R=i(x,O,x.length,M),O=0;O<y;O++)z*=M;this.imuln(z),this.words[0]+R<67108864?this.words[0]+=R:this._iaddn(R)}this.strip()},t.prototype.copy=function(x){x.words=new Array(this.length);for(var M=0;M<this.length;M++)x.words[M]=this.words[M];x.length=this.length,x.negative=this.negative,x.red=this.red},t.prototype.clone=function(){var x=new t(null);return this.copy(x),x},t.prototype._expand=function(x){for(;this.length<x;)this.words[this.length++]=0;return this},t.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},t.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},t.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],u=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(x,M,v){v.negative=M.negative^x.negative;var p=x.length+M.length|0;v.length=p,p=p-1|0;var b=0|x.words[0],g=0|M.words[0],y=b*g,k=67108863&y,R=y/67108864|0;v.words[0]=k;for(var O=1;O<p;O++){for(var z=R>>>26,$=67108863&R,W=Math.min(O,M.length-1),j=Math.max(0,O-x.length+1);j<=W;j++){var H=O-j|0;z+=(y=( Line truncated
`))},S.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},{"browserify-cipher":206,"browserify-sign":213,"browserify-sign/algos":210,"create-ecdh":384,"create-hash":386,"create-hmac":388,"diffie-hellman":400,pbkdf2:460,"public-encrypt":468,randombytes:475,randomfill:476}],391:[function(s,T,S){(function(m,o){typeof S=="object"&&T!==void 0?T.exports=o():(m=typeof globalThis<"u"?globalThis:m||self).dayjs=o()})(void 0,function(){var m=6e4,o=36e5,a="millisecond",r="second",t="minute",e="hour",l="day",n="week",i="month",c="quarter",h="year",u="date",d="Invalid Date",f=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,w=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,_={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(p){var b=["th","st","nd","rd"],g=p%100;return"["+p+(b[(g-20)%10]||b[g]||b[0])+"]"}},A=function(p,b,g){var y=String(p);return!y||y.length>=b?p:""+Array(b+1-y.length).join(g)+p},N={s:A,z:function(p){var b=-p.utcOffset(),g=Math.abs(b),y=Math.floor(g/60),k=g%60;return(b<=0?"+":"-")+A(y,2,"0")+":"+A(k,2,"0")},m:function p(b,g){if(b.date()<g.date())return-p(g,b);var y=12*(g.year()-b.year())+(g.month()-b.month()),k=b.clone().add(y,i),R=g-k<0,O=b.clone().add(y+(R?-1:1),i);return+(-(y+(g-k)/(R?k-O:O-k))||0)},a:function(p){return p<0?Math.ceil(p)||0:Math.floor(p)},p:function(p){return{M:i,y:h,w:n,d:l,D:u,h:e,m:t,s:r,ms:a,Q:c}[p]||String(p||"").toLowerCase().replace(/s$/,"")},u:function(p){return p===void 0}},L="en",I={};I[L]=_;var P="$isDayjsObject",D=function(p){return p instanceof M||!(!p||!p[P])},U=function p(b,g,y){var k;if(!b)return L;if(typeof b=="string"){var R=b.toLowerCase();I[R]&&(k=R),g&&(I[R]=g,k=R);var O=b.split("-");if(!k&&O.length>1)return p(O[0])}else{var z=b.name;I[z]=b,k=z}return!y&&k&&(L=k),k||!y&&L},B=function(p,b){if(D(p))return p.clone();var g=typeof b=="object"?b:{};return g.date=p,g.args=arguments,new M(g)},x=N;x.l=U,x.i=D,x.w=function(p,b){return B(p,{locale:b.$L,utc:b.$u,x:b.$x,$offset:b.$offset})};var M=function(){function p(g){this.$L=U(g.locale,null,!0),this.parse(g),this.$x=this.$x||g.x||{},this[P]=!0}var b=p.prototype;return b.parse=function(g){this.$d=function(y){var k=y.date,R=y.utc;if(k===null)return new Date(NaN);if(x.u(k))return new Date;if(k instanceof Date)return new Date(k);if(typeof k=="string"&&!/Z$/i.test(k)){var O=k.match(f);if(O){var z=O[2]-1||0,$=(O[7]||"0").substring(0,3);return R?new Date(Date.UTC(O[1],z,O[3]||1,O[4]||0,O[5]||0,O[6]||0,$)):new Date(O[1],z,O[3]||1,O[4]||0,O[5]||0,O[6]||0,$)}}return new Date(k)}(g),this.init()},b.init=function(){var g=this.$d;this.$y=g.getFullYear(),this.$M=g.getMonth(),this.$D=g.getDate(),this.$W=g.getDay(),this.$H=g.getHours(),this.$m=g.getMinutes(),this.$s=g.getSeconds(),this.$ms=g.getMilliseconds()},b.$utils=function(){return x},b.isValid=function(){return this.$d.toString()!==d},b.isSame=function(g,y){var k=B(g);return this.startOf(y)<=k&&k<=this.endOf(y)},b.isAfter=function(g,y){return B(g)<this.startOf(y)},b.isBefore=function(g,y){return this.endOf(y)<B(g)},b.$g=function(g,y,k){return x.u(g)?this[y]:this.set(k,g)},b.unix=function(){return Math.floor(this.valueOf()/1e3)},b.valueOf=function(){return this.$d.getTime()},b.startOf=function(g,y){var k=this,R=!!x.u(y)||y,O=x.p(g),z=function(V,Y){var q=x.w(k.$u?Date.UTC(k.$y,Y,V):new Date(k.$y,Y,V),k);return R?q:q.endOf(l)},$=function(V,Y){return x.w(k.toDate()[V].apply(k.toDate("s"),(R?[0,0,0,0]:[23,59,59,999]).slice(Y)),k)},W=this.$W,j=this.$M,H=this.$D,E="set"+(this.$u?"UTC":"");switch(O){case h:return R?z(1,0):z(31,11);case i:return R?z(1,j):z(0,j+1);case n:var C=this.$locale().weekStart||0,F=(W<C?W+7:W)-C;return z(R?H-F:H+(6-F),j);case l:case u:return $(E+"Hours",0);case e:return $(E+"Minutes",1);case t:return $(E+"Seconds",2);case r:return $(E+"Milliseconds",3);default:return this.clone()}},b.endOf=function(g){return this.startOf(g,!1)},b.$set=function(g,y){var k,R=x.p(g),O="set"+(this.$u?"UTC":""),z=(k={},k[l]=O+"Date",k[u]=O+"Date",k[i]=O+"Month",k[h]=O+"FullYear",k[e]=O+"Hours",k[t]=O+"Minutes",k[r]=O+"Seconds",k[a]=O+"Milliseconds",k)[R],$=R===l?this.$D+(y-this.$W):y;if(R===i||R===h){var W=this.clone().set(u,1);W.$d[z]($),W.init(),this.$d=W.set(u,Math.min(this.$D,W.daysInMonth())).$d}else z&&this.$d[z]($);return this.init(),this},b.set=function(g,y){return this.clone().$set(g,y)},b.get=function(g){return this[x.p(g)]()},b.add=function(g,y){var k,R=this;g=Number(g);var O=x.p(y),z=function(j){var H=B(R);return x.w(H.date(H.dat Line truncated
JSZip v3.10.1 - A JavaScript class for generating and reading zip files
<http://stuartk.com/jszip>
(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
JSZip uses the library pako released under the MIT license :
https://github.com/nodeca/pako/blob/main/LICENSE
*/(function(i){typeof S=="object"&&T!==void 0?T.exports=i():(typeof window<"u"?window:o!==void 0?o:typeof self<"u"?self:this).JSZip=i()})(function(){return function i(c,h,u){function d(_,A){if(!h[_]){if(!c[_]){var N=typeof s=="function"&&s;if(!A&&N)return N(_,!0);if(f)return f(_,!0);var L=new Error("Cannot find module '"+_+"'");throw L.code="MODULE_NOT_FOUND",L}var I=h[_]={exports:{}};c[_][0].call(I.exports,function(P){return d(c[_][1][P]||P)},I,I.exports,i,c,h,u)}return h[_].exports}for(var f=typeof s=="function"&&s,w=0;w<u.length;w++)d(u[w]);return d}({1:[function(i,c,h){var u=i("./utils"),d=i("./support"),f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";h.encode=function(w){for(var _,A,N,L,I,P,D,U=[],B=0,x=w.length,M=x,v=u.getTypeOf(w)!=="string";B<w.length;)M=x-B,N=v?(_=w[B++],A=B<x?w[B++]:0,B<x?w[B++]:0):(_=w.charCodeAt(B++),A=B<x?w.charCodeAt(B++):0,B<x?w.charCodeAt(B++):0),L=_>>2,I=(3&_)<<4|A>>4,P=1<M?(15&A)<<2|N>>6:64,D=2<M?63&N:64,U.push(f.charAt(L)+f.charAt(I)+f.charAt(P)+f.charAt(D));return U.join("")},h.decode=function(w){var _,A,N,L,I,P,D=0,U=0,B="data:";if(w.substr(0,B.length)===B)throw new Error("Invalid base64 input, it looks like a data url.");var x,M=3*(w=w.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(w.charAt(w.length-1)===f.charAt(64)&&M--,w.charAt(w.length-2)===f.charAt(64)&&M--,M%1!=0)throw new Error("Invalid base64 input, bad content length.");for(x=d.uint8array?new Uint8Array(0|M):new Array(0|M);D<w.length;)_=f.indexOf(w.charAt(D++))<<2|(L=f.indexOf(w.charAt(D++)))>>4,A=(15&L)<<4|(I=f.indexOf(w.charAt(D++)))>>2,N=(3&I)<<6|(P=f.indexOf(w.charAt(D++))),x[U++]=_,I!==64&&(x[U++]=A),P!==64&&(x[U++]=N);return x}},{"./support":30,"./utils":32}],2:[function(i,c,h){var u=i("./external"),d=i("./stream/DataWorker"),f=i("./stream/Crc32Probe"),w=i("./stream/DataLengthProbe");function _(A,N,L,I,P){this.compressedSize=A,this.uncompressedSize=N,this.crc32=L,this.compression=I,this.compressedContent=P}_.prototype={getContentWorker:function(){var A=new d(u.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new w("data_length")),N=this;return A.on("end",function(){if(this.streamInfo.data_length!==N.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),A},getCompressedWorker:function(){return new d(u.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},_.createWorkerFrom=function(A,N,L){return A.pipe(new f).pipe(new w("uncompressedSize")).pipe(N.compressWorker(L)).pipe(new w("compressedSize")).withStreamInfo("compression",N)},c.exports=_},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(i,c,h){var u=i("./stream/GenericWorker");h.STORE={magic:"\0\0",compressWorker:function(){return new u("STORE compression")},uncompressWorker:function(){return new u("STORE decompression")}},h.DEFLATE=i("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(i,c,h){var u=i("./utils"),d=function(){for(var f,w=[],_=0;_<256;_++){f=_;for(var A=0;A<8;A++)f=1&f?3988292384^f>>>1:f>>>1;w[_]=f}return w}();c.exports=function(f,w){return f!==void 0&&f.length?u.getTypeOf(f)!=="string"?function(_,A,N,L){var I=d,P=0+N;_^=-1;for(var D=0;D<P;D++)_=_>>>8^I[255&(_^A[D])];return-1^_}(0|w,f,f.length):function(_,A,N,L){var I=d,P=0+N;_^=-1;for(var D=0;D<P;D++)_=_>>>8^I[255&(_^A.charCodeAt(D))];return-1^_}(0|w,f,f.length):0}},{"./utils":32}],5:[function(i,c,h){h.base64=!1,h.binary=!1,h.dir=!1,h.createFolders=!0,h.date=null,h.compression=null,h.compressionOptions=null,h.comment=null,h.unixPermissions=null,h.dosPermissions=null},{}],6:[function(i,c,h){var u;u=typeof Promise<"u"?Promise:i("lie"),c.exports={Promise:u}},{lie:37}],7:[function(i,c,h){var u=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",d=i("pako"),f=i("./utils"),w=i("./stream/GenericWorker"),_=u?"uint8array":"array";function A(N,L){w.call(this,"FlateWorker/"+N),this._pako=null,this._pakoAction=N,this._pakoOptions=L,this.meta={}}h.magic="\b\0",f.inherits(A,w),A.prototype.processChunk=function(N){this.meta=N.meta,this._pako===null&&this._createPako(),this._pako.push(f.transformTo(_,N.data),!1)},A.prototype.flush=function(){w.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},A.prototype.cleanUp=function(){w.prototype.cleanUp.call(this),this._pako=null},A.prototype._createPako=function(){this._pako=new d[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var N=this;this._pako.onData=function(L){N.push({data:L,meta:N.meta})}},h.compressWorker=function(N){return new A("Deflate",N)},h.uncompressWorker=function(){return new A("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(i,c,h){function u(I,P){var D,U="";for(D=0;D<P;D++)U+=String.fromCharCode(255&I),I>>>=8;reLine truncated
\0`,et+=u(Y,2),et+=b.magic,et+=u(M,2),et+=u(v,2),et+=u(V.crc32,4),et+=u(V.compressedSize,4),et+=u(V.uncompressedSize,4),et+=u(y.length,2),et+=u(j.length,2),{fileRecord:N.LOCAL_FILE_HEADER+et+y+j,dirRecord:N.CENTRAL_FILE_HEADER+u(K,2)+et+u(O.length,2)+"\0\0\0\0"+u(q,4)+u(U,4)+y+j+O}}var f=i("../utils"),w=i("../stream/GenericWorker"),_=i("../utf8"),A=i("../crc32"),N=i("../signature");function L(I,P,D,U){w.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=P,this.zipPlatform=D,this.encodeFileName=U,this.streamFiles=I,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}f.inherits(L,w),L.prototype.push=function(I){var P=I.meta.percent||0,D=this.entriesCount,U=this._sources.length;this.accumulate?this.contentBuffer.push(I):(this.bytesWritten+=I.data.length,w.prototype.push.call(this,{data:I.data,meta:{currentFile:this.currentFile,percent:D?(P+100*(D-U-1))/D:100}}))},L.prototype.openedSource=function(I){this.currentSourceOffset=this.bytesWritten,this.currentFile=I.file.name;var P=this.streamFiles&&!I.file.dir;if(P){var D=d(I,P,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:D.fileRecord,meta:{percent:0}})}else this.accumulate=!0},L.prototype.closedSource=function(I){this.accumulate=!1;var P=this.streamFiles&&!I.file.dir,D=d(I,P,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(D.dirRecord),P)this.push({data:function(U){return N.DATA_DESCRIPTOR+u(U.crc32,4)+u(U.compressedSize,4)+u(U.uncompressedSize,4)}(I),meta:{percent:100}});else for(this.push({data:D.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},L.prototype.flush=function(){for(var I=this.bytesWritten,P=0;P<this.dirRecords.length;P++)this.push({data:this.dirRecords[P],meta:{percent:100}});var D=this.bytesWritten-I,U=function(B,x,M,v,p){var b=f.transformTo("string",p(v));return N.CENTRAL_DIRECTORY_END+"\0\0\0\0"+u(B,2)+u(B,2)+u(x,4)+u(M,4)+u(b.length,2)+b}(this.dirRecords.length,D,I,this.zipComment,this.encodeFileName);this.push({data:U,meta:{percent:100}})},L.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},L.prototype.registerPrevious=function(I){this._sources.push(I);var P=this;return I.on("data",function(D){P.processChunk(D)}),I.on("end",function(){P.closedSource(P.previous.streamInfo),P._sources.length?P.prepareNextSource():P.end()}),I.on("error",function(D){P.error(D)}),this},L.prototype.resume=function(){return!!w.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},L.prototype.error=function(I){var P=this._sources;if(!w.prototype.error.call(this,I))return!1;for(var D=0;D<P.length;D++)try{P[D].error(I)}catch{}return!0},L.prototype.lock=function(){w.prototype.lock.call(this);for(var I=this._sources,P=0;P<I.length;P++)I[P].lock()},c.exports=L},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(i,c,h){var u=i("../compressions"),d=i("./ZipFileWorker");h.generateWorker=function(f,w,_){var A=new d(w.streamFiles,_,w.platform,w.encodeFileName),N=0;try{f.forEach(function(L,I){N++;var P=function(x,M){var v=x||M,p=u[v];if(!p)throw new Error(v+" is not a valid compression method !");return p}(I.options.compression,w.compression),D=I.options.compressionOptions||w.compressionOptions||{},U=I.dir,B=I.date;I._compressWorker(P,D).withStreamInfo("file",{name:L,dir:U,date:B,comment:I.comment||"",unixPermissions:I.unixPermissions,dosPermissions:I.dosPermissions}).pipe(A)}),A.entriesCount=N}catch(L){A.error(L)}return A}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(i,c,h){function u(){if(!(this instanceof u))return new u;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var d=new u;for(var f in this)typeof this[f]!="function"&&(d[f]=this[f]);return d}}(u.prototype=i("./object")).loadAsync=i("./load"),u.support=i("./support"),u.defaults=i("./defaults"),u.version="3.10.1",u.loadAsync=function(d,f){return new u().loadAsync(d,f)},u.external=i("./external"),c.exports=u},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(i,c,h){var u=i("./utils"),d=i("./external"),f=i("./utf8"),w=i("./zipEntries"),_=i("./stream/Crc32Probe"),A=i("./nodejsUtils");function N(L){return new d.Promise(function(I,P){var D=L.decompressed.getContentWorker().pipe(new _);D.on("error",function(U){P(U)}).on("end",function(){D.streamInfo.crc32!==L.decompressed.crc32?P(new Error("Corrupted zip : CRC32 mismatch")):I()}).resume()})}c.exports=function(L,I){v Line truncated
Use Chrome, Firefox or Internet Explorer 11`)}}).call(this)}).call(this,s("_process"),typeof Kt<"u"?Kt:typeof self<"u"?self:typeof window<"u"?window:{})},{_process:467,"safe-buffer":494}],476:[function(s,T,S){(function(m,o){(function(){function a(){throw new Error(`secure random number generation not supported by this browser
use chrome, FireFox or Internet Explorer 11`)}var r=s("safe-buffer"),t=s("randombytes"),e=r.Buffer,l=r.kMaxLength,n=o.crypto||o.msCrypto,i=Math.pow(2,32)-1;function c(d,f){if(typeof d!="number"||d!=d)throw new TypeError("offset must be a number");if(d>i||d<0)throw new TypeError("offset must be a uint32");if(d>l||d>f)throw new RangeError("offset out of range")}function h(d,f,w){if(typeof d!="number"||d!=d)throw new TypeError("size must be a number");if(d>i||d<0)throw new TypeError("size must be a uint32");if(d+f>w||d>l)throw new RangeError("buffer too small")}function u(d,f,w,_){if(m.browser){var A=d.buffer,N=new Uint8Array(A,f,w);return n.getRandomValues(N),_?void m.nextTick(function(){_(null,d)}):d}if(!_)return t(w).copy(d,f),d;t(w,function(L,I){if(L)return _(L);I.copy(d,f),_(null,d)})}n&&n.getRandomValues||!m.browser?(S.randomFill=function(d,f,w,_){if(!(e.isBuffer(d)||d instanceof o.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if(typeof f=="function")_=f,f=0,w=d.length;else if(typeof w=="function")_=w,w=d.length-f;else if(typeof _!="function")throw new TypeError('"cb" argument must be a function');return c(f,d.length),h(w,f,d.length),u(d,f,w,_)},S.randomFillSync=function(d,f,w){if(f===void 0&&(f=0),!(e.isBuffer(d)||d instanceof o.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return c(f,d.length),w===void 0&&(w=d.length-f),h(w,f,d.length),u(d,f,w)}):(S.randomFill=a,S.randomFillSync=a)}).call(this)}).call(this,s("_process"),typeof Kt<"u"?Kt:typeof self<"u"?self:typeof window<"u"?window:{})},{_process:467,randombytes:475,"safe-buffer":494}],477:[function(s,T,S){var m={};function o(r,t,e){e||(e=Error);var l=function(n){var i,c;function h(u,d,f){return n.call(this,function(w,_,A){return typeof t=="string"?t:t(w,_,A)}(u,d,f))||this}return c=n,(i=h).prototype=Object.create(c.prototype),i.prototype.constructor=i,i.__proto__=c,h}(e);l.prototype.name=e.name,l.prototype.code=r,m[r]=l}function a(r,t){if(Array.isArray(r)){var e=r.length;return r=r.map(function(l){return String(l)}),e>2?"one of ".concat(t," ").concat(r.slice(0,e-1).join(", "),", or ")+r[e-1]:e===2?"one of ".concat(t," ").concat(r[0]," or ").concat(r[1]):"of ".concat(t," ").concat(r[0])}return"of ".concat(t," ").concat(String(r))}o("ERR_INVALID_OPT_VALUE",function(r,t){return'The value "'+t+'" is invalid for option "'+r+'"'},TypeError),o("ERR_INVALID_ARG_TYPE",function(r,t,e){var l,n,i;if(typeof t=="string"&&(n="not ",t.substr(0,n.length)===n)?(l="must not be",t=t.replace(/^not /,"")):l="must be",function(h,u,d){return(d===void 0||d>h.length)&&(d=h.length),h.substring(d-u.length,d)===u}(r," argument"))i="The ".concat(r," ").concat(l," ").concat(a(t,"type"));else{var c=function(h,u,d){return typeof d!="number"&&(d=0),!(d+u.length>h.length)&&h.indexOf(u,d)!==-1}(r,".")?"property":"argument";i='The "'.concat(r,'" ').concat(c," ").concat(l," ").concat(a(t,"type"))}return i+=". Received type ".concat(typeof e)},TypeError),o("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),o("ERR_METHOD_NOT_IMPLEMENTED",function(r){return"The "+r+" method is not implemented"}),o("ERR_STREAM_PREMATURE_CLOSE","Premature close"),o("ERR_STREAM_DESTROYED",function(r){return"Cannot call "+r+" after a stream was destroyed"}),o("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),o("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),o("ERR_STREAM_WRITE_AFTER_END","write after end"),o("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),o("ERR_UNKNOWN_ENCODING",function(r){return"Unknown encoding: "+r},TypeError),o("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),T.exports.codes=m},{}],478:[function(s,T,S){(function(m){(function(){var o=Object.keys||function(h){var u=[];for(var d in h)u.push(d);return u};T.exports=n;var a=s("./_stream_readable"),r=s("./_stream_writable");s("inherits")(n,a);for(var t=o(r.prototype),e=0;e<t.length;e++){var l=t[e];n.prototype[l]||(n.prototype[l]=r.prototype[l])}function n(h){if(!(this instanceof n))return new n(h);a.call(this,h),r.call(this,h),this.allowHalfOpen=!0,h&&(h.readable===!1&&(this.readable=!1),h.writable===!1&&(this.writable=!1),h.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",i)))}function i(){this._writableState.ended||m.nextTick(c,this)}function c(h){h.end()}Object.defineProperty(n.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(n.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(n.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(n.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState!==void 0&&this._writableState!==void 0&&this._readableState.destroyed&&this._writableState.destroyed},set:function(h){this._readableState!==void 0&&this._writ Line truncated
`,b=this.i)}}captureToChar(p){let{i:b}=this;const{chunk:g}=this;for(;;){let y=this.getCode();switch(y){case-2:this.text+=g.slice(b,this.prevI)+`
`,b=this.i,y=10;break;case-1:return this.text+=g.slice(b),!1}if(y===p)return this.text+=g.slice(b,this.prevI),!0}}captureNameChars(){const{chunk:p,i:b}=this;for(;;){const g=this.getCode();if(g===-1)return this.name+=p.slice(b),-1;if(!l(g))return this.name+=p.slice(b,this.prevI),g===-2?10:g}}skipSpaces(){for(;;){const p=this.getCodeNorm();if(p===-1||!r(p))return p}}setXMLVersion(p){this.currentXMLVersion=p,p==="1.0"?(this.isChar=t,this.getCode=this.getCode10):(this.isChar=c,this.getCode=this.getCode11)}sBegin(){this.chunk.charCodeAt(0)===65279&&(this.i++,this.column++),this.state=1}sBeginWhitespace(){const p=this.i,b=this.skipSpaces();switch(this.prevI!==p&&(this.xmlDeclPossible=!1),b){case 60:if(this.state=15,this.text.length!==0)throw new Error("no-empty text at start");break;case-1:break;default:this.unget(),this.state=13,this.xmlDeclPossible=!1}}sDoctype(){var p;const b=this.captureTo(I);switch(b){case 62:(p=this.doctypeHandler)===null||p===void 0||p.call(this,this.text),this.text="",this.state=13,this.doctype=!0;break;case-1:break;default:this.text+=String.fromCodePoint(b),b===91?this.state=4:N(b)&&(this.state=3,this.q=b)}}sDoctypeQuote(){const p=this.q;this.captureToChar(p)&&(this.text+=String.fromCodePoint(p),this.q=null,this.state=2)}sDTD(){const p=this.captureTo(P);p!==-1&&(this.text+=String.fromCodePoint(p),p===93?this.state=2:p===60?this.state=6:N(p)&&(this.state=5,this.q=p))}sDTDQuoted(){const p=this.q;this.captureToChar(p)&&(this.text+=String.fromCodePoint(p),this.state=4,this.q=null)}sDTDOpenWaka(){const p=this.getCodeNorm();switch(this.text+=String.fromCodePoint(p),p){case 33:this.state=7,this.openWakaBang="";break;case 63:this.state=11;break;default:this.state=4}}sDTDOpenWakaBang(){const p=String.fromCodePoint(this.getCodeNorm()),b=this.openWakaBang+=p;this.text+=p,b!=="-"&&(this.state=b==="--"?8:4,this.openWakaBang="")}sDTDComment(){this.captureToChar(45)&&(this.text+="-",this.state=9)}sDTDCommentEnding(){const p=this.getCodeNorm();this.text+=String.fromCodePoint(p),this.state=p===45?10:8}sDTDCommentEnded(){const p=this.getCodeNorm();this.text+=String.fromCodePoint(p),p===62?this.state=4:(this.fail("malformed comment."),this.state=8)}sDTDPI(){this.captureToChar(63)&&(this.text+="?",this.state=12)}sDTDPIEnding(){const p=this.getCodeNorm();this.text+=String.fromCodePoint(p),p===62&&(this.state=4)}sText(){this.tags.length!==0?this.handleTextInRoot():this.handleTextOutsideRoot()}sEntity(){let{i:p}=this;const{chunk:b}=this;t:for(;;)switch(this.getCode()){case-2:this.entity+=b.slice(p,this.prevI)+`
`,p=this.i;break;case 59:{const{entityReturnState:g}=this,y=this.entity+b.slice(p,this.prevI);let k;this.state=g,y===""?(this.fail("empty entity name."),k="&;"):(k=this.parseEntity(y),this.entity=""),g===13&&this.textHandler===void 0||(this.text+=k);break t}case-1:this.entity+=b.slice(p);break t}}sOpenWaka(){const p=this.getCode();if(e(p))this.state=34,this.unget(),this.xmlDeclPossible=!1;else switch(p){case 47:this.state=43,this.xmlDeclPossible=!1;break;case 33:this.state=16,this.openWakaBang="",this.xmlDeclPossible=!1;break;case 63:this.state=23;break;default:this.fail("disallowed character in tag name"),this.state=13,this.xmlDeclPossible=!1}}sOpenWakaBang(){switch(this.openWakaBang+=String.fromCodePoint(this.getCodeNorm()),this.openWakaBang){case"[CDATA[":this.sawRoot||this.reportedTextBeforeRoot||(this.fail("text data outside of root node."),this.reportedTextBeforeRoot=!0),this.closedRoot&&!this.reportedTextAfterRoot&&(this.fail("text data outside of root node."),this.reportedTextAfterRoot=!0),this.state=20,this.openWakaBang="";break;case"--":this.state=17,this.openWakaBang="";break;case"DOCTYPE":this.state=2,(this.doctype||this.sawRoot)&&this.fail("inappropriately located doctype declaration."),this.openWakaBang="";break;default:this.openWakaBang.length>=7&&this.fail("incorrect syntax.")}}sComment(){this.captureToChar(45)&&(this.state=18)}sCommentEnding(){var p;const b=this.getCodeNorm();b===45?(this.state=19,(p=this.commentHandler)===null||p===void 0||p.call(this,this.text),this.text=""):(this.text+="-"+String.fromCodePoint(b),this.state=17)}sCommentEnded(){const p=this.getCodeNorm();p!==62?(this.fail("malformed comment."),this.text+="--"+String.fromCodePoint(p),this.state=17):this.state=13}sCData(){this.captureToChar(93)&&(this.state=21)}sCDataEnding(){const p=this.getCodeNorm();p===93?this.state=22:(this.text+="]"+String.fromCodePoint(p),this.state=20)}sCDataEnding2(){var p;const b=this.getCodeNorm();switch(b){case 62:(p=this.cdataHandler)===null||p===void 0||p.call(this,this.text),this.text="",this.state=13;break;case 93:this.text+="]";break;default:this.text+="]]"+String.fromCodePoint(b),this.state=20}}sPIFirstChar(){const p=this.getCodeNorm();this.nameStartCheck(p)?(this.piTarget+=String.fromCodePoint(p),this.state=24):p===63||r(p)?(this.fail("processing instruction without a target."),this.state=p===63?26:25):(this.fail("disallowed character in processing instruction name."),this.piTarget+=String.fromCodePoint(p),this.state=24)}sPIRest(){const{chunk:p,i:b}=this;for(;;){const g=this.getCodeNorm();if(g===-1)return void(this.piTarget+=p.slice(b));if(!this.nameCheck(g)){this.piTarget+=p.slice(b,this.prevI);const y=g===63;y||r(g)?this.piTarget==="xml"?(this.xmlDeclPossible||this.fail("an XML declaration must be at the start of the document."),this.state=y?33:27):this.state=y?26:25:(this.fail("disallowed character in processing instruction name."),this.piTarget+=String.fromCodePoint(g));break}}}sPIBody(){if(this.text.length===0){const p=this.getCodeNorm();p===63?this.state=26:r(p)||(this.text=String.fromCodePoint(p))}else this.captureToChar(63)&&(this.state=26)}sPIEnding(){var p;const b=this.getCodeNorm();if(b===62){const{piTarget:g}=this;g.toLowerCase()==="xml"&&this.fail("the XML declaration must appear at the start of the document."),(p=this.piHandler)===null||p===void 0||p.call(this,{target:g,body:this.text}),this.piTarget=this.text="",this.state=13}else b===63?this.text+="?":(this.text+="?"+String.fromCodePoint(b),this.state=25);this.xmlDeclPossible=!1}sXMLDeclNameStart(){const p=this.skipSpaces();p!==63?p!==-1&&(this.state=28,this.name=String.fromCodePoint(p)):this.state=33}sXMLDeclName(){const p=this.captureTo(D);if(p===63)return this.state=33,this.name+=this.text,this.text="",void this.fail("XML declaration is incomplete.");if(r(p)||p===61){if(this.name+=this.text,this.text="",!this.xmlDeclExpects.includes(this.name))switch(this.name.length){case 0:this.fail("did not expect any more name/value pairs.");break;case 1:this.fail(`expected the name ${this.xmlDeclExpects[0]}.`);break;default:this.fail("expected one of "+this.xmlDeclExpects.join(", "))}this.state=p===61?30:29}}sXMLDeclEq(){const p=this.getCodeNorm();if(p===63)return this.state=33,void this.fail("XML declaration is incomplete.");r(p)||(p!==61&&this.fail("value required."),this.state=30)}sXMLDeclValueStart(){const p=this.getCodeNorm();if(p===63)return this.state=33,void this.fail("XML declaration is incomplete.");r(p)||(N(p)?this.q=p:(this.fail("value must be quoted."),this.q=32),this.state=31)}sXMLDeclValue(){const p=this.captureTo([this.q,63]);if(p===63)return this.state=33,this.text="",void this.fail("XML declaration is incomplete.");if(p===-1)return;const b=this.text;switch(this.text="",this.name){case"version":{this.xmlDeclExpects=["encoding","standalone"];const g=b;this.xmlDecl.version=g,/^1\.[0-9]+$/.test(g)?this.opt.forceXMLVersion||this.setXMLVersion(g):this.fail("version number must match /^1\\.[0-9]+$/.");break}case"encodin Line truncated
`),p=this.i,b=0;break;case-1:y!==void 0&&(this.text+=g.slice(p));break t;default:b=0}this.forbiddenState=b}handleTextOutsideRoot(){let{i:p}=this;const{chunk:b,textHandler:g}=this;let y=!1;t:for(;;){const k=this.getCode();switch(k){case 60:if(this.state=15,g!==void 0){const{text:R}=this,O=b.slice(p,this.prevI);R.length!==0?(g(R+O),this.text=""):O.length!==0&&g(O)}break t;case 38:this.state=14,this.entityReturnState=13,g!==void 0&&(this.text+=b.slice(p,this.prevI)),y=!0;break t;case-2:g!==void 0&&(this.text+=b.slice(p,this.prevI)+`
`),p=this.i;break;case-1:g!==void 0&&(this.text+=b.slice(p));break t;default:r(k)||(y=!0)}}y&&(this.sawRoot||this.reportedTextBeforeRoot||(this.fail("text data outside of root node."),this.reportedTextBeforeRoot=!0),this.closedRoot&&!this.reportedTextAfterRoot&&(this.fail("text data outside of root node."),this.reportedTextAfterRoot=!0))}pushAttribNS(p,b){var g;const{prefix:y,local:k}=this.qname(p),R={name:p,prefix:y,local:k,value:b};if(this.attribList.push(R),(g=this.attributeHandler)===null||g===void 0||g.call(this,R),y==="xmlns"){const O=b.trim();this.currentXMLVersion==="1.0"&&O===""&&this.fail("invalid attempt to undefine prefix in XML 1.0"),this.topNS[k]=O,B(this,k,O)}else if(p==="xmlns"){const O=b.trim();this.topNS[""]=O,B(this,"",O)}}pushAttribPlain(p,b){var g;const y={name:p,value:b};this.attribList.push(y),(g=this.attributeHandler)===null||g===void 0||g.call(this,y)}end(){var p,b;this.sawRoot||this.fail("document must contain a root element.");const{tags:g}=this;for(;g.length>0;){const k=g.pop();this.fail("unclosed tag: "+k.name)}this.state!==0&&this.state!==13&&this.fail("unexpected end.");const{text:y}=this;return y.length!==0&&((p=this.textHandler)===null||p===void 0||p.call(this,y),this.text=""),this._closed=!0,(b=this.endHandler)===null||b===void 0||b.call(this),this._init(),this}resolve(p){var b,g;let y=this.topNS[p];if(y!==void 0)return y;const{tags:k}=this;for(let R=k.length-1;R>=0;R--)if(y=k[R].ns[p],y!==void 0)return y;return y=this.ns[p],y!==void 0?y:(g=(b=this.opt).resolvePrefix)===null||g===void 0?void 0:g.call(b,p)}qname(p){const b=p.indexOf(":");if(b===-1)return{prefix:"",local:p};const g=p.slice(b+1),y=p.slice(0,b);return(y===""||g===""||g.includes(":"))&&this.fail(`malformed name: ${p}.`),{prefix:y,local:g}}processAttribsNS(){var p;const{attribList:b}=this,g=this.tag;{const{prefix:R,local:O}=this.qname(g.name);g.prefix=R,g.local=O;const z=g.uri=(p=this.resolve(R))!==null&&p!==void 0?p:"";R!==""&&(R==="xmlns"&&this.fail('tags may not have "xmlns" as prefix.'),z===""&&(this.fail(`unbound namespace prefix: ${JSON.stringify(R)}.`),g.uri=R))}if(b.length===0)return;const{attributes:y}=g,k=new Set;for(const R of b){const{name:O,prefix:z,local:$}=R;let W,j;z===""?(W=O==="xmlns"?w:"",j=O):(W=this.resolve(z),W===void 0&&(this.fail(`unbound namespace prefix: ${JSON.stringify(z)}.`),W=z),j=`{${W}}${$}`),k.has(j)&&this.fail(`duplicate attribute: ${j}.`),k.add(j),R.uri=W,y[O]=R}this.attribList=[]}processAttribsPlain(){const{attribList:p}=this,b=this.tag.attributes;for(const{name:g,value:y}of p)b[g]!==void 0&&this.fail(`duplicate attribute: ${g}.`),b[g]=y;this.attribList=[]}openTag(){var p;this.processAttribs();const{tags:b}=this,g=this.tag;g.isSelfClosing=!1,(p=this.openTagHandler)===null||p===void 0||p.call(this,g),b.push(g),this.state=13,this.name=""}openSelfClosingTag(){var p,b,g;this.processAttribs();const{tags:y}=this,k=this.tag;k.isSelfClosing=!0,(p=this.openTagHandler)===null||p===void 0||p.call(this,k),(b=this.closeTagHandler)===null||b===void 0||b.call(this,k),(this.tag=(g=y[y.length-1])!==null&&g!==void 0?g:null)===null&&(this.closedRoot=!0),this.state=13,this.name=""}closeTag(){const{tags:p,name:b}=this;if(this.state=13,this.name="",b==="")return this.fail("weird empty close tag."),void(this.text+="</>");const g=this.closeTagHandler;let y=p.length;for(;y-- >0;){const k=this.tag=p.pop();if(this.topNS=k.ns,g==null||g(k),k.name===b)break;this.fail("unexpected close tag.")}y===0?this.closedRoot=!0:y<0&&(this.fail(`unmatched closing tag: ${b}.`),this.text+=`</${b}>`)}parseEntity(p){if(p[0]!=="#"){const g=this.ENTITIES[p];return g!==void 0?g:(this.fail(this.isName(p)?"undefined entity.":"disallowed character in entity name."),`&${p};`)}let b=NaN;return p[1]==="x"&&/^#x[0-9a-f]+$/i.test(p)?b=parseInt(p.slice(2),16):/^#[0-9]+$/.test(p)&&(b=parseInt(p.slice(1),10)),this.isChar(b)?String.fromCodePoint(b):(this.fail("malformed character entity."),`&${p};`)}}},{"xmlchars/xml/1.0/ed5":543,"xmlchars/xml/1.1/ed2":544,"xmlchars/xmlns/1.0/ed3":545}],497:[function(s,T,S){var m=s("safe-buffer").Buffer;function o(a,r){this._block=m.alloc(a),this._finalSize=r,this._blockSize=a,this._len=0}o.prototype.update=function(a,r){typeof a=="string"&&(r=r||"utf8",a=m.from(a,r));for(var t=this._block,e=this._blockSize,l=a.length,n=this._len,i=0;i<l;){for(var c=n%e,h=Math.min(l-i,e-c),u=0;u<h;u++)t[c+u]=a[i+u];i+=h,(n+=h)%e==0&&this._update(t)}return this._len+=l,this},o.prototype.digest=function(a){var r=this._len%this._blockSize;this._block[r]=128,this._block.fill(0,r+1),r>=this._finalSize&&(this._update(this._block),this._block.fill(0));var t=8*this._len;if(t<=4294967295)this._block.writeUInt32BE(t,this._blockSize-4);else{var e=(4294967295&t)>>>0,l=(t-e)/4294967296;this._block.writeUInt32BE(l,this._blockSize-8),this._block.writeUInt32BE(e,this._blockSize-4)}this._update(this._block);var n=this._hash();return a?n.toString(a):n},o.prototype._update=function(){throw new Error("_update must be implemented by subclasLine truncated
`)>=0,V+Y.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?F[0]+(C===""?"":C+`
`)+" "+E.join(`,
`)+" "+F[1]:F[0]+C+" "+E.join(", ")+" "+F[1]}($,W,H)):H[0]+W+H[1]}function c(p){return"["+Error.prototype.toString.call(p)+"]"}function h(p,b,g,y,k,R){var O,z,$;if(($=Object.getOwnPropertyDescriptor(b,k)||{value:b[k]}).get?z=$.set?p.stylize("[Getter/Setter]","special"):p.stylize("[Getter]","special"):$.set&&(z=p.stylize("[Setter]","special")),v(y,k)||(O="["+k+"]"),z||(p.seen.indexOf($.value)<0?(z=f(g)?i(p,$.value,null):i(p,$.value,g-1)).indexOf(`
`)>-1&&(z=R?z.split(`
`).map(function(W){return" "+W}).join(`
`).substr(2):`
`+z.split(`
`).map(function(W){return" "+W}).join(`
`)):z=p.stylize("[Circular]","special")),A(O)){if(R&&k.match(/^\d+$/))return z;(O=JSON.stringify(""+k)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(O=O.substr(1,O.length-2),O=p.stylize(O,"name")):(O=O.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),O=p.stylize(O,"string"))}return O+": "+z}function u(p){return Array.isArray(p)}function d(p){return typeof p=="boolean"}function f(p){return p===null}function w(p){return typeof p=="number"}function _(p){return typeof p=="string"}function A(p){return p===void 0}function N(p){return L(p)&&U(p)==="[object RegExp]"}function L(p){return typeof p=="object"&&p!==null}function I(p){return L(p)&&U(p)==="[object Date]"}function P(p){return L(p)&&(U(p)==="[object Error]"||p instanceof Error)}function D(p){return typeof p=="function"}function U(p){return Object.prototype.toString.call(p)}function B(p){return p<10?"0"+p.toString(10):p.toString(10)}S.debuglog=function(p){if(A(r)&&(r=m.env.NODE_DEBUG||""),p=p.toUpperCase(),!t[p])if(new RegExp("\\b"+p+"\\b","i").test(r)){var b=m.pid;t[p]=function(){var g=S.format.apply(S,arguments);console.error("%s %d: %s",p,b,g)}}else t[p]=function(){};return t[p]},S.inspect=e,e.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},e.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},S.isArray=u,S.isBoolean=d,S.isNull=f,S.isNullOrUndefined=function(p){return p==null},S.isNumber=w,S.isString=_,S.isSymbol=function(p){return typeof p=="symbol"},S.isUndefined=A,S.isRegExp=N,S.isObject=L,S.isDate=I,S.isError=P,S.isFunction=D,S.isPrimitive=function(p){return p===null||typeof p=="boolean"||typeof p=="number"||typeof p=="string"||typeof p=="symbol"||p===void 0},S.isBuffer=s("./support/isBuffer");var x=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function M(){var p=new Date,b=[B(p.getHours()),B(p.getMinutes()),B(p.getSeconds())].join(":");return[p.getDate(),x[p.getMonth()],b].join(" ")}function v(p,b){return Object.prototype.hasOwnProperty.call(p,b)}S.log=function(){console.log("%s - %s",M(),S.format.apply(S,arguments))},S.inherits=s("inherits"),S._extend=function(p,b){if(!b||!L(b))return p;for(var g=Object.keys(b),y=g.length;y--;)p[g[y]]=b[g[y]];return p}}).call(this)}).call(this,s("_process"),typeof Kt<"u"?Kt:typeof self<"u"?self:typeof window<"u"?window:{})},{"./support/isBuffer":526,_process:467,inherits:525}],528:[function(s,T,S){Object.defineProperty(S,"__esModule",{value:!0}),Object.defineProperty(S,"v1",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(S,"v3",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(S,"v4",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(S,"v5",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(S,"NIL",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(S,"version",{enumerable:!0,get:function(){return e.default}}),Object.defineProperty(S,"validate",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(S,"stringify",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(S,"parse",{enumerable:!0,get:function(){return i.default}});var m=c(s("./v1.js")),o=c(s("./v3.js")),a=c(s("./v4.js")),r=c(s("./v5.js")),t=c(s("./nil.js")),e=c(s("./version.js")),l=c(s("./validate.js")),n=c(s("./stringify.js")),i=c(s("./parse.js"));function c(h){return h&&h.__esModule?h:{default:h}}},{"./nil.js":530,"./parse.js":531,"./stringify.js":535,"./v1.js":536,"./v3.js":537,"./v4.js":539,"./v5.js":540,"./validate.js":541,"./version.js":542}],529:[function(s,T,S){function m(i){return 14+(i+64>>>9<<4)+1}function o(i,c){const h=(65535&i)+(65535&c);return(i>>16)+(c>>16)+(h>>16)<<16|65535&h}function a(i,c,h,u,d,f){return o((w=o(o(c,i),o(u,f)))<<(_=d)|w>>>32-_,h);var w,_}function r(i,c,h,u,d,f,w){return a(c&h|~c&u,i,c,d,f,w)}function t(i,c,h,u,d,f,w){return a(c&u|h&~u,i,c,d,f,w)}function e(i,c,h,u,d,f,w){return a(c^h^u,i,c,d,f,w)}function l(i,c,h,u,d,f,w){return a(h^(c|~u),i,c,d,f,w)}Object.defineProperty(S,"__esModule",{value:!0}),S.default=void 0;var n=function(i){if(typeof i=="string"){const c=unescape(encodeURIComponent(i));i=new Uint8Array(c.length);for(let h=0;h<c.length;++h)i[h]=c.charCodeAt(h)}return function(c){const h=[],u=32*c.length;for(let d=0;d<u;d+=8){const f=c[d>>5]>>>d%32&255,w=parseInt("0123456789abcdef".charAt(f>>>4&15)+"0123456789abcdef".charAt(15&f),16);h.push(w)}return h}(function(c,h){c[h>>5]|=128<<h%32,c[m(h)-1]=h;let u=1732584193,d=-271733879,f=-1732584194,w=271733878;for(let _=0;_<c.length;_+=16){const A=u,N=d,L=f,I=w;u=r(u,d,f,w,c[_],7,-680876936),w=r(w,u,d,f,c[_+1],12,-389564586),f=r(f,w,u,d,c[_+2],17,606105819),d=r(d,f,w,u,c[_+3],22,-1044525330),u=r(u,d,f,w,c[_+4],7,-176418897),w=r(w,u,d,f,c[_+5],12,1200080426),f=r(f,w,u,d,c[_+6],17, Line truncated
* Character classes and associated utilities for the 5th edition of XML 1.0.
*
* @author Louis-Dominique Dubeau
* @license MIT
* @copyright Louis-Dominique Dubeau
*/Object.defineProperty(S,"__esModule",{value:!0}),S.CHAR=`
\r -퟿-�𐀀-􏿿`,S.S=` \r
`,S.NAME_START_CHAR=":A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿",S.NAME_CHAR="-"+S.NAME_START_CHAR+".0-9·̀-ͯ‿-⁀",S.CHAR_RE=new RegExp("^["+S.CHAR+"]$","u"),S.S_RE=new RegExp("^["+S.S+"]+$","u"),S.NAME_START_CHAR_RE=new RegExp("^["+S.NAME_START_CHAR+"]$","u"),S.NAME_CHAR_RE=new RegExp("^["+S.NAME_CHAR+"]$","u"),S.NAME_RE=new RegExp("^["+S.NAME_START_CHAR+"]["+S.NAME_CHAR+"]*$","u"),S.NMTOKEN_RE=new RegExp("^["+S.NAME_CHAR+"]+$","u");function m(o){return o>=65&&o<=90||o>=97&&o<=122||o===58||o===95||o===8204||o===8205||o>=192&&o<=214||o>=216&&o<=246||o>=248&&o<=767||o>=880&&o<=893||o>=895&&o<=8191||o>=8304&&o<=8591||o>=11264&&o<=12271||o>=12289&&o<=55295||o>=63744&&o<=64975||o>=65008&&o<=65533||o>=65536&&o<=983039}S.S_LIST=[32,10,13,9],S.isChar=function(o){return o>=32&&o<=55295||o===10||o===13||o===9||o>=57344&&o<=65533||o>=65536&&o<=1114111},S.isS=function(o){return o===32||o===10||o===13||o===9},S.isNameStartChar=m,S.isNameChar=function(o){return m(o)||o>=48&&o<=57||o===45||o===46||o===183||o>=768&&o<=879||o>=8255&&o<=8256}},{}],544:[function(s,T,S){/**
* Character classes and associated utilities for the 2nd edition of XML 1.1.
*
* @author Louis-Dominique Dubeau
* @license MIT
* @copyright Louis-Dominique Dubeau
*/Object.defineProperty(S,"__esModule",{value:!0}),S.CHAR="-퟿-�𐀀-􏿿",S.RESTRICTED_CHAR="-\b\v\f--„†-Ÿ",S.S=` \r
`,S.NAME_START_CHAR=":A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿",S.NAME_CHAR="-"+S.NAME_START_CHAR+".0-9·̀-ͯ‿-⁀",S.CHAR_RE=new RegExp("^["+S.CHAR+"]$","u"),S.RESTRICTED_CHAR_RE=new RegExp("^["+S.RESTRICTED_CHAR+"]$","u"),S.S_RE=new RegExp("^["+S.S+"]+$","u"),S.NAME_START_CHAR_RE=new RegExp("^["+S.NAME_START_CHAR+"]$","u"),S.NAME_CHAR_RE=new RegExp("^["+S.NAME_CHAR+"]$","u"),S.NAME_RE=new RegExp("^["+S.NAME_START_CHAR+"]["+S.NAME_CHAR+"]*$","u"),S.NMTOKEN_RE=new RegExp("^["+S.NAME_CHAR+"]+$","u");function m(o){return o>=65&&o<=90||o>=97&&o<=122||o===58||o===95||o===8204||o===8205||o>=192&&o<=214||o>=216&&o<=246||o>=248&&o<=767||o>=880&&o<=893||o>=895&&o<=8191||o>=8304&&o<=8591||o>=11264&&o<=12271||o>=12289&&o<=55295||o>=63744&&o<=64975||o>=65008&&o<=65533||o>=65536&&o<=983039}S.S_LIST=[32,10,13,9],S.isChar=function(o){return o>=1&&o<=55295||o>=57344&&o<=65533||o>=65536&&o<=1114111},S.isRestrictedChar=function(o){return o>=1&&o<=8||o===11||o===12||o>=14&&o<=31||o>=127&&o<=132||o>=134&&o<=159},S.isCharAndNotRestricted=function(o){return o===9||o===10||o===13||o>31&&o<127||o===133||o>159&&o<=55295||o>=57344&&o<=65533||o>=65536&&o<=1114111},S.isS=function(o){return o===32||o===10||o===13||o===9},S.isNameStartChar=m,S.isNameChar=function(o){return m(o)||o>=48&&o<=57||o===45||o===46||o===183||o>=768&&o<=879||o>=8255&&o<=8256}},{}],545:[function(s,T,S){/**
* Character class utilities for XML NS 1.0 edition 3.
*
* @author Louis-Dominique Dubeau
* @license MIT
* @copyright Louis-Dominique Dubeau
*/function m(o){return o>=65&&o<=90||o===95||o>=97&&o<=122||o>=192&&o<=214||o>=216&&o<=246||o>=248&&o<=767||o>=880&&o<=893||o>=895&&o<=8191||o>=8204&&o<=8205||o>=8304&&o<=8591||o>=11264&&o<=12271||o>=12289&&o<=55295||o>=63744&&o<=64975||o>=65008&&o<=65533||o>=65536&&o<=983039}Object.defineProperty(S,"__esModule",{value:!0}),S.NC_NAME_START_CHAR="A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿",S.NC_NAME_CHAR="-"+S.NC_NAME_START_CHAR+".0-9·̀-ͯ‿-⁀",S.NC_NAME_START_CHAR_RE=new RegExp("^["+S.NC_NAME_START_CHAR+"]$","u"),S.NC_NAME_CHAR_RE=new RegExp("^["+S.NC_NAME_CHAR+"]$","u"),S.NC_NAME_RE=new RegExp("^["+S.NC_NAME_START_CHAR+"]["+S.NC_NAME_CHAR+"]*$","u"),S.isNCNameStartChar=m,S.isNCNameChar=function(o){return m(o)||o===45||o===46||o>=48&&o<=57||o===183||o>=768&&o<=879||o>=8255&&o<=8256}},{}]},{},[15])(15)})})($e);var He=$e.exports;const We=Ve(He),Ke=qe({__proto__:null,default:We},[He]);export{Ke as e};
@@ -0,0 +1,22 @@
/*!
* html2canvas 1.4.1 <https://html2canvas.hertzen.com>
* Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>
* Released under MIT License
*//*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var mr=function(e,A){return mr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var B in r)Object.prototype.hasOwnProperty.call(r,B)&&(t[B]=r[B])},mr(e,A)};function tA(e,A){if(typeof A!="function"&&A!==null)throw new TypeError("Class extends value "+String(A)+" is not a constructor or null");mr(e,A);function t(){this.constructor=e}e.prototype=A===null?Object.create(A):(t.prototype=A.prototype,new t)}var Lr=function(){return Lr=Object.assign||function(A){for(var t,r=1,B=arguments.length;r<B;r++){t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(A[n]=t[n])}return A},Lr.apply(this,arguments)};function P(e,A,t,r){function B(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function i(Q){try{o(r.next(Q))}catch(g){s(g)}}function a(Q){try{o(r.throw(Q))}catch(g){s(g)}}function o(Q){Q.done?n(Q.value):B(Q.value).then(i,a)}o((r=r.apply(e,[])).next())})}function _(e,A){var t={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},r,B,n,s;return s={next:i(0),throw:i(1),return:i(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function i(o){return function(Q){return a([o,Q])}}function a(o){if(r)throw new TypeError("Generator is already executing.");for(;t;)try{if(r=1,B&&(n=o[0]&2?B.return:o[0]?B.throw||((n=B.return)&&n.call(B),0):B.next)&&!(n=n.call(B,o[1])).done)return n;switch(B=0,n&&(o=[o[0]&2,n.value]),o[0]){case 0:case 1:n=o;break;case 4:return t.label++,{value:o[1],done:!1};case 5:t.label++,B=o[1],o=[0];continue;case 7:o=t.ops.pop(),t.trys.pop();continue;default:if(n=t.trys,!(n=n.length>0&&n[n.length-1])&&(o[0]===6||o[0]===2)){t=0;continue}if(o[0]===3&&(!n||o[1]>n[0]&&o[1]<n[3])){t.label=o[1];break}if(o[0]===6&&t.label<n[1]){t.label=n[1],n=o;break}if(n&&t.label<n[2]){t.label=n[2],t.ops.push(o);break}n[2]&&t.ops.pop(),t.trys.pop();continue}o=A.call(e,t)}catch(Q){o=[6,Q],B=0}finally{r=n=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}}function ue(e,A,t){if(arguments.length===2)for(var r=0,B=A.length,n;r<B;r++)(n||!(r in A))&&(n||(n=Array.prototype.slice.call(A,0,r)),n[r]=A[r]);return e.concat(n||A)}var cA=function(){function e(A,t,r,B){this.left=A,this.top=t,this.width=r,this.height=B}return e.prototype.add=function(A,t,r,B){return new e(this.left+A,this.top+t,this.width+r,this.height+B)},e.fromClientRect=function(A,t){return new e(t.left+A.windowBounds.left,t.top+A.windowBounds.top,t.width,t.height)},e.fromDOMRectList=function(A,t){var r=Array.from(t).find(function(B){return B.width!==0});return r?new e(r.left+A.windowBounds.left,r.top+A.windowBounds.top,r.width,r.height):e.EMPTY},e.EMPTY=new e(0,0,0,0),e}(),ze=function(e,A){return cA.fromClientRect(e,A.getBoundingClientRect())},an=function(e){var A=e.body,t=e.documentElement;if(!A||!t)throw new Error("Unable to get document size");var r=Math.max(Math.max(A.scrollWidth,t.scrollWidth),Math.max(A.offsetWidth,t.offsetWidth),Math.max(A.clientWidth,t.clientWidth)),B=Math.max(Math.max(A.scrollHeight,t.scrollHeight),Math.max(A.offsetHeight,t.offsetHeight),Math.max(A.clientHeight,t.clientHeight));return new cA(0,0,r,B)},$e=function(e){for(var A=[],t=0,r=e.length;t<r;){var B=e.charCodeAt(t++);if(B>=55296&&B<=56319&&t<r){var n=e.charCodeAt(t++);(n&64512)===56320?A.push(((B&1023)<<10)+(n&1023)+65536):(A.push(B),t--)}else A.push(B)}return A},S=function(){for(var e=[],A=0;A<arguments.length;A++)e[A]=arguments[A];if(String.fromCodePoint)return String.fromCodePoint.apply(String,e);var t=e.length;if(!t)return"";for(var r=[],B=-1,n="";++B<t;){var s=e[B];s<=65535?r.push(s):(s-=65536,r.push((s>>10)+55296,s%1024+56320)),(B+1===t||r.length>16384)&&(n+=String.fromCharCode.apply(String,r),r.length=0)}return n},nt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",on=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var le=0;le<nt.length;le++)on[nt.charCodeAt(le)]=le;var st="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",zA=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var fe=0;fe<st.length;fe++)zA[st.charCodeAt(fe)]=fe;var Qn=function(e){var A=e.length*.75,t=e.length,r,B=0,n,s,i,a;e[e.length-1]==="="&&(A--,e[e.length-2]==="="&&A--);var o=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u"&&typeof Uint8Array.prototype.slice<"u"?new ArrayBuffer(A):new Array(A),Q=Array.isArray(o)?o:new Uint8Array(o);for(r=0;r<t;r+=4)n=zA[e.charCodeAt(r)],s=zA[e.charCodeAt(r+1)],i=zA[e.charCodeAt(r+2)],a=zA[e.charCodeAt(r+3)],Q[B++]=n<<2|s>>4,Q[B++]=(s&15)<<4|i>>2,Q[B++]=(i&3)<<6|a&63;return o},gn=function(e){for(var A=e.length,t=[],r=0;r<A;r+=2)t.push(e[r+1]<<8|e[r]);return t},wn=function(e){for(var A=e.length,t=[],r=0;r<A;r+=4)t.push(e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]);return t},bA=5,zr=11,ir=2,cn=zr-bA,BB=65536>>bA,Cn=1<<bA,or=Cn-1,un=1024>>bA,ln=BB+un,fn=ln,Un=32,Fn=fn+Un,hn=65536>>zr,dn=1<<cn,En=dn-1,at=function(Line truncated
content: "" !important;
display: none !important;
}`,Wo=function(e){Zo(e,"."+Zr+ko+AB+`
.`+qr+Yo+AB)},Zo=function(e,A){var t=e.ownerDocument;if(t){var r=t.createElement("style");r.textContent=A,e.appendChild(r)}},An=function(){function e(){}return e.getOrigin=function(A){var t=e._link;return t?(t.href=A,t.href=t.href,t.protocol+t.hostname+t.port):"about:blank"},e.isSameOrigin=function(A){return e.getOrigin(A)===e._origin},e.setContext=function(A){e._link=A.document.createElement("a"),e._origin=e.getOrigin(A.location.href)},e._origin="about:blank",e}(),qo=function(){function e(A,t){this.context=A,this._options=t,this._cache={}}return e.prototype.addImage=function(A){var t=Promise.resolve();return this.has(A)||(yr(A)||AQ(A))&&(this._cache[A]=this.loadImage(A)).catch(function(){}),t},e.prototype.match=function(A){return this._cache[A]},e.prototype.loadImage=function(A){return P(this,void 0,void 0,function(){var t,r,B,n,s=this;return _(this,function(i){switch(i.label){case 0:return t=An.isSameOrigin(A),r=!vr(A)&&this._options.useCORS===!0&&N.SUPPORT_CORS_IMAGES&&!t,B=!vr(A)&&!t&&!yr(A)&&typeof this._options.proxy=="string"&&N.SUPPORT_CORS_XHR&&!r,!t&&this._options.allowTaint===!1&&!vr(A)&&!yr(A)&&!B&&!r?[2]:(n=A,B?[4,this.proxy(n)]:[3,2]);case 1:n=i.sent(),i.label=2;case 2:return this.context.logger.debug("Added image "+A.substring(0,256)),[4,new Promise(function(a,o){var Q=new Image;Q.onload=function(){return a(Q)},Q.onerror=o,(eQ(n)||r)&&(Q.crossOrigin="anonymous"),Q.src=n,Q.complete===!0&&setTimeout(function(){return a(Q)},500),s._options.imageTimeout>0&&setTimeout(function(){return o("Timed out ("+s._options.imageTimeout+"ms) loading image")},s._options.imageTimeout)})];case 3:return[2,i.sent()]}})})},e.prototype.has=function(A){return typeof this._cache[A]<"u"},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(A){var t=this,r=this._options.proxy;if(!r)throw new Error("No proxy defined");var B=A.substring(0,256);return new Promise(function(n,s){var i=N.SUPPORT_RESPONSE_TYPE?"blob":"text",a=new XMLHttpRequest;a.onload=function(){if(a.status===200)if(i==="text")n(a.response);else{var g=new FileReader;g.addEventListener("load",function(){return n(g.result)},!1),g.addEventListener("error",function(w){return s(w)},!1),g.readAsDataURL(a.response)}else s("Failed to proxy resource "+B+" with status code "+a.status)},a.onerror=s;var o=r.indexOf("?")>-1?"&":"?";if(a.open("GET",""+r+o+"url="+encodeURIComponent(A)+"&responseType="+i),i!=="text"&&a instanceof XMLHttpRequest&&(a.responseType=i),t._options.imageTimeout){var Q=t._options.imageTimeout;a.timeout=Q,a.ontimeout=function(){return s("Timed out ("+Q+"ms) proxying "+B)}}a.send()})},e}(),jo=/^data:image\/svg\+xml/i,zo=/^data:image\/.*;base64,/i,$o=/^data:image\/.*/i,AQ=function(e){return N.SUPPORT_SVG_DRAWING||!rQ(e)},vr=function(e){return $o.test(e)},eQ=function(e){return zo.test(e)},yr=function(e){return e.substr(0,4)==="blob"},rQ=function(e){return e.substr(-3).toLowerCase()==="svg"||jo.test(e)},u=function(){function e(A,t){this.type=0,this.x=A,this.y=t}return e.prototype.add=function(A,t){return new e(this.x+A,this.y+t)},e}(),RA=function(e,A,t){return new u(e.x+(A.x-e.x)*t,e.y+(A.y-e.y)*t)},Te=function(){function e(A,t,r,B){this.type=1,this.start=A,this.startControl=t,this.endControl=r,this.end=B}return e.prototype.subdivide=function(A,t){var r=RA(this.start,this.startControl,A),B=RA(this.startControl,this.endControl,A),n=RA(this.endControl,this.end,A),s=RA(r,B,A),i=RA(B,n,A),a=RA(s,i,A);return t?new e(this.start,r,s,a):new e(a,i,n,this.end)},e.prototype.add=function(A,t){return new e(this.start.add(A,t),this.startControl.add(A,t),this.endControl.add(A,t),this.end.add(A,t))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),$=function(e){return e.type===1},tQ=function(){function e(A){var t=A.styles,r=A.bounds,B=re(t.borderTopLeftRadius,r.width,r.height),n=B[0],s=B[1],i=re(t.borderTopRightRadius,r.width,r.height),a=i[0],o=i[1],Q=re(t.borderBottomRightRadius,r.width,r.height),g=Q[0],w=Q[1],f=re(t.borderBottomLeftRadius,r.width,r.height),c=f[0],C=f[1],H=[];H.push((n+a)/r.width),H.push((c+g)/r.width),H.push((s+C)/r.height),H.push((o+w)/r.height);var h=Math.max.apply(Math,H);h>1&&(n/=h,s/=h,a/=h,o/=h,g/=h,w/=h,c/=h,C/=h);var F=r.width-a,K=r.height-w,p=r.width-g,d=r.height-C,l=t.borderTopWidth,v=t.borderRightWidth,y=t.borderBottomWidth,E=t.borderLeftWidth,O=b(t.paddingTop,A.bounds.width),k=b(t.paddingRight,A.bounds.width),q=b(t.paddingBottom,A.bounds.width),L=b(t.paddingLeft,A.bounds.width);this.topLeftBorderDoubleOuterBox=n>0||s>0?x(r.left+E/3,r.top+l/3,n-E/3,s-l/3,m.TOP_LEFT):new u(r.left+E/3,r.top+l/3),this.topRightBorderDoubleOuterBox=n>0||s>0?x(r.left+F,r.top+l/3,a-v/3,o-l/3,m.TOP_RIGHT):new u(r.left+r.width-v/3,r.top+l/3),this.bottomRightBorderDoubleOuterBox=g>0||w>0?x(r.left+p,r.top+K,g-v/3,w-y/3,m.BOTTOM_RIGHT):new u(r.left+r.width-v/3,r.top+r.height-y/3),this.bottomLeftBorderDoubleOuterBox=c>0||C>0?x(r.left+E/3,r.top+d,c-E/3,C Line truncated
+1
View File
@@ -0,0 +1 @@
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visiLine truncated
+265
View File
@@ -0,0 +1,265 @@
var PT=Object.defineProperty;var Bm=e=>{throw TypeError(e)};var AT=(e,t,n)=>t in e?PT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var A=(e,t,n)=>AT(e,typeof t!="symbol"?t+"":t,n),ud=(e,t,n)=>t.has(e)||Bm("Cannot "+n);var P=(e,t,n)=>(ud(e,t,"read from private field"),n?n.call(e):t.get(e)),le=(e,t,n)=>t.has(e)?Bm("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),K=(e,t,n,r)=>(ud(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),be=(e,t,n)=>(ud(e,t,"access private method"),n);var Ll=(e,t,n,r)=>({set _(s){K(e,t,s,n)},get _(){return P(e,t,r)}});function RT(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const s in r)if(s!=="default"&&!(s in e)){const i=Object.getOwnPropertyDescriptor(r,s);i&&Object.defineProperty(e,s,i.get?i:{enumerable:!0,get:()=>r[s]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();var SL=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ib(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ob={exports:{}},Tu={},ab={exports:{}},Ce={};/**
* @license React
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var bl=Symbol.for("react.element"),IT=Symbol.for("react.portal"),DT=Symbol.for("react.fragment"),OT=Symbol.for("react.strict_mode"),MT=Symbol.for("react.profiler"),FT=Symbol.for("react.provider"),LT=Symbol.for("react.context"),VT=Symbol.for("react.forward_ref"),zT=Symbol.for("react.suspense"),$T=Symbol.for("react.memo"),UT=Symbol.for("react.lazy"),Wm=Symbol.iterator;function BT(e){return e===null||typeof e!="object"?null:(e=Wm&&e[Wm]||e["@@iterator"],typeof e=="function"?e:null)}var lb={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},cb=Object.assign,ub={};function Bo(e,t,n){this.props=e,this.context=t,this.refs=ub,this.updater=n||lb}Bo.prototype.isReactComponent={};Bo.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Bo.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function db(){}db.prototype=Bo.prototype;function Jp(e,t,n){this.props=e,this.context=t,this.refs=ub,this.updater=n||lb}var eh=Jp.prototype=new db;eh.constructor=Jp;cb(eh,Bo.prototype);eh.isPureReactComponent=!0;var Hm=Array.isArray,fb=Object.prototype.hasOwnProperty,th={current:null},pb={key:!0,ref:!0,__self:!0,__source:!0};function hb(e,t,n){var r,s={},i=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(i=""+t.key),t)fb.call(t,r)&&!pb.hasOwnProperty(r)&&(s[r]=t[r]);var l=arguments.length-2;if(l===1)s.children=n;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];s.children=c}if(e&&e.defaultProps)for(r in l=e.defaultProps,l)s[r]===void 0&&(s[r]=l[r]);return{$$typeof:bl,type:e,key:i,ref:o,props:s,_owner:th.current}}function WT(e,t){return{$$typeof:bl,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function nh(e){return typeof e=="object"&&e!==null&&e.$$typeof===bl}function HT(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var Qm=/\/+/g;function dd(e,t){return typeof e=="object"&&e!==null&&e.key!=null?HT(""+e.key):t.toString(36)}function dc(e,t,n,r,s){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case bl:case IT:o=!0}}if(o)return o=e,s=s(o),e=r===""?"."+dd(o,0):r,Hm(s)?(n="",e!=null&&(n=e.replace(Qm,"$&/")+"/"),dc(s,t,n,"",function(u){return u})):s!=null&&(nh(s)&&(s=WT(s,n+(!s.key||o&&o.key===s.key?"":(""+s.key).replace(Qm,"$&/")+"/")+e)),t.push(s)),1;if(o=0,r=r===""?".":r+":",Hm(e))for(var l=0;l<e.length;l++){i=e[l];var c=r+dd(i,l);o+=dc(i,t,n,c,s)}else if(c=BT(e),typeof c=="function")for(e=c.call(e),l=0;!(i=e.next()).done;)i=i.value,c=r+dd(i,l++),o+=dc(i,t,n,c,s);else if(i==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return o}function Vl(e,t,n){if(e==null)return e;var r=[],s=0;return dc(e,r,"","",function(i){return t.call(n,i,s++)}),r}function QT(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Ut={current:null},fc={transition:null},qT={ReactCurrentDispatcher:Ut,ReactCurrentBatchConfig:fc,ReactCurrentOwner:th};function mb(){throw Error("act(...) is not supported in production builds of React.")}Ce.Children={map:Vl,forEach:function(e,t,n){Vl(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Vl(e,function(){t++}),t},toArray:function(e){return Vl(e,function(t){return t})||[]},only:function(e){if(!nh(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Ce.Component=Bo;Ce.Fragment=DT;Ce.Profiler=MT;Ce.PureComponent=Jp;Ce.StrictMode=OT;Ce.Suspense=zT;Ce.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=qT;Ce.act=mb;Ce.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=cb({},e.props),s=e.key,i=e.ref,o=e._owner;if(t!=null){if(t.ref!==void 0&&(i=t.ref,o=th.current),t.key!==void 0&&(s=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)fb.call(t,c)&&!pb.hasOwnProperty(c)&&(r[c]=t[c]===void 0&&l!==void 0?l[c]:t[c])}var c=arguments.length-2;if(c===1)r.children=n;else if(1<c){l=Array(c);for(var u=0;u<c;u++)l[u]=arguments[u+2];r.children=l}return{$$typeof:bl,type:e.type,key:s,ref:i,props:r,_owner:o}};Ce.createContext=function(e){return e={$$typeof:LT,_currentValue:e,_currentValue2:e,_threadCountLine truncated
* @license React
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var KT=h,GT=Symbol.for("react.element"),XT=Symbol.for("react.fragment"),YT=Object.prototype.hasOwnProperty,JT=KT.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,ek={key:!0,ref:!0,__self:!0,__source:!0};function gb(e,t,n){var r,s={},i=null,o=null;n!==void 0&&(i=""+n),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(o=t.ref);for(r in t)YT.call(t,r)&&!ek.hasOwnProperty(r)&&(s[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)s[r]===void 0&&(s[r]=t[r]);return{$$typeof:GT,type:e,key:i,ref:o,props:s,_owner:JT.current}}Tu.Fragment=XT;Tu.jsx=gb;Tu.jsxs=gb;ob.exports=Tu;var a=ob.exports,vb={exports:{}},hn={},yb={exports:{}},xb={};/**
* @license React
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/(function(e){function t(D,U){var Y=D.length;D.push(U);e:for(;0<Y;){var ae=Y-1>>>1,Re=D[ae];if(0<s(Re,U))D[ae]=U,D[Y]=Re,Y=ae;else break e}}function n(D){return D.length===0?null:D[0]}function r(D){if(D.length===0)return null;var U=D[0],Y=D.pop();if(Y!==U){D[0]=Y;e:for(var ae=0,Re=D.length,ct=Re>>>1;ae<ct;){var Ue=2*(ae+1)-1,Ot=D[Ue],ht=Ue+1,C=D[ht];if(0>s(Ot,Y))ht<Re&&0>s(C,Ot)?(D[ae]=C,D[ht]=Y,ae=ht):(D[ae]=Ot,D[Ue]=Y,ae=Ue);else if(ht<Re&&0>s(C,Y))D[ae]=C,D[ht]=Y,ae=ht;else break e}}return U}function s(D,U){var Y=D.sortIndex-U.sortIndex;return Y!==0?Y:D.id-U.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var c=[],u=[],d=1,f=null,p=3,y=!1,b=!1,g=!1,w=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,m=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function x(D){for(var U=n(u);U!==null;){if(U.callback===null)r(u);else if(U.startTime<=D)r(u),U.sortIndex=U.expirationTime,t(c,U);else break;U=n(u)}}function j(D){if(g=!1,x(D),!b)if(n(c)!==null)b=!0,q(T);else{var U=n(u);U!==null&&oe(j,U.startTime-D)}}function T(D,U){b=!1,g&&(g=!1,v(_),_=-1),y=!0;var Y=p;try{for(x(U),f=n(c);f!==null&&(!(f.expirationTime>U)||D&&!H());){var ae=f.callback;if(typeof ae=="function"){f.callback=null,p=f.priorityLevel;var Re=ae(f.expirationTime<=U);U=e.unstable_now(),typeof Re=="function"?f.callback=Re:f===n(c)&&r(c),x(U)}else r(c);f=n(c)}if(f!==null)var ct=!0;else{var Ue=n(u);Ue!==null&&oe(j,Ue.startTime-U),ct=!1}return ct}finally{f=null,p=Y,y=!1}}var S=!1,N=null,_=-1,E=5,I=-1;function H(){return!(e.unstable_now()-I<E)}function M(){if(N!==null){var D=e.unstable_now();I=D;var U=!0;try{U=N(!0,D)}finally{U?z():(S=!1,N=null)}}else S=!1}var z;if(typeof m=="function")z=function(){m(M)};else if(typeof MessageChannel<"u"){var F=new MessageChannel,ee=F.port2;F.port1.onmessage=M,z=function(){ee.postMessage(null)}}else z=function(){w(M,0)};function q(D){N=D,S||(S=!0,z())}function oe(D,U){_=w(function(){D(e.unstable_now())},U)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(D){D.callback=null},e.unstable_continueExecution=function(){b||y||(b=!0,q(T))},e.unstable_forceFrameRate=function(D){0>D||125<D?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):E=0<D?Math.floor(1e3/D):5},e.unstable_getCurrentPriorityLevel=function(){return p},e.unstable_getFirstCallbackNode=function(){return n(c)},e.unstable_next=function(D){switch(p){case 1:case 2:case 3:var U=3;break;default:U=p}var Y=p;p=U;try{return D()}finally{p=Y}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(D,U){switch(D){case 1:case 2:case 3:case 4:case 5:break;default:D=3}var Y=p;p=D;try{return U()}finally{p=Y}},e.unstable_scheduleCallback=function(D,U,Y){var ae=e.unstable_now();switch(typeof Y=="object"&&Y!==null?(Y=Y.delay,Y=typeof Y=="number"&&0<Y?ae+Y:ae):Y=ae,D){case 1:var Re=-1;break;case 2:Re=250;break;case 5:Re=1073741823;break;case 4:Re=1e4;break;default:Re=5e3}return Re=Y+Re,D={id:d++,callback:U,priorityLevel:D,startTime:Y,expirationTime:Re,sortIndex:-1},Y>ae?(D.sortIndex=Y,t(u,D),n(c)===null&&D===n(u)&&(g?(v(_),_=-1):g=!0,oe(j,Y-ae))):(D.sortIndex=Re,t(c,D),b||y||(b=!0,q(T))),D},e.unstable_shouldYield=H,e.unstable_wrapCallback=function(D){var U=p;return function(){var Y=p;p=U;try{return D.apply(this,arguments)}finally{p=Y}}}})(xb);yb.exports=xb;var tk=yb.exports;/**
* @license React
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var nk=h,pn=tk;function $(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var wb=new Set,La={};function pi(e,t){Co(e,t),Co(e+"Capture",t)}function Co(e,t){for(La[e]=t,e=0;e<t.length;e++)wb.add(t[e])}var Cr=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),hf=Object.prototype.hasOwnProperty,rk=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,qm={},Zm={};function sk(e){return hf.call(Zm,e)?!0:hf.call(qm,e)?!1:rk.test(e)?Zm[e]=!0:(qm[e]=!0,!1)}function ik(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function ok(e,t,n,r){if(t===null||typeof t>"u"||ik(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Bt(e,t,n,r,s,i,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=s,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var _t={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){_t[e]=new Bt(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];_t[t]=new Bt(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){_t[e]=new Bt(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){_t[e]=new Bt(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){_t[e]=new Bt(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){_t[e]=new Bt(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){_t[e]=new Bt(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){_t[e]=new Bt(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){_t[e]=new Bt(e,5,!1,e.toLowerCase(),null,!1,!1)});var rh=/[\-:]([a-z])/g;function sh(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(rh,sh);_t[t]=new Bt(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(rh,sh);_t[t]=new Bt(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(rh,sh);_t[t]=new Bt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){_t[e]=new Bt(e,1,!1,e.toLowerCase(),null,!1,!1)});_t.xlinkHref=new Bt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){_t[e]=new Bt(e,1,!1,e.toLowerCase(),null,!0,!0)});function ih(e,t,n,r){var s=_t.hasOwnProperty(t)?_t[t]:null;(s!==null?s.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!==" Line truncated
`+fd+e}var pd=!1;function hd(e,t){if(!e||pd)return"";pd=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var r=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){r=u}e.call(t.prototype)}else{try{throw Error()}catch(u){r=u}e()}}catch(u){if(u&&r&&typeof u.stack=="string"){for(var s=u.stack.split(`
`),i=r.stack.split(`
`),o=s.length-1,l=i.length-1;1<=o&&0<=l&&s[o]!==i[l];)l--;for(;1<=o&&0<=l;o--,l--)if(s[o]!==i[l]){if(o!==1||l!==1)do if(o--,l--,0>l||s[o]!==i[l]){var c=`
`+s[o].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=o&&0<=l);break}}}finally{pd=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?pa(e):""}function ak(e){switch(e.tag){case 5:return pa(e.type);case 16:return pa("Lazy");case 13:return pa("Suspense");case 19:return pa("SuspenseList");case 0:case 2:case 15:return e=hd(e.type,!1),e;case 11:return e=hd(e.type.render,!1),e;case 1:return e=hd(e.type,!0),e;default:return""}}function yf(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case ji:return"Fragment";case _i:return"Portal";case mf:return"Profiler";case oh:return"StrictMode";case gf:return"Suspense";case vf:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Sb:return(e.displayName||"Context")+".Consumer";case bb:return(e._context.displayName||"Context")+".Provider";case ah:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case lh:return t=e.displayName||null,t!==null?t:yf(e.type)||"Memo";case Wr:t=e._payload,e=e._init;try{return yf(e(t))}catch{}}return null}function lk(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return yf(t);case 8:return t===oh?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function ys(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function _b(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function ck(e){var t=_b(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var s=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(o){r=""+o,i.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function $l(e){e._valueTracker||(e._valueTracker=ck(e))}function jb(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=_b(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Dc(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function xf(e,t){var n=t.checked;return et({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Gm(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=ys(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Cb(e,t){t=t.checked,t!=null&&ih(e,"checked",t,!1)}function wf(e,t){Cb(e,t);var n=ys(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?bf(e,t.type,n):t.hasOwnProperty("defaultValue")&&bf(e,t.type,ys(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Xm(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function bf(e,t,n){(t!=="number"||Dc(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ha=Array.isArray;function Zi(e,t,n,r){if(e=e.options,t){t={};for(var s=0;s<n.length;s++)t["$"+n[s]]=!0;for(n=0;n<e.length;n++)s=t.hasOwnProperty("$"+e[n].value),e[n].selected!==s&&(e[n].selected=s),s&&r&&(e[n].defaultSelected=!0)}else{for(n=""+ys(n),t=null,s=0;s<e.length;s++){if(e[s].value===n){e[s].selected=!0,r&&(e[s].defaultSelected=!0);return}t!==null||e[s].disabled||(t=e[s])}t!==null&&(t.selected=!0)}}function Sf(e,t){if(t.dan Line truncated
`).replace(xP,"")}function Kl(e,t,n){if(t=wg(t),wg(e)!==t&&n)throw Error($(425))}function Uc(){}var Of=null,Mf=null;function Ff(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Lf=typeof setTimeout=="function"?setTimeout:void 0,wP=typeof clearTimeout=="function"?clearTimeout:void 0,bg=typeof Promise=="function"?Promise:void 0,bP=typeof queueMicrotask=="function"?queueMicrotask:typeof bg<"u"?function(e){return bg.resolve(null).then(e).catch(SP)}:Lf;function SP(e){setTimeout(function(){throw e})}function Ed(e,t){var n=t,r=0;do{var s=n.nextSibling;if(e.removeChild(n),s&&s.nodeType===8)if(n=s.data,n==="/$"){if(r===0){e.removeChild(s),Ba(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=s}while(n);Ba(t)}function fs(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function Sg(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var Ho=Math.random().toString(36).slice(2),Jn="__reactFiber$"+Ho,Za="__reactProps$"+Ho,Er="__reactContainer$"+Ho,Vf="__reactEvents$"+Ho,NP="__reactListeners$"+Ho,_P="__reactHandles$"+Ho;function Fs(e){var t=e[Jn];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Er]||n[Jn]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Sg(e);e!==null;){if(n=e[Jn])return n;e=Sg(e)}return t}e=n,n=e.parentNode}return null}function _l(e){return e=e[Jn]||e[Er],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function ki(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error($(33))}function Iu(e){return e[Za]||null}var zf=[],Pi=-1;function ks(e){return{current:e}}function Qe(e){0>Pi||(e.current=zf[Pi],zf[Pi]=null,Pi--)}function $e(e,t){Pi++,zf[Pi]=e.current,e.current=t}var xs={},Rt=ks(xs),Xt=ks(!1),ei=xs;function Eo(e,t){var n=e.type.contextTypes;if(!n)return xs;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var s={},i;for(i in n)s[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=s),s}function Yt(e){return e=e.childContextTypes,e!=null}function Bc(){Qe(Xt),Qe(Rt)}function Ng(e,t,n){if(Rt.current!==xs)throw Error($(168));$e(Rt,t),$e(Xt,n)}function h1(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var s in r)if(!(s in t))throw Error($(108,lk(e)||"Unknown",s));return et({},n,r)}function Wc(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||xs,ei=Rt.current,$e(Rt,e),$e(Xt,Xt.current),!0}function _g(e,t,n){var r=e.stateNode;if(!r)throw Error($(169));n?(e=h1(e,t,ei),r.__reactInternalMemoizedMergedChildContext=e,Qe(Xt),Qe(Rt),$e(Rt,e)):Qe(Xt),$e(Xt,n)}var vr=null,Du=!1,Td=!1;function m1(e){vr===null?vr=[e]:vr.push(e)}function jP(e){Du=!0,m1(e)}function Ps(){if(!Td&&vr!==null){Td=!0;var e=0,t=Ve;try{var n=vr;for(Ve=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}vr=null,Du=!1}catch(s){throw vr!==null&&(vr=vr.slice(e+1)),zb(uh,Ps),s}finally{Ve=t,Td=!1}}return null}var Ai=[],Ri=0,Hc=null,Qc=0,xn=[],wn=0,ti=null,wr=1,br="";function Ds(e,t){Ai[Ri++]=Qc,Ai[Ri++]=Hc,Hc=e,Qc=t}function g1(e,t,n){xn[wn++]=wr,xn[wn++]=br,xn[wn++]=ti,ti=e;var r=wr;e=br;var s=32-On(r)-1;r&=~(1<<s),n+=1;var i=32-On(t)+s;if(30<i){var o=s-s%5;i=(r&(1<<o)-1).toString(32),r>>=o,s-=o,wr=1<<32-On(t)+s|n<<s|r,br=i+e}else wr=1<<i|n<<s|r,br=e}function xh(e){e.return!==null&&(Ds(e,1),g1(e,1,0))}function wh(e){for(;e===Hc;)Hc=Ai[--Ri],Ai[Ri]=null,Qc=Ai[--Ri],Ai[Ri]=null;for(;e===ti;)ti=xn[--wn],xn[wn]=null,br=xn[--wn],xn[wn]=null,wr=xn[--wn],xn[wn]=null}var un=null,cn=null,Ze=!1,An=null;function v1(e,t){var n=Sn(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function jg(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,un=e,cn=fs(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,un=e,cn=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=ti!==null?{id:wr,overflow:br}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=Sn(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,un=e,cn=null,!0):!1;default:return!1}}function $f(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Uf(e){if(Ze){var t=cn;if(t){var n=t;if(!jg(e,t)){if($f(e))throw Error($(418));t=fs(n.nextSibling);var r=un;t&&jg(e,t)?v1(r,n):(e.flags=e.flags&-4097|2,Ze=!1,un=e)}}else{if($f(e))throw Error($(418));e.flags=e.flags&-4097|2,Ze=!1,un=e}}}function Cg(e){for(e=e Line truncated
Error generating stack: `+i.message+`
`+i.stack}return{value:e,source:t,stack:s,digest:null}}function Id(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Qf(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var DP=typeof WeakMap=="function"?WeakMap:Map;function W1(e,t,n){n=_r(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){eu||(eu=!0,np=r),Qf(e,t)},n}function H1(e,t,n){n=_r(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var s=t.value;n.payload=function(){return r(s)},n.callback=function(){Qf(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(n.callback=function(){Qf(e,t),typeof r!="function"&&(hs===null?hs=new Set([this]):hs.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function Dg(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new DP;var s=new Set;r.set(t,s)}else s=r.get(t),s===void 0&&(s=new Set,r.set(t,s));s.has(n)||(s.add(n),e=ZP.bind(null,e,t,n),t.then(e,e))}function Og(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Mg(e,t,n,r,s){return e.mode&1?(e.flags|=65536,e.lanes=s,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=_r(-1,1),t.tag=2,ps(n,t,1))),n.lanes|=1),e)}var OP=Ir.ReactCurrentOwner,Kt=!1;function Lt(e,t,n,r){t.child=e===null?w1(t,null,n,r):ko(t,e.child,n,r)}function Fg(e,t,n,r,s){n=n.render;var i=t.ref;return Yi(t,s),r=Ah(e,t,n,r,i,s),n=Rh(),e!==null&&!Kt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~s,kr(e,t,s)):(Ze&&n&&xh(t),t.flags|=1,Lt(e,t,r,s),t.child)}function Lg(e,t,n,r,s){if(e===null){var i=n.type;return typeof i=="function"&&!Uh(i)&&i.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=i,Q1(e,t,i,r,s)):(e=Sc(n.type,null,r,t,t.mode,s),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!(e.lanes&s)){var o=i.memoizedProps;if(n=n.compare,n=n!==null?n:Ha,n(o,r)&&e.ref===t.ref)return kr(e,t,s)}return t.flags|=1,e=gs(i,r),e.ref=t.ref,e.return=t,t.child=e}function Q1(e,t,n,r,s){if(e!==null){var i=e.memoizedProps;if(Ha(i,r)&&e.ref===t.ref)if(Kt=!1,t.pendingProps=r=i,(e.lanes&s)!==0)e.flags&131072&&(Kt=!0);else return t.lanes=e.lanes,kr(e,t,s)}return qf(e,t,n,r,s)}function q1(e,t,n){var r=t.pendingProps,s=r.children,i=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},$e(Oi,sn),sn|=n;else{if(!(n&1073741824))return e=i!==null?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,$e(Oi,sn),sn|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=i!==null?i.baseLanes:n,$e(Oi,sn),sn|=r}else i!==null?(r=i.baseLanes|n,t.memoizedState=null):r=n,$e(Oi,sn),sn|=r;return Lt(e,t,s,n),t.child}function Z1(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function qf(e,t,n,r,s){var i=Yt(n)?ei:Rt.current;return i=Eo(t,i),Yi(t,s),n=Ah(e,t,n,r,i,s),r=Rh(),e!==null&&!Kt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~s,kr(e,t,s)):(Ze&&r&&xh(t),t.flags|=1,Lt(e,t,n,s),t.child)}function Vg(e,t,n,r,s){if(Yt(n)){var i=!0;Wc(t)}else i=!1;if(Yi(t,s),t.stateNode===null)xc(e,t),B1(t,n,r),Hf(t,n,r,s),r=!0;else if(e===null){var o=t.stateNode,l=t.memoizedProps;o.props=l;var c=o.context,u=n.contextType;typeof u=="object"&&u!==null?u=_n(u):(u=Yt(n)?ei:Rt.current,u=Eo(t,u));var d=n.getDerivedStateFromProps,f=typeof d=="function"||typeof o.getSnapshotBeforeUpdate=="function";f||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==r||c!==u)&&Ig(t,o,r,u),Hr=!1;var p=t.memoizedState;o.state=p,Kc(t,r,o,s),c=t.memoizedState,l!==r||p!==c||Xt.current||Hr?(typeof d=="function"&&(Wf(t,n,d,r),c=t.memoizedState),(l=Hr||Rg(t,n,l,r,p,c,u))?(f||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),o.props=r,o.state=c,o.context=u,r=l):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,S1(e,t),l=t.memoizedProps,u=t.type===t.elementType?l:Tn(t.type,l),o.props=u,f=t.pendingProps,p=o.context,c=n.contextType,typeof c=="object"&&c!==null?c=_n(c):(c=Yt(n)?ei:Rt.current,c=Eo(t,c));var y=n.getDerivedStateFromProps;(d=typeof y=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==f||p!==c)&&Ig(t,o,r,c),Hr=!1,p=t.memoizedState,o.state=p,Kc(t,r,o,s);var b=t.memoizedS Line truncated
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const AA=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),lN=(...e)=>e.filter((t,n,r)=>!!t&&r.indexOf(t)===n).join(" ");/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/var RA={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const IA=h.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:s="",children:i,iconNode:o,...l},c)=>h.createElement("svg",{ref:c,...RA,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:lN("lucide",s),...l},[...o.map(([u,d])=>h.createElement(u,d)),...Array.isArray(i)?i:[i]]));/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Fe=(e,t)=>{const n=h.forwardRef(({className:r,...s},i)=>h.createElement(IA,{ref:i,iconNode:t,className:lN(`lucide-${AA(e)}`,r),...s}));return n.displayName=`${e}`,n};/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const DA=Fe("BadgeCheck",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const _p=Fe("Building2",[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const mv=Fe("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Cc=Fe("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const OA=Fe("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const cN=Fe("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const MA=Fe("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const $d=Fe("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const FA=Fe("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const to=Fe("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const LA=Fe("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const VA=Fe("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const zA=Fe("Filter",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const uN=Fe("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const $A=Fe("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const UA=Fe("LogIn",[["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}],["polyline",{points:"10 17 15 12 10 7",key:"1ail0h"}],["line",{x1:"15",x2:"3",y1:"12",y2:"12",key:"v6grx8"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const BA=Fe("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const WA=Fe("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const jp=Fe("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Cp=Fe("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const HA=Fe("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const QA=Fe("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Ep=Fe("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const qA=Fe("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ZA=Fe("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const gv=Fe("SquarePen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const no=Fe("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const vv=Fe("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const KA=Fe("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const tm=Fe("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);/**
* @license lucide-react v0.453.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Oo=Fe("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),nm="-",GA=e=>{const t=YA(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:o=>{const l=o.split(nm);return l[0]===""&&l.length!==1&&l.shift(),dN(l,t)||XA(o)},getConflictingClassGroupIds:(o,l)=>{const c=n[o]||[];return l&&r[o]?[...c,...r[o]]:c}}},dN=(e,t)=>{var o;if(e.length===0)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),s=r?dN(e.slice(1),r):void 0;if(s)return s;if(t.validators.length===0)return;const i=e.join(nm);return(o=t.validators.find(({validator:l})=>l(i)))==null?void 0:o.classGroupId},yv=/^\[(.+)\]$/,XA=e=>{if(yv.test(e)){const t=yv.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},YA=e=>{const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return eR(Object.entries(e.classGroups),n).forEach(([i,o])=>{Tp(o,r,i,t)}),r},Tp=(e,t,n,r)=>{e.forEach(s=>{if(typeof s=="string"){const i=s===""?t:xv(t,s);i.classGroupId=n;return}if(typeof s=="function"){if(JA(s)){Tp(s(r),t,n,r);return}t.validators.push({validator:s,classGroupId:n});return}Object.entries(s).forEach(([i,o])=>{Tp(o,xv(t,i),n,r)})})},xv=(e,t)=>{let n=e;return t.split(nm).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},JA=e=>e.isThemeGetter,eR=(e,t)=>t?e.map(([n,r])=>{const s=r.map(i=>typeof i=="string"?t+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([o,l])=>[t+o,l])):i);return[n,s]}):e,tR=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const s=(i,o)=>{n.set(i,o),t++,t>e&&(t=0,r=n,n=new Map)};return{get(i){let o=n.get(i);if(o!==void 0)return o;if((o=r.get(i))!==void 0)return s(i,o),o},set(i,o){n.has(i)?n.set(i,o):s(i,o)}}},fN="!",nR=e=>{const{separator:t,experimentalParseClassName:n}=e,r=t.length===1,s=t[0],i=t.length,o=l=>{const c=[];let u=0,d=0,f;for(let w=0;w<l.length;w++){let v=l[w];if(u===0){if(v===s&&(r||l.slice(w,w+i)===t)){c.push(l.slice(d,w)),d=w+i;continue}if(v==="/"){f=w;continue}}v==="["?u++:v==="]"&&u--}const p=c.length===0?l:l.substring(d),y=p.startsWith(fN),b=y?p.substring(1):p,g=f&&f>d?f-d:void 0;return{modifiers:c,hasImportantModifier:y,baseClassName:b,maybePostfixModifierPosition:g}};return n?l=>n({className:l,parseClassName:o}):o},rR=e=>{if(e.length<=1)return e;const t=[];let n=[];return e.forEach(r=>{r[0]==="["?(t.push(...n.sort(),r),n=[]):n.push(r)}),t.push(...n.sort()),t},sR=e=>({cache:tR(e.cacheSize),parseClassName:nR(e),...GA(e)}),iR=/\s+/,oR=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:s}=t,i=[],o=e.trim().split(iR);let l="";for(let c=o.length-1;c>=0;c-=1){const u=o[c],{modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:y}=n(u);let b=!!y,g=r(b?p.substring(0,y):p);if(!g){if(!b){l=u+(l.length>0?" "+l:l);continue}if(g=r(p),!g){l=u+(l.length>0?" "+l:l);continue}b=!1}const w=rR(d).join(":"),v=f?w+fN:w,m=v+g;if(i.includes(m))continue;i.push(m);const x=s(g,b);for(let j=0;j<x.length;++j){const T=x[j];i.push(v+T)}l=u+(l.length>0?" "+l:l)}return l};function aR(){let e=0,t,n,r="";for(;e<arguments.length;)(t=arguments[e++])&&(n=pN(t))&&(r&&(r+=" "),r+=n);return r}const pN=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=pN(e[r]))&&(n&&(n+=" "),n+=t);return n};function lR(e,...t){let n,r,s,i=o;function o(c){const u=t.reduce((d,f)=>f(d),e());return n=sR(u),r=n.cache.get,s=n.cache.set,i=l,l(c)}function l(c){const u=r(c);if(u)return u;const d=oR(c,n);return s(c,d),d}return function(){return i(aR.apply(null,arguments))}}const Be=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},hN=/^\[(?:([a-z-]+):)?(.+)\]$/i,cR=/^\d+\/\d+$/,uR=new Set(["px","full","screen"]),dR=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,fR=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,pR=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,hR=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,mR=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,fr=e=>ro(e)||uR.has(e)||cR.test(e),Vr=e=>Ko(e,"length",NR),ro=e=>!!e&&!Number.isNaN(Number(e)),Ud=e=>Ko(e,"number",ro),ca=e=>!!e&&Number.isInteger(Number(e)),gR=e=>e.endsWith("%")&&ro(e.slice(0,-1)),ge=e=>hN.test(e),zr=e=>dR.test(e),vR=new Set(["length","size","percentage"]),yR=e=>Ko(e,vR,mN),xR=e=>Ko(e,"position",mN),wR=new Set(["image","url"]),bR=e=>Ko(e,wR,jR),SR=e=>Ko(e,"",_R),ua=()=>!0,Ko=(e,t,n)=>{const r=hN.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):n(r[2]):!1},NR=e=>fR.test(e)&&!pR.test(e),mN=()=>!1,_R=e=>hR.test(e),jR=e=>mR.test(e),CR=()=>{const e=Be("colors"),t=Be("spacing"),n=Be("blur"),r=Be("brightness"),s=Be("borderColor"),i=Be("borderRadius"),o=Be("borderSpacing"),l=Be("borderWidth"),c=Be("contrast"),u=Be("grayscale"),d=Be("hueRotate"),f=Be("invert"),p=Be("gap"),y=Be("gradientColorStops"),b=Be("gradientCLine truncated
.`.concat(eF,` {
overflow: hidden `).concat(r,`;
padding-right: `).concat(l,"px ").concat(r,`;
}
body[`).concat(co,`] {
overflow: hidden `).concat(r,`;
overscroll-behavior: contain;
`).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&`
padding-left: `.concat(s,`px;
padding-top: `).concat(i,`px;
padding-right: `).concat(o,`px;
margin-left:0;
margin-top:0;
margin-right: `).concat(l,"px ").concat(r,`;
`),n==="padding"&&"padding-right: ".concat(l,"px ").concat(r,";")].filter(Boolean).join(""),`
}
.`).concat(Ac,` {
right: `).concat(l,"px ").concat(r,`;
}
.`).concat(Rc,` {
margin-right: `).concat(l,"px ").concat(r,`;
}
.`).concat(Ac," .").concat(Ac,` {
right: 0 `).concat(r,`;
}
.`).concat(Rc," .").concat(Rc,` {
margin-right: 0 `).concat(r,`;
}
body[`).concat(co,`] {
`).concat(tF,": ").concat(l,`px;
}
`)},ny=function(){var e=parseInt(document.body.getAttribute(co)||"0",10);return isFinite(e)?e:0},wF=function(){h.useEffect(function(){return document.body.setAttribute(co,(ny()+1).toString()),function(){var e=ny()-1;e<=0?document.body.removeAttribute(co):document.body.setAttribute(co,e.toString())}},[])},bF=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,s=r===void 0?"margin":r;wF();var i=h.useMemo(function(){return vF(s)},[s]);return h.createElement(yF,{styles:xF(i,!t,s,n?"":"!important")})},Up=!1;if(typeof window<"u")try{var lc=Object.defineProperty({},"passive",{get:function(){return Up=!0,!0}});window.addEventListener("test",lc,lc),window.removeEventListener("test",lc,lc)}catch{Up=!1}var bi=Up?{passive:!1}:!1,SF=function(e){return e.tagName==="TEXTAREA"},IC=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!SF(e)&&n[t]==="visible")},NF=function(e){return IC(e,"overflowY")},_F=function(e){return IC(e,"overflowX")},ry=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var s=DC(e,r);if(s){var i=OC(e,r),o=i[1],l=i[2];if(o>l)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},jF=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},CF=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},DC=function(e,t){return e==="v"?NF(t):_F(t)},OC=function(e,t){return e==="v"?jF(t):CF(t)},EF=function(e,t){return e==="h"&&t==="rtl"?-1:1},TF=function(e,t,n,r,s){var i=EF(e,window.getComputedStyle(t).direction),o=i*r,l=n.target,c=t.contains(l),u=!1,d=o>0,f=0,p=0;do{var y=OC(e,l),b=y[0],g=y[1],w=y[2],v=g-w-i*b;(b||v)&&DC(e,l)&&(f+=v,p+=b),l instanceof ShadowRoot?l=l.host:l=l.parentNode}while(!c&&l!==document.body||c&&(t.contains(l)||t===l));return(d&&(Math.abs(f)<1||!s)||!d&&(Math.abs(p)<1||!s))&&(u=!0),u},cc=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},sy=function(e){return[e.deltaX,e.deltaY]},iy=function(e){return e&&"current"in e?e.current:e},kF=function(e,t){return e[0]===t[0]&&e[1]===t[1]},PF=function(e){return`
.block-interactivity-`.concat(e,` {pointer-events: none;}
.allow-interactivity-`).concat(e,` {pointer-events: all;}
`)},AF=0,Si=[];function RF(e){var t=h.useRef([]),n=h.useRef([0,0]),r=h.useRef(),s=h.useState(AF++)[0],i=h.useState(RC)[0],o=h.useRef(e);h.useEffect(function(){o.current=e},[e]),h.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(s));var g=JM([e.lockRef.current],(e.shards||[]).map(iy),!0).filter(Boolean);return g.forEach(function(w){return w.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),g.forEach(function(w){return w.classList.remove("allow-interactivity-".concat(s))})}}},[e.inert,e.lockRef.current,e.shards]);var l=h.useCallback(function(g,w){if("touches"in g&&g.touches.length===2||g.type==="wheel"&&g.ctrlKey)return!o.current.allowPinchZoom;var v=cc(g),m=n.current,x="deltaX"in g?g.deltaX:m[0]-v[0],j="deltaY"in g?g.deltaY:m[1]-v[1],T,S=g.target,N=Math.abs(x)>Math.abs(j)?"h":"v";if("touches"in g&&N==="h"&&S.type==="range")return!1;var _=ry(N,S);if(!_)return!0;if(_?T=N:(T=N==="v"?"h":"v",_=ry(N,S)),!_)return!1;if(!r.current&&"changedTouches"in g&&(x||j)&&(r.current=T),!T)return!0;var E=r.current||T;return TF(E,w,g,E==="h"?x:j,!0)},[]),c=h.useCallback(function(g){var w=g;if(!(!Si.length||Si[Si.length-1]!==i)){var v="deltaY"in w?sy(w):cc(w),m=t.current.filter(function(T){return T.name===w.type&&(T.target===w.target||w.target===T.shadowParent)&&kF(T.delta,v)})[0];if(m&&m.should){w.cancelable&&w.preventDefault();return}if(!m){var x=(o.current.shards||[]).map(iy).filter(Boolean).filter(function(T){return T.contains(w.target)}),j=x.length>0?l(w,x[0]):!o.current.noIsolation;j&&w.cancelable&&w.preventDefault()}}},[]),u=h.useCallback(function(g,w,v,m){var x={name:g,delta:w,target:v,should:m,shadowParent:IF(v)};t.current.push(x),setTimeout(function(){t.current=t.current.filter(function(j){return j!==x})},1)},[]),d=h.useCallback(function(g){n.current=cc(g),r.current=void 0},[]),f=h.useCallback(function(g){u(g.type,sy(g),g.target,l(g,e.lockRef.current))},[]),p=h.useCallback(function(g){u(g.type,cc(g),g.target,l(g,e.lockRef.current))},[]);h.useEffect(function(){return Si.push(i),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener("wheel",c,bi),document.addEventListener("touchmove",c,bi),document.addEventListener("touchstart",d,bi),function(){Si=Si.filter(function(g){return g!==i}),document.removeEventListener("wheel",c,bi),document.removeEventListener("touchmove",c,bi),document.removeEventListener("touchstart",d,bi)}},[]);var y=e.removeScrollBar,b=e.inert;return h.createElement(h.Fragment,null,b?h.createElement(i,{styles:PF(s)}):null,y?h.createElement(bF,{gapMode:e.gapMode}):null)}function IF(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const DF=lF(AC,RF);var jm=h.forwardRef(function(e,t){return h.createElement(nd,er({},e,{ref:t,sideCar:DF}))});jm.classNames=nd.classNames;var OF=[" ","Enter","ArrowUp","ArrowDown"],MF=[" ","Enter"],Fl="Select",[rd,sd,FF]=Xh(Fl),[ea,kL]=Dr(Fl,[FF,Gu]),id=Gu(),[LF,As]=ea(Fl),[VF,zF]=ea(Fl),MC=e=>{const{__scopeSelect:t,children:n,open:r,defaultOpen:s,onOpenChange:i,value:o,defaultValue:l,onValueChange:c,dir:u,name:d,autoComplete:f,disabled:p,required:y,form:b}=e,g=id(t),[w,v]=h.useState(null),[m,x]=h.useState(null),[j,T]=h.useState(!1),S=Nm(u),[N=!1,_]=Do({prop:r,defaultProp:s,onChange:i}),[E,I]=Do({prop:o,defaultProp:l,onChange:c}),H=h.useRef(null),M=w?b||!!w.closest("form"):!0,[z,F]=h.useState(new Set),ee=Array.from(z).map(q=>q.props.value).join(";");return a.jsx(zI,{...g,children:a.jsxs(LF,{required:y,scope:t,trigger:w,onTriggerChange:v,valueNode:m,onValueNodeChange:x,valueNodeHasChildren:j,onValueNodeHasChildrenChange:T,contentId:vs(),value:E,onValueChange:I,open:N,onOpenChange:_,dir:S,triggerPointerDownPosRef:H,disabled:p,children:[a.jsx(rd.Provider,{scope:t,children:a.jsx(VF,{scope:e.__scopeSelect,onNativeOptionAdd:h.useCallback(q=>{F(oe=>new Set(oe).add(q))},[]),onNativeOptionRemove:h.useCallback(q=>{F(oe=>{const D=new Set(oe);return D.delete(q),D})},[]),children:n})}),M?a.jsxs(aE,{"aria-hidden":!0,required:y,tabIndex:-1,name:d,autoComplete:f,value:E,onChange:q=>I(q.target.value),disabled:p,form:b,children:[E===void 0?a.jsx("option",{value:""}):null,Array.from(z)]},ee):null]})})};MC.displayName=Fl;var FC="SelectTrigger",LC=h.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...s}=e,i=id(n),o=As(FC,n),l=o.disabled||r,c=ze(t,o.onTriggerChange),u=sd(n),d=h.useRef("touch"),[f,p,y]=lE(g=>{const w=u().filter(x=>!x.disabled),v=w.find(x=>x.value===o.value),m=cE(w,g,v);m!==void 0&&o.onValueChange(m.value)}),b=g=>{l||(o.onOpenChange(!0),y()),g&&(o.triggerPointerDownPosRef.current={x:Math.round(g.pageX),y:Math.round(g.pageY)})};return a.jsx($N,{asChild:!0,...i,children:a.jsx(_e.button,{type:"button",role:"combobox","aria-controls":o.contentId,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":"none",dir:o.dir,"data-state":o.open?"open":"closed",disabled:l," Line truncated
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return h.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},V4="DialogDescriptionWarning",z4=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${nT(V4).contentName}}.`;return h.useEffect(()=>{var i;const s=(i=e.current)==null?void 0:i.getAttribute("aria-describedby");t&&s&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},rT=UE,sT=WE,iT=QE,Om=qE,Mm=ZE,Fm=GE,Lm=YE,Vm=eT;const zi=rT,ay=sT,$4=iT,oT=h.forwardRef(({className:e,...t},n)=>a.jsx(Om,{ref:n,className:ie("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));oT.displayName=Om.displayName;const $s=h.forwardRef(({className:e,children:t,...n},r)=>a.jsxs($4,{children:[a.jsx(oT,{}),a.jsxs(Mm,{ref:r,className:ie("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...n,children:[t,a.jsxs(Vm,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[a.jsx(Oo,{className:"h-4 w-4"}),a.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));$s.displayName=Mm.displayName;const Us=({className:e,...t})=>a.jsx("div",{className:ie("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});Us.displayName="DialogHeader";const Bs=h.forwardRef(({className:e,...t},n)=>a.jsx(Fm,{ref:n,className:ie("text-lg font-semibold leading-none tracking-tight",e),...t}));Bs.displayName=Fm.displayName;const Sa=h.forwardRef(({className:e,...t},n)=>a.jsx(Lm,{ref:n,className:ie("text-sm text-muted-foreground",e),...t}));Sa.displayName=Lm.displayName;function U4({isOpen:e,photoType:t,videoRef:n,canvasRef:r,isCapturing:s,onClose:i,onCapture:o}){return h.useEffect(()=>{if(console.log("SimpleCameraModal - isOpen:",e),e&&n.current){console.log("SimpleCameraModal - Video element available");const l=n.current;l.onloadedmetadata=()=>{console.log("SimpleCameraModal - Video metadata loaded:",l.videoWidth,"x",l.videoHeight)},l.onplay=()=>{console.log("SimpleCameraModal - Video started playing")},l.onerror=c=>{console.error("SimpleCameraModal - Video error:",c)}}},[e,n]),e?a.jsx(zi,{open:e,onOpenChange:i,children:a.jsxs($s,{className:"max-w-2xl w-full mx-auto",children:[a.jsx(Us,{children:a.jsxs(Bs,{className:"text-center",children:["Capture photo ",t?t.charAt(0).toUpperCase()+t.slice(1):""]})}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"relative bg-black rounded-lg overflow-hidden",children:[a.jsx("video",{ref:n,autoPlay:!0,playsInline:!0,muted:!0,className:"w-full h-auto max-h-96",style:{minHeight:"200px",objectFit:"cover"}}),a.jsx("canvas",{ref:r,className:"hidden"}),a.jsxs("div",{className:"absolute inset-0 pointer-events-none",children:[a.jsx("div",{className:"absolute inset-4 border-2 border-white border-dashed rounded-lg opacity-80"}),a.jsx("div",{className:"absolute bottom-4 left-4 text-white text-sm bg-black bg-opacity-75 px-3 py-2 rounded",children:"Cadrez votre pièce d'identité dans le rectangle"}),a.jsx("div",{className:"absolute top-4 right-4 text-white text-sm bg-black bg-opacity-75 px-3 py-2 rounded",children:t==="recto"?"RECTO":"VERSO"})]})]}),a.jsxs("div",{className:"flex justify-center space-x-4",children:[a.jsxs(je,{variant:"outline",onClick:i,className:"flex-1 max-w-32",children:[a.jsx(Oo,{className:"h-4 w-4 mr-2"}),"Annuler"]}),a.jsxs(je,{onClick:o,disabled:s,className:"bg-green-600 hover:bg-green-700 text-white flex-1 max-w-40",children:[a.jsx(Cc,{className:"h-4 w-4 mr-2"}),s?"Capture...":"Capturer"]})]})]})]})}):null}function B4(){const{toast:e}=Zo(),t=qo(),{user:n}=Yo(),{selectedStoreId:r}=Pm(),[s,i]=h.useState(!1),{isOpen:o,currentPhotoType:l,isCapturing:c,videoRef:u,canvasRef:d,startCamera:f,capturePhoto:p,stopCamera:y}=C4(),b=Fi({defaultValues:{vendeur:"",products:[{typeArticle:"",categorie:"",quantite:"",gencode:""}],nom:"",prenom:"",dateNaissance:"",lieuNaissance:"",modePaiement:"Espèce",typeIdentite:"",numeroIdentite:"",autoriteDelivrance:"",dateDelivrance:"",photoRecto:"",photoVerso:"",photoTicket:""}}),{fields:g,append:w,remove:v}=CD({control:b.control,name:"products"}),m=Qt({mutationFn:async S=>{const N={...S,...(n==null?void 0:n.role)==="admin"& Line truncated
You can add a description to the \`${uo}\` by passing a \`${mT}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${uo}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return h.useEffect(()=>{var r;document.getElementById((r=e.current)==null?void 0:r.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},tL=lT,nL=cT,rL=uT,wT=dT,bT=fT,ST=vT,NT=xT,_T=hT,jT=gT;const Na=tL,_a=nL,sL=rL,CT=h.forwardRef(({className:e,...t},n)=>a.jsx(wT,{className:ie("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:n}));CT.displayName=wT.displayName;const $i=h.forwardRef(({className:e,...t},n)=>a.jsxs(sL,{children:[a.jsx(CT,{}),a.jsx(bT,{ref:n,className:ie("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...t})]}));$i.displayName=bT.displayName;const Ui=({className:e,...t})=>a.jsx("div",{className:ie("flex flex-col space-y-2 text-center sm:text-left",e),...t});Ui.displayName="AlertDialogHeader";const Bi=({className:e,...t})=>a.jsx("div",{className:ie("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Bi.displayName="AlertDialogFooter";const Wi=h.forwardRef(({className:e,...t},n)=>a.jsx(_T,{ref:n,className:ie("text-lg font-semibold",e),...t}));Wi.displayName=_T.displayName;const Hi=h.forwardRef(({className:e,...t},n)=>a.jsx(jT,{ref:n,className:ie("text-sm text-muted-foreground",e),...t}));Hi.displayName=jT.displayName;const Qi=h.forwardRef(({className:e,...t},n)=>a.jsx(ST,{ref:n,className:ie(vm(),e),...t}));Qi.displayName=ST.displayName;const qi=h.forwardRef(({className:e,...t},n)=>a.jsx(NT,{ref:n,className:ie(vm({variant:"outline"}),"mt-2 sm:mt-0",e),...t}));qi.displayName=NT.displayName;async function iL(e){if(e.length!==0)try{const t=await Ic(()=>import("./exceljs.min-ZPdsRp2H.js").then(d=>d.e),[]),n=new t.Workbook,r=n.addWorksheet("Ventes");r.columns=[{header:"ID Vente",key:"id",width:8},{header:"Date",key:"date",width:12},{header:"Heure",key:"heure",width:8},{header:"Vendeur",key:"vendeur",width:15},{header:"Nom",key:"nom",width:15},{header:"Prénom",key:"prenom",width:15},{header:"Date de naissance",key:"dateNaissance",width:15},{header:"Lieu de naissance",key:"lieuNaissance",width:20},{header:"Type d'identité",key:"typeIdentite",width:15},{header:"Numéro d'identité",key:"numeroIdentite",width:15},{header:"Autorité de délivrance",key:"autoriteDeLivrance",width:20},{header:"Date de délivrance",key:"dateDelivrance",width:15},{header:"Mode de paiement",key:"modePaiement",width:15},{header:"Produit N°",key:"produitNumero",width:8},{header:"Type d'article",key:"typeArticle",width:20},{header:"Catégorie",key:"categorie",width:15},{header:"Quantité",key:"quantite",width:8},{header:"Code générique",key:"gencode",width:15}],e.forEach(d=>{d.products&&d.products.length>0?d.products.forEach((f,p)=>{r.addRow({id:d.id,date:fo(d.timestamp),heure:new Date(d.timestamp).toLocaleTimeString("fr-FR"),vendeur:d.vendeur,nom:d.nom,prenom:d.prenom,dateNaissance:d.dateNaissance||"",lieuNaissance:d.lieuNaissance||"",typeIdentite:d.typeIdentite||"",numeroIdentite:d.numeroIdentite||"",autoriteDeLivrance:d.autoriteDelivrance||"",dateDelivrance:d.dateDelivrance||"",modePaiement:d.modePaiement||"",produitNumero:p+1,typeArticle:f.typeArticle,categorie:f.categorie,quantite:f.quantite,gencode:f.gencode||""})}):r.addRow({id:d.id,date:fo(d.timestamp),heure:new Date(d.timestamp).toLocaleTimeString("fr-FR"),vendeur:d.vendeur,nom:d.nom,prenom:d.prenom,dateNaissance:d.dateNaissance||"",lieuNaissance:d.lieuNaissance||"",typeIdentite:d.typeIdentite||"",numeroIdentite:d.numeroIdentite||"",autoriteDeLivrance:d.autoriteDelivrance||"",dateDelivrance:d.dateDelivrance||"",modePaiement:d.modePaiement||"",produitNumero:"N/A",typeArticle:"N/A",categorie:"N/A",quantite:0,gencode:""})});const s=e.filter(d=>d.photo_recto||d.photo_verso||d.photo_ticket);if(s.length>0){const d=n.addWorksheet("Photos");d.columns=[{header:"ID Vente",key:"id",width:10},{header:"Date",key:"date",width:12},{header:"Client",key:"client",width:25},{header:"Vendeur",key:"vendeur",width:15},{header:"Photo Recto",key:"photoRecto",width:25},{header:"Photo Verso",key:"photoVerso",width:25},{header:"Photo Ticket",key:"photoTicket",width:25}];for(let f=0;f<s.length;f++){const p=s[f],y=f+2;d.addRow({id:p.id,date:fo(p.timestamp),client:`${p.nom} ${p.prenom}`,vendeur:p.vendeur,photoRecto:p.photo_recto?"Image intégrée ci-dessous":"Non disponible",photoVerso:p.photo_verso?"Image intégrée ci-dessous":"Non disponible",photoTicket:p.photo_ticket?"Image intégrée ci-dessous":"Non d Line truncated
+18
View File
@@ -0,0 +1,18 @@
import{c as Qe,g as Lo}from"./index-JGS-T_I_.js";import{_ as Ha}from"./jspdf.es.min-D4l-ggWr.js";var ht=function(a){return a&&a.Math===Math&&a},_=ht(typeof globalThis=="object"&&globalThis)||ht(typeof window=="object"&&window)||ht(typeof self=="object"&&self)||ht(typeof Qe=="object"&&Qe)||ht(typeof Qe=="object"&&Qe)||function(){return this}()||Function("return this")(),Et={},D=function(a){try{return!!a()}catch{return!0}},Pl=D,he=!Pl(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7}),Rl=D,br=!Rl(function(){var a=(function(){}).bind();return typeof a!="function"||a.hasOwnProperty("prototype")}),Nl=br,Ft=Function.prototype.call,Y=Nl?Ft.bind(Ft):function(){return Ft.apply(Ft,arguments)},ko={},Bo={}.propertyIsEnumerable,jo=Object.getOwnPropertyDescriptor,Il=jo&&!Bo.call({1:2},1);ko.f=Il?function(e){var t=jo(this,e);return!!t&&t.enumerable}:Bo;var Oi=function(a,e){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:e}},Fo=br,Uo=Function.prototype,Ya=Uo.call,Ml=Fo&&Uo.bind.bind(Ya,Ya),L=Fo?Ml:function(a){return function(){return Ya.apply(a,arguments)}},Go=L,_l=Go({}.toString),Vl=Go("".slice),je=function(a){return Vl(_l(a),8,-1)},Dl=L,Ll=D,kl=je,Zr=Object,Bl=Dl("".split),zo=Ll(function(){return!Zr("z").propertyIsEnumerable(0)})?function(a){return kl(a)==="String"?Bl(a,""):Zr(a)}:Zr,xr=function(a){return a==null},jl=xr,Fl=TypeError,ve=function(a){if(jl(a))throw new Fl("Can't call method on "+a);return a},Ul=zo,Gl=ve,$t=function(a){return Ul(Gl(a))},Jr=typeof document=="object"&&document.all,B=typeof Jr>"u"&&Jr!==void 0?function(a){return typeof a=="function"||a===Jr}:function(a){return typeof a=="function"},zl=B,ae=function(a){return typeof a=="object"?a!==null:zl(a)},ea=_,Hl=B,Yl=function(a){return Hl(a)?a:void 0},Fe=function(a,e){return arguments.length<2?Yl(ea[a]):ea[a]&&ea[a][e]},Xl=L,Tr=Xl({}.isPrototypeOf),Wl=_,yn=Wl.navigator,mn=yn&&yn.userAgent,wt=mn?String(mn):"",Ho=_,ta=wt,bn=Ho.process,xn=Ho.Deno,Tn=bn&&bn.versions||xn&&xn.version,On=Tn&&Tn.v8,le,cr;On&&(le=On.split("."),cr=le[0]>0&&le[0]<4?1:+(le[0]+le[1]));!cr&&ta&&(le=ta.match(/Edge\/(\d+)/),(!le||le[1]>=74)&&(le=ta.match(/Chrome\/(\d+)/),le&&(cr=+le[1])));var Si=cr,Sn=Si,ql=D,Ql=_,Kl=Ql.String,Yo=!!Object.getOwnPropertySymbols&&!ql(function(){var a=Symbol("symbol detection");return!Kl(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&Sn&&Sn<41}),Zl=Yo,Xo=Zl&&!Symbol.sham&&typeof Symbol.iterator=="symbol",Jl=Fe,eh=B,th=Tr,rh=Xo,ah=Object,Wo=rh?function(a){return typeof a=="symbol"}:function(a){var e=Jl("Symbol");return eh(e)&&th(e.prototype,ah(a))},ih=String,Or=function(a){try{return ih(a)}catch{return"Object"}},nh=B,sh=Or,oh=TypeError,Te=function(a){if(nh(a))return a;throw new oh(sh(a)+" is not a function")},uh=Te,lh=xr,st=function(a,e){var t=a[e];return lh(t)?void 0:uh(t)},ra=Y,aa=B,ia=ae,hh=TypeError,vh=function(a,e){var t,r;if(e==="string"&&aa(t=a.toString)&&!ia(r=ra(t,a))||aa(t=a.valueOf)&&!ia(r=ra(t,a))||e!=="string"&&aa(t=a.toString)&&!ia(r=ra(t,a)))return r;throw new hh("Can't convert object to primitive value")},qo={exports:{}},En=_,fh=Object.defineProperty,Ei=function(a,e){try{fh(En,a,{value:e,configurable:!0,writable:!0})}catch{En[a]=e}return e},ch=_,gh=Ei,$n="__core-js_shared__",wn=qo.exports=ch[$n]||gh($n,{});(wn.versions||(wn.versions=[])).push({version:"3.44.0",mode:"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.44.0/LICENSE",source:"https://github.com/zloirock/core-js"});var $i=qo.exports,Cn=$i,wi=function(a,e){return Cn[a]||(Cn[a]=e||{})},dh=ve,ph=Object,Sr=function(a){return ph(dh(a))},yh=L,mh=Sr,bh=yh({}.hasOwnProperty),fe=Object.hasOwn||function(e,t){return bh(mh(e),t)},xh=L,Th=0,Oh=Math.random(),Sh=xh(1.1.toString),Qo=function(a){return"Symbol("+(a===void 0?"":a)+")_"+Sh(++Th+Oh,36)},Eh=_,$h=wi,An=fe,wh=Qo,Ch=Yo,Ah=Xo,Ke=Eh.Symbol,na=$h("wks"),Ph=Ah?Ke.for||Ke:Ke&&Ke.withoutSetter||wh,z=function(a){return An(na,a)||(na[a]=Ch&&An(Ke,a)?Ke[a]:Ph("Symbol."+a)),na[a]},Rh=Y,Pn=ae,Rn=Wo,Nh=st,Ih=vh,Mh=z,_h=TypeError,Vh=Mh("toPrimitive"),Dh=function(a,e){if(!Pn(a)||Rn(a))return a;var t=Nh(a,Vh),r;if(t){if(e===void 0&&(e="default"),r=Rh(t,a,e),!Pn(r)||Rn(r))return r;throw new _h("Can't convert object to primitive value")}return e===void 0&&(e="number"),Ih(a,e)},Lh=Dh,kh=Wo,Ko=function(a){var e=Lh(a,"string");return kh(e)?e:e+""},Bh=_,Nn=ae,Xa=Bh.document,jh=Nn(Xa)&&Nn(Xa.createElement),Er=function(a){return jh?Xa.createElement(a):{}},Fh=he,Uh=D,Gh=Er,Zo=!Fh&&!Uh(function(){return Object.defineProperty(Gh("div"),"a",{get:function(){return 7}}).a!==7}),zh=he,Hh=Y,Yh=ko,Xh=Oi,Wh=$t,qh=Ko,Qh=fe,Kh=Zo,In=Object.getOwnPropertyDescriptor;Et.f=zh?In:function(e,t){if(e=Wh(e),t=qh(t),Kh)try{return In(e,t)}catch{}if(Qh(e,t))return Xh(!Hh(Yh.f,e,t),e[t])};var Oe={},Zh=he,Jh=D,Jo=Zh&&Jh(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),ev=ae,tv=String,rv=TypeError,J=function(a){if(evLine truncated
`)&&a.flags==="s")}),Lp=D,kp=_,Bp=kp.RegExp,jp=Lp(function(){var a=Bp("(?<a>b)","g");return a.exec("b").groups.a!=="b"||"b".replace(a,"$<a>c")!=="bc"}),Je=Y,Mr=L,Fp=pe,Up=Hu,Gp=Yu,zp=wi,Hp=Yi,Yp=wr.get,Xp=Dp,Wp=jp,qp=zp("native-string-replace",String.prototype.replace),mr=RegExp.prototype.exec,ui=mr,Qp=Mr("".charAt),Kp=Mr("".indexOf),Zp=Mr("".replace),$a=Mr("".slice),li=function(){var a=/a/,e=/b*/g;return Je(mr,a,"a"),Je(mr,e,"a"),a.lastIndex!==0||e.lastIndex!==0}(),Qu=Gp.BROKEN_CARET,hi=/()??/.exec("")[1]!==void 0,Jp=li||hi||Qu||Xp||Wp;Jp&&(ui=function(e){var t=this,r=Yp(t),i=Fp(e),n=r.raw,o,s,u,l,h,f,c;if(n)return n.lastIndex=t.lastIndex,o=Je(ui,n,i),t.lastIndex=n.lastIndex,o;var v=r.groups,g=Qu&&t.sticky,d=Je(Up,t),p=t.source,y=0,x=i;if(g&&(d=Zp(d,"y",""),Kp(d,"g")===-1&&(d+="g"),x=$a(i,t.lastIndex),t.lastIndex>0&&(!t.multiline||t.multiline&&Qp(i,t.lastIndex-1)!==`
`)&&(p="(?: "+p+")",x=" "+x,y++),s=new RegExp("^(?:"+p+")",d)),hi&&(s=new RegExp("^"+p+"$(?!\\s)",d)),li&&(u=t.lastIndex),l=Je(mr,g?s:t,x),g?l?(l.input=$a(l.input,y),l[0]=$a(l[0],y),l.index=t.lastIndex,t.lastIndex+=l[0].length):t.lastIndex=0:li&&l&&(t.lastIndex=t.global?l.index+l[0].length:u),hi&&l&&l.length>1&&Je(qp,l[0],s,function(){for(h=1;h<arguments.length-2;h++)arguments[h]===void 0&&(l[h]=void 0)}),l&&v)for(l.groups=f=Hp(null),h=0;h<v.length;h++)c=v[h],f[c[0]]=l[c[1]];return l});var Xi=ui,ey=ee,As=Xi;ey({target:"RegExp",proto:!0,forced:/./.exec!==As},{exec:As});var Ps=Y,Rs=Ue,ty=Xi,Ns=D,Ku=z,ry=Ct,ay=Ku("species"),wa=RegExp.prototype,Wi=function(a,e,t,r){var i=Ku(a),n=!Ns(function(){var l={};return l[i]=function(){return 7},""[a](l)!==7}),o=n&&!Ns(function(){var l=!1,h=/a/;return a==="split"&&(h={},h.constructor={},h.constructor[ay]=function(){return h},h.flags="",h[i]=/./[i]),h.exec=function(){return l=!0,null},h[i](""),!l});if(!n||!o||t){var s=/./[i],u=e(i,""[a],function(l,h,f,c,v){var g=h.exec;return g===ty||g===wa.exec?n&&!v?{done:!0,value:Ps(s,h,f,c)}:{done:!0,value:Ps(l,f,h,c)}:{done:!1}});Rs(String.prototype,a,u[0]),Rs(wa,i,u[1])}r&&ry(wa[i],"sham",!0)},qi=L,iy=Cr,ny=pe,sy=ve,oy=qi("".charAt),Is=qi("".charCodeAt),uy=qi("".slice),Ms=function(a){return function(e,t){var r=ny(sy(e)),i=iy(t),n=r.length,o,s;return i<0||i>=n?a?"":void 0:(o=Is(r,i),o<55296||o>56319||i+1===n||(s=Is(r,i+1))<56320||s>57343?a?oy(r,i):o:a?uy(r,i,i+2):(o-55296<<10)+(s-56320)+65536)}},ly={codeAt:Ms(!1),charAt:Ms(!0)},hy=ly.charAt,Qi=function(a,e,t){return e+(t?hy(a,e).length:1)},vy=_,fy=D,_s=vy.RegExp,cy=!fy(function(){var a=!0;try{_s(".","d")}catch{a=!1}var e={},t="",r=a?"dgimsy":"gimsy",i=function(u,l){Object.defineProperty(e,u,{get:function(){return t+=l,!0}})},n={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};a&&(n.hasIndices="d");for(var o in n)i(o,n[o]);var s=Object.getOwnPropertyDescriptor(_s.prototype,"flags").get.call(e);return s!==r||t!==r}),gy={correct:cy},dy=Y,py=fe,yy=Tr,Vs=gy,my=Hu,by=RegExp.prototype,Ki=Vs.correct?function(a){return a.flags}:function(a){return!Vs.correct&&yy(by,a)&&!py(a,"flags")?dy(my,a):a.flags},Ds=Y,xy=J,Ty=B,Oy=je,Sy=Xi,Ey=TypeError,Zi=function(a,e){var t=a.exec;if(Ty(t)){var r=Ds(t,a,e);return r!==null&&xy(r),r}if(Oy(a)==="RegExp")return Ds(Sy,a,e);throw new Ey("RegExp#exec called on incompatible receiver")},$y=Y,wy=L,Cy=Wi,Ay=J,Py=ae,Ry=ot,Jt=pe,Ny=ve,Iy=st,My=Qi,_y=Ki,Ls=Zi,ks=wy("".indexOf);Cy("match",function(a,e,t){return[function(i){var n=Ny(this),o=Py(i)?Iy(i,a):void 0;return o?$y(o,i,n):new RegExp(i)[a](Jt(n))},function(r){var i=Ay(this),n=Jt(r),o=t(e,i,n);if(o.done)return o.value;var s=Jt(_y(i));if(ks(s,"g")===-1)return Ls(i,n);var u=ks(s,"u")!==-1;i.lastIndex=0;for(var l=[],h=0,f;(f=Ls(i,n))!==null;){var c=Jt(f[0]);l[h]=c,c===""&&(i.lastIndex=My(n,Ry(i.lastIndex),u)),h++}return h===0?null:l}]});var Ji=L,Vy=Sr,Dy=Math.floor,Ca=Ji("".charAt),Ly=Ji("".replace),Aa=Ji("".slice),ky=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,By=/\$([$&'`]|\d{1,2})/g,jy=function(a,e,t,r,i,n){var o=t+a.length,s=r.length,u=By;return i!==void 0&&(i=Vy(i),u=ky),Ly(n,u,function(l,h){var f;switch(Ca(h,0)){case"$":return"$";case"&":return a;case"`":return Aa(e,0,t);case"'":return Aa(e,o);case"<":f=i[Aa(h,1,-1)];break;default:var c=+h;if(c===0)return l;if(c>s){var v=Dy(c/10);return v===0?l:v<=s?r[v-1]===void 0?Ca(h,1):r[v-1]+Ca(h,1):l}f=r[c-1]}return f===void 0?"":f})},Fy=bu,Bs=Y,_r=L,Uy=Wi,Gy=D,zy=J,Hy=B,Yy=ae,Xy=Cr,Wy=ot,Me=pe,qy=ve,Qy=Qi,Ky=st,Zy=jy,Jy=Ki,em=Zi,tm=z,vi=tm("replace"),rm=Math.max,am=Math.min,im=_r([].concat),Pa=_r([].push),er=_r("".indexOf),js=_r("".slice),nm=function(a){return a===void 0?a:String(a)},sm=function(){return"a".replace(/./,"$0")==="$0"}(),Fs=function(){return/./[vi]?/./[vi]("a","$0")==="":!1}(),om=!Gy(function(){var a=/./;return a.exec=function(){var e=[];return e.groups={a:"7"},e},"".replace(a,"$<a>")!=="7"});Uy("replace",function(a,e,t){var r=Fs?"$":"$0";return[function(n,o){var s=qy(this),u=Yy(n)?Ky(n,vi):void 0;return u?Bs(u,n,s,o):Bs(e,Me(s),n,o)},function(i,n){var o=zy(this),s=Me(i);if(typeof n=="string"&&er(n,r)===-1&&er(n,"$<")===-1){var u=t(e,o,s,n);if(u.done)return u.value}var l=Hy(n);l||(n=Me(n));var h=Me(Jy(o)),f=er(h,"g")!==-1,c;f&&(c=er(h,"u")!==-1,o.lastIndex=0);for(var v=[],g;g=em(o,s),!(g===null||(Pa(v,g),!f));){var d=Me(g[0]);d===""&&(o.lastIndex=Qy(s,Wy(o.lastIndex),c))}for(var p="",y=0,x=0;x<v.length;x++){g=v[x];for(var b=Me(g[0]),T=rm(am(Xy(g.index),s.length),0),$=[],E,O=1;O<g.length;O++)Pa($,nm(g[O]));var C=g.groups;if(l){var P=im([b],$,T,s);C!==void 0&&Pa(P,C),E=Me(Fy(n,void 0,P))}else E=Zy(b,s,T,$,C,n);T>=y&&(p+=js(s,y,T)+E,y=T+b.length)}return p+js(s,y)}]},!om||!sm||Fs);var um=ae,lm=je,hm=z,vm=hm("match"),fm=function(a){var e;return um(a)&&((e=a[vm])!==void 0?!!e:lm(a)==="RegExp")},cm=fm,gm=TypeError,en=function(a){if(cm(a))throw new gm("The method doesn't accept regular expressions");return a},dm=z,pm=dm("match"),tn=function(a){var e=/./;try{"/./"[aLine truncated
\v\f\r                 \u2028\u2029\uFEFF`,vb=L,fb=ve,cb=pe,pi=vl,ho=vb("".replace),gb=RegExp("^["+pi+"]+"),db=RegExp("(^|[^"+pi+"])["+pi+"]+$"),Ua=function(a){return function(e){var t=cb(fb(e));return a&1&&(t=ho(t,gb,"")),a&2&&(t=ho(t,db,"$1")),t}},pb={start:Ua(1),end:Ua(2),trim:Ua(3)},yb=$r.PROPER,mb=D,vo=vl,fo="​…᠎",bb=function(a){return mb(function(){return!!vo[a]()||fo[a]()!==fo||yb&&vo[a].name!==a})},xb=ee,Tb=pb.trim,Ob=bb;xb({target:"String",proto:!0,forced:Ob("trim")},{trim:function(){return Tb(this)}});var Sb=function(a){this.ok=!1,this.alpha=1,a.charAt(0)=="#"&&(a=a.substr(1,6)),a=a.replace(/ /g,""),a=a.toLowerCase();var e={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};a=e[a]||a;for(var t=[{re:/^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*((?:\d?\.)?\d)\)$/,example:["rgba(123, 234, 45, 0.8)","rgba(255,234,245,1.0)"],process:function(u){return[parseInt(u[1]),parseInt(u[2]),parseInt(u[3]),parseFloat(u[4])]}},{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(u){return[parseInt(u[1]),parseInt(u[2]),parseInt(u[3])]}},{re:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,example:["#00ff00","336699"],process:function(u){return[parseInt(u[1],16),parseInt(u[2],16),parseInt(u[3],16)]}},{re:/^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,example:["#fb0","f0f"],process:function(u){return[parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16),parseInt(u[3]+u[3],16)]}}],r=0;r<t.length;r++){var i=t[r].re,n=t[r].process,o=i.exec(a);if(o){var s=n(o);this.r=s[0],this.g=s[1],this.b=s[2],s.length>3&&(this.alpha=s[3]),this.ok=!0}}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.alpha=this.alpha<0?0:this.alpha>1||isNaN(this.alpha)?1:this.alpha,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toRGBA=function(){return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.alpha+")"},this.toHex=function(){var u=this.r.toString(16),l=this.g.toString(16),h=this.b.toString(16);return u.length==1&&(u="0"+u),l.length==1&&(l="0"+l),h.length==1&&(h="0"+h),"#"+u+l+h},this.getHelpXML=function(){for(var u=new Array,l=0;l<t.length;l++)for(var h=t[l].example,f=0 Line truncated
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var cl=function(a,e){return(cl=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])})(a,e)};function gl(a,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=a}cl(a,e),a.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function Fb(a){var e="";Array.isArray(a)||(a=[a]);for(var t=0;t<a.length;t++){var r=a[t];if(r.type===m.CLOSE_PATH)e+="z";else if(r.type===m.HORIZ_LINE_TO)e+=(r.relative?"h":"H")+r.x;else if(r.type===m.VERT_LINE_TO)e+=(r.relative?"v":"V")+r.y;else if(r.type===m.MOVE_TO)e+=(r.relative?"m":"M")+r.x+" "+r.y;else if(r.type===m.LINE_TO)e+=(r.relative?"l":"L")+r.x+" "+r.y;else if(r.type===m.CURVE_TO)e+=(r.relative?"c":"C")+r.x1+" "+r.y1+" "+r.x2+" "+r.y2+" "+r.x+" "+r.y;else if(r.type===m.SMOOTH_CURVE_TO)e+=(r.relative?"s":"S")+r.x2+" "+r.y2+" "+r.x+" "+r.y;else if(r.type===m.QUAD_TO)e+=(r.relative?"q":"Q")+r.x1+" "+r.y1+" "+r.x+" "+r.y;else if(r.type===m.SMOOTH_QUAD_TO)e+=(r.relative?"t":"T")+r.x+" "+r.y;else{if(r.type!==m.ARC)throw new Error('Unexpected command type "'+r.type+'" at index '+t+".");e+=(r.relative?"a":"A")+r.rX+" "+r.rY+" "+r.xRot+" "+ +r.lArcFlag+" "+ +r.sweepFlag+" "+r.x+" "+r.y}}return e}function bi(a,e){var t=a[0],r=a[1];return[t*Math.cos(e)-r*Math.sin(e),t*Math.sin(e)+r*Math.cos(e)]}function ue(){for(var a=[],e=0;e<arguments.length;e++)a[e]=arguments[e];for(var t=0;t<a.length;t++)if(typeof a[t]!="number")throw new Error("assertNumbers arguments["+t+"] is not a number. "+typeof a[t]+" == typeof "+a[t]);return!0}var Ee=Math.PI;function Ga(a,e,t){a.lArcFlag=a.lArcFlag===0?0:1,a.sweepFlag=a.sweepFlag===0?0:1;var r=a.rX,i=a.rY,n=a.x,o=a.y;r=Math.abs(a.rX),i=Math.abs(a.rY);var s=bi([(e-n)/2,(t-o)/2],-a.xRot/180*Ee),u=s[0],l=s[1],h=Math.pow(u,2)/Math.pow(r,2)+Math.pow(l,2)/Math.pow(i,2);1<h&&(r*=Math.sqrt(h),i*=Math.sqrt(h)),a.rX=r,a.rY=i;var f=Math.pow(r,2)*Math.pow(l,2)+Math.pow(i,2)*Math.pow(u,2),c=(a.lArcFlag!==a.sweepFlag?1:-1)*Math.sqrt(Math.max(0,(Math.pow(r,2)*Math.pow(i,2)-f)/f)),v=r*l/i*c,g=-i*u/r*c,d=bi([v,g],a.xRot/180*Ee);a.cX=d[0]+(e+n)/2,a.cY=d[1]+(t+o)/2,a.phi1=Math.atan2((l-g)/i,(u-v)/r),a.phi2=Math.atan2((-l-g)/i,(-u-v)/r),a.sweepFlag===0&&a.phi2>a.phi1&&(a.phi2-=2*Ee),a.sweepFlag===1&&a.phi2<a.phi1&&(a.phi2+=2*Ee),a.phi1*=180/Ee,a.phi2*=180/Ee}function po(a,e,t){ue(a,e,t);var r=a*a+e*e-t*t;if(0>r)return[];if(r===0)return[[a*t/(a*a+e*e),e*t/(a*a+e*e)]];var i=Math.sqrt(r);return[[(a*t+e*i)/(a*a+e*e),(e*t-a*i)/(a*a+e*e)],[(a*t-e*i)/(a*a+e*e),(e*t+a*i)/(a*a+e*e)]]}var U,ye=Math.PI/180;function yo(a,e,t){return(1-t)*a+t*e}function mo(a,e,t,r){return a+Math.cos(r/180*Ee)*e+Math.sin(r/180*Ee)*t}function bo(a,e,t,r){var i=1e-6,n=e-a,o=t-e,s=3*n+3*(r-t)-6*o,u=6*(o-n),l=3*n;return Math.abs(s)<i?[-l/u]:function(h,f,c){var v=h*h/4-f;if(v<-c)return[];if(v<=c)return[-h/2];var g=Math.sqrt(v);return[-h/2-g,-h/2+g]}(u/s,l/s,i)}function xo(a,e,t,r,i){var n=1-i;return a*(n*n*n)+e*(3*n*n*i)+t*(3*n*i*i)+r*(i*i*i)}(function(a){function e(){return i(function(s,u,l){return s.relative&&(s.x1!==void 0&&(s.x1+=u),s.y1!==void 0&&(s.y1+=l),s.x2!==void 0&&(s.x2+=u),s.y2!==void 0&&(s.y2+=l),s.x!==void 0&&(s.x+=u),s.y!==void 0&&(s.y+=l),s.relative=!1),s})}function t(){var s=NaN,u=NaN,l=NaN,h=NaN;return i(function(f,c,v){return f.type&m.SMOOTH_CURVE_TO&&(f.type=m.CURVE_TO,s=isNaN(s)?c:s,u=isNaN(u)?v:u,f.x1=f.relative?c-s:2*c-s,f.y1=f.relative?v-u:2*v-u),f.type&m.CURVE_TO?(s=f.relative?c+f.x2:f.x2,u=f.relative?v+f.y2:f.y2):(s=NaN,u=NaN),f.type&m.SMOOTH_QUAD_TO&&(f.type=m.QUAD_TO,l=isNaN(l)?c:l,h=isNaN(h)?v:h,f.x1=f.relative?c-l:2*c-l,f.y1=f.relative?v-h:2*v-h),f.type&m.QUAD_TO?(l=f.relative?c+f.x1:f.x1,h=f.relative?v+f.y1:f.y1):(l=NaN,h=NaN),f})}function r(){var s=NaN,u=NaN;return i(function(l,h,f){if(l.type&m.SMOOTH_QUAD_TO&&(l.type=m.QUAD_TO,s=isNaN(s)?h:s,u=isNaN(u)?f:u,l.x1=l.relative?h-s:2*h-s,l.y1=l.relative?f-u:2*f-u),l.type&m.QUAD_TO){s=l.relative?h+l.x1:l.x1,u=l.relative?f+l.y1:l.y1;var c=l.x1,v=l.y1;l.type=m.CURVE_TO,l.x1=((l.relative?0:h)+2*c)/3,l.y1=((l.relative?0:f)+2*v)/3,l.x2=(l.x+2*c)/3,l.y2=(l.y+2*v)/3}else s=NaN,u=NaN;return l})}function i(s){var u=0,l=0,h=NaN,f=NaN;return function(c){if(isNaN(h)&&!(c.type&m.MOVE_TO))throw new Error("path must start with moveto");var v=s(c,u,l,h,f);return c.type&m.CLOSE_PATH&&(u=h,l=f),c.x!==void 0&&(u=c.relative?u+c.x:c.x),c.y!==void 0&&(l=c.relative?l+c.y:c.y),c.type&m.MOVE_TO&&(h=u,f=l),v}}function n(s,u,l,h,f,c){return ue(s,u,l,h,f,c),i(function(v,g,d,p){var y=v.x1,x=v.x2,b=v.relative&&!isNaN(p),T=v.x!==void 0?v.x:b?0:g,$=v.y!==void 0?v.y:b?0:d;function E(se){return se*se}v.type&m.HORIZ_LINE_TO&&u!==0&&(v.type=m.LINE_TO,v.y=v.relative?0:d),v.type&m.VERT_LINE_TO&&l!==0&&(v.type=m.LINE_TO,v.x=v.relative?0:g),v.x!==void 0&&(v.x=v.x*s+$*lLine truncated
`},To=function(a){return 48<=a.charCodeAt(0)&&a.charCodeAt(0)<=57},Gb=function(a){function e(){var t=a.call(this)||this;return t.curNumber="",t.curCommandType=-1,t.curCommandRelative=!1,t.canParseCommandOrComma=!0,t.curNumberHasExp=!1,t.curNumberHasExpDigits=!1,t.curNumberHasDecimal=!1,t.curArgs=[],t}return gl(e,a),e.prototype.finish=function(t){if(t===void 0&&(t=[]),this.parse(" ",t),this.curArgs.length!==0||!this.canParseCommandOrComma)throw new SyntaxError("Unterminated command at the path end.");return t},e.prototype.parse=function(t,r){var i=this;r===void 0&&(r=[]);for(var n=function(f){r.push(f),i.curArgs.length=0,i.canParseCommandOrComma=!0},o=0;o<t.length;o++){var s=t[o],u=!(this.curCommandType!==m.ARC||this.curArgs.length!==3&&this.curArgs.length!==4||this.curNumber.length!==1||this.curNumber!=="0"&&this.curNumber!=="1"),l=To(s)&&(this.curNumber==="0"&&s==="0"||u);if(!To(s)||l)if(s!=="e"&&s!=="E")if(s!=="-"&&s!=="+"||!this.curNumberHasExp||this.curNumberHasExpDigits)if(s!=="."||this.curNumberHasExp||this.curNumberHasDecimal||u){if(this.curNumber&&this.curCommandType!==-1){var h=Number(this.curNumber);if(isNaN(h))throw new SyntaxError("Invalid number ending at "+o);if(this.curCommandType===m.ARC){if(this.curArgs.length===0||this.curArgs.length===1){if(0>h)throw new SyntaxError('Expected positive number, got "'+h+'" at index "'+o+'"')}else if((this.curArgs.length===3||this.curArgs.length===4)&&this.curNumber!=="0"&&this.curNumber!=="1")throw new SyntaxError('Expected a flag, got "'+this.curNumber+'" at index "'+o+'"')}this.curArgs.push(h),this.curArgs.length===zb[this.curCommandType]&&(m.HORIZ_LINE_TO===this.curCommandType?n({type:m.HORIZ_LINE_TO,relative:this.curCommandRelative,x:h}):m.VERT_LINE_TO===this.curCommandType?n({type:m.VERT_LINE_TO,relative:this.curCommandRelative,y:h}):this.curCommandType===m.MOVE_TO||this.curCommandType===m.LINE_TO||this.curCommandType===m.SMOOTH_QUAD_TO?(n({type:this.curCommandType,relative:this.curCommandRelative,x:this.curArgs[0],y:this.curArgs[1]}),m.MOVE_TO===this.curCommandType&&(this.curCommandType=m.LINE_TO)):this.curCommandType===m.CURVE_TO?n({type:m.CURVE_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x2:this.curArgs[2],y2:this.curArgs[3],x:this.curArgs[4],y:this.curArgs[5]}):this.curCommandType===m.SMOOTH_CURVE_TO?n({type:m.SMOOTH_CURVE_TO,relative:this.curCommandRelative,x2:this.curArgs[0],y2:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===m.QUAD_TO?n({type:m.QUAD_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===m.ARC&&n({type:m.ARC,relative:this.curCommandRelative,rX:this.curArgs[0],rY:this.curArgs[1],xRot:this.curArgs[2],lArcFlag:this.curArgs[3],sweepFlag:this.curArgs[4],x:this.curArgs[5],y:this.curArgs[6]})),this.curNumber="",this.curNumberHasExpDigits=!1,this.curNumberHasExp=!1,this.curNumberHasDecimal=!1,this.canParseCommandOrComma=!0}if(!Ub(s))if(s===","&&this.canParseCommandOrComma)this.canParseCommandOrComma=!1;else if(s!=="+"&&s!=="-"&&s!==".")if(l)this.curNumber=s,this.curNumberHasDecimal=!1;else{if(this.curArgs.length!==0)throw new SyntaxError("Unterminated command at index "+o+".");if(!this.canParseCommandOrComma)throw new SyntaxError('Unexpected character "'+s+'" at index '+o+". Command cannot follow comma");if(this.canParseCommandOrComma=!1,s!=="z"&&s!=="Z")if(s==="h"||s==="H")this.curCommandType=m.HORIZ_LINE_TO,this.curCommandRelative=s==="h";else if(s==="v"||s==="V")this.curCommandType=m.VERT_LINE_TO,this.curCommandRelative=s==="v";else if(s==="m"||s==="M")this.curCommandType=m.MOVE_TO,this.curCommandRelative=s==="m";else if(s==="l"||s==="L")this.curCommandType=m.LINE_TO,this.curCommandRelative=s==="l";else if(s==="c"||s==="C")this.curCommandType=m.CURVE_TO,this.curCommandRelative=s==="c";else if(s==="s"||s==="S")this.curCommandType=m.SMOOTH_CURVE_TO,this.curCommandRelative=s==="s";else if(s==="q"||s==="Q")this.curCommandType=m.QUAD_TO,this.curCommandRelative=s==="q";else if(s==="t"||s==="T")this.curCommandType=m.SMOOTH_QUAD_TO,this.curCommandRelative=s==="t";else{if(s!=="a"&&s!=="A")throw new SyntaxError('Unexpected character "'+s+'" at index '+o+".");this.curCommandType=m.ARC,this.curCommandRelative=s==="a"}else r.push({type:m.CLOSE_PATH}),this.canParseCommandOrComma=!0,this.curCommandType=-1}else this.curNumber=s,this.curNumberHasDecimal=s==="."}else this.curNumber+=s,this.curNumberHasDecimal=!0;else this.curNumber+=s;else this.curNumber+=s,this.curNumberHasExp=!0;else this.curNumber+=s,this.curNumberHasExpDigits=this.curNumberHasExp}return r},e.prototype.transform=function(t){return Object.create(this,{parse:{value:function(r,i){i===void 0&&(i=[]);for(var n=0,o=Object.getPrototypeOf(this).parse.call(this,r);n<o.length;n++){var s=o[n],u=t(s);Array.isArray(u)?i.push.apply(i,u):i.push(u)}return i}}})},e}(dl),m=function(a){function e(t){var r=a.call(this)||this;return r.commands=typeof t=="string"?e.pars Line truncated
@@ -0,0 +1,196 @@
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index.es-CLQ2nM_z.js","assets/index-JGS-T_I_.js","assets/index-BSNiILtO.css"])))=>i.map(i=>d[i]);
import{_ as gs}from"./index-JGS-T_I_.js";function fe(r){"@babel/helpers - typeof";return fe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fe(r)}var tn=Uint8Array,vn=Uint16Array,Ps=Int32Array,go=new tn([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),mo=new tn([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),ms=new tn([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),xc=function(r,e){for(var n=new vn(31),a=0;a<31;++a)n[a]=e+=1<<r[a-1];for(var c=new Ps(n[30]),a=1;a<30;++a)for(var o=n[a];o<n[a+1];++o)c[o]=o-n[a]<<5|a;return{b:n,r:c}},Sc=xc(go,2),_c=Sc.b,vs=Sc.r;_c[28]=258,vs[258]=28;var Pc=xc(mo,0),ku=Pc.b,ic=Pc.r,bs=new vn(32768);for(var we=0;we<32768;++we){var kr=(we&43690)>>1|(we&21845)<<1;kr=(kr&52428)>>2|(kr&13107)<<2,kr=(kr&61680)>>4|(kr&3855)<<4,bs[we]=((kr&65280)>>8|(kr&255)<<8)>>1}var tr=function(r,e,n){for(var a=r.length,c=0,o=new vn(e);c<a;++c)r[c]&&++o[r[c]-1];var l=new vn(e);for(c=1;c<e;++c)l[c]=l[c-1]+o[c-1]<<1;var h;if(n){h=new vn(1<<e);var f=15-e;for(c=0;c<a;++c)if(r[c])for(var g=c<<4|r[c],y=e-r[c],w=l[r[c]-1]++<<y,S=w|(1<<y)-1;w<=S;++w)h[bs[w]>>f]=g}else for(h=new vn(a),c=0;c<a;++c)r[c]&&(h[c]=bs[l[r[c]-1]++]>>15-r[c]);return h},Or=new tn(288);for(var we=0;we<144;++we)Or[we]=8;for(var we=144;we<256;++we)Or[we]=9;for(var we=256;we<280;++we)Or[we]=7;for(var we=280;we<288;++we)Or[we]=8;var va=new tn(32);for(var we=0;we<32;++we)va[we]=5;var Fu=tr(Or,9,0),Iu=tr(Or,9,1),Cu=tr(va,5,0),ju=tr(va,5,1),os=function(r){for(var e=r[0],n=1;n<r.length;++n)r[n]>e&&(e=r[n]);return e},qn=function(r,e,n){var a=e/8|0;return(r[a]|r[a+1]<<8)>>(e&7)&n},ss=function(r,e){var n=e/8|0;return(r[n]|r[n+1]<<8|r[n+2]<<16)>>(e&7)},ks=function(r){return(r+7)/8|0},kc=function(r,e,n){return(n==null||n>r.length)&&(n=r.length),new tn(r.subarray(e,n))},Ou=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Rn=function(r,e,n){var a=new Error(e||Ou[r]);if(a.code=r,Error.captureStackTrace&&Error.captureStackTrace(a,Rn),!n)throw a;return a},Bu=function(r,e,n,a){var c=r.length,o=0;if(!c||e.f&&!e.l)return n||new tn(0);var l=!n,h=l||e.i!=2,f=e.i;l&&(n=new tn(c*3));var g=function(Nt){var Ft=n.length;if(Nt>Ft){var _t=new tn(Math.max(Ft*2,Nt));_t.set(n),n=_t}},y=e.f||0,w=e.p||0,S=e.b||0,p=e.l,O=e.d,F=e.m,q=e.n,_=c*8;do{if(!p){y=qn(r,w,1);var B=qn(r,w+1,3);if(w+=3,B)if(B==1)p=Iu,O=ju,F=9,q=5;else if(B==2){var wt=qn(r,w,31)+257,tt=qn(r,w+10,15)+4,z=wt+qn(r,w+5,31)+1;w+=14;for(var rt=new tn(z),pt=new tn(19),P=0;P<tt;++P)pt[ms[P]]=qn(r,w+P*3,7);w+=tt*3;for(var k=os(pt),W=(1<<k)-1,D=tr(pt,k,1),P=0;P<z;){var st=D[qn(r,w,W)];w+=st&15;var Y=st>>4;if(Y<16)rt[P++]=Y;else{var it=0,ht=0;for(Y==16?(ht=3+qn(r,w,3),w+=2,it=rt[P-1]):Y==17?(ht=3+qn(r,w,7),w+=3):Y==18&&(ht=11+qn(r,w,127),w+=7);ht--;)rt[P++]=it}}var $=rt.subarray(0,wt),ut=rt.subarray(wt);F=os($),q=os(ut),p=tr($,F,1),O=tr(ut,q,1)}else Rn(1);else{var Y=ks(w)+4,ot=r[Y-4]|r[Y-3]<<8,lt=Y+ot;if(lt>c){f&&Rn(0);break}h&&g(S+ot),n.set(r.subarray(Y,lt),S),e.b=S+=ot,e.p=w=lt*8,e.f=y;continue}if(w>_){f&&Rn(0);break}}h&&g(S+131072);for(var dt=(1<<F)-1,jt=(1<<q)-1,N=w;;N=w){var it=p[ss(r,w)&dt],C=it>>4;if(w+=it&15,w>_){f&&Rn(0);break}if(it||Rn(2),C<256)n[S++]=C;else if(C==256){N=w,p=null;break}else{var M=C-254;if(C>264){var P=C-257,T=go[P];M=qn(r,w,(1<<T)-1)+_c[P],w+=T}var J=O[ss(r,w)&jt],Q=J>>4;J||Rn(3),w+=J&15;var ut=ku[Q];if(Q>3){var T=mo[Q];ut+=ss(r,w)&(1<<T)-1,w+=T}if(w>_){f&&Rn(0);break}h&&g(S+131072);var et=S+M;if(S<ut){var nt=o-ut,At=Math.min(ut,et);for(nt+S<0&&Rn(3);S<At;++S)n[S]=a[nt+S]}for(;S<et;++S)n[S]=n[S-ut]}}e.l=p,e.p=N,e.b=S,e.f=y,p&&(y=1,e.m=F,e.d=O,e.n=q)}while(!y);return S!=n.length&&l?kc(n,0,S):n.subarray(0,S)},dr=function(r,e,n){n<<=e&7;var a=e/8|0;r[a]|=n,r[a+1]|=n>>8},la=function(r,e,n){n<<=e&7;var a=e/8|0;r[a]|=n,r[a+1]|=n>>8,r[a+2]|=n>>16},cs=function(r,e){for(var n=[],a=0;a<r.length;++a)r[a]&&n.push({s:a,f:r[a]});var c=n.length,o=n.slice();if(!c)return{t:Ic,l:0};if(c==1){var l=new tn(n[0].s+1);return l[n[0].s]=1,{t:l,l:1}}n.sort(function(lt,wt){return lt.f-wt.f}),n.push({s:-1,f:25001});var h=n[0],f=n[1],g=0,y=1,w=2;for(n[0]={s:-1,f:h.f+f.f,l:h,r:f};y!=c-1;)h=n[n[g].f<n[w].f?g++:w++],f=n[g!=y&&n[g].f<n[w].f?g++:w++],n[y++]={s:-1,f:h.f+f.f,l:h,r:f};for(var S=o[0].s,a=1;a<c;++a)o[a].s>S&&(S=o[a].s);var p=new vn(S+1),O=ys(n[y-1],p,0);if(O>e){var a=0,F=0,q=O-e,_=1<<q;for(o.sort(function(wt,tt){return p[tt.s]-p[wt.s]||wt.f-tt.f});a<c;++a){var B=o[a].s;if(p[B]>e)F+=_-(1<<O-p[B]),p[B]=e;else break}for(F>>=q;F>0;){var Y=o[a].s;p[Y]<e?F-=1<<e-p[Y]++-1:++a}for(;a>=0&&F;--a){var ot=o[a].s;p[ot]==e&&(--p[ot],++F)}O=e}return{t:new tn(p),l:O}},ys=function(r,e,n){return r.s==-1?Math.maxLine truncated
* A class to parse color values
* @author Stoyan Stefanov <sstoo@gmail.com>
* {@link http://www.phpied.com/rgb-color-parser-in-javascript/}
* @license Use it if you like it
*/function Oc(r){var e;r=r||"",this.ok=!1,r.charAt(0)=="#"&&(r=r.substr(1,6)),r={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"}[r=(r=r.replace(/ /g,"")).toLowerCase()]||r;for(var n=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(h){return[parseInt(h[1]),parseInt(h[2]),parseInt(h[3])]}},{re:/^(\w{2})(\w{2})(\w{2})$/,example:["#00ff00","336699"],process:function(h){return[parseInt(h[1],16),parseInt(h[2],16),parseInt(h[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,example:["#fb0","f0f"],process:function(h){return[parseInt(h[1]+h[1],16),parseInt(h[2]+h[2],16),parseInt(h[3]+h[3],16)]}}],a=0;a<n.length;a++){var c=n[a].re,o=n[a].process,l=c.exec(r);l&&(e=o(l),this.r=e[0],this.g=e[1],this.b=e[2],this.ok=!0)}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toHex=function(){var h=this.r.toString(16),f=this.g.toString(16),g=this.b.toString(16);return h.length==1&&(h="0"+h),f.length==1&&(f="0"+f),g.length==1&&(g="0"+g),"#"+h+f+g}}/**
* @license
* Joseph Myers does not specify a particular license for his work.
*
* Author: Joseph Myers
* Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js
*
* Modified by: Owen Leong
*/function hs(r,e){var n=r[0],a=r[1],c=r[2],o=r[3];n=Ke(n,a,c,o,e[0],7,-680876936),o=Ke(o,n,a,c,e[1],12,-389564586),c=Ke(c,o,n,a,e[2],17,606105819),a=Ke(a,c,o,n,e[3],22,-1044525330),n=Ke(n,a,c,o,e[4],7,-176418897),o=Ke(o,n,a,c,e[5],12,1200080426),c=Ke(c,o,n,a,e[6],17,-1473231341),a=Ke(a,c,o,n,e[7],22,-45705983),n=Ke(n,a,c,o,e[8],7,1770035416),o=Ke(o,n,a,c,e[9],12,-1958414417),c=Ke(c,o,n,a,e[10],17,-42063),a=Ke(a,c,o,n,e[11],22,-1990404162),n=Ke(n,a,c,o,e[12],7,1804603682),o=Ke(o,n,a,c,e[13],12,-40341101),c=Ke(c,o,n,a,e[14],17,-1502002290),n=Ze(n,a=Ke(a,c,o,n,e[15],22,1236535329),c,o,e[1],5,-165796510),o=Ze(o,n,a,c,e[6],9,-1069501632),c=Ze(c,o,n,a,e[11],14,643717713),a=Ze(a,c,o,n,e[0],20,-373897302),n=Ze(n,a,c,o,e[5],5,-701558691),o=Ze(o,n,a,c,e[10],9,38016083),c=Ze(c,o,n,a,e[15],14,-660478335),a=Ze(a,c,o,n,e[4],20,-405537848),n=Ze(n,a,c,o,e[9],5,568446438),o=Ze(o,n,a,c,e[14],9,-1019803690),c=Ze(c,o,n,a,e[3],14,-187363961),a=Ze(a,c,o,n,e[8],20,1163531501),n=Ze(n,a,c,o,e[13],5,-1444681467),o=Ze(o,n,a,c,e[2],9,-51403784),c=Ze(c,o,n,a,e[7],14,1735328473),n=$e(n,a=Ze(a,c,o,n,e[12],20,-1926607734),c,o,e[5],4,-378558),o=$e(o,n,a,c,e[8],11,-2022574463),c=$e(c,o,n,a,e[11],16,1839030562),a=$e(a,c,o,n,e[14],23,-35309556),n=$e(n,a,c,o,e[1],4,-1530992060),o=$e(o,n,a,c,e[4],11,1272893353),c=$e(c,o,n,a,e[7],16,-155497632),a=$e(a,c,o,n,e[10],23,-1094730640),n=$e(n,a,c,o,e[13],4,681279174),o=$e(o,n,a,c,e[0],11,-358537222),c=$e(c,o,n,a,e[3],16,-722521979),a=$e(a,c,o,n,e[6],23,76029189),n=$e(n,a,c,o,e[9],4,-640364487),o=$e(o,n,a,c,e[12],11,-421815835),c=$e(c,o,n,a,e[15],16,530742520),n=Qe(n,a=$e(a,c,o,n,e[2],23,-995338651),c,o,e[0],6,-198630844),o=Qe(o,n,a,c,e[7],10,1126891415),c=Qe(c,o,n,a,e[14],15,-1416354905),a=Qe(a,c,o,n,e[5],21,-57434055),n=Qe(n,a,c,o,e[12],6,1700485571),o=Qe(o,n,a,c,e[3],10,-1894986606),c=Qe(c,o,n,a,e[10],15,-1051523),a=Qe(a,c,o,n,e[1],21,-2054922799),n=Qe(n,a,c,o,e[8],6,1873313359),o=Qe(o,n,a,c,e[15],10,-30611744),c=Qe(c,o,n,a,e[6],15,-1560198380),a=Qe(a,c,o,n,e[13],21,1309151649),n=Qe(n,a,c,o,e[4],6,-145523070),o=Qe(o,n,a,c,e[11],10,-1120210379),c=Qe(c,o,n,a,e[2],15,718787259),a=Qe(a,c,o,n,e[9],21,-343485551),r[0]=Cr(n,r[0]),r[1]=Cr(a,r[1]),r[2]=Cr(c,r[2]),r[3]=Cr(o,r[3])}function vo(r,e,n,a,c,o){return e=Cr(Cr(e,r),Cr(a,o)),Cr(e<<c|e>>>32-c,n)}function Ke(r,e,n,a,c,o,l){return vo(e&n|~e&a,r,e,c,o,l)}function Ze(r,e,n,a,c,o,l){return vo(e&a|n&~a,r,e,c,o,l)}function $e(r,e,n,a,c,o,l){return vo(e^n^a,r,e,c,o,l)}function Qe(r,e,n,a,c,o,l){return vo(n^(e|~a),r,e,c,o,l)}function Bc(r){var e,n=r.length,a=[1732584193,-271733879,-1732584194,271733878];for(e=64;e<=r.length;e+=64)hs(a,Hu(r.substring(e-64,e)));r=r.substring(e-64);var c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e<r.length;e++)c[e>>2]|=r.charCodeAt(e)<<(e%4<<3);if(c[e>>2]|=128<<(e%4<<3),e>55)for(hs(a,c),e=0;e<16;e++)c[e]=0;return c[14]=8*n,hs(a,c),a}function Hu(r){var e,n=[];for(e=0;e<64;e+=4)n[e>>2]=r.charCodeAt(e)+(r.charCodeAt(e+1)<<8)+(r.charCodeAt(e+2)<<16)+(r.charCodeAt(e+3)<<24);return n}fa=Ht.atob.bind(Ht),Ls=Ht.btoa.bind(Ht);var cc="0123456789abcdef".split("");function Wu(r){for(var e="",n=0;n<4;n++)e+=cc[r>>8*n+4&15]+cc[r>>8*n&15];return e}function Vu(r){return String.fromCharCode((255&r)>>0,(65280&r)>>8,(16711680&r)>>16,(4278190080&r)>>24)}function Ns(r){return Bc(r).map(Vu).join("")}var Gu=function(r){for(var e=0;e<r.length;e++)r[e]=Wu(r[e]);return r.join("")}(Bc("hello"))!="5d41402abc4b2a76b9719d911017c592";function Cr(r,e){if(Gu){var n=(65535&r)+(65535&e);return(r>>16)+(e>>16)+(n>>16)<<16|65535&n}return r+e&4294967295}/**
* @license
* FPDF is released under a permissive license: there is no usage restriction.
* You may embed it freely in your application (commercial or not), with or
* without modifications.
*
* Reference: http://www.fpdf.org/en/script/script37.php
*/function As(r,e){var n,a,c,o;if(r!==n){for(var l=(c=r,o=1+(256/r.length>>0),new Array(o+1).join(c)),h=[],f=0;f<256;f++)h[f]=f;var g=0;for(f=0;f<256;f++){var y=h[f];g=(g+y+l.charCodeAt(f))%256,h[f]=h[g],h[g]=y}n=r,a=h}else h=a;var w=e.length,S=0,p=0,O="";for(f=0;f<w;f++)p=(p+(y=h[S=(S+1)%256]))%256,h[S]=h[p],h[p]=y,l=h[(h[S]+h[p])%256],O+=String.fromCharCode(e.charCodeAt(f)^l);return O}/**
* @license
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
* Author: Owen Leong (@owenl131)
* Date: 15 Oct 2020
* References:
* https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt
* https://github.com/foliojs/pdfkit/blob/master/lib/security.js
* http://www.fpdf.org/en/script/script37.php
*/var uc={print:4,modify:8,copy:16,"annot-forms":32};function ji(r,e,n,a){this.v=1,this.r=2;var c=192;r.forEach(function(h){if(uc.perm!==void 0)throw new Error("Invalid permission: "+h);c+=uc[h]}),this.padding="(¿N^NuŠAd\0NVÿú\b..\0¶Ðh>€/\f©þdSiz";var o=(e+this.padding).substr(0,32),l=(n+this.padding).substr(0,32);this.O=this.processOwnerPassword(o,l),this.P=-(1+(255^c)),this.encryptionKey=Ns(o+this.O+this.lsbFirstWord(this.P)+this.hexToBytes(a)).substr(0,5),this.U=As(this.encryptionKey,this.padding)}function Oi(r){if(/[^\u0000-\u00ff]/.test(r))throw new Error("Invalid PDF Name Object: "+r+", Only accept ASCII characters.");for(var e="",n=r.length,a=0;a<n;a++){var c=r.charCodeAt(a);c<33||c===35||c===37||c===40||c===41||c===47||c===60||c===62||c===91||c===93||c===123||c===125||c>126?e+="#"+("0"+c.toString(16)).slice(-2):e+=r[a]}return e}function lc(r){if(fe(r)!=="object")throw new Error("Invalid Context passed to initialize PubSub (jsPDF-module)");var e={};this.subscribe=function(n,a,c){if(c=c||!1,typeof n!="string"||typeof a!="function"||typeof c!="boolean")throw new Error("Invalid arguments passed to PubSub.subscribe (jsPDF-module)");e.hasOwnProperty(n)||(e[n]={});var o=Math.random().toString(35);return e[n][o]=[a,!!c],o},this.unsubscribe=function(n){for(var a in e)if(e[a][n])return delete e[a][n],Object.keys(e[a]).length===0&&delete e[a],!0;return!1},this.publish=function(n){if(e.hasOwnProperty(n)){var a=Array.prototype.slice.call(arguments,1),c=[];for(var o in e[n]){var l=e[n][o];try{l[0].apply(r,a)}catch(h){Ht.console&&ve.error("jsPDF PubSub Error",h.message,h)}l[1]&&c.push(o)}c.length&&c.forEach(this.unsubscribe)}},this.getTopics=function(){return e}}function ba(r){if(!(this instanceof ba))return new ba(r);var e="opacity,stroke-opacity".split(",");for(var n in r)r.hasOwnProperty(n)&&e.indexOf(n)>=0&&(this[n]=r[n]);this.id="",this.objectNumber=-1}function Mc(r,e){this.gState=r,this.matrix=e,this.id="",this.objectNumber=-1}function Ir(r,e,n,a,c){if(!(this instanceof Ir))return new Ir(r,e,n,a,c);this.type=r==="axial"?2:3,this.coords=e,this.colors=n,Mc.call(this,a,c)}function Xr(r,e,n,a,c){if(!(this instanceof Xr))return new Xr(r,e,n,a,c);this.boundingBox=r,this.xStep=e,this.yStep=n,this.stream="",this.cloneIndex=0,Mc.call(this,a,c)}function Tt(r){var e,n=typeof arguments[0]=="string"?arguments[0]:"p",a=arguments[1],c=arguments[2],o=arguments[3],l=[],h=1,f=16,g="S",y=null;fe(r=r||{})==="object"&&(n=r.orientation,a=r.unit||a,c=r.format||c,o=r.compress||r.compressPdf||o,(y=r.encryption||null)!==null&&(y.userPassword=y.userPassword||"",y.ownerPassword=y.ownerPassword||"",y.userPermissions=y.userPermissions||[]),h=typeof r.userUnit=="number"?Math.abs(r.userUnit):1,r.precision!==void 0&&(e=r.precision),r.floatPrecision!==void 0&&(f=r.floatPrecision),g=r.defaultPathOperation||"S"),l=r.filters||(o===!0?["FlateEncode"]:l),a=a||"mm",n=(""+(n||"P")).toLowerCase();var w=r.putOnlyUsedFonts||!1,S={},p={internal:{},__private__:{}};p.__private__.PubSub=lc;var O="1.3",F=p.__private__.getPdfVersion=function(){return O};p.__private__.setPdfVersion=function(s){O=s};var q={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],"government-letter":[576,756],legal:[612,1008],"junior-legal":[576,360],ledger:[1224,792],tabloid:[792,1224],"credit-card":[153,243]};p.__private__.getPageFormats=function(){return q};var _=p.__private__.getPageFormat=function(s){return q[s]};c=c||"a4";var B={COMPAT:"compat",ADVANCED:"advanced"},Y=B.COMPAT;function ot(){this.saveGraphicsState(),E(new zt(Ct,0,0,-Ct,0,mr()*Ct).toString()+" cm"),this.setFontSize(this.getFontSize()/Ct),g="n",Y=B.ADVANCED}function lt(){this.restoreGraphicsState(),g="S",Y=B.COMPAT}var wt=p.__private__.combineFontStyleAndFontWeight=function(s,v){if(s=="bold"&&v=="normal"||s=="bold"&&v==400||s=="normal"&&v=="italic"||s=="bold"&&v=="italic")throw new Error("Invalid Combination of fontweight and fontstyle");return v&&(s=v==400||v==="normal"?s==="italic"?"italic":"normal":v!=700&&v!=="bold"||s!=="normal"?(v==700?"bold":v)+""+s:"bold"),s};p.advancedAPI=function(s){var v=Y===B.COMPAT;return v&&ot.call(this),typeof s!="function"||(s(this),v&&lt.call(this)),this},p.compatAPI=function(s){var v=Y===B.ADVANCED;return v&&lt.call(this),typeof s!="function"||(s(this),v&&ot.call(this)),this},p.isAdvancedAPI=function(){return Y===B.ADVANCED};var tt,z=function(s){if(YLine truncated
`),an(s,v),ue.publish("endTilingPattern",v),Wn.pop().restore()};var De=p.__private__.newObject=function(){var s=Be();return fn(s,!0),s},Be=p.__private__.newObjectDeferred=function(){return J++,Q[J]=function(){return nt},J},fn=function(s,v){return v=typeof v=="boolean"&&v,Q[s]=nt,v&&E(s+" 0 obj"),s},ei=p.__private__.newAdditionalObject=function(){var s={objId:Be(),content:""};return At.push(s),s},rr=Be(),Fn=Be(),In=p.__private__.decodeColorString=function(s){var v=s.split(" ");if(v.length!==2||v[1]!=="g"&&v[1]!=="G")v.length===5&&(v[4]==="k"||v[4]==="K")&&(v=[(1-v[0])*(1-v[3]),(1-v[1])*(1-v[3]),(1-v[2])*(1-v[3]),"r"]);else{var j=parseFloat(v[0]);v=[j,j,j,"r"]}for(var R="#",X=0;X<3;X++)R+=("0"+Math.floor(255*parseFloat(v[X])).toString(16)).slice(-2);return R},Cn=p.__private__.encodeColorString=function(s){var v;typeof s=="string"&&(s={ch1:s});var j=s.ch1,R=s.ch2,X=s.ch3,ct=s.ch4,yt=s.pdfColorType==="draw"?["G","RG","K"]:["g","rg","k"];if(typeof j=="string"&&j.charAt(0)!=="#"){var Ot=new Oc(j);if(Ot.ok)j=Ot.toHex();else if(!/^\d*\.?\d*$/.test(j))throw new Error('Invalid color "'+j+'" passed to jsPDF.encodeColorString.')}if(typeof j=="string"&&/^#[0-9A-Fa-f]{3}$/.test(j)&&(j="#"+j[1]+j[1]+j[2]+j[2]+j[3]+j[3]),typeof j=="string"&&/^#[0-9A-Fa-f]{6}$/.test(j)){var Dt=parseInt(j.substr(1),16);j=Dt>>16&255,R=Dt>>8&255,X=255&Dt}if(R===void 0||ct===void 0&&j===R&&R===X)if(typeof j=="string")v=j+" "+yt[0];else switch(s.precision){case 2:v=pt(j/255)+" "+yt[0];break;case 3:default:v=P(j/255)+" "+yt[0]}else if(ct===void 0||fe(ct)==="object"){if(ct&&!isNaN(ct.a)&&ct.a===0)return v=["1.","1.","1.",yt[1]].join(" ");if(typeof j=="string")v=[j,R,X,yt[1]].join(" ");else switch(s.precision){case 2:v=[pt(j/255),pt(R/255),pt(X/255),yt[1]].join(" ");break;default:case 3:v=[P(j/255),P(R/255),P(X/255),yt[1]].join(" ")}}else if(typeof j=="string")v=[j,R,X,ct,yt[2]].join(" ");else switch(s.precision){case 2:v=[pt(j),pt(R),pt(X),pt(ct),yt[2]].join(" ");break;case 3:default:v=[P(j),P(R),P(X),P(ct),yt[2]].join(" ")}return v},Gn=p.__private__.getFilters=function(){return l},bn=p.__private__.putStream=function(s){var v=(s=s||{}).data||"",j=s.filters||Gn(),R=s.alreadyAppliedFilters||[],X=s.addLength1||!1,ct=v.length,yt=s.objectId,Ot=function(Xe){return Xe};if(y!==null&&yt===void 0)throw new Error("ObjectId must be passed to putStream for file encryption");y!==null&&(Ot=Ye.encryptor(yt,0));var Dt={};j===!0&&(j=["FlateEncode"]);var Zt=s.additionalKeyValues||[],Yt=(Dt=Tt.API.processDataByFilters!==void 0?Tt.API.processDataByFilters(v,j):{data:v,reverseChain:[]}).reverseChain+(Array.isArray(R)?R.join(" "):R.toString());if(Dt.data.length!==0&&(Zt.push({key:"Length",value:Dt.data.length}),X===!0&&Zt.push({key:"Length1",value:ct})),Yt.length!=0)if(Yt.split("/").length-1==1)Zt.push({key:"Filter",value:Yt});else{Zt.push({key:"Filter",value:"["+Yt+"]"});for(var re=0;re<Zt.length;re+=1)if(Zt[re].key==="DecodeParms"){for(var Ne=[],Se=0;Se<Dt.reverseChain.split("/").length-1;Se+=1)Ne.push("null");Ne.push(Zt[re].value),Zt[re].value="["+Ne.join(" ")+"]"}}E("<<");for(var Me=0;Me<Zt.length;Me++)E("/"+Zt[Me].key+" "+Zt[Me].value);E(">>"),Dt.data.length!==0&&(E("stream"),E(Ot(Dt.data)),E("endstream"))},Jn=p.__private__.putPage=function(s){var v=s.number,j=s.data,R=s.objId,X=s.contentsObjId;fn(R,!0),E("<</Type /Page"),E("/Parent "+s.rootDictionaryObjId+" 0 R"),E("/Resources "+s.resourceDictionaryObjId+" 0 R"),E("/MediaBox ["+parseFloat(tt(s.mediaBox.bottomLeftX))+" "+parseFloat(tt(s.mediaBox.bottomLeftY))+" "+tt(s.mediaBox.topRightX)+" "+tt(s.mediaBox.topRightY)+"]"),s.cropBox!==null&&E("/CropBox ["+tt(s.cropBox.bottomLeftX)+" "+tt(s.cropBox.bottomLeftY)+" "+tt(s.cropBox.topRightX)+" "+tt(s.cropBox.topRightY)+"]"),s.bleedBox!==null&&E("/BleedBox ["+tt(s.bleedBox.bottomLeftX)+" "+tt(s.bleedBox.bottomLeftY)+" "+tt(s.bleedBox.topRightX)+" "+tt(s.bleedBox.topRightY)+"]"),s.trimBox!==null&&E("/TrimBox ["+tt(s.trimBox.bottomLeftX)+" "+tt(s.trimBox.bottomLeftY)+" "+tt(s.trimBox.topRightX)+" "+tt(s.trimBox.topRightY)+"]"),s.artBox!==null&&E("/ArtBox ["+tt(s.artBox.bottomLeftX)+" "+tt(s.artBox.bottomLeftY)+" "+tt(s.artBox.topRightX)+" "+tt(s.artBox.topRightY)+"]"),typeof s.userUnit=="number"&&s.userUnit!==1&&E("/UserUnit "+s.userUnit),ue.publish("putPage",{objId:R,pageContext:Jt[v],pageNumber:v,page:j}),E("/Contents "+X+" 0 R"),E(">>"),E("endobj");var ct=j.join(`
`);return Y===B.ADVANCED&&(ct+=`
Q`),fn(X,!0),bn({data:ct,filters:Gn(),objectId:X}),E("endobj"),R},qr=p.__private__.putPages=function(){var s,v,j=[];for(s=1;s<=xe;s++)Jt[s].objId=Be(),Jt[s].contentsObjId=Be();for(s=1;s<=xe;s++)j.push(Jn({number:s,data:Nt[s],objId:Jt[s].objId,contentsObjId:Jt[s].contentsObjId,mediaBox:Jt[s].mediaBox,cropBox:Jt[s].cropBox,bleedBox:Jt[s].bleedBox,trimBox:Jt[s].trimBox,artBox:Jt[s].artBox,userUnit:Jt[s].userUnit,rootDictionaryObjId:rr,resourceDictionaryObjId:Fn}));fn(rr,!0),E("<</Type /Pages");var R="/Kids [";for(v=0;v<xe;v++)R+=j[v]+" 0 R ";E(R+"]"),E("/Count "+xe),E(">>"),E("endobj"),ue.publish("postPutPages")},ni=function(s){ue.publish("putFont",{font:s,out:E,newObject:De,putStream:bn}),s.isAlreadyPutted!==!0&&(s.objectNumber=De(),E("<<"),E("/Type /Font"),E("/BaseFont /"+Oi(s.postScriptName)),E("/Subtype /Type1"),typeof s.encoding=="string"&&E("/Encoding /"+s.encoding),E("/FirstChar 32"),E("/LastChar 255"),E(">>"),E("endobj"))},ri=function(){for(var s in ge)ge.hasOwnProperty(s)&&(w===!1||w===!0&&S.hasOwnProperty(s))&&ni(ge[s])},ii=function(s){s.objectNumber=De();var v=[];v.push({key:"Type",value:"/XObject"}),v.push({key:"Subtype",value:"/Form"}),v.push({key:"BBox",value:"["+[tt(s.x),tt(s.y),tt(s.x+s.width),tt(s.y+s.height)].join(" ")+"]"}),v.push({key:"Matrix",value:"["+s.matrix.toString()+"]"});var j=s.pages[1].join(`
`);bn({data:j,additionalKeyValues:v,objectId:s.objectNumber}),E("endobj")},ai=function(){for(var s in We)We.hasOwnProperty(s)&&ii(We[s])},ya=function(s,v){var j,R=[],X=1/(v-1);for(j=0;j<1;j+=X)R.push(j);if(R.push(1),s[0].offset!=0){var ct={offset:0,color:s[0].color};s.unshift(ct)}if(s[s.length-1].offset!=1){var yt={offset:1,color:s[s.length-1].color};s.push(yt)}for(var Ot="",Dt=0,Zt=0;Zt<R.length;Zt++){for(j=R[Zt];j>s[Dt+1].offset;)Dt++;var Yt=s[Dt].offset,re=(j-Yt)/(s[Dt+1].offset-Yt),Ne=s[Dt].color,Se=s[Dt+1].color;Ot+=T(Math.round((1-re)*Ne[0]+re*Se[0]).toString(16))+T(Math.round((1-re)*Ne[1]+re*Se[1]).toString(16))+T(Math.round((1-re)*Ne[2]+re*Se[2]).toString(16))}return Ot.trim()},bo=function(s,v){v||(v=21);var j=De(),R=ya(s.colors,v),X=[];X.push({key:"FunctionType",value:"0"}),X.push({key:"Domain",value:"[0.0 1.0]"}),X.push({key:"Size",value:"["+v+"]"}),X.push({key:"BitsPerSample",value:"8"}),X.push({key:"Range",value:"[0.0 1.0 0.0 1.0 0.0 1.0]"}),X.push({key:"Decode",value:"[0.0 1.0 0.0 1.0 0.0 1.0]"}),bn({data:R,additionalKeyValues:X,alreadyAppliedFilters:["/ASCIIHexDecode"],objectId:j}),E("endobj"),s.objectNumber=De(),E("<< /ShadingType "+s.type),E("/ColorSpace /DeviceRGB");var ct="/Coords ["+tt(parseFloat(s.coords[0]))+" "+tt(parseFloat(s.coords[1]))+" ";s.type===2?ct+=tt(parseFloat(s.coords[2]))+" "+tt(parseFloat(s.coords[3])):ct+=tt(parseFloat(s.coords[2]))+" "+tt(parseFloat(s.coords[3]))+" "+tt(parseFloat(s.coords[4]))+" "+tt(parseFloat(s.coords[5])),E(ct+="]"),s.matrix&&E("/Matrix ["+s.matrix.toString()+"]"),E("/Function "+j+" 0 R"),E("/Extend [true true]"),E(">>"),E("endobj")},yo=function(s,v){var j=Be(),R=De();v.push({resourcesOid:j,objectOid:R}),s.objectNumber=R;var X=[];X.push({key:"Type",value:"/Pattern"}),X.push({key:"PatternType",value:"1"}),X.push({key:"PaintType",value:"1"}),X.push({key:"TilingType",value:"1"}),X.push({key:"BBox",value:"["+s.boundingBox.map(tt).join(" ")+"]"}),X.push({key:"XStep",value:tt(s.xStep)}),X.push({key:"YStep",value:tt(s.yStep)}),X.push({key:"Resources",value:j+" 0 R"}),s.matrix&&X.push({key:"Matrix",value:"["+s.matrix.toString()+"]"}),bn({data:s.stream,additionalKeyValues:X,objectId:s.objectNumber}),E("endobj")},oi=function(s){var v;for(v in ce)ce.hasOwnProperty(v)&&(ce[v]instanceof Ir?bo(ce[v]):ce[v]instanceof Xr&&yo(ce[v],s))},wa=function(s){for(var v in s.objectNumber=De(),E("<<"),s)switch(v){case"opacity":E("/ca "+pt(s[v]));break;case"stroke-opacity":E("/CA "+pt(s[v]))}E(">>"),E("endobj")},wo=function(){var s;for(s in Ae)Ae.hasOwnProperty(s)&&wa(Ae[s])},Bi=function(){for(var s in E("/XObject <<"),We)We.hasOwnProperty(s)&&We[s].objectNumber>=0&&E("/"+s+" "+We[s].objectNumber+" 0 R");ue.publish("putXobjectDict"),E(">>")},Lo=function(){Ye.oid=De(),E("<<"),E("/Filter /Standard"),E("/V "+Ye.v),E("/R "+Ye.r),E("/U <"+Ye.toHexString(Ye.U)+">"),E("/O <"+Ye.toHexString(Ye.O)+">"),E("/P "+Ye.P),E(">>"),E("endobj")},La=function(){for(var s in E("/Font <<"),ge)ge.hasOwnProperty(s)&&(w===!1||w===!0&&S.hasOwnProperty(s))&&E("/"+s+" "+ge[s].objectNumber+" 0 R");E(">>")},No=function(){if(Object.keys(ce).length>0){for(var s in E("/Shading <<"),ce)ce.hasOwnProperty(s)&&ce[s]instanceof Ir&&ce[s].objectNumber>=0&&E("/"+s+" "+ce[s].objectNumber+" 0 R");ue.publish("putShadingPatternDict"),E(">>")}},si=function(s){if(Object.keys(ce).length>0){for(var v in E("/Pattern <<"),ce)ce.hasOwnProperty(v)&&ce[v]instanceof p.TilingPattern&&ce[v].objectNumber>=0&&ce[v].objectNumber<s&&E("/"+v+" "+ce[v].objectNumber+" 0 R");ue.publish("putTilingPatternDict"),E(">>")}},Ao=function(){if(Object.keys(Ae).length>0){var s;for(s in E("/ExtGState <<"),Ae)Ae.hasOwnProperty(s)&&Ae[s].objectNumber>=0&&E("/"+s+" "+Ae[s].objectNumber+" 0 R");ue.publish("putGStateDict"),E(">>")}},ke=function(s){fn(s.resourcesOid,!0),E("<<"),E("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]"),La(),No(),si(s.objectOid),Ao(),Bi(),E(">>"),E("endobj")},Na=function(){var s=[];ri(),wo(),ai(),oi(s),ue.publish("putResources"),s.forEach(ke),ke({resourcesOid:Fn,objectOid:Number.MAX_SAFE_INTEGER}),ue.publish("postPutResources")},Aa=function(){ue.publish("putAdditionalObjects");for(var s=0;s<At.length;s++){var v=At[s];fn(v.objId,!0),E(v.content),E("endobj")}ue.publish("postPutAdditionalObjects")},xa=function(s){Le[s.fontName]=Le[s.fontName]||{},Le[s.fontName][s.fontStyle]=s.id},Mi=function(s,v,j,R,X){var ct={id:"F"+(Object.keys(ge).length+1).toString(10),postScriptName:s,fontName:v,fontStyle:j,encoding:R,isStandardFont:X||!1,metadata:{}};return ue.publish("addFont",{font:ct,instance:this}),ge[ct.id]=ct,xa(ct),ct.id},xo=function(s){for(var v=0,j=Lt.length;v<j;v++){var R=Mi.call(this,s[v][0],s[v][1],s[v][2],Lt[v][3],!0);w===!1&&(S[R]=!0);var X=s[v][0].split("-");xa({id:R,fontName:X[0],fontStyle:X[1]||""})}ue.publish("addFonts",{fonts:ge,dictionary:Le})},jn=function(s){return s.foo=function(){try{return s.apply(this,arguments)}catch(R){var v=R.stack||"";~v.indexOf(" at ")&&(v=v.split(" at ")[1]);var j="Error in function "+v.split(`
`)[0].split("<")[0]+": "+R.message;if(!Ht.console)throw new Error(j);Ht.console.error(j,R),Ht.alert&&alert(j)}},s.foo.bar=s,s.foo},ci=function(s,v){var j,R,X,ct,yt,Ot,Dt,Zt,Yt;if(X=(v=v||{}).sourceEncoding||"Unicode",yt=v.outputEncoding,(v.autoencode||yt)&&ge[ee].metadata&&ge[ee].metadata[X]&&ge[ee].metadata[X].encoding&&(ct=ge[ee].metadata[X].encoding,!yt&&ge[ee].encoding&&(yt=ge[ee].encoding),!yt&&ct.codePages&&(yt=ct.codePages[0]),typeof yt=="string"&&(yt=ct[yt]),yt)){for(Dt=!1,Ot=[],j=0,R=s.length;j<R;j++)(Zt=yt[s.charCodeAt(j)])?Ot.push(String.fromCharCode(Zt)):Ot.push(s[j]),Ot[j].charCodeAt(0)>>8&&(Dt=!0);s=Ot.join("")}for(j=s.length;Dt===void 0&&j!==0;)s.charCodeAt(j-1)>>8&&(Dt=!0),j--;if(!Dt)return s;for(Ot=v.noBOM?[]:[254,255],j=0,R=s.length;j<R;j++){if((Yt=(Zt=s.charCodeAt(j))>>8)>>8)throw new Error("Character at position "+j+" of string '"+s+"' exceeds 16bits. Cannot be encoded into UCS-2 BE");Ot.push(Yt),Ot.push(Zt-(Yt<<8))}return String.fromCharCode.apply(void 0,Ot)},on=p.__private__.pdfEscape=p.pdfEscape=function(s,v){return ci(s,v).replace(/\\/g,"\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)")},Ei=p.__private__.beginPage=function(s){Nt[++xe]=[],Jt[xe]={objId:0,contentsObjId:0,userUnit:Number(h),artBox:null,bleedBox:null,cropBox:null,trimBox:null,mediaBox:{bottomLeftX:0,bottomLeftY:0,topRightX:Number(s[0]),topRightY:Number(s[1])}},_a(xe),ft(Nt[C])},Sa=function(s,v){var j,R,X;switch(n=v||n,typeof s=="string"&&(j=_(s.toLowerCase()),Array.isArray(j)&&(R=j[0],X=j[1])),Array.isArray(s)&&(R=s[0]*Ct,X=s[1]*Ct),isNaN(R)&&(R=c[0],X=c[1]),(R>14400||X>14400)&&(ve.warn("A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400"),R=Math.min(14400,R),X=Math.min(14400,X)),c=[R,X],n.substr(0,1)){case"l":X>R&&(c=[X,R]);break;case"p":R>X&&(c=[X,R])}Ei(c),ja(Ti),E(On),Ui!==0&&E(Ui+" J"),Hi!==0&&E(Hi+" j"),ue.publish("addPage",{pageNumber:xe})},So=function(s){s>0&&s<=xe&&(Nt.splice(s,1),Jt.splice(s,1),xe--,C>xe&&(C=xe),this.setPage(C))},_a=function(s){s>0&&s<=xe&&(C=s)},_o=p.__private__.getNumberOfPages=p.getNumberOfPages=function(){return Nt.length-1},Pa=function(s,v,j){var R,X=void 0;return j=j||{},s=s!==void 0?s:ge[ee].fontName,v=v!==void 0?v:ge[ee].fontStyle,R=s.toLowerCase(),Le[R]!==void 0&&Le[R][v]!==void 0?X=Le[R][v]:Le[s]!==void 0&&Le[s][v]!==void 0?X=Le[s][v]:j.disableWarning===!1&&ve.warn("Unable to look up font label for font '"+s+"', '"+v+"'. Refer to getFontList() for available fonts."),X||j.noFallback||(X=Le.times[v])==null&&(X=Le.times.normal),X},Po=p.__private__.putInfo=function(){var s=De(),v=function(R){return R};for(var j in y!==null&&(v=Ye.encryptor(s,0)),E("<<"),E("/Producer ("+on(v("jsPDF "+Tt.version))+")"),Wt)Wt.hasOwnProperty(j)&&Wt[j]&&E("/"+j.substr(0,1).toUpperCase()+j.substr(1)+" ("+on(v(Wt[j]))+")");E("/CreationDate ("+on(v(st))+")"),E(">>"),E("endobj")},qi=p.__private__.putCatalog=function(s){var v=(s=s||{}).rootDictionaryObjId||rr;switch(De(),E("<<"),E("/Type /Catalog"),E("/Pages "+v+" 0 R"),It||(It="fullwidth"),It){case"fullwidth":E("/OpenAction [3 0 R /FitH null]");break;case"fullheight":E("/OpenAction [3 0 R /FitV null]");break;case"fullpage":E("/OpenAction [3 0 R /Fit]");break;case"original":E("/OpenAction [3 0 R /XYZ null null 1]");break;default:var j=""+It;j.substr(j.length-1)==="%"&&(It=parseInt(It)/100),typeof It=="number"&&E("/OpenAction [3 0 R /XYZ null null "+pt(It)+"]")}switch(te||(te="continuous"),te){case"continuous":E("/PageLayout /OneColumn");break;case"single":E("/PageLayout /SinglePage");break;case"two":case"twoleft":E("/PageLayout /TwoColumnLeft");break;case"tworight":E("/PageLayout /TwoColumnRight")}Gt&&E("/PageMode /"+Gt),ue.publish("putCatalog"),E(">>"),E("endobj")},ko=p.__private__.putTrailer=function(){E("trailer"),E("<<"),E("/Size "+(J+1)),E("/Root "+J+" 0 R"),E("/Info "+(J-1)+" 0 R"),y!==null&&E("/Encrypt "+Ye.oid+" 0 R"),E("/ID [ <"+it+"> <"+it+"> ]"),E(">>")},Fo=p.__private__.putHeader=function(){E("%PDF-"+O),E("%ºß¬à")},Io=p.__private__.putXRef=function(){var s="0000000000";E("xref"),E("0 "+(J+1)),E("0000000000 65535 f ");for(var v=1;v<=J;v++)typeof Q[v]=="function"?E((s+Q[v]()).slice(-10)+" 00000 n "):Q[v]!==void 0?E((s+Q[v]).slice(-10)+" 00000 n "):E("0000000000 00000 n ")},ir=p.__private__.buildDocument=function(){Ut(),ft(et),ue.publish("buildDocument"),Fo(),qr(),Aa(),Na(),y!==null&&Lo(),Po(),qi();var s=nt;return Io(),ko(),E("startxref"),E(""+s),E("%%EOF"),ft(Nt[C]),et.join(`
`)},ui=p.__private__.getBlob=function(s){return new Blob([Et(s)],{type:"application/pdf"})},li=p.output=p.__private__.output=jn(function(s,v){switch(typeof(v=v||{})=="string"?v={filename:v}:v.filename=v.filename||"generated.pdf",s){case void 0:return ir();case"save":p.save(v.filename);break;case"arraybuffer":return Et(ir());case"blob":return ui(ir());case"bloburi":case"bloburl":if(Ht.URL!==void 0&&typeof Ht.URL.createObjectURL=="function")return Ht.URL&&Ht.URL.createObjectURL(ui(ir()))||void 0;ve.warn("bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.");break;case"datauristring":case"dataurlstring":var j="",R=ir();try{j=Ls(R)}catch{j=Ls(unescape(encodeURIComponent(R)))}return"data:application/pdf;filename="+v.filename+";base64,"+j;case"pdfobjectnewwindow":if(Object.prototype.toString.call(Ht)==="[object Window]"){var X="https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js",ct=' integrity="sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==" crossorigin="anonymous"';v.pdfObjectUrl&&(X=v.pdfObjectUrl,ct="");var yt='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><script src="'+X+'"'+ct+'><\/script><script >PDFObject.embed("'+this.output("dataurlstring")+'", '+JSON.stringify(v)+");<\/script></body></html>",Ot=Ht.open();return Ot!==null&&Ot.document.write(yt),Ot}throw new Error("The option pdfobjectnewwindow just works in a browser-environment.");case"pdfjsnewwindow":if(Object.prototype.toString.call(Ht)==="[object Window]"){var Dt='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><iframe id="pdfViewer" src="'+(v.pdfJsUrl||"examples/PDF.js/web/viewer.html")+"?file=&downloadName="+v.filename+'" width="500px" height="400px" /></body></html>',Zt=Ht.open();if(Zt!==null){Zt.document.write(Dt);var Yt=this;Zt.document.documentElement.querySelector("#pdfViewer").onload=function(){Zt.document.title=v.filename,Zt.document.documentElement.querySelector("#pdfViewer").contentWindow.PDFViewerApplication.open(Yt.output("bloburl"))}}return Zt}throw new Error("The option pdfjsnewwindow just works in a browser-environment.");case"dataurlnewwindow":if(Object.prototype.toString.call(Ht)!=="[object Window]")throw new Error("The option dataurlnewwindow just works in a browser-environment.");var re='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><iframe src="'+this.output("datauristring",v)+'"></iframe></body></html>',Ne=Ht.open();if(Ne!==null&&(Ne.document.write(re),Ne.document.title=v.filename),Ne||typeof safari>"u")return Ne;break;case"datauri":case"dataurl":return Ht.document.location.href=this.output("datauristring",v);default:return null}}),ka=function(s){return Array.isArray(Er)===!0&&Er.indexOf(s)>-1};switch(a){case"pt":Ct=1;break;case"mm":Ct=72/25.4;break;case"cm":Ct=72/2.54;break;case"in":Ct=72;break;case"px":Ct=ka("px_scaling")==1?.75:96/72;break;case"pc":case"em":Ct=12;break;case"ex":Ct=6;break;default:if(typeof a!="number")throw new Error("Invalid unit: "+a);Ct=a}var Ye=null;jt(),$();var Co=function(s){return y!==null?Ye.encryptor(s,0):function(v){return v}},Fa=p.__private__.getPageInfo=p.getPageInfo=function(s){if(isNaN(s)||s%1!=0)throw new Error("Invalid argument passed to jsPDF.getPageInfo");return{objId:Jt[s].objId,pageNumber:s,pageContext:Jt[s]}},Vt=p.__private__.getPageInfoByObjId=function(s){if(isNaN(s)||s%1!=0)throw new Error("Invalid argument passed to jsPDF.getPageInfoByObjId");for(var v in Jt)if(Jt[v].objId===s)break;return Fa(v)},jo=p.__private__.getCurrentPageInfo=p.getCurrentPageInfo=function(){return{objId:Jt[C].objId,pageNumber:C,pageContext:Jt[C]}};p.addPage=function(){return Sa.apply(this,arguments),this},p.setPage=function(){return _a.apply(this,arguments),ft.call(this,Nt[C]),this},p.insertPage=function(s){return this.addPage(),this.movePage(C,s),this},p.movePage=function(s,v){var j,R;if(s>v){j=Nt[s],R=Jt[s];for(var X=s;X>v;X--)Nt[X]=Nt[X-1],Jt[X]=Jt[X-1];Nt[v]=j,Jt[v]=R,this.setPage(v)}else if(s<v){j=Nt[s],R=Jt[s];for(var ct=s;ct<v;ct++)Nt[ct]=Nt[ct+1],Jt[ct]=Jt[ct+1];Nt[v]=j,Jt[v]=R,this.setPage(v)}return this},p.deletePage=function(){return So.apply(this,arguments),this},p.__private__.text=p.text=function(s,v,j,R,X){var ct,yt,Ot,Dt,Zt,Yt,re,Ne,Se,Me=(R=R||{}).scope||this;if(typeof s=="number"&&typeof v=="number"&&(typeof j=="string"||Array.isArray(j))){var Xe=j;j=v,v=s,s=Xe}if(arguments[3]instanceof zt?(z("The transform parameter of text() with a Matrix value"),Se=X):(Ot=arguments[4],Dt=arguments[5],fe(re=arguments[3])==="object"&&re!==null||(typeof Ot=="string"&&(Dt=Ot,Ot=null),typeof re=="string"&&(Dt=re,re=null),typeof re=="number"&&(Ot=re,re=null),R={flags:re,angle:Ot,align:Dt})),isNaN(v)||isNaN(j)||s==null)throw new Error("Invalid arguments passed to jsPDF.text");if(s.length===0)return Line truncated
`,this.setCharSpace(this.getCharSpace()||0)),(Ne=R.horizontalScale)!==void 0&&(ze+=tt(100*Ne)+` Tz
`),R.lang;var sn=-1,Uo=R.renderingMode!==void 0?R.renderingMode:R.stroke,Qi=Me.internal.getCurrentPageInfo().pageContext;switch(Uo){case 0:case!1:case"fill":sn=0;break;case 1:case!0:case"stroke":sn=1;break;case 2:case"fillThenStroke":sn=2;break;case 3:case"invisible":sn=3;break;case 4:case"fillAndAddForClipping":sn=4;break;case 5:case"strokeAndAddPathForClipping":sn=5;break;case 6:case"fillThenStrokeAndAddToPathForClipping":sn=6;break;case 7:case"addToPathForClipping":sn=7}var Ra=Qi.usedRenderingMode!==void 0?Qi.usedRenderingMode:-1;sn!==-1?ze+=sn+` Tr
`:Ra!==-1&&(ze+=`0 Tr
`),sn!==-1&&(Qi.usedRenderingMode=sn),Dt=R.align||"left";var yn,Li=xt*dn,Ta=Me.internal.pageSize.getWidth(),za=ge[ee];Zt=R.charSpace||di,Yt=R.maxWidth||0,re=Object.assign({autoencode:!0,noBOM:!0},R.flags);var vr=[],Ur=function(be){return Me.getStringUnitWidth(be,{font:za,charSpace:Zt,fontSize:xt,doKerning:!1})*xt/Kn};if(Object.prototype.toString.call(s)==="[object Array]"){var cn;yt=Yi(s),Dt!=="left"&&(yn=yt.map(Ur));var en,br=0;if(Dt==="right"){v-=yn[0],s=[],Ve=yt.length;for(var or=0;or<Ve;or++)or===0?(en=Xn(v),cn=ar(j)):(en=k(br-yn[or]),cn=-Li),s.push([yt[or],en,cn]),br=yn[or]}else if(Dt==="center"){v-=yn[0]/2,s=[],Ve=yt.length;for(var sr=0;sr<Ve;sr++)sr===0?(en=Xn(v),cn=ar(j)):(en=k((br-yn[sr])/2),cn=-Li),s.push([yt[sr],en,cn]),br=yn[sr]}else if(Dt==="left"){s=[],Ve=yt.length;for(var Ni=0;Ni<Ve;Ni++)s.push(yt[Ni])}else if(Dt==="justify"&&za.encoding==="Identity-H"){s=[],Ve=yt.length,Yt=Yt!==0?Yt:Ta;for(var cr=0,Fe=0;Fe<Ve;Fe++)if(cn=Fe===0?ar(j):-Li,en=Fe===0?Xn(v):cr,Fe<Ve-1){var ta=k((Yt-yn[Fe])/(yt[Fe].split(" ").length-1)),nn=yt[Fe].split(" ");s.push([nn[0]+" ",en,cn]),cr=0;for(var wn=1;wn<nn.length;wn++){var Ai=(Ur(nn[wn-1]+" "+nn[wn])-Ur(nn[wn]))*Kn+ta;wn==nn.length-1?s.push([nn[wn],Ai,0]):s.push([nn[wn]+" ",Ai,0]),cr-=Ai}}else s.push([yt[Fe],en,cn]);s.push(["",cr,0])}else{if(Dt!=="justify")throw new Error('Unrecognized alignment option, use "left", "center", "right" or "justify".');for(s=[],Ve=yt.length,Yt=Yt!==0?Yt:Ta,Fe=0;Fe<Ve;Fe++)cn=Fe===0?ar(j):-Li,en=Fe===0?Xn(v):0,Fe<Ve-1?vr.push(tt(k((Yt-yn[Fe])/(yt[Fe].split(" ").length-1)))):vr.push(0),s.push([yt[Fe],en,cn])}}var Ua=typeof R.R2L=="boolean"?R.R2L:qt;Ua===!0&&(s=Xi(s,function(be,ye,Ie){return[be.split("").reverse().join(""),ye,Ie]})),ct={text:s,x:v,y:j,options:R,mutex:{pdfEscape:on,activeFontKey:ee,fonts:ge,activeFontSize:xt}},ue.publish("postProcessText",ct),s=ct.text,Bn=ct.mutex.isHex||!1;var ea=ge[ee].encoding;ea!=="WinAnsiEncoding"&&ea!=="StandardEncoding"||(s=Xi(s,function(be,ye,Ie){return[Da(be),ye,Ie]})),yt=Yi(s),s=[];for(var Hr,Wr,yr,Vr=0,xi=1,Gr=Array.isArray(yt[0])?xi:Vr,wr="",na=function(be,ye,Ie){var Re="";return Ie instanceof zt?(Ie=typeof R.angle=="number"?kn(Ie,new zt(1,0,0,1,be,ye)):kn(new zt(1,0,0,1,be,ye),Ie),Y===B.ADVANCED&&(Ie=kn(new zt(1,0,0,-1,0,0),Ie)),Re=Ie.join(" ")+` Tm
`):Re=tt(be)+" "+tt(ye)+` Td
`,Re},Ln=0;Ln<yt.length;Ln++){switch(wr="",Gr){case xi:yr=(Bn?"<":"(")+yt[Ln][0]+(Bn?">":")"),Hr=parseFloat(yt[Ln][1]),Wr=parseFloat(yt[Ln][2]);break;case Vr:yr=(Bn?"<":"(")+yt[Ln]+(Bn?">":")"),Hr=Xn(v),Wr=ar(j)}vr!==void 0&&vr[Ln]!==void 0&&(wr=vr[Ln]+` Tw
`),Ln===0?s.push(wr+na(Hr,Wr,Se)+yr):Gr===Vr?s.push(wr+yr):Gr===xi&&s.push(wr+na(Hr,Wr,Se)+yr)}s=Gr===Vr?s.join(` Tj
T* `):s.join(` Tj
`),s+=` Tj
`;var Nn=`BT
/`;return Nn+=ee+" "+xt+` Tf
`,Nn+=tt(xt*dn)+` TL
`,Nn+=Tr+`
`,Nn+=ze,Nn+=s,E(Nn+="ET"),S[ee]=!0,Me};var Oo=p.__private__.clip=p.clip=function(s){return E(s==="evenodd"?"W*":"W"),this};p.clipEvenOdd=function(){return Oo("evenodd")},p.__private__.discardPath=p.discardPath=function(){return E("n"),this};var Yn=p.__private__.isValidStyle=function(s){var v=!1;return[void 0,null,"S","D","F","DF","FD","f","f*","B","B*","n"].indexOf(s)!==-1&&(v=!0),v};p.__private__.setDefaultPathOperation=p.setDefaultPathOperation=function(s){return Yn(s)&&(g=s),this};var Ia=p.__private__.getStyle=p.getStyle=function(s){var v=g;switch(s){case"D":case"S":v="S";break;case"F":v="f";break;case"FD":case"DF":v="B";break;case"f":case"f*":case"B":case"B*":v=s}return v},Ca=p.close=function(){return E("h"),this};p.stroke=function(){return E("S"),this},p.fill=function(s){return hi("f",s),this},p.fillEvenOdd=function(s){return hi("f*",s),this},p.fillStroke=function(s){return hi("B",s),this},p.fillStrokeEvenOdd=function(s){return hi("B*",s),this};var hi=function(s,v){fe(v)==="object"?Mo(v,s):E(s)},Di=function(s){s===null||Y===B.ADVANCED&&s===void 0||(s=Ia(s),E(s))};function Bo(s,v,j,R,X){var ct=new Xr(v||this.boundingBox,j||this.xStep,R||this.yStep,this.gState,X||this.matrix);ct.stream=this.stream;var yt=s+"$$"+this.cloneIndex+++"$$";return an(yt,ct),ct}var Mo=function(s,v){var j=Mr[s.key],R=ce[j];if(R instanceof Ir)E("q"),E(Eo(v)),R.gState&&p.setGState(R.gState),E(s.matrix.toString()+" cm"),E("/"+j+" sh"),E("Q");else if(R instanceof Xr){var X=new zt(1,0,0,-1,0,mr());s.matrix&&(X=X.multiply(s.matrix||Vn),j=Bo.call(R,s.key,s.boundingBox,s.xStep,s.yStep,X).id),E("q"),E("/Pattern cs"),E("/"+j+" scn"),R.gState&&p.setGState(R.gState),E(v),E("Q")}},Eo=function(s){switch(s){case"f":case"F":return"W n";case"f*":return"W* n";case"B":return"W S";case"B*":return"W* S";case"S":return"W S";case"n":return"W n"}},Ri=p.moveTo=function(s,v){return E(tt(k(s))+" "+tt(D(v))+" m"),this},Dr=p.lineTo=function(s,v){return E(tt(k(s))+" "+tt(D(v))+" l"),this},pr=p.curveTo=function(s,v,j,R,X,ct){return E([tt(k(s)),tt(D(v)),tt(k(j)),tt(D(R)),tt(k(X)),tt(D(ct)),"c"].join(" ")),this};p.__private__.line=p.line=function(s,v,j,R,X){if(isNaN(s)||isNaN(v)||isNaN(j)||isNaN(R)||!Yn(X))throw new Error("Invalid arguments passed to jsPDF.line");return Y===B.COMPAT?this.lines([[j-s,R-v]],s,v,[1,1],X||"S"):this.lines([[j-s,R-v]],s,v,[1,1]).stroke()},p.__private__.lines=p.lines=function(s,v,j,R,X,ct){var yt,Ot,Dt,Zt,Yt,re,Ne,Se,Me,Xe,ze,Bn;if(typeof s=="number"&&(Bn=j,j=v,v=s,s=Bn),R=R||[1,1],ct=ct||!1,isNaN(v)||isNaN(j)||!Array.isArray(s)||!Array.isArray(R)||!Yn(X)||typeof ct!="boolean")throw new Error("Invalid arguments passed to jsPDF.lines");for(Ri(v,j),yt=R[0],Ot=R[1],Zt=s.length,Xe=v,ze=j,Dt=0;Dt<Zt;Dt++)(Yt=s[Dt]).length===2?(Xe=Yt[0]*yt+Xe,ze=Yt[1]*Ot+ze,Dr(Xe,ze)):(re=Yt[0]*yt+Xe,Ne=Yt[1]*Ot+ze,Se=Yt[2]*yt+Xe,Me=Yt[3]*Ot+ze,Xe=Yt[4]*yt+Xe,ze=Yt[5]*Ot+ze,pr(re,Ne,Se,Me,Xe,ze));return ct&&Ca(),Di(X),this},p.path=function(s){for(var v=0;v<s.length;v++){var j=s[v],R=j.c;switch(j.op){case"m":Ri(R[0],R[1]);break;case"l":Dr(R[0],R[1]);break;case"c":pr.apply(this,R);break;case"h":Ca()}}return this},p.__private__.rect=p.rect=function(s,v,j,R,X){if(isNaN(s)||isNaN(v)||isNaN(j)||isNaN(R)||!Yn(X))throw new Error("Invalid arguments passed to jsPDF.rect");return Y===B.COMPAT&&(R=-R),E([tt(k(s)),tt(D(v)),tt(k(j)),tt(k(R)),"re"].join(" ")),Di(X),this},p.__private__.triangle=p.triangle=function(s,v,j,R,X,ct,yt){if(isNaN(s)||isNaN(v)||isNaN(j)||isNaN(R)||isNaN(X)||isNaN(ct)||!Yn(yt))throw new Error("Invalid arguments passed to jsPDF.triangle");return this.lines([[j-s,R-v],[X-j,ct-R],[s-X,v-ct]],s,v,[1,1],yt,!0),this},p.__private__.roundedRect=p.roundedRect=function(s,v,j,R,X,ct,yt){if(isNaN(s)||isNaN(v)||isNaN(j)||isNaN(R)||isNaN(X)||isNaN(ct)||!Yn(yt))throw new Error("Invalid arguments passed to jsPDF.roundedRect");var Ot=4/3*(Math.SQRT2-1);return X=Math.min(X,.5*j),ct=Math.min(ct,.5*R),this.lines([[j-2*X,0],[X*Ot,0,X,ct-ct*Ot,X,ct],[0,R-2*ct],[0,ct*Ot,-X*Ot,ct,-X,ct],[2*X-j,0],[-X*Ot,0,-X,-ct*Ot,-X,-ct],[0,2*ct-R],[0,-ct*Ot,X*Ot,-ct,X,-ct]],s+X,v,[1,1],yt,!0),this},p.__private__.ellipse=p.ellipse=function(s,v,j,R,X){if(isNaN(s)||isNaN(v)||isNaN(j)||isNaN(R)||!Yn(X))throw new Error("Invalid arguments passed to jsPDF.ellipse");var ct=4/3*(Math.SQRT2-1)*j,yt=4/3*(Math.SQRT2-1)*R;return Ri(s+j,v),pr(s+j,v-yt,s+ct,v-R,s,v-R),pr(s-ct,v-R,s-j,v-yt,s-j,v),pr(s-j,v+yt,s-ct,v+R,s,v+R),pr(s+ct,v+R,s+j,v+yt,s+j,v),Di(X),this},p.__private__.circle=p.circle=function(s,v,j,R){if(isNaN(s)||isNaN(v)||isNaN(j)||!Yn(R))throw new Error("Invalid arguments passed to jsPDF.circle");return this.ellipse(s,v,j,j,R)},p.setFont=function(s,v,j){return j&&(v=wt(v,j)),ee=Pa(s,v,{disableWarning:!1}),this};var qo=p.__private__.getFont=p.getFont=function(){return ge[Pa.apply(p,arguments)]};p.__private__.getFontList=p.getFontList=function(){var s,v,j={};for(s in Le)if(Le.hasOwnProperty(s))for(v in j[s]=[],Le[s])Le[s].hasOwnProperty(v)&&j[s].push(v);return j},p.addFont=function(s,v,j,R, Line truncated
`),o}},xs=function(r,e){var n=r.fontSize===0?r.maxFontSize:r.fontSize,a={text:"",fontSize:""},c=(e=(e=e.substr(0,1)=="("?e.substr(1):e).substr(e.length-1)==")"?e.substr(0,e.length-1):e).split(" ");c=r.multiline?c.map(function(P){return P.split(`
`)}):c.map(function(P){return[P]});var o=n,l=Mt.internal.getHeight(r)||0;l=l<0?-l:l;var h=Mt.internal.getWidth(r)||0;h=h<0?-h:h;var f=function(P,k,W){if(P+1<c.length){var D=k+" "+c[P+1][0];return lo(D,r,W).width<=h-4}return!1};o++;t:for(;o>0;){e="",o--;var g,y,w=lo("3",r,o).height,S=r.multiline?l-o:(l-w)/2,p=S+=2,O=0,F=0,q=0;if(o<=0){e=`(...) Tj
`,e+="% Width of Text: "+lo(e,r,o=12).width+", FieldWidth:"+h+`
`;break}for(var _="",B=0,Y=0;Y<c.length;Y++)if(c.hasOwnProperty(Y)){var ot=!1;if(c[Y].length!==1&&q!==c[Y].length-1){if((w+2)*(B+2)+2>l)continue t;_+=c[Y][q],ot=!0,F=Y,Y--}else{_=(_+=c[Y][q]+" ").substr(_.length-1)==" "?_.substr(0,_.length-1):_;var lt=parseInt(Y),wt=f(lt,_,o),tt=Y>=c.length-1;if(wt&&!tt){_+=" ",q=0;continue}if(wt||tt){if(tt)F=lt;else if(r.multiline&&(w+2)*(B+2)+2>l)continue t}else{if(!r.multiline||(w+2)*(B+2)+2>l)continue t;F=lt}}for(var z="",rt=O;rt<=F;rt++){var pt=c[rt];if(r.multiline){if(rt===F){z+=pt[q]+" ",q=(q+1)%pt.length;continue}if(rt===O){z+=pt[pt.length-1]+" ";continue}}z+=pt[0]+" "}switch(z=z.substr(z.length-1)==" "?z.substr(0,z.length-1):z,y=lo(z,r,o).width,r.textAlign){case"right":g=h-y-2;break;case"center":g=(h-y)/2;break;case"left":default:g=2}e+=Xt(g)+" "+Xt(p)+` Td
`,e+="("+ti(z)+`) Tj
`,e+=-Xt(g)+` 0 Td
`,p=-(o+2),y=0,O=ot?F:F+1,B++,_=""}break}return a.text=e,a.fontSize=o,a},lo=function(r,e,n){var a=e.scope.internal.getFont(e.fontName,e.fontStyle),c=e.scope.getStringUnitWidth(r,{font:a,fontSize:parseFloat(n),charSpace:0})*parseFloat(n);return{height:e.scope.getStringUnitWidth("3",{font:a,fontSize:parseFloat(n),charSpace:0})*parseFloat(n)*1.5,width:c}},$u={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},Qu=function(r,e){var n={type:"reference",object:r};e.internal.getPageInfo(r.page).pageContext.annotations.find(function(a){return a.type===n.type&&a.object===n.object})===void 0&&e.internal.getPageInfo(r.page).pageContext.annotations.push(n)},t1=function(r,e){for(var n in r)if(r.hasOwnProperty(n)){var a=n,c=r[n];e.internal.newObjectDeferredBegin(c.objId,!0),fe(c)==="object"&&typeof c.putStream=="function"&&c.putStream(),delete r[a]}},e1=function(r,e){if(e.scope=r,r.internal!==void 0&&(r.internal.acroformPlugin===void 0||r.internal.acroformPlugin.isInitialized===!1)){if(Tn.FieldNum=0,r.internal.acroformPlugin=JSON.parse(JSON.stringify($u)),r.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error("Exception while creating AcroformDictionary");Fs=r.internal.scaleFactor,r.internal.acroformPlugin.acroFormDictionaryRoot=new Dc,r.internal.acroformPlugin.acroFormDictionaryRoot.scope=r,r.internal.acroformPlugin.acroFormDictionaryRoot._eventID=r.internal.events.subscribe("postPutResources",function(){(function(n){n.internal.events.unsubscribe(n.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete n.internal.acroformPlugin.acroFormDictionaryRoot._eventID,n.internal.acroformPlugin.printedOut=!0})(r)}),r.internal.events.subscribe("buildDocument",function(){(function(n){n.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var a=n.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var c in a)if(a.hasOwnProperty(c)){var o=a[c];o.objId=void 0,o.hasAnnotation&&Qu(o,n)}})(r)}),r.internal.events.subscribe("putCatalog",function(){(function(n){if(n.internal.acroformPlugin.acroFormDictionaryRoot===void 0)throw new Error("putCatalogCallback: Root missing.");n.internal.write("/AcroForm "+n.internal.acroformPlugin.acroFormDictionaryRoot.objId+" 0 R")})(r)}),r.internal.events.subscribe("postPutPages",function(n){(function(a,c){var o=!a;for(var l in a||(c.internal.newObjectDeferredBegin(c.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),c.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),a=a||c.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(a.hasOwnProperty(l)){var h=a[l],f=[],g=h.Rect;if(h.Rect&&(h.Rect=Ku(h.Rect,c)),c.internal.newObjectDeferredBegin(h.objId,!0),h.DA=Mt.createDefaultAppearanceStream(h),fe(h)==="object"&&typeof h.getKeyValueListForStream=="function"&&(f=h.getKeyValueListForStream()),h.Rect=g,h.hasAppearanceStream&&!h.appearanceStreamContent){var y=Zu(h);f.push({key:"AP",value:"<</N "+y+">>"}),c.internal.acroformPlugin.xForms.push(y)}if(h.appearanceStreamContent){var w="";for(var S in h.appearanceStreamContent)if(h.appearanceStreamContent.hasOwnProperty(S)){var p=h.appearanceStreamContent[S];if(w+="/"+S+" ",w+="<<",Object.keys(p).length>=1||Array.isArray(p)){for(var l in p)if(p.hasOwnProperty(l)){var O=p[l];typeof O=="function"&&(O=O.call(c,h)),w+="/"+l+" "+O+" ",c.internal.acroformPlugin.xForms.indexOf(O)>=0||c.internal.acroformPlugin.xForms.push(O)}}else typeof(O=p)=="function"&&(O=O.call(c,h)),w+="/"+l+" "+O,c.internal.acroformPlugin.xForms.indexOf(O)>=0||c.internal.acroformPlugin.xForms.push(O);w+=">>"}f.push({key:"AP",value:`<<
`+w+">>"})}c.internal.putStream({additionalKeyValues:f,objectId:h.objId}),c.internal.out("endobj")}o&&t1(c.internal.acroformPlugin.xForms,c)})(n,r)}),r.internal.acroformPlugin.isInitialized=!0}},Ec=Pe.__acroform__.arrayToPdfArray=function(r,e,n){var a=function(l){return l};if(Array.isArray(r)){for(var c="[",o=0;o<r.length;o++)switch(o!==0&&(c+=" "),fe(r[o])){case"boolean":case"number":case"object":c+=r[o].toString();break;case"string":r[o].substr(0,1)!=="/"?(e!==void 0&&n&&(a=n.internal.getEncryptor(e)),c+="("+ti(a(r[o].toString()))+")"):c+=r[o].toString()}return c+="]"}throw new Error("Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray")},fs=function(r,e,n){var a=function(c){return c};return e!==void 0&&n&&(a=n.internal.getEncryptor(e)),(r=r||"").toString(),r="("+ti(a(r))+")"},Qn=function(){this._objId=void 0,this._scope=void 0,Object.defineProperty(this,"objId",{get:function(){if(this._objId===void 0){if(this.scope===void 0)return;this._objId=this.scope.internal.newObjectDeferred()}return this._objId},set:function(r){this._objId=r}}),Object.defineProperty(this,"scope",{value:this._scope,writable:!0})};Qn.prototype.toString=function(){return this.objId+" 0 R"},Qn.prototype.putStream=function(){var r=this.getKeyValueListForStream();this.scope.internal.putStream({data:this.stream,additionalKeyValues:r,objectId:this.objId}),this.scope.internal.out("endobj")},Qn.prototype.getKeyValueListForStream=function(){var r=[],e=Object.getOwnPropertyNames(this).filter(function(o){return o!="content"&&o!="appearanceStreamContent"&&o!="scope"&&o!="objId"&&o.substring(0,1)!="_"});for(var n in e)if(Object.getOwnPropertyDescriptor(this,e[n]).configurable===!1){var a=e[n],c=this[a];c&&(Array.isArray(c)?r.push({key:a,value:Ec(c,this.objId,this.scope)}):c instanceof Qn?(c.scope=this.scope,r.push({key:a,value:c.objId+" 0 R"})):typeof c!="function"&&r.push({key:a,value:c}))}return r};var qc=function(){Qn.call(this),Object.defineProperty(this,"Type",{value:"/XObject",configurable:!1,writable:!0}),Object.defineProperty(this,"Subtype",{value:"/Form",configurable:!1,writable:!0}),Object.defineProperty(this,"FormType",{value:1,configurable:!1,writable:!0});var r,e=[];Object.defineProperty(this,"BBox",{configurable:!1,get:function(){return e},set:function(n){e=n}}),Object.defineProperty(this,"Resources",{value:"2 0 R",configurable:!1,writable:!0}),Object.defineProperty(this,"stream",{enumerable:!1,configurable:!0,set:function(n){r=n.trim()},get:function(){return r||null}})};hn(qc,Qn);var Dc=function(){Qn.call(this);var r,e=[];Object.defineProperty(this,"Kids",{enumerable:!1,configurable:!0,get:function(){return e.length>0?e:void 0}}),Object.defineProperty(this,"Fields",{enumerable:!1,configurable:!1,get:function(){return e}}),Object.defineProperty(this,"DA",{enumerable:!1,configurable:!1,get:function(){if(r){var n=function(a){return a};return this.scope&&(n=this.scope.internal.getEncryptor(this.objId)),"("+ti(n(r))+")"}},set:function(n){r=n}})};hn(Dc,Qn);var Tn=function r(){Qn.call(this);var e=4;Object.defineProperty(this,"F",{enumerable:!1,configurable:!1,get:function(){return e},set:function(_){if(isNaN(_))throw new Error('Invalid value "'+_+'" for attribute F supplied.');e=_}}),Object.defineProperty(this,"showWhenPrinted",{enumerable:!0,configurable:!0,get:function(){return!!Ce(e,3)},set:function(_){_?this.F=je(e,3):this.F=Oe(e,3)}});var n=0;Object.defineProperty(this,"Ff",{enumerable:!1,configurable:!1,get:function(){return n},set:function(_){if(isNaN(_))throw new Error('Invalid value "'+_+'" for attribute Ff supplied.');n=_}});var a=[];Object.defineProperty(this,"Rect",{enumerable:!1,configurable:!1,get:function(){if(a.length!==0)return a},set:function(_){a=_!==void 0?_:[]}}),Object.defineProperty(this,"x",{enumerable:!0,configurable:!0,get:function(){return!a||isNaN(a[0])?0:a[0]},set:function(_){a[0]=_}}),Object.defineProperty(this,"y",{enumerable:!0,configurable:!0,get:function(){return!a||isNaN(a[1])?0:a[1]},set:function(_){a[1]=_}}),Object.defineProperty(this,"width",{enumerable:!0,configurable:!0,get:function(){return!a||isNaN(a[2])?0:a[2]},set:function(_){a[2]=_}}),Object.defineProperty(this,"height",{enumerable:!0,configurable:!0,get:function(){return!a||isNaN(a[3])?0:a[3]},set:function(_){a[3]=_}});var c="";Object.defineProperty(this,"FT",{enumerable:!0,configurable:!1,get:function(){return c},set:function(_){switch(_){case"/Btn":case"/Tx":case"/Ch":case"/Sig":c=_;break;default:throw new Error('Invalid value "'+_+'" for attribute FT supplied.')}}});var o=null;Object.defineProperty(this,"T",{enumerable:!0,configurable:!1,get:function(){if(!o||o.length<1){if(this instanceof po)return;o="FieldObject"+r.FieldNum++}var _=function(B){return B};return this.scope&&(_=this.scope.internal.getEncryptor(this.objId)),"("+ti(_(o))+")"},set:function(_){o=_.toString()}}),Object.defineProperty(this,"fieldName",{configurable:!0,enumerable:!0,get:function(){return o},set:function(_){o=_}});var l="helvetica";Object.defineProperty(t Line truncated
`)}},set:function(n){fe(n)==="object"&&(e=n)}}),Object.defineProperty(this,"caption",{enumerable:!0,configurable:!0,get:function(){return e.CA||""},set:function(n){typeof n=="string"&&(e.CA=n)}}),Object.defineProperty(this,"AS",{enumerable:!1,configurable:!1,get:function(){return r},set:function(n){r=n}}),Object.defineProperty(this,"appearanceState",{enumerable:!0,configurable:!0,get:function(){return r.substr(1,r.length-1)},set:function(n){r="/"+n}})};hn(Te,Tn);var pa=function(){Te.call(this),this.pushButton=!0};hn(pa,Te);var Qr=function(){Te.call(this),this.radio=!0,this.pushButton=!1;var r=[];Object.defineProperty(this,"Kids",{enumerable:!0,configurable:!1,get:function(){return r},set:function(e){r=e!==void 0?e:[]}})};hn(Qr,Te);var po=function(){var r,e;Tn.call(this),Object.defineProperty(this,"Parent",{enumerable:!1,configurable:!1,get:function(){return r},set:function(c){r=c}}),Object.defineProperty(this,"optionName",{enumerable:!1,configurable:!0,get:function(){return e},set:function(c){e=c}});var n,a={};Object.defineProperty(this,"MK",{enumerable:!1,configurable:!1,get:function(){var c=function(h){return h};this.scope&&(c=this.scope.internal.getEncryptor(this.objId));var o,l=[];for(o in l.push("<<"),a)l.push("/"+o+" ("+ti(c(a[o]))+")");return l.push(">>"),l.join(`
`)},set:function(c){fe(c)==="object"&&(a=c)}}),Object.defineProperty(this,"caption",{enumerable:!0,configurable:!0,get:function(){return a.CA||""},set:function(c){typeof c=="string"&&(a.CA=c)}}),Object.defineProperty(this,"AS",{enumerable:!1,configurable:!1,get:function(){return n},set:function(c){n=c}}),Object.defineProperty(this,"appearanceState",{enumerable:!0,configurable:!0,get:function(){return n.substr(1,n.length-1)},set:function(c){n="/"+c}}),this.caption="l",this.appearanceState="Off",this._AppearanceType=Mt.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(this.optionName)};hn(po,Tn),Qr.prototype.setAppearance=function(r){if(!("createAppearanceStream"in r)||!("getCA"in r))throw new Error("Couldn't assign Appearance to RadioButton. Appearance was Invalid!");for(var e in this.Kids)if(this.Kids.hasOwnProperty(e)){var n=this.Kids[e];n.appearanceStreamContent=r.createAppearanceStream(n.optionName),n.caption=r.getCA()}},Qr.prototype.createOption=function(r){var e=new po;return e.Parent=this,e.optionName=r,this.Kids.push(e),n1.call(this.scope,e),e};var ga=function(){Te.call(this),this.fontName="zapfdingbats",this.caption="3",this.appearanceState="On",this.value="On",this.textAlign="center",this.appearanceStreamContent=Mt.CheckBox.createAppearanceStream()};hn(ga,Te);var jr=function(){Tn.call(this),this.FT="/Tx",Object.defineProperty(this,"multiline",{enumerable:!0,configurable:!0,get:function(){return!!Ce(this.Ff,13)},set:function(e){e?this.Ff=je(this.Ff,13):this.Ff=Oe(this.Ff,13)}}),Object.defineProperty(this,"fileSelect",{enumerable:!0,configurable:!0,get:function(){return!!Ce(this.Ff,21)},set:function(e){e?this.Ff=je(this.Ff,21):this.Ff=Oe(this.Ff,21)}}),Object.defineProperty(this,"doNotSpellCheck",{enumerable:!0,configurable:!0,get:function(){return!!Ce(this.Ff,23)},set:function(e){e?this.Ff=je(this.Ff,23):this.Ff=Oe(this.Ff,23)}}),Object.defineProperty(this,"doNotScroll",{enumerable:!0,configurable:!0,get:function(){return!!Ce(this.Ff,24)},set:function(e){e?this.Ff=je(this.Ff,24):this.Ff=Oe(this.Ff,24)}}),Object.defineProperty(this,"comb",{enumerable:!0,configurable:!0,get:function(){return!!Ce(this.Ff,25)},set:function(e){e?this.Ff=je(this.Ff,25):this.Ff=Oe(this.Ff,25)}}),Object.defineProperty(this,"richText",{enumerable:!0,configurable:!0,get:function(){return!!Ce(this.Ff,26)},set:function(e){e?this.Ff=je(this.Ff,26):this.Ff=Oe(this.Ff,26)}});var r=null;Object.defineProperty(this,"MaxLen",{enumerable:!0,configurable:!1,get:function(){return r},set:function(e){r=e}}),Object.defineProperty(this,"maxLength",{enumerable:!0,configurable:!0,get:function(){return r},set:function(e){Number.isInteger(e)&&(r=e)}}),Object.defineProperty(this,"hasAppearanceStream",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};hn(jr,Tn);var ma=function(){jr.call(this),Object.defineProperty(this,"password",{enumerable:!0,configurable:!0,get:function(){return!!Ce(this.Ff,14)},set:function(r){r?this.Ff=je(this.Ff,14):this.Ff=Oe(this.Ff,14)}}),this.password=!0};hn(ma,jr);var Mt={CheckBox:{createAppearanceStream:function(){return{N:{On:Mt.CheckBox.YesNormal},D:{On:Mt.CheckBox.YesPushDown,Off:Mt.CheckBox.OffPushDown}}},YesPushDown:function(r){var e=$n(r);e.scope=r.scope;var n=[],a=r.scope.internal.getFont(r.fontName,r.fontStyle).id,c=r.scope.__private__.encodeColorString(r.color),o=xs(r,r.caption);return n.push("0.749023 g"),n.push("0 0 "+Xt(Mt.internal.getWidth(r))+" "+Xt(Mt.internal.getHeight(r))+" re"),n.push("f"),n.push("BMC"),n.push("q"),n.push("0 0 1 rg"),n.push("/"+a+" "+Xt(o.fontSize)+" Tf "+c),n.push("BT"),n.push(o.text),n.push("ET"),n.push("Q"),n.push("EMC"),e.stream=n.join(`
`),e},YesNormal:function(r){var e=$n(r);e.scope=r.scope;var n=r.scope.internal.getFont(r.fontName,r.fontStyle).id,a=r.scope.__private__.encodeColorString(r.color),c=[],o=Mt.internal.getHeight(r),l=Mt.internal.getWidth(r),h=xs(r,r.caption);return c.push("1 g"),c.push("0 0 "+Xt(l)+" "+Xt(o)+" re"),c.push("f"),c.push("q"),c.push("0 0 1 rg"),c.push("0 0 "+Xt(l-1)+" "+Xt(o-1)+" re"),c.push("W"),c.push("n"),c.push("0 g"),c.push("BT"),c.push("/"+n+" "+Xt(h.fontSize)+" Tf "+a),c.push(h.text),c.push("ET"),c.push("Q"),e.stream=c.join(`
`),e},OffPushDown:function(r){var e=$n(r);e.scope=r.scope;var n=[];return n.push("0.749023 g"),n.push("0 0 "+Xt(Mt.internal.getWidth(r))+" "+Xt(Mt.internal.getHeight(r))+" re"),n.push("f"),e.stream=n.join(`
`),e}},RadioButton:{Circle:{createAppearanceStream:function(r){var e={D:{Off:Mt.RadioButton.Circle.OffPushDown},N:{}};return e.N[r]=Mt.RadioButton.Circle.YesNormal,e.D[r]=Mt.RadioButton.Circle.YesPushDown,e},getCA:function(){return"l"},YesNormal:function(r){var e=$n(r);e.scope=r.scope;var n=[],a=Mt.internal.getWidth(r)<=Mt.internal.getHeight(r)?Mt.internal.getWidth(r)/4:Mt.internal.getHeight(r)/4;a=Number((.9*a).toFixed(5));var c=Mt.internal.Bezier_C,o=Number((a*c).toFixed(5));return n.push("q"),n.push("1 0 0 1 "+Fr(Mt.internal.getWidth(r)/2)+" "+Fr(Mt.internal.getHeight(r)/2)+" cm"),n.push(a+" 0 m"),n.push(a+" "+o+" "+o+" "+a+" 0 "+a+" c"),n.push("-"+o+" "+a+" -"+a+" "+o+" -"+a+" 0 c"),n.push("-"+a+" -"+o+" -"+o+" -"+a+" 0 -"+a+" c"),n.push(o+" -"+a+" "+a+" -"+o+" "+a+" 0 c"),n.push("f"),n.push("Q"),e.stream=n.join(`
`),e},YesPushDown:function(r){var e=$n(r);e.scope=r.scope;var n=[],a=Mt.internal.getWidth(r)<=Mt.internal.getHeight(r)?Mt.internal.getWidth(r)/4:Mt.internal.getHeight(r)/4;a=Number((.9*a).toFixed(5));var c=Number((2*a).toFixed(5)),o=Number((c*Mt.internal.Bezier_C).toFixed(5)),l=Number((a*Mt.internal.Bezier_C).toFixed(5));return n.push("0.749023 g"),n.push("q"),n.push("1 0 0 1 "+Fr(Mt.internal.getWidth(r)/2)+" "+Fr(Mt.internal.getHeight(r)/2)+" cm"),n.push(c+" 0 m"),n.push(c+" "+o+" "+o+" "+c+" 0 "+c+" c"),n.push("-"+o+" "+c+" -"+c+" "+o+" -"+c+" 0 c"),n.push("-"+c+" -"+o+" -"+o+" -"+c+" 0 -"+c+" c"),n.push(o+" -"+c+" "+c+" -"+o+" "+c+" 0 c"),n.push("f"),n.push("Q"),n.push("0 g"),n.push("q"),n.push("1 0 0 1 "+Fr(Mt.internal.getWidth(r)/2)+" "+Fr(Mt.internal.getHeight(r)/2)+" cm"),n.push(a+" 0 m"),n.push(a+" "+l+" "+l+" "+a+" 0 "+a+" c"),n.push("-"+l+" "+a+" -"+a+" "+l+" -"+a+" 0 c"),n.push("-"+a+" -"+l+" -"+l+" -"+a+" 0 -"+a+" c"),n.push(l+" -"+a+" "+a+" -"+l+" "+a+" 0 c"),n.push("f"),n.push("Q"),e.stream=n.join(`
`),e},OffPushDown:function(r){var e=$n(r);e.scope=r.scope;var n=[],a=Mt.internal.getWidth(r)<=Mt.internal.getHeight(r)?Mt.internal.getWidth(r)/4:Mt.internal.getHeight(r)/4;a=Number((.9*a).toFixed(5));var c=Number((2*a).toFixed(5)),o=Number((c*Mt.internal.Bezier_C).toFixed(5));return n.push("0.749023 g"),n.push("q"),n.push("1 0 0 1 "+Fr(Mt.internal.getWidth(r)/2)+" "+Fr(Mt.internal.getHeight(r)/2)+" cm"),n.push(c+" 0 m"),n.push(c+" "+o+" "+o+" "+c+" 0 "+c+" c"),n.push("-"+o+" "+c+" -"+c+" "+o+" -"+c+" 0 c"),n.push("-"+c+" -"+o+" -"+o+" -"+c+" 0 -"+c+" c"),n.push(o+" -"+c+" "+c+" -"+o+" "+c+" 0 c"),n.push("f"),n.push("Q"),e.stream=n.join(`
`),e}},Cross:{createAppearanceStream:function(r){var e={D:{Off:Mt.RadioButton.Cross.OffPushDown},N:{}};return e.N[r]=Mt.RadioButton.Cross.YesNormal,e.D[r]=Mt.RadioButton.Cross.YesPushDown,e},getCA:function(){return"8"},YesNormal:function(r){var e=$n(r);e.scope=r.scope;var n=[],a=Mt.internal.calculateCross(r);return n.push("q"),n.push("1 1 "+Xt(Mt.internal.getWidth(r)-2)+" "+Xt(Mt.internal.getHeight(r)-2)+" re"),n.push("W"),n.push("n"),n.push(Xt(a.x1.x)+" "+Xt(a.x1.y)+" m"),n.push(Xt(a.x2.x)+" "+Xt(a.x2.y)+" l"),n.push(Xt(a.x4.x)+" "+Xt(a.x4.y)+" m"),n.push(Xt(a.x3.x)+" "+Xt(a.x3.y)+" l"),n.push("s"),n.push("Q"),e.stream=n.join(`
`),e},YesPushDown:function(r){var e=$n(r);e.scope=r.scope;var n=Mt.internal.calculateCross(r),a=[];return a.push("0.749023 g"),a.push("0 0 "+Xt(Mt.internal.getWidth(r))+" "+Xt(Mt.internal.getHeight(r))+" re"),a.push("f"),a.push("q"),a.push("1 1 "+Xt(Mt.internal.getWidth(r)-2)+" "+Xt(Mt.internal.getHeight(r)-2)+" re"),a.push("W"),a.push("n"),a.push(Xt(n.x1.x)+" "+Xt(n.x1.y)+" m"),a.push(Xt(n.x2.x)+" "+Xt(n.x2.y)+" l"),a.push(Xt(n.x4.x)+" "+Xt(n.x4.y)+" m"),a.push(Xt(n.x3.x)+" "+Xt(n.x3.y)+" l"),a.push("s"),a.push("Q"),e.stream=a.join(`
`),e},OffPushDown:function(r){var e=$n(r);e.scope=r.scope;var n=[];return n.push("0.749023 g"),n.push("0 0 "+Xt(Mt.internal.getWidth(r))+" "+Xt(Mt.internal.getHeight(r))+" re"),n.push("f"),e.stream=n.join(`
`),e}}},createDefaultAppearanceStream:function(r){var e=r.scope.internal.getFont(r.fontName,r.fontStyle).id,n=r.scope.__private__.encodeColorString(r.color);return"/"+e+" "+r.fontSize+" Tf "+n}};Mt.internal={Bezier_C:.551915024494,calculateCross:function(r){var e=Mt.internal.getWidth(r),n=Mt.internal.getHeight(r),a=Math.min(e,n);return{x1:{x:(e-a)/2,y:(n-a)/2+a},x2:{x:(e-a)/2+a,y:(n-a)/2},x3:{x:(e-a)/2,y:(n-a)/2},x4:{x:(e-a)/2+a,y:(n-a)/2+a}}}},Mt.internal.getWidth=function(r){var e=0;return fe(r)==="object"&&(e=hc(r.Rect[2])),e},Mt.internal.getHeight=function(r){var e=0;return fe(r)==="object"&&(e=hc(r.Rect[3])),e};var n1=Pe.addField=function(r){if(e1(this,r),!(r instanceof Tn))throw new Error("Invalid argument passed to jsPDF.addField.");var e;return(e=r).scope.internal.acroformPlugin.printedOut&&(e.scope.internal.acroformPlugin.printedOut=!1,e.scope.internal.acroformPlugin.acroFormDictionaryRoot=null),e.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(e),r.page=r.scope.internal.getCurrentPageInfo().pageNumber,this};Pe.AcroFormChoiceField=Kr,Pe.AcroFormListBox=Zr,Pe.AcroFormComboBox=$r,Pe.AcroFormEditBox=da,Pe.AcroFormButton=Te,Pe.AcroFormPushButton=pa,Pe.AcroFormRadioButton=Qr,Pe.AcroFormCheckBox=ga,Pe.AcroFormTextField=jr,Pe.AcroFormPasswordField=ma,Pe.AcroFormAppearance=Mt,Pe.AcroForm={ChoiceField:Kr,ListBox:Zr,ComboBox:$r,EditBox:da,Button:Te,PushButton:pa,RadioButton:Qr,CheckBox:ga,TextField:jr,PasswordField:ma,Appearance:Mt},Tt.AcroForm={ChoiceField:Kr,ListBox:Zr,ComboBox:$r,EditBox:da,Button:Te,PushButton:pa,RadioButton:Qr,CheckBox:ga,TextField:jr,PasswordField:ma,Appearance:Mt};Tt.AcroForm;function Rc(r){return r.reduce(function(e,n,a){return e[n]=a,e},{})}(function(r){r.__addimage__={};var e="UNKNOWN",n={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0],[255,216,255,219],[255,216,255,238]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],WEBP:[[82,73,70,70,void 0,void 0,void 0,void 0,87,69,66,80]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},a=r.__addimage__.getImageFileTypeByImageData=function(P,k){var W,D,st,it,ht,$=e;if((k=k||e)==="RGBA"||P.data!==void 0&&P.data instanceof Uint8ClampedArray&&"height"in P&&"width"in P)return"RGBA";if(wt(P))for(ht in n)for(st=n[ht],W=0;W<st.length;W+=1){for(it=!0,D=0;D<st[W].length;D+=1)if(st[W][D]!==void 0&&st[W][D]!==P[D]){it=!1;break}if(it===!0){$=ht;break}}else for(ht in n)for(st=n[ht],W=0;W<st.length;W+=1){for(it=!0,D=0;D<st[W].length;D+=1)if(st[W][D]!==void 0&&st[W][D]!==P.charCodeAt(D)){it=!1;break}if(it===!0){$=ht;break}}return $===e&&k!==e&&($=k),$},c=function P(k){for(var W=this.internal.write,D=this.internal.putStream,st=(0,this.internal.getFilters)();st.indexOf("FlateEncode")!==-1;)st.splice(st.indexOf("FlateEncode"),1);k.objectId=this.internal.newObject();var it=[];if(it.push({key:"Type",value:"/XObject"}),it.push({key:"Subtype",value:"/Image"}),it.push({key:"Width",value:k.width}),it.push({key:"Height",value:k.height}),k.colorSpace===q.INDEXED?it.push({key:"ColorSpace",value:"[/Indexed /DeviceRGB "+(k.palette.length/3-1)+" "+("sMask"in k&&k.sMask!==void 0?k.objectId+2:k.objectId+1)+" 0 R]"}):(it.push({key:"ColorSpace",value:"/"+k.colorSpace}),k.colorSpace===q.DEVICE_CMYK&&it.push({key:"Decode",value:"[1 0 1 0 1 0 1 0]"})),it.push({key:"BitsPerComponent",value:k.bitsPerComponent}),"decodeParameters"in k&&k.decodeParameters!==void 0&&it.push({key:"DecodeParms",value:"<<"+k.decodeParameters+">>"}),"transparency"in k&&Array.isArray(k.transparency)){for(var ht="",$=0,ut=k.transparency.length;$<ut;$++)ht+=k.transparency[$]+" "+k.transparency[$]+" ";it.push({key:"Mask",value:"["+ht+"]"})}k.sMask!==void 0&&it.push({key:"SMask",value:k.objectId+1+" 0 R"});var dt=k.filter!==void 0?["/"+k.filter]:void 0;if(D({data:k.data,additionalKeyValues:it,alreadyAppliedFilters:dt,objectId:k.objectId}),W("endobj"),"sMask"in k&&k.sMask!==void 0){var jt="/Predictor "+k.predictor+" /Colors 1 /BitsPerComponent "+k.bitsPerComponent+" /Columns "+k.width,N={width:k.width,height:k.height,colorSpace:"DeviceGray",bitsPerComponent:k.bitsPerComponent,decodeParameters:jt,data:k.sMask};"filter"in k&&(N.filter=k.filter),P.call(this,N)}if(k.colorSpace===q.INDEXED){var C=this.internal.newObject();D({data:z(new Uint8Array(k.palette)),objectId:C}),W("endobj")}},o=function(){var P=this.internal.collections.addImage_images;for(var k in P)c.call(this,P[k])},l=function(){var P,k=this.internal.collections.addImage_images,W=this.internal.write;for(var D in k)W("/I"+(P=k[D]).index,P.objectId,"0","R")},h=function(){this.internal.collections.addImage_images||(this.internal.collections.addImage_images={},this.internal.events.subscribe("putResources",o),this.internal.events.subscribe("putXobjectDict",l))},f=function(){var P=this.internal.collections.addImage_images;return h.call(this),P},g=function(){return Object.keys(this.in Line truncated
`},n.outline.makeRef=function(a){return a.id+" 0 R"},n.outline.makeString=function(a){return"("+n.internal.pdfEscape(a)+")"},n.outline.objStart=function(a){this.ctx.val+=`\r
`+a.id+` 0 obj\r
<<\r
`},n.outline.objEnd=function(){this.ctx.val+=`>> \r
endobj\r
`},n.outline.count_r=function(a,c){for(var o=0;o<c.children.length;o++)a.count++,this.count_r(a,c.children[o]);return a.count}}])}(Tt.API),function(r){var e=[192,193,194,195,196,197,198,199];r.processJPEG=function(n,a,c,o,l,h){var f,g=this.decode.DCT_DECODE,y=null;if(typeof n=="string"||this.__addimage__.isArrayBuffer(n)||this.__addimage__.isArrayBufferView(n)){switch(n=l||n,n=this.__addimage__.isArrayBuffer(n)?new Uint8Array(n):n,(f=function(w){for(var S,p=256*w.charCodeAt(4)+w.charCodeAt(5),O=w.length,F={width:0,height:0,numcomponents:1},q=4;q<O;q+=2){if(q+=p,e.indexOf(w.charCodeAt(q+1))!==-1){S=256*w.charCodeAt(q+5)+w.charCodeAt(q+6),F={width:256*w.charCodeAt(q+7)+w.charCodeAt(q+8),height:S,numcomponents:w.charCodeAt(q+9)};break}p=256*w.charCodeAt(q+2)+w.charCodeAt(q+3)}return F}(n=this.__addimage__.isArrayBufferView(n)?this.__addimage__.arrayBufferToBinaryString(n):n)).numcomponents){case 1:h=this.color_spaces.DEVICE_GRAY;break;case 4:h=this.color_spaces.DEVICE_CMYK;break;case 3:h=this.color_spaces.DEVICE_RGB}y={data:n,width:f.width,height:f.height,colorSpace:h,bitsPerComponent:8,filter:g,index:a,alias:c}}return y}}(Tt.API);var Ci,fo,bc,yc,wc,c1=function(){var r,e,n;function a(o){var l,h,f,g,y,w,S,p,O,F,q,_,B,Y;for(this.data=o,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.animation=null,this.text={},w=null;;){switch(l=this.readUInt32(),O=(function(){var ot,lt;for(lt=[],ot=0;ot<4;++ot)lt.push(String.fromCharCode(this.data[this.pos++]));return lt}).call(this).join("")){case"IHDR":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case"acTL":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case"PLTE":this.palette=this.read(l);break;case"fcTL":w&&this.animation.frames.push(w),this.pos+=4,w={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()},y=this.readUInt16(),g=this.readUInt16()||100,w.delay=1e3*y/g,w.disposeOp=this.data[this.pos++],w.blendOp=this.data[this.pos++],w.data=[];break;case"IDAT":case"fdAT":for(O==="fdAT"&&(this.pos+=4,l-=4),o=(w!=null?w.data:void 0)||this.imgData,_=0;0<=l?_<l:_>l;0<=l?++_:--_)o.push(this.data[this.pos++]);break;case"tRNS":switch(this.transparency={},this.colorType){case 3:if(f=this.palette.length/3,this.transparency.indexed=this.read(l),this.transparency.indexed.length>f)throw new Error("More transparent colors than palette size");if((F=f-this.transparency.indexed.length)>0)for(B=0;0<=F?B<F:B>F;0<=F?++B:--B)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(l)[0];break;case 2:this.transparency.rgb=this.read(l)}break;case"tEXt":S=(q=this.read(l)).indexOf(0),p=String.fromCharCode.apply(String,q.slice(0,S)),this.text[p]=String.fromCharCode.apply(String,q.slice(S+1));break;case"IEND":return w&&this.animation.frames.push(w),this.colors=(function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}).call(this),this.hasAlphaChannel=(Y=this.colorType)===4||Y===6,h=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*h,this.colorSpace=(function(){switch(this.colors){case 1:return"DeviceGray";case 3:return"DeviceRGB"}}).call(this),void(this.imgData=new Uint8Array(this.imgData));default:this.pos+=l}if(this.pos+=4,this.pos>this.data.length)throw new Error("Incomplete or corrupt PNG file")}}a.prototype.read=function(o){var l,h;for(h=[],l=0;0<=o?l<o:l>o;0<=o?++l:--l)h.push(this.data[this.pos++]);return h},a.prototype.readUInt32=function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},a.prototype.readUInt16=function(){return this.data[this.pos++]<<8|this.data[this.pos++]},a.prototype.decodePixels=function(o){var l=this.pixelBitlength/8,h=new Uint8Array(this.width*this.height*l),f=0,g=this;if(o==null&&(o=this.imgData),o.length===0)return new Uint8Array(0);function y(w,S,p,O){var F,q,_,B,Y,ot,lt,wt,tt,z,rt,pt,P,k,W,D,st,it,ht,$,ut,dt=Math.ceil((g.width-w)/p),jt=Math.ceil((g.height-S)/O),N=g.width==dt&&g.height==jt;for(k=l*dt,pt=N?h:new Uint8Array(k*jt),ot=o.length,P=0,q=0;P<jt&&f<ot;){switch(o[f++]){case 0:for(B=st=0;st<k;B=st+=1)pt[q++]=o[f++];break;case 1:for(B=it=0;it<k;B=it+=1)F=o[f++],Y=B<l?0:pt[q-l],pt[q++]=(F+Y)%256;break;case 2:for(B=ht=0;ht<k;B=ht+=1)F=o[f++],_=(B-B%l)/l,W=P&&pt[(P-1)*k+_*l+B%l],pt[q++]=(W+F)%256;break;case 3:for(B=$=0;$<k;B=$+=1)F=o[f++],_=(B-B%l)/l,Y=B<l?0:pt[q-l],W=P&&pt[(P-1)*k+_*l+B%l],pt[q++]=(F+Math.floor((Y+W)/2))%256;break;case 4:for(B=ut=0;ut<k;B=ut+=1)F=o[f++],_=(B-B%l)/l,Y=B<l?0:pt[q-l],P===0?W=D=0:(W=pt[(P-1)*k+_*l+B%l],D=_&&pt[(P-1)*k+(_-1)*l+B%l]),lt=Y+W-D,wt=Math.abs(lt-Y),z=Math.abs(lt-W),rt=Math.abs(lt-D),tt=wt<=z&&wt<=rt?Y:z<=rt?W:D,pt[q++]=(F+tt)%256;break;default:throw new Error("Invalid Line truncated
* @license
*
* Copyright (c) 2014 James Robb, https://github.com/jamesbrobb
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* ====================================================================
*//**
* @license
* (c) Dean McNamee <dean@gmail.com>, 2013.
*
* https://github.com/deanm/omggif
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
*
* omggif is a JavaScript implementation of a GIF 89a encoder and decoder,
* including animation and compression. It does not rely on any specific
* underlying system, so should run in the browser, Node, or Plask.
*/function u1(r){var e=0;if(r[e++]!==71||r[e++]!==73||r[e++]!==70||r[e++]!==56||(r[e++]+1&253)!=56||r[e++]!==97)throw new Error("Invalid GIF 87a/89a header.");var n=r[e++]|r[e++]<<8,a=r[e++]|r[e++]<<8,c=r[e++],o=c>>7,l=1<<(7&c)+1;r[e++],r[e++];var h=null,f=null;o&&(h=e,f=l,e+=3*l);var g=!0,y=[],w=0,S=null,p=0,O=null;for(this.width=n,this.height=a;g&&e<r.length;)switch(r[e++]){case 33:switch(r[e++]){case 255:if(r[e]!==11||r[e+1]==78&&r[e+2]==69&&r[e+3]==84&&r[e+4]==83&&r[e+5]==67&&r[e+6]==65&&r[e+7]==80&&r[e+8]==69&&r[e+9]==50&&r[e+10]==46&&r[e+11]==48&&r[e+12]==3&&r[e+13]==1&&r[e+16]==0)e+=14,O=r[e++]|r[e++]<<8,e++;else for(e+=12;;){if(!((P=r[e++])>=0))throw Error("Invalid block size");if(P===0)break;e+=P}break;case 249:if(r[e++]!==4||r[e+4]!==0)throw new Error("Invalid graphics extension block.");var F=r[e++];w=r[e++]|r[e++]<<8,S=r[e++],!(1&F)&&(S=null),p=F>>2&7,e++;break;case 254:for(;;){if(!((P=r[e++])>=0))throw Error("Invalid block size");if(P===0)break;e+=P}break;default:throw new Error("Unknown graphic control label: 0x"+r[e-1].toString(16))}break;case 44:var q=r[e++]|r[e++]<<8,_=r[e++]|r[e++]<<8,B=r[e++]|r[e++]<<8,Y=r[e++]|r[e++]<<8,ot=r[e++],lt=ot>>6&1,wt=1<<(7&ot)+1,tt=h,z=f,rt=!1;ot>>7&&(rt=!0,tt=e,z=wt,e+=3*wt);var pt=e;for(e++;;){var P;if(!((P=r[e++])>=0))throw Error("Invalid block size");if(P===0)break;e+=P}y.push({x:q,y:_,width:B,height:Y,has_local_palette:rt,palette_offset:tt,palette_size:z,data_offset:pt,data_length:e-pt,transparent_index:S,interlaced:!!lt,delay:w,disposal:p});break;case 59:g=!1;break;default:throw new Error("Unknown gif block: 0x"+r[e-1].toString(16))}this.numFrames=function(){return y.length},this.loopCount=function(){return O},this.frameInfo=function(k){if(k<0||k>=y.length)throw new Error("Frame index out of range.");return y[k]},this.decodeAndBlitFrameBGRA=function(k,W){var D=this.frameInfo(k),st=D.width*D.height,it=new Uint8Array(st);Lc(r,D.data_offset,it,st);var ht=D.palette_offset,$=D.transparent_index;$===null&&($=256);var ut=D.width,dt=n-ut,jt=ut,N=4*(D.y*n+D.x),C=4*((D.y+D.height)*n+D.x),M=N,T=4*dt;D.interlaced===!0&&(T+=4*n*7);for(var J=8,Q=0,et=it.length;Q<et;++Q){var nt=it[Q];if(jt===0&&(jt=ut,(M+=T)>=C&&(T=4*dt+4*n*(J-1),M=N+(ut+dt)*(J<<1),J>>=1)),nt===$)M+=4;else{var At=r[ht+3*nt],Nt=r[ht+3*nt+1],Ft=r[ht+3*nt+2];W[M++]=Ft,W[M++]=Nt,W[M++]=At,W[M++]=255}--jt}},this.decodeAndBlitFrameRGBA=function(k,W){var D=this.frameInfo(k),st=D.width*D.height,it=new Uint8Array(st);Lc(r,D.data_offset,it,st);var ht=D.palette_offset,$=D.transparent_index;$===null&&($=256);var ut=D.width,dt=n-ut,jt=ut,N=4*(D.y*n+D.x),C=4*((D.y+D.height)*n+D.x),M=N,T=4*dt;D.interlaced===!0&&(T+=4*n*7);for(var J=8,Q=0,et=it.length;Q<et;++Q){var nt=it[Q];if(jt===0&&(jt=ut,(M+=T)>=C&&(T=4*dt+4*n*(J-1),M=N+(ut+dt)*(J<<1),J>>=1)),nt===$)M+=4;else{var At=r[ht+3*nt],Nt=r[ht+3*nt+1],Ft=r[ht+3*nt+2];W[M++]=At,W[M++]=Nt,W[M++]=Ft,W[M++]=255}--jt}}}function Lc(r,e,n,a){for(var c=r[e++],o=1<<c,l=o+1,h=l+1,f=c+1,g=(1<<f)-1,y=0,w=0,S=0,p=r[e++],O=new Int32Array(4096),F=null;;){for(;y<16&&p!==0;)w|=r[e++]<<y,y+=8,p===1?p=r[e++]:--p;if(y<f)break;var q=w&g;if(w>>=f,y-=f,q!==o){if(q===l)break;for(var _=q<h?q:F,B=0,Y=_;Y>o;)Y=O[Y]>>8,++B;var ot=Y;if(S+B+(_!==q?1:0)>a)return void ve.log("Warning, gif stream longer than expected.");n[S++]=ot;var lt=S+=B;for(_!==q&&(n[S++]=ot),Y=_;B--;)Y=O[Y],n[--lt]=255&Y,Y>>=8;F!==null&&h<4096&&(O[h++]=F<<8|ot,h>=g+1&&f<12&&(++f,g=g<<1|1)),F=q}else h=l+1,g=(1<<(f=c+1))-1,F=null}return S!==a&&ve.log("Warning, gif stream shorter than expected."),n}/**
* @license
Copyright (c) 2008, Adobe Systems Incorporated
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Adobe Systems Incorporated nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/function ps(r){var e,n,a,c,o,l=Math.floor,h=new Array(64),f=new Array(64),g=new Array(64),y=new Array(64),w=new Array(65535),S=new Array(65535),p=new Array(64),O=new Array(64),F=[],q=0,_=7,B=new Array(64),Y=new Array(64),ot=new Array(64),lt=new Array(256),wt=new Array(2048),tt=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],z=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],rt=[0,1,2,3,4,5,6,7,8,9,10,11],pt=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],P=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],k=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],W=[0,1,2,3,4,5,6,7,8,9,10,11],D=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],st=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function it(N,C){for(var M=0,T=0,J=new Array,Q=1;Q<=16;Q++){for(var et=1;et<=N[Q];et++)J[C[T]]=[],J[C[T]][0]=M,J[C[T]][1]=Q,T++,M++;M*=2}return J}function ht(N){for(var C=N[0],M=N[1]-1;M>=0;)C&1<<M&&(q|=1<<_),M--,--_<0&&(q==255?($(255),$(0)):$(q),_=7,q=0)}function $(N){F.push(N)}function ut(N){$(N>>8&255),$(255&N)}function dt(N,C,M,T,J){for(var Q,et=J[0],nt=J[240],At=function(Lt,xt){var It,kt,qt,Gt,Qt,te,ie,de,Wt,ee,Ct=0;for(Wt=0;Wt<8;++Wt){It=Lt[Ct],kt=Lt[Ct+1],qt=Lt[Ct+2],Gt=Lt[Ct+3],Qt=Lt[Ct+4],te=Lt[Ct+5],ie=Lt[Ct+6];var Je=It+(de=Lt[Ct+7]),oe=It-de,_n=kt+ie,ge=kt-ie,Le=qt+te,Un=qt-te,ce=Gt+Qt,Mr=Gt-Qt,Ae=Je+ce,Pn=Je-ce,nr=_n+Le,xe=_n-Le;Lt[Ct]=Ae+nr,Lt[Ct+4]=Ae-nr;var Jt=.707106781*(xe+Pn);Lt[Ct+2]=Pn+Jt,Lt[Ct+6]=Pn-Jt;var ue=.382683433*((Ae=Mr+Un)-(xe=ge+oe)),Er=.5411961*Ae+ue,We=1.306562965*xe+ue,Hn=.707106781*(nr=Un+ge),Wn=oe+Hn,zt=oe-Hn;Lt[Ct+5]=zt+Er,Lt[Ct+3]=zt-Er,Lt[Ct+1]=Wn+We,Lt[Ct+7]=Wn-We,Ct+=8}for(Ct=0,Wt=0;Wt<8;++Wt){It=Lt[Ct],kt=Lt[Ct+8],qt=Lt[Ct+16],Gt=Lt[Ct+24],Qt=Lt[Ct+32],te=Lt[Ct+40],ie=Lt[Ct+48];var kn=It+(de=Lt[Ct+56]),Vn=It-de,an=kt+ie,De=kt-ie,Be=qt+te,fn=qt-te,ei=Gt+Qt,rr=Gt-Qt,Fn=kn+ei,In=kn-ei,Cn=an+Be,Gn=an-Be;Lt[Ct]=Fn+Cn,Lt[Ct+32]=Fn-Cn;var bn=.707106781*(Gn+In);Lt[Ct+16]=In+bn,Lt[Ct+48]=In-bn;var Jn=.382683433*((Fn=rr+fn)-(Gn=De+Vn)),qr=.5411961*Fn+Jn,ni=1.306562965*Gn+Jn,ri=.707106781*(Cn=fn+De),ii=Vn+ri,ai=Vn-ri;Lt[Ct+40]=ai+qr,Lt[Ct+24]=ai-qr,Lt[Ct+8]=ii+ni,Lt[Ct+56]=ii-ni,Ct++}for(Wt=0;Wt<64;++Wt)ee=Lt[Wt]*xt[Wt],p[Wt]=ee>0?ee+.5|0:ee-.5|0;return p}(N,C),Nt=0;Nt<64;++Nt)O[tt[Nt]]=At[Nt];var Ft=O[0]-M;M=O[0],Ft==0?ht(T[0]):(ht(T[S[Q=32767+Ft]]),ht(w[Q]));for(var _t=63;_t>0&&O[_t]==0;)_t--;if(_t==0)return ht(et),M;for(var Ut,ft=1;ft<=_t;){for(var E=ft;O[ft]==0&&ft<=_t;)++ft;var Kt=ft-E;if(Kt>=16){Ut=Kt>>4;for(var Et=1;Et<=Ut;++Et)ht(nt);Kt&=15}Q=32767+O[ft],ht(J[(Kt<<4)+S[Q]]),ht(w[Q]),ft++}return _t!=63&&ht(et),M}function jt(N){N=Math.min(Math.max(N,1),100),o!=N&&(function(C){for(var M=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],T=0;T<64;T++){var J=l((M[T]*C+50)/100);J=Math.min(Math.max(J,1),255),h[tt[T]]=J}for(var Q=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],et=0;et<64;et++){var nt=l((Q[et]*C+50)/100);nt=Math.min(Math.max(nt,1),255),f[tt[et]]=nt}for(var At=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],Nt=0,Ft=0;Ft<8;Ft++)for(var _t=0;_t<8;_t++)g[Nt]=1/(h[tt[Nt]]*At[Ft]*At[_t]*8),y[Nt]=1/(f[tt[Nt]]*At[Ft]*At[_t]*8),Nt++}(N<50?Math.floor(5e3/N):Math.floor(200-2*N)),o=N)}this.encode=function(N,C){C&&jt(C),F=new Array,q=0,_=7,ut(65496),ut(65504),ut(16),$(74),$(70),$(73),$(70),$(0),$(1),$(1),$(0),ut(1),ut(1),$(0),$(0),function(){ut(65499),ut(132),$(0);for(var kt=0;kt<64;kt++)$(h[kt]);$(1);for(var qt=0;qt<64;qt++)$(f[qt])}(),function(kt,qt){ut(65472),ut(17),$(8),ut(qt),ut(kt),$(3),$(1),$(17),$(0),$(2),$(17),$(1),$(3),$(17),$(1)}(N.width,NLine truncated
* @license
* Copyright (c) 2017 Aras Abbasi
*
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
*/function Dn(r,e){if(this.pos=0,this.buffer=r,this.datav=new DataView(r.buffer),this.is_with_alpha=!!e,this.bottom_up=!0,this.flag=String.fromCharCode(this.buffer[0])+String.fromCharCode(this.buffer[1]),this.pos+=2,["BM","BA","CI","CP","IC","PT"].indexOf(this.flag)===-1)throw new Error("Invalid BMP File");this.parseHeader(),this.parseBGR()}function Nc(r){function e(z){if(!z)throw Error("assert :P")}function n(z,rt,pt){for(var P=0;4>P;P++)if(z[rt+P]!=pt.charCodeAt(P))return!0;return!1}function a(z,rt,pt,P,k){for(var W=0;W<k;W++)z[rt+W]=pt[P+W]}function c(z,rt,pt,P){for(var k=0;k<P;k++)z[rt+k]=pt}function o(z){return new Int32Array(z)}function l(z,rt){for(var pt=[],P=0;P<z;P++)pt.push(new rt);return pt}function h(z,rt){var pt=[];return function P(k,W,D){for(var st=D[W],it=0;it<st&&(k.push(D.length>W+1?[]:new rt),!(D.length<W+1));it++)P(k[it],W+1,D)}(pt,0,z),pt}var f=function(){var z=this;function rt(t,i){for(var u=1<<i-1>>>0;t&u;)u>>>=1;return u?(t&u-1)+u:t}function pt(t,i,u,d,m){e(!(d%u));do t[i+(d-=u)]=m;while(0<d)}function P(t,i,u,d,m){if(e(2328>=m),512>=m)var b=o(512);else if((b=o(m))==null)return 0;return function(L,A,x,I,U,K){var Z,G,vt=A,at=1<<x,H=o(16),V=o(16);for(e(U!=0),e(I!=null),e(L!=null),e(0<x),G=0;G<U;++G){if(15<I[G])return 0;++H[I[G]]}if(H[0]==U)return 0;for(V[1]=0,Z=1;15>Z;++Z){if(H[Z]>1<<Z)return 0;V[Z+1]=V[Z]+H[Z]}for(G=0;G<U;++G)Z=I[G],0<I[G]&&(K[V[Z]++]=G);if(V[15]==1)return(I=new k).g=0,I.value=K[0],pt(L,vt,1,at,I),at;var gt,bt=-1,mt=at-1,Bt=0,St=1,Rt=1,Pt=1<<x;for(G=0,Z=1,U=2;Z<=x;++Z,U<<=1){if(St+=Rt<<=1,0>(Rt-=H[Z]))return 0;for(;0<H[Z];--H[Z])(I=new k).g=Z,I.value=K[G++],pt(L,vt+Bt,U,Pt,I),Bt=rt(Bt,Z)}for(Z=x+1,U=2;15>=Z;++Z,U<<=1){if(St+=Rt<<=1,0>(Rt-=H[Z]))return 0;for(;0<H[Z];--H[Z]){if(I=new k,(Bt&mt)!=bt){for(vt+=Pt,gt=1<<(bt=Z)-x;15>bt&&!(0>=(gt-=H[bt]));)++bt,gt<<=1;at+=Pt=1<<(gt=bt-x),L[A+(bt=Bt&mt)].g=gt+x,L[A+bt].value=vt-A-bt}I.g=Z-x,I.value=K[G++],pt(L,vt+(Bt>>x),U,Pt,I),Bt=rt(Bt,Z)}}return St!=2*V[15]-1?0:at}(t,i,u,d,m,b)}function k(){this.value=this.g=0}function W(){this.value=this.g=0}function D(){this.G=l(5,k),this.H=o(5),this.jc=this.Qb=this.qb=this.nd=0,this.pd=l(Ve,W)}function st(t,i,u,d){e(t!=null),e(i!=null),e(2147483648>d),t.Ca=254,t.I=0,t.b=-8,t.Ka=0,t.oa=i,t.pa=u,t.Jd=i,t.Yc=u+d,t.Zc=4<=d?u+d-4+1:u,Q(t)}function it(t,i){for(var u=0;0<i--;)u|=nt(t,128)<<i;return u}function ht(t,i){var u=it(t,i);return et(t)?-u:u}function $(t,i,u,d){var m,b=0;for(e(t!=null),e(i!=null),e(4294967288>d),t.Sb=d,t.Ra=0,t.u=0,t.h=0,4<d&&(d=4),m=0;m<d;++m)b+=i[u+m]<<8*m;t.Ra=b,t.bb=d,t.oa=i,t.pa=u}function ut(t){for(;8<=t.u&&t.bb<t.Sb;)t.Ra>>>=8,t.Ra+=t.oa[t.pa+t.bb]<<wi-8>>>0,++t.bb,t.u-=8;M(t)&&(t.h=1,t.u=0)}function dt(t,i){if(e(0<=i),!t.h&&i<=yi){var u=C(t)&bi[i];return t.u+=i,ut(t),u}return t.h=1,t.u=0}function jt(){this.b=this.Ca=this.I=0,this.oa=[],this.pa=0,this.Jd=[],this.Yc=0,this.Zc=[],this.Ka=0}function N(){this.Ra=0,this.oa=[],this.h=this.u=this.bb=this.Sb=this.pa=0}function C(t){return t.Ra>>>(t.u&wi-1)>>>0}function M(t){return e(t.bb<=t.Sb),t.h||t.bb==t.Sb&&t.u>wi}function T(t,i){t.u=i,t.h=M(t)}function J(t){t.u>=$i&&(e(t.u>=$i),ut(t))}function Q(t){e(t!=null&&t.oa!=null),t.pa<t.Zc?(t.I=(t.oa[t.pa++]|t.I<<8)>>>0,t.b+=8):(e(t!=null&&t.oa!=null),t.pa<t.Yc?(t.b+=8,t.I=t.oa[t.pa++]|t.I<<8):t.Ka?t.b=0:(t.I<<=8,t.b+=8,t.Ka=1))}function et(t){return it(t,1)}function nt(t,i){var u=t.Ca;0>t.b&&Q(t);var d=t.b,m=u*i>>>8,b=(t.I>>>d>m)+0;for(b?(u-=m,t.I-=m+1<<d>>>0):u=m+1,d=u,m=0;256<=d;)m+=8,d>>=8;return d=7^m+sn[d],t.b-=d,t.Ca=(u<<d)-1,b}function At(t,i,u){t[i+0]=u>>24&255,t[i+1]=u>>16&255,t[i+2]=u>>8&255,t[i+3]=u>>0&255}function Nt(t,i){return t[i+0]<<0|t[i+1]<<8}function Ft(t,i){return Nt(t,i)|t[i+2]<<16}function _t(t,i){return Nt(t,i)|Nt(t,i+2)<<16}function Ut(t,i){var u=1<<i;return e(t!=null),e(0<i),t.X=o(u),t.X==null?0:(t.Mb=32-i,t.Xa=i,1)}function ft(t,i){e(t!=null),e(i!=null),e(t.Xa==i.Xa),a(i.X,0,t.X,0,1<<i.Xa)}function E(){this.X=[],this.Xa=this.Mb=0}function Kt(t,i,u,d){e(u!=null),e(d!=null);var m=u[0],b=d[0];return m==0&&(m=(t*b+i/2)/i),b==0&&(b=(i*m+t/2)/t),0>=m||0>=b?0:(u[0]=m,d[0]=b,1)}function Et(t,i){return t+(1<<i)-1>>>i}function Lt(t,i){return((4278255360&t)+(4278255360&i)>>>0&4278255360)+((16711935&t)+(16711935&i)>>>0&16711935)>>>0}function xt(t,i){z[i]=function(u,d,m,b,L,A,x){var I;for(I=0;I<L;++I){var U=z[t](A[x+I-1],m,b+I);A[x+I]=Lt(u[d+I],U)}}}function It(){this.ud=this.hd=this.jd=0}function kt(t,i){return((4278124286&(t^i))>>>1)+(t&i)>>>0}function qt(t){return 0<=t&&256>t?t:0>t?0:255<t?255:void 0}function Gt(t,i){return qt(t+(t-i+.5>>1))}function Qt(t,i,u){return Math.abs(i-u)-Math.abs(t-u)}function te(t,i,u,d,m,b,L){for(d=b[L-1],u=0;u<m;++u)b[L+u]=d=Lt(t[i+u],d)}function ie(t,i,u,d,m){var b;for(b=0;b<u;++b){var L=t[i+b],A=L>>8&255,x=16711935&(x=(x=16711935&L)+((A<<16)+A));d[m+b]=(4278255360&L)+x>>>0}}function de(t,i){i.jd=t>>0&255,i.hd=t>>8&255,i.ud=t>>16&255}function Wt(t,i,u,d,m,b){var L;for(L=0;L<d;++L){var A=i[u+L],x=A>>>8,I=A,U=255&(U=(U=A>>>16)+((tLine truncated
`:"")+lt})):B.push(ot[0])}),F=B,f=bc.apply(this,[_,n])}for(o=0,l=F.length;o<l;o++){var Y=0;if(a=F[o],f&&a[0]==`
`&&(a=a.substr(1),Y=1),S+p+(O=(c=fo.apply(this,[a,n])).reduce(function(ot,lt){return ot+lt},0))>e||Y){if(O>e){for(h=yc.apply(this,[a,c,e-(S+p),e]),y.push(h.shift()),y=[h.pop()];h.length;)w.push([h.shift()]);O=c.slice(a.length-(y[0]?y[0].length:0)).reduce(function(ot,lt){return ot+lt},0)}else y=[a];w.push(y),S=O+f,p=q}else y.push(a),S+=p+O,p=q}return g=f?function(ot,lt){return(lt?_:"")+ot.join(" ")}:function(ot){return ot.join(" ")},w.map(g)},Ci.splitTextToSize=function(r,e,n){var a,c=(n=n||{}).fontSize||this.internal.getFontSize(),o=(function(y){if(y.widths&&y.kerning)return{widths:y.widths,kerning:y.kerning};var w=this.internal.getFont(y.fontName,y.fontStyle);return w.metadata.Unicode?{widths:w.metadata.Unicode.widths||{0:1},kerning:w.metadata.Unicode.kerning||{}}:{font:w.metadata,fontSize:this.internal.getFontSize(),charSpace:this.internal.getCharSpace()}}).call(this,n);a=Array.isArray(r)?r:String(r).split(/\r?\n/);var l=1*this.internal.scaleFactor*e/c;o.textIndent=n.textIndent?1*n.textIndent*this.internal.scaleFactor/c:0,o.lineIndent=n.lineIndent;var h,f,g=[];for(h=0,f=a.length;h<f;h++)g=g.concat(wc.apply(this,[a[h],l,o]));return g},function(r){r.__fontmetrics__=r.__fontmetrics__||{};for(var e="klmnopqrstuvwxyz",n={},a={},c=0;c<e.length;c++)n[e[c]]="0123456789abcdef"[c],a["0123456789abcdef"[c]]=e[c];var o=function(w){return"0x"+parseInt(w,10).toString(16)},l=r.__fontmetrics__.compress=function(w){var S,p,O,F,q=["{"];for(var _ in w){if(S=w[_],isNaN(parseInt(_,10))?p="'"+_+"'":(_=parseInt(_,10),p=(p=o(_).slice(2)).slice(0,-1)+a[p.slice(-1)]),typeof S=="number")S<0?(O=o(S).slice(3),F="-"):(O=o(S).slice(2),F=""),O=F+O.slice(0,-1)+a[O.slice(-1)];else{if(fe(S)!=="object")throw new Error("Don't know what to do with value type "+fe(S)+".");O=l(S)}q.push(p+O)}return q.push("}"),q.join("")},h=r.__fontmetrics__.uncompress=function(w){if(typeof w!="string")throw new Error("Invalid argument passed to uncompress.");for(var S,p,O,F,q={},_=1,B=q,Y=[],ot="",lt="",wt=w.length-1,tt=1;tt<wt;tt+=1)(F=w[tt])=="'"?S?(O=S.join(""),S=void 0):S=[]:S?S.push(F):F=="{"?(Y.push([B,O]),B={},O=void 0):F=="}"?((p=Y.pop())[0][p[1]]=B,O=void 0,B=p[0]):F=="-"?_=-1:O===void 0?n.hasOwnProperty(F)?(ot+=n[F],O=parseInt(ot,16)*_,_=1,ot=""):ot+=F:n.hasOwnProperty(F)?(lt+=n[F],B[O]=parseInt(lt,16)*_,_=1,O=void 0,lt=""):lt+=F;return q},f={codePages:["WinAnsiEncoding"],WinAnsiEncoding:h("{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}")},g={Unicode:{Courier:f,"Courier-Bold":f,"Courier-BoldOblique":f,"Courier-Oblique":f,Helvetica:f,"Helvetica-Bold":f,"Helvetica-BoldOblique":f,"Helvetica-Oblique":f,"Times-Roman":f,"Times-Bold":f,"Times-BoldItalic":f,"Times-Italic":f}},y={Unicode:{"Courier-Oblique":h("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-BoldItalic":h("{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}"),"Helvetica-Bold":h("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p Line truncated
<<
`+F.join(`
`)+`
>>`)}),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},function(r){var e=function(){var a='<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:jspdf="'+this.internal.__metadata__.namespaceuri+'"><jspdf:metadata>',c=unescape(encodeURIComponent('<x:xmpmeta xmlns:x="adobe:ns:meta/">')),o=unescape(encodeURIComponent(a)),l=unescape(encodeURIComponent(this.internal.__metadata__.metadata)),h=unescape(encodeURIComponent("</jspdf:metadata></rdf:Description></rdf:RDF>")),f=unescape(encodeURIComponent("</x:xmpmeta>")),g=o.length+l.length+h.length+c.length+f.length;this.internal.__metadata__.metadata_object_number=this.internal.newObject(),this.internal.write("<< /Type /Metadata /Subtype /XML /Length "+g+" >>"),this.internal.write("stream"),this.internal.write(c+o+l+h+f),this.internal.write("endstream"),this.internal.write("endobj")},n=function(){this.internal.__metadata__.metadata_object_number&&this.internal.write("/Metadata "+this.internal.__metadata__.metadata_object_number+" 0 R")};r.addMetadata=function(a,c){return this.internal.__metadata__===void 0&&(this.internal.__metadata__={metadata:a,namespaceuri:c||"http://jspdf.default.namespaceuri/"},this.internal.events.subscribe("putCatalog",n),this.internal.events.subscribe("postPutResources",e)),this}}(Tt.API),function(r){var e=r.API,n=e.pdfEscape16=function(o,l){for(var h,f=l.metadata.Unicode.widths,g=["","0","00","000","0000"],y=[""],w=0,S=o.length;w<S;++w){if(h=l.metadata.characterToGlyph(o.charCodeAt(w)),l.metadata.glyIdsUsed.push(h),l.metadata.toUnicode[h]=o.charCodeAt(w),f.indexOf(h)==-1&&(f.push(h),f.push([parseInt(l.metadata.widthOfGlyph(h),10)])),h=="0")return y.join("");h=h.toString(16),y.push(g[4-h.length],h)}return y.join("")},a=function(o){var l,h,f,g,y,w,S;for(y=`/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/CIDSystemInfo <<
/Registry (Adobe)
/Ordering (UCS)
/Supplement 0
>> def
/CMapName /Adobe-Identity-UCS def
/CMapType 2 def
1 begincodespacerange
<0000><ffff>
endcodespacerange`,f=[],w=0,S=(h=Object.keys(o).sort(function(p,O){return p-O})).length;w<S;w++)l=h[w],f.length>=100&&(y+=`
`+f.length+` beginbfchar
`+f.join(`
`)+`
endbfchar`,f=[]),o[l]!==void 0&&o[l]!==null&&typeof o[l].toString=="function"&&(g=("0000"+o[l].toString(16)).slice(-4),l=("0000"+(+l).toString(16)).slice(-4),f.push("<"+l+"><"+g+">"));return f.length&&(y+=`
`+f.length+` beginbfchar
`+f.join(`
`)+`
endbfchar
`),y+=`endcmap
CMapName currentdict /CMap defineresource pop
end
end`};e.events.push(["putFont",function(o){(function(l){var h=l.font,f=l.out,g=l.newObject,y=l.putStream;if(h.metadata instanceof r.API.TTFFont&&h.encoding==="Identity-H"){for(var w=h.metadata.Unicode.widths,S=h.metadata.subset.encode(h.metadata.glyIdsUsed,1),p="",O=0;O<S.length;O++)p+=String.fromCharCode(S[O]);var F=g();y({data:p,addLength1:!0,objectId:F}),f("endobj");var q=g();y({data:a(h.metadata.toUnicode),addLength1:!0,objectId:q}),f("endobj");var _=g();f("<<"),f("/Type /FontDescriptor"),f("/FontName /"+Oi(h.fontName)),f("/FontFile2 "+F+" 0 R"),f("/FontBBox "+r.API.PDFObject.convert(h.metadata.bbox)),f("/Flags "+h.metadata.flags),f("/StemV "+h.metadata.stemV),f("/ItalicAngle "+h.metadata.italicAngle),f("/Ascent "+h.metadata.ascender),f("/Descent "+h.metadata.decender),f("/CapHeight "+h.metadata.capHeight),f(">>"),f("endobj");var B=g();f("<<"),f("/Type /Font"),f("/BaseFont /"+Oi(h.fontName)),f("/FontDescriptor "+_+" 0 R"),f("/W "+r.API.PDFObject.convert(w)),f("/CIDToGIDMap /Identity"),f("/DW 1000"),f("/Subtype /CIDFontType2"),f("/CIDSystemInfo"),f("<<"),f("/Supplement 0"),f("/Registry (Adobe)"),f("/Ordering ("+h.encoding+")"),f(">>"),f(">>"),f("endobj"),h.objectNumber=g(),f("<<"),f("/Type /Font"),f("/Subtype /Type0"),f("/ToUnicode "+q+" 0 R"),f("/BaseFont /"+Oi(h.fontName)),f("/Encoding /"+h.encoding),f("/DescendantFonts ["+B+" 0 R]"),f(">>"),f("endobj"),h.isAlreadyPutted=!0}})(o)}]),e.events.push(["putFont",function(o){(function(l){var h=l.font,f=l.out,g=l.newObject,y=l.putStream;if(h.metadata instanceof r.API.TTFFont&&h.encoding==="WinAnsiEncoding"){for(var w=h.metadata.rawData,S="",p=0;p<w.length;p++)S+=String.fromCharCode(w[p]);var O=g();y({data:S,addLength1:!0,objectId:O}),f("endobj");var F=g();y({data:a(h.metadata.toUnicode),addLength1:!0,objectId:F}),f("endobj");var q=g();f("<<"),f("/Descent "+h.metadata.decender),f("/CapHeight "+h.metadata.capHeight),f("/StemV "+h.metadata.stemV),f("/Type /FontDescriptor"),f("/FontFile2 "+O+" 0 R"),f("/Flags 96"),f("/FontBBox "+r.API.PDFObject.convert(h.metadata.bbox)),f("/FontName /"+Oi(h.fontName)),f("/ItalicAngle "+h.metadata.italicAngle),f("/Ascent "+h.metadata.ascender),f(">>"),f("endobj"),h.objectNumber=g();for(var _=0;_<h.metadata.hmtx.widths.length;_++)h.metadata.hmtx.widths[_]=parseInt(h.metadata.hmtx.widths[_]*(1e3/h.metadata.head.unitsPerEm));f("<</Subtype/TrueType/Type/Font/ToUnicode "+F+" 0 R/BaseFont/"+Oi(h.fontName)+"/FontDescriptor "+q+" 0 R/Encoding/"+h.encoding+" /FirstChar 29 /LastChar 255 /Widths "+r.API.PDFObject.convert(h.metadata.hmtx.widths)+">>"),f("endobj"),h.isAlreadyPutted=!0}})(o)}]);var c=function(o){var l,h=o.text||"",f=o.x,g=o.y,y=o.options||{},w=o.mutex||{},S=w.pdfEscape,p=w.activeFontKey,O=w.fonts,F=p,q="",_=0,B="",Y=O[F].encoding;if(O[F].encoding!=="Identity-H")return{text:h,x:f,y:g,options:y,mutex:w};for(B=h,F=p,Array.isArray(h)&&(B=h[0]),_=0;_<B.length;_+=1)O[F].metadata.hasOwnProperty("cmap")&&(l=O[F].metadata.cmap.unicode.codeMap[B[_].charCodeAt(0)]),l||B[_].charCodeAt(0)<256&&O[F].metadata.hasOwnProperty("Unicode")?q+=B[_]:q+="";var ot="";return parseInt(F.slice(1))<14||Y==="WinAnsiEncoding"?ot=S(q,F).split("").map(function(lt){return lt.charCodeAt(0).toString(16)}).join(""):Y==="Identity-H"&&(ot=n(q,O[F])),w.isHex=!0,{text:ot,x:f,y:g,options:y,mutex:w}};e.events.push(["postProcessText",function(o){var l=o.text||"",h=[],f={text:l,x:o.x,y:o.y,options:o.options,mutex:o.mutex};if(Array.isArray(l)){var g=0;for(g=0;g<l.length;g+=1)Array.isArray(l[g])&&l[g].length===3?h.push([c(Object.assign({},f,{text:l[g][0]})).text,l[g][1],l[g][2]]):h.push(c(Object.assign({},f,{text:l[g]})).text);o.text=h}else o.text=c(Object.assign({},f,{text:l})).text}])}(Tt),function(r){var e=function(){return this.internal.vFS===void 0&&(this.internal.vFS={}),!0};r.existsFileInVFS=function(n){return e.call(this),this.internal.vFS[n]!==void 0},r.addFileToVFS=function(n,a){return e.call(this),this.internal.vFS[n]=a,this},r.getFileFromVFS=function(n){return e.call(this),this.internal.vFS[n]!==void 0?this.internal.vFS[n]:null}}(Tt.API),function(r){r.__bidiEngine__=r.prototype.__bidiEngine__=function(a){var c,o,l,h,f,g,y,w=e,S=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],p=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],O={L:0,R:1,EN:2,AN:3,N:4,B:5,S:6},F={0:0,5:1,6:2,7:3,32:4,251:5,254:6,255:7},q=["(",")","(","<",">","<","[","]","[","{","}","{","«","»","«","‹","›","‹","⁅","⁆","⁅","⁽","⁾","⁽","₍","₎","₍","≤","≥","≤","〈","〉","〈","﹙","﹚","﹙","﹛","﹜","﹛","﹝","﹞","﹝","﹤","﹥","﹤"],_=new RegExp(/^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/),B=!1,Y=0;this.__bidiEngine__={};var ot=function(P){var k=P.charCodeAt(),W=k>>8,D=F[W];return D!==void 0?w[256*D+(255&k)]:W===252||W===253?"AL":_.test(W)?"L":W===8?"R":"N"},lt=function(P){for(var k,W=0;W<P.length;W++){if((k=ot(P.charAt(W)))= Line truncated
`)}return""+n},e}();const _1=Object.freeze(Object.defineProperty({__proto__:null,AcroFormAppearance:Mt,AcroFormButton:Te,AcroFormCheckBox:ga,AcroFormChoiceField:Kr,AcroFormComboBox:$r,AcroFormEditBox:da,AcroFormListBox:Zr,AcroFormPasswordField:ma,AcroFormPushButton:pa,AcroFormRadioButton:Qr,AcroFormTextField:jr,GState:ba,ShadingPattern:Ir,TilingPattern:Xr,default:Tt,jsPDF:Tt},Symbol.toStringTag,{value:"Module"}));export{fe as _,_1 as j};
@@ -0,0 +1,2 @@
function I(e,t,r,i,n){i=i||{};var a=1.15,s=n.internal.scaleFactor,h=n.internal.getFontSize()/s,f=n.getLineHeightFactor?n.getLineHeightFactor():a,o=h*f,l=/\r\n|\r|\n/g,g="",u=1;if((i.valign==="middle"||i.valign==="bottom"||i.halign==="center"||i.halign==="right")&&(g=typeof e=="string"?e.split(l):e,u=g.length||1),r+=h*(2-a),i.valign==="middle"?r-=u/2*o:i.valign==="bottom"&&(r-=u*o),i.halign==="center"||i.halign==="right"){var v=h;if(i.halign==="center"&&(v*=.5),g&&u>=1){for(var d=0;d<g.length;d++)n.text(g[d],t-n.getStringUnitWidth(g[d])*v,r),r+=o;return n}t-=n.getStringUnitWidth(e)*v}return i.halign==="justify"?n.text(e,t,r,{maxWidth:i.maxWidth||100,align:"justify"}):n.text(e,t,r),n}var B={},P=function(){function e(t){this.jsPDFDocument=t,this.userStyles={textColor:t.getTextColor?this.jsPDFDocument.getTextColor():0,fontSize:t.internal.getFontSize(),fontStyle:t.internal.getFont().fontStyle,font:t.internal.getFont().fontName,lineWidth:t.getLineWidth?this.jsPDFDocument.getLineWidth():0,lineColor:t.getDrawColor?this.jsPDFDocument.getDrawColor():0}}return e.setDefaults=function(t,r){r===void 0&&(r=null),r?r.__autoTableDocumentDefaults=t:B=t},e.unifyColor=function(t){return Array.isArray(t)?t:typeof t=="number"?[t,t,t]:typeof t=="string"?[t]:null},e.prototype.applyStyles=function(t,r){var i,n,a;r===void 0&&(r=!1),t.fontStyle&&this.jsPDFDocument.setFontStyle&&this.jsPDFDocument.setFontStyle(t.fontStyle);var s=this.jsPDFDocument.internal.getFont(),h=s.fontStyle,f=s.fontName;if(t.font&&(f=t.font),t.fontStyle){h=t.fontStyle;var o=this.getFontList()[f];o&&o.indexOf(h)===-1&&this.jsPDFDocument.setFontStyle&&(this.jsPDFDocument.setFontStyle(o[0]),h=o[0])}if(this.jsPDFDocument.setFont(f,h),t.fontSize&&this.jsPDFDocument.setFontSize(t.fontSize),!r){var l=e.unifyColor(t.fillColor);l&&(i=this.jsPDFDocument).setFillColor.apply(i,l),l=e.unifyColor(t.textColor),l&&(n=this.jsPDFDocument).setTextColor.apply(n,l),l=e.unifyColor(t.lineColor),l&&(a=this.jsPDFDocument).setDrawColor.apply(a,l),typeof t.lineWidth=="number"&&this.jsPDFDocument.setLineWidth(t.lineWidth)}},e.prototype.splitTextToSize=function(t,r,i){return this.jsPDFDocument.splitTextToSize(t,r,i)},e.prototype.rect=function(t,r,i,n,a){return this.jsPDFDocument.rect(t,r,i,n,a)},e.prototype.getLastAutoTable=function(){return this.jsPDFDocument.lastAutoTable||null},e.prototype.getTextWidth=function(t){return this.jsPDFDocument.getTextWidth(t)},e.prototype.getDocument=function(){return this.jsPDFDocument},e.prototype.setPage=function(t){this.jsPDFDocument.setPage(t)},e.prototype.addPage=function(){return this.jsPDFDocument.addPage()},e.prototype.getFontList=function(){return this.jsPDFDocument.getFontList()},e.prototype.getGlobalOptions=function(){return B||{}},e.prototype.getDocumentOptions=function(){return this.jsPDFDocument.__autoTableDocumentDefaults||{}},e.prototype.pageSize=function(){var t=this.jsPDFDocument.internal.pageSize;return t.width==null&&(t={width:t.getWidth(),height:t.getHeight()}),t},e.prototype.scaleFactor=function(){return this.jsPDFDocument.internal.scaleFactor},e.prototype.getLineHeightFactor=function(){var t=this.jsPDFDocument;return t.getLineHeightFactor?t.getLineHeightFactor():1.15},e.prototype.getLineHeight=function(t){return t/this.scaleFactor()*this.getLineHeightFactor()},e.prototype.pageNumber=function(){var t=this.jsPDFDocument.internal.getCurrentPageInfo();return t?t.pageNumber:this.jsPDFDocument.internal.getNumberOfPages()},e}(),z=function(e,t){return z=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(r[n]=i[n])},z(e,t)};function K(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");z(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}var q=function(e){K(t,e);function t(r){var i=e.call(this)||this;return i._element=r,i}return t}(Array);function nt(e){return{font:"helvetica",fontStyle:"normal",overflow:"linebreak",fillColor:!1,textColor:20,halign:"left",valign:"top",fontSize:10,cellPadding:5/e,lineColor:200,lineWidth:0,cellWidth:"auto",minCellHeight:0,minCellWidth:0}}function at(e){var t={striped:{table:{fillColor:255,textColor:80,fontStyle:"normal"},head:{textColor:255,fillColor:[41,128,185],fontStyle:"bold"},body:{},foot:{textColor:255,fillColor:[41,128,185],fontStyle:"bold"},alternateRow:{fillColor:245}},grid:{table:{fillColor:255,textColor:80,fontStyle:"normal",lineWidth:.1},head:{textColor:255,fillColor:[26,188,156],fontStyle:"bold",lineWidth:0},body:{},foot:{textColor:255,fillColor:[26,188,156],fontStyle:"bold",lineWidth:0},alternateRow:{}},plain:{head:{fontStyle:"bold"},foot:{fontStyle:"bold"}}};return t[e]}function D(e,t,r){r.applyStyles(t,!0);var i=Array.isArray(e)?e:[e],n=i.map(function(a){return r.getTextWidth(a)}).reduce(function(a,s){return Math.max(a,s)},0);return n}function G(e,t,r,i){var n=t.sLine truncated
`),t.innerText||t.textContent||""}function gt(e,t,r){for(var i=0,n=[e,t,r];i<n.length;i++){var a=n[i];a&&typeof a!="object"&&console.error("The options parameter should be of type object, is: "+typeof a),a.startY&&typeof a.startY!="number"&&(console.error("Invalid value for startY option",a.startY),delete a.startY)}}function w(e,t,r,i,n){if(e==null)throw new TypeError("Cannot convert undefined or null to object");for(var a=Object(e),s=1;s<arguments.length;s++){var h=arguments[s];if(h!=null)for(var f in h)Object.prototype.hasOwnProperty.call(h,f)&&(a[f]=h[f])}return a}function Q(e,t){var r=new P(e),i=r.getDocumentOptions(),n=r.getGlobalOptions();gt(n,i,t);var a=w({},n,i,t),s;typeof window<"u"&&(s=window);var h=ut(n,i,t),f=vt(n,i,t),o=dt(r,a),l=yt(r,a,s);return{id:t.tableId,content:l,hooks:f,styles:h,settings:o}}function ut(e,t,r){for(var i={styles:{},headStyles:{},bodyStyles:{},footStyles:{},alternateRowStyles:{},columnStyles:{}},n=function(f){if(f==="columnStyles"){var o=e[f],l=t[f],g=r[f];i.columnStyles=w({},o,l,g)}else{var u=[e,t,r],v=u.map(function(d){return d[f]||{}});i[f]=w({},v[0],v[1],v[2])}},a=0,s=Object.keys(i);a<s.length;a++){var h=s[a];n(h)}return i}function vt(e,t,r){for(var i=[e,t,r],n={didParseCell:[],willDrawCell:[],didDrawCell:[],willDrawPage:[],didDrawPage:[]},a=0,s=i;a<s.length;a++){var h=s[a];h.didParseCell&&n.didParseCell.push(h.didParseCell),h.willDrawCell&&n.willDrawCell.push(h.willDrawCell),h.didDrawCell&&n.didDrawCell.push(h.didDrawCell),h.willDrawPage&&n.willDrawPage.push(h.willDrawPage),h.didDrawPage&&n.didDrawPage.push(h.didDrawPage)}return n}function dt(e,t){var r,i,n,a,s,h,f,o,l,g,u,v,d=F(t.margin,40/e.scaleFactor()),m=(r=pt(e,t.startY))!==null&&r!==void 0?r:d.top,p;t.showFoot===!0?p="everyPage":t.showFoot===!1?p="never":p=(i=t.showFoot)!==null&&i!==void 0?i:"everyPage";var y;t.showHead===!0?y="everyPage":t.showHead===!1?y="never":y=(n=t.showHead)!==null&&n!==void 0?n:"everyPage";var x=(a=t.useCss)!==null&&a!==void 0?a:!1,c=t.theme||(x?"plain":"striped"),C=!!t.horizontalPageBreak,rt=(s=t.horizontalPageBreakRepeat)!==null&&s!==void 0?s:null;return{includeHiddenHtml:(h=t.includeHiddenHtml)!==null&&h!==void 0?h:!1,useCss:x,theme:c,startY:m,margin:d,pageBreak:(f=t.pageBreak)!==null&&f!==void 0?f:"auto",rowPageBreak:(o=t.rowPageBreak)!==null&&o!==void 0?o:"auto",tableWidth:(l=t.tableWidth)!==null&&l!==void 0?l:"auto",showHead:y,showFoot:p,tableLineWidth:(g=t.tableLineWidth)!==null&&g!==void 0?g:0,tableLineColor:(u=t.tableLineColor)!==null&&u!==void 0?u:200,horizontalPageBreak:C,horizontalPageBreakRepeat:rt,horizontalPageBreakBehaviour:(v=t.horizontalPageBreakBehaviour)!==null&&v!==void 0?v:"afterAllRows"}}function pt(e,t){var r=e.getLastAutoTable(),i=e.scaleFactor(),n=e.pageNumber(),a=!1;if(r&&r.startPageNumber){var s=r.startPageNumber+r.pageNumber-1;a=s===n}return typeof t=="number"?t:(t==null||t===!1)&&a&&(r==null?void 0:r.finalY)!=null?r.finalY+20/i:null}function yt(e,t,r){var i=t.head||[],n=t.body||[],a=t.foot||[];if(t.html){var s=t.includeHiddenHtml;if(r){var h=$(e,t.html,r,s,t.useCss)||{};i=h.head||i,n=h.body||i,a=h.foot||i}else console.error("Cannot parse html in non browser environment")}var f=t.columns||mt(i,n,a);return{columns:f,head:i,body:n,foot:a}}function mt(e,t,r){var i=e[0]||t[0]||r[0]||[],n=[];return Object.keys(i).filter(function(a){return a!=="_element"}).forEach(function(a){var s=1,h;Array.isArray(i)?h=i[parseInt(a)]:h=i[a],typeof h=="object"&&!Array.isArray(h)&&(s=(h==null?void 0:h.colSpan)||1);for(var f=0;f<s;f++){var o=void 0;Array.isArray(i)?o=n.length:o=a+(f>0?"_".concat(f):"");var l={dataKey:o};n.push(l)}}),n}var A=function(){function e(t,r,i){this.table=r,this.pageNumber=r.pageNumber,this.settings=r.settings,this.cursor=i,this.doc=t.getDocument()}return e}(),ct=function(e){K(t,e);function t(r,i,n,a,s,h){var f=e.call(this,r,i,h)||this;return f.cell=n,f.row=a,f.column=s,f.section=a.section,f}return t}(A),wt=function(){function e(t,r){this.pageNumber=1,this.id=t.id,this.settings=t.settings,this.styles=t.styles,this.hooks=t.hooks,this.columns=r.columns,this.head=r.head,this.body=r.body,this.foot=r.foot}return e.prototype.getHeadHeight=function(t){return this.head.reduce(function(r,i){return r+i.getMaxCellHeight(t)},0)},e.prototype.getFootHeight=function(t){return this.foot.reduce(function(r,i){return r+i.getMaxCellHeight(t)},0)},e.prototype.allRows=function(){return this.head.concat(this.body).concat(this.foot)},e.prototype.callCellHooks=function(t,r,i,n,a,s){for(var h=0,f=r;h<f.length;h++){var o=f[h],l=new ct(t,this,i,n,a,s),g=o(l)===!1;if(i.text=Array.isArray(i.text)?i.text:[i.text],g)return!1}return!0},e.prototype.callEndPageHooks=function(t,r){t.applyStyles(t.userStyles);for(var i=0,n=this.hooks.didDrawPage;i<n.length;i++){var a=n[i];a(new A(t,this,r))}},e.prototype.callWillDrawPageHooks=function(t,r){for(var i=0,n=this.hooks.willDrawPage;i<n.length;i++){var a=n[i];a(new A(t,this,r))}},e.prototype.getWidth=function(t){if(typeof this.settings.tableWidth=="n Line truncated
@@ -0,0 +1,2 @@
/*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE */const{entries:Tt,setPrototypeOf:rt,isFrozen:Bt,getPrototypeOf:Yt,getOwnPropertyDescriptor:Xt}=Object;let{freeze:S,seal:O,create:_t}=Object,{apply:we,construct:xe}=typeof Reflect<"u"&&Reflect;S||(S=function(o){return o});O||(O=function(o){return o});we||(we=function(o,l,s){return o.apply(l,s)});xe||(xe=function(o,l){return new o(...l)});const le=R(Array.prototype.forEach),jt=R(Array.prototype.lastIndexOf),st=R(Array.prototype.pop),$=R(Array.prototype.push),Vt=R(Array.prototype.splice),fe=R(String.prototype.toLowerCase),Ne=R(String.prototype.toString),lt=R(String.prototype.match),q=R(String.prototype.replace),$t=R(String.prototype.indexOf),qt=R(String.prototype.trim),L=R(Object.prototype.hasOwnProperty),A=R(RegExp.prototype.test),K=Kt(TypeError);function R(r){return function(o){o instanceof RegExp&&(o.lastIndex=0);for(var l=arguments.length,s=new Array(l>1?l-1:0),T=1;T<l;T++)s[T-1]=arguments[T];return we(r,o,s)}}function Kt(r){return function(){for(var o=arguments.length,l=new Array(o),s=0;s<o;s++)l[s]=arguments[s];return xe(r,l)}}function a(r,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fe;rt&&rt(r,null);let s=o.length;for(;s--;){let T=o[s];if(typeof T=="string"){const N=l(T);N!==T&&(Bt(o)||(o[s]=N),T=N)}r[T]=!0}return r}function Zt(r){for(let o=0;o<r.length;o++)L(r,o)||(r[o]=null);return r}function C(r){const o=_t(null);for(const[l,s]of Tt(r))L(r,l)&&(Array.isArray(s)?o[l]=Zt(s):s&&typeof s=="object"&&s.constructor===Object?o[l]=C(s):o[l]=s);return o}function Z(r,o){for(;r!==null;){const s=Xt(r,o);if(s){if(s.get)return R(s.get);if(typeof s.value=="function")return R(s.value)}r=Yt(r)}function l(){return null}return l}const ct=S(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),be=S(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Ie=S(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Jt=S(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Me=S(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Qt=S(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),ft=S(["#text"]),ut=S(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinlLine truncated
`+y),P&&le([pe,de,Te],M=>{y=q(y,M," ")}),g&&oe?g.createHTML(y):y},o.setConfig=function(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Oe(i),ge=!0},o.clearConfig=function(){H=null,ge=!1},o.isValidAttribute=function(i,e,t){H||Oe({});const n=p(i),c=p(e);return tt(n,c,t)},o.addHook=function(i,e){typeof e=="function"&&$(h[i],e)},o.removeHook=function(i,e){if(e!==void 0){const t=jt(h[i],e);return t===-1?void 0:Vt(h[i],t,1)[0]}return st(h[i])},o.removeHooks=function(i){h[i]=[]},o.removeAllHooks=function(){h=dt()},o}var un=ht();export{un as default};
+18
View File
@@ -0,0 +1,18 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1" />
<title>RegisFlow</title>
<meta name="description" content="Application de gestion des ventes de feux d'artifice conforme à la réglementation française" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="alternate icon" href="/favicon.ico" />
<script type="module" crossorigin src="/assets/index-JGS-T_I_.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-BSNiILtO.css">
</head>
<body>
<div id="root"></div>
<!-- This is a replit script which adds a banner on the top of the page when opened in development mode outside the replit environment -->
<script type="text/javascript" src="https://replit.com/public/js/replit-dev-banner.js"></script>
</body>
</html>
+39 -23
View File
@@ -74,14 +74,11 @@ export default function CameraModal({
<Dialog open={isOpen} onOpenChange={onClose}>
<DialogContent className="max-w-lg w-full mx-auto">
<DialogHeader>
<DialogTitle className="flex items-center justify-between">
<span>Capturer photo {photoType}</span>
<Button variant="ghost" size="sm" onClick={onClose}>
<X className="h-4 w-4" />
</Button>
<DialogTitle>
Photo {photoType ? photoType.charAt(0).toUpperCase() + photoType.slice(1) : ''}
</DialogTitle>
</DialogHeader>
<div className="space-y-4">
<div className="relative">
<video
@@ -89,29 +86,48 @@ export default function CameraModal({
autoPlay
playsInline
muted
className="w-full h-64 object-cover bg-black rounded"
/>
<canvas
ref={canvasRef}
className="hidden"
className="w-full max-w-full h-auto camera-preview rounded-lg border bg-black"
style={{
aspectRatio: '16/9',
objectFit: 'cover',
maxHeight: '400px',
minHeight: '200px'
}}
onLoadedMetadata={() => console.log('CameraModal: Video metadata loaded')}
onCanPlay={() => console.log('CameraModal: Video can play')}
onPlay={() => console.log('CameraModal: Video playing')}
onError={(e) => console.error('CameraModal: Video error:', e)}
/>
<canvas ref={canvasRef} className="hidden" />
{/* Overlay pour aider à cadrer la pièce d'identité */}
<div className="absolute inset-0 pointer-events-none">
<div className="absolute inset-4 border-2 border-white border-dashed rounded-lg opacity-70"></div>
<div className="absolute bottom-2 left-2 text-white text-sm bg-black bg-opacity-70 px-2 py-1 rounded">
Cadrez la pièce d'identité dans le rectangle
</div>
<div className="absolute top-2 right-2 text-white text-xs bg-black bg-opacity-70 px-2 py-1 rounded">
{photoType === 'recto' ? 'RECTO' : 'VERSO'}
</div>
</div>
</div>
<div className="flex justify-center gap-4">
<Button
onClick={onCapture}
disabled={isCapturing}
className="flex items-center gap-2"
>
<Camera className="h-4 w-4" />
{isCapturing ? 'Capture...' : 'Prendre la photo'}
<div className="flex justify-between space-x-3">
<Button variant="outline" onClick={onClose} className="flex-1">
<X className="h-4 w-4 mr-2" />
Fermer
</Button>
<Button variant="outline" onClick={onClose}>
Annuler
<Button
onClick={onCapture}
disabled={isCapturing}
className="bg-green-600 hover:bg-green-700 text-white flex-1"
>
<Camera className="h-4 w-4 mr-2" />
{isCapturing ? 'Capture...' : 'Prendre la photo'}
</Button>
</div>
</div>
</DialogContent>
</Dialog>
);
}
}
+2 -2
View File
@@ -2,7 +2,7 @@ import { useState } from 'react';
import { useQuery } from '@tanstack/react-query';
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
import { Shield, Flame, Plus, History } from 'lucide-react';
import NewSaleFormMultiProduct from './NewSaleFormMultiProduct';
import NewSaleForm from './NewSaleForm';
import SalesHistory from './SalesHistory';
import { useAuth } from '@/hooks/useAuth';
import { useStoreContext } from '@/hooks/useStoreContext';
@@ -68,7 +68,7 @@ export default function FireworksApp() {
</TabsList>
<TabsContent value="nouvelle-vente">
<NewSaleFormMultiProduct />
<NewSaleForm />
</TabsContent>
<TabsContent value="historique">
+301 -228
View File
@@ -1,5 +1,5 @@
import { useState } from 'react';
import { useForm, useFieldArray } from 'react-hook-form';
import { useForm } from 'react-hook-form';
import { useMutation, useQueryClient } from '@tanstack/react-query';
import { Button } from '@/components/ui/button';
import { Input } from '@/components/ui/input';
@@ -9,23 +9,21 @@ import { Alert, AlertDescription } from '@/components/ui/alert';
import { useToast } from '@/hooks/use-toast';
import { useAuth } from '@/hooks/useAuth';
import { useStoreContext } from '@/hooks/useStoreContext';
import { useSimpleCamera } from '@/hooks/useSimpleCamera';
import { apiRequest } from '@/lib/queryClient';
import { validateRequiredFields, validateEAN13, ARTICLE_CATEGORY_MAPPING, IDENTITY_TYPES, PAYMENT_METHODS } from '@/lib/validation';
import { Package, User, Users, Save, Calendar, BadgeCheck, Info, Camera, Upload, Trash2, Plus, X } from 'lucide-react';
import CameraModal from '@/components/CameraModal';
import { Package, User, Users, Save, Calendar, BadgeCheck, Info, Camera, Upload, Trash2 } from 'lucide-react';
import SimpleCameraModal from '@/components/SimpleCameraModal';
import type { PhotoType } from '@/types/sale';
interface Product {
interface FormData {
vendeur: string;
dateVente: string;
typeArticle: string;
categorie: string;
quantite: string;
gencode: string;
}
interface FormData {
vendeur: string;
products: Product[];
nom: string;
prenom: string;
dateNaissance: string;
@@ -48,14 +46,26 @@ export default function NewSaleForm() {
const { selectedStoreId } = useStoreContext();
const [isSubmitting, setIsSubmitting] = useState(false);
// Camera state
const [isCameraOpen, setIsCameraOpen] = useState(false);
const [currentPhotoType, setCurrentPhotoType] = useState<PhotoType | null>(null);
// Camera functionality
const {
isOpen: isCameraOpen,
currentPhotoType,
isCapturing,
videoRef,
canvasRef,
startCamera,
capturePhoto,
stopCamera
} = useSimpleCamera();
const form = useForm<FormData>({
defaultValues: {
vendeur: '',
products: [{ typeArticle: '', categorie: '', quantite: '1', gencode: '' }],
dateVente: new Date().toISOString().split('T')[0],
typeArticle: '',
categorie: '',
quantite: '',
gencode: '',
nom: '',
prenom: '',
dateNaissance: '',
@@ -71,10 +81,8 @@ export default function NewSaleForm() {
}
});
const { fields, append, remove } = useFieldArray({
control: form.control,
name: "products"
});
const typeArticle = form.watch('typeArticle');
const availableCategories = typeArticle ? ARTICLE_CATEGORY_MAPPING[typeArticle as keyof typeof ARTICLE_CATEGORY_MAPPING] || [] : [];
const createSaleMutation = useMutation({
mutationFn: async (saleData: any) => {
@@ -98,7 +106,11 @@ export default function NewSaleForm() {
});
form.reset({
vendeur: '',
products: [{ typeArticle: '', categorie: '', quantite: '1', gencode: '' }],
dateVente: new Date().toISOString().split('T')[0],
typeArticle: '',
categorie: '',
quantite: '',
gencode: '',
nom: '',
prenom: '',
dateNaissance: '',
@@ -136,26 +148,21 @@ export default function NewSaleForm() {
return;
}
// Validation EAN13 pour chaque produit
for (const product of data.products) {
if (!validateEAN13(product.gencode)) {
toast({
title: "Code EAN13 invalide",
description: `Le gencode "${product.gencode}" doit être un code EAN13 valide à 13 chiffres`,
variant: "destructive",
});
return;
}
if (!validateEAN13(data.gencode)) {
toast({
title: "Code EAN13 invalide",
description: "Le gencode doit être un code EAN13 valide à 13 chiffres",
variant: "destructive",
});
return;
}
const saleData = {
vendeur: data.vendeur,
products: data.products.map(product => ({
typeArticle: product.typeArticle,
categorie: product.categorie as 'F2' | 'F3',
quantite: parseInt(product.quantite),
gencode: product.gencode,
})),
typeArticle: data.typeArticle,
categorie: data.categorie as 'F2' | 'F3',
quantite: parseInt(data.quantite),
gencode: data.gencode,
nom: data.nom,
prenom: data.prenom,
dateNaissance: data.dateNaissance,
@@ -179,28 +186,84 @@ export default function NewSaleForm() {
};
// Photo capture functions
const handlePhotoCapture = (photoType: PhotoType) => {
setCurrentPhotoType(photoType);
setIsCameraOpen(true);
const handlePhotoCapture = async (photoType: PhotoType) => {
console.log('=== PHOTO CAPTURE REQUESTED ===');
console.log('Photo type:', photoType);
// Vérifications préliminaires
if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
toast({
title: "Navigateur non compatible",
description: "Votre navigateur ne supporte pas la capture photo. Utilisez Chrome, Firefox ou Safari récent.",
variant: "destructive",
});
return;
}
// Vérifier si nous sommes en HTTPS (requis par certains navigateurs)
if (location.protocol !== 'https:' && location.hostname !== 'localhost') {
toast({
title: "Connexion sécurisée requise",
description: "L'accès à la caméra nécessite une connexion HTTPS.",
variant: "destructive",
});
return;
}
try {
console.log('Attempting to start camera...');
// Afficher toast de démarrage
toast({
title: "Démarrage de la caméra",
description: "Préparation de la caméra en cours...",
});
// Démarrer la caméra simple
await startCamera(photoType);
console.log('Simple camera started successfully');
} catch (error) {
console.error('Camera start failed:', error);
toast({
title: "Erreur d'accès à la caméra",
description: error instanceof Error ? error.message : "Impossible d'accéder à la caméra",
variant: "destructive",
});
}
};
const handlePhotoTaken = (photoData: string) => {
if (currentPhotoType === 'recto') {
form.setValue('photoRecto', photoData);
} else if (currentPhotoType === 'verso') {
form.setValue('photoVerso', photoData);
} else if (currentPhotoType === 'ticket') {
form.setValue('photoTicket', photoData);
const handleTakePhoto = async () => {
if (!currentPhotoType) return;
try {
console.log('Attempting to capture photo...');
const photoData = await capturePhoto();
console.log('Photo captured successfully, data length:', photoData.length);
if (currentPhotoType === 'recto') {
form.setValue('photoRecto', photoData);
} else if (currentPhotoType === 'verso') {
form.setValue('photoVerso', photoData);
} else if (currentPhotoType === 'ticket') {
form.setValue('photoTicket', photoData);
}
toast({
title: "Photo capturée",
description: `Photo ${currentPhotoType} enregistrée avec succès`,
variant: "success",
});
stopCamera();
} catch (error) {
console.error('Photo capture error:', error);
toast({
title: "Erreur de capture",
description: error instanceof Error ? error.message : "Erreur lors de la capture",
variant: "destructive",
});
}
toast({
title: "Photo capturée",
description: `Photo ${currentPhotoType} enregistrée avec succès`,
variant: "success",
});
setIsCameraOpen(false);
setCurrentPhotoType(null);
};
const handleRemovePhoto = (photoType: PhotoType) => {
@@ -253,222 +316,236 @@ export default function NewSaleForm() {
toast({
title: "Photo ajoutée",
description: `Photo ${photoType} ajoutée avec succès`,
variant: "success",
});
};
reader.readAsDataURL(file);
};
// Camera test function
const handleCameraTest = async () => {
toast({
title: "Test en cours...",
description: "Vérification de l'accès aux caméras",
});
const results = await runCameraTest();
let message = `Test de caméra terminé:\n`;
message += `✓ Navigateur compatible: ${results.hasMediaDevices ? 'Oui' : 'Non'}\n`;
message += `✓ getUserMedia disponible: ${results.hasGetUserMedia ? 'Oui' : 'Non'}\n`;
message += `✓ Caméras détectées: ${results.videoDevicesCount}\n`;
message += `✓ Permissions: ${results.permissions}\n`;
if (results.error) {
message += `❌ Erreur: ${results.error}`;
} else {
message += `✅ Caméra fonctionnelle`;
}
toast({
title: results.error ? "Test échoué" : "Test réussi",
description: message,
variant: results.error ? "destructive" : "default",
});
};
return (
<div className="space-y-6">
<div className="modern-card">
<div className="elegant-card animate-slide-in">
<div className="p-6">
<Form {...form}>
<form onSubmit={form.handleSubmit(onSubmit)} className="space-y-8">
<form onSubmit={form.handleSubmit(onSubmit)} className="space-y-6">
{/* Section Vendeur */}
<div className="modern-section" style={{ backgroundColor: '#f0f9ff' }}>
<div className="flex items-center gap-2 mb-4">
<User className="h-5 w-5 text-primary" />
<h3 className="text-lg font-semibold text-gray-900">Informations Vendeur</h3>
<div className="section-vendor">
<div className="section-header">
<User className="h-5 w-5" />
<span>Informations Vendeur</span>
</div>
<div className="grid grid-cols-1 gap-4">
<FormField
control={form.control}
name="vendeur"
render={({ field }) => (
<FormItem>
<FormLabel>Vendeur <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input placeholder="Nom du vendeur" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
</div>
<FormField
control={form.control}
name="vendeur"
render={({ field }) => (
<FormItem>
<FormLabel>Nom du vendeur *</FormLabel>
<FormControl>
<Input {...field} className="modern-input" />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
</div>
{/* Section Produits */}
<div className="modern-section" style={{ backgroundColor: '#f0fdf4' }}>
<div className="flex items-center justify-between mb-4">
<div className="flex items-center gap-2">
<Package className="h-5 w-5 text-primary" />
<h3 className="text-lg font-semibold text-gray-900">Produits</h3>
</div>
<Button
type="button"
onClick={() => append({ typeArticle: '', categorie: '', quantite: '1', gencode: '' })}
variant="outline"
size="sm"
>
<Plus className="h-4 w-4 mr-2" />
Ajouter un produit
</Button>
{/* Section Produit */}
<div className="section-product">
<div className="section-header">
<Package className="h-5 w-5" />
<span>Informations Produit</span>
</div>
<div className="grid grid-cols-1 sm:grid-cols-2 gap-4">
<FormField
control={form.control}
name="typeArticle"
render={({ field }) => (
<FormItem>
<FormLabel>Type d'article <span className="text-destructive">*</span></FormLabel>
<Select value={field.value} onValueChange={(value) => {
field.onChange(value);
form.setValue('categorie', '');
}}>
<FormControl>
<SelectTrigger className="modern-input">
<SelectValue placeholder="Sélectionner un type" />
</SelectTrigger>
</FormControl>
<SelectContent>
{Object.keys(ARTICLE_CATEGORY_MAPPING).map((type) => (
<SelectItem key={type} value={type}>
{type}
</SelectItem>
))}
</SelectContent>
</Select>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="categorie"
render={({ field }) => (
<FormItem>
<FormLabel>Catégorie réglementaire <span className="text-destructive">*</span></FormLabel>
<Select value={field.value} onValueChange={field.onChange} disabled={!typeArticle}>
<FormControl>
<SelectTrigger className="modern-input">
<SelectValue placeholder="Sélectionner une catégorie" />
</SelectTrigger>
</FormControl>
<SelectContent>
{availableCategories.map((category) => (
<SelectItem key={category} value={category}>
{category}
</SelectItem>
))}
</SelectContent>
</Select>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="quantite"
render={({ field }) => (
<FormItem>
<FormLabel>Quantité <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input type="number" min="1" placeholder="Entrez la quantité" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="gencode"
render={({ field }) => (
<FormItem>
<FormLabel>Gencode (EAN13) <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input placeholder="Code EAN13 à 13 chiffres" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
</div>
<div className="space-y-4">
{fields.map((field, index) => (
<div key={field.id} className="grid grid-cols-1 md:grid-cols-5 gap-4 p-4 border rounded-lg bg-white">
<FormField
control={form.control}
name={`products.${index}.typeArticle`}
render={({ field }) => (
<FormItem>
<FormLabel>Type d'article *</FormLabel>
<FormControl>
<Input {...field} className="modern-input" />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name={`products.${index}.categorie`}
render={({ field }) => (
<FormItem>
<FormLabel>Catégorie *</FormLabel>
<Select onValueChange={field.onChange} value={field.value}>
<FormControl>
<SelectTrigger className="modern-input">
<SelectValue placeholder="Choisir" />
</SelectTrigger>
</FormControl>
<SelectContent>
<SelectItem value="F2">F2</SelectItem>
<SelectItem value="F3">F3</SelectItem>
</SelectContent>
</Select>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name={`products.${index}.quantite`}
render={({ field }) => (
<FormItem>
<FormLabel>Quantité *</FormLabel>
<FormControl>
<Input {...field} type="number" min="1" className="modern-input" />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name={`products.${index}.gencode`}
render={({ field }) => (
<FormItem>
<FormLabel>Gencode EAN13 *</FormLabel>
<FormControl>
<Input {...field} className="modern-input" />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<div className="flex items-end">
{fields.length > 1 && (
<Button
type="button"
onClick={() => remove(index)}
variant="outline"
size="sm"
className="text-red-600 hover:text-red-700"
>
<X className="h-4 w-4" />
</Button>
)}
</div>
</div>
))}
</div>
<Alert className="mt-4 border-blue-200 bg-blue-50">
<Info className="h-4 w-4 text-blue-600" />
<AlertDescription className="text-blue-800">
<strong>Information réglementaire :</strong> F1 = vente interdite aux mineurs de moins de 12 ans • F2/F3 = artifices puissants réservés aux majeurs, vente encadrée
</AlertDescription>
</Alert>
</div>
{/* Section Client */}
<div className="modern-section" style={{ backgroundColor: '#fefce8' }}>
<div className="flex items-center gap-2 mb-4">
<Users className="h-5 w-5 text-primary" />
<h3 className="text-lg font-semibold text-gray-900">Informations Client</h3>
<div className="section-client">
<div className="section-header">
<Users className="h-5 w-5" />
<span>Informations Client</span>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
<div className="grid grid-cols-1 sm:grid-cols-2 gap-4">
<FormField
control={form.control}
name="nom"
render={({ field }) => (
<FormItem>
<FormLabel>Nom *</FormLabel>
<FormLabel>Nom de famille <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input {...field} className="modern-input" />
<Input placeholder="Nom de famille" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="prenom"
render={({ field }) => (
<FormItem>
<FormLabel>Prénom *</FormLabel>
<FormLabel>Prénom <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input {...field} className="modern-input" />
<Input placeholder="Prénom" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="dateNaissance"
render={({ field }) => (
<FormItem>
<FormLabel>Date de naissance *</FormLabel>
<FormLabel>Date de naissance <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input {...field} type="date" className="modern-input" />
<Input type="date" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="lieuNaissance"
render={({ field }) => (
<FormItem>
<FormLabel>Lieu de naissance *</FormLabel>
<FormLabel>Lieu de naissance <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input {...field} className="modern-input" />
<Input placeholder="Ville de naissance" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="modePaiement"
render={({ field }) => (
<FormItem>
<FormLabel>Mode de paiement *</FormLabel>
<Select onValueChange={field.onChange} value={field.value}>
<FormLabel>Mode de paiement <span className="text-destructive">*</span></FormLabel>
<Select value={field.value} onValueChange={field.onChange}>
<FormControl>
<SelectTrigger className="modern-input">
<SelectValue />
<SelectValue placeholder="Sélectionner le mode de paiement" />
</SelectTrigger>
</FormControl>
<SelectContent>
{PAYMENT_METHODS.map((method) => (
<SelectItem key={method} value={method}>
{method}
<SelectItem key={method.value} value={method.value}>
{method.label}
</SelectItem>
))}
</SelectContent>
@@ -481,29 +558,28 @@ export default function NewSaleForm() {
</div>
{/* Section Identité */}
<div className="modern-section" style={{ backgroundColor: '#fdf2f8' }}>
<div className="flex items-center gap-2 mb-4">
<BadgeCheck className="h-5 w-5 text-primary" />
<h3 className="text-lg font-semibold text-gray-900">Pièce d'Identité</h3>
<div className="section-identity">
<div className="section-header">
<BadgeCheck className="h-5 w-5" />
<span>Pièce d'Identité</span>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
<div className="grid grid-cols-1 sm:grid-cols-2 gap-4">
<FormField
control={form.control}
name="typeIdentite"
render={({ field }) => (
<FormItem>
<FormLabel>Type de pièce d'identité *</FormLabel>
<Select onValueChange={field.onChange} value={field.value}>
<FormLabel>Type de pièce d'identité <span className="text-destructive">*</span></FormLabel>
<Select value={field.value} onValueChange={field.onChange}>
<FormControl>
<SelectTrigger className="modern-input">
<SelectValue placeholder="Choisir un type" />
<SelectValue placeholder="Sélectionner le type" />
</SelectTrigger>
</FormControl>
<SelectContent>
{IDENTITY_TYPES.map((type) => (
<SelectItem key={type} value={type}>
{type}
<SelectItem key={type.value} value={type.value}>
{type.label}
</SelectItem>
))}
</SelectContent>
@@ -512,21 +588,19 @@ export default function NewSaleForm() {
</FormItem>
)}
/>
<FormField
control={form.control}
name="numeroIdentite"
render={({ field }) => (
<FormItem>
<FormLabel>Numéro de pièce d'identité *</FormLabel>
<FormLabel>Numéro de pièce d'identité <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input {...field} className="modern-input" />
<Input placeholder="Numéro de la pièce" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="autoriteDelivrance"
@@ -534,35 +608,34 @@ export default function NewSaleForm() {
<FormItem>
<FormLabel>Autorité de délivrance</FormLabel>
<FormControl>
<Input {...field} className="modern-input" />
<Input placeholder="Autorité ayant délivré la pièce (optionnel)" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="dateDelivrance"
render={({ field }) => (
<FormItem>
<FormLabel>Date de délivrance *</FormLabel>
<FormLabel>Date de délivrance <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input {...field} type="date" className="modern-input" />
<Input type="date" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
</div>
{/* Photos pièce d'identité */}
{/* Section Photos */}
<div className="mt-6 space-y-4">
<div>
<h4 className="text-sm font-medium text-gray-700">Photos de la pièce d'identité</h4>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
<div className="grid grid-cols-1 sm:grid-cols-2 gap-4">
{/* Photo Recto */}
<div className="space-y-2">
<label className="text-sm font-medium text-gray-600">Photo Recto</label>
@@ -571,7 +644,7 @@ export default function NewSaleForm() {
<img
src={form.watch('photoRecto')}
alt="Photo recto"
className="w-full h-32 object-cover border"
className="w-full h-32 object-cover rounded border"
/>
<Button
type="button"
@@ -622,7 +695,7 @@ export default function NewSaleForm() {
<img
src={form.watch('photoVerso')}
alt="Photo verso"
className="w-full h-32 object-cover border"
className="w-full h-32 object-cover rounded border"
/>
<Button
type="button"
@@ -680,7 +753,7 @@ export default function NewSaleForm() {
<img
src={form.watch('photoTicket')}
alt="Photo ticket"
className="w-full h-32 object-cover border"
className="w-full h-32 object-cover rounded border"
/>
<Button
type="button"
@@ -748,14 +821,14 @@ export default function NewSaleForm() {
</div>
{/* Camera Modal */}
<CameraModal
<SimpleCameraModal
isOpen={isCameraOpen}
photoType={currentPhotoType}
onClose={() => {
setIsCameraOpen(false);
setCurrentPhotoType(null);
}}
onPhotoTaken={handlePhotoTaken}
videoRef={videoRef}
canvasRef={canvasRef}
isCapturing={isCapturing}
onClose={stopCamera}
onCapture={handleTakePhoto}
/>
</div>
);
+700
View File
@@ -0,0 +1,700 @@
import { useState } from 'react';
import { useForm, useFieldArray } from 'react-hook-form';
import { useMutation, useQueryClient } from '@tanstack/react-query';
import { Button } from '@/components/ui/button';
import { Input } from '@/components/ui/input';
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';
import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from '@/components/ui/form';
import { Alert, AlertDescription } from '@/components/ui/alert';
import { useToast } from '@/hooks/use-toast';
import { useAuth } from '@/hooks/useAuth';
import { useStoreContext } from '@/hooks/useStoreContext';
import { useSimpleCamera } from '@/hooks/useSimpleCamera';
import { apiRequest } from '@/lib/queryClient';
import { validateRequiredFields, validateEAN13, ARTICLE_CATEGORY_MAPPING, IDENTITY_TYPES, PAYMENT_METHODS } from '@/lib/validation';
import { Package, User, Users, Save, Calendar, BadgeCheck, Info, Camera, Upload, Trash2, Plus, Minus } from 'lucide-react';
import SimpleCameraModal from '@/components/SimpleCameraModal';
import type { PhotoType, FormData } from '@/types/sale';
export default function NewSaleFormMulti() {
const { toast } = useToast();
const queryClient = useQueryClient();
const { user } = useAuth();
const { selectedStoreId } = useStoreContext();
const [isSubmitting, setIsSubmitting] = useState(false);
// Camera functionality
const {
isOpen: isCameraOpen,
currentPhotoType,
isCapturing,
videoRef,
canvasRef,
startCamera,
capturePhoto,
stopCamera
} = useSimpleCamera();
const form = useForm<FormData>({
defaultValues: {
vendeur: '',
products: [
{
typeArticle: '',
categorie: '',
quantite: '',
gencode: '',
}
],
nom: '',
prenom: '',
dateNaissance: '',
lieuNaissance: '',
modePaiement: 'Espèce',
typeIdentite: '',
numeroIdentite: '',
autoriteDelivrance: '',
dateDelivrance: '',
photoRecto: '',
photoVerso: '',
photoTicket: '',
}
});
const { fields, append, remove } = useFieldArray({
control: form.control,
name: "products"
});
const createSaleMutation = useMutation({
mutationFn: async (saleData: any) => {
const dataToSend = {
...saleData,
...(user?.role === 'admin' && selectedStoreId && { storeId: selectedStoreId })
};
const response = await apiRequest('/api/sales', {
method: 'POST',
body: JSON.stringify(dataToSend),
});
return response.json();
},
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ['/api/sales'], exact: false });
toast({
title: "Vente enregistrée",
description: "La vente a été enregistrée avec succès",
variant: "success",
});
form.reset();
},
onError: (error: any) => {
const errorMessage = error.message || 'Erreur lors de la création de la vente';
toast({
title: "Erreur",
description: errorMessage,
variant: "destructive",
});
},
});
const onSubmit = async (data: FormData) => {
console.log('Form data:', data);
setIsSubmitting(true);
try {
// Validation des champs requis
const missingFields = validateRequiredFields(data);
if (missingFields.length > 0) {
toast({
title: "Champs obligatoires manquants",
description: `Veuillez remplir : ${missingFields.join(', ')}`,
variant: "destructive",
});
setIsSubmitting(false);
return;
}
// Validation EAN-13 pour tous les produits
const invalidBarcodes = data.products.filter(product => !validateEAN13(product.gencode));
if (invalidBarcodes.length > 0) {
toast({
title: "Code-barres invalide",
description: "Certains codes EAN-13 ne sont pas valides",
variant: "destructive",
});
setIsSubmitting(false);
return;
}
await createSaleMutation.mutateAsync(data);
} catch (error) {
console.error('Submit error:', error);
} finally {
setIsSubmitting(false);
}
};
const handlePhotoCapture = async (photoType: PhotoType) => {
await startCamera(photoType);
};
const handleRemovePhoto = (photoType: PhotoType) => {
const field = photoType === 'recto' ? 'photoRecto' :
photoType === 'verso' ? 'photoVerso' : 'photoTicket';
form.setValue(field, '');
};
const handleFileUpload = (photoType: PhotoType, event: React.ChangeEvent<HTMLInputElement>) => {
const file = event.target.files?.[0];
if (file) {
const reader = new FileReader();
reader.onload = (e) => {
const result = e.target?.result as string;
const field = photoType === 'recto' ? 'photoRecto' :
photoType === 'verso' ? 'photoVerso' : 'photoTicket';
form.setValue(field, result);
};
reader.readAsDataURL(file);
}
};
const addProduct = () => {
append({
typeArticle: '',
categorie: '',
quantite: '',
gencode: '',
});
};
const removeProduct = (index: number) => {
if (fields.length > 1) {
remove(index);
}
};
const getAvailableCategories = (typeArticle: string) => {
return typeArticle ? ARTICLE_CATEGORY_MAPPING[typeArticle as keyof typeof ARTICLE_CATEGORY_MAPPING] || [] : [];
};
return (
<div className="space-y-6">
<SimpleCameraModal
isOpen={isCameraOpen}
photoType={currentPhotoType}
videoRef={videoRef}
canvasRef={canvasRef}
isCapturing={isCapturing}
onClose={stopCamera}
onCapture={capturePhoto}
/>
<Form {...form}>
<form onSubmit={form.handleSubmit(onSubmit)} className="space-y-6">
{/* Section Vendeur */}
<div className="modern-section bg-blue-50 p-6 border border-blue-200">
<div className="flex items-center gap-2 mb-4">
<User className="h-5 w-5 text-blue-600" />
<h3 className="text-lg font-semibold text-blue-800">Informations vendeur</h3>
</div>
<FormField
control={form.control}
name="vendeur"
render={({ field }) => (
<FormItem>
<FormLabel>Nom du vendeur *</FormLabel>
<FormControl>
<Input {...field} className="modern-input" placeholder="Nom du vendeur" />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
</div>
{/* Section Produits */}
<div className="modern-section bg-green-50 p-6 border border-green-200">
<div className="flex items-center justify-between mb-4">
<div className="flex items-center gap-2">
<Package className="h-5 w-5 text-green-600" />
<h3 className="text-lg font-semibold text-green-800">Produits</h3>
</div>
<Button
type="button"
onClick={addProduct}
variant="outline"
size="sm"
className="text-green-600 border-green-300 hover:bg-green-100"
>
<Plus className="h-4 w-4 mr-1" />
Ajouter un produit
</Button>
</div>
<div className="space-y-4">
{fields.map((field, index) => (
<div key={field.id} className="p-4 border border-green-200 rounded-lg bg-white space-y-3">
<div className="flex items-center justify-between">
<h4 className="font-medium text-green-700">Produit {index + 1}</h4>
{fields.length > 1 && (
<Button
type="button"
onClick={() => removeProduct(index)}
variant="outline"
size="sm"
className="text-red-600 border-red-300 hover:bg-red-100"
>
<Minus className="h-4 w-4" />
</Button>
)}
</div>
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<FormField
control={form.control}
name={`products.${index}.typeArticle`}
render={({ field }) => (
<FormItem>
<FormLabel>Type d'article *</FormLabel>
<Select onValueChange={field.onChange} value={field.value}>
<FormControl>
<SelectTrigger className="modern-input">
<SelectValue placeholder="Sélectionner un type" />
</SelectTrigger>
</FormControl>
<SelectContent>
{Object.keys(ARTICLE_CATEGORY_MAPPING).map((type) => (
<SelectItem key={type} value={type}>
{type}
</SelectItem>
))}
</SelectContent>
</Select>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name={`products.${index}.categorie`}
render={({ field }) => (
<FormItem>
<FormLabel>Catégorie *</FormLabel>
<Select onValueChange={field.onChange} value={field.value}>
<FormControl>
<SelectTrigger className="modern-input">
<SelectValue placeholder="Sélectionner une catégorie" />
</SelectTrigger>
</FormControl>
<SelectContent>
{getAvailableCategories(form.watch(`products.${index}.typeArticle`)).map((cat) => (
<SelectItem key={cat} value={cat}>
{cat}
</SelectItem>
))}
</SelectContent>
</Select>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name={`products.${index}.quantite`}
render={({ field }) => (
<FormItem>
<FormLabel>Quantité *</FormLabel>
<FormControl>
<Input {...field} type="number" min="1" className="modern-input" placeholder="1" />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name={`products.${index}.gencode`}
render={({ field }) => (
<FormItem>
<FormLabel>Code EAN-13 *</FormLabel>
<FormControl>
<Input {...field} className="modern-input" placeholder="Code-barres EAN-13" />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
</div>
</div>
))}
</div>
</div>
{/* Section Client */}
<div className="modern-section bg-purple-50 p-6 border border-purple-200">
<div className="flex items-center gap-2 mb-4">
<Users className="h-5 w-5 text-purple-600" />
<h3 className="text-lg font-semibold text-purple-800">Informations client</h3>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<FormField
control={form.control}
name="nom"
render={({ field }) => (
<FormItem>
<FormLabel>Nom *</FormLabel>
<FormControl>
<Input {...field} className="modern-input" placeholder="Nom de famille" />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="prenom"
render={({ field }) => (
<FormItem>
<FormLabel>Prénom *</FormLabel>
<FormControl>
<Input {...field} className="modern-input" placeholder="Prénom" />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="dateNaissance"
render={({ field }) => (
<FormItem>
<FormLabel>Date de naissance *</FormLabel>
<FormControl>
<Input {...field} type="date" className="modern-input" />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="lieuNaissance"
render={({ field }) => (
<FormItem>
<FormLabel>Lieu de naissance *</FormLabel>
<FormControl>
<Input {...field} className="modern-input" placeholder="Lieu de naissance" />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="modePaiement"
render={({ field }) => (
<FormItem>
<FormLabel>Mode de paiement *</FormLabel>
<Select onValueChange={field.onChange} value={field.value}>
<FormControl>
<SelectTrigger className="modern-input">
<SelectValue />
</SelectTrigger>
</FormControl>
<SelectContent>
{PAYMENT_METHODS.map((method) => (
<SelectItem key={method.value} value={method.value}>
{method.label}
</SelectItem>
))}
</SelectContent>
</Select>
<FormMessage />
</FormItem>
)}
/>
</div>
</div>
{/* Section Identité */}
<div className="modern-section bg-orange-50 p-6 border border-orange-200">
<div className="flex items-center gap-2 mb-4">
<BadgeCheck className="h-5 w-5 text-orange-600" />
<h3 className="text-lg font-semibold text-orange-800">Pièce d'identité</h3>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<FormField
control={form.control}
name="typeIdentite"
render={({ field }) => (
<FormItem>
<FormLabel>Type de pièce d'identité *</FormLabel>
<Select onValueChange={field.onChange} value={field.value}>
<FormControl>
<SelectTrigger className="modern-input">
<SelectValue placeholder="Sélectionner le type" />
</SelectTrigger>
</FormControl>
<SelectContent>
{IDENTITY_TYPES.map((type) => (
<SelectItem key={type.value} value={type.value}>
{type.label}
</SelectItem>
))}
</SelectContent>
</Select>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="numeroIdentite"
render={({ field }) => (
<FormItem>
<FormLabel>Numéro de pièce d'identité *</FormLabel>
<FormControl>
<Input {...field} className="modern-input" placeholder="Numéro de la pièce" />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="autoriteDelivrance"
render={({ field }) => (
<FormItem>
<FormLabel>Autorité de délivrance</FormLabel>
<FormControl>
<Input {...field} className="modern-input" placeholder="Optionnel" />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="dateDelivrance"
render={({ field }) => (
<FormItem>
<FormLabel>Date de délivrance *</FormLabel>
<FormControl>
<Input {...field} type="date" className="modern-input" />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
</div>
{/* Photos */}
<div className="mt-6 space-y-4">
<h4 className="font-medium text-orange-700">Photos de la pièce d'identité</h4>
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
{/* Photo Recto */}
<div className="space-y-2">
<label className="text-sm font-medium">Photo recto</label>
<div className="flex gap-2">
<Button
type="button"
onClick={() => handlePhotoCapture('recto')}
variant="outline"
size="sm"
className="flex-1"
>
<Camera className="h-4 w-4 mr-1" />
Caméra
</Button>
<label className="flex-1">
<Button
type="button"
variant="outline"
size="sm"
className="w-full"
asChild
>
<span>
<Upload className="h-4 w-4 mr-1" />
Fichier
</span>
</Button>
<input
type="file"
accept="image/*"
className="hidden"
onChange={(e) => handleFileUpload('recto', e)}
/>
</label>
{form.watch('photoRecto') && (
<Button
type="button"
onClick={() => handleRemovePhoto('recto')}
variant="outline"
size="sm"
className="text-red-600"
>
<Trash2 className="h-4 w-4" />
</Button>
)}
</div>
{form.watch('photoRecto') && (
<div className="text-xs text-green-600">✓ Photo recto capturée</div>
)}
</div>
{/* Photo Verso */}
<div className="space-y-2">
<label className="text-sm font-medium">Photo verso</label>
<div className="flex gap-2">
<Button
type="button"
onClick={() => handlePhotoCapture('verso')}
variant="outline"
size="sm"
className="flex-1"
>
<Camera className="h-4 w-4 mr-1" />
Caméra
</Button>
<label className="flex-1">
<Button
type="button"
variant="outline"
size="sm"
className="w-full"
asChild
>
<span>
<Upload className="h-4 w-4 mr-1" />
Fichier
</span>
</Button>
<input
type="file"
accept="image/*"
className="hidden"
onChange={(e) => handleFileUpload('verso', e)}
/>
</label>
{form.watch('photoVerso') && (
<Button
type="button"
onClick={() => handleRemovePhoto('verso')}
variant="outline"
size="sm"
className="text-red-600"
>
<Trash2 className="h-4 w-4" />
</Button>
)}
</div>
{form.watch('photoVerso') && (
<div className="text-xs text-green-600">✓ Photo verso capturée</div>
)}
</div>
</div>
{/* Photo Ticket */}
<div className="space-y-2">
<label className="text-sm font-medium">Photo du ticket (optionnel)</label>
<div className="flex gap-2 max-w-md">
<Button
type="button"
onClick={() => handlePhotoCapture('ticket')}
variant="outline"
size="sm"
className="flex-1"
>
<Camera className="h-4 w-4 mr-1" />
Caméra
</Button>
<label className="flex-1">
<Button
type="button"
variant="outline"
size="sm"
className="w-full"
asChild
>
<span>
<Upload className="h-4 w-4 mr-1" />
Fichier
</span>
</Button>
<input
type="file"
accept="image/*"
className="hidden"
onChange={(e) => handleFileUpload('ticket', e)}
/>
</label>
{form.watch('photoTicket') && (
<Button
type="button"
onClick={() => handleRemovePhoto('ticket')}
variant="outline"
size="sm"
className="text-red-600"
>
<Trash2 className="h-4 w-4" />
</Button>
)}
</div>
{form.watch('photoTicket') && (
<div className="text-xs text-green-600">✓ Photo ticket capturée</div>
)}
</div>
</div>
</div>
{/* Boutons d'action */}
<div className="flex gap-4 justify-end">
<Button
type="button"
variant="outline"
onClick={() => form.reset()}
className="border"
>
Réinitialiser
</Button>
<Button
type="submit"
disabled={isSubmitting}
className="bg-green-600 hover:bg-green-700 text-white px-8"
>
{isSubmitting ? (
<span className="flex items-center">
<div className="animate-spin rounded-full h-4 w-4 border-b-2 border-white mr-2"></div>
Enregistrement...
</span>
) : (
<span className="flex items-center">
<Save className="h-4 w-4 mr-2" />
Enregistrer la vente
</span>
)}
</Button>
</div>
</form>
</Form>
</div>
);
}
@@ -1,706 +0,0 @@
import { useState } from "react";
import { useForm, useFieldArray } from "react-hook-form";
import { zodResolver } from "@hookform/resolvers/zod";
import { z } from "zod";
import { Button } from "@/components/ui/button";
import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form";
import { Input } from "@/components/ui/input";
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";
import { Alert, AlertDescription } from "@/components/ui/alert";
import { useToast } from "@/hooks/use-toast";
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { apiRequest } from "@/lib/queryClient";
import { useStoreContext } from "@/hooks/useStoreContext";
import { Package, User, Users, IdCard, Camera, Plus, Minus, Info } from "lucide-react";
import { validateEAN13, ARTICLE_CATEGORY_MAPPING, PAYMENT_METHODS, IDENTITY_TYPES } from "@/lib/validation";
import SimpleCameraModal from "@/components/SimpleCameraModal";
import { useSimpleCamera } from "@/hooks/useSimpleCamera";
// Types pour les photos
type PhotoType = 'recto' | 'verso' | 'ticket';
// Schema de validation pour un produit
const productSchema = z.object({
typeArticle: z.string().min(1, "Type d'article requis"),
categorie: z.string().min(1, "Catégorie requise"),
quantite: z.string().min(1, "Quantité requise").refine((val) => !isNaN(Number(val)) && Number(val) > 0, "Quantité invalide"),
gencode: z.string().length(13, "Code EAN-13 requis (13 chiffres)").refine(validateEAN13, "Code EAN-13 invalide"),
});
// Schema principal du formulaire
const formSchema = z.object({
vendeur: z.string().min(1, "Vendeur requis"),
products: z.array(productSchema).min(1, "Au moins un produit requis"),
nom: z.string().min(1, "Nom requis"),
prenom: z.string().min(1, "Prénom requis"),
dateNaissance: z.string().min(1, "Date de naissance requise"),
lieuNaissance: z.string().min(1, "Lieu de naissance requis"),
modePaiement: z.string().min(1, "Mode de paiement requis"),
typeIdentite: z.string().min(1, "Type d'identité requis"),
numeroIdentite: z.string().min(1, "Numéro d'identité requis"),
autoriteDelivrance: z.string().optional(),
dateDelivrance: z.string().min(1, "Date de délivrance requise"),
photoRecto: z.string().optional(),
photoVerso: z.string().optional(),
photoTicket: z.string().optional(),
});
type FormData = z.infer<typeof formSchema>;
export default function NewSaleFormMultiProduct() {
const { toast } = useToast();
const queryClient = useQueryClient();
const { selectedStoreId } = useStoreContext();
// Hook camera qui fonctionne
const {
isOpen: isCameraOpen,
currentPhotoType,
isCapturing,
videoRef,
canvasRef,
startCamera,
capturePhoto,
stopCamera
} = useSimpleCamera();
const [isSubmitting, setIsSubmitting] = useState(false);
// Formulaire avec valeurs par défaut
const form = useForm<FormData>({
resolver: zodResolver(formSchema),
defaultValues: {
vendeur: '',
products: [{ typeArticle: '', categorie: '', quantite: '1', gencode: '' }],
nom: '',
prenom: '',
dateNaissance: '',
lieuNaissance: '',
modePaiement: '',
typeIdentite: '',
numeroIdentite: '',
autoriteDelivrance: '',
dateDelivrance: '',
photoRecto: '',
photoVerso: '',
photoTicket: '',
},
});
// Gestion des produits dynamiques
const { fields, append, remove } = useFieldArray({
control: form.control,
name: "products"
});
// Mutation pour créer une vente
const createSaleMutation = useMutation({
mutationFn: async (data: any) => {
return await apiRequest(`/api/sales`, {
method: 'POST',
body: JSON.stringify(data),
});
},
onSuccess: () => {
toast({
title: "Vente enregistrée",
description: "La vente a été enregistrée avec succès",
});
// Réinitialiser le formulaire
form.reset({
vendeur: '',
products: [{ typeArticle: '', categorie: '', quantite: '1', gencode: '' }],
nom: '',
prenom: '',
dateNaissance: '',
lieuNaissance: '',
modePaiement: '',
typeIdentite: '',
numeroIdentite: '',
autoriteDelivrance: '',
dateDelivrance: '',
photoRecto: '',
photoVerso: '',
photoTicket: '',
});
// Invalider le cache des ventes
queryClient.invalidateQueries({ queryKey: ['/api/sales'] });
},
onError: (error: any) => {
toast({
title: "Erreur",
description: error.message || "Erreur lors de l'enregistrement de la vente",
variant: "destructive",
});
},
});
// Ajouter un nouveau produit
const addProduct = () => {
append({ typeArticle: '', categorie: '', quantite: '1', gencode: '' });
};
// Supprimer un produit
const removeProduct = (index: number) => {
if (fields.length > 1) {
remove(index);
}
};
// Soumission du formulaire
const onSubmit = async (data: FormData) => {
if (!selectedStoreId) {
toast({
title: "Erreur",
description: "Aucun magasin sélectionné",
variant: "destructive",
});
return;
}
setIsSubmitting(true);
try {
const saleData = {
storeId: selectedStoreId,
vendeur: data.vendeur,
products: data.products.map(product => ({
typeArticle: product.typeArticle,
categorie: product.categorie,
quantite: parseInt(product.quantite),
gencode: product.gencode,
})),
nom: data.nom,
prenom: data.prenom,
dateNaissance: data.dateNaissance,
lieuNaissance: data.lieuNaissance,
modePaiement: data.modePaiement,
typeIdentite: data.typeIdentite,
numeroIdentite: data.numeroIdentite,
autoriteDelivrance: data.autoriteDelivrance,
dateDelivrance: data.dateDelivrance,
photoRecto: data.photoRecto,
photoVerso: data.photoVerso,
photoTicket: data.photoTicket,
};
await createSaleMutation.mutateAsync(saleData);
} catch (error) {
console.error('Sale creation error:', error);
} finally {
setIsSubmitting(false);
}
};
// Gestion des photos avec le hook qui fonctionne
const handlePhotoCapture = async (photoType: PhotoType) => {
try {
await startCamera(photoType);
} catch (error) {
console.error('Erreur ouverture caméra:', error);
toast({
title: "Erreur caméra",
description: "Impossible d'accéder à la caméra. Vérifiez les autorisations.",
variant: "destructive",
});
}
};
const handleCapture = async () => {
try {
const photoData = await capturePhoto();
if (currentPhotoType) {
const fieldName = `photo${currentPhotoType.charAt(0).toUpperCase() + currentPhotoType.slice(1)}` as keyof FormData;
form.setValue(fieldName, photoData);
toast({
title: "Photo capturée",
description: `Photo ${currentPhotoType} enregistrée avec succès`,
});
}
stopCamera();
} catch (error) {
console.error('Erreur capture:', error);
toast({
title: "Erreur capture",
description: "Impossible de capturer la photo",
variant: "destructive",
});
}
};
const handleRemovePhoto = (photoType: PhotoType) => {
if (photoType === 'recto') {
form.setValue('photoRecto', '');
} else if (photoType === 'verso') {
form.setValue('photoVerso', '');
} else if (photoType === 'ticket') {
form.setValue('photoTicket', '');
}
toast({
title: "Photo supprimée",
description: `Photo ${photoType} supprimée`,
});
};
return (
<div className="elegant-card animate-slide-in">
<div className="p-6">
<Form {...form}>
<form onSubmit={form.handleSubmit(onSubmit)} className="space-y-6">
{/* Section Vendeur */}
<div className="section-vendor">
<div className="section-header">
<User className="h-5 w-5" />
<span>Informations Vendeur</span>
</div>
<div className="grid grid-cols-1 gap-4">
<FormField
control={form.control}
name="vendeur"
render={({ field }) => (
<FormItem>
<FormLabel>Vendeur <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input placeholder="Nom du vendeur" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
</div>
</div>
{/* Section Produits */}
<div className="section-product">
<div className="section-header">
<Package className="h-5 w-5" />
<span>Produits ({fields.length})</span>
<Button
type="button"
onClick={addProduct}
variant="outline"
size="sm"
className="ml-auto"
>
<Plus className="h-4 w-4 mr-2" />
Ajouter
</Button>
</div>
<div className="space-y-4">
{fields.map((field, index) => (
<div key={field.id} className="modern-card bg-green-50 dark:bg-green-900/20">
<div className="flex items-center justify-between mb-4">
<h3 className="font-medium text-gray-900 dark:text-white">
Produit {index + 1}
</h3>
{fields.length > 1 && (
<Button
type="button"
onClick={() => removeProduct(index)}
variant="outline"
size="sm"
className="text-red-600 hover:text-red-700"
>
<Minus className="h-4 w-4" />
</Button>
)}
</div>
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<FormField
control={form.control}
name={`products.${index}.typeArticle`}
render={({ field }) => (
<FormItem>
<FormLabel>Type d'article <span className="text-destructive">*</span></FormLabel>
<Select
value={field.value}
onValueChange={(value) => {
field.onChange(value);
form.setValue(`products.${index}.categorie`, '');
}}
>
<FormControl>
<SelectTrigger className="modern-input">
<SelectValue placeholder="Sélectionner le type" />
</SelectTrigger>
</FormControl>
<SelectContent>
{Object.keys(ARTICLE_CATEGORY_MAPPING).map((type) => (
<SelectItem key={`type-${index}-${type}`} value={type}>
{type}
</SelectItem>
))}
</SelectContent>
</Select>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name={`products.${index}.categorie`}
render={({ field }) => {
const selectedType = form.watch(`products.${index}.typeArticle`);
const availableCategories = selectedType ?
ARTICLE_CATEGORY_MAPPING[selectedType as keyof typeof ARTICLE_CATEGORY_MAPPING] || [] : [];
return (
<FormItem>
<FormLabel>Catégorie <span className="text-destructive">*</span></FormLabel>
<Select
value={field.value}
onValueChange={field.onChange}
disabled={!selectedType}
>
<FormControl>
<SelectTrigger className="modern-input">
<SelectValue placeholder="Sélectionner la catégorie" />
</SelectTrigger>
</FormControl>
<SelectContent>
{availableCategories.map((cat) => (
<SelectItem key={`cat-${index}-${cat}`} value={cat}>
{cat}
</SelectItem>
))}
</SelectContent>
</Select>
<FormMessage />
</FormItem>
);
}}
/>
<FormField
control={form.control}
name={`products.${index}.quantite`}
render={({ field }) => (
<FormItem>
<FormLabel>Quantité <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input
type="number"
min="1"
placeholder="Quantité"
className="modern-input"
{...field}
/>
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name={`products.${index}.gencode`}
render={({ field }) => (
<FormItem>
<FormLabel>Code EAN-13 <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input
placeholder="Code EAN-13 (13 chiffres)"
className="modern-input"
{...field}
/>
</FormControl>
<FormMessage />
</FormItem>
)}
/>
</div>
</div>
))}
</div>
<Alert className="mt-4 border-blue-200 bg-blue-50">
<Info className="h-4 w-4 text-blue-600" />
<AlertDescription className="text-blue-800">
<strong>Information réglementaire :</strong> F1 = vente interdite aux mineurs de moins de 12 ans • F2/F3 = artifices puissants réservés aux majeurs, vente encadrée
</AlertDescription>
</Alert>
</div>
{/* Section Client */}
<div className="section-client">
<div className="section-header">
<Users className="h-5 w-5" />
<span>Informations Client</span>
</div>
<div className="grid grid-cols-1 sm:grid-cols-2 gap-4">
<FormField
control={form.control}
name="nom"
render={({ field }) => (
<FormItem>
<FormLabel>Nom <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input placeholder="Nom de famille" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="prenom"
render={({ field }) => (
<FormItem>
<FormLabel>Prénom <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input placeholder="Prénom" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="dateNaissance"
render={({ field }) => (
<FormItem>
<FormLabel>Date de naissance <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input type="date" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="lieuNaissance"
render={({ field }) => (
<FormItem>
<FormLabel>Lieu de naissance <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input placeholder="Ville de naissance" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="modePaiement"
render={({ field }) => (
<FormItem>
<FormLabel>Mode de paiement <span className="text-destructive">*</span></FormLabel>
<Select onValueChange={field.onChange} value={field.value}>
<FormControl>
<SelectTrigger className="modern-input">
<SelectValue placeholder="Mode de paiement" />
</SelectTrigger>
</FormControl>
<SelectContent>
{PAYMENT_METHODS.map((method, methodIndex) => (
<SelectItem key={`payment-method-${methodIndex}`} value={method}>
{method}
</SelectItem>
))}
</SelectContent>
</Select>
<FormMessage />
</FormItem>
)}
/>
</div>
</div>
{/* Section Identité */}
<div className="section-identity">
<div className="section-header">
<IdCard className="h-5 w-5" />
<span>Pièce d'Identité</span>
</div>
<div className="grid grid-cols-1 sm:grid-cols-2 gap-4">
<FormField
control={form.control}
name="typeIdentite"
render={({ field }) => (
<FormItem>
<FormLabel>Type d'identité <span className="text-destructive">*</span></FormLabel>
<Select onValueChange={field.onChange} value={field.value}>
<FormControl>
<SelectTrigger className="modern-input">
<SelectValue placeholder="Type d'identité" />
</SelectTrigger>
</FormControl>
<SelectContent>
{IDENTITY_TYPES.map((type, typeIndex) => (
<SelectItem key={`identity-type-${typeIndex}`} value={type}>
{type}
</SelectItem>
))}
</SelectContent>
</Select>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="numeroIdentite"
render={({ field }) => (
<FormItem>
<FormLabel>Numéro <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input placeholder="Numéro de la pièce" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="autoriteDelivrance"
render={({ field }) => (
<FormItem>
<FormLabel>Autorité de délivrance</FormLabel>
<FormControl>
<Input placeholder="Autorité (optionnel)" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="dateDelivrance"
render={({ field }) => (
<FormItem>
<FormLabel>Date de délivrance <span className="text-destructive">*</span></FormLabel>
<FormControl>
<Input type="date" className="modern-input" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
</div>
{/* Section Photos */}
<div className="mt-6 space-y-4">
<h3 className="text-lg font-medium">Photos des documents</h3>
<div className="grid grid-cols-1 sm:grid-cols-3 gap-4">
{/* Photo Recto */}
<div className="space-y-2">
<label className="text-sm font-medium">Photo Recto</label>
<div className="flex flex-col gap-2">
<Button
type="button"
onClick={() => handlePhotoCapture('recto')}
variant="outline"
size="sm"
className="w-full"
>
<Camera className="h-4 w-4 mr-2" />
{form.watch('photoRecto') ? 'Modifier' : 'Capturer'}
</Button>
{form.watch('photoRecto') && (
<Button
type="button"
onClick={() => handleRemovePhoto('recto')}
variant="outline"
size="sm"
className="w-full text-red-600"
>
Supprimer
</Button>
)}
</div>
</div>
{/* Photo Verso */}
<div className="space-y-2">
<label className="text-sm font-medium">Photo Verso</label>
<div className="flex flex-col gap-2">
<Button
type="button"
onClick={() => handlePhotoCapture('verso')}
variant="outline"
size="sm"
className="w-full"
>
<Camera className="h-4 w-4 mr-2" />
{form.watch('photoVerso') ? 'Modifier' : 'Capturer'}
</Button>
{form.watch('photoVerso') && (
<Button
type="button"
onClick={() => handleRemovePhoto('verso')}
variant="outline"
size="sm"
className="w-full text-red-600"
>
Supprimer
</Button>
)}
</div>
</div>
{/* Photo Ticket */}
<div className="space-y-2">
<label className="text-sm font-medium">Photo Ticket</label>
<div className="flex flex-col gap-2">
<Button
type="button"
onClick={() => handlePhotoCapture('ticket')}
variant="outline"
size="sm"
className="w-full"
>
<Camera className="h-4 w-4 mr-2" />
{form.watch('photoTicket') ? 'Modifier' : 'Capturer'}
</Button>
{form.watch('photoTicket') && (
<Button
type="button"
onClick={() => handleRemovePhoto('ticket')}
variant="outline"
size="sm"
className="w-full text-red-600"
>
Supprimer
</Button>
)}
</div>
</div>
</div>
</div>
</div>
{/* Bouton de soumission */}
<div className="flex justify-end">
<Button
type="submit"
disabled={isSubmitting}
className="bg-green-600 hover:bg-green-700 text-white px-8 py-2 text-lg font-medium"
>
{isSubmitting ? "Enregistrement..." : "Enregistrer la vente"}
</Button>
</div>
</form>
</Form>
</div>
{/* Modal Camera qui fonctionne */}
<SimpleCameraModal
isOpen={isCameraOpen}
photoType={currentPhotoType}
videoRef={videoRef}
canvasRef={canvasRef}
isCapturing={isCapturing}
onClose={stopCamera}
onCapture={handleCapture}
/>
</div>
);
}
+8 -8
View File
@@ -81,15 +81,15 @@ export const ARTICLE_CATEGORY_MAPPING = {
} as const;
export const IDENTITY_TYPES = [
"Carte Nationale d'Identité",
"Passeport",
"Permis de conduire"
{ value: "CNI", label: "Carte Nationale d'Identité" },
{ value: "Passeport", label: "Passeport" },
{ value: "Permis de conduire", label: "Permis de conduire" }
] as const;
export const PAYMENT_METHODS = [
"Carte Bancaire",
"Espèce",
"Chèque",
"Carte Cadeau",
"Autre"
{ value: "Carte Bancaire", label: "Carte Bancaire" },
{ value: "Espèce", label: "Espèce" },
{ value: "Chèque", label: "Chèque" },
{ value: "Carte Cadeau", label: "Carte Cadeau" },
{ value: "Autre", label: "Autre" }
] as const;
+2 -2
View File
@@ -5,7 +5,7 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import { useAuth } from "@/hooks/useAuth";
import { StoreProvider, useStoreContext } from "@/hooks/useStoreContext";
import NewSaleFormMultiProduct from "@/components/NewSaleFormMultiProduct";
import NewSaleFormMulti from "@/components/NewSaleFormMulti";
import SalesHistory from "@/components/SalesHistory";
import Administration from "@/components/Administration";
import { Package, History, Settings, LogOut, User, Building2, Shield } from "lucide-react";
@@ -146,7 +146,7 @@ function DashboardContent() {
<TabsContent value="new-sale" className="mt-8">
<div className="slide-in-up">
<NewSaleFormMultiProduct />
<NewSaleFormMulti />
</div>
</TabsContent>
+482
View File
@@ -0,0 +1,482 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
:root {
/* Design system - Couleurs modernes */
--background: hsl(0, 0%, 100%);
--foreground: hsl(240, 10%, 3.9%);
--card: hsl(0, 0%, 100%);
--card-foreground: hsl(240, 10%, 3.9%);
--popover: hsl(0, 0%, 100%);
--popover-foreground: hsl(240, 10%, 3.9%);
--primary: hsl(240, 5.9%, 10%);
--primary-foreground: hsl(0, 0%, 98%);
--secondary: hsl(240, 4.8%, 95.9%);
--secondary-foreground: hsl(240, 5.9%, 10%);
--muted: hsl(240, 4.8%, 95.9%);
--muted-foreground: hsl(240, 3.8%, 46.1%);
--accent: hsl(240, 4.8%, 95.9%);
--accent-foreground: hsl(240, 5.9%, 10%);
--destructive: hsl(0, 84.2%, 60.2%);
--destructive-foreground: hsl(0, 0%, 98%);
--success: hsl(142, 76%, 36%);
--success-foreground: hsl(0, 0%, 98%);
--border: hsl(240, 5.9%, 90%);
--input: hsl(240, 5.9%, 90%);
--ring: hsl(240, 5.9%, 10%);
--radius: 8px;
/* Couleurs d'accent pour sections */
--vendor-accent: hsl(262, 83%, 58%);
--product-accent: hsl(217, 91%, 60%);
--client-accent: hsl(142, 76%, 36%);
--identity-accent: hsl(25, 95%, 53%);
}
.dark {
--background: hsl(240, 10%, 3.9%);
--foreground: hsl(0, 0%, 98%);
--card: hsl(240, 10%, 3.9%);
--card-foreground: hsl(0, 0%, 98%);
--popover: hsl(240, 10%, 3.9%);
--popover-foreground: hsl(0, 0%, 98%);
--primary: hsl(0, 0%, 98%);
--primary-foreground: hsl(240, 5.9%, 10%);
--secondary: hsl(240, 3.7%, 15.9%);
--secondary-foreground: hsl(0, 0%, 98%);
--muted: hsl(240, 3.7%, 15.9%);
--muted-foreground: hsl(240, 5%, 64.9%);
--accent: hsl(240, 3.7%, 15.9%);
--accent-foreground: hsl(0, 0%, 98%);
--destructive: hsl(0, 62.8%, 30.6%);
--destructive-foreground: hsl(0, 0%, 98%);
--success: hsl(142, 70%, 45%);
--success-foreground: hsl(0, 0%, 98%);
--border: hsl(240, 3.7%, 15.9%);
--input: hsl(240, 3.7%, 15.9%);
--ring: hsl(240, 4.9%, 83.9%);
}
* {
border-color: hsl(var(--border));
}
body {
background-color: hsl(var(--background));
color: hsl(var(--foreground));
font-feature-settings: "rlig" 1, "calt" 1;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
line-height: 1.6;
}
/* Design System Components */
/* Cards modernes avec ombres douces */
.elegant-card {
background: white;
border: 2px solid #6b7280 !important; /* Bordure bien visible */
border-radius: 4px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.1);
transition: all 0.2s ease;
}
.elegant-card:hover {
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.12);
transform: translateY(-1px);
}
/* Sections avec couleurs d'accent - styles de base (remplacés par les styles plus spécifiques) */
/* En-têtes de section élégants */
.section-header {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 20px;
font-weight: 600;
font-size: 16px;
color: hsl(var(--foreground));
}
.section-header svg {
width: 20px;
height: 20px;
}
.section-vendor .section-header {
color: hsl(var(--vendor-accent));
}
.section-product .section-header {
color: hsl(var(--product-accent));
}
.section-client .section-header {
color: hsl(var(--client-accent));
}
.section-identity .section-header {
color: hsl(var(--identity-accent));
}
/* Inputs modernes avec bordures bien visibles */
.modern-input {
width: 100%;
padding: 12px 16px;
border: 2px solid #4b5563 !important; /* Bordure grise foncée bien visible */
border-radius: 4px;
background: white !important;
color: hsl(var(--foreground));
font-size: 14px;
font-weight: 400;
transition: all 0.2s ease;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.modern-input:focus {
outline: none;
border-color: #2563eb !important; /* Bleu vif pour le focus */
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2);
}
.modern-input:hover:not(:focus) {
border-color: #374151 !important; /* Bordure plus foncée au survol */
}
.modern-input::placeholder {
color: hsl(var(--muted-foreground));
}
/* Boutons élégants */
.modern-button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 12px 24px;
border-radius: 4px;
font-size: 14px;
font-weight: 500;
text-decoration: none;
transition: all 0.2s ease;
cursor: pointer;
border: none;
outline: none;
}
.modern-button-primary {
background: hsl(var(--primary));
color: hsl(var(--primary-foreground));
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.modern-button-primary:hover {
background: hsl(var(--primary) / 0.9);
transform: translateY(-1px);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.modern-button-secondary {
background: hsl(var(--secondary));
color: hsl(var(--secondary-foreground));
border: 2px solid #6b7280 !important; /* Cadre visible pour bouton secondaire */
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.modern-button-secondary:hover {
background: hsl(var(--secondary) / 0.8);
border-color: #4b5563 !important;
transform: translateY(-1px);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.modern-button-success {
background: #059669 !important; /* Vert plus prononcé */
color: white !important;
border: none !important;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
font-weight: 600;
}
.modern-button-success:hover {
background: #047857 !important; /* Vert foncé au survol */
transform: translateY(-1px);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.modern-button-destructive {
background: hsl(var(--destructive));
color: hsl(var(--destructive-foreground));
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.modern-button-destructive:hover {
background: hsl(var(--destructive) / 0.9);
transform: translateY(-1px);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
/* Module de recherche */
.search-container {
background: white;
border: 2px solid hsl(var(--primary) / 0.3);
border-radius: 4px;
padding: 20px;
margin-bottom: 24px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.search-header {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 16px;
font-weight: 600;
font-size: 16px;
color: hsl(var(--foreground));
}
.search-input {
width: 100%;
padding: 12px 16px;
border: 2px solid #4b5563 !important; /* Bordure bien visible */
border-radius: 4px;
background: white !important;
color: hsl(var(--foreground));
font-size: 14px;
transition: all 0.2s ease;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.search-input:focus {
outline: none;
border-color: #2563eb !important; /* Bleu vif pour le focus */
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2);
}
/* Filtres élégants */
.filters-container {
background: hsl(var(--muted) / 0.5);
border: 2px solid hsl(var(--border));
border-radius: 4px;
padding: 20px;
margin-bottom: 24px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.filters-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 16px;
align-items: end;
}
/* Table moderne */
.modern-table {
width: 100%;
border-collapse: collapse;
border-radius: 4px;
overflow: hidden;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.modern-table thead {
background: hsl(var(--muted));
}
.modern-table th {
padding: 16px;
text-align: left;
font-weight: 600;
font-size: 14px;
color: hsl(var(--foreground));
border-bottom: 1px solid hsl(var(--border));
}
.modern-table td {
padding: 16px;
border-bottom: 1px solid hsl(var(--border));
font-size: 14px;
}
.modern-table tbody tr:hover {
background: hsl(var(--muted) / 0.3);
}
.modern-table tbody tr:last-child td {
border-bottom: none;
}
/* Badge moderne */
.modern-badge {
display: inline-flex;
align-items: center;
padding: 4px 12px;
border-radius: 2px;
font-size: 12px;
font-weight: 500;
white-space: nowrap;
}
.badge-success {
background: hsl(var(--success) / 0.1);
color: hsl(var(--success));
border: 1px solid hsl(var(--success) / 0.2);
}
.badge-destructive {
background: hsl(var(--destructive) / 0.1);
color: hsl(var(--destructive));
border: 1px solid hsl(var(--destructive) / 0.2);
}
.badge-secondary {
background: hsl(var(--secondary));
color: hsl(var(--secondary-foreground));
border: 1px solid hsl(var(--border));
}
/* Navigation tabs élégants */
.elegant-tabs {
border-bottom: 1px solid hsl(var(--border));
margin-bottom: 24px;
}
.elegant-tabs-list {
display: flex;
gap: 2px;
}
.elegant-tab {
padding: 12px 24px;
border: none;
background: transparent;
color: hsl(var(--muted-foreground));
font-weight: 500;
font-size: 14px;
cursor: pointer;
border-radius: 4px 4px 0 0;
transition: all 0.2s ease;
position: relative;
}
.elegant-tab:hover {
color: hsl(var(--foreground));
background: hsl(var(--muted) / 0.5);
}
.elegant-tab[data-state="active"] {
color: hsl(var(--primary));
background: hsl(var(--background));
}
.elegant-tab[data-state="active"]::after {
content: '';
position: absolute;
bottom: -1px;
left: 0;
right: 0;
height: 2px;
background: hsl(var(--primary));
}
/* Animations douces */
@keyframes slideIn {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.animate-slide-in {
animation: slideIn 0.3s ease-out;
}
/* Sections avec fonds colorés sans bordures */
.section-vendor,
.section-product,
.section-client,
.section-identity {
border: none !important; /* Suppression des bordures */
border-radius: 4px;
padding: 24px;
margin-bottom: 24px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
/* Fonds de couleur unis harmonisés avec des teintes distinctes */
.section-vendor {
background: #f0f9ff !important; /* Fond bleu très clair */
}
.section-product {
background: #f0fdf4 !important; /* Fond vert très clair */
}
.section-client {
background: #fef3c7 !important; /* Fond jaune clair */
}
.section-identity {
background: #fce7f3 !important; /* Fond rose très clair */
}
/* S'assurer que tous les inputs ont un fond blanc dans toutes les sections */
.section-vendor .modern-input,
.section-product .modern-input,
.section-client .modern-input,
.section-identity .modern-input,
.section-vendor input,
.section-product input,
.section-client input,
.section-identity input {
background: white !important;
}
/* Responsive design */
@media (max-width: 768px) {
.section-vendor,
.section-product,
.section-client,
.section-identity {
padding: 16px;
margin-bottom: 16px;
}
.filters-grid {
grid-template-columns: 1fr;
}
.modern-table {
font-size: 12px;
}
.modern-table th,
.modern-table td {
padding: 12px 8px;
}
}
/* Scrollbars personnalisées */
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: hsl(var(--muted));
}
::-webkit-scrollbar-thumb {
background: hsl(var(--border));
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: hsl(var(--muted-foreground));
}
+5
View File
@@ -0,0 +1,5 @@
import { createRoot } from "react-dom/client";
import App from "./App";
import "./index.css";
createRoot(document.getElementById("root")!).render(<App />);
+39
View File
@@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32">
<defs>
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#ff6b35;stop-opacity:1" />
<stop offset="50%" style="stop-color:#f7931e;stop-opacity:1" />
<stop offset="100%" style="stop-color:#ffd23f;stop-opacity:1" />
</linearGradient>
</defs>
<!-- Background circle -->
<circle cx="16" cy="16" r="15" fill="url(#grad1)" stroke="#e74c3c" stroke-width="1"/>
<!-- Firework sparkles -->
<g fill="#fff" opacity="0.9">
<!-- Center spark -->
<circle cx="16" cy="14" r="1.5"/>
<!-- Main sparks -->
<circle cx="11" cy="9" r="1"/>
<circle cx="21" cy="9" r="1"/>
<circle cx="24" cy="14" r="1"/>
<circle cx="21" cy="19" r="1"/>
<circle cx="11" cy="19" r="1"/>
<circle cx="8" cy="14" r="1"/>
<!-- Small sparks -->
<circle cx="13" cy="7" r="0.5"/>
<circle cx="19" cy="7" r="0.5"/>
<circle cx="25" cy="11" r="0.5"/>
<circle cx="25" cy="17" r="0.5"/>
<circle cx="19" cy="21" r="0.5"/>
<circle cx="13" cy="21" r="0.5"/>
<circle cx="7" cy="17" r="0.5"/>
<circle cx="7" cy="11" r="0.5"/>
</g>
<!-- Registry symbol (RF for RegisFlow) -->
<text x="16" y="28" font-family="Arial, sans-serif" font-size="8" font-weight="bold" text-anchor="middle" fill="#fff" opacity="0.8">RF</text>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB