From 8fc01b3a2fab68708413cc3846773a1c86d20f0a Mon Sep 17 00:00:00 2001 From: Bob Lee Date: Tue, 7 Jul 2026 10:13:20 +0800 Subject: [PATCH 1/2] fix(ppt-live): improve pptx text layout fidelity and reveal export folder Align PPT export text frames with the HTML preview by trusting browser-computed dimensions, and open the Downloads folder after deck export via a new miniapp system.revealInFolder bridge method. --- .../src/miniapp/bridge_builder.rs | 1 + .../product-domains/src/miniapp/builtin.rs | 2 +- .../builtin/assets/ppt-live/bundle.json | 2 +- .../builtin/assets/ppt-live/dist/ui.bundle.js | 238 +++++++++--------- .../miniapp/builtin/assets/ppt-live/meta.json | 2 +- .../assets/ppt-live/src/html2pptx-dom-core.js | 62 +++-- .../assets/ppt-live/src/pptx-html-build.js | 19 +- .../src/miniapp/builtin/assets/ppt-live/ui.js | 12 + .../scenes/miniapps/hooks/useMiniAppBridge.ts | 17 ++ 9 files changed, 187 insertions(+), 168 deletions(-) diff --git a/src/crates/contracts/product-domains/src/miniapp/bridge_builder.rs b/src/crates/contracts/product-domains/src/miniapp/bridge_builder.rs index 596b83fe94..8e9f3b0d43 100644 --- a/src/crates/contracts/product-domains/src/miniapp/bridge_builder.rs +++ b/src/crates/contracts/product-domains/src/miniapp/bridge_builder.rs @@ -76,6 +76,7 @@ pub fn build_bridge_script( os: {{ info: () => _call('os.info', {{}}) }}, system: {{ openExternal: (url) => _rpc('system.openExternal', {{ url }}), + revealInFolder: (path) => _rpc('system.revealInFolder', {{ path }}), }}, storage: {{ get: (key) => _call('storage.get', {{ key }}), diff --git a/src/crates/contracts/product-domains/src/miniapp/builtin.rs b/src/crates/contracts/product-domains/src/miniapp/builtin.rs index dd61e83ea8..3604e9a63b 100644 --- a/src/crates/contracts/product-domains/src/miniapp/builtin.rs +++ b/src/crates/contracts/product-domains/src/miniapp/builtin.rs @@ -161,7 +161,7 @@ pub const BUILTIN_APPS: &[BuiltinMiniAppBundle] = &[ }, BuiltinMiniAppBundle { id: "builtin-ppt-live", - version: 195, + version: 196, meta_json: include_str!("builtin/assets/ppt-live/meta.json"), html: include_str!("builtin/assets/ppt-live/index.html"), css: include_str!("builtin/assets/ppt-live/style.css"), diff --git a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/bundle.json b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/bundle.json index 4dc9a4f3ad..ea8b626d9b 100644 --- a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/bundle.json +++ b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/bundle.json @@ -1,5 +1,5 @@ { "schemaVersion": 1, "id": "builtin-ppt-live", - "version": 195 + "version": 196 } diff --git a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/dist/ui.bundle.js b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/dist/ui.bundle.js index b7e8ffaf7b..5897f66ff2 100644 --- a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/dist/ui.bundle.js +++ b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/dist/ui.bundle.js @@ -2,77 +2,77 @@ var Dn=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>( Edit: name the page and the change, e.g. "Turn page 3 into a data comparison page". Incremental: add new information, e.g. "Add a competitor analysis section after page 4".`,sendPrompt:"Send",promptRequired:"Type what you want PPT Live to do.",topicLabel:"Goal",topicPlaceholder:"Describe the deck you want. Mention page count or URLs only when you need them.",audienceLabel:"Audience",audiencePlaceholder:"Executives, customers, students...",slidesLabel:"Slides",deckTypeLabel:"Deck type",deckTypeStrategy:"Strategy",deckTypeSales:"Sales pitch",deckTypeReport:"Business report",deckTypeTeaching:"Teaching",deckTypeFundraising:"Fundraising",toneLabel:"Tone",toneExecutive:"Executive",toneConcise:"Concise",tonePersuasive:"Persuasive",toneEducational:"Educational",materialLabel:"Source material",materialPlaceholder:"Paste notes, article excerpts, data points, meeting notes, or rough slide requirements.",advancedBrief:"Optional context",processTitle:"Generation process",processSubcopy:"Track the current deck build at a glance.",historyTitle:"History",historySubcopy:"Restore a deck session and continue editing.",historyEmpty:"Generated decks and edits will appear here.",historyMeta:"{{count}} slides \xB7 {{time}}",historyRestored:"Deck session restored.",stopGeneration:"Stop",generationStopped:"Generation stopped. Kept the current view.",generationTimedOut:"Generation took too long, so PPT Live stopped this run.",generationDraftReady:"Preparing the final slides\u2026",generationAgentWorking:"Building your presentation\u2026",backendGenerationFailed:"Generation did not finish. Please retry, or stop and start a new topic.",backendGenerationFailedWithReason:"Generation did not finish: {{reason}}",generationRoundBudgetFailed:"Generation ran out of steps before the deck was ready.",generationRoundBudgetHint:"Try a shorter prompt, fewer pages, or remove extra reference links, then send again.",generationRetrying:"Generation hit an error; retrying automatically ({{attempt}}/{{max}})\u2026",generationRetryAttempt:"Retry attempt {{attempt}}/{{max}}.",generationRecoveryContinuing:"{{stage}} is still in progress; continuing ({{attempt}}/{{max}})\u2026",generationRecoveryExhausted:"{{stage}} did not finish after {{retries}} attempts.",generationRecoveryFailureDetail:"Reason: {{reason}}",generationStagePlanning:"Planning",generationStageSlide:"Slide {{slide}}",generationStageAudit:"Final review",generationStageBriefs:"Slides {{start}}-{{end}}",agentOnlyRetryHint:"Check your connection and try again in a moment.",generationPlanPhase:"Planning your deck\u2026",generationPlanningSlides:"Planning slide content\u2026",generationPlanProgress:"Planned {{count}} slides so far\u2026",generationPlanReady:"{{count}} slides planned.",generationOutlineReady:"Outline ready: {{count}} slides. Writing briefs\u2026",generationBriefsBatchReady:"Briefs done for slides {{start}}-{{end}} ({{total}} total).",generationBriefsRetry:"Briefs for slides {{start}}-{{end}} issue; retrying ({{attempt}}/{{max}})\u2026",generationPlanRetry:"Planning issue; retrying ({{attempt}}/{{max}})\u2026",generationAuditRetry:"Review incomplete; retrying ({{attempt}}/{{max}})\u2026",generationSlidesPhase:"Generating {{count}} slides\u2026",generationAuditPhase:"Reviewing the full deck\u2026",generationRenderingSlide:"Generating slide {{slide}}/{{total}}\u2026",generationSlideReady:"Slide {{slide}}/{{total}} done.",generationSlideRetry:"Slide {{slide}} issue; retrying ({{attempt}}/{{max}})\u2026",generationSlideRepair:"Slide {{slide}} needs adjustment; retrying ({{attempt}}/{{max}})\u2026",generationResumeFrom:"Resuming from slide {{slide}} \u2014 finished slides are kept.",generationPartialDeck:"Slides {{missing}} did not finish. The finished slides are kept \u2014 send a follow-up prompt to fill the missing pages.",agentWorkingTitle:"Building your deck",agentWorkingKicker:"In progress",agentWorkingClaim:"Your slides will appear in the canvas when generation finishes.",agentWorkingProof:"Progress",agentWorkingDetail:"This is a live preview area while your deck is being created.",agentWorkingSourceNote:"Content is generated from your prompt.",agentWorkingMetric:"Live",agentWorkingMetricLabel:"Waiting for slides",processEventStarted:"Generation started.",processEventWaiting:"Getting ready\u2026",processEventRound:"Organizing structure and copy.",processEventTool:"Reading sources and applying design rules.",processEventText:"Drafting slide layouts.",processEventDone:"Deck received.",generationParsingDeck:"Organizing slides\u2026",processWaitingForEventsTitle:"Ready to generate",processWaitingForEvents:"Send a prompt to start. Progress will show up here.",agentStreamTitle:"Agent stream",agentStreamAssistant:"Assistant",processEventUnknown:"Update",eventTurnStarted:"Generation started",eventTurnFailed:"Generation failed",eventTurnCancelled:"Generation cancelled",eventRoundCompleted:"Step completed",eventThinkingChunk:"Thinking stream",eventTokenUsage:"Token usage updated",eventUnknownTool:"tool",eventToolDetected:"Detected tool",eventToolParams:"Reading tool input",eventToolQueued:"Queued tool",eventToolWaiting:"Waiting for tool",eventToolStarted:"Started tool",eventToolProgress:"Tool progress",eventToolStreaming:"Tool streaming",eventToolStreamChunk:"Tool output chunk",eventToolConfirmation:"Tool needs confirmation",eventToolConfirmed:"Tool confirmed",eventToolRejected:"Tool rejected",eventToolCompleted:"Completed tool",eventToolFailed:"Tool failed",eventToolCancelled:"Tool cancelled",eventToolQueuePosition:"queue",eventToolSkillName:"PPT design skill",eventToolWebSearchName:"Web search",eventToolWebFetchName:"Web page fetch",eventToolReadName:"Read",eventToolWriteName:"Write",eventToolEditName:"Edit",eventToolTaskName:"Subtask",eventToolSkillReady:"Design guidelines ready",eventToolWebSearchDone:"Searched for reference material",eventToolWebFetchDone:"Read reference pages",eventToolTaskStarted:"Running a research subtask\u2026",eventToolTaskDone:"Research subtask finished",eventSubagentStarted:"Started a background research subtask",eventSubagentWorking:"Background research in progress\u2026",eventSubagentDone:"Background research finished",eventSubagentFailed:"Background research did not finish",eventSubagentWebSearchDone:"Subtask searched for reference material",eventSubagentWebFetchDone:"Subtask read reference pages",eventToolFailedUser:"A step did not finish",generationProgressPulse:"Still generating\u2026",generationPageProgress:"Generating page {{current}}",generationSlideProgress:"{{count}} slides generated",generationStepBrief:"Assumptions",generationStepBriefDetail:"Read the prompt and plan the deck.",generationStepSpine:"Outline",generationStepSpineDetail:"Create assertion-led slide titles from the request.",generationStepProof:"Slide copy",generationStepProofDetail:"Ground each page in source facts or clear assumptions.",generationStepDesign:"Visual design",generationStepDesignDetail:"Apply theme, layout, and visual hierarchy.",generationStepCompile:"Load slides",generationStepCompileDetail:"Load the generated deck into the editor.",generationReadingBrief:"Reading your prompt...",generationWritingClaims:"Building the outline...",generationChoosingProof:"Writing slide copy...",generationDesigningLayouts:"Designing slide layouts...",generationCompiled:"Your deck is ready.",generationSpineReady:"Claim spine ready.",generationLocalSpine:"Generation is unavailable. Please try again later.",generationLocalCompiler:"Generation is unavailable. Please try again later.",agentPlanning:"Planning the deck task...",agentPlanningFallback:"Planning is unavailable. Please try again.",outlineTitle:"Outline",outlineSubcopy:"Review the story spine before the deck is composed.",addOutlineItem:"Add outline item",syncOutline:"Sync slides from outline",modeEdit:"Edit",modeSort:"Sort",modePresent:"Present",inspectorTitle:"Inspector",addText:"Text",addList:"List",addShape:"Shape",addMetric:"Metric",addChart:"Chart",addMedia:"Media",addSlide:"Add slide",deleteSlide:"Delete slide",deleteElement:"Delete element",aiTitle:"AI design",aiSubcopy:"Prompt the agent to revise one page, the whole deck, or add a page.",instructionPlaceholder:"Example: make this page more visual, add a competition page, rewrite the whole deck for investors, or delete repetition.",reviseSlide:"Revise this page",reviseDeck:"Revise all",insertSlide:"Insert page",aiRewrite:"Rewrite",aiCondense:"Condense",aiProfessional:"Professional",aiMoreVisual:"More visual",aiNotes:"Speaker notes",aiRedesign:"Redesign slide",aiRestyleDeck:"Restyle deck",styleTitle:"Style",themeLabel:"Theme",themeExecutive:"Executive",themeMarket:"Market",themeMinimal:"Minimal",themeStudio:"Studio",densityLabel:"Density",densityCompact:"Compact",densityStandard:"Standard",densitySpacious:"Spacious",brandPrimaryLabel:"Primary",brandAccentLabel:"Accent",imagePolicyLabel:"Image policy",imagePolicyPlaceholders:"Editable placeholders",imagePolicyNone:"No images",ready:"Ready.",statusPillReady:"Ready",statusPillBusy:"AI",exportReady:"HTML and PPTX export ready after generation.",working:"Working with AI...",outlineReady:"Outline ready. Edit it, then generate the designed deck.",deckReady:"Designed deck generated.",aiUnavailable:"Generation is unavailable right now. Please try again later.",sourceGroundingRequired:"Source could not be verified. Generated a verification-first deck instead of inventing facts.",saved:"Saved.",slideUpdated:"Slide updated.",deckUpdated:"Deck updated.",slideInserted:"Page inserted.",deckRestyled:"Deck restyled.",cannotDelete:"Keep at least one slide.",noSelection:"Select a slide object to edit its content and layout.",elementTypeLabel:"Type",elementTextLabel:"Text",elementItemsLabel:"Items",elementDataLabel:"Chart data",geometryLabel:"Geometry",styleLabel:"Style",speakerNotesLabel:"Speaker notes",kickerLabel:"Kicker",claimLabel:"Claim",proofObjectLabel:"Proof object",supportNoteLabel:"Support note",sourceNoteLabel:"Source note",newSlideTitle:"New slide",defaultDeckTitle:"AI Product Strategy",slidesMeta:"{{count}} slides",exportHtmlDone:"HTML deck downloaded.",exportHtmlWorking:"Exporting HTML...",exportHtmlFailed:"HTML export failed:",exportSavedTo:"Exported to Downloads folder: {{path}}",exportPptxWorking:"Rendering editable PPTX...",exportPptxDone:"Editable PPTX downloaded.",exportPptxFailed:"PPTX export failed:",exportPdfWorking:"Rendering PDF...",exportPdfDone:"PDF downloaded.",exportPdfFailed:"PDF export failed:",exportPngWorking:"Rendering PNG slides...",exportPngDone:"PNG slide archive downloaded.",exportPngFailed:"PNG export failed:",exportDeckEmpty:"Generate slides before exporting.",slidesEmptyHint:"Slides appear here after generation.",welcomeTitle:"Describe your deck to get started",welcomeSubcopy:"One prompt creates the outline, designed slides, and an editable deck you can refine page by page.",welcomeTip1:"10-page strategy deck",welcomeTip2:"Investor pitch rewrite",welcomeTip3:"Make this page more visual",deleteSlideDefaultPrompt:"Delete the current slide and keep the deck coherent.",prev:"Previous",next:"Next",assistantHello:"Describe the deck you need. I will build an outline first, then turn it into editable slides.",aiChatApplied:"I applied the instruction to the current slide.",localMetricLabel:"signal to remember",mediaPlaceholder:"Image placeholder",slidesUnit:"slides",closeConfirm:"Confirm the direction",closeOwner:"Choose the owner",closeIteration:"Start the next iteration",pointClaimPrefix:"Claim:",pointProofPrefix:"Proof object:",pointAudiencePrefix:"Audience relevance:",pointEvidenceRule:"Evidence rule: mark assumptions clearly",pointDesignRule:"Design rule: one visual plus one support rail",pointCloseRule:"Close: name the next action",claimCover:"{{topic}} needs a clear decision narrative, not another collection of slides.",claimPressure:"{{title}} is the pressure point the audience must resolve.",claimDecision:"{{title}} changes the decision because it connects evidence to action.",claimProof:"{{title}} becomes credible when the proof object carries the argument.",claimAction:"{{title}} should end with one named decision, owner, or next move.",supportWithSource:"Use the supplied source material to substantiate this claim; make the {{proof}} the dominant evidence.",supportWithAssumption:"Add one concrete example or metric so the {{proof}} can support the claim without filler.",sourceUserMaterial:"Source: user-provided material",sourceDraftAssumption:"Source: draft assumption; verify before external use",defaultSpeakerNote:'Open with the conclusion for "{{title}}", then support it with one concrete example.',proofMarketMap:"market map",proofOperatingModel:"operating model",proofRiskBridge:"risk bridge",proofDecisionTable:"decision table",proofBeforeAfter:"before/after workflow",proofValueBridge:"value bridge",proofCustomerProof:"customer proof",proofImplementationPlan:"implementation plan",proofMetricBridge:"metric bridge",proofTrendChart:"trend chart",proofSourceSummary:"source summary",proofVerificationPlan:"verification plan",proofCapabilityMatrix:"capability matrix",proofEvidenceList:"evidence list",proofVarianceTable:"variance table",proofRiskRegister:"risk register",proofConceptMap:"concept map",proofWorkedExample:"worked example",proofComparison:"comparison",proofPracticePrompt:"practice prompt",proofMarketWedge:"market wedge",proofProductDiagram:"product diagram",proofTractionChart:"traction chart",proofMilestonePlan:"milestone plan",proofVisualProof:"visual proof",sourceFetchedNote:"Sources: {{count}} fetched URL(s)",bpContextTitle:"{{topic}} must be grounded in source facts before claims are made.",bpSourceNeededTitle:"{{topic}} needs source material before factual claims can be made.",bpProblemTitle:"The current question is what the audience can safely believe.",bpSolutionTitle:"{{topic}} should be explained through capabilities, workflow, and evidence.",bpWorkflowTitle:"The workflow shows how the product creates value step by step.",bpProofTitle:"Source-backed evidence should carry the credibility of the deck.",bpVerificationTitle:"Verification gaps must be visible instead of hidden behind fake charts.",bpRiskTitle:"The main risk is overclaiming beyond the available source material.",bpDecisionTitle:"The next step is to verify the claims and choose the strongest story path.",bpSupportSource:"Built from fetched or pasted source material; verify exact wording before external use.",bpSupportMissing:"Source material is insufficient; keep this slide as a verification prompt.",bpMissingFact1:"Paste source notes, a README, metrics, or product description to ground this slide.",bpMissingFact2:"Do not use invented metrics; replace placeholders with verified evidence.",bpMissingFact3:"Use this page to decide what needs to be researched next.",qualityOutOfBounds:"An element extends outside the slide safe area.",qualityTextDense:"Visible text may be too dense for this layout.",qualityChartUngrounded:"Chart data was removed or flagged because it is not grounded in source numbers.",qualityOverlap:"Text or chart elements may overlap.",qualityMissingClaim:"This slide needs one clear claim.",qualityReportTitle:"Quality report",qualityNeedsReview:"Review required",qualityHasWarnings:"Quality warning",exportFormatUnavailable:"This export format is not available yet.",exportTitle:"Export",exportCancel:"Cancel",exportConfirm:"Export file",exportPreviewPrevAria:"Previous slide",exportPreviewNextAria:"Next slide",exportFormat:"Format",exportQuality:"Quality",exportDpi:"Image DPI",exportRange:"Slide range",exportShare:"Share",propertiesStyle:"Style",propertiesLayout:"Layout",propertiesAnimation:"Animation",propertiesThemeColor:"Theme color",propertiesFont:"Font",propertiesColorMode:"Slide colors",propertiesStylePreset:"Style preset",colorModeLight:"Light",colorModeDark:"Dark",fontSansSerif:"Sans-serif",fontSerif:"Serif",propertiesDensity:"Density",propertiesSmartAlign:"Smart align",propertiesPageTransition:"Page transition",propertiesElementAnimation:"Element animation",densityLoose:"Loose"},"zh-CN":{eyebrow:"AI \u6F14\u793A\u5DE5\u574A",title:"PPT Live",newDeck:"\u65B0\u5EFA",newTopic:"\u65B0\u4E3B\u9898",blankDeckTitle:"\u672A\u547D\u540D PPT",blankDeckReady:"\u7A7A\u767D PPT \u5DF2\u5C31\u7EEA\u3002",clusterDraft:"\u521B\u4F5C",clusterReview:"\u5BA1\u9605",clusterExport:"\u4EA4\u4ED8",generateOutline:"\u751F\u6210\u5927\u7EB2",generateDeck:"\u751F\u6210\u6574\u5957",preview:"\u6F14\u793A\u9884\u89C8",exportHtml:"\u5BFC\u51FA HTML",exportPptx:"\u5BFC\u51FA PPTX",workflowPrompt:"\u8F93\u5165",workflowGenerate:"\u751F\u6210",workflowEdit:"\u7F16\u8F91",workflowExport:"\u5BFC\u51FA",slidesPanelTitle:"\u9875\u9762",slidesPanelSubcopy:"\u70B9\u51FB\u9875\u9762\u540E\uFF0C\u53EF\u76F4\u63A5\u5728\u753B\u5E03\u4E0A\u6539\u6587\u5B57\u3002",agentCommandTitle:"\u7528 Prompt \u751F\u6210\u6216\u4FEE\u6539",agentCommandSubcopy:"\u751F\u6210\u6574\u5957 PPT\u3001\u4FEE\u6539\u5355\u9875\u3001\u5168\u5C40\u6539\u5199\u3001\u63D2\u5165\u6216\u5220\u9664\u9875\u9762\u3002",briefTitle:"\u521B\u4F5C\u7B80\u62A5",agentRequestTitle:"\u4F60\u60F3\u505A\u4E00\u4EFD\u4EC0\u4E48 PPT\uFF1F",oneBoxTitle:"\u63CF\u8FF0 PPT\uFF0C\u7136\u540E\u7EE7\u7EED\u7528 Prompt \u4FEE\u6539",oneBoxSubtitle:"\u9996\u7A3F\u3001\u6539\u5355\u9875\u3001\u6539\u6574\u5957\u3001\u63D2\u5165\u548C\u5220\u9664\uFF0C\u90FD\u7531\u8FD9\u4E00\u4E2A\u8F93\u5165\u6846\u5904\u7406\u3002",oneBoxPlaceholder:`0-1 \u751F\u6210\uFF1A\u5199\u6E05\u4E3B\u9898\u3001\u53D7\u4F17\u548C\u5927\u81F4\u9875\u6570\uFF0C\u4F8B\u5982\u201C\u4E3A\u9AD8\u7BA1\u505A\u4E00\u4EFD 10 \u9875\u7684 AI \u4EA7\u54C1\u6218\u7565 PPT\u201D\u3002 \u4FEE\u6539\uFF1A\u6307\u660E\u54EA\u4E00\u9875\u4EE5\u53CA\u600E\u4E48\u6539\uFF0C\u4F8B\u5982\u201C\u628A\u7B2C 3 \u9875\u6539\u6210\u6570\u636E\u5BF9\u6BD4\u9875\u201D\u3002 -\u589E\u91CF\u751F\u6210\uFF1A\u8865\u5145\u65B0\u4FE1\u606F\uFF0C\u4F8B\u5982\u201C\u8865\u5145\u4E00\u6BB5\u7ADE\u54C1\u5206\u6790\uFF0C\u52A0\u5230\u7B2C 4 \u9875\u4E4B\u540E\u201D\u3002`,sendPrompt:"\u53D1\u9001",promptRequired:"\u8BF7\u8F93\u5165\u4F60\u5E0C\u671B PPT Live \u505A\u4EC0\u4E48\u3002",topicLabel:"\u76EE\u6807",topicPlaceholder:"\u76F4\u63A5\u63CF\u8FF0\u4F60\u60F3\u8981\u7684\u6F14\u793A\u7A3F\uFF1B\u4EC5\u5728\u9700\u8981\u65F6\u8BF4\u660E\u9875\u6570\u6216\u53C2\u8003 URL\u3002",audienceLabel:"\u53D7\u4F17",audiencePlaceholder:"\u9AD8\u7BA1\u3001\u5BA2\u6237\u3001\u5B66\u751F\u3001\u56E2\u961F\u6210\u5458...",slidesLabel:"\u9875\u6570",deckTypeLabel:"\u7C7B\u578B",deckTypeStrategy:"\u6218\u7565\u65B9\u6848",deckTypeSales:"\u9500\u552E\u63D0\u6848",deckTypeReport:"\u4E1A\u52A1\u6C47\u62A5",deckTypeTeaching:"\u6559\u5B66\u8BFE\u4EF6",deckTypeFundraising:"\u878D\u8D44\u8DEF\u6F14",toneLabel:"\u8BED\u6C14",toneExecutive:"\u9AD8\u7BA1\u98CE",toneConcise:"\u7CBE\u7B80",tonePersuasive:"\u6709\u8BF4\u670D\u529B",toneEducational:"\u6559\u5B66\u578B",materialLabel:"\u7D20\u6750",materialPlaceholder:"\u7C98\u8D34\u7B14\u8BB0\u3001\u6587\u7AE0\u7247\u6BB5\u3001\u6570\u636E\u70B9\u3001\u4F1A\u8BAE\u8BB0\u5F55\u6216\u7C97\u7565\u9875\u9762\u8981\u6C42\u3002",advancedBrief:"\u53EF\u9009\u4E0A\u4E0B\u6587",processTitle:"\u751F\u6210\u8FC7\u7A0B",processSubcopy:"\u67E5\u770B\u5F53\u524D\u6F14\u793A\u7A3F\u7684\u751F\u6210\u8FDB\u5EA6\u3002",historyTitle:"\u5386\u53F2\u8BB0\u5F55",historySubcopy:"\u6062\u590D\u4E4B\u524D\u7684 PPT \u4F1A\u8BDD\uFF0C\u5E76\u7EE7\u7EED\u4FEE\u6539\u3002",historyEmpty:"\u751F\u6210\u548C\u4FEE\u6539\u8FC7\u7684 PPT \u4F1A\u663E\u793A\u5728\u8FD9\u91CC\u3002",historyMeta:"{{count}} \u9875 \xB7 {{time}}",historyRestored:"\u5DF2\u6062\u590D PPT \u4F1A\u8BDD\u3002",stopGeneration:"\u505C\u6B62",generationStopped:"\u5DF2\u505C\u6B62\u751F\u6210\uFF0C\u4FDD\u7559\u5F53\u524D\u89C6\u56FE\u3002",generationTimedOut:"\u751F\u6210\u8017\u65F6\u8FC7\u957F\uFF0C\u672C\u6B21\u8FD0\u884C\u5DF2\u505C\u6B62\u3002",generationDraftReady:"\u6B63\u5728\u6574\u7406\u6700\u7EC8\u9875\u9762\u2026",generationAgentWorking:"\u6B63\u5728\u751F\u6210\u4F60\u7684\u6F14\u793A\u7A3F\u2026",backendGenerationFailed:"\u751F\u6210\u672A\u5B8C\u6210\uFF0C\u8BF7\u91CD\u8BD5\u6216\u505C\u6B62\u540E\u91CD\u65B0\u5F00\u59CB\u3002",backendGenerationFailedWithReason:"\u751F\u6210\u672A\u5B8C\u6210\uFF1A{{reason}}",generationRoundBudgetFailed:"\u751F\u6210\u6B65\u9AA4\u8FC7\u591A\uFF0C\u6F14\u793A\u7A3F\u5C1A\u672A\u5B8C\u6210\u3002",generationRoundBudgetHint:"\u53EF\u5C1D\u8BD5\u7F29\u77ED\u63CF\u8FF0\u3001\u51CF\u5C11\u9875\u6570\u6216\u53BB\u6389\u591A\u4F59\u53C2\u8003\u94FE\u63A5\uFF0C\u7136\u540E\u91CD\u65B0\u53D1\u9001\u3002",generationRetrying:"\u751F\u6210\u51FA\u73B0\u9519\u8BEF\uFF0C\u6B63\u5728\u81EA\u52A8\u91CD\u8BD5\uFF08{{attempt}}/{{max}}\uFF09\u2026",generationRetryAttempt:"\u7B2C {{attempt}}/{{max}} \u6B21\u5C1D\u8BD5\u3002",generationRecoveryContinuing:"{{stage}}\u5C1A\u672A\u5B8C\u6210\uFF0C\u6B63\u5728\u7EE7\u7EED\uFF08{{attempt}}/{{max}}\uFF09\u2026",generationRecoveryExhausted:"{{stage}}\u5728\u91CD\u8BD5 {{retries}} \u6B21\u540E\u4ECD\u672A\u5B8C\u6210\u3002",generationRecoveryFailureDetail:"\u539F\u56E0\uFF1A{{reason}}",generationStagePlanning:"\u89C4\u5212",generationStageSlide:"\u7B2C {{slide}} \u9875",generationStageAudit:"\u6700\u7EC8\u68C0\u67E5",generationStageBriefs:"\u7B2C {{start}}-{{end}} \u9875",agentOnlyRetryHint:"\u8BF7\u68C0\u67E5\u7F51\u7EDC\u8FDE\u63A5\uFF0C\u7A0D\u540E\u518D\u8BD5\u3002",generationPlanPhase:"\u6B63\u5728\u89C4\u5212\u6F14\u793A\u5185\u5BB9\u2026",generationPlanningSlides:"\u6B63\u5728\u89C4\u5212\u5404\u9875\u5185\u5BB9\u2026",generationPlanProgress:"\u5DF2\u89C4\u5212 {{count}} \u9875\u5185\u5BB9\u2026",generationPlanReady:"\u5DF2\u89C4\u5212 {{count}} \u9875\u5185\u5BB9",generationOutlineReady:"\u5927\u7EB2\u5DF2\u5B8C\u6210\uFF1A\u5171 {{count}} \u9875\uFF0C\u6B63\u5728\u64B0\u5199\u5404\u9875\u8981\u70B9\u2026",generationBriefsBatchReady:"\u7B2C {{start}}-{{end}} \u9875\u8981\u70B9\u5DF2\u5B8C\u6210\uFF08\u7D2F\u8BA1 {{total}} \u9875\uFF09\u3002",generationBriefsRetry:"\u7B2C {{start}}-{{end}} \u9875\u8981\u70B9\u9047\u5230\u95EE\u9898\uFF0C\u6B63\u5728\u91CD\u8BD5\uFF08{{attempt}}/{{max}}\uFF09\u2026",generationPlanRetry:"\u89C4\u5212\u9047\u5230\u95EE\u9898\uFF0C\u6B63\u5728\u91CD\u8BD5\uFF08{{attempt}}/{{max}}\uFF09\u2026",generationAuditRetry:"\u68C0\u67E5\u5C1A\u672A\u5B8C\u6210\uFF0C\u6B63\u5728\u91CD\u8BD5\uFF08{{attempt}}/{{max}}\uFF09\u2026",generationSlidesPhase:"\u5F00\u59CB\u751F\u6210 {{count}} \u9875 PPT",generationAuditPhase:"\u6B63\u5728\u68C0\u67E5\u6574\u5957\u6F14\u793A\u7A3F\u2026",generationRenderingSlide:"\u6B63\u5728\u751F\u6210\u7B2C {{slide}}/{{total}} \u9875\u2026",generationSlideReady:"\u7B2C {{slide}}/{{total}} \u9875\u5DF2\u751F\u6210",generationSlideRetry:"\u7B2C {{slide}} \u9875\u751F\u6210\u9047\u5230\u95EE\u9898\uFF0C\u6B63\u5728\u91CD\u8BD5\uFF08{{attempt}}/{{max}}\uFF09\u2026",generationSlideRepair:"\u7B2C {{slide}} \u9875\u9700\u8981\u8C03\u6574\uFF0C\u6B63\u5728\u91CD\u65B0\u751F\u6210\uFF08{{attempt}}/{{max}}\uFF09\u2026",generationResumeFrom:"\u4ECE\u7B2C {{slide}} \u9875\u7EE7\u7EED\u751F\u6210\uFF0C\u5DF2\u5B8C\u6210\u7684\u9875\u9762\u4FDD\u7559\u3002",generationPartialDeck:"\u7B2C {{missing}} \u9875\u672A\u5B8C\u6210\u3002\u5DF2\u5B8C\u6210\u7684\u9875\u9762\u5DF2\u4FDD\u7559\uFF0C\u53EF\u7EE7\u7EED\u53D1\u9001\u6307\u4EE4\u8865\u5168\u7F3A\u5931\u9875\u3002",agentWorkingTitle:"\u6B63\u5728\u751F\u6210\u6F14\u793A\u7A3F",agentWorkingKicker:"\u751F\u6210\u4E2D",agentWorkingClaim:"\u5B8C\u6210\u540E\uFF0C\u6700\u7EC8\u9875\u9762\u4F1A\u51FA\u73B0\u5728\u4E2D\u95F4\u753B\u5E03\u3002",agentWorkingProof:"\u8FDB\u5EA6",agentWorkingDetail:"\u8FD9\u662F\u751F\u6210\u8FC7\u7A0B\u4E2D\u7684\u9884\u89C8\u533A\u57DF\u3002",agentWorkingSourceNote:"\u5185\u5BB9\u5C06\u6839\u636E\u4F60\u7684 Prompt \u81EA\u52A8\u751F\u6210\u3002",agentWorkingMetric:"Live",agentWorkingMetricLabel:"\u7B49\u5F85\u9875\u9762\u751F\u6210",processEventStarted:"\u5DF2\u5F00\u59CB\u751F\u6210\u3002",processEventWaiting:"\u51C6\u5907\u5F00\u59CB\u2026",processEventRound:"\u6B63\u5728\u7EC4\u7EC7\u5185\u5BB9\u4E0E\u7ED3\u6784\u3002",processEventTool:"\u6B63\u5728\u8BFB\u53D6\u7D20\u6750\u5E76\u5E94\u7528\u8BBE\u8BA1\u89C4\u5219\u3002",processEventText:"\u6B63\u5728\u64B0\u5199\u9875\u9762\u5E03\u5C40\u3002",processEventDone:"\u6F14\u793A\u7A3F\u5DF2\u751F\u6210\u3002",generationParsingDeck:"\u6B63\u5728\u6574\u7406\u9875\u9762\u2026",processWaitingForEventsTitle:"\u7B49\u5F85\u5F00\u59CB",processWaitingForEvents:"\u53D1\u9001 Prompt \u540E\uFF0C\u8FD9\u91CC\u4F1A\u663E\u793A\u751F\u6210\u8FDB\u5EA6\u3002",agentStreamTitle:"Agent \u5B9E\u65F6\u6D41",agentStreamAssistant:"\u52A9\u624B",processEventUnknown:"\u8FDB\u5EA6\u66F4\u65B0",eventTurnStarted:"\u5F00\u59CB\u751F\u6210",eventTurnFailed:"\u751F\u6210\u5931\u8D25",eventTurnCancelled:"\u751F\u6210\u5DF2\u53D6\u6D88",eventRoundCompleted:"\u672C\u9636\u6BB5\u5DF2\u5B8C\u6210",eventThinkingChunk:"\u601D\u8003\u6D41",eventTokenUsage:"Token \u7528\u91CF\u66F4\u65B0",eventUnknownTool:"\u5DE5\u5177",eventToolDetected:"\u68C0\u6D4B\u5230\u5DE5\u5177",eventToolParams:"\u6B63\u5728\u8BFB\u53D6\u5DE5\u5177\u53C2\u6570",eventToolQueued:"\u5DE5\u5177\u5DF2\u6392\u961F",eventToolWaiting:"\u7B49\u5F85\u5DE5\u5177\u6267\u884C",eventToolStarted:"\u5F00\u59CB\u8C03\u7528\u5DE5\u5177",eventToolProgress:"\u5DE5\u5177\u8FDB\u5EA6",eventToolStreaming:"\u5DE5\u5177\u6D41\u5F0F\u8F93\u51FA",eventToolStreamChunk:"\u5DE5\u5177\u8F93\u51FA\u7247\u6BB5",eventToolConfirmation:"\u5DE5\u5177\u9700\u8981\u786E\u8BA4",eventToolConfirmed:"\u5DE5\u5177\u5DF2\u786E\u8BA4",eventToolRejected:"\u5DE5\u5177\u5DF2\u62D2\u7EDD",eventToolCompleted:"\u5DE5\u5177\u6267\u884C\u5B8C\u6210",eventToolFailed:"\u5DE5\u5177\u6267\u884C\u5931\u8D25",eventToolCancelled:"\u5DE5\u5177\u5DF2\u53D6\u6D88",eventToolQueuePosition:"\u961F\u5217\u4F4D\u7F6E",eventToolSkillName:"PPT \u8BBE\u8BA1\u89C4\u8303",eventToolWebSearchName:"\u7F51\u9875\u641C\u7D22",eventToolWebFetchName:"\u7F51\u9875\u8BFB\u53D6",eventToolReadName:"\u8BFB\u53D6",eventToolWriteName:"\u5199\u5165",eventToolEditName:"\u7F16\u8F91",eventToolTaskName:"\u5B50\u4EFB\u52A1",eventToolSkillReady:"\u8BBE\u8BA1\u89C4\u8303\u5DF2\u5C31\u7EEA",eventToolWebSearchDone:"\u5DF2\u641C\u7D22\u76F8\u5173\u8D44\u6599",eventToolWebFetchDone:"\u5DF2\u8BFB\u53D6\u53C2\u8003\u7F51\u9875",eventToolTaskStarted:"\u6B63\u5728\u6267\u884C\u8C03\u7814\u5B50\u4EFB\u52A1\u2026",eventToolTaskDone:"\u8C03\u7814\u5B50\u4EFB\u52A1\u5DF2\u5B8C\u6210",eventSubagentStarted:"\u5DF2\u542F\u52A8\u540E\u53F0\u8C03\u7814\u5B50\u4EFB\u52A1",eventSubagentWorking:"\u540E\u53F0\u8C03\u7814\u8FDB\u884C\u4E2D\u2026",eventSubagentDone:"\u540E\u53F0\u8C03\u7814\u5DF2\u5B8C\u6210",eventSubagentFailed:"\u540E\u53F0\u8C03\u7814\u672A\u5B8C\u6210",eventSubagentWebSearchDone:"\u5B50\u4EFB\u52A1\u5DF2\u641C\u7D22\u76F8\u5173\u8D44\u6599",eventSubagentWebFetchDone:"\u5B50\u4EFB\u52A1\u5DF2\u8BFB\u53D6\u53C2\u8003\u7F51\u9875",eventToolFailedUser:"\u67D0\u4E00\u6B65\u672A\u5B8C\u6210",generationProgressPulse:"\u4ECD\u5728\u751F\u6210\u4E2D\u2026",generationPageProgress:"\u6B63\u5728\u751F\u6210\u7B2C {{current}} \u9875",generationSlideProgress:"\u5DF2\u751F\u6210 {{count}} \u9875",generationStepBrief:"\u53D1\u5E03\u5047\u8BBE",generationStepBriefDetail:"\u9605\u8BFB Prompt \u5E76\u89C4\u5212\u6F14\u793A\u7A3F\u3002",generationStepSpine:"\u751F\u6210\u5927\u7EB2",generationStepSpineDetail:"\u628A\u9700\u6C42\u8F6C\u6210\u65AD\u8A00\u5F0F\u9875\u9762\u6807\u9898\u3002",generationStepProof:"\u9875\u9762\u6587\u6848",generationStepProofDetail:"\u7528\u7D20\u6750\u4E8B\u5B9E\u6216\u660E\u786E\u5047\u8BBE\u652F\u6491\u6BCF\u9875\u3002",generationStepDesign:"\u8BBE\u8BA1\u6392\u7248",generationStepDesignDetail:"\u5E94\u7528\u4E3B\u9898\u3001\u7248\u5F0F\u4E0E\u89C6\u89C9\u5C42\u6B21\u3002",generationStepCompile:"\u52A0\u8F7D\u9875\u9762",generationStepCompileDetail:"\u5C06\u751F\u6210\u7ED3\u679C\u52A0\u8F7D\u4E3A\u53EF\u7F16\u8F91\u9875\u9762\u3002",generationReadingBrief:"\u6B63\u5728\u7406\u89E3\u4F60\u7684 Prompt\u2026",generationWritingClaims:"\u6B63\u5728\u751F\u6210\u5927\u7EB2\u2026",generationChoosingProof:"\u6B63\u5728\u64B0\u5199\u9875\u9762\u6587\u6848\u2026",generationDesigningLayouts:"\u6B63\u5728\u8BBE\u8BA1\u9875\u9762\u7248\u5F0F\u2026",generationCompiled:"\u6F14\u793A\u7A3F\u5DF2\u5C31\u7EEA\u3002",generationSpineReady:"\u8BBA\u70B9\u4E3B\u7EBF\u5DF2\u751F\u6210\u3002",generationLocalSpine:"\u751F\u6210\u670D\u52A1\u6682\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",generationLocalCompiler:"\u751F\u6210\u670D\u52A1\u6682\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",agentPlanning:"\u6B63\u5728\u89C4\u5212\u6F14\u793A\u7A3F\u2026",agentPlanningFallback:"\u89C4\u5212\u6682\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",outlineTitle:"\u5927\u7EB2",outlineSubcopy:"\u5148\u786E\u8BA4\u6BCF\u4E00\u9875\u7684\u6545\u4E8B\u4E3B\u7EBF\uFF0C\u518D\u751F\u6210\u5B8C\u6574\u9875\u9762\u3002",addOutlineItem:"\u6DFB\u52A0\u5927\u7EB2\u9879",syncOutline:"\u7528\u5927\u7EB2\u540C\u6B65\u9875\u9762",modeEdit:"\u7F16\u8F91",modeSort:"\u6392\u5E8F",modePresent:"\u6F14\u793A",inspectorTitle:"\u68C0\u67E5\u5668",addText:"\u6587\u5B57",addList:"\u5217\u8868",addShape:"\u5F62\u72B6",addMetric:"\u6307\u6807",addChart:"\u56FE\u8868",addMedia:"\u5A92\u4F53",addSlide:"\u6DFB\u52A0\u9875\u9762",deleteSlide:"\u5220\u9664\u9875\u9762",deleteElement:"\u5220\u9664\u5143\u7D20",aiTitle:"AI \u8BBE\u8BA1",aiSubcopy:"\u7528 Prompt \u4FEE\u6539\u5F53\u524D\u9875\u3001\u6574\u5957 PPT\uFF0C\u6216\u63D2\u5165\u65B0\u9875\u3002",instructionPlaceholder:"\u4F8B\u5982\uFF1A\u8BA9\u672C\u9875\u66F4\u89C6\u89C9\u5316\uFF1B\u589E\u52A0\u4E00\u9875\u7ADE\u54C1\u5BF9\u6BD4\uFF1B\u6574\u5957\u6539\u6210\u878D\u8D44\u8DEF\u6F14\u98CE\u683C\uFF1B\u5220\u9664\u91CD\u590D\u5185\u5BB9\u3002",reviseSlide:"\u4FEE\u6539\u672C\u9875",reviseDeck:"\u4FEE\u6539\u6574\u5957",insertSlide:"\u63D2\u5165\u65B0\u9875",aiRewrite:"\u6539\u5199",aiCondense:"\u538B\u7F29",aiProfessional:"\u4E13\u4E1A\u5316",aiMoreVisual:"\u66F4\u89C6\u89C9\u5316",aiNotes:"\u6F14\u8BB2\u5907\u6CE8",aiRedesign:"\u91CD\u6392\u672C\u9875",aiRestyleDeck:"\u91CD\u5851\u6574\u5957\u98CE\u683C",styleTitle:"\u98CE\u683C",themeLabel:"\u4E3B\u9898",themeExecutive:"\u9AD8\u7BA1",themeMarket:"\u5E02\u573A",themeMinimal:"\u6781\u7B80",themeStudio:"\u521B\u610F",densityLabel:"\u5BC6\u5EA6",densityCompact:"\u7D27\u51D1",densityStandard:"\u6807\u51C6",densitySpacious:"\u8212\u5C55",brandPrimaryLabel:"\u4E3B\u8272",brandAccentLabel:"\u5F3A\u8C03\u8272",imagePolicyLabel:"\u56FE\u7247\u7B56\u7565",imagePolicyPlaceholders:"\u53EF\u7F16\u8F91\u5360\u4F4D",imagePolicyNone:"\u4E0D\u4F7F\u7528\u56FE\u7247",ready:"\u51C6\u5907\u5C31\u7EEA\u3002",statusPillReady:"\u5C31\u7EEA",statusPillBusy:"AI",exportReady:"\u751F\u6210\u540E\u53EF\u5BFC\u51FA HTML \u548C\u53EF\u7F16\u8F91 PPTX\u3002",working:"AI \u6B63\u5728\u5904\u7406...",outlineReady:"\u5927\u7EB2\u5DF2\u751F\u6210\u3002\u53EF\u5148\u8C03\u6574\u5927\u7EB2\uFF0C\u518D\u751F\u6210\u8BBE\u8BA1\u7A3F\u3002",deckReady:"\u8BBE\u8BA1\u7A3F\u5DF2\u751F\u6210\u3002",aiUnavailable:"\u751F\u6210\u670D\u52A1\u6682\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002",sourceGroundingRequired:"\u6765\u6E90\u65E0\u6CD5\u9A8C\u8BC1\u3002\u5DF2\u751F\u6210\u201C\u5148\u9A8C\u8BC1\u201D\u7684\u6F14\u793A\u7A3F\uFF0C\u800C\u4E0D\u662F\u7F16\u9020\u4E8B\u5B9E\u3002",saved:"\u5DF2\u4FDD\u5B58\u3002",slideUpdated:"\u9875\u9762\u5DF2\u66F4\u65B0\u3002",deckUpdated:"\u6574\u5957\u5DF2\u66F4\u65B0\u3002",slideInserted:"\u65B0\u9875\u9762\u5DF2\u63D2\u5165\u3002",deckRestyled:"\u6574\u5957\u98CE\u683C\u5DF2\u66F4\u65B0\u3002",cannotDelete:"\u81F3\u5C11\u4FDD\u7559\u4E00\u9875\u3002",noSelection:"\u9009\u62E9\u4E00\u4E2A\u9875\u9762\u5143\u7D20\u540E\u53EF\u7F16\u8F91\u5185\u5BB9\u548C\u5E03\u5C40\u3002",elementTypeLabel:"\u7C7B\u578B",elementTextLabel:"\u6587\u5B57",elementItemsLabel:"\u6761\u76EE",elementDataLabel:"\u56FE\u8868\u6570\u636E",geometryLabel:"\u4F4D\u7F6E\u5C3A\u5BF8",styleLabel:"\u6837\u5F0F",speakerNotesLabel:"\u6F14\u8BB2\u5907\u6CE8",kickerLabel:"\u7709\u6807",claimLabel:"\u8BBA\u70B9",proofObjectLabel:"\u8BC1\u636E\u5BF9\u8C61",supportNoteLabel:"\u652F\u6491\u8BF4\u660E",sourceNoteLabel:"\u6765\u6E90\u8BF4\u660E",newSlideTitle:"\u65B0\u9875\u9762",defaultDeckTitle:"AI \u4EA7\u54C1\u6218\u7565",slidesMeta:"{{count}} \u9875",exportHtmlDone:"HTML \u6F14\u793A\u7A3F\u5DF2\u4E0B\u8F7D\u3002",exportHtmlWorking:"\u6B63\u5728\u5BFC\u51FA HTML...",exportHtmlFailed:"HTML \u5BFC\u51FA\u5931\u8D25\uFF1A",exportSavedTo:"\u5DF2\u5BFC\u51FA\u5230\u4E0B\u8F7D\u6587\u4EF6\u5939\uFF1A{{path}}",exportPptxWorking:"\u6B63\u5728\u6E32\u67D3\u53EF\u7F16\u8F91 PPTX...",exportPptxDone:"\u53EF\u7F16\u8F91 PPTX \u5DF2\u4E0B\u8F7D\u3002",exportPptxFailed:"PPTX \u5BFC\u51FA\u5931\u8D25\uFF1A",exportPdfWorking:"\u6B63\u5728\u6E32\u67D3 PDF...",exportPdfDone:"PDF \u5DF2\u4E0B\u8F7D\u3002",exportPdfFailed:"PDF \u5BFC\u51FA\u5931\u8D25\uFF1A",exportPngWorking:"\u6B63\u5728\u6E32\u67D3 PNG \u9875\u9762...",exportPngDone:"PNG \u9875\u9762\u538B\u7F29\u5305\u5DF2\u4E0B\u8F7D\u3002",exportPngFailed:"PNG \u5BFC\u51FA\u5931\u8D25\uFF1A",exportDeckEmpty:"\u8BF7\u5148\u751F\u6210\u5E7B\u706F\u7247\u540E\u518D\u5BFC\u51FA\u3002",slidesEmptyHint:"\u751F\u6210\u540E\u9875\u9762\u7F29\u7565\u56FE\u4F1A\u663E\u793A\u5728\u8FD9\u91CC\u3002",welcomeTitle:"\u63CF\u8FF0\u4F60\u7684 PPT\uFF0C\u4E00\u952E\u5F00\u59CB",welcomeSubcopy:"\u4E00\u6761 Prompt \u5373\u53EF\u751F\u6210\u5927\u7EB2\u3001\u8BBE\u8BA1\u9875\u9762\u548C\u53EF\u7F16\u8F91\u6F14\u793A\u7A3F\uFF0C\u4E4B\u540E\u53EF\u9010\u9875\u7EE7\u7EED\u4FEE\u6539\u3002",welcomeTip1:"10 \u9875\u6218\u7565\u65B9\u6848",welcomeTip2:"\u6539\u6210\u6295\u8D44\u4EBA\u7248\u672C",welcomeTip3:"\u672C\u9875\u66F4\u89C6\u89C9\u5316",deleteSlideDefaultPrompt:"\u5220\u9664\u5F53\u524D\u9875\u9762\uFF0C\u5E76\u4FDD\u6301\u6574\u5957 PPT \u7ED3\u6784\u8FDE\u8D2F\u3002",prev:"\u4E0A\u4E00\u9875",next:"\u4E0B\u4E00\u9875",assistantHello:"\u544A\u8BC9\u6211\u4F60\u8981\u505A\u4EC0\u4E48 PPT\u3002\u6211\u4F1A\u5148\u751F\u6210\u5927\u7EB2\uFF0C\u518D\u53D8\u6210\u53EF\u7F16\u8F91\u9875\u9762\u3002",aiChatApplied:"\u5DF2\u628A\u6307\u4EE4\u5E94\u7528\u5230\u5F53\u524D\u9875\u9762\u3002",localMetricLabel:"\u9700\u8981\u8BB0\u4F4F\u7684\u4FE1\u53F7",mediaPlaceholder:"\u56FE\u7247\u5360\u4F4D",slidesUnit:"\u9875",closeConfirm:"\u786E\u8BA4\u65B9\u5411",closeOwner:"\u660E\u786E\u8D1F\u8D23\u4EBA",closeIteration:"\u542F\u52A8\u4E0B\u4E00\u8F6E\u8FED\u4EE3",pointClaimPrefix:"\u8BBA\u70B9\uFF1A",pointProofPrefix:"\u8BC1\u636E\u5BF9\u8C61\uFF1A",pointAudiencePrefix:"\u53D7\u4F17\u5173\u8054\uFF1A",pointEvidenceRule:"\u8BC1\u636E\u89C4\u5219\uFF1A\u660E\u786E\u6807\u6CE8\u5047\u8BBE",pointDesignRule:"\u8BBE\u8BA1\u89C4\u5219\uFF1A\u4E00\u4E2A\u4E3B\u89C6\u89C9\u52A0\u4E00\u4E2A\u652F\u6491\u680F",pointCloseRule:"\u6536\u675F\uFF1A\u8BF4\u6E05\u4E0B\u4E00\u6B65\u884C\u52A8",claimCover:"{{topic}} \u9700\u8981\u4E00\u6761\u6E05\u6670\u7684\u51B3\u7B56\u4E3B\u7EBF\uFF0C\u800C\u4E0D\u662F\u4FE1\u606F\u5806\u780C\u3002",claimPressure:"{{title}} \u662F\u53D7\u4F17\u5FC5\u987B\u89E3\u51B3\u7684\u5173\u952E\u538B\u529B\u70B9\u3002",claimDecision:"{{title}} \u4E4B\u6240\u4EE5\u91CD\u8981\uFF0C\u662F\u56E0\u4E3A\u5B83\u628A\u8BC1\u636E\u8FDE\u63A5\u5230\u884C\u52A8\u3002",claimProof:"{{title}} \u5FC5\u987B\u7531\u9875\u9762\u91CC\u7684\u4E3B\u8BC1\u636E\u5BF9\u8C61\u6765\u627F\u62C5\u8BBA\u8BC1\u3002",claimAction:"{{title}} \u6700\u540E\u8981\u843D\u5230\u4E00\u4E2A\u660E\u786E\u51B3\u7B56\u3001\u8D1F\u8D23\u4EBA\u6216\u4E0B\u4E00\u6B65\u3002",supportWithSource:"\u7528\u5DF2\u63D0\u4F9B\u7D20\u6750\u652F\u6491\u8FD9\u4E2A\u8BBA\u70B9\uFF0C\u5E76\u8BA9\u201C{{proof}}\u201D\u6210\u4E3A\u4E3B\u8BC1\u636E\u3002",supportWithAssumption:"\u8865\u5145\u4E00\u4E2A\u5177\u4F53\u4F8B\u5B50\u6216\u6307\u6807\uFF0C\u8BA9\u201C{{proof}}\u201D\u652F\u6491\u8BBA\u70B9\uFF0C\u800C\u4E0D\u662F\u586B\u5145\u6587\u5B57\u3002",sourceUserMaterial:"\u6765\u6E90\uFF1A\u7528\u6237\u63D0\u4F9B\u7D20\u6750",sourceDraftAssumption:"\u6765\u6E90\uFF1A\u8349\u7A3F\u5047\u8BBE\uFF1B\u5BF9\u5916\u4F7F\u7528\u524D\u9700\u786E\u8BA4",defaultSpeakerNote:"\u5148\u8BB2\u201C{{title}}\u201D\u7684\u7ED3\u8BBA\uFF0C\u518D\u7528\u4E00\u4E2A\u5177\u4F53\u4F8B\u5B50\u6216\u6570\u636E\u652F\u6491\u3002",proofMarketMap:"\u5E02\u573A\u5730\u56FE",proofOperatingModel:"\u8FD0\u8425\u6A21\u578B",proofRiskBridge:"\u98CE\u9669\u6865",proofDecisionTable:"\u51B3\u7B56\u8868",proofBeforeAfter:"\u524D\u540E\u5BF9\u6BD4\u6D41\u7A0B",proofValueBridge:"\u4EF7\u503C\u6865",proofCustomerProof:"\u5BA2\u6237\u8BC1\u636E",proofImplementationPlan:"\u5B9E\u65BD\u8BA1\u5212",proofMetricBridge:"\u6307\u6807\u6865",proofTrendChart:"\u8D8B\u52BF\u56FE",proofSourceSummary:"\u6765\u6E90\u6458\u8981",proofVerificationPlan:"\u9A8C\u8BC1\u8BA1\u5212",proofCapabilityMatrix:"\u80FD\u529B\u77E9\u9635",proofEvidenceList:"\u8BC1\u636E\u5217\u8868",proofVarianceTable:"\u5DEE\u5F02\u8868",proofRiskRegister:"\u98CE\u9669\u6E05\u5355",proofConceptMap:"\u6982\u5FF5\u56FE",proofWorkedExample:"\u6848\u4F8B\u6F14\u7B97",proofComparison:"\u5BF9\u6BD4",proofPracticePrompt:"\u7EC3\u4E60\u63D0\u793A",proofMarketWedge:"\u5E02\u573A\u5207\u5165\u70B9",proofProductDiagram:"\u4EA7\u54C1\u56FE",proofTractionChart:"\u7275\u5F15\u529B\u56FE\u8868",proofMilestonePlan:"\u91CC\u7A0B\u7891\u8BA1\u5212",proofVisualProof:"\u89C6\u89C9\u8BC1\u636E",sourceFetchedNote:"\u6765\u6E90\uFF1A\u5DF2\u8BFB\u53D6 {{count}} \u4E2A URL",bpContextTitle:"{{topic}} \u9700\u8981\u5148\u5EFA\u7ACB\u5728\u6765\u6E90\u4E8B\u5B9E\u4E4B\u4E0A\uFF0C\u518D\u63D0\u51FA\u5224\u65AD\u3002",bpSourceNeededTitle:"{{topic}} \u9700\u8981\u8865\u5145\u6765\u6E90\u7D20\u6750\u540E\u624D\u80FD\u63D0\u51FA\u4E8B\u5B9E\u6027\u7ED3\u8BBA\u3002",bpProblemTitle:"\u5F53\u524D\u5173\u952E\u95EE\u9898\u662F\uFF1A\u53D7\u4F17\u53EF\u4EE5\u5B89\u5168\u76F8\u4FE1\u4EC0\u4E48\u3002",bpSolutionTitle:"{{topic}} \u5E94\u901A\u8FC7\u80FD\u529B\u3001\u6D41\u7A0B\u548C\u8BC1\u636E\u6765\u89E3\u91CA\u3002",bpWorkflowTitle:"\u5DE5\u4F5C\u6D41\u9700\u8981\u5C55\u793A\u4EA7\u54C1\u5982\u4F55\u4E00\u6B65\u6B65\u521B\u9020\u4EF7\u503C\u3002",bpProofTitle:"\u53EF\u4FE1\u5EA6\u5E94\u8BE5\u7531\u6765\u6E90\u8BC1\u636E\u627F\u62C5\uFF0C\u800C\u4E0D\u662F\u7531\u5047\u56FE\u8868\u627F\u62C5\u3002",bpVerificationTitle:"\u9A8C\u8BC1\u7F3A\u53E3\u5FC5\u987B\u663E\u6027\u5C55\u793A\uFF0C\u4E0D\u80FD\u85CF\u5728\u865A\u6784\u56FE\u8868\u540E\u9762\u3002",bpRiskTitle:"\u6700\u5927\u98CE\u9669\u662F\u8D85\u51FA\u5DF2\u6709\u7D20\u6750\u8FC7\u5EA6\u58F0\u79F0\u3002",bpDecisionTitle:"\u4E0B\u4E00\u6B65\u662F\u9A8C\u8BC1\u5173\u952E\u8BBA\u70B9\uFF0C\u5E76\u9009\u62E9\u6700\u5F3A\u53D9\u4E8B\u8DEF\u5F84\u3002",bpSupportSource:"\u57FA\u4E8E\u5DF2\u8BFB\u53D6\u6216\u7C98\u8D34\u7D20\u6750\u751F\u6210\uFF1B\u5BF9\u5916\u4F7F\u7528\u524D\u8BF7\u6838\u5BF9\u539F\u6587\u3002",bpSupportMissing:"\u7D20\u6750\u4E0D\u8DB3\uFF1B\u672C\u9875\u5E94\u4F5C\u4E3A\u9A8C\u8BC1\u63D0\u793A\uFF0C\u800C\u4E0D\u662F\u4E8B\u5B9E\u7ED3\u8BBA\u3002",bpMissingFact1:"\u8BF7\u7C98\u8D34\u6765\u6E90\u7B14\u8BB0\u3001README\u3001\u6307\u6807\u6216\u4EA7\u54C1\u63CF\u8FF0\u6765\u652F\u6491\u672C\u9875\u3002",bpMissingFact2:"\u4E0D\u8981\u4F7F\u7528\u865A\u6784\u6307\u6807\uFF1B\u7528\u5DF2\u9A8C\u8BC1\u8BC1\u636E\u66FF\u6362\u5360\u4F4D\u5185\u5BB9\u3002",bpMissingFact3:"\u7528\u672C\u9875\u51B3\u5B9A\u4E0B\u4E00\u6B65\u9700\u8981\u8865\u5145\u7814\u7A76\u4EC0\u4E48\u3002",qualityOutOfBounds:"\u6709\u5143\u7D20\u8D85\u51FA\u5E7B\u706F\u7247\u5B89\u5168\u533A\u57DF\u3002",qualityTextDense:"\u5F53\u524D\u7248\u5F0F\u4E2D\u7684\u53EF\u89C1\u6587\u5B57\u53EF\u80FD\u8FC7\u5BC6\u3002",qualityChartUngrounded:"\u56FE\u8868\u6570\u636E\u7F3A\u5C11\u6765\u6E90\u6570\u5B57\uFF0C\u5DF2\u79FB\u9664\u6216\u6807\u8BB0\u3002",qualityOverlap:"\u6587\u5B57\u6216\u56FE\u8868\u5143\u7D20\u53EF\u80FD\u53D1\u751F\u91CD\u53E0\u3002",qualityMissingClaim:"\u672C\u9875\u9700\u8981\u4E00\u4E2A\u6E05\u6670\u8BBA\u70B9\u3002",qualityReportTitle:"\u8D28\u91CF\u62A5\u544A",qualityNeedsReview:"\u9700\u8981\u590D\u6838",qualityHasWarnings:"\u8D28\u91CF\u63D0\u9192",exportFormatUnavailable:"\u8BE5\u5BFC\u51FA\u683C\u5F0F\u5C1A\u672A\u652F\u6301\u3002",exportTitle:"\u5BFC\u51FA",exportCancel:"\u53D6\u6D88",exportConfirm:"\u5BFC\u51FA\u6587\u4EF6",exportPreviewPrevAria:"\u4E0A\u4E00\u9875",exportPreviewNextAria:"\u4E0B\u4E00\u9875",exportFormat:"\u683C\u5F0F",exportQuality:"\u8D28\u91CF",exportDpi:"\u56FE\u7247 DPI",exportRange:"\u5E7B\u706F\u7247\u8303\u56F4",exportShare:"\u5206\u4EAB",propertiesStyle:"\u6837\u5F0F",propertiesLayout:"\u5E03\u5C40",propertiesAnimation:"\u52A8\u753B",propertiesThemeColor:"\u4E3B\u9898\u8272",propertiesFont:"\u5B57\u4F53",propertiesColorMode:"\u5E7B\u706F\u7247\u914D\u8272",propertiesStylePreset:"\u98CE\u683C\u9884\u8BBE",colorModeLight:"\u6D45\u8272",colorModeDark:"\u6DF1\u8272",fontSansSerif:"\u975E\u886C\u7EBF",fontSerif:"\u886C\u7EBF",propertiesDensity:"\u5BC6\u5EA6",propertiesSmartAlign:"\u667A\u80FD\u5BF9\u9F50",propertiesPageTransition:"\u9875\u9762\u8FC7\u6E21",propertiesElementAnimation:"\u5143\u7D20\u52A8\u753B",densityLoose:"\u5BBD\u677E"}};function Lr(){let e=window.app?.locale||document.documentElement.lang||"";return e==="zh-CN"||String(e).startsWith("zh")?"zh-CN":"en-US"}function $(e,r={}){let t=$o[Lr()]||$o["en-US"],n=$o["en-US"][e]||e,i=t[e]||n;return Object.entries(r).forEach(([a,o])=>{i=i.replaceAll(`{{${a}}}`,String(o))}),i}var Xf=["clean-business","insight-report"],wa={"clean-business":{styleKey:"clean-business",names:{"en-US":"Clean Business","zh-CN":"\u7B80\u6D01\u5546\u52A1"},descriptions:{"en-US":"Calm editorial product-doc: warm canvas, charcoal type, one restrained accent, typography-led","zh-CN":"\u5E73\u9759\u7F16\u8F91\u611F\u4EA7\u54C1\u6587\u6863\uFF1A\u6696\u767D\u753B\u5E03\u3001\u70AD\u9ED1\u5B57\u9636\u3001\u5355\u4E00\u514B\u5236\u5F3A\u8C03\u8272\uFF0C\u6392\u7248\u5373\u89C6\u89C9"},colorMode:"light",palette:{background:"#FAFAF7",ink:"#111111",muted:"#787774",primary:"#1E293B",accent:"#0f766e",panel:"#F3F2EF"},fontFamily:"sans",density:"spacious",keywords:/business|clean|professional|商务|简洁|专业|企业/},"insight-report":{styleKey:"insight-report",names:{"en-US":"Insight Report","zh-CN":"\u6D1E\u5BDF\u6C47\u62A5"},descriptions:{"en-US":"Analytical memo on a slide: full sentences, explicit frameworks, evidence-dense tables","zh-CN":"\u5206\u6790\u5907\u5FD8\u5F55\u4E0A\u5899\uFF1A\u5B8C\u6574\u8BBA\u8BC1\u3001\u663E\u6027\u6846\u67B6\u3001\u6EE1\u7248\u8BC1\u636E\uFF0C\u50CF\u5C3D\u8C03\u9644\u5F55\u800C\u975E bullet \u6F14\u8BB2"},colorMode:"light",palette:{background:"#ffffff",ink:"#1f2937",muted:"#64748b",primary:"#1e3a8a",accent:"#dc2626",panel:"#f1f5f9"},fontFamily:"sans",density:"compact",keywords:/insight|consult|academic|research|whitepaper|due.*diligence|洞察|咨询|学术|调研|详尽|深度分析|尽调/}},an="clean-business";function es(e){return e&&wa[e]?e:an}function ts(e){return wa[es(e)]}var Hn={background:"#111111",ink:"#F5F5F4",muted:"#A8A29E",primary:"#93C5FD",accent:"#2DD4BF",panel:"#1C1C1C"};function ic(e,r="light"){let t=e?.palette||{};return r!=="dark"?{...t}:e?.paletteDark&&typeof e.paletteDark=="object"?{...e.paletteDark}:{background:Hn.background,ink:Hn.ink,muted:Hn.muted,primary:t.primary||Hn.primary,accent:t.accent||Hn.accent,panel:Hn.panel}}function Hf(e){return e==="zh-CN"?"zh-CN":"en-US"}function ac(e){let r=Hf(e);return Xf.filter(t=>wa[t]).map(t=>{let n=wa[t];return{key:t,displayName:n.names[r]||n.names["en-US"],description:n.descriptions[r]||n.descriptions["en-US"],colorMode:n.colorMode}})}var Si="pptLiveStudioStateV6",as="pptLiveDeckHistoryV1",cc=6,os=["text","list","shape","metric","chart","media"],ns={executive:{name:"Executive",background:"#fbfcff",ink:"#111827",muted:"#5b6575",primary:"#0f766e",accent:"#f97316",panel:"#ffffff"},market:{name:"Market",background:"#fffdf7",ink:"#1f2937",muted:"#6b5f50",primary:"#2563eb",accent:"#d97706",panel:"#ffffff"},minimal:{name:"Minimal",background:"#f8fafc",ink:"#0f172a",muted:"#64748b",primary:"#334155",accent:"#0f766e",panel:"#ffffff"},studio:{name:"Studio",background:"#fcfbff",ink:"#1f1630",muted:"#6c607a",primary:"#7c3aed",accent:"#db2777",panel:"#ffffff"}};function ir(e="id"){return`${e}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function sn(e){return JSON.parse(JSON.stringify(e))}function mt(e,r,t){return Math.max(r,Math.min(t,e))}function Le(e){return String(e??"").replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}function ss(){return{topic:"",slideTarget:0}}function uc(e="strategy"){let r={strategy:{profile:"strategy-leadership",thesis:"Decision-led transformation narrative",proofObjects:["market map","operating model","risk bridge","decision table"],arc:["thesis","context","friction","strategic bet","operating model","proof","risks","decision"]},sales:{profile:"gtm-growth",thesis:"Buyer pain to differentiated value narrative",proofObjects:["before/after workflow","value bridge","customer proof","implementation plan"],arc:["outcome","market shift","pain","solution","proof","commercial case","rollout","call to action"]},report:{profile:"finance-ir",thesis:"Executive performance narrative with decisions attached",proofObjects:["metric bridge","trend chart","variance table","risk register"],arc:["summary","scorecard","movement","root cause","metric proof","risk","plan","decision"]},teaching:{profile:"education",thesis:"Concept to application learning journey",proofObjects:["concept map","worked example","comparison","practice prompt"],arc:["goal","map","concept","example","mistakes","practice","summary","next step"]},fundraising:{profile:"fundraising",thesis:"Venture-scale opportunity supported by traction evidence",proofObjects:["market wedge","product diagram","traction chart","milestone plan"],arc:["thesis","problem","solution","market","product","traction","model","ask"]}};return r[e]||r.strategy}function En(e="standard"){let r=String(e||"standard");return r==="loose"?"spacious":["compact","standard","spacious"].includes(r)?r:"standard"}var is=["spacious","standard","compact"];function ka(e="standard"){let r=En(e),t=is.indexOf(r);return t>=0?t:1}function Ca(e=1){let r=Math.min(Math.max(Math.round(Number(e)),0),is.length-1);return is[r]||"standard"}function dc(e="standard"){let r=En(e),t={spacious:{bulletLimit:4,cardColumns:3,cardGap:2},standard:{bulletLimit:5,cardColumns:4,cardGap:1.8},compact:{bulletLimit:6,cardColumns:4,cardGap:1.2}};return t[r]||t.standard}function oc(e=0){let r=Number(e);return!Number.isFinite(r)||r<=0?0:mt(r,3,24)}function ls(){return{theme:"executive",density:"standard",fontFamily:"sans",colorMode:"light",stylePreset:"clean-business"}}function fc(){return[$("defaultDeckTitle"),"Why now","Current friction","Strategic answer","Core workflow","Proof and impact","Rollout plan","Decision and next steps"]}function Bn(){return{schemaVersion:cc,sessionId:ir("deck"),title:$("blankDeckTitle"),brief:ss(),promptDraft:"",lastSubmittedPrompt:"",agentSession:{id:"",workspaceSubdir:"",runId:"",skillKey:""},style:ls(),outline:[],sources:{items:[],facts:[],warnings:[],summary:"",fetchedAt:0},slides:[],activeSlideId:"",selectedElementId:"",mode:"edit",presentIndex:0,status:"ready",generation:{active:!1,current:"idle",steps:hc().map(r=>({...r,status:"pending"})),events:[]},chatMessages:[{role:"assistant",text:$("assistantHello")}],updatedAt:Date.now()}}function ln(e){let r={...Bn(),...e||{}};r.schemaVersion=cc;let t=r.brief||{};r.brief={...ss(),topic:String(t.topic||r.promptDraft||"").trim(),slideTarget:oc(t.slideTarget)},r.promptDraft=typeof r.promptDraft=="string"?r.promptDraft:"",r.lastSubmittedPrompt=typeof r.lastSubmittedPrompt=="string"?r.lastSubmittedPrompt:"",r.agentSession={id:String(r.agentSession?.id||""),workspaceSubdir:String(r.agentSession?.workspaceSubdir||""),runId:String(r.agentSession?.runId||""),skillKey:String(r.agentSession?.skillKey||"")},r.style={...ls(),...r.style||{}},delete r.style.brandPrimary,delete r.style.brandAccent,Object.keys(ns).includes(r.style.theme)||(r.style.theme="executive"),["compact","standard","spacious","loose"].includes(r.style.density)||(r.style.density="standard"),r.style.density=En(r.style.density),["sans","serif"].includes(r.style.fontFamily)||(r.style.fontFamily=r.style.fontFamily==="serif"?"serif":"sans"),["light","dark"].includes(r.style.colorMode)||(r.style.colorMode="light"),r.style.stylePreset=es(typeof r.style.stylePreset=="string"?r.style.stylePreset:""),r.generation=ki(r.generation),r.sources=Kf(r.sources),r.brief.slideTarget=oc(r.brief.slideTarget);let n=r.generation.active&&Array.isArray(r.slides)&&r.slides.length===0;r.outline=n?[]:Array.isArray(r.outline)?r.outline.map(a=>String(a||$("newSlideTitle"))):[],r.slides=n?[]:Array.isArray(r.slides)&&r.slides.length>0?r.slides.map((a,o)=>Ur(a,o,r)):r.outline.length>0?r.outline.map((a,o)=>cs(a,o,r.outline.length,r)):[],r.slides.some(a=>a.id===r.activeSlideId)||(r.activeSlideId=r.slides[0]?.id||"");let i=qt(r);return i?.elements.some(a=>a.id===r.selectedElementId)||(r.selectedElementId=i?.elements[0]?.id||""),r.title=r.title||r.slides[0]?.title||$("defaultDeckTitle"),r.updatedAt=Date.now(),r}function Kf(e={}){return{items:Array.isArray(e.items)?e.items:[],facts:Array.isArray(e.facts)?e.facts:[],warnings:Array.isArray(e.warnings)?e.warnings:[],summary:typeof e.summary=="string"?e.summary:"",fetchedAt:Number(e.fetchedAt||0)}}function hc(){return[{id:"brief",label:$("generationStepBrief"),detail:$("generationStepBriefDetail")},{id:"spine",label:$("generationStepSpine"),detail:$("generationStepSpineDetail")},{id:"proof",label:$("generationStepProof"),detail:$("generationStepProofDetail")},{id:"design",label:$("generationStepDesign"),detail:$("generationStepDesignDetail")},{id:"compile",label:$("generationStepCompile"),detail:$("generationStepCompileDetail")}]}var Qf=80,Zf=200;function Yf(e={}){let r=typeof e=="string"?{title:e}:e||{},t=String(r.title||r.label||r.message||$("processEventUnknown")).trim()||$("processEventUnknown"),n=String(r.kind||"info").toLowerCase().replace(/[^a-z0-9-]/g,"")||"info",i=Number(r.timestamp||r.time||0)||Date.now();return{id:String(r.id||ir("generation-event")),seq:Number(r.seq)||0,title:t,detail:String(r.detail||r.description||"").trim(),kind:n,timestamp:i}}function ki(e={}){let r=new Map((Array.isArray(e.steps)?e.steps:[]).map(a=>[a.id,a])),t=Array.isArray(e.events)?e.events.map(Yf).slice(-Qf):[],n=t.reduce((a,o)=>Math.max(a,Number(o.seq)||0),0),i=Array.isArray(e.agentStream)?e.agentStream.slice(-Zf):[];return{active:!!e.active,current:e.current||"idle",draftedCount:Number(e.draftedCount)||0,slideTarget:Number(e.slideTarget)||0,eventSeq:Math.max(Number(e.eventSeq)||0,n),steps:hc().map(a=>({...a,status:r.get(a.id)?.status||"pending"})),events:t,agentStream:i}}function qt(e){return e.slides.find(r=>r.id===e.activeSlideId)||e.slides[0]}function Jt(e){return Math.max(0,e.slides.findIndex(r=>r.id===e.activeSlideId))}function Rn(e){return qt(e)?.elements.find(t=>t.id===e.selectedElementId)||null}function cs(e,r,t,n={brief:ss(),style:ls(),slides:[]}){let i=pc(n,r),a={id:ir("slide"),title:e||`${$("newSlideTitle")} ${r+1}`,subtitle:"",kicker:gc(r,n),claim:ds(e,r,n),proofObject:Ta(r,n),supportNote:mc(e,r,n),sourceNote:vc(n),notes:$("defaultSpeakerNote",{title:e}),layout:Ac(r,t),theme:i,elements:[]};return a.elements=yc(a,r,t,n),Ur(a,r,n)}function Ur(e,r,t){let n=e?.title||`${$("newSlideTitle")} ${r+1}`,i={id:e?.id||ir("slide"),title:n,subtitle:e?.subtitle||"",kicker:String(e?.kicker||gc(r,t)),claim:String(e?.claim||ds(n,r,t)),proofObject:String(e?.proofObject||Ta(r,t)),supportNote:String(e?.supportNote||mc(n,r,t)),sourceNote:String(e?.sourceNote||vc(t)),notes:e?.notes||"",layout:e?.layout||Ac(r,t?.slides?.length||1),theme:{...pc(t,r),...e?.theme||e?.style||{}},html:typeof e?.html=="string"?e.html:"",quality:Jf(e?.quality),elements:[]},a=Array.isArray(e?.elements)&&e.elements.length>0?e.elements:yc(i,r,t?.slides?.length||1,t);if(i.elements=a.map(o=>us(o)),i.html){let o=Fa(i.html);o&&(i.theme.background=o)}return i}function Jf(e={}){let r=Array.isArray(e?.issues)?e.issues:[];return{score:mt(Number(e?.score??100),0,100),issues:r.slice(0,12).map(t=>({id:String(t?.id||ir("quality")),severity:["high","medium","low"].includes(t?.severity)?t.severity:"low",type:String(t?.type||"quality"),message:String(t?.message||"")})).filter(t=>t.message)}}function us(e={}){let r=os.includes(e.type)?e.type:"text",t=Pa(r);return{...t,...e,id:e.id||ir("el"),type:r,x:mt(Number(e.x??t.x),0,98),y:mt(Number(e.y??t.y),0,98),w:mt(Number(e.w??t.w),3,100),h:mt(Number(e.h??t.h),3,100),text:typeof e.text=="string"?e.text:t.text,label:typeof e.label=="string"?e.label:t.label,items:Array.isArray(e.items)?e.items.map(String):t.items,data:Array.isArray(e.data)?e.data.map($f):t.data,style:eh({...t.style,...e.style||{}})}}function $f(e,r){return typeof e=="number"?{label:`Q${r+1}`,value:e}:{label:String(e?.label||`Item ${r+1}`),value:Number(e?.value||0)}}function eh(e={}){return{fontSize:mt(Number(e.fontSize||24),8,88),fontWeight:mt(Number(e.fontWeight||600),100,900),color:e.color||"ink",background:e.background||"transparent",opacity:mt(Number(e.opacity??1),0,1),borderRadius:mt(Number(e.borderRadius||0),0,99),align:e.align||"left"}}function Pa(e){let r={text:{text:"Key message",label:"",items:[],data:[],x:8,y:12,w:60,h:16,style:{fontSize:38,fontWeight:780,color:"ink",background:"transparent",borderRadius:0,opacity:1,align:"left"}},list:{text:"",label:"",items:["First point","Second point","Third point"],data:[],x:9,y:36,w:48,h:40,style:{fontSize:20,fontWeight:500,color:"ink",background:"transparent",borderRadius:8,opacity:1,align:"left"}},shape:{text:"",label:"",items:[],data:[],x:66,y:14,w:24,h:62,style:{fontSize:18,fontWeight:600,color:"accent",background:"primary",borderRadius:22,opacity:.12,align:"center"}},metric:{text:"3x",label:"Faster first draft",items:[],data:[],x:63,y:42,w:26,h:26,style:{fontSize:44,fontWeight:820,color:"primary",background:"panel",borderRadius:14,opacity:1,align:"left"}},chart:{text:"Signal trend",label:"",items:[],data:[{label:"Now",value:42},{label:"Next",value:68},{label:"Target",value:86}],x:52,y:36,w:36,h:32,style:{fontSize:18,fontWeight:700,color:"ink",background:"panel",borderRadius:14,opacity:1,align:"left"}},media:{text:$("mediaPlaceholder"),label:"",items:[],data:[],x:58,y:18,w:32,h:42,style:{fontSize:16,fontWeight:650,color:"muted",background:"soft",borderRadius:16,opacity:1,align:"center"}}};return{...sn(r[e]||r.text),type:r[e]?e:"text"}}function pc(e,r=0){let t=e?.deckPalette;if(t&&typeof t=="object"){let o=t.primary||"#111111",l=t.accent||"#c84b31";return sc({name:"deck",background:t.background||"#111111",ink:t.ink||"#f8fafc",muted:t.muted||"#cbd5e1",primary:r%2?l:o,accent:r%2?o:l,panel:t.panel||"#1f2937"})}let n=ns[e?.style?.theme||"executive"]||ns.executive,i=n.primary,a=n.accent;return sc({...n,primary:r%2?a:i,accent:r%2?i:a})}function Fa(e){let r=String(e||""),t=[/body\s*\{[^}]*background(?:-color)?\s*:\s*([^;}\n]+)/i,/]*style="[^"]*background(?:-color)?\s*:\s*([^;"']+)/i,/html\s*\{[^}]*background(?:-color)?\s*:\s*([^;}\n]+)/i,/:root\s*\{[^}]*background(?:-color)?\s*:\s*([^;}\n]+)/i,/background(?:-color)?\s*:\s*(#[0-9a-f]{3,8}|rgb[a]?\([^)]+\)|hsl[a]?\([^)]+\)|black|white)/i];for(let n of t){let i=r.match(n);if(!i)continue;let a=th(i[1]);if(a)return a}return null}function th(e){let r=String(e||"").trim().replace(/\s+!important$/i,"");if(!r||/^transparent$/i.test(r))return null;if(/^#[0-9a-f]{3,8}$/i.test(r))return on(r,r);if(/^rgb/i.test(r)||/^hsl/i.test(r))return r;let t={black:"#000000",white:"#ffffff",transparent:null};return Object.prototype.hasOwnProperty.call(t,r.toLowerCase())?t[r.toLowerCase()]:r}function sc(e){let r=on(e.background,"#ffffff"),t=on(e.panel,"#ffffff");return{...e,background:r,panel:t,ink:xa(r,e.ink,"#111827","#f8fafc",7),muted:xa(r,e.muted,"#4b5563","#cbd5e1",4.5),primary:xa(t,e.primary,"#0f766e","#5eead4",4.5),accent:xa(t,e.accent,"#c2410c","#fdba74",4.5)}}function xa(e,r,t,n,i){let a=on(e,"#ffffff"),o=on(r,t);if(rs(a,o)>=i)return o;let l=on(t,"#111827"),c=on(n,"#f8fafc");return rs(a,l)>=rs(a,c)?l:c}function rs(e,r){let t=lc(e),n=lc(r),i=Math.max(t,n),a=Math.min(t,n);return(i+.05)/(a+.05)}function lc(e){let{r,g:t,b:n}=rh(e);return[r,t,n].map(i=>{let a=i/255;return a<=.03928?a/12.92:((a+.055)/1.055)**2.4}).reduce((i,a,o)=>i+a*[.2126,.7152,.0722][o],0)}function on(e,r){let t=String(e||"").trim(),n=t.match(/^#([0-9a-f]{3})$/i);return n?`#${n[1].split("").map(i=>i+i).join("")}`.toLowerCase():/^#[0-9a-f]{6}$/i.test(t)?t.toLowerCase():r}function rh(e){let r=on(e,"#000000").slice(1),t=parseInt(r,16);return{r:t>>16&255,g:t>>8&255,b:t&255}}function Ac(e,r){return e===0?"cover":e===r-1?"closing":["split","metric","process","comparison"][e%4]}function gc(e,r){let t=uc();return(t.arc[e%t.arc.length]||"proof").replace(/[-_]/g," ").toUpperCase()}function Ta(e,r){let t=uc(),n=t.proofObjects[e%t.proofObjects.length]||"visual proof";return{"market map":$("proofMarketMap"),"operating model":$("proofOperatingModel"),"risk bridge":$("proofRiskBridge"),"decision table":$("proofDecisionTable"),"before/after workflow":$("proofBeforeAfter"),"value bridge":$("proofValueBridge"),"customer proof":$("proofCustomerProof"),"implementation plan":$("proofImplementationPlan"),"metric bridge":$("proofMetricBridge"),"trend chart":$("proofTrendChart"),"variance table":$("proofVarianceTable"),"risk register":$("proofRiskRegister"),"concept map":$("proofConceptMap"),"worked example":$("proofWorkedExample"),comparison:$("proofComparison"),"practice prompt":$("proofPracticePrompt"),"market wedge":$("proofMarketWedge"),"product diagram":$("proofProductDiagram"),"traction chart":$("proofTractionChart"),"milestone plan":$("proofMilestonePlan"),"visual proof":$("proofVisualProof")}[n]||n}function ds(e,r,t){let n=t?.brief?.topic||t?.title||e;if(r===0)return $("claimCover",{topic:n});if(e&&/[.!?。!?]$/.test(e.trim()))return e;let i=[$("claimPressure",{title:e}),$("claimDecision",{title:e}),$("claimProof",{title:e}),$("claimAction",{title:e})];return i[r%i.length]}function mc(e,r,t){let n=Ta(r,t);return $("supportWithAssumption",{proof:n})}function vc(e){return $("sourceDraftAssumption")}function yc(e,r,t,n){let i=e.title,a=dc(n?.style?.density),o=ih(i,r,n).slice(0,a.bulletLimit).map(c=>String(c).slice(0,90)),l=nh(e,r,t);return l==="cover"?[Ft("shape",{x:6,y:9,w:88,h:76,style:{background:"soft",opacity:1,borderRadius:28}}),Ft("shape",{x:9,y:15,w:1.2,h:55,style:{background:"primary",opacity:1,borderRadius:99}}),Ft("text",{text:e.kicker,x:13,y:15,w:22,h:5,style:{fontSize:10,fontWeight:760,color:"primary"}}),Ft("text",{text:i,x:13,y:23,w:58,h:25,style:{fontSize:i.length>48?34:44,fontWeight:840}}),Ft("text",{text:e.claim,x:14,y:55,w:45,h:11,style:{fontSize:18,fontWeight:520,color:"muted"}}),Ft("metric",{text:String(t),label:$("slidesUnit"),x:75,y:54,w:14,h:17,style:{fontSize:34}})]:l==="closing"?[Ft("text",{text:i,x:9,y:15,w:65,h:15,style:{fontSize:i.length>48?30:38,fontWeight:820}}),Ft("text",{text:e.claim,x:10,y:33,w:46,h:9,style:{fontSize:17,fontWeight:540,color:"muted"}}),...Sa([$("closeConfirm"),$("closeOwner"),$("closeIteration")],10,50,52,22,3),Ft("text",{text:o[0]||e.supportNote,x:67,y:48,w:22,h:20,style:{fontSize:18,fontWeight:720,color:"primary",background:"soft",borderRadius:20}})]:l==="process"?[Ft("text",{text:i,x:8,y:10,w:68,h:12,style:{fontSize:32,fontWeight:820}}),Ft("text",{text:e.claim,x:9,y:25,w:54,h:7,style:{fontSize:15,fontWeight:520,color:"muted"}}),Ft("shape",{x:10,y:50,w:78,h:1.2,style:{background:"primary",opacity:.25,borderRadius:99}}),...Sa(o.map((c,s)=>`0${s+1} ${c}`),10,37,78,28,Math.min(a.cardColumns,Math.max(2,o.length)),a.cardGap)]:l==="comparison"?[Ft("text",{text:i,x:7,y:10,w:72,h:12,style:{fontSize:32,fontWeight:820}}),Ft("text",{text:e.claim,x:8,y:25,w:48,h:7,style:{fontSize:15,fontWeight:520,color:"muted"}}),...Sa(o,8,37,82,30,2,a.cardGap)]:l==="data"?[Ft("text",{text:i,x:8,y:10,w:66,h:12,style:{fontSize:32,fontWeight:820}}),Ft("text",{text:e.claim,x:9,y:25,w:47,h:7,style:{fontSize:15,fontWeight:520,color:"muted"}}),Ft("metric",{text:String(r).padStart(2,"0"),label:e.proofObject,x:10,y:40,w:34,h:28,style:{fontSize:44}}),Ft("text",{text:o[0]||e.supportNote,x:69,y:41,w:20,h:24,style:{fontSize:17,fontWeight:700,color:"primary",background:"soft",borderRadius:18}})]:l==="cards"?[Ft("text",{text:i,x:8,y:10,w:68,h:12,style:{fontSize:32,fontWeight:820}}),Ft("text",{text:e.claim,x:9,y:25,w:51,h:8,style:{fontSize:15,fontWeight:520,color:"muted"}}),...Sa(o,9,38,78,28,a.cardColumns,a.cardGap)]:[Ft("text",{text:i,x:10,y:15,w:62,h:15,style:{fontSize:i.length>48?30:38,fontWeight:820}}),Ft("text",{text:e.claim,x:11,y:34,w:42,h:10,style:{fontSize:17,fontWeight:520,color:"muted"}}),Ft("text",{text:o[0]||e.supportNote,x:58,y:38,w:28,h:24,style:{fontSize:22,fontWeight:760,color:"primary",background:"soft",borderRadius:22}}),Ft("shape",{x:10,y:72,w:18,h:.6,style:{background:"primary",opacity:1,borderRadius:99}})]}function nh(e,r,t){let n=[e.layout,e.kicker,e.proofObject,e.claim,e.title].join(" ").toLowerCase();return r===0||e.layout==="cover"?"cover":r===t-1||e.layout==="closing"?"closing":/process|workflow|timeline|roadmap|journey|steps|architecture|flow|流程|步骤|路线|架构/.test(n)?"process":/compare|comparison|versus|matrix|before|after|risk|对比|比较|矩阵|风险/.test(n)?"comparison":/data|metric|trend|scorecard|chart|number|数据|指标|趋势/.test(n)?"data":r%3===1?"cards":"spotlight"}function Sa(e,r,t,n,i,a,o=2.5){let l=e.filter(Boolean),c=Math.max(1,Math.min(a||1,l.length||1)),s=Number.isFinite(o)?o:2.5,u=Math.max(1,Math.ceil((l.length||1)/c)),d=(n-s*(c-1))/c,A=(i-s*(u-1))/u;return l.map((f,p)=>Ft("text",{text:f,x:r+p%c*(d+s),y:t+Math.floor(p/c)*(A+s),w:d,h:A,style:{fontSize:17,fontWeight:p===0?760:620,color:p===0?"primary":"ink",background:p===0?"soft":"panel",borderRadius:18}}))}function Ft(e,r){let t=Pa(e);return{...t,...r,style:{...t.style,...r.style||{}}}}function ih(e,r,t){let n=t?.brief?.topic||e,i=Ta(r,t),a=[`${$("pointClaimPrefix")} ${ds(e,r,t)}`,`${$("pointProofPrefix")} ${i}`,`${$("pointAudiencePrefix")} ${n}`,$("pointEvidenceRule"),$("pointDesignRule"),$("pointCloseRule")],o=dc(t?.style?.density).bulletLimit,l=[];for(let c=0;c{r!==e&&Da(r)})}function fs(e){let r=e.querySelector(".ppt-flat-select__menu"),t=e.querySelector(".ppt-flat-select__trigger");if(!r||!t)return;let n=t.getBoundingClientRect(),i=Math.min(220,r.scrollHeight||220),a=window.innerHeight-n.bottom,o=aa;r.style.left=`${Math.max(8,n.left)}px`,r.style.width=`${n.width}px`,o?(r.style.top="auto",r.style.bottom=`${window.innerHeight-n.top+4}px`):(r.style.top=`${n.bottom+4}px`,r.style.bottom="auto")}function bc(e){let r=e.querySelector(".ppt-flat-select__menu"),t=e.querySelector(".ppt-flat-select__trigger");if(!r||!t)return;Ea(null),r.hidden=!1,fs(e),t.setAttribute("aria-expanded","true"),e.classList.add("is-open"),Kn.add(e),r.querySelector(".ppt-flat-select__option.is-selected")?.scrollIntoView({block:"nearest"})}function ah(e,r){let t=e.querySelector(".ppt-flat-select__menu");if(!t||t.hidden)return;let n=[...t.querySelectorAll(".ppt-flat-select__option")];if(!n.length)return;let i=n.indexOf(document.activeElement),a=i>=0?i:n.findIndex(l=>l.classList.contains("is-selected")),o=Math.min(n.length-1,Math.max(0,(a<0?-r:a)+r));n[o]?.focus(),n[o]?.scrollIntoView({block:"nearest"})}function hs(e){let r=e.closest(".ppt-flat-select");if(!r)return;let t=r.querySelector(".ppt-flat-select__label"),n=r.querySelector(".ppt-flat-select__menu"),i=e.options[e.selectedIndex];if(t&&(t.textContent=i?.textContent?.trim()||""),!n)return;let a=new Map([...n.querySelectorAll(".ppt-flat-select__option")].map(o=>[o.dataset.value,o]));[...e.options].forEach(o=>{let l=a.get(o.value);l||(l=document.createElement("button"),l.type="button",l.className="ppt-flat-select__option",l.setAttribute("role","option"),l.dataset.value=o.value,l.addEventListener("click",()=>{e.value=o.value,hs(e),Da(r),e.dispatchEvent(new Event("change",{bubbles:!0}))}),n.append(l)),l.textContent=o.textContent,o.title&&(l.title=o.title);let c=o.value===e.value;l.classList.toggle("is-selected",c),l.setAttribute("aria-selected",c?"true":"false")}),[...n.querySelectorAll(".ppt-flat-select__option")].forEach(o=>{[...e.options].some(l=>l.value===o.dataset.value)||o.remove()}),r.classList.contains("is-open")&&fs(r)}function oh(e){if(!(e instanceof Node))return!1;for(let r of Kn){let t=r.querySelector(".ppt-flat-select__menu");if(t&&(t===e||t.contains(e)))return!0}return!1}function sh(e){oh(e.target)||Ea(null)}function lh(e){let r=e.target;if(r instanceof Node){for(let t of Kn)if(t.contains(r))return}Ea(null)}function wc(e){if(!e||e.dataset.flatSelect==="true")return;e.dataset.flatSelect="true",e.classList.remove("ppt-flat-select"),e.classList.add("ppt-flat-select__native"),e.tabIndex=-1,e.setAttribute("aria-hidden","true");let r=document.createElement("div");r.className="ppt-flat-select";let t=document.createElement("button");t.type="button",t.className="ppt-flat-select__trigger",t.setAttribute("aria-haspopup","listbox"),t.setAttribute("aria-expanded","false");let n=document.createElement("span");n.className="ppt-flat-select__label",t.append(n);let i=document.createElement("div");i.className="ppt-flat-select__menu",i.hidden=!0,i.setAttribute("role","listbox"),i.addEventListener("wheel",o=>o.stopPropagation(),{passive:!0}),i.addEventListener("mousedown",o=>o.stopPropagation()),t.addEventListener("click",o=>{if(o.stopPropagation(),r.classList.contains("is-open")){Da(r);return}bc(r)}),r.addEventListener("keydown",o=>{o.key==="ArrowDown"||o.key==="ArrowUp"?(o.preventDefault(),r.classList.contains("is-open")||bc(r),ah(r,o.key==="ArrowDown"?1:-1)):o.key==="Escape"&&r.classList.contains("is-open")&&(o.stopPropagation(),Da(r),t.focus())}),e.parentNode.insertBefore(r,e),r.append(t,i,e),hs(e)}function Ci(e){hs(e)}window.__pptLiveFlatSelectBound||(window.__pptLiveFlatSelectBound=!0,document.addEventListener("click",lh),document.addEventListener("keydown",e=>{e.key==="Escape"&&Ea(null)}),window.addEventListener("resize",()=>{Kn.forEach(e=>fs(e))}),document.addEventListener("scroll",sh,!0));function Dc(){document.documentElement.lang=Lr(),document.querySelectorAll("[data-i18n]").forEach(e=>{e.textContent=$(e.dataset.i18n)}),document.querySelectorAll("[data-i18n-placeholder]").forEach(e=>{e.placeholder=$(e.dataset.i18nPlaceholder)}),document.querySelectorAll("[data-i18n-aria]").forEach(e=>{e.setAttribute("aria-label",$(e.dataset.i18nAria))})}function Ec(e,r){Eh(e),Fr(e),Wr(e),Rh(e,r),Nn(e,r),cn(e,r),Ua(e,r),Ln(),document.querySelectorAll(".segment").forEach(i=>{i.classList.toggle("is-active",i.dataset.mode===e.mode)});let t=Jt(e),n=Bt("slidePosition");n&&(n.textContent=`${t+1} / ${e.slides?.length||1}`)}var xc="",Pi=0,Bc=120,ch=20;function uh(e){return{x:(parseFloat(e.paddingLeft)||0)+(parseFloat(e.paddingRight)||0),y:(parseFloat(e.paddingTop)||0)+(parseFloat(e.paddingBottom)||0)}}function Rc(e,r={}){if(!e)return{width:0,height:0};let t=getComputedStyle(e),n=uh(t),i=Math.max(0,(e.clientWidth||0)-n.x),a=Math.max(0,(e.clientHeight||0)-n.y),o=e.getBoundingClientRect();o.width>0&&(i=Math.max(i,o.width-n.x)),o.height>0&&(a=Math.max(a,o.height-n.y));let l=r.minHeight??Bc,c=r.fallback;if(c&&a0&&(i=Math.max(i,s.width-n.x)),s.height>0&&(a=Math.max(a,s.height-n.y))}return{width:Math.max(0,i),height:Math.max(0,a)}}function dh(e){if(!e)return 0;let r=e.getBoundingClientRect();return Math.max(e.clientWidth||0,e.offsetWidth||0,r.width||0)}function Ln(){Pi&&cancelAnimationFrame(Pi);let e=(r=0)=>{Pi=0,Qn(),xs(),_a(),Uc();let t=Bt("slideCanvas")?.closest(".canvas-area");if(!t||r>=ch)return;let{height:n}=Rc(t,{fallback:t.closest(".stage-shell")});ne(r+1)))};Pi=requestAnimationFrame(()=>e(0))}function Qn(){let e=Bt("slideCanvas"),r=e?.closest(".canvas-area"),t=e?.closest(".canvas-stage");if(!e||!r||!t)return;let{width:n,height:i}=Rc(r,{fallback:r.closest(".stage-shell")}),a=Math.max(160,n),o=Math.max(90,i),l=a,c=l*9/16;c>o&&(c=o,l=c*16/9);let s=Math.floor(l),u=Math.floor(c),d=`${a}x${o}`;if(d===xc&&t.style.width===`${s}px`&&t.style.height===`${u}px`){let p=e.querySelector(`.${ar}`);p&&or(p);return}xc=d,t.style.width=`${s}px`,t.style.height=`${u}px`,e.style.width="100%",e.style.height="100%";let A=Bt("presentSlide");A&&(A.style.width=`${s}px`,A.style.height=`${u}px`);let f=e.querySelector(`.${ar}`);f&&or(f)}function fh(e){let r=Bt("floatingToolbar"),t=Bt("slideCanvas");if(!r||!t||!e){r&&r.classList.remove("is-visible");return}let n=t.getBoundingClientRect(),i=e.x/100*n.width,a=e.y/100*n.height,o=e.w/100*n.width;r.style.left=`${n.left+i+o/2-r.offsetWidth/2}px`,r.style.top=`${n.top+a-r.offsetHeight-8}px`,r.classList.add("is-visible")}function ps(e,r){let t=String(e||"").trim(),n=parseFloat(t);return Number.isFinite(n)?t.endsWith("pt")?n*(96/72):(t.endsWith("px"),n):r}function vs(e,r,t){return String(e||"").replace(/(^|[^-.\w]):root(?![\w-])/gi,`$1${r}`).replace(/(^|[^-.\w])html(?![\w-])/gi,`$1${r}`).replace(/(^|[^-.\w])body(?![\w-])/gi,`$1${t}`)}var ar="html-slide-preview-host",Lc="html-slide-preview-scaler",ys={width:1280,height:720};function hh(e,r){let t=e.contentDocument;return t?(t.open(),t.write(Nr(r)),t.close(),!0):!1}function Nc(e,r,t){e.setAttribute("sandbox","allow-same-origin"),e.src="about:blank";let n=()=>hh(e,r)?(t?.(),!0):!1;n()||e.addEventListener("load",()=>{n()},{once:!0})}function ph(e){let r=String(e||""),t=r.match(/(?:^|[{;\s])width\s*:\s*([\d.]+)\s*pt/i),n=r.match(/(?:^|[{;\s])height\s*:\s*([\d.]+)\s*pt/i);if(t?.[1]&&n?.[1])return{width:Math.round(parseFloat(t[1])*(96/72)),height:Math.round(parseFloat(n[1])*(96/72))};let i=r.match(/(?:^|[{;\s])width\s*:\s*([\d.]+)\s*px/i),a=r.match(/(?:^|[{;\s])height\s*:\s*([\d.]+)\s*px/i);return i?.[1]&&a?.[1]?{width:Math.round(parseFloat(i[1])),height:Math.round(parseFloat(a[1]))}:{...ys}}function Ah(e){let r=Number(e?.dataset?.designW),t=Number(e?.dataset?.designH);return Number.isFinite(r)&&r>=320&&Number.isFinite(t)&&t>=180?{width:r,height:t}:null}function gh(e){let r=e?.body,t=e?.documentElement,n=e?.defaultView;if(!r||!t||!n)return{...ys};let i=n.getComputedStyle(r),a=ps(i.width,0),o=ps(i.height,0)||ps(i.minHeight,0);if(a>=320&&o>=180)return{width:a,height:o};let l=Math.max(r.scrollWidth||0,r.offsetWidth||0,t.clientWidth||0,1280),c=Math.max(r.scrollHeight||0,r.offsetHeight||0,t.clientHeight||0,720);return l=Math.min(Math.max(l,320),3840),c=Math.min(Math.max(c,180),3840),{width:l,height:c}}function mh(e,r){let t=Ah(r);return t||(e?.body?gh(e):{...ys})}function bs(e){if(!e)return{width:0,height:0};let r=e.getBoundingClientRect();return{width:Math.max(e.clientWidth||0,e.offsetWidth||0,r.width||0),height:Math.max(e.clientHeight||0,e.offsetHeight||0,r.height||0)}}function Ic(e,r){let t=ph(r);return e.dataset.designW=String(t.width),e.dataset.designH=String(t.height),t}var Sc="data-ppt-live-editing-style",Zn="data-ppt-live-editable";function vh(e,r){!e||e._pptLiveOriginalInline||!r?.documentElement||!r.body||(e._pptLiveOriginalInline={root:r.documentElement.getAttribute("style"),body:r.body.getAttribute("style")})}function yh(e,r,t){if(!e?.documentElement||!e.body)return;let n=e.documentElement,i=e.body;n.style.margin="0",n.style.padding="0",n.style.width=`${r}px`,n.style.height=`${t}px`,n.style.overflow="hidden",i.style.margin="0",i.style.boxSizing="border-box",i.style.width=`${r}px`,i.style.height=`${t}px`,i.style.minHeight="",i.style.maxWidth="",i.style.overflow="hidden",i.style.transform="none"}function or(e){let r=e?.classList?.contains(ar)?e:e?.closest?.(`.${ar}`);if(!r)return!1;let t=r.querySelector(`.${Lc}`),n=t?.querySelector("iframe, [data-slide-stage]");if(!t||!n)return!1;let{width:i,height:a}=bs(r);if(!i||!a)return!1;let o=n.tagName==="IFRAME",l=null;if(o)try{l=n.contentDocument}catch{l=null}let{width:c,height:s}=mh(l,n),u=Math.min(i/c,a/s),d=c*u,A=s*u;return l&&(vh(n,l),yh(l,c,s)),t.style.width=`${d}px`,t.style.height=`${A}px`,t.style.overflow="hidden",t.style.position="relative",t.style.flexShrink="0",n.style.display="block",n.style.width=`${c}px`,n.style.height=`${s}px`,n.style.border="0",n.style.margin="0",n.style.padding="0",n.style.maxWidth="none",n.style.maxHeight="none",n.style.transformOrigin="top left",n.style.transform=`scale(${u})`,!0}var kc="ppt-slide-shadow-root",gs="ppt-slide-shadow-body";function bh(e){return e.querySelectorAll('script, iframe, object, embed, meta[http-equiv="refresh" i]').forEach(r=>r.remove()),e.querySelectorAll("*").forEach(r=>{for(let t of[...r.attributes]){let n=t.name.toLowerCase();(n.startsWith("on")||(n==="href"||n==="src"||n==="xlink:href")&&/^\s*javascript:/i.test(t.value))&&r.removeAttribute(t.name)}}),e}function wh(e,r){let t=document.createElement("div");t.className=r,t.dataset.slideStage="true",Ic(t,e);let n=Number(t.dataset.designW),i=Number(t.dataset.designH),a=bh(new DOMParser().parseFromString(Nr(e),"text/html")),o=t.attachShadow({mode:"open"}),l=document.createElement("div");l.className=kc,l.style.cssText=["all:initial","display:block","position:relative",`width:${n}px`,`height:${i}px`,"margin:0","padding:0","overflow:hidden",'font-family:system-ui, -apple-system, "PingFang SC", "Source Han Sans SC", sans-serif',"font-size:16px","line-height:normal","color:#000","background:#fff"].join(";"),a.querySelectorAll("style").forEach(s=>{let u=document.createElement("style");u.textContent=vs(s.textContent||"",`.${kc}`,`.${gs}`),o.appendChild(u)});let c=document.createElement("div");if(c.className=gs,a.body){for(let s of a.body.attributes)s.name==="class"?c.classList.add(...s.value.split(/\s+/).filter(Boolean)):s.name==="style"?c.style.cssText+=`;${s.value}`:s.name.toLowerCase().startsWith("on")||c.setAttribute(s.name,s.value);c.innerHTML=a.body.innerHTML}return c.style.boxSizing="border-box",/\bwidth\s*:/i.test(c.style.cssText)||(c.style.width=`${n}px`),/\bheight\s*:/i.test(c.style.cssText)||(c.style.height=`${i}px`),c.style.overflow="hidden",c.style.margin="0",l.appendChild(c),o.appendChild(l),t._pptLiveSourceHtml=String(e||""),t}function ws({hostClass:e="",frameClass:r,html:t,onReady:n,interactive:i=!1}){let a=document.createElement("div");a.className=[ar,e].filter(Boolean).join(" ");let o=document.createElement("div");if(o.className=Lc,i){let c=wh(t,r);return o.appendChild(c),a.appendChild(o),requestAnimationFrame(()=>{or(a),n?.(c,a)}),{host:a,scaler:o,frame:c}}let l=document.createElement("iframe");return l.className=r,l.setAttribute("loading","lazy"),Ic(l,t),Nc(l,t,()=>{or(a),n?.(l,a)}),o.appendChild(l),a.appendChild(o),{host:a,scaler:o,frame:l}}function zc(e){let{host:r}=ws({hostClass:"export-preview__html-stage",frameClass:"export-preview__html-frame",html:e,onReady:()=>{r.closest(".export-preview__viewport")&&or(r)}});return r}function Mc(e){if(!e)return;let r=e.querySelector(".export-preview__viewport")||e,t=r.querySelector(".export-preview__scale");if(!t)return;let n=t.querySelector(`.${ar}`);if(n){t.style.width="100%",t.style.height="100%",or(n);return}let i=t.querySelector(".export-preview__element-stage");if(!i)return;let{width:a,height:o}=bs(r);if(!a||!o)return;let l=960,c=540,s=Math.min(a/l,o/c);i.style.width=`${l}px`,i.style.height=`${c}px`,i.style.transform=`scale(${s})`,i.style.transformOrigin="top left",t.style.width=`${Math.floor(l*s)}px`,t.style.height=`${Math.floor(c*s)}px`}function xh(e){if(!e)return;let r=e.closest(`.${ar}`);r&&or(r)}function Sh(e){if(!e||new Set(["turn","round","round-done","tokens","text","thinking"]).has(e.kind||""))return"";let t=String(e.detail||"").trim();return!t||/^[0-9a-f-]{8,}/i.test(t)?"":t}function kh(e){if(!e)return;(typeof requestAnimationFrame=="function"?requestAnimationFrame:t=>setTimeout(t,0))(()=>{e.scrollTop=e.scrollHeight})}function Fr(e){let r=Bt("generationSteps"),t=e.generation?.steps||[],n=Array.isArray(e.generation?.events)?e.generation.events:[],i=Array.isArray(e.generation?.agentStream)?e.generation.agentStream:[],a=!!(e.generation?.active||t.some(c=>c.status==="running")),o=t.some(c=>c.status==="error");if(document.querySelector(".ppt-live")?.classList.toggle("is-generating",a),document.querySelector(".ppt-live")?.classList.toggle("has-generation-error",o),!r)return;let l=Ch(n,i);if(r.innerHTML="",l.length){for(let c of l){let s=c.source==="event"?Ph(c):Fh(c);s&&r.append(s)}if(a&&!o){let c=Th(e,l);c&&r.append(c)}}else{let c=document.createElement("li");c.className="generation-event is-empty",c.innerHTML=` +\u589E\u91CF\u751F\u6210\uFF1A\u8865\u5145\u65B0\u4FE1\u606F\uFF0C\u4F8B\u5982\u201C\u8865\u5145\u4E00\u6BB5\u7ADE\u54C1\u5206\u6790\uFF0C\u52A0\u5230\u7B2C 4 \u9875\u4E4B\u540E\u201D\u3002`,sendPrompt:"\u53D1\u9001",promptRequired:"\u8BF7\u8F93\u5165\u4F60\u5E0C\u671B PPT Live \u505A\u4EC0\u4E48\u3002",topicLabel:"\u76EE\u6807",topicPlaceholder:"\u76F4\u63A5\u63CF\u8FF0\u4F60\u60F3\u8981\u7684\u6F14\u793A\u7A3F\uFF1B\u4EC5\u5728\u9700\u8981\u65F6\u8BF4\u660E\u9875\u6570\u6216\u53C2\u8003 URL\u3002",audienceLabel:"\u53D7\u4F17",audiencePlaceholder:"\u9AD8\u7BA1\u3001\u5BA2\u6237\u3001\u5B66\u751F\u3001\u56E2\u961F\u6210\u5458...",slidesLabel:"\u9875\u6570",deckTypeLabel:"\u7C7B\u578B",deckTypeStrategy:"\u6218\u7565\u65B9\u6848",deckTypeSales:"\u9500\u552E\u63D0\u6848",deckTypeReport:"\u4E1A\u52A1\u6C47\u62A5",deckTypeTeaching:"\u6559\u5B66\u8BFE\u4EF6",deckTypeFundraising:"\u878D\u8D44\u8DEF\u6F14",toneLabel:"\u8BED\u6C14",toneExecutive:"\u9AD8\u7BA1\u98CE",toneConcise:"\u7CBE\u7B80",tonePersuasive:"\u6709\u8BF4\u670D\u529B",toneEducational:"\u6559\u5B66\u578B",materialLabel:"\u7D20\u6750",materialPlaceholder:"\u7C98\u8D34\u7B14\u8BB0\u3001\u6587\u7AE0\u7247\u6BB5\u3001\u6570\u636E\u70B9\u3001\u4F1A\u8BAE\u8BB0\u5F55\u6216\u7C97\u7565\u9875\u9762\u8981\u6C42\u3002",advancedBrief:"\u53EF\u9009\u4E0A\u4E0B\u6587",processTitle:"\u751F\u6210\u8FC7\u7A0B",processSubcopy:"\u67E5\u770B\u5F53\u524D\u6F14\u793A\u7A3F\u7684\u751F\u6210\u8FDB\u5EA6\u3002",historyTitle:"\u5386\u53F2\u8BB0\u5F55",historySubcopy:"\u6062\u590D\u4E4B\u524D\u7684 PPT \u4F1A\u8BDD\uFF0C\u5E76\u7EE7\u7EED\u4FEE\u6539\u3002",historyEmpty:"\u751F\u6210\u548C\u4FEE\u6539\u8FC7\u7684 PPT \u4F1A\u663E\u793A\u5728\u8FD9\u91CC\u3002",historyMeta:"{{count}} \u9875 \xB7 {{time}}",historyRestored:"\u5DF2\u6062\u590D PPT \u4F1A\u8BDD\u3002",stopGeneration:"\u505C\u6B62",generationStopped:"\u5DF2\u505C\u6B62\u751F\u6210\uFF0C\u4FDD\u7559\u5F53\u524D\u89C6\u56FE\u3002",generationTimedOut:"\u751F\u6210\u8017\u65F6\u8FC7\u957F\uFF0C\u672C\u6B21\u8FD0\u884C\u5DF2\u505C\u6B62\u3002",generationDraftReady:"\u6B63\u5728\u6574\u7406\u6700\u7EC8\u9875\u9762\u2026",generationAgentWorking:"\u6B63\u5728\u751F\u6210\u4F60\u7684\u6F14\u793A\u7A3F\u2026",backendGenerationFailed:"\u751F\u6210\u672A\u5B8C\u6210\uFF0C\u8BF7\u91CD\u8BD5\u6216\u505C\u6B62\u540E\u91CD\u65B0\u5F00\u59CB\u3002",backendGenerationFailedWithReason:"\u751F\u6210\u672A\u5B8C\u6210\uFF1A{{reason}}",generationRoundBudgetFailed:"\u751F\u6210\u6B65\u9AA4\u8FC7\u591A\uFF0C\u6F14\u793A\u7A3F\u5C1A\u672A\u5B8C\u6210\u3002",generationRoundBudgetHint:"\u53EF\u5C1D\u8BD5\u7F29\u77ED\u63CF\u8FF0\u3001\u51CF\u5C11\u9875\u6570\u6216\u53BB\u6389\u591A\u4F59\u53C2\u8003\u94FE\u63A5\uFF0C\u7136\u540E\u91CD\u65B0\u53D1\u9001\u3002",generationRetrying:"\u751F\u6210\u51FA\u73B0\u9519\u8BEF\uFF0C\u6B63\u5728\u81EA\u52A8\u91CD\u8BD5\uFF08{{attempt}}/{{max}}\uFF09\u2026",generationRetryAttempt:"\u7B2C {{attempt}}/{{max}} \u6B21\u5C1D\u8BD5\u3002",generationRecoveryContinuing:"{{stage}}\u5C1A\u672A\u5B8C\u6210\uFF0C\u6B63\u5728\u7EE7\u7EED\uFF08{{attempt}}/{{max}}\uFF09\u2026",generationRecoveryExhausted:"{{stage}}\u5728\u91CD\u8BD5 {{retries}} \u6B21\u540E\u4ECD\u672A\u5B8C\u6210\u3002",generationRecoveryFailureDetail:"\u539F\u56E0\uFF1A{{reason}}",generationStagePlanning:"\u89C4\u5212",generationStageSlide:"\u7B2C {{slide}} \u9875",generationStageAudit:"\u6700\u7EC8\u68C0\u67E5",generationStageBriefs:"\u7B2C {{start}}-{{end}} \u9875",agentOnlyRetryHint:"\u8BF7\u68C0\u67E5\u7F51\u7EDC\u8FDE\u63A5\uFF0C\u7A0D\u540E\u518D\u8BD5\u3002",generationPlanPhase:"\u6B63\u5728\u89C4\u5212\u6F14\u793A\u5185\u5BB9\u2026",generationPlanningSlides:"\u6B63\u5728\u89C4\u5212\u5404\u9875\u5185\u5BB9\u2026",generationPlanProgress:"\u5DF2\u89C4\u5212 {{count}} \u9875\u5185\u5BB9\u2026",generationPlanReady:"\u5DF2\u89C4\u5212 {{count}} \u9875\u5185\u5BB9",generationOutlineReady:"\u5927\u7EB2\u5DF2\u5B8C\u6210\uFF1A\u5171 {{count}} \u9875\uFF0C\u6B63\u5728\u64B0\u5199\u5404\u9875\u8981\u70B9\u2026",generationBriefsBatchReady:"\u7B2C {{start}}-{{end}} \u9875\u8981\u70B9\u5DF2\u5B8C\u6210\uFF08\u7D2F\u8BA1 {{total}} \u9875\uFF09\u3002",generationBriefsRetry:"\u7B2C {{start}}-{{end}} \u9875\u8981\u70B9\u9047\u5230\u95EE\u9898\uFF0C\u6B63\u5728\u91CD\u8BD5\uFF08{{attempt}}/{{max}}\uFF09\u2026",generationPlanRetry:"\u89C4\u5212\u9047\u5230\u95EE\u9898\uFF0C\u6B63\u5728\u91CD\u8BD5\uFF08{{attempt}}/{{max}}\uFF09\u2026",generationAuditRetry:"\u68C0\u67E5\u5C1A\u672A\u5B8C\u6210\uFF0C\u6B63\u5728\u91CD\u8BD5\uFF08{{attempt}}/{{max}}\uFF09\u2026",generationSlidesPhase:"\u5F00\u59CB\u751F\u6210 {{count}} \u9875 PPT",generationAuditPhase:"\u6B63\u5728\u68C0\u67E5\u6574\u5957\u6F14\u793A\u7A3F\u2026",generationRenderingSlide:"\u6B63\u5728\u751F\u6210\u7B2C {{slide}}/{{total}} \u9875\u2026",generationSlideReady:"\u7B2C {{slide}}/{{total}} \u9875\u5DF2\u751F\u6210",generationSlideRetry:"\u7B2C {{slide}} \u9875\u751F\u6210\u9047\u5230\u95EE\u9898\uFF0C\u6B63\u5728\u91CD\u8BD5\uFF08{{attempt}}/{{max}}\uFF09\u2026",generationSlideRepair:"\u7B2C {{slide}} \u9875\u9700\u8981\u8C03\u6574\uFF0C\u6B63\u5728\u91CD\u65B0\u751F\u6210\uFF08{{attempt}}/{{max}}\uFF09\u2026",generationResumeFrom:"\u4ECE\u7B2C {{slide}} \u9875\u7EE7\u7EED\u751F\u6210\uFF0C\u5DF2\u5B8C\u6210\u7684\u9875\u9762\u4FDD\u7559\u3002",generationPartialDeck:"\u7B2C {{missing}} \u9875\u672A\u5B8C\u6210\u3002\u5DF2\u5B8C\u6210\u7684\u9875\u9762\u5DF2\u4FDD\u7559\uFF0C\u53EF\u7EE7\u7EED\u53D1\u9001\u6307\u4EE4\u8865\u5168\u7F3A\u5931\u9875\u3002",agentWorkingTitle:"\u6B63\u5728\u751F\u6210\u6F14\u793A\u7A3F",agentWorkingKicker:"\u751F\u6210\u4E2D",agentWorkingClaim:"\u5B8C\u6210\u540E\uFF0C\u6700\u7EC8\u9875\u9762\u4F1A\u51FA\u73B0\u5728\u4E2D\u95F4\u753B\u5E03\u3002",agentWorkingProof:"\u8FDB\u5EA6",agentWorkingDetail:"\u8FD9\u662F\u751F\u6210\u8FC7\u7A0B\u4E2D\u7684\u9884\u89C8\u533A\u57DF\u3002",agentWorkingSourceNote:"\u5185\u5BB9\u5C06\u6839\u636E\u4F60\u7684 Prompt \u81EA\u52A8\u751F\u6210\u3002",agentWorkingMetric:"Live",agentWorkingMetricLabel:"\u7B49\u5F85\u9875\u9762\u751F\u6210",processEventStarted:"\u5DF2\u5F00\u59CB\u751F\u6210\u3002",processEventWaiting:"\u51C6\u5907\u5F00\u59CB\u2026",processEventRound:"\u6B63\u5728\u7EC4\u7EC7\u5185\u5BB9\u4E0E\u7ED3\u6784\u3002",processEventTool:"\u6B63\u5728\u8BFB\u53D6\u7D20\u6750\u5E76\u5E94\u7528\u8BBE\u8BA1\u89C4\u5219\u3002",processEventText:"\u6B63\u5728\u64B0\u5199\u9875\u9762\u5E03\u5C40\u3002",processEventDone:"\u6F14\u793A\u7A3F\u5DF2\u751F\u6210\u3002",generationParsingDeck:"\u6B63\u5728\u6574\u7406\u9875\u9762\u2026",processWaitingForEventsTitle:"\u7B49\u5F85\u5F00\u59CB",processWaitingForEvents:"\u53D1\u9001 Prompt \u540E\uFF0C\u8FD9\u91CC\u4F1A\u663E\u793A\u751F\u6210\u8FDB\u5EA6\u3002",agentStreamTitle:"Agent \u5B9E\u65F6\u6D41",agentStreamAssistant:"\u52A9\u624B",processEventUnknown:"\u8FDB\u5EA6\u66F4\u65B0",eventTurnStarted:"\u5F00\u59CB\u751F\u6210",eventTurnFailed:"\u751F\u6210\u5931\u8D25",eventTurnCancelled:"\u751F\u6210\u5DF2\u53D6\u6D88",eventRoundCompleted:"\u672C\u9636\u6BB5\u5DF2\u5B8C\u6210",eventThinkingChunk:"\u601D\u8003\u6D41",eventTokenUsage:"Token \u7528\u91CF\u66F4\u65B0",eventUnknownTool:"\u5DE5\u5177",eventToolDetected:"\u68C0\u6D4B\u5230\u5DE5\u5177",eventToolParams:"\u6B63\u5728\u8BFB\u53D6\u5DE5\u5177\u53C2\u6570",eventToolQueued:"\u5DE5\u5177\u5DF2\u6392\u961F",eventToolWaiting:"\u7B49\u5F85\u5DE5\u5177\u6267\u884C",eventToolStarted:"\u5F00\u59CB\u8C03\u7528\u5DE5\u5177",eventToolProgress:"\u5DE5\u5177\u8FDB\u5EA6",eventToolStreaming:"\u5DE5\u5177\u6D41\u5F0F\u8F93\u51FA",eventToolStreamChunk:"\u5DE5\u5177\u8F93\u51FA\u7247\u6BB5",eventToolConfirmation:"\u5DE5\u5177\u9700\u8981\u786E\u8BA4",eventToolConfirmed:"\u5DE5\u5177\u5DF2\u786E\u8BA4",eventToolRejected:"\u5DE5\u5177\u5DF2\u62D2\u7EDD",eventToolCompleted:"\u5DE5\u5177\u6267\u884C\u5B8C\u6210",eventToolFailed:"\u5DE5\u5177\u6267\u884C\u5931\u8D25",eventToolCancelled:"\u5DE5\u5177\u5DF2\u53D6\u6D88",eventToolQueuePosition:"\u961F\u5217\u4F4D\u7F6E",eventToolSkillName:"PPT \u8BBE\u8BA1\u89C4\u8303",eventToolWebSearchName:"\u7F51\u9875\u641C\u7D22",eventToolWebFetchName:"\u7F51\u9875\u8BFB\u53D6",eventToolReadName:"\u8BFB\u53D6",eventToolWriteName:"\u5199\u5165",eventToolEditName:"\u7F16\u8F91",eventToolTaskName:"\u5B50\u4EFB\u52A1",eventToolSkillReady:"\u8BBE\u8BA1\u89C4\u8303\u5DF2\u5C31\u7EEA",eventToolWebSearchDone:"\u5DF2\u641C\u7D22\u76F8\u5173\u8D44\u6599",eventToolWebFetchDone:"\u5DF2\u8BFB\u53D6\u53C2\u8003\u7F51\u9875",eventToolTaskStarted:"\u6B63\u5728\u6267\u884C\u8C03\u7814\u5B50\u4EFB\u52A1\u2026",eventToolTaskDone:"\u8C03\u7814\u5B50\u4EFB\u52A1\u5DF2\u5B8C\u6210",eventSubagentStarted:"\u5DF2\u542F\u52A8\u540E\u53F0\u8C03\u7814\u5B50\u4EFB\u52A1",eventSubagentWorking:"\u540E\u53F0\u8C03\u7814\u8FDB\u884C\u4E2D\u2026",eventSubagentDone:"\u540E\u53F0\u8C03\u7814\u5DF2\u5B8C\u6210",eventSubagentFailed:"\u540E\u53F0\u8C03\u7814\u672A\u5B8C\u6210",eventSubagentWebSearchDone:"\u5B50\u4EFB\u52A1\u5DF2\u641C\u7D22\u76F8\u5173\u8D44\u6599",eventSubagentWebFetchDone:"\u5B50\u4EFB\u52A1\u5DF2\u8BFB\u53D6\u53C2\u8003\u7F51\u9875",eventToolFailedUser:"\u67D0\u4E00\u6B65\u672A\u5B8C\u6210",generationProgressPulse:"\u4ECD\u5728\u751F\u6210\u4E2D\u2026",generationPageProgress:"\u6B63\u5728\u751F\u6210\u7B2C {{current}} \u9875",generationSlideProgress:"\u5DF2\u751F\u6210 {{count}} \u9875",generationStepBrief:"\u53D1\u5E03\u5047\u8BBE",generationStepBriefDetail:"\u9605\u8BFB Prompt \u5E76\u89C4\u5212\u6F14\u793A\u7A3F\u3002",generationStepSpine:"\u751F\u6210\u5927\u7EB2",generationStepSpineDetail:"\u628A\u9700\u6C42\u8F6C\u6210\u65AD\u8A00\u5F0F\u9875\u9762\u6807\u9898\u3002",generationStepProof:"\u9875\u9762\u6587\u6848",generationStepProofDetail:"\u7528\u7D20\u6750\u4E8B\u5B9E\u6216\u660E\u786E\u5047\u8BBE\u652F\u6491\u6BCF\u9875\u3002",generationStepDesign:"\u8BBE\u8BA1\u6392\u7248",generationStepDesignDetail:"\u5E94\u7528\u4E3B\u9898\u3001\u7248\u5F0F\u4E0E\u89C6\u89C9\u5C42\u6B21\u3002",generationStepCompile:"\u52A0\u8F7D\u9875\u9762",generationStepCompileDetail:"\u5C06\u751F\u6210\u7ED3\u679C\u52A0\u8F7D\u4E3A\u53EF\u7F16\u8F91\u9875\u9762\u3002",generationReadingBrief:"\u6B63\u5728\u7406\u89E3\u4F60\u7684 Prompt\u2026",generationWritingClaims:"\u6B63\u5728\u751F\u6210\u5927\u7EB2\u2026",generationChoosingProof:"\u6B63\u5728\u64B0\u5199\u9875\u9762\u6587\u6848\u2026",generationDesigningLayouts:"\u6B63\u5728\u8BBE\u8BA1\u9875\u9762\u7248\u5F0F\u2026",generationCompiled:"\u6F14\u793A\u7A3F\u5DF2\u5C31\u7EEA\u3002",generationSpineReady:"\u8BBA\u70B9\u4E3B\u7EBF\u5DF2\u751F\u6210\u3002",generationLocalSpine:"\u751F\u6210\u670D\u52A1\u6682\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",generationLocalCompiler:"\u751F\u6210\u670D\u52A1\u6682\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",agentPlanning:"\u6B63\u5728\u89C4\u5212\u6F14\u793A\u7A3F\u2026",agentPlanningFallback:"\u89C4\u5212\u6682\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",outlineTitle:"\u5927\u7EB2",outlineSubcopy:"\u5148\u786E\u8BA4\u6BCF\u4E00\u9875\u7684\u6545\u4E8B\u4E3B\u7EBF\uFF0C\u518D\u751F\u6210\u5B8C\u6574\u9875\u9762\u3002",addOutlineItem:"\u6DFB\u52A0\u5927\u7EB2\u9879",syncOutline:"\u7528\u5927\u7EB2\u540C\u6B65\u9875\u9762",modeEdit:"\u7F16\u8F91",modeSort:"\u6392\u5E8F",modePresent:"\u6F14\u793A",inspectorTitle:"\u68C0\u67E5\u5668",addText:"\u6587\u5B57",addList:"\u5217\u8868",addShape:"\u5F62\u72B6",addMetric:"\u6307\u6807",addChart:"\u56FE\u8868",addMedia:"\u5A92\u4F53",addSlide:"\u6DFB\u52A0\u9875\u9762",deleteSlide:"\u5220\u9664\u9875\u9762",deleteElement:"\u5220\u9664\u5143\u7D20",aiTitle:"AI \u8BBE\u8BA1",aiSubcopy:"\u7528 Prompt \u4FEE\u6539\u5F53\u524D\u9875\u3001\u6574\u5957 PPT\uFF0C\u6216\u63D2\u5165\u65B0\u9875\u3002",instructionPlaceholder:"\u4F8B\u5982\uFF1A\u8BA9\u672C\u9875\u66F4\u89C6\u89C9\u5316\uFF1B\u589E\u52A0\u4E00\u9875\u7ADE\u54C1\u5BF9\u6BD4\uFF1B\u6574\u5957\u6539\u6210\u878D\u8D44\u8DEF\u6F14\u98CE\u683C\uFF1B\u5220\u9664\u91CD\u590D\u5185\u5BB9\u3002",reviseSlide:"\u4FEE\u6539\u672C\u9875",reviseDeck:"\u4FEE\u6539\u6574\u5957",insertSlide:"\u63D2\u5165\u65B0\u9875",aiRewrite:"\u6539\u5199",aiCondense:"\u538B\u7F29",aiProfessional:"\u4E13\u4E1A\u5316",aiMoreVisual:"\u66F4\u89C6\u89C9\u5316",aiNotes:"\u6F14\u8BB2\u5907\u6CE8",aiRedesign:"\u91CD\u6392\u672C\u9875",aiRestyleDeck:"\u91CD\u5851\u6574\u5957\u98CE\u683C",styleTitle:"\u98CE\u683C",themeLabel:"\u4E3B\u9898",themeExecutive:"\u9AD8\u7BA1",themeMarket:"\u5E02\u573A",themeMinimal:"\u6781\u7B80",themeStudio:"\u521B\u610F",densityLabel:"\u5BC6\u5EA6",densityCompact:"\u7D27\u51D1",densityStandard:"\u6807\u51C6",densitySpacious:"\u8212\u5C55",brandPrimaryLabel:"\u4E3B\u8272",brandAccentLabel:"\u5F3A\u8C03\u8272",imagePolicyLabel:"\u56FE\u7247\u7B56\u7565",imagePolicyPlaceholders:"\u53EF\u7F16\u8F91\u5360\u4F4D",imagePolicyNone:"\u4E0D\u4F7F\u7528\u56FE\u7247",ready:"\u51C6\u5907\u5C31\u7EEA\u3002",statusPillReady:"\u5C31\u7EEA",statusPillBusy:"AI",exportReady:"\u751F\u6210\u540E\u53EF\u5BFC\u51FA HTML \u548C\u53EF\u7F16\u8F91 PPTX\u3002",working:"AI \u6B63\u5728\u5904\u7406...",outlineReady:"\u5927\u7EB2\u5DF2\u751F\u6210\u3002\u53EF\u5148\u8C03\u6574\u5927\u7EB2\uFF0C\u518D\u751F\u6210\u8BBE\u8BA1\u7A3F\u3002",deckReady:"\u8BBE\u8BA1\u7A3F\u5DF2\u751F\u6210\u3002",aiUnavailable:"\u751F\u6210\u670D\u52A1\u6682\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002",sourceGroundingRequired:"\u6765\u6E90\u65E0\u6CD5\u9A8C\u8BC1\u3002\u5DF2\u751F\u6210\u201C\u5148\u9A8C\u8BC1\u201D\u7684\u6F14\u793A\u7A3F\uFF0C\u800C\u4E0D\u662F\u7F16\u9020\u4E8B\u5B9E\u3002",saved:"\u5DF2\u4FDD\u5B58\u3002",slideUpdated:"\u9875\u9762\u5DF2\u66F4\u65B0\u3002",deckUpdated:"\u6574\u5957\u5DF2\u66F4\u65B0\u3002",slideInserted:"\u65B0\u9875\u9762\u5DF2\u63D2\u5165\u3002",deckRestyled:"\u6574\u5957\u98CE\u683C\u5DF2\u66F4\u65B0\u3002",cannotDelete:"\u81F3\u5C11\u4FDD\u7559\u4E00\u9875\u3002",noSelection:"\u9009\u62E9\u4E00\u4E2A\u9875\u9762\u5143\u7D20\u540E\u53EF\u7F16\u8F91\u5185\u5BB9\u548C\u5E03\u5C40\u3002",elementTypeLabel:"\u7C7B\u578B",elementTextLabel:"\u6587\u5B57",elementItemsLabel:"\u6761\u76EE",elementDataLabel:"\u56FE\u8868\u6570\u636E",geometryLabel:"\u4F4D\u7F6E\u5C3A\u5BF8",styleLabel:"\u6837\u5F0F",speakerNotesLabel:"\u6F14\u8BB2\u5907\u6CE8",kickerLabel:"\u7709\u6807",claimLabel:"\u8BBA\u70B9",proofObjectLabel:"\u8BC1\u636E\u5BF9\u8C61",supportNoteLabel:"\u652F\u6491\u8BF4\u660E",sourceNoteLabel:"\u6765\u6E90\u8BF4\u660E",newSlideTitle:"\u65B0\u9875\u9762",defaultDeckTitle:"AI \u4EA7\u54C1\u6218\u7565",slidesMeta:"{{count}} \u9875",exportHtmlDone:"HTML \u6F14\u793A\u7A3F\u5DF2\u4E0B\u8F7D\u3002",exportHtmlWorking:"\u6B63\u5728\u5BFC\u51FA HTML...",exportHtmlFailed:"HTML \u5BFC\u51FA\u5931\u8D25\uFF1A",exportSavedTo:"\u5DF2\u5BFC\u51FA\u5230\u4E0B\u8F7D\u6587\u4EF6\u5939\uFF1A{{path}}",exportPptxWorking:"\u6B63\u5728\u6E32\u67D3\u53EF\u7F16\u8F91 PPTX...",exportPptxDone:"\u53EF\u7F16\u8F91 PPTX \u5DF2\u4E0B\u8F7D\u3002",exportPptxFailed:"PPTX \u5BFC\u51FA\u5931\u8D25\uFF1A",exportPdfWorking:"\u6B63\u5728\u6E32\u67D3 PDF...",exportPdfDone:"PDF \u5DF2\u4E0B\u8F7D\u3002",exportPdfFailed:"PDF \u5BFC\u51FA\u5931\u8D25\uFF1A",exportPngWorking:"\u6B63\u5728\u6E32\u67D3 PNG \u9875\u9762...",exportPngDone:"PNG \u9875\u9762\u538B\u7F29\u5305\u5DF2\u4E0B\u8F7D\u3002",exportPngFailed:"PNG \u5BFC\u51FA\u5931\u8D25\uFF1A",exportDeckEmpty:"\u8BF7\u5148\u751F\u6210\u5E7B\u706F\u7247\u540E\u518D\u5BFC\u51FA\u3002",slidesEmptyHint:"\u751F\u6210\u540E\u9875\u9762\u7F29\u7565\u56FE\u4F1A\u663E\u793A\u5728\u8FD9\u91CC\u3002",welcomeTitle:"\u63CF\u8FF0\u4F60\u7684 PPT\uFF0C\u4E00\u952E\u5F00\u59CB",welcomeSubcopy:"\u4E00\u6761 Prompt \u5373\u53EF\u751F\u6210\u5927\u7EB2\u3001\u8BBE\u8BA1\u9875\u9762\u548C\u53EF\u7F16\u8F91\u6F14\u793A\u7A3F\uFF0C\u4E4B\u540E\u53EF\u9010\u9875\u7EE7\u7EED\u4FEE\u6539\u3002",welcomeTip1:"10 \u9875\u6218\u7565\u65B9\u6848",welcomeTip2:"\u6539\u6210\u6295\u8D44\u4EBA\u7248\u672C",welcomeTip3:"\u672C\u9875\u66F4\u89C6\u89C9\u5316",deleteSlideDefaultPrompt:"\u5220\u9664\u5F53\u524D\u9875\u9762\uFF0C\u5E76\u4FDD\u6301\u6574\u5957 PPT \u7ED3\u6784\u8FDE\u8D2F\u3002",prev:"\u4E0A\u4E00\u9875",next:"\u4E0B\u4E00\u9875",assistantHello:"\u544A\u8BC9\u6211\u4F60\u8981\u505A\u4EC0\u4E48 PPT\u3002\u6211\u4F1A\u5148\u751F\u6210\u5927\u7EB2\uFF0C\u518D\u53D8\u6210\u53EF\u7F16\u8F91\u9875\u9762\u3002",aiChatApplied:"\u5DF2\u628A\u6307\u4EE4\u5E94\u7528\u5230\u5F53\u524D\u9875\u9762\u3002",localMetricLabel:"\u9700\u8981\u8BB0\u4F4F\u7684\u4FE1\u53F7",mediaPlaceholder:"\u56FE\u7247\u5360\u4F4D",slidesUnit:"\u9875",closeConfirm:"\u786E\u8BA4\u65B9\u5411",closeOwner:"\u660E\u786E\u8D1F\u8D23\u4EBA",closeIteration:"\u542F\u52A8\u4E0B\u4E00\u8F6E\u8FED\u4EE3",pointClaimPrefix:"\u8BBA\u70B9\uFF1A",pointProofPrefix:"\u8BC1\u636E\u5BF9\u8C61\uFF1A",pointAudiencePrefix:"\u53D7\u4F17\u5173\u8054\uFF1A",pointEvidenceRule:"\u8BC1\u636E\u89C4\u5219\uFF1A\u660E\u786E\u6807\u6CE8\u5047\u8BBE",pointDesignRule:"\u8BBE\u8BA1\u89C4\u5219\uFF1A\u4E00\u4E2A\u4E3B\u89C6\u89C9\u52A0\u4E00\u4E2A\u652F\u6491\u680F",pointCloseRule:"\u6536\u675F\uFF1A\u8BF4\u6E05\u4E0B\u4E00\u6B65\u884C\u52A8",claimCover:"{{topic}} \u9700\u8981\u4E00\u6761\u6E05\u6670\u7684\u51B3\u7B56\u4E3B\u7EBF\uFF0C\u800C\u4E0D\u662F\u4FE1\u606F\u5806\u780C\u3002",claimPressure:"{{title}} \u662F\u53D7\u4F17\u5FC5\u987B\u89E3\u51B3\u7684\u5173\u952E\u538B\u529B\u70B9\u3002",claimDecision:"{{title}} \u4E4B\u6240\u4EE5\u91CD\u8981\uFF0C\u662F\u56E0\u4E3A\u5B83\u628A\u8BC1\u636E\u8FDE\u63A5\u5230\u884C\u52A8\u3002",claimProof:"{{title}} \u5FC5\u987B\u7531\u9875\u9762\u91CC\u7684\u4E3B\u8BC1\u636E\u5BF9\u8C61\u6765\u627F\u62C5\u8BBA\u8BC1\u3002",claimAction:"{{title}} \u6700\u540E\u8981\u843D\u5230\u4E00\u4E2A\u660E\u786E\u51B3\u7B56\u3001\u8D1F\u8D23\u4EBA\u6216\u4E0B\u4E00\u6B65\u3002",supportWithSource:"\u7528\u5DF2\u63D0\u4F9B\u7D20\u6750\u652F\u6491\u8FD9\u4E2A\u8BBA\u70B9\uFF0C\u5E76\u8BA9\u201C{{proof}}\u201D\u6210\u4E3A\u4E3B\u8BC1\u636E\u3002",supportWithAssumption:"\u8865\u5145\u4E00\u4E2A\u5177\u4F53\u4F8B\u5B50\u6216\u6307\u6807\uFF0C\u8BA9\u201C{{proof}}\u201D\u652F\u6491\u8BBA\u70B9\uFF0C\u800C\u4E0D\u662F\u586B\u5145\u6587\u5B57\u3002",sourceUserMaterial:"\u6765\u6E90\uFF1A\u7528\u6237\u63D0\u4F9B\u7D20\u6750",sourceDraftAssumption:"\u6765\u6E90\uFF1A\u8349\u7A3F\u5047\u8BBE\uFF1B\u5BF9\u5916\u4F7F\u7528\u524D\u9700\u786E\u8BA4",defaultSpeakerNote:"\u5148\u8BB2\u201C{{title}}\u201D\u7684\u7ED3\u8BBA\uFF0C\u518D\u7528\u4E00\u4E2A\u5177\u4F53\u4F8B\u5B50\u6216\u6570\u636E\u652F\u6491\u3002",proofMarketMap:"\u5E02\u573A\u5730\u56FE",proofOperatingModel:"\u8FD0\u8425\u6A21\u578B",proofRiskBridge:"\u98CE\u9669\u6865",proofDecisionTable:"\u51B3\u7B56\u8868",proofBeforeAfter:"\u524D\u540E\u5BF9\u6BD4\u6D41\u7A0B",proofValueBridge:"\u4EF7\u503C\u6865",proofCustomerProof:"\u5BA2\u6237\u8BC1\u636E",proofImplementationPlan:"\u5B9E\u65BD\u8BA1\u5212",proofMetricBridge:"\u6307\u6807\u6865",proofTrendChart:"\u8D8B\u52BF\u56FE",proofSourceSummary:"\u6765\u6E90\u6458\u8981",proofVerificationPlan:"\u9A8C\u8BC1\u8BA1\u5212",proofCapabilityMatrix:"\u80FD\u529B\u77E9\u9635",proofEvidenceList:"\u8BC1\u636E\u5217\u8868",proofVarianceTable:"\u5DEE\u5F02\u8868",proofRiskRegister:"\u98CE\u9669\u6E05\u5355",proofConceptMap:"\u6982\u5FF5\u56FE",proofWorkedExample:"\u6848\u4F8B\u6F14\u7B97",proofComparison:"\u5BF9\u6BD4",proofPracticePrompt:"\u7EC3\u4E60\u63D0\u793A",proofMarketWedge:"\u5E02\u573A\u5207\u5165\u70B9",proofProductDiagram:"\u4EA7\u54C1\u56FE",proofTractionChart:"\u7275\u5F15\u529B\u56FE\u8868",proofMilestonePlan:"\u91CC\u7A0B\u7891\u8BA1\u5212",proofVisualProof:"\u89C6\u89C9\u8BC1\u636E",sourceFetchedNote:"\u6765\u6E90\uFF1A\u5DF2\u8BFB\u53D6 {{count}} \u4E2A URL",bpContextTitle:"{{topic}} \u9700\u8981\u5148\u5EFA\u7ACB\u5728\u6765\u6E90\u4E8B\u5B9E\u4E4B\u4E0A\uFF0C\u518D\u63D0\u51FA\u5224\u65AD\u3002",bpSourceNeededTitle:"{{topic}} \u9700\u8981\u8865\u5145\u6765\u6E90\u7D20\u6750\u540E\u624D\u80FD\u63D0\u51FA\u4E8B\u5B9E\u6027\u7ED3\u8BBA\u3002",bpProblemTitle:"\u5F53\u524D\u5173\u952E\u95EE\u9898\u662F\uFF1A\u53D7\u4F17\u53EF\u4EE5\u5B89\u5168\u76F8\u4FE1\u4EC0\u4E48\u3002",bpSolutionTitle:"{{topic}} \u5E94\u901A\u8FC7\u80FD\u529B\u3001\u6D41\u7A0B\u548C\u8BC1\u636E\u6765\u89E3\u91CA\u3002",bpWorkflowTitle:"\u5DE5\u4F5C\u6D41\u9700\u8981\u5C55\u793A\u4EA7\u54C1\u5982\u4F55\u4E00\u6B65\u6B65\u521B\u9020\u4EF7\u503C\u3002",bpProofTitle:"\u53EF\u4FE1\u5EA6\u5E94\u8BE5\u7531\u6765\u6E90\u8BC1\u636E\u627F\u62C5\uFF0C\u800C\u4E0D\u662F\u7531\u5047\u56FE\u8868\u627F\u62C5\u3002",bpVerificationTitle:"\u9A8C\u8BC1\u7F3A\u53E3\u5FC5\u987B\u663E\u6027\u5C55\u793A\uFF0C\u4E0D\u80FD\u85CF\u5728\u865A\u6784\u56FE\u8868\u540E\u9762\u3002",bpRiskTitle:"\u6700\u5927\u98CE\u9669\u662F\u8D85\u51FA\u5DF2\u6709\u7D20\u6750\u8FC7\u5EA6\u58F0\u79F0\u3002",bpDecisionTitle:"\u4E0B\u4E00\u6B65\u662F\u9A8C\u8BC1\u5173\u952E\u8BBA\u70B9\uFF0C\u5E76\u9009\u62E9\u6700\u5F3A\u53D9\u4E8B\u8DEF\u5F84\u3002",bpSupportSource:"\u57FA\u4E8E\u5DF2\u8BFB\u53D6\u6216\u7C98\u8D34\u7D20\u6750\u751F\u6210\uFF1B\u5BF9\u5916\u4F7F\u7528\u524D\u8BF7\u6838\u5BF9\u539F\u6587\u3002",bpSupportMissing:"\u7D20\u6750\u4E0D\u8DB3\uFF1B\u672C\u9875\u5E94\u4F5C\u4E3A\u9A8C\u8BC1\u63D0\u793A\uFF0C\u800C\u4E0D\u662F\u4E8B\u5B9E\u7ED3\u8BBA\u3002",bpMissingFact1:"\u8BF7\u7C98\u8D34\u6765\u6E90\u7B14\u8BB0\u3001README\u3001\u6307\u6807\u6216\u4EA7\u54C1\u63CF\u8FF0\u6765\u652F\u6491\u672C\u9875\u3002",bpMissingFact2:"\u4E0D\u8981\u4F7F\u7528\u865A\u6784\u6307\u6807\uFF1B\u7528\u5DF2\u9A8C\u8BC1\u8BC1\u636E\u66FF\u6362\u5360\u4F4D\u5185\u5BB9\u3002",bpMissingFact3:"\u7528\u672C\u9875\u51B3\u5B9A\u4E0B\u4E00\u6B65\u9700\u8981\u8865\u5145\u7814\u7A76\u4EC0\u4E48\u3002",qualityOutOfBounds:"\u6709\u5143\u7D20\u8D85\u51FA\u5E7B\u706F\u7247\u5B89\u5168\u533A\u57DF\u3002",qualityTextDense:"\u5F53\u524D\u7248\u5F0F\u4E2D\u7684\u53EF\u89C1\u6587\u5B57\u53EF\u80FD\u8FC7\u5BC6\u3002",qualityChartUngrounded:"\u56FE\u8868\u6570\u636E\u7F3A\u5C11\u6765\u6E90\u6570\u5B57\uFF0C\u5DF2\u79FB\u9664\u6216\u6807\u8BB0\u3002",qualityOverlap:"\u6587\u5B57\u6216\u56FE\u8868\u5143\u7D20\u53EF\u80FD\u53D1\u751F\u91CD\u53E0\u3002",qualityMissingClaim:"\u672C\u9875\u9700\u8981\u4E00\u4E2A\u6E05\u6670\u8BBA\u70B9\u3002",qualityReportTitle:"\u8D28\u91CF\u62A5\u544A",qualityNeedsReview:"\u9700\u8981\u590D\u6838",qualityHasWarnings:"\u8D28\u91CF\u63D0\u9192",exportFormatUnavailable:"\u8BE5\u5BFC\u51FA\u683C\u5F0F\u5C1A\u672A\u652F\u6301\u3002",exportTitle:"\u5BFC\u51FA",exportCancel:"\u53D6\u6D88",exportConfirm:"\u5BFC\u51FA\u6587\u4EF6",exportPreviewPrevAria:"\u4E0A\u4E00\u9875",exportPreviewNextAria:"\u4E0B\u4E00\u9875",exportFormat:"\u683C\u5F0F",exportQuality:"\u8D28\u91CF",exportDpi:"\u56FE\u7247 DPI",exportRange:"\u5E7B\u706F\u7247\u8303\u56F4",exportShare:"\u5206\u4EAB",propertiesStyle:"\u6837\u5F0F",propertiesLayout:"\u5E03\u5C40",propertiesAnimation:"\u52A8\u753B",propertiesThemeColor:"\u4E3B\u9898\u8272",propertiesFont:"\u5B57\u4F53",propertiesColorMode:"\u5E7B\u706F\u7247\u914D\u8272",propertiesStylePreset:"\u98CE\u683C\u9884\u8BBE",colorModeLight:"\u6D45\u8272",colorModeDark:"\u6DF1\u8272",fontSansSerif:"\u975E\u886C\u7EBF",fontSerif:"\u886C\u7EBF",propertiesDensity:"\u5BC6\u5EA6",propertiesSmartAlign:"\u667A\u80FD\u5BF9\u9F50",propertiesPageTransition:"\u9875\u9762\u8FC7\u6E21",propertiesElementAnimation:"\u5143\u7D20\u52A8\u753B",densityLoose:"\u5BBD\u677E"}};function Lr(){let e=window.app?.locale||document.documentElement.lang||"";return e==="zh-CN"||String(e).startsWith("zh")?"zh-CN":"en-US"}function J(e,r={}){let t=$o[Lr()]||$o["en-US"],n=$o["en-US"][e]||e,i=t[e]||n;return Object.entries(r).forEach(([a,o])=>{i=i.replaceAll(`{{${a}}}`,String(o))}),i}var Hf=["clean-business","insight-report"],wa={"clean-business":{styleKey:"clean-business",names:{"en-US":"Clean Business","zh-CN":"\u7B80\u6D01\u5546\u52A1"},descriptions:{"en-US":"Calm editorial product-doc: warm canvas, charcoal type, one restrained accent, typography-led","zh-CN":"\u5E73\u9759\u7F16\u8F91\u611F\u4EA7\u54C1\u6587\u6863\uFF1A\u6696\u767D\u753B\u5E03\u3001\u70AD\u9ED1\u5B57\u9636\u3001\u5355\u4E00\u514B\u5236\u5F3A\u8C03\u8272\uFF0C\u6392\u7248\u5373\u89C6\u89C9"},colorMode:"light",palette:{background:"#FAFAF7",ink:"#111111",muted:"#787774",primary:"#1E293B",accent:"#0f766e",panel:"#F3F2EF"},fontFamily:"sans",density:"spacious",keywords:/business|clean|professional|商务|简洁|专业|企业/},"insight-report":{styleKey:"insight-report",names:{"en-US":"Insight Report","zh-CN":"\u6D1E\u5BDF\u6C47\u62A5"},descriptions:{"en-US":"Analytical memo on a slide: full sentences, explicit frameworks, evidence-dense tables","zh-CN":"\u5206\u6790\u5907\u5FD8\u5F55\u4E0A\u5899\uFF1A\u5B8C\u6574\u8BBA\u8BC1\u3001\u663E\u6027\u6846\u67B6\u3001\u6EE1\u7248\u8BC1\u636E\uFF0C\u50CF\u5C3D\u8C03\u9644\u5F55\u800C\u975E bullet \u6F14\u8BB2"},colorMode:"light",palette:{background:"#ffffff",ink:"#1f2937",muted:"#64748b",primary:"#1e3a8a",accent:"#dc2626",panel:"#f1f5f9"},fontFamily:"sans",density:"compact",keywords:/insight|consult|academic|research|whitepaper|due.*diligence|洞察|咨询|学术|调研|详尽|深度分析|尽调/}},an="clean-business";function es(e){return e&&wa[e]?e:an}function ts(e){return wa[es(e)]}var Hn={background:"#111111",ink:"#F5F5F4",muted:"#A8A29E",primary:"#93C5FD",accent:"#2DD4BF",panel:"#1C1C1C"};function ic(e,r="light"){let t=e?.palette||{};return r!=="dark"?{...t}:e?.paletteDark&&typeof e.paletteDark=="object"?{...e.paletteDark}:{background:Hn.background,ink:Hn.ink,muted:Hn.muted,primary:t.primary||Hn.primary,accent:t.accent||Hn.accent,panel:Hn.panel}}function Kf(e){return e==="zh-CN"?"zh-CN":"en-US"}function ac(e){let r=Kf(e);return Hf.filter(t=>wa[t]).map(t=>{let n=wa[t];return{key:t,displayName:n.names[r]||n.names["en-US"],description:n.descriptions[r]||n.descriptions["en-US"],colorMode:n.colorMode}})}var Si="pptLiveStudioStateV6",as="pptLiveDeckHistoryV1",cc=6,os=["text","list","shape","metric","chart","media"],ns={executive:{name:"Executive",background:"#fbfcff",ink:"#111827",muted:"#5b6575",primary:"#0f766e",accent:"#f97316",panel:"#ffffff"},market:{name:"Market",background:"#fffdf7",ink:"#1f2937",muted:"#6b5f50",primary:"#2563eb",accent:"#d97706",panel:"#ffffff"},minimal:{name:"Minimal",background:"#f8fafc",ink:"#0f172a",muted:"#64748b",primary:"#334155",accent:"#0f766e",panel:"#ffffff"},studio:{name:"Studio",background:"#fcfbff",ink:"#1f1630",muted:"#6c607a",primary:"#7c3aed",accent:"#db2777",panel:"#ffffff"}};function ir(e="id"){return`${e}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function sn(e){return JSON.parse(JSON.stringify(e))}function mt(e,r,t){return Math.max(r,Math.min(t,e))}function Ne(e){return String(e??"").replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}function ss(){return{topic:"",slideTarget:0}}function uc(e="strategy"){let r={strategy:{profile:"strategy-leadership",thesis:"Decision-led transformation narrative",proofObjects:["market map","operating model","risk bridge","decision table"],arc:["thesis","context","friction","strategic bet","operating model","proof","risks","decision"]},sales:{profile:"gtm-growth",thesis:"Buyer pain to differentiated value narrative",proofObjects:["before/after workflow","value bridge","customer proof","implementation plan"],arc:["outcome","market shift","pain","solution","proof","commercial case","rollout","call to action"]},report:{profile:"finance-ir",thesis:"Executive performance narrative with decisions attached",proofObjects:["metric bridge","trend chart","variance table","risk register"],arc:["summary","scorecard","movement","root cause","metric proof","risk","plan","decision"]},teaching:{profile:"education",thesis:"Concept to application learning journey",proofObjects:["concept map","worked example","comparison","practice prompt"],arc:["goal","map","concept","example","mistakes","practice","summary","next step"]},fundraising:{profile:"fundraising",thesis:"Venture-scale opportunity supported by traction evidence",proofObjects:["market wedge","product diagram","traction chart","milestone plan"],arc:["thesis","problem","solution","market","product","traction","model","ask"]}};return r[e]||r.strategy}function En(e="standard"){let r=String(e||"standard");return r==="loose"?"spacious":["compact","standard","spacious"].includes(r)?r:"standard"}var is=["spacious","standard","compact"];function ka(e="standard"){let r=En(e),t=is.indexOf(r);return t>=0?t:1}function Ca(e=1){let r=Math.min(Math.max(Math.round(Number(e)),0),is.length-1);return is[r]||"standard"}function dc(e="standard"){let r=En(e),t={spacious:{bulletLimit:4,cardColumns:3,cardGap:2},standard:{bulletLimit:5,cardColumns:4,cardGap:1.8},compact:{bulletLimit:6,cardColumns:4,cardGap:1.2}};return t[r]||t.standard}function oc(e=0){let r=Number(e);return!Number.isFinite(r)||r<=0?0:mt(r,3,24)}function ls(){return{theme:"executive",density:"standard",fontFamily:"sans",colorMode:"light",stylePreset:"clean-business"}}function fc(){return[J("defaultDeckTitle"),"Why now","Current friction","Strategic answer","Core workflow","Proof and impact","Rollout plan","Decision and next steps"]}function Bn(){return{schemaVersion:cc,sessionId:ir("deck"),title:J("blankDeckTitle"),brief:ss(),promptDraft:"",lastSubmittedPrompt:"",agentSession:{id:"",workspaceSubdir:"",runId:"",skillKey:""},style:ls(),outline:[],sources:{items:[],facts:[],warnings:[],summary:"",fetchedAt:0},slides:[],activeSlideId:"",selectedElementId:"",mode:"edit",presentIndex:0,status:"ready",generation:{active:!1,current:"idle",steps:hc().map(r=>({...r,status:"pending"})),events:[]},chatMessages:[{role:"assistant",text:J("assistantHello")}],updatedAt:Date.now()}}function ln(e){let r={...Bn(),...e||{}};r.schemaVersion=cc;let t=r.brief||{};r.brief={...ss(),topic:String(t.topic||r.promptDraft||"").trim(),slideTarget:oc(t.slideTarget)},r.promptDraft=typeof r.promptDraft=="string"?r.promptDraft:"",r.lastSubmittedPrompt=typeof r.lastSubmittedPrompt=="string"?r.lastSubmittedPrompt:"",r.agentSession={id:String(r.agentSession?.id||""),workspaceSubdir:String(r.agentSession?.workspaceSubdir||""),runId:String(r.agentSession?.runId||""),skillKey:String(r.agentSession?.skillKey||"")},r.style={...ls(),...r.style||{}},delete r.style.brandPrimary,delete r.style.brandAccent,Object.keys(ns).includes(r.style.theme)||(r.style.theme="executive"),["compact","standard","spacious","loose"].includes(r.style.density)||(r.style.density="standard"),r.style.density=En(r.style.density),["sans","serif"].includes(r.style.fontFamily)||(r.style.fontFamily=r.style.fontFamily==="serif"?"serif":"sans"),["light","dark"].includes(r.style.colorMode)||(r.style.colorMode="light"),r.style.stylePreset=es(typeof r.style.stylePreset=="string"?r.style.stylePreset:""),r.generation=ki(r.generation),r.sources=Qf(r.sources),r.brief.slideTarget=oc(r.brief.slideTarget);let n=r.generation.active&&Array.isArray(r.slides)&&r.slides.length===0;r.outline=n?[]:Array.isArray(r.outline)?r.outline.map(a=>String(a||J("newSlideTitle"))):[],r.slides=n?[]:Array.isArray(r.slides)&&r.slides.length>0?r.slides.map((a,o)=>Ur(a,o,r)):r.outline.length>0?r.outline.map((a,o)=>cs(a,o,r.outline.length,r)):[],r.slides.some(a=>a.id===r.activeSlideId)||(r.activeSlideId=r.slides[0]?.id||"");let i=qt(r);return i?.elements.some(a=>a.id===r.selectedElementId)||(r.selectedElementId=i?.elements[0]?.id||""),r.title=r.title||r.slides[0]?.title||J("defaultDeckTitle"),r.updatedAt=Date.now(),r}function Qf(e={}){return{items:Array.isArray(e.items)?e.items:[],facts:Array.isArray(e.facts)?e.facts:[],warnings:Array.isArray(e.warnings)?e.warnings:[],summary:typeof e.summary=="string"?e.summary:"",fetchedAt:Number(e.fetchedAt||0)}}function hc(){return[{id:"brief",label:J("generationStepBrief"),detail:J("generationStepBriefDetail")},{id:"spine",label:J("generationStepSpine"),detail:J("generationStepSpineDetail")},{id:"proof",label:J("generationStepProof"),detail:J("generationStepProofDetail")},{id:"design",label:J("generationStepDesign"),detail:J("generationStepDesignDetail")},{id:"compile",label:J("generationStepCompile"),detail:J("generationStepCompileDetail")}]}var Zf=80,Yf=200;function Jf(e={}){let r=typeof e=="string"?{title:e}:e||{},t=String(r.title||r.label||r.message||J("processEventUnknown")).trim()||J("processEventUnknown"),n=String(r.kind||"info").toLowerCase().replace(/[^a-z0-9-]/g,"")||"info",i=Number(r.timestamp||r.time||0)||Date.now();return{id:String(r.id||ir("generation-event")),seq:Number(r.seq)||0,title:t,detail:String(r.detail||r.description||"").trim(),kind:n,timestamp:i}}function ki(e={}){let r=new Map((Array.isArray(e.steps)?e.steps:[]).map(a=>[a.id,a])),t=Array.isArray(e.events)?e.events.map(Jf).slice(-Zf):[],n=t.reduce((a,o)=>Math.max(a,Number(o.seq)||0),0),i=Array.isArray(e.agentStream)?e.agentStream.slice(-Yf):[];return{active:!!e.active,current:e.current||"idle",draftedCount:Number(e.draftedCount)||0,slideTarget:Number(e.slideTarget)||0,eventSeq:Math.max(Number(e.eventSeq)||0,n),steps:hc().map(a=>({...a,status:r.get(a.id)?.status||"pending"})),events:t,agentStream:i}}function qt(e){return e.slides.find(r=>r.id===e.activeSlideId)||e.slides[0]}function Jt(e){return Math.max(0,e.slides.findIndex(r=>r.id===e.activeSlideId))}function Rn(e){return qt(e)?.elements.find(t=>t.id===e.selectedElementId)||null}function cs(e,r,t,n={brief:ss(),style:ls(),slides:[]}){let i=pc(n,r),a={id:ir("slide"),title:e||`${J("newSlideTitle")} ${r+1}`,subtitle:"",kicker:gc(r,n),claim:ds(e,r,n),proofObject:Ta(r,n),supportNote:mc(e,r,n),sourceNote:vc(n),notes:J("defaultSpeakerNote",{title:e}),layout:Ac(r,t),theme:i,elements:[]};return a.elements=yc(a,r,t,n),Ur(a,r,n)}function Ur(e,r,t){let n=e?.title||`${J("newSlideTitle")} ${r+1}`,i={id:e?.id||ir("slide"),title:n,subtitle:e?.subtitle||"",kicker:String(e?.kicker||gc(r,t)),claim:String(e?.claim||ds(n,r,t)),proofObject:String(e?.proofObject||Ta(r,t)),supportNote:String(e?.supportNote||mc(n,r,t)),sourceNote:String(e?.sourceNote||vc(t)),notes:e?.notes||"",layout:e?.layout||Ac(r,t?.slides?.length||1),theme:{...pc(t,r),...e?.theme||e?.style||{}},html:typeof e?.html=="string"?e.html:"",quality:$f(e?.quality),elements:[]},a=Array.isArray(e?.elements)&&e.elements.length>0?e.elements:yc(i,r,t?.slides?.length||1,t);if(i.elements=a.map(o=>us(o)),i.html){let o=Fa(i.html);o&&(i.theme.background=o)}return i}function $f(e={}){let r=Array.isArray(e?.issues)?e.issues:[];return{score:mt(Number(e?.score??100),0,100),issues:r.slice(0,12).map(t=>({id:String(t?.id||ir("quality")),severity:["high","medium","low"].includes(t?.severity)?t.severity:"low",type:String(t?.type||"quality"),message:String(t?.message||"")})).filter(t=>t.message)}}function us(e={}){let r=os.includes(e.type)?e.type:"text",t=Pa(r);return{...t,...e,id:e.id||ir("el"),type:r,x:mt(Number(e.x??t.x),0,98),y:mt(Number(e.y??t.y),0,98),w:mt(Number(e.w??t.w),3,100),h:mt(Number(e.h??t.h),3,100),text:typeof e.text=="string"?e.text:t.text,label:typeof e.label=="string"?e.label:t.label,items:Array.isArray(e.items)?e.items.map(String):t.items,data:Array.isArray(e.data)?e.data.map(eh):t.data,style:th({...t.style,...e.style||{}})}}function eh(e,r){return typeof e=="number"?{label:`Q${r+1}`,value:e}:{label:String(e?.label||`Item ${r+1}`),value:Number(e?.value||0)}}function th(e={}){return{fontSize:mt(Number(e.fontSize||24),8,88),fontWeight:mt(Number(e.fontWeight||600),100,900),color:e.color||"ink",background:e.background||"transparent",opacity:mt(Number(e.opacity??1),0,1),borderRadius:mt(Number(e.borderRadius||0),0,99),align:e.align||"left"}}function Pa(e){let r={text:{text:"Key message",label:"",items:[],data:[],x:8,y:12,w:60,h:16,style:{fontSize:38,fontWeight:780,color:"ink",background:"transparent",borderRadius:0,opacity:1,align:"left"}},list:{text:"",label:"",items:["First point","Second point","Third point"],data:[],x:9,y:36,w:48,h:40,style:{fontSize:20,fontWeight:500,color:"ink",background:"transparent",borderRadius:8,opacity:1,align:"left"}},shape:{text:"",label:"",items:[],data:[],x:66,y:14,w:24,h:62,style:{fontSize:18,fontWeight:600,color:"accent",background:"primary",borderRadius:22,opacity:.12,align:"center"}},metric:{text:"3x",label:"Faster first draft",items:[],data:[],x:63,y:42,w:26,h:26,style:{fontSize:44,fontWeight:820,color:"primary",background:"panel",borderRadius:14,opacity:1,align:"left"}},chart:{text:"Signal trend",label:"",items:[],data:[{label:"Now",value:42},{label:"Next",value:68},{label:"Target",value:86}],x:52,y:36,w:36,h:32,style:{fontSize:18,fontWeight:700,color:"ink",background:"panel",borderRadius:14,opacity:1,align:"left"}},media:{text:J("mediaPlaceholder"),label:"",items:[],data:[],x:58,y:18,w:32,h:42,style:{fontSize:16,fontWeight:650,color:"muted",background:"soft",borderRadius:16,opacity:1,align:"center"}}};return{...sn(r[e]||r.text),type:r[e]?e:"text"}}function pc(e,r=0){let t=e?.deckPalette;if(t&&typeof t=="object"){let o=t.primary||"#111111",l=t.accent||"#c84b31";return sc({name:"deck",background:t.background||"#111111",ink:t.ink||"#f8fafc",muted:t.muted||"#cbd5e1",primary:r%2?l:o,accent:r%2?o:l,panel:t.panel||"#1f2937"})}let n=ns[e?.style?.theme||"executive"]||ns.executive,i=n.primary,a=n.accent;return sc({...n,primary:r%2?a:i,accent:r%2?i:a})}function Fa(e){let r=String(e||""),t=[/body\s*\{[^}]*background(?:-color)?\s*:\s*([^;}\n]+)/i,/]*style="[^"]*background(?:-color)?\s*:\s*([^;"']+)/i,/html\s*\{[^}]*background(?:-color)?\s*:\s*([^;}\n]+)/i,/:root\s*\{[^}]*background(?:-color)?\s*:\s*([^;}\n]+)/i,/background(?:-color)?\s*:\s*(#[0-9a-f]{3,8}|rgb[a]?\([^)]+\)|hsl[a]?\([^)]+\)|black|white)/i];for(let n of t){let i=r.match(n);if(!i)continue;let a=rh(i[1]);if(a)return a}return null}function rh(e){let r=String(e||"").trim().replace(/\s+!important$/i,"");if(!r||/^transparent$/i.test(r))return null;if(/^#[0-9a-f]{3,8}$/i.test(r))return on(r,r);if(/^rgb/i.test(r)||/^hsl/i.test(r))return r;let t={black:"#000000",white:"#ffffff",transparent:null};return Object.prototype.hasOwnProperty.call(t,r.toLowerCase())?t[r.toLowerCase()]:r}function sc(e){let r=on(e.background,"#ffffff"),t=on(e.panel,"#ffffff");return{...e,background:r,panel:t,ink:xa(r,e.ink,"#111827","#f8fafc",7),muted:xa(r,e.muted,"#4b5563","#cbd5e1",4.5),primary:xa(t,e.primary,"#0f766e","#5eead4",4.5),accent:xa(t,e.accent,"#c2410c","#fdba74",4.5)}}function xa(e,r,t,n,i){let a=on(e,"#ffffff"),o=on(r,t);if(rs(a,o)>=i)return o;let l=on(t,"#111827"),c=on(n,"#f8fafc");return rs(a,l)>=rs(a,c)?l:c}function rs(e,r){let t=lc(e),n=lc(r),i=Math.max(t,n),a=Math.min(t,n);return(i+.05)/(a+.05)}function lc(e){let{r,g:t,b:n}=nh(e);return[r,t,n].map(i=>{let a=i/255;return a<=.03928?a/12.92:((a+.055)/1.055)**2.4}).reduce((i,a,o)=>i+a*[.2126,.7152,.0722][o],0)}function on(e,r){let t=String(e||"").trim(),n=t.match(/^#([0-9a-f]{3})$/i);return n?`#${n[1].split("").map(i=>i+i).join("")}`.toLowerCase():/^#[0-9a-f]{6}$/i.test(t)?t.toLowerCase():r}function nh(e){let r=on(e,"#000000").slice(1),t=parseInt(r,16);return{r:t>>16&255,g:t>>8&255,b:t&255}}function Ac(e,r){return e===0?"cover":e===r-1?"closing":["split","metric","process","comparison"][e%4]}function gc(e,r){let t=uc();return(t.arc[e%t.arc.length]||"proof").replace(/[-_]/g," ").toUpperCase()}function Ta(e,r){let t=uc(),n=t.proofObjects[e%t.proofObjects.length]||"visual proof";return{"market map":J("proofMarketMap"),"operating model":J("proofOperatingModel"),"risk bridge":J("proofRiskBridge"),"decision table":J("proofDecisionTable"),"before/after workflow":J("proofBeforeAfter"),"value bridge":J("proofValueBridge"),"customer proof":J("proofCustomerProof"),"implementation plan":J("proofImplementationPlan"),"metric bridge":J("proofMetricBridge"),"trend chart":J("proofTrendChart"),"variance table":J("proofVarianceTable"),"risk register":J("proofRiskRegister"),"concept map":J("proofConceptMap"),"worked example":J("proofWorkedExample"),comparison:J("proofComparison"),"practice prompt":J("proofPracticePrompt"),"market wedge":J("proofMarketWedge"),"product diagram":J("proofProductDiagram"),"traction chart":J("proofTractionChart"),"milestone plan":J("proofMilestonePlan"),"visual proof":J("proofVisualProof")}[n]||n}function ds(e,r,t){let n=t?.brief?.topic||t?.title||e;if(r===0)return J("claimCover",{topic:n});if(e&&/[.!?。!?]$/.test(e.trim()))return e;let i=[J("claimPressure",{title:e}),J("claimDecision",{title:e}),J("claimProof",{title:e}),J("claimAction",{title:e})];return i[r%i.length]}function mc(e,r,t){let n=Ta(r,t);return J("supportWithAssumption",{proof:n})}function vc(e){return J("sourceDraftAssumption")}function yc(e,r,t,n){let i=e.title,a=dc(n?.style?.density),o=ah(i,r,n).slice(0,a.bulletLimit).map(c=>String(c).slice(0,90)),l=ih(e,r,t);return l==="cover"?[Ft("shape",{x:6,y:9,w:88,h:76,style:{background:"soft",opacity:1,borderRadius:28}}),Ft("shape",{x:9,y:15,w:1.2,h:55,style:{background:"primary",opacity:1,borderRadius:99}}),Ft("text",{text:e.kicker,x:13,y:15,w:22,h:5,style:{fontSize:10,fontWeight:760,color:"primary"}}),Ft("text",{text:i,x:13,y:23,w:58,h:25,style:{fontSize:i.length>48?34:44,fontWeight:840}}),Ft("text",{text:e.claim,x:14,y:55,w:45,h:11,style:{fontSize:18,fontWeight:520,color:"muted"}}),Ft("metric",{text:String(t),label:J("slidesUnit"),x:75,y:54,w:14,h:17,style:{fontSize:34}})]:l==="closing"?[Ft("text",{text:i,x:9,y:15,w:65,h:15,style:{fontSize:i.length>48?30:38,fontWeight:820}}),Ft("text",{text:e.claim,x:10,y:33,w:46,h:9,style:{fontSize:17,fontWeight:540,color:"muted"}}),...Sa([J("closeConfirm"),J("closeOwner"),J("closeIteration")],10,50,52,22,3),Ft("text",{text:o[0]||e.supportNote,x:67,y:48,w:22,h:20,style:{fontSize:18,fontWeight:720,color:"primary",background:"soft",borderRadius:20}})]:l==="process"?[Ft("text",{text:i,x:8,y:10,w:68,h:12,style:{fontSize:32,fontWeight:820}}),Ft("text",{text:e.claim,x:9,y:25,w:54,h:7,style:{fontSize:15,fontWeight:520,color:"muted"}}),Ft("shape",{x:10,y:50,w:78,h:1.2,style:{background:"primary",opacity:.25,borderRadius:99}}),...Sa(o.map((c,s)=>`0${s+1} ${c}`),10,37,78,28,Math.min(a.cardColumns,Math.max(2,o.length)),a.cardGap)]:l==="comparison"?[Ft("text",{text:i,x:7,y:10,w:72,h:12,style:{fontSize:32,fontWeight:820}}),Ft("text",{text:e.claim,x:8,y:25,w:48,h:7,style:{fontSize:15,fontWeight:520,color:"muted"}}),...Sa(o,8,37,82,30,2,a.cardGap)]:l==="data"?[Ft("text",{text:i,x:8,y:10,w:66,h:12,style:{fontSize:32,fontWeight:820}}),Ft("text",{text:e.claim,x:9,y:25,w:47,h:7,style:{fontSize:15,fontWeight:520,color:"muted"}}),Ft("metric",{text:String(r).padStart(2,"0"),label:e.proofObject,x:10,y:40,w:34,h:28,style:{fontSize:44}}),Ft("text",{text:o[0]||e.supportNote,x:69,y:41,w:20,h:24,style:{fontSize:17,fontWeight:700,color:"primary",background:"soft",borderRadius:18}})]:l==="cards"?[Ft("text",{text:i,x:8,y:10,w:68,h:12,style:{fontSize:32,fontWeight:820}}),Ft("text",{text:e.claim,x:9,y:25,w:51,h:8,style:{fontSize:15,fontWeight:520,color:"muted"}}),...Sa(o,9,38,78,28,a.cardColumns,a.cardGap)]:[Ft("text",{text:i,x:10,y:15,w:62,h:15,style:{fontSize:i.length>48?30:38,fontWeight:820}}),Ft("text",{text:e.claim,x:11,y:34,w:42,h:10,style:{fontSize:17,fontWeight:520,color:"muted"}}),Ft("text",{text:o[0]||e.supportNote,x:58,y:38,w:28,h:24,style:{fontSize:22,fontWeight:760,color:"primary",background:"soft",borderRadius:22}}),Ft("shape",{x:10,y:72,w:18,h:.6,style:{background:"primary",opacity:1,borderRadius:99}})]}function ih(e,r,t){let n=[e.layout,e.kicker,e.proofObject,e.claim,e.title].join(" ").toLowerCase();return r===0||e.layout==="cover"?"cover":r===t-1||e.layout==="closing"?"closing":/process|workflow|timeline|roadmap|journey|steps|architecture|flow|流程|步骤|路线|架构/.test(n)?"process":/compare|comparison|versus|matrix|before|after|risk|对比|比较|矩阵|风险/.test(n)?"comparison":/data|metric|trend|scorecard|chart|number|数据|指标|趋势/.test(n)?"data":r%3===1?"cards":"spotlight"}function Sa(e,r,t,n,i,a,o=2.5){let l=e.filter(Boolean),c=Math.max(1,Math.min(a||1,l.length||1)),s=Number.isFinite(o)?o:2.5,u=Math.max(1,Math.ceil((l.length||1)/c)),d=(n-s*(c-1))/c,p=(i-s*(u-1))/u;return l.map((f,h)=>Ft("text",{text:f,x:r+h%c*(d+s),y:t+Math.floor(h/c)*(p+s),w:d,h:p,style:{fontSize:17,fontWeight:h===0?760:620,color:h===0?"primary":"ink",background:h===0?"soft":"panel",borderRadius:18}}))}function Ft(e,r){let t=Pa(e);return{...t,...r,style:{...t.style,...r.style||{}}}}function ah(e,r,t){let n=t?.brief?.topic||e,i=Ta(r,t),a=[`${J("pointClaimPrefix")} ${ds(e,r,t)}`,`${J("pointProofPrefix")} ${i}`,`${J("pointAudiencePrefix")} ${n}`,J("pointEvidenceRule"),J("pointDesignRule"),J("pointCloseRule")],o=dc(t?.style?.density).bulletLimit,l=[];for(let c=0;c{r!==e&&Da(r)})}function fs(e){let r=e.querySelector(".ppt-flat-select__menu"),t=e.querySelector(".ppt-flat-select__trigger");if(!r||!t)return;let n=t.getBoundingClientRect(),i=Math.min(220,r.scrollHeight||220),a=window.innerHeight-n.bottom,o=aa;r.style.left=`${Math.max(8,n.left)}px`,r.style.width=`${n.width}px`,o?(r.style.top="auto",r.style.bottom=`${window.innerHeight-n.top+4}px`):(r.style.top=`${n.bottom+4}px`,r.style.bottom="auto")}function bc(e){let r=e.querySelector(".ppt-flat-select__menu"),t=e.querySelector(".ppt-flat-select__trigger");if(!r||!t)return;Ea(null),r.hidden=!1,fs(e),t.setAttribute("aria-expanded","true"),e.classList.add("is-open"),Kn.add(e),r.querySelector(".ppt-flat-select__option.is-selected")?.scrollIntoView({block:"nearest"})}function oh(e,r){let t=e.querySelector(".ppt-flat-select__menu");if(!t||t.hidden)return;let n=[...t.querySelectorAll(".ppt-flat-select__option")];if(!n.length)return;let i=n.indexOf(document.activeElement),a=i>=0?i:n.findIndex(l=>l.classList.contains("is-selected")),o=Math.min(n.length-1,Math.max(0,(a<0?-r:a)+r));n[o]?.focus(),n[o]?.scrollIntoView({block:"nearest"})}function hs(e){let r=e.closest(".ppt-flat-select");if(!r)return;let t=r.querySelector(".ppt-flat-select__label"),n=r.querySelector(".ppt-flat-select__menu"),i=e.options[e.selectedIndex];if(t&&(t.textContent=i?.textContent?.trim()||""),!n)return;let a=new Map([...n.querySelectorAll(".ppt-flat-select__option")].map(o=>[o.dataset.value,o]));[...e.options].forEach(o=>{let l=a.get(o.value);l||(l=document.createElement("button"),l.type="button",l.className="ppt-flat-select__option",l.setAttribute("role","option"),l.dataset.value=o.value,l.addEventListener("click",()=>{e.value=o.value,hs(e),Da(r),e.dispatchEvent(new Event("change",{bubbles:!0}))}),n.append(l)),l.textContent=o.textContent,o.title&&(l.title=o.title);let c=o.value===e.value;l.classList.toggle("is-selected",c),l.setAttribute("aria-selected",c?"true":"false")}),[...n.querySelectorAll(".ppt-flat-select__option")].forEach(o=>{[...e.options].some(l=>l.value===o.dataset.value)||o.remove()}),r.classList.contains("is-open")&&fs(r)}function sh(e){if(!(e instanceof Node))return!1;for(let r of Kn){let t=r.querySelector(".ppt-flat-select__menu");if(t&&(t===e||t.contains(e)))return!0}return!1}function lh(e){sh(e.target)||Ea(null)}function ch(e){let r=e.target;if(r instanceof Node){for(let t of Kn)if(t.contains(r))return}Ea(null)}function wc(e){if(!e||e.dataset.flatSelect==="true")return;e.dataset.flatSelect="true",e.classList.remove("ppt-flat-select"),e.classList.add("ppt-flat-select__native"),e.tabIndex=-1,e.setAttribute("aria-hidden","true");let r=document.createElement("div");r.className="ppt-flat-select";let t=document.createElement("button");t.type="button",t.className="ppt-flat-select__trigger",t.setAttribute("aria-haspopup","listbox"),t.setAttribute("aria-expanded","false");let n=document.createElement("span");n.className="ppt-flat-select__label",t.append(n);let i=document.createElement("div");i.className="ppt-flat-select__menu",i.hidden=!0,i.setAttribute("role","listbox"),i.addEventListener("wheel",o=>o.stopPropagation(),{passive:!0}),i.addEventListener("mousedown",o=>o.stopPropagation()),t.addEventListener("click",o=>{if(o.stopPropagation(),r.classList.contains("is-open")){Da(r);return}bc(r)}),r.addEventListener("keydown",o=>{o.key==="ArrowDown"||o.key==="ArrowUp"?(o.preventDefault(),r.classList.contains("is-open")||bc(r),oh(r,o.key==="ArrowDown"?1:-1)):o.key==="Escape"&&r.classList.contains("is-open")&&(o.stopPropagation(),Da(r),t.focus())}),e.parentNode.insertBefore(r,e),r.append(t,i,e),hs(e)}function Ci(e){hs(e)}window.__pptLiveFlatSelectBound||(window.__pptLiveFlatSelectBound=!0,document.addEventListener("click",ch),document.addEventListener("keydown",e=>{e.key==="Escape"&&Ea(null)}),window.addEventListener("resize",()=>{Kn.forEach(e=>fs(e))}),document.addEventListener("scroll",lh,!0));function Dc(){document.documentElement.lang=Lr(),document.querySelectorAll("[data-i18n]").forEach(e=>{e.textContent=J(e.dataset.i18n)}),document.querySelectorAll("[data-i18n-placeholder]").forEach(e=>{e.placeholder=J(e.dataset.i18nPlaceholder)}),document.querySelectorAll("[data-i18n-aria]").forEach(e=>{e.setAttribute("aria-label",J(e.dataset.i18nAria))})}function Ec(e,r){Bh(e),Fr(e),Wr(e),Lh(e,r),Nn(e,r),cn(e,r),Ua(e,r),Ln(),document.querySelectorAll(".segment").forEach(i=>{i.classList.toggle("is-active",i.dataset.mode===e.mode)});let t=Jt(e),n=Bt("slidePosition");n&&(n.textContent=`${t+1} / ${e.slides?.length||1}`)}var xc="",Pi=0,Bc=120,uh=20;function dh(e){return{x:(parseFloat(e.paddingLeft)||0)+(parseFloat(e.paddingRight)||0),y:(parseFloat(e.paddingTop)||0)+(parseFloat(e.paddingBottom)||0)}}function Rc(e,r={}){if(!e)return{width:0,height:0};let t=getComputedStyle(e),n=dh(t),i=Math.max(0,(e.clientWidth||0)-n.x),a=Math.max(0,(e.clientHeight||0)-n.y),o=e.getBoundingClientRect();o.width>0&&(i=Math.max(i,o.width-n.x)),o.height>0&&(a=Math.max(a,o.height-n.y));let l=r.minHeight??Bc,c=r.fallback;if(c&&a0&&(i=Math.max(i,s.width-n.x)),s.height>0&&(a=Math.max(a,s.height-n.y))}return{width:Math.max(0,i),height:Math.max(0,a)}}function fh(e){if(!e)return 0;let r=e.getBoundingClientRect();return Math.max(e.clientWidth||0,e.offsetWidth||0,r.width||0)}function Ln(){Pi&&cancelAnimationFrame(Pi);let e=(r=0)=>{Pi=0,Qn(),xs(),_a(),Uc();let t=Bt("slideCanvas")?.closest(".canvas-area");if(!t||r>=uh)return;let{height:n}=Rc(t,{fallback:t.closest(".stage-shell")});ne(r+1)))};Pi=requestAnimationFrame(()=>e(0))}function Qn(){let e=Bt("slideCanvas"),r=e?.closest(".canvas-area"),t=e?.closest(".canvas-stage");if(!e||!r||!t)return;let{width:n,height:i}=Rc(r,{fallback:r.closest(".stage-shell")}),a=Math.max(160,n),o=Math.max(90,i),l=a,c=l*9/16;c>o&&(c=o,l=c*16/9);let s=Math.floor(l),u=Math.floor(c),d=`${a}x${o}`;if(d===xc&&t.style.width===`${s}px`&&t.style.height===`${u}px`){let h=e.querySelector(`.${ar}`);h&&or(h);return}xc=d,t.style.width=`${s}px`,t.style.height=`${u}px`,e.style.width="100%",e.style.height="100%";let p=Bt("presentSlide");p&&(p.style.width=`${s}px`,p.style.height=`${u}px`);let f=e.querySelector(`.${ar}`);f&&or(f)}function hh(e){let r=Bt("floatingToolbar"),t=Bt("slideCanvas");if(!r||!t||!e){r&&r.classList.remove("is-visible");return}let n=t.getBoundingClientRect(),i=e.x/100*n.width,a=e.y/100*n.height,o=e.w/100*n.width;r.style.left=`${n.left+i+o/2-r.offsetWidth/2}px`,r.style.top=`${n.top+a-r.offsetHeight-8}px`,r.classList.add("is-visible")}function ps(e,r){let t=String(e||"").trim(),n=parseFloat(t);return Number.isFinite(n)?t.endsWith("pt")?n*(96/72):(t.endsWith("px"),n):r}function vs(e,r,t){return String(e||"").replace(/(^|[^-.\w]):root(?![\w-])/gi,`$1${r}`).replace(/(^|[^-.\w])html(?![\w-])/gi,`$1${r}`).replace(/(^|[^-.\w])body(?![\w-])/gi,`$1${t}`)}var ar="html-slide-preview-host",Lc="html-slide-preview-scaler",ys={width:1280,height:720};function ph(e,r){let t=e.contentDocument;return t?(t.open(),t.write(Nr(r)),t.close(),!0):!1}function Nc(e,r,t){e.setAttribute("sandbox","allow-same-origin"),e.src="about:blank";let n=()=>ph(e,r)?(t?.(),!0):!1;n()||e.addEventListener("load",()=>{n()},{once:!0})}function Ah(e){let r=String(e||""),t=r.match(/(?:^|[{;\s])width\s*:\s*([\d.]+)\s*pt/i),n=r.match(/(?:^|[{;\s])height\s*:\s*([\d.]+)\s*pt/i);if(t?.[1]&&n?.[1])return{width:Math.round(parseFloat(t[1])*(96/72)),height:Math.round(parseFloat(n[1])*(96/72))};let i=r.match(/(?:^|[{;\s])width\s*:\s*([\d.]+)\s*px/i),a=r.match(/(?:^|[{;\s])height\s*:\s*([\d.]+)\s*px/i);return i?.[1]&&a?.[1]?{width:Math.round(parseFloat(i[1])),height:Math.round(parseFloat(a[1]))}:{...ys}}function gh(e){let r=Number(e?.dataset?.designW),t=Number(e?.dataset?.designH);return Number.isFinite(r)&&r>=320&&Number.isFinite(t)&&t>=180?{width:r,height:t}:null}function mh(e){let r=e?.body,t=e?.documentElement,n=e?.defaultView;if(!r||!t||!n)return{...ys};let i=n.getComputedStyle(r),a=ps(i.width,0),o=ps(i.height,0)||ps(i.minHeight,0);if(a>=320&&o>=180)return{width:a,height:o};let l=Math.max(r.scrollWidth||0,r.offsetWidth||0,t.clientWidth||0,1280),c=Math.max(r.scrollHeight||0,r.offsetHeight||0,t.clientHeight||0,720);return l=Math.min(Math.max(l,320),3840),c=Math.min(Math.max(c,180),3840),{width:l,height:c}}function vh(e,r){let t=gh(r);return t||(e?.body?mh(e):{...ys})}function bs(e){if(!e)return{width:0,height:0};let r=e.getBoundingClientRect();return{width:Math.max(e.clientWidth||0,e.offsetWidth||0,r.width||0),height:Math.max(e.clientHeight||0,e.offsetHeight||0,r.height||0)}}function Ic(e,r){let t=Ah(r);return e.dataset.designW=String(t.width),e.dataset.designH=String(t.height),t}var Sc="data-ppt-live-editing-style",Zn="data-ppt-live-editable";function yh(e,r){!e||e._pptLiveOriginalInline||!r?.documentElement||!r.body||(e._pptLiveOriginalInline={root:r.documentElement.getAttribute("style"),body:r.body.getAttribute("style")})}function bh(e,r,t){if(!e?.documentElement||!e.body)return;let n=e.documentElement,i=e.body;n.style.margin="0",n.style.padding="0",n.style.width=`${r}px`,n.style.height=`${t}px`,n.style.overflow="hidden",i.style.margin="0",i.style.boxSizing="border-box",i.style.width=`${r}px`,i.style.height=`${t}px`,i.style.minHeight="",i.style.maxWidth="",i.style.overflow="hidden",i.style.transform="none"}function or(e){let r=e?.classList?.contains(ar)?e:e?.closest?.(`.${ar}`);if(!r)return!1;let t=r.querySelector(`.${Lc}`),n=t?.querySelector("iframe, [data-slide-stage]");if(!t||!n)return!1;let{width:i,height:a}=bs(r);if(!i||!a)return!1;let o=n.tagName==="IFRAME",l=null;if(o)try{l=n.contentDocument}catch{l=null}let{width:c,height:s}=vh(l,n),u=Math.min(i/c,a/s),d=c*u,p=s*u;return l&&(yh(n,l),bh(l,c,s)),t.style.width=`${d}px`,t.style.height=`${p}px`,t.style.overflow="hidden",t.style.position="relative",t.style.flexShrink="0",n.style.display="block",n.style.width=`${c}px`,n.style.height=`${s}px`,n.style.border="0",n.style.margin="0",n.style.padding="0",n.style.maxWidth="none",n.style.maxHeight="none",n.style.transformOrigin="top left",n.style.transform=`scale(${u})`,!0}var kc="ppt-slide-shadow-root",gs="ppt-slide-shadow-body";function wh(e){return e.querySelectorAll('script, iframe, object, embed, meta[http-equiv="refresh" i]').forEach(r=>r.remove()),e.querySelectorAll("*").forEach(r=>{for(let t of[...r.attributes]){let n=t.name.toLowerCase();(n.startsWith("on")||(n==="href"||n==="src"||n==="xlink:href")&&/^\s*javascript:/i.test(t.value))&&r.removeAttribute(t.name)}}),e}function xh(e,r){let t=document.createElement("div");t.className=r,t.dataset.slideStage="true",Ic(t,e);let n=Number(t.dataset.designW),i=Number(t.dataset.designH),a=wh(new DOMParser().parseFromString(Nr(e),"text/html")),o=t.attachShadow({mode:"open"}),l=document.createElement("div");l.className=kc,l.style.cssText=["all:initial","display:block","position:relative",`width:${n}px`,`height:${i}px`,"margin:0","padding:0","overflow:hidden",'font-family:system-ui, -apple-system, "PingFang SC", "Source Han Sans SC", sans-serif',"font-size:16px","line-height:normal","color:#000","background:#fff"].join(";"),a.querySelectorAll("style").forEach(s=>{let u=document.createElement("style");u.textContent=vs(s.textContent||"",`.${kc}`,`.${gs}`),o.appendChild(u)});let c=document.createElement("div");if(c.className=gs,a.body){for(let s of a.body.attributes)s.name==="class"?c.classList.add(...s.value.split(/\s+/).filter(Boolean)):s.name==="style"?c.style.cssText+=`;${s.value}`:s.name.toLowerCase().startsWith("on")||c.setAttribute(s.name,s.value);c.innerHTML=a.body.innerHTML}return c.style.boxSizing="border-box",/\bwidth\s*:/i.test(c.style.cssText)||(c.style.width=`${n}px`),/\bheight\s*:/i.test(c.style.cssText)||(c.style.height=`${i}px`),c.style.overflow="hidden",c.style.margin="0",l.appendChild(c),o.appendChild(l),t._pptLiveSourceHtml=String(e||""),t}function ws({hostClass:e="",frameClass:r,html:t,onReady:n,interactive:i=!1}){let a=document.createElement("div");a.className=[ar,e].filter(Boolean).join(" ");let o=document.createElement("div");if(o.className=Lc,i){let c=xh(t,r);return o.appendChild(c),a.appendChild(o),requestAnimationFrame(()=>{or(a),n?.(c,a)}),{host:a,scaler:o,frame:c}}let l=document.createElement("iframe");return l.className=r,l.setAttribute("loading","lazy"),Ic(l,t),Nc(l,t,()=>{or(a),n?.(l,a)}),o.appendChild(l),a.appendChild(o),{host:a,scaler:o,frame:l}}function zc(e){let{host:r}=ws({hostClass:"export-preview__html-stage",frameClass:"export-preview__html-frame",html:e,onReady:()=>{r.closest(".export-preview__viewport")&&or(r)}});return r}function Mc(e){if(!e)return;let r=e.querySelector(".export-preview__viewport")||e,t=r.querySelector(".export-preview__scale");if(!t)return;let n=t.querySelector(`.${ar}`);if(n){t.style.width="100%",t.style.height="100%",or(n);return}let i=t.querySelector(".export-preview__element-stage");if(!i)return;let{width:a,height:o}=bs(r);if(!a||!o)return;let l=960,c=540,s=Math.min(a/l,o/c);i.style.width=`${l}px`,i.style.height=`${c}px`,i.style.transform=`scale(${s})`,i.style.transformOrigin="top left",t.style.width=`${Math.floor(l*s)}px`,t.style.height=`${Math.floor(c*s)}px`}function Sh(e){if(!e)return;let r=e.closest(`.${ar}`);r&&or(r)}function kh(e){if(!e||new Set(["turn","round","round-done","tokens","text","thinking"]).has(e.kind||""))return"";let t=String(e.detail||"").trim();return!t||/^[0-9a-f-]{8,}/i.test(t)?"":t}function Ch(e){if(!e)return;(typeof requestAnimationFrame=="function"?requestAnimationFrame:t=>setTimeout(t,0))(()=>{e.scrollTop=e.scrollHeight})}function Fr(e){let r=Bt("generationSteps"),t=e.generation?.steps||[],n=Array.isArray(e.generation?.events)?e.generation.events:[],i=Array.isArray(e.generation?.agentStream)?e.generation.agentStream:[],a=!!(e.generation?.active||t.some(c=>c.status==="running")),o=t.some(c=>c.status==="error");if(document.querySelector(".ppt-live")?.classList.toggle("is-generating",a),document.querySelector(".ppt-live")?.classList.toggle("has-generation-error",o),!r)return;let l=Ph(n,i);if(r.innerHTML="",l.length){for(let c of l){let s=c.source==="event"?Fh(c):Th(c);s&&r.append(s)}if(a&&!o){let c=Dh(e,l);c&&r.append(c)}}else{let c=document.createElement("li");c.className="generation-event is-empty",c.innerHTML=` -- - ${Le($("processWaitingForEventsTitle"))} - ${Le($("processWaitingForEvents"))} + ${Ne(J("processWaitingForEventsTitle"))} + ${Ne(J("processWaitingForEvents"))} - `,r.append(c)}kh(r)}function Ch(e,r){let t=e.map(i=>({...i,source:"event"})),n=r.map(i=>({...i,source:"stream"}));return[...t,...n].sort((i,a)=>(i.timestamp||0)-(a.timestamp||0)).slice(-120)}function Ph(e){let r=Sh(e),t=document.createElement("li");return t.className=`generation-event is-${e.kind||"info"}`,t.innerHTML=` + `,r.append(c)}Ch(r)}function Ph(e,r){let t=e.map(i=>({...i,source:"event"})),n=r.map(i=>({...i,source:"stream"}));return[...t,...n].sort((i,a)=>(i.timestamp||0)-(a.timestamp||0)).slice(-120)}function Fh(e){let r=kh(e),t=document.createElement("li");return t.className=`generation-event is-${e.kind||"info"}`,t.innerHTML=` ${Number(e.seq)||"\xB7"} - ${Le(e.title||$("processEventUnknown"))} - ${r?`${Le(r)}`:""} + ${Ne(e.title||J("processEventUnknown"))} + ${r?`${Ne(r)}`:""} - `,t}function Fh(e){let r=document.createElement("li"),t=String(e.kind||"system");r.className=`generation-event is-stream is-stream-${t}`;let n=e.isSubagent?"\u21B3 ":"";if(t==="text"){let a=Fi(String(e.text||"").trim(),120);return a?(r.innerHTML=` - ${Le($("agentStreamAssistant"))} + `,t}function Th(e){let r=document.createElement("li"),t=String(e.kind||"system");r.className=`generation-event is-stream is-stream-${t}`;let n=e.isSubagent?"\u21B3 ":"";if(t==="text"){let a=Fi(String(e.text||"").trim(),120);return a?(r.innerHTML=` + ${Ne(J("agentStreamAssistant"))} - ${Le(n+a)} + ${Ne(n+a)} `,r):null}if(t==="tool-start"){let a=La(e.toolName);return r.innerHTML=` - ${Le(a)} + ${Ne(a)} - ${Le(n+Fi(String(e.text||""),120))} + ${Ne(n+Fi(String(e.text||""),120))} `,r}if(t==="tool-done"){let a=La(e.toolName),o=Fi(String(e.text||"").trim(),120);return r.innerHTML=` - ${Le(a)} \u2713 + ${Ne(a)} \u2713 - ${o?`${Le(n+o)}`:"\u2713"} + ${o?`${Ne(n+o)}`:"\u2713"} `,r}if(t==="tool-error"){let a=La(e.toolName);return r.innerHTML=` - ${Le(a)} \u2717 + ${Ne(a)} \u2717 - ${Le(n+Fi(String(e.text||""),120))} + ${Ne(n+Fi(String(e.text||""),120))} `,r}let i=Fi(String(e.text||"").trim(),200);return i?(r.className="generation-event is-stream is-stream-system",r.innerHTML=` \xB7 - ${Le(n+i)} + ${Ne(n+i)} - `,r):null}function Th(e,r){let t=Dh(e,r),n=document.createElement("li");return n.className="generation-event is-live",n.innerHTML=` + `,r):null}function Dh(e,r){let t=Eh(e,r),n=document.createElement("li");return n.className="generation-event is-live",n.innerHTML=` - ${Le(t)} + ${Ne(t)} - `,n}function Dh(e,r){for(let n=r.length-1;n>=0;n--){let i=r[n];if(i.source==="stream"){if(i.kind==="tool-start")return`${La(i.toolName)}\u2026`;if(i.kind==="text")return $("processEventText")}if(i.source==="event"&&i.title)return i.title}let t=(e.generation?.steps||[]).find(n=>n.status==="running");return t?.label?`${t.label}\u2026`:$("generationProgressPulse")}function Fi(e,r=200){let t=String(e||"").replace(/\s+/g," ").trim();return t?t.length>r?`${t.slice(0,r-1)}\u2026`:t:""}function La(e){let r=String(e||"").trim();if(!r)return $("eventUnknownTool");let t=r.toLowerCase();return t==="websearch"?$("eventToolWebSearchName"):t==="webfetch"||t==="mcp__web_reader__webreader"?$("eventToolWebFetchName"):t==="skill"?$("eventToolSkillName"):t==="read"?$("eventToolReadName"):t==="write"?$("eventToolWriteName"):t==="edit"?$("eventToolEditName"):t==="grep"?"Grep":t==="glob"?"Glob":t==="task"?$("eventToolTaskName"):t==="todowrite"||t==="todo_write"?"TodoWrite":r}function Wr(e){let r=e.generation?.steps||[],t=!!(e.generation?.active||r.some(i=>i.status==="running")),n=Bt("statusSpinner");n&&(n.hidden=!t,n.setAttribute("aria-hidden",t?"false":"true"))}function za(e="sans"){let r=e==="serif"?"serif":"sans";document.querySelectorAll("[data-font-family]").forEach(t=>{let n=t.dataset.fontFamily===r;t.classList.toggle("is-active",n),t.setAttribute("aria-pressed",n?"true":"false")})}function Ma(e="light"){let r=e==="dark"?"dark":"light";document.querySelectorAll("[data-color-mode]").forEach(t=>{let n=t.dataset.colorMode===r;t.classList.toggle("is-active",n),t.setAttribute("aria-pressed",n?"true":"false")})}function Oa(e="standard"){let r=En(e),t=ka(r),n=document.getElementById("densitySlider");if(n){n.style.setProperty("--density-index",String(t)),n.dataset.index=String(t),n.setAttribute("aria-valuenow",String(t));let i=`density${r.charAt(0).toUpperCase()}${r.slice(1)}`;n.setAttribute("aria-valuetext",$(i)),n.querySelectorAll("[data-density-index]").forEach(a=>{let o=Number(a.dataset.densityIndex)===t;a.classList.toggle("is-active",o)})}document.querySelector(".ppt-live")?.setAttribute("data-density",r)}function Eh(e){let r=typeof e.promptDraft=="string"?e.promptDraft:"",t=Array.isArray(e.slides)&&e.slides.length>0;Vh("topicInput",t?r:r||e.brief.topic),As("deckTitle",e.title||$("defaultDeckTitle")),As("deckMeta",$("slidesMeta",{count:e.slides.length})),As("currentSlideIndex",String(Jt(e)+1))}function Oc(e){if(!e)return;let t=document.getElementById("stylePresetSelect")?.value||an,n=document.querySelector("[data-font-family].is-active"),i=document.querySelector("[data-color-mode].is-active"),a=document.getElementById("densitySlider"),o=Math.max(0,Math.min(2,Number(a?.dataset.index??1)));e.style={...e.style||{},stylePreset:t,fontFamily:n?.dataset.fontFamily==="serif"?"serif":"sans",colorMode:i?.dataset.colorMode==="dark"?"dark":"light",density:Ca(o)}}function Ei(e){if(!e?.style)return;za(e.style.fontFamily),Ma(e.style.colorMode),Oa(e.style.density);let r=document.getElementById("stylePresetSelect");r&&(r.value=e.style.stylePreset||an,Ci(r))}function _c(e,r={}){r.includeTopic!==!1&&(e.brief.topic=Xh("topicInput"),e.promptDraft=e.brief.topic,Bh(e))}function Bh(e){let r=String(e.brief.topic||""),t=r.match(/(\d{1,2})\s*(?:页|页面|张|slides?|pages?)/i)||r.match(/(?:页数|slides?|pages?)\D{0,8}(\d{1,2})/i);t?e.brief.slideTarget=Math.max(3,Math.min(24,Number(t[1]))):e.brief.slideTarget=0}function Rh(e,r){let t=Bt("outlineList");t&&(t.innerHTML="",e.outline.forEach((n,i)=>{let a=document.createElement("li"),o=e.slides[i];a.className=`outline-row${o?.id===e.activeSlideId?" is-active":""}`,a.innerHTML=` + `,n}function Eh(e,r){for(let n=r.length-1;n>=0;n--){let i=r[n];if(i.source==="stream"){if(i.kind==="tool-start")return`${La(i.toolName)}\u2026`;if(i.kind==="text")return J("processEventText")}if(i.source==="event"&&i.title)return i.title}let t=(e.generation?.steps||[]).find(n=>n.status==="running");return t?.label?`${t.label}\u2026`:J("generationProgressPulse")}function Fi(e,r=200){let t=String(e||"").replace(/\s+/g," ").trim();return t?t.length>r?`${t.slice(0,r-1)}\u2026`:t:""}function La(e){let r=String(e||"").trim();if(!r)return J("eventUnknownTool");let t=r.toLowerCase();return t==="websearch"?J("eventToolWebSearchName"):t==="webfetch"||t==="mcp__web_reader__webreader"?J("eventToolWebFetchName"):t==="skill"?J("eventToolSkillName"):t==="read"?J("eventToolReadName"):t==="write"?J("eventToolWriteName"):t==="edit"?J("eventToolEditName"):t==="grep"?"Grep":t==="glob"?"Glob":t==="task"?J("eventToolTaskName"):t==="todowrite"||t==="todo_write"?"TodoWrite":r}function Wr(e){let r=e.generation?.steps||[],t=!!(e.generation?.active||r.some(i=>i.status==="running")),n=Bt("statusSpinner");n&&(n.hidden=!t,n.setAttribute("aria-hidden",t?"false":"true"))}function za(e="sans"){let r=e==="serif"?"serif":"sans";document.querySelectorAll("[data-font-family]").forEach(t=>{let n=t.dataset.fontFamily===r;t.classList.toggle("is-active",n),t.setAttribute("aria-pressed",n?"true":"false")})}function Ma(e="light"){let r=e==="dark"?"dark":"light";document.querySelectorAll("[data-color-mode]").forEach(t=>{let n=t.dataset.colorMode===r;t.classList.toggle("is-active",n),t.setAttribute("aria-pressed",n?"true":"false")})}function Oa(e="standard"){let r=En(e),t=ka(r),n=document.getElementById("densitySlider");if(n){n.style.setProperty("--density-index",String(t)),n.dataset.index=String(t),n.setAttribute("aria-valuenow",String(t));let i=`density${r.charAt(0).toUpperCase()}${r.slice(1)}`;n.setAttribute("aria-valuetext",J(i)),n.querySelectorAll("[data-density-index]").forEach(a=>{let o=Number(a.dataset.densityIndex)===t;a.classList.toggle("is-active",o)})}document.querySelector(".ppt-live")?.setAttribute("data-density",r)}function Bh(e){let r=typeof e.promptDraft=="string"?e.promptDraft:"",t=Array.isArray(e.slides)&&e.slides.length>0;Xh("topicInput",t?r:r||e.brief.topic),As("deckTitle",e.title||J("defaultDeckTitle")),As("deckMeta",J("slidesMeta",{count:e.slides.length})),As("currentSlideIndex",String(Jt(e)+1))}function Oc(e){if(!e)return;let t=document.getElementById("stylePresetSelect")?.value||an,n=document.querySelector("[data-font-family].is-active"),i=document.querySelector("[data-color-mode].is-active"),a=document.getElementById("densitySlider"),o=Math.max(0,Math.min(2,Number(a?.dataset.index??1)));e.style={...e.style||{},stylePreset:t,fontFamily:n?.dataset.fontFamily==="serif"?"serif":"sans",colorMode:i?.dataset.colorMode==="dark"?"dark":"light",density:Ca(o)}}function Ei(e){if(!e?.style)return;za(e.style.fontFamily),Ma(e.style.colorMode),Oa(e.style.density);let r=document.getElementById("stylePresetSelect");r&&(r.value=e.style.stylePreset||an,Ci(r))}function _c(e,r={}){r.includeTopic!==!1&&(e.brief.topic=Hh("topicInput"),e.promptDraft=e.brief.topic,Rh(e))}function Rh(e){let r=String(e.brief.topic||""),t=r.match(/(\d{1,2})\s*(?:页|页面|张|slides?|pages?)/i)||r.match(/(?:页数|slides?|pages?)\D{0,8}(\d{1,2})/i);t?e.brief.slideTarget=Math.max(3,Math.min(24,Number(t[1]))):e.brief.slideTarget=0}function Lh(e,r){let t=Bt("outlineList");t&&(t.innerHTML="",e.outline.forEach((n,i)=>{let a=document.createElement("li"),o=e.slides[i];a.className=`outline-row${o?.id===e.activeSlideId?" is-active":""}`,a.innerHTML=` ${i+1} - `,a.querySelector(".outline-card").addEventListener("click",()=>{o?.id&&r.selectSlide(o.id)}),t.append(a)}))}function Nn(e,r){let t=Bt("slideThumbs");if(t){if(t.innerHTML="",!e.slides.length){let n=document.createElement("div");n.className="thumbs-empty",n.textContent=$("slidesEmptyHint"),t.append(n);return}e.slides.forEach((n,i)=>{let a=n.html?Fa(n.html):null,o=n.theme||{},l=a||o.background||"var(--studio-slide-chrome)",c=document.createElement("button");c.className=`thumb${n.id===e.activeSlideId?" is-active":""}`,c.type="button",c.style.setProperty("--thumb-bg",l),c.style.setProperty("--thumb-primary",o.primary||"var(--studio-accent)");let s=document.createElement("div");if(s.className="thumb-preview",s.style.background=l,n.html)s.appendChild(Lh(n.html));else{let A=document.createElement("div");A.className="thumb-preview-slide",A.innerHTML=un(n),Bi(A),s.appendChild(A)}c.appendChild(s);let u=document.createElement("div");u.className="thumb-copy",u.innerHTML=` - ${Le(n.kicker||"")} - ${Le(n.title)} - `,c.appendChild(u);let d=document.createElement("span");d.className="thumb-number",d.textContent=String(i+1),c.appendChild(d),c.addEventListener("click",()=>r.selectSlide(n.id)),t.append(c)}),requestAnimationFrame(()=>{xs(),_a()})}}var Na=960,Ia=540;function Lh(e){let{host:r}=ws({hostClass:"thumb-preview-html",frameClass:"thumb-preview-frame",html:e,onReady:()=>or(r)});return r}function Nh(e,r){let t=e?.closest?.(`.${ar}`)||r?.querySelector?.(`.${ar}`);if(t){or(t);return}if(!e||!r)return;let{width:n,height:i}=bs(r);if(!n||!i)return;let a=Math.min(n/Na,i/Ia);e.style.width=`${Na}px`,e.style.height=`${Ia}px`,e.style.transform=`scale(${a})`,e.style.transformOrigin="top left"}function Ih(e){let r=e.querySelector(".thumb-preview-frame");if(r){Nh(r,e);return}let t=e.querySelector(".thumb-preview-html, .thumb-preview-slide");if(!t)return;let n=dh(e);if(!n)return;let i=n/Na,a=Ia*i;t.style.width=`${Na}px`,t.style.height=`${Ia}px`,t.style.transform=`scale(${i})`,t.style.transformOrigin="top left",e.style.height=`${a}px`}function xs(){let e=Bt("slideThumbs");e&&(e.querySelectorAll(`.${ar}`).forEach(r=>{or(r)}),e.querySelectorAll(".thumb-preview").forEach(r=>{r.querySelector(`.${ar}`)||Ih(r)}))}var Ti=null,Di=null;function Uc(){if(typeof ResizeObserver>"u")return;Di||(Di=new ResizeObserver(()=>{document.querySelectorAll(`.${ar}`).forEach(r=>{or(r)})})),Di.disconnect(),document.querySelectorAll(`.${ar}`).forEach(r=>{Di.observe(r)});let e=Bt("slideCanvas");e&&Di.observe(e)}function _a(){let e=Bt("slideThumbs");!e||typeof ResizeObserver>"u"||(Ti||(Ti=new ResizeObserver(()=>xs())),Ti.disconnect(),Ti.observe(e),e.querySelectorAll(".thumb-preview").forEach(r=>{Ti.observe(r)}),Uc())}function zh(e){if(!String(e.brief?.topic||"").trim()){let n=String(e.title||"").trim();if(n===$("blankDeckTitle")||n===$("defaultDeckTitle")||n===$("newSlideTitle"))return!0}if(!e.slides?.length)return!0;let r=String(e.title||"").trim();return e.slides.length===1&&e.outline.length===1&&e.outline[0]===$("newSlideTitle")&&(r===$("blankDeckTitle")||r===$("newSlideTitle"))}function Ba(e,r){if(!e)return;if(!r){e.style.background="";return}let t=r.theme||{},i=(r.html?Fa(r.html):null)||t.background||"";e.style.background=i||""}function cn(e,r){let t=Bt("slideCanvas");if(!t)return;let n=qt(e),i=!!(e.generation?.active||e.generation?.steps?.some(o=>o.status==="running"));if(!n){t.classList.remove("is-html-slide"),t.classList.add("is-empty"),t.innerHTML=i?`
${Le($("generationAgentWorking"))}

${Le($("agentWorkingDetail"))}

`:`

${Le($("welcomeTitle"))}

${Le($("welcomeSubcopy"))}

`,Fc(t),Ba(t,null),Qn();return}if(zh(e)&&!n.html&&!i){t.classList.remove("is-html-slide"),t.classList.add("is-empty"),t.innerHTML=` + `,a.querySelector(".outline-card").addEventListener("click",()=>{o?.id&&r.selectSlide(o.id)}),t.append(a)}))}function Nn(e,r){let t=Bt("slideThumbs");if(t){if(t.innerHTML="",!e.slides.length){let n=document.createElement("div");n.className="thumbs-empty",n.textContent=J("slidesEmptyHint"),t.append(n);return}e.slides.forEach((n,i)=>{let a=n.html?Fa(n.html):null,o=n.theme||{},l=a||o.background||"var(--studio-slide-chrome)",c=document.createElement("button");c.className=`thumb${n.id===e.activeSlideId?" is-active":""}`,c.type="button",c.style.setProperty("--thumb-bg",l),c.style.setProperty("--thumb-primary",o.primary||"var(--studio-accent)");let s=document.createElement("div");if(s.className="thumb-preview",s.style.background=l,n.html)s.appendChild(Nh(n.html));else{let p=document.createElement("div");p.className="thumb-preview-slide",p.innerHTML=un(n),Bi(p),s.appendChild(p)}c.appendChild(s);let u=document.createElement("div");u.className="thumb-copy",u.innerHTML=` + ${Ne(n.kicker||"")} + ${Ne(n.title)} + `,c.appendChild(u);let d=document.createElement("span");d.className="thumb-number",d.textContent=String(i+1),c.appendChild(d),c.addEventListener("click",()=>r.selectSlide(n.id)),t.append(c)}),requestAnimationFrame(()=>{xs(),_a()})}}var Na=960,Ia=540;function Nh(e){let{host:r}=ws({hostClass:"thumb-preview-html",frameClass:"thumb-preview-frame",html:e,onReady:()=>or(r)});return r}function Ih(e,r){let t=e?.closest?.(`.${ar}`)||r?.querySelector?.(`.${ar}`);if(t){or(t);return}if(!e||!r)return;let{width:n,height:i}=bs(r);if(!n||!i)return;let a=Math.min(n/Na,i/Ia);e.style.width=`${Na}px`,e.style.height=`${Ia}px`,e.style.transform=`scale(${a})`,e.style.transformOrigin="top left"}function zh(e){let r=e.querySelector(".thumb-preview-frame");if(r){Ih(r,e);return}let t=e.querySelector(".thumb-preview-html, .thumb-preview-slide");if(!t)return;let n=fh(e);if(!n)return;let i=n/Na,a=Ia*i;t.style.width=`${Na}px`,t.style.height=`${Ia}px`,t.style.transform=`scale(${i})`,t.style.transformOrigin="top left",e.style.height=`${a}px`}function xs(){let e=Bt("slideThumbs");e&&(e.querySelectorAll(`.${ar}`).forEach(r=>{or(r)}),e.querySelectorAll(".thumb-preview").forEach(r=>{r.querySelector(`.${ar}`)||zh(r)}))}var Ti=null,Di=null;function Uc(){if(typeof ResizeObserver>"u")return;Di||(Di=new ResizeObserver(()=>{document.querySelectorAll(`.${ar}`).forEach(r=>{or(r)})})),Di.disconnect(),document.querySelectorAll(`.${ar}`).forEach(r=>{Di.observe(r)});let e=Bt("slideCanvas");e&&Di.observe(e)}function _a(){let e=Bt("slideThumbs");!e||typeof ResizeObserver>"u"||(Ti||(Ti=new ResizeObserver(()=>xs())),Ti.disconnect(),Ti.observe(e),e.querySelectorAll(".thumb-preview").forEach(r=>{Ti.observe(r)}),Uc())}function Mh(e){if(!String(e.brief?.topic||"").trim()){let n=String(e.title||"").trim();if(n===J("blankDeckTitle")||n===J("defaultDeckTitle")||n===J("newSlideTitle"))return!0}if(!e.slides?.length)return!0;let r=String(e.title||"").trim();return e.slides.length===1&&e.outline.length===1&&e.outline[0]===J("newSlideTitle")&&(r===J("blankDeckTitle")||r===J("newSlideTitle"))}function Ba(e,r){if(!e)return;if(!r){e.style.background="";return}let t=r.theme||{},i=(r.html?Fa(r.html):null)||t.background||"";e.style.background=i||""}function cn(e,r){let t=Bt("slideCanvas");if(!t)return;let n=qt(e),i=!!(e.generation?.active||e.generation?.steps?.some(o=>o.status==="running"));if(!n){t.classList.remove("is-html-slide"),t.classList.add("is-empty"),t.innerHTML=i?`
${Ne(J("generationAgentWorking"))}

${Ne(J("agentWorkingDetail"))}

`:`

${Ne(J("welcomeTitle"))}

${Ne(J("welcomeSubcopy"))}

`,Fc(t),Ba(t,null),Qn();return}if(Mh(e)&&!n.html&&!i){t.classList.remove("is-html-slide"),t.classList.add("is-empty"),t.innerHTML=`
-

${Le($("welcomeTitle"))}

-

${Le($("welcomeSubcopy"))}

+

${Ne(J("welcomeTitle"))}

+

${Ne(J("welcomeSubcopy"))}

- - - + + +
- `,Fc(t),Ba(t,null),Qn();return}if(t.classList.remove("is-empty"),n?.html){t.innerHTML="",t.classList.add("is-html-slide");let{host:o,frame:l}=ws({frameClass:"html-slide-frame",html:n.html,interactive:!0,onReady:c=>{Uh(c,n.id,r),Qn(),or(o),requestAnimationFrame(()=>or(o))}});t.append(o),Ba(t,n),t.classList.remove("is-entering"),t.offsetWidth,t.classList.add("is-entering"),Qn();return}t.classList.remove("is-html-slide"),t.innerHTML=n?un(n,{selectedElementId:e.selectedElementId,editable:!0}):"",Bi(t),t.querySelectorAll(".slide-element").forEach(o=>{let l=o.dataset.elementId;o.addEventListener("click",c=>{c.stopPropagation(),r.selectElement(l)}),o.addEventListener("pointerdown",c=>{c.target?.isContentEditable&&!c.target.classList.contains("resize-handle")||r.beginDrag(c,l)})}),t.querySelectorAll("[data-edit-text]").forEach(o=>{o.addEventListener("blur",()=>{r.updateElementTextDirect(o.dataset.editText,o.textContent||"")}),o.addEventListener("keydown",l=>{(l.metaKey||l.ctrlKey)&&l.key==="Enter"&&o.blur()})}),t.querySelectorAll("[data-edit-list]").forEach(o=>{o.addEventListener("blur",()=>{r.updateElementListItemDirect(o.dataset.editList,Number(o.dataset.itemIndex),o.textContent||"")}),o.addEventListener("keydown",l=>{(l.metaKey||l.ctrlKey)&&l.key==="Enter"&&o.blur()})}),t.classList.remove("is-entering"),t.offsetWidth,t.classList.add("is-entering");let a=Rn(e);if(a)fh(a);else{let o=Bt("floatingToolbar");o&&o.classList.remove("is-visible")}Ba(t,n),Qn()}function Ua(e,r){let t=Bt("elementInspector"),n=Rn(e),i=qt(e);if(!(!t||!i)){if(t.hidden){t.innerHTML="";return}if(!n){t.innerHTML=`${Cc(i)}

${$("noSelection")}

`,Pc(t,r),t.querySelector("#slideNotesInput")?.addEventListener("input",a=>r.updateSlideNotes(a.target.value));return}t.innerHTML=` + `,Fc(t),Ba(t,null),Qn();return}if(t.classList.remove("is-empty"),n?.html){t.innerHTML="",t.classList.add("is-html-slide");let{host:o,frame:l}=ws({frameClass:"html-slide-frame",html:n.html,interactive:!0,onReady:c=>{Wh(c,n.id,r),Qn(),or(o),requestAnimationFrame(()=>or(o))}});t.append(o),Ba(t,n),t.classList.remove("is-entering"),t.offsetWidth,t.classList.add("is-entering"),Qn();return}t.classList.remove("is-html-slide"),t.innerHTML=n?un(n,{selectedElementId:e.selectedElementId,editable:!0}):"",Bi(t),t.querySelectorAll(".slide-element").forEach(o=>{let l=o.dataset.elementId;o.addEventListener("click",c=>{c.stopPropagation(),r.selectElement(l)}),o.addEventListener("pointerdown",c=>{c.target?.isContentEditable&&!c.target.classList.contains("resize-handle")||r.beginDrag(c,l)})}),t.querySelectorAll("[data-edit-text]").forEach(o=>{o.addEventListener("blur",()=>{r.updateElementTextDirect(o.dataset.editText,o.textContent||"")}),o.addEventListener("keydown",l=>{(l.metaKey||l.ctrlKey)&&l.key==="Enter"&&o.blur()})}),t.querySelectorAll("[data-edit-list]").forEach(o=>{o.addEventListener("blur",()=>{r.updateElementListItemDirect(o.dataset.editList,Number(o.dataset.itemIndex),o.textContent||"")}),o.addEventListener("keydown",l=>{(l.metaKey||l.ctrlKey)&&l.key==="Enter"&&o.blur()})}),t.classList.remove("is-entering"),t.offsetWidth,t.classList.add("is-entering");let a=Rn(e);if(a)hh(a);else{let o=Bt("floatingToolbar");o&&o.classList.remove("is-visible")}Ba(t,n),Qn()}function Ua(e,r){let t=Bt("elementInspector"),n=Rn(e),i=qt(e);if(!(!t||!i)){if(t.hidden){t.innerHTML="";return}if(!n){t.innerHTML=`${Cc(i)}

${J("noSelection")}

`,Pc(t,r),t.querySelector("#slideNotesInput")?.addEventListener("input",a=>r.updateSlideNotes(a.target.value));return}t.innerHTML=` ${Cc(i)} - - - + -
@@ -83,33 +83,33 @@ Incremental: add new information, e.g. "Add a competitor analysis section after
- - + +
- + `,["elementTextInput","elementItemsInput","elementDataInput","elementXInput","elementYInput","elementWInput","elementHInput","elementFontInput","elementWeightInput","elementColorInput","elementBgInput","slideNotesInput"].forEach(a=>t.querySelector(`#${a}`)?.addEventListener("input",()=>r.updateElementFromInspector())),Pc(t,r)}}function Cc(e){return`
- - - - - + + + + +
- ${Mh(e)} - `}function Mh(e){let r=Array.isArray(e.quality?.issues)?e.quality.issues:[];return r.length?` + ${Oh(e)} + `}function Oh(e){let r=Array.isArray(e.quality?.issues)?e.quality.issues:[];return r.length?`
- ${Le($("qualityReportTitle"))}: ${Math.round(Number(e.quality?.score??100))}/100 -
    ${r.map(t=>`
  • ${Le(t.message)}
  • `).join("")}
+ ${Ne(J("qualityReportTitle"))}: ${Math.round(Number(e.quality?.score??100))}/100 +
    ${r.map(t=>`
  • ${Ne(t.message)}
  • `).join("")}
- `:""}function Pc(e,r){["slideKickerInput","slideClaimInput","slideProofInput","slideSupportInput","slideSourceInput"].forEach(t=>{e.querySelector(`#${t}`)?.addEventListener("input",()=>r.updateSlideMethodology())})}var ms=new Map,Oh=0;function Bi(e=document){(e?.querySelectorAll?e:document).querySelectorAll("iframe.html-slide-frame[data-ppt-live-mount]").forEach(t=>{let n=t.getAttribute("data-ppt-live-mount");if(!n)return;let i=ms.get(n);i&&(ms.delete(n),t.removeAttribute("data-ppt-live-mount"),Nc(t,i,()=>{xh(t)}))})}function un(e,r={}){if(e?.html){let a=`slide-${++Oh}`;return ms.set(a,Nr(e.html)),``}let t=!!r.editable,n=r.selectedElementId||"",i=[`--slide-bg:${e.theme.background}`,`--slide-ink:${e.theme.ink}`,`--slide-muted:${e.theme.muted}`,`--slide-primary:${e.theme.primary}`,`--slide-accent:${e.theme.accent}`,`--slide-panel:${e.theme.panel||"#ffffff"}`].join(";");return`
- ${e.kicker?`
${Le(e.kicker)}
`:""} - ${e.proofObject?`
${Le(e.proofObject)}
`:""} - ${_h(e)} - ${(e.elements||[]).map(a=>Gh(a,e.theme,t,n)).join("")} - ${e.sourceNote?`
${Le(e.sourceNote)}
`:""} -
`}function _h(e){let r=Array.isArray(e.quality?.issues)?e.quality.issues:[];if(!r.length)return"";let t=r.filter(i=>i.severity==="high").length,n=t?$("qualityNeedsReview"):$("qualityHasWarnings");return`
${Le(n)}
`}function Fc(e){e.querySelectorAll("[data-welcome-prompt]").forEach(r=>{r.addEventListener("click",()=>{let t=Bt("topicInput");t&&(t.value=r.dataset.welcomePrompt||r.textContent||"",t.focus())})})}function Uh(e,r,t){if(!t?.updateSlideHtmlDirect)return;let n=e?.shadowRoot,i=n?.querySelector(`.${gs}`);if(!n||!i)return;if(!n.querySelector(`style[${Sc}]`)){let c=document.createElement("style");c.setAttribute(Sc,"true"),c.textContent=[`[${Zn}] { cursor: text; -webkit-user-select: text !important; user-select: text !important; }`,`[${Zn}]:hover { outline: 1.5px dashed rgba(37, 99, 235, 0.55); outline-offset: 1px; }`,`[${Zn}]:focus { outline: 2px solid rgba(37, 99, 235, 0.85); outline-offset: 1px; }`].join(` -`),n.appendChild(c)}n.addEventListener("click",c=>{c.target?.closest?.("a[href]")&&c.preventDefault()},!0);let a=()=>{let c=Wh(e,i);c&&t.updateSlideHtmlDirect(r,c)},o=i.querySelectorAll("h1,h2,h3,h4,h5,h6,p,li,span,strong,em,b,i,u,small,code,a,label,blockquote,td,th,dt,dd,figcaption,div"),l=0;o.forEach(c=>{Array.from(c.childNodes).some(u=>u.nodeType===Node.TEXT_NODE&&String(u.textContent||"").trim())&&(l+=1,c.setAttribute("contenteditable","true"),c.setAttribute("spellcheck","false"),c.setAttribute(Zn,"true"),c.addEventListener("blur",a),c.addEventListener("keydown",u=>{((u.metaKey||u.ctrlKey)&&u.key==="Enter"||u.key==="Escape")&&(u.preventDefault(),c.blur())}))}),l||console.warn("[ppt-live] no editable nodes bound for slide",{slideId:r,candidates:o.length})}function Wh(e,r){let t=String(e?._pptLiveSourceHtml||"");if(!t)return"";let n=new DOMParser().parseFromString(Nr(t),"text/html");if(!n.body)return"";let i=r.cloneNode(!0);i.querySelectorAll(`[${Zn}]`).forEach(o=>{o.removeAttribute("contenteditable"),o.removeAttribute("spellcheck"),o.removeAttribute(Zn)}),n.body.innerHTML=i.innerHTML;let a=` -${n.documentElement.outerHTML}`;return e._pptLiveSourceHtml=a,a}function Nr(e){let r=String(e||"").trim();return r?/]/i.test(r)?r:`${r}`:''}function Gh(e,r,t,n){let i=t&&n===e.id,a=[`left:${e.x}%`,`top:${e.y}%`,`width:${e.w}%`,`height:${e.h}%`,`font-size:${qh(e.style.fontSize)}`,`font-weight:${e.style.fontWeight}`,`color:${Tc(e.style.color,r)}`,`text-align:${e.style.align||"left"}`,`background:${Tc(e.style.background,r)}`,`opacity:${e.style.opacity}`,`border-radius:${e.style.borderRadius}px`].join(";"),o="";if(e.type==="list")o=`
    ${(e.items||[]).map((l,c)=>t?`
  • ${Le(l)}
  • `:`
  • ${Le(l)}
  • `).join("")}
`;else if(e.type==="metric")o=`${Le(e.text)}${Le(e.label)}`;else if(e.type==="chart"){let l=Math.max(1,...(e.data||[]).map(c=>Number(c.value)||0));o=`${Le(e.text)}
${(e.data||[]).map(c=>`${Le(c.label)}`).join("")}
`}else e.type==="media"?o=`${Le(e.text||$("mediaPlaceholder"))}`:o=t?`${Le(e.text||"")}`:Le(e.text||"");return`
${o}${i?'':""}
`}function Tc(e,r){return!e||e==="transparent"?"transparent":e==="ink"?r.ink:e==="muted"?r.muted:e==="primary"?r.primary:e==="accent"?r.accent:e==="panel"?r.panel||"#ffffff":e==="soft"?jh(r.primary,.1):e==="background"?r.background:e}function jh(e,r){let t=String(e||"#0f766e").replace("#",""),n=parseInt(t.length===3?t.split("").map(l=>l+l).join(""):t,16),i=n>>16&255,a=n>>8&255,o=n&255;return`rgba(${i}, ${a}, ${o}, ${r})`}function qh(e){let r=Math.max(8,Number(e)||24);return`clamp(8px, ${Math.round(r/10.2*1e3)/1e3}cqw, ${r}px)`}function Bt(e){return document.getElementById(e)}function Vh(e,r){let t=Bt(e);t&&document.activeElement!==t&&(t.value=r??"")}function Xh(e){return Bt(e)?.value||""}function As(e,r){let t=Bt(e);t&&(t.textContent=String(r??""))}function Ra(e){return Math.round(Number(e)*10)/10}function Wc(e=document,r=!1){let t=e,n=t.defaultView||window,i=new Set(["SCRIPT","STYLE","PRE","CODE","SVG","TEXTAREA"]),a="strong,b,em,i,u,span,a,small,mark,sub,sup,code",o="p,h1,h2,h3,h4,h5,h6,li";function l(E){let B=String(E.className||"").toLowerCase(),T=String(E.getAttribute?.("role")||"").toLowerCase();return/h1|title|headline|hero/.test(B)||T==="heading"?"h1":/h2|subtitle|subhead|section-title/.test(B)?"h2":/h3|kicker|eyebrow|label|caption/.test(B)?"h3":"p"}function c(E){return!E||E==="transparent"||E==="rgba(0, 0, 0, 0)"}function s(){let E=t.body;if(!E)return;let B=n.getComputedStyle(E),T=parseFloat(B.width),W=parseFloat(B.height);E.style.width=T>0?`${T}px`:"1280px",E.style.height=W>0?`${W}px`:"720px",E.style.margin="0",E.style.padding=B.padding||"0",E.style.overflow="hidden",E.style.position=B.position==="static"?"relative":B.position,c(B.backgroundColor)||(E.style.backgroundColor=B.backgroundColor),B.color&&(E.style.color=B.color),t.documentElement.style.margin="0",t.documentElement.style.padding="0";let H=n.getComputedStyle(t.documentElement).backgroundColor;!c(H)&&c(B.backgroundColor)&&(E.style.backgroundColor=H)}function u(E){E.querySelectorAll("div").forEach(B=>{i.has(B.tagName)||[...B.childNodes].forEach(T=>{if(T.nodeType!==Node.TEXT_NODE)return;let W=T.textContent.replace(/\s+/g," ").trim();if(!W){T.remove();return}let H=t.createElement(l(B));H.textContent=W,B.replaceChild(H,T)})})}function d(E){E.querySelectorAll("span").forEach(B=>{let T=n.getComputedStyle(B),W=T.backgroundColor&&T.backgroundColor!=="rgba(0, 0, 0, 0)",H=f(T);if(!W&&!H)return;let C=t.createElement("p");B.className&&(C.className=B.className),B.getAttribute("style")&&C.setAttribute("style",B.getAttribute("style")),C.textContent=B.textContent,B.replaceWith(C)})}function A(E){E.querySelectorAll("div").forEach(B=>{let T=[...B.children].length>0&&[...B.children].every(C=>C.tagName==="SPAN"||C.tagName==="BR"),W=B.textContent.replace(/\s+/g," ").trim();if(!T||!W||B.querySelector("ul,ol,p,h1,h2,h3,h4,h5,h6"))return;let H=W.split(/\s*[•·▪-]\s+/).map(C=>C.trim()).filter(Boolean);if(H.length>=2){let C=t.createElement("ul");H.forEach(I=>{let m=t.createElement("li");m.textContent=I,C.appendChild(m)}),B.replaceChildren(C)}})}function f(E){return["Top","Right","Bottom","Left"].some(B=>parseFloat(E[`border${B}Width`]||0)>0)}function p(E){E.querySelectorAll(o).forEach(B=>{let T=n.getComputedStyle(B),W=T.backgroundColor&&T.backgroundColor!=="rgba(0, 0, 0, 0)",H=T.backgroundImage&&T.backgroundImage!=="none",C=f(T),I=T.boxShadow&&T.boxShadow!=="none";if(!W&&!H&&!C&&!I)return;let m=t.createElement("div");(W||H)&&(m.style.background=T.background,m.style.backgroundColor=T.backgroundColor),H&&!String(T.backgroundImage||"").includes("gradient")&&(m.style.backgroundImage="none"),C&&(m.style.border=T.border),T.borderRadius&&(m.style.borderRadius=T.borderRadius),I&&(m.style.boxShadow=T.boxShadow),T.padding&&(m.style.padding=T.padding),B.style.background="transparent",B.style.backgroundColor="transparent",B.style.backgroundImage="none",B.style.border="none",B.style.boxShadow="none",B.style.padding="0",B.parentNode.insertBefore(m,B),m.appendChild(B)})}function g(E){E.querySelectorAll("*").forEach(B=>{let T=n.getComputedStyle(B),W=T.backgroundImage||"";if(!W.includes("gradient"))return;let H=W.match(/#[0-9a-f]{3,8}|rgba?\([^)]+\)/i);B.style.backgroundImage="none",H?B.style.backgroundColor=H[0]:T.backgroundColor&&T.backgroundColor!=="rgba(0, 0, 0, 0)"&&(B.style.backgroundColor=T.backgroundColor)})}function y(E){E.querySelectorAll("div").forEach(B=>{let T=n.getComputedStyle(B),W=T.backgroundImage;!W||W==="none"||(B.style.backgroundImage="none",T.backgroundColor&&T.backgroundColor!=="rgba(0, 0, 0, 0)"&&(B.style.backgroundColor=T.backgroundColor))})}function v(E){E.querySelectorAll(a).forEach(B=>{B.style.setProperty("margin","0","important"),B.style.setProperty("padding","0","important"),B.style.setProperty("border","none","important"),B.style.setProperty("box-shadow","none","important"),B.style.setProperty("background","transparent","important"),B.style.setProperty("background-color","transparent","important"),B.style.setProperty("background-image","none","important"),n.getComputedStyle(B).display==="block"&&B.style.setProperty("display","inline","important")})}function b(E){E.querySelectorAll(a).forEach(B=>{B.removeAttribute("class"),B.removeAttribute("style")})}function x(E){E.querySelectorAll('link[rel="stylesheet"], style').forEach(B=>{B.id!=="ppt-live-export-safe-styles"&&B.remove()})}function P(E){E.querySelectorAll(a).forEach(B=>{let T=n.getComputedStyle(B),W=["marginTop","marginRight","marginBottom","marginLeft"].some(q=>parseFloat(T[q])>0),H=["paddingTop","paddingRight","paddingBottom","paddingLeft"].some(q=>parseFloat(T[q])>0),C=f(T),I=T.backgroundColor&&T.backgroundColor!=="rgba(0, 0, 0, 0)",m=T.backgroundImage&&T.backgroundImage!=="none";if(!W&&!H&&!C&&!I&&!m)return;let N=B.tagName.toLowerCase(),ne=t.createElement(N);ne.textContent=B.textContent,B.replaceWith(ne)})}function F(E){let B=E.body||E.querySelector(".ppt-export-body");(B?[B,...B.querySelectorAll("*")]:[...E.querySelectorAll("body, body *")]).forEach(W=>{if(i.has(W.tagName))return;let H=n.getComputedStyle(W),C=W.style;H.position&&H.position!=="static"&&(C.position=H.position),H.display&&H.display!=="inline"&&(C.display=H.display),["left","top","right","bottom","width","height","maxWidth","maxHeight"].forEach(m=>{let N=H[m];N&&N!=="auto"&&N!=="none"&&N!=="0px"&&(C[m]=N)}),H.zIndex&&H.zIndex!=="auto"&&(C.zIndex=H.zIndex),H.color&&(C.color=H.color),H.fontSize&&(C.fontSize=H.fontSize),H.fontWeight&&(C.fontWeight=H.fontWeight),H.fontFamily&&(C.fontFamily=H.fontFamily),H.lineHeight&&H.lineHeight!=="normal"&&(C.lineHeight=H.lineHeight),H.textAlign&&(C.textAlign=H.textAlign);let I=H.backgroundColor;I&&I!=="rgba(0, 0, 0, 0)"&&(C.backgroundColor=I),H.border&&H.border!=="none"&&f(H)&&(C.border=H.border),H.borderRadius&&H.borderRadius!=="0px"&&(C.borderRadius=H.borderRadius),H.padding&&H.padding!=="0px"&&(C.padding=H.padding),H.gap&&H.gap!=="normal"&&(C.gap=H.gap),H.flexDirection&&H.flexDirection!=="row"&&(C.flexDirection=H.flexDirection),H.alignItems&&H.alignItems!=="normal"&&(C.alignItems=H.alignItems),H.justifyContent&&H.justifyContent!=="normal"&&(C.justifyContent=H.justifyContent)})}function R(E){let B="ppt-live-export-safe-styles";E.getElementById(B)?.remove();let T=t.createElement("style");T.id=B,T.textContent=` + `:""}function Pc(e,r){["slideKickerInput","slideClaimInput","slideProofInput","slideSupportInput","slideSourceInput"].forEach(t=>{e.querySelector(`#${t}`)?.addEventListener("input",()=>r.updateSlideMethodology())})}var ms=new Map,_h=0;function Bi(e=document){(e?.querySelectorAll?e:document).querySelectorAll("iframe.html-slide-frame[data-ppt-live-mount]").forEach(t=>{let n=t.getAttribute("data-ppt-live-mount");if(!n)return;let i=ms.get(n);i&&(ms.delete(n),t.removeAttribute("data-ppt-live-mount"),Nc(t,i,()=>{Sh(t)}))})}function un(e,r={}){if(e?.html){let a=`slide-${++_h}`;return ms.set(a,Nr(e.html)),``}let t=!!r.editable,n=r.selectedElementId||"",i=[`--slide-bg:${e.theme.background}`,`--slide-ink:${e.theme.ink}`,`--slide-muted:${e.theme.muted}`,`--slide-primary:${e.theme.primary}`,`--slide-accent:${e.theme.accent}`,`--slide-panel:${e.theme.panel||"#ffffff"}`].join(";");return`
+ ${e.kicker?`
${Ne(e.kicker)}
`:""} + ${e.proofObject?`
${Ne(e.proofObject)}
`:""} + ${Uh(e)} + ${(e.elements||[]).map(a=>jh(a,e.theme,t,n)).join("")} + ${e.sourceNote?`
${Ne(e.sourceNote)}
`:""} +
`}function Uh(e){let r=Array.isArray(e.quality?.issues)?e.quality.issues:[];if(!r.length)return"";let t=r.filter(i=>i.severity==="high").length,n=t?J("qualityNeedsReview"):J("qualityHasWarnings");return`
${Ne(n)}
`}function Fc(e){e.querySelectorAll("[data-welcome-prompt]").forEach(r=>{r.addEventListener("click",()=>{let t=Bt("topicInput");t&&(t.value=r.dataset.welcomePrompt||r.textContent||"",t.focus())})})}function Wh(e,r,t){if(!t?.updateSlideHtmlDirect)return;let n=e?.shadowRoot,i=n?.querySelector(`.${gs}`);if(!n||!i)return;if(!n.querySelector(`style[${Sc}]`)){let c=document.createElement("style");c.setAttribute(Sc,"true"),c.textContent=[`[${Zn}] { cursor: text; -webkit-user-select: text !important; user-select: text !important; }`,`[${Zn}]:hover { outline: 1.5px dashed rgba(37, 99, 235, 0.55); outline-offset: 1px; }`,`[${Zn}]:focus { outline: 2px solid rgba(37, 99, 235, 0.85); outline-offset: 1px; }`].join(` +`),n.appendChild(c)}n.addEventListener("click",c=>{c.target?.closest?.("a[href]")&&c.preventDefault()},!0);let a=()=>{let c=Gh(e,i);c&&t.updateSlideHtmlDirect(r,c)},o=i.querySelectorAll("h1,h2,h3,h4,h5,h6,p,li,span,strong,em,b,i,u,small,code,a,label,blockquote,td,th,dt,dd,figcaption,div"),l=0;o.forEach(c=>{Array.from(c.childNodes).some(u=>u.nodeType===Node.TEXT_NODE&&String(u.textContent||"").trim())&&(l+=1,c.setAttribute("contenteditable","true"),c.setAttribute("spellcheck","false"),c.setAttribute(Zn,"true"),c.addEventListener("blur",a),c.addEventListener("keydown",u=>{((u.metaKey||u.ctrlKey)&&u.key==="Enter"||u.key==="Escape")&&(u.preventDefault(),c.blur())}))}),l||console.warn("[ppt-live] no editable nodes bound for slide",{slideId:r,candidates:o.length})}function Gh(e,r){let t=String(e?._pptLiveSourceHtml||"");if(!t)return"";let n=new DOMParser().parseFromString(Nr(t),"text/html");if(!n.body)return"";let i=r.cloneNode(!0);i.querySelectorAll(`[${Zn}]`).forEach(o=>{o.removeAttribute("contenteditable"),o.removeAttribute("spellcheck"),o.removeAttribute(Zn)}),n.body.innerHTML=i.innerHTML;let a=` +${n.documentElement.outerHTML}`;return e._pptLiveSourceHtml=a,a}function Nr(e){let r=String(e||"").trim();return r?/]/i.test(r)?r:`${r}`:''}function jh(e,r,t,n){let i=t&&n===e.id,a=[`left:${e.x}%`,`top:${e.y}%`,`width:${e.w}%`,`height:${e.h}%`,`font-size:${Vh(e.style.fontSize)}`,`font-weight:${e.style.fontWeight}`,`color:${Tc(e.style.color,r)}`,`text-align:${e.style.align||"left"}`,`background:${Tc(e.style.background,r)}`,`opacity:${e.style.opacity}`,`border-radius:${e.style.borderRadius}px`].join(";"),o="";if(e.type==="list")o=`
    ${(e.items||[]).map((l,c)=>t?`
  • ${Ne(l)}
  • `:`
  • ${Ne(l)}
  • `).join("")}
`;else if(e.type==="metric")o=`${Ne(e.text)}${Ne(e.label)}`;else if(e.type==="chart"){let l=Math.max(1,...(e.data||[]).map(c=>Number(c.value)||0));o=`${Ne(e.text)}
${(e.data||[]).map(c=>`${Ne(c.label)}`).join("")}
`}else e.type==="media"?o=`${Ne(e.text||J("mediaPlaceholder"))}`:o=t?`${Ne(e.text||"")}`:Ne(e.text||"");return`
${o}${i?'':""}
`}function Tc(e,r){return!e||e==="transparent"?"transparent":e==="ink"?r.ink:e==="muted"?r.muted:e==="primary"?r.primary:e==="accent"?r.accent:e==="panel"?r.panel||"#ffffff":e==="soft"?qh(r.primary,.1):e==="background"?r.background:e}function qh(e,r){let t=String(e||"#0f766e").replace("#",""),n=parseInt(t.length===3?t.split("").map(l=>l+l).join(""):t,16),i=n>>16&255,a=n>>8&255,o=n&255;return`rgba(${i}, ${a}, ${o}, ${r})`}function Vh(e){let r=Math.max(8,Number(e)||24);return`clamp(8px, ${Math.round(r/10.2*1e3)/1e3}cqw, ${r}px)`}function Bt(e){return document.getElementById(e)}function Xh(e,r){let t=Bt(e);t&&document.activeElement!==t&&(t.value=r??"")}function Hh(e){return Bt(e)?.value||""}function As(e,r){let t=Bt(e);t&&(t.textContent=String(r??""))}function Ra(e){return Math.round(Number(e)*10)/10}function Wc(e=document,r=!1){let t=e,n=t.defaultView||window,i=new Set(["SCRIPT","STYLE","PRE","CODE","SVG","TEXTAREA"]),a="strong,b,em,i,u,span,a,small,mark,sub,sup,code",o="p,h1,h2,h3,h4,h5,h6,li";function l(E){let R=String(E.className||"").toLowerCase(),T=String(E.getAttribute?.("role")||"").toLowerCase();return/h1|title|headline|hero/.test(R)||T==="heading"?"h1":/h2|subtitle|subhead|section-title/.test(R)?"h2":/h3|kicker|eyebrow|label|caption/.test(R)?"h3":"p"}function c(E){return!E||E==="transparent"||E==="rgba(0, 0, 0, 0)"}function s(){let E=t.body;if(!E)return;let R=n.getComputedStyle(E),T=parseFloat(R.width),G=parseFloat(R.height);E.style.width=T>0?`${T}px`:"1280px",E.style.height=G>0?`${G}px`:"720px",E.style.margin="0",E.style.padding=R.padding||"0",E.style.overflow="hidden",E.style.position=R.position==="static"?"relative":R.position,c(R.backgroundColor)||(E.style.backgroundColor=R.backgroundColor),R.color&&(E.style.color=R.color),t.documentElement.style.margin="0",t.documentElement.style.padding="0";let H=n.getComputedStyle(t.documentElement).backgroundColor;!c(H)&&c(R.backgroundColor)&&(E.style.backgroundColor=H)}function u(E){E.querySelectorAll("div").forEach(R=>{i.has(R.tagName)||[...R.childNodes].forEach(T=>{if(T.nodeType!==Node.TEXT_NODE)return;let G=T.textContent.replace(/\s+/g," ").trim();if(!G){T.remove();return}let H=t.createElement(l(R));H.textContent=G,R.replaceChild(H,T)})})}function d(E){E.querySelectorAll("span").forEach(R=>{let T=n.getComputedStyle(R),G=T.backgroundColor&&T.backgroundColor!=="rgba(0, 0, 0, 0)",H=f(T);if(!G&&!H)return;let k=t.createElement("p");R.className&&(k.className=R.className),R.getAttribute("style")&&k.setAttribute("style",R.getAttribute("style")),k.textContent=R.textContent,R.replaceWith(k)})}function p(E){E.querySelectorAll("div").forEach(R=>{let T=[...R.children].length>0&&[...R.children].every(k=>k.tagName==="SPAN"||k.tagName==="BR"),G=R.textContent.replace(/\s+/g," ").trim();if(!T||!G||R.querySelector("ul,ol,p,h1,h2,h3,h4,h5,h6"))return;let H=G.split(/\s*[•·▪-]\s+/).map(k=>k.trim()).filter(Boolean);if(H.length>=2){let k=t.createElement("ul");H.forEach(O=>{let g=t.createElement("li");g.textContent=O,k.appendChild(g)}),R.replaceChildren(k)}})}function f(E){return["Top","Right","Bottom","Left"].some(R=>parseFloat(E[`border${R}Width`]||0)>0)}function h(E){E.querySelectorAll(o).forEach(R=>{let T=n.getComputedStyle(R),G=T.backgroundColor&&T.backgroundColor!=="rgba(0, 0, 0, 0)",H=T.backgroundImage&&T.backgroundImage!=="none",k=f(T),O=T.boxShadow&&T.boxShadow!=="none";if(!G&&!H&&!k&&!O)return;let g=t.createElement("div");(G||H)&&(g.style.background=T.background,g.style.backgroundColor=T.backgroundColor),H&&!String(T.backgroundImage||"").includes("gradient")&&(g.style.backgroundImage="none"),k&&(g.style.border=T.border),T.borderRadius&&(g.style.borderRadius=T.borderRadius),O&&(g.style.boxShadow=T.boxShadow),T.padding&&(g.style.padding=T.padding),R.style.background="transparent",R.style.backgroundColor="transparent",R.style.backgroundImage="none",R.style.border="none",R.style.boxShadow="none",R.style.padding="0",R.parentNode.insertBefore(g,R),g.appendChild(R)})}function A(E){E.querySelectorAll("*").forEach(R=>{let T=n.getComputedStyle(R),G=T.backgroundImage||"";if(!G.includes("gradient"))return;let H=G.match(/#[0-9a-f]{3,8}|rgba?\([^)]+\)/i);R.style.backgroundImage="none",H?R.style.backgroundColor=H[0]:T.backgroundColor&&T.backgroundColor!=="rgba(0, 0, 0, 0)"&&(R.style.backgroundColor=T.backgroundColor)})}function y(E){E.querySelectorAll("div").forEach(R=>{let T=n.getComputedStyle(R),G=T.backgroundImage;!G||G==="none"||(R.style.backgroundImage="none",T.backgroundColor&&T.backgroundColor!=="rgba(0, 0, 0, 0)"&&(R.style.backgroundColor=T.backgroundColor))})}function v(E){E.querySelectorAll(a).forEach(R=>{R.style.setProperty("margin","0","important"),R.style.setProperty("padding","0","important"),R.style.setProperty("border","none","important"),R.style.setProperty("box-shadow","none","important"),R.style.setProperty("background","transparent","important"),R.style.setProperty("background-color","transparent","important"),R.style.setProperty("background-image","none","important"),n.getComputedStyle(R).display==="block"&&R.style.setProperty("display","inline","important")})}function b(E){E.querySelectorAll(a).forEach(R=>{R.removeAttribute("class"),R.removeAttribute("style")})}function x(E){E.querySelectorAll('link[rel="stylesheet"], style').forEach(R=>{R.id!=="ppt-live-export-safe-styles"&&R.remove()})}function P(E){E.querySelectorAll(a).forEach(R=>{let T=n.getComputedStyle(R),G=["marginTop","marginRight","marginBottom","marginLeft"].some(q=>parseFloat(T[q])>0),H=["paddingTop","paddingRight","paddingBottom","paddingLeft"].some(q=>parseFloat(T[q])>0),k=f(T),O=T.backgroundColor&&T.backgroundColor!=="rgba(0, 0, 0, 0)",g=T.backgroundImage&&T.backgroundImage!=="none";if(!G&&!H&&!k&&!O&&!g)return;let z=R.tagName.toLowerCase(),ne=t.createElement(z);ne.textContent=R.textContent,R.replaceWith(ne)})}function F(E){let R=E.body||E.querySelector(".ppt-export-body");(R?[R,...R.querySelectorAll("*")]:[...E.querySelectorAll("body, body *")]).forEach(G=>{if(i.has(G.tagName))return;let H=n.getComputedStyle(G),k=G.style;H.position&&H.position!=="static"&&(k.position=H.position),H.display&&H.display!=="inline"&&(k.display=H.display),["left","top","right","bottom","width","height","maxWidth","maxHeight"].forEach(g=>{let z=H[g];z&&z!=="auto"&&z!=="none"&&z!=="0px"&&(k[g]=z)}),H.zIndex&&H.zIndex!=="auto"&&(k.zIndex=H.zIndex),H.color&&(k.color=H.color),H.fontSize&&(k.fontSize=H.fontSize),H.fontWeight&&(k.fontWeight=H.fontWeight),H.fontFamily&&(k.fontFamily=H.fontFamily),H.lineHeight&&H.lineHeight!=="normal"&&(k.lineHeight=H.lineHeight),H.textAlign&&(k.textAlign=H.textAlign);let O=H.backgroundColor;O&&O!=="rgba(0, 0, 0, 0)"&&(k.backgroundColor=O),H.border&&H.border!=="none"&&f(H)&&(k.border=H.border),H.borderRadius&&H.borderRadius!=="0px"&&(k.borderRadius=H.borderRadius),H.padding&&H.padding!=="0px"&&(k.padding=H.padding),H.gap&&H.gap!=="normal"&&(k.gap=H.gap),H.flexDirection&&H.flexDirection!=="row"&&(k.flexDirection=H.flexDirection),H.alignItems&&H.alignItems!=="normal"&&(k.alignItems=H.alignItems),H.justifyContent&&H.justifyContent!=="normal"&&(k.justifyContent=H.justifyContent)})}function L(E){let R="ppt-live-export-safe-styles";E.getElementById(R)?.remove();let T=t.createElement("style");T.id=R,T.textContent=` ${a}, [class] ${a.split(",").join(", [class] ")} { margin: 0 !important; padding: 0 !important; @@ -122,8 +122,8 @@ ${n.documentElement.outerHTML}`;return e._pptLiveSourceHtml=a,a}function Nr(e){l p, h1, h2, h3, h4, h5, h6, li { box-shadow: none !important; } - `,(E.head||E.documentElement).appendChild(T)}s(),u(t),d(t),A(t),g(t),y(t),r?(p(t),v(t),P(t),R(t),P(t),F(t),t.querySelectorAll("[class]").forEach(E=>E.removeAttribute("class")),x(t),b(t),v(t),P(t),R(t)):F(t)}function Gc(e=document){let r=e.defaultView||window,t=e.body,n=r.getComputedStyle(t),i={width:parseFloat(n.width),height:parseFloat(n.height),scrollWidth:t.scrollWidth,scrollHeight:t.scrollHeight},a=[],o=Math.max(0,i.scrollWidth-i.width-1),l=Math.max(0,i.scrollHeight-i.height-1),c=o*.75,s=l*.75;if(c>0||s>0){let u=[];c>0&&u.push(`${c.toFixed(1)}pt horizontally`),s>0&&u.push(`${s.toFixed(1)}pt vertically`);let d=s>0?' (Remember: leave 0.5" margin at bottom of slide)':"";a.push(`HTML content overflows body by ${u.join(" and ")}${d}`)}return{...i,errors:a}}function jc(e=document){let r=e,t=r.defaultView||window,n=.75,i=96,a=["impact"],o=h=>{if(!h)return!1;let U=h.toLowerCase().replace(/['"]/g,"").split(",")[0].trim();return a.includes(U)},l=h=>h/i,c=h=>parseFloat(h)*n,s=h=>{if(h==="rgba(0, 0, 0, 0)"||h==="transparent")return"FFFFFF";let U=h.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);return U?U.slice(1).map(z=>parseInt(z).toString(16).padStart(2,"0")).join(""):"FFFFFF"},u=h=>{let U=h.match(/rgba\((\d+),\s*(\d+),\s*(\d+),\s*([\d.]+)\)/);if(!U||!U[4])return null;let z=parseFloat(U[4]);return Math.round((1-z)*100)},d=h=>{let U=String(h||"").match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?\)/);return U?{r:parseInt(U[1],10),g:parseInt(U[2],10),b:parseInt(U[3],10),a:U[4]!=null?parseFloat(U[4]):1}:null},A=h=>{let U=String(h||"0E0E12").replace("#","");return{r:parseInt(U.slice(0,2),16),g:parseInt(U.slice(2,4),16),b:parseInt(U.slice(4,6),16)}},f=(h,U="0E0E12")=>{let z=d(h);if(!z)return{fill:s(h),transparency:u(h)};if(z.a>=.98)return{fill:s(h),transparency:null};let k=A(U),w=Math.round(k.r*(1-z.a)+z.r*z.a),D=Math.round(k.g*(1-z.a)+z.g*z.a),K=Math.round(k.b*(1-z.a)+z.b*z.a);return{fill:[w,D,K].map(Y=>Y.toString(16).padStart(2,"0")).join("").toUpperCase(),transparency:null}},p=(h,U)=>U==="uppercase"?h.toUpperCase():U==="lowercase"?h.toLowerCase():U==="capitalize"?h.replace(/\b\w/g,z=>z.toUpperCase()):h,g=h=>h==="vertical-rl"||h==="vertical-lr"?"eaVert":null,y=h=>{let U=0;if(h&&h!=="none"){let z=h.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/);if(z)U+=parseFloat(z[1]);else{let k=h.match(/matrix\(([^)]+)\)/);if(k){let w=k[1].split(",").map(parseFloat),D=Math.atan2(w[1],w[0])*(180/Math.PI);U+=Math.round(D)}}}return U=U%360,U<0&&(U+=360),U===0?null:U},v=(h,U,z)=>{if(z===null)return{x:U.left,y:U.top,w:U.width,h:U.height};if(z===90||z===270){let K=U.left+U.width/2,Y=U.top+U.height/2;return{x:K-U.height/2,y:Y-U.width/2,w:U.height,h:U.width}}let w=U.left+U.width/2,D=U.top+U.height/2;return{x:w-h.offsetWidth/2,y:D-h.offsetHeight/2,w:h.offsetWidth,h:h.offsetHeight}},b=h=>{if(!h||h==="none"||h.match(/inset/))return null;let z=h.match(/rgba?\([^)]+\)/),k=h.match(/([-\d.]+)(px|pt)/g);if(!k||k.length<2)return null;let w=parseFloat(k[0]),D=parseFloat(k[1]),K=k.length>2?parseFloat(k[2]):0,Y=0;(w!==0||D!==0)&&(Y=Math.atan2(D,w)*(180/Math.PI),Y<0&&(Y+=360));let M=Math.sqrt(w*w+D*D)*n,J=.5;if(z){let ae=z[0].match(/[\d.]+\)$/);ae&&(J=parseFloat(ae[0].replace(")","")))}return{type:"outer",angle:Math.round(Y),blur:K*.75,color:z?s(z[0]):"000000",offset:M,opacity:J}},x=(h,U={},z=[],k=w=>w)=>{let w=!1;return h.childNodes.forEach(D=>{let K=k,Y=D.nodeType===Node.TEXT_NODE||D.tagName==="BR";if(Y){let M=D.tagName==="BR"?` -`:K(D.textContent.replace(/\s+/g," ")),J=z[z.length-1];w&&J?J.text+=M:z.push({text:M,options:{...U}})}else if(D.nodeType===Node.ELEMENT_NODE&&D.textContent.trim()){let M={...U},J=t.getComputedStyle(D);if(["SPAN","B","STRONG","I","EM","U","SMALL","LABEL","A","CODE","MARK","SUB","SUP"].includes(D.tagName)){if((J.fontWeight==="bold"||parseInt(J.fontWeight)>=600)&&!o(J.fontFamily)&&(M.bold=!0),J.fontStyle==="italic"&&(M.italic=!0),J.textDecoration&&J.textDecoration.includes("underline")&&(M.underline=!0),J.color&&J.color!=="rgb(0, 0, 0)"){M.color=s(J.color);let ee=u(J.color);ee!==null&&(M.transparency=ee)}if(J.fontSize&&(M.fontSize=c(J.fontSize)),J.textTransform&&J.textTransform!=="none"){let ee=J.textTransform;K=pe=>p(pe,ee)}J.marginLeft&&parseFloat(J.marginLeft)>0&&ne.push(`Inline element <${D.tagName.toLowerCase()}> has margin-left which is not supported in PowerPoint. Remove margin from inline elements.`),J.marginRight&&parseFloat(J.marginRight)>0&&ne.push(`Inline element <${D.tagName.toLowerCase()}> has margin-right which is not supported in PowerPoint. Remove margin from inline elements.`),J.marginTop&&parseFloat(J.marginTop)>0&&ne.push(`Inline element <${D.tagName.toLowerCase()}> has margin-top which is not supported in PowerPoint. Remove margin from inline elements.`),J.marginBottom&&parseFloat(J.marginBottom)>0&&ne.push(`Inline element <${D.tagName.toLowerCase()}> has margin-bottom which is not supported in PowerPoint. Remove margin from inline elements.`),x(D,M,z,K)}}w=Y}),z.length>0&&(z[0].text=z[0].text.replace(/^\s+/,""),z[z.length-1].text=z[z.length-1].text.replace(/\s+$/,"")),z.filter(D=>D.text.length>0)},P=h=>!h||h==="transparent"||h==="rgba(0, 0, 0, 0)",F=h=>{let U=[h,r.documentElement,h?.querySelector?.(":scope > section, :scope > div, :scope > main")].filter(Boolean);for(let z of U){let k=t.getComputedStyle(z),w=k.backgroundImage||"";if(w.includes("linear-gradient")||w.includes("radial-gradient"))return{gradient:!0};if(w&&w!=="none"){let K=w.match(/url\(["']?([^"')]+)["']?\)/);if(K)return{type:"image",path:K[1]}}let D=k.backgroundColor;if(!P(D))return{type:"color",value:s(D)}}return{type:"color",value:"FFFFFF"}},R=r.body,E=R.getBoundingClientRect(),B=h=>({left:h.left-E.left,top:h.top-E.top,width:h.width,height:h.height}),T=h=>B(h.getBoundingClientRect()),W=h=>{try{let U=r.createRange();U.selectNodeContents(h);let z=B(U.getBoundingClientRect());if(U.detach?.(),z.width>0&&z.height>0)return z}catch{}return T(h)},H=(h,U)=>{let z=d(h.color);return!z||z.a>=.2||!U.textContent.trim()?s(h.color):"E8E8E8"},C=(h,U,z)=>{let{x:k,y:w,w:D,h:K}=v(h,U,z),Y=E.width,M=E.height,J=Math.max(8,Y-k-4),ae=h.scrollHeight||0,ee=/^H[1-6]$/.test(h.tagName),pe=ee?Math.min(Math.max(8,D*.05),32):Math.min(Math.max(2,D*.02),12);ee?D=Math.max(D+pe,Y*.92-k):D=Math.min(D+pe,J),D=Math.min(D,J);let Ee=Math.max(6,K*(ee?.18:.12)),ve=Math.max(8,M-w-4);return ae>K+2?K=Math.min(ae+Ee,ve):K=Math.min(K+Ee,ve),{x:k,y:w,w:D,h:K}},I=h=>{let U=t.getComputedStyle(h).zIndex;if(!U||U==="auto")return 0;let z=parseInt(U,10);return Number.isFinite(z)?z:0},m=(h,U)=>{U&&(h.zIndex=I(U)),ue.push(h)},N=(h,U,z)=>{let w=t.getComputedStyle(h).listStyleColor;if(w&&w!=="rgba(0, 0, 0, 0)"){let D=s(w);if(D&&D!==z)return D}for(let D of U)try{let K=t.getComputedStyle(D,"::marker");if(K?.color){let Y=s(K.color);if(Y&&Y!==z)return Y}}catch{}return null},ne=[],q=F(R);q.gradient&&ne.push("CSS gradients are not supported. Use Sharp to rasterize gradients as PNG images first, then reference with background-image: url('gradient.png')");let se=q.gradient?{type:"color",value:"FFFFFF"}:{type:q.type,...q.path?{path:q.path}:{value:q.value}},Z=se.value||"0E0E12",ue=[],j=[],_=["P","H1","H2","H3","H4","H5","H6","UL","OL","LI"],fe=new Set(["SPAN","SMALL","LABEL","A","CODE","BUTTON","B","STRONG","I","EM","U","MARK","SUB","SUP"]),ce=new Set(["TD","TH"]),ie=new Set(["DIV","SECTION","ARTICLE","ASIDE",...ce]),be=new Set,Re=h=>{let U=h.parentElement;for(;U&&U!==R;){if(_.includes(U.tagName)||U.dataset?.pptxMerge==="true")return!0;U=U.parentElement}return!1},ke=h=>Array.from(h.childNodes).some(U=>U.nodeType===Node.TEXT_NODE&&U.textContent.replace(/\s+/g," ").trim()),xe=h=>!h.textContent.replace(/\s+/g," ").trim()||Re(h)?!1:fe.has(h.tagName)?!0:!ie.has(h.tagName)||!ke(h)&&!ce.has(h.tagName)||h.querySelector("p,h1,h2,h3,h4,h5,h6,ul,ol,li")?!1:!Array.from(h.children).some(U=>ie.has(U.tagName)),Oe=h=>{if(h.textAlign&&!["start","auto"].includes(h.textAlign))return h.textAlign==="end"?"right":h.textAlign;if(h.display.includes("flex")){if(h.justifyContent==="center")return"center";if(h.justifyContent==="flex-end"||h.justifyContent==="end")return"right"}if(h.display.includes("grid")){if((h.justifyItems||h.placeItems||"").includes("center"))return"center";if((h.justifyItems||h.placeItems||"").includes("end"))return"right"}return"left"},we=(h,U)=>{if(h.display==="table-cell"){if(h.verticalAlign==="middle")return"mid";if(h.verticalAlign==="bottom")return"bottom"}if(!h.display.includes("flex")&&!h.display.includes("grid"))return parseFloat(h.lineHeight||"0")>=U.height*.75?"mid":"top";let z=h.alignItems||h.placeItems||"";return z.includes("center")?"mid":z.includes("end")?"bottom":"top"},tt=(h,U=h.tagName.toLowerCase(),z=!1,k=null)=>{let w=k||T(h),D=h.textContent.replace(/\s+/g," ").trim();if(w.width===0||w.height===0||!D)return!1;if(U!=="text"&&h.tagName!=="LI"&&/^[•\-\*▪▸○●◆◇■□]\s/.test(D.trimStart()))return ne.push(`Text element <${h.tagName.toLowerCase()}> starts with bullet symbol "${D.substring(0,20)}...". Use
    or
      lists instead of manual bullet symbols.`),!1;let K=t.getComputedStyle(h);if(K.display==="none"||K.visibility==="hidden"||parseFloat(K.opacity||"1")<=0)return!1;let Y=y(K.transform),M=g(K.writingMode),J=z?v(h,w,Y):C(h,w,Y),ae=K.fontWeight==="bold"||parseInt(K.fontWeight,10)>=600,ee=K.lineHeight&&K.lineHeight!=="normal"?c(K.lineHeight):null,pe={fontSize:c(K.fontSize),fontFace:K.fontFamily.split(",")[0].replace(/['"]/g,"").trim(),color:H(K,h),align:Oe(K),valign:z?we(K,w):"top",lineSpacing:ee,paraSpaceBefore:c(K.marginTop),paraSpaceAfter:c(K.marginBottom),margin:[c(K.paddingLeft),c(K.paddingRight),c(K.paddingBottom),c(K.paddingTop)]},Ee=u(K.color);if(Ee!==null&&(pe.transparency=Ee),Y!==null&&(pe.rotate=Y),M!==null&&(pe.vert=M),h.querySelector("b, i, u, strong, em, span, small, label, a, code, mark, sub, sup, br")){let Ie=K.textTransform,rt={};ae&&!o(K.fontFamily)&&(rt.bold=!0);let Me=x(h,rt,[],me=>p(me,Ie));!Me.map(me=>me.text).join("").trim()&&D&&(Me=[{text:p(D,Ie),options:{...rt}}]);let oe={...pe};if(oe.lineSpacing){let me=Math.max(oe.fontSize,...Me.map(De=>De.options?.fontSize||0));me>oe.fontSize&&(oe.lineSpacing=me*(oe.lineSpacing/oe.fontSize))}m({type:U,text:Me,position:{x:l(J.x),y:l(J.y),w:l(J.w),h:l(J.h)},style:oe},h)}else m({type:U,text:p(D,K.textTransform),position:{x:l(J.x),y:l(J.y),w:l(J.w),h:l(J.h)},style:{...pe,bold:ae&&!o(K.fontFamily),italic:K.fontStyle==="italic",underline:K.textDecoration.includes("underline")}},h);return be.add(h),U==="text"&&h.querySelectorAll("span,small,label,a,code,b,strong,i,em,u,mark,sub,sup").forEach(Ie=>be.add(Ie)),!0};r.querySelectorAll("*").forEach(h=>{if(be.has(h))return;if(h.tagName==="DIV"&&h.dataset&&h.dataset.pptxMerge==="true"){let k=T(h);if(k.width===0||k.height===0){be.add(h);return}if(h.querySelector('[data-pptx-merge="true"]')){ne.push("data-pptx-merge container cannot contain another data-pptx-merge container. Nested merge is not supported."),be.add(h);return}let w=t.getComputedStyle(h);if(w.backgroundImage&&w.backgroundImage!=="none"){ne.push("Background images on data-pptx-merge container are not supported. Use solid colors or borders, or layer images via slide.addImage().");return}let D=w.backgroundColor&&w.backgroundColor!=="rgba(0, 0, 0, 0)",K=[w.borderTopWidth,w.borderRightWidth,w.borderBottomWidth,w.borderLeftWidth].map(ve=>parseFloat(ve)||0),M=K.some(ve=>ve>0)&&K.every(ve=>ve===K[0]);(D||M)&&ue.push({type:"shape",text:"",position:{x:l(k.left),y:l(k.top),w:l(k.width),h:l(k.height)},shape:{fill:D?s(w.backgroundColor):null,transparency:D?u(w.backgroundColor):null,line:M?{color:s(w.borderColor),width:c(w.borderWidth)}:null,rectRadius:(()=>{let ve=w.borderRadius,Ie=parseFloat(ve);if(Ie===0)return 0;if(ve.includes("%")){if(Ie>=50)return 1;let rt=Math.min(k.width,k.height);return Ie/100*l(rt)}return ve.includes("pt")?Ie/72:Ie/i})(),shadow:b(w.boxShadow)}});let J=Array.from(h.querySelectorAll("p, h1, h2, h3, h4, h5, h6"));if(J.length===0){ne.push("data-pptx-merge container has no

      / children to merge. Remove the data-pptx-merge attribute or add text elements."),be.add(h);return}let ae=t.getComputedStyle(J[0]),ee={fontSize:c(ae.fontSize),fontFace:ae.fontFamily.split(",")[0].replace(/['"]/g,"").trim(),color:s(ae.color),align:ae.textAlign==="start"?"left":ae.textAlign,lineSpacing:ae.lineHeight&&ae.lineHeight!=="normal"?c(ae.lineHeight):null,paraSpaceBefore:0,paraSpaceAfter:0,margin:[c(w.paddingLeft),c(w.paddingRight),c(w.paddingBottom),c(w.paddingTop)]},pe=u(ae.color);pe!==null&&(ee.transparency=pe);let Ee=[];if(J.forEach((ve,Ie)=>{let rt=Ie===J.length-1,Me=t.getComputedStyle(ve),G=Me.textTransform,oe=c(Me.fontSize),me=Me.fontFamily.split(",")[0].replace(/['"]/g,"").trim(),De=s(Me.color),te=Me.fontWeight==="bold"||parseInt(Me.fontWeight)>=600,ge=Me.fontStyle==="italic",L=Me.textDecoration.includes("underline"),ye={};oe!==ee.fontSize&&(ye.fontSize=oe),me!==ee.fontFace&&(ye.fontFace=me),De!==ee.color&&(ye.color=De),te&&!o(Me.fontFamily)&&(ye.bold=!0),ge&&(ye.italic=!0),L&&(ye.underline=!0);let Ge=ve.querySelector("b, i, u, strong, em, span, small, label, a, code, mark, sub, sup, br"),S;if(Ge)S=x(ve,ye,[],de=>p(de,G));else{let de=p(ve.textContent.trim(),G);if(!de)return;S=[{text:de,options:{...ye}}]}S.length>0&&!rt&&(S[S.length-1].options.breakLine=!0),Ee.push(...S),be.add(ve)}),Ee.length===0){be.add(h);return}ue.push({type:"merged-text",items:Ee,position:{x:l(k.left),y:l(k.top),w:l(k.width),h:l(k.height)},style:ee}),be.add(h);return}let U=xe(h)?tt(h,"text",!0,fe.has(h.tagName)?W(h):null):!1;if(_.includes(h.tagName)||fe.has(h.tagName)){let k=t.getComputedStyle(h),w=k.backgroundColor&&k.backgroundColor!=="rgba(0, 0, 0, 0)",D=k.borderWidth&&parseFloat(k.borderWidth)>0||k.borderTopWidth&&parseFloat(k.borderTopWidth)>0||k.borderRightWidth&&parseFloat(k.borderRightWidth)>0||k.borderBottomWidth&&parseFloat(k.borderBottomWidth)>0||k.borderLeftWidth&&parseFloat(k.borderLeftWidth)>0,K=k.boxShadow&&k.boxShadow!=="none";if(w||D||K){let Y=T(h);if(Y.width>0&&Y.height>0){let M=[k.borderTopWidth,k.borderRightWidth,k.borderBottomWidth,k.borderLeftWidth].map(ee=>parseFloat(ee)||0),J=M.some(ee=>ee>0)&&M.every(ee=>ee===M[0]),ae=w?f(k.backgroundColor,Z):{fill:null,transparency:null};if(ae.fill||J){let ee=k.borderRadius,pe=parseFloat(ee);m({type:"shape",text:"",position:{x:l(Y.left),y:l(Y.top),w:l(Y.width),h:l(Y.height)},shape:{fill:ae.fill,transparency:ae.transparency,line:J?{color:s(k.borderColor),width:c(k.borderWidth)}:null,rectRadius:(()=>{if(!pe)return 0;if(ee.includes("%")){if(pe>=50)return 1;let Ee=Math.min(Y.width,Y.height);return pe/100*l(Ee)}return ee.includes("pt")?pe/72:pe/i})(),shadow:b(k.boxShadow)}},h)}}}}if(h.classList&&h.classList.contains("placeholder")){let k=T(h);k.width===0||k.height===0?ne.push(`Placeholder "${h.id||"unnamed"}" has ${k.width===0?"width: 0":"height: 0"}. Check the layout CSS.`):j.push({id:h.id||`placeholder-${j.length}`,x:l(k.left),y:l(k.top),w:l(k.width),h:l(k.height)}),be.add(h);return}if(h.tagName==="IMG"){let k=T(h);if(k.width>0&&k.height>0){ue.push({type:"image",src:h.src,position:{x:l(k.left),y:l(k.top),w:l(k.width),h:l(k.height)}}),be.add(h);return}}if(ie.has(h.tagName)){let k=t.getComputedStyle(h),w=k.backgroundColor&&k.backgroundColor!=="rgba(0, 0, 0, 0)",D=k.backgroundImage;if(D&&D!=="none"){ne.push("Background images on DIV elements are not supported. Use solid colors or borders for shapes, or use slide.addImage() in PptxGenJS to layer images.");return}let K=k.borderTopWidth,Y=k.borderRightWidth,M=k.borderBottomWidth,J=k.borderLeftWidth,ae=[K,Y,M,J].map(ve=>parseFloat(ve)||0),ee=ae.some(ve=>ve>0),pe=ee&&ae.every(ve=>ve===ae[0]),Ee=[];if(ee&&!pe){let ve=T(h),Ie=l(ve.left),rt=l(ve.top),Me=l(ve.width),G=l(ve.height);if(parseFloat(K)>0){let oe=c(K),me=oe/72/2;Ee.push({type:"line",x1:Ie,y1:rt+me,x2:Ie+Me,y2:rt+me,width:oe,color:s(k.borderTopColor)})}if(parseFloat(Y)>0){let oe=c(Y),me=oe/72/2;Ee.push({type:"line",x1:Ie+Me-me,y1:rt,x2:Ie+Me-me,y2:rt+G,width:oe,color:s(k.borderRightColor)})}if(parseFloat(M)>0){let oe=c(M),me=oe/72/2;Ee.push({type:"line",x1:Ie,y1:rt+G-me,x2:Ie+Me,y2:rt+G-me,width:oe,color:s(k.borderBottomColor)})}if(parseFloat(J)>0){let oe=c(J),me=oe/72/2;Ee.push({type:"line",x1:Ie+me,y1:rt,x2:Ie+me,y2:rt+G,width:oe,color:s(k.borderLeftColor)})}}if(w||ee){let ve=T(h);if(ve.width>=E.width*.97&&ve.height>=E.height*.97&&w){be.add(h);return}if(ve.width>0&&ve.height>0){let rt=b(k.boxShadow);if(w||pe){let Me=w?f(k.backgroundColor,Z):{fill:null,transparency:null},G=Me.fill,oe=Me.transparency;!G&&pe&&(G=s(k.borderColor)||"2A2A30",oe=oe??88),m({type:"shape",text:"",position:{x:l(ve.left),y:l(ve.top),w:l(ve.width),h:l(ve.height)},shape:{fill:G,transparency:oe,line:pe?{color:s(k.borderColor),width:c(k.borderWidth)}:null,rectRadius:(()=>{let me=k.borderRadius,De=parseFloat(me);if(De===0)return 0;if(me.includes("%")){if(De>=50)return 1;let te=Math.min(ve.width,ve.height);return De/100*l(te)}return me.includes("pt")?De/72:De/i})(),shadow:rt}},h)}Ee.forEach(Me=>m(Me,h)),be.add(h);return}}}if(!U){if(h.tagName==="UL"||h.tagName==="OL"){let k=T(h);if(k.width===0||k.height===0)return;let w=Array.from(h.querySelectorAll("li")),D=[],K=t.getComputedStyle(h),Y=c(K.paddingLeft),M=Y*.5,J=Y*.5,ae=t.getComputedStyle(w[0]||h),ee=s(ae.color),pe=N(h,w,ee);w.forEach((ve,Ie)=>{let rt=Ie===w.length-1,Me=x(ve,{breakLine:!1});Me.length>0&&(Me[0].text=Me[0].text.replace(/^[•\-\*▪▸]\s*/,""),Me[0].options.bullet={indent:J}),Me.length>0&&pe&&pe!==ee&&Me.unshift({text:"\u200B",options:{bullet:{indent:J},color:pe,fontSize:Me[0]?.options?.fontSize||c(ae.fontSize),breakLine:!1}}),Me.length>0&&!rt&&(Me[Me.length-1].options.breakLine=!0),D.push(...Me)});let Ee=C(h,k,null);m({type:"list",items:D,position:{x:l(Ee.x),y:l(Ee.y),w:l(Ee.w),h:l(Ee.h)},style:{fontSize:c(ae.fontSize),fontFace:ae.fontFamily.split(",")[0].replace(/['"]/g,"").trim(),color:ee,bulletColor:pe,transparency:u(ae.color),align:ae.textAlign==="start"?"left":ae.textAlign,lineSpacing:ae.lineHeight&&ae.lineHeight!=="normal"?c(ae.lineHeight):null,paraSpaceBefore:0,paraSpaceAfter:c(ae.marginBottom),margin:[M,0,0,0]}},h),w.forEach(ve=>be.add(ve)),be.add(h);return}_.includes(h.tagName)&&tt(h)}});let Be=h=>h==="shape"?0:h==="line"?1:h==="image"?2:3;return ue.sort((h,U)=>{let z=(h.zIndex??0)-(U.zIndex??0);return z!==0?z:Be(h.type)-Be(U.type)}),{background:se,elements:ue,placeholders:j,errors:ne}}var sr={width:1280,height:720},Hh=new Set(["p","h1","h2","h3","h4","h5","h6","text","list","merged-text"]);function Kh(e){return(e?.elements||[]).filter(r=>Hh.has(r.type)).length}function Qh(e){let r=Nr(e);if(r.includes('data-pptx-raster="1"')&&r.includes("pptx-raster-hide-text"))return r;let n=``;return/<\/head>/i.test(r)?r.replace(/<\/head>/i,`${n}`).replace(/e.querySelectorAll(t),createElement:t=>document.createElement(t),getElementById:t=>e.querySelector(`#${t}`),head:e.querySelector("style")?.parentElement||e,_exportRoot:e}}function ep(){let e=document.createElement("div");e.className="ppt-export-root-host",e.setAttribute("aria-hidden","true"),e.style.cssText=[`width:${sr.width}px`,`height:${sr.height}px`,"overflow:hidden"].join(";"),Zh().appendChild(e);let r=e.attachShadow({mode:"open"}),t=document.createElement("div");return t.className="ppt-export-root",t.style.cssText=[`width:${sr.width}px`,`height:${sr.height}px`,"overflow:hidden"].join(";"),r.appendChild(t),t._exportHost=e,t}function tp(e){let r=e?._exportHost||e;r?.isConnected&&r.remove()}async function Vc(){await new Promise(e=>{requestAnimationFrame(()=>requestAnimationFrame(e))})}function rp(e,r){let t=new DOMParser().parseFromString(r,"text/html");e.replaceChildren(),t.querySelectorAll("style").forEach(i=>{let a=document.createElement("style");a.textContent=Jh(i.textContent||""),e.appendChild(a)});let n=document.createElement("div");if(n.className="ppt-export-body",t.body){for(let i of t.body.attributes)i.name==="class"?n.classList.add(...i.value.split(/\s+/).filter(Boolean)):i.name==="style"?n.style.cssText+=`;${i.value}`:n.setAttribute(i.name,i.value);n.innerHTML=t.body.innerHTML}return n.style.boxSizing="border-box",/\bwidth\s*:/i.test(n.style.cssText)||(n.style.width=`${sr.width}px`),/\bheight\s*:/i.test(n.style.cssText)||(n.style.height=`${sr.height}px`),e.appendChild(n),n}async function np(e){let r=Nr(e),t=ep(),n=rp(t,r);return await Vc(),$h(t,n)}async function qc(e,r,t={}){let n=null;try{let i=await np(e);n=i._exportRoot,Wc(i,r),await Vc();let a=Gc(i),o=jc(i),l=a.errors||[];l.length&&console.warn("[ppt-live-export] slide overflows canvas; exporting anyway:",l.join("; "));let c={...a,errors:[]},s=o.errors||[];return!s.length||t.allowValidationErrors?{slideData:o,bodyDimensions:c,aggressive:r,warnings:l}:{error:new Error(s.join(` -`))}}finally{n&&tp(n)}}async function ip(e,r={}){let t=await qc(e,!1,r);if(t?.slideData)return t;let n=await qc(e,!0,r);if(n?.slideData)return n;throw n?.error||t?.error||new Error("PPT Live slide preparation failed")}async function Xc(e,r={}){let t=[];try{for(let[n,i]of e.entries()){if(!i?.html)continue;let a=await ip(i.html,r),o=null,c=Kh(a.slideData)===0;if(typeof r.renderRaster=="function")try{typeof r.onRasterProgress=="function"&&r.onRasterProgress(n,i);let s=c?Ss(i):Qh(i.html);o=await r.renderRaster(s,n)}catch{o=null}t.push({index:n,slideId:i.id,notes:i,...a,rasterBase64:o,rasterOnly:!!(o&&c)})}return t}finally{Yh()}}function ap(e={}){let r=e.theme||{},t=String(e.title||"Slide").replace(/[<>&]/g,l=>({"<":"<",">":">","&":"&"})[l]||l),n=String(e.subtitle||e.claim||"").replace(/[<>&]/g,l=>({"<":"<",">":">","&":"&"})[l]||l),i=r.background||"#ffffff",a=r.ink||"#111111",o=r.muted||"#666666";return` +}`;return/<\/head>/i.test(r)?r.replace(/<\/head>/i,`${n}`).replace(/e.querySelectorAll(t),createElement:t=>document.createElement(t),getElementById:t=>e.querySelector(`#${t}`),head:e.querySelector("style")?.parentElement||e,_exportRoot:e}}function tp(){let e=document.createElement("div");e.className="ppt-export-root-host",e.setAttribute("aria-hidden","true"),e.style.cssText=[`width:${sr.width}px`,`height:${sr.height}px`,"overflow:hidden"].join(";"),Yh().appendChild(e);let r=e.attachShadow({mode:"open"}),t=document.createElement("div");return t.className="ppt-export-root",t.style.cssText=[`width:${sr.width}px`,`height:${sr.height}px`,"overflow:hidden"].join(";"),r.appendChild(t),t._exportHost=e,t}function rp(e){let r=e?._exportHost||e;r?.isConnected&&r.remove()}async function Vc(){await new Promise(e=>{requestAnimationFrame(()=>requestAnimationFrame(e))})}function np(e,r){let t=new DOMParser().parseFromString(r,"text/html");e.replaceChildren(),t.querySelectorAll("style").forEach(i=>{let a=document.createElement("style");a.textContent=$h(i.textContent||""),e.appendChild(a)});let n=document.createElement("div");if(n.className="ppt-export-body",t.body){for(let i of t.body.attributes)i.name==="class"?n.classList.add(...i.value.split(/\s+/).filter(Boolean)):i.name==="style"?n.style.cssText+=`;${i.value}`:n.setAttribute(i.name,i.value);n.innerHTML=t.body.innerHTML}return n.style.boxSizing="border-box",/\bwidth\s*:/i.test(n.style.cssText)||(n.style.width=`${sr.width}px`),/\bheight\s*:/i.test(n.style.cssText)||(n.style.height=`${sr.height}px`),e.appendChild(n),n}async function ip(e){let r=Nr(e),t=tp(),n=np(t,r);return await Vc(),ep(t,n)}async function qc(e,r,t={}){let n=null;try{let i=await ip(e);n=i._exportRoot,Wc(i,r),await Vc();let a=Gc(i),o=jc(i),l=a.errors||[];l.length&&console.warn("[ppt-live-export] slide overflows canvas; exporting anyway:",l.join("; "));let c={...a,errors:[]},s=o.errors||[];return!s.length||t.allowValidationErrors?{slideData:o,bodyDimensions:c,aggressive:r,warnings:l}:{error:new Error(s.join(` +`))}}finally{n&&rp(n)}}async function ap(e,r={}){let t=await qc(e,!1,r);if(t?.slideData)return t;let n=await qc(e,!0,r);if(n?.slideData)return n;throw n?.error||t?.error||new Error("PPT Live slide preparation failed")}async function Xc(e,r={}){let t=[];try{for(let[n,i]of e.entries()){if(!i?.html)continue;let a=await ap(i.html,r),o=null,c=Qh(a.slideData)===0;if(typeof r.renderRaster=="function")try{typeof r.onRasterProgress=="function"&&r.onRasterProgress(n,i);let s=c?Ss(i):Zh(i.html);o=await r.renderRaster(s,n)}catch{o=null}t.push({index:n,slideId:i.id,notes:i,...a,rasterBase64:o,rasterOnly:!!(o&&c)})}return t}finally{Jh()}}function op(e={}){let r=e.theme||{},t=String(e.title||"Slide").replace(/[<>&]/g,l=>({"<":"<",">":">","&":"&"})[l]||l),n=String(e.subtitle||e.claim||"").replace(/[<>&]/g,l=>({"<":"<",">":">","&":"&"})[l]||l),i=r.background||"#ffffff",a=r.ink||"#111111",o=r.muted||"#666666";return` @@ -156,22 +156,22 @@ body[data-pptx-raster="1"] ::marker {

      ${t}

      ${n?`

      ${n}

      `:""} -`}function Ss(e){return e?.html?Nr(e.html):ap(e)}var op=Object.create,Lu=Object.defineProperty,sp=Object.getOwnPropertyDescriptor,Nu=Object.getOwnPropertyNames,lp=Object.getPrototypeOf,cp=Object.prototype.hasOwnProperty,An=(e=>typeof Dn<"u"?Dn:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof Dn<"u"?Dn:r)[t]}):e)(function(e){if(typeof Dn<"u")return Dn.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),Lt=(e,r)=>function(){return r||(0,e[Nu(e)[0]])((r={exports:{}}).exports,r),r.exports},up=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of Nu(r))!cp.call(e,i)&&i!==t&&Lu(e,i,{get:()=>r[i],enumerable:!(n=sp(r,i))||n.enumerable});return e},Qr=(e,r,t)=>(t=e!=null?op(lp(e)):{},up(r||!e||!e.__esModule?Lu(t,"default",{value:e,enumerable:!0}):t,e)),Sn=Lt({"../../../node_modules/pako/lib/utils/common.js"(e){"use strict";var r=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function t(a,o){return Object.prototype.hasOwnProperty.call(a,o)}e.assign=function(a){for(var o=Array.prototype.slice.call(arguments,1);o.length;){var l=o.shift();if(l){if(typeof l!="object")throw new TypeError(l+"must be non-object");for(var c in l)t(l,c)&&(a[c]=l[c])}}return a},e.shrinkBuf=function(a,o){return a.length===o?a:a.subarray?a.subarray(0,o):(a.length=o,a)};var n={arraySet:function(a,o,l,c,s){if(o.subarray&&a.subarray){a.set(o.subarray(l,l+c),s);return}for(var u=0;u=0;)G[oe]=0}var l=0,c=1,s=2,u=3,d=258,A=29,f=256,p=f+1+A,g=30,y=19,v=2*p+1,b=15,x=16,P=7,F=256,R=16,E=17,B=18,T=[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],W=[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],H=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],C=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],I=512,m=new Array((p+2)*2);o(m);var N=new Array(g*2);o(N);var ne=new Array(I);o(ne);var q=new Array(d-u+1);o(q);var se=new Array(A);o(se);var Z=new Array(g);o(Z);function ue(G,oe,me,De,te){this.static_tree=G,this.extra_bits=oe,this.extra_base=me,this.elems=De,this.max_length=te,this.has_stree=G&&G.length}var j,_,fe;function ce(G,oe){this.dyn_tree=G,this.max_code=0,this.stat_desc=oe}function ie(G){return G<256?ne[G]:ne[256+(G>>>7)]}function be(G,oe){G.pending_buf[G.pending++]=oe&255,G.pending_buf[G.pending++]=oe>>>8&255}function Re(G,oe,me){G.bi_valid>x-me?(G.bi_buf|=oe<>x-G.bi_valid,G.bi_valid+=me-x):(G.bi_buf|=oe<>>=1,me<<=1;while(--oe>0);return me>>>1}function Oe(G){G.bi_valid===16?(be(G,G.bi_buf),G.bi_buf=0,G.bi_valid=0):G.bi_valid>=8&&(G.pending_buf[G.pending++]=G.bi_buf&255,G.bi_buf>>=8,G.bi_valid-=8)}function we(G,oe){var me=oe.dyn_tree,De=oe.max_code,te=oe.stat_desc.static_tree,ge=oe.stat_desc.has_stree,L=oe.stat_desc.extra_bits,ye=oe.stat_desc.extra_base,Ge=oe.stat_desc.max_length,S,de,Ae,O,re,he,_e=0;for(O=0;O<=b;O++)G.bl_count[O]=0;for(me[G.heap[G.heap_max]*2+1]=0,S=G.heap_max+1;SGe&&(O=Ge,_e++),me[de*2+1]=O,!(de>De)&&(G.bl_count[O]++,re=0,de>=ye&&(re=L[de-ye]),he=me[de*2],G.opt_len+=he*(O+re),ge&&(G.static_len+=he*(te[de*2+1]+re)));if(_e!==0){do{for(O=Ge-1;G.bl_count[O]===0;)O--;G.bl_count[O]--,G.bl_count[O+1]+=2,G.bl_count[Ge]--,_e-=2}while(_e>0);for(O=Ge;O!==0;O--)for(de=G.bl_count[O];de!==0;)Ae=G.heap[--S],!(Ae>De)&&(me[Ae*2+1]!==O&&(G.opt_len+=(O-me[Ae*2+1])*me[Ae*2],me[Ae*2+1]=O),de--)}}function tt(G,oe,me){var De=new Array(b+1),te=0,ge,L;for(ge=1;ge<=b;ge++)De[ge]=te=te+me[ge-1]<<1;for(L=0;L<=oe;L++){var ye=G[L*2+1];ye!==0&&(G[L*2]=xe(De[ye]++,ye))}}function Be(){var G,oe,me,De,te,ge=new Array(b+1);for(me=0,De=0;De>=7;De8?be(G,G.bi_buf):G.bi_valid>0&&(G.pending_buf[G.pending++]=G.bi_buf),G.bi_buf=0,G.bi_valid=0}function z(G,oe,me,De){U(G),De&&(be(G,me),be(G,~me)),r.arraySet(G.pending_buf,G.window,oe,me,G.pending),G.pending+=me}function k(G,oe,me,De){var te=oe*2,ge=me*2;return G[te]>1;L>=1;L--)w(G,me,L);S=ge;do L=G.heap[1],G.heap[1]=G.heap[G.heap_len--],w(G,me,1),ye=G.heap[1],G.heap[--G.heap_max]=L,G.heap[--G.heap_max]=ye,me[S*2]=me[L*2]+me[ye*2],G.depth[S]=(G.depth[L]>=G.depth[ye]?G.depth[L]:G.depth[ye])+1,me[L*2+1]=me[ye*2+1]=S,G.heap[1]=S++,w(G,me,1);while(G.heap_len>=2);G.heap[--G.heap_max]=G.heap[1],we(G,oe),tt(me,Ge,G.bl_count)}function Y(G,oe,me){var De,te=-1,ge,L=oe[1],ye=0,Ge=7,S=4;for(L===0&&(Ge=138,S=3),oe[(me+1)*2+1]=65535,De=0;De<=me;De++)ge=L,L=oe[(De+1)*2+1],!(++ye=3&&G.bl_tree[C[oe]*2+1]===0;oe--);return G.opt_len+=3*(oe+1)+5+5+4,oe}function ae(G,oe,me,De){var te;for(Re(G,oe-257,5),Re(G,me-1,5),Re(G,De-4,4),te=0;te>>=1)if(oe&1&&G.dyn_ltree[me*2]!==0)return n;if(G.dyn_ltree[18]!==0||G.dyn_ltree[20]!==0||G.dyn_ltree[26]!==0)return i;for(me=32;me0?(G.strm.data_type===a&&(G.strm.data_type=ee(G)),K(G,G.l_desc),K(G,G.d_desc),L=J(G),te=G.opt_len+3+7>>>3,ge=G.static_len+3+7>>>3,ge<=te&&(te=ge)):te=ge=me+5,me+4<=te&&oe!==-1?ve(G,oe,me,De):G.strategy===t||ge===te?(Re(G,(c<<1)+(De?1:0),3),D(G,m,N)):(Re(G,(s<<1)+(De?1:0),3),ae(G,G.l_desc.max_code+1,G.d_desc.max_code+1,L+1),D(G,G.dyn_ltree,G.dyn_dtree)),h(G),De&&U(G)}function Me(G,oe,me){return G.pending_buf[G.d_buf+G.last_lit*2]=oe>>>8&255,G.pending_buf[G.d_buf+G.last_lit*2+1]=oe&255,G.pending_buf[G.l_buf+G.last_lit]=me&255,G.last_lit++,oe===0?G.dyn_ltree[me*2]++:(G.matches++,oe--,G.dyn_ltree[(q[me]+f+1)*2]++,G.dyn_dtree[ie(oe)*2]++),G.last_lit===G.lit_bufsize-1}e._tr_init=Ee,e._tr_stored_block=ve,e._tr_flush_block=rt,e._tr_tally=Me,e._tr_align=Ie}}),Iu=Lt({"../../../node_modules/pako/lib/zlib/adler32.js"(e,r){"use strict";function t(n,i,a,o){for(var l=n&65535|0,c=n>>>16&65535|0,s=0;a!==0;){s=a>2e3?2e3:a,a-=s;do l=l+i[o++]|0,c=c+l|0;while(--s);l%=65521,c%=65521}return l|c<<16|0}r.exports=t}}),zu=Lt({"../../../node_modules/pako/lib/zlib/crc32.js"(e,r){"use strict";function t(){for(var a,o=[],l=0;l<256;l++){a=l;for(var c=0;c<8;c++)a=a&1?3988292384^a>>>1:a>>>1;o[l]=a}return o}var n=t();function i(a,o,l,c){var s=n,u=c+l;a^=-1;for(var d=c;d>>8^s[(a^o[d])&255];return a^-1}r.exports=i}}),il=Lt({"../../../node_modules/pako/lib/zlib/messages.js"(e,r){"use strict";r.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}}}),fp=Lt({"../../../node_modules/pako/lib/zlib/deflate.js"(e){"use strict";var r=Sn(),t=dp(),n=Iu(),i=zu(),a=il(),o=0,l=1,c=3,s=4,u=5,d=0,A=1,f=-2,p=-3,g=-5,y=-1,v=1,b=2,x=3,P=4,F=0,R=2,E=8,B=9,T=15,W=8,H=29,C=256,I=C+1+H,m=30,N=19,ne=2*I+1,q=15,se=3,Z=258,ue=Z+se+1,j=32,_=42,fe=69,ce=73,ie=91,be=103,Re=113,ke=666,xe=1,Oe=2,we=3,tt=4,Be=3;function h(S,de){return S.msg=a[de],de}function U(S){return(S<<1)-(S>4?9:0)}function z(S){for(var de=S.length;--de>=0;)S[de]=0}function k(S){var de=S.state,Ae=de.pending;Ae>S.avail_out&&(Ae=S.avail_out),Ae!==0&&(r.arraySet(S.output,de.pending_buf,de.pending_out,Ae,S.next_out),S.next_out+=Ae,de.pending_out+=Ae,S.total_out+=Ae,S.avail_out-=Ae,de.pending-=Ae,de.pending===0&&(de.pending_out=0))}function w(S,de){t._tr_flush_block(S,S.block_start>=0?S.block_start:-1,S.strstart-S.block_start,de),S.block_start=S.strstart,k(S.strm)}function D(S,de){S.pending_buf[S.pending++]=de}function K(S,de){S.pending_buf[S.pending++]=de>>>8&255,S.pending_buf[S.pending++]=de&255}function Y(S,de,Ae,O){var re=S.avail_in;return re>O&&(re=O),re===0?0:(S.avail_in-=re,r.arraySet(de,S.input,S.next_in,re,Ae),S.state.wrap===1?S.adler=n(S.adler,de,re,Ae):S.state.wrap===2&&(S.adler=i(S.adler,de,re,Ae)),S.next_in+=re,S.total_in+=re,re)}function M(S,de){var Ae=S.max_chain_length,O=S.strstart,re,he,_e=S.prev_length,Ne=S.nice_match,ze=S.strstart>S.w_size-ue?S.strstart-(S.w_size-ue):0,At=S.window,Or=S.w_mask,Dt=S.prev,gt=S.strstart+Z,Nt=At[O+_e-1],Ht=At[O+_e];S.prev_length>=S.good_match&&(Ae>>=2),Ne>S.lookahead&&(Ne=S.lookahead);do if(re=de,!(At[re+_e]!==Ht||At[re+_e-1]!==Nt||At[re]!==At[O]||At[++re]!==At[O+1])){O+=2,re++;do;while(At[++O]===At[++re]&&At[++O]===At[++re]&&At[++O]===At[++re]&&At[++O]===At[++re]&&At[++O]===At[++re]&&At[++O]===At[++re]&&At[++O]===At[++re]&&At[++O]===At[++re]&&O_e){if(S.match_start=de,_e=he,he>=Ne)break;Nt=At[O+_e-1],Ht=At[O+_e]}}while((de=Dt[de&Or])>ze&&--Ae!==0);return _e<=S.lookahead?_e:S.lookahead}function J(S){var de=S.w_size,Ae,O,re,he,_e;do{if(he=S.window_size-S.lookahead-S.strstart,S.strstart>=de+(de-ue)){r.arraySet(S.window,S.window,de,de,0),S.match_start-=de,S.strstart-=de,S.block_start-=de,O=S.hash_size,Ae=O;do re=S.head[--Ae],S.head[Ae]=re>=de?re-de:0;while(--O);O=de,Ae=O;do re=S.prev[--Ae],S.prev[Ae]=re>=de?re-de:0;while(--O);he+=de}if(S.strm.avail_in===0)break;if(O=Y(S.strm,S.window,S.strstart+S.lookahead,he),S.lookahead+=O,S.lookahead+S.insert>=se)for(_e=S.strstart-S.insert,S.ins_h=S.window[_e],S.ins_h=(S.ins_h<S.pending_buf_size-5&&(Ae=S.pending_buf_size-5);;){if(S.lookahead<=1){if(J(S),S.lookahead===0&&de===o)return xe;if(S.lookahead===0)break}S.strstart+=S.lookahead,S.lookahead=0;var O=S.block_start+Ae;if((S.strstart===0||S.strstart>=O)&&(S.lookahead=S.strstart-O,S.strstart=O,w(S,!1),S.strm.avail_out===0)||S.strstart-S.block_start>=S.w_size-ue&&(w(S,!1),S.strm.avail_out===0))return xe}return S.insert=0,de===s?(w(S,!0),S.strm.avail_out===0?we:tt):(S.strstart>S.block_start&&(w(S,!1),S.strm.avail_out===0),xe)}function ee(S,de){for(var Ae,O;;){if(S.lookahead=se&&(S.ins_h=(S.ins_h<=se)if(O=t._tr_tally(S,S.strstart-S.match_start,S.match_length-se),S.lookahead-=S.match_length,S.match_length<=S.max_lazy_match&&S.lookahead>=se){S.match_length--;do S.strstart++,S.ins_h=(S.ins_h<=se&&(S.ins_h=(S.ins_h<4096)&&(S.match_length=se-1)),S.prev_length>=se&&S.match_length<=S.prev_length){re=S.strstart+S.lookahead-se,O=t._tr_tally(S,S.strstart-1-S.prev_match,S.prev_length-se),S.lookahead-=S.prev_length-1,S.prev_length-=2;do++S.strstart<=re&&(S.ins_h=(S.ins_h<=se&&S.strstart>0&&(re=S.strstart-1,O=_e[re],O===_e[++re]&&O===_e[++re]&&O===_e[++re])){he=S.strstart+Z;do;while(O===_e[++re]&&O===_e[++re]&&O===_e[++re]&&O===_e[++re]&&O===_e[++re]&&O===_e[++re]&&O===_e[++re]&&O===_e[++re]&&reS.lookahead&&(S.match_length=S.lookahead)}if(S.match_length>=se?(Ae=t._tr_tally(S,1,S.match_length-se),S.lookahead-=S.match_length,S.strstart+=S.match_length,S.match_length=0):(Ae=t._tr_tally(S,0,S.window[S.strstart]),S.lookahead--,S.strstart++),Ae&&(w(S,!1),S.strm.avail_out===0))return xe}return S.insert=0,de===s?(w(S,!0),S.strm.avail_out===0?we:tt):S.last_lit&&(w(S,!1),S.strm.avail_out===0)?xe:Oe}function ve(S,de){for(var Ae;;){if(S.lookahead===0&&(J(S),S.lookahead===0)){if(de===o)return xe;break}if(S.match_length=0,Ae=t._tr_tally(S,0,S.window[S.strstart]),S.lookahead--,S.strstart++,Ae&&(w(S,!1),S.strm.avail_out===0))return xe}return S.insert=0,de===s?(w(S,!0),S.strm.avail_out===0?we:tt):S.last_lit&&(w(S,!1),S.strm.avail_out===0)?xe:Oe}function Ie(S,de,Ae,O,re){this.good_length=S,this.max_lazy=de,this.nice_length=Ae,this.max_chain=O,this.func=re}var rt;rt=[new Ie(0,0,0,0,ae),new Ie(4,4,8,4,ee),new Ie(4,5,16,8,ee),new Ie(4,6,32,32,ee),new Ie(4,4,16,16,pe),new Ie(8,16,32,32,pe),new Ie(8,16,128,128,pe),new Ie(8,32,128,256,pe),new Ie(32,128,258,1024,pe),new Ie(32,258,258,4096,pe)];function Me(S){S.window_size=2*S.w_size,z(S.head),S.max_lazy_match=rt[S.level].max_lazy,S.good_match=rt[S.level].good_length,S.nice_match=rt[S.level].nice_length,S.max_chain_length=rt[S.level].max_chain,S.strstart=0,S.block_start=0,S.lookahead=0,S.insert=0,S.match_length=S.prev_length=se-1,S.match_available=0,S.ins_h=0}function G(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=E,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new r.Buf16(ne*2),this.dyn_dtree=new r.Buf16((2*m+1)*2),this.bl_tree=new r.Buf16((2*N+1)*2),z(this.dyn_ltree),z(this.dyn_dtree),z(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new r.Buf16(q+1),this.heap=new r.Buf16(2*I+1),z(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new r.Buf16(2*I+1),z(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function oe(S){var de;return!S||!S.state?h(S,f):(S.total_in=S.total_out=0,S.data_type=R,de=S.state,de.pending=0,de.pending_out=0,de.wrap<0&&(de.wrap=-de.wrap),de.status=de.wrap?_:Re,S.adler=de.wrap===2?0:1,de.last_flush=o,t._tr_init(de),d)}function me(S){var de=oe(S);return de===d&&Me(S.state),de}function De(S,de){return!S||!S.state||S.state.wrap!==2?f:(S.state.gzhead=de,d)}function te(S,de,Ae,O,re,he){if(!S)return f;var _e=1;if(de===y&&(de=6),O<0?(_e=0,O=-O):O>15&&(_e=2,O-=16),re<1||re>B||Ae!==E||O<8||O>15||de<0||de>9||he<0||he>P)return h(S,f);O===8&&(O=9);var Ne=new G;return S.state=Ne,Ne.strm=S,Ne.wrap=_e,Ne.gzhead=null,Ne.w_bits=O,Ne.w_size=1<u||de<0)return S?h(S,f):f;if(O=S.state,!S.output||!S.input&&S.avail_in!==0||O.status===ke&&de!==s)return h(S,S.avail_out===0?g:f);if(O.strm=S,Ae=O.last_flush,O.last_flush=de,O.status===_)if(O.wrap===2)S.adler=0,D(O,31),D(O,139),D(O,8),O.gzhead?(D(O,(O.gzhead.text?1:0)+(O.gzhead.hcrc?2:0)+(O.gzhead.extra?4:0)+(O.gzhead.name?8:0)+(O.gzhead.comment?16:0)),D(O,O.gzhead.time&255),D(O,O.gzhead.time>>8&255),D(O,O.gzhead.time>>16&255),D(O,O.gzhead.time>>24&255),D(O,O.level===9?2:O.strategy>=b||O.level<2?4:0),D(O,O.gzhead.os&255),O.gzhead.extra&&O.gzhead.extra.length&&(D(O,O.gzhead.extra.length&255),D(O,O.gzhead.extra.length>>8&255)),O.gzhead.hcrc&&(S.adler=i(S.adler,O.pending_buf,O.pending,0)),O.gzindex=0,O.status=fe):(D(O,0),D(O,0),D(O,0),D(O,0),D(O,0),D(O,O.level===9?2:O.strategy>=b||O.level<2?4:0),D(O,Be),O.status=Re);else{var _e=E+(O.w_bits-8<<4)<<8,Ne=-1;O.strategy>=b||O.level<2?Ne=0:O.level<6?Ne=1:O.level===6?Ne=2:Ne=3,_e|=Ne<<6,O.strstart!==0&&(_e|=j),_e+=31-_e%31,O.status=Re,K(O,_e),O.strstart!==0&&(K(O,S.adler>>>16),K(O,S.adler&65535)),S.adler=1}if(O.status===fe)if(O.gzhead.extra){for(re=O.pending;O.gzindex<(O.gzhead.extra.length&65535)&&!(O.pending===O.pending_buf_size&&(O.gzhead.hcrc&&O.pending>re&&(S.adler=i(S.adler,O.pending_buf,O.pending-re,re)),k(S),re=O.pending,O.pending===O.pending_buf_size));)D(O,O.gzhead.extra[O.gzindex]&255),O.gzindex++;O.gzhead.hcrc&&O.pending>re&&(S.adler=i(S.adler,O.pending_buf,O.pending-re,re)),O.gzindex===O.gzhead.extra.length&&(O.gzindex=0,O.status=ce)}else O.status=ce;if(O.status===ce)if(O.gzhead.name){re=O.pending;do{if(O.pending===O.pending_buf_size&&(O.gzhead.hcrc&&O.pending>re&&(S.adler=i(S.adler,O.pending_buf,O.pending-re,re)),k(S),re=O.pending,O.pending===O.pending_buf_size)){he=1;break}O.gzindexre&&(S.adler=i(S.adler,O.pending_buf,O.pending-re,re)),he===0&&(O.gzindex=0,O.status=ie)}else O.status=ie;if(O.status===ie)if(O.gzhead.comment){re=O.pending;do{if(O.pending===O.pending_buf_size&&(O.gzhead.hcrc&&O.pending>re&&(S.adler=i(S.adler,O.pending_buf,O.pending-re,re)),k(S),re=O.pending,O.pending===O.pending_buf_size)){he=1;break}O.gzindexre&&(S.adler=i(S.adler,O.pending_buf,O.pending-re,re)),he===0&&(O.status=be)}else O.status=be;if(O.status===be&&(O.gzhead.hcrc?(O.pending+2>O.pending_buf_size&&k(S),O.pending+2<=O.pending_buf_size&&(D(O,S.adler&255),D(O,S.adler>>8&255),S.adler=0,O.status=Re)):O.status=Re),O.pending!==0){if(k(S),S.avail_out===0)return O.last_flush=-1,d}else if(S.avail_in===0&&U(de)<=U(Ae)&&de!==s)return h(S,g);if(O.status===ke&&S.avail_in!==0)return h(S,g);if(S.avail_in!==0||O.lookahead!==0||de!==o&&O.status!==ke){var ze=O.strategy===b?ve(O,de):O.strategy===x?Ee(O,de):rt[O.level].func(O,de);if((ze===we||ze===tt)&&(O.status=ke),ze===xe||ze===we)return S.avail_out===0&&(O.last_flush=-1),d;if(ze===Oe&&(de===l?t._tr_align(O):de!==u&&(t._tr_stored_block(O,0,0,!1),de===c&&(z(O.head),O.lookahead===0&&(O.strstart=0,O.block_start=0,O.insert=0))),k(S),S.avail_out===0))return O.last_flush=-1,d}return de!==s?d:O.wrap<=0?A:(O.wrap===2?(D(O,S.adler&255),D(O,S.adler>>8&255),D(O,S.adler>>16&255),D(O,S.adler>>24&255),D(O,S.total_in&255),D(O,S.total_in>>8&255),D(O,S.total_in>>16&255),D(O,S.total_in>>24&255)):(K(O,S.adler>>>16),K(O,S.adler&65535)),k(S),O.wrap>0&&(O.wrap=-O.wrap),O.pending!==0?d:A)}function ye(S){var de;return!S||!S.state?f:(de=S.state.status,de!==_&&de!==fe&&de!==ce&&de!==ie&&de!==be&&de!==Re&&de!==ke?h(S,f):(S.state=null,de===Re?h(S,p):d))}function Ge(S,de){var Ae=de.length,O,re,he,_e,Ne,ze,At,Or;if(!S||!S.state||(O=S.state,_e=O.wrap,_e===2||_e===1&&O.status!==_||O.lookahead))return f;for(_e===1&&(S.adler=n(S.adler,de,Ae,0)),O.wrap=0,Ae>=O.w_size&&(_e===0&&(z(O.head),O.strstart=0,O.block_start=0,O.insert=0),Or=new r.Buf8(O.w_size),r.arraySet(Or,de,Ae-O.w_size,O.w_size,0),de=Or,Ae=O.w_size),Ne=S.avail_in,ze=S.next_in,At=S.input,S.avail_in=Ae,S.next_in=0,S.input=de,J(O);O.lookahead>=se;){re=O.strstart,he=O.lookahead-(se-1);do O.ins_h=(O.ins_h<=252?6:a>=248?5:a>=240?4:a>=224?3:a>=192?2:1;var a;i[254]=i[254]=1,e.string2buf=function(l){var c,s,u,d,A,f=l.length,p=0;for(d=0;d>>6,c[A++]=128|s&63):s<65536?(c[A++]=224|s>>>12,c[A++]=128|s>>>6&63,c[A++]=128|s&63):(c[A++]=240|s>>>18,c[A++]=128|s>>>12&63,c[A++]=128|s>>>6&63,c[A++]=128|s&63);return c};function o(l,c){if(c<65534&&(l.subarray&&n||!l.subarray&&t))return String.fromCharCode.apply(null,r.shrinkBuf(l,c));for(var s="",u=0;u4){p[u++]=65533,s+=A-1;continue}for(d&=A===2?31:A===3?15:7;A>1&&s1){p[u++]=65533;continue}d<65536?p[u++]=d:(d-=65536,p[u++]=55296|d>>10&1023,p[u++]=56320|d&1023)}return o(p,u)},e.utf8border=function(l,c){var s;for(c=c||l.length,c>l.length&&(c=l.length),s=c-1;s>=0&&(l[s]&192)===128;)s--;return s<0||s===0?c:s+i[l[s]]>c?s:c}}}),Ou=Lt({"../../../node_modules/pako/lib/zlib/zstream.js"(e,r){"use strict";function t(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}r.exports=t}}),hp=Lt({"../../../node_modules/pako/lib/deflate.js"(e){"use strict";var r=fp(),t=Sn(),n=Mu(),i=il(),a=Ou(),o=Object.prototype.toString,l=0,c=4,s=0,u=1,d=2,A=-1,f=0,p=8;function g(x){if(!(this instanceof g))return new g(x);this.options=t.assign({level:A,method:p,chunkSize:16384,windowBits:15,memLevel:8,strategy:f,to:""},x||{});var P=this.options;P.raw&&P.windowBits>0?P.windowBits=-P.windowBits:P.gzip&&P.windowBits>0&&P.windowBits<16&&(P.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var F=r.deflateInit2(this.strm,P.level,P.method,P.windowBits,P.memLevel,P.strategy);if(F!==s)throw new Error(i[F]);if(P.header&&r.deflateSetHeader(this.strm,P.header),P.dictionary){var R;if(typeof P.dictionary=="string"?R=n.string2buf(P.dictionary):o.call(P.dictionary)==="[object ArrayBuffer]"?R=new Uint8Array(P.dictionary):R=P.dictionary,F=r.deflateSetDictionary(this.strm,R),F!==s)throw new Error(i[F]);this._dict_set=!0}}g.prototype.push=function(x,P){var F=this.strm,R=this.options.chunkSize,E,B;if(this.ended)return!1;B=P===~~P?P:P===!0?c:l,typeof x=="string"?F.input=n.string2buf(x):o.call(x)==="[object ArrayBuffer]"?F.input=new Uint8Array(x):F.input=x,F.next_in=0,F.avail_in=F.input.length;do{if(F.avail_out===0&&(F.output=new t.Buf8(R),F.next_out=0,F.avail_out=R),E=r.deflate(F,B),E!==u&&E!==s)return this.onEnd(E),this.ended=!0,!1;(F.avail_out===0||F.avail_in===0&&(B===c||B===d))&&(this.options.to==="string"?this.onData(n.buf2binstring(t.shrinkBuf(F.output,F.next_out))):this.onData(t.shrinkBuf(F.output,F.next_out)))}while((F.avail_in>0||F.avail_out===0)&&E!==u);return B===c?(E=r.deflateEnd(this.strm),this.onEnd(E),this.ended=!0,E===s):(B===d&&(this.onEnd(s),F.avail_out=0),!0)},g.prototype.onData=function(x){this.chunks.push(x)},g.prototype.onEnd=function(x){x===s&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=t.flattenChunks(this.chunks)),this.chunks=[],this.err=x,this.msg=this.strm.msg};function y(x,P){var F=new g(P);if(F.push(x,!0),F.err)throw F.msg||i[F.err];return F.result}function v(x,P){return P=P||{},P.raw=!0,y(x,P)}function b(x,P){return P=P||{},P.gzip=!0,y(x,P)}e.Deflate=g,e.deflate=y,e.deflateRaw=v,e.gzip=b}}),pp=Lt({"../../../node_modules/pako/lib/zlib/inffast.js"(e,r){"use strict";var t=30,n=12;r.exports=function(a,o){var l,c,s,u,d,A,f,p,g,y,v,b,x,P,F,R,E,B,T,W,H,C,I,m,N;l=a.state,c=a.next_in,m=a.input,s=c+(a.avail_in-5),u=a.next_out,N=a.output,d=u-(o-a.avail_out),A=u+(a.avail_out-257),f=l.dmax,p=l.wsize,g=l.whave,y=l.wnext,v=l.window,b=l.hold,x=l.bits,P=l.lencode,F=l.distcode,R=(1<>>24,b>>>=T,x-=T,T=B>>>16&255,T===0)N[u++]=B&65535;else if(T&16){W=B&65535,T&=15,T&&(x>>=T,x-=T),x<15&&(b+=m[c++]<>>24,b>>>=T,x-=T,T=B>>>16&255,T&16){if(H=B&65535,T&=15,xf){a.msg="invalid distance too far back",l.mode=t;break e}if(b>>>=T,x-=T,T=u-d,H>T){if(T=H-T,T>g&&l.sane){a.msg="invalid distance too far back",l.mode=t;break e}if(C=0,I=v,y===0){if(C+=p-T,T2;)N[u++]=I[C++],N[u++]=I[C++],N[u++]=I[C++],W-=3;W&&(N[u++]=I[C++],W>1&&(N[u++]=I[C++]))}else{C=u-H;do N[u++]=N[C++],N[u++]=N[C++],N[u++]=N[C++],W-=3;while(W>2);W&&(N[u++]=N[C++],W>1&&(N[u++]=N[C++]))}}else if((T&64)===0){B=F[(B&65535)+(b&(1<>3,c-=W,x-=W<<3,b&=(1<=1&&ie[W]===0;W--);if(H>W&&(H=W),W===0)return b[x++]=1<<24|64<<16|0,b[x++]=1<<24|64<<16|0,F.bits=1,0;for(T=1;T0&&(p===o||W!==1))return-1;for(be[1]=0,E=1;Ei||p===c&&N>a)return 1;for(;;){xe=E-I,P[B]ce?(Oe=Re[ke+P[B]],we=_[fe+P[B]]):(Oe=96,we=0),q=1<>I)+se]=xe<<24|Oe<<16|we|0;while(se!==0);for(q=1<>=1;if(q!==0?(ne&=q-1,ne+=q):ne=0,B++,--ie[E]===0){if(E===W)break;E=g[y+P[B]]}if(E>H&&(ne&ue)!==Z){for(I===0&&(I=H),j+=T,C=E-I,m=1<i||p===c&&N>a)return 1;Z=ne&ue,b[Z]=H<<24|C<<16|j-x|0}}return ne!==0&&(b[j+ne]=E-I<<24|64<<16|0),F.bits=H,0}}}),gp=Lt({"../../../node_modules/pako/lib/zlib/inflate.js"(e){"use strict";var r=Sn(),t=Iu(),n=zu(),i=pp(),a=Ap(),o=0,l=1,c=2,s=4,u=5,d=6,A=0,f=1,p=2,g=-2,y=-3,v=-4,b=-5,x=8,P=1,F=2,R=3,E=4,B=5,T=6,W=7,H=8,C=9,I=10,m=11,N=12,ne=13,q=14,se=15,Z=16,ue=17,j=18,_=19,fe=20,ce=21,ie=22,be=23,Re=24,ke=25,xe=26,Oe=27,we=28,tt=29,Be=30,h=31,U=32,z=852,k=592,w=15,D=w;function K(te){return(te>>>24&255)+(te>>>8&65280)+((te&65280)<<8)+((te&255)<<24)}function Y(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function M(te){var ge;return!te||!te.state?g:(ge=te.state,te.total_in=te.total_out=ge.total=0,te.msg="",ge.wrap&&(te.adler=ge.wrap&1),ge.mode=P,ge.last=0,ge.havedict=0,ge.dmax=32768,ge.head=null,ge.hold=0,ge.bits=0,ge.lencode=ge.lendyn=new r.Buf32(z),ge.distcode=ge.distdyn=new r.Buf32(k),ge.sane=1,ge.back=-1,A)}function J(te){var ge;return!te||!te.state?g:(ge=te.state,ge.wsize=0,ge.whave=0,ge.wnext=0,M(te))}function ae(te,ge){var L,ye;return!te||!te.state||(ye=te.state,ge<0?(L=0,ge=-ge):(L=(ge>>4)+1,ge<48&&(ge&=15)),ge&&(ge<8||ge>15))?g:(ye.window!==null&&ye.wbits!==ge&&(ye.window=null),ye.wrap=L,ye.wbits=ge,J(te))}function ee(te,ge){var L,ye;return te?(ye=new Y,te.state=ye,ye.window=null,L=ae(te,ge),L!==A&&(te.state=null),L):g}function pe(te){return ee(te,D)}var Ee=!0,ve,Ie;function rt(te){if(Ee){var ge;for(ve=new r.Buf32(512),Ie=new r.Buf32(32),ge=0;ge<144;)te.lens[ge++]=8;for(;ge<256;)te.lens[ge++]=9;for(;ge<280;)te.lens[ge++]=7;for(;ge<288;)te.lens[ge++]=8;for(a(l,te.lens,0,288,ve,0,te.work,{bits:9}),ge=0;ge<32;)te.lens[ge++]=5;a(c,te.lens,0,32,Ie,0,te.work,{bits:5}),Ee=!1}te.lencode=ve,te.lenbits=9,te.distcode=Ie,te.distbits=5}function Me(te,ge,L,ye){var Ge,S=te.state;return S.window===null&&(S.wsize=1<=S.wsize?(r.arraySet(S.window,ge,L-S.wsize,S.wsize,0),S.wnext=0,S.whave=S.wsize):(Ge=S.wsize-S.wnext,Ge>ye&&(Ge=ye),r.arraySet(S.window,ge,L-ye,Ge,S.wnext),ye-=Ge,ye?(r.arraySet(S.window,ge,L-ye,ye,0),S.wnext=ye,S.whave=S.wsize):(S.wnext+=Ge,S.wnext===S.wsize&&(S.wnext=0),S.whave>>8&255,L.check=n(L.check,jt,2,0),re=0,he=0,L.mode=F;break}if(L.flags=0,L.head&&(L.head.done=!1),!(L.wrap&1)||(((re&255)<<8)+(re>>8))%31){te.msg="incorrect header check",L.mode=Be;break}if((re&15)!==x){te.msg="unknown compression method",L.mode=Be;break}if(re>>>=4,he-=4,Et=(re&15)+8,L.wbits===0)L.wbits=Et;else if(Et>L.wbits){te.msg="invalid window size",L.mode=Be;break}L.dmax=1<>8&1),L.flags&512&&(jt[0]=re&255,jt[1]=re>>>8&255,L.check=n(L.check,jt,2,0)),re=0,he=0,L.mode=R;case R:for(;he<32;){if(Ae===0)break e;Ae--,re+=ye[S++]<>>8&255,jt[2]=re>>>16&255,jt[3]=re>>>24&255,L.check=n(L.check,jt,4,0)),re=0,he=0,L.mode=E;case E:for(;he<16;){if(Ae===0)break e;Ae--,re+=ye[S++]<>8),L.flags&512&&(jt[0]=re&255,jt[1]=re>>>8&255,L.check=n(L.check,jt,2,0)),re=0,he=0,L.mode=B;case B:if(L.flags&1024){for(;he<16;){if(Ae===0)break e;Ae--,re+=ye[S++]<>>8&255,L.check=n(L.check,jt,2,0)),re=0,he=0}else L.head&&(L.head.extra=null);L.mode=T;case T:if(L.flags&1024&&(ze=L.length,ze>Ae&&(ze=Ae),ze&&(L.head&&(Et=L.head.extra_len-L.length,L.head.extra||(L.head.extra=new Array(L.head.extra_len)),r.arraySet(L.head.extra,ye,S,ze,Et)),L.flags&512&&(L.check=n(L.check,ye,ze,S)),Ae-=ze,S+=ze,L.length-=ze),L.length))break e;L.length=0,L.mode=W;case W:if(L.flags&2048){if(Ae===0)break e;ze=0;do Et=ye[S+ze++],L.head&&Et&&L.length<65536&&(L.head.name+=String.fromCharCode(Et));while(Et&&ze>9&1,L.head.done=!0),te.adler=L.check=0,L.mode=N;break;case I:for(;he<32;){if(Ae===0)break e;Ae--,re+=ye[S++]<>>=he&7,he-=he&7,L.mode=Oe;break}for(;he<3;){if(Ae===0)break e;Ae--,re+=ye[S++]<>>=1,he-=1,re&3){case 0:L.mode=q;break;case 1:if(rt(L),L.mode=fe,ge===d){re>>>=2,he-=2;break e}break;case 2:L.mode=ue;break;case 3:te.msg="invalid block type",L.mode=Be}re>>>=2,he-=2;break;case q:for(re>>>=he&7,he-=he&7;he<32;){if(Ae===0)break e;Ae--,re+=ye[S++]<>>16^65535)){te.msg="invalid stored block lengths",L.mode=Be;break}if(L.length=re&65535,re=0,he=0,L.mode=se,ge===d)break e;case se:L.mode=Z;case Z:if(ze=L.length,ze){if(ze>Ae&&(ze=Ae),ze>O&&(ze=O),ze===0)break e;r.arraySet(Ge,ye,S,ze,de),Ae-=ze,S+=ze,O-=ze,de+=ze,L.length-=ze;break}L.mode=N;break;case ue:for(;he<14;){if(Ae===0)break e;Ae--,re+=ye[S++]<>>=5,he-=5,L.ndist=(re&31)+1,re>>>=5,he-=5,L.ncode=(re&15)+4,re>>>=4,he-=4,L.nlen>286||L.ndist>30){te.msg="too many length or distance symbols",L.mode=Be;break}L.have=0,L.mode=j;case j:for(;L.have>>=3,he-=3}for(;L.have<19;)L.lens[nc[L.have++]]=0;if(L.lencode=L.lendyn,L.lenbits=7,_r={bits:L.lenbits},Ar=a(o,L.lens,0,19,L.lencode,0,L.work,_r),L.lenbits=_r.bits,Ar){te.msg="invalid code lengths set",L.mode=Be;break}L.have=0,L.mode=_;case _:for(;L.have>>24,Nt=Dt>>>16&255,Ht=Dt&65535,!(gt<=he);){if(Ae===0)break e;Ae--,re+=ye[S++]<>>=gt,he-=gt,L.lens[L.have++]=Ht;else{if(Ht===16){for(Rr=gt+2;he>>=gt,he-=gt,L.have===0){te.msg="invalid bit length repeat",L.mode=Be;break}Et=L.lens[L.have-1],ze=3+(re&3),re>>>=2,he-=2}else if(Ht===17){for(Rr=gt+3;he>>=gt,he-=gt,Et=0,ze=3+(re&7),re>>>=3,he-=3}else{for(Rr=gt+7;he>>=gt,he-=gt,Et=0,ze=11+(re&127),re>>>=7,he-=7}if(L.have+ze>L.nlen+L.ndist){te.msg="invalid bit length repeat",L.mode=Be;break}for(;ze--;)L.lens[L.have++]=Et}}if(L.mode===Be)break;if(L.lens[256]===0){te.msg="invalid code -- missing end-of-block",L.mode=Be;break}if(L.lenbits=9,_r={bits:L.lenbits},Ar=a(l,L.lens,0,L.nlen,L.lencode,0,L.work,_r),L.lenbits=_r.bits,Ar){te.msg="invalid literal/lengths set",L.mode=Be;break}if(L.distbits=6,L.distcode=L.distdyn,_r={bits:L.distbits},Ar=a(c,L.lens,L.nlen,L.ndist,L.distcode,0,L.work,_r),L.distbits=_r.bits,Ar){te.msg="invalid distances set",L.mode=Be;break}if(L.mode=fe,ge===d)break e;case fe:L.mode=ce;case ce:if(Ae>=6&&O>=258){te.next_out=de,te.avail_out=O,te.next_in=S,te.avail_in=Ae,L.hold=re,L.bits=he,i(te,Ne),de=te.next_out,Ge=te.output,O=te.avail_out,S=te.next_in,ye=te.input,Ae=te.avail_in,re=L.hold,he=L.bits,L.mode===N&&(L.back=-1);break}for(L.back=0;Dt=L.lencode[re&(1<>>24,Nt=Dt>>>16&255,Ht=Dt&65535,!(gt<=he);){if(Ae===0)break e;Ae--,re+=ye[S++]<>tr)],gt=Dt>>>24,Nt=Dt>>>16&255,Ht=Dt&65535,!(tr+gt<=he);){if(Ae===0)break e;Ae--,re+=ye[S++]<>>=tr,he-=tr,L.back+=tr}if(re>>>=gt,he-=gt,L.back+=gt,L.length=Ht,Nt===0){L.mode=xe;break}if(Nt&32){L.back=-1,L.mode=N;break}if(Nt&64){te.msg="invalid literal/length code",L.mode=Be;break}L.extra=Nt&15,L.mode=ie;case ie:if(L.extra){for(Rr=L.extra;he>>=L.extra,he-=L.extra,L.back+=L.extra}L.was=L.length,L.mode=be;case be:for(;Dt=L.distcode[re&(1<>>24,Nt=Dt>>>16&255,Ht=Dt&65535,!(gt<=he);){if(Ae===0)break e;Ae--,re+=ye[S++]<>tr)],gt=Dt>>>24,Nt=Dt>>>16&255,Ht=Dt&65535,!(tr+gt<=he);){if(Ae===0)break e;Ae--,re+=ye[S++]<>>=tr,he-=tr,L.back+=tr}if(re>>>=gt,he-=gt,L.back+=gt,Nt&64){te.msg="invalid distance code",L.mode=Be;break}L.offset=Ht,L.extra=Nt&15,L.mode=Re;case Re:if(L.extra){for(Rr=L.extra;he>>=L.extra,he-=L.extra,L.back+=L.extra}if(L.offset>L.dmax){te.msg="invalid distance too far back",L.mode=Be;break}L.mode=ke;case ke:if(O===0)break e;if(ze=Ne-O,L.offset>ze){if(ze=L.offset-ze,ze>L.whave&&L.sane){te.msg="invalid distance too far back",L.mode=Be;break}ze>L.wnext?(ze-=L.wnext,At=L.wsize-ze):At=L.wnext-ze,ze>L.length&&(ze=L.length),Or=L.window}else Or=Ge,At=de-L.offset,ze=L.length;ze>O&&(ze=O),O-=ze,L.length-=ze;do Ge[de++]=Or[At++];while(--ze);L.length===0&&(L.mode=ce);break;case xe:if(O===0)break e;Ge[de++]=L.length,O--,L.mode=ce;break;case Oe:if(L.wrap){for(;he<32;){if(Ae===0)break e;Ae--,re|=ye[S++]<=0&&f.windowBits<16&&(f.windowBits=-f.windowBits,f.windowBits===0&&(f.windowBits=-15)),f.windowBits>=0&&f.windowBits<16&&!(A&&A.windowBits)&&(f.windowBits+=32),f.windowBits>15&&f.windowBits<48&&(f.windowBits&15)===0&&(f.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var p=r.inflateInit2(this.strm,f.windowBits);if(p!==i.Z_OK)throw new Error(a[p]);if(this.header=new l,r.inflateGetHeader(this.strm,this.header),f.dictionary&&(typeof f.dictionary=="string"?f.dictionary=n.string2buf(f.dictionary):c.call(f.dictionary)==="[object ArrayBuffer]"&&(f.dictionary=new Uint8Array(f.dictionary)),f.raw&&(p=r.inflateSetDictionary(this.strm,f.dictionary),p!==i.Z_OK)))throw new Error(a[p])}s.prototype.push=function(A,f){var p=this.strm,g=this.options.chunkSize,y=this.options.dictionary,v,b,x,P,F,R=!1;if(this.ended)return!1;b=f===~~f?f:f===!0?i.Z_FINISH:i.Z_NO_FLUSH,typeof A=="string"?p.input=n.binstring2buf(A):c.call(A)==="[object ArrayBuffer]"?p.input=new Uint8Array(A):p.input=A,p.next_in=0,p.avail_in=p.input.length;do{if(p.avail_out===0&&(p.output=new t.Buf8(g),p.next_out=0,p.avail_out=g),v=r.inflate(p,i.Z_NO_FLUSH),v===i.Z_NEED_DICT&&y&&(v=r.inflateSetDictionary(this.strm,y)),v===i.Z_BUF_ERROR&&R===!0&&(v=i.Z_OK,R=!1),v!==i.Z_STREAM_END&&v!==i.Z_OK)return this.onEnd(v),this.ended=!0,!1;p.next_out&&(p.avail_out===0||v===i.Z_STREAM_END||p.avail_in===0&&(b===i.Z_FINISH||b===i.Z_SYNC_FLUSH))&&(this.options.to==="string"?(x=n.utf8border(p.output,p.next_out),P=p.next_out-x,F=n.buf2string(p.output,x),p.next_out=P,p.avail_out=g-P,P&&t.arraySet(p.output,p.output,x,P,0),this.onData(F)):this.onData(t.shrinkBuf(p.output,p.next_out))),p.avail_in===0&&p.avail_out===0&&(R=!0)}while((p.avail_in>0||p.avail_out===0)&&v!==i.Z_STREAM_END);return v===i.Z_STREAM_END&&(b=i.Z_FINISH),b===i.Z_FINISH?(v=r.inflateEnd(this.strm),this.onEnd(v),this.ended=!0,v===i.Z_OK):(b===i.Z_SYNC_FLUSH&&(this.onEnd(i.Z_OK),p.avail_out=0),!0)},s.prototype.onData=function(A){this.chunks.push(A)},s.prototype.onEnd=function(A){A===i.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=t.flattenChunks(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};function u(A,f){var p=new s(f);if(p.push(A,!0),p.err)throw p.msg||a[p.err];return p.result}function d(A,f){return f=f||{},f.raw=!0,u(A,f)}e.Inflate=s,e.inflate=u,e.inflateRaw=d,e.ungzip=u}}),So=Lt({"../../../node_modules/pako/index.js"(e,r){"use strict";var t=Sn().assign,n=hp(),i=vp(),a=_u(),o={};t(o,n,i,a),r.exports=o}}),yp=Lt({"node_modules/jszip/dist/jszip.min.js"(e,r){(function(t){typeof e=="object"&&typeof r<"u"?r.exports=t():typeof define=="function"&&define.amd?define([],t):(typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:this).JSZip=t()})(function(){return(function t(n,i,a){function o(s,u){if(!i[s]){if(!n[s]){var d=typeof An=="function"&&An;if(!u&&d)return d(s,!0);if(l)return l(s,!0);var A=new Error("Cannot find module '"+s+"'");throw A.code="MODULE_NOT_FOUND",A}var f=i[s]={exports:{}};n[s][0].call(f.exports,function(p){var g=n[s][1][p];return o(g||p)},f,f.exports,t,n,i,a)}return i[s].exports}for(var l=typeof An=="function"&&An,c=0;c>2,f=(3&s)<<4|u>>4,p=1>6:64,g=2>4,u=(15&A)<<4|(f=l.indexOf(c.charAt(g++)))>>2,d=(3&f)<<6|(p=l.indexOf(c.charAt(g++))),b[y++]=s,f!==64&&(b[y++]=u),p!==64&&(b[y++]=d);return b}},{"./support":30,"./utils":32}],2:[function(t,n,i){"use strict";var a=t("./external"),o=t("./stream/DataWorker"),l=t("./stream/Crc32Probe"),c=t("./stream/DataLengthProbe");function s(u,d,A,f,p){this.compressedSize=u,this.uncompressedSize=d,this.crc32=A,this.compression=f,this.compressedContent=p}s.prototype={getContentWorker:function(){var u=new o(a.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new c("data_length")),d=this;return u.on("end",function(){if(this.streamInfo.data_length!==d.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),u},getCompressedWorker:function(){return new o(a.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},s.createWorkerFrom=function(u,d,A){return u.pipe(new l).pipe(new c("uncompressedSize")).pipe(d.compressWorker(A)).pipe(new c("compressedSize")).withStreamInfo("compression",d)},n.exports=s},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,n,i){"use strict";var a=t("./stream/GenericWorker");i.STORE={magic:"\0\0",compressWorker:function(){return new a("STORE compression")},uncompressWorker:function(){return new a("STORE decompression")}},i.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,n,i){"use strict";var a=t("./utils"),o=(function(){for(var l,c=[],s=0;s<256;s++){l=s;for(var u=0;u<8;u++)l=1&l?3988292384^l>>>1:l>>>1;c[s]=l}return c})();n.exports=function(l,c){return l!==void 0&&l.length?a.getTypeOf(l)!=="string"?(function(s,u,d,A){var f=o,p=A+d;s^=-1;for(var g=A;g>>8^f[255&(s^u[g])];return-1^s})(0|c,l,l.length,0):(function(s,u,d,A){var f=o,p=A+d;s^=-1;for(var g=A;g>>8^f[255&(s^u.charCodeAt(g))];return-1^s})(0|c,l,l.length,0):0}},{"./utils":32}],5:[function(t,n,i){"use strict";i.base64=!1,i.binary=!1,i.dir=!1,i.createFolders=!0,i.date=null,i.compression=null,i.compressionOptions=null,i.comment=null,i.unixPermissions=null,i.dosPermissions=null},{}],6:[function(t,n,i){"use strict";var a=null;a=typeof Promise<"u"?Promise:t("lie"),n.exports={Promise:a}},{lie:37}],7:[function(t,n,i){"use strict";var a=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",o=t("pako"),l=t("./utils"),c=t("./stream/GenericWorker"),s=a?"uint8array":"array";function u(d,A){c.call(this,"FlateWorker/"+d),this._pako=null,this._pakoAction=d,this._pakoOptions=A,this.meta={}}i.magic="\b\0",l.inherits(u,c),u.prototype.processChunk=function(d){this.meta=d.meta,this._pako===null&&this._createPako(),this._pako.push(l.transformTo(s,d.data),!1)},u.prototype.flush=function(){c.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},u.prototype.cleanUp=function(){c.prototype.cleanUp.call(this),this._pako=null},u.prototype._createPako=function(){this._pako=new o[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var d=this;this._pako.onData=function(A){d.push({data:A,meta:d.meta})}},i.compressWorker=function(d){return new u("Deflate",d)},i.uncompressWorker=function(){return new u("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,n,i){"use strict";function a(f,p){var g,y="";for(g=0;g>>=8;return y}function o(f,p,g,y,v,b){var x,P,F=f.file,R=f.compression,E=b!==s.utf8encode,B=l.transformTo("string",b(F.name)),T=l.transformTo("string",s.utf8encode(F.name)),W=F.comment,H=l.transformTo("string",b(W)),C=l.transformTo("string",s.utf8encode(W)),I=T.length!==F.name.length,m=C.length!==W.length,N="",ne="",q="",se=F.dir,Z=F.date,ue={crc32:0,compressedSize:0,uncompressedSize:0};p&&!g||(ue.crc32=f.crc32,ue.compressedSize=f.compressedSize,ue.uncompressedSize=f.uncompressedSize);var j=0;p&&(j|=8),E||!I&&!m||(j|=2048);var _=0,fe=0;se&&(_|=16),v==="UNIX"?(fe=798,_|=(function(ie,be){var Re=ie;return ie||(Re=be?16893:33204),(65535&Re)<<16})(F.unixPermissions,se)):(fe=20,_|=(function(ie){return 63&(ie||0)})(F.dosPermissions)),x=Z.getUTCHours(),x<<=6,x|=Z.getUTCMinutes(),x<<=5,x|=Z.getUTCSeconds()/2,P=Z.getUTCFullYear()-1980,P<<=4,P|=Z.getUTCMonth()+1,P<<=5,P|=Z.getUTCDate(),I&&(ne=a(1,1)+a(u(B),4)+T,N+="up"+a(ne.length,2)+ne),m&&(q=a(1,1)+a(u(H),4)+C,N+="uc"+a(q.length,2)+q);var ce="";return ce+=` -\0`,ce+=a(j,2),ce+=R.magic,ce+=a(x,2),ce+=a(P,2),ce+=a(ue.crc32,4),ce+=a(ue.compressedSize,4),ce+=a(ue.uncompressedSize,4),ce+=a(B.length,2),ce+=a(N.length,2),{fileRecord:d.LOCAL_FILE_HEADER+ce+B+N,dirRecord:d.CENTRAL_FILE_HEADER+a(fe,2)+ce+a(H.length,2)+"\0\0\0\0"+a(_,4)+a(y,4)+B+N+H}}var l=t("../utils"),c=t("../stream/GenericWorker"),s=t("../utf8"),u=t("../crc32"),d=t("../signature");function A(f,p,g,y){c.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=p,this.zipPlatform=g,this.encodeFileName=y,this.streamFiles=f,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}l.inherits(A,c),A.prototype.push=function(f){var p=f.meta.percent||0,g=this.entriesCount,y=this._sources.length;this.accumulate?this.contentBuffer.push(f):(this.bytesWritten+=f.data.length,c.prototype.push.call(this,{data:f.data,meta:{currentFile:this.currentFile,percent:g?(p+100*(g-y-1))/g:100}}))},A.prototype.openedSource=function(f){this.currentSourceOffset=this.bytesWritten,this.currentFile=f.file.name;var p=this.streamFiles&&!f.file.dir;if(p){var g=o(f,p,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:g.fileRecord,meta:{percent:0}})}else this.accumulate=!0},A.prototype.closedSource=function(f){this.accumulate=!1;var p=this.streamFiles&&!f.file.dir,g=o(f,p,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(g.dirRecord),p)this.push({data:(function(y){return d.DATA_DESCRIPTOR+a(y.crc32,4)+a(y.compressedSize,4)+a(y.uncompressedSize,4)})(f),meta:{percent:100}});else for(this.push({data:g.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},A.prototype.flush=function(){for(var f=this.bytesWritten,p=0;p=this.index;c--)s=(s<<8)+this.byteAt(c);return this.index+=l,s},readString:function(l){return a.transformTo("string",this.readData(l))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var l=this.readInt(4);return new Date(Date.UTC(1980+(l>>25&127),(l>>21&15)-1,l>>16&31,l>>11&31,l>>5&63,(31&l)<<1))}},n.exports=o},{"../utils":32}],19:[function(t,n,i){"use strict";var a=t("./Uint8ArrayReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.readData=function(l){this.checkOffset(l);var c=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,n,i){"use strict";var a=t("./DataReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.byteAt=function(l){return this.data.charCodeAt(this.zero+l)},o.prototype.lastIndexOfSignature=function(l){return this.data.lastIndexOf(l)-this.zero},o.prototype.readAndCheckSignature=function(l){return l===this.readData(4)},o.prototype.readData=function(l){this.checkOffset(l);var c=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./DataReader":18}],21:[function(t,n,i){"use strict";var a=t("./ArrayReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.readData=function(l){if(this.checkOffset(l),l===0)return new Uint8Array(0);var c=this.data.subarray(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./ArrayReader":17}],22:[function(t,n,i){"use strict";var a=t("../utils"),o=t("../support"),l=t("./ArrayReader"),c=t("./StringReader"),s=t("./NodeBufferReader"),u=t("./Uint8ArrayReader");n.exports=function(d){var A=a.getTypeOf(d);return a.checkSupport(A),A!=="string"||o.uint8array?A==="nodebuffer"?new s(d):o.uint8array?new u(a.transformTo("uint8array",d)):new l(a.transformTo("array",d)):new c(d)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,n,i){"use strict";i.LOCAL_FILE_HEADER="PK",i.CENTRAL_FILE_HEADER="PK",i.CENTRAL_DIRECTORY_END="PK",i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",i.ZIP64_CENTRAL_DIRECTORY_END="PK",i.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(t,n,i){"use strict";var a=t("./GenericWorker"),o=t("../utils");function l(c){a.call(this,"ConvertWorker to "+c),this.destType=c}o.inherits(l,a),l.prototype.processChunk=function(c){this.push({data:o.transformTo(this.destType,c.data),meta:c.meta})},n.exports=l},{"../utils":32,"./GenericWorker":28}],25:[function(t,n,i){"use strict";var a=t("./GenericWorker"),o=t("../crc32");function l(){a.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(l,a),l.prototype.processChunk=function(c){this.streamInfo.crc32=o(c.data,this.streamInfo.crc32||0),this.push(c)},n.exports=l},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./GenericWorker");function l(c){o.call(this,"DataLengthProbe for "+c),this.propName=c,this.withStreamInfo(c,0)}a.inherits(l,o),l.prototype.processChunk=function(c){if(c){var s=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=s+c.data.length}o.prototype.processChunk.call(this,c)},n.exports=l},{"../utils":32,"./GenericWorker":28}],27:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./GenericWorker");function l(c){o.call(this,"DataWorker");var s=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,c.then(function(u){s.dataIsReady=!0,s.data=u,s.max=u&&u.length||0,s.type=a.getTypeOf(u),s.isPaused||s._tickAndRepeat()},function(u){s.error(u)})}a.inherits(l,o),l.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this.data=null},l.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,a.delay(this._tickAndRepeat,[],this)),!0)},l.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(a.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},l.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var c=null,s=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":c=this.data.substring(this.index,s);break;case"uint8array":c=this.data.subarray(this.index,s);break;case"array":case"nodebuffer":c=this.data.slice(this.index,s)}return this.index=s,this.push({data:c,meta:{percent:this.max?this.index/this.max*100:0}})},n.exports=l},{"../utils":32,"./GenericWorker":28}],28:[function(t,n,i){"use strict";function a(o){this.name=o||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}a.prototype={push:function(o){this.emit("data",o)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(o){this.emit("error",o)}return!0},error:function(o){return!this.isFinished&&(this.isPaused?this.generatedError=o:(this.isFinished=!0,this.emit("error",o),this.previous&&this.previous.error(o),this.cleanUp()),!0)},on:function(o,l){return this._listeners[o].push(l),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(o,l){if(this._listeners[o])for(var c=0;c "+o:o}},n.exports=a},{}],29:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./ConvertWorker"),l=t("./GenericWorker"),c=t("../base64"),s=t("../support"),u=t("../external"),d=null;if(s.nodestream)try{d=t("../nodejs/NodejsStreamOutputAdapter")}catch{}function A(p,g){return new u.Promise(function(y,v){var b=[],x=p._internalType,P=p._outputType,F=p._mimeType;p.on("data",function(R,E){b.push(R),g&&g(E)}).on("error",function(R){b=[],v(R)}).on("end",function(){try{var R=(function(E,B,T){switch(E){case"blob":return a.newBlob(a.transformTo("arraybuffer",B),T);case"base64":return c.encode(B);default:return a.transformTo(E,B)}})(P,(function(E,B){var T,W=0,H=null,C=0;for(T=0;T"u")i.blob=!1;else{var a=new ArrayBuffer(0);try{i.blob=new Blob([a],{type:"application/zip"}).size===0}catch{try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(a),i.blob=o.getBlob("application/zip").size===0}catch{i.blob=!1}}}try{i.nodestream=!!t("readable-stream").Readable}catch{i.nodestream=!1}},{"readable-stream":16}],31:[function(t,n,i){"use strict";for(var a=t("./utils"),o=t("./support"),l=t("./nodejsUtils"),c=t("./stream/GenericWorker"),s=new Array(256),u=0;u<256;u++)s[u]=252<=u?6:248<=u?5:240<=u?4:224<=u?3:192<=u?2:1;s[254]=s[254]=1;function d(){c.call(this,"utf-8 decode"),this.leftOver=null}function A(){c.call(this,"utf-8 encode")}i.utf8encode=function(f){return o.nodebuffer?l.newBufferFrom(f,"utf-8"):(function(p){var g,y,v,b,x,P=p.length,F=0;for(b=0;b>>6:(y<65536?g[x++]=224|y>>>12:(g[x++]=240|y>>>18,g[x++]=128|y>>>12&63),g[x++]=128|y>>>6&63),g[x++]=128|63&y);return g})(f)},i.utf8decode=function(f){return o.nodebuffer?a.transformTo("nodebuffer",f).toString("utf-8"):(function(p){var g,y,v,b,x=p.length,P=new Array(2*x);for(g=y=0;g>10&1023,P[y++]=56320|1023&v)}return P.length!==y&&(P.subarray?P=P.subarray(0,y):P.length=y),a.applyFromCharCode(P)})(f=a.transformTo(o.uint8array?"uint8array":"array",f))},a.inherits(d,c),d.prototype.processChunk=function(f){var p=a.transformTo(o.uint8array?"uint8array":"array",f.data);if(this.leftOver&&this.leftOver.length){if(o.uint8array){var g=p;(p=new Uint8Array(g.length+this.leftOver.length)).set(this.leftOver,0),p.set(g,this.leftOver.length)}else p=this.leftOver.concat(p);this.leftOver=null}var y=(function(b,x){var P;for((x=x||b.length)>b.length&&(x=b.length),P=x-1;0<=P&&(192&b[P])==128;)P--;return P<0||P===0?x:P+s[b[P]]>x?P:x})(p),v=p;y!==p.length&&(o.uint8array?(v=p.subarray(0,y),this.leftOver=p.subarray(y,p.length)):(v=p.slice(0,y),this.leftOver=p.slice(y,p.length))),this.push({data:i.utf8decode(v),meta:f.meta})},d.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:i.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},i.Utf8DecodeWorker=d,a.inherits(A,c),A.prototype.processChunk=function(f){this.push({data:i.utf8encode(f.data),meta:f.meta})},i.Utf8EncodeWorker=A},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,n,i){"use strict";var a=t("./support"),o=t("./base64"),l=t("./nodejsUtils"),c=t("./external");function s(g){return g}function u(g,y){for(var v=0;v>8;this.dir=!!(16&this.externalFileAttributes),f==0&&(this.dosPermissions=63&this.externalFileAttributes),f==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var f=a(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=f.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=f.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=f.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=f.readInt(4))}},readExtraFields:function(f){var p,g,y,v=f.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});f.index+4>>6:(f<65536?A[y++]=224|f>>>12:(A[y++]=240|f>>>18,A[y++]=128|f>>>12&63),A[y++]=128|f>>>6&63),A[y++]=128|63&f);return A},i.buf2binstring=function(d){return u(d,d.length)},i.binstring2buf=function(d){for(var A=new a.Buf8(d.length),f=0,p=A.length;f>10&1023,b[p++]=56320|1023&g)}return u(b,p)},i.utf8border=function(d,A){var f;for((A=A||d.length)>d.length&&(A=d.length),f=A-1;0<=f&&(192&d[f])==128;)f--;return f<0||f===0?A:f+c[d[f]]>A?f:A}},{"./common":41}],43:[function(t,n,i){"use strict";n.exports=function(a,o,l,c){for(var s=65535&a|0,u=a>>>16&65535|0,d=0;l!==0;){for(l-=d=2e3>>1:o>>>1;l[c]=o}return l})();n.exports=function(o,l,c,s){var u=a,d=s+c;o^=-1;for(var A=s;A>>8^u[255&(o^l[A])];return-1^o}},{}],46:[function(t,n,i){"use strict";var a,o=t("../utils/common"),l=t("./trees"),c=t("./adler32"),s=t("./crc32"),u=t("./messages"),d=0,A=4,f=0,p=-2,g=-1,y=4,v=2,b=8,x=9,P=286,F=30,R=19,E=2*P+1,B=15,T=3,W=258,H=W+T+1,C=42,I=113,m=1,N=2,ne=3,q=4;function se(h,U){return h.msg=u[U],U}function Z(h){return(h<<1)-(4h.avail_out&&(z=h.avail_out),z!==0&&(o.arraySet(h.output,U.pending_buf,U.pending_out,z,h.next_out),h.next_out+=z,U.pending_out+=z,h.total_out+=z,h.avail_out-=z,U.pending-=z,U.pending===0&&(U.pending_out=0))}function _(h,U){l._tr_flush_block(h,0<=h.block_start?h.block_start:-1,h.strstart-h.block_start,U),h.block_start=h.strstart,j(h.strm)}function fe(h,U){h.pending_buf[h.pending++]=U}function ce(h,U){h.pending_buf[h.pending++]=U>>>8&255,h.pending_buf[h.pending++]=255&U}function ie(h,U){var z,k,w=h.max_chain_length,D=h.strstart,K=h.prev_length,Y=h.nice_match,M=h.strstart>h.w_size-H?h.strstart-(h.w_size-H):0,J=h.window,ae=h.w_mask,ee=h.prev,pe=h.strstart+W,Ee=J[D+K-1],ve=J[D+K];h.prev_length>=h.good_match&&(w>>=2),Y>h.lookahead&&(Y=h.lookahead);do if(J[(z=U)+K]===ve&&J[z+K-1]===Ee&&J[z]===J[D]&&J[++z]===J[D+1]){D+=2,z++;do;while(J[++D]===J[++z]&&J[++D]===J[++z]&&J[++D]===J[++z]&&J[++D]===J[++z]&&J[++D]===J[++z]&&J[++D]===J[++z]&&J[++D]===J[++z]&&J[++D]===J[++z]&&DM&&--w!=0);return K<=h.lookahead?K:h.lookahead}function be(h){var U,z,k,w,D,K,Y,M,J,ae,ee=h.w_size;do{if(w=h.window_size-h.lookahead-h.strstart,h.strstart>=ee+(ee-H)){for(o.arraySet(h.window,h.window,ee,ee,0),h.match_start-=ee,h.strstart-=ee,h.block_start-=ee,U=z=h.hash_size;k=h.head[--U],h.head[U]=ee<=k?k-ee:0,--z;);for(U=z=ee;k=h.prev[--U],h.prev[U]=ee<=k?k-ee:0,--z;);w+=ee}if(h.strm.avail_in===0)break;if(K=h.strm,Y=h.window,M=h.strstart+h.lookahead,J=w,ae=void 0,ae=K.avail_in,J=T)for(D=h.strstart-h.insert,h.ins_h=h.window[D],h.ins_h=(h.ins_h<=T&&(h.ins_h=(h.ins_h<=T)if(k=l._tr_tally(h,h.strstart-h.match_start,h.match_length-T),h.lookahead-=h.match_length,h.match_length<=h.max_lazy_match&&h.lookahead>=T){for(h.match_length--;h.strstart++,h.ins_h=(h.ins_h<=T&&(h.ins_h=(h.ins_h<=T&&h.match_length<=h.prev_length){for(w=h.strstart+h.lookahead-T,k=l._tr_tally(h,h.strstart-1-h.prev_match,h.prev_length-T),h.lookahead-=h.prev_length-1,h.prev_length-=2;++h.strstart<=w&&(h.ins_h=(h.ins_h<h.pending_buf_size-5&&(z=h.pending_buf_size-5);;){if(h.lookahead<=1){if(be(h),h.lookahead===0&&U===d)return m;if(h.lookahead===0)break}h.strstart+=h.lookahead,h.lookahead=0;var k=h.block_start+z;if((h.strstart===0||h.strstart>=k)&&(h.lookahead=h.strstart-k,h.strstart=k,_(h,!1),h.strm.avail_out===0)||h.strstart-h.block_start>=h.w_size-H&&(_(h,!1),h.strm.avail_out===0))return m}return h.insert=0,U===A?(_(h,!0),h.strm.avail_out===0?ne:q):(h.strstart>h.block_start&&(_(h,!1),h.strm.avail_out),m)}),new xe(4,4,8,4,Re),new xe(4,5,16,8,Re),new xe(4,6,32,32,Re),new xe(4,4,16,16,ke),new xe(8,16,32,32,ke),new xe(8,16,128,128,ke),new xe(8,32,128,256,ke),new xe(32,128,258,1024,ke),new xe(32,258,258,4096,ke)],i.deflateInit=function(h,U){return Be(h,U,b,15,8,0)},i.deflateInit2=Be,i.deflateReset=tt,i.deflateResetKeep=we,i.deflateSetHeader=function(h,U){return h&&h.state?h.state.wrap!==2?p:(h.state.gzhead=U,f):p},i.deflate=function(h,U){var z,k,w,D;if(!h||!h.state||5>8&255),fe(k,k.gzhead.time>>16&255),fe(k,k.gzhead.time>>24&255),fe(k,k.level===9?2:2<=k.strategy||k.level<2?4:0),fe(k,255&k.gzhead.os),k.gzhead.extra&&k.gzhead.extra.length&&(fe(k,255&k.gzhead.extra.length),fe(k,k.gzhead.extra.length>>8&255)),k.gzhead.hcrc&&(h.adler=s(h.adler,k.pending_buf,k.pending,0)),k.gzindex=0,k.status=69):(fe(k,0),fe(k,0),fe(k,0),fe(k,0),fe(k,0),fe(k,k.level===9?2:2<=k.strategy||k.level<2?4:0),fe(k,3),k.status=I);else{var K=b+(k.w_bits-8<<4)<<8;K|=(2<=k.strategy||k.level<2?0:k.level<6?1:k.level===6?2:3)<<6,k.strstart!==0&&(K|=32),K+=31-K%31,k.status=I,ce(k,K),k.strstart!==0&&(ce(k,h.adler>>>16),ce(k,65535&h.adler)),h.adler=1}if(k.status===69)if(k.gzhead.extra){for(w=k.pending;k.gzindex<(65535&k.gzhead.extra.length)&&(k.pending!==k.pending_buf_size||(k.gzhead.hcrc&&k.pending>w&&(h.adler=s(h.adler,k.pending_buf,k.pending-w,w)),j(h),w=k.pending,k.pending!==k.pending_buf_size));)fe(k,255&k.gzhead.extra[k.gzindex]),k.gzindex++;k.gzhead.hcrc&&k.pending>w&&(h.adler=s(h.adler,k.pending_buf,k.pending-w,w)),k.gzindex===k.gzhead.extra.length&&(k.gzindex=0,k.status=73)}else k.status=73;if(k.status===73)if(k.gzhead.name){w=k.pending;do{if(k.pending===k.pending_buf_size&&(k.gzhead.hcrc&&k.pending>w&&(h.adler=s(h.adler,k.pending_buf,k.pending-w,w)),j(h),w=k.pending,k.pending===k.pending_buf_size)){D=1;break}D=k.gzindexw&&(h.adler=s(h.adler,k.pending_buf,k.pending-w,w)),D===0&&(k.gzindex=0,k.status=91)}else k.status=91;if(k.status===91)if(k.gzhead.comment){w=k.pending;do{if(k.pending===k.pending_buf_size&&(k.gzhead.hcrc&&k.pending>w&&(h.adler=s(h.adler,k.pending_buf,k.pending-w,w)),j(h),w=k.pending,k.pending===k.pending_buf_size)){D=1;break}D=k.gzindexw&&(h.adler=s(h.adler,k.pending_buf,k.pending-w,w)),D===0&&(k.status=103)}else k.status=103;if(k.status===103&&(k.gzhead.hcrc?(k.pending+2>k.pending_buf_size&&j(h),k.pending+2<=k.pending_buf_size&&(fe(k,255&h.adler),fe(k,h.adler>>8&255),h.adler=0,k.status=I)):k.status=I),k.pending!==0){if(j(h),h.avail_out===0)return k.last_flush=-1,f}else if(h.avail_in===0&&Z(U)<=Z(z)&&U!==A)return se(h,-5);if(k.status===666&&h.avail_in!==0)return se(h,-5);if(h.avail_in!==0||k.lookahead!==0||U!==d&&k.status!==666){var Y=k.strategy===2?(function(M,J){for(var ae;;){if(M.lookahead===0&&(be(M),M.lookahead===0)){if(J===d)return m;break}if(M.match_length=0,ae=l._tr_tally(M,0,M.window[M.strstart]),M.lookahead--,M.strstart++,ae&&(_(M,!1),M.strm.avail_out===0))return m}return M.insert=0,J===A?(_(M,!0),M.strm.avail_out===0?ne:q):M.last_lit&&(_(M,!1),M.strm.avail_out===0)?m:N})(k,U):k.strategy===3?(function(M,J){for(var ae,ee,pe,Ee,ve=M.window;;){if(M.lookahead<=W){if(be(M),M.lookahead<=W&&J===d)return m;if(M.lookahead===0)break}if(M.match_length=0,M.lookahead>=T&&0M.lookahead&&(M.match_length=M.lookahead)}if(M.match_length>=T?(ae=l._tr_tally(M,1,M.match_length-T),M.lookahead-=M.match_length,M.strstart+=M.match_length,M.match_length=0):(ae=l._tr_tally(M,0,M.window[M.strstart]),M.lookahead--,M.strstart++),ae&&(_(M,!1),M.strm.avail_out===0))return m}return M.insert=0,J===A?(_(M,!0),M.strm.avail_out===0?ne:q):M.last_lit&&(_(M,!1),M.strm.avail_out===0)?m:N})(k,U):a[k.level].func(k,U);if(Y!==ne&&Y!==q||(k.status=666),Y===m||Y===ne)return h.avail_out===0&&(k.last_flush=-1),f;if(Y===N&&(U===1?l._tr_align(k):U!==5&&(l._tr_stored_block(k,0,0,!1),U===3&&(ue(k.head),k.lookahead===0&&(k.strstart=0,k.block_start=0,k.insert=0))),j(h),h.avail_out===0))return k.last_flush=-1,f}return U!==A?f:k.wrap<=0?1:(k.wrap===2?(fe(k,255&h.adler),fe(k,h.adler>>8&255),fe(k,h.adler>>16&255),fe(k,h.adler>>24&255),fe(k,255&h.total_in),fe(k,h.total_in>>8&255),fe(k,h.total_in>>16&255),fe(k,h.total_in>>24&255)):(ce(k,h.adler>>>16),ce(k,65535&h.adler)),j(h),0=z.w_size&&(D===0&&(ue(z.head),z.strstart=0,z.block_start=0,z.insert=0),J=new o.Buf8(z.w_size),o.arraySet(J,U,ae-z.w_size,z.w_size,0),U=J,ae=z.w_size),K=h.avail_in,Y=h.next_in,M=h.input,h.avail_in=ae,h.next_in=0,h.input=U,be(z);z.lookahead>=T;){for(k=z.strstart,w=z.lookahead-(T-1);z.ins_h=(z.ins_h<>>=T=B>>>24,x-=T,(T=B>>>16&255)===0)N[u++]=65535&B;else{if(!(16&T)){if((64&T)==0){B=P[(65535&B)+(b&(1<>>=T,x-=T),x<15&&(b+=m[c++]<>>=T=B>>>24,x-=T,!(16&(T=B>>>16&255))){if((64&T)==0){B=F[(65535&B)+(b&(1<>>=T,x-=T,(T=u-d)>3,b&=(1<<(x-=W<<3))-1,a.next_in=c,a.next_out=u,a.avail_in=c>>24&255)+(C>>>8&65280)+((65280&C)<<8)+((255&C)<<24)}function b(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new a.Buf16(320),this.work=new a.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function x(C){var I;return C&&C.state?(I=C.state,C.total_in=C.total_out=I.total=0,C.msg="",I.wrap&&(C.adler=1&I.wrap),I.mode=p,I.last=0,I.havedict=0,I.dmax=32768,I.head=null,I.hold=0,I.bits=0,I.lencode=I.lendyn=new a.Buf32(g),I.distcode=I.distdyn=new a.Buf32(y),I.sane=1,I.back=-1,A):f}function P(C){var I;return C&&C.state?((I=C.state).wsize=0,I.whave=0,I.wnext=0,x(C)):f}function F(C,I){var m,N;return C&&C.state?(N=C.state,I<0?(m=0,I=-I):(m=1+(I>>4),I<48&&(I&=15)),I&&(I<8||15=q.wsize?(a.arraySet(q.window,I,m-q.wsize,q.wsize,0),q.wnext=0,q.whave=q.wsize):(N<(ne=q.wsize-q.wnext)&&(ne=N),a.arraySet(q.window,I,m-N,ne,q.wnext),(N-=ne)?(a.arraySet(q.window,I,m-N,N,0),q.wnext=N,q.whave=q.wsize):(q.wnext+=ne,q.wnext===q.wsize&&(q.wnext=0),q.whave>>8&255,m.check=l(m.check,D,2,0),_=j=0,m.mode=2;break}if(m.flags=0,m.head&&(m.head.done=!1),!(1&m.wrap)||(((255&j)<<8)+(j>>8))%31){C.msg="incorrect header check",m.mode=30;break}if((15&j)!=8){C.msg="unknown compression method",m.mode=30;break}if(_-=4,h=8+(15&(j>>>=4)),m.wbits===0)m.wbits=h;else if(h>m.wbits){C.msg="invalid window size",m.mode=30;break}m.dmax=1<>8&1),512&m.flags&&(D[0]=255&j,D[1]=j>>>8&255,m.check=l(m.check,D,2,0)),_=j=0,m.mode=3;case 3:for(;_<32;){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}m.head&&(m.head.time=j),512&m.flags&&(D[0]=255&j,D[1]=j>>>8&255,D[2]=j>>>16&255,D[3]=j>>>24&255,m.check=l(m.check,D,4,0)),_=j=0,m.mode=4;case 4:for(;_<16;){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}m.head&&(m.head.xflags=255&j,m.head.os=j>>8),512&m.flags&&(D[0]=255&j,D[1]=j>>>8&255,m.check=l(m.check,D,2,0)),_=j=0,m.mode=5;case 5:if(1024&m.flags){for(;_<16;){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}m.length=j,m.head&&(m.head.extra_len=j),512&m.flags&&(D[0]=255&j,D[1]=j>>>8&255,m.check=l(m.check,D,2,0)),_=j=0}else m.head&&(m.head.extra=null);m.mode=6;case 6:if(1024&m.flags&&(Z<(ie=m.length)&&(ie=Z),ie&&(m.head&&(h=m.head.extra_len-m.length,m.head.extra||(m.head.extra=new Array(m.head.extra_len)),a.arraySet(m.head.extra,N,q,ie,h)),512&m.flags&&(m.check=l(m.check,N,ie,q)),Z-=ie,q+=ie,m.length-=ie),m.length))break e;m.length=0,m.mode=7;case 7:if(2048&m.flags){if(Z===0)break e;for(ie=0;h=N[q+ie++],m.head&&h&&m.length<65536&&(m.head.name+=String.fromCharCode(h)),h&&ie>9&1,m.head.done=!0),C.adler=m.check=0,m.mode=12;break;case 10:for(;_<32;){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}C.adler=m.check=v(j),_=j=0,m.mode=11;case 11:if(m.havedict===0)return C.next_out=se,C.avail_out=ue,C.next_in=q,C.avail_in=Z,m.hold=j,m.bits=_,2;C.adler=m.check=1,m.mode=12;case 12:if(I===5||I===6)break e;case 13:if(m.last){j>>>=7&_,_-=7&_,m.mode=27;break}for(;_<3;){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}switch(m.last=1&j,_-=1,3&(j>>>=1)){case 0:m.mode=14;break;case 1:if(W(m),m.mode=20,I!==6)break;j>>>=2,_-=2;break e;case 2:m.mode=17;break;case 3:C.msg="invalid block type",m.mode=30}j>>>=2,_-=2;break;case 14:for(j>>>=7&_,_-=7&_;_<32;){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}if((65535&j)!=(j>>>16^65535)){C.msg="invalid stored block lengths",m.mode=30;break}if(m.length=65535&j,_=j=0,m.mode=15,I===6)break e;case 15:m.mode=16;case 16:if(ie=m.length){if(Z>>=5,_-=5,m.ndist=1+(31&j),j>>>=5,_-=5,m.ncode=4+(15&j),j>>>=4,_-=4,286>>=3,_-=3}for(;m.have<19;)m.lens[K[m.have++]]=0;if(m.lencode=m.lendyn,m.lenbits=7,z={bits:m.lenbits},U=s(0,m.lens,0,19,m.lencode,0,m.work,z),m.lenbits=z.bits,U){C.msg="invalid code lengths set",m.mode=30;break}m.have=0,m.mode=19;case 19:for(;m.have>>16&255,Oe=65535&w,!((ke=w>>>24)<=_);){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}if(Oe<16)j>>>=ke,_-=ke,m.lens[m.have++]=Oe;else{if(Oe===16){for(k=ke+2;_>>=ke,_-=ke,m.have===0){C.msg="invalid bit length repeat",m.mode=30;break}h=m.lens[m.have-1],ie=3+(3&j),j>>>=2,_-=2}else if(Oe===17){for(k=ke+3;_>>=ke)),j>>>=3,_-=3}else{for(k=ke+7;_>>=ke)),j>>>=7,_-=7}if(m.have+ie>m.nlen+m.ndist){C.msg="invalid bit length repeat",m.mode=30;break}for(;ie--;)m.lens[m.have++]=h}}if(m.mode===30)break;if(m.lens[256]===0){C.msg="invalid code -- missing end-of-block",m.mode=30;break}if(m.lenbits=9,z={bits:m.lenbits},U=s(u,m.lens,0,m.nlen,m.lencode,0,m.work,z),m.lenbits=z.bits,U){C.msg="invalid literal/lengths set",m.mode=30;break}if(m.distbits=6,m.distcode=m.distdyn,z={bits:m.distbits},U=s(d,m.lens,m.nlen,m.ndist,m.distcode,0,m.work,z),m.distbits=z.bits,U){C.msg="invalid distances set",m.mode=30;break}if(m.mode=20,I===6)break e;case 20:m.mode=21;case 21:if(6<=Z&&258<=ue){C.next_out=se,C.avail_out=ue,C.next_in=q,C.avail_in=Z,m.hold=j,m.bits=_,c(C,ce),se=C.next_out,ne=C.output,ue=C.avail_out,q=C.next_in,N=C.input,Z=C.avail_in,j=m.hold,_=m.bits,m.mode===12&&(m.back=-1);break}for(m.back=0;xe=(w=m.lencode[j&(1<>>16&255,Oe=65535&w,!((ke=w>>>24)<=_);){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}if(xe&&(240&xe)==0){for(we=ke,tt=xe,Be=Oe;xe=(w=m.lencode[Be+((j&(1<>we)])>>>16&255,Oe=65535&w,!(we+(ke=w>>>24)<=_);){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}j>>>=we,_-=we,m.back+=we}if(j>>>=ke,_-=ke,m.back+=ke,m.length=Oe,xe===0){m.mode=26;break}if(32&xe){m.back=-1,m.mode=12;break}if(64&xe){C.msg="invalid literal/length code",m.mode=30;break}m.extra=15&xe,m.mode=22;case 22:if(m.extra){for(k=m.extra;_>>=m.extra,_-=m.extra,m.back+=m.extra}m.was=m.length,m.mode=23;case 23:for(;xe=(w=m.distcode[j&(1<>>16&255,Oe=65535&w,!((ke=w>>>24)<=_);){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}if((240&xe)==0){for(we=ke,tt=xe,Be=Oe;xe=(w=m.distcode[Be+((j&(1<>we)])>>>16&255,Oe=65535&w,!(we+(ke=w>>>24)<=_);){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}j>>>=we,_-=we,m.back+=we}if(j>>>=ke,_-=ke,m.back+=ke,64&xe){C.msg="invalid distance code",m.mode=30;break}m.offset=Oe,m.extra=15&xe,m.mode=24;case 24:if(m.extra){for(k=m.extra;_>>=m.extra,_-=m.extra,m.back+=m.extra}if(m.offset>m.dmax){C.msg="invalid distance too far back",m.mode=30;break}m.mode=25;case 25:if(ue===0)break e;if(ie=ce-ue,m.offset>ie){if((ie=m.offset-ie)>m.whave&&m.sane){C.msg="invalid distance too far back",m.mode=30;break}be=ie>m.wnext?(ie-=m.wnext,m.wsize-ie):m.wnext-ie,ie>m.length&&(ie=m.length),Re=m.window}else Re=ne,be=se-m.offset,ie=m.length;for(ueE?(T=be[Re+y[I]],_[fe+y[I]]):(T=96,0),b=1<>se)+(x-=b)]=B<<24|T<<16|W|0,x!==0;);for(b=1<>=1;if(b!==0?(j&=b-1,j+=b):j=0,I++,--ce[C]==0){if(C===N)break;C=d[A+y[I]]}if(ne>>7)]}function fe(w,D){w.pending_buf[w.pending++]=255&D,w.pending_buf[w.pending++]=D>>>8&255}function ce(w,D,K){w.bi_valid>v-K?(w.bi_buf|=D<>v-w.bi_valid,w.bi_valid+=K-v):(w.bi_buf|=D<>>=1,K<<=1,0<--D;);return K>>>1}function Re(w,D,K){var Y,M,J=new Array(y+1),ae=0;for(Y=1;Y<=y;Y++)J[Y]=ae=ae+K[Y-1]<<1;for(M=0;M<=D;M++){var ee=w[2*M+1];ee!==0&&(w[2*M]=be(J[ee]++,ee))}}function ke(w){var D;for(D=0;D>1;1<=K;K--)we(w,J,K);for(M=pe;K=w.heap[1],w.heap[1]=w.heap[w.heap_len--],we(w,J,1),Y=w.heap[1],w.heap[--w.heap_max]=K,w.heap[--w.heap_max]=Y,J[2*M]=J[2*K]+J[2*Y],w.depth[M]=(w.depth[K]>=w.depth[Y]?w.depth[K]:w.depth[Y])+1,J[2*K+1]=J[2*Y+1]=M,w.heap[1]=M++,we(w,J,1),2<=w.heap_len;);w.heap[--w.heap_max]=w.heap[1],(function(ve,Ie){var rt,Me,G,oe,me,De,te=Ie.dyn_tree,ge=Ie.max_code,L=Ie.stat_desc.static_tree,ye=Ie.stat_desc.has_stree,Ge=Ie.stat_desc.extra_bits,S=Ie.stat_desc.extra_base,de=Ie.stat_desc.max_length,Ae=0;for(oe=0;oe<=y;oe++)ve.bl_count[oe]=0;for(te[2*ve.heap[ve.heap_max]+1]=0,rt=ve.heap_max+1;rt>=7;M>>=1)if(1&Ee&&ee.dyn_ltree[2*pe]!==0)return o;if(ee.dyn_ltree[18]!==0||ee.dyn_ltree[20]!==0||ee.dyn_ltree[26]!==0)return l;for(pe=32;pe>>3,(J=w.static_len+3+7>>>3)<=M&&(M=J)):M=J=K+5,K+4<=M&&D!==-1?k(w,D,K,Y):w.strategy===4||J===M?(ce(w,2+(Y?1:0),3),tt(w,H,C)):(ce(w,4+(Y?1:0),3),(function(ee,pe,Ee,ve){var Ie;for(ce(ee,pe-257,5),ce(ee,Ee-1,5),ce(ee,ve-4,4),Ie=0;Ie>>8&255,w.pending_buf[w.d_buf+2*w.last_lit+1]=255&D,w.pending_buf[w.l_buf+w.last_lit]=255&K,w.last_lit++,D===0?w.dyn_ltree[2*K]++:(w.matches++,D--,w.dyn_ltree[2*(m[K]+d+1)]++,w.dyn_dtree[2*_(D)]++),w.last_lit===w.lit_bufsize-1},i._tr_align=function(w){ce(w,2,3),ie(w,x,H),(function(D){D.bi_valid===16?(fe(D,D.bi_buf),D.bi_buf=0,D.bi_valid=0):8<=D.bi_valid&&(D.pending_buf[D.pending++]=255&D.bi_buf,D.bi_buf>>=8,D.bi_valid-=8)})(w)}},{"../utils/common":41}],53:[function(t,n,i){"use strict";n.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,n,i){(function(a){(function(o,l){"use strict";if(!o.setImmediate){var c,s,u,d,A=1,f={},p=!1,g=o.document,y=Object.getPrototypeOf&&Object.getPrototypeOf(o);y=y&&y.setTimeout?y:o,c={}.toString.call(o.process)==="[object process]"?function(P){process.nextTick(function(){b(P)})}:(function(){if(o.postMessage&&!o.importScripts){var P=!0,F=o.onmessage;return o.onmessage=function(){P=!1},o.postMessage("","*"),o.onmessage=F,P}})()?(d="setImmediate$"+Math.random()+"$",o.addEventListener?o.addEventListener("message",x,!1):o.attachEvent("onmessage",x),function(P){o.postMessage(d+P,"*")}):o.MessageChannel?((u=new MessageChannel).port1.onmessage=function(P){b(P.data)},function(P){u.port2.postMessage(P)}):g&&"onreadystatechange"in g.createElement("script")?(s=g.documentElement,function(P){var F=g.createElement("script");F.onreadystatechange=function(){b(P),F.onreadystatechange=null,s.removeChild(F),F=null},s.appendChild(F)}):function(P){setTimeout(b,0,P)},y.setImmediate=function(P){typeof P!="function"&&(P=new Function(""+P));for(var F=new Array(arguments.length-1),R=0;R"u"?a===void 0?this:a:self)}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})}}),bp=Lt({"node_modules/.pnpm/jszip@3.10.1/node_modules/jszip/dist/jszip.min.js"(e,r){(function(t){typeof e=="object"&&typeof r<"u"?r.exports=t():typeof define=="function"&&define.amd?define([],t):(typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:this).JSZip=t()})(function(){return(function t(n,i,a){function o(s,u){if(!i[s]){if(!n[s]){var d=typeof An=="function"&&An;if(!u&&d)return d(s,!0);if(l)return l(s,!0);var A=new Error("Cannot find module '"+s+"'");throw A.code="MODULE_NOT_FOUND",A}var f=i[s]={exports:{}};n[s][0].call(f.exports,function(p){var g=n[s][1][p];return o(g||p)},f,f.exports,t,n,i,a)}return i[s].exports}for(var l=typeof An=="function"&&An,c=0;c>2,f=(3&s)<<4|u>>4,p=1>6:64,g=2>4,u=(15&A)<<4|(f=l.indexOf(c.charAt(g++)))>>2,d=(3&f)<<6|(p=l.indexOf(c.charAt(g++))),b[y++]=s,f!==64&&(b[y++]=u),p!==64&&(b[y++]=d);return b}},{"./support":30,"./utils":32}],2:[function(t,n,i){"use strict";var a=t("./external"),o=t("./stream/DataWorker"),l=t("./stream/Crc32Probe"),c=t("./stream/DataLengthProbe");function s(u,d,A,f,p){this.compressedSize=u,this.uncompressedSize=d,this.crc32=A,this.compression=f,this.compressedContent=p}s.prototype={getContentWorker:function(){var u=new o(a.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new c("data_length")),d=this;return u.on("end",function(){if(this.streamInfo.data_length!==d.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),u},getCompressedWorker:function(){return new o(a.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},s.createWorkerFrom=function(u,d,A){return u.pipe(new l).pipe(new c("uncompressedSize")).pipe(d.compressWorker(A)).pipe(new c("compressedSize")).withStreamInfo("compression",d)},n.exports=s},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,n,i){"use strict";var a=t("./stream/GenericWorker");i.STORE={magic:"\0\0",compressWorker:function(){return new a("STORE compression")},uncompressWorker:function(){return new a("STORE decompression")}},i.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,n,i){"use strict";var a=t("./utils"),o=(function(){for(var l,c=[],s=0;s<256;s++){l=s;for(var u=0;u<8;u++)l=1&l?3988292384^l>>>1:l>>>1;c[s]=l}return c})();n.exports=function(l,c){return l!==void 0&&l.length?a.getTypeOf(l)!=="string"?(function(s,u,d,A){var f=o,p=A+d;s^=-1;for(var g=A;g>>8^f[255&(s^u[g])];return-1^s})(0|c,l,l.length,0):(function(s,u,d,A){var f=o,p=A+d;s^=-1;for(var g=A;g>>8^f[255&(s^u.charCodeAt(g))];return-1^s})(0|c,l,l.length,0):0}},{"./utils":32}],5:[function(t,n,i){"use strict";i.base64=!1,i.binary=!1,i.dir=!1,i.createFolders=!0,i.date=null,i.compression=null,i.compressionOptions=null,i.comment=null,i.unixPermissions=null,i.dosPermissions=null},{}],6:[function(t,n,i){"use strict";var a=null;a=typeof Promise<"u"?Promise:t("lie"),n.exports={Promise:a}},{lie:37}],7:[function(t,n,i){"use strict";var a=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",o=t("pako"),l=t("./utils"),c=t("./stream/GenericWorker"),s=a?"uint8array":"array";function u(d,A){c.call(this,"FlateWorker/"+d),this._pako=null,this._pakoAction=d,this._pakoOptions=A,this.meta={}}i.magic="\b\0",l.inherits(u,c),u.prototype.processChunk=function(d){this.meta=d.meta,this._pako===null&&this._createPako(),this._pako.push(l.transformTo(s,d.data),!1)},u.prototype.flush=function(){c.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},u.prototype.cleanUp=function(){c.prototype.cleanUp.call(this),this._pako=null},u.prototype._createPako=function(){this._pako=new o[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var d=this;this._pako.onData=function(A){d.push({data:A,meta:d.meta})}},i.compressWorker=function(d){return new u("Deflate",d)},i.uncompressWorker=function(){return new u("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,n,i){"use strict";function a(f,p){var g,y="";for(g=0;g>>=8;return y}function o(f,p,g,y,v,b){var x,P,F=f.file,R=f.compression,E=b!==s.utf8encode,B=l.transformTo("string",b(F.name)),T=l.transformTo("string",s.utf8encode(F.name)),W=F.comment,H=l.transformTo("string",b(W)),C=l.transformTo("string",s.utf8encode(W)),I=T.length!==F.name.length,m=C.length!==W.length,N="",ne="",q="",se=F.dir,Z=F.date,ue={crc32:0,compressedSize:0,uncompressedSize:0};p&&!g||(ue.crc32=f.crc32,ue.compressedSize=f.compressedSize,ue.uncompressedSize=f.uncompressedSize);var j=0;p&&(j|=8),E||!I&&!m||(j|=2048);var _=0,fe=0;se&&(_|=16),v==="UNIX"?(fe=798,_|=(function(ie,be){var Re=ie;return ie||(Re=be?16893:33204),(65535&Re)<<16})(F.unixPermissions,se)):(fe=20,_|=(function(ie){return 63&(ie||0)})(F.dosPermissions)),x=Z.getUTCHours(),x<<=6,x|=Z.getUTCMinutes(),x<<=5,x|=Z.getUTCSeconds()/2,P=Z.getUTCFullYear()-1980,P<<=4,P|=Z.getUTCMonth()+1,P<<=5,P|=Z.getUTCDate(),I&&(ne=a(1,1)+a(u(B),4)+T,N+="up"+a(ne.length,2)+ne),m&&(q=a(1,1)+a(u(H),4)+C,N+="uc"+a(q.length,2)+q);var ce="";return ce+=` -\0`,ce+=a(j,2),ce+=R.magic,ce+=a(x,2),ce+=a(P,2),ce+=a(ue.crc32,4),ce+=a(ue.compressedSize,4),ce+=a(ue.uncompressedSize,4),ce+=a(B.length,2),ce+=a(N.length,2),{fileRecord:d.LOCAL_FILE_HEADER+ce+B+N,dirRecord:d.CENTRAL_FILE_HEADER+a(fe,2)+ce+a(H.length,2)+"\0\0\0\0"+a(_,4)+a(y,4)+B+N+H}}var l=t("../utils"),c=t("../stream/GenericWorker"),s=t("../utf8"),u=t("../crc32"),d=t("../signature");function A(f,p,g,y){c.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=p,this.zipPlatform=g,this.encodeFileName=y,this.streamFiles=f,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}l.inherits(A,c),A.prototype.push=function(f){var p=f.meta.percent||0,g=this.entriesCount,y=this._sources.length;this.accumulate?this.contentBuffer.push(f):(this.bytesWritten+=f.data.length,c.prototype.push.call(this,{data:f.data,meta:{currentFile:this.currentFile,percent:g?(p+100*(g-y-1))/g:100}}))},A.prototype.openedSource=function(f){this.currentSourceOffset=this.bytesWritten,this.currentFile=f.file.name;var p=this.streamFiles&&!f.file.dir;if(p){var g=o(f,p,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:g.fileRecord,meta:{percent:0}})}else this.accumulate=!0},A.prototype.closedSource=function(f){this.accumulate=!1;var p=this.streamFiles&&!f.file.dir,g=o(f,p,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(g.dirRecord),p)this.push({data:(function(y){return d.DATA_DESCRIPTOR+a(y.crc32,4)+a(y.compressedSize,4)+a(y.uncompressedSize,4)})(f),meta:{percent:100}});else for(this.push({data:g.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},A.prototype.flush=function(){for(var f=this.bytesWritten,p=0;p=this.index;c--)s=(s<<8)+this.byteAt(c);return this.index+=l,s},readString:function(l){return a.transformTo("string",this.readData(l))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var l=this.readInt(4);return new Date(Date.UTC(1980+(l>>25&127),(l>>21&15)-1,l>>16&31,l>>11&31,l>>5&63,(31&l)<<1))}},n.exports=o},{"../utils":32}],19:[function(t,n,i){"use strict";var a=t("./Uint8ArrayReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.readData=function(l){this.checkOffset(l);var c=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,n,i){"use strict";var a=t("./DataReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.byteAt=function(l){return this.data.charCodeAt(this.zero+l)},o.prototype.lastIndexOfSignature=function(l){return this.data.lastIndexOf(l)-this.zero},o.prototype.readAndCheckSignature=function(l){return l===this.readData(4)},o.prototype.readData=function(l){this.checkOffset(l);var c=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./DataReader":18}],21:[function(t,n,i){"use strict";var a=t("./ArrayReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.readData=function(l){if(this.checkOffset(l),l===0)return new Uint8Array(0);var c=this.data.subarray(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./ArrayReader":17}],22:[function(t,n,i){"use strict";var a=t("../utils"),o=t("../support"),l=t("./ArrayReader"),c=t("./StringReader"),s=t("./NodeBufferReader"),u=t("./Uint8ArrayReader");n.exports=function(d){var A=a.getTypeOf(d);return a.checkSupport(A),A!=="string"||o.uint8array?A==="nodebuffer"?new s(d):o.uint8array?new u(a.transformTo("uint8array",d)):new l(a.transformTo("array",d)):new c(d)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,n,i){"use strict";i.LOCAL_FILE_HEADER="PK",i.CENTRAL_FILE_HEADER="PK",i.CENTRAL_DIRECTORY_END="PK",i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",i.ZIP64_CENTRAL_DIRECTORY_END="PK",i.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(t,n,i){"use strict";var a=t("./GenericWorker"),o=t("../utils");function l(c){a.call(this,"ConvertWorker to "+c),this.destType=c}o.inherits(l,a),l.prototype.processChunk=function(c){this.push({data:o.transformTo(this.destType,c.data),meta:c.meta})},n.exports=l},{"../utils":32,"./GenericWorker":28}],25:[function(t,n,i){"use strict";var a=t("./GenericWorker"),o=t("../crc32");function l(){a.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(l,a),l.prototype.processChunk=function(c){this.streamInfo.crc32=o(c.data,this.streamInfo.crc32||0),this.push(c)},n.exports=l},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./GenericWorker");function l(c){o.call(this,"DataLengthProbe for "+c),this.propName=c,this.withStreamInfo(c,0)}a.inherits(l,o),l.prototype.processChunk=function(c){if(c){var s=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=s+c.data.length}o.prototype.processChunk.call(this,c)},n.exports=l},{"../utils":32,"./GenericWorker":28}],27:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./GenericWorker");function l(c){o.call(this,"DataWorker");var s=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,c.then(function(u){s.dataIsReady=!0,s.data=u,s.max=u&&u.length||0,s.type=a.getTypeOf(u),s.isPaused||s._tickAndRepeat()},function(u){s.error(u)})}a.inherits(l,o),l.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this.data=null},l.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,a.delay(this._tickAndRepeat,[],this)),!0)},l.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(a.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},l.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var c=null,s=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":c=this.data.substring(this.index,s);break;case"uint8array":c=this.data.subarray(this.index,s);break;case"array":case"nodebuffer":c=this.data.slice(this.index,s)}return this.index=s,this.push({data:c,meta:{percent:this.max?this.index/this.max*100:0}})},n.exports=l},{"../utils":32,"./GenericWorker":28}],28:[function(t,n,i){"use strict";function a(o){this.name=o||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}a.prototype={push:function(o){this.emit("data",o)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(o){this.emit("error",o)}return!0},error:function(o){return!this.isFinished&&(this.isPaused?this.generatedError=o:(this.isFinished=!0,this.emit("error",o),this.previous&&this.previous.error(o),this.cleanUp()),!0)},on:function(o,l){return this._listeners[o].push(l),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(o,l){if(this._listeners[o])for(var c=0;c "+o:o}},n.exports=a},{}],29:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./ConvertWorker"),l=t("./GenericWorker"),c=t("../base64"),s=t("../support"),u=t("../external"),d=null;if(s.nodestream)try{d=t("../nodejs/NodejsStreamOutputAdapter")}catch{}function A(p,g){return new u.Promise(function(y,v){var b=[],x=p._internalType,P=p._outputType,F=p._mimeType;p.on("data",function(R,E){b.push(R),g&&g(E)}).on("error",function(R){b=[],v(R)}).on("end",function(){try{var R=(function(E,B,T){switch(E){case"blob":return a.newBlob(a.transformTo("arraybuffer",B),T);case"base64":return c.encode(B);default:return a.transformTo(E,B)}})(P,(function(E,B){var T,W=0,H=null,C=0;for(T=0;T"u")i.blob=!1;else{var a=new ArrayBuffer(0);try{i.blob=new Blob([a],{type:"application/zip"}).size===0}catch{try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(a),i.blob=o.getBlob("application/zip").size===0}catch{i.blob=!1}}}try{i.nodestream=!!t("readable-stream").Readable}catch{i.nodestream=!1}},{"readable-stream":16}],31:[function(t,n,i){"use strict";for(var a=t("./utils"),o=t("./support"),l=t("./nodejsUtils"),c=t("./stream/GenericWorker"),s=new Array(256),u=0;u<256;u++)s[u]=252<=u?6:248<=u?5:240<=u?4:224<=u?3:192<=u?2:1;s[254]=s[254]=1;function d(){c.call(this,"utf-8 decode"),this.leftOver=null}function A(){c.call(this,"utf-8 encode")}i.utf8encode=function(f){return o.nodebuffer?l.newBufferFrom(f,"utf-8"):(function(p){var g,y,v,b,x,P=p.length,F=0;for(b=0;b>>6:(y<65536?g[x++]=224|y>>>12:(g[x++]=240|y>>>18,g[x++]=128|y>>>12&63),g[x++]=128|y>>>6&63),g[x++]=128|63&y);return g})(f)},i.utf8decode=function(f){return o.nodebuffer?a.transformTo("nodebuffer",f).toString("utf-8"):(function(p){var g,y,v,b,x=p.length,P=new Array(2*x);for(g=y=0;g>10&1023,P[y++]=56320|1023&v)}return P.length!==y&&(P.subarray?P=P.subarray(0,y):P.length=y),a.applyFromCharCode(P)})(f=a.transformTo(o.uint8array?"uint8array":"array",f))},a.inherits(d,c),d.prototype.processChunk=function(f){var p=a.transformTo(o.uint8array?"uint8array":"array",f.data);if(this.leftOver&&this.leftOver.length){if(o.uint8array){var g=p;(p=new Uint8Array(g.length+this.leftOver.length)).set(this.leftOver,0),p.set(g,this.leftOver.length)}else p=this.leftOver.concat(p);this.leftOver=null}var y=(function(b,x){var P;for((x=x||b.length)>b.length&&(x=b.length),P=x-1;0<=P&&(192&b[P])==128;)P--;return P<0||P===0?x:P+s[b[P]]>x?P:x})(p),v=p;y!==p.length&&(o.uint8array?(v=p.subarray(0,y),this.leftOver=p.subarray(y,p.length)):(v=p.slice(0,y),this.leftOver=p.slice(y,p.length))),this.push({data:i.utf8decode(v),meta:f.meta})},d.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:i.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},i.Utf8DecodeWorker=d,a.inherits(A,c),A.prototype.processChunk=function(f){this.push({data:i.utf8encode(f.data),meta:f.meta})},i.Utf8EncodeWorker=A},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,n,i){"use strict";var a=t("./support"),o=t("./base64"),l=t("./nodejsUtils"),c=t("./external");function s(g){return g}function u(g,y){for(var v=0;v>8;this.dir=!!(16&this.externalFileAttributes),f==0&&(this.dosPermissions=63&this.externalFileAttributes),f==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var f=a(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=f.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=f.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=f.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=f.readInt(4))}},readExtraFields:function(f){var p,g,y,v=f.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});f.index+4>>6:(f<65536?A[y++]=224|f>>>12:(A[y++]=240|f>>>18,A[y++]=128|f>>>12&63),A[y++]=128|f>>>6&63),A[y++]=128|63&f);return A},i.buf2binstring=function(d){return u(d,d.length)},i.binstring2buf=function(d){for(var A=new a.Buf8(d.length),f=0,p=A.length;f>10&1023,b[p++]=56320|1023&g)}return u(b,p)},i.utf8border=function(d,A){var f;for((A=A||d.length)>d.length&&(A=d.length),f=A-1;0<=f&&(192&d[f])==128;)f--;return f<0||f===0?A:f+c[d[f]]>A?f:A}},{"./common":41}],43:[function(t,n,i){"use strict";n.exports=function(a,o,l,c){for(var s=65535&a|0,u=a>>>16&65535|0,d=0;l!==0;){for(l-=d=2e3>>1:o>>>1;l[c]=o}return l})();n.exports=function(o,l,c,s){var u=a,d=s+c;o^=-1;for(var A=s;A>>8^u[255&(o^l[A])];return-1^o}},{}],46:[function(t,n,i){"use strict";var a,o=t("../utils/common"),l=t("./trees"),c=t("./adler32"),s=t("./crc32"),u=t("./messages"),d=0,A=4,f=0,p=-2,g=-1,y=4,v=2,b=8,x=9,P=286,F=30,R=19,E=2*P+1,B=15,T=3,W=258,H=W+T+1,C=42,I=113,m=1,N=2,ne=3,q=4;function se(h,U){return h.msg=u[U],U}function Z(h){return(h<<1)-(4h.avail_out&&(z=h.avail_out),z!==0&&(o.arraySet(h.output,U.pending_buf,U.pending_out,z,h.next_out),h.next_out+=z,U.pending_out+=z,h.total_out+=z,h.avail_out-=z,U.pending-=z,U.pending===0&&(U.pending_out=0))}function _(h,U){l._tr_flush_block(h,0<=h.block_start?h.block_start:-1,h.strstart-h.block_start,U),h.block_start=h.strstart,j(h.strm)}function fe(h,U){h.pending_buf[h.pending++]=U}function ce(h,U){h.pending_buf[h.pending++]=U>>>8&255,h.pending_buf[h.pending++]=255&U}function ie(h,U){var z,k,w=h.max_chain_length,D=h.strstart,K=h.prev_length,Y=h.nice_match,M=h.strstart>h.w_size-H?h.strstart-(h.w_size-H):0,J=h.window,ae=h.w_mask,ee=h.prev,pe=h.strstart+W,Ee=J[D+K-1],ve=J[D+K];h.prev_length>=h.good_match&&(w>>=2),Y>h.lookahead&&(Y=h.lookahead);do if(J[(z=U)+K]===ve&&J[z+K-1]===Ee&&J[z]===J[D]&&J[++z]===J[D+1]){D+=2,z++;do;while(J[++D]===J[++z]&&J[++D]===J[++z]&&J[++D]===J[++z]&&J[++D]===J[++z]&&J[++D]===J[++z]&&J[++D]===J[++z]&&J[++D]===J[++z]&&J[++D]===J[++z]&&DM&&--w!=0);return K<=h.lookahead?K:h.lookahead}function be(h){var U,z,k,w,D,K,Y,M,J,ae,ee=h.w_size;do{if(w=h.window_size-h.lookahead-h.strstart,h.strstart>=ee+(ee-H)){for(o.arraySet(h.window,h.window,ee,ee,0),h.match_start-=ee,h.strstart-=ee,h.block_start-=ee,U=z=h.hash_size;k=h.head[--U],h.head[U]=ee<=k?k-ee:0,--z;);for(U=z=ee;k=h.prev[--U],h.prev[U]=ee<=k?k-ee:0,--z;);w+=ee}if(h.strm.avail_in===0)break;if(K=h.strm,Y=h.window,M=h.strstart+h.lookahead,J=w,ae=void 0,ae=K.avail_in,J=T)for(D=h.strstart-h.insert,h.ins_h=h.window[D],h.ins_h=(h.ins_h<=T&&(h.ins_h=(h.ins_h<=T)if(k=l._tr_tally(h,h.strstart-h.match_start,h.match_length-T),h.lookahead-=h.match_length,h.match_length<=h.max_lazy_match&&h.lookahead>=T){for(h.match_length--;h.strstart++,h.ins_h=(h.ins_h<=T&&(h.ins_h=(h.ins_h<=T&&h.match_length<=h.prev_length){for(w=h.strstart+h.lookahead-T,k=l._tr_tally(h,h.strstart-1-h.prev_match,h.prev_length-T),h.lookahead-=h.prev_length-1,h.prev_length-=2;++h.strstart<=w&&(h.ins_h=(h.ins_h<h.pending_buf_size-5&&(z=h.pending_buf_size-5);;){if(h.lookahead<=1){if(be(h),h.lookahead===0&&U===d)return m;if(h.lookahead===0)break}h.strstart+=h.lookahead,h.lookahead=0;var k=h.block_start+z;if((h.strstart===0||h.strstart>=k)&&(h.lookahead=h.strstart-k,h.strstart=k,_(h,!1),h.strm.avail_out===0)||h.strstart-h.block_start>=h.w_size-H&&(_(h,!1),h.strm.avail_out===0))return m}return h.insert=0,U===A?(_(h,!0),h.strm.avail_out===0?ne:q):(h.strstart>h.block_start&&(_(h,!1),h.strm.avail_out),m)}),new xe(4,4,8,4,Re),new xe(4,5,16,8,Re),new xe(4,6,32,32,Re),new xe(4,4,16,16,ke),new xe(8,16,32,32,ke),new xe(8,16,128,128,ke),new xe(8,32,128,256,ke),new xe(32,128,258,1024,ke),new xe(32,258,258,4096,ke)],i.deflateInit=function(h,U){return Be(h,U,b,15,8,0)},i.deflateInit2=Be,i.deflateReset=tt,i.deflateResetKeep=we,i.deflateSetHeader=function(h,U){return h&&h.state?h.state.wrap!==2?p:(h.state.gzhead=U,f):p},i.deflate=function(h,U){var z,k,w,D;if(!h||!h.state||5>8&255),fe(k,k.gzhead.time>>16&255),fe(k,k.gzhead.time>>24&255),fe(k,k.level===9?2:2<=k.strategy||k.level<2?4:0),fe(k,255&k.gzhead.os),k.gzhead.extra&&k.gzhead.extra.length&&(fe(k,255&k.gzhead.extra.length),fe(k,k.gzhead.extra.length>>8&255)),k.gzhead.hcrc&&(h.adler=s(h.adler,k.pending_buf,k.pending,0)),k.gzindex=0,k.status=69):(fe(k,0),fe(k,0),fe(k,0),fe(k,0),fe(k,0),fe(k,k.level===9?2:2<=k.strategy||k.level<2?4:0),fe(k,3),k.status=I);else{var K=b+(k.w_bits-8<<4)<<8;K|=(2<=k.strategy||k.level<2?0:k.level<6?1:k.level===6?2:3)<<6,k.strstart!==0&&(K|=32),K+=31-K%31,k.status=I,ce(k,K),k.strstart!==0&&(ce(k,h.adler>>>16),ce(k,65535&h.adler)),h.adler=1}if(k.status===69)if(k.gzhead.extra){for(w=k.pending;k.gzindex<(65535&k.gzhead.extra.length)&&(k.pending!==k.pending_buf_size||(k.gzhead.hcrc&&k.pending>w&&(h.adler=s(h.adler,k.pending_buf,k.pending-w,w)),j(h),w=k.pending,k.pending!==k.pending_buf_size));)fe(k,255&k.gzhead.extra[k.gzindex]),k.gzindex++;k.gzhead.hcrc&&k.pending>w&&(h.adler=s(h.adler,k.pending_buf,k.pending-w,w)),k.gzindex===k.gzhead.extra.length&&(k.gzindex=0,k.status=73)}else k.status=73;if(k.status===73)if(k.gzhead.name){w=k.pending;do{if(k.pending===k.pending_buf_size&&(k.gzhead.hcrc&&k.pending>w&&(h.adler=s(h.adler,k.pending_buf,k.pending-w,w)),j(h),w=k.pending,k.pending===k.pending_buf_size)){D=1;break}D=k.gzindexw&&(h.adler=s(h.adler,k.pending_buf,k.pending-w,w)),D===0&&(k.gzindex=0,k.status=91)}else k.status=91;if(k.status===91)if(k.gzhead.comment){w=k.pending;do{if(k.pending===k.pending_buf_size&&(k.gzhead.hcrc&&k.pending>w&&(h.adler=s(h.adler,k.pending_buf,k.pending-w,w)),j(h),w=k.pending,k.pending===k.pending_buf_size)){D=1;break}D=k.gzindexw&&(h.adler=s(h.adler,k.pending_buf,k.pending-w,w)),D===0&&(k.status=103)}else k.status=103;if(k.status===103&&(k.gzhead.hcrc?(k.pending+2>k.pending_buf_size&&j(h),k.pending+2<=k.pending_buf_size&&(fe(k,255&h.adler),fe(k,h.adler>>8&255),h.adler=0,k.status=I)):k.status=I),k.pending!==0){if(j(h),h.avail_out===0)return k.last_flush=-1,f}else if(h.avail_in===0&&Z(U)<=Z(z)&&U!==A)return se(h,-5);if(k.status===666&&h.avail_in!==0)return se(h,-5);if(h.avail_in!==0||k.lookahead!==0||U!==d&&k.status!==666){var Y=k.strategy===2?(function(M,J){for(var ae;;){if(M.lookahead===0&&(be(M),M.lookahead===0)){if(J===d)return m;break}if(M.match_length=0,ae=l._tr_tally(M,0,M.window[M.strstart]),M.lookahead--,M.strstart++,ae&&(_(M,!1),M.strm.avail_out===0))return m}return M.insert=0,J===A?(_(M,!0),M.strm.avail_out===0?ne:q):M.last_lit&&(_(M,!1),M.strm.avail_out===0)?m:N})(k,U):k.strategy===3?(function(M,J){for(var ae,ee,pe,Ee,ve=M.window;;){if(M.lookahead<=W){if(be(M),M.lookahead<=W&&J===d)return m;if(M.lookahead===0)break}if(M.match_length=0,M.lookahead>=T&&0M.lookahead&&(M.match_length=M.lookahead)}if(M.match_length>=T?(ae=l._tr_tally(M,1,M.match_length-T),M.lookahead-=M.match_length,M.strstart+=M.match_length,M.match_length=0):(ae=l._tr_tally(M,0,M.window[M.strstart]),M.lookahead--,M.strstart++),ae&&(_(M,!1),M.strm.avail_out===0))return m}return M.insert=0,J===A?(_(M,!0),M.strm.avail_out===0?ne:q):M.last_lit&&(_(M,!1),M.strm.avail_out===0)?m:N})(k,U):a[k.level].func(k,U);if(Y!==ne&&Y!==q||(k.status=666),Y===m||Y===ne)return h.avail_out===0&&(k.last_flush=-1),f;if(Y===N&&(U===1?l._tr_align(k):U!==5&&(l._tr_stored_block(k,0,0,!1),U===3&&(ue(k.head),k.lookahead===0&&(k.strstart=0,k.block_start=0,k.insert=0))),j(h),h.avail_out===0))return k.last_flush=-1,f}return U!==A?f:k.wrap<=0?1:(k.wrap===2?(fe(k,255&h.adler),fe(k,h.adler>>8&255),fe(k,h.adler>>16&255),fe(k,h.adler>>24&255),fe(k,255&h.total_in),fe(k,h.total_in>>8&255),fe(k,h.total_in>>16&255),fe(k,h.total_in>>24&255)):(ce(k,h.adler>>>16),ce(k,65535&h.adler)),j(h),0=z.w_size&&(D===0&&(ue(z.head),z.strstart=0,z.block_start=0,z.insert=0),J=new o.Buf8(z.w_size),o.arraySet(J,U,ae-z.w_size,z.w_size,0),U=J,ae=z.w_size),K=h.avail_in,Y=h.next_in,M=h.input,h.avail_in=ae,h.next_in=0,h.input=U,be(z);z.lookahead>=T;){for(k=z.strstart,w=z.lookahead-(T-1);z.ins_h=(z.ins_h<>>=T=B>>>24,x-=T,(T=B>>>16&255)===0)N[u++]=65535&B;else{if(!(16&T)){if((64&T)==0){B=P[(65535&B)+(b&(1<>>=T,x-=T),x<15&&(b+=m[c++]<>>=T=B>>>24,x-=T,!(16&(T=B>>>16&255))){if((64&T)==0){B=F[(65535&B)+(b&(1<>>=T,x-=T,(T=u-d)>3,b&=(1<<(x-=W<<3))-1,a.next_in=c,a.next_out=u,a.avail_in=c>>24&255)+(C>>>8&65280)+((65280&C)<<8)+((255&C)<<24)}function b(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new a.Buf16(320),this.work=new a.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function x(C){var I;return C&&C.state?(I=C.state,C.total_in=C.total_out=I.total=0,C.msg="",I.wrap&&(C.adler=1&I.wrap),I.mode=p,I.last=0,I.havedict=0,I.dmax=32768,I.head=null,I.hold=0,I.bits=0,I.lencode=I.lendyn=new a.Buf32(g),I.distcode=I.distdyn=new a.Buf32(y),I.sane=1,I.back=-1,A):f}function P(C){var I;return C&&C.state?((I=C.state).wsize=0,I.whave=0,I.wnext=0,x(C)):f}function F(C,I){var m,N;return C&&C.state?(N=C.state,I<0?(m=0,I=-I):(m=1+(I>>4),I<48&&(I&=15)),I&&(I<8||15=q.wsize?(a.arraySet(q.window,I,m-q.wsize,q.wsize,0),q.wnext=0,q.whave=q.wsize):(N<(ne=q.wsize-q.wnext)&&(ne=N),a.arraySet(q.window,I,m-N,ne,q.wnext),(N-=ne)?(a.arraySet(q.window,I,m-N,N,0),q.wnext=N,q.whave=q.wsize):(q.wnext+=ne,q.wnext===q.wsize&&(q.wnext=0),q.whave>>8&255,m.check=l(m.check,D,2,0),_=j=0,m.mode=2;break}if(m.flags=0,m.head&&(m.head.done=!1),!(1&m.wrap)||(((255&j)<<8)+(j>>8))%31){C.msg="incorrect header check",m.mode=30;break}if((15&j)!=8){C.msg="unknown compression method",m.mode=30;break}if(_-=4,h=8+(15&(j>>>=4)),m.wbits===0)m.wbits=h;else if(h>m.wbits){C.msg="invalid window size",m.mode=30;break}m.dmax=1<>8&1),512&m.flags&&(D[0]=255&j,D[1]=j>>>8&255,m.check=l(m.check,D,2,0)),_=j=0,m.mode=3;case 3:for(;_<32;){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}m.head&&(m.head.time=j),512&m.flags&&(D[0]=255&j,D[1]=j>>>8&255,D[2]=j>>>16&255,D[3]=j>>>24&255,m.check=l(m.check,D,4,0)),_=j=0,m.mode=4;case 4:for(;_<16;){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}m.head&&(m.head.xflags=255&j,m.head.os=j>>8),512&m.flags&&(D[0]=255&j,D[1]=j>>>8&255,m.check=l(m.check,D,2,0)),_=j=0,m.mode=5;case 5:if(1024&m.flags){for(;_<16;){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}m.length=j,m.head&&(m.head.extra_len=j),512&m.flags&&(D[0]=255&j,D[1]=j>>>8&255,m.check=l(m.check,D,2,0)),_=j=0}else m.head&&(m.head.extra=null);m.mode=6;case 6:if(1024&m.flags&&(Z<(ie=m.length)&&(ie=Z),ie&&(m.head&&(h=m.head.extra_len-m.length,m.head.extra||(m.head.extra=new Array(m.head.extra_len)),a.arraySet(m.head.extra,N,q,ie,h)),512&m.flags&&(m.check=l(m.check,N,ie,q)),Z-=ie,q+=ie,m.length-=ie),m.length))break e;m.length=0,m.mode=7;case 7:if(2048&m.flags){if(Z===0)break e;for(ie=0;h=N[q+ie++],m.head&&h&&m.length<65536&&(m.head.name+=String.fromCharCode(h)),h&&ie>9&1,m.head.done=!0),C.adler=m.check=0,m.mode=12;break;case 10:for(;_<32;){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}C.adler=m.check=v(j),_=j=0,m.mode=11;case 11:if(m.havedict===0)return C.next_out=se,C.avail_out=ue,C.next_in=q,C.avail_in=Z,m.hold=j,m.bits=_,2;C.adler=m.check=1,m.mode=12;case 12:if(I===5||I===6)break e;case 13:if(m.last){j>>>=7&_,_-=7&_,m.mode=27;break}for(;_<3;){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}switch(m.last=1&j,_-=1,3&(j>>>=1)){case 0:m.mode=14;break;case 1:if(W(m),m.mode=20,I!==6)break;j>>>=2,_-=2;break e;case 2:m.mode=17;break;case 3:C.msg="invalid block type",m.mode=30}j>>>=2,_-=2;break;case 14:for(j>>>=7&_,_-=7&_;_<32;){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}if((65535&j)!=(j>>>16^65535)){C.msg="invalid stored block lengths",m.mode=30;break}if(m.length=65535&j,_=j=0,m.mode=15,I===6)break e;case 15:m.mode=16;case 16:if(ie=m.length){if(Z>>=5,_-=5,m.ndist=1+(31&j),j>>>=5,_-=5,m.ncode=4+(15&j),j>>>=4,_-=4,286>>=3,_-=3}for(;m.have<19;)m.lens[K[m.have++]]=0;if(m.lencode=m.lendyn,m.lenbits=7,z={bits:m.lenbits},U=s(0,m.lens,0,19,m.lencode,0,m.work,z),m.lenbits=z.bits,U){C.msg="invalid code lengths set",m.mode=30;break}m.have=0,m.mode=19;case 19:for(;m.have>>16&255,Oe=65535&w,!((ke=w>>>24)<=_);){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}if(Oe<16)j>>>=ke,_-=ke,m.lens[m.have++]=Oe;else{if(Oe===16){for(k=ke+2;_>>=ke,_-=ke,m.have===0){C.msg="invalid bit length repeat",m.mode=30;break}h=m.lens[m.have-1],ie=3+(3&j),j>>>=2,_-=2}else if(Oe===17){for(k=ke+3;_>>=ke)),j>>>=3,_-=3}else{for(k=ke+7;_>>=ke)),j>>>=7,_-=7}if(m.have+ie>m.nlen+m.ndist){C.msg="invalid bit length repeat",m.mode=30;break}for(;ie--;)m.lens[m.have++]=h}}if(m.mode===30)break;if(m.lens[256]===0){C.msg="invalid code -- missing end-of-block",m.mode=30;break}if(m.lenbits=9,z={bits:m.lenbits},U=s(u,m.lens,0,m.nlen,m.lencode,0,m.work,z),m.lenbits=z.bits,U){C.msg="invalid literal/lengths set",m.mode=30;break}if(m.distbits=6,m.distcode=m.distdyn,z={bits:m.distbits},U=s(d,m.lens,m.nlen,m.ndist,m.distcode,0,m.work,z),m.distbits=z.bits,U){C.msg="invalid distances set",m.mode=30;break}if(m.mode=20,I===6)break e;case 20:m.mode=21;case 21:if(6<=Z&&258<=ue){C.next_out=se,C.avail_out=ue,C.next_in=q,C.avail_in=Z,m.hold=j,m.bits=_,c(C,ce),se=C.next_out,ne=C.output,ue=C.avail_out,q=C.next_in,N=C.input,Z=C.avail_in,j=m.hold,_=m.bits,m.mode===12&&(m.back=-1);break}for(m.back=0;xe=(w=m.lencode[j&(1<>>16&255,Oe=65535&w,!((ke=w>>>24)<=_);){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}if(xe&&(240&xe)==0){for(we=ke,tt=xe,Be=Oe;xe=(w=m.lencode[Be+((j&(1<>we)])>>>16&255,Oe=65535&w,!(we+(ke=w>>>24)<=_);){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}j>>>=we,_-=we,m.back+=we}if(j>>>=ke,_-=ke,m.back+=ke,m.length=Oe,xe===0){m.mode=26;break}if(32&xe){m.back=-1,m.mode=12;break}if(64&xe){C.msg="invalid literal/length code",m.mode=30;break}m.extra=15&xe,m.mode=22;case 22:if(m.extra){for(k=m.extra;_>>=m.extra,_-=m.extra,m.back+=m.extra}m.was=m.length,m.mode=23;case 23:for(;xe=(w=m.distcode[j&(1<>>16&255,Oe=65535&w,!((ke=w>>>24)<=_);){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}if((240&xe)==0){for(we=ke,tt=xe,Be=Oe;xe=(w=m.distcode[Be+((j&(1<>we)])>>>16&255,Oe=65535&w,!(we+(ke=w>>>24)<=_);){if(Z===0)break e;Z--,j+=N[q++]<<_,_+=8}j>>>=we,_-=we,m.back+=we}if(j>>>=ke,_-=ke,m.back+=ke,64&xe){C.msg="invalid distance code",m.mode=30;break}m.offset=Oe,m.extra=15&xe,m.mode=24;case 24:if(m.extra){for(k=m.extra;_>>=m.extra,_-=m.extra,m.back+=m.extra}if(m.offset>m.dmax){C.msg="invalid distance too far back",m.mode=30;break}m.mode=25;case 25:if(ue===0)break e;if(ie=ce-ue,m.offset>ie){if((ie=m.offset-ie)>m.whave&&m.sane){C.msg="invalid distance too far back",m.mode=30;break}be=ie>m.wnext?(ie-=m.wnext,m.wsize-ie):m.wnext-ie,ie>m.length&&(ie=m.length),Re=m.window}else Re=ne,be=se-m.offset,ie=m.length;for(ueE?(T=be[Re+y[I]],_[fe+y[I]]):(T=96,0),b=1<>se)+(x-=b)]=B<<24|T<<16|W|0,x!==0;);for(b=1<>=1;if(b!==0?(j&=b-1,j+=b):j=0,I++,--ce[C]==0){if(C===N)break;C=d[A+y[I]]}if(ne>>7)]}function fe(w,D){w.pending_buf[w.pending++]=255&D,w.pending_buf[w.pending++]=D>>>8&255}function ce(w,D,K){w.bi_valid>v-K?(w.bi_buf|=D<>v-w.bi_valid,w.bi_valid+=K-v):(w.bi_buf|=D<>>=1,K<<=1,0<--D;);return K>>>1}function Re(w,D,K){var Y,M,J=new Array(y+1),ae=0;for(Y=1;Y<=y;Y++)J[Y]=ae=ae+K[Y-1]<<1;for(M=0;M<=D;M++){var ee=w[2*M+1];ee!==0&&(w[2*M]=be(J[ee]++,ee))}}function ke(w){var D;for(D=0;D>1;1<=K;K--)we(w,J,K);for(M=pe;K=w.heap[1],w.heap[1]=w.heap[w.heap_len--],we(w,J,1),Y=w.heap[1],w.heap[--w.heap_max]=K,w.heap[--w.heap_max]=Y,J[2*M]=J[2*K]+J[2*Y],w.depth[M]=(w.depth[K]>=w.depth[Y]?w.depth[K]:w.depth[Y])+1,J[2*K+1]=J[2*Y+1]=M,w.heap[1]=M++,we(w,J,1),2<=w.heap_len;);w.heap[--w.heap_max]=w.heap[1],(function(ve,Ie){var rt,Me,G,oe,me,De,te=Ie.dyn_tree,ge=Ie.max_code,L=Ie.stat_desc.static_tree,ye=Ie.stat_desc.has_stree,Ge=Ie.stat_desc.extra_bits,S=Ie.stat_desc.extra_base,de=Ie.stat_desc.max_length,Ae=0;for(oe=0;oe<=y;oe++)ve.bl_count[oe]=0;for(te[2*ve.heap[ve.heap_max]+1]=0,rt=ve.heap_max+1;rt>=7;M>>=1)if(1&Ee&&ee.dyn_ltree[2*pe]!==0)return o;if(ee.dyn_ltree[18]!==0||ee.dyn_ltree[20]!==0||ee.dyn_ltree[26]!==0)return l;for(pe=32;pe>>3,(J=w.static_len+3+7>>>3)<=M&&(M=J)):M=J=K+5,K+4<=M&&D!==-1?k(w,D,K,Y):w.strategy===4||J===M?(ce(w,2+(Y?1:0),3),tt(w,H,C)):(ce(w,4+(Y?1:0),3),(function(ee,pe,Ee,ve){var Ie;for(ce(ee,pe-257,5),ce(ee,Ee-1,5),ce(ee,ve-4,4),Ie=0;Ie>>8&255,w.pending_buf[w.d_buf+2*w.last_lit+1]=255&D,w.pending_buf[w.l_buf+w.last_lit]=255&K,w.last_lit++,D===0?w.dyn_ltree[2*K]++:(w.matches++,D--,w.dyn_ltree[2*(m[K]+d+1)]++,w.dyn_dtree[2*_(D)]++),w.last_lit===w.lit_bufsize-1},i._tr_align=function(w){ce(w,2,3),ie(w,x,H),(function(D){D.bi_valid===16?(fe(D,D.bi_buf),D.bi_buf=0,D.bi_valid=0):8<=D.bi_valid&&(D.pending_buf[D.pending++]=255&D.bi_buf,D.bi_buf>>=8,D.bi_valid-=8)})(w)}},{"../utils/common":41}],53:[function(t,n,i){"use strict";n.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,n,i){(function(a){(function(o,l){"use strict";if(!o.setImmediate){var c,s,u,d,A=1,f={},p=!1,g=o.document,y=Object.getPrototypeOf&&Object.getPrototypeOf(o);y=y&&y.setTimeout?y:o,c={}.toString.call(o.process)==="[object process]"?function(P){process.nextTick(function(){b(P)})}:(function(){if(o.postMessage&&!o.importScripts){var P=!0,F=o.onmessage;return o.onmessage=function(){P=!1},o.postMessage("","*"),o.onmessage=F,P}})()?(d="setImmediate$"+Math.random()+"$",o.addEventListener?o.addEventListener("message",x,!1):o.attachEvent("onmessage",x),function(P){o.postMessage(d+P,"*")}):o.MessageChannel?((u=new MessageChannel).port1.onmessage=function(P){b(P.data)},function(P){u.port2.postMessage(P)}):g&&"onreadystatechange"in g.createElement("script")?(s=g.documentElement,function(P){var F=g.createElement("script");F.onreadystatechange=function(){b(P),F.onreadystatechange=null,s.removeChild(F),F=null},s.appendChild(F)}):function(P){setTimeout(b,0,P)},y.setImmediate=function(P){typeof P!="function"&&(P=new Function(""+P));for(var F=new Array(arguments.length-1),R=0;R"u"?a===void 0?this:a:self)}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})}}),Uu=Lt({"(disabled):node:fs"(){}}),wp=Lt({"(disabled):node:https"(){}}),zs=function(e,r){return zs=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var i in n)n.hasOwnProperty(i)&&(t[i]=n[i])},zs(e,r)};function Te(e,r){zs(e,r);function t(){this.constructor=e}e.prototype=r===null?Object.create(r):(t.prototype=r.prototype,new t)}var Je=function(){return Je=Object.assign||function(r){for(var t,n=1,i=arguments.length;n0&&a[a.length-1])&&(s[0]===6||s[0]===2)){t=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]>2],r+=ii[(e[n]&3)<<4|e[n+1]>>4],r+=ii[(e[n+1]&15)<<2|e[n+2]>>6],r+=ii[e[n+2]&63];return t%3===2?r=r.substring(0,r.length-1)+"=":t%3===1&&(r=r.substring(0,r.length-2)+"=="),r},Hc=function(e){var r=e.length*.75,t=e.length,n,i=0,a,o,l,c;e[e.length-1]==="="&&(r--,e[e.length-2]==="="&&r--);var s=new Uint8Array(r);for(n=0;n>4,s[i++]=(o&15)<<4|l>>2,s[i++]=(l&3)<<6|c&63;return s},kp=/^(data)?:?([\w\/\+]+)?;?(charset=[\w-]+|base64)?.*,/i,Cp=function(e){var r=e.trim(),t=r.substring(0,100),n=t.match(kp);if(!n)return Hc(r);var i=n[0],a=r.substring(i.length);return Hc(a)},Ye=function(e){return e.charCodeAt(0)},Pp=function(e){return e.codePointAt(0)},aa=function(e,r){return Er(e.toString(16),r,"0").toUpperCase()},ko=function(e){return aa(e,2)},Xr=function(e){return String.fromCharCode(e)},Fp=function(e){return Xr(parseInt(e,16))},Er=function(e,r,t){for(var n="",i=0,a=r-e.length;i=55296&&t<=56319&&e.length>i&&(n=e.charCodeAt(i),n>=56320&&n<=57343&&(a=2)),[e.slice(r,r+a),a]},Ep=function(e){for(var r=[],t=0,n=e.length;tt&&s(),o+=A,l+=f}}return s(),c},Lp=/^D:(\d\d\d\d)(\d\d)?(\d\d)?(\d\d)?(\d\d)?(\d\d)?([+\-Z])?(\d\d)?'?(\d\d)?'?$/,Vu=function(e){var r=e.match(Lp);if(r){var t=r[1],n=r[2],i=n===void 0?"01":n,a=r[3],o=a===void 0?"01":a,l=r[4],c=l===void 0?"00":l,s=r[5],u=s===void 0?"00":s,d=r[6],A=d===void 0?"00":d,f=r[7],p=f===void 0?"Z":f,g=r[8],y=g===void 0?"00":g,v=r[9],b=v===void 0?"00":v,x=p==="Z"?"Z":""+p+y+":"+b,P=new Date(t+"-"+i+"-"+o+"T"+c+":"+u+":"+A+x);return P}},al=function(e,r){for(var t,n=0,i;n=0&&e<=65535},qp=function(e){return e>=65536&&e<=1114111},Hu=function(e){return Math.floor((e-65536)/1024)+55296},Ku=function(e){return(e-65536)%1024+56320},mn;(function(e){e.BigEndian="BigEndian",e.LittleEndian="LittleEndian"})(mn||(mn={}));var Li="\uFFFD".codePointAt(0),Qu=function(e,r){if(r===void 0&&(r=!0),e.length<=1)return String.fromCodePoint(Li);for(var t=r?Xp(e):mn.BigEndian,n=r?2:0,i=[];e.length-n>=2;){var a=Qc(e[n++],e[n++],t);if(Vp(a))if(e.length-n<2)i.push(Li);else{var o=Qc(e[n++],e[n++],t);Kc(o)?i.push(a,o):i.push(Li)}else Kc(a)?(n+=2,i.push(Li)):i.push(a)}return n=55296&&e<=56319},Kc=function(e){return e>=56320&&e<=57343},Qc=function(e,r,t){if(t===mn.LittleEndian)return r<<8|e;if(t===mn.BigEndian)return e<<8|r;throw new Error("Invalid byteOrder: "+t)},Xp=function(e){return Zu(e)?mn.BigEndian:Yu(e)?mn.LittleEndian:mn.BigEndian},Zu=function(e){return e[0]===254&&e[1]===255},Yu=function(e){return e[0]===255&&e[1]===254},Ju=function(e){return Zu(e)||Yu(e)},Hp=function(e){var r=String(e);if(Math.abs(e)<1){var t=parseInt(e.toString().split("e-")[1]);if(t){var n=e<0;n&&(e*=-1),e*=Math.pow(10,t-1),r="0."+new Array(t).join("0")+e.toString().substring(2),n&&(r="-"+r)}}else{var t=parseInt(e.toString().split("+")[1]);t>20&&(t-=20,e/=Math.pow(10,t),r=e.toString()+new Array(t+1).join("0"))}return r},Ya=function(e){return Math.ceil(e.toString(2).length/8)},Jn=function(e){for(var r=new Uint8Array(Ya(e)),t=1;t<=r.length;t++)r[t-1]=e>>(r.length-t)*8;return r},sa=function(e){throw new Error(e)},Kp=Qr(So()),Zc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",_i=new Uint8Array(256);for(Br=0;Br>4,s[i++]=(o&15)<<4|l>>2,s[i++]=(l&3)<<6|c&63;return s},Zp=function(e){for(var r="",t=0;tn)throw new Error(It(r)+" must be at least "+t+" and at most "+n+", but was actually "+e)},Tr=function(e,r,t,n){le(e,r,["number","undefined"]),typeof e=="number"&&dr(e,r,t,n)},td=function(e,r,t){if(le(e,r,["number"]),e%t!==0)throw new Error(It(r)+" must be a multiple of "+t+", but was actually "+e)},SA=function(e,r){if(!Number.isInteger(e))throw new Error(It(r)+" must be an integer, but was actually "+e)},Po=function(e,r){if(![1,0].includes(Math.sign(e)))throw new Error(It(r)+" must be a positive number or 0, but was actually "+e)},$e=new Uint16Array(256);for(Mt=0;Mt<256;Mt++)$e[Mt]=Mt;var Mt;$e[22]=Ye("");$e[24]=Ye("\u02D8");$e[25]=Ye("\u02C7");$e[26]=Ye("\u02C6");$e[27]=Ye("\u02D9");$e[28]=Ye("\u02DD");$e[29]=Ye("\u02DB");$e[30]=Ye("\u02DA");$e[31]=Ye("\u02DC");$e[127]=Ye("\uFFFD");$e[128]=Ye("\u2022");$e[129]=Ye("\u2020");$e[130]=Ye("\u2021");$e[131]=Ye("\u2026");$e[132]=Ye("\u2014");$e[133]=Ye("\u2013");$e[134]=Ye("\u0192");$e[135]=Ye("\u2044");$e[136]=Ye("\u2039");$e[137]=Ye("\u203A");$e[138]=Ye("\u2212");$e[139]=Ye("\u2030");$e[140]=Ye("\u201E");$e[141]=Ye("\u201C");$e[142]=Ye("\u201D");$e[143]=Ye("\u2018");$e[144]=Ye("\u2019");$e[145]=Ye("\u201A");$e[146]=Ye("\u2122");$e[147]=Ye("\uFB01");$e[148]=Ye("\uFB02");$e[149]=Ye("\u0141");$e[150]=Ye("\u0152");$e[151]=Ye("\u0160");$e[152]=Ye("\u0178");$e[153]=Ye("\u017D");$e[154]=Ye("\u0131");$e[155]=Ye("\u0142");$e[156]=Ye("\u0153");$e[157]=Ye("\u0161");$e[158]=Ye("\u017E");$e[159]=Ye("\uFFFD");$e[160]=Ye("\u20AC");$e[173]=Ye("\uFFFD");var rd=function(e){for(var r=new Array(e.length),t=0,n=e.length;t=Q.ExclamationPoint&&e<=Q.Tilde&&!cl[e]},nu={},iu=new Map,QA=(function(e){Te(r,e);function r(t,n){var i=this;if(t!==nu)throw new ol("PDFName");i=e.call(this)||this;for(var a="/",o=0,l=n.length;o=Q.Zero&&s<=Q.Nine||s>=Q.a&&s<=Q.f||s>=Q.A&&s<=Q.F?(n+=c,(n.length===2||!(u>="0"&&u<="9"||u>="a"&&u<="f"||u>="A"&&u<="F"))&&(a(parseInt(n,16)),n="")):a(s):s===Q.Hash?i=!0:a(s)}return new Uint8Array(t)},r.prototype.decodeText=function(){var t=this.asBytes();return String.fromCharCode.apply(String,Array.from(t))},r.prototype.asString=function(){return this.encodedName},r.prototype.value=function(){return this.encodedName},r.prototype.clone=function(){return this},r.prototype.toString=function(){return this.encodedName},r.prototype.sizeInBytes=function(){return this.encodedName.length},r.prototype.copyBytesInto=function(t,n){return n+=Vt(this.encodedName,t,n),this.encodedName.length},r.of=function(t){var n=HA(t),i=iu.get(n);return i||(i=new r(nu,n),iu.set(n,i)),i},r.Length=r.of("Length"),r.FlateDecode=r.of("FlateDecode"),r.Resources=r.of("Resources"),r.Font=r.of("Font"),r.XObject=r.of("XObject"),r.ExtGState=r.of("ExtGState"),r.Contents=r.of("Contents"),r.Type=r.of("Type"),r.Parent=r.of("Parent"),r.MediaBox=r.of("MediaBox"),r.Page=r.of("Page"),r.Annots=r.of("Annots"),r.TrimBox=r.of("TrimBox"),r.ArtBox=r.of("ArtBox"),r.BleedBox=r.of("BleedBox"),r.CropBox=r.of("CropBox"),r.Rotate=r.of("Rotate"),r.Title=r.of("Title"),r.Author=r.of("Author"),r.Subject=r.of("Subject"),r.Creator=r.of("Creator"),r.Keywords=r.of("Keywords"),r.Producer=r.of("Producer"),r.CreationDate=r.of("CreationDate"),r.ModDate=r.of("ModDate"),r})($t),V=QA,ZA=(function(e){Te(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.prototype.asNull=function(){return null},r.prototype.clone=function(){return this},r.prototype.toString=function(){return"null"},r.prototype.sizeInBytes=function(){return 4},r.prototype.copyBytesInto=function(t,n){return t[n++]=Q.n,t[n++]=Q.u,t[n++]=Q.l,t[n++]=Q.l,4},r})($t),rr=new ZA,YA=(function(e){Te(r,e);function r(t,n){var i=e.call(this)||this;return i.dict=t,i.context=n,i}return r.prototype.keys=function(){return Array.from(this.dict.keys())},r.prototype.values=function(){return Array.from(this.dict.values())},r.prototype.entries=function(){return Array.from(this.dict.entries())},r.prototype.set=function(t,n){this.dict.set(t,n)},r.prototype.get=function(t,n){n===void 0&&(n=!1);var i=this.dict.get(t);if(!(i===rr&&!n))return i},r.prototype.has=function(t){var n=this.dict.get(t);return n!==void 0&&n!==rr},r.prototype.lookupMaybe=function(t){for(var n,i=[],a=1;a`}function Ss(e){return e?.html?Nr(e.html):op(e)}var sp=Object.create,Lu=Object.defineProperty,lp=Object.getOwnPropertyDescriptor,Nu=Object.getOwnPropertyNames,cp=Object.getPrototypeOf,up=Object.prototype.hasOwnProperty,An=(e=>typeof Dn<"u"?Dn:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof Dn<"u"?Dn:r)[t]}):e)(function(e){if(typeof Dn<"u")return Dn.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),Lt=(e,r)=>function(){return r||(0,e[Nu(e)[0]])((r={exports:{}}).exports,r),r.exports},dp=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of Nu(r))!up.call(e,i)&&i!==t&&Lu(e,i,{get:()=>r[i],enumerable:!(n=lp(r,i))||n.enumerable});return e},Qr=(e,r,t)=>(t=e!=null?sp(cp(e)):{},dp(r||!e||!e.__esModule?Lu(t,"default",{value:e,enumerable:!0}):t,e)),Sn=Lt({"../../../node_modules/pako/lib/utils/common.js"(e){"use strict";var r=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function t(a,o){return Object.prototype.hasOwnProperty.call(a,o)}e.assign=function(a){for(var o=Array.prototype.slice.call(arguments,1);o.length;){var l=o.shift();if(l){if(typeof l!="object")throw new TypeError(l+"must be non-object");for(var c in l)t(l,c)&&(a[c]=l[c])}}return a},e.shrinkBuf=function(a,o){return a.length===o?a:a.subarray?a.subarray(0,o):(a.length=o,a)};var n={arraySet:function(a,o,l,c,s){if(o.subarray&&a.subarray){a.set(o.subarray(l,l+c),s);return}for(var u=0;u=0;)_[ce]=0}var l=0,c=1,s=2,u=3,d=258,p=29,f=256,h=f+1+p,A=30,y=19,v=2*h+1,b=15,x=16,P=7,F=256,L=16,E=17,R=18,T=[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],G=[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],H=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],k=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],O=512,g=new Array((h+2)*2);o(g);var z=new Array(A*2);o(z);var ne=new Array(O);o(ne);var q=new Array(d-u+1);o(q);var oe=new Array(p);o(oe);var Z=new Array(A);o(Z);function de(_,ce,me,Fe,ee){this.static_tree=_,this.extra_bits=ce,this.extra_base=me,this.elems=Fe,this.max_length=ee,this.has_stree=_&&_.length}var j,W,fe;function le(_,ce){this.dyn_tree=_,this.max_code=0,this.stat_desc=ce}function ae(_){return _<256?ne[_]:ne[256+(_>>>7)]}function ye(_,ce){_.pending_buf[_.pending++]=ce&255,_.pending_buf[_.pending++]=ce>>>8&255}function Le(_,ce,me){_.bi_valid>x-me?(_.bi_buf|=ce<<_.bi_valid&65535,ye(_,_.bi_buf),_.bi_buf=ce>>x-_.bi_valid,_.bi_valid+=me-x):(_.bi_buf|=ce<<_.bi_valid&65535,_.bi_valid+=me)}function Se(_,ce,me){Le(_,me[ce*2],me[ce*2+1])}function we(_,ce){var me=0;do me|=_&1,_>>>=1,me<<=1;while(--ce>0);return me>>>1}function Me(_){_.bi_valid===16?(ye(_,_.bi_buf),_.bi_buf=0,_.bi_valid=0):_.bi_valid>=8&&(_.pending_buf[_.pending++]=_.bi_buf&255,_.bi_buf>>=8,_.bi_valid-=8)}function be(_,ce){var me=ce.dyn_tree,Fe=ce.max_code,ee=ce.stat_desc.static_tree,ge=ce.stat_desc.has_stree,I=ce.stat_desc.extra_bits,ve=ce.stat_desc.extra_base,Oe=ce.stat_desc.max_length,S,ue,pe,U,re,Ae,_e=0;for(U=0;U<=b;U++)_.bl_count[U]=0;for(me[_.heap[_.heap_max]*2+1]=0,S=_.heap_max+1;SOe&&(U=Oe,_e++),me[ue*2+1]=U,!(ue>Fe)&&(_.bl_count[U]++,re=0,ue>=ve&&(re=I[ue-ve]),Ae=me[ue*2],_.opt_len+=Ae*(U+re),ge&&(_.static_len+=Ae*(ee[ue*2+1]+re)));if(_e!==0){do{for(U=Oe-1;_.bl_count[U]===0;)U--;_.bl_count[U]--,_.bl_count[U+1]+=2,_.bl_count[Oe]--,_e-=2}while(_e>0);for(U=Oe;U!==0;U--)for(ue=_.bl_count[U];ue!==0;)pe=_.heap[--S],!(pe>Fe)&&(me[pe*2+1]!==U&&(_.opt_len+=(U-me[pe*2+1])*me[pe*2],me[pe*2+1]=U),ue--)}}function tt(_,ce,me){var Fe=new Array(b+1),ee=0,ge,I;for(ge=1;ge<=b;ge++)Fe[ge]=ee=ee+me[ge-1]<<1;for(I=0;I<=ce;I++){var ve=_[I*2+1];ve!==0&&(_[I*2]=we(Fe[ve]++,ve))}}function Re(){var _,ce,me,Fe,ee,ge=new Array(b+1);for(me=0,Fe=0;Fe>=7;Fe8?ye(_,_.bi_buf):_.bi_valid>0&&(_.pending_buf[_.pending++]=_.bi_buf),_.bi_buf=0,_.bi_valid=0}function N(_,ce,me,Fe){B(_),Fe&&(ye(_,me),ye(_,~me)),r.arraySet(_.pending_buf,_.window,ce,me,_.pending),_.pending+=me}function C(_,ce,me,Fe){var ee=ce*2,ge=me*2;return _[ee]<_[ge]||_[ee]===_[ge]&&Fe[ce]<=Fe[me]}function w(_,ce,me){for(var Fe=_.heap[me],ee=me<<1;ee<=_.heap_len&&(ee<_.heap_len&&C(ce,_.heap[ee+1],_.heap[ee],_.depth)&&ee++,!C(ce,Fe,_.heap[ee],_.depth));)_.heap[me]=_.heap[ee],me=ee,ee<<=1;_.heap[me]=Fe}function D(_,ce,me){var Fe,ee,ge=0,I,ve;if(_.last_lit!==0)do Fe=_.pending_buf[_.d_buf+ge*2]<<8|_.pending_buf[_.d_buf+ge*2+1],ee=_.pending_buf[_.l_buf+ge],ge++,Fe===0?Se(_,ee,ce):(I=q[ee],Se(_,I+f+1,ce),ve=T[I],ve!==0&&(ee-=oe[I],Le(_,ee,ve)),Fe--,I=ae(Fe),Se(_,I,me),ve=G[I],ve!==0&&(Fe-=Z[I],Le(_,Fe,ve)));while(ge<_.last_lit);Se(_,F,ce)}function K(_,ce){var me=ce.dyn_tree,Fe=ce.stat_desc.static_tree,ee=ce.stat_desc.has_stree,ge=ce.stat_desc.elems,I,ve,Oe=-1,S;for(_.heap_len=0,_.heap_max=v,I=0;I>1;I>=1;I--)w(_,me,I);S=ge;do I=_.heap[1],_.heap[1]=_.heap[_.heap_len--],w(_,me,1),ve=_.heap[1],_.heap[--_.heap_max]=I,_.heap[--_.heap_max]=ve,me[S*2]=me[I*2]+me[ve*2],_.depth[S]=(_.depth[I]>=_.depth[ve]?_.depth[I]:_.depth[ve])+1,me[I*2+1]=me[ve*2+1]=S,_.heap[1]=S++,w(_,me,1);while(_.heap_len>=2);_.heap[--_.heap_max]=_.heap[1],be(_,ce),tt(me,Oe,_.bl_count)}function Y(_,ce,me){var Fe,ee=-1,ge,I=ce[1],ve=0,Oe=7,S=4;for(I===0&&(Oe=138,S=3),ce[(me+1)*2+1]=65535,Fe=0;Fe<=me;Fe++)ge=I,I=ce[(Fe+1)*2+1],!(++ve=3&&_.bl_tree[k[ce]*2+1]===0;ce--);return _.opt_len+=3*(ce+1)+5+5+4,ce}function ie(_,ce,me,Fe){var ee;for(Le(_,ce-257,5),Le(_,me-1,5),Le(_,Fe-4,4),ee=0;ee>>=1)if(ce&1&&_.dyn_ltree[me*2]!==0)return n;if(_.dyn_ltree[18]!==0||_.dyn_ltree[20]!==0||_.dyn_ltree[26]!==0)return i;for(me=32;me0?(_.strm.data_type===a&&(_.strm.data_type=te(_)),K(_,_.l_desc),K(_,_.d_desc),I=$(_),ee=_.opt_len+3+7>>>3,ge=_.static_len+3+7>>>3,ge<=ee&&(ee=ge)):ee=ge=me+5,me+4<=ee&&ce!==-1?Pe(_,ce,me,Fe):_.strategy===t||ge===ee?(Le(_,(c<<1)+(Fe?1:0),3),D(_,g,z)):(Le(_,(s<<1)+(Fe?1:0),3),ie(_,_.l_desc.max_code+1,_.d_desc.max_code+1,I+1),D(_,_.dyn_ltree,_.dyn_dtree)),m(_),Fe&&B(_)}function je(_,ce,me){return _.pending_buf[_.d_buf+_.last_lit*2]=ce>>>8&255,_.pending_buf[_.d_buf+_.last_lit*2+1]=ce&255,_.pending_buf[_.l_buf+_.last_lit]=me&255,_.last_lit++,ce===0?_.dyn_ltree[me*2]++:(_.matches++,ce--,_.dyn_ltree[(q[me]+f+1)*2]++,_.dyn_dtree[ae(ce)*2]++),_.last_lit===_.lit_bufsize-1}e._tr_init=Be,e._tr_stored_block=Pe,e._tr_flush_block=Je,e._tr_tally=je,e._tr_align=Ee}}),Iu=Lt({"../../../node_modules/pako/lib/zlib/adler32.js"(e,r){"use strict";function t(n,i,a,o){for(var l=n&65535|0,c=n>>>16&65535|0,s=0;a!==0;){s=a>2e3?2e3:a,a-=s;do l=l+i[o++]|0,c=c+l|0;while(--s);l%=65521,c%=65521}return l|c<<16|0}r.exports=t}}),zu=Lt({"../../../node_modules/pako/lib/zlib/crc32.js"(e,r){"use strict";function t(){for(var a,o=[],l=0;l<256;l++){a=l;for(var c=0;c<8;c++)a=a&1?3988292384^a>>>1:a>>>1;o[l]=a}return o}var n=t();function i(a,o,l,c){var s=n,u=c+l;a^=-1;for(var d=c;d>>8^s[(a^o[d])&255];return a^-1}r.exports=i}}),il=Lt({"../../../node_modules/pako/lib/zlib/messages.js"(e,r){"use strict";r.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}}}),hp=Lt({"../../../node_modules/pako/lib/zlib/deflate.js"(e){"use strict";var r=Sn(),t=fp(),n=Iu(),i=zu(),a=il(),o=0,l=1,c=3,s=4,u=5,d=0,p=1,f=-2,h=-3,A=-5,y=-1,v=1,b=2,x=3,P=4,F=0,L=2,E=8,R=9,T=15,G=8,H=29,k=256,O=k+1+H,g=30,z=19,ne=2*O+1,q=15,oe=3,Z=258,de=Z+oe+1,j=32,W=42,fe=69,le=73,ae=91,ye=103,Le=113,Se=666,we=1,Me=2,be=3,tt=4,Re=3;function m(S,ue){return S.msg=a[ue],ue}function B(S){return(S<<1)-(S>4?9:0)}function N(S){for(var ue=S.length;--ue>=0;)S[ue]=0}function C(S){var ue=S.state,pe=ue.pending;pe>S.avail_out&&(pe=S.avail_out),pe!==0&&(r.arraySet(S.output,ue.pending_buf,ue.pending_out,pe,S.next_out),S.next_out+=pe,ue.pending_out+=pe,S.total_out+=pe,S.avail_out-=pe,ue.pending-=pe,ue.pending===0&&(ue.pending_out=0))}function w(S,ue){t._tr_flush_block(S,S.block_start>=0?S.block_start:-1,S.strstart-S.block_start,ue),S.block_start=S.strstart,C(S.strm)}function D(S,ue){S.pending_buf[S.pending++]=ue}function K(S,ue){S.pending_buf[S.pending++]=ue>>>8&255,S.pending_buf[S.pending++]=ue&255}function Y(S,ue,pe,U){var re=S.avail_in;return re>U&&(re=U),re===0?0:(S.avail_in-=re,r.arraySet(ue,S.input,S.next_in,re,pe),S.state.wrap===1?S.adler=n(S.adler,ue,re,pe):S.state.wrap===2&&(S.adler=i(S.adler,ue,re,pe)),S.next_in+=re,S.total_in+=re,re)}function M(S,ue){var pe=S.max_chain_length,U=S.strstart,re,Ae,_e=S.prev_length,Ie=S.nice_match,ze=S.strstart>S.w_size-de?S.strstart-(S.w_size-de):0,At=S.window,Or=S.w_mask,Dt=S.prev,gt=S.strstart+Z,Nt=At[U+_e-1],Ht=At[U+_e];S.prev_length>=S.good_match&&(pe>>=2),Ie>S.lookahead&&(Ie=S.lookahead);do if(re=ue,!(At[re+_e]!==Ht||At[re+_e-1]!==Nt||At[re]!==At[U]||At[++re]!==At[U+1])){U+=2,re++;do;while(At[++U]===At[++re]&&At[++U]===At[++re]&&At[++U]===At[++re]&&At[++U]===At[++re]&&At[++U]===At[++re]&&At[++U]===At[++re]&&At[++U]===At[++re]&&At[++U]===At[++re]&&U_e){if(S.match_start=ue,_e=Ae,Ae>=Ie)break;Nt=At[U+_e-1],Ht=At[U+_e]}}while((ue=Dt[ue&Or])>ze&&--pe!==0);return _e<=S.lookahead?_e:S.lookahead}function $(S){var ue=S.w_size,pe,U,re,Ae,_e;do{if(Ae=S.window_size-S.lookahead-S.strstart,S.strstart>=ue+(ue-de)){r.arraySet(S.window,S.window,ue,ue,0),S.match_start-=ue,S.strstart-=ue,S.block_start-=ue,U=S.hash_size,pe=U;do re=S.head[--pe],S.head[pe]=re>=ue?re-ue:0;while(--U);U=ue,pe=U;do re=S.prev[--pe],S.prev[pe]=re>=ue?re-ue:0;while(--U);Ae+=ue}if(S.strm.avail_in===0)break;if(U=Y(S.strm,S.window,S.strstart+S.lookahead,Ae),S.lookahead+=U,S.lookahead+S.insert>=oe)for(_e=S.strstart-S.insert,S.ins_h=S.window[_e],S.ins_h=(S.ins_h<S.pending_buf_size-5&&(pe=S.pending_buf_size-5);;){if(S.lookahead<=1){if($(S),S.lookahead===0&&ue===o)return we;if(S.lookahead===0)break}S.strstart+=S.lookahead,S.lookahead=0;var U=S.block_start+pe;if((S.strstart===0||S.strstart>=U)&&(S.lookahead=S.strstart-U,S.strstart=U,w(S,!1),S.strm.avail_out===0)||S.strstart-S.block_start>=S.w_size-de&&(w(S,!1),S.strm.avail_out===0))return we}return S.insert=0,ue===s?(w(S,!0),S.strm.avail_out===0?be:tt):(S.strstart>S.block_start&&(w(S,!1),S.strm.avail_out===0),we)}function te(S,ue){for(var pe,U;;){if(S.lookahead=oe&&(S.ins_h=(S.ins_h<=oe)if(U=t._tr_tally(S,S.strstart-S.match_start,S.match_length-oe),S.lookahead-=S.match_length,S.match_length<=S.max_lazy_match&&S.lookahead>=oe){S.match_length--;do S.strstart++,S.ins_h=(S.ins_h<=oe&&(S.ins_h=(S.ins_h<4096)&&(S.match_length=oe-1)),S.prev_length>=oe&&S.match_length<=S.prev_length){re=S.strstart+S.lookahead-oe,U=t._tr_tally(S,S.strstart-1-S.prev_match,S.prev_length-oe),S.lookahead-=S.prev_length-1,S.prev_length-=2;do++S.strstart<=re&&(S.ins_h=(S.ins_h<=oe&&S.strstart>0&&(re=S.strstart-1,U=_e[re],U===_e[++re]&&U===_e[++re]&&U===_e[++re])){Ae=S.strstart+Z;do;while(U===_e[++re]&&U===_e[++re]&&U===_e[++re]&&U===_e[++re]&&U===_e[++re]&&U===_e[++re]&&U===_e[++re]&&U===_e[++re]&&reS.lookahead&&(S.match_length=S.lookahead)}if(S.match_length>=oe?(pe=t._tr_tally(S,1,S.match_length-oe),S.lookahead-=S.match_length,S.strstart+=S.match_length,S.match_length=0):(pe=t._tr_tally(S,0,S.window[S.strstart]),S.lookahead--,S.strstart++),pe&&(w(S,!1),S.strm.avail_out===0))return we}return S.insert=0,ue===s?(w(S,!0),S.strm.avail_out===0?be:tt):S.last_lit&&(w(S,!1),S.strm.avail_out===0)?we:Me}function Pe(S,ue){for(var pe;;){if(S.lookahead===0&&($(S),S.lookahead===0)){if(ue===o)return we;break}if(S.match_length=0,pe=t._tr_tally(S,0,S.window[S.strstart]),S.lookahead--,S.strstart++,pe&&(w(S,!1),S.strm.avail_out===0))return we}return S.insert=0,ue===s?(w(S,!0),S.strm.avail_out===0?be:tt):S.last_lit&&(w(S,!1),S.strm.avail_out===0)?we:Me}function Ee(S,ue,pe,U,re){this.good_length=S,this.max_lazy=ue,this.nice_length=pe,this.max_chain=U,this.func=re}var Je;Je=[new Ee(0,0,0,0,ie),new Ee(4,4,8,4,te),new Ee(4,5,16,8,te),new Ee(4,6,32,32,te),new Ee(4,4,16,16,he),new Ee(8,16,32,32,he),new Ee(8,16,128,128,he),new Ee(8,32,128,256,he),new Ee(32,128,258,1024,he),new Ee(32,258,258,4096,he)];function je(S){S.window_size=2*S.w_size,N(S.head),S.max_lazy_match=Je[S.level].max_lazy,S.good_match=Je[S.level].good_length,S.nice_match=Je[S.level].nice_length,S.max_chain_length=Je[S.level].max_chain,S.strstart=0,S.block_start=0,S.lookahead=0,S.insert=0,S.match_length=S.prev_length=oe-1,S.match_available=0,S.ins_h=0}function _(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=E,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new r.Buf16(ne*2),this.dyn_dtree=new r.Buf16((2*g+1)*2),this.bl_tree=new r.Buf16((2*z+1)*2),N(this.dyn_ltree),N(this.dyn_dtree),N(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new r.Buf16(q+1),this.heap=new r.Buf16(2*O+1),N(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new r.Buf16(2*O+1),N(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ce(S){var ue;return!S||!S.state?m(S,f):(S.total_in=S.total_out=0,S.data_type=L,ue=S.state,ue.pending=0,ue.pending_out=0,ue.wrap<0&&(ue.wrap=-ue.wrap),ue.status=ue.wrap?W:Le,S.adler=ue.wrap===2?0:1,ue.last_flush=o,t._tr_init(ue),d)}function me(S){var ue=ce(S);return ue===d&&je(S.state),ue}function Fe(S,ue){return!S||!S.state||S.state.wrap!==2?f:(S.state.gzhead=ue,d)}function ee(S,ue,pe,U,re,Ae){if(!S)return f;var _e=1;if(ue===y&&(ue=6),U<0?(_e=0,U=-U):U>15&&(_e=2,U-=16),re<1||re>R||pe!==E||U<8||U>15||ue<0||ue>9||Ae<0||Ae>P)return m(S,f);U===8&&(U=9);var Ie=new _;return S.state=Ie,Ie.strm=S,Ie.wrap=_e,Ie.gzhead=null,Ie.w_bits=U,Ie.w_size=1<u||ue<0)return S?m(S,f):f;if(U=S.state,!S.output||!S.input&&S.avail_in!==0||U.status===Se&&ue!==s)return m(S,S.avail_out===0?A:f);if(U.strm=S,pe=U.last_flush,U.last_flush=ue,U.status===W)if(U.wrap===2)S.adler=0,D(U,31),D(U,139),D(U,8),U.gzhead?(D(U,(U.gzhead.text?1:0)+(U.gzhead.hcrc?2:0)+(U.gzhead.extra?4:0)+(U.gzhead.name?8:0)+(U.gzhead.comment?16:0)),D(U,U.gzhead.time&255),D(U,U.gzhead.time>>8&255),D(U,U.gzhead.time>>16&255),D(U,U.gzhead.time>>24&255),D(U,U.level===9?2:U.strategy>=b||U.level<2?4:0),D(U,U.gzhead.os&255),U.gzhead.extra&&U.gzhead.extra.length&&(D(U,U.gzhead.extra.length&255),D(U,U.gzhead.extra.length>>8&255)),U.gzhead.hcrc&&(S.adler=i(S.adler,U.pending_buf,U.pending,0)),U.gzindex=0,U.status=fe):(D(U,0),D(U,0),D(U,0),D(U,0),D(U,0),D(U,U.level===9?2:U.strategy>=b||U.level<2?4:0),D(U,Re),U.status=Le);else{var _e=E+(U.w_bits-8<<4)<<8,Ie=-1;U.strategy>=b||U.level<2?Ie=0:U.level<6?Ie=1:U.level===6?Ie=2:Ie=3,_e|=Ie<<6,U.strstart!==0&&(_e|=j),_e+=31-_e%31,U.status=Le,K(U,_e),U.strstart!==0&&(K(U,S.adler>>>16),K(U,S.adler&65535)),S.adler=1}if(U.status===fe)if(U.gzhead.extra){for(re=U.pending;U.gzindex<(U.gzhead.extra.length&65535)&&!(U.pending===U.pending_buf_size&&(U.gzhead.hcrc&&U.pending>re&&(S.adler=i(S.adler,U.pending_buf,U.pending-re,re)),C(S),re=U.pending,U.pending===U.pending_buf_size));)D(U,U.gzhead.extra[U.gzindex]&255),U.gzindex++;U.gzhead.hcrc&&U.pending>re&&(S.adler=i(S.adler,U.pending_buf,U.pending-re,re)),U.gzindex===U.gzhead.extra.length&&(U.gzindex=0,U.status=le)}else U.status=le;if(U.status===le)if(U.gzhead.name){re=U.pending;do{if(U.pending===U.pending_buf_size&&(U.gzhead.hcrc&&U.pending>re&&(S.adler=i(S.adler,U.pending_buf,U.pending-re,re)),C(S),re=U.pending,U.pending===U.pending_buf_size)){Ae=1;break}U.gzindexre&&(S.adler=i(S.adler,U.pending_buf,U.pending-re,re)),Ae===0&&(U.gzindex=0,U.status=ae)}else U.status=ae;if(U.status===ae)if(U.gzhead.comment){re=U.pending;do{if(U.pending===U.pending_buf_size&&(U.gzhead.hcrc&&U.pending>re&&(S.adler=i(S.adler,U.pending_buf,U.pending-re,re)),C(S),re=U.pending,U.pending===U.pending_buf_size)){Ae=1;break}U.gzindexre&&(S.adler=i(S.adler,U.pending_buf,U.pending-re,re)),Ae===0&&(U.status=ye)}else U.status=ye;if(U.status===ye&&(U.gzhead.hcrc?(U.pending+2>U.pending_buf_size&&C(S),U.pending+2<=U.pending_buf_size&&(D(U,S.adler&255),D(U,S.adler>>8&255),S.adler=0,U.status=Le)):U.status=Le),U.pending!==0){if(C(S),S.avail_out===0)return U.last_flush=-1,d}else if(S.avail_in===0&&B(ue)<=B(pe)&&ue!==s)return m(S,A);if(U.status===Se&&S.avail_in!==0)return m(S,A);if(S.avail_in!==0||U.lookahead!==0||ue!==o&&U.status!==Se){var ze=U.strategy===b?Pe(U,ue):U.strategy===x?Be(U,ue):Je[U.level].func(U,ue);if((ze===be||ze===tt)&&(U.status=Se),ze===we||ze===be)return S.avail_out===0&&(U.last_flush=-1),d;if(ze===Me&&(ue===l?t._tr_align(U):ue!==u&&(t._tr_stored_block(U,0,0,!1),ue===c&&(N(U.head),U.lookahead===0&&(U.strstart=0,U.block_start=0,U.insert=0))),C(S),S.avail_out===0))return U.last_flush=-1,d}return ue!==s?d:U.wrap<=0?p:(U.wrap===2?(D(U,S.adler&255),D(U,S.adler>>8&255),D(U,S.adler>>16&255),D(U,S.adler>>24&255),D(U,S.total_in&255),D(U,S.total_in>>8&255),D(U,S.total_in>>16&255),D(U,S.total_in>>24&255)):(K(U,S.adler>>>16),K(U,S.adler&65535)),C(S),U.wrap>0&&(U.wrap=-U.wrap),U.pending!==0?d:p)}function ve(S){var ue;return!S||!S.state?f:(ue=S.state.status,ue!==W&&ue!==fe&&ue!==le&&ue!==ae&&ue!==ye&&ue!==Le&&ue!==Se?m(S,f):(S.state=null,ue===Le?m(S,h):d))}function Oe(S,ue){var pe=ue.length,U,re,Ae,_e,Ie,ze,At,Or;if(!S||!S.state||(U=S.state,_e=U.wrap,_e===2||_e===1&&U.status!==W||U.lookahead))return f;for(_e===1&&(S.adler=n(S.adler,ue,pe,0)),U.wrap=0,pe>=U.w_size&&(_e===0&&(N(U.head),U.strstart=0,U.block_start=0,U.insert=0),Or=new r.Buf8(U.w_size),r.arraySet(Or,ue,pe-U.w_size,U.w_size,0),ue=Or,pe=U.w_size),Ie=S.avail_in,ze=S.next_in,At=S.input,S.avail_in=pe,S.next_in=0,S.input=ue,$(U);U.lookahead>=oe;){re=U.strstart,Ae=U.lookahead-(oe-1);do U.ins_h=(U.ins_h<=252?6:a>=248?5:a>=240?4:a>=224?3:a>=192?2:1;var a;i[254]=i[254]=1,e.string2buf=function(l){var c,s,u,d,p,f=l.length,h=0;for(d=0;d>>6,c[p++]=128|s&63):s<65536?(c[p++]=224|s>>>12,c[p++]=128|s>>>6&63,c[p++]=128|s&63):(c[p++]=240|s>>>18,c[p++]=128|s>>>12&63,c[p++]=128|s>>>6&63,c[p++]=128|s&63);return c};function o(l,c){if(c<65534&&(l.subarray&&n||!l.subarray&&t))return String.fromCharCode.apply(null,r.shrinkBuf(l,c));for(var s="",u=0;u4){h[u++]=65533,s+=p-1;continue}for(d&=p===2?31:p===3?15:7;p>1&&s1){h[u++]=65533;continue}d<65536?h[u++]=d:(d-=65536,h[u++]=55296|d>>10&1023,h[u++]=56320|d&1023)}return o(h,u)},e.utf8border=function(l,c){var s;for(c=c||l.length,c>l.length&&(c=l.length),s=c-1;s>=0&&(l[s]&192)===128;)s--;return s<0||s===0?c:s+i[l[s]]>c?s:c}}}),Ou=Lt({"../../../node_modules/pako/lib/zlib/zstream.js"(e,r){"use strict";function t(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}r.exports=t}}),pp=Lt({"../../../node_modules/pako/lib/deflate.js"(e){"use strict";var r=hp(),t=Sn(),n=Mu(),i=il(),a=Ou(),o=Object.prototype.toString,l=0,c=4,s=0,u=1,d=2,p=-1,f=0,h=8;function A(x){if(!(this instanceof A))return new A(x);this.options=t.assign({level:p,method:h,chunkSize:16384,windowBits:15,memLevel:8,strategy:f,to:""},x||{});var P=this.options;P.raw&&P.windowBits>0?P.windowBits=-P.windowBits:P.gzip&&P.windowBits>0&&P.windowBits<16&&(P.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var F=r.deflateInit2(this.strm,P.level,P.method,P.windowBits,P.memLevel,P.strategy);if(F!==s)throw new Error(i[F]);if(P.header&&r.deflateSetHeader(this.strm,P.header),P.dictionary){var L;if(typeof P.dictionary=="string"?L=n.string2buf(P.dictionary):o.call(P.dictionary)==="[object ArrayBuffer]"?L=new Uint8Array(P.dictionary):L=P.dictionary,F=r.deflateSetDictionary(this.strm,L),F!==s)throw new Error(i[F]);this._dict_set=!0}}A.prototype.push=function(x,P){var F=this.strm,L=this.options.chunkSize,E,R;if(this.ended)return!1;R=P===~~P?P:P===!0?c:l,typeof x=="string"?F.input=n.string2buf(x):o.call(x)==="[object ArrayBuffer]"?F.input=new Uint8Array(x):F.input=x,F.next_in=0,F.avail_in=F.input.length;do{if(F.avail_out===0&&(F.output=new t.Buf8(L),F.next_out=0,F.avail_out=L),E=r.deflate(F,R),E!==u&&E!==s)return this.onEnd(E),this.ended=!0,!1;(F.avail_out===0||F.avail_in===0&&(R===c||R===d))&&(this.options.to==="string"?this.onData(n.buf2binstring(t.shrinkBuf(F.output,F.next_out))):this.onData(t.shrinkBuf(F.output,F.next_out)))}while((F.avail_in>0||F.avail_out===0)&&E!==u);return R===c?(E=r.deflateEnd(this.strm),this.onEnd(E),this.ended=!0,E===s):(R===d&&(this.onEnd(s),F.avail_out=0),!0)},A.prototype.onData=function(x){this.chunks.push(x)},A.prototype.onEnd=function(x){x===s&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=t.flattenChunks(this.chunks)),this.chunks=[],this.err=x,this.msg=this.strm.msg};function y(x,P){var F=new A(P);if(F.push(x,!0),F.err)throw F.msg||i[F.err];return F.result}function v(x,P){return P=P||{},P.raw=!0,y(x,P)}function b(x,P){return P=P||{},P.gzip=!0,y(x,P)}e.Deflate=A,e.deflate=y,e.deflateRaw=v,e.gzip=b}}),Ap=Lt({"../../../node_modules/pako/lib/zlib/inffast.js"(e,r){"use strict";var t=30,n=12;r.exports=function(a,o){var l,c,s,u,d,p,f,h,A,y,v,b,x,P,F,L,E,R,T,G,H,k,O,g,z;l=a.state,c=a.next_in,g=a.input,s=c+(a.avail_in-5),u=a.next_out,z=a.output,d=u-(o-a.avail_out),p=u+(a.avail_out-257),f=l.dmax,h=l.wsize,A=l.whave,y=l.wnext,v=l.window,b=l.hold,x=l.bits,P=l.lencode,F=l.distcode,L=(1<>>24,b>>>=T,x-=T,T=R>>>16&255,T===0)z[u++]=R&65535;else if(T&16){G=R&65535,T&=15,T&&(x>>=T,x-=T),x<15&&(b+=g[c++]<>>24,b>>>=T,x-=T,T=R>>>16&255,T&16){if(H=R&65535,T&=15,xf){a.msg="invalid distance too far back",l.mode=t;break e}if(b>>>=T,x-=T,T=u-d,H>T){if(T=H-T,T>A&&l.sane){a.msg="invalid distance too far back",l.mode=t;break e}if(k=0,O=v,y===0){if(k+=h-T,T2;)z[u++]=O[k++],z[u++]=O[k++],z[u++]=O[k++],G-=3;G&&(z[u++]=O[k++],G>1&&(z[u++]=O[k++]))}else{k=u-H;do z[u++]=z[k++],z[u++]=z[k++],z[u++]=z[k++],G-=3;while(G>2);G&&(z[u++]=z[k++],G>1&&(z[u++]=z[k++]))}}else if((T&64)===0){R=F[(R&65535)+(b&(1<>3,c-=G,x-=G<<3,b&=(1<=1&&ae[G]===0;G--);if(H>G&&(H=G),G===0)return b[x++]=1<<24|64<<16|0,b[x++]=1<<24|64<<16|0,F.bits=1,0;for(T=1;T0&&(h===o||G!==1))return-1;for(ye[1]=0,E=1;Ei||h===c&&z>a)return 1;for(;;){we=E-O,P[R]le?(Me=Le[Se+P[R]],be=W[fe+P[R]]):(Me=96,be=0),q=1<>O)+oe]=we<<24|Me<<16|be|0;while(oe!==0);for(q=1<>=1;if(q!==0?(ne&=q-1,ne+=q):ne=0,R++,--ae[E]===0){if(E===G)break;E=A[y+P[R]]}if(E>H&&(ne&de)!==Z){for(O===0&&(O=H),j+=T,k=E-O,g=1<i||h===c&&z>a)return 1;Z=ne&de,b[Z]=H<<24|k<<16|j-x|0}}return ne!==0&&(b[j+ne]=E-O<<24|64<<16|0),F.bits=H,0}}}),mp=Lt({"../../../node_modules/pako/lib/zlib/inflate.js"(e){"use strict";var r=Sn(),t=Iu(),n=zu(),i=Ap(),a=gp(),o=0,l=1,c=2,s=4,u=5,d=6,p=0,f=1,h=2,A=-2,y=-3,v=-4,b=-5,x=8,P=1,F=2,L=3,E=4,R=5,T=6,G=7,H=8,k=9,O=10,g=11,z=12,ne=13,q=14,oe=15,Z=16,de=17,j=18,W=19,fe=20,le=21,ae=22,ye=23,Le=24,Se=25,we=26,Me=27,be=28,tt=29,Re=30,m=31,B=32,N=852,C=592,w=15,D=w;function K(ee){return(ee>>>24&255)+(ee>>>8&65280)+((ee&65280)<<8)+((ee&255)<<24)}function Y(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function M(ee){var ge;return!ee||!ee.state?A:(ge=ee.state,ee.total_in=ee.total_out=ge.total=0,ee.msg="",ge.wrap&&(ee.adler=ge.wrap&1),ge.mode=P,ge.last=0,ge.havedict=0,ge.dmax=32768,ge.head=null,ge.hold=0,ge.bits=0,ge.lencode=ge.lendyn=new r.Buf32(N),ge.distcode=ge.distdyn=new r.Buf32(C),ge.sane=1,ge.back=-1,p)}function $(ee){var ge;return!ee||!ee.state?A:(ge=ee.state,ge.wsize=0,ge.whave=0,ge.wnext=0,M(ee))}function ie(ee,ge){var I,ve;return!ee||!ee.state||(ve=ee.state,ge<0?(I=0,ge=-ge):(I=(ge>>4)+1,ge<48&&(ge&=15)),ge&&(ge<8||ge>15))?A:(ve.window!==null&&ve.wbits!==ge&&(ve.window=null),ve.wrap=I,ve.wbits=ge,$(ee))}function te(ee,ge){var I,ve;return ee?(ve=new Y,ee.state=ve,ve.window=null,I=ie(ee,ge),I!==p&&(ee.state=null),I):A}function he(ee){return te(ee,D)}var Be=!0,Pe,Ee;function Je(ee){if(Be){var ge;for(Pe=new r.Buf32(512),Ee=new r.Buf32(32),ge=0;ge<144;)ee.lens[ge++]=8;for(;ge<256;)ee.lens[ge++]=9;for(;ge<280;)ee.lens[ge++]=7;for(;ge<288;)ee.lens[ge++]=8;for(a(l,ee.lens,0,288,Pe,0,ee.work,{bits:9}),ge=0;ge<32;)ee.lens[ge++]=5;a(c,ee.lens,0,32,Ee,0,ee.work,{bits:5}),Be=!1}ee.lencode=Pe,ee.lenbits=9,ee.distcode=Ee,ee.distbits=5}function je(ee,ge,I,ve){var Oe,S=ee.state;return S.window===null&&(S.wsize=1<=S.wsize?(r.arraySet(S.window,ge,I-S.wsize,S.wsize,0),S.wnext=0,S.whave=S.wsize):(Oe=S.wsize-S.wnext,Oe>ve&&(Oe=ve),r.arraySet(S.window,ge,I-ve,Oe,S.wnext),ve-=Oe,ve?(r.arraySet(S.window,ge,I-ve,ve,0),S.wnext=ve,S.whave=S.wsize):(S.wnext+=Oe,S.wnext===S.wsize&&(S.wnext=0),S.whave>>8&255,I.check=n(I.check,jt,2,0),re=0,Ae=0,I.mode=F;break}if(I.flags=0,I.head&&(I.head.done=!1),!(I.wrap&1)||(((re&255)<<8)+(re>>8))%31){ee.msg="incorrect header check",I.mode=Re;break}if((re&15)!==x){ee.msg="unknown compression method",I.mode=Re;break}if(re>>>=4,Ae-=4,Et=(re&15)+8,I.wbits===0)I.wbits=Et;else if(Et>I.wbits){ee.msg="invalid window size",I.mode=Re;break}I.dmax=1<>8&1),I.flags&512&&(jt[0]=re&255,jt[1]=re>>>8&255,I.check=n(I.check,jt,2,0)),re=0,Ae=0,I.mode=L;case L:for(;Ae<32;){if(pe===0)break e;pe--,re+=ve[S++]<>>8&255,jt[2]=re>>>16&255,jt[3]=re>>>24&255,I.check=n(I.check,jt,4,0)),re=0,Ae=0,I.mode=E;case E:for(;Ae<16;){if(pe===0)break e;pe--,re+=ve[S++]<>8),I.flags&512&&(jt[0]=re&255,jt[1]=re>>>8&255,I.check=n(I.check,jt,2,0)),re=0,Ae=0,I.mode=R;case R:if(I.flags&1024){for(;Ae<16;){if(pe===0)break e;pe--,re+=ve[S++]<>>8&255,I.check=n(I.check,jt,2,0)),re=0,Ae=0}else I.head&&(I.head.extra=null);I.mode=T;case T:if(I.flags&1024&&(ze=I.length,ze>pe&&(ze=pe),ze&&(I.head&&(Et=I.head.extra_len-I.length,I.head.extra||(I.head.extra=new Array(I.head.extra_len)),r.arraySet(I.head.extra,ve,S,ze,Et)),I.flags&512&&(I.check=n(I.check,ve,ze,S)),pe-=ze,S+=ze,I.length-=ze),I.length))break e;I.length=0,I.mode=G;case G:if(I.flags&2048){if(pe===0)break e;ze=0;do Et=ve[S+ze++],I.head&&Et&&I.length<65536&&(I.head.name+=String.fromCharCode(Et));while(Et&&ze>9&1,I.head.done=!0),ee.adler=I.check=0,I.mode=z;break;case O:for(;Ae<32;){if(pe===0)break e;pe--,re+=ve[S++]<>>=Ae&7,Ae-=Ae&7,I.mode=Me;break}for(;Ae<3;){if(pe===0)break e;pe--,re+=ve[S++]<>>=1,Ae-=1,re&3){case 0:I.mode=q;break;case 1:if(Je(I),I.mode=fe,ge===d){re>>>=2,Ae-=2;break e}break;case 2:I.mode=de;break;case 3:ee.msg="invalid block type",I.mode=Re}re>>>=2,Ae-=2;break;case q:for(re>>>=Ae&7,Ae-=Ae&7;Ae<32;){if(pe===0)break e;pe--,re+=ve[S++]<>>16^65535)){ee.msg="invalid stored block lengths",I.mode=Re;break}if(I.length=re&65535,re=0,Ae=0,I.mode=oe,ge===d)break e;case oe:I.mode=Z;case Z:if(ze=I.length,ze){if(ze>pe&&(ze=pe),ze>U&&(ze=U),ze===0)break e;r.arraySet(Oe,ve,S,ze,ue),pe-=ze,S+=ze,U-=ze,ue+=ze,I.length-=ze;break}I.mode=z;break;case de:for(;Ae<14;){if(pe===0)break e;pe--,re+=ve[S++]<>>=5,Ae-=5,I.ndist=(re&31)+1,re>>>=5,Ae-=5,I.ncode=(re&15)+4,re>>>=4,Ae-=4,I.nlen>286||I.ndist>30){ee.msg="too many length or distance symbols",I.mode=Re;break}I.have=0,I.mode=j;case j:for(;I.have>>=3,Ae-=3}for(;I.have<19;)I.lens[nc[I.have++]]=0;if(I.lencode=I.lendyn,I.lenbits=7,_r={bits:I.lenbits},Ar=a(o,I.lens,0,19,I.lencode,0,I.work,_r),I.lenbits=_r.bits,Ar){ee.msg="invalid code lengths set",I.mode=Re;break}I.have=0,I.mode=W;case W:for(;I.have>>24,Nt=Dt>>>16&255,Ht=Dt&65535,!(gt<=Ae);){if(pe===0)break e;pe--,re+=ve[S++]<>>=gt,Ae-=gt,I.lens[I.have++]=Ht;else{if(Ht===16){for(Rr=gt+2;Ae>>=gt,Ae-=gt,I.have===0){ee.msg="invalid bit length repeat",I.mode=Re;break}Et=I.lens[I.have-1],ze=3+(re&3),re>>>=2,Ae-=2}else if(Ht===17){for(Rr=gt+3;Ae>>=gt,Ae-=gt,Et=0,ze=3+(re&7),re>>>=3,Ae-=3}else{for(Rr=gt+7;Ae>>=gt,Ae-=gt,Et=0,ze=11+(re&127),re>>>=7,Ae-=7}if(I.have+ze>I.nlen+I.ndist){ee.msg="invalid bit length repeat",I.mode=Re;break}for(;ze--;)I.lens[I.have++]=Et}}if(I.mode===Re)break;if(I.lens[256]===0){ee.msg="invalid code -- missing end-of-block",I.mode=Re;break}if(I.lenbits=9,_r={bits:I.lenbits},Ar=a(l,I.lens,0,I.nlen,I.lencode,0,I.work,_r),I.lenbits=_r.bits,Ar){ee.msg="invalid literal/lengths set",I.mode=Re;break}if(I.distbits=6,I.distcode=I.distdyn,_r={bits:I.distbits},Ar=a(c,I.lens,I.nlen,I.ndist,I.distcode,0,I.work,_r),I.distbits=_r.bits,Ar){ee.msg="invalid distances set",I.mode=Re;break}if(I.mode=fe,ge===d)break e;case fe:I.mode=le;case le:if(pe>=6&&U>=258){ee.next_out=ue,ee.avail_out=U,ee.next_in=S,ee.avail_in=pe,I.hold=re,I.bits=Ae,i(ee,Ie),ue=ee.next_out,Oe=ee.output,U=ee.avail_out,S=ee.next_in,ve=ee.input,pe=ee.avail_in,re=I.hold,Ae=I.bits,I.mode===z&&(I.back=-1);break}for(I.back=0;Dt=I.lencode[re&(1<>>24,Nt=Dt>>>16&255,Ht=Dt&65535,!(gt<=Ae);){if(pe===0)break e;pe--,re+=ve[S++]<>tr)],gt=Dt>>>24,Nt=Dt>>>16&255,Ht=Dt&65535,!(tr+gt<=Ae);){if(pe===0)break e;pe--,re+=ve[S++]<>>=tr,Ae-=tr,I.back+=tr}if(re>>>=gt,Ae-=gt,I.back+=gt,I.length=Ht,Nt===0){I.mode=we;break}if(Nt&32){I.back=-1,I.mode=z;break}if(Nt&64){ee.msg="invalid literal/length code",I.mode=Re;break}I.extra=Nt&15,I.mode=ae;case ae:if(I.extra){for(Rr=I.extra;Ae>>=I.extra,Ae-=I.extra,I.back+=I.extra}I.was=I.length,I.mode=ye;case ye:for(;Dt=I.distcode[re&(1<>>24,Nt=Dt>>>16&255,Ht=Dt&65535,!(gt<=Ae);){if(pe===0)break e;pe--,re+=ve[S++]<>tr)],gt=Dt>>>24,Nt=Dt>>>16&255,Ht=Dt&65535,!(tr+gt<=Ae);){if(pe===0)break e;pe--,re+=ve[S++]<>>=tr,Ae-=tr,I.back+=tr}if(re>>>=gt,Ae-=gt,I.back+=gt,Nt&64){ee.msg="invalid distance code",I.mode=Re;break}I.offset=Ht,I.extra=Nt&15,I.mode=Le;case Le:if(I.extra){for(Rr=I.extra;Ae>>=I.extra,Ae-=I.extra,I.back+=I.extra}if(I.offset>I.dmax){ee.msg="invalid distance too far back",I.mode=Re;break}I.mode=Se;case Se:if(U===0)break e;if(ze=Ie-U,I.offset>ze){if(ze=I.offset-ze,ze>I.whave&&I.sane){ee.msg="invalid distance too far back",I.mode=Re;break}ze>I.wnext?(ze-=I.wnext,At=I.wsize-ze):At=I.wnext-ze,ze>I.length&&(ze=I.length),Or=I.window}else Or=Oe,At=ue-I.offset,ze=I.length;ze>U&&(ze=U),U-=ze,I.length-=ze;do Oe[ue++]=Or[At++];while(--ze);I.length===0&&(I.mode=le);break;case we:if(U===0)break e;Oe[ue++]=I.length,U--,I.mode=le;break;case Me:if(I.wrap){for(;Ae<32;){if(pe===0)break e;pe--,re|=ve[S++]<=0&&f.windowBits<16&&(f.windowBits=-f.windowBits,f.windowBits===0&&(f.windowBits=-15)),f.windowBits>=0&&f.windowBits<16&&!(p&&p.windowBits)&&(f.windowBits+=32),f.windowBits>15&&f.windowBits<48&&(f.windowBits&15)===0&&(f.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var h=r.inflateInit2(this.strm,f.windowBits);if(h!==i.Z_OK)throw new Error(a[h]);if(this.header=new l,r.inflateGetHeader(this.strm,this.header),f.dictionary&&(typeof f.dictionary=="string"?f.dictionary=n.string2buf(f.dictionary):c.call(f.dictionary)==="[object ArrayBuffer]"&&(f.dictionary=new Uint8Array(f.dictionary)),f.raw&&(h=r.inflateSetDictionary(this.strm,f.dictionary),h!==i.Z_OK)))throw new Error(a[h])}s.prototype.push=function(p,f){var h=this.strm,A=this.options.chunkSize,y=this.options.dictionary,v,b,x,P,F,L=!1;if(this.ended)return!1;b=f===~~f?f:f===!0?i.Z_FINISH:i.Z_NO_FLUSH,typeof p=="string"?h.input=n.binstring2buf(p):c.call(p)==="[object ArrayBuffer]"?h.input=new Uint8Array(p):h.input=p,h.next_in=0,h.avail_in=h.input.length;do{if(h.avail_out===0&&(h.output=new t.Buf8(A),h.next_out=0,h.avail_out=A),v=r.inflate(h,i.Z_NO_FLUSH),v===i.Z_NEED_DICT&&y&&(v=r.inflateSetDictionary(this.strm,y)),v===i.Z_BUF_ERROR&&L===!0&&(v=i.Z_OK,L=!1),v!==i.Z_STREAM_END&&v!==i.Z_OK)return this.onEnd(v),this.ended=!0,!1;h.next_out&&(h.avail_out===0||v===i.Z_STREAM_END||h.avail_in===0&&(b===i.Z_FINISH||b===i.Z_SYNC_FLUSH))&&(this.options.to==="string"?(x=n.utf8border(h.output,h.next_out),P=h.next_out-x,F=n.buf2string(h.output,x),h.next_out=P,h.avail_out=A-P,P&&t.arraySet(h.output,h.output,x,P,0),this.onData(F)):this.onData(t.shrinkBuf(h.output,h.next_out))),h.avail_in===0&&h.avail_out===0&&(L=!0)}while((h.avail_in>0||h.avail_out===0)&&v!==i.Z_STREAM_END);return v===i.Z_STREAM_END&&(b=i.Z_FINISH),b===i.Z_FINISH?(v=r.inflateEnd(this.strm),this.onEnd(v),this.ended=!0,v===i.Z_OK):(b===i.Z_SYNC_FLUSH&&(this.onEnd(i.Z_OK),h.avail_out=0),!0)},s.prototype.onData=function(p){this.chunks.push(p)},s.prototype.onEnd=function(p){p===i.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=t.flattenChunks(this.chunks)),this.chunks=[],this.err=p,this.msg=this.strm.msg};function u(p,f){var h=new s(f);if(h.push(p,!0),h.err)throw h.msg||a[h.err];return h.result}function d(p,f){return f=f||{},f.raw=!0,u(p,f)}e.Inflate=s,e.inflate=u,e.inflateRaw=d,e.ungzip=u}}),So=Lt({"../../../node_modules/pako/index.js"(e,r){"use strict";var t=Sn().assign,n=pp(),i=yp(),a=_u(),o={};t(o,n,i,a),r.exports=o}}),bp=Lt({"node_modules/jszip/dist/jszip.min.js"(e,r){(function(t){typeof e=="object"&&typeof r<"u"?r.exports=t():typeof define=="function"&&define.amd?define([],t):(typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:this).JSZip=t()})(function(){return(function t(n,i,a){function o(s,u){if(!i[s]){if(!n[s]){var d=typeof An=="function"&&An;if(!u&&d)return d(s,!0);if(l)return l(s,!0);var p=new Error("Cannot find module '"+s+"'");throw p.code="MODULE_NOT_FOUND",p}var f=i[s]={exports:{}};n[s][0].call(f.exports,function(h){var A=n[s][1][h];return o(A||h)},f,f.exports,t,n,i,a)}return i[s].exports}for(var l=typeof An=="function"&&An,c=0;c>2,f=(3&s)<<4|u>>4,h=1>6:64,A=2>4,u=(15&p)<<4|(f=l.indexOf(c.charAt(A++)))>>2,d=(3&f)<<6|(h=l.indexOf(c.charAt(A++))),b[y++]=s,f!==64&&(b[y++]=u),h!==64&&(b[y++]=d);return b}},{"./support":30,"./utils":32}],2:[function(t,n,i){"use strict";var a=t("./external"),o=t("./stream/DataWorker"),l=t("./stream/Crc32Probe"),c=t("./stream/DataLengthProbe");function s(u,d,p,f,h){this.compressedSize=u,this.uncompressedSize=d,this.crc32=p,this.compression=f,this.compressedContent=h}s.prototype={getContentWorker:function(){var u=new o(a.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new c("data_length")),d=this;return u.on("end",function(){if(this.streamInfo.data_length!==d.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),u},getCompressedWorker:function(){return new o(a.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},s.createWorkerFrom=function(u,d,p){return u.pipe(new l).pipe(new c("uncompressedSize")).pipe(d.compressWorker(p)).pipe(new c("compressedSize")).withStreamInfo("compression",d)},n.exports=s},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,n,i){"use strict";var a=t("./stream/GenericWorker");i.STORE={magic:"\0\0",compressWorker:function(){return new a("STORE compression")},uncompressWorker:function(){return new a("STORE decompression")}},i.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,n,i){"use strict";var a=t("./utils"),o=(function(){for(var l,c=[],s=0;s<256;s++){l=s;for(var u=0;u<8;u++)l=1&l?3988292384^l>>>1:l>>>1;c[s]=l}return c})();n.exports=function(l,c){return l!==void 0&&l.length?a.getTypeOf(l)!=="string"?(function(s,u,d,p){var f=o,h=p+d;s^=-1;for(var A=p;A>>8^f[255&(s^u[A])];return-1^s})(0|c,l,l.length,0):(function(s,u,d,p){var f=o,h=p+d;s^=-1;for(var A=p;A>>8^f[255&(s^u.charCodeAt(A))];return-1^s})(0|c,l,l.length,0):0}},{"./utils":32}],5:[function(t,n,i){"use strict";i.base64=!1,i.binary=!1,i.dir=!1,i.createFolders=!0,i.date=null,i.compression=null,i.compressionOptions=null,i.comment=null,i.unixPermissions=null,i.dosPermissions=null},{}],6:[function(t,n,i){"use strict";var a=null;a=typeof Promise<"u"?Promise:t("lie"),n.exports={Promise:a}},{lie:37}],7:[function(t,n,i){"use strict";var a=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",o=t("pako"),l=t("./utils"),c=t("./stream/GenericWorker"),s=a?"uint8array":"array";function u(d,p){c.call(this,"FlateWorker/"+d),this._pako=null,this._pakoAction=d,this._pakoOptions=p,this.meta={}}i.magic="\b\0",l.inherits(u,c),u.prototype.processChunk=function(d){this.meta=d.meta,this._pako===null&&this._createPako(),this._pako.push(l.transformTo(s,d.data),!1)},u.prototype.flush=function(){c.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},u.prototype.cleanUp=function(){c.prototype.cleanUp.call(this),this._pako=null},u.prototype._createPako=function(){this._pako=new o[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var d=this;this._pako.onData=function(p){d.push({data:p,meta:d.meta})}},i.compressWorker=function(d){return new u("Deflate",d)},i.uncompressWorker=function(){return new u("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,n,i){"use strict";function a(f,h){var A,y="";for(A=0;A>>=8;return y}function o(f,h,A,y,v,b){var x,P,F=f.file,L=f.compression,E=b!==s.utf8encode,R=l.transformTo("string",b(F.name)),T=l.transformTo("string",s.utf8encode(F.name)),G=F.comment,H=l.transformTo("string",b(G)),k=l.transformTo("string",s.utf8encode(G)),O=T.length!==F.name.length,g=k.length!==G.length,z="",ne="",q="",oe=F.dir,Z=F.date,de={crc32:0,compressedSize:0,uncompressedSize:0};h&&!A||(de.crc32=f.crc32,de.compressedSize=f.compressedSize,de.uncompressedSize=f.uncompressedSize);var j=0;h&&(j|=8),E||!O&&!g||(j|=2048);var W=0,fe=0;oe&&(W|=16),v==="UNIX"?(fe=798,W|=(function(ae,ye){var Le=ae;return ae||(Le=ye?16893:33204),(65535&Le)<<16})(F.unixPermissions,oe)):(fe=20,W|=(function(ae){return 63&(ae||0)})(F.dosPermissions)),x=Z.getUTCHours(),x<<=6,x|=Z.getUTCMinutes(),x<<=5,x|=Z.getUTCSeconds()/2,P=Z.getUTCFullYear()-1980,P<<=4,P|=Z.getUTCMonth()+1,P<<=5,P|=Z.getUTCDate(),O&&(ne=a(1,1)+a(u(R),4)+T,z+="up"+a(ne.length,2)+ne),g&&(q=a(1,1)+a(u(H),4)+k,z+="uc"+a(q.length,2)+q);var le="";return le+=` +\0`,le+=a(j,2),le+=L.magic,le+=a(x,2),le+=a(P,2),le+=a(de.crc32,4),le+=a(de.compressedSize,4),le+=a(de.uncompressedSize,4),le+=a(R.length,2),le+=a(z.length,2),{fileRecord:d.LOCAL_FILE_HEADER+le+R+z,dirRecord:d.CENTRAL_FILE_HEADER+a(fe,2)+le+a(H.length,2)+"\0\0\0\0"+a(W,4)+a(y,4)+R+z+H}}var l=t("../utils"),c=t("../stream/GenericWorker"),s=t("../utf8"),u=t("../crc32"),d=t("../signature");function p(f,h,A,y){c.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=h,this.zipPlatform=A,this.encodeFileName=y,this.streamFiles=f,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}l.inherits(p,c),p.prototype.push=function(f){var h=f.meta.percent||0,A=this.entriesCount,y=this._sources.length;this.accumulate?this.contentBuffer.push(f):(this.bytesWritten+=f.data.length,c.prototype.push.call(this,{data:f.data,meta:{currentFile:this.currentFile,percent:A?(h+100*(A-y-1))/A:100}}))},p.prototype.openedSource=function(f){this.currentSourceOffset=this.bytesWritten,this.currentFile=f.file.name;var h=this.streamFiles&&!f.file.dir;if(h){var A=o(f,h,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:A.fileRecord,meta:{percent:0}})}else this.accumulate=!0},p.prototype.closedSource=function(f){this.accumulate=!1;var h=this.streamFiles&&!f.file.dir,A=o(f,h,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(A.dirRecord),h)this.push({data:(function(y){return d.DATA_DESCRIPTOR+a(y.crc32,4)+a(y.compressedSize,4)+a(y.uncompressedSize,4)})(f),meta:{percent:100}});else for(this.push({data:A.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},p.prototype.flush=function(){for(var f=this.bytesWritten,h=0;h=this.index;c--)s=(s<<8)+this.byteAt(c);return this.index+=l,s},readString:function(l){return a.transformTo("string",this.readData(l))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var l=this.readInt(4);return new Date(Date.UTC(1980+(l>>25&127),(l>>21&15)-1,l>>16&31,l>>11&31,l>>5&63,(31&l)<<1))}},n.exports=o},{"../utils":32}],19:[function(t,n,i){"use strict";var a=t("./Uint8ArrayReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.readData=function(l){this.checkOffset(l);var c=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,n,i){"use strict";var a=t("./DataReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.byteAt=function(l){return this.data.charCodeAt(this.zero+l)},o.prototype.lastIndexOfSignature=function(l){return this.data.lastIndexOf(l)-this.zero},o.prototype.readAndCheckSignature=function(l){return l===this.readData(4)},o.prototype.readData=function(l){this.checkOffset(l);var c=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./DataReader":18}],21:[function(t,n,i){"use strict";var a=t("./ArrayReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.readData=function(l){if(this.checkOffset(l),l===0)return new Uint8Array(0);var c=this.data.subarray(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./ArrayReader":17}],22:[function(t,n,i){"use strict";var a=t("../utils"),o=t("../support"),l=t("./ArrayReader"),c=t("./StringReader"),s=t("./NodeBufferReader"),u=t("./Uint8ArrayReader");n.exports=function(d){var p=a.getTypeOf(d);return a.checkSupport(p),p!=="string"||o.uint8array?p==="nodebuffer"?new s(d):o.uint8array?new u(a.transformTo("uint8array",d)):new l(a.transformTo("array",d)):new c(d)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,n,i){"use strict";i.LOCAL_FILE_HEADER="PK",i.CENTRAL_FILE_HEADER="PK",i.CENTRAL_DIRECTORY_END="PK",i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",i.ZIP64_CENTRAL_DIRECTORY_END="PK",i.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(t,n,i){"use strict";var a=t("./GenericWorker"),o=t("../utils");function l(c){a.call(this,"ConvertWorker to "+c),this.destType=c}o.inherits(l,a),l.prototype.processChunk=function(c){this.push({data:o.transformTo(this.destType,c.data),meta:c.meta})},n.exports=l},{"../utils":32,"./GenericWorker":28}],25:[function(t,n,i){"use strict";var a=t("./GenericWorker"),o=t("../crc32");function l(){a.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(l,a),l.prototype.processChunk=function(c){this.streamInfo.crc32=o(c.data,this.streamInfo.crc32||0),this.push(c)},n.exports=l},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./GenericWorker");function l(c){o.call(this,"DataLengthProbe for "+c),this.propName=c,this.withStreamInfo(c,0)}a.inherits(l,o),l.prototype.processChunk=function(c){if(c){var s=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=s+c.data.length}o.prototype.processChunk.call(this,c)},n.exports=l},{"../utils":32,"./GenericWorker":28}],27:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./GenericWorker");function l(c){o.call(this,"DataWorker");var s=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,c.then(function(u){s.dataIsReady=!0,s.data=u,s.max=u&&u.length||0,s.type=a.getTypeOf(u),s.isPaused||s._tickAndRepeat()},function(u){s.error(u)})}a.inherits(l,o),l.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this.data=null},l.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,a.delay(this._tickAndRepeat,[],this)),!0)},l.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(a.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},l.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var c=null,s=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":c=this.data.substring(this.index,s);break;case"uint8array":c=this.data.subarray(this.index,s);break;case"array":case"nodebuffer":c=this.data.slice(this.index,s)}return this.index=s,this.push({data:c,meta:{percent:this.max?this.index/this.max*100:0}})},n.exports=l},{"../utils":32,"./GenericWorker":28}],28:[function(t,n,i){"use strict";function a(o){this.name=o||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}a.prototype={push:function(o){this.emit("data",o)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(o){this.emit("error",o)}return!0},error:function(o){return!this.isFinished&&(this.isPaused?this.generatedError=o:(this.isFinished=!0,this.emit("error",o),this.previous&&this.previous.error(o),this.cleanUp()),!0)},on:function(o,l){return this._listeners[o].push(l),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(o,l){if(this._listeners[o])for(var c=0;c "+o:o}},n.exports=a},{}],29:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./ConvertWorker"),l=t("./GenericWorker"),c=t("../base64"),s=t("../support"),u=t("../external"),d=null;if(s.nodestream)try{d=t("../nodejs/NodejsStreamOutputAdapter")}catch{}function p(h,A){return new u.Promise(function(y,v){var b=[],x=h._internalType,P=h._outputType,F=h._mimeType;h.on("data",function(L,E){b.push(L),A&&A(E)}).on("error",function(L){b=[],v(L)}).on("end",function(){try{var L=(function(E,R,T){switch(E){case"blob":return a.newBlob(a.transformTo("arraybuffer",R),T);case"base64":return c.encode(R);default:return a.transformTo(E,R)}})(P,(function(E,R){var T,G=0,H=null,k=0;for(T=0;T"u")i.blob=!1;else{var a=new ArrayBuffer(0);try{i.blob=new Blob([a],{type:"application/zip"}).size===0}catch{try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(a),i.blob=o.getBlob("application/zip").size===0}catch{i.blob=!1}}}try{i.nodestream=!!t("readable-stream").Readable}catch{i.nodestream=!1}},{"readable-stream":16}],31:[function(t,n,i){"use strict";for(var a=t("./utils"),o=t("./support"),l=t("./nodejsUtils"),c=t("./stream/GenericWorker"),s=new Array(256),u=0;u<256;u++)s[u]=252<=u?6:248<=u?5:240<=u?4:224<=u?3:192<=u?2:1;s[254]=s[254]=1;function d(){c.call(this,"utf-8 decode"),this.leftOver=null}function p(){c.call(this,"utf-8 encode")}i.utf8encode=function(f){return o.nodebuffer?l.newBufferFrom(f,"utf-8"):(function(h){var A,y,v,b,x,P=h.length,F=0;for(b=0;b>>6:(y<65536?A[x++]=224|y>>>12:(A[x++]=240|y>>>18,A[x++]=128|y>>>12&63),A[x++]=128|y>>>6&63),A[x++]=128|63&y);return A})(f)},i.utf8decode=function(f){return o.nodebuffer?a.transformTo("nodebuffer",f).toString("utf-8"):(function(h){var A,y,v,b,x=h.length,P=new Array(2*x);for(A=y=0;A>10&1023,P[y++]=56320|1023&v)}return P.length!==y&&(P.subarray?P=P.subarray(0,y):P.length=y),a.applyFromCharCode(P)})(f=a.transformTo(o.uint8array?"uint8array":"array",f))},a.inherits(d,c),d.prototype.processChunk=function(f){var h=a.transformTo(o.uint8array?"uint8array":"array",f.data);if(this.leftOver&&this.leftOver.length){if(o.uint8array){var A=h;(h=new Uint8Array(A.length+this.leftOver.length)).set(this.leftOver,0),h.set(A,this.leftOver.length)}else h=this.leftOver.concat(h);this.leftOver=null}var y=(function(b,x){var P;for((x=x||b.length)>b.length&&(x=b.length),P=x-1;0<=P&&(192&b[P])==128;)P--;return P<0||P===0?x:P+s[b[P]]>x?P:x})(h),v=h;y!==h.length&&(o.uint8array?(v=h.subarray(0,y),this.leftOver=h.subarray(y,h.length)):(v=h.slice(0,y),this.leftOver=h.slice(y,h.length))),this.push({data:i.utf8decode(v),meta:f.meta})},d.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:i.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},i.Utf8DecodeWorker=d,a.inherits(p,c),p.prototype.processChunk=function(f){this.push({data:i.utf8encode(f.data),meta:f.meta})},i.Utf8EncodeWorker=p},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,n,i){"use strict";var a=t("./support"),o=t("./base64"),l=t("./nodejsUtils"),c=t("./external");function s(A){return A}function u(A,y){for(var v=0;v>8;this.dir=!!(16&this.externalFileAttributes),f==0&&(this.dosPermissions=63&this.externalFileAttributes),f==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var f=a(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=f.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=f.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=f.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=f.readInt(4))}},readExtraFields:function(f){var h,A,y,v=f.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});f.index+4>>6:(f<65536?p[y++]=224|f>>>12:(p[y++]=240|f>>>18,p[y++]=128|f>>>12&63),p[y++]=128|f>>>6&63),p[y++]=128|63&f);return p},i.buf2binstring=function(d){return u(d,d.length)},i.binstring2buf=function(d){for(var p=new a.Buf8(d.length),f=0,h=p.length;f>10&1023,b[h++]=56320|1023&A)}return u(b,h)},i.utf8border=function(d,p){var f;for((p=p||d.length)>d.length&&(p=d.length),f=p-1;0<=f&&(192&d[f])==128;)f--;return f<0||f===0?p:f+c[d[f]]>p?f:p}},{"./common":41}],43:[function(t,n,i){"use strict";n.exports=function(a,o,l,c){for(var s=65535&a|0,u=a>>>16&65535|0,d=0;l!==0;){for(l-=d=2e3>>1:o>>>1;l[c]=o}return l})();n.exports=function(o,l,c,s){var u=a,d=s+c;o^=-1;for(var p=s;p>>8^u[255&(o^l[p])];return-1^o}},{}],46:[function(t,n,i){"use strict";var a,o=t("../utils/common"),l=t("./trees"),c=t("./adler32"),s=t("./crc32"),u=t("./messages"),d=0,p=4,f=0,h=-2,A=-1,y=4,v=2,b=8,x=9,P=286,F=30,L=19,E=2*P+1,R=15,T=3,G=258,H=G+T+1,k=42,O=113,g=1,z=2,ne=3,q=4;function oe(m,B){return m.msg=u[B],B}function Z(m){return(m<<1)-(4m.avail_out&&(N=m.avail_out),N!==0&&(o.arraySet(m.output,B.pending_buf,B.pending_out,N,m.next_out),m.next_out+=N,B.pending_out+=N,m.total_out+=N,m.avail_out-=N,B.pending-=N,B.pending===0&&(B.pending_out=0))}function W(m,B){l._tr_flush_block(m,0<=m.block_start?m.block_start:-1,m.strstart-m.block_start,B),m.block_start=m.strstart,j(m.strm)}function fe(m,B){m.pending_buf[m.pending++]=B}function le(m,B){m.pending_buf[m.pending++]=B>>>8&255,m.pending_buf[m.pending++]=255&B}function ae(m,B){var N,C,w=m.max_chain_length,D=m.strstart,K=m.prev_length,Y=m.nice_match,M=m.strstart>m.w_size-H?m.strstart-(m.w_size-H):0,$=m.window,ie=m.w_mask,te=m.prev,he=m.strstart+G,Be=$[D+K-1],Pe=$[D+K];m.prev_length>=m.good_match&&(w>>=2),Y>m.lookahead&&(Y=m.lookahead);do if($[(N=B)+K]===Pe&&$[N+K-1]===Be&&$[N]===$[D]&&$[++N]===$[D+1]){D+=2,N++;do;while($[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&DM&&--w!=0);return K<=m.lookahead?K:m.lookahead}function ye(m){var B,N,C,w,D,K,Y,M,$,ie,te=m.w_size;do{if(w=m.window_size-m.lookahead-m.strstart,m.strstart>=te+(te-H)){for(o.arraySet(m.window,m.window,te,te,0),m.match_start-=te,m.strstart-=te,m.block_start-=te,B=N=m.hash_size;C=m.head[--B],m.head[B]=te<=C?C-te:0,--N;);for(B=N=te;C=m.prev[--B],m.prev[B]=te<=C?C-te:0,--N;);w+=te}if(m.strm.avail_in===0)break;if(K=m.strm,Y=m.window,M=m.strstart+m.lookahead,$=w,ie=void 0,ie=K.avail_in,$=T)for(D=m.strstart-m.insert,m.ins_h=m.window[D],m.ins_h=(m.ins_h<=T&&(m.ins_h=(m.ins_h<=T)if(C=l._tr_tally(m,m.strstart-m.match_start,m.match_length-T),m.lookahead-=m.match_length,m.match_length<=m.max_lazy_match&&m.lookahead>=T){for(m.match_length--;m.strstart++,m.ins_h=(m.ins_h<=T&&(m.ins_h=(m.ins_h<=T&&m.match_length<=m.prev_length){for(w=m.strstart+m.lookahead-T,C=l._tr_tally(m,m.strstart-1-m.prev_match,m.prev_length-T),m.lookahead-=m.prev_length-1,m.prev_length-=2;++m.strstart<=w&&(m.ins_h=(m.ins_h<m.pending_buf_size-5&&(N=m.pending_buf_size-5);;){if(m.lookahead<=1){if(ye(m),m.lookahead===0&&B===d)return g;if(m.lookahead===0)break}m.strstart+=m.lookahead,m.lookahead=0;var C=m.block_start+N;if((m.strstart===0||m.strstart>=C)&&(m.lookahead=m.strstart-C,m.strstart=C,W(m,!1),m.strm.avail_out===0)||m.strstart-m.block_start>=m.w_size-H&&(W(m,!1),m.strm.avail_out===0))return g}return m.insert=0,B===p?(W(m,!0),m.strm.avail_out===0?ne:q):(m.strstart>m.block_start&&(W(m,!1),m.strm.avail_out),g)}),new we(4,4,8,4,Le),new we(4,5,16,8,Le),new we(4,6,32,32,Le),new we(4,4,16,16,Se),new we(8,16,32,32,Se),new we(8,16,128,128,Se),new we(8,32,128,256,Se),new we(32,128,258,1024,Se),new we(32,258,258,4096,Se)],i.deflateInit=function(m,B){return Re(m,B,b,15,8,0)},i.deflateInit2=Re,i.deflateReset=tt,i.deflateResetKeep=be,i.deflateSetHeader=function(m,B){return m&&m.state?m.state.wrap!==2?h:(m.state.gzhead=B,f):h},i.deflate=function(m,B){var N,C,w,D;if(!m||!m.state||5>8&255),fe(C,C.gzhead.time>>16&255),fe(C,C.gzhead.time>>24&255),fe(C,C.level===9?2:2<=C.strategy||C.level<2?4:0),fe(C,255&C.gzhead.os),C.gzhead.extra&&C.gzhead.extra.length&&(fe(C,255&C.gzhead.extra.length),fe(C,C.gzhead.extra.length>>8&255)),C.gzhead.hcrc&&(m.adler=s(m.adler,C.pending_buf,C.pending,0)),C.gzindex=0,C.status=69):(fe(C,0),fe(C,0),fe(C,0),fe(C,0),fe(C,0),fe(C,C.level===9?2:2<=C.strategy||C.level<2?4:0),fe(C,3),C.status=O);else{var K=b+(C.w_bits-8<<4)<<8;K|=(2<=C.strategy||C.level<2?0:C.level<6?1:C.level===6?2:3)<<6,C.strstart!==0&&(K|=32),K+=31-K%31,C.status=O,le(C,K),C.strstart!==0&&(le(C,m.adler>>>16),le(C,65535&m.adler)),m.adler=1}if(C.status===69)if(C.gzhead.extra){for(w=C.pending;C.gzindex<(65535&C.gzhead.extra.length)&&(C.pending!==C.pending_buf_size||(C.gzhead.hcrc&&C.pending>w&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),j(m),w=C.pending,C.pending!==C.pending_buf_size));)fe(C,255&C.gzhead.extra[C.gzindex]),C.gzindex++;C.gzhead.hcrc&&C.pending>w&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),C.gzindex===C.gzhead.extra.length&&(C.gzindex=0,C.status=73)}else C.status=73;if(C.status===73)if(C.gzhead.name){w=C.pending;do{if(C.pending===C.pending_buf_size&&(C.gzhead.hcrc&&C.pending>w&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),j(m),w=C.pending,C.pending===C.pending_buf_size)){D=1;break}D=C.gzindexw&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),D===0&&(C.gzindex=0,C.status=91)}else C.status=91;if(C.status===91)if(C.gzhead.comment){w=C.pending;do{if(C.pending===C.pending_buf_size&&(C.gzhead.hcrc&&C.pending>w&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),j(m),w=C.pending,C.pending===C.pending_buf_size)){D=1;break}D=C.gzindexw&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),D===0&&(C.status=103)}else C.status=103;if(C.status===103&&(C.gzhead.hcrc?(C.pending+2>C.pending_buf_size&&j(m),C.pending+2<=C.pending_buf_size&&(fe(C,255&m.adler),fe(C,m.adler>>8&255),m.adler=0,C.status=O)):C.status=O),C.pending!==0){if(j(m),m.avail_out===0)return C.last_flush=-1,f}else if(m.avail_in===0&&Z(B)<=Z(N)&&B!==p)return oe(m,-5);if(C.status===666&&m.avail_in!==0)return oe(m,-5);if(m.avail_in!==0||C.lookahead!==0||B!==d&&C.status!==666){var Y=C.strategy===2?(function(M,$){for(var ie;;){if(M.lookahead===0&&(ye(M),M.lookahead===0)){if($===d)return g;break}if(M.match_length=0,ie=l._tr_tally(M,0,M.window[M.strstart]),M.lookahead--,M.strstart++,ie&&(W(M,!1),M.strm.avail_out===0))return g}return M.insert=0,$===p?(W(M,!0),M.strm.avail_out===0?ne:q):M.last_lit&&(W(M,!1),M.strm.avail_out===0)?g:z})(C,B):C.strategy===3?(function(M,$){for(var ie,te,he,Be,Pe=M.window;;){if(M.lookahead<=G){if(ye(M),M.lookahead<=G&&$===d)return g;if(M.lookahead===0)break}if(M.match_length=0,M.lookahead>=T&&0M.lookahead&&(M.match_length=M.lookahead)}if(M.match_length>=T?(ie=l._tr_tally(M,1,M.match_length-T),M.lookahead-=M.match_length,M.strstart+=M.match_length,M.match_length=0):(ie=l._tr_tally(M,0,M.window[M.strstart]),M.lookahead--,M.strstart++),ie&&(W(M,!1),M.strm.avail_out===0))return g}return M.insert=0,$===p?(W(M,!0),M.strm.avail_out===0?ne:q):M.last_lit&&(W(M,!1),M.strm.avail_out===0)?g:z})(C,B):a[C.level].func(C,B);if(Y!==ne&&Y!==q||(C.status=666),Y===g||Y===ne)return m.avail_out===0&&(C.last_flush=-1),f;if(Y===z&&(B===1?l._tr_align(C):B!==5&&(l._tr_stored_block(C,0,0,!1),B===3&&(de(C.head),C.lookahead===0&&(C.strstart=0,C.block_start=0,C.insert=0))),j(m),m.avail_out===0))return C.last_flush=-1,f}return B!==p?f:C.wrap<=0?1:(C.wrap===2?(fe(C,255&m.adler),fe(C,m.adler>>8&255),fe(C,m.adler>>16&255),fe(C,m.adler>>24&255),fe(C,255&m.total_in),fe(C,m.total_in>>8&255),fe(C,m.total_in>>16&255),fe(C,m.total_in>>24&255)):(le(C,m.adler>>>16),le(C,65535&m.adler)),j(m),0=N.w_size&&(D===0&&(de(N.head),N.strstart=0,N.block_start=0,N.insert=0),$=new o.Buf8(N.w_size),o.arraySet($,B,ie-N.w_size,N.w_size,0),B=$,ie=N.w_size),K=m.avail_in,Y=m.next_in,M=m.input,m.avail_in=ie,m.next_in=0,m.input=B,ye(N);N.lookahead>=T;){for(C=N.strstart,w=N.lookahead-(T-1);N.ins_h=(N.ins_h<>>=T=R>>>24,x-=T,(T=R>>>16&255)===0)z[u++]=65535&R;else{if(!(16&T)){if((64&T)==0){R=P[(65535&R)+(b&(1<>>=T,x-=T),x<15&&(b+=g[c++]<>>=T=R>>>24,x-=T,!(16&(T=R>>>16&255))){if((64&T)==0){R=F[(65535&R)+(b&(1<>>=T,x-=T,(T=u-d)>3,b&=(1<<(x-=G<<3))-1,a.next_in=c,a.next_out=u,a.avail_in=c>>24&255)+(k>>>8&65280)+((65280&k)<<8)+((255&k)<<24)}function b(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new a.Buf16(320),this.work=new a.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function x(k){var O;return k&&k.state?(O=k.state,k.total_in=k.total_out=O.total=0,k.msg="",O.wrap&&(k.adler=1&O.wrap),O.mode=h,O.last=0,O.havedict=0,O.dmax=32768,O.head=null,O.hold=0,O.bits=0,O.lencode=O.lendyn=new a.Buf32(A),O.distcode=O.distdyn=new a.Buf32(y),O.sane=1,O.back=-1,p):f}function P(k){var O;return k&&k.state?((O=k.state).wsize=0,O.whave=0,O.wnext=0,x(k)):f}function F(k,O){var g,z;return k&&k.state?(z=k.state,O<0?(g=0,O=-O):(g=1+(O>>4),O<48&&(O&=15)),O&&(O<8||15=q.wsize?(a.arraySet(q.window,O,g-q.wsize,q.wsize,0),q.wnext=0,q.whave=q.wsize):(z<(ne=q.wsize-q.wnext)&&(ne=z),a.arraySet(q.window,O,g-z,ne,q.wnext),(z-=ne)?(a.arraySet(q.window,O,g-z,z,0),q.wnext=z,q.whave=q.wsize):(q.wnext+=ne,q.wnext===q.wsize&&(q.wnext=0),q.whave>>8&255,g.check=l(g.check,D,2,0),W=j=0,g.mode=2;break}if(g.flags=0,g.head&&(g.head.done=!1),!(1&g.wrap)||(((255&j)<<8)+(j>>8))%31){k.msg="incorrect header check",g.mode=30;break}if((15&j)!=8){k.msg="unknown compression method",g.mode=30;break}if(W-=4,m=8+(15&(j>>>=4)),g.wbits===0)g.wbits=m;else if(m>g.wbits){k.msg="invalid window size",g.mode=30;break}g.dmax=1<>8&1),512&g.flags&&(D[0]=255&j,D[1]=j>>>8&255,g.check=l(g.check,D,2,0)),W=j=0,g.mode=3;case 3:for(;W<32;){if(Z===0)break e;Z--,j+=z[q++]<>>8&255,D[2]=j>>>16&255,D[3]=j>>>24&255,g.check=l(g.check,D,4,0)),W=j=0,g.mode=4;case 4:for(;W<16;){if(Z===0)break e;Z--,j+=z[q++]<>8),512&g.flags&&(D[0]=255&j,D[1]=j>>>8&255,g.check=l(g.check,D,2,0)),W=j=0,g.mode=5;case 5:if(1024&g.flags){for(;W<16;){if(Z===0)break e;Z--,j+=z[q++]<>>8&255,g.check=l(g.check,D,2,0)),W=j=0}else g.head&&(g.head.extra=null);g.mode=6;case 6:if(1024&g.flags&&(Z<(ae=g.length)&&(ae=Z),ae&&(g.head&&(m=g.head.extra_len-g.length,g.head.extra||(g.head.extra=new Array(g.head.extra_len)),a.arraySet(g.head.extra,z,q,ae,m)),512&g.flags&&(g.check=l(g.check,z,ae,q)),Z-=ae,q+=ae,g.length-=ae),g.length))break e;g.length=0,g.mode=7;case 7:if(2048&g.flags){if(Z===0)break e;for(ae=0;m=z[q+ae++],g.head&&m&&g.length<65536&&(g.head.name+=String.fromCharCode(m)),m&&ae>9&1,g.head.done=!0),k.adler=g.check=0,g.mode=12;break;case 10:for(;W<32;){if(Z===0)break e;Z--,j+=z[q++]<>>=7&W,W-=7&W,g.mode=27;break}for(;W<3;){if(Z===0)break e;Z--,j+=z[q++]<>>=1)){case 0:g.mode=14;break;case 1:if(G(g),g.mode=20,O!==6)break;j>>>=2,W-=2;break e;case 2:g.mode=17;break;case 3:k.msg="invalid block type",g.mode=30}j>>>=2,W-=2;break;case 14:for(j>>>=7&W,W-=7&W;W<32;){if(Z===0)break e;Z--,j+=z[q++]<>>16^65535)){k.msg="invalid stored block lengths",g.mode=30;break}if(g.length=65535&j,W=j=0,g.mode=15,O===6)break e;case 15:g.mode=16;case 16:if(ae=g.length){if(Z>>=5,W-=5,g.ndist=1+(31&j),j>>>=5,W-=5,g.ncode=4+(15&j),j>>>=4,W-=4,286>>=3,W-=3}for(;g.have<19;)g.lens[K[g.have++]]=0;if(g.lencode=g.lendyn,g.lenbits=7,N={bits:g.lenbits},B=s(0,g.lens,0,19,g.lencode,0,g.work,N),g.lenbits=N.bits,B){k.msg="invalid code lengths set",g.mode=30;break}g.have=0,g.mode=19;case 19:for(;g.have>>16&255,Me=65535&w,!((Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>>=Se,W-=Se,g.lens[g.have++]=Me;else{if(Me===16){for(C=Se+2;W>>=Se,W-=Se,g.have===0){k.msg="invalid bit length repeat",g.mode=30;break}m=g.lens[g.have-1],ae=3+(3&j),j>>>=2,W-=2}else if(Me===17){for(C=Se+3;W>>=Se)),j>>>=3,W-=3}else{for(C=Se+7;W>>=Se)),j>>>=7,W-=7}if(g.have+ae>g.nlen+g.ndist){k.msg="invalid bit length repeat",g.mode=30;break}for(;ae--;)g.lens[g.have++]=m}}if(g.mode===30)break;if(g.lens[256]===0){k.msg="invalid code -- missing end-of-block",g.mode=30;break}if(g.lenbits=9,N={bits:g.lenbits},B=s(u,g.lens,0,g.nlen,g.lencode,0,g.work,N),g.lenbits=N.bits,B){k.msg="invalid literal/lengths set",g.mode=30;break}if(g.distbits=6,g.distcode=g.distdyn,N={bits:g.distbits},B=s(d,g.lens,g.nlen,g.ndist,g.distcode,0,g.work,N),g.distbits=N.bits,B){k.msg="invalid distances set",g.mode=30;break}if(g.mode=20,O===6)break e;case 20:g.mode=21;case 21:if(6<=Z&&258<=de){k.next_out=oe,k.avail_out=de,k.next_in=q,k.avail_in=Z,g.hold=j,g.bits=W,c(k,le),oe=k.next_out,ne=k.output,de=k.avail_out,q=k.next_in,z=k.input,Z=k.avail_in,j=g.hold,W=g.bits,g.mode===12&&(g.back=-1);break}for(g.back=0;we=(w=g.lencode[j&(1<>>16&255,Me=65535&w,!((Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>be)])>>>16&255,Me=65535&w,!(be+(Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>>=be,W-=be,g.back+=be}if(j>>>=Se,W-=Se,g.back+=Se,g.length=Me,we===0){g.mode=26;break}if(32&we){g.back=-1,g.mode=12;break}if(64&we){k.msg="invalid literal/length code",g.mode=30;break}g.extra=15&we,g.mode=22;case 22:if(g.extra){for(C=g.extra;W>>=g.extra,W-=g.extra,g.back+=g.extra}g.was=g.length,g.mode=23;case 23:for(;we=(w=g.distcode[j&(1<>>16&255,Me=65535&w,!((Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>be)])>>>16&255,Me=65535&w,!(be+(Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>>=be,W-=be,g.back+=be}if(j>>>=Se,W-=Se,g.back+=Se,64&we){k.msg="invalid distance code",g.mode=30;break}g.offset=Me,g.extra=15&we,g.mode=24;case 24:if(g.extra){for(C=g.extra;W>>=g.extra,W-=g.extra,g.back+=g.extra}if(g.offset>g.dmax){k.msg="invalid distance too far back",g.mode=30;break}g.mode=25;case 25:if(de===0)break e;if(ae=le-de,g.offset>ae){if((ae=g.offset-ae)>g.whave&&g.sane){k.msg="invalid distance too far back",g.mode=30;break}ye=ae>g.wnext?(ae-=g.wnext,g.wsize-ae):g.wnext-ae,ae>g.length&&(ae=g.length),Le=g.window}else Le=ne,ye=oe-g.offset,ae=g.length;for(deE?(T=ye[Le+y[O]],W[fe+y[O]]):(T=96,0),b=1<>oe)+(x-=b)]=R<<24|T<<16|G|0,x!==0;);for(b=1<>=1;if(b!==0?(j&=b-1,j+=b):j=0,O++,--le[k]==0){if(k===z)break;k=d[p+y[O]]}if(ne>>7)]}function fe(w,D){w.pending_buf[w.pending++]=255&D,w.pending_buf[w.pending++]=D>>>8&255}function le(w,D,K){w.bi_valid>v-K?(w.bi_buf|=D<>v-w.bi_valid,w.bi_valid+=K-v):(w.bi_buf|=D<>>=1,K<<=1,0<--D;);return K>>>1}function Le(w,D,K){var Y,M,$=new Array(y+1),ie=0;for(Y=1;Y<=y;Y++)$[Y]=ie=ie+K[Y-1]<<1;for(M=0;M<=D;M++){var te=w[2*M+1];te!==0&&(w[2*M]=ye($[te]++,te))}}function Se(w){var D;for(D=0;D>1;1<=K;K--)be(w,$,K);for(M=he;K=w.heap[1],w.heap[1]=w.heap[w.heap_len--],be(w,$,1),Y=w.heap[1],w.heap[--w.heap_max]=K,w.heap[--w.heap_max]=Y,$[2*M]=$[2*K]+$[2*Y],w.depth[M]=(w.depth[K]>=w.depth[Y]?w.depth[K]:w.depth[Y])+1,$[2*K+1]=$[2*Y+1]=M,w.heap[1]=M++,be(w,$,1),2<=w.heap_len;);w.heap[--w.heap_max]=w.heap[1],(function(Pe,Ee){var Je,je,_,ce,me,Fe,ee=Ee.dyn_tree,ge=Ee.max_code,I=Ee.stat_desc.static_tree,ve=Ee.stat_desc.has_stree,Oe=Ee.stat_desc.extra_bits,S=Ee.stat_desc.extra_base,ue=Ee.stat_desc.max_length,pe=0;for(ce=0;ce<=y;ce++)Pe.bl_count[ce]=0;for(ee[2*Pe.heap[Pe.heap_max]+1]=0,Je=Pe.heap_max+1;Je>=7;M>>=1)if(1&Be&&te.dyn_ltree[2*he]!==0)return o;if(te.dyn_ltree[18]!==0||te.dyn_ltree[20]!==0||te.dyn_ltree[26]!==0)return l;for(he=32;he>>3,($=w.static_len+3+7>>>3)<=M&&(M=$)):M=$=K+5,K+4<=M&&D!==-1?C(w,D,K,Y):w.strategy===4||$===M?(le(w,2+(Y?1:0),3),tt(w,H,k)):(le(w,4+(Y?1:0),3),(function(te,he,Be,Pe){var Ee;for(le(te,he-257,5),le(te,Be-1,5),le(te,Pe-4,4),Ee=0;Ee>>8&255,w.pending_buf[w.d_buf+2*w.last_lit+1]=255&D,w.pending_buf[w.l_buf+w.last_lit]=255&K,w.last_lit++,D===0?w.dyn_ltree[2*K]++:(w.matches++,D--,w.dyn_ltree[2*(g[K]+d+1)]++,w.dyn_dtree[2*W(D)]++),w.last_lit===w.lit_bufsize-1},i._tr_align=function(w){le(w,2,3),ae(w,x,H),(function(D){D.bi_valid===16?(fe(D,D.bi_buf),D.bi_buf=0,D.bi_valid=0):8<=D.bi_valid&&(D.pending_buf[D.pending++]=255&D.bi_buf,D.bi_buf>>=8,D.bi_valid-=8)})(w)}},{"../utils/common":41}],53:[function(t,n,i){"use strict";n.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,n,i){(function(a){(function(o,l){"use strict";if(!o.setImmediate){var c,s,u,d,p=1,f={},h=!1,A=o.document,y=Object.getPrototypeOf&&Object.getPrototypeOf(o);y=y&&y.setTimeout?y:o,c={}.toString.call(o.process)==="[object process]"?function(P){process.nextTick(function(){b(P)})}:(function(){if(o.postMessage&&!o.importScripts){var P=!0,F=o.onmessage;return o.onmessage=function(){P=!1},o.postMessage("","*"),o.onmessage=F,P}})()?(d="setImmediate$"+Math.random()+"$",o.addEventListener?o.addEventListener("message",x,!1):o.attachEvent("onmessage",x),function(P){o.postMessage(d+P,"*")}):o.MessageChannel?((u=new MessageChannel).port1.onmessage=function(P){b(P.data)},function(P){u.port2.postMessage(P)}):A&&"onreadystatechange"in A.createElement("script")?(s=A.documentElement,function(P){var F=A.createElement("script");F.onreadystatechange=function(){b(P),F.onreadystatechange=null,s.removeChild(F),F=null},s.appendChild(F)}):function(P){setTimeout(b,0,P)},y.setImmediate=function(P){typeof P!="function"&&(P=new Function(""+P));for(var F=new Array(arguments.length-1),L=0;L"u"?a===void 0?this:a:self)}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})}}),wp=Lt({"node_modules/.pnpm/jszip@3.10.1/node_modules/jszip/dist/jszip.min.js"(e,r){(function(t){typeof e=="object"&&typeof r<"u"?r.exports=t():typeof define=="function"&&define.amd?define([],t):(typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:this).JSZip=t()})(function(){return(function t(n,i,a){function o(s,u){if(!i[s]){if(!n[s]){var d=typeof An=="function"&&An;if(!u&&d)return d(s,!0);if(l)return l(s,!0);var p=new Error("Cannot find module '"+s+"'");throw p.code="MODULE_NOT_FOUND",p}var f=i[s]={exports:{}};n[s][0].call(f.exports,function(h){var A=n[s][1][h];return o(A||h)},f,f.exports,t,n,i,a)}return i[s].exports}for(var l=typeof An=="function"&&An,c=0;c>2,f=(3&s)<<4|u>>4,h=1>6:64,A=2>4,u=(15&p)<<4|(f=l.indexOf(c.charAt(A++)))>>2,d=(3&f)<<6|(h=l.indexOf(c.charAt(A++))),b[y++]=s,f!==64&&(b[y++]=u),h!==64&&(b[y++]=d);return b}},{"./support":30,"./utils":32}],2:[function(t,n,i){"use strict";var a=t("./external"),o=t("./stream/DataWorker"),l=t("./stream/Crc32Probe"),c=t("./stream/DataLengthProbe");function s(u,d,p,f,h){this.compressedSize=u,this.uncompressedSize=d,this.crc32=p,this.compression=f,this.compressedContent=h}s.prototype={getContentWorker:function(){var u=new o(a.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new c("data_length")),d=this;return u.on("end",function(){if(this.streamInfo.data_length!==d.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),u},getCompressedWorker:function(){return new o(a.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},s.createWorkerFrom=function(u,d,p){return u.pipe(new l).pipe(new c("uncompressedSize")).pipe(d.compressWorker(p)).pipe(new c("compressedSize")).withStreamInfo("compression",d)},n.exports=s},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,n,i){"use strict";var a=t("./stream/GenericWorker");i.STORE={magic:"\0\0",compressWorker:function(){return new a("STORE compression")},uncompressWorker:function(){return new a("STORE decompression")}},i.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,n,i){"use strict";var a=t("./utils"),o=(function(){for(var l,c=[],s=0;s<256;s++){l=s;for(var u=0;u<8;u++)l=1&l?3988292384^l>>>1:l>>>1;c[s]=l}return c})();n.exports=function(l,c){return l!==void 0&&l.length?a.getTypeOf(l)!=="string"?(function(s,u,d,p){var f=o,h=p+d;s^=-1;for(var A=p;A>>8^f[255&(s^u[A])];return-1^s})(0|c,l,l.length,0):(function(s,u,d,p){var f=o,h=p+d;s^=-1;for(var A=p;A>>8^f[255&(s^u.charCodeAt(A))];return-1^s})(0|c,l,l.length,0):0}},{"./utils":32}],5:[function(t,n,i){"use strict";i.base64=!1,i.binary=!1,i.dir=!1,i.createFolders=!0,i.date=null,i.compression=null,i.compressionOptions=null,i.comment=null,i.unixPermissions=null,i.dosPermissions=null},{}],6:[function(t,n,i){"use strict";var a=null;a=typeof Promise<"u"?Promise:t("lie"),n.exports={Promise:a}},{lie:37}],7:[function(t,n,i){"use strict";var a=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",o=t("pako"),l=t("./utils"),c=t("./stream/GenericWorker"),s=a?"uint8array":"array";function u(d,p){c.call(this,"FlateWorker/"+d),this._pako=null,this._pakoAction=d,this._pakoOptions=p,this.meta={}}i.magic="\b\0",l.inherits(u,c),u.prototype.processChunk=function(d){this.meta=d.meta,this._pako===null&&this._createPako(),this._pako.push(l.transformTo(s,d.data),!1)},u.prototype.flush=function(){c.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},u.prototype.cleanUp=function(){c.prototype.cleanUp.call(this),this._pako=null},u.prototype._createPako=function(){this._pako=new o[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var d=this;this._pako.onData=function(p){d.push({data:p,meta:d.meta})}},i.compressWorker=function(d){return new u("Deflate",d)},i.uncompressWorker=function(){return new u("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,n,i){"use strict";function a(f,h){var A,y="";for(A=0;A>>=8;return y}function o(f,h,A,y,v,b){var x,P,F=f.file,L=f.compression,E=b!==s.utf8encode,R=l.transformTo("string",b(F.name)),T=l.transformTo("string",s.utf8encode(F.name)),G=F.comment,H=l.transformTo("string",b(G)),k=l.transformTo("string",s.utf8encode(G)),O=T.length!==F.name.length,g=k.length!==G.length,z="",ne="",q="",oe=F.dir,Z=F.date,de={crc32:0,compressedSize:0,uncompressedSize:0};h&&!A||(de.crc32=f.crc32,de.compressedSize=f.compressedSize,de.uncompressedSize=f.uncompressedSize);var j=0;h&&(j|=8),E||!O&&!g||(j|=2048);var W=0,fe=0;oe&&(W|=16),v==="UNIX"?(fe=798,W|=(function(ae,ye){var Le=ae;return ae||(Le=ye?16893:33204),(65535&Le)<<16})(F.unixPermissions,oe)):(fe=20,W|=(function(ae){return 63&(ae||0)})(F.dosPermissions)),x=Z.getUTCHours(),x<<=6,x|=Z.getUTCMinutes(),x<<=5,x|=Z.getUTCSeconds()/2,P=Z.getUTCFullYear()-1980,P<<=4,P|=Z.getUTCMonth()+1,P<<=5,P|=Z.getUTCDate(),O&&(ne=a(1,1)+a(u(R),4)+T,z+="up"+a(ne.length,2)+ne),g&&(q=a(1,1)+a(u(H),4)+k,z+="uc"+a(q.length,2)+q);var le="";return le+=` +\0`,le+=a(j,2),le+=L.magic,le+=a(x,2),le+=a(P,2),le+=a(de.crc32,4),le+=a(de.compressedSize,4),le+=a(de.uncompressedSize,4),le+=a(R.length,2),le+=a(z.length,2),{fileRecord:d.LOCAL_FILE_HEADER+le+R+z,dirRecord:d.CENTRAL_FILE_HEADER+a(fe,2)+le+a(H.length,2)+"\0\0\0\0"+a(W,4)+a(y,4)+R+z+H}}var l=t("../utils"),c=t("../stream/GenericWorker"),s=t("../utf8"),u=t("../crc32"),d=t("../signature");function p(f,h,A,y){c.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=h,this.zipPlatform=A,this.encodeFileName=y,this.streamFiles=f,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}l.inherits(p,c),p.prototype.push=function(f){var h=f.meta.percent||0,A=this.entriesCount,y=this._sources.length;this.accumulate?this.contentBuffer.push(f):(this.bytesWritten+=f.data.length,c.prototype.push.call(this,{data:f.data,meta:{currentFile:this.currentFile,percent:A?(h+100*(A-y-1))/A:100}}))},p.prototype.openedSource=function(f){this.currentSourceOffset=this.bytesWritten,this.currentFile=f.file.name;var h=this.streamFiles&&!f.file.dir;if(h){var A=o(f,h,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:A.fileRecord,meta:{percent:0}})}else this.accumulate=!0},p.prototype.closedSource=function(f){this.accumulate=!1;var h=this.streamFiles&&!f.file.dir,A=o(f,h,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(A.dirRecord),h)this.push({data:(function(y){return d.DATA_DESCRIPTOR+a(y.crc32,4)+a(y.compressedSize,4)+a(y.uncompressedSize,4)})(f),meta:{percent:100}});else for(this.push({data:A.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},p.prototype.flush=function(){for(var f=this.bytesWritten,h=0;h=this.index;c--)s=(s<<8)+this.byteAt(c);return this.index+=l,s},readString:function(l){return a.transformTo("string",this.readData(l))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var l=this.readInt(4);return new Date(Date.UTC(1980+(l>>25&127),(l>>21&15)-1,l>>16&31,l>>11&31,l>>5&63,(31&l)<<1))}},n.exports=o},{"../utils":32}],19:[function(t,n,i){"use strict";var a=t("./Uint8ArrayReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.readData=function(l){this.checkOffset(l);var c=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,n,i){"use strict";var a=t("./DataReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.byteAt=function(l){return this.data.charCodeAt(this.zero+l)},o.prototype.lastIndexOfSignature=function(l){return this.data.lastIndexOf(l)-this.zero},o.prototype.readAndCheckSignature=function(l){return l===this.readData(4)},o.prototype.readData=function(l){this.checkOffset(l);var c=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./DataReader":18}],21:[function(t,n,i){"use strict";var a=t("./ArrayReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.readData=function(l){if(this.checkOffset(l),l===0)return new Uint8Array(0);var c=this.data.subarray(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./ArrayReader":17}],22:[function(t,n,i){"use strict";var a=t("../utils"),o=t("../support"),l=t("./ArrayReader"),c=t("./StringReader"),s=t("./NodeBufferReader"),u=t("./Uint8ArrayReader");n.exports=function(d){var p=a.getTypeOf(d);return a.checkSupport(p),p!=="string"||o.uint8array?p==="nodebuffer"?new s(d):o.uint8array?new u(a.transformTo("uint8array",d)):new l(a.transformTo("array",d)):new c(d)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,n,i){"use strict";i.LOCAL_FILE_HEADER="PK",i.CENTRAL_FILE_HEADER="PK",i.CENTRAL_DIRECTORY_END="PK",i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",i.ZIP64_CENTRAL_DIRECTORY_END="PK",i.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(t,n,i){"use strict";var a=t("./GenericWorker"),o=t("../utils");function l(c){a.call(this,"ConvertWorker to "+c),this.destType=c}o.inherits(l,a),l.prototype.processChunk=function(c){this.push({data:o.transformTo(this.destType,c.data),meta:c.meta})},n.exports=l},{"../utils":32,"./GenericWorker":28}],25:[function(t,n,i){"use strict";var a=t("./GenericWorker"),o=t("../crc32");function l(){a.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(l,a),l.prototype.processChunk=function(c){this.streamInfo.crc32=o(c.data,this.streamInfo.crc32||0),this.push(c)},n.exports=l},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./GenericWorker");function l(c){o.call(this,"DataLengthProbe for "+c),this.propName=c,this.withStreamInfo(c,0)}a.inherits(l,o),l.prototype.processChunk=function(c){if(c){var s=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=s+c.data.length}o.prototype.processChunk.call(this,c)},n.exports=l},{"../utils":32,"./GenericWorker":28}],27:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./GenericWorker");function l(c){o.call(this,"DataWorker");var s=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,c.then(function(u){s.dataIsReady=!0,s.data=u,s.max=u&&u.length||0,s.type=a.getTypeOf(u),s.isPaused||s._tickAndRepeat()},function(u){s.error(u)})}a.inherits(l,o),l.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this.data=null},l.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,a.delay(this._tickAndRepeat,[],this)),!0)},l.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(a.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},l.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var c=null,s=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":c=this.data.substring(this.index,s);break;case"uint8array":c=this.data.subarray(this.index,s);break;case"array":case"nodebuffer":c=this.data.slice(this.index,s)}return this.index=s,this.push({data:c,meta:{percent:this.max?this.index/this.max*100:0}})},n.exports=l},{"../utils":32,"./GenericWorker":28}],28:[function(t,n,i){"use strict";function a(o){this.name=o||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}a.prototype={push:function(o){this.emit("data",o)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(o){this.emit("error",o)}return!0},error:function(o){return!this.isFinished&&(this.isPaused?this.generatedError=o:(this.isFinished=!0,this.emit("error",o),this.previous&&this.previous.error(o),this.cleanUp()),!0)},on:function(o,l){return this._listeners[o].push(l),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(o,l){if(this._listeners[o])for(var c=0;c "+o:o}},n.exports=a},{}],29:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./ConvertWorker"),l=t("./GenericWorker"),c=t("../base64"),s=t("../support"),u=t("../external"),d=null;if(s.nodestream)try{d=t("../nodejs/NodejsStreamOutputAdapter")}catch{}function p(h,A){return new u.Promise(function(y,v){var b=[],x=h._internalType,P=h._outputType,F=h._mimeType;h.on("data",function(L,E){b.push(L),A&&A(E)}).on("error",function(L){b=[],v(L)}).on("end",function(){try{var L=(function(E,R,T){switch(E){case"blob":return a.newBlob(a.transformTo("arraybuffer",R),T);case"base64":return c.encode(R);default:return a.transformTo(E,R)}})(P,(function(E,R){var T,G=0,H=null,k=0;for(T=0;T"u")i.blob=!1;else{var a=new ArrayBuffer(0);try{i.blob=new Blob([a],{type:"application/zip"}).size===0}catch{try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(a),i.blob=o.getBlob("application/zip").size===0}catch{i.blob=!1}}}try{i.nodestream=!!t("readable-stream").Readable}catch{i.nodestream=!1}},{"readable-stream":16}],31:[function(t,n,i){"use strict";for(var a=t("./utils"),o=t("./support"),l=t("./nodejsUtils"),c=t("./stream/GenericWorker"),s=new Array(256),u=0;u<256;u++)s[u]=252<=u?6:248<=u?5:240<=u?4:224<=u?3:192<=u?2:1;s[254]=s[254]=1;function d(){c.call(this,"utf-8 decode"),this.leftOver=null}function p(){c.call(this,"utf-8 encode")}i.utf8encode=function(f){return o.nodebuffer?l.newBufferFrom(f,"utf-8"):(function(h){var A,y,v,b,x,P=h.length,F=0;for(b=0;b>>6:(y<65536?A[x++]=224|y>>>12:(A[x++]=240|y>>>18,A[x++]=128|y>>>12&63),A[x++]=128|y>>>6&63),A[x++]=128|63&y);return A})(f)},i.utf8decode=function(f){return o.nodebuffer?a.transformTo("nodebuffer",f).toString("utf-8"):(function(h){var A,y,v,b,x=h.length,P=new Array(2*x);for(A=y=0;A>10&1023,P[y++]=56320|1023&v)}return P.length!==y&&(P.subarray?P=P.subarray(0,y):P.length=y),a.applyFromCharCode(P)})(f=a.transformTo(o.uint8array?"uint8array":"array",f))},a.inherits(d,c),d.prototype.processChunk=function(f){var h=a.transformTo(o.uint8array?"uint8array":"array",f.data);if(this.leftOver&&this.leftOver.length){if(o.uint8array){var A=h;(h=new Uint8Array(A.length+this.leftOver.length)).set(this.leftOver,0),h.set(A,this.leftOver.length)}else h=this.leftOver.concat(h);this.leftOver=null}var y=(function(b,x){var P;for((x=x||b.length)>b.length&&(x=b.length),P=x-1;0<=P&&(192&b[P])==128;)P--;return P<0||P===0?x:P+s[b[P]]>x?P:x})(h),v=h;y!==h.length&&(o.uint8array?(v=h.subarray(0,y),this.leftOver=h.subarray(y,h.length)):(v=h.slice(0,y),this.leftOver=h.slice(y,h.length))),this.push({data:i.utf8decode(v),meta:f.meta})},d.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:i.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},i.Utf8DecodeWorker=d,a.inherits(p,c),p.prototype.processChunk=function(f){this.push({data:i.utf8encode(f.data),meta:f.meta})},i.Utf8EncodeWorker=p},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,n,i){"use strict";var a=t("./support"),o=t("./base64"),l=t("./nodejsUtils"),c=t("./external");function s(A){return A}function u(A,y){for(var v=0;v>8;this.dir=!!(16&this.externalFileAttributes),f==0&&(this.dosPermissions=63&this.externalFileAttributes),f==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var f=a(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=f.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=f.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=f.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=f.readInt(4))}},readExtraFields:function(f){var h,A,y,v=f.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});f.index+4>>6:(f<65536?p[y++]=224|f>>>12:(p[y++]=240|f>>>18,p[y++]=128|f>>>12&63),p[y++]=128|f>>>6&63),p[y++]=128|63&f);return p},i.buf2binstring=function(d){return u(d,d.length)},i.binstring2buf=function(d){for(var p=new a.Buf8(d.length),f=0,h=p.length;f>10&1023,b[h++]=56320|1023&A)}return u(b,h)},i.utf8border=function(d,p){var f;for((p=p||d.length)>d.length&&(p=d.length),f=p-1;0<=f&&(192&d[f])==128;)f--;return f<0||f===0?p:f+c[d[f]]>p?f:p}},{"./common":41}],43:[function(t,n,i){"use strict";n.exports=function(a,o,l,c){for(var s=65535&a|0,u=a>>>16&65535|0,d=0;l!==0;){for(l-=d=2e3>>1:o>>>1;l[c]=o}return l})();n.exports=function(o,l,c,s){var u=a,d=s+c;o^=-1;for(var p=s;p>>8^u[255&(o^l[p])];return-1^o}},{}],46:[function(t,n,i){"use strict";var a,o=t("../utils/common"),l=t("./trees"),c=t("./adler32"),s=t("./crc32"),u=t("./messages"),d=0,p=4,f=0,h=-2,A=-1,y=4,v=2,b=8,x=9,P=286,F=30,L=19,E=2*P+1,R=15,T=3,G=258,H=G+T+1,k=42,O=113,g=1,z=2,ne=3,q=4;function oe(m,B){return m.msg=u[B],B}function Z(m){return(m<<1)-(4m.avail_out&&(N=m.avail_out),N!==0&&(o.arraySet(m.output,B.pending_buf,B.pending_out,N,m.next_out),m.next_out+=N,B.pending_out+=N,m.total_out+=N,m.avail_out-=N,B.pending-=N,B.pending===0&&(B.pending_out=0))}function W(m,B){l._tr_flush_block(m,0<=m.block_start?m.block_start:-1,m.strstart-m.block_start,B),m.block_start=m.strstart,j(m.strm)}function fe(m,B){m.pending_buf[m.pending++]=B}function le(m,B){m.pending_buf[m.pending++]=B>>>8&255,m.pending_buf[m.pending++]=255&B}function ae(m,B){var N,C,w=m.max_chain_length,D=m.strstart,K=m.prev_length,Y=m.nice_match,M=m.strstart>m.w_size-H?m.strstart-(m.w_size-H):0,$=m.window,ie=m.w_mask,te=m.prev,he=m.strstart+G,Be=$[D+K-1],Pe=$[D+K];m.prev_length>=m.good_match&&(w>>=2),Y>m.lookahead&&(Y=m.lookahead);do if($[(N=B)+K]===Pe&&$[N+K-1]===Be&&$[N]===$[D]&&$[++N]===$[D+1]){D+=2,N++;do;while($[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&DM&&--w!=0);return K<=m.lookahead?K:m.lookahead}function ye(m){var B,N,C,w,D,K,Y,M,$,ie,te=m.w_size;do{if(w=m.window_size-m.lookahead-m.strstart,m.strstart>=te+(te-H)){for(o.arraySet(m.window,m.window,te,te,0),m.match_start-=te,m.strstart-=te,m.block_start-=te,B=N=m.hash_size;C=m.head[--B],m.head[B]=te<=C?C-te:0,--N;);for(B=N=te;C=m.prev[--B],m.prev[B]=te<=C?C-te:0,--N;);w+=te}if(m.strm.avail_in===0)break;if(K=m.strm,Y=m.window,M=m.strstart+m.lookahead,$=w,ie=void 0,ie=K.avail_in,$=T)for(D=m.strstart-m.insert,m.ins_h=m.window[D],m.ins_h=(m.ins_h<=T&&(m.ins_h=(m.ins_h<=T)if(C=l._tr_tally(m,m.strstart-m.match_start,m.match_length-T),m.lookahead-=m.match_length,m.match_length<=m.max_lazy_match&&m.lookahead>=T){for(m.match_length--;m.strstart++,m.ins_h=(m.ins_h<=T&&(m.ins_h=(m.ins_h<=T&&m.match_length<=m.prev_length){for(w=m.strstart+m.lookahead-T,C=l._tr_tally(m,m.strstart-1-m.prev_match,m.prev_length-T),m.lookahead-=m.prev_length-1,m.prev_length-=2;++m.strstart<=w&&(m.ins_h=(m.ins_h<m.pending_buf_size-5&&(N=m.pending_buf_size-5);;){if(m.lookahead<=1){if(ye(m),m.lookahead===0&&B===d)return g;if(m.lookahead===0)break}m.strstart+=m.lookahead,m.lookahead=0;var C=m.block_start+N;if((m.strstart===0||m.strstart>=C)&&(m.lookahead=m.strstart-C,m.strstart=C,W(m,!1),m.strm.avail_out===0)||m.strstart-m.block_start>=m.w_size-H&&(W(m,!1),m.strm.avail_out===0))return g}return m.insert=0,B===p?(W(m,!0),m.strm.avail_out===0?ne:q):(m.strstart>m.block_start&&(W(m,!1),m.strm.avail_out),g)}),new we(4,4,8,4,Le),new we(4,5,16,8,Le),new we(4,6,32,32,Le),new we(4,4,16,16,Se),new we(8,16,32,32,Se),new we(8,16,128,128,Se),new we(8,32,128,256,Se),new we(32,128,258,1024,Se),new we(32,258,258,4096,Se)],i.deflateInit=function(m,B){return Re(m,B,b,15,8,0)},i.deflateInit2=Re,i.deflateReset=tt,i.deflateResetKeep=be,i.deflateSetHeader=function(m,B){return m&&m.state?m.state.wrap!==2?h:(m.state.gzhead=B,f):h},i.deflate=function(m,B){var N,C,w,D;if(!m||!m.state||5>8&255),fe(C,C.gzhead.time>>16&255),fe(C,C.gzhead.time>>24&255),fe(C,C.level===9?2:2<=C.strategy||C.level<2?4:0),fe(C,255&C.gzhead.os),C.gzhead.extra&&C.gzhead.extra.length&&(fe(C,255&C.gzhead.extra.length),fe(C,C.gzhead.extra.length>>8&255)),C.gzhead.hcrc&&(m.adler=s(m.adler,C.pending_buf,C.pending,0)),C.gzindex=0,C.status=69):(fe(C,0),fe(C,0),fe(C,0),fe(C,0),fe(C,0),fe(C,C.level===9?2:2<=C.strategy||C.level<2?4:0),fe(C,3),C.status=O);else{var K=b+(C.w_bits-8<<4)<<8;K|=(2<=C.strategy||C.level<2?0:C.level<6?1:C.level===6?2:3)<<6,C.strstart!==0&&(K|=32),K+=31-K%31,C.status=O,le(C,K),C.strstart!==0&&(le(C,m.adler>>>16),le(C,65535&m.adler)),m.adler=1}if(C.status===69)if(C.gzhead.extra){for(w=C.pending;C.gzindex<(65535&C.gzhead.extra.length)&&(C.pending!==C.pending_buf_size||(C.gzhead.hcrc&&C.pending>w&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),j(m),w=C.pending,C.pending!==C.pending_buf_size));)fe(C,255&C.gzhead.extra[C.gzindex]),C.gzindex++;C.gzhead.hcrc&&C.pending>w&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),C.gzindex===C.gzhead.extra.length&&(C.gzindex=0,C.status=73)}else C.status=73;if(C.status===73)if(C.gzhead.name){w=C.pending;do{if(C.pending===C.pending_buf_size&&(C.gzhead.hcrc&&C.pending>w&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),j(m),w=C.pending,C.pending===C.pending_buf_size)){D=1;break}D=C.gzindexw&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),D===0&&(C.gzindex=0,C.status=91)}else C.status=91;if(C.status===91)if(C.gzhead.comment){w=C.pending;do{if(C.pending===C.pending_buf_size&&(C.gzhead.hcrc&&C.pending>w&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),j(m),w=C.pending,C.pending===C.pending_buf_size)){D=1;break}D=C.gzindexw&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),D===0&&(C.status=103)}else C.status=103;if(C.status===103&&(C.gzhead.hcrc?(C.pending+2>C.pending_buf_size&&j(m),C.pending+2<=C.pending_buf_size&&(fe(C,255&m.adler),fe(C,m.adler>>8&255),m.adler=0,C.status=O)):C.status=O),C.pending!==0){if(j(m),m.avail_out===0)return C.last_flush=-1,f}else if(m.avail_in===0&&Z(B)<=Z(N)&&B!==p)return oe(m,-5);if(C.status===666&&m.avail_in!==0)return oe(m,-5);if(m.avail_in!==0||C.lookahead!==0||B!==d&&C.status!==666){var Y=C.strategy===2?(function(M,$){for(var ie;;){if(M.lookahead===0&&(ye(M),M.lookahead===0)){if($===d)return g;break}if(M.match_length=0,ie=l._tr_tally(M,0,M.window[M.strstart]),M.lookahead--,M.strstart++,ie&&(W(M,!1),M.strm.avail_out===0))return g}return M.insert=0,$===p?(W(M,!0),M.strm.avail_out===0?ne:q):M.last_lit&&(W(M,!1),M.strm.avail_out===0)?g:z})(C,B):C.strategy===3?(function(M,$){for(var ie,te,he,Be,Pe=M.window;;){if(M.lookahead<=G){if(ye(M),M.lookahead<=G&&$===d)return g;if(M.lookahead===0)break}if(M.match_length=0,M.lookahead>=T&&0M.lookahead&&(M.match_length=M.lookahead)}if(M.match_length>=T?(ie=l._tr_tally(M,1,M.match_length-T),M.lookahead-=M.match_length,M.strstart+=M.match_length,M.match_length=0):(ie=l._tr_tally(M,0,M.window[M.strstart]),M.lookahead--,M.strstart++),ie&&(W(M,!1),M.strm.avail_out===0))return g}return M.insert=0,$===p?(W(M,!0),M.strm.avail_out===0?ne:q):M.last_lit&&(W(M,!1),M.strm.avail_out===0)?g:z})(C,B):a[C.level].func(C,B);if(Y!==ne&&Y!==q||(C.status=666),Y===g||Y===ne)return m.avail_out===0&&(C.last_flush=-1),f;if(Y===z&&(B===1?l._tr_align(C):B!==5&&(l._tr_stored_block(C,0,0,!1),B===3&&(de(C.head),C.lookahead===0&&(C.strstart=0,C.block_start=0,C.insert=0))),j(m),m.avail_out===0))return C.last_flush=-1,f}return B!==p?f:C.wrap<=0?1:(C.wrap===2?(fe(C,255&m.adler),fe(C,m.adler>>8&255),fe(C,m.adler>>16&255),fe(C,m.adler>>24&255),fe(C,255&m.total_in),fe(C,m.total_in>>8&255),fe(C,m.total_in>>16&255),fe(C,m.total_in>>24&255)):(le(C,m.adler>>>16),le(C,65535&m.adler)),j(m),0=N.w_size&&(D===0&&(de(N.head),N.strstart=0,N.block_start=0,N.insert=0),$=new o.Buf8(N.w_size),o.arraySet($,B,ie-N.w_size,N.w_size,0),B=$,ie=N.w_size),K=m.avail_in,Y=m.next_in,M=m.input,m.avail_in=ie,m.next_in=0,m.input=B,ye(N);N.lookahead>=T;){for(C=N.strstart,w=N.lookahead-(T-1);N.ins_h=(N.ins_h<>>=T=R>>>24,x-=T,(T=R>>>16&255)===0)z[u++]=65535&R;else{if(!(16&T)){if((64&T)==0){R=P[(65535&R)+(b&(1<>>=T,x-=T),x<15&&(b+=g[c++]<>>=T=R>>>24,x-=T,!(16&(T=R>>>16&255))){if((64&T)==0){R=F[(65535&R)+(b&(1<>>=T,x-=T,(T=u-d)>3,b&=(1<<(x-=G<<3))-1,a.next_in=c,a.next_out=u,a.avail_in=c>>24&255)+(k>>>8&65280)+((65280&k)<<8)+((255&k)<<24)}function b(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new a.Buf16(320),this.work=new a.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function x(k){var O;return k&&k.state?(O=k.state,k.total_in=k.total_out=O.total=0,k.msg="",O.wrap&&(k.adler=1&O.wrap),O.mode=h,O.last=0,O.havedict=0,O.dmax=32768,O.head=null,O.hold=0,O.bits=0,O.lencode=O.lendyn=new a.Buf32(A),O.distcode=O.distdyn=new a.Buf32(y),O.sane=1,O.back=-1,p):f}function P(k){var O;return k&&k.state?((O=k.state).wsize=0,O.whave=0,O.wnext=0,x(k)):f}function F(k,O){var g,z;return k&&k.state?(z=k.state,O<0?(g=0,O=-O):(g=1+(O>>4),O<48&&(O&=15)),O&&(O<8||15=q.wsize?(a.arraySet(q.window,O,g-q.wsize,q.wsize,0),q.wnext=0,q.whave=q.wsize):(z<(ne=q.wsize-q.wnext)&&(ne=z),a.arraySet(q.window,O,g-z,ne,q.wnext),(z-=ne)?(a.arraySet(q.window,O,g-z,z,0),q.wnext=z,q.whave=q.wsize):(q.wnext+=ne,q.wnext===q.wsize&&(q.wnext=0),q.whave>>8&255,g.check=l(g.check,D,2,0),W=j=0,g.mode=2;break}if(g.flags=0,g.head&&(g.head.done=!1),!(1&g.wrap)||(((255&j)<<8)+(j>>8))%31){k.msg="incorrect header check",g.mode=30;break}if((15&j)!=8){k.msg="unknown compression method",g.mode=30;break}if(W-=4,m=8+(15&(j>>>=4)),g.wbits===0)g.wbits=m;else if(m>g.wbits){k.msg="invalid window size",g.mode=30;break}g.dmax=1<>8&1),512&g.flags&&(D[0]=255&j,D[1]=j>>>8&255,g.check=l(g.check,D,2,0)),W=j=0,g.mode=3;case 3:for(;W<32;){if(Z===0)break e;Z--,j+=z[q++]<>>8&255,D[2]=j>>>16&255,D[3]=j>>>24&255,g.check=l(g.check,D,4,0)),W=j=0,g.mode=4;case 4:for(;W<16;){if(Z===0)break e;Z--,j+=z[q++]<>8),512&g.flags&&(D[0]=255&j,D[1]=j>>>8&255,g.check=l(g.check,D,2,0)),W=j=0,g.mode=5;case 5:if(1024&g.flags){for(;W<16;){if(Z===0)break e;Z--,j+=z[q++]<>>8&255,g.check=l(g.check,D,2,0)),W=j=0}else g.head&&(g.head.extra=null);g.mode=6;case 6:if(1024&g.flags&&(Z<(ae=g.length)&&(ae=Z),ae&&(g.head&&(m=g.head.extra_len-g.length,g.head.extra||(g.head.extra=new Array(g.head.extra_len)),a.arraySet(g.head.extra,z,q,ae,m)),512&g.flags&&(g.check=l(g.check,z,ae,q)),Z-=ae,q+=ae,g.length-=ae),g.length))break e;g.length=0,g.mode=7;case 7:if(2048&g.flags){if(Z===0)break e;for(ae=0;m=z[q+ae++],g.head&&m&&g.length<65536&&(g.head.name+=String.fromCharCode(m)),m&&ae>9&1,g.head.done=!0),k.adler=g.check=0,g.mode=12;break;case 10:for(;W<32;){if(Z===0)break e;Z--,j+=z[q++]<>>=7&W,W-=7&W,g.mode=27;break}for(;W<3;){if(Z===0)break e;Z--,j+=z[q++]<>>=1)){case 0:g.mode=14;break;case 1:if(G(g),g.mode=20,O!==6)break;j>>>=2,W-=2;break e;case 2:g.mode=17;break;case 3:k.msg="invalid block type",g.mode=30}j>>>=2,W-=2;break;case 14:for(j>>>=7&W,W-=7&W;W<32;){if(Z===0)break e;Z--,j+=z[q++]<>>16^65535)){k.msg="invalid stored block lengths",g.mode=30;break}if(g.length=65535&j,W=j=0,g.mode=15,O===6)break e;case 15:g.mode=16;case 16:if(ae=g.length){if(Z>>=5,W-=5,g.ndist=1+(31&j),j>>>=5,W-=5,g.ncode=4+(15&j),j>>>=4,W-=4,286>>=3,W-=3}for(;g.have<19;)g.lens[K[g.have++]]=0;if(g.lencode=g.lendyn,g.lenbits=7,N={bits:g.lenbits},B=s(0,g.lens,0,19,g.lencode,0,g.work,N),g.lenbits=N.bits,B){k.msg="invalid code lengths set",g.mode=30;break}g.have=0,g.mode=19;case 19:for(;g.have>>16&255,Me=65535&w,!((Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>>=Se,W-=Se,g.lens[g.have++]=Me;else{if(Me===16){for(C=Se+2;W>>=Se,W-=Se,g.have===0){k.msg="invalid bit length repeat",g.mode=30;break}m=g.lens[g.have-1],ae=3+(3&j),j>>>=2,W-=2}else if(Me===17){for(C=Se+3;W>>=Se)),j>>>=3,W-=3}else{for(C=Se+7;W>>=Se)),j>>>=7,W-=7}if(g.have+ae>g.nlen+g.ndist){k.msg="invalid bit length repeat",g.mode=30;break}for(;ae--;)g.lens[g.have++]=m}}if(g.mode===30)break;if(g.lens[256]===0){k.msg="invalid code -- missing end-of-block",g.mode=30;break}if(g.lenbits=9,N={bits:g.lenbits},B=s(u,g.lens,0,g.nlen,g.lencode,0,g.work,N),g.lenbits=N.bits,B){k.msg="invalid literal/lengths set",g.mode=30;break}if(g.distbits=6,g.distcode=g.distdyn,N={bits:g.distbits},B=s(d,g.lens,g.nlen,g.ndist,g.distcode,0,g.work,N),g.distbits=N.bits,B){k.msg="invalid distances set",g.mode=30;break}if(g.mode=20,O===6)break e;case 20:g.mode=21;case 21:if(6<=Z&&258<=de){k.next_out=oe,k.avail_out=de,k.next_in=q,k.avail_in=Z,g.hold=j,g.bits=W,c(k,le),oe=k.next_out,ne=k.output,de=k.avail_out,q=k.next_in,z=k.input,Z=k.avail_in,j=g.hold,W=g.bits,g.mode===12&&(g.back=-1);break}for(g.back=0;we=(w=g.lencode[j&(1<>>16&255,Me=65535&w,!((Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>be)])>>>16&255,Me=65535&w,!(be+(Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>>=be,W-=be,g.back+=be}if(j>>>=Se,W-=Se,g.back+=Se,g.length=Me,we===0){g.mode=26;break}if(32&we){g.back=-1,g.mode=12;break}if(64&we){k.msg="invalid literal/length code",g.mode=30;break}g.extra=15&we,g.mode=22;case 22:if(g.extra){for(C=g.extra;W>>=g.extra,W-=g.extra,g.back+=g.extra}g.was=g.length,g.mode=23;case 23:for(;we=(w=g.distcode[j&(1<>>16&255,Me=65535&w,!((Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>be)])>>>16&255,Me=65535&w,!(be+(Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>>=be,W-=be,g.back+=be}if(j>>>=Se,W-=Se,g.back+=Se,64&we){k.msg="invalid distance code",g.mode=30;break}g.offset=Me,g.extra=15&we,g.mode=24;case 24:if(g.extra){for(C=g.extra;W>>=g.extra,W-=g.extra,g.back+=g.extra}if(g.offset>g.dmax){k.msg="invalid distance too far back",g.mode=30;break}g.mode=25;case 25:if(de===0)break e;if(ae=le-de,g.offset>ae){if((ae=g.offset-ae)>g.whave&&g.sane){k.msg="invalid distance too far back",g.mode=30;break}ye=ae>g.wnext?(ae-=g.wnext,g.wsize-ae):g.wnext-ae,ae>g.length&&(ae=g.length),Le=g.window}else Le=ne,ye=oe-g.offset,ae=g.length;for(deE?(T=ye[Le+y[O]],W[fe+y[O]]):(T=96,0),b=1<>oe)+(x-=b)]=R<<24|T<<16|G|0,x!==0;);for(b=1<>=1;if(b!==0?(j&=b-1,j+=b):j=0,O++,--le[k]==0){if(k===z)break;k=d[p+y[O]]}if(ne>>7)]}function fe(w,D){w.pending_buf[w.pending++]=255&D,w.pending_buf[w.pending++]=D>>>8&255}function le(w,D,K){w.bi_valid>v-K?(w.bi_buf|=D<>v-w.bi_valid,w.bi_valid+=K-v):(w.bi_buf|=D<>>=1,K<<=1,0<--D;);return K>>>1}function Le(w,D,K){var Y,M,$=new Array(y+1),ie=0;for(Y=1;Y<=y;Y++)$[Y]=ie=ie+K[Y-1]<<1;for(M=0;M<=D;M++){var te=w[2*M+1];te!==0&&(w[2*M]=ye($[te]++,te))}}function Se(w){var D;for(D=0;D>1;1<=K;K--)be(w,$,K);for(M=he;K=w.heap[1],w.heap[1]=w.heap[w.heap_len--],be(w,$,1),Y=w.heap[1],w.heap[--w.heap_max]=K,w.heap[--w.heap_max]=Y,$[2*M]=$[2*K]+$[2*Y],w.depth[M]=(w.depth[K]>=w.depth[Y]?w.depth[K]:w.depth[Y])+1,$[2*K+1]=$[2*Y+1]=M,w.heap[1]=M++,be(w,$,1),2<=w.heap_len;);w.heap[--w.heap_max]=w.heap[1],(function(Pe,Ee){var Je,je,_,ce,me,Fe,ee=Ee.dyn_tree,ge=Ee.max_code,I=Ee.stat_desc.static_tree,ve=Ee.stat_desc.has_stree,Oe=Ee.stat_desc.extra_bits,S=Ee.stat_desc.extra_base,ue=Ee.stat_desc.max_length,pe=0;for(ce=0;ce<=y;ce++)Pe.bl_count[ce]=0;for(ee[2*Pe.heap[Pe.heap_max]+1]=0,Je=Pe.heap_max+1;Je>=7;M>>=1)if(1&Be&&te.dyn_ltree[2*he]!==0)return o;if(te.dyn_ltree[18]!==0||te.dyn_ltree[20]!==0||te.dyn_ltree[26]!==0)return l;for(he=32;he>>3,($=w.static_len+3+7>>>3)<=M&&(M=$)):M=$=K+5,K+4<=M&&D!==-1?C(w,D,K,Y):w.strategy===4||$===M?(le(w,2+(Y?1:0),3),tt(w,H,k)):(le(w,4+(Y?1:0),3),(function(te,he,Be,Pe){var Ee;for(le(te,he-257,5),le(te,Be-1,5),le(te,Pe-4,4),Ee=0;Ee>>8&255,w.pending_buf[w.d_buf+2*w.last_lit+1]=255&D,w.pending_buf[w.l_buf+w.last_lit]=255&K,w.last_lit++,D===0?w.dyn_ltree[2*K]++:(w.matches++,D--,w.dyn_ltree[2*(g[K]+d+1)]++,w.dyn_dtree[2*W(D)]++),w.last_lit===w.lit_bufsize-1},i._tr_align=function(w){le(w,2,3),ae(w,x,H),(function(D){D.bi_valid===16?(fe(D,D.bi_buf),D.bi_buf=0,D.bi_valid=0):8<=D.bi_valid&&(D.pending_buf[D.pending++]=255&D.bi_buf,D.bi_buf>>=8,D.bi_valid-=8)})(w)}},{"../utils/common":41}],53:[function(t,n,i){"use strict";n.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,n,i){(function(a){(function(o,l){"use strict";if(!o.setImmediate){var c,s,u,d,p=1,f={},h=!1,A=o.document,y=Object.getPrototypeOf&&Object.getPrototypeOf(o);y=y&&y.setTimeout?y:o,c={}.toString.call(o.process)==="[object process]"?function(P){process.nextTick(function(){b(P)})}:(function(){if(o.postMessage&&!o.importScripts){var P=!0,F=o.onmessage;return o.onmessage=function(){P=!1},o.postMessage("","*"),o.onmessage=F,P}})()?(d="setImmediate$"+Math.random()+"$",o.addEventListener?o.addEventListener("message",x,!1):o.attachEvent("onmessage",x),function(P){o.postMessage(d+P,"*")}):o.MessageChannel?((u=new MessageChannel).port1.onmessage=function(P){b(P.data)},function(P){u.port2.postMessage(P)}):A&&"onreadystatechange"in A.createElement("script")?(s=A.documentElement,function(P){var F=A.createElement("script");F.onreadystatechange=function(){b(P),F.onreadystatechange=null,s.removeChild(F),F=null},s.appendChild(F)}):function(P){setTimeout(b,0,P)},y.setImmediate=function(P){typeof P!="function"&&(P=new Function(""+P));for(var F=new Array(arguments.length-1),L=0;L"u"?a===void 0?this:a:self)}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})}}),Uu=Lt({"(disabled):node:fs"(){}}),xp=Lt({"(disabled):node:https"(){}}),zs=function(e,r){return zs=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var i in n)n.hasOwnProperty(i)&&(t[i]=n[i])},zs(e,r)};function De(e,r){zs(e,r);function t(){this.constructor=e}e.prototype=r===null?Object.create(r):(t.prototype=r.prototype,new t)}var $e=function(){return $e=Object.assign||function(r){for(var t,n=1,i=arguments.length;n0&&a[a.length-1])&&(s[0]===6||s[0]===2)){t=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]>2],r+=ii[(e[n]&3)<<4|e[n+1]>>4],r+=ii[(e[n+1]&15)<<2|e[n+2]>>6],r+=ii[e[n+2]&63];return t%3===2?r=r.substring(0,r.length-1)+"=":t%3===1&&(r=r.substring(0,r.length-2)+"=="),r},Hc=function(e){var r=e.length*.75,t=e.length,n,i=0,a,o,l,c;e[e.length-1]==="="&&(r--,e[e.length-2]==="="&&r--);var s=new Uint8Array(r);for(n=0;n>4,s[i++]=(o&15)<<4|l>>2,s[i++]=(l&3)<<6|c&63;return s},Cp=/^(data)?:?([\w\/\+]+)?;?(charset=[\w-]+|base64)?.*,/i,Pp=function(e){var r=e.trim(),t=r.substring(0,100),n=t.match(Cp);if(!n)return Hc(r);var i=n[0],a=r.substring(i.length);return Hc(a)},Ye=function(e){return e.charCodeAt(0)},Fp=function(e){return e.codePointAt(0)},aa=function(e,r){return Er(e.toString(16),r,"0").toUpperCase()},ko=function(e){return aa(e,2)},Xr=function(e){return String.fromCharCode(e)},Tp=function(e){return Xr(parseInt(e,16))},Er=function(e,r,t){for(var n="",i=0,a=r-e.length;i=55296&&t<=56319&&e.length>i&&(n=e.charCodeAt(i),n>=56320&&n<=57343&&(a=2)),[e.slice(r,r+a),a]},Bp=function(e){for(var r=[],t=0,n=e.length;tt&&s(),o+=p,l+=f}}return s(),c},Np=/^D:(\d\d\d\d)(\d\d)?(\d\d)?(\d\d)?(\d\d)?(\d\d)?([+\-Z])?(\d\d)?'?(\d\d)?'?$/,Vu=function(e){var r=e.match(Np);if(r){var t=r[1],n=r[2],i=n===void 0?"01":n,a=r[3],o=a===void 0?"01":a,l=r[4],c=l===void 0?"00":l,s=r[5],u=s===void 0?"00":s,d=r[6],p=d===void 0?"00":d,f=r[7],h=f===void 0?"Z":f,A=r[8],y=A===void 0?"00":A,v=r[9],b=v===void 0?"00":v,x=h==="Z"?"Z":""+h+y+":"+b,P=new Date(t+"-"+i+"-"+o+"T"+c+":"+u+":"+p+x);return P}},al=function(e,r){for(var t,n=0,i;n=0&&e<=65535},Vp=function(e){return e>=65536&&e<=1114111},Hu=function(e){return Math.floor((e-65536)/1024)+55296},Ku=function(e){return(e-65536)%1024+56320},mn;(function(e){e.BigEndian="BigEndian",e.LittleEndian="LittleEndian"})(mn||(mn={}));var Li="\uFFFD".codePointAt(0),Qu=function(e,r){if(r===void 0&&(r=!0),e.length<=1)return String.fromCodePoint(Li);for(var t=r?Hp(e):mn.BigEndian,n=r?2:0,i=[];e.length-n>=2;){var a=Qc(e[n++],e[n++],t);if(Xp(a))if(e.length-n<2)i.push(Li);else{var o=Qc(e[n++],e[n++],t);Kc(o)?i.push(a,o):i.push(Li)}else Kc(a)?(n+=2,i.push(Li)):i.push(a)}return n=55296&&e<=56319},Kc=function(e){return e>=56320&&e<=57343},Qc=function(e,r,t){if(t===mn.LittleEndian)return r<<8|e;if(t===mn.BigEndian)return e<<8|r;throw new Error("Invalid byteOrder: "+t)},Hp=function(e){return Zu(e)?mn.BigEndian:Yu(e)?mn.LittleEndian:mn.BigEndian},Zu=function(e){return e[0]===254&&e[1]===255},Yu=function(e){return e[0]===255&&e[1]===254},Ju=function(e){return Zu(e)||Yu(e)},Kp=function(e){var r=String(e);if(Math.abs(e)<1){var t=parseInt(e.toString().split("e-")[1]);if(t){var n=e<0;n&&(e*=-1),e*=Math.pow(10,t-1),r="0."+new Array(t).join("0")+e.toString().substring(2),n&&(r="-"+r)}}else{var t=parseInt(e.toString().split("+")[1]);t>20&&(t-=20,e/=Math.pow(10,t),r=e.toString()+new Array(t+1).join("0"))}return r},Ya=function(e){return Math.ceil(e.toString(2).length/8)},Jn=function(e){for(var r=new Uint8Array(Ya(e)),t=1;t<=r.length;t++)r[t-1]=e>>(r.length-t)*8;return r},sa=function(e){throw new Error(e)},Qp=Qr(So()),Zc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",_i=new Uint8Array(256);for(Br=0;Br>4,s[i++]=(o&15)<<4|l>>2,s[i++]=(l&3)<<6|c&63;return s},Yp=function(e){for(var r="",t=0;tn)throw new Error(It(r)+" must be at least "+t+" and at most "+n+", but was actually "+e)},Tr=function(e,r,t,n){se(e,r,["number","undefined"]),typeof e=="number"&&dr(e,r,t,n)},td=function(e,r,t){if(se(e,r,["number"]),e%t!==0)throw new Error(It(r)+" must be a multiple of "+t+", but was actually "+e)},kA=function(e,r){if(!Number.isInteger(e))throw new Error(It(r)+" must be an integer, but was actually "+e)},Po=function(e,r){if(![1,0].includes(Math.sign(e)))throw new Error(It(r)+" must be a positive number or 0, but was actually "+e)},et=new Uint16Array(256);for(Mt=0;Mt<256;Mt++)et[Mt]=Mt;var Mt;et[22]=Ye("");et[24]=Ye("\u02D8");et[25]=Ye("\u02C7");et[26]=Ye("\u02C6");et[27]=Ye("\u02D9");et[28]=Ye("\u02DD");et[29]=Ye("\u02DB");et[30]=Ye("\u02DA");et[31]=Ye("\u02DC");et[127]=Ye("\uFFFD");et[128]=Ye("\u2022");et[129]=Ye("\u2020");et[130]=Ye("\u2021");et[131]=Ye("\u2026");et[132]=Ye("\u2014");et[133]=Ye("\u2013");et[134]=Ye("\u0192");et[135]=Ye("\u2044");et[136]=Ye("\u2039");et[137]=Ye("\u203A");et[138]=Ye("\u2212");et[139]=Ye("\u2030");et[140]=Ye("\u201E");et[141]=Ye("\u201C");et[142]=Ye("\u201D");et[143]=Ye("\u2018");et[144]=Ye("\u2019");et[145]=Ye("\u201A");et[146]=Ye("\u2122");et[147]=Ye("\uFB01");et[148]=Ye("\uFB02");et[149]=Ye("\u0141");et[150]=Ye("\u0152");et[151]=Ye("\u0160");et[152]=Ye("\u0178");et[153]=Ye("\u017D");et[154]=Ye("\u0131");et[155]=Ye("\u0142");et[156]=Ye("\u0153");et[157]=Ye("\u0161");et[158]=Ye("\u017E");et[159]=Ye("\uFFFD");et[160]=Ye("\u20AC");et[173]=Ye("\uFFFD");var rd=function(e){for(var r=new Array(e.length),t=0,n=e.length;t=Q.ExclamationPoint&&e<=Q.Tilde&&!cl[e]},nu={},iu=new Map,ZA=(function(e){De(r,e);function r(t,n){var i=this;if(t!==nu)throw new ol("PDFName");i=e.call(this)||this;for(var a="/",o=0,l=n.length;o=Q.Zero&&s<=Q.Nine||s>=Q.a&&s<=Q.f||s>=Q.A&&s<=Q.F?(n+=c,(n.length===2||!(u>="0"&&u<="9"||u>="a"&&u<="f"||u>="A"&&u<="F"))&&(a(parseInt(n,16)),n="")):a(s):s===Q.Hash?i=!0:a(s)}return new Uint8Array(t)},r.prototype.decodeText=function(){var t=this.asBytes();return String.fromCharCode.apply(String,Array.from(t))},r.prototype.asString=function(){return this.encodedName},r.prototype.value=function(){return this.encodedName},r.prototype.clone=function(){return this},r.prototype.toString=function(){return this.encodedName},r.prototype.sizeInBytes=function(){return this.encodedName.length},r.prototype.copyBytesInto=function(t,n){return n+=Vt(this.encodedName,t,n),this.encodedName.length},r.of=function(t){var n=KA(t),i=iu.get(n);return i||(i=new r(nu,n),iu.set(n,i)),i},r.Length=r.of("Length"),r.FlateDecode=r.of("FlateDecode"),r.Resources=r.of("Resources"),r.Font=r.of("Font"),r.XObject=r.of("XObject"),r.ExtGState=r.of("ExtGState"),r.Contents=r.of("Contents"),r.Type=r.of("Type"),r.Parent=r.of("Parent"),r.MediaBox=r.of("MediaBox"),r.Page=r.of("Page"),r.Annots=r.of("Annots"),r.TrimBox=r.of("TrimBox"),r.ArtBox=r.of("ArtBox"),r.BleedBox=r.of("BleedBox"),r.CropBox=r.of("CropBox"),r.Rotate=r.of("Rotate"),r.Title=r.of("Title"),r.Author=r.of("Author"),r.Subject=r.of("Subject"),r.Creator=r.of("Creator"),r.Keywords=r.of("Keywords"),r.Producer=r.of("Producer"),r.CreationDate=r.of("CreationDate"),r.ModDate=r.of("ModDate"),r})($t),V=ZA,YA=(function(e){De(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.prototype.asNull=function(){return null},r.prototype.clone=function(){return this},r.prototype.toString=function(){return"null"},r.prototype.sizeInBytes=function(){return 4},r.prototype.copyBytesInto=function(t,n){return t[n++]=Q.n,t[n++]=Q.u,t[n++]=Q.l,t[n++]=Q.l,4},r})($t),rr=new YA,JA=(function(e){De(r,e);function r(t,n){var i=e.call(this)||this;return i.dict=t,i.context=n,i}return r.prototype.keys=function(){return Array.from(this.dict.keys())},r.prototype.values=function(){return Array.from(this.dict.values())},r.prototype.entries=function(){return Array.from(this.dict.entries())},r.prototype.set=function(t,n){this.dict.set(t,n)},r.prototype.get=function(t,n){n===void 0&&(n=!1);var i=this.dict.get(t);if(!(i===rr&&!n))return i},r.prototype.has=function(t){var n=this.dict.get(t);return n!==void 0&&n!==rr},r.prototype.lookupMaybe=function(t){for(var n,i=[],a=1;athis.largestObjectNumber&&(this.largestObjectNumber=r.objectNumber)},e.prototype.nextRef=function(){return this.largestObjectNumber+=1,xt.of(this.largestObjectNumber)},e.prototype.register=function(r){var t=this.nextRef();return this.assign(t,r),t},e.prototype.delete=function(r){return this.indirectObjects.delete(r)},e.prototype.lookupMaybe=function(r){for(var t=[],n=1;nthis.largestObjectNumber&&(this.largestObjectNumber=r.objectNumber)},e.prototype.nextRef=function(){return this.largestObjectNumber+=1,xt.of(this.largestObjectNumber)},e.prototype.register=function(r){var t=this.nextRef();return this.assign(t,r),t},e.prototype.delete=function(r){return this.indirectObjects.delete(r)},e.prototype.lookupMaybe=function(r){for(var t=[],n=1;n1?(this.subsections.push([r]),this.chunkIdx+=1,this.chunkLength=1):(t.push(r),this.chunkLength+=1)},e.create=function(){return new e({ref:xt.of(0,65535),offset:0,deleted:!0})},e.createEmpty=function(){return new e},e})(),id=ug,dg=(function(){function e(r){this.lastXRefOffset=String(r)}return e.prototype.toString=function(){return`startxref +`;for(var a=0,o=i.length;a1?(this.subsections.push([r]),this.chunkIdx+=1,this.chunkLength=1):(t.push(r),this.chunkLength+=1)},e.create=function(){return new e({ref:xt.of(0,65535),offset:0,deleted:!0})},e.createEmpty=function(){return new e},e})(),id=dg,fg=(function(){function e(r){this.lastXRefOffset=String(r)}return e.prototype.toString=function(){return`startxref `+this.lastXRefOffset+` -%%EOF`},e.prototype.sizeInBytes=function(){return 16+this.lastXRefOffset.length},e.prototype.copyBytesInto=function(r,t){var n=t;return r[t++]=Q.s,r[t++]=Q.t,r[t++]=Q.a,r[t++]=Q.r,r[t++]=Q.t,r[t++]=Q.x,r[t++]=Q.r,r[t++]=Q.e,r[t++]=Q.f,r[t++]=Q.Newline,t+=Vt(this.lastXRefOffset,r,t),r[t++]=Q.Newline,r[t++]=Q.Percent,r[t++]=Q.Percent,r[t++]=Q.E,r[t++]=Q.O,r[t++]=Q.F,t-n},e.forLastCrossRefSectionOffset=function(r){return new e(r)},e})(),dl=dg,fg=(function(){function e(r){this.dict=r}return e.prototype.toString=function(){return`trailer -`+this.dict.toString()},e.prototype.sizeInBytes=function(){return 8+this.dict.sizeInBytes()},e.prototype.copyBytesInto=function(r,t){var n=t;return r[t++]=Q.t,r[t++]=Q.r,r[t++]=Q.a,r[t++]=Q.i,r[t++]=Q.l,r[t++]=Q.e,r[t++]=Q.r,r[t++]=Q.Newline,t+=this.dict.copyBytesInto(r,t),t-n},e.of=function(r){return new e(r)},e})(),hg=fg,pg=(function(e){Te(r,e);function r(t,n,i){i===void 0&&(i=!0);var a=e.call(this,t.obj({}),i)||this;return a.objects=n,a.offsets=a.computeObjectOffsets(),a.offsetsString=a.computeOffsetsString(),a.dict.set(V.of("Type"),V.of("ObjStm")),a.dict.set(V.of("N"),Qe.of(a.objects.length)),a.dict.set(V.of("First"),Qe.of(a.offsetsString.length)),a}return r.prototype.getObjectsCount=function(){return this.objects.length},r.prototype.clone=function(t){return r.withContextAndObjects(t||this.dict.context,this.objects.slice(),this.encode)},r.prototype.getContentsString=function(){for(var t=this.offsetsString,n=0,i=this.objects.length;n1&&(o.push(l),o.push(u.ref.objectNumber),l=0),l+=1}return o.push(l),o},a.computeEntryTuples=function(){for(var o=new Array(a.entries.length),l=0,c=a.entries.length;ll[0]&&(l[0]=p),g>l[1]&&(l[1]=g),y>l[2]&&(l[2]=y)}return l},a.entries=n||[],a.entryTuplesCache=Hr.populatedBy(a.computeEntryTuples),a.maxByteWidthsCache=Hr.populatedBy(a.computeMaxEntryByteWidths),a.indexCache=Hr.populatedBy(a.computeIndex),t.set(V.of("Type"),V.of("XRef")),a}return r.prototype.addDeletedEntry=function(t,n){var i=fn.Deleted;this.entries.push({type:i,ref:t,nextFreeObjectNumber:n}),this.entryTuplesCache.invalidate(),this.maxByteWidthsCache.invalidate(),this.indexCache.invalidate(),this.contentsCache.invalidate()},r.prototype.addUncompressedEntry=function(t,n){var i=fn.Uncompressed;this.entries.push({type:i,ref:t,offset:n}),this.entryTuplesCache.invalidate(),this.maxByteWidthsCache.invalidate(),this.indexCache.invalidate(),this.contentsCache.invalidate()},r.prototype.addCompressedEntry=function(t,n,i){var a=fn.Compressed;this.entries.push({type:a,ref:t,objectStreamRef:n,index:i}),this.entryTuplesCache.invalidate(),this.maxByteWidthsCache.invalidate(),this.indexCache.invalidate(),this.contentsCache.invalidate()},r.prototype.clone=function(t){var n=this,i=n.dict,a=n.entries,o=n.encode;return r.of(i.clone(t),a.slice(),o)},r.prototype.getContentsString=function(){for(var t=this.entryTuplesCache.access(),n=this.maxByteWidthsCache.access(),i="",a=0,o=t.length;a=0;p--)i+=(d[p]||0).toString(2);for(var p=n[1]-1;p>=0;p--)i+=(A[p]||0).toString(2);for(var p=n[2]-1;p>=0;p--)i+=(f[p]||0).toString(2)}return i},r.prototype.getUnencodedContents=function(){for(var t=this.entryTuplesCache.access(),n=this.maxByteWidthsCache.access(),i=new Uint8Array(this.getUnencodedContentsSize()),a=0,o=0,l=t.length;o=0;g--)i[a++]=A[g]||0;for(var g=n[1]-1;g>=0;g--)i[a++]=f[g]||0;for(var g=n[2]-1;g>=0;g--)i[a++]=p[g]||0}return i},r.prototype.getUnencodedContentsSize=function(){var t=this.maxByteWidthsCache.access(),n=Op(t);return n*this.entries.length},r.prototype.updateDict=function(){e.prototype.updateDict.call(this);var t=this.maxByteWidthsCache.access(),n=this.indexCache.access(),i=this.dict.context;this.dict.set(V.of("W"),i.obj(t)),this.dict.set(V.of("Index"),i.obj(n))},r.create=function(t,n){n===void 0&&(n=!0);var i=new r(t,[],n);return i.addDeletedEntry(xt.of(0,65535),0),i},r.of=function(t,n,i){return i===void 0&&(i=!0),new r(t,n,i)},r})(ul),vg=mg,yg=(function(e){Te(r,e);function r(t,n,i,a){var o=e.call(this,t,n)||this;return o.encodeStreams=i,o.objectsPerStream=a,o}return r.prototype.computeBufferSize=function(){return it(this,void 0,void 0,function(){var t,n,i,a,o,l,c,s,p,g,u,v,d,A,y,f,p,g,y,v,b,x,P,F;return at(this,function(R){switch(R.label){case 0:t=this.context.largestObjectNumber+1,n=Fo.forVersion(1,7),i=n.sizeInBytes()+2,a=vg.create(this.createTrailerDict(),this.encodeStreams),o=[],l=[],c=[],s=this.context.enumerateIndirectObjects(),p=0,g=s.length,R.label=1;case 1:return p"},r.prototype.sizeInBytes=function(){return this.value.length+2},r.prototype.copyBytesInto=function(t,n){return t[n++]=Q.LessThan,n+=Vt(this.value,t,n),t[n++]=Q.GreaterThan,this.value.length+2},r.of=function(t){return new r(t)},r.fromText=function(t){for(var n=Gp(t),i="",a=0,o=n.length;a1&&(o.push(l),o.push(u.ref.objectNumber),l=0),l+=1}return o.push(l),o},a.computeEntryTuples=function(){for(var o=new Array(a.entries.length),l=0,c=a.entries.length;ll[0]&&(l[0]=h),A>l[1]&&(l[1]=A),y>l[2]&&(l[2]=y)}return l},a.entries=n||[],a.entryTuplesCache=Hr.populatedBy(a.computeEntryTuples),a.maxByteWidthsCache=Hr.populatedBy(a.computeMaxEntryByteWidths),a.indexCache=Hr.populatedBy(a.computeIndex),t.set(V.of("Type"),V.of("XRef")),a}return r.prototype.addDeletedEntry=function(t,n){var i=fn.Deleted;this.entries.push({type:i,ref:t,nextFreeObjectNumber:n}),this.entryTuplesCache.invalidate(),this.maxByteWidthsCache.invalidate(),this.indexCache.invalidate(),this.contentsCache.invalidate()},r.prototype.addUncompressedEntry=function(t,n){var i=fn.Uncompressed;this.entries.push({type:i,ref:t,offset:n}),this.entryTuplesCache.invalidate(),this.maxByteWidthsCache.invalidate(),this.indexCache.invalidate(),this.contentsCache.invalidate()},r.prototype.addCompressedEntry=function(t,n,i){var a=fn.Compressed;this.entries.push({type:a,ref:t,objectStreamRef:n,index:i}),this.entryTuplesCache.invalidate(),this.maxByteWidthsCache.invalidate(),this.indexCache.invalidate(),this.contentsCache.invalidate()},r.prototype.clone=function(t){var n=this,i=n.dict,a=n.entries,o=n.encode;return r.of(i.clone(t),a.slice(),o)},r.prototype.getContentsString=function(){for(var t=this.entryTuplesCache.access(),n=this.maxByteWidthsCache.access(),i="",a=0,o=t.length;a=0;h--)i+=(d[h]||0).toString(2);for(var h=n[1]-1;h>=0;h--)i+=(p[h]||0).toString(2);for(var h=n[2]-1;h>=0;h--)i+=(f[h]||0).toString(2)}return i},r.prototype.getUnencodedContents=function(){for(var t=this.entryTuplesCache.access(),n=this.maxByteWidthsCache.access(),i=new Uint8Array(this.getUnencodedContentsSize()),a=0,o=0,l=t.length;o=0;A--)i[a++]=p[A]||0;for(var A=n[1]-1;A>=0;A--)i[a++]=f[A]||0;for(var A=n[2]-1;A>=0;A--)i[a++]=h[A]||0}return i},r.prototype.getUnencodedContentsSize=function(){var t=this.maxByteWidthsCache.access(),n=_p(t);return n*this.entries.length},r.prototype.updateDict=function(){e.prototype.updateDict.call(this);var t=this.maxByteWidthsCache.access(),n=this.indexCache.access(),i=this.dict.context;this.dict.set(V.of("W"),i.obj(t)),this.dict.set(V.of("Index"),i.obj(n))},r.create=function(t,n){n===void 0&&(n=!0);var i=new r(t,[],n);return i.addDeletedEntry(xt.of(0,65535),0),i},r.of=function(t,n,i){return i===void 0&&(i=!0),new r(t,n,i)},r})(ul),yg=vg,bg=(function(e){De(r,e);function r(t,n,i,a){var o=e.call(this,t,n)||this;return o.encodeStreams=i,o.objectsPerStream=a,o}return r.prototype.computeBufferSize=function(){return it(this,void 0,void 0,function(){var t,n,i,a,o,l,c,s,h,A,u,v,d,p,y,f,h,A,y,v,b,x,P,F;return at(this,function(L){switch(L.label){case 0:t=this.context.largestObjectNumber+1,n=Fo.forVersion(1,7),i=n.sizeInBytes()+2,a=yg.create(this.createTrailerDict(),this.encodeStreams),o=[],l=[],c=[],s=this.context.enumerateIndirectObjects(),h=0,A=s.length,L.label=1;case 1:return h"},r.prototype.sizeInBytes=function(){return this.value.length+2},r.prototype.copyBytesInto=function(t,n){return t[n++]=Q.LessThan,n+=Vt(this.value,t,n),t[n++]=Q.GreaterThan,this.value.length+2},r.of=function(t){return new r(t)},r.fromText=function(t){for(var n=jp(t),i="",a=0,o=n.length;a"},Ja=function(e){return aa(e,4)},Cg=function(e){if(jp(e))return Ja(e);if(qp(e)){var r=Hu(e),t=Ku(e);return""+Ja(r)+Ja(t)}var n=ko(e),i="0x"+n+" is not a valid UTF-8 or UTF-16 codepoint.";throw new Error(i)},Pg=function(e){var r=0,t=function(n){r|=1<=Q.Zero&&s<=Q.Seven?(n+=c,(n.length===3||!(u>="0"&&u<="7"))&&(a(parseInt(n,8)),n="")):a(s):s===Q.BackSlash?i=!0:a(s)}return new Uint8Array(t)},r.prototype.decodeText=function(){var t=this.asBytes();return Ju(t)?Qu(t):rd(t)},r.prototype.decodeDate=function(){var t=this.decodeText(),n=Vu(t);if(!n)throw new nd(t);return n},r.prototype.asString=function(){return this.value},r.prototype.clone=function(){return r.of(this.value)},r.prototype.toString=function(){return"("+this.value+")"},r.prototype.sizeInBytes=function(){return this.value.length+2},r.prototype.copyBytesInto=function(t,n){return t[n++]=Q.LeftParen,n+=Vt(this.value,t,n),t[n++]=Q.RightParen,this.value.length+2},r.of=function(t){return new r(t)},r.fromDate=function(t){var n=Er(String(t.getUTCFullYear()),4,"0"),i=Er(String(t.getUTCMonth()+1),2,"0"),a=Er(String(t.getUTCDate()),2,"0"),o=Er(String(t.getUTCHours()),2,"0"),l=Er(String(t.getUTCMinutes()),2,"0"),c=Er(String(t.getUTCSeconds()),2,"0");return new r("D:"+n+i+a+o+l+c+"Z")},r})($t),wt=Tg,Dg=(function(){function e(r,t,n,i){var a=this;this.allGlyphsInFontSortedById=function(){for(var o=new Array(a.font.characterSet.length),l=0,c=o.length;l>3)]>>7-((p&7)<<0)&1,C=3*H;l[P]=F[C],l[P+1]=F[C+1],l[P+2]=F[C+2],l[P+3]=H>2)]>>6-((p&3)<<1)&3,C=3*H;l[P]=F[C],l[P+1]=F[C+1],l[P+2]=F[C+2],l[P+3]=H>1)]>>4-((p&1)<<2)&15,C=3*H;l[P]=F[C],l[P+1]=F[C+1],l[P+2]=F[C+2],l[P+3]=H>>3)]>>>7-(q&7)&1),se=m==v*255?0:255;c[ne+q]=se<<24|m<<16|m<<8|m}else if(u==2)for(var q=0;q>>2)]>>>6-((q&3)<<1)&3),se=m==v*85?0:255;c[ne+q]=se<<24|m<<16|m<<8|m}else if(u==4)for(var q=0;q>>1)]>>>4-((q&1)<<2)&15),se=m==v*17?0:255;c[ne+q]=se<<24|m<<16|m<<8|m}else if(u==8)for(var q=0;q>>2<<3));i==0;){if(i=y(r,A,1),a=y(r,A+1,2),A+=3,a==0){(A&7)!=0&&(A+=8-(A&7));var B=(A>>>3)+4,T=r[B-4]|r[B-3]<<8;E&&(t=e.H.W(t,d+T)),t.set(new n(r.buffer,r.byteOffset+B,T),d),A=B+T<<3,d+=T;continue}if(E&&(t=e.H.W(t,d+(1<<17))),a==1&&(f=R.J,p=R.h,s=511,u=31),a==2){o=v(r,A,5)+257,l=v(r,A+5,5)+1,c=v(r,A+10,4)+4,A+=14;for(var W=A,H=1,C=0;C<38;C+=2)R.Q[C]=0,R.Q[C+1]=0;for(var C=0;CH&&(H=I)}A+=3*c,x(R.Q,H),P(R.Q,H,R.u),f=R.w,p=R.d,A=b(R.u,(1<>>4;if(!(q>>>8))t[d++]=q;else{if(q==256)break;var se=d+q-254;if(q>264){var Z=R.q[q-257];se=d+(Z>>>3)+v(r,A,Z&7),A+=Z&7}var ue=p[F(r,A)&u];A+=ue&15;var j=ue>>>4,_=R.c[j],fe=(_>>>4)+y(r,A,_&15);for(A+=_&15;d>>4;if(d<=15)o[s]=d,s++;else{var A=0,f=0;d==16?(f=3+l(i,a,2),a+=2,A=o[s-1]):d==17?(f=3+l(i,a,3),a+=3):d==18&&(f=11+l(i,a,7),a+=7);for(var p=s+f;s>>1;oa&&(a=c),o++}for(;o>1,s=r[l+1],u=c<<4|s,d=t-s,A=r[l]<>>15-t;n[p]=u,A++}},e.H.l=function(r,t){for(var n=e.H.m.r,i=15-t,a=0;a>>i}},e.H.M=function(r,t,n){n=n<<(t&7);var i=t>>>3;r[i]|=n,r[i+1]|=n>>>8},e.H.I=function(r,t,n){n=n<<(t&7);var i=t>>>3;r[i]|=n,r[i+1]|=n>>>8,r[i+2]|=n>>>16},e.H.e=function(r,t,n){return(r[t>>>3]|r[(t>>>3)+1]<<8)>>>(t&7)&(1<>>3]|r[(t>>>3)+1]<<8|r[(t>>>3)+2]<<16)>>>(t&7)&(1<>>3]|r[(t>>>3)+1]<<8|r[(t>>>3)+2]<<16)>>>(t&7)},e.H.i=function(r,t){return(r[t>>>3]|r[(t>>>3)+1]<<8|r[(t>>>3)+2]<<16|r[(t>>>3)+3]<<24)>>>(t&7)},e.H.m=(function(){var r=Uint16Array,t=Uint32Array;return{K:new r(16),j:new r(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],T:[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],q:new r(32),p:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],z:[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],c:new t(32),J:new r(512),_:[],h:new r(32),$:[],w:new r(32768),C:[],v:[],d:new r(32768),D:[],u:new r(512),Q:[],r:new r(32768),s:new t(286),Y:new t(30),a:new t(19),t:new t(15e3),k:new r(65536),g:new r(32768)}})(),(function(){for(var r=e.H.m,t=32768,n=0;n>>1|(i&1431655765)<<1,i=(i&3435973836)>>>2|(i&858993459)<<2,i=(i&4042322160)>>>4|(i&252645135)<<4,i=(i&4278255360)>>>8|(i&16711935)<<8,r.r[n]=(i>>>16|i<<16)>>>17}function a(o,l,c){for(;l--!=0;)o.push(0,c)}for(var n=0;n<32;n++)r.q[n]=r.S[n]<<3|r.T[n],r.c[n]=r.p[n]<<4|r.z[n];a(r._,144,8),a(r._,112,9),a(r._,24,7),a(r._,8,8),e.H.n(r._,9),e.H.A(r._,9,r.J),e.H.l(r._,9),a(r.$,32,5),e.H.n(r.$,5),e.H.A(r.$,5,r.h),e.H.l(r.$,5),a(r.Q,19,0),a(r.C,286,0),a(r.D,30,0),a(r.v,320,0)})(),e.H.N})();Se.decode._readInterlace=function(e,r){for(var t=r.width,n=r.height,i=Se.decode._getBPP(r),a=i>>3,o=Math.ceil(t*i/8),l=new Uint8Array(n*o),c=0,s=[0,0,4,0,2,0,1],u=[0,4,0,2,0,1,0],d=[8,8,8,4,4,2,2],A=[8,8,4,4,2,2,1],f=0;f<7;){for(var p=d[f],g=A[f],y=0,v=0,b=s[f];b>3];T=T>>7-(B&7)&1,l[R*o+(E>>3)]|=T<<7-((E&7)<<0)}if(i==2){var T=e[B>>3];T=T>>6-(B&7)&3,l[R*o+(E>>2)]|=T<<6-((E&3)<<1)}if(i==4){var T=e[B>>3];T=T>>4-(B&7)&15,l[R*o+(E>>1)]|=T<<4-((E&1)<<2)}if(i>=8)for(var W=R*o+E*a,H=0;H>3)+H];B+=i,E+=g}F++,R+=p}y*v!=0&&(c+=v*(1+P)),f=f+1}return l};Se.decode._getBPP=function(e){var r=[1,null,3,1,2,null,4][e.ctype];return r*e.depth};Se.decode._filterZero=function(e,r,t,n,i){var a=Se.decode._getBPP(r),o=Math.ceil(n*a/8),l=Se.decode._paeth;a=Math.ceil(a/8);var c=0,s=1,u=e[t],d=0;if(u>1&&(e[t]=[0,0,1][u-2]),u==3)for(d=a;d>>1)&255;for(var A=0;A>>1);for(;d>>1)}else{for(;d>8&255,e[r+1]=t&255},readUint:function(e,r){return e[r]*(256*256*256)+(e[r+1]<<16|e[r+2]<<8|e[r+3])},writeUint:function(e,r,t){e[r]=t>>24&255,e[r+1]=t>>16&255,e[r+2]=t>>8&255,e[r+3]=t&255},readASCII:function(e,r,t){for(var n="",i=0;i=0&&l>=0?(d=f*r+p<<2,A=(l+f)*i+o+p<<2):(d=(-l+f)*r-o+p<<2,A=f*i+p<<2),c==0)n[A]=e[d],n[A+1]=e[d+1],n[A+2]=e[d+2],n[A+3]=e[d+3];else if(c==1){var g=e[d+3]*.00392156862745098,y=e[d]*g,v=e[d+1]*g,b=e[d+2]*g,x=n[A+3]*(1/255),P=n[A]*x,F=n[A+1]*x,R=n[A+2]*x,E=1-g,B=g+x*E,T=B==0?0:1/B;n[A+3]=255*B,n[A+0]=(y+P*E)*T,n[A+1]=(v+F*E)*T,n[A+2]=(b+R*E)*T}else if(c==2){var g=e[d+3],y=e[d],v=e[d+1],b=e[d+2],x=n[A+3],P=n[A],F=n[A+1],R=n[A+2];g==x&&y==P&&v==F&&b==R?(n[A]=0,n[A+1]=0,n[A+2]=0,n[A+3]=0):(n[A]=y,n[A+1]=v,n[A+2]=b,n[A+3]=g)}else if(c==3){var g=e[d+3],y=e[d],v=e[d+1],b=e[d+2],x=n[A+3],P=n[A],F=n[A+1],R=n[A+2];if(g==x&&y==P&&v==F&&b==R)continue;if(g<220&&x>20)return!1}return!0};Se.encode=function(e,r,t,n,i,a,o){n==null&&(n=0),o==null&&(o=!1);var l=Se.encode.compress(e,r,t,n,[!1,!1,!1,0,o]);return Se.encode.compressPNG(l,-1),Se.encode._main(l,r,t,i,a)};Se.encodeLL=function(e,r,t,n,i,a,o,l){for(var c={ctype:0+(n==1?0:2)+(i==0?0:4),depth:a,frames:[]},s=Date.now(),u=(n+i)*a,d=u*r,A=0;A1,d=!1,A=33+(u?20:0);if(i.sRGB!=null&&(A+=13),i.pHYs!=null&&(A+=21),e.ctype==3){for(var f=e.plte.length,p=0;p>>24!=255&&(d=!0);A+=8+f*3+4+(d?8+f*1+4:0)}for(var g=0;g>>8&255,E=P>>>16&255;v[s+x+0]=F,v[s+x+1]=R,v[s+x+2]=E}if(s+=f*3,o(v,s,a(v,s-f*3-4,f*3+4)),s+=4,d){o(v,s,f),s+=4,c(v,s,"tRNS"),s+=4;for(var p=0;p>>24&255;s+=f,o(v,s,a(v,s-f-4,f+4)),s+=4}}for(var B=0,g=0;g>2,C>>2));for(var f=0;fN&&q==m[y-N])ne[y]=ne[y-N];else{var se=x[q];if(se==null&&(x[q]=se=P.length,P.push(q),P.length>=300))break;ne[y]=se}}}var Z=P.length;Z<=256&&s==!1&&(Z<=2?d=1:Z<=4?d=2:Z<=16?d=4:d=8,d=Math.max(d,c));for(var f=0;f>1)]|=ke[Oe+we]<<4-(we&1)*4;else if(d==2)for(var we=0;we>2)]|=ke[Oe+we]<<6-(we&3)*2;else if(d==1)for(var we=0;we>3)]|=ke[Oe+we]<<7-(we&7)*1}fe=Re,u=3,be=1}else if(v==!1&&b.length==1){for(var Re=new Uint8Array(N*_*3),tt=N*_,y=0;yE&&(E=W),TB&&(B=T))}E==-1&&(F=R=E=B=0),i&&((F&1)==1&&F--,(R&1)==1&&R--);var C=(E-F+1)*(B-R+1);Cy&&(y=P),Fv&&(v=F))}y==-1&&(p=g=y=v=0),o&&((p&1)==1&&p--,(g&1)==1&&g--),a={x:p,y:g,width:y-p+1,height:v-g+1};var B=n[i];B.rect=a,B.blend=1,B.img=new Uint8Array(a.width*a.height*4),n[i-1].dispose==0?(Se._copyTile(s,r,t,B.img,a.width,a.height,-a.x,-a.y,0),Se.encode._prepareDiff(A,r,t,B.img,a)):Se._copyTile(A,r,t,B.img,a.width,a.height,-a.x,-a.y,0)};Se.encode._prepareDiff=function(e,r,t,n,i){Se._copyTile(e,r,t,n,i.width,i.height,-i.x,-i.y,2)};Se.encode._filterZero=function(e,r,t,n,i,a,o){var l=[],c=[0,1,2,3,4];a!=-1?c=[a]:(r*n>5e5||t==1)&&(c=[0]);var s;o&&(s={level:0});for(var u=o&&UZIP!=null?UZIP:zg.default,d=0;d>1)+256&255;if(a==4)for(var s=i;s>1)&255;for(var s=i;s>1)&255}if(a==4){for(var s=0;s>>1:t=t>>>1;e[r]=t}return e})(),update:function(e,r,t,n){for(var i=0;i>>8;return e},crc:function(e,r,t){return Se.crc.update(4294967295,e,r,t)^4294967295}};Se.quantize=function(e,r){for(var t=new Uint8Array(e),n=t.slice(0),i=new Uint32Array(n.buffer),a=Se.quantize.getKDtree(n,r),o=a[0],l=a[1],c=Se.quantize.planeDst,s=t,u=i,d=s.length,A=new Uint8Array(t.length>>2),f=0;f>2]=b.ind,u[f>>2]=b.est.rgba}return{abuf:n.buffer,inds:A,plte:l}};Se.quantize.getKDtree=function(e,r,t){t==null&&(t=1e-4);var n=new Uint32Array(e.buffer),i={i0:0,i1:e.length,bst:null,est:null,tdst:0,left:null,right:null};i.bst=Se.quantize.stats(e,i.i0,i.i1),i.est=Se.quantize.estats(i.bst);for(var a=[i];a.lengtho&&(o=a[c].est.L,l=c);if(o=u||s.i1<=u;if(d){s.est.L=0;continue}var A={i0:s.i0,i1:u,bst:null,est:null,tdst:0,left:null,right:null};A.bst=Se.quantize.stats(e,A.i0,A.i1),A.est=Se.quantize.estats(A.bst);var f={i0:u,i1:s.i1,bst:null,est:null,tdst:0,left:null,right:null};f.bst={R:[],m:[],N:s.bst.N-A.bst.N};for(var c=0;c<16;c++)f.bst.R[c]=s.bst.R[c]-A.bst.R[c];for(var c=0;c<4;c++)f.bst.m[c]=s.bst.m[c]-A.bst.m[c];f.est=Se.quantize.estats(f.bst),s.left=A,s.right=f,a[l]=A,a.push(f)}a.sort(function(p,g){return g.bst.N-p.bst.N});for(var c=0;c0&&(o=e.right,l=e.left);var c=Se.quantize.getNearest(o,r,t,n,i);if(c.tdst<=a*a)return c;var s=Se.quantize.getNearest(l,r,t,n,i);return s.tdsta;)n-=4;if(t>=n)break;var c=r[t>>2];r[t>>2]=r[n>>2],r[n>>2]=c,t+=4,n-=4}for(;o(e,t,i)>a;)t-=4;return t+4};Se.quantize.vecDot=function(e,r,t){return e[r]*t[0]+e[r+1]*t[1]+e[r+2]*t[2]+e[r+3]*t[3]};Se.quantize.stats=function(e,r,t){for(var n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],i=[0,0,0,0],a=t-r>>2,o=r;o>>0}};Se.M4={multVec:function(e,r){return[e[0]*r[0]+e[1]*r[1]+e[2]*r[2]+e[3]*r[3],e[4]*r[0]+e[5]*r[1]+e[6]*r[2]+e[7]*r[3],e[8]*r[0]+e[9]*r[1]+e[10]*r[2]+e[11]*r[3],e[12]*r[0]+e[13]*r[1]+e[14]*r[2]+e[15]*r[3]]},dot:function(e,r){return e[0]*r[0]+e[1]*r[1]+e[2]*r[2]+e[3]*r[3]},sml:function(e,r){return[e*r[0],e*r[1],e*r[2],e*r[3]]}};Se.encode.concatRGBA=function(e){for(var r=0,t=0;t1)throw new Error("Animated PNGs are not supported");var i=new Uint8Array(n[0]),a=Og(i),o=a.rgbChannel,l=a.alphaChannel;this.rgbChannel=o;var c=l.some(function(s){return s<255});c&&(this.alphaChannel=l),this.type=Mg(t.ctype),this.width=t.width,this.height=t.height,this.bitsPerComponent=8}return e.load=function(r){return new e(r)},e})(),Ug=(function(){function e(r){this.image=r,this.bitsPerComponent=r.bitsPerComponent,this.width=r.width,this.height=r.height,this.colorSpace="DeviceRGB"}return e.for=function(r){return it(this,void 0,void 0,function(){var t;return at(this,function(n){return t=_g.load(r),[2,new e(t)]})})},e.prototype.embedIntoContext=function(r,t){return it(this,void 0,void 0,function(){var n,i;return at(this,function(a){return n=this.embedAlphaChannel(r),i=r.flateStream(this.image.rgbChannel,{Type:"XObject",Subtype:"Image",BitsPerComponent:this.image.bitsPerComponent,Width:this.image.width,Height:this.image.height,ColorSpace:this.colorSpace,SMask:n}),t?(r.assign(t,i),[2,t]):[2,r.register(i)]})})},e.prototype.embedAlphaChannel=function(r){if(this.image.alphaChannel){var t=r.flateStream(this.image.alphaChannel,{Type:"XObject",Subtype:"Image",Height:this.image.height,Width:this.image.width,BitsPerComponent:this.image.bitsPerComponent,ColorSpace:"DeviceGray",Decode:[0,1]});return r.register(t)}},e})(),cd=Ug,Wg=(function(){function e(r,t,n){this.bytes=r,this.start=t||0,this.pos=this.start,this.end=t&&n?t+n:this.bytes.length}return Object.defineProperty(e.prototype,"length",{get:function(){return this.end-this.start},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isEmpty",{get:function(){return this.length===0},enumerable:!1,configurable:!0}),e.prototype.getByte=function(){return this.pos>=this.end?-1:this.bytes[this.pos++]},e.prototype.getUint16=function(){var r=this.getByte(),t=this.getByte();return r===-1||t===-1?-1:(r<<8)+t},e.prototype.getInt32=function(){var r=this.getByte(),t=this.getByte(),n=this.getByte(),i=this.getByte();return(r<<24)+(t<<16)+(n<<8)+i},e.prototype.getBytes=function(r,t){t===void 0&&(t=!1);var n=this.bytes,i=this.pos,a=this.end;if(r){var l=i+r;l>a&&(l=a),this.pos=l;var o=n.subarray(i,l);return t?new Uint8ClampedArray(o):o}else{var o=n.subarray(i,a);return t?new Uint8ClampedArray(o):o}},e.prototype.peekByte=function(){var r=this.getByte();return this.pos--,r},e.prototype.peekBytes=function(r,t){t===void 0&&(t=!1);var n=this.getBytes(r,t);return this.pos-=n.length,n},e.prototype.skip=function(r){r||(r=1),this.pos+=r},e.prototype.reset=function(){this.pos=this.start},e.prototype.moveStart=function(){this.start=this.pos},e.prototype.makeSubStream=function(r,t){return new e(this.bytes,r,t)},e.prototype.decode=function(){return this.bytes},e})(),ud=Wg,Gg=new Uint8Array(0),jg=(function(){function e(r){if(this.pos=0,this.bufferLength=0,this.eof=!1,this.buffer=Gg,this.minBufferLength=512,r)for(;this.minBufferLengtha&&(n=a)}else{for(;!this.eof;)this.readBlock();n=this.bufferLength}this.pos=n;var o=this.buffer.subarray(i,n);return t&&!(o instanceof Uint8ClampedArray)?new Uint8ClampedArray(o):o},e.prototype.peekByte=function(){var r=this.getByte();return this.pos--,r},e.prototype.peekBytes=function(r,t){t===void 0&&(t=!1);var n=this.getBytes(r,t);return this.pos-=n.length,n},e.prototype.skip=function(r){r||(r=1),this.pos+=r},e.prototype.reset=function(){this.pos=0},e.prototype.makeSubStream=function(r,t){for(var n=r+t;this.bufferLength<=n&&!this.eof;)this.readBlock();return new ud(this.buffer,r,t)},e.prototype.decode=function(){for(;!this.eof;)this.readBlock();return this.buffer.subarray(0,this.bufferLength)},e.prototype.readBlock=function(){throw new br(this.constructor.name,"readBlock")},e.prototype.ensureBuffer=function(r){var t=this.buffer;if(r<=t.byteLength)return t;for(var n=this.minBufferLength;n=0;--s)c[l+s]=d&255,d>>=8}},r})(la),Vg=qg,Xg=(function(e){Te(r,e);function r(t,n){var i=e.call(this,n)||this;return i.stream=t,i.firstDigit=-1,n&&(n=.5*n),i}return r.prototype.readBlock=function(){var t=8e3,n=this.stream.getBytes(t);if(!n.length){this.eof=!0;return}for(var i=n.length+1>>1,a=this.ensureBuffer(this.bufferLength+i),o=this.bufferLength,l=this.firstDigit,c=0,s=n.length;c=48&&u<=57)d=u&15;else if(u>=65&&u<=70||u>=97&&u<=102)d=(u&15)+9;else if(u===62){this.eof=!0;break}else continue;l<0?l=d:(a[o++]=l<<4|d,l=-1)}l>=0&&this.eof&&(a[o++]=l<<4,l=-1),this.firstDigit=l,this.bufferLength=o},r})(la),Hg=Xg,fu=new Int32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Kg=new Int32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),Qg=new Int32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),Zg=[new Int32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],Yg=[new Int32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5],Jg=(function(e){Te(r,e);function r(t,n){var i=e.call(this,n)||this;i.stream=t;var a=t.getByte(),o=t.getByte();if(a===-1||o===-1)throw new Error("Invalid header in flate stream: "+a+", "+o);if((a&15)!==8)throw new Error("Unknown compression method in flate stream: "+a+", "+o);if(((a<<8)+o)%31!==0)throw new Error("Bad FCHECK in flate stream: "+a+", "+o);if(o&32)throw new Error("FDICT bit set in flate stream: "+a+", "+o);return i.codeSize=0,i.codeBuf=0,i}return r.prototype.readBlock=function(){var t,n,i=this.stream,a=this.getBits(3);if(a&1&&(this.eof=!0),a>>=1,a===0){var o=void 0;if((o=i.getByte())===-1)throw new Error("Bad block header in flate stream");var l=o;if((o=i.getByte())===-1)throw new Error("Bad block header in flate stream");if(l|=o<<8,(o=i.getByte())===-1)throw new Error("Bad block header in flate stream");var c=o;if((o=i.getByte())===-1)throw new Error("Bad block header in flate stream");if(c|=o<<8,c!==(~l&65535)&&(l!==0||c!==0))throw new Error("Bad uncompressed block length in flate stream");this.codeBuf=0,this.codeSize=0;var s=this.bufferLength;t=this.ensureBuffer(s+l);var u=s+l;if(this.bufferLength=u,l===0)i.peekByte()===-1&&(this.eof=!0);else for(var d=s;d0;)F[b++]=B}A=this.generateHuffmanTable(F.subarray(0,p)),f=this.generateHuffmanTable(F.subarray(p,P))}else throw new Error("Unknown block type in flate stream");t=this.buffer;for(var H=t?t.length:0,C=this.bufferLength;;){var I=this.getCode(A);if(I<256){C+1>=H&&(t=this.ensureBuffer(C+1),H=t.length),t[C++]=I;continue}if(I===256){this.bufferLength=C;return}I-=257,I=Kg[I];var m=I>>16;m>0&&(m=this.getBits(m)),n=(I&65535)+m,I=this.getCode(f),I=Qg[I],m=I>>16,m>0&&(m=this.getBits(m));var N=(I&65535)+m;C+n>=H&&(t=this.ensureBuffer(C+n),H=t.length);for(var ne=0;ne>t,this.codeSize=i-=t,o},r.prototype.getCode=function(t){for(var n=this.stream,i=t[0],a=t[1],o=this.codeSize,l=this.codeBuf,c;o>16,d=s&65535;if(u<1||o>u,this.codeSize=o-u,d},r.prototype.generateHuffmanTable=function(t){var n=t.length,i=0,a;for(a=0;ai&&(i=t[a]);for(var o=1<>=1;for(a=A;a0;if(!F||F<256)y[0]=F,v=1;else if(F>=258)if(F=0;o--)y[o]=d[l],l=f[l];else y[v++]=y[0];else if(F===256){p=9,u=258,v=0;continue}else{this.eof=!0,delete this.lzwState;break}if(R&&(f[u]=g,A[u]=A[g]+1,d[u]=y[0],u++,p=u+s&u+s-1?p:Math.min(Math.log(u+s)/.6931471805599453+1,12)|0),g=F,b+=v,n>>n&(1<0){var o=this.stream.getBytes(a);n.set(o,i),i+=a}}else{a=257-a;var l=t[1];n=this.ensureBuffer(i+a+1);for(var c=0;cn.size())throw new lo(t,0,n.size());n.remove(t)}else{if(t!==0)throw new lo(t,0,0);this.setKids([])}},r.prototype.normalizedEntries=function(){var t=this.Kids();return t||(t=this.dict.context.obj([this.ref]),this.dict.set(V.of("Kids"),t)),{Kids:t}},r.fromDict=function(t,n){return new r(t,n)},r})(hd),pi=Am,gm=(function(e){Te(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.prototype.Opt=function(){return this.dict.lookupMaybe(V.of("Opt"),wt,qe,vt)},r.prototype.setOpt=function(t){this.dict.set(V.of("Opt"),this.dict.context.obj(t))},r.prototype.getExportValues=function(){var t=this.Opt();if(t){if(t instanceof wt||t instanceof qe)return[t];for(var n=[],i=0,a=t.size();in.size())throw new lo(t,0,n.size());n.remove(t)}},r.prototype.normalizeExportValues=function(){for(var t,n,i,a,o=(t=this.getExportValues())!==null&&t!==void 0?t:[],l=[],c=this.getWidgets(),s=0,u=c.length;s1){if(!this.hasFlag(bt.MultiSelect))throw new EA;this.dict.set(V.of("V"),this.dict.context.obj(t))}this.updateSelectedIndices(t)},r.prototype.valuesAreValid=function(t){for(var n=this.getOptions(),i=function(c,s){var u=t[c].decodeText();if(!n.find(function(d){return u===(d.display||d.value).decodeText()}))return{value:!1}},a=0,o=t.length;a1){for(var n=new Array(t.length),i=this.getOptions(),a=function(c,s){var u=t[c].decodeText();n[c]=i.findIndex(function(d){return u===(d.display||d.value).decodeText()})},o=0,l=t.length;o0){var l=o.lookup(0,wt,qe),c=o.lookupMaybe(1,wt,qe);n.push({value:l,display:c||l})}}return n}return[]},r})(pi),pd=vm,ym=(function(e){Te(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.fromDict=function(t,n){return new r(t,n)},r.create=function(t){var n=t.obj({FT:"Ch",Ff:bt.Combo,Kids:[]}),i=t.register(n);return new r(n,i)},r})(pd),Do=ym,bm=(function(e){Te(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.prototype.addField=function(t){var n=this.normalizedEntries().Kids;n?.push(t)},r.prototype.normalizedEntries=function(){var t=this.Kids();return t||(t=this.dict.context.obj([]),this.dict.set(V.of("Kids"),t)),{Kids:t}},r.fromDict=function(t,n){return new r(t,n)},r.create=function(t){var n=t.obj({}),i=t.register(n);return new r(n,i)},r})(hd),fo=bm,wm=(function(e){Te(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.fromDict=function(t,n){return new r(t,n)},r})(pi),pl=wm,xm=(function(e){Te(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.prototype.MaxLen=function(){var t=this.dict.lookup(V.of("MaxLen"));if(t instanceof Qe)return t},r.prototype.Q=function(){var t=this.dict.lookup(V.of("Q"));if(t instanceof Qe)return t},r.prototype.setMaxLength=function(t){this.dict.set(V.of("MaxLen"),Qe.of(t))},r.prototype.removeMaxLength=function(){this.dict.delete(V.of("MaxLen"))},r.prototype.getMaxLength=function(){var t;return(t=this.MaxLen())===null||t===void 0?void 0:t.asNumber()},r.prototype.setQuadding=function(t){this.dict.set(V.of("Q"),Qe.of(t))},r.prototype.getQuadding=function(){var t;return(t=this.Q())===null||t===void 0?void 0:t.asNumber()},r.prototype.setValue=function(t){this.dict.set(V.of("V"),t)},r.prototype.removeValue=function(){this.dict.delete(V.of("V"))},r.prototype.getValue=function(){var t=this.V();if(t instanceof wt||t instanceof qe)return t},r.fromDict=function(t,n){return new r(t,n)},r.create=function(t){var n=t.obj({FT:"Tx",Kids:[]}),i=t.register(n);return new r(n,i)},r})(pi),Eo=xm,Sm=(function(e){Te(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.fromDict=function(t,n){return new r(t,n)},r.create=function(t){var n=t.obj({FT:"Btn",Ff:mr.PushButton,Kids:[]}),i=t.register(n);return new r(n,i)},r})(hl),Bo=Sm,km=(function(e){Te(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.prototype.setValue=function(t){var n=this.getOnValues();if(!n.includes(t)&&t!==V.of("Off"))throw new ll;this.dict.set(V.of("V"),t);for(var i=this.getWidgets(),a=0,o=i.length;aa)throw new eu(n,a);for(var o=n,l=0,c=i.size();lo)return u.insertLeafNode(t,o)||s;o-=u.Count().asNumber()}u instanceof Kr&&(o-=1)}if(o===0){this.insertLeafKid(i.size(),t);return}throw new tu(n,"insertLeafNode")},r.prototype.removeLeafNode=function(t,n){n===void 0&&(n=!0);var i=this.Kids(),a=this.Count().asNumber();if(t>=a)throw new eu(t,a);for(var o=t,l=0,c=i.size();lo){u.removeLeafNode(o,n),n&&u.Kids().size()===0&&i.remove(l);return}else o-=u.Count().asNumber();if(u instanceof Kr)if(o===0){this.removeKid(l);return}else o-=1}throw new tu(t,"removeLeafNode")},r.prototype.ascend=function(t){t(this);var n=this.Parent();n&&n.ascend(t)},r.prototype.traverse=function(t){for(var n=this.Kids(),i=0,a=n.size();iNumber.MAX_SAFE_INTEGER)if(this.capNumbers){var i="Parsed number that is too large for some PDF readers: "+r+", using Number.MAX_SAFE_INTEGER instead.";return console.warn(i),Number.MAX_SAFE_INTEGER}else{var i="Parsed number that is too large for some PDF readers: "+r+", not capping.";console.warn(i)}return n},e.prototype.skipWhitespace=function(){for(;!this.bytes.done()&&Yr[this.bytes.peek()];)this.bytes.next()},e.prototype.skipLine=function(){for(;!this.bytes.done();){var r=this.bytes.peek();if(r===Au||r===gu)return;this.bytes.next()}},e.prototype.skipComment=function(){if(this.bytes.peek()!==Q.Percent)return!1;for(;!this.bytes.done();){var r=this.bytes.peek();if(r===Au||r===gu)return!0;this.bytes.next()}return!0},e.prototype.skipWhitespaceAndComments=function(){for(this.skipWhitespace();this.skipComment();)this.skipWhitespace()},e.prototype.matchKeyword=function(r){for(var t=this.bytes.offset(),n=0,i=r.length;n=this.length},e.prototype.offset=function(){return this.idx},e.prototype.slice=function(r,t){return this.bytes.slice(r,t)},e.prototype.position=function(){return{line:this.line,column:this.column,offset:this.idx}},e.of=function(r){return new e(r)},e.fromPDFRawStream=function(r){return e.of(dd(r).decode())},e})(),Io=Im,zm=Q.Space,Ni=Q.CarriageReturn,Ii=Q.Newline,zi=[Q.s,Q.t,Q.r,Q.e,Q.a,Q.m],qa=[Q.e,Q.n,Q.d,Q.s,Q.t,Q.r,Q.e,Q.a,Q.m],Ct={header:[Q.Percent,Q.P,Q.D,Q.F,Q.Dash],eof:[Q.Percent,Q.Percent,Q.E,Q.O,Q.F],obj:[Q.o,Q.b,Q.j],endobj:[Q.e,Q.n,Q.d,Q.o,Q.b,Q.j],xref:[Q.x,Q.r,Q.e,Q.f],trailer:[Q.t,Q.r,Q.a,Q.i,Q.l,Q.e,Q.r],startxref:[Q.s,Q.t,Q.a,Q.r,Q.t,Q.x,Q.r,Q.e,Q.f],true:[Q.t,Q.r,Q.u,Q.e],false:[Q.f,Q.a,Q.l,Q.s,Q.e],null:[Q.n,Q.u,Q.l,Q.l],stream:zi,streamEOF1:ht(zi,[zm,Ni,Ii]),streamEOF2:ht(zi,[Ni,Ii]),streamEOF3:ht(zi,[Ni]),streamEOF4:ht(zi,[Ii]),endstream:qa,EOF1endstream:ht([Ni,Ii],qa),EOF2endstream:ht([Ni],qa),EOF3endstream:ht([Ii],qa)},Mm=(function(e){Te(r,e);function r(t,n,i){i===void 0&&(i=!1);var a=e.call(this,t,i)||this;return a.context=n,a}return r.prototype.parseObject=function(){if(this.skipWhitespaceAndComments(),this.matchKeyword(Ct.true))return $i.True;if(this.matchKeyword(Ct.false))return $i.False;if(this.matchKeyword(Ct.null))return rr;var t=this.bytes.peek();if(t===Q.LessThan&&this.bytes.peekAhead(1)===Q.LessThan)return this.parseDictOrStream();if(t===Q.LessThan)return this.parseHexString();if(t===Q.LeftParen)return this.parseString();if(t===Q.ForwardSlash)return this.parseName();if(t===Q.LeftSquareBracket)return this.parseArray();if(ml[t])return this.parseNumberOrRef();throw new NA(this.bytes.position(),t)},r.prototype.parseNumberOrRef=function(){var t=this.parseRawNumber();this.skipWhitespaceAndComments();var n=this.bytes.offset();if(Kt[this.bytes.peek()]){var i=this.parseRawNumber();if(this.skipWhitespaceAndComments(),this.bytes.peek()===Q.R)return this.bytes.assertNext(Q.R),xt.of(t,i)}return this.bytes.moveTo(n),Qe.of(t)},r.prototype.parseHexString=function(){var t="";for(this.bytes.assertNext(Q.LessThan);!this.bytes.done()&&this.bytes.peek()!==Q.GreaterThan;)t+=Xr(this.bytes.next());return this.bytes.assertNext(Q.GreaterThan),qe.of(t)},r.prototype.parseString=function(){for(var t=0,n=!1,i="";!this.bytes.done();){var a=this.bytes.next();if(i+=Xr(a),n||(a===Q.LeftParen&&(t+=1),a===Q.RightParen&&(t-=1)),a===Q.BackSlash?n=!n:n&&(n=!1),t===0)return wt.of(i.substring(1,i.length-1))}throw new MA(this.bytes.position())},r.prototype.parseName=function(){this.bytes.assertNext(Q.ForwardSlash);for(var t="";!this.bytes.done();){var n=this.bytes.peek();if(Yr[n]||kr[n])break;t+=Xr(n),this.bytes.next()}return V.of(t)},r.prototype.parseArray=function(){this.bytes.assertNext(Q.LeftSquareBracket),this.skipWhitespaceAndComments();for(var t=vt.withContext(this.context);this.bytes.peek()!==Q.RightSquareBracket;){var n=this.parseObject();t.push(n),this.skipWhitespaceAndComments()}return this.bytes.assertNext(Q.RightSquareBracket),t},r.prototype.parseDict=function(){this.bytes.assertNext(Q.LessThan),this.bytes.assertNext(Q.LessThan),this.skipWhitespaceAndComments();for(var t=new Map;!this.bytes.done()&&this.bytes.peek()!==Q.GreaterThan&&this.bytes.peekAhead(1)!==Q.GreaterThan;){var n=this.parseName(),i=this.parseObject();t.set(n,i),this.skipWhitespaceAndComments()}this.skipWhitespaceAndComments(),this.bytes.assertNext(Q.GreaterThan),this.bytes.assertNext(Q.GreaterThan);var a=t.get(V.of("Type"));return a===V.of("Catalog")?md.fromMapWithContext(t,this.context):a===V.of("Pages")?vd.fromMapWithContext(t,this.context):a===V.of("Page")?Kr.fromMapWithContext(t,this.context):et.fromMapWithContext(t,this.context)},r.prototype.parseDictOrStream=function(){var t=this.bytes.position(),n=this.parseDict();if(this.skipWhitespaceAndComments(),!this.matchKeyword(Ct.streamEOF1)&&!this.matchKeyword(Ct.streamEOF2)&&!this.matchKeyword(Ct.streamEOF3)&&!this.matchKeyword(Ct.streamEOF4)&&!this.matchKeyword(Ct.stream))return n;var i=this.bytes.offset(),a,o=n.get(V.of("Length"));o instanceof Qe?(a=i+o.asNumber(),this.bytes.moveTo(a),this.skipWhitespaceAndComments(),this.matchKeyword(Ct.endstream)||(this.bytes.moveTo(i),a=this.findEndOfStreamFallback(t))):a=this.findEndOfStreamFallback(t);var l=this.bytes.slice(i,a);return ea.of(n,l)},r.prototype.findEndOfStreamFallback=function(t){for(var n=1,i=this.bytes.offset();!this.bytes.done()&&(i=this.bytes.offset(),this.matchKeyword(Ct.stream)?n+=1:this.matchKeyword(Ct.EOF1endstream)||this.matchKeyword(Ct.EOF2endstream)||this.matchKeyword(Ct.EOF3endstream)||this.matchKeyword(Ct.endstream)?n-=1:this.bytes.next(),n!==0););if(n!==0)throw new zA(t);return i},r.forBytes=function(t,n,i){return new r(Io.of(t),n,i)},r.forByteStream=function(t,n,i){return i===void 0&&(i=!1),new r(t,n,i)},r})(Nm),yd=Mm,Om=(function(e){Te(r,e);function r(t,n){var i=e.call(this,Io.fromPDFRawStream(t),t.dict.context)||this,a=t.dict;return i.alreadyParsed=!1,i.shouldWaitForTick=n||(function(){return!1}),i.firstOffset=a.lookup(V.of("First"),Qe).asNumber(),i.objectCount=a.lookup(V.of("N"),Qe).asNumber(),i}return r.prototype.parseIntoContext=function(){return it(this,void 0,void 0,function(){var t,n,i,a,o,l,c,s;return at(this,function(u){switch(u.label){case 0:if(this.alreadyParsed)throw new sl("PDFObjectStreamParser","parseIntoContext");this.alreadyParsed=!0,t=this.parseOffsetsAndObjectNumbers(),n=0,i=t.length,u.label=1;case 1:return n=Q.Space&&n<=Q.Tilde;if(i&&(this.matchKeyword(Ct.xref)||this.matchKeyword(Ct.trailer)||this.matchKeyword(Ct.startxref)||this.matchIndirectObjectHeader())){this.bytes.moveTo(t);break}this.bytes.next()}},r.prototype.skipBinaryHeaderComment=function(){this.skipWhitespaceAndComments();try{var t=this.bytes.offset();this.parseIndirectObjectHeader(),this.bytes.moveTo(t)}catch{this.bytes.next(),this.skipWhitespaceAndComments()}},r.forBytesWithOptions=function(t,n,i,a){return new r(t,n,i,a)},r})(yd),jm=Gm,Ir=function(e){return 1<0&&(n[n.length]=+i),t[t.length]={cmd:r,args:n},n=[],i="",a=!1),r=s;else if([" ",","].includes(s)||s==="-"&&i.length>0&&i[i.length-1]!=="e"||s==="."&&a){if(i.length===0)continue;n.length===o?(t[t.length]={cmd:r,args:n},n=[+i],r==="M"&&(r="L"),r==="m"&&(r="l")):n[n.length]=+i,a=s===".",i=["-","."].includes(s)?s:""}else i+=s,s==="."&&(a=!0)}return i.length>0&&(n.length===o?(t[t.length]={cmd:r,args:n},n=[+i],r==="M"&&(r="L"),r==="m"&&(r="l")):n[n.length]=+i),t[t.length]={cmd:r,args:n},t},rv=function(e){Ue=We=ct=ut=Ui=Wi=0;for(var r=[],t=0;t1&&(A=Math.sqrt(A),t*=A,n*=A);var f=d/t,p=u/t,g=-u/n,y=d/n,v=f*l+p*c,b=g*l+y*c,x=f*e+p*r,P=g*e+y*r,F=(x-v)*(x-v)+(P-b)*(P-b),R=1/F-.25;R<0&&(R=0);var E=Math.sqrt(R);a===i&&(E=-E);var B=.5*(v+x)-E*(P-b),T=.5*(b+P)+E*(x-v),W=Math.atan2(b-T,v-B),H=Math.atan2(P-T,x-B),C=H-W;C<0&&a===1?C+=2*Math.PI:C>0&&a===0&&(C-=2*Math.PI);for(var I=Math.ceil(Math.abs(C/(Math.PI*.5+.001))),m=[],N=0;Ne.length)return i-1;var y=r.heightAtSize(i),v=y+y*.2,b=v*a;if(b>Math.abs(t.height))return i-1;i+=1}return i},kv=function(e,r,t,n){for(var i=t.width/n,a=t.height,o=Md,l=Ep(e);oi*.75;if(d)return o-1}var A=r.heightAtSize(o,{descender:!1});if(A>a)return o-1;o+=1}return o},Cv=function(e){for(var r=e.length;r>0;r--)if(/\s/.test(e[r]))return r},Pv=function(e,r,t,n){for(var i,a=e.length;a>0;){var o=e.substring(0,a),l=t.encodeText(o),c=t.widthOfTextAtSize(o,n);if(cA&&(A=E+F),p+l>f&&(f=p+l),s.push({text:x,encoded:P,width:F,height:l,x:E,y:p}),v=R?.trim()}return{fontSize:n,lineHeight:c,lines:s,bounds:{x:u,y:d,width:A-u,height:f-d}}},Fv=function(e,r){var t=r.fontSize,n=r.font,i=r.bounds,a=r.cellCount,o=ju(oa(e));if(o.length>a)throw new wv(o.length,a);(t===void 0||t===0)&&(t=kv(o,n,i,a));for(var l=i.width/a,c=n.heightAtSize(t,{descender:!1}),s=i.y+(i.height/2-c/2),u=[],d=i.x,A=i.y,f=i.x+i.width,p=i.y+i.height,g=0,y=0;gf&&(f=E+F),s+c>p&&(p=s+c),u.push({text:o,encoded:P,width:F,height:c,x:E,y:s}),g+=1,y+=x}return{fontSize:t,cells:u,bounds:{x:d,y:A,width:f-d,height:p-A}}},vo=function(e,r){var t=r.alignment,n=r.fontSize,i=r.font,a=r.bounds,o=ju(oa(e));(n===void 0||n===0)&&(n=_d([o],i,a));var l=i.encodeText(o),c=i.widthOfTextAtSize(o,n),s=i.heightAtSize(n,{descender:!1}),u=t===zt.Left?a.x:t===zt.Center?a.x+a.width/2-c/2:t===zt.Right?a.x+a.width-c:a.x,d=a.y+(a.height/2-s/2);return{fontSize:n,line:{text:o,encoded:l,width:c,height:s,x:u,y:d},bounds:{x:u,y:d,width:c,height:s}}},gi=function(e){return"normal"in e?e:{normal:e}},Tv=/\/([^\0\t\n\f\r\ ]+)[\0\t\n\f\r\ ]+(\d*\.\d+|\d+)[\0\t\n\f\r\ ]+Tf/,wn=function(e){var r,t,n=(r=e.getDefaultAppearance())!==null&&r!==void 0?r:"",i=(t=al(n,Tv).match)!==null&&t!==void 0?t:[],a=Number(i[2]);return isFinite(a)?a:void 0},Dv=/(\d*\.\d+|\d+)[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]+(g|rg|k)/,xr=function(e){var r,t=(r=e.getDefaultAppearance())!==null&&r!==void 0?r:"",n=al(t,Dv).match,i=n??[],a=i[1],o=i[2],l=i[3],c=i[4],s=i[5];if(s==="g"&&a)return Rd(Number(a));if(s==="rg"&&a&&o&&l)return St(Number(a),Number(o),Number(l));if(s==="k"&&a&&o&&l&&c)return Ld(Number(a),Number(o),Number(l),Number(c))},Sr=function(e,r,t,n){var i;n===void 0&&(n=0);var a=[jn(r).toString(),wl((i=t?.name)!==null&&i!==void 0?i:"dummy__noop",n).toString()].join(` -`);e.setDefaultAppearance(a)},Ev=function(e,r){var t,n,i,a=xr(r),o=xr(e.acroField),l=r.getRectangle(),c=r.getAppearanceCharacteristics(),s=r.getBorderStyle(),u=(t=s?.getWidth())!==null&&t!==void 0?t:0,d=Jr(c?.getRotation()),A=Wn(l,d),f=A.width,p=A.height,g=Cn(Je(Je({},l),{rotation:d})),y=St(0,0,0),v=(n=er(c?.getBorderColor()))!==null&&n!==void 0?n:y,b=er(c?.getBackgroundColor()),x=er(c?.getBackgroundColor(),.8),P=(i=a??o)!==null&&i!==void 0?i:y;Sr(a?r:e.acroField,P);var F={x:0+u/2,y:0+u/2,width:f-u,height:p-u,thickness:1.5,borderWidth:u,borderColor:v,markColor:P};return{normal:{on:ht(g,Ha(Je(Je({},F),{color:b,filled:!0}))),off:ht(g,Ha(Je(Je({},F),{color:b,filled:!1})))},down:{on:ht(g,Ha(Je(Je({},F),{color:x,filled:!0}))),off:ht(g,Ha(Je(Je({},F),{color:x,filled:!1})))}}},Bv=function(e,r){var t,n,i,a=xr(r),o=xr(e.acroField),l=r.getRectangle(),c=r.getAppearanceCharacteristics(),s=r.getBorderStyle(),u=(t=s?.getWidth())!==null&&t!==void 0?t:0,d=Jr(c?.getRotation()),A=Wn(l,d),f=A.width,p=A.height,g=Cn(Je(Je({},l),{rotation:d})),y=St(0,0,0),v=(n=er(c?.getBorderColor()))!==null&&n!==void 0?n:y,b=er(c?.getBackgroundColor()),x=er(c?.getBackgroundColor(),.8),P=(i=a??o)!==null&&i!==void 0?i:y;Sr(a?r:e.acroField,P);var F={x:f/2,y:p/2,width:f-u,height:p-u,borderWidth:u,borderColor:v,dotColor:P};return{normal:{on:ht(g,Ka(Je(Je({},F),{color:b,filled:!0}))),off:ht(g,Ka(Je(Je({},F),{color:b,filled:!1})))},down:{on:ht(g,Ka(Je(Je({},F),{color:x,filled:!0}))),off:ht(g,Ka(Je(Je({},F),{color:x,filled:!1})))}}},Rv=function(e,r,t){var n,i,a,o,l,c=xr(r),s=xr(e.acroField),u=wn(r),d=wn(e.acroField),A=r.getRectangle(),f=r.getAppearanceCharacteristics(),p=r.getBorderStyle(),g=f?.getCaptions(),y=(n=g?.normal)!==null&&n!==void 0?n:"",v=(a=(i=g?.down)!==null&&i!==void 0?i:y)!==null&&a!==void 0?a:"",b=(o=p?.getWidth())!==null&&o!==void 0?o:0,x=Jr(f?.getRotation()),P=Wn(A,x),F=P.width,R=P.height,E=Cn(Je(Je({},A),{rotation:x})),B=St(0,0,0),T=er(f?.getBorderColor()),W=er(f?.getBackgroundColor()),H=er(f?.getBackgroundColor(),.8),C={x:b,y:b,width:F-b*2,height:R-b*2},I=vo(y,{alignment:zt.Center,fontSize:u??d,font:t,bounds:C}),m=vo(v,{alignment:zt.Center,fontSize:u??d,font:t,bounds:C}),N=Math.min(I.fontSize,m.fontSize),ne=(l=c??s)!==null&&l!==void 0?l:B;Sr(c||u!==void 0?r:e.acroField,ne,t,N);var q={x:0+b/2,y:0+b/2,width:F-b,height:R-b,borderWidth:b,borderColor:T,textColor:ne,font:t.name,fontSize:N};return{normal:ht(E,Su(Je(Je({},q),{color:W,textLines:[I.line]}))),down:ht(E,Su(Je(Je({},q),{color:H,textLines:[m.line]})))}},Lv=function(e,r,t){var n,i,a,o,l=xr(r),c=xr(e.acroField),s=wn(r),u=wn(e.acroField),d=r.getRectangle(),A=r.getAppearanceCharacteristics(),f=r.getBorderStyle(),p=(n=e.getText())!==null&&n!==void 0?n:"",g=(i=f?.getWidth())!==null&&i!==void 0?i:0,y=Jr(A?.getRotation()),v=Wn(d,y),b=v.width,x=v.height,P=Cn(Je(Je({},d),{rotation:y})),F=St(0,0,0),R=er(A?.getBorderColor()),E=er(A?.getBackgroundColor()),B,T,W=e.isCombed()?0:1,H={x:g+W,y:g+W,width:b-(g+W)*2,height:x-(g+W)*2};if(e.isMultiline()){var C=Ud(p,{alignment:e.getAlignment(),fontSize:s??u,font:t,bounds:H});B=C.lines,T=C.fontSize}else if(e.isCombed()){var C=Fv(p,{fontSize:s??u,font:t,bounds:H,cellCount:(a=e.getMaxLength())!==null&&a!==void 0?a:0});B=C.cells,T=C.fontSize}else{var C=vo(p,{alignment:e.getAlignment(),fontSize:s??u,font:t,bounds:H});B=[C.line],T=C.fontSize}var I=(o=l??c)!==null&&o!==void 0?o:F;Sr(l||s!==void 0?r:e.acroField,I,t,T);var m={x:0+g/2,y:0+g/2,width:b-g,height:x-g,borderWidth:g??0,borderColor:R,textColor:I,font:t.name,fontSize:T,color:E,textLines:B,padding:W};return ht(P,Id(m))},Nv=function(e,r,t){var n,i,a,o=xr(r),l=xr(e.acroField),c=wn(r),s=wn(e.acroField),u=r.getRectangle(),d=r.getAppearanceCharacteristics(),A=r.getBorderStyle(),f=(n=e.getSelected()[0])!==null&&n!==void 0?n:"",p=(i=A?.getWidth())!==null&&i!==void 0?i:0,g=Jr(d?.getRotation()),y=Wn(u,g),v=y.width,b=y.height,x=Cn(Je(Je({},u),{rotation:g})),P=St(0,0,0),F=er(d?.getBorderColor()),R=er(d?.getBackgroundColor()),E=1,B={x:p+E,y:p+E,width:v-(p+E)*2,height:b-(p+E)*2},T=vo(f,{alignment:zt.Left,fontSize:c??s,font:t,bounds:B}),W=T.line,H=T.fontSize,C=(a=o??l)!==null&&a!==void 0?a:P;Sr(o||c!==void 0?r:e.acroField,C,t,H);var I={x:0+p/2,y:0+p/2,width:v-p,height:b-p,borderWidth:p??0,borderColor:F,textColor:C,font:t.name,fontSize:H,color:R,textLines:[W],padding:E};return ht(x,Id(I))},Iv=function(e,r,t){var n,i,a=xr(r),o=xr(e.acroField),l=wn(r),c=wn(e.acroField),s=r.getRectangle(),u=r.getAppearanceCharacteristics(),d=r.getBorderStyle(),A=(n=d?.getWidth())!==null&&n!==void 0?n:0,f=Jr(u?.getRotation()),p=Wn(s,f),g=p.width,y=p.height,v=Cn(Je(Je({},s),{rotation:f})),b=St(0,0,0),x=er(u?.getBorderColor()),P=er(u?.getBackgroundColor()),F=e.getOptions(),R=e.getSelected();e.isSorted()&&F.sort();for(var E="",B=0,T=F.length;B1||i.length===1&&n)&&this.enableMultiselect();for(var l=new Array(i.length),c=0,s=i.length;c1||i.length===1&&n)&&this.enableMultiselect();for(var o=new Array(i.length),l=0,c=i.length;ln)throw new xv(t.length,n,this.getName());this.markAsDirty(),this.disableRichFormatting(),t?this.acroField.setValue(qe.fromText(t)):this.acroField.removeValue()},r.prototype.getAlignment=function(){var t=this.acroField.getQuadding();return t===0?zt.Left:t===1?zt.Center:t===2?zt.Right:zt.Left},r.prototype.setAlignment=function(t){gn(t,"alignment",zt),this.markAsDirty(),this.acroField.setQuadding(t)},r.prototype.getMaxLength=function(){return this.acroField.getMaxLength()},r.prototype.setMaxLength=function(t){if(Tr(t,"maxLength",0,Number.MAX_SAFE_INTEGER),this.markAsDirty(),t===void 0)this.acroField.removeMaxLength();else{var n=this.getText();if(n&&n.length>t)throw new Sv(n.length,t,this.getName());this.acroField.setMaxLength(t)}},r.prototype.removeMaxLength=function(){this.markAsDirty(),this.acroField.removeMaxLength()},r.prototype.setImage=function(t){for(var n=this.getAlignment(),i=n===zt.Center?vn.Center:n===zt.Right?vn.Right:vn.Left,a=this.acroField.getWidgets(),o=0,l=a.length;o=100?e:typeof e=="string"&&e.includes("%")?Math.round(r&&r==="X"?parseFloat(e)/100*t.width:r&&r==="Y"?parseFloat(e)/100*t.height:parseFloat(e)/100*t.width):0}function io(e){return e.replace(/[xy]/g,function(r){let t=Math.random()*16|0;return(r==="x"?t:t&3|8).toString(16)})}function Ve(e){return typeof e>"u"||e==null?"":e.toString().replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function lt(e){return typeof e=="number"&&e>100?e:(typeof e=="string"&&(e=Number(e.replace(/in*/gi,""))),Math.round(Ke*e))}function je(e){let r=Number(e)||0;return isNaN(r)?0:Math.round(r*fa)}function Un(e){return e=e||0,Math.round((e>360?e-360:e)*6e4)}function Es(e){let r=e.toString(16);return r.length===1?"0"+r:r}function Bs(e,r,t){return(Es(e)+Es(r)+Es(t)).toUpperCase()}function ft(e,r){let t=(e||"").replace("#","");!Ds.test(t)&&t!==lr.background1&&t!==lr.background2&&t!==lr.text1&&t!==lr.text2&&t!==lr.accent1&&t!==lr.accent2&&t!==lr.accent3&&t!==lr.accent4&&t!==lr.accent5&&t!==lr.accent6&&(console.warn(`"${t}" is not a valid scheme color or hex RGB! "${nr}" used instead. Only provide 6-digit RGB or 'pptx.SchemeColor' values!`),t=nr);let n=Ds.test(t)?"srgbClr":"schemeClr",i='val="'+(Ds.test(t)?t.toUpperCase():t)+'"';return r?`${r}`:``}function h0(e,r){let t="",n=Object.assign(Object.assign({},r),e),i=Math.round(n.size*fa),a=n.color,o=Math.round(n.opacity*1e5);return t+=``,t+=ft(a,``),t+="",t}function ur(e){let r="solid",t="",n="",i="";return e&&(typeof e=="string"?t=e:(e.type&&(r=e.type),e.color&&(t=e.color),e.alpha&&(n+=``),e.transparency&&(n+=``)),r==="solid"?i+=`${ft(t,n)}`:i+=""),i}function Vr(e){return e._rels.length+e._relsChart.length+e._relsMedia.length+1}function Fl(e){if(!(!e||typeof e!="object"))return e.type!=="outer"&&e.type!=="inner"&&e.type!=="none"&&(console.warn("Warning: shadow.type options are `outer`, `inner` or `none`."),e.type="outer"),e.angle&&((isNaN(Number(e.angle))||e.angle<0||e.angle>359)&&(console.warn("Warning: shadow.angle can only be 0-359"),e.angle=270),e.angle=Math.round(Number(e.angle))),e.opacity&&((isNaN(Number(e.opacity))||e.opacity<0||e.opacity>1)&&(console.warn("Warning: shadow.opacity can only be 0-1"),e.opacity=.75),e.opacity=Number(e.opacity)),e.color&&e.color.startsWith("#")&&(console.warn('Warning: shadow.color should not include hash (#) character, , e.g. "FF0000"'),e.color=e.color.replace("#","")),e}function p0(e,r,t){var n,i;let a=2.3+(!((n=e.options)===null||n===void 0)&&n.autoPageCharWeight?e.options.autoPageCharWeight:0),o=Math.floor(r/fa*Ke)/((!((i=e.options)===null||i===void 0)&&i.fontSize?e.options.fontSize:yr)/a),l=[],c=[],s=[],u=[];e.text&&e.text.toString().trim().length===0?c.push({_type:He.tablecell,text:" "}):typeof e.text=="number"||typeof e.text=="string"?c.push({_type:He.tablecell,text:(e.text||"").toString().trim()}):Array.isArray(e.text)&&(c=e.text);let d=[];return c.forEach(A=>{var f;typeof A.text=="string"&&(A.text.split(` -`).length>1?A.text.split(` -`).forEach(p=>{d.push({_type:He.tablecell,text:p,options:Object.assign(Object.assign({},A.options),{breakLine:!0})})}):d.push({_type:He.tablecell,text:A.text.trim(),options:A.options}),!((f=A.options)===null||f===void 0)&&f.breakLine&&(s.push(d),d=[])),d.length>0&&(s.push(d),d=[])}),s.forEach(A=>{A.forEach(f=>{let p=[],y=String(f.text).split(" ");y.forEach((v,b)=>{let x=Object.assign({},f.options);x?.breakLine&&(x.breakLine=b+1===y.length),p.push({_type:He.tablecell,text:v+(b+1{let f=[],p="";A.forEach(g=>{p.length+g.text.length>o&&(l.push(f),f=[],p=""),f.push(g),p+=g.text.toString()}),f.length>0&&l.push(f)}),l}function Hd(e=[],r={},t,n){let i=ia,a=Ke*1,o=Ke*1,l=0,c=0,s=[],u=nt(r.x,"X",t),d=nt(r.y,"Y",t),A=nt(r.w,"X",t),f=nt(r.h,"Y",t),p=A;function g(){let v=0;s.length===0&&(v=d||lt(i[0])),s.length>0&&(v=lt(r.autoPageSlideStartY||r.newSlideStartY||i[0])),o=(f||t.height)-v-lt(i[2]),s.length>1&&(typeof r.autoPageSlideStartY=="number"?o=(f||t.height)-lt(r.autoPageSlideStartY+i[2]):typeof r.newSlideStartY=="number"?o=(f||t.height)-lt(r.newSlideStartY+i[2]):d&&(o=(f||t.height)-lt((d/Ke{b||(b={_type:He.tablecell});let x=b.options||null;c+=Number(x?.colspan?x.colspan:1)}),r.verbose&&console.log(`| numCols ......................................... = ${c}`),!A&&r.colW&&(p=Array.isArray(r.colW)?r.colW.reduce((v,b)=>v+b)*Ke:r.colW*c||0,r.verbose&&console.log(`| tableCalcW ...................................... = ${p/Ke}`)),a=p||lt((u?u/Ke:i[1])+i[3]),r.verbose&&console.log(`| emuSlideTabW .................................... = ${(a/Ke).toFixed(1)}`),!r.colW||!Array.isArray(r.colW))if(r.colW&&!isNaN(Number(r.colW))){let v=[];(e[0]||[]).forEach(()=>v.push(r.colW)),r.colW=[],v.forEach(x=>{Array.isArray(r.colW)&&r.colW.push(x)})}else{r.colW=[];for(let v=0;v{let x=[],P=0,F=0,R=[];v.forEach(W=>{var H,C,I,m;R.push({_type:He.tablecell,text:[],options:W.options}),W.options.margin&&W.options.margin[0]>=1?(!((H=W.options)===null||H===void 0)&&H.margin&&W.options.margin[0]&&je(W.options.margin[0])>P?P=je(W.options.margin[0]):r?.margin&&r.margin[0]&&je(r.margin[0])>P&&(P=je(r.margin[0])),!((C=W.options)===null||C===void 0)&&C.margin&&W.options.margin[2]&&je(W.options.margin[2])>F?F=je(W.options.margin[2]):r?.margin&&r.margin[2]&&je(r.margin[2])>F&&(F=je(r.margin[2]))):(!((I=W.options)===null||I===void 0)&&I.margin&&W.options.margin[0]&<(W.options.margin[0])>P?P=lt(W.options.margin[0]):r?.margin&&r.margin[0]&<(r.margin[0])>P&&(P=lt(r.margin[0])),!((m=W.options)===null||m===void 0)&&m.margin&&W.options.margin[2]&<(W.options.margin[2])>F?F=lt(W.options.margin[2]):r?.margin&&r.margin[2]&<(r.margin[2])>F&&(F=lt(r.margin[2])))}),g(),l+=P+F,r.verbose&&b===0&&console.log(`| SLIDE [${s.length}]: emuSlideTabH ...... = ${(o/Ke).toFixed(1)} `),v.forEach((W,H)=>{var C;let I={_type:He.tablecell,_lines:null,_lineHeight:lt((!((C=W.options)===null||C===void 0)&&C.fontSize?W.options.fontSize:r.fontSize?r.fontSize:yr)*(s0+(r.autoPageLineWeight?r.autoPageLineWeight:0))/100),text:[],options:W.options};I.options.rowspan&&(I._lineHeight=0),I.options.autoPageCharWeight=r.autoPageCharWeight?r.autoPageCharWeight:null;let m=r.colW[H];W.options.colspan&&Array.isArray(r.colW)&&(m=r.colW.filter((N,ne)=>ne>=H&&neN+ne)),I._lines=p0(W,m),x.push(I)}),r.verbose&&console.log(` -| SLIDE [${s.length}]: ROW [${b}]: START...`);let E=0,B=0,T=!1;for(;!T;){let W=x[E],H=R[E];x.forEach(m=>{m._lineHeight>=B&&(B=m._lineHeight)}),l+B>o&&(r.verbose&&(console.log(` -|-----------------------------------------------------------------------|`),console.log(`|-- NEW SLIDE CREATED (currTabH+currLineH > maxH) => ${(l/Ke).toFixed(2)} + ${(W._lineHeight/Ke).toFixed(2)} > ${o/Ke}`),console.log(`|-----------------------------------------------------------------------| +end`},lu=function(){for(var e=[],r=0;r"},Ja=function(e){return aa(e,4)},Pg=function(e){if(qp(e))return Ja(e);if(Vp(e)){var r=Hu(e),t=Ku(e);return""+Ja(r)+Ja(t)}var n=ko(e),i="0x"+n+" is not a valid UTF-8 or UTF-16 codepoint.";throw new Error(i)},Fg=function(e){var r=0,t=function(n){r|=1<=Q.Zero&&s<=Q.Seven?(n+=c,(n.length===3||!(u>="0"&&u<="7"))&&(a(parseInt(n,8)),n="")):a(s):s===Q.BackSlash?i=!0:a(s)}return new Uint8Array(t)},r.prototype.decodeText=function(){var t=this.asBytes();return Ju(t)?Qu(t):rd(t)},r.prototype.decodeDate=function(){var t=this.decodeText(),n=Vu(t);if(!n)throw new nd(t);return n},r.prototype.asString=function(){return this.value},r.prototype.clone=function(){return r.of(this.value)},r.prototype.toString=function(){return"("+this.value+")"},r.prototype.sizeInBytes=function(){return this.value.length+2},r.prototype.copyBytesInto=function(t,n){return t[n++]=Q.LeftParen,n+=Vt(this.value,t,n),t[n++]=Q.RightParen,this.value.length+2},r.of=function(t){return new r(t)},r.fromDate=function(t){var n=Er(String(t.getUTCFullYear()),4,"0"),i=Er(String(t.getUTCMonth()+1),2,"0"),a=Er(String(t.getUTCDate()),2,"0"),o=Er(String(t.getUTCHours()),2,"0"),l=Er(String(t.getUTCMinutes()),2,"0"),c=Er(String(t.getUTCSeconds()),2,"0");return new r("D:"+n+i+a+o+l+c+"Z")},r})($t),wt=Dg,Eg=(function(){function e(r,t,n,i){var a=this;this.allGlyphsInFontSortedById=function(){for(var o=new Array(a.font.characterSet.length),l=0,c=o.length;l>3)]>>7-((h&7)<<0)&1,k=3*H;l[P]=F[k],l[P+1]=F[k+1],l[P+2]=F[k+2],l[P+3]=H>2)]>>6-((h&3)<<1)&3,k=3*H;l[P]=F[k],l[P+1]=F[k+1],l[P+2]=F[k+2],l[P+3]=H>1)]>>4-((h&1)<<2)&15,k=3*H;l[P]=F[k],l[P+1]=F[k+1],l[P+2]=F[k+2],l[P+3]=H>>3)]>>>7-(q&7)&1),oe=g==v*255?0:255;c[ne+q]=oe<<24|g<<16|g<<8|g}else if(u==2)for(var q=0;q>>2)]>>>6-((q&3)<<1)&3),oe=g==v*85?0:255;c[ne+q]=oe<<24|g<<16|g<<8|g}else if(u==4)for(var q=0;q>>1)]>>>4-((q&1)<<2)&15),oe=g==v*17?0:255;c[ne+q]=oe<<24|g<<16|g<<8|g}else if(u==8)for(var q=0;q>>2<<3));i==0;){if(i=y(r,p,1),a=y(r,p+1,2),p+=3,a==0){(p&7)!=0&&(p+=8-(p&7));var R=(p>>>3)+4,T=r[R-4]|r[R-3]<<8;E&&(t=e.H.W(t,d+T)),t.set(new n(r.buffer,r.byteOffset+R,T),d),p=R+T<<3,d+=T;continue}if(E&&(t=e.H.W(t,d+(1<<17))),a==1&&(f=L.J,h=L.h,s=511,u=31),a==2){o=v(r,p,5)+257,l=v(r,p+5,5)+1,c=v(r,p+10,4)+4,p+=14;for(var G=p,H=1,k=0;k<38;k+=2)L.Q[k]=0,L.Q[k+1]=0;for(var k=0;kH&&(H=O)}p+=3*c,x(L.Q,H),P(L.Q,H,L.u),f=L.w,h=L.d,p=b(L.u,(1<>>4;if(!(q>>>8))t[d++]=q;else{if(q==256)break;var oe=d+q-254;if(q>264){var Z=L.q[q-257];oe=d+(Z>>>3)+v(r,p,Z&7),p+=Z&7}var de=h[F(r,p)&u];p+=de&15;var j=de>>>4,W=L.c[j],fe=(W>>>4)+y(r,p,W&15);for(p+=W&15;d>>4;if(d<=15)o[s]=d,s++;else{var p=0,f=0;d==16?(f=3+l(i,a,2),a+=2,p=o[s-1]):d==17?(f=3+l(i,a,3),a+=3):d==18&&(f=11+l(i,a,7),a+=7);for(var h=s+f;s>>1;oa&&(a=c),o++}for(;o>1,s=r[l+1],u=c<<4|s,d=t-s,p=r[l]<>>15-t;n[h]=u,p++}},e.H.l=function(r,t){for(var n=e.H.m.r,i=15-t,a=0;a>>i}},e.H.M=function(r,t,n){n=n<<(t&7);var i=t>>>3;r[i]|=n,r[i+1]|=n>>>8},e.H.I=function(r,t,n){n=n<<(t&7);var i=t>>>3;r[i]|=n,r[i+1]|=n>>>8,r[i+2]|=n>>>16},e.H.e=function(r,t,n){return(r[t>>>3]|r[(t>>>3)+1]<<8)>>>(t&7)&(1<>>3]|r[(t>>>3)+1]<<8|r[(t>>>3)+2]<<16)>>>(t&7)&(1<>>3]|r[(t>>>3)+1]<<8|r[(t>>>3)+2]<<16)>>>(t&7)},e.H.i=function(r,t){return(r[t>>>3]|r[(t>>>3)+1]<<8|r[(t>>>3)+2]<<16|r[(t>>>3)+3]<<24)>>>(t&7)},e.H.m=(function(){var r=Uint16Array,t=Uint32Array;return{K:new r(16),j:new r(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],T:[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],q:new r(32),p:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],z:[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],c:new t(32),J:new r(512),_:[],h:new r(32),$:[],w:new r(32768),C:[],v:[],d:new r(32768),D:[],u:new r(512),Q:[],r:new r(32768),s:new t(286),Y:new t(30),a:new t(19),t:new t(15e3),k:new r(65536),g:new r(32768)}})(),(function(){for(var r=e.H.m,t=32768,n=0;n>>1|(i&1431655765)<<1,i=(i&3435973836)>>>2|(i&858993459)<<2,i=(i&4042322160)>>>4|(i&252645135)<<4,i=(i&4278255360)>>>8|(i&16711935)<<8,r.r[n]=(i>>>16|i<<16)>>>17}function a(o,l,c){for(;l--!=0;)o.push(0,c)}for(var n=0;n<32;n++)r.q[n]=r.S[n]<<3|r.T[n],r.c[n]=r.p[n]<<4|r.z[n];a(r._,144,8),a(r._,112,9),a(r._,24,7),a(r._,8,8),e.H.n(r._,9),e.H.A(r._,9,r.J),e.H.l(r._,9),a(r.$,32,5),e.H.n(r.$,5),e.H.A(r.$,5,r.h),e.H.l(r.$,5),a(r.Q,19,0),a(r.C,286,0),a(r.D,30,0),a(r.v,320,0)})(),e.H.N})();xe.decode._readInterlace=function(e,r){for(var t=r.width,n=r.height,i=xe.decode._getBPP(r),a=i>>3,o=Math.ceil(t*i/8),l=new Uint8Array(n*o),c=0,s=[0,0,4,0,2,0,1],u=[0,4,0,2,0,1,0],d=[8,8,8,4,4,2,2],p=[8,8,4,4,2,2,1],f=0;f<7;){for(var h=d[f],A=p[f],y=0,v=0,b=s[f];b>3];T=T>>7-(R&7)&1,l[L*o+(E>>3)]|=T<<7-((E&7)<<0)}if(i==2){var T=e[R>>3];T=T>>6-(R&7)&3,l[L*o+(E>>2)]|=T<<6-((E&3)<<1)}if(i==4){var T=e[R>>3];T=T>>4-(R&7)&15,l[L*o+(E>>1)]|=T<<4-((E&1)<<2)}if(i>=8)for(var G=L*o+E*a,H=0;H>3)+H];R+=i,E+=A}F++,L+=h}y*v!=0&&(c+=v*(1+P)),f=f+1}return l};xe.decode._getBPP=function(e){var r=[1,null,3,1,2,null,4][e.ctype];return r*e.depth};xe.decode._filterZero=function(e,r,t,n,i){var a=xe.decode._getBPP(r),o=Math.ceil(n*a/8),l=xe.decode._paeth;a=Math.ceil(a/8);var c=0,s=1,u=e[t],d=0;if(u>1&&(e[t]=[0,0,1][u-2]),u==3)for(d=a;d>>1)&255;for(var p=0;p>>1);for(;d>>1)}else{for(;d>8&255,e[r+1]=t&255},readUint:function(e,r){return e[r]*(256*256*256)+(e[r+1]<<16|e[r+2]<<8|e[r+3])},writeUint:function(e,r,t){e[r]=t>>24&255,e[r+1]=t>>16&255,e[r+2]=t>>8&255,e[r+3]=t&255},readASCII:function(e,r,t){for(var n="",i=0;i=0&&l>=0?(d=f*r+h<<2,p=(l+f)*i+o+h<<2):(d=(-l+f)*r-o+h<<2,p=f*i+h<<2),c==0)n[p]=e[d],n[p+1]=e[d+1],n[p+2]=e[d+2],n[p+3]=e[d+3];else if(c==1){var A=e[d+3]*.00392156862745098,y=e[d]*A,v=e[d+1]*A,b=e[d+2]*A,x=n[p+3]*(1/255),P=n[p]*x,F=n[p+1]*x,L=n[p+2]*x,E=1-A,R=A+x*E,T=R==0?0:1/R;n[p+3]=255*R,n[p+0]=(y+P*E)*T,n[p+1]=(v+F*E)*T,n[p+2]=(b+L*E)*T}else if(c==2){var A=e[d+3],y=e[d],v=e[d+1],b=e[d+2],x=n[p+3],P=n[p],F=n[p+1],L=n[p+2];A==x&&y==P&&v==F&&b==L?(n[p]=0,n[p+1]=0,n[p+2]=0,n[p+3]=0):(n[p]=y,n[p+1]=v,n[p+2]=b,n[p+3]=A)}else if(c==3){var A=e[d+3],y=e[d],v=e[d+1],b=e[d+2],x=n[p+3],P=n[p],F=n[p+1],L=n[p+2];if(A==x&&y==P&&v==F&&b==L)continue;if(A<220&&x>20)return!1}return!0};xe.encode=function(e,r,t,n,i,a,o){n==null&&(n=0),o==null&&(o=!1);var l=xe.encode.compress(e,r,t,n,[!1,!1,!1,0,o]);return xe.encode.compressPNG(l,-1),xe.encode._main(l,r,t,i,a)};xe.encodeLL=function(e,r,t,n,i,a,o,l){for(var c={ctype:0+(n==1?0:2)+(i==0?0:4),depth:a,frames:[]},s=Date.now(),u=(n+i)*a,d=u*r,p=0;p1,d=!1,p=33+(u?20:0);if(i.sRGB!=null&&(p+=13),i.pHYs!=null&&(p+=21),e.ctype==3){for(var f=e.plte.length,h=0;h>>24!=255&&(d=!0);p+=8+f*3+4+(d?8+f*1+4:0)}for(var A=0;A>>8&255,E=P>>>16&255;v[s+x+0]=F,v[s+x+1]=L,v[s+x+2]=E}if(s+=f*3,o(v,s,a(v,s-f*3-4,f*3+4)),s+=4,d){o(v,s,f),s+=4,c(v,s,"tRNS"),s+=4;for(var h=0;h>>24&255;s+=f,o(v,s,a(v,s-f-4,f+4)),s+=4}}for(var R=0,A=0;A>2,k>>2));for(var f=0;fz&&q==g[y-z])ne[y]=ne[y-z];else{var oe=x[q];if(oe==null&&(x[q]=oe=P.length,P.push(q),P.length>=300))break;ne[y]=oe}}}var Z=P.length;Z<=256&&s==!1&&(Z<=2?d=1:Z<=4?d=2:Z<=16?d=4:d=8,d=Math.max(d,c));for(var f=0;f>1)]|=Se[Me+be]<<4-(be&1)*4;else if(d==2)for(var be=0;be>2)]|=Se[Me+be]<<6-(be&3)*2;else if(d==1)for(var be=0;be>3)]|=Se[Me+be]<<7-(be&7)*1}fe=Le,u=3,ye=1}else if(v==!1&&b.length==1){for(var Le=new Uint8Array(z*W*3),tt=z*W,y=0;yE&&(E=G),TR&&(R=T))}E==-1&&(F=L=E=R=0),i&&((F&1)==1&&F--,(L&1)==1&&L--);var k=(E-F+1)*(R-L+1);ky&&(y=P),Fv&&(v=F))}y==-1&&(h=A=y=v=0),o&&((h&1)==1&&h--,(A&1)==1&&A--),a={x:h,y:A,width:y-h+1,height:v-A+1};var R=n[i];R.rect=a,R.blend=1,R.img=new Uint8Array(a.width*a.height*4),n[i-1].dispose==0?(xe._copyTile(s,r,t,R.img,a.width,a.height,-a.x,-a.y,0),xe.encode._prepareDiff(p,r,t,R.img,a)):xe._copyTile(p,r,t,R.img,a.width,a.height,-a.x,-a.y,0)};xe.encode._prepareDiff=function(e,r,t,n,i){xe._copyTile(e,r,t,n,i.width,i.height,-i.x,-i.y,2)};xe.encode._filterZero=function(e,r,t,n,i,a,o){var l=[],c=[0,1,2,3,4];a!=-1?c=[a]:(r*n>5e5||t==1)&&(c=[0]);var s;o&&(s={level:0});for(var u=o&&UZIP!=null?UZIP:Mg.default,d=0;d>1)+256&255;if(a==4)for(var s=i;s>1)&255;for(var s=i;s>1)&255}if(a==4){for(var s=0;s>>1:t=t>>>1;e[r]=t}return e})(),update:function(e,r,t,n){for(var i=0;i>>8;return e},crc:function(e,r,t){return xe.crc.update(4294967295,e,r,t)^4294967295}};xe.quantize=function(e,r){for(var t=new Uint8Array(e),n=t.slice(0),i=new Uint32Array(n.buffer),a=xe.quantize.getKDtree(n,r),o=a[0],l=a[1],c=xe.quantize.planeDst,s=t,u=i,d=s.length,p=new Uint8Array(t.length>>2),f=0;f>2]=b.ind,u[f>>2]=b.est.rgba}return{abuf:n.buffer,inds:p,plte:l}};xe.quantize.getKDtree=function(e,r,t){t==null&&(t=1e-4);var n=new Uint32Array(e.buffer),i={i0:0,i1:e.length,bst:null,est:null,tdst:0,left:null,right:null};i.bst=xe.quantize.stats(e,i.i0,i.i1),i.est=xe.quantize.estats(i.bst);for(var a=[i];a.lengtho&&(o=a[c].est.L,l=c);if(o=u||s.i1<=u;if(d){s.est.L=0;continue}var p={i0:s.i0,i1:u,bst:null,est:null,tdst:0,left:null,right:null};p.bst=xe.quantize.stats(e,p.i0,p.i1),p.est=xe.quantize.estats(p.bst);var f={i0:u,i1:s.i1,bst:null,est:null,tdst:0,left:null,right:null};f.bst={R:[],m:[],N:s.bst.N-p.bst.N};for(var c=0;c<16;c++)f.bst.R[c]=s.bst.R[c]-p.bst.R[c];for(var c=0;c<4;c++)f.bst.m[c]=s.bst.m[c]-p.bst.m[c];f.est=xe.quantize.estats(f.bst),s.left=p,s.right=f,a[l]=p,a.push(f)}a.sort(function(h,A){return A.bst.N-h.bst.N});for(var c=0;c0&&(o=e.right,l=e.left);var c=xe.quantize.getNearest(o,r,t,n,i);if(c.tdst<=a*a)return c;var s=xe.quantize.getNearest(l,r,t,n,i);return s.tdsta;)n-=4;if(t>=n)break;var c=r[t>>2];r[t>>2]=r[n>>2],r[n>>2]=c,t+=4,n-=4}for(;o(e,t,i)>a;)t-=4;return t+4};xe.quantize.vecDot=function(e,r,t){return e[r]*t[0]+e[r+1]*t[1]+e[r+2]*t[2]+e[r+3]*t[3]};xe.quantize.stats=function(e,r,t){for(var n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],i=[0,0,0,0],a=t-r>>2,o=r;o>>0}};xe.M4={multVec:function(e,r){return[e[0]*r[0]+e[1]*r[1]+e[2]*r[2]+e[3]*r[3],e[4]*r[0]+e[5]*r[1]+e[6]*r[2]+e[7]*r[3],e[8]*r[0]+e[9]*r[1]+e[10]*r[2]+e[11]*r[3],e[12]*r[0]+e[13]*r[1]+e[14]*r[2]+e[15]*r[3]]},dot:function(e,r){return e[0]*r[0]+e[1]*r[1]+e[2]*r[2]+e[3]*r[3]},sml:function(e,r){return[e*r[0],e*r[1],e*r[2],e*r[3]]}};xe.encode.concatRGBA=function(e){for(var r=0,t=0;t1)throw new Error("Animated PNGs are not supported");var i=new Uint8Array(n[0]),a=_g(i),o=a.rgbChannel,l=a.alphaChannel;this.rgbChannel=o;var c=l.some(function(s){return s<255});c&&(this.alphaChannel=l),this.type=Og(t.ctype),this.width=t.width,this.height=t.height,this.bitsPerComponent=8}return e.load=function(r){return new e(r)},e})(),Wg=(function(){function e(r){this.image=r,this.bitsPerComponent=r.bitsPerComponent,this.width=r.width,this.height=r.height,this.colorSpace="DeviceRGB"}return e.for=function(r){return it(this,void 0,void 0,function(){var t;return at(this,function(n){return t=Ug.load(r),[2,new e(t)]})})},e.prototype.embedIntoContext=function(r,t){return it(this,void 0,void 0,function(){var n,i;return at(this,function(a){return n=this.embedAlphaChannel(r),i=r.flateStream(this.image.rgbChannel,{Type:"XObject",Subtype:"Image",BitsPerComponent:this.image.bitsPerComponent,Width:this.image.width,Height:this.image.height,ColorSpace:this.colorSpace,SMask:n}),t?(r.assign(t,i),[2,t]):[2,r.register(i)]})})},e.prototype.embedAlphaChannel=function(r){if(this.image.alphaChannel){var t=r.flateStream(this.image.alphaChannel,{Type:"XObject",Subtype:"Image",Height:this.image.height,Width:this.image.width,BitsPerComponent:this.image.bitsPerComponent,ColorSpace:"DeviceGray",Decode:[0,1]});return r.register(t)}},e})(),cd=Wg,Gg=(function(){function e(r,t,n){this.bytes=r,this.start=t||0,this.pos=this.start,this.end=t&&n?t+n:this.bytes.length}return Object.defineProperty(e.prototype,"length",{get:function(){return this.end-this.start},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isEmpty",{get:function(){return this.length===0},enumerable:!1,configurable:!0}),e.prototype.getByte=function(){return this.pos>=this.end?-1:this.bytes[this.pos++]},e.prototype.getUint16=function(){var r=this.getByte(),t=this.getByte();return r===-1||t===-1?-1:(r<<8)+t},e.prototype.getInt32=function(){var r=this.getByte(),t=this.getByte(),n=this.getByte(),i=this.getByte();return(r<<24)+(t<<16)+(n<<8)+i},e.prototype.getBytes=function(r,t){t===void 0&&(t=!1);var n=this.bytes,i=this.pos,a=this.end;if(r){var l=i+r;l>a&&(l=a),this.pos=l;var o=n.subarray(i,l);return t?new Uint8ClampedArray(o):o}else{var o=n.subarray(i,a);return t?new Uint8ClampedArray(o):o}},e.prototype.peekByte=function(){var r=this.getByte();return this.pos--,r},e.prototype.peekBytes=function(r,t){t===void 0&&(t=!1);var n=this.getBytes(r,t);return this.pos-=n.length,n},e.prototype.skip=function(r){r||(r=1),this.pos+=r},e.prototype.reset=function(){this.pos=this.start},e.prototype.moveStart=function(){this.start=this.pos},e.prototype.makeSubStream=function(r,t){return new e(this.bytes,r,t)},e.prototype.decode=function(){return this.bytes},e})(),ud=Gg,jg=new Uint8Array(0),qg=(function(){function e(r){if(this.pos=0,this.bufferLength=0,this.eof=!1,this.buffer=jg,this.minBufferLength=512,r)for(;this.minBufferLengtha&&(n=a)}else{for(;!this.eof;)this.readBlock();n=this.bufferLength}this.pos=n;var o=this.buffer.subarray(i,n);return t&&!(o instanceof Uint8ClampedArray)?new Uint8ClampedArray(o):o},e.prototype.peekByte=function(){var r=this.getByte();return this.pos--,r},e.prototype.peekBytes=function(r,t){t===void 0&&(t=!1);var n=this.getBytes(r,t);return this.pos-=n.length,n},e.prototype.skip=function(r){r||(r=1),this.pos+=r},e.prototype.reset=function(){this.pos=0},e.prototype.makeSubStream=function(r,t){for(var n=r+t;this.bufferLength<=n&&!this.eof;)this.readBlock();return new ud(this.buffer,r,t)},e.prototype.decode=function(){for(;!this.eof;)this.readBlock();return this.buffer.subarray(0,this.bufferLength)},e.prototype.readBlock=function(){throw new br(this.constructor.name,"readBlock")},e.prototype.ensureBuffer=function(r){var t=this.buffer;if(r<=t.byteLength)return t;for(var n=this.minBufferLength;n=0;--s)c[l+s]=d&255,d>>=8}},r})(la),Xg=Vg,Hg=(function(e){De(r,e);function r(t,n){var i=e.call(this,n)||this;return i.stream=t,i.firstDigit=-1,n&&(n=.5*n),i}return r.prototype.readBlock=function(){var t=8e3,n=this.stream.getBytes(t);if(!n.length){this.eof=!0;return}for(var i=n.length+1>>1,a=this.ensureBuffer(this.bufferLength+i),o=this.bufferLength,l=this.firstDigit,c=0,s=n.length;c=48&&u<=57)d=u&15;else if(u>=65&&u<=70||u>=97&&u<=102)d=(u&15)+9;else if(u===62){this.eof=!0;break}else continue;l<0?l=d:(a[o++]=l<<4|d,l=-1)}l>=0&&this.eof&&(a[o++]=l<<4,l=-1),this.firstDigit=l,this.bufferLength=o},r})(la),Kg=Hg,fu=new Int32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Qg=new Int32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),Zg=new Int32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),Yg=[new Int32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],Jg=[new Int32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5],$g=(function(e){De(r,e);function r(t,n){var i=e.call(this,n)||this;i.stream=t;var a=t.getByte(),o=t.getByte();if(a===-1||o===-1)throw new Error("Invalid header in flate stream: "+a+", "+o);if((a&15)!==8)throw new Error("Unknown compression method in flate stream: "+a+", "+o);if(((a<<8)+o)%31!==0)throw new Error("Bad FCHECK in flate stream: "+a+", "+o);if(o&32)throw new Error("FDICT bit set in flate stream: "+a+", "+o);return i.codeSize=0,i.codeBuf=0,i}return r.prototype.readBlock=function(){var t,n,i=this.stream,a=this.getBits(3);if(a&1&&(this.eof=!0),a>>=1,a===0){var o=void 0;if((o=i.getByte())===-1)throw new Error("Bad block header in flate stream");var l=o;if((o=i.getByte())===-1)throw new Error("Bad block header in flate stream");if(l|=o<<8,(o=i.getByte())===-1)throw new Error("Bad block header in flate stream");var c=o;if((o=i.getByte())===-1)throw new Error("Bad block header in flate stream");if(c|=o<<8,c!==(~l&65535)&&(l!==0||c!==0))throw new Error("Bad uncompressed block length in flate stream");this.codeBuf=0,this.codeSize=0;var s=this.bufferLength;t=this.ensureBuffer(s+l);var u=s+l;if(this.bufferLength=u,l===0)i.peekByte()===-1&&(this.eof=!0);else for(var d=s;d0;)F[b++]=R}p=this.generateHuffmanTable(F.subarray(0,h)),f=this.generateHuffmanTable(F.subarray(h,P))}else throw new Error("Unknown block type in flate stream");t=this.buffer;for(var H=t?t.length:0,k=this.bufferLength;;){var O=this.getCode(p);if(O<256){k+1>=H&&(t=this.ensureBuffer(k+1),H=t.length),t[k++]=O;continue}if(O===256){this.bufferLength=k;return}O-=257,O=Qg[O];var g=O>>16;g>0&&(g=this.getBits(g)),n=(O&65535)+g,O=this.getCode(f),O=Zg[O],g=O>>16,g>0&&(g=this.getBits(g));var z=(O&65535)+g;k+n>=H&&(t=this.ensureBuffer(k+n),H=t.length);for(var ne=0;ne>t,this.codeSize=i-=t,o},r.prototype.getCode=function(t){for(var n=this.stream,i=t[0],a=t[1],o=this.codeSize,l=this.codeBuf,c;o>16,d=s&65535;if(u<1||o>u,this.codeSize=o-u,d},r.prototype.generateHuffmanTable=function(t){var n=t.length,i=0,a;for(a=0;ai&&(i=t[a]);for(var o=1<>=1;for(a=p;a0;if(!F||F<256)y[0]=F,v=1;else if(F>=258)if(F=0;o--)y[o]=d[l],l=f[l];else y[v++]=y[0];else if(F===256){h=9,u=258,v=0;continue}else{this.eof=!0,delete this.lzwState;break}if(L&&(f[u]=A,p[u]=p[A]+1,d[u]=y[0],u++,h=u+s&u+s-1?h:Math.min(Math.log(u+s)/.6931471805599453+1,12)|0),A=F,b+=v,n>>n&(1<0){var o=this.stream.getBytes(a);n.set(o,i),i+=a}}else{a=257-a;var l=t[1];n=this.ensureBuffer(i+a+1);for(var c=0;cn.size())throw new lo(t,0,n.size());n.remove(t)}else{if(t!==0)throw new lo(t,0,0);this.setKids([])}},r.prototype.normalizedEntries=function(){var t=this.Kids();return t||(t=this.dict.context.obj([this.ref]),this.dict.set(V.of("Kids"),t)),{Kids:t}},r.fromDict=function(t,n){return new r(t,n)},r})(hd),pi=gm,mm=(function(e){De(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.prototype.Opt=function(){return this.dict.lookupMaybe(V.of("Opt"),wt,qe,vt)},r.prototype.setOpt=function(t){this.dict.set(V.of("Opt"),this.dict.context.obj(t))},r.prototype.getExportValues=function(){var t=this.Opt();if(t){if(t instanceof wt||t instanceof qe)return[t];for(var n=[],i=0,a=t.size();in.size())throw new lo(t,0,n.size());n.remove(t)}},r.prototype.normalizeExportValues=function(){for(var t,n,i,a,o=(t=this.getExportValues())!==null&&t!==void 0?t:[],l=[],c=this.getWidgets(),s=0,u=c.length;s1){if(!this.hasFlag(bt.MultiSelect))throw new BA;this.dict.set(V.of("V"),this.dict.context.obj(t))}this.updateSelectedIndices(t)},r.prototype.valuesAreValid=function(t){for(var n=this.getOptions(),i=function(c,s){var u=t[c].decodeText();if(!n.find(function(d){return u===(d.display||d.value).decodeText()}))return{value:!1}},a=0,o=t.length;a1){for(var n=new Array(t.length),i=this.getOptions(),a=function(c,s){var u=t[c].decodeText();n[c]=i.findIndex(function(d){return u===(d.display||d.value).decodeText()})},o=0,l=t.length;o0){var l=o.lookup(0,wt,qe),c=o.lookupMaybe(1,wt,qe);n.push({value:l,display:c||l})}}return n}return[]},r})(pi),pd=ym,bm=(function(e){De(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.fromDict=function(t,n){return new r(t,n)},r.create=function(t){var n=t.obj({FT:"Ch",Ff:bt.Combo,Kids:[]}),i=t.register(n);return new r(n,i)},r})(pd),Do=bm,wm=(function(e){De(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.prototype.addField=function(t){var n=this.normalizedEntries().Kids;n?.push(t)},r.prototype.normalizedEntries=function(){var t=this.Kids();return t||(t=this.dict.context.obj([]),this.dict.set(V.of("Kids"),t)),{Kids:t}},r.fromDict=function(t,n){return new r(t,n)},r.create=function(t){var n=t.obj({}),i=t.register(n);return new r(n,i)},r})(hd),fo=wm,xm=(function(e){De(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.fromDict=function(t,n){return new r(t,n)},r})(pi),pl=xm,Sm=(function(e){De(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.prototype.MaxLen=function(){var t=this.dict.lookup(V.of("MaxLen"));if(t instanceof Qe)return t},r.prototype.Q=function(){var t=this.dict.lookup(V.of("Q"));if(t instanceof Qe)return t},r.prototype.setMaxLength=function(t){this.dict.set(V.of("MaxLen"),Qe.of(t))},r.prototype.removeMaxLength=function(){this.dict.delete(V.of("MaxLen"))},r.prototype.getMaxLength=function(){var t;return(t=this.MaxLen())===null||t===void 0?void 0:t.asNumber()},r.prototype.setQuadding=function(t){this.dict.set(V.of("Q"),Qe.of(t))},r.prototype.getQuadding=function(){var t;return(t=this.Q())===null||t===void 0?void 0:t.asNumber()},r.prototype.setValue=function(t){this.dict.set(V.of("V"),t)},r.prototype.removeValue=function(){this.dict.delete(V.of("V"))},r.prototype.getValue=function(){var t=this.V();if(t instanceof wt||t instanceof qe)return t},r.fromDict=function(t,n){return new r(t,n)},r.create=function(t){var n=t.obj({FT:"Tx",Kids:[]}),i=t.register(n);return new r(n,i)},r})(pi),Eo=Sm,km=(function(e){De(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.fromDict=function(t,n){return new r(t,n)},r.create=function(t){var n=t.obj({FT:"Btn",Ff:mr.PushButton,Kids:[]}),i=t.register(n);return new r(n,i)},r})(hl),Bo=km,Cm=(function(e){De(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.prototype.setValue=function(t){var n=this.getOnValues();if(!n.includes(t)&&t!==V.of("Off"))throw new ll;this.dict.set(V.of("V"),t);for(var i=this.getWidgets(),a=0,o=i.length;aa)throw new eu(n,a);for(var o=n,l=0,c=i.size();lo)return u.insertLeafNode(t,o)||s;o-=u.Count().asNumber()}u instanceof Kr&&(o-=1)}if(o===0){this.insertLeafKid(i.size(),t);return}throw new tu(n,"insertLeafNode")},r.prototype.removeLeafNode=function(t,n){n===void 0&&(n=!0);var i=this.Kids(),a=this.Count().asNumber();if(t>=a)throw new eu(t,a);for(var o=t,l=0,c=i.size();lo){u.removeLeafNode(o,n),n&&u.Kids().size()===0&&i.remove(l);return}else o-=u.Count().asNumber();if(u instanceof Kr)if(o===0){this.removeKid(l);return}else o-=1}throw new tu(t,"removeLeafNode")},r.prototype.ascend=function(t){t(this);var n=this.Parent();n&&n.ascend(t)},r.prototype.traverse=function(t){for(var n=this.Kids(),i=0,a=n.size();iNumber.MAX_SAFE_INTEGER)if(this.capNumbers){var i="Parsed number that is too large for some PDF readers: "+r+", using Number.MAX_SAFE_INTEGER instead.";return console.warn(i),Number.MAX_SAFE_INTEGER}else{var i="Parsed number that is too large for some PDF readers: "+r+", not capping.";console.warn(i)}return n},e.prototype.skipWhitespace=function(){for(;!this.bytes.done()&&Yr[this.bytes.peek()];)this.bytes.next()},e.prototype.skipLine=function(){for(;!this.bytes.done();){var r=this.bytes.peek();if(r===Au||r===gu)return;this.bytes.next()}},e.prototype.skipComment=function(){if(this.bytes.peek()!==Q.Percent)return!1;for(;!this.bytes.done();){var r=this.bytes.peek();if(r===Au||r===gu)return!0;this.bytes.next()}return!0},e.prototype.skipWhitespaceAndComments=function(){for(this.skipWhitespace();this.skipComment();)this.skipWhitespace()},e.prototype.matchKeyword=function(r){for(var t=this.bytes.offset(),n=0,i=r.length;n=this.length},e.prototype.offset=function(){return this.idx},e.prototype.slice=function(r,t){return this.bytes.slice(r,t)},e.prototype.position=function(){return{line:this.line,column:this.column,offset:this.idx}},e.of=function(r){return new e(r)},e.fromPDFRawStream=function(r){return e.of(dd(r).decode())},e})(),Io=zm,Mm=Q.Space,Ni=Q.CarriageReturn,Ii=Q.Newline,zi=[Q.s,Q.t,Q.r,Q.e,Q.a,Q.m],qa=[Q.e,Q.n,Q.d,Q.s,Q.t,Q.r,Q.e,Q.a,Q.m],Ct={header:[Q.Percent,Q.P,Q.D,Q.F,Q.Dash],eof:[Q.Percent,Q.Percent,Q.E,Q.O,Q.F],obj:[Q.o,Q.b,Q.j],endobj:[Q.e,Q.n,Q.d,Q.o,Q.b,Q.j],xref:[Q.x,Q.r,Q.e,Q.f],trailer:[Q.t,Q.r,Q.a,Q.i,Q.l,Q.e,Q.r],startxref:[Q.s,Q.t,Q.a,Q.r,Q.t,Q.x,Q.r,Q.e,Q.f],true:[Q.t,Q.r,Q.u,Q.e],false:[Q.f,Q.a,Q.l,Q.s,Q.e],null:[Q.n,Q.u,Q.l,Q.l],stream:zi,streamEOF1:ht(zi,[Mm,Ni,Ii]),streamEOF2:ht(zi,[Ni,Ii]),streamEOF3:ht(zi,[Ni]),streamEOF4:ht(zi,[Ii]),endstream:qa,EOF1endstream:ht([Ni,Ii],qa),EOF2endstream:ht([Ni],qa),EOF3endstream:ht([Ii],qa)},Om=(function(e){De(r,e);function r(t,n,i){i===void 0&&(i=!1);var a=e.call(this,t,i)||this;return a.context=n,a}return r.prototype.parseObject=function(){if(this.skipWhitespaceAndComments(),this.matchKeyword(Ct.true))return $i.True;if(this.matchKeyword(Ct.false))return $i.False;if(this.matchKeyword(Ct.null))return rr;var t=this.bytes.peek();if(t===Q.LessThan&&this.bytes.peekAhead(1)===Q.LessThan)return this.parseDictOrStream();if(t===Q.LessThan)return this.parseHexString();if(t===Q.LeftParen)return this.parseString();if(t===Q.ForwardSlash)return this.parseName();if(t===Q.LeftSquareBracket)return this.parseArray();if(ml[t])return this.parseNumberOrRef();throw new IA(this.bytes.position(),t)},r.prototype.parseNumberOrRef=function(){var t=this.parseRawNumber();this.skipWhitespaceAndComments();var n=this.bytes.offset();if(Kt[this.bytes.peek()]){var i=this.parseRawNumber();if(this.skipWhitespaceAndComments(),this.bytes.peek()===Q.R)return this.bytes.assertNext(Q.R),xt.of(t,i)}return this.bytes.moveTo(n),Qe.of(t)},r.prototype.parseHexString=function(){var t="";for(this.bytes.assertNext(Q.LessThan);!this.bytes.done()&&this.bytes.peek()!==Q.GreaterThan;)t+=Xr(this.bytes.next());return this.bytes.assertNext(Q.GreaterThan),qe.of(t)},r.prototype.parseString=function(){for(var t=0,n=!1,i="";!this.bytes.done();){var a=this.bytes.next();if(i+=Xr(a),n||(a===Q.LeftParen&&(t+=1),a===Q.RightParen&&(t-=1)),a===Q.BackSlash?n=!n:n&&(n=!1),t===0)return wt.of(i.substring(1,i.length-1))}throw new OA(this.bytes.position())},r.prototype.parseName=function(){this.bytes.assertNext(Q.ForwardSlash);for(var t="";!this.bytes.done();){var n=this.bytes.peek();if(Yr[n]||kr[n])break;t+=Xr(n),this.bytes.next()}return V.of(t)},r.prototype.parseArray=function(){this.bytes.assertNext(Q.LeftSquareBracket),this.skipWhitespaceAndComments();for(var t=vt.withContext(this.context);this.bytes.peek()!==Q.RightSquareBracket;){var n=this.parseObject();t.push(n),this.skipWhitespaceAndComments()}return this.bytes.assertNext(Q.RightSquareBracket),t},r.prototype.parseDict=function(){this.bytes.assertNext(Q.LessThan),this.bytes.assertNext(Q.LessThan),this.skipWhitespaceAndComments();for(var t=new Map;!this.bytes.done()&&this.bytes.peek()!==Q.GreaterThan&&this.bytes.peekAhead(1)!==Q.GreaterThan;){var n=this.parseName(),i=this.parseObject();t.set(n,i),this.skipWhitespaceAndComments()}this.skipWhitespaceAndComments(),this.bytes.assertNext(Q.GreaterThan),this.bytes.assertNext(Q.GreaterThan);var a=t.get(V.of("Type"));return a===V.of("Catalog")?md.fromMapWithContext(t,this.context):a===V.of("Pages")?vd.fromMapWithContext(t,this.context):a===V.of("Page")?Kr.fromMapWithContext(t,this.context):rt.fromMapWithContext(t,this.context)},r.prototype.parseDictOrStream=function(){var t=this.bytes.position(),n=this.parseDict();if(this.skipWhitespaceAndComments(),!this.matchKeyword(Ct.streamEOF1)&&!this.matchKeyword(Ct.streamEOF2)&&!this.matchKeyword(Ct.streamEOF3)&&!this.matchKeyword(Ct.streamEOF4)&&!this.matchKeyword(Ct.stream))return n;var i=this.bytes.offset(),a,o=n.get(V.of("Length"));o instanceof Qe?(a=i+o.asNumber(),this.bytes.moveTo(a),this.skipWhitespaceAndComments(),this.matchKeyword(Ct.endstream)||(this.bytes.moveTo(i),a=this.findEndOfStreamFallback(t))):a=this.findEndOfStreamFallback(t);var l=this.bytes.slice(i,a);return ea.of(n,l)},r.prototype.findEndOfStreamFallback=function(t){for(var n=1,i=this.bytes.offset();!this.bytes.done()&&(i=this.bytes.offset(),this.matchKeyword(Ct.stream)?n+=1:this.matchKeyword(Ct.EOF1endstream)||this.matchKeyword(Ct.EOF2endstream)||this.matchKeyword(Ct.EOF3endstream)||this.matchKeyword(Ct.endstream)?n-=1:this.bytes.next(),n!==0););if(n!==0)throw new MA(t);return i},r.forBytes=function(t,n,i){return new r(Io.of(t),n,i)},r.forByteStream=function(t,n,i){return i===void 0&&(i=!1),new r(t,n,i)},r})(Im),yd=Om,_m=(function(e){De(r,e);function r(t,n){var i=e.call(this,Io.fromPDFRawStream(t),t.dict.context)||this,a=t.dict;return i.alreadyParsed=!1,i.shouldWaitForTick=n||(function(){return!1}),i.firstOffset=a.lookup(V.of("First"),Qe).asNumber(),i.objectCount=a.lookup(V.of("N"),Qe).asNumber(),i}return r.prototype.parseIntoContext=function(){return it(this,void 0,void 0,function(){var t,n,i,a,o,l,c,s;return at(this,function(u){switch(u.label){case 0:if(this.alreadyParsed)throw new sl("PDFObjectStreamParser","parseIntoContext");this.alreadyParsed=!0,t=this.parseOffsetsAndObjectNumbers(),n=0,i=t.length,u.label=1;case 1:return n=Q.Space&&n<=Q.Tilde;if(i&&(this.matchKeyword(Ct.xref)||this.matchKeyword(Ct.trailer)||this.matchKeyword(Ct.startxref)||this.matchIndirectObjectHeader())){this.bytes.moveTo(t);break}this.bytes.next()}},r.prototype.skipBinaryHeaderComment=function(){this.skipWhitespaceAndComments();try{var t=this.bytes.offset();this.parseIndirectObjectHeader(),this.bytes.moveTo(t)}catch{this.bytes.next(),this.skipWhitespaceAndComments()}},r.forBytesWithOptions=function(t,n,i,a){return new r(t,n,i,a)},r})(yd),qm=jm,Ir=function(e){return 1<0&&(n[n.length]=+i),t[t.length]={cmd:r,args:n},n=[],i="",a=!1),r=s;else if([" ",","].includes(s)||s==="-"&&i.length>0&&i[i.length-1]!=="e"||s==="."&&a){if(i.length===0)continue;n.length===o?(t[t.length]={cmd:r,args:n},n=[+i],r==="M"&&(r="L"),r==="m"&&(r="l")):n[n.length]=+i,a=s===".",i=["-","."].includes(s)?s:""}else i+=s,s==="."&&(a=!0)}return i.length>0&&(n.length===o?(t[t.length]={cmd:r,args:n},n=[+i],r==="M"&&(r="L"),r==="m"&&(r="l")):n[n.length]=+i),t[t.length]={cmd:r,args:n},t},nv=function(e){Ue=We=ct=ut=Ui=Wi=0;for(var r=[],t=0;t1&&(p=Math.sqrt(p),t*=p,n*=p);var f=d/t,h=u/t,A=-u/n,y=d/n,v=f*l+h*c,b=A*l+y*c,x=f*e+h*r,P=A*e+y*r,F=(x-v)*(x-v)+(P-b)*(P-b),L=1/F-.25;L<0&&(L=0);var E=Math.sqrt(L);a===i&&(E=-E);var R=.5*(v+x)-E*(P-b),T=.5*(b+P)+E*(x-v),G=Math.atan2(b-T,v-R),H=Math.atan2(P-T,x-R),k=H-G;k<0&&a===1?k+=2*Math.PI:k>0&&a===0&&(k-=2*Math.PI);for(var O=Math.ceil(Math.abs(k/(Math.PI*.5+.001))),g=[],z=0;ze.length)return i-1;var y=r.heightAtSize(i),v=y+y*.2,b=v*a;if(b>Math.abs(t.height))return i-1;i+=1}return i},Cv=function(e,r,t,n){for(var i=t.width/n,a=t.height,o=Md,l=Bp(e);oi*.75;if(d)return o-1}var p=r.heightAtSize(o,{descender:!1});if(p>a)return o-1;o+=1}return o},Pv=function(e){for(var r=e.length;r>0;r--)if(/\s/.test(e[r]))return r},Fv=function(e,r,t,n){for(var i,a=e.length;a>0;){var o=e.substring(0,a),l=t.encodeText(o),c=t.widthOfTextAtSize(o,n);if(cp&&(p=E+F),h+l>f&&(f=h+l),s.push({text:x,encoded:P,width:F,height:l,x:E,y:h}),v=L?.trim()}return{fontSize:n,lineHeight:c,lines:s,bounds:{x:u,y:d,width:p-u,height:f-d}}},Tv=function(e,r){var t=r.fontSize,n=r.font,i=r.bounds,a=r.cellCount,o=ju(oa(e));if(o.length>a)throw new xv(o.length,a);(t===void 0||t===0)&&(t=Cv(o,n,i,a));for(var l=i.width/a,c=n.heightAtSize(t,{descender:!1}),s=i.y+(i.height/2-c/2),u=[],d=i.x,p=i.y,f=i.x+i.width,h=i.y+i.height,A=0,y=0;Af&&(f=E+F),s+c>h&&(h=s+c),u.push({text:o,encoded:P,width:F,height:c,x:E,y:s}),A+=1,y+=x}return{fontSize:t,cells:u,bounds:{x:d,y:p,width:f-d,height:h-p}}},vo=function(e,r){var t=r.alignment,n=r.fontSize,i=r.font,a=r.bounds,o=ju(oa(e));(n===void 0||n===0)&&(n=_d([o],i,a));var l=i.encodeText(o),c=i.widthOfTextAtSize(o,n),s=i.heightAtSize(n,{descender:!1}),u=t===zt.Left?a.x:t===zt.Center?a.x+a.width/2-c/2:t===zt.Right?a.x+a.width-c:a.x,d=a.y+(a.height/2-s/2);return{fontSize:n,line:{text:o,encoded:l,width:c,height:s,x:u,y:d},bounds:{x:u,y:d,width:c,height:s}}},gi=function(e){return"normal"in e?e:{normal:e}},Dv=/\/([^\0\t\n\f\r\ ]+)[\0\t\n\f\r\ ]+(\d*\.\d+|\d+)[\0\t\n\f\r\ ]+Tf/,wn=function(e){var r,t,n=(r=e.getDefaultAppearance())!==null&&r!==void 0?r:"",i=(t=al(n,Dv).match)!==null&&t!==void 0?t:[],a=Number(i[2]);return isFinite(a)?a:void 0},Ev=/(\d*\.\d+|\d+)[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]+(g|rg|k)/,xr=function(e){var r,t=(r=e.getDefaultAppearance())!==null&&r!==void 0?r:"",n=al(t,Ev).match,i=n??[],a=i[1],o=i[2],l=i[3],c=i[4],s=i[5];if(s==="g"&&a)return Rd(Number(a));if(s==="rg"&&a&&o&&l)return St(Number(a),Number(o),Number(l));if(s==="k"&&a&&o&&l&&c)return Ld(Number(a),Number(o),Number(l),Number(c))},Sr=function(e,r,t,n){var i;n===void 0&&(n=0);var a=[jn(r).toString(),wl((i=t?.name)!==null&&i!==void 0?i:"dummy__noop",n).toString()].join(` +`);e.setDefaultAppearance(a)},Bv=function(e,r){var t,n,i,a=xr(r),o=xr(e.acroField),l=r.getRectangle(),c=r.getAppearanceCharacteristics(),s=r.getBorderStyle(),u=(t=s?.getWidth())!==null&&t!==void 0?t:0,d=Jr(c?.getRotation()),p=Wn(l,d),f=p.width,h=p.height,A=Cn($e($e({},l),{rotation:d})),y=St(0,0,0),v=(n=er(c?.getBorderColor()))!==null&&n!==void 0?n:y,b=er(c?.getBackgroundColor()),x=er(c?.getBackgroundColor(),.8),P=(i=a??o)!==null&&i!==void 0?i:y;Sr(a?r:e.acroField,P);var F={x:0+u/2,y:0+u/2,width:f-u,height:h-u,thickness:1.5,borderWidth:u,borderColor:v,markColor:P};return{normal:{on:ht(A,Ha($e($e({},F),{color:b,filled:!0}))),off:ht(A,Ha($e($e({},F),{color:b,filled:!1})))},down:{on:ht(A,Ha($e($e({},F),{color:x,filled:!0}))),off:ht(A,Ha($e($e({},F),{color:x,filled:!1})))}}},Rv=function(e,r){var t,n,i,a=xr(r),o=xr(e.acroField),l=r.getRectangle(),c=r.getAppearanceCharacteristics(),s=r.getBorderStyle(),u=(t=s?.getWidth())!==null&&t!==void 0?t:0,d=Jr(c?.getRotation()),p=Wn(l,d),f=p.width,h=p.height,A=Cn($e($e({},l),{rotation:d})),y=St(0,0,0),v=(n=er(c?.getBorderColor()))!==null&&n!==void 0?n:y,b=er(c?.getBackgroundColor()),x=er(c?.getBackgroundColor(),.8),P=(i=a??o)!==null&&i!==void 0?i:y;Sr(a?r:e.acroField,P);var F={x:f/2,y:h/2,width:f-u,height:h-u,borderWidth:u,borderColor:v,dotColor:P};return{normal:{on:ht(A,Ka($e($e({},F),{color:b,filled:!0}))),off:ht(A,Ka($e($e({},F),{color:b,filled:!1})))},down:{on:ht(A,Ka($e($e({},F),{color:x,filled:!0}))),off:ht(A,Ka($e($e({},F),{color:x,filled:!1})))}}},Lv=function(e,r,t){var n,i,a,o,l,c=xr(r),s=xr(e.acroField),u=wn(r),d=wn(e.acroField),p=r.getRectangle(),f=r.getAppearanceCharacteristics(),h=r.getBorderStyle(),A=f?.getCaptions(),y=(n=A?.normal)!==null&&n!==void 0?n:"",v=(a=(i=A?.down)!==null&&i!==void 0?i:y)!==null&&a!==void 0?a:"",b=(o=h?.getWidth())!==null&&o!==void 0?o:0,x=Jr(f?.getRotation()),P=Wn(p,x),F=P.width,L=P.height,E=Cn($e($e({},p),{rotation:x})),R=St(0,0,0),T=er(f?.getBorderColor()),G=er(f?.getBackgroundColor()),H=er(f?.getBackgroundColor(),.8),k={x:b,y:b,width:F-b*2,height:L-b*2},O=vo(y,{alignment:zt.Center,fontSize:u??d,font:t,bounds:k}),g=vo(v,{alignment:zt.Center,fontSize:u??d,font:t,bounds:k}),z=Math.min(O.fontSize,g.fontSize),ne=(l=c??s)!==null&&l!==void 0?l:R;Sr(c||u!==void 0?r:e.acroField,ne,t,z);var q={x:0+b/2,y:0+b/2,width:F-b,height:L-b,borderWidth:b,borderColor:T,textColor:ne,font:t.name,fontSize:z};return{normal:ht(E,Su($e($e({},q),{color:G,textLines:[O.line]}))),down:ht(E,Su($e($e({},q),{color:H,textLines:[g.line]})))}},Nv=function(e,r,t){var n,i,a,o,l=xr(r),c=xr(e.acroField),s=wn(r),u=wn(e.acroField),d=r.getRectangle(),p=r.getAppearanceCharacteristics(),f=r.getBorderStyle(),h=(n=e.getText())!==null&&n!==void 0?n:"",A=(i=f?.getWidth())!==null&&i!==void 0?i:0,y=Jr(p?.getRotation()),v=Wn(d,y),b=v.width,x=v.height,P=Cn($e($e({},d),{rotation:y})),F=St(0,0,0),L=er(p?.getBorderColor()),E=er(p?.getBackgroundColor()),R,T,G=e.isCombed()?0:1,H={x:A+G,y:A+G,width:b-(A+G)*2,height:x-(A+G)*2};if(e.isMultiline()){var k=Ud(h,{alignment:e.getAlignment(),fontSize:s??u,font:t,bounds:H});R=k.lines,T=k.fontSize}else if(e.isCombed()){var k=Tv(h,{fontSize:s??u,font:t,bounds:H,cellCount:(a=e.getMaxLength())!==null&&a!==void 0?a:0});R=k.cells,T=k.fontSize}else{var k=vo(h,{alignment:e.getAlignment(),fontSize:s??u,font:t,bounds:H});R=[k.line],T=k.fontSize}var O=(o=l??c)!==null&&o!==void 0?o:F;Sr(l||s!==void 0?r:e.acroField,O,t,T);var g={x:0+A/2,y:0+A/2,width:b-A,height:x-A,borderWidth:A??0,borderColor:L,textColor:O,font:t.name,fontSize:T,color:E,textLines:R,padding:G};return ht(P,Id(g))},Iv=function(e,r,t){var n,i,a,o=xr(r),l=xr(e.acroField),c=wn(r),s=wn(e.acroField),u=r.getRectangle(),d=r.getAppearanceCharacteristics(),p=r.getBorderStyle(),f=(n=e.getSelected()[0])!==null&&n!==void 0?n:"",h=(i=p?.getWidth())!==null&&i!==void 0?i:0,A=Jr(d?.getRotation()),y=Wn(u,A),v=y.width,b=y.height,x=Cn($e($e({},u),{rotation:A})),P=St(0,0,0),F=er(d?.getBorderColor()),L=er(d?.getBackgroundColor()),E=1,R={x:h+E,y:h+E,width:v-(h+E)*2,height:b-(h+E)*2},T=vo(f,{alignment:zt.Left,fontSize:c??s,font:t,bounds:R}),G=T.line,H=T.fontSize,k=(a=o??l)!==null&&a!==void 0?a:P;Sr(o||c!==void 0?r:e.acroField,k,t,H);var O={x:0+h/2,y:0+h/2,width:v-h,height:b-h,borderWidth:h??0,borderColor:F,textColor:k,font:t.name,fontSize:H,color:L,textLines:[G],padding:E};return ht(x,Id(O))},zv=function(e,r,t){var n,i,a=xr(r),o=xr(e.acroField),l=wn(r),c=wn(e.acroField),s=r.getRectangle(),u=r.getAppearanceCharacteristics(),d=r.getBorderStyle(),p=(n=d?.getWidth())!==null&&n!==void 0?n:0,f=Jr(u?.getRotation()),h=Wn(s,f),A=h.width,y=h.height,v=Cn($e($e({},s),{rotation:f})),b=St(0,0,0),x=er(u?.getBorderColor()),P=er(u?.getBackgroundColor()),F=e.getOptions(),L=e.getSelected();e.isSorted()&&F.sort();for(var E="",R=0,T=F.length;R1||i.length===1&&n)&&this.enableMultiselect();for(var l=new Array(i.length),c=0,s=i.length;c1||i.length===1&&n)&&this.enableMultiselect();for(var o=new Array(i.length),l=0,c=i.length;ln)throw new Sv(t.length,n,this.getName());this.markAsDirty(),this.disableRichFormatting(),t?this.acroField.setValue(qe.fromText(t)):this.acroField.removeValue()},r.prototype.getAlignment=function(){var t=this.acroField.getQuadding();return t===0?zt.Left:t===1?zt.Center:t===2?zt.Right:zt.Left},r.prototype.setAlignment=function(t){gn(t,"alignment",zt),this.markAsDirty(),this.acroField.setQuadding(t)},r.prototype.getMaxLength=function(){return this.acroField.getMaxLength()},r.prototype.setMaxLength=function(t){if(Tr(t,"maxLength",0,Number.MAX_SAFE_INTEGER),this.markAsDirty(),t===void 0)this.acroField.removeMaxLength();else{var n=this.getText();if(n&&n.length>t)throw new kv(n.length,t,this.getName());this.acroField.setMaxLength(t)}},r.prototype.removeMaxLength=function(){this.markAsDirty(),this.acroField.removeMaxLength()},r.prototype.setImage=function(t){for(var n=this.getAlignment(),i=n===zt.Center?vn.Center:n===zt.Right?vn.Right:vn.Left,a=this.acroField.getWidgets(),o=0,l=a.length;o=100?e:typeof e=="string"&&e.includes("%")?Math.round(r&&r==="X"?parseFloat(e)/100*t.width:r&&r==="Y"?parseFloat(e)/100*t.height:parseFloat(e)/100*t.width):0}function io(e){return e.replace(/[xy]/g,function(r){let t=Math.random()*16|0;return(r==="x"?t:t&3|8).toString(16)})}function Ve(e){return typeof e>"u"||e==null?"":e.toString().replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function lt(e){return typeof e=="number"&&e>100?e:(typeof e=="string"&&(e=Number(e.replace(/in*/gi,""))),Math.round(Ke*e))}function Ge(e){let r=Number(e)||0;return isNaN(r)?0:Math.round(r*fa)}function Un(e){return e=e||0,Math.round((e>360?e-360:e)*6e4)}function Es(e){let r=e.toString(16);return r.length===1?"0"+r:r}function Bs(e,r,t){return(Es(e)+Es(r)+Es(t)).toUpperCase()}function ft(e,r){let t=(e||"").replace("#","");!Ds.test(t)&&t!==lr.background1&&t!==lr.background2&&t!==lr.text1&&t!==lr.text2&&t!==lr.accent1&&t!==lr.accent2&&t!==lr.accent3&&t!==lr.accent4&&t!==lr.accent5&&t!==lr.accent6&&(console.warn(`"${t}" is not a valid scheme color or hex RGB! "${nr}" used instead. Only provide 6-digit RGB or 'pptx.SchemeColor' values!`),t=nr);let n=Ds.test(t)?"srgbClr":"schemeClr",i='val="'+(Ds.test(t)?t.toUpperCase():t)+'"';return r?`${r}`:``}function p0(e,r){let t="",n=Object.assign(Object.assign({},r),e),i=Math.round(n.size*fa),a=n.color,o=Math.round(n.opacity*1e5);return t+=``,t+=ft(a,``),t+="",t}function ur(e){let r="solid",t="",n="",i="";return e&&(typeof e=="string"?t=e:(e.type&&(r=e.type),e.color&&(t=e.color),e.alpha&&(n+=``),e.transparency&&(n+=``)),r==="solid"?i+=`${ft(t,n)}`:i+=""),i}function Vr(e){return e._rels.length+e._relsChart.length+e._relsMedia.length+1}function Fl(e){if(!(!e||typeof e!="object"))return e.type!=="outer"&&e.type!=="inner"&&e.type!=="none"&&(console.warn("Warning: shadow.type options are `outer`, `inner` or `none`."),e.type="outer"),e.angle&&((isNaN(Number(e.angle))||e.angle<0||e.angle>359)&&(console.warn("Warning: shadow.angle can only be 0-359"),e.angle=270),e.angle=Math.round(Number(e.angle))),e.opacity&&((isNaN(Number(e.opacity))||e.opacity<0||e.opacity>1)&&(console.warn("Warning: shadow.opacity can only be 0-1"),e.opacity=.75),e.opacity=Number(e.opacity)),e.color&&e.color.startsWith("#")&&(console.warn('Warning: shadow.color should not include hash (#) character, , e.g. "FF0000"'),e.color=e.color.replace("#","")),e}function A0(e,r,t){var n,i;let a=2.3+(!((n=e.options)===null||n===void 0)&&n.autoPageCharWeight?e.options.autoPageCharWeight:0),o=Math.floor(r/fa*Ke)/((!((i=e.options)===null||i===void 0)&&i.fontSize?e.options.fontSize:yr)/a),l=[],c=[],s=[],u=[];e.text&&e.text.toString().trim().length===0?c.push({_type:He.tablecell,text:" "}):typeof e.text=="number"||typeof e.text=="string"?c.push({_type:He.tablecell,text:(e.text||"").toString().trim()}):Array.isArray(e.text)&&(c=e.text);let d=[];return c.forEach(p=>{var f;typeof p.text=="string"&&(p.text.split(` +`).length>1?p.text.split(` +`).forEach(h=>{d.push({_type:He.tablecell,text:h,options:Object.assign(Object.assign({},p.options),{breakLine:!0})})}):d.push({_type:He.tablecell,text:p.text.trim(),options:p.options}),!((f=p.options)===null||f===void 0)&&f.breakLine&&(s.push(d),d=[])),d.length>0&&(s.push(d),d=[])}),s.forEach(p=>{p.forEach(f=>{let h=[],y=String(f.text).split(" ");y.forEach((v,b)=>{let x=Object.assign({},f.options);x?.breakLine&&(x.breakLine=b+1===y.length),h.push({_type:He.tablecell,text:v+(b+1{let f=[],h="";p.forEach(A=>{h.length+A.text.length>o&&(l.push(f),f=[],h=""),f.push(A),h+=A.text.toString()}),f.length>0&&l.push(f)}),l}function Hd(e=[],r={},t,n){let i=ia,a=Ke*1,o=Ke*1,l=0,c=0,s=[],u=nt(r.x,"X",t),d=nt(r.y,"Y",t),p=nt(r.w,"X",t),f=nt(r.h,"Y",t),h=p;function A(){let v=0;s.length===0&&(v=d||lt(i[0])),s.length>0&&(v=lt(r.autoPageSlideStartY||r.newSlideStartY||i[0])),o=(f||t.height)-v-lt(i[2]),s.length>1&&(typeof r.autoPageSlideStartY=="number"?o=(f||t.height)-lt(r.autoPageSlideStartY+i[2]):typeof r.newSlideStartY=="number"?o=(f||t.height)-lt(r.newSlideStartY+i[2]):d&&(o=(f||t.height)-lt((d/Ke{b||(b={_type:He.tablecell});let x=b.options||null;c+=Number(x?.colspan?x.colspan:1)}),r.verbose&&console.log(`| numCols ......................................... = ${c}`),!p&&r.colW&&(h=Array.isArray(r.colW)?r.colW.reduce((v,b)=>v+b)*Ke:r.colW*c||0,r.verbose&&console.log(`| tableCalcW ...................................... = ${h/Ke}`)),a=h||lt((u?u/Ke:i[1])+i[3]),r.verbose&&console.log(`| emuSlideTabW .................................... = ${(a/Ke).toFixed(1)}`),!r.colW||!Array.isArray(r.colW))if(r.colW&&!isNaN(Number(r.colW))){let v=[];(e[0]||[]).forEach(()=>v.push(r.colW)),r.colW=[],v.forEach(x=>{Array.isArray(r.colW)&&r.colW.push(x)})}else{r.colW=[];for(let v=0;v{let x=[],P=0,F=0,L=[];v.forEach(G=>{var H,k,O,g;L.push({_type:He.tablecell,text:[],options:G.options}),G.options.margin&&G.options.margin[0]>=1?(!((H=G.options)===null||H===void 0)&&H.margin&&G.options.margin[0]&&Ge(G.options.margin[0])>P?P=Ge(G.options.margin[0]):r?.margin&&r.margin[0]&&Ge(r.margin[0])>P&&(P=Ge(r.margin[0])),!((k=G.options)===null||k===void 0)&&k.margin&&G.options.margin[2]&&Ge(G.options.margin[2])>F?F=Ge(G.options.margin[2]):r?.margin&&r.margin[2]&&Ge(r.margin[2])>F&&(F=Ge(r.margin[2]))):(!((O=G.options)===null||O===void 0)&&O.margin&&G.options.margin[0]&<(G.options.margin[0])>P?P=lt(G.options.margin[0]):r?.margin&&r.margin[0]&<(r.margin[0])>P&&(P=lt(r.margin[0])),!((g=G.options)===null||g===void 0)&&g.margin&&G.options.margin[2]&<(G.options.margin[2])>F?F=lt(G.options.margin[2]):r?.margin&&r.margin[2]&<(r.margin[2])>F&&(F=lt(r.margin[2])))}),A(),l+=P+F,r.verbose&&b===0&&console.log(`| SLIDE [${s.length}]: emuSlideTabH ...... = ${(o/Ke).toFixed(1)} `),v.forEach((G,H)=>{var k;let O={_type:He.tablecell,_lines:null,_lineHeight:lt((!((k=G.options)===null||k===void 0)&&k.fontSize?G.options.fontSize:r.fontSize?r.fontSize:yr)*(l0+(r.autoPageLineWeight?r.autoPageLineWeight:0))/100),text:[],options:G.options};O.options.rowspan&&(O._lineHeight=0),O.options.autoPageCharWeight=r.autoPageCharWeight?r.autoPageCharWeight:null;let g=r.colW[H];G.options.colspan&&Array.isArray(r.colW)&&(g=r.colW.filter((z,ne)=>ne>=H&&nez+ne)),O._lines=A0(G,g),x.push(O)}),r.verbose&&console.log(` +| SLIDE [${s.length}]: ROW [${b}]: START...`);let E=0,R=0,T=!1;for(;!T;){let G=x[E],H=L[E];x.forEach(g=>{g._lineHeight>=R&&(R=g._lineHeight)}),l+R>o&&(r.verbose&&(console.log(` +|-----------------------------------------------------------------------|`),console.log(`|-- NEW SLIDE CREATED (currTabH+currLineH > maxH) => ${(l/Ke).toFixed(2)} + ${(G._lineHeight/Ke).toFixed(2)} > ${o/Ke}`),console.log(`|-----------------------------------------------------------------------| -`)),R.length>0&&R.map(N=>N.text.length).reduce((N,ne)=>N+ne)>0&&y.rows.push(R),s.push(y),y={rows:[]},R=[],v.forEach(N=>R.push({_type:He.tablecell,text:[],options:N.options})),g(),l+=P+F,r.verbose&&console.log(`| SLIDE [${s.length}]: emuSlideTabH ...... = ${(o/Ke).toFixed(1)} `),l=0,(r.addHeaderToEach||r.autoPageRepeatHeader)&&r._arrObjTabHeadRows&&r._arrObjTabHeadRows.forEach(N=>{let ne=[],q=0;N.forEach(se=>{ne.push(se),se._lineHeight>q&&(q=se._lineHeight)}),y.rows.push(ne),l+=q}),H=R[E]);let C=W._lines.shift();Array.isArray(H.text)&&(C?H.text=H.text.concat(C):H.text.length===0&&(H.text=H.text.concat({_type:He.tablecell,text:""}))),E===x.length-1&&(l+=B),E=Em._lines.length).reduce((m,N)=>m+N)===0&&(T=!0)}R.length>0&&y.rows.push(R),r.verbose&&console.log(`- SLIDE [${s.length}]: ROW [${b}]: ...COMPLETE ...... emuTabCurrH = ${(l/Ke).toFixed(2)} ( emuSlideTabH = ${(o/Ke).toFixed(2)} )`)}),s.push(y),r.verbose&&(console.log(` +`)),L.length>0&&L.map(z=>z.text.length).reduce((z,ne)=>z+ne)>0&&y.rows.push(L),s.push(y),y={rows:[]},L=[],v.forEach(z=>L.push({_type:He.tablecell,text:[],options:z.options})),A(),l+=P+F,r.verbose&&console.log(`| SLIDE [${s.length}]: emuSlideTabH ...... = ${(o/Ke).toFixed(1)} `),l=0,(r.addHeaderToEach||r.autoPageRepeatHeader)&&r._arrObjTabHeadRows&&r._arrObjTabHeadRows.forEach(z=>{let ne=[],q=0;z.forEach(oe=>{ne.push(oe),oe._lineHeight>q&&(q=oe._lineHeight)}),y.rows.push(ne),l+=q}),H=L[E]);let k=G._lines.shift();Array.isArray(H.text)&&(k?H.text=H.text.concat(k):H.text.length===0&&(H.text=H.text.concat({_type:He.tablecell,text:""}))),E===x.length-1&&(l+=R),E=Eg._lines.length).reduce((g,z)=>g+z)===0&&(T=!0)}L.length>0&&y.rows.push(L),r.verbose&&console.log(`- SLIDE [${s.length}]: ROW [${b}]: ...COMPLETE ...... emuTabCurrH = ${(l/Ke).toFixed(2)} ( emuSlideTabH = ${(o/Ke).toFixed(2)} )`)}),s.push(y),r.verbose&&(console.log(` |================================================|`),console.log(`| FINAL: tableRowSlides.length = ${s.length}`),s.forEach(v=>console.log(v)),console.log(`|================================================| -`)),s}function A0(e,r,t={},n){let i=t||{};i.slideMargin=i.slideMargin||i.slideMargin===0?i.slideMargin:.5;let a=i.w||e.presLayout.width,o=[],l=[],c=[],s=[],u=[],d=[.5,.5,.5,.5],A=0;if(!document.getElementById(r))throw new Error('tableToSlides: Table ID "'+r+'" does not exist!');n?._margin?(Array.isArray(n._margin)?d=n._margin:isNaN(n._margin)||(d=[n._margin,n._margin,n._margin,n._margin]),i.slideMargin=d):i?.slideMargin&&(Array.isArray(i.slideMargin)?d=i.slideMargin:isNaN(i.slideMargin)||(d=[i.slideMargin,i.slideMargin,i.slideMargin,i.slideMargin])),a=(i.w?lt(i.w):e.presLayout.width)-lt(d[1]+d[3]),i.verbose&&(console.log("[[VERBOSE MODE]]"),console.log("|-- `tableToSlides` ----------------------------------------------------|"),console.log(`| tableProps.h .................................... = ${i.h}`),console.log(`| tableProps.w .................................... = ${i.w}`),console.log(`| pptx.presLayout.width ........................... = ${(e.presLayout.width/Ke).toFixed(1)}`),console.log(`| pptx.presLayout.height .......................... = ${(e.presLayout.height/Ke).toFixed(1)}`),console.log(`| emuSlideTabW .................................... = ${(a/Ke).toFixed(1)}`));let f=document.querySelectorAll(`#${r} tr:first-child th`);f.length===0&&(f=document.querySelectorAll(`#${r} tr:first-child td`)),f.forEach(g=>{let y=g;if(y.getAttribute("colspan"))for(let v=0;v{A+=g}),u.forEach((g,y)=>{let v=Number((Number(a)*(g/A*100)/100/Ke).toFixed(2)),b=0,x=document.querySelector(`#${r} thead tr:first-child th:nth-child(${y+1})`);x&&(b=Number(x.getAttribute("data-pptx-min-width")));let P=document.querySelector(`#${r} thead tr:first-child th:nth-child(${y+1})`);P&&(b=Number(P.getAttribute("data-pptx-width"))),s.push(b>v?b:v)}),i.verbose&&console.log(`| arrColW ......................................... = [${s.join(", ")}]`),["thead","tbody","tfoot"].forEach(g=>{document.querySelectorAll(`#${r} ${g} tr`).forEach(y=>{let v=y,b=[];switch(Array.from(v.cells).forEach(x=>{let P=window.getComputedStyle(x).getPropertyValue("color").replace(/\s+/gi,"").replace("rgba(","").replace("rgb(","").replace(")","").split(","),F=window.getComputedStyle(x).getPropertyValue("background-color").replace(/\s+/gi,"").replace("rgba(","").replace("rgb(","").replace(")","").split(",");(window.getComputedStyle(x).getPropertyValue("background-color")==="rgba(0, 0, 0, 0)"||window.getComputedStyle(x).getPropertyValue("transparent"))&&(F=["255","255","255"]);let R={align:null,bold:window.getComputedStyle(x).getPropertyValue("font-weight")==="bold"||Number(window.getComputedStyle(x).getPropertyValue("font-weight"))>=500,border:null,color:Bs(Number(P[0]),Number(P[1]),Number(P[2])),fill:{color:Bs(Number(F[0]),Number(F[1]),Number(F[2]))},fontFace:(window.getComputedStyle(x).getPropertyValue("font-family")||"").split(",")[0].replace(/"/g,"").replace("inherit","").replace("initial","")||null,fontSize:Number(window.getComputedStyle(x).getPropertyValue("font-size").replace(/[a-z]/gi,"")),margin:null,colspan:Number(x.getAttribute("colspan"))||null,rowspan:Number(x.getAttribute("rowspan"))||null,valign:null};if(["left","center","right","start","end"].includes(window.getComputedStyle(x).getPropertyValue("text-align"))){let E=window.getComputedStyle(x).getPropertyValue("text-align").replace("start","left").replace("end","right");R.align=E==="center"?"center":E==="left"?"left":E==="right"?"right":null}if(["top","middle","bottom"].includes(window.getComputedStyle(x).getPropertyValue("vertical-align"))){let E=window.getComputedStyle(x).getPropertyValue("vertical-align");R.valign=E==="top"?"top":E==="middle"?"middle":E==="bottom"?"bottom":null}window.getComputedStyle(x).getPropertyValue("padding-left")&&(R.margin=[0,0,0,0],["padding-top","padding-right","padding-bottom","padding-left"].forEach((B,T)=>{R.margin[T]=Math.round(Number(window.getComputedStyle(x).getPropertyValue(B).replace(/\D/gi,"")))})),(window.getComputedStyle(x).getPropertyValue("border-top-width")||window.getComputedStyle(x).getPropertyValue("border-right-width")||window.getComputedStyle(x).getPropertyValue("border-bottom-width")||window.getComputedStyle(x).getPropertyValue("border-left-width"))&&(R.border=[null,null,null,null],["top","right","bottom","left"].forEach((B,T)=>{let W=Math.round(Number(window.getComputedStyle(x).getPropertyValue("border-"+B+"-width").replace("px",""))),H=[];H=window.getComputedStyle(x).getPropertyValue("border-"+B+"-color").replace(/\s+/gi,"").replace("rgba(","").replace("rgb(","").replace(")","").split(",");let C=Bs(Number(H[0]),Number(H[1]),Number(H[2]));R.border[T]={pt:W,color:C}})),b.push({_type:He.tablecell,text:x.innerText,options:R})}),g){case"thead":o.push(b);break;case"tbody":l.push(b);break;case"tfoot":c.push(b);break;default:console.log(`table parsing: unexpected table part: ${g}`);break}})}),i._arrObjTabHeadRows=o||null,i.colW=s,Hd([...o,...l,...c],i,e.presLayout,n).forEach((g,y)=>{let v=e.addSlide({masterName:i.masterSlideName||null});y===0&&(i.y=i.y||d[0]),y>0&&(i.y=i.autoPageSlideStartY||i.newSlideStartY||d[0]),i.verbose&&console.log(`| opts.autoPageSlideStartY: ${i.autoPageSlideStartY} / arrInchMargins[0]: ${d[0]} => opts.y = ${i.y}`),v.addTable(g.rows,{x:i.x||d[3],y:i.y,w:Number(a)/Ke,colW:s,autoPage:!1}),i.addImage&&(i.addImage.options=i.addImage.options||{},!i.addImage.image||!i.addImage.image.path&&!i.addImage.image.data?console.warn("Warning: tableToSlides.addImage requires either `path` or `data`"):v.addImage({path:i.addImage.image.path,data:i.addImage.image.data,x:i.addImage.options.x,y:i.addImage.options.y,w:i.addImage.options.w,h:i.addImage.options.h})),i.addShape&&v.addShape(i.addShape.shapeName,i.addShape.options||{}),i.addTable&&v.addTable(i.addTable.rows,i.addTable.options||{}),i.addText&&v.addText(i.addText.text,i.addText.options||{})})}var g0=0;function m0(e,r){e.bkgd&&(r.bkgd=e.bkgd),e.objects&&Array.isArray(e.objects)&&e.objects.length>0&&e.objects.forEach((t,n)=>{let i=Object.keys(t)[0],a=r;hn[i]&&i==="chart"?Kd(a,t[i].type,t[i].data,t[i].opts):hn[i]&&i==="image"?Qd(a,t[i]):hn[i]&&i==="line"?tl(a,xn.LINE,t[i]):hn[i]&&i==="rect"?tl(a,xn.RECTANGLE,t[i]):hn[i]&&i==="text"?wo(a,[{text:t[i].text}],t[i].options,!1):hn[i]&&i==="placeholder"&&(t[i].options.placeholder=t[i].options.name,delete t[i].options.name,t[i].options._placeholderType=t[i].options.type,delete t[i].options.type,t[i].options._placeholderIdx=100+n,wo(a,[{text:t[i].text}],t[i].options,!0))}),e.slideNumber&&typeof e.slideNumber=="object"&&(r._slideNumberProps=e.slideNumber)}function Kd(e,r,t,n){var i;function a(d){!d||d.style==="none"||(d.size!==void 0&&(isNaN(Number(d.size))||d.size<=0)&&(console.warn("Warning: chart.gridLine.size must be greater than 0."),delete d.size),d.style&&!["solid","dash","dot"].includes(d.style)&&(console.warn("Warning: chart.gridLine.style options: `solid`, `dash`, `dot`."),delete d.style),d.cap&&!["flat","square","round"].includes(d.cap)&&(console.warn("Warning: chart.gridLine.cap options: `flat`, `square`, `round`."),delete d.cap))}let o=++g0,l={_type:null,text:null,options:null,chartRid:null},c=null,s=[];Array.isArray(r)?(r.forEach(d=>{s=s.concat(d.data)}),c=t||n):(s=t,c=n),s.forEach((d,A)=>{d._dataIndex=A,d.labels!==void 0&&!Array.isArray(d.labels[0])&&(d.labels=[d.labels])});let u=c&&typeof c=="object"?c:{};if(u._type=r,u.x=typeof u.x<"u"&&u.x!=null&&!isNaN(Number(u.x))?u.x:1,u.y=typeof u.y<"u"&&u.y!=null&&!isNaN(Number(u.y))?u.y:1,u.w=u.w||"50%",u.h=u.h||"50%",u.objectName=u.objectName?Ve(u.objectName):`Chart ${e._slideObjects.filter(d=>d._type===He.chart).length}`,["bar","col"].includes(u.barDir||"")||(u.barDir="col"),u._type===Pe.AREA&&(["stacked","standard","percentStacked"].includes(u.barGrouping||"")||(u.barGrouping="standard")),u._type===Pe.BAR&&(["clustered","stacked","percentStacked"].includes(u.barGrouping||"")||(u.barGrouping="clustered")),u._type===Pe.BAR3D&&(["clustered","stacked","standard","percentStacked"].includes(u.barGrouping||"")||(u.barGrouping="standard")),!((i=u.barGrouping)===null||i===void 0)&&i.includes("tacked")&&(u.barGapWidthPct||(u.barGapWidthPct=50)),u.dataLabelPosition&&((u._type===Pe.AREA||u._type===Pe.BAR3D||u._type===Pe.DOUGHNUT||u._type===Pe.RADAR)&&delete u.dataLabelPosition,u._type===Pe.PIE&&(["bestFit","ctr","inEnd","outEnd"].includes(u.dataLabelPosition)||delete u.dataLabelPosition),(u._type===Pe.BUBBLE||u._type===Pe.BUBBLE3D||u._type===Pe.LINE||u._type===Pe.SCATTER)&&(["b","ctr","l","r","t"].includes(u.dataLabelPosition)||delete u.dataLabelPosition),u._type===Pe.BAR&&(["stacked","percentStacked"].includes(u.barGrouping||"")||["ctr","inBase","inEnd"].includes(u.dataLabelPosition)||delete u.dataLabelPosition,["clustered"].includes(u.barGrouping||"")||["ctr","inBase","inEnd","outEnd"].includes(u.dataLabelPosition)||delete u.dataLabelPosition)),u.dataLabelBkgrdColors=u.dataLabelBkgrdColors||!u.dataLabelBkgrdColors?u.dataLabelBkgrdColors:!1,["b","l","r","t","tr"].includes(u.legendPos||"")||(u.legendPos="r"),["cone","coneToMax","box","cylinder","pyramid","pyramidToMax"].includes(u.bar3DShape||"")||(u.bar3DShape="box"),["circle","dash","diamond","dot","none","square","triangle"].includes(u.lineDataSymbol||"")||(u.lineDataSymbol="circle"),["gap","span"].includes(u.displayBlanksAs||"")||(u.displayBlanksAs="span"),["standard","marker","filled"].includes(u.radarStyle||"")||(u.radarStyle="standard"),u.lineDataSymbolSize=u.lineDataSymbolSize&&!isNaN(u.lineDataSymbolSize)?u.lineDataSymbolSize:6,u.lineDataSymbolLineSize=u.lineDataSymbolLineSize&&!isNaN(u.lineDataSymbolLineSize)?je(u.lineDataSymbolLineSize):je(.75),u.layout&&["x","y","w","h"].forEach(d=>{let A=u.layout[d];(isNaN(Number(A))||A<0||A>1)&&(console.warn("Warning: chart.layout."+d+" can only be 0-1"),delete u.layout[d])}),u.catGridLine=u.catGridLine||(u._type===Pe.SCATTER?{color:"D9D9D9",size:1}:{style:"none"}),u.valGridLine=u.valGridLine||(u._type===Pe.SCATTER?{color:"D9D9D9",size:1}:{}),u.serGridLine=u.serGridLine||(u._type===Pe.SCATTER?{color:"D9D9D9",size:1}:{style:"none"}),a(u.catGridLine),a(u.valGridLine),a(u.serGridLine),Fl(u.shadow),u.showDataTable=u.showDataTable||!u.showDataTable?u.showDataTable:!1,u.showDataTableHorzBorder=u.showDataTableHorzBorder||!u.showDataTableHorzBorder?u.showDataTableHorzBorder:!0,u.showDataTableVertBorder=u.showDataTableVertBorder||!u.showDataTableVertBorder?u.showDataTableVertBorder:!0,u.showDataTableOutline=u.showDataTableOutline||!u.showDataTableOutline?u.showDataTableOutline:!0,u.showDataTableKeys=u.showDataTableKeys||!u.showDataTableKeys?u.showDataTableKeys:!0,u.showLabel=u.showLabel||!u.showLabel?u.showLabel:!1,u.showLegend=u.showLegend||!u.showLegend?u.showLegend:!1,u.showPercent=u.showPercent||!u.showPercent?u.showPercent:!0,u.showTitle=u.showTitle||!u.showTitle?u.showTitle:!1,u.showValue=u.showValue||!u.showValue?u.showValue:!1,u.showLeaderLines=u.showLeaderLines||!u.showLeaderLines?u.showLeaderLines:!1,u.catAxisLineShow=typeof u.catAxisLineShow<"u"?u.catAxisLineShow:!0,u.valAxisLineShow=typeof u.valAxisLineShow<"u"?u.valAxisLineShow:!0,u.serAxisLineShow=typeof u.serAxisLineShow<"u"?u.serAxisLineShow:!0,u.v3DRotX=!isNaN(u.v3DRotX)&&u.v3DRotX>=-90&&u.v3DRotX<=90?u.v3DRotX:30,u.v3DRotY=!isNaN(u.v3DRotY)&&u.v3DRotY>=0&&u.v3DRotY<=360?u.v3DRotY:30,u.v3DRAngAx=u.v3DRAngAx||!u.v3DRAngAx?u.v3DRAngAx:!0,u.v3DPerspective=!isNaN(u.v3DPerspective)&&u.v3DPerspective>=0&&u.v3DPerspective<=240?u.v3DPerspective:30,u.barGapWidthPct=!isNaN(u.barGapWidthPct)&&u.barGapWidthPct>=0&&u.barGapWidthPct<=1e3?u.barGapWidthPct:150,u.barGapDepthPct=!isNaN(u.barGapDepthPct)&&u.barGapDepthPct>=0&&u.barGapDepthPct<=1e3?u.barGapDepthPct:150,u.chartColors=Array.isArray(u.chartColors)?u.chartColors:u._type===Pe.PIE||u._type===Pe.DOUGHNUT?d0:Vi,u.chartColorsOpacity=u.chartColorsOpacity&&!isNaN(u.chartColorsOpacity)?u.chartColorsOpacity:null,u.border=u.border&&typeof u.border=="object"?u.border:null,u.border&&(!u.border.pt||isNaN(u.border.pt))&&(u.border.pt=ri.pt),u.border&&(!u.border.color||typeof u.border.color!="string")&&(u.border.color=ri.color),u.plotArea=u.plotArea||{},u.plotArea.border=u.plotArea.border&&typeof u.plotArea.border=="object"?u.plotArea.border:null,u.plotArea.border&&(!u.plotArea.border.pt||isNaN(u.plotArea.border.pt))&&(u.plotArea.border.pt=ri.pt),u.plotArea.border&&(!u.plotArea.border.color||typeof u.plotArea.border.color!="string")&&(u.plotArea.border.color=ri.color),u.border&&(u.plotArea.border=u.border),u.plotArea.fill=u.plotArea.fill||{color:null,transparency:null},u.fill&&(u.plotArea.fill.color=u.fill),u.chartArea=u.chartArea||{},u.chartArea.border=u.chartArea.border&&typeof u.chartArea.border=="object"?u.chartArea.border:null,u.chartArea.border&&(u.chartArea.border={color:u.chartArea.border.color||ri.color,pt:u.chartArea.border.pt||ri.pt}),u.chartArea.roundedCorners=typeof u.chartArea.roundedCorners=="boolean"?u.chartArea.roundedCorners:!0,u.dataBorder=u.dataBorder&&typeof u.dataBorder=="object"?u.dataBorder:null,u.dataBorder&&(!u.dataBorder.pt||isNaN(u.dataBorder.pt))&&(u.dataBorder.pt=.75),u.dataBorder&&u.dataBorder.color){let d=typeof u.dataBorder.color=="string"&&u.dataBorder.color.length===6&&/^[0-9A-Fa-f]{6}$/.test(u.dataBorder.color),A=Object.values(bo).includes(u.dataBorder.color);!d&&!A&&(u.dataBorder.color="F9F9F9")}return!u.dataLabelFormatCode&&u._type===Pe.SCATTER&&(u.dataLabelFormatCode="General"),!u.dataLabelFormatCode&&(u._type===Pe.PIE||u._type===Pe.DOUGHNUT)&&(u.dataLabelFormatCode=u.showPercent?"0%":"General"),u.dataLabelFormatCode=u.dataLabelFormatCode&&typeof u.dataLabelFormatCode=="string"?u.dataLabelFormatCode:"#,##0",!u.dataLabelFormatScatter&&u._type===Pe.SCATTER&&(u.dataLabelFormatScatter="custom"),u.lineSize=typeof u.lineSize=="number"?u.lineSize:2,u.valAxisMajorUnit=typeof u.valAxisMajorUnit=="number"?u.valAxisMajorUnit:null,u._type===Pe.AREA||u._type===Pe.BAR||u._type===Pe.BAR3D||u._type===Pe.LINE?u.catAxisMultiLevelLabels=!!u.catAxisMultiLevelLabels:delete u.catAxisMultiLevelLabels,l._type="chart",l.options=u,l.chartRid=Vr(e),e._relsChart.push({rId:Vr(e),data:s,opts:u,type:u._type,globalId:o,fileName:`chart${o}.xml`,Target:`/ppt/charts/chart${o}.xml`}),e._slideObjects.push(l),l}function Qd(e,r){let t={_type:null,text:null,options:null,image:null,imageRid:null,hyperlink:null},n=r.x||0,i=r.y||0,a=r.w||0,o=r.h||0,l=r.sizing||null,c=r.hyperlink||"",s=r.data||"",u=r.path||"",d=Vr(e),A=r.objectName?Ve(r.objectName):`Image ${e._slideObjects.filter(p=>p._type===He.image).length}`;if(!u&&!s)return console.error("ERROR: addImage() requires either 'data' or 'path' parameter!"),null;if(u&&typeof u!="string")return console.error(`ERROR: addImage() 'path' should be a string, ex: {path:'/img/sample.png'} - you sent ${String(u)}`),null;if(s&&typeof s!="string")return console.error(`ERROR: addImage() 'data' should be a string, ex: {data:'image/png;base64,NMP[...]'} - you sent ${String(s)}`),null;if(s&&typeof s=="string"&&!s.toLowerCase().includes("base64,"))return console.error("ERROR: Image `data` value lacks a base64 header! Ex: 'image/png;base64,NMP[...]')"),null;let f=(u.substring(u.lastIndexOf("/")+1).split("?")[0].split(".").pop().split("#")[0]||"png").toLowerCase();if(s&&/image\/(\w+);/.exec(s)&&/image\/(\w+);/.exec(s).length>0?f=/image\/(\w+);/.exec(s)[1]:s?.toLowerCase().includes("image/svg+xml")&&(f="svg"),t._type=He.image,t.image=u||"preencoded.png",t.options={x:n||0,y:i||0,w:a||1,h:o||1,altText:r.altText||"",rounding:typeof r.rounding=="boolean"?r.rounding:!1,sizing:l,placeholder:r.placeholder,rotate:r.rotate||0,flipV:r.flipV||!1,flipH:r.flipH||!1,transparency:r.transparency||0,objectName:A,shadow:Fl(r.shadow)},f==="svg")e._relsMedia.push({path:u||s+"png",type:"image/png",extn:"png",data:s||"",rId:d,Target:`../media/image-${e._slideNum}-${e._relsMedia.length+1}.png`,isSvgPng:!0,svgSize:{w:nt(t.options.w,"X",e._presLayout),h:nt(t.options.h,"Y",e._presLayout)}}),t.imageRid=d,e._relsMedia.push({path:u||s,type:"image/svg+xml",extn:f,data:s||"",rId:d+1,Target:`../media/image-${e._slideNum}-${e._relsMedia.length+1}.${f}`}),t.imageRid=d+1;else{let p=e._relsMedia.filter(g=>g.path&&g.path===u&&g.type==="image/"+f&&!g.isDuplicate)[0];e._relsMedia.push({path:u||"preencoded."+f,type:"image/"+f,extn:f,data:s||"",rId:d,isDuplicate:!!p?.Target,Target:p?.Target?p.Target:`../media/image-${e._slideNum}-${e._relsMedia.length+1}.${f}`}),t.imageRid=d}if(typeof c=="object"){if(!c.url&&!c.slide)throw new Error("ERROR: `hyperlink` option requires either: `url` or `slide`");d++,e._rels.push({type:He.hyperlink,data:c.slide?"slide":"dummy",rId:d,Target:c.url||c.slide.toString()}),c._rId=d,t.hyperlink=c}e._slideObjects.push(t)}function v0(e,r){let t=r.x||0,n=r.y||0,i=r.w||2,a=r.h||2,o=r.data||"",l=r.link||"",c=r.path||"",s=r.type||"audio",u="",d=r.cover||f0,A=r.objectName?Ve(r.objectName):`Media ${e._slideObjects.filter(p=>p._type===He.media).length}`,f={_type:He.media};if(!c&&!o&&s!=="online")throw new Error("addMedia() error: either `data` or `path` are required!");if(o&&!o.toLowerCase().includes("base64,"))throw new Error("addMedia() error: `data` value lacks a base64 header! Ex: 'video/mpeg;base64,NMP[...]')");if(!d.toLowerCase().includes("base64,"))throw new Error("addMedia() error: `cover` value lacks a base64 header! Ex: 'data:image/png;base64,iV[...]')");if(s==="online"&&!l)throw new Error("addMedia() error: online videos require `link` value");if(u=r.extn||(o?o.split(";")[0].split("/")[1]:c.split(".").pop())||"mp3",f.mtype=s,f.media=c||"preencoded.mov",f.options={},f.options.x=t,f.options.y=n,f.options.w=i,f.options.h=a,f.options.objectName=A,s==="online"){let p=Vr(e);e._relsMedia.push({path:c||"preencoded"+u,data:"dummy",type:"online",extn:u,rId:p,Target:l}),f.mediaRid=p,e._relsMedia.push({path:"preencoded.png",data:d,type:"image/png",extn:"png",rId:Vr(e),Target:`../media/image-${e._slideNum}-${e._relsMedia.length+1}.png`})}else{let p=e._relsMedia.filter(y=>y.path&&y.path===c&&y.type===s+"/"+u&&!y.isDuplicate)[0],g=Vr(e);e._relsMedia.push({path:c||"preencoded"+u,type:s+"/"+u,extn:u,data:o||"",rId:g,isDuplicate:!!p?.Target,Target:p?.Target?p.Target:`../media/media-${e._slideNum}-${e._relsMedia.length+1}.${u}`}),f.mediaRid=g,e._relsMedia.push({path:c||"preencoded"+u,type:s+"/"+u,extn:u,data:o||"",rId:Vr(e),isDuplicate:!!p?.Target,Target:p?.Target?p.Target:`../media/media-${e._slideNum}-${e._relsMedia.length+0}.${u}`}),e._relsMedia.push({path:"preencoded.png",type:"image/png",extn:"png",data:d,rId:Vr(e),Target:`../media/image-${e._slideNum}-${e._relsMedia.length+1}.png`})}e._slideObjects.push(f)}function y0(e,r){e._slideObjects.push({_type:He.notes,text:[{text:r}]})}function tl(e,r,t){let n=typeof t=="object"?t:{};n.line=n.line||{type:"none"};let i={_type:He.text,shape:r||xn.RECTANGLE,options:n,text:null};if(!r)throw new Error("Missing/Invalid shape parameter! Example: `addShape(pptxgen.shapes.LINE, {x:1, y:1, w:1, h:1});`");let a={type:n.line.type||"solid",color:n.line.color||qd,transparency:n.line.transparency||0,width:n.line.width||1,dashType:n.line.dashType||"solid",beginArrowType:n.line.beginArrowType||null,endArrowType:n.line.endArrowType||null};if(typeof n.line=="object"&&n.line.type!=="none"&&(n.line=a),n.x=n.x||(n.x===0?0:1),n.y=n.y||(n.y===0?0:1),n.w=n.w||(n.w===0?0:1),n.h=n.h||(n.h===0?0:1),n.objectName=n.objectName?Ve(n.objectName):`Shape ${e._slideObjects.filter(o=>o._type===He.text).length}`,typeof n.line=="string"){let o=a;o.color=String(n.line),n.line=o}typeof n.lineSize=="number"&&(n.line.width=n.lineSize),typeof n.lineDash=="string"&&(n.line.dashType=n.lineDash),typeof n.lineHead=="string"&&(n.line.beginArrowType=n.lineHead),typeof n.lineTail=="string"&&(n.line.endArrowType=n.lineTail),hi(e,i),e._slideObjects.push(i)}function b0(e,r,t,n,i,a,o){let l=[e],c=t&&typeof t=="object"?t:{};c.objectName=c.objectName?Ve(c.objectName):`Table ${e._slideObjects.filter(A=>A._type===He.table).length}`;{if(r===null||r.length===0||!Array.isArray(r))throw new Error("addTable: Array expected! EX: 'slide.addTable( [rows], {options} );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)");if(!r[0]||!Array.isArray(r[0]))throw new Error("addTable: 'rows' should be an array of cells! EX: 'slide.addTable( [ ['A'], ['B'], {text:'C',options:{align:'center'}} ] );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)")}let s=[];r.forEach(A=>{let f=[];Array.isArray(A)?A.forEach(p=>{let g={_type:He.tablecell,text:"",options:typeof p=="object"&&p.options?p.options:{}};typeof p=="string"||typeof p=="number"?g.text=p.toString():p.text&&(typeof p.text=="string"||typeof p.text=="number"?g.text=p.text.toString():p.text&&(g.text=p.text),p.options&&typeof p.options=="object"&&(g.options=p.options)),g.options.border=g.options.border||c.border||[{type:"none"},{type:"none"},{type:"none"},{type:"none"}];let y=g.options.border;!Array.isArray(y)&&typeof y=="object"&&(g.options.border=[y,y,y,y]),g.options.border[0]||(g.options.border[0]={type:"none"}),g.options.border[1]||(g.options.border[1]={type:"none"}),g.options.border[2]||(g.options.border[2]={type:"none"}),g.options.border[3]||(g.options.border[3]={type:"none"}),[0,1,2,3].forEach(b=>{g.options.border[b]={type:g.options.border[b].type||ti.type,color:g.options.border[b].color||ti.color,pt:typeof g.options.border[b].pt=="number"?g.options.border[b].pt:ti.pt}}),f.push(g)}):(console.log("addTable: tableRows has a bad row. A row should be an array of cells. You provided:"),console.log(A)),s.push(f)}),c.x=nt(c.x||(c.x===0?0:Ke/2),"X",i),c.y=nt(c.y||(c.y===0?0:Ke/2),"Y",i),c.h&&(c.h=nt(c.h,"Y",i)),c.fontSize=c.fontSize||yr,c.margin=c.margin===0||c.margin?c.margin:jd,typeof c.margin=="number"&&(c.margin=[Number(c.margin),Number(c.margin),Number(c.margin),Number(c.margin)]),JSON.stringify({arrRows:s}).indexOf("hyperlink")===-1&&(c.color||(c.color=c.color||nr)),typeof c.border=="string"?(console.warn("addTable `border` option must be an object. Ex: `{border: {type:'none'}}`"),c.border=null):Array.isArray(c.border)&&[0,1,2,3].forEach(A=>{c.border[A]=c.border[A]?{type:c.border[A].type||ti.type,color:c.border[A].color||ti.color,pt:c.border[A].pt||ti.pt}:{type:"none"}}),c.autoPage=typeof c.autoPage=="boolean"?c.autoPage:!1,c.autoPageRepeatHeader=typeof c.autoPageRepeatHeader=="boolean"?c.autoPageRepeatHeader:!1,c.autoPageHeaderRows=typeof c.autoPageHeaderRows<"u"&&!isNaN(Number(c.autoPageHeaderRows))?Number(c.autoPageHeaderRows):1,c.autoPageLineWeight=typeof c.autoPageLineWeight<"u"&&!isNaN(Number(c.autoPageLineWeight))?Number(c.autoPageLineWeight):0,c.autoPageLineWeight&&(c.autoPageLineWeight>1?c.autoPageLineWeight=1:c.autoPageLineWeight<-1&&(c.autoPageLineWeight=-1));let u=ia;if(n&&typeof n._margin<"u"&&(Array.isArray(n._margin)?u=n._margin:isNaN(Number(n._margin))||(u=[Number(n._margin),Number(n._margin),Number(n._margin),Number(n._margin)])),c.colW){let A=s[0].reduce((f,p)=>{var g;return!((g=p?.options)===null||g===void 0)&&g.colspan&&typeof p.options.colspan=="number"?f+=p.options.colspan:f+=1,f},0);typeof c.colW=="string"||typeof c.colW=="number"||c.colW&&Array.isArray(c.colW)&&c.colW.length===1&&A>1?(c.w=Math.floor(Number(c.colW)*A),c.colW=null):c.colW&&Array.isArray(c.colW)&&c.colW.length!==A&&(console.warn("addTable: mismatch: (colW.length != data.length) Therefore, defaulting to evenly distributed col widths."),c.colW=null)}else c.w?c.w=nt(c.w,"X",i):c.w=Math.floor(i._sizeW/Ke-u[1]-u[3]);c.x&&c.x<20&&(c.x=lt(c.x)),c.y&&c.y<20&&(c.y=lt(c.y)),c.w&&typeof c.w=="number"&&c.w<20&&(c.w=lt(c.w)),c.h&&typeof c.h=="number"&&c.h<20&&(c.h=lt(c.h)),s.forEach(A=>{A.forEach((f,p)=>{typeof f=="number"||typeof f=="string"?A[p]={_type:He.tablecell,text:String(A[p]),options:c}:typeof f=="object"&&(typeof f.text=="number"?A[p].text=A[p].text.toString():(typeof f.text>"u"||f.text===null)&&(A[p].text=""),A[p].options=f.options||{},A[p]._type=He.tablecell)})});let d=[];return c&&!c.autoPage?(hi(e,s),e._slideObjects.push({_type:He.table,arrTabRows:s,options:Object.assign({},c)})):(c.autoPageRepeatHeader&&(c._arrObjTabHeadRows=s.filter((A,f)=>f{o(e._slideNum+f)||l.push(a({masterName:n?._name||null})),f>0&&(c.y=lt(c.autoPageSlideStartY||c.newSlideStartY||u[0]));{let p=o(e._slideNum+f);c.autoPage=!1,hi(p,A.rows),p.addTable(A.rows,Object.assign({},c)),f>0&&d.push(p)}})),d}function wo(e,r,t,n){let i={_type:n?He.placeholder:He.text,shape:t?.shape||xn.RECTANGLE,text:!r||r.length===0?[{text:"",options:null}]:r,options:t||{}};function a(o){{if(o.placeholder||(o.color=o.color||i.options.color||e.color||nr),(o.placeholder||n)&&(o.bullet=o.bullet||!1),o.placeholder&&e._slideLayout&&e._slideLayout._slideObjects){let l=e._slideLayout._slideObjects.filter(c=>c._type==="placeholder"&&c.options&&c.options.placeholder&&c.options.placeholder===o.placeholder)[0];l?.options&&(o=Object.assign(Object.assign({},o),l.options))}if(o.objectName=o.objectName?Ve(o.objectName):`Text ${e._slideObjects.filter(l=>l._type===He.text).length}`,o.shape===xn.LINE){let l={type:o.line.type||"solid",color:o.line.color||qd,transparency:o.line.transparency||0,width:o.line.width||1,dashType:o.line.dashType||"solid",beginArrowType:o.line.beginArrowType||null,endArrowType:o.line.endArrowType||null};if(typeof o.line=="object"&&(o.line=l),typeof o.line=="string"){let c=l;typeof o.line=="string"&&(c.color=o.line),o.line=c}typeof o.lineSize=="number"&&(o.line.width=o.lineSize),typeof o.lineDash=="string"&&(o.line.dashType=o.lineDash),typeof o.lineHead=="string"&&(o.line.beginArrowType=o.lineHead),typeof o.lineTail=="string"&&(o.line.endArrowType=o.lineTail)}o.line=o.line||{},o.lineSpacing=o.lineSpacing&&!isNaN(o.lineSpacing)?o.lineSpacing:null,o.lineSpacingMultiple=o.lineSpacingMultiple&&!isNaN(o.lineSpacingMultiple)?o.lineSpacingMultiple:null,o._bodyProp=o._bodyProp||{},o._bodyProp.autoFit=o.autoFit||!1,o._bodyProp.anchor=o.placeholder?null:si.ctr,o._bodyProp.vert=o.vert||null,o._bodyProp.wrap=typeof o.wrap=="boolean"?o.wrap:!0,(o.inset&&!isNaN(Number(o.inset))||o.inset===0)&&(o._bodyProp.lIns=lt(o.inset),o._bodyProp.rIns=lt(o.inset),o._bodyProp.tIns=lt(o.inset),o._bodyProp.bIns=lt(o.inset)),typeof o.underline=="boolean"&&o.underline===!0&&(o.underline={style:"sng"})}return(o.align||"").toLowerCase().indexOf("c")===0?o._bodyProp.align=oi.center:(o.align||"").toLowerCase().indexOf("l")===0?o._bodyProp.align=oi.left:(o.align||"").toLowerCase().indexOf("r")===0?o._bodyProp.align=oi.right:(o.align||"").toLowerCase().indexOf("j")===0&&(o._bodyProp.align=oi.justify),(o.valign||"").toLowerCase().indexOf("b")===0?o._bodyProp.anchor=si.b:(o.valign||"").toLowerCase().indexOf("m")===0?o._bodyProp.anchor=si.ctr:(o.valign||"").toLowerCase().indexOf("t")===0&&(o._bodyProp.anchor=si.t),Fl(o.shadow),o}i.options=a(i.options),i.text.forEach(o=>o.options=a(o.options||{})),hi(e,i.text||""),e._slideObjects.push(i)}function w0(e){(e._slideLayout._slideObjects||[]).forEach(r=>{r._type===He.placeholder&&e._slideObjects.filter(t=>t.options&&t.options.placeholder===r.options.placeholder).length===0&&wo(e,[{text:""}],r.options,!1)})}function Zd(e,r){var t;if(r.bkgd&&(r.background||(r.background={}),typeof r.bkgd=="string"?r.background.color=r.bkgd:(r.bkgd.data&&(r.background.data=r.bkgd.data),r.bkgd.path&&(r.background.path=r.bkgd.path),r.bkgd.src&&(r.background.path=r.bkgd.src))),!((t=r.background)===null||t===void 0)&&t.fill&&(r.background.color=r.background.fill),e&&(e.path||e.data)){e.path=e.path||"preencoded.png";let n=(e.path.split(".").pop()||"png").split("?")[0];n==="jpg"&&(n="jpeg"),r._relsMedia=r._relsMedia||[];let i=r._relsMedia.length+1;r._relsMedia.push({path:e.path,type:He.image,extn:n,data:e.data||null,rId:i,Target:`../media/${(r._name||"").replace(/\s+/gi,"-")}-image-${r._relsMedia.length+1}.${n}`}),r._bkgdImgRid=i}}function hi(e,r,t){let n=[];typeof r=="string"||typeof r=="number"||(Array.isArray(r)?n=r:typeof r=="object"&&(n=[r]),n.forEach((i,a)=>{if(t&&t[a]&&t[a].hyperlink&&(i.options=Object.assign(Object.assign({},i.options),t[a])),Array.isArray(i)){let o=[];i.forEach(l=>{l.options&&!l.text.options&&o.push(l.options)}),hi(e,i,o)}else if(Array.isArray(i.text))hi(e,i.text,t&&t[a]?[t[a]]:void 0);else if(i&&typeof i=="object"&&i.options&&i.options.hyperlink&&!i.options.hyperlink._rId)if(typeof i.options.hyperlink!="object")console.log("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink: {url:'https://github.com'}` ");else if(!i.options.hyperlink.url&&!i.options.hyperlink.slide)console.log("ERROR: 'hyperlink requires either: `url` or `slide`'");else{let o=Vr(e);e._rels.push({type:He.hyperlink,data:i.options.hyperlink.slide?"slide":"dummy",rId:o,Target:Ve(i.options.hyperlink.url)||i.options.hyperlink.slide.toString()}),i.options.hyperlink._rId=o}else i&&typeof i=="object"&&i.options&&i.options.hyperlink&&i.options.hyperlink._rId&&e._rels.filter(o=>o.rId===i.options.hyperlink._rId).length===0&&e._rels.push({type:He.hyperlink,data:i.options.hyperlink.slide?"slide":"dummy",rId:i.options.hyperlink._rId,Target:Ve(i.options.hyperlink.url)||i.options.hyperlink.slide.toString()})}))}var x0=class{constructor(e){var r;this.addSlide=e.addSlide,this.getSlide=e.getSlide,this._name=`Slide ${e.slideNumber}`,this._presLayout=e.presLayout,this._rId=e.slideRId,this._rels=[],this._relsChart=[],this._relsMedia=[],this._setSlideNum=e.setSlideNum,this._slideId=e.slideId,this._slideLayout=e.slideLayout||null,this._slideNum=e.slideNumber,this._slideObjects=[],this._slideNumberProps=!((r=this._slideLayout)===null||r===void 0)&&r._slideNumberProps?this._slideLayout._slideNumberProps:null}set bkgd(e){this._bkgd=e,(!this._background||!this._background.color)&&(this._background||(this._background={}),typeof e=="string"&&(this._background.color=e))}get bkgd(){return this._bkgd}set background(e){this._background=e,e&&Zd(e,this)}get background(){return this._background}set color(e){this._color=e}get color(){return this._color}set hidden(e){this._hidden=e}get hidden(){return this._hidden}set slideNumber(e){this._slideNumberProps=e,this._setSlideNum(e)}get slideNumber(){return this._slideNumberProps}get newAutoPagedSlides(){return this._newAutoPagedSlides}addChart(e,r,t){let n=t||{};return n._type=e,Kd(this,e,r,t),this}addImage(e){return Qd(this,e),this}addMedia(e){return v0(this,e),this}addNotes(e){return y0(this,e),this}addShape(e,r){return tl(this,e,r),this}addTable(e,r){return this._newAutoPagedSlides=b0(this,e,r,this._slideLayout,this._presLayout,this.addSlide,this.getSlide),this}addText(e,r){return wo(this,typeof e=="string"||typeof e=="number"?[{text:e,options:r}]:e,r,!1),this}};function S0(e,r){return cr(this,void 0,void 0,function*(){let t=e.data;return yield new Promise((n,i)=>{var a,o;let l=new Gd.default,c=(t.length-1)*2+1,s=((o=(a=t[0])===null||a===void 0?void 0:a.labels)===null||o===void 0?void 0:o.length)>1;l.folder("_rels"),l.folder("docProps"),l.folder("xl/_rels"),l.folder("xl/tables"),l.folder("xl/theme"),l.folder("xl/worksheets"),l.folder("xl/worksheets/_rels"),l.file("[Content_Types].xml",` +`)),s}function g0(e,r,t={},n){let i=t||{};i.slideMargin=i.slideMargin||i.slideMargin===0?i.slideMargin:.5;let a=i.w||e.presLayout.width,o=[],l=[],c=[],s=[],u=[],d=[.5,.5,.5,.5],p=0;if(!document.getElementById(r))throw new Error('tableToSlides: Table ID "'+r+'" does not exist!');n?._margin?(Array.isArray(n._margin)?d=n._margin:isNaN(n._margin)||(d=[n._margin,n._margin,n._margin,n._margin]),i.slideMargin=d):i?.slideMargin&&(Array.isArray(i.slideMargin)?d=i.slideMargin:isNaN(i.slideMargin)||(d=[i.slideMargin,i.slideMargin,i.slideMargin,i.slideMargin])),a=(i.w?lt(i.w):e.presLayout.width)-lt(d[1]+d[3]),i.verbose&&(console.log("[[VERBOSE MODE]]"),console.log("|-- `tableToSlides` ----------------------------------------------------|"),console.log(`| tableProps.h .................................... = ${i.h}`),console.log(`| tableProps.w .................................... = ${i.w}`),console.log(`| pptx.presLayout.width ........................... = ${(e.presLayout.width/Ke).toFixed(1)}`),console.log(`| pptx.presLayout.height .......................... = ${(e.presLayout.height/Ke).toFixed(1)}`),console.log(`| emuSlideTabW .................................... = ${(a/Ke).toFixed(1)}`));let f=document.querySelectorAll(`#${r} tr:first-child th`);f.length===0&&(f=document.querySelectorAll(`#${r} tr:first-child td`)),f.forEach(A=>{let y=A;if(y.getAttribute("colspan"))for(let v=0;v{p+=A}),u.forEach((A,y)=>{let v=Number((Number(a)*(A/p*100)/100/Ke).toFixed(2)),b=0,x=document.querySelector(`#${r} thead tr:first-child th:nth-child(${y+1})`);x&&(b=Number(x.getAttribute("data-pptx-min-width")));let P=document.querySelector(`#${r} thead tr:first-child th:nth-child(${y+1})`);P&&(b=Number(P.getAttribute("data-pptx-width"))),s.push(b>v?b:v)}),i.verbose&&console.log(`| arrColW ......................................... = [${s.join(", ")}]`),["thead","tbody","tfoot"].forEach(A=>{document.querySelectorAll(`#${r} ${A} tr`).forEach(y=>{let v=y,b=[];switch(Array.from(v.cells).forEach(x=>{let P=window.getComputedStyle(x).getPropertyValue("color").replace(/\s+/gi,"").replace("rgba(","").replace("rgb(","").replace(")","").split(","),F=window.getComputedStyle(x).getPropertyValue("background-color").replace(/\s+/gi,"").replace("rgba(","").replace("rgb(","").replace(")","").split(",");(window.getComputedStyle(x).getPropertyValue("background-color")==="rgba(0, 0, 0, 0)"||window.getComputedStyle(x).getPropertyValue("transparent"))&&(F=["255","255","255"]);let L={align:null,bold:window.getComputedStyle(x).getPropertyValue("font-weight")==="bold"||Number(window.getComputedStyle(x).getPropertyValue("font-weight"))>=500,border:null,color:Bs(Number(P[0]),Number(P[1]),Number(P[2])),fill:{color:Bs(Number(F[0]),Number(F[1]),Number(F[2]))},fontFace:(window.getComputedStyle(x).getPropertyValue("font-family")||"").split(",")[0].replace(/"/g,"").replace("inherit","").replace("initial","")||null,fontSize:Number(window.getComputedStyle(x).getPropertyValue("font-size").replace(/[a-z]/gi,"")),margin:null,colspan:Number(x.getAttribute("colspan"))||null,rowspan:Number(x.getAttribute("rowspan"))||null,valign:null};if(["left","center","right","start","end"].includes(window.getComputedStyle(x).getPropertyValue("text-align"))){let E=window.getComputedStyle(x).getPropertyValue("text-align").replace("start","left").replace("end","right");L.align=E==="center"?"center":E==="left"?"left":E==="right"?"right":null}if(["top","middle","bottom"].includes(window.getComputedStyle(x).getPropertyValue("vertical-align"))){let E=window.getComputedStyle(x).getPropertyValue("vertical-align");L.valign=E==="top"?"top":E==="middle"?"middle":E==="bottom"?"bottom":null}window.getComputedStyle(x).getPropertyValue("padding-left")&&(L.margin=[0,0,0,0],["padding-top","padding-right","padding-bottom","padding-left"].forEach((R,T)=>{L.margin[T]=Math.round(Number(window.getComputedStyle(x).getPropertyValue(R).replace(/\D/gi,"")))})),(window.getComputedStyle(x).getPropertyValue("border-top-width")||window.getComputedStyle(x).getPropertyValue("border-right-width")||window.getComputedStyle(x).getPropertyValue("border-bottom-width")||window.getComputedStyle(x).getPropertyValue("border-left-width"))&&(L.border=[null,null,null,null],["top","right","bottom","left"].forEach((R,T)=>{let G=Math.round(Number(window.getComputedStyle(x).getPropertyValue("border-"+R+"-width").replace("px",""))),H=[];H=window.getComputedStyle(x).getPropertyValue("border-"+R+"-color").replace(/\s+/gi,"").replace("rgba(","").replace("rgb(","").replace(")","").split(",");let k=Bs(Number(H[0]),Number(H[1]),Number(H[2]));L.border[T]={pt:G,color:k}})),b.push({_type:He.tablecell,text:x.innerText,options:L})}),A){case"thead":o.push(b);break;case"tbody":l.push(b);break;case"tfoot":c.push(b);break;default:console.log(`table parsing: unexpected table part: ${A}`);break}})}),i._arrObjTabHeadRows=o||null,i.colW=s,Hd([...o,...l,...c],i,e.presLayout,n).forEach((A,y)=>{let v=e.addSlide({masterName:i.masterSlideName||null});y===0&&(i.y=i.y||d[0]),y>0&&(i.y=i.autoPageSlideStartY||i.newSlideStartY||d[0]),i.verbose&&console.log(`| opts.autoPageSlideStartY: ${i.autoPageSlideStartY} / arrInchMargins[0]: ${d[0]} => opts.y = ${i.y}`),v.addTable(A.rows,{x:i.x||d[3],y:i.y,w:Number(a)/Ke,colW:s,autoPage:!1}),i.addImage&&(i.addImage.options=i.addImage.options||{},!i.addImage.image||!i.addImage.image.path&&!i.addImage.image.data?console.warn("Warning: tableToSlides.addImage requires either `path` or `data`"):v.addImage({path:i.addImage.image.path,data:i.addImage.image.data,x:i.addImage.options.x,y:i.addImage.options.y,w:i.addImage.options.w,h:i.addImage.options.h})),i.addShape&&v.addShape(i.addShape.shapeName,i.addShape.options||{}),i.addTable&&v.addTable(i.addTable.rows,i.addTable.options||{}),i.addText&&v.addText(i.addText.text,i.addText.options||{})})}var m0=0;function v0(e,r){e.bkgd&&(r.bkgd=e.bkgd),e.objects&&Array.isArray(e.objects)&&e.objects.length>0&&e.objects.forEach((t,n)=>{let i=Object.keys(t)[0],a=r;hn[i]&&i==="chart"?Kd(a,t[i].type,t[i].data,t[i].opts):hn[i]&&i==="image"?Qd(a,t[i]):hn[i]&&i==="line"?tl(a,xn.LINE,t[i]):hn[i]&&i==="rect"?tl(a,xn.RECTANGLE,t[i]):hn[i]&&i==="text"?wo(a,[{text:t[i].text}],t[i].options,!1):hn[i]&&i==="placeholder"&&(t[i].options.placeholder=t[i].options.name,delete t[i].options.name,t[i].options._placeholderType=t[i].options.type,delete t[i].options.type,t[i].options._placeholderIdx=100+n,wo(a,[{text:t[i].text}],t[i].options,!0))}),e.slideNumber&&typeof e.slideNumber=="object"&&(r._slideNumberProps=e.slideNumber)}function Kd(e,r,t,n){var i;function a(d){!d||d.style==="none"||(d.size!==void 0&&(isNaN(Number(d.size))||d.size<=0)&&(console.warn("Warning: chart.gridLine.size must be greater than 0."),delete d.size),d.style&&!["solid","dash","dot"].includes(d.style)&&(console.warn("Warning: chart.gridLine.style options: `solid`, `dash`, `dot`."),delete d.style),d.cap&&!["flat","square","round"].includes(d.cap)&&(console.warn("Warning: chart.gridLine.cap options: `flat`, `square`, `round`."),delete d.cap))}let o=++m0,l={_type:null,text:null,options:null,chartRid:null},c=null,s=[];Array.isArray(r)?(r.forEach(d=>{s=s.concat(d.data)}),c=t||n):(s=t,c=n),s.forEach((d,p)=>{d._dataIndex=p,d.labels!==void 0&&!Array.isArray(d.labels[0])&&(d.labels=[d.labels])});let u=c&&typeof c=="object"?c:{};if(u._type=r,u.x=typeof u.x<"u"&&u.x!=null&&!isNaN(Number(u.x))?u.x:1,u.y=typeof u.y<"u"&&u.y!=null&&!isNaN(Number(u.y))?u.y:1,u.w=u.w||"50%",u.h=u.h||"50%",u.objectName=u.objectName?Ve(u.objectName):`Chart ${e._slideObjects.filter(d=>d._type===He.chart).length}`,["bar","col"].includes(u.barDir||"")||(u.barDir="col"),u._type===Ce.AREA&&(["stacked","standard","percentStacked"].includes(u.barGrouping||"")||(u.barGrouping="standard")),u._type===Ce.BAR&&(["clustered","stacked","percentStacked"].includes(u.barGrouping||"")||(u.barGrouping="clustered")),u._type===Ce.BAR3D&&(["clustered","stacked","standard","percentStacked"].includes(u.barGrouping||"")||(u.barGrouping="standard")),!((i=u.barGrouping)===null||i===void 0)&&i.includes("tacked")&&(u.barGapWidthPct||(u.barGapWidthPct=50)),u.dataLabelPosition&&((u._type===Ce.AREA||u._type===Ce.BAR3D||u._type===Ce.DOUGHNUT||u._type===Ce.RADAR)&&delete u.dataLabelPosition,u._type===Ce.PIE&&(["bestFit","ctr","inEnd","outEnd"].includes(u.dataLabelPosition)||delete u.dataLabelPosition),(u._type===Ce.BUBBLE||u._type===Ce.BUBBLE3D||u._type===Ce.LINE||u._type===Ce.SCATTER)&&(["b","ctr","l","r","t"].includes(u.dataLabelPosition)||delete u.dataLabelPosition),u._type===Ce.BAR&&(["stacked","percentStacked"].includes(u.barGrouping||"")||["ctr","inBase","inEnd"].includes(u.dataLabelPosition)||delete u.dataLabelPosition,["clustered"].includes(u.barGrouping||"")||["ctr","inBase","inEnd","outEnd"].includes(u.dataLabelPosition)||delete u.dataLabelPosition)),u.dataLabelBkgrdColors=u.dataLabelBkgrdColors||!u.dataLabelBkgrdColors?u.dataLabelBkgrdColors:!1,["b","l","r","t","tr"].includes(u.legendPos||"")||(u.legendPos="r"),["cone","coneToMax","box","cylinder","pyramid","pyramidToMax"].includes(u.bar3DShape||"")||(u.bar3DShape="box"),["circle","dash","diamond","dot","none","square","triangle"].includes(u.lineDataSymbol||"")||(u.lineDataSymbol="circle"),["gap","span"].includes(u.displayBlanksAs||"")||(u.displayBlanksAs="span"),["standard","marker","filled"].includes(u.radarStyle||"")||(u.radarStyle="standard"),u.lineDataSymbolSize=u.lineDataSymbolSize&&!isNaN(u.lineDataSymbolSize)?u.lineDataSymbolSize:6,u.lineDataSymbolLineSize=u.lineDataSymbolLineSize&&!isNaN(u.lineDataSymbolLineSize)?Ge(u.lineDataSymbolLineSize):Ge(.75),u.layout&&["x","y","w","h"].forEach(d=>{let p=u.layout[d];(isNaN(Number(p))||p<0||p>1)&&(console.warn("Warning: chart.layout."+d+" can only be 0-1"),delete u.layout[d])}),u.catGridLine=u.catGridLine||(u._type===Ce.SCATTER?{color:"D9D9D9",size:1}:{style:"none"}),u.valGridLine=u.valGridLine||(u._type===Ce.SCATTER?{color:"D9D9D9",size:1}:{}),u.serGridLine=u.serGridLine||(u._type===Ce.SCATTER?{color:"D9D9D9",size:1}:{style:"none"}),a(u.catGridLine),a(u.valGridLine),a(u.serGridLine),Fl(u.shadow),u.showDataTable=u.showDataTable||!u.showDataTable?u.showDataTable:!1,u.showDataTableHorzBorder=u.showDataTableHorzBorder||!u.showDataTableHorzBorder?u.showDataTableHorzBorder:!0,u.showDataTableVertBorder=u.showDataTableVertBorder||!u.showDataTableVertBorder?u.showDataTableVertBorder:!0,u.showDataTableOutline=u.showDataTableOutline||!u.showDataTableOutline?u.showDataTableOutline:!0,u.showDataTableKeys=u.showDataTableKeys||!u.showDataTableKeys?u.showDataTableKeys:!0,u.showLabel=u.showLabel||!u.showLabel?u.showLabel:!1,u.showLegend=u.showLegend||!u.showLegend?u.showLegend:!1,u.showPercent=u.showPercent||!u.showPercent?u.showPercent:!0,u.showTitle=u.showTitle||!u.showTitle?u.showTitle:!1,u.showValue=u.showValue||!u.showValue?u.showValue:!1,u.showLeaderLines=u.showLeaderLines||!u.showLeaderLines?u.showLeaderLines:!1,u.catAxisLineShow=typeof u.catAxisLineShow<"u"?u.catAxisLineShow:!0,u.valAxisLineShow=typeof u.valAxisLineShow<"u"?u.valAxisLineShow:!0,u.serAxisLineShow=typeof u.serAxisLineShow<"u"?u.serAxisLineShow:!0,u.v3DRotX=!isNaN(u.v3DRotX)&&u.v3DRotX>=-90&&u.v3DRotX<=90?u.v3DRotX:30,u.v3DRotY=!isNaN(u.v3DRotY)&&u.v3DRotY>=0&&u.v3DRotY<=360?u.v3DRotY:30,u.v3DRAngAx=u.v3DRAngAx||!u.v3DRAngAx?u.v3DRAngAx:!0,u.v3DPerspective=!isNaN(u.v3DPerspective)&&u.v3DPerspective>=0&&u.v3DPerspective<=240?u.v3DPerspective:30,u.barGapWidthPct=!isNaN(u.barGapWidthPct)&&u.barGapWidthPct>=0&&u.barGapWidthPct<=1e3?u.barGapWidthPct:150,u.barGapDepthPct=!isNaN(u.barGapDepthPct)&&u.barGapDepthPct>=0&&u.barGapDepthPct<=1e3?u.barGapDepthPct:150,u.chartColors=Array.isArray(u.chartColors)?u.chartColors:u._type===Ce.PIE||u._type===Ce.DOUGHNUT?f0:Vi,u.chartColorsOpacity=u.chartColorsOpacity&&!isNaN(u.chartColorsOpacity)?u.chartColorsOpacity:null,u.border=u.border&&typeof u.border=="object"?u.border:null,u.border&&(!u.border.pt||isNaN(u.border.pt))&&(u.border.pt=ri.pt),u.border&&(!u.border.color||typeof u.border.color!="string")&&(u.border.color=ri.color),u.plotArea=u.plotArea||{},u.plotArea.border=u.plotArea.border&&typeof u.plotArea.border=="object"?u.plotArea.border:null,u.plotArea.border&&(!u.plotArea.border.pt||isNaN(u.plotArea.border.pt))&&(u.plotArea.border.pt=ri.pt),u.plotArea.border&&(!u.plotArea.border.color||typeof u.plotArea.border.color!="string")&&(u.plotArea.border.color=ri.color),u.border&&(u.plotArea.border=u.border),u.plotArea.fill=u.plotArea.fill||{color:null,transparency:null},u.fill&&(u.plotArea.fill.color=u.fill),u.chartArea=u.chartArea||{},u.chartArea.border=u.chartArea.border&&typeof u.chartArea.border=="object"?u.chartArea.border:null,u.chartArea.border&&(u.chartArea.border={color:u.chartArea.border.color||ri.color,pt:u.chartArea.border.pt||ri.pt}),u.chartArea.roundedCorners=typeof u.chartArea.roundedCorners=="boolean"?u.chartArea.roundedCorners:!0,u.dataBorder=u.dataBorder&&typeof u.dataBorder=="object"?u.dataBorder:null,u.dataBorder&&(!u.dataBorder.pt||isNaN(u.dataBorder.pt))&&(u.dataBorder.pt=.75),u.dataBorder&&u.dataBorder.color){let d=typeof u.dataBorder.color=="string"&&u.dataBorder.color.length===6&&/^[0-9A-Fa-f]{6}$/.test(u.dataBorder.color),p=Object.values(bo).includes(u.dataBorder.color);!d&&!p&&(u.dataBorder.color="F9F9F9")}return!u.dataLabelFormatCode&&u._type===Ce.SCATTER&&(u.dataLabelFormatCode="General"),!u.dataLabelFormatCode&&(u._type===Ce.PIE||u._type===Ce.DOUGHNUT)&&(u.dataLabelFormatCode=u.showPercent?"0%":"General"),u.dataLabelFormatCode=u.dataLabelFormatCode&&typeof u.dataLabelFormatCode=="string"?u.dataLabelFormatCode:"#,##0",!u.dataLabelFormatScatter&&u._type===Ce.SCATTER&&(u.dataLabelFormatScatter="custom"),u.lineSize=typeof u.lineSize=="number"?u.lineSize:2,u.valAxisMajorUnit=typeof u.valAxisMajorUnit=="number"?u.valAxisMajorUnit:null,u._type===Ce.AREA||u._type===Ce.BAR||u._type===Ce.BAR3D||u._type===Ce.LINE?u.catAxisMultiLevelLabels=!!u.catAxisMultiLevelLabels:delete u.catAxisMultiLevelLabels,l._type="chart",l.options=u,l.chartRid=Vr(e),e._relsChart.push({rId:Vr(e),data:s,opts:u,type:u._type,globalId:o,fileName:`chart${o}.xml`,Target:`/ppt/charts/chart${o}.xml`}),e._slideObjects.push(l),l}function Qd(e,r){let t={_type:null,text:null,options:null,image:null,imageRid:null,hyperlink:null},n=r.x||0,i=r.y||0,a=r.w||0,o=r.h||0,l=r.sizing||null,c=r.hyperlink||"",s=r.data||"",u=r.path||"",d=Vr(e),p=r.objectName?Ve(r.objectName):`Image ${e._slideObjects.filter(h=>h._type===He.image).length}`;if(!u&&!s)return console.error("ERROR: addImage() requires either 'data' or 'path' parameter!"),null;if(u&&typeof u!="string")return console.error(`ERROR: addImage() 'path' should be a string, ex: {path:'/img/sample.png'} - you sent ${String(u)}`),null;if(s&&typeof s!="string")return console.error(`ERROR: addImage() 'data' should be a string, ex: {data:'image/png;base64,NMP[...]'} - you sent ${String(s)}`),null;if(s&&typeof s=="string"&&!s.toLowerCase().includes("base64,"))return console.error("ERROR: Image `data` value lacks a base64 header! Ex: 'image/png;base64,NMP[...]')"),null;let f=(u.substring(u.lastIndexOf("/")+1).split("?")[0].split(".").pop().split("#")[0]||"png").toLowerCase();if(s&&/image\/(\w+);/.exec(s)&&/image\/(\w+);/.exec(s).length>0?f=/image\/(\w+);/.exec(s)[1]:s?.toLowerCase().includes("image/svg+xml")&&(f="svg"),t._type=He.image,t.image=u||"preencoded.png",t.options={x:n||0,y:i||0,w:a||1,h:o||1,altText:r.altText||"",rounding:typeof r.rounding=="boolean"?r.rounding:!1,sizing:l,placeholder:r.placeholder,rotate:r.rotate||0,flipV:r.flipV||!1,flipH:r.flipH||!1,transparency:r.transparency||0,objectName:p,shadow:Fl(r.shadow)},f==="svg")e._relsMedia.push({path:u||s+"png",type:"image/png",extn:"png",data:s||"",rId:d,Target:`../media/image-${e._slideNum}-${e._relsMedia.length+1}.png`,isSvgPng:!0,svgSize:{w:nt(t.options.w,"X",e._presLayout),h:nt(t.options.h,"Y",e._presLayout)}}),t.imageRid=d,e._relsMedia.push({path:u||s,type:"image/svg+xml",extn:f,data:s||"",rId:d+1,Target:`../media/image-${e._slideNum}-${e._relsMedia.length+1}.${f}`}),t.imageRid=d+1;else{let h=e._relsMedia.filter(A=>A.path&&A.path===u&&A.type==="image/"+f&&!A.isDuplicate)[0];e._relsMedia.push({path:u||"preencoded."+f,type:"image/"+f,extn:f,data:s||"",rId:d,isDuplicate:!!h?.Target,Target:h?.Target?h.Target:`../media/image-${e._slideNum}-${e._relsMedia.length+1}.${f}`}),t.imageRid=d}if(typeof c=="object"){if(!c.url&&!c.slide)throw new Error("ERROR: `hyperlink` option requires either: `url` or `slide`");d++,e._rels.push({type:He.hyperlink,data:c.slide?"slide":"dummy",rId:d,Target:c.url||c.slide.toString()}),c._rId=d,t.hyperlink=c}e._slideObjects.push(t)}function y0(e,r){let t=r.x||0,n=r.y||0,i=r.w||2,a=r.h||2,o=r.data||"",l=r.link||"",c=r.path||"",s=r.type||"audio",u="",d=r.cover||h0,p=r.objectName?Ve(r.objectName):`Media ${e._slideObjects.filter(h=>h._type===He.media).length}`,f={_type:He.media};if(!c&&!o&&s!=="online")throw new Error("addMedia() error: either `data` or `path` are required!");if(o&&!o.toLowerCase().includes("base64,"))throw new Error("addMedia() error: `data` value lacks a base64 header! Ex: 'video/mpeg;base64,NMP[...]')");if(!d.toLowerCase().includes("base64,"))throw new Error("addMedia() error: `cover` value lacks a base64 header! Ex: 'data:image/png;base64,iV[...]')");if(s==="online"&&!l)throw new Error("addMedia() error: online videos require `link` value");if(u=r.extn||(o?o.split(";")[0].split("/")[1]:c.split(".").pop())||"mp3",f.mtype=s,f.media=c||"preencoded.mov",f.options={},f.options.x=t,f.options.y=n,f.options.w=i,f.options.h=a,f.options.objectName=p,s==="online"){let h=Vr(e);e._relsMedia.push({path:c||"preencoded"+u,data:"dummy",type:"online",extn:u,rId:h,Target:l}),f.mediaRid=h,e._relsMedia.push({path:"preencoded.png",data:d,type:"image/png",extn:"png",rId:Vr(e),Target:`../media/image-${e._slideNum}-${e._relsMedia.length+1}.png`})}else{let h=e._relsMedia.filter(y=>y.path&&y.path===c&&y.type===s+"/"+u&&!y.isDuplicate)[0],A=Vr(e);e._relsMedia.push({path:c||"preencoded"+u,type:s+"/"+u,extn:u,data:o||"",rId:A,isDuplicate:!!h?.Target,Target:h?.Target?h.Target:`../media/media-${e._slideNum}-${e._relsMedia.length+1}.${u}`}),f.mediaRid=A,e._relsMedia.push({path:c||"preencoded"+u,type:s+"/"+u,extn:u,data:o||"",rId:Vr(e),isDuplicate:!!h?.Target,Target:h?.Target?h.Target:`../media/media-${e._slideNum}-${e._relsMedia.length+0}.${u}`}),e._relsMedia.push({path:"preencoded.png",type:"image/png",extn:"png",data:d,rId:Vr(e),Target:`../media/image-${e._slideNum}-${e._relsMedia.length+1}.png`})}e._slideObjects.push(f)}function b0(e,r){e._slideObjects.push({_type:He.notes,text:[{text:r}]})}function tl(e,r,t){let n=typeof t=="object"?t:{};n.line=n.line||{type:"none"};let i={_type:He.text,shape:r||xn.RECTANGLE,options:n,text:null};if(!r)throw new Error("Missing/Invalid shape parameter! Example: `addShape(pptxgen.shapes.LINE, {x:1, y:1, w:1, h:1});`");let a={type:n.line.type||"solid",color:n.line.color||qd,transparency:n.line.transparency||0,width:n.line.width||1,dashType:n.line.dashType||"solid",beginArrowType:n.line.beginArrowType||null,endArrowType:n.line.endArrowType||null};if(typeof n.line=="object"&&n.line.type!=="none"&&(n.line=a),n.x=n.x||(n.x===0?0:1),n.y=n.y||(n.y===0?0:1),n.w=n.w||(n.w===0?0:1),n.h=n.h||(n.h===0?0:1),n.objectName=n.objectName?Ve(n.objectName):`Shape ${e._slideObjects.filter(o=>o._type===He.text).length}`,typeof n.line=="string"){let o=a;o.color=String(n.line),n.line=o}typeof n.lineSize=="number"&&(n.line.width=n.lineSize),typeof n.lineDash=="string"&&(n.line.dashType=n.lineDash),typeof n.lineHead=="string"&&(n.line.beginArrowType=n.lineHead),typeof n.lineTail=="string"&&(n.line.endArrowType=n.lineTail),hi(e,i),e._slideObjects.push(i)}function w0(e,r,t,n,i,a,o){let l=[e],c=t&&typeof t=="object"?t:{};c.objectName=c.objectName?Ve(c.objectName):`Table ${e._slideObjects.filter(p=>p._type===He.table).length}`;{if(r===null||r.length===0||!Array.isArray(r))throw new Error("addTable: Array expected! EX: 'slide.addTable( [rows], {options} );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)");if(!r[0]||!Array.isArray(r[0]))throw new Error("addTable: 'rows' should be an array of cells! EX: 'slide.addTable( [ ['A'], ['B'], {text:'C',options:{align:'center'}} ] );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)")}let s=[];r.forEach(p=>{let f=[];Array.isArray(p)?p.forEach(h=>{let A={_type:He.tablecell,text:"",options:typeof h=="object"&&h.options?h.options:{}};typeof h=="string"||typeof h=="number"?A.text=h.toString():h.text&&(typeof h.text=="string"||typeof h.text=="number"?A.text=h.text.toString():h.text&&(A.text=h.text),h.options&&typeof h.options=="object"&&(A.options=h.options)),A.options.border=A.options.border||c.border||[{type:"none"},{type:"none"},{type:"none"},{type:"none"}];let y=A.options.border;!Array.isArray(y)&&typeof y=="object"&&(A.options.border=[y,y,y,y]),A.options.border[0]||(A.options.border[0]={type:"none"}),A.options.border[1]||(A.options.border[1]={type:"none"}),A.options.border[2]||(A.options.border[2]={type:"none"}),A.options.border[3]||(A.options.border[3]={type:"none"}),[0,1,2,3].forEach(b=>{A.options.border[b]={type:A.options.border[b].type||ti.type,color:A.options.border[b].color||ti.color,pt:typeof A.options.border[b].pt=="number"?A.options.border[b].pt:ti.pt}}),f.push(A)}):(console.log("addTable: tableRows has a bad row. A row should be an array of cells. You provided:"),console.log(p)),s.push(f)}),c.x=nt(c.x||(c.x===0?0:Ke/2),"X",i),c.y=nt(c.y||(c.y===0?0:Ke/2),"Y",i),c.h&&(c.h=nt(c.h,"Y",i)),c.fontSize=c.fontSize||yr,c.margin=c.margin===0||c.margin?c.margin:jd,typeof c.margin=="number"&&(c.margin=[Number(c.margin),Number(c.margin),Number(c.margin),Number(c.margin)]),JSON.stringify({arrRows:s}).indexOf("hyperlink")===-1&&(c.color||(c.color=c.color||nr)),typeof c.border=="string"?(console.warn("addTable `border` option must be an object. Ex: `{border: {type:'none'}}`"),c.border=null):Array.isArray(c.border)&&[0,1,2,3].forEach(p=>{c.border[p]=c.border[p]?{type:c.border[p].type||ti.type,color:c.border[p].color||ti.color,pt:c.border[p].pt||ti.pt}:{type:"none"}}),c.autoPage=typeof c.autoPage=="boolean"?c.autoPage:!1,c.autoPageRepeatHeader=typeof c.autoPageRepeatHeader=="boolean"?c.autoPageRepeatHeader:!1,c.autoPageHeaderRows=typeof c.autoPageHeaderRows<"u"&&!isNaN(Number(c.autoPageHeaderRows))?Number(c.autoPageHeaderRows):1,c.autoPageLineWeight=typeof c.autoPageLineWeight<"u"&&!isNaN(Number(c.autoPageLineWeight))?Number(c.autoPageLineWeight):0,c.autoPageLineWeight&&(c.autoPageLineWeight>1?c.autoPageLineWeight=1:c.autoPageLineWeight<-1&&(c.autoPageLineWeight=-1));let u=ia;if(n&&typeof n._margin<"u"&&(Array.isArray(n._margin)?u=n._margin:isNaN(Number(n._margin))||(u=[Number(n._margin),Number(n._margin),Number(n._margin),Number(n._margin)])),c.colW){let p=s[0].reduce((f,h)=>{var A;return!((A=h?.options)===null||A===void 0)&&A.colspan&&typeof h.options.colspan=="number"?f+=h.options.colspan:f+=1,f},0);typeof c.colW=="string"||typeof c.colW=="number"||c.colW&&Array.isArray(c.colW)&&c.colW.length===1&&p>1?(c.w=Math.floor(Number(c.colW)*p),c.colW=null):c.colW&&Array.isArray(c.colW)&&c.colW.length!==p&&(console.warn("addTable: mismatch: (colW.length != data.length) Therefore, defaulting to evenly distributed col widths."),c.colW=null)}else c.w?c.w=nt(c.w,"X",i):c.w=Math.floor(i._sizeW/Ke-u[1]-u[3]);c.x&&c.x<20&&(c.x=lt(c.x)),c.y&&c.y<20&&(c.y=lt(c.y)),c.w&&typeof c.w=="number"&&c.w<20&&(c.w=lt(c.w)),c.h&&typeof c.h=="number"&&c.h<20&&(c.h=lt(c.h)),s.forEach(p=>{p.forEach((f,h)=>{typeof f=="number"||typeof f=="string"?p[h]={_type:He.tablecell,text:String(p[h]),options:c}:typeof f=="object"&&(typeof f.text=="number"?p[h].text=p[h].text.toString():(typeof f.text>"u"||f.text===null)&&(p[h].text=""),p[h].options=f.options||{},p[h]._type=He.tablecell)})});let d=[];return c&&!c.autoPage?(hi(e,s),e._slideObjects.push({_type:He.table,arrTabRows:s,options:Object.assign({},c)})):(c.autoPageRepeatHeader&&(c._arrObjTabHeadRows=s.filter((p,f)=>f{o(e._slideNum+f)||l.push(a({masterName:n?._name||null})),f>0&&(c.y=lt(c.autoPageSlideStartY||c.newSlideStartY||u[0]));{let h=o(e._slideNum+f);c.autoPage=!1,hi(h,p.rows),h.addTable(p.rows,Object.assign({},c)),f>0&&d.push(h)}})),d}function wo(e,r,t,n){let i={_type:n?He.placeholder:He.text,shape:t?.shape||xn.RECTANGLE,text:!r||r.length===0?[{text:"",options:null}]:r,options:t||{}};function a(o){{if(o.placeholder||(o.color=o.color||i.options.color||e.color||nr),(o.placeholder||n)&&(o.bullet=o.bullet||!1),o.placeholder&&e._slideLayout&&e._slideLayout._slideObjects){let l=e._slideLayout._slideObjects.filter(c=>c._type==="placeholder"&&c.options&&c.options.placeholder&&c.options.placeholder===o.placeholder)[0];l?.options&&(o=Object.assign(Object.assign({},o),l.options))}if(o.objectName=o.objectName?Ve(o.objectName):`Text ${e._slideObjects.filter(l=>l._type===He.text).length}`,o.shape===xn.LINE){let l={type:o.line.type||"solid",color:o.line.color||qd,transparency:o.line.transparency||0,width:o.line.width||1,dashType:o.line.dashType||"solid",beginArrowType:o.line.beginArrowType||null,endArrowType:o.line.endArrowType||null};if(typeof o.line=="object"&&(o.line=l),typeof o.line=="string"){let c=l;typeof o.line=="string"&&(c.color=o.line),o.line=c}typeof o.lineSize=="number"&&(o.line.width=o.lineSize),typeof o.lineDash=="string"&&(o.line.dashType=o.lineDash),typeof o.lineHead=="string"&&(o.line.beginArrowType=o.lineHead),typeof o.lineTail=="string"&&(o.line.endArrowType=o.lineTail)}o.line=o.line||{},o.lineSpacing=o.lineSpacing&&!isNaN(o.lineSpacing)?o.lineSpacing:null,o.lineSpacingMultiple=o.lineSpacingMultiple&&!isNaN(o.lineSpacingMultiple)?o.lineSpacingMultiple:null,o._bodyProp=o._bodyProp||{},o._bodyProp.autoFit=o.autoFit||!1,o._bodyProp.anchor=o.placeholder?null:si.ctr,o._bodyProp.vert=o.vert||null,o._bodyProp.wrap=typeof o.wrap=="boolean"?o.wrap:!0,(o.inset&&!isNaN(Number(o.inset))||o.inset===0)&&(o._bodyProp.lIns=lt(o.inset),o._bodyProp.rIns=lt(o.inset),o._bodyProp.tIns=lt(o.inset),o._bodyProp.bIns=lt(o.inset)),typeof o.underline=="boolean"&&o.underline===!0&&(o.underline={style:"sng"})}return(o.align||"").toLowerCase().indexOf("c")===0?o._bodyProp.align=oi.center:(o.align||"").toLowerCase().indexOf("l")===0?o._bodyProp.align=oi.left:(o.align||"").toLowerCase().indexOf("r")===0?o._bodyProp.align=oi.right:(o.align||"").toLowerCase().indexOf("j")===0&&(o._bodyProp.align=oi.justify),(o.valign||"").toLowerCase().indexOf("b")===0?o._bodyProp.anchor=si.b:(o.valign||"").toLowerCase().indexOf("m")===0?o._bodyProp.anchor=si.ctr:(o.valign||"").toLowerCase().indexOf("t")===0&&(o._bodyProp.anchor=si.t),Fl(o.shadow),o}i.options=a(i.options),i.text.forEach(o=>o.options=a(o.options||{})),hi(e,i.text||""),e._slideObjects.push(i)}function x0(e){(e._slideLayout._slideObjects||[]).forEach(r=>{r._type===He.placeholder&&e._slideObjects.filter(t=>t.options&&t.options.placeholder===r.options.placeholder).length===0&&wo(e,[{text:""}],r.options,!1)})}function Zd(e,r){var t;if(r.bkgd&&(r.background||(r.background={}),typeof r.bkgd=="string"?r.background.color=r.bkgd:(r.bkgd.data&&(r.background.data=r.bkgd.data),r.bkgd.path&&(r.background.path=r.bkgd.path),r.bkgd.src&&(r.background.path=r.bkgd.src))),!((t=r.background)===null||t===void 0)&&t.fill&&(r.background.color=r.background.fill),e&&(e.path||e.data)){e.path=e.path||"preencoded.png";let n=(e.path.split(".").pop()||"png").split("?")[0];n==="jpg"&&(n="jpeg"),r._relsMedia=r._relsMedia||[];let i=r._relsMedia.length+1;r._relsMedia.push({path:e.path,type:He.image,extn:n,data:e.data||null,rId:i,Target:`../media/${(r._name||"").replace(/\s+/gi,"-")}-image-${r._relsMedia.length+1}.${n}`}),r._bkgdImgRid=i}}function hi(e,r,t){let n=[];typeof r=="string"||typeof r=="number"||(Array.isArray(r)?n=r:typeof r=="object"&&(n=[r]),n.forEach((i,a)=>{if(t&&t[a]&&t[a].hyperlink&&(i.options=Object.assign(Object.assign({},i.options),t[a])),Array.isArray(i)){let o=[];i.forEach(l=>{l.options&&!l.text.options&&o.push(l.options)}),hi(e,i,o)}else if(Array.isArray(i.text))hi(e,i.text,t&&t[a]?[t[a]]:void 0);else if(i&&typeof i=="object"&&i.options&&i.options.hyperlink&&!i.options.hyperlink._rId)if(typeof i.options.hyperlink!="object")console.log("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink: {url:'https://github.com'}` ");else if(!i.options.hyperlink.url&&!i.options.hyperlink.slide)console.log("ERROR: 'hyperlink requires either: `url` or `slide`'");else{let o=Vr(e);e._rels.push({type:He.hyperlink,data:i.options.hyperlink.slide?"slide":"dummy",rId:o,Target:Ve(i.options.hyperlink.url)||i.options.hyperlink.slide.toString()}),i.options.hyperlink._rId=o}else i&&typeof i=="object"&&i.options&&i.options.hyperlink&&i.options.hyperlink._rId&&e._rels.filter(o=>o.rId===i.options.hyperlink._rId).length===0&&e._rels.push({type:He.hyperlink,data:i.options.hyperlink.slide?"slide":"dummy",rId:i.options.hyperlink._rId,Target:Ve(i.options.hyperlink.url)||i.options.hyperlink.slide.toString()})}))}var S0=class{constructor(e){var r;this.addSlide=e.addSlide,this.getSlide=e.getSlide,this._name=`Slide ${e.slideNumber}`,this._presLayout=e.presLayout,this._rId=e.slideRId,this._rels=[],this._relsChart=[],this._relsMedia=[],this._setSlideNum=e.setSlideNum,this._slideId=e.slideId,this._slideLayout=e.slideLayout||null,this._slideNum=e.slideNumber,this._slideObjects=[],this._slideNumberProps=!((r=this._slideLayout)===null||r===void 0)&&r._slideNumberProps?this._slideLayout._slideNumberProps:null}set bkgd(e){this._bkgd=e,(!this._background||!this._background.color)&&(this._background||(this._background={}),typeof e=="string"&&(this._background.color=e))}get bkgd(){return this._bkgd}set background(e){this._background=e,e&&Zd(e,this)}get background(){return this._background}set color(e){this._color=e}get color(){return this._color}set hidden(e){this._hidden=e}get hidden(){return this._hidden}set slideNumber(e){this._slideNumberProps=e,this._setSlideNum(e)}get slideNumber(){return this._slideNumberProps}get newAutoPagedSlides(){return this._newAutoPagedSlides}addChart(e,r,t){let n=t||{};return n._type=e,Kd(this,e,r,t),this}addImage(e){return Qd(this,e),this}addMedia(e){return y0(this,e),this}addNotes(e){return b0(this,e),this}addShape(e,r){return tl(this,e,r),this}addTable(e,r){return this._newAutoPagedSlides=w0(this,e,r,this._slideLayout,this._presLayout,this.addSlide,this.getSlide),this}addText(e,r){return wo(this,typeof e=="string"||typeof e=="number"?[{text:e,options:r}]:e,r,!1),this}};function k0(e,r){return cr(this,void 0,void 0,function*(){let t=e.data;return yield new Promise((n,i)=>{var a,o;let l=new Gd.default,c=(t.length-1)*2+1,s=((o=(a=t[0])===null||a===void 0?void 0:a.labels)===null||o===void 0?void 0:o.length)>1;l.folder("_rels"),l.folder("docProps"),l.folder("xl/_rels"),l.folder("xl/tables"),l.folder("xl/theme"),l.folder("xl/worksheets"),l.folder("xl/worksheets/_rels"),l.file("[Content_Types].xml",` `),l.file("_rels/.rels",` `),l.file("docProps/app.xml",`Microsoft Macintosh Excel0falseWorksheets1Sheet1falsefalsefalse16.0300 `),l.file("docProps/core.xml",'PptxGenJSPptxGenJS'+new Date().toISOString()+''+new Date().toISOString()+""),l.file("xl/_rels/workbook.xml.rels",''),l.file("xl/styles.xml",` `),l.file("xl/theme/theme1.xml",''),l.file("xl/workbook.xml",` `),l.file("xl/worksheets/_rels/sheet1.xml.rels",` -`);{let u='';if(e.opts._type===Pe.BUBBLE||e.opts._type===Pe.BUBBLE3D)u+=``;else if(e.opts._type===Pe.SCATTER)u+=``;else if(s){let d=t.length;t[0].labels.forEach(A=>d+=A.filter(f=>f&&f!=="").length),u+=``,u+=""}else{let d=t.length+t[0].labels.length*t[0].labels[0].length+t[0].labels.length,A=t.length+t[0].labels.length*t[0].labels[0].length+1;u+=``,u+=''}e.opts._type===Pe.BUBBLE||e.opts._type===Pe.BUBBLE3D?t.forEach((d,A)=>{A===0?u+="X-Axis":(u+=`${Ve(d.name||`Y-Axis${A}`)}`,u+=`${Ve(`Size${A}`)}`)}):t.forEach(d=>{u+=`${Ve((d.name||" ").replace("X-Axis","X-Values"))}`}),e.opts._type!==Pe.BUBBLE&&e.opts._type!==Pe.BUBBLE3D&&e.opts._type!==Pe.SCATTER&&t[0].labels.slice().reverse().forEach(d=>{d.filter(A=>A&&A!=="").forEach(A=>{u+=`${Ve(A)}`})}),u+=` -`,l.file("xl/sharedStrings.xml",u)}{let u='';if(e.opts._type===Pe.BUBBLE||e.opts._type===Pe.BUBBLE3D){u+=``,u+=``;let d=1;t.forEach((A,f)=>{f===0?u+=``:(u+=``,d++,u+=``)})}else e.opts._type===Pe.SCATTER?(u+=`
      `,u+=``,t.forEach((d,A)=>{u+=``})):(u+=`
      `,u+=``,t[0].labels.forEach((d,A)=>{u+=``}),t.forEach((d,A)=>{u+=``}));u+="",u+='',u+="
      ",l.file("xl/tables/table1.xml",u)}{let u='';if(u+='',e.opts._type===Pe.BUBBLE||e.opts._type===Pe.BUBBLE3D?u+=``:e.opts._type===Pe.SCATTER?u+=``:u+=``,u+='',u+='',e.opts._type===Pe.BUBBLE||e.opts._type===Pe.BUBBLE3D){u+="",u+=``,u+='0';for(let d=1;d${d}`;u+="",t[0].values.forEach((d,A)=>{u+=``,u+=`${d}`;let f=2;for(let p=1;p${t[p].values[A]||""}`,f++,u+=`${t[p].sizes[A]||""}`,f++;u+=""})}else if(e.opts._type===Pe.SCATTER){u+="",u+=``;for(let d=0;d${d}`;u+="",t[0].values.forEach((d,A)=>{u+=``,u+=`${d}`;for(let f=1;f${t[f].values[A]||t[f].values[A]===0?t[f].values[A]:""}`;u+=""})}else if(u+="",s){u+=``;for(let p=0;p0`;for(let p=t[0].labels.length-1;p${p}`;u+="";let d=t.length,A=t[0].labels[0].length,f=t[0].labels.length;for(let p=0;p`;let g=d,y=t[0].labels.slice().reverse();y.forEach((v,b)=>{if(v[p]){let P=b===0?1:y[b-1].filter(F=>F&&F!=="").length;g+=P,u+=`${g}`}});for(let v=0;v${t[v].values[p]||0}`;u+=""}}else{u+=``,t[0].labels.forEach((d,A)=>{u+=`0`});for(let d=0;d${d+1}`;u+="",t[0].labels[0].forEach((d,A)=>{u+=``;for(let f=t[0].labels.length-1;f>=0;f--)u+=``,u+=`${t.length+A+1}`,u+="";for(let f=0;f${t[f].values[A]||""}`;u+=""})}u+="",u+='',u+=` -`,l.file("xl/worksheets/sheet1.xml",u)}l.generateAsync({type:"base64"}).then(u=>{r.file(`ppt/embeddings/Microsoft_Excel_Worksheet${e.globalId}.xlsx`,u,{base64:!0}),r.file("ppt/charts/_rels/"+e.fileName+".rels",``),r.file(`ppt/charts/${e.fileName}`,k0(e)),n("")}).catch(u=>{i(u)})})})}function k0(e){var r,t,n,i;let a='',o=!1;if(a+='',a+='',a+=``,a+="",e.opts.showTitle?(a+=Uo({title:e.opts.title||"Chart Title",color:e.opts.titleColor,fontFace:e.opts.titleFontFace,fontSize:e.opts.titleFontSize||c0,titleAlign:e.opts.titleAlign,titleBold:e.opts.titleBold,titlePos:e.opts.titlePos,titleRotate:e.opts.titleRotate},e.opts.x,e.opts.y),a+=''):a+='',e.opts._type===Pe.BAR3D&&(a+=``),a+="",e.opts.layout?(a+="",a+=" ",a+=' ',a+=' ',a+=' ',a+=' ',a+=' ',a+=' ',a+=' ',a+=" ",a+=""):a+="",Array.isArray(e.opts._type)?e.opts._type.forEach(l=>{let c=Object.assign(Object.assign({},e.opts),l.options),s=c.secondaryValAxis?no:qr,u=c.secondaryCatAxis?Qs:qi;o=o||c.secondaryValAxis,a+=Cu(l.type,l.data,c,s,u)}):a+=Cu(e.opts._type,e.data,e.opts,qr,qi),e.opts._type!==Pe.PIE&&e.opts._type!==Pe.DOUGHNUT){if(e.opts.valAxes&&e.opts.valAxes.length>1&&!o)throw new Error("Secondary axis must be used by one of the multiple charts");if(e.opts.catAxes){if(!e.opts.valAxes||e.opts.valAxes.length!==e.opts.catAxes.length)throw new Error("There must be the same number of value and category axes.");a+=Rs(Object.assign(Object.assign({},e.opts),e.opts.catAxes[0]),qi,qr)}else a+=Rs(e.opts,qi,qr);e.opts.valAxes?(a+=Ls(Object.assign(Object.assign({},e.opts),e.opts.valAxes[0]),qr),e.opts.valAxes[1]&&(a+=Ls(Object.assign(Object.assign({},e.opts),e.opts.valAxes[1]),no))):(a+=Ls(e.opts,qr),e.opts._type===Pe.BAR3D&&(a+=C0(e.opts,Vd,qr))),!((r=e.opts)===null||r===void 0)&&r.catAxes&&(!((t=e.opts)===null||t===void 0)&&t.catAxes[1])&&(a+=Rs(Object.assign(Object.assign({},e.opts),e.opts.catAxes[1]),Qs,no))}return e.opts.showDataTable&&(a+="",a+=` `,a+=` `,a+=` `,a+=` `,a+=" ",a+=" ",a+=' ',a+=" ",a+=" ",a+=" ",a+=' ',a+=" ",a+=" ",a+=' ',a+=` `,a+=' ',a+=' ',a+=' ',a+=' ',a+=" ",a+=" ",a+=' ',a+=" ",a+=" ",a+=""),a+=" ",a+=!((n=e.opts.plotArea.fill)===null||n===void 0)&&n.color?ur(e.opts.plotArea.fill):"",a+=e.opts.plotArea.border?`${ur(e.opts.plotArea.border.color)}`:"",a+=" ",a+=" ",a+="",e.opts.showLegend&&(a+="",a+='',a+='',(e.opts.legendFontFace||e.opts.legendFontSize||e.opts.legendColor)&&(a+="",a+=" ",a+=" ",a+=" ",a+=" ",a+=e.opts.legendFontSize?``:"",e.opts.legendColor&&(a+=ur(e.opts.legendColor)),e.opts.legendFontFace&&(a+=''),e.opts.legendFontFace&&(a+=''),a+=" ",a+=" ",a+=' ',a+=" ",a+=""),a+=""),a+=' ',a+=' ',e.opts._type===Pe.SCATTER&&(a+=''),a+="",a+="",a+=!((i=e.opts.chartArea.fill)===null||i===void 0)&&i.color?ur(e.opts.chartArea.fill):"",a+=e.opts.chartArea.border?`${ur(e.opts.chartArea.border.color)}`:"",a+=" ",a+="",a+='',a+="",a}function Cu(e,r,t,n,i,a){let o=-1,l=1,c=null,s="";switch(e){case Pe.AREA:case Pe.BAR:case Pe.BAR3D:case Pe.LINE:case Pe.RADAR:s+=``,e===Pe.AREA&&t.barGrouping==="stacked"&&(s+=''),(e===Pe.BAR||e===Pe.BAR3D)&&(s+='',s+=''),e===Pe.RADAR&&(s+=''),s+='',r.forEach(u=>{var d;o++,s+="",s+=` `,s+=" ",s+=" ",s+=" Sheet1!$"+yt(u._dataIndex+u.labels.length+1)+"$1",s+=' '+Ve(u.name)+"",s+=" ",s+=" ";let A=t.chartColors?t.chartColors[o%t.chartColors.length]:null;s+=" ",A==="transparent"?s+="":t.chartColorsOpacity?s+=""+ft(A,``)+"":s+=""+ft(A)+"",e===Pe.LINE||e===Pe.RADAR?t.lineSize===0?s+="":(s+=`${ft(A)}`,s+=''):t.dataBorder&&(s+=`${ft(t.dataBorder.color)}`),s+=Mn(t.shadow,zn),s+=" ",s+=' ',e!==Pe.RADAR&&(s+="",s+=``,t.dataLabelBkgrdColors&&(s+=`${ft(A)}`),s+="",s+=``,s+=`${ft(t.dataLabelColor||nr)}`,s+=``,s+="",t.dataLabelPosition&&(s+=``),s+='',s+=``,s+=``,s+=``,s+=""),(e===Pe.LINE||e===Pe.RADAR)&&(s+="",s+=' ',t.lineDataSymbolSize&&(s+=``),s+=" ",s+=` ${ft(t.chartColors[u._dataIndex+1>t.chartColors.length?Math.floor(Math.random()*t.chartColors.length):u._dataIndex])}`,s+=` ${ft(t.lineDataSymbolLineColor||A)}`,s+=" ",s+=" ",s+=""),(e===Pe.BAR||e===Pe.BAR3D)&&r.length===1&&(t.chartColors&&t.chartColors!==Vi&&t.chartColors.length>1||!((d=t.invertedColors)===null||d===void 0)&&d.length)&&u.values.forEach((f,p)=>{let g=f<0?t.invertedColors||t.chartColors||Vi:t.chartColors||[];s+=" ",s+=` `,s+=' ',s+=' ',s+=" ",t.lineSize===0?s+="":e===Pe.BAR?(s+="",s+=' ',s+=""):(s+="",s+=" ",s+=' ',s+=" ",s+=""),s+=Mn(t.shadow,zn),s+=" ",s+=" "}),s+="",t.catLabelFormatCode?(s+=" ",s+=` Sheet1!$A$2:$A$${u.labels[0].length+1}`,s+=" ",s+=" "+(t.catLabelFormatCode||"General")+"",s+=` `,u.labels[0].forEach((f,p)=>s+=`${Ve(f)}`),s+=" ",s+=" "):(s+=" ",s+=` Sheet1!$A$2:$${yt(u.labels.length)}$${u.labels[0].length+1}`,s+=" ",s+=` `,u.labels.forEach(f=>{s+="",f.forEach((p,g)=>s+=`${Ve(p)}`),s+=""}),s+=" ",s+=" "),s+="",s+="",s+=" ",s+=`Sheet1!$${yt(u._dataIndex+u.labels.length+1)}$2:$${yt(u._dataIndex+u.labels.length+1)}$${u.labels[0].length+1}`,s+=" ",s+=" "+(t.valLabelFormatCode||t.dataTableFormatCode||"General")+"",s+=` `,u.values.forEach((f,p)=>s+=`${f||f===0?f:""}`),s+=" ",s+=" ",s+="",e===Pe.LINE&&(s+=''),s+=""}),s+=" ",s+=` `,s+=" ",s+=" ",s+=" ",s+=" ",s+=` `,s+=" "+ft(t.dataLabelColor||nr)+"",s+=' ',s+=" ",s+=" ",s+=" ",t.dataLabelPosition&&(s+=' '),s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=` `,s+=" ",e===Pe.BAR?(s+=` `,s+=` `):e===Pe.BAR3D?(s+=` `,s+=` `,s+=' '):e===Pe.LINE&&(s+=' '),s+=``,s+=``;break;case Pe.SCATTER:s+="",s+='',s+='',o=-1,r.filter((u,d)=>d>0).forEach((u,d)=>{o++,s+="",s+=` `,s+=` `,s+=" ",s+=" ",s+=` Sheet1!$${yt(d+2)}$1`,s+=' '+Ve(u.name)+"",s+=" ",s+=" ",s+=" ";{let A=t.chartColors[o%t.chartColors.length];A==="transparent"?s+="":t.chartColorsOpacity?s+=""+ft(A,'')+"":s+=""+ft(A)+"",t.lineSize===0?s+="":(s+=`${ft(A)}`,s+=``),s+=Mn(t.shadow,zn)}if(s+=" ",s+="",s+=' ',t.lineDataSymbolSize&&(s+=``),s+="",s+=`${ft(t.chartColors[d+1>t.chartColors.length?Math.floor(Math.random()*t.chartColors.length):d])}`,s+=`${ft(t.lineDataSymbolLineColor||t.chartColors[o%t.chartColors.length])}`,s+="",s+="",s+="",t.showLabel){let A=io("-xxxx-xxxx-xxxx-xxxxxxxxxxxx");u.labels[0]&&(t.dataLabelFormatScatter==="custom"||t.dataLabelFormatScatter==="customXY")&&(s+="",u.labels[0].forEach((f,p)=>{(t.dataLabelFormatScatter==="custom"||t.dataLabelFormatScatter==="customXY")&&(s+=" ",s+=` `,s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=' ',s+=" "+Ve(f)+"",s+=" ",t.dataLabelFormatScatter==="customXY"&&!/^ *$/.test(f)&&(s+=" ",s+=' ',s+=" (",s+=" ",s+=' ',s+=' ',s+=" ",s+=" ",s+=" ",s+=" ["+Ve(u.name)+"",s+=" ",s+=" ",s+=' ',s+=" , ",s+=" ",s+=' ',s+=' ',s+=" ",s+=" ",s+=" ",s+=" ["+Ve(u.name)+"]",s+=" ",s+=" ",s+=' ',s+=" )",s+=" ",s+=' '),s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",t.dataLabelPosition&&(s+=' '),s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=" ",s+=' ',s+=' ',s+=` `,s+=" ",s+=" ",s+="")}),s+=""),t.dataLabelFormatScatter==="XY"&&(s+="",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=' ',s+=" ",s+=" ",t.dataLabelPosition&&(s+=' '),s+=' ',s+=` `,s+=` `,s+=` `,s+=' ',s+=' ',s+=" ",s+=' ',s+=' ',s+=" ",s+=" ",s+="")}r.length===1&&t.chartColors!==Vi&&u.values.forEach((A,f)=>{let p=A<0?t.invertedColors||t.chartColors||Vi:t.chartColors||[];s+=" ",s+=` `,s+=' ',s+=' ',s+=" ",t.lineSize===0?s+="":(s+="",s+=' ',s+=""),s+=Mn(t.shadow,zn),s+=" ",s+=" "}),s+="",s+=" ",s+=` Sheet1!$A$2:$A$${r[0].values.length+1}`,s+=" ",s+=" General",s+=` `,r[0].values.forEach((A,f)=>{s+=`${A||A===0?A:""}`}),s+=" ",s+=" ",s+="",s+="",s+=" ",s+=` Sheet1!$${yt(d+2)}$2:$${yt(d+2)}$${r[0].values.length+1}`,s+=" ",s+=" General",s+=` `,r[0].values.forEach((A,f)=>{s+=`${u.values[f]||u.values[f]===0?u.values[f]:""}`}),s+=" ",s+=" ",s+="",s+='',s+=""}),s+=" ",s+=` `,s+=" ",s+=" ",s+=" ",s+=" ",s+=` `,s+=" "+ft(t.dataLabelColor||nr)+"",s+=' ',s+=" ",s+=" ",s+=" ",t.dataLabelPosition&&(s+=' '),s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=" ",s+=``,s+="";break;case Pe.BUBBLE:case Pe.BUBBLE3D:s+="",s+='',o=-1,r.filter((u,d)=>d>0).forEach((u,d)=>{o++,s+="",s+=` `,s+=` `,s+=" ",s+=" ",s+=" Sheet1!$"+yt(l+1)+"$1",s+=' '+Ve(u.name)+"",s+=" ",s+=" ";{s+="";let A=t.chartColors[o%t.chartColors.length];A==="transparent"?s+="":t.chartColorsOpacity?s+=`${ft(A,'')}`:s+=""+ft(A)+"",t.lineSize===0?s+="":t.dataBorder?s+=`${ft(t.dataBorder.color)}`:(s+=`${ft(A)}`,s+=``),s+=Mn(t.shadow,zn),s+=""}s+="",s+=" ",s+=` Sheet1!$A$2:$A$${r[0].values.length+1}`,s+=" ",s+=" General",s+=` `,r[0].values.forEach((A,f)=>{s+=`${A||A===0?A:""}`}),s+=" ",s+=" ",s+="",s+="",s+=" ",s+=`Sheet1!$${yt(l+1)}$2:$${yt(l+1)}$${r[0].values.length+1}`,l++,s+=" ",s+=" General",s+=` `,r[0].values.forEach((A,f)=>{s+=`${u.values[f]||u.values[f]===0?u.values[f]:""}`}),s+=" ",s+=" ",s+="",s+=" ",s+=" ",s+=`Sheet1!$${yt(l+1)}$2:$${yt(l+1)}$${u.sizes.length+1}`,l++,s+=" ",s+=" General",s+=` `,u.sizes.forEach((A,f)=>{s+=`${A||""}`}),s+=" ",s+=" ",s+=" ",s+=' ',s+=""}),s+="",s+=``,s+="",s+=``,s+=`${ft(t.dataLabelColor||nr)}`,s+=``,s+="",t.dataLabelPosition&&(s+=``),s+='',s+=``,s+=``,s+="",s+=' ',s+=' ',s+=" ",s+="",s+="",s+=``,s+="";break;case Pe.DOUGHNUT:case Pe.PIE:c=r[0],s+="",s+=' ',s+="",s+=' ',s+=' ',s+=" ",s+=" ",s+=" Sheet1!$B$1",s+=" ",s+=' ',s+=' '+Ve(c.name)+"",s+=" ",s+=" ",s+=" ",s+=" ",s+=' ',s+=' ',t.dataNoEffects?s+="":s+=Mn(t.shadow,zn),s+=" ",c.labels[0].forEach((u,d)=>{s+="",s+=` `,s+=' ',s+=" ",s+=`${ft(t.chartColors[d+1>t.chartColors.length?Math.floor(Math.random()*t.chartColors.length):d])}`,t.dataBorder&&(s+=`${ft(t.dataBorder.color)}`),s+=Mn(t.shadow,zn),s+=" ",s+=""}),s+="",c.labels[0].forEach((u,d)=>{s+="",s+=` `,s+=` `,s+=" ",s+=" ",s+=" ",s+=` `,s+=" "+ft(t.dataLabelColor||nr)+"",s+=` `,s+=" ",s+=" ",s+=" ",e===Pe.PIE&&t.dataLabelPosition&&(s+=``),s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=" "}),s+=` `,s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=` `,s+=' ',s+=" ",s+=" ",s+=" ",s+=" ",s+=e===Pe.PIE?'':"",s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=` `,s+="",s+="",s+=" ",s+=` Sheet1!$A$2:$A$${c.labels[0].length+1}`,s+=" ",s+=` `,c.labels[0].forEach((u,d)=>{s+=`${Ve(u)}`}),s+=" ",s+=" ",s+="",s+=" ",s+=" ",s+=` Sheet1!$B$2:$B$${c.labels[0].length+1}`,s+=" ",s+=` `,c.values.forEach((u,d)=>{s+=`${u||u===0?u:""}`}),s+=" ",s+=" ",s+=" ",s+=" ",s+=` `,e===Pe.DOUGHNUT&&(s+=``),s+="";break;default:s+="";break}return s}function Rs(e,r,t){let n="";return e._type===Pe.SCATTER||e._type===Pe.BUBBLE||e._type===Pe.BUBBLE3D?n+="":n+="",n+=' ',n+=" ",n+='',(e.catAxisMaxVal||e.catAxisMaxVal===0)&&(n+=``),(e.catAxisMinVal||e.catAxisMinVal===0)&&(n+=``),n+="",n+=' ',n+=' ',n+=e.catGridLine.style!=="none"?Tl(e.catGridLine):"",e.showCatAxisTitle&&(n+=Uo({color:e.catAxisTitleColor,fontFace:e.catAxisTitleFontFace,fontSize:e.catAxisTitleFontSize,titleRotate:e.catAxisTitleRotate,title:e.catAxisTitle||"Axis Title"})),e._type===Pe.SCATTER||e._type===Pe.BUBBLE||e._type===Pe.BUBBLE3D?n+=' ':n+=' ',e._type===Pe.SCATTER?(n+=' ',n+=' ',n+=' '):(n+=' ',n+=' ',n+=' '),n+=" ",n+=` `,n+=e.catAxisLineShow?""+ft(e.catAxisLineColor||_n.color)+"":"",n+=' ',n+=" ",n+=" ",n+=" ",n+=" ",e.catAxisLabelRotate?n+=``:n+="",n+=" ",n+=" ",n+=" ",n+=` `,n+=" "+ft(e.catAxisLabelColor||nr)+"",n+=' ',n+=" ",n+=" ",n+=' ',n+=" ",n+=" ",n+=' ',n+=` `,n+=' ',n+=' ',n+=` `,e.catAxisLabelFrequency&&(n+=' '),(e.catLabelFormatCode||e._type===Pe.SCATTER||e._type===Pe.BUBBLE||e._type===Pe.BUBBLE3D)&&(e.catLabelFormatCode&&(["catAxisBaseTimeUnit","catAxisMajorTimeUnit","catAxisMinorTimeUnit"].forEach(i=>{e[i]&&(typeof e[i]!="string"||!["days","months","years"].includes(e[i].toLowerCase()))&&(console.warn(`"${i}" must be one of: 'days','months','years' !`),e[i]=null)}),e.catAxisBaseTimeUnit&&(n+=''),e.catAxisMajorTimeUnit&&(n+=''),e.catAxisMinorTimeUnit&&(n+='')),e.catAxisMajorUnit&&(n+=``),e.catAxisMinorUnit&&(n+=``)),e._type===Pe.SCATTER||e._type===Pe.BUBBLE||e._type===Pe.BUBBLE3D?n+="":n+="",n}function Ls(e,r){let t=r===qr?e.barDir==="col"?"l":"b":e.barDir!=="col"?"r":"t";r===no&&(t="r");let n=r===qr?qi:Qs,i="";return i+="",i+=' ',i+=" ",e.valAxisLogScaleBase&&(i+=``),i+='',(e.valAxisMaxVal||e.valAxisMaxVal===0)&&(i+=``),(e.valAxisMinVal||e.valAxisMinVal===0)&&(i+=``),i+=" ",i+=` `,i+=' ',e.valGridLine.style!=="none"&&(i+=Tl(e.valGridLine)),e.showValAxisTitle&&(i+=Uo({color:e.valAxisTitleColor,fontFace:e.valAxisTitleFontFace,fontSize:e.valAxisTitleFontSize,titleRotate:e.valAxisTitleRotate,title:e.valAxisTitle||"Axis Title"})),i+=``,e._type===Pe.SCATTER?(i+=' ',i+=' ',i+=' '):(i+=' ',i+=' ',i+=' '),i+=" ",i+=` `,i+=e.valAxisLineShow?""+ft(e.valAxisLineColor||_n.color)+"":"",i+=' ',i+=" ",i+=" ",i+=" ",i+=" ",i+=` `,i+=" ",i+=" ",i+=" ",i+=` `,i+=" "+ft(e.valAxisLabelColor||nr)+"",i+=' ',i+=" ",i+=" ",i+=' ',i+=" ",i+=" ",i+=' ',typeof e.catAxisCrossesAt=="number"?i+=` `:typeof e.catAxisCrossesAt=="string"?i+=' ':i+=' ',i+=' ',e.valAxisMajorUnit&&(i+=` `),e.valAxisDisplayUnit&&(i+=`${e.valAxisDisplayUnitLabel?"":""}`),i+="",i}function C0(e,r,t){let n="";return n+="",n+=' ',n+=' ',n+=' ',n+=' ',n+=e.serGridLine.style!=="none"?Tl(e.serGridLine):"",e.showSerAxisTitle&&(n+=Uo({color:e.serAxisTitleColor,fontFace:e.serAxisTitleFontFace,fontSize:e.serAxisTitleFontSize,titleRotate:e.serAxisTitleRotate,title:e.serAxisTitle||"Axis Title"})),n+=` `,n+=' ',n+=' ',n+=` `,n+=" ",n+=' ',n+=e.serAxisLineShow?`${ft(e.serAxisLineColor||_n.color)}`:"",n+=' ',n+=" ",n+=" ",n+=" ",n+=" ",n+=" ",n+=" ",n+=" ",n+=" ",n+=` `,n+=` ${ft(e.serAxisLabelColor||nr)}`,n+=` `,n+=" ",n+=" ",n+=' ',n+=" ",n+=" ",n+=' ',n+=' ',e.serAxisLabelFrequency&&(n+=' '),e.serLabelFormatCode&&(["serAxisBaseTimeUnit","serAxisMajorTimeUnit","serAxisMinorTimeUnit"].forEach(i=>{e[i]&&(typeof e[i]!="string"||!["days","months","years"].includes(i.toLowerCase()))&&(console.warn(`"${i}" must be one of: 'days','months','years' !`),e[i]=null)}),e.serAxisBaseTimeUnit&&(n+=` `),e.serAxisMajorTimeUnit&&(n+=` `),e.serAxisMinorTimeUnit&&(n+=` `),e.serAxisMajorUnit&&(n+=` `),e.serAxisMinorUnit&&(n+=` `)),n+="",n}function Uo(e,r,t){let n=e.titleAlign==="left"||e.titleAlign==="right"?``:"",i=e.titleRotate?``:"",a=e.fontSize?`sz="${Math.round(e.fontSize*100)}"`:"",o=e.titleBold?1:0,l="";if(e.titlePos&&typeof e.titlePos.x=="number"&&typeof e.titlePos.y=="number"){let c=e.titlePos.x+r,s=e.titlePos.y+t,u=c===0?0:c*(c/5)/10;u>=1&&(u=u/10),u>=.1&&(u=u/10);let d=s===0?0:s*(s/5)/10;d>=1&&(d=d/10),d>=.1&&(d=d/10),l=``}return` +`);{let u='';if(e.opts._type===Ce.BUBBLE||e.opts._type===Ce.BUBBLE3D)u+=``;else if(e.opts._type===Ce.SCATTER)u+=``;else if(s){let d=t.length;t[0].labels.forEach(p=>d+=p.filter(f=>f&&f!=="").length),u+=``,u+=""}else{let d=t.length+t[0].labels.length*t[0].labels[0].length+t[0].labels.length,p=t.length+t[0].labels.length*t[0].labels[0].length+1;u+=``,u+=''}e.opts._type===Ce.BUBBLE||e.opts._type===Ce.BUBBLE3D?t.forEach((d,p)=>{p===0?u+="X-Axis":(u+=`${Ve(d.name||`Y-Axis${p}`)}`,u+=`${Ve(`Size${p}`)}`)}):t.forEach(d=>{u+=`${Ve((d.name||" ").replace("X-Axis","X-Values"))}`}),e.opts._type!==Ce.BUBBLE&&e.opts._type!==Ce.BUBBLE3D&&e.opts._type!==Ce.SCATTER&&t[0].labels.slice().reverse().forEach(d=>{d.filter(p=>p&&p!=="").forEach(p=>{u+=`${Ve(p)}`})}),u+=` +`,l.file("xl/sharedStrings.xml",u)}{let u='';if(e.opts._type===Ce.BUBBLE||e.opts._type===Ce.BUBBLE3D){u+=``,u+=``;let d=1;t.forEach((p,f)=>{f===0?u+=``:(u+=``,d++,u+=``)})}else e.opts._type===Ce.SCATTER?(u+=`
      `,u+=``,t.forEach((d,p)=>{u+=``})):(u+=`
      `,u+=``,t[0].labels.forEach((d,p)=>{u+=``}),t.forEach((d,p)=>{u+=``}));u+="",u+='',u+="
      ",l.file("xl/tables/table1.xml",u)}{let u='';if(u+='',e.opts._type===Ce.BUBBLE||e.opts._type===Ce.BUBBLE3D?u+=``:e.opts._type===Ce.SCATTER?u+=``:u+=``,u+='',u+='',e.opts._type===Ce.BUBBLE||e.opts._type===Ce.BUBBLE3D){u+="",u+=``,u+='0';for(let d=1;d${d}`;u+="",t[0].values.forEach((d,p)=>{u+=``,u+=`${d}`;let f=2;for(let h=1;h${t[h].values[p]||""}`,f++,u+=`${t[h].sizes[p]||""}`,f++;u+=""})}else if(e.opts._type===Ce.SCATTER){u+="",u+=``;for(let d=0;d${d}`;u+="",t[0].values.forEach((d,p)=>{u+=``,u+=`${d}`;for(let f=1;f${t[f].values[p]||t[f].values[p]===0?t[f].values[p]:""}`;u+=""})}else if(u+="",s){u+=``;for(let h=0;h0`;for(let h=t[0].labels.length-1;h${h}`;u+="";let d=t.length,p=t[0].labels[0].length,f=t[0].labels.length;for(let h=0;h`;let A=d,y=t[0].labels.slice().reverse();y.forEach((v,b)=>{if(v[h]){let P=b===0?1:y[b-1].filter(F=>F&&F!=="").length;A+=P,u+=`${A}`}});for(let v=0;v${t[v].values[h]||0}`;u+=""}}else{u+=``,t[0].labels.forEach((d,p)=>{u+=`0`});for(let d=0;d${d+1}`;u+="",t[0].labels[0].forEach((d,p)=>{u+=``;for(let f=t[0].labels.length-1;f>=0;f--)u+=``,u+=`${t.length+p+1}`,u+="";for(let f=0;f${t[f].values[p]||""}`;u+=""})}u+="",u+='',u+=` +`,l.file("xl/worksheets/sheet1.xml",u)}l.generateAsync({type:"base64"}).then(u=>{r.file(`ppt/embeddings/Microsoft_Excel_Worksheet${e.globalId}.xlsx`,u,{base64:!0}),r.file("ppt/charts/_rels/"+e.fileName+".rels",``),r.file(`ppt/charts/${e.fileName}`,C0(e)),n("")}).catch(u=>{i(u)})})})}function C0(e){var r,t,n,i;let a='',o=!1;if(a+='',a+='',a+=``,a+="",e.opts.showTitle?(a+=Uo({title:e.opts.title||"Chart Title",color:e.opts.titleColor,fontFace:e.opts.titleFontFace,fontSize:e.opts.titleFontSize||u0,titleAlign:e.opts.titleAlign,titleBold:e.opts.titleBold,titlePos:e.opts.titlePos,titleRotate:e.opts.titleRotate},e.opts.x,e.opts.y),a+=''):a+='',e.opts._type===Ce.BAR3D&&(a+=``),a+="",e.opts.layout?(a+="",a+=" ",a+=' ',a+=' ',a+=' ',a+=' ',a+=' ',a+=' ',a+=' ',a+=" ",a+=""):a+="",Array.isArray(e.opts._type)?e.opts._type.forEach(l=>{let c=Object.assign(Object.assign({},e.opts),l.options),s=c.secondaryValAxis?no:qr,u=c.secondaryCatAxis?Qs:qi;o=o||c.secondaryValAxis,a+=Cu(l.type,l.data,c,s,u)}):a+=Cu(e.opts._type,e.data,e.opts,qr,qi),e.opts._type!==Ce.PIE&&e.opts._type!==Ce.DOUGHNUT){if(e.opts.valAxes&&e.opts.valAxes.length>1&&!o)throw new Error("Secondary axis must be used by one of the multiple charts");if(e.opts.catAxes){if(!e.opts.valAxes||e.opts.valAxes.length!==e.opts.catAxes.length)throw new Error("There must be the same number of value and category axes.");a+=Rs(Object.assign(Object.assign({},e.opts),e.opts.catAxes[0]),qi,qr)}else a+=Rs(e.opts,qi,qr);e.opts.valAxes?(a+=Ls(Object.assign(Object.assign({},e.opts),e.opts.valAxes[0]),qr),e.opts.valAxes[1]&&(a+=Ls(Object.assign(Object.assign({},e.opts),e.opts.valAxes[1]),no))):(a+=Ls(e.opts,qr),e.opts._type===Ce.BAR3D&&(a+=P0(e.opts,Vd,qr))),!((r=e.opts)===null||r===void 0)&&r.catAxes&&(!((t=e.opts)===null||t===void 0)&&t.catAxes[1])&&(a+=Rs(Object.assign(Object.assign({},e.opts),e.opts.catAxes[1]),Qs,no))}return e.opts.showDataTable&&(a+="",a+=` `,a+=` `,a+=` `,a+=` `,a+=" ",a+=" ",a+=' ',a+=" ",a+=" ",a+=" ",a+=' ',a+=" ",a+=" ",a+=' ',a+=` `,a+=' ',a+=' ',a+=' ',a+=' ',a+=" ",a+=" ",a+=' ',a+=" ",a+=" ",a+=""),a+=" ",a+=!((n=e.opts.plotArea.fill)===null||n===void 0)&&n.color?ur(e.opts.plotArea.fill):"",a+=e.opts.plotArea.border?`${ur(e.opts.plotArea.border.color)}`:"",a+=" ",a+=" ",a+="",e.opts.showLegend&&(a+="",a+='',a+='',(e.opts.legendFontFace||e.opts.legendFontSize||e.opts.legendColor)&&(a+="",a+=" ",a+=" ",a+=" ",a+=" ",a+=e.opts.legendFontSize?``:"",e.opts.legendColor&&(a+=ur(e.opts.legendColor)),e.opts.legendFontFace&&(a+=''),e.opts.legendFontFace&&(a+=''),a+=" ",a+=" ",a+=' ',a+=" ",a+=""),a+=""),a+=' ',a+=' ',e.opts._type===Ce.SCATTER&&(a+=''),a+="",a+="",a+=!((i=e.opts.chartArea.fill)===null||i===void 0)&&i.color?ur(e.opts.chartArea.fill):"",a+=e.opts.chartArea.border?`${ur(e.opts.chartArea.border.color)}`:"",a+=" ",a+="",a+='',a+="",a}function Cu(e,r,t,n,i,a){let o=-1,l=1,c=null,s="";switch(e){case Ce.AREA:case Ce.BAR:case Ce.BAR3D:case Ce.LINE:case Ce.RADAR:s+=``,e===Ce.AREA&&t.barGrouping==="stacked"&&(s+=''),(e===Ce.BAR||e===Ce.BAR3D)&&(s+='',s+=''),e===Ce.RADAR&&(s+=''),s+='',r.forEach(u=>{var d;o++,s+="",s+=` `,s+=" ",s+=" ",s+=" Sheet1!$"+yt(u._dataIndex+u.labels.length+1)+"$1",s+=' '+Ve(u.name)+"",s+=" ",s+=" ";let p=t.chartColors?t.chartColors[o%t.chartColors.length]:null;s+=" ",p==="transparent"?s+="":t.chartColorsOpacity?s+=""+ft(p,``)+"":s+=""+ft(p)+"",e===Ce.LINE||e===Ce.RADAR?t.lineSize===0?s+="":(s+=`${ft(p)}`,s+=''):t.dataBorder&&(s+=`${ft(t.dataBorder.color)}`),s+=Mn(t.shadow,zn),s+=" ",s+=' ',e!==Ce.RADAR&&(s+="",s+=``,t.dataLabelBkgrdColors&&(s+=`${ft(p)}`),s+="",s+=``,s+=`${ft(t.dataLabelColor||nr)}`,s+=``,s+="",t.dataLabelPosition&&(s+=``),s+='',s+=``,s+=``,s+=``,s+=""),(e===Ce.LINE||e===Ce.RADAR)&&(s+="",s+=' ',t.lineDataSymbolSize&&(s+=``),s+=" ",s+=` ${ft(t.chartColors[u._dataIndex+1>t.chartColors.length?Math.floor(Math.random()*t.chartColors.length):u._dataIndex])}`,s+=` ${ft(t.lineDataSymbolLineColor||p)}`,s+=" ",s+=" ",s+=""),(e===Ce.BAR||e===Ce.BAR3D)&&r.length===1&&(t.chartColors&&t.chartColors!==Vi&&t.chartColors.length>1||!((d=t.invertedColors)===null||d===void 0)&&d.length)&&u.values.forEach((f,h)=>{let A=f<0?t.invertedColors||t.chartColors||Vi:t.chartColors||[];s+=" ",s+=` `,s+=' ',s+=' ',s+=" ",t.lineSize===0?s+="":e===Ce.BAR?(s+="",s+=' ',s+=""):(s+="",s+=" ",s+=' ',s+=" ",s+=""),s+=Mn(t.shadow,zn),s+=" ",s+=" "}),s+="",t.catLabelFormatCode?(s+=" ",s+=` Sheet1!$A$2:$A$${u.labels[0].length+1}`,s+=" ",s+=" "+(t.catLabelFormatCode||"General")+"",s+=` `,u.labels[0].forEach((f,h)=>s+=`${Ve(f)}`),s+=" ",s+=" "):(s+=" ",s+=` Sheet1!$A$2:$${yt(u.labels.length)}$${u.labels[0].length+1}`,s+=" ",s+=` `,u.labels.forEach(f=>{s+="",f.forEach((h,A)=>s+=`${Ve(h)}`),s+=""}),s+=" ",s+=" "),s+="",s+="",s+=" ",s+=`Sheet1!$${yt(u._dataIndex+u.labels.length+1)}$2:$${yt(u._dataIndex+u.labels.length+1)}$${u.labels[0].length+1}`,s+=" ",s+=" "+(t.valLabelFormatCode||t.dataTableFormatCode||"General")+"",s+=` `,u.values.forEach((f,h)=>s+=`${f||f===0?f:""}`),s+=" ",s+=" ",s+="",e===Ce.LINE&&(s+=''),s+=""}),s+=" ",s+=` `,s+=" ",s+=" ",s+=" ",s+=" ",s+=` `,s+=" "+ft(t.dataLabelColor||nr)+"",s+=' ',s+=" ",s+=" ",s+=" ",t.dataLabelPosition&&(s+=' '),s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=` `,s+=" ",e===Ce.BAR?(s+=` `,s+=` `):e===Ce.BAR3D?(s+=` `,s+=` `,s+=' '):e===Ce.LINE&&(s+=' '),s+=``,s+=``;break;case Ce.SCATTER:s+="",s+='',s+='',o=-1,r.filter((u,d)=>d>0).forEach((u,d)=>{o++,s+="",s+=` `,s+=` `,s+=" ",s+=" ",s+=` Sheet1!$${yt(d+2)}$1`,s+=' '+Ve(u.name)+"",s+=" ",s+=" ",s+=" ";{let p=t.chartColors[o%t.chartColors.length];p==="transparent"?s+="":t.chartColorsOpacity?s+=""+ft(p,'')+"":s+=""+ft(p)+"",t.lineSize===0?s+="":(s+=`${ft(p)}`,s+=``),s+=Mn(t.shadow,zn)}if(s+=" ",s+="",s+=' ',t.lineDataSymbolSize&&(s+=``),s+="",s+=`${ft(t.chartColors[d+1>t.chartColors.length?Math.floor(Math.random()*t.chartColors.length):d])}`,s+=`${ft(t.lineDataSymbolLineColor||t.chartColors[o%t.chartColors.length])}`,s+="",s+="",s+="",t.showLabel){let p=io("-xxxx-xxxx-xxxx-xxxxxxxxxxxx");u.labels[0]&&(t.dataLabelFormatScatter==="custom"||t.dataLabelFormatScatter==="customXY")&&(s+="",u.labels[0].forEach((f,h)=>{(t.dataLabelFormatScatter==="custom"||t.dataLabelFormatScatter==="customXY")&&(s+=" ",s+=` `,s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=' ',s+=" "+Ve(f)+"",s+=" ",t.dataLabelFormatScatter==="customXY"&&!/^ *$/.test(f)&&(s+=" ",s+=' ',s+=" (",s+=" ",s+=' ',s+=' ',s+=" ",s+=" ",s+=" ",s+=" ["+Ve(u.name)+"",s+=" ",s+=" ",s+=' ',s+=" , ",s+=" ",s+=' ',s+=' ',s+=" ",s+=" ",s+=" ",s+=" ["+Ve(u.name)+"]",s+=" ",s+=" ",s+=' ',s+=" )",s+=" ",s+=' '),s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",t.dataLabelPosition&&(s+=' '),s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=" ",s+=' ',s+=' ',s+=` `,s+=" ",s+=" ",s+="")}),s+=""),t.dataLabelFormatScatter==="XY"&&(s+="",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=' ',s+=" ",s+=" ",t.dataLabelPosition&&(s+=' '),s+=' ',s+=` `,s+=` `,s+=` `,s+=' ',s+=' ',s+=" ",s+=' ',s+=' ',s+=" ",s+=" ",s+="")}r.length===1&&t.chartColors!==Vi&&u.values.forEach((p,f)=>{let h=p<0?t.invertedColors||t.chartColors||Vi:t.chartColors||[];s+=" ",s+=` `,s+=' ',s+=' ',s+=" ",t.lineSize===0?s+="":(s+="",s+=' ',s+=""),s+=Mn(t.shadow,zn),s+=" ",s+=" "}),s+="",s+=" ",s+=` Sheet1!$A$2:$A$${r[0].values.length+1}`,s+=" ",s+=" General",s+=` `,r[0].values.forEach((p,f)=>{s+=`${p||p===0?p:""}`}),s+=" ",s+=" ",s+="",s+="",s+=" ",s+=` Sheet1!$${yt(d+2)}$2:$${yt(d+2)}$${r[0].values.length+1}`,s+=" ",s+=" General",s+=` `,r[0].values.forEach((p,f)=>{s+=`${u.values[f]||u.values[f]===0?u.values[f]:""}`}),s+=" ",s+=" ",s+="",s+='',s+=""}),s+=" ",s+=` `,s+=" ",s+=" ",s+=" ",s+=" ",s+=` `,s+=" "+ft(t.dataLabelColor||nr)+"",s+=' ',s+=" ",s+=" ",s+=" ",t.dataLabelPosition&&(s+=' '),s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=" ",s+=``,s+="";break;case Ce.BUBBLE:case Ce.BUBBLE3D:s+="",s+='',o=-1,r.filter((u,d)=>d>0).forEach((u,d)=>{o++,s+="",s+=` `,s+=` `,s+=" ",s+=" ",s+=" Sheet1!$"+yt(l+1)+"$1",s+=' '+Ve(u.name)+"",s+=" ",s+=" ";{s+="";let p=t.chartColors[o%t.chartColors.length];p==="transparent"?s+="":t.chartColorsOpacity?s+=`${ft(p,'')}`:s+=""+ft(p)+"",t.lineSize===0?s+="":t.dataBorder?s+=`${ft(t.dataBorder.color)}`:(s+=`${ft(p)}`,s+=``),s+=Mn(t.shadow,zn),s+=""}s+="",s+=" ",s+=` Sheet1!$A$2:$A$${r[0].values.length+1}`,s+=" ",s+=" General",s+=` `,r[0].values.forEach((p,f)=>{s+=`${p||p===0?p:""}`}),s+=" ",s+=" ",s+="",s+="",s+=" ",s+=`Sheet1!$${yt(l+1)}$2:$${yt(l+1)}$${r[0].values.length+1}`,l++,s+=" ",s+=" General",s+=` `,r[0].values.forEach((p,f)=>{s+=`${u.values[f]||u.values[f]===0?u.values[f]:""}`}),s+=" ",s+=" ",s+="",s+=" ",s+=" ",s+=`Sheet1!$${yt(l+1)}$2:$${yt(l+1)}$${u.sizes.length+1}`,l++,s+=" ",s+=" General",s+=` `,u.sizes.forEach((p,f)=>{s+=`${p||""}`}),s+=" ",s+=" ",s+=" ",s+=' ',s+=""}),s+="",s+=``,s+="",s+=``,s+=`${ft(t.dataLabelColor||nr)}`,s+=``,s+="",t.dataLabelPosition&&(s+=``),s+='',s+=``,s+=``,s+="",s+=' ',s+=' ',s+=" ",s+="",s+="",s+=``,s+="";break;case Ce.DOUGHNUT:case Ce.PIE:c=r[0],s+="",s+=' ',s+="",s+=' ',s+=' ',s+=" ",s+=" ",s+=" Sheet1!$B$1",s+=" ",s+=' ',s+=' '+Ve(c.name)+"",s+=" ",s+=" ",s+=" ",s+=" ",s+=' ',s+=' ',t.dataNoEffects?s+="":s+=Mn(t.shadow,zn),s+=" ",c.labels[0].forEach((u,d)=>{s+="",s+=` `,s+=' ',s+=" ",s+=`${ft(t.chartColors[d+1>t.chartColors.length?Math.floor(Math.random()*t.chartColors.length):d])}`,t.dataBorder&&(s+=`${ft(t.dataBorder.color)}`),s+=Mn(t.shadow,zn),s+=" ",s+=""}),s+="",c.labels[0].forEach((u,d)=>{s+="",s+=` `,s+=` `,s+=" ",s+=" ",s+=" ",s+=` `,s+=" "+ft(t.dataLabelColor||nr)+"",s+=` `,s+=" ",s+=" ",s+=" ",e===Ce.PIE&&t.dataLabelPosition&&(s+=``),s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=" "}),s+=` `,s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=` `,s+=' ',s+=" ",s+=" ",s+=" ",s+=" ",s+=e===Ce.PIE?'':"",s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=` `,s+="",s+="",s+=" ",s+=` Sheet1!$A$2:$A$${c.labels[0].length+1}`,s+=" ",s+=` `,c.labels[0].forEach((u,d)=>{s+=`${Ve(u)}`}),s+=" ",s+=" ",s+="",s+=" ",s+=" ",s+=` Sheet1!$B$2:$B$${c.labels[0].length+1}`,s+=" ",s+=` `,c.values.forEach((u,d)=>{s+=`${u||u===0?u:""}`}),s+=" ",s+=" ",s+=" ",s+=" ",s+=` `,e===Ce.DOUGHNUT&&(s+=``),s+="";break;default:s+="";break}return s}function Rs(e,r,t){let n="";return e._type===Ce.SCATTER||e._type===Ce.BUBBLE||e._type===Ce.BUBBLE3D?n+="":n+="",n+=' ',n+=" ",n+='',(e.catAxisMaxVal||e.catAxisMaxVal===0)&&(n+=``),(e.catAxisMinVal||e.catAxisMinVal===0)&&(n+=``),n+="",n+=' ',n+=' ',n+=e.catGridLine.style!=="none"?Tl(e.catGridLine):"",e.showCatAxisTitle&&(n+=Uo({color:e.catAxisTitleColor,fontFace:e.catAxisTitleFontFace,fontSize:e.catAxisTitleFontSize,titleRotate:e.catAxisTitleRotate,title:e.catAxisTitle||"Axis Title"})),e._type===Ce.SCATTER||e._type===Ce.BUBBLE||e._type===Ce.BUBBLE3D?n+=' ':n+=' ',e._type===Ce.SCATTER?(n+=' ',n+=' ',n+=' '):(n+=' ',n+=' ',n+=' '),n+=" ",n+=` `,n+=e.catAxisLineShow?""+ft(e.catAxisLineColor||_n.color)+"":"",n+=' ',n+=" ",n+=" ",n+=" ",n+=" ",e.catAxisLabelRotate?n+=``:n+="",n+=" ",n+=" ",n+=" ",n+=` `,n+=" "+ft(e.catAxisLabelColor||nr)+"",n+=' ',n+=" ",n+=" ",n+=' ',n+=" ",n+=" ",n+=' ',n+=` `,n+=' ',n+=' ',n+=` `,e.catAxisLabelFrequency&&(n+=' '),(e.catLabelFormatCode||e._type===Ce.SCATTER||e._type===Ce.BUBBLE||e._type===Ce.BUBBLE3D)&&(e.catLabelFormatCode&&(["catAxisBaseTimeUnit","catAxisMajorTimeUnit","catAxisMinorTimeUnit"].forEach(i=>{e[i]&&(typeof e[i]!="string"||!["days","months","years"].includes(e[i].toLowerCase()))&&(console.warn(`"${i}" must be one of: 'days','months','years' !`),e[i]=null)}),e.catAxisBaseTimeUnit&&(n+=''),e.catAxisMajorTimeUnit&&(n+=''),e.catAxisMinorTimeUnit&&(n+='')),e.catAxisMajorUnit&&(n+=``),e.catAxisMinorUnit&&(n+=``)),e._type===Ce.SCATTER||e._type===Ce.BUBBLE||e._type===Ce.BUBBLE3D?n+="":n+="",n}function Ls(e,r){let t=r===qr?e.barDir==="col"?"l":"b":e.barDir!=="col"?"r":"t";r===no&&(t="r");let n=r===qr?qi:Qs,i="";return i+="",i+=' ',i+=" ",e.valAxisLogScaleBase&&(i+=``),i+='',(e.valAxisMaxVal||e.valAxisMaxVal===0)&&(i+=``),(e.valAxisMinVal||e.valAxisMinVal===0)&&(i+=``),i+=" ",i+=` `,i+=' ',e.valGridLine.style!=="none"&&(i+=Tl(e.valGridLine)),e.showValAxisTitle&&(i+=Uo({color:e.valAxisTitleColor,fontFace:e.valAxisTitleFontFace,fontSize:e.valAxisTitleFontSize,titleRotate:e.valAxisTitleRotate,title:e.valAxisTitle||"Axis Title"})),i+=``,e._type===Ce.SCATTER?(i+=' ',i+=' ',i+=' '):(i+=' ',i+=' ',i+=' '),i+=" ",i+=` `,i+=e.valAxisLineShow?""+ft(e.valAxisLineColor||_n.color)+"":"",i+=' ',i+=" ",i+=" ",i+=" ",i+=" ",i+=` `,i+=" ",i+=" ",i+=" ",i+=` `,i+=" "+ft(e.valAxisLabelColor||nr)+"",i+=' ',i+=" ",i+=" ",i+=' ',i+=" ",i+=" ",i+=' ',typeof e.catAxisCrossesAt=="number"?i+=` `:typeof e.catAxisCrossesAt=="string"?i+=' ':i+=' ',i+=' ',e.valAxisMajorUnit&&(i+=` `),e.valAxisDisplayUnit&&(i+=`${e.valAxisDisplayUnitLabel?"":""}`),i+="",i}function P0(e,r,t){let n="";return n+="",n+=' ',n+=' ',n+=' ',n+=' ',n+=e.serGridLine.style!=="none"?Tl(e.serGridLine):"",e.showSerAxisTitle&&(n+=Uo({color:e.serAxisTitleColor,fontFace:e.serAxisTitleFontFace,fontSize:e.serAxisTitleFontSize,titleRotate:e.serAxisTitleRotate,title:e.serAxisTitle||"Axis Title"})),n+=` `,n+=' ',n+=' ',n+=` `,n+=" ",n+=' ',n+=e.serAxisLineShow?`${ft(e.serAxisLineColor||_n.color)}`:"",n+=' ',n+=" ",n+=" ",n+=" ",n+=" ",n+=" ",n+=" ",n+=" ",n+=" ",n+=` `,n+=` ${ft(e.serAxisLabelColor||nr)}`,n+=` `,n+=" ",n+=" ",n+=' ',n+=" ",n+=" ",n+=' ',n+=' ',e.serAxisLabelFrequency&&(n+=' '),e.serLabelFormatCode&&(["serAxisBaseTimeUnit","serAxisMajorTimeUnit","serAxisMinorTimeUnit"].forEach(i=>{e[i]&&(typeof e[i]!="string"||!["days","months","years"].includes(i.toLowerCase()))&&(console.warn(`"${i}" must be one of: 'days','months','years' !`),e[i]=null)}),e.serAxisBaseTimeUnit&&(n+=` `),e.serAxisMajorTimeUnit&&(n+=` `),e.serAxisMinorTimeUnit&&(n+=` `),e.serAxisMajorUnit&&(n+=` `),e.serAxisMinorUnit&&(n+=` `)),n+="",n}function Uo(e,r,t){let n=e.titleAlign==="left"||e.titleAlign==="right"?``:"",i=e.titleRotate?``:"",a=e.fontSize?`sz="${Math.round(e.fontSize*100)}"`:"",o=e.titleBold?1:0,l="";if(e.titlePos&&typeof e.titlePos.x=="number"&&typeof e.titlePos.y=="number"){let c=e.titlePos.x+r,s=e.titlePos.y+t,u=c===0?0:c*(c/5)/10;u>=1&&(u=u/10),u>=.1&&(u=u/10);let d=s===0?0:s*(s/5)/10;d>=1&&(d=d/10),d>=.1&&(d=d/10),l=``}return` ${i} @@ -236,23 +236,23 @@ end`},lu=function(){for(var e=[],r=0;r ${l} - `}function yt(e){let r="",t=e-1;return t<=25?r=Mi[t]:r=`${Mi[Math.floor(t/Mi.length-1)]}${Mi[t%Mi.length]}`,r}function Mn(e,r){if(e){if(typeof e!="object")return console.warn("`shadow` options must be an object. Ex: `{shadow: {type:'none'}}`"),""}else return"";let t="",n=Object.assign(Object.assign({},r),e),i=n.type||"outer",a=je(n.blur),o=je(n.offset),l=Math.round(n.angle*6e4),c=n.color,s=Math.round(n.opacity*1e5),u=n.rotateWithShape?1:0;return t+=``,t+=``,t+=``,t+=``,t+="",t}function Tl(e){let r="";return r+=" ",r+=` `,r+=' ',r+=' ',r+=" ",r+=" ",r+="",r}function ao(e){if(!e||e==="flat")return"flat";if(e==="square")return"sq";if(e==="round")return"rnd";{let r=e;throw new Error(`Invalid chart line cap: ${r}`)}}function Ns(e){var r,t;let n=typeof process<"u"&&!!(!((r=process.versions)===null||r===void 0)&&r.node)&&((t=process.release)===null||t===void 0?void 0:t.name)==="node",i,a,o=n?()=>cr(this,void 0,void 0,function*(){({default:i}=yield Promise.resolve().then(()=>Qr(Uu()))),{default:a}=yield Promise.resolve().then(()=>Qr(wp()))}):()=>cr(this,void 0,void 0,function*(){});n&&o();let l=[],c=e._relsMedia.filter(u=>u.type!=="online"&&!u.data&&(!u.path||u.path&&!u.path.includes("preencoded"))),s=[];return c.forEach(u=>{s.includes(u.path)?u.isDuplicate=!0:(u.isDuplicate=!1,s.push(u.path))}),c.filter(u=>!u.isDuplicate).forEach(u=>{l.push(cr(this,void 0,void 0,function*(){if(a||(yield o()),n&&i&&u.path.indexOf("http")!==0)try{let d=i.readFileSync(u.path);return u.data=Buffer.from(d).toString("base64"),c.filter(A=>A.isDuplicate&&A.path===u.path).forEach(A=>A.data=u.data),"done"}catch(d){throw u.data=ci,c.filter(A=>A.isDuplicate&&A.path===u.path).forEach(A=>A.data=u.data),new Error(`ERROR: Unable to read media: "${u.path}" -${String(d)}`)}return n&&a&&u.path.startsWith("http")?yield new Promise((d,A)=>{a.get(u.path,f=>{let p="";f.setEncoding("binary"),f.on("data",g=>p+=g),f.on("end",()=>{u.data=Buffer.from(p,"binary").toString("base64"),c.filter(g=>g.isDuplicate&&g.path===u.path).forEach(g=>g.data=u.data),d("done")}),f.on("error",()=>{u.data=ci,c.filter(g=>g.isDuplicate&&g.path===u.path).forEach(g=>g.data=u.data),A(new Error(`ERROR! Unable to load image (https.get): ${u.path}`))})})}):yield new Promise((d,A)=>{let f=new XMLHttpRequest;f.onload=()=>{let p=new FileReader;p.onloadend=()=>{u.data=p.result,c.filter(g=>g.isDuplicate&&g.path===u.path).forEach(g=>g.data=u.data),u.isSvgPng?Pu(u).then(()=>d("done")).catch(A):d("done")},p.readAsDataURL(f.response)},f.onerror=()=>{u.data=ci,c.filter(p=>p.isDuplicate&&p.path===u.path).forEach(p=>p.data=u.data),A(new Error(`ERROR! Unable to load image (xhr.onerror): ${u.path}`))},f.open("GET",u.path),f.responseType="blob",f.send()})}))}),e._relsMedia.filter(u=>u.isSvgPng&&u.data).forEach(u=>{cr(this,void 0,void 0,function*(){n&&!i&&(yield o()),n&&i?(u.data=ci,l.push(Promise.resolve("done"))):l.push(Pu(u))})}),l}function Pu(e){return cr(this,void 0,void 0,function*(){return yield new Promise((r,t)=>{let n=new Image;n.onload=()=>{n.width+n.height===0&&n.onerror("h/w=0");let i=document.createElement("CANVAS"),a=i.getContext("2d");i.width=n.width,i.height=n.height,a.drawImage(n,0,0);try{e.data=i.toDataURL(e.type),r("done")}catch(o){n.onerror(o.toString())}i=null},n.onerror=()=>{e.data=ci,t(new Error(`ERROR! Unable to load image (image.onerror): ${e.path}`))},n.src=typeof e.data=="string"?e.data:ci})})}var P0={cover:function(e,r){let t=e.h/e.w,i=r.h/r.w>t,a=i?r.h/t:r.w,o=i?r.h:r.w*t,l=Math.round(1e5*.5*(1-r.w/a)),c=Math.round(1e5*.5*(1-r.h/o));return``},contain:function(e,r){let t=e.h/e.w,i=r.h/r.w>t,a=i?r.w:r.h/t,o=i?r.w*t:r.h,l=Math.round(1e5*.5*(1-r.w/a)),c=Math.round(1e5*.5*(1-r.h/o));return``},crop:function(e,r){let t=r.x,n=e.w-(r.x+r.w),i=r.y,a=e.h-(r.y+r.h),o=Math.round(1e5*(t/e.w)),l=Math.round(1e5*(n/e.w)),c=Math.round(1e5*(i/e.h)),s=Math.round(1e5*(a/e.h));return``}};function Dl(e){var r;let t=e._name?'':"",n=1;return e._bkgdImgRid?t+=``:!((r=e.background)===null||r===void 0)&&r.color?t+=`${ur(e.background)}`:!e.bkgd&&e._name&&e._name===Ks&&(t+=''),t+="",t+='',t+='',t+='',e._slideObjects.forEach((i,a)=>{var o,l,c,s,u,d,A,f;let p=0,g=0,y=nt("75%","X",e._presLayout),v=0,b,x="",P=null,F=null,R=0,E=0,B=null,T=null,W=(o=i.options)===null||o===void 0?void 0:o.sizing,H=(l=i.options)===null||l===void 0?void 0:l.rounding;e._slideLayout!==void 0&&e._slideLayout._slideObjects!==void 0&&i.options&&i.options.placeholder&&(b=e._slideLayout._slideObjects.filter(m=>m.options.placeholder===i.options.placeholder)[0]),i.options=i.options||{},typeof i.options.x<"u"&&(p=nt(i.options.x,"X",e._presLayout)),typeof i.options.y<"u"&&(g=nt(i.options.y,"Y",e._presLayout)),typeof i.options.w<"u"&&(y=nt(i.options.w,"X",e._presLayout)),typeof i.options.h<"u"&&(v=nt(i.options.h,"Y",e._presLayout));let C=y,I=v;switch(b&&((b.options.x||b.options.x===0)&&(p=nt(b.options.x,"X",e._presLayout)),(b.options.y||b.options.y===0)&&(g=nt(b.options.y,"Y",e._presLayout)),(b.options.w||b.options.w===0)&&(y=nt(b.options.w,"X",e._presLayout)),(b.options.h||b.options.h===0)&&(v=nt(b.options.h,"Y",e._presLayout))),i.options.flipH&&(x+=' flipH="1"'),i.options.flipV&&(x+=' flipV="1"'),i.options.rotate&&(x+=` rot="${Un(i.options.rotate)}"`),i._type){case He.table:if(P=i.arrTabRows,F=i.options,R=0,E=0,P[0].forEach(m=>{B=m.options||null,R+=B?.colspan?Number(B.colspan):1}),T=``,T+=' ',T+=``,T+='',Array.isArray(F.colW)){T+="";for(let m=0;m`}T+=""}else{E=F.colW?F.colW:Ke,i.options.w&&!F.colW&&(E=Math.round((typeof i.options.w=="number"?i.options.w:1)/R)),T+="";for(let m=0;m`;T+=""}P.forEach(m=>{var N,ne;for(let q=0;q1){let j=new Array(Z-1).fill(void 0).map(()=>({_type:He.tablecell,options:{rowspan:ue},_hmerge:!0}));m.splice(q+1,0,...j),q+=Z}else q+=1}}),P.forEach((m,N)=>{let ne=P[N+1];ne&&m.forEach((q,se)=>{var Z,ue;let j=q._rowContinue||((Z=q.options)===null||Z===void 0?void 0:Z.rowspan),_=(ue=q.options)===null||ue===void 0?void 0:ue.colspan,fe=q._hmerge;if(j&&j>1){let ce={_type:He.tablecell,options:{colspan:_},_rowContinue:j-1,_vmerge:!0,_hmerge:fe};ne.splice(se,0,ce)}})}),P.forEach((m,N)=>{let ne=0;Array.isArray(F.rowH)&&F.rowH[N]?ne=lt(Number(F.rowH[N])):F.rowH&&!isNaN(Number(F.rowH))?ne=lt(Number(F.rowH)):(i.options.cy||i.options.h)&&(ne=Math.round((i.options.h?lt(i.options.h):typeof i.options.cy=="number"?i.options.cy:1)/P.length)),T+=``,m.forEach(q=>{var se,Z,ue,j,_;let fe=q,ce={rowSpan:((se=fe.options)===null||se===void 0?void 0:se.rowspan)>1?fe.options.rowspan:void 0,gridSpan:((Z=fe.options)===null||Z===void 0?void 0:Z.colspan)>1?fe.options.colspan:void 0,vMerge:fe._vmerge?1:void 0,hMerge:fe._hmerge?1:void 0},ie=Object.keys(ce).map(Be=>[Be,ce[Be]]).filter(([,Be])=>!!Be).map(([Be,h])=>`${String(Be)}="${String(h)}"`).join(" ");if(ie&&(ie=" "+ie),fe._hmerge||fe._vmerge){T+=``;return}let be=fe.options||{};fe.options=be,["align","bold","border","color","fill","fontFace","fontSize","margin","textDirection","underline","valign"].forEach(Be=>{F[Be]&&!be[Be]&&be[Be]!==0&&(be[Be]=F[Be])});let Re=be.valign?` anchor="${be.valign.replace(/^c$/i,"ctr").replace(/^m$/i,"ctr").replace("center","ctr").replace("middle","ctr").replace("top","t").replace("btm","b").replace("bottom","b")}"`:"",ke=be.textDirection&&be.textDirection!=="horz"?` vert="${be.textDirection}"`:"",xe=!((j=(ue=fe._optImp)===null||ue===void 0?void 0:ue.fill)===null||j===void 0)&&j.color?fe._optImp.fill.color:!((_=fe._optImp)===null||_===void 0)&&_.fill&&typeof fe._optImp.fill=="string"?fe._optImp.fill:"";xe=xe||be.fill?be.fill:"";let Oe=xe?ur(xe):"",we=be.margin===0||be.margin?be.margin:jd;!Array.isArray(we)&&typeof we=="number"&&(we=[we,we,we,we]);let tt="";we[0]>=1?tt=` marL="${je(we[3])}" marR="${je(we[1])}" marT="${je(we[0])}" marB="${je(we[2])}"`:tt=` marL="${lt(we[3])}" marR="${lt(we[1])}" marT="${lt(we[0])}" marB="${lt(we[2])}"`,T+=`${Tu(fe)}`,be.border&&Array.isArray(be.border)&&[{idx:3,name:"lnL"},{idx:1,name:"lnR"},{idx:0,name:"lnT"},{idx:2,name:"lnB"}].forEach(Be=>{be.border[Be.idx].type!=="none"?(T+=``,T+=`${ft(be.border[Be.idx].color)}`,T+=``,T+=``):T+=``}),T+=Oe,T+=" ",T+=" "}),T+=""}),T+=" ",T+=" ",T+=" ",T+="",t+=T,n++;break;case He.text:case He.placeholder:if(!i.options.line&&v===0&&(v=Ke*.3),i.options._bodyProp||(i.options._bodyProp={}),i.options.margin&&Array.isArray(i.options.margin)?(i.options._bodyProp.lIns=je(i.options.margin[0]||0),i.options._bodyProp.rIns=je(i.options.margin[1]||0),i.options._bodyProp.bIns=je(i.options.margin[2]||0),i.options._bodyProp.tIns=je(i.options.margin[3]||0)):typeof i.options.margin=="number"&&(i.options._bodyProp.lIns=je(i.options.margin),i.options._bodyProp.rIns=je(i.options.margin),i.options._bodyProp.bIns=je(i.options.margin),i.options._bodyProp.tIns=je(i.options.margin)),t+="",t+=``,!((c=i.options.hyperlink)===null||c===void 0)&&c.url&&(t+=``),!((s=i.options.hyperlink)===null||s===void 0)&&s.slide&&(t+=``),t+="",t+="':"/>"),t+=`${i._type==="placeholder"?Qa(i):Qa(b)}`,t+="",t+=``,t+=``,t+=``,i.shape==="custGeom")t+="",t+="",t+="",t+="",t+="",t+="",t+='',t+="",t+=``,(d=i.options.points)===null||d===void 0||d.forEach((m,N)=>{if("curve"in m)switch(m.curve.type){case"arc":t+=``;break;case"cubic":t+=` - - - +
      `}function yt(e){let r="",t=e-1;return t<=25?r=Mi[t]:r=`${Mi[Math.floor(t/Mi.length-1)]}${Mi[t%Mi.length]}`,r}function Mn(e,r){if(e){if(typeof e!="object")return console.warn("`shadow` options must be an object. Ex: `{shadow: {type:'none'}}`"),""}else return"";let t="",n=Object.assign(Object.assign({},r),e),i=n.type||"outer",a=Ge(n.blur),o=Ge(n.offset),l=Math.round(n.angle*6e4),c=n.color,s=Math.round(n.opacity*1e5),u=n.rotateWithShape?1:0;return t+=``,t+=``,t+=``,t+=``,t+="",t}function Tl(e){let r="";return r+=" ",r+=` `,r+=' ',r+=' ',r+=" ",r+=" ",r+="",r}function ao(e){if(!e||e==="flat")return"flat";if(e==="square")return"sq";if(e==="round")return"rnd";{let r=e;throw new Error(`Invalid chart line cap: ${r}`)}}function Ns(e){var r,t;let n=typeof process<"u"&&!!(!((r=process.versions)===null||r===void 0)&&r.node)&&((t=process.release)===null||t===void 0?void 0:t.name)==="node",i,a,o=n?()=>cr(this,void 0,void 0,function*(){({default:i}=yield Promise.resolve().then(()=>Qr(Uu()))),{default:a}=yield Promise.resolve().then(()=>Qr(xp()))}):()=>cr(this,void 0,void 0,function*(){});n&&o();let l=[],c=e._relsMedia.filter(u=>u.type!=="online"&&!u.data&&(!u.path||u.path&&!u.path.includes("preencoded"))),s=[];return c.forEach(u=>{s.includes(u.path)?u.isDuplicate=!0:(u.isDuplicate=!1,s.push(u.path))}),c.filter(u=>!u.isDuplicate).forEach(u=>{l.push(cr(this,void 0,void 0,function*(){if(a||(yield o()),n&&i&&u.path.indexOf("http")!==0)try{let d=i.readFileSync(u.path);return u.data=Buffer.from(d).toString("base64"),c.filter(p=>p.isDuplicate&&p.path===u.path).forEach(p=>p.data=u.data),"done"}catch(d){throw u.data=ci,c.filter(p=>p.isDuplicate&&p.path===u.path).forEach(p=>p.data=u.data),new Error(`ERROR: Unable to read media: "${u.path}" +${String(d)}`)}return n&&a&&u.path.startsWith("http")?yield new Promise((d,p)=>{a.get(u.path,f=>{let h="";f.setEncoding("binary"),f.on("data",A=>h+=A),f.on("end",()=>{u.data=Buffer.from(h,"binary").toString("base64"),c.filter(A=>A.isDuplicate&&A.path===u.path).forEach(A=>A.data=u.data),d("done")}),f.on("error",()=>{u.data=ci,c.filter(A=>A.isDuplicate&&A.path===u.path).forEach(A=>A.data=u.data),p(new Error(`ERROR! Unable to load image (https.get): ${u.path}`))})})}):yield new Promise((d,p)=>{let f=new XMLHttpRequest;f.onload=()=>{let h=new FileReader;h.onloadend=()=>{u.data=h.result,c.filter(A=>A.isDuplicate&&A.path===u.path).forEach(A=>A.data=u.data),u.isSvgPng?Pu(u).then(()=>d("done")).catch(p):d("done")},h.readAsDataURL(f.response)},f.onerror=()=>{u.data=ci,c.filter(h=>h.isDuplicate&&h.path===u.path).forEach(h=>h.data=u.data),p(new Error(`ERROR! Unable to load image (xhr.onerror): ${u.path}`))},f.open("GET",u.path),f.responseType="blob",f.send()})}))}),e._relsMedia.filter(u=>u.isSvgPng&&u.data).forEach(u=>{cr(this,void 0,void 0,function*(){n&&!i&&(yield o()),n&&i?(u.data=ci,l.push(Promise.resolve("done"))):l.push(Pu(u))})}),l}function Pu(e){return cr(this,void 0,void 0,function*(){return yield new Promise((r,t)=>{let n=new Image;n.onload=()=>{n.width+n.height===0&&n.onerror("h/w=0");let i=document.createElement("CANVAS"),a=i.getContext("2d");i.width=n.width,i.height=n.height,a.drawImage(n,0,0);try{e.data=i.toDataURL(e.type),r("done")}catch(o){n.onerror(o.toString())}i=null},n.onerror=()=>{e.data=ci,t(new Error(`ERROR! Unable to load image (image.onerror): ${e.path}`))},n.src=typeof e.data=="string"?e.data:ci})})}var F0={cover:function(e,r){let t=e.h/e.w,i=r.h/r.w>t,a=i?r.h/t:r.w,o=i?r.h:r.w*t,l=Math.round(1e5*.5*(1-r.w/a)),c=Math.round(1e5*.5*(1-r.h/o));return``},contain:function(e,r){let t=e.h/e.w,i=r.h/r.w>t,a=i?r.w:r.h/t,o=i?r.w*t:r.h,l=Math.round(1e5*.5*(1-r.w/a)),c=Math.round(1e5*.5*(1-r.h/o));return``},crop:function(e,r){let t=r.x,n=e.w-(r.x+r.w),i=r.y,a=e.h-(r.y+r.h),o=Math.round(1e5*(t/e.w)),l=Math.round(1e5*(n/e.w)),c=Math.round(1e5*(i/e.h)),s=Math.round(1e5*(a/e.h));return``}};function Dl(e){var r;let t=e._name?'':"",n=1;return e._bkgdImgRid?t+=``:!((r=e.background)===null||r===void 0)&&r.color?t+=`${ur(e.background)}`:!e.bkgd&&e._name&&e._name===Ks&&(t+=''),t+="",t+='',t+='',t+='',e._slideObjects.forEach((i,a)=>{var o,l,c,s,u,d,p,f;let h=0,A=0,y=nt("75%","X",e._presLayout),v=0,b,x="",P=null,F=null,L=0,E=0,R=null,T=null,G=(o=i.options)===null||o===void 0?void 0:o.sizing,H=(l=i.options)===null||l===void 0?void 0:l.rounding;e._slideLayout!==void 0&&e._slideLayout._slideObjects!==void 0&&i.options&&i.options.placeholder&&(b=e._slideLayout._slideObjects.filter(g=>g.options.placeholder===i.options.placeholder)[0]),i.options=i.options||{},typeof i.options.x<"u"&&(h=nt(i.options.x,"X",e._presLayout)),typeof i.options.y<"u"&&(A=nt(i.options.y,"Y",e._presLayout)),typeof i.options.w<"u"&&(y=nt(i.options.w,"X",e._presLayout)),typeof i.options.h<"u"&&(v=nt(i.options.h,"Y",e._presLayout));let k=y,O=v;switch(b&&((b.options.x||b.options.x===0)&&(h=nt(b.options.x,"X",e._presLayout)),(b.options.y||b.options.y===0)&&(A=nt(b.options.y,"Y",e._presLayout)),(b.options.w||b.options.w===0)&&(y=nt(b.options.w,"X",e._presLayout)),(b.options.h||b.options.h===0)&&(v=nt(b.options.h,"Y",e._presLayout))),i.options.flipH&&(x+=' flipH="1"'),i.options.flipV&&(x+=' flipV="1"'),i.options.rotate&&(x+=` rot="${Un(i.options.rotate)}"`),i._type){case He.table:if(P=i.arrTabRows,F=i.options,L=0,E=0,P[0].forEach(g=>{R=g.options||null,L+=R?.colspan?Number(R.colspan):1}),T=``,T+=' ',T+=``,T+='',Array.isArray(F.colW)){T+="";for(let g=0;g`}T+=""}else{E=F.colW?F.colW:Ke,i.options.w&&!F.colW&&(E=Math.round((typeof i.options.w=="number"?i.options.w:1)/L)),T+="";for(let g=0;g`;T+=""}P.forEach(g=>{var z,ne;for(let q=0;q1){let j=new Array(Z-1).fill(void 0).map(()=>({_type:He.tablecell,options:{rowspan:de},_hmerge:!0}));g.splice(q+1,0,...j),q+=Z}else q+=1}}),P.forEach((g,z)=>{let ne=P[z+1];ne&&g.forEach((q,oe)=>{var Z,de;let j=q._rowContinue||((Z=q.options)===null||Z===void 0?void 0:Z.rowspan),W=(de=q.options)===null||de===void 0?void 0:de.colspan,fe=q._hmerge;if(j&&j>1){let le={_type:He.tablecell,options:{colspan:W},_rowContinue:j-1,_vmerge:!0,_hmerge:fe};ne.splice(oe,0,le)}})}),P.forEach((g,z)=>{let ne=0;Array.isArray(F.rowH)&&F.rowH[z]?ne=lt(Number(F.rowH[z])):F.rowH&&!isNaN(Number(F.rowH))?ne=lt(Number(F.rowH)):(i.options.cy||i.options.h)&&(ne=Math.round((i.options.h?lt(i.options.h):typeof i.options.cy=="number"?i.options.cy:1)/P.length)),T+=``,g.forEach(q=>{var oe,Z,de,j,W;let fe=q,le={rowSpan:((oe=fe.options)===null||oe===void 0?void 0:oe.rowspan)>1?fe.options.rowspan:void 0,gridSpan:((Z=fe.options)===null||Z===void 0?void 0:Z.colspan)>1?fe.options.colspan:void 0,vMerge:fe._vmerge?1:void 0,hMerge:fe._hmerge?1:void 0},ae=Object.keys(le).map(Re=>[Re,le[Re]]).filter(([,Re])=>!!Re).map(([Re,m])=>`${String(Re)}="${String(m)}"`).join(" ");if(ae&&(ae=" "+ae),fe._hmerge||fe._vmerge){T+=``;return}let ye=fe.options||{};fe.options=ye,["align","bold","border","color","fill","fontFace","fontSize","margin","textDirection","underline","valign"].forEach(Re=>{F[Re]&&!ye[Re]&&ye[Re]!==0&&(ye[Re]=F[Re])});let Le=ye.valign?` anchor="${ye.valign.replace(/^c$/i,"ctr").replace(/^m$/i,"ctr").replace("center","ctr").replace("middle","ctr").replace("top","t").replace("btm","b").replace("bottom","b")}"`:"",Se=ye.textDirection&&ye.textDirection!=="horz"?` vert="${ye.textDirection}"`:"",we=!((j=(de=fe._optImp)===null||de===void 0?void 0:de.fill)===null||j===void 0)&&j.color?fe._optImp.fill.color:!((W=fe._optImp)===null||W===void 0)&&W.fill&&typeof fe._optImp.fill=="string"?fe._optImp.fill:"";we=we||ye.fill?ye.fill:"";let Me=we?ur(we):"",be=ye.margin===0||ye.margin?ye.margin:jd;!Array.isArray(be)&&typeof be=="number"&&(be=[be,be,be,be]);let tt="";be[0]>=1?tt=` marL="${Ge(be[3])}" marR="${Ge(be[1])}" marT="${Ge(be[0])}" marB="${Ge(be[2])}"`:tt=` marL="${lt(be[3])}" marR="${lt(be[1])}" marT="${lt(be[0])}" marB="${lt(be[2])}"`,T+=`${Tu(fe)}`,ye.border&&Array.isArray(ye.border)&&[{idx:3,name:"lnL"},{idx:1,name:"lnR"},{idx:0,name:"lnT"},{idx:2,name:"lnB"}].forEach(Re=>{ye.border[Re.idx].type!=="none"?(T+=``,T+=`${ft(ye.border[Re.idx].color)}`,T+=``,T+=``):T+=``}),T+=Me,T+=" ",T+=" "}),T+=""}),T+=" ",T+=" ",T+=" ",T+="",t+=T,n++;break;case He.text:case He.placeholder:if(!i.options.line&&v===0&&(v=Ke*.3),i.options._bodyProp||(i.options._bodyProp={}),i.options.margin&&Array.isArray(i.options.margin)?(i.options._bodyProp.lIns=Ge(i.options.margin[0]||0),i.options._bodyProp.rIns=Ge(i.options.margin[1]||0),i.options._bodyProp.bIns=Ge(i.options.margin[2]||0),i.options._bodyProp.tIns=Ge(i.options.margin[3]||0)):typeof i.options.margin=="number"&&(i.options._bodyProp.lIns=Ge(i.options.margin),i.options._bodyProp.rIns=Ge(i.options.margin),i.options._bodyProp.bIns=Ge(i.options.margin),i.options._bodyProp.tIns=Ge(i.options.margin)),t+="",t+=``,!((c=i.options.hyperlink)===null||c===void 0)&&c.url&&(t+=``),!((s=i.options.hyperlink)===null||s===void 0)&&s.slide&&(t+=``),t+="",t+="':"/>"),t+=`${i._type==="placeholder"?Qa(i):Qa(b)}`,t+="",t+=``,t+=``,t+=``,i.shape==="custGeom")t+="",t+="",t+="",t+="",t+="",t+="",t+='',t+="",t+=``,(d=i.options.points)===null||d===void 0||d.forEach((g,z)=>{if("curve"in g)switch(g.curve.type){case"arc":t+=``;break;case"cubic":t+=` + + + `;break;case"quadratic":t+=` - - - `;break}else"close"in m?t+="":m.moveTo||N===0?t+=``:t+=``}),t+="",t+="",t+="";else{if(t+='',i.options.rectRadius)t+=``;else if(i.options.angleRange){for(let m=0;m<2;m++){let N=i.options.angleRange[m];t+=``}i.options.arcThicknessRatio&&(t+=``)}t+=""}t+=i.options.fill?ur(i.options.fill):"",i.options.line&&(t+=i.options.line.width?``:"",i.options.line.color&&(t+=ur(i.options.line)),i.options.line.dashType&&(t+=``),i.options.line.beginArrowType&&(t+=``),i.options.line.endArrowType&&(t+=``),t+=""),i.options.shadow&&i.options.shadow.type!=="none"&&(i.options.shadow.type=i.options.shadow.type||"outer",i.options.shadow.blur=je(i.options.shadow.blur||8),i.options.shadow.offset=je(i.options.shadow.offset||4),i.options.shadow.angle=Math.round((i.options.shadow.angle||270)*6e4),i.options.shadow.opacity=Math.round((i.options.shadow.opacity||.75)*1e5),i.options.shadow.color=i.options.shadow.color||ku.color,t+="",t+=` `,t+=` `,t+=` `,t+=" ",t+=""),t+="",t+=Tu(i),t+="";break;case He.image:if(t+="",t+=" ",t+=``,!((A=i.hyperlink)===null||A===void 0)&&A.url&&(t+=``),!((f=i.hyperlink)===null||f===void 0)&&f.slide&&(t+=``),t+=" ",t+=' ',t+=" "+Qa(b)+"",t+=" ",t+="",(e._relsMedia||[]).filter(m=>m.rId===i.imageRid)[0]&&(e._relsMedia||[]).filter(m=>m.rId===i.imageRid)[0].extn==="svg"?(t+=``,t+=i.options.transparency?` `:"",t+=" ",t+=' ',t+=` `,t+=" ",t+=" ",t+=""):(t+=``,t+=i.options.transparency?``:"",t+=""),W?.type){let m=W.w?nt(W.w,"X",e._presLayout):y,N=W.h?nt(W.h,"Y",e._presLayout):v,ne=nt(W.x||0,"X",e._presLayout),q=nt(W.y||0,"Y",e._presLayout);t+=P0[W.type]({w:C,h:I},{w:m,h:N,x:ne,y:q}),C=m,I=N}else t+=" ";t+="",t+="",t+=" ",t+=` `,t+=` `,t+=" ",t+=` `,i.options.shadow&&i.options.shadow.type!=="none"&&(i.options.shadow.type=i.options.shadow.type||"outer",i.options.shadow.blur=je(i.options.shadow.blur||8),i.options.shadow.offset=je(i.options.shadow.offset||4),i.options.shadow.angle=Math.round((i.options.shadow.angle||270)*6e4),i.options.shadow.opacity=Math.round((i.options.shadow.opacity||.75)*1e5),i.options.shadow.color=i.options.shadow.color||ku.color,t+="",t+=``,t+=``,t+=``,t+=``,t+=""),t+="",t+="";break;case He.media:i.mtype==="online"?(t+="",t+=" ",t+=``,t+=" ",t+=" ",t+=` `,t+=" ",t+=" ",t+=` `,t+=" ",t+=` `,t+=' ',t+=" ",t+=""):(t+="",t+=" ",t+=``,t+=' ',t+=" ",t+=` `,t+=" ",t+=' ',t+=` `,t+=" ",t+=" ",t+=" ",t+=" ",t+=` `,t+=" ",t+=` `,t+=' ',t+=" ",t+="");break;case He.chart:t+="",t+=" ",t+=` `,t+=" ",t+=` ${Qa(b)}`,t+=" ",t+=` `,t+=' ',t+=' ',t+=` `,t+=" ",t+=" ",t+="";break;default:t+="";break}}),e._slideNumberProps&&(e._slideNumberProps.align||(e._slideNumberProps.align="left"),t+="",t+=" ",t+=' ',t+=' ',t+=" ",t+=" ",t+=` `,t+="",t+="`,e._slideNumberProps.color&&(t+=ur(e._slideNumberProps.color)),e._slideNumberProps.fontFace&&(t+=``),t+=""),t+="",t+="",e._slideNumberProps.align.startsWith("l")?t+='':e._slideNumberProps.align.startsWith("c")?t+='':e._slideNumberProps.align.startsWith("r")?t+='':t+='',t+=``,t+=`${e._slideNum}`,t+=""),t+="",t+="",t}function El(e,r){let t=0,n=''+Wt+'';return e._rels.forEach(i=>{t=Math.max(t,i.rId),i.type.toLowerCase().includes("hyperlink")?i.data==="slide"?n+=``:n+=``:i.type.toLowerCase().includes("notesSlide")&&(n+=``)}),(e._relsChart||[]).forEach(i=>{t=Math.max(t,i.rId),n+=``}),(e._relsMedia||[]).forEach(i=>{let a=i.rId.toString();t=Math.max(t,i.rId),i.type.toLowerCase().includes("image")?n+='':i.type.toLowerCase().includes("audio")?n.includes(' Target="'+i.Target+'"')?n+='':n+='':i.type.toLowerCase().includes("video")?n.includes(' Target="'+i.Target+'"')?n+='':n+='':i.type.toLowerCase().includes("online")&&(n.includes(' Target="'+i.Target+'"')?n+='':n+='')}),r.forEach((i,a)=>{n+=``}),n+="",n}function Fu(e,r){var t,n;let i="",a="",o="",l="",c=r?"a:lvl1pPr":"a:pPr",s=je(l0),u=`<${c}${e.options.rtlMode?' rtl="1" ':""}`;{if(e.options.align)switch(e.options.align){case"left":u+=' algn="l"';break;case"right":u+=' algn="r"';break;case"center":u+=' algn="ctr"';break;case"justify":u+=' algn="just"';break;default:u+="";break}if(e.options.lineSpacing?a=``:e.options.lineSpacingMultiple&&(a=``),e.options.indentLevel&&!isNaN(Number(e.options.indentLevel))&&e.options.indentLevel>0&&(u+=` lvl="${e.options.indentLevel}"`),e.options.paraSpaceBefore&&!isNaN(Number(e.options.paraSpaceBefore))&&e.options.paraSpaceBefore>0&&(o+=``),e.options.paraSpaceAfter&&!isNaN(Number(e.options.paraSpaceAfter))&&e.options.paraSpaceAfter>0&&(o+=``),typeof e.options.bullet=="object")if(!((n=(t=e?.options)===null||t===void 0?void 0:t.bullet)===null||n===void 0)&&n.indent&&(s=je(e.options.bullet.indent)),e.options.bullet.type)e.options.bullet.type.toString().toLowerCase()==="number"&&(u+=` marL="${e.options.indentLevel&&e.options.indentLevel>0?s+s*e.options.indentLevel:s}" indent="-${s}"`,i=``);else if(e.options.bullet.characterCode){let d=`&#x${e.options.bullet.characterCode};`;/^[0-9A-Fa-f]{4}$/.test(e.options.bullet.characterCode)||(console.warn("Warning: `bullet.characterCode should be a 4-digit unicode charatcer (ex: 22AB)`!"),d=li.DEFAULT),u+=` marL="${e.options.indentLevel&&e.options.indentLevel>0?s+s*e.options.indentLevel:s}" indent="-${s}"`,i=''}else if(e.options.bullet.code){let d=`&#x${e.options.bullet.code};`;/^[0-9A-Fa-f]{4}$/.test(e.options.bullet.code)||(console.warn("Warning: `bullet.code should be a 4-digit hex code (ex: 22AB)`!"),d=li.DEFAULT),u+=` marL="${e.options.indentLevel&&e.options.indentLevel>0?s+s*e.options.indentLevel:s}" indent="-${s}"`,i=''}else u+=` marL="${e.options.indentLevel&&e.options.indentLevel>0?s+s*e.options.indentLevel:s}" indent="-${s}"`,i=``;else e.options.bullet?(u+=` marL="${e.options.indentLevel&&e.options.indentLevel>0?s+s*e.options.indentLevel:s}" indent="-${s}"`,i=``):e.options.bullet||(u+=' indent="0" marL="0"',i="");e.options.tabStops&&Array.isArray(e.options.tabStops)&&(l=`${e.options.tabStops.map(A=>``).join("")}`),u+=">"+a+o+i+l,r&&(u+=Yd(e.options,!0)),u+=""}return u}function Yd(e,r){var t;let n="",i=r?"a:defRPr":"a:rPr";if(n+="<"+i+' lang="'+(e.lang?e.lang:"en-US")+'"'+(e.lang?' altLang="en-US"':""),n+=e.fontSize?` sz="${Math.round(e.fontSize*100)}"`:"",n+=e?.bold?` b="${e.bold?"1":"0"}"`:"",n+=e?.italic?` i="${e.italic?"1":"0"}"`:"",n+=e?.strike?` strike="${typeof e.strike=="string"?e.strike:"sngStrike"}"`:"",typeof e.underline=="object"&&(!((t=e.underline)===null||t===void 0)&&t.style)?n+=` u="${e.underline.style}"`:typeof e.underline=="string"?n+=` u="${String(e.underline)}"`:e.hyperlink&&(n+=' u="sng"'),e.baseline?n+=` baseline="${Math.round(e.baseline*50)}"`:e.subscript?n+=' baseline="-40000"':e.superscript&&(n+=' baseline="30000"'),n+=e.charSpacing?` spc="${Math.round(e.charSpacing*100)}" kern="0"`:"",n+=' dirty="0">',(e.color||e.fontFace||e.outline||typeof e.underline=="object"&&e.underline.color)&&(e.outline&&typeof e.outline=="object"&&(n+=`${ur(e.outline.color||"FFFFFF")}`),e.color&&(n+=ur({color:e.color,transparency:e.transparency})),e.highlight&&(n+=`${ft(e.highlight)}`),typeof e.underline=="object"&&e.underline.color&&(n+=`${ur(e.underline.color)}`),e.glow&&(n+=`${h0(e.glow,u0)}`),e.fontFace&&(n+=``)),e.hyperlink){if(typeof e.hyperlink!="object")throw new Error("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink:{url:'https://github.com'}` ");if(!e.hyperlink.url&&!e.hyperlink.slide)throw new Error("ERROR: 'hyperlink requires either `url` or `slide`'");e.hyperlink.url?n+=`":"/>"}`:e.hyperlink.slide&&(n+=`":"/>"}`),e.color&&(n+=" ",n+=' ',n+=' ',n+=" ",n+=" ",n+="")}return n+=``,n}function F0(e){return e.text?`${Yd(e.options,!1)}${Ve(e.text)}`:""}function T0(e){let r="":e.options.fit==="resize"&&(r+="")),e.options.shrinkText&&(r+=""),r+=e.options._bodyProp.autoFit?"":"",r+="
      "):(r+=' wrap="square" rtlCol="0">',r+="
      "),e._type===He.tablecell?"":r}function Tu(e){let r=e.options||{},t=[],n=[];if(r&&e._type!==He.tablecell&&(typeof e.text>"u"||e.text===null))return"";let i=e._type===He.tablecell?"":"";i+=T0(e),r.h===0&&r.line&&r.align?i+='':e._type==="placeholder"?i+=`${Fu(e,!0)}`:i+="",typeof e.text=="string"||typeof e.text=="number"?t.push({text:e.text.toString(),options:r||{}}):e.text&&!Array.isArray(e.text)&&typeof e.text=="object"&&Object.keys(e.text).includes("text")?t.push({text:e.text||"",options:e.options||{}}):Array.isArray(e.text)&&(t=e.text.map(l=>({text:l.text,options:l.options}))),t.forEach((l,c)=>{l.text||(l.text=""),l.options=l.options||r||{},c===0&&l.options&&!l.options.bullet&&r.bullet&&(l.options.bullet=r.bullet),(typeof l.text=="string"||typeof l.text=="number")&&(l.text=l.text.toString().replace(/\r*\n/g,Wt)),l.text.includes(Wt)&&l.text.match(/\n$/g)===null?l.text.split(Wt).forEach(s=>{l.options.breakLine=!0,n.push({text:s,options:l.options})}):n.push(l)});let a=[],o=[];return n.forEach((l,c)=>{o.length>0&&(l.options.align||r.align)?l.options.align!==n[c-1].options.align&&(a.push(o),o=[]):o.length>0&&l.options.bullet&&o.length>0&&(a.push(o),o=[],l.options.breakLine=!1),o.push(l),o.length>0&&l.options.breakLine&&c+1{var c;let s=!1;i+="";let u=`{d.options._lineIdx=A,A>0&&d.options.softBreakBefore&&(i+=""),d.options.align=d.options.align||r.align,d.options.lineSpacing=d.options.lineSpacing||r.lineSpacing,d.options.lineSpacingMultiple=d.options.lineSpacingMultiple||r.lineSpacingMultiple,d.options.indentLevel=d.options.indentLevel||r.indentLevel,d.options.paraSpaceBefore=d.options.paraSpaceBefore||r.paraSpaceBefore,d.options.paraSpaceAfter=d.options.paraSpaceAfter||r.paraSpaceAfter,u=Fu(d,!1),i+=u.replace("",""),Object.entries(r).filter(([f])=>!(d.options.hyperlink&&f==="color")).forEach(([f,p])=>{f!=="bullet"&&!d.options[f]&&(d.options[f]=p)}),i+=F0(d),(!d.text&&r.fontSize||d.options.fontSize)&&(s=!0,r.fontSize=r.fontSize||d.options.fontSize)}),e._type===He.tablecell&&(r.fontSize||r.fontFace)?r.fontFace?(i+=`',i+=``,i+=``,i+=``,i+=""):i+=`':s?i+=`':i+=``,i+=""}),i.indexOf("")===-1&&(i+=""),i+=e._type===He.tablecell?"":"",i}function Qa(e){var r,t;if(!e)return"";let n=!((r=e.options)===null||r===void 0)&&r._placeholderIdx?e.options._placeholderIdx:"",i=!((t=e.options)===null||t===void 0)&&t._placeholderType?e.options._placeholderType:"",a=i&&Yi[i]?Yi[i].toString():"";return` + + `;break}else"close"in g?t+="":g.moveTo||z===0?t+=``:t+=``}),t+="",t+="",t+="";else{if(t+='',i.options.rectRadius)t+=``;else if(i.options.angleRange){for(let g=0;g<2;g++){let z=i.options.angleRange[g];t+=``}i.options.arcThicknessRatio&&(t+=``)}t+=""}t+=i.options.fill?ur(i.options.fill):"",i.options.line&&(t+=i.options.line.width?``:"",i.options.line.color&&(t+=ur(i.options.line)),i.options.line.dashType&&(t+=``),i.options.line.beginArrowType&&(t+=``),i.options.line.endArrowType&&(t+=``),t+=""),i.options.shadow&&i.options.shadow.type!=="none"&&(i.options.shadow.type=i.options.shadow.type||"outer",i.options.shadow.blur=Ge(i.options.shadow.blur||8),i.options.shadow.offset=Ge(i.options.shadow.offset||4),i.options.shadow.angle=Math.round((i.options.shadow.angle||270)*6e4),i.options.shadow.opacity=Math.round((i.options.shadow.opacity||.75)*1e5),i.options.shadow.color=i.options.shadow.color||ku.color,t+="",t+=` `,t+=` `,t+=` `,t+=" ",t+=""),t+="",t+=Tu(i),t+="";break;case He.image:if(t+="",t+=" ",t+=``,!((p=i.hyperlink)===null||p===void 0)&&p.url&&(t+=``),!((f=i.hyperlink)===null||f===void 0)&&f.slide&&(t+=``),t+=" ",t+=' ',t+=" "+Qa(b)+"",t+=" ",t+="",(e._relsMedia||[]).filter(g=>g.rId===i.imageRid)[0]&&(e._relsMedia||[]).filter(g=>g.rId===i.imageRid)[0].extn==="svg"?(t+=``,t+=i.options.transparency?` `:"",t+=" ",t+=' ',t+=` `,t+=" ",t+=" ",t+=""):(t+=``,t+=i.options.transparency?``:"",t+=""),G?.type){let g=G.w?nt(G.w,"X",e._presLayout):y,z=G.h?nt(G.h,"Y",e._presLayout):v,ne=nt(G.x||0,"X",e._presLayout),q=nt(G.y||0,"Y",e._presLayout);t+=F0[G.type]({w:k,h:O},{w:g,h:z,x:ne,y:q}),k=g,O=z}else t+=" ";t+="",t+="",t+=" ",t+=` `,t+=` `,t+=" ",t+=` `,i.options.shadow&&i.options.shadow.type!=="none"&&(i.options.shadow.type=i.options.shadow.type||"outer",i.options.shadow.blur=Ge(i.options.shadow.blur||8),i.options.shadow.offset=Ge(i.options.shadow.offset||4),i.options.shadow.angle=Math.round((i.options.shadow.angle||270)*6e4),i.options.shadow.opacity=Math.round((i.options.shadow.opacity||.75)*1e5),i.options.shadow.color=i.options.shadow.color||ku.color,t+="",t+=``,t+=``,t+=``,t+=``,t+=""),t+="",t+="";break;case He.media:i.mtype==="online"?(t+="",t+=" ",t+=``,t+=" ",t+=" ",t+=` `,t+=" ",t+=" ",t+=` `,t+=" ",t+=` `,t+=' ',t+=" ",t+=""):(t+="",t+=" ",t+=``,t+=' ',t+=" ",t+=` `,t+=" ",t+=' ',t+=` `,t+=" ",t+=" ",t+=" ",t+=" ",t+=` `,t+=" ",t+=` `,t+=' ',t+=" ",t+="");break;case He.chart:t+="",t+=" ",t+=` `,t+=" ",t+=` ${Qa(b)}`,t+=" ",t+=` `,t+=' ',t+=' ',t+=` `,t+=" ",t+=" ",t+="";break;default:t+="";break}}),e._slideNumberProps&&(e._slideNumberProps.align||(e._slideNumberProps.align="left"),t+="",t+=" ",t+=' ',t+=' ',t+=" ",t+=" ",t+=` `,t+="",t+="`,e._slideNumberProps.color&&(t+=ur(e._slideNumberProps.color)),e._slideNumberProps.fontFace&&(t+=``),t+=""),t+="",t+="",e._slideNumberProps.align.startsWith("l")?t+='':e._slideNumberProps.align.startsWith("c")?t+='':e._slideNumberProps.align.startsWith("r")?t+='':t+='',t+=``,t+=`${e._slideNum}`,t+=""),t+="",t+="",t}function El(e,r){let t=0,n=''+Wt+'';return e._rels.forEach(i=>{t=Math.max(t,i.rId),i.type.toLowerCase().includes("hyperlink")?i.data==="slide"?n+=``:n+=``:i.type.toLowerCase().includes("notesSlide")&&(n+=``)}),(e._relsChart||[]).forEach(i=>{t=Math.max(t,i.rId),n+=``}),(e._relsMedia||[]).forEach(i=>{let a=i.rId.toString();t=Math.max(t,i.rId),i.type.toLowerCase().includes("image")?n+='':i.type.toLowerCase().includes("audio")?n.includes(' Target="'+i.Target+'"')?n+='':n+='':i.type.toLowerCase().includes("video")?n.includes(' Target="'+i.Target+'"')?n+='':n+='':i.type.toLowerCase().includes("online")&&(n.includes(' Target="'+i.Target+'"')?n+='':n+='')}),r.forEach((i,a)=>{n+=``}),n+="",n}function Fu(e,r){var t,n;let i="",a="",o="",l="",c=r?"a:lvl1pPr":"a:pPr",s=Ge(c0),u=`<${c}${e.options.rtlMode?' rtl="1" ':""}`;{if(e.options.align)switch(e.options.align){case"left":u+=' algn="l"';break;case"right":u+=' algn="r"';break;case"center":u+=' algn="ctr"';break;case"justify":u+=' algn="just"';break;default:u+="";break}if(e.options.lineSpacing?a=``:e.options.lineSpacingMultiple&&(a=``),e.options.indentLevel&&!isNaN(Number(e.options.indentLevel))&&e.options.indentLevel>0&&(u+=` lvl="${e.options.indentLevel}"`),e.options.paraSpaceBefore&&!isNaN(Number(e.options.paraSpaceBefore))&&e.options.paraSpaceBefore>0&&(o+=``),e.options.paraSpaceAfter&&!isNaN(Number(e.options.paraSpaceAfter))&&e.options.paraSpaceAfter>0&&(o+=``),typeof e.options.bullet=="object")if(!((n=(t=e?.options)===null||t===void 0?void 0:t.bullet)===null||n===void 0)&&n.indent&&(s=Ge(e.options.bullet.indent)),e.options.bullet.type)e.options.bullet.type.toString().toLowerCase()==="number"&&(u+=` marL="${e.options.indentLevel&&e.options.indentLevel>0?s+s*e.options.indentLevel:s}" indent="-${s}"`,i=``);else if(e.options.bullet.characterCode){let d=`&#x${e.options.bullet.characterCode};`;/^[0-9A-Fa-f]{4}$/.test(e.options.bullet.characterCode)||(console.warn("Warning: `bullet.characterCode should be a 4-digit unicode charatcer (ex: 22AB)`!"),d=li.DEFAULT),u+=` marL="${e.options.indentLevel&&e.options.indentLevel>0?s+s*e.options.indentLevel:s}" indent="-${s}"`,i=''}else if(e.options.bullet.code){let d=`&#x${e.options.bullet.code};`;/^[0-9A-Fa-f]{4}$/.test(e.options.bullet.code)||(console.warn("Warning: `bullet.code should be a 4-digit hex code (ex: 22AB)`!"),d=li.DEFAULT),u+=` marL="${e.options.indentLevel&&e.options.indentLevel>0?s+s*e.options.indentLevel:s}" indent="-${s}"`,i=''}else u+=` marL="${e.options.indentLevel&&e.options.indentLevel>0?s+s*e.options.indentLevel:s}" indent="-${s}"`,i=``;else e.options.bullet?(u+=` marL="${e.options.indentLevel&&e.options.indentLevel>0?s+s*e.options.indentLevel:s}" indent="-${s}"`,i=``):e.options.bullet||(u+=' indent="0" marL="0"',i="");e.options.tabStops&&Array.isArray(e.options.tabStops)&&(l=`${e.options.tabStops.map(p=>``).join("")}`),u+=">"+a+o+i+l,r&&(u+=Yd(e.options,!0)),u+=""}return u}function Yd(e,r){var t;let n="",i=r?"a:defRPr":"a:rPr";if(n+="<"+i+' lang="'+(e.lang?e.lang:"en-US")+'"'+(e.lang?' altLang="en-US"':""),n+=e.fontSize?` sz="${Math.round(e.fontSize*100)}"`:"",n+=e?.bold?` b="${e.bold?"1":"0"}"`:"",n+=e?.italic?` i="${e.italic?"1":"0"}"`:"",n+=e?.strike?` strike="${typeof e.strike=="string"?e.strike:"sngStrike"}"`:"",typeof e.underline=="object"&&(!((t=e.underline)===null||t===void 0)&&t.style)?n+=` u="${e.underline.style}"`:typeof e.underline=="string"?n+=` u="${String(e.underline)}"`:e.hyperlink&&(n+=' u="sng"'),e.baseline?n+=` baseline="${Math.round(e.baseline*50)}"`:e.subscript?n+=' baseline="-40000"':e.superscript&&(n+=' baseline="30000"'),n+=e.charSpacing?` spc="${Math.round(e.charSpacing*100)}" kern="0"`:"",n+=' dirty="0">',(e.color||e.fontFace||e.outline||typeof e.underline=="object"&&e.underline.color)&&(e.outline&&typeof e.outline=="object"&&(n+=`${ur(e.outline.color||"FFFFFF")}`),e.color&&(n+=ur({color:e.color,transparency:e.transparency})),e.highlight&&(n+=`${ft(e.highlight)}`),typeof e.underline=="object"&&e.underline.color&&(n+=`${ur(e.underline.color)}`),e.glow&&(n+=`${p0(e.glow,d0)}`),e.fontFace&&(n+=``)),e.hyperlink){if(typeof e.hyperlink!="object")throw new Error("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink:{url:'https://github.com'}` ");if(!e.hyperlink.url&&!e.hyperlink.slide)throw new Error("ERROR: 'hyperlink requires either `url` or `slide`'");e.hyperlink.url?n+=`":"/>"}`:e.hyperlink.slide&&(n+=`":"/>"}`),e.color&&(n+=" ",n+=' ',n+=' ',n+=" ",n+=" ",n+="")}return n+=``,n}function T0(e){return e.text?`${Yd(e.options,!1)}${Ve(e.text)}`:""}function D0(e){let r="":e.options.fit==="resize"&&(r+="")),e.options.shrinkText&&(r+=""),r+=e.options._bodyProp.autoFit?"":"",r+=""):(r+=' wrap="square" rtlCol="0">',r+=""),e._type===He.tablecell?"":r}function Tu(e){let r=e.options||{},t=[],n=[];if(r&&e._type!==He.tablecell&&(typeof e.text>"u"||e.text===null))return"";let i=e._type===He.tablecell?"":"";i+=D0(e),r.h===0&&r.line&&r.align?i+='':e._type==="placeholder"?i+=`${Fu(e,!0)}`:i+="",typeof e.text=="string"||typeof e.text=="number"?t.push({text:e.text.toString(),options:r||{}}):e.text&&!Array.isArray(e.text)&&typeof e.text=="object"&&Object.keys(e.text).includes("text")?t.push({text:e.text||"",options:e.options||{}}):Array.isArray(e.text)&&(t=e.text.map(l=>({text:l.text,options:l.options}))),t.forEach((l,c)=>{l.text||(l.text=""),l.options=l.options||r||{},c===0&&l.options&&!l.options.bullet&&r.bullet&&(l.options.bullet=r.bullet),(typeof l.text=="string"||typeof l.text=="number")&&(l.text=l.text.toString().replace(/\r*\n/g,Wt)),l.text.includes(Wt)&&l.text.match(/\n$/g)===null?l.text.split(Wt).forEach(s=>{l.options.breakLine=!0,n.push({text:s,options:l.options})}):n.push(l)});let a=[],o=[];return n.forEach((l,c)=>{o.length>0&&(l.options.align||r.align)?l.options.align!==n[c-1].options.align&&(a.push(o),o=[]):o.length>0&&l.options.bullet&&o.length>0&&(a.push(o),o=[],l.options.breakLine=!1),o.push(l),o.length>0&&l.options.breakLine&&c+1{var c;let s=!1;i+="";let u=`{d.options._lineIdx=p,p>0&&d.options.softBreakBefore&&(i+=""),d.options.align=d.options.align||r.align,d.options.lineSpacing=d.options.lineSpacing||r.lineSpacing,d.options.lineSpacingMultiple=d.options.lineSpacingMultiple||r.lineSpacingMultiple,d.options.indentLevel=d.options.indentLevel||r.indentLevel,d.options.paraSpaceBefore=d.options.paraSpaceBefore||r.paraSpaceBefore,d.options.paraSpaceAfter=d.options.paraSpaceAfter||r.paraSpaceAfter,u=Fu(d,!1),i+=u.replace("",""),Object.entries(r).filter(([f])=>!(d.options.hyperlink&&f==="color")).forEach(([f,h])=>{f!=="bullet"&&!d.options[f]&&(d.options[f]=h)}),i+=T0(d),(!d.text&&r.fontSize||d.options.fontSize)&&(s=!0,r.fontSize=r.fontSize||d.options.fontSize)}),e._type===He.tablecell&&(r.fontSize||r.fontFace)?r.fontFace?(i+=`',i+=``,i+=``,i+=``,i+=""):i+=`':s?i+=`':i+=``,i+=""}),i.indexOf("")===-1&&(i+=""),i+=e._type===He.tablecell?"":"",i}function Qa(e){var r,t;if(!e)return"";let n=!((r=e.options)===null||r===void 0)&&r._placeholderIdx?e.options._placeholderIdx:"",i=!((t=e.options)===null||t===void 0)&&t._placeholderType?e.options._placeholderType:"",a=i&&Yi[i]?Yi[i].toString():"";return`0?' hasCustomPrompt="1"':""} - />`}function D0(e,r,t){let n=''+Wt;return n+='',n+='',n+='',n+='',n+='',n+='',n+='',n+='',n+='',n+='',e.forEach(i=>{(i._relsMedia||[]).forEach(a=>{a.type!=="image"&&a.type!=="online"&&a.type!=="chart"&&a.extn!=="m4v"&&!n.includes(a.type)&&(n+='')})}),n+='',n+='',n+='',n+='',e.forEach((i,a)=>{n+=``,n+=``,i._relsChart.forEach(o=>{n+=``})}),n+='',n+='',n+='',n+='',r.forEach((i,a)=>{n+=``,(i._relsChart||[]).forEach(o=>{n+=' '})}),e.forEach((i,a)=>{n+=``}),t._relsChart.forEach(i=>{n+=' '}),t._relsMedia.forEach(i=>{i.type!=="image"&&i.type!=="online"&&i.type!=="chart"&&i.extn!=="m4v"&&!n.includes(i.type)&&(n+=' ')}),n+=' ',n+=' ',n+="",n}function E0(){return`${Wt} + />`}function E0(e,r,t){let n=''+Wt;return n+='',n+='',n+='',n+='',n+='',n+='',n+='',n+='',n+='',n+='',e.forEach(i=>{(i._relsMedia||[]).forEach(a=>{a.type!=="image"&&a.type!=="online"&&a.type!=="chart"&&a.extn!=="m4v"&&!n.includes(a.type)&&(n+='')})}),n+='',n+='',n+='',n+='',e.forEach((i,a)=>{n+=``,n+=``,i._relsChart.forEach(o=>{n+=``})}),n+='',n+='',n+='',n+='',r.forEach((i,a)=>{n+=``,(i._relsChart||[]).forEach(o=>{n+=' '})}),e.forEach((i,a)=>{n+=``}),t._relsChart.forEach(i=>{n+=' '}),t._relsMedia.forEach(i=>{i.type!=="image"&&i.type!=="online"&&i.type!=="chart"&&i.extn!=="m4v"&&!n.includes(i.type)&&(n+=' ')}),n+=' ',n+=' ',n+="",n}function B0(){return`${Wt} - `}function B0(e,r){return`${Wt} + `}function R0(e,r){return`${Wt} 0 0 Microsoft Office PowerPoint @@ -286,7 +286,7 @@ ${String(d)}`)}return n&&a&&u.path.startsWith("http")?yield new Promise((d,A)=>{ false false 16.0000 - `}function R0(e,r,t,n){return` + `}function L0(e,r,t,n){return` ${Ve(e)} ${Ve(r)} @@ -295,40 +295,40 @@ ${String(d)}`)}return n&&a&&u.path.startsWith("http")?yield new Promise((d,A)=>{ ${n} ${new Date().toISOString().replace(/\.\d\d\dZ/,"Z")} ${new Date().toISOString().replace(/\.\d\d\dZ/,"Z")} - `}function L0(e){let r=1,t=''+Wt;t+='',t+='';for(let n=1;n<=e.length;n++)t+=``;return r++,t+=``,t}function N0(e){return`${Wt}${Dl(e)}`}function I0(e){let r="";return e._slideObjects.forEach(t=>{t._type===He.notes&&(r+=t?.text&&t.text[0]?t.text[0].text:"")}),r.replace(/\r*\n/g,Wt)}function z0(){return`${Wt}7/23/19Click to edit Master text stylesSecond levelThird levelFourth levelFifth level\u2039#\u203A`}function M0(e){return`${Wt}${Ve(I0(e))}${e._slideNum}`}function O0(e){return` + `}function N0(e){let r=1,t=''+Wt;t+='',t+='';for(let n=1;n<=e.length;n++)t+=``;return r++,t+=``,t}function I0(e){return`${Wt}${Dl(e)}`}function z0(e){let r="";return e._slideObjects.forEach(t=>{t._type===He.notes&&(r+=t?.text&&t.text[0]?t.text[0].text:"")}),r.replace(/\r*\n/g,Wt)}function M0(){return`${Wt}7/23/19Click to edit Master text stylesSecond levelThird levelFourth levelFifth level\u2039#\u203A`}function O0(e){return`${Wt}${Ve(z0(e))}${e._slideNum}`}function _0(e){return` ${Dl(e)} - `}function _0(e,r){let t=r.map((i,a)=>``),n=''+Wt;return n+='',n+=Dl(e),n+='',n+=""+t.join("")+"",n+='',n+=' ',n+="",n}function U0(e,r){return El(r[e-1],[{target:"../slideMasters/slideMaster1.xml",type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster"}])}function W0(e,r,t){return El(e[t-1],[{target:`../slideLayouts/slideLayout${V0(e,r,t)}.xml`,type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout"},{target:`../notesSlides/notesSlide${t}.xml`,type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide"}])}function G0(e){return` + `}function U0(e,r){let t=r.map((i,a)=>``),n=''+Wt;return n+='',n+=Dl(e),n+='',n+=""+t.join("")+"",n+='',n+=' ',n+="",n}function W0(e,r){return El(r[e-1],[{target:"../slideMasters/slideMaster1.xml",type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster"}])}function G0(e,r,t){return El(e[t-1],[{target:`../slideLayouts/slideLayout${X0(e,r,t)}.xml`,type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout"},{target:`../notesSlides/notesSlide${t}.xml`,type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide"}])}function j0(e){return` - `}function j0(e,r){let t=r.map((n,i)=>({target:`../slideLayouts/slideLayout${i+1}.xml`,type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout"}));return t.push({target:"../theme/theme1.xml",type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"}),El(e,t)}function q0(){return`${Wt} + `}function q0(e,r){let t=r.map((n,i)=>({target:`../slideLayouts/slideLayout${i+1}.xml`,type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout"}));return t.push({target:"../theme/theme1.xml",type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"}),El(e,t)}function V0(){return`${Wt} - `}function V0(e,r,t){for(let n=0;n`:'',o=!((n=e.theme)===null||n===void 0)&&n.bodyFontFace?``:'';return`${a}${o}`}function H0(e){let r=`${Wt}`;r+='',r+="",e.slides.forEach(t=>r+=``),r+="",r+=``,r+=``,r+=``,r+="";for(let t=1;t<10;t++)r+=``;return r+="",e.sections&&e.sections.length>0&&(r+='',r+='',e.sections.forEach(t=>{r+=``,t._slides.forEach(n=>r+=``),r+=""}),r+="",r+='',r+=""),r+="",r}function K0(){return`${Wt}`}function Q0(){return`${Wt}`}function Z0(){return`${Wt}`}var Y0="4.0.1",J0=class{set layout(e){let r=this.LAYOUTS[e];if(r)this._layout=e,this._presLayout=r;else throw new Error("UNKNOWN-LAYOUT")}get layout(){return this._layout}get version(){return this._version}set author(e){this._author=e}get author(){return this._author}set company(e){this._company=e}get company(){return this._company}set revision(e){this._revision=e}get revision(){return this._revision}set subject(e){this._subject=e}get subject(){return this._subject}set theme(e){this._theme=e}get theme(){return this._theme}set title(e){this._title=e}get title(){return this._title}set rtlMode(e){this._rtlMode=e}get rtlMode(){return this._rtlMode}get masterSlide(){return this._masterSlide}get slides(){return this._slides}get sections(){return this._sections}get slideLayouts(){return this._slideLayouts}get AlignH(){return this._alignH}get AlignV(){return this._alignV}get ChartType(){return this._chartType}get OutputType(){return this._outputType}get presLayout(){return this._presLayout}get SchemeColor(){return this._schemeColor}get ShapeType(){return this._shapeType}get charts(){return this._charts}get colors(){return this._colors}get shapes(){return this._shapes}constructor(){this._version=Y0,this._alignH=$s,this._alignV=el,this._chartType=Ys,this._outputType=Zs,this._schemeColor=lr,this._shapeType=Js,this._charts=Pe,this._colors=bo,this._shapes=xn,this.addNewSlide=i=>{let a=this.sections.length>0&&this.sections[this.sections.length-1]._slides.filter(o=>o._slideNum===this.slides[this.slides.length-1]._slideNum).length>0;return i.sectionTitle=a?this.sections[this.sections.length-1].title:null,this.addSlide(i)},this.getSlide=i=>this.slides.filter(a=>a._slideNum===i)[0],this.setSlideNumber=i=>{this.masterSlide._slideNumberProps=i,this.slideLayouts.filter(a=>a._name===Ks)[0]._slideNumberProps=i},this.createChartMediaRels=(i,a,o)=>{i._relsChart.forEach(l=>o.push(S0(l,a))),i._relsMedia.forEach(l=>{if(l.type!=="online"&&l.type!=="hyperlink"){let c=l.data&&typeof l.data=="string"?l.data:"";!c.includes(",")&&!c.includes(";")?c="image/png;base64,"+c:c.includes(",")?c.includes(";")||(c="image/png;"+c):c="image/png;base64,"+c,a.file(l.Target.replace("..","ppt"),c.split(",").pop(),{base64:!0})}})},this.writeFileToBrowser=(i,a)=>cr(this,void 0,void 0,function*(){let o=document.createElement("a");if(o.setAttribute("style","display:none;"),o.dataset.interception="off",document.body.appendChild(o),window.URL.createObjectURL){let l=window.URL.createObjectURL(new Blob([a],{type:"application/vnd.openxmlformats-officedocument.presentationml.presentation"}));return o.href=l,o.download=i,o.click(),setTimeout(()=>{window.URL.revokeObjectURL(l),document.body.removeChild(o)},100),yield Promise.resolve(i)}}),this.exportPresentation=i=>cr(this,void 0,void 0,function*(){let a=[],o=[],l=new Gd.default;return this.slides.forEach(c=>{o=o.concat(Ns(c))}),this.slideLayouts.forEach(c=>{o=o.concat(Ns(c))}),o=o.concat(Ns(this.masterSlide)),yield Promise.all(o).then(()=>cr(this,void 0,void 0,function*(){return this.slides.forEach(c=>{c._slideLayout&&w0(c)}),l.folder("_rels"),l.folder("docProps"),l.folder("ppt").folder("_rels"),l.folder("ppt/charts").folder("_rels"),l.folder("ppt/embeddings"),l.folder("ppt/media"),l.folder("ppt/slideLayouts").folder("_rels"),l.folder("ppt/slideMasters").folder("_rels"),l.folder("ppt/slides").folder("_rels"),l.folder("ppt/theme"),l.folder("ppt/notesMasters").folder("_rels"),l.folder("ppt/notesSlides").folder("_rels"),l.file("[Content_Types].xml",D0(this.slides,this.slideLayouts,this.masterSlide)),l.file("_rels/.rels",E0()),l.file("docProps/app.xml",B0(this.slides,this.company)),l.file("docProps/core.xml",R0(this.title,this.subject,this.author,this.revision)),l.file("ppt/_rels/presentation.xml.rels",L0(this.slides)),l.file("ppt/theme/theme1.xml",X0(this)),l.file("ppt/presentation.xml",H0(this)),l.file("ppt/presProps.xml",K0()),l.file("ppt/tableStyles.xml",Q0()),l.file("ppt/viewProps.xml",Z0()),this.slideLayouts.forEach((c,s)=>{l.file(`ppt/slideLayouts/slideLayout${s+1}.xml`,O0(c)),l.file(`ppt/slideLayouts/_rels/slideLayout${s+1}.xml.rels`,U0(s+1,this.slideLayouts))}),this.slides.forEach((c,s)=>{l.file(`ppt/slides/slide${s+1}.xml`,N0(c)),l.file(`ppt/slides/_rels/slide${s+1}.xml.rels`,W0(this.slides,this.slideLayouts,s+1)),l.file(`ppt/notesSlides/notesSlide${s+1}.xml`,M0(c)),l.file(`ppt/notesSlides/_rels/notesSlide${s+1}.xml.rels`,G0(s+1))}),l.file("ppt/slideMasters/slideMaster1.xml",_0(this.masterSlide,this.slideLayouts)),l.file("ppt/slideMasters/_rels/slideMaster1.xml.rels",j0(this.masterSlide,this.slideLayouts)),l.file("ppt/notesMasters/notesMaster1.xml",z0()),l.file("ppt/notesMasters/_rels/notesMaster1.xml.rels",q0()),this.slideLayouts.forEach(c=>{this.createChartMediaRels(c,l,a)}),this.slides.forEach(c=>{this.createChartMediaRels(c,l,a)}),this.createChartMediaRels(this.masterSlide,l,a),yield Promise.all(a).then(()=>cr(this,void 0,void 0,function*(){return i.outputType==="STREAM"?yield l.generateAsync({type:"nodebuffer",compression:i.compression?"DEFLATE":"STORE"}):i.outputType?yield l.generateAsync({type:i.outputType}):yield l.generateAsync({type:"blob",compression:i.compression?"DEFLATE":"STORE"})}))}))});let e={name:"screen4x3",width:9144e3,height:6858e3},r={name:"screen16x9",width:9144e3,height:5143500},t={name:"screen16x10",width:9144e3,height:5715e3},n={name:"custom",width:12192e3,height:6858e3};this.LAYOUTS={LAYOUT_4x3:e,LAYOUT_16x9:r,LAYOUT_16x10:t,LAYOUT_WIDE:n},this._author="PptxGenJS",this._company="PptxGenJS",this._revision="1",this._subject="PptxGenJS Presentation",this._title="PptxGenJS Presentation",this._presLayout={name:this.LAYOUTS[ni].name,_sizeW:this.LAYOUTS[ni].width,_sizeH:this.LAYOUTS[ni].height,width:this.LAYOUTS[ni].width,height:this.LAYOUTS[ni].height},this._rtlMode=!1,this._slideLayouts=[{_margin:ia,_name:Ks,_presLayout:this._presLayout,_rels:[],_relsChart:[],_relsMedia:[],_slide:null,_slideNum:1e3,_slideNumberProps:null,_slideObjects:[]}],this._slides=[],this._sections=[],this._masterSlide={addChart:null,addImage:null,addMedia:null,addNotes:null,addShape:null,addTable:null,addText:null,_name:null,_presLayout:this._presLayout,_rId:null,_rels:[],_relsChart:[],_relsMedia:[],_slideId:null,_slideLayout:null,_slideNum:null,_slideNumberProps:null,_slideObjects:[]}}stream(e){return cr(this,void 0,void 0,function*(){return yield this.exportPresentation({compression:e?.compression,outputType:"STREAM"})})}write(e){return cr(this,void 0,void 0,function*(){let r=typeof e=="object"&&e?.outputType?e.outputType:e||null,t=typeof e=="object"&&e?.compression?e.compression:!1;return yield this.exportPresentation({compression:t,outputType:r})})}writeFile(e){return cr(this,void 0,void 0,function*(){var r,t;let n=typeof process<"u"&&!!(!((r=process.versions)===null||r===void 0)&&r.node)&&((t=process.release)===null||t===void 0?void 0:t.name)==="node";typeof e=="string"&&(console.warn("[WARNING] writeFile(string) is deprecated - pass { fileName } instead."),e={fileName:e});let{fileName:i="Presentation.pptx",compression:a=!1}=e,o=i.toLowerCase().endsWith(".pptx")?i:`${i}.pptx`,l=n?"nodebuffer":null,c=yield this.exportPresentation({compression:a,outputType:l});if(n){let{promises:s}=yield Promise.resolve().then(()=>Qr(Uu())),{writeFile:u}=s;return yield u(o,c),o}return yield this.writeFileToBrowser(o,c),o})}addSection(e){e?e.title||console.warn("addSection requires a title"):console.warn("addSection requires an argument");let r={_type:"user",_slides:[],title:e.title};e.order?this.sections.splice(e.order,0,r):this._sections.push(r)}addSlide(e){let r=typeof e=="string"?e:e?.masterName?e.masterName:"",t={_name:this.LAYOUTS[ni].name,_presLayout:this.presLayout,_rels:[],_relsChart:[],_relsMedia:[],_slideNum:this.slides.length+1};if(r){let i=this.slideLayouts.filter(a=>a._name===r)[0];i&&(t=i)}let n=new x0({addSlide:this.addNewSlide,getSlide:this.getSlide,presLayout:this.presLayout,setSlideNum:this.setSlideNumber,slideId:this.slides.length+256,slideRId:this.slides.length+2,slideNumber:this.slides.length+1,slideLayout:t});if(this._slides.push(n),e?.sectionTitle){let i=this.sections.filter(a=>a.title===e.sectionTitle)[0];i?i._slides.push(n):console.warn(`addSlide: unable to find section with title: "${e.sectionTitle}"`)}else if(this.sections&&this.sections.length>0&&!e?.sectionTitle){let i=this._sections[this.sections.length-1];i._type==="default"?i._slides.push(n):this._sections.push({title:`Default-${this.sections.filter(a=>a._type==="default").length+1}`,_type:"default",_slides:[n]})}return n}defineLayout(e){e?e.name?e.width?e.height?typeof e.height!="number"?console.warn("defineLayout `height` should be a number (inches)"):typeof e.width!="number"&&console.warn("defineLayout `width` should be a number (inches)"):console.warn("defineLayout requires `height`"):console.warn("defineLayout requires `width`"):console.warn("defineLayout requires `name`"):console.warn("defineLayout requires `{name, width, height}`"),this.LAYOUTS[e.name]={name:e.name,_sizeW:Math.round(Number(e.width)*Ke),_sizeH:Math.round(Number(e.height)*Ke),width:Math.round(Number(e.width)*Ke),height:Math.round(Number(e.height)*Ke)}}defineSlideMaster(e){let r=JSON.parse(JSON.stringify(e));if(!r.title)throw new Error("defineSlideMaster() object argument requires a `title` value. (https://gitbrent.github.io/PptxGenJS/docs/masters.html)");let t={_margin:r.margin||ia,_name:r.title,_presLayout:this.presLayout,_rels:[],_relsChart:[],_relsMedia:[],_slide:null,_slideNum:1e3+this.slideLayouts.length+1,_slideNumberProps:r.slideNumber||null,_slideObjects:[],background:r.background||null,bkgd:r.bkgd||null};m0(r,t),this.slideLayouts.push(t),(r.background||r.bkgd)&&Zd(r.background,t),t._slideNumberProps&&!this.masterSlide._slideNumberProps&&(this.masterSlide._slideNumberProps=t._slideNumberProps)}tableToSlides(e,r={}){A0(this,e,r,r?.masterSlideName?this.slideLayouts.filter(t=>t._name===r.masterSlideName)[0]:null)}},rl=96,Du=914400,$0=13.333,Eu=7.5;function Is(e,r){return Math.min(r,Math.max(.15,$0-e-.04))}function Jd(e){let r=String(e||"").trim();return r?r.startsWith("data:")?{data:r}:r.startsWith("file://")?{path:r.replace("file://","")}:{path:r}:null}function ey(e,r){let t=[],n=e.width/rl,i=e.height/rl;if(r.presLayout){let a=r.presLayout.width/Du,o=r.presLayout.height/Du;(Math.abs(a-n)>.1||Math.abs(o-i)>.1)&&t.push(`HTML dimensions (${n.toFixed(1)}" \xD7 ${i.toFixed(1)}") don't match presentation layout (${a.toFixed(1)}" \xD7 ${o.toFixed(1)}")`)}return t}function ty(e,r){let t=[],n=r.height/rl,i=.5;for(let a of e.elements){if(!["p","h1","h2","h3","h4","h5","h6","text","list","merged-text"].includes(a.type))continue;let o=a.style?.fontSize||0,l=a.position.y+a.position.h,c=n-l,s=typeof a.text=="string"?a.text:Array.isArray(a.text)?a.text.find(d=>d.text)?.text||"":Array.isArray(a.items)&&a.items.find(d=>d.text)?.text||"";if(!(/^\d{1,2}\s*\/\s*\d{1,2}$/.test(s.trim())||/^(Arknights|数据来源|source:)/i.test(s.trim())||o<=11)&&o>12&&c50?"...":""}`;t.push(`Text box "${d}" ends too close to bottom edge (${c.toFixed(2)}" from bottom, minimum ${i}" required)`)}}return t}async function ry(e,r){if(e.background?.type==="image"&&e.background.path){let t=Jd(e.background.path);t&&(r.background=t)}else e.background?.type==="color"&&e.background.value&&(r.background={color:e.background.value})}function ny(e,r,t){for(let n of e.elements)if(n.type==="image"){let i=Jd(n.src);if(!i)continue;r.addImage({...i,x:n.position.x,y:n.position.y,w:n.position.w,h:n.position.h})}else if(n.type==="line")r.addShape(t.ShapeType.line,{x:n.x1,y:n.y1,w:n.x2-n.x1,h:n.y2-n.y1,line:{color:n.color,width:n.width}});else if(n.type==="shape"){let i={x:n.position.x,y:n.position.y,w:n.position.w,h:n.position.h,shape:n.shape.rectRadius>0?t.ShapeType.roundRect:t.ShapeType.rect};n.shape.fill&&(i.fill={color:n.shape.fill},n.shape.transparency!=null&&(i.fill.transparency=n.shape.transparency)),n.shape.line&&(i.line=n.shape.line),n.shape.rectRadius>0&&(i.rectRadius=n.shape.rectRadius),n.shape.shadow&&(i.shadow=n.shape.shadow),r.addText(n.text||"",i)}else if(n.type==="list"||n.type==="merged-text"){let i={x:n.position.x,y:n.position.y,w:Is(n.position.x,n.position.w+n.position.w*.04),h:Math.min(n.position.h,Math.max(.15,Eu-n.position.y-.04)),fontSize:n.style.fontSize,fontFace:n.style.fontFace,color:n.style.color,align:n.style.align,valign:"top",lineSpacing:n.style.lineSpacing,paraSpaceBefore:n.style.paraSpaceBefore,paraSpaceAfter:n.style.paraSpaceAfter,margin:n.style.margin,inset:0,shrinkText:!1,autoFit:!1};n.style.transparency!=null&&(i.transparency=n.style.transparency),r.addText(n.items||n.text,i)}else{let i=n.style.lineSpacing||n.style.fontSize*1.2,a=n.position.h<=i*1.5,o=n.style.vert&&n.style.vert!=="horz",l=o?0:n.position.w*(a?.02:.06),c=n.position.x,s=Is(n.position.x,n.position.w+l),u=n.style.align;!o&&u==="center"?c=n.position.x-(s-n.position.w)/2:!o&&u==="right"&&(c=n.position.x-(s-n.position.w)),c=Math.max(0,c),s=Is(c,s);let d={x:c,y:n.position.y,w:s,h:Math.min(n.position.h,Math.max(.15,Eu-n.position.y-.04)),fontSize:n.style.fontSize,fontFace:n.style.fontFace,color:n.style.color,bold:n.style.bold,italic:n.style.italic,underline:n.style.underline,valign:o?"mid":n.style.valign||"top",lineSpacing:n.style.lineSpacing,paraSpaceBefore:n.style.paraSpaceBefore,paraSpaceAfter:n.style.paraSpaceAfter,inset:0,shrinkText:!1,autoFit:!1};n.style.align&&(d.align=n.style.align),n.style.margin&&(d.margin=n.style.margin),n.style.rotate!==void 0&&(d.rotate=n.style.rotate),n.style.vert&&(d.vert=n.style.vert),n.style.transparency!=null&&n.style.transparency!==void 0&&(d.transparency=n.style.transparency),r.addText(n.text,d)}}async function iy(e,r,t,n={}){let i=[];r?.errors?.length&&i.push(...r.errors),i.push(...ey(r,t)),i.push(...ty(e,r)),e?.errors?.length&&i.push(...e.errors),i.length&&console.warn("[ppt-live-export] slide validation warnings (export continues):",i.join("; "));let a=n.slide||t.addSlide();return await ry(e,a),ny(e,a,t),{slide:a,placeholders:e.placeholders||[]}}function $d(e={}){let r=new J0;return r.layout="LAYOUT_WIDE",r.author="PPT Live",r.subject=e.brief?.topic||e.title||"PPT Live deck",r.title=e.title||"PPT Live",r.company="BitFun",r.lang="zh-CN",r.theme={headFontFace:"PingFang SC",bodyFontFace:"PingFang SC",lang:"zh-CN"},r}function ef(e={}){return[e.notes,e.claim?`Claim: ${e.claim}`:"",e.proofObject?`Proof object: ${e.proofObject}`:"",e.supportNote?`Support note: ${e.supportNote}`:"",e.sourceNote?`Source note: ${e.sourceNote}`:""].filter(Boolean).join(` + `}function X0(e,r,t){for(let n=0;n`:'',o=!((n=e.theme)===null||n===void 0)&&n.bodyFontFace?``:'';return`${a}${o}`}function K0(e){let r=`${Wt}`;r+='',r+="",e.slides.forEach(t=>r+=``),r+="",r+=``,r+=``,r+=``,r+="";for(let t=1;t<10;t++)r+=``;return r+="",e.sections&&e.sections.length>0&&(r+='',r+='',e.sections.forEach(t=>{r+=``,t._slides.forEach(n=>r+=``),r+=""}),r+="",r+='',r+=""),r+="",r}function Q0(){return`${Wt}`}function Z0(){return`${Wt}`}function Y0(){return`${Wt}`}var J0="4.0.1",$0=class{set layout(e){let r=this.LAYOUTS[e];if(r)this._layout=e,this._presLayout=r;else throw new Error("UNKNOWN-LAYOUT")}get layout(){return this._layout}get version(){return this._version}set author(e){this._author=e}get author(){return this._author}set company(e){this._company=e}get company(){return this._company}set revision(e){this._revision=e}get revision(){return this._revision}set subject(e){this._subject=e}get subject(){return this._subject}set theme(e){this._theme=e}get theme(){return this._theme}set title(e){this._title=e}get title(){return this._title}set rtlMode(e){this._rtlMode=e}get rtlMode(){return this._rtlMode}get masterSlide(){return this._masterSlide}get slides(){return this._slides}get sections(){return this._sections}get slideLayouts(){return this._slideLayouts}get AlignH(){return this._alignH}get AlignV(){return this._alignV}get ChartType(){return this._chartType}get OutputType(){return this._outputType}get presLayout(){return this._presLayout}get SchemeColor(){return this._schemeColor}get ShapeType(){return this._shapeType}get charts(){return this._charts}get colors(){return this._colors}get shapes(){return this._shapes}constructor(){this._version=J0,this._alignH=$s,this._alignV=el,this._chartType=Ys,this._outputType=Zs,this._schemeColor=lr,this._shapeType=Js,this._charts=Ce,this._colors=bo,this._shapes=xn,this.addNewSlide=i=>{let a=this.sections.length>0&&this.sections[this.sections.length-1]._slides.filter(o=>o._slideNum===this.slides[this.slides.length-1]._slideNum).length>0;return i.sectionTitle=a?this.sections[this.sections.length-1].title:null,this.addSlide(i)},this.getSlide=i=>this.slides.filter(a=>a._slideNum===i)[0],this.setSlideNumber=i=>{this.masterSlide._slideNumberProps=i,this.slideLayouts.filter(a=>a._name===Ks)[0]._slideNumberProps=i},this.createChartMediaRels=(i,a,o)=>{i._relsChart.forEach(l=>o.push(k0(l,a))),i._relsMedia.forEach(l=>{if(l.type!=="online"&&l.type!=="hyperlink"){let c=l.data&&typeof l.data=="string"?l.data:"";!c.includes(",")&&!c.includes(";")?c="image/png;base64,"+c:c.includes(",")?c.includes(";")||(c="image/png;"+c):c="image/png;base64,"+c,a.file(l.Target.replace("..","ppt"),c.split(",").pop(),{base64:!0})}})},this.writeFileToBrowser=(i,a)=>cr(this,void 0,void 0,function*(){let o=document.createElement("a");if(o.setAttribute("style","display:none;"),o.dataset.interception="off",document.body.appendChild(o),window.URL.createObjectURL){let l=window.URL.createObjectURL(new Blob([a],{type:"application/vnd.openxmlformats-officedocument.presentationml.presentation"}));return o.href=l,o.download=i,o.click(),setTimeout(()=>{window.URL.revokeObjectURL(l),document.body.removeChild(o)},100),yield Promise.resolve(i)}}),this.exportPresentation=i=>cr(this,void 0,void 0,function*(){let a=[],o=[],l=new Gd.default;return this.slides.forEach(c=>{o=o.concat(Ns(c))}),this.slideLayouts.forEach(c=>{o=o.concat(Ns(c))}),o=o.concat(Ns(this.masterSlide)),yield Promise.all(o).then(()=>cr(this,void 0,void 0,function*(){return this.slides.forEach(c=>{c._slideLayout&&x0(c)}),l.folder("_rels"),l.folder("docProps"),l.folder("ppt").folder("_rels"),l.folder("ppt/charts").folder("_rels"),l.folder("ppt/embeddings"),l.folder("ppt/media"),l.folder("ppt/slideLayouts").folder("_rels"),l.folder("ppt/slideMasters").folder("_rels"),l.folder("ppt/slides").folder("_rels"),l.folder("ppt/theme"),l.folder("ppt/notesMasters").folder("_rels"),l.folder("ppt/notesSlides").folder("_rels"),l.file("[Content_Types].xml",E0(this.slides,this.slideLayouts,this.masterSlide)),l.file("_rels/.rels",B0()),l.file("docProps/app.xml",R0(this.slides,this.company)),l.file("docProps/core.xml",L0(this.title,this.subject,this.author,this.revision)),l.file("ppt/_rels/presentation.xml.rels",N0(this.slides)),l.file("ppt/theme/theme1.xml",H0(this)),l.file("ppt/presentation.xml",K0(this)),l.file("ppt/presProps.xml",Q0()),l.file("ppt/tableStyles.xml",Z0()),l.file("ppt/viewProps.xml",Y0()),this.slideLayouts.forEach((c,s)=>{l.file(`ppt/slideLayouts/slideLayout${s+1}.xml`,_0(c)),l.file(`ppt/slideLayouts/_rels/slideLayout${s+1}.xml.rels`,W0(s+1,this.slideLayouts))}),this.slides.forEach((c,s)=>{l.file(`ppt/slides/slide${s+1}.xml`,I0(c)),l.file(`ppt/slides/_rels/slide${s+1}.xml.rels`,G0(this.slides,this.slideLayouts,s+1)),l.file(`ppt/notesSlides/notesSlide${s+1}.xml`,O0(c)),l.file(`ppt/notesSlides/_rels/notesSlide${s+1}.xml.rels`,j0(s+1))}),l.file("ppt/slideMasters/slideMaster1.xml",U0(this.masterSlide,this.slideLayouts)),l.file("ppt/slideMasters/_rels/slideMaster1.xml.rels",q0(this.masterSlide,this.slideLayouts)),l.file("ppt/notesMasters/notesMaster1.xml",M0()),l.file("ppt/notesMasters/_rels/notesMaster1.xml.rels",V0()),this.slideLayouts.forEach(c=>{this.createChartMediaRels(c,l,a)}),this.slides.forEach(c=>{this.createChartMediaRels(c,l,a)}),this.createChartMediaRels(this.masterSlide,l,a),yield Promise.all(a).then(()=>cr(this,void 0,void 0,function*(){return i.outputType==="STREAM"?yield l.generateAsync({type:"nodebuffer",compression:i.compression?"DEFLATE":"STORE"}):i.outputType?yield l.generateAsync({type:i.outputType}):yield l.generateAsync({type:"blob",compression:i.compression?"DEFLATE":"STORE"})}))}))});let e={name:"screen4x3",width:9144e3,height:6858e3},r={name:"screen16x9",width:9144e3,height:5143500},t={name:"screen16x10",width:9144e3,height:5715e3},n={name:"custom",width:12192e3,height:6858e3};this.LAYOUTS={LAYOUT_4x3:e,LAYOUT_16x9:r,LAYOUT_16x10:t,LAYOUT_WIDE:n},this._author="PptxGenJS",this._company="PptxGenJS",this._revision="1",this._subject="PptxGenJS Presentation",this._title="PptxGenJS Presentation",this._presLayout={name:this.LAYOUTS[ni].name,_sizeW:this.LAYOUTS[ni].width,_sizeH:this.LAYOUTS[ni].height,width:this.LAYOUTS[ni].width,height:this.LAYOUTS[ni].height},this._rtlMode=!1,this._slideLayouts=[{_margin:ia,_name:Ks,_presLayout:this._presLayout,_rels:[],_relsChart:[],_relsMedia:[],_slide:null,_slideNum:1e3,_slideNumberProps:null,_slideObjects:[]}],this._slides=[],this._sections=[],this._masterSlide={addChart:null,addImage:null,addMedia:null,addNotes:null,addShape:null,addTable:null,addText:null,_name:null,_presLayout:this._presLayout,_rId:null,_rels:[],_relsChart:[],_relsMedia:[],_slideId:null,_slideLayout:null,_slideNum:null,_slideNumberProps:null,_slideObjects:[]}}stream(e){return cr(this,void 0,void 0,function*(){return yield this.exportPresentation({compression:e?.compression,outputType:"STREAM"})})}write(e){return cr(this,void 0,void 0,function*(){let r=typeof e=="object"&&e?.outputType?e.outputType:e||null,t=typeof e=="object"&&e?.compression?e.compression:!1;return yield this.exportPresentation({compression:t,outputType:r})})}writeFile(e){return cr(this,void 0,void 0,function*(){var r,t;let n=typeof process<"u"&&!!(!((r=process.versions)===null||r===void 0)&&r.node)&&((t=process.release)===null||t===void 0?void 0:t.name)==="node";typeof e=="string"&&(console.warn("[WARNING] writeFile(string) is deprecated - pass { fileName } instead."),e={fileName:e});let{fileName:i="Presentation.pptx",compression:a=!1}=e,o=i.toLowerCase().endsWith(".pptx")?i:`${i}.pptx`,l=n?"nodebuffer":null,c=yield this.exportPresentation({compression:a,outputType:l});if(n){let{promises:s}=yield Promise.resolve().then(()=>Qr(Uu())),{writeFile:u}=s;return yield u(o,c),o}return yield this.writeFileToBrowser(o,c),o})}addSection(e){e?e.title||console.warn("addSection requires a title"):console.warn("addSection requires an argument");let r={_type:"user",_slides:[],title:e.title};e.order?this.sections.splice(e.order,0,r):this._sections.push(r)}addSlide(e){let r=typeof e=="string"?e:e?.masterName?e.masterName:"",t={_name:this.LAYOUTS[ni].name,_presLayout:this.presLayout,_rels:[],_relsChart:[],_relsMedia:[],_slideNum:this.slides.length+1};if(r){let i=this.slideLayouts.filter(a=>a._name===r)[0];i&&(t=i)}let n=new S0({addSlide:this.addNewSlide,getSlide:this.getSlide,presLayout:this.presLayout,setSlideNum:this.setSlideNumber,slideId:this.slides.length+256,slideRId:this.slides.length+2,slideNumber:this.slides.length+1,slideLayout:t});if(this._slides.push(n),e?.sectionTitle){let i=this.sections.filter(a=>a.title===e.sectionTitle)[0];i?i._slides.push(n):console.warn(`addSlide: unable to find section with title: "${e.sectionTitle}"`)}else if(this.sections&&this.sections.length>0&&!e?.sectionTitle){let i=this._sections[this.sections.length-1];i._type==="default"?i._slides.push(n):this._sections.push({title:`Default-${this.sections.filter(a=>a._type==="default").length+1}`,_type:"default",_slides:[n]})}return n}defineLayout(e){e?e.name?e.width?e.height?typeof e.height!="number"?console.warn("defineLayout `height` should be a number (inches)"):typeof e.width!="number"&&console.warn("defineLayout `width` should be a number (inches)"):console.warn("defineLayout requires `height`"):console.warn("defineLayout requires `width`"):console.warn("defineLayout requires `name`"):console.warn("defineLayout requires `{name, width, height}`"),this.LAYOUTS[e.name]={name:e.name,_sizeW:Math.round(Number(e.width)*Ke),_sizeH:Math.round(Number(e.height)*Ke),width:Math.round(Number(e.width)*Ke),height:Math.round(Number(e.height)*Ke)}}defineSlideMaster(e){let r=JSON.parse(JSON.stringify(e));if(!r.title)throw new Error("defineSlideMaster() object argument requires a `title` value. (https://gitbrent.github.io/PptxGenJS/docs/masters.html)");let t={_margin:r.margin||ia,_name:r.title,_presLayout:this.presLayout,_rels:[],_relsChart:[],_relsMedia:[],_slide:null,_slideNum:1e3+this.slideLayouts.length+1,_slideNumberProps:r.slideNumber||null,_slideObjects:[],background:r.background||null,bkgd:r.bkgd||null};v0(r,t),this.slideLayouts.push(t),(r.background||r.bkgd)&&Zd(r.background,t),t._slideNumberProps&&!this.masterSlide._slideNumberProps&&(this.masterSlide._slideNumberProps=t._slideNumberProps)}tableToSlides(e,r={}){g0(this,e,r,r?.masterSlideName?this.slideLayouts.filter(t=>t._name===r.masterSlideName)[0]:null)}},rl=96,Du=914400,ey=13.333,Eu=7.5;function Is(e,r){return Math.min(r,Math.max(.15,ey-e-.04))}function Jd(e){let r=String(e||"").trim();return r?r.startsWith("data:")?{data:r}:r.startsWith("file://")?{path:r.replace("file://","")}:{path:r}:null}function ty(e,r){let t=[],n=e.width/rl,i=e.height/rl;if(r.presLayout){let a=r.presLayout.width/Du,o=r.presLayout.height/Du;(Math.abs(a-n)>.1||Math.abs(o-i)>.1)&&t.push(`HTML dimensions (${n.toFixed(1)}" \xD7 ${i.toFixed(1)}") don't match presentation layout (${a.toFixed(1)}" \xD7 ${o.toFixed(1)}")`)}return t}function ry(e,r){let t=[],n=r.height/rl,i=.5;for(let a of e.elements){if(!["p","h1","h2","h3","h4","h5","h6","text","list","merged-text"].includes(a.type))continue;let o=a.style?.fontSize||0,l=a.position.y+a.position.h,c=n-l,s=typeof a.text=="string"?a.text:Array.isArray(a.text)?a.text.find(d=>d.text)?.text||"":Array.isArray(a.items)&&a.items.find(d=>d.text)?.text||"";if(!(/^\d{1,2}\s*\/\s*\d{1,2}$/.test(s.trim())||/^(Arknights|数据来源|source:)/i.test(s.trim())||o<=11)&&o>12&&c50?"...":""}`;t.push(`Text box "${d}" ends too close to bottom edge (${c.toFixed(2)}" from bottom, minimum ${i}" required)`)}}return t}async function ny(e,r){if(e.background?.type==="image"&&e.background.path){let t=Jd(e.background.path);t&&(r.background=t)}else e.background?.type==="color"&&e.background.value&&(r.background={color:e.background.value})}function iy(e,r,t){for(let n of e.elements)if(n.type==="image"){let i=Jd(n.src);if(!i)continue;r.addImage({...i,x:n.position.x,y:n.position.y,w:n.position.w,h:n.position.h})}else if(n.type==="line")r.addShape(t.ShapeType.line,{x:n.x1,y:n.y1,w:n.x2-n.x1,h:n.y2-n.y1,line:{color:n.color,width:n.width}});else if(n.type==="shape"){let i={x:n.position.x,y:n.position.y,w:n.position.w,h:n.position.h,shape:n.shape.rectRadius>0?t.ShapeType.roundRect:t.ShapeType.rect};n.shape.fill&&(i.fill={color:n.shape.fill},n.shape.transparency!=null&&(i.fill.transparency=n.shape.transparency)),n.shape.line&&(i.line=n.shape.line),n.shape.rectRadius>0&&(i.rectRadius=n.shape.rectRadius),n.shape.shadow&&(i.shadow=n.shape.shadow),r.addText(n.text||"",i)}else if(n.type==="list"||n.type==="merged-text"){let i={x:n.position.x,y:n.position.y,w:Is(n.position.x,n.position.w+n.position.w*.04),h:Math.min(n.position.h,Math.max(.15,Eu-n.position.y-.04)),fontSize:n.style.fontSize,fontFace:n.style.fontFace,color:n.style.color,align:n.style.align,valign:"top",lineSpacing:n.style.lineSpacing,paraSpaceBefore:n.style.paraSpaceBefore,paraSpaceAfter:n.style.paraSpaceAfter,margin:n.style.margin,inset:0,shrinkText:!1,autoFit:!1};n.style.transparency!=null&&(i.transparency=n.style.transparency),r.addText(n.items||n.text,i)}else{let i=n.style.lineSpacing||n.style.fontSize*1.2,a=n.position.h<=i*1.5,o=n.style.vert&&n.style.vert!=="horz",l=o?0:n.position.w*(a?.02:.06),c=n.position.x,s=Is(n.position.x,n.position.w+l),u=n.style.align;!o&&u==="center"?c=n.position.x-(s-n.position.w)/2:!o&&u==="right"&&(c=n.position.x-(s-n.position.w)),c=Math.max(0,c),s=Is(c,s);let d={x:c,y:n.position.y,w:s,h:Math.min(n.position.h,Math.max(.15,Eu-n.position.y-.04)),fontSize:n.style.fontSize,fontFace:n.style.fontFace,color:n.style.color,bold:n.style.bold,italic:n.style.italic,underline:n.style.underline,valign:o?"mid":n.style.valign||"top",lineSpacing:n.style.lineSpacing,paraSpaceBefore:n.style.paraSpaceBefore,paraSpaceAfter:n.style.paraSpaceAfter,inset:0,shrinkText:!1,autoFit:!1};n.style.align&&(d.align=n.style.align),n.style.margin&&(d.margin=n.style.margin),n.style.rotate!==void 0&&(d.rotate=n.style.rotate),n.style.vert&&(d.vert=n.style.vert),n.style.transparency!=null&&n.style.transparency!==void 0&&(d.transparency=n.style.transparency),r.addText(n.text,d)}}async function ay(e,r,t,n={}){let i=[];r?.errors?.length&&i.push(...r.errors),i.push(...ty(r,t)),i.push(...ry(e,r)),e?.errors?.length&&i.push(...e.errors),i.length&&console.warn("[ppt-live-export] slide validation warnings (export continues):",i.join("; "));let a=n.slide||t.addSlide();return await ny(e,a),iy(e,a,t),{slide:a,placeholders:e.placeholders||[]}}function $d(e={}){let r=new $0;return r.layout="LAYOUT_WIDE",r.author="PPT Live",r.subject=e.brief?.topic||e.title||"PPT Live deck",r.title=e.title||"PPT Live",r.company="BitFun",r.lang="zh-CN",r.theme={headFontFace:"PingFang SC",bodyFontFace:"PingFang SC",lang:"zh-CN"},r}function ef(e={}){return[e.notes,e.claim?`Claim: ${e.claim}`:"",e.proofObject?`Proof object: ${e.proofObject}`:"",e.supportNote?`Support note: ${e.supportNote}`:"",e.sourceNote?`Source note: ${e.sourceNote}`:""].filter(Boolean).join(` -`)}var nl=13.333,xo=7.5;function ay(e,r,t,n){r.addShape(e.ShapeType.rect,{x:0,y:0,w:nl,h:xo,fill:{color:kt(t.background)},line:{color:kt(t.background),transparency:100}}),r.addShape(e.ShapeType.ellipse,{x:10.3,y:-.45,w:3.8,h:3.8,fill:{color:kt(n%2?t.accent:t.primary),transparency:84},line:{color:kt(t.background),transparency:100}}),r.addShape(e.ShapeType.rect,{x:0,y:0,w:.12,h:xo,fill:{color:kt(t.primary),transparency:0},line:{color:kt(t.primary),transparency:100}})}function oy(e,r,t,n){t.kicker&&(r.addShape(e.ShapeType.roundRect,{x:.96,y:.48,w:.22,h:.07,fill:{color:kt(n.primary)},line:{color:kt(n.primary),transparency:100}}),r.addText(String(t.kicker).toUpperCase(),{x:1.24,y:.36,w:2.4,h:.28,margin:0,fontFace:"Aptos",fontSize:7,bold:!0,color:kt(n.primary),fit:"shrink"})),t.proofObject&&r.addText(String(t.proofObject),{x:9.26,y:.34,w:2.95,h:.32,margin:.04,fontFace:"Aptos",fontSize:7,bold:!0,color:kt(n.muted),align:"right",fit:"shrink",fill:{color:kt(n.panel),transparency:8},line:{color:kt(n.primary),transparency:78}}),t.sourceNote&&r.addText(String(t.sourceNote),{x:.96,y:7.05,w:10.7,h:.2,margin:0,fontFace:"Aptos",fontSize:6,color:kt(n.muted),fit:"shrink"})}function sy(e,r,t,n){let i=dy(t),a=t.style||{},o={x:i.x,y:i.y,w:i.w,h:i.h,margin:.08,fit:"shrink",color:kt(pn(a.color,n)),fontFace:"Aptos",fontSize:Ru(a.fontSize||22),bold:Number(a.fontWeight||500)>=700,align:a.align||"left",valign:"mid",breakLine:!1};if(t.type==="shape"){r.addShape(e.ShapeType.roundRect,{...i,rectRadius:.08,fill:{color:kt(pn(a.background,n)),transparency:Bl(a.opacity)},line:{color:kt(pn(a.background,n)),transparency:100}}),t.text&&r.addText(t.text,o);return}if(t.type==="list"){let l=(t.items||[]).map(c=>({text:c,options:{bullet:{type:"bullet"},breakLine:!0}}));r.addText(l.length?l:[{text:""}],{...o,valign:"top",paraSpaceAfterPt:6,fit:"shrink"});return}if(t.type==="metric"){Bu(e,r,i,a,n),r.addText(String(t.text||""),{...o,y:i.y+.08,h:i.h*.48,color:kt(pn(a.color||"primary",n)),fontSize:Ru(a.fontSize||42),bold:!0}),r.addText(String(t.label||""),{...o,y:i.y+i.h*.56,h:i.h*.34,color:kt(n.muted),fontSize:10,bold:!1,valign:"top"});return}if(t.type==="chart"){Bu(e,r,i,a,n),r.addText(String(t.text||""),{...o,y:i.y+.1,h:.32,fontSize:11,bold:!0}),cy(e,r,t,i,n);return}if(t.type==="media"){r.addShape(e.ShapeType.roundRect,{...i,fill:{color:kt(pn(a.background||"soft",n)),transparency:10},line:{color:kt(n.primary),transparency:55,dash:"dash"}}),r.addText(String(t.text||"Image placeholder"),{...o,align:"center",color:kt(n.muted),fontSize:12});return}ly(e,r,i,a,n),r.addText(String(t.text||""),o)}function Bu(e,r,t,n,i){r.addShape(e.ShapeType.roundRect,{...t,fill:{color:kt(pn(n.background||"panel",i)),transparency:Bl(n.opacity)},line:{color:kt(i.primary),transparency:82},shadow:{type:"outer",color:"111827",opacity:.12,blur:1,angle:45,distance:1}})}function ly(e,r,t,n,i){let a=n.background||"transparent";a!=="transparent"&&r.addShape(e.ShapeType.roundRect,{...t,fill:{color:kt(pn(a,i)),transparency:Bl(n.opacity)},line:{color:kt(pn(a,i)),transparency:100}})}function cy(e,r,t,n,i){let a=Array.isArray(t.data)&&t.data.length?t.data:[{label:"A",value:40},{label:"B",value:70}],o=Math.max(1,...a.map(f=>Number(f.value)||0)),l=.1,c=n.x+.18,s=n.y+.68,u=n.w-.36,d=n.h-.95,A=Math.max(.08,(u-l*(a.length-1))/a.length);a.forEach((f,p)=>{let g=Number(f.value)||0,y=Math.max(.15,g/o*d),v=c+p*(A+l),b=s+d-y;r.addShape(e.ShapeType.rect,{x:v,y:b,w:A,h:y,fill:{color:kt(p%2?i.accent:i.primary)},line:{color:kt(p%2?i.accent:i.primary),transparency:100}}),r.addText(String(f.label||""),{x:v-.03,y:s+d+.04,w:A+.06,h:.2,fontSize:7,color:kt(i.muted),align:"center",margin:0,fit:"shrink"})})}function uy(e={}){return{background:e.background||"#fbfcff",ink:e.ink||"#111827",muted:e.muted||"#5b6575",primary:e.primary||"#0f766e",accent:e.accent||"#f97316",panel:e.panel||"#ffffff"}}function dy(e){return{x:Za(e.x)*nl,y:Za(e.y)*xo,w:Za(e.w)*nl,h:Za(e.h)*xo}}function Za(e){return Math.max(0,Math.min(100,Number(e)||0))/100}function Ru(e){return Math.max(6,Math.min(66,Math.round((Number(e)||22)*.58)))}function pn(e,r){return!e||e==="transparent"?r.background:e==="ink"?r.ink:e==="muted"?r.muted:e==="primary"?r.primary:e==="accent"?r.accent:e==="panel"?r.panel:e==="soft"?r.primary:e==="background"?r.background:e}function kt(e){let r=String(e||"#111827").trim();return/^#[0-9a-f]{6}$/i.test(r)?r.slice(1).toUpperCase():/^[0-9a-f]{6}$/i.test(r)?r.toUpperCase():/^#[0-9a-f]{3}$/i.test(r)?r.slice(1).split("").map(t=>t+t).join("").toUpperCase():"111827"}function Bl(e){return Math.round((1-Math.max(0,Math.min(1,Number(e??1))))*100)}async function fy(e){let r=Array.isArray(e.slides)&&e.slides.length>0?e.slides:[],t=$d(e);return r.forEach((n,i)=>{let a=t.addSlide(),o=uy(n.theme);a.background={color:kt(o.background)},ay(t,a,o,i),oy(t,a,n,o),(n.elements||[]).forEach(c=>sy(t,a,c,o));let l=ef(n);l&&typeof a.addNotes=="function"&&a.addNotes(l)}),t}var hy="application/vnd.openxmlformats-officedocument.presentationml.presentation",tf=new Set(["p","h1","h2","h3","h4","h5","h6","text","list","merged-text"]);function py(e){return{...e,elements:(e.elements||[]).filter(r=>tf.has(r.type))}}function Ay(e){let t="";for(let n=0;n|]+/g,"-").slice(0,96)}async function rf(e,r){let t=await e.write({outputType:"base64"});return{filename:`${Rl(r.title||"ppt-live")}.pptx`,mimeType:hy,base64:String(t||"").replace(/^data:.*;base64,/,"")}}async function Ll(e){if((Array.isArray(e?.slides)?e.slides:[]).some(n=>n?.html))throw new Error("HTML slides must use the WebView prepare export path.");let t=await fy(e);return rf(t,e)}async function Nl(e,r){let t=Array.isArray(r)?r:[];if(!t.length)throw new Error("No prepared slides to export");let n=$d(e),i=Array.isArray(e?.slides)?e.slides:[];for(let a of t){let o=i[a.index]||a.notes||{},l=a.slideData;if(a.rasterBase64){let u=String(a.rasterBase64).replace(/^data:.*;base64,/,"");a.rasterOnly?l={...l,elements:(l.elements||[]).filter(d=>!tf.has(d.type)),background:{type:"image",path:`data:image/png;base64,${u}`}}:(l=py(l),l={...l,background:{type:"image",path:`data:image/png;base64,${u}`}})}let c=await iy(l,a.bodyDimensions,n),s=ef(o);s&&c?.slide&&typeof c.slide.addNotes=="function"&&c.slide.addNotes(s)}return rf(n,e)}async function Il(e,r){let t=Array.isArray(r)?r:[];if(!t.length)throw new Error("No rendered PDF pages to export");let n=await Zr.create();for(let a of t){let o=String(a||"").replace(/^data:.*;base64,/,""),l=Uint8Array.from(atob(o),u=>u.charCodeAt(0)),c=await Zr.load(l);(await n.copyPages(c,c.getPageIndices())).forEach(u=>n.addPage(u))}let i=await n.save();return{filename:`${Rl(e?.title||"ppt-live")}.pdf`,mimeType:"application/pdf",base64:Ay(i)}}async function zl(e,r){let t=Array.isArray(r)?r:[];if(!t.length)throw new Error("No rendered PNG pages to export");let n=new a0.default;t.forEach((a,o)=>{let l=typeof a=="string"?a:String(a?.base64||"").replace(/^data:.*;base64,/,""),c=(a?.index??o)+1;n.file(`slide-${String(c).padStart(2,"0")}.png`,l,{base64:!0})});let i=await n.generateAsync({type:"base64",compression:"DEFLATE"});return{filename:`${Rl(e?.title||"ppt-live")}-slides.zip`,mimeType:"application/zip",base64:String(i||"").replace(/^data:.*;base64,/,"")}}function gy(e){if((e.slides||[]).some(t=>t.html))return my(e);let r=e.slides.map(t=>`
      ${un(t)}
      `).join(` +`)}var nl=13.333,xo=7.5;function oy(e,r,t,n){r.addShape(e.ShapeType.rect,{x:0,y:0,w:nl,h:xo,fill:{color:kt(t.background)},line:{color:kt(t.background),transparency:100}}),r.addShape(e.ShapeType.ellipse,{x:10.3,y:-.45,w:3.8,h:3.8,fill:{color:kt(n%2?t.accent:t.primary),transparency:84},line:{color:kt(t.background),transparency:100}}),r.addShape(e.ShapeType.rect,{x:0,y:0,w:.12,h:xo,fill:{color:kt(t.primary),transparency:0},line:{color:kt(t.primary),transparency:100}})}function sy(e,r,t,n){t.kicker&&(r.addShape(e.ShapeType.roundRect,{x:.96,y:.48,w:.22,h:.07,fill:{color:kt(n.primary)},line:{color:kt(n.primary),transparency:100}}),r.addText(String(t.kicker).toUpperCase(),{x:1.24,y:.36,w:2.4,h:.28,margin:0,fontFace:"Aptos",fontSize:7,bold:!0,color:kt(n.primary),fit:"shrink"})),t.proofObject&&r.addText(String(t.proofObject),{x:9.26,y:.34,w:2.95,h:.32,margin:.04,fontFace:"Aptos",fontSize:7,bold:!0,color:kt(n.muted),align:"right",fit:"shrink",fill:{color:kt(n.panel),transparency:8},line:{color:kt(n.primary),transparency:78}}),t.sourceNote&&r.addText(String(t.sourceNote),{x:.96,y:7.05,w:10.7,h:.2,margin:0,fontFace:"Aptos",fontSize:6,color:kt(n.muted),fit:"shrink"})}function ly(e,r,t,n){let i=fy(t),a=t.style||{},o={x:i.x,y:i.y,w:i.w,h:i.h,margin:.08,fit:"shrink",color:kt(pn(a.color,n)),fontFace:"Aptos",fontSize:Ru(a.fontSize||22),bold:Number(a.fontWeight||500)>=700,align:a.align||"left",valign:"mid",breakLine:!1};if(t.type==="shape"){r.addShape(e.ShapeType.roundRect,{...i,rectRadius:.08,fill:{color:kt(pn(a.background,n)),transparency:Bl(a.opacity)},line:{color:kt(pn(a.background,n)),transparency:100}}),t.text&&r.addText(t.text,o);return}if(t.type==="list"){let l=(t.items||[]).map(c=>({text:c,options:{bullet:{type:"bullet"},breakLine:!0}}));r.addText(l.length?l:[{text:""}],{...o,valign:"top",paraSpaceAfterPt:6,fit:"shrink"});return}if(t.type==="metric"){Bu(e,r,i,a,n),r.addText(String(t.text||""),{...o,y:i.y+.08,h:i.h*.48,color:kt(pn(a.color||"primary",n)),fontSize:Ru(a.fontSize||42),bold:!0}),r.addText(String(t.label||""),{...o,y:i.y+i.h*.56,h:i.h*.34,color:kt(n.muted),fontSize:10,bold:!1,valign:"top"});return}if(t.type==="chart"){Bu(e,r,i,a,n),r.addText(String(t.text||""),{...o,y:i.y+.1,h:.32,fontSize:11,bold:!0}),uy(e,r,t,i,n);return}if(t.type==="media"){r.addShape(e.ShapeType.roundRect,{...i,fill:{color:kt(pn(a.background||"soft",n)),transparency:10},line:{color:kt(n.primary),transparency:55,dash:"dash"}}),r.addText(String(t.text||"Image placeholder"),{...o,align:"center",color:kt(n.muted),fontSize:12});return}cy(e,r,i,a,n),r.addText(String(t.text||""),o)}function Bu(e,r,t,n,i){r.addShape(e.ShapeType.roundRect,{...t,fill:{color:kt(pn(n.background||"panel",i)),transparency:Bl(n.opacity)},line:{color:kt(i.primary),transparency:82},shadow:{type:"outer",color:"111827",opacity:.12,blur:1,angle:45,distance:1}})}function cy(e,r,t,n,i){let a=n.background||"transparent";a!=="transparent"&&r.addShape(e.ShapeType.roundRect,{...t,fill:{color:kt(pn(a,i)),transparency:Bl(n.opacity)},line:{color:kt(pn(a,i)),transparency:100}})}function uy(e,r,t,n,i){let a=Array.isArray(t.data)&&t.data.length?t.data:[{label:"A",value:40},{label:"B",value:70}],o=Math.max(1,...a.map(f=>Number(f.value)||0)),l=.1,c=n.x+.18,s=n.y+.68,u=n.w-.36,d=n.h-.95,p=Math.max(.08,(u-l*(a.length-1))/a.length);a.forEach((f,h)=>{let A=Number(f.value)||0,y=Math.max(.15,A/o*d),v=c+h*(p+l),b=s+d-y;r.addShape(e.ShapeType.rect,{x:v,y:b,w:p,h:y,fill:{color:kt(h%2?i.accent:i.primary)},line:{color:kt(h%2?i.accent:i.primary),transparency:100}}),r.addText(String(f.label||""),{x:v-.03,y:s+d+.04,w:p+.06,h:.2,fontSize:7,color:kt(i.muted),align:"center",margin:0,fit:"shrink"})})}function dy(e={}){return{background:e.background||"#fbfcff",ink:e.ink||"#111827",muted:e.muted||"#5b6575",primary:e.primary||"#0f766e",accent:e.accent||"#f97316",panel:e.panel||"#ffffff"}}function fy(e){return{x:Za(e.x)*nl,y:Za(e.y)*xo,w:Za(e.w)*nl,h:Za(e.h)*xo}}function Za(e){return Math.max(0,Math.min(100,Number(e)||0))/100}function Ru(e){return Math.max(6,Math.min(66,Math.round((Number(e)||22)*.58)))}function pn(e,r){return!e||e==="transparent"?r.background:e==="ink"?r.ink:e==="muted"?r.muted:e==="primary"?r.primary:e==="accent"?r.accent:e==="panel"?r.panel:e==="soft"?r.primary:e==="background"?r.background:e}function kt(e){let r=String(e||"#111827").trim();return/^#[0-9a-f]{6}$/i.test(r)?r.slice(1).toUpperCase():/^[0-9a-f]{6}$/i.test(r)?r.toUpperCase():/^#[0-9a-f]{3}$/i.test(r)?r.slice(1).split("").map(t=>t+t).join("").toUpperCase():"111827"}function Bl(e){return Math.round((1-Math.max(0,Math.min(1,Number(e??1))))*100)}async function hy(e){let r=Array.isArray(e.slides)&&e.slides.length>0?e.slides:[],t=$d(e);return r.forEach((n,i)=>{let a=t.addSlide(),o=dy(n.theme);a.background={color:kt(o.background)},oy(t,a,o,i),sy(t,a,n,o),(n.elements||[]).forEach(c=>ly(t,a,c,o));let l=ef(n);l&&typeof a.addNotes=="function"&&a.addNotes(l)}),t}var py="application/vnd.openxmlformats-officedocument.presentationml.presentation",tf=new Set(["p","h1","h2","h3","h4","h5","h6","text","list","merged-text"]);function Ay(e){return{...e,elements:(e.elements||[]).filter(r=>tf.has(r.type))}}function gy(e){let t="";for(let n=0;n|]+/g,"-").slice(0,96)}async function rf(e,r){let t=await e.write({outputType:"base64"});return{filename:`${Rl(r.title||"ppt-live")}.pptx`,mimeType:py,base64:String(t||"").replace(/^data:.*;base64,/,"")}}async function Ll(e){if((Array.isArray(e?.slides)?e.slides:[]).some(n=>n?.html))throw new Error("HTML slides must use the WebView prepare export path.");let t=await hy(e);return rf(t,e)}async function Nl(e,r){let t=Array.isArray(r)?r:[];if(!t.length)throw new Error("No prepared slides to export");let n=$d(e),i=Array.isArray(e?.slides)?e.slides:[];for(let a of t){let o=i[a.index]||a.notes||{},l=a.slideData;if(a.rasterBase64){let u=String(a.rasterBase64).replace(/^data:.*;base64,/,"");a.rasterOnly?l={...l,elements:(l.elements||[]).filter(d=>!tf.has(d.type)),background:{type:"image",path:`data:image/png;base64,${u}`}}:(l=Ay(l),l={...l,background:{type:"image",path:`data:image/png;base64,${u}`}})}let c=await ay(l,a.bodyDimensions,n),s=ef(o);s&&c?.slide&&typeof c.slide.addNotes=="function"&&c.slide.addNotes(s)}return rf(n,e)}async function Il(e,r){let t=Array.isArray(r)?r:[];if(!t.length)throw new Error("No rendered PDF pages to export");let n=await Zr.create();for(let a of t){let o=String(a||"").replace(/^data:.*;base64,/,""),l=Uint8Array.from(atob(o),u=>u.charCodeAt(0)),c=await Zr.load(l);(await n.copyPages(c,c.getPageIndices())).forEach(u=>n.addPage(u))}let i=await n.save();return{filename:`${Rl(e?.title||"ppt-live")}.pdf`,mimeType:"application/pdf",base64:gy(i)}}async function zl(e,r){let t=Array.isArray(r)?r:[];if(!t.length)throw new Error("No rendered PNG pages to export");let n=new o0.default;t.forEach((a,o)=>{let l=typeof a=="string"?a:String(a?.base64||"").replace(/^data:.*;base64,/,""),c=(a?.index??o)+1;n.file(`slide-${String(c).padStart(2,"0")}.png`,l,{base64:!0})});let i=await n.generateAsync({type:"base64",compression:"DEFLATE"});return{filename:`${Rl(e?.title||"ppt-live")}-slides.zip`,mimeType:"application/zip",base64:String(i||"").replace(/^data:.*;base64,/,"")}}function my(e){if((e.slides||[]).some(t=>t.html))return vy(e);let r=e.slides.map(t=>`
      ${un(t)}
      `).join(` `);return` -${Le(e.title||"PPT Live")} +${Ne(e.title||"PPT Live")}
      ${r}
      -`}function my(e){let r=(e.slides||[]).map((t,n)=>`
      - +`}function vy(e){let r=(e.slides||[]).map((t,n)=>`
      +
      `).join(` `);return` -${Le(e.title||"PPT Live")} +${Ne(e.title||"PPT Live")} `; + if (/<\/head>/i.test(markup)) { + return markup.replace(/<\/head>/i, `${styleTag}`).replace(/ root.querySelectorAll(sel), + createElement: (tag) => document.createElement(tag), + getElementById: (id) => root.querySelector(`#${id}`), + head: root.querySelector("style")?.parentElement || root, + _exportRoot: root + }; +} +function createExportRoot() { + const host = document.createElement("div"); + host.className = "ppt-export-root-host"; + host.setAttribute("aria-hidden", "true"); + host.style.cssText = [ + `width:${EXPORT_VIEWPORT.width}px`, + `height:${EXPORT_VIEWPORT.height}px`, + "overflow:hidden" + ].join(";"); + getExportSessionHost().appendChild(host); + const shadow = host.attachShadow({ mode: "open" }); + const root = document.createElement("div"); + root.className = "ppt-export-root"; + root.style.cssText = [ + `width:${EXPORT_VIEWPORT.width}px`, + `height:${EXPORT_VIEWPORT.height}px`, + "overflow:hidden" + ].join(";"); + shadow.appendChild(root); + root._exportHost = host; + return root; +} +function removeExportRoot(root) { + const host = root?._exportHost || root; + if (host?.isConnected) host.remove(); +} +async function waitForExportPaint() { + await new Promise((resolve) => { + requestAnimationFrame(() => requestAnimationFrame(resolve)); + }); +} +function mountMarkupOnRoot(root, markup) { + const parsed = new DOMParser().parseFromString(markup, "text/html"); + root.replaceChildren(); + parsed.querySelectorAll("style").forEach((node) => { + const style = document.createElement("style"); + style.textContent = scopeAuthorStyles(node.textContent || ""); + root.appendChild(style); + }); + const body = document.createElement("div"); + body.className = "ppt-export-body"; + if (parsed.body) { + for (const attr of parsed.body.attributes) { + if (attr.name === "class") { + body.classList.add(...attr.value.split(/\s+/).filter(Boolean)); + } else if (attr.name === "style") { + body.style.cssText += `;${attr.value}`; + } else { + body.setAttribute(attr.name, attr.value); + } + } + body.innerHTML = parsed.body.innerHTML; + } + body.style.boxSizing = "border-box"; + if (!/\bwidth\s*:/i.test(body.style.cssText)) { + body.style.width = `${EXPORT_VIEWPORT.width}px`; + } + if (!/\bheight\s*:/i.test(body.style.cssText)) { + body.style.height = `${EXPORT_VIEWPORT.height}px`; + } + root.appendChild(body); + return body; +} +async function loadHtmlInExportRoot(html) { + const markup = normalizeSlideDocument(html); + const root = createExportRoot(); + const body = mountMarkupOnRoot(root, markup); + await waitForExportPaint(); + return wrapExportDocument(root, body); +} +async function prepareSlideOnce(html, aggressive, options = {}) { + let exportRoot = null; + try { + const doc = await loadHtmlInExportRoot(html); + exportRoot = doc._exportRoot; + sanitizeSlideDocumentRoot(doc, aggressive); + await waitForExportPaint(); + const bodyDimensions = measureBodyDimensions(doc); + const slideData = extractSlideDataFromDocument(doc); + const overflowWarnings = bodyDimensions.errors || []; + if (overflowWarnings.length) { + console.warn("[ppt-live-export] slide overflows canvas; exporting anyway:", overflowWarnings.join("; ")); + } + const safeBodyDimensions = { ...bodyDimensions, errors: [] }; + const errors = slideData.errors || []; + if (!errors.length || options.allowValidationErrors) { + return { slideData, bodyDimensions: safeBodyDimensions, aggressive, warnings: overflowWarnings }; + } + return { error: new Error(errors.join("\n")) }; + } finally { + if (exportRoot) removeExportRoot(exportRoot); + } +} +async function prepareSlideForPptxExport(html, options = {}) { + const first = await prepareSlideOnce(html, false, options); + if (first?.slideData) return first; + const second = await prepareSlideOnce(html, true, options); + if (second?.slideData) return second; + throw second?.error || first?.error || new Error("PPT Live slide preparation failed"); +} +async function prepareSlidesForPptxExport(slides, options = {}) { + const prepared = []; + try { + for (const [index, slide] of slides.entries()) { + if (!slide?.html) continue; + const item = await prepareSlideForPptxExport(slide.html, options); + let rasterBase64 = null; + const vectorTextCount = countVectorTextElements(item.slideData); + const rasterOnly = vectorTextCount === 0; + if (typeof options.renderRaster === "function") { + try { + if (typeof options.onRasterProgress === "function") { + options.onRasterProgress(index, slide); + } + const rasterHtml = rasterOnly ? slideExportHtml(slide) : slideHtmlForRasterBackdrop(slide.html); + rasterBase64 = await options.renderRaster(rasterHtml, index); + } catch { + rasterBase64 = null; + } + } + prepared.push({ + index, + slideId: slide.id, + notes: slide, + ...item, + rasterBase64, + rasterOnly: Boolean(rasterBase64 && rasterOnly) + }); + } + return prepared; + } finally { + clearExportSessionHost(); + } +} +function buildElementSlideHtml(slide = {}) { + const theme = slide.theme || {}; + const title = String(slide.title || "Slide").replace(/[<>&]/g, (ch) => ({ + "<": "<", + ">": ">", + "&": "&" + })[ch] || ch); + const subtitle = String(slide.subtitle || slide.claim || "").replace(/[<>&]/g, (ch) => ({ + "<": "<", + ">": ">", + "&": "&" + })[ch] || ch); + const background = theme.background || "#ffffff"; + const ink = theme.ink || "#111111"; + const muted = theme.muted || "#666666"; + return ` + + + + + + +

      ${title}

      + ${subtitle ? `

      ${subtitle}

      ` : ""} + +`; +} +function slideExportHtml(slide) { + if (slide?.html) return normalizeSlideDocument(slide.html); + return buildElementSlideHtml(slide); +} + +// ../../../../../../../../../../../../node_modules/tslib/tslib.es6.js +var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (b2.hasOwnProperty(p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); +}; +function __extends(d, b) { + extendStatics(d, b); + function __() { + this.constructor = d; + } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} +var __assign = function() { + __assign = Object.assign || function __assign2(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; +function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +} +function __awaiter(thisArg, _arguments, P, generator) { + function adopt(value2) { + return value2 instanceof P ? value2 : new P(function(resolve) { + resolve(value2); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value2) { + try { + step(generator.next(value2)); + } catch (e) { + reject(e); + } + } + function rejected(value2) { + try { + step(generator["throw"](value2)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +} +function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { + if (t[0] & 1) throw t[1]; + return t[1]; + }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { + return this; + }), g; + function verb(n) { + return function(v) { + return step([n, v]); + }; + } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) _.ops.pop(); + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; + } + if (op[0] & 5) throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } +} +function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +} + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/utils/base64.js +var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +var lookup = new Uint8Array(256); +for (i = 0; i < chars.length; i++) { + lookup[chars.charCodeAt(i)] = i; +} +var i; +var encodeToBase64 = function(bytes) { + var base64 = ""; + var len = bytes.length; + for (var i = 0; i < len; i += 3) { + base64 += chars[bytes[i] >> 2]; + base64 += chars[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4]; + base64 += chars[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6]; + base64 += chars[bytes[i + 2] & 63]; + } + if (len % 3 === 2) { + base64 = base64.substring(0, base64.length - 1) + "="; + } else if (len % 3 === 1) { + base64 = base64.substring(0, base64.length - 2) + "=="; + } + return base64; +}; +var decodeFromBase64 = function(base64) { + var bufferLength = base64.length * 0.75; + var len = base64.length; + var i; + var p = 0; + var encoded1; + var encoded2; + var encoded3; + var encoded4; + if (base64[base64.length - 1] === "=") { + bufferLength--; + if (base64[base64.length - 2] === "=") { + bufferLength--; + } + } + var bytes = new Uint8Array(bufferLength); + for (i = 0; i < len; i += 4) { + encoded1 = lookup[base64.charCodeAt(i)]; + encoded2 = lookup[base64.charCodeAt(i + 1)]; + encoded3 = lookup[base64.charCodeAt(i + 2)]; + encoded4 = lookup[base64.charCodeAt(i + 3)]; + bytes[p++] = encoded1 << 2 | encoded2 >> 4; + bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2; + bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63; + } + return bytes; +}; +var DATA_URI_PREFIX_REGEX = /^(data)?:?([\w\/\+]+)?;?(charset=[\w-]+|base64)?.*,/i; +var decodeFromBase64DataUri = function(dataUri) { + var trimmedUri = dataUri.trim(); + var prefix = trimmedUri.substring(0, 100); + var res = prefix.match(DATA_URI_PREFIX_REGEX); + if (!res) + return decodeFromBase64(trimmedUri); + var fullMatch = res[0]; + var data = trimmedUri.substring(fullMatch.length); + return decodeFromBase64(data); +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/utils/strings.js +var toCharCode = function(character) { + return character.charCodeAt(0); +}; +var toCodePoint = function(character) { + return character.codePointAt(0); +}; +var toHexStringOfMinLength = function(num, minLength) { + return padStart(num.toString(16), minLength, "0").toUpperCase(); +}; +var toHexString = function(num) { + return toHexStringOfMinLength(num, 2); +}; +var charFromCode = function(code) { + return String.fromCharCode(code); +}; +var charFromHexCode = function(hex2) { + return charFromCode(parseInt(hex2, 16)); +}; +var padStart = function(value2, length, padChar) { + var padding = ""; + for (var idx = 0, len = length - value2.length; idx < len; idx++) { + padding += padChar; + } + return padding + value2; +}; +var copyStringIntoBuffer = function(str, buffer, offset) { + var length = str.length; + for (var idx = 0; idx < length; idx++) { + buffer[offset++] = str.charCodeAt(idx); + } + return length; +}; +var escapeRegExp = function(str) { + return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); +}; +var cleanText = function(text2) { + return text2.replace(/\t|\u0085|\u2028|\u2029/g, " ").replace(/[\b\v]/g, ""); +}; +var escapedNewlineChars = ["\\n", "\\f", "\\r", "\\u000B"]; +var isNewlineChar = function(text2) { + return /^[\n\f\r\u000B]$/.test(text2); +}; +var lineSplit = function(text2) { + return text2.split(/[\n\f\r\u000B]/); +}; +var mergeLines = function(text2) { + return text2.replace(/[\n\f\r\u000B]/g, " "); +}; +var charAtIndex = function(text2, index) { + var cuFirst = text2.charCodeAt(index); + var cuSecond; + var nextIndex = index + 1; + var length = 1; + if ( + // Check if it's the start of a surrogate pair. + cuFirst >= 55296 && cuFirst <= 56319 && // high surrogate + text2.length > nextIndex + ) { + cuSecond = text2.charCodeAt(nextIndex); + if (cuSecond >= 56320 && cuSecond <= 57343) + length = 2; + } + return [text2.slice(index, index + length), length]; +}; +var charSplit = function(text2) { + var chars3 = []; + for (var idx = 0, len = text2.length; idx < len; ) { + var _a = charAtIndex(text2, idx), c = _a[0], cLen = _a[1]; + chars3.push(c); + idx += cLen; + } + return chars3; +}; +var buildWordBreakRegex = function(wordBreaks) { + var newlineCharUnion = escapedNewlineChars.join("|"); + var escapedRules = ["$"]; + for (var idx = 0, len = wordBreaks.length; idx < len; idx++) { + var wordBreak = wordBreaks[idx]; + if (isNewlineChar(wordBreak)) { + throw new TypeError("`wordBreak` must not include " + newlineCharUnion); + } + escapedRules.push(wordBreak === "" ? "." : escapeRegExp(wordBreak)); + } + var breakRules = escapedRules.join("|"); + return new RegExp("(" + newlineCharUnion + ")|((.*?)(" + breakRules + "))", "gm"); +}; +var breakTextIntoLines = function(text2, wordBreaks, maxWidth, computeWidthOfText) { + var regex = buildWordBreakRegex(wordBreaks); + var words = cleanText(text2).match(regex); + var currLine = ""; + var currWidth = 0; + var lines = []; + var pushCurrLine = function() { + if (currLine !== "") + lines.push(currLine); + currLine = ""; + currWidth = 0; + }; + for (var idx = 0, len = words.length; idx < len; idx++) { + var word = words[idx]; + if (isNewlineChar(word)) { + pushCurrLine(); + } else { + var width = computeWidthOfText(word); + if (currWidth + width > maxWidth) + pushCurrLine(); + currLine += word; + currWidth += width; + } + } + pushCurrLine(); + return lines; +}; +var dateRegex = /^D:(\d\d\d\d)(\d\d)?(\d\d)?(\d\d)?(\d\d)?(\d\d)?([+\-Z])?(\d\d)?'?(\d\d)?'?$/; +var parseDate = function(dateStr) { + var match = dateStr.match(dateRegex); + if (!match) + return void 0; + var year = match[1], _a = match[2], month = _a === void 0 ? "01" : _a, _b = match[3], day = _b === void 0 ? "01" : _b, _c = match[4], hours = _c === void 0 ? "00" : _c, _d = match[5], mins = _d === void 0 ? "00" : _d, _e = match[6], secs = _e === void 0 ? "00" : _e, _f = match[7], offsetSign = _f === void 0 ? "Z" : _f, _g = match[8], offsetHours = _g === void 0 ? "00" : _g, _h = match[9], offsetMins = _h === void 0 ? "00" : _h; + var tzOffset = offsetSign === "Z" ? "Z" : "" + offsetSign + offsetHours + ":" + offsetMins; + var date = /* @__PURE__ */ new Date(year + "-" + month + "-" + day + "T" + hours + ":" + mins + ":" + secs + tzOffset); + return date; +}; +var findLastMatch = function(value2, regex) { + var _a; + var position = 0; + var lastMatch; + while (position < value2.length) { + var match = value2.substring(position).match(regex); + if (!match) + return { match: lastMatch, pos: position }; + lastMatch = match; + position += ((_a = match.index) !== null && _a !== void 0 ? _a : 0) + match[0].length; + } + return { match: lastMatch, pos: position }; +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/utils/arrays.js +var last = function(array) { + return array[array.length - 1]; +}; +var typedArrayFor = function(value2) { + if (value2 instanceof Uint8Array) + return value2; + var length = value2.length; + var typedArray = new Uint8Array(length); + for (var idx = 0; idx < length; idx++) { + typedArray[idx] = value2.charCodeAt(idx); + } + return typedArray; +}; +var mergeIntoTypedArray = function() { + var arrays = []; + for (var _i = 0; _i < arguments.length; _i++) { + arrays[_i] = arguments[_i]; + } + var arrayCount = arrays.length; + var typedArrays = []; + for (var idx = 0; idx < arrayCount; idx++) { + var element2 = arrays[idx]; + typedArrays[idx] = element2 instanceof Uint8Array ? element2 : typedArrayFor(element2); + } + var totalSize = 0; + for (var idx = 0; idx < arrayCount; idx++) { + totalSize += arrays[idx].length; + } + var merged = new Uint8Array(totalSize); + var offset = 0; + for (var arrIdx = 0; arrIdx < arrayCount; arrIdx++) { + var arr = typedArrays[arrIdx]; + for (var byteIdx = 0, arrLen = arr.length; byteIdx < arrLen; byteIdx++) { + merged[offset++] = arr[byteIdx]; + } + } + return merged; +}; +var mergeUint8Arrays = function(arrays) { + var totalSize = 0; + for (var idx = 0, len = arrays.length; idx < len; idx++) { + totalSize += arrays[idx].length; + } + var mergedBuffer = new Uint8Array(totalSize); + var offset = 0; + for (var idx = 0, len = arrays.length; idx < len; idx++) { + var array = arrays[idx]; + mergedBuffer.set(array, offset); + offset += array.length; + } + return mergedBuffer; +}; +var arrayAsString = function(array) { + var str = ""; + for (var idx = 0, len = array.length; idx < len; idx++) { + str += charFromCode(array[idx]); + } + return str; +}; +var byAscendingId = function(a, b) { + return a.id - b.id; +}; +var sortedUniq = function(array, indexer) { + var uniq = []; + for (var idx = 0, len = array.length; idx < len; idx++) { + var curr = array[idx]; + var prev = array[idx - 1]; + if (idx === 0 || indexer(curr) !== indexer(prev)) { + uniq.push(curr); + } + } + return uniq; +}; +var reverseArray = function(array) { + var arrayLen = array.length; + for (var idx = 0, len = Math.floor(arrayLen / 2); idx < len; idx++) { + var leftIdx = idx; + var rightIdx = arrayLen - idx - 1; + var temp = array[idx]; + array[leftIdx] = array[rightIdx]; + array[rightIdx] = temp; + } + return array; +}; +var sum = function(array) { + var total = 0; + for (var idx = 0, len = array.length; idx < len; idx++) { + total += array[idx]; + } + return total; +}; +var range = function(start, end) { + var arr = new Array(end - start); + for (var idx = 0, len = arr.length; idx < len; idx++) { + arr[idx] = start + idx; + } + return arr; +}; +var pluckIndices = function(arr, indices) { + var plucked = new Array(indices.length); + for (var idx = 0, len = indices.length; idx < len; idx++) { + plucked[idx] = arr[indices[idx]]; + } + return plucked; +}; +var canBeConvertedToUint8Array = function(input) { + return input instanceof Uint8Array || input instanceof ArrayBuffer || typeof input === "string"; +}; +var toUint8Array = function(input) { + if (typeof input === "string") { + return decodeFromBase64DataUri(input); + } else if (input instanceof ArrayBuffer) { + return new Uint8Array(input); + } else if (input instanceof Uint8Array) { + return input; + } else { + throw new TypeError("`input` must be one of `string | ArrayBuffer | Uint8Array`"); + } +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/utils/async.js +var waitForTick = function() { + return new Promise(function(resolve) { + setTimeout(function() { + return resolve(); + }, 0); + }); +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/utils/unicode.js +var utf16Encode = function(input, byteOrderMark) { + if (byteOrderMark === void 0) { + byteOrderMark = true; + } + var encoded = []; + if (byteOrderMark) + encoded.push(65279); + for (var idx = 0, len = input.length; idx < len; ) { + var codePoint = input.codePointAt(idx); + if (codePoint < 65536) { + encoded.push(codePoint); + idx += 1; + } else if (codePoint < 1114112) { + encoded.push(highSurrogate(codePoint), lowSurrogate(codePoint)); + idx += 2; + } else + throw new Error("Invalid code point: 0x" + toHexString(codePoint)); + } + return new Uint16Array(encoded); +}; +var isWithinBMP = function(codePoint) { + return codePoint >= 0 && codePoint <= 65535; +}; +var hasSurrogates = function(codePoint) { + return codePoint >= 65536 && codePoint <= 1114111; +}; +var highSurrogate = function(codePoint) { + return Math.floor((codePoint - 65536) / 1024) + 55296; +}; +var lowSurrogate = function(codePoint) { + return (codePoint - 65536) % 1024 + 56320; +}; +var ByteOrder; +(function(ByteOrder2) { + ByteOrder2["BigEndian"] = "BigEndian"; + ByteOrder2["LittleEndian"] = "LittleEndian"; +})(ByteOrder || (ByteOrder = {})); +var REPLACEMENT = "\uFFFD".codePointAt(0); +var utf16Decode = function(input, byteOrderMark) { + if (byteOrderMark === void 0) { + byteOrderMark = true; + } + if (input.length <= 1) + return String.fromCodePoint(REPLACEMENT); + var byteOrder = byteOrderMark ? readBOM(input) : ByteOrder.BigEndian; + var idx = byteOrderMark ? 2 : 0; + var codePoints = []; + while (input.length - idx >= 2) { + var first = decodeValues(input[idx++], input[idx++], byteOrder); + if (isHighSurrogate(first)) { + if (input.length - idx < 2) { + codePoints.push(REPLACEMENT); + } else { + var second = decodeValues(input[idx++], input[idx++], byteOrder); + if (isLowSurrogate(second)) { + codePoints.push(first, second); + } else { + codePoints.push(REPLACEMENT); + } + } + } else if (isLowSurrogate(first)) { + idx += 2; + codePoints.push(REPLACEMENT); + } else { + codePoints.push(first); + } + } + if (idx < input.length) + codePoints.push(REPLACEMENT); + return String.fromCodePoint.apply(String, codePoints); +}; +var isHighSurrogate = function(codePoint) { + return codePoint >= 55296 && codePoint <= 56319; +}; +var isLowSurrogate = function(codePoint) { + return codePoint >= 56320 && codePoint <= 57343; +}; +var decodeValues = function(first, second, byteOrder) { + if (byteOrder === ByteOrder.LittleEndian) + return second << 8 | first; + if (byteOrder === ByteOrder.BigEndian) + return first << 8 | second; + throw new Error("Invalid byteOrder: " + byteOrder); +}; +var readBOM = function(bytes) { + return hasUtf16BigEndianBOM(bytes) ? ByteOrder.BigEndian : hasUtf16LittleEndianBOM(bytes) ? ByteOrder.LittleEndian : ByteOrder.BigEndian; +}; +var hasUtf16BigEndianBOM = function(bytes) { + return bytes[0] === 254 && bytes[1] === 255; +}; +var hasUtf16LittleEndianBOM = function(bytes) { + return bytes[0] === 255 && bytes[1] === 254; +}; +var hasUtf16BOM = function(bytes) { + return hasUtf16BigEndianBOM(bytes) || hasUtf16LittleEndianBOM(bytes); +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/utils/numbers.js +var numberToString = function(num) { + var numStr = String(num); + if (Math.abs(num) < 1) { + var e = parseInt(num.toString().split("e-")[1]); + if (e) { + var negative = num < 0; + if (negative) + num *= -1; + num *= Math.pow(10, e - 1); + numStr = "0." + new Array(e).join("0") + num.toString().substring(2); + if (negative) + numStr = "-" + numStr; + } + } else { + var e = parseInt(num.toString().split("+")[1]); + if (e > 20) { + e -= 20; + num /= Math.pow(10, e); + numStr = num.toString() + new Array(e + 1).join("0"); + } + } + return numStr; +}; +var sizeInBytes = function(n) { + return Math.ceil(n.toString(2).length / 8); +}; +var bytesFor = function(n) { + var bytes = new Uint8Array(sizeInBytes(n)); + for (var i = 1; i <= bytes.length; i++) { + bytes[i - 1] = n >> (bytes.length - i) * 8; + } + return bytes; +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/utils/errors.js +var error = function(msg) { + throw new Error(msg); +}; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/utils.js +var import_pako = __toESM(require_pako()); +var chars2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +var lookup2 = new Uint8Array(256); +for (i = 0; i < chars2.length; i++) { + lookup2[chars2.charCodeAt(i)] = i; +} +var i; +var decodeFromBase642 = function(base64) { + var bufferLength = base64.length * 0.75; + var len = base64.length; + var i; + var p = 0; + var encoded1; + var encoded2; + var encoded3; + var encoded4; + if (base64[base64.length - 1] === "=") { + bufferLength--; + if (base64[base64.length - 2] === "=") { + bufferLength--; + } + } + var bytes = new Uint8Array(bufferLength); + for (i = 0; i < len; i += 4) { + encoded1 = lookup2[base64.charCodeAt(i)]; + encoded2 = lookup2[base64.charCodeAt(i + 1)]; + encoded3 = lookup2[base64.charCodeAt(i + 2)]; + encoded4 = lookup2[base64.charCodeAt(i + 3)]; + bytes[p++] = encoded1 << 2 | encoded2 >> 4; + bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2; + bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63; + } + return bytes; +}; +var arrayToString = function(array) { + var str = ""; + for (var i = 0; i < array.length; i++) { + str += String.fromCharCode(array[i]); + } + return str; +}; +var decompressJson = function(compressedJson) { + return arrayToString(import_pako.default.inflate(decodeFromBase642(compressedJson))); +}; +var padStart2 = function(value2, length, padChar) { + var padding = ""; + for (var idx = 0, len = length - value2.length; idx < len; idx++) { + padding += padChar; + } + return padding + value2; +}; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/Courier-Bold.compressed.json +var Courier_Bold_compressed_default = "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"; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/Courier-BoldOblique.compressed.json +var Courier_BoldOblique_compressed_default = "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"; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/Courier-Oblique.compressed.json +var Courier_Oblique_compressed_default = "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"; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/Courier.compressed.json +var Courier_compressed_default = "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"; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/Helvetica-Bold.compressed.json +var Helvetica_Bold_compressed_default = "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"; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/Helvetica-BoldOblique.compressed.json +var Helvetica_BoldOblique_compressed_default = "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"; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/Helvetica-Oblique.compressed.json +var Helvetica_Oblique_compressed_default = "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"; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/Helvetica.compressed.json +var Helvetica_compressed_default = "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"; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/Times-Bold.compressed.json +var Times_Bold_compressed_default = "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"; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/Times-BoldItalic.compressed.json +var Times_BoldItalic_compressed_default = "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"; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/Times-Italic.compressed.json +var Times_Italic_compressed_default = "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"; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/Times-Roman.compressed.json +var Times_Roman_compressed_default = "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"; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/Symbol.compressed.json +var Symbol_compressed_default = "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"; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/ZapfDingbats.compressed.json +var ZapfDingbats_compressed_default = "eJxtmNtu20YQhl+F4FULyMGeD7pz3AY1ChtG7NpFA18w1NomIlECSRcxgrx7SVk7+wOdG8H5OJydf2Z2d5gf9cV+t0v9VK/r+6vXsXlOlbHe28paq229qj/t++m62aXZ4J/m8PRb1z9/baZxefK63Z6eXN5dVMvTCh83u277xr/6kLrnl2XNq7TpXnczuZyabdee98/b2VzM/x4/dd/T5qab2pd6PQ2vaVVfvDRD005puE3Lu7eH1HbN9hTjx4/77/X6y5lcnUmjVzHIVVDicVX/1W/SsO36dLMfu6nb9/X6TAoBD+5euvZbn8axXtuZ36dhPJrVQqgPQoh5hev91LWLkIv94W1Ygq9+aX+tZAx2tfz64284/sblN/rqfLP/mqrbt3FKu7G67Nv9cNgPzZQ2H6rz7bb6vLgZq89pTMO/M/xfEqturJpqSM/d7GJIm2oamk3aNcO3av80O5xh3yyKmm1193ZIT02bqovTKjP+MAf++7zsZvZ3276kYyWWXB0z99S18/PbafPHQ71W4fjn/fxnFO+ZvkrT0LVzTr78qB/+nk38bHM9exgP8zr1z9U7jt6840YW5uSJKcZOCaBBnKgm5mU8MVNYyMwWFvO7Ukagkmgg6sDWQ5yFFqjzUrLEaQ3BEmiwNsMSaZS0vgWfOkPHWQowNeTUc0kumnxZvsgPxlGai6VTGUqAVCTQ6QkWnc77DKEiLktSUBJKqHIQZ86d8gCpHYoiEzMsb1ubYy8vW50DChB5ZhGqrijD0EqUIeiaEHIfCg5Kpuu0ApiToaGPSY0uaQsyr65L2oKi1yFt1PLaQ3lzfXTgXodGoJYzglndSLDMPg1sTPJpQJHJigw0QrGERqD9YhyTOgONQDUyuF1zaxuokc/BW2ztXCMrGZ9WMW1oQZHIXWNBkSCfRZEL5BMUiZw6CzVSFCfUSGZFNjIldoKDkonTKQiJIGzWmFd3BizJJ9SINoLDriOfUCOZS+zg+KGD1qGiLNMLxtJD1/ns00ON6EzyUCM6vbxhoBKaqbG3DFQCNiL1iHccBPV0DHhQH/JW8EW90dkyFKGywCJU0WkVSvSGeiSUODWFFD0HYdPQVoiRgfPMA+/nnRgiAyNYSjpWNQcNSMrtFCUH4ZIRpSCWocFCSuhCEY6hoUClc0WC52BJlCYYLQdhN+hygRRRlo5BKRRLS6oihSqh+ZzzRGG1Mo4Iz1LoP0qsxDGFzk0JE42ji0jCPejomJKCuwil4m5CiRMEUMVSzVLDUstSx1Juc0oVWMpqY295qVltmtWmWW2a1aZZbZrVplltmtWmWW2G1WZYbYbVZlhthtVmWG2G1WZYbYbVZlhtltVmWW2W1WZZbZbVZlltltVmWW2W1QYjQCh7E2aAQHeGhCFgPoNoy8KNb2wxBhmGKBxoUZXlLGsLI6AsftEDHV0wIURVbANLcTKlGGBIKPOAxCmhePCKUwFzAmpDFRQvjA9R06Hq8TONvshgKDCuRAZTXigUxjxNFfKRo3CLhnIJBMFRvMZpqpNBMlQJzGT5WFQMVQI/AikPMIhEU1aDjqJvQwmjSHB05cC9jbYwc5UtAHNLhDw41ha+lEqF4JaH3gmB61SYcqInxTDmQK8v08vjqv4zDf1N0w3Lf4A8/vwPpfK11w=="; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/Font.js +var compressedJsonForFontName = { + "Courier": Courier_compressed_default, + "Courier-Bold": Courier_Bold_compressed_default, + "Courier-Oblique": Courier_Oblique_compressed_default, + "Courier-BoldOblique": Courier_BoldOblique_compressed_default, + "Helvetica": Helvetica_compressed_default, + "Helvetica-Bold": Helvetica_Bold_compressed_default, + "Helvetica-Oblique": Helvetica_Oblique_compressed_default, + "Helvetica-BoldOblique": Helvetica_BoldOblique_compressed_default, + "Times-Roman": Times_Roman_compressed_default, + "Times-Bold": Times_Bold_compressed_default, + "Times-Italic": Times_Italic_compressed_default, + "Times-BoldItalic": Times_BoldItalic_compressed_default, + "Symbol": Symbol_compressed_default, + "ZapfDingbats": ZapfDingbats_compressed_default +}; +var FontNames; +(function(FontNames2) { + FontNames2["Courier"] = "Courier"; + FontNames2["CourierBold"] = "Courier-Bold"; + FontNames2["CourierOblique"] = "Courier-Oblique"; + FontNames2["CourierBoldOblique"] = "Courier-BoldOblique"; + FontNames2["Helvetica"] = "Helvetica"; + FontNames2["HelveticaBold"] = "Helvetica-Bold"; + FontNames2["HelveticaOblique"] = "Helvetica-Oblique"; + FontNames2["HelveticaBoldOblique"] = "Helvetica-BoldOblique"; + FontNames2["TimesRoman"] = "Times-Roman"; + FontNames2["TimesRomanBold"] = "Times-Bold"; + FontNames2["TimesRomanItalic"] = "Times-Italic"; + FontNames2["TimesRomanBoldItalic"] = "Times-BoldItalic"; + FontNames2["Symbol"] = "Symbol"; + FontNames2["ZapfDingbats"] = "ZapfDingbats"; +})(FontNames || (FontNames = {})); +var fontCache = {}; +var Font = ( + /** @class */ + (function() { + function Font2() { + var _this = this; + this.getWidthOfGlyph = function(glyphName) { + return _this.CharWidths[glyphName]; + }; + this.getXAxisKerningForPair = function(leftGlyphName, rightGlyphName) { + return (_this.KernPairXAmounts[leftGlyphName] || {})[rightGlyphName]; + }; + } + Font2.load = function(fontName) { + var cachedFont = fontCache[fontName]; + if (cachedFont) + return cachedFont; + var json = decompressJson(compressedJsonForFontName[fontName]); + var font = Object.assign(new Font2(), JSON.parse(json)); + font.CharWidths = font.CharMetrics.reduce(function(acc, metric) { + acc[metric.N] = metric.WX; + return acc; + }, {}); + font.KernPairXAmounts = font.KernPairs.reduce(function(acc, _a) { + var name1 = _a[0], name2 = _a[1], width = _a[2]; + if (!acc[name1]) + acc[name1] = {}; + acc[name1][name2] = width; + return acc; + }, {}); + fontCache[fontName] = font; + return font; + }; + return Font2; + })() +); + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/all-encodings.compressed.json +var all_encodings_compressed_default = "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"; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/standard-fonts/es/Encoding.js +var decompressedEncodings = decompressJson(all_encodings_compressed_default); +var allUnicodeMappings = JSON.parse(decompressedEncodings); +var Encoding = ( + /** @class */ + /* @__PURE__ */ (function() { + function Encoding2(name, unicodeMappings) { + var _this = this; + this.canEncodeUnicodeCodePoint = function(codePoint) { + return codePoint in _this.unicodeMappings; + }; + this.encodeUnicodeCodePoint = function(codePoint) { + var mapped = _this.unicodeMappings[codePoint]; + if (!mapped) { + var str = String.fromCharCode(codePoint); + var hexCode = "0x" + padStart2(codePoint.toString(16), 4, "0"); + var msg = _this.name + ' cannot encode "' + str + '" (' + hexCode + ")"; + throw new Error(msg); + } + return { code: mapped[0], name: mapped[1] }; + }; + this.name = name; + this.supportedCodePoints = Object.keys(unicodeMappings).map(Number).sort(function(a, b) { + return a - b; + }); + this.unicodeMappings = unicodeMappings; + } + return Encoding2; + })() +); +var Encodings = { + Symbol: new Encoding("Symbol", allUnicodeMappings.symbol), + ZapfDingbats: new Encoding("ZapfDingbats", allUnicodeMappings.zapfdingbats), + WinAnsi: new Encoding("WinAnsi", allUnicodeMappings.win1252) +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/utils/objects.js +var values = function(obj) { + return Object.keys(obj).map(function(k) { + return obj[k]; + }); +}; +var StandardFontValues = values(FontNames); +var isStandardFont = function(input) { + return StandardFontValues.includes(input); +}; +var rectanglesAreEqual = function(a, b) { + return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height; +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/utils/validators.js +var backtick = function(val2) { + return "`" + val2 + "`"; +}; +var singleQuote = function(val2) { + return "'" + val2 + "'"; +}; +var formatValue = function(value2) { + var type = typeof value2; + if (type === "string") + return singleQuote(value2); + else if (type === "undefined") + return backtick(value2); + else + return value2; +}; +var createValueErrorMsg = function(value2, valueName, values2) { + var allowedValues = new Array(values2.length); + for (var idx = 0, len = values2.length; idx < len; idx++) { + var v = values2[idx]; + allowedValues[idx] = formatValue(v); + } + var joinedValues = allowedValues.join(" or "); + return backtick(valueName) + " must be one of " + joinedValues + ", but was actually " + formatValue(value2); +}; +var assertIsOneOf = function(value2, valueName, allowedValues) { + if (!Array.isArray(allowedValues)) { + allowedValues = values(allowedValues); + } + for (var idx = 0, len = allowedValues.length; idx < len; idx++) { + if (value2 === allowedValues[idx]) + return; + } + throw new TypeError(createValueErrorMsg(value2, valueName, allowedValues)); +}; +var assertIsOneOfOrUndefined = function(value2, valueName, allowedValues) { + if (!Array.isArray(allowedValues)) { + allowedValues = values(allowedValues); + } + assertIsOneOf(value2, valueName, allowedValues.concat(void 0)); +}; +var assertIsSubset = function(values2, valueName, allowedValues) { + if (!Array.isArray(allowedValues)) { + allowedValues = values(allowedValues); + } + for (var idx = 0, len = values2.length; idx < len; idx++) { + assertIsOneOf(values2[idx], valueName, allowedValues); + } +}; +var getType = function(val2) { + if (val2 === null) + return "null"; + if (val2 === void 0) + return "undefined"; + if (typeof val2 === "string") + return "string"; + if (isNaN(val2)) + return "NaN"; + if (typeof val2 === "number") + return "number"; + if (typeof val2 === "boolean") + return "boolean"; + if (typeof val2 === "symbol") + return "symbol"; + if (typeof val2 === "bigint") + return "bigint"; + if (val2.constructor && val2.constructor.name) + return val2.constructor.name; + if (val2.name) + return val2.name; + if (val2.constructor) + return String(val2.constructor); + return String(val2); +}; +var isType = function(value2, type) { + if (type === "null") + return value2 === null; + if (type === "undefined") + return value2 === void 0; + if (type === "string") + return typeof value2 === "string"; + if (type === "number") + return typeof value2 === "number" && !isNaN(value2); + if (type === "boolean") + return typeof value2 === "boolean"; + if (type === "symbol") + return typeof value2 === "symbol"; + if (type === "bigint") + return typeof value2 === "bigint"; + if (type === Date) + return value2 instanceof Date; + if (type === Array) + return value2 instanceof Array; + if (type === Uint8Array) + return value2 instanceof Uint8Array; + if (type === ArrayBuffer) + return value2 instanceof ArrayBuffer; + if (type === Function) + return value2 instanceof Function; + return value2 instanceof type[0]; +}; +var createTypeErrorMsg = function(value2, valueName, types) { + var allowedTypes = new Array(types.length); + for (var idx = 0, len = types.length; idx < len; idx++) { + var type = types[idx]; + if (type === "null") + allowedTypes[idx] = backtick("null"); + if (type === "undefined") + allowedTypes[idx] = backtick("undefined"); + if (type === "string") + allowedTypes[idx] = backtick("string"); + else if (type === "number") + allowedTypes[idx] = backtick("number"); + else if (type === "boolean") + allowedTypes[idx] = backtick("boolean"); + else if (type === "symbol") + allowedTypes[idx] = backtick("symbol"); + else if (type === "bigint") + allowedTypes[idx] = backtick("bigint"); + else if (type === Array) + allowedTypes[idx] = backtick("Array"); + else if (type === Uint8Array) + allowedTypes[idx] = backtick("Uint8Array"); + else if (type === ArrayBuffer) + allowedTypes[idx] = backtick("ArrayBuffer"); + else + allowedTypes[idx] = backtick(type[1]); + } + var joinedTypes = allowedTypes.join(" or "); + return backtick(valueName) + " must be of type " + joinedTypes + ", but was actually of type " + backtick(getType(value2)); +}; +var assertIs = function(value2, valueName, types) { + for (var idx = 0, len = types.length; idx < len; idx++) { + if (isType(value2, types[idx])) + return; + } + throw new TypeError(createTypeErrorMsg(value2, valueName, types)); +}; +var assertOrUndefined = function(value2, valueName, types) { + assertIs(value2, valueName, types.concat("undefined")); +}; +var assertEachIs = function(values2, valueName, types) { + for (var idx = 0, len = values2.length; idx < len; idx++) { + assertIs(values2[idx], valueName, types); + } +}; +var assertRange = function(value2, valueName, min, max) { + assertIs(value2, valueName, ["number"]); + assertIs(min, "min", ["number"]); + assertIs(max, "max", ["number"]); + max = Math.max(min, max); + if (value2 < min || value2 > max) { + throw new Error(backtick(valueName) + " must be at least " + min + " and at most " + max + ", but was actually " + value2); + } +}; +var assertRangeOrUndefined = function(value2, valueName, min, max) { + assertIs(value2, valueName, ["number", "undefined"]); + if (typeof value2 === "number") + assertRange(value2, valueName, min, max); +}; +var assertMultiple = function(value2, valueName, multiplier) { + assertIs(value2, valueName, ["number"]); + if (value2 % multiplier !== 0) { + throw new Error(backtick(valueName) + " must be a multiple of " + multiplier + ", but was actually " + value2); + } +}; +var assertInteger = function(value2, valueName) { + if (!Number.isInteger(value2)) { + throw new Error(backtick(valueName) + " must be an integer, but was actually " + value2); + } +}; +var assertPositive = function(value2, valueName) { + if (![1, 0].includes(Math.sign(value2))) { + throw new Error(backtick(valueName) + " must be a positive number or 0, but was actually " + value2); + } +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/utils/pdfDocEncoding.js +var pdfDocEncodingToUnicode = new Uint16Array(256); +for (idx = 0; idx < 256; idx++) { + pdfDocEncodingToUnicode[idx] = idx; +} +var idx; +pdfDocEncodingToUnicode[22] = toCharCode(""); +pdfDocEncodingToUnicode[24] = toCharCode("\u02D8"); +pdfDocEncodingToUnicode[25] = toCharCode("\u02C7"); +pdfDocEncodingToUnicode[26] = toCharCode("\u02C6"); +pdfDocEncodingToUnicode[27] = toCharCode("\u02D9"); +pdfDocEncodingToUnicode[28] = toCharCode("\u02DD"); +pdfDocEncodingToUnicode[29] = toCharCode("\u02DB"); +pdfDocEncodingToUnicode[30] = toCharCode("\u02DA"); +pdfDocEncodingToUnicode[31] = toCharCode("\u02DC"); +pdfDocEncodingToUnicode[127] = toCharCode("\uFFFD"); +pdfDocEncodingToUnicode[128] = toCharCode("\u2022"); +pdfDocEncodingToUnicode[129] = toCharCode("\u2020"); +pdfDocEncodingToUnicode[130] = toCharCode("\u2021"); +pdfDocEncodingToUnicode[131] = toCharCode("\u2026"); +pdfDocEncodingToUnicode[132] = toCharCode("\u2014"); +pdfDocEncodingToUnicode[133] = toCharCode("\u2013"); +pdfDocEncodingToUnicode[134] = toCharCode("\u0192"); +pdfDocEncodingToUnicode[135] = toCharCode("\u2044"); +pdfDocEncodingToUnicode[136] = toCharCode("\u2039"); +pdfDocEncodingToUnicode[137] = toCharCode("\u203A"); +pdfDocEncodingToUnicode[138] = toCharCode("\u2212"); +pdfDocEncodingToUnicode[139] = toCharCode("\u2030"); +pdfDocEncodingToUnicode[140] = toCharCode("\u201E"); +pdfDocEncodingToUnicode[141] = toCharCode("\u201C"); +pdfDocEncodingToUnicode[142] = toCharCode("\u201D"); +pdfDocEncodingToUnicode[143] = toCharCode("\u2018"); +pdfDocEncodingToUnicode[144] = toCharCode("\u2019"); +pdfDocEncodingToUnicode[145] = toCharCode("\u201A"); +pdfDocEncodingToUnicode[146] = toCharCode("\u2122"); +pdfDocEncodingToUnicode[147] = toCharCode("\uFB01"); +pdfDocEncodingToUnicode[148] = toCharCode("\uFB02"); +pdfDocEncodingToUnicode[149] = toCharCode("\u0141"); +pdfDocEncodingToUnicode[150] = toCharCode("\u0152"); +pdfDocEncodingToUnicode[151] = toCharCode("\u0160"); +pdfDocEncodingToUnicode[152] = toCharCode("\u0178"); +pdfDocEncodingToUnicode[153] = toCharCode("\u017D"); +pdfDocEncodingToUnicode[154] = toCharCode("\u0131"); +pdfDocEncodingToUnicode[155] = toCharCode("\u0142"); +pdfDocEncodingToUnicode[156] = toCharCode("\u0153"); +pdfDocEncodingToUnicode[157] = toCharCode("\u0161"); +pdfDocEncodingToUnicode[158] = toCharCode("\u017E"); +pdfDocEncodingToUnicode[159] = toCharCode("\uFFFD"); +pdfDocEncodingToUnicode[160] = toCharCode("\u20AC"); +pdfDocEncodingToUnicode[173] = toCharCode("\uFFFD"); +var pdfDocEncodingDecode = function(bytes) { + var codePoints = new Array(bytes.length); + for (var idx = 0, len = bytes.length; idx < len; idx++) { + codePoints[idx] = pdfDocEncodingToUnicode[bytes[idx]]; + } + return String.fromCodePoint.apply(String, codePoints); +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/utils/Cache.js +var Cache = ( + /** @class */ + (function() { + function Cache2(populate) { + this.populate = populate; + this.value = void 0; + } + Cache2.prototype.getValue = function() { + return this.value; + }; + Cache2.prototype.access = function() { + if (!this.value) + this.value = this.populate(); + return this.value; + }; + Cache2.prototype.invalidate = function() { + this.value = void 0; + }; + Cache2.populatedBy = function(populate) { + return new Cache2(populate); + }; + return Cache2; + })() +); +var Cache_default = Cache; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/errors.js +var MethodNotImplementedError = ( + /** @class */ + (function(_super) { + __extends(MethodNotImplementedError2, _super); + function MethodNotImplementedError2(className, methodName) { + var _this = this; + var msg = "Method " + className + "." + methodName + "() not implemented"; + _this = _super.call(this, msg) || this; + return _this; + } + return MethodNotImplementedError2; + })(Error) +); +var PrivateConstructorError = ( + /** @class */ + (function(_super) { + __extends(PrivateConstructorError2, _super); + function PrivateConstructorError2(className) { + var _this = this; + var msg = "Cannot construct " + className + " - it has a private constructor"; + _this = _super.call(this, msg) || this; + return _this; + } + return PrivateConstructorError2; + })(Error) +); +var UnexpectedObjectTypeError = ( + /** @class */ + (function(_super) { + __extends(UnexpectedObjectTypeError2, _super); + function UnexpectedObjectTypeError2(expected, actual) { + var _this = this; + var name = function(t) { + var _a, _b; + return (_a = t === null || t === void 0 ? void 0 : t.name) !== null && _a !== void 0 ? _a : (_b = t === null || t === void 0 ? void 0 : t.constructor) === null || _b === void 0 ? void 0 : _b.name; + }; + var expectedTypes = Array.isArray(expected) ? expected.map(name) : [name(expected)]; + var msg = "Expected instance of " + expectedTypes.join(" or ") + ", " + ("but got instance of " + (actual ? name(actual) : actual)); + _this = _super.call(this, msg) || this; + return _this; + } + return UnexpectedObjectTypeError2; + })(Error) +); +var UnsupportedEncodingError = ( + /** @class */ + (function(_super) { + __extends(UnsupportedEncodingError2, _super); + function UnsupportedEncodingError2(encoding) { + var _this = this; + var msg = encoding + " stream encoding not supported"; + _this = _super.call(this, msg) || this; + return _this; + } + return UnsupportedEncodingError2; + })(Error) +); +var ReparseError = ( + /** @class */ + (function(_super) { + __extends(ReparseError2, _super); + function ReparseError2(className, methodName) { + var _this = this; + var msg = "Cannot call " + className + "." + methodName + "() more than once"; + _this = _super.call(this, msg) || this; + return _this; + } + return ReparseError2; + })(Error) +); +var MissingCatalogError = ( + /** @class */ + (function(_super) { + __extends(MissingCatalogError2, _super); + function MissingCatalogError2(ref) { + var _this = this; + var msg = "Missing catalog (ref=" + ref + ")"; + _this = _super.call(this, msg) || this; + return _this; + } + return MissingCatalogError2; + })(Error) +); +var MissingPageContentsEmbeddingError = ( + /** @class */ + (function(_super) { + __extends(MissingPageContentsEmbeddingError2, _super); + function MissingPageContentsEmbeddingError2() { + var _this = this; + var msg = "Can't embed page with missing Contents"; + _this = _super.call(this, msg) || this; + return _this; + } + return MissingPageContentsEmbeddingError2; + })(Error) +); +var UnrecognizedStreamTypeError = ( + /** @class */ + (function(_super) { + __extends(UnrecognizedStreamTypeError2, _super); + function UnrecognizedStreamTypeError2(stream2) { + var _a, _b, _c; + var _this = this; + var streamType = (_c = (_b = (_a = stream2 === null || stream2 === void 0 ? void 0 : stream2.contructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : stream2 === null || stream2 === void 0 ? void 0 : stream2.name) !== null && _c !== void 0 ? _c : stream2; + var msg = "Unrecognized stream type: " + streamType; + _this = _super.call(this, msg) || this; + return _this; + } + return UnrecognizedStreamTypeError2; + })(Error) +); +var PageEmbeddingMismatchedContextError = ( + /** @class */ + (function(_super) { + __extends(PageEmbeddingMismatchedContextError2, _super); + function PageEmbeddingMismatchedContextError2() { + var _this = this; + var msg = "Found mismatched contexts while embedding pages. All pages in the array passed to `PDFDocument.embedPages()` must be from the same document."; + _this = _super.call(this, msg) || this; + return _this; + } + return PageEmbeddingMismatchedContextError2; + })(Error) +); +var PDFArrayIsNotRectangleError = ( + /** @class */ + (function(_super) { + __extends(PDFArrayIsNotRectangleError2, _super); + function PDFArrayIsNotRectangleError2(size) { + var _this = this; + var msg = "Attempted to convert PDFArray with " + size + " elements to rectangle, but must have exactly 4 elements."; + _this = _super.call(this, msg) || this; + return _this; + } + return PDFArrayIsNotRectangleError2; + })(Error) +); +var InvalidPDFDateStringError = ( + /** @class */ + (function(_super) { + __extends(InvalidPDFDateStringError2, _super); + function InvalidPDFDateStringError2(value2) { + var _this = this; + var msg = 'Attempted to convert "' + value2 + '" to a date, but it does not match the PDF date string format.'; + _this = _super.call(this, msg) || this; + return _this; + } + return InvalidPDFDateStringError2; + })(Error) +); +var InvalidTargetIndexError = ( + /** @class */ + (function(_super) { + __extends(InvalidTargetIndexError2, _super); + function InvalidTargetIndexError2(targetIndex, Count) { + var _this = this; + var msg = "Invalid targetIndex specified: targetIndex=" + targetIndex + " must be less than Count=" + Count; + _this = _super.call(this, msg) || this; + return _this; + } + return InvalidTargetIndexError2; + })(Error) +); +var CorruptPageTreeError = ( + /** @class */ + (function(_super) { + __extends(CorruptPageTreeError2, _super); + function CorruptPageTreeError2(targetIndex, operation) { + var _this = this; + var msg = "Failed to " + operation + " at targetIndex=" + targetIndex + " due to corrupt page tree: It is likely that one or more 'Count' entries are invalid"; + _this = _super.call(this, msg) || this; + return _this; + } + return CorruptPageTreeError2; + })(Error) +); +var IndexOutOfBoundsError = ( + /** @class */ + (function(_super) { + __extends(IndexOutOfBoundsError2, _super); + function IndexOutOfBoundsError2(index, min, max) { + var _this = this; + var msg = "index should be at least " + min + " and at most " + max + ", but was actually " + index; + _this = _super.call(this, msg) || this; + return _this; + } + return IndexOutOfBoundsError2; + })(Error) +); +var InvalidAcroFieldValueError = ( + /** @class */ + (function(_super) { + __extends(InvalidAcroFieldValueError2, _super); + function InvalidAcroFieldValueError2() { + var _this = this; + var msg = "Attempted to set invalid field value"; + _this = _super.call(this, msg) || this; + return _this; + } + return InvalidAcroFieldValueError2; + })(Error) +); +var MultiSelectValueError = ( + /** @class */ + (function(_super) { + __extends(MultiSelectValueError2, _super); + function MultiSelectValueError2() { + var _this = this; + var msg = "Attempted to select multiple values for single-select field"; + _this = _super.call(this, msg) || this; + return _this; + } + return MultiSelectValueError2; + })(Error) +); +var MissingDAEntryError = ( + /** @class */ + (function(_super) { + __extends(MissingDAEntryError2, _super); + function MissingDAEntryError2(fieldName) { + var _this = this; + var msg = "No /DA (default appearance) entry found for field: " + fieldName; + _this = _super.call(this, msg) || this; + return _this; + } + return MissingDAEntryError2; + })(Error) +); +var MissingTfOperatorError = ( + /** @class */ + (function(_super) { + __extends(MissingTfOperatorError2, _super); + function MissingTfOperatorError2(fieldName) { + var _this = this; + var msg = "No Tf operator found for DA of field: " + fieldName; + _this = _super.call(this, msg) || this; + return _this; + } + return MissingTfOperatorError2; + })(Error) +); +var NumberParsingError = ( + /** @class */ + (function(_super) { + __extends(NumberParsingError2, _super); + function NumberParsingError2(pos, value2) { + var _this = this; + var msg = "Failed to parse number " + ("(line:" + pos.line + " col:" + pos.column + " offset=" + pos.offset + '): "' + value2 + '"'); + _this = _super.call(this, msg) || this; + return _this; + } + return NumberParsingError2; + })(Error) +); +var PDFParsingError = ( + /** @class */ + (function(_super) { + __extends(PDFParsingError2, _super); + function PDFParsingError2(pos, details) { + var _this = this; + var msg = "Failed to parse PDF document " + ("(line:" + pos.line + " col:" + pos.column + " offset=" + pos.offset + "): " + details); + _this = _super.call(this, msg) || this; + return _this; + } + return PDFParsingError2; + })(Error) +); +var NextByteAssertionError = ( + /** @class */ + (function(_super) { + __extends(NextByteAssertionError2, _super); + function NextByteAssertionError2(pos, expectedByte, actualByte) { + var _this = this; + var msg = "Expected next byte to be " + expectedByte + " but it was actually " + actualByte; + _this = _super.call(this, pos, msg) || this; + return _this; + } + return NextByteAssertionError2; + })(PDFParsingError) +); +var PDFObjectParsingError = ( + /** @class */ + (function(_super) { + __extends(PDFObjectParsingError2, _super); + function PDFObjectParsingError2(pos, byte) { + var _this = this; + var msg = "Failed to parse PDF object starting with the following byte: " + byte; + _this = _super.call(this, pos, msg) || this; + return _this; + } + return PDFObjectParsingError2; + })(PDFParsingError) +); +var PDFInvalidObjectParsingError = ( + /** @class */ + (function(_super) { + __extends(PDFInvalidObjectParsingError2, _super); + function PDFInvalidObjectParsingError2(pos) { + var _this = this; + var msg = "Failed to parse invalid PDF object"; + _this = _super.call(this, pos, msg) || this; + return _this; + } + return PDFInvalidObjectParsingError2; + })(PDFParsingError) +); +var PDFStreamParsingError = ( + /** @class */ + (function(_super) { + __extends(PDFStreamParsingError2, _super); + function PDFStreamParsingError2(pos) { + var _this = this; + var msg = "Failed to parse PDF stream"; + _this = _super.call(this, pos, msg) || this; + return _this; + } + return PDFStreamParsingError2; + })(PDFParsingError) +); +var UnbalancedParenthesisError = ( + /** @class */ + (function(_super) { + __extends(UnbalancedParenthesisError2, _super); + function UnbalancedParenthesisError2(pos) { + var _this = this; + var msg = "Failed to parse PDF literal string due to unbalanced parenthesis"; + _this = _super.call(this, pos, msg) || this; + return _this; + } + return UnbalancedParenthesisError2; + })(PDFParsingError) +); +var StalledParserError = ( + /** @class */ + (function(_super) { + __extends(StalledParserError2, _super); + function StalledParserError2(pos) { + var _this = this; + var msg = "Parser stalled"; + _this = _super.call(this, pos, msg) || this; + return _this; + } + return StalledParserError2; + })(PDFParsingError) +); +var MissingPDFHeaderError = ( + /** @class */ + (function(_super) { + __extends(MissingPDFHeaderError2, _super); + function MissingPDFHeaderError2(pos) { + var _this = this; + var msg = "No PDF header found"; + _this = _super.call(this, pos, msg) || this; + return _this; + } + return MissingPDFHeaderError2; + })(PDFParsingError) +); +var MissingKeywordError = ( + /** @class */ + (function(_super) { + __extends(MissingKeywordError2, _super); + function MissingKeywordError2(pos, keyword) { + var _this = this; + var msg = "Did not find expected keyword '" + arrayAsString(keyword) + "'"; + _this = _super.call(this, pos, msg) || this; + return _this; + } + return MissingKeywordError2; + })(PDFParsingError) +); + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/syntax/CharCodes.js +var CharCodes; +(function(CharCodes2) { + CharCodes2[CharCodes2["Null"] = 0] = "Null"; + CharCodes2[CharCodes2["Backspace"] = 8] = "Backspace"; + CharCodes2[CharCodes2["Tab"] = 9] = "Tab"; + CharCodes2[CharCodes2["Newline"] = 10] = "Newline"; + CharCodes2[CharCodes2["FormFeed"] = 12] = "FormFeed"; + CharCodes2[CharCodes2["CarriageReturn"] = 13] = "CarriageReturn"; + CharCodes2[CharCodes2["Space"] = 32] = "Space"; + CharCodes2[CharCodes2["ExclamationPoint"] = 33] = "ExclamationPoint"; + CharCodes2[CharCodes2["Hash"] = 35] = "Hash"; + CharCodes2[CharCodes2["Percent"] = 37] = "Percent"; + CharCodes2[CharCodes2["LeftParen"] = 40] = "LeftParen"; + CharCodes2[CharCodes2["RightParen"] = 41] = "RightParen"; + CharCodes2[CharCodes2["Plus"] = 43] = "Plus"; + CharCodes2[CharCodes2["Minus"] = 45] = "Minus"; + CharCodes2[CharCodes2["Dash"] = 45] = "Dash"; + CharCodes2[CharCodes2["Period"] = 46] = "Period"; + CharCodes2[CharCodes2["ForwardSlash"] = 47] = "ForwardSlash"; + CharCodes2[CharCodes2["Zero"] = 48] = "Zero"; + CharCodes2[CharCodes2["One"] = 49] = "One"; + CharCodes2[CharCodes2["Two"] = 50] = "Two"; + CharCodes2[CharCodes2["Three"] = 51] = "Three"; + CharCodes2[CharCodes2["Four"] = 52] = "Four"; + CharCodes2[CharCodes2["Five"] = 53] = "Five"; + CharCodes2[CharCodes2["Six"] = 54] = "Six"; + CharCodes2[CharCodes2["Seven"] = 55] = "Seven"; + CharCodes2[CharCodes2["Eight"] = 56] = "Eight"; + CharCodes2[CharCodes2["Nine"] = 57] = "Nine"; + CharCodes2[CharCodes2["LessThan"] = 60] = "LessThan"; + CharCodes2[CharCodes2["GreaterThan"] = 62] = "GreaterThan"; + CharCodes2[CharCodes2["A"] = 65] = "A"; + CharCodes2[CharCodes2["D"] = 68] = "D"; + CharCodes2[CharCodes2["E"] = 69] = "E"; + CharCodes2[CharCodes2["F"] = 70] = "F"; + CharCodes2[CharCodes2["O"] = 79] = "O"; + CharCodes2[CharCodes2["P"] = 80] = "P"; + CharCodes2[CharCodes2["R"] = 82] = "R"; + CharCodes2[CharCodes2["LeftSquareBracket"] = 91] = "LeftSquareBracket"; + CharCodes2[CharCodes2["BackSlash"] = 92] = "BackSlash"; + CharCodes2[CharCodes2["RightSquareBracket"] = 93] = "RightSquareBracket"; + CharCodes2[CharCodes2["a"] = 97] = "a"; + CharCodes2[CharCodes2["b"] = 98] = "b"; + CharCodes2[CharCodes2["d"] = 100] = "d"; + CharCodes2[CharCodes2["e"] = 101] = "e"; + CharCodes2[CharCodes2["f"] = 102] = "f"; + CharCodes2[CharCodes2["i"] = 105] = "i"; + CharCodes2[CharCodes2["j"] = 106] = "j"; + CharCodes2[CharCodes2["l"] = 108] = "l"; + CharCodes2[CharCodes2["m"] = 109] = "m"; + CharCodes2[CharCodes2["n"] = 110] = "n"; + CharCodes2[CharCodes2["o"] = 111] = "o"; + CharCodes2[CharCodes2["r"] = 114] = "r"; + CharCodes2[CharCodes2["s"] = 115] = "s"; + CharCodes2[CharCodes2["t"] = 116] = "t"; + CharCodes2[CharCodes2["u"] = 117] = "u"; + CharCodes2[CharCodes2["x"] = 120] = "x"; + CharCodes2[CharCodes2["LeftCurly"] = 123] = "LeftCurly"; + CharCodes2[CharCodes2["RightCurly"] = 125] = "RightCurly"; + CharCodes2[CharCodes2["Tilde"] = 126] = "Tilde"; +})(CharCodes || (CharCodes = {})); +var CharCodes_default = CharCodes; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/PDFContext.js +var import_pako3 = __toESM(require_pako()); + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/document/PDFHeader.js +var PDFHeader = ( + /** @class */ + (function() { + function PDFHeader2(major, minor) { + this.major = String(major); + this.minor = String(minor); + } + PDFHeader2.prototype.toString = function() { + var bc = charFromCode(129); + return "%PDF-" + this.major + "." + this.minor + "\n%" + bc + bc + bc + bc; + }; + PDFHeader2.prototype.sizeInBytes = function() { + return 12 + this.major.length + this.minor.length; + }; + PDFHeader2.prototype.copyBytesInto = function(buffer, offset) { + var initialOffset = offset; + buffer[offset++] = CharCodes_default.Percent; + buffer[offset++] = CharCodes_default.P; + buffer[offset++] = CharCodes_default.D; + buffer[offset++] = CharCodes_default.F; + buffer[offset++] = CharCodes_default.Dash; + offset += copyStringIntoBuffer(this.major, buffer, offset); + buffer[offset++] = CharCodes_default.Period; + offset += copyStringIntoBuffer(this.minor, buffer, offset); + buffer[offset++] = CharCodes_default.Newline; + buffer[offset++] = CharCodes_default.Percent; + buffer[offset++] = 129; + buffer[offset++] = 129; + buffer[offset++] = 129; + buffer[offset++] = 129; + return offset - initialOffset; + }; + PDFHeader2.forVersion = function(major, minor) { + return new PDFHeader2(major, minor); + }; + return PDFHeader2; + })() +); +var PDFHeader_default = PDFHeader; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/objects/PDFObject.js +var PDFObject = ( + /** @class */ + (function() { + function PDFObject2() { + } + PDFObject2.prototype.clone = function(_context) { + throw new MethodNotImplementedError(this.constructor.name, "clone"); + }; + PDFObject2.prototype.toString = function() { + throw new MethodNotImplementedError(this.constructor.name, "toString"); + }; + PDFObject2.prototype.sizeInBytes = function() { + throw new MethodNotImplementedError(this.constructor.name, "sizeInBytes"); + }; + PDFObject2.prototype.copyBytesInto = function(_buffer, _offset) { + throw new MethodNotImplementedError(this.constructor.name, "copyBytesInto"); + }; + return PDFObject2; + })() +); +var PDFObject_default = PDFObject; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/objects/PDFNumber.js +var PDFNumber = ( + /** @class */ + (function(_super) { + __extends(PDFNumber2, _super); + function PDFNumber2(value2) { + var _this = _super.call(this) || this; + _this.numberValue = value2; + _this.stringValue = numberToString(value2); + return _this; + } + PDFNumber2.prototype.asNumber = function() { + return this.numberValue; + }; + PDFNumber2.prototype.value = function() { + return this.numberValue; + }; + PDFNumber2.prototype.clone = function() { + return PDFNumber2.of(this.numberValue); + }; + PDFNumber2.prototype.toString = function() { + return this.stringValue; + }; + PDFNumber2.prototype.sizeInBytes = function() { + return this.stringValue.length; + }; + PDFNumber2.prototype.copyBytesInto = function(buffer, offset) { + offset += copyStringIntoBuffer(this.stringValue, buffer, offset); + return this.stringValue.length; + }; + PDFNumber2.of = function(value2) { + return new PDFNumber2(value2); + }; + return PDFNumber2; + })(PDFObject_default) +); +var PDFNumber_default = PDFNumber; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/objects/PDFArray.js +var PDFArray = ( + /** @class */ + (function(_super) { + __extends(PDFArray2, _super); + function PDFArray2(context) { + var _this = _super.call(this) || this; + _this.array = []; + _this.context = context; + return _this; + } + PDFArray2.prototype.size = function() { + return this.array.length; + }; + PDFArray2.prototype.push = function(object) { + this.array.push(object); + }; + PDFArray2.prototype.insert = function(index, object) { + this.array.splice(index, 0, object); + }; + PDFArray2.prototype.indexOf = function(object) { + var index = this.array.indexOf(object); + return index === -1 ? void 0 : index; + }; + PDFArray2.prototype.remove = function(index) { + this.array.splice(index, 1); + }; + PDFArray2.prototype.set = function(idx, object) { + this.array[idx] = object; + }; + PDFArray2.prototype.get = function(index) { + return this.array[index]; + }; + PDFArray2.prototype.lookupMaybe = function(index) { + var _a; + var types = []; + for (var _i = 1; _i < arguments.length; _i++) { + types[_i - 1] = arguments[_i]; + } + return (_a = this.context).lookupMaybe.apply(_a, __spreadArrays([this.get(index)], types)); + }; + PDFArray2.prototype.lookup = function(index) { + var _a; + var types = []; + for (var _i = 1; _i < arguments.length; _i++) { + types[_i - 1] = arguments[_i]; + } + return (_a = this.context).lookup.apply(_a, __spreadArrays([this.get(index)], types)); + }; + PDFArray2.prototype.asRectangle = function() { + if (this.size() !== 4) + throw new PDFArrayIsNotRectangleError(this.size()); + var lowerLeftX = this.lookup(0, PDFNumber_default).asNumber(); + var lowerLeftY = this.lookup(1, PDFNumber_default).asNumber(); + var upperRightX = this.lookup(2, PDFNumber_default).asNumber(); + var upperRightY = this.lookup(3, PDFNumber_default).asNumber(); + var x = lowerLeftX; + var y = lowerLeftY; + var width = upperRightX - lowerLeftX; + var height = upperRightY - lowerLeftY; + return { x, y, width, height }; + }; + PDFArray2.prototype.asArray = function() { + return this.array.slice(); + }; + PDFArray2.prototype.clone = function(context) { + var clone2 = PDFArray2.withContext(context || this.context); + for (var idx = 0, len = this.size(); idx < len; idx++) { + clone2.push(this.array[idx]); + } + return clone2; + }; + PDFArray2.prototype.toString = function() { + var arrayString = "[ "; + for (var idx = 0, len = this.size(); idx < len; idx++) { + arrayString += this.get(idx).toString(); + arrayString += " "; + } + arrayString += "]"; + return arrayString; + }; + PDFArray2.prototype.sizeInBytes = function() { + var size = 3; + for (var idx = 0, len = this.size(); idx < len; idx++) { + size += this.get(idx).sizeInBytes() + 1; + } + return size; + }; + PDFArray2.prototype.copyBytesInto = function(buffer, offset) { + var initialOffset = offset; + buffer[offset++] = CharCodes_default.LeftSquareBracket; + buffer[offset++] = CharCodes_default.Space; + for (var idx = 0, len = this.size(); idx < len; idx++) { + offset += this.get(idx).copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes_default.Space; + } + buffer[offset++] = CharCodes_default.RightSquareBracket; + return offset - initialOffset; + }; + PDFArray2.prototype.scalePDFNumbers = function(x, y) { + for (var idx = 0, len = this.size(); idx < len; idx++) { + var el = this.lookup(idx); + if (el instanceof PDFNumber_default) { + var factor = idx % 2 === 0 ? x : y; + this.set(idx, PDFNumber_default.of(el.asNumber() * factor)); + } + } + }; + PDFArray2.withContext = function(context) { + return new PDFArray2(context); + }; + return PDFArray2; + })(PDFObject_default) +); +var PDFArray_default = PDFArray; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/objects/PDFBool.js +var ENFORCER = {}; +var PDFBool = ( + /** @class */ + (function(_super) { + __extends(PDFBool2, _super); + function PDFBool2(enforcer, value2) { + var _this = this; + if (enforcer !== ENFORCER) + throw new PrivateConstructorError("PDFBool"); + _this = _super.call(this) || this; + _this.value = value2; + return _this; + } + PDFBool2.prototype.asBoolean = function() { + return this.value; + }; + PDFBool2.prototype.clone = function() { + return this; + }; + PDFBool2.prototype.toString = function() { + return String(this.value); + }; + PDFBool2.prototype.sizeInBytes = function() { + return this.value ? 4 : 5; + }; + PDFBool2.prototype.copyBytesInto = function(buffer, offset) { + if (this.value) { + buffer[offset++] = CharCodes_default.t; + buffer[offset++] = CharCodes_default.r; + buffer[offset++] = CharCodes_default.u; + buffer[offset++] = CharCodes_default.e; + return 4; + } else { + buffer[offset++] = CharCodes_default.f; + buffer[offset++] = CharCodes_default.a; + buffer[offset++] = CharCodes_default.l; + buffer[offset++] = CharCodes_default.s; + buffer[offset++] = CharCodes_default.e; + return 5; + } + }; + PDFBool2.True = new PDFBool2(ENFORCER, true); + PDFBool2.False = new PDFBool2(ENFORCER, false); + return PDFBool2; + })(PDFObject_default) +); +var PDFBool_default = PDFBool; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/syntax/Delimiters.js +var IsDelimiter = new Uint8Array(256); +IsDelimiter[CharCodes_default.LeftParen] = 1; +IsDelimiter[CharCodes_default.RightParen] = 1; +IsDelimiter[CharCodes_default.LessThan] = 1; +IsDelimiter[CharCodes_default.GreaterThan] = 1; +IsDelimiter[CharCodes_default.LeftSquareBracket] = 1; +IsDelimiter[CharCodes_default.RightSquareBracket] = 1; +IsDelimiter[CharCodes_default.LeftCurly] = 1; +IsDelimiter[CharCodes_default.RightCurly] = 1; +IsDelimiter[CharCodes_default.ForwardSlash] = 1; +IsDelimiter[CharCodes_default.Percent] = 1; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/syntax/Whitespace.js +var IsWhitespace = new Uint8Array(256); +IsWhitespace[CharCodes_default.Null] = 1; +IsWhitespace[CharCodes_default.Tab] = 1; +IsWhitespace[CharCodes_default.Newline] = 1; +IsWhitespace[CharCodes_default.FormFeed] = 1; +IsWhitespace[CharCodes_default.CarriageReturn] = 1; +IsWhitespace[CharCodes_default.Space] = 1; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/syntax/Irregular.js +var IsIrregular = new Uint8Array(256); +for (idx = 0, len = 256; idx < len; idx++) { + IsIrregular[idx] = IsWhitespace[idx] || IsDelimiter[idx] ? 1 : 0; +} +var idx; +var len; +IsIrregular[CharCodes_default.Hash] = 1; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/objects/PDFName.js +var decodeName = function(name) { + return name.replace(/#([\dABCDEF]{2})/g, function(_, hex2) { + return charFromHexCode(hex2); + }); +}; +var isRegularChar = function(charCode) { + return charCode >= CharCodes_default.ExclamationPoint && charCode <= CharCodes_default.Tilde && !IsIrregular[charCode]; +}; +var ENFORCER2 = {}; +var pool = /* @__PURE__ */ new Map(); +var PDFName = ( + /** @class */ + (function(_super) { + __extends(PDFName2, _super); + function PDFName2(enforcer, name) { + var _this = this; + if (enforcer !== ENFORCER2) + throw new PrivateConstructorError("PDFName"); + _this = _super.call(this) || this; + var encodedName = "/"; + for (var idx = 0, len = name.length; idx < len; idx++) { + var character = name[idx]; + var code = toCharCode(character); + encodedName += isRegularChar(code) ? character : "#" + toHexString(code); + } + _this.encodedName = encodedName; + return _this; + } + PDFName2.prototype.asBytes = function() { + var bytes = []; + var hex2 = ""; + var escaped = false; + var pushByte = function(byte2) { + if (byte2 !== void 0) + bytes.push(byte2); + escaped = false; + }; + for (var idx = 1, len = this.encodedName.length; idx < len; idx++) { + var char = this.encodedName[idx]; + var byte = toCharCode(char); + var nextChar = this.encodedName[idx + 1]; + if (!escaped) { + if (byte === CharCodes_default.Hash) + escaped = true; + else + pushByte(byte); + } else { + if (byte >= CharCodes_default.Zero && byte <= CharCodes_default.Nine || byte >= CharCodes_default.a && byte <= CharCodes_default.f || byte >= CharCodes_default.A && byte <= CharCodes_default.F) { + hex2 += char; + if (hex2.length === 2 || !(nextChar >= "0" && nextChar <= "9" || nextChar >= "a" && nextChar <= "f" || nextChar >= "A" && nextChar <= "F")) { + pushByte(parseInt(hex2, 16)); + hex2 = ""; + } + } else { + pushByte(byte); + } + } + } + return new Uint8Array(bytes); + }; + PDFName2.prototype.decodeText = function() { + var bytes = this.asBytes(); + return String.fromCharCode.apply(String, Array.from(bytes)); + }; + PDFName2.prototype.asString = function() { + return this.encodedName; + }; + PDFName2.prototype.value = function() { + return this.encodedName; + }; + PDFName2.prototype.clone = function() { + return this; + }; + PDFName2.prototype.toString = function() { + return this.encodedName; + }; + PDFName2.prototype.sizeInBytes = function() { + return this.encodedName.length; + }; + PDFName2.prototype.copyBytesInto = function(buffer, offset) { + offset += copyStringIntoBuffer(this.encodedName, buffer, offset); + return this.encodedName.length; + }; + PDFName2.of = function(name) { + var decodedValue = decodeName(name); + var instance = pool.get(decodedValue); + if (!instance) { + instance = new PDFName2(ENFORCER2, decodedValue); + pool.set(decodedValue, instance); + } + return instance; + }; + PDFName2.Length = PDFName2.of("Length"); + PDFName2.FlateDecode = PDFName2.of("FlateDecode"); + PDFName2.Resources = PDFName2.of("Resources"); + PDFName2.Font = PDFName2.of("Font"); + PDFName2.XObject = PDFName2.of("XObject"); + PDFName2.ExtGState = PDFName2.of("ExtGState"); + PDFName2.Contents = PDFName2.of("Contents"); + PDFName2.Type = PDFName2.of("Type"); + PDFName2.Parent = PDFName2.of("Parent"); + PDFName2.MediaBox = PDFName2.of("MediaBox"); + PDFName2.Page = PDFName2.of("Page"); + PDFName2.Annots = PDFName2.of("Annots"); + PDFName2.TrimBox = PDFName2.of("TrimBox"); + PDFName2.ArtBox = PDFName2.of("ArtBox"); + PDFName2.BleedBox = PDFName2.of("BleedBox"); + PDFName2.CropBox = PDFName2.of("CropBox"); + PDFName2.Rotate = PDFName2.of("Rotate"); + PDFName2.Title = PDFName2.of("Title"); + PDFName2.Author = PDFName2.of("Author"); + PDFName2.Subject = PDFName2.of("Subject"); + PDFName2.Creator = PDFName2.of("Creator"); + PDFName2.Keywords = PDFName2.of("Keywords"); + PDFName2.Producer = PDFName2.of("Producer"); + PDFName2.CreationDate = PDFName2.of("CreationDate"); + PDFName2.ModDate = PDFName2.of("ModDate"); + return PDFName2; + })(PDFObject_default) +); +var PDFName_default = PDFName; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/objects/PDFNull.js +var PDFNull = ( + /** @class */ + (function(_super) { + __extends(PDFNull2, _super); + function PDFNull2() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFNull2.prototype.asNull = function() { + return null; + }; + PDFNull2.prototype.clone = function() { + return this; + }; + PDFNull2.prototype.toString = function() { + return "null"; + }; + PDFNull2.prototype.sizeInBytes = function() { + return 4; + }; + PDFNull2.prototype.copyBytesInto = function(buffer, offset) { + buffer[offset++] = CharCodes_default.n; + buffer[offset++] = CharCodes_default.u; + buffer[offset++] = CharCodes_default.l; + buffer[offset++] = CharCodes_default.l; + return 4; + }; + return PDFNull2; + })(PDFObject_default) +); +var PDFNull_default = new PDFNull(); + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/objects/PDFDict.js +var PDFDict = ( + /** @class */ + (function(_super) { + __extends(PDFDict2, _super); + function PDFDict2(map, context) { + var _this = _super.call(this) || this; + _this.dict = map; + _this.context = context; + return _this; + } + PDFDict2.prototype.keys = function() { + return Array.from(this.dict.keys()); + }; + PDFDict2.prototype.values = function() { + return Array.from(this.dict.values()); + }; + PDFDict2.prototype.entries = function() { + return Array.from(this.dict.entries()); + }; + PDFDict2.prototype.set = function(key, value2) { + this.dict.set(key, value2); + }; + PDFDict2.prototype.get = function(key, preservePDFNull) { + if (preservePDFNull === void 0) { + preservePDFNull = false; + } + var value2 = this.dict.get(key); + if (value2 === PDFNull_default && !preservePDFNull) + return void 0; + return value2; + }; + PDFDict2.prototype.has = function(key) { + var value2 = this.dict.get(key); + return value2 !== void 0 && value2 !== PDFNull_default; + }; + PDFDict2.prototype.lookupMaybe = function(key) { + var _a; + var types = []; + for (var _i = 1; _i < arguments.length; _i++) { + types[_i - 1] = arguments[_i]; + } + var preservePDFNull = types.includes(PDFNull_default); + var value2 = (_a = this.context).lookupMaybe.apply(_a, __spreadArrays([this.get(key, preservePDFNull)], types)); + if (value2 === PDFNull_default && !preservePDFNull) + return void 0; + return value2; + }; + PDFDict2.prototype.lookup = function(key) { + var _a; + var types = []; + for (var _i = 1; _i < arguments.length; _i++) { + types[_i - 1] = arguments[_i]; + } + var preservePDFNull = types.includes(PDFNull_default); + var value2 = (_a = this.context).lookup.apply(_a, __spreadArrays([this.get(key, preservePDFNull)], types)); + if (value2 === PDFNull_default && !preservePDFNull) + return void 0; + return value2; + }; + PDFDict2.prototype.delete = function(key) { + return this.dict.delete(key); + }; + PDFDict2.prototype.asMap = function() { + return new Map(this.dict); + }; + PDFDict2.prototype.uniqueKey = function(tag) { + if (tag === void 0) { + tag = ""; + } + var existingKeys = this.keys(); + var key = PDFName_default.of(this.context.addRandomSuffix(tag, 10)); + while (existingKeys.includes(key)) { + key = PDFName_default.of(this.context.addRandomSuffix(tag, 10)); + } + return key; + }; + PDFDict2.prototype.clone = function(context) { + var clone2 = PDFDict2.withContext(context || this.context); + var entries = this.entries(); + for (var idx = 0, len = entries.length; idx < len; idx++) { + var _a = entries[idx], key = _a[0], value2 = _a[1]; + clone2.set(key, value2); + } + return clone2; + }; + PDFDict2.prototype.toString = function() { + var dictString = "<<\n"; + var entries = this.entries(); + for (var idx = 0, len = entries.length; idx < len; idx++) { + var _a = entries[idx], key = _a[0], value2 = _a[1]; + dictString += key.toString() + " " + value2.toString() + "\n"; + } + dictString += ">>"; + return dictString; + }; + PDFDict2.prototype.sizeInBytes = function() { + var size = 5; + var entries = this.entries(); + for (var idx = 0, len = entries.length; idx < len; idx++) { + var _a = entries[idx], key = _a[0], value2 = _a[1]; + size += key.sizeInBytes() + value2.sizeInBytes() + 2; + } + return size; + }; + PDFDict2.prototype.copyBytesInto = function(buffer, offset) { + var initialOffset = offset; + buffer[offset++] = CharCodes_default.LessThan; + buffer[offset++] = CharCodes_default.LessThan; + buffer[offset++] = CharCodes_default.Newline; + var entries = this.entries(); + for (var idx = 0, len = entries.length; idx < len; idx++) { + var _a = entries[idx], key = _a[0], value2 = _a[1]; + offset += key.copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes_default.Space; + offset += value2.copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes_default.Newline; + } + buffer[offset++] = CharCodes_default.GreaterThan; + buffer[offset++] = CharCodes_default.GreaterThan; + return offset - initialOffset; + }; + PDFDict2.withContext = function(context) { + return new PDFDict2(/* @__PURE__ */ new Map(), context); + }; + PDFDict2.fromMapWithContext = function(map, context) { + return new PDFDict2(map, context); + }; + return PDFDict2; + })(PDFObject_default) +); +var PDFDict_default = PDFDict; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/objects/PDFStream.js +var PDFStream = ( + /** @class */ + (function(_super) { + __extends(PDFStream2, _super); + function PDFStream2(dict) { + var _this = _super.call(this) || this; + _this.dict = dict; + return _this; + } + PDFStream2.prototype.clone = function(_context) { + throw new MethodNotImplementedError(this.constructor.name, "clone"); + }; + PDFStream2.prototype.getContentsString = function() { + throw new MethodNotImplementedError(this.constructor.name, "getContentsString"); + }; + PDFStream2.prototype.getContents = function() { + throw new MethodNotImplementedError(this.constructor.name, "getContents"); + }; + PDFStream2.prototype.getContentsSize = function() { + throw new MethodNotImplementedError(this.constructor.name, "getContentsSize"); + }; + PDFStream2.prototype.updateDict = function() { + var contentsSize = this.getContentsSize(); + this.dict.set(PDFName_default.Length, PDFNumber_default.of(contentsSize)); + }; + PDFStream2.prototype.sizeInBytes = function() { + this.updateDict(); + return this.dict.sizeInBytes() + this.getContentsSize() + 18; + }; + PDFStream2.prototype.toString = function() { + this.updateDict(); + var streamString = this.dict.toString(); + streamString += "\nstream\n"; + streamString += this.getContentsString(); + streamString += "\nendstream"; + return streamString; + }; + PDFStream2.prototype.copyBytesInto = function(buffer, offset) { + this.updateDict(); + var initialOffset = offset; + offset += this.dict.copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes_default.Newline; + buffer[offset++] = CharCodes_default.s; + buffer[offset++] = CharCodes_default.t; + buffer[offset++] = CharCodes_default.r; + buffer[offset++] = CharCodes_default.e; + buffer[offset++] = CharCodes_default.a; + buffer[offset++] = CharCodes_default.m; + buffer[offset++] = CharCodes_default.Newline; + var contents = this.getContents(); + for (var idx = 0, len = contents.length; idx < len; idx++) { + buffer[offset++] = contents[idx]; + } + buffer[offset++] = CharCodes_default.Newline; + buffer[offset++] = CharCodes_default.e; + buffer[offset++] = CharCodes_default.n; + buffer[offset++] = CharCodes_default.d; + buffer[offset++] = CharCodes_default.s; + buffer[offset++] = CharCodes_default.t; + buffer[offset++] = CharCodes_default.r; + buffer[offset++] = CharCodes_default.e; + buffer[offset++] = CharCodes_default.a; + buffer[offset++] = CharCodes_default.m; + return offset - initialOffset; + }; + return PDFStream2; + })(PDFObject_default) +); +var PDFStream_default = PDFStream; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/objects/PDFRawStream.js +var PDFRawStream = ( + /** @class */ + (function(_super) { + __extends(PDFRawStream2, _super); + function PDFRawStream2(dict, contents) { + var _this = _super.call(this, dict) || this; + _this.contents = contents; + return _this; + } + PDFRawStream2.prototype.asUint8Array = function() { + return this.contents.slice(); + }; + PDFRawStream2.prototype.clone = function(context) { + return PDFRawStream2.of(this.dict.clone(context), this.contents.slice()); + }; + PDFRawStream2.prototype.getContentsString = function() { + return arrayAsString(this.contents); + }; + PDFRawStream2.prototype.getContents = function() { + return this.contents; + }; + PDFRawStream2.prototype.getContentsSize = function() { + return this.contents.length; + }; + PDFRawStream2.of = function(dict, contents) { + return new PDFRawStream2(dict, contents); + }; + return PDFRawStream2; + })(PDFStream_default) +); +var PDFRawStream_default = PDFRawStream; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/objects/PDFRef.js +var ENFORCER3 = {}; +var pool2 = /* @__PURE__ */ new Map(); +var PDFRef = ( + /** @class */ + (function(_super) { + __extends(PDFRef2, _super); + function PDFRef2(enforcer, objectNumber, generationNumber) { + var _this = this; + if (enforcer !== ENFORCER3) + throw new PrivateConstructorError("PDFRef"); + _this = _super.call(this) || this; + _this.objectNumber = objectNumber; + _this.generationNumber = generationNumber; + _this.tag = objectNumber + " " + generationNumber + " R"; + return _this; + } + PDFRef2.prototype.clone = function() { + return this; + }; + PDFRef2.prototype.toString = function() { + return this.tag; + }; + PDFRef2.prototype.sizeInBytes = function() { + return this.tag.length; + }; + PDFRef2.prototype.copyBytesInto = function(buffer, offset) { + offset += copyStringIntoBuffer(this.tag, buffer, offset); + return this.tag.length; + }; + PDFRef2.of = function(objectNumber, generationNumber) { + if (generationNumber === void 0) { + generationNumber = 0; + } + var tag = objectNumber + " " + generationNumber + " R"; + var instance = pool2.get(tag); + if (!instance) { + instance = new PDFRef2(ENFORCER3, objectNumber, generationNumber); + pool2.set(tag, instance); + } + return instance; + }; + return PDFRef2; + })(PDFObject_default) +); +var PDFRef_default = PDFRef; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/operators/PDFOperator.js +var PDFOperator = ( + /** @class */ + (function() { + function PDFOperator2(name, args) { + this.name = name; + this.args = args || []; + } + PDFOperator2.prototype.clone = function(context) { + var args = new Array(this.args.length); + for (var idx = 0, len = args.length; idx < len; idx++) { + var arg = this.args[idx]; + args[idx] = arg instanceof PDFObject_default ? arg.clone(context) : arg; + } + return PDFOperator2.of(this.name, args); + }; + PDFOperator2.prototype.toString = function() { + var value2 = ""; + for (var idx = 0, len = this.args.length; idx < len; idx++) { + value2 += String(this.args[idx]) + " "; + } + value2 += this.name; + return value2; + }; + PDFOperator2.prototype.sizeInBytes = function() { + var size = 0; + for (var idx = 0, len = this.args.length; idx < len; idx++) { + var arg = this.args[idx]; + size += (arg instanceof PDFObject_default ? arg.sizeInBytes() : arg.length) + 1; + } + size += this.name.length; + return size; + }; + PDFOperator2.prototype.copyBytesInto = function(buffer, offset) { + var initialOffset = offset; + for (var idx = 0, len = this.args.length; idx < len; idx++) { + var arg = this.args[idx]; + if (arg instanceof PDFObject_default) { + offset += arg.copyBytesInto(buffer, offset); + } else { + offset += copyStringIntoBuffer(arg, buffer, offset); + } + buffer[offset++] = CharCodes_default.Space; + } + offset += copyStringIntoBuffer(this.name, buffer, offset); + return offset - initialOffset; + }; + PDFOperator2.of = function(name, args) { + return new PDFOperator2(name, args); + }; + return PDFOperator2; + })() +); +var PDFOperator_default = PDFOperator; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/operators/PDFOperatorNames.js +var PDFOperatorNames; +(function(PDFOperatorNames2) { + PDFOperatorNames2["NonStrokingColor"] = "sc"; + PDFOperatorNames2["NonStrokingColorN"] = "scn"; + PDFOperatorNames2["NonStrokingColorRgb"] = "rg"; + PDFOperatorNames2["NonStrokingColorGray"] = "g"; + PDFOperatorNames2["NonStrokingColorCmyk"] = "k"; + PDFOperatorNames2["NonStrokingColorspace"] = "cs"; + PDFOperatorNames2["StrokingColor"] = "SC"; + PDFOperatorNames2["StrokingColorN"] = "SCN"; + PDFOperatorNames2["StrokingColorRgb"] = "RG"; + PDFOperatorNames2["StrokingColorGray"] = "G"; + PDFOperatorNames2["StrokingColorCmyk"] = "K"; + PDFOperatorNames2["StrokingColorspace"] = "CS"; + PDFOperatorNames2["BeginMarkedContentSequence"] = "BDC"; + PDFOperatorNames2["BeginMarkedContent"] = "BMC"; + PDFOperatorNames2["EndMarkedContent"] = "EMC"; + PDFOperatorNames2["MarkedContentPointWithProps"] = "DP"; + PDFOperatorNames2["MarkedContentPoint"] = "MP"; + PDFOperatorNames2["DrawObject"] = "Do"; + PDFOperatorNames2["ConcatTransformationMatrix"] = "cm"; + PDFOperatorNames2["PopGraphicsState"] = "Q"; + PDFOperatorNames2["PushGraphicsState"] = "q"; + PDFOperatorNames2["SetFlatness"] = "i"; + PDFOperatorNames2["SetGraphicsStateParams"] = "gs"; + PDFOperatorNames2["SetLineCapStyle"] = "J"; + PDFOperatorNames2["SetLineDashPattern"] = "d"; + PDFOperatorNames2["SetLineJoinStyle"] = "j"; + PDFOperatorNames2["SetLineMiterLimit"] = "M"; + PDFOperatorNames2["SetLineWidth"] = "w"; + PDFOperatorNames2["SetTextMatrix"] = "Tm"; + PDFOperatorNames2["SetRenderingIntent"] = "ri"; + PDFOperatorNames2["AppendRectangle"] = "re"; + PDFOperatorNames2["BeginInlineImage"] = "BI"; + PDFOperatorNames2["BeginInlineImageData"] = "ID"; + PDFOperatorNames2["EndInlineImage"] = "EI"; + PDFOperatorNames2["ClipEvenOdd"] = "W*"; + PDFOperatorNames2["ClipNonZero"] = "W"; + PDFOperatorNames2["CloseAndStroke"] = "s"; + PDFOperatorNames2["CloseFillEvenOddAndStroke"] = "b*"; + PDFOperatorNames2["CloseFillNonZeroAndStroke"] = "b"; + PDFOperatorNames2["ClosePath"] = "h"; + PDFOperatorNames2["AppendBezierCurve"] = "c"; + PDFOperatorNames2["CurveToReplicateFinalPoint"] = "y"; + PDFOperatorNames2["CurveToReplicateInitialPoint"] = "v"; + PDFOperatorNames2["EndPath"] = "n"; + PDFOperatorNames2["FillEvenOddAndStroke"] = "B*"; + PDFOperatorNames2["FillEvenOdd"] = "f*"; + PDFOperatorNames2["FillNonZeroAndStroke"] = "B"; + PDFOperatorNames2["FillNonZero"] = "f"; + PDFOperatorNames2["LegacyFillNonZero"] = "F"; + PDFOperatorNames2["LineTo"] = "l"; + PDFOperatorNames2["MoveTo"] = "m"; + PDFOperatorNames2["ShadingFill"] = "sh"; + PDFOperatorNames2["StrokePath"] = "S"; + PDFOperatorNames2["BeginText"] = "BT"; + PDFOperatorNames2["EndText"] = "ET"; + PDFOperatorNames2["MoveText"] = "Td"; + PDFOperatorNames2["MoveTextSetLeading"] = "TD"; + PDFOperatorNames2["NextLine"] = "T*"; + PDFOperatorNames2["SetCharacterSpacing"] = "Tc"; + PDFOperatorNames2["SetFontAndSize"] = "Tf"; + PDFOperatorNames2["SetTextHorizontalScaling"] = "Tz"; + PDFOperatorNames2["SetTextLineHeight"] = "TL"; + PDFOperatorNames2["SetTextRenderingMode"] = "Tr"; + PDFOperatorNames2["SetTextRise"] = "Ts"; + PDFOperatorNames2["SetWordSpacing"] = "Tw"; + PDFOperatorNames2["ShowText"] = "Tj"; + PDFOperatorNames2["ShowTextAdjusted"] = "TJ"; + PDFOperatorNames2["ShowTextLine"] = "'"; + PDFOperatorNames2["ShowTextLineAndSpace"] = '"'; + PDFOperatorNames2["Type3D0"] = "d0"; + PDFOperatorNames2["Type3D1"] = "d1"; + PDFOperatorNames2["BeginCompatibilitySection"] = "BX"; + PDFOperatorNames2["EndCompatibilitySection"] = "EX"; +})(PDFOperatorNames || (PDFOperatorNames = {})); +var PDFOperatorNames_default = PDFOperatorNames; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/structures/PDFFlateStream.js +var import_pako2 = __toESM(require_pako()); +var PDFFlateStream = ( + /** @class */ + (function(_super) { + __extends(PDFFlateStream2, _super); + function PDFFlateStream2(dict, encode) { + var _this = _super.call(this, dict) || this; + _this.computeContents = function() { + var unencodedContents = _this.getUnencodedContents(); + return _this.encode ? import_pako2.default.deflate(unencodedContents) : unencodedContents; + }; + _this.encode = encode; + if (encode) + dict.set(PDFName_default.of("Filter"), PDFName_default.of("FlateDecode")); + _this.contentsCache = Cache_default.populatedBy(_this.computeContents); + return _this; + } + PDFFlateStream2.prototype.getContents = function() { + return this.contentsCache.access(); + }; + PDFFlateStream2.prototype.getContentsSize = function() { + return this.contentsCache.access().length; + }; + PDFFlateStream2.prototype.getUnencodedContents = function() { + throw new MethodNotImplementedError(this.constructor.name, "getUnencodedContents"); + }; + return PDFFlateStream2; + })(PDFStream_default) +); +var PDFFlateStream_default = PDFFlateStream; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/structures/PDFContentStream.js +var PDFContentStream = ( + /** @class */ + (function(_super) { + __extends(PDFContentStream2, _super); + function PDFContentStream2(dict, operators, encode) { + if (encode === void 0) { + encode = true; + } + var _this = _super.call(this, dict, encode) || this; + _this.operators = operators; + return _this; + } + PDFContentStream2.prototype.push = function() { + var _a; + var operators = []; + for (var _i = 0; _i < arguments.length; _i++) { + operators[_i] = arguments[_i]; + } + (_a = this.operators).push.apply(_a, operators); + }; + PDFContentStream2.prototype.clone = function(context) { + var operators = new Array(this.operators.length); + for (var idx = 0, len = this.operators.length; idx < len; idx++) { + operators[idx] = this.operators[idx].clone(context); + } + var _a = this, dict = _a.dict, encode = _a.encode; + return PDFContentStream2.of(dict.clone(context), operators, encode); + }; + PDFContentStream2.prototype.getContentsString = function() { + var value2 = ""; + for (var idx = 0, len = this.operators.length; idx < len; idx++) { + value2 += this.operators[idx] + "\n"; + } + return value2; + }; + PDFContentStream2.prototype.getUnencodedContents = function() { + var buffer = new Uint8Array(this.getUnencodedContentsSize()); + var offset = 0; + for (var idx = 0, len = this.operators.length; idx < len; idx++) { + offset += this.operators[idx].copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes_default.Newline; + } + return buffer; + }; + PDFContentStream2.prototype.getUnencodedContentsSize = function() { + var size = 0; + for (var idx = 0, len = this.operators.length; idx < len; idx++) { + size += this.operators[idx].sizeInBytes() + 1; + } + return size; + }; + PDFContentStream2.of = function(dict, operators, encode) { + if (encode === void 0) { + encode = true; + } + return new PDFContentStream2(dict, operators, encode); + }; + return PDFContentStream2; + })(PDFFlateStream_default) +); +var PDFContentStream_default = PDFContentStream; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/utils/rng.js +var SimpleRNG = ( + /** @class */ + (function() { + function SimpleRNG2(seed) { + this.seed = seed; + } + SimpleRNG2.prototype.nextInt = function() { + var x = Math.sin(this.seed++) * 1e4; + return x - Math.floor(x); + }; + SimpleRNG2.withSeed = function(seed) { + return new SimpleRNG2(seed); + }; + return SimpleRNG2; + })() +); + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/PDFContext.js +var byAscendingObjectNumber = function(_a, _b) { + var a = _a[0]; + var b = _b[0]; + return a.objectNumber - b.objectNumber; +}; +var PDFContext = ( + /** @class */ + (function() { + function PDFContext2() { + this.largestObjectNumber = 0; + this.header = PDFHeader_default.forVersion(1, 7); + this.trailerInfo = {}; + this.indirectObjects = /* @__PURE__ */ new Map(); + this.rng = SimpleRNG.withSeed(1); + } + PDFContext2.prototype.assign = function(ref, object) { + this.indirectObjects.set(ref, object); + if (ref.objectNumber > this.largestObjectNumber) { + this.largestObjectNumber = ref.objectNumber; + } + }; + PDFContext2.prototype.nextRef = function() { + this.largestObjectNumber += 1; + return PDFRef_default.of(this.largestObjectNumber); + }; + PDFContext2.prototype.register = function(object) { + var ref = this.nextRef(); + this.assign(ref, object); + return ref; + }; + PDFContext2.prototype.delete = function(ref) { + return this.indirectObjects.delete(ref); + }; + PDFContext2.prototype.lookupMaybe = function(ref) { + var types = []; + for (var _i = 1; _i < arguments.length; _i++) { + types[_i - 1] = arguments[_i]; + } + var preservePDFNull = types.includes(PDFNull_default); + var result = ref instanceof PDFRef_default ? this.indirectObjects.get(ref) : ref; + if (!result || result === PDFNull_default && !preservePDFNull) + return void 0; + for (var idx = 0, len = types.length; idx < len; idx++) { + var type = types[idx]; + if (type === PDFNull_default) { + if (result === PDFNull_default) + return result; + } else { + if (result instanceof type) + return result; + } + } + throw new UnexpectedObjectTypeError(types, result); + }; + PDFContext2.prototype.lookup = function(ref) { + var types = []; + for (var _i = 1; _i < arguments.length; _i++) { + types[_i - 1] = arguments[_i]; + } + var result = ref instanceof PDFRef_default ? this.indirectObjects.get(ref) : ref; + if (types.length === 0) + return result; + for (var idx = 0, len = types.length; idx < len; idx++) { + var type = types[idx]; + if (type === PDFNull_default) { + if (result === PDFNull_default) + return result; + } else { + if (result instanceof type) + return result; + } + } + throw new UnexpectedObjectTypeError(types, result); + }; + PDFContext2.prototype.getObjectRef = function(pdfObject) { + var entries = Array.from(this.indirectObjects.entries()); + for (var idx = 0, len = entries.length; idx < len; idx++) { + var _a = entries[idx], ref = _a[0], object = _a[1]; + if (object === pdfObject) { + return ref; + } + } + return void 0; + }; + PDFContext2.prototype.enumerateIndirectObjects = function() { + return Array.from(this.indirectObjects.entries()).sort(byAscendingObjectNumber); + }; + PDFContext2.prototype.obj = function(literal) { + if (literal instanceof PDFObject_default) { + return literal; + } else if (literal === null || literal === void 0) { + return PDFNull_default; + } else if (typeof literal === "string") { + return PDFName_default.of(literal); + } else if (typeof literal === "number") { + return PDFNumber_default.of(literal); + } else if (typeof literal === "boolean") { + return literal ? PDFBool_default.True : PDFBool_default.False; + } else if (Array.isArray(literal)) { + var array = PDFArray_default.withContext(this); + for (var idx = 0, len = literal.length; idx < len; idx++) { + array.push(this.obj(literal[idx])); + } + return array; + } else { + var dict = PDFDict_default.withContext(this); + var keys = Object.keys(literal); + for (var idx = 0, len = keys.length; idx < len; idx++) { + var key = keys[idx]; + var value2 = literal[key]; + if (value2 !== void 0) + dict.set(PDFName_default.of(key), this.obj(value2)); + } + return dict; + } + }; + PDFContext2.prototype.stream = function(contents, dict) { + if (dict === void 0) { + dict = {}; + } + return PDFRawStream_default.of(this.obj(dict), typedArrayFor(contents)); + }; + PDFContext2.prototype.flateStream = function(contents, dict) { + if (dict === void 0) { + dict = {}; + } + return this.stream(import_pako3.default.deflate(typedArrayFor(contents)), __assign(__assign({}, dict), { Filter: "FlateDecode" })); + }; + PDFContext2.prototype.contentStream = function(operators, dict) { + if (dict === void 0) { + dict = {}; + } + return PDFContentStream_default.of(this.obj(dict), operators); + }; + PDFContext2.prototype.formXObject = function(operators, dict) { + if (dict === void 0) { + dict = {}; + } + return this.contentStream(operators, __assign(__assign({ BBox: this.obj([0, 0, 0, 0]), Matrix: this.obj([1, 0, 0, 1, 0, 0]) }, dict), { Type: "XObject", Subtype: "Form" })); + }; + PDFContext2.prototype.getPushGraphicsStateContentStream = function() { + if (this.pushGraphicsStateContentStreamRef) { + return this.pushGraphicsStateContentStreamRef; + } + var dict = this.obj({}); + var op = PDFOperator_default.of(PDFOperatorNames_default.PushGraphicsState); + var stream2 = PDFContentStream_default.of(dict, [op]); + this.pushGraphicsStateContentStreamRef = this.register(stream2); + return this.pushGraphicsStateContentStreamRef; + }; + PDFContext2.prototype.getPopGraphicsStateContentStream = function() { + if (this.popGraphicsStateContentStreamRef) { + return this.popGraphicsStateContentStreamRef; + } + var dict = this.obj({}); + var op = PDFOperator_default.of(PDFOperatorNames_default.PopGraphicsState); + var stream2 = PDFContentStream_default.of(dict, [op]); + this.popGraphicsStateContentStreamRef = this.register(stream2); + return this.popGraphicsStateContentStreamRef; + }; + PDFContext2.prototype.addRandomSuffix = function(prefix, suffixLength) { + if (suffixLength === void 0) { + suffixLength = 4; + } + return prefix + "-" + Math.floor(this.rng.nextInt() * Math.pow(10, suffixLength)); + }; + PDFContext2.create = function() { + return new PDFContext2(); + }; + return PDFContext2; + })() +); +var PDFContext_default = PDFContext; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js +var PDFPageLeaf = ( + /** @class */ + (function(_super) { + __extends(PDFPageLeaf2, _super); + function PDFPageLeaf2(map, context, autoNormalizeCTM) { + if (autoNormalizeCTM === void 0) { + autoNormalizeCTM = true; + } + var _this = _super.call(this, map, context) || this; + _this.normalized = false; + _this.autoNormalizeCTM = autoNormalizeCTM; + return _this; + } + PDFPageLeaf2.prototype.clone = function(context) { + var clone2 = PDFPageLeaf2.fromMapWithContext(/* @__PURE__ */ new Map(), context || this.context, this.autoNormalizeCTM); + var entries = this.entries(); + for (var idx = 0, len = entries.length; idx < len; idx++) { + var _a = entries[idx], key = _a[0], value2 = _a[1]; + clone2.set(key, value2); + } + return clone2; + }; + PDFPageLeaf2.prototype.Parent = function() { + return this.lookupMaybe(PDFName_default.Parent, PDFDict_default); + }; + PDFPageLeaf2.prototype.Contents = function() { + return this.lookup(PDFName_default.of("Contents")); + }; + PDFPageLeaf2.prototype.Annots = function() { + return this.lookupMaybe(PDFName_default.Annots, PDFArray_default); + }; + PDFPageLeaf2.prototype.BleedBox = function() { + return this.lookupMaybe(PDFName_default.BleedBox, PDFArray_default); + }; + PDFPageLeaf2.prototype.TrimBox = function() { + return this.lookupMaybe(PDFName_default.TrimBox, PDFArray_default); + }; + PDFPageLeaf2.prototype.ArtBox = function() { + return this.lookupMaybe(PDFName_default.ArtBox, PDFArray_default); + }; + PDFPageLeaf2.prototype.Resources = function() { + var dictOrRef = this.getInheritableAttribute(PDFName_default.Resources); + return this.context.lookupMaybe(dictOrRef, PDFDict_default); + }; + PDFPageLeaf2.prototype.MediaBox = function() { + var arrayOrRef = this.getInheritableAttribute(PDFName_default.MediaBox); + return this.context.lookup(arrayOrRef, PDFArray_default); + }; + PDFPageLeaf2.prototype.CropBox = function() { + var arrayOrRef = this.getInheritableAttribute(PDFName_default.CropBox); + return this.context.lookupMaybe(arrayOrRef, PDFArray_default); + }; + PDFPageLeaf2.prototype.Rotate = function() { + var numberOrRef = this.getInheritableAttribute(PDFName_default.Rotate); + return this.context.lookupMaybe(numberOrRef, PDFNumber_default); + }; + PDFPageLeaf2.prototype.getInheritableAttribute = function(name) { + var attribute; + this.ascend(function(node) { + if (!attribute) + attribute = node.get(name); + }); + return attribute; + }; + PDFPageLeaf2.prototype.setParent = function(parentRef) { + this.set(PDFName_default.Parent, parentRef); + }; + PDFPageLeaf2.prototype.addContentStream = function(contentStreamRef) { + var Contents = this.normalizedEntries().Contents || this.context.obj([]); + this.set(PDFName_default.Contents, Contents); + Contents.push(contentStreamRef); + }; + PDFPageLeaf2.prototype.wrapContentStreams = function(startStream, endStream) { + var Contents = this.Contents(); + if (Contents instanceof PDFArray_default) { + Contents.insert(0, startStream); + Contents.push(endStream); + return true; + } + return false; + }; + PDFPageLeaf2.prototype.addAnnot = function(annotRef) { + var Annots = this.normalizedEntries().Annots; + Annots.push(annotRef); + }; + PDFPageLeaf2.prototype.removeAnnot = function(annotRef) { + var Annots = this.normalizedEntries().Annots; + var index = Annots.indexOf(annotRef); + if (index !== void 0) { + Annots.remove(index); + } + }; + PDFPageLeaf2.prototype.setFontDictionary = function(name, fontDictRef) { + var Font2 = this.normalizedEntries().Font; + Font2.set(name, fontDictRef); + }; + PDFPageLeaf2.prototype.newFontDictionaryKey = function(tag) { + var Font2 = this.normalizedEntries().Font; + return Font2.uniqueKey(tag); + }; + PDFPageLeaf2.prototype.newFontDictionary = function(tag, fontDictRef) { + var key = this.newFontDictionaryKey(tag); + this.setFontDictionary(key, fontDictRef); + return key; + }; + PDFPageLeaf2.prototype.setXObject = function(name, xObjectRef) { + var XObject = this.normalizedEntries().XObject; + XObject.set(name, xObjectRef); + }; + PDFPageLeaf2.prototype.newXObjectKey = function(tag) { + var XObject = this.normalizedEntries().XObject; + return XObject.uniqueKey(tag); + }; + PDFPageLeaf2.prototype.newXObject = function(tag, xObjectRef) { + var key = this.newXObjectKey(tag); + this.setXObject(key, xObjectRef); + return key; + }; + PDFPageLeaf2.prototype.setExtGState = function(name, extGStateRef) { + var ExtGState = this.normalizedEntries().ExtGState; + ExtGState.set(name, extGStateRef); + }; + PDFPageLeaf2.prototype.newExtGStateKey = function(tag) { + var ExtGState = this.normalizedEntries().ExtGState; + return ExtGState.uniqueKey(tag); + }; + PDFPageLeaf2.prototype.newExtGState = function(tag, extGStateRef) { + var key = this.newExtGStateKey(tag); + this.setExtGState(key, extGStateRef); + return key; + }; + PDFPageLeaf2.prototype.ascend = function(visitor) { + visitor(this); + var Parent = this.Parent(); + if (Parent) + Parent.ascend(visitor); + }; + PDFPageLeaf2.prototype.normalize = function() { + if (this.normalized) + return; + var context = this.context; + var contentsRef = this.get(PDFName_default.Contents); + var contents = this.context.lookup(contentsRef); + if (contents instanceof PDFStream_default) { + this.set(PDFName_default.Contents, context.obj([contentsRef])); + } + if (this.autoNormalizeCTM) { + this.wrapContentStreams(this.context.getPushGraphicsStateContentStream(), this.context.getPopGraphicsStateContentStream()); + } + var dictOrRef = this.getInheritableAttribute(PDFName_default.Resources); + var Resources = context.lookupMaybe(dictOrRef, PDFDict_default) || context.obj({}); + this.set(PDFName_default.Resources, Resources); + var Font2 = Resources.lookupMaybe(PDFName_default.Font, PDFDict_default) || context.obj({}); + Resources.set(PDFName_default.Font, Font2); + var XObject = Resources.lookupMaybe(PDFName_default.XObject, PDFDict_default) || context.obj({}); + Resources.set(PDFName_default.XObject, XObject); + var ExtGState = Resources.lookupMaybe(PDFName_default.ExtGState, PDFDict_default) || context.obj({}); + Resources.set(PDFName_default.ExtGState, ExtGState); + var Annots = this.Annots() || context.obj([]); + this.set(PDFName_default.Annots, Annots); + this.normalized = true; + }; + PDFPageLeaf2.prototype.normalizedEntries = function() { + this.normalize(); + var Annots = this.Annots(); + var Resources = this.Resources(); + var Contents = this.Contents(); + return { + Annots, + Resources, + Contents, + Font: Resources.lookup(PDFName_default.Font, PDFDict_default), + XObject: Resources.lookup(PDFName_default.XObject, PDFDict_default), + ExtGState: Resources.lookup(PDFName_default.ExtGState, PDFDict_default) + }; + }; + PDFPageLeaf2.InheritableEntries = [ + "Resources", + "MediaBox", + "CropBox", + "Rotate" + ]; + PDFPageLeaf2.withContextAndParent = function(context, parent) { + var dict = /* @__PURE__ */ new Map(); + dict.set(PDFName_default.Type, PDFName_default.Page); + dict.set(PDFName_default.Parent, parent); + dict.set(PDFName_default.Resources, context.obj({})); + dict.set(PDFName_default.MediaBox, context.obj([0, 0, 612, 792])); + return new PDFPageLeaf2(dict, context, false); + }; + PDFPageLeaf2.fromMapWithContext = function(map, context, autoNormalizeCTM) { + if (autoNormalizeCTM === void 0) { + autoNormalizeCTM = true; + } + return new PDFPageLeaf2(map, context, autoNormalizeCTM); + }; + return PDFPageLeaf2; + })(PDFDict_default) +); +var PDFPageLeaf_default = PDFPageLeaf; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/PDFObjectCopier.js +var PDFObjectCopier = ( + /** @class */ + (function() { + function PDFObjectCopier2(src, dest) { + var _this = this; + this.traversedObjects = /* @__PURE__ */ new Map(); + this.copy = function(object) { + return object instanceof PDFPageLeaf_default ? _this.copyPDFPage(object) : object instanceof PDFDict_default ? _this.copyPDFDict(object) : object instanceof PDFArray_default ? _this.copyPDFArray(object) : object instanceof PDFStream_default ? _this.copyPDFStream(object) : object instanceof PDFRef_default ? _this.copyPDFIndirectObject(object) : object.clone(); + }; + this.copyPDFPage = function(originalPage) { + var clonedPage = originalPage.clone(); + var InheritableEntries = PDFPageLeaf_default.InheritableEntries; + for (var idx = 0, len = InheritableEntries.length; idx < len; idx++) { + var key = PDFName_default.of(InheritableEntries[idx]); + var value2 = clonedPage.getInheritableAttribute(key); + if (!clonedPage.get(key) && value2) + clonedPage.set(key, value2); + } + clonedPage.delete(PDFName_default.of("Parent")); + return _this.copyPDFDict(clonedPage); + }; + this.copyPDFDict = function(originalDict) { + if (_this.traversedObjects.has(originalDict)) { + return _this.traversedObjects.get(originalDict); + } + var clonedDict = originalDict.clone(_this.dest); + _this.traversedObjects.set(originalDict, clonedDict); + var entries = originalDict.entries(); + for (var idx = 0, len = entries.length; idx < len; idx++) { + var _a = entries[idx], key = _a[0], value2 = _a[1]; + clonedDict.set(key, _this.copy(value2)); + } + return clonedDict; + }; + this.copyPDFArray = function(originalArray) { + if (_this.traversedObjects.has(originalArray)) { + return _this.traversedObjects.get(originalArray); + } + var clonedArray = originalArray.clone(_this.dest); + _this.traversedObjects.set(originalArray, clonedArray); + for (var idx = 0, len = originalArray.size(); idx < len; idx++) { + var value2 = originalArray.get(idx); + clonedArray.set(idx, _this.copy(value2)); + } + return clonedArray; + }; + this.copyPDFStream = function(originalStream) { + if (_this.traversedObjects.has(originalStream)) { + return _this.traversedObjects.get(originalStream); + } + var clonedStream = originalStream.clone(_this.dest); + _this.traversedObjects.set(originalStream, clonedStream); + var entries = originalStream.dict.entries(); + for (var idx = 0, len = entries.length; idx < len; idx++) { + var _a = entries[idx], key = _a[0], value2 = _a[1]; + clonedStream.dict.set(key, _this.copy(value2)); + } + return clonedStream; + }; + this.copyPDFIndirectObject = function(ref) { + var alreadyMapped = _this.traversedObjects.has(ref); + if (!alreadyMapped) { + var newRef = _this.dest.nextRef(); + _this.traversedObjects.set(ref, newRef); + var dereferencedValue = _this.src.lookup(ref); + if (dereferencedValue) { + var cloned = _this.copy(dereferencedValue); + _this.dest.assign(newRef, cloned); + } + } + return _this.traversedObjects.get(ref); + }; + this.src = src; + this.dest = dest; + } + PDFObjectCopier2.for = function(src, dest) { + return new PDFObjectCopier2(src, dest); + }; + return PDFObjectCopier2; + })() +); +var PDFObjectCopier_default = PDFObjectCopier; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/document/PDFCrossRefSection.js +var PDFCrossRefSection = ( + /** @class */ + (function() { + function PDFCrossRefSection2(firstEntry) { + this.subsections = firstEntry ? [[firstEntry]] : []; + this.chunkIdx = 0; + this.chunkLength = firstEntry ? 1 : 0; + } + PDFCrossRefSection2.prototype.addEntry = function(ref, offset) { + this.append({ ref, offset, deleted: false }); + }; + PDFCrossRefSection2.prototype.addDeletedEntry = function(ref, nextFreeObjectNumber) { + this.append({ ref, offset: nextFreeObjectNumber, deleted: true }); + }; + PDFCrossRefSection2.prototype.toString = function() { + var section = "xref\n"; + for (var rangeIdx = 0, rangeLen = this.subsections.length; rangeIdx < rangeLen; rangeIdx++) { + var range2 = this.subsections[rangeIdx]; + section += range2[0].ref.objectNumber + " " + range2.length + "\n"; + for (var entryIdx = 0, entryLen = range2.length; entryIdx < entryLen; entryIdx++) { + var entry = range2[entryIdx]; + section += padStart(String(entry.offset), 10, "0"); + section += " "; + section += padStart(String(entry.ref.generationNumber), 5, "0"); + section += " "; + section += entry.deleted ? "f" : "n"; + section += " \n"; + } + } + return section; + }; + PDFCrossRefSection2.prototype.sizeInBytes = function() { + var size = 5; + for (var idx = 0, len = this.subsections.length; idx < len; idx++) { + var subsection = this.subsections[idx]; + var subsectionLength = subsection.length; + var firstEntry = subsection[0]; + size += 2; + size += String(firstEntry.ref.objectNumber).length; + size += String(subsectionLength).length; + size += 20 * subsectionLength; + } + return size; + }; + PDFCrossRefSection2.prototype.copyBytesInto = function(buffer, offset) { + var initialOffset = offset; + buffer[offset++] = CharCodes_default.x; + buffer[offset++] = CharCodes_default.r; + buffer[offset++] = CharCodes_default.e; + buffer[offset++] = CharCodes_default.f; + buffer[offset++] = CharCodes_default.Newline; + offset += this.copySubsectionsIntoBuffer(this.subsections, buffer, offset); + return offset - initialOffset; + }; + PDFCrossRefSection2.prototype.copySubsectionsIntoBuffer = function(subsections, buffer, offset) { + var initialOffset = offset; + var length = subsections.length; + for (var idx = 0; idx < length; idx++) { + var subsection = this.subsections[idx]; + var firstObjectNumber = String(subsection[0].ref.objectNumber); + offset += copyStringIntoBuffer(firstObjectNumber, buffer, offset); + buffer[offset++] = CharCodes_default.Space; + var rangeLength = String(subsection.length); + offset += copyStringIntoBuffer(rangeLength, buffer, offset); + buffer[offset++] = CharCodes_default.Newline; + offset += this.copyEntriesIntoBuffer(subsection, buffer, offset); + } + return offset - initialOffset; + }; + PDFCrossRefSection2.prototype.copyEntriesIntoBuffer = function(entries, buffer, offset) { + var length = entries.length; + for (var idx = 0; idx < length; idx++) { + var entry = entries[idx]; + var entryOffset = padStart(String(entry.offset), 10, "0"); + offset += copyStringIntoBuffer(entryOffset, buffer, offset); + buffer[offset++] = CharCodes_default.Space; + var entryGen = padStart(String(entry.ref.generationNumber), 5, "0"); + offset += copyStringIntoBuffer(entryGen, buffer, offset); + buffer[offset++] = CharCodes_default.Space; + buffer[offset++] = entry.deleted ? CharCodes_default.f : CharCodes_default.n; + buffer[offset++] = CharCodes_default.Space; + buffer[offset++] = CharCodes_default.Newline; + } + return 20 * length; + }; + PDFCrossRefSection2.prototype.append = function(currEntry) { + if (this.chunkLength === 0) { + this.subsections.push([currEntry]); + this.chunkIdx = 0; + this.chunkLength = 1; + return; + } + var chunk = this.subsections[this.chunkIdx]; + var prevEntry = chunk[this.chunkLength - 1]; + if (currEntry.ref.objectNumber - prevEntry.ref.objectNumber > 1) { + this.subsections.push([currEntry]); + this.chunkIdx += 1; + this.chunkLength = 1; + } else { + chunk.push(currEntry); + this.chunkLength += 1; + } + }; + PDFCrossRefSection2.create = function() { + return new PDFCrossRefSection2({ + ref: PDFRef_default.of(0, 65535), + offset: 0, + deleted: true + }); + }; + PDFCrossRefSection2.createEmpty = function() { + return new PDFCrossRefSection2(); + }; + return PDFCrossRefSection2; + })() +); +var PDFCrossRefSection_default = PDFCrossRefSection; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/document/PDFTrailer.js +var PDFTrailer = ( + /** @class */ + (function() { + function PDFTrailer2(lastXRefOffset) { + this.lastXRefOffset = String(lastXRefOffset); + } + PDFTrailer2.prototype.toString = function() { + return "startxref\n" + this.lastXRefOffset + "\n%%EOF"; + }; + PDFTrailer2.prototype.sizeInBytes = function() { + return 16 + this.lastXRefOffset.length; + }; + PDFTrailer2.prototype.copyBytesInto = function(buffer, offset) { + var initialOffset = offset; + buffer[offset++] = CharCodes_default.s; + buffer[offset++] = CharCodes_default.t; + buffer[offset++] = CharCodes_default.a; + buffer[offset++] = CharCodes_default.r; + buffer[offset++] = CharCodes_default.t; + buffer[offset++] = CharCodes_default.x; + buffer[offset++] = CharCodes_default.r; + buffer[offset++] = CharCodes_default.e; + buffer[offset++] = CharCodes_default.f; + buffer[offset++] = CharCodes_default.Newline; + offset += copyStringIntoBuffer(this.lastXRefOffset, buffer, offset); + buffer[offset++] = CharCodes_default.Newline; + buffer[offset++] = CharCodes_default.Percent; + buffer[offset++] = CharCodes_default.Percent; + buffer[offset++] = CharCodes_default.E; + buffer[offset++] = CharCodes_default.O; + buffer[offset++] = CharCodes_default.F; + return offset - initialOffset; + }; + PDFTrailer2.forLastCrossRefSectionOffset = function(offset) { + return new PDFTrailer2(offset); + }; + return PDFTrailer2; + })() +); +var PDFTrailer_default = PDFTrailer; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/document/PDFTrailerDict.js +var PDFTrailerDict = ( + /** @class */ + (function() { + function PDFTrailerDict2(dict) { + this.dict = dict; + } + PDFTrailerDict2.prototype.toString = function() { + return "trailer\n" + this.dict.toString(); + }; + PDFTrailerDict2.prototype.sizeInBytes = function() { + return 8 + this.dict.sizeInBytes(); + }; + PDFTrailerDict2.prototype.copyBytesInto = function(buffer, offset) { + var initialOffset = offset; + buffer[offset++] = CharCodes_default.t; + buffer[offset++] = CharCodes_default.r; + buffer[offset++] = CharCodes_default.a; + buffer[offset++] = CharCodes_default.i; + buffer[offset++] = CharCodes_default.l; + buffer[offset++] = CharCodes_default.e; + buffer[offset++] = CharCodes_default.r; + buffer[offset++] = CharCodes_default.Newline; + offset += this.dict.copyBytesInto(buffer, offset); + return offset - initialOffset; + }; + PDFTrailerDict2.of = function(dict) { + return new PDFTrailerDict2(dict); + }; + return PDFTrailerDict2; + })() +); +var PDFTrailerDict_default = PDFTrailerDict; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/structures/PDFObjectStream.js +var PDFObjectStream = ( + /** @class */ + (function(_super) { + __extends(PDFObjectStream2, _super); + function PDFObjectStream2(context, objects, encode) { + if (encode === void 0) { + encode = true; + } + var _this = _super.call(this, context.obj({}), encode) || this; + _this.objects = objects; + _this.offsets = _this.computeObjectOffsets(); + _this.offsetsString = _this.computeOffsetsString(); + _this.dict.set(PDFName_default.of("Type"), PDFName_default.of("ObjStm")); + _this.dict.set(PDFName_default.of("N"), PDFNumber_default.of(_this.objects.length)); + _this.dict.set(PDFName_default.of("First"), PDFNumber_default.of(_this.offsetsString.length)); + return _this; + } + PDFObjectStream2.prototype.getObjectsCount = function() { + return this.objects.length; + }; + PDFObjectStream2.prototype.clone = function(context) { + return PDFObjectStream2.withContextAndObjects(context || this.dict.context, this.objects.slice(), this.encode); + }; + PDFObjectStream2.prototype.getContentsString = function() { + var value2 = this.offsetsString; + for (var idx = 0, len = this.objects.length; idx < len; idx++) { + var _a = this.objects[idx], object = _a[1]; + value2 += object + "\n"; + } + return value2; + }; + PDFObjectStream2.prototype.getUnencodedContents = function() { + var buffer = new Uint8Array(this.getUnencodedContentsSize()); + var offset = copyStringIntoBuffer(this.offsetsString, buffer, 0); + for (var idx = 0, len = this.objects.length; idx < len; idx++) { + var _a = this.objects[idx], object = _a[1]; + offset += object.copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes_default.Newline; + } + return buffer; + }; + PDFObjectStream2.prototype.getUnencodedContentsSize = function() { + return this.offsetsString.length + last(this.offsets)[1] + last(this.objects)[1].sizeInBytes() + 1; + }; + PDFObjectStream2.prototype.computeOffsetsString = function() { + var offsetsString = ""; + for (var idx = 0, len = this.offsets.length; idx < len; idx++) { + var _a = this.offsets[idx], objectNumber = _a[0], offset = _a[1]; + offsetsString += objectNumber + " " + offset + " "; + } + return offsetsString; + }; + PDFObjectStream2.prototype.computeObjectOffsets = function() { + var offset = 0; + var offsets = new Array(this.objects.length); + for (var idx = 0, len = this.objects.length; idx < len; idx++) { + var _a = this.objects[idx], ref = _a[0], object = _a[1]; + offsets[idx] = [ref.objectNumber, offset]; + offset += object.sizeInBytes() + 1; + } + return offsets; + }; + PDFObjectStream2.withContextAndObjects = function(context, objects, encode) { + if (encode === void 0) { + encode = true; + } + return new PDFObjectStream2(context, objects, encode); + }; + return PDFObjectStream2; + })(PDFFlateStream_default) +); +var PDFObjectStream_default = PDFObjectStream; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/writers/PDFWriter.js +var PDFWriter = ( + /** @class */ + (function() { + function PDFWriter2(context, objectsPerTick) { + var _this = this; + this.parsedObjects = 0; + this.shouldWaitForTick = function(n) { + _this.parsedObjects += n; + return _this.parsedObjects % _this.objectsPerTick === 0; + }; + this.context = context; + this.objectsPerTick = objectsPerTick; + } + PDFWriter2.prototype.serializeToBuffer = function() { + return __awaiter(this, void 0, void 0, function() { + var _a, size, header, indirectObjects, xref, trailerDict, trailer, offset, buffer, idx, len, _b, ref, object, objectNumber, generationNumber, n; + return __generator(this, function(_c) { + switch (_c.label) { + case 0: + return [4, this.computeBufferSize()]; + case 1: + _a = _c.sent(), size = _a.size, header = _a.header, indirectObjects = _a.indirectObjects, xref = _a.xref, trailerDict = _a.trailerDict, trailer = _a.trailer; + offset = 0; + buffer = new Uint8Array(size); + offset += header.copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes_default.Newline; + buffer[offset++] = CharCodes_default.Newline; + idx = 0, len = indirectObjects.length; + _c.label = 2; + case 2: + if (!(idx < len)) return [3, 5]; + _b = indirectObjects[idx], ref = _b[0], object = _b[1]; + objectNumber = String(ref.objectNumber); + offset += copyStringIntoBuffer(objectNumber, buffer, offset); + buffer[offset++] = CharCodes_default.Space; + generationNumber = String(ref.generationNumber); + offset += copyStringIntoBuffer(generationNumber, buffer, offset); + buffer[offset++] = CharCodes_default.Space; + buffer[offset++] = CharCodes_default.o; + buffer[offset++] = CharCodes_default.b; + buffer[offset++] = CharCodes_default.j; + buffer[offset++] = CharCodes_default.Newline; + offset += object.copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes_default.Newline; + buffer[offset++] = CharCodes_default.e; + buffer[offset++] = CharCodes_default.n; + buffer[offset++] = CharCodes_default.d; + buffer[offset++] = CharCodes_default.o; + buffer[offset++] = CharCodes_default.b; + buffer[offset++] = CharCodes_default.j; + buffer[offset++] = CharCodes_default.Newline; + buffer[offset++] = CharCodes_default.Newline; + n = object instanceof PDFObjectStream_default ? object.getObjectsCount() : 1; + if (!this.shouldWaitForTick(n)) return [3, 4]; + return [4, waitForTick()]; + case 3: + _c.sent(); + _c.label = 4; + case 4: + idx++; + return [3, 2]; + case 5: + if (xref) { + offset += xref.copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes_default.Newline; + } + if (trailerDict) { + offset += trailerDict.copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes_default.Newline; + buffer[offset++] = CharCodes_default.Newline; + } + offset += trailer.copyBytesInto(buffer, offset); + return [2, buffer]; + } + }); + }); + }; + PDFWriter2.prototype.computeIndirectObjectSize = function(_a) { + var ref = _a[0], object = _a[1]; + var refSize = ref.sizeInBytes() + 3; + var objectSize = object.sizeInBytes() + 9; + return refSize + objectSize; + }; + PDFWriter2.prototype.createTrailerDict = function() { + return this.context.obj({ + Size: this.context.largestObjectNumber + 1, + Root: this.context.trailerInfo.Root, + Encrypt: this.context.trailerInfo.Encrypt, + Info: this.context.trailerInfo.Info, + ID: this.context.trailerInfo.ID + }); + }; + PDFWriter2.prototype.computeBufferSize = function() { + return __awaiter(this, void 0, void 0, function() { + var header, size, xref, indirectObjects, idx, len, indirectObject, ref, xrefOffset, trailerDict, trailer; + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + header = PDFHeader_default.forVersion(1, 7); + size = header.sizeInBytes() + 2; + xref = PDFCrossRefSection_default.create(); + indirectObjects = this.context.enumerateIndirectObjects(); + idx = 0, len = indirectObjects.length; + _a.label = 1; + case 1: + if (!(idx < len)) return [3, 4]; + indirectObject = indirectObjects[idx]; + ref = indirectObject[0]; + xref.addEntry(ref, size); + size += this.computeIndirectObjectSize(indirectObject); + if (!this.shouldWaitForTick(1)) return [3, 3]; + return [4, waitForTick()]; + case 2: + _a.sent(); + _a.label = 3; + case 3: + idx++; + return [3, 1]; + case 4: + xrefOffset = size; + size += xref.sizeInBytes() + 1; + trailerDict = PDFTrailerDict_default.of(this.createTrailerDict()); + size += trailerDict.sizeInBytes() + 2; + trailer = PDFTrailer_default.forLastCrossRefSectionOffset(xrefOffset); + size += trailer.sizeInBytes(); + return [2, { size, header, indirectObjects, xref, trailerDict, trailer }]; + } + }); + }); + }; + PDFWriter2.forContext = function(context, objectsPerTick) { + return new PDFWriter2(context, objectsPerTick); + }; + return PDFWriter2; + })() +); +var PDFWriter_default = PDFWriter; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/objects/PDFInvalidObject.js +var PDFInvalidObject = ( + /** @class */ + (function(_super) { + __extends(PDFInvalidObject2, _super); + function PDFInvalidObject2(data) { + var _this = _super.call(this) || this; + _this.data = data; + return _this; + } + PDFInvalidObject2.prototype.clone = function() { + return PDFInvalidObject2.of(this.data.slice()); + }; + PDFInvalidObject2.prototype.toString = function() { + return "PDFInvalidObject(" + this.data.length + " bytes)"; + }; + PDFInvalidObject2.prototype.sizeInBytes = function() { + return this.data.length; + }; + PDFInvalidObject2.prototype.copyBytesInto = function(buffer, offset) { + var length = this.data.length; + for (var idx = 0; idx < length; idx++) { + buffer[offset++] = this.data[idx]; + } + return length; + }; + PDFInvalidObject2.of = function(data) { + return new PDFInvalidObject2(data); + }; + return PDFInvalidObject2; + })(PDFObject_default) +); +var PDFInvalidObject_default = PDFInvalidObject; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/structures/PDFCrossRefStream.js +var EntryType; +(function(EntryType2) { + EntryType2[EntryType2["Deleted"] = 0] = "Deleted"; + EntryType2[EntryType2["Uncompressed"] = 1] = "Uncompressed"; + EntryType2[EntryType2["Compressed"] = 2] = "Compressed"; +})(EntryType || (EntryType = {})); +var PDFCrossRefStream = ( + /** @class */ + (function(_super) { + __extends(PDFCrossRefStream2, _super); + function PDFCrossRefStream2(dict, entries, encode) { + if (encode === void 0) { + encode = true; + } + var _this = _super.call(this, dict, encode) || this; + _this.computeIndex = function() { + var subsections = []; + var subsectionLength = 0; + for (var idx = 0, len = _this.entries.length; idx < len; idx++) { + var currEntry = _this.entries[idx]; + var prevEntry = _this.entries[idx - 1]; + if (idx === 0) { + subsections.push(currEntry.ref.objectNumber); + } else if (currEntry.ref.objectNumber - prevEntry.ref.objectNumber > 1) { + subsections.push(subsectionLength); + subsections.push(currEntry.ref.objectNumber); + subsectionLength = 0; + } + subsectionLength += 1; + } + subsections.push(subsectionLength); + return subsections; + }; + _this.computeEntryTuples = function() { + var entryTuples = new Array(_this.entries.length); + for (var idx = 0, len = _this.entries.length; idx < len; idx++) { + var entry = _this.entries[idx]; + if (entry.type === EntryType.Deleted) { + var type = entry.type, nextFreeObjectNumber = entry.nextFreeObjectNumber, ref = entry.ref; + entryTuples[idx] = [type, nextFreeObjectNumber, ref.generationNumber]; + } + if (entry.type === EntryType.Uncompressed) { + var type = entry.type, offset = entry.offset, ref = entry.ref; + entryTuples[idx] = [type, offset, ref.generationNumber]; + } + if (entry.type === EntryType.Compressed) { + var type = entry.type, objectStreamRef = entry.objectStreamRef, index = entry.index; + entryTuples[idx] = [type, objectStreamRef.objectNumber, index]; + } + } + return entryTuples; + }; + _this.computeMaxEntryByteWidths = function() { + var entryTuples = _this.entryTuplesCache.access(); + var widths = [0, 0, 0]; + for (var idx = 0, len = entryTuples.length; idx < len; idx++) { + var _a = entryTuples[idx], first = _a[0], second = _a[1], third = _a[2]; + var firstSize = sizeInBytes(first); + var secondSize = sizeInBytes(second); + var thirdSize = sizeInBytes(third); + if (firstSize > widths[0]) + widths[0] = firstSize; + if (secondSize > widths[1]) + widths[1] = secondSize; + if (thirdSize > widths[2]) + widths[2] = thirdSize; + } + return widths; + }; + _this.entries = entries || []; + _this.entryTuplesCache = Cache_default.populatedBy(_this.computeEntryTuples); + _this.maxByteWidthsCache = Cache_default.populatedBy(_this.computeMaxEntryByteWidths); + _this.indexCache = Cache_default.populatedBy(_this.computeIndex); + dict.set(PDFName_default.of("Type"), PDFName_default.of("XRef")); + return _this; + } + PDFCrossRefStream2.prototype.addDeletedEntry = function(ref, nextFreeObjectNumber) { + var type = EntryType.Deleted; + this.entries.push({ type, ref, nextFreeObjectNumber }); + this.entryTuplesCache.invalidate(); + this.maxByteWidthsCache.invalidate(); + this.indexCache.invalidate(); + this.contentsCache.invalidate(); + }; + PDFCrossRefStream2.prototype.addUncompressedEntry = function(ref, offset) { + var type = EntryType.Uncompressed; + this.entries.push({ type, ref, offset }); + this.entryTuplesCache.invalidate(); + this.maxByteWidthsCache.invalidate(); + this.indexCache.invalidate(); + this.contentsCache.invalidate(); + }; + PDFCrossRefStream2.prototype.addCompressedEntry = function(ref, objectStreamRef, index) { + var type = EntryType.Compressed; + this.entries.push({ type, ref, objectStreamRef, index }); + this.entryTuplesCache.invalidate(); + this.maxByteWidthsCache.invalidate(); + this.indexCache.invalidate(); + this.contentsCache.invalidate(); + }; + PDFCrossRefStream2.prototype.clone = function(context) { + var _a = this, dict = _a.dict, entries = _a.entries, encode = _a.encode; + return PDFCrossRefStream2.of(dict.clone(context), entries.slice(), encode); + }; + PDFCrossRefStream2.prototype.getContentsString = function() { + var entryTuples = this.entryTuplesCache.access(); + var byteWidths = this.maxByteWidthsCache.access(); + var value2 = ""; + for (var entryIdx = 0, entriesLen = entryTuples.length; entryIdx < entriesLen; entryIdx++) { + var _a = entryTuples[entryIdx], first = _a[0], second = _a[1], third = _a[2]; + var firstBytes = reverseArray(bytesFor(first)); + var secondBytes = reverseArray(bytesFor(second)); + var thirdBytes = reverseArray(bytesFor(third)); + for (var idx = byteWidths[0] - 1; idx >= 0; idx--) { + value2 += (firstBytes[idx] || 0).toString(2); + } + for (var idx = byteWidths[1] - 1; idx >= 0; idx--) { + value2 += (secondBytes[idx] || 0).toString(2); + } + for (var idx = byteWidths[2] - 1; idx >= 0; idx--) { + value2 += (thirdBytes[idx] || 0).toString(2); + } + } + return value2; + }; + PDFCrossRefStream2.prototype.getUnencodedContents = function() { + var entryTuples = this.entryTuplesCache.access(); + var byteWidths = this.maxByteWidthsCache.access(); + var buffer = new Uint8Array(this.getUnencodedContentsSize()); + var offset = 0; + for (var entryIdx = 0, entriesLen = entryTuples.length; entryIdx < entriesLen; entryIdx++) { + var _a = entryTuples[entryIdx], first = _a[0], second = _a[1], third = _a[2]; + var firstBytes = reverseArray(bytesFor(first)); + var secondBytes = reverseArray(bytesFor(second)); + var thirdBytes = reverseArray(bytesFor(third)); + for (var idx = byteWidths[0] - 1; idx >= 0; idx--) { + buffer[offset++] = firstBytes[idx] || 0; + } + for (var idx = byteWidths[1] - 1; idx >= 0; idx--) { + buffer[offset++] = secondBytes[idx] || 0; + } + for (var idx = byteWidths[2] - 1; idx >= 0; idx--) { + buffer[offset++] = thirdBytes[idx] || 0; + } + } + return buffer; + }; + PDFCrossRefStream2.prototype.getUnencodedContentsSize = function() { + var byteWidths = this.maxByteWidthsCache.access(); + var entryWidth = sum(byteWidths); + return entryWidth * this.entries.length; + }; + PDFCrossRefStream2.prototype.updateDict = function() { + _super.prototype.updateDict.call(this); + var byteWidths = this.maxByteWidthsCache.access(); + var index = this.indexCache.access(); + var context = this.dict.context; + this.dict.set(PDFName_default.of("W"), context.obj(byteWidths)); + this.dict.set(PDFName_default.of("Index"), context.obj(index)); + }; + PDFCrossRefStream2.create = function(dict, encode) { + if (encode === void 0) { + encode = true; + } + var stream2 = new PDFCrossRefStream2(dict, [], encode); + stream2.addDeletedEntry(PDFRef_default.of(0, 65535), 0); + return stream2; + }; + PDFCrossRefStream2.of = function(dict, entries, encode) { + if (encode === void 0) { + encode = true; + } + return new PDFCrossRefStream2(dict, entries, encode); + }; + return PDFCrossRefStream2; + })(PDFFlateStream_default) +); +var PDFCrossRefStream_default = PDFCrossRefStream; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/writers/PDFStreamWriter.js +var PDFStreamWriter = ( + /** @class */ + (function(_super) { + __extends(PDFStreamWriter2, _super); + function PDFStreamWriter2(context, objectsPerTick, encodeStreams, objectsPerStream) { + var _this = _super.call(this, context, objectsPerTick) || this; + _this.encodeStreams = encodeStreams; + _this.objectsPerStream = objectsPerStream; + return _this; + } + PDFStreamWriter2.prototype.computeBufferSize = function() { + return __awaiter(this, void 0, void 0, function() { + var objectNumber, header, size, xrefStream, uncompressedObjects, compressedObjects, objectStreamRefs, indirectObjects, idx, len, indirectObject, ref, object, shouldNotCompress, chunk, objectStreamRef, idx, len, chunk, ref, objectStream, xrefStreamRef, xrefOffset, trailer; + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + objectNumber = this.context.largestObjectNumber + 1; + header = PDFHeader_default.forVersion(1, 7); + size = header.sizeInBytes() + 2; + xrefStream = PDFCrossRefStream_default.create(this.createTrailerDict(), this.encodeStreams); + uncompressedObjects = []; + compressedObjects = []; + objectStreamRefs = []; + indirectObjects = this.context.enumerateIndirectObjects(); + idx = 0, len = indirectObjects.length; + _a.label = 1; + case 1: + if (!(idx < len)) return [3, 6]; + indirectObject = indirectObjects[idx]; + ref = indirectObject[0], object = indirectObject[1]; + shouldNotCompress = ref === this.context.trailerInfo.Encrypt || object instanceof PDFStream_default || object instanceof PDFInvalidObject_default || ref.generationNumber !== 0; + if (!shouldNotCompress) return [3, 4]; + uncompressedObjects.push(indirectObject); + xrefStream.addUncompressedEntry(ref, size); + size += this.computeIndirectObjectSize(indirectObject); + if (!this.shouldWaitForTick(1)) return [3, 3]; + return [4, waitForTick()]; + case 2: + _a.sent(); + _a.label = 3; + case 3: + return [3, 5]; + case 4: + chunk = last(compressedObjects); + objectStreamRef = last(objectStreamRefs); + if (!chunk || chunk.length % this.objectsPerStream === 0) { + chunk = []; + compressedObjects.push(chunk); + objectStreamRef = PDFRef_default.of(objectNumber++); + objectStreamRefs.push(objectStreamRef); + } + xrefStream.addCompressedEntry(ref, objectStreamRef, chunk.length); + chunk.push(indirectObject); + _a.label = 5; + case 5: + idx++; + return [3, 1]; + case 6: + idx = 0, len = compressedObjects.length; + _a.label = 7; + case 7: + if (!(idx < len)) return [3, 10]; + chunk = compressedObjects[idx]; + ref = objectStreamRefs[idx]; + objectStream = PDFObjectStream_default.withContextAndObjects(this.context, chunk, this.encodeStreams); + xrefStream.addUncompressedEntry(ref, size); + size += this.computeIndirectObjectSize([ref, objectStream]); + uncompressedObjects.push([ref, objectStream]); + if (!this.shouldWaitForTick(chunk.length)) return [3, 9]; + return [4, waitForTick()]; + case 8: + _a.sent(); + _a.label = 9; + case 9: + idx++; + return [3, 7]; + case 10: + xrefStreamRef = PDFRef_default.of(objectNumber++); + xrefStream.dict.set(PDFName_default.of("Size"), PDFNumber_default.of(objectNumber)); + xrefStream.addUncompressedEntry(xrefStreamRef, size); + xrefOffset = size; + size += this.computeIndirectObjectSize([xrefStreamRef, xrefStream]); + uncompressedObjects.push([xrefStreamRef, xrefStream]); + trailer = PDFTrailer_default.forLastCrossRefSectionOffset(xrefOffset); + size += trailer.sizeInBytes(); + return [2, { size, header, indirectObjects: uncompressedObjects, trailer }]; + } + }); + }); + }; + PDFStreamWriter2.forContext = function(context, objectsPerTick, encodeStreams, objectsPerStream) { + if (encodeStreams === void 0) { + encodeStreams = true; + } + if (objectsPerStream === void 0) { + objectsPerStream = 50; + } + return new PDFStreamWriter2(context, objectsPerTick, encodeStreams, objectsPerStream); + }; + return PDFStreamWriter2; + })(PDFWriter_default) +); +var PDFStreamWriter_default = PDFStreamWriter; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/objects/PDFHexString.js +var PDFHexString = ( + /** @class */ + (function(_super) { + __extends(PDFHexString2, _super); + function PDFHexString2(value2) { + var _this = _super.call(this) || this; + _this.value = value2; + return _this; + } + PDFHexString2.prototype.asBytes = function() { + var hex2 = this.value + (this.value.length % 2 === 1 ? "0" : ""); + var hexLength = hex2.length; + var bytes = new Uint8Array(hex2.length / 2); + var hexOffset = 0; + var bytesOffset = 0; + while (hexOffset < hexLength) { + var byte = parseInt(hex2.substring(hexOffset, hexOffset + 2), 16); + bytes[bytesOffset] = byte; + hexOffset += 2; + bytesOffset += 1; + } + return bytes; + }; + PDFHexString2.prototype.decodeText = function() { + var bytes = this.asBytes(); + if (hasUtf16BOM(bytes)) + return utf16Decode(bytes); + return pdfDocEncodingDecode(bytes); + }; + PDFHexString2.prototype.decodeDate = function() { + var text2 = this.decodeText(); + var date = parseDate(text2); + if (!date) + throw new InvalidPDFDateStringError(text2); + return date; + }; + PDFHexString2.prototype.asString = function() { + return this.value; + }; + PDFHexString2.prototype.clone = function() { + return PDFHexString2.of(this.value); + }; + PDFHexString2.prototype.toString = function() { + return "<" + this.value + ">"; + }; + PDFHexString2.prototype.sizeInBytes = function() { + return this.value.length + 2; + }; + PDFHexString2.prototype.copyBytesInto = function(buffer, offset) { + buffer[offset++] = CharCodes_default.LessThan; + offset += copyStringIntoBuffer(this.value, buffer, offset); + buffer[offset++] = CharCodes_default.GreaterThan; + return this.value.length + 2; + }; + PDFHexString2.of = function(value2) { + return new PDFHexString2(value2); + }; + PDFHexString2.fromText = function(value2) { + var encoded = utf16Encode(value2); + var hex2 = ""; + for (var idx = 0, len = encoded.length; idx < len; idx++) { + hex2 += toHexStringOfMinLength(encoded[idx], 4); + } + return new PDFHexString2(hex2); + }; + return PDFHexString2; + })(PDFObject_default) +); +var PDFHexString_default = PDFHexString; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/embedders/StandardFontEmbedder.js +var StandardFontEmbedder = ( + /** @class */ + (function() { + function StandardFontEmbedder2(fontName, customName) { + this.encoding = fontName === FontNames.ZapfDingbats ? Encodings.ZapfDingbats : fontName === FontNames.Symbol ? Encodings.Symbol : Encodings.WinAnsi; + this.font = Font.load(fontName); + this.fontName = this.font.FontName; + this.customName = customName; + } + StandardFontEmbedder2.prototype.encodeText = function(text2) { + var glyphs = this.encodeTextAsGlyphs(text2); + var hexCodes = new Array(glyphs.length); + for (var idx = 0, len = glyphs.length; idx < len; idx++) { + hexCodes[idx] = toHexString(glyphs[idx].code); + } + return PDFHexString_default.of(hexCodes.join("")); + }; + StandardFontEmbedder2.prototype.widthOfTextAtSize = function(text2, size) { + var glyphs = this.encodeTextAsGlyphs(text2); + var totalWidth = 0; + for (var idx = 0, len = glyphs.length; idx < len; idx++) { + var left = glyphs[idx].name; + var right = (glyphs[idx + 1] || {}).name; + var kernAmount = this.font.getXAxisKerningForPair(left, right) || 0; + totalWidth += this.widthOfGlyph(left) + kernAmount; + } + var scale2 = size / 1e3; + return totalWidth * scale2; + }; + StandardFontEmbedder2.prototype.heightOfFontAtSize = function(size, options) { + if (options === void 0) { + options = {}; + } + var _a = options.descender, descender = _a === void 0 ? true : _a; + var _b = this.font, Ascender = _b.Ascender, Descender = _b.Descender, FontBBox = _b.FontBBox; + var yTop = Ascender || FontBBox[3]; + var yBottom = Descender || FontBBox[1]; + var height = yTop - yBottom; + if (!descender) + height += Descender || 0; + return height / 1e3 * size; + }; + StandardFontEmbedder2.prototype.sizeOfFontAtHeight = function(height) { + var _a = this.font, Ascender = _a.Ascender, Descender = _a.Descender, FontBBox = _a.FontBBox; + var yTop = Ascender || FontBBox[3]; + var yBottom = Descender || FontBBox[1]; + return 1e3 * height / (yTop - yBottom); + }; + StandardFontEmbedder2.prototype.embedIntoContext = function(context, ref) { + var fontDict = context.obj({ + Type: "Font", + Subtype: "Type1", + BaseFont: this.customName || this.fontName, + Encoding: this.encoding === Encodings.WinAnsi ? "WinAnsiEncoding" : void 0 + }); + if (ref) { + context.assign(ref, fontDict); + return ref; + } else { + return context.register(fontDict); + } + }; + StandardFontEmbedder2.prototype.widthOfGlyph = function(glyphName) { + return this.font.getWidthOfGlyph(glyphName) || 250; + }; + StandardFontEmbedder2.prototype.encodeTextAsGlyphs = function(text2) { + var codePoints = Array.from(text2); + var glyphs = new Array(codePoints.length); + for (var idx = 0, len = codePoints.length; idx < len; idx++) { + var codePoint = toCodePoint(codePoints[idx]); + glyphs[idx] = this.encoding.encodeUnicodeCodePoint(codePoint); + } + return glyphs; + }; + StandardFontEmbedder2.for = function(fontName, customName) { + return new StandardFontEmbedder2(fontName, customName); + }; + return StandardFontEmbedder2; + })() +); +var StandardFontEmbedder_default = StandardFontEmbedder; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/embedders/CMap.js +var createCmap = function(glyphs, glyphId) { + var bfChars = new Array(glyphs.length); + for (var idx = 0, len = glyphs.length; idx < len; idx++) { + var glyph = glyphs[idx]; + var id = cmapHexFormat(cmapHexString(glyphId(glyph))); + var unicode = cmapHexFormat.apply(void 0, glyph.codePoints.map(cmapCodePointFormat)); + bfChars[idx] = [id, unicode]; + } + return fillCmapTemplate(bfChars); +}; +var fillCmapTemplate = function(bfChars) { + return "/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo <<\n /Registry (Adobe)\n /Ordering (UCS)\n /Supplement 0\n>> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<0000>\nendcodespacerange\n" + bfChars.length + " beginbfchar\n" + bfChars.map(function(_a) { + var glyphId = _a[0], codePoint = _a[1]; + return glyphId + " " + codePoint; + }).join("\n") + "\nendbfchar\nendcmap\nCMapName currentdict /CMap defineresource pop\nend\nend"; +}; +var cmapHexFormat = function() { + var values2 = []; + for (var _i = 0; _i < arguments.length; _i++) { + values2[_i] = arguments[_i]; + } + return "<" + values2.join("") + ">"; +}; +var cmapHexString = function(value2) { + return toHexStringOfMinLength(value2, 4); +}; +var cmapCodePointFormat = function(codePoint) { + if (isWithinBMP(codePoint)) + return cmapHexString(codePoint); + if (hasSurrogates(codePoint)) { + var hs = highSurrogate(codePoint); + var ls = lowSurrogate(codePoint); + return "" + cmapHexString(hs) + cmapHexString(ls); + } + var hex2 = toHexString(codePoint); + var msg = "0x" + hex2 + " is not a valid UTF-8 or UTF-16 codepoint."; + throw new Error(msg); +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/embedders/FontFlags.js +var makeFontFlags = function(options) { + var flags = 0; + var flipBit = function(bit) { + flags |= 1 << bit - 1; + }; + if (options.fixedPitch) + flipBit(1); + if (options.serif) + flipBit(2); + if (options.symbolic) + flipBit(3); + if (options.script) + flipBit(4); + if (options.nonsymbolic) + flipBit(6); + if (options.italic) + flipBit(7); + if (options.allCap) + flipBit(17); + if (options.smallCap) + flipBit(18); + if (options.forceBold) + flipBit(19); + return flags; +}; +var deriveFontFlags = function(font) { + var familyClass = font["OS/2"] ? font["OS/2"].sFamilyClass : 0; + var flags = makeFontFlags({ + fixedPitch: font.post.isFixedPitch, + serif: 1 <= familyClass && familyClass <= 7, + symbolic: true, + script: familyClass === 10, + italic: font.head.macStyle.italic + }); + return flags; +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/objects/PDFString.js +var PDFString = ( + /** @class */ + (function(_super) { + __extends(PDFString2, _super); + function PDFString2(value2) { + var _this = _super.call(this) || this; + _this.value = value2; + return _this; + } + PDFString2.prototype.asBytes = function() { + var bytes = []; + var octal = ""; + var escaped = false; + var pushByte = function(byte2) { + if (byte2 !== void 0) + bytes.push(byte2); + escaped = false; + }; + for (var idx = 0, len = this.value.length; idx < len; idx++) { + var char = this.value[idx]; + var byte = toCharCode(char); + var nextChar = this.value[idx + 1]; + if (!escaped) { + if (byte === CharCodes_default.BackSlash) + escaped = true; + else + pushByte(byte); + } else { + if (byte === CharCodes_default.Newline) + pushByte(); + else if (byte === CharCodes_default.CarriageReturn) + pushByte(); + else if (byte === CharCodes_default.n) + pushByte(CharCodes_default.Newline); + else if (byte === CharCodes_default.r) + pushByte(CharCodes_default.CarriageReturn); + else if (byte === CharCodes_default.t) + pushByte(CharCodes_default.Tab); + else if (byte === CharCodes_default.b) + pushByte(CharCodes_default.Backspace); + else if (byte === CharCodes_default.f) + pushByte(CharCodes_default.FormFeed); + else if (byte === CharCodes_default.LeftParen) + pushByte(CharCodes_default.LeftParen); + else if (byte === CharCodes_default.RightParen) + pushByte(CharCodes_default.RightParen); + else if (byte === CharCodes_default.Backspace) + pushByte(CharCodes_default.BackSlash); + else if (byte >= CharCodes_default.Zero && byte <= CharCodes_default.Seven) { + octal += char; + if (octal.length === 3 || !(nextChar >= "0" && nextChar <= "7")) { + pushByte(parseInt(octal, 8)); + octal = ""; + } + } else { + pushByte(byte); + } + } + } + return new Uint8Array(bytes); + }; + PDFString2.prototype.decodeText = function() { + var bytes = this.asBytes(); + if (hasUtf16BOM(bytes)) + return utf16Decode(bytes); + return pdfDocEncodingDecode(bytes); + }; + PDFString2.prototype.decodeDate = function() { + var text2 = this.decodeText(); + var date = parseDate(text2); + if (!date) + throw new InvalidPDFDateStringError(text2); + return date; + }; + PDFString2.prototype.asString = function() { + return this.value; + }; + PDFString2.prototype.clone = function() { + return PDFString2.of(this.value); + }; + PDFString2.prototype.toString = function() { + return "(" + this.value + ")"; + }; + PDFString2.prototype.sizeInBytes = function() { + return this.value.length + 2; + }; + PDFString2.prototype.copyBytesInto = function(buffer, offset) { + buffer[offset++] = CharCodes_default.LeftParen; + offset += copyStringIntoBuffer(this.value, buffer, offset); + buffer[offset++] = CharCodes_default.RightParen; + return this.value.length + 2; + }; + PDFString2.of = function(value2) { + return new PDFString2(value2); + }; + PDFString2.fromDate = function(date) { + var year = padStart(String(date.getUTCFullYear()), 4, "0"); + var month = padStart(String(date.getUTCMonth() + 1), 2, "0"); + var day = padStart(String(date.getUTCDate()), 2, "0"); + var hours = padStart(String(date.getUTCHours()), 2, "0"); + var mins = padStart(String(date.getUTCMinutes()), 2, "0"); + var secs = padStart(String(date.getUTCSeconds()), 2, "0"); + return new PDFString2("D:" + year + month + day + hours + mins + secs + "Z"); + }; + return PDFString2; + })(PDFObject_default) +); +var PDFString_default = PDFString; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/embedders/CustomFontEmbedder.js +var CustomFontEmbedder = ( + /** @class */ + (function() { + function CustomFontEmbedder2(font, fontData, customName, fontFeatures) { + var _this = this; + this.allGlyphsInFontSortedById = function() { + var glyphs = new Array(_this.font.characterSet.length); + for (var idx = 0, len = glyphs.length; idx < len; idx++) { + var codePoint = _this.font.characterSet[idx]; + glyphs[idx] = _this.font.glyphForCodePoint(codePoint); + } + return sortedUniq(glyphs.sort(byAscendingId), function(g) { + return g.id; + }); + }; + this.font = font; + this.scale = 1e3 / this.font.unitsPerEm; + this.fontData = fontData; + this.fontName = this.font.postscriptName || "Font"; + this.customName = customName; + this.fontFeatures = fontFeatures; + this.baseFontName = ""; + this.glyphCache = Cache_default.populatedBy(this.allGlyphsInFontSortedById); + } + CustomFontEmbedder2.for = function(fontkit, fontData, customName, fontFeatures) { + return __awaiter(this, void 0, void 0, function() { + var font; + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + return [4, fontkit.create(fontData)]; + case 1: + font = _a.sent(); + return [2, new CustomFontEmbedder2(font, fontData, customName, fontFeatures)]; + } + }); + }); + }; + CustomFontEmbedder2.prototype.encodeText = function(text2) { + var glyphs = this.font.layout(text2, this.fontFeatures).glyphs; + var hexCodes = new Array(glyphs.length); + for (var idx = 0, len = glyphs.length; idx < len; idx++) { + hexCodes[idx] = toHexStringOfMinLength(glyphs[idx].id, 4); + } + return PDFHexString_default.of(hexCodes.join("")); + }; + CustomFontEmbedder2.prototype.widthOfTextAtSize = function(text2, size) { + var glyphs = this.font.layout(text2, this.fontFeatures).glyphs; + var totalWidth = 0; + for (var idx = 0, len = glyphs.length; idx < len; idx++) { + totalWidth += glyphs[idx].advanceWidth * this.scale; + } + var scale2 = size / 1e3; + return totalWidth * scale2; + }; + CustomFontEmbedder2.prototype.heightOfFontAtSize = function(size, options) { + if (options === void 0) { + options = {}; + } + var _a = options.descender, descender = _a === void 0 ? true : _a; + var _b = this.font, ascent = _b.ascent, descent = _b.descent, bbox = _b.bbox; + var yTop = (ascent || bbox.maxY) * this.scale; + var yBottom = (descent || bbox.minY) * this.scale; + var height = yTop - yBottom; + if (!descender) + height -= Math.abs(descent) || 0; + return height / 1e3 * size; + }; + CustomFontEmbedder2.prototype.sizeOfFontAtHeight = function(height) { + var _a = this.font, ascent = _a.ascent, descent = _a.descent, bbox = _a.bbox; + var yTop = (ascent || bbox.maxY) * this.scale; + var yBottom = (descent || bbox.minY) * this.scale; + return 1e3 * height / (yTop - yBottom); + }; + CustomFontEmbedder2.prototype.embedIntoContext = function(context, ref) { + this.baseFontName = this.customName || context.addRandomSuffix(this.fontName); + return this.embedFontDict(context, ref); + }; + CustomFontEmbedder2.prototype.embedFontDict = function(context, ref) { + return __awaiter(this, void 0, void 0, function() { + var cidFontDictRef, unicodeCMapRef, fontDict; + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + return [4, this.embedCIDFontDict(context)]; + case 1: + cidFontDictRef = _a.sent(); + unicodeCMapRef = this.embedUnicodeCmap(context); + fontDict = context.obj({ + Type: "Font", + Subtype: "Type0", + BaseFont: this.baseFontName, + Encoding: "Identity-H", + DescendantFonts: [cidFontDictRef], + ToUnicode: unicodeCMapRef + }); + if (ref) { + context.assign(ref, fontDict); + return [2, ref]; + } else { + return [2, context.register(fontDict)]; + } + return [ + 2 + /*return*/ + ]; + } + }); + }); + }; + CustomFontEmbedder2.prototype.isCFF = function() { + return this.font.cff; + }; + CustomFontEmbedder2.prototype.embedCIDFontDict = function(context) { + return __awaiter(this, void 0, void 0, function() { + var fontDescriptorRef, cidFontDict; + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + return [4, this.embedFontDescriptor(context)]; + case 1: + fontDescriptorRef = _a.sent(); + cidFontDict = context.obj({ + Type: "Font", + Subtype: this.isCFF() ? "CIDFontType0" : "CIDFontType2", + CIDToGIDMap: "Identity", + BaseFont: this.baseFontName, + CIDSystemInfo: { + Registry: PDFString_default.of("Adobe"), + Ordering: PDFString_default.of("Identity"), + Supplement: 0 + }, + FontDescriptor: fontDescriptorRef, + W: this.computeWidths() + }); + return [2, context.register(cidFontDict)]; + } + }); + }); + }; + CustomFontEmbedder2.prototype.embedFontDescriptor = function(context) { + return __awaiter(this, void 0, void 0, function() { + var fontStreamRef, scale2, _a, italicAngle, ascent, descent, capHeight, xHeight, _b, minX, minY, maxX, maxY, fontDescriptor; + var _c; + return __generator(this, function(_d) { + switch (_d.label) { + case 0: + return [4, this.embedFontStream(context)]; + case 1: + fontStreamRef = _d.sent(); + scale2 = this.scale; + _a = this.font, italicAngle = _a.italicAngle, ascent = _a.ascent, descent = _a.descent, capHeight = _a.capHeight, xHeight = _a.xHeight; + _b = this.font.bbox, minX = _b.minX, minY = _b.minY, maxX = _b.maxX, maxY = _b.maxY; + fontDescriptor = context.obj((_c = { + Type: "FontDescriptor", + FontName: this.baseFontName, + Flags: deriveFontFlags(this.font), + FontBBox: [minX * scale2, minY * scale2, maxX * scale2, maxY * scale2], + ItalicAngle: italicAngle, + Ascent: ascent * scale2, + Descent: descent * scale2, + CapHeight: (capHeight || ascent) * scale2, + XHeight: (xHeight || 0) * scale2, + // Not sure how to compute/find this, nor is anybody else really: + // https://stackoverflow.com/questions/35485179/stemv-value-of-the-truetype-font + StemV: 0 + }, _c[this.isCFF() ? "FontFile3" : "FontFile2"] = fontStreamRef, _c)); + return [2, context.register(fontDescriptor)]; + } + }); + }); + }; + CustomFontEmbedder2.prototype.serializeFont = function() { + return __awaiter(this, void 0, void 0, function() { + return __generator(this, function(_a) { + return [2, this.fontData]; + }); + }); + }; + CustomFontEmbedder2.prototype.embedFontStream = function(context) { + return __awaiter(this, void 0, void 0, function() { + var fontStream, _a, _b; + return __generator(this, function(_c) { + switch (_c.label) { + case 0: + _b = (_a = context).flateStream; + return [4, this.serializeFont()]; + case 1: + fontStream = _b.apply(_a, [_c.sent(), { + Subtype: this.isCFF() ? "CIDFontType0C" : void 0 + }]); + return [2, context.register(fontStream)]; + } + }); + }); + }; + CustomFontEmbedder2.prototype.embedUnicodeCmap = function(context) { + var cmap = createCmap(this.glyphCache.access(), this.glyphId.bind(this)); + var cmapStream = context.flateStream(cmap); + return context.register(cmapStream); + }; + CustomFontEmbedder2.prototype.glyphId = function(glyph) { + return glyph ? glyph.id : -1; + }; + CustomFontEmbedder2.prototype.computeWidths = function() { + var glyphs = this.glyphCache.access(); + var widths = []; + var currSection = []; + for (var idx = 0, len = glyphs.length; idx < len; idx++) { + var currGlyph = glyphs[idx]; + var prevGlyph = glyphs[idx - 1]; + var currGlyphId = this.glyphId(currGlyph); + var prevGlyphId = this.glyphId(prevGlyph); + if (idx === 0) { + widths.push(currGlyphId); + } else if (currGlyphId - prevGlyphId !== 1) { + widths.push(currSection); + widths.push(currGlyphId); + currSection = []; + } + currSection.push(currGlyph.advanceWidth * this.scale); + } + widths.push(currSection); + return widths; + }; + return CustomFontEmbedder2; + })() +); +var CustomFontEmbedder_default = CustomFontEmbedder; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/embedders/CustomFontSubsetEmbedder.js +var CustomFontSubsetEmbedder = ( + /** @class */ + (function(_super) { + __extends(CustomFontSubsetEmbedder2, _super); + function CustomFontSubsetEmbedder2(font, fontData, customFontName, fontFeatures) { + var _this = _super.call(this, font, fontData, customFontName, fontFeatures) || this; + _this.subset = _this.font.createSubset(); + _this.glyphs = []; + _this.glyphCache = Cache_default.populatedBy(function() { + return _this.glyphs; + }); + _this.glyphIdMap = /* @__PURE__ */ new Map(); + return _this; + } + CustomFontSubsetEmbedder2.for = function(fontkit, fontData, customFontName, fontFeatures) { + return __awaiter(this, void 0, void 0, function() { + var font; + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + return [4, fontkit.create(fontData)]; + case 1: + font = _a.sent(); + return [2, new CustomFontSubsetEmbedder2(font, fontData, customFontName, fontFeatures)]; + } + }); + }); + }; + CustomFontSubsetEmbedder2.prototype.encodeText = function(text2) { + var glyphs = this.font.layout(text2, this.fontFeatures).glyphs; + var hexCodes = new Array(glyphs.length); + for (var idx = 0, len = glyphs.length; idx < len; idx++) { + var glyph = glyphs[idx]; + var subsetGlyphId = this.subset.includeGlyph(glyph); + this.glyphs[subsetGlyphId - 1] = glyph; + this.glyphIdMap.set(glyph.id, subsetGlyphId); + hexCodes[idx] = toHexStringOfMinLength(subsetGlyphId, 4); + } + this.glyphCache.invalidate(); + return PDFHexString_default.of(hexCodes.join("")); + }; + CustomFontSubsetEmbedder2.prototype.isCFF = function() { + return this.subset.cff; + }; + CustomFontSubsetEmbedder2.prototype.glyphId = function(glyph) { + return glyph ? this.glyphIdMap.get(glyph.id) : -1; + }; + CustomFontSubsetEmbedder2.prototype.serializeFont = function() { + var _this = this; + return new Promise(function(resolve, reject) { + var parts = []; + _this.subset.encodeStream().on("data", function(bytes) { + return parts.push(bytes); + }).on("end", function() { + return resolve(mergeUint8Arrays(parts)); + }).on("error", function(err) { + return reject(err); + }); + }); + }; + return CustomFontSubsetEmbedder2; + })(CustomFontEmbedder_default) +); +var CustomFontSubsetEmbedder_default = CustomFontSubsetEmbedder; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/embedders/FileEmbedder.js +var AFRelationship; +(function(AFRelationship2) { + AFRelationship2["Source"] = "Source"; + AFRelationship2["Data"] = "Data"; + AFRelationship2["Alternative"] = "Alternative"; + AFRelationship2["Supplement"] = "Supplement"; + AFRelationship2["EncryptedPayload"] = "EncryptedPayload"; + AFRelationship2["FormData"] = "EncryptedPayload"; + AFRelationship2["Schema"] = "Schema"; + AFRelationship2["Unspecified"] = "Unspecified"; +})(AFRelationship || (AFRelationship = {})); +var FileEmbedder = ( + /** @class */ + (function() { + function FileEmbedder2(fileData, fileName, options) { + if (options === void 0) { + options = {}; + } + this.fileData = fileData; + this.fileName = fileName; + this.options = options; + } + FileEmbedder2.for = function(bytes, fileName, options) { + if (options === void 0) { + options = {}; + } + return new FileEmbedder2(bytes, fileName, options); + }; + FileEmbedder2.prototype.embedIntoContext = function(context, ref) { + return __awaiter(this, void 0, void 0, function() { + var _a, mimeType, description, creationDate, modificationDate, afRelationship, embeddedFileStream, embeddedFileStreamRef, fileSpecDict; + return __generator(this, function(_b) { + _a = this.options, mimeType = _a.mimeType, description = _a.description, creationDate = _a.creationDate, modificationDate = _a.modificationDate, afRelationship = _a.afRelationship; + embeddedFileStream = context.flateStream(this.fileData, { + Type: "EmbeddedFile", + Subtype: mimeType !== null && mimeType !== void 0 ? mimeType : void 0, + Params: { + Size: this.fileData.length, + CreationDate: creationDate ? PDFString_default.fromDate(creationDate) : void 0, + ModDate: modificationDate ? PDFString_default.fromDate(modificationDate) : void 0 + } + }); + embeddedFileStreamRef = context.register(embeddedFileStream); + fileSpecDict = context.obj({ + Type: "Filespec", + F: PDFString_default.of(this.fileName), + UF: PDFHexString_default.fromText(this.fileName), + EF: { F: embeddedFileStreamRef }, + Desc: description ? PDFHexString_default.fromText(description) : void 0, + AFRelationship: afRelationship !== null && afRelationship !== void 0 ? afRelationship : void 0 + }); + if (ref) { + context.assign(ref, fileSpecDict); + return [2, ref]; + } else { + return [2, context.register(fileSpecDict)]; + } + return [ + 2 + /*return*/ + ]; + }); + }); + }; + return FileEmbedder2; + })() +); +var FileEmbedder_default = FileEmbedder; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/embedders/JpegEmbedder.js +var MARKERS = [ + 65472, + 65473, + 65474, + 65475, + 65477, + 65478, + 65479, + 65480, + 65481, + 65482, + 65483, + 65484, + 65485, + 65486, + 65487 +]; +var ColorSpace; +(function(ColorSpace2) { + ColorSpace2["DeviceGray"] = "DeviceGray"; + ColorSpace2["DeviceRGB"] = "DeviceRGB"; + ColorSpace2["DeviceCMYK"] = "DeviceCMYK"; +})(ColorSpace || (ColorSpace = {})); +var ChannelToColorSpace = { + 1: ColorSpace.DeviceGray, + 3: ColorSpace.DeviceRGB, + 4: ColorSpace.DeviceCMYK +}; +var JpegEmbedder = ( + /** @class */ + (function() { + function JpegEmbedder2(imageData, bitsPerComponent, width, height, colorSpace) { + this.imageData = imageData; + this.bitsPerComponent = bitsPerComponent; + this.width = width; + this.height = height; + this.colorSpace = colorSpace; + } + JpegEmbedder2.for = function(imageData) { + return __awaiter(this, void 0, void 0, function() { + var dataView, soi, pos, marker, bitsPerComponent, height, width, channelByte, channelName, colorSpace; + return __generator(this, function(_a) { + dataView = new DataView(imageData.buffer); + soi = dataView.getUint16(0); + if (soi !== 65496) + throw new Error("SOI not found in JPEG"); + pos = 2; + while (pos < dataView.byteLength) { + marker = dataView.getUint16(pos); + pos += 2; + if (MARKERS.includes(marker)) + break; + pos += dataView.getUint16(pos); + } + if (!MARKERS.includes(marker)) + throw new Error("Invalid JPEG"); + pos += 2; + bitsPerComponent = dataView.getUint8(pos++); + height = dataView.getUint16(pos); + pos += 2; + width = dataView.getUint16(pos); + pos += 2; + channelByte = dataView.getUint8(pos++); + channelName = ChannelToColorSpace[channelByte]; + if (!channelName) + throw new Error("Unknown JPEG channel."); + colorSpace = channelName; + return [2, new JpegEmbedder2(imageData, bitsPerComponent, width, height, colorSpace)]; + }); + }); + }; + JpegEmbedder2.prototype.embedIntoContext = function(context, ref) { + return __awaiter(this, void 0, void 0, function() { + var xObject; + return __generator(this, function(_a) { + xObject = context.stream(this.imageData, { + Type: "XObject", + Subtype: "Image", + BitsPerComponent: this.bitsPerComponent, + Width: this.width, + Height: this.height, + ColorSpace: this.colorSpace, + Filter: "DCTDecode", + // CMYK JPEG streams in PDF are typically stored complemented, + // with 1 as 'off' and 0 as 'on' (PDF 32000-1:2008, 8.6.4.4). + // + // Standalone CMYK JPEG (usually exported by Photoshop) are + // stored inverse, with 0 as 'off' and 1 as 'on', like RGB. + // + // Applying a swap here as a hedge that most bytes passing + // through this method will benefit from it. + Decode: this.colorSpace === ColorSpace.DeviceCMYK ? [1, 0, 1, 0, 1, 0, 1, 0] : void 0 + }); + if (ref) { + context.assign(ref, xObject); + return [2, ref]; + } else { + return [2, context.register(xObject)]; + } + return [ + 2 + /*return*/ + ]; + }); + }); + }; + return JpegEmbedder2; + })() +); +var JpegEmbedder_default = JpegEmbedder; + +// ../../../../../../../../../../../../node_modules/@pdf-lib/upng/UPNG.js +var import_pako4 = __toESM(require_pako()); +var UPNG = {}; +UPNG.toRGBA8 = function(out) { + var w = out.width, h = out.height; + if (out.tabs.acTL == null) return [UPNG.toRGBA8.decodeImage(out.data, w, h, out).buffer]; + var frms = []; + if (out.frames[0].data == null) out.frames[0].data = out.data; + var len = w * h * 4, img = new Uint8Array(len), empty = new Uint8Array(len), prev = new Uint8Array(len); + for (var i = 0; i < out.frames.length; i++) { + var frm = out.frames[i]; + var fx = frm.rect.x, fy = frm.rect.y, fw = frm.rect.width, fh = frm.rect.height; + var fdata = UPNG.toRGBA8.decodeImage(frm.data, fw, fh, out); + if (i != 0) for (var j = 0; j < len; j++) prev[j] = img[j]; + if (frm.blend == 0) UPNG._copyTile(fdata, fw, fh, img, w, h, fx, fy, 0); + else if (frm.blend == 1) UPNG._copyTile(fdata, fw, fh, img, w, h, fx, fy, 1); + frms.push(img.buffer.slice(0)); + if (frm.dispose == 0) { + } else if (frm.dispose == 1) UPNG._copyTile(empty, fw, fh, img, w, h, fx, fy, 0); + else if (frm.dispose == 2) for (var j = 0; j < len; j++) img[j] = prev[j]; + } + return frms; +}; +UPNG.toRGBA8.decodeImage = function(data, w, h, out) { + var area = w * h, bpp = UPNG.decode._getBPP(out); + var bpl = Math.ceil(w * bpp / 8); + var bf = new Uint8Array(area * 4), bf32 = new Uint32Array(bf.buffer); + var ctype = out.ctype, depth = out.depth; + var rs = UPNG._bin.readUshort; + var time = Date.now(); + if (ctype == 6) { + var qarea = area << 2; + if (depth == 8) for (var i = 0; i < qarea; i += 4) { + bf[i] = data[i]; + bf[i + 1] = data[i + 1]; + bf[i + 2] = data[i + 2]; + bf[i + 3] = data[i + 3]; + } + if (depth == 16) for (var i = 0; i < qarea; i++) { + bf[i] = data[i << 1]; + } + } else if (ctype == 2) { + var ts = out.tabs["tRNS"]; + if (ts == null) { + if (depth == 8) for (var i = 0; i < area; i++) { + var ti = i * 3; + bf32[i] = 255 << 24 | data[ti + 2] << 16 | data[ti + 1] << 8 | data[ti]; + } + if (depth == 16) for (var i = 0; i < area; i++) { + var ti = i * 6; + bf32[i] = 255 << 24 | data[ti + 4] << 16 | data[ti + 2] << 8 | data[ti]; + } + } else { + var tr = ts[0], tg = ts[1], tb = ts[2]; + if (depth == 8) for (var i = 0; i < area; i++) { + var qi = i << 2, ti = i * 3; + bf32[i] = 255 << 24 | data[ti + 2] << 16 | data[ti + 1] << 8 | data[ti]; + if (data[ti] == tr && data[ti + 1] == tg && data[ti + 2] == tb) bf[qi + 3] = 0; + } + if (depth == 16) for (var i = 0; i < area; i++) { + var qi = i << 2, ti = i * 6; + bf32[i] = 255 << 24 | data[ti + 4] << 16 | data[ti + 2] << 8 | data[ti]; + if (rs(data, ti) == tr && rs(data, ti + 2) == tg && rs(data, ti + 4) == tb) bf[qi + 3] = 0; + } + } + } else if (ctype == 3) { + var p = out.tabs["PLTE"], ap = out.tabs["tRNS"], tl = ap ? ap.length : 0; + if (depth == 1) for (var y = 0; y < h; y++) { + var s0 = y * bpl, t0 = y * w; + for (var i = 0; i < w; i++) { + var qi = t0 + i << 2, j = data[s0 + (i >> 3)] >> 7 - ((i & 7) << 0) & 1, cj = 3 * j; + bf[qi] = p[cj]; + bf[qi + 1] = p[cj + 1]; + bf[qi + 2] = p[cj + 2]; + bf[qi + 3] = j < tl ? ap[j] : 255; + } + } + if (depth == 2) for (var y = 0; y < h; y++) { + var s0 = y * bpl, t0 = y * w; + for (var i = 0; i < w; i++) { + var qi = t0 + i << 2, j = data[s0 + (i >> 2)] >> 6 - ((i & 3) << 1) & 3, cj = 3 * j; + bf[qi] = p[cj]; + bf[qi + 1] = p[cj + 1]; + bf[qi + 2] = p[cj + 2]; + bf[qi + 3] = j < tl ? ap[j] : 255; + } + } + if (depth == 4) for (var y = 0; y < h; y++) { + var s0 = y * bpl, t0 = y * w; + for (var i = 0; i < w; i++) { + var qi = t0 + i << 2, j = data[s0 + (i >> 1)] >> 4 - ((i & 1) << 2) & 15, cj = 3 * j; + bf[qi] = p[cj]; + bf[qi + 1] = p[cj + 1]; + bf[qi + 2] = p[cj + 2]; + bf[qi + 3] = j < tl ? ap[j] : 255; + } + } + if (depth == 8) for (var i = 0; i < area; i++) { + var qi = i << 2, j = data[i], cj = 3 * j; + bf[qi] = p[cj]; + bf[qi + 1] = p[cj + 1]; + bf[qi + 2] = p[cj + 2]; + bf[qi + 3] = j < tl ? ap[j] : 255; + } + } else if (ctype == 4) { + if (depth == 8) for (var i = 0; i < area; i++) { + var qi = i << 2, di = i << 1, gr = data[di]; + bf[qi] = gr; + bf[qi + 1] = gr; + bf[qi + 2] = gr; + bf[qi + 3] = data[di + 1]; + } + if (depth == 16) for (var i = 0; i < area; i++) { + var qi = i << 2, di = i << 2, gr = data[di]; + bf[qi] = gr; + bf[qi + 1] = gr; + bf[qi + 2] = gr; + bf[qi + 3] = data[di + 2]; + } + } else if (ctype == 0) { + var tr = out.tabs["tRNS"] ? out.tabs["tRNS"] : -1; + for (var y = 0; y < h; y++) { + var off = y * bpl, to = y * w; + if (depth == 1) for (var x = 0; x < w; x++) { + var gr = 255 * (data[off + (x >>> 3)] >>> 7 - (x & 7) & 1), al = gr == tr * 255 ? 0 : 255; + bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr; + } + else if (depth == 2) for (var x = 0; x < w; x++) { + var gr = 85 * (data[off + (x >>> 2)] >>> 6 - ((x & 3) << 1) & 3), al = gr == tr * 85 ? 0 : 255; + bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr; + } + else if (depth == 4) for (var x = 0; x < w; x++) { + var gr = 17 * (data[off + (x >>> 1)] >>> 4 - ((x & 1) << 2) & 15), al = gr == tr * 17 ? 0 : 255; + bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr; + } + else if (depth == 8) for (var x = 0; x < w; x++) { + var gr = data[off + x], al = gr == tr ? 0 : 255; + bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr; + } + else if (depth == 16) for (var x = 0; x < w; x++) { + var gr = data[off + (x << 1)], al = rs(data, off + (x << i)) == tr ? 0 : 255; + bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr; + } + } + } + return bf; +}; +UPNG.decode = function(buff) { + var data = new Uint8Array(buff), offset = 8, bin = UPNG._bin, rUs = bin.readUshort, rUi = bin.readUint; + var out = { tabs: {}, frames: [] }; + var dd = new Uint8Array(data.length), doff = 0; + var fd, foff = 0; + var mgck = [137, 80, 78, 71, 13, 10, 26, 10]; + for (var i = 0; i < 8; i++) if (data[i] != mgck[i]) throw "The input is not a PNG file!"; + while (offset < data.length) { + var len = bin.readUint(data, offset); + offset += 4; + var type = bin.readASCII(data, offset, 4); + offset += 4; + if (type == "IHDR") { + UPNG.decode._IHDR(data, offset, out); + } else if (type == "IDAT") { + for (var i = 0; i < len; i++) dd[doff + i] = data[offset + i]; + doff += len; + } else if (type == "acTL") { + out.tabs[type] = { num_frames: rUi(data, offset), num_plays: rUi(data, offset + 4) }; + fd = new Uint8Array(data.length); + } else if (type == "fcTL") { + if (foff != 0) { + var fr = out.frames[out.frames.length - 1]; + fr.data = UPNG.decode._decompress(out, fd.slice(0, foff), fr.rect.width, fr.rect.height); + foff = 0; + } + var rct = { x: rUi(data, offset + 12), y: rUi(data, offset + 16), width: rUi(data, offset + 4), height: rUi(data, offset + 8) }; + var del = rUs(data, offset + 22); + del = rUs(data, offset + 20) / (del == 0 ? 100 : del); + var frm = { rect: rct, delay: Math.round(del * 1e3), dispose: data[offset + 24], blend: data[offset + 25] }; + out.frames.push(frm); + } else if (type == "fdAT") { + for (var i = 0; i < len - 4; i++) fd[foff + i] = data[offset + i + 4]; + foff += len - 4; + } else if (type == "pHYs") { + out.tabs[type] = [bin.readUint(data, offset), bin.readUint(data, offset + 4), data[offset + 8]]; + } else if (type == "cHRM") { + out.tabs[type] = []; + for (var i = 0; i < 8; i++) out.tabs[type].push(bin.readUint(data, offset + i * 4)); + } else if (type == "tEXt") { + if (out.tabs[type] == null) out.tabs[type] = {}; + var nz = bin.nextZero(data, offset); + var keyw = bin.readASCII(data, offset, nz - offset); + var text2 = bin.readASCII(data, nz + 1, offset + len - nz - 1); + out.tabs[type][keyw] = text2; + } else if (type == "iTXt") { + if (out.tabs[type] == null) out.tabs[type] = {}; + var nz = 0, off = offset; + nz = bin.nextZero(data, off); + var keyw = bin.readASCII(data, off, nz - off); + off = nz + 1; + var cflag = data[off], cmeth = data[off + 1]; + off += 2; + nz = bin.nextZero(data, off); + var ltag = bin.readASCII(data, off, nz - off); + off = nz + 1; + nz = bin.nextZero(data, off); + var tkeyw = bin.readUTF8(data, off, nz - off); + off = nz + 1; + var text2 = bin.readUTF8(data, off, len - (off - offset)); + out.tabs[type][keyw] = text2; + } else if (type == "PLTE") { + out.tabs[type] = bin.readBytes(data, offset, len); + } else if (type == "hIST") { + var pl = out.tabs["PLTE"].length / 3; + out.tabs[type] = []; + for (var i = 0; i < pl; i++) out.tabs[type].push(rUs(data, offset + i * 2)); + } else if (type == "tRNS") { + if (out.ctype == 3) out.tabs[type] = bin.readBytes(data, offset, len); + else if (out.ctype == 0) out.tabs[type] = rUs(data, offset); + else if (out.ctype == 2) out.tabs[type] = [rUs(data, offset), rUs(data, offset + 2), rUs(data, offset + 4)]; + } else if (type == "gAMA") out.tabs[type] = bin.readUint(data, offset) / 1e5; + else if (type == "sRGB") out.tabs[type] = data[offset]; + else if (type == "bKGD") { + if (out.ctype == 0 || out.ctype == 4) out.tabs[type] = [rUs(data, offset)]; + else if (out.ctype == 2 || out.ctype == 6) out.tabs[type] = [rUs(data, offset), rUs(data, offset + 2), rUs(data, offset + 4)]; + else if (out.ctype == 3) out.tabs[type] = data[offset]; + } else if (type == "IEND") { + break; + } + offset += len; + var crc = bin.readUint(data, offset); + offset += 4; + } + if (foff != 0) { + var fr = out.frames[out.frames.length - 1]; + fr.data = UPNG.decode._decompress(out, fd.slice(0, foff), fr.rect.width, fr.rect.height); + foff = 0; + } + out.data = UPNG.decode._decompress(out, dd, out.width, out.height); + delete out.compress; + delete out.interlace; + delete out.filter; + return out; +}; +UPNG.decode._decompress = function(out, dd, w, h) { + var time = Date.now(); + var bpp = UPNG.decode._getBPP(out), bpl = Math.ceil(w * bpp / 8), buff = new Uint8Array((bpl + 1 + out.interlace) * h); + dd = UPNG.decode._inflate(dd, buff); + var time = Date.now(); + if (out.interlace == 0) dd = UPNG.decode._filterZero(dd, out, 0, w, h); + else if (out.interlace == 1) dd = UPNG.decode._readInterlace(dd, out); + return dd; +}; +UPNG.decode._inflate = function(data, buff) { + var out = UPNG["inflateRaw"](new Uint8Array(data.buffer, 2, data.length - 6), buff); + return out; +}; +UPNG.inflateRaw = (function() { + var H = {}; + H.H = {}; + H.H.N = function(N, W) { + var R = Uint8Array, i = 0, m = 0, J = 0, h = 0, Q = 0, X = 0, u = 0, w = 0, d = 0, v, C; + if (N[0] == 3 && N[1] == 0) return W ? W : new R(0); + var V = H.H, n = V.b, A = V.e, l = V.R, M = V.n, I = V.A, e = V.Z, b = V.m, Z = W == null; + if (Z) W = new R(N.length >>> 2 << 3); + while (i == 0) { + i = n(N, d, 1); + m = n(N, d + 1, 2); + d += 3; + if (m == 0) { + if ((d & 7) != 0) d += 8 - (d & 7); + var D = (d >>> 3) + 4, q = N[D - 4] | N[D - 3] << 8; + if (Z) W = H.H.W(W, w + q); + W.set(new R(N.buffer, N.byteOffset + D, q), w); + d = D + q << 3; + w += q; + continue; + } + if (Z) W = H.H.W(W, w + (1 << 17)); + if (m == 1) { + v = b.J; + C = b.h; + X = (1 << 9) - 1; + u = (1 << 5) - 1; + } + if (m == 2) { + J = A(N, d, 5) + 257; + h = A(N, d + 5, 5) + 1; + Q = A(N, d + 10, 4) + 4; + d += 14; + var E = d, j = 1; + for (var c = 0; c < 38; c += 2) { + b.Q[c] = 0; + b.Q[c + 1] = 0; + } + for (var c = 0; c < Q; c++) { + var K = A(N, d + c * 3, 3); + b.Q[(b.X[c] << 1) + 1] = K; + if (K > j) j = K; + } + d += 3 * Q; + M(b.Q, j); + I(b.Q, j, b.u); + v = b.w; + C = b.d; + d = l(b.u, (1 << j) - 1, J + h, N, d, b.v); + var r = V.V(b.v, 0, J, b.C); + X = (1 << r) - 1; + var S = V.V(b.v, J, h, b.D); + u = (1 << S) - 1; + M(b.C, r); + I(b.C, r, v); + M(b.D, S); + I(b.D, S, C); + } + while (true) { + var T = v[e(N, d) & X]; + d += T & 15; + var p = T >>> 4; + if (p >>> 8 == 0) { + W[w++] = p; + } else if (p == 256) { + break; + } else { + var z = w + p - 254; + if (p > 264) { + var _ = b.q[p - 257]; + z = w + (_ >>> 3) + A(N, d, _ & 7); + d += _ & 7; + } + var $2 = C[e(N, d) & u]; + d += $2 & 15; + var s = $2 >>> 4, Y = b.c[s], a = (Y >>> 4) + n(N, d, Y & 15); + d += Y & 15; + while (w < z) { + W[w] = W[w++ - a]; + W[w] = W[w++ - a]; + W[w] = W[w++ - a]; + W[w] = W[w++ - a]; + } + w = z; + } + } + } + return W.length == w ? W : W.slice(0, w); + }; + H.H.W = function(N, W) { + var R = N.length; + if (W <= R) return N; + var V = new Uint8Array(R << 1); + V.set(N, 0); + return V; + }; + H.H.R = function(N, W, R, V, n, A) { + var l = H.H.e, M = H.H.Z, I = 0; + while (I < R) { + var e = N[M(V, n) & W]; + n += e & 15; + var b = e >>> 4; + if (b <= 15) { + A[I] = b; + I++; + } else { + var Z = 0, m = 0; + if (b == 16) { + m = 3 + l(V, n, 2); + n += 2; + Z = A[I - 1]; + } else if (b == 17) { + m = 3 + l(V, n, 3); + n += 3; + } else if (b == 18) { + m = 11 + l(V, n, 7); + n += 7; + } + var J = I + m; + while (I < J) { + A[I] = Z; + I++; + } + } + } + return n; + }; + H.H.V = function(N, W, R, V) { + var n = 0, A = 0, l = V.length >>> 1; + while (A < R) { + var M = N[A + W]; + V[A << 1] = 0; + V[(A << 1) + 1] = M; + if (M > n) n = M; + A++; + } + while (A < l) { + V[A << 1] = 0; + V[(A << 1) + 1] = 0; + A++; + } + return n; + }; + H.H.n = function(N, W) { + var R = H.H.m, V = N.length, n, A, l, M, I, e = R.j; + for (var M = 0; M <= W; M++) e[M] = 0; + for (M = 1; M < V; M += 2) e[N[M]]++; + var b = R.K; + n = 0; + e[0] = 0; + for (A = 1; A <= W; A++) { + n = n + e[A - 1] << 1; + b[A] = n; + } + for (l = 0; l < V; l += 2) { + I = N[l + 1]; + if (I != 0) { + N[l] = b[I]; + b[I]++; + } + } + }; + H.H.A = function(N, W, R) { + var V = N.length, n = H.H.m, A = n.r; + for (var l = 0; l < V; l += 2) if (N[l + 1] != 0) { + var M = l >> 1, I = N[l + 1], e = M << 4 | I, b = W - I, Z = N[l] << b, m = Z + (1 << b); + while (Z != m) { + var J = A[Z] >>> 15 - W; + R[J] = e; + Z++; + } + } + }; + H.H.l = function(N, W) { + var R = H.H.m.r, V = 15 - W; + for (var n = 0; n < N.length; n += 2) { + var A = N[n] << W - N[n + 1]; + N[n] = R[A] >>> V; + } + }; + H.H.M = function(N, W, R) { + R = R << (W & 7); + var V = W >>> 3; + N[V] |= R; + N[V + 1] |= R >>> 8; + }; + H.H.I = function(N, W, R) { + R = R << (W & 7); + var V = W >>> 3; + N[V] |= R; + N[V + 1] |= R >>> 8; + N[V + 2] |= R >>> 16; + }; + H.H.e = function(N, W, R) { + return (N[W >>> 3] | N[(W >>> 3) + 1] << 8) >>> (W & 7) & (1 << R) - 1; + }; + H.H.b = function(N, W, R) { + return (N[W >>> 3] | N[(W >>> 3) + 1] << 8 | N[(W >>> 3) + 2] << 16) >>> (W & 7) & (1 << R) - 1; + }; + H.H.Z = function(N, W) { + return (N[W >>> 3] | N[(W >>> 3) + 1] << 8 | N[(W >>> 3) + 2] << 16) >>> (W & 7); + }; + H.H.i = function(N, W) { + return (N[W >>> 3] | N[(W >>> 3) + 1] << 8 | N[(W >>> 3) + 2] << 16 | N[(W >>> 3) + 3] << 24) >>> (W & 7); + }; + H.H.m = (function() { + var N = Uint16Array, W = Uint32Array; + return { K: new N(16), j: new N(16), X: [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], S: [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 999, 999, 999], T: [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], q: new N(32), p: [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 65535, 65535], z: [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], c: new W(32), J: new N(512), _: [], h: new N(32), $: [], w: new N(32768), C: [], v: [], d: new N(32768), D: [], u: new N(512), Q: [], r: new N(1 << 15), s: new W(286), Y: new W(30), a: new W(19), t: new W(15e3), k: new N(1 << 16), g: new N(1 << 15) }; + })(); + (function() { + var N = H.H.m, W = 1 << 15; + for (var R = 0; R < W; R++) { + var V = R; + V = (V & 2863311530) >>> 1 | (V & 1431655765) << 1; + V = (V & 3435973836) >>> 2 | (V & 858993459) << 2; + V = (V & 4042322160) >>> 4 | (V & 252645135) << 4; + V = (V & 4278255360) >>> 8 | (V & 16711935) << 8; + N.r[R] = (V >>> 16 | V << 16) >>> 17; + } + function n(A, l, M) { + while (l-- != 0) A.push(0, M); + } + for (var R = 0; R < 32; R++) { + N.q[R] = N.S[R] << 3 | N.T[R]; + N.c[R] = N.p[R] << 4 | N.z[R]; + } + n(N._, 144, 8); + n(N._, 255 - 143, 9); + n(N._, 279 - 255, 7); + n(N._, 287 - 279, 8); + H.H.n(N._, 9); + H.H.A(N._, 9, N.J); + H.H.l(N._, 9); + n(N.$, 32, 5); + H.H.n(N.$, 5); + H.H.A(N.$, 5, N.h); + H.H.l(N.$, 5); + n(N.Q, 19, 0); + n(N.C, 286, 0); + n(N.D, 30, 0); + n(N.v, 320, 0); + })(); + return H.H.N; +})(); +UPNG.decode._readInterlace = function(data, out) { + var w = out.width, h = out.height; + var bpp = UPNG.decode._getBPP(out), cbpp = bpp >> 3, bpl = Math.ceil(w * bpp / 8); + var img = new Uint8Array(h * bpl); + var di = 0; + var starting_row = [0, 0, 4, 0, 2, 0, 1]; + var starting_col = [0, 4, 0, 2, 0, 1, 0]; + var row_increment = [8, 8, 8, 4, 4, 2, 2]; + var col_increment = [8, 8, 4, 4, 2, 2, 1]; + var pass = 0; + while (pass < 7) { + var ri = row_increment[pass], ci = col_increment[pass]; + var sw = 0, sh = 0; + var cr = starting_row[pass]; + while (cr < h) { + cr += ri; + sh++; + } + var cc = starting_col[pass]; + while (cc < w) { + cc += ci; + sw++; + } + var bpll = Math.ceil(sw * bpp / 8); + UPNG.decode._filterZero(data, out, di, sw, sh); + var y = 0, row = starting_row[pass]; + while (row < h) { + var col = starting_col[pass]; + var cdi = di + y * bpll << 3; + while (col < w) { + if (bpp == 1) { + var val2 = data[cdi >> 3]; + val2 = val2 >> 7 - (cdi & 7) & 1; + img[row * bpl + (col >> 3)] |= val2 << 7 - ((col & 7) << 0); + } + if (bpp == 2) { + var val2 = data[cdi >> 3]; + val2 = val2 >> 6 - (cdi & 7) & 3; + img[row * bpl + (col >> 2)] |= val2 << 6 - ((col & 3) << 1); + } + if (bpp == 4) { + var val2 = data[cdi >> 3]; + val2 = val2 >> 4 - (cdi & 7) & 15; + img[row * bpl + (col >> 1)] |= val2 << 4 - ((col & 1) << 2); + } + if (bpp >= 8) { + var ii = row * bpl + col * cbpp; + for (var j = 0; j < cbpp; j++) img[ii + j] = data[(cdi >> 3) + j]; + } + cdi += bpp; + col += ci; + } + y++; + row += ri; + } + if (sw * sh != 0) di += sh * (1 + bpll); + pass = pass + 1; + } + return img; +}; +UPNG.decode._getBPP = function(out) { + var noc = [1, null, 3, 1, 2, null, 4][out.ctype]; + return noc * out.depth; +}; +UPNG.decode._filterZero = function(data, out, off, w, h) { + var bpp = UPNG.decode._getBPP(out), bpl = Math.ceil(w * bpp / 8), paeth = UPNG.decode._paeth; + bpp = Math.ceil(bpp / 8); + var i = 0, di = 1, type = data[off], x = 0; + if (type > 1) data[off] = [0, 0, 1][type - 2]; + if (type == 3) for (x = bpp; x < bpl; x++) data[x + 1] = data[x + 1] + (data[x + 1 - bpp] >>> 1) & 255; + for (var y = 0; y < h; y++) { + i = off + y * bpl; + di = i + y + 1; + type = data[di - 1]; + x = 0; + if (type == 0) for (; x < bpl; x++) data[i + x] = data[di + x]; + else if (type == 1) { + for (; x < bpp; x++) data[i + x] = data[di + x]; + for (; x < bpl; x++) data[i + x] = data[di + x] + data[i + x - bpp]; + } else if (type == 2) { + for (; x < bpl; x++) data[i + x] = data[di + x] + data[i + x - bpl]; + } else if (type == 3) { + for (; x < bpp; x++) data[i + x] = data[di + x] + (data[i + x - bpl] >>> 1); + for (; x < bpl; x++) data[i + x] = data[di + x] + (data[i + x - bpl] + data[i + x - bpp] >>> 1); + } else { + for (; x < bpp; x++) data[i + x] = data[di + x] + paeth(0, data[i + x - bpl], 0); + for (; x < bpl; x++) data[i + x] = data[di + x] + paeth(data[i + x - bpp], data[i + x - bpl], data[i + x - bpp - bpl]); + } + } + return data; +}; +UPNG.decode._paeth = function(a, b, c) { + var p = a + b - c, pa = p - a, pb = p - b, pc = p - c; + if (pa * pa <= pb * pb && pa * pa <= pc * pc) return a; + else if (pb * pb <= pc * pc) return b; + return c; +}; +UPNG.decode._IHDR = function(data, offset, out) { + var bin = UPNG._bin; + out.width = bin.readUint(data, offset); + offset += 4; + out.height = bin.readUint(data, offset); + offset += 4; + out.depth = data[offset]; + offset++; + out.ctype = data[offset]; + offset++; + out.compress = data[offset]; + offset++; + out.filter = data[offset]; + offset++; + out.interlace = data[offset]; + offset++; +}; +UPNG._bin = { + nextZero: function(data, p) { + while (data[p] != 0) p++; + return p; + }, + readUshort: function(buff, p) { + return buff[p] << 8 | buff[p + 1]; + }, + writeUshort: function(buff, p, n) { + buff[p] = n >> 8 & 255; + buff[p + 1] = n & 255; + }, + readUint: function(buff, p) { + return buff[p] * (256 * 256 * 256) + (buff[p + 1] << 16 | buff[p + 2] << 8 | buff[p + 3]); + }, + writeUint: function(buff, p, n) { + buff[p] = n >> 24 & 255; + buff[p + 1] = n >> 16 & 255; + buff[p + 2] = n >> 8 & 255; + buff[p + 3] = n & 255; + }, + readASCII: function(buff, p, l) { + var s = ""; + for (var i = 0; i < l; i++) s += String.fromCharCode(buff[p + i]); + return s; + }, + writeASCII: function(data, p, s) { + for (var i = 0; i < s.length; i++) data[p + i] = s.charCodeAt(i); + }, + readBytes: function(buff, p, l) { + var arr = []; + for (var i = 0; i < l; i++) arr.push(buff[p + i]); + return arr; + }, + pad: function(n) { + return n.length < 2 ? "0" + n : n; + }, + readUTF8: function(buff, p, l) { + var s = "", ns; + for (var i = 0; i < l; i++) s += "%" + UPNG._bin.pad(buff[p + i].toString(16)); + try { + ns = decodeURIComponent(s); + } catch (e) { + return UPNG._bin.readASCII(buff, p, l); + } + return ns; + } +}; +UPNG._copyTile = function(sb, sw, sh, tb, tw, th, xoff, yoff, mode) { + var w = Math.min(sw, tw), h = Math.min(sh, th); + var si = 0, ti = 0; + for (var y = 0; y < h; y++) + for (var x = 0; x < w; x++) { + if (xoff >= 0 && yoff >= 0) { + si = y * sw + x << 2; + ti = (yoff + y) * tw + xoff + x << 2; + } else { + si = (-yoff + y) * sw - xoff + x << 2; + ti = y * tw + x << 2; + } + if (mode == 0) { + tb[ti] = sb[si]; + tb[ti + 1] = sb[si + 1]; + tb[ti + 2] = sb[si + 2]; + tb[ti + 3] = sb[si + 3]; + } else if (mode == 1) { + var fa = sb[si + 3] * (1 / 255), fr = sb[si] * fa, fg = sb[si + 1] * fa, fb = sb[si + 2] * fa; + var ba = tb[ti + 3] * (1 / 255), br = tb[ti] * ba, bg = tb[ti + 1] * ba, bb = tb[ti + 2] * ba; + var ifa = 1 - fa, oa = fa + ba * ifa, ioa = oa == 0 ? 0 : 1 / oa; + tb[ti + 3] = 255 * oa; + tb[ti + 0] = (fr + br * ifa) * ioa; + tb[ti + 1] = (fg + bg * ifa) * ioa; + tb[ti + 2] = (fb + bb * ifa) * ioa; + } else if (mode == 2) { + var fa = sb[si + 3], fr = sb[si], fg = sb[si + 1], fb = sb[si + 2]; + var ba = tb[ti + 3], br = tb[ti], bg = tb[ti + 1], bb = tb[ti + 2]; + if (fa == ba && fr == br && fg == bg && fb == bb) { + tb[ti] = 0; + tb[ti + 1] = 0; + tb[ti + 2] = 0; + tb[ti + 3] = 0; + } else { + tb[ti] = fr; + tb[ti + 1] = fg; + tb[ti + 2] = fb; + tb[ti + 3] = fa; + } + } else if (mode == 3) { + var fa = sb[si + 3], fr = sb[si], fg = sb[si + 1], fb = sb[si + 2]; + var ba = tb[ti + 3], br = tb[ti], bg = tb[ti + 1], bb = tb[ti + 2]; + if (fa == ba && fr == br && fg == bg && fb == bb) continue; + if (fa < 220 && ba > 20) return false; + } + } + return true; +}; +UPNG.encode = function(bufs, w, h, ps, dels, tabs, forbidPlte) { + if (ps == null) ps = 0; + if (forbidPlte == null) forbidPlte = false; + var nimg = UPNG.encode.compress(bufs, w, h, ps, [false, false, false, 0, forbidPlte]); + UPNG.encode.compressPNG(nimg, -1); + return UPNG.encode._main(nimg, w, h, dels, tabs); +}; +UPNG.encodeLL = function(bufs, w, h, cc, ac, depth, dels, tabs) { + var nimg = { ctype: 0 + (cc == 1 ? 0 : 2) + (ac == 0 ? 0 : 4), depth, frames: [] }; + var time = Date.now(); + var bipp = (cc + ac) * depth, bipl = bipp * w; + for (var i = 0; i < bufs.length; i++) + nimg.frames.push({ rect: { x: 0, y: 0, width: w, height: h }, img: new Uint8Array(bufs[i]), blend: 0, dispose: 1, bpp: Math.ceil(bipp / 8), bpl: Math.ceil(bipl / 8) }); + UPNG.encode.compressPNG(nimg, 0, true); + var out = UPNG.encode._main(nimg, w, h, dels, tabs); + return out; +}; +UPNG.encode._main = function(nimg, w, h, dels, tabs) { + if (tabs == null) tabs = {}; + var crc = UPNG.crc.crc, wUi = UPNG._bin.writeUint, wUs = UPNG._bin.writeUshort, wAs = UPNG._bin.writeASCII; + var offset = 8, anim = nimg.frames.length > 1, pltAlpha = false; + var leng = 8 + (16 + 5 + 4) + (anim ? 20 : 0); + if (tabs["sRGB"] != null) leng += 8 + 1 + 4; + if (tabs["pHYs"] != null) leng += 8 + 9 + 4; + if (nimg.ctype == 3) { + var dl = nimg.plte.length; + for (var i = 0; i < dl; i++) if (nimg.plte[i] >>> 24 != 255) pltAlpha = true; + leng += 8 + dl * 3 + 4 + (pltAlpha ? 8 + dl * 1 + 4 : 0); + } + for (var j = 0; j < nimg.frames.length; j++) { + var fr = nimg.frames[j]; + if (anim) leng += 38; + leng += fr.cimg.length + 12; + if (j != 0) leng += 4; + } + leng += 12; + var data = new Uint8Array(leng); + var wr = [137, 80, 78, 71, 13, 10, 26, 10]; + for (var i = 0; i < 8; i++) data[i] = wr[i]; + wUi(data, offset, 13); + offset += 4; + wAs(data, offset, "IHDR"); + offset += 4; + wUi(data, offset, w); + offset += 4; + wUi(data, offset, h); + offset += 4; + data[offset] = nimg.depth; + offset++; + data[offset] = nimg.ctype; + offset++; + data[offset] = 0; + offset++; + data[offset] = 0; + offset++; + data[offset] = 0; + offset++; + wUi(data, offset, crc(data, offset - 17, 17)); + offset += 4; + if (tabs["sRGB"] != null) { + wUi(data, offset, 1); + offset += 4; + wAs(data, offset, "sRGB"); + offset += 4; + data[offset] = tabs["sRGB"]; + offset++; + wUi(data, offset, crc(data, offset - 5, 5)); + offset += 4; + } + if (tabs["pHYs"] != null) { + wUi(data, offset, 9); + offset += 4; + wAs(data, offset, "pHYs"); + offset += 4; + wUi(data, offset, tabs["pHYs"][0]); + offset += 4; + wUi(data, offset, tabs["pHYs"][1]); + offset += 4; + data[offset] = tabs["pHYs"][2]; + offset++; + wUi(data, offset, crc(data, offset - 13, 13)); + offset += 4; + } + if (anim) { + wUi(data, offset, 8); + offset += 4; + wAs(data, offset, "acTL"); + offset += 4; + wUi(data, offset, nimg.frames.length); + offset += 4; + wUi(data, offset, tabs["loop"] != null ? tabs["loop"] : 0); + offset += 4; + wUi(data, offset, crc(data, offset - 12, 12)); + offset += 4; + } + if (nimg.ctype == 3) { + var dl = nimg.plte.length; + wUi(data, offset, dl * 3); + offset += 4; + wAs(data, offset, "PLTE"); + offset += 4; + for (var i = 0; i < dl; i++) { + var ti = i * 3, c = nimg.plte[i], r = c & 255, g = c >>> 8 & 255, b = c >>> 16 & 255; + data[offset + ti + 0] = r; + data[offset + ti + 1] = g; + data[offset + ti + 2] = b; + } + offset += dl * 3; + wUi(data, offset, crc(data, offset - dl * 3 - 4, dl * 3 + 4)); + offset += 4; + if (pltAlpha) { + wUi(data, offset, dl); + offset += 4; + wAs(data, offset, "tRNS"); + offset += 4; + for (var i = 0; i < dl; i++) data[offset + i] = nimg.plte[i] >>> 24 & 255; + offset += dl; + wUi(data, offset, crc(data, offset - dl - 4, dl + 4)); + offset += 4; + } + } + var fi = 0; + for (var j = 0; j < nimg.frames.length; j++) { + var fr = nimg.frames[j]; + if (anim) { + wUi(data, offset, 26); + offset += 4; + wAs(data, offset, "fcTL"); + offset += 4; + wUi(data, offset, fi++); + offset += 4; + wUi(data, offset, fr.rect.width); + offset += 4; + wUi(data, offset, fr.rect.height); + offset += 4; + wUi(data, offset, fr.rect.x); + offset += 4; + wUi(data, offset, fr.rect.y); + offset += 4; + wUs(data, offset, dels[j]); + offset += 2; + wUs(data, offset, 1e3); + offset += 2; + data[offset] = fr.dispose; + offset++; + data[offset] = fr.blend; + offset++; + wUi(data, offset, crc(data, offset - 30, 30)); + offset += 4; + } + var imgd = fr.cimg, dl = imgd.length; + wUi(data, offset, dl + (j == 0 ? 0 : 4)); + offset += 4; + var ioff = offset; + wAs(data, offset, j == 0 ? "IDAT" : "fdAT"); + offset += 4; + if (j != 0) { + wUi(data, offset, fi++); + offset += 4; + } + data.set(imgd, offset); + offset += dl; + wUi(data, offset, crc(data, ioff, offset - ioff)); + offset += 4; + } + wUi(data, offset, 0); + offset += 4; + wAs(data, offset, "IEND"); + offset += 4; + wUi(data, offset, crc(data, offset - 4, 4)); + offset += 4; + return data.buffer; +}; +UPNG.encode.compressPNG = function(out, filter, levelZero) { + for (var i = 0; i < out.frames.length; i++) { + var frm = out.frames[i], nw = frm.rect.width, nh = frm.rect.height; + var fdata = new Uint8Array(nh * frm.bpl + nh); + frm.cimg = UPNG.encode._filterZero(frm.img, nh, frm.bpp, frm.bpl, fdata, filter, levelZero); + } +}; +UPNG.encode.compress = function(bufs, w, h, ps, prms) { + var onlyBlend = prms[0], evenCrd = prms[1], forbidPrev = prms[2], minBits = prms[3], forbidPlte = prms[4]; + var ctype = 6, depth = 8, alphaAnd = 255; + for (var j = 0; j < bufs.length; j++) { + var img = new Uint8Array(bufs[j]), ilen = img.length; + for (var i = 0; i < ilen; i += 4) alphaAnd &= img[i + 3]; + } + var gotAlpha = alphaAnd != 255; + var frms = UPNG.encode.framize(bufs, w, h, onlyBlend, evenCrd, forbidPrev); + var cmap = {}, plte = [], inds = []; + if (ps != 0) { + var nbufs = []; + for (var i = 0; i < frms.length; i++) nbufs.push(frms[i].img.buffer); + var abuf = UPNG.encode.concatRGBA(nbufs), qres = UPNG.quantize(abuf, ps); + var cof = 0, bb = new Uint8Array(qres.abuf); + for (var i = 0; i < frms.length; i++) { + var ti = frms[i].img, bln = ti.length; + inds.push(new Uint8Array(qres.inds.buffer, cof >> 2, bln >> 2)); + for (var j = 0; j < bln; j += 4) { + ti[j] = bb[cof + j]; + ti[j + 1] = bb[cof + j + 1]; + ti[j + 2] = bb[cof + j + 2]; + ti[j + 3] = bb[cof + j + 3]; + } + cof += bln; + } + for (var i = 0; i < qres.plte.length; i++) plte.push(qres.plte[i].est.rgba); + } else { + for (var j = 0; j < frms.length; j++) { + var frm = frms[j], img32 = new Uint32Array(frm.img.buffer), nw = frm.rect.width, ilen = img32.length; + var ind = new Uint8Array(ilen); + inds.push(ind); + for (var i = 0; i < ilen; i++) { + var c = img32[i]; + if (i != 0 && c == img32[i - 1]) ind[i] = ind[i - 1]; + else if (i > nw && c == img32[i - nw]) ind[i] = ind[i - nw]; + else { + var cmc = cmap[c]; + if (cmc == null) { + cmap[c] = cmc = plte.length; + plte.push(c); + if (plte.length >= 300) break; + } + ind[i] = cmc; + } + } + } + } + var cc = plte.length; + if (cc <= 256 && forbidPlte == false) { + if (cc <= 2) depth = 1; + else if (cc <= 4) depth = 2; + else if (cc <= 16) depth = 4; + else depth = 8; + depth = Math.max(depth, minBits); + } + for (var j = 0; j < frms.length; j++) { + var frm = frms[j], nx = frm.rect.x, ny = frm.rect.y, nw = frm.rect.width, nh = frm.rect.height; + var cimg = frm.img, cimg32 = new Uint32Array(cimg.buffer); + var bpl = 4 * nw, bpp = 4; + if (cc <= 256 && forbidPlte == false) { + bpl = Math.ceil(depth * nw / 8); + var nimg = new Uint8Array(bpl * nh); + var inj = inds[j]; + for (var y = 0; y < nh; y++) { + var i = y * bpl, ii = y * nw; + if (depth == 8) for (var x = 0; x < nw; x++) nimg[i + x] = inj[ii + x]; + else if (depth == 4) for (var x = 0; x < nw; x++) nimg[i + (x >> 1)] |= inj[ii + x] << 4 - (x & 1) * 4; + else if (depth == 2) for (var x = 0; x < nw; x++) nimg[i + (x >> 2)] |= inj[ii + x] << 6 - (x & 3) * 2; + else if (depth == 1) for (var x = 0; x < nw; x++) nimg[i + (x >> 3)] |= inj[ii + x] << 7 - (x & 7) * 1; + } + cimg = nimg; + ctype = 3; + bpp = 1; + } else if (gotAlpha == false && frms.length == 1) { + var nimg = new Uint8Array(nw * nh * 3), area = nw * nh; + for (var i = 0; i < area; i++) { + var ti = i * 3, qi = i * 4; + nimg[ti] = cimg[qi]; + nimg[ti + 1] = cimg[qi + 1]; + nimg[ti + 2] = cimg[qi + 2]; + } + cimg = nimg; + ctype = 2; + bpp = 3; + bpl = 3 * nw; + } + frm.img = cimg; + frm.bpl = bpl; + frm.bpp = bpp; + } + return { ctype, depth, plte, frames: frms }; +}; +UPNG.encode.framize = function(bufs, w, h, alwaysBlend, evenCrd, forbidPrev) { + var frms = []; + for (var j = 0; j < bufs.length; j++) { + var cimg = new Uint8Array(bufs[j]), cimg32 = new Uint32Array(cimg.buffer); + var nimg; + var nx = 0, ny = 0, nw = w, nh = h, blend = alwaysBlend ? 1 : 0; + if (j != 0) { + var tlim = forbidPrev || alwaysBlend || j == 1 || frms[j - 2].dispose != 0 ? 1 : 2, tstp = 0, tarea = 1e9; + for (var it = 0; it < tlim; it++) { + var pimg = new Uint8Array(bufs[j - 1 - it]), p32 = new Uint32Array(bufs[j - 1 - it]); + var mix = w, miy = h, max = -1, may = -1; + for (var y = 0; y < h; y++) for (var x = 0; x < w; x++) { + var i = y * w + x; + if (cimg32[i] != p32[i]) { + if (x < mix) mix = x; + if (x > max) max = x; + if (y < miy) miy = y; + if (y > may) may = y; + } + } + if (max == -1) mix = miy = max = may = 0; + if (evenCrd) { + if ((mix & 1) == 1) mix--; + if ((miy & 1) == 1) miy--; + } + var sarea = (max - mix + 1) * (may - miy + 1); + if (sarea < tarea) { + tarea = sarea; + tstp = it; + nx = mix; + ny = miy; + nw = max - mix + 1; + nh = may - miy + 1; + } + } + var pimg = new Uint8Array(bufs[j - 1 - tstp]); + if (tstp == 1) frms[j - 1].dispose = 2; + nimg = new Uint8Array(nw * nh * 4); + UPNG._copyTile(pimg, w, h, nimg, nw, nh, -nx, -ny, 0); + blend = UPNG._copyTile(cimg, w, h, nimg, nw, nh, -nx, -ny, 3) ? 1 : 0; + if (blend == 1) UPNG.encode._prepareDiff(cimg, w, h, nimg, { x: nx, y: ny, width: nw, height: nh }); + else UPNG._copyTile(cimg, w, h, nimg, nw, nh, -nx, -ny, 0); + } else nimg = cimg.slice(0); + frms.push({ rect: { x: nx, y: ny, width: nw, height: nh }, img: nimg, blend, dispose: 0 }); + } + if (alwaysBlend) for (var j = 0; j < frms.length; j++) { + var frm = frms[j]; + if (frm.blend == 1) continue; + var r0 = frm.rect, r1 = frms[j - 1].rect; + var miX = Math.min(r0.x, r1.x), miY = Math.min(r0.y, r1.y); + var maX = Math.max(r0.x + r0.width, r1.x + r1.width), maY = Math.max(r0.y + r0.height, r1.y + r1.height); + var r = { x: miX, y: miY, width: maX - miX, height: maY - miY }; + frms[j - 1].dispose = 1; + if (j - 1 != 0) + UPNG.encode._updateFrame(bufs, w, h, frms, j - 1, r, evenCrd); + UPNG.encode._updateFrame(bufs, w, h, frms, j, r, evenCrd); + } + var area = 0; + if (bufs.length != 1) for (var i = 0; i < frms.length; i++) { + var frm = frms[i]; + area += frm.rect.width * frm.rect.height; + } + return frms; +}; +UPNG.encode._updateFrame = function(bufs, w, h, frms, i, r, evenCrd) { + var U8 = Uint8Array, U32 = Uint32Array; + var pimg = new U8(bufs[i - 1]), pimg32 = new U32(bufs[i - 1]), nimg = i + 1 < bufs.length ? new U8(bufs[i + 1]) : null; + var cimg = new U8(bufs[i]), cimg32 = new U32(cimg.buffer); + var mix = w, miy = h, max = -1, may = -1; + for (var y = 0; y < r.height; y++) for (var x = 0; x < r.width; x++) { + var cx2 = r.x + x, cy2 = r.y + y; + var j = cy2 * w + cx2, cc = cimg32[j]; + if (cc == 0 || frms[i - 1].dispose == 0 && pimg32[j] == cc && (nimg == null || nimg[j * 4 + 3] != 0)) { + } else { + if (cx2 < mix) mix = cx2; + if (cx2 > max) max = cx2; + if (cy2 < miy) miy = cy2; + if (cy2 > may) may = cy2; + } + } + if (max == -1) mix = miy = max = may = 0; + if (evenCrd) { + if ((mix & 1) == 1) mix--; + if ((miy & 1) == 1) miy--; + } + r = { x: mix, y: miy, width: max - mix + 1, height: may - miy + 1 }; + var fr = frms[i]; + fr.rect = r; + fr.blend = 1; + fr.img = new Uint8Array(r.width * r.height * 4); + if (frms[i - 1].dispose == 0) { + UPNG._copyTile(pimg, w, h, fr.img, r.width, r.height, -r.x, -r.y, 0); + UPNG.encode._prepareDiff(cimg, w, h, fr.img, r); + } else + UPNG._copyTile(cimg, w, h, fr.img, r.width, r.height, -r.x, -r.y, 0); +}; +UPNG.encode._prepareDiff = function(cimg, w, h, nimg, rec) { + UPNG._copyTile(cimg, w, h, nimg, rec.width, rec.height, -rec.x, -rec.y, 2); +}; +UPNG.encode._filterZero = function(img, h, bpp, bpl, data, filter, levelZero) { + var fls = [], ftry = [0, 1, 2, 3, 4]; + if (filter != -1) ftry = [filter]; + else if (h * bpl > 5e5 || bpp == 1) ftry = [0]; + var opts; + if (levelZero) opts = { level: 0 }; + var CMPR = levelZero && UZIP != null ? UZIP : import_pako4.default; + for (var i = 0; i < ftry.length; i++) { + for (var y = 0; y < h; y++) UPNG.encode._filterLine(data, img, y, bpl, bpp, ftry[i]); + fls.push(CMPR["deflate"](data, opts)); + } + var ti, tsize = 1e9; + for (var i = 0; i < fls.length; i++) if (fls[i].length < tsize) { + ti = i; + tsize = fls[i].length; + } + return fls[ti]; +}; +UPNG.encode._filterLine = function(data, img, y, bpl, bpp, type) { + var i = y * bpl, di = i + y, paeth = UPNG.decode._paeth; + data[di] = type; + di++; + if (type == 0) { + if (bpl < 500) for (var x = 0; x < bpl; x++) data[di + x] = img[i + x]; + else data.set(new Uint8Array(img.buffer, i, bpl), di); + } else if (type == 1) { + for (var x = 0; x < bpp; x++) data[di + x] = img[i + x]; + for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x] - img[i + x - bpp] + 256 & 255; + } else if (y == 0) { + for (var x = 0; x < bpp; x++) data[di + x] = img[i + x]; + if (type == 2) for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x]; + if (type == 3) for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x] - (img[i + x - bpp] >> 1) + 256 & 255; + if (type == 4) for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x] - paeth(img[i + x - bpp], 0, 0) + 256 & 255; + } else { + if (type == 2) { + for (var x = 0; x < bpl; x++) data[di + x] = img[i + x] + 256 - img[i + x - bpl] & 255; + } + if (type == 3) { + for (var x = 0; x < bpp; x++) data[di + x] = img[i + x] + 256 - (img[i + x - bpl] >> 1) & 255; + for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x] + 256 - (img[i + x - bpl] + img[i + x - bpp] >> 1) & 255; + } + if (type == 4) { + for (var x = 0; x < bpp; x++) data[di + x] = img[i + x] + 256 - paeth(0, img[i + x - bpl], 0) & 255; + for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x] + 256 - paeth(img[i + x - bpp], img[i + x - bpl], img[i + x - bpp - bpl]) & 255; + } + } +}; +UPNG.crc = { + table: (function() { + var tab = new Uint32Array(256); + for (var n = 0; n < 256; n++) { + var c = n; + for (var k = 0; k < 8; k++) { + if (c & 1) c = 3988292384 ^ c >>> 1; + else c = c >>> 1; + } + tab[n] = c; + } + return tab; + })(), + update: function(c, buf, off, len) { + for (var i = 0; i < len; i++) c = UPNG.crc.table[(c ^ buf[off + i]) & 255] ^ c >>> 8; + return c; + }, + crc: function(b, o, l) { + return UPNG.crc.update(4294967295, b, o, l) ^ 4294967295; + } +}; +UPNG.quantize = function(abuf, ps) { + var oimg = new Uint8Array(abuf), nimg = oimg.slice(0), nimg32 = new Uint32Array(nimg.buffer); + var KD = UPNG.quantize.getKDtree(nimg, ps); + var root = KD[0], leafs = KD[1]; + var planeDst = UPNG.quantize.planeDst; + var sb = oimg, tb = nimg32, len = sb.length; + var inds = new Uint8Array(oimg.length >> 2); + for (var i = 0; i < len; i += 4) { + var r = sb[i] * (1 / 255), g = sb[i + 1] * (1 / 255), b = sb[i + 2] * (1 / 255), a = sb[i + 3] * (1 / 255); + var nd = UPNG.quantize.getNearest(root, r, g, b, a); + inds[i >> 2] = nd.ind; + tb[i >> 2] = nd.est.rgba; + } + return { abuf: nimg.buffer, inds, plte: leafs }; +}; +UPNG.quantize.getKDtree = function(nimg, ps, err) { + if (err == null) err = 1e-4; + var nimg32 = new Uint32Array(nimg.buffer); + var root = { i0: 0, i1: nimg.length, bst: null, est: null, tdst: 0, left: null, right: null }; + root.bst = UPNG.quantize.stats(nimg, root.i0, root.i1); + root.est = UPNG.quantize.estats(root.bst); + var leafs = [root]; + while (leafs.length < ps) { + var maxL = 0, mi = 0; + for (var i = 0; i < leafs.length; i++) if (leafs[i].est.L > maxL) { + maxL = leafs[i].est.L; + mi = i; + } + if (maxL < err) break; + var node = leafs[mi]; + var s0 = UPNG.quantize.splitPixels(nimg, nimg32, node.i0, node.i1, node.est.e, node.est.eMq255); + var s0wrong = node.i0 >= s0 || node.i1 <= s0; + if (s0wrong) { + node.est.L = 0; + continue; + } + var ln = { i0: node.i0, i1: s0, bst: null, est: null, tdst: 0, left: null, right: null }; + ln.bst = UPNG.quantize.stats(nimg, ln.i0, ln.i1); + ln.est = UPNG.quantize.estats(ln.bst); + var rn = { i0: s0, i1: node.i1, bst: null, est: null, tdst: 0, left: null, right: null }; + rn.bst = { R: [], m: [], N: node.bst.N - ln.bst.N }; + for (var i = 0; i < 16; i++) rn.bst.R[i] = node.bst.R[i] - ln.bst.R[i]; + for (var i = 0; i < 4; i++) rn.bst.m[i] = node.bst.m[i] - ln.bst.m[i]; + rn.est = UPNG.quantize.estats(rn.bst); + node.left = ln; + node.right = rn; + leafs[mi] = ln; + leafs.push(rn); + } + leafs.sort(function(a, b) { + return b.bst.N - a.bst.N; + }); + for (var i = 0; i < leafs.length; i++) leafs[i].ind = i; + return [root, leafs]; +}; +UPNG.quantize.getNearest = function(nd, r, g, b, a) { + if (nd.left == null) { + nd.tdst = UPNG.quantize.dist(nd.est.q, r, g, b, a); + return nd; + } + var planeDst = UPNG.quantize.planeDst(nd.est, r, g, b, a); + var node0 = nd.left, node1 = nd.right; + if (planeDst > 0) { + node0 = nd.right; + node1 = nd.left; + } + var ln = UPNG.quantize.getNearest(node0, r, g, b, a); + if (ln.tdst <= planeDst * planeDst) return ln; + var rn = UPNG.quantize.getNearest(node1, r, g, b, a); + return rn.tdst < ln.tdst ? rn : ln; +}; +UPNG.quantize.planeDst = function(est, r, g, b, a) { + var e = est.e; + return e[0] * r + e[1] * g + e[2] * b + e[3] * a - est.eMq; +}; +UPNG.quantize.dist = function(q, r, g, b, a) { + var d0 = r - q[0], d1 = g - q[1], d2 = b - q[2], d3 = a - q[3]; + return d0 * d0 + d1 * d1 + d2 * d2 + d3 * d3; +}; +UPNG.quantize.splitPixels = function(nimg, nimg32, i0, i1, e, eMq) { + var vecDot = UPNG.quantize.vecDot; + i1 -= 4; + var shfs = 0; + while (i0 < i1) { + while (vecDot(nimg, i0, e) <= eMq) i0 += 4; + while (vecDot(nimg, i1, e) > eMq) i1 -= 4; + if (i0 >= i1) break; + var t = nimg32[i0 >> 2]; + nimg32[i0 >> 2] = nimg32[i1 >> 2]; + nimg32[i1 >> 2] = t; + i0 += 4; + i1 -= 4; + } + while (vecDot(nimg, i0, e) > eMq) i0 -= 4; + return i0 + 4; +}; +UPNG.quantize.vecDot = function(nimg, i, e) { + return nimg[i] * e[0] + nimg[i + 1] * e[1] + nimg[i + 2] * e[2] + nimg[i + 3] * e[3]; +}; +UPNG.quantize.stats = function(nimg, i0, i1) { + var R = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + var m = [0, 0, 0, 0]; + var N = i1 - i0 >> 2; + for (var i = i0; i < i1; i += 4) { + var r = nimg[i] * (1 / 255), g = nimg[i + 1] * (1 / 255), b = nimg[i + 2] * (1 / 255), a = nimg[i + 3] * (1 / 255); + m[0] += r; + m[1] += g; + m[2] += b; + m[3] += a; + R[0] += r * r; + R[1] += r * g; + R[2] += r * b; + R[3] += r * a; + R[5] += g * g; + R[6] += g * b; + R[7] += g * a; + R[10] += b * b; + R[11] += b * a; + R[15] += a * a; + } + R[4] = R[1]; + R[8] = R[2]; + R[9] = R[6]; + R[12] = R[3]; + R[13] = R[7]; + R[14] = R[11]; + return { R, m, N }; +}; +UPNG.quantize.estats = function(stats) { + var R = stats.R, m = stats.m, N = stats.N; + var m0 = m[0], m1 = m[1], m2 = m[2], m3 = m[3], iN = N == 0 ? 0 : 1 / N; + var Rj = [ + R[0] - m0 * m0 * iN, + R[1] - m0 * m1 * iN, + R[2] - m0 * m2 * iN, + R[3] - m0 * m3 * iN, + R[4] - m1 * m0 * iN, + R[5] - m1 * m1 * iN, + R[6] - m1 * m2 * iN, + R[7] - m1 * m3 * iN, + R[8] - m2 * m0 * iN, + R[9] - m2 * m1 * iN, + R[10] - m2 * m2 * iN, + R[11] - m2 * m3 * iN, + R[12] - m3 * m0 * iN, + R[13] - m3 * m1 * iN, + R[14] - m3 * m2 * iN, + R[15] - m3 * m3 * iN + ]; + var A = Rj, M = UPNG.M4; + var b = [0.5, 0.5, 0.5, 0.5], mi = 0, tmi = 0; + if (N != 0) + for (var i = 0; i < 10; i++) { + b = M.multVec(A, b); + tmi = Math.sqrt(M.dot(b, b)); + b = M.sml(1 / tmi, b); + if (Math.abs(tmi - mi) < 1e-9) break; + mi = tmi; + } + var q = [m0 * iN, m1 * iN, m2 * iN, m3 * iN]; + var eMq255 = M.dot(M.sml(255, q), b); + return { + Cov: Rj, + q, + e: b, + L: mi, + eMq255, + eMq: M.dot(b, q), + rgba: (Math.round(255 * q[3]) << 24 | Math.round(255 * q[2]) << 16 | Math.round(255 * q[1]) << 8 | Math.round(255 * q[0]) << 0) >>> 0 + }; +}; +UPNG.M4 = { + multVec: function(m, v) { + return [ + m[0] * v[0] + m[1] * v[1] + m[2] * v[2] + m[3] * v[3], + m[4] * v[0] + m[5] * v[1] + m[6] * v[2] + m[7] * v[3], + m[8] * v[0] + m[9] * v[1] + m[10] * v[2] + m[11] * v[3], + m[12] * v[0] + m[13] * v[1] + m[14] * v[2] + m[15] * v[3] + ]; + }, + dot: function(x, y) { + return x[0] * y[0] + x[1] * y[1] + x[2] * y[2] + x[3] * y[3]; + }, + sml: function(a, y) { + return [a * y[0], a * y[1], a * y[2], a * y[3]]; + } +}; +UPNG.encode.concatRGBA = function(bufs) { + var tlen = 0; + for (var i = 0; i < bufs.length; i++) tlen += bufs[i].byteLength; + var nimg = new Uint8Array(tlen), noff = 0; + for (var i = 0; i < bufs.length; i++) { + var img = new Uint8Array(bufs[i]), il = img.length; + for (var j = 0; j < il; j += 4) { + var r = img[j], g = img[j + 1], b = img[j + 2], a = img[j + 3]; + if (a == 0) r = g = b = 0; + nimg[noff + j] = r; + nimg[noff + j + 1] = g; + nimg[noff + j + 2] = b; + nimg[noff + j + 3] = a; + } + noff += il; + } + return nimg.buffer; +}; +var UPNG_default = UPNG; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/utils/png.js +var getImageType = function(ctype) { + if (ctype === 0) + return PngType.Greyscale; + if (ctype === 2) + return PngType.Truecolour; + if (ctype === 3) + return PngType.IndexedColour; + if (ctype === 4) + return PngType.GreyscaleWithAlpha; + if (ctype === 6) + return PngType.TruecolourWithAlpha; + throw new Error("Unknown color type: " + ctype); +}; +var splitAlphaChannel = function(rgbaChannel) { + var pixelCount = Math.floor(rgbaChannel.length / 4); + var rgbChannel = new Uint8Array(pixelCount * 3); + var alphaChannel = new Uint8Array(pixelCount * 1); + var rgbaOffset = 0; + var rgbOffset = 0; + var alphaOffset = 0; + while (rgbaOffset < rgbaChannel.length) { + rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++]; + rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++]; + rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++]; + alphaChannel[alphaOffset++] = rgbaChannel[rgbaOffset++]; + } + return { rgbChannel, alphaChannel }; +}; +var PngType; +(function(PngType2) { + PngType2["Greyscale"] = "Greyscale"; + PngType2["Truecolour"] = "Truecolour"; + PngType2["IndexedColour"] = "IndexedColour"; + PngType2["GreyscaleWithAlpha"] = "GreyscaleWithAlpha"; + PngType2["TruecolourWithAlpha"] = "TruecolourWithAlpha"; +})(PngType || (PngType = {})); +var PNG = ( + /** @class */ + (function() { + function PNG2(pngData) { + var upng = UPNG_default.decode(pngData); + var frames = UPNG_default.toRGBA8(upng); + if (frames.length > 1) + throw new Error("Animated PNGs are not supported"); + var frame = new Uint8Array(frames[0]); + var _a = splitAlphaChannel(frame), rgbChannel = _a.rgbChannel, alphaChannel = _a.alphaChannel; + this.rgbChannel = rgbChannel; + var hasAlphaValues = alphaChannel.some(function(a) { + return a < 255; + }); + if (hasAlphaValues) + this.alphaChannel = alphaChannel; + this.type = getImageType(upng.ctype); + this.width = upng.width; + this.height = upng.height; + this.bitsPerComponent = 8; + } + PNG2.load = function(pngData) { + return new PNG2(pngData); + }; + return PNG2; + })() +); + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/embedders/PngEmbedder.js +var PngEmbedder = ( + /** @class */ + (function() { + function PngEmbedder2(png) { + this.image = png; + this.bitsPerComponent = png.bitsPerComponent; + this.width = png.width; + this.height = png.height; + this.colorSpace = "DeviceRGB"; + } + PngEmbedder2.for = function(imageData) { + return __awaiter(this, void 0, void 0, function() { + var png; + return __generator(this, function(_a) { + png = PNG.load(imageData); + return [2, new PngEmbedder2(png)]; + }); + }); + }; + PngEmbedder2.prototype.embedIntoContext = function(context, ref) { + return __awaiter(this, void 0, void 0, function() { + var SMask, xObject; + return __generator(this, function(_a) { + SMask = this.embedAlphaChannel(context); + xObject = context.flateStream(this.image.rgbChannel, { + Type: "XObject", + Subtype: "Image", + BitsPerComponent: this.image.bitsPerComponent, + Width: this.image.width, + Height: this.image.height, + ColorSpace: this.colorSpace, + SMask + }); + if (ref) { + context.assign(ref, xObject); + return [2, ref]; + } else { + return [2, context.register(xObject)]; + } + return [ + 2 + /*return*/ + ]; + }); + }); + }; + PngEmbedder2.prototype.embedAlphaChannel = function(context) { + if (!this.image.alphaChannel) + return void 0; + var xObject = context.flateStream(this.image.alphaChannel, { + Type: "XObject", + Subtype: "Image", + Height: this.image.height, + Width: this.image.width, + BitsPerComponent: this.image.bitsPerComponent, + ColorSpace: "DeviceGray", + Decode: [0, 1] + }); + return context.register(xObject); + }; + return PngEmbedder2; + })() +); +var PngEmbedder_default = PngEmbedder; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/streams/Stream.js +var Stream = ( + /** @class */ + (function() { + function Stream2(buffer, start, length) { + this.bytes = buffer; + this.start = start || 0; + this.pos = this.start; + this.end = !!start && !!length ? start + length : this.bytes.length; + } + Object.defineProperty(Stream2.prototype, "length", { + get: function() { + return this.end - this.start; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(Stream2.prototype, "isEmpty", { + get: function() { + return this.length === 0; + }, + enumerable: false, + configurable: true + }); + Stream2.prototype.getByte = function() { + if (this.pos >= this.end) { + return -1; + } + return this.bytes[this.pos++]; + }; + Stream2.prototype.getUint16 = function() { + var b0 = this.getByte(); + var b1 = this.getByte(); + if (b0 === -1 || b1 === -1) { + return -1; + } + return (b0 << 8) + b1; + }; + Stream2.prototype.getInt32 = function() { + var b0 = this.getByte(); + var b1 = this.getByte(); + var b2 = this.getByte(); + var b3 = this.getByte(); + return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3; + }; + Stream2.prototype.getBytes = function(length, forceClamped) { + if (forceClamped === void 0) { + forceClamped = false; + } + var bytes = this.bytes; + var pos = this.pos; + var strEnd = this.end; + if (!length) { + var subarray = bytes.subarray(pos, strEnd); + return forceClamped ? new Uint8ClampedArray(subarray) : subarray; + } else { + var end = pos + length; + if (end > strEnd) { + end = strEnd; + } + this.pos = end; + var subarray = bytes.subarray(pos, end); + return forceClamped ? new Uint8ClampedArray(subarray) : subarray; + } + }; + Stream2.prototype.peekByte = function() { + var peekedByte = this.getByte(); + this.pos--; + return peekedByte; + }; + Stream2.prototype.peekBytes = function(length, forceClamped) { + if (forceClamped === void 0) { + forceClamped = false; + } + var bytes = this.getBytes(length, forceClamped); + this.pos -= bytes.length; + return bytes; + }; + Stream2.prototype.skip = function(n) { + if (!n) { + n = 1; + } + this.pos += n; + }; + Stream2.prototype.reset = function() { + this.pos = this.start; + }; + Stream2.prototype.moveStart = function() { + this.start = this.pos; + }; + Stream2.prototype.makeSubStream = function(start, length) { + return new Stream2(this.bytes, start, length); + }; + Stream2.prototype.decode = function() { + return this.bytes; + }; + return Stream2; + })() +); +var Stream_default = Stream; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/streams/DecodeStream.js +var emptyBuffer = new Uint8Array(0); +var DecodeStream = ( + /** @class */ + (function() { + function DecodeStream2(maybeMinBufferLength) { + this.pos = 0; + this.bufferLength = 0; + this.eof = false; + this.buffer = emptyBuffer; + this.minBufferLength = 512; + if (maybeMinBufferLength) { + while (this.minBufferLength < maybeMinBufferLength) { + this.minBufferLength *= 2; + } + } + } + Object.defineProperty(DecodeStream2.prototype, "isEmpty", { + get: function() { + while (!this.eof && this.bufferLength === 0) { + this.readBlock(); + } + return this.bufferLength === 0; + }, + enumerable: false, + configurable: true + }); + DecodeStream2.prototype.getByte = function() { + var pos = this.pos; + while (this.bufferLength <= pos) { + if (this.eof) { + return -1; + } + this.readBlock(); + } + return this.buffer[this.pos++]; + }; + DecodeStream2.prototype.getUint16 = function() { + var b0 = this.getByte(); + var b1 = this.getByte(); + if (b0 === -1 || b1 === -1) { + return -1; + } + return (b0 << 8) + b1; + }; + DecodeStream2.prototype.getInt32 = function() { + var b0 = this.getByte(); + var b1 = this.getByte(); + var b2 = this.getByte(); + var b3 = this.getByte(); + return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3; + }; + DecodeStream2.prototype.getBytes = function(length, forceClamped) { + if (forceClamped === void 0) { + forceClamped = false; + } + var end; + var pos = this.pos; + if (length) { + this.ensureBuffer(pos + length); + end = pos + length; + while (!this.eof && this.bufferLength < end) { + this.readBlock(); + } + var bufEnd = this.bufferLength; + if (end > bufEnd) { + end = bufEnd; + } + } else { + while (!this.eof) { + this.readBlock(); + } + end = this.bufferLength; + } + this.pos = end; + var subarray = this.buffer.subarray(pos, end); + return forceClamped && !(subarray instanceof Uint8ClampedArray) ? new Uint8ClampedArray(subarray) : subarray; + }; + DecodeStream2.prototype.peekByte = function() { + var peekedByte = this.getByte(); + this.pos--; + return peekedByte; + }; + DecodeStream2.prototype.peekBytes = function(length, forceClamped) { + if (forceClamped === void 0) { + forceClamped = false; + } + var bytes = this.getBytes(length, forceClamped); + this.pos -= bytes.length; + return bytes; + }; + DecodeStream2.prototype.skip = function(n) { + if (!n) { + n = 1; + } + this.pos += n; + }; + DecodeStream2.prototype.reset = function() { + this.pos = 0; + }; + DecodeStream2.prototype.makeSubStream = function(start, length) { + var end = start + length; + while (this.bufferLength <= end && !this.eof) { + this.readBlock(); + } + return new Stream_default( + this.buffer, + start, + length + /* dict */ + ); + }; + DecodeStream2.prototype.decode = function() { + while (!this.eof) + this.readBlock(); + return this.buffer.subarray(0, this.bufferLength); + }; + DecodeStream2.prototype.readBlock = function() { + throw new MethodNotImplementedError(this.constructor.name, "readBlock"); + }; + DecodeStream2.prototype.ensureBuffer = function(requested) { + var buffer = this.buffer; + if (requested <= buffer.byteLength) { + return buffer; + } + var size = this.minBufferLength; + while (size < requested) { + size *= 2; + } + var buffer2 = new Uint8Array(size); + buffer2.set(buffer); + return this.buffer = buffer2; + }; + return DecodeStream2; + })() +); +var DecodeStream_default = DecodeStream; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/streams/Ascii85Stream.js +var isSpace = function(ch) { + return ch === 32 || ch === 9 || ch === 13 || ch === 10; +}; +var Ascii85Stream = ( + /** @class */ + (function(_super) { + __extends(Ascii85Stream2, _super); + function Ascii85Stream2(stream2, maybeLength) { + var _this = _super.call(this, maybeLength) || this; + _this.stream = stream2; + _this.input = new Uint8Array(5); + if (maybeLength) { + maybeLength = 0.8 * maybeLength; + } + return _this; + } + Ascii85Stream2.prototype.readBlock = function() { + var TILDA_CHAR = 126; + var Z_LOWER_CHAR = 122; + var EOF = -1; + var stream2 = this.stream; + var c = stream2.getByte(); + while (isSpace(c)) { + c = stream2.getByte(); + } + if (c === EOF || c === TILDA_CHAR) { + this.eof = true; + return; + } + var bufferLength = this.bufferLength; + var buffer; + var i; + if (c === Z_LOWER_CHAR) { + buffer = this.ensureBuffer(bufferLength + 4); + for (i = 0; i < 4; ++i) { + buffer[bufferLength + i] = 0; + } + this.bufferLength += 4; + } else { + var input = this.input; + input[0] = c; + for (i = 1; i < 5; ++i) { + c = stream2.getByte(); + while (isSpace(c)) { + c = stream2.getByte(); + } + input[i] = c; + if (c === EOF || c === TILDA_CHAR) { + break; + } + } + buffer = this.ensureBuffer(bufferLength + i - 1); + this.bufferLength += i - 1; + if (i < 5) { + for (; i < 5; ++i) { + input[i] = 33 + 84; + } + this.eof = true; + } + var t = 0; + for (i = 0; i < 5; ++i) { + t = t * 85 + (input[i] - 33); + } + for (i = 3; i >= 0; --i) { + buffer[bufferLength + i] = t & 255; + t >>= 8; + } + } + }; + return Ascii85Stream2; + })(DecodeStream_default) +); +var Ascii85Stream_default = Ascii85Stream; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/streams/AsciiHexStream.js +var AsciiHexStream = ( + /** @class */ + (function(_super) { + __extends(AsciiHexStream2, _super); + function AsciiHexStream2(stream2, maybeLength) { + var _this = _super.call(this, maybeLength) || this; + _this.stream = stream2; + _this.firstDigit = -1; + if (maybeLength) { + maybeLength = 0.5 * maybeLength; + } + return _this; + } + AsciiHexStream2.prototype.readBlock = function() { + var UPSTREAM_BLOCK_SIZE = 8e3; + var bytes = this.stream.getBytes(UPSTREAM_BLOCK_SIZE); + if (!bytes.length) { + this.eof = true; + return; + } + var maxDecodeLength = bytes.length + 1 >> 1; + var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength); + var bufferLength = this.bufferLength; + var firstDigit = this.firstDigit; + for (var i = 0, ii = bytes.length; i < ii; i++) { + var ch = bytes[i]; + var digit = void 0; + if (ch >= 48 && ch <= 57) { + digit = ch & 15; + } else if (ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102) { + digit = (ch & 15) + 9; + } else if (ch === 62) { + this.eof = true; + break; + } else { + continue; + } + if (firstDigit < 0) { + firstDigit = digit; + } else { + buffer[bufferLength++] = firstDigit << 4 | digit; + firstDigit = -1; + } + } + if (firstDigit >= 0 && this.eof) { + buffer[bufferLength++] = firstDigit << 4; + firstDigit = -1; + } + this.firstDigit = firstDigit; + this.bufferLength = bufferLength; + }; + return AsciiHexStream2; + })(DecodeStream_default) +); +var AsciiHexStream_default = AsciiHexStream; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/streams/FlateStream.js +var codeLenCodeMap = new Int32Array([ + 16, + 17, + 18, + 0, + 8, + 7, + 9, + 6, + 10, + 5, + 11, + 4, + 12, + 3, + 13, + 2, + 14, + 1, + 15 +]); +var lengthDecode = new Int32Array([ + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 65547, + 65549, + 65551, + 65553, + 131091, + 131095, + 131099, + 131103, + 196643, + 196651, + 196659, + 196667, + 262211, + 262227, + 262243, + 262259, + 327811, + 327843, + 327875, + 327907, + 258, + 258, + 258 +]); +var distDecode = new Int32Array([ + 1, + 2, + 3, + 4, + 65541, + 65543, + 131081, + 131085, + 196625, + 196633, + 262177, + 262193, + 327745, + 327777, + 393345, + 393409, + 459009, + 459137, + 524801, + 525057, + 590849, + 591361, + 657409, + 658433, + 724993, + 727041, + 794625, + 798721, + 868353, + 876545 +]); +var fixedLitCodeTab = [new Int32Array([ + 459008, + 524368, + 524304, + 524568, + 459024, + 524400, + 524336, + 590016, + 459016, + 524384, + 524320, + 589984, + 524288, + 524416, + 524352, + 590048, + 459012, + 524376, + 524312, + 589968, + 459028, + 524408, + 524344, + 590032, + 459020, + 524392, + 524328, + 59e4, + 524296, + 524424, + 524360, + 590064, + 459010, + 524372, + 524308, + 524572, + 459026, + 524404, + 524340, + 590024, + 459018, + 524388, + 524324, + 589992, + 524292, + 524420, + 524356, + 590056, + 459014, + 524380, + 524316, + 589976, + 459030, + 524412, + 524348, + 590040, + 459022, + 524396, + 524332, + 590008, + 524300, + 524428, + 524364, + 590072, + 459009, + 524370, + 524306, + 524570, + 459025, + 524402, + 524338, + 590020, + 459017, + 524386, + 524322, + 589988, + 524290, + 524418, + 524354, + 590052, + 459013, + 524378, + 524314, + 589972, + 459029, + 524410, + 524346, + 590036, + 459021, + 524394, + 524330, + 590004, + 524298, + 524426, + 524362, + 590068, + 459011, + 524374, + 524310, + 524574, + 459027, + 524406, + 524342, + 590028, + 459019, + 524390, + 524326, + 589996, + 524294, + 524422, + 524358, + 590060, + 459015, + 524382, + 524318, + 589980, + 459031, + 524414, + 524350, + 590044, + 459023, + 524398, + 524334, + 590012, + 524302, + 524430, + 524366, + 590076, + 459008, + 524369, + 524305, + 524569, + 459024, + 524401, + 524337, + 590018, + 459016, + 524385, + 524321, + 589986, + 524289, + 524417, + 524353, + 590050, + 459012, + 524377, + 524313, + 589970, + 459028, + 524409, + 524345, + 590034, + 459020, + 524393, + 524329, + 590002, + 524297, + 524425, + 524361, + 590066, + 459010, + 524373, + 524309, + 524573, + 459026, + 524405, + 524341, + 590026, + 459018, + 524389, + 524325, + 589994, + 524293, + 524421, + 524357, + 590058, + 459014, + 524381, + 524317, + 589978, + 459030, + 524413, + 524349, + 590042, + 459022, + 524397, + 524333, + 590010, + 524301, + 524429, + 524365, + 590074, + 459009, + 524371, + 524307, + 524571, + 459025, + 524403, + 524339, + 590022, + 459017, + 524387, + 524323, + 589990, + 524291, + 524419, + 524355, + 590054, + 459013, + 524379, + 524315, + 589974, + 459029, + 524411, + 524347, + 590038, + 459021, + 524395, + 524331, + 590006, + 524299, + 524427, + 524363, + 590070, + 459011, + 524375, + 524311, + 524575, + 459027, + 524407, + 524343, + 590030, + 459019, + 524391, + 524327, + 589998, + 524295, + 524423, + 524359, + 590062, + 459015, + 524383, + 524319, + 589982, + 459031, + 524415, + 524351, + 590046, + 459023, + 524399, + 524335, + 590014, + 524303, + 524431, + 524367, + 590078, + 459008, + 524368, + 524304, + 524568, + 459024, + 524400, + 524336, + 590017, + 459016, + 524384, + 524320, + 589985, + 524288, + 524416, + 524352, + 590049, + 459012, + 524376, + 524312, + 589969, + 459028, + 524408, + 524344, + 590033, + 459020, + 524392, + 524328, + 590001, + 524296, + 524424, + 524360, + 590065, + 459010, + 524372, + 524308, + 524572, + 459026, + 524404, + 524340, + 590025, + 459018, + 524388, + 524324, + 589993, + 524292, + 524420, + 524356, + 590057, + 459014, + 524380, + 524316, + 589977, + 459030, + 524412, + 524348, + 590041, + 459022, + 524396, + 524332, + 590009, + 524300, + 524428, + 524364, + 590073, + 459009, + 524370, + 524306, + 524570, + 459025, + 524402, + 524338, + 590021, + 459017, + 524386, + 524322, + 589989, + 524290, + 524418, + 524354, + 590053, + 459013, + 524378, + 524314, + 589973, + 459029, + 524410, + 524346, + 590037, + 459021, + 524394, + 524330, + 590005, + 524298, + 524426, + 524362, + 590069, + 459011, + 524374, + 524310, + 524574, + 459027, + 524406, + 524342, + 590029, + 459019, + 524390, + 524326, + 589997, + 524294, + 524422, + 524358, + 590061, + 459015, + 524382, + 524318, + 589981, + 459031, + 524414, + 524350, + 590045, + 459023, + 524398, + 524334, + 590013, + 524302, + 524430, + 524366, + 590077, + 459008, + 524369, + 524305, + 524569, + 459024, + 524401, + 524337, + 590019, + 459016, + 524385, + 524321, + 589987, + 524289, + 524417, + 524353, + 590051, + 459012, + 524377, + 524313, + 589971, + 459028, + 524409, + 524345, + 590035, + 459020, + 524393, + 524329, + 590003, + 524297, + 524425, + 524361, + 590067, + 459010, + 524373, + 524309, + 524573, + 459026, + 524405, + 524341, + 590027, + 459018, + 524389, + 524325, + 589995, + 524293, + 524421, + 524357, + 590059, + 459014, + 524381, + 524317, + 589979, + 459030, + 524413, + 524349, + 590043, + 459022, + 524397, + 524333, + 590011, + 524301, + 524429, + 524365, + 590075, + 459009, + 524371, + 524307, + 524571, + 459025, + 524403, + 524339, + 590023, + 459017, + 524387, + 524323, + 589991, + 524291, + 524419, + 524355, + 590055, + 459013, + 524379, + 524315, + 589975, + 459029, + 524411, + 524347, + 590039, + 459021, + 524395, + 524331, + 590007, + 524299, + 524427, + 524363, + 590071, + 459011, + 524375, + 524311, + 524575, + 459027, + 524407, + 524343, + 590031, + 459019, + 524391, + 524327, + 589999, + 524295, + 524423, + 524359, + 590063, + 459015, + 524383, + 524319, + 589983, + 459031, + 524415, + 524351, + 590047, + 459023, + 524399, + 524335, + 590015, + 524303, + 524431, + 524367, + 590079 +]), 9]; +var fixedDistCodeTab = [new Int32Array([ + 327680, + 327696, + 327688, + 327704, + 327684, + 327700, + 327692, + 327708, + 327682, + 327698, + 327690, + 327706, + 327686, + 327702, + 327694, + 0, + 327681, + 327697, + 327689, + 327705, + 327685, + 327701, + 327693, + 327709, + 327683, + 327699, + 327691, + 327707, + 327687, + 327703, + 327695, + 0 +]), 5]; +var FlateStream = ( + /** @class */ + (function(_super) { + __extends(FlateStream2, _super); + function FlateStream2(stream2, maybeLength) { + var _this = _super.call(this, maybeLength) || this; + _this.stream = stream2; + var cmf = stream2.getByte(); + var flg = stream2.getByte(); + if (cmf === -1 || flg === -1) { + throw new Error("Invalid header in flate stream: " + cmf + ", " + flg); + } + if ((cmf & 15) !== 8) { + throw new Error("Unknown compression method in flate stream: " + cmf + ", " + flg); + } + if (((cmf << 8) + flg) % 31 !== 0) { + throw new Error("Bad FCHECK in flate stream: " + cmf + ", " + flg); + } + if (flg & 32) { + throw new Error("FDICT bit set in flate stream: " + cmf + ", " + flg); + } + _this.codeSize = 0; + _this.codeBuf = 0; + return _this; + } + FlateStream2.prototype.readBlock = function() { + var buffer; + var len; + var str = this.stream; + var hdr = this.getBits(3); + if (hdr & 1) { + this.eof = true; + } + hdr >>= 1; + if (hdr === 0) { + var b = void 0; + if ((b = str.getByte()) === -1) { + throw new Error("Bad block header in flate stream"); + } + var blockLen = b; + if ((b = str.getByte()) === -1) { + throw new Error("Bad block header in flate stream"); + } + blockLen |= b << 8; + if ((b = str.getByte()) === -1) { + throw new Error("Bad block header in flate stream"); + } + var check = b; + if ((b = str.getByte()) === -1) { + throw new Error("Bad block header in flate stream"); + } + check |= b << 8; + if (check !== (~blockLen & 65535) && (blockLen !== 0 || check !== 0)) { + throw new Error("Bad uncompressed block length in flate stream"); + } + this.codeBuf = 0; + this.codeSize = 0; + var bufferLength = this.bufferLength; + buffer = this.ensureBuffer(bufferLength + blockLen); + var end = bufferLength + blockLen; + this.bufferLength = end; + if (blockLen === 0) { + if (str.peekByte() === -1) { + this.eof = true; + } + } else { + for (var n = bufferLength; n < end; ++n) { + if ((b = str.getByte()) === -1) { + this.eof = true; + break; + } + buffer[n] = b; + } + } + return; + } + var litCodeTable; + var distCodeTable; + if (hdr === 1) { + litCodeTable = fixedLitCodeTab; + distCodeTable = fixedDistCodeTab; + } else if (hdr === 2) { + var numLitCodes = this.getBits(5) + 257; + var numDistCodes = this.getBits(5) + 1; + var numCodeLenCodes = this.getBits(4) + 4; + var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length); + var i = void 0; + for (i = 0; i < numCodeLenCodes; ++i) { + codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3); + } + var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths); + len = 0; + i = 0; + var codes = numLitCodes + numDistCodes; + var codeLengths = new Uint8Array(codes); + var bitsLength = void 0; + var bitsOffset = void 0; + var what = void 0; + while (i < codes) { + var code = this.getCode(codeLenCodeTab); + if (code === 16) { + bitsLength = 2; + bitsOffset = 3; + what = len; + } else if (code === 17) { + bitsLength = 3; + bitsOffset = 3; + what = len = 0; + } else if (code === 18) { + bitsLength = 7; + bitsOffset = 11; + what = len = 0; + } else { + codeLengths[i++] = len = code; + continue; + } + var repeatLength = this.getBits(bitsLength) + bitsOffset; + while (repeatLength-- > 0) { + codeLengths[i++] = what; + } + } + litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes)); + distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes)); + } else { + throw new Error("Unknown block type in flate stream"); + } + buffer = this.buffer; + var limit = buffer ? buffer.length : 0; + var pos = this.bufferLength; + while (true) { + var code1 = this.getCode(litCodeTable); + if (code1 < 256) { + if (pos + 1 >= limit) { + buffer = this.ensureBuffer(pos + 1); + limit = buffer.length; + } + buffer[pos++] = code1; + continue; + } + if (code1 === 256) { + this.bufferLength = pos; + return; + } + code1 -= 257; + code1 = lengthDecode[code1]; + var code2 = code1 >> 16; + if (code2 > 0) { + code2 = this.getBits(code2); + } + len = (code1 & 65535) + code2; + code1 = this.getCode(distCodeTable); + code1 = distDecode[code1]; + code2 = code1 >> 16; + if (code2 > 0) { + code2 = this.getBits(code2); + } + var dist = (code1 & 65535) + code2; + if (pos + len >= limit) { + buffer = this.ensureBuffer(pos + len); + limit = buffer.length; + } + for (var k = 0; k < len; ++k, ++pos) { + buffer[pos] = buffer[pos - dist]; + } + } + }; + FlateStream2.prototype.getBits = function(bits) { + var str = this.stream; + var codeSize = this.codeSize; + var codeBuf = this.codeBuf; + var b; + while (codeSize < bits) { + if ((b = str.getByte()) === -1) { + throw new Error("Bad encoding in flate stream"); + } + codeBuf |= b << codeSize; + codeSize += 8; + } + b = codeBuf & (1 << bits) - 1; + this.codeBuf = codeBuf >> bits; + this.codeSize = codeSize -= bits; + return b; + }; + FlateStream2.prototype.getCode = function(table) { + var str = this.stream; + var codes = table[0]; + var maxLen = table[1]; + var codeSize = this.codeSize; + var codeBuf = this.codeBuf; + var b; + while (codeSize < maxLen) { + if ((b = str.getByte()) === -1) { + break; + } + codeBuf |= b << codeSize; + codeSize += 8; + } + var code = codes[codeBuf & (1 << maxLen) - 1]; + if (typeof codes === "number") { + console.log("FLATE:", code); + } + var codeLen = code >> 16; + var codeVal = code & 65535; + if (codeLen < 1 || codeSize < codeLen) { + throw new Error("Bad encoding in flate stream"); + } + this.codeBuf = codeBuf >> codeLen; + this.codeSize = codeSize - codeLen; + return codeVal; + }; + FlateStream2.prototype.generateHuffmanTable = function(lengths) { + var n = lengths.length; + var maxLen = 0; + var i; + for (i = 0; i < n; ++i) { + if (lengths[i] > maxLen) { + maxLen = lengths[i]; + } + } + var size = 1 << maxLen; + var codes = new Int32Array(size); + for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) { + for (var val2 = 0; val2 < n; ++val2) { + if (lengths[val2] === len) { + var code2 = 0; + var t = code; + for (i = 0; i < len; ++i) { + code2 = code2 << 1 | t & 1; + t >>= 1; + } + for (i = code2; i < size; i += skip) { + codes[i] = len << 16 | val2; + } + ++code; + } + } + } + return [codes, maxLen]; + }; + return FlateStream2; + })(DecodeStream_default) +); +var FlateStream_default = FlateStream; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/streams/LZWStream.js +var LZWStream = ( + /** @class */ + (function(_super) { + __extends(LZWStream2, _super); + function LZWStream2(stream2, maybeLength, earlyChange) { + var _this = _super.call(this, maybeLength) || this; + _this.stream = stream2; + _this.cachedData = 0; + _this.bitsCached = 0; + var maxLzwDictionarySize = 4096; + var lzwState = { + earlyChange, + codeLength: 9, + nextCode: 258, + dictionaryValues: new Uint8Array(maxLzwDictionarySize), + dictionaryLengths: new Uint16Array(maxLzwDictionarySize), + dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize), + currentSequence: new Uint8Array(maxLzwDictionarySize), + currentSequenceLength: 0 + }; + for (var i = 0; i < 256; ++i) { + lzwState.dictionaryValues[i] = i; + lzwState.dictionaryLengths[i] = 1; + } + _this.lzwState = lzwState; + return _this; + } + LZWStream2.prototype.readBlock = function() { + var blockSize = 512; + var estimatedDecodedSize = blockSize * 2; + var decodedSizeDelta = blockSize; + var i; + var j; + var q; + var lzwState = this.lzwState; + if (!lzwState) { + return; + } + var earlyChange = lzwState.earlyChange; + var nextCode = lzwState.nextCode; + var dictionaryValues = lzwState.dictionaryValues; + var dictionaryLengths = lzwState.dictionaryLengths; + var dictionaryPrevCodes = lzwState.dictionaryPrevCodes; + var codeLength = lzwState.codeLength; + var prevCode = lzwState.prevCode; + var currentSequence = lzwState.currentSequence; + var currentSequenceLength = lzwState.currentSequenceLength; + var decodedLength = 0; + var currentBufferLength = this.bufferLength; + var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize); + for (i = 0; i < blockSize; i++) { + var code = this.readBits(codeLength); + var hasPrev = currentSequenceLength > 0; + if (!code || code < 256) { + currentSequence[0] = code; + currentSequenceLength = 1; + } else if (code >= 258) { + if (code < nextCode) { + currentSequenceLength = dictionaryLengths[code]; + for (j = currentSequenceLength - 1, q = code; j >= 0; j--) { + currentSequence[j] = dictionaryValues[q]; + q = dictionaryPrevCodes[q]; + } + } else { + currentSequence[currentSequenceLength++] = currentSequence[0]; + } + } else if (code === 256) { + codeLength = 9; + nextCode = 258; + currentSequenceLength = 0; + continue; + } else { + this.eof = true; + delete this.lzwState; + break; + } + if (hasPrev) { + dictionaryPrevCodes[nextCode] = prevCode; + dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1; + dictionaryValues[nextCode] = currentSequence[0]; + nextCode++; + codeLength = nextCode + earlyChange & nextCode + earlyChange - 1 ? codeLength : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0; + } + prevCode = code; + decodedLength += currentSequenceLength; + if (estimatedDecodedSize < decodedLength) { + do { + estimatedDecodedSize += decodedSizeDelta; + } while (estimatedDecodedSize < decodedLength); + buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize); + } + for (j = 0; j < currentSequenceLength; j++) { + buffer[currentBufferLength++] = currentSequence[j]; + } + } + lzwState.nextCode = nextCode; + lzwState.codeLength = codeLength; + lzwState.prevCode = prevCode; + lzwState.currentSequenceLength = currentSequenceLength; + this.bufferLength = currentBufferLength; + }; + LZWStream2.prototype.readBits = function(n) { + var bitsCached = this.bitsCached; + var cachedData = this.cachedData; + while (bitsCached < n) { + var c = this.stream.getByte(); + if (c === -1) { + this.eof = true; + return null; + } + cachedData = cachedData << 8 | c; + bitsCached += 8; + } + this.bitsCached = bitsCached -= n; + this.cachedData = cachedData; + return cachedData >>> bitsCached & (1 << n) - 1; + }; + return LZWStream2; + })(DecodeStream_default) +); +var LZWStream_default = LZWStream; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/streams/RunLengthStream.js +var RunLengthStream = ( + /** @class */ + (function(_super) { + __extends(RunLengthStream2, _super); + function RunLengthStream2(stream2, maybeLength) { + var _this = _super.call(this, maybeLength) || this; + _this.stream = stream2; + return _this; + } + RunLengthStream2.prototype.readBlock = function() { + var repeatHeader = this.stream.getBytes(2); + if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) { + this.eof = true; + return; + } + var buffer; + var bufferLength = this.bufferLength; + var n = repeatHeader[0]; + if (n < 128) { + buffer = this.ensureBuffer(bufferLength + n + 1); + buffer[bufferLength++] = repeatHeader[1]; + if (n > 0) { + var source = this.stream.getBytes(n); + buffer.set(source, bufferLength); + bufferLength += n; + } + } else { + n = 257 - n; + var b = repeatHeader[1]; + buffer = this.ensureBuffer(bufferLength + n + 1); + for (var i = 0; i < n; i++) { + buffer[bufferLength++] = b; + } + } + this.bufferLength = bufferLength; + }; + return RunLengthStream2; + })(DecodeStream_default) +); +var RunLengthStream_default = RunLengthStream; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/streams/decode.js +var decodeStream = function(stream2, encoding, params) { + if (encoding === PDFName_default.of("FlateDecode")) { + return new FlateStream_default(stream2); + } + if (encoding === PDFName_default.of("LZWDecode")) { + var earlyChange = 1; + if (params instanceof PDFDict_default) { + var EarlyChange = params.lookup(PDFName_default.of("EarlyChange")); + if (EarlyChange instanceof PDFNumber_default) { + earlyChange = EarlyChange.asNumber(); + } + } + return new LZWStream_default(stream2, void 0, earlyChange); + } + if (encoding === PDFName_default.of("ASCII85Decode")) { + return new Ascii85Stream_default(stream2); + } + if (encoding === PDFName_default.of("ASCIIHexDecode")) { + return new AsciiHexStream_default(stream2); + } + if (encoding === PDFName_default.of("RunLengthDecode")) { + return new RunLengthStream_default(stream2); + } + throw new UnsupportedEncodingError(encoding.asString()); +}; +var decodePDFRawStream = function(_a) { + var dict = _a.dict, contents = _a.contents; + var stream2 = new Stream_default(contents); + var Filter = dict.lookup(PDFName_default.of("Filter")); + var DecodeParms = dict.lookup(PDFName_default.of("DecodeParms")); + if (Filter instanceof PDFName_default) { + stream2 = decodeStream(stream2, Filter, DecodeParms); + } else if (Filter instanceof PDFArray_default) { + for (var idx = 0, len = Filter.size(); idx < len; idx++) { + stream2 = decodeStream(stream2, Filter.lookup(idx, PDFName_default), DecodeParms && DecodeParms.lookupMaybe(idx, PDFDict_default)); + } + } else if (!!Filter) { + throw new UnexpectedObjectTypeError([PDFName_default, PDFArray_default], Filter); + } + return stream2; +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/embedders/PDFPageEmbedder.js +var fullPageBoundingBox = function(page) { + var mediaBox = page.MediaBox(); + var width = mediaBox.lookup(2, PDFNumber_default).asNumber() - mediaBox.lookup(0, PDFNumber_default).asNumber(); + var height = mediaBox.lookup(3, PDFNumber_default).asNumber() - mediaBox.lookup(1, PDFNumber_default).asNumber(); + return { left: 0, bottom: 0, right: width, top: height }; +}; +var boundingBoxAdjustedMatrix = function(bb) { + return [1, 0, 0, 1, -bb.left, -bb.bottom]; +}; +var PDFPageEmbedder = ( + /** @class */ + (function() { + function PDFPageEmbedder2(page, boundingBox, transformationMatrix) { + this.page = page; + var bb = boundingBox !== null && boundingBox !== void 0 ? boundingBox : fullPageBoundingBox(page); + this.width = bb.right - bb.left; + this.height = bb.top - bb.bottom; + this.boundingBox = bb; + this.transformationMatrix = transformationMatrix !== null && transformationMatrix !== void 0 ? transformationMatrix : boundingBoxAdjustedMatrix(bb); + } + PDFPageEmbedder2.for = function(page, boundingBox, transformationMatrix) { + return __awaiter(this, void 0, void 0, function() { + return __generator(this, function(_a) { + return [2, new PDFPageEmbedder2(page, boundingBox, transformationMatrix)]; + }); + }); + }; + PDFPageEmbedder2.prototype.embedIntoContext = function(context, ref) { + return __awaiter(this, void 0, void 0, function() { + var _a, Contents, Resources, decodedContents, _b, left, bottom, right, top, xObject; + return __generator(this, function(_c) { + _a = this.page.normalizedEntries(), Contents = _a.Contents, Resources = _a.Resources; + if (!Contents) + throw new MissingPageContentsEmbeddingError(); + decodedContents = this.decodeContents(Contents); + _b = this.boundingBox, left = _b.left, bottom = _b.bottom, right = _b.right, top = _b.top; + xObject = context.flateStream(decodedContents, { + Type: "XObject", + Subtype: "Form", + FormType: 1, + BBox: [left, bottom, right, top], + Matrix: this.transformationMatrix, + Resources + }); + if (ref) { + context.assign(ref, xObject); + return [2, ref]; + } else { + return [2, context.register(xObject)]; + } + return [ + 2 + /*return*/ + ]; + }); + }); + }; + PDFPageEmbedder2.prototype.decodeContents = function(contents) { + var newline = Uint8Array.of(CharCodes_default.Newline); + var decodedContents = []; + for (var idx = 0, len = contents.size(); idx < len; idx++) { + var stream2 = contents.lookup(idx, PDFStream_default); + var content = void 0; + if (stream2 instanceof PDFRawStream_default) { + content = decodePDFRawStream(stream2).decode(); + } else if (stream2 instanceof PDFContentStream_default) { + content = stream2.getUnencodedContents(); + } else { + throw new UnrecognizedStreamTypeError(stream2); + } + decodedContents.push(content, newline); + } + return mergeIntoTypedArray.apply(void 0, decodedContents); + }; + return PDFPageEmbedder2; + })() +); +var PDFPageEmbedder_default = PDFPageEmbedder; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/interactive/ViewerPreferences.js +var asEnum = function(rawValue, enumType) { + if (rawValue === void 0) + return void 0; + return enumType[rawValue]; +}; +var NonFullScreenPageMode; +(function(NonFullScreenPageMode2) { + NonFullScreenPageMode2["UseNone"] = "UseNone"; + NonFullScreenPageMode2["UseOutlines"] = "UseOutlines"; + NonFullScreenPageMode2["UseThumbs"] = "UseThumbs"; + NonFullScreenPageMode2["UseOC"] = "UseOC"; +})(NonFullScreenPageMode || (NonFullScreenPageMode = {})); +var ReadingDirection; +(function(ReadingDirection2) { + ReadingDirection2["L2R"] = "L2R"; + ReadingDirection2["R2L"] = "R2L"; +})(ReadingDirection || (ReadingDirection = {})); +var PrintScaling; +(function(PrintScaling2) { + PrintScaling2["None"] = "None"; + PrintScaling2["AppDefault"] = "AppDefault"; +})(PrintScaling || (PrintScaling = {})); +var Duplex; +(function(Duplex2) { + Duplex2["Simplex"] = "Simplex"; + Duplex2["DuplexFlipShortEdge"] = "DuplexFlipShortEdge"; + Duplex2["DuplexFlipLongEdge"] = "DuplexFlipLongEdge"; +})(Duplex || (Duplex = {})); +var ViewerPreferences = ( + /** @class */ + (function() { + function ViewerPreferences2(dict) { + this.dict = dict; + } + ViewerPreferences2.prototype.lookupBool = function(key) { + var returnObj = this.dict.lookup(PDFName_default.of(key)); + if (returnObj instanceof PDFBool_default) + return returnObj; + return void 0; + }; + ViewerPreferences2.prototype.lookupName = function(key) { + var returnObj = this.dict.lookup(PDFName_default.of(key)); + if (returnObj instanceof PDFName_default) + return returnObj; + return void 0; + }; + ViewerPreferences2.prototype.HideToolbar = function() { + return this.lookupBool("HideToolbar"); + }; + ViewerPreferences2.prototype.HideMenubar = function() { + return this.lookupBool("HideMenubar"); + }; + ViewerPreferences2.prototype.HideWindowUI = function() { + return this.lookupBool("HideWindowUI"); + }; + ViewerPreferences2.prototype.FitWindow = function() { + return this.lookupBool("FitWindow"); + }; + ViewerPreferences2.prototype.CenterWindow = function() { + return this.lookupBool("CenterWindow"); + }; + ViewerPreferences2.prototype.DisplayDocTitle = function() { + return this.lookupBool("DisplayDocTitle"); + }; + ViewerPreferences2.prototype.NonFullScreenPageMode = function() { + return this.lookupName("NonFullScreenPageMode"); + }; + ViewerPreferences2.prototype.Direction = function() { + return this.lookupName("Direction"); + }; + ViewerPreferences2.prototype.PrintScaling = function() { + return this.lookupName("PrintScaling"); + }; + ViewerPreferences2.prototype.Duplex = function() { + return this.lookupName("Duplex"); + }; + ViewerPreferences2.prototype.PickTrayByPDFSize = function() { + return this.lookupBool("PickTrayByPDFSize"); + }; + ViewerPreferences2.prototype.PrintPageRange = function() { + var PrintPageRange = this.dict.lookup(PDFName_default.of("PrintPageRange")); + if (PrintPageRange instanceof PDFArray_default) + return PrintPageRange; + return void 0; + }; + ViewerPreferences2.prototype.NumCopies = function() { + var NumCopies = this.dict.lookup(PDFName_default.of("NumCopies")); + if (NumCopies instanceof PDFNumber_default) + return NumCopies; + return void 0; + }; + ViewerPreferences2.prototype.getHideToolbar = function() { + var _a, _b; + return (_b = (_a = this.HideToolbar()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; + }; + ViewerPreferences2.prototype.getHideMenubar = function() { + var _a, _b; + return (_b = (_a = this.HideMenubar()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; + }; + ViewerPreferences2.prototype.getHideWindowUI = function() { + var _a, _b; + return (_b = (_a = this.HideWindowUI()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; + }; + ViewerPreferences2.prototype.getFitWindow = function() { + var _a, _b; + return (_b = (_a = this.FitWindow()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; + }; + ViewerPreferences2.prototype.getCenterWindow = function() { + var _a, _b; + return (_b = (_a = this.CenterWindow()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; + }; + ViewerPreferences2.prototype.getDisplayDocTitle = function() { + var _a, _b; + return (_b = (_a = this.DisplayDocTitle()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; + }; + ViewerPreferences2.prototype.getNonFullScreenPageMode = function() { + var _a, _b; + var mode = (_a = this.NonFullScreenPageMode()) === null || _a === void 0 ? void 0 : _a.decodeText(); + return (_b = asEnum(mode, NonFullScreenPageMode)) !== null && _b !== void 0 ? _b : NonFullScreenPageMode.UseNone; + }; + ViewerPreferences2.prototype.getReadingDirection = function() { + var _a, _b; + var direction = (_a = this.Direction()) === null || _a === void 0 ? void 0 : _a.decodeText(); + return (_b = asEnum(direction, ReadingDirection)) !== null && _b !== void 0 ? _b : ReadingDirection.L2R; + }; + ViewerPreferences2.prototype.getPrintScaling = function() { + var _a, _b; + var scaling = (_a = this.PrintScaling()) === null || _a === void 0 ? void 0 : _a.decodeText(); + return (_b = asEnum(scaling, PrintScaling)) !== null && _b !== void 0 ? _b : PrintScaling.AppDefault; + }; + ViewerPreferences2.prototype.getDuplex = function() { + var _a; + var duplex = (_a = this.Duplex()) === null || _a === void 0 ? void 0 : _a.decodeText(); + return asEnum(duplex, Duplex); + }; + ViewerPreferences2.prototype.getPickTrayByPDFSize = function() { + var _a; + return (_a = this.PickTrayByPDFSize()) === null || _a === void 0 ? void 0 : _a.asBoolean(); + }; + ViewerPreferences2.prototype.getPrintPageRange = function() { + var rng = this.PrintPageRange(); + if (!rng) + return []; + var pageRanges = []; + for (var i = 0; i < rng.size(); i += 2) { + var start = rng.lookup(i, PDFNumber_default).asNumber(); + var end = rng.lookup(i + 1, PDFNumber_default).asNumber(); + pageRanges.push({ start, end }); + } + return pageRanges; + }; + ViewerPreferences2.prototype.getNumCopies = function() { + var _a, _b; + return (_b = (_a = this.NumCopies()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 1; + }; + ViewerPreferences2.prototype.setHideToolbar = function(hideToolbar) { + var HideToolbar = this.dict.context.obj(hideToolbar); + this.dict.set(PDFName_default.of("HideToolbar"), HideToolbar); + }; + ViewerPreferences2.prototype.setHideMenubar = function(hideMenubar) { + var HideMenubar = this.dict.context.obj(hideMenubar); + this.dict.set(PDFName_default.of("HideMenubar"), HideMenubar); + }; + ViewerPreferences2.prototype.setHideWindowUI = function(hideWindowUI) { + var HideWindowUI = this.dict.context.obj(hideWindowUI); + this.dict.set(PDFName_default.of("HideWindowUI"), HideWindowUI); + }; + ViewerPreferences2.prototype.setFitWindow = function(fitWindow) { + var FitWindow = this.dict.context.obj(fitWindow); + this.dict.set(PDFName_default.of("FitWindow"), FitWindow); + }; + ViewerPreferences2.prototype.setCenterWindow = function(centerWindow) { + var CenterWindow = this.dict.context.obj(centerWindow); + this.dict.set(PDFName_default.of("CenterWindow"), CenterWindow); + }; + ViewerPreferences2.prototype.setDisplayDocTitle = function(displayTitle) { + var DisplayDocTitle = this.dict.context.obj(displayTitle); + this.dict.set(PDFName_default.of("DisplayDocTitle"), DisplayDocTitle); + }; + ViewerPreferences2.prototype.setNonFullScreenPageMode = function(nonFullScreenPageMode) { + assertIsOneOf(nonFullScreenPageMode, "nonFullScreenPageMode", NonFullScreenPageMode); + var mode = PDFName_default.of(nonFullScreenPageMode); + this.dict.set(PDFName_default.of("NonFullScreenPageMode"), mode); + }; + ViewerPreferences2.prototype.setReadingDirection = function(readingDirection) { + assertIsOneOf(readingDirection, "readingDirection", ReadingDirection); + var direction = PDFName_default.of(readingDirection); + this.dict.set(PDFName_default.of("Direction"), direction); + }; + ViewerPreferences2.prototype.setPrintScaling = function(printScaling) { + assertIsOneOf(printScaling, "printScaling", PrintScaling); + var scaling = PDFName_default.of(printScaling); + this.dict.set(PDFName_default.of("PrintScaling"), scaling); + }; + ViewerPreferences2.prototype.setDuplex = function(duplex) { + assertIsOneOf(duplex, "duplex", Duplex); + var dup = PDFName_default.of(duplex); + this.dict.set(PDFName_default.of("Duplex"), dup); + }; + ViewerPreferences2.prototype.setPickTrayByPDFSize = function(pickTrayByPDFSize) { + var PickTrayByPDFSize = this.dict.context.obj(pickTrayByPDFSize); + this.dict.set(PDFName_default.of("PickTrayByPDFSize"), PickTrayByPDFSize); + }; + ViewerPreferences2.prototype.setPrintPageRange = function(printPageRange) { + if (!Array.isArray(printPageRange)) + printPageRange = [printPageRange]; + var flatRange = []; + for (var idx = 0, len = printPageRange.length; idx < len; idx++) { + flatRange.push(printPageRange[idx].start); + flatRange.push(printPageRange[idx].end); + } + assertEachIs(flatRange, "printPageRange", ["number"]); + var pageRanges = this.dict.context.obj(flatRange); + this.dict.set(PDFName_default.of("PrintPageRange"), pageRanges); + }; + ViewerPreferences2.prototype.setNumCopies = function(numCopies) { + assertRange(numCopies, "numCopies", 1, Number.MAX_VALUE); + assertInteger(numCopies, "numCopies"); + var NumCopies = this.dict.context.obj(numCopies); + this.dict.set(PDFName_default.of("NumCopies"), NumCopies); + }; + ViewerPreferences2.fromDict = function(dict) { + return new ViewerPreferences2(dict); + }; + ViewerPreferences2.create = function(context) { + var dict = context.obj({}); + return new ViewerPreferences2(dict); + }; + return ViewerPreferences2; + })() +); +var ViewerPreferences_default = ViewerPreferences; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/acroform/PDFAcroField.js +var tfRegex = /\/([^\0\t\n\f\r\ ]+)[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]+Tf/; +var PDFAcroField = ( + /** @class */ + (function() { + function PDFAcroField2(dict, ref) { + this.dict = dict; + this.ref = ref; + } + PDFAcroField2.prototype.T = function() { + return this.dict.lookupMaybe(PDFName_default.of("T"), PDFString_default, PDFHexString_default); + }; + PDFAcroField2.prototype.Ff = function() { + var numberOrRef = this.getInheritableAttribute(PDFName_default.of("Ff")); + return this.dict.context.lookupMaybe(numberOrRef, PDFNumber_default); + }; + PDFAcroField2.prototype.V = function() { + var valueOrRef = this.getInheritableAttribute(PDFName_default.of("V")); + return this.dict.context.lookup(valueOrRef); + }; + PDFAcroField2.prototype.Kids = function() { + return this.dict.lookupMaybe(PDFName_default.of("Kids"), PDFArray_default); + }; + PDFAcroField2.prototype.DA = function() { + var da = this.dict.lookup(PDFName_default.of("DA")); + if (da instanceof PDFString_default || da instanceof PDFHexString_default) + return da; + return void 0; + }; + PDFAcroField2.prototype.setKids = function(kids) { + this.dict.set(PDFName_default.of("Kids"), this.dict.context.obj(kids)); + }; + PDFAcroField2.prototype.getParent = function() { + var parentRef = this.dict.get(PDFName_default.of("Parent")); + if (parentRef instanceof PDFRef_default) { + var parent_1 = this.dict.lookup(PDFName_default.of("Parent"), PDFDict_default); + return new PDFAcroField2(parent_1, parentRef); + } + return void 0; + }; + PDFAcroField2.prototype.setParent = function(parent) { + if (!parent) + this.dict.delete(PDFName_default.of("Parent")); + else + this.dict.set(PDFName_default.of("Parent"), parent); + }; + PDFAcroField2.prototype.getFullyQualifiedName = function() { + var parent = this.getParent(); + if (!parent) + return this.getPartialName(); + return parent.getFullyQualifiedName() + "." + this.getPartialName(); + }; + PDFAcroField2.prototype.getPartialName = function() { + var _a; + return (_a = this.T()) === null || _a === void 0 ? void 0 : _a.decodeText(); + }; + PDFAcroField2.prototype.setPartialName = function(partialName) { + if (!partialName) + this.dict.delete(PDFName_default.of("T")); + else + this.dict.set(PDFName_default.of("T"), PDFHexString_default.fromText(partialName)); + }; + PDFAcroField2.prototype.setDefaultAppearance = function(appearance) { + this.dict.set(PDFName_default.of("DA"), PDFString_default.of(appearance)); + }; + PDFAcroField2.prototype.getDefaultAppearance = function() { + var DA = this.DA(); + if (DA instanceof PDFHexString_default) { + return DA.decodeText(); + } + return DA === null || DA === void 0 ? void 0 : DA.asString(); + }; + PDFAcroField2.prototype.setFontSize = function(fontSize) { + var _a; + var name = (_a = this.getFullyQualifiedName()) !== null && _a !== void 0 ? _a : ""; + var da = this.getDefaultAppearance(); + if (!da) + throw new MissingDAEntryError(name); + var daMatch = findLastMatch(da, tfRegex); + if (!daMatch.match) + throw new MissingTfOperatorError(name); + var daStart = da.slice(0, daMatch.pos - daMatch.match[0].length); + var daEnd = daMatch.pos <= da.length ? da.slice(daMatch.pos) : ""; + var fontName = daMatch.match[1]; + var modifiedDa = daStart + " /" + fontName + " " + fontSize + " Tf " + daEnd; + this.setDefaultAppearance(modifiedDa); + }; + PDFAcroField2.prototype.getFlags = function() { + var _a, _b; + return (_b = (_a = this.Ff()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 0; + }; + PDFAcroField2.prototype.setFlags = function(flags) { + this.dict.set(PDFName_default.of("Ff"), PDFNumber_default.of(flags)); + }; + PDFAcroField2.prototype.hasFlag = function(flag3) { + var flags = this.getFlags(); + return (flags & flag3) !== 0; + }; + PDFAcroField2.prototype.setFlag = function(flag3) { + var flags = this.getFlags(); + this.setFlags(flags | flag3); + }; + PDFAcroField2.prototype.clearFlag = function(flag3) { + var flags = this.getFlags(); + this.setFlags(flags & ~flag3); + }; + PDFAcroField2.prototype.setFlagTo = function(flag3, enable) { + if (enable) + this.setFlag(flag3); + else + this.clearFlag(flag3); + }; + PDFAcroField2.prototype.getInheritableAttribute = function(name) { + var attribute; + this.ascend(function(node) { + if (!attribute) + attribute = node.dict.get(name); + }); + return attribute; + }; + PDFAcroField2.prototype.ascend = function(visitor) { + visitor(this); + var parent = this.getParent(); + if (parent) + parent.ascend(visitor); + }; + return PDFAcroField2; + })() +); +var PDFAcroField_default = PDFAcroField; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/annotation/BorderStyle.js +var BorderStyle = ( + /** @class */ + (function() { + function BorderStyle2(dict) { + this.dict = dict; + } + BorderStyle2.prototype.W = function() { + var W = this.dict.lookup(PDFName_default.of("W")); + if (W instanceof PDFNumber_default) + return W; + return void 0; + }; + BorderStyle2.prototype.getWidth = function() { + var _a, _b; + return (_b = (_a = this.W()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 1; + }; + BorderStyle2.prototype.setWidth = function(width) { + var W = this.dict.context.obj(width); + this.dict.set(PDFName_default.of("W"), W); + }; + BorderStyle2.fromDict = function(dict) { + return new BorderStyle2(dict); + }; + return BorderStyle2; + })() +); +var BorderStyle_default = BorderStyle; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/annotation/PDFAnnotation.js +var PDFAnnotation = ( + /** @class */ + (function() { + function PDFAnnotation2(dict) { + this.dict = dict; + } + PDFAnnotation2.prototype.Rect = function() { + return this.dict.lookup(PDFName_default.of("Rect"), PDFArray_default); + }; + PDFAnnotation2.prototype.AP = function() { + return this.dict.lookupMaybe(PDFName_default.of("AP"), PDFDict_default); + }; + PDFAnnotation2.prototype.F = function() { + var numberOrRef = this.dict.lookup(PDFName_default.of("F")); + return this.dict.context.lookupMaybe(numberOrRef, PDFNumber_default); + }; + PDFAnnotation2.prototype.getRectangle = function() { + var _a; + var Rect = this.Rect(); + return (_a = Rect === null || Rect === void 0 ? void 0 : Rect.asRectangle()) !== null && _a !== void 0 ? _a : { x: 0, y: 0, width: 0, height: 0 }; + }; + PDFAnnotation2.prototype.setRectangle = function(rect) { + var x = rect.x, y = rect.y, width = rect.width, height = rect.height; + var Rect = this.dict.context.obj([x, y, x + width, y + height]); + this.dict.set(PDFName_default.of("Rect"), Rect); + }; + PDFAnnotation2.prototype.getAppearanceState = function() { + var AS = this.dict.lookup(PDFName_default.of("AS")); + if (AS instanceof PDFName_default) + return AS; + return void 0; + }; + PDFAnnotation2.prototype.setAppearanceState = function(state2) { + this.dict.set(PDFName_default.of("AS"), state2); + }; + PDFAnnotation2.prototype.setAppearances = function(appearances) { + this.dict.set(PDFName_default.of("AP"), appearances); + }; + PDFAnnotation2.prototype.ensureAP = function() { + var AP = this.AP(); + if (!AP) { + AP = this.dict.context.obj({}); + this.dict.set(PDFName_default.of("AP"), AP); + } + return AP; + }; + PDFAnnotation2.prototype.getNormalAppearance = function() { + var AP = this.ensureAP(); + var N = AP.get(PDFName_default.of("N")); + if (N instanceof PDFRef_default || N instanceof PDFDict_default) + return N; + throw new Error("Unexpected N type: " + (N === null || N === void 0 ? void 0 : N.constructor.name)); + }; + PDFAnnotation2.prototype.setNormalAppearance = function(appearance) { + var AP = this.ensureAP(); + AP.set(PDFName_default.of("N"), appearance); + }; + PDFAnnotation2.prototype.setRolloverAppearance = function(appearance) { + var AP = this.ensureAP(); + AP.set(PDFName_default.of("R"), appearance); + }; + PDFAnnotation2.prototype.setDownAppearance = function(appearance) { + var AP = this.ensureAP(); + AP.set(PDFName_default.of("D"), appearance); + }; + PDFAnnotation2.prototype.removeRolloverAppearance = function() { + var AP = this.AP(); + AP === null || AP === void 0 ? void 0 : AP.delete(PDFName_default.of("R")); + }; + PDFAnnotation2.prototype.removeDownAppearance = function() { + var AP = this.AP(); + AP === null || AP === void 0 ? void 0 : AP.delete(PDFName_default.of("D")); + }; + PDFAnnotation2.prototype.getAppearances = function() { + var AP = this.AP(); + if (!AP) + return void 0; + var N = AP.lookup(PDFName_default.of("N"), PDFDict_default, PDFStream_default); + var R = AP.lookupMaybe(PDFName_default.of("R"), PDFDict_default, PDFStream_default); + var D = AP.lookupMaybe(PDFName_default.of("D"), PDFDict_default, PDFStream_default); + return { normal: N, rollover: R, down: D }; + }; + PDFAnnotation2.prototype.getFlags = function() { + var _a, _b; + return (_b = (_a = this.F()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 0; + }; + PDFAnnotation2.prototype.setFlags = function(flags) { + this.dict.set(PDFName_default.of("F"), PDFNumber_default.of(flags)); + }; + PDFAnnotation2.prototype.hasFlag = function(flag3) { + var flags = this.getFlags(); + return (flags & flag3) !== 0; + }; + PDFAnnotation2.prototype.setFlag = function(flag3) { + var flags = this.getFlags(); + this.setFlags(flags | flag3); + }; + PDFAnnotation2.prototype.clearFlag = function(flag3) { + var flags = this.getFlags(); + this.setFlags(flags & ~flag3); + }; + PDFAnnotation2.prototype.setFlagTo = function(flag3, enable) { + if (enable) + this.setFlag(flag3); + else + this.clearFlag(flag3); + }; + PDFAnnotation2.fromDict = function(dict) { + return new PDFAnnotation2(dict); + }; + return PDFAnnotation2; + })() +); +var PDFAnnotation_default = PDFAnnotation; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/annotation/AppearanceCharacteristics.js +var AppearanceCharacteristics = ( + /** @class */ + (function() { + function AppearanceCharacteristics2(dict) { + this.dict = dict; + } + AppearanceCharacteristics2.prototype.R = function() { + var R = this.dict.lookup(PDFName_default.of("R")); + if (R instanceof PDFNumber_default) + return R; + return void 0; + }; + AppearanceCharacteristics2.prototype.BC = function() { + var BC = this.dict.lookup(PDFName_default.of("BC")); + if (BC instanceof PDFArray_default) + return BC; + return void 0; + }; + AppearanceCharacteristics2.prototype.BG = function() { + var BG = this.dict.lookup(PDFName_default.of("BG")); + if (BG instanceof PDFArray_default) + return BG; + return void 0; + }; + AppearanceCharacteristics2.prototype.CA = function() { + var CA = this.dict.lookup(PDFName_default.of("CA")); + if (CA instanceof PDFHexString_default || CA instanceof PDFString_default) + return CA; + return void 0; + }; + AppearanceCharacteristics2.prototype.RC = function() { + var RC = this.dict.lookup(PDFName_default.of("RC")); + if (RC instanceof PDFHexString_default || RC instanceof PDFString_default) + return RC; + return void 0; + }; + AppearanceCharacteristics2.prototype.AC = function() { + var AC = this.dict.lookup(PDFName_default.of("AC")); + if (AC instanceof PDFHexString_default || AC instanceof PDFString_default) + return AC; + return void 0; + }; + AppearanceCharacteristics2.prototype.getRotation = function() { + var _a; + return (_a = this.R()) === null || _a === void 0 ? void 0 : _a.asNumber(); + }; + AppearanceCharacteristics2.prototype.getBorderColor = function() { + var BC = this.BC(); + if (!BC) + return void 0; + var components = []; + for (var idx = 0, len = BC === null || BC === void 0 ? void 0 : BC.size(); idx < len; idx++) { + var component = BC.get(idx); + if (component instanceof PDFNumber_default) + components.push(component.asNumber()); + } + return components; + }; + AppearanceCharacteristics2.prototype.getBackgroundColor = function() { + var BG = this.BG(); + if (!BG) + return void 0; + var components = []; + for (var idx = 0, len = BG === null || BG === void 0 ? void 0 : BG.size(); idx < len; idx++) { + var component = BG.get(idx); + if (component instanceof PDFNumber_default) + components.push(component.asNumber()); + } + return components; + }; + AppearanceCharacteristics2.prototype.getCaptions = function() { + var CA = this.CA(); + var RC = this.RC(); + var AC = this.AC(); + return { + normal: CA === null || CA === void 0 ? void 0 : CA.decodeText(), + rollover: RC === null || RC === void 0 ? void 0 : RC.decodeText(), + down: AC === null || AC === void 0 ? void 0 : AC.decodeText() + }; + }; + AppearanceCharacteristics2.prototype.setRotation = function(rotation) { + var R = this.dict.context.obj(rotation); + this.dict.set(PDFName_default.of("R"), R); + }; + AppearanceCharacteristics2.prototype.setBorderColor = function(color) { + var BC = this.dict.context.obj(color); + this.dict.set(PDFName_default.of("BC"), BC); + }; + AppearanceCharacteristics2.prototype.setBackgroundColor = function(color) { + var BG = this.dict.context.obj(color); + this.dict.set(PDFName_default.of("BG"), BG); + }; + AppearanceCharacteristics2.prototype.setCaptions = function(captions) { + var CA = PDFHexString_default.fromText(captions.normal); + this.dict.set(PDFName_default.of("CA"), CA); + if (captions.rollover) { + var RC = PDFHexString_default.fromText(captions.rollover); + this.dict.set(PDFName_default.of("RC"), RC); + } else { + this.dict.delete(PDFName_default.of("RC")); + } + if (captions.down) { + var AC = PDFHexString_default.fromText(captions.down); + this.dict.set(PDFName_default.of("AC"), AC); + } else { + this.dict.delete(PDFName_default.of("AC")); + } + }; + AppearanceCharacteristics2.fromDict = function(dict) { + return new AppearanceCharacteristics2(dict); + }; + return AppearanceCharacteristics2; + })() +); +var AppearanceCharacteristics_default = AppearanceCharacteristics; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/annotation/PDFWidgetAnnotation.js +var PDFWidgetAnnotation = ( + /** @class */ + (function(_super) { + __extends(PDFWidgetAnnotation2, _super); + function PDFWidgetAnnotation2() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFWidgetAnnotation2.prototype.MK = function() { + var MK = this.dict.lookup(PDFName_default.of("MK")); + if (MK instanceof PDFDict_default) + return MK; + return void 0; + }; + PDFWidgetAnnotation2.prototype.BS = function() { + var BS = this.dict.lookup(PDFName_default.of("BS")); + if (BS instanceof PDFDict_default) + return BS; + return void 0; + }; + PDFWidgetAnnotation2.prototype.DA = function() { + var da = this.dict.lookup(PDFName_default.of("DA")); + if (da instanceof PDFString_default || da instanceof PDFHexString_default) + return da; + return void 0; + }; + PDFWidgetAnnotation2.prototype.P = function() { + var P = this.dict.get(PDFName_default.of("P")); + if (P instanceof PDFRef_default) + return P; + return void 0; + }; + PDFWidgetAnnotation2.prototype.setP = function(page) { + this.dict.set(PDFName_default.of("P"), page); + }; + PDFWidgetAnnotation2.prototype.setDefaultAppearance = function(appearance) { + this.dict.set(PDFName_default.of("DA"), PDFString_default.of(appearance)); + }; + PDFWidgetAnnotation2.prototype.getDefaultAppearance = function() { + var DA = this.DA(); + if (DA instanceof PDFHexString_default) { + return DA.decodeText(); + } + return DA === null || DA === void 0 ? void 0 : DA.asString(); + }; + PDFWidgetAnnotation2.prototype.getAppearanceCharacteristics = function() { + var MK = this.MK(); + if (MK) + return AppearanceCharacteristics_default.fromDict(MK); + return void 0; + }; + PDFWidgetAnnotation2.prototype.getOrCreateAppearanceCharacteristics = function() { + var MK = this.MK(); + if (MK) + return AppearanceCharacteristics_default.fromDict(MK); + var ac = AppearanceCharacteristics_default.fromDict(this.dict.context.obj({})); + this.dict.set(PDFName_default.of("MK"), ac.dict); + return ac; + }; + PDFWidgetAnnotation2.prototype.getBorderStyle = function() { + var BS = this.BS(); + if (BS) + return BorderStyle_default.fromDict(BS); + return void 0; + }; + PDFWidgetAnnotation2.prototype.getOrCreateBorderStyle = function() { + var BS = this.BS(); + if (BS) + return BorderStyle_default.fromDict(BS); + var bs = BorderStyle_default.fromDict(this.dict.context.obj({})); + this.dict.set(PDFName_default.of("BS"), bs.dict); + return bs; + }; + PDFWidgetAnnotation2.prototype.getOnValue = function() { + var _a; + var normal = (_a = this.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal; + if (normal instanceof PDFDict_default) { + var keys = normal.keys(); + for (var idx = 0, len = keys.length; idx < len; idx++) { + var key = keys[idx]; + if (key !== PDFName_default.of("Off")) + return key; + } + } + return void 0; + }; + PDFWidgetAnnotation2.fromDict = function(dict) { + return new PDFWidgetAnnotation2(dict); + }; + PDFWidgetAnnotation2.create = function(context, parent) { + var dict = context.obj({ + Type: "Annot", + Subtype: "Widget", + Rect: [0, 0, 0, 0], + Parent: parent + }); + return new PDFWidgetAnnotation2(dict); + }; + return PDFWidgetAnnotation2; + })(PDFAnnotation_default) +); +var PDFWidgetAnnotation_default = PDFWidgetAnnotation; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js +var PDFAcroTerminal = ( + /** @class */ + (function(_super) { + __extends(PDFAcroTerminal2, _super); + function PDFAcroTerminal2() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroTerminal2.prototype.FT = function() { + var nameOrRef = this.getInheritableAttribute(PDFName_default.of("FT")); + return this.dict.context.lookup(nameOrRef, PDFName_default); + }; + PDFAcroTerminal2.prototype.getWidgets = function() { + var kidDicts = this.Kids(); + if (!kidDicts) + return [PDFWidgetAnnotation_default.fromDict(this.dict)]; + var widgets = new Array(kidDicts.size()); + for (var idx = 0, len = kidDicts.size(); idx < len; idx++) { + var dict = kidDicts.lookup(idx, PDFDict_default); + widgets[idx] = PDFWidgetAnnotation_default.fromDict(dict); + } + return widgets; + }; + PDFAcroTerminal2.prototype.addWidget = function(ref) { + var Kids = this.normalizedEntries().Kids; + Kids.push(ref); + }; + PDFAcroTerminal2.prototype.removeWidget = function(idx) { + var kidDicts = this.Kids(); + if (!kidDicts) { + if (idx !== 0) + throw new IndexOutOfBoundsError(idx, 0, 0); + this.setKids([]); + } else { + if (idx < 0 || idx > kidDicts.size()) { + throw new IndexOutOfBoundsError(idx, 0, kidDicts.size()); + } + kidDicts.remove(idx); + } + }; + PDFAcroTerminal2.prototype.normalizedEntries = function() { + var Kids = this.Kids(); + if (!Kids) { + Kids = this.dict.context.obj([this.ref]); + this.dict.set(PDFName_default.of("Kids"), Kids); + } + return { Kids }; + }; + PDFAcroTerminal2.fromDict = function(dict, ref) { + return new PDFAcroTerminal2(dict, ref); + }; + return PDFAcroTerminal2; + })(PDFAcroField_default) +); +var PDFAcroTerminal_default = PDFAcroTerminal; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js +var PDFAcroButton = ( + /** @class */ + (function(_super) { + __extends(PDFAcroButton2, _super); + function PDFAcroButton2() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroButton2.prototype.Opt = function() { + return this.dict.lookupMaybe(PDFName_default.of("Opt"), PDFString_default, PDFHexString_default, PDFArray_default); + }; + PDFAcroButton2.prototype.setOpt = function(opt) { + this.dict.set(PDFName_default.of("Opt"), this.dict.context.obj(opt)); + }; + PDFAcroButton2.prototype.getExportValues = function() { + var opt = this.Opt(); + if (!opt) + return void 0; + if (opt instanceof PDFString_default || opt instanceof PDFHexString_default) { + return [opt]; + } + var values2 = []; + for (var idx = 0, len = opt.size(); idx < len; idx++) { + var value2 = opt.lookup(idx); + if (value2 instanceof PDFString_default || value2 instanceof PDFHexString_default) { + values2.push(value2); + } + } + return values2; + }; + PDFAcroButton2.prototype.removeExportValue = function(idx) { + var opt = this.Opt(); + if (!opt) + return; + if (opt instanceof PDFString_default || opt instanceof PDFHexString_default) { + if (idx !== 0) + throw new IndexOutOfBoundsError(idx, 0, 0); + this.setOpt([]); + } else { + if (idx < 0 || idx > opt.size()) { + throw new IndexOutOfBoundsError(idx, 0, opt.size()); + } + opt.remove(idx); + } + }; + PDFAcroButton2.prototype.normalizeExportValues = function() { + var _a, _b, _c, _d; + var exportValues = (_a = this.getExportValues()) !== null && _a !== void 0 ? _a : []; + var Opt = []; + var widgets = this.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var exportVal = (_b = exportValues[idx]) !== null && _b !== void 0 ? _b : PDFHexString_default.fromText((_d = (_c = widget.getOnValue()) === null || _c === void 0 ? void 0 : _c.decodeText()) !== null && _d !== void 0 ? _d : ""); + Opt.push(exportVal); + } + this.setOpt(Opt); + }; + PDFAcroButton2.prototype.addOpt = function(opt, useExistingOptIdx) { + var _a; + this.normalizeExportValues(); + var optText = opt.decodeText(); + var existingIdx; + if (useExistingOptIdx) { + var exportValues = (_a = this.getExportValues()) !== null && _a !== void 0 ? _a : []; + for (var idx = 0, len = exportValues.length; idx < len; idx++) { + var exportVal = exportValues[idx]; + if (exportVal.decodeText() === optText) + existingIdx = idx; + } + } + var Opt = this.Opt(); + Opt.push(opt); + return existingIdx !== null && existingIdx !== void 0 ? existingIdx : Opt.size() - 1; + }; + PDFAcroButton2.prototype.addWidgetWithOpt = function(widget, opt, useExistingOptIdx) { + var optIdx = this.addOpt(opt, useExistingOptIdx); + var apStateValue = PDFName_default.of(String(optIdx)); + this.addWidget(widget); + return apStateValue; + }; + return PDFAcroButton2; + })(PDFAcroTerminal_default) +); +var PDFAcroButton_default = PDFAcroButton; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/acroform/PDFAcroCheckBox.js +var PDFAcroCheckBox = ( + /** @class */ + (function(_super) { + __extends(PDFAcroCheckBox2, _super); + function PDFAcroCheckBox2() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroCheckBox2.prototype.setValue = function(value2) { + var _a; + var onValue = (_a = this.getOnValue()) !== null && _a !== void 0 ? _a : PDFName_default.of("Yes"); + if (value2 !== onValue && value2 !== PDFName_default.of("Off")) { + throw new InvalidAcroFieldValueError(); + } + this.dict.set(PDFName_default.of("V"), value2); + var widgets = this.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var state2 = widget.getOnValue() === value2 ? value2 : PDFName_default.of("Off"); + widget.setAppearanceState(state2); + } + }; + PDFAcroCheckBox2.prototype.getValue = function() { + var v = this.V(); + if (v instanceof PDFName_default) + return v; + return PDFName_default.of("Off"); + }; + PDFAcroCheckBox2.prototype.getOnValue = function() { + var widget = this.getWidgets()[0]; + return widget === null || widget === void 0 ? void 0 : widget.getOnValue(); + }; + PDFAcroCheckBox2.fromDict = function(dict, ref) { + return new PDFAcroCheckBox2(dict, ref); + }; + PDFAcroCheckBox2.create = function(context) { + var dict = context.obj({ + FT: "Btn", + Kids: [] + }); + var ref = context.register(dict); + return new PDFAcroCheckBox2(dict, ref); + }; + return PDFAcroCheckBox2; + })(PDFAcroButton_default) +); +var PDFAcroCheckBox_default = PDFAcroCheckBox; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/acroform/flags.js +var flag = function(bitIndex) { + return 1 << bitIndex; +}; +var AcroFieldFlags; +(function(AcroFieldFlags2) { + AcroFieldFlags2[AcroFieldFlags2["ReadOnly"] = flag(1 - 1)] = "ReadOnly"; + AcroFieldFlags2[AcroFieldFlags2["Required"] = flag(2 - 1)] = "Required"; + AcroFieldFlags2[AcroFieldFlags2["NoExport"] = flag(3 - 1)] = "NoExport"; +})(AcroFieldFlags || (AcroFieldFlags = {})); +var AcroButtonFlags; +(function(AcroButtonFlags2) { + AcroButtonFlags2[AcroButtonFlags2["NoToggleToOff"] = flag(15 - 1)] = "NoToggleToOff"; + AcroButtonFlags2[AcroButtonFlags2["Radio"] = flag(16 - 1)] = "Radio"; + AcroButtonFlags2[AcroButtonFlags2["PushButton"] = flag(17 - 1)] = "PushButton"; + AcroButtonFlags2[AcroButtonFlags2["RadiosInUnison"] = flag(26 - 1)] = "RadiosInUnison"; +})(AcroButtonFlags || (AcroButtonFlags = {})); +var AcroTextFlags; +(function(AcroTextFlags2) { + AcroTextFlags2[AcroTextFlags2["Multiline"] = flag(13 - 1)] = "Multiline"; + AcroTextFlags2[AcroTextFlags2["Password"] = flag(14 - 1)] = "Password"; + AcroTextFlags2[AcroTextFlags2["FileSelect"] = flag(21 - 1)] = "FileSelect"; + AcroTextFlags2[AcroTextFlags2["DoNotSpellCheck"] = flag(23 - 1)] = "DoNotSpellCheck"; + AcroTextFlags2[AcroTextFlags2["DoNotScroll"] = flag(24 - 1)] = "DoNotScroll"; + AcroTextFlags2[AcroTextFlags2["Comb"] = flag(25 - 1)] = "Comb"; + AcroTextFlags2[AcroTextFlags2["RichText"] = flag(26 - 1)] = "RichText"; +})(AcroTextFlags || (AcroTextFlags = {})); +var AcroChoiceFlags; +(function(AcroChoiceFlags2) { + AcroChoiceFlags2[AcroChoiceFlags2["Combo"] = flag(18 - 1)] = "Combo"; + AcroChoiceFlags2[AcroChoiceFlags2["Edit"] = flag(19 - 1)] = "Edit"; + AcroChoiceFlags2[AcroChoiceFlags2["Sort"] = flag(20 - 1)] = "Sort"; + AcroChoiceFlags2[AcroChoiceFlags2["MultiSelect"] = flag(22 - 1)] = "MultiSelect"; + AcroChoiceFlags2[AcroChoiceFlags2["DoNotSpellCheck"] = flag(23 - 1)] = "DoNotSpellCheck"; + AcroChoiceFlags2[AcroChoiceFlags2["CommitOnSelChange"] = flag(27 - 1)] = "CommitOnSelChange"; +})(AcroChoiceFlags || (AcroChoiceFlags = {})); + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/acroform/PDFAcroChoice.js +var PDFAcroChoice = ( + /** @class */ + (function(_super) { + __extends(PDFAcroChoice2, _super); + function PDFAcroChoice2() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroChoice2.prototype.setValues = function(values2) { + if (this.hasFlag(AcroChoiceFlags.Combo) && !this.hasFlag(AcroChoiceFlags.Edit) && !this.valuesAreValid(values2)) { + throw new InvalidAcroFieldValueError(); + } + if (values2.length === 0) { + this.dict.delete(PDFName_default.of("V")); + } + if (values2.length === 1) { + this.dict.set(PDFName_default.of("V"), values2[0]); + } + if (values2.length > 1) { + if (!this.hasFlag(AcroChoiceFlags.MultiSelect)) { + throw new MultiSelectValueError(); + } + this.dict.set(PDFName_default.of("V"), this.dict.context.obj(values2)); + } + this.updateSelectedIndices(values2); + }; + PDFAcroChoice2.prototype.valuesAreValid = function(values2) { + var options = this.getOptions(); + var _loop_1 = function(idx2, len2) { + var val2 = values2[idx2].decodeText(); + if (!options.find(function(o) { + return val2 === (o.display || o.value).decodeText(); + })) { + return { value: false }; + } + }; + for (var idx = 0, len = values2.length; idx < len; idx++) { + var state_1 = _loop_1(idx, len); + if (typeof state_1 === "object") + return state_1.value; + } + return true; + }; + PDFAcroChoice2.prototype.updateSelectedIndices = function(values2) { + if (values2.length > 1) { + var indices = new Array(values2.length); + var options = this.getOptions(); + var _loop_2 = function(idx2, len2) { + var val2 = values2[idx2].decodeText(); + indices[idx2] = options.findIndex(function(o) { + return val2 === (o.display || o.value).decodeText(); + }); + }; + for (var idx = 0, len = values2.length; idx < len; idx++) { + _loop_2(idx, len); + } + this.dict.set(PDFName_default.of("I"), this.dict.context.obj(indices.sort())); + } else { + this.dict.delete(PDFName_default.of("I")); + } + }; + PDFAcroChoice2.prototype.getValues = function() { + var v = this.V(); + if (v instanceof PDFString_default || v instanceof PDFHexString_default) + return [v]; + if (v instanceof PDFArray_default) { + var values2 = []; + for (var idx = 0, len = v.size(); idx < len; idx++) { + var value2 = v.lookup(idx); + if (value2 instanceof PDFString_default || value2 instanceof PDFHexString_default) { + values2.push(value2); + } + } + return values2; + } + return []; + }; + PDFAcroChoice2.prototype.Opt = function() { + return this.dict.lookupMaybe(PDFName_default.of("Opt"), PDFString_default, PDFHexString_default, PDFArray_default); + }; + PDFAcroChoice2.prototype.setOptions = function(options) { + var newOpt = new Array(options.length); + for (var idx = 0, len = options.length; idx < len; idx++) { + var _a = options[idx], value2 = _a.value, display = _a.display; + newOpt[idx] = this.dict.context.obj([value2, display || value2]); + } + this.dict.set(PDFName_default.of("Opt"), this.dict.context.obj(newOpt)); + }; + PDFAcroChoice2.prototype.getOptions = function() { + var Opt = this.Opt(); + if (Opt instanceof PDFString_default || Opt instanceof PDFHexString_default) { + return [{ value: Opt, display: Opt }]; + } + if (Opt instanceof PDFArray_default) { + var res = []; + for (var idx = 0, len = Opt.size(); idx < len; idx++) { + var item = Opt.lookup(idx); + if (item instanceof PDFString_default || item instanceof PDFHexString_default) { + res.push({ value: item, display: item }); + } + if (item instanceof PDFArray_default) { + if (item.size() > 0) { + var first = item.lookup(0, PDFString_default, PDFHexString_default); + var second = item.lookupMaybe(1, PDFString_default, PDFHexString_default); + res.push({ value: first, display: second || first }); + } + } + } + return res; + } + return []; + }; + return PDFAcroChoice2; + })(PDFAcroTerminal_default) +); +var PDFAcroChoice_default = PDFAcroChoice; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/acroform/PDFAcroComboBox.js +var PDFAcroComboBox = ( + /** @class */ + (function(_super) { + __extends(PDFAcroComboBox2, _super); + function PDFAcroComboBox2() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroComboBox2.fromDict = function(dict, ref) { + return new PDFAcroComboBox2(dict, ref); + }; + PDFAcroComboBox2.create = function(context) { + var dict = context.obj({ + FT: "Ch", + Ff: AcroChoiceFlags.Combo, + Kids: [] + }); + var ref = context.register(dict); + return new PDFAcroComboBox2(dict, ref); + }; + return PDFAcroComboBox2; + })(PDFAcroChoice_default) +); +var PDFAcroComboBox_default = PDFAcroComboBox; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/acroform/PDFAcroNonTerminal.js +var PDFAcroNonTerminal = ( + /** @class */ + (function(_super) { + __extends(PDFAcroNonTerminal2, _super); + function PDFAcroNonTerminal2() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroNonTerminal2.prototype.addField = function(field) { + var Kids = this.normalizedEntries().Kids; + Kids === null || Kids === void 0 ? void 0 : Kids.push(field); + }; + PDFAcroNonTerminal2.prototype.normalizedEntries = function() { + var Kids = this.Kids(); + if (!Kids) { + Kids = this.dict.context.obj([]); + this.dict.set(PDFName_default.of("Kids"), Kids); + } + return { Kids }; + }; + PDFAcroNonTerminal2.fromDict = function(dict, ref) { + return new PDFAcroNonTerminal2(dict, ref); + }; + PDFAcroNonTerminal2.create = function(context) { + var dict = context.obj({}); + var ref = context.register(dict); + return new PDFAcroNonTerminal2(dict, ref); + }; + return PDFAcroNonTerminal2; + })(PDFAcroField_default) +); +var PDFAcroNonTerminal_default = PDFAcroNonTerminal; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/acroform/PDFAcroSignature.js +var PDFAcroSignature = ( + /** @class */ + (function(_super) { + __extends(PDFAcroSignature2, _super); + function PDFAcroSignature2() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroSignature2.fromDict = function(dict, ref) { + return new PDFAcroSignature2(dict, ref); + }; + return PDFAcroSignature2; + })(PDFAcroTerminal_default) +); +var PDFAcroSignature_default = PDFAcroSignature; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/acroform/PDFAcroText.js +var PDFAcroText = ( + /** @class */ + (function(_super) { + __extends(PDFAcroText2, _super); + function PDFAcroText2() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroText2.prototype.MaxLen = function() { + var maxLen = this.dict.lookup(PDFName_default.of("MaxLen")); + if (maxLen instanceof PDFNumber_default) + return maxLen; + return void 0; + }; + PDFAcroText2.prototype.Q = function() { + var q = this.dict.lookup(PDFName_default.of("Q")); + if (q instanceof PDFNumber_default) + return q; + return void 0; + }; + PDFAcroText2.prototype.setMaxLength = function(maxLength) { + this.dict.set(PDFName_default.of("MaxLen"), PDFNumber_default.of(maxLength)); + }; + PDFAcroText2.prototype.removeMaxLength = function() { + this.dict.delete(PDFName_default.of("MaxLen")); + }; + PDFAcroText2.prototype.getMaxLength = function() { + var _a; + return (_a = this.MaxLen()) === null || _a === void 0 ? void 0 : _a.asNumber(); + }; + PDFAcroText2.prototype.setQuadding = function(quadding) { + this.dict.set(PDFName_default.of("Q"), PDFNumber_default.of(quadding)); + }; + PDFAcroText2.prototype.getQuadding = function() { + var _a; + return (_a = this.Q()) === null || _a === void 0 ? void 0 : _a.asNumber(); + }; + PDFAcroText2.prototype.setValue = function(value2) { + this.dict.set(PDFName_default.of("V"), value2); + }; + PDFAcroText2.prototype.removeValue = function() { + this.dict.delete(PDFName_default.of("V")); + }; + PDFAcroText2.prototype.getValue = function() { + var v = this.V(); + if (v instanceof PDFString_default || v instanceof PDFHexString_default) + return v; + return void 0; + }; + PDFAcroText2.fromDict = function(dict, ref) { + return new PDFAcroText2(dict, ref); + }; + PDFAcroText2.create = function(context) { + var dict = context.obj({ + FT: "Tx", + Kids: [] + }); + var ref = context.register(dict); + return new PDFAcroText2(dict, ref); + }; + return PDFAcroText2; + })(PDFAcroTerminal_default) +); +var PDFAcroText_default = PDFAcroText; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/acroform/PDFAcroPushButton.js +var PDFAcroPushButton = ( + /** @class */ + (function(_super) { + __extends(PDFAcroPushButton2, _super); + function PDFAcroPushButton2() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroPushButton2.fromDict = function(dict, ref) { + return new PDFAcroPushButton2(dict, ref); + }; + PDFAcroPushButton2.create = function(context) { + var dict = context.obj({ + FT: "Btn", + Ff: AcroButtonFlags.PushButton, + Kids: [] + }); + var ref = context.register(dict); + return new PDFAcroPushButton2(dict, ref); + }; + return PDFAcroPushButton2; + })(PDFAcroButton_default) +); +var PDFAcroPushButton_default = PDFAcroPushButton; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/acroform/PDFAcroRadioButton.js +var PDFAcroRadioButton = ( + /** @class */ + (function(_super) { + __extends(PDFAcroRadioButton2, _super); + function PDFAcroRadioButton2() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroRadioButton2.prototype.setValue = function(value2) { + var onValues = this.getOnValues(); + if (!onValues.includes(value2) && value2 !== PDFName_default.of("Off")) { + throw new InvalidAcroFieldValueError(); + } + this.dict.set(PDFName_default.of("V"), value2); + var widgets = this.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var state2 = widget.getOnValue() === value2 ? value2 : PDFName_default.of("Off"); + widget.setAppearanceState(state2); + } + }; + PDFAcroRadioButton2.prototype.getValue = function() { + var v = this.V(); + if (v instanceof PDFName_default) + return v; + return PDFName_default.of("Off"); + }; + PDFAcroRadioButton2.prototype.getOnValues = function() { + var widgets = this.getWidgets(); + var onValues = []; + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var onValue = widgets[idx].getOnValue(); + if (onValue) + onValues.push(onValue); + } + return onValues; + }; + PDFAcroRadioButton2.fromDict = function(dict, ref) { + return new PDFAcroRadioButton2(dict, ref); + }; + PDFAcroRadioButton2.create = function(context) { + var dict = context.obj({ + FT: "Btn", + Ff: AcroButtonFlags.Radio, + Kids: [] + }); + var ref = context.register(dict); + return new PDFAcroRadioButton2(dict, ref); + }; + return PDFAcroRadioButton2; + })(PDFAcroButton_default) +); +var PDFAcroRadioButton_default = PDFAcroRadioButton; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/acroform/PDFAcroListBox.js +var PDFAcroListBox = ( + /** @class */ + (function(_super) { + __extends(PDFAcroListBox2, _super); + function PDFAcroListBox2() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroListBox2.fromDict = function(dict, ref) { + return new PDFAcroListBox2(dict, ref); + }; + PDFAcroListBox2.create = function(context) { + var dict = context.obj({ + FT: "Ch", + Kids: [] + }); + var ref = context.register(dict); + return new PDFAcroListBox2(dict, ref); + }; + return PDFAcroListBox2; + })(PDFAcroChoice_default) +); +var PDFAcroListBox_default = PDFAcroListBox; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/acroform/utils.js +var createPDFAcroFields = function(kidDicts) { + if (!kidDicts) + return []; + var kids = []; + for (var idx = 0, len = kidDicts.size(); idx < len; idx++) { + var ref = kidDicts.get(idx); + var dict = kidDicts.lookup(idx); + if (ref instanceof PDFRef_default && dict instanceof PDFDict_default) { + kids.push([createPDFAcroField(dict, ref), ref]); + } + } + return kids; +}; +var createPDFAcroField = function(dict, ref) { + var isNonTerminal = isNonTerminalAcroField(dict); + if (isNonTerminal) + return PDFAcroNonTerminal_default.fromDict(dict, ref); + return createPDFAcroTerminal(dict, ref); +}; +var isNonTerminalAcroField = function(dict) { + var kids = dict.lookup(PDFName_default.of("Kids")); + if (kids instanceof PDFArray_default) { + for (var idx = 0, len = kids.size(); idx < len; idx++) { + var kid = kids.lookup(idx); + var kidIsField = kid instanceof PDFDict_default && kid.has(PDFName_default.of("T")); + if (kidIsField) + return true; + } + } + return false; +}; +var createPDFAcroTerminal = function(dict, ref) { + var ftNameOrRef = getInheritableAttribute(dict, PDFName_default.of("FT")); + var type = dict.context.lookup(ftNameOrRef, PDFName_default); + if (type === PDFName_default.of("Btn")) + return createPDFAcroButton(dict, ref); + if (type === PDFName_default.of("Ch")) + return createPDFAcroChoice(dict, ref); + if (type === PDFName_default.of("Tx")) + return PDFAcroText_default.fromDict(dict, ref); + if (type === PDFName_default.of("Sig")) + return PDFAcroSignature_default.fromDict(dict, ref); + return PDFAcroTerminal_default.fromDict(dict, ref); +}; +var createPDFAcroButton = function(dict, ref) { + var _a; + var ffNumberOrRef = getInheritableAttribute(dict, PDFName_default.of("Ff")); + var ffNumber = dict.context.lookupMaybe(ffNumberOrRef, PDFNumber_default); + var flags = (_a = ffNumber === null || ffNumber === void 0 ? void 0 : ffNumber.asNumber()) !== null && _a !== void 0 ? _a : 0; + if (flagIsSet(flags, AcroButtonFlags.PushButton)) { + return PDFAcroPushButton_default.fromDict(dict, ref); + } else if (flagIsSet(flags, AcroButtonFlags.Radio)) { + return PDFAcroRadioButton_default.fromDict(dict, ref); + } else { + return PDFAcroCheckBox_default.fromDict(dict, ref); + } +}; +var createPDFAcroChoice = function(dict, ref) { + var _a; + var ffNumberOrRef = getInheritableAttribute(dict, PDFName_default.of("Ff")); + var ffNumber = dict.context.lookupMaybe(ffNumberOrRef, PDFNumber_default); + var flags = (_a = ffNumber === null || ffNumber === void 0 ? void 0 : ffNumber.asNumber()) !== null && _a !== void 0 ? _a : 0; + if (flagIsSet(flags, AcroChoiceFlags.Combo)) { + return PDFAcroComboBox_default.fromDict(dict, ref); + } else { + return PDFAcroListBox_default.fromDict(dict, ref); + } +}; +var flagIsSet = function(flags, flag3) { + return (flags & flag3) !== 0; +}; +var getInheritableAttribute = function(startNode, name) { + var attribute; + ascend(startNode, function(node) { + if (!attribute) + attribute = node.get(name); + }); + return attribute; +}; +var ascend = function(startNode, visitor) { + visitor(startNode); + var Parent = startNode.lookupMaybe(PDFName_default.of("Parent"), PDFDict_default); + if (Parent) + ascend(Parent, visitor); +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/acroform/PDFAcroForm.js +var PDFAcroForm = ( + /** @class */ + (function() { + function PDFAcroForm2(dict) { + this.dict = dict; + } + PDFAcroForm2.prototype.Fields = function() { + var fields = this.dict.lookup(PDFName_default.of("Fields")); + if (fields instanceof PDFArray_default) + return fields; + return void 0; + }; + PDFAcroForm2.prototype.getFields = function() { + var Fields = this.normalizedEntries().Fields; + var fields = new Array(Fields.size()); + for (var idx = 0, len = Fields.size(); idx < len; idx++) { + var ref = Fields.get(idx); + var dict = Fields.lookup(idx, PDFDict_default); + fields[idx] = [createPDFAcroField(dict, ref), ref]; + } + return fields; + }; + PDFAcroForm2.prototype.getAllFields = function() { + var allFields = []; + var pushFields = function(fields) { + if (!fields) + return; + for (var idx = 0, len = fields.length; idx < len; idx++) { + var field = fields[idx]; + allFields.push(field); + var fieldModel = field[0]; + if (fieldModel instanceof PDFAcroNonTerminal_default) { + pushFields(createPDFAcroFields(fieldModel.Kids())); + } + } + }; + pushFields(this.getFields()); + return allFields; + }; + PDFAcroForm2.prototype.addField = function(field) { + var Fields = this.normalizedEntries().Fields; + Fields === null || Fields === void 0 ? void 0 : Fields.push(field); + }; + PDFAcroForm2.prototype.removeField = function(field) { + var parent = field.getParent(); + var fields = parent === void 0 ? this.normalizedEntries().Fields : parent.Kids(); + var index = fields === null || fields === void 0 ? void 0 : fields.indexOf(field.ref); + if (fields === void 0 || index === void 0) { + throw new Error("Tried to remove inexistent field " + field.getFullyQualifiedName()); + } + fields.remove(index); + if (parent !== void 0 && fields.size() === 0) { + this.removeField(parent); + } + }; + PDFAcroForm2.prototype.normalizedEntries = function() { + var Fields = this.Fields(); + if (!Fields) { + Fields = this.dict.context.obj([]); + this.dict.set(PDFName_default.of("Fields"), Fields); + } + return { Fields }; + }; + PDFAcroForm2.fromDict = function(dict) { + return new PDFAcroForm2(dict); + }; + PDFAcroForm2.create = function(context) { + var dict = context.obj({ Fields: [] }); + return new PDFAcroForm2(dict); + }; + return PDFAcroForm2; + })() +); +var PDFAcroForm_default = PDFAcroForm; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/structures/PDFCatalog.js +var PDFCatalog = ( + /** @class */ + (function(_super) { + __extends(PDFCatalog2, _super); + function PDFCatalog2() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFCatalog2.prototype.Pages = function() { + return this.lookup(PDFName_default.of("Pages"), PDFDict_default); + }; + PDFCatalog2.prototype.AcroForm = function() { + return this.lookupMaybe(PDFName_default.of("AcroForm"), PDFDict_default); + }; + PDFCatalog2.prototype.getAcroForm = function() { + var dict = this.AcroForm(); + if (!dict) + return void 0; + return PDFAcroForm_default.fromDict(dict); + }; + PDFCatalog2.prototype.getOrCreateAcroForm = function() { + var acroForm = this.getAcroForm(); + if (!acroForm) { + acroForm = PDFAcroForm_default.create(this.context); + var acroFormRef = this.context.register(acroForm.dict); + this.set(PDFName_default.of("AcroForm"), acroFormRef); + } + return acroForm; + }; + PDFCatalog2.prototype.ViewerPreferences = function() { + return this.lookupMaybe(PDFName_default.of("ViewerPreferences"), PDFDict_default); + }; + PDFCatalog2.prototype.getViewerPreferences = function() { + var dict = this.ViewerPreferences(); + if (!dict) + return void 0; + return ViewerPreferences_default.fromDict(dict); + }; + PDFCatalog2.prototype.getOrCreateViewerPreferences = function() { + var viewerPrefs = this.getViewerPreferences(); + if (!viewerPrefs) { + viewerPrefs = ViewerPreferences_default.create(this.context); + var viewerPrefsRef = this.context.register(viewerPrefs.dict); + this.set(PDFName_default.of("ViewerPreferences"), viewerPrefsRef); + } + return viewerPrefs; + }; + PDFCatalog2.prototype.insertLeafNode = function(leafRef, index) { + var pagesRef = this.get(PDFName_default.of("Pages")); + var maybeParentRef = this.Pages().insertLeafNode(leafRef, index); + return maybeParentRef || pagesRef; + }; + PDFCatalog2.prototype.removeLeafNode = function(index) { + this.Pages().removeLeafNode(index); + }; + PDFCatalog2.withContextAndPages = function(context, pages) { + var dict = /* @__PURE__ */ new Map(); + dict.set(PDFName_default.of("Type"), PDFName_default.of("Catalog")); + dict.set(PDFName_default.of("Pages"), pages); + return new PDFCatalog2(dict, context); + }; + PDFCatalog2.fromMapWithContext = function(map, context) { + return new PDFCatalog2(map, context); + }; + return PDFCatalog2; + })(PDFDict_default) +); +var PDFCatalog_default = PDFCatalog; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/structures/PDFPageTree.js +var PDFPageTree = ( + /** @class */ + (function(_super) { + __extends(PDFPageTree2, _super); + function PDFPageTree2() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFPageTree2.prototype.Parent = function() { + return this.lookup(PDFName_default.of("Parent")); + }; + PDFPageTree2.prototype.Kids = function() { + return this.lookup(PDFName_default.of("Kids"), PDFArray_default); + }; + PDFPageTree2.prototype.Count = function() { + return this.lookup(PDFName_default.of("Count"), PDFNumber_default); + }; + PDFPageTree2.prototype.pushTreeNode = function(treeRef) { + var Kids = this.Kids(); + Kids.push(treeRef); + }; + PDFPageTree2.prototype.pushLeafNode = function(leafRef) { + var Kids = this.Kids(); + this.insertLeafKid(Kids.size(), leafRef); + }; + PDFPageTree2.prototype.insertLeafNode = function(leafRef, targetIndex) { + var Kids = this.Kids(); + var Count = this.Count().asNumber(); + if (targetIndex > Count) { + throw new InvalidTargetIndexError(targetIndex, Count); + } + var leafsRemainingUntilTarget = targetIndex; + for (var idx = 0, len = Kids.size(); idx < len; idx++) { + if (leafsRemainingUntilTarget === 0) { + this.insertLeafKid(idx, leafRef); + return void 0; + } + var kidRef = Kids.get(idx); + var kid = this.context.lookup(kidRef); + if (kid instanceof PDFPageTree2) { + if (kid.Count().asNumber() > leafsRemainingUntilTarget) { + return kid.insertLeafNode(leafRef, leafsRemainingUntilTarget) || kidRef; + } else { + leafsRemainingUntilTarget -= kid.Count().asNumber(); + } + } + if (kid instanceof PDFPageLeaf_default) { + leafsRemainingUntilTarget -= 1; + } + } + if (leafsRemainingUntilTarget === 0) { + this.insertLeafKid(Kids.size(), leafRef); + return void 0; + } + throw new CorruptPageTreeError(targetIndex, "insertLeafNode"); + }; + PDFPageTree2.prototype.removeLeafNode = function(targetIndex, prune) { + if (prune === void 0) { + prune = true; + } + var Kids = this.Kids(); + var Count = this.Count().asNumber(); + if (targetIndex >= Count) { + throw new InvalidTargetIndexError(targetIndex, Count); + } + var leafsRemainingUntilTarget = targetIndex; + for (var idx = 0, len = Kids.size(); idx < len; idx++) { + var kidRef = Kids.get(idx); + var kid = this.context.lookup(kidRef); + if (kid instanceof PDFPageTree2) { + if (kid.Count().asNumber() > leafsRemainingUntilTarget) { + kid.removeLeafNode(leafsRemainingUntilTarget, prune); + if (prune && kid.Kids().size() === 0) + Kids.remove(idx); + return; + } else { + leafsRemainingUntilTarget -= kid.Count().asNumber(); + } + } + if (kid instanceof PDFPageLeaf_default) { + if (leafsRemainingUntilTarget === 0) { + this.removeKid(idx); + return; + } else { + leafsRemainingUntilTarget -= 1; + } + } + } + throw new CorruptPageTreeError(targetIndex, "removeLeafNode"); + }; + PDFPageTree2.prototype.ascend = function(visitor) { + visitor(this); + var Parent = this.Parent(); + if (Parent) + Parent.ascend(visitor); + }; + PDFPageTree2.prototype.traverse = function(visitor) { + var Kids = this.Kids(); + for (var idx = 0, len = Kids.size(); idx < len; idx++) { + var kidRef = Kids.get(idx); + var kid = this.context.lookup(kidRef); + if (kid instanceof PDFPageTree2) + kid.traverse(visitor); + visitor(kid, kidRef); + } + }; + PDFPageTree2.prototype.insertLeafKid = function(kidIdx, leafRef) { + var Kids = this.Kids(); + this.ascend(function(node) { + var newCount = node.Count().asNumber() + 1; + node.set(PDFName_default.of("Count"), PDFNumber_default.of(newCount)); + }); + Kids.insert(kidIdx, leafRef); + }; + PDFPageTree2.prototype.removeKid = function(kidIdx) { + var Kids = this.Kids(); + var kid = Kids.lookup(kidIdx); + if (kid instanceof PDFPageLeaf_default) { + this.ascend(function(node) { + var newCount = node.Count().asNumber() - 1; + node.set(PDFName_default.of("Count"), PDFNumber_default.of(newCount)); + }); + } + Kids.remove(kidIdx); + }; + PDFPageTree2.withContext = function(context, parent) { + var dict = /* @__PURE__ */ new Map(); + dict.set(PDFName_default.of("Type"), PDFName_default.of("Pages")); + dict.set(PDFName_default.of("Kids"), context.obj([])); + dict.set(PDFName_default.of("Count"), context.obj(0)); + if (parent) + dict.set(PDFName_default.of("Parent"), parent); + return new PDFPageTree2(dict, context); + }; + PDFPageTree2.fromMapWithContext = function(map, context) { + return new PDFPageTree2(map, context); + }; + return PDFPageTree2; + })(PDFDict_default) +); +var PDFPageTree_default = PDFPageTree; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/syntax/Numeric.js +var IsDigit = new Uint8Array(256); +IsDigit[CharCodes_default.Zero] = 1; +IsDigit[CharCodes_default.One] = 1; +IsDigit[CharCodes_default.Two] = 1; +IsDigit[CharCodes_default.Three] = 1; +IsDigit[CharCodes_default.Four] = 1; +IsDigit[CharCodes_default.Five] = 1; +IsDigit[CharCodes_default.Six] = 1; +IsDigit[CharCodes_default.Seven] = 1; +IsDigit[CharCodes_default.Eight] = 1; +IsDigit[CharCodes_default.Nine] = 1; +var IsNumericPrefix = new Uint8Array(256); +IsNumericPrefix[CharCodes_default.Period] = 1; +IsNumericPrefix[CharCodes_default.Plus] = 1; +IsNumericPrefix[CharCodes_default.Minus] = 1; +var IsNumeric = new Uint8Array(256); +for (idx = 0, len = 256; idx < len; idx++) { + IsNumeric[idx] = IsDigit[idx] || IsNumericPrefix[idx] ? 1 : 0; +} +var idx; +var len; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/parser/BaseParser.js +var Newline = CharCodes_default.Newline; +var CarriageReturn = CharCodes_default.CarriageReturn; +var BaseParser = ( + /** @class */ + (function() { + function BaseParser2(bytes, capNumbers) { + if (capNumbers === void 0) { + capNumbers = false; + } + this.bytes = bytes; + this.capNumbers = capNumbers; + } + BaseParser2.prototype.parseRawInt = function() { + var value2 = ""; + while (!this.bytes.done()) { + var byte = this.bytes.peek(); + if (!IsDigit[byte]) + break; + value2 += charFromCode(this.bytes.next()); + } + var numberValue = Number(value2); + if (!value2 || !isFinite(numberValue)) { + throw new NumberParsingError(this.bytes.position(), value2); + } + return numberValue; + }; + BaseParser2.prototype.parseRawNumber = function() { + var value2 = ""; + while (!this.bytes.done()) { + var byte = this.bytes.peek(); + if (!IsNumeric[byte]) + break; + value2 += charFromCode(this.bytes.next()); + if (byte === CharCodes_default.Period) + break; + } + while (!this.bytes.done()) { + var byte = this.bytes.peek(); + if (!IsDigit[byte]) + break; + value2 += charFromCode(this.bytes.next()); + } + var numberValue = Number(value2); + if (!value2 || !isFinite(numberValue)) { + throw new NumberParsingError(this.bytes.position(), value2); + } + if (numberValue > Number.MAX_SAFE_INTEGER) { + if (this.capNumbers) { + var msg = "Parsed number that is too large for some PDF readers: " + value2 + ", using Number.MAX_SAFE_INTEGER instead."; + console.warn(msg); + return Number.MAX_SAFE_INTEGER; + } else { + var msg = "Parsed number that is too large for some PDF readers: " + value2 + ", not capping."; + console.warn(msg); + } + } + return numberValue; + }; + BaseParser2.prototype.skipWhitespace = function() { + while (!this.bytes.done() && IsWhitespace[this.bytes.peek()]) { + this.bytes.next(); + } + }; + BaseParser2.prototype.skipLine = function() { + while (!this.bytes.done()) { + var byte = this.bytes.peek(); + if (byte === Newline || byte === CarriageReturn) + return; + this.bytes.next(); + } + }; + BaseParser2.prototype.skipComment = function() { + if (this.bytes.peek() !== CharCodes_default.Percent) + return false; + while (!this.bytes.done()) { + var byte = this.bytes.peek(); + if (byte === Newline || byte === CarriageReturn) + return true; + this.bytes.next(); + } + return true; + }; + BaseParser2.prototype.skipWhitespaceAndComments = function() { + this.skipWhitespace(); + while (this.skipComment()) + this.skipWhitespace(); + }; + BaseParser2.prototype.matchKeyword = function(keyword) { + var initialOffset = this.bytes.offset(); + for (var idx = 0, len = keyword.length; idx < len; idx++) { + if (this.bytes.done() || this.bytes.next() !== keyword[idx]) { + this.bytes.moveTo(initialOffset); + return false; + } + } + return true; + }; + return BaseParser2; + })() +); +var BaseParser_default = BaseParser; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/parser/ByteStream.js +var ByteStream = ( + /** @class */ + (function() { + function ByteStream2(bytes) { + this.idx = 0; + this.line = 0; + this.column = 0; + this.bytes = bytes; + this.length = this.bytes.length; + } + ByteStream2.prototype.moveTo = function(offset) { + this.idx = offset; + }; + ByteStream2.prototype.next = function() { + var byte = this.bytes[this.idx++]; + if (byte === CharCodes_default.Newline) { + this.line += 1; + this.column = 0; + } else { + this.column += 1; + } + return byte; + }; + ByteStream2.prototype.assertNext = function(expected) { + if (this.peek() !== expected) { + throw new NextByteAssertionError(this.position(), expected, this.peek()); + } + return this.next(); + }; + ByteStream2.prototype.peek = function() { + return this.bytes[this.idx]; + }; + ByteStream2.prototype.peekAhead = function(steps) { + return this.bytes[this.idx + steps]; + }; + ByteStream2.prototype.peekAt = function(offset) { + return this.bytes[offset]; + }; + ByteStream2.prototype.done = function() { + return this.idx >= this.length; + }; + ByteStream2.prototype.offset = function() { + return this.idx; + }; + ByteStream2.prototype.slice = function(start, end) { + return this.bytes.slice(start, end); + }; + ByteStream2.prototype.position = function() { + return { line: this.line, column: this.column, offset: this.idx }; + }; + ByteStream2.of = function(bytes) { + return new ByteStream2(bytes); + }; + ByteStream2.fromPDFRawStream = function(rawStream) { + return ByteStream2.of(decodePDFRawStream(rawStream).decode()); + }; + return ByteStream2; + })() +); +var ByteStream_default = ByteStream; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/syntax/Keywords.js +var Space = CharCodes_default.Space; +var CarriageReturn2 = CharCodes_default.CarriageReturn; +var Newline2 = CharCodes_default.Newline; +var stream = [ + CharCodes_default.s, + CharCodes_default.t, + CharCodes_default.r, + CharCodes_default.e, + CharCodes_default.a, + CharCodes_default.m +]; +var endstream = [ + CharCodes_default.e, + CharCodes_default.n, + CharCodes_default.d, + CharCodes_default.s, + CharCodes_default.t, + CharCodes_default.r, + CharCodes_default.e, + CharCodes_default.a, + CharCodes_default.m +]; +var Keywords = { + header: [ + CharCodes_default.Percent, + CharCodes_default.P, + CharCodes_default.D, + CharCodes_default.F, + CharCodes_default.Dash + ], + eof: [ + CharCodes_default.Percent, + CharCodes_default.Percent, + CharCodes_default.E, + CharCodes_default.O, + CharCodes_default.F + ], + obj: [CharCodes_default.o, CharCodes_default.b, CharCodes_default.j], + endobj: [ + CharCodes_default.e, + CharCodes_default.n, + CharCodes_default.d, + CharCodes_default.o, + CharCodes_default.b, + CharCodes_default.j + ], + xref: [CharCodes_default.x, CharCodes_default.r, CharCodes_default.e, CharCodes_default.f], + trailer: [ + CharCodes_default.t, + CharCodes_default.r, + CharCodes_default.a, + CharCodes_default.i, + CharCodes_default.l, + CharCodes_default.e, + CharCodes_default.r + ], + startxref: [ + CharCodes_default.s, + CharCodes_default.t, + CharCodes_default.a, + CharCodes_default.r, + CharCodes_default.t, + CharCodes_default.x, + CharCodes_default.r, + CharCodes_default.e, + CharCodes_default.f + ], + true: [CharCodes_default.t, CharCodes_default.r, CharCodes_default.u, CharCodes_default.e], + false: [CharCodes_default.f, CharCodes_default.a, CharCodes_default.l, CharCodes_default.s, CharCodes_default.e], + null: [CharCodes_default.n, CharCodes_default.u, CharCodes_default.l, CharCodes_default.l], + stream, + streamEOF1: __spreadArrays(stream, [Space, CarriageReturn2, Newline2]), + streamEOF2: __spreadArrays(stream, [CarriageReturn2, Newline2]), + streamEOF3: __spreadArrays(stream, [CarriageReturn2]), + streamEOF4: __spreadArrays(stream, [Newline2]), + endstream, + EOF1endstream: __spreadArrays([CarriageReturn2, Newline2], endstream), + EOF2endstream: __spreadArrays([CarriageReturn2], endstream), + EOF3endstream: __spreadArrays([Newline2], endstream) +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/parser/PDFObjectParser.js +var PDFObjectParser = ( + /** @class */ + (function(_super) { + __extends(PDFObjectParser2, _super); + function PDFObjectParser2(byteStream, context, capNumbers) { + if (capNumbers === void 0) { + capNumbers = false; + } + var _this = _super.call(this, byteStream, capNumbers) || this; + _this.context = context; + return _this; + } + PDFObjectParser2.prototype.parseObject = function() { + this.skipWhitespaceAndComments(); + if (this.matchKeyword(Keywords.true)) + return PDFBool_default.True; + if (this.matchKeyword(Keywords.false)) + return PDFBool_default.False; + if (this.matchKeyword(Keywords.null)) + return PDFNull_default; + var byte = this.bytes.peek(); + if (byte === CharCodes_default.LessThan && this.bytes.peekAhead(1) === CharCodes_default.LessThan) { + return this.parseDictOrStream(); + } + if (byte === CharCodes_default.LessThan) + return this.parseHexString(); + if (byte === CharCodes_default.LeftParen) + return this.parseString(); + if (byte === CharCodes_default.ForwardSlash) + return this.parseName(); + if (byte === CharCodes_default.LeftSquareBracket) + return this.parseArray(); + if (IsNumeric[byte]) + return this.parseNumberOrRef(); + throw new PDFObjectParsingError(this.bytes.position(), byte); + }; + PDFObjectParser2.prototype.parseNumberOrRef = function() { + var firstNum = this.parseRawNumber(); + this.skipWhitespaceAndComments(); + var lookaheadStart = this.bytes.offset(); + if (IsDigit[this.bytes.peek()]) { + var secondNum = this.parseRawNumber(); + this.skipWhitespaceAndComments(); + if (this.bytes.peek() === CharCodes_default.R) { + this.bytes.assertNext(CharCodes_default.R); + return PDFRef_default.of(firstNum, secondNum); + } + } + this.bytes.moveTo(lookaheadStart); + return PDFNumber_default.of(firstNum); + }; + PDFObjectParser2.prototype.parseHexString = function() { + var value2 = ""; + this.bytes.assertNext(CharCodes_default.LessThan); + while (!this.bytes.done() && this.bytes.peek() !== CharCodes_default.GreaterThan) { + value2 += charFromCode(this.bytes.next()); + } + this.bytes.assertNext(CharCodes_default.GreaterThan); + return PDFHexString_default.of(value2); + }; + PDFObjectParser2.prototype.parseString = function() { + var nestingLvl = 0; + var isEscaped = false; + var value2 = ""; + while (!this.bytes.done()) { + var byte = this.bytes.next(); + value2 += charFromCode(byte); + if (!isEscaped) { + if (byte === CharCodes_default.LeftParen) + nestingLvl += 1; + if (byte === CharCodes_default.RightParen) + nestingLvl -= 1; + } + if (byte === CharCodes_default.BackSlash) { + isEscaped = !isEscaped; + } else if (isEscaped) { + isEscaped = false; + } + if (nestingLvl === 0) { + return PDFString_default.of(value2.substring(1, value2.length - 1)); + } + } + throw new UnbalancedParenthesisError(this.bytes.position()); + }; + PDFObjectParser2.prototype.parseName = function() { + this.bytes.assertNext(CharCodes_default.ForwardSlash); + var name = ""; + while (!this.bytes.done()) { + var byte = this.bytes.peek(); + if (IsWhitespace[byte] || IsDelimiter[byte]) + break; + name += charFromCode(byte); + this.bytes.next(); + } + return PDFName_default.of(name); + }; + PDFObjectParser2.prototype.parseArray = function() { + this.bytes.assertNext(CharCodes_default.LeftSquareBracket); + this.skipWhitespaceAndComments(); + var pdfArray = PDFArray_default.withContext(this.context); + while (this.bytes.peek() !== CharCodes_default.RightSquareBracket) { + var element2 = this.parseObject(); + pdfArray.push(element2); + this.skipWhitespaceAndComments(); + } + this.bytes.assertNext(CharCodes_default.RightSquareBracket); + return pdfArray; + }; + PDFObjectParser2.prototype.parseDict = function() { + this.bytes.assertNext(CharCodes_default.LessThan); + this.bytes.assertNext(CharCodes_default.LessThan); + this.skipWhitespaceAndComments(); + var dict = /* @__PURE__ */ new Map(); + while (!this.bytes.done() && this.bytes.peek() !== CharCodes_default.GreaterThan && this.bytes.peekAhead(1) !== CharCodes_default.GreaterThan) { + var key = this.parseName(); + var value2 = this.parseObject(); + dict.set(key, value2); + this.skipWhitespaceAndComments(); + } + this.skipWhitespaceAndComments(); + this.bytes.assertNext(CharCodes_default.GreaterThan); + this.bytes.assertNext(CharCodes_default.GreaterThan); + var Type = dict.get(PDFName_default.of("Type")); + if (Type === PDFName_default.of("Catalog")) { + return PDFCatalog_default.fromMapWithContext(dict, this.context); + } else if (Type === PDFName_default.of("Pages")) { + return PDFPageTree_default.fromMapWithContext(dict, this.context); + } else if (Type === PDFName_default.of("Page")) { + return PDFPageLeaf_default.fromMapWithContext(dict, this.context); + } else { + return PDFDict_default.fromMapWithContext(dict, this.context); + } + }; + PDFObjectParser2.prototype.parseDictOrStream = function() { + var startPos = this.bytes.position(); + var dict = this.parseDict(); + this.skipWhitespaceAndComments(); + if (!this.matchKeyword(Keywords.streamEOF1) && !this.matchKeyword(Keywords.streamEOF2) && !this.matchKeyword(Keywords.streamEOF3) && !this.matchKeyword(Keywords.streamEOF4) && !this.matchKeyword(Keywords.stream)) { + return dict; + } + var start = this.bytes.offset(); + var end; + var Length = dict.get(PDFName_default.of("Length")); + if (Length instanceof PDFNumber_default) { + end = start + Length.asNumber(); + this.bytes.moveTo(end); + this.skipWhitespaceAndComments(); + if (!this.matchKeyword(Keywords.endstream)) { + this.bytes.moveTo(start); + end = this.findEndOfStreamFallback(startPos); + } + } else { + end = this.findEndOfStreamFallback(startPos); + } + var contents = this.bytes.slice(start, end); + return PDFRawStream_default.of(dict, contents); + }; + PDFObjectParser2.prototype.findEndOfStreamFallback = function(startPos) { + var nestingLvl = 1; + var end = this.bytes.offset(); + while (!this.bytes.done()) { + end = this.bytes.offset(); + if (this.matchKeyword(Keywords.stream)) { + nestingLvl += 1; + } else if (this.matchKeyword(Keywords.EOF1endstream) || this.matchKeyword(Keywords.EOF2endstream) || this.matchKeyword(Keywords.EOF3endstream) || this.matchKeyword(Keywords.endstream)) { + nestingLvl -= 1; + } else { + this.bytes.next(); + } + if (nestingLvl === 0) + break; + } + if (nestingLvl !== 0) + throw new PDFStreamParsingError(startPos); + return end; + }; + PDFObjectParser2.forBytes = function(bytes, context, capNumbers) { + return new PDFObjectParser2(ByteStream_default.of(bytes), context, capNumbers); + }; + PDFObjectParser2.forByteStream = function(byteStream, context, capNumbers) { + if (capNumbers === void 0) { + capNumbers = false; + } + return new PDFObjectParser2(byteStream, context, capNumbers); + }; + return PDFObjectParser2; + })(BaseParser_default) +); +var PDFObjectParser_default = PDFObjectParser; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/parser/PDFObjectStreamParser.js +var PDFObjectStreamParser = ( + /** @class */ + (function(_super) { + __extends(PDFObjectStreamParser2, _super); + function PDFObjectStreamParser2(rawStream, shouldWaitForTick) { + var _this = _super.call(this, ByteStream_default.fromPDFRawStream(rawStream), rawStream.dict.context) || this; + var dict = rawStream.dict; + _this.alreadyParsed = false; + _this.shouldWaitForTick = shouldWaitForTick || (function() { + return false; + }); + _this.firstOffset = dict.lookup(PDFName_default.of("First"), PDFNumber_default).asNumber(); + _this.objectCount = dict.lookup(PDFName_default.of("N"), PDFNumber_default).asNumber(); + return _this; + } + PDFObjectStreamParser2.prototype.parseIntoContext = function() { + return __awaiter(this, void 0, void 0, function() { + var offsetsAndObjectNumbers, idx, len, _a, objectNumber, offset, object, ref; + return __generator(this, function(_b) { + switch (_b.label) { + case 0: + if (this.alreadyParsed) { + throw new ReparseError("PDFObjectStreamParser", "parseIntoContext"); + } + this.alreadyParsed = true; + offsetsAndObjectNumbers = this.parseOffsetsAndObjectNumbers(); + idx = 0, len = offsetsAndObjectNumbers.length; + _b.label = 1; + case 1: + if (!(idx < len)) return [3, 4]; + _a = offsetsAndObjectNumbers[idx], objectNumber = _a.objectNumber, offset = _a.offset; + this.bytes.moveTo(this.firstOffset + offset); + object = this.parseObject(); + ref = PDFRef_default.of(objectNumber, 0); + this.context.assign(ref, object); + if (!this.shouldWaitForTick()) return [3, 3]; + return [4, waitForTick()]; + case 2: + _b.sent(); + _b.label = 3; + case 3: + idx++; + return [3, 1]; + case 4: + return [ + 2 + /*return*/ + ]; + } + }); + }); + }; + PDFObjectStreamParser2.prototype.parseOffsetsAndObjectNumbers = function() { + var offsetsAndObjectNumbers = []; + for (var idx = 0, len = this.objectCount; idx < len; idx++) { + this.skipWhitespaceAndComments(); + var objectNumber = this.parseRawInt(); + this.skipWhitespaceAndComments(); + var offset = this.parseRawInt(); + offsetsAndObjectNumbers.push({ objectNumber, offset }); + } + return offsetsAndObjectNumbers; + }; + PDFObjectStreamParser2.forStream = function(rawStream, shouldWaitForTick) { + return new PDFObjectStreamParser2(rawStream, shouldWaitForTick); + }; + return PDFObjectStreamParser2; + })(PDFObjectParser_default) +); +var PDFObjectStreamParser_default = PDFObjectStreamParser; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/parser/PDFXRefStreamParser.js +var PDFXRefStreamParser = ( + /** @class */ + (function() { + function PDFXRefStreamParser2(rawStream) { + this.alreadyParsed = false; + this.dict = rawStream.dict; + this.bytes = ByteStream_default.fromPDFRawStream(rawStream); + this.context = this.dict.context; + var Size = this.dict.lookup(PDFName_default.of("Size"), PDFNumber_default); + var Index = this.dict.lookup(PDFName_default.of("Index")); + if (Index instanceof PDFArray_default) { + this.subsections = []; + for (var idx = 0, len = Index.size(); idx < len; idx += 2) { + var firstObjectNumber = Index.lookup(idx + 0, PDFNumber_default).asNumber(); + var length_1 = Index.lookup(idx + 1, PDFNumber_default).asNumber(); + this.subsections.push({ firstObjectNumber, length: length_1 }); + } + } else { + this.subsections = [{ firstObjectNumber: 0, length: Size.asNumber() }]; + } + var W = this.dict.lookup(PDFName_default.of("W"), PDFArray_default); + this.byteWidths = [-1, -1, -1]; + for (var idx = 0, len = W.size(); idx < len; idx++) { + this.byteWidths[idx] = W.lookup(idx, PDFNumber_default).asNumber(); + } + } + PDFXRefStreamParser2.prototype.parseIntoContext = function() { + if (this.alreadyParsed) { + throw new ReparseError("PDFXRefStreamParser", "parseIntoContext"); + } + this.alreadyParsed = true; + this.context.trailerInfo = { + Root: this.dict.get(PDFName_default.of("Root")), + Encrypt: this.dict.get(PDFName_default.of("Encrypt")), + Info: this.dict.get(PDFName_default.of("Info")), + ID: this.dict.get(PDFName_default.of("ID")) + }; + var entries = this.parseEntries(); + return entries; + }; + PDFXRefStreamParser2.prototype.parseEntries = function() { + var entries = []; + var _a = this.byteWidths, typeFieldWidth = _a[0], offsetFieldWidth = _a[1], genFieldWidth = _a[2]; + for (var subsectionIdx = 0, subsectionLen = this.subsections.length; subsectionIdx < subsectionLen; subsectionIdx++) { + var _b = this.subsections[subsectionIdx], firstObjectNumber = _b.firstObjectNumber, length_2 = _b.length; + for (var objIdx = 0; objIdx < length_2; objIdx++) { + var type = 0; + for (var idx = 0, len = typeFieldWidth; idx < len; idx++) { + type = type << 8 | this.bytes.next(); + } + var offset = 0; + for (var idx = 0, len = offsetFieldWidth; idx < len; idx++) { + offset = offset << 8 | this.bytes.next(); + } + var generationNumber = 0; + for (var idx = 0, len = genFieldWidth; idx < len; idx++) { + generationNumber = generationNumber << 8 | this.bytes.next(); + } + if (typeFieldWidth === 0) + type = 1; + var objectNumber = firstObjectNumber + objIdx; + var entry = { + ref: PDFRef_default.of(objectNumber, generationNumber), + offset, + deleted: type === 0, + inObjectStream: type === 2 + }; + entries.push(entry); + } + } + return entries; + }; + PDFXRefStreamParser2.forStream = function(rawStream) { + return new PDFXRefStreamParser2(rawStream); + }; + return PDFXRefStreamParser2; + })() +); +var PDFXRefStreamParser_default = PDFXRefStreamParser; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/parser/PDFParser.js +var PDFParser = ( + /** @class */ + (function(_super) { + __extends(PDFParser2, _super); + function PDFParser2(pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers) { + if (objectsPerTick === void 0) { + objectsPerTick = Infinity; + } + if (throwOnInvalidObject === void 0) { + throwOnInvalidObject = false; + } + if (capNumbers === void 0) { + capNumbers = false; + } + var _this = _super.call(this, ByteStream_default.of(pdfBytes), PDFContext_default.create(), capNumbers) || this; + _this.alreadyParsed = false; + _this.parsedObjects = 0; + _this.shouldWaitForTick = function() { + _this.parsedObjects += 1; + return _this.parsedObjects % _this.objectsPerTick === 0; + }; + _this.objectsPerTick = objectsPerTick; + _this.throwOnInvalidObject = throwOnInvalidObject; + return _this; + } + PDFParser2.prototype.parseDocument = function() { + return __awaiter(this, void 0, void 0, function() { + var prevOffset, offset; + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + if (this.alreadyParsed) { + throw new ReparseError("PDFParser", "parseDocument"); + } + this.alreadyParsed = true; + this.context.header = this.parseHeader(); + _a.label = 1; + case 1: + if (!!this.bytes.done()) return [3, 3]; + return [4, this.parseDocumentSection()]; + case 2: + _a.sent(); + offset = this.bytes.offset(); + if (offset === prevOffset) { + throw new StalledParserError(this.bytes.position()); + } + prevOffset = offset; + return [3, 1]; + case 3: + this.maybeRecoverRoot(); + if (this.context.lookup(PDFRef_default.of(0))) { + console.warn("Removing parsed object: 0 0 R"); + this.context.delete(PDFRef_default.of(0)); + } + return [2, this.context]; + } + }); + }); + }; + PDFParser2.prototype.maybeRecoverRoot = function() { + var isValidCatalog = function(obj) { + return obj instanceof PDFDict_default && obj.lookup(PDFName_default.of("Type")) === PDFName_default.of("Catalog"); + }; + var catalog = this.context.lookup(this.context.trailerInfo.Root); + if (!isValidCatalog(catalog)) { + var indirectObjects = this.context.enumerateIndirectObjects(); + for (var idx = 0, len = indirectObjects.length; idx < len; idx++) { + var _a = indirectObjects[idx], ref = _a[0], object = _a[1]; + if (isValidCatalog(object)) { + this.context.trailerInfo.Root = ref; + } + } + } + }; + PDFParser2.prototype.parseHeader = function() { + while (!this.bytes.done()) { + if (this.matchKeyword(Keywords.header)) { + var major = this.parseRawInt(); + this.bytes.assertNext(CharCodes_default.Period); + var minor = this.parseRawInt(); + var header = PDFHeader_default.forVersion(major, minor); + this.skipBinaryHeaderComment(); + return header; + } + this.bytes.next(); + } + throw new MissingPDFHeaderError(this.bytes.position()); + }; + PDFParser2.prototype.parseIndirectObjectHeader = function() { + this.skipWhitespaceAndComments(); + var objectNumber = this.parseRawInt(); + this.skipWhitespaceAndComments(); + var generationNumber = this.parseRawInt(); + this.skipWhitespaceAndComments(); + if (!this.matchKeyword(Keywords.obj)) { + throw new MissingKeywordError(this.bytes.position(), Keywords.obj); + } + return PDFRef_default.of(objectNumber, generationNumber); + }; + PDFParser2.prototype.matchIndirectObjectHeader = function() { + var initialOffset = this.bytes.offset(); + try { + this.parseIndirectObjectHeader(); + return true; + } catch (e) { + this.bytes.moveTo(initialOffset); + return false; + } + }; + PDFParser2.prototype.parseIndirectObject = function() { + return __awaiter(this, void 0, void 0, function() { + var ref, object; + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + ref = this.parseIndirectObjectHeader(); + this.skipWhitespaceAndComments(); + object = this.parseObject(); + this.skipWhitespaceAndComments(); + this.matchKeyword(Keywords.endobj); + if (!(object instanceof PDFRawStream_default && object.dict.lookup(PDFName_default.of("Type")) === PDFName_default.of("ObjStm"))) return [3, 2]; + return [4, PDFObjectStreamParser_default.forStream(object, this.shouldWaitForTick).parseIntoContext()]; + case 1: + _a.sent(); + return [3, 3]; + case 2: + if (object instanceof PDFRawStream_default && object.dict.lookup(PDFName_default.of("Type")) === PDFName_default.of("XRef")) { + PDFXRefStreamParser_default.forStream(object).parseIntoContext(); + } else { + this.context.assign(ref, object); + } + _a.label = 3; + case 3: + return [2, ref]; + } + }); + }); + }; + PDFParser2.prototype.tryToParseInvalidIndirectObject = function() { + var startPos = this.bytes.position(); + var msg = "Trying to parse invalid object: " + JSON.stringify(startPos) + ")"; + if (this.throwOnInvalidObject) + throw new Error(msg); + console.warn(msg); + var ref = this.parseIndirectObjectHeader(); + console.warn("Invalid object ref: " + ref); + this.skipWhitespaceAndComments(); + var start = this.bytes.offset(); + var failed = true; + while (!this.bytes.done()) { + if (this.matchKeyword(Keywords.endobj)) { + failed = false; + } + if (!failed) + break; + this.bytes.next(); + } + if (failed) + throw new PDFInvalidObjectParsingError(startPos); + var end = this.bytes.offset() - Keywords.endobj.length; + var object = PDFInvalidObject_default.of(this.bytes.slice(start, end)); + this.context.assign(ref, object); + return ref; + }; + PDFParser2.prototype.parseIndirectObjects = function() { + return __awaiter(this, void 0, void 0, function() { + var initialOffset, e_1; + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + this.skipWhitespaceAndComments(); + _a.label = 1; + case 1: + if (!(!this.bytes.done() && IsDigit[this.bytes.peek()])) return [3, 8]; + initialOffset = this.bytes.offset(); + _a.label = 2; + case 2: + _a.trys.push([2, 4, , 5]); + return [4, this.parseIndirectObject()]; + case 3: + _a.sent(); + return [3, 5]; + case 4: + e_1 = _a.sent(); + this.bytes.moveTo(initialOffset); + this.tryToParseInvalidIndirectObject(); + return [3, 5]; + case 5: + this.skipWhitespaceAndComments(); + this.skipJibberish(); + if (!this.shouldWaitForTick()) return [3, 7]; + return [4, waitForTick()]; + case 6: + _a.sent(); + _a.label = 7; + case 7: + return [3, 1]; + case 8: + return [ + 2 + /*return*/ + ]; + } + }); + }); + }; + PDFParser2.prototype.maybeParseCrossRefSection = function() { + this.skipWhitespaceAndComments(); + if (!this.matchKeyword(Keywords.xref)) + return; + this.skipWhitespaceAndComments(); + var objectNumber = -1; + var xref = PDFCrossRefSection_default.createEmpty(); + while (!this.bytes.done() && IsDigit[this.bytes.peek()]) { + var firstInt = this.parseRawInt(); + this.skipWhitespaceAndComments(); + var secondInt = this.parseRawInt(); + this.skipWhitespaceAndComments(); + var byte = this.bytes.peek(); + if (byte === CharCodes_default.n || byte === CharCodes_default.f) { + var ref = PDFRef_default.of(objectNumber, secondInt); + if (this.bytes.next() === CharCodes_default.n) { + xref.addEntry(ref, firstInt); + } else { + xref.addDeletedEntry(ref, firstInt); + } + objectNumber += 1; + } else { + objectNumber = firstInt; + } + this.skipWhitespaceAndComments(); + } + return xref; + }; + PDFParser2.prototype.maybeParseTrailerDict = function() { + this.skipWhitespaceAndComments(); + if (!this.matchKeyword(Keywords.trailer)) + return; + this.skipWhitespaceAndComments(); + var dict = this.parseDict(); + var context = this.context; + context.trailerInfo = { + Root: dict.get(PDFName_default.of("Root")) || context.trailerInfo.Root, + Encrypt: dict.get(PDFName_default.of("Encrypt")) || context.trailerInfo.Encrypt, + Info: dict.get(PDFName_default.of("Info")) || context.trailerInfo.Info, + ID: dict.get(PDFName_default.of("ID")) || context.trailerInfo.ID + }; + }; + PDFParser2.prototype.maybeParseTrailer = function() { + this.skipWhitespaceAndComments(); + if (!this.matchKeyword(Keywords.startxref)) + return; + this.skipWhitespaceAndComments(); + var offset = this.parseRawInt(); + this.skipWhitespace(); + this.matchKeyword(Keywords.eof); + this.skipWhitespaceAndComments(); + this.matchKeyword(Keywords.eof); + this.skipWhitespaceAndComments(); + return PDFTrailer_default.forLastCrossRefSectionOffset(offset); + }; + PDFParser2.prototype.parseDocumentSection = function() { + return __awaiter(this, void 0, void 0, function() { + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + return [4, this.parseIndirectObjects()]; + case 1: + _a.sent(); + this.maybeParseCrossRefSection(); + this.maybeParseTrailerDict(); + this.maybeParseTrailer(); + this.skipJibberish(); + return [ + 2 + /*return*/ + ]; + } + }); + }); + }; + PDFParser2.prototype.skipJibberish = function() { + this.skipWhitespaceAndComments(); + while (!this.bytes.done()) { + var initialOffset = this.bytes.offset(); + var byte = this.bytes.peek(); + var isAlphaNumeric = byte >= CharCodes_default.Space && byte <= CharCodes_default.Tilde; + if (isAlphaNumeric) { + if (this.matchKeyword(Keywords.xref) || this.matchKeyword(Keywords.trailer) || this.matchKeyword(Keywords.startxref) || this.matchIndirectObjectHeader()) { + this.bytes.moveTo(initialOffset); + break; + } + } + this.bytes.next(); + } + }; + PDFParser2.prototype.skipBinaryHeaderComment = function() { + this.skipWhitespaceAndComments(); + try { + var initialOffset = this.bytes.offset(); + this.parseIndirectObjectHeader(); + this.bytes.moveTo(initialOffset); + } catch (e) { + this.bytes.next(); + this.skipWhitespaceAndComments(); + } + }; + PDFParser2.forBytesWithOptions = function(pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers) { + return new PDFParser2(pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers); + }; + return PDFParser2; + })(PDFObjectParser_default) +); +var PDFParser_default = PDFParser; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/annotation/flags.js +var flag2 = function(bitIndex) { + return 1 << bitIndex; +}; +var AnnotationFlags; +(function(AnnotationFlags2) { + AnnotationFlags2[AnnotationFlags2["Invisible"] = flag2(1 - 1)] = "Invisible"; + AnnotationFlags2[AnnotationFlags2["Hidden"] = flag2(2 - 1)] = "Hidden"; + AnnotationFlags2[AnnotationFlags2["Print"] = flag2(3 - 1)] = "Print"; + AnnotationFlags2[AnnotationFlags2["NoZoom"] = flag2(4 - 1)] = "NoZoom"; + AnnotationFlags2[AnnotationFlags2["NoRotate"] = flag2(5 - 1)] = "NoRotate"; + AnnotationFlags2[AnnotationFlags2["NoView"] = flag2(6 - 1)] = "NoView"; + AnnotationFlags2[AnnotationFlags2["ReadOnly"] = flag2(7 - 1)] = "ReadOnly"; + AnnotationFlags2[AnnotationFlags2["Locked"] = flag2(8 - 1)] = "Locked"; + AnnotationFlags2[AnnotationFlags2["ToggleNoView"] = flag2(9 - 1)] = "ToggleNoView"; + AnnotationFlags2[AnnotationFlags2["LockedContents"] = flag2(10 - 1)] = "LockedContents"; +})(AnnotationFlags || (AnnotationFlags = {})); + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/objects.js +var asPDFName = function(name) { + return name instanceof PDFName_default ? name : PDFName_default.of(name); +}; +var asPDFNumber = function(num) { + return num instanceof PDFNumber_default ? num : PDFNumber_default.of(num); +}; +var asNumber = function(num) { + return num instanceof PDFNumber_default ? num.asNumber() : num; +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/rotations.js +var RotationTypes; +(function(RotationTypes2) { + RotationTypes2["Degrees"] = "degrees"; + RotationTypes2["Radians"] = "radians"; +})(RotationTypes || (RotationTypes = {})); +var degrees = function(degreeAngle) { + assertIs(degreeAngle, "degreeAngle", ["number"]); + return { type: RotationTypes.Degrees, angle: degreeAngle }; +}; +var Radians = RotationTypes.Radians; +var Degrees = RotationTypes.Degrees; +var degreesToRadians = function(degree) { + return degree * Math.PI / 180; +}; +var radiansToDegrees = function(radian) { + return radian * 180 / Math.PI; +}; +var toRadians = function(rotation) { + return rotation.type === Radians ? rotation.angle : rotation.type === Degrees ? degreesToRadians(rotation.angle) : error("Invalid rotation: " + JSON.stringify(rotation)); +}; +var toDegrees = function(rotation) { + return rotation.type === Radians ? radiansToDegrees(rotation.angle) : rotation.type === Degrees ? rotation.angle : error("Invalid rotation: " + JSON.stringify(rotation)); +}; +var reduceRotation = function(degreeAngle) { + if (degreeAngle === void 0) { + degreeAngle = 0; + } + var quadrants = degreeAngle / 90 % 4; + if (quadrants === 0) + return 0; + if (quadrants === 1) + return 90; + if (quadrants === 2) + return 180; + if (quadrants === 3) + return 270; + return 0; +}; +var adjustDimsForRotation = function(dims, degreeAngle) { + if (degreeAngle === void 0) { + degreeAngle = 0; + } + var rotation = reduceRotation(degreeAngle); + return rotation === 90 || rotation === 270 ? { width: dims.height, height: dims.width } : { width: dims.width, height: dims.height }; +}; +var rotateRectangle = function(rectangle, borderWidth, degreeAngle) { + if (borderWidth === void 0) { + borderWidth = 0; + } + if (degreeAngle === void 0) { + degreeAngle = 0; + } + var x = rectangle.x, y = rectangle.y, w = rectangle.width, h = rectangle.height; + var r = reduceRotation(degreeAngle); + var b = borderWidth / 2; + if (r === 0) + return { x: x - b, y: y - b, width: w, height: h }; + else if (r === 90) + return { x: x - h + b, y: y - b, width: h, height: w }; + else if (r === 180) + return { x: x - w + b, y: y - h + b, width: w, height: h }; + else if (r === 270) + return { x: x - b, y: y - w + b, width: h, height: w }; + else + return { x: x - b, y: y - b, width: w, height: h }; +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/operators.js +var clip = function() { + return PDFOperator_default.of(PDFOperatorNames_default.ClipNonZero); +}; +var cos = Math.cos; +var sin = Math.sin; +var tan = Math.tan; +var concatTransformationMatrix = function(a, b, c, d, e, f) { + return PDFOperator_default.of(PDFOperatorNames_default.ConcatTransformationMatrix, [ + asPDFNumber(a), + asPDFNumber(b), + asPDFNumber(c), + asPDFNumber(d), + asPDFNumber(e), + asPDFNumber(f) + ]); +}; +var translate2 = function(xPos, yPos) { + return concatTransformationMatrix(1, 0, 0, 1, xPos, yPos); +}; +var scale = function(xPos, yPos) { + return concatTransformationMatrix(xPos, 0, 0, yPos, 0, 0); +}; +var rotateRadians = function(angle) { + return concatTransformationMatrix(cos(asNumber(angle)), sin(asNumber(angle)), -sin(asNumber(angle)), cos(asNumber(angle)), 0, 0); +}; +var rotateDegrees = function(angle) { + return rotateRadians(degreesToRadians(asNumber(angle))); +}; +var skewRadians = function(xSkewAngle, ySkewAngle) { + return concatTransformationMatrix(1, tan(asNumber(xSkewAngle)), tan(asNumber(ySkewAngle)), 1, 0, 0); +}; +var setDashPattern = function(dashArray, dashPhase) { + return PDFOperator_default.of(PDFOperatorNames_default.SetLineDashPattern, [ + "[" + dashArray.map(asPDFNumber).join(" ") + "]", + asPDFNumber(dashPhase) + ]); +}; +var LineCapStyle; +(function(LineCapStyle2) { + LineCapStyle2[LineCapStyle2["Butt"] = 0] = "Butt"; + LineCapStyle2[LineCapStyle2["Round"] = 1] = "Round"; + LineCapStyle2[LineCapStyle2["Projecting"] = 2] = "Projecting"; +})(LineCapStyle || (LineCapStyle = {})); +var setLineCap = function(style) { + return PDFOperator_default.of(PDFOperatorNames_default.SetLineCapStyle, [asPDFNumber(style)]); +}; +var LineJoinStyle; +(function(LineJoinStyle2) { + LineJoinStyle2[LineJoinStyle2["Miter"] = 0] = "Miter"; + LineJoinStyle2[LineJoinStyle2["Round"] = 1] = "Round"; + LineJoinStyle2[LineJoinStyle2["Bevel"] = 2] = "Bevel"; +})(LineJoinStyle || (LineJoinStyle = {})); +var setGraphicsState = function(state2) { + return PDFOperator_default.of(PDFOperatorNames_default.SetGraphicsStateParams, [asPDFName(state2)]); +}; +var pushGraphicsState = function() { + return PDFOperator_default.of(PDFOperatorNames_default.PushGraphicsState); +}; +var popGraphicsState = function() { + return PDFOperator_default.of(PDFOperatorNames_default.PopGraphicsState); +}; +var setLineWidth = function(width) { + return PDFOperator_default.of(PDFOperatorNames_default.SetLineWidth, [asPDFNumber(width)]); +}; +var appendBezierCurve = function(x1, y1, x2, y2, x3, y3) { + return PDFOperator_default.of(PDFOperatorNames_default.AppendBezierCurve, [ + asPDFNumber(x1), + asPDFNumber(y1), + asPDFNumber(x2), + asPDFNumber(y2), + asPDFNumber(x3), + asPDFNumber(y3) + ]); +}; +var appendQuadraticCurve = function(x1, y1, x2, y2) { + return PDFOperator_default.of(PDFOperatorNames_default.CurveToReplicateInitialPoint, [ + asPDFNumber(x1), + asPDFNumber(y1), + asPDFNumber(x2), + asPDFNumber(y2) + ]); +}; +var closePath = function() { + return PDFOperator_default.of(PDFOperatorNames_default.ClosePath); +}; +var moveTo = function(xPos, yPos) { + return PDFOperator_default.of(PDFOperatorNames_default.MoveTo, [asPDFNumber(xPos), asPDFNumber(yPos)]); +}; +var lineTo = function(xPos, yPos) { + return PDFOperator_default.of(PDFOperatorNames_default.LineTo, [asPDFNumber(xPos), asPDFNumber(yPos)]); +}; +var stroke = function() { + return PDFOperator_default.of(PDFOperatorNames_default.StrokePath); +}; +var fill = function() { + return PDFOperator_default.of(PDFOperatorNames_default.FillNonZero); +}; +var fillAndStroke = function() { + return PDFOperator_default.of(PDFOperatorNames_default.FillNonZeroAndStroke); +}; +var endPath = function() { + return PDFOperator_default.of(PDFOperatorNames_default.EndPath); +}; +var nextLine = function() { + return PDFOperator_default.of(PDFOperatorNames_default.NextLine); +}; +var showText = function(text2) { + return PDFOperator_default.of(PDFOperatorNames_default.ShowText, [text2]); +}; +var beginText = function() { + return PDFOperator_default.of(PDFOperatorNames_default.BeginText); +}; +var endText = function() { + return PDFOperator_default.of(PDFOperatorNames_default.EndText); +}; +var setFontAndSize = function(name, size) { + return PDFOperator_default.of(PDFOperatorNames_default.SetFontAndSize, [asPDFName(name), asPDFNumber(size)]); +}; +var setLineHeight = function(lineHeight) { + return PDFOperator_default.of(PDFOperatorNames_default.SetTextLineHeight, [asPDFNumber(lineHeight)]); +}; +var TextRenderingMode; +(function(TextRenderingMode2) { + TextRenderingMode2[TextRenderingMode2["Fill"] = 0] = "Fill"; + TextRenderingMode2[TextRenderingMode2["Outline"] = 1] = "Outline"; + TextRenderingMode2[TextRenderingMode2["FillAndOutline"] = 2] = "FillAndOutline"; + TextRenderingMode2[TextRenderingMode2["Invisible"] = 3] = "Invisible"; + TextRenderingMode2[TextRenderingMode2["FillAndClip"] = 4] = "FillAndClip"; + TextRenderingMode2[TextRenderingMode2["OutlineAndClip"] = 5] = "OutlineAndClip"; + TextRenderingMode2[TextRenderingMode2["FillAndOutlineAndClip"] = 6] = "FillAndOutlineAndClip"; + TextRenderingMode2[TextRenderingMode2["Clip"] = 7] = "Clip"; +})(TextRenderingMode || (TextRenderingMode = {})); +var setTextMatrix = function(a, b, c, d, e, f) { + return PDFOperator_default.of(PDFOperatorNames_default.SetTextMatrix, [ + asPDFNumber(a), + asPDFNumber(b), + asPDFNumber(c), + asPDFNumber(d), + asPDFNumber(e), + asPDFNumber(f) + ]); +}; +var rotateAndSkewTextRadiansAndTranslate = function(rotationAngle, xSkewAngle, ySkewAngle, x, y) { + return setTextMatrix(cos(asNumber(rotationAngle)), sin(asNumber(rotationAngle)) + tan(asNumber(xSkewAngle)), -sin(asNumber(rotationAngle)) + tan(asNumber(ySkewAngle)), cos(asNumber(rotationAngle)), x, y); +}; +var drawObject = function(name) { + return PDFOperator_default.of(PDFOperatorNames_default.DrawObject, [asPDFName(name)]); +}; +var setFillingGrayscaleColor = function(gray) { + return PDFOperator_default.of(PDFOperatorNames_default.NonStrokingColorGray, [asPDFNumber(gray)]); +}; +var setStrokingGrayscaleColor = function(gray) { + return PDFOperator_default.of(PDFOperatorNames_default.StrokingColorGray, [asPDFNumber(gray)]); +}; +var setFillingRgbColor = function(red, green, blue) { + return PDFOperator_default.of(PDFOperatorNames_default.NonStrokingColorRgb, [ + asPDFNumber(red), + asPDFNumber(green), + asPDFNumber(blue) + ]); +}; +var setStrokingRgbColor = function(red, green, blue) { + return PDFOperator_default.of(PDFOperatorNames_default.StrokingColorRgb, [ + asPDFNumber(red), + asPDFNumber(green), + asPDFNumber(blue) + ]); +}; +var setFillingCmykColor = function(cyan, magenta, yellow, key) { + return PDFOperator_default.of(PDFOperatorNames_default.NonStrokingColorCmyk, [ + asPDFNumber(cyan), + asPDFNumber(magenta), + asPDFNumber(yellow), + asPDFNumber(key) + ]); +}; +var setStrokingCmykColor = function(cyan, magenta, yellow, key) { + return PDFOperator_default.of(PDFOperatorNames_default.StrokingColorCmyk, [ + asPDFNumber(cyan), + asPDFNumber(magenta), + asPDFNumber(yellow), + asPDFNumber(key) + ]); +}; +var beginMarkedContent = function(tag) { + return PDFOperator_default.of(PDFOperatorNames_default.BeginMarkedContent, [asPDFName(tag)]); +}; +var endMarkedContent = function() { + return PDFOperator_default.of(PDFOperatorNames_default.EndMarkedContent); +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/colors.js +var ColorTypes; +(function(ColorTypes2) { + ColorTypes2["Grayscale"] = "Grayscale"; + ColorTypes2["RGB"] = "RGB"; + ColorTypes2["CMYK"] = "CMYK"; +})(ColorTypes || (ColorTypes = {})); +var grayscale = function(gray) { + assertRange(gray, "gray", 0, 1); + return { type: ColorTypes.Grayscale, gray }; +}; +var rgb = function(red, green, blue) { + assertRange(red, "red", 0, 1); + assertRange(green, "green", 0, 1); + assertRange(blue, "blue", 0, 1); + return { type: ColorTypes.RGB, red, green, blue }; +}; +var cmyk = function(cyan, magenta, yellow, key) { + assertRange(cyan, "cyan", 0, 1); + assertRange(magenta, "magenta", 0, 1); + assertRange(yellow, "yellow", 0, 1); + assertRange(key, "key", 0, 1); + return { type: ColorTypes.CMYK, cyan, magenta, yellow, key }; +}; +var Grayscale = ColorTypes.Grayscale; +var RGB = ColorTypes.RGB; +var CMYK = ColorTypes.CMYK; +var setFillingColor = function(color) { + return color.type === Grayscale ? setFillingGrayscaleColor(color.gray) : color.type === RGB ? setFillingRgbColor(color.red, color.green, color.blue) : color.type === CMYK ? setFillingCmykColor(color.cyan, color.magenta, color.yellow, color.key) : error("Invalid color: " + JSON.stringify(color)); +}; +var setStrokingColor = function(color) { + return color.type === Grayscale ? setStrokingGrayscaleColor(color.gray) : color.type === RGB ? setStrokingRgbColor(color.red, color.green, color.blue) : color.type === CMYK ? setStrokingCmykColor(color.cyan, color.magenta, color.yellow, color.key) : error("Invalid color: " + JSON.stringify(color)); +}; +var componentsToColor = function(comps, scale2) { + if (scale2 === void 0) { + scale2 = 1; + } + return (comps === null || comps === void 0 ? void 0 : comps.length) === 1 ? grayscale(comps[0] * scale2) : (comps === null || comps === void 0 ? void 0 : comps.length) === 3 ? rgb(comps[0] * scale2, comps[1] * scale2, comps[2] * scale2) : (comps === null || comps === void 0 ? void 0 : comps.length) === 4 ? cmyk(comps[0] * scale2, comps[1] * scale2, comps[2] * scale2, comps[3] * scale2) : void 0; +}; +var colorToComponents = function(color) { + return color.type === Grayscale ? [color.gray] : color.type === RGB ? [color.red, color.green, color.blue] : color.type === CMYK ? [color.cyan, color.magenta, color.yellow, color.key] : error("Invalid color: " + JSON.stringify(color)); +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/svgPath.js +var cx = 0; +var cy = 0; +var px = 0; +var py = 0; +var sx = 0; +var sy = 0; +var parameters = /* @__PURE__ */ new Map([ + ["A", 7], + ["a", 7], + ["C", 6], + ["c", 6], + ["H", 1], + ["h", 1], + ["L", 2], + ["l", 2], + ["M", 2], + ["m", 2], + ["Q", 4], + ["q", 4], + ["S", 4], + ["s", 4], + ["T", 2], + ["t", 2], + ["V", 1], + ["v", 1], + ["Z", 0], + ["z", 0] +]); +var parse = function(path) { + var cmd; + var ret = []; + var args = []; + var curArg = ""; + var foundDecimal = false; + var params = 0; + for (var _i = 0, path_1 = path; _i < path_1.length; _i++) { + var c = path_1[_i]; + if (parameters.has(c)) { + params = parameters.get(c); + if (cmd) { + if (curArg.length > 0) { + args[args.length] = +curArg; + } + ret[ret.length] = { cmd, args }; + args = []; + curArg = ""; + foundDecimal = false; + } + cmd = c; + } else if ([" ", ","].includes(c) || c === "-" && curArg.length > 0 && curArg[curArg.length - 1] !== "e" || c === "." && foundDecimal) { + if (curArg.length === 0) { + continue; + } + if (args.length === params) { + ret[ret.length] = { cmd, args }; + args = [+curArg]; + if (cmd === "M") { + cmd = "L"; + } + if (cmd === "m") { + cmd = "l"; + } + } else { + args[args.length] = +curArg; + } + foundDecimal = c === "."; + curArg = ["-", "."].includes(c) ? c : ""; + } else { + curArg += c; + if (c === ".") { + foundDecimal = true; + } + } + } + if (curArg.length > 0) { + if (args.length === params) { + ret[ret.length] = { cmd, args }; + args = [+curArg]; + if (cmd === "M") { + cmd = "L"; + } + if (cmd === "m") { + cmd = "l"; + } + } else { + args[args.length] = +curArg; + } + } + ret[ret.length] = { cmd, args }; + return ret; +}; +var apply = function(commands) { + cx = cy = px = py = sx = sy = 0; + var cmds = []; + for (var i = 0; i < commands.length; i++) { + var c = commands[i]; + if (c.cmd && typeof runners[c.cmd] === "function") { + var cmd = runners[c.cmd](c.args); + if (Array.isArray(cmd)) { + cmds = cmds.concat(cmd); + } else { + cmds.push(cmd); + } + } + } + return cmds; +}; +var runners = { + M: function(a) { + cx = a[0]; + cy = a[1]; + px = py = null; + sx = cx; + sy = cy; + return moveTo(cx, cy); + }, + m: function(a) { + cx += a[0]; + cy += a[1]; + px = py = null; + sx = cx; + sy = cy; + return moveTo(cx, cy); + }, + C: function(a) { + cx = a[4]; + cy = a[5]; + px = a[2]; + py = a[3]; + return appendBezierCurve(a[0], a[1], a[2], a[3], a[4], a[5]); + }, + c: function(a) { + var cmd = appendBezierCurve(a[0] + cx, a[1] + cy, a[2] + cx, a[3] + cy, a[4] + cx, a[5] + cy); + px = cx + a[2]; + py = cy + a[3]; + cx += a[4]; + cy += a[5]; + return cmd; + }, + S: function(a) { + if (px === null || py === null) { + px = cx; + py = cy; + } + var cmd = appendBezierCurve(cx - (px - cx), cy - (py - cy), a[0], a[1], a[2], a[3]); + px = a[0]; + py = a[1]; + cx = a[2]; + cy = a[3]; + return cmd; + }, + s: function(a) { + if (px === null || py === null) { + px = cx; + py = cy; + } + var cmd = appendBezierCurve(cx - (px - cx), cy - (py - cy), cx + a[0], cy + a[1], cx + a[2], cy + a[3]); + px = cx + a[0]; + py = cy + a[1]; + cx += a[2]; + cy += a[3]; + return cmd; + }, + Q: function(a) { + px = a[0]; + py = a[1]; + cx = a[2]; + cy = a[3]; + return appendQuadraticCurve(a[0], a[1], cx, cy); + }, + q: function(a) { + var cmd = appendQuadraticCurve(a[0] + cx, a[1] + cy, a[2] + cx, a[3] + cy); + px = cx + a[0]; + py = cy + a[1]; + cx += a[2]; + cy += a[3]; + return cmd; + }, + T: function(a) { + if (px === null || py === null) { + px = cx; + py = cy; + } else { + px = cx - (px - cx); + py = cy - (py - cy); + } + var cmd = appendQuadraticCurve(px, py, a[0], a[1]); + px = cx - (px - cx); + py = cy - (py - cy); + cx = a[0]; + cy = a[1]; + return cmd; + }, + t: function(a) { + if (px === null || py === null) { + px = cx; + py = cy; + } else { + px = cx - (px - cx); + py = cy - (py - cy); + } + var cmd = appendQuadraticCurve(px, py, cx + a[0], cy + a[1]); + cx += a[0]; + cy += a[1]; + return cmd; + }, + A: function(a) { + var cmds = solveArc(cx, cy, a); + cx = a[5]; + cy = a[6]; + return cmds; + }, + a: function(a) { + a[5] += cx; + a[6] += cy; + var cmds = solveArc(cx, cy, a); + cx = a[5]; + cy = a[6]; + return cmds; + }, + L: function(a) { + cx = a[0]; + cy = a[1]; + px = py = null; + return lineTo(cx, cy); + }, + l: function(a) { + cx += a[0]; + cy += a[1]; + px = py = null; + return lineTo(cx, cy); + }, + H: function(a) { + cx = a[0]; + px = py = null; + return lineTo(cx, cy); + }, + h: function(a) { + cx += a[0]; + px = py = null; + return lineTo(cx, cy); + }, + V: function(a) { + cy = a[0]; + px = py = null; + return lineTo(cx, cy); + }, + v: function(a) { + cy += a[0]; + px = py = null; + return lineTo(cx, cy); + }, + Z: function() { + var cmd = closePath(); + cx = sx; + cy = sy; + return cmd; + }, + z: function() { + var cmd = closePath(); + cx = sx; + cy = sy; + return cmd; + } +}; +var solveArc = function(x, y, coords) { + var rx = coords[0], ry = coords[1], rot = coords[2], large = coords[3], sweep = coords[4], ex = coords[5], ey = coords[6]; + var segs = arcToSegments(ex, ey, rx, ry, large, sweep, rot, x, y); + var cmds = []; + for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) { + var seg = segs_1[_i]; + var bez = segmentToBezier.apply(void 0, seg); + cmds.push(appendBezierCurve.apply(void 0, bez)); + } + return cmds; +}; +var arcToSegments = function(x, y, rx, ry, large, sweep, rotateX, ox, oy) { + var th = rotateX * (Math.PI / 180); + var sinTh = Math.sin(th); + var cosTh = Math.cos(th); + rx = Math.abs(rx); + ry = Math.abs(ry); + px = cosTh * (ox - x) * 0.5 + sinTh * (oy - y) * 0.5; + py = cosTh * (oy - y) * 0.5 - sinTh * (ox - x) * 0.5; + var pl = px * px / (rx * rx) + py * py / (ry * ry); + if (pl > 1) { + pl = Math.sqrt(pl); + rx *= pl; + ry *= pl; + } + var a00 = cosTh / rx; + var a01 = sinTh / rx; + var a10 = -sinTh / ry; + var a11 = cosTh / ry; + var x0 = a00 * ox + a01 * oy; + var y0 = a10 * ox + a11 * oy; + var x1 = a00 * x + a01 * y; + var y1 = a10 * x + a11 * y; + var d = (x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0); + var sfactorSq = 1 / d - 0.25; + if (sfactorSq < 0) { + sfactorSq = 0; + } + var sfactor = Math.sqrt(sfactorSq); + if (sweep === large) { + sfactor = -sfactor; + } + var xc = 0.5 * (x0 + x1) - sfactor * (y1 - y0); + var yc = 0.5 * (y0 + y1) + sfactor * (x1 - x0); + var th0 = Math.atan2(y0 - yc, x0 - xc); + var th1 = Math.atan2(y1 - yc, x1 - xc); + var thArc = th1 - th0; + if (thArc < 0 && sweep === 1) { + thArc += 2 * Math.PI; + } else if (thArc > 0 && sweep === 0) { + thArc -= 2 * Math.PI; + } + var segments = Math.ceil(Math.abs(thArc / (Math.PI * 0.5 + 1e-3))); + var result = []; + for (var i = 0; i < segments; i++) { + var th2 = th0 + i * thArc / segments; + var th3 = th0 + (i + 1) * thArc / segments; + result[i] = [xc, yc, th2, th3, rx, ry, sinTh, cosTh]; + } + return result; +}; +var segmentToBezier = function(cx1, cy1, th0, th1, rx, ry, sinTh, cosTh) { + var a00 = cosTh * rx; + var a01 = -sinTh * ry; + var a10 = sinTh * rx; + var a11 = cosTh * ry; + var thHalf = 0.5 * (th1 - th0); + var t = 8 / 3 * Math.sin(thHalf * 0.5) * Math.sin(thHalf * 0.5) / Math.sin(thHalf); + var x1 = cx1 + Math.cos(th0) - t * Math.sin(th0); + var y1 = cy1 + Math.sin(th0) + t * Math.cos(th0); + var x3 = cx1 + Math.cos(th1); + var y3 = cy1 + Math.sin(th1); + var x2 = x3 + t * Math.sin(th1); + var y2 = y3 - t * Math.cos(th1); + var result = [ + a00 * x1 + a01 * y1, + a10 * x1 + a11 * y1, + a00 * x2 + a01 * y2, + a10 * x2 + a11 * y2, + a00 * x3 + a01 * y3, + a10 * x3 + a11 * y3 + ]; + return result; +}; +var svgPathToOperators = function(path) { + return apply(parse(path)); +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/operations.js +var drawLinesOfText = function(lines, options) { + var operators = [ + pushGraphicsState(), + options.graphicsState && setGraphicsState(options.graphicsState), + beginText(), + setFillingColor(options.color), + setFontAndSize(options.font, options.size), + setLineHeight(options.lineHeight), + rotateAndSkewTextRadiansAndTranslate(toRadians(options.rotate), toRadians(options.xSkew), toRadians(options.ySkew), options.x, options.y) + ].filter(Boolean); + for (var idx = 0, len = lines.length; idx < len; idx++) { + operators.push(showText(lines[idx]), nextLine()); + } + operators.push(endText(), popGraphicsState()); + return operators; +}; +var drawImage = function(name, options) { + return [ + pushGraphicsState(), + options.graphicsState && setGraphicsState(options.graphicsState), + translate2(options.x, options.y), + rotateRadians(toRadians(options.rotate)), + scale(options.width, options.height), + skewRadians(toRadians(options.xSkew), toRadians(options.ySkew)), + drawObject(name), + popGraphicsState() + ].filter(Boolean); +}; +var drawPage = function(name, options) { + return [ + pushGraphicsState(), + options.graphicsState && setGraphicsState(options.graphicsState), + translate2(options.x, options.y), + rotateRadians(toRadians(options.rotate)), + scale(options.xScale, options.yScale), + skewRadians(toRadians(options.xSkew), toRadians(options.ySkew)), + drawObject(name), + popGraphicsState() + ].filter(Boolean); +}; +var drawLine = function(options) { + var _a, _b; + return [ + pushGraphicsState(), + options.graphicsState && setGraphicsState(options.graphicsState), + options.color && setStrokingColor(options.color), + setLineWidth(options.thickness), + setDashPattern((_a = options.dashArray) !== null && _a !== void 0 ? _a : [], (_b = options.dashPhase) !== null && _b !== void 0 ? _b : 0), + moveTo(options.start.x, options.start.y), + options.lineCap && setLineCap(options.lineCap), + moveTo(options.start.x, options.start.y), + lineTo(options.end.x, options.end.y), + stroke(), + popGraphicsState() + ].filter(Boolean); +}; +var drawRectangle = function(options) { + var _a, _b; + return [ + pushGraphicsState(), + options.graphicsState && setGraphicsState(options.graphicsState), + options.color && setFillingColor(options.color), + options.borderColor && setStrokingColor(options.borderColor), + setLineWidth(options.borderWidth), + options.borderLineCap && setLineCap(options.borderLineCap), + setDashPattern((_a = options.borderDashArray) !== null && _a !== void 0 ? _a : [], (_b = options.borderDashPhase) !== null && _b !== void 0 ? _b : 0), + translate2(options.x, options.y), + rotateRadians(toRadians(options.rotate)), + skewRadians(toRadians(options.xSkew), toRadians(options.ySkew)), + moveTo(0, 0), + lineTo(0, options.height), + lineTo(options.width, options.height), + lineTo(options.width, 0), + closePath(), + // prettier-ignore + options.color && options.borderWidth ? fillAndStroke() : options.color ? fill() : options.borderColor ? stroke() : closePath(), + popGraphicsState() + ].filter(Boolean); +}; +var KAPPA = 4 * ((Math.sqrt(2) - 1) / 3); +var drawEllipsePath = function(config) { + var x = asNumber(config.x); + var y = asNumber(config.y); + var xScale = asNumber(config.xScale); + var yScale = asNumber(config.yScale); + x -= xScale; + y -= yScale; + var ox = xScale * KAPPA; + var oy = yScale * KAPPA; + var xe = x + xScale * 2; + var ye = y + yScale * 2; + var xm = x + xScale; + var ym = y + yScale; + return [ + pushGraphicsState(), + moveTo(x, ym), + appendBezierCurve(x, ym - oy, xm - ox, y, xm, y), + appendBezierCurve(xm + ox, y, xe, ym - oy, xe, ym), + appendBezierCurve(xe, ym + oy, xm + ox, ye, xm, ye), + appendBezierCurve(xm - ox, ye, x, ym + oy, x, ym), + popGraphicsState() + ]; +}; +var drawEllipseCurves = function(config) { + var centerX = asNumber(config.x); + var centerY = asNumber(config.y); + var xScale = asNumber(config.xScale); + var yScale = asNumber(config.yScale); + var x = -xScale; + var y = -yScale; + var ox = xScale * KAPPA; + var oy = yScale * KAPPA; + var xe = x + xScale * 2; + var ye = y + yScale * 2; + var xm = x + xScale; + var ym = y + yScale; + return [ + translate2(centerX, centerY), + rotateRadians(toRadians(config.rotate)), + moveTo(x, ym), + appendBezierCurve(x, ym - oy, xm - ox, y, xm, y), + appendBezierCurve(xm + ox, y, xe, ym - oy, xe, ym), + appendBezierCurve(xe, ym + oy, xm + ox, ye, xm, ye), + appendBezierCurve(xm - ox, ye, x, ym + oy, x, ym) + ]; +}; +var drawEllipse = function(options) { + var _a, _b, _c; + return __spreadArrays([ + pushGraphicsState(), + options.graphicsState && setGraphicsState(options.graphicsState), + options.color && setFillingColor(options.color), + options.borderColor && setStrokingColor(options.borderColor), + setLineWidth(options.borderWidth), + options.borderLineCap && setLineCap(options.borderLineCap), + setDashPattern((_a = options.borderDashArray) !== null && _a !== void 0 ? _a : [], (_b = options.borderDashPhase) !== null && _b !== void 0 ? _b : 0) + ], options.rotate === void 0 ? drawEllipsePath({ + x: options.x, + y: options.y, + xScale: options.xScale, + yScale: options.yScale + }) : drawEllipseCurves({ + x: options.x, + y: options.y, + xScale: options.xScale, + yScale: options.yScale, + rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : degrees(0) + }), [ + // prettier-ignore + options.color && options.borderWidth ? fillAndStroke() : options.color ? fill() : options.borderColor ? stroke() : closePath(), + popGraphicsState() + ]).filter(Boolean); +}; +var drawSvgPath = function(path, options) { + var _a, _b, _c; + return __spreadArrays([ + pushGraphicsState(), + options.graphicsState && setGraphicsState(options.graphicsState), + translate2(options.x, options.y), + rotateRadians(toRadians((_a = options.rotate) !== null && _a !== void 0 ? _a : degrees(0))), + // SVG path Y axis is opposite pdf-lib's + options.scale ? scale(options.scale, -options.scale) : scale(1, -1), + options.color && setFillingColor(options.color), + options.borderColor && setStrokingColor(options.borderColor), + options.borderWidth && setLineWidth(options.borderWidth), + options.borderLineCap && setLineCap(options.borderLineCap), + setDashPattern((_b = options.borderDashArray) !== null && _b !== void 0 ? _b : [], (_c = options.borderDashPhase) !== null && _c !== void 0 ? _c : 0) + ], svgPathToOperators(path), [ + // prettier-ignore + options.color && options.borderWidth ? fillAndStroke() : options.color ? fill() : options.borderColor ? stroke() : closePath(), + popGraphicsState() + ]).filter(Boolean); +}; +var drawCheckMark = function(options) { + var size = asNumber(options.size); + var p2x = -1 + 0.75; + var p2y = -1 + 0.51; + var p3y = 1 - 0.525; + var p3x = 1 - 0.31; + var p1x = -1 + 0.325; + var p1y = -((p1x - p2x) * (p3x - p2x)) / (p3y - p2y) + p2y; + return [ + pushGraphicsState(), + options.color && setStrokingColor(options.color), + setLineWidth(options.thickness), + translate2(options.x, options.y), + moveTo(p1x * size, p1y * size), + lineTo(p2x * size, p2y * size), + lineTo(p3x * size, p3y * size), + stroke(), + popGraphicsState() + ].filter(Boolean); +}; +var rotateInPlace = function(options) { + return options.rotation === 0 ? [ + translate2(0, 0), + rotateDegrees(0) + ] : options.rotation === 90 ? [ + translate2(options.width, 0), + rotateDegrees(90) + ] : options.rotation === 180 ? [ + translate2(options.width, options.height), + rotateDegrees(180) + ] : options.rotation === 270 ? [ + translate2(0, options.height), + rotateDegrees(270) + ] : []; +}; +var drawCheckBox = function(options) { + var outline = drawRectangle({ + x: options.x, + y: options.y, + width: options.width, + height: options.height, + borderWidth: options.borderWidth, + color: options.color, + borderColor: options.borderColor, + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0) + }); + if (!options.filled) + return outline; + var width = asNumber(options.width); + var height = asNumber(options.height); + var checkMarkSize = Math.min(width, height) / 2; + var checkMark = drawCheckMark({ + x: width / 2, + y: height / 2, + size: checkMarkSize, + thickness: options.thickness, + color: options.markColor + }); + return __spreadArrays([pushGraphicsState()], outline, checkMark, [popGraphicsState()]); +}; +var drawRadioButton = function(options) { + var width = asNumber(options.width); + var height = asNumber(options.height); + var outlineScale = Math.min(width, height) / 2; + var outline = drawEllipse({ + x: options.x, + y: options.y, + xScale: outlineScale, + yScale: outlineScale, + color: options.color, + borderColor: options.borderColor, + borderWidth: options.borderWidth + }); + if (!options.filled) + return outline; + var dot = drawEllipse({ + x: options.x, + y: options.y, + xScale: outlineScale * 0.45, + yScale: outlineScale * 0.45, + color: options.dotColor, + borderColor: void 0, + borderWidth: 0 + }); + return __spreadArrays([pushGraphicsState()], outline, dot, [popGraphicsState()]); +}; +var drawButton = function(options) { + var x = asNumber(options.x); + var y = asNumber(options.y); + var width = asNumber(options.width); + var height = asNumber(options.height); + var background = drawRectangle({ + x, + y, + width, + height, + borderWidth: options.borderWidth, + color: options.color, + borderColor: options.borderColor, + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0) + }); + var lines = drawTextLines(options.textLines, { + color: options.textColor, + font: options.font, + size: options.fontSize, + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0) + }); + return __spreadArrays([pushGraphicsState()], background, lines, [popGraphicsState()]); +}; +var drawTextLines = function(lines, options) { + var operators = [ + beginText(), + setFillingColor(options.color), + setFontAndSize(options.font, options.size) + ]; + for (var idx = 0, len = lines.length; idx < len; idx++) { + var _a = lines[idx], encoded = _a.encoded, x = _a.x, y = _a.y; + operators.push(rotateAndSkewTextRadiansAndTranslate(toRadians(options.rotate), toRadians(options.xSkew), toRadians(options.ySkew), x, y), showText(encoded)); + } + operators.push(endText()); + return operators; +}; +var drawTextField = function(options) { + var x = asNumber(options.x); + var y = asNumber(options.y); + var width = asNumber(options.width); + var height = asNumber(options.height); + var borderWidth = asNumber(options.borderWidth); + var padding = asNumber(options.padding); + var clipX = x + borderWidth / 2 + padding; + var clipY = y + borderWidth / 2 + padding; + var clipWidth = width - (borderWidth / 2 + padding) * 2; + var clipHeight = height - (borderWidth / 2 + padding) * 2; + var clippingArea = [ + moveTo(clipX, clipY), + lineTo(clipX, clipY + clipHeight), + lineTo(clipX + clipWidth, clipY + clipHeight), + lineTo(clipX + clipWidth, clipY), + closePath(), + clip(), + endPath() + ]; + var background = drawRectangle({ + x, + y, + width, + height, + borderWidth: options.borderWidth, + color: options.color, + borderColor: options.borderColor, + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0) + }); + var lines = drawTextLines(options.textLines, { + color: options.textColor, + font: options.font, + size: options.fontSize, + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0) + }); + var markedContent = __spreadArrays([ + beginMarkedContent("Tx"), + pushGraphicsState() + ], lines, [ + popGraphicsState(), + endMarkedContent() + ]); + return __spreadArrays([ + pushGraphicsState() + ], background, clippingArea, markedContent, [ + popGraphicsState() + ]); +}; +var drawOptionList = function(options) { + var x = asNumber(options.x); + var y = asNumber(options.y); + var width = asNumber(options.width); + var height = asNumber(options.height); + var lineHeight = asNumber(options.lineHeight); + var borderWidth = asNumber(options.borderWidth); + var padding = asNumber(options.padding); + var clipX = x + borderWidth / 2 + padding; + var clipY = y + borderWidth / 2 + padding; + var clipWidth = width - (borderWidth / 2 + padding) * 2; + var clipHeight = height - (borderWidth / 2 + padding) * 2; + var clippingArea = [ + moveTo(clipX, clipY), + lineTo(clipX, clipY + clipHeight), + lineTo(clipX + clipWidth, clipY + clipHeight), + lineTo(clipX + clipWidth, clipY), + closePath(), + clip(), + endPath() + ]; + var background = drawRectangle({ + x, + y, + width, + height, + borderWidth: options.borderWidth, + color: options.color, + borderColor: options.borderColor, + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0) + }); + var highlights = []; + for (var idx = 0, len = options.selectedLines.length; idx < len; idx++) { + var line = options.textLines[options.selectedLines[idx]]; + highlights.push.apply(highlights, drawRectangle({ + x: line.x - padding, + y: line.y - (lineHeight - line.height) / 2, + width: width - borderWidth, + height: line.height + (lineHeight - line.height) / 2, + borderWidth: 0, + color: options.selectedColor, + borderColor: void 0, + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0) + })); + } + var lines = drawTextLines(options.textLines, { + color: options.textColor, + font: options.font, + size: options.fontSize, + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0) + }); + var markedContent = __spreadArrays([ + beginMarkedContent("Tx"), + pushGraphicsState() + ], lines, [ + popGraphicsState(), + endMarkedContent() + ]); + return __spreadArrays([ + pushGraphicsState() + ], background, highlights, clippingArea, markedContent, [ + popGraphicsState() + ]); +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/errors.js +var EncryptedPDFError = ( + /** @class */ + (function(_super) { + __extends(EncryptedPDFError2, _super); + function EncryptedPDFError2() { + var _this = this; + var msg = "Input document to `PDFDocument.load` is encrypted. You can use `PDFDocument.load(..., { ignoreEncryption: true })` if you wish to load the document anyways."; + _this = _super.call(this, msg) || this; + return _this; + } + return EncryptedPDFError2; + })(Error) +); +var FontkitNotRegisteredError = ( + /** @class */ + (function(_super) { + __extends(FontkitNotRegisteredError2, _super); + function FontkitNotRegisteredError2() { + var _this = this; + var msg = "Input to `PDFDocument.embedFont` was a custom font, but no `fontkit` instance was found. You must register a `fontkit` instance with `PDFDocument.registerFontkit(...)` before embedding custom fonts."; + _this = _super.call(this, msg) || this; + return _this; + } + return FontkitNotRegisteredError2; + })(Error) +); +var ForeignPageError = ( + /** @class */ + (function(_super) { + __extends(ForeignPageError2, _super); + function ForeignPageError2() { + var _this = this; + var msg = "A `page` passed to `PDFDocument.addPage` or `PDFDocument.insertPage` was from a different (foreign) PDF document. If you want to copy pages from one PDFDocument to another, you must use `PDFDocument.copyPages(...)` to copy the pages before adding or inserting them."; + _this = _super.call(this, msg) || this; + return _this; + } + return ForeignPageError2; + })(Error) +); +var RemovePageFromEmptyDocumentError = ( + /** @class */ + (function(_super) { + __extends(RemovePageFromEmptyDocumentError2, _super); + function RemovePageFromEmptyDocumentError2() { + var _this = this; + var msg = "PDFDocument has no pages so `PDFDocument.removePage` cannot be called"; + _this = _super.call(this, msg) || this; + return _this; + } + return RemovePageFromEmptyDocumentError2; + })(Error) +); +var NoSuchFieldError = ( + /** @class */ + (function(_super) { + __extends(NoSuchFieldError2, _super); + function NoSuchFieldError2(name) { + var _this = this; + var msg = 'PDFDocument has no form field with the name "' + name + '"'; + _this = _super.call(this, msg) || this; + return _this; + } + return NoSuchFieldError2; + })(Error) +); +var UnexpectedFieldTypeError = ( + /** @class */ + (function(_super) { + __extends(UnexpectedFieldTypeError2, _super); + function UnexpectedFieldTypeError2(name, expected, actual) { + var _a, _b; + var _this = this; + var expectedType = expected === null || expected === void 0 ? void 0 : expected.name; + var actualType = (_b = (_a = actual === null || actual === void 0 ? void 0 : actual.constructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : actual; + var msg = 'Expected field "' + name + '" to be of type ' + expectedType + ", " + ("but it is actually of type " + actualType); + _this = _super.call(this, msg) || this; + return _this; + } + return UnexpectedFieldTypeError2; + })(Error) +); +var MissingOnValueCheckError = ( + /** @class */ + (function(_super) { + __extends(MissingOnValueCheckError2, _super); + function MissingOnValueCheckError2(onValue) { + var _this = this; + var msg = 'Failed to select check box due to missing onValue: "' + onValue + '"'; + _this = _super.call(this, msg) || this; + return _this; + } + return MissingOnValueCheckError2; + })(Error) +); +var FieldAlreadyExistsError = ( + /** @class */ + (function(_super) { + __extends(FieldAlreadyExistsError2, _super); + function FieldAlreadyExistsError2(name) { + var _this = this; + var msg = 'A field already exists with the specified name: "' + name + '"'; + _this = _super.call(this, msg) || this; + return _this; + } + return FieldAlreadyExistsError2; + })(Error) +); +var InvalidFieldNamePartError = ( + /** @class */ + (function(_super) { + __extends(InvalidFieldNamePartError2, _super); + function InvalidFieldNamePartError2(namePart) { + var _this = this; + var msg = 'Field name contains invalid component: "' + namePart + '"'; + _this = _super.call(this, msg) || this; + return _this; + } + return InvalidFieldNamePartError2; + })(Error) +); +var FieldExistsAsNonTerminalError = ( + /** @class */ + (function(_super) { + __extends(FieldExistsAsNonTerminalError2, _super); + function FieldExistsAsNonTerminalError2(name) { + var _this = this; + var msg = 'A non-terminal field already exists with the specified name: "' + name + '"'; + _this = _super.call(this, msg) || this; + return _this; + } + return FieldExistsAsNonTerminalError2; + })(Error) +); +var RichTextFieldReadError = ( + /** @class */ + (function(_super) { + __extends(RichTextFieldReadError2, _super); + function RichTextFieldReadError2(fieldName) { + var _this = this; + var msg = "Reading rich text fields is not supported: Attempted to read rich text field: " + fieldName; + _this = _super.call(this, msg) || this; + return _this; + } + return RichTextFieldReadError2; + })(Error) +); +var CombedTextLayoutError = ( + /** @class */ + (function(_super) { + __extends(CombedTextLayoutError2, _super); + function CombedTextLayoutError2(lineLength, cellCount) { + var _this = this; + var msg = "Failed to layout combed text as lineLength=" + lineLength + " is greater than cellCount=" + cellCount; + _this = _super.call(this, msg) || this; + return _this; + } + return CombedTextLayoutError2; + })(Error) +); +var ExceededMaxLengthError = ( + /** @class */ + (function(_super) { + __extends(ExceededMaxLengthError2, _super); + function ExceededMaxLengthError2(textLength, maxLength, name) { + var _this = this; + var msg = "Attempted to set text with length=" + textLength + " for TextField with maxLength=" + maxLength + " and name=" + name; + _this = _super.call(this, msg) || this; + return _this; + } + return ExceededMaxLengthError2; + })(Error) +); +var InvalidMaxLengthError = ( + /** @class */ + (function(_super) { + __extends(InvalidMaxLengthError2, _super); + function InvalidMaxLengthError2(textLength, maxLength, name) { + var _this = this; + var msg = "Attempted to set maxLength=" + maxLength + ", which is less than " + textLength + ", the length of this field's current value (name=" + name + ")"; + _this = _super.call(this, msg) || this; + return _this; + } + return InvalidMaxLengthError2; + })(Error) +); + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/text/alignment.js +var TextAlignment; +(function(TextAlignment2) { + TextAlignment2[TextAlignment2["Left"] = 0] = "Left"; + TextAlignment2[TextAlignment2["Center"] = 1] = "Center"; + TextAlignment2[TextAlignment2["Right"] = 2] = "Right"; +})(TextAlignment || (TextAlignment = {})); + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/text/layout.js +var MIN_FONT_SIZE = 4; +var MAX_FONT_SIZE = 500; +var computeFontSize = function(lines, font, bounds, multiline) { + if (multiline === void 0) { + multiline = false; + } + var fontSize = MIN_FONT_SIZE; + while (fontSize < MAX_FONT_SIZE) { + var linesUsed = 0; + for (var lineIdx = 0, lineLen = lines.length; lineIdx < lineLen; lineIdx++) { + linesUsed += 1; + var line = lines[lineIdx]; + var words = line.split(" "); + var spaceInLineRemaining = bounds.width; + for (var idx = 0, len = words.length; idx < len; idx++) { + var isLastWord = idx === len - 1; + var word = isLastWord ? words[idx] : words[idx] + " "; + var widthOfWord = font.widthOfTextAtSize(word, fontSize); + spaceInLineRemaining -= widthOfWord; + if (spaceInLineRemaining <= 0) { + linesUsed += 1; + spaceInLineRemaining = bounds.width - widthOfWord; + } + } + } + if (!multiline && linesUsed > lines.length) + return fontSize - 1; + var height = font.heightAtSize(fontSize); + var lineHeight = height + height * 0.2; + var totalHeight = lineHeight * linesUsed; + if (totalHeight > Math.abs(bounds.height)) + return fontSize - 1; + fontSize += 1; + } + return fontSize; +}; +var computeCombedFontSize = function(line, font, bounds, cellCount) { + var cellWidth = bounds.width / cellCount; + var cellHeight = bounds.height; + var fontSize = MIN_FONT_SIZE; + var chars3 = charSplit(line); + while (fontSize < MAX_FONT_SIZE) { + for (var idx = 0, len = chars3.length; idx < len; idx++) { + var c = chars3[idx]; + var tooLong = font.widthOfTextAtSize(c, fontSize) > cellWidth * 0.75; + if (tooLong) + return fontSize - 1; + } + var height = font.heightAtSize(fontSize, { descender: false }); + if (height > cellHeight) + return fontSize - 1; + fontSize += 1; + } + return fontSize; +}; +var lastIndexOfWhitespace = function(line) { + for (var idx = line.length; idx > 0; idx--) { + if (/\s/.test(line[idx])) + return idx; + } + return void 0; +}; +var splitOutLines = function(input, maxWidth, font, fontSize) { + var _a; + var lastWhitespaceIdx = input.length; + while (lastWhitespaceIdx > 0) { + var line = input.substring(0, lastWhitespaceIdx); + var encoded = font.encodeText(line); + var width = font.widthOfTextAtSize(line, fontSize); + if (width < maxWidth) { + var remainder = input.substring(lastWhitespaceIdx) || void 0; + return { line, encoded, width, remainder }; + } + lastWhitespaceIdx = (_a = lastIndexOfWhitespace(line)) !== null && _a !== void 0 ? _a : 0; + } + return { + line: input, + encoded: font.encodeText(input), + width: font.widthOfTextAtSize(input, fontSize), + remainder: void 0 + }; +}; +var layoutMultilineText = function(text2, _a) { + var alignment = _a.alignment, fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds; + var lines = lineSplit(cleanText(text2)); + if (fontSize === void 0 || fontSize === 0) { + fontSize = computeFontSize(lines, font, bounds, true); + } + var height = font.heightAtSize(fontSize); + var lineHeight = height + height * 0.2; + var textLines = []; + var minX = bounds.x; + var minY = bounds.y; + var maxX = bounds.x + bounds.width; + var maxY = bounds.y + bounds.height; + var y = bounds.y + bounds.height; + for (var idx = 0, len = lines.length; idx < len; idx++) { + var prevRemainder = lines[idx]; + while (prevRemainder !== void 0) { + var _b = splitOutLines(prevRemainder, bounds.width, font, fontSize), line = _b.line, encoded = _b.encoded, width = _b.width, remainder = _b.remainder; + var x = alignment === TextAlignment.Left ? bounds.x : alignment === TextAlignment.Center ? bounds.x + bounds.width / 2 - width / 2 : alignment === TextAlignment.Right ? bounds.x + bounds.width - width : bounds.x; + y -= lineHeight; + if (x < minX) + minX = x; + if (y < minY) + minY = y; + if (x + width > maxX) + maxX = x + width; + if (y + height > maxY) + maxY = y + height; + textLines.push({ text: line, encoded, width, height, x, y }); + prevRemainder = remainder === null || remainder === void 0 ? void 0 : remainder.trim(); + } + } + return { + fontSize, + lineHeight, + lines: textLines, + bounds: { + x: minX, + y: minY, + width: maxX - minX, + height: maxY - minY + } + }; +}; +var layoutCombedText = function(text2, _a) { + var fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds, cellCount = _a.cellCount; + var line = mergeLines(cleanText(text2)); + if (line.length > cellCount) { + throw new CombedTextLayoutError(line.length, cellCount); + } + if (fontSize === void 0 || fontSize === 0) { + fontSize = computeCombedFontSize(line, font, bounds, cellCount); + } + var cellWidth = bounds.width / cellCount; + var height = font.heightAtSize(fontSize, { descender: false }); + var y = bounds.y + (bounds.height / 2 - height / 2); + var cells = []; + var minX = bounds.x; + var minY = bounds.y; + var maxX = bounds.x + bounds.width; + var maxY = bounds.y + bounds.height; + var cellOffset = 0; + var charOffset = 0; + while (cellOffset < cellCount) { + var _b = charAtIndex(line, charOffset), char = _b[0], charLength = _b[1]; + var encoded = font.encodeText(char); + var width = font.widthOfTextAtSize(char, fontSize); + var cellCenter = bounds.x + (cellWidth * cellOffset + cellWidth / 2); + var x = cellCenter - width / 2; + if (x < minX) + minX = x; + if (y < minY) + minY = y; + if (x + width > maxX) + maxX = x + width; + if (y + height > maxY) + maxY = y + height; + cells.push({ text: line, encoded, width, height, x, y }); + cellOffset += 1; + charOffset += charLength; + } + return { + fontSize, + cells, + bounds: { + x: minX, + y: minY, + width: maxX - minX, + height: maxY - minY + } + }; +}; +var layoutSinglelineText = function(text2, _a) { + var alignment = _a.alignment, fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds; + var line = mergeLines(cleanText(text2)); + if (fontSize === void 0 || fontSize === 0) { + fontSize = computeFontSize([line], font, bounds); + } + var encoded = font.encodeText(line); + var width = font.widthOfTextAtSize(line, fontSize); + var height = font.heightAtSize(fontSize, { descender: false }); + var x = alignment === TextAlignment.Left ? bounds.x : alignment === TextAlignment.Center ? bounds.x + bounds.width / 2 - width / 2 : alignment === TextAlignment.Right ? bounds.x + bounds.width - width : bounds.x; + var y = bounds.y + (bounds.height / 2 - height / 2); + return { + fontSize, + line: { text: line, encoded, width, height, x, y }, + bounds: { x, y, width, height } + }; +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/form/appearances.js +var normalizeAppearance = function(appearance) { + if ("normal" in appearance) + return appearance; + return { normal: appearance }; +}; +var tfRegex2 = /\/([^\0\t\n\f\r\ ]+)[\0\t\n\f\r\ ]+(\d*\.\d+|\d+)[\0\t\n\f\r\ ]+Tf/; +var getDefaultFontSize = function(field) { + var _a, _b; + var da = (_a = field.getDefaultAppearance()) !== null && _a !== void 0 ? _a : ""; + var daMatch = (_b = findLastMatch(da, tfRegex2).match) !== null && _b !== void 0 ? _b : []; + var defaultFontSize = Number(daMatch[2]); + return isFinite(defaultFontSize) ? defaultFontSize : void 0; +}; +var colorRegex = /(\d*\.\d+|\d+)[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]+(g|rg|k)/; +var getDefaultColor = function(field) { + var _a; + var da = (_a = field.getDefaultAppearance()) !== null && _a !== void 0 ? _a : ""; + var daMatch = findLastMatch(da, colorRegex).match; + var _b = daMatch !== null && daMatch !== void 0 ? daMatch : [], c1 = _b[1], c2 = _b[2], c3 = _b[3], c4 = _b[4], colorSpace = _b[5]; + if (colorSpace === "g" && c1) { + return grayscale(Number(c1)); + } + if (colorSpace === "rg" && c1 && c2 && c3) { + return rgb(Number(c1), Number(c2), Number(c3)); + } + if (colorSpace === "k" && c1 && c2 && c3 && c4) { + return cmyk(Number(c1), Number(c2), Number(c3), Number(c4)); + } + return void 0; +}; +var updateDefaultAppearance = function(field, color, font, fontSize) { + var _a; + if (fontSize === void 0) { + fontSize = 0; + } + var da = [ + setFillingColor(color).toString(), + setFontAndSize((_a = font === null || font === void 0 ? void 0 : font.name) !== null && _a !== void 0 ? _a : "dummy__noop", fontSize).toString() + ].join("\n"); + field.setDefaultAppearance(da); +}; +var defaultCheckBoxAppearanceProvider = function(checkBox, widget) { + var _a, _b, _c; + var widgetColor = getDefaultColor(widget); + var fieldColor = getDefaultColor(checkBox.acroField); + var rectangle = widget.getRectangle(); + var ap = widget.getAppearanceCharacteristics(); + var bs = widget.getBorderStyle(); + var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0; + var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); + var _d = adjustDimsForRotation(rectangle, rotation), width = _d.width, height = _d.height; + var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); + var black = rgb(0, 0, 0); + var borderColor = (_b = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor())) !== null && _b !== void 0 ? _b : black; + var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); + var downBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8); + var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black; + if (widgetColor) { + updateDefaultAppearance(widget, textColor); + } else { + updateDefaultAppearance(checkBox.acroField, textColor); + } + var options = { + x: 0 + borderWidth / 2, + y: 0 + borderWidth / 2, + width: width - borderWidth, + height: height - borderWidth, + thickness: 1.5, + borderWidth, + borderColor, + markColor: textColor + }; + return { + normal: { + on: __spreadArrays(rotate, drawCheckBox(__assign(__assign({}, options), { color: normalBackgroundColor, filled: true }))), + off: __spreadArrays(rotate, drawCheckBox(__assign(__assign({}, options), { color: normalBackgroundColor, filled: false }))) + }, + down: { + on: __spreadArrays(rotate, drawCheckBox(__assign(__assign({}, options), { color: downBackgroundColor, filled: true }))), + off: __spreadArrays(rotate, drawCheckBox(__assign(__assign({}, options), { color: downBackgroundColor, filled: false }))) + } + }; +}; +var defaultRadioGroupAppearanceProvider = function(radioGroup, widget) { + var _a, _b, _c; + var widgetColor = getDefaultColor(widget); + var fieldColor = getDefaultColor(radioGroup.acroField); + var rectangle = widget.getRectangle(); + var ap = widget.getAppearanceCharacteristics(); + var bs = widget.getBorderStyle(); + var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0; + var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); + var _d = adjustDimsForRotation(rectangle, rotation), width = _d.width, height = _d.height; + var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); + var black = rgb(0, 0, 0); + var borderColor = (_b = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor())) !== null && _b !== void 0 ? _b : black; + var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); + var downBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8); + var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black; + if (widgetColor) { + updateDefaultAppearance(widget, textColor); + } else { + updateDefaultAppearance(radioGroup.acroField, textColor); + } + var options = { + x: width / 2, + y: height / 2, + width: width - borderWidth, + height: height - borderWidth, + borderWidth, + borderColor, + dotColor: textColor + }; + return { + normal: { + on: __spreadArrays(rotate, drawRadioButton(__assign(__assign({}, options), { color: normalBackgroundColor, filled: true }))), + off: __spreadArrays(rotate, drawRadioButton(__assign(__assign({}, options), { color: normalBackgroundColor, filled: false }))) + }, + down: { + on: __spreadArrays(rotate, drawRadioButton(__assign(__assign({}, options), { color: downBackgroundColor, filled: true }))), + off: __spreadArrays(rotate, drawRadioButton(__assign(__assign({}, options), { color: downBackgroundColor, filled: false }))) + } + }; +}; +var defaultButtonAppearanceProvider = function(button, widget, font) { + var _a, _b, _c, _d, _e; + var widgetColor = getDefaultColor(widget); + var fieldColor = getDefaultColor(button.acroField); + var widgetFontSize = getDefaultFontSize(widget); + var fieldFontSize = getDefaultFontSize(button.acroField); + var rectangle = widget.getRectangle(); + var ap = widget.getAppearanceCharacteristics(); + var bs = widget.getBorderStyle(); + var captions = ap === null || ap === void 0 ? void 0 : ap.getCaptions(); + var normalText = (_a = captions === null || captions === void 0 ? void 0 : captions.normal) !== null && _a !== void 0 ? _a : ""; + var downText = (_c = (_b = captions === null || captions === void 0 ? void 0 : captions.down) !== null && _b !== void 0 ? _b : normalText) !== null && _c !== void 0 ? _c : ""; + var borderWidth = (_d = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _d !== void 0 ? _d : 0; + var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); + var _f = adjustDimsForRotation(rectangle, rotation), width = _f.width, height = _f.height; + var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); + var black = rgb(0, 0, 0); + var borderColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor()); + var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); + var downBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8); + var bounds = { + x: borderWidth, + y: borderWidth, + width: width - borderWidth * 2, + height: height - borderWidth * 2 + }; + var normalLayout = layoutSinglelineText(normalText, { + alignment: TextAlignment.Center, + fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, + font, + bounds + }); + var downLayout = layoutSinglelineText(downText, { + alignment: TextAlignment.Center, + fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, + font, + bounds + }); + var fontSize = Math.min(normalLayout.fontSize, downLayout.fontSize); + var textColor = (_e = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _e !== void 0 ? _e : black; + if (widgetColor || widgetFontSize !== void 0) { + updateDefaultAppearance(widget, textColor, font, fontSize); + } else { + updateDefaultAppearance(button.acroField, textColor, font, fontSize); + } + var options = { + x: 0 + borderWidth / 2, + y: 0 + borderWidth / 2, + width: width - borderWidth, + height: height - borderWidth, + borderWidth, + borderColor, + textColor, + font: font.name, + fontSize + }; + return { + normal: __spreadArrays(rotate, drawButton(__assign(__assign({}, options), { color: normalBackgroundColor, textLines: [normalLayout.line] }))), + down: __spreadArrays(rotate, drawButton(__assign(__assign({}, options), { color: downBackgroundColor, textLines: [downLayout.line] }))) + }; +}; +var defaultTextFieldAppearanceProvider = function(textField, widget, font) { + var _a, _b, _c, _d; + var widgetColor = getDefaultColor(widget); + var fieldColor = getDefaultColor(textField.acroField); + var widgetFontSize = getDefaultFontSize(widget); + var fieldFontSize = getDefaultFontSize(textField.acroField); + var rectangle = widget.getRectangle(); + var ap = widget.getAppearanceCharacteristics(); + var bs = widget.getBorderStyle(); + var text2 = (_a = textField.getText()) !== null && _a !== void 0 ? _a : ""; + var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0; + var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); + var _e = adjustDimsForRotation(rectangle, rotation), width = _e.width, height = _e.height; + var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); + var black = rgb(0, 0, 0); + var borderColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor()); + var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); + var textLines; + var fontSize; + var padding = textField.isCombed() ? 0 : 1; + var bounds = { + x: borderWidth + padding, + y: borderWidth + padding, + width: width - (borderWidth + padding) * 2, + height: height - (borderWidth + padding) * 2 + }; + if (textField.isMultiline()) { + var layout = layoutMultilineText(text2, { + alignment: textField.getAlignment(), + fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, + font, + bounds + }); + textLines = layout.lines; + fontSize = layout.fontSize; + } else if (textField.isCombed()) { + var layout = layoutCombedText(text2, { + fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, + font, + bounds, + cellCount: (_c = textField.getMaxLength()) !== null && _c !== void 0 ? _c : 0 + }); + textLines = layout.cells; + fontSize = layout.fontSize; + } else { + var layout = layoutSinglelineText(text2, { + alignment: textField.getAlignment(), + fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, + font, + bounds + }); + textLines = [layout.line]; + fontSize = layout.fontSize; + } + var textColor = (_d = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _d !== void 0 ? _d : black; + if (widgetColor || widgetFontSize !== void 0) { + updateDefaultAppearance(widget, textColor, font, fontSize); + } else { + updateDefaultAppearance(textField.acroField, textColor, font, fontSize); + } + var options = { + x: 0 + borderWidth / 2, + y: 0 + borderWidth / 2, + width: width - borderWidth, + height: height - borderWidth, + borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0, + borderColor, + textColor, + font: font.name, + fontSize, + color: normalBackgroundColor, + textLines, + padding + }; + return __spreadArrays(rotate, drawTextField(options)); +}; +var defaultDropdownAppearanceProvider = function(dropdown, widget, font) { + var _a, _b, _c; + var widgetColor = getDefaultColor(widget); + var fieldColor = getDefaultColor(dropdown.acroField); + var widgetFontSize = getDefaultFontSize(widget); + var fieldFontSize = getDefaultFontSize(dropdown.acroField); + var rectangle = widget.getRectangle(); + var ap = widget.getAppearanceCharacteristics(); + var bs = widget.getBorderStyle(); + var text2 = (_a = dropdown.getSelected()[0]) !== null && _a !== void 0 ? _a : ""; + var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0; + var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); + var _d = adjustDimsForRotation(rectangle, rotation), width = _d.width, height = _d.height; + var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); + var black = rgb(0, 0, 0); + var borderColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor()); + var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); + var padding = 1; + var bounds = { + x: borderWidth + padding, + y: borderWidth + padding, + width: width - (borderWidth + padding) * 2, + height: height - (borderWidth + padding) * 2 + }; + var _e = layoutSinglelineText(text2, { + alignment: TextAlignment.Left, + fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, + font, + bounds + }), line = _e.line, fontSize = _e.fontSize; + var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black; + if (widgetColor || widgetFontSize !== void 0) { + updateDefaultAppearance(widget, textColor, font, fontSize); + } else { + updateDefaultAppearance(dropdown.acroField, textColor, font, fontSize); + } + var options = { + x: 0 + borderWidth / 2, + y: 0 + borderWidth / 2, + width: width - borderWidth, + height: height - borderWidth, + borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0, + borderColor, + textColor, + font: font.name, + fontSize, + color: normalBackgroundColor, + textLines: [line], + padding + }; + return __spreadArrays(rotate, drawTextField(options)); +}; +var defaultOptionListAppearanceProvider = function(optionList, widget, font) { + var _a, _b; + var widgetColor = getDefaultColor(widget); + var fieldColor = getDefaultColor(optionList.acroField); + var widgetFontSize = getDefaultFontSize(widget); + var fieldFontSize = getDefaultFontSize(optionList.acroField); + var rectangle = widget.getRectangle(); + var ap = widget.getAppearanceCharacteristics(); + var bs = widget.getBorderStyle(); + var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0; + var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); + var _c = adjustDimsForRotation(rectangle, rotation), width = _c.width, height = _c.height; + var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); + var black = rgb(0, 0, 0); + var borderColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor()); + var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); + var options = optionList.getOptions(); + var selected = optionList.getSelected(); + if (optionList.isSorted()) + options.sort(); + var text2 = ""; + for (var idx = 0, len = options.length; idx < len; idx++) { + text2 += options[idx]; + if (idx < len - 1) + text2 += "\n"; + } + var padding = 1; + var bounds = { + x: borderWidth + padding, + y: borderWidth + padding, + width: width - (borderWidth + padding) * 2, + height: height - (borderWidth + padding) * 2 + }; + var _d = layoutMultilineText(text2, { + alignment: TextAlignment.Left, + fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, + font, + bounds + }), lines = _d.lines, fontSize = _d.fontSize, lineHeight = _d.lineHeight; + var selectedLines = []; + for (var idx = 0, len = lines.length; idx < len; idx++) { + var line = lines[idx]; + if (selected.includes(line.text)) + selectedLines.push(idx); + } + var blue = rgb(153 / 255, 193 / 255, 218 / 255); + var textColor = (_b = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _b !== void 0 ? _b : black; + if (widgetColor || widgetFontSize !== void 0) { + updateDefaultAppearance(widget, textColor, font, fontSize); + } else { + updateDefaultAppearance(optionList.acroField, textColor, font, fontSize); + } + return __spreadArrays(rotate, drawOptionList({ + x: 0 + borderWidth / 2, + y: 0 + borderWidth / 2, + width: width - borderWidth, + height: height - borderWidth, + borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0, + borderColor, + textColor, + font: font.name, + fontSize, + color: normalBackgroundColor, + textLines: lines, + lineHeight, + selectedColor: blue, + selectedLines, + padding + })); +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/PDFEmbeddedPage.js +var PDFEmbeddedPage = ( + /** @class */ + (function() { + function PDFEmbeddedPage2(ref, doc, embedder) { + this.alreadyEmbedded = false; + assertIs(ref, "ref", [[PDFRef_default, "PDFRef"]]); + assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); + assertIs(embedder, "embedder", [[PDFPageEmbedder_default, "PDFPageEmbedder"]]); + this.ref = ref; + this.doc = doc; + this.width = embedder.width; + this.height = embedder.height; + this.embedder = embedder; + } + PDFEmbeddedPage2.prototype.scale = function(factor) { + assertIs(factor, "factor", ["number"]); + return { width: this.width * factor, height: this.height * factor }; + }; + PDFEmbeddedPage2.prototype.size = function() { + return this.scale(1); + }; + PDFEmbeddedPage2.prototype.embed = function() { + return __awaiter(this, void 0, void 0, function() { + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + if (!!this.alreadyEmbedded) return [3, 2]; + return [4, this.embedder.embedIntoContext(this.doc.context, this.ref)]; + case 1: + _a.sent(); + this.alreadyEmbedded = true; + _a.label = 2; + case 2: + return [ + 2 + /*return*/ + ]; + } + }); + }); + }; + PDFEmbeddedPage2.of = function(ref, doc, embedder) { + return new PDFEmbeddedPage2(ref, doc, embedder); + }; + return PDFEmbeddedPage2; + })() +); +var PDFEmbeddedPage_default = PDFEmbeddedPage; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/PDFFont.js +var PDFFont = ( + /** @class */ + (function() { + function PDFFont2(ref, doc, embedder) { + this.modified = true; + assertIs(ref, "ref", [[PDFRef_default, "PDFRef"]]); + assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); + assertIs(embedder, "embedder", [ + [CustomFontEmbedder_default, "CustomFontEmbedder"], + [StandardFontEmbedder_default, "StandardFontEmbedder"] + ]); + this.ref = ref; + this.doc = doc; + this.name = embedder.fontName; + this.embedder = embedder; + } + PDFFont2.prototype.encodeText = function(text2) { + assertIs(text2, "text", ["string"]); + this.modified = true; + return this.embedder.encodeText(text2); + }; + PDFFont2.prototype.widthOfTextAtSize = function(text2, size) { + assertIs(text2, "text", ["string"]); + assertIs(size, "size", ["number"]); + return this.embedder.widthOfTextAtSize(text2, size); + }; + PDFFont2.prototype.heightAtSize = function(size, options) { + var _a; + assertIs(size, "size", ["number"]); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.descender, "options.descender", ["boolean"]); + return this.embedder.heightOfFontAtSize(size, { + descender: (_a = options === null || options === void 0 ? void 0 : options.descender) !== null && _a !== void 0 ? _a : true + }); + }; + PDFFont2.prototype.sizeAtHeight = function(height) { + assertIs(height, "height", ["number"]); + return this.embedder.sizeOfFontAtHeight(height); + }; + PDFFont2.prototype.getCharacterSet = function() { + if (this.embedder instanceof StandardFontEmbedder_default) { + return this.embedder.encoding.supportedCodePoints; + } else { + return this.embedder.font.characterSet; + } + }; + PDFFont2.prototype.embed = function() { + return __awaiter(this, void 0, void 0, function() { + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + if (!this.modified) return [3, 2]; + return [4, this.embedder.embedIntoContext(this.doc.context, this.ref)]; + case 1: + _a.sent(); + this.modified = false; + _a.label = 2; + case 2: + return [ + 2 + /*return*/ + ]; + } + }); + }); + }; + PDFFont2.of = function(ref, doc, embedder) { + return new PDFFont2(ref, doc, embedder); + }; + return PDFFont2; + })() +); +var PDFFont_default = PDFFont; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/PDFImage.js +var PDFImage = ( + /** @class */ + (function() { + function PDFImage2(ref, doc, embedder) { + assertIs(ref, "ref", [[PDFRef_default, "PDFRef"]]); + assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); + assertIs(embedder, "embedder", [ + [JpegEmbedder_default, "JpegEmbedder"], + [PngEmbedder_default, "PngEmbedder"] + ]); + this.ref = ref; + this.doc = doc; + this.width = embedder.width; + this.height = embedder.height; + this.embedder = embedder; + } + PDFImage2.prototype.scale = function(factor) { + assertIs(factor, "factor", ["number"]); + return { width: this.width * factor, height: this.height * factor }; + }; + PDFImage2.prototype.scaleToFit = function(width, height) { + assertIs(width, "width", ["number"]); + assertIs(height, "height", ["number"]); + var imgWidthScale = width / this.width; + var imgHeightScale = height / this.height; + var scale2 = Math.min(imgWidthScale, imgHeightScale); + return this.scale(scale2); + }; + PDFImage2.prototype.size = function() { + return this.scale(1); + }; + PDFImage2.prototype.embed = function() { + return __awaiter(this, void 0, void 0, function() { + var _a, doc, ref; + return __generator(this, function(_b) { + switch (_b.label) { + case 0: + if (!this.embedder) + return [ + 2 + /*return*/ + ]; + if (!this.embedTask) { + _a = this, doc = _a.doc, ref = _a.ref; + this.embedTask = this.embedder.embedIntoContext(doc.context, ref); + } + return [4, this.embedTask]; + case 1: + _b.sent(); + this.embedder = void 0; + return [ + 2 + /*return*/ + ]; + } + }); + }); + }; + PDFImage2.of = function(ref, doc, embedder) { + return new PDFImage2(ref, doc, embedder); + }; + return PDFImage2; + })() +); +var PDFImage_default = PDFImage; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/image/alignment.js +var ImageAlignment; +(function(ImageAlignment2) { + ImageAlignment2[ImageAlignment2["Left"] = 0] = "Left"; + ImageAlignment2[ImageAlignment2["Center"] = 1] = "Center"; + ImageAlignment2[ImageAlignment2["Right"] = 2] = "Right"; +})(ImageAlignment || (ImageAlignment = {})); + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/form/PDFField.js +var assertFieldAppearanceOptions = function(options) { + assertOrUndefined(options === null || options === void 0 ? void 0 : options.x, "options.x", ["number"]); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.y, "options.y", ["number"]); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.width, "options.width", ["number"]); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.height, "options.height", ["number"]); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.textColor, "options.textColor", [ + [Object, "Color"] + ]); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.backgroundColor, "options.backgroundColor", [ + [Object, "Color"] + ]); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.borderColor, "options.borderColor", [ + [Object, "Color"] + ]); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.borderWidth, "options.borderWidth", ["number"]); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.rotate, "options.rotate", [[Object, "Rotation"]]); +}; +var PDFField = ( + /** @class */ + (function() { + function PDFField2(acroField, ref, doc) { + assertIs(acroField, "acroField", [[PDFAcroTerminal_default, "PDFAcroTerminal"]]); + assertIs(ref, "ref", [[PDFRef_default, "PDFRef"]]); + assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); + this.acroField = acroField; + this.ref = ref; + this.doc = doc; + } + PDFField2.prototype.getName = function() { + var _a; + return (_a = this.acroField.getFullyQualifiedName()) !== null && _a !== void 0 ? _a : ""; + }; + PDFField2.prototype.isReadOnly = function() { + return this.acroField.hasFlag(AcroFieldFlags.ReadOnly); + }; + PDFField2.prototype.enableReadOnly = function() { + this.acroField.setFlagTo(AcroFieldFlags.ReadOnly, true); + }; + PDFField2.prototype.disableReadOnly = function() { + this.acroField.setFlagTo(AcroFieldFlags.ReadOnly, false); + }; + PDFField2.prototype.isRequired = function() { + return this.acroField.hasFlag(AcroFieldFlags.Required); + }; + PDFField2.prototype.enableRequired = function() { + this.acroField.setFlagTo(AcroFieldFlags.Required, true); + }; + PDFField2.prototype.disableRequired = function() { + this.acroField.setFlagTo(AcroFieldFlags.Required, false); + }; + PDFField2.prototype.isExported = function() { + return !this.acroField.hasFlag(AcroFieldFlags.NoExport); + }; + PDFField2.prototype.enableExporting = function() { + this.acroField.setFlagTo(AcroFieldFlags.NoExport, false); + }; + PDFField2.prototype.disableExporting = function() { + this.acroField.setFlagTo(AcroFieldFlags.NoExport, true); + }; + PDFField2.prototype.needsAppearancesUpdate = function() { + throw new MethodNotImplementedError(this.constructor.name, "needsAppearancesUpdate"); + }; + PDFField2.prototype.defaultUpdateAppearances = function(_font) { + throw new MethodNotImplementedError(this.constructor.name, "defaultUpdateAppearances"); + }; + PDFField2.prototype.markAsDirty = function() { + this.doc.getForm().markFieldAsDirty(this.ref); + }; + PDFField2.prototype.markAsClean = function() { + this.doc.getForm().markFieldAsClean(this.ref); + }; + PDFField2.prototype.isDirty = function() { + return this.doc.getForm().fieldIsDirty(this.ref); + }; + PDFField2.prototype.createWidget = function(options) { + var _a; + var textColor = options.textColor; + var backgroundColor = options.backgroundColor; + var borderColor = options.borderColor; + var borderWidth = options.borderWidth; + var degreesAngle = toDegrees(options.rotate); + var caption = options.caption; + var x = options.x; + var y = options.y; + var width = options.width + borderWidth; + var height = options.height + borderWidth; + var hidden = Boolean(options.hidden); + var pageRef = options.page; + assertMultiple(degreesAngle, "degreesAngle", 90); + var widget = PDFWidgetAnnotation_default.create(this.doc.context, this.ref); + var rect = rotateRectangle({ x, y, width, height }, borderWidth, degreesAngle); + widget.setRectangle(rect); + if (pageRef) + widget.setP(pageRef); + var ac = widget.getOrCreateAppearanceCharacteristics(); + if (backgroundColor) { + ac.setBackgroundColor(colorToComponents(backgroundColor)); + } + ac.setRotation(degreesAngle); + if (caption) + ac.setCaptions({ normal: caption }); + if (borderColor) + ac.setBorderColor(colorToComponents(borderColor)); + var bs = widget.getOrCreateBorderStyle(); + if (borderWidth !== void 0) + bs.setWidth(borderWidth); + widget.setFlagTo(AnnotationFlags.Print, true); + widget.setFlagTo(AnnotationFlags.Hidden, hidden); + widget.setFlagTo(AnnotationFlags.Invisible, false); + if (textColor) { + var da = (_a = this.acroField.getDefaultAppearance()) !== null && _a !== void 0 ? _a : ""; + var newDa = da + "\n" + setFillingColor(textColor).toString(); + this.acroField.setDefaultAppearance(newDa); + } + return widget; + }; + PDFField2.prototype.updateWidgetAppearanceWithFont = function(widget, font, _a) { + var normal = _a.normal, rollover = _a.rollover, down = _a.down; + this.updateWidgetAppearances(widget, { + normal: this.createAppearanceStream(widget, normal, font), + rollover: rollover && this.createAppearanceStream(widget, rollover, font), + down: down && this.createAppearanceStream(widget, down, font) + }); + }; + PDFField2.prototype.updateOnOffWidgetAppearance = function(widget, onValue, _a) { + var normal = _a.normal, rollover = _a.rollover, down = _a.down; + this.updateWidgetAppearances(widget, { + normal: this.createAppearanceDict(widget, normal, onValue), + rollover: rollover && this.createAppearanceDict(widget, rollover, onValue), + down: down && this.createAppearanceDict(widget, down, onValue) + }); + }; + PDFField2.prototype.updateWidgetAppearances = function(widget, _a) { + var normal = _a.normal, rollover = _a.rollover, down = _a.down; + widget.setNormalAppearance(normal); + if (rollover) { + widget.setRolloverAppearance(rollover); + } else { + widget.removeRolloverAppearance(); + } + if (down) { + widget.setDownAppearance(down); + } else { + widget.removeDownAppearance(); + } + }; + PDFField2.prototype.createAppearanceStream = function(widget, appearance, font) { + var _a; + var context = this.acroField.dict.context; + var _b = widget.getRectangle(), width = _b.width, height = _b.height; + var Resources = font && { Font: (_a = {}, _a[font.name] = font.ref, _a) }; + var stream2 = context.formXObject(appearance, { + Resources, + BBox: context.obj([0, 0, width, height]), + Matrix: context.obj([1, 0, 0, 1, 0, 0]) + }); + var streamRef = context.register(stream2); + return streamRef; + }; + PDFField2.prototype.createImageAppearanceStream = function(widget, image, alignment) { + var _a; + var _b; + var context = this.acroField.dict.context; + var rectangle = widget.getRectangle(); + var ap = widget.getAppearanceCharacteristics(); + var bs = widget.getBorderStyle(); + var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0; + var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); + var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); + var adj = adjustDimsForRotation(rectangle, rotation); + var imageDims = image.scaleToFit(adj.width - borderWidth * 2, adj.height - borderWidth * 2); + var options = { + x: borderWidth, + y: borderWidth, + width: imageDims.width, + height: imageDims.height, + // + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0) + }; + if (alignment === ImageAlignment.Center) { + options.x += (adj.width - borderWidth * 2) / 2 - imageDims.width / 2; + options.y += (adj.height - borderWidth * 2) / 2 - imageDims.height / 2; + } else if (alignment === ImageAlignment.Right) { + options.x = adj.width - borderWidth - imageDims.width; + options.y = adj.height - borderWidth - imageDims.height; + } + var imageName = this.doc.context.addRandomSuffix("Image", 10); + var appearance = __spreadArrays(rotate, drawImage(imageName, options)); + var Resources = { XObject: (_a = {}, _a[imageName] = image.ref, _a) }; + var stream2 = context.formXObject(appearance, { + Resources, + BBox: context.obj([0, 0, rectangle.width, rectangle.height]), + Matrix: context.obj([1, 0, 0, 1, 0, 0]) + }); + return context.register(stream2); + }; + PDFField2.prototype.createAppearanceDict = function(widget, appearance, onValue) { + var context = this.acroField.dict.context; + var onStreamRef = this.createAppearanceStream(widget, appearance.on); + var offStreamRef = this.createAppearanceStream(widget, appearance.off); + var appearanceDict = context.obj({}); + appearanceDict.set(onValue, onStreamRef); + appearanceDict.set(PDFName_default.of("Off"), offStreamRef); + return appearanceDict; + }; + return PDFField2; + })() +); +var PDFField_default = PDFField; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/form/PDFCheckBox.js +var PDFCheckBox = ( + /** @class */ + (function(_super) { + __extends(PDFCheckBox2, _super); + function PDFCheckBox2(acroCheckBox, ref, doc) { + var _this = _super.call(this, acroCheckBox, ref, doc) || this; + assertIs(acroCheckBox, "acroCheckBox", [ + [PDFAcroCheckBox_default, "PDFAcroCheckBox"] + ]); + _this.acroField = acroCheckBox; + return _this; + } + PDFCheckBox2.prototype.check = function() { + var _a; + var onValue = (_a = this.acroField.getOnValue()) !== null && _a !== void 0 ? _a : PDFName_default.of("Yes"); + this.markAsDirty(); + this.acroField.setValue(onValue); + }; + PDFCheckBox2.prototype.uncheck = function() { + this.markAsDirty(); + this.acroField.setValue(PDFName_default.of("Off")); + }; + PDFCheckBox2.prototype.isChecked = function() { + var onValue = this.acroField.getOnValue(); + return !!onValue && onValue === this.acroField.getValue(); + }; + PDFCheckBox2.prototype.addToPage = function(page, options) { + var _a, _b, _c, _d, _e, _f; + assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); + assertFieldAppearanceOptions(options); + if (!options) + options = {}; + if (!("textColor" in options)) + options.textColor = rgb(0, 0, 0); + if (!("backgroundColor" in options)) + options.backgroundColor = rgb(1, 1, 1); + if (!("borderColor" in options)) + options.borderColor = rgb(0, 0, 0); + if (!("borderWidth" in options)) + options.borderWidth = 1; + var widget = this.createWidget({ + x: (_a = options.x) !== null && _a !== void 0 ? _a : 0, + y: (_b = options.y) !== null && _b !== void 0 ? _b : 0, + width: (_c = options.width) !== null && _c !== void 0 ? _c : 50, + height: (_d = options.height) !== null && _d !== void 0 ? _d : 50, + textColor: options.textColor, + backgroundColor: options.backgroundColor, + borderColor: options.borderColor, + borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0, + rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : degrees(0), + hidden: options.hidden, + page: page.ref + }); + var widgetRef = this.doc.context.register(widget.dict); + this.acroField.addWidget(widgetRef); + widget.setAppearanceState(PDFName_default.of("Off")); + this.updateWidgetAppearance(widget, PDFName_default.of("Yes")); + page.node.addAnnot(widgetRef); + }; + PDFCheckBox2.prototype.needsAppearancesUpdate = function() { + var _a; + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var state2 = widget.getAppearanceState(); + var normal = (_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal; + if (!(normal instanceof PDFDict_default)) + return true; + if (state2 && !normal.has(state2)) + return true; + } + return false; + }; + PDFCheckBox2.prototype.defaultUpdateAppearances = function() { + this.updateAppearances(); + }; + PDFCheckBox2.prototype.updateAppearances = function(provider) { + var _a; + assertOrUndefined(provider, "provider", [Function]); + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var onValue = (_a = widget.getOnValue()) !== null && _a !== void 0 ? _a : PDFName_default.of("Yes"); + if (!onValue) + continue; + this.updateWidgetAppearance(widget, onValue, provider); + } + this.markAsClean(); + }; + PDFCheckBox2.prototype.updateWidgetAppearance = function(widget, onValue, provider) { + var apProvider = provider !== null && provider !== void 0 ? provider : defaultCheckBoxAppearanceProvider; + var appearances = normalizeAppearance(apProvider(this, widget)); + this.updateOnOffWidgetAppearance(widget, onValue, appearances); + }; + PDFCheckBox2.of = function(acroCheckBox, ref, doc) { + return new PDFCheckBox2(acroCheckBox, ref, doc); + }; + return PDFCheckBox2; + })(PDFField_default) +); +var PDFCheckBox_default = PDFCheckBox; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/form/PDFDropdown.js +var PDFDropdown = ( + /** @class */ + (function(_super) { + __extends(PDFDropdown2, _super); + function PDFDropdown2(acroComboBox, ref, doc) { + var _this = _super.call(this, acroComboBox, ref, doc) || this; + assertIs(acroComboBox, "acroComboBox", [ + [PDFAcroComboBox_default, "PDFAcroComboBox"] + ]); + _this.acroField = acroComboBox; + return _this; + } + PDFDropdown2.prototype.getOptions = function() { + var rawOptions = this.acroField.getOptions(); + var options = new Array(rawOptions.length); + for (var idx = 0, len = options.length; idx < len; idx++) { + var _a = rawOptions[idx], display = _a.display, value2 = _a.value; + options[idx] = (display !== null && display !== void 0 ? display : value2).decodeText(); + } + return options; + }; + PDFDropdown2.prototype.getSelected = function() { + var values2 = this.acroField.getValues(); + var selected = new Array(values2.length); + for (var idx = 0, len = values2.length; idx < len; idx++) { + selected[idx] = values2[idx].decodeText(); + } + return selected; + }; + PDFDropdown2.prototype.setOptions = function(options) { + assertIs(options, "options", [Array]); + var optionObjects = new Array(options.length); + for (var idx = 0, len = options.length; idx < len; idx++) { + optionObjects[idx] = { value: PDFHexString_default.fromText(options[idx]) }; + } + this.acroField.setOptions(optionObjects); + }; + PDFDropdown2.prototype.addOptions = function(options) { + assertIs(options, "options", ["string", Array]); + var optionsArr = Array.isArray(options) ? options : [options]; + var existingOptions = this.acroField.getOptions(); + var newOptions = new Array(optionsArr.length); + for (var idx = 0, len = optionsArr.length; idx < len; idx++) { + newOptions[idx] = { value: PDFHexString_default.fromText(optionsArr[idx]) }; + } + this.acroField.setOptions(existingOptions.concat(newOptions)); + }; + PDFDropdown2.prototype.select = function(options, merge) { + if (merge === void 0) { + merge = false; + } + assertIs(options, "options", ["string", Array]); + assertIs(merge, "merge", ["boolean"]); + var optionsArr = Array.isArray(options) ? options : [options]; + var validOptions = this.getOptions(); + var hasCustomOption = optionsArr.find(function(option) { + return !validOptions.includes(option); + }); + if (hasCustomOption) + this.enableEditing(); + this.markAsDirty(); + if (optionsArr.length > 1 || optionsArr.length === 1 && merge) { + this.enableMultiselect(); + } + var values2 = new Array(optionsArr.length); + for (var idx = 0, len = optionsArr.length; idx < len; idx++) { + values2[idx] = PDFHexString_default.fromText(optionsArr[idx]); + } + if (merge) { + var existingValues = this.acroField.getValues(); + this.acroField.setValues(existingValues.concat(values2)); + } else { + this.acroField.setValues(values2); + } + }; + PDFDropdown2.prototype.clear = function() { + this.markAsDirty(); + this.acroField.setValues([]); + }; + PDFDropdown2.prototype.setFontSize = function(fontSize) { + assertPositive(fontSize, "fontSize"); + this.acroField.setFontSize(fontSize); + this.markAsDirty(); + }; + PDFDropdown2.prototype.isEditable = function() { + return this.acroField.hasFlag(AcroChoiceFlags.Edit); + }; + PDFDropdown2.prototype.enableEditing = function() { + this.acroField.setFlagTo(AcroChoiceFlags.Edit, true); + }; + PDFDropdown2.prototype.disableEditing = function() { + this.acroField.setFlagTo(AcroChoiceFlags.Edit, false); + }; + PDFDropdown2.prototype.isSorted = function() { + return this.acroField.hasFlag(AcroChoiceFlags.Sort); + }; + PDFDropdown2.prototype.enableSorting = function() { + this.acroField.setFlagTo(AcroChoiceFlags.Sort, true); + }; + PDFDropdown2.prototype.disableSorting = function() { + this.acroField.setFlagTo(AcroChoiceFlags.Sort, false); + }; + PDFDropdown2.prototype.isMultiselect = function() { + return this.acroField.hasFlag(AcroChoiceFlags.MultiSelect); + }; + PDFDropdown2.prototype.enableMultiselect = function() { + this.acroField.setFlagTo(AcroChoiceFlags.MultiSelect, true); + }; + PDFDropdown2.prototype.disableMultiselect = function() { + this.acroField.setFlagTo(AcroChoiceFlags.MultiSelect, false); + }; + PDFDropdown2.prototype.isSpellChecked = function() { + return !this.acroField.hasFlag(AcroChoiceFlags.DoNotSpellCheck); + }; + PDFDropdown2.prototype.enableSpellChecking = function() { + this.acroField.setFlagTo(AcroChoiceFlags.DoNotSpellCheck, false); + }; + PDFDropdown2.prototype.disableSpellChecking = function() { + this.acroField.setFlagTo(AcroChoiceFlags.DoNotSpellCheck, true); + }; + PDFDropdown2.prototype.isSelectOnClick = function() { + return this.acroField.hasFlag(AcroChoiceFlags.CommitOnSelChange); + }; + PDFDropdown2.prototype.enableSelectOnClick = function() { + this.acroField.setFlagTo(AcroChoiceFlags.CommitOnSelChange, true); + }; + PDFDropdown2.prototype.disableSelectOnClick = function() { + this.acroField.setFlagTo(AcroChoiceFlags.CommitOnSelChange, false); + }; + PDFDropdown2.prototype.addToPage = function(page, options) { + var _a, _b, _c, _d, _e, _f, _g; + assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); + assertFieldAppearanceOptions(options); + if (!options) + options = {}; + if (!("textColor" in options)) + options.textColor = rgb(0, 0, 0); + if (!("backgroundColor" in options)) + options.backgroundColor = rgb(1, 1, 1); + if (!("borderColor" in options)) + options.borderColor = rgb(0, 0, 0); + if (!("borderWidth" in options)) + options.borderWidth = 1; + var widget = this.createWidget({ + x: (_a = options.x) !== null && _a !== void 0 ? _a : 0, + y: (_b = options.y) !== null && _b !== void 0 ? _b : 0, + width: (_c = options.width) !== null && _c !== void 0 ? _c : 200, + height: (_d = options.height) !== null && _d !== void 0 ? _d : 50, + textColor: options.textColor, + backgroundColor: options.backgroundColor, + borderColor: options.borderColor, + borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0, + rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : degrees(0), + hidden: options.hidden, + page: page.ref + }); + var widgetRef = this.doc.context.register(widget.dict); + this.acroField.addWidget(widgetRef); + var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont(); + this.updateWidgetAppearance(widget, font); + page.node.addAnnot(widgetRef); + }; + PDFDropdown2.prototype.needsAppearancesUpdate = function() { + var _a; + if (this.isDirty()) + return true; + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof PDFStream_default; + if (!hasAppearances) + return true; + } + return false; + }; + PDFDropdown2.prototype.defaultUpdateAppearances = function(font) { + assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); + this.updateAppearances(font); + }; + PDFDropdown2.prototype.updateAppearances = function(font, provider) { + assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); + assertOrUndefined(provider, "provider", [Function]); + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + this.updateWidgetAppearance(widget, font, provider); + } + this.markAsClean(); + }; + PDFDropdown2.prototype.updateWidgetAppearance = function(widget, font, provider) { + var apProvider = provider !== null && provider !== void 0 ? provider : defaultDropdownAppearanceProvider; + var appearances = normalizeAppearance(apProvider(this, widget, font)); + this.updateWidgetAppearanceWithFont(widget, font, appearances); + }; + PDFDropdown2.of = function(acroComboBox, ref, doc) { + return new PDFDropdown2(acroComboBox, ref, doc); + }; + return PDFDropdown2; + })(PDFField_default) +); +var PDFDropdown_default = PDFDropdown; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/form/PDFOptionList.js +var PDFOptionList = ( + /** @class */ + (function(_super) { + __extends(PDFOptionList2, _super); + function PDFOptionList2(acroListBox, ref, doc) { + var _this = _super.call(this, acroListBox, ref, doc) || this; + assertIs(acroListBox, "acroListBox", [[PDFAcroListBox_default, "PDFAcroListBox"]]); + _this.acroField = acroListBox; + return _this; + } + PDFOptionList2.prototype.getOptions = function() { + var rawOptions = this.acroField.getOptions(); + var options = new Array(rawOptions.length); + for (var idx = 0, len = options.length; idx < len; idx++) { + var _a = rawOptions[idx], display = _a.display, value2 = _a.value; + options[idx] = (display !== null && display !== void 0 ? display : value2).decodeText(); + } + return options; + }; + PDFOptionList2.prototype.getSelected = function() { + var values2 = this.acroField.getValues(); + var selected = new Array(values2.length); + for (var idx = 0, len = values2.length; idx < len; idx++) { + selected[idx] = values2[idx].decodeText(); + } + return selected; + }; + PDFOptionList2.prototype.setOptions = function(options) { + assertIs(options, "options", [Array]); + this.markAsDirty(); + var optionObjects = new Array(options.length); + for (var idx = 0, len = options.length; idx < len; idx++) { + optionObjects[idx] = { value: PDFHexString_default.fromText(options[idx]) }; + } + this.acroField.setOptions(optionObjects); + }; + PDFOptionList2.prototype.addOptions = function(options) { + assertIs(options, "options", ["string", Array]); + this.markAsDirty(); + var optionsArr = Array.isArray(options) ? options : [options]; + var existingOptions = this.acroField.getOptions(); + var newOptions = new Array(optionsArr.length); + for (var idx = 0, len = optionsArr.length; idx < len; idx++) { + newOptions[idx] = { value: PDFHexString_default.fromText(optionsArr[idx]) }; + } + this.acroField.setOptions(existingOptions.concat(newOptions)); + }; + PDFOptionList2.prototype.select = function(options, merge) { + if (merge === void 0) { + merge = false; + } + assertIs(options, "options", ["string", Array]); + assertIs(merge, "merge", ["boolean"]); + var optionsArr = Array.isArray(options) ? options : [options]; + var validOptions = this.getOptions(); + assertIsSubset(optionsArr, "option", validOptions); + this.markAsDirty(); + if (optionsArr.length > 1 || optionsArr.length === 1 && merge) { + this.enableMultiselect(); + } + var values2 = new Array(optionsArr.length); + for (var idx = 0, len = optionsArr.length; idx < len; idx++) { + values2[idx] = PDFHexString_default.fromText(optionsArr[idx]); + } + if (merge) { + var existingValues = this.acroField.getValues(); + this.acroField.setValues(existingValues.concat(values2)); + } else { + this.acroField.setValues(values2); + } + }; + PDFOptionList2.prototype.clear = function() { + this.markAsDirty(); + this.acroField.setValues([]); + }; + PDFOptionList2.prototype.setFontSize = function(fontSize) { + assertPositive(fontSize, "fontSize"); + this.acroField.setFontSize(fontSize); + this.markAsDirty(); + }; + PDFOptionList2.prototype.isSorted = function() { + return this.acroField.hasFlag(AcroChoiceFlags.Sort); + }; + PDFOptionList2.prototype.enableSorting = function() { + this.acroField.setFlagTo(AcroChoiceFlags.Sort, true); + }; + PDFOptionList2.prototype.disableSorting = function() { + this.acroField.setFlagTo(AcroChoiceFlags.Sort, false); + }; + PDFOptionList2.prototype.isMultiselect = function() { + return this.acroField.hasFlag(AcroChoiceFlags.MultiSelect); + }; + PDFOptionList2.prototype.enableMultiselect = function() { + this.acroField.setFlagTo(AcroChoiceFlags.MultiSelect, true); + }; + PDFOptionList2.prototype.disableMultiselect = function() { + this.acroField.setFlagTo(AcroChoiceFlags.MultiSelect, false); + }; + PDFOptionList2.prototype.isSelectOnClick = function() { + return this.acroField.hasFlag(AcroChoiceFlags.CommitOnSelChange); + }; + PDFOptionList2.prototype.enableSelectOnClick = function() { + this.acroField.setFlagTo(AcroChoiceFlags.CommitOnSelChange, true); + }; + PDFOptionList2.prototype.disableSelectOnClick = function() { + this.acroField.setFlagTo(AcroChoiceFlags.CommitOnSelChange, false); + }; + PDFOptionList2.prototype.addToPage = function(page, options) { + var _a, _b, _c, _d, _e, _f, _g; + assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); + assertFieldAppearanceOptions(options); + if (!options) + options = {}; + if (!("textColor" in options)) + options.textColor = rgb(0, 0, 0); + if (!("backgroundColor" in options)) + options.backgroundColor = rgb(1, 1, 1); + if (!("borderColor" in options)) + options.borderColor = rgb(0, 0, 0); + if (!("borderWidth" in options)) + options.borderWidth = 1; + var widget = this.createWidget({ + x: (_a = options.x) !== null && _a !== void 0 ? _a : 0, + y: (_b = options.y) !== null && _b !== void 0 ? _b : 0, + width: (_c = options.width) !== null && _c !== void 0 ? _c : 200, + height: (_d = options.height) !== null && _d !== void 0 ? _d : 100, + textColor: options.textColor, + backgroundColor: options.backgroundColor, + borderColor: options.borderColor, + borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0, + rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : degrees(0), + hidden: options.hidden, + page: page.ref + }); + var widgetRef = this.doc.context.register(widget.dict); + this.acroField.addWidget(widgetRef); + var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont(); + this.updateWidgetAppearance(widget, font); + page.node.addAnnot(widgetRef); + }; + PDFOptionList2.prototype.needsAppearancesUpdate = function() { + var _a; + if (this.isDirty()) + return true; + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof PDFStream_default; + if (!hasAppearances) + return true; + } + return false; + }; + PDFOptionList2.prototype.defaultUpdateAppearances = function(font) { + assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); + this.updateAppearances(font); + }; + PDFOptionList2.prototype.updateAppearances = function(font, provider) { + assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); + assertOrUndefined(provider, "provider", [Function]); + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + this.updateWidgetAppearance(widget, font, provider); + } + this.markAsClean(); + }; + PDFOptionList2.prototype.updateWidgetAppearance = function(widget, font, provider) { + var apProvider = provider !== null && provider !== void 0 ? provider : defaultOptionListAppearanceProvider; + var appearances = normalizeAppearance(apProvider(this, widget, font)); + this.updateWidgetAppearanceWithFont(widget, font, appearances); + }; + PDFOptionList2.of = function(acroListBox, ref, doc) { + return new PDFOptionList2(acroListBox, ref, doc); + }; + return PDFOptionList2; + })(PDFField_default) +); +var PDFOptionList_default = PDFOptionList; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/form/PDFRadioGroup.js +var PDFRadioGroup = ( + /** @class */ + (function(_super) { + __extends(PDFRadioGroup2, _super); + function PDFRadioGroup2(acroRadioButton, ref, doc) { + var _this = _super.call(this, acroRadioButton, ref, doc) || this; + assertIs(acroRadioButton, "acroRadioButton", [ + [PDFAcroRadioButton_default, "PDFAcroRadioButton"] + ]); + _this.acroField = acroRadioButton; + return _this; + } + PDFRadioGroup2.prototype.getOptions = function() { + var exportValues = this.acroField.getExportValues(); + if (exportValues) { + var exportOptions = new Array(exportValues.length); + for (var idx = 0, len = exportValues.length; idx < len; idx++) { + exportOptions[idx] = exportValues[idx].decodeText(); + } + return exportOptions; + } + var onValues = this.acroField.getOnValues(); + var onOptions = new Array(onValues.length); + for (var idx = 0, len = onOptions.length; idx < len; idx++) { + onOptions[idx] = onValues[idx].decodeText(); + } + return onOptions; + }; + PDFRadioGroup2.prototype.getSelected = function() { + var value2 = this.acroField.getValue(); + if (value2 === PDFName_default.of("Off")) + return void 0; + var exportValues = this.acroField.getExportValues(); + if (exportValues) { + var onValues = this.acroField.getOnValues(); + for (var idx = 0, len = onValues.length; idx < len; idx++) { + if (onValues[idx] === value2) + return exportValues[idx].decodeText(); + } + } + return value2.decodeText(); + }; + PDFRadioGroup2.prototype.select = function(option) { + assertIs(option, "option", ["string"]); + var validOptions = this.getOptions(); + assertIsOneOf(option, "option", validOptions); + this.markAsDirty(); + var onValues = this.acroField.getOnValues(); + var exportValues = this.acroField.getExportValues(); + if (exportValues) { + for (var idx = 0, len = exportValues.length; idx < len; idx++) { + if (exportValues[idx].decodeText() === option) { + this.acroField.setValue(onValues[idx]); + } + } + } else { + for (var idx = 0, len = onValues.length; idx < len; idx++) { + var value2 = onValues[idx]; + if (value2.decodeText() === option) + this.acroField.setValue(value2); + } + } + }; + PDFRadioGroup2.prototype.clear = function() { + this.markAsDirty(); + this.acroField.setValue(PDFName_default.of("Off")); + }; + PDFRadioGroup2.prototype.isOffToggleable = function() { + return !this.acroField.hasFlag(AcroButtonFlags.NoToggleToOff); + }; + PDFRadioGroup2.prototype.enableOffToggling = function() { + this.acroField.setFlagTo(AcroButtonFlags.NoToggleToOff, false); + }; + PDFRadioGroup2.prototype.disableOffToggling = function() { + this.acroField.setFlagTo(AcroButtonFlags.NoToggleToOff, true); + }; + PDFRadioGroup2.prototype.isMutuallyExclusive = function() { + return !this.acroField.hasFlag(AcroButtonFlags.RadiosInUnison); + }; + PDFRadioGroup2.prototype.enableMutualExclusion = function() { + this.acroField.setFlagTo(AcroButtonFlags.RadiosInUnison, false); + }; + PDFRadioGroup2.prototype.disableMutualExclusion = function() { + this.acroField.setFlagTo(AcroButtonFlags.RadiosInUnison, true); + }; + PDFRadioGroup2.prototype.addOptionToPage = function(option, page, options) { + var _a, _b, _c, _d, _e, _f, _g, _h, _j; + assertIs(option, "option", ["string"]); + assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); + assertFieldAppearanceOptions(options); + var widget = this.createWidget({ + x: (_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0, + y: (_b = options === null || options === void 0 ? void 0 : options.y) !== null && _b !== void 0 ? _b : 0, + width: (_c = options === null || options === void 0 ? void 0 : options.width) !== null && _c !== void 0 ? _c : 50, + height: (_d = options === null || options === void 0 ? void 0 : options.height) !== null && _d !== void 0 ? _d : 50, + textColor: (_e = options === null || options === void 0 ? void 0 : options.textColor) !== null && _e !== void 0 ? _e : rgb(0, 0, 0), + backgroundColor: (_f = options === null || options === void 0 ? void 0 : options.backgroundColor) !== null && _f !== void 0 ? _f : rgb(1, 1, 1), + borderColor: (_g = options === null || options === void 0 ? void 0 : options.borderColor) !== null && _g !== void 0 ? _g : rgb(0, 0, 0), + borderWidth: (_h = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _h !== void 0 ? _h : 1, + rotate: (_j = options === null || options === void 0 ? void 0 : options.rotate) !== null && _j !== void 0 ? _j : degrees(0), + hidden: options === null || options === void 0 ? void 0 : options.hidden, + page: page.ref + }); + var widgetRef = this.doc.context.register(widget.dict); + var apStateValue = this.acroField.addWidgetWithOpt(widgetRef, PDFHexString_default.fromText(option), !this.isMutuallyExclusive()); + widget.setAppearanceState(PDFName_default.of("Off")); + this.updateWidgetAppearance(widget, apStateValue); + page.node.addAnnot(widgetRef); + }; + PDFRadioGroup2.prototype.needsAppearancesUpdate = function() { + var _a; + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var state2 = widget.getAppearanceState(); + var normal = (_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal; + if (!(normal instanceof PDFDict_default)) + return true; + if (state2 && !normal.has(state2)) + return true; + } + return false; + }; + PDFRadioGroup2.prototype.defaultUpdateAppearances = function() { + this.updateAppearances(); + }; + PDFRadioGroup2.prototype.updateAppearances = function(provider) { + assertOrUndefined(provider, "provider", [Function]); + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var onValue = widget.getOnValue(); + if (!onValue) + continue; + this.updateWidgetAppearance(widget, onValue, provider); + } + }; + PDFRadioGroup2.prototype.updateWidgetAppearance = function(widget, onValue, provider) { + var apProvider = provider !== null && provider !== void 0 ? provider : defaultRadioGroupAppearanceProvider; + var appearances = normalizeAppearance(apProvider(this, widget)); + this.updateOnOffWidgetAppearance(widget, onValue, appearances); + }; + PDFRadioGroup2.of = function(acroRadioButton, ref, doc) { + return new PDFRadioGroup2(acroRadioButton, ref, doc); + }; + return PDFRadioGroup2; + })(PDFField_default) +); +var PDFRadioGroup_default = PDFRadioGroup; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/form/PDFSignature.js +var PDFSignature = ( + /** @class */ + (function(_super) { + __extends(PDFSignature2, _super); + function PDFSignature2(acroSignature, ref, doc) { + var _this = _super.call(this, acroSignature, ref, doc) || this; + assertIs(acroSignature, "acroSignature", [ + [PDFAcroSignature_default, "PDFAcroSignature"] + ]); + _this.acroField = acroSignature; + return _this; + } + PDFSignature2.prototype.needsAppearancesUpdate = function() { + return false; + }; + PDFSignature2.of = function(acroSignature, ref, doc) { + return new PDFSignature2(acroSignature, ref, doc); + }; + return PDFSignature2; + })(PDFField_default) +); +var PDFSignature_default = PDFSignature; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/form/PDFTextField.js +var PDFTextField = ( + /** @class */ + (function(_super) { + __extends(PDFTextField2, _super); + function PDFTextField2(acroText, ref, doc) { + var _this = _super.call(this, acroText, ref, doc) || this; + assertIs(acroText, "acroText", [[PDFAcroText_default, "PDFAcroText"]]); + _this.acroField = acroText; + return _this; + } + PDFTextField2.prototype.getText = function() { + var value2 = this.acroField.getValue(); + if (!value2 && this.isRichFormatted()) { + throw new RichTextFieldReadError(this.getName()); + } + return value2 === null || value2 === void 0 ? void 0 : value2.decodeText(); + }; + PDFTextField2.prototype.setText = function(text2) { + assertOrUndefined(text2, "text", ["string"]); + var maxLength = this.getMaxLength(); + if (maxLength !== void 0 && text2 && text2.length > maxLength) { + throw new ExceededMaxLengthError(text2.length, maxLength, this.getName()); + } + this.markAsDirty(); + this.disableRichFormatting(); + if (text2) { + this.acroField.setValue(PDFHexString_default.fromText(text2)); + } else { + this.acroField.removeValue(); + } + }; + PDFTextField2.prototype.getAlignment = function() { + var quadding = this.acroField.getQuadding(); + return quadding === 0 ? TextAlignment.Left : quadding === 1 ? TextAlignment.Center : quadding === 2 ? TextAlignment.Right : TextAlignment.Left; + }; + PDFTextField2.prototype.setAlignment = function(alignment) { + assertIsOneOf(alignment, "alignment", TextAlignment); + this.markAsDirty(); + this.acroField.setQuadding(alignment); + }; + PDFTextField2.prototype.getMaxLength = function() { + return this.acroField.getMaxLength(); + }; + PDFTextField2.prototype.setMaxLength = function(maxLength) { + assertRangeOrUndefined(maxLength, "maxLength", 0, Number.MAX_SAFE_INTEGER); + this.markAsDirty(); + if (maxLength === void 0) { + this.acroField.removeMaxLength(); + } else { + var text2 = this.getText(); + if (text2 && text2.length > maxLength) { + throw new InvalidMaxLengthError(text2.length, maxLength, this.getName()); + } + this.acroField.setMaxLength(maxLength); + } + }; + PDFTextField2.prototype.removeMaxLength = function() { + this.markAsDirty(); + this.acroField.removeMaxLength(); + }; + PDFTextField2.prototype.setImage = function(image) { + var fieldAlignment = this.getAlignment(); + var alignment = fieldAlignment === TextAlignment.Center ? ImageAlignment.Center : fieldAlignment === TextAlignment.Right ? ImageAlignment.Right : ImageAlignment.Left; + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var streamRef = this.createImageAppearanceStream(widget, image, alignment); + this.updateWidgetAppearances(widget, { normal: streamRef }); + } + this.markAsClean(); + }; + PDFTextField2.prototype.setFontSize = function(fontSize) { + assertPositive(fontSize, "fontSize"); + this.acroField.setFontSize(fontSize); + this.markAsDirty(); + }; + PDFTextField2.prototype.isMultiline = function() { + return this.acroField.hasFlag(AcroTextFlags.Multiline); + }; + PDFTextField2.prototype.enableMultiline = function() { + this.markAsDirty(); + this.acroField.setFlagTo(AcroTextFlags.Multiline, true); + }; + PDFTextField2.prototype.disableMultiline = function() { + this.markAsDirty(); + this.acroField.setFlagTo(AcroTextFlags.Multiline, false); + }; + PDFTextField2.prototype.isPassword = function() { + return this.acroField.hasFlag(AcroTextFlags.Password); + }; + PDFTextField2.prototype.enablePassword = function() { + this.acroField.setFlagTo(AcroTextFlags.Password, true); + }; + PDFTextField2.prototype.disablePassword = function() { + this.acroField.setFlagTo(AcroTextFlags.Password, false); + }; + PDFTextField2.prototype.isFileSelector = function() { + return this.acroField.hasFlag(AcroTextFlags.FileSelect); + }; + PDFTextField2.prototype.enableFileSelection = function() { + this.acroField.setFlagTo(AcroTextFlags.FileSelect, true); + }; + PDFTextField2.prototype.disableFileSelection = function() { + this.acroField.setFlagTo(AcroTextFlags.FileSelect, false); + }; + PDFTextField2.prototype.isSpellChecked = function() { + return !this.acroField.hasFlag(AcroTextFlags.DoNotSpellCheck); + }; + PDFTextField2.prototype.enableSpellChecking = function() { + this.acroField.setFlagTo(AcroTextFlags.DoNotSpellCheck, false); + }; + PDFTextField2.prototype.disableSpellChecking = function() { + this.acroField.setFlagTo(AcroTextFlags.DoNotSpellCheck, true); + }; + PDFTextField2.prototype.isScrollable = function() { + return !this.acroField.hasFlag(AcroTextFlags.DoNotScroll); + }; + PDFTextField2.prototype.enableScrolling = function() { + this.acroField.setFlagTo(AcroTextFlags.DoNotScroll, false); + }; + PDFTextField2.prototype.disableScrolling = function() { + this.acroField.setFlagTo(AcroTextFlags.DoNotScroll, true); + }; + PDFTextField2.prototype.isCombed = function() { + return this.acroField.hasFlag(AcroTextFlags.Comb) && !this.isMultiline() && !this.isPassword() && !this.isFileSelector() && this.getMaxLength() !== void 0; + }; + PDFTextField2.prototype.enableCombing = function() { + if (this.getMaxLength() === void 0) { + var msg = "PDFTextFields must have a max length in order to be combed"; + console.warn(msg); + } + this.markAsDirty(); + this.disableMultiline(); + this.disablePassword(); + this.disableFileSelection(); + this.acroField.setFlagTo(AcroTextFlags.Comb, true); + }; + PDFTextField2.prototype.disableCombing = function() { + this.markAsDirty(); + this.acroField.setFlagTo(AcroTextFlags.Comb, false); + }; + PDFTextField2.prototype.isRichFormatted = function() { + return this.acroField.hasFlag(AcroTextFlags.RichText); + }; + PDFTextField2.prototype.enableRichFormatting = function() { + this.acroField.setFlagTo(AcroTextFlags.RichText, true); + }; + PDFTextField2.prototype.disableRichFormatting = function() { + this.acroField.setFlagTo(AcroTextFlags.RichText, false); + }; + PDFTextField2.prototype.addToPage = function(page, options) { + var _a, _b, _c, _d, _e, _f, _g; + assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); + assertFieldAppearanceOptions(options); + if (!options) + options = {}; + if (!("textColor" in options)) + options.textColor = rgb(0, 0, 0); + if (!("backgroundColor" in options)) + options.backgroundColor = rgb(1, 1, 1); + if (!("borderColor" in options)) + options.borderColor = rgb(0, 0, 0); + if (!("borderWidth" in options)) + options.borderWidth = 1; + var widget = this.createWidget({ + x: (_a = options.x) !== null && _a !== void 0 ? _a : 0, + y: (_b = options.y) !== null && _b !== void 0 ? _b : 0, + width: (_c = options.width) !== null && _c !== void 0 ? _c : 200, + height: (_d = options.height) !== null && _d !== void 0 ? _d : 50, + textColor: options.textColor, + backgroundColor: options.backgroundColor, + borderColor: options.borderColor, + borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0, + rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : degrees(0), + hidden: options.hidden, + page: page.ref + }); + var widgetRef = this.doc.context.register(widget.dict); + this.acroField.addWidget(widgetRef); + var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont(); + this.updateWidgetAppearance(widget, font); + page.node.addAnnot(widgetRef); + }; + PDFTextField2.prototype.needsAppearancesUpdate = function() { + var _a; + if (this.isDirty()) + return true; + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof PDFStream_default; + if (!hasAppearances) + return true; + } + return false; + }; + PDFTextField2.prototype.defaultUpdateAppearances = function(font) { + assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); + this.updateAppearances(font); + }; + PDFTextField2.prototype.updateAppearances = function(font, provider) { + assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); + assertOrUndefined(provider, "provider", [Function]); + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + this.updateWidgetAppearance(widget, font, provider); + } + this.markAsClean(); + }; + PDFTextField2.prototype.updateWidgetAppearance = function(widget, font, provider) { + var apProvider = provider !== null && provider !== void 0 ? provider : defaultTextFieldAppearanceProvider; + var appearances = normalizeAppearance(apProvider(this, widget, font)); + this.updateWidgetAppearanceWithFont(widget, font, appearances); + }; + PDFTextField2.of = function(acroText, ref, doc) { + return new PDFTextField2(acroText, ref, doc); + }; + return PDFTextField2; + })(PDFField_default) +); +var PDFTextField_default = PDFTextField; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/StandardFonts.js +var StandardFonts; +(function(StandardFonts2) { + StandardFonts2["Courier"] = "Courier"; + StandardFonts2["CourierBold"] = "Courier-Bold"; + StandardFonts2["CourierOblique"] = "Courier-Oblique"; + StandardFonts2["CourierBoldOblique"] = "Courier-BoldOblique"; + StandardFonts2["Helvetica"] = "Helvetica"; + StandardFonts2["HelveticaBold"] = "Helvetica-Bold"; + StandardFonts2["HelveticaOblique"] = "Helvetica-Oblique"; + StandardFonts2["HelveticaBoldOblique"] = "Helvetica-BoldOblique"; + StandardFonts2["TimesRoman"] = "Times-Roman"; + StandardFonts2["TimesRomanBold"] = "Times-Bold"; + StandardFonts2["TimesRomanItalic"] = "Times-Italic"; + StandardFonts2["TimesRomanBoldItalic"] = "Times-BoldItalic"; + StandardFonts2["Symbol"] = "Symbol"; + StandardFonts2["ZapfDingbats"] = "ZapfDingbats"; +})(StandardFonts || (StandardFonts = {})); + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/form/PDFForm.js +var PDFForm = ( + /** @class */ + (function() { + function PDFForm2(acroForm, doc) { + var _this = this; + this.embedDefaultFont = function() { + return _this.doc.embedStandardFont(StandardFonts.Helvetica); + }; + assertIs(acroForm, "acroForm", [[PDFAcroForm_default, "PDFAcroForm"]]); + assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); + this.acroForm = acroForm; + this.doc = doc; + this.dirtyFields = /* @__PURE__ */ new Set(); + this.defaultFontCache = Cache_default.populatedBy(this.embedDefaultFont); + } + PDFForm2.prototype.hasXFA = function() { + return this.acroForm.dict.has(PDFName_default.of("XFA")); + }; + PDFForm2.prototype.deleteXFA = function() { + this.acroForm.dict.delete(PDFName_default.of("XFA")); + }; + PDFForm2.prototype.getFields = function() { + var allFields = this.acroForm.getAllFields(); + var fields = []; + for (var idx = 0, len = allFields.length; idx < len; idx++) { + var _a = allFields[idx], acroField = _a[0], ref = _a[1]; + var field = convertToPDFField(acroField, ref, this.doc); + if (field) + fields.push(field); + } + return fields; + }; + PDFForm2.prototype.getFieldMaybe = function(name) { + assertIs(name, "name", ["string"]); + var fields = this.getFields(); + for (var idx = 0, len = fields.length; idx < len; idx++) { + var field = fields[idx]; + if (field.getName() === name) + return field; + } + return void 0; + }; + PDFForm2.prototype.getField = function(name) { + assertIs(name, "name", ["string"]); + var field = this.getFieldMaybe(name); + if (field) + return field; + throw new NoSuchFieldError(name); + }; + PDFForm2.prototype.getButton = function(name) { + assertIs(name, "name", ["string"]); + var field = this.getField(name); + if (field instanceof PDFButton_default) + return field; + throw new UnexpectedFieldTypeError(name, PDFButton_default, field); + }; + PDFForm2.prototype.getCheckBox = function(name) { + assertIs(name, "name", ["string"]); + var field = this.getField(name); + if (field instanceof PDFCheckBox_default) + return field; + throw new UnexpectedFieldTypeError(name, PDFCheckBox_default, field); + }; + PDFForm2.prototype.getDropdown = function(name) { + assertIs(name, "name", ["string"]); + var field = this.getField(name); + if (field instanceof PDFDropdown_default) + return field; + throw new UnexpectedFieldTypeError(name, PDFDropdown_default, field); + }; + PDFForm2.prototype.getOptionList = function(name) { + assertIs(name, "name", ["string"]); + var field = this.getField(name); + if (field instanceof PDFOptionList_default) + return field; + throw new UnexpectedFieldTypeError(name, PDFOptionList_default, field); + }; + PDFForm2.prototype.getRadioGroup = function(name) { + assertIs(name, "name", ["string"]); + var field = this.getField(name); + if (field instanceof PDFRadioGroup_default) + return field; + throw new UnexpectedFieldTypeError(name, PDFRadioGroup_default, field); + }; + PDFForm2.prototype.getSignature = function(name) { + assertIs(name, "name", ["string"]); + var field = this.getField(name); + if (field instanceof PDFSignature_default) + return field; + throw new UnexpectedFieldTypeError(name, PDFSignature_default, field); + }; + PDFForm2.prototype.getTextField = function(name) { + assertIs(name, "name", ["string"]); + var field = this.getField(name); + if (field instanceof PDFTextField_default) + return field; + throw new UnexpectedFieldTypeError(name, PDFTextField_default, field); + }; + PDFForm2.prototype.createButton = function(name) { + assertIs(name, "name", ["string"]); + var nameParts = splitFieldName(name); + var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); + var button = PDFAcroPushButton_default.create(this.doc.context); + button.setPartialName(nameParts.terminal); + addFieldToParent(parent, [button, button.ref], nameParts.terminal); + return PDFButton_default.of(button, button.ref, this.doc); + }; + PDFForm2.prototype.createCheckBox = function(name) { + assertIs(name, "name", ["string"]); + var nameParts = splitFieldName(name); + var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); + var checkBox = PDFAcroCheckBox_default.create(this.doc.context); + checkBox.setPartialName(nameParts.terminal); + addFieldToParent(parent, [checkBox, checkBox.ref], nameParts.terminal); + return PDFCheckBox_default.of(checkBox, checkBox.ref, this.doc); + }; + PDFForm2.prototype.createDropdown = function(name) { + assertIs(name, "name", ["string"]); + var nameParts = splitFieldName(name); + var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); + var comboBox = PDFAcroComboBox_default.create(this.doc.context); + comboBox.setPartialName(nameParts.terminal); + addFieldToParent(parent, [comboBox, comboBox.ref], nameParts.terminal); + return PDFDropdown_default.of(comboBox, comboBox.ref, this.doc); + }; + PDFForm2.prototype.createOptionList = function(name) { + assertIs(name, "name", ["string"]); + var nameParts = splitFieldName(name); + var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); + var listBox = PDFAcroListBox_default.create(this.doc.context); + listBox.setPartialName(nameParts.terminal); + addFieldToParent(parent, [listBox, listBox.ref], nameParts.terminal); + return PDFOptionList_default.of(listBox, listBox.ref, this.doc); + }; + PDFForm2.prototype.createRadioGroup = function(name) { + assertIs(name, "name", ["string"]); + var nameParts = splitFieldName(name); + var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); + var radioButton = PDFAcroRadioButton_default.create(this.doc.context); + radioButton.setPartialName(nameParts.terminal); + addFieldToParent(parent, [radioButton, radioButton.ref], nameParts.terminal); + return PDFRadioGroup_default.of(radioButton, radioButton.ref, this.doc); + }; + PDFForm2.prototype.createTextField = function(name) { + assertIs(name, "name", ["string"]); + var nameParts = splitFieldName(name); + var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); + var text2 = PDFAcroText_default.create(this.doc.context); + text2.setPartialName(nameParts.terminal); + addFieldToParent(parent, [text2, text2.ref], nameParts.terminal); + return PDFTextField_default.of(text2, text2.ref, this.doc); + }; + PDFForm2.prototype.flatten = function(options) { + if (options === void 0) { + options = { updateFieldAppearances: true }; + } + if (options.updateFieldAppearances) { + this.updateFieldAppearances(); + } + var fields = this.getFields(); + for (var i = 0, lenFields = fields.length; i < lenFields; i++) { + var field = fields[i]; + var widgets = field.acroField.getWidgets(); + for (var j = 0, lenWidgets = widgets.length; j < lenWidgets; j++) { + var widget = widgets[j]; + var page = this.findWidgetPage(widget); + var widgetRef = this.findWidgetAppearanceRef(field, widget); + var xObjectKey = page.node.newXObject("FlatWidget", widgetRef); + var rectangle = widget.getRectangle(); + var operators = __spreadArrays([ + pushGraphicsState(), + translate2(rectangle.x, rectangle.y) + ], rotateInPlace(__assign(__assign({}, rectangle), { rotation: 0 })), [ + drawObject(xObjectKey), + popGraphicsState() + ]).filter(Boolean); + page.pushOperators.apply(page, operators); + } + this.removeField(field); + } + }; + PDFForm2.prototype.removeField = function(field) { + var widgets = field.acroField.getWidgets(); + var pages = /* @__PURE__ */ new Set(); + for (var i = 0, len = widgets.length; i < len; i++) { + var widget = widgets[i]; + var widgetRef = this.findWidgetAppearanceRef(field, widget); + var page = this.findWidgetPage(widget); + pages.add(page); + page.node.removeAnnot(widgetRef); + } + pages.forEach(function(page2) { + return page2.node.removeAnnot(field.ref); + }); + this.acroForm.removeField(field.acroField); + var fieldKids = field.acroField.normalizedEntries().Kids; + var kidsCount = fieldKids.size(); + for (var childIndex = 0; childIndex < kidsCount; childIndex++) { + var child = fieldKids.get(childIndex); + if (child instanceof PDFRef_default) { + this.doc.context.delete(child); + } + } + this.doc.context.delete(field.ref); + }; + PDFForm2.prototype.updateFieldAppearances = function(font) { + assertOrUndefined(font, "font", [[PDFFont_default, "PDFFont"]]); + font = font !== null && font !== void 0 ? font : this.getDefaultFont(); + var fields = this.getFields(); + for (var idx = 0, len = fields.length; idx < len; idx++) { + var field = fields[idx]; + if (field.needsAppearancesUpdate()) { + field.defaultUpdateAppearances(font); + } + } + }; + PDFForm2.prototype.markFieldAsDirty = function(fieldRef) { + assertOrUndefined(fieldRef, "fieldRef", [[PDFRef_default, "PDFRef"]]); + this.dirtyFields.add(fieldRef); + }; + PDFForm2.prototype.markFieldAsClean = function(fieldRef) { + assertOrUndefined(fieldRef, "fieldRef", [[PDFRef_default, "PDFRef"]]); + this.dirtyFields.delete(fieldRef); + }; + PDFForm2.prototype.fieldIsDirty = function(fieldRef) { + assertOrUndefined(fieldRef, "fieldRef", [[PDFRef_default, "PDFRef"]]); + return this.dirtyFields.has(fieldRef); + }; + PDFForm2.prototype.getDefaultFont = function() { + return this.defaultFontCache.access(); + }; + PDFForm2.prototype.findWidgetPage = function(widget) { + var pageRef = widget.P(); + var page = this.doc.getPages().find(function(x) { + return x.ref === pageRef; + }); + if (page === void 0) { + var widgetRef = this.doc.context.getObjectRef(widget.dict); + if (widgetRef === void 0) { + throw new Error("Could not find PDFRef for PDFObject"); + } + page = this.doc.findPageForAnnotationRef(widgetRef); + if (page === void 0) { + throw new Error("Could not find page for PDFRef " + widgetRef); + } + } + return page; + }; + PDFForm2.prototype.findWidgetAppearanceRef = function(field, widget) { + var _a; + var refOrDict = widget.getNormalAppearance(); + if (refOrDict instanceof PDFDict_default && (field instanceof PDFCheckBox_default || field instanceof PDFRadioGroup_default)) { + var value2 = field.acroField.getValue(); + var ref = (_a = refOrDict.get(value2)) !== null && _a !== void 0 ? _a : refOrDict.get(PDFName_default.of("Off")); + if (ref instanceof PDFRef_default) { + refOrDict = ref; + } + } + if (!(refOrDict instanceof PDFRef_default)) { + var name_1 = field.getName(); + throw new Error("Failed to extract appearance ref for: " + name_1); + } + return refOrDict; + }; + PDFForm2.prototype.findOrCreateNonTerminals = function(partialNames) { + var nonTerminal = [ + this.acroForm + ]; + for (var idx = 0, len = partialNames.length; idx < len; idx++) { + var namePart = partialNames[idx]; + if (!namePart) + throw new InvalidFieldNamePartError(namePart); + var parent_1 = nonTerminal[0], parentRef = nonTerminal[1]; + var res = this.findNonTerminal(namePart, parent_1); + if (res) { + nonTerminal = res; + } else { + var node = PDFAcroNonTerminal_default.create(this.doc.context); + node.setPartialName(namePart); + node.setParent(parentRef); + var nodeRef = this.doc.context.register(node.dict); + parent_1.addField(nodeRef); + nonTerminal = [node, nodeRef]; + } + } + return nonTerminal; + }; + PDFForm2.prototype.findNonTerminal = function(partialName, parent) { + var fields = parent instanceof PDFAcroForm_default ? this.acroForm.getFields() : createPDFAcroFields(parent.Kids()); + for (var idx = 0, len = fields.length; idx < len; idx++) { + var _a = fields[idx], field = _a[0], ref = _a[1]; + if (field.getPartialName() === partialName) { + if (field instanceof PDFAcroNonTerminal_default) + return [field, ref]; + throw new FieldAlreadyExistsError(partialName); + } + } + return void 0; + }; + PDFForm2.of = function(acroForm, doc) { + return new PDFForm2(acroForm, doc); + }; + return PDFForm2; + })() +); +var PDFForm_default = PDFForm; +var convertToPDFField = function(field, ref, doc) { + if (field instanceof PDFAcroPushButton_default) + return PDFButton_default.of(field, ref, doc); + if (field instanceof PDFAcroCheckBox_default) + return PDFCheckBox_default.of(field, ref, doc); + if (field instanceof PDFAcroComboBox_default) + return PDFDropdown_default.of(field, ref, doc); + if (field instanceof PDFAcroListBox_default) + return PDFOptionList_default.of(field, ref, doc); + if (field instanceof PDFAcroText_default) + return PDFTextField_default.of(field, ref, doc); + if (field instanceof PDFAcroRadioButton_default) { + return PDFRadioGroup_default.of(field, ref, doc); + } + if (field instanceof PDFAcroSignature_default) { + return PDFSignature_default.of(field, ref, doc); + } + return void 0; +}; +var splitFieldName = function(fullyQualifiedName) { + if (fullyQualifiedName.length === 0) { + throw new Error("PDF field names must not be empty strings"); + } + var parts = fullyQualifiedName.split("."); + for (var idx = 0, len = parts.length; idx < len; idx++) { + if (parts[idx] === "") { + throw new Error('Periods in PDF field names must be separated by at least one character: "' + fullyQualifiedName + '"'); + } + } + if (parts.length === 1) + return { nonTerminal: [], terminal: parts[0] }; + return { + nonTerminal: parts.slice(0, parts.length - 1), + terminal: parts[parts.length - 1] + }; +}; +var addFieldToParent = function(_a, _b, partialName) { + var parent = _a[0], parentRef = _a[1]; + var field = _b[0], fieldRef = _b[1]; + var entries = parent.normalizedEntries(); + var fields = createPDFAcroFields("Kids" in entries ? entries.Kids : entries.Fields); + for (var idx = 0, len = fields.length; idx < len; idx++) { + if (fields[idx][0].getPartialName() === partialName) { + throw new FieldAlreadyExistsError(partialName); + } + } + parent.addField(fieldRef); + field.setParent(parentRef); +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/sizes.js +var PageSizes = { + "4A0": [4767.87, 6740.79], + "2A0": [3370.39, 4767.87], + 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], + RA0: [2437.8, 3458.27], + RA1: [1729.13, 2437.8], + RA2: [1218.9, 1729.13], + RA3: [864.57, 1218.9], + RA4: [609.45, 864.57], + SRA0: [2551.18, 3628.35], + SRA1: [1814.17, 2551.18], + SRA2: [1275.59, 1814.17], + SRA3: [907.09, 1275.59], + SRA4: [637.8, 907.09], + Executive: [521.86, 756], + Folio: [612, 936], + Legal: [612, 1008], + Letter: [612, 792], + Tabloid: [792, 1224] +}; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/PDFDocumentOptions.js +var ParseSpeeds; +(function(ParseSpeeds2) { + ParseSpeeds2[ParseSpeeds2["Fastest"] = Infinity] = "Fastest"; + ParseSpeeds2[ParseSpeeds2["Fast"] = 1500] = "Fast"; + ParseSpeeds2[ParseSpeeds2["Medium"] = 500] = "Medium"; + ParseSpeeds2[ParseSpeeds2["Slow"] = 100] = "Slow"; +})(ParseSpeeds || (ParseSpeeds = {})); + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/PDFEmbeddedFile.js +var PDFEmbeddedFile = ( + /** @class */ + (function() { + function PDFEmbeddedFile2(ref, doc, embedder) { + this.alreadyEmbedded = false; + this.ref = ref; + this.doc = doc; + this.embedder = embedder; + } + PDFEmbeddedFile2.prototype.embed = function() { + return __awaiter(this, void 0, void 0, function() { + var ref, Names, EmbeddedFiles, EFNames, AF; + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + if (!!this.alreadyEmbedded) return [3, 2]; + return [4, this.embedder.embedIntoContext(this.doc.context, this.ref)]; + case 1: + ref = _a.sent(); + if (!this.doc.catalog.has(PDFName_default.of("Names"))) { + this.doc.catalog.set(PDFName_default.of("Names"), this.doc.context.obj({})); + } + Names = this.doc.catalog.lookup(PDFName_default.of("Names"), PDFDict_default); + if (!Names.has(PDFName_default.of("EmbeddedFiles"))) { + Names.set(PDFName_default.of("EmbeddedFiles"), this.doc.context.obj({})); + } + EmbeddedFiles = Names.lookup(PDFName_default.of("EmbeddedFiles"), PDFDict_default); + if (!EmbeddedFiles.has(PDFName_default.of("Names"))) { + EmbeddedFiles.set(PDFName_default.of("Names"), this.doc.context.obj([])); + } + EFNames = EmbeddedFiles.lookup(PDFName_default.of("Names"), PDFArray_default); + EFNames.push(PDFHexString_default.fromText(this.embedder.fileName)); + EFNames.push(ref); + if (!this.doc.catalog.has(PDFName_default.of("AF"))) { + this.doc.catalog.set(PDFName_default.of("AF"), this.doc.context.obj([])); + } + AF = this.doc.catalog.lookup(PDFName_default.of("AF"), PDFArray_default); + AF.push(ref); + this.alreadyEmbedded = true; + _a.label = 2; + case 2: + return [ + 2 + /*return*/ + ]; + } + }); + }); + }; + PDFEmbeddedFile2.of = function(ref, doc, embedder) { + return new PDFEmbeddedFile2(ref, doc, embedder); + }; + return PDFEmbeddedFile2; + })() +); +var PDFEmbeddedFile_default = PDFEmbeddedFile; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/PDFJavaScript.js +var PDFJavaScript = ( + /** @class */ + (function() { + function PDFJavaScript2(ref, doc, embedder) { + this.alreadyEmbedded = false; + this.ref = ref; + this.doc = doc; + this.embedder = embedder; + } + PDFJavaScript2.prototype.embed = function() { + return __awaiter(this, void 0, void 0, function() { + var _a, catalog, context, ref, Names, Javascript, JSNames; + return __generator(this, function(_b) { + switch (_b.label) { + case 0: + if (!!this.alreadyEmbedded) return [3, 2]; + _a = this.doc, catalog = _a.catalog, context = _a.context; + return [4, this.embedder.embedIntoContext(this.doc.context, this.ref)]; + case 1: + ref = _b.sent(); + if (!catalog.has(PDFName_default.of("Names"))) { + catalog.set(PDFName_default.of("Names"), context.obj({})); + } + Names = catalog.lookup(PDFName_default.of("Names"), PDFDict_default); + if (!Names.has(PDFName_default.of("JavaScript"))) { + Names.set(PDFName_default.of("JavaScript"), context.obj({})); + } + Javascript = Names.lookup(PDFName_default.of("JavaScript"), PDFDict_default); + if (!Javascript.has(PDFName_default.of("Names"))) { + Javascript.set(PDFName_default.of("Names"), context.obj([])); + } + JSNames = Javascript.lookup(PDFName_default.of("Names"), PDFArray_default); + JSNames.push(PDFHexString_default.fromText(this.embedder.scriptName)); + JSNames.push(ref); + this.alreadyEmbedded = true; + _b.label = 2; + case 2: + return [ + 2 + /*return*/ + ]; + } + }); + }); + }; + PDFJavaScript2.of = function(ref, doc, embedder) { + return new PDFJavaScript2(ref, doc, embedder); + }; + return PDFJavaScript2; + })() +); +var PDFJavaScript_default = PDFJavaScript; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/core/embedders/JavaScriptEmbedder.js +var JavaScriptEmbedder = ( + /** @class */ + (function() { + function JavaScriptEmbedder2(script, scriptName) { + this.script = script; + this.scriptName = scriptName; + } + JavaScriptEmbedder2.for = function(script, scriptName) { + return new JavaScriptEmbedder2(script, scriptName); + }; + JavaScriptEmbedder2.prototype.embedIntoContext = function(context, ref) { + return __awaiter(this, void 0, void 0, function() { + var jsActionDict; + return __generator(this, function(_a) { + jsActionDict = context.obj({ + Type: "Action", + S: "JavaScript", + JS: PDFHexString_default.fromText(this.script) + }); + if (ref) { + context.assign(ref, jsActionDict); + return [2, ref]; + } else { + return [2, context.register(jsActionDict)]; + } + return [ + 2 + /*return*/ + ]; + }); + }); + }; + return JavaScriptEmbedder2; + })() +); +var JavaScriptEmbedder_default = JavaScriptEmbedder; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/PDFDocument.js +var PDFDocument = ( + /** @class */ + (function() { + function PDFDocument2(context, ignoreEncryption, updateMetadata) { + var _this = this; + this.defaultWordBreaks = [" "]; + this.computePages = function() { + var pages = []; + _this.catalog.Pages().traverse(function(node, ref) { + if (node instanceof PDFPageLeaf_default) { + var page = _this.pageMap.get(node); + if (!page) { + page = PDFPage_default.of(node, ref, _this); + _this.pageMap.set(node, page); + } + pages.push(page); + } + }); + return pages; + }; + this.getOrCreateForm = function() { + var acroForm = _this.catalog.getOrCreateAcroForm(); + return PDFForm_default.of(acroForm, _this); + }; + assertIs(context, "context", [[PDFContext_default, "PDFContext"]]); + assertIs(ignoreEncryption, "ignoreEncryption", ["boolean"]); + this.context = context; + this.catalog = context.lookup(context.trailerInfo.Root); + this.isEncrypted = !!context.lookup(context.trailerInfo.Encrypt); + this.pageCache = Cache_default.populatedBy(this.computePages); + this.pageMap = /* @__PURE__ */ new Map(); + this.formCache = Cache_default.populatedBy(this.getOrCreateForm); + this.fonts = []; + this.images = []; + this.embeddedPages = []; + this.embeddedFiles = []; + this.javaScripts = []; + if (!ignoreEncryption && this.isEncrypted) + throw new EncryptedPDFError(); + if (updateMetadata) + this.updateInfoDict(); + } + PDFDocument2.load = function(pdf, options) { + if (options === void 0) { + options = {}; + } + return __awaiter(this, void 0, void 0, function() { + var _a, ignoreEncryption, _b, parseSpeed, _c, throwOnInvalidObject, _d, updateMetadata, _e, capNumbers, bytes, context; + return __generator(this, function(_f) { + switch (_f.label) { + case 0: + _a = options.ignoreEncryption, ignoreEncryption = _a === void 0 ? false : _a, _b = options.parseSpeed, parseSpeed = _b === void 0 ? ParseSpeeds.Slow : _b, _c = options.throwOnInvalidObject, throwOnInvalidObject = _c === void 0 ? false : _c, _d = options.updateMetadata, updateMetadata = _d === void 0 ? true : _d, _e = options.capNumbers, capNumbers = _e === void 0 ? false : _e; + assertIs(pdf, "pdf", ["string", Uint8Array, ArrayBuffer]); + assertIs(ignoreEncryption, "ignoreEncryption", ["boolean"]); + assertIs(parseSpeed, "parseSpeed", ["number"]); + assertIs(throwOnInvalidObject, "throwOnInvalidObject", ["boolean"]); + bytes = toUint8Array(pdf); + return [4, PDFParser_default.forBytesWithOptions(bytes, parseSpeed, throwOnInvalidObject, capNumbers).parseDocument()]; + case 1: + context = _f.sent(); + return [2, new PDFDocument2(context, ignoreEncryption, updateMetadata)]; + } + }); + }); + }; + PDFDocument2.create = function(options) { + if (options === void 0) { + options = {}; + } + return __awaiter(this, void 0, void 0, function() { + var _a, updateMetadata, context, pageTree, pageTreeRef, catalog; + return __generator(this, function(_b) { + _a = options.updateMetadata, updateMetadata = _a === void 0 ? true : _a; + context = PDFContext_default.create(); + pageTree = PDFPageTree_default.withContext(context); + pageTreeRef = context.register(pageTree); + catalog = PDFCatalog_default.withContextAndPages(context, pageTreeRef); + context.trailerInfo.Root = context.register(catalog); + return [2, new PDFDocument2(context, false, updateMetadata)]; + }); + }); + }; + PDFDocument2.prototype.registerFontkit = function(fontkit) { + this.fontkit = fontkit; + }; + PDFDocument2.prototype.getForm = function() { + var form = this.formCache.access(); + if (form.hasXFA()) { + console.warn("Removing XFA form data as pdf-lib does not support reading or writing XFA"); + form.deleteXFA(); + } + return form; + }; + PDFDocument2.prototype.getTitle = function() { + var title = this.getInfoDict().lookup(PDFName_default.Title); + if (!title) + return void 0; + assertIsLiteralOrHexString(title); + return title.decodeText(); + }; + PDFDocument2.prototype.getAuthor = function() { + var author = this.getInfoDict().lookup(PDFName_default.Author); + if (!author) + return void 0; + assertIsLiteralOrHexString(author); + return author.decodeText(); + }; + PDFDocument2.prototype.getSubject = function() { + var subject = this.getInfoDict().lookup(PDFName_default.Subject); + if (!subject) + return void 0; + assertIsLiteralOrHexString(subject); + return subject.decodeText(); + }; + PDFDocument2.prototype.getKeywords = function() { + var keywords = this.getInfoDict().lookup(PDFName_default.Keywords); + if (!keywords) + return void 0; + assertIsLiteralOrHexString(keywords); + return keywords.decodeText(); + }; + PDFDocument2.prototype.getCreator = function() { + var creator = this.getInfoDict().lookup(PDFName_default.Creator); + if (!creator) + return void 0; + assertIsLiteralOrHexString(creator); + return creator.decodeText(); + }; + PDFDocument2.prototype.getProducer = function() { + var producer = this.getInfoDict().lookup(PDFName_default.Producer); + if (!producer) + return void 0; + assertIsLiteralOrHexString(producer); + return producer.decodeText(); + }; + PDFDocument2.prototype.getCreationDate = function() { + var creationDate = this.getInfoDict().lookup(PDFName_default.CreationDate); + if (!creationDate) + return void 0; + assertIsLiteralOrHexString(creationDate); + return creationDate.decodeDate(); + }; + PDFDocument2.prototype.getModificationDate = function() { + var modificationDate = this.getInfoDict().lookup(PDFName_default.ModDate); + if (!modificationDate) + return void 0; + assertIsLiteralOrHexString(modificationDate); + return modificationDate.decodeDate(); + }; + PDFDocument2.prototype.setTitle = function(title, options) { + assertIs(title, "title", ["string"]); + var key = PDFName_default.of("Title"); + this.getInfoDict().set(key, PDFHexString_default.fromText(title)); + if (options === null || options === void 0 ? void 0 : options.showInWindowTitleBar) { + var prefs = this.catalog.getOrCreateViewerPreferences(); + prefs.setDisplayDocTitle(true); + } + }; + PDFDocument2.prototype.setAuthor = function(author) { + assertIs(author, "author", ["string"]); + var key = PDFName_default.of("Author"); + this.getInfoDict().set(key, PDFHexString_default.fromText(author)); + }; + PDFDocument2.prototype.setSubject = function(subject) { + assertIs(subject, "author", ["string"]); + var key = PDFName_default.of("Subject"); + this.getInfoDict().set(key, PDFHexString_default.fromText(subject)); + }; + PDFDocument2.prototype.setKeywords = function(keywords) { + assertIs(keywords, "keywords", [Array]); + var key = PDFName_default.of("Keywords"); + this.getInfoDict().set(key, PDFHexString_default.fromText(keywords.join(" "))); + }; + PDFDocument2.prototype.setCreator = function(creator) { + assertIs(creator, "creator", ["string"]); + var key = PDFName_default.of("Creator"); + this.getInfoDict().set(key, PDFHexString_default.fromText(creator)); + }; + PDFDocument2.prototype.setProducer = function(producer) { + assertIs(producer, "creator", ["string"]); + var key = PDFName_default.of("Producer"); + this.getInfoDict().set(key, PDFHexString_default.fromText(producer)); + }; + PDFDocument2.prototype.setLanguage = function(language) { + assertIs(language, "language", ["string"]); + var key = PDFName_default.of("Lang"); + this.catalog.set(key, PDFString_default.of(language)); + }; + PDFDocument2.prototype.setCreationDate = function(creationDate) { + assertIs(creationDate, "creationDate", [[Date, "Date"]]); + var key = PDFName_default.of("CreationDate"); + this.getInfoDict().set(key, PDFString_default.fromDate(creationDate)); + }; + PDFDocument2.prototype.setModificationDate = function(modificationDate) { + assertIs(modificationDate, "modificationDate", [[Date, "Date"]]); + var key = PDFName_default.of("ModDate"); + this.getInfoDict().set(key, PDFString_default.fromDate(modificationDate)); + }; + PDFDocument2.prototype.getPageCount = function() { + if (this.pageCount === void 0) + this.pageCount = this.getPages().length; + return this.pageCount; + }; + PDFDocument2.prototype.getPages = function() { + return this.pageCache.access(); + }; + PDFDocument2.prototype.getPage = function(index) { + var pages = this.getPages(); + assertRange(index, "index", 0, pages.length - 1); + return pages[index]; + }; + PDFDocument2.prototype.getPageIndices = function() { + return range(0, this.getPageCount()); + }; + PDFDocument2.prototype.removePage = function(index) { + var pageCount = this.getPageCount(); + if (this.pageCount === 0) + throw new RemovePageFromEmptyDocumentError(); + assertRange(index, "index", 0, pageCount - 1); + this.catalog.removeLeafNode(index); + this.pageCount = pageCount - 1; + }; + PDFDocument2.prototype.addPage = function(page) { + assertIs(page, "page", ["undefined", [PDFPage_default, "PDFPage"], Array]); + return this.insertPage(this.getPageCount(), page); + }; + PDFDocument2.prototype.insertPage = function(index, page) { + var pageCount = this.getPageCount(); + assertRange(index, "index", 0, pageCount); + assertIs(page, "page", ["undefined", [PDFPage_default, "PDFPage"], Array]); + if (!page || Array.isArray(page)) { + var dims = Array.isArray(page) ? page : PageSizes.A4; + page = PDFPage_default.create(this); + page.setSize.apply(page, dims); + } else if (page.doc !== this) { + throw new ForeignPageError(); + } + var parentRef = this.catalog.insertLeafNode(page.ref, index); + page.node.setParent(parentRef); + this.pageMap.set(page.node, page); + this.pageCache.invalidate(); + this.pageCount = pageCount + 1; + return page; + }; + PDFDocument2.prototype.copyPages = function(srcDoc, indices) { + return __awaiter(this, void 0, void 0, function() { + var copier, srcPages, copiedPages, idx, len, srcPage, copiedPage, ref; + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + assertIs(srcDoc, "srcDoc", [[PDFDocument2, "PDFDocument"]]); + assertIs(indices, "indices", [Array]); + return [4, srcDoc.flush()]; + case 1: + _a.sent(); + copier = PDFObjectCopier_default.for(srcDoc.context, this.context); + srcPages = srcDoc.getPages(); + copiedPages = new Array(indices.length); + for (idx = 0, len = indices.length; idx < len; idx++) { + srcPage = srcPages[indices[idx]]; + copiedPage = copier.copy(srcPage.node); + ref = this.context.register(copiedPage); + copiedPages[idx] = PDFPage_default.of(copiedPage, ref, this); + } + return [2, copiedPages]; + } + }); + }); + }; + PDFDocument2.prototype.copy = function() { + return __awaiter(this, void 0, void 0, function() { + var pdfCopy, contentPages, idx, len; + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + return [4, PDFDocument2.create()]; + case 1: + pdfCopy = _a.sent(); + return [4, pdfCopy.copyPages(this, this.getPageIndices())]; + case 2: + contentPages = _a.sent(); + for (idx = 0, len = contentPages.length; idx < len; idx++) { + pdfCopy.addPage(contentPages[idx]); + } + if (this.getAuthor() !== void 0) { + pdfCopy.setAuthor(this.getAuthor()); + } + if (this.getCreationDate() !== void 0) { + pdfCopy.setCreationDate(this.getCreationDate()); + } + if (this.getCreator() !== void 0) { + pdfCopy.setCreator(this.getCreator()); + } + if (this.getModificationDate() !== void 0) { + pdfCopy.setModificationDate(this.getModificationDate()); + } + if (this.getProducer() !== void 0) { + pdfCopy.setProducer(this.getProducer()); + } + if (this.getSubject() !== void 0) { + pdfCopy.setSubject(this.getSubject()); + } + if (this.getTitle() !== void 0) { + pdfCopy.setTitle(this.getTitle()); + } + pdfCopy.defaultWordBreaks = this.defaultWordBreaks; + return [2, pdfCopy]; + } + }); + }); + }; + PDFDocument2.prototype.addJavaScript = function(name, script) { + assertIs(name, "name", ["string"]); + assertIs(script, "script", ["string"]); + var embedder = JavaScriptEmbedder_default.for(script, name); + var ref = this.context.nextRef(); + var javaScript = PDFJavaScript_default.of(ref, this, embedder); + this.javaScripts.push(javaScript); + }; + PDFDocument2.prototype.attach = function(attachment, name, options) { + if (options === void 0) { + options = {}; + } + return __awaiter(this, void 0, void 0, function() { + var bytes, embedder, ref, embeddedFile; + return __generator(this, function(_a) { + assertIs(attachment, "attachment", ["string", Uint8Array, ArrayBuffer]); + assertIs(name, "name", ["string"]); + assertOrUndefined(options.mimeType, "mimeType", ["string"]); + assertOrUndefined(options.description, "description", ["string"]); + assertOrUndefined(options.creationDate, "options.creationDate", [Date]); + assertOrUndefined(options.modificationDate, "options.modificationDate", [ + Date + ]); + assertIsOneOfOrUndefined(options.afRelationship, "options.afRelationship", AFRelationship); + bytes = toUint8Array(attachment); + embedder = FileEmbedder_default.for(bytes, name, options); + ref = this.context.nextRef(); + embeddedFile = PDFEmbeddedFile_default.of(ref, this, embedder); + this.embeddedFiles.push(embeddedFile); + return [ + 2 + /*return*/ + ]; + }); + }); + }; + PDFDocument2.prototype.embedFont = function(font, options) { + if (options === void 0) { + options = {}; + } + return __awaiter(this, void 0, void 0, function() { + var _a, subset, customName, features, embedder, bytes, fontkit, _b, ref, pdfFont; + return __generator(this, function(_c) { + switch (_c.label) { + case 0: + _a = options.subset, subset = _a === void 0 ? false : _a, customName = options.customName, features = options.features; + assertIs(font, "font", ["string", Uint8Array, ArrayBuffer]); + assertIs(subset, "subset", ["boolean"]); + if (!isStandardFont(font)) return [3, 1]; + embedder = StandardFontEmbedder_default.for(font, customName); + return [3, 7]; + case 1: + if (!canBeConvertedToUint8Array(font)) return [3, 6]; + bytes = toUint8Array(font); + fontkit = this.assertFontkit(); + if (!subset) return [3, 3]; + return [4, CustomFontSubsetEmbedder_default.for(fontkit, bytes, customName, features)]; + case 2: + _b = _c.sent(); + return [3, 5]; + case 3: + return [4, CustomFontEmbedder_default.for(fontkit, bytes, customName, features)]; + case 4: + _b = _c.sent(); + _c.label = 5; + case 5: + embedder = _b; + return [3, 7]; + case 6: + throw new TypeError("`font` must be one of `StandardFonts | string | Uint8Array | ArrayBuffer`"); + case 7: + ref = this.context.nextRef(); + pdfFont = PDFFont_default.of(ref, this, embedder); + this.fonts.push(pdfFont); + return [2, pdfFont]; + } + }); + }); + }; + PDFDocument2.prototype.embedStandardFont = function(font, customName) { + assertIs(font, "font", ["string"]); + if (!isStandardFont(font)) { + throw new TypeError("`font` must be one of type `StandardFonts`"); + } + var embedder = StandardFontEmbedder_default.for(font, customName); + var ref = this.context.nextRef(); + var pdfFont = PDFFont_default.of(ref, this, embedder); + this.fonts.push(pdfFont); + return pdfFont; + }; + PDFDocument2.prototype.embedJpg = function(jpg) { + return __awaiter(this, void 0, void 0, function() { + var bytes, embedder, ref, pdfImage; + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + assertIs(jpg, "jpg", ["string", Uint8Array, ArrayBuffer]); + bytes = toUint8Array(jpg); + return [4, JpegEmbedder_default.for(bytes)]; + case 1: + embedder = _a.sent(); + ref = this.context.nextRef(); + pdfImage = PDFImage_default.of(ref, this, embedder); + this.images.push(pdfImage); + return [2, pdfImage]; + } + }); + }); + }; + PDFDocument2.prototype.embedPng = function(png) { + return __awaiter(this, void 0, void 0, function() { + var bytes, embedder, ref, pdfImage; + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + assertIs(png, "png", ["string", Uint8Array, ArrayBuffer]); + bytes = toUint8Array(png); + return [4, PngEmbedder_default.for(bytes)]; + case 1: + embedder = _a.sent(); + ref = this.context.nextRef(); + pdfImage = PDFImage_default.of(ref, this, embedder); + this.images.push(pdfImage); + return [2, pdfImage]; + } + }); + }); + }; + PDFDocument2.prototype.embedPdf = function(pdf, indices) { + if (indices === void 0) { + indices = [0]; + } + return __awaiter(this, void 0, void 0, function() { + var srcDoc, _a, srcPages; + return __generator(this, function(_b) { + switch (_b.label) { + case 0: + assertIs(pdf, "pdf", [ + "string", + Uint8Array, + ArrayBuffer, + [PDFDocument2, "PDFDocument"] + ]); + assertIs(indices, "indices", [Array]); + if (!(pdf instanceof PDFDocument2)) return [3, 1]; + _a = pdf; + return [3, 3]; + case 1: + return [4, PDFDocument2.load(pdf)]; + case 2: + _a = _b.sent(); + _b.label = 3; + case 3: + srcDoc = _a; + srcPages = pluckIndices(srcDoc.getPages(), indices); + return [2, this.embedPages(srcPages)]; + } + }); + }); + }; + PDFDocument2.prototype.embedPage = function(page, boundingBox, transformationMatrix) { + return __awaiter(this, void 0, void 0, function() { + var embeddedPage; + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); + return [4, this.embedPages([page], [boundingBox], [transformationMatrix])]; + case 1: + embeddedPage = _a.sent()[0]; + return [2, embeddedPage]; + } + }); + }); + }; + PDFDocument2.prototype.embedPages = function(pages, boundingBoxes, transformationMatrices) { + if (boundingBoxes === void 0) { + boundingBoxes = []; + } + if (transformationMatrices === void 0) { + transformationMatrices = []; + } + return __awaiter(this, void 0, void 0, function() { + var idx, len, currPage, nextPage, context, maybeCopyPage, embeddedPages, idx, len, page, box, matrix, embedder, ref; + var _a; + return __generator(this, function(_b) { + switch (_b.label) { + case 0: + if (pages.length === 0) + return [2, []]; + for (idx = 0, len = pages.length - 1; idx < len; idx++) { + currPage = pages[idx]; + nextPage = pages[idx + 1]; + if (currPage.node.context !== nextPage.node.context) { + throw new PageEmbeddingMismatchedContextError(); + } + } + context = pages[0].node.context; + maybeCopyPage = context === this.context ? function(p) { + return p; + } : PDFObjectCopier_default.for(context, this.context).copy; + embeddedPages = new Array(pages.length); + idx = 0, len = pages.length; + _b.label = 1; + case 1: + if (!(idx < len)) return [3, 4]; + page = maybeCopyPage(pages[idx].node); + box = boundingBoxes[idx]; + matrix = transformationMatrices[idx]; + return [4, PDFPageEmbedder_default.for(page, box, matrix)]; + case 2: + embedder = _b.sent(); + ref = this.context.nextRef(); + embeddedPages[idx] = PDFEmbeddedPage_default.of(ref, this, embedder); + _b.label = 3; + case 3: + idx++; + return [3, 1]; + case 4: + (_a = this.embeddedPages).push.apply(_a, embeddedPages); + return [2, embeddedPages]; + } + }); + }); + }; + PDFDocument2.prototype.flush = function() { + return __awaiter(this, void 0, void 0, function() { + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + return [4, this.embedAll(this.fonts)]; + case 1: + _a.sent(); + return [4, this.embedAll(this.images)]; + case 2: + _a.sent(); + return [4, this.embedAll(this.embeddedPages)]; + case 3: + _a.sent(); + return [4, this.embedAll(this.embeddedFiles)]; + case 4: + _a.sent(); + return [4, this.embedAll(this.javaScripts)]; + case 5: + _a.sent(); + return [ + 2 + /*return*/ + ]; + } + }); + }); + }; + PDFDocument2.prototype.save = function(options) { + if (options === void 0) { + options = {}; + } + return __awaiter(this, void 0, void 0, function() { + var _a, useObjectStreams, _b, addDefaultPage, _c, objectsPerTick, _d, updateFieldAppearances, form, Writer; + return __generator(this, function(_e) { + switch (_e.label) { + case 0: + _a = options.useObjectStreams, useObjectStreams = _a === void 0 ? true : _a, _b = options.addDefaultPage, addDefaultPage = _b === void 0 ? true : _b, _c = options.objectsPerTick, objectsPerTick = _c === void 0 ? 50 : _c, _d = options.updateFieldAppearances, updateFieldAppearances = _d === void 0 ? true : _d; + assertIs(useObjectStreams, "useObjectStreams", ["boolean"]); + assertIs(addDefaultPage, "addDefaultPage", ["boolean"]); + assertIs(objectsPerTick, "objectsPerTick", ["number"]); + assertIs(updateFieldAppearances, "updateFieldAppearances", ["boolean"]); + if (addDefaultPage && this.getPageCount() === 0) + this.addPage(); + if (updateFieldAppearances) { + form = this.formCache.getValue(); + if (form) + form.updateFieldAppearances(); + } + return [4, this.flush()]; + case 1: + _e.sent(); + Writer = useObjectStreams ? PDFStreamWriter_default : PDFWriter_default; + return [2, Writer.forContext(this.context, objectsPerTick).serializeToBuffer()]; + } + }); + }); + }; + PDFDocument2.prototype.saveAsBase64 = function(options) { + if (options === void 0) { + options = {}; + } + return __awaiter(this, void 0, void 0, function() { + var _a, dataUri, otherOptions, bytes, base64; + return __generator(this, function(_b) { + switch (_b.label) { + case 0: + _a = options.dataUri, dataUri = _a === void 0 ? false : _a, otherOptions = __rest(options, ["dataUri"]); + assertIs(dataUri, "dataUri", ["boolean"]); + return [4, this.save(otherOptions)]; + case 1: + bytes = _b.sent(); + base64 = encodeToBase64(bytes); + return [2, dataUri ? "data:application/pdf;base64," + base64 : base64]; + } + }); + }); + }; + PDFDocument2.prototype.findPageForAnnotationRef = function(ref) { + var pages = this.getPages(); + for (var idx = 0, len = pages.length; idx < len; idx++) { + var page = pages[idx]; + var annotations = page.node.Annots(); + if ((annotations === null || annotations === void 0 ? void 0 : annotations.indexOf(ref)) !== void 0) { + return page; + } + } + return void 0; + }; + PDFDocument2.prototype.embedAll = function(embeddables) { + return __awaiter(this, void 0, void 0, function() { + var idx, len; + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + idx = 0, len = embeddables.length; + _a.label = 1; + case 1: + if (!(idx < len)) return [3, 4]; + return [4, embeddables[idx].embed()]; + case 2: + _a.sent(); + _a.label = 3; + case 3: + idx++; + return [3, 1]; + case 4: + return [ + 2 + /*return*/ + ]; + } + }); + }); + }; + PDFDocument2.prototype.updateInfoDict = function() { + var pdfLib = "pdf-lib (https://github.com/Hopding/pdf-lib)"; + var now = /* @__PURE__ */ new Date(); + var info = this.getInfoDict(); + this.setProducer(pdfLib); + this.setModificationDate(now); + if (!info.get(PDFName_default.of("Creator"))) + this.setCreator(pdfLib); + if (!info.get(PDFName_default.of("CreationDate"))) + this.setCreationDate(now); + }; + PDFDocument2.prototype.getInfoDict = function() { + var existingInfo = this.context.lookup(this.context.trailerInfo.Info); + if (existingInfo instanceof PDFDict_default) + return existingInfo; + var newInfo = this.context.obj({}); + this.context.trailerInfo.Info = this.context.register(newInfo); + return newInfo; + }; + PDFDocument2.prototype.assertFontkit = function() { + if (!this.fontkit) + throw new FontkitNotRegisteredError(); + return this.fontkit; + }; + return PDFDocument2; + })() +); +var PDFDocument_default = PDFDocument; +function assertIsLiteralOrHexString(pdfObject) { + if (!(pdfObject instanceof PDFHexString_default) && !(pdfObject instanceof PDFString_default)) { + throw new UnexpectedObjectTypeError([PDFHexString_default, PDFString_default], pdfObject); + } +} + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/PDFPageOptions.js +var BlendMode; +(function(BlendMode2) { + BlendMode2["Normal"] = "Normal"; + BlendMode2["Multiply"] = "Multiply"; + BlendMode2["Screen"] = "Screen"; + BlendMode2["Overlay"] = "Overlay"; + BlendMode2["Darken"] = "Darken"; + BlendMode2["Lighten"] = "Lighten"; + BlendMode2["ColorDodge"] = "ColorDodge"; + BlendMode2["ColorBurn"] = "ColorBurn"; + BlendMode2["HardLight"] = "HardLight"; + BlendMode2["SoftLight"] = "SoftLight"; + BlendMode2["Difference"] = "Difference"; + BlendMode2["Exclusion"] = "Exclusion"; +})(BlendMode || (BlendMode = {})); + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/PDFPage.js +var PDFPage = ( + /** @class */ + (function() { + function PDFPage2(leafNode, ref, doc) { + this.fontSize = 24; + this.fontColor = rgb(0, 0, 0); + this.lineHeight = 24; + this.x = 0; + this.y = 0; + assertIs(leafNode, "leafNode", [[PDFPageLeaf_default, "PDFPageLeaf"]]); + assertIs(ref, "ref", [[PDFRef_default, "PDFRef"]]); + assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); + this.node = leafNode; + this.ref = ref; + this.doc = doc; + } + PDFPage2.prototype.setRotation = function(angle) { + var degreesAngle = toDegrees(angle); + assertMultiple(degreesAngle, "degreesAngle", 90); + this.node.set(PDFName_default.of("Rotate"), this.doc.context.obj(degreesAngle)); + }; + PDFPage2.prototype.getRotation = function() { + var Rotate = this.node.Rotate(); + return degrees(Rotate ? Rotate.asNumber() : 0); + }; + PDFPage2.prototype.setSize = function(width, height) { + assertIs(width, "width", ["number"]); + assertIs(height, "height", ["number"]); + var mediaBox = this.getMediaBox(); + this.setMediaBox(mediaBox.x, mediaBox.y, width, height); + var cropBox = this.getCropBox(); + var bleedBox = this.getBleedBox(); + var trimBox = this.getTrimBox(); + var artBox = this.getArtBox(); + var hasCropBox = this.node.CropBox(); + var hasBleedBox = this.node.BleedBox(); + var hasTrimBox = this.node.TrimBox(); + var hasArtBox = this.node.ArtBox(); + if (hasCropBox && rectanglesAreEqual(cropBox, mediaBox)) { + this.setCropBox(mediaBox.x, mediaBox.y, width, height); + } + if (hasBleedBox && rectanglesAreEqual(bleedBox, mediaBox)) { + this.setBleedBox(mediaBox.x, mediaBox.y, width, height); + } + if (hasTrimBox && rectanglesAreEqual(trimBox, mediaBox)) { + this.setTrimBox(mediaBox.x, mediaBox.y, width, height); + } + if (hasArtBox && rectanglesAreEqual(artBox, mediaBox)) { + this.setArtBox(mediaBox.x, mediaBox.y, width, height); + } + }; + PDFPage2.prototype.setWidth = function(width) { + assertIs(width, "width", ["number"]); + this.setSize(width, this.getSize().height); + }; + PDFPage2.prototype.setHeight = function(height) { + assertIs(height, "height", ["number"]); + this.setSize(this.getSize().width, height); + }; + PDFPage2.prototype.setMediaBox = function(x, y, width, height) { + assertIs(x, "x", ["number"]); + assertIs(y, "y", ["number"]); + assertIs(width, "width", ["number"]); + assertIs(height, "height", ["number"]); + var mediaBox = this.doc.context.obj([x, y, x + width, y + height]); + this.node.set(PDFName_default.MediaBox, mediaBox); + }; + PDFPage2.prototype.setCropBox = function(x, y, width, height) { + assertIs(x, "x", ["number"]); + assertIs(y, "y", ["number"]); + assertIs(width, "width", ["number"]); + assertIs(height, "height", ["number"]); + var cropBox = this.doc.context.obj([x, y, x + width, y + height]); + this.node.set(PDFName_default.CropBox, cropBox); + }; + PDFPage2.prototype.setBleedBox = function(x, y, width, height) { + assertIs(x, "x", ["number"]); + assertIs(y, "y", ["number"]); + assertIs(width, "width", ["number"]); + assertIs(height, "height", ["number"]); + var bleedBox = this.doc.context.obj([x, y, x + width, y + height]); + this.node.set(PDFName_default.BleedBox, bleedBox); + }; + PDFPage2.prototype.setTrimBox = function(x, y, width, height) { + assertIs(x, "x", ["number"]); + assertIs(y, "y", ["number"]); + assertIs(width, "width", ["number"]); + assertIs(height, "height", ["number"]); + var trimBox = this.doc.context.obj([x, y, x + width, y + height]); + this.node.set(PDFName_default.TrimBox, trimBox); + }; + PDFPage2.prototype.setArtBox = function(x, y, width, height) { + assertIs(x, "x", ["number"]); + assertIs(y, "y", ["number"]); + assertIs(width, "width", ["number"]); + assertIs(height, "height", ["number"]); + var artBox = this.doc.context.obj([x, y, x + width, y + height]); + this.node.set(PDFName_default.ArtBox, artBox); + }; + PDFPage2.prototype.getSize = function() { + var _a = this.getMediaBox(), width = _a.width, height = _a.height; + return { width, height }; + }; + PDFPage2.prototype.getWidth = function() { + return this.getSize().width; + }; + PDFPage2.prototype.getHeight = function() { + return this.getSize().height; + }; + PDFPage2.prototype.getMediaBox = function() { + var mediaBox = this.node.MediaBox(); + return mediaBox.asRectangle(); + }; + PDFPage2.prototype.getCropBox = function() { + var _a; + var cropBox = this.node.CropBox(); + return (_a = cropBox === null || cropBox === void 0 ? void 0 : cropBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getMediaBox(); + }; + PDFPage2.prototype.getBleedBox = function() { + var _a; + var bleedBox = this.node.BleedBox(); + return (_a = bleedBox === null || bleedBox === void 0 ? void 0 : bleedBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox(); + }; + PDFPage2.prototype.getTrimBox = function() { + var _a; + var trimBox = this.node.TrimBox(); + return (_a = trimBox === null || trimBox === void 0 ? void 0 : trimBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox(); + }; + PDFPage2.prototype.getArtBox = function() { + var _a; + var artBox = this.node.ArtBox(); + return (_a = artBox === null || artBox === void 0 ? void 0 : artBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox(); + }; + PDFPage2.prototype.translateContent = function(x, y) { + assertIs(x, "x", ["number"]); + assertIs(y, "y", ["number"]); + this.node.normalize(); + this.getContentStream(); + var start = this.createContentStream(pushGraphicsState(), translate2(x, y)); + var startRef = this.doc.context.register(start); + var end = this.createContentStream(popGraphicsState()); + var endRef = this.doc.context.register(end); + this.node.wrapContentStreams(startRef, endRef); + }; + PDFPage2.prototype.scale = function(x, y) { + assertIs(x, "x", ["number"]); + assertIs(y, "y", ["number"]); + this.setSize(this.getWidth() * x, this.getHeight() * y); + this.scaleContent(x, y); + this.scaleAnnotations(x, y); + }; + PDFPage2.prototype.scaleContent = function(x, y) { + assertIs(x, "x", ["number"]); + assertIs(y, "y", ["number"]); + this.node.normalize(); + this.getContentStream(); + var start = this.createContentStream(pushGraphicsState(), scale(x, y)); + var startRef = this.doc.context.register(start); + var end = this.createContentStream(popGraphicsState()); + var endRef = this.doc.context.register(end); + this.node.wrapContentStreams(startRef, endRef); + }; + PDFPage2.prototype.scaleAnnotations = function(x, y) { + assertIs(x, "x", ["number"]); + assertIs(y, "y", ["number"]); + var annots = this.node.Annots(); + if (!annots) + return; + for (var idx = 0; idx < annots.size(); idx++) { + var annot = annots.lookup(idx); + if (annot instanceof PDFDict_default) + this.scaleAnnot(annot, x, y); + } + }; + PDFPage2.prototype.resetPosition = function() { + this.getContentStream(false); + this.x = 0; + this.y = 0; + }; + PDFPage2.prototype.setFont = function(font) { + assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); + this.font = font; + this.fontKey = this.node.newFontDictionary(this.font.name, this.font.ref); + }; + PDFPage2.prototype.setFontSize = function(fontSize) { + assertIs(fontSize, "fontSize", ["number"]); + this.fontSize = fontSize; + }; + PDFPage2.prototype.setFontColor = function(fontColor) { + assertIs(fontColor, "fontColor", [[Object, "Color"]]); + this.fontColor = fontColor; + }; + PDFPage2.prototype.setLineHeight = function(lineHeight) { + assertIs(lineHeight, "lineHeight", ["number"]); + this.lineHeight = lineHeight; + }; + PDFPage2.prototype.getPosition = function() { + return { x: this.x, y: this.y }; + }; + PDFPage2.prototype.getX = function() { + return this.x; + }; + PDFPage2.prototype.getY = function() { + return this.y; + }; + PDFPage2.prototype.moveTo = function(x, y) { + assertIs(x, "x", ["number"]); + assertIs(y, "y", ["number"]); + this.x = x; + this.y = y; + }; + PDFPage2.prototype.moveDown = function(yDecrease) { + assertIs(yDecrease, "yDecrease", ["number"]); + this.y -= yDecrease; + }; + PDFPage2.prototype.moveUp = function(yIncrease) { + assertIs(yIncrease, "yIncrease", ["number"]); + this.y += yIncrease; + }; + PDFPage2.prototype.moveLeft = function(xDecrease) { + assertIs(xDecrease, "xDecrease", ["number"]); + this.x -= xDecrease; + }; + PDFPage2.prototype.moveRight = function(xIncrease) { + assertIs(xIncrease, "xIncrease", ["number"]); + this.x += xIncrease; + }; + PDFPage2.prototype.pushOperators = function() { + var operator = []; + for (var _i = 0; _i < arguments.length; _i++) { + operator[_i] = arguments[_i]; + } + assertEachIs(operator, "operator", [[PDFOperator_default, "PDFOperator"]]); + var contentStream = this.getContentStream(); + contentStream.push.apply(contentStream, operator); + }; + PDFPage2.prototype.drawText = function(text2, options) { + var _a, _b, _c, _d, _e, _f, _g; + if (options === void 0) { + options = {}; + } + assertIs(text2, "text", ["string"]); + assertOrUndefined(options.color, "options.color", [[Object, "Color"]]); + assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); + assertOrUndefined(options.font, "options.font", [[PDFFont_default, "PDFFont"]]); + assertOrUndefined(options.size, "options.size", ["number"]); + assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); + assertOrUndefined(options.xSkew, "options.xSkew", [[Object, "Rotation"]]); + assertOrUndefined(options.ySkew, "options.ySkew", [[Object, "Rotation"]]); + assertOrUndefined(options.x, "options.x", ["number"]); + assertOrUndefined(options.y, "options.y", ["number"]); + assertOrUndefined(options.lineHeight, "options.lineHeight", ["number"]); + assertOrUndefined(options.maxWidth, "options.maxWidth", ["number"]); + assertOrUndefined(options.wordBreaks, "options.wordBreaks", [Array]); + assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); + var _h = this.setOrEmbedFont(options.font), oldFont = _h.oldFont, newFont = _h.newFont, newFontKey = _h.newFontKey; + var fontSize = options.size || this.fontSize; + var wordBreaks = options.wordBreaks || this.doc.defaultWordBreaks; + var textWidth = function(t) { + return newFont.widthOfTextAtSize(t, fontSize); + }; + var lines = options.maxWidth === void 0 ? lineSplit(cleanText(text2)) : breakTextIntoLines(text2, wordBreaks, options.maxWidth, textWidth); + var encodedLines = new Array(lines.length); + for (var idx = 0, len = lines.length; idx < len; idx++) { + encodedLines[idx] = newFont.encodeText(lines[idx]); + } + var graphicsStateKey = this.maybeEmbedGraphicsState({ + opacity: options.opacity, + blendMode: options.blendMode + }); + var contentStream = this.getContentStream(); + contentStream.push.apply(contentStream, drawLinesOfText(encodedLines, { + color: (_a = options.color) !== null && _a !== void 0 ? _a : this.fontColor, + font: newFontKey, + size: fontSize, + rotate: (_b = options.rotate) !== null && _b !== void 0 ? _b : degrees(0), + xSkew: (_c = options.xSkew) !== null && _c !== void 0 ? _c : degrees(0), + ySkew: (_d = options.ySkew) !== null && _d !== void 0 ? _d : degrees(0), + x: (_e = options.x) !== null && _e !== void 0 ? _e : this.x, + y: (_f = options.y) !== null && _f !== void 0 ? _f : this.y, + lineHeight: (_g = options.lineHeight) !== null && _g !== void 0 ? _g : this.lineHeight, + graphicsState: graphicsStateKey + })); + if (options.font) { + if (oldFont) + this.setFont(oldFont); + else + this.resetFont(); + } + }; + PDFPage2.prototype.drawImage = function(image, options) { + var _a, _b, _c, _d, _e, _f, _g; + if (options === void 0) { + options = {}; + } + assertIs(image, "image", [[PDFImage_default, "PDFImage"]]); + assertOrUndefined(options.x, "options.x", ["number"]); + assertOrUndefined(options.y, "options.y", ["number"]); + assertOrUndefined(options.width, "options.width", ["number"]); + assertOrUndefined(options.height, "options.height", ["number"]); + assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); + assertOrUndefined(options.xSkew, "options.xSkew", [[Object, "Rotation"]]); + assertOrUndefined(options.ySkew, "options.ySkew", [[Object, "Rotation"]]); + assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); + assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); + var xObjectKey = this.node.newXObject("Image", image.ref); + var graphicsStateKey = this.maybeEmbedGraphicsState({ + opacity: options.opacity, + blendMode: options.blendMode + }); + var contentStream = this.getContentStream(); + contentStream.push.apply(contentStream, drawImage(xObjectKey, { + x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, + y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, + width: (_c = options.width) !== null && _c !== void 0 ? _c : image.size().width, + height: (_d = options.height) !== null && _d !== void 0 ? _d : image.size().height, + rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : degrees(0), + xSkew: (_f = options.xSkew) !== null && _f !== void 0 ? _f : degrees(0), + ySkew: (_g = options.ySkew) !== null && _g !== void 0 ? _g : degrees(0), + graphicsState: graphicsStateKey + })); + }; + PDFPage2.prototype.drawPage = function(embeddedPage, options) { + var _a, _b, _c, _d, _e; + if (options === void 0) { + options = {}; + } + assertIs(embeddedPage, "embeddedPage", [ + [PDFEmbeddedPage_default, "PDFEmbeddedPage"] + ]); + assertOrUndefined(options.x, "options.x", ["number"]); + assertOrUndefined(options.y, "options.y", ["number"]); + assertOrUndefined(options.xScale, "options.xScale", ["number"]); + assertOrUndefined(options.yScale, "options.yScale", ["number"]); + assertOrUndefined(options.width, "options.width", ["number"]); + assertOrUndefined(options.height, "options.height", ["number"]); + assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); + assertOrUndefined(options.xSkew, "options.xSkew", [[Object, "Rotation"]]); + assertOrUndefined(options.ySkew, "options.ySkew", [[Object, "Rotation"]]); + assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); + assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); + var xObjectKey = this.node.newXObject("EmbeddedPdfPage", embeddedPage.ref); + var graphicsStateKey = this.maybeEmbedGraphicsState({ + opacity: options.opacity, + blendMode: options.blendMode + }); + var xScale = options.width !== void 0 ? options.width / embeddedPage.width : options.xScale !== void 0 ? options.xScale : 1; + var yScale = options.height !== void 0 ? options.height / embeddedPage.height : options.yScale !== void 0 ? options.yScale : 1; + var contentStream = this.getContentStream(); + contentStream.push.apply(contentStream, drawPage(xObjectKey, { + x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, + y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, + xScale, + yScale, + rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : degrees(0), + xSkew: (_d = options.xSkew) !== null && _d !== void 0 ? _d : degrees(0), + ySkew: (_e = options.ySkew) !== null && _e !== void 0 ? _e : degrees(0), + graphicsState: graphicsStateKey + })); + }; + PDFPage2.prototype.drawSvgPath = function(path, options) { + var _a, _b, _c, _d, _e, _f, _g, _h, _j; + if (options === void 0) { + options = {}; + } + assertIs(path, "path", ["string"]); + assertOrUndefined(options.x, "options.x", ["number"]); + assertOrUndefined(options.y, "options.y", ["number"]); + assertOrUndefined(options.scale, "options.scale", ["number"]); + assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); + assertOrUndefined(options.borderWidth, "options.borderWidth", ["number"]); + assertOrUndefined(options.color, "options.color", [[Object, "Color"]]); + assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); + assertOrUndefined(options.borderColor, "options.borderColor", [ + [Object, "Color"] + ]); + assertOrUndefined(options.borderDashArray, "options.borderDashArray", [ + Array + ]); + assertOrUndefined(options.borderDashPhase, "options.borderDashPhase", [ + "number" + ]); + assertIsOneOfOrUndefined(options.borderLineCap, "options.borderLineCap", LineCapStyle); + assertRangeOrUndefined(options.borderOpacity, "options.borderOpacity", 0, 1); + assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); + var graphicsStateKey = this.maybeEmbedGraphicsState({ + opacity: options.opacity, + borderOpacity: options.borderOpacity, + blendMode: options.blendMode + }); + if (!("color" in options) && !("borderColor" in options)) { + options.borderColor = rgb(0, 0, 0); + } + var contentStream = this.getContentStream(); + contentStream.push.apply(contentStream, drawSvgPath(path, { + x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, + y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, + scale: options.scale, + rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : degrees(0), + color: (_d = options.color) !== null && _d !== void 0 ? _d : void 0, + borderColor: (_e = options.borderColor) !== null && _e !== void 0 ? _e : void 0, + borderWidth: (_f = options.borderWidth) !== null && _f !== void 0 ? _f : 0, + borderDashArray: (_g = options.borderDashArray) !== null && _g !== void 0 ? _g : void 0, + borderDashPhase: (_h = options.borderDashPhase) !== null && _h !== void 0 ? _h : void 0, + borderLineCap: (_j = options.borderLineCap) !== null && _j !== void 0 ? _j : void 0, + graphicsState: graphicsStateKey + })); + }; + PDFPage2.prototype.drawLine = function(options) { + var _a, _b, _c, _d, _e; + assertIs(options.start, "options.start", [ + [Object, "{ x: number, y: number }"] + ]); + assertIs(options.end, "options.end", [ + [Object, "{ x: number, y: number }"] + ]); + assertIs(options.start.x, "options.start.x", ["number"]); + assertIs(options.start.y, "options.start.y", ["number"]); + assertIs(options.end.x, "options.end.x", ["number"]); + assertIs(options.end.y, "options.end.y", ["number"]); + assertOrUndefined(options.thickness, "options.thickness", ["number"]); + assertOrUndefined(options.color, "options.color", [[Object, "Color"]]); + assertOrUndefined(options.dashArray, "options.dashArray", [Array]); + assertOrUndefined(options.dashPhase, "options.dashPhase", ["number"]); + assertIsOneOfOrUndefined(options.lineCap, "options.lineCap", LineCapStyle); + assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); + assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); + var graphicsStateKey = this.maybeEmbedGraphicsState({ + borderOpacity: options.opacity, + blendMode: options.blendMode + }); + if (!("color" in options)) { + options.color = rgb(0, 0, 0); + } + var contentStream = this.getContentStream(); + contentStream.push.apply(contentStream, drawLine({ + start: options.start, + end: options.end, + thickness: (_a = options.thickness) !== null && _a !== void 0 ? _a : 1, + color: (_b = options.color) !== null && _b !== void 0 ? _b : void 0, + dashArray: (_c = options.dashArray) !== null && _c !== void 0 ? _c : void 0, + dashPhase: (_d = options.dashPhase) !== null && _d !== void 0 ? _d : void 0, + lineCap: (_e = options.lineCap) !== null && _e !== void 0 ? _e : void 0, + graphicsState: graphicsStateKey + })); + }; + PDFPage2.prototype.drawRectangle = function(options) { + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o; + if (options === void 0) { + options = {}; + } + assertOrUndefined(options.x, "options.x", ["number"]); + assertOrUndefined(options.y, "options.y", ["number"]); + assertOrUndefined(options.width, "options.width", ["number"]); + assertOrUndefined(options.height, "options.height", ["number"]); + assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); + assertOrUndefined(options.xSkew, "options.xSkew", [[Object, "Rotation"]]); + assertOrUndefined(options.ySkew, "options.ySkew", [[Object, "Rotation"]]); + assertOrUndefined(options.borderWidth, "options.borderWidth", ["number"]); + assertOrUndefined(options.color, "options.color", [[Object, "Color"]]); + assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); + assertOrUndefined(options.borderColor, "options.borderColor", [ + [Object, "Color"] + ]); + assertOrUndefined(options.borderDashArray, "options.borderDashArray", [ + Array + ]); + assertOrUndefined(options.borderDashPhase, "options.borderDashPhase", [ + "number" + ]); + assertIsOneOfOrUndefined(options.borderLineCap, "options.borderLineCap", LineCapStyle); + assertRangeOrUndefined(options.borderOpacity, "options.borderOpacity", 0, 1); + assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); + var graphicsStateKey = this.maybeEmbedGraphicsState({ + opacity: options.opacity, + borderOpacity: options.borderOpacity, + blendMode: options.blendMode + }); + if (!("color" in options) && !("borderColor" in options)) { + options.color = rgb(0, 0, 0); + } + var contentStream = this.getContentStream(); + contentStream.push.apply(contentStream, drawRectangle({ + x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, + y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, + width: (_c = options.width) !== null && _c !== void 0 ? _c : 150, + height: (_d = options.height) !== null && _d !== void 0 ? _d : 100, + rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : degrees(0), + xSkew: (_f = options.xSkew) !== null && _f !== void 0 ? _f : degrees(0), + ySkew: (_g = options.ySkew) !== null && _g !== void 0 ? _g : degrees(0), + borderWidth: (_h = options.borderWidth) !== null && _h !== void 0 ? _h : 0, + color: (_j = options.color) !== null && _j !== void 0 ? _j : void 0, + borderColor: (_k = options.borderColor) !== null && _k !== void 0 ? _k : void 0, + borderDashArray: (_l = options.borderDashArray) !== null && _l !== void 0 ? _l : void 0, + borderDashPhase: (_m = options.borderDashPhase) !== null && _m !== void 0 ? _m : void 0, + graphicsState: graphicsStateKey, + borderLineCap: (_o = options.borderLineCap) !== null && _o !== void 0 ? _o : void 0 + })); + }; + PDFPage2.prototype.drawSquare = function(options) { + if (options === void 0) { + options = {}; + } + var size = options.size; + assertOrUndefined(size, "size", ["number"]); + this.drawRectangle(__assign(__assign({}, options), { width: size, height: size })); + }; + PDFPage2.prototype.drawEllipse = function(options) { + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; + if (options === void 0) { + options = {}; + } + assertOrUndefined(options.x, "options.x", ["number"]); + assertOrUndefined(options.y, "options.y", ["number"]); + assertOrUndefined(options.xScale, "options.xScale", ["number"]); + assertOrUndefined(options.yScale, "options.yScale", ["number"]); + assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); + assertOrUndefined(options.color, "options.color", [[Object, "Color"]]); + assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); + assertOrUndefined(options.borderColor, "options.borderColor", [ + [Object, "Color"] + ]); + assertRangeOrUndefined(options.borderOpacity, "options.borderOpacity", 0, 1); + assertOrUndefined(options.borderWidth, "options.borderWidth", ["number"]); + assertOrUndefined(options.borderDashArray, "options.borderDashArray", [ + Array + ]); + assertOrUndefined(options.borderDashPhase, "options.borderDashPhase", [ + "number" + ]); + assertIsOneOfOrUndefined(options.borderLineCap, "options.borderLineCap", LineCapStyle); + assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); + var graphicsStateKey = this.maybeEmbedGraphicsState({ + opacity: options.opacity, + borderOpacity: options.borderOpacity, + blendMode: options.blendMode + }); + if (!("color" in options) && !("borderColor" in options)) { + options.color = rgb(0, 0, 0); + } + var contentStream = this.getContentStream(); + contentStream.push.apply(contentStream, drawEllipse({ + x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, + y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, + xScale: (_c = options.xScale) !== null && _c !== void 0 ? _c : 100, + yScale: (_d = options.yScale) !== null && _d !== void 0 ? _d : 100, + rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : void 0, + color: (_f = options.color) !== null && _f !== void 0 ? _f : void 0, + borderColor: (_g = options.borderColor) !== null && _g !== void 0 ? _g : void 0, + borderWidth: (_h = options.borderWidth) !== null && _h !== void 0 ? _h : 0, + borderDashArray: (_j = options.borderDashArray) !== null && _j !== void 0 ? _j : void 0, + borderDashPhase: (_k = options.borderDashPhase) !== null && _k !== void 0 ? _k : void 0, + borderLineCap: (_l = options.borderLineCap) !== null && _l !== void 0 ? _l : void 0, + graphicsState: graphicsStateKey + })); + }; + PDFPage2.prototype.drawCircle = function(options) { + if (options === void 0) { + options = {}; + } + var _a = options.size, size = _a === void 0 ? 100 : _a; + assertOrUndefined(size, "size", ["number"]); + this.drawEllipse(__assign(__assign({}, options), { xScale: size, yScale: size })); + }; + PDFPage2.prototype.setOrEmbedFont = function(font) { + var oldFont = this.font; + var oldFontKey = this.fontKey; + if (font) + this.setFont(font); + else + this.getFont(); + var newFont = this.font; + var newFontKey = this.fontKey; + return { oldFont, oldFontKey, newFont, newFontKey }; + }; + PDFPage2.prototype.getFont = function() { + if (!this.font || !this.fontKey) { + var font = this.doc.embedStandardFont(StandardFonts.Helvetica); + this.setFont(font); + } + return [this.font, this.fontKey]; + }; + PDFPage2.prototype.resetFont = function() { + this.font = void 0; + this.fontKey = void 0; + }; + PDFPage2.prototype.getContentStream = function(useExisting) { + if (useExisting === void 0) { + useExisting = true; + } + if (useExisting && this.contentStream) + return this.contentStream; + this.contentStream = this.createContentStream(); + this.contentStreamRef = this.doc.context.register(this.contentStream); + this.node.addContentStream(this.contentStreamRef); + return this.contentStream; + }; + PDFPage2.prototype.createContentStream = function() { + var operators = []; + for (var _i = 0; _i < arguments.length; _i++) { + operators[_i] = arguments[_i]; + } + var dict = this.doc.context.obj({}); + var contentStream = PDFContentStream_default.of(dict, operators); + return contentStream; + }; + PDFPage2.prototype.maybeEmbedGraphicsState = function(options) { + var opacity = options.opacity, borderOpacity = options.borderOpacity, blendMode = options.blendMode; + if (opacity === void 0 && borderOpacity === void 0 && blendMode === void 0) { + return void 0; + } + var graphicsState = this.doc.context.obj({ + Type: "ExtGState", + ca: opacity, + CA: borderOpacity, + BM: blendMode + }); + var key = this.node.newExtGState("GS", graphicsState); + return key; + }; + PDFPage2.prototype.scaleAnnot = function(annot, x, y) { + var selectors = ["RD", "CL", "Vertices", "QuadPoints", "L", "Rect"]; + for (var idx = 0, len = selectors.length; idx < len; idx++) { + var list = annot.lookup(PDFName_default.of(selectors[idx])); + if (list instanceof PDFArray_default) + list.scalePDFNumbers(x, y); + } + var inkLists = annot.lookup(PDFName_default.of("InkList")); + if (inkLists instanceof PDFArray_default) { + for (var idx = 0, len = inkLists.size(); idx < len; idx++) { + var arr = inkLists.lookup(idx); + if (arr instanceof PDFArray_default) + arr.scalePDFNumbers(x, y); + } + } + }; + PDFPage2.of = function(leafNode, ref, doc) { + return new PDFPage2(leafNode, ref, doc); + }; + PDFPage2.create = function(doc) { + assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); + var dummyRef = PDFRef_default.of(-1); + var pageLeaf = PDFPageLeaf_default.withContextAndParent(doc.context, dummyRef); + var pageRef = doc.context.register(pageLeaf); + return new PDFPage2(pageLeaf, pageRef, doc); + }; + return PDFPage2; + })() +); +var PDFPage_default = PDFPage; + +// ../../../../../../../../../../../../node_modules/pdf-lib/es/api/form/PDFButton.js +var PDFButton = ( + /** @class */ + (function(_super) { + __extends(PDFButton2, _super); + function PDFButton2(acroPushButton, ref, doc) { + var _this = _super.call(this, acroPushButton, ref, doc) || this; + assertIs(acroPushButton, "acroButton", [ + [PDFAcroPushButton_default, "PDFAcroPushButton"] + ]); + _this.acroField = acroPushButton; + return _this; + } + PDFButton2.prototype.setImage = function(image, alignment) { + if (alignment === void 0) { + alignment = ImageAlignment.Center; + } + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var streamRef = this.createImageAppearanceStream(widget, image, alignment); + this.updateWidgetAppearances(widget, { normal: streamRef }); + } + this.markAsClean(); + }; + PDFButton2.prototype.setFontSize = function(fontSize) { + assertPositive(fontSize, "fontSize"); + this.acroField.setFontSize(fontSize); + this.markAsDirty(); + }; + PDFButton2.prototype.addToPage = function(text2, page, options) { + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; + assertOrUndefined(text2, "text", ["string"]); + assertOrUndefined(page, "page", [[PDFPage_default, "PDFPage"]]); + assertFieldAppearanceOptions(options); + var widget = this.createWidget({ + x: ((_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0) - ((_b = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _b !== void 0 ? _b : 0) / 2, + y: ((_c = options === null || options === void 0 ? void 0 : options.y) !== null && _c !== void 0 ? _c : 0) - ((_d = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _d !== void 0 ? _d : 0) / 2, + width: (_e = options === null || options === void 0 ? void 0 : options.width) !== null && _e !== void 0 ? _e : 100, + height: (_f = options === null || options === void 0 ? void 0 : options.height) !== null && _f !== void 0 ? _f : 50, + textColor: (_g = options === null || options === void 0 ? void 0 : options.textColor) !== null && _g !== void 0 ? _g : rgb(0, 0, 0), + backgroundColor: (_h = options === null || options === void 0 ? void 0 : options.backgroundColor) !== null && _h !== void 0 ? _h : rgb(0.75, 0.75, 0.75), + borderColor: options === null || options === void 0 ? void 0 : options.borderColor, + borderWidth: (_j = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _j !== void 0 ? _j : 0, + rotate: (_k = options === null || options === void 0 ? void 0 : options.rotate) !== null && _k !== void 0 ? _k : degrees(0), + caption: text2, + hidden: options === null || options === void 0 ? void 0 : options.hidden, + page: page.ref + }); + var widgetRef = this.doc.context.register(widget.dict); + this.acroField.addWidget(widgetRef); + var font = (_l = options === null || options === void 0 ? void 0 : options.font) !== null && _l !== void 0 ? _l : this.doc.getForm().getDefaultFont(); + this.updateWidgetAppearance(widget, font); + page.node.addAnnot(widgetRef); + }; + PDFButton2.prototype.needsAppearancesUpdate = function() { + var _a; + if (this.isDirty()) + return true; + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof PDFStream_default; + if (!hasAppearances) + return true; + } + return false; + }; + PDFButton2.prototype.defaultUpdateAppearances = function(font) { + assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); + this.updateAppearances(font); + }; + PDFButton2.prototype.updateAppearances = function(font, provider) { + assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); + assertOrUndefined(provider, "provider", [Function]); + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + this.updateWidgetAppearance(widget, font, provider); + } + }; + PDFButton2.prototype.updateWidgetAppearance = function(widget, font, provider) { + var apProvider = provider !== null && provider !== void 0 ? provider : defaultButtonAppearanceProvider; + var appearances = normalizeAppearance(apProvider(this, widget, font)); + this.updateWidgetAppearanceWithFont(widget, font, appearances); + }; + PDFButton2.of = function(acroPushButton, ref, doc) { + return new PDFButton2(acroPushButton, ref, doc); + }; + return PDFButton2; + })(PDFField_default) +); +var PDFButton_default = PDFButton; + +// src/export-deck-browser.js +var import_jszip2 = __toESM(require_jszip_min(), 1); + +// ../../../../../../../../../node_modules/.pnpm/pptxgenjs@4.0.1/node_modules/pptxgenjs/dist/pptxgen.es.js +var import_jszip = __toESM(require_jszip_min2()); +function __awaiter2(thisArg, _arguments, P, generator) { + function adopt(value2) { + return value2 instanceof P ? value2 : new P(function(resolve) { + resolve(value2); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value2) { + try { + step(generator.next(value2)); + } catch (e) { + reject(e); + } + } + function rejected(value2) { + try { + step(generator["throw"](value2)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +} +var EMU = 914400; +var ONEPT = 12700; +var CRLF = "\r\n"; +var LAYOUT_IDX_SERIES_BASE = 2147483649; +var REGEX_HEX_COLOR = /^[0-9a-fA-F]{6}$/; +var LINEH_MODIFIER = 1.67; +var DEF_BULLET_MARGIN = 27; +var DEF_CELL_BORDER = { type: "solid", color: "666666", pt: 1 }; +var DEF_CELL_MARGIN_IN = [0.05, 0.1, 0.05, 0.1]; +var DEF_CHART_BORDER = { color: "363636", pt: 1 }; +var DEF_CHART_GRIDLINE = { color: "888888", style: "solid", size: 1, cap: "flat" }; +var DEF_FONT_COLOR = "000000"; +var DEF_FONT_SIZE = 12; +var DEF_FONT_TITLE_SIZE = 18; +var DEF_PRES_LAYOUT = "LAYOUT_16x9"; +var DEF_PRES_LAYOUT_NAME = "DEFAULT"; +var DEF_SHAPE_LINE_COLOR = "333333"; +var DEF_SHAPE_SHADOW = { type: "outer", blur: 3, offset: 23e3 / 12700, angle: 90, color: "000000", opacity: 0.35, rotateWithShape: true }; +var DEF_SLIDE_MARGIN_IN = [0.5, 0.5, 0.5, 0.5]; +var DEF_TEXT_SHADOW = { color: "000000" }; +var DEF_TEXT_GLOW = { size: 8, color: "FFFFFF", opacity: 0.75 }; +var AXIS_ID_VALUE_PRIMARY = "2094734552"; +var AXIS_ID_VALUE_SECONDARY = "2094734553"; +var AXIS_ID_CATEGORY_PRIMARY = "2094734554"; +var AXIS_ID_CATEGORY_SECONDARY = "2094734555"; +var AXIS_ID_SERIES_PRIMARY = "2094734556"; +var LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""); +var BARCHART_COLORS = [ + "C0504D", + "4F81BD", + "9BBB59", + "8064A2", + "4BACC6", + "F79646", + "628FC6", + "C86360", + "C0504D", + "4F81BD", + "9BBB59", + "8064A2", + "4BACC6", + "F79646", + "628FC6", + "C86360" +]; +var PIECHART_COLORS = [ + "5DA5DA", + "FAA43A", + "60BD68", + "F17CB0", + "B2912F", + "B276B2", + "DECF3F", + "F15854", + "A7A7A7", + "5DA5DA", + "FAA43A", + "60BD68", + "F17CB0", + "B2912F", + "B276B2", + "DECF3F", + "F15854", + "A7A7A7" +]; +var TEXT_HALIGN; +(function(TEXT_HALIGN2) { + TEXT_HALIGN2["left"] = "left"; + TEXT_HALIGN2["center"] = "center"; + TEXT_HALIGN2["right"] = "right"; + TEXT_HALIGN2["justify"] = "justify"; +})(TEXT_HALIGN || (TEXT_HALIGN = {})); +var TEXT_VALIGN; +(function(TEXT_VALIGN2) { + TEXT_VALIGN2["b"] = "b"; + TEXT_VALIGN2["ctr"] = "ctr"; + TEXT_VALIGN2["t"] = "t"; +})(TEXT_VALIGN || (TEXT_VALIGN = {})); +var SLDNUMFLDID = "{F7021451-1387-4CA6-816F-3879F97B5CBC}"; +var OutputType; +(function(OutputType2) { + OutputType2["arraybuffer"] = "arraybuffer"; + OutputType2["base64"] = "base64"; + OutputType2["binarystring"] = "binarystring"; + OutputType2["blob"] = "blob"; + OutputType2["nodebuffer"] = "nodebuffer"; + OutputType2["uint8array"] = "uint8array"; +})(OutputType || (OutputType = {})); +var ChartType; +(function(ChartType2) { + ChartType2["area"] = "area"; + ChartType2["bar"] = "bar"; + ChartType2["bar3d"] = "bar3D"; + ChartType2["bubble"] = "bubble"; + ChartType2["bubble3d"] = "bubble3D"; + ChartType2["doughnut"] = "doughnut"; + ChartType2["line"] = "line"; + ChartType2["pie"] = "pie"; + ChartType2["radar"] = "radar"; + ChartType2["scatter"] = "scatter"; +})(ChartType || (ChartType = {})); +var ShapeType; +(function(ShapeType2) { + ShapeType2["accentBorderCallout1"] = "accentBorderCallout1"; + ShapeType2["accentBorderCallout2"] = "accentBorderCallout2"; + ShapeType2["accentBorderCallout3"] = "accentBorderCallout3"; + ShapeType2["accentCallout1"] = "accentCallout1"; + ShapeType2["accentCallout2"] = "accentCallout2"; + ShapeType2["accentCallout3"] = "accentCallout3"; + ShapeType2["actionButtonBackPrevious"] = "actionButtonBackPrevious"; + ShapeType2["actionButtonBeginning"] = "actionButtonBeginning"; + ShapeType2["actionButtonBlank"] = "actionButtonBlank"; + ShapeType2["actionButtonDocument"] = "actionButtonDocument"; + ShapeType2["actionButtonEnd"] = "actionButtonEnd"; + ShapeType2["actionButtonForwardNext"] = "actionButtonForwardNext"; + ShapeType2["actionButtonHelp"] = "actionButtonHelp"; + ShapeType2["actionButtonHome"] = "actionButtonHome"; + ShapeType2["actionButtonInformation"] = "actionButtonInformation"; + ShapeType2["actionButtonMovie"] = "actionButtonMovie"; + ShapeType2["actionButtonReturn"] = "actionButtonReturn"; + ShapeType2["actionButtonSound"] = "actionButtonSound"; + ShapeType2["arc"] = "arc"; + ShapeType2["bentArrow"] = "bentArrow"; + ShapeType2["bentUpArrow"] = "bentUpArrow"; + ShapeType2["bevel"] = "bevel"; + ShapeType2["blockArc"] = "blockArc"; + ShapeType2["borderCallout1"] = "borderCallout1"; + ShapeType2["borderCallout2"] = "borderCallout2"; + ShapeType2["borderCallout3"] = "borderCallout3"; + ShapeType2["bracePair"] = "bracePair"; + ShapeType2["bracketPair"] = "bracketPair"; + ShapeType2["callout1"] = "callout1"; + ShapeType2["callout2"] = "callout2"; + ShapeType2["callout3"] = "callout3"; + ShapeType2["can"] = "can"; + ShapeType2["chartPlus"] = "chartPlus"; + ShapeType2["chartStar"] = "chartStar"; + ShapeType2["chartX"] = "chartX"; + ShapeType2["chevron"] = "chevron"; + ShapeType2["chord"] = "chord"; + ShapeType2["circularArrow"] = "circularArrow"; + ShapeType2["cloud"] = "cloud"; + ShapeType2["cloudCallout"] = "cloudCallout"; + ShapeType2["corner"] = "corner"; + ShapeType2["cornerTabs"] = "cornerTabs"; + ShapeType2["cube"] = "cube"; + ShapeType2["curvedDownArrow"] = "curvedDownArrow"; + ShapeType2["curvedLeftArrow"] = "curvedLeftArrow"; + ShapeType2["curvedRightArrow"] = "curvedRightArrow"; + ShapeType2["curvedUpArrow"] = "curvedUpArrow"; + ShapeType2["custGeom"] = "custGeom"; + ShapeType2["decagon"] = "decagon"; + ShapeType2["diagStripe"] = "diagStripe"; + ShapeType2["diamond"] = "diamond"; + ShapeType2["dodecagon"] = "dodecagon"; + ShapeType2["donut"] = "donut"; + ShapeType2["doubleWave"] = "doubleWave"; + ShapeType2["downArrow"] = "downArrow"; + ShapeType2["downArrowCallout"] = "downArrowCallout"; + ShapeType2["ellipse"] = "ellipse"; + ShapeType2["ellipseRibbon"] = "ellipseRibbon"; + ShapeType2["ellipseRibbon2"] = "ellipseRibbon2"; + ShapeType2["flowChartAlternateProcess"] = "flowChartAlternateProcess"; + ShapeType2["flowChartCollate"] = "flowChartCollate"; + ShapeType2["flowChartConnector"] = "flowChartConnector"; + ShapeType2["flowChartDecision"] = "flowChartDecision"; + ShapeType2["flowChartDelay"] = "flowChartDelay"; + ShapeType2["flowChartDisplay"] = "flowChartDisplay"; + ShapeType2["flowChartDocument"] = "flowChartDocument"; + ShapeType2["flowChartExtract"] = "flowChartExtract"; + ShapeType2["flowChartInputOutput"] = "flowChartInputOutput"; + ShapeType2["flowChartInternalStorage"] = "flowChartInternalStorage"; + ShapeType2["flowChartMagneticDisk"] = "flowChartMagneticDisk"; + ShapeType2["flowChartMagneticDrum"] = "flowChartMagneticDrum"; + ShapeType2["flowChartMagneticTape"] = "flowChartMagneticTape"; + ShapeType2["flowChartManualInput"] = "flowChartManualInput"; + ShapeType2["flowChartManualOperation"] = "flowChartManualOperation"; + ShapeType2["flowChartMerge"] = "flowChartMerge"; + ShapeType2["flowChartMultidocument"] = "flowChartMultidocument"; + ShapeType2["flowChartOfflineStorage"] = "flowChartOfflineStorage"; + ShapeType2["flowChartOffpageConnector"] = "flowChartOffpageConnector"; + ShapeType2["flowChartOnlineStorage"] = "flowChartOnlineStorage"; + ShapeType2["flowChartOr"] = "flowChartOr"; + ShapeType2["flowChartPredefinedProcess"] = "flowChartPredefinedProcess"; + ShapeType2["flowChartPreparation"] = "flowChartPreparation"; + ShapeType2["flowChartProcess"] = "flowChartProcess"; + ShapeType2["flowChartPunchedCard"] = "flowChartPunchedCard"; + ShapeType2["flowChartPunchedTape"] = "flowChartPunchedTape"; + ShapeType2["flowChartSort"] = "flowChartSort"; + ShapeType2["flowChartSummingJunction"] = "flowChartSummingJunction"; + ShapeType2["flowChartTerminator"] = "flowChartTerminator"; + ShapeType2["folderCorner"] = "folderCorner"; + ShapeType2["frame"] = "frame"; + ShapeType2["funnel"] = "funnel"; + ShapeType2["gear6"] = "gear6"; + ShapeType2["gear9"] = "gear9"; + ShapeType2["halfFrame"] = "halfFrame"; + ShapeType2["heart"] = "heart"; + ShapeType2["heptagon"] = "heptagon"; + ShapeType2["hexagon"] = "hexagon"; + ShapeType2["homePlate"] = "homePlate"; + ShapeType2["horizontalScroll"] = "horizontalScroll"; + ShapeType2["irregularSeal1"] = "irregularSeal1"; + ShapeType2["irregularSeal2"] = "irregularSeal2"; + ShapeType2["leftArrow"] = "leftArrow"; + ShapeType2["leftArrowCallout"] = "leftArrowCallout"; + ShapeType2["leftBrace"] = "leftBrace"; + ShapeType2["leftBracket"] = "leftBracket"; + ShapeType2["leftCircularArrow"] = "leftCircularArrow"; + ShapeType2["leftRightArrow"] = "leftRightArrow"; + ShapeType2["leftRightArrowCallout"] = "leftRightArrowCallout"; + ShapeType2["leftRightCircularArrow"] = "leftRightCircularArrow"; + ShapeType2["leftRightRibbon"] = "leftRightRibbon"; + ShapeType2["leftRightUpArrow"] = "leftRightUpArrow"; + ShapeType2["leftUpArrow"] = "leftUpArrow"; + ShapeType2["lightningBolt"] = "lightningBolt"; + ShapeType2["line"] = "line"; + ShapeType2["lineInv"] = "lineInv"; + ShapeType2["mathDivide"] = "mathDivide"; + ShapeType2["mathEqual"] = "mathEqual"; + ShapeType2["mathMinus"] = "mathMinus"; + ShapeType2["mathMultiply"] = "mathMultiply"; + ShapeType2["mathNotEqual"] = "mathNotEqual"; + ShapeType2["mathPlus"] = "mathPlus"; + ShapeType2["moon"] = "moon"; + ShapeType2["noSmoking"] = "noSmoking"; + ShapeType2["nonIsoscelesTrapezoid"] = "nonIsoscelesTrapezoid"; + ShapeType2["notchedRightArrow"] = "notchedRightArrow"; + ShapeType2["octagon"] = "octagon"; + ShapeType2["parallelogram"] = "parallelogram"; + ShapeType2["pentagon"] = "pentagon"; + ShapeType2["pie"] = "pie"; + ShapeType2["pieWedge"] = "pieWedge"; + ShapeType2["plaque"] = "plaque"; + ShapeType2["plaqueTabs"] = "plaqueTabs"; + ShapeType2["plus"] = "plus"; + ShapeType2["quadArrow"] = "quadArrow"; + ShapeType2["quadArrowCallout"] = "quadArrowCallout"; + ShapeType2["rect"] = "rect"; + ShapeType2["ribbon"] = "ribbon"; + ShapeType2["ribbon2"] = "ribbon2"; + ShapeType2["rightArrow"] = "rightArrow"; + ShapeType2["rightArrowCallout"] = "rightArrowCallout"; + ShapeType2["rightBrace"] = "rightBrace"; + ShapeType2["rightBracket"] = "rightBracket"; + ShapeType2["round1Rect"] = "round1Rect"; + ShapeType2["round2DiagRect"] = "round2DiagRect"; + ShapeType2["round2SameRect"] = "round2SameRect"; + ShapeType2["roundRect"] = "roundRect"; + ShapeType2["rtTriangle"] = "rtTriangle"; + ShapeType2["smileyFace"] = "smileyFace"; + ShapeType2["snip1Rect"] = "snip1Rect"; + ShapeType2["snip2DiagRect"] = "snip2DiagRect"; + ShapeType2["snip2SameRect"] = "snip2SameRect"; + ShapeType2["snipRoundRect"] = "snipRoundRect"; + ShapeType2["squareTabs"] = "squareTabs"; + ShapeType2["star10"] = "star10"; + ShapeType2["star12"] = "star12"; + ShapeType2["star16"] = "star16"; + ShapeType2["star24"] = "star24"; + ShapeType2["star32"] = "star32"; + ShapeType2["star4"] = "star4"; + ShapeType2["star5"] = "star5"; + ShapeType2["star6"] = "star6"; + ShapeType2["star7"] = "star7"; + ShapeType2["star8"] = "star8"; + ShapeType2["stripedRightArrow"] = "stripedRightArrow"; + ShapeType2["sun"] = "sun"; + ShapeType2["swooshArrow"] = "swooshArrow"; + ShapeType2["teardrop"] = "teardrop"; + ShapeType2["trapezoid"] = "trapezoid"; + ShapeType2["triangle"] = "triangle"; + ShapeType2["upArrow"] = "upArrow"; + ShapeType2["upArrowCallout"] = "upArrowCallout"; + ShapeType2["upDownArrow"] = "upDownArrow"; + ShapeType2["upDownArrowCallout"] = "upDownArrowCallout"; + ShapeType2["uturnArrow"] = "uturnArrow"; + ShapeType2["verticalScroll"] = "verticalScroll"; + ShapeType2["wave"] = "wave"; + ShapeType2["wedgeEllipseCallout"] = "wedgeEllipseCallout"; + ShapeType2["wedgeRectCallout"] = "wedgeRectCallout"; + ShapeType2["wedgeRoundRectCallout"] = "wedgeRoundRectCallout"; +})(ShapeType || (ShapeType = {})); +var SchemeColor; +(function(SchemeColor2) { + SchemeColor2["text1"] = "tx1"; + SchemeColor2["text2"] = "tx2"; + SchemeColor2["background1"] = "bg1"; + SchemeColor2["background2"] = "bg2"; + SchemeColor2["accent1"] = "accent1"; + SchemeColor2["accent2"] = "accent2"; + SchemeColor2["accent3"] = "accent3"; + SchemeColor2["accent4"] = "accent4"; + SchemeColor2["accent5"] = "accent5"; + SchemeColor2["accent6"] = "accent6"; +})(SchemeColor || (SchemeColor = {})); +var AlignH; +(function(AlignH2) { + AlignH2["left"] = "left"; + AlignH2["center"] = "center"; + AlignH2["right"] = "right"; + AlignH2["justify"] = "justify"; +})(AlignH || (AlignH = {})); +var AlignV; +(function(AlignV2) { + AlignV2["top"] = "top"; + AlignV2["middle"] = "middle"; + AlignV2["bottom"] = "bottom"; +})(AlignV || (AlignV = {})); +var SHAPE_TYPE; +(function(SHAPE_TYPE2) { + SHAPE_TYPE2["ACTION_BUTTON_BACK_OR_PREVIOUS"] = "actionButtonBackPrevious"; + SHAPE_TYPE2["ACTION_BUTTON_BEGINNING"] = "actionButtonBeginning"; + SHAPE_TYPE2["ACTION_BUTTON_CUSTOM"] = "actionButtonBlank"; + SHAPE_TYPE2["ACTION_BUTTON_DOCUMENT"] = "actionButtonDocument"; + SHAPE_TYPE2["ACTION_BUTTON_END"] = "actionButtonEnd"; + SHAPE_TYPE2["ACTION_BUTTON_FORWARD_OR_NEXT"] = "actionButtonForwardNext"; + SHAPE_TYPE2["ACTION_BUTTON_HELP"] = "actionButtonHelp"; + SHAPE_TYPE2["ACTION_BUTTON_HOME"] = "actionButtonHome"; + SHAPE_TYPE2["ACTION_BUTTON_INFORMATION"] = "actionButtonInformation"; + SHAPE_TYPE2["ACTION_BUTTON_MOVIE"] = "actionButtonMovie"; + SHAPE_TYPE2["ACTION_BUTTON_RETURN"] = "actionButtonReturn"; + SHAPE_TYPE2["ACTION_BUTTON_SOUND"] = "actionButtonSound"; + SHAPE_TYPE2["ARC"] = "arc"; + SHAPE_TYPE2["BALLOON"] = "wedgeRoundRectCallout"; + SHAPE_TYPE2["BENT_ARROW"] = "bentArrow"; + SHAPE_TYPE2["BENT_UP_ARROW"] = "bentUpArrow"; + SHAPE_TYPE2["BEVEL"] = "bevel"; + SHAPE_TYPE2["BLOCK_ARC"] = "blockArc"; + SHAPE_TYPE2["CAN"] = "can"; + SHAPE_TYPE2["CHART_PLUS"] = "chartPlus"; + SHAPE_TYPE2["CHART_STAR"] = "chartStar"; + SHAPE_TYPE2["CHART_X"] = "chartX"; + SHAPE_TYPE2["CHEVRON"] = "chevron"; + SHAPE_TYPE2["CHORD"] = "chord"; + SHAPE_TYPE2["CIRCULAR_ARROW"] = "circularArrow"; + SHAPE_TYPE2["CLOUD"] = "cloud"; + SHAPE_TYPE2["CLOUD_CALLOUT"] = "cloudCallout"; + SHAPE_TYPE2["CORNER"] = "corner"; + SHAPE_TYPE2["CORNER_TABS"] = "cornerTabs"; + SHAPE_TYPE2["CROSS"] = "plus"; + SHAPE_TYPE2["CUBE"] = "cube"; + SHAPE_TYPE2["CURVED_DOWN_ARROW"] = "curvedDownArrow"; + SHAPE_TYPE2["CURVED_DOWN_RIBBON"] = "ellipseRibbon"; + SHAPE_TYPE2["CURVED_LEFT_ARROW"] = "curvedLeftArrow"; + SHAPE_TYPE2["CURVED_RIGHT_ARROW"] = "curvedRightArrow"; + SHAPE_TYPE2["CURVED_UP_ARROW"] = "curvedUpArrow"; + SHAPE_TYPE2["CURVED_UP_RIBBON"] = "ellipseRibbon2"; + SHAPE_TYPE2["CUSTOM_GEOMETRY"] = "custGeom"; + SHAPE_TYPE2["DECAGON"] = "decagon"; + SHAPE_TYPE2["DIAGONAL_STRIPE"] = "diagStripe"; + SHAPE_TYPE2["DIAMOND"] = "diamond"; + SHAPE_TYPE2["DODECAGON"] = "dodecagon"; + SHAPE_TYPE2["DONUT"] = "donut"; + SHAPE_TYPE2["DOUBLE_BRACE"] = "bracePair"; + SHAPE_TYPE2["DOUBLE_BRACKET"] = "bracketPair"; + SHAPE_TYPE2["DOUBLE_WAVE"] = "doubleWave"; + SHAPE_TYPE2["DOWN_ARROW"] = "downArrow"; + SHAPE_TYPE2["DOWN_ARROW_CALLOUT"] = "downArrowCallout"; + SHAPE_TYPE2["DOWN_RIBBON"] = "ribbon"; + SHAPE_TYPE2["EXPLOSION1"] = "irregularSeal1"; + SHAPE_TYPE2["EXPLOSION2"] = "irregularSeal2"; + SHAPE_TYPE2["FLOWCHART_ALTERNATE_PROCESS"] = "flowChartAlternateProcess"; + SHAPE_TYPE2["FLOWCHART_CARD"] = "flowChartPunchedCard"; + SHAPE_TYPE2["FLOWCHART_COLLATE"] = "flowChartCollate"; + SHAPE_TYPE2["FLOWCHART_CONNECTOR"] = "flowChartConnector"; + SHAPE_TYPE2["FLOWCHART_DATA"] = "flowChartInputOutput"; + SHAPE_TYPE2["FLOWCHART_DECISION"] = "flowChartDecision"; + SHAPE_TYPE2["FLOWCHART_DELAY"] = "flowChartDelay"; + SHAPE_TYPE2["FLOWCHART_DIRECT_ACCESS_STORAGE"] = "flowChartMagneticDrum"; + SHAPE_TYPE2["FLOWCHART_DISPLAY"] = "flowChartDisplay"; + SHAPE_TYPE2["FLOWCHART_DOCUMENT"] = "flowChartDocument"; + SHAPE_TYPE2["FLOWCHART_EXTRACT"] = "flowChartExtract"; + SHAPE_TYPE2["FLOWCHART_INTERNAL_STORAGE"] = "flowChartInternalStorage"; + SHAPE_TYPE2["FLOWCHART_MAGNETIC_DISK"] = "flowChartMagneticDisk"; + SHAPE_TYPE2["FLOWCHART_MANUAL_INPUT"] = "flowChartManualInput"; + SHAPE_TYPE2["FLOWCHART_MANUAL_OPERATION"] = "flowChartManualOperation"; + SHAPE_TYPE2["FLOWCHART_MERGE"] = "flowChartMerge"; + SHAPE_TYPE2["FLOWCHART_MULTIDOCUMENT"] = "flowChartMultidocument"; + SHAPE_TYPE2["FLOWCHART_OFFLINE_STORAGE"] = "flowChartOfflineStorage"; + SHAPE_TYPE2["FLOWCHART_OFFPAGE_CONNECTOR"] = "flowChartOffpageConnector"; + SHAPE_TYPE2["FLOWCHART_OR"] = "flowChartOr"; + SHAPE_TYPE2["FLOWCHART_PREDEFINED_PROCESS"] = "flowChartPredefinedProcess"; + SHAPE_TYPE2["FLOWCHART_PREPARATION"] = "flowChartPreparation"; + SHAPE_TYPE2["FLOWCHART_PROCESS"] = "flowChartProcess"; + SHAPE_TYPE2["FLOWCHART_PUNCHED_TAPE"] = "flowChartPunchedTape"; + SHAPE_TYPE2["FLOWCHART_SEQUENTIAL_ACCESS_STORAGE"] = "flowChartMagneticTape"; + SHAPE_TYPE2["FLOWCHART_SORT"] = "flowChartSort"; + SHAPE_TYPE2["FLOWCHART_STORED_DATA"] = "flowChartOnlineStorage"; + SHAPE_TYPE2["FLOWCHART_SUMMING_JUNCTION"] = "flowChartSummingJunction"; + SHAPE_TYPE2["FLOWCHART_TERMINATOR"] = "flowChartTerminator"; + SHAPE_TYPE2["FOLDED_CORNER"] = "folderCorner"; + SHAPE_TYPE2["FRAME"] = "frame"; + SHAPE_TYPE2["FUNNEL"] = "funnel"; + SHAPE_TYPE2["GEAR_6"] = "gear6"; + SHAPE_TYPE2["GEAR_9"] = "gear9"; + SHAPE_TYPE2["HALF_FRAME"] = "halfFrame"; + SHAPE_TYPE2["HEART"] = "heart"; + SHAPE_TYPE2["HEPTAGON"] = "heptagon"; + SHAPE_TYPE2["HEXAGON"] = "hexagon"; + SHAPE_TYPE2["HORIZONTAL_SCROLL"] = "horizontalScroll"; + SHAPE_TYPE2["ISOSCELES_TRIANGLE"] = "triangle"; + SHAPE_TYPE2["LEFT_ARROW"] = "leftArrow"; + SHAPE_TYPE2["LEFT_ARROW_CALLOUT"] = "leftArrowCallout"; + SHAPE_TYPE2["LEFT_BRACE"] = "leftBrace"; + SHAPE_TYPE2["LEFT_BRACKET"] = "leftBracket"; + SHAPE_TYPE2["LEFT_CIRCULAR_ARROW"] = "leftCircularArrow"; + SHAPE_TYPE2["LEFT_RIGHT_ARROW"] = "leftRightArrow"; + SHAPE_TYPE2["LEFT_RIGHT_ARROW_CALLOUT"] = "leftRightArrowCallout"; + SHAPE_TYPE2["LEFT_RIGHT_CIRCULAR_ARROW"] = "leftRightCircularArrow"; + SHAPE_TYPE2["LEFT_RIGHT_RIBBON"] = "leftRightRibbon"; + SHAPE_TYPE2["LEFT_RIGHT_UP_ARROW"] = "leftRightUpArrow"; + SHAPE_TYPE2["LEFT_UP_ARROW"] = "leftUpArrow"; + SHAPE_TYPE2["LIGHTNING_BOLT"] = "lightningBolt"; + SHAPE_TYPE2["LINE_CALLOUT_1"] = "borderCallout1"; + SHAPE_TYPE2["LINE_CALLOUT_1_ACCENT_BAR"] = "accentCallout1"; + SHAPE_TYPE2["LINE_CALLOUT_1_BORDER_AND_ACCENT_BAR"] = "accentBorderCallout1"; + SHAPE_TYPE2["LINE_CALLOUT_1_NO_BORDER"] = "callout1"; + SHAPE_TYPE2["LINE_CALLOUT_2"] = "borderCallout2"; + SHAPE_TYPE2["LINE_CALLOUT_2_ACCENT_BAR"] = "accentCallout2"; + SHAPE_TYPE2["LINE_CALLOUT_2_BORDER_AND_ACCENT_BAR"] = "accentBorderCallout2"; + SHAPE_TYPE2["LINE_CALLOUT_2_NO_BORDER"] = "callout2"; + SHAPE_TYPE2["LINE_CALLOUT_3"] = "borderCallout3"; + SHAPE_TYPE2["LINE_CALLOUT_3_ACCENT_BAR"] = "accentCallout3"; + SHAPE_TYPE2["LINE_CALLOUT_3_BORDER_AND_ACCENT_BAR"] = "accentBorderCallout3"; + SHAPE_TYPE2["LINE_CALLOUT_3_NO_BORDER"] = "callout3"; + SHAPE_TYPE2["LINE_CALLOUT_4"] = "borderCallout4"; + SHAPE_TYPE2["LINE_CALLOUT_4_ACCENT_BAR"] = "accentCallout3=4"; + SHAPE_TYPE2["LINE_CALLOUT_4_BORDER_AND_ACCENT_BAR"] = "accentBorderCallout4"; + SHAPE_TYPE2["LINE_CALLOUT_4_NO_BORDER"] = "callout4"; + SHAPE_TYPE2["LINE"] = "line"; + SHAPE_TYPE2["LINE_INVERSE"] = "lineInv"; + SHAPE_TYPE2["MATH_DIVIDE"] = "mathDivide"; + SHAPE_TYPE2["MATH_EQUAL"] = "mathEqual"; + SHAPE_TYPE2["MATH_MINUS"] = "mathMinus"; + SHAPE_TYPE2["MATH_MULTIPLY"] = "mathMultiply"; + SHAPE_TYPE2["MATH_NOT_EQUAL"] = "mathNotEqual"; + SHAPE_TYPE2["MATH_PLUS"] = "mathPlus"; + SHAPE_TYPE2["MOON"] = "moon"; + SHAPE_TYPE2["NON_ISOSCELES_TRAPEZOID"] = "nonIsoscelesTrapezoid"; + SHAPE_TYPE2["NOTCHED_RIGHT_ARROW"] = "notchedRightArrow"; + SHAPE_TYPE2["NO_SYMBOL"] = "noSmoking"; + SHAPE_TYPE2["OCTAGON"] = "octagon"; + SHAPE_TYPE2["OVAL"] = "ellipse"; + SHAPE_TYPE2["OVAL_CALLOUT"] = "wedgeEllipseCallout"; + SHAPE_TYPE2["PARALLELOGRAM"] = "parallelogram"; + SHAPE_TYPE2["PENTAGON"] = "homePlate"; + SHAPE_TYPE2["PIE"] = "pie"; + SHAPE_TYPE2["PIE_WEDGE"] = "pieWedge"; + SHAPE_TYPE2["PLAQUE"] = "plaque"; + SHAPE_TYPE2["PLAQUE_TABS"] = "plaqueTabs"; + SHAPE_TYPE2["QUAD_ARROW"] = "quadArrow"; + SHAPE_TYPE2["QUAD_ARROW_CALLOUT"] = "quadArrowCallout"; + SHAPE_TYPE2["RECTANGLE"] = "rect"; + SHAPE_TYPE2["RECTANGULAR_CALLOUT"] = "wedgeRectCallout"; + SHAPE_TYPE2["REGULAR_PENTAGON"] = "pentagon"; + SHAPE_TYPE2["RIGHT_ARROW"] = "rightArrow"; + SHAPE_TYPE2["RIGHT_ARROW_CALLOUT"] = "rightArrowCallout"; + SHAPE_TYPE2["RIGHT_BRACE"] = "rightBrace"; + SHAPE_TYPE2["RIGHT_BRACKET"] = "rightBracket"; + SHAPE_TYPE2["RIGHT_TRIANGLE"] = "rtTriangle"; + SHAPE_TYPE2["ROUNDED_RECTANGLE"] = "roundRect"; + SHAPE_TYPE2["ROUNDED_RECTANGULAR_CALLOUT"] = "wedgeRoundRectCallout"; + SHAPE_TYPE2["ROUND_1_RECTANGLE"] = "round1Rect"; + SHAPE_TYPE2["ROUND_2_DIAG_RECTANGLE"] = "round2DiagRect"; + SHAPE_TYPE2["ROUND_2_SAME_RECTANGLE"] = "round2SameRect"; + SHAPE_TYPE2["SMILEY_FACE"] = "smileyFace"; + SHAPE_TYPE2["SNIP_1_RECTANGLE"] = "snip1Rect"; + SHAPE_TYPE2["SNIP_2_DIAG_RECTANGLE"] = "snip2DiagRect"; + SHAPE_TYPE2["SNIP_2_SAME_RECTANGLE"] = "snip2SameRect"; + SHAPE_TYPE2["SNIP_ROUND_RECTANGLE"] = "snipRoundRect"; + SHAPE_TYPE2["SQUARE_TABS"] = "squareTabs"; + SHAPE_TYPE2["STAR_10_POINT"] = "star10"; + SHAPE_TYPE2["STAR_12_POINT"] = "star12"; + SHAPE_TYPE2["STAR_16_POINT"] = "star16"; + SHAPE_TYPE2["STAR_24_POINT"] = "star24"; + SHAPE_TYPE2["STAR_32_POINT"] = "star32"; + SHAPE_TYPE2["STAR_4_POINT"] = "star4"; + SHAPE_TYPE2["STAR_5_POINT"] = "star5"; + SHAPE_TYPE2["STAR_6_POINT"] = "star6"; + SHAPE_TYPE2["STAR_7_POINT"] = "star7"; + SHAPE_TYPE2["STAR_8_POINT"] = "star8"; + SHAPE_TYPE2["STRIPED_RIGHT_ARROW"] = "stripedRightArrow"; + SHAPE_TYPE2["SUN"] = "sun"; + SHAPE_TYPE2["SWOOSH_ARROW"] = "swooshArrow"; + SHAPE_TYPE2["TEAR"] = "teardrop"; + SHAPE_TYPE2["TRAPEZOID"] = "trapezoid"; + SHAPE_TYPE2["UP_ARROW"] = "upArrow"; + SHAPE_TYPE2["UP_ARROW_CALLOUT"] = "upArrowCallout"; + SHAPE_TYPE2["UP_DOWN_ARROW"] = "upDownArrow"; + SHAPE_TYPE2["UP_DOWN_ARROW_CALLOUT"] = "upDownArrowCallout"; + SHAPE_TYPE2["UP_RIBBON"] = "ribbon2"; + SHAPE_TYPE2["U_TURN_ARROW"] = "uturnArrow"; + SHAPE_TYPE2["VERTICAL_SCROLL"] = "verticalScroll"; + SHAPE_TYPE2["WAVE"] = "wave"; +})(SHAPE_TYPE || (SHAPE_TYPE = {})); +var CHART_TYPE; +(function(CHART_TYPE2) { + CHART_TYPE2["AREA"] = "area"; + CHART_TYPE2["BAR"] = "bar"; + CHART_TYPE2["BAR3D"] = "bar3D"; + CHART_TYPE2["BUBBLE"] = "bubble"; + CHART_TYPE2["BUBBLE3D"] = "bubble3D"; + CHART_TYPE2["DOUGHNUT"] = "doughnut"; + CHART_TYPE2["LINE"] = "line"; + CHART_TYPE2["PIE"] = "pie"; + CHART_TYPE2["RADAR"] = "radar"; + CHART_TYPE2["SCATTER"] = "scatter"; +})(CHART_TYPE || (CHART_TYPE = {})); +var SCHEME_COLOR_NAMES; +(function(SCHEME_COLOR_NAMES2) { + SCHEME_COLOR_NAMES2["TEXT1"] = "tx1"; + SCHEME_COLOR_NAMES2["TEXT2"] = "tx2"; + SCHEME_COLOR_NAMES2["BACKGROUND1"] = "bg1"; + SCHEME_COLOR_NAMES2["BACKGROUND2"] = "bg2"; + SCHEME_COLOR_NAMES2["ACCENT1"] = "accent1"; + SCHEME_COLOR_NAMES2["ACCENT2"] = "accent2"; + SCHEME_COLOR_NAMES2["ACCENT3"] = "accent3"; + SCHEME_COLOR_NAMES2["ACCENT4"] = "accent4"; + SCHEME_COLOR_NAMES2["ACCENT5"] = "accent5"; + SCHEME_COLOR_NAMES2["ACCENT6"] = "accent6"; +})(SCHEME_COLOR_NAMES || (SCHEME_COLOR_NAMES = {})); +var MASTER_OBJECTS; +(function(MASTER_OBJECTS2) { + MASTER_OBJECTS2["chart"] = "chart"; + MASTER_OBJECTS2["image"] = "image"; + MASTER_OBJECTS2["line"] = "line"; + MASTER_OBJECTS2["rect"] = "rect"; + MASTER_OBJECTS2["text"] = "text"; + MASTER_OBJECTS2["placeholder"] = "placeholder"; +})(MASTER_OBJECTS || (MASTER_OBJECTS = {})); +var SLIDE_OBJECT_TYPES; +(function(SLIDE_OBJECT_TYPES2) { + SLIDE_OBJECT_TYPES2["chart"] = "chart"; + SLIDE_OBJECT_TYPES2["hyperlink"] = "hyperlink"; + SLIDE_OBJECT_TYPES2["image"] = "image"; + SLIDE_OBJECT_TYPES2["media"] = "media"; + SLIDE_OBJECT_TYPES2["online"] = "online"; + SLIDE_OBJECT_TYPES2["placeholder"] = "placeholder"; + SLIDE_OBJECT_TYPES2["table"] = "table"; + SLIDE_OBJECT_TYPES2["tablecell"] = "tablecell"; + SLIDE_OBJECT_TYPES2["text"] = "text"; + SLIDE_OBJECT_TYPES2["notes"] = "notes"; +})(SLIDE_OBJECT_TYPES || (SLIDE_OBJECT_TYPES = {})); +var PLACEHOLDER_TYPES; +(function(PLACEHOLDER_TYPES2) { + PLACEHOLDER_TYPES2["title"] = "title"; + PLACEHOLDER_TYPES2["body"] = "body"; + PLACEHOLDER_TYPES2["image"] = "pic"; + PLACEHOLDER_TYPES2["chart"] = "chart"; + PLACEHOLDER_TYPES2["table"] = "tbl"; + PLACEHOLDER_TYPES2["media"] = "media"; +})(PLACEHOLDER_TYPES || (PLACEHOLDER_TYPES = {})); +var BULLET_TYPES; +(function(BULLET_TYPES2) { + BULLET_TYPES2["DEFAULT"] = "•"; + BULLET_TYPES2["CHECK"] = "✓"; + BULLET_TYPES2["STAR"] = "★"; + BULLET_TYPES2["TRIANGLE"] = "▶"; +})(BULLET_TYPES || (BULLET_TYPES = {})); +var IMG_BROKEN = "data:image/png;base64,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"; +var IMG_PLAYBTN = "data:image/png;base64,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AAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKREkRUAAACwrUpLSwuGDRvWfMCAAS26du3avKysrLiioqKkZcuWzZs1a1bcvHnz0tLS0rJsNtusuLi4ebNmzUoLCgo+8/eijY2N9Zs3b66pra2tqqur21xTU1NdVVVVs2nTptqNGzdWbdiwoeYvf/nL5hUrVlQtWLBgw6xZs6pqamoaJQYAAEDaKYABAACIiIghQ4aUHnTQQW379u3bql27dq3at2/fpkWLFq2bN29eWVpa2qpZs2bNCwsLm2ez2fLCwsLyoqKi8sLCwtKknK+hoaG6vr6+qqGh4S91dXV/aWhoqNq8eXNVTU3NuqqqqvUbNmxYu2rVqjWrV69e99Zbb6177rnnPpgzZ06NTwYAAABJogAGAADIA8OGDWt+xBFHdBwwYECnLl26dGjdunXHFi1adCgtLe1YUlLSvlmzZq0KCgqK07yDwsLCssLCwrKIaPdp/zuNjY21mzdvXrdp06ZVNTU172/YsGHl2rVr31+2bNnKBQsWrHjyySffnzVrVpVPGAAAAE1Fpuexsd9HfaF+ZcSal0ptCAAAIAE6deqUPf744zvtueeeXbp3796lbdu2XSorKzuXlpZ2KS0t7VBYWFhhSztGQ0PDxpqampU1NTXL169fv+yDDz5Y9s477yybPXv2sj/96U8rVqxYUWdLAAAAbE9t9q6Jog4f/TUFMAAAQEJks9nMt7/97Y4jRozo1bdv397t2rXrXl5e3rWsrKxzcXFx+4gosKUmp7G2tnZVTU3Nso0bNy5btWrV0tdff/2tJ598cvG999672noAAADYFgpgAACAhPne977X6a9Fb/v27Xu1bNmyV1lZWa8kvXOXLauvr9/wl7/8ZdG6desWL1u2bNHChQsX/fGPf1w8derUjbYDAADAliiAAQAAmqhsNps59dRTuxx66KH9+/Tp87n27dv3Ly8v719UVOSRzXlq06ZNKzZu3Pj6+++//8abb775xqOPPvrG3XffvcpmAAAA+CsFMAAAQBNx6qmndvniF784qHfv3v3btWv3uYqKis8VFhaW2wxbUl9fv37Dhg1vfPDBB68vXrz4jccee2z+jTfeuNxmAAAA8pMCGAAAYBc45phjWn/rW9/aq3///kPatGnTv6Kiop9HOLO9NDQ0VG/cuPGtNWvWLFy4cOGcO+6445WHHnporc0AAACknwIYAABgJzjjjDO6f+lLX9qrV69eg1u3bj2orKysR0RkbIadJFddXb103bp18xcvXjz30UcffeXqq69+x1oAAADSRwEMAACwnZWWlhb86le/2u3QQw8d1r17931btmw5qLCwsMxmaEoaGhqqP/zww/nvvPPOzGeeeWbW2LFj36ipqWm0GQAAgGRTAAMAAGwHP/7xj7t+9atf3bdXr15D27Ztu1c2m21jKyRJXV3dmg8++OCVRYsWvfznP/95xh/+8IdltgIAAJA8CmAAAIBtcOKJJ7Y75ZRTDujXr9+w1q1bD81ms61shTSpq6tbt3bt2pfffPPNWbfccsvUe++9d7WtAAAANH0KYAAAgE+hoqKi4IILLhg0YsSI/bp27bpfy5YtB2YymUKbIR/kcrmGDz/8cP6777474/nnn59x4YUXvrZx40aPiwYAAGiCFMAAAAAf4/jjj2/7/e9//8D+/fsf2Lp1630KCgpKbAUiGhsbN61fv37eW2+9NeWGG2545u67715lKwAAAE2DAhgAAOB/ZLPZzAUXXPC5I4888sDu3bsfWFFRsVtEFNgMbFl1dfWSd999d8qsWbNmnnvuuS+vW7euwVYAAAB2DQUwAACQ10pLSwsuvfTSQYcccsjBXbt2HVFWVtbDVmDb1dbWrnr//fdfmDp16uRf/vKXL65evbreVgAAAHYeBTAAAJB3Bg0aVHrBBRd8fs899zywQ4cOBxQVFbWwFdj+Ghsba9euXTtrzpw5T59//vmTX3755WpbAQAA2LEUwAAAQF4YNmxY8/POO+/gIUOGHOZ9vrDz/W0ZfNFFFz07a9asKlsBAADY/hTAAABAarVq1arwyiuv3HfEiBEjO3TocFBhYWGZrcCu19DQUP3+++8/O2XKlIk/+clPZm7cuLHRVgAAALYPBTAAAJAqrVq1Kvztb3+7/3777Xd4x44dRxQWFpbbCjRdDQ0NG99///0pM2bMeOqHP/zhC8pgAACAz0YBDAAApMJZZ53V45vf/OaRvXr1GllaWtrVRiB5ampq3l28ePHEO++8c9LVV1/9jo0AAABsPQUwAACQWMOHDy+/6KKLvjB48OCjW7RoMdBGID0+/PDDV+fNmzfhvPPOe3L69Ol/sREAAIBPRwEMAAAkSqtWrQpvuOGGQ/bbb79/atOmzX6ZTCZrK5BeuVyubs2aNTNmzJjx2JgxYyavW7euwVYAAAA+ngIYAABIhB//+Mddv/e9732lZ8+e/1RcXNzWRiD/1NbWfvD2228/dssttzz029/+9l0bAQAA+L8UwAAAQJNVUVFRcO21137+4IMPPrZ169b7ZTKZAlsBIqJxzZo1M59//vnxp5122hR3BQMAAPx/CmAAAKDJOeWUUzqefvrpx/bu3ftL2Wy2jY0AH6e+vn7j0qVLH/vd7373x+uvv36ZjQAAAPlOAQwAADQJ2Ww2c+uttx5wyCGHnNC6deu9I8LdvsDWaFy7du1L06ZN+/OPfvSjZ1evXl1vJQAAQD5SAAMAALtU//79S6655pp/2nPPPY8tLy/vayPAZ1VTU7NswYIF488999wHp06dutFGAACAfKIABgAAdomf//znPU855ZQTu3btemRhYWGZjQDbW2NjY92KFSuevOWWW+689NJLF9kIAACQDxTAAADATuMxz8Cusn79+rlPP/30f5188slT6+rqcjYCAACklQIYAADY4fr27Vv8hz/84a+Pee5nI8CuUlNT8+68efPu/8EPfvDgwoULN9kIAACQNgpgAABghxkyZEjpNddc89XBgwefWFxc3MFGgKaitrZ21dy5c+/5yU9+8uc5c+bU2AgAAJAWWyqAPYoNAADYJqNHj+4wb968n06ZMuXRYcOGnaH8BZqa4uLi9sOGDTtjypQpj86bN++nJ510UntbAQAA0s4dwAAAwFY599xze33/+9//dufOnY/IZDJZGwGSIpfL1S1fvvzJG2644fbLLrvsbRsBAACSyiOgAQCAz+y8887r+53vfOfbHTt2PDyTyRTaCJBUuVyuYcWKFU/cdNNN//XrX/96sY0AAABJowAGAAC22WWXXTboG9/4xg9at249zDaAtFm7du2su++++9pzzjnnNdsAAACSQgEMAABsNcUvkE8UwQAAQJIogAEAgE9N8Qvks7Vr18665557rvv5z38+3zYAAICmaksFcGHlwOj6UV9orIqoWZG1PQAAyBO/+MUvet9xxx3nHHrooT8pLS3tYiNAPiotLe2y7777HvP973+/X1lZ2ZIpU6assxUAAKCpKetcHwXlH/01BTAAAOS5M844o/u99957zpe//OWflZeX94qIjK0AeS5TXl7e8+CDDx71/e9/v3dEvDVjxowPrQUAAGgqFMAAAMD/ceKJJ7a77777fjJq1Kh/KS8v7xOKX4B/lCkvL+99+OGHj/rWt77VfvXq1Qvnz59fbS0AAMCutqUC2DuAAQAgzwwdOrTs+uuvP6l///4nFRYWltkI20NjY2Ns2rQpqquro6amJurr62PTpk2xefPmqK+vj+rq6qivr4/NmzfHpk2boqGhYZv/fxUWFkZJSUk0a9YsioqKoqysLIqKiqJZs2ZRUlISRUVFUVpa+r9/FRQUCIjtoqGhoeq11167a8yYMffMmTOnxkYAAIBdZUvvAFYAAwBAnujUqVP2nnvuGbXXXnudnM1mK22Ej9PQ0BAbN26MDRs2/J+/Nm7cGBs3boyamprYtGlTbNq0KWpqaqK2trbJnqe4uDhKSkqitLT0f/9eUVERFRUV0aJFi//zV0VFRRQWFvog8LHq6urWvvjii7eceOKJf169enW9jQAAADubAhgAAPLcXXfdddAXv/jF00tLS7vZRn7L5XKxYcOGWLt2baxbty7Wrl37d3+tW7cuNmzYkPd7atGiRbRu3TpatWoVrVu3jjZt2vzvf27dunW0aNHCh4morq5e+sgjj1zzne98Z6ptAAAAO5MCGAAA8tTVV189+MQTTzyzoqJioG3kj8bGxli5cmUsX748Pvjgg1i9evX//n3t2rXR2NhoSZ9RYWFhtGrVKtq1axdt27b937937tw5OnTo4LHTeWbDhg3z77333qvOPPPMebYBAADsDApgAADIM1/72tfaXHrppad27979qIjQRKVUQ0NDrFq1KlasWBHvv//+//595cqVTfqRzGlXXFwcHTp0iI4dO0bnzp2jY8eO0alTp2jXrp1HS6dYLpdrfOeddx76+c9/fv2ECRPW2QgAALAjKYABACBP9OrVq9ldd931jT322OM7hYWFZTaSHh9++GG88847sXTp0njvvfdixYoVsXr16mhoaLCchCgsLIz27dtHp06dolu3btG9e/fo3r27x0mnTENDQ9W8efNu++Y3v/nHJUuWbLYRAABgR1AAAwBAHrjrrrtG/NM//dOZJSUlXWwj2davXx9Lly6Nd955539L3w8//NBiUqqysvJ/y+C//tWqVSuLSbiamppljz322G9Gjx49xTYAAIDtTQEMAAAp9qtf/arPD3/4w5+1atVqL9tIno0bN8aSJUvirbfeikWLFsV7770XmzZtspg8V1JSEl27do0+ffpE3759o3fv3lFeXm4xCbRu3bqXr7322ivGjh27yDYAAIDtRQEMAAApNGjQoNI77rjju7vttttJBQUFWRtJhtWrV8ebb74ZixcvjiVLlsTy5cujsbHRYtiigoKC6Ny5c/Tu3Tt69+4d/fr1i7Zt21pMQjQ2Nta98cYbd33rW9+6ff78+TU2AgAAfFYKYAAASJHS0tKCBx988Jj99tvvn7PZbBsbaboaGhri7bffjrfeeisWLFgQS5YscXcv201FRUX06tUr+vbtG3379o2ePXtGYWGhxTRhdXV1a2bMmHHjV77ylYdqamr85gcAALDNFMAAAJASp59+erdf/vKX51ZWVu5jG03T6tWr47XXXouFCxfGm2++GRs3brQUdooWLVpE3759Y8CAATFw4EB3CDdh69evf/E//uM//vPqq69+xzYAAIBtoQAGAICEGzRoUOm99977w969ex+byWTc4teErF+/PubNmxcLFiyIN954Q+FLk9GiRYvo169fDBgwIPbYY4+orKy0lCYkl8s1LF68eNyJJ554rcdCAwAAW0sBDAAACXbNNdcMOemkk35RVlbWyzZ2vVwuF++++27MnTs3XnvttViyZIl3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B7lcrm7y5Mm//vKXv/yIbQAAwK63pXcAK4ABAMg7paWlBTNnzjyzT58+x9vG39uwYUOMGzcuZsyY4VHPQF7KZDKx3377xde//vWoqKiwkH+waNGiP+27775X1dTUeCwEAADsQgpgAAD4H926dctOnjz5V506dRppG/9fLpeLqVOnxp///OfYuHGjhQB5r6KiIkaNGhX777+/x0L/g+XLlz9+6KGHXvLuu+/W2QYAAOwaWyqAvQMYAIC8MXz48PInnnjiynbt2o2wjf/vnXfeiWuvvTaee+652Lx5s4UARMTmzZtjzpw58dprr0XPnj2jRYsWlvI/Kioq+n7rW98aMnXq1Ofee+89f3AAAMAusKV3ACuAAQDIC9/+9rc73n777X9o0aLFANv4b1VVVXHXXXfFvffeG+vXr7cQgI+wbt26eP7552P9+vWx2267RVFRkaVERElJSefjjjvuoA8++GDKK6+88hcbAQCAnUsBDABAXjv//PP7XXzxxX8oKSnpbBv/bfr06XHttdfGokWLLAPgU3jnnXdi2rRp0bp16+jc2R8nERHZbLbyC1/4whElJSUvTp48eY2NAADAzqMABgAgb/3ud7/b60c/+tFVRUVFrWwjYs2aNXHzzTfHpEmTora21kIAtkJtbW289NJL8c4770Tfvn2jtLQ073dSWFhYNnz48C/26dNn4UMPPbTMpwQAAHYOBTAAAHnp1ltv3f+b3/zmfxYWFjbP913kcrl4/vnn4/rrr4/ly5f7cAB8BitXroxp06ZFRUVFdOvWLTKZTF7vo6CgIDto0KBDBw0atOiBBx54xycEAAB2vC0VwJmex8Z+H/WF+pURa17ym6wAACTTww8//KXDDjvsXzKZTN6/rPGDDz6I22+/Pd544w0fDIDtbMCAAfGtb30r2rRpk/e7yOVyjVOmTPn1yJEjH/LJAACAHavN3jVR1OGjv6YABgAgdV555ZXTPve5z30r3/fQ0NAQjz32WDz++ONRV1fngwGwg2Sz2Tj66KPjC1/4QhQUFOT9Pl5//fU79tprr9/7ZAAAwI6jAAYAIC9ks9nMyy+/fFafPn2Oz/ddvPvuu3HbbbfFe++954MBsJN069YtvvOd70S3bt3yfhdLliy5f5999rmypqam0ScDAAC2PwUwAACpV1paWjBr1qyzevfufVw+7yGXy8WTTz4ZDz74oLt+AXaBbDYbxxxzTBxxxBF5fzfw0qVLHxg6dOjlSmAAANj+FMAAAKRar169mk2ePHlsu3btDsrnPaxcuTJuueWWePvtt30oAHaxnj17ximnnBIdOnTI6z2sXr16yiGHHPIvS5Ys2exTAQAA28+WCuDCyoHR9aO+0FgVUbMia3sAADRpQ4cOLXvqqacub9Omzf75uoNcLhfPPPNMXH/99bF27VofCoAmYP369TFlypQoKSmJnj17RiaTycs9NG/evPtJJ500ZPLkyc+sWLHCoykAAGA7KetcHwXlH/01BTAAAIk1ZMiQ0kceeeSKVq1a7Z2vO6iuro7bb789nnjiiWhs9IRNgKaksbEx5s+fH++//34MGDAgstn8/DlLaWlpp6997WuDn3rqqadXrlxZ75MBAACfnQIYAIDUOfTQQ1s8+OCDv2/ZsuUe+bqDOXPmxNVXX+2RzwBN3PLly+OFF16Ijh075u0joUtLSzudcMIJ+7/00ktPv/3227U+FQAA8NkogAEASJVhw4Y1v++++37TsmXLQfl4/vr6+hg/fnz88Y9/jNpaP0MHSILNmzfHiy++GJs3b47ddtstCgoK8m4HxcXFbY866qg9n3vuuaeXL1/ucdAAAPAZKIABAEiNI488snLcuHG/b9GixcB8PP97770XV111VcyZM8eHASCBFi1aFC+//HL069cvWrRokXfnLykp6XDcccftP2fOnGcWLVq0yScCAAC2jQIYAIBUOPLIIyvvvPPO35aXl++Wj+d/+umn48Ybb4wPP/zQhwEgwf7yl7/ECy+8ECUlJdGrV6+8O3+zZs3aHHXUUfspgQEAYNspgAEASLxjjz227W233faH5s2b98m3s1dVVcXNN98cTz31VDQ2NvowAKRAY2NjzJ8/P5YtWxYDBgyIZs2a5dX5mzVr1uaYY4458M0333xm4cKFNT4RAACwdRTAAAAk2qGHHtritttuuzofy9+33347rrnmmli8eLEPAkAKvf/++/HKK69Enz59orKyMq/Ons1mK4888sh9Zs6c+dTSpUs3+zQAAMCnpwAGACCxjjjiiJb33nvvteXl5f3y6dy5XC4mTZoUN998c1RVVfkgAKRYVVVVTJ06NbLZbPTp0ycymUzenL24uLjtV7/61c+/8sorTy1evLjWpwEAAD4dBTAAAIl06KGHtrj33nt/l2/lb3V1ddx0000xefLkyOVyPggAeSCXy8WCBQvi3Xffjd133z2y2fz5mUyzZs1aH3300fvNmDHjSXcCAwDAp6MABgAgcYYOHVo2fvz4qysqKgbk07mXLVsWV111lUc+A+SplStXxiuvvBKf+9znoqKiIm/O3axZszZHH3300GeeeebJFStW1PkkAADAlimAAQBIlCFDhpQ++uij17Rs2XL3fDr31KlT49prr42NGzf6EADksaqqqpg+fXq0bds2unTpkjfnLikpaT9q1KihTz755JMrV66s90kAAICPt6UCuMB6AABoSjp16pSdMGHCv1dWVu6RL2dubGyMcePGxR133BF1dW56AiCitrY2br755hg/fnw0NjbmzbkrKyv3mDBhwr9369bNXQkAALCNFMAAADQZrVq1Kpw+ffolbdq02T9fzlxdXR2/+93vYtKkSd73C8DfyeVy8fjjj8fvf//7qK6uzptzt2nTZv8pU6Zc0qpVq0KfAgAA2HoKYAAAmoSKioqC2bNnX9KuXbuD8uXMS5cujYsuuijmz5/vAwDAx3r11VfjoosuiqVLl+bNmdu1a3fQ7Nmz/72iosLPrgAAYCu5iAYAoEmYOXPmz9q1a3dIvpz35ZdfjiuuuCLWrVsnfAA+0bp16+KKK66Il19+OW/O3K5du4Nnzpz5M+kDAMDWUQADALDLvfjii2N69OgxKh/Omsvl4oEHHogbbrghamtrhQ/Ap1ZbWxs33HBDPPDAA3nz2oAePXqMevHFF8dIHwAAPj0FMAAAu9SkSZO+NnDgwFPy4ax1dXVx8803x8SJE73vF4BtksvlYuLEiXHLLbdEXV1dXpx54MCBJ0+aNOlr0gcAgE9HAQwAwC7z6KOPHnXggQeekw9nXbduXfz617+OWbNmCR6Az2zmzJnx61//Ol9eJZA58MADz3n00UePkjwAAHyywsqB0fWjvtBYFVGzImtDAADsEDfeeOO+Rx999EWZTKYw7Wddvnx5XHXVVbFy5UrBA7DdbNiwIWbPnh0DBw6MioqKtB8307179/179uz56sMPP7xc+gAA5LuyzvVRUP7RX1MAAwCw011xxRV7fPe7372qoKCgWdrPOmfOnPjtb38bGzduFDwA2111dXVMmzYtOnfuHB07dkz1WTOZTOHuu+9+eJs2bV6aNGnSKukDAJDPFMAAADQZZ5xxRvef/exnvy0sLCxP+1knTJgQd999d9TX1wsegB2moaEhXnrppchms9G3b99UnzWTyRTttddeB/3lL395dubMmRukDwBAvlIAAwDQJBx00EEVf/jDH64pLi7ulOZz5nK5eOCBB+Kxxx4TOgA77c+eBQsWRF1dXfTv3z8ymUxqz1pQUFBywAEHDJs+ffqkpUuXbpY+AAD5aEsFcIH1AACwMwwaNKj0vvvuu7qsrKxXms9ZV1cX1113XUyaNEnoAOx0EydOjOuvvz7q6upSfc6ysrJef/rTn67u379/idQBAODvKYABANjhKioqCh577LGLKyoqBqb5nNXV1XHNNdfE7NmzhQ7ALvPKK6/ElVdeGVVVVak+Z4sWLQZOnDhxbEVFhZ9vAQDA33CBDADADjdz5syftW3b9sA0n3HdunVx2WWXxRtvvCFwAHa5xYsXx2WXXRZr165N9TnbtWt34MyZM38mcQAA+P8UwAAA7FBPPvnkqB49eoxK8xlXrVoVV1xxRSxfvlzgADQZK1asiCuuuCJWrlyZ6nP26NFj1KRJk0ZJHAAA/lth5cDo+lFfaKyKqFmRtSEAALbZjTfeuO+XvvSlCzOZTGp/8fDdd9+NK6+8MtatWydwAJqc6urqmDVrVvTv3z8qKytTe85u3boN79mz57yHH37Yb2MBAJAXyjrXR0H5R39NAQwAwA5x3nnn9T311FOvLigoKE7rGV977bW45pprorq6WuAANFmbN2+OGTNmRI8ePaJ9+/apPGMmkykYNGjQIYWFhVOee+45v5UFAEDqKYABANipjjrqqFb/8R//8YdmzZq1SusZX3755bj++uujrq5O4AA0eQ0NDfHSSy9Fp06dolOnTqk8Y0FBQXbYsGGfnz9//qQ33nhjk9QBAEizLRXA3gEMAMB21a1bt+wNN9zwnyUlJR3TesYpU6bEjTfeGPX19QIHIDHq6+vjxhtvjKlTp6b2jCUlJZ1uuOGG/+jWrZu7GgAAyFsKYAAAtqunn376XyorK/dI6/kmTZoUd955ZzQ2NgobgMRpbGyMO+64I5588snUnrGysnLw008//UtpAwCQrxTAAABsN88///w3unTp8k9pPd/EiRNj3LhxkcvlhA1AYuVyubj//vtTXQJ36dLlS88+++yJ0gYAIB95BzAAANvFTTfdNPzII488L5PJZNJ4vsceeyzGjx8vaABS47XXXotmzZpF3759U3m+zp0779urV695Dz/88DJpAwCQNlt6B7ACGACAz+wXv/hF7x/+8IdXFxQUNEvj+R544IF45JFHBA1A6ixYsCDq6upiwIABqTtbJpPJDBo06ODGxsbnpk6dul7aAACkiQIYAIAd5oADDqj43e9+99tmzZq1TeP5xo0bF5MmTRI0AKm1aNGi2Lx5cwwcODB1ZysoKMjut99+w5577rnH33vvvc3SBgAgLbZUAHsHMAAA2yybzWbuvPPOfyktLe2exvNNmDBB+QtAXpg0aVI89NBDqTxbaWlpj3vuuedfstlsRtIAAOQDBTAAANvs+eef/06HDh0OTePZHn744Xj44YeFDEDeeOSRR+LPf/5zKs/WoUOHw5599tlvSxkAgHygAAYAYJvcd999hw8ePPjUNJ7t/vvvjwkTJggZgLzz2GOPxX333ZfKs+25554/+NOf/nSYlAEASDvvAAYAYKudccYZ3ceMGXN5QUFBcdrONnHixHjkkUeEDEDeWrx4cWSz2ejbt2/ajpbp06fPvn/5y18mz5w5c4OkAQBIsi29A1gBDADAVhk2bFjzG2+88Q/NmjVrl7azPfroo6l99CUAbI2FCxdGUVFR9OvXL1XnKigoKD7wwAP3e/LJJx9dsWJFnaQBAEiqLRXAHgENAMBWuffee39ZWlraPW3nevzxx+PBBx8UMAD8jz//+c8xceLE1J2rtLS0x3333fdLCQMAkFYKYAAAPrVJkyaN6tSp0xEpPFeMHz9ewADwD8aPHx+TJ09O3bk6der0hUmTJn1VwgAApJFHQAMA8Kmcd955fU888cR/z2QyRWk618yZM+Puu+8WMAB8jNdeey06duwYnTt3TtW5unbtuk9BQcHzzz333DopAwCQNN4BDADAZ3LEEUe0vOKKK67NZrOVaTrXyy+/HDfffHPkcjkhA8DHyOVyMXv27OjSpUt06tQpNefKZDJF++yzz/CpU6c+9u67726WNAAASeIdwAAAbLNsNpu55ZZb/q2kpKRjms61YMGCuPnmm6OxsVHIAPAJGhsb4+abb44333wzVecqLS3tcvfdd5+fzWYzUgYAIC0UwAAAbNGkSZO+3rZt2wPTdKZly5bFDTfcEPX19QIGgE+prq4urr322li+fHmqztWuXbsDH3/88VESBgAgLTwCGgCAj3XZZZcN+upXvzo2k8mk5hcH33///bjyyiujqqpKwACwlerq6uLll1+OIUOGRHl5eWrO1aVLl31LS0unPvPMM2ukDABAEngENAAAW61///4lJ5988q8ymUxRWs60YcOG+P3vfx8bN24UMABso40bN8bvfve7VP15WlBQkP3hD394ft++fYslDABA4q9vrQAAgI/y4IMPnl1WVtYrLeeprq6O3/zmN7Fq1SrhAsBntGrVqrjyyiujuro6NWcqKyvr8/DDD58lXQAAkk4BDADA/zF+/Pgju3XrdnRazlNfX5/KdxYCwK60fPnyuO6666K+vj41Z+rRo8dXx40bd4R0AQBIMgUwAAB/53vf+16nI4444py0nCeXy8Vtt90Wb7zxhnABYDt7/fXX47bbbotcLpeaMx155JHnfvvb3+4oXQAAkkoBDADA/6qoqCi4+OKLLywsLCxPy5nGjx8fs2bNEi4A7CCzZs2Khx56KDXnKSwsrPj1r399QUVFhZ+bAQCQSC5kAQD4XxMnThxdWVk5OC3nef7552PixImCBYAd7LHHHosXXnghNeeprKzc89FHHz1RsgAAJFFh5cDo+lFfaKyKqFmRtSEAgDxxwQUX7DZq1KgLM5lMYRrO8+qrr8Ytt9ySqkdSAkBT/7O3d+/e0a5du1Scp2PHjkNzudxzU6ZMWSddAACamrLO9VHwMc/wcwcwAADRt2/f4h//+McXZzKZVPwG4HvvvRc33HBDNDY2ChcAdpKGhoa47rrrYtmyZak4T0FBQfbss88e27dv32LpAgCQqGtZKwAAYPz48T8qKyvrkYazbNiwIX7/+99HbW2tYAFgJ9u0aVP8/ve/j40bN6biPGVlZb3GjRs3RrIAACSJAhgAIM/ddNNNw/v06XN8Gs5SX18f1157baxdu1awALCLrFmzJq699tqor69PxXn69ev3jd///vdDJQsAQFIogAEA8thBBx1Uceyxx/5rRGTScJ477rgjFi9eLFgA2MUWLVoUd955Z1qOU/CNb3zj34YNG9ZcsgAAJOIC1goAAPLXzTfffFZxcXG7NJxl4sSJMX36dKECQBMxbdq0mDRpUirOUlJS0unOO+88Q6oAACSBAhgAIE/913/914FdunT5UhrO8tprr8Wf//xnoQJAEzN+/PhYsGBBKs7SrVu3o2+66abhUgUAoKlTAAMA5KEvfelLlV/5yld+lYazrFixIq6//vpobGwULAA0MY2NjXHdddfFihUr0nCczHHHHfergw46qEKyAAA0ZQpgAIA8dPXVV5+ezWYrk36OmpqauPbaa2PTpk1CBYAmatOmTXHttddGTU1N4s+SzWbb3njjjT+RKgAATZkCGAAgz9x6663Du3Tp8uWknyOXy8Utt9wSK1euFCoANHErV66MW2+9NXK5XOLP4lHQAAA0dQpgAIA8MnTo0LKvfvWrv0jDWSZMmBBz584VKgAkxJw5c+Kxxx5LxVlGjRr1i6FDh5ZJFQCApkgBDACQR+64444fFRcXd0z6OV5++eV45JFHBAoACfPQQw+l4he4SkpKOt5xxx0/lCgAAE2RAhgAIE9cfvnlu/fs2XNU0s/xwQcfxB133JGKR0gCQL7J5XJx2223xZo1axJ/lp49ex57+eWX7y5VAACaGgUwAEAe6NatW/a73/3uv2YymURf/9XX18cNN9wQ1dXVQgWAhKqqqoobb7wx6uvrE32OTCZT8N3vfvdX3bp1y0oVAICmRAEMAJAHxo8ff0pZWVmvpJ/jnnvuiaVLlwoUABJuyZIlcd999yX+HGVlZT3Hjx9/ikQBAGhKFMAAACn385//vOeAAQNGJ/0c06dPjylTpggUAFJi8uTJMWPGjMSfY8CAAaN//vOf95QoAABNhQIYACDFstls5qyzzjo3k8kk+tGEK1asiLvvvlugAJAyd911V6xYsSLRZ8hkMtmzzjrr3Gw2m5EoAABNgQIYACDFxo0b98XKysq9knyG2trauOGGG6K2tlagAJAyf/1zfvPmzYk+R2Vl5V7jxo0bKVEAAJoCBTAAQEoNHz68/OCDDz4t6ee4//77Y/ny5QIFgJRavnx5jBs3LvHnGDFixI+HDRvWXKIAAOxqCmAAgJS69dZbT8tms22TfIYZM2bEc889J0wASLnJkyfHzJkzE32G4uLitrfffvtp0gQAYFdTAAMApNBVV121R48ePb6S5DOsXLky7rrrLmECQJ64++6744MPPkj0GXr27PnVK664Yg9pAgCwKymAAQBSprS0tOAb3/jGT5N8rdfY2Bi333679/4CQB6pqamJ2267LRobG5N8jIJvfvObZ5aWlvqZGwAAu+6i1AoAANJlwoQJX6uoqBiQ5DOMHz8+Fi1aJEwAyDNvvvlmPPjgg4k+Q4sWLQY9+OCDx0gTAIBdRQEMAJAiRx55ZOWwYcN+kOQzzJ07N5544glhAkCemjhxYixYsCDRZxg+fPiPjjjiiJbSBABgV1AAAwCkyBVXXHFyUVFRRVLnr6qqijvvvDNyuZwwASBP5XK5uP3226O6ujqxZygqKmrxm9/85mRpAgCwKyiAAQBS4vzzz+/Xu3fv45J8httvvz0+/PBDYQJAnlu3bl3cfvvtiT5D7969jz///PP7SRMAgJ1NAQwAkALZbDZz6qmn/jyTyST2+m769OkxZ84cYQIAERExe/bsmDFjRmLnz2QyBaeeeurPs9lsRpoAAOxMCmAAgBT44x//eERlZeXgpM6/du3auPfeewUJAPyde+65J9atW5fY+SsrKwf/6U9/+oIkAQDYmRTAAAAJ17dv3+JDDjnkR0k+w9133x01NTXCBAD+Tk1NTdx9992JPsPBBx/8o759+xZLEwCAnUUBDACQcHfdddc3S0pKOiV1/smTJ8e8efMECQB8pLlz58azzz6b2PlLSko63nPPPd+SJAAAO4sCGAAgwb70pS9VDhw48KSkzr9mzZoYP368IAGALXrggQdizZo1iZ2/f//+Jx111FGtJAkAwM6gAAYASLArrrji1MLCwvIkzp7L5eK2226LTZs2CRIA2KJNmzbFbbfdFrlcLpHzFxYWll1++eU/kCQAADuDAhgAIKF+8Ytf9O7evftXkjr/s88+G2+88YYgAYBP5Y033ojnn38+sfN369bt6F/96ld9JAkAwI6mAAYASKgf/vCHP8pkMom8nvvggw/igQceECIAsFXGjRsX69atS+TsmUym4NRTT/2xFAEA2NEUwAAACXTdddcNa9eu3YFJnD2Xy8Udd9wRtbW1ggQAtsqmTZvizjvvTOz8bdq02f+mm27aT5IAAOxICmAAgIQpLS0t+NrXvnZ6Uud/4YUXYuHChYIEALbJq6++GjNmzEjs/Mccc8zpFRUVfiYHAMAO42ITACBhbr/99oMrKip2S+LsGzZsiHHjxgkRAPhM7r///qiqqkrk7OXl5X3/67/+6wgpAgCwoyiAAQASpKKiouCwww47Nanz33vvvYn9YS0A0HRs2LAh7r///sTOf9BBB/1zq1atCiUJAMCOoAAGAEiQ+++//+iysrKeSZx9zpw58dJLLwkRANguXnjhhViwYEEiZy8tLe32xz/+8StSBABgR1AAAwAkRN++fYv33Xfff07i7LW1tXHvvfcKEQDYru6+++6oq6tL5Oz77bffKf379y+RIgAA25sCGAAgIW6++eZRxcXFbZM4+yOPPBJr164VIgCwXa1atSoee+yxRM6ezWbb3njjjV+TIgAA25sCGAAgAYYOHVq21157fSeJs7/33nvxxBNPCBEA2CEmTpwYK1asSOTsQ4YM+c7QoUPLpAgAwPakAAYASIBrr732xKKiosqkzZ3L5eKee+6JxsZGIQIAO0R9fX3cddddkcvlEjd7UVFR5bXXXnuCFAEA2J4UwAAATdwBBxxQMWDAgG8kcfYZM2bEW2+9JUQAYId6880348UXX0zk7AMGDPjG8OHDy6UIAMD2ogAGAGjirrrqqhOKiooqkjb3pk2b4oEHHhAgALBT3H///VFbW5u4uYuKilpcffXV7gIGAGC7UQADADRhBx10UEX//v0Teffvww8/HB9++KEQAYCdYv369TFhwoREzj5w4MBvHHDAARVSBABge1AAAwA0Yf/5n/95bGFhYfOkzb1q1aqYPHmyAAGAnerpp5+O1atXJ27uwsLC8ssuu2yUBAEA2B4UwAAATdQBBxxQMWjQoNFJnP3uu++O+vp6IQIAO1V9fX3cddddiZx99913/+bQoUPLpAgAwGelAAYAaKIuv/zyYwsLC8uTNvfcuXNjwYIFAgQAdokFCxbE3LlzEzd3UVFRi9/97ndflyAAAJ+VAhgAoAkaOnRo2aBBgxL37t+6urr405/+JEAAYJf605/+FHV1dYmbe/fdd//mkCFDSiUIAMBnoQAGAGiCfvOb33ylqKioZdLmfu655xL53j0AIF1Wr14dzz33XOLmLioqann11VcfLUEAAD4LBTAAQBPTq1evZoMHD/5m0uaurq6ORx55RIAAQJPwyCOPRHV1deLmHjJkyLe6deuWlSAAANtKAQwA0MTcdNNNxxQXF7dN2twTJkyIqqoqAQIATUJVVVUifzmtuLi43a233uouYAAAtpkCGACgCWnVqlXhXnvtdVLS5l61alU8++yzAgQAmpTJkyfHqlWrEjf30KFDR7dq1apQggAAbAsFMABAE3LLLbccXlJS0jlpcz/44INRX18vQACgSamvr48HH3wwcXOXlJR0vummmw6VIAAA20IBDADQRGSz2cwBBxzw7aTNvWjRonjppZcECAA0SS+99FIsXrw4cXOPGDHiO9lsNiNBAAC2lgIYAKCJuOaaa/YuLy/vm7S5H3roocjlcgIEAJqkXC6XyLuAy8vL+1111VV7SRAAgK2lAAYAaCK+8pWvfDdpM8+bNy8WLlwoPACgSVu4cGG8+uqrrg8BAMgLCmAAgCbgsssuG1RZWblPkmbO5XIxfvx44QEAifDAAw8k7qklrVu33veSSy7pLz0AALaGAhgAoAkYNWrUCUmbefbs2bFs2TLhAQCJsGzZsnjllVcSN/cJJ5xwovQAANgaCmAAgF3sn//5nzt37NjxiCTN3NjYGA888IDwAIBEGT9+fDQ0NCRq5k6dOn1h9OjRHaQHAMCnpQAGANjFfvSjH30tk8kk6rps2rRpsWrVKuEBAImyatWqeOGFFxI1cyaTKfzpT386SnoAAHxaCmAAgF1o0KBBpX369Plqkmaur6+PCRMmCA8ASKQJEyZEXV1dombu27fvV/r27VssPQAAPg0FMADALnTZZZcdXlRUVJGkmadOnRpr164VHgCQSOvXr48pU6YkauaioqLK3/zmN0dIDwCAT0MBDACwi2Sz2cy+++57UpJmrqurc/cvAJB4jz76aOLuAt5///1PymazGekBAPBJFMAAALvI1VdfPbSsrKx3kmaeMmVKbNiwQXgAQKJt2LAhnn/++UTNXFZW1ueqq67aS3oAAHwSBTAAwC7y5S9/+bgkzVtfXx8TJ04UHACQCo8//nji7gL+0pe+dLzkAAD4JApgAIBdYPTo0R3atm07IkkzT5s2LdatWyc8ACAVPvzww5g+fXqiZm7fvv2I0aNHd5AeAABbogAGANgFfvrTn47KZDKFSZm3vr4+HnnkEcEBAKnyyCOPRH19fWLmzWQyhT/96U+/JjkAALZEAQwAsJN16tQp26dPn6OTNLO7fwGANFq3bl1MmzYtUTP36dPnmE6dOmWlBwDAx1EAAwDsZFddddUB2Wy2dVLmbWxsjEmTJgmOVOvYsWN06OCJmgD5aNKkSdHY2JiYebPZbOurrrrqAMkBAPBxFMAAADvZiBEjvp6keV988cVYtWqV4Ei1Ll26xIUXXhinnXZadO3a1UIA8siqVavipZdecj0JAEBqKIABAHaiM844o3tlZeXeSZk3l8vFxIkTBUdeyGQyMXjw4PjVr34VY8aMcUcwQB55/PHHI5fLJWbeysrKvc8444zukgMA4KMogAEAdqJTTjnlqxGRScq8CxYsiPfee09w5JVMJhN77713XHjhhTFmzJho3769pQCk3HvvvRcLFy5M1B9X/3NdCQAA/4cCGABgJ+nVq1ezXr16fTlJM3v3L/nsr0XwBRdcECeffHK0bdvWUgBSLGnXPb169fpyr169mkkOAIB/pAAGANhJrrjiioOLiopaJmXeBN4JAztEYWFhDB8+PC688MIYPXp0VFZWWgpACi1YsCCWLVuWmHmLiopaXnnllYdIDgCAf6QABgDYSYYPH/6VJM2btHfhwY5WVFQUI0aMiEsuuSRGjx4dLVu2tBSAFMnlcvH4448naub99tvvK5IDAOAfKYABAHaC0aNHd6isrByalHnXrl0bL7/8suDgI/y1CL744ovjhBNOiBYtWlgKQEq89NJLsW7dusTMW1lZudfo0aM7SA4AgL+lAAYA2AlOP/30o5J07fXMM89EQ0OD4GALiouL47DDDouxY8fGqFGjoqyszFIAEq6hoSGeeeaZJI1c8D/XmQAA8P8vEq0AAGDHymazmX79+n05KfPW1tbGlClTBAefUnFxcYwcOTIuvfTSGDVqVJSWlloKQII9//zzUVtbm5h5+/Xr9+VsNpuRHAAAf6UABgDYwX7zm9/sWVJS0jkp886YMSOqq6sFB1uppKQkRo4cGZdcckkcffTRUVJSYikACVRdXR0zZ85M0p8/na+44orBkgMA4K8UwAAAO9gXvvCFLyVl1lwuF08//bTQ4DNo3rx5HHXUUXHJJZfEyJEjI5vNWgpAwjz11FORy+USM++RRx75ZakBAPBXCmAAgB1oyJAhpZ07dz4iKfO+/vrrsWLFCsHBdlBeXh6jRo2KSy+9VBEMkDArVqyI119/PTHzdunS5fD+/ft79AQAABGhAAYA2KHGjh17aGFhYWJeCOruX9j+KioqYtSoUXHxxRfH4YcfHkVFRZYC4LpouyosLGz+H//xHwdLDQCACAUwAMAOteeeex6ZlFnXrl0b8+bNExrsIK1atYrjjz8+LrroohgxYkQUFPh2DKApmzdvXqxZsyYx8+61115HSg0AgAgFMADADnPMMce0bt269b5Jmfe5556LxsZGwcEO1qZNmxg9enRcfPHFimCAJqyxsTGee+65JP35MvyYY45pLTkAAPykAQBgBznzzDMPz2Qyibje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FpafffbZvaQFAJA+CmAAgE9p//3375+EOV9//XVhAXmjvLw8Ro0aFf/+7/8eI0eOjGw2aymA67FP6fOf//xAaQEApI8CGADgU+rRo8fuTX3G2traePvtt4UF5J2KiooYNWpUXHzxxXH44Yc3+XdvAum2ePHiRLySo1evXoOkBQCQPgpgAIBPqXXr1k3+DoklS5ZEQ0ODsIC81apVqzj++OPj4osvjhEjRkRBgW97gZ2voaEhlixZ0uTnbNOmjQIYACCFfCcMAPApDBkypLR58+a9m/qcb775prAAIqJ169YxevToGDt2rCIYcF32MZo3b95n0KBBpdICAEgX3wEDAHwKp556av9MJtPkr53eeustYQH8jTZt2sTo0aPjvPPOi+HDhyuCAddlfyOTyRT84Ac/+Jy0AADSxXe+AACfwuDBg5v84/Hq6+tj0aJFwgL4CJ06dYqTTz45/u3f/i323nvvyGQylgLsUIsXL07Eqzn23HPPgdICAEgXBTAAwKfQpUuXAU19xnfeeSfq6uqEBbAFnTt3jjFjxiiCgR2utrY23n333SRc53oPMABAyiiAAQA+hZYtW/Zv6jN6/DPAp9elS5cYM2ZMnHvuuTF48GALAfL2+iwJ17kAAGwdBTAAwCcYPnx4eUlJSeemPqfHPwNsvV69esVpp50W55xzTvTvrwMB8u/6rLS0tPPw4cPLpQUAkB4KYACAT/Ctb31rt4ho8s8IXbx4sbAAtlGfPn3irLPOinPOOSd22203CwG2i4T8gl7m29/+dj9pAQCkhwIYAOAT7L777k2+CVi7dm1s2LBBWACfUZ8+feLss8+OM888M3r27GkhwGfy4Ycfxrp165r8nAMHDlQAAwCkSJEVAABsWadOnZr8D8TefvttQQFsRwMGDIgBAwbEggULYvz48bF06VJLAbb5Oq1Vq1audwEA2GkUwAAAn6CyslIBDJCnBgwYEP3794958+bFQw89FO+++66lAFtlyZIlsddeezX1613PvgcASBEFMADAFnTq1CnbvHnzXk19ziVLlggLYAfJZDIxePDg2GOPPeLll1+OBx98MFauXGkxQGqu05o3b967Xbt2RatXr66XGABA8nkHMADAFowZM6ZnJpPJNuUZGxsbPZoUYCfIZDKx9957x4UXXhhjxoyJ9u3bWwrwiZYuXRqNjY1NesaCgoLsqaee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k8nE7NmzY+LEibFmzRoNAXif/VNSzJo161kTAwBongTAAAC70O233/7KOeecszU/P78022sdMGBAtG/f3tWu0My9+uqrMWnSpFi1apVmALyPjh07xgEHHJCIWhsbG6u/8Y1v/NXUAACaJwEwAMAutHLlyob169fP6tat2+hsrzWVSsXhhx8ekyZNMjhohubMmROTJ0+OJUuWaAbAh3D44YdHKpVKRK3r16+fVVFR0WhqAADNU54WAADsWq+++mpirts77LDDDAyamTfffDP+/d//PX7yk58IfwE+pFQqFSNGjEhMva+88sozpgYA0Hw5AQwAsIvddNNNz5166qnV+fn5rbO91m7dukX//v1j4cKFBgc5btmyZfHYY4/F/PnzNQPgIzrggAOic+fOiai1sbFxy4033jjL1AAAmi8BMADALrZy5cqG8vLyGT179vx0Euo9+uijBcCQw5YvXx7jxo0T/AJ8wv1SUpSXlz9TXl7eYGoAAM2XABgAYDeYMWPGUxdccEEiAuAhQ4ZE69ato7q62uAgh6xcuTImTJgQc+fOjUwmoyEAH1ObNm3i0EMPTUy9zz777FOmBgDQvPkGMADAbvDVr371lYaGhk1JqLWgoCCOOOIIQ4McsW7duvj5z38ed955Z8yZM0f4C/AJjRw5MvLz8xNRa0NDw8abbrrpVVMDAGjenAAGANgNKisrm1atWjW9T58+5ySh3qOPPjqefPJJQREk2Pr16+Oxxx6L2bNn+3cZYBdJpVIxatSoxNS7cuXKadXV1WmTAwBo3pwABgDYTaZNm5aY6/c6duwYAwYMMDRIoA0bNsSvf/3r+Nd//dd49dVXhb8Au9CAAQOiY8eOian36aefftLUAAAQAAMA7CZf+9rX5tTX11ckpd6jjjrK0CBBqqqq4v77749vf/vb8eKLL0ZTU5OmAOxiRx55ZGJqra+vX/eNb3zjdVMDAMAV0AAAu0ltbW16xYoVT++///6fT0K9hx56aLRt2zaqqqoMD7LYli1bYsqUKfHcc8/F9u3bNQRgN2nbtm0MGTIkMfUuX778qdraWtc/AwDgBDAAwO70xz/+cUJSas3Pz4/jjjvO0CBL1dTUxKOPPhq33XZb/OUvfxH+Auxmxx57bOTn5yel3Myvf/3rCaYGAECEABgAYLe66667llZXV89PSr1HH310tGjRwuAgi7wd/H7jG9+IqVOnRn19vaYA7GYtWrSIo48+OjH1btmy5Y177rlnhckBABDhCmgAgN3u9ddfn3T44YcPSEKtxcXFcdhhh8XMmTMNDvayurq6ePrpp2PatGmxbds2DQHYgw477LAoKSlJTL3z5s17wtQAAHibE8AAALvZ9773vanpdLohKfWecMIJkUqlDA72koaGhpg6dWrceuut8fjjjwt/AfawVCoVJ5xwQmLqTafT27/73e8+ZXIAALzNCWAAgN1s+vTpWyoqKmZ26dIlER/Y7d69e/Tv3z/efPNNw4M9qKGhIaZNmxZPPfVUVFdXawjAXnLAAQdE9+7dE1NvRUXFczNmzPAXBwAA/+QEMADAHjBr1qxEXcuXpFMvkHTpdDqee+65uP322+PRRx8V/gLsZccff3yi6p0xY8YkUwMA4J2cAAYA2AO++tWvvnT66adXFRYWtk1CvQMHDoyOHTvGhg0bDA92k3Q6HbNmzYrJkyfHxo0bNQQgC3Ts2DEGDhyYmHobGhoqb7755pdMDgCAd3ICGABgDygvL29YsWLF1MRsEvPy4sQTTzQ42A3S6XS8+OKL8Z3vfCfuv/9+4S9AFjnppJMiLy85r8tWrFgxpaKiotHkAAB4JwEwAMAe8qtf/erRiMgkpd6jjjoqysrKDA52kUwmE6+++mp873vfi1//+texdu1aTQHIImVlZXHUUUcl6q+W//7v//6zyQEA8G4CYACAPeQ///M/l1dWVv4tKfUWFhbGMcccY3CwC7wd/P785z+PNWvWaAhAFjruuOOioCA5X0urqqqa/dOf/nS1yQEA8G4CYACAPeill14al6R6jzvuuCgqKjI4+JjmzJkTd911V/z85z+P1au9owfIVkVFRYn7xbcXXnhhnMkBALAzBVoAALDnjB079pkFCxZUFhYWtktCvSUlJXHEEUfE9OnTDQ8+gjfffDPGjx8fb731lmYAJMCRRx4ZJSUliam3oaFh0zXXXPOsyQEAsDMCYACAPai8vLxh6dKlE/v3739xUmo+8cQT49lnn410Om2A8AEWLVoUjz32WCxevFgzABIiLy8vTjzxxETVvGTJkifKy8sbTA8AgJ3ucbUAAGDP+u1vfzsxIjJJqbdjx44xdOhQg4P3sXz58rj77rvjRz/6kfAXIGGGDRsWHTp0SFLJmd/85jePmxwAAO9FAAwAsIf953/+5/JNmza9kqSaTz/99EilUoYH77Jy5cr4yU9+Et///vdj/vz5GgKQMHl5eXHGGWckquZNmza9fM8996wwPQAA3osroAEA9oKXXnpp/KmnnnpYUurt2rVrDBkyJGbPnm14EBHr1q2L8ePHx+zZsyOTyWgIQEINHTo0OnfunKiaX3jhhQkmBwDA+xEAAwDsBZdffvkzS5YsWVdUVNQlKTWfccYZ8be//U3YRbO2fv36eOyxxwS/ADkglUrF6aefnqia6+rq1lx22WXTTQ8AgPcjAAYA2AsqKyub5s+f/8ihhx56dVJq7tatm1PANFsbNmyIxx9/PF555ZVoamrSEIAc8KlPfSq6du2aqJrfeOONcdXV1WnTAwDg/fgGMADAXvL1r399XDqdrktSzb4FTHNTVVUV999/f3z729+OF198UfgLkCNSqVR8+tOfTlTN6XS69pvf/OZjpgcAwAdxAhgAYC+ZMWNG9Zo1a/7Ss2fPxLx97N69ewwcODDmzJljgOS0LVu2xIQJE+KFF16IxsZGDQHIMYceemh069YtUTWvXr36qRkzZlSbHgAAH8QJYACAvejXv/71HyMiUR8SPeuss5wCJmdt27YtHn300bjtttviueeeE/4C5KC8vLwYM2ZM0srO/OpXv/qT6QEA8KH2vFoAALD3fP/733+rqqoqUR/V7dGjR3zqU58yPHJKfX19TJ06Nb71rW/F1KlTo76+XlMActSIESOiS5cuiap506ZNf73rrruWmh4AAB+GABgAYC975plnHkpazWeccUbk5dlKkjvmzZsXjz76aGzdulUzAHJYQUFBnH766Ymre9q0aQ+aHgAAH5a3dgAAe9nYsWNn1tfXr01SzZ07d47DDjvM8ACARBk5cmR06NAhUTXX1dWtHjt27POmBwDAhyUABgDYyyorK5tee+21Pyat7jPPPDMKCgoMEABIhBYtWiTy9O/s2bP/UF1dnTZBAAA+LAEwAEAWuOqqqyY0NjZWJanm9u3bx9FHH214AEAiHHfccdGmTZtE1dzQ0LDxiiuumGh6AAB8FAJgAIAssGDBgrqFCxc+lrS6R48eHYWFhQYIAGS1li1bxsknn5y4uhcuXDhu6dKl200QAICPQgAMAJAlvv71r/8pnU7XJqnmtm3bximnnGJ4AEBWO+2006K0tDRRNTc1NdV+7Wtfe8j0AAD4qATAAABZ4umnn968fPnyxF3xN3r06GjXrp0BAgBZqUOHDnH88ccnru5ly5ZNmD59+hYTBADgoxIAAwBkkbvvvvtPmUymKUk1FxYWxumnn254AEBWOvPMMxP3yYpMJtN41113/dH0AAD4OATAAABZ5Be/+MWatWvXTkta3UcccUT06tXLAAGArNK7d+847LDDEld3eXn5X+6///51JggAwMchAAYAyDIPP/zwn5JWcyqVijPPPNPwAICsMmbMmEilUomr+8EHH/yT6QEA8HEJgAEAsszXv/71NzZs2DAraXUPHDgwDj74YAMEALLCoEGDYsCAAYmru6KiYuatt966wAQBAPi4BMAAAFlo3Lhxv01i3WPGjIm8PFtMAGDvysvLizFjxiSy9j//+c+/NUEAAD7RflgLAACyz/XXXz+nqqrqr0mru1evXnHUUUcZIACwVx1zzDHRvXv3xNW9adOmV2666aa5JggAwCchAAYAyFJ/+tOf7k1i3WPGjInS0lIDBAD2ijZt2sRZZ52VyNofeOCBe00QAIBPSgAMAJClbrrpprlJPAVcXFwcZ555pgECAHvFWWedFS1btkxc3Zs2bXrl5ptvnmeCAAB8UgJgAIAsNm7cuF8lse5Ro0ZF7969DRAA2KP69OkTI0eOTGTtjz322K9MEACAXUEADACQxcaOHTu7qqrqb0mrO5VKxfnnnx+pVMoQAYA9tv/4/Oc/n8j9R2Vl5d+uueaav5kiAAC7ggAYACDLTZ069bdJrLtv374xZMgQAwQA9ojDDjsssTeQTJ48+TcmCADAriIABgDIcpdeeumLVVVVryax9s9//vNRXFxsiADAblVaWhrnn39+Imuvqqr66+WXX/6SKQIAsKsIgAEAEuChhx76WRLrLisri9NPP90AAYDd6qyzzoqSkpIklp753e9+91MTBABgVxIAAwAkwA033DB3w4YNs5JY+3HHHRd9+vQxRABgt+jbt28cddRRiay9oqJi1te//vU3TBEAgF1JAAwAkBA///nPfxoR6aTVnUql4vOf/3zk5dl6AgC7Vn5+flx00UWRSqWSWH76F7/4xX+bIgAAu5q3cAAACXHHHXe8tW7duulJrL13795xzDHHGCIAsEudcMIJ0b1790TWXl5e/pc77rjjLVMEAGBXEwADACTI3XfffW8mk2lKYu1nnXVWtG3b1hAB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onv37vEv//IvccABBzSrdWcymaYnnnji9s997nPPeAoAAODDEQADAJBYDz/88NJjjjlmY+/evY+KiGZzFKq0tDSGDx8eq1evjvXr13sQAHLcwIED45prrol27do1t6VnZsyY8YOzzjprqqcAAAA+PAEwAACJdv/99795zDHHVO6zzz5HRDMKgVu0aBGHHXZYtGzZMhYuXBjpdNrDAJBjCgoK4pxzzonzzz8/WrRo0dyWn37uuefuOuWUUyZ4EgAA4KMRAAMAkHi///3v5w8bNmxF3759j2lO10GnUqno27dvDB06NBYvXhxbtmzxMADkiJ49e8YNN9wQgwcPblbf+434x7XPU6ZM+fbpp58+2ZMAAAAfnQAYAICc8OCDDy4ZNmzYin79+jWrEDgionXr1nHEEUdEfX19LF261MMAkGCpVCpOOOGEuOKKK6JNmzbNbv07wt9vnXPOOX/xNAAAwMcjAAYAIGc89NBDS4YNG7a8X79+xza3EDg/Pz8OPvjg6NWrV8yfPz8aGho8EAAJU1JSEpdffnmccMIJkZ+f3+zWn8lkGp944olvffazn53maQAAgI9PAAwAQE556KGHlo4cOXJdnz59RqWa252ZEdG1a9cYNmxYLFu2LCorKz0QAAnRt2/fuO6662K//fZrluvPZDLpp59++rvnnHPO054GAAD4ZATAAADknD/96U+LDj300KX7779/s7sOOiKiuLg4jjzyyCgpKYk333wz0um0hwIgSxUUFMRnP/vZuPDCC6OkpKRZ9iCdTjc88sgjt5x//vnTPREAAPDJCYABAMhJDz/88NId3wQelUqlmt09mqlUKvr06RMHH3xwLFy4MLZt2+ahAMgynTt3jrFjx8bQoUOjGV5aERH/CH+feOKJ2y+88MLnPBEAALBrCIABAMhZDz300JIePXq8NmjQoGPz8vJaNMcetG3bNkaNGhVNTU2xZMkSDwVAFkilUjF69Oi48soro0OHDs22D01NTdt++9vf/stll132oqcCAAB2HQEwAAA5bdKkSeXdu3efM3jw4GYbAufn58eAAQOiV69esWDBgti+fbsHA2Avad26dVx66aVx/PHHR35+frPtQ2NjY/WvfvWrf7nuuute81QAAMCuJQAGACDnTZ48eW1jY+OMI4444uiCgoKS5tqHrl27xqhRo2Lbtm2xcuVKDwbAHpRKpWLUqFExduzY6NWrV7PuRX19/fo77rjjK9/61rcWejIAAGDXEwADANAsPP/881UbNmx45rjjjjuqsLCwrLn2obCwMAYNGhT77bdfLF68OGpraz0cALtZ+/bt44orrogTTzwxCgub9/uU2tralTfffPPVP/nJT1Z7MgAAYPcQAAMA0Gz87W9/27p27doZJ5xwwsjCwsK2zbkXnTp1ipEjR0Z1dbXTwAC70ciRI+Pqq6+OHj16NPte1NTULL/hhhuu/e1vf7vOkwEAALuPABgAgGbltdde2zpv3rynTznllKFFRUWdmnMvCgsL49BDD4399tsvFi1a5DQwwC709qnfk08+udmf+o2I2Lx587yLL774unHjxm30dAAAwO71fgFwat9zYsTOftC4LmLjq610DwCAxOrVq1fhs88++69du3Y9QTciGhoaYurUqTF58uRobGzUEICPqaCgIE499dQYPXq04HeH8vLyp4499tjvrly5skE3AABg9+swrDYKuuz8ZwJgAAByWuvWrfNeeumlm/fdd9+zdeMfVq9eHffff38sWbJEMwA+ov322y8uuugi1z2/w8KFC38/fPjwnzY0NGR0AwAA9gwBMAAAzd7zzz9/8aGHHnp1RKR0IyKTycTMmTPjz3/+c9TV1WkIwAcoKSmJ8847L0aMGBGplL9Kdki//PLL9xx77LEPagUAAOxZ7xcA+wYwAADNwn333Tfn+OOP39yrV6/DQwgcqVQqevfuHcOHD49169ZFRUWFhwTgPRxyyCExduzY6N+/v/B3h0wm0/jMM8/828knnzxONwAAYM97v28AC4ABAGg2fve7370xePDgJf369Ts6lUrl60hEcXFxjBgxInr06BFLly6N2tpaTQHYoUOHDvGFL3whzjzzzCguLtaQHZqammoeeOCBWz73uc9N1w0AANg7BMAAALDDww8/vKygoOC54cOHH1FQUFCqI//QrVu3OO6446K0tDQWL14cTU1NmgI0Wy1btoxzzjknLr300ujevbuGvENtbe2K22677arbbrvtDd0AAIC9RwAMAADv8Oyzz25avHjx0yeddNKQoqKiTjryD3l5edGnT58YOXJkbN26NVatWqUpQLNz+OGHx1e+8pUYMGBA5OXlacg7VFVV/e3CCy+8/oEHHvDdAAAA2MsEwAAA8C7z58+vefbZZ58+44wz+hcX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OigOOOCAKCoq0pQs0djYuGXmzJk/PvPMMyc2NDS4XgAAAPjQBMAAAJADjjzyyNY/+9nPrujbt++5EZGnI9mluro6Fi5cGPPnz4958+ZFZWWlprBXtGvXLg455JAYMGBA9O/fP1q39nsjWSj91ltv/fmqq676xaxZs6q1AwAA+KgEwAAAkEN++ctfjhgzZsyNrVq16q0b2SmdTsfKlStj0aJFsXDhwli8eHFs27ZNY9gtSkpKol+/ftG/f//Yf//9o1evXpGX53dEslVNTc3yRx999EdXXnnlK7oBAAB8XAJgAADIMd26dSt8+OGHPzd48ODL8vPzbdyzXCaTiTVr1sTChQtj0aJFsWjRotiyZYvG8LGUlZVF//79/xn6du/ePVKplMZkuaampprXXnvtV2PGjHmgoqKiUUcAAIBPQgAMAAA56rjjjiv7r//6r8tdC508mzdvjuXLl8eKFSti+fLlsXjx4qipqdEY/pfi4uLo169f9O7dO/bZZ5/Yd999o6ysTGMSJJPJpJcsWfLn66677pfTp0/3mx8AAMAuIQAGAIAc99Of/nTIueeee3NpaWlf3UimxsbGWLlyZSxdujSWLVsWy5cvj3Xr1kUmk9GcZiKVSkWXLl1in332iT59+kSfPn2iV69eUVBQoDkJtXXr1sUPPvjgj6699tq/6wYAALArCYABAKAZaNeuXf64cePOGTp06BUFBQWtdST56uvrY+XKlf88KbxixYpYu3ZtpNNpzUm4vLy86Nq1a+yzzz7//KdXr17RsmVLzckBjY2NW/7617/+4pxzznm0srKySUcAAIBdTQAMAADNyIknntjmnnvuuXzfffcdk0qlHB3MMdu3b481a9bEmjVrYu3atbF27dooLy+PDRs2CIazUF5eXnTs2DG6desWXbt2jW7dukW3bt2iR48eUVhYqEE5JpPJNC5ZsuRR1z0DAAC7mwAYAACaoa9+9av7Xnfdddd16NDhCN3IfY2Njf8MhNetWxfr1q2LioqKWLduXWzbtk2DdrPS0tLo3LnzP//p0qVLdO3aNbp27eoK52Ziw4YNM//rv/7rxz/60Y+W6wYAALC7CYABAKAZ++UvfznirLPOuq64uNj3gZupmpqaWL9+/T//qaioiMrKyqisrIxNmzZFY2OjJn2AgoKCaN++fbRr1y7at28fHTt2jC5dukSnTp2ic+fOUVxcrEnN1NatW98aP378PVdcccXLugEAAOwpAmAAAGjm2rVrl//ggw+eOWLEiCsLCwvb6gjvtHnz5n+GwZs2bYrKysqorq6OLVu2xJYtW6K6ujqqq6sjk8nk3NpTqVS0bt06WrduHWVlZdGmTZsoLS39X2Fvu3btok2bNh4U/peGhobKl1566efnnHPO+OrqavevAwAAe5QAGAAAiIiIoUOHFt97770XHHjggRfk5+c7ssiHlk6n/xkEV1dXR01Nzfv+k8lkora2NtLpdNTX10dTU1PU1dXt0u8U5+XlRcuWLSM/Pz+KiooiLy8vWrVqFalUKoqLi3f6T0lJSbRq1eqfgW9paWnk5eUZMB9aU1NTzYIFC/745S9/+Y+zZ8+u0REAAGBvEAADAAD/y2mnndb2rrvuurRPnz5n5+XlFeoIe9LbgfDbtm/f/r7XUBcUFESLFi3++b/fDnxhT8pkMg1LliwZd8stt/xq0qRJVToCAADsTQJgAABgp0477bS2d95554X777//5wTBAP9XJpNpWLhw4QO33nrrHwS/AABAtni/ADi/7UHRc2c/SG+LqC33/gcAAHLZokWL6u69995X0un0swcddFCnkpKS3roC8A8VFRUz/7//7/+77aKLLpq6aNGiOh0BAACyRXH3xsgr3fnPBMAAAEDMnDmz8u67736qqalpWr9+/Ypbt27dN5VKpXQGaG4ymUx6zZo1U+65555/Peeccx6cOXNmpa4AAADZRgAMAAB8KDNnzqz88Y9//Gw6nZ4uCAaak7eD37vvvvtfzz///McEvwAAQDYTAAMAAB+JIBhoLgS/AABAEgmAAQCAj+XtILisrOyFvn37diwuLu4VEYJgIBdkKioqnrv33nu/PWbMmEcEvwAAQJK8XwCc2vecGLGzHzSui9j4aivdAwAA/unqq6/u8ZWvfOX8Pn36nJWXl9dCR4CkSafT9UuXLh3/X//1Xw/84he/WKMjAABAEnUYVhsFXXb+MwEwAADwkZ1xxhntb7/99rMPPPDA8/Pz81vrCJDtmpqaqhcsWPDgd77znUcmTpzotC8AAJBoAmAAAGC3GD58eMkPf/jDzwwePPjioqKijjoCZJv6+voNr7322u9vvPHGx2fPnl2jIwAAQC4QAAMAALvV0KFDi++5556zDjnkkPOKioq66giwt9XV1a19/fXXH7z++uvHC34BAIBcIwAGAAD2iFatWuXdc889w0455ZTzO3bseJSOAHtYZsOGDbOmTJny4PXXX/9qbW1tWksAAIBcJAAGAAD2uH/913/tf/7555/dq1ev0/Ly8lroCLC7pNPp+pUrV05+4IEHHvnOd76zSEcAAIBcJwAGAAD2mjPOOKP97bfffvYBBxzw2YKCgjY6AuwqjY2NVW+++eafv/e97z06YcKETToCAAA0FwJgAABgrxs+fHjJ97///dGDBg0aU1paur+OAB9XdXX1wtdee+3Rr371q1Nfe+21Wh0BAACaGwEwAACQVb761a/ue8EFF3y6b9++ZxUUFLTWEeCDNDY2bnnrrbfG/+EPf5j4ox/9aLmOAAAAzZkAGAAAyEpDhw4t/sEPfnDy4MGDz27dunV/HQHerbq6+s2XX375weuuu+7ppUuXbtcRAAAAATAAAJDlCgsLU3ffffeQ0aNHn9G1a9fj8vLyinQFmq90Ol1XXl4+bcqUKROuvfbav+sIAADA/yYABgAAEqNPnz4t/v3f/33UyJEjz2rfvv2nIiKlK9AsZDZt2vTXF1544bGvfe1rzzntCwAA8N4EwAAAQCJddNFFXa6++uqTDzzwwLNbtmzZTUcg99TV1a1ZsGDBuJ/+9KdP3n///et0BAAA4IMJgAEAgETr1q1b4d13333k4YcffmqHDh2OyMvLK9QVSK50Ot2wcePGWbNmzZp8/fXXz6qoqGjUFQAAgA9PAAwAAOSMo48+uvWtt956/CGHHHJKu3btBkdEnq5AIqQrKytfmzdv3uQ777xz+owZM6q1BAAA4OMRAAMAADnpuOOOK/vGN75x/CGHHHJa27ZtB4bvBUO2yVRVVc2dN2/epO9///vTpk+fvkVLAAAAPjkBMAAAkPNuu+22vmedddZJffr0Oa5Vq1a9dQT2ntra2uXLly+f/uijjz51xx13vKUjAAAAu5YAGAAAaFa+9KUvdbv44ouP7t+//wlOBsMekamqqpq7cOHCv/z+97+fcd9995VrCQAAwO4jAAYAAJqtSy65pOtll112jDAYdrl0VVXVvIULF/7lV7/61bO/+93v1moJAADAniEABgAAiIirr766x/nnnz9q//33P7JNmzZDUqlUga7Ah5fJZBoqKyv/vnjx4uf+9Kc/zbr33ntX6woAAMCeJwAGAAB4l379+hV97WtfGzRy5MhRPXv2PLaoqKizrsD/VV9fv37VqlXPvPDCC8/9+7//+5zFixfX6woAAMDeJQAGAAB4H61bt8678847Bx599NFHde/efURpaen+4apomq/M1q1bF69Zs+bF5557btY3v/nNOdXV1WltAQAAyB4CYAAAgI9g8ODBrcaOHXvI8OHDD+vevfvw1q1bHxACYXJXprq6+s01a9a88sorr7z8k5/8ZN5rr71Wqy0AAADZSwAMAADwCVx//fX7nHHGGYf169dvePv27Yfm5+e31hWSrLGxsXrjxo2vvvXWWy+PHz/+lR//+McrdQUAACA5BMAAAAC70Je//OUe55xzzvA+ffoM7tix45CioqKuukI2q6+vX7t27doXFy9ePGfixImv3Xvvvat1BQAAILkEwAAAALvRl7/85R6f+cxnBvfr129Qly5dDm/ZsqVAmL2qrq5u7bp16wS+AAAAOUoADAAAsIe0atUq75prrtnn2GOPPXi//fY7uH379oeUlpb2TaVS+brDbpKuqalZtnHjxnlvvfXW3GeffXbef/3Xfy2vra1Naw0AAEBuEgADAADsRQceeGDLq6+++oAhQ4Yc3LNnz4Pbtm17sGuj+biampqqq6qqXi8vL583Z86ceb/85S/nvfjii1t1BgAAoPkQAAMAAGSZoUOHFn/xi1/cf9CgQQf26NHjwHbt2h3YqlWr3qlUKk932CFdU1OzvLKycsHq1asXzJkzZ8Gf//znJTNmzKjWGgAAgOZNAAwAAJAAxx13XNkFF1xw4MEHH3xA165dDywtLd23pKRkn1QqVag7uS2TyTRs27ZtRXV19dJ169YtfOONNxZOmDBh4YQJEzbpDgAAAO8mAAYAAEiw8847r+OJJ57Yp3///vt16dKlT5s2bfZr3bp1v/z8/GLdSZampqaa6urqxZs3b16ybt26pQsXLlzy9NNPL33ooYc26A4AAAAflgAYAAAgx7Rr1y7/kksu6TFkyJCe++67b89OnTr1Kisr61VcXNyzZcuW3VKpVL4u7R2ZTKaprq6uvKamZtWWLVtWVlRUrFy6dOnK2bNnr7r//vvXVFZWNukSAAAAn4QAGAAAoBnp1KlTwec+97luQ4cO7bnPPvv0aNeuXafWrVt3Li4u7tqyZcvORUVFnfLy8lro1MeTTqe319fXr6+rq6uoqalZW11dvb6y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AACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoMY3JP//9K8My551lzpAk293a7QAAAAAAAAD8iIw3r+SL7TpPxuSt4/ibJJuz20QDBgAAAAAAAHhzrJPp6NvHYcyyjLl7dJTPbl/Jp6sPLufSsM+5ec7q5YOrF0OeP/SVaAAAAAAAAIA3weH7u6zfm79dWDIMSw6225w785vsx3XyzasOby5ssz69c4sAAAAAAAAAr9n69C6bC9sT93a7rKdnORin5Otxynzi1JQcfiwCAwAAAAAAALxO69O7HH68TaaT98cp85R8vbp3Nfszv8q0LHn7xMF1sjk/ZzUPmZ/MmWefhAYAAAAAAAD4oayPdjn7223Gn7x6ZrXPnetX8mBKkpv3cufDd/Pufn5FL56SzcVtNheT3dNt8tQlAwAAAAAAAHyv1sm0ySv/9XtsNWZ3I/lHkgzHi7/4XY7WYz5yiwAAAAAAAAA/Ivtcv/3nPEyS1fHa42t5+vNLyX7JoRsCAAAAAAAAePPt1/nbV3/KvePn1Xc371/NYxEYAAAAAAAA4M0yTHk2rvNo2WdzvHZqzN9v/SF3vju3evng/at5fPDLPDu1yuGyZHSVAAAAAAAAAK/XOGe4ueSvZ4e8M8xZbVe5ceuPufvy3Oqkw4+v5emDX+fuuTlLhhwsEYIBAAAAAAAAXpclGR8OuXP0TR4cPM/9z/+SRyfNDf/1TZezOp/87KdjzizJZkhO7edMy/w/nAUAAAAAAADg/zaMWcZkP8/ZLsmLacr2/MV8+cnvs/tP5/4FmLjAq1ifcioAAAAASUVORK5CYII="; +function getSmartParseNumber(size, xyDir, layout) { + if (typeof size === "string" && !isNaN(Number(size))) + size = Number(size); + if (typeof size === "number" && size < 100) + return inch2Emu(size); + if (typeof size === "number" && size >= 100) + return size; + if (typeof size === "string" && size.includes("%")) { + if (xyDir && xyDir === "X") + return Math.round(parseFloat(size) / 100 * layout.width); + if (xyDir && xyDir === "Y") + return Math.round(parseFloat(size) / 100 * layout.height); + return Math.round(parseFloat(size) / 100 * layout.width); + } + return 0; +} +function getUuid(uuidFormat) { + return uuidFormat.replace(/[xy]/g, function(c) { + const r = Math.random() * 16 | 0; + const v = c === "x" ? r : r & 3 | 8; + return v.toString(16); + }); +} +function encodeXmlEntities(xml) { + if (typeof xml === "undefined" || xml == null) + return ""; + return xml.toString().replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'"); +} +function inch2Emu(inches) { + if (typeof inches === "number" && inches > 100) + return inches; + if (typeof inches === "string") + inches = Number(inches.replace(/in*/gi, "")); + return Math.round(EMU * inches); +} +function valToPts(pt) { + const points = Number(pt) || 0; + return isNaN(points) ? 0 : Math.round(points * ONEPT); +} +function convertRotationDegrees(d) { + d = d || 0; + return Math.round((d > 360 ? d - 360 : d) * 6e4); +} +function componentToHex(c) { + const hex2 = c.toString(16); + return hex2.length === 1 ? "0" + hex2 : hex2; +} +function rgbToHex(r, g, b) { + return (componentToHex(r) + componentToHex(g) + componentToHex(b)).toUpperCase(); +} +function createColorElement(colorStr, innerElements) { + let colorVal = (colorStr || "").replace("#", ""); + if (!REGEX_HEX_COLOR.test(colorVal) && colorVal !== SchemeColor.background1 && colorVal !== SchemeColor.background2 && colorVal !== SchemeColor.text1 && colorVal !== SchemeColor.text2 && colorVal !== SchemeColor.accent1 && colorVal !== SchemeColor.accent2 && colorVal !== SchemeColor.accent3 && colorVal !== SchemeColor.accent4 && colorVal !== SchemeColor.accent5 && colorVal !== SchemeColor.accent6) { + console.warn(`"${colorVal}" is not a valid scheme color or hex RGB! "${DEF_FONT_COLOR}" used instead. Only provide 6-digit RGB or 'pptx.SchemeColor' values!`); + colorVal = DEF_FONT_COLOR; + } + const tagName = REGEX_HEX_COLOR.test(colorVal) ? "srgbClr" : "schemeClr"; + const colorAttr = 'val="' + (REGEX_HEX_COLOR.test(colorVal) ? colorVal.toUpperCase() : colorVal) + '"'; + return innerElements ? `${innerElements}` : ``; +} +function createGlowElement(options, defaults) { + let strXml = ""; + const opts = Object.assign(Object.assign({}, defaults), options); + const size = Math.round(opts.size * ONEPT); + const color = opts.color; + const opacity = Math.round(opts.opacity * 1e5); + strXml += ``; + strXml += createColorElement(color, ``); + strXml += ""; + return strXml; +} +function genXmlColorSelection(props) { + let fillType = "solid"; + let colorVal = ""; + let internalElements = ""; + let outText = ""; + if (props) { + if (typeof props === "string") + colorVal = props; + else { + if (props.type) + fillType = props.type; + if (props.color) + colorVal = props.color; + if (props.alpha) + internalElements += ``; + if (props.transparency) + internalElements += ``; + } + switch (fillType) { + case "solid": + outText += `${createColorElement(colorVal, internalElements)}`; + break; + default: + outText += ""; + break; + } + } + return outText; +} +function getNewRelId(target) { + return target._rels.length + target._relsChart.length + target._relsMedia.length + 1; +} +function correctShadowOptions(ShadowProps) { + if (!ShadowProps || typeof ShadowProps !== "object") { + return; + } + if (ShadowProps.type !== "outer" && ShadowProps.type !== "inner" && ShadowProps.type !== "none") { + console.warn("Warning: shadow.type options are `outer`, `inner` or `none`."); + ShadowProps.type = "outer"; + } + if (ShadowProps.angle) { + if (isNaN(Number(ShadowProps.angle)) || ShadowProps.angle < 0 || ShadowProps.angle > 359) { + console.warn("Warning: shadow.angle can only be 0-359"); + ShadowProps.angle = 270; + } + ShadowProps.angle = Math.round(Number(ShadowProps.angle)); + } + if (ShadowProps.opacity) { + if (isNaN(Number(ShadowProps.opacity)) || ShadowProps.opacity < 0 || ShadowProps.opacity > 1) { + console.warn("Warning: shadow.opacity can only be 0-1"); + ShadowProps.opacity = 0.75; + } + ShadowProps.opacity = Number(ShadowProps.opacity); + } + if (ShadowProps.color) { + if (ShadowProps.color.startsWith("#")) { + console.warn('Warning: shadow.color should not include hash (#) character, , e.g. "FF0000"'); + ShadowProps.color = ShadowProps.color.replace("#", ""); + } + } + return ShadowProps; +} +function parseTextToLines(cell, colWidth, verbose) { + var _a, _b; + const FOCO = 2.3 + (((_a = cell.options) === null || _a === void 0 ? void 0 : _a.autoPageCharWeight) ? cell.options.autoPageCharWeight : 0); + const CPL = Math.floor(colWidth / ONEPT * EMU) / ((((_b = cell.options) === null || _b === void 0 ? void 0 : _b.fontSize) ? cell.options.fontSize : DEF_FONT_SIZE) / FOCO); + const parsedLines = []; + let inputCells = []; + const inputLines1 = []; + const inputLines2 = []; + if (cell.text && cell.text.toString().trim().length === 0) { + inputCells.push({ _type: SLIDE_OBJECT_TYPES.tablecell, text: " " }); + } else if (typeof cell.text === "number" || typeof cell.text === "string") { + inputCells.push({ _type: SLIDE_OBJECT_TYPES.tablecell, text: (cell.text || "").toString().trim() }); + } else if (Array.isArray(cell.text)) { + inputCells = cell.text; + } + let newLine = []; + inputCells.forEach((cell2) => { + var _a2; + if (typeof cell2.text === "string") { + if (cell2.text.split("\n").length > 1) { + cell2.text.split("\n").forEach((textLine) => { + newLine.push({ + _type: SLIDE_OBJECT_TYPES.tablecell, + text: textLine, + options: Object.assign(Object.assign({}, cell2.options), { breakLine: true }) + }); + }); + } else { + newLine.push({ + _type: SLIDE_OBJECT_TYPES.tablecell, + text: cell2.text.trim(), + options: cell2.options + }); + } + if ((_a2 = cell2.options) === null || _a2 === void 0 ? void 0 : _a2.breakLine) { + inputLines1.push(newLine); + newLine = []; + } + } + if (newLine.length > 0) { + inputLines1.push(newLine); + newLine = []; + } + }); + inputLines1.forEach((line) => { + line.forEach((cell2) => { + const lineCells = []; + const cellTextStr = String(cell2.text); + const lineWords = cellTextStr.split(" "); + lineWords.forEach((word, idx) => { + const cellProps = Object.assign({}, cell2.options); + if (cellProps === null || cellProps === void 0 ? void 0 : cellProps.breakLine) + cellProps.breakLine = idx + 1 === lineWords.length; + lineCells.push({ _type: SLIDE_OBJECT_TYPES.tablecell, text: word + (idx + 1 < lineWords.length ? " " : ""), options: cellProps }); + }); + inputLines2.push(lineCells); + }); + }); + inputLines2.forEach((line) => { + let lineCells = []; + let strCurrLine = ""; + line.forEach((word) => { + if (strCurrLine.length + word.text.length > CPL) { + parsedLines.push(lineCells); + lineCells = []; + strCurrLine = ""; + } + lineCells.push(word); + strCurrLine += word.text.toString(); + }); + if (lineCells.length > 0) + parsedLines.push(lineCells); + }); + return parsedLines; +} +function getSlidesForTableRows(tableRows = [], tableProps = {}, presLayout, masterSlide) { + let arrInchMargins = DEF_SLIDE_MARGIN_IN; + let emuSlideTabW = EMU * 1; + let emuSlideTabH = EMU * 1; + let emuTabCurrH = 0; + let numCols = 0; + const tableRowSlides = []; + const tablePropX = getSmartParseNumber(tableProps.x, "X", presLayout); + const tablePropY = getSmartParseNumber(tableProps.y, "Y", presLayout); + const tablePropW = getSmartParseNumber(tableProps.w, "X", presLayout); + const tablePropH = getSmartParseNumber(tableProps.h, "Y", presLayout); + let tableCalcW = tablePropW; + function calcSlideTabH() { + let emuStartY = 0; + if (tableRowSlides.length === 0) + emuStartY = tablePropY || inch2Emu(arrInchMargins[0]); + if (tableRowSlides.length > 0) + emuStartY = inch2Emu(tableProps.autoPageSlideStartY || tableProps.newSlideStartY || arrInchMargins[0]); + emuSlideTabH = (tablePropH || presLayout.height) - emuStartY - inch2Emu(arrInchMargins[2]); + if (tableRowSlides.length > 1) { + if (typeof tableProps.autoPageSlideStartY === "number") { + emuSlideTabH = (tablePropH || presLayout.height) - inch2Emu(tableProps.autoPageSlideStartY + arrInchMargins[2]); + } else if (typeof tableProps.newSlideStartY === "number") { + emuSlideTabH = (tablePropH || presLayout.height) - inch2Emu(tableProps.newSlideStartY + arrInchMargins[2]); + } else if (tablePropY) { + emuSlideTabH = (tablePropH || presLayout.height) - inch2Emu((tablePropY / EMU < arrInchMargins[0] ? tablePropY / EMU : arrInchMargins[0]) + arrInchMargins[2]); + if (emuSlideTabH < tablePropH) + emuSlideTabH = tablePropH; + } + } + } + if (tableProps.verbose) { + console.log("[[VERBOSE MODE]]"); + console.log("|-- TABLE PROPS --------------------------------------------------------|"); + console.log(`| presLayout.width ................................ = ${(presLayout.width / EMU).toFixed(1)}`); + console.log(`| presLayout.height ............................... = ${(presLayout.height / EMU).toFixed(1)}`); + console.log(`| tableProps.x .................................... = ${typeof tableProps.x === "number" ? (tableProps.x / EMU).toFixed(1) : tableProps.x}`); + console.log(`| tableProps.y .................................... = ${typeof tableProps.y === "number" ? (tableProps.y / EMU).toFixed(1) : tableProps.y}`); + console.log(`| tableProps.w .................................... = ${typeof tableProps.w === "number" ? (tableProps.w / EMU).toFixed(1) : tableProps.w}`); + console.log(`| tableProps.h .................................... = ${typeof tableProps.h === "number" ? (tableProps.h / EMU).toFixed(1) : tableProps.h}`); + console.log(`| tableProps.slideMargin .......................... = ${tableProps.slideMargin ? String(tableProps.slideMargin) : ""}`); + console.log(`| tableProps.margin ............................... = ${String(tableProps.margin)}`); + console.log(`| tableProps.colW ................................. = ${String(tableProps.colW)}`); + console.log(`| tableProps.autoPageSlideStartY .................. = ${tableProps.autoPageSlideStartY}`); + console.log(`| tableProps.autoPageCharWeight ................... = ${tableProps.autoPageCharWeight}`); + console.log("|-- CALCULATIONS -------------------------------------------------------|"); + console.log(`| tablePropX ...................................... = ${tablePropX / EMU}`); + console.log(`| tablePropY ...................................... = ${tablePropY / EMU}`); + console.log(`| tablePropW ...................................... = ${tablePropW / EMU}`); + console.log(`| tablePropH ...................................... = ${tablePropH / EMU}`); + console.log(`| tableCalcW ...................................... = ${tableCalcW / EMU}`); + } + { + if (!tableProps.slideMargin && tableProps.slideMargin !== 0) + tableProps.slideMargin = DEF_SLIDE_MARGIN_IN[0]; + if (masterSlide && typeof masterSlide._margin !== "undefined") { + if (Array.isArray(masterSlide._margin)) + arrInchMargins = masterSlide._margin; + else if (!isNaN(Number(masterSlide._margin))) { + arrInchMargins = [Number(masterSlide._margin), Number(masterSlide._margin), Number(masterSlide._margin), Number(masterSlide._margin)]; + } + } else if (tableProps.slideMargin || tableProps.slideMargin === 0) { + if (Array.isArray(tableProps.slideMargin)) + arrInchMargins = tableProps.slideMargin; + else if (!isNaN(tableProps.slideMargin)) + arrInchMargins = [tableProps.slideMargin, tableProps.slideMargin, tableProps.slideMargin, tableProps.slideMargin]; + } + if (tableProps.verbose) + console.log(`| arrInchMargins .................................. = [${arrInchMargins.join(", ")}]`); + } + { + const firstRow = tableRows[0] || []; + firstRow.forEach((cell) => { + if (!cell) + cell = { _type: SLIDE_OBJECT_TYPES.tablecell }; + const cellOpts = cell.options || null; + numCols += Number((cellOpts === null || cellOpts === void 0 ? void 0 : cellOpts.colspan) ? cellOpts.colspan : 1); + }); + if (tableProps.verbose) + console.log(`| numCols ......................................... = ${numCols}`); + } + if (!tablePropW && tableProps.colW) { + tableCalcW = Array.isArray(tableProps.colW) ? tableProps.colW.reduce((p, n) => p + n) * EMU : tableProps.colW * numCols || 0; + if (tableProps.verbose) + console.log(`| tableCalcW ...................................... = ${tableCalcW / EMU}`); + } + { + emuSlideTabW = tableCalcW || inch2Emu((tablePropX ? tablePropX / EMU : arrInchMargins[1]) + arrInchMargins[3]); + if (tableProps.verbose) + console.log(`| emuSlideTabW .................................... = ${(emuSlideTabW / EMU).toFixed(1)}`); + } + if (!tableProps.colW || !Array.isArray(tableProps.colW)) { + if (tableProps.colW && !isNaN(Number(tableProps.colW))) { + const arrColW = []; + const firstRow = tableRows[0] || []; + firstRow.forEach(() => arrColW.push(tableProps.colW)); + tableProps.colW = []; + arrColW.forEach((val2) => { + if (Array.isArray(tableProps.colW)) + tableProps.colW.push(val2); + }); + } else { + tableProps.colW = []; + for (let iCol = 0; iCol < numCols; iCol++) { + tableProps.colW.push(emuSlideTabW / EMU / numCols); + } + } + } + let newTableRowSlide = { rows: [] }; + tableRows.forEach((row, iRow) => { + const rowCellLines = []; + let maxCellMarTopEmu = 0; + let maxCellMarBtmEmu = 0; + let currTableRow = []; + row.forEach((cell) => { + var _a, _b, _c, _d; + currTableRow.push({ + _type: SLIDE_OBJECT_TYPES.tablecell, + text: [], + options: cell.options + }); + if (cell.options.margin && cell.options.margin[0] >= 1) { + if (((_a = cell.options) === null || _a === void 0 ? void 0 : _a.margin) && cell.options.margin[0] && valToPts(cell.options.margin[0]) > maxCellMarTopEmu) + maxCellMarTopEmu = valToPts(cell.options.margin[0]); + else if ((tableProps === null || tableProps === void 0 ? void 0 : tableProps.margin) && tableProps.margin[0] && valToPts(tableProps.margin[0]) > maxCellMarTopEmu) + maxCellMarTopEmu = valToPts(tableProps.margin[0]); + if (((_b = cell.options) === null || _b === void 0 ? void 0 : _b.margin) && cell.options.margin[2] && valToPts(cell.options.margin[2]) > maxCellMarBtmEmu) + maxCellMarBtmEmu = valToPts(cell.options.margin[2]); + else if ((tableProps === null || tableProps === void 0 ? void 0 : tableProps.margin) && tableProps.margin[2] && valToPts(tableProps.margin[2]) > maxCellMarBtmEmu) + maxCellMarBtmEmu = valToPts(tableProps.margin[2]); + } else { + if (((_c = cell.options) === null || _c === void 0 ? void 0 : _c.margin) && cell.options.margin[0] && inch2Emu(cell.options.margin[0]) > maxCellMarTopEmu) + maxCellMarTopEmu = inch2Emu(cell.options.margin[0]); + else if ((tableProps === null || tableProps === void 0 ? void 0 : tableProps.margin) && tableProps.margin[0] && inch2Emu(tableProps.margin[0]) > maxCellMarTopEmu) + maxCellMarTopEmu = inch2Emu(tableProps.margin[0]); + if (((_d = cell.options) === null || _d === void 0 ? void 0 : _d.margin) && cell.options.margin[2] && inch2Emu(cell.options.margin[2]) > maxCellMarBtmEmu) + maxCellMarBtmEmu = inch2Emu(cell.options.margin[2]); + else if ((tableProps === null || tableProps === void 0 ? void 0 : tableProps.margin) && tableProps.margin[2] && inch2Emu(tableProps.margin[2]) > maxCellMarBtmEmu) + maxCellMarBtmEmu = inch2Emu(tableProps.margin[2]); + } + }); + calcSlideTabH(); + emuTabCurrH += maxCellMarTopEmu + maxCellMarBtmEmu; + if (tableProps.verbose && iRow === 0) + console.log(`| SLIDE [${tableRowSlides.length}]: emuSlideTabH ...... = ${(emuSlideTabH / EMU).toFixed(1)} `); + row.forEach((cell, iCell) => { + var _a; + const newCell = { + _type: SLIDE_OBJECT_TYPES.tablecell, + _lines: null, + _lineHeight: inch2Emu((((_a = cell.options) === null || _a === void 0 ? void 0 : _a.fontSize) ? cell.options.fontSize : tableProps.fontSize ? tableProps.fontSize : DEF_FONT_SIZE) * (LINEH_MODIFIER + (tableProps.autoPageLineWeight ? tableProps.autoPageLineWeight : 0)) / 100), + text: [], + options: cell.options + }; + if (newCell.options.rowspan) + newCell._lineHeight = 0; + newCell.options.autoPageCharWeight = tableProps.autoPageCharWeight ? tableProps.autoPageCharWeight : null; + let totalColW = tableProps.colW[iCell]; + if (cell.options.colspan && Array.isArray(tableProps.colW)) { + totalColW = tableProps.colW.filter((_cell, idx) => idx >= iCell && idx < idx + cell.options.colspan).reduce((prev, curr) => prev + curr); + } + newCell._lines = parseTextToLines(cell, totalColW); + rowCellLines.push(newCell); + }); + if (tableProps.verbose) + console.log(` +| SLIDE [${tableRowSlides.length}]: ROW [${iRow}]: START...`); + let currCellIdx = 0; + let emuLineMaxH = 0; + let isDone = false; + while (!isDone) { + const srcCell = rowCellLines[currCellIdx]; + let tgtCell = currTableRow[currCellIdx]; + rowCellLines.forEach((cell) => { + if (cell._lineHeight >= emuLineMaxH) + emuLineMaxH = cell._lineHeight; + }); + if (emuTabCurrH + emuLineMaxH > emuSlideTabH) { + if (tableProps.verbose) { + console.log("\n|-----------------------------------------------------------------------|"); + console.log(`|-- NEW SLIDE CREATED (currTabH+currLineH > maxH) => ${(emuTabCurrH / EMU).toFixed(2)} + ${(srcCell._lineHeight / EMU).toFixed(2)} > ${emuSlideTabH / EMU}`); + console.log("|-----------------------------------------------------------------------|\n\n"); + } + if (currTableRow.length > 0 && currTableRow.map((cell) => cell.text.length).reduce((p, n) => p + n) > 0) + newTableRowSlide.rows.push(currTableRow); + tableRowSlides.push(newTableRowSlide); + const newRows = []; + newTableRowSlide = { rows: newRows }; + currTableRow = []; + row.forEach((cell) => currTableRow.push({ _type: SLIDE_OBJECT_TYPES.tablecell, text: [], options: cell.options })); + calcSlideTabH(); + emuTabCurrH += maxCellMarTopEmu + maxCellMarBtmEmu; + if (tableProps.verbose) + console.log(`| SLIDE [${tableRowSlides.length}]: emuSlideTabH ...... = ${(emuSlideTabH / EMU).toFixed(1)} `); + emuTabCurrH = 0; + if ((tableProps.addHeaderToEach || tableProps.autoPageRepeatHeader) && tableProps._arrObjTabHeadRows) { + tableProps._arrObjTabHeadRows.forEach((row2) => { + const newHeadRow = []; + let maxLineHeight = 0; + row2.forEach((cell) => { + newHeadRow.push(cell); + if (cell._lineHeight > maxLineHeight) + maxLineHeight = cell._lineHeight; + }); + newTableRowSlide.rows.push(newHeadRow); + emuTabCurrH += maxLineHeight; + }); + } + tgtCell = currTableRow[currCellIdx]; + } + const currLine = srcCell._lines.shift(); + if (Array.isArray(tgtCell.text)) { + if (currLine) + tgtCell.text = tgtCell.text.concat(currLine); + else if (tgtCell.text.length === 0) + tgtCell.text = tgtCell.text.concat({ _type: SLIDE_OBJECT_TYPES.tablecell, text: "" }); + } + if (currCellIdx === rowCellLines.length - 1) + emuTabCurrH += emuLineMaxH; + currCellIdx = currCellIdx < rowCellLines.length - 1 ? currCellIdx + 1 : 0; + const brent = rowCellLines.map((cell) => cell._lines.length).reduce((prev, next) => prev + next); + if (brent === 0) + isDone = true; + } + if (currTableRow.length > 0) + newTableRowSlide.rows.push(currTableRow); + if (tableProps.verbose) { + console.log(`- SLIDE [${tableRowSlides.length}]: ROW [${iRow}]: ...COMPLETE ...... emuTabCurrH = ${(emuTabCurrH / EMU).toFixed(2)} ( emuSlideTabH = ${(emuSlideTabH / EMU).toFixed(2)} )`); + } + }); + tableRowSlides.push(newTableRowSlide); + if (tableProps.verbose) { + console.log("\n|================================================|"); + console.log(`| FINAL: tableRowSlides.length = ${tableRowSlides.length}`); + tableRowSlides.forEach((slide) => console.log(slide)); + console.log("|================================================|\n\n"); + } + return tableRowSlides; +} +function genTableToSlides(pptx, tabEleId, options = {}, masterSlide) { + const opts = options || {}; + opts.slideMargin = opts.slideMargin || opts.slideMargin === 0 ? opts.slideMargin : 0.5; + let emuSlideTabW = opts.w || pptx.presLayout.width; + const arrObjTabHeadRows = []; + const arrObjTabBodyRows = []; + const arrObjTabFootRows = []; + const arrColW = []; + const arrTabColW = []; + let arrInchMargins = [0.5, 0.5, 0.5, 0.5]; + let intTabW = 0; + if (!document.getElementById(tabEleId)) + throw new Error('tableToSlides: Table ID "' + tabEleId + '" does not exist!'); + if (masterSlide === null || masterSlide === void 0 ? void 0 : masterSlide._margin) { + if (Array.isArray(masterSlide._margin)) + arrInchMargins = masterSlide._margin; + else if (!isNaN(masterSlide._margin)) + arrInchMargins = [masterSlide._margin, masterSlide._margin, masterSlide._margin, masterSlide._margin]; + opts.slideMargin = arrInchMargins; + } else if (opts === null || opts === void 0 ? void 0 : opts.slideMargin) { + if (Array.isArray(opts.slideMargin)) + arrInchMargins = opts.slideMargin; + else if (!isNaN(opts.slideMargin)) + arrInchMargins = [opts.slideMargin, opts.slideMargin, opts.slideMargin, opts.slideMargin]; + } + emuSlideTabW = (opts.w ? inch2Emu(opts.w) : pptx.presLayout.width) - inch2Emu(arrInchMargins[1] + arrInchMargins[3]); + if (opts.verbose) { + console.log("[[VERBOSE MODE]]"); + console.log("|-- `tableToSlides` ----------------------------------------------------|"); + console.log(`| tableProps.h .................................... = ${opts.h}`); + console.log(`| tableProps.w .................................... = ${opts.w}`); + console.log(`| pptx.presLayout.width ........................... = ${(pptx.presLayout.width / EMU).toFixed(1)}`); + console.log(`| pptx.presLayout.height .......................... = ${(pptx.presLayout.height / EMU).toFixed(1)}`); + console.log(`| emuSlideTabW .................................... = ${(emuSlideTabW / EMU).toFixed(1)}`); + } + let firstRowCells = document.querySelectorAll(`#${tabEleId} tr:first-child th`); + if (firstRowCells.length === 0) + firstRowCells = document.querySelectorAll(`#${tabEleId} tr:first-child td`); + firstRowCells.forEach((cellEle) => { + const cell = cellEle; + if (cell.getAttribute("colspan")) { + for (let idxc = 0; idxc < Number(cell.getAttribute("colspan")); idxc++) { + arrTabColW.push(Math.round(cell.offsetWidth / Number(cell.getAttribute("colspan")))); + } + } else { + arrTabColW.push(cell.offsetWidth); + } + }); + arrTabColW.forEach((colW) => { + intTabW += colW; + }); + arrTabColW.forEach((colW, idxW) => { + const intCalcWidth = Number((Number(emuSlideTabW) * (colW / intTabW * 100) / 100 / EMU).toFixed(2)); + let intMinWidth = 0; + const colSelectorMin = document.querySelector(`#${tabEleId} thead tr:first-child th:nth-child(${idxW + 1})`); + if (colSelectorMin) + intMinWidth = Number(colSelectorMin.getAttribute("data-pptx-min-width")); + const colSelectorSet = document.querySelector(`#${tabEleId} thead tr:first-child th:nth-child(${idxW + 1})`); + if (colSelectorSet) + intMinWidth = Number(colSelectorSet.getAttribute("data-pptx-width")); + arrColW.push(intMinWidth > intCalcWidth ? intMinWidth : intCalcWidth); + }); + if (opts.verbose) { + console.log(`| arrColW ......................................... = [${arrColW.join(", ")}]`); + } + const tableParts = ["thead", "tbody", "tfoot"]; + tableParts.forEach((part) => { + document.querySelectorAll(`#${tabEleId} ${part} tr`).forEach((row) => { + const htmlRow = row; + const arrObjTabCells = []; + Array.from(htmlRow.cells).forEach((cell) => { + const arrRGB1 = window.getComputedStyle(cell).getPropertyValue("color").replace(/\s+/gi, "").replace("rgba(", "").replace("rgb(", "").replace(")", "").split(","); + let arrRGB2 = window.getComputedStyle(cell).getPropertyValue("background-color").replace(/\s+/gi, "").replace("rgba(", "").replace("rgb(", "").replace(")", "").split(","); + if ( + // NOTE: (ISSUE#57): Default for unstyled tables is black bkgd, so use white instead + window.getComputedStyle(cell).getPropertyValue("background-color") === "rgba(0, 0, 0, 0)" || window.getComputedStyle(cell).getPropertyValue("transparent") + ) { + arrRGB2 = ["255", "255", "255"]; + } + const cellOpts = { + align: null, + bold: !!(window.getComputedStyle(cell).getPropertyValue("font-weight") === "bold" || Number(window.getComputedStyle(cell).getPropertyValue("font-weight")) >= 500), + border: null, + color: rgbToHex(Number(arrRGB1[0]), Number(arrRGB1[1]), Number(arrRGB1[2])), + fill: { color: rgbToHex(Number(arrRGB2[0]), Number(arrRGB2[1]), Number(arrRGB2[2])) }, + fontFace: (window.getComputedStyle(cell).getPropertyValue("font-family") || "").split(",")[0].replace(/"/g, "").replace("inherit", "").replace("initial", "") || null, + fontSize: Number(window.getComputedStyle(cell).getPropertyValue("font-size").replace(/[a-z]/gi, "")), + margin: null, + colspan: Number(cell.getAttribute("colspan")) || null, + rowspan: Number(cell.getAttribute("rowspan")) || null, + valign: null + }; + if (["left", "center", "right", "start", "end"].includes(window.getComputedStyle(cell).getPropertyValue("text-align"))) { + const align = window.getComputedStyle(cell).getPropertyValue("text-align").replace("start", "left").replace("end", "right"); + cellOpts.align = align === "center" ? "center" : align === "left" ? "left" : align === "right" ? "right" : null; + } + if (["top", "middle", "bottom"].includes(window.getComputedStyle(cell).getPropertyValue("vertical-align"))) { + const valign = window.getComputedStyle(cell).getPropertyValue("vertical-align"); + cellOpts.valign = valign === "top" ? "top" : valign === "middle" ? "middle" : valign === "bottom" ? "bottom" : null; + } + if (window.getComputedStyle(cell).getPropertyValue("padding-left")) { + cellOpts.margin = [0, 0, 0, 0]; + const sidesPad = ["padding-top", "padding-right", "padding-bottom", "padding-left"]; + sidesPad.forEach((val2, idxs) => { + cellOpts.margin[idxs] = Math.round(Number(window.getComputedStyle(cell).getPropertyValue(val2).replace(/\D/gi, ""))); + }); + } + if (window.getComputedStyle(cell).getPropertyValue("border-top-width") || window.getComputedStyle(cell).getPropertyValue("border-right-width") || window.getComputedStyle(cell).getPropertyValue("border-bottom-width") || window.getComputedStyle(cell).getPropertyValue("border-left-width")) { + cellOpts.border = [null, null, null, null]; + const sidesBor = ["top", "right", "bottom", "left"]; + sidesBor.forEach((val2, idxb) => { + const intBorderW = Math.round(Number(window.getComputedStyle(cell).getPropertyValue("border-" + val2 + "-width").replace("px", ""))); + let arrRGB = []; + arrRGB = window.getComputedStyle(cell).getPropertyValue("border-" + val2 + "-color").replace(/\s+/gi, "").replace("rgba(", "").replace("rgb(", "").replace(")", "").split(","); + const strBorderC = rgbToHex(Number(arrRGB[0]), Number(arrRGB[1]), Number(arrRGB[2])); + cellOpts.border[idxb] = { pt: intBorderW, color: strBorderC }; + }); + } + arrObjTabCells.push({ + _type: SLIDE_OBJECT_TYPES.tablecell, + text: cell.innerText, + // `innerText` returns
      as "\n", so linebreak etc. work later! + options: cellOpts + }); + }); + switch (part) { + case "thead": + arrObjTabHeadRows.push(arrObjTabCells); + break; + case "tbody": + arrObjTabBodyRows.push(arrObjTabCells); + break; + case "tfoot": + arrObjTabFootRows.push(arrObjTabCells); + break; + default: + console.log(`table parsing: unexpected table part: ${part}`); + break; + } + }); + }); + opts._arrObjTabHeadRows = arrObjTabHeadRows || null; + opts.colW = arrColW; + getSlidesForTableRows([...arrObjTabHeadRows, ...arrObjTabBodyRows, ...arrObjTabFootRows], opts, pptx.presLayout, masterSlide).forEach((slide, idxTr) => { + const newSlide = pptx.addSlide({ masterName: opts.masterSlideName || null }); + if (idxTr === 0) + opts.y = opts.y || arrInchMargins[0]; + if (idxTr > 0) + opts.y = opts.autoPageSlideStartY || opts.newSlideStartY || arrInchMargins[0]; + if (opts.verbose) + console.log(`| opts.autoPageSlideStartY: ${opts.autoPageSlideStartY} / arrInchMargins[0]: ${arrInchMargins[0]} => opts.y = ${opts.y}`); + newSlide.addTable(slide.rows, { x: opts.x || arrInchMargins[3], y: opts.y, w: Number(emuSlideTabW) / EMU, colW: arrColW, autoPage: false }); + if (opts.addImage) { + opts.addImage.options = opts.addImage.options || {}; + if (!opts.addImage.image || !opts.addImage.image.path && !opts.addImage.image.data) { + console.warn("Warning: tableToSlides.addImage requires either `path` or `data`"); + } else { + newSlide.addImage({ + path: opts.addImage.image.path, + data: opts.addImage.image.data, + x: opts.addImage.options.x, + y: opts.addImage.options.y, + w: opts.addImage.options.w, + h: opts.addImage.options.h + }); + } + } + if (opts.addShape) + newSlide.addShape(opts.addShape.shapeName, opts.addShape.options || {}); + if (opts.addTable) + newSlide.addTable(opts.addTable.rows, opts.addTable.options || {}); + if (opts.addText) + newSlide.addText(opts.addText.text, opts.addText.options || {}); + }); +} +var _chartCounter = 0; +function createSlideMaster(props, target) { + if (props.bkgd) + target.bkgd = props.bkgd; + if (props.objects && Array.isArray(props.objects) && props.objects.length > 0) { + props.objects.forEach((object, idx) => { + const key = Object.keys(object)[0]; + const tgt = target; + if (MASTER_OBJECTS[key] && key === "chart") + addChartDefinition(tgt, object[key].type, object[key].data, object[key].opts); + else if (MASTER_OBJECTS[key] && key === "image") + addImageDefinition(tgt, object[key]); + else if (MASTER_OBJECTS[key] && key === "line") + addShapeDefinition(tgt, SHAPE_TYPE.LINE, object[key]); + else if (MASTER_OBJECTS[key] && key === "rect") + addShapeDefinition(tgt, SHAPE_TYPE.RECTANGLE, object[key]); + else if (MASTER_OBJECTS[key] && key === "text") + addTextDefinition(tgt, [{ text: object[key].text }], object[key].options, false); + else if (MASTER_OBJECTS[key] && key === "placeholder") { + object[key].options.placeholder = object[key].options.name; + delete object[key].options.name; + object[key].options._placeholderType = object[key].options.type; + delete object[key].options.type; + object[key].options._placeholderIdx = 100 + idx; + addTextDefinition(tgt, [{ text: object[key].text }], object[key].options, true); + } + }); + } + if (props.slideNumber && typeof props.slideNumber === "object") + target._slideNumberProps = props.slideNumber; +} +function addChartDefinition(target, type, data, opt) { + var _a; + function correctGridLineOptions(glOpts) { + if (!glOpts || glOpts.style === "none") + return; + if (glOpts.size !== void 0 && (isNaN(Number(glOpts.size)) || glOpts.size <= 0)) { + console.warn("Warning: chart.gridLine.size must be greater than 0."); + delete glOpts.size; + } + if (glOpts.style && !["solid", "dash", "dot"].includes(glOpts.style)) { + console.warn("Warning: chart.gridLine.style options: `solid`, `dash`, `dot`."); + delete glOpts.style; + } + if (glOpts.cap && !["flat", "square", "round"].includes(glOpts.cap)) { + console.warn("Warning: chart.gridLine.cap options: `flat`, `square`, `round`."); + delete glOpts.cap; + } + } + const chartId = ++_chartCounter; + const resultObject = { + _type: null, + text: null, + options: null, + chartRid: null + }; + let tmpOpt = null; + let tmpData = []; + if (Array.isArray(type)) { + type.forEach((obj) => { + tmpData = tmpData.concat(obj.data); + }); + tmpOpt = data || opt; + } else { + tmpData = data; + tmpOpt = opt; + } + tmpData.forEach((item, i) => { + item._dataIndex = i; + if (item.labels !== void 0 && !Array.isArray(item.labels[0])) { + item.labels = [item.labels]; + } + }); + const options = tmpOpt && typeof tmpOpt === "object" ? tmpOpt : {}; + options._type = type; + options.x = typeof options.x !== "undefined" && options.x != null && !isNaN(Number(options.x)) ? options.x : 1; + options.y = typeof options.y !== "undefined" && options.y != null && !isNaN(Number(options.y)) ? options.y : 1; + options.w = options.w || "50%"; + options.h = options.h || "50%"; + options.objectName = options.objectName ? encodeXmlEntities(options.objectName) : `Chart ${target._slideObjects.filter((obj) => obj._type === SLIDE_OBJECT_TYPES.chart).length}`; + if (!["bar", "col"].includes(options.barDir || "")) + options.barDir = "col"; + if (options._type === CHART_TYPE.AREA) { + if (!["stacked", "standard", "percentStacked"].includes(options.barGrouping || "")) + options.barGrouping = "standard"; + } + if (options._type === CHART_TYPE.BAR) { + if (!["clustered", "stacked", "percentStacked"].includes(options.barGrouping || "")) + options.barGrouping = "clustered"; + } + if (options._type === CHART_TYPE.BAR3D) { + if (!["clustered", "stacked", "standard", "percentStacked"].includes(options.barGrouping || "")) + options.barGrouping = "standard"; + } + if ((_a = options.barGrouping) === null || _a === void 0 ? void 0 : _a.includes("tacked")) { + if (!options.barGapWidthPct) + options.barGapWidthPct = 50; + } + if (options.dataLabelPosition) { + if (options._type === CHART_TYPE.AREA || options._type === CHART_TYPE.BAR3D || options._type === CHART_TYPE.DOUGHNUT || options._type === CHART_TYPE.RADAR) { + delete options.dataLabelPosition; + } + if (options._type === CHART_TYPE.PIE) { + if (!["bestFit", "ctr", "inEnd", "outEnd"].includes(options.dataLabelPosition)) + delete options.dataLabelPosition; + } + if (options._type === CHART_TYPE.BUBBLE || options._type === CHART_TYPE.BUBBLE3D || options._type === CHART_TYPE.LINE || options._type === CHART_TYPE.SCATTER) { + if (!["b", "ctr", "l", "r", "t"].includes(options.dataLabelPosition)) + delete options.dataLabelPosition; + } + if (options._type === CHART_TYPE.BAR) { + if (!["stacked", "percentStacked"].includes(options.barGrouping || "")) { + if (!["ctr", "inBase", "inEnd"].includes(options.dataLabelPosition)) + delete options.dataLabelPosition; + } + if (!["clustered"].includes(options.barGrouping || "")) { + if (!["ctr", "inBase", "inEnd", "outEnd"].includes(options.dataLabelPosition)) + delete options.dataLabelPosition; + } + } + } + options.dataLabelBkgrdColors = options.dataLabelBkgrdColors || !options.dataLabelBkgrdColors ? options.dataLabelBkgrdColors : false; + if (!["b", "l", "r", "t", "tr"].includes(options.legendPos || "")) + options.legendPos = "r"; + if (!["cone", "coneToMax", "box", "cylinder", "pyramid", "pyramidToMax"].includes(options.bar3DShape || "")) + options.bar3DShape = "box"; + if (!["circle", "dash", "diamond", "dot", "none", "square", "triangle"].includes(options.lineDataSymbol || "")) + options.lineDataSymbol = "circle"; + if (!["gap", "span"].includes(options.displayBlanksAs || "")) + options.displayBlanksAs = "span"; + if (!["standard", "marker", "filled"].includes(options.radarStyle || "")) + options.radarStyle = "standard"; + options.lineDataSymbolSize = options.lineDataSymbolSize && !isNaN(options.lineDataSymbolSize) ? options.lineDataSymbolSize : 6; + options.lineDataSymbolLineSize = options.lineDataSymbolLineSize && !isNaN(options.lineDataSymbolLineSize) ? valToPts(options.lineDataSymbolLineSize) : valToPts(0.75); + if (options.layout) { + ["x", "y", "w", "h"].forEach((key) => { + const val2 = options.layout[key]; + if (isNaN(Number(val2)) || val2 < 0 || val2 > 1) { + console.warn("Warning: chart.layout." + key + " can only be 0-1"); + delete options.layout[key]; + } + }); + } + options.catGridLine = options.catGridLine || (options._type === CHART_TYPE.SCATTER ? { color: "D9D9D9", size: 1 } : { style: "none" }); + options.valGridLine = options.valGridLine || (options._type === CHART_TYPE.SCATTER ? { color: "D9D9D9", size: 1 } : {}); + options.serGridLine = options.serGridLine || (options._type === CHART_TYPE.SCATTER ? { color: "D9D9D9", size: 1 } : { style: "none" }); + correctGridLineOptions(options.catGridLine); + correctGridLineOptions(options.valGridLine); + correctGridLineOptions(options.serGridLine); + correctShadowOptions(options.shadow); + options.showDataTable = options.showDataTable || !options.showDataTable ? options.showDataTable : false; + options.showDataTableHorzBorder = options.showDataTableHorzBorder || !options.showDataTableHorzBorder ? options.showDataTableHorzBorder : true; + options.showDataTableVertBorder = options.showDataTableVertBorder || !options.showDataTableVertBorder ? options.showDataTableVertBorder : true; + options.showDataTableOutline = options.showDataTableOutline || !options.showDataTableOutline ? options.showDataTableOutline : true; + options.showDataTableKeys = options.showDataTableKeys || !options.showDataTableKeys ? options.showDataTableKeys : true; + options.showLabel = options.showLabel || !options.showLabel ? options.showLabel : false; + options.showLegend = options.showLegend || !options.showLegend ? options.showLegend : false; + options.showPercent = options.showPercent || !options.showPercent ? options.showPercent : true; + options.showTitle = options.showTitle || !options.showTitle ? options.showTitle : false; + options.showValue = options.showValue || !options.showValue ? options.showValue : false; + options.showLeaderLines = options.showLeaderLines || !options.showLeaderLines ? options.showLeaderLines : false; + options.catAxisLineShow = typeof options.catAxisLineShow !== "undefined" ? options.catAxisLineShow : true; + options.valAxisLineShow = typeof options.valAxisLineShow !== "undefined" ? options.valAxisLineShow : true; + options.serAxisLineShow = typeof options.serAxisLineShow !== "undefined" ? options.serAxisLineShow : true; + options.v3DRotX = !isNaN(options.v3DRotX) && options.v3DRotX >= -90 && options.v3DRotX <= 90 ? options.v3DRotX : 30; + options.v3DRotY = !isNaN(options.v3DRotY) && options.v3DRotY >= 0 && options.v3DRotY <= 360 ? options.v3DRotY : 30; + options.v3DRAngAx = options.v3DRAngAx || !options.v3DRAngAx ? options.v3DRAngAx : true; + options.v3DPerspective = !isNaN(options.v3DPerspective) && options.v3DPerspective >= 0 && options.v3DPerspective <= 240 ? options.v3DPerspective : 30; + options.barGapWidthPct = !isNaN(options.barGapWidthPct) && options.barGapWidthPct >= 0 && options.barGapWidthPct <= 1e3 ? options.barGapWidthPct : 150; + options.barGapDepthPct = !isNaN(options.barGapDepthPct) && options.barGapDepthPct >= 0 && options.barGapDepthPct <= 1e3 ? options.barGapDepthPct : 150; + options.chartColors = Array.isArray(options.chartColors) ? options.chartColors : options._type === CHART_TYPE.PIE || options._type === CHART_TYPE.DOUGHNUT ? PIECHART_COLORS : BARCHART_COLORS; + options.chartColorsOpacity = options.chartColorsOpacity && !isNaN(options.chartColorsOpacity) ? options.chartColorsOpacity : null; + options.border = options.border && typeof options.border === "object" ? options.border : null; + if (options.border && (!options.border.pt || isNaN(options.border.pt))) + options.border.pt = DEF_CHART_BORDER.pt; + if (options.border && (!options.border.color || typeof options.border.color !== "string")) + options.border.color = DEF_CHART_BORDER.color; + options.plotArea = options.plotArea || {}; + options.plotArea.border = options.plotArea.border && typeof options.plotArea.border === "object" ? options.plotArea.border : null; + if (options.plotArea.border && (!options.plotArea.border.pt || isNaN(options.plotArea.border.pt))) + options.plotArea.border.pt = DEF_CHART_BORDER.pt; + if (options.plotArea.border && (!options.plotArea.border.color || typeof options.plotArea.border.color !== "string")) { + options.plotArea.border.color = DEF_CHART_BORDER.color; + } + if (options.border) + options.plotArea.border = options.border; + options.plotArea.fill = options.plotArea.fill || { color: null, transparency: null }; + if (options.fill) + options.plotArea.fill.color = options.fill; + options.chartArea = options.chartArea || {}; + options.chartArea.border = options.chartArea.border && typeof options.chartArea.border === "object" ? options.chartArea.border : null; + if (options.chartArea.border) { + options.chartArea.border = { + color: options.chartArea.border.color || DEF_CHART_BORDER.color, + pt: options.chartArea.border.pt || DEF_CHART_BORDER.pt + }; + } + options.chartArea.roundedCorners = typeof options.chartArea.roundedCorners === "boolean" ? options.chartArea.roundedCorners : true; + options.dataBorder = options.dataBorder && typeof options.dataBorder === "object" ? options.dataBorder : null; + if (options.dataBorder && (!options.dataBorder.pt || isNaN(options.dataBorder.pt))) + options.dataBorder.pt = 0.75; + if (options.dataBorder && options.dataBorder.color) { + const isHexColor = typeof options.dataBorder.color === "string" && options.dataBorder.color.length === 6 && /^[0-9A-Fa-f]{6}$/.test(options.dataBorder.color); + const isSchemeColor = Object.values(SCHEME_COLOR_NAMES).includes(options.dataBorder.color); + if (!isHexColor && !isSchemeColor) { + options.dataBorder.color = "F9F9F9"; + } + } + if (!options.dataLabelFormatCode && options._type === CHART_TYPE.SCATTER) + options.dataLabelFormatCode = "General"; + if (!options.dataLabelFormatCode && (options._type === CHART_TYPE.PIE || options._type === CHART_TYPE.DOUGHNUT)) { + options.dataLabelFormatCode = options.showPercent ? "0%" : "General"; + } + options.dataLabelFormatCode = options.dataLabelFormatCode && typeof options.dataLabelFormatCode === "string" ? options.dataLabelFormatCode : "#,##0"; + if (!options.dataLabelFormatScatter && options._type === CHART_TYPE.SCATTER) + options.dataLabelFormatScatter = "custom"; + options.lineSize = typeof options.lineSize === "number" ? options.lineSize : 2; + options.valAxisMajorUnit = typeof options.valAxisMajorUnit === "number" ? options.valAxisMajorUnit : null; + if (options._type === CHART_TYPE.AREA || options._type === CHART_TYPE.BAR || options._type === CHART_TYPE.BAR3D || options._type === CHART_TYPE.LINE) { + options.catAxisMultiLevelLabels = !!options.catAxisMultiLevelLabels; + } else { + delete options.catAxisMultiLevelLabels; + } + resultObject._type = "chart"; + resultObject.options = options; + resultObject.chartRid = getNewRelId(target); + target._relsChart.push({ + rId: getNewRelId(target), + data: tmpData, + opts: options, + type: options._type, + globalId: chartId, + fileName: `chart${chartId}.xml`, + Target: `/ppt/charts/chart${chartId}.xml` + }); + target._slideObjects.push(resultObject); + return resultObject; +} +function addImageDefinition(target, opt) { + const newObject = { + _type: null, + text: null, + options: null, + image: null, + imageRid: null, + hyperlink: null + }; + const intPosX = opt.x || 0; + const intPosY = opt.y || 0; + const intWidth = opt.w || 0; + const intHeight = opt.h || 0; + const sizing = opt.sizing || null; + const objHyperlink = opt.hyperlink || ""; + const strImageData = opt.data || ""; + const strImagePath = opt.path || ""; + let imageRelId = getNewRelId(target); + const objectName = opt.objectName ? encodeXmlEntities(opt.objectName) : `Image ${target._slideObjects.filter((obj) => obj._type === SLIDE_OBJECT_TYPES.image).length}`; + if (!strImagePath && !strImageData) { + console.error("ERROR: addImage() requires either 'data' or 'path' parameter!"); + return null; + } else if (strImagePath && typeof strImagePath !== "string") { + console.error(`ERROR: addImage() 'path' should be a string, ex: {path:'/img/sample.png'} - you sent ${String(strImagePath)}`); + return null; + } else if (strImageData && typeof strImageData !== "string") { + console.error(`ERROR: addImage() 'data' should be a string, ex: {data:'image/png;base64,NMP[...]'} - you sent ${String(strImageData)}`); + return null; + } else if (strImageData && typeof strImageData === "string" && !strImageData.toLowerCase().includes("base64,")) { + console.error("ERROR: Image `data` value lacks a base64 header! Ex: 'image/png;base64,NMP[...]')"); + return null; + } + let strImgExtn = (strImagePath.substring(strImagePath.lastIndexOf("/") + 1).split("?")[0].split(".").pop().split("#")[0] || "png").toLowerCase(); + if (strImageData && /image\/(\w+);/.exec(strImageData) && /image\/(\w+);/.exec(strImageData).length > 0) { + strImgExtn = /image\/(\w+);/.exec(strImageData)[1]; + } else if (strImageData === null || strImageData === void 0 ? void 0 : strImageData.toLowerCase().includes("image/svg+xml")) { + strImgExtn = "svg"; + } + newObject._type = SLIDE_OBJECT_TYPES.image; + newObject.image = strImagePath || "preencoded.png"; + newObject.options = { + x: intPosX || 0, + y: intPosY || 0, + w: intWidth || 1, + h: intHeight || 1, + altText: opt.altText || "", + rounding: typeof opt.rounding === "boolean" ? opt.rounding : false, + sizing, + placeholder: opt.placeholder, + rotate: opt.rotate || 0, + flipV: opt.flipV || false, + flipH: opt.flipH || false, + transparency: opt.transparency || 0, + objectName, + shadow: correctShadowOptions(opt.shadow) + }; + if (strImgExtn === "svg") { + target._relsMedia.push({ + path: strImagePath || strImageData + "png", + type: "image/png", + extn: "png", + data: strImageData || "", + rId: imageRelId, + Target: `../media/image-${target._slideNum}-${target._relsMedia.length + 1}.png`, + isSvgPng: true, + svgSize: { w: getSmartParseNumber(newObject.options.w, "X", target._presLayout), h: getSmartParseNumber(newObject.options.h, "Y", target._presLayout) } + }); + newObject.imageRid = imageRelId; + target._relsMedia.push({ + path: strImagePath || strImageData, + type: "image/svg+xml", + extn: strImgExtn, + data: strImageData || "", + rId: imageRelId + 1, + Target: `../media/image-${target._slideNum}-${target._relsMedia.length + 1}.${strImgExtn}` + }); + newObject.imageRid = imageRelId + 1; + } else { + const dupeItem = target._relsMedia.filter((item) => item.path && item.path === strImagePath && item.type === "image/" + strImgExtn && !item.isDuplicate)[0]; + target._relsMedia.push({ + path: strImagePath || "preencoded." + strImgExtn, + type: "image/" + strImgExtn, + extn: strImgExtn, + data: strImageData || "", + rId: imageRelId, + isDuplicate: !!(dupeItem === null || dupeItem === void 0 ? void 0 : dupeItem.Target), + Target: (dupeItem === null || dupeItem === void 0 ? void 0 : dupeItem.Target) ? dupeItem.Target : `../media/image-${target._slideNum}-${target._relsMedia.length + 1}.${strImgExtn}` + }); + newObject.imageRid = imageRelId; + } + if (typeof objHyperlink === "object") { + if (!objHyperlink.url && !objHyperlink.slide) + throw new Error("ERROR: `hyperlink` option requires either: `url` or `slide`"); + else { + imageRelId++; + target._rels.push({ + type: SLIDE_OBJECT_TYPES.hyperlink, + data: objHyperlink.slide ? "slide" : "dummy", + rId: imageRelId, + Target: objHyperlink.url || objHyperlink.slide.toString() + }); + objHyperlink._rId = imageRelId; + newObject.hyperlink = objHyperlink; + } + } + target._slideObjects.push(newObject); +} +function addMediaDefinition(target, opt) { + const intPosX = opt.x || 0; + const intPosY = opt.y || 0; + const intSizeX = opt.w || 2; + const intSizeY = opt.h || 2; + const strData = opt.data || ""; + const strLink = opt.link || ""; + const strPath = opt.path || ""; + const strType = opt.type || "audio"; + let strExtn = ""; + const strCover = opt.cover || IMG_PLAYBTN; + const objectName = opt.objectName ? encodeXmlEntities(opt.objectName) : `Media ${target._slideObjects.filter((obj) => obj._type === SLIDE_OBJECT_TYPES.media).length}`; + const slideData = { _type: SLIDE_OBJECT_TYPES.media }; + if (!strPath && !strData && strType !== "online") { + throw new Error("addMedia() error: either `data` or `path` are required!"); + } else if (strData && !strData.toLowerCase().includes("base64,")) { + throw new Error("addMedia() error: `data` value lacks a base64 header! Ex: 'video/mpeg;base64,NMP[...]')"); + } else if (!strCover.toLowerCase().includes("base64,")) { + throw new Error("addMedia() error: `cover` value lacks a base64 header! Ex: 'data:image/png;base64,iV[...]')"); + } + if (strType === "online" && !strLink) { + throw new Error("addMedia() error: online videos require `link` value"); + } + strExtn = opt.extn || (strData ? strData.split(";")[0].split("/")[1] : strPath.split(".").pop()) || "mp3"; + slideData.mtype = strType; + slideData.media = strPath || "preencoded.mov"; + slideData.options = {}; + slideData.options.x = intPosX; + slideData.options.y = intPosY; + slideData.options.w = intSizeX; + slideData.options.h = intSizeY; + slideData.options.objectName = objectName; + if (strType === "online") { + const relId1 = getNewRelId(target); + target._relsMedia.push({ + path: strPath || "preencoded" + strExtn, + data: "dummy", + type: "online", + extn: strExtn, + rId: relId1, + Target: strLink + }); + slideData.mediaRid = relId1; + target._relsMedia.push({ + path: "preencoded.png", + data: strCover, + type: "image/png", + extn: "png", + rId: getNewRelId(target), + Target: `../media/image-${target._slideNum}-${target._relsMedia.length + 1}.png` + }); + } else { + const dupeItem = target._relsMedia.filter((item) => item.path && item.path === strPath && item.type === strType + "/" + strExtn && !item.isDuplicate)[0]; + const relId1 = getNewRelId(target); + target._relsMedia.push({ + path: strPath || "preencoded" + strExtn, + type: strType + "/" + strExtn, + extn: strExtn, + data: strData || "", + rId: relId1, + isDuplicate: !!(dupeItem === null || dupeItem === void 0 ? void 0 : dupeItem.Target), + Target: (dupeItem === null || dupeItem === void 0 ? void 0 : dupeItem.Target) ? dupeItem.Target : `../media/media-${target._slideNum}-${target._relsMedia.length + 1}.${strExtn}` + }); + slideData.mediaRid = relId1; + target._relsMedia.push({ + path: strPath || "preencoded" + strExtn, + type: strType + "/" + strExtn, + extn: strExtn, + data: strData || "", + rId: getNewRelId(target), + isDuplicate: !!(dupeItem === null || dupeItem === void 0 ? void 0 : dupeItem.Target), + Target: (dupeItem === null || dupeItem === void 0 ? void 0 : dupeItem.Target) ? dupeItem.Target : `../media/media-${target._slideNum}-${target._relsMedia.length + 0}.${strExtn}` + }); + target._relsMedia.push({ + path: "preencoded.png", + type: "image/png", + extn: "png", + data: strCover, + rId: getNewRelId(target), + Target: `../media/image-${target._slideNum}-${target._relsMedia.length + 1}.png` + }); + } + target._slideObjects.push(slideData); +} +function addNotesDefinition(target, notes) { + target._slideObjects.push({ + _type: SLIDE_OBJECT_TYPES.notes, + text: [{ text: notes }] + }); +} +function addShapeDefinition(target, shapeName, opts) { + const options = typeof opts === "object" ? opts : {}; + options.line = options.line || { type: "none" }; + const newObject = { + _type: SLIDE_OBJECT_TYPES.text, + shape: shapeName || SHAPE_TYPE.RECTANGLE, + options, + text: null + }; + if (!shapeName) + throw new Error("Missing/Invalid shape parameter! Example: `addShape(pptxgen.shapes.LINE, {x:1, y:1, w:1, h:1});`"); + const newLineOpts = { + type: options.line.type || "solid", + color: options.line.color || DEF_SHAPE_LINE_COLOR, + transparency: options.line.transparency || 0, + width: options.line.width || 1, + dashType: options.line.dashType || "solid", + beginArrowType: options.line.beginArrowType || null, + endArrowType: options.line.endArrowType || null + }; + if (typeof options.line === "object" && options.line.type !== "none") + options.line = newLineOpts; + options.x = options.x || (options.x === 0 ? 0 : 1); + options.y = options.y || (options.y === 0 ? 0 : 1); + options.w = options.w || (options.w === 0 ? 0 : 1); + options.h = options.h || (options.h === 0 ? 0 : 1); + options.objectName = options.objectName ? encodeXmlEntities(options.objectName) : `Shape ${target._slideObjects.filter((obj) => obj._type === SLIDE_OBJECT_TYPES.text).length}`; + if (typeof options.line === "string") { + const tmpOpts = newLineOpts; + tmpOpts.color = String(options.line); + options.line = tmpOpts; + } + if (typeof options.lineSize === "number") + options.line.width = options.lineSize; + if (typeof options.lineDash === "string") + options.line.dashType = options.lineDash; + if (typeof options.lineHead === "string") + options.line.beginArrowType = options.lineHead; + if (typeof options.lineTail === "string") + options.line.endArrowType = options.lineTail; + createHyperlinkRels(target, newObject); + target._slideObjects.push(newObject); +} +function addTableDefinition(target, tableRows, options, slideLayout, presLayout, addSlide, getSlide) { + const slides = [target]; + const opt = options && typeof options === "object" ? options : {}; + opt.objectName = opt.objectName ? encodeXmlEntities(opt.objectName) : `Table ${target._slideObjects.filter((obj) => obj._type === SLIDE_OBJECT_TYPES.table).length}`; + { + if (tableRows === null || tableRows.length === 0 || !Array.isArray(tableRows)) { + throw new Error("addTable: Array expected! EX: 'slide.addTable( [rows], {options} );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)"); + } + if (!tableRows[0] || !Array.isArray(tableRows[0])) { + throw new Error("addTable: 'rows' should be an array of cells! EX: 'slide.addTable( [ ['A'], ['B'], {text:'C',options:{align:'center'}} ] );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)"); + } + } + const arrRows = []; + tableRows.forEach((row) => { + const newRow = []; + if (Array.isArray(row)) { + row.forEach((cell) => { + const newCell = { + _type: SLIDE_OBJECT_TYPES.tablecell, + text: "", + options: typeof cell === "object" && cell.options ? cell.options : {} + }; + if (typeof cell === "string" || typeof cell === "number") + newCell.text = cell.toString(); + else if (cell.text) { + if (typeof cell.text === "string" || typeof cell.text === "number") + newCell.text = cell.text.toString(); + else if (cell.text) + newCell.text = cell.text; + if (cell.options && typeof cell.options === "object") + newCell.options = cell.options; + } + newCell.options.border = newCell.options.border || opt.border || [{ type: "none" }, { type: "none" }, { type: "none" }, { type: "none" }]; + const cellBorder = newCell.options.border; + if (!Array.isArray(cellBorder) && typeof cellBorder === "object") + newCell.options.border = [cellBorder, cellBorder, cellBorder, cellBorder]; + if (!newCell.options.border[0]) + newCell.options.border[0] = { type: "none" }; + if (!newCell.options.border[1]) + newCell.options.border[1] = { type: "none" }; + if (!newCell.options.border[2]) + newCell.options.border[2] = { type: "none" }; + if (!newCell.options.border[3]) + newCell.options.border[3] = { type: "none" }; + const arrSides = [0, 1, 2, 3]; + arrSides.forEach((idx) => { + newCell.options.border[idx] = { + type: newCell.options.border[idx].type || DEF_CELL_BORDER.type, + color: newCell.options.border[idx].color || DEF_CELL_BORDER.color, + pt: typeof newCell.options.border[idx].pt === "number" ? newCell.options.border[idx].pt : DEF_CELL_BORDER.pt + }; + }); + newRow.push(newCell); + }); + } else { + console.log("addTable: tableRows has a bad row. A row should be an array of cells. You provided:"); + console.log(row); + } + arrRows.push(newRow); + }); + opt.x = getSmartParseNumber(opt.x || (opt.x === 0 ? 0 : EMU / 2), "X", presLayout); + opt.y = getSmartParseNumber(opt.y || (opt.y === 0 ? 0 : EMU / 2), "Y", presLayout); + if (opt.h) + opt.h = getSmartParseNumber(opt.h, "Y", presLayout); + opt.fontSize = opt.fontSize || DEF_FONT_SIZE; + opt.margin = opt.margin === 0 || opt.margin ? opt.margin : DEF_CELL_MARGIN_IN; + if (typeof opt.margin === "number") + opt.margin = [Number(opt.margin), Number(opt.margin), Number(opt.margin), Number(opt.margin)]; + if (JSON.stringify({ arrRows }).indexOf("hyperlink") === -1) { + if (!opt.color) + opt.color = opt.color || DEF_FONT_COLOR; + } + if (typeof opt.border === "string") { + console.warn("addTable `border` option must be an object. Ex: `{border: {type:'none'}}`"); + opt.border = null; + } else if (Array.isArray(opt.border)) { + [0, 1, 2, 3].forEach((idx) => { + opt.border[idx] = opt.border[idx] ? { type: opt.border[idx].type || DEF_CELL_BORDER.type, color: opt.border[idx].color || DEF_CELL_BORDER.color, pt: opt.border[idx].pt || DEF_CELL_BORDER.pt } : { type: "none" }; + }); + } + opt.autoPage = typeof opt.autoPage === "boolean" ? opt.autoPage : false; + opt.autoPageRepeatHeader = typeof opt.autoPageRepeatHeader === "boolean" ? opt.autoPageRepeatHeader : false; + opt.autoPageHeaderRows = typeof opt.autoPageHeaderRows !== "undefined" && !isNaN(Number(opt.autoPageHeaderRows)) ? Number(opt.autoPageHeaderRows) : 1; + opt.autoPageLineWeight = typeof opt.autoPageLineWeight !== "undefined" && !isNaN(Number(opt.autoPageLineWeight)) ? Number(opt.autoPageLineWeight) : 0; + if (opt.autoPageLineWeight) { + if (opt.autoPageLineWeight > 1) + opt.autoPageLineWeight = 1; + else if (opt.autoPageLineWeight < -1) + opt.autoPageLineWeight = -1; + } + let arrTableMargin = DEF_SLIDE_MARGIN_IN; + if (slideLayout && typeof slideLayout._margin !== "undefined") { + if (Array.isArray(slideLayout._margin)) + arrTableMargin = slideLayout._margin; + else if (!isNaN(Number(slideLayout._margin))) { + arrTableMargin = [Number(slideLayout._margin), Number(slideLayout._margin), Number(slideLayout._margin), Number(slideLayout._margin)]; + } + } + if (opt.colW) { + const firstRowColCnt = arrRows[0].reduce((totalLen, c) => { + var _a; + if (((_a = c === null || c === void 0 ? void 0 : c.options) === null || _a === void 0 ? void 0 : _a.colspan) && typeof c.options.colspan === "number") { + totalLen += c.options.colspan; + } else { + totalLen += 1; + } + return totalLen; + }, 0); + if (typeof opt.colW === "string" || typeof opt.colW === "number") { + opt.w = Math.floor(Number(opt.colW) * firstRowColCnt); + opt.colW = null; + } else if (opt.colW && Array.isArray(opt.colW) && opt.colW.length === 1 && firstRowColCnt > 1) { + opt.w = Math.floor(Number(opt.colW) * firstRowColCnt); + opt.colW = null; + } else if (opt.colW && Array.isArray(opt.colW) && opt.colW.length !== firstRowColCnt) { + console.warn("addTable: mismatch: (colW.length != data.length) Therefore, defaulting to evenly distributed col widths."); + opt.colW = null; + } + } else if (opt.w) { + opt.w = getSmartParseNumber(opt.w, "X", presLayout); + } else { + opt.w = Math.floor(presLayout._sizeW / EMU - arrTableMargin[1] - arrTableMargin[3]); + } + if (opt.x && opt.x < 20) + opt.x = inch2Emu(opt.x); + if (opt.y && opt.y < 20) + opt.y = inch2Emu(opt.y); + if (opt.w && typeof opt.w === "number" && opt.w < 20) + opt.w = inch2Emu(opt.w); + if (opt.h && typeof opt.h === "number" && opt.h < 20) + opt.h = inch2Emu(opt.h); + arrRows.forEach((row) => { + row.forEach((cell, idy) => { + if (typeof cell === "number" || typeof cell === "string") { + row[idy] = { _type: SLIDE_OBJECT_TYPES.tablecell, text: String(row[idy]), options: opt }; + } else if (typeof cell === "object") { + if (typeof cell.text === "number") + row[idy].text = row[idy].text.toString(); + else if (typeof cell.text === "undefined" || cell.text === null) + row[idy].text = ""; + row[idy].options = cell.options || {}; + row[idy]._type = SLIDE_OBJECT_TYPES.tablecell; + } + }); + }); + const newAutoPagedSlides = []; + if (opt && !opt.autoPage) { + createHyperlinkRels(target, arrRows); + target._slideObjects.push({ + _type: SLIDE_OBJECT_TYPES.table, + arrTabRows: arrRows, + options: Object.assign({}, opt) + }); + } else { + if (opt.autoPageRepeatHeader) + opt._arrObjTabHeadRows = arrRows.filter((_row, idx) => idx < opt.autoPageHeaderRows); + getSlidesForTableRows(arrRows, opt, presLayout, slideLayout).forEach((slide, idx) => { + if (!getSlide(target._slideNum + idx)) + slides.push(addSlide({ masterName: (slideLayout === null || slideLayout === void 0 ? void 0 : slideLayout._name) || null })); + if (idx > 0) + opt.y = inch2Emu(opt.autoPageSlideStartY || opt.newSlideStartY || arrTableMargin[0]); + { + const newSlide = getSlide(target._slideNum + idx); + opt.autoPage = false; + createHyperlinkRels(newSlide, slide.rows); + newSlide.addTable(slide.rows, Object.assign({}, opt)); + if (idx > 0) + newAutoPagedSlides.push(newSlide); + } + }); + } + return newAutoPagedSlides; +} +function addTextDefinition(target, text2, opts, isPlaceholder) { + const newObject = { + _type: isPlaceholder ? SLIDE_OBJECT_TYPES.placeholder : SLIDE_OBJECT_TYPES.text, + shape: (opts === null || opts === void 0 ? void 0 : opts.shape) || SHAPE_TYPE.RECTANGLE, + text: !text2 || text2.length === 0 ? [{ text: "", options: null }] : text2, + options: opts || {} + }; + function cleanOpts(itemOpts) { + { + if (!itemOpts.placeholder) { + itemOpts.color = itemOpts.color || newObject.options.color || target.color || DEF_FONT_COLOR; + } + if (itemOpts.placeholder || isPlaceholder) { + itemOpts.bullet = itemOpts.bullet || false; + } + if (itemOpts.placeholder && target._slideLayout && target._slideLayout._slideObjects) { + const placeHold = target._slideLayout._slideObjects.filter((item) => item._type === "placeholder" && item.options && item.options.placeholder && item.options.placeholder === itemOpts.placeholder)[0]; + if (placeHold === null || placeHold === void 0 ? void 0 : placeHold.options) + itemOpts = Object.assign(Object.assign({}, itemOpts), placeHold.options); + } + itemOpts.objectName = itemOpts.objectName ? encodeXmlEntities(itemOpts.objectName) : `Text ${target._slideObjects.filter((obj) => obj._type === SLIDE_OBJECT_TYPES.text).length}`; + if (itemOpts.shape === SHAPE_TYPE.LINE) { + const newLineOpts = { + type: itemOpts.line.type || "solid", + color: itemOpts.line.color || DEF_SHAPE_LINE_COLOR, + transparency: itemOpts.line.transparency || 0, + width: itemOpts.line.width || 1, + dashType: itemOpts.line.dashType || "solid", + beginArrowType: itemOpts.line.beginArrowType || null, + endArrowType: itemOpts.line.endArrowType || null + }; + if (typeof itemOpts.line === "object") + itemOpts.line = newLineOpts; + if (typeof itemOpts.line === "string") { + const tmpOpts = newLineOpts; + if (typeof itemOpts.line === "string") + tmpOpts.color = itemOpts.line; + itemOpts.line = tmpOpts; + } + if (typeof itemOpts.lineSize === "number") + itemOpts.line.width = itemOpts.lineSize; + if (typeof itemOpts.lineDash === "string") + itemOpts.line.dashType = itemOpts.lineDash; + if (typeof itemOpts.lineHead === "string") + itemOpts.line.beginArrowType = itemOpts.lineHead; + if (typeof itemOpts.lineTail === "string") + itemOpts.line.endArrowType = itemOpts.lineTail; + } + itemOpts.line = itemOpts.line || {}; + itemOpts.lineSpacing = itemOpts.lineSpacing && !isNaN(itemOpts.lineSpacing) ? itemOpts.lineSpacing : null; + itemOpts.lineSpacingMultiple = itemOpts.lineSpacingMultiple && !isNaN(itemOpts.lineSpacingMultiple) ? itemOpts.lineSpacingMultiple : null; + itemOpts._bodyProp = itemOpts._bodyProp || {}; + itemOpts._bodyProp.autoFit = itemOpts.autoFit || false; + itemOpts._bodyProp.anchor = !itemOpts.placeholder ? TEXT_VALIGN.ctr : null; + itemOpts._bodyProp.vert = itemOpts.vert || null; + itemOpts._bodyProp.wrap = typeof itemOpts.wrap === "boolean" ? itemOpts.wrap : true; + if (itemOpts.inset && !isNaN(Number(itemOpts.inset)) || itemOpts.inset === 0) { + itemOpts._bodyProp.lIns = inch2Emu(itemOpts.inset); + itemOpts._bodyProp.rIns = inch2Emu(itemOpts.inset); + itemOpts._bodyProp.tIns = inch2Emu(itemOpts.inset); + itemOpts._bodyProp.bIns = inch2Emu(itemOpts.inset); + } + if (typeof itemOpts.underline === "boolean" && itemOpts.underline === true) + itemOpts.underline = { style: "sng" }; + } + { + if ((itemOpts.align || "").toLowerCase().indexOf("c") === 0) + itemOpts._bodyProp.align = TEXT_HALIGN.center; + else if ((itemOpts.align || "").toLowerCase().indexOf("l") === 0) + itemOpts._bodyProp.align = TEXT_HALIGN.left; + else if ((itemOpts.align || "").toLowerCase().indexOf("r") === 0) + itemOpts._bodyProp.align = TEXT_HALIGN.right; + else if ((itemOpts.align || "").toLowerCase().indexOf("j") === 0) + itemOpts._bodyProp.align = TEXT_HALIGN.justify; + if ((itemOpts.valign || "").toLowerCase().indexOf("b") === 0) + itemOpts._bodyProp.anchor = TEXT_VALIGN.b; + else if ((itemOpts.valign || "").toLowerCase().indexOf("m") === 0) + itemOpts._bodyProp.anchor = TEXT_VALIGN.ctr; + else if ((itemOpts.valign || "").toLowerCase().indexOf("t") === 0) + itemOpts._bodyProp.anchor = TEXT_VALIGN.t; + } + correctShadowOptions(itemOpts.shadow); + return itemOpts; + } + newObject.options = cleanOpts(newObject.options); + newObject.text.forEach((item) => item.options = cleanOpts(item.options || {})); + createHyperlinkRels(target, newObject.text || ""); + target._slideObjects.push(newObject); +} +function addPlaceholdersToSlideLayouts(slide) { + (slide._slideLayout._slideObjects || []).forEach((slideLayoutObj) => { + if (slideLayoutObj._type === SLIDE_OBJECT_TYPES.placeholder) { + if (slide._slideObjects.filter((slideObj) => slideObj.options && slideObj.options.placeholder === slideLayoutObj.options.placeholder).length === 0) { + addTextDefinition(slide, [{ text: "" }], slideLayoutObj.options, false); + } + } + }); +} +function addBackgroundDefinition(props, target) { + var _a; + if (target.bkgd) { + if (!target.background) + target.background = {}; + if (typeof target.bkgd === "string") + target.background.color = target.bkgd; + else { + if (target.bkgd.data) + target.background.data = target.bkgd.data; + if (target.bkgd.path) + target.background.path = target.bkgd.path; + if (target.bkgd.src) + target.background.path = target.bkgd.src; + } + } + if ((_a = target.background) === null || _a === void 0 ? void 0 : _a.fill) + target.background.color = target.background.fill; + if (props && (props.path || props.data)) { + props.path = props.path || "preencoded.png"; + let strImgExtn = (props.path.split(".").pop() || "png").split("?")[0]; + if (strImgExtn === "jpg") + strImgExtn = "jpeg"; + target._relsMedia = target._relsMedia || []; + const intRels = target._relsMedia.length + 1; + target._relsMedia.push({ + path: props.path, + type: SLIDE_OBJECT_TYPES.image, + extn: strImgExtn, + data: props.data || null, + rId: intRels, + Target: `../media/${(target._name || "").replace(/\s+/gi, "-")}-image-${target._relsMedia.length + 1}.${strImgExtn}` + }); + target._bkgdImgRid = intRels; + } +} +function createHyperlinkRels(target, text2, options) { + let textObjs = []; + if (typeof text2 === "string" || typeof text2 === "number") + return; + else if (Array.isArray(text2)) + textObjs = text2; + else if (typeof text2 === "object") + textObjs = [text2]; + textObjs.forEach((text3, idx) => { + if (options && options[idx] && options[idx].hyperlink) + text3.options = Object.assign(Object.assign({}, text3.options), options[idx]); + if (Array.isArray(text3)) { + const cellOpts = []; + text3.forEach((tablecell) => { + if (tablecell.options && !tablecell.text.options) { + cellOpts.push(tablecell.options); + } + }); + createHyperlinkRels(target, text3, cellOpts); + } else if (Array.isArray(text3.text)) { + createHyperlinkRels(target, text3.text, options && options[idx] ? [options[idx]] : void 0); + } else if (text3 && typeof text3 === "object" && text3.options && text3.options.hyperlink && !text3.options.hyperlink._rId) { + if (typeof text3.options.hyperlink !== "object") { + console.log("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink: {url:'https://github.com'}` "); + } else if (!text3.options.hyperlink.url && !text3.options.hyperlink.slide) { + console.log("ERROR: 'hyperlink requires either: `url` or `slide`'"); + } else { + const relId = getNewRelId(target); + target._rels.push({ + type: SLIDE_OBJECT_TYPES.hyperlink, + data: text3.options.hyperlink.slide ? "slide" : "dummy", + rId: relId, + Target: encodeXmlEntities(text3.options.hyperlink.url) || text3.options.hyperlink.slide.toString() + }); + text3.options.hyperlink._rId = relId; + } + } else if (text3 && typeof text3 === "object" && text3.options && text3.options.hyperlink && text3.options.hyperlink._rId) { + if (target._rels.filter((rel) => rel.rId === text3.options.hyperlink._rId).length === 0) { + target._rels.push({ + type: SLIDE_OBJECT_TYPES.hyperlink, + data: text3.options.hyperlink.slide ? "slide" : "dummy", + rId: text3.options.hyperlink._rId, + Target: encodeXmlEntities(text3.options.hyperlink.url) || text3.options.hyperlink.slide.toString() + }); + } + } + }); +} +var Slide = class { + constructor(params) { + var _a; + this.addSlide = params.addSlide; + this.getSlide = params.getSlide; + this._name = `Slide ${params.slideNumber}`; + this._presLayout = params.presLayout; + this._rId = params.slideRId; + this._rels = []; + this._relsChart = []; + this._relsMedia = []; + this._setSlideNum = params.setSlideNum; + this._slideId = params.slideId; + this._slideLayout = params.slideLayout || null; + this._slideNum = params.slideNumber; + this._slideObjects = []; + this._slideNumberProps = ((_a = this._slideLayout) === null || _a === void 0 ? void 0 : _a._slideNumberProps) ? this._slideLayout._slideNumberProps : null; + } + set bkgd(value2) { + this._bkgd = value2; + if (!this._background || !this._background.color) { + if (!this._background) + this._background = {}; + if (typeof value2 === "string") + this._background.color = value2; + } + } + get bkgd() { + return this._bkgd; + } + set background(props) { + this._background = props; + if (props) + addBackgroundDefinition(props, this); + } + get background() { + return this._background; + } + set color(value2) { + this._color = value2; + } + get color() { + return this._color; + } + set hidden(value2) { + this._hidden = value2; + } + get hidden() { + return this._hidden; + } + /** + * @type {SlideNumberProps} + */ + set slideNumber(value2) { + this._slideNumberProps = value2; + this._setSlideNum(value2); + } + get slideNumber() { + return this._slideNumberProps; + } + get newAutoPagedSlides() { + return this._newAutoPagedSlides; + } + /** + * Add chart to Slide + * @param {CHART_NAME|IChartMulti[]} type - chart type + * @param {object[]} data - data object + * @param {IChartOpts} options - chart options + * @return {Slide} this Slide + */ + addChart(type, data, options) { + const optionsWithType = options || {}; + optionsWithType._type = type; + addChartDefinition(this, type, data, options); + return this; + } + /** + * Add image to Slide + * @param {ImageProps} options - image options + * @return {Slide} this Slide + */ + addImage(options) { + addImageDefinition(this, options); + return this; + } + /** + * Add media (audio/video) to Slide + * @param {MediaProps} options - media options + * @return {Slide} this Slide + */ + addMedia(options) { + addMediaDefinition(this, options); + return this; + } + /** + * Add speaker notes to Slide + * @docs https://gitbrent.github.io/PptxGenJS/docs/speaker-notes.html + * @param {string} notes - notes to add to slide + * @return {Slide} this Slide + */ + addNotes(notes) { + addNotesDefinition(this, notes); + return this; + } + /** + * Add shape to Slide + * @param {SHAPE_NAME} shapeName - shape name + * @param {ShapeProps} options - shape options + * @return {Slide} this Slide + */ + addShape(shapeName, options) { + addShapeDefinition(this, shapeName, options); + return this; + } + /** + * Add table to Slide + * @param {TableRow[]} tableRows - table rows + * @param {TableProps} options - table options + * @return {Slide} this Slide + */ + addTable(tableRows, options) { + this._newAutoPagedSlides = addTableDefinition(this, tableRows, options, this._slideLayout, this._presLayout, this.addSlide, this.getSlide); + return this; + } + /** + * Add text to Slide + * @param {string|TextProps[]} text - text string or complex object + * @param {TextPropsOptions} options - text options + * @return {Slide} this Slide + */ + addText(text2, options) { + const textParam = typeof text2 === "string" || typeof text2 === "number" ? [{ text: text2, options }] : text2; + addTextDefinition(this, textParam, options, false); + return this; + } +}; +function createExcelWorksheet(chartObject, zip) { + return __awaiter2(this, void 0, void 0, function* () { + const data = chartObject.data; + return yield new Promise((resolve, reject) => { + var _a, _b; + const zipExcel = new import_jszip.default(); + const intBubbleCols = (data.length - 1) * 2 + 1; + const IS_MULTI_CAT_AXES = ((_b = (_a = data[0]) === null || _a === void 0 ? void 0 : _a.labels) === null || _b === void 0 ? void 0 : _b.length) > 1; + zipExcel.folder("_rels"); + zipExcel.folder("docProps"); + zipExcel.folder("xl/_rels"); + zipExcel.folder("xl/tables"); + zipExcel.folder("xl/theme"); + zipExcel.folder("xl/worksheets"); + zipExcel.folder("xl/worksheets/_rels"); + { + zipExcel.file("[Content_Types].xml", ' \n'); + zipExcel.file("_rels/.rels", '\n'); + zipExcel.file("docProps/app.xml", 'Microsoft Macintosh Excel0falseWorksheets1Sheet1falsefalsefalse16.0300\n'); + zipExcel.file("docProps/core.xml", 'PptxGenJSPptxGenJS' + (/* @__PURE__ */ new Date()).toISOString() + '' + (/* @__PURE__ */ new Date()).toISOString() + ""); + zipExcel.file("xl/_rels/workbook.xml.rels", ''); + zipExcel.file("xl/styles.xml", '\n'); + zipExcel.file("xl/theme/theme1.xml", ''); + zipExcel.file("xl/workbook.xml", '\n'); + zipExcel.file("xl/worksheets/_rels/sheet1.xml.rels", '\n'); + } + { + let strSharedStrings = ''; + if (chartObject.opts._type === CHART_TYPE.BUBBLE || chartObject.opts._type === CHART_TYPE.BUBBLE3D) { + strSharedStrings += ``; + } else if (chartObject.opts._type === CHART_TYPE.SCATTER) { + strSharedStrings += ``; + } else if (IS_MULTI_CAT_AXES) { + let totCount = data.length; + data[0].labels.forEach((arrLabel) => totCount += arrLabel.filter((label) => label && label !== "").length); + strSharedStrings += ``; + strSharedStrings += ""; + } else { + const totCount = data.length + data[0].labels.length * data[0].labels[0].length + data[0].labels.length; + const unqCount = data.length + data[0].labels.length * data[0].labels[0].length + 1; + strSharedStrings += ``; + strSharedStrings += ''; + } + if (chartObject.opts._type === CHART_TYPE.BUBBLE || chartObject.opts._type === CHART_TYPE.BUBBLE3D) { + data.forEach((objData, idx) => { + if (idx === 0) + strSharedStrings += "X-Axis"; + else { + strSharedStrings += `${encodeXmlEntities(objData.name || `Y-Axis${idx}`)}`; + strSharedStrings += `${encodeXmlEntities(`Size${idx}`)}`; + } + }); + } else { + data.forEach((objData) => { + strSharedStrings += `${encodeXmlEntities((objData.name || " ").replace("X-Axis", "X-Values"))}`; + }); } - `,(E.head||E.documentElement).appendChild(T)}s(),u(t),d(t),p(t),A(t),y(t),r?(h(t),v(t),P(t),L(t),P(t),F(t),t.querySelectorAll("[class]").forEach(E=>E.removeAttribute("class")),x(t),b(t),v(t),P(t),L(t)):F(t)}function Gc(e=document){let r=e.defaultView||window,t=e.body,n=r.getComputedStyle(t),i={width:parseFloat(n.width),height:parseFloat(n.height),scrollWidth:t.scrollWidth,scrollHeight:t.scrollHeight},a=[],o=Math.max(0,i.scrollWidth-i.width-1),l=Math.max(0,i.scrollHeight-i.height-1),c=o*.75,s=l*.75;if(c>0||s>0){let u=[];c>0&&u.push(`${c.toFixed(1)}pt horizontally`),s>0&&u.push(`${s.toFixed(1)}pt vertically`);let d=s>0?' (Remember: leave 0.5" margin at bottom of slide)':"";a.push(`HTML content overflows body by ${u.join(" and ")}${d}`)}return{...i,errors:a}}function jc(e=document){let r=e,t=r.defaultView||window,n=.75,i=96,a=["impact"],o=B=>{if(!B)return!1;let N=B.toLowerCase().replace(/['"]/g,"").split(",")[0].trim();return a.includes(N)},l=B=>B/i,c=B=>parseFloat(B)*n,s=B=>{if(B==="rgba(0, 0, 0, 0)"||B==="transparent")return"FFFFFF";let N=B.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);return N?N.slice(1).map(C=>parseInt(C).toString(16).padStart(2,"0")).join(""):"FFFFFF"},u=B=>{let N=B.match(/rgba\((\d+),\s*(\d+),\s*(\d+),\s*([\d.]+)\)/);if(!N||!N[4])return null;let C=parseFloat(N[4]);return Math.round((1-C)*100)},d=B=>{let N=String(B||"").match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?\)/);return N?{r:parseInt(N[1],10),g:parseInt(N[2],10),b:parseInt(N[3],10),a:N[4]!=null?parseFloat(N[4]):1}:null},p=B=>{let N=String(B||"0E0E12").replace("#","");return{r:parseInt(N.slice(0,2),16),g:parseInt(N.slice(2,4),16),b:parseInt(N.slice(4,6),16)}},f=(B,N="0E0E12")=>{let C=d(B);if(!C)return{fill:s(B),transparency:u(B)};if(C.a>=.98)return{fill:s(B),transparency:null};let w=p(N),D=Math.round(w.r*(1-C.a)+C.r*C.a),K=Math.round(w.g*(1-C.a)+C.g*C.a),Y=Math.round(w.b*(1-C.a)+C.b*C.a);return{fill:[D,K,Y].map(M=>M.toString(16).padStart(2,"0")).join("").toUpperCase(),transparency:null}},h=(B,N)=>N==="uppercase"?B.toUpperCase():N==="lowercase"?B.toLowerCase():N==="capitalize"?B.replace(/\b\w/g,C=>C.toUpperCase()):B,A=B=>B==="vertical-rl"||B==="vertical-lr"?"eaVert":null,y=B=>{let N=0;if(B&&B!=="none"){let C=B.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/);if(C)N+=parseFloat(C[1]);else{let w=B.match(/matrix\(([^)]+)\)/);if(w){let D=w[1].split(",").map(parseFloat),K=Math.atan2(D[1],D[0])*(180/Math.PI);N+=Math.round(K)}}}return N=N%360,N<0&&(N+=360),N===0?null:N},v=(B,N,C)=>{if(C===null)return{x:N.left,y:N.top,w:N.width,h:N.height};if(C===90||C===270){let Y=N.left+N.width/2,M=N.top+N.height/2;return{x:Y-N.height/2,y:M-N.width/2,w:N.height,h:N.width}}let D=N.left+N.width/2,K=N.top+N.height/2;return{x:D-B.offsetWidth/2,y:K-B.offsetHeight/2,w:B.offsetWidth,h:B.offsetHeight}},b=B=>{if(!B||B==="none"||B.match(/inset/))return null;let C=B.match(/rgba?\([^)]+\)/),w=B.match(/([-\d.]+)(px|pt)/g);if(!w||w.length<2)return null;let D=parseFloat(w[0]),K=parseFloat(w[1]),Y=w.length>2?parseFloat(w[2]):0,M=0;(D!==0||K!==0)&&(M=Math.atan2(K,D)*(180/Math.PI),M<0&&(M+=360));let $=Math.sqrt(D*D+K*K)*n,ie=.5;if(C){let te=C[0].match(/[\d.]+\)$/);te&&(ie=parseFloat(te[0].replace(")","")))}return{type:"outer",angle:Math.round(M),blur:Y*.75,color:C?s(C[0]):"000000",offset:$,opacity:ie}},x=(B,N={},C=[],w=D=>D)=>{let D=!1;return B.childNodes.forEach(K=>{let Y=w,M=K.nodeType===Node.TEXT_NODE||K.tagName==="BR";if(M){let $=K.tagName==="BR"?` -`:Y(K.textContent.replace(/\s+/g," ")),ie=C[C.length-1];D&&ie?ie.text+=$:C.push({text:$,options:{...N}})}else if(K.nodeType===Node.ELEMENT_NODE&&K.textContent.trim()){let $={...N},ie=t.getComputedStyle(K);if(["SPAN","B","STRONG","I","EM","U","SMALL","LABEL","A","CODE","MARK","SUB","SUP"].includes(K.tagName)){if((ie.fontWeight==="bold"||parseInt(ie.fontWeight)>=600)&&!o(ie.fontFamily)&&($.bold=!0),ie.fontStyle==="italic"&&($.italic=!0),ie.textDecoration&&ie.textDecoration.includes("underline")&&($.underline=!0),ie.color&&ie.color!=="rgb(0, 0, 0)"){$.color=s(ie.color);let he=u(ie.color);he!==null&&($.transparency=he)}if(ie.fontSize&&($.fontSize=c(ie.fontSize)),ie.textTransform&&ie.textTransform!=="none"){let he=ie.textTransform;Y=Be=>h(Be,he)}ie.marginLeft&&parseFloat(ie.marginLeft)>0&&ne.push(`Inline element <${K.tagName.toLowerCase()}> has margin-left which is not supported in PowerPoint. Remove margin from inline elements.`),ie.marginRight&&parseFloat(ie.marginRight)>0&&ne.push(`Inline element <${K.tagName.toLowerCase()}> has margin-right which is not supported in PowerPoint. Remove margin from inline elements.`),ie.marginTop&&parseFloat(ie.marginTop)>0&&ne.push(`Inline element <${K.tagName.toLowerCase()}> has margin-top which is not supported in PowerPoint. Remove margin from inline elements.`),ie.marginBottom&&parseFloat(ie.marginBottom)>0&&ne.push(`Inline element <${K.tagName.toLowerCase()}> has margin-bottom which is not supported in PowerPoint. Remove margin from inline elements.`),x(K,$,C,Y)}}D=M}),C.length>0&&(C[0].text=C[0].text.replace(/^\s+/,""),C[C.length-1].text=C[C.length-1].text.replace(/\s+$/,"")),C.filter(K=>K.text.length>0)},P=B=>!B||B==="transparent"||B==="rgba(0, 0, 0, 0)",F=B=>{let N=[B,r.documentElement,B?.querySelector?.(":scope > section, :scope > div, :scope > main")].filter(Boolean);for(let C of N){let w=t.getComputedStyle(C),D=w.backgroundImage||"";if(D.includes("linear-gradient")||D.includes("radial-gradient"))return{gradient:!0};if(D&&D!=="none"){let Y=D.match(/url\(["']?([^"')]+)["']?\)/);if(Y)return{type:"image",path:Y[1]}}let K=w.backgroundColor;if(!P(K))return{type:"color",value:s(K)}}return{type:"color",value:"FFFFFF"}},L=r.body,E=L.getBoundingClientRect(),R=B=>({left:B.left-E.left,top:B.top-E.top,width:B.width,height:B.height}),T=B=>R(B.getBoundingClientRect()),G=B=>{try{let N=r.createRange();N.selectNodeContents(B);let C=R(N.getBoundingClientRect());if(N.detach?.(),C.width>0&&C.height>0)return C}catch{}return T(B)},H=(B,N)=>{let C=d(B.color);return!C||C.a>=.2||!N.textContent.trim()?s(B.color):"E8E8E8"},k=(B,N,C)=>{let{x:w,y:D,w:K,h:Y}=v(B,N,C),M=E.width,$=E.height,ie=Math.max(8,M-w-4),te=B.scrollHeight||0;K=Math.min(K,ie);let he=Math.max(8,$-D-4);return te>Y+2?Y=Math.min(te,he):Y=Math.min(Y,he),{x:w,y:D,w:K,h:Y}},O=B=>{let N=t.getComputedStyle(B).zIndex;if(!N||N==="auto")return 0;let C=parseInt(N,10);return Number.isFinite(C)?C:0},g=(B,N)=>{N&&(B.zIndex=O(N)),de.push(B)},z=(B,N,C)=>{let D=t.getComputedStyle(B).listStyleColor;if(D&&D!=="rgba(0, 0, 0, 0)"){let K=s(D);if(K&&K!==C)return K}for(let K of N)try{let Y=t.getComputedStyle(K,"::marker");if(Y?.color){let M=s(Y.color);if(M&&M!==C)return M}}catch{}return null},ne=[],q=F(L);q.gradient&&ne.push("CSS gradients are not supported. Use Sharp to rasterize gradients as PNG images first, then reference with background-image: url('gradient.png')");let oe=q.gradient?{type:"color",value:"FFFFFF"}:{type:q.type,...q.path?{path:q.path}:{value:q.value}},Z=oe.value||"0E0E12",de=[],j=[],W=["P","H1","H2","H3","H4","H5","H6","UL","OL","LI"],fe=new Set(["SPAN","SMALL","LABEL","A","CODE","BUTTON","B","STRONG","I","EM","U","MARK","SUB","SUP"]),le=new Set(["TD","TH"]),ae=new Set(["DIV","SECTION","ARTICLE","ASIDE",...le]),ye=new Set,Le=B=>{let N=B.parentElement;for(;N&&N!==L;){if(W.includes(N.tagName)||N.dataset?.pptxMerge==="true")return!0;N=N.parentElement}return!1},Se=B=>Array.from(B.childNodes).some(N=>N.nodeType===Node.TEXT_NODE&&N.textContent.replace(/\s+/g," ").trim()),we=B=>!B.textContent.replace(/\s+/g," ").trim()||Le(B)?!1:fe.has(B.tagName)?!0:!ae.has(B.tagName)||!Se(B)&&!le.has(B.tagName)||B.querySelector("p,h1,h2,h3,h4,h5,h6,ul,ol,li")?!1:!Array.from(B.children).some(N=>ae.has(N.tagName)),Me=B=>{if(B.textAlign&&!["start","auto"].includes(B.textAlign))return B.textAlign==="end"?"right":B.textAlign;if(B.display.includes("flex")){if(B.justifyContent==="center")return"center";if(B.justifyContent==="flex-end"||B.justifyContent==="end")return"right"}if(B.display.includes("grid")){if((B.justifyItems||B.placeItems||"").includes("center"))return"center";if((B.justifyItems||B.placeItems||"").includes("end"))return"right"}return"left"},be=(B,N)=>{if(B.display==="table-cell"){if(B.verticalAlign==="middle")return"mid";if(B.verticalAlign==="bottom")return"bottom"}if(!B.display.includes("flex")&&!B.display.includes("grid"))return parseFloat(B.lineHeight||"0")>=N.height*.75?"mid":"top";let C=B.alignItems||B.placeItems||"";return C.includes("center")?"mid":C.includes("end")?"bottom":"top"},tt=B=>{let N=B.lineHeight;if(!N||N==="normal")return c(B.fontSize)*1.2;let C=parseFloat(N);return Number.isNaN(C)?c(B.fontSize)*1.2:c(N)},Re=(B,N=B.tagName.toLowerCase(),C=!1,w=null)=>{let D=w||T(B),K=B.textContent.replace(/\s+/g," ").trim();if(D.width===0||D.height===0||!K)return!1;if(N!=="text"&&B.tagName!=="LI"&&/^[•\-\*▪▸○●◆◇■□]\s/.test(K.trimStart()))return ne.push(`Text element <${B.tagName.toLowerCase()}> starts with bullet symbol "${K.substring(0,20)}...". Use
        or
          lists instead of manual bullet symbols.`),!1;let Y=t.getComputedStyle(B);if(Y.display==="none"||Y.visibility==="hidden"||parseFloat(Y.opacity||"1")<=0)return!1;let M=y(Y.transform),$=A(Y.writingMode),ie=C?v(B,D,M):k(B,D,M),te=Y.fontWeight==="bold"||parseInt(Y.fontWeight,10)>=600,he={fontSize:c(Y.fontSize),fontFace:Y.fontFamily.split(",")[0].replace(/['"]/g,"").trim(),color:H(Y,B),align:Me(Y),valign:C?be(Y,D):"top",lineSpacing:tt(Y),paraSpaceBefore:0,paraSpaceAfter:0,margin:0},Be=u(Y.color);if(Be!==null&&(he.transparency=Be),M!==null&&(he.rotate=M),$!==null&&(he.vert=$),B.querySelector("b, i, u, strong, em, span, small, label, a, code, mark, sub, sup, br")){let Ee=Y.textTransform,Je={};te&&!o(Y.fontFamily)&&(Je.bold=!0);let je=x(B,Je,[],me=>h(me,Ee));!je.map(me=>me.text).join("").trim()&&K&&(je=[{text:h(K,Ee),options:{...Je}}]);let ce={...he};if(ce.lineSpacing){let me=Math.max(ce.fontSize,...je.map(Fe=>Fe.options?.fontSize||0));me>ce.fontSize&&(ce.lineSpacing=me*(ce.lineSpacing/ce.fontSize))}g({type:N,text:je,position:{x:l(ie.x),y:l(ie.y),w:l(ie.w),h:l(ie.h)},style:ce},B)}else g({type:N,text:h(K,Y.textTransform),position:{x:l(ie.x),y:l(ie.y),w:l(ie.w),h:l(ie.h)},style:{...he,bold:te&&!o(Y.fontFamily),italic:Y.fontStyle==="italic",underline:Y.textDecoration.includes("underline")}},B);return ye.add(B),N==="text"&&B.querySelectorAll("span,small,label,a,code,b,strong,i,em,u,mark,sub,sup").forEach(Ee=>ye.add(Ee)),!0};r.querySelectorAll("*").forEach(B=>{if(ye.has(B))return;if(B.tagName==="DIV"&&B.dataset&&B.dataset.pptxMerge==="true"){let w=T(B);if(w.width===0||w.height===0){ye.add(B);return}if(B.querySelector('[data-pptx-merge="true"]')){ne.push("data-pptx-merge container cannot contain another data-pptx-merge container. Nested merge is not supported."),ye.add(B);return}let D=t.getComputedStyle(B);if(D.backgroundImage&&D.backgroundImage!=="none"){ne.push("Background images on data-pptx-merge container are not supported. Use solid colors or borders, or layer images via slide.addImage().");return}let K=D.backgroundColor&&D.backgroundColor!=="rgba(0, 0, 0, 0)",Y=[D.borderTopWidth,D.borderRightWidth,D.borderBottomWidth,D.borderLeftWidth].map(Ee=>parseFloat(Ee)||0),$=Y.some(Ee=>Ee>0)&&Y.every(Ee=>Ee===Y[0]);(K||$)&&de.push({type:"shape",text:"",position:{x:l(w.left),y:l(w.top),w:l(w.width),h:l(w.height)},shape:{fill:K?s(D.backgroundColor):null,transparency:K?u(D.backgroundColor):null,line:$?{color:s(D.borderColor),width:c(D.borderWidth)}:null,rectRadius:(()=>{let Ee=D.borderRadius,Je=parseFloat(Ee);if(Je===0)return 0;if(Ee.includes("%")){if(Je>=50)return 1;let je=Math.min(w.width,w.height);return Je/100*l(je)}return Ee.includes("pt")?Je/72:Je/i})(),shadow:b(D.boxShadow)}});let ie=Array.from(B.querySelectorAll("p, h1, h2, h3, h4, h5, h6"));if(ie.length===0){ne.push("data-pptx-merge container has no

          / children to merge. Remove the data-pptx-merge attribute or add text elements."),ye.add(B);return}let te=t.getComputedStyle(ie[0]),he={fontSize:c(te.fontSize),fontFace:te.fontFamily.split(",")[0].replace(/['"]/g,"").trim(),color:s(te.color),align:te.textAlign==="start"?"left":te.textAlign,lineSpacing:tt(te),paraSpaceBefore:0,paraSpaceAfter:0,margin:0},Be=u(te.color);Be!==null&&(he.transparency=Be);let Pe=[];if(ie.forEach((Ee,Je)=>{let je=Je===ie.length-1,_=t.getComputedStyle(Ee),ce=_.textTransform,me=c(_.fontSize),Fe=_.fontFamily.split(",")[0].replace(/['"]/g,"").trim(),ee=s(_.color),ge=_.fontWeight==="bold"||parseInt(_.fontWeight)>=600,I=_.fontStyle==="italic",ve=_.textDecoration.includes("underline"),Oe={};me!==he.fontSize&&(Oe.fontSize=me),Fe!==he.fontFace&&(Oe.fontFace=Fe),ee!==he.color&&(Oe.color=ee),ge&&!o(_.fontFamily)&&(Oe.bold=!0),I&&(Oe.italic=!0),ve&&(Oe.underline=!0);let S=Ee.querySelector("b, i, u, strong, em, span, small, label, a, code, mark, sub, sup, br"),ue;if(S)ue=x(Ee,Oe,[],pe=>h(pe,ce));else{let pe=h(Ee.textContent.trim(),ce);if(!pe)return;ue=[{text:pe,options:{...Oe}}]}ue.length>0&&!je&&(ue[ue.length-1].options.breakLine=!0),Pe.push(...ue),ye.add(Ee)}),Pe.length===0){ye.add(B);return}de.push({type:"merged-text",items:Pe,position:{x:l(w.left),y:l(w.top),w:l(w.width),h:l(w.height)},style:he}),ye.add(B);return}let N=we(B)?Re(B,"text",!0,fe.has(B.tagName)?G(B):null):!1;if(W.includes(B.tagName)||fe.has(B.tagName)){let w=t.getComputedStyle(B),D=w.backgroundColor&&w.backgroundColor!=="rgba(0, 0, 0, 0)",K=w.borderWidth&&parseFloat(w.borderWidth)>0||w.borderTopWidth&&parseFloat(w.borderTopWidth)>0||w.borderRightWidth&&parseFloat(w.borderRightWidth)>0||w.borderBottomWidth&&parseFloat(w.borderBottomWidth)>0||w.borderLeftWidth&&parseFloat(w.borderLeftWidth)>0,Y=w.boxShadow&&w.boxShadow!=="none";if(D||K||Y){let M=T(B);if(M.width>0&&M.height>0){let $=[w.borderTopWidth,w.borderRightWidth,w.borderBottomWidth,w.borderLeftWidth].map(he=>parseFloat(he)||0),ie=$.some(he=>he>0)&&$.every(he=>he===$[0]),te=D?f(w.backgroundColor,Z):{fill:null,transparency:null};if(te.fill||ie){let he=w.borderRadius,Be=parseFloat(he);g({type:"shape",text:"",position:{x:l(M.left),y:l(M.top),w:l(M.width),h:l(M.height)},shape:{fill:te.fill,transparency:te.transparency,line:ie?{color:s(w.borderColor),width:c(w.borderWidth)}:null,rectRadius:(()=>{if(!Be)return 0;if(he.includes("%")){if(Be>=50)return 1;let Pe=Math.min(M.width,M.height);return Be/100*l(Pe)}return he.includes("pt")?Be/72:Be/i})(),shadow:b(w.boxShadow)}},B)}}}}if(B.classList&&B.classList.contains("placeholder")){let w=T(B);w.width===0||w.height===0?ne.push(`Placeholder "${B.id||"unnamed"}" has ${w.width===0?"width: 0":"height: 0"}. Check the layout CSS.`):j.push({id:B.id||`placeholder-${j.length}`,x:l(w.left),y:l(w.top),w:l(w.width),h:l(w.height)}),ye.add(B);return}if(B.tagName==="IMG"){let w=T(B);if(w.width>0&&w.height>0){de.push({type:"image",src:B.src,position:{x:l(w.left),y:l(w.top),w:l(w.width),h:l(w.height)}}),ye.add(B);return}}if(ae.has(B.tagName)){let w=t.getComputedStyle(B),D=w.backgroundColor&&w.backgroundColor!=="rgba(0, 0, 0, 0)",K=w.backgroundImage;if(K&&K!=="none"){ne.push("Background images on DIV elements are not supported. Use solid colors or borders for shapes, or use slide.addImage() in PptxGenJS to layer images.");return}let Y=w.borderTopWidth,M=w.borderRightWidth,$=w.borderBottomWidth,ie=w.borderLeftWidth,te=[Y,M,$,ie].map(Ee=>parseFloat(Ee)||0),he=te.some(Ee=>Ee>0),Be=he&&te.every(Ee=>Ee===te[0]),Pe=[];if(he&&!Be){let Ee=T(B),Je=l(Ee.left),je=l(Ee.top),_=l(Ee.width),ce=l(Ee.height);if(parseFloat(Y)>0){let me=c(Y),Fe=me/72/2;Pe.push({type:"line",x1:Je,y1:je+Fe,x2:Je+_,y2:je+Fe,width:me,color:s(w.borderTopColor)})}if(parseFloat(M)>0){let me=c(M),Fe=me/72/2;Pe.push({type:"line",x1:Je+_-Fe,y1:je,x2:Je+_-Fe,y2:je+ce,width:me,color:s(w.borderRightColor)})}if(parseFloat($)>0){let me=c($),Fe=me/72/2;Pe.push({type:"line",x1:Je,y1:je+ce-Fe,x2:Je+_,y2:je+ce-Fe,width:me,color:s(w.borderBottomColor)})}if(parseFloat(ie)>0){let me=c(ie),Fe=me/72/2;Pe.push({type:"line",x1:Je+Fe,y1:je,x2:Je+Fe,y2:je+ce,width:me,color:s(w.borderLeftColor)})}}if(D||he){let Ee=T(B);if(Ee.width>=E.width*.97&&Ee.height>=E.height*.97&&D){ye.add(B);return}if(Ee.width>0&&Ee.height>0){let je=b(w.boxShadow);if(D||Be){let _=D?f(w.backgroundColor,Z):{fill:null,transparency:null},ce=_.fill,me=_.transparency;!ce&&Be&&(ce=s(w.borderColor)||"2A2A30",me=me??88),g({type:"shape",text:"",position:{x:l(Ee.left),y:l(Ee.top),w:l(Ee.width),h:l(Ee.height)},shape:{fill:ce,transparency:me,line:Be?{color:s(w.borderColor),width:c(w.borderWidth)}:null,rectRadius:(()=>{let Fe=w.borderRadius,ee=parseFloat(Fe);if(ee===0)return 0;if(Fe.includes("%")){if(ee>=50)return 1;let ge=Math.min(Ee.width,Ee.height);return ee/100*l(ge)}return Fe.includes("pt")?ee/72:ee/i})(),shadow:je}},B)}Pe.forEach(_=>g(_,B)),ye.add(B);return}}}if(!N){if(B.tagName==="UL"||B.tagName==="OL"){let w=T(B);if(w.width===0||w.height===0)return;let D=Array.from(B.querySelectorAll("li")),K=[],Y=t.getComputedStyle(B),M=c(Y.paddingLeft),$=M*.5,ie=M*.5,te=t.getComputedStyle(D[0]||B),he=s(te.color),Be=z(B,D,he);D.forEach((Ee,Je)=>{let je=Je===D.length-1,_=x(Ee,{breakLine:!1});_.length>0&&(_[0].text=_[0].text.replace(/^[•\-\*▪▸]\s*/,""),_[0].options.bullet={indent:ie}),_.length>0&&Be&&Be!==he&&_.unshift({text:"\u200B",options:{bullet:{indent:ie},color:Be,fontSize:_[0]?.options?.fontSize||c(te.fontSize),breakLine:!1}}),_.length>0&&!je&&(_[_.length-1].options.breakLine=!0),K.push(..._)});let Pe=k(B,w,null);g({type:"list",items:K,position:{x:l(Pe.x),y:l(Pe.y),w:l(Pe.w),h:l(Pe.h)},style:{fontSize:c(te.fontSize),fontFace:te.fontFamily.split(",")[0].replace(/['"]/g,"").trim(),color:he,bulletColor:Be,transparency:u(te.color),align:te.textAlign==="start"?"left":te.textAlign,lineSpacing:tt(te),paraSpaceBefore:0,paraSpaceAfter:c(te.marginBottom),margin:[$,0,0,0]}},B),D.forEach(Ee=>ye.add(Ee)),ye.add(B);return}W.includes(B.tagName)&&Re(B)}});let m=B=>B==="shape"?0:B==="line"?1:B==="image"?2:3;return de.sort((B,N)=>{let C=(B.zIndex??0)-(N.zIndex??0);return C!==0?C:m(B.type)-m(N.type)}),{background:oe,elements:de,placeholders:j,errors:ne}}var sr={width:1280,height:720},Kh=new Set(["p","h1","h2","h3","h4","h5","h6","text","list","merged-text"]);function Qh(e){return(e?.elements||[]).filter(r=>Kh.has(r.type)).length}function Zh(e){let r=Nr(e);if(r.includes('data-pptx-raster="1"')&&r.includes("pptx-raster-hide-text"))return r;let n=``;return/<\/head>/i.test(r)?r.replace(/<\/head>/i,`${n}`).replace(/e.querySelectorAll(t),createElement:t=>document.createElement(t),getElementById:t=>e.querySelector(`#${t}`),head:e.querySelector("style")?.parentElement||e,_exportRoot:e}}function tp(){let e=document.createElement("div");e.className="ppt-export-root-host",e.setAttribute("aria-hidden","true"),e.style.cssText=[`width:${sr.width}px`,`height:${sr.height}px`,"overflow:hidden"].join(";"),Yh().appendChild(e);let r=e.attachShadow({mode:"open"}),t=document.createElement("div");return t.className="ppt-export-root",t.style.cssText=[`width:${sr.width}px`,`height:${sr.height}px`,"overflow:hidden"].join(";"),r.appendChild(t),t._exportHost=e,t}function rp(e){let r=e?._exportHost||e;r?.isConnected&&r.remove()}async function Vc(){await new Promise(e=>{requestAnimationFrame(()=>requestAnimationFrame(e))})}function np(e,r){let t=new DOMParser().parseFromString(r,"text/html");e.replaceChildren(),t.querySelectorAll("style").forEach(i=>{let a=document.createElement("style");a.textContent=$h(i.textContent||""),e.appendChild(a)});let n=document.createElement("div");if(n.className="ppt-export-body",t.body){for(let i of t.body.attributes)i.name==="class"?n.classList.add(...i.value.split(/\s+/).filter(Boolean)):i.name==="style"?n.style.cssText+=`;${i.value}`:n.setAttribute(i.name,i.value);n.innerHTML=t.body.innerHTML}return n.style.boxSizing="border-box",/\bwidth\s*:/i.test(n.style.cssText)||(n.style.width=`${sr.width}px`),/\bheight\s*:/i.test(n.style.cssText)||(n.style.height=`${sr.height}px`),e.appendChild(n),n}async function ip(e){let r=Nr(e),t=tp(),n=np(t,r);return await Vc(),ep(t,n)}async function qc(e,r,t={}){let n=null;try{let i=await ip(e);n=i._exportRoot,Wc(i,r),await Vc();let a=Gc(i),o=jc(i),l=a.errors||[];l.length&&console.warn("[ppt-live-export] slide overflows canvas; exporting anyway:",l.join("; "));let c={...a,errors:[]},s=o.errors||[];return!s.length||t.allowValidationErrors?{slideData:o,bodyDimensions:c,aggressive:r,warnings:l}:{error:new Error(s.join(` -`))}}finally{n&&rp(n)}}async function ap(e,r={}){let t=await qc(e,!1,r);if(t?.slideData)return t;let n=await qc(e,!0,r);if(n?.slideData)return n;throw n?.error||t?.error||new Error("PPT Live slide preparation failed")}async function Xc(e,r={}){let t=[];try{for(let[n,i]of e.entries()){if(!i?.html)continue;let a=await ap(i.html,r),o=null,c=Qh(a.slideData)===0;if(typeof r.renderRaster=="function")try{typeof r.onRasterProgress=="function"&&r.onRasterProgress(n,i);let s=c?Ss(i):Zh(i.html);o=await r.renderRaster(s,n)}catch{o=null}t.push({index:n,slideId:i.id,notes:i,...a,rasterBase64:o,rasterOnly:!!(o&&c)})}return t}finally{Jh()}}function op(e={}){let r=e.theme||{},t=String(e.title||"Slide").replace(/[<>&]/g,l=>({"<":"<",">":">","&":"&"})[l]||l),n=String(e.subtitle||e.claim||"").replace(/[<>&]/g,l=>({"<":"<",">":">","&":"&"})[l]||l),i=r.background||"#ffffff",a=r.ink||"#111111",o=r.muted||"#666666";return` - - - - - - -

          ${t}

          - ${n?`

          ${n}

          `:""} - -`}function Ss(e){return e?.html?Nr(e.html):op(e)}var sp=Object.create,Lu=Object.defineProperty,lp=Object.getOwnPropertyDescriptor,Nu=Object.getOwnPropertyNames,cp=Object.getPrototypeOf,up=Object.prototype.hasOwnProperty,An=(e=>typeof Dn<"u"?Dn:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof Dn<"u"?Dn:r)[t]}):e)(function(e){if(typeof Dn<"u")return Dn.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),Lt=(e,r)=>function(){return r||(0,e[Nu(e)[0]])((r={exports:{}}).exports,r),r.exports},dp=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of Nu(r))!up.call(e,i)&&i!==t&&Lu(e,i,{get:()=>r[i],enumerable:!(n=lp(r,i))||n.enumerable});return e},Qr=(e,r,t)=>(t=e!=null?sp(cp(e)):{},dp(r||!e||!e.__esModule?Lu(t,"default",{value:e,enumerable:!0}):t,e)),Sn=Lt({"../../../node_modules/pako/lib/utils/common.js"(e){"use strict";var r=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function t(a,o){return Object.prototype.hasOwnProperty.call(a,o)}e.assign=function(a){for(var o=Array.prototype.slice.call(arguments,1);o.length;){var l=o.shift();if(l){if(typeof l!="object")throw new TypeError(l+"must be non-object");for(var c in l)t(l,c)&&(a[c]=l[c])}}return a},e.shrinkBuf=function(a,o){return a.length===o?a:a.subarray?a.subarray(0,o):(a.length=o,a)};var n={arraySet:function(a,o,l,c,s){if(o.subarray&&a.subarray){a.set(o.subarray(l,l+c),s);return}for(var u=0;u=0;)_[ce]=0}var l=0,c=1,s=2,u=3,d=258,p=29,f=256,h=f+1+p,A=30,y=19,v=2*h+1,b=15,x=16,P=7,F=256,L=16,E=17,R=18,T=[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],G=[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],H=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],k=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],O=512,g=new Array((h+2)*2);o(g);var z=new Array(A*2);o(z);var ne=new Array(O);o(ne);var q=new Array(d-u+1);o(q);var oe=new Array(p);o(oe);var Z=new Array(A);o(Z);function de(_,ce,me,Fe,ee){this.static_tree=_,this.extra_bits=ce,this.extra_base=me,this.elems=Fe,this.max_length=ee,this.has_stree=_&&_.length}var j,W,fe;function le(_,ce){this.dyn_tree=_,this.max_code=0,this.stat_desc=ce}function ae(_){return _<256?ne[_]:ne[256+(_>>>7)]}function ye(_,ce){_.pending_buf[_.pending++]=ce&255,_.pending_buf[_.pending++]=ce>>>8&255}function Le(_,ce,me){_.bi_valid>x-me?(_.bi_buf|=ce<<_.bi_valid&65535,ye(_,_.bi_buf),_.bi_buf=ce>>x-_.bi_valid,_.bi_valid+=me-x):(_.bi_buf|=ce<<_.bi_valid&65535,_.bi_valid+=me)}function Se(_,ce,me){Le(_,me[ce*2],me[ce*2+1])}function we(_,ce){var me=0;do me|=_&1,_>>>=1,me<<=1;while(--ce>0);return me>>>1}function Me(_){_.bi_valid===16?(ye(_,_.bi_buf),_.bi_buf=0,_.bi_valid=0):_.bi_valid>=8&&(_.pending_buf[_.pending++]=_.bi_buf&255,_.bi_buf>>=8,_.bi_valid-=8)}function be(_,ce){var me=ce.dyn_tree,Fe=ce.max_code,ee=ce.stat_desc.static_tree,ge=ce.stat_desc.has_stree,I=ce.stat_desc.extra_bits,ve=ce.stat_desc.extra_base,Oe=ce.stat_desc.max_length,S,ue,pe,U,re,Ae,_e=0;for(U=0;U<=b;U++)_.bl_count[U]=0;for(me[_.heap[_.heap_max]*2+1]=0,S=_.heap_max+1;SOe&&(U=Oe,_e++),me[ue*2+1]=U,!(ue>Fe)&&(_.bl_count[U]++,re=0,ue>=ve&&(re=I[ue-ve]),Ae=me[ue*2],_.opt_len+=Ae*(U+re),ge&&(_.static_len+=Ae*(ee[ue*2+1]+re)));if(_e!==0){do{for(U=Oe-1;_.bl_count[U]===0;)U--;_.bl_count[U]--,_.bl_count[U+1]+=2,_.bl_count[Oe]--,_e-=2}while(_e>0);for(U=Oe;U!==0;U--)for(ue=_.bl_count[U];ue!==0;)pe=_.heap[--S],!(pe>Fe)&&(me[pe*2+1]!==U&&(_.opt_len+=(U-me[pe*2+1])*me[pe*2],me[pe*2+1]=U),ue--)}}function tt(_,ce,me){var Fe=new Array(b+1),ee=0,ge,I;for(ge=1;ge<=b;ge++)Fe[ge]=ee=ee+me[ge-1]<<1;for(I=0;I<=ce;I++){var ve=_[I*2+1];ve!==0&&(_[I*2]=we(Fe[ve]++,ve))}}function Re(){var _,ce,me,Fe,ee,ge=new Array(b+1);for(me=0,Fe=0;Fe>=7;Fe8?ye(_,_.bi_buf):_.bi_valid>0&&(_.pending_buf[_.pending++]=_.bi_buf),_.bi_buf=0,_.bi_valid=0}function N(_,ce,me,Fe){B(_),Fe&&(ye(_,me),ye(_,~me)),r.arraySet(_.pending_buf,_.window,ce,me,_.pending),_.pending+=me}function C(_,ce,me,Fe){var ee=ce*2,ge=me*2;return _[ee]<_[ge]||_[ee]===_[ge]&&Fe[ce]<=Fe[me]}function w(_,ce,me){for(var Fe=_.heap[me],ee=me<<1;ee<=_.heap_len&&(ee<_.heap_len&&C(ce,_.heap[ee+1],_.heap[ee],_.depth)&&ee++,!C(ce,Fe,_.heap[ee],_.depth));)_.heap[me]=_.heap[ee],me=ee,ee<<=1;_.heap[me]=Fe}function D(_,ce,me){var Fe,ee,ge=0,I,ve;if(_.last_lit!==0)do Fe=_.pending_buf[_.d_buf+ge*2]<<8|_.pending_buf[_.d_buf+ge*2+1],ee=_.pending_buf[_.l_buf+ge],ge++,Fe===0?Se(_,ee,ce):(I=q[ee],Se(_,I+f+1,ce),ve=T[I],ve!==0&&(ee-=oe[I],Le(_,ee,ve)),Fe--,I=ae(Fe),Se(_,I,me),ve=G[I],ve!==0&&(Fe-=Z[I],Le(_,Fe,ve)));while(ge<_.last_lit);Se(_,F,ce)}function K(_,ce){var me=ce.dyn_tree,Fe=ce.stat_desc.static_tree,ee=ce.stat_desc.has_stree,ge=ce.stat_desc.elems,I,ve,Oe=-1,S;for(_.heap_len=0,_.heap_max=v,I=0;I>1;I>=1;I--)w(_,me,I);S=ge;do I=_.heap[1],_.heap[1]=_.heap[_.heap_len--],w(_,me,1),ve=_.heap[1],_.heap[--_.heap_max]=I,_.heap[--_.heap_max]=ve,me[S*2]=me[I*2]+me[ve*2],_.depth[S]=(_.depth[I]>=_.depth[ve]?_.depth[I]:_.depth[ve])+1,me[I*2+1]=me[ve*2+1]=S,_.heap[1]=S++,w(_,me,1);while(_.heap_len>=2);_.heap[--_.heap_max]=_.heap[1],be(_,ce),tt(me,Oe,_.bl_count)}function Y(_,ce,me){var Fe,ee=-1,ge,I=ce[1],ve=0,Oe=7,S=4;for(I===0&&(Oe=138,S=3),ce[(me+1)*2+1]=65535,Fe=0;Fe<=me;Fe++)ge=I,I=ce[(Fe+1)*2+1],!(++ve=3&&_.bl_tree[k[ce]*2+1]===0;ce--);return _.opt_len+=3*(ce+1)+5+5+4,ce}function ie(_,ce,me,Fe){var ee;for(Le(_,ce-257,5),Le(_,me-1,5),Le(_,Fe-4,4),ee=0;ee>>=1)if(ce&1&&_.dyn_ltree[me*2]!==0)return n;if(_.dyn_ltree[18]!==0||_.dyn_ltree[20]!==0||_.dyn_ltree[26]!==0)return i;for(me=32;me0?(_.strm.data_type===a&&(_.strm.data_type=te(_)),K(_,_.l_desc),K(_,_.d_desc),I=$(_),ee=_.opt_len+3+7>>>3,ge=_.static_len+3+7>>>3,ge<=ee&&(ee=ge)):ee=ge=me+5,me+4<=ee&&ce!==-1?Pe(_,ce,me,Fe):_.strategy===t||ge===ee?(Le(_,(c<<1)+(Fe?1:0),3),D(_,g,z)):(Le(_,(s<<1)+(Fe?1:0),3),ie(_,_.l_desc.max_code+1,_.d_desc.max_code+1,I+1),D(_,_.dyn_ltree,_.dyn_dtree)),m(_),Fe&&B(_)}function je(_,ce,me){return _.pending_buf[_.d_buf+_.last_lit*2]=ce>>>8&255,_.pending_buf[_.d_buf+_.last_lit*2+1]=ce&255,_.pending_buf[_.l_buf+_.last_lit]=me&255,_.last_lit++,ce===0?_.dyn_ltree[me*2]++:(_.matches++,ce--,_.dyn_ltree[(q[me]+f+1)*2]++,_.dyn_dtree[ae(ce)*2]++),_.last_lit===_.lit_bufsize-1}e._tr_init=Be,e._tr_stored_block=Pe,e._tr_flush_block=Je,e._tr_tally=je,e._tr_align=Ee}}),Iu=Lt({"../../../node_modules/pako/lib/zlib/adler32.js"(e,r){"use strict";function t(n,i,a,o){for(var l=n&65535|0,c=n>>>16&65535|0,s=0;a!==0;){s=a>2e3?2e3:a,a-=s;do l=l+i[o++]|0,c=c+l|0;while(--s);l%=65521,c%=65521}return l|c<<16|0}r.exports=t}}),zu=Lt({"../../../node_modules/pako/lib/zlib/crc32.js"(e,r){"use strict";function t(){for(var a,o=[],l=0;l<256;l++){a=l;for(var c=0;c<8;c++)a=a&1?3988292384^a>>>1:a>>>1;o[l]=a}return o}var n=t();function i(a,o,l,c){var s=n,u=c+l;a^=-1;for(var d=c;d>>8^s[(a^o[d])&255];return a^-1}r.exports=i}}),il=Lt({"../../../node_modules/pako/lib/zlib/messages.js"(e,r){"use strict";r.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}}}),hp=Lt({"../../../node_modules/pako/lib/zlib/deflate.js"(e){"use strict";var r=Sn(),t=fp(),n=Iu(),i=zu(),a=il(),o=0,l=1,c=3,s=4,u=5,d=0,p=1,f=-2,h=-3,A=-5,y=-1,v=1,b=2,x=3,P=4,F=0,L=2,E=8,R=9,T=15,G=8,H=29,k=256,O=k+1+H,g=30,z=19,ne=2*O+1,q=15,oe=3,Z=258,de=Z+oe+1,j=32,W=42,fe=69,le=73,ae=91,ye=103,Le=113,Se=666,we=1,Me=2,be=3,tt=4,Re=3;function m(S,ue){return S.msg=a[ue],ue}function B(S){return(S<<1)-(S>4?9:0)}function N(S){for(var ue=S.length;--ue>=0;)S[ue]=0}function C(S){var ue=S.state,pe=ue.pending;pe>S.avail_out&&(pe=S.avail_out),pe!==0&&(r.arraySet(S.output,ue.pending_buf,ue.pending_out,pe,S.next_out),S.next_out+=pe,ue.pending_out+=pe,S.total_out+=pe,S.avail_out-=pe,ue.pending-=pe,ue.pending===0&&(ue.pending_out=0))}function w(S,ue){t._tr_flush_block(S,S.block_start>=0?S.block_start:-1,S.strstart-S.block_start,ue),S.block_start=S.strstart,C(S.strm)}function D(S,ue){S.pending_buf[S.pending++]=ue}function K(S,ue){S.pending_buf[S.pending++]=ue>>>8&255,S.pending_buf[S.pending++]=ue&255}function Y(S,ue,pe,U){var re=S.avail_in;return re>U&&(re=U),re===0?0:(S.avail_in-=re,r.arraySet(ue,S.input,S.next_in,re,pe),S.state.wrap===1?S.adler=n(S.adler,ue,re,pe):S.state.wrap===2&&(S.adler=i(S.adler,ue,re,pe)),S.next_in+=re,S.total_in+=re,re)}function M(S,ue){var pe=S.max_chain_length,U=S.strstart,re,Ae,_e=S.prev_length,Ie=S.nice_match,ze=S.strstart>S.w_size-de?S.strstart-(S.w_size-de):0,At=S.window,Or=S.w_mask,Dt=S.prev,gt=S.strstart+Z,Nt=At[U+_e-1],Ht=At[U+_e];S.prev_length>=S.good_match&&(pe>>=2),Ie>S.lookahead&&(Ie=S.lookahead);do if(re=ue,!(At[re+_e]!==Ht||At[re+_e-1]!==Nt||At[re]!==At[U]||At[++re]!==At[U+1])){U+=2,re++;do;while(At[++U]===At[++re]&&At[++U]===At[++re]&&At[++U]===At[++re]&&At[++U]===At[++re]&&At[++U]===At[++re]&&At[++U]===At[++re]&&At[++U]===At[++re]&&At[++U]===At[++re]&&U_e){if(S.match_start=ue,_e=Ae,Ae>=Ie)break;Nt=At[U+_e-1],Ht=At[U+_e]}}while((ue=Dt[ue&Or])>ze&&--pe!==0);return _e<=S.lookahead?_e:S.lookahead}function $(S){var ue=S.w_size,pe,U,re,Ae,_e;do{if(Ae=S.window_size-S.lookahead-S.strstart,S.strstart>=ue+(ue-de)){r.arraySet(S.window,S.window,ue,ue,0),S.match_start-=ue,S.strstart-=ue,S.block_start-=ue,U=S.hash_size,pe=U;do re=S.head[--pe],S.head[pe]=re>=ue?re-ue:0;while(--U);U=ue,pe=U;do re=S.prev[--pe],S.prev[pe]=re>=ue?re-ue:0;while(--U);Ae+=ue}if(S.strm.avail_in===0)break;if(U=Y(S.strm,S.window,S.strstart+S.lookahead,Ae),S.lookahead+=U,S.lookahead+S.insert>=oe)for(_e=S.strstart-S.insert,S.ins_h=S.window[_e],S.ins_h=(S.ins_h<S.pending_buf_size-5&&(pe=S.pending_buf_size-5);;){if(S.lookahead<=1){if($(S),S.lookahead===0&&ue===o)return we;if(S.lookahead===0)break}S.strstart+=S.lookahead,S.lookahead=0;var U=S.block_start+pe;if((S.strstart===0||S.strstart>=U)&&(S.lookahead=S.strstart-U,S.strstart=U,w(S,!1),S.strm.avail_out===0)||S.strstart-S.block_start>=S.w_size-de&&(w(S,!1),S.strm.avail_out===0))return we}return S.insert=0,ue===s?(w(S,!0),S.strm.avail_out===0?be:tt):(S.strstart>S.block_start&&(w(S,!1),S.strm.avail_out===0),we)}function te(S,ue){for(var pe,U;;){if(S.lookahead=oe&&(S.ins_h=(S.ins_h<=oe)if(U=t._tr_tally(S,S.strstart-S.match_start,S.match_length-oe),S.lookahead-=S.match_length,S.match_length<=S.max_lazy_match&&S.lookahead>=oe){S.match_length--;do S.strstart++,S.ins_h=(S.ins_h<=oe&&(S.ins_h=(S.ins_h<4096)&&(S.match_length=oe-1)),S.prev_length>=oe&&S.match_length<=S.prev_length){re=S.strstart+S.lookahead-oe,U=t._tr_tally(S,S.strstart-1-S.prev_match,S.prev_length-oe),S.lookahead-=S.prev_length-1,S.prev_length-=2;do++S.strstart<=re&&(S.ins_h=(S.ins_h<=oe&&S.strstart>0&&(re=S.strstart-1,U=_e[re],U===_e[++re]&&U===_e[++re]&&U===_e[++re])){Ae=S.strstart+Z;do;while(U===_e[++re]&&U===_e[++re]&&U===_e[++re]&&U===_e[++re]&&U===_e[++re]&&U===_e[++re]&&U===_e[++re]&&U===_e[++re]&&reS.lookahead&&(S.match_length=S.lookahead)}if(S.match_length>=oe?(pe=t._tr_tally(S,1,S.match_length-oe),S.lookahead-=S.match_length,S.strstart+=S.match_length,S.match_length=0):(pe=t._tr_tally(S,0,S.window[S.strstart]),S.lookahead--,S.strstart++),pe&&(w(S,!1),S.strm.avail_out===0))return we}return S.insert=0,ue===s?(w(S,!0),S.strm.avail_out===0?be:tt):S.last_lit&&(w(S,!1),S.strm.avail_out===0)?we:Me}function Pe(S,ue){for(var pe;;){if(S.lookahead===0&&($(S),S.lookahead===0)){if(ue===o)return we;break}if(S.match_length=0,pe=t._tr_tally(S,0,S.window[S.strstart]),S.lookahead--,S.strstart++,pe&&(w(S,!1),S.strm.avail_out===0))return we}return S.insert=0,ue===s?(w(S,!0),S.strm.avail_out===0?be:tt):S.last_lit&&(w(S,!1),S.strm.avail_out===0)?we:Me}function Ee(S,ue,pe,U,re){this.good_length=S,this.max_lazy=ue,this.nice_length=pe,this.max_chain=U,this.func=re}var Je;Je=[new Ee(0,0,0,0,ie),new Ee(4,4,8,4,te),new Ee(4,5,16,8,te),new Ee(4,6,32,32,te),new Ee(4,4,16,16,he),new Ee(8,16,32,32,he),new Ee(8,16,128,128,he),new Ee(8,32,128,256,he),new Ee(32,128,258,1024,he),new Ee(32,258,258,4096,he)];function je(S){S.window_size=2*S.w_size,N(S.head),S.max_lazy_match=Je[S.level].max_lazy,S.good_match=Je[S.level].good_length,S.nice_match=Je[S.level].nice_length,S.max_chain_length=Je[S.level].max_chain,S.strstart=0,S.block_start=0,S.lookahead=0,S.insert=0,S.match_length=S.prev_length=oe-1,S.match_available=0,S.ins_h=0}function _(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=E,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new r.Buf16(ne*2),this.dyn_dtree=new r.Buf16((2*g+1)*2),this.bl_tree=new r.Buf16((2*z+1)*2),N(this.dyn_ltree),N(this.dyn_dtree),N(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new r.Buf16(q+1),this.heap=new r.Buf16(2*O+1),N(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new r.Buf16(2*O+1),N(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ce(S){var ue;return!S||!S.state?m(S,f):(S.total_in=S.total_out=0,S.data_type=L,ue=S.state,ue.pending=0,ue.pending_out=0,ue.wrap<0&&(ue.wrap=-ue.wrap),ue.status=ue.wrap?W:Le,S.adler=ue.wrap===2?0:1,ue.last_flush=o,t._tr_init(ue),d)}function me(S){var ue=ce(S);return ue===d&&je(S.state),ue}function Fe(S,ue){return!S||!S.state||S.state.wrap!==2?f:(S.state.gzhead=ue,d)}function ee(S,ue,pe,U,re,Ae){if(!S)return f;var _e=1;if(ue===y&&(ue=6),U<0?(_e=0,U=-U):U>15&&(_e=2,U-=16),re<1||re>R||pe!==E||U<8||U>15||ue<0||ue>9||Ae<0||Ae>P)return m(S,f);U===8&&(U=9);var Ie=new _;return S.state=Ie,Ie.strm=S,Ie.wrap=_e,Ie.gzhead=null,Ie.w_bits=U,Ie.w_size=1<u||ue<0)return S?m(S,f):f;if(U=S.state,!S.output||!S.input&&S.avail_in!==0||U.status===Se&&ue!==s)return m(S,S.avail_out===0?A:f);if(U.strm=S,pe=U.last_flush,U.last_flush=ue,U.status===W)if(U.wrap===2)S.adler=0,D(U,31),D(U,139),D(U,8),U.gzhead?(D(U,(U.gzhead.text?1:0)+(U.gzhead.hcrc?2:0)+(U.gzhead.extra?4:0)+(U.gzhead.name?8:0)+(U.gzhead.comment?16:0)),D(U,U.gzhead.time&255),D(U,U.gzhead.time>>8&255),D(U,U.gzhead.time>>16&255),D(U,U.gzhead.time>>24&255),D(U,U.level===9?2:U.strategy>=b||U.level<2?4:0),D(U,U.gzhead.os&255),U.gzhead.extra&&U.gzhead.extra.length&&(D(U,U.gzhead.extra.length&255),D(U,U.gzhead.extra.length>>8&255)),U.gzhead.hcrc&&(S.adler=i(S.adler,U.pending_buf,U.pending,0)),U.gzindex=0,U.status=fe):(D(U,0),D(U,0),D(U,0),D(U,0),D(U,0),D(U,U.level===9?2:U.strategy>=b||U.level<2?4:0),D(U,Re),U.status=Le);else{var _e=E+(U.w_bits-8<<4)<<8,Ie=-1;U.strategy>=b||U.level<2?Ie=0:U.level<6?Ie=1:U.level===6?Ie=2:Ie=3,_e|=Ie<<6,U.strstart!==0&&(_e|=j),_e+=31-_e%31,U.status=Le,K(U,_e),U.strstart!==0&&(K(U,S.adler>>>16),K(U,S.adler&65535)),S.adler=1}if(U.status===fe)if(U.gzhead.extra){for(re=U.pending;U.gzindex<(U.gzhead.extra.length&65535)&&!(U.pending===U.pending_buf_size&&(U.gzhead.hcrc&&U.pending>re&&(S.adler=i(S.adler,U.pending_buf,U.pending-re,re)),C(S),re=U.pending,U.pending===U.pending_buf_size));)D(U,U.gzhead.extra[U.gzindex]&255),U.gzindex++;U.gzhead.hcrc&&U.pending>re&&(S.adler=i(S.adler,U.pending_buf,U.pending-re,re)),U.gzindex===U.gzhead.extra.length&&(U.gzindex=0,U.status=le)}else U.status=le;if(U.status===le)if(U.gzhead.name){re=U.pending;do{if(U.pending===U.pending_buf_size&&(U.gzhead.hcrc&&U.pending>re&&(S.adler=i(S.adler,U.pending_buf,U.pending-re,re)),C(S),re=U.pending,U.pending===U.pending_buf_size)){Ae=1;break}U.gzindexre&&(S.adler=i(S.adler,U.pending_buf,U.pending-re,re)),Ae===0&&(U.gzindex=0,U.status=ae)}else U.status=ae;if(U.status===ae)if(U.gzhead.comment){re=U.pending;do{if(U.pending===U.pending_buf_size&&(U.gzhead.hcrc&&U.pending>re&&(S.adler=i(S.adler,U.pending_buf,U.pending-re,re)),C(S),re=U.pending,U.pending===U.pending_buf_size)){Ae=1;break}U.gzindexre&&(S.adler=i(S.adler,U.pending_buf,U.pending-re,re)),Ae===0&&(U.status=ye)}else U.status=ye;if(U.status===ye&&(U.gzhead.hcrc?(U.pending+2>U.pending_buf_size&&C(S),U.pending+2<=U.pending_buf_size&&(D(U,S.adler&255),D(U,S.adler>>8&255),S.adler=0,U.status=Le)):U.status=Le),U.pending!==0){if(C(S),S.avail_out===0)return U.last_flush=-1,d}else if(S.avail_in===0&&B(ue)<=B(pe)&&ue!==s)return m(S,A);if(U.status===Se&&S.avail_in!==0)return m(S,A);if(S.avail_in!==0||U.lookahead!==0||ue!==o&&U.status!==Se){var ze=U.strategy===b?Pe(U,ue):U.strategy===x?Be(U,ue):Je[U.level].func(U,ue);if((ze===be||ze===tt)&&(U.status=Se),ze===we||ze===be)return S.avail_out===0&&(U.last_flush=-1),d;if(ze===Me&&(ue===l?t._tr_align(U):ue!==u&&(t._tr_stored_block(U,0,0,!1),ue===c&&(N(U.head),U.lookahead===0&&(U.strstart=0,U.block_start=0,U.insert=0))),C(S),S.avail_out===0))return U.last_flush=-1,d}return ue!==s?d:U.wrap<=0?p:(U.wrap===2?(D(U,S.adler&255),D(U,S.adler>>8&255),D(U,S.adler>>16&255),D(U,S.adler>>24&255),D(U,S.total_in&255),D(U,S.total_in>>8&255),D(U,S.total_in>>16&255),D(U,S.total_in>>24&255)):(K(U,S.adler>>>16),K(U,S.adler&65535)),C(S),U.wrap>0&&(U.wrap=-U.wrap),U.pending!==0?d:p)}function ve(S){var ue;return!S||!S.state?f:(ue=S.state.status,ue!==W&&ue!==fe&&ue!==le&&ue!==ae&&ue!==ye&&ue!==Le&&ue!==Se?m(S,f):(S.state=null,ue===Le?m(S,h):d))}function Oe(S,ue){var pe=ue.length,U,re,Ae,_e,Ie,ze,At,Or;if(!S||!S.state||(U=S.state,_e=U.wrap,_e===2||_e===1&&U.status!==W||U.lookahead))return f;for(_e===1&&(S.adler=n(S.adler,ue,pe,0)),U.wrap=0,pe>=U.w_size&&(_e===0&&(N(U.head),U.strstart=0,U.block_start=0,U.insert=0),Or=new r.Buf8(U.w_size),r.arraySet(Or,ue,pe-U.w_size,U.w_size,0),ue=Or,pe=U.w_size),Ie=S.avail_in,ze=S.next_in,At=S.input,S.avail_in=pe,S.next_in=0,S.input=ue,$(U);U.lookahead>=oe;){re=U.strstart,Ae=U.lookahead-(oe-1);do U.ins_h=(U.ins_h<=252?6:a>=248?5:a>=240?4:a>=224?3:a>=192?2:1;var a;i[254]=i[254]=1,e.string2buf=function(l){var c,s,u,d,p,f=l.length,h=0;for(d=0;d>>6,c[p++]=128|s&63):s<65536?(c[p++]=224|s>>>12,c[p++]=128|s>>>6&63,c[p++]=128|s&63):(c[p++]=240|s>>>18,c[p++]=128|s>>>12&63,c[p++]=128|s>>>6&63,c[p++]=128|s&63);return c};function o(l,c){if(c<65534&&(l.subarray&&n||!l.subarray&&t))return String.fromCharCode.apply(null,r.shrinkBuf(l,c));for(var s="",u=0;u4){h[u++]=65533,s+=p-1;continue}for(d&=p===2?31:p===3?15:7;p>1&&s1){h[u++]=65533;continue}d<65536?h[u++]=d:(d-=65536,h[u++]=55296|d>>10&1023,h[u++]=56320|d&1023)}return o(h,u)},e.utf8border=function(l,c){var s;for(c=c||l.length,c>l.length&&(c=l.length),s=c-1;s>=0&&(l[s]&192)===128;)s--;return s<0||s===0?c:s+i[l[s]]>c?s:c}}}),Ou=Lt({"../../../node_modules/pako/lib/zlib/zstream.js"(e,r){"use strict";function t(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}r.exports=t}}),pp=Lt({"../../../node_modules/pako/lib/deflate.js"(e){"use strict";var r=hp(),t=Sn(),n=Mu(),i=il(),a=Ou(),o=Object.prototype.toString,l=0,c=4,s=0,u=1,d=2,p=-1,f=0,h=8;function A(x){if(!(this instanceof A))return new A(x);this.options=t.assign({level:p,method:h,chunkSize:16384,windowBits:15,memLevel:8,strategy:f,to:""},x||{});var P=this.options;P.raw&&P.windowBits>0?P.windowBits=-P.windowBits:P.gzip&&P.windowBits>0&&P.windowBits<16&&(P.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var F=r.deflateInit2(this.strm,P.level,P.method,P.windowBits,P.memLevel,P.strategy);if(F!==s)throw new Error(i[F]);if(P.header&&r.deflateSetHeader(this.strm,P.header),P.dictionary){var L;if(typeof P.dictionary=="string"?L=n.string2buf(P.dictionary):o.call(P.dictionary)==="[object ArrayBuffer]"?L=new Uint8Array(P.dictionary):L=P.dictionary,F=r.deflateSetDictionary(this.strm,L),F!==s)throw new Error(i[F]);this._dict_set=!0}}A.prototype.push=function(x,P){var F=this.strm,L=this.options.chunkSize,E,R;if(this.ended)return!1;R=P===~~P?P:P===!0?c:l,typeof x=="string"?F.input=n.string2buf(x):o.call(x)==="[object ArrayBuffer]"?F.input=new Uint8Array(x):F.input=x,F.next_in=0,F.avail_in=F.input.length;do{if(F.avail_out===0&&(F.output=new t.Buf8(L),F.next_out=0,F.avail_out=L),E=r.deflate(F,R),E!==u&&E!==s)return this.onEnd(E),this.ended=!0,!1;(F.avail_out===0||F.avail_in===0&&(R===c||R===d))&&(this.options.to==="string"?this.onData(n.buf2binstring(t.shrinkBuf(F.output,F.next_out))):this.onData(t.shrinkBuf(F.output,F.next_out)))}while((F.avail_in>0||F.avail_out===0)&&E!==u);return R===c?(E=r.deflateEnd(this.strm),this.onEnd(E),this.ended=!0,E===s):(R===d&&(this.onEnd(s),F.avail_out=0),!0)},A.prototype.onData=function(x){this.chunks.push(x)},A.prototype.onEnd=function(x){x===s&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=t.flattenChunks(this.chunks)),this.chunks=[],this.err=x,this.msg=this.strm.msg};function y(x,P){var F=new A(P);if(F.push(x,!0),F.err)throw F.msg||i[F.err];return F.result}function v(x,P){return P=P||{},P.raw=!0,y(x,P)}function b(x,P){return P=P||{},P.gzip=!0,y(x,P)}e.Deflate=A,e.deflate=y,e.deflateRaw=v,e.gzip=b}}),Ap=Lt({"../../../node_modules/pako/lib/zlib/inffast.js"(e,r){"use strict";var t=30,n=12;r.exports=function(a,o){var l,c,s,u,d,p,f,h,A,y,v,b,x,P,F,L,E,R,T,G,H,k,O,g,z;l=a.state,c=a.next_in,g=a.input,s=c+(a.avail_in-5),u=a.next_out,z=a.output,d=u-(o-a.avail_out),p=u+(a.avail_out-257),f=l.dmax,h=l.wsize,A=l.whave,y=l.wnext,v=l.window,b=l.hold,x=l.bits,P=l.lencode,F=l.distcode,L=(1<>>24,b>>>=T,x-=T,T=R>>>16&255,T===0)z[u++]=R&65535;else if(T&16){G=R&65535,T&=15,T&&(x>>=T,x-=T),x<15&&(b+=g[c++]<>>24,b>>>=T,x-=T,T=R>>>16&255,T&16){if(H=R&65535,T&=15,xf){a.msg="invalid distance too far back",l.mode=t;break e}if(b>>>=T,x-=T,T=u-d,H>T){if(T=H-T,T>A&&l.sane){a.msg="invalid distance too far back",l.mode=t;break e}if(k=0,O=v,y===0){if(k+=h-T,T2;)z[u++]=O[k++],z[u++]=O[k++],z[u++]=O[k++],G-=3;G&&(z[u++]=O[k++],G>1&&(z[u++]=O[k++]))}else{k=u-H;do z[u++]=z[k++],z[u++]=z[k++],z[u++]=z[k++],G-=3;while(G>2);G&&(z[u++]=z[k++],G>1&&(z[u++]=z[k++]))}}else if((T&64)===0){R=F[(R&65535)+(b&(1<>3,c-=G,x-=G<<3,b&=(1<=1&&ae[G]===0;G--);if(H>G&&(H=G),G===0)return b[x++]=1<<24|64<<16|0,b[x++]=1<<24|64<<16|0,F.bits=1,0;for(T=1;T0&&(h===o||G!==1))return-1;for(ye[1]=0,E=1;Ei||h===c&&z>a)return 1;for(;;){we=E-O,P[R]le?(Me=Le[Se+P[R]],be=W[fe+P[R]]):(Me=96,be=0),q=1<>O)+oe]=we<<24|Me<<16|be|0;while(oe!==0);for(q=1<>=1;if(q!==0?(ne&=q-1,ne+=q):ne=0,R++,--ae[E]===0){if(E===G)break;E=A[y+P[R]]}if(E>H&&(ne&de)!==Z){for(O===0&&(O=H),j+=T,k=E-O,g=1<i||h===c&&z>a)return 1;Z=ne&de,b[Z]=H<<24|k<<16|j-x|0}}return ne!==0&&(b[j+ne]=E-O<<24|64<<16|0),F.bits=H,0}}}),mp=Lt({"../../../node_modules/pako/lib/zlib/inflate.js"(e){"use strict";var r=Sn(),t=Iu(),n=zu(),i=Ap(),a=gp(),o=0,l=1,c=2,s=4,u=5,d=6,p=0,f=1,h=2,A=-2,y=-3,v=-4,b=-5,x=8,P=1,F=2,L=3,E=4,R=5,T=6,G=7,H=8,k=9,O=10,g=11,z=12,ne=13,q=14,oe=15,Z=16,de=17,j=18,W=19,fe=20,le=21,ae=22,ye=23,Le=24,Se=25,we=26,Me=27,be=28,tt=29,Re=30,m=31,B=32,N=852,C=592,w=15,D=w;function K(ee){return(ee>>>24&255)+(ee>>>8&65280)+((ee&65280)<<8)+((ee&255)<<24)}function Y(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function M(ee){var ge;return!ee||!ee.state?A:(ge=ee.state,ee.total_in=ee.total_out=ge.total=0,ee.msg="",ge.wrap&&(ee.adler=ge.wrap&1),ge.mode=P,ge.last=0,ge.havedict=0,ge.dmax=32768,ge.head=null,ge.hold=0,ge.bits=0,ge.lencode=ge.lendyn=new r.Buf32(N),ge.distcode=ge.distdyn=new r.Buf32(C),ge.sane=1,ge.back=-1,p)}function $(ee){var ge;return!ee||!ee.state?A:(ge=ee.state,ge.wsize=0,ge.whave=0,ge.wnext=0,M(ee))}function ie(ee,ge){var I,ve;return!ee||!ee.state||(ve=ee.state,ge<0?(I=0,ge=-ge):(I=(ge>>4)+1,ge<48&&(ge&=15)),ge&&(ge<8||ge>15))?A:(ve.window!==null&&ve.wbits!==ge&&(ve.window=null),ve.wrap=I,ve.wbits=ge,$(ee))}function te(ee,ge){var I,ve;return ee?(ve=new Y,ee.state=ve,ve.window=null,I=ie(ee,ge),I!==p&&(ee.state=null),I):A}function he(ee){return te(ee,D)}var Be=!0,Pe,Ee;function Je(ee){if(Be){var ge;for(Pe=new r.Buf32(512),Ee=new r.Buf32(32),ge=0;ge<144;)ee.lens[ge++]=8;for(;ge<256;)ee.lens[ge++]=9;for(;ge<280;)ee.lens[ge++]=7;for(;ge<288;)ee.lens[ge++]=8;for(a(l,ee.lens,0,288,Pe,0,ee.work,{bits:9}),ge=0;ge<32;)ee.lens[ge++]=5;a(c,ee.lens,0,32,Ee,0,ee.work,{bits:5}),Be=!1}ee.lencode=Pe,ee.lenbits=9,ee.distcode=Ee,ee.distbits=5}function je(ee,ge,I,ve){var Oe,S=ee.state;return S.window===null&&(S.wsize=1<=S.wsize?(r.arraySet(S.window,ge,I-S.wsize,S.wsize,0),S.wnext=0,S.whave=S.wsize):(Oe=S.wsize-S.wnext,Oe>ve&&(Oe=ve),r.arraySet(S.window,ge,I-ve,Oe,S.wnext),ve-=Oe,ve?(r.arraySet(S.window,ge,I-ve,ve,0),S.wnext=ve,S.whave=S.wsize):(S.wnext+=Oe,S.wnext===S.wsize&&(S.wnext=0),S.whave>>8&255,I.check=n(I.check,jt,2,0),re=0,Ae=0,I.mode=F;break}if(I.flags=0,I.head&&(I.head.done=!1),!(I.wrap&1)||(((re&255)<<8)+(re>>8))%31){ee.msg="incorrect header check",I.mode=Re;break}if((re&15)!==x){ee.msg="unknown compression method",I.mode=Re;break}if(re>>>=4,Ae-=4,Et=(re&15)+8,I.wbits===0)I.wbits=Et;else if(Et>I.wbits){ee.msg="invalid window size",I.mode=Re;break}I.dmax=1<>8&1),I.flags&512&&(jt[0]=re&255,jt[1]=re>>>8&255,I.check=n(I.check,jt,2,0)),re=0,Ae=0,I.mode=L;case L:for(;Ae<32;){if(pe===0)break e;pe--,re+=ve[S++]<>>8&255,jt[2]=re>>>16&255,jt[3]=re>>>24&255,I.check=n(I.check,jt,4,0)),re=0,Ae=0,I.mode=E;case E:for(;Ae<16;){if(pe===0)break e;pe--,re+=ve[S++]<>8),I.flags&512&&(jt[0]=re&255,jt[1]=re>>>8&255,I.check=n(I.check,jt,2,0)),re=0,Ae=0,I.mode=R;case R:if(I.flags&1024){for(;Ae<16;){if(pe===0)break e;pe--,re+=ve[S++]<>>8&255,I.check=n(I.check,jt,2,0)),re=0,Ae=0}else I.head&&(I.head.extra=null);I.mode=T;case T:if(I.flags&1024&&(ze=I.length,ze>pe&&(ze=pe),ze&&(I.head&&(Et=I.head.extra_len-I.length,I.head.extra||(I.head.extra=new Array(I.head.extra_len)),r.arraySet(I.head.extra,ve,S,ze,Et)),I.flags&512&&(I.check=n(I.check,ve,ze,S)),pe-=ze,S+=ze,I.length-=ze),I.length))break e;I.length=0,I.mode=G;case G:if(I.flags&2048){if(pe===0)break e;ze=0;do Et=ve[S+ze++],I.head&&Et&&I.length<65536&&(I.head.name+=String.fromCharCode(Et));while(Et&&ze>9&1,I.head.done=!0),ee.adler=I.check=0,I.mode=z;break;case O:for(;Ae<32;){if(pe===0)break e;pe--,re+=ve[S++]<>>=Ae&7,Ae-=Ae&7,I.mode=Me;break}for(;Ae<3;){if(pe===0)break e;pe--,re+=ve[S++]<>>=1,Ae-=1,re&3){case 0:I.mode=q;break;case 1:if(Je(I),I.mode=fe,ge===d){re>>>=2,Ae-=2;break e}break;case 2:I.mode=de;break;case 3:ee.msg="invalid block type",I.mode=Re}re>>>=2,Ae-=2;break;case q:for(re>>>=Ae&7,Ae-=Ae&7;Ae<32;){if(pe===0)break e;pe--,re+=ve[S++]<>>16^65535)){ee.msg="invalid stored block lengths",I.mode=Re;break}if(I.length=re&65535,re=0,Ae=0,I.mode=oe,ge===d)break e;case oe:I.mode=Z;case Z:if(ze=I.length,ze){if(ze>pe&&(ze=pe),ze>U&&(ze=U),ze===0)break e;r.arraySet(Oe,ve,S,ze,ue),pe-=ze,S+=ze,U-=ze,ue+=ze,I.length-=ze;break}I.mode=z;break;case de:for(;Ae<14;){if(pe===0)break e;pe--,re+=ve[S++]<>>=5,Ae-=5,I.ndist=(re&31)+1,re>>>=5,Ae-=5,I.ncode=(re&15)+4,re>>>=4,Ae-=4,I.nlen>286||I.ndist>30){ee.msg="too many length or distance symbols",I.mode=Re;break}I.have=0,I.mode=j;case j:for(;I.have>>=3,Ae-=3}for(;I.have<19;)I.lens[nc[I.have++]]=0;if(I.lencode=I.lendyn,I.lenbits=7,_r={bits:I.lenbits},Ar=a(o,I.lens,0,19,I.lencode,0,I.work,_r),I.lenbits=_r.bits,Ar){ee.msg="invalid code lengths set",I.mode=Re;break}I.have=0,I.mode=W;case W:for(;I.have>>24,Nt=Dt>>>16&255,Ht=Dt&65535,!(gt<=Ae);){if(pe===0)break e;pe--,re+=ve[S++]<>>=gt,Ae-=gt,I.lens[I.have++]=Ht;else{if(Ht===16){for(Rr=gt+2;Ae>>=gt,Ae-=gt,I.have===0){ee.msg="invalid bit length repeat",I.mode=Re;break}Et=I.lens[I.have-1],ze=3+(re&3),re>>>=2,Ae-=2}else if(Ht===17){for(Rr=gt+3;Ae>>=gt,Ae-=gt,Et=0,ze=3+(re&7),re>>>=3,Ae-=3}else{for(Rr=gt+7;Ae>>=gt,Ae-=gt,Et=0,ze=11+(re&127),re>>>=7,Ae-=7}if(I.have+ze>I.nlen+I.ndist){ee.msg="invalid bit length repeat",I.mode=Re;break}for(;ze--;)I.lens[I.have++]=Et}}if(I.mode===Re)break;if(I.lens[256]===0){ee.msg="invalid code -- missing end-of-block",I.mode=Re;break}if(I.lenbits=9,_r={bits:I.lenbits},Ar=a(l,I.lens,0,I.nlen,I.lencode,0,I.work,_r),I.lenbits=_r.bits,Ar){ee.msg="invalid literal/lengths set",I.mode=Re;break}if(I.distbits=6,I.distcode=I.distdyn,_r={bits:I.distbits},Ar=a(c,I.lens,I.nlen,I.ndist,I.distcode,0,I.work,_r),I.distbits=_r.bits,Ar){ee.msg="invalid distances set",I.mode=Re;break}if(I.mode=fe,ge===d)break e;case fe:I.mode=le;case le:if(pe>=6&&U>=258){ee.next_out=ue,ee.avail_out=U,ee.next_in=S,ee.avail_in=pe,I.hold=re,I.bits=Ae,i(ee,Ie),ue=ee.next_out,Oe=ee.output,U=ee.avail_out,S=ee.next_in,ve=ee.input,pe=ee.avail_in,re=I.hold,Ae=I.bits,I.mode===z&&(I.back=-1);break}for(I.back=0;Dt=I.lencode[re&(1<>>24,Nt=Dt>>>16&255,Ht=Dt&65535,!(gt<=Ae);){if(pe===0)break e;pe--,re+=ve[S++]<>tr)],gt=Dt>>>24,Nt=Dt>>>16&255,Ht=Dt&65535,!(tr+gt<=Ae);){if(pe===0)break e;pe--,re+=ve[S++]<>>=tr,Ae-=tr,I.back+=tr}if(re>>>=gt,Ae-=gt,I.back+=gt,I.length=Ht,Nt===0){I.mode=we;break}if(Nt&32){I.back=-1,I.mode=z;break}if(Nt&64){ee.msg="invalid literal/length code",I.mode=Re;break}I.extra=Nt&15,I.mode=ae;case ae:if(I.extra){for(Rr=I.extra;Ae>>=I.extra,Ae-=I.extra,I.back+=I.extra}I.was=I.length,I.mode=ye;case ye:for(;Dt=I.distcode[re&(1<>>24,Nt=Dt>>>16&255,Ht=Dt&65535,!(gt<=Ae);){if(pe===0)break e;pe--,re+=ve[S++]<>tr)],gt=Dt>>>24,Nt=Dt>>>16&255,Ht=Dt&65535,!(tr+gt<=Ae);){if(pe===0)break e;pe--,re+=ve[S++]<>>=tr,Ae-=tr,I.back+=tr}if(re>>>=gt,Ae-=gt,I.back+=gt,Nt&64){ee.msg="invalid distance code",I.mode=Re;break}I.offset=Ht,I.extra=Nt&15,I.mode=Le;case Le:if(I.extra){for(Rr=I.extra;Ae>>=I.extra,Ae-=I.extra,I.back+=I.extra}if(I.offset>I.dmax){ee.msg="invalid distance too far back",I.mode=Re;break}I.mode=Se;case Se:if(U===0)break e;if(ze=Ie-U,I.offset>ze){if(ze=I.offset-ze,ze>I.whave&&I.sane){ee.msg="invalid distance too far back",I.mode=Re;break}ze>I.wnext?(ze-=I.wnext,At=I.wsize-ze):At=I.wnext-ze,ze>I.length&&(ze=I.length),Or=I.window}else Or=Oe,At=ue-I.offset,ze=I.length;ze>U&&(ze=U),U-=ze,I.length-=ze;do Oe[ue++]=Or[At++];while(--ze);I.length===0&&(I.mode=le);break;case we:if(U===0)break e;Oe[ue++]=I.length,U--,I.mode=le;break;case Me:if(I.wrap){for(;Ae<32;){if(pe===0)break e;pe--,re|=ve[S++]<=0&&f.windowBits<16&&(f.windowBits=-f.windowBits,f.windowBits===0&&(f.windowBits=-15)),f.windowBits>=0&&f.windowBits<16&&!(p&&p.windowBits)&&(f.windowBits+=32),f.windowBits>15&&f.windowBits<48&&(f.windowBits&15)===0&&(f.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var h=r.inflateInit2(this.strm,f.windowBits);if(h!==i.Z_OK)throw new Error(a[h]);if(this.header=new l,r.inflateGetHeader(this.strm,this.header),f.dictionary&&(typeof f.dictionary=="string"?f.dictionary=n.string2buf(f.dictionary):c.call(f.dictionary)==="[object ArrayBuffer]"&&(f.dictionary=new Uint8Array(f.dictionary)),f.raw&&(h=r.inflateSetDictionary(this.strm,f.dictionary),h!==i.Z_OK)))throw new Error(a[h])}s.prototype.push=function(p,f){var h=this.strm,A=this.options.chunkSize,y=this.options.dictionary,v,b,x,P,F,L=!1;if(this.ended)return!1;b=f===~~f?f:f===!0?i.Z_FINISH:i.Z_NO_FLUSH,typeof p=="string"?h.input=n.binstring2buf(p):c.call(p)==="[object ArrayBuffer]"?h.input=new Uint8Array(p):h.input=p,h.next_in=0,h.avail_in=h.input.length;do{if(h.avail_out===0&&(h.output=new t.Buf8(A),h.next_out=0,h.avail_out=A),v=r.inflate(h,i.Z_NO_FLUSH),v===i.Z_NEED_DICT&&y&&(v=r.inflateSetDictionary(this.strm,y)),v===i.Z_BUF_ERROR&&L===!0&&(v=i.Z_OK,L=!1),v!==i.Z_STREAM_END&&v!==i.Z_OK)return this.onEnd(v),this.ended=!0,!1;h.next_out&&(h.avail_out===0||v===i.Z_STREAM_END||h.avail_in===0&&(b===i.Z_FINISH||b===i.Z_SYNC_FLUSH))&&(this.options.to==="string"?(x=n.utf8border(h.output,h.next_out),P=h.next_out-x,F=n.buf2string(h.output,x),h.next_out=P,h.avail_out=A-P,P&&t.arraySet(h.output,h.output,x,P,0),this.onData(F)):this.onData(t.shrinkBuf(h.output,h.next_out))),h.avail_in===0&&h.avail_out===0&&(L=!0)}while((h.avail_in>0||h.avail_out===0)&&v!==i.Z_STREAM_END);return v===i.Z_STREAM_END&&(b=i.Z_FINISH),b===i.Z_FINISH?(v=r.inflateEnd(this.strm),this.onEnd(v),this.ended=!0,v===i.Z_OK):(b===i.Z_SYNC_FLUSH&&(this.onEnd(i.Z_OK),h.avail_out=0),!0)},s.prototype.onData=function(p){this.chunks.push(p)},s.prototype.onEnd=function(p){p===i.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=t.flattenChunks(this.chunks)),this.chunks=[],this.err=p,this.msg=this.strm.msg};function u(p,f){var h=new s(f);if(h.push(p,!0),h.err)throw h.msg||a[h.err];return h.result}function d(p,f){return f=f||{},f.raw=!0,u(p,f)}e.Inflate=s,e.inflate=u,e.inflateRaw=d,e.ungzip=u}}),So=Lt({"../../../node_modules/pako/index.js"(e,r){"use strict";var t=Sn().assign,n=pp(),i=yp(),a=_u(),o={};t(o,n,i,a),r.exports=o}}),bp=Lt({"node_modules/jszip/dist/jszip.min.js"(e,r){(function(t){typeof e=="object"&&typeof r<"u"?r.exports=t():typeof define=="function"&&define.amd?define([],t):(typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:this).JSZip=t()})(function(){return(function t(n,i,a){function o(s,u){if(!i[s]){if(!n[s]){var d=typeof An=="function"&&An;if(!u&&d)return d(s,!0);if(l)return l(s,!0);var p=new Error("Cannot find module '"+s+"'");throw p.code="MODULE_NOT_FOUND",p}var f=i[s]={exports:{}};n[s][0].call(f.exports,function(h){var A=n[s][1][h];return o(A||h)},f,f.exports,t,n,i,a)}return i[s].exports}for(var l=typeof An=="function"&&An,c=0;c>2,f=(3&s)<<4|u>>4,h=1>6:64,A=2>4,u=(15&p)<<4|(f=l.indexOf(c.charAt(A++)))>>2,d=(3&f)<<6|(h=l.indexOf(c.charAt(A++))),b[y++]=s,f!==64&&(b[y++]=u),h!==64&&(b[y++]=d);return b}},{"./support":30,"./utils":32}],2:[function(t,n,i){"use strict";var a=t("./external"),o=t("./stream/DataWorker"),l=t("./stream/Crc32Probe"),c=t("./stream/DataLengthProbe");function s(u,d,p,f,h){this.compressedSize=u,this.uncompressedSize=d,this.crc32=p,this.compression=f,this.compressedContent=h}s.prototype={getContentWorker:function(){var u=new o(a.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new c("data_length")),d=this;return u.on("end",function(){if(this.streamInfo.data_length!==d.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),u},getCompressedWorker:function(){return new o(a.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},s.createWorkerFrom=function(u,d,p){return u.pipe(new l).pipe(new c("uncompressedSize")).pipe(d.compressWorker(p)).pipe(new c("compressedSize")).withStreamInfo("compression",d)},n.exports=s},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,n,i){"use strict";var a=t("./stream/GenericWorker");i.STORE={magic:"\0\0",compressWorker:function(){return new a("STORE compression")},uncompressWorker:function(){return new a("STORE decompression")}},i.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,n,i){"use strict";var a=t("./utils"),o=(function(){for(var l,c=[],s=0;s<256;s++){l=s;for(var u=0;u<8;u++)l=1&l?3988292384^l>>>1:l>>>1;c[s]=l}return c})();n.exports=function(l,c){return l!==void 0&&l.length?a.getTypeOf(l)!=="string"?(function(s,u,d,p){var f=o,h=p+d;s^=-1;for(var A=p;A>>8^f[255&(s^u[A])];return-1^s})(0|c,l,l.length,0):(function(s,u,d,p){var f=o,h=p+d;s^=-1;for(var A=p;A>>8^f[255&(s^u.charCodeAt(A))];return-1^s})(0|c,l,l.length,0):0}},{"./utils":32}],5:[function(t,n,i){"use strict";i.base64=!1,i.binary=!1,i.dir=!1,i.createFolders=!0,i.date=null,i.compression=null,i.compressionOptions=null,i.comment=null,i.unixPermissions=null,i.dosPermissions=null},{}],6:[function(t,n,i){"use strict";var a=null;a=typeof Promise<"u"?Promise:t("lie"),n.exports={Promise:a}},{lie:37}],7:[function(t,n,i){"use strict";var a=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",o=t("pako"),l=t("./utils"),c=t("./stream/GenericWorker"),s=a?"uint8array":"array";function u(d,p){c.call(this,"FlateWorker/"+d),this._pako=null,this._pakoAction=d,this._pakoOptions=p,this.meta={}}i.magic="\b\0",l.inherits(u,c),u.prototype.processChunk=function(d){this.meta=d.meta,this._pako===null&&this._createPako(),this._pako.push(l.transformTo(s,d.data),!1)},u.prototype.flush=function(){c.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},u.prototype.cleanUp=function(){c.prototype.cleanUp.call(this),this._pako=null},u.prototype._createPako=function(){this._pako=new o[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var d=this;this._pako.onData=function(p){d.push({data:p,meta:d.meta})}},i.compressWorker=function(d){return new u("Deflate",d)},i.uncompressWorker=function(){return new u("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,n,i){"use strict";function a(f,h){var A,y="";for(A=0;A>>=8;return y}function o(f,h,A,y,v,b){var x,P,F=f.file,L=f.compression,E=b!==s.utf8encode,R=l.transformTo("string",b(F.name)),T=l.transformTo("string",s.utf8encode(F.name)),G=F.comment,H=l.transformTo("string",b(G)),k=l.transformTo("string",s.utf8encode(G)),O=T.length!==F.name.length,g=k.length!==G.length,z="",ne="",q="",oe=F.dir,Z=F.date,de={crc32:0,compressedSize:0,uncompressedSize:0};h&&!A||(de.crc32=f.crc32,de.compressedSize=f.compressedSize,de.uncompressedSize=f.uncompressedSize);var j=0;h&&(j|=8),E||!O&&!g||(j|=2048);var W=0,fe=0;oe&&(W|=16),v==="UNIX"?(fe=798,W|=(function(ae,ye){var Le=ae;return ae||(Le=ye?16893:33204),(65535&Le)<<16})(F.unixPermissions,oe)):(fe=20,W|=(function(ae){return 63&(ae||0)})(F.dosPermissions)),x=Z.getUTCHours(),x<<=6,x|=Z.getUTCMinutes(),x<<=5,x|=Z.getUTCSeconds()/2,P=Z.getUTCFullYear()-1980,P<<=4,P|=Z.getUTCMonth()+1,P<<=5,P|=Z.getUTCDate(),O&&(ne=a(1,1)+a(u(R),4)+T,z+="up"+a(ne.length,2)+ne),g&&(q=a(1,1)+a(u(H),4)+k,z+="uc"+a(q.length,2)+q);var le="";return le+=` -\0`,le+=a(j,2),le+=L.magic,le+=a(x,2),le+=a(P,2),le+=a(de.crc32,4),le+=a(de.compressedSize,4),le+=a(de.uncompressedSize,4),le+=a(R.length,2),le+=a(z.length,2),{fileRecord:d.LOCAL_FILE_HEADER+le+R+z,dirRecord:d.CENTRAL_FILE_HEADER+a(fe,2)+le+a(H.length,2)+"\0\0\0\0"+a(W,4)+a(y,4)+R+z+H}}var l=t("../utils"),c=t("../stream/GenericWorker"),s=t("../utf8"),u=t("../crc32"),d=t("../signature");function p(f,h,A,y){c.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=h,this.zipPlatform=A,this.encodeFileName=y,this.streamFiles=f,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}l.inherits(p,c),p.prototype.push=function(f){var h=f.meta.percent||0,A=this.entriesCount,y=this._sources.length;this.accumulate?this.contentBuffer.push(f):(this.bytesWritten+=f.data.length,c.prototype.push.call(this,{data:f.data,meta:{currentFile:this.currentFile,percent:A?(h+100*(A-y-1))/A:100}}))},p.prototype.openedSource=function(f){this.currentSourceOffset=this.bytesWritten,this.currentFile=f.file.name;var h=this.streamFiles&&!f.file.dir;if(h){var A=o(f,h,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:A.fileRecord,meta:{percent:0}})}else this.accumulate=!0},p.prototype.closedSource=function(f){this.accumulate=!1;var h=this.streamFiles&&!f.file.dir,A=o(f,h,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(A.dirRecord),h)this.push({data:(function(y){return d.DATA_DESCRIPTOR+a(y.crc32,4)+a(y.compressedSize,4)+a(y.uncompressedSize,4)})(f),meta:{percent:100}});else for(this.push({data:A.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},p.prototype.flush=function(){for(var f=this.bytesWritten,h=0;h=this.index;c--)s=(s<<8)+this.byteAt(c);return this.index+=l,s},readString:function(l){return a.transformTo("string",this.readData(l))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var l=this.readInt(4);return new Date(Date.UTC(1980+(l>>25&127),(l>>21&15)-1,l>>16&31,l>>11&31,l>>5&63,(31&l)<<1))}},n.exports=o},{"../utils":32}],19:[function(t,n,i){"use strict";var a=t("./Uint8ArrayReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.readData=function(l){this.checkOffset(l);var c=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,n,i){"use strict";var a=t("./DataReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.byteAt=function(l){return this.data.charCodeAt(this.zero+l)},o.prototype.lastIndexOfSignature=function(l){return this.data.lastIndexOf(l)-this.zero},o.prototype.readAndCheckSignature=function(l){return l===this.readData(4)},o.prototype.readData=function(l){this.checkOffset(l);var c=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./DataReader":18}],21:[function(t,n,i){"use strict";var a=t("./ArrayReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.readData=function(l){if(this.checkOffset(l),l===0)return new Uint8Array(0);var c=this.data.subarray(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./ArrayReader":17}],22:[function(t,n,i){"use strict";var a=t("../utils"),o=t("../support"),l=t("./ArrayReader"),c=t("./StringReader"),s=t("./NodeBufferReader"),u=t("./Uint8ArrayReader");n.exports=function(d){var p=a.getTypeOf(d);return a.checkSupport(p),p!=="string"||o.uint8array?p==="nodebuffer"?new s(d):o.uint8array?new u(a.transformTo("uint8array",d)):new l(a.transformTo("array",d)):new c(d)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,n,i){"use strict";i.LOCAL_FILE_HEADER="PK",i.CENTRAL_FILE_HEADER="PK",i.CENTRAL_DIRECTORY_END="PK",i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",i.ZIP64_CENTRAL_DIRECTORY_END="PK",i.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(t,n,i){"use strict";var a=t("./GenericWorker"),o=t("../utils");function l(c){a.call(this,"ConvertWorker to "+c),this.destType=c}o.inherits(l,a),l.prototype.processChunk=function(c){this.push({data:o.transformTo(this.destType,c.data),meta:c.meta})},n.exports=l},{"../utils":32,"./GenericWorker":28}],25:[function(t,n,i){"use strict";var a=t("./GenericWorker"),o=t("../crc32");function l(){a.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(l,a),l.prototype.processChunk=function(c){this.streamInfo.crc32=o(c.data,this.streamInfo.crc32||0),this.push(c)},n.exports=l},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./GenericWorker");function l(c){o.call(this,"DataLengthProbe for "+c),this.propName=c,this.withStreamInfo(c,0)}a.inherits(l,o),l.prototype.processChunk=function(c){if(c){var s=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=s+c.data.length}o.prototype.processChunk.call(this,c)},n.exports=l},{"../utils":32,"./GenericWorker":28}],27:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./GenericWorker");function l(c){o.call(this,"DataWorker");var s=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,c.then(function(u){s.dataIsReady=!0,s.data=u,s.max=u&&u.length||0,s.type=a.getTypeOf(u),s.isPaused||s._tickAndRepeat()},function(u){s.error(u)})}a.inherits(l,o),l.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this.data=null},l.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,a.delay(this._tickAndRepeat,[],this)),!0)},l.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(a.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},l.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var c=null,s=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":c=this.data.substring(this.index,s);break;case"uint8array":c=this.data.subarray(this.index,s);break;case"array":case"nodebuffer":c=this.data.slice(this.index,s)}return this.index=s,this.push({data:c,meta:{percent:this.max?this.index/this.max*100:0}})},n.exports=l},{"../utils":32,"./GenericWorker":28}],28:[function(t,n,i){"use strict";function a(o){this.name=o||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}a.prototype={push:function(o){this.emit("data",o)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(o){this.emit("error",o)}return!0},error:function(o){return!this.isFinished&&(this.isPaused?this.generatedError=o:(this.isFinished=!0,this.emit("error",o),this.previous&&this.previous.error(o),this.cleanUp()),!0)},on:function(o,l){return this._listeners[o].push(l),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(o,l){if(this._listeners[o])for(var c=0;c "+o:o}},n.exports=a},{}],29:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./ConvertWorker"),l=t("./GenericWorker"),c=t("../base64"),s=t("../support"),u=t("../external"),d=null;if(s.nodestream)try{d=t("../nodejs/NodejsStreamOutputAdapter")}catch{}function p(h,A){return new u.Promise(function(y,v){var b=[],x=h._internalType,P=h._outputType,F=h._mimeType;h.on("data",function(L,E){b.push(L),A&&A(E)}).on("error",function(L){b=[],v(L)}).on("end",function(){try{var L=(function(E,R,T){switch(E){case"blob":return a.newBlob(a.transformTo("arraybuffer",R),T);case"base64":return c.encode(R);default:return a.transformTo(E,R)}})(P,(function(E,R){var T,G=0,H=null,k=0;for(T=0;T"u")i.blob=!1;else{var a=new ArrayBuffer(0);try{i.blob=new Blob([a],{type:"application/zip"}).size===0}catch{try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(a),i.blob=o.getBlob("application/zip").size===0}catch{i.blob=!1}}}try{i.nodestream=!!t("readable-stream").Readable}catch{i.nodestream=!1}},{"readable-stream":16}],31:[function(t,n,i){"use strict";for(var a=t("./utils"),o=t("./support"),l=t("./nodejsUtils"),c=t("./stream/GenericWorker"),s=new Array(256),u=0;u<256;u++)s[u]=252<=u?6:248<=u?5:240<=u?4:224<=u?3:192<=u?2:1;s[254]=s[254]=1;function d(){c.call(this,"utf-8 decode"),this.leftOver=null}function p(){c.call(this,"utf-8 encode")}i.utf8encode=function(f){return o.nodebuffer?l.newBufferFrom(f,"utf-8"):(function(h){var A,y,v,b,x,P=h.length,F=0;for(b=0;b>>6:(y<65536?A[x++]=224|y>>>12:(A[x++]=240|y>>>18,A[x++]=128|y>>>12&63),A[x++]=128|y>>>6&63),A[x++]=128|63&y);return A})(f)},i.utf8decode=function(f){return o.nodebuffer?a.transformTo("nodebuffer",f).toString("utf-8"):(function(h){var A,y,v,b,x=h.length,P=new Array(2*x);for(A=y=0;A>10&1023,P[y++]=56320|1023&v)}return P.length!==y&&(P.subarray?P=P.subarray(0,y):P.length=y),a.applyFromCharCode(P)})(f=a.transformTo(o.uint8array?"uint8array":"array",f))},a.inherits(d,c),d.prototype.processChunk=function(f){var h=a.transformTo(o.uint8array?"uint8array":"array",f.data);if(this.leftOver&&this.leftOver.length){if(o.uint8array){var A=h;(h=new Uint8Array(A.length+this.leftOver.length)).set(this.leftOver,0),h.set(A,this.leftOver.length)}else h=this.leftOver.concat(h);this.leftOver=null}var y=(function(b,x){var P;for((x=x||b.length)>b.length&&(x=b.length),P=x-1;0<=P&&(192&b[P])==128;)P--;return P<0||P===0?x:P+s[b[P]]>x?P:x})(h),v=h;y!==h.length&&(o.uint8array?(v=h.subarray(0,y),this.leftOver=h.subarray(y,h.length)):(v=h.slice(0,y),this.leftOver=h.slice(y,h.length))),this.push({data:i.utf8decode(v),meta:f.meta})},d.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:i.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},i.Utf8DecodeWorker=d,a.inherits(p,c),p.prototype.processChunk=function(f){this.push({data:i.utf8encode(f.data),meta:f.meta})},i.Utf8EncodeWorker=p},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,n,i){"use strict";var a=t("./support"),o=t("./base64"),l=t("./nodejsUtils"),c=t("./external");function s(A){return A}function u(A,y){for(var v=0;v>8;this.dir=!!(16&this.externalFileAttributes),f==0&&(this.dosPermissions=63&this.externalFileAttributes),f==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var f=a(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=f.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=f.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=f.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=f.readInt(4))}},readExtraFields:function(f){var h,A,y,v=f.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});f.index+4>>6:(f<65536?p[y++]=224|f>>>12:(p[y++]=240|f>>>18,p[y++]=128|f>>>12&63),p[y++]=128|f>>>6&63),p[y++]=128|63&f);return p},i.buf2binstring=function(d){return u(d,d.length)},i.binstring2buf=function(d){for(var p=new a.Buf8(d.length),f=0,h=p.length;f>10&1023,b[h++]=56320|1023&A)}return u(b,h)},i.utf8border=function(d,p){var f;for((p=p||d.length)>d.length&&(p=d.length),f=p-1;0<=f&&(192&d[f])==128;)f--;return f<0||f===0?p:f+c[d[f]]>p?f:p}},{"./common":41}],43:[function(t,n,i){"use strict";n.exports=function(a,o,l,c){for(var s=65535&a|0,u=a>>>16&65535|0,d=0;l!==0;){for(l-=d=2e3>>1:o>>>1;l[c]=o}return l})();n.exports=function(o,l,c,s){var u=a,d=s+c;o^=-1;for(var p=s;p>>8^u[255&(o^l[p])];return-1^o}},{}],46:[function(t,n,i){"use strict";var a,o=t("../utils/common"),l=t("./trees"),c=t("./adler32"),s=t("./crc32"),u=t("./messages"),d=0,p=4,f=0,h=-2,A=-1,y=4,v=2,b=8,x=9,P=286,F=30,L=19,E=2*P+1,R=15,T=3,G=258,H=G+T+1,k=42,O=113,g=1,z=2,ne=3,q=4;function oe(m,B){return m.msg=u[B],B}function Z(m){return(m<<1)-(4m.avail_out&&(N=m.avail_out),N!==0&&(o.arraySet(m.output,B.pending_buf,B.pending_out,N,m.next_out),m.next_out+=N,B.pending_out+=N,m.total_out+=N,m.avail_out-=N,B.pending-=N,B.pending===0&&(B.pending_out=0))}function W(m,B){l._tr_flush_block(m,0<=m.block_start?m.block_start:-1,m.strstart-m.block_start,B),m.block_start=m.strstart,j(m.strm)}function fe(m,B){m.pending_buf[m.pending++]=B}function le(m,B){m.pending_buf[m.pending++]=B>>>8&255,m.pending_buf[m.pending++]=255&B}function ae(m,B){var N,C,w=m.max_chain_length,D=m.strstart,K=m.prev_length,Y=m.nice_match,M=m.strstart>m.w_size-H?m.strstart-(m.w_size-H):0,$=m.window,ie=m.w_mask,te=m.prev,he=m.strstart+G,Be=$[D+K-1],Pe=$[D+K];m.prev_length>=m.good_match&&(w>>=2),Y>m.lookahead&&(Y=m.lookahead);do if($[(N=B)+K]===Pe&&$[N+K-1]===Be&&$[N]===$[D]&&$[++N]===$[D+1]){D+=2,N++;do;while($[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&DM&&--w!=0);return K<=m.lookahead?K:m.lookahead}function ye(m){var B,N,C,w,D,K,Y,M,$,ie,te=m.w_size;do{if(w=m.window_size-m.lookahead-m.strstart,m.strstart>=te+(te-H)){for(o.arraySet(m.window,m.window,te,te,0),m.match_start-=te,m.strstart-=te,m.block_start-=te,B=N=m.hash_size;C=m.head[--B],m.head[B]=te<=C?C-te:0,--N;);for(B=N=te;C=m.prev[--B],m.prev[B]=te<=C?C-te:0,--N;);w+=te}if(m.strm.avail_in===0)break;if(K=m.strm,Y=m.window,M=m.strstart+m.lookahead,$=w,ie=void 0,ie=K.avail_in,$=T)for(D=m.strstart-m.insert,m.ins_h=m.window[D],m.ins_h=(m.ins_h<=T&&(m.ins_h=(m.ins_h<=T)if(C=l._tr_tally(m,m.strstart-m.match_start,m.match_length-T),m.lookahead-=m.match_length,m.match_length<=m.max_lazy_match&&m.lookahead>=T){for(m.match_length--;m.strstart++,m.ins_h=(m.ins_h<=T&&(m.ins_h=(m.ins_h<=T&&m.match_length<=m.prev_length){for(w=m.strstart+m.lookahead-T,C=l._tr_tally(m,m.strstart-1-m.prev_match,m.prev_length-T),m.lookahead-=m.prev_length-1,m.prev_length-=2;++m.strstart<=w&&(m.ins_h=(m.ins_h<m.pending_buf_size-5&&(N=m.pending_buf_size-5);;){if(m.lookahead<=1){if(ye(m),m.lookahead===0&&B===d)return g;if(m.lookahead===0)break}m.strstart+=m.lookahead,m.lookahead=0;var C=m.block_start+N;if((m.strstart===0||m.strstart>=C)&&(m.lookahead=m.strstart-C,m.strstart=C,W(m,!1),m.strm.avail_out===0)||m.strstart-m.block_start>=m.w_size-H&&(W(m,!1),m.strm.avail_out===0))return g}return m.insert=0,B===p?(W(m,!0),m.strm.avail_out===0?ne:q):(m.strstart>m.block_start&&(W(m,!1),m.strm.avail_out),g)}),new we(4,4,8,4,Le),new we(4,5,16,8,Le),new we(4,6,32,32,Le),new we(4,4,16,16,Se),new we(8,16,32,32,Se),new we(8,16,128,128,Se),new we(8,32,128,256,Se),new we(32,128,258,1024,Se),new we(32,258,258,4096,Se)],i.deflateInit=function(m,B){return Re(m,B,b,15,8,0)},i.deflateInit2=Re,i.deflateReset=tt,i.deflateResetKeep=be,i.deflateSetHeader=function(m,B){return m&&m.state?m.state.wrap!==2?h:(m.state.gzhead=B,f):h},i.deflate=function(m,B){var N,C,w,D;if(!m||!m.state||5>8&255),fe(C,C.gzhead.time>>16&255),fe(C,C.gzhead.time>>24&255),fe(C,C.level===9?2:2<=C.strategy||C.level<2?4:0),fe(C,255&C.gzhead.os),C.gzhead.extra&&C.gzhead.extra.length&&(fe(C,255&C.gzhead.extra.length),fe(C,C.gzhead.extra.length>>8&255)),C.gzhead.hcrc&&(m.adler=s(m.adler,C.pending_buf,C.pending,0)),C.gzindex=0,C.status=69):(fe(C,0),fe(C,0),fe(C,0),fe(C,0),fe(C,0),fe(C,C.level===9?2:2<=C.strategy||C.level<2?4:0),fe(C,3),C.status=O);else{var K=b+(C.w_bits-8<<4)<<8;K|=(2<=C.strategy||C.level<2?0:C.level<6?1:C.level===6?2:3)<<6,C.strstart!==0&&(K|=32),K+=31-K%31,C.status=O,le(C,K),C.strstart!==0&&(le(C,m.adler>>>16),le(C,65535&m.adler)),m.adler=1}if(C.status===69)if(C.gzhead.extra){for(w=C.pending;C.gzindex<(65535&C.gzhead.extra.length)&&(C.pending!==C.pending_buf_size||(C.gzhead.hcrc&&C.pending>w&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),j(m),w=C.pending,C.pending!==C.pending_buf_size));)fe(C,255&C.gzhead.extra[C.gzindex]),C.gzindex++;C.gzhead.hcrc&&C.pending>w&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),C.gzindex===C.gzhead.extra.length&&(C.gzindex=0,C.status=73)}else C.status=73;if(C.status===73)if(C.gzhead.name){w=C.pending;do{if(C.pending===C.pending_buf_size&&(C.gzhead.hcrc&&C.pending>w&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),j(m),w=C.pending,C.pending===C.pending_buf_size)){D=1;break}D=C.gzindexw&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),D===0&&(C.gzindex=0,C.status=91)}else C.status=91;if(C.status===91)if(C.gzhead.comment){w=C.pending;do{if(C.pending===C.pending_buf_size&&(C.gzhead.hcrc&&C.pending>w&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),j(m),w=C.pending,C.pending===C.pending_buf_size)){D=1;break}D=C.gzindexw&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),D===0&&(C.status=103)}else C.status=103;if(C.status===103&&(C.gzhead.hcrc?(C.pending+2>C.pending_buf_size&&j(m),C.pending+2<=C.pending_buf_size&&(fe(C,255&m.adler),fe(C,m.adler>>8&255),m.adler=0,C.status=O)):C.status=O),C.pending!==0){if(j(m),m.avail_out===0)return C.last_flush=-1,f}else if(m.avail_in===0&&Z(B)<=Z(N)&&B!==p)return oe(m,-5);if(C.status===666&&m.avail_in!==0)return oe(m,-5);if(m.avail_in!==0||C.lookahead!==0||B!==d&&C.status!==666){var Y=C.strategy===2?(function(M,$){for(var ie;;){if(M.lookahead===0&&(ye(M),M.lookahead===0)){if($===d)return g;break}if(M.match_length=0,ie=l._tr_tally(M,0,M.window[M.strstart]),M.lookahead--,M.strstart++,ie&&(W(M,!1),M.strm.avail_out===0))return g}return M.insert=0,$===p?(W(M,!0),M.strm.avail_out===0?ne:q):M.last_lit&&(W(M,!1),M.strm.avail_out===0)?g:z})(C,B):C.strategy===3?(function(M,$){for(var ie,te,he,Be,Pe=M.window;;){if(M.lookahead<=G){if(ye(M),M.lookahead<=G&&$===d)return g;if(M.lookahead===0)break}if(M.match_length=0,M.lookahead>=T&&0M.lookahead&&(M.match_length=M.lookahead)}if(M.match_length>=T?(ie=l._tr_tally(M,1,M.match_length-T),M.lookahead-=M.match_length,M.strstart+=M.match_length,M.match_length=0):(ie=l._tr_tally(M,0,M.window[M.strstart]),M.lookahead--,M.strstart++),ie&&(W(M,!1),M.strm.avail_out===0))return g}return M.insert=0,$===p?(W(M,!0),M.strm.avail_out===0?ne:q):M.last_lit&&(W(M,!1),M.strm.avail_out===0)?g:z})(C,B):a[C.level].func(C,B);if(Y!==ne&&Y!==q||(C.status=666),Y===g||Y===ne)return m.avail_out===0&&(C.last_flush=-1),f;if(Y===z&&(B===1?l._tr_align(C):B!==5&&(l._tr_stored_block(C,0,0,!1),B===3&&(de(C.head),C.lookahead===0&&(C.strstart=0,C.block_start=0,C.insert=0))),j(m),m.avail_out===0))return C.last_flush=-1,f}return B!==p?f:C.wrap<=0?1:(C.wrap===2?(fe(C,255&m.adler),fe(C,m.adler>>8&255),fe(C,m.adler>>16&255),fe(C,m.adler>>24&255),fe(C,255&m.total_in),fe(C,m.total_in>>8&255),fe(C,m.total_in>>16&255),fe(C,m.total_in>>24&255)):(le(C,m.adler>>>16),le(C,65535&m.adler)),j(m),0=N.w_size&&(D===0&&(de(N.head),N.strstart=0,N.block_start=0,N.insert=0),$=new o.Buf8(N.w_size),o.arraySet($,B,ie-N.w_size,N.w_size,0),B=$,ie=N.w_size),K=m.avail_in,Y=m.next_in,M=m.input,m.avail_in=ie,m.next_in=0,m.input=B,ye(N);N.lookahead>=T;){for(C=N.strstart,w=N.lookahead-(T-1);N.ins_h=(N.ins_h<>>=T=R>>>24,x-=T,(T=R>>>16&255)===0)z[u++]=65535&R;else{if(!(16&T)){if((64&T)==0){R=P[(65535&R)+(b&(1<>>=T,x-=T),x<15&&(b+=g[c++]<>>=T=R>>>24,x-=T,!(16&(T=R>>>16&255))){if((64&T)==0){R=F[(65535&R)+(b&(1<>>=T,x-=T,(T=u-d)>3,b&=(1<<(x-=G<<3))-1,a.next_in=c,a.next_out=u,a.avail_in=c>>24&255)+(k>>>8&65280)+((65280&k)<<8)+((255&k)<<24)}function b(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new a.Buf16(320),this.work=new a.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function x(k){var O;return k&&k.state?(O=k.state,k.total_in=k.total_out=O.total=0,k.msg="",O.wrap&&(k.adler=1&O.wrap),O.mode=h,O.last=0,O.havedict=0,O.dmax=32768,O.head=null,O.hold=0,O.bits=0,O.lencode=O.lendyn=new a.Buf32(A),O.distcode=O.distdyn=new a.Buf32(y),O.sane=1,O.back=-1,p):f}function P(k){var O;return k&&k.state?((O=k.state).wsize=0,O.whave=0,O.wnext=0,x(k)):f}function F(k,O){var g,z;return k&&k.state?(z=k.state,O<0?(g=0,O=-O):(g=1+(O>>4),O<48&&(O&=15)),O&&(O<8||15=q.wsize?(a.arraySet(q.window,O,g-q.wsize,q.wsize,0),q.wnext=0,q.whave=q.wsize):(z<(ne=q.wsize-q.wnext)&&(ne=z),a.arraySet(q.window,O,g-z,ne,q.wnext),(z-=ne)?(a.arraySet(q.window,O,g-z,z,0),q.wnext=z,q.whave=q.wsize):(q.wnext+=ne,q.wnext===q.wsize&&(q.wnext=0),q.whave>>8&255,g.check=l(g.check,D,2,0),W=j=0,g.mode=2;break}if(g.flags=0,g.head&&(g.head.done=!1),!(1&g.wrap)||(((255&j)<<8)+(j>>8))%31){k.msg="incorrect header check",g.mode=30;break}if((15&j)!=8){k.msg="unknown compression method",g.mode=30;break}if(W-=4,m=8+(15&(j>>>=4)),g.wbits===0)g.wbits=m;else if(m>g.wbits){k.msg="invalid window size",g.mode=30;break}g.dmax=1<>8&1),512&g.flags&&(D[0]=255&j,D[1]=j>>>8&255,g.check=l(g.check,D,2,0)),W=j=0,g.mode=3;case 3:for(;W<32;){if(Z===0)break e;Z--,j+=z[q++]<>>8&255,D[2]=j>>>16&255,D[3]=j>>>24&255,g.check=l(g.check,D,4,0)),W=j=0,g.mode=4;case 4:for(;W<16;){if(Z===0)break e;Z--,j+=z[q++]<>8),512&g.flags&&(D[0]=255&j,D[1]=j>>>8&255,g.check=l(g.check,D,2,0)),W=j=0,g.mode=5;case 5:if(1024&g.flags){for(;W<16;){if(Z===0)break e;Z--,j+=z[q++]<>>8&255,g.check=l(g.check,D,2,0)),W=j=0}else g.head&&(g.head.extra=null);g.mode=6;case 6:if(1024&g.flags&&(Z<(ae=g.length)&&(ae=Z),ae&&(g.head&&(m=g.head.extra_len-g.length,g.head.extra||(g.head.extra=new Array(g.head.extra_len)),a.arraySet(g.head.extra,z,q,ae,m)),512&g.flags&&(g.check=l(g.check,z,ae,q)),Z-=ae,q+=ae,g.length-=ae),g.length))break e;g.length=0,g.mode=7;case 7:if(2048&g.flags){if(Z===0)break e;for(ae=0;m=z[q+ae++],g.head&&m&&g.length<65536&&(g.head.name+=String.fromCharCode(m)),m&&ae>9&1,g.head.done=!0),k.adler=g.check=0,g.mode=12;break;case 10:for(;W<32;){if(Z===0)break e;Z--,j+=z[q++]<>>=7&W,W-=7&W,g.mode=27;break}for(;W<3;){if(Z===0)break e;Z--,j+=z[q++]<>>=1)){case 0:g.mode=14;break;case 1:if(G(g),g.mode=20,O!==6)break;j>>>=2,W-=2;break e;case 2:g.mode=17;break;case 3:k.msg="invalid block type",g.mode=30}j>>>=2,W-=2;break;case 14:for(j>>>=7&W,W-=7&W;W<32;){if(Z===0)break e;Z--,j+=z[q++]<>>16^65535)){k.msg="invalid stored block lengths",g.mode=30;break}if(g.length=65535&j,W=j=0,g.mode=15,O===6)break e;case 15:g.mode=16;case 16:if(ae=g.length){if(Z>>=5,W-=5,g.ndist=1+(31&j),j>>>=5,W-=5,g.ncode=4+(15&j),j>>>=4,W-=4,286>>=3,W-=3}for(;g.have<19;)g.lens[K[g.have++]]=0;if(g.lencode=g.lendyn,g.lenbits=7,N={bits:g.lenbits},B=s(0,g.lens,0,19,g.lencode,0,g.work,N),g.lenbits=N.bits,B){k.msg="invalid code lengths set",g.mode=30;break}g.have=0,g.mode=19;case 19:for(;g.have>>16&255,Me=65535&w,!((Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>>=Se,W-=Se,g.lens[g.have++]=Me;else{if(Me===16){for(C=Se+2;W>>=Se,W-=Se,g.have===0){k.msg="invalid bit length repeat",g.mode=30;break}m=g.lens[g.have-1],ae=3+(3&j),j>>>=2,W-=2}else if(Me===17){for(C=Se+3;W>>=Se)),j>>>=3,W-=3}else{for(C=Se+7;W>>=Se)),j>>>=7,W-=7}if(g.have+ae>g.nlen+g.ndist){k.msg="invalid bit length repeat",g.mode=30;break}for(;ae--;)g.lens[g.have++]=m}}if(g.mode===30)break;if(g.lens[256]===0){k.msg="invalid code -- missing end-of-block",g.mode=30;break}if(g.lenbits=9,N={bits:g.lenbits},B=s(u,g.lens,0,g.nlen,g.lencode,0,g.work,N),g.lenbits=N.bits,B){k.msg="invalid literal/lengths set",g.mode=30;break}if(g.distbits=6,g.distcode=g.distdyn,N={bits:g.distbits},B=s(d,g.lens,g.nlen,g.ndist,g.distcode,0,g.work,N),g.distbits=N.bits,B){k.msg="invalid distances set",g.mode=30;break}if(g.mode=20,O===6)break e;case 20:g.mode=21;case 21:if(6<=Z&&258<=de){k.next_out=oe,k.avail_out=de,k.next_in=q,k.avail_in=Z,g.hold=j,g.bits=W,c(k,le),oe=k.next_out,ne=k.output,de=k.avail_out,q=k.next_in,z=k.input,Z=k.avail_in,j=g.hold,W=g.bits,g.mode===12&&(g.back=-1);break}for(g.back=0;we=(w=g.lencode[j&(1<>>16&255,Me=65535&w,!((Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>be)])>>>16&255,Me=65535&w,!(be+(Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>>=be,W-=be,g.back+=be}if(j>>>=Se,W-=Se,g.back+=Se,g.length=Me,we===0){g.mode=26;break}if(32&we){g.back=-1,g.mode=12;break}if(64&we){k.msg="invalid literal/length code",g.mode=30;break}g.extra=15&we,g.mode=22;case 22:if(g.extra){for(C=g.extra;W>>=g.extra,W-=g.extra,g.back+=g.extra}g.was=g.length,g.mode=23;case 23:for(;we=(w=g.distcode[j&(1<>>16&255,Me=65535&w,!((Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>be)])>>>16&255,Me=65535&w,!(be+(Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>>=be,W-=be,g.back+=be}if(j>>>=Se,W-=Se,g.back+=Se,64&we){k.msg="invalid distance code",g.mode=30;break}g.offset=Me,g.extra=15&we,g.mode=24;case 24:if(g.extra){for(C=g.extra;W>>=g.extra,W-=g.extra,g.back+=g.extra}if(g.offset>g.dmax){k.msg="invalid distance too far back",g.mode=30;break}g.mode=25;case 25:if(de===0)break e;if(ae=le-de,g.offset>ae){if((ae=g.offset-ae)>g.whave&&g.sane){k.msg="invalid distance too far back",g.mode=30;break}ye=ae>g.wnext?(ae-=g.wnext,g.wsize-ae):g.wnext-ae,ae>g.length&&(ae=g.length),Le=g.window}else Le=ne,ye=oe-g.offset,ae=g.length;for(deE?(T=ye[Le+y[O]],W[fe+y[O]]):(T=96,0),b=1<>oe)+(x-=b)]=R<<24|T<<16|G|0,x!==0;);for(b=1<>=1;if(b!==0?(j&=b-1,j+=b):j=0,O++,--le[k]==0){if(k===z)break;k=d[p+y[O]]}if(ne>>7)]}function fe(w,D){w.pending_buf[w.pending++]=255&D,w.pending_buf[w.pending++]=D>>>8&255}function le(w,D,K){w.bi_valid>v-K?(w.bi_buf|=D<>v-w.bi_valid,w.bi_valid+=K-v):(w.bi_buf|=D<>>=1,K<<=1,0<--D;);return K>>>1}function Le(w,D,K){var Y,M,$=new Array(y+1),ie=0;for(Y=1;Y<=y;Y++)$[Y]=ie=ie+K[Y-1]<<1;for(M=0;M<=D;M++){var te=w[2*M+1];te!==0&&(w[2*M]=ye($[te]++,te))}}function Se(w){var D;for(D=0;D>1;1<=K;K--)be(w,$,K);for(M=he;K=w.heap[1],w.heap[1]=w.heap[w.heap_len--],be(w,$,1),Y=w.heap[1],w.heap[--w.heap_max]=K,w.heap[--w.heap_max]=Y,$[2*M]=$[2*K]+$[2*Y],w.depth[M]=(w.depth[K]>=w.depth[Y]?w.depth[K]:w.depth[Y])+1,$[2*K+1]=$[2*Y+1]=M,w.heap[1]=M++,be(w,$,1),2<=w.heap_len;);w.heap[--w.heap_max]=w.heap[1],(function(Pe,Ee){var Je,je,_,ce,me,Fe,ee=Ee.dyn_tree,ge=Ee.max_code,I=Ee.stat_desc.static_tree,ve=Ee.stat_desc.has_stree,Oe=Ee.stat_desc.extra_bits,S=Ee.stat_desc.extra_base,ue=Ee.stat_desc.max_length,pe=0;for(ce=0;ce<=y;ce++)Pe.bl_count[ce]=0;for(ee[2*Pe.heap[Pe.heap_max]+1]=0,Je=Pe.heap_max+1;Je>=7;M>>=1)if(1&Be&&te.dyn_ltree[2*he]!==0)return o;if(te.dyn_ltree[18]!==0||te.dyn_ltree[20]!==0||te.dyn_ltree[26]!==0)return l;for(he=32;he>>3,($=w.static_len+3+7>>>3)<=M&&(M=$)):M=$=K+5,K+4<=M&&D!==-1?C(w,D,K,Y):w.strategy===4||$===M?(le(w,2+(Y?1:0),3),tt(w,H,k)):(le(w,4+(Y?1:0),3),(function(te,he,Be,Pe){var Ee;for(le(te,he-257,5),le(te,Be-1,5),le(te,Pe-4,4),Ee=0;Ee>>8&255,w.pending_buf[w.d_buf+2*w.last_lit+1]=255&D,w.pending_buf[w.l_buf+w.last_lit]=255&K,w.last_lit++,D===0?w.dyn_ltree[2*K]++:(w.matches++,D--,w.dyn_ltree[2*(g[K]+d+1)]++,w.dyn_dtree[2*W(D)]++),w.last_lit===w.lit_bufsize-1},i._tr_align=function(w){le(w,2,3),ae(w,x,H),(function(D){D.bi_valid===16?(fe(D,D.bi_buf),D.bi_buf=0,D.bi_valid=0):8<=D.bi_valid&&(D.pending_buf[D.pending++]=255&D.bi_buf,D.bi_buf>>=8,D.bi_valid-=8)})(w)}},{"../utils/common":41}],53:[function(t,n,i){"use strict";n.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,n,i){(function(a){(function(o,l){"use strict";if(!o.setImmediate){var c,s,u,d,p=1,f={},h=!1,A=o.document,y=Object.getPrototypeOf&&Object.getPrototypeOf(o);y=y&&y.setTimeout?y:o,c={}.toString.call(o.process)==="[object process]"?function(P){process.nextTick(function(){b(P)})}:(function(){if(o.postMessage&&!o.importScripts){var P=!0,F=o.onmessage;return o.onmessage=function(){P=!1},o.postMessage("","*"),o.onmessage=F,P}})()?(d="setImmediate$"+Math.random()+"$",o.addEventListener?o.addEventListener("message",x,!1):o.attachEvent("onmessage",x),function(P){o.postMessage(d+P,"*")}):o.MessageChannel?((u=new MessageChannel).port1.onmessage=function(P){b(P.data)},function(P){u.port2.postMessage(P)}):A&&"onreadystatechange"in A.createElement("script")?(s=A.documentElement,function(P){var F=A.createElement("script");F.onreadystatechange=function(){b(P),F.onreadystatechange=null,s.removeChild(F),F=null},s.appendChild(F)}):function(P){setTimeout(b,0,P)},y.setImmediate=function(P){typeof P!="function"&&(P=new Function(""+P));for(var F=new Array(arguments.length-1),L=0;L"u"?a===void 0?this:a:self)}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})}}),wp=Lt({"node_modules/.pnpm/jszip@3.10.1/node_modules/jszip/dist/jszip.min.js"(e,r){(function(t){typeof e=="object"&&typeof r<"u"?r.exports=t():typeof define=="function"&&define.amd?define([],t):(typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:this).JSZip=t()})(function(){return(function t(n,i,a){function o(s,u){if(!i[s]){if(!n[s]){var d=typeof An=="function"&&An;if(!u&&d)return d(s,!0);if(l)return l(s,!0);var p=new Error("Cannot find module '"+s+"'");throw p.code="MODULE_NOT_FOUND",p}var f=i[s]={exports:{}};n[s][0].call(f.exports,function(h){var A=n[s][1][h];return o(A||h)},f,f.exports,t,n,i,a)}return i[s].exports}for(var l=typeof An=="function"&&An,c=0;c>2,f=(3&s)<<4|u>>4,h=1>6:64,A=2>4,u=(15&p)<<4|(f=l.indexOf(c.charAt(A++)))>>2,d=(3&f)<<6|(h=l.indexOf(c.charAt(A++))),b[y++]=s,f!==64&&(b[y++]=u),h!==64&&(b[y++]=d);return b}},{"./support":30,"./utils":32}],2:[function(t,n,i){"use strict";var a=t("./external"),o=t("./stream/DataWorker"),l=t("./stream/Crc32Probe"),c=t("./stream/DataLengthProbe");function s(u,d,p,f,h){this.compressedSize=u,this.uncompressedSize=d,this.crc32=p,this.compression=f,this.compressedContent=h}s.prototype={getContentWorker:function(){var u=new o(a.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new c("data_length")),d=this;return u.on("end",function(){if(this.streamInfo.data_length!==d.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),u},getCompressedWorker:function(){return new o(a.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},s.createWorkerFrom=function(u,d,p){return u.pipe(new l).pipe(new c("uncompressedSize")).pipe(d.compressWorker(p)).pipe(new c("compressedSize")).withStreamInfo("compression",d)},n.exports=s},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,n,i){"use strict";var a=t("./stream/GenericWorker");i.STORE={magic:"\0\0",compressWorker:function(){return new a("STORE compression")},uncompressWorker:function(){return new a("STORE decompression")}},i.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,n,i){"use strict";var a=t("./utils"),o=(function(){for(var l,c=[],s=0;s<256;s++){l=s;for(var u=0;u<8;u++)l=1&l?3988292384^l>>>1:l>>>1;c[s]=l}return c})();n.exports=function(l,c){return l!==void 0&&l.length?a.getTypeOf(l)!=="string"?(function(s,u,d,p){var f=o,h=p+d;s^=-1;for(var A=p;A>>8^f[255&(s^u[A])];return-1^s})(0|c,l,l.length,0):(function(s,u,d,p){var f=o,h=p+d;s^=-1;for(var A=p;A>>8^f[255&(s^u.charCodeAt(A))];return-1^s})(0|c,l,l.length,0):0}},{"./utils":32}],5:[function(t,n,i){"use strict";i.base64=!1,i.binary=!1,i.dir=!1,i.createFolders=!0,i.date=null,i.compression=null,i.compressionOptions=null,i.comment=null,i.unixPermissions=null,i.dosPermissions=null},{}],6:[function(t,n,i){"use strict";var a=null;a=typeof Promise<"u"?Promise:t("lie"),n.exports={Promise:a}},{lie:37}],7:[function(t,n,i){"use strict";var a=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",o=t("pako"),l=t("./utils"),c=t("./stream/GenericWorker"),s=a?"uint8array":"array";function u(d,p){c.call(this,"FlateWorker/"+d),this._pako=null,this._pakoAction=d,this._pakoOptions=p,this.meta={}}i.magic="\b\0",l.inherits(u,c),u.prototype.processChunk=function(d){this.meta=d.meta,this._pako===null&&this._createPako(),this._pako.push(l.transformTo(s,d.data),!1)},u.prototype.flush=function(){c.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},u.prototype.cleanUp=function(){c.prototype.cleanUp.call(this),this._pako=null},u.prototype._createPako=function(){this._pako=new o[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var d=this;this._pako.onData=function(p){d.push({data:p,meta:d.meta})}},i.compressWorker=function(d){return new u("Deflate",d)},i.uncompressWorker=function(){return new u("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,n,i){"use strict";function a(f,h){var A,y="";for(A=0;A>>=8;return y}function o(f,h,A,y,v,b){var x,P,F=f.file,L=f.compression,E=b!==s.utf8encode,R=l.transformTo("string",b(F.name)),T=l.transformTo("string",s.utf8encode(F.name)),G=F.comment,H=l.transformTo("string",b(G)),k=l.transformTo("string",s.utf8encode(G)),O=T.length!==F.name.length,g=k.length!==G.length,z="",ne="",q="",oe=F.dir,Z=F.date,de={crc32:0,compressedSize:0,uncompressedSize:0};h&&!A||(de.crc32=f.crc32,de.compressedSize=f.compressedSize,de.uncompressedSize=f.uncompressedSize);var j=0;h&&(j|=8),E||!O&&!g||(j|=2048);var W=0,fe=0;oe&&(W|=16),v==="UNIX"?(fe=798,W|=(function(ae,ye){var Le=ae;return ae||(Le=ye?16893:33204),(65535&Le)<<16})(F.unixPermissions,oe)):(fe=20,W|=(function(ae){return 63&(ae||0)})(F.dosPermissions)),x=Z.getUTCHours(),x<<=6,x|=Z.getUTCMinutes(),x<<=5,x|=Z.getUTCSeconds()/2,P=Z.getUTCFullYear()-1980,P<<=4,P|=Z.getUTCMonth()+1,P<<=5,P|=Z.getUTCDate(),O&&(ne=a(1,1)+a(u(R),4)+T,z+="up"+a(ne.length,2)+ne),g&&(q=a(1,1)+a(u(H),4)+k,z+="uc"+a(q.length,2)+q);var le="";return le+=` -\0`,le+=a(j,2),le+=L.magic,le+=a(x,2),le+=a(P,2),le+=a(de.crc32,4),le+=a(de.compressedSize,4),le+=a(de.uncompressedSize,4),le+=a(R.length,2),le+=a(z.length,2),{fileRecord:d.LOCAL_FILE_HEADER+le+R+z,dirRecord:d.CENTRAL_FILE_HEADER+a(fe,2)+le+a(H.length,2)+"\0\0\0\0"+a(W,4)+a(y,4)+R+z+H}}var l=t("../utils"),c=t("../stream/GenericWorker"),s=t("../utf8"),u=t("../crc32"),d=t("../signature");function p(f,h,A,y){c.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=h,this.zipPlatform=A,this.encodeFileName=y,this.streamFiles=f,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}l.inherits(p,c),p.prototype.push=function(f){var h=f.meta.percent||0,A=this.entriesCount,y=this._sources.length;this.accumulate?this.contentBuffer.push(f):(this.bytesWritten+=f.data.length,c.prototype.push.call(this,{data:f.data,meta:{currentFile:this.currentFile,percent:A?(h+100*(A-y-1))/A:100}}))},p.prototype.openedSource=function(f){this.currentSourceOffset=this.bytesWritten,this.currentFile=f.file.name;var h=this.streamFiles&&!f.file.dir;if(h){var A=o(f,h,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:A.fileRecord,meta:{percent:0}})}else this.accumulate=!0},p.prototype.closedSource=function(f){this.accumulate=!1;var h=this.streamFiles&&!f.file.dir,A=o(f,h,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(A.dirRecord),h)this.push({data:(function(y){return d.DATA_DESCRIPTOR+a(y.crc32,4)+a(y.compressedSize,4)+a(y.uncompressedSize,4)})(f),meta:{percent:100}});else for(this.push({data:A.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},p.prototype.flush=function(){for(var f=this.bytesWritten,h=0;h=this.index;c--)s=(s<<8)+this.byteAt(c);return this.index+=l,s},readString:function(l){return a.transformTo("string",this.readData(l))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var l=this.readInt(4);return new Date(Date.UTC(1980+(l>>25&127),(l>>21&15)-1,l>>16&31,l>>11&31,l>>5&63,(31&l)<<1))}},n.exports=o},{"../utils":32}],19:[function(t,n,i){"use strict";var a=t("./Uint8ArrayReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.readData=function(l){this.checkOffset(l);var c=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,n,i){"use strict";var a=t("./DataReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.byteAt=function(l){return this.data.charCodeAt(this.zero+l)},o.prototype.lastIndexOfSignature=function(l){return this.data.lastIndexOf(l)-this.zero},o.prototype.readAndCheckSignature=function(l){return l===this.readData(4)},o.prototype.readData=function(l){this.checkOffset(l);var c=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./DataReader":18}],21:[function(t,n,i){"use strict";var a=t("./ArrayReader");function o(l){a.call(this,l)}t("../utils").inherits(o,a),o.prototype.readData=function(l){if(this.checkOffset(l),l===0)return new Uint8Array(0);var c=this.data.subarray(this.zero+this.index,this.zero+this.index+l);return this.index+=l,c},n.exports=o},{"../utils":32,"./ArrayReader":17}],22:[function(t,n,i){"use strict";var a=t("../utils"),o=t("../support"),l=t("./ArrayReader"),c=t("./StringReader"),s=t("./NodeBufferReader"),u=t("./Uint8ArrayReader");n.exports=function(d){var p=a.getTypeOf(d);return a.checkSupport(p),p!=="string"||o.uint8array?p==="nodebuffer"?new s(d):o.uint8array?new u(a.transformTo("uint8array",d)):new l(a.transformTo("array",d)):new c(d)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,n,i){"use strict";i.LOCAL_FILE_HEADER="PK",i.CENTRAL_FILE_HEADER="PK",i.CENTRAL_DIRECTORY_END="PK",i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",i.ZIP64_CENTRAL_DIRECTORY_END="PK",i.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(t,n,i){"use strict";var a=t("./GenericWorker"),o=t("../utils");function l(c){a.call(this,"ConvertWorker to "+c),this.destType=c}o.inherits(l,a),l.prototype.processChunk=function(c){this.push({data:o.transformTo(this.destType,c.data),meta:c.meta})},n.exports=l},{"../utils":32,"./GenericWorker":28}],25:[function(t,n,i){"use strict";var a=t("./GenericWorker"),o=t("../crc32");function l(){a.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(l,a),l.prototype.processChunk=function(c){this.streamInfo.crc32=o(c.data,this.streamInfo.crc32||0),this.push(c)},n.exports=l},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./GenericWorker");function l(c){o.call(this,"DataLengthProbe for "+c),this.propName=c,this.withStreamInfo(c,0)}a.inherits(l,o),l.prototype.processChunk=function(c){if(c){var s=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=s+c.data.length}o.prototype.processChunk.call(this,c)},n.exports=l},{"../utils":32,"./GenericWorker":28}],27:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./GenericWorker");function l(c){o.call(this,"DataWorker");var s=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,c.then(function(u){s.dataIsReady=!0,s.data=u,s.max=u&&u.length||0,s.type=a.getTypeOf(u),s.isPaused||s._tickAndRepeat()},function(u){s.error(u)})}a.inherits(l,o),l.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this.data=null},l.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,a.delay(this._tickAndRepeat,[],this)),!0)},l.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(a.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},l.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var c=null,s=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":c=this.data.substring(this.index,s);break;case"uint8array":c=this.data.subarray(this.index,s);break;case"array":case"nodebuffer":c=this.data.slice(this.index,s)}return this.index=s,this.push({data:c,meta:{percent:this.max?this.index/this.max*100:0}})},n.exports=l},{"../utils":32,"./GenericWorker":28}],28:[function(t,n,i){"use strict";function a(o){this.name=o||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}a.prototype={push:function(o){this.emit("data",o)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(o){this.emit("error",o)}return!0},error:function(o){return!this.isFinished&&(this.isPaused?this.generatedError=o:(this.isFinished=!0,this.emit("error",o),this.previous&&this.previous.error(o),this.cleanUp()),!0)},on:function(o,l){return this._listeners[o].push(l),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(o,l){if(this._listeners[o])for(var c=0;c "+o:o}},n.exports=a},{}],29:[function(t,n,i){"use strict";var a=t("../utils"),o=t("./ConvertWorker"),l=t("./GenericWorker"),c=t("../base64"),s=t("../support"),u=t("../external"),d=null;if(s.nodestream)try{d=t("../nodejs/NodejsStreamOutputAdapter")}catch{}function p(h,A){return new u.Promise(function(y,v){var b=[],x=h._internalType,P=h._outputType,F=h._mimeType;h.on("data",function(L,E){b.push(L),A&&A(E)}).on("error",function(L){b=[],v(L)}).on("end",function(){try{var L=(function(E,R,T){switch(E){case"blob":return a.newBlob(a.transformTo("arraybuffer",R),T);case"base64":return c.encode(R);default:return a.transformTo(E,R)}})(P,(function(E,R){var T,G=0,H=null,k=0;for(T=0;T"u")i.blob=!1;else{var a=new ArrayBuffer(0);try{i.blob=new Blob([a],{type:"application/zip"}).size===0}catch{try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(a),i.blob=o.getBlob("application/zip").size===0}catch{i.blob=!1}}}try{i.nodestream=!!t("readable-stream").Readable}catch{i.nodestream=!1}},{"readable-stream":16}],31:[function(t,n,i){"use strict";for(var a=t("./utils"),o=t("./support"),l=t("./nodejsUtils"),c=t("./stream/GenericWorker"),s=new Array(256),u=0;u<256;u++)s[u]=252<=u?6:248<=u?5:240<=u?4:224<=u?3:192<=u?2:1;s[254]=s[254]=1;function d(){c.call(this,"utf-8 decode"),this.leftOver=null}function p(){c.call(this,"utf-8 encode")}i.utf8encode=function(f){return o.nodebuffer?l.newBufferFrom(f,"utf-8"):(function(h){var A,y,v,b,x,P=h.length,F=0;for(b=0;b>>6:(y<65536?A[x++]=224|y>>>12:(A[x++]=240|y>>>18,A[x++]=128|y>>>12&63),A[x++]=128|y>>>6&63),A[x++]=128|63&y);return A})(f)},i.utf8decode=function(f){return o.nodebuffer?a.transformTo("nodebuffer",f).toString("utf-8"):(function(h){var A,y,v,b,x=h.length,P=new Array(2*x);for(A=y=0;A>10&1023,P[y++]=56320|1023&v)}return P.length!==y&&(P.subarray?P=P.subarray(0,y):P.length=y),a.applyFromCharCode(P)})(f=a.transformTo(o.uint8array?"uint8array":"array",f))},a.inherits(d,c),d.prototype.processChunk=function(f){var h=a.transformTo(o.uint8array?"uint8array":"array",f.data);if(this.leftOver&&this.leftOver.length){if(o.uint8array){var A=h;(h=new Uint8Array(A.length+this.leftOver.length)).set(this.leftOver,0),h.set(A,this.leftOver.length)}else h=this.leftOver.concat(h);this.leftOver=null}var y=(function(b,x){var P;for((x=x||b.length)>b.length&&(x=b.length),P=x-1;0<=P&&(192&b[P])==128;)P--;return P<0||P===0?x:P+s[b[P]]>x?P:x})(h),v=h;y!==h.length&&(o.uint8array?(v=h.subarray(0,y),this.leftOver=h.subarray(y,h.length)):(v=h.slice(0,y),this.leftOver=h.slice(y,h.length))),this.push({data:i.utf8decode(v),meta:f.meta})},d.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:i.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},i.Utf8DecodeWorker=d,a.inherits(p,c),p.prototype.processChunk=function(f){this.push({data:i.utf8encode(f.data),meta:f.meta})},i.Utf8EncodeWorker=p},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,n,i){"use strict";var a=t("./support"),o=t("./base64"),l=t("./nodejsUtils"),c=t("./external");function s(A){return A}function u(A,y){for(var v=0;v>8;this.dir=!!(16&this.externalFileAttributes),f==0&&(this.dosPermissions=63&this.externalFileAttributes),f==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var f=a(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=f.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=f.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=f.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=f.readInt(4))}},readExtraFields:function(f){var h,A,y,v=f.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});f.index+4>>6:(f<65536?p[y++]=224|f>>>12:(p[y++]=240|f>>>18,p[y++]=128|f>>>12&63),p[y++]=128|f>>>6&63),p[y++]=128|63&f);return p},i.buf2binstring=function(d){return u(d,d.length)},i.binstring2buf=function(d){for(var p=new a.Buf8(d.length),f=0,h=p.length;f>10&1023,b[h++]=56320|1023&A)}return u(b,h)},i.utf8border=function(d,p){var f;for((p=p||d.length)>d.length&&(p=d.length),f=p-1;0<=f&&(192&d[f])==128;)f--;return f<0||f===0?p:f+c[d[f]]>p?f:p}},{"./common":41}],43:[function(t,n,i){"use strict";n.exports=function(a,o,l,c){for(var s=65535&a|0,u=a>>>16&65535|0,d=0;l!==0;){for(l-=d=2e3>>1:o>>>1;l[c]=o}return l})();n.exports=function(o,l,c,s){var u=a,d=s+c;o^=-1;for(var p=s;p>>8^u[255&(o^l[p])];return-1^o}},{}],46:[function(t,n,i){"use strict";var a,o=t("../utils/common"),l=t("./trees"),c=t("./adler32"),s=t("./crc32"),u=t("./messages"),d=0,p=4,f=0,h=-2,A=-1,y=4,v=2,b=8,x=9,P=286,F=30,L=19,E=2*P+1,R=15,T=3,G=258,H=G+T+1,k=42,O=113,g=1,z=2,ne=3,q=4;function oe(m,B){return m.msg=u[B],B}function Z(m){return(m<<1)-(4m.avail_out&&(N=m.avail_out),N!==0&&(o.arraySet(m.output,B.pending_buf,B.pending_out,N,m.next_out),m.next_out+=N,B.pending_out+=N,m.total_out+=N,m.avail_out-=N,B.pending-=N,B.pending===0&&(B.pending_out=0))}function W(m,B){l._tr_flush_block(m,0<=m.block_start?m.block_start:-1,m.strstart-m.block_start,B),m.block_start=m.strstart,j(m.strm)}function fe(m,B){m.pending_buf[m.pending++]=B}function le(m,B){m.pending_buf[m.pending++]=B>>>8&255,m.pending_buf[m.pending++]=255&B}function ae(m,B){var N,C,w=m.max_chain_length,D=m.strstart,K=m.prev_length,Y=m.nice_match,M=m.strstart>m.w_size-H?m.strstart-(m.w_size-H):0,$=m.window,ie=m.w_mask,te=m.prev,he=m.strstart+G,Be=$[D+K-1],Pe=$[D+K];m.prev_length>=m.good_match&&(w>>=2),Y>m.lookahead&&(Y=m.lookahead);do if($[(N=B)+K]===Pe&&$[N+K-1]===Be&&$[N]===$[D]&&$[++N]===$[D+1]){D+=2,N++;do;while($[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&$[++D]===$[++N]&&DM&&--w!=0);return K<=m.lookahead?K:m.lookahead}function ye(m){var B,N,C,w,D,K,Y,M,$,ie,te=m.w_size;do{if(w=m.window_size-m.lookahead-m.strstart,m.strstart>=te+(te-H)){for(o.arraySet(m.window,m.window,te,te,0),m.match_start-=te,m.strstart-=te,m.block_start-=te,B=N=m.hash_size;C=m.head[--B],m.head[B]=te<=C?C-te:0,--N;);for(B=N=te;C=m.prev[--B],m.prev[B]=te<=C?C-te:0,--N;);w+=te}if(m.strm.avail_in===0)break;if(K=m.strm,Y=m.window,M=m.strstart+m.lookahead,$=w,ie=void 0,ie=K.avail_in,$=T)for(D=m.strstart-m.insert,m.ins_h=m.window[D],m.ins_h=(m.ins_h<=T&&(m.ins_h=(m.ins_h<=T)if(C=l._tr_tally(m,m.strstart-m.match_start,m.match_length-T),m.lookahead-=m.match_length,m.match_length<=m.max_lazy_match&&m.lookahead>=T){for(m.match_length--;m.strstart++,m.ins_h=(m.ins_h<=T&&(m.ins_h=(m.ins_h<=T&&m.match_length<=m.prev_length){for(w=m.strstart+m.lookahead-T,C=l._tr_tally(m,m.strstart-1-m.prev_match,m.prev_length-T),m.lookahead-=m.prev_length-1,m.prev_length-=2;++m.strstart<=w&&(m.ins_h=(m.ins_h<m.pending_buf_size-5&&(N=m.pending_buf_size-5);;){if(m.lookahead<=1){if(ye(m),m.lookahead===0&&B===d)return g;if(m.lookahead===0)break}m.strstart+=m.lookahead,m.lookahead=0;var C=m.block_start+N;if((m.strstart===0||m.strstart>=C)&&(m.lookahead=m.strstart-C,m.strstart=C,W(m,!1),m.strm.avail_out===0)||m.strstart-m.block_start>=m.w_size-H&&(W(m,!1),m.strm.avail_out===0))return g}return m.insert=0,B===p?(W(m,!0),m.strm.avail_out===0?ne:q):(m.strstart>m.block_start&&(W(m,!1),m.strm.avail_out),g)}),new we(4,4,8,4,Le),new we(4,5,16,8,Le),new we(4,6,32,32,Le),new we(4,4,16,16,Se),new we(8,16,32,32,Se),new we(8,16,128,128,Se),new we(8,32,128,256,Se),new we(32,128,258,1024,Se),new we(32,258,258,4096,Se)],i.deflateInit=function(m,B){return Re(m,B,b,15,8,0)},i.deflateInit2=Re,i.deflateReset=tt,i.deflateResetKeep=be,i.deflateSetHeader=function(m,B){return m&&m.state?m.state.wrap!==2?h:(m.state.gzhead=B,f):h},i.deflate=function(m,B){var N,C,w,D;if(!m||!m.state||5>8&255),fe(C,C.gzhead.time>>16&255),fe(C,C.gzhead.time>>24&255),fe(C,C.level===9?2:2<=C.strategy||C.level<2?4:0),fe(C,255&C.gzhead.os),C.gzhead.extra&&C.gzhead.extra.length&&(fe(C,255&C.gzhead.extra.length),fe(C,C.gzhead.extra.length>>8&255)),C.gzhead.hcrc&&(m.adler=s(m.adler,C.pending_buf,C.pending,0)),C.gzindex=0,C.status=69):(fe(C,0),fe(C,0),fe(C,0),fe(C,0),fe(C,0),fe(C,C.level===9?2:2<=C.strategy||C.level<2?4:0),fe(C,3),C.status=O);else{var K=b+(C.w_bits-8<<4)<<8;K|=(2<=C.strategy||C.level<2?0:C.level<6?1:C.level===6?2:3)<<6,C.strstart!==0&&(K|=32),K+=31-K%31,C.status=O,le(C,K),C.strstart!==0&&(le(C,m.adler>>>16),le(C,65535&m.adler)),m.adler=1}if(C.status===69)if(C.gzhead.extra){for(w=C.pending;C.gzindex<(65535&C.gzhead.extra.length)&&(C.pending!==C.pending_buf_size||(C.gzhead.hcrc&&C.pending>w&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),j(m),w=C.pending,C.pending!==C.pending_buf_size));)fe(C,255&C.gzhead.extra[C.gzindex]),C.gzindex++;C.gzhead.hcrc&&C.pending>w&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),C.gzindex===C.gzhead.extra.length&&(C.gzindex=0,C.status=73)}else C.status=73;if(C.status===73)if(C.gzhead.name){w=C.pending;do{if(C.pending===C.pending_buf_size&&(C.gzhead.hcrc&&C.pending>w&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),j(m),w=C.pending,C.pending===C.pending_buf_size)){D=1;break}D=C.gzindexw&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),D===0&&(C.gzindex=0,C.status=91)}else C.status=91;if(C.status===91)if(C.gzhead.comment){w=C.pending;do{if(C.pending===C.pending_buf_size&&(C.gzhead.hcrc&&C.pending>w&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),j(m),w=C.pending,C.pending===C.pending_buf_size)){D=1;break}D=C.gzindexw&&(m.adler=s(m.adler,C.pending_buf,C.pending-w,w)),D===0&&(C.status=103)}else C.status=103;if(C.status===103&&(C.gzhead.hcrc?(C.pending+2>C.pending_buf_size&&j(m),C.pending+2<=C.pending_buf_size&&(fe(C,255&m.adler),fe(C,m.adler>>8&255),m.adler=0,C.status=O)):C.status=O),C.pending!==0){if(j(m),m.avail_out===0)return C.last_flush=-1,f}else if(m.avail_in===0&&Z(B)<=Z(N)&&B!==p)return oe(m,-5);if(C.status===666&&m.avail_in!==0)return oe(m,-5);if(m.avail_in!==0||C.lookahead!==0||B!==d&&C.status!==666){var Y=C.strategy===2?(function(M,$){for(var ie;;){if(M.lookahead===0&&(ye(M),M.lookahead===0)){if($===d)return g;break}if(M.match_length=0,ie=l._tr_tally(M,0,M.window[M.strstart]),M.lookahead--,M.strstart++,ie&&(W(M,!1),M.strm.avail_out===0))return g}return M.insert=0,$===p?(W(M,!0),M.strm.avail_out===0?ne:q):M.last_lit&&(W(M,!1),M.strm.avail_out===0)?g:z})(C,B):C.strategy===3?(function(M,$){for(var ie,te,he,Be,Pe=M.window;;){if(M.lookahead<=G){if(ye(M),M.lookahead<=G&&$===d)return g;if(M.lookahead===0)break}if(M.match_length=0,M.lookahead>=T&&0M.lookahead&&(M.match_length=M.lookahead)}if(M.match_length>=T?(ie=l._tr_tally(M,1,M.match_length-T),M.lookahead-=M.match_length,M.strstart+=M.match_length,M.match_length=0):(ie=l._tr_tally(M,0,M.window[M.strstart]),M.lookahead--,M.strstart++),ie&&(W(M,!1),M.strm.avail_out===0))return g}return M.insert=0,$===p?(W(M,!0),M.strm.avail_out===0?ne:q):M.last_lit&&(W(M,!1),M.strm.avail_out===0)?g:z})(C,B):a[C.level].func(C,B);if(Y!==ne&&Y!==q||(C.status=666),Y===g||Y===ne)return m.avail_out===0&&(C.last_flush=-1),f;if(Y===z&&(B===1?l._tr_align(C):B!==5&&(l._tr_stored_block(C,0,0,!1),B===3&&(de(C.head),C.lookahead===0&&(C.strstart=0,C.block_start=0,C.insert=0))),j(m),m.avail_out===0))return C.last_flush=-1,f}return B!==p?f:C.wrap<=0?1:(C.wrap===2?(fe(C,255&m.adler),fe(C,m.adler>>8&255),fe(C,m.adler>>16&255),fe(C,m.adler>>24&255),fe(C,255&m.total_in),fe(C,m.total_in>>8&255),fe(C,m.total_in>>16&255),fe(C,m.total_in>>24&255)):(le(C,m.adler>>>16),le(C,65535&m.adler)),j(m),0=N.w_size&&(D===0&&(de(N.head),N.strstart=0,N.block_start=0,N.insert=0),$=new o.Buf8(N.w_size),o.arraySet($,B,ie-N.w_size,N.w_size,0),B=$,ie=N.w_size),K=m.avail_in,Y=m.next_in,M=m.input,m.avail_in=ie,m.next_in=0,m.input=B,ye(N);N.lookahead>=T;){for(C=N.strstart,w=N.lookahead-(T-1);N.ins_h=(N.ins_h<>>=T=R>>>24,x-=T,(T=R>>>16&255)===0)z[u++]=65535&R;else{if(!(16&T)){if((64&T)==0){R=P[(65535&R)+(b&(1<>>=T,x-=T),x<15&&(b+=g[c++]<>>=T=R>>>24,x-=T,!(16&(T=R>>>16&255))){if((64&T)==0){R=F[(65535&R)+(b&(1<>>=T,x-=T,(T=u-d)>3,b&=(1<<(x-=G<<3))-1,a.next_in=c,a.next_out=u,a.avail_in=c>>24&255)+(k>>>8&65280)+((65280&k)<<8)+((255&k)<<24)}function b(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new a.Buf16(320),this.work=new a.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function x(k){var O;return k&&k.state?(O=k.state,k.total_in=k.total_out=O.total=0,k.msg="",O.wrap&&(k.adler=1&O.wrap),O.mode=h,O.last=0,O.havedict=0,O.dmax=32768,O.head=null,O.hold=0,O.bits=0,O.lencode=O.lendyn=new a.Buf32(A),O.distcode=O.distdyn=new a.Buf32(y),O.sane=1,O.back=-1,p):f}function P(k){var O;return k&&k.state?((O=k.state).wsize=0,O.whave=0,O.wnext=0,x(k)):f}function F(k,O){var g,z;return k&&k.state?(z=k.state,O<0?(g=0,O=-O):(g=1+(O>>4),O<48&&(O&=15)),O&&(O<8||15=q.wsize?(a.arraySet(q.window,O,g-q.wsize,q.wsize,0),q.wnext=0,q.whave=q.wsize):(z<(ne=q.wsize-q.wnext)&&(ne=z),a.arraySet(q.window,O,g-z,ne,q.wnext),(z-=ne)?(a.arraySet(q.window,O,g-z,z,0),q.wnext=z,q.whave=q.wsize):(q.wnext+=ne,q.wnext===q.wsize&&(q.wnext=0),q.whave>>8&255,g.check=l(g.check,D,2,0),W=j=0,g.mode=2;break}if(g.flags=0,g.head&&(g.head.done=!1),!(1&g.wrap)||(((255&j)<<8)+(j>>8))%31){k.msg="incorrect header check",g.mode=30;break}if((15&j)!=8){k.msg="unknown compression method",g.mode=30;break}if(W-=4,m=8+(15&(j>>>=4)),g.wbits===0)g.wbits=m;else if(m>g.wbits){k.msg="invalid window size",g.mode=30;break}g.dmax=1<>8&1),512&g.flags&&(D[0]=255&j,D[1]=j>>>8&255,g.check=l(g.check,D,2,0)),W=j=0,g.mode=3;case 3:for(;W<32;){if(Z===0)break e;Z--,j+=z[q++]<>>8&255,D[2]=j>>>16&255,D[3]=j>>>24&255,g.check=l(g.check,D,4,0)),W=j=0,g.mode=4;case 4:for(;W<16;){if(Z===0)break e;Z--,j+=z[q++]<>8),512&g.flags&&(D[0]=255&j,D[1]=j>>>8&255,g.check=l(g.check,D,2,0)),W=j=0,g.mode=5;case 5:if(1024&g.flags){for(;W<16;){if(Z===0)break e;Z--,j+=z[q++]<>>8&255,g.check=l(g.check,D,2,0)),W=j=0}else g.head&&(g.head.extra=null);g.mode=6;case 6:if(1024&g.flags&&(Z<(ae=g.length)&&(ae=Z),ae&&(g.head&&(m=g.head.extra_len-g.length,g.head.extra||(g.head.extra=new Array(g.head.extra_len)),a.arraySet(g.head.extra,z,q,ae,m)),512&g.flags&&(g.check=l(g.check,z,ae,q)),Z-=ae,q+=ae,g.length-=ae),g.length))break e;g.length=0,g.mode=7;case 7:if(2048&g.flags){if(Z===0)break e;for(ae=0;m=z[q+ae++],g.head&&m&&g.length<65536&&(g.head.name+=String.fromCharCode(m)),m&&ae>9&1,g.head.done=!0),k.adler=g.check=0,g.mode=12;break;case 10:for(;W<32;){if(Z===0)break e;Z--,j+=z[q++]<>>=7&W,W-=7&W,g.mode=27;break}for(;W<3;){if(Z===0)break e;Z--,j+=z[q++]<>>=1)){case 0:g.mode=14;break;case 1:if(G(g),g.mode=20,O!==6)break;j>>>=2,W-=2;break e;case 2:g.mode=17;break;case 3:k.msg="invalid block type",g.mode=30}j>>>=2,W-=2;break;case 14:for(j>>>=7&W,W-=7&W;W<32;){if(Z===0)break e;Z--,j+=z[q++]<>>16^65535)){k.msg="invalid stored block lengths",g.mode=30;break}if(g.length=65535&j,W=j=0,g.mode=15,O===6)break e;case 15:g.mode=16;case 16:if(ae=g.length){if(Z>>=5,W-=5,g.ndist=1+(31&j),j>>>=5,W-=5,g.ncode=4+(15&j),j>>>=4,W-=4,286>>=3,W-=3}for(;g.have<19;)g.lens[K[g.have++]]=0;if(g.lencode=g.lendyn,g.lenbits=7,N={bits:g.lenbits},B=s(0,g.lens,0,19,g.lencode,0,g.work,N),g.lenbits=N.bits,B){k.msg="invalid code lengths set",g.mode=30;break}g.have=0,g.mode=19;case 19:for(;g.have>>16&255,Me=65535&w,!((Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>>=Se,W-=Se,g.lens[g.have++]=Me;else{if(Me===16){for(C=Se+2;W>>=Se,W-=Se,g.have===0){k.msg="invalid bit length repeat",g.mode=30;break}m=g.lens[g.have-1],ae=3+(3&j),j>>>=2,W-=2}else if(Me===17){for(C=Se+3;W>>=Se)),j>>>=3,W-=3}else{for(C=Se+7;W>>=Se)),j>>>=7,W-=7}if(g.have+ae>g.nlen+g.ndist){k.msg="invalid bit length repeat",g.mode=30;break}for(;ae--;)g.lens[g.have++]=m}}if(g.mode===30)break;if(g.lens[256]===0){k.msg="invalid code -- missing end-of-block",g.mode=30;break}if(g.lenbits=9,N={bits:g.lenbits},B=s(u,g.lens,0,g.nlen,g.lencode,0,g.work,N),g.lenbits=N.bits,B){k.msg="invalid literal/lengths set",g.mode=30;break}if(g.distbits=6,g.distcode=g.distdyn,N={bits:g.distbits},B=s(d,g.lens,g.nlen,g.ndist,g.distcode,0,g.work,N),g.distbits=N.bits,B){k.msg="invalid distances set",g.mode=30;break}if(g.mode=20,O===6)break e;case 20:g.mode=21;case 21:if(6<=Z&&258<=de){k.next_out=oe,k.avail_out=de,k.next_in=q,k.avail_in=Z,g.hold=j,g.bits=W,c(k,le),oe=k.next_out,ne=k.output,de=k.avail_out,q=k.next_in,z=k.input,Z=k.avail_in,j=g.hold,W=g.bits,g.mode===12&&(g.back=-1);break}for(g.back=0;we=(w=g.lencode[j&(1<>>16&255,Me=65535&w,!((Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>be)])>>>16&255,Me=65535&w,!(be+(Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>>=be,W-=be,g.back+=be}if(j>>>=Se,W-=Se,g.back+=Se,g.length=Me,we===0){g.mode=26;break}if(32&we){g.back=-1,g.mode=12;break}if(64&we){k.msg="invalid literal/length code",g.mode=30;break}g.extra=15&we,g.mode=22;case 22:if(g.extra){for(C=g.extra;W>>=g.extra,W-=g.extra,g.back+=g.extra}g.was=g.length,g.mode=23;case 23:for(;we=(w=g.distcode[j&(1<>>16&255,Me=65535&w,!((Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>be)])>>>16&255,Me=65535&w,!(be+(Se=w>>>24)<=W);){if(Z===0)break e;Z--,j+=z[q++]<>>=be,W-=be,g.back+=be}if(j>>>=Se,W-=Se,g.back+=Se,64&we){k.msg="invalid distance code",g.mode=30;break}g.offset=Me,g.extra=15&we,g.mode=24;case 24:if(g.extra){for(C=g.extra;W>>=g.extra,W-=g.extra,g.back+=g.extra}if(g.offset>g.dmax){k.msg="invalid distance too far back",g.mode=30;break}g.mode=25;case 25:if(de===0)break e;if(ae=le-de,g.offset>ae){if((ae=g.offset-ae)>g.whave&&g.sane){k.msg="invalid distance too far back",g.mode=30;break}ye=ae>g.wnext?(ae-=g.wnext,g.wsize-ae):g.wnext-ae,ae>g.length&&(ae=g.length),Le=g.window}else Le=ne,ye=oe-g.offset,ae=g.length;for(deE?(T=ye[Le+y[O]],W[fe+y[O]]):(T=96,0),b=1<>oe)+(x-=b)]=R<<24|T<<16|G|0,x!==0;);for(b=1<>=1;if(b!==0?(j&=b-1,j+=b):j=0,O++,--le[k]==0){if(k===z)break;k=d[p+y[O]]}if(ne>>7)]}function fe(w,D){w.pending_buf[w.pending++]=255&D,w.pending_buf[w.pending++]=D>>>8&255}function le(w,D,K){w.bi_valid>v-K?(w.bi_buf|=D<>v-w.bi_valid,w.bi_valid+=K-v):(w.bi_buf|=D<>>=1,K<<=1,0<--D;);return K>>>1}function Le(w,D,K){var Y,M,$=new Array(y+1),ie=0;for(Y=1;Y<=y;Y++)$[Y]=ie=ie+K[Y-1]<<1;for(M=0;M<=D;M++){var te=w[2*M+1];te!==0&&(w[2*M]=ye($[te]++,te))}}function Se(w){var D;for(D=0;D>1;1<=K;K--)be(w,$,K);for(M=he;K=w.heap[1],w.heap[1]=w.heap[w.heap_len--],be(w,$,1),Y=w.heap[1],w.heap[--w.heap_max]=K,w.heap[--w.heap_max]=Y,$[2*M]=$[2*K]+$[2*Y],w.depth[M]=(w.depth[K]>=w.depth[Y]?w.depth[K]:w.depth[Y])+1,$[2*K+1]=$[2*Y+1]=M,w.heap[1]=M++,be(w,$,1),2<=w.heap_len;);w.heap[--w.heap_max]=w.heap[1],(function(Pe,Ee){var Je,je,_,ce,me,Fe,ee=Ee.dyn_tree,ge=Ee.max_code,I=Ee.stat_desc.static_tree,ve=Ee.stat_desc.has_stree,Oe=Ee.stat_desc.extra_bits,S=Ee.stat_desc.extra_base,ue=Ee.stat_desc.max_length,pe=0;for(ce=0;ce<=y;ce++)Pe.bl_count[ce]=0;for(ee[2*Pe.heap[Pe.heap_max]+1]=0,Je=Pe.heap_max+1;Je>=7;M>>=1)if(1&Be&&te.dyn_ltree[2*he]!==0)return o;if(te.dyn_ltree[18]!==0||te.dyn_ltree[20]!==0||te.dyn_ltree[26]!==0)return l;for(he=32;he>>3,($=w.static_len+3+7>>>3)<=M&&(M=$)):M=$=K+5,K+4<=M&&D!==-1?C(w,D,K,Y):w.strategy===4||$===M?(le(w,2+(Y?1:0),3),tt(w,H,k)):(le(w,4+(Y?1:0),3),(function(te,he,Be,Pe){var Ee;for(le(te,he-257,5),le(te,Be-1,5),le(te,Pe-4,4),Ee=0;Ee>>8&255,w.pending_buf[w.d_buf+2*w.last_lit+1]=255&D,w.pending_buf[w.l_buf+w.last_lit]=255&K,w.last_lit++,D===0?w.dyn_ltree[2*K]++:(w.matches++,D--,w.dyn_ltree[2*(g[K]+d+1)]++,w.dyn_dtree[2*W(D)]++),w.last_lit===w.lit_bufsize-1},i._tr_align=function(w){le(w,2,3),ae(w,x,H),(function(D){D.bi_valid===16?(fe(D,D.bi_buf),D.bi_buf=0,D.bi_valid=0):8<=D.bi_valid&&(D.pending_buf[D.pending++]=255&D.bi_buf,D.bi_buf>>=8,D.bi_valid-=8)})(w)}},{"../utils/common":41}],53:[function(t,n,i){"use strict";n.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,n,i){(function(a){(function(o,l){"use strict";if(!o.setImmediate){var c,s,u,d,p=1,f={},h=!1,A=o.document,y=Object.getPrototypeOf&&Object.getPrototypeOf(o);y=y&&y.setTimeout?y:o,c={}.toString.call(o.process)==="[object process]"?function(P){process.nextTick(function(){b(P)})}:(function(){if(o.postMessage&&!o.importScripts){var P=!0,F=o.onmessage;return o.onmessage=function(){P=!1},o.postMessage("","*"),o.onmessage=F,P}})()?(d="setImmediate$"+Math.random()+"$",o.addEventListener?o.addEventListener("message",x,!1):o.attachEvent("onmessage",x),function(P){o.postMessage(d+P,"*")}):o.MessageChannel?((u=new MessageChannel).port1.onmessage=function(P){b(P.data)},function(P){u.port2.postMessage(P)}):A&&"onreadystatechange"in A.createElement("script")?(s=A.documentElement,function(P){var F=A.createElement("script");F.onreadystatechange=function(){b(P),F.onreadystatechange=null,s.removeChild(F),F=null},s.appendChild(F)}):function(P){setTimeout(b,0,P)},y.setImmediate=function(P){typeof P!="function"&&(P=new Function(""+P));for(var F=new Array(arguments.length-1),L=0;L"u"?a===void 0?this:a:self)}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})}}),Uu=Lt({"(disabled):node:fs"(){}}),xp=Lt({"(disabled):node:https"(){}}),zs=function(e,r){return zs=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var i in n)n.hasOwnProperty(i)&&(t[i]=n[i])},zs(e,r)};function De(e,r){zs(e,r);function t(){this.constructor=e}e.prototype=r===null?Object.create(r):(t.prototype=r.prototype,new t)}var $e=function(){return $e=Object.assign||function(r){for(var t,n=1,i=arguments.length;n0&&a[a.length-1])&&(s[0]===6||s[0]===2)){t=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]>2],r+=ii[(e[n]&3)<<4|e[n+1]>>4],r+=ii[(e[n+1]&15)<<2|e[n+2]>>6],r+=ii[e[n+2]&63];return t%3===2?r=r.substring(0,r.length-1)+"=":t%3===1&&(r=r.substring(0,r.length-2)+"=="),r},Hc=function(e){var r=e.length*.75,t=e.length,n,i=0,a,o,l,c;e[e.length-1]==="="&&(r--,e[e.length-2]==="="&&r--);var s=new Uint8Array(r);for(n=0;n>4,s[i++]=(o&15)<<4|l>>2,s[i++]=(l&3)<<6|c&63;return s},Cp=/^(data)?:?([\w\/\+]+)?;?(charset=[\w-]+|base64)?.*,/i,Pp=function(e){var r=e.trim(),t=r.substring(0,100),n=t.match(Cp);if(!n)return Hc(r);var i=n[0],a=r.substring(i.length);return Hc(a)},Ye=function(e){return e.charCodeAt(0)},Fp=function(e){return e.codePointAt(0)},aa=function(e,r){return Er(e.toString(16),r,"0").toUpperCase()},ko=function(e){return aa(e,2)},Xr=function(e){return String.fromCharCode(e)},Tp=function(e){return Xr(parseInt(e,16))},Er=function(e,r,t){for(var n="",i=0,a=r-e.length;i=55296&&t<=56319&&e.length>i&&(n=e.charCodeAt(i),n>=56320&&n<=57343&&(a=2)),[e.slice(r,r+a),a]},Bp=function(e){for(var r=[],t=0,n=e.length;tt&&s(),o+=p,l+=f}}return s(),c},Np=/^D:(\d\d\d\d)(\d\d)?(\d\d)?(\d\d)?(\d\d)?(\d\d)?([+\-Z])?(\d\d)?'?(\d\d)?'?$/,Vu=function(e){var r=e.match(Np);if(r){var t=r[1],n=r[2],i=n===void 0?"01":n,a=r[3],o=a===void 0?"01":a,l=r[4],c=l===void 0?"00":l,s=r[5],u=s===void 0?"00":s,d=r[6],p=d===void 0?"00":d,f=r[7],h=f===void 0?"Z":f,A=r[8],y=A===void 0?"00":A,v=r[9],b=v===void 0?"00":v,x=h==="Z"?"Z":""+h+y+":"+b,P=new Date(t+"-"+i+"-"+o+"T"+c+":"+u+":"+p+x);return P}},al=function(e,r){for(var t,n=0,i;n=0&&e<=65535},Vp=function(e){return e>=65536&&e<=1114111},Hu=function(e){return Math.floor((e-65536)/1024)+55296},Ku=function(e){return(e-65536)%1024+56320},mn;(function(e){e.BigEndian="BigEndian",e.LittleEndian="LittleEndian"})(mn||(mn={}));var Li="\uFFFD".codePointAt(0),Qu=function(e,r){if(r===void 0&&(r=!0),e.length<=1)return String.fromCodePoint(Li);for(var t=r?Hp(e):mn.BigEndian,n=r?2:0,i=[];e.length-n>=2;){var a=Qc(e[n++],e[n++],t);if(Xp(a))if(e.length-n<2)i.push(Li);else{var o=Qc(e[n++],e[n++],t);Kc(o)?i.push(a,o):i.push(Li)}else Kc(a)?(n+=2,i.push(Li)):i.push(a)}return n=55296&&e<=56319},Kc=function(e){return e>=56320&&e<=57343},Qc=function(e,r,t){if(t===mn.LittleEndian)return r<<8|e;if(t===mn.BigEndian)return e<<8|r;throw new Error("Invalid byteOrder: "+t)},Hp=function(e){return Zu(e)?mn.BigEndian:Yu(e)?mn.LittleEndian:mn.BigEndian},Zu=function(e){return e[0]===254&&e[1]===255},Yu=function(e){return e[0]===255&&e[1]===254},Ju=function(e){return Zu(e)||Yu(e)},Kp=function(e){var r=String(e);if(Math.abs(e)<1){var t=parseInt(e.toString().split("e-")[1]);if(t){var n=e<0;n&&(e*=-1),e*=Math.pow(10,t-1),r="0."+new Array(t).join("0")+e.toString().substring(2),n&&(r="-"+r)}}else{var t=parseInt(e.toString().split("+")[1]);t>20&&(t-=20,e/=Math.pow(10,t),r=e.toString()+new Array(t+1).join("0"))}return r},Ya=function(e){return Math.ceil(e.toString(2).length/8)},Jn=function(e){for(var r=new Uint8Array(Ya(e)),t=1;t<=r.length;t++)r[t-1]=e>>(r.length-t)*8;return r},sa=function(e){throw new Error(e)},Qp=Qr(So()),Zc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",_i=new Uint8Array(256);for(Br=0;Br>4,s[i++]=(o&15)<<4|l>>2,s[i++]=(l&3)<<6|c&63;return s},Yp=function(e){for(var r="",t=0;tn)throw new Error(It(r)+" must be at least "+t+" and at most "+n+", but was actually "+e)},Tr=function(e,r,t,n){se(e,r,["number","undefined"]),typeof e=="number"&&dr(e,r,t,n)},td=function(e,r,t){if(se(e,r,["number"]),e%t!==0)throw new Error(It(r)+" must be a multiple of "+t+", but was actually "+e)},kA=function(e,r){if(!Number.isInteger(e))throw new Error(It(r)+" must be an integer, but was actually "+e)},Po=function(e,r){if(![1,0].includes(Math.sign(e)))throw new Error(It(r)+" must be a positive number or 0, but was actually "+e)},et=new Uint16Array(256);for(Mt=0;Mt<256;Mt++)et[Mt]=Mt;var Mt;et[22]=Ye("");et[24]=Ye("\u02D8");et[25]=Ye("\u02C7");et[26]=Ye("\u02C6");et[27]=Ye("\u02D9");et[28]=Ye("\u02DD");et[29]=Ye("\u02DB");et[30]=Ye("\u02DA");et[31]=Ye("\u02DC");et[127]=Ye("\uFFFD");et[128]=Ye("\u2022");et[129]=Ye("\u2020");et[130]=Ye("\u2021");et[131]=Ye("\u2026");et[132]=Ye("\u2014");et[133]=Ye("\u2013");et[134]=Ye("\u0192");et[135]=Ye("\u2044");et[136]=Ye("\u2039");et[137]=Ye("\u203A");et[138]=Ye("\u2212");et[139]=Ye("\u2030");et[140]=Ye("\u201E");et[141]=Ye("\u201C");et[142]=Ye("\u201D");et[143]=Ye("\u2018");et[144]=Ye("\u2019");et[145]=Ye("\u201A");et[146]=Ye("\u2122");et[147]=Ye("\uFB01");et[148]=Ye("\uFB02");et[149]=Ye("\u0141");et[150]=Ye("\u0152");et[151]=Ye("\u0160");et[152]=Ye("\u0178");et[153]=Ye("\u017D");et[154]=Ye("\u0131");et[155]=Ye("\u0142");et[156]=Ye("\u0153");et[157]=Ye("\u0161");et[158]=Ye("\u017E");et[159]=Ye("\uFFFD");et[160]=Ye("\u20AC");et[173]=Ye("\uFFFD");var rd=function(e){for(var r=new Array(e.length),t=0,n=e.length;t=Q.ExclamationPoint&&e<=Q.Tilde&&!cl[e]},nu={},iu=new Map,ZA=(function(e){De(r,e);function r(t,n){var i=this;if(t!==nu)throw new ol("PDFName");i=e.call(this)||this;for(var a="/",o=0,l=n.length;o=Q.Zero&&s<=Q.Nine||s>=Q.a&&s<=Q.f||s>=Q.A&&s<=Q.F?(n+=c,(n.length===2||!(u>="0"&&u<="9"||u>="a"&&u<="f"||u>="A"&&u<="F"))&&(a(parseInt(n,16)),n="")):a(s):s===Q.Hash?i=!0:a(s)}return new Uint8Array(t)},r.prototype.decodeText=function(){var t=this.asBytes();return String.fromCharCode.apply(String,Array.from(t))},r.prototype.asString=function(){return this.encodedName},r.prototype.value=function(){return this.encodedName},r.prototype.clone=function(){return this},r.prototype.toString=function(){return this.encodedName},r.prototype.sizeInBytes=function(){return this.encodedName.length},r.prototype.copyBytesInto=function(t,n){return n+=Vt(this.encodedName,t,n),this.encodedName.length},r.of=function(t){var n=KA(t),i=iu.get(n);return i||(i=new r(nu,n),iu.set(n,i)),i},r.Length=r.of("Length"),r.FlateDecode=r.of("FlateDecode"),r.Resources=r.of("Resources"),r.Font=r.of("Font"),r.XObject=r.of("XObject"),r.ExtGState=r.of("ExtGState"),r.Contents=r.of("Contents"),r.Type=r.of("Type"),r.Parent=r.of("Parent"),r.MediaBox=r.of("MediaBox"),r.Page=r.of("Page"),r.Annots=r.of("Annots"),r.TrimBox=r.of("TrimBox"),r.ArtBox=r.of("ArtBox"),r.BleedBox=r.of("BleedBox"),r.CropBox=r.of("CropBox"),r.Rotate=r.of("Rotate"),r.Title=r.of("Title"),r.Author=r.of("Author"),r.Subject=r.of("Subject"),r.Creator=r.of("Creator"),r.Keywords=r.of("Keywords"),r.Producer=r.of("Producer"),r.CreationDate=r.of("CreationDate"),r.ModDate=r.of("ModDate"),r})($t),V=ZA,YA=(function(e){De(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.prototype.asNull=function(){return null},r.prototype.clone=function(){return this},r.prototype.toString=function(){return"null"},r.prototype.sizeInBytes=function(){return 4},r.prototype.copyBytesInto=function(t,n){return t[n++]=Q.n,t[n++]=Q.u,t[n++]=Q.l,t[n++]=Q.l,4},r})($t),rr=new YA,JA=(function(e){De(r,e);function r(t,n){var i=e.call(this)||this;return i.dict=t,i.context=n,i}return r.prototype.keys=function(){return Array.from(this.dict.keys())},r.prototype.values=function(){return Array.from(this.dict.values())},r.prototype.entries=function(){return Array.from(this.dict.entries())},r.prototype.set=function(t,n){this.dict.set(t,n)},r.prototype.get=function(t,n){n===void 0&&(n=!1);var i=this.dict.get(t);if(!(i===rr&&!n))return i},r.prototype.has=function(t){var n=this.dict.get(t);return n!==void 0&&n!==rr},r.prototype.lookupMaybe=function(t){for(var n,i=[],a=1;athis.largestObjectNumber&&(this.largestObjectNumber=r.objectNumber)},e.prototype.nextRef=function(){return this.largestObjectNumber+=1,xt.of(this.largestObjectNumber)},e.prototype.register=function(r){var t=this.nextRef();return this.assign(t,r),t},e.prototype.delete=function(r){return this.indirectObjects.delete(r)},e.prototype.lookupMaybe=function(r){for(var t=[],n=1;n1?(this.subsections.push([r]),this.chunkIdx+=1,this.chunkLength=1):(t.push(r),this.chunkLength+=1)},e.create=function(){return new e({ref:xt.of(0,65535),offset:0,deleted:!0})},e.createEmpty=function(){return new e},e})(),id=dg,fg=(function(){function e(r){this.lastXRefOffset=String(r)}return e.prototype.toString=function(){return`startxref -`+this.lastXRefOffset+` -%%EOF`},e.prototype.sizeInBytes=function(){return 16+this.lastXRefOffset.length},e.prototype.copyBytesInto=function(r,t){var n=t;return r[t++]=Q.s,r[t++]=Q.t,r[t++]=Q.a,r[t++]=Q.r,r[t++]=Q.t,r[t++]=Q.x,r[t++]=Q.r,r[t++]=Q.e,r[t++]=Q.f,r[t++]=Q.Newline,t+=Vt(this.lastXRefOffset,r,t),r[t++]=Q.Newline,r[t++]=Q.Percent,r[t++]=Q.Percent,r[t++]=Q.E,r[t++]=Q.O,r[t++]=Q.F,t-n},e.forLastCrossRefSectionOffset=function(r){return new e(r)},e})(),dl=fg,hg=(function(){function e(r){this.dict=r}return e.prototype.toString=function(){return`trailer -`+this.dict.toString()},e.prototype.sizeInBytes=function(){return 8+this.dict.sizeInBytes()},e.prototype.copyBytesInto=function(r,t){var n=t;return r[t++]=Q.t,r[t++]=Q.r,r[t++]=Q.a,r[t++]=Q.i,r[t++]=Q.l,r[t++]=Q.e,r[t++]=Q.r,r[t++]=Q.Newline,t+=this.dict.copyBytesInto(r,t),t-n},e.of=function(r){return new e(r)},e})(),pg=hg,Ag=(function(e){De(r,e);function r(t,n,i){i===void 0&&(i=!0);var a=e.call(this,t.obj({}),i)||this;return a.objects=n,a.offsets=a.computeObjectOffsets(),a.offsetsString=a.computeOffsetsString(),a.dict.set(V.of("Type"),V.of("ObjStm")),a.dict.set(V.of("N"),Qe.of(a.objects.length)),a.dict.set(V.of("First"),Qe.of(a.offsetsString.length)),a}return r.prototype.getObjectsCount=function(){return this.objects.length},r.prototype.clone=function(t){return r.withContextAndObjects(t||this.dict.context,this.objects.slice(),this.encode)},r.prototype.getContentsString=function(){for(var t=this.offsetsString,n=0,i=this.objects.length;n1&&(o.push(l),o.push(u.ref.objectNumber),l=0),l+=1}return o.push(l),o},a.computeEntryTuples=function(){for(var o=new Array(a.entries.length),l=0,c=a.entries.length;ll[0]&&(l[0]=h),A>l[1]&&(l[1]=A),y>l[2]&&(l[2]=y)}return l},a.entries=n||[],a.entryTuplesCache=Hr.populatedBy(a.computeEntryTuples),a.maxByteWidthsCache=Hr.populatedBy(a.computeMaxEntryByteWidths),a.indexCache=Hr.populatedBy(a.computeIndex),t.set(V.of("Type"),V.of("XRef")),a}return r.prototype.addDeletedEntry=function(t,n){var i=fn.Deleted;this.entries.push({type:i,ref:t,nextFreeObjectNumber:n}),this.entryTuplesCache.invalidate(),this.maxByteWidthsCache.invalidate(),this.indexCache.invalidate(),this.contentsCache.invalidate()},r.prototype.addUncompressedEntry=function(t,n){var i=fn.Uncompressed;this.entries.push({type:i,ref:t,offset:n}),this.entryTuplesCache.invalidate(),this.maxByteWidthsCache.invalidate(),this.indexCache.invalidate(),this.contentsCache.invalidate()},r.prototype.addCompressedEntry=function(t,n,i){var a=fn.Compressed;this.entries.push({type:a,ref:t,objectStreamRef:n,index:i}),this.entryTuplesCache.invalidate(),this.maxByteWidthsCache.invalidate(),this.indexCache.invalidate(),this.contentsCache.invalidate()},r.prototype.clone=function(t){var n=this,i=n.dict,a=n.entries,o=n.encode;return r.of(i.clone(t),a.slice(),o)},r.prototype.getContentsString=function(){for(var t=this.entryTuplesCache.access(),n=this.maxByteWidthsCache.access(),i="",a=0,o=t.length;a=0;h--)i+=(d[h]||0).toString(2);for(var h=n[1]-1;h>=0;h--)i+=(p[h]||0).toString(2);for(var h=n[2]-1;h>=0;h--)i+=(f[h]||0).toString(2)}return i},r.prototype.getUnencodedContents=function(){for(var t=this.entryTuplesCache.access(),n=this.maxByteWidthsCache.access(),i=new Uint8Array(this.getUnencodedContentsSize()),a=0,o=0,l=t.length;o=0;A--)i[a++]=p[A]||0;for(var A=n[1]-1;A>=0;A--)i[a++]=f[A]||0;for(var A=n[2]-1;A>=0;A--)i[a++]=h[A]||0}return i},r.prototype.getUnencodedContentsSize=function(){var t=this.maxByteWidthsCache.access(),n=_p(t);return n*this.entries.length},r.prototype.updateDict=function(){e.prototype.updateDict.call(this);var t=this.maxByteWidthsCache.access(),n=this.indexCache.access(),i=this.dict.context;this.dict.set(V.of("W"),i.obj(t)),this.dict.set(V.of("Index"),i.obj(n))},r.create=function(t,n){n===void 0&&(n=!0);var i=new r(t,[],n);return i.addDeletedEntry(xt.of(0,65535),0),i},r.of=function(t,n,i){return i===void 0&&(i=!0),new r(t,n,i)},r})(ul),yg=vg,bg=(function(e){De(r,e);function r(t,n,i,a){var o=e.call(this,t,n)||this;return o.encodeStreams=i,o.objectsPerStream=a,o}return r.prototype.computeBufferSize=function(){return it(this,void 0,void 0,function(){var t,n,i,a,o,l,c,s,h,A,u,v,d,p,y,f,h,A,y,v,b,x,P,F;return at(this,function(L){switch(L.label){case 0:t=this.context.largestObjectNumber+1,n=Fo.forVersion(1,7),i=n.sizeInBytes()+2,a=yg.create(this.createTrailerDict(),this.encodeStreams),o=[],l=[],c=[],s=this.context.enumerateIndirectObjects(),h=0,A=s.length,L.label=1;case 1:return h"},r.prototype.sizeInBytes=function(){return this.value.length+2},r.prototype.copyBytesInto=function(t,n){return t[n++]=Q.LessThan,n+=Vt(this.value,t,n),t[n++]=Q.GreaterThan,this.value.length+2},r.of=function(t){return new r(t)},r.fromText=function(t){for(var n=jp(t),i="",a=0,o=n.length;a> def -/CMapName /Adobe-Identity-UCS def -/CMapType 2 def -1 begincodespacerange -<0000> -endcodespacerange -`+e.length+` beginbfchar -`+e.map(function(r){var t=r[0],n=r[1];return t+" "+n}).join(` -`)+` -endbfchar -endcmap -CMapName currentdict /CMap defineresource pop -end -end`},lu=function(){for(var e=[],r=0;r"},Ja=function(e){return aa(e,4)},Pg=function(e){if(qp(e))return Ja(e);if(Vp(e)){var r=Hu(e),t=Ku(e);return""+Ja(r)+Ja(t)}var n=ko(e),i="0x"+n+" is not a valid UTF-8 or UTF-16 codepoint.";throw new Error(i)},Fg=function(e){var r=0,t=function(n){r|=1<=Q.Zero&&s<=Q.Seven?(n+=c,(n.length===3||!(u>="0"&&u<="7"))&&(a(parseInt(n,8)),n="")):a(s):s===Q.BackSlash?i=!0:a(s)}return new Uint8Array(t)},r.prototype.decodeText=function(){var t=this.asBytes();return Ju(t)?Qu(t):rd(t)},r.prototype.decodeDate=function(){var t=this.decodeText(),n=Vu(t);if(!n)throw new nd(t);return n},r.prototype.asString=function(){return this.value},r.prototype.clone=function(){return r.of(this.value)},r.prototype.toString=function(){return"("+this.value+")"},r.prototype.sizeInBytes=function(){return this.value.length+2},r.prototype.copyBytesInto=function(t,n){return t[n++]=Q.LeftParen,n+=Vt(this.value,t,n),t[n++]=Q.RightParen,this.value.length+2},r.of=function(t){return new r(t)},r.fromDate=function(t){var n=Er(String(t.getUTCFullYear()),4,"0"),i=Er(String(t.getUTCMonth()+1),2,"0"),a=Er(String(t.getUTCDate()),2,"0"),o=Er(String(t.getUTCHours()),2,"0"),l=Er(String(t.getUTCMinutes()),2,"0"),c=Er(String(t.getUTCSeconds()),2,"0");return new r("D:"+n+i+a+o+l+c+"Z")},r})($t),wt=Dg,Eg=(function(){function e(r,t,n,i){var a=this;this.allGlyphsInFontSortedById=function(){for(var o=new Array(a.font.characterSet.length),l=0,c=o.length;l>3)]>>7-((h&7)<<0)&1,k=3*H;l[P]=F[k],l[P+1]=F[k+1],l[P+2]=F[k+2],l[P+3]=H>2)]>>6-((h&3)<<1)&3,k=3*H;l[P]=F[k],l[P+1]=F[k+1],l[P+2]=F[k+2],l[P+3]=H>1)]>>4-((h&1)<<2)&15,k=3*H;l[P]=F[k],l[P+1]=F[k+1],l[P+2]=F[k+2],l[P+3]=H>>3)]>>>7-(q&7)&1),oe=g==v*255?0:255;c[ne+q]=oe<<24|g<<16|g<<8|g}else if(u==2)for(var q=0;q>>2)]>>>6-((q&3)<<1)&3),oe=g==v*85?0:255;c[ne+q]=oe<<24|g<<16|g<<8|g}else if(u==4)for(var q=0;q>>1)]>>>4-((q&1)<<2)&15),oe=g==v*17?0:255;c[ne+q]=oe<<24|g<<16|g<<8|g}else if(u==8)for(var q=0;q>>2<<3));i==0;){if(i=y(r,p,1),a=y(r,p+1,2),p+=3,a==0){(p&7)!=0&&(p+=8-(p&7));var R=(p>>>3)+4,T=r[R-4]|r[R-3]<<8;E&&(t=e.H.W(t,d+T)),t.set(new n(r.buffer,r.byteOffset+R,T),d),p=R+T<<3,d+=T;continue}if(E&&(t=e.H.W(t,d+(1<<17))),a==1&&(f=L.J,h=L.h,s=511,u=31),a==2){o=v(r,p,5)+257,l=v(r,p+5,5)+1,c=v(r,p+10,4)+4,p+=14;for(var G=p,H=1,k=0;k<38;k+=2)L.Q[k]=0,L.Q[k+1]=0;for(var k=0;kH&&(H=O)}p+=3*c,x(L.Q,H),P(L.Q,H,L.u),f=L.w,h=L.d,p=b(L.u,(1<>>4;if(!(q>>>8))t[d++]=q;else{if(q==256)break;var oe=d+q-254;if(q>264){var Z=L.q[q-257];oe=d+(Z>>>3)+v(r,p,Z&7),p+=Z&7}var de=h[F(r,p)&u];p+=de&15;var j=de>>>4,W=L.c[j],fe=(W>>>4)+y(r,p,W&15);for(p+=W&15;d>>4;if(d<=15)o[s]=d,s++;else{var p=0,f=0;d==16?(f=3+l(i,a,2),a+=2,p=o[s-1]):d==17?(f=3+l(i,a,3),a+=3):d==18&&(f=11+l(i,a,7),a+=7);for(var h=s+f;s>>1;oa&&(a=c),o++}for(;o>1,s=r[l+1],u=c<<4|s,d=t-s,p=r[l]<>>15-t;n[h]=u,p++}},e.H.l=function(r,t){for(var n=e.H.m.r,i=15-t,a=0;a>>i}},e.H.M=function(r,t,n){n=n<<(t&7);var i=t>>>3;r[i]|=n,r[i+1]|=n>>>8},e.H.I=function(r,t,n){n=n<<(t&7);var i=t>>>3;r[i]|=n,r[i+1]|=n>>>8,r[i+2]|=n>>>16},e.H.e=function(r,t,n){return(r[t>>>3]|r[(t>>>3)+1]<<8)>>>(t&7)&(1<>>3]|r[(t>>>3)+1]<<8|r[(t>>>3)+2]<<16)>>>(t&7)&(1<>>3]|r[(t>>>3)+1]<<8|r[(t>>>3)+2]<<16)>>>(t&7)},e.H.i=function(r,t){return(r[t>>>3]|r[(t>>>3)+1]<<8|r[(t>>>3)+2]<<16|r[(t>>>3)+3]<<24)>>>(t&7)},e.H.m=(function(){var r=Uint16Array,t=Uint32Array;return{K:new r(16),j:new r(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],T:[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],q:new r(32),p:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],z:[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],c:new t(32),J:new r(512),_:[],h:new r(32),$:[],w:new r(32768),C:[],v:[],d:new r(32768),D:[],u:new r(512),Q:[],r:new r(32768),s:new t(286),Y:new t(30),a:new t(19),t:new t(15e3),k:new r(65536),g:new r(32768)}})(),(function(){for(var r=e.H.m,t=32768,n=0;n>>1|(i&1431655765)<<1,i=(i&3435973836)>>>2|(i&858993459)<<2,i=(i&4042322160)>>>4|(i&252645135)<<4,i=(i&4278255360)>>>8|(i&16711935)<<8,r.r[n]=(i>>>16|i<<16)>>>17}function a(o,l,c){for(;l--!=0;)o.push(0,c)}for(var n=0;n<32;n++)r.q[n]=r.S[n]<<3|r.T[n],r.c[n]=r.p[n]<<4|r.z[n];a(r._,144,8),a(r._,112,9),a(r._,24,7),a(r._,8,8),e.H.n(r._,9),e.H.A(r._,9,r.J),e.H.l(r._,9),a(r.$,32,5),e.H.n(r.$,5),e.H.A(r.$,5,r.h),e.H.l(r.$,5),a(r.Q,19,0),a(r.C,286,0),a(r.D,30,0),a(r.v,320,0)})(),e.H.N})();xe.decode._readInterlace=function(e,r){for(var t=r.width,n=r.height,i=xe.decode._getBPP(r),a=i>>3,o=Math.ceil(t*i/8),l=new Uint8Array(n*o),c=0,s=[0,0,4,0,2,0,1],u=[0,4,0,2,0,1,0],d=[8,8,8,4,4,2,2],p=[8,8,4,4,2,2,1],f=0;f<7;){for(var h=d[f],A=p[f],y=0,v=0,b=s[f];b>3];T=T>>7-(R&7)&1,l[L*o+(E>>3)]|=T<<7-((E&7)<<0)}if(i==2){var T=e[R>>3];T=T>>6-(R&7)&3,l[L*o+(E>>2)]|=T<<6-((E&3)<<1)}if(i==4){var T=e[R>>3];T=T>>4-(R&7)&15,l[L*o+(E>>1)]|=T<<4-((E&1)<<2)}if(i>=8)for(var G=L*o+E*a,H=0;H>3)+H];R+=i,E+=A}F++,L+=h}y*v!=0&&(c+=v*(1+P)),f=f+1}return l};xe.decode._getBPP=function(e){var r=[1,null,3,1,2,null,4][e.ctype];return r*e.depth};xe.decode._filterZero=function(e,r,t,n,i){var a=xe.decode._getBPP(r),o=Math.ceil(n*a/8),l=xe.decode._paeth;a=Math.ceil(a/8);var c=0,s=1,u=e[t],d=0;if(u>1&&(e[t]=[0,0,1][u-2]),u==3)for(d=a;d>>1)&255;for(var p=0;p>>1);for(;d>>1)}else{for(;d>8&255,e[r+1]=t&255},readUint:function(e,r){return e[r]*(256*256*256)+(e[r+1]<<16|e[r+2]<<8|e[r+3])},writeUint:function(e,r,t){e[r]=t>>24&255,e[r+1]=t>>16&255,e[r+2]=t>>8&255,e[r+3]=t&255},readASCII:function(e,r,t){for(var n="",i=0;i=0&&l>=0?(d=f*r+h<<2,p=(l+f)*i+o+h<<2):(d=(-l+f)*r-o+h<<2,p=f*i+h<<2),c==0)n[p]=e[d],n[p+1]=e[d+1],n[p+2]=e[d+2],n[p+3]=e[d+3];else if(c==1){var A=e[d+3]*.00392156862745098,y=e[d]*A,v=e[d+1]*A,b=e[d+2]*A,x=n[p+3]*(1/255),P=n[p]*x,F=n[p+1]*x,L=n[p+2]*x,E=1-A,R=A+x*E,T=R==0?0:1/R;n[p+3]=255*R,n[p+0]=(y+P*E)*T,n[p+1]=(v+F*E)*T,n[p+2]=(b+L*E)*T}else if(c==2){var A=e[d+3],y=e[d],v=e[d+1],b=e[d+2],x=n[p+3],P=n[p],F=n[p+1],L=n[p+2];A==x&&y==P&&v==F&&b==L?(n[p]=0,n[p+1]=0,n[p+2]=0,n[p+3]=0):(n[p]=y,n[p+1]=v,n[p+2]=b,n[p+3]=A)}else if(c==3){var A=e[d+3],y=e[d],v=e[d+1],b=e[d+2],x=n[p+3],P=n[p],F=n[p+1],L=n[p+2];if(A==x&&y==P&&v==F&&b==L)continue;if(A<220&&x>20)return!1}return!0};xe.encode=function(e,r,t,n,i,a,o){n==null&&(n=0),o==null&&(o=!1);var l=xe.encode.compress(e,r,t,n,[!1,!1,!1,0,o]);return xe.encode.compressPNG(l,-1),xe.encode._main(l,r,t,i,a)};xe.encodeLL=function(e,r,t,n,i,a,o,l){for(var c={ctype:0+(n==1?0:2)+(i==0?0:4),depth:a,frames:[]},s=Date.now(),u=(n+i)*a,d=u*r,p=0;p1,d=!1,p=33+(u?20:0);if(i.sRGB!=null&&(p+=13),i.pHYs!=null&&(p+=21),e.ctype==3){for(var f=e.plte.length,h=0;h>>24!=255&&(d=!0);p+=8+f*3+4+(d?8+f*1+4:0)}for(var A=0;A>>8&255,E=P>>>16&255;v[s+x+0]=F,v[s+x+1]=L,v[s+x+2]=E}if(s+=f*3,o(v,s,a(v,s-f*3-4,f*3+4)),s+=4,d){o(v,s,f),s+=4,c(v,s,"tRNS"),s+=4;for(var h=0;h>>24&255;s+=f,o(v,s,a(v,s-f-4,f+4)),s+=4}}for(var R=0,A=0;A>2,k>>2));for(var f=0;fz&&q==g[y-z])ne[y]=ne[y-z];else{var oe=x[q];if(oe==null&&(x[q]=oe=P.length,P.push(q),P.length>=300))break;ne[y]=oe}}}var Z=P.length;Z<=256&&s==!1&&(Z<=2?d=1:Z<=4?d=2:Z<=16?d=4:d=8,d=Math.max(d,c));for(var f=0;f>1)]|=Se[Me+be]<<4-(be&1)*4;else if(d==2)for(var be=0;be>2)]|=Se[Me+be]<<6-(be&3)*2;else if(d==1)for(var be=0;be>3)]|=Se[Me+be]<<7-(be&7)*1}fe=Le,u=3,ye=1}else if(v==!1&&b.length==1){for(var Le=new Uint8Array(z*W*3),tt=z*W,y=0;yE&&(E=G),TR&&(R=T))}E==-1&&(F=L=E=R=0),i&&((F&1)==1&&F--,(L&1)==1&&L--);var k=(E-F+1)*(R-L+1);ky&&(y=P),Fv&&(v=F))}y==-1&&(h=A=y=v=0),o&&((h&1)==1&&h--,(A&1)==1&&A--),a={x:h,y:A,width:y-h+1,height:v-A+1};var R=n[i];R.rect=a,R.blend=1,R.img=new Uint8Array(a.width*a.height*4),n[i-1].dispose==0?(xe._copyTile(s,r,t,R.img,a.width,a.height,-a.x,-a.y,0),xe.encode._prepareDiff(p,r,t,R.img,a)):xe._copyTile(p,r,t,R.img,a.width,a.height,-a.x,-a.y,0)};xe.encode._prepareDiff=function(e,r,t,n,i){xe._copyTile(e,r,t,n,i.width,i.height,-i.x,-i.y,2)};xe.encode._filterZero=function(e,r,t,n,i,a,o){var l=[],c=[0,1,2,3,4];a!=-1?c=[a]:(r*n>5e5||t==1)&&(c=[0]);var s;o&&(s={level:0});for(var u=o&&UZIP!=null?UZIP:Mg.default,d=0;d>1)+256&255;if(a==4)for(var s=i;s>1)&255;for(var s=i;s>1)&255}if(a==4){for(var s=0;s>>1:t=t>>>1;e[r]=t}return e})(),update:function(e,r,t,n){for(var i=0;i>>8;return e},crc:function(e,r,t){return xe.crc.update(4294967295,e,r,t)^4294967295}};xe.quantize=function(e,r){for(var t=new Uint8Array(e),n=t.slice(0),i=new Uint32Array(n.buffer),a=xe.quantize.getKDtree(n,r),o=a[0],l=a[1],c=xe.quantize.planeDst,s=t,u=i,d=s.length,p=new Uint8Array(t.length>>2),f=0;f>2]=b.ind,u[f>>2]=b.est.rgba}return{abuf:n.buffer,inds:p,plte:l}};xe.quantize.getKDtree=function(e,r,t){t==null&&(t=1e-4);var n=new Uint32Array(e.buffer),i={i0:0,i1:e.length,bst:null,est:null,tdst:0,left:null,right:null};i.bst=xe.quantize.stats(e,i.i0,i.i1),i.est=xe.quantize.estats(i.bst);for(var a=[i];a.lengtho&&(o=a[c].est.L,l=c);if(o=u||s.i1<=u;if(d){s.est.L=0;continue}var p={i0:s.i0,i1:u,bst:null,est:null,tdst:0,left:null,right:null};p.bst=xe.quantize.stats(e,p.i0,p.i1),p.est=xe.quantize.estats(p.bst);var f={i0:u,i1:s.i1,bst:null,est:null,tdst:0,left:null,right:null};f.bst={R:[],m:[],N:s.bst.N-p.bst.N};for(var c=0;c<16;c++)f.bst.R[c]=s.bst.R[c]-p.bst.R[c];for(var c=0;c<4;c++)f.bst.m[c]=s.bst.m[c]-p.bst.m[c];f.est=xe.quantize.estats(f.bst),s.left=p,s.right=f,a[l]=p,a.push(f)}a.sort(function(h,A){return A.bst.N-h.bst.N});for(var c=0;c0&&(o=e.right,l=e.left);var c=xe.quantize.getNearest(o,r,t,n,i);if(c.tdst<=a*a)return c;var s=xe.quantize.getNearest(l,r,t,n,i);return s.tdsta;)n-=4;if(t>=n)break;var c=r[t>>2];r[t>>2]=r[n>>2],r[n>>2]=c,t+=4,n-=4}for(;o(e,t,i)>a;)t-=4;return t+4};xe.quantize.vecDot=function(e,r,t){return e[r]*t[0]+e[r+1]*t[1]+e[r+2]*t[2]+e[r+3]*t[3]};xe.quantize.stats=function(e,r,t){for(var n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],i=[0,0,0,0],a=t-r>>2,o=r;o>>0}};xe.M4={multVec:function(e,r){return[e[0]*r[0]+e[1]*r[1]+e[2]*r[2]+e[3]*r[3],e[4]*r[0]+e[5]*r[1]+e[6]*r[2]+e[7]*r[3],e[8]*r[0]+e[9]*r[1]+e[10]*r[2]+e[11]*r[3],e[12]*r[0]+e[13]*r[1]+e[14]*r[2]+e[15]*r[3]]},dot:function(e,r){return e[0]*r[0]+e[1]*r[1]+e[2]*r[2]+e[3]*r[3]},sml:function(e,r){return[e*r[0],e*r[1],e*r[2],e*r[3]]}};xe.encode.concatRGBA=function(e){for(var r=0,t=0;t1)throw new Error("Animated PNGs are not supported");var i=new Uint8Array(n[0]),a=_g(i),o=a.rgbChannel,l=a.alphaChannel;this.rgbChannel=o;var c=l.some(function(s){return s<255});c&&(this.alphaChannel=l),this.type=Og(t.ctype),this.width=t.width,this.height=t.height,this.bitsPerComponent=8}return e.load=function(r){return new e(r)},e})(),Wg=(function(){function e(r){this.image=r,this.bitsPerComponent=r.bitsPerComponent,this.width=r.width,this.height=r.height,this.colorSpace="DeviceRGB"}return e.for=function(r){return it(this,void 0,void 0,function(){var t;return at(this,function(n){return t=Ug.load(r),[2,new e(t)]})})},e.prototype.embedIntoContext=function(r,t){return it(this,void 0,void 0,function(){var n,i;return at(this,function(a){return n=this.embedAlphaChannel(r),i=r.flateStream(this.image.rgbChannel,{Type:"XObject",Subtype:"Image",BitsPerComponent:this.image.bitsPerComponent,Width:this.image.width,Height:this.image.height,ColorSpace:this.colorSpace,SMask:n}),t?(r.assign(t,i),[2,t]):[2,r.register(i)]})})},e.prototype.embedAlphaChannel=function(r){if(this.image.alphaChannel){var t=r.flateStream(this.image.alphaChannel,{Type:"XObject",Subtype:"Image",Height:this.image.height,Width:this.image.width,BitsPerComponent:this.image.bitsPerComponent,ColorSpace:"DeviceGray",Decode:[0,1]});return r.register(t)}},e})(),cd=Wg,Gg=(function(){function e(r,t,n){this.bytes=r,this.start=t||0,this.pos=this.start,this.end=t&&n?t+n:this.bytes.length}return Object.defineProperty(e.prototype,"length",{get:function(){return this.end-this.start},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isEmpty",{get:function(){return this.length===0},enumerable:!1,configurable:!0}),e.prototype.getByte=function(){return this.pos>=this.end?-1:this.bytes[this.pos++]},e.prototype.getUint16=function(){var r=this.getByte(),t=this.getByte();return r===-1||t===-1?-1:(r<<8)+t},e.prototype.getInt32=function(){var r=this.getByte(),t=this.getByte(),n=this.getByte(),i=this.getByte();return(r<<24)+(t<<16)+(n<<8)+i},e.prototype.getBytes=function(r,t){t===void 0&&(t=!1);var n=this.bytes,i=this.pos,a=this.end;if(r){var l=i+r;l>a&&(l=a),this.pos=l;var o=n.subarray(i,l);return t?new Uint8ClampedArray(o):o}else{var o=n.subarray(i,a);return t?new Uint8ClampedArray(o):o}},e.prototype.peekByte=function(){var r=this.getByte();return this.pos--,r},e.prototype.peekBytes=function(r,t){t===void 0&&(t=!1);var n=this.getBytes(r,t);return this.pos-=n.length,n},e.prototype.skip=function(r){r||(r=1),this.pos+=r},e.prototype.reset=function(){this.pos=this.start},e.prototype.moveStart=function(){this.start=this.pos},e.prototype.makeSubStream=function(r,t){return new e(this.bytes,r,t)},e.prototype.decode=function(){return this.bytes},e})(),ud=Gg,jg=new Uint8Array(0),qg=(function(){function e(r){if(this.pos=0,this.bufferLength=0,this.eof=!1,this.buffer=jg,this.minBufferLength=512,r)for(;this.minBufferLengtha&&(n=a)}else{for(;!this.eof;)this.readBlock();n=this.bufferLength}this.pos=n;var o=this.buffer.subarray(i,n);return t&&!(o instanceof Uint8ClampedArray)?new Uint8ClampedArray(o):o},e.prototype.peekByte=function(){var r=this.getByte();return this.pos--,r},e.prototype.peekBytes=function(r,t){t===void 0&&(t=!1);var n=this.getBytes(r,t);return this.pos-=n.length,n},e.prototype.skip=function(r){r||(r=1),this.pos+=r},e.prototype.reset=function(){this.pos=0},e.prototype.makeSubStream=function(r,t){for(var n=r+t;this.bufferLength<=n&&!this.eof;)this.readBlock();return new ud(this.buffer,r,t)},e.prototype.decode=function(){for(;!this.eof;)this.readBlock();return this.buffer.subarray(0,this.bufferLength)},e.prototype.readBlock=function(){throw new br(this.constructor.name,"readBlock")},e.prototype.ensureBuffer=function(r){var t=this.buffer;if(r<=t.byteLength)return t;for(var n=this.minBufferLength;n=0;--s)c[l+s]=d&255,d>>=8}},r})(la),Xg=Vg,Hg=(function(e){De(r,e);function r(t,n){var i=e.call(this,n)||this;return i.stream=t,i.firstDigit=-1,n&&(n=.5*n),i}return r.prototype.readBlock=function(){var t=8e3,n=this.stream.getBytes(t);if(!n.length){this.eof=!0;return}for(var i=n.length+1>>1,a=this.ensureBuffer(this.bufferLength+i),o=this.bufferLength,l=this.firstDigit,c=0,s=n.length;c=48&&u<=57)d=u&15;else if(u>=65&&u<=70||u>=97&&u<=102)d=(u&15)+9;else if(u===62){this.eof=!0;break}else continue;l<0?l=d:(a[o++]=l<<4|d,l=-1)}l>=0&&this.eof&&(a[o++]=l<<4,l=-1),this.firstDigit=l,this.bufferLength=o},r})(la),Kg=Hg,fu=new Int32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Qg=new Int32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),Zg=new Int32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),Yg=[new Int32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],Jg=[new Int32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5],$g=(function(e){De(r,e);function r(t,n){var i=e.call(this,n)||this;i.stream=t;var a=t.getByte(),o=t.getByte();if(a===-1||o===-1)throw new Error("Invalid header in flate stream: "+a+", "+o);if((a&15)!==8)throw new Error("Unknown compression method in flate stream: "+a+", "+o);if(((a<<8)+o)%31!==0)throw new Error("Bad FCHECK in flate stream: "+a+", "+o);if(o&32)throw new Error("FDICT bit set in flate stream: "+a+", "+o);return i.codeSize=0,i.codeBuf=0,i}return r.prototype.readBlock=function(){var t,n,i=this.stream,a=this.getBits(3);if(a&1&&(this.eof=!0),a>>=1,a===0){var o=void 0;if((o=i.getByte())===-1)throw new Error("Bad block header in flate stream");var l=o;if((o=i.getByte())===-1)throw new Error("Bad block header in flate stream");if(l|=o<<8,(o=i.getByte())===-1)throw new Error("Bad block header in flate stream");var c=o;if((o=i.getByte())===-1)throw new Error("Bad block header in flate stream");if(c|=o<<8,c!==(~l&65535)&&(l!==0||c!==0))throw new Error("Bad uncompressed block length in flate stream");this.codeBuf=0,this.codeSize=0;var s=this.bufferLength;t=this.ensureBuffer(s+l);var u=s+l;if(this.bufferLength=u,l===0)i.peekByte()===-1&&(this.eof=!0);else for(var d=s;d0;)F[b++]=R}p=this.generateHuffmanTable(F.subarray(0,h)),f=this.generateHuffmanTable(F.subarray(h,P))}else throw new Error("Unknown block type in flate stream");t=this.buffer;for(var H=t?t.length:0,k=this.bufferLength;;){var O=this.getCode(p);if(O<256){k+1>=H&&(t=this.ensureBuffer(k+1),H=t.length),t[k++]=O;continue}if(O===256){this.bufferLength=k;return}O-=257,O=Qg[O];var g=O>>16;g>0&&(g=this.getBits(g)),n=(O&65535)+g,O=this.getCode(f),O=Zg[O],g=O>>16,g>0&&(g=this.getBits(g));var z=(O&65535)+g;k+n>=H&&(t=this.ensureBuffer(k+n),H=t.length);for(var ne=0;ne>t,this.codeSize=i-=t,o},r.prototype.getCode=function(t){for(var n=this.stream,i=t[0],a=t[1],o=this.codeSize,l=this.codeBuf,c;o>16,d=s&65535;if(u<1||o>u,this.codeSize=o-u,d},r.prototype.generateHuffmanTable=function(t){var n=t.length,i=0,a;for(a=0;ai&&(i=t[a]);for(var o=1<>=1;for(a=p;a0;if(!F||F<256)y[0]=F,v=1;else if(F>=258)if(F=0;o--)y[o]=d[l],l=f[l];else y[v++]=y[0];else if(F===256){h=9,u=258,v=0;continue}else{this.eof=!0,delete this.lzwState;break}if(L&&(f[u]=A,p[u]=p[A]+1,d[u]=y[0],u++,h=u+s&u+s-1?h:Math.min(Math.log(u+s)/.6931471805599453+1,12)|0),A=F,b+=v,n>>n&(1<0){var o=this.stream.getBytes(a);n.set(o,i),i+=a}}else{a=257-a;var l=t[1];n=this.ensureBuffer(i+a+1);for(var c=0;cn.size())throw new lo(t,0,n.size());n.remove(t)}else{if(t!==0)throw new lo(t,0,0);this.setKids([])}},r.prototype.normalizedEntries=function(){var t=this.Kids();return t||(t=this.dict.context.obj([this.ref]),this.dict.set(V.of("Kids"),t)),{Kids:t}},r.fromDict=function(t,n){return new r(t,n)},r})(hd),pi=gm,mm=(function(e){De(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.prototype.Opt=function(){return this.dict.lookupMaybe(V.of("Opt"),wt,qe,vt)},r.prototype.setOpt=function(t){this.dict.set(V.of("Opt"),this.dict.context.obj(t))},r.prototype.getExportValues=function(){var t=this.Opt();if(t){if(t instanceof wt||t instanceof qe)return[t];for(var n=[],i=0,a=t.size();in.size())throw new lo(t,0,n.size());n.remove(t)}},r.prototype.normalizeExportValues=function(){for(var t,n,i,a,o=(t=this.getExportValues())!==null&&t!==void 0?t:[],l=[],c=this.getWidgets(),s=0,u=c.length;s1){if(!this.hasFlag(bt.MultiSelect))throw new BA;this.dict.set(V.of("V"),this.dict.context.obj(t))}this.updateSelectedIndices(t)},r.prototype.valuesAreValid=function(t){for(var n=this.getOptions(),i=function(c,s){var u=t[c].decodeText();if(!n.find(function(d){return u===(d.display||d.value).decodeText()}))return{value:!1}},a=0,o=t.length;a1){for(var n=new Array(t.length),i=this.getOptions(),a=function(c,s){var u=t[c].decodeText();n[c]=i.findIndex(function(d){return u===(d.display||d.value).decodeText()})},o=0,l=t.length;o0){var l=o.lookup(0,wt,qe),c=o.lookupMaybe(1,wt,qe);n.push({value:l,display:c||l})}}return n}return[]},r})(pi),pd=ym,bm=(function(e){De(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.fromDict=function(t,n){return new r(t,n)},r.create=function(t){var n=t.obj({FT:"Ch",Ff:bt.Combo,Kids:[]}),i=t.register(n);return new r(n,i)},r})(pd),Do=bm,wm=(function(e){De(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.prototype.addField=function(t){var n=this.normalizedEntries().Kids;n?.push(t)},r.prototype.normalizedEntries=function(){var t=this.Kids();return t||(t=this.dict.context.obj([]),this.dict.set(V.of("Kids"),t)),{Kids:t}},r.fromDict=function(t,n){return new r(t,n)},r.create=function(t){var n=t.obj({}),i=t.register(n);return new r(n,i)},r})(hd),fo=wm,xm=(function(e){De(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.fromDict=function(t,n){return new r(t,n)},r})(pi),pl=xm,Sm=(function(e){De(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.prototype.MaxLen=function(){var t=this.dict.lookup(V.of("MaxLen"));if(t instanceof Qe)return t},r.prototype.Q=function(){var t=this.dict.lookup(V.of("Q"));if(t instanceof Qe)return t},r.prototype.setMaxLength=function(t){this.dict.set(V.of("MaxLen"),Qe.of(t))},r.prototype.removeMaxLength=function(){this.dict.delete(V.of("MaxLen"))},r.prototype.getMaxLength=function(){var t;return(t=this.MaxLen())===null||t===void 0?void 0:t.asNumber()},r.prototype.setQuadding=function(t){this.dict.set(V.of("Q"),Qe.of(t))},r.prototype.getQuadding=function(){var t;return(t=this.Q())===null||t===void 0?void 0:t.asNumber()},r.prototype.setValue=function(t){this.dict.set(V.of("V"),t)},r.prototype.removeValue=function(){this.dict.delete(V.of("V"))},r.prototype.getValue=function(){var t=this.V();if(t instanceof wt||t instanceof qe)return t},r.fromDict=function(t,n){return new r(t,n)},r.create=function(t){var n=t.obj({FT:"Tx",Kids:[]}),i=t.register(n);return new r(n,i)},r})(pi),Eo=Sm,km=(function(e){De(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.fromDict=function(t,n){return new r(t,n)},r.create=function(t){var n=t.obj({FT:"Btn",Ff:mr.PushButton,Kids:[]}),i=t.register(n);return new r(n,i)},r})(hl),Bo=km,Cm=(function(e){De(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return r.prototype.setValue=function(t){var n=this.getOnValues();if(!n.includes(t)&&t!==V.of("Off"))throw new ll;this.dict.set(V.of("V"),t);for(var i=this.getWidgets(),a=0,o=i.length;aa)throw new eu(n,a);for(var o=n,l=0,c=i.size();lo)return u.insertLeafNode(t,o)||s;o-=u.Count().asNumber()}u instanceof Kr&&(o-=1)}if(o===0){this.insertLeafKid(i.size(),t);return}throw new tu(n,"insertLeafNode")},r.prototype.removeLeafNode=function(t,n){n===void 0&&(n=!0);var i=this.Kids(),a=this.Count().asNumber();if(t>=a)throw new eu(t,a);for(var o=t,l=0,c=i.size();lo){u.removeLeafNode(o,n),n&&u.Kids().size()===0&&i.remove(l);return}else o-=u.Count().asNumber();if(u instanceof Kr)if(o===0){this.removeKid(l);return}else o-=1}throw new tu(t,"removeLeafNode")},r.prototype.ascend=function(t){t(this);var n=this.Parent();n&&n.ascend(t)},r.prototype.traverse=function(t){for(var n=this.Kids(),i=0,a=n.size();iNumber.MAX_SAFE_INTEGER)if(this.capNumbers){var i="Parsed number that is too large for some PDF readers: "+r+", using Number.MAX_SAFE_INTEGER instead.";return console.warn(i),Number.MAX_SAFE_INTEGER}else{var i="Parsed number that is too large for some PDF readers: "+r+", not capping.";console.warn(i)}return n},e.prototype.skipWhitespace=function(){for(;!this.bytes.done()&&Yr[this.bytes.peek()];)this.bytes.next()},e.prototype.skipLine=function(){for(;!this.bytes.done();){var r=this.bytes.peek();if(r===Au||r===gu)return;this.bytes.next()}},e.prototype.skipComment=function(){if(this.bytes.peek()!==Q.Percent)return!1;for(;!this.bytes.done();){var r=this.bytes.peek();if(r===Au||r===gu)return!0;this.bytes.next()}return!0},e.prototype.skipWhitespaceAndComments=function(){for(this.skipWhitespace();this.skipComment();)this.skipWhitespace()},e.prototype.matchKeyword=function(r){for(var t=this.bytes.offset(),n=0,i=r.length;n=this.length},e.prototype.offset=function(){return this.idx},e.prototype.slice=function(r,t){return this.bytes.slice(r,t)},e.prototype.position=function(){return{line:this.line,column:this.column,offset:this.idx}},e.of=function(r){return new e(r)},e.fromPDFRawStream=function(r){return e.of(dd(r).decode())},e})(),Io=zm,Mm=Q.Space,Ni=Q.CarriageReturn,Ii=Q.Newline,zi=[Q.s,Q.t,Q.r,Q.e,Q.a,Q.m],qa=[Q.e,Q.n,Q.d,Q.s,Q.t,Q.r,Q.e,Q.a,Q.m],Ct={header:[Q.Percent,Q.P,Q.D,Q.F,Q.Dash],eof:[Q.Percent,Q.Percent,Q.E,Q.O,Q.F],obj:[Q.o,Q.b,Q.j],endobj:[Q.e,Q.n,Q.d,Q.o,Q.b,Q.j],xref:[Q.x,Q.r,Q.e,Q.f],trailer:[Q.t,Q.r,Q.a,Q.i,Q.l,Q.e,Q.r],startxref:[Q.s,Q.t,Q.a,Q.r,Q.t,Q.x,Q.r,Q.e,Q.f],true:[Q.t,Q.r,Q.u,Q.e],false:[Q.f,Q.a,Q.l,Q.s,Q.e],null:[Q.n,Q.u,Q.l,Q.l],stream:zi,streamEOF1:ht(zi,[Mm,Ni,Ii]),streamEOF2:ht(zi,[Ni,Ii]),streamEOF3:ht(zi,[Ni]),streamEOF4:ht(zi,[Ii]),endstream:qa,EOF1endstream:ht([Ni,Ii],qa),EOF2endstream:ht([Ni],qa),EOF3endstream:ht([Ii],qa)},Om=(function(e){De(r,e);function r(t,n,i){i===void 0&&(i=!1);var a=e.call(this,t,i)||this;return a.context=n,a}return r.prototype.parseObject=function(){if(this.skipWhitespaceAndComments(),this.matchKeyword(Ct.true))return $i.True;if(this.matchKeyword(Ct.false))return $i.False;if(this.matchKeyword(Ct.null))return rr;var t=this.bytes.peek();if(t===Q.LessThan&&this.bytes.peekAhead(1)===Q.LessThan)return this.parseDictOrStream();if(t===Q.LessThan)return this.parseHexString();if(t===Q.LeftParen)return this.parseString();if(t===Q.ForwardSlash)return this.parseName();if(t===Q.LeftSquareBracket)return this.parseArray();if(ml[t])return this.parseNumberOrRef();throw new IA(this.bytes.position(),t)},r.prototype.parseNumberOrRef=function(){var t=this.parseRawNumber();this.skipWhitespaceAndComments();var n=this.bytes.offset();if(Kt[this.bytes.peek()]){var i=this.parseRawNumber();if(this.skipWhitespaceAndComments(),this.bytes.peek()===Q.R)return this.bytes.assertNext(Q.R),xt.of(t,i)}return this.bytes.moveTo(n),Qe.of(t)},r.prototype.parseHexString=function(){var t="";for(this.bytes.assertNext(Q.LessThan);!this.bytes.done()&&this.bytes.peek()!==Q.GreaterThan;)t+=Xr(this.bytes.next());return this.bytes.assertNext(Q.GreaterThan),qe.of(t)},r.prototype.parseString=function(){for(var t=0,n=!1,i="";!this.bytes.done();){var a=this.bytes.next();if(i+=Xr(a),n||(a===Q.LeftParen&&(t+=1),a===Q.RightParen&&(t-=1)),a===Q.BackSlash?n=!n:n&&(n=!1),t===0)return wt.of(i.substring(1,i.length-1))}throw new OA(this.bytes.position())},r.prototype.parseName=function(){this.bytes.assertNext(Q.ForwardSlash);for(var t="";!this.bytes.done();){var n=this.bytes.peek();if(Yr[n]||kr[n])break;t+=Xr(n),this.bytes.next()}return V.of(t)},r.prototype.parseArray=function(){this.bytes.assertNext(Q.LeftSquareBracket),this.skipWhitespaceAndComments();for(var t=vt.withContext(this.context);this.bytes.peek()!==Q.RightSquareBracket;){var n=this.parseObject();t.push(n),this.skipWhitespaceAndComments()}return this.bytes.assertNext(Q.RightSquareBracket),t},r.prototype.parseDict=function(){this.bytes.assertNext(Q.LessThan),this.bytes.assertNext(Q.LessThan),this.skipWhitespaceAndComments();for(var t=new Map;!this.bytes.done()&&this.bytes.peek()!==Q.GreaterThan&&this.bytes.peekAhead(1)!==Q.GreaterThan;){var n=this.parseName(),i=this.parseObject();t.set(n,i),this.skipWhitespaceAndComments()}this.skipWhitespaceAndComments(),this.bytes.assertNext(Q.GreaterThan),this.bytes.assertNext(Q.GreaterThan);var a=t.get(V.of("Type"));return a===V.of("Catalog")?md.fromMapWithContext(t,this.context):a===V.of("Pages")?vd.fromMapWithContext(t,this.context):a===V.of("Page")?Kr.fromMapWithContext(t,this.context):rt.fromMapWithContext(t,this.context)},r.prototype.parseDictOrStream=function(){var t=this.bytes.position(),n=this.parseDict();if(this.skipWhitespaceAndComments(),!this.matchKeyword(Ct.streamEOF1)&&!this.matchKeyword(Ct.streamEOF2)&&!this.matchKeyword(Ct.streamEOF3)&&!this.matchKeyword(Ct.streamEOF4)&&!this.matchKeyword(Ct.stream))return n;var i=this.bytes.offset(),a,o=n.get(V.of("Length"));o instanceof Qe?(a=i+o.asNumber(),this.bytes.moveTo(a),this.skipWhitespaceAndComments(),this.matchKeyword(Ct.endstream)||(this.bytes.moveTo(i),a=this.findEndOfStreamFallback(t))):a=this.findEndOfStreamFallback(t);var l=this.bytes.slice(i,a);return ea.of(n,l)},r.prototype.findEndOfStreamFallback=function(t){for(var n=1,i=this.bytes.offset();!this.bytes.done()&&(i=this.bytes.offset(),this.matchKeyword(Ct.stream)?n+=1:this.matchKeyword(Ct.EOF1endstream)||this.matchKeyword(Ct.EOF2endstream)||this.matchKeyword(Ct.EOF3endstream)||this.matchKeyword(Ct.endstream)?n-=1:this.bytes.next(),n!==0););if(n!==0)throw new MA(t);return i},r.forBytes=function(t,n,i){return new r(Io.of(t),n,i)},r.forByteStream=function(t,n,i){return i===void 0&&(i=!1),new r(t,n,i)},r})(Im),yd=Om,_m=(function(e){De(r,e);function r(t,n){var i=e.call(this,Io.fromPDFRawStream(t),t.dict.context)||this,a=t.dict;return i.alreadyParsed=!1,i.shouldWaitForTick=n||(function(){return!1}),i.firstOffset=a.lookup(V.of("First"),Qe).asNumber(),i.objectCount=a.lookup(V.of("N"),Qe).asNumber(),i}return r.prototype.parseIntoContext=function(){return it(this,void 0,void 0,function(){var t,n,i,a,o,l,c,s;return at(this,function(u){switch(u.label){case 0:if(this.alreadyParsed)throw new sl("PDFObjectStreamParser","parseIntoContext");this.alreadyParsed=!0,t=this.parseOffsetsAndObjectNumbers(),n=0,i=t.length,u.label=1;case 1:return n=Q.Space&&n<=Q.Tilde;if(i&&(this.matchKeyword(Ct.xref)||this.matchKeyword(Ct.trailer)||this.matchKeyword(Ct.startxref)||this.matchIndirectObjectHeader())){this.bytes.moveTo(t);break}this.bytes.next()}},r.prototype.skipBinaryHeaderComment=function(){this.skipWhitespaceAndComments();try{var t=this.bytes.offset();this.parseIndirectObjectHeader(),this.bytes.moveTo(t)}catch{this.bytes.next(),this.skipWhitespaceAndComments()}},r.forBytesWithOptions=function(t,n,i,a){return new r(t,n,i,a)},r})(yd),qm=jm,Ir=function(e){return 1<0&&(n[n.length]=+i),t[t.length]={cmd:r,args:n},n=[],i="",a=!1),r=s;else if([" ",","].includes(s)||s==="-"&&i.length>0&&i[i.length-1]!=="e"||s==="."&&a){if(i.length===0)continue;n.length===o?(t[t.length]={cmd:r,args:n},n=[+i],r==="M"&&(r="L"),r==="m"&&(r="l")):n[n.length]=+i,a=s===".",i=["-","."].includes(s)?s:""}else i+=s,s==="."&&(a=!0)}return i.length>0&&(n.length===o?(t[t.length]={cmd:r,args:n},n=[+i],r==="M"&&(r="L"),r==="m"&&(r="l")):n[n.length]=+i),t[t.length]={cmd:r,args:n},t},nv=function(e){Ue=We=ct=ut=Ui=Wi=0;for(var r=[],t=0;t1&&(p=Math.sqrt(p),t*=p,n*=p);var f=d/t,h=u/t,A=-u/n,y=d/n,v=f*l+h*c,b=A*l+y*c,x=f*e+h*r,P=A*e+y*r,F=(x-v)*(x-v)+(P-b)*(P-b),L=1/F-.25;L<0&&(L=0);var E=Math.sqrt(L);a===i&&(E=-E);var R=.5*(v+x)-E*(P-b),T=.5*(b+P)+E*(x-v),G=Math.atan2(b-T,v-R),H=Math.atan2(P-T,x-R),k=H-G;k<0&&a===1?k+=2*Math.PI:k>0&&a===0&&(k-=2*Math.PI);for(var O=Math.ceil(Math.abs(k/(Math.PI*.5+.001))),g=[],z=0;ze.length)return i-1;var y=r.heightAtSize(i),v=y+y*.2,b=v*a;if(b>Math.abs(t.height))return i-1;i+=1}return i},Cv=function(e,r,t,n){for(var i=t.width/n,a=t.height,o=Md,l=Bp(e);oi*.75;if(d)return o-1}var p=r.heightAtSize(o,{descender:!1});if(p>a)return o-1;o+=1}return o},Pv=function(e){for(var r=e.length;r>0;r--)if(/\s/.test(e[r]))return r},Fv=function(e,r,t,n){for(var i,a=e.length;a>0;){var o=e.substring(0,a),l=t.encodeText(o),c=t.widthOfTextAtSize(o,n);if(cp&&(p=E+F),h+l>f&&(f=h+l),s.push({text:x,encoded:P,width:F,height:l,x:E,y:h}),v=L?.trim()}return{fontSize:n,lineHeight:c,lines:s,bounds:{x:u,y:d,width:p-u,height:f-d}}},Tv=function(e,r){var t=r.fontSize,n=r.font,i=r.bounds,a=r.cellCount,o=ju(oa(e));if(o.length>a)throw new xv(o.length,a);(t===void 0||t===0)&&(t=Cv(o,n,i,a));for(var l=i.width/a,c=n.heightAtSize(t,{descender:!1}),s=i.y+(i.height/2-c/2),u=[],d=i.x,p=i.y,f=i.x+i.width,h=i.y+i.height,A=0,y=0;Af&&(f=E+F),s+c>h&&(h=s+c),u.push({text:o,encoded:P,width:F,height:c,x:E,y:s}),A+=1,y+=x}return{fontSize:t,cells:u,bounds:{x:d,y:p,width:f-d,height:h-p}}},vo=function(e,r){var t=r.alignment,n=r.fontSize,i=r.font,a=r.bounds,o=ju(oa(e));(n===void 0||n===0)&&(n=_d([o],i,a));var l=i.encodeText(o),c=i.widthOfTextAtSize(o,n),s=i.heightAtSize(n,{descender:!1}),u=t===zt.Left?a.x:t===zt.Center?a.x+a.width/2-c/2:t===zt.Right?a.x+a.width-c:a.x,d=a.y+(a.height/2-s/2);return{fontSize:n,line:{text:o,encoded:l,width:c,height:s,x:u,y:d},bounds:{x:u,y:d,width:c,height:s}}},gi=function(e){return"normal"in e?e:{normal:e}},Dv=/\/([^\0\t\n\f\r\ ]+)[\0\t\n\f\r\ ]+(\d*\.\d+|\d+)[\0\t\n\f\r\ ]+Tf/,wn=function(e){var r,t,n=(r=e.getDefaultAppearance())!==null&&r!==void 0?r:"",i=(t=al(n,Dv).match)!==null&&t!==void 0?t:[],a=Number(i[2]);return isFinite(a)?a:void 0},Ev=/(\d*\.\d+|\d+)[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]+(g|rg|k)/,xr=function(e){var r,t=(r=e.getDefaultAppearance())!==null&&r!==void 0?r:"",n=al(t,Ev).match,i=n??[],a=i[1],o=i[2],l=i[3],c=i[4],s=i[5];if(s==="g"&&a)return Rd(Number(a));if(s==="rg"&&a&&o&&l)return St(Number(a),Number(o),Number(l));if(s==="k"&&a&&o&&l&&c)return Ld(Number(a),Number(o),Number(l),Number(c))},Sr=function(e,r,t,n){var i;n===void 0&&(n=0);var a=[jn(r).toString(),wl((i=t?.name)!==null&&i!==void 0?i:"dummy__noop",n).toString()].join(` -`);e.setDefaultAppearance(a)},Bv=function(e,r){var t,n,i,a=xr(r),o=xr(e.acroField),l=r.getRectangle(),c=r.getAppearanceCharacteristics(),s=r.getBorderStyle(),u=(t=s?.getWidth())!==null&&t!==void 0?t:0,d=Jr(c?.getRotation()),p=Wn(l,d),f=p.width,h=p.height,A=Cn($e($e({},l),{rotation:d})),y=St(0,0,0),v=(n=er(c?.getBorderColor()))!==null&&n!==void 0?n:y,b=er(c?.getBackgroundColor()),x=er(c?.getBackgroundColor(),.8),P=(i=a??o)!==null&&i!==void 0?i:y;Sr(a?r:e.acroField,P);var F={x:0+u/2,y:0+u/2,width:f-u,height:h-u,thickness:1.5,borderWidth:u,borderColor:v,markColor:P};return{normal:{on:ht(A,Ha($e($e({},F),{color:b,filled:!0}))),off:ht(A,Ha($e($e({},F),{color:b,filled:!1})))},down:{on:ht(A,Ha($e($e({},F),{color:x,filled:!0}))),off:ht(A,Ha($e($e({},F),{color:x,filled:!1})))}}},Rv=function(e,r){var t,n,i,a=xr(r),o=xr(e.acroField),l=r.getRectangle(),c=r.getAppearanceCharacteristics(),s=r.getBorderStyle(),u=(t=s?.getWidth())!==null&&t!==void 0?t:0,d=Jr(c?.getRotation()),p=Wn(l,d),f=p.width,h=p.height,A=Cn($e($e({},l),{rotation:d})),y=St(0,0,0),v=(n=er(c?.getBorderColor()))!==null&&n!==void 0?n:y,b=er(c?.getBackgroundColor()),x=er(c?.getBackgroundColor(),.8),P=(i=a??o)!==null&&i!==void 0?i:y;Sr(a?r:e.acroField,P);var F={x:f/2,y:h/2,width:f-u,height:h-u,borderWidth:u,borderColor:v,dotColor:P};return{normal:{on:ht(A,Ka($e($e({},F),{color:b,filled:!0}))),off:ht(A,Ka($e($e({},F),{color:b,filled:!1})))},down:{on:ht(A,Ka($e($e({},F),{color:x,filled:!0}))),off:ht(A,Ka($e($e({},F),{color:x,filled:!1})))}}},Lv=function(e,r,t){var n,i,a,o,l,c=xr(r),s=xr(e.acroField),u=wn(r),d=wn(e.acroField),p=r.getRectangle(),f=r.getAppearanceCharacteristics(),h=r.getBorderStyle(),A=f?.getCaptions(),y=(n=A?.normal)!==null&&n!==void 0?n:"",v=(a=(i=A?.down)!==null&&i!==void 0?i:y)!==null&&a!==void 0?a:"",b=(o=h?.getWidth())!==null&&o!==void 0?o:0,x=Jr(f?.getRotation()),P=Wn(p,x),F=P.width,L=P.height,E=Cn($e($e({},p),{rotation:x})),R=St(0,0,0),T=er(f?.getBorderColor()),G=er(f?.getBackgroundColor()),H=er(f?.getBackgroundColor(),.8),k={x:b,y:b,width:F-b*2,height:L-b*2},O=vo(y,{alignment:zt.Center,fontSize:u??d,font:t,bounds:k}),g=vo(v,{alignment:zt.Center,fontSize:u??d,font:t,bounds:k}),z=Math.min(O.fontSize,g.fontSize),ne=(l=c??s)!==null&&l!==void 0?l:R;Sr(c||u!==void 0?r:e.acroField,ne,t,z);var q={x:0+b/2,y:0+b/2,width:F-b,height:L-b,borderWidth:b,borderColor:T,textColor:ne,font:t.name,fontSize:z};return{normal:ht(E,Su($e($e({},q),{color:G,textLines:[O.line]}))),down:ht(E,Su($e($e({},q),{color:H,textLines:[g.line]})))}},Nv=function(e,r,t){var n,i,a,o,l=xr(r),c=xr(e.acroField),s=wn(r),u=wn(e.acroField),d=r.getRectangle(),p=r.getAppearanceCharacteristics(),f=r.getBorderStyle(),h=(n=e.getText())!==null&&n!==void 0?n:"",A=(i=f?.getWidth())!==null&&i!==void 0?i:0,y=Jr(p?.getRotation()),v=Wn(d,y),b=v.width,x=v.height,P=Cn($e($e({},d),{rotation:y})),F=St(0,0,0),L=er(p?.getBorderColor()),E=er(p?.getBackgroundColor()),R,T,G=e.isCombed()?0:1,H={x:A+G,y:A+G,width:b-(A+G)*2,height:x-(A+G)*2};if(e.isMultiline()){var k=Ud(h,{alignment:e.getAlignment(),fontSize:s??u,font:t,bounds:H});R=k.lines,T=k.fontSize}else if(e.isCombed()){var k=Tv(h,{fontSize:s??u,font:t,bounds:H,cellCount:(a=e.getMaxLength())!==null&&a!==void 0?a:0});R=k.cells,T=k.fontSize}else{var k=vo(h,{alignment:e.getAlignment(),fontSize:s??u,font:t,bounds:H});R=[k.line],T=k.fontSize}var O=(o=l??c)!==null&&o!==void 0?o:F;Sr(l||s!==void 0?r:e.acroField,O,t,T);var g={x:0+A/2,y:0+A/2,width:b-A,height:x-A,borderWidth:A??0,borderColor:L,textColor:O,font:t.name,fontSize:T,color:E,textLines:R,padding:G};return ht(P,Id(g))},Iv=function(e,r,t){var n,i,a,o=xr(r),l=xr(e.acroField),c=wn(r),s=wn(e.acroField),u=r.getRectangle(),d=r.getAppearanceCharacteristics(),p=r.getBorderStyle(),f=(n=e.getSelected()[0])!==null&&n!==void 0?n:"",h=(i=p?.getWidth())!==null&&i!==void 0?i:0,A=Jr(d?.getRotation()),y=Wn(u,A),v=y.width,b=y.height,x=Cn($e($e({},u),{rotation:A})),P=St(0,0,0),F=er(d?.getBorderColor()),L=er(d?.getBackgroundColor()),E=1,R={x:h+E,y:h+E,width:v-(h+E)*2,height:b-(h+E)*2},T=vo(f,{alignment:zt.Left,fontSize:c??s,font:t,bounds:R}),G=T.line,H=T.fontSize,k=(a=o??l)!==null&&a!==void 0?a:P;Sr(o||c!==void 0?r:e.acroField,k,t,H);var O={x:0+h/2,y:0+h/2,width:v-h,height:b-h,borderWidth:h??0,borderColor:F,textColor:k,font:t.name,fontSize:H,color:L,textLines:[G],padding:E};return ht(x,Id(O))},zv=function(e,r,t){var n,i,a=xr(r),o=xr(e.acroField),l=wn(r),c=wn(e.acroField),s=r.getRectangle(),u=r.getAppearanceCharacteristics(),d=r.getBorderStyle(),p=(n=d?.getWidth())!==null&&n!==void 0?n:0,f=Jr(u?.getRotation()),h=Wn(s,f),A=h.width,y=h.height,v=Cn($e($e({},s),{rotation:f})),b=St(0,0,0),x=er(u?.getBorderColor()),P=er(u?.getBackgroundColor()),F=e.getOptions(),L=e.getSelected();e.isSorted()&&F.sort();for(var E="",R=0,T=F.length;R1||i.length===1&&n)&&this.enableMultiselect();for(var l=new Array(i.length),c=0,s=i.length;c1||i.length===1&&n)&&this.enableMultiselect();for(var o=new Array(i.length),l=0,c=i.length;ln)throw new Sv(t.length,n,this.getName());this.markAsDirty(),this.disableRichFormatting(),t?this.acroField.setValue(qe.fromText(t)):this.acroField.removeValue()},r.prototype.getAlignment=function(){var t=this.acroField.getQuadding();return t===0?zt.Left:t===1?zt.Center:t===2?zt.Right:zt.Left},r.prototype.setAlignment=function(t){gn(t,"alignment",zt),this.markAsDirty(),this.acroField.setQuadding(t)},r.prototype.getMaxLength=function(){return this.acroField.getMaxLength()},r.prototype.setMaxLength=function(t){if(Tr(t,"maxLength",0,Number.MAX_SAFE_INTEGER),this.markAsDirty(),t===void 0)this.acroField.removeMaxLength();else{var n=this.getText();if(n&&n.length>t)throw new kv(n.length,t,this.getName());this.acroField.setMaxLength(t)}},r.prototype.removeMaxLength=function(){this.markAsDirty(),this.acroField.removeMaxLength()},r.prototype.setImage=function(t){for(var n=this.getAlignment(),i=n===zt.Center?vn.Center:n===zt.Right?vn.Right:vn.Left,a=this.acroField.getWidgets(),o=0,l=a.length;o=100?e:typeof e=="string"&&e.includes("%")?Math.round(r&&r==="X"?parseFloat(e)/100*t.width:r&&r==="Y"?parseFloat(e)/100*t.height:parseFloat(e)/100*t.width):0}function io(e){return e.replace(/[xy]/g,function(r){let t=Math.random()*16|0;return(r==="x"?t:t&3|8).toString(16)})}function Ve(e){return typeof e>"u"||e==null?"":e.toString().replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function lt(e){return typeof e=="number"&&e>100?e:(typeof e=="string"&&(e=Number(e.replace(/in*/gi,""))),Math.round(Ke*e))}function Ge(e){let r=Number(e)||0;return isNaN(r)?0:Math.round(r*fa)}function Un(e){return e=e||0,Math.round((e>360?e-360:e)*6e4)}function Es(e){let r=e.toString(16);return r.length===1?"0"+r:r}function Bs(e,r,t){return(Es(e)+Es(r)+Es(t)).toUpperCase()}function ft(e,r){let t=(e||"").replace("#","");!Ds.test(t)&&t!==lr.background1&&t!==lr.background2&&t!==lr.text1&&t!==lr.text2&&t!==lr.accent1&&t!==lr.accent2&&t!==lr.accent3&&t!==lr.accent4&&t!==lr.accent5&&t!==lr.accent6&&(console.warn(`"${t}" is not a valid scheme color or hex RGB! "${nr}" used instead. Only provide 6-digit RGB or 'pptx.SchemeColor' values!`),t=nr);let n=Ds.test(t)?"srgbClr":"schemeClr",i='val="'+(Ds.test(t)?t.toUpperCase():t)+'"';return r?`${r}`:``}function p0(e,r){let t="",n=Object.assign(Object.assign({},r),e),i=Math.round(n.size*fa),a=n.color,o=Math.round(n.opacity*1e5);return t+=``,t+=ft(a,``),t+="",t}function ur(e){let r="solid",t="",n="",i="";return e&&(typeof e=="string"?t=e:(e.type&&(r=e.type),e.color&&(t=e.color),e.alpha&&(n+=``),e.transparency&&(n+=``)),r==="solid"?i+=`${ft(t,n)}`:i+=""),i}function Vr(e){return e._rels.length+e._relsChart.length+e._relsMedia.length+1}function Fl(e){if(!(!e||typeof e!="object"))return e.type!=="outer"&&e.type!=="inner"&&e.type!=="none"&&(console.warn("Warning: shadow.type options are `outer`, `inner` or `none`."),e.type="outer"),e.angle&&((isNaN(Number(e.angle))||e.angle<0||e.angle>359)&&(console.warn("Warning: shadow.angle can only be 0-359"),e.angle=270),e.angle=Math.round(Number(e.angle))),e.opacity&&((isNaN(Number(e.opacity))||e.opacity<0||e.opacity>1)&&(console.warn("Warning: shadow.opacity can only be 0-1"),e.opacity=.75),e.opacity=Number(e.opacity)),e.color&&e.color.startsWith("#")&&(console.warn('Warning: shadow.color should not include hash (#) character, , e.g. "FF0000"'),e.color=e.color.replace("#","")),e}function A0(e,r,t){var n,i;let a=2.3+(!((n=e.options)===null||n===void 0)&&n.autoPageCharWeight?e.options.autoPageCharWeight:0),o=Math.floor(r/fa*Ke)/((!((i=e.options)===null||i===void 0)&&i.fontSize?e.options.fontSize:yr)/a),l=[],c=[],s=[],u=[];e.text&&e.text.toString().trim().length===0?c.push({_type:He.tablecell,text:" "}):typeof e.text=="number"||typeof e.text=="string"?c.push({_type:He.tablecell,text:(e.text||"").toString().trim()}):Array.isArray(e.text)&&(c=e.text);let d=[];return c.forEach(p=>{var f;typeof p.text=="string"&&(p.text.split(` -`).length>1?p.text.split(` -`).forEach(h=>{d.push({_type:He.tablecell,text:h,options:Object.assign(Object.assign({},p.options),{breakLine:!0})})}):d.push({_type:He.tablecell,text:p.text.trim(),options:p.options}),!((f=p.options)===null||f===void 0)&&f.breakLine&&(s.push(d),d=[])),d.length>0&&(s.push(d),d=[])}),s.forEach(p=>{p.forEach(f=>{let h=[],y=String(f.text).split(" ");y.forEach((v,b)=>{let x=Object.assign({},f.options);x?.breakLine&&(x.breakLine=b+1===y.length),h.push({_type:He.tablecell,text:v+(b+1{let f=[],h="";p.forEach(A=>{h.length+A.text.length>o&&(l.push(f),f=[],h=""),f.push(A),h+=A.text.toString()}),f.length>0&&l.push(f)}),l}function Hd(e=[],r={},t,n){let i=ia,a=Ke*1,o=Ke*1,l=0,c=0,s=[],u=nt(r.x,"X",t),d=nt(r.y,"Y",t),p=nt(r.w,"X",t),f=nt(r.h,"Y",t),h=p;function A(){let v=0;s.length===0&&(v=d||lt(i[0])),s.length>0&&(v=lt(r.autoPageSlideStartY||r.newSlideStartY||i[0])),o=(f||t.height)-v-lt(i[2]),s.length>1&&(typeof r.autoPageSlideStartY=="number"?o=(f||t.height)-lt(r.autoPageSlideStartY+i[2]):typeof r.newSlideStartY=="number"?o=(f||t.height)-lt(r.newSlideStartY+i[2]):d&&(o=(f||t.height)-lt((d/Ke{b||(b={_type:He.tablecell});let x=b.options||null;c+=Number(x?.colspan?x.colspan:1)}),r.verbose&&console.log(`| numCols ......................................... = ${c}`),!p&&r.colW&&(h=Array.isArray(r.colW)?r.colW.reduce((v,b)=>v+b)*Ke:r.colW*c||0,r.verbose&&console.log(`| tableCalcW ...................................... = ${h/Ke}`)),a=h||lt((u?u/Ke:i[1])+i[3]),r.verbose&&console.log(`| emuSlideTabW .................................... = ${(a/Ke).toFixed(1)}`),!r.colW||!Array.isArray(r.colW))if(r.colW&&!isNaN(Number(r.colW))){let v=[];(e[0]||[]).forEach(()=>v.push(r.colW)),r.colW=[],v.forEach(x=>{Array.isArray(r.colW)&&r.colW.push(x)})}else{r.colW=[];for(let v=0;v{let x=[],P=0,F=0,L=[];v.forEach(G=>{var H,k,O,g;L.push({_type:He.tablecell,text:[],options:G.options}),G.options.margin&&G.options.margin[0]>=1?(!((H=G.options)===null||H===void 0)&&H.margin&&G.options.margin[0]&&Ge(G.options.margin[0])>P?P=Ge(G.options.margin[0]):r?.margin&&r.margin[0]&&Ge(r.margin[0])>P&&(P=Ge(r.margin[0])),!((k=G.options)===null||k===void 0)&&k.margin&&G.options.margin[2]&&Ge(G.options.margin[2])>F?F=Ge(G.options.margin[2]):r?.margin&&r.margin[2]&&Ge(r.margin[2])>F&&(F=Ge(r.margin[2]))):(!((O=G.options)===null||O===void 0)&&O.margin&&G.options.margin[0]&<(G.options.margin[0])>P?P=lt(G.options.margin[0]):r?.margin&&r.margin[0]&<(r.margin[0])>P&&(P=lt(r.margin[0])),!((g=G.options)===null||g===void 0)&&g.margin&&G.options.margin[2]&<(G.options.margin[2])>F?F=lt(G.options.margin[2]):r?.margin&&r.margin[2]&<(r.margin[2])>F&&(F=lt(r.margin[2])))}),A(),l+=P+F,r.verbose&&b===0&&console.log(`| SLIDE [${s.length}]: emuSlideTabH ...... = ${(o/Ke).toFixed(1)} `),v.forEach((G,H)=>{var k;let O={_type:He.tablecell,_lines:null,_lineHeight:lt((!((k=G.options)===null||k===void 0)&&k.fontSize?G.options.fontSize:r.fontSize?r.fontSize:yr)*(l0+(r.autoPageLineWeight?r.autoPageLineWeight:0))/100),text:[],options:G.options};O.options.rowspan&&(O._lineHeight=0),O.options.autoPageCharWeight=r.autoPageCharWeight?r.autoPageCharWeight:null;let g=r.colW[H];G.options.colspan&&Array.isArray(r.colW)&&(g=r.colW.filter((z,ne)=>ne>=H&&nez+ne)),O._lines=A0(G,g),x.push(O)}),r.verbose&&console.log(` -| SLIDE [${s.length}]: ROW [${b}]: START...`);let E=0,R=0,T=!1;for(;!T;){let G=x[E],H=L[E];x.forEach(g=>{g._lineHeight>=R&&(R=g._lineHeight)}),l+R>o&&(r.verbose&&(console.log(` -|-----------------------------------------------------------------------|`),console.log(`|-- NEW SLIDE CREATED (currTabH+currLineH > maxH) => ${(l/Ke).toFixed(2)} + ${(G._lineHeight/Ke).toFixed(2)} > ${o/Ke}`),console.log(`|-----------------------------------------------------------------------| - -`)),L.length>0&&L.map(z=>z.text.length).reduce((z,ne)=>z+ne)>0&&y.rows.push(L),s.push(y),y={rows:[]},L=[],v.forEach(z=>L.push({_type:He.tablecell,text:[],options:z.options})),A(),l+=P+F,r.verbose&&console.log(`| SLIDE [${s.length}]: emuSlideTabH ...... = ${(o/Ke).toFixed(1)} `),l=0,(r.addHeaderToEach||r.autoPageRepeatHeader)&&r._arrObjTabHeadRows&&r._arrObjTabHeadRows.forEach(z=>{let ne=[],q=0;z.forEach(oe=>{ne.push(oe),oe._lineHeight>q&&(q=oe._lineHeight)}),y.rows.push(ne),l+=q}),H=L[E]);let k=G._lines.shift();Array.isArray(H.text)&&(k?H.text=H.text.concat(k):H.text.length===0&&(H.text=H.text.concat({_type:He.tablecell,text:""}))),E===x.length-1&&(l+=R),E=Eg._lines.length).reduce((g,z)=>g+z)===0&&(T=!0)}L.length>0&&y.rows.push(L),r.verbose&&console.log(`- SLIDE [${s.length}]: ROW [${b}]: ...COMPLETE ...... emuTabCurrH = ${(l/Ke).toFixed(2)} ( emuSlideTabH = ${(o/Ke).toFixed(2)} )`)}),s.push(y),r.verbose&&(console.log(` -|================================================|`),console.log(`| FINAL: tableRowSlides.length = ${s.length}`),s.forEach(v=>console.log(v)),console.log(`|================================================| - -`)),s}function g0(e,r,t={},n){let i=t||{};i.slideMargin=i.slideMargin||i.slideMargin===0?i.slideMargin:.5;let a=i.w||e.presLayout.width,o=[],l=[],c=[],s=[],u=[],d=[.5,.5,.5,.5],p=0;if(!document.getElementById(r))throw new Error('tableToSlides: Table ID "'+r+'" does not exist!');n?._margin?(Array.isArray(n._margin)?d=n._margin:isNaN(n._margin)||(d=[n._margin,n._margin,n._margin,n._margin]),i.slideMargin=d):i?.slideMargin&&(Array.isArray(i.slideMargin)?d=i.slideMargin:isNaN(i.slideMargin)||(d=[i.slideMargin,i.slideMargin,i.slideMargin,i.slideMargin])),a=(i.w?lt(i.w):e.presLayout.width)-lt(d[1]+d[3]),i.verbose&&(console.log("[[VERBOSE MODE]]"),console.log("|-- `tableToSlides` ----------------------------------------------------|"),console.log(`| tableProps.h .................................... = ${i.h}`),console.log(`| tableProps.w .................................... = ${i.w}`),console.log(`| pptx.presLayout.width ........................... = ${(e.presLayout.width/Ke).toFixed(1)}`),console.log(`| pptx.presLayout.height .......................... = ${(e.presLayout.height/Ke).toFixed(1)}`),console.log(`| emuSlideTabW .................................... = ${(a/Ke).toFixed(1)}`));let f=document.querySelectorAll(`#${r} tr:first-child th`);f.length===0&&(f=document.querySelectorAll(`#${r} tr:first-child td`)),f.forEach(A=>{let y=A;if(y.getAttribute("colspan"))for(let v=0;v{p+=A}),u.forEach((A,y)=>{let v=Number((Number(a)*(A/p*100)/100/Ke).toFixed(2)),b=0,x=document.querySelector(`#${r} thead tr:first-child th:nth-child(${y+1})`);x&&(b=Number(x.getAttribute("data-pptx-min-width")));let P=document.querySelector(`#${r} thead tr:first-child th:nth-child(${y+1})`);P&&(b=Number(P.getAttribute("data-pptx-width"))),s.push(b>v?b:v)}),i.verbose&&console.log(`| arrColW ......................................... = [${s.join(", ")}]`),["thead","tbody","tfoot"].forEach(A=>{document.querySelectorAll(`#${r} ${A} tr`).forEach(y=>{let v=y,b=[];switch(Array.from(v.cells).forEach(x=>{let P=window.getComputedStyle(x).getPropertyValue("color").replace(/\s+/gi,"").replace("rgba(","").replace("rgb(","").replace(")","").split(","),F=window.getComputedStyle(x).getPropertyValue("background-color").replace(/\s+/gi,"").replace("rgba(","").replace("rgb(","").replace(")","").split(",");(window.getComputedStyle(x).getPropertyValue("background-color")==="rgba(0, 0, 0, 0)"||window.getComputedStyle(x).getPropertyValue("transparent"))&&(F=["255","255","255"]);let L={align:null,bold:window.getComputedStyle(x).getPropertyValue("font-weight")==="bold"||Number(window.getComputedStyle(x).getPropertyValue("font-weight"))>=500,border:null,color:Bs(Number(P[0]),Number(P[1]),Number(P[2])),fill:{color:Bs(Number(F[0]),Number(F[1]),Number(F[2]))},fontFace:(window.getComputedStyle(x).getPropertyValue("font-family")||"").split(",")[0].replace(/"/g,"").replace("inherit","").replace("initial","")||null,fontSize:Number(window.getComputedStyle(x).getPropertyValue("font-size").replace(/[a-z]/gi,"")),margin:null,colspan:Number(x.getAttribute("colspan"))||null,rowspan:Number(x.getAttribute("rowspan"))||null,valign:null};if(["left","center","right","start","end"].includes(window.getComputedStyle(x).getPropertyValue("text-align"))){let E=window.getComputedStyle(x).getPropertyValue("text-align").replace("start","left").replace("end","right");L.align=E==="center"?"center":E==="left"?"left":E==="right"?"right":null}if(["top","middle","bottom"].includes(window.getComputedStyle(x).getPropertyValue("vertical-align"))){let E=window.getComputedStyle(x).getPropertyValue("vertical-align");L.valign=E==="top"?"top":E==="middle"?"middle":E==="bottom"?"bottom":null}window.getComputedStyle(x).getPropertyValue("padding-left")&&(L.margin=[0,0,0,0],["padding-top","padding-right","padding-bottom","padding-left"].forEach((R,T)=>{L.margin[T]=Math.round(Number(window.getComputedStyle(x).getPropertyValue(R).replace(/\D/gi,"")))})),(window.getComputedStyle(x).getPropertyValue("border-top-width")||window.getComputedStyle(x).getPropertyValue("border-right-width")||window.getComputedStyle(x).getPropertyValue("border-bottom-width")||window.getComputedStyle(x).getPropertyValue("border-left-width"))&&(L.border=[null,null,null,null],["top","right","bottom","left"].forEach((R,T)=>{let G=Math.round(Number(window.getComputedStyle(x).getPropertyValue("border-"+R+"-width").replace("px",""))),H=[];H=window.getComputedStyle(x).getPropertyValue("border-"+R+"-color").replace(/\s+/gi,"").replace("rgba(","").replace("rgb(","").replace(")","").split(",");let k=Bs(Number(H[0]),Number(H[1]),Number(H[2]));L.border[T]={pt:G,color:k}})),b.push({_type:He.tablecell,text:x.innerText,options:L})}),A){case"thead":o.push(b);break;case"tbody":l.push(b);break;case"tfoot":c.push(b);break;default:console.log(`table parsing: unexpected table part: ${A}`);break}})}),i._arrObjTabHeadRows=o||null,i.colW=s,Hd([...o,...l,...c],i,e.presLayout,n).forEach((A,y)=>{let v=e.addSlide({masterName:i.masterSlideName||null});y===0&&(i.y=i.y||d[0]),y>0&&(i.y=i.autoPageSlideStartY||i.newSlideStartY||d[0]),i.verbose&&console.log(`| opts.autoPageSlideStartY: ${i.autoPageSlideStartY} / arrInchMargins[0]: ${d[0]} => opts.y = ${i.y}`),v.addTable(A.rows,{x:i.x||d[3],y:i.y,w:Number(a)/Ke,colW:s,autoPage:!1}),i.addImage&&(i.addImage.options=i.addImage.options||{},!i.addImage.image||!i.addImage.image.path&&!i.addImage.image.data?console.warn("Warning: tableToSlides.addImage requires either `path` or `data`"):v.addImage({path:i.addImage.image.path,data:i.addImage.image.data,x:i.addImage.options.x,y:i.addImage.options.y,w:i.addImage.options.w,h:i.addImage.options.h})),i.addShape&&v.addShape(i.addShape.shapeName,i.addShape.options||{}),i.addTable&&v.addTable(i.addTable.rows,i.addTable.options||{}),i.addText&&v.addText(i.addText.text,i.addText.options||{})})}var m0=0;function v0(e,r){e.bkgd&&(r.bkgd=e.bkgd),e.objects&&Array.isArray(e.objects)&&e.objects.length>0&&e.objects.forEach((t,n)=>{let i=Object.keys(t)[0],a=r;hn[i]&&i==="chart"?Kd(a,t[i].type,t[i].data,t[i].opts):hn[i]&&i==="image"?Qd(a,t[i]):hn[i]&&i==="line"?tl(a,xn.LINE,t[i]):hn[i]&&i==="rect"?tl(a,xn.RECTANGLE,t[i]):hn[i]&&i==="text"?wo(a,[{text:t[i].text}],t[i].options,!1):hn[i]&&i==="placeholder"&&(t[i].options.placeholder=t[i].options.name,delete t[i].options.name,t[i].options._placeholderType=t[i].options.type,delete t[i].options.type,t[i].options._placeholderIdx=100+n,wo(a,[{text:t[i].text}],t[i].options,!0))}),e.slideNumber&&typeof e.slideNumber=="object"&&(r._slideNumberProps=e.slideNumber)}function Kd(e,r,t,n){var i;function a(d){!d||d.style==="none"||(d.size!==void 0&&(isNaN(Number(d.size))||d.size<=0)&&(console.warn("Warning: chart.gridLine.size must be greater than 0."),delete d.size),d.style&&!["solid","dash","dot"].includes(d.style)&&(console.warn("Warning: chart.gridLine.style options: `solid`, `dash`, `dot`."),delete d.style),d.cap&&!["flat","square","round"].includes(d.cap)&&(console.warn("Warning: chart.gridLine.cap options: `flat`, `square`, `round`."),delete d.cap))}let o=++m0,l={_type:null,text:null,options:null,chartRid:null},c=null,s=[];Array.isArray(r)?(r.forEach(d=>{s=s.concat(d.data)}),c=t||n):(s=t,c=n),s.forEach((d,p)=>{d._dataIndex=p,d.labels!==void 0&&!Array.isArray(d.labels[0])&&(d.labels=[d.labels])});let u=c&&typeof c=="object"?c:{};if(u._type=r,u.x=typeof u.x<"u"&&u.x!=null&&!isNaN(Number(u.x))?u.x:1,u.y=typeof u.y<"u"&&u.y!=null&&!isNaN(Number(u.y))?u.y:1,u.w=u.w||"50%",u.h=u.h||"50%",u.objectName=u.objectName?Ve(u.objectName):`Chart ${e._slideObjects.filter(d=>d._type===He.chart).length}`,["bar","col"].includes(u.barDir||"")||(u.barDir="col"),u._type===Ce.AREA&&(["stacked","standard","percentStacked"].includes(u.barGrouping||"")||(u.barGrouping="standard")),u._type===Ce.BAR&&(["clustered","stacked","percentStacked"].includes(u.barGrouping||"")||(u.barGrouping="clustered")),u._type===Ce.BAR3D&&(["clustered","stacked","standard","percentStacked"].includes(u.barGrouping||"")||(u.barGrouping="standard")),!((i=u.barGrouping)===null||i===void 0)&&i.includes("tacked")&&(u.barGapWidthPct||(u.barGapWidthPct=50)),u.dataLabelPosition&&((u._type===Ce.AREA||u._type===Ce.BAR3D||u._type===Ce.DOUGHNUT||u._type===Ce.RADAR)&&delete u.dataLabelPosition,u._type===Ce.PIE&&(["bestFit","ctr","inEnd","outEnd"].includes(u.dataLabelPosition)||delete u.dataLabelPosition),(u._type===Ce.BUBBLE||u._type===Ce.BUBBLE3D||u._type===Ce.LINE||u._type===Ce.SCATTER)&&(["b","ctr","l","r","t"].includes(u.dataLabelPosition)||delete u.dataLabelPosition),u._type===Ce.BAR&&(["stacked","percentStacked"].includes(u.barGrouping||"")||["ctr","inBase","inEnd"].includes(u.dataLabelPosition)||delete u.dataLabelPosition,["clustered"].includes(u.barGrouping||"")||["ctr","inBase","inEnd","outEnd"].includes(u.dataLabelPosition)||delete u.dataLabelPosition)),u.dataLabelBkgrdColors=u.dataLabelBkgrdColors||!u.dataLabelBkgrdColors?u.dataLabelBkgrdColors:!1,["b","l","r","t","tr"].includes(u.legendPos||"")||(u.legendPos="r"),["cone","coneToMax","box","cylinder","pyramid","pyramidToMax"].includes(u.bar3DShape||"")||(u.bar3DShape="box"),["circle","dash","diamond","dot","none","square","triangle"].includes(u.lineDataSymbol||"")||(u.lineDataSymbol="circle"),["gap","span"].includes(u.displayBlanksAs||"")||(u.displayBlanksAs="span"),["standard","marker","filled"].includes(u.radarStyle||"")||(u.radarStyle="standard"),u.lineDataSymbolSize=u.lineDataSymbolSize&&!isNaN(u.lineDataSymbolSize)?u.lineDataSymbolSize:6,u.lineDataSymbolLineSize=u.lineDataSymbolLineSize&&!isNaN(u.lineDataSymbolLineSize)?Ge(u.lineDataSymbolLineSize):Ge(.75),u.layout&&["x","y","w","h"].forEach(d=>{let p=u.layout[d];(isNaN(Number(p))||p<0||p>1)&&(console.warn("Warning: chart.layout."+d+" can only be 0-1"),delete u.layout[d])}),u.catGridLine=u.catGridLine||(u._type===Ce.SCATTER?{color:"D9D9D9",size:1}:{style:"none"}),u.valGridLine=u.valGridLine||(u._type===Ce.SCATTER?{color:"D9D9D9",size:1}:{}),u.serGridLine=u.serGridLine||(u._type===Ce.SCATTER?{color:"D9D9D9",size:1}:{style:"none"}),a(u.catGridLine),a(u.valGridLine),a(u.serGridLine),Fl(u.shadow),u.showDataTable=u.showDataTable||!u.showDataTable?u.showDataTable:!1,u.showDataTableHorzBorder=u.showDataTableHorzBorder||!u.showDataTableHorzBorder?u.showDataTableHorzBorder:!0,u.showDataTableVertBorder=u.showDataTableVertBorder||!u.showDataTableVertBorder?u.showDataTableVertBorder:!0,u.showDataTableOutline=u.showDataTableOutline||!u.showDataTableOutline?u.showDataTableOutline:!0,u.showDataTableKeys=u.showDataTableKeys||!u.showDataTableKeys?u.showDataTableKeys:!0,u.showLabel=u.showLabel||!u.showLabel?u.showLabel:!1,u.showLegend=u.showLegend||!u.showLegend?u.showLegend:!1,u.showPercent=u.showPercent||!u.showPercent?u.showPercent:!0,u.showTitle=u.showTitle||!u.showTitle?u.showTitle:!1,u.showValue=u.showValue||!u.showValue?u.showValue:!1,u.showLeaderLines=u.showLeaderLines||!u.showLeaderLines?u.showLeaderLines:!1,u.catAxisLineShow=typeof u.catAxisLineShow<"u"?u.catAxisLineShow:!0,u.valAxisLineShow=typeof u.valAxisLineShow<"u"?u.valAxisLineShow:!0,u.serAxisLineShow=typeof u.serAxisLineShow<"u"?u.serAxisLineShow:!0,u.v3DRotX=!isNaN(u.v3DRotX)&&u.v3DRotX>=-90&&u.v3DRotX<=90?u.v3DRotX:30,u.v3DRotY=!isNaN(u.v3DRotY)&&u.v3DRotY>=0&&u.v3DRotY<=360?u.v3DRotY:30,u.v3DRAngAx=u.v3DRAngAx||!u.v3DRAngAx?u.v3DRAngAx:!0,u.v3DPerspective=!isNaN(u.v3DPerspective)&&u.v3DPerspective>=0&&u.v3DPerspective<=240?u.v3DPerspective:30,u.barGapWidthPct=!isNaN(u.barGapWidthPct)&&u.barGapWidthPct>=0&&u.barGapWidthPct<=1e3?u.barGapWidthPct:150,u.barGapDepthPct=!isNaN(u.barGapDepthPct)&&u.barGapDepthPct>=0&&u.barGapDepthPct<=1e3?u.barGapDepthPct:150,u.chartColors=Array.isArray(u.chartColors)?u.chartColors:u._type===Ce.PIE||u._type===Ce.DOUGHNUT?f0:Vi,u.chartColorsOpacity=u.chartColorsOpacity&&!isNaN(u.chartColorsOpacity)?u.chartColorsOpacity:null,u.border=u.border&&typeof u.border=="object"?u.border:null,u.border&&(!u.border.pt||isNaN(u.border.pt))&&(u.border.pt=ri.pt),u.border&&(!u.border.color||typeof u.border.color!="string")&&(u.border.color=ri.color),u.plotArea=u.plotArea||{},u.plotArea.border=u.plotArea.border&&typeof u.plotArea.border=="object"?u.plotArea.border:null,u.plotArea.border&&(!u.plotArea.border.pt||isNaN(u.plotArea.border.pt))&&(u.plotArea.border.pt=ri.pt),u.plotArea.border&&(!u.plotArea.border.color||typeof u.plotArea.border.color!="string")&&(u.plotArea.border.color=ri.color),u.border&&(u.plotArea.border=u.border),u.plotArea.fill=u.plotArea.fill||{color:null,transparency:null},u.fill&&(u.plotArea.fill.color=u.fill),u.chartArea=u.chartArea||{},u.chartArea.border=u.chartArea.border&&typeof u.chartArea.border=="object"?u.chartArea.border:null,u.chartArea.border&&(u.chartArea.border={color:u.chartArea.border.color||ri.color,pt:u.chartArea.border.pt||ri.pt}),u.chartArea.roundedCorners=typeof u.chartArea.roundedCorners=="boolean"?u.chartArea.roundedCorners:!0,u.dataBorder=u.dataBorder&&typeof u.dataBorder=="object"?u.dataBorder:null,u.dataBorder&&(!u.dataBorder.pt||isNaN(u.dataBorder.pt))&&(u.dataBorder.pt=.75),u.dataBorder&&u.dataBorder.color){let d=typeof u.dataBorder.color=="string"&&u.dataBorder.color.length===6&&/^[0-9A-Fa-f]{6}$/.test(u.dataBorder.color),p=Object.values(bo).includes(u.dataBorder.color);!d&&!p&&(u.dataBorder.color="F9F9F9")}return!u.dataLabelFormatCode&&u._type===Ce.SCATTER&&(u.dataLabelFormatCode="General"),!u.dataLabelFormatCode&&(u._type===Ce.PIE||u._type===Ce.DOUGHNUT)&&(u.dataLabelFormatCode=u.showPercent?"0%":"General"),u.dataLabelFormatCode=u.dataLabelFormatCode&&typeof u.dataLabelFormatCode=="string"?u.dataLabelFormatCode:"#,##0",!u.dataLabelFormatScatter&&u._type===Ce.SCATTER&&(u.dataLabelFormatScatter="custom"),u.lineSize=typeof u.lineSize=="number"?u.lineSize:2,u.valAxisMajorUnit=typeof u.valAxisMajorUnit=="number"?u.valAxisMajorUnit:null,u._type===Ce.AREA||u._type===Ce.BAR||u._type===Ce.BAR3D||u._type===Ce.LINE?u.catAxisMultiLevelLabels=!!u.catAxisMultiLevelLabels:delete u.catAxisMultiLevelLabels,l._type="chart",l.options=u,l.chartRid=Vr(e),e._relsChart.push({rId:Vr(e),data:s,opts:u,type:u._type,globalId:o,fileName:`chart${o}.xml`,Target:`/ppt/charts/chart${o}.xml`}),e._slideObjects.push(l),l}function Qd(e,r){let t={_type:null,text:null,options:null,image:null,imageRid:null,hyperlink:null},n=r.x||0,i=r.y||0,a=r.w||0,o=r.h||0,l=r.sizing||null,c=r.hyperlink||"",s=r.data||"",u=r.path||"",d=Vr(e),p=r.objectName?Ve(r.objectName):`Image ${e._slideObjects.filter(h=>h._type===He.image).length}`;if(!u&&!s)return console.error("ERROR: addImage() requires either 'data' or 'path' parameter!"),null;if(u&&typeof u!="string")return console.error(`ERROR: addImage() 'path' should be a string, ex: {path:'/img/sample.png'} - you sent ${String(u)}`),null;if(s&&typeof s!="string")return console.error(`ERROR: addImage() 'data' should be a string, ex: {data:'image/png;base64,NMP[...]'} - you sent ${String(s)}`),null;if(s&&typeof s=="string"&&!s.toLowerCase().includes("base64,"))return console.error("ERROR: Image `data` value lacks a base64 header! Ex: 'image/png;base64,NMP[...]')"),null;let f=(u.substring(u.lastIndexOf("/")+1).split("?")[0].split(".").pop().split("#")[0]||"png").toLowerCase();if(s&&/image\/(\w+);/.exec(s)&&/image\/(\w+);/.exec(s).length>0?f=/image\/(\w+);/.exec(s)[1]:s?.toLowerCase().includes("image/svg+xml")&&(f="svg"),t._type=He.image,t.image=u||"preencoded.png",t.options={x:n||0,y:i||0,w:a||1,h:o||1,altText:r.altText||"",rounding:typeof r.rounding=="boolean"?r.rounding:!1,sizing:l,placeholder:r.placeholder,rotate:r.rotate||0,flipV:r.flipV||!1,flipH:r.flipH||!1,transparency:r.transparency||0,objectName:p,shadow:Fl(r.shadow)},f==="svg")e._relsMedia.push({path:u||s+"png",type:"image/png",extn:"png",data:s||"",rId:d,Target:`../media/image-${e._slideNum}-${e._relsMedia.length+1}.png`,isSvgPng:!0,svgSize:{w:nt(t.options.w,"X",e._presLayout),h:nt(t.options.h,"Y",e._presLayout)}}),t.imageRid=d,e._relsMedia.push({path:u||s,type:"image/svg+xml",extn:f,data:s||"",rId:d+1,Target:`../media/image-${e._slideNum}-${e._relsMedia.length+1}.${f}`}),t.imageRid=d+1;else{let h=e._relsMedia.filter(A=>A.path&&A.path===u&&A.type==="image/"+f&&!A.isDuplicate)[0];e._relsMedia.push({path:u||"preencoded."+f,type:"image/"+f,extn:f,data:s||"",rId:d,isDuplicate:!!h?.Target,Target:h?.Target?h.Target:`../media/image-${e._slideNum}-${e._relsMedia.length+1}.${f}`}),t.imageRid=d}if(typeof c=="object"){if(!c.url&&!c.slide)throw new Error("ERROR: `hyperlink` option requires either: `url` or `slide`");d++,e._rels.push({type:He.hyperlink,data:c.slide?"slide":"dummy",rId:d,Target:c.url||c.slide.toString()}),c._rId=d,t.hyperlink=c}e._slideObjects.push(t)}function y0(e,r){let t=r.x||0,n=r.y||0,i=r.w||2,a=r.h||2,o=r.data||"",l=r.link||"",c=r.path||"",s=r.type||"audio",u="",d=r.cover||h0,p=r.objectName?Ve(r.objectName):`Media ${e._slideObjects.filter(h=>h._type===He.media).length}`,f={_type:He.media};if(!c&&!o&&s!=="online")throw new Error("addMedia() error: either `data` or `path` are required!");if(o&&!o.toLowerCase().includes("base64,"))throw new Error("addMedia() error: `data` value lacks a base64 header! Ex: 'video/mpeg;base64,NMP[...]')");if(!d.toLowerCase().includes("base64,"))throw new Error("addMedia() error: `cover` value lacks a base64 header! Ex: 'data:image/png;base64,iV[...]')");if(s==="online"&&!l)throw new Error("addMedia() error: online videos require `link` value");if(u=r.extn||(o?o.split(";")[0].split("/")[1]:c.split(".").pop())||"mp3",f.mtype=s,f.media=c||"preencoded.mov",f.options={},f.options.x=t,f.options.y=n,f.options.w=i,f.options.h=a,f.options.objectName=p,s==="online"){let h=Vr(e);e._relsMedia.push({path:c||"preencoded"+u,data:"dummy",type:"online",extn:u,rId:h,Target:l}),f.mediaRid=h,e._relsMedia.push({path:"preencoded.png",data:d,type:"image/png",extn:"png",rId:Vr(e),Target:`../media/image-${e._slideNum}-${e._relsMedia.length+1}.png`})}else{let h=e._relsMedia.filter(y=>y.path&&y.path===c&&y.type===s+"/"+u&&!y.isDuplicate)[0],A=Vr(e);e._relsMedia.push({path:c||"preencoded"+u,type:s+"/"+u,extn:u,data:o||"",rId:A,isDuplicate:!!h?.Target,Target:h?.Target?h.Target:`../media/media-${e._slideNum}-${e._relsMedia.length+1}.${u}`}),f.mediaRid=A,e._relsMedia.push({path:c||"preencoded"+u,type:s+"/"+u,extn:u,data:o||"",rId:Vr(e),isDuplicate:!!h?.Target,Target:h?.Target?h.Target:`../media/media-${e._slideNum}-${e._relsMedia.length+0}.${u}`}),e._relsMedia.push({path:"preencoded.png",type:"image/png",extn:"png",data:d,rId:Vr(e),Target:`../media/image-${e._slideNum}-${e._relsMedia.length+1}.png`})}e._slideObjects.push(f)}function b0(e,r){e._slideObjects.push({_type:He.notes,text:[{text:r}]})}function tl(e,r,t){let n=typeof t=="object"?t:{};n.line=n.line||{type:"none"};let i={_type:He.text,shape:r||xn.RECTANGLE,options:n,text:null};if(!r)throw new Error("Missing/Invalid shape parameter! Example: `addShape(pptxgen.shapes.LINE, {x:1, y:1, w:1, h:1});`");let a={type:n.line.type||"solid",color:n.line.color||qd,transparency:n.line.transparency||0,width:n.line.width||1,dashType:n.line.dashType||"solid",beginArrowType:n.line.beginArrowType||null,endArrowType:n.line.endArrowType||null};if(typeof n.line=="object"&&n.line.type!=="none"&&(n.line=a),n.x=n.x||(n.x===0?0:1),n.y=n.y||(n.y===0?0:1),n.w=n.w||(n.w===0?0:1),n.h=n.h||(n.h===0?0:1),n.objectName=n.objectName?Ve(n.objectName):`Shape ${e._slideObjects.filter(o=>o._type===He.text).length}`,typeof n.line=="string"){let o=a;o.color=String(n.line),n.line=o}typeof n.lineSize=="number"&&(n.line.width=n.lineSize),typeof n.lineDash=="string"&&(n.line.dashType=n.lineDash),typeof n.lineHead=="string"&&(n.line.beginArrowType=n.lineHead),typeof n.lineTail=="string"&&(n.line.endArrowType=n.lineTail),hi(e,i),e._slideObjects.push(i)}function w0(e,r,t,n,i,a,o){let l=[e],c=t&&typeof t=="object"?t:{};c.objectName=c.objectName?Ve(c.objectName):`Table ${e._slideObjects.filter(p=>p._type===He.table).length}`;{if(r===null||r.length===0||!Array.isArray(r))throw new Error("addTable: Array expected! EX: 'slide.addTable( [rows], {options} );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)");if(!r[0]||!Array.isArray(r[0]))throw new Error("addTable: 'rows' should be an array of cells! EX: 'slide.addTable( [ ['A'], ['B'], {text:'C',options:{align:'center'}} ] );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)")}let s=[];r.forEach(p=>{let f=[];Array.isArray(p)?p.forEach(h=>{let A={_type:He.tablecell,text:"",options:typeof h=="object"&&h.options?h.options:{}};typeof h=="string"||typeof h=="number"?A.text=h.toString():h.text&&(typeof h.text=="string"||typeof h.text=="number"?A.text=h.text.toString():h.text&&(A.text=h.text),h.options&&typeof h.options=="object"&&(A.options=h.options)),A.options.border=A.options.border||c.border||[{type:"none"},{type:"none"},{type:"none"},{type:"none"}];let y=A.options.border;!Array.isArray(y)&&typeof y=="object"&&(A.options.border=[y,y,y,y]),A.options.border[0]||(A.options.border[0]={type:"none"}),A.options.border[1]||(A.options.border[1]={type:"none"}),A.options.border[2]||(A.options.border[2]={type:"none"}),A.options.border[3]||(A.options.border[3]={type:"none"}),[0,1,2,3].forEach(b=>{A.options.border[b]={type:A.options.border[b].type||ti.type,color:A.options.border[b].color||ti.color,pt:typeof A.options.border[b].pt=="number"?A.options.border[b].pt:ti.pt}}),f.push(A)}):(console.log("addTable: tableRows has a bad row. A row should be an array of cells. You provided:"),console.log(p)),s.push(f)}),c.x=nt(c.x||(c.x===0?0:Ke/2),"X",i),c.y=nt(c.y||(c.y===0?0:Ke/2),"Y",i),c.h&&(c.h=nt(c.h,"Y",i)),c.fontSize=c.fontSize||yr,c.margin=c.margin===0||c.margin?c.margin:jd,typeof c.margin=="number"&&(c.margin=[Number(c.margin),Number(c.margin),Number(c.margin),Number(c.margin)]),JSON.stringify({arrRows:s}).indexOf("hyperlink")===-1&&(c.color||(c.color=c.color||nr)),typeof c.border=="string"?(console.warn("addTable `border` option must be an object. Ex: `{border: {type:'none'}}`"),c.border=null):Array.isArray(c.border)&&[0,1,2,3].forEach(p=>{c.border[p]=c.border[p]?{type:c.border[p].type||ti.type,color:c.border[p].color||ti.color,pt:c.border[p].pt||ti.pt}:{type:"none"}}),c.autoPage=typeof c.autoPage=="boolean"?c.autoPage:!1,c.autoPageRepeatHeader=typeof c.autoPageRepeatHeader=="boolean"?c.autoPageRepeatHeader:!1,c.autoPageHeaderRows=typeof c.autoPageHeaderRows<"u"&&!isNaN(Number(c.autoPageHeaderRows))?Number(c.autoPageHeaderRows):1,c.autoPageLineWeight=typeof c.autoPageLineWeight<"u"&&!isNaN(Number(c.autoPageLineWeight))?Number(c.autoPageLineWeight):0,c.autoPageLineWeight&&(c.autoPageLineWeight>1?c.autoPageLineWeight=1:c.autoPageLineWeight<-1&&(c.autoPageLineWeight=-1));let u=ia;if(n&&typeof n._margin<"u"&&(Array.isArray(n._margin)?u=n._margin:isNaN(Number(n._margin))||(u=[Number(n._margin),Number(n._margin),Number(n._margin),Number(n._margin)])),c.colW){let p=s[0].reduce((f,h)=>{var A;return!((A=h?.options)===null||A===void 0)&&A.colspan&&typeof h.options.colspan=="number"?f+=h.options.colspan:f+=1,f},0);typeof c.colW=="string"||typeof c.colW=="number"||c.colW&&Array.isArray(c.colW)&&c.colW.length===1&&p>1?(c.w=Math.floor(Number(c.colW)*p),c.colW=null):c.colW&&Array.isArray(c.colW)&&c.colW.length!==p&&(console.warn("addTable: mismatch: (colW.length != data.length) Therefore, defaulting to evenly distributed col widths."),c.colW=null)}else c.w?c.w=nt(c.w,"X",i):c.w=Math.floor(i._sizeW/Ke-u[1]-u[3]);c.x&&c.x<20&&(c.x=lt(c.x)),c.y&&c.y<20&&(c.y=lt(c.y)),c.w&&typeof c.w=="number"&&c.w<20&&(c.w=lt(c.w)),c.h&&typeof c.h=="number"&&c.h<20&&(c.h=lt(c.h)),s.forEach(p=>{p.forEach((f,h)=>{typeof f=="number"||typeof f=="string"?p[h]={_type:He.tablecell,text:String(p[h]),options:c}:typeof f=="object"&&(typeof f.text=="number"?p[h].text=p[h].text.toString():(typeof f.text>"u"||f.text===null)&&(p[h].text=""),p[h].options=f.options||{},p[h]._type=He.tablecell)})});let d=[];return c&&!c.autoPage?(hi(e,s),e._slideObjects.push({_type:He.table,arrTabRows:s,options:Object.assign({},c)})):(c.autoPageRepeatHeader&&(c._arrObjTabHeadRows=s.filter((p,f)=>f{o(e._slideNum+f)||l.push(a({masterName:n?._name||null})),f>0&&(c.y=lt(c.autoPageSlideStartY||c.newSlideStartY||u[0]));{let h=o(e._slideNum+f);c.autoPage=!1,hi(h,p.rows),h.addTable(p.rows,Object.assign({},c)),f>0&&d.push(h)}})),d}function wo(e,r,t,n){let i={_type:n?He.placeholder:He.text,shape:t?.shape||xn.RECTANGLE,text:!r||r.length===0?[{text:"",options:null}]:r,options:t||{}};function a(o){{if(o.placeholder||(o.color=o.color||i.options.color||e.color||nr),(o.placeholder||n)&&(o.bullet=o.bullet||!1),o.placeholder&&e._slideLayout&&e._slideLayout._slideObjects){let l=e._slideLayout._slideObjects.filter(c=>c._type==="placeholder"&&c.options&&c.options.placeholder&&c.options.placeholder===o.placeholder)[0];l?.options&&(o=Object.assign(Object.assign({},o),l.options))}if(o.objectName=o.objectName?Ve(o.objectName):`Text ${e._slideObjects.filter(l=>l._type===He.text).length}`,o.shape===xn.LINE){let l={type:o.line.type||"solid",color:o.line.color||qd,transparency:o.line.transparency||0,width:o.line.width||1,dashType:o.line.dashType||"solid",beginArrowType:o.line.beginArrowType||null,endArrowType:o.line.endArrowType||null};if(typeof o.line=="object"&&(o.line=l),typeof o.line=="string"){let c=l;typeof o.line=="string"&&(c.color=o.line),o.line=c}typeof o.lineSize=="number"&&(o.line.width=o.lineSize),typeof o.lineDash=="string"&&(o.line.dashType=o.lineDash),typeof o.lineHead=="string"&&(o.line.beginArrowType=o.lineHead),typeof o.lineTail=="string"&&(o.line.endArrowType=o.lineTail)}o.line=o.line||{},o.lineSpacing=o.lineSpacing&&!isNaN(o.lineSpacing)?o.lineSpacing:null,o.lineSpacingMultiple=o.lineSpacingMultiple&&!isNaN(o.lineSpacingMultiple)?o.lineSpacingMultiple:null,o._bodyProp=o._bodyProp||{},o._bodyProp.autoFit=o.autoFit||!1,o._bodyProp.anchor=o.placeholder?null:si.ctr,o._bodyProp.vert=o.vert||null,o._bodyProp.wrap=typeof o.wrap=="boolean"?o.wrap:!0,(o.inset&&!isNaN(Number(o.inset))||o.inset===0)&&(o._bodyProp.lIns=lt(o.inset),o._bodyProp.rIns=lt(o.inset),o._bodyProp.tIns=lt(o.inset),o._bodyProp.bIns=lt(o.inset)),typeof o.underline=="boolean"&&o.underline===!0&&(o.underline={style:"sng"})}return(o.align||"").toLowerCase().indexOf("c")===0?o._bodyProp.align=oi.center:(o.align||"").toLowerCase().indexOf("l")===0?o._bodyProp.align=oi.left:(o.align||"").toLowerCase().indexOf("r")===0?o._bodyProp.align=oi.right:(o.align||"").toLowerCase().indexOf("j")===0&&(o._bodyProp.align=oi.justify),(o.valign||"").toLowerCase().indexOf("b")===0?o._bodyProp.anchor=si.b:(o.valign||"").toLowerCase().indexOf("m")===0?o._bodyProp.anchor=si.ctr:(o.valign||"").toLowerCase().indexOf("t")===0&&(o._bodyProp.anchor=si.t),Fl(o.shadow),o}i.options=a(i.options),i.text.forEach(o=>o.options=a(o.options||{})),hi(e,i.text||""),e._slideObjects.push(i)}function x0(e){(e._slideLayout._slideObjects||[]).forEach(r=>{r._type===He.placeholder&&e._slideObjects.filter(t=>t.options&&t.options.placeholder===r.options.placeholder).length===0&&wo(e,[{text:""}],r.options,!1)})}function Zd(e,r){var t;if(r.bkgd&&(r.background||(r.background={}),typeof r.bkgd=="string"?r.background.color=r.bkgd:(r.bkgd.data&&(r.background.data=r.bkgd.data),r.bkgd.path&&(r.background.path=r.bkgd.path),r.bkgd.src&&(r.background.path=r.bkgd.src))),!((t=r.background)===null||t===void 0)&&t.fill&&(r.background.color=r.background.fill),e&&(e.path||e.data)){e.path=e.path||"preencoded.png";let n=(e.path.split(".").pop()||"png").split("?")[0];n==="jpg"&&(n="jpeg"),r._relsMedia=r._relsMedia||[];let i=r._relsMedia.length+1;r._relsMedia.push({path:e.path,type:He.image,extn:n,data:e.data||null,rId:i,Target:`../media/${(r._name||"").replace(/\s+/gi,"-")}-image-${r._relsMedia.length+1}.${n}`}),r._bkgdImgRid=i}}function hi(e,r,t){let n=[];typeof r=="string"||typeof r=="number"||(Array.isArray(r)?n=r:typeof r=="object"&&(n=[r]),n.forEach((i,a)=>{if(t&&t[a]&&t[a].hyperlink&&(i.options=Object.assign(Object.assign({},i.options),t[a])),Array.isArray(i)){let o=[];i.forEach(l=>{l.options&&!l.text.options&&o.push(l.options)}),hi(e,i,o)}else if(Array.isArray(i.text))hi(e,i.text,t&&t[a]?[t[a]]:void 0);else if(i&&typeof i=="object"&&i.options&&i.options.hyperlink&&!i.options.hyperlink._rId)if(typeof i.options.hyperlink!="object")console.log("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink: {url:'https://github.com'}` ");else if(!i.options.hyperlink.url&&!i.options.hyperlink.slide)console.log("ERROR: 'hyperlink requires either: `url` or `slide`'");else{let o=Vr(e);e._rels.push({type:He.hyperlink,data:i.options.hyperlink.slide?"slide":"dummy",rId:o,Target:Ve(i.options.hyperlink.url)||i.options.hyperlink.slide.toString()}),i.options.hyperlink._rId=o}else i&&typeof i=="object"&&i.options&&i.options.hyperlink&&i.options.hyperlink._rId&&e._rels.filter(o=>o.rId===i.options.hyperlink._rId).length===0&&e._rels.push({type:He.hyperlink,data:i.options.hyperlink.slide?"slide":"dummy",rId:i.options.hyperlink._rId,Target:Ve(i.options.hyperlink.url)||i.options.hyperlink.slide.toString()})}))}var S0=class{constructor(e){var r;this.addSlide=e.addSlide,this.getSlide=e.getSlide,this._name=`Slide ${e.slideNumber}`,this._presLayout=e.presLayout,this._rId=e.slideRId,this._rels=[],this._relsChart=[],this._relsMedia=[],this._setSlideNum=e.setSlideNum,this._slideId=e.slideId,this._slideLayout=e.slideLayout||null,this._slideNum=e.slideNumber,this._slideObjects=[],this._slideNumberProps=!((r=this._slideLayout)===null||r===void 0)&&r._slideNumberProps?this._slideLayout._slideNumberProps:null}set bkgd(e){this._bkgd=e,(!this._background||!this._background.color)&&(this._background||(this._background={}),typeof e=="string"&&(this._background.color=e))}get bkgd(){return this._bkgd}set background(e){this._background=e,e&&Zd(e,this)}get background(){return this._background}set color(e){this._color=e}get color(){return this._color}set hidden(e){this._hidden=e}get hidden(){return this._hidden}set slideNumber(e){this._slideNumberProps=e,this._setSlideNum(e)}get slideNumber(){return this._slideNumberProps}get newAutoPagedSlides(){return this._newAutoPagedSlides}addChart(e,r,t){let n=t||{};return n._type=e,Kd(this,e,r,t),this}addImage(e){return Qd(this,e),this}addMedia(e){return y0(this,e),this}addNotes(e){return b0(this,e),this}addShape(e,r){return tl(this,e,r),this}addTable(e,r){return this._newAutoPagedSlides=w0(this,e,r,this._slideLayout,this._presLayout,this.addSlide,this.getSlide),this}addText(e,r){return wo(this,typeof e=="string"||typeof e=="number"?[{text:e,options:r}]:e,r,!1),this}};function k0(e,r){return cr(this,void 0,void 0,function*(){let t=e.data;return yield new Promise((n,i)=>{var a,o;let l=new Gd.default,c=(t.length-1)*2+1,s=((o=(a=t[0])===null||a===void 0?void 0:a.labels)===null||o===void 0?void 0:o.length)>1;l.folder("_rels"),l.folder("docProps"),l.folder("xl/_rels"),l.folder("xl/tables"),l.folder("xl/theme"),l.folder("xl/worksheets"),l.folder("xl/worksheets/_rels"),l.file("[Content_Types].xml",` -`),l.file("_rels/.rels",` -`),l.file("docProps/app.xml",`Microsoft Macintosh Excel0falseWorksheets1Sheet1falsefalsefalse16.0300 -`),l.file("docProps/core.xml",'PptxGenJSPptxGenJS'+new Date().toISOString()+''+new Date().toISOString()+""),l.file("xl/_rels/workbook.xml.rels",''),l.file("xl/styles.xml",` -`),l.file("xl/theme/theme1.xml",''),l.file("xl/workbook.xml",` -`),l.file("xl/worksheets/_rels/sheet1.xml.rels",` -`);{let u='';if(e.opts._type===Ce.BUBBLE||e.opts._type===Ce.BUBBLE3D)u+=``;else if(e.opts._type===Ce.SCATTER)u+=``;else if(s){let d=t.length;t[0].labels.forEach(p=>d+=p.filter(f=>f&&f!=="").length),u+=``,u+=""}else{let d=t.length+t[0].labels.length*t[0].labels[0].length+t[0].labels.length,p=t.length+t[0].labels.length*t[0].labels[0].length+1;u+=``,u+=''}e.opts._type===Ce.BUBBLE||e.opts._type===Ce.BUBBLE3D?t.forEach((d,p)=>{p===0?u+="X-Axis":(u+=`${Ve(d.name||`Y-Axis${p}`)}`,u+=`${Ve(`Size${p}`)}`)}):t.forEach(d=>{u+=`${Ve((d.name||" ").replace("X-Axis","X-Values"))}`}),e.opts._type!==Ce.BUBBLE&&e.opts._type!==Ce.BUBBLE3D&&e.opts._type!==Ce.SCATTER&&t[0].labels.slice().reverse().forEach(d=>{d.filter(p=>p&&p!=="").forEach(p=>{u+=`${Ve(p)}`})}),u+=` -`,l.file("xl/sharedStrings.xml",u)}{let u='';if(e.opts._type===Ce.BUBBLE||e.opts._type===Ce.BUBBLE3D){u+=``,u+=``;let d=1;t.forEach((p,f)=>{f===0?u+=``:(u+=``,d++,u+=``)})}else e.opts._type===Ce.SCATTER?(u+=`
          `,u+=``,t.forEach((d,p)=>{u+=``})):(u+=`
          `,u+=``,t[0].labels.forEach((d,p)=>{u+=``}),t.forEach((d,p)=>{u+=``}));u+="",u+='',u+="
          ",l.file("xl/tables/table1.xml",u)}{let u='';if(u+='',e.opts._type===Ce.BUBBLE||e.opts._type===Ce.BUBBLE3D?u+=``:e.opts._type===Ce.SCATTER?u+=``:u+=``,u+='',u+='',e.opts._type===Ce.BUBBLE||e.opts._type===Ce.BUBBLE3D){u+="",u+=``,u+='0';for(let d=1;d${d}`;u+="",t[0].values.forEach((d,p)=>{u+=``,u+=`${d}`;let f=2;for(let h=1;h${t[h].values[p]||""}`,f++,u+=`${t[h].sizes[p]||""}`,f++;u+=""})}else if(e.opts._type===Ce.SCATTER){u+="",u+=``;for(let d=0;d${d}`;u+="",t[0].values.forEach((d,p)=>{u+=``,u+=`${d}`;for(let f=1;f${t[f].values[p]||t[f].values[p]===0?t[f].values[p]:""}`;u+=""})}else if(u+="",s){u+=``;for(let h=0;h0`;for(let h=t[0].labels.length-1;h${h}`;u+="";let d=t.length,p=t[0].labels[0].length,f=t[0].labels.length;for(let h=0;h`;let A=d,y=t[0].labels.slice().reverse();y.forEach((v,b)=>{if(v[h]){let P=b===0?1:y[b-1].filter(F=>F&&F!=="").length;A+=P,u+=`${A}`}});for(let v=0;v${t[v].values[h]||0}`;u+=""}}else{u+=``,t[0].labels.forEach((d,p)=>{u+=`0`});for(let d=0;d${d+1}`;u+="",t[0].labels[0].forEach((d,p)=>{u+=``;for(let f=t[0].labels.length-1;f>=0;f--)u+=``,u+=`${t.length+p+1}`,u+="";for(let f=0;f${t[f].values[p]||""}`;u+=""})}u+="",u+='',u+=` -`,l.file("xl/worksheets/sheet1.xml",u)}l.generateAsync({type:"base64"}).then(u=>{r.file(`ppt/embeddings/Microsoft_Excel_Worksheet${e.globalId}.xlsx`,u,{base64:!0}),r.file("ppt/charts/_rels/"+e.fileName+".rels",``),r.file(`ppt/charts/${e.fileName}`,C0(e)),n("")}).catch(u=>{i(u)})})})}function C0(e){var r,t,n,i;let a='',o=!1;if(a+='',a+='',a+=``,a+="",e.opts.showTitle?(a+=Uo({title:e.opts.title||"Chart Title",color:e.opts.titleColor,fontFace:e.opts.titleFontFace,fontSize:e.opts.titleFontSize||u0,titleAlign:e.opts.titleAlign,titleBold:e.opts.titleBold,titlePos:e.opts.titlePos,titleRotate:e.opts.titleRotate},e.opts.x,e.opts.y),a+=''):a+='',e.opts._type===Ce.BAR3D&&(a+=``),a+="",e.opts.layout?(a+="",a+=" ",a+=' ',a+=' ',a+=' ',a+=' ',a+=' ',a+=' ',a+=' ',a+=" ",a+=""):a+="",Array.isArray(e.opts._type)?e.opts._type.forEach(l=>{let c=Object.assign(Object.assign({},e.opts),l.options),s=c.secondaryValAxis?no:qr,u=c.secondaryCatAxis?Qs:qi;o=o||c.secondaryValAxis,a+=Cu(l.type,l.data,c,s,u)}):a+=Cu(e.opts._type,e.data,e.opts,qr,qi),e.opts._type!==Ce.PIE&&e.opts._type!==Ce.DOUGHNUT){if(e.opts.valAxes&&e.opts.valAxes.length>1&&!o)throw new Error("Secondary axis must be used by one of the multiple charts");if(e.opts.catAxes){if(!e.opts.valAxes||e.opts.valAxes.length!==e.opts.catAxes.length)throw new Error("There must be the same number of value and category axes.");a+=Rs(Object.assign(Object.assign({},e.opts),e.opts.catAxes[0]),qi,qr)}else a+=Rs(e.opts,qi,qr);e.opts.valAxes?(a+=Ls(Object.assign(Object.assign({},e.opts),e.opts.valAxes[0]),qr),e.opts.valAxes[1]&&(a+=Ls(Object.assign(Object.assign({},e.opts),e.opts.valAxes[1]),no))):(a+=Ls(e.opts,qr),e.opts._type===Ce.BAR3D&&(a+=P0(e.opts,Vd,qr))),!((r=e.opts)===null||r===void 0)&&r.catAxes&&(!((t=e.opts)===null||t===void 0)&&t.catAxes[1])&&(a+=Rs(Object.assign(Object.assign({},e.opts),e.opts.catAxes[1]),Qs,no))}return e.opts.showDataTable&&(a+="",a+=` `,a+=` `,a+=` `,a+=` `,a+=" ",a+=" ",a+=' ',a+=" ",a+=" ",a+=" ",a+=' ',a+=" ",a+=" ",a+=' ',a+=` `,a+=' ',a+=' ',a+=' ',a+=' ',a+=" ",a+=" ",a+=' ',a+=" ",a+=" ",a+=""),a+=" ",a+=!((n=e.opts.plotArea.fill)===null||n===void 0)&&n.color?ur(e.opts.plotArea.fill):"",a+=e.opts.plotArea.border?`${ur(e.opts.plotArea.border.color)}`:"",a+=" ",a+=" ",a+="",e.opts.showLegend&&(a+="",a+='',a+='',(e.opts.legendFontFace||e.opts.legendFontSize||e.opts.legendColor)&&(a+="",a+=" ",a+=" ",a+=" ",a+=" ",a+=e.opts.legendFontSize?``:"",e.opts.legendColor&&(a+=ur(e.opts.legendColor)),e.opts.legendFontFace&&(a+=''),e.opts.legendFontFace&&(a+=''),a+=" ",a+=" ",a+=' ',a+=" ",a+=""),a+=""),a+=' ',a+=' ',e.opts._type===Ce.SCATTER&&(a+=''),a+="",a+="",a+=!((i=e.opts.chartArea.fill)===null||i===void 0)&&i.color?ur(e.opts.chartArea.fill):"",a+=e.opts.chartArea.border?`${ur(e.opts.chartArea.border.color)}`:"",a+=" ",a+="",a+='',a+="",a}function Cu(e,r,t,n,i,a){let o=-1,l=1,c=null,s="";switch(e){case Ce.AREA:case Ce.BAR:case Ce.BAR3D:case Ce.LINE:case Ce.RADAR:s+=``,e===Ce.AREA&&t.barGrouping==="stacked"&&(s+=''),(e===Ce.BAR||e===Ce.BAR3D)&&(s+='',s+=''),e===Ce.RADAR&&(s+=''),s+='',r.forEach(u=>{var d;o++,s+="",s+=` `,s+=" ",s+=" ",s+=" Sheet1!$"+yt(u._dataIndex+u.labels.length+1)+"$1",s+=' '+Ve(u.name)+"",s+=" ",s+=" ";let p=t.chartColors?t.chartColors[o%t.chartColors.length]:null;s+=" ",p==="transparent"?s+="":t.chartColorsOpacity?s+=""+ft(p,``)+"":s+=""+ft(p)+"",e===Ce.LINE||e===Ce.RADAR?t.lineSize===0?s+="":(s+=`${ft(p)}`,s+=''):t.dataBorder&&(s+=`${ft(t.dataBorder.color)}`),s+=Mn(t.shadow,zn),s+=" ",s+=' ',e!==Ce.RADAR&&(s+="",s+=``,t.dataLabelBkgrdColors&&(s+=`${ft(p)}`),s+="",s+=``,s+=`${ft(t.dataLabelColor||nr)}`,s+=``,s+="",t.dataLabelPosition&&(s+=``),s+='',s+=``,s+=``,s+=``,s+=""),(e===Ce.LINE||e===Ce.RADAR)&&(s+="",s+=' ',t.lineDataSymbolSize&&(s+=``),s+=" ",s+=` ${ft(t.chartColors[u._dataIndex+1>t.chartColors.length?Math.floor(Math.random()*t.chartColors.length):u._dataIndex])}`,s+=` ${ft(t.lineDataSymbolLineColor||p)}`,s+=" ",s+=" ",s+=""),(e===Ce.BAR||e===Ce.BAR3D)&&r.length===1&&(t.chartColors&&t.chartColors!==Vi&&t.chartColors.length>1||!((d=t.invertedColors)===null||d===void 0)&&d.length)&&u.values.forEach((f,h)=>{let A=f<0?t.invertedColors||t.chartColors||Vi:t.chartColors||[];s+=" ",s+=` `,s+=' ',s+=' ',s+=" ",t.lineSize===0?s+="":e===Ce.BAR?(s+="",s+=' ',s+=""):(s+="",s+=" ",s+=' ',s+=" ",s+=""),s+=Mn(t.shadow,zn),s+=" ",s+=" "}),s+="",t.catLabelFormatCode?(s+=" ",s+=` Sheet1!$A$2:$A$${u.labels[0].length+1}`,s+=" ",s+=" "+(t.catLabelFormatCode||"General")+"",s+=` `,u.labels[0].forEach((f,h)=>s+=`${Ve(f)}`),s+=" ",s+=" "):(s+=" ",s+=` Sheet1!$A$2:$${yt(u.labels.length)}$${u.labels[0].length+1}`,s+=" ",s+=` `,u.labels.forEach(f=>{s+="",f.forEach((h,A)=>s+=`${Ve(h)}`),s+=""}),s+=" ",s+=" "),s+="",s+="",s+=" ",s+=`Sheet1!$${yt(u._dataIndex+u.labels.length+1)}$2:$${yt(u._dataIndex+u.labels.length+1)}$${u.labels[0].length+1}`,s+=" ",s+=" "+(t.valLabelFormatCode||t.dataTableFormatCode||"General")+"",s+=` `,u.values.forEach((f,h)=>s+=`${f||f===0?f:""}`),s+=" ",s+=" ",s+="",e===Ce.LINE&&(s+=''),s+=""}),s+=" ",s+=` `,s+=" ",s+=" ",s+=" ",s+=" ",s+=` `,s+=" "+ft(t.dataLabelColor||nr)+"",s+=' ',s+=" ",s+=" ",s+=" ",t.dataLabelPosition&&(s+=' '),s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=` `,s+=" ",e===Ce.BAR?(s+=` `,s+=` `):e===Ce.BAR3D?(s+=` `,s+=` `,s+=' '):e===Ce.LINE&&(s+=' '),s+=``,s+=``;break;case Ce.SCATTER:s+="",s+='',s+='',o=-1,r.filter((u,d)=>d>0).forEach((u,d)=>{o++,s+="",s+=` `,s+=` `,s+=" ",s+=" ",s+=` Sheet1!$${yt(d+2)}$1`,s+=' '+Ve(u.name)+"",s+=" ",s+=" ",s+=" ";{let p=t.chartColors[o%t.chartColors.length];p==="transparent"?s+="":t.chartColorsOpacity?s+=""+ft(p,'')+"":s+=""+ft(p)+"",t.lineSize===0?s+="":(s+=`${ft(p)}`,s+=``),s+=Mn(t.shadow,zn)}if(s+=" ",s+="",s+=' ',t.lineDataSymbolSize&&(s+=``),s+="",s+=`${ft(t.chartColors[d+1>t.chartColors.length?Math.floor(Math.random()*t.chartColors.length):d])}`,s+=`${ft(t.lineDataSymbolLineColor||t.chartColors[o%t.chartColors.length])}`,s+="",s+="",s+="",t.showLabel){let p=io("-xxxx-xxxx-xxxx-xxxxxxxxxxxx");u.labels[0]&&(t.dataLabelFormatScatter==="custom"||t.dataLabelFormatScatter==="customXY")&&(s+="",u.labels[0].forEach((f,h)=>{(t.dataLabelFormatScatter==="custom"||t.dataLabelFormatScatter==="customXY")&&(s+=" ",s+=` `,s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=' ',s+=" "+Ve(f)+"",s+=" ",t.dataLabelFormatScatter==="customXY"&&!/^ *$/.test(f)&&(s+=" ",s+=' ',s+=" (",s+=" ",s+=' ',s+=' ',s+=" ",s+=" ",s+=" ",s+=" ["+Ve(u.name)+"",s+=" ",s+=" ",s+=' ',s+=" , ",s+=" ",s+=' ',s+=' ',s+=" ",s+=" ",s+=" ",s+=" ["+Ve(u.name)+"]",s+=" ",s+=" ",s+=' ',s+=" )",s+=" ",s+=' '),s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",t.dataLabelPosition&&(s+=' '),s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=" ",s+=' ',s+=' ',s+=` `,s+=" ",s+=" ",s+="")}),s+=""),t.dataLabelFormatScatter==="XY"&&(s+="",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=' ',s+=" ",s+=" ",t.dataLabelPosition&&(s+=' '),s+=' ',s+=` `,s+=` `,s+=` `,s+=' ',s+=' ',s+=" ",s+=' ',s+=' ',s+=" ",s+=" ",s+="")}r.length===1&&t.chartColors!==Vi&&u.values.forEach((p,f)=>{let h=p<0?t.invertedColors||t.chartColors||Vi:t.chartColors||[];s+=" ",s+=` `,s+=' ',s+=' ',s+=" ",t.lineSize===0?s+="":(s+="",s+=' ',s+=""),s+=Mn(t.shadow,zn),s+=" ",s+=" "}),s+="",s+=" ",s+=` Sheet1!$A$2:$A$${r[0].values.length+1}`,s+=" ",s+=" General",s+=` `,r[0].values.forEach((p,f)=>{s+=`${p||p===0?p:""}`}),s+=" ",s+=" ",s+="",s+="",s+=" ",s+=` Sheet1!$${yt(d+2)}$2:$${yt(d+2)}$${r[0].values.length+1}`,s+=" ",s+=" General",s+=` `,r[0].values.forEach((p,f)=>{s+=`${u.values[f]||u.values[f]===0?u.values[f]:""}`}),s+=" ",s+=" ",s+="",s+='',s+=""}),s+=" ",s+=` `,s+=" ",s+=" ",s+=" ",s+=" ",s+=` `,s+=" "+ft(t.dataLabelColor||nr)+"",s+=' ',s+=" ",s+=" ",s+=" ",t.dataLabelPosition&&(s+=' '),s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=" ",s+=``,s+="";break;case Ce.BUBBLE:case Ce.BUBBLE3D:s+="",s+='',o=-1,r.filter((u,d)=>d>0).forEach((u,d)=>{o++,s+="",s+=` `,s+=` `,s+=" ",s+=" ",s+=" Sheet1!$"+yt(l+1)+"$1",s+=' '+Ve(u.name)+"",s+=" ",s+=" ";{s+="";let p=t.chartColors[o%t.chartColors.length];p==="transparent"?s+="":t.chartColorsOpacity?s+=`${ft(p,'')}`:s+=""+ft(p)+"",t.lineSize===0?s+="":t.dataBorder?s+=`${ft(t.dataBorder.color)}`:(s+=`${ft(p)}`,s+=``),s+=Mn(t.shadow,zn),s+=""}s+="",s+=" ",s+=` Sheet1!$A$2:$A$${r[0].values.length+1}`,s+=" ",s+=" General",s+=` `,r[0].values.forEach((p,f)=>{s+=`${p||p===0?p:""}`}),s+=" ",s+=" ",s+="",s+="",s+=" ",s+=`Sheet1!$${yt(l+1)}$2:$${yt(l+1)}$${r[0].values.length+1}`,l++,s+=" ",s+=" General",s+=` `,r[0].values.forEach((p,f)=>{s+=`${u.values[f]||u.values[f]===0?u.values[f]:""}`}),s+=" ",s+=" ",s+="",s+=" ",s+=" ",s+=`Sheet1!$${yt(l+1)}$2:$${yt(l+1)}$${u.sizes.length+1}`,l++,s+=" ",s+=" General",s+=` `,u.sizes.forEach((p,f)=>{s+=`${p||""}`}),s+=" ",s+=" ",s+=" ",s+=' ',s+=""}),s+="",s+=``,s+="",s+=``,s+=`${ft(t.dataLabelColor||nr)}`,s+=``,s+="",t.dataLabelPosition&&(s+=``),s+='',s+=``,s+=``,s+="",s+=' ',s+=' ',s+=" ",s+="",s+="",s+=``,s+="";break;case Ce.DOUGHNUT:case Ce.PIE:c=r[0],s+="",s+=' ',s+="",s+=' ',s+=' ',s+=" ",s+=" ",s+=" Sheet1!$B$1",s+=" ",s+=' ',s+=' '+Ve(c.name)+"",s+=" ",s+=" ",s+=" ",s+=" ",s+=' ',s+=' ',t.dataNoEffects?s+="":s+=Mn(t.shadow,zn),s+=" ",c.labels[0].forEach((u,d)=>{s+="",s+=` `,s+=' ',s+=" ",s+=`${ft(t.chartColors[d+1>t.chartColors.length?Math.floor(Math.random()*t.chartColors.length):d])}`,t.dataBorder&&(s+=`${ft(t.dataBorder.color)}`),s+=Mn(t.shadow,zn),s+=" ",s+=""}),s+="",c.labels[0].forEach((u,d)=>{s+="",s+=` `,s+=` `,s+=" ",s+=" ",s+=" ",s+=` `,s+=" "+ft(t.dataLabelColor||nr)+"",s+=` `,s+=" ",s+=" ",s+=" ",e===Ce.PIE&&t.dataLabelPosition&&(s+=``),s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=" "}),s+=` `,s+=" ",s+=" ",s+=" ",s+=" ",s+=" ",s+=` `,s+=' ',s+=" ",s+=" ",s+=" ",s+=" ",s+=e===Ce.PIE?'':"",s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=' ',s+=` `,s+="",s+="",s+=" ",s+=` Sheet1!$A$2:$A$${c.labels[0].length+1}`,s+=" ",s+=` `,c.labels[0].forEach((u,d)=>{s+=`${Ve(u)}`}),s+=" ",s+=" ",s+="",s+=" ",s+=" ",s+=` Sheet1!$B$2:$B$${c.labels[0].length+1}`,s+=" ",s+=` `,c.values.forEach((u,d)=>{s+=`${u||u===0?u:""}`}),s+=" ",s+=" ",s+=" ",s+=" ",s+=` `,e===Ce.DOUGHNUT&&(s+=``),s+="";break;default:s+="";break}return s}function Rs(e,r,t){let n="";return e._type===Ce.SCATTER||e._type===Ce.BUBBLE||e._type===Ce.BUBBLE3D?n+="":n+="",n+=' ',n+=" ",n+='',(e.catAxisMaxVal||e.catAxisMaxVal===0)&&(n+=``),(e.catAxisMinVal||e.catAxisMinVal===0)&&(n+=``),n+="",n+=' ',n+=' ',n+=e.catGridLine.style!=="none"?Tl(e.catGridLine):"",e.showCatAxisTitle&&(n+=Uo({color:e.catAxisTitleColor,fontFace:e.catAxisTitleFontFace,fontSize:e.catAxisTitleFontSize,titleRotate:e.catAxisTitleRotate,title:e.catAxisTitle||"Axis Title"})),e._type===Ce.SCATTER||e._type===Ce.BUBBLE||e._type===Ce.BUBBLE3D?n+=' ':n+=' ',e._type===Ce.SCATTER?(n+=' ',n+=' ',n+=' '):(n+=' ',n+=' ',n+=' '),n+=" ",n+=` `,n+=e.catAxisLineShow?""+ft(e.catAxisLineColor||_n.color)+"":"",n+=' ',n+=" ",n+=" ",n+=" ",n+=" ",e.catAxisLabelRotate?n+=``:n+="",n+=" ",n+=" ",n+=" ",n+=` `,n+=" "+ft(e.catAxisLabelColor||nr)+"",n+=' ',n+=" ",n+=" ",n+=' ',n+=" ",n+=" ",n+=' ',n+=` `,n+=' ',n+=' ',n+=` `,e.catAxisLabelFrequency&&(n+=' '),(e.catLabelFormatCode||e._type===Ce.SCATTER||e._type===Ce.BUBBLE||e._type===Ce.BUBBLE3D)&&(e.catLabelFormatCode&&(["catAxisBaseTimeUnit","catAxisMajorTimeUnit","catAxisMinorTimeUnit"].forEach(i=>{e[i]&&(typeof e[i]!="string"||!["days","months","years"].includes(e[i].toLowerCase()))&&(console.warn(`"${i}" must be one of: 'days','months','years' !`),e[i]=null)}),e.catAxisBaseTimeUnit&&(n+=''),e.catAxisMajorTimeUnit&&(n+=''),e.catAxisMinorTimeUnit&&(n+='')),e.catAxisMajorUnit&&(n+=``),e.catAxisMinorUnit&&(n+=``)),e._type===Ce.SCATTER||e._type===Ce.BUBBLE||e._type===Ce.BUBBLE3D?n+="":n+="",n}function Ls(e,r){let t=r===qr?e.barDir==="col"?"l":"b":e.barDir!=="col"?"r":"t";r===no&&(t="r");let n=r===qr?qi:Qs,i="";return i+="",i+=' ',i+=" ",e.valAxisLogScaleBase&&(i+=``),i+='',(e.valAxisMaxVal||e.valAxisMaxVal===0)&&(i+=``),(e.valAxisMinVal||e.valAxisMinVal===0)&&(i+=``),i+=" ",i+=` `,i+=' ',e.valGridLine.style!=="none"&&(i+=Tl(e.valGridLine)),e.showValAxisTitle&&(i+=Uo({color:e.valAxisTitleColor,fontFace:e.valAxisTitleFontFace,fontSize:e.valAxisTitleFontSize,titleRotate:e.valAxisTitleRotate,title:e.valAxisTitle||"Axis Title"})),i+=``,e._type===Ce.SCATTER?(i+=' ',i+=' ',i+=' '):(i+=' ',i+=' ',i+=' '),i+=" ",i+=` `,i+=e.valAxisLineShow?""+ft(e.valAxisLineColor||_n.color)+"":"",i+=' ',i+=" ",i+=" ",i+=" ",i+=" ",i+=` `,i+=" ",i+=" ",i+=" ",i+=` `,i+=" "+ft(e.valAxisLabelColor||nr)+"",i+=' ',i+=" ",i+=" ",i+=' ',i+=" ",i+=" ",i+=' ',typeof e.catAxisCrossesAt=="number"?i+=` `:typeof e.catAxisCrossesAt=="string"?i+=' ':i+=' ',i+=' ',e.valAxisMajorUnit&&(i+=` `),e.valAxisDisplayUnit&&(i+=`${e.valAxisDisplayUnitLabel?"":""}`),i+="",i}function P0(e,r,t){let n="";return n+="",n+=' ',n+=' ',n+=' ',n+=' ',n+=e.serGridLine.style!=="none"?Tl(e.serGridLine):"",e.showSerAxisTitle&&(n+=Uo({color:e.serAxisTitleColor,fontFace:e.serAxisTitleFontFace,fontSize:e.serAxisTitleFontSize,titleRotate:e.serAxisTitleRotate,title:e.serAxisTitle||"Axis Title"})),n+=` `,n+=' ',n+=' ',n+=` `,n+=" ",n+=' ',n+=e.serAxisLineShow?`${ft(e.serAxisLineColor||_n.color)}`:"",n+=' ',n+=" ",n+=" ",n+=" ",n+=" ",n+=" ",n+=" ",n+=" ",n+=" ",n+=` `,n+=` ${ft(e.serAxisLabelColor||nr)}`,n+=` `,n+=" ",n+=" ",n+=' ',n+=" ",n+=" ",n+=' ',n+=' ',e.serAxisLabelFrequency&&(n+=' '),e.serLabelFormatCode&&(["serAxisBaseTimeUnit","serAxisMajorTimeUnit","serAxisMinorTimeUnit"].forEach(i=>{e[i]&&(typeof e[i]!="string"||!["days","months","years"].includes(i.toLowerCase()))&&(console.warn(`"${i}" must be one of: 'days','months','years' !`),e[i]=null)}),e.serAxisBaseTimeUnit&&(n+=` `),e.serAxisMajorTimeUnit&&(n+=` `),e.serAxisMinorTimeUnit&&(n+=` `),e.serAxisMajorUnit&&(n+=` `),e.serAxisMinorUnit&&(n+=` `)),n+="",n}function Uo(e,r,t){let n=e.titleAlign==="left"||e.titleAlign==="right"?``:"",i=e.titleRotate?``:"",a=e.fontSize?`sz="${Math.round(e.fontSize*100)}"`:"",o=e.titleBold?1:0,l="";if(e.titlePos&&typeof e.titlePos.x=="number"&&typeof e.titlePos.y=="number"){let c=e.titlePos.x+r,s=e.titlePos.y+t,u=c===0?0:c*(c/5)/10;u>=1&&(u=u/10),u>=.1&&(u=u/10);let d=s===0?0:s*(s/5)/10;d>=1&&(d=d/10),d>=.1&&(d=d/10),l=``}return` + if (Array.isArray(rel.opts._type)) { + rel.opts._type.forEach((type) => { + const options = Object.assign(Object.assign({}, rel.opts), type.options); + const valAxisId = options.secondaryValAxis ? AXIS_ID_VALUE_SECONDARY : AXIS_ID_VALUE_PRIMARY; + const catAxisId = options.secondaryCatAxis ? AXIS_ID_CATEGORY_SECONDARY : AXIS_ID_CATEGORY_PRIMARY; + usesSecondaryValAxis = usesSecondaryValAxis || options.secondaryValAxis; + strXml += makeChartType(type.type, type.data, options, valAxisId, catAxisId); + }); + } else { + strXml += makeChartType(rel.opts._type, rel.data, rel.opts, AXIS_ID_VALUE_PRIMARY, AXIS_ID_CATEGORY_PRIMARY); + } + if (rel.opts._type !== CHART_TYPE.PIE && rel.opts._type !== CHART_TYPE.DOUGHNUT) { + if (rel.opts.valAxes && rel.opts.valAxes.length > 1 && !usesSecondaryValAxis) { + throw new Error("Secondary axis must be used by one of the multiple charts"); + } + if (rel.opts.catAxes) { + if (!rel.opts.valAxes || rel.opts.valAxes.length !== rel.opts.catAxes.length) { + throw new Error("There must be the same number of value and category axes."); + } + strXml += makeCatAxis(Object.assign(Object.assign({}, rel.opts), rel.opts.catAxes[0]), AXIS_ID_CATEGORY_PRIMARY, AXIS_ID_VALUE_PRIMARY); + } else { + strXml += makeCatAxis(rel.opts, AXIS_ID_CATEGORY_PRIMARY, AXIS_ID_VALUE_PRIMARY); + } + if (rel.opts.valAxes) { + strXml += makeValAxis(Object.assign(Object.assign({}, rel.opts), rel.opts.valAxes[0]), AXIS_ID_VALUE_PRIMARY); + if (rel.opts.valAxes[1]) { + strXml += makeValAxis(Object.assign(Object.assign({}, rel.opts), rel.opts.valAxes[1]), AXIS_ID_VALUE_SECONDARY); + } + } else { + strXml += makeValAxis(rel.opts, AXIS_ID_VALUE_PRIMARY); + if (rel.opts._type === CHART_TYPE.BAR3D) { + strXml += makeSerAxis(rel.opts, AXIS_ID_SERIES_PRIMARY, AXIS_ID_VALUE_PRIMARY); + } + } + if (((_a = rel.opts) === null || _a === void 0 ? void 0 : _a.catAxes) && ((_b = rel.opts) === null || _b === void 0 ? void 0 : _b.catAxes[1])) { + strXml += makeCatAxis(Object.assign(Object.assign({}, rel.opts), rel.opts.catAxes[1]), AXIS_ID_CATEGORY_SECONDARY, AXIS_ID_VALUE_SECONDARY); + } + } + { + if (rel.opts.showDataTable) { + strXml += ""; + strXml += ` `; + strXml += ` `; + strXml += ` `; + strXml += ` `; + strXml += " "; + strXml += " "; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += ' '; + strXml += ` `; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += ""; + } + strXml += " "; + strXml += ((_c = rel.opts.plotArea.fill) === null || _c === void 0 ? void 0 : _c.color) ? genXmlColorSelection(rel.opts.plotArea.fill) : ""; + strXml += rel.opts.plotArea.border ? `${genXmlColorSelection(rel.opts.plotArea.border.color)}` : ""; + strXml += " "; + strXml += " "; + strXml += ""; + if (rel.opts.showLegend) { + strXml += ""; + strXml += ''; + strXml += ''; + if (rel.opts.legendFontFace || rel.opts.legendFontSize || rel.opts.legendColor) { + strXml += ""; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += rel.opts.legendFontSize ? `` : ""; + if (rel.opts.legendColor) + strXml += genXmlColorSelection(rel.opts.legendColor); + if (rel.opts.legendFontFace) + strXml += ''; + if (rel.opts.legendFontFace) + strXml += ''; + strXml += " "; + strXml += " "; + strXml += ' '; + strXml += " "; + strXml += ""; + } + strXml += ""; + } + } + strXml += ' '; + strXml += ' '; + if (rel.opts._type === CHART_TYPE.SCATTER) + strXml += ''; + strXml += ""; + strXml += ""; + strXml += ((_d = rel.opts.chartArea.fill) === null || _d === void 0 ? void 0 : _d.color) ? genXmlColorSelection(rel.opts.chartArea.fill) : ""; + strXml += rel.opts.chartArea.border ? `${genXmlColorSelection(rel.opts.chartArea.border.color)}` : ""; + strXml += " "; + strXml += ""; + strXml += ''; + strXml += ""; + return strXml; +} +function makeChartType(chartType, data, opts, valAxisId, catAxisId, isMultiTypeChart) { + let colorIndex = -1; + let idxColLtr = 1; + let optsChartData = null; + let strXml = ""; + switch (chartType) { + case CHART_TYPE.AREA: + case CHART_TYPE.BAR: + case CHART_TYPE.BAR3D: + case CHART_TYPE.LINE: + case CHART_TYPE.RADAR: + strXml += ``; + if (chartType === CHART_TYPE.AREA && opts.barGrouping === "stacked") { + strXml += ''; + } + if (chartType === CHART_TYPE.BAR || chartType === CHART_TYPE.BAR3D) { + strXml += ''; + strXml += ''; + } + if (chartType === CHART_TYPE.RADAR) { + strXml += ''; + } + strXml += ''; + data.forEach((obj) => { + var _a; + colorIndex++; + strXml += ""; + strXml += ` `; + strXml += " "; + strXml += " "; + strXml += " Sheet1!$" + getExcelColName(obj._dataIndex + obj.labels.length + 1) + "$1"; + strXml += ' ' + encodeXmlEntities(obj.name) + ""; + strXml += " "; + strXml += " "; + const seriesColor = opts.chartColors ? opts.chartColors[colorIndex % opts.chartColors.length] : null; + strXml += " "; + if (seriesColor === "transparent") { + strXml += ""; + } else if (opts.chartColorsOpacity) { + strXml += "" + createColorElement(seriesColor, ``) + ""; + } else { + strXml += "" + createColorElement(seriesColor) + ""; + } + if (chartType === CHART_TYPE.LINE || chartType === CHART_TYPE.RADAR) { + if (opts.lineSize === 0) { + strXml += ""; + } else { + strXml += `${createColorElement(seriesColor)}`; + strXml += ''; + } + } else if (opts.dataBorder) { + strXml += `${createColorElement(opts.dataBorder.color)}`; + } + strXml += createShadowElement(opts.shadow, DEF_SHAPE_SHADOW); + strXml += " "; + strXml += ' '; + if (chartType !== CHART_TYPE.RADAR) { + strXml += ""; + strXml += ``; + if (opts.dataLabelBkgrdColors) + strXml += `${createColorElement(seriesColor)}`; + strXml += ""; + strXml += ``; + strXml += `${createColorElement(opts.dataLabelColor || DEF_FONT_COLOR)}`; + strXml += ``; + strXml += ""; + if (opts.dataLabelPosition) + strXml += ``; + strXml += ''; + strXml += ``; + strXml += ``; + strXml += ``; + strXml += ""; + } + if (chartType === CHART_TYPE.LINE || chartType === CHART_TYPE.RADAR) { + strXml += ""; + strXml += ' '; + if (opts.lineDataSymbolSize) + strXml += ``; + strXml += " "; + strXml += ` ${createColorElement(opts.chartColors[obj._dataIndex + 1 > opts.chartColors.length ? Math.floor(Math.random() * opts.chartColors.length) : obj._dataIndex])}`; + strXml += ` ${createColorElement(opts.lineDataSymbolLineColor || seriesColor)}`; + strXml += " "; + strXml += " "; + strXml += ""; + } + if ((chartType === CHART_TYPE.BAR || chartType === CHART_TYPE.BAR3D) && data.length === 1 && (opts.chartColors && opts.chartColors !== BARCHART_COLORS && opts.chartColors.length > 1 || ((_a = opts.invertedColors) === null || _a === void 0 ? void 0 : _a.length))) { + obj.values.forEach((value2, index) => { + const arrColors = value2 < 0 ? opts.invertedColors || opts.chartColors || BARCHART_COLORS : opts.chartColors || []; + strXml += " "; + strXml += ` `; + strXml += ' '; + strXml += ' '; + strXml += " "; + if (opts.lineSize === 0) { + strXml += ""; + } else if (chartType === CHART_TYPE.BAR) { + strXml += ""; + strXml += ' '; + strXml += ""; + } else { + strXml += ""; + strXml += " "; + strXml += ' '; + strXml += " "; + strXml += ""; + } + strXml += createShadowElement(opts.shadow, DEF_SHAPE_SHADOW); + strXml += " "; + strXml += " "; + }); + } + { + strXml += ""; + if (opts.catLabelFormatCode) { + strXml += " "; + strXml += ` Sheet1!$A$2:$A$${obj.labels[0].length + 1}`; + strXml += " "; + strXml += " " + (opts.catLabelFormatCode || "General") + ""; + strXml += ` `; + obj.labels[0].forEach((label, idx) => strXml += `${encodeXmlEntities(label)}`); + strXml += " "; + strXml += " "; + } else { + strXml += " "; + strXml += ` Sheet1!$A$2:$${getExcelColName(obj.labels.length)}$${obj.labels[0].length + 1}`; + strXml += " "; + strXml += ` `; + obj.labels.forEach((labelsGroup) => { + strXml += ""; + labelsGroup.forEach((label, idx) => strXml += `${encodeXmlEntities(label)}`); + strXml += ""; + }); + strXml += " "; + strXml += " "; + } + strXml += ""; + } + { + strXml += ""; + strXml += " "; + strXml += `Sheet1!$${getExcelColName(obj._dataIndex + obj.labels.length + 1)}$2:$${getExcelColName(obj._dataIndex + obj.labels.length + 1)}$${obj.labels[0].length + 1}`; + strXml += " "; + strXml += " " + (opts.valLabelFormatCode || opts.dataTableFormatCode || "General") + ""; + strXml += ` `; + obj.values.forEach((value2, idx) => strXml += `${value2 || value2 === 0 ? value2 : ""}`); + strXml += " "; + strXml += " "; + strXml += ""; + } + if (chartType === CHART_TYPE.LINE) + strXml += ''; + strXml += ""; + }); + { + strXml += " "; + strXml += ` `; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += ` `; + strXml += " " + createColorElement(opts.dataLabelColor || DEF_FONT_COLOR) + ""; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += " "; + if (opts.dataLabelPosition) + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ` `; + strXml += " "; + } + if (chartType === CHART_TYPE.BAR) { + strXml += ` `; + strXml += ` `; + } else if (chartType === CHART_TYPE.BAR3D) { + strXml += ` `; + strXml += ` `; + strXml += ' '; + } else if (chartType === CHART_TYPE.LINE) { + strXml += ' '; + } + strXml += ``; + strXml += ``; + break; + case CHART_TYPE.SCATTER: + strXml += ""; + strXml += ''; + strXml += ''; + colorIndex = -1; + data.filter((_obj, idx) => idx > 0).forEach((obj, idx) => { + colorIndex++; + strXml += ""; + strXml += ` `; + strXml += ` `; + strXml += " "; + strXml += " "; + strXml += ` Sheet1!$${getExcelColName(idx + 2)}$1`; + strXml += ' ' + encodeXmlEntities(obj.name) + ""; + strXml += " "; + strXml += " "; + strXml += " "; + { + const tmpSerColor = opts.chartColors[colorIndex % opts.chartColors.length]; + if (tmpSerColor === "transparent") { + strXml += ""; + } else if (opts.chartColorsOpacity) { + strXml += "" + createColorElement(tmpSerColor, '') + ""; + } else { + strXml += "" + createColorElement(tmpSerColor) + ""; + } + if (opts.lineSize === 0) { + strXml += ""; + } else { + strXml += `${createColorElement(tmpSerColor)}`; + strXml += ``; + } + strXml += createShadowElement(opts.shadow, DEF_SHAPE_SHADOW); + } + strXml += " "; + { + strXml += ""; + strXml += ' '; + if (opts.lineDataSymbolSize) { + strXml += ``; + } + strXml += ""; + strXml += `${createColorElement(opts.chartColors[idx + 1 > opts.chartColors.length ? Math.floor(Math.random() * opts.chartColors.length) : idx])}`; + strXml += `${createColorElement(opts.lineDataSymbolLineColor || opts.chartColors[colorIndex % opts.chartColors.length])}`; + strXml += ""; + strXml += ""; + strXml += ""; + } + if (opts.showLabel) { + const chartUuid = getUuid("-xxxx-xxxx-xxxx-xxxxxxxxxxxx"); + if (obj.labels[0] && (opts.dataLabelFormatScatter === "custom" || opts.dataLabelFormatScatter === "customXY")) { + strXml += ""; + obj.labels[0].forEach((label, idx2) => { + if (opts.dataLabelFormatScatter === "custom" || opts.dataLabelFormatScatter === "customXY") { + strXml += " "; + strXml += ` `; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += ' '; + strXml += " " + encodeXmlEntities(label) + ""; + strXml += " "; + if (opts.dataLabelFormatScatter === "customXY" && !/^ *$/.test(label)) { + strXml += " "; + strXml += ' '; + strXml += " ("; + strXml += " "; + strXml += ' '; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " [" + encodeXmlEntities(obj.name) + ""; + strXml += " "; + strXml += " "; + strXml += ' '; + strXml += " , "; + strXml += " "; + strXml += ' '; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " [" + encodeXmlEntities(obj.name) + "]"; + strXml += " "; + strXml += " "; + strXml += ' '; + strXml += " )"; + strXml += " "; + strXml += ' '; + } + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + if (opts.dataLabelPosition) + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += " "; + strXml += ' '; + strXml += ' '; + strXml += ` `; + strXml += " "; + strXml += " "; + strXml += ""; + } + }); + strXml += ""; + } + if (opts.dataLabelFormatScatter === "XY") { + strXml += ""; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += ' '; + strXml += " "; + strXml += " "; + if (opts.dataLabelPosition) + strXml += ' '; + strXml += ' '; + strXml += ` `; + strXml += ` `; + strXml += ` `; + strXml += ' '; + strXml += ' '; + strXml += " "; + strXml += ' '; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += ""; + } + } + if (data.length === 1 && opts.chartColors !== BARCHART_COLORS) { + obj.values.forEach((value2, index) => { + const arrColors = value2 < 0 ? opts.invertedColors || opts.chartColors || BARCHART_COLORS : opts.chartColors || []; + strXml += " "; + strXml += ` `; + strXml += ' '; + strXml += ' '; + strXml += " "; + if (opts.lineSize === 0) { + strXml += ""; + } else { + strXml += ""; + strXml += ' '; + strXml += ""; + } + strXml += createShadowElement(opts.shadow, DEF_SHAPE_SHADOW); + strXml += " "; + strXml += " "; + }); + } + { + strXml += ""; + strXml += " "; + strXml += ` Sheet1!$A$2:$A$${data[0].values.length + 1}`; + strXml += " "; + strXml += " General"; + strXml += ` `; + data[0].values.forEach((value2, idx2) => { + strXml += `${value2 || value2 === 0 ? value2 : ""}`; + }); + strXml += " "; + strXml += " "; + strXml += ""; + strXml += ""; + strXml += " "; + strXml += ` Sheet1!$${getExcelColName(idx + 2)}$2:$${getExcelColName(idx + 2)}$${data[0].values.length + 1}`; + strXml += " "; + strXml += " General"; + strXml += ` `; + data[0].values.forEach((_value, idx2) => { + strXml += `${obj.values[idx2] || obj.values[idx2] === 0 ? obj.values[idx2] : ""}`; + }); + strXml += " "; + strXml += " "; + strXml += ""; + } + strXml += ''; + strXml += ""; + }); + { + strXml += " "; + strXml += ` `; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += ` `; + strXml += " " + createColorElement(opts.dataLabelColor || DEF_FONT_COLOR) + ""; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += " "; + if (opts.dataLabelPosition) + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += " "; + } + strXml += ``; + strXml += ""; + break; + case CHART_TYPE.BUBBLE: + case CHART_TYPE.BUBBLE3D: + strXml += ""; + strXml += ''; + colorIndex = -1; + data.filter((_obj, idx) => idx > 0).forEach((obj, idx) => { + colorIndex++; + strXml += ""; + strXml += ` `; + strXml += ` `; + strXml += " "; + strXml += " "; + strXml += " Sheet1!$" + getExcelColName(idxColLtr + 1) + "$1"; + strXml += ' ' + encodeXmlEntities(obj.name) + ""; + strXml += " "; + strXml += " "; + { + strXml += ""; + const tmpSerColor = opts.chartColors[colorIndex % opts.chartColors.length]; + if (tmpSerColor === "transparent") { + strXml += ""; + } else if (opts.chartColorsOpacity) { + strXml += `${createColorElement(tmpSerColor, '')}`; + } else { + strXml += "" + createColorElement(tmpSerColor) + ""; + } + if (opts.lineSize === 0) { + strXml += ""; + } else if (opts.dataBorder) { + strXml += `${createColorElement(opts.dataBorder.color)}`; + } else { + strXml += `${createColorElement(tmpSerColor)}`; + strXml += ``; + } + strXml += createShadowElement(opts.shadow, DEF_SHAPE_SHADOW); + strXml += ""; + } + { + strXml += ""; + strXml += " "; + strXml += ` Sheet1!$A$2:$A$${data[0].values.length + 1}`; + strXml += " "; + strXml += " General"; + strXml += ` `; + data[0].values.forEach((value2, idx2) => { + strXml += `${value2 || value2 === 0 ? value2 : ""}`; + }); + strXml += " "; + strXml += " "; + strXml += ""; + strXml += ""; + strXml += " "; + strXml += `Sheet1!$${getExcelColName(idxColLtr + 1)}$2:$${getExcelColName(idxColLtr + 1)}$${data[0].values.length + 1}`; + idxColLtr++; + strXml += " "; + strXml += " General"; + strXml += ` `; + data[0].values.forEach((_value, idx2) => { + strXml += `${obj.values[idx2] || obj.values[idx2] === 0 ? obj.values[idx2] : ""}`; + }); + strXml += " "; + strXml += " "; + strXml += ""; + } + strXml += " "; + strXml += " "; + strXml += `Sheet1!$${getExcelColName(idxColLtr + 1)}$2:$${getExcelColName(idxColLtr + 1)}$${obj.sizes.length + 1}`; + idxColLtr++; + strXml += " "; + strXml += " General"; + strXml += ` `; + obj.sizes.forEach((value2, idx2) => { + strXml += `${value2 || ""}`; + }); + strXml += " "; + strXml += " "; + strXml += " "; + strXml += ' '; + strXml += ""; + }); + { + strXml += ""; + strXml += ``; + strXml += ""; + strXml += ``; + strXml += `${createColorElement(opts.dataLabelColor || DEF_FONT_COLOR)}`; + strXml += ``; + strXml += ""; + if (opts.dataLabelPosition) + strXml += ``; + strXml += ''; + strXml += ``; + strXml += ``; + strXml += ""; + strXml += ' '; + strXml += ' '; + strXml += " "; + strXml += ""; + strXml += ""; + } + strXml += ``; + strXml += ""; + break; + case CHART_TYPE.DOUGHNUT: + case CHART_TYPE.PIE: + optsChartData = data[0]; + strXml += ""; + strXml += ' '; + strXml += ""; + strXml += ' '; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += " Sheet1!$B$1"; + strXml += " "; + strXml += ' '; + strXml += ' ' + encodeXmlEntities(optsChartData.name) + ""; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += ' '; + strXml += ' '; + if (opts.dataNoEffects) { + strXml += ""; + } else { + strXml += createShadowElement(opts.shadow, DEF_SHAPE_SHADOW); + } + strXml += " "; + optsChartData.labels[0].forEach((_label, idx) => { + strXml += ""; + strXml += ` `; + strXml += ' '; + strXml += " "; + strXml += `${createColorElement(opts.chartColors[idx + 1 > opts.chartColors.length ? Math.floor(Math.random() * opts.chartColors.length) : idx])}`; + if (opts.dataBorder) { + strXml += `${createColorElement(opts.dataBorder.color)}`; + } + strXml += createShadowElement(opts.shadow, DEF_SHAPE_SHADOW); + strXml += " "; + strXml += ""; + }); + strXml += ""; + optsChartData.labels[0].forEach((_label, idx) => { + strXml += ""; + strXml += ` `; + strXml += ` `; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += ` `; + strXml += " " + createColorElement(opts.dataLabelColor || DEF_FONT_COLOR) + ""; + strXml += ` `; + strXml += " "; + strXml += " "; + strXml += " "; + if (chartType === CHART_TYPE.PIE && opts.dataLabelPosition) + strXml += ``; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += " "; + }); + strXml += ` `; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += ` `; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += chartType === CHART_TYPE.PIE ? '' : ""; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ` `; + strXml += ""; + strXml += ""; + strXml += " "; + strXml += ` Sheet1!$A$2:$A$${optsChartData.labels[0].length + 1}`; + strXml += " "; + strXml += ` `; + optsChartData.labels[0].forEach((label, idx) => { + strXml += `${encodeXmlEntities(label)}`; + }); + strXml += " "; + strXml += " "; + strXml += ""; + strXml += " "; + strXml += " "; + strXml += ` Sheet1!$B$2:$B$${optsChartData.labels[0].length + 1}`; + strXml += " "; + strXml += ` `; + optsChartData.values.forEach((value2, idx) => { + strXml += `${value2 || value2 === 0 ? value2 : ""}`; + }); + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += ` `; + if (chartType === CHART_TYPE.DOUGHNUT) + strXml += ``; + strXml += ""; + break; + default: + strXml += ""; + break; + } + return strXml; +} +function makeCatAxis(opts, axisId, valAxisId) { + let strXml = ""; + if (opts._type === CHART_TYPE.SCATTER || opts._type === CHART_TYPE.BUBBLE || opts._type === CHART_TYPE.BUBBLE3D) { + strXml += ""; + } else { + strXml += ""; + } + strXml += ' '; + strXml += " "; + strXml += ''; + if (opts.catAxisMaxVal || opts.catAxisMaxVal === 0) + strXml += ``; + if (opts.catAxisMinVal || opts.catAxisMinVal === 0) + strXml += ``; + strXml += ""; + strXml += ' '; + strXml += ' '; + strXml += opts.catGridLine.style !== "none" ? createGridLineElement(opts.catGridLine) : ""; + if (opts.showCatAxisTitle) { + strXml += genXmlTitle({ + color: opts.catAxisTitleColor, + fontFace: opts.catAxisTitleFontFace, + fontSize: opts.catAxisTitleFontSize, + titleRotate: opts.catAxisTitleRotate, + title: opts.catAxisTitle || "Axis Title" + }); + } + if (opts._type === CHART_TYPE.SCATTER || opts._type === CHART_TYPE.BUBBLE || opts._type === CHART_TYPE.BUBBLE3D) { + strXml += ' '; + } else { + strXml += ' '; + } + if (opts._type === CHART_TYPE.SCATTER) { + strXml += ' '; + strXml += ' '; + strXml += ' '; + } else { + strXml += ' '; + strXml += ' '; + strXml += ' '; + } + strXml += " "; + strXml += ` `; + strXml += !opts.catAxisLineShow ? "" : "" + createColorElement(opts.catAxisLineColor || DEF_CHART_GRIDLINE.color) + ""; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + if (opts.catAxisLabelRotate) { + strXml += ``; + } else { + strXml += ""; + } + strXml += " "; + strXml += " "; + strXml += " "; + strXml += ` `; + strXml += " " + createColorElement(opts.catAxisLabelColor || DEF_FONT_COLOR) + ""; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += ' '; + strXml += ` `; + strXml += ' '; + strXml += ' '; + strXml += ` `; + if (opts.catAxisLabelFrequency) + strXml += ' '; + if (opts.catLabelFormatCode || opts._type === CHART_TYPE.SCATTER || opts._type === CHART_TYPE.BUBBLE || opts._type === CHART_TYPE.BUBBLE3D) { + if (opts.catLabelFormatCode) { + ["catAxisBaseTimeUnit", "catAxisMajorTimeUnit", "catAxisMinorTimeUnit"].forEach((opt) => { + if (opts[opt] && (typeof opts[opt] !== "string" || !["days", "months", "years"].includes(opts[opt].toLowerCase()))) { + console.warn(`"${opt}" must be one of: 'days','months','years' !`); + opts[opt] = null; + } + }); + if (opts.catAxisBaseTimeUnit) + strXml += ''; + if (opts.catAxisMajorTimeUnit) + strXml += ''; + if (opts.catAxisMinorTimeUnit) + strXml += ''; + } + if (opts.catAxisMajorUnit) + strXml += ``; + if (opts.catAxisMinorUnit) + strXml += ``; + } + if (opts._type === CHART_TYPE.SCATTER || opts._type === CHART_TYPE.BUBBLE || opts._type === CHART_TYPE.BUBBLE3D) { + strXml += ""; + } else { + strXml += ""; + } + return strXml; +} +function makeValAxis(opts, valAxisId) { + let axisPos = valAxisId === AXIS_ID_VALUE_PRIMARY ? opts.barDir === "col" ? "l" : "b" : opts.barDir !== "col" ? "r" : "t"; + if (valAxisId === AXIS_ID_VALUE_SECONDARY) + axisPos = "r"; + const crossAxId = valAxisId === AXIS_ID_VALUE_PRIMARY ? AXIS_ID_CATEGORY_PRIMARY : AXIS_ID_CATEGORY_SECONDARY; + let strXml = ""; + strXml += ""; + strXml += ' '; + strXml += " "; + if (opts.valAxisLogScaleBase) + strXml += ``; + strXml += ''; + if (opts.valAxisMaxVal || opts.valAxisMaxVal === 0) + strXml += ``; + if (opts.valAxisMinVal || opts.valAxisMinVal === 0) + strXml += ``; + strXml += " "; + strXml += ` `; + strXml += ' '; + if (opts.valGridLine.style !== "none") + strXml += createGridLineElement(opts.valGridLine); + if (opts.showValAxisTitle) { + strXml += genXmlTitle({ + color: opts.valAxisTitleColor, + fontFace: opts.valAxisTitleFontFace, + fontSize: opts.valAxisTitleFontSize, + titleRotate: opts.valAxisTitleRotate, + title: opts.valAxisTitle || "Axis Title" + }); + } + strXml += ``; + if (opts._type === CHART_TYPE.SCATTER) { + strXml += ' '; + strXml += ' '; + strXml += ' '; + } else { + strXml += ' '; + strXml += ' '; + strXml += ' '; + } + strXml += " "; + strXml += ` `; + strXml += !opts.valAxisLineShow ? "" : "" + createColorElement(opts.valAxisLineColor || DEF_CHART_GRIDLINE.color) + ""; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += ` `; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += ` `; + strXml += " " + createColorElement(opts.valAxisLabelColor || DEF_FONT_COLOR) + ""; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += ' '; + if (typeof opts.catAxisCrossesAt === "number") { + strXml += ` `; + } else if (typeof opts.catAxisCrossesAt === "string") { + strXml += ' '; + } else { + const isRight = axisPos === "r" || axisPos === "t"; + const crosses = isRight ? "max" : "autoZero"; + strXml += ' '; + } + strXml += ' '; + if (opts.valAxisMajorUnit) + strXml += ` `; + if (opts.valAxisDisplayUnit) { + strXml += `${opts.valAxisDisplayUnitLabel ? "" : ""}`; + } + strXml += ""; + return strXml; +} +function makeSerAxis(opts, axisId, valAxisId) { + let strXml = ""; + strXml += ""; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += ' '; + strXml += opts.serGridLine.style !== "none" ? createGridLineElement(opts.serGridLine) : ""; + if (opts.showSerAxisTitle) { + strXml += genXmlTitle({ + color: opts.serAxisTitleColor, + fontFace: opts.serAxisTitleFontFace, + fontSize: opts.serAxisTitleFontSize, + titleRotate: opts.serAxisTitleRotate, + title: opts.serAxisTitle || "Axis Title" + }); + } + strXml += ` `; + strXml += ' '; + strXml += ' '; + strXml += ` `; + strXml += " "; + strXml += ' '; + strXml += !opts.serAxisLineShow ? "" : `${createColorElement(opts.serAxisLineColor || DEF_CHART_GRIDLINE.color)}`; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += " "; + strXml += ` `; + strXml += ` ${createColorElement(opts.serAxisLabelColor || DEF_FONT_COLOR)}`; + strXml += ` `; + strXml += " "; + strXml += " "; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += ' '; + strXml += ' '; + if (opts.serAxisLabelFrequency) + strXml += ' '; + if (opts.serLabelFormatCode) { + ["serAxisBaseTimeUnit", "serAxisMajorTimeUnit", "serAxisMinorTimeUnit"].forEach((opt) => { + if (opts[opt] && (typeof opts[opt] !== "string" || !["days", "months", "years"].includes(opt.toLowerCase()))) { + console.warn(`"${opt}" must be one of: 'days','months','years' !`); + opts[opt] = null; + } + }); + if (opts.serAxisBaseTimeUnit) + strXml += ` `; + if (opts.serAxisMajorTimeUnit) + strXml += ` `; + if (opts.serAxisMinorTimeUnit) + strXml += ` `; + if (opts.serAxisMajorUnit) + strXml += ` `; + if (opts.serAxisMinorUnit) + strXml += ` `; + } + strXml += ""; + return strXml; +} +function genXmlTitle(opts, chartX, chartY) { + const align = opts.titleAlign === "left" || opts.titleAlign === "right" ? `` : ""; + const rotate = opts.titleRotate ? `` : ""; + const sizeAttr = opts.fontSize ? `sz="${Math.round(opts.fontSize * 100)}"` : ""; + const titleBold = opts.titleBold ? 1 : 0; + let layout = ""; + if (opts.titlePos && typeof opts.titlePos.x === "number" && typeof opts.titlePos.y === "number") { + const totalX = opts.titlePos.x + chartX; + const totalY = opts.titlePos.y + chartY; + let valX = totalX === 0 ? 0 : totalX * (totalX / 5) / 10; + if (valX >= 1) + valX = valX / 10; + if (valX >= 0.1) + valX = valX / 10; + let valY = totalY === 0 ? 0 : totalY * (totalY / 5) / 10; + if (valY >= 1) + valY = valY / 10; + if (valY >= 0.1) + valY = valY / 10; + layout = ``; + } + return ` - ${i} + ${rotate} - ${n} - - ${ft(e.color||nr)} - + ${align} + + ${createColorElement(opts.color || DEF_FONT_COLOR)} + - - ${ft(e.color||nr)} - + + ${createColorElement(opts.color || DEF_FONT_COLOR)} + - ${Ve(e.title)||""} + ${encodeXmlEntities(opts.title) || ""} - ${l} + ${layout} - `}function yt(e){let r="",t=e-1;return t<=25?r=Mi[t]:r=`${Mi[Math.floor(t/Mi.length-1)]}${Mi[t%Mi.length]}`,r}function Mn(e,r){if(e){if(typeof e!="object")return console.warn("`shadow` options must be an object. Ex: `{shadow: {type:'none'}}`"),""}else return"";let t="",n=Object.assign(Object.assign({},r),e),i=n.type||"outer",a=Ge(n.blur),o=Ge(n.offset),l=Math.round(n.angle*6e4),c=n.color,s=Math.round(n.opacity*1e5),u=n.rotateWithShape?1:0;return t+=``,t+=``,t+=``,t+=``,t+="",t}function Tl(e){let r="";return r+=" ",r+=` `,r+=' ',r+=' ',r+=" ",r+=" ",r+="",r}function ao(e){if(!e||e==="flat")return"flat";if(e==="square")return"sq";if(e==="round")return"rnd";{let r=e;throw new Error(`Invalid chart line cap: ${r}`)}}function Ns(e){var r,t;let n=typeof process<"u"&&!!(!((r=process.versions)===null||r===void 0)&&r.node)&&((t=process.release)===null||t===void 0?void 0:t.name)==="node",i,a,o=n?()=>cr(this,void 0,void 0,function*(){({default:i}=yield Promise.resolve().then(()=>Qr(Uu()))),{default:a}=yield Promise.resolve().then(()=>Qr(xp()))}):()=>cr(this,void 0,void 0,function*(){});n&&o();let l=[],c=e._relsMedia.filter(u=>u.type!=="online"&&!u.data&&(!u.path||u.path&&!u.path.includes("preencoded"))),s=[];return c.forEach(u=>{s.includes(u.path)?u.isDuplicate=!0:(u.isDuplicate=!1,s.push(u.path))}),c.filter(u=>!u.isDuplicate).forEach(u=>{l.push(cr(this,void 0,void 0,function*(){if(a||(yield o()),n&&i&&u.path.indexOf("http")!==0)try{let d=i.readFileSync(u.path);return u.data=Buffer.from(d).toString("base64"),c.filter(p=>p.isDuplicate&&p.path===u.path).forEach(p=>p.data=u.data),"done"}catch(d){throw u.data=ci,c.filter(p=>p.isDuplicate&&p.path===u.path).forEach(p=>p.data=u.data),new Error(`ERROR: Unable to read media: "${u.path}" -${String(d)}`)}return n&&a&&u.path.startsWith("http")?yield new Promise((d,p)=>{a.get(u.path,f=>{let h="";f.setEncoding("binary"),f.on("data",A=>h+=A),f.on("end",()=>{u.data=Buffer.from(h,"binary").toString("base64"),c.filter(A=>A.isDuplicate&&A.path===u.path).forEach(A=>A.data=u.data),d("done")}),f.on("error",()=>{u.data=ci,c.filter(A=>A.isDuplicate&&A.path===u.path).forEach(A=>A.data=u.data),p(new Error(`ERROR! Unable to load image (https.get): ${u.path}`))})})}):yield new Promise((d,p)=>{let f=new XMLHttpRequest;f.onload=()=>{let h=new FileReader;h.onloadend=()=>{u.data=h.result,c.filter(A=>A.isDuplicate&&A.path===u.path).forEach(A=>A.data=u.data),u.isSvgPng?Pu(u).then(()=>d("done")).catch(p):d("done")},h.readAsDataURL(f.response)},f.onerror=()=>{u.data=ci,c.filter(h=>h.isDuplicate&&h.path===u.path).forEach(h=>h.data=u.data),p(new Error(`ERROR! Unable to load image (xhr.onerror): ${u.path}`))},f.open("GET",u.path),f.responseType="blob",f.send()})}))}),e._relsMedia.filter(u=>u.isSvgPng&&u.data).forEach(u=>{cr(this,void 0,void 0,function*(){n&&!i&&(yield o()),n&&i?(u.data=ci,l.push(Promise.resolve("done"))):l.push(Pu(u))})}),l}function Pu(e){return cr(this,void 0,void 0,function*(){return yield new Promise((r,t)=>{let n=new Image;n.onload=()=>{n.width+n.height===0&&n.onerror("h/w=0");let i=document.createElement("CANVAS"),a=i.getContext("2d");i.width=n.width,i.height=n.height,a.drawImage(n,0,0);try{e.data=i.toDataURL(e.type),r("done")}catch(o){n.onerror(o.toString())}i=null},n.onerror=()=>{e.data=ci,t(new Error(`ERROR! Unable to load image (image.onerror): ${e.path}`))},n.src=typeof e.data=="string"?e.data:ci})})}var F0={cover:function(e,r){let t=e.h/e.w,i=r.h/r.w>t,a=i?r.h/t:r.w,o=i?r.h:r.w*t,l=Math.round(1e5*.5*(1-r.w/a)),c=Math.round(1e5*.5*(1-r.h/o));return``},contain:function(e,r){let t=e.h/e.w,i=r.h/r.w>t,a=i?r.w:r.h/t,o=i?r.w*t:r.h,l=Math.round(1e5*.5*(1-r.w/a)),c=Math.round(1e5*.5*(1-r.h/o));return``},crop:function(e,r){let t=r.x,n=e.w-(r.x+r.w),i=r.y,a=e.h-(r.y+r.h),o=Math.round(1e5*(t/e.w)),l=Math.round(1e5*(n/e.w)),c=Math.round(1e5*(i/e.h)),s=Math.round(1e5*(a/e.h));return``}};function Dl(e){var r;let t=e._name?'':"",n=1;return e._bkgdImgRid?t+=``:!((r=e.background)===null||r===void 0)&&r.color?t+=`${ur(e.background)}`:!e.bkgd&&e._name&&e._name===Ks&&(t+=''),t+="",t+='',t+='',t+='',e._slideObjects.forEach((i,a)=>{var o,l,c,s,u,d,p,f;let h=0,A=0,y=nt("75%","X",e._presLayout),v=0,b,x="",P=null,F=null,L=0,E=0,R=null,T=null,G=(o=i.options)===null||o===void 0?void 0:o.sizing,H=(l=i.options)===null||l===void 0?void 0:l.rounding;e._slideLayout!==void 0&&e._slideLayout._slideObjects!==void 0&&i.options&&i.options.placeholder&&(b=e._slideLayout._slideObjects.filter(g=>g.options.placeholder===i.options.placeholder)[0]),i.options=i.options||{},typeof i.options.x<"u"&&(h=nt(i.options.x,"X",e._presLayout)),typeof i.options.y<"u"&&(A=nt(i.options.y,"Y",e._presLayout)),typeof i.options.w<"u"&&(y=nt(i.options.w,"X",e._presLayout)),typeof i.options.h<"u"&&(v=nt(i.options.h,"Y",e._presLayout));let k=y,O=v;switch(b&&((b.options.x||b.options.x===0)&&(h=nt(b.options.x,"X",e._presLayout)),(b.options.y||b.options.y===0)&&(A=nt(b.options.y,"Y",e._presLayout)),(b.options.w||b.options.w===0)&&(y=nt(b.options.w,"X",e._presLayout)),(b.options.h||b.options.h===0)&&(v=nt(b.options.h,"Y",e._presLayout))),i.options.flipH&&(x+=' flipH="1"'),i.options.flipV&&(x+=' flipV="1"'),i.options.rotate&&(x+=` rot="${Un(i.options.rotate)}"`),i._type){case He.table:if(P=i.arrTabRows,F=i.options,L=0,E=0,P[0].forEach(g=>{R=g.options||null,L+=R?.colspan?Number(R.colspan):1}),T=``,T+=' ',T+=``,T+='',Array.isArray(F.colW)){T+="";for(let g=0;g`}T+=""}else{E=F.colW?F.colW:Ke,i.options.w&&!F.colW&&(E=Math.round((typeof i.options.w=="number"?i.options.w:1)/L)),T+="";for(let g=0;g`;T+=""}P.forEach(g=>{var z,ne;for(let q=0;q1){let j=new Array(Z-1).fill(void 0).map(()=>({_type:He.tablecell,options:{rowspan:de},_hmerge:!0}));g.splice(q+1,0,...j),q+=Z}else q+=1}}),P.forEach((g,z)=>{let ne=P[z+1];ne&&g.forEach((q,oe)=>{var Z,de;let j=q._rowContinue||((Z=q.options)===null||Z===void 0?void 0:Z.rowspan),W=(de=q.options)===null||de===void 0?void 0:de.colspan,fe=q._hmerge;if(j&&j>1){let le={_type:He.tablecell,options:{colspan:W},_rowContinue:j-1,_vmerge:!0,_hmerge:fe};ne.splice(oe,0,le)}})}),P.forEach((g,z)=>{let ne=0;Array.isArray(F.rowH)&&F.rowH[z]?ne=lt(Number(F.rowH[z])):F.rowH&&!isNaN(Number(F.rowH))?ne=lt(Number(F.rowH)):(i.options.cy||i.options.h)&&(ne=Math.round((i.options.h?lt(i.options.h):typeof i.options.cy=="number"?i.options.cy:1)/P.length)),T+=``,g.forEach(q=>{var oe,Z,de,j,W;let fe=q,le={rowSpan:((oe=fe.options)===null||oe===void 0?void 0:oe.rowspan)>1?fe.options.rowspan:void 0,gridSpan:((Z=fe.options)===null||Z===void 0?void 0:Z.colspan)>1?fe.options.colspan:void 0,vMerge:fe._vmerge?1:void 0,hMerge:fe._hmerge?1:void 0},ae=Object.keys(le).map(Re=>[Re,le[Re]]).filter(([,Re])=>!!Re).map(([Re,m])=>`${String(Re)}="${String(m)}"`).join(" ");if(ae&&(ae=" "+ae),fe._hmerge||fe._vmerge){T+=``;return}let ye=fe.options||{};fe.options=ye,["align","bold","border","color","fill","fontFace","fontSize","margin","textDirection","underline","valign"].forEach(Re=>{F[Re]&&!ye[Re]&&ye[Re]!==0&&(ye[Re]=F[Re])});let Le=ye.valign?` anchor="${ye.valign.replace(/^c$/i,"ctr").replace(/^m$/i,"ctr").replace("center","ctr").replace("middle","ctr").replace("top","t").replace("btm","b").replace("bottom","b")}"`:"",Se=ye.textDirection&&ye.textDirection!=="horz"?` vert="${ye.textDirection}"`:"",we=!((j=(de=fe._optImp)===null||de===void 0?void 0:de.fill)===null||j===void 0)&&j.color?fe._optImp.fill.color:!((W=fe._optImp)===null||W===void 0)&&W.fill&&typeof fe._optImp.fill=="string"?fe._optImp.fill:"";we=we||ye.fill?ye.fill:"";let Me=we?ur(we):"",be=ye.margin===0||ye.margin?ye.margin:jd;!Array.isArray(be)&&typeof be=="number"&&(be=[be,be,be,be]);let tt="";be[0]>=1?tt=` marL="${Ge(be[3])}" marR="${Ge(be[1])}" marT="${Ge(be[0])}" marB="${Ge(be[2])}"`:tt=` marL="${lt(be[3])}" marR="${lt(be[1])}" marT="${lt(be[0])}" marB="${lt(be[2])}"`,T+=`${Tu(fe)}`,ye.border&&Array.isArray(ye.border)&&[{idx:3,name:"lnL"},{idx:1,name:"lnR"},{idx:0,name:"lnT"},{idx:2,name:"lnB"}].forEach(Re=>{ye.border[Re.idx].type!=="none"?(T+=``,T+=`${ft(ye.border[Re.idx].color)}`,T+=``,T+=``):T+=``}),T+=Me,T+=" ",T+=" "}),T+=""}),T+=" ",T+=" ",T+=" ",T+="",t+=T,n++;break;case He.text:case He.placeholder:if(!i.options.line&&v===0&&(v=Ke*.3),i.options._bodyProp||(i.options._bodyProp={}),i.options.margin&&Array.isArray(i.options.margin)?(i.options._bodyProp.lIns=Ge(i.options.margin[0]||0),i.options._bodyProp.rIns=Ge(i.options.margin[1]||0),i.options._bodyProp.bIns=Ge(i.options.margin[2]||0),i.options._bodyProp.tIns=Ge(i.options.margin[3]||0)):typeof i.options.margin=="number"&&(i.options._bodyProp.lIns=Ge(i.options.margin),i.options._bodyProp.rIns=Ge(i.options.margin),i.options._bodyProp.bIns=Ge(i.options.margin),i.options._bodyProp.tIns=Ge(i.options.margin)),t+="",t+=``,!((c=i.options.hyperlink)===null||c===void 0)&&c.url&&(t+=``),!((s=i.options.hyperlink)===null||s===void 0)&&s.slide&&(t+=``),t+="",t+="':"/>"),t+=`${i._type==="placeholder"?Qa(i):Qa(b)}`,t+="",t+=``,t+=``,t+=``,i.shape==="custGeom")t+="",t+="",t+="",t+="",t+="",t+="",t+='',t+="",t+=``,(d=i.options.points)===null||d===void 0||d.forEach((g,z)=>{if("curve"in g)switch(g.curve.type){case"arc":t+=``;break;case"cubic":t+=` - - - - `;break;case"quadratic":t+=` - - - `;break}else"close"in g?t+="":g.moveTo||z===0?t+=``:t+=``}),t+="",t+="",t+="";else{if(t+='',i.options.rectRadius)t+=``;else if(i.options.angleRange){for(let g=0;g<2;g++){let z=i.options.angleRange[g];t+=``}i.options.arcThicknessRatio&&(t+=``)}t+=""}t+=i.options.fill?ur(i.options.fill):"",i.options.line&&(t+=i.options.line.width?``:"",i.options.line.color&&(t+=ur(i.options.line)),i.options.line.dashType&&(t+=``),i.options.line.beginArrowType&&(t+=``),i.options.line.endArrowType&&(t+=``),t+=""),i.options.shadow&&i.options.shadow.type!=="none"&&(i.options.shadow.type=i.options.shadow.type||"outer",i.options.shadow.blur=Ge(i.options.shadow.blur||8),i.options.shadow.offset=Ge(i.options.shadow.offset||4),i.options.shadow.angle=Math.round((i.options.shadow.angle||270)*6e4),i.options.shadow.opacity=Math.round((i.options.shadow.opacity||.75)*1e5),i.options.shadow.color=i.options.shadow.color||ku.color,t+="",t+=` `,t+=` `,t+=` `,t+=" ",t+=""),t+="",t+=Tu(i),t+="";break;case He.image:if(t+="",t+=" ",t+=``,!((p=i.hyperlink)===null||p===void 0)&&p.url&&(t+=``),!((f=i.hyperlink)===null||f===void 0)&&f.slide&&(t+=``),t+=" ",t+=' ',t+=" "+Qa(b)+"",t+=" ",t+="",(e._relsMedia||[]).filter(g=>g.rId===i.imageRid)[0]&&(e._relsMedia||[]).filter(g=>g.rId===i.imageRid)[0].extn==="svg"?(t+=``,t+=i.options.transparency?` `:"",t+=" ",t+=' ',t+=` `,t+=" ",t+=" ",t+=""):(t+=``,t+=i.options.transparency?``:"",t+=""),G?.type){let g=G.w?nt(G.w,"X",e._presLayout):y,z=G.h?nt(G.h,"Y",e._presLayout):v,ne=nt(G.x||0,"X",e._presLayout),q=nt(G.y||0,"Y",e._presLayout);t+=F0[G.type]({w:k,h:O},{w:g,h:z,x:ne,y:q}),k=g,O=z}else t+=" ";t+="",t+="",t+=" ",t+=` `,t+=` `,t+=" ",t+=` `,i.options.shadow&&i.options.shadow.type!=="none"&&(i.options.shadow.type=i.options.shadow.type||"outer",i.options.shadow.blur=Ge(i.options.shadow.blur||8),i.options.shadow.offset=Ge(i.options.shadow.offset||4),i.options.shadow.angle=Math.round((i.options.shadow.angle||270)*6e4),i.options.shadow.opacity=Math.round((i.options.shadow.opacity||.75)*1e5),i.options.shadow.color=i.options.shadow.color||ku.color,t+="",t+=``,t+=``,t+=``,t+=``,t+=""),t+="",t+="";break;case He.media:i.mtype==="online"?(t+="",t+=" ",t+=``,t+=" ",t+=" ",t+=` `,t+=" ",t+=" ",t+=` `,t+=" ",t+=` `,t+=' ',t+=" ",t+=""):(t+="",t+=" ",t+=``,t+=' ',t+=" ",t+=` `,t+=" ",t+=' ',t+=` `,t+=" ",t+=" ",t+=" ",t+=" ",t+=` `,t+=" ",t+=` `,t+=' ',t+=" ",t+="");break;case He.chart:t+="",t+=" ",t+=` `,t+=" ",t+=` ${Qa(b)}`,t+=" ",t+=` `,t+=' ',t+=' ',t+=` `,t+=" ",t+=" ",t+="";break;default:t+="";break}}),e._slideNumberProps&&(e._slideNumberProps.align||(e._slideNumberProps.align="left"),t+="",t+=" ",t+=' ',t+=' ',t+=" ",t+=" ",t+=` `,t+="",t+="`,e._slideNumberProps.color&&(t+=ur(e._slideNumberProps.color)),e._slideNumberProps.fontFace&&(t+=``),t+=""),t+="",t+="",e._slideNumberProps.align.startsWith("l")?t+='':e._slideNumberProps.align.startsWith("c")?t+='':e._slideNumberProps.align.startsWith("r")?t+='':t+='',t+=``,t+=`${e._slideNum}`,t+=""),t+="",t+="",t}function El(e,r){let t=0,n=''+Wt+'';return e._rels.forEach(i=>{t=Math.max(t,i.rId),i.type.toLowerCase().includes("hyperlink")?i.data==="slide"?n+=``:n+=``:i.type.toLowerCase().includes("notesSlide")&&(n+=``)}),(e._relsChart||[]).forEach(i=>{t=Math.max(t,i.rId),n+=``}),(e._relsMedia||[]).forEach(i=>{let a=i.rId.toString();t=Math.max(t,i.rId),i.type.toLowerCase().includes("image")?n+='':i.type.toLowerCase().includes("audio")?n.includes(' Target="'+i.Target+'"')?n+='':n+='':i.type.toLowerCase().includes("video")?n.includes(' Target="'+i.Target+'"')?n+='':n+='':i.type.toLowerCase().includes("online")&&(n.includes(' Target="'+i.Target+'"')?n+='':n+='')}),r.forEach((i,a)=>{n+=``}),n+="",n}function Fu(e,r){var t,n;let i="",a="",o="",l="",c=r?"a:lvl1pPr":"a:pPr",s=Ge(c0),u=`<${c}${e.options.rtlMode?' rtl="1" ':""}`;{if(e.options.align)switch(e.options.align){case"left":u+=' algn="l"';break;case"right":u+=' algn="r"';break;case"center":u+=' algn="ctr"';break;case"justify":u+=' algn="just"';break;default:u+="";break}if(e.options.lineSpacing?a=``:e.options.lineSpacingMultiple&&(a=``),e.options.indentLevel&&!isNaN(Number(e.options.indentLevel))&&e.options.indentLevel>0&&(u+=` lvl="${e.options.indentLevel}"`),e.options.paraSpaceBefore&&!isNaN(Number(e.options.paraSpaceBefore))&&e.options.paraSpaceBefore>0&&(o+=``),e.options.paraSpaceAfter&&!isNaN(Number(e.options.paraSpaceAfter))&&e.options.paraSpaceAfter>0&&(o+=``),typeof e.options.bullet=="object")if(!((n=(t=e?.options)===null||t===void 0?void 0:t.bullet)===null||n===void 0)&&n.indent&&(s=Ge(e.options.bullet.indent)),e.options.bullet.type)e.options.bullet.type.toString().toLowerCase()==="number"&&(u+=` marL="${e.options.indentLevel&&e.options.indentLevel>0?s+s*e.options.indentLevel:s}" indent="-${s}"`,i=``);else if(e.options.bullet.characterCode){let d=`&#x${e.options.bullet.characterCode};`;/^[0-9A-Fa-f]{4}$/.test(e.options.bullet.characterCode)||(console.warn("Warning: `bullet.characterCode should be a 4-digit unicode charatcer (ex: 22AB)`!"),d=li.DEFAULT),u+=` marL="${e.options.indentLevel&&e.options.indentLevel>0?s+s*e.options.indentLevel:s}" indent="-${s}"`,i=''}else if(e.options.bullet.code){let d=`&#x${e.options.bullet.code};`;/^[0-9A-Fa-f]{4}$/.test(e.options.bullet.code)||(console.warn("Warning: `bullet.code should be a 4-digit hex code (ex: 22AB)`!"),d=li.DEFAULT),u+=` marL="${e.options.indentLevel&&e.options.indentLevel>0?s+s*e.options.indentLevel:s}" indent="-${s}"`,i=''}else u+=` marL="${e.options.indentLevel&&e.options.indentLevel>0?s+s*e.options.indentLevel:s}" indent="-${s}"`,i=``;else e.options.bullet?(u+=` marL="${e.options.indentLevel&&e.options.indentLevel>0?s+s*e.options.indentLevel:s}" indent="-${s}"`,i=``):e.options.bullet||(u+=' indent="0" marL="0"',i="");e.options.tabStops&&Array.isArray(e.options.tabStops)&&(l=`${e.options.tabStops.map(p=>``).join("")}`),u+=">"+a+o+i+l,r&&(u+=Yd(e.options,!0)),u+=""}return u}function Yd(e,r){var t;let n="",i=r?"a:defRPr":"a:rPr";if(n+="<"+i+' lang="'+(e.lang?e.lang:"en-US")+'"'+(e.lang?' altLang="en-US"':""),n+=e.fontSize?` sz="${Math.round(e.fontSize*100)}"`:"",n+=e?.bold?` b="${e.bold?"1":"0"}"`:"",n+=e?.italic?` i="${e.italic?"1":"0"}"`:"",n+=e?.strike?` strike="${typeof e.strike=="string"?e.strike:"sngStrike"}"`:"",typeof e.underline=="object"&&(!((t=e.underline)===null||t===void 0)&&t.style)?n+=` u="${e.underline.style}"`:typeof e.underline=="string"?n+=` u="${String(e.underline)}"`:e.hyperlink&&(n+=' u="sng"'),e.baseline?n+=` baseline="${Math.round(e.baseline*50)}"`:e.subscript?n+=' baseline="-40000"':e.superscript&&(n+=' baseline="30000"'),n+=e.charSpacing?` spc="${Math.round(e.charSpacing*100)}" kern="0"`:"",n+=' dirty="0">',(e.color||e.fontFace||e.outline||typeof e.underline=="object"&&e.underline.color)&&(e.outline&&typeof e.outline=="object"&&(n+=`${ur(e.outline.color||"FFFFFF")}`),e.color&&(n+=ur({color:e.color,transparency:e.transparency})),e.highlight&&(n+=`${ft(e.highlight)}`),typeof e.underline=="object"&&e.underline.color&&(n+=`${ur(e.underline.color)}`),e.glow&&(n+=`${p0(e.glow,d0)}`),e.fontFace&&(n+=``)),e.hyperlink){if(typeof e.hyperlink!="object")throw new Error("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink:{url:'https://github.com'}` ");if(!e.hyperlink.url&&!e.hyperlink.slide)throw new Error("ERROR: 'hyperlink requires either `url` or `slide`'");e.hyperlink.url?n+=`":"/>"}`:e.hyperlink.slide&&(n+=`":"/>"}`),e.color&&(n+=" ",n+=' ',n+=' ',n+=" ",n+=" ",n+="")}return n+=``,n}function T0(e){return e.text?`${Yd(e.options,!1)}${Ve(e.text)}`:""}function D0(e){let r="":e.options.fit==="resize"&&(r+="")),e.options.shrinkText&&(r+=""),r+=e.options._bodyProp.autoFit?"":"",r+=""):(r+=' wrap="square" rtlCol="0">',r+=""),e._type===He.tablecell?"":r}function Tu(e){let r=e.options||{},t=[],n=[];if(r&&e._type!==He.tablecell&&(typeof e.text>"u"||e.text===null))return"";let i=e._type===He.tablecell?"":"";i+=D0(e),r.h===0&&r.line&&r.align?i+='':e._type==="placeholder"?i+=`${Fu(e,!0)}`:i+="",typeof e.text=="string"||typeof e.text=="number"?t.push({text:e.text.toString(),options:r||{}}):e.text&&!Array.isArray(e.text)&&typeof e.text=="object"&&Object.keys(e.text).includes("text")?t.push({text:e.text||"",options:e.options||{}}):Array.isArray(e.text)&&(t=e.text.map(l=>({text:l.text,options:l.options}))),t.forEach((l,c)=>{l.text||(l.text=""),l.options=l.options||r||{},c===0&&l.options&&!l.options.bullet&&r.bullet&&(l.options.bullet=r.bullet),(typeof l.text=="string"||typeof l.text=="number")&&(l.text=l.text.toString().replace(/\r*\n/g,Wt)),l.text.includes(Wt)&&l.text.match(/\n$/g)===null?l.text.split(Wt).forEach(s=>{l.options.breakLine=!0,n.push({text:s,options:l.options})}):n.push(l)});let a=[],o=[];return n.forEach((l,c)=>{o.length>0&&(l.options.align||r.align)?l.options.align!==n[c-1].options.align&&(a.push(o),o=[]):o.length>0&&l.options.bullet&&o.length>0&&(a.push(o),o=[],l.options.breakLine=!1),o.push(l),o.length>0&&l.options.breakLine&&c+1{var c;let s=!1;i+="";let u=`{d.options._lineIdx=p,p>0&&d.options.softBreakBefore&&(i+=""),d.options.align=d.options.align||r.align,d.options.lineSpacing=d.options.lineSpacing||r.lineSpacing,d.options.lineSpacingMultiple=d.options.lineSpacingMultiple||r.lineSpacingMultiple,d.options.indentLevel=d.options.indentLevel||r.indentLevel,d.options.paraSpaceBefore=d.options.paraSpaceBefore||r.paraSpaceBefore,d.options.paraSpaceAfter=d.options.paraSpaceAfter||r.paraSpaceAfter,u=Fu(d,!1),i+=u.replace("",""),Object.entries(r).filter(([f])=>!(d.options.hyperlink&&f==="color")).forEach(([f,h])=>{f!=="bullet"&&!d.options[f]&&(d.options[f]=h)}),i+=T0(d),(!d.text&&r.fontSize||d.options.fontSize)&&(s=!0,r.fontSize=r.fontSize||d.options.fontSize)}),e._type===He.tablecell&&(r.fontSize||r.fontFace)?r.fontFace?(i+=`',i+=``,i+=``,i+=``,i+=""):i+=`':s?i+=`':i+=``,i+=""}),i.indexOf("")===-1&&(i+=""),i+=e._type===He.tablecell?"":"",i}function Qa(e){var r,t;if(!e)return"";let n=!((r=e.options)===null||r===void 0)&&r._placeholderIdx?e.options._placeholderIdx:"",i=!((t=e.options)===null||t===void 0)&&t._placeholderType?e.options._placeholderType:"",a=i&&Yi[i]?Yi[i].toString():"";return`0?' hasCustomPrompt="1"':""} - />`}function E0(e,r,t){let n=''+Wt;return n+='',n+='',n+='',n+='',n+='',n+='',n+='',n+='',n+='',n+='',e.forEach(i=>{(i._relsMedia||[]).forEach(a=>{a.type!=="image"&&a.type!=="online"&&a.type!=="chart"&&a.extn!=="m4v"&&!n.includes(a.type)&&(n+='')})}),n+='',n+='',n+='',n+='',e.forEach((i,a)=>{n+=``,n+=``,i._relsChart.forEach(o=>{n+=``})}),n+='',n+='',n+='',n+='',r.forEach((i,a)=>{n+=``,(i._relsChart||[]).forEach(o=>{n+=' '})}),e.forEach((i,a)=>{n+=``}),t._relsChart.forEach(i=>{n+=' '}),t._relsMedia.forEach(i=>{i.type!=="image"&&i.type!=="online"&&i.type!=="chart"&&i.extn!=="m4v"&&!n.includes(i.type)&&(n+=' ')}),n+=' ',n+=' ',n+="",n}function B0(){return`${Wt} + `; +} +function getExcelColName(colIndex) { + let colStr = ""; + const colIdx = colIndex - 1; + if (colIdx <= 25) { + colStr = LETTERS[colIdx]; + } else { + colStr = `${LETTERS[Math.floor(colIdx / LETTERS.length - 1)]}${LETTERS[colIdx % LETTERS.length]}`; + } + return colStr; +} +function createShadowElement(options, defaults) { + if (!options) { + return ""; + } else if (typeof options !== "object") { + console.warn("`shadow` options must be an object. Ex: `{shadow: {type:'none'}}`"); + return ""; + } + let strXml = ""; + const opts = Object.assign(Object.assign({}, defaults), options); + const type = opts.type || "outer"; + const blur = valToPts(opts.blur); + const offset = valToPts(opts.offset); + const angle = Math.round(opts.angle * 6e4); + const color = opts.color; + const opacity = Math.round(opts.opacity * 1e5); + const rotShape = opts.rotateWithShape ? 1 : 0; + strXml += ``; + strXml += ``; + strXml += ``; + strXml += ``; + strXml += ""; + return strXml; +} +function createGridLineElement(glOpts) { + let strXml = ""; + strXml += " "; + strXml += ` `; + strXml += ' '; + strXml += ' '; + strXml += " "; + strXml += " "; + strXml += ""; + return strXml; +} +function createLineCap(lineCap) { + if (!lineCap || lineCap === "flat") { + return "flat"; + } else if (lineCap === "square") { + return "sq"; + } else if (lineCap === "round") { + return "rnd"; + } else { + const neverLineCap = lineCap; + throw new Error(`Invalid chart line cap: ${neverLineCap}`); + } +} +function encodeSlideMediaRels(layout) { + var _a, _b; + const isNode = typeof process !== "undefined" && !!((_a = process.versions) === null || _a === void 0 ? void 0 : _a.node) && ((_b = process.release) === null || _b === void 0 ? void 0 : _b.name) === "node"; + let fs; + let https; + const loadNodeDeps = isNode ? () => __awaiter2(this, void 0, void 0, function* () { + ({ default: fs } = yield Promise.resolve().then(() => __toESM(require_node_fs()))); + ({ default: https } = yield Promise.resolve().then(() => __toESM(require_node_https()))); + }) : () => __awaiter2(this, void 0, void 0, function* () { + }); + if (isNode) + loadNodeDeps(); + const imageProms = []; + const candidateRels = layout._relsMedia.filter((rel) => rel.type !== "online" && !rel.data && (!rel.path || rel.path && !rel.path.includes("preencoded"))); + const unqPaths = []; + candidateRels.forEach((rel) => { + if (!unqPaths.includes(rel.path)) { + rel.isDuplicate = false; + unqPaths.push(rel.path); + } else { + rel.isDuplicate = true; + } + }); + candidateRels.filter((rel) => !rel.isDuplicate).forEach((rel) => { + imageProms.push((() => __awaiter2(this, void 0, void 0, function* () { + if (!https) + yield loadNodeDeps(); + if (isNode && fs && rel.path.indexOf("http") !== 0) { + try { + const bitmap = fs.readFileSync(rel.path); + rel.data = Buffer.from(bitmap).toString("base64"); + candidateRels.filter((dupe) => dupe.isDuplicate && dupe.path === rel.path).forEach((dupe) => dupe.data = rel.data); + return "done"; + } catch (ex) { + rel.data = IMG_BROKEN; + candidateRels.filter((dupe) => dupe.isDuplicate && dupe.path === rel.path).forEach((dupe) => dupe.data = rel.data); + throw new Error(`ERROR: Unable to read media: "${rel.path}" +${String(ex)}`); + } + } + if (isNode && https && rel.path.startsWith("http")) { + return yield new Promise((resolve, reject) => { + https.get(rel.path, (res) => { + let raw = ""; + res.setEncoding("binary"); + res.on("data", (chunk) => raw += chunk); + res.on("end", () => { + rel.data = Buffer.from(raw, "binary").toString("base64"); + candidateRels.filter((dupe) => dupe.isDuplicate && dupe.path === rel.path).forEach((dupe) => dupe.data = rel.data); + resolve("done"); + }); + res.on("error", () => { + rel.data = IMG_BROKEN; + candidateRels.filter((dupe) => dupe.isDuplicate && dupe.path === rel.path).forEach((dupe) => dupe.data = rel.data); + reject(new Error(`ERROR! Unable to load image (https.get): ${rel.path}`)); + }); + }); + }); + } + return yield new Promise((resolve, reject) => { + const xhr = new XMLHttpRequest(); + xhr.onload = () => { + const reader = new FileReader(); + reader.onloadend = () => { + rel.data = reader.result; + candidateRels.filter((dupe) => dupe.isDuplicate && dupe.path === rel.path).forEach((dupe) => dupe.data = rel.data); + if (!rel.isSvgPng) { + resolve("done"); + } else { + createSvgPngPreview(rel).then(() => resolve("done")).catch(reject); + } + }; + reader.readAsDataURL(xhr.response); + }; + xhr.onerror = () => { + rel.data = IMG_BROKEN; + candidateRels.filter((dupe) => dupe.isDuplicate && dupe.path === rel.path).forEach((dupe) => dupe.data = rel.data); + reject(new Error(`ERROR! Unable to load image (xhr.onerror): ${rel.path}`)); + }; + xhr.open("GET", rel.path); + xhr.responseType = "blob"; + xhr.send(); + }); + }))()); + }); + layout._relsMedia.filter((rel) => rel.isSvgPng && rel.data).forEach((rel) => { + (() => __awaiter2(this, void 0, void 0, function* () { + if (isNode && !fs) + yield loadNodeDeps(); + if (isNode && fs) { + rel.data = IMG_BROKEN; + imageProms.push(Promise.resolve("done")); + } else { + imageProms.push(createSvgPngPreview(rel)); + } + }))(); + }); + return imageProms; +} +function createSvgPngPreview(rel) { + return __awaiter2(this, void 0, void 0, function* () { + return yield new Promise((resolve, reject) => { + const image = new Image(); + image.onload = () => { + if (image.width + image.height === 0) { + image.onerror("h/w=0"); + } + let canvas = document.createElement("CANVAS"); + const ctx = canvas.getContext("2d"); + canvas.width = image.width; + canvas.height = image.height; + ctx.drawImage(image, 0, 0); + try { + rel.data = canvas.toDataURL(rel.type); + resolve("done"); + } catch (ex) { + image.onerror(ex.toString()); + } + canvas = null; + }; + image.onerror = () => { + rel.data = IMG_BROKEN; + reject(new Error(`ERROR! Unable to load image (image.onerror): ${rel.path}`)); + }; + image.src = typeof rel.data === "string" ? rel.data : IMG_BROKEN; + }); + }); +} +var ImageSizingXml = { + cover: function(imgSize, boxDim) { + const imgRatio = imgSize.h / imgSize.w; + const boxRatio = boxDim.h / boxDim.w; + const isBoxBased = boxRatio > imgRatio; + const width = isBoxBased ? boxDim.h / imgRatio : boxDim.w; + const height = isBoxBased ? boxDim.h : boxDim.w * imgRatio; + const hzPerc = Math.round(1e5 * 0.5 * (1 - boxDim.w / width)); + const vzPerc = Math.round(1e5 * 0.5 * (1 - boxDim.h / height)); + return ``; + }, + contain: function(imgSize, boxDim) { + const imgRatio = imgSize.h / imgSize.w; + const boxRatio = boxDim.h / boxDim.w; + const widthBased = boxRatio > imgRatio; + const width = widthBased ? boxDim.w : boxDim.h / imgRatio; + const height = widthBased ? boxDim.w * imgRatio : boxDim.h; + const hzPerc = Math.round(1e5 * 0.5 * (1 - boxDim.w / width)); + const vzPerc = Math.round(1e5 * 0.5 * (1 - boxDim.h / height)); + return ``; + }, + crop: function(imgSize, boxDim) { + const l = boxDim.x; + const r = imgSize.w - (boxDim.x + boxDim.w); + const t = boxDim.y; + const b = imgSize.h - (boxDim.y + boxDim.h); + const lPerc = Math.round(1e5 * (l / imgSize.w)); + const rPerc = Math.round(1e5 * (r / imgSize.w)); + const tPerc = Math.round(1e5 * (t / imgSize.h)); + const bPerc = Math.round(1e5 * (b / imgSize.h)); + return ``; + } +}; +function slideObjectToXml(slide) { + var _a; + let strSlideXml = slide._name ? '' : ""; + let intTableNum = 1; + if (slide._bkgdImgRid) { + strSlideXml += ``; + } else if ((_a = slide.background) === null || _a === void 0 ? void 0 : _a.color) { + strSlideXml += `${genXmlColorSelection(slide.background)}`; + } else if (!slide.bkgd && slide._name && slide._name === DEF_PRES_LAYOUT_NAME) { + strSlideXml += ''; + } + strSlideXml += ""; + strSlideXml += ''; + strSlideXml += ''; + strSlideXml += ''; + slide._slideObjects.forEach((slideItemObj, idx) => { + var _a2, _b, _c, _d, _e, _f, _g, _h; + let x = 0; + let y = 0; + let cx2 = getSmartParseNumber("75%", "X", slide._presLayout); + let cy2 = 0; + let placeholderObj; + let locationAttr = ""; + let arrTabRows = null; + let objTabOpts = null; + let intColCnt = 0; + let intColW = 0; + let cellOpts = null; + let strXml = null; + const sizing = (_a2 = slideItemObj.options) === null || _a2 === void 0 ? void 0 : _a2.sizing; + const rounding = (_b = slideItemObj.options) === null || _b === void 0 ? void 0 : _b.rounding; + if (slide._slideLayout !== void 0 && slide._slideLayout._slideObjects !== void 0 && slideItemObj.options && slideItemObj.options.placeholder) { + placeholderObj = slide._slideLayout._slideObjects.filter((object) => object.options.placeholder === slideItemObj.options.placeholder)[0]; + } + slideItemObj.options = slideItemObj.options || {}; + if (typeof slideItemObj.options.x !== "undefined") + x = getSmartParseNumber(slideItemObj.options.x, "X", slide._presLayout); + if (typeof slideItemObj.options.y !== "undefined") + y = getSmartParseNumber(slideItemObj.options.y, "Y", slide._presLayout); + if (typeof slideItemObj.options.w !== "undefined") + cx2 = getSmartParseNumber(slideItemObj.options.w, "X", slide._presLayout); + if (typeof slideItemObj.options.h !== "undefined") + cy2 = getSmartParseNumber(slideItemObj.options.h, "Y", slide._presLayout); + let imgWidth = cx2; + let imgHeight = cy2; + if (placeholderObj) { + if (placeholderObj.options.x || placeholderObj.options.x === 0) + x = getSmartParseNumber(placeholderObj.options.x, "X", slide._presLayout); + if (placeholderObj.options.y || placeholderObj.options.y === 0) + y = getSmartParseNumber(placeholderObj.options.y, "Y", slide._presLayout); + if (placeholderObj.options.w || placeholderObj.options.w === 0) + cx2 = getSmartParseNumber(placeholderObj.options.w, "X", slide._presLayout); + if (placeholderObj.options.h || placeholderObj.options.h === 0) + cy2 = getSmartParseNumber(placeholderObj.options.h, "Y", slide._presLayout); + } + if (slideItemObj.options.flipH) + locationAttr += ' flipH="1"'; + if (slideItemObj.options.flipV) + locationAttr += ' flipV="1"'; + if (slideItemObj.options.rotate) + locationAttr += ` rot="${convertRotationDegrees(slideItemObj.options.rotate)}"`; + switch (slideItemObj._type) { + case SLIDE_OBJECT_TYPES.table: + arrTabRows = slideItemObj.arrTabRows; + objTabOpts = slideItemObj.options; + intColCnt = 0; + intColW = 0; + arrTabRows[0].forEach((cell) => { + cellOpts = cell.options || null; + intColCnt += (cellOpts === null || cellOpts === void 0 ? void 0 : cellOpts.colspan) ? Number(cellOpts.colspan) : 1; + }); + strXml = ``; + strXml += ' '; + strXml += ``; + strXml += ''; + if (Array.isArray(objTabOpts.colW)) { + strXml += ""; + for (let col = 0; col < intColCnt; col++) { + let w = inch2Emu(objTabOpts.colW[col]); + if (w == null || isNaN(w)) { + w = (typeof slideItemObj.options.w === "number" ? slideItemObj.options.w : 1) / intColCnt; + } + strXml += ``; + } + strXml += ""; + } else { + intColW = objTabOpts.colW ? objTabOpts.colW : EMU; + if (slideItemObj.options.w && !objTabOpts.colW) + intColW = Math.round((typeof slideItemObj.options.w === "number" ? slideItemObj.options.w : 1) / intColCnt); + strXml += ""; + for (let colw = 0; colw < intColCnt; colw++) { + strXml += ``; + } + strXml += ""; + } + arrTabRows.forEach((cells) => { + var _a3, _b2; + for (let cIdx = 0; cIdx < cells.length; ) { + const cell = cells[cIdx]; + const colspan = (_a3 = cell.options) === null || _a3 === void 0 ? void 0 : _a3.colspan; + const rowspan = (_b2 = cell.options) === null || _b2 === void 0 ? void 0 : _b2.rowspan; + if (colspan && colspan > 1) { + const vMergeCells = new Array(colspan - 1).fill(void 0).map(() => { + return { _type: SLIDE_OBJECT_TYPES.tablecell, options: { rowspan }, _hmerge: true }; + }); + cells.splice(cIdx + 1, 0, ...vMergeCells); + cIdx += colspan; + } else { + cIdx += 1; + } + } + }); + arrTabRows.forEach((cells, rIdx) => { + const nextRow = arrTabRows[rIdx + 1]; + if (!nextRow) + return; + cells.forEach((cell, cIdx) => { + var _a3, _b2; + const rowspan = cell._rowContinue || ((_a3 = cell.options) === null || _a3 === void 0 ? void 0 : _a3.rowspan); + const colspan = (_b2 = cell.options) === null || _b2 === void 0 ? void 0 : _b2.colspan; + const _hmerge = cell._hmerge; + if (rowspan && rowspan > 1) { + const hMergeCell = { _type: SLIDE_OBJECT_TYPES.tablecell, options: { colspan }, _rowContinue: rowspan - 1, _vmerge: true, _hmerge }; + nextRow.splice(cIdx, 0, hMergeCell); + } + }); + }); + arrTabRows.forEach((cells, rIdx) => { + let intRowH = 0; + if (Array.isArray(objTabOpts.rowH) && objTabOpts.rowH[rIdx]) + intRowH = inch2Emu(Number(objTabOpts.rowH[rIdx])); + else if (objTabOpts.rowH && !isNaN(Number(objTabOpts.rowH))) + intRowH = inch2Emu(Number(objTabOpts.rowH)); + else if (slideItemObj.options.cy || slideItemObj.options.h) { + intRowH = Math.round((slideItemObj.options.h ? inch2Emu(slideItemObj.options.h) : typeof slideItemObj.options.cy === "number" ? slideItemObj.options.cy : 1) / arrTabRows.length); + } + strXml += ``; + cells.forEach((cellObj) => { + var _a3, _b2, _c2, _d2, _e2; + const cell = cellObj; + const cellSpanAttrs = { + rowSpan: ((_a3 = cell.options) === null || _a3 === void 0 ? void 0 : _a3.rowspan) > 1 ? cell.options.rowspan : void 0, + gridSpan: ((_b2 = cell.options) === null || _b2 === void 0 ? void 0 : _b2.colspan) > 1 ? cell.options.colspan : void 0, + vMerge: cell._vmerge ? 1 : void 0, + hMerge: cell._hmerge ? 1 : void 0 + }; + let cellSpanAttrStr = Object.keys(cellSpanAttrs).map((k) => [k, cellSpanAttrs[k]]).filter(([, v]) => !!v).map(([k, v]) => `${String(k)}="${String(v)}"`).join(" "); + if (cellSpanAttrStr) + cellSpanAttrStr = " " + cellSpanAttrStr; + if (cell._hmerge || cell._vmerge) { + strXml += ``; + return; + } + const cellOpts2 = cell.options || {}; + cell.options = cellOpts2; + ["align", "bold", "border", "color", "fill", "fontFace", "fontSize", "margin", "textDirection", "underline", "valign"].forEach((name) => { + if (objTabOpts[name] && !cellOpts2[name] && cellOpts2[name] !== 0) + cellOpts2[name] = objTabOpts[name]; + }); + const cellValign = cellOpts2.valign ? ` anchor="${cellOpts2.valign.replace(/^c$/i, "ctr").replace(/^m$/i, "ctr").replace("center", "ctr").replace("middle", "ctr").replace("top", "t").replace("btm", "b").replace("bottom", "b")}"` : ""; + const cellTextDir = cellOpts2.textDirection && cellOpts2.textDirection !== "horz" ? ` vert="${cellOpts2.textDirection}"` : ""; + let fillColor = ((_d2 = (_c2 = cell._optImp) === null || _c2 === void 0 ? void 0 : _c2.fill) === null || _d2 === void 0 ? void 0 : _d2.color) ? cell._optImp.fill.color : ((_e2 = cell._optImp) === null || _e2 === void 0 ? void 0 : _e2.fill) && typeof cell._optImp.fill === "string" ? cell._optImp.fill : ""; + fillColor = fillColor || cellOpts2.fill ? cellOpts2.fill : ""; + const cellFill = fillColor ? genXmlColorSelection(fillColor) : ""; + let cellMargin = cellOpts2.margin === 0 || cellOpts2.margin ? cellOpts2.margin : DEF_CELL_MARGIN_IN; + if (!Array.isArray(cellMargin) && typeof cellMargin === "number") + cellMargin = [cellMargin, cellMargin, cellMargin, cellMargin]; + let cellMarginXml = ""; + if (cellMargin[0] >= 1) { + cellMarginXml = ` marL="${valToPts(cellMargin[3])}" marR="${valToPts(cellMargin[1])}" marT="${valToPts(cellMargin[0])}" marB="${valToPts(cellMargin[2])}"`; + } else { + cellMarginXml = ` marL="${inch2Emu(cellMargin[3])}" marR="${inch2Emu(cellMargin[1])}" marT="${inch2Emu(cellMargin[0])}" marB="${inch2Emu(cellMargin[2])}"`; + } + strXml += `${genXmlTextBody(cell)}`; + if (cellOpts2.border && Array.isArray(cellOpts2.border)) { + [ + { idx: 3, name: "lnL" }, + { idx: 1, name: "lnR" }, + { idx: 0, name: "lnT" }, + { idx: 2, name: "lnB" } + ].forEach((obj) => { + if (cellOpts2.border[obj.idx].type !== "none") { + strXml += ``; + strXml += `${createColorElement(cellOpts2.border[obj.idx].color)}`; + strXml += ``; + strXml += ``; + } else { + strXml += ``; + } + }); + } + strXml += cellFill; + strXml += " "; + strXml += " "; + }); + strXml += ""; + }); + strXml += " "; + strXml += " "; + strXml += " "; + strXml += ""; + strSlideXml += strXml; + intTableNum++; + break; + case SLIDE_OBJECT_TYPES.text: + case SLIDE_OBJECT_TYPES.placeholder: + if (!slideItemObj.options.line && cy2 === 0) + cy2 = EMU * 0.3; + if (!slideItemObj.options._bodyProp) + slideItemObj.options._bodyProp = {}; + if (slideItemObj.options.margin && Array.isArray(slideItemObj.options.margin)) { + slideItemObj.options._bodyProp.lIns = valToPts(slideItemObj.options.margin[0] || 0); + slideItemObj.options._bodyProp.rIns = valToPts(slideItemObj.options.margin[1] || 0); + slideItemObj.options._bodyProp.bIns = valToPts(slideItemObj.options.margin[2] || 0); + slideItemObj.options._bodyProp.tIns = valToPts(slideItemObj.options.margin[3] || 0); + } else if (typeof slideItemObj.options.margin === "number") { + slideItemObj.options._bodyProp.lIns = valToPts(slideItemObj.options.margin); + slideItemObj.options._bodyProp.rIns = valToPts(slideItemObj.options.margin); + slideItemObj.options._bodyProp.bIns = valToPts(slideItemObj.options.margin); + slideItemObj.options._bodyProp.tIns = valToPts(slideItemObj.options.margin); + } + strSlideXml += ""; + strSlideXml += ``; + if ((_c = slideItemObj.options.hyperlink) === null || _c === void 0 ? void 0 : _c.url) { + strSlideXml += ``; + } + if ((_d = slideItemObj.options.hyperlink) === null || _d === void 0 ? void 0 : _d.slide) { + strSlideXml += ``; + } + strSlideXml += ""; + strSlideXml += "' : "/>"); + strSlideXml += `${slideItemObj._type === "placeholder" ? genXmlPlaceholder(slideItemObj) : genXmlPlaceholder(placeholderObj)}`; + strSlideXml += ""; + strSlideXml += ``; + strSlideXml += ``; + strSlideXml += ``; + if (slideItemObj.shape === "custGeom") { + strSlideXml += ""; + strSlideXml += ""; + strSlideXml += ""; + strSlideXml += ""; + strSlideXml += ""; + strSlideXml += ""; + strSlideXml += ''; + strSlideXml += ""; + strSlideXml += ``; + (_f = slideItemObj.options.points) === null || _f === void 0 ? void 0 : _f.forEach((point, i) => { + if ("curve" in point) { + switch (point.curve.type) { + case "arc": + strSlideXml += ``; + break; + case "cubic": + strSlideXml += ` + + + + `; + break; + case "quadratic": + strSlideXml += ` + + + `; + break; + } + } else if ("close" in point) { + strSlideXml += ""; + } else if (point.moveTo || i === 0) { + strSlideXml += ``; + } else { + strSlideXml += ``; + } + }); + strSlideXml += ""; + strSlideXml += ""; + strSlideXml += ""; + } else { + strSlideXml += ''; + if (slideItemObj.options.rectRadius) { + strSlideXml += ``; + } else if (slideItemObj.options.angleRange) { + for (let i = 0; i < 2; i++) { + const angle = slideItemObj.options.angleRange[i]; + strSlideXml += ``; + } + if (slideItemObj.options.arcThicknessRatio) { + strSlideXml += ``; + } + } + strSlideXml += ""; + } + strSlideXml += slideItemObj.options.fill ? genXmlColorSelection(slideItemObj.options.fill) : ""; + if (slideItemObj.options.line) { + strSlideXml += slideItemObj.options.line.width ? `` : ""; + if (slideItemObj.options.line.color) + strSlideXml += genXmlColorSelection(slideItemObj.options.line); + if (slideItemObj.options.line.dashType) + strSlideXml += ``; + if (slideItemObj.options.line.beginArrowType) + strSlideXml += ``; + if (slideItemObj.options.line.endArrowType) + strSlideXml += ``; + strSlideXml += ""; + } + if (slideItemObj.options.shadow && slideItemObj.options.shadow.type !== "none") { + slideItemObj.options.shadow.type = slideItemObj.options.shadow.type || "outer"; + slideItemObj.options.shadow.blur = valToPts(slideItemObj.options.shadow.blur || 8); + slideItemObj.options.shadow.offset = valToPts(slideItemObj.options.shadow.offset || 4); + slideItemObj.options.shadow.angle = Math.round((slideItemObj.options.shadow.angle || 270) * 6e4); + slideItemObj.options.shadow.opacity = Math.round((slideItemObj.options.shadow.opacity || 0.75) * 1e5); + slideItemObj.options.shadow.color = slideItemObj.options.shadow.color || DEF_TEXT_SHADOW.color; + strSlideXml += ""; + strSlideXml += ` `; + strSlideXml += ` `; + strSlideXml += ` `; + strSlideXml += " "; + strSlideXml += ""; + } + strSlideXml += ""; + strSlideXml += genXmlTextBody(slideItemObj); + strSlideXml += ""; + break; + case SLIDE_OBJECT_TYPES.image: + strSlideXml += ""; + strSlideXml += " "; + strSlideXml += ``; + if ((_g = slideItemObj.hyperlink) === null || _g === void 0 ? void 0 : _g.url) { + strSlideXml += ``; + } + if ((_h = slideItemObj.hyperlink) === null || _h === void 0 ? void 0 : _h.slide) { + strSlideXml += ``; + } + strSlideXml += " "; + strSlideXml += ' '; + strSlideXml += " " + genXmlPlaceholder(placeholderObj) + ""; + strSlideXml += " "; + strSlideXml += ""; + if ((slide._relsMedia || []).filter((rel) => rel.rId === slideItemObj.imageRid)[0] && (slide._relsMedia || []).filter((rel) => rel.rId === slideItemObj.imageRid)[0].extn === "svg") { + strSlideXml += ``; + strSlideXml += slideItemObj.options.transparency ? ` ` : ""; + strSlideXml += " "; + strSlideXml += ' '; + strSlideXml += ` `; + strSlideXml += " "; + strSlideXml += " "; + strSlideXml += ""; + } else { + strSlideXml += ``; + strSlideXml += slideItemObj.options.transparency ? `` : ""; + strSlideXml += ""; + } + if (sizing === null || sizing === void 0 ? void 0 : sizing.type) { + const boxW = sizing.w ? getSmartParseNumber(sizing.w, "X", slide._presLayout) : cx2; + const boxH = sizing.h ? getSmartParseNumber(sizing.h, "Y", slide._presLayout) : cy2; + const boxX = getSmartParseNumber(sizing.x || 0, "X", slide._presLayout); + const boxY = getSmartParseNumber(sizing.y || 0, "Y", slide._presLayout); + strSlideXml += ImageSizingXml[sizing.type]({ w: imgWidth, h: imgHeight }, { w: boxW, h: boxH, x: boxX, y: boxY }); + imgWidth = boxW; + imgHeight = boxH; + } else { + strSlideXml += " "; + } + strSlideXml += ""; + strSlideXml += ""; + strSlideXml += " "; + strSlideXml += ` `; + strSlideXml += ` `; + strSlideXml += " "; + strSlideXml += ` `; + if (slideItemObj.options.shadow && slideItemObj.options.shadow.type !== "none") { + slideItemObj.options.shadow.type = slideItemObj.options.shadow.type || "outer"; + slideItemObj.options.shadow.blur = valToPts(slideItemObj.options.shadow.blur || 8); + slideItemObj.options.shadow.offset = valToPts(slideItemObj.options.shadow.offset || 4); + slideItemObj.options.shadow.angle = Math.round((slideItemObj.options.shadow.angle || 270) * 6e4); + slideItemObj.options.shadow.opacity = Math.round((slideItemObj.options.shadow.opacity || 0.75) * 1e5); + slideItemObj.options.shadow.color = slideItemObj.options.shadow.color || DEF_TEXT_SHADOW.color; + strSlideXml += ""; + strSlideXml += ``; + strSlideXml += ``; + strSlideXml += ``; + strSlideXml += ``; + strSlideXml += ""; + } + strSlideXml += ""; + strSlideXml += ""; + break; + case SLIDE_OBJECT_TYPES.media: + if (slideItemObj.mtype === "online") { + strSlideXml += ""; + strSlideXml += " "; + strSlideXml += ``; + strSlideXml += " "; + strSlideXml += " "; + strSlideXml += ` `; + strSlideXml += " "; + strSlideXml += " "; + strSlideXml += ` `; + strSlideXml += " "; + strSlideXml += ` `; + strSlideXml += ' '; + strSlideXml += " "; + strSlideXml += ""; + } else { + strSlideXml += ""; + strSlideXml += " "; + strSlideXml += ``; + strSlideXml += ' '; + strSlideXml += " "; + strSlideXml += ` `; + strSlideXml += " "; + strSlideXml += ' '; + strSlideXml += ` `; + strSlideXml += " "; + strSlideXml += " "; + strSlideXml += " "; + strSlideXml += " "; + strSlideXml += ` `; + strSlideXml += " "; + strSlideXml += ` `; + strSlideXml += ' '; + strSlideXml += " "; + strSlideXml += ""; + } + break; + case SLIDE_OBJECT_TYPES.chart: + strSlideXml += ""; + strSlideXml += " "; + strSlideXml += ` `; + strSlideXml += " "; + strSlideXml += ` ${genXmlPlaceholder(placeholderObj)}`; + strSlideXml += " "; + strSlideXml += ` `; + strSlideXml += ' '; + strSlideXml += ' '; + strSlideXml += ` `; + strSlideXml += " "; + strSlideXml += " "; + strSlideXml += ""; + break; + default: + strSlideXml += ""; + break; + } + }); + if (slide._slideNumberProps) { + if (!slide._slideNumberProps.align) + slide._slideNumberProps.align = "left"; + strSlideXml += ""; + strSlideXml += " "; + strSlideXml += ' '; + strSlideXml += ' '; + strSlideXml += " "; + strSlideXml += " "; + strSlideXml += ` `; + strSlideXml += ""; + strSlideXml += "`; + if (slide._slideNumberProps.color) + strSlideXml += genXmlColorSelection(slide._slideNumberProps.color); + if (slide._slideNumberProps.fontFace) { + strSlideXml += ``; + } + strSlideXml += ""; + } + strSlideXml += ""; + strSlideXml += ""; + if (slide._slideNumberProps.align.startsWith("l")) + strSlideXml += ''; + else if (slide._slideNumberProps.align.startsWith("c")) + strSlideXml += ''; + else if (slide._slideNumberProps.align.startsWith("r")) + strSlideXml += ''; + else + strSlideXml += ''; + strSlideXml += ``; + strSlideXml += `${slide._slideNum}`; + strSlideXml += ""; + } + strSlideXml += ""; + strSlideXml += ""; + return strSlideXml; +} +function slideObjectRelationsToXml(slide, defaultRels) { + let lastRid = 0; + let strXml = '' + CRLF + ''; + slide._rels.forEach((rel) => { + lastRid = Math.max(lastRid, rel.rId); + if (rel.type.toLowerCase().includes("hyperlink")) { + if (rel.data === "slide") { + strXml += ``; + } else { + strXml += ``; + } + } else if (rel.type.toLowerCase().includes("notesSlide")) { + strXml += ``; + } + }); + (slide._relsChart || []).forEach((rel) => { + lastRid = Math.max(lastRid, rel.rId); + strXml += ``; + }); + (slide._relsMedia || []).forEach((rel) => { + const relRid = rel.rId.toString(); + lastRid = Math.max(lastRid, rel.rId); + if (rel.type.toLowerCase().includes("image")) { + strXml += ''; + } else if (rel.type.toLowerCase().includes("audio")) { + if (strXml.includes(' Target="' + rel.Target + '"')) { + strXml += ''; + } else { + strXml += ''; + } + } else if (rel.type.toLowerCase().includes("video")) { + if (strXml.includes(' Target="' + rel.Target + '"')) { + strXml += ''; + } else { + strXml += ''; + } + } else if (rel.type.toLowerCase().includes("online")) { + if (strXml.includes(' Target="' + rel.Target + '"')) { + strXml += ''; + } else { + strXml += ''; + } + } + }); + defaultRels.forEach((rel, idx) => { + strXml += ``; + }); + strXml += ""; + return strXml; +} +function genXmlParagraphProperties(textObj, isDefault) { + var _a, _b; + let strXmlBullet = ""; + let strXmlLnSpc = ""; + let strXmlParaSpc = ""; + let strXmlTabStops = ""; + const tag = isDefault ? "a:lvl1pPr" : "a:pPr"; + let bulletMarL = valToPts(DEF_BULLET_MARGIN); + let paragraphPropXml = `<${tag}${textObj.options.rtlMode ? ' rtl="1" ' : ""}`; + { + if (textObj.options.align) { + switch (textObj.options.align) { + case "left": + paragraphPropXml += ' algn="l"'; + break; + case "right": + paragraphPropXml += ' algn="r"'; + break; + case "center": + paragraphPropXml += ' algn="ctr"'; + break; + case "justify": + paragraphPropXml += ' algn="just"'; + break; + default: + paragraphPropXml += ""; + break; + } + } + if (textObj.options.lineSpacing) { + strXmlLnSpc = ``; + } else if (textObj.options.lineSpacingMultiple) { + strXmlLnSpc = ``; + } + if (textObj.options.indentLevel && !isNaN(Number(textObj.options.indentLevel)) && textObj.options.indentLevel > 0) { + paragraphPropXml += ` lvl="${textObj.options.indentLevel}"`; + } + if (textObj.options.paraSpaceBefore && !isNaN(Number(textObj.options.paraSpaceBefore)) && textObj.options.paraSpaceBefore > 0) { + strXmlParaSpc += ``; + } + if (textObj.options.paraSpaceAfter && !isNaN(Number(textObj.options.paraSpaceAfter)) && textObj.options.paraSpaceAfter > 0) { + strXmlParaSpc += ``; + } + if (typeof textObj.options.bullet === "object") { + if ((_b = (_a = textObj === null || textObj === void 0 ? void 0 : textObj.options) === null || _a === void 0 ? void 0 : _a.bullet) === null || _b === void 0 ? void 0 : _b.indent) + bulletMarL = valToPts(textObj.options.bullet.indent); + if (textObj.options.bullet.type) { + if (textObj.options.bullet.type.toString().toLowerCase() === "number") { + paragraphPropXml += ` marL="${textObj.options.indentLevel && textObj.options.indentLevel > 0 ? bulletMarL + bulletMarL * textObj.options.indentLevel : bulletMarL}" indent="-${bulletMarL}"`; + strXmlBullet = ``; + } + } else if (textObj.options.bullet.characterCode) { + let bulletCode = `&#x${textObj.options.bullet.characterCode};`; + if (!/^[0-9A-Fa-f]{4}$/.test(textObj.options.bullet.characterCode)) { + console.warn("Warning: `bullet.characterCode should be a 4-digit unicode charatcer (ex: 22AB)`!"); + bulletCode = BULLET_TYPES.DEFAULT; + } + paragraphPropXml += ` marL="${textObj.options.indentLevel && textObj.options.indentLevel > 0 ? bulletMarL + bulletMarL * textObj.options.indentLevel : bulletMarL}" indent="-${bulletMarL}"`; + strXmlBullet = ''; + } else if (textObj.options.bullet.code) { + let bulletCode = `&#x${textObj.options.bullet.code};`; + if (!/^[0-9A-Fa-f]{4}$/.test(textObj.options.bullet.code)) { + console.warn("Warning: `bullet.code should be a 4-digit hex code (ex: 22AB)`!"); + bulletCode = BULLET_TYPES.DEFAULT; + } + paragraphPropXml += ` marL="${textObj.options.indentLevel && textObj.options.indentLevel > 0 ? bulletMarL + bulletMarL * textObj.options.indentLevel : bulletMarL}" indent="-${bulletMarL}"`; + strXmlBullet = ''; + } else { + paragraphPropXml += ` marL="${textObj.options.indentLevel && textObj.options.indentLevel > 0 ? bulletMarL + bulletMarL * textObj.options.indentLevel : bulletMarL}" indent="-${bulletMarL}"`; + strXmlBullet = ``; + } + } else if (textObj.options.bullet) { + paragraphPropXml += ` marL="${textObj.options.indentLevel && textObj.options.indentLevel > 0 ? bulletMarL + bulletMarL * textObj.options.indentLevel : bulletMarL}" indent="-${bulletMarL}"`; + strXmlBullet = ``; + } else if (!textObj.options.bullet) { + paragraphPropXml += ' indent="0" marL="0"'; + strXmlBullet = ""; + } + if (textObj.options.tabStops && Array.isArray(textObj.options.tabStops)) { + const tabStopsXml = textObj.options.tabStops.map((stop) => ``).join(""); + strXmlTabStops = `${tabStopsXml}`; + } + paragraphPropXml += ">" + strXmlLnSpc + strXmlParaSpc + strXmlBullet + strXmlTabStops; + if (isDefault) + paragraphPropXml += genXmlTextRunProperties(textObj.options, true); + paragraphPropXml += ""; + } + return paragraphPropXml; +} +function genXmlTextRunProperties(opts, isDefault) { + var _a; + let runProps = ""; + const runPropsTag = isDefault ? "a:defRPr" : "a:rPr"; + runProps += "<" + runPropsTag + ' lang="' + (opts.lang ? opts.lang : "en-US") + '"' + (opts.lang ? ' altLang="en-US"' : ""); + runProps += opts.fontSize ? ` sz="${Math.round(opts.fontSize * 100)}"` : ""; + runProps += (opts === null || opts === void 0 ? void 0 : opts.bold) ? ` b="${opts.bold ? "1" : "0"}"` : ""; + runProps += (opts === null || opts === void 0 ? void 0 : opts.italic) ? ` i="${opts.italic ? "1" : "0"}"` : ""; + runProps += (opts === null || opts === void 0 ? void 0 : opts.strike) ? ` strike="${typeof opts.strike === "string" ? opts.strike : "sngStrike"}"` : ""; + if (typeof opts.underline === "object" && ((_a = opts.underline) === null || _a === void 0 ? void 0 : _a.style)) { + runProps += ` u="${opts.underline.style}"`; + } else if (typeof opts.underline === "string") { + runProps += ` u="${String(opts.underline)}"`; + } else if (opts.hyperlink) { + runProps += ' u="sng"'; + } + if (opts.baseline) { + runProps += ` baseline="${Math.round(opts.baseline * 50)}"`; + } else if (opts.subscript) { + runProps += ' baseline="-40000"'; + } else if (opts.superscript) { + runProps += ' baseline="30000"'; + } + runProps += opts.charSpacing ? ` spc="${Math.round(opts.charSpacing * 100)}" kern="0"` : ""; + runProps += ' dirty="0">'; + if (opts.color || opts.fontFace || opts.outline || typeof opts.underline === "object" && opts.underline.color) { + if (opts.outline && typeof opts.outline === "object") { + runProps += `${genXmlColorSelection(opts.outline.color || "FFFFFF")}`; + } + if (opts.color) + runProps += genXmlColorSelection({ color: opts.color, transparency: opts.transparency }); + if (opts.highlight) + runProps += `${createColorElement(opts.highlight)}`; + if (typeof opts.underline === "object" && opts.underline.color) + runProps += `${genXmlColorSelection(opts.underline.color)}`; + if (opts.glow) + runProps += `${createGlowElement(opts.glow, DEF_TEXT_GLOW)}`; + if (opts.fontFace) { + runProps += ``; + } + } + if (opts.hyperlink) { + if (typeof opts.hyperlink !== "object") + throw new Error("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink:{url:'https://github.com'}` "); + else if (!opts.hyperlink.url && !opts.hyperlink.slide) + throw new Error("ERROR: 'hyperlink requires either `url` or `slide`'"); + else if (opts.hyperlink.url) { + runProps += `" : "/>"}`; + } else if (opts.hyperlink.slide) { + runProps += `" : "/>"}`; + } + if (opts.color) { + runProps += " "; + runProps += ' '; + runProps += ' '; + runProps += " "; + runProps += " "; + runProps += ""; + } + } + runProps += ``; + return runProps; +} +function genXmlTextRun(textObj) { + return textObj.text ? `${genXmlTextRunProperties(textObj.options, false)}${encodeXmlEntities(textObj.text)}` : ""; +} +function genXmlBodyProperties(slideObject) { + let bodyProperties = "" : ""; + bodyProperties += ""; + } else { + bodyProperties += ' wrap="square" rtlCol="0">'; + bodyProperties += ""; + } + return slideObject._type === SLIDE_OBJECT_TYPES.tablecell ? "" : bodyProperties; +} +function genXmlTextBody(slideObj) { + const opts = slideObj.options || {}; + let tmpTextObjects = []; + const arrTextObjects = []; + if (opts && slideObj._type !== SLIDE_OBJECT_TYPES.tablecell && (typeof slideObj.text === "undefined" || slideObj.text === null)) + return ""; + let strSlideXml = slideObj._type === SLIDE_OBJECT_TYPES.tablecell ? "" : ""; + { + strSlideXml += genXmlBodyProperties(slideObj); + if (opts.h === 0 && opts.line && opts.align) + strSlideXml += ''; + else if (slideObj._type === "placeholder") + strSlideXml += `${genXmlParagraphProperties(slideObj, true)}`; + else + strSlideXml += ""; + } + if (typeof slideObj.text === "string" || typeof slideObj.text === "number") { + tmpTextObjects.push({ text: slideObj.text.toString(), options: opts || {} }); + } else if (slideObj.text && !Array.isArray(slideObj.text) && typeof slideObj.text === "object" && Object.keys(slideObj.text).includes("text")) { + tmpTextObjects.push({ text: slideObj.text || "", options: slideObj.options || {} }); + } else if (Array.isArray(slideObj.text)) { + tmpTextObjects = slideObj.text.map((item) => ({ text: item.text, options: item.options })); + } + tmpTextObjects.forEach((itext, idx) => { + if (!itext.text) + itext.text = ""; + itext.options = itext.options || opts || {}; + if (idx === 0 && itext.options && !itext.options.bullet && opts.bullet) + itext.options.bullet = opts.bullet; + if (typeof itext.text === "string" || typeof itext.text === "number") { + itext.text = itext.text.toString().replace(/\r*\n/g, CRLF); + } + if (itext.text.includes(CRLF) && itext.text.match(/\n$/g) === null) { + itext.text.split(CRLF).forEach((line) => { + itext.options.breakLine = true; + arrTextObjects.push({ text: line, options: itext.options }); + }); + } else { + arrTextObjects.push(itext); + } + }); + const arrLines = []; + let arrTexts = []; + arrTextObjects.forEach((textObj, idx) => { + if (arrTexts.length > 0 && (textObj.options.align || opts.align)) { + if (textObj.options.align !== arrTextObjects[idx - 1].options.align) { + arrLines.push(arrTexts); + arrTexts = []; + } + } else if (arrTexts.length > 0 && textObj.options.bullet && arrTexts.length > 0) { + arrLines.push(arrTexts); + arrTexts = []; + textObj.options.breakLine = false; + } + arrTexts.push(textObj); + if (arrTexts.length > 0 && textObj.options.breakLine) { + if (idx + 1 < arrTextObjects.length) { + arrLines.push(arrTexts); + arrTexts = []; + } + } + if (idx + 1 === arrTextObjects.length) + arrLines.push(arrTexts); + }); + arrLines.forEach((line) => { + var _a; + let reqsClosingFontSize = false; + strSlideXml += ""; + let paragraphPropXml = ` { + textObj.options._lineIdx = idx; + if (idx > 0 && textObj.options.softBreakBefore) { + strSlideXml += ""; + } + textObj.options.align = textObj.options.align || opts.align; + textObj.options.lineSpacing = textObj.options.lineSpacing || opts.lineSpacing; + textObj.options.lineSpacingMultiple = textObj.options.lineSpacingMultiple || opts.lineSpacingMultiple; + textObj.options.indentLevel = textObj.options.indentLevel || opts.indentLevel; + textObj.options.paraSpaceBefore = textObj.options.paraSpaceBefore || opts.paraSpaceBefore; + textObj.options.paraSpaceAfter = textObj.options.paraSpaceAfter || opts.paraSpaceAfter; + paragraphPropXml = genXmlParagraphProperties(textObj, false); + strSlideXml += paragraphPropXml.replace("", ""); + Object.entries(opts).filter(([key]) => !(textObj.options.hyperlink && key === "color")).forEach(([key, val2]) => { + if (key !== "bullet" && !textObj.options[key]) + textObj.options[key] = val2; + }); + strSlideXml += genXmlTextRun(textObj); + if (!textObj.text && opts.fontSize || textObj.options.fontSize) { + reqsClosingFontSize = true; + opts.fontSize = opts.fontSize || textObj.options.fontSize; + } + }); + if (slideObj._type === SLIDE_OBJECT_TYPES.tablecell && (opts.fontSize || opts.fontFace)) { + if (opts.fontFace) { + strSlideXml += `'; + strSlideXml += ``; + strSlideXml += ``; + strSlideXml += ``; + strSlideXml += ""; + } else { + strSlideXml += `'; + } + } else if (reqsClosingFontSize) { + strSlideXml += `'; + } else { + strSlideXml += ``; + } + strSlideXml += ""; + }); + if (strSlideXml.indexOf("") === -1) { + strSlideXml += ""; + } + strSlideXml += slideObj._type === SLIDE_OBJECT_TYPES.tablecell ? "" : ""; + return strSlideXml; +} +function genXmlPlaceholder(placeholderObj) { + var _a, _b; + if (!placeholderObj) + return ""; + const placeholderIdx = ((_a = placeholderObj.options) === null || _a === void 0 ? void 0 : _a._placeholderIdx) ? placeholderObj.options._placeholderIdx : ""; + const placeholderTyp = ((_b = placeholderObj.options) === null || _b === void 0 ? void 0 : _b._placeholderType) ? placeholderObj.options._placeholderType : ""; + const placeholderType = placeholderTyp && PLACEHOLDER_TYPES[placeholderTyp] ? PLACEHOLDER_TYPES[placeholderTyp].toString() : ""; + return ` 0 ? ' hasCustomPrompt="1"' : ""} + />`; +} +function makeXmlContTypes(slides, slideLayouts, masterSlide) { + let strXml = '' + CRLF; + strXml += ''; + strXml += ''; + strXml += ''; + strXml += ''; + strXml += ''; + strXml += ''; + strXml += ''; + strXml += ''; + strXml += ''; + strXml += ''; + slides.forEach((slide) => { + (slide._relsMedia || []).forEach((rel) => { + if (rel.type !== "image" && rel.type !== "online" && rel.type !== "chart" && rel.extn !== "m4v" && !strXml.includes(rel.type)) { + strXml += ''; + } + }); + }); + strXml += ''; + strXml += ''; + strXml += ''; + strXml += ''; + slides.forEach((slide, idx) => { + strXml += ``; + strXml += ``; + slide._relsChart.forEach((rel) => { + strXml += ``; + }); + }); + strXml += ''; + strXml += ''; + strXml += ''; + strXml += ''; + slideLayouts.forEach((layout, idx) => { + strXml += ``; + (layout._relsChart || []).forEach((rel) => { + strXml += ' '; + }); + }); + slides.forEach((_slide, idx) => { + strXml += ``; + }); + masterSlide._relsChart.forEach((rel) => { + strXml += ' '; + }); + masterSlide._relsMedia.forEach((rel) => { + if (rel.type !== "image" && rel.type !== "online" && rel.type !== "chart" && rel.extn !== "m4v" && !strXml.includes(rel.type)) { + strXml += ' '; + } + }); + strXml += ' '; + strXml += ' '; + strXml += ""; + return strXml; +} +function makeXmlRootRels() { + return `${CRLF} - `}function R0(e,r){return`${Wt} + `; +} +function makeXmlApp(slides, company) { + return `${CRLF} 0 0 Microsoft Office PowerPoint On-screen Show (16:9) 0 - ${e.length} - ${e.length} + ${slides.length} + ${slides.length} 0 0 false @@ -270,65 +33785,1291 @@ ${String(d)}`)}return n&&a&&u.path.startsWith("http")?yield new Promise((d,p)=>{ Theme 1 Slide Titles - ${e.length} + ${slides.length} - + Arial Calibri Office Theme - ${e.map((t,n)=>`Slide ${n+1}`).join("")} + ${slides.map((_slideObj, idx) => `Slide ${idx + 1}`).join("")} - ${r} + ${company} false false false 16.0000 - `}function L0(e,r,t,n){return` + `; +} +function makeXmlCore(title, subject, author, revision) { + return ` - ${Ve(e)} - ${Ve(r)} - ${Ve(t)} - ${Ve(t)} - ${n} - ${new Date().toISOString().replace(/\.\d\d\dZ/,"Z")} - ${new Date().toISOString().replace(/\.\d\d\dZ/,"Z")} - `}function N0(e){let r=1,t=''+Wt;t+='',t+='';for(let n=1;n<=e.length;n++)t+=``;return r++,t+=``,t}function I0(e){return`${Wt}${Dl(e)}`}function z0(e){let r="";return e._slideObjects.forEach(t=>{t._type===He.notes&&(r+=t?.text&&t.text[0]?t.text[0].text:"")}),r.replace(/\r*\n/g,Wt)}function M0(){return`${Wt}7/23/19Click to edit Master text stylesSecond levelThird levelFourth levelFifth level\u2039#\u203A`}function O0(e){return`${Wt}${Ve(z0(e))}${e._slideNum}`}function _0(e){return` + ${encodeXmlEntities(title)} + ${encodeXmlEntities(subject)} + ${encodeXmlEntities(author)} + ${encodeXmlEntities(author)} + ${revision} + ${(/* @__PURE__ */ new Date()).toISOString().replace(/\.\d\d\dZ/, "Z")} + ${(/* @__PURE__ */ new Date()).toISOString().replace(/\.\d\d\dZ/, "Z")} + `; +} +function makeXmlPresentationRels(slides) { + let intRelNum = 1; + let strXml = '' + CRLF; + strXml += ''; + strXml += ''; + for (let idx = 1; idx <= slides.length; idx++) { + strXml += ``; + } + intRelNum++; + strXml += ``; + return strXml; +} +function makeXmlSlide(slide) { + return `${CRLF}${slideObjectToXml(slide)}`; +} +function getNotesFromSlide(slide) { + let notesText = ""; + slide._slideObjects.forEach((data) => { + if (data._type === SLIDE_OBJECT_TYPES.notes) + notesText += (data === null || data === void 0 ? void 0 : data.text) && data.text[0] ? data.text[0].text : ""; + }); + return notesText.replace(/\r*\n/g, CRLF); +} +function makeXmlNotesMaster() { + return `${CRLF}7/23/19Click to edit Master text stylesSecond levelThird levelFourth levelFifth level\u2039#\u203A`; +} +function makeXmlNotesSlide(slide) { + return `${CRLF}${encodeXmlEntities(getNotesFromSlide(slide))}${slide._slideNum}`; +} +function makeXmlLayout(layout) { + return ` - ${Dl(e)} - `}function U0(e,r){let t=r.map((i,a)=>``),n=''+Wt;return n+='',n+=Dl(e),n+='',n+=""+t.join("")+"",n+='',n+=' ',n+="",n}function W0(e,r){return El(r[e-1],[{target:"../slideMasters/slideMaster1.xml",type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster"}])}function G0(e,r,t){return El(e[t-1],[{target:`../slideLayouts/slideLayout${X0(e,r,t)}.xml`,type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout"},{target:`../notesSlides/notesSlide${t}.xml`,type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide"}])}function j0(e){return` + ${slideObjectToXml(layout)} + `; +} +function makeXmlMaster(slide, layouts) { + const layoutDefs = layouts.map((_layoutDef, idx) => ``); + let strXml = '' + CRLF; + strXml += ''; + strXml += slideObjectToXml(slide); + strXml += ''; + strXml += "" + layoutDefs.join("") + ""; + strXml += ''; + strXml += ' '; + strXml += ""; + return strXml; +} +function makeXmlSlideLayoutRel(layoutNumber, slideLayouts) { + return slideObjectRelationsToXml(slideLayouts[layoutNumber - 1], [ + { + target: "../slideMasters/slideMaster1.xml", + type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster" + } + ]); +} +function makeXmlSlideRel(slides, slideLayouts, slideNumber) { + return slideObjectRelationsToXml(slides[slideNumber - 1], [ + { + target: `../slideLayouts/slideLayout${getLayoutIdxForSlide(slides, slideLayouts, slideNumber)}.xml`, + type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout" + }, + { + target: `../notesSlides/notesSlide${slideNumber}.xml`, + type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide" + } + ]); +} +function makeXmlNotesSlideRel(slideNumber) { + return ` - - `}function q0(e,r){let t=r.map((n,i)=>({target:`../slideLayouts/slideLayout${i+1}.xml`,type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout"}));return t.push({target:"../theme/theme1.xml",type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"}),El(e,t)}function V0(){return`${Wt} + + `; +} +function makeXmlMasterRel(masterSlide, slideLayouts) { + const defaultRels = slideLayouts.map((_layoutDef, idx) => ({ + target: `../slideLayouts/slideLayout${idx + 1}.xml`, + type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout" + })); + defaultRels.push({ target: "../theme/theme1.xml", type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" }); + return slideObjectRelationsToXml(masterSlide, defaultRels); +} +function makeXmlNotesMasterRel() { + return `${CRLF} - `}function X0(e,r,t){for(let n=0;n`:'',o=!((n=e.theme)===null||n===void 0)&&n.bodyFontFace?``:'';return`${a}${o}`}function K0(e){let r=`${Wt}`;r+='',r+="",e.slides.forEach(t=>r+=``),r+="",r+=``,r+=``,r+=``,r+="";for(let t=1;t<10;t++)r+=``;return r+="",e.sections&&e.sections.length>0&&(r+='',r+='',e.sections.forEach(t=>{r+=``,t._slides.forEach(n=>r+=``),r+=""}),r+="",r+='',r+=""),r+="",r}function Q0(){return`${Wt}`}function Z0(){return`${Wt}`}function Y0(){return`${Wt}`}var J0="4.0.1",$0=class{set layout(e){let r=this.LAYOUTS[e];if(r)this._layout=e,this._presLayout=r;else throw new Error("UNKNOWN-LAYOUT")}get layout(){return this._layout}get version(){return this._version}set author(e){this._author=e}get author(){return this._author}set company(e){this._company=e}get company(){return this._company}set revision(e){this._revision=e}get revision(){return this._revision}set subject(e){this._subject=e}get subject(){return this._subject}set theme(e){this._theme=e}get theme(){return this._theme}set title(e){this._title=e}get title(){return this._title}set rtlMode(e){this._rtlMode=e}get rtlMode(){return this._rtlMode}get masterSlide(){return this._masterSlide}get slides(){return this._slides}get sections(){return this._sections}get slideLayouts(){return this._slideLayouts}get AlignH(){return this._alignH}get AlignV(){return this._alignV}get ChartType(){return this._chartType}get OutputType(){return this._outputType}get presLayout(){return this._presLayout}get SchemeColor(){return this._schemeColor}get ShapeType(){return this._shapeType}get charts(){return this._charts}get colors(){return this._colors}get shapes(){return this._shapes}constructor(){this._version=J0,this._alignH=$s,this._alignV=el,this._chartType=Ys,this._outputType=Zs,this._schemeColor=lr,this._shapeType=Js,this._charts=Ce,this._colors=bo,this._shapes=xn,this.addNewSlide=i=>{let a=this.sections.length>0&&this.sections[this.sections.length-1]._slides.filter(o=>o._slideNum===this.slides[this.slides.length-1]._slideNum).length>0;return i.sectionTitle=a?this.sections[this.sections.length-1].title:null,this.addSlide(i)},this.getSlide=i=>this.slides.filter(a=>a._slideNum===i)[0],this.setSlideNumber=i=>{this.masterSlide._slideNumberProps=i,this.slideLayouts.filter(a=>a._name===Ks)[0]._slideNumberProps=i},this.createChartMediaRels=(i,a,o)=>{i._relsChart.forEach(l=>o.push(k0(l,a))),i._relsMedia.forEach(l=>{if(l.type!=="online"&&l.type!=="hyperlink"){let c=l.data&&typeof l.data=="string"?l.data:"";!c.includes(",")&&!c.includes(";")?c="image/png;base64,"+c:c.includes(",")?c.includes(";")||(c="image/png;"+c):c="image/png;base64,"+c,a.file(l.Target.replace("..","ppt"),c.split(",").pop(),{base64:!0})}})},this.writeFileToBrowser=(i,a)=>cr(this,void 0,void 0,function*(){let o=document.createElement("a");if(o.setAttribute("style","display:none;"),o.dataset.interception="off",document.body.appendChild(o),window.URL.createObjectURL){let l=window.URL.createObjectURL(new Blob([a],{type:"application/vnd.openxmlformats-officedocument.presentationml.presentation"}));return o.href=l,o.download=i,o.click(),setTimeout(()=>{window.URL.revokeObjectURL(l),document.body.removeChild(o)},100),yield Promise.resolve(i)}}),this.exportPresentation=i=>cr(this,void 0,void 0,function*(){let a=[],o=[],l=new Gd.default;return this.slides.forEach(c=>{o=o.concat(Ns(c))}),this.slideLayouts.forEach(c=>{o=o.concat(Ns(c))}),o=o.concat(Ns(this.masterSlide)),yield Promise.all(o).then(()=>cr(this,void 0,void 0,function*(){return this.slides.forEach(c=>{c._slideLayout&&x0(c)}),l.folder("_rels"),l.folder("docProps"),l.folder("ppt").folder("_rels"),l.folder("ppt/charts").folder("_rels"),l.folder("ppt/embeddings"),l.folder("ppt/media"),l.folder("ppt/slideLayouts").folder("_rels"),l.folder("ppt/slideMasters").folder("_rels"),l.folder("ppt/slides").folder("_rels"),l.folder("ppt/theme"),l.folder("ppt/notesMasters").folder("_rels"),l.folder("ppt/notesSlides").folder("_rels"),l.file("[Content_Types].xml",E0(this.slides,this.slideLayouts,this.masterSlide)),l.file("_rels/.rels",B0()),l.file("docProps/app.xml",R0(this.slides,this.company)),l.file("docProps/core.xml",L0(this.title,this.subject,this.author,this.revision)),l.file("ppt/_rels/presentation.xml.rels",N0(this.slides)),l.file("ppt/theme/theme1.xml",H0(this)),l.file("ppt/presentation.xml",K0(this)),l.file("ppt/presProps.xml",Q0()),l.file("ppt/tableStyles.xml",Z0()),l.file("ppt/viewProps.xml",Y0()),this.slideLayouts.forEach((c,s)=>{l.file(`ppt/slideLayouts/slideLayout${s+1}.xml`,_0(c)),l.file(`ppt/slideLayouts/_rels/slideLayout${s+1}.xml.rels`,W0(s+1,this.slideLayouts))}),this.slides.forEach((c,s)=>{l.file(`ppt/slides/slide${s+1}.xml`,I0(c)),l.file(`ppt/slides/_rels/slide${s+1}.xml.rels`,G0(this.slides,this.slideLayouts,s+1)),l.file(`ppt/notesSlides/notesSlide${s+1}.xml`,O0(c)),l.file(`ppt/notesSlides/_rels/notesSlide${s+1}.xml.rels`,j0(s+1))}),l.file("ppt/slideMasters/slideMaster1.xml",U0(this.masterSlide,this.slideLayouts)),l.file("ppt/slideMasters/_rels/slideMaster1.xml.rels",q0(this.masterSlide,this.slideLayouts)),l.file("ppt/notesMasters/notesMaster1.xml",M0()),l.file("ppt/notesMasters/_rels/notesMaster1.xml.rels",V0()),this.slideLayouts.forEach(c=>{this.createChartMediaRels(c,l,a)}),this.slides.forEach(c=>{this.createChartMediaRels(c,l,a)}),this.createChartMediaRels(this.masterSlide,l,a),yield Promise.all(a).then(()=>cr(this,void 0,void 0,function*(){return i.outputType==="STREAM"?yield l.generateAsync({type:"nodebuffer",compression:i.compression?"DEFLATE":"STORE"}):i.outputType?yield l.generateAsync({type:i.outputType}):yield l.generateAsync({type:"blob",compression:i.compression?"DEFLATE":"STORE"})}))}))});let e={name:"screen4x3",width:9144e3,height:6858e3},r={name:"screen16x9",width:9144e3,height:5143500},t={name:"screen16x10",width:9144e3,height:5715e3},n={name:"custom",width:12192e3,height:6858e3};this.LAYOUTS={LAYOUT_4x3:e,LAYOUT_16x9:r,LAYOUT_16x10:t,LAYOUT_WIDE:n},this._author="PptxGenJS",this._company="PptxGenJS",this._revision="1",this._subject="PptxGenJS Presentation",this._title="PptxGenJS Presentation",this._presLayout={name:this.LAYOUTS[ni].name,_sizeW:this.LAYOUTS[ni].width,_sizeH:this.LAYOUTS[ni].height,width:this.LAYOUTS[ni].width,height:this.LAYOUTS[ni].height},this._rtlMode=!1,this._slideLayouts=[{_margin:ia,_name:Ks,_presLayout:this._presLayout,_rels:[],_relsChart:[],_relsMedia:[],_slide:null,_slideNum:1e3,_slideNumberProps:null,_slideObjects:[]}],this._slides=[],this._sections=[],this._masterSlide={addChart:null,addImage:null,addMedia:null,addNotes:null,addShape:null,addTable:null,addText:null,_name:null,_presLayout:this._presLayout,_rId:null,_rels:[],_relsChart:[],_relsMedia:[],_slideId:null,_slideLayout:null,_slideNum:null,_slideNumberProps:null,_slideObjects:[]}}stream(e){return cr(this,void 0,void 0,function*(){return yield this.exportPresentation({compression:e?.compression,outputType:"STREAM"})})}write(e){return cr(this,void 0,void 0,function*(){let r=typeof e=="object"&&e?.outputType?e.outputType:e||null,t=typeof e=="object"&&e?.compression?e.compression:!1;return yield this.exportPresentation({compression:t,outputType:r})})}writeFile(e){return cr(this,void 0,void 0,function*(){var r,t;let n=typeof process<"u"&&!!(!((r=process.versions)===null||r===void 0)&&r.node)&&((t=process.release)===null||t===void 0?void 0:t.name)==="node";typeof e=="string"&&(console.warn("[WARNING] writeFile(string) is deprecated - pass { fileName } instead."),e={fileName:e});let{fileName:i="Presentation.pptx",compression:a=!1}=e,o=i.toLowerCase().endsWith(".pptx")?i:`${i}.pptx`,l=n?"nodebuffer":null,c=yield this.exportPresentation({compression:a,outputType:l});if(n){let{promises:s}=yield Promise.resolve().then(()=>Qr(Uu())),{writeFile:u}=s;return yield u(o,c),o}return yield this.writeFileToBrowser(o,c),o})}addSection(e){e?e.title||console.warn("addSection requires a title"):console.warn("addSection requires an argument");let r={_type:"user",_slides:[],title:e.title};e.order?this.sections.splice(e.order,0,r):this._sections.push(r)}addSlide(e){let r=typeof e=="string"?e:e?.masterName?e.masterName:"",t={_name:this.LAYOUTS[ni].name,_presLayout:this.presLayout,_rels:[],_relsChart:[],_relsMedia:[],_slideNum:this.slides.length+1};if(r){let i=this.slideLayouts.filter(a=>a._name===r)[0];i&&(t=i)}let n=new S0({addSlide:this.addNewSlide,getSlide:this.getSlide,presLayout:this.presLayout,setSlideNum:this.setSlideNumber,slideId:this.slides.length+256,slideRId:this.slides.length+2,slideNumber:this.slides.length+1,slideLayout:t});if(this._slides.push(n),e?.sectionTitle){let i=this.sections.filter(a=>a.title===e.sectionTitle)[0];i?i._slides.push(n):console.warn(`addSlide: unable to find section with title: "${e.sectionTitle}"`)}else if(this.sections&&this.sections.length>0&&!e?.sectionTitle){let i=this._sections[this.sections.length-1];i._type==="default"?i._slides.push(n):this._sections.push({title:`Default-${this.sections.filter(a=>a._type==="default").length+1}`,_type:"default",_slides:[n]})}return n}defineLayout(e){e?e.name?e.width?e.height?typeof e.height!="number"?console.warn("defineLayout `height` should be a number (inches)"):typeof e.width!="number"&&console.warn("defineLayout `width` should be a number (inches)"):console.warn("defineLayout requires `height`"):console.warn("defineLayout requires `width`"):console.warn("defineLayout requires `name`"):console.warn("defineLayout requires `{name, width, height}`"),this.LAYOUTS[e.name]={name:e.name,_sizeW:Math.round(Number(e.width)*Ke),_sizeH:Math.round(Number(e.height)*Ke),width:Math.round(Number(e.width)*Ke),height:Math.round(Number(e.height)*Ke)}}defineSlideMaster(e){let r=JSON.parse(JSON.stringify(e));if(!r.title)throw new Error("defineSlideMaster() object argument requires a `title` value. (https://gitbrent.github.io/PptxGenJS/docs/masters.html)");let t={_margin:r.margin||ia,_name:r.title,_presLayout:this.presLayout,_rels:[],_relsChart:[],_relsMedia:[],_slide:null,_slideNum:1e3+this.slideLayouts.length+1,_slideNumberProps:r.slideNumber||null,_slideObjects:[],background:r.background||null,bkgd:r.bkgd||null};v0(r,t),this.slideLayouts.push(t),(r.background||r.bkgd)&&Zd(r.background,t),t._slideNumberProps&&!this.masterSlide._slideNumberProps&&(this.masterSlide._slideNumberProps=t._slideNumberProps)}tableToSlides(e,r={}){g0(this,e,r,r?.masterSlideName?this.slideLayouts.filter(t=>t._name===r.masterSlideName)[0]:null)}},rl=96,Du=914400,ey=13.333,Eu=7.5;function Is(e,r){return Math.min(r,Math.max(.15,ey-e-.04))}function Jd(e){let r=String(e||"").trim();return r?r.startsWith("data:")?{data:r}:r.startsWith("file://")?{path:r.replace("file://","")}:{path:r}:null}function ty(e,r){let t=[],n=e.width/rl,i=e.height/rl;if(r.presLayout){let a=r.presLayout.width/Du,o=r.presLayout.height/Du;(Math.abs(a-n)>.1||Math.abs(o-i)>.1)&&t.push(`HTML dimensions (${n.toFixed(1)}" \xD7 ${i.toFixed(1)}") don't match presentation layout (${a.toFixed(1)}" \xD7 ${o.toFixed(1)}")`)}return t}function ry(e,r){let t=[],n=r.height/rl,i=.5;for(let a of e.elements){if(!["p","h1","h2","h3","h4","h5","h6","text","list","merged-text"].includes(a.type))continue;let o=a.style?.fontSize||0,l=a.position.y+a.position.h,c=n-l,s=typeof a.text=="string"?a.text:Array.isArray(a.text)?a.text.find(d=>d.text)?.text||"":Array.isArray(a.items)&&a.items.find(d=>d.text)?.text||"";if(!(/^\d{1,2}\s*\/\s*\d{1,2}$/.test(s.trim())||/^(Arknights|数据来源|source:)/i.test(s.trim())||o<=11)&&o>12&&c50?"...":""}`;t.push(`Text box "${d}" ends too close to bottom edge (${c.toFixed(2)}" from bottom, minimum ${i}" required)`)}}return t}async function ny(e,r){if(e.background?.type==="image"&&e.background.path){let t=Jd(e.background.path);t&&(r.background=t)}else e.background?.type==="color"&&e.background.value&&(r.background={color:e.background.value})}function iy(e,r,t){for(let n of e.elements)if(n.type==="image"){let i=Jd(n.src);if(!i)continue;r.addImage({...i,x:n.position.x,y:n.position.y,w:n.position.w,h:n.position.h})}else if(n.type==="line")r.addShape(t.ShapeType.line,{x:n.x1,y:n.y1,w:n.x2-n.x1,h:n.y2-n.y1,line:{color:n.color,width:n.width}});else if(n.type==="shape"){let i={x:n.position.x,y:n.position.y,w:n.position.w,h:n.position.h,shape:n.shape.rectRadius>0?t.ShapeType.roundRect:t.ShapeType.rect};n.shape.fill&&(i.fill={color:n.shape.fill},n.shape.transparency!=null&&(i.fill.transparency=n.shape.transparency)),n.shape.line&&(i.line=n.shape.line),n.shape.rectRadius>0&&(i.rectRadius=n.shape.rectRadius),n.shape.shadow&&(i.shadow=n.shape.shadow),r.addText(n.text||"",i)}else if(n.type==="list"||n.type==="merged-text"){let i={x:n.position.x,y:n.position.y,w:Is(n.position.x,n.position.w+n.position.w*.04),h:Math.min(n.position.h,Math.max(.15,Eu-n.position.y-.04)),fontSize:n.style.fontSize,fontFace:n.style.fontFace,color:n.style.color,align:n.style.align,valign:"top",lineSpacing:n.style.lineSpacing,paraSpaceBefore:n.style.paraSpaceBefore,paraSpaceAfter:n.style.paraSpaceAfter,margin:n.style.margin,inset:0,shrinkText:!1,autoFit:!1};n.style.transparency!=null&&(i.transparency=n.style.transparency),r.addText(n.items||n.text,i)}else{let i=n.style.lineSpacing||n.style.fontSize*1.2,a=n.position.h<=i*1.5,o=n.style.vert&&n.style.vert!=="horz",l=o?0:n.position.w*(a?.02:.06),c=n.position.x,s=Is(n.position.x,n.position.w+l),u=n.style.align;!o&&u==="center"?c=n.position.x-(s-n.position.w)/2:!o&&u==="right"&&(c=n.position.x-(s-n.position.w)),c=Math.max(0,c),s=Is(c,s);let d={x:c,y:n.position.y,w:s,h:Math.min(n.position.h,Math.max(.15,Eu-n.position.y-.04)),fontSize:n.style.fontSize,fontFace:n.style.fontFace,color:n.style.color,bold:n.style.bold,italic:n.style.italic,underline:n.style.underline,valign:o?"mid":n.style.valign||"top",lineSpacing:n.style.lineSpacing,paraSpaceBefore:n.style.paraSpaceBefore,paraSpaceAfter:n.style.paraSpaceAfter,inset:0,shrinkText:!1,autoFit:!1};n.style.align&&(d.align=n.style.align),n.style.margin&&(d.margin=n.style.margin),n.style.rotate!==void 0&&(d.rotate=n.style.rotate),n.style.vert&&(d.vert=n.style.vert),n.style.transparency!=null&&n.style.transparency!==void 0&&(d.transparency=n.style.transparency),r.addText(n.text,d)}}async function ay(e,r,t,n={}){let i=[];r?.errors?.length&&i.push(...r.errors),i.push(...ty(r,t)),i.push(...ry(e,r)),e?.errors?.length&&i.push(...e.errors),i.length&&console.warn("[ppt-live-export] slide validation warnings (export continues):",i.join("; "));let a=n.slide||t.addSlide();return await ny(e,a),iy(e,a,t),{slide:a,placeholders:e.placeholders||[]}}function $d(e={}){let r=new $0;return r.layout="LAYOUT_WIDE",r.author="PPT Live",r.subject=e.brief?.topic||e.title||"PPT Live deck",r.title=e.title||"PPT Live",r.company="BitFun",r.lang="zh-CN",r.theme={headFontFace:"PingFang SC",bodyFontFace:"PingFang SC",lang:"zh-CN"},r}function ef(e={}){return[e.notes,e.claim?`Claim: ${e.claim}`:"",e.proofObject?`Proof object: ${e.proofObject}`:"",e.supportNote?`Support note: ${e.supportNote}`:"",e.sourceNote?`Source note: ${e.sourceNote}`:""].filter(Boolean).join(` + `; +} +function getLayoutIdxForSlide(slides, slideLayouts, slideNumber) { + for (let i = 0; i < slideLayouts.length; i++) { + if (slideLayouts[i]._name === slides[slideNumber - 1]._slideLayout._name) { + return i + 1; + } + } + return 1; +} +function makeXmlTheme(pres) { + var _a, _b, _c, _d; + const majorFont = ((_a = pres.theme) === null || _a === void 0 ? void 0 : _a.headFontFace) ? `` : ''; + const minorFont = ((_c = pres.theme) === null || _c === void 0 ? void 0 : _c.bodyFontFace) ? `` : ''; + return `${majorFont}${minorFont}`; +} +function makeXmlPresentation(pres) { + let strXml = `${CRLF}`; + strXml += ''; + strXml += ""; + pres.slides.forEach((slide) => strXml += ``); + strXml += ""; + strXml += ``; + strXml += ``; + strXml += ``; + strXml += ""; + for (let idy = 1; idy < 10; idy++) { + strXml += ``; + } + strXml += ""; + if (pres.sections && pres.sections.length > 0) { + strXml += ''; + strXml += ''; + pres.sections.forEach((sect) => { + strXml += ``; + sect._slides.forEach((slide) => strXml += ``); + strXml += ""; + }); + strXml += ""; + strXml += ''; + strXml += ""; + } + strXml += ""; + return strXml; +} +function makeXmlPresProps() { + return `${CRLF}`; +} +function makeXmlTableStyles() { + return `${CRLF}`; +} +function makeXmlViewProps() { + return `${CRLF}`; +} +var VERSION = "4.0.1"; +var PptxGenJS = class { + set layout(value2) { + const newLayout = this.LAYOUTS[value2]; + if (newLayout) { + this._layout = value2; + this._presLayout = newLayout; + } else { + throw new Error("UNKNOWN-LAYOUT"); + } + } + get layout() { + return this._layout; + } + get version() { + return this._version; + } + set author(value2) { + this._author = value2; + } + get author() { + return this._author; + } + set company(value2) { + this._company = value2; + } + get company() { + return this._company; + } + set revision(value2) { + this._revision = value2; + } + get revision() { + return this._revision; + } + set subject(value2) { + this._subject = value2; + } + get subject() { + return this._subject; + } + set theme(value2) { + this._theme = value2; + } + get theme() { + return this._theme; + } + set title(value2) { + this._title = value2; + } + get title() { + return this._title; + } + set rtlMode(value2) { + this._rtlMode = value2; + } + get rtlMode() { + return this._rtlMode; + } + get masterSlide() { + return this._masterSlide; + } + get slides() { + return this._slides; + } + get sections() { + return this._sections; + } + get slideLayouts() { + return this._slideLayouts; + } + get AlignH() { + return this._alignH; + } + get AlignV() { + return this._alignV; + } + get ChartType() { + return this._chartType; + } + get OutputType() { + return this._outputType; + } + get presLayout() { + return this._presLayout; + } + get SchemeColor() { + return this._schemeColor; + } + get ShapeType() { + return this._shapeType; + } + get charts() { + return this._charts; + } + get colors() { + return this._colors; + } + get shapes() { + return this._shapes; + } + constructor() { + this._version = VERSION; + this._alignH = AlignH; + this._alignV = AlignV; + this._chartType = ChartType; + this._outputType = OutputType; + this._schemeColor = SchemeColor; + this._shapeType = ShapeType; + this._charts = CHART_TYPE; + this._colors = SCHEME_COLOR_NAMES; + this._shapes = SHAPE_TYPE; + this.addNewSlide = (options) => { + const sectAlreadyInUse = this.sections.length > 0 && this.sections[this.sections.length - 1]._slides.filter((slide) => slide._slideNum === this.slides[this.slides.length - 1]._slideNum).length > 0; + options.sectionTitle = sectAlreadyInUse ? this.sections[this.sections.length - 1].title : null; + return this.addSlide(options); + }; + this.getSlide = (slideNum) => this.slides.filter((slide) => slide._slideNum === slideNum)[0]; + this.setSlideNumber = (slideNum) => { + this.masterSlide._slideNumberProps = slideNum; + this.slideLayouts.filter((layout) => layout._name === DEF_PRES_LAYOUT_NAME)[0]._slideNumberProps = slideNum; + }; + this.createChartMediaRels = (slide, zip, chartPromises) => { + slide._relsChart.forEach((rel) => chartPromises.push(createExcelWorksheet(rel, zip))); + slide._relsMedia.forEach((rel) => { + if (rel.type !== "online" && rel.type !== "hyperlink") { + let data = rel.data && typeof rel.data === "string" ? rel.data : ""; + if (!data.includes(",") && !data.includes(";")) + data = "image/png;base64," + data; + else if (!data.includes(",")) + data = "image/png;base64," + data; + else if (!data.includes(";")) + data = "image/png;" + data; + zip.file(rel.Target.replace("..", "ppt"), data.split(",").pop(), { base64: true }); + } + }); + }; + this.writeFileToBrowser = (exportName, blobContent) => __awaiter2(this, void 0, void 0, function* () { + const eleLink = document.createElement("a"); + eleLink.setAttribute("style", "display:none;"); + eleLink.dataset.interception = "off"; + document.body.appendChild(eleLink); + if (window.URL.createObjectURL) { + const url = window.URL.createObjectURL(new Blob([blobContent], { type: "application/vnd.openxmlformats-officedocument.presentationml.presentation" })); + eleLink.href = url; + eleLink.download = exportName; + eleLink.click(); + setTimeout(() => { + window.URL.revokeObjectURL(url); + document.body.removeChild(eleLink); + }, 100); + return yield Promise.resolve(exportName); + } + }); + this.exportPresentation = (props) => __awaiter2(this, void 0, void 0, function* () { + const arrChartPromises = []; + let arrMediaPromises = []; + const zip = new import_jszip.default(); + this.slides.forEach((slide) => { + arrMediaPromises = arrMediaPromises.concat(encodeSlideMediaRels(slide)); + }); + this.slideLayouts.forEach((layout) => { + arrMediaPromises = arrMediaPromises.concat(encodeSlideMediaRels(layout)); + }); + arrMediaPromises = arrMediaPromises.concat(encodeSlideMediaRels(this.masterSlide)); + return yield Promise.all(arrMediaPromises).then(() => __awaiter2(this, void 0, void 0, function* () { + this.slides.forEach((slide) => { + if (slide._slideLayout) + addPlaceholdersToSlideLayouts(slide); + }); + zip.folder("_rels"); + zip.folder("docProps"); + zip.folder("ppt").folder("_rels"); + zip.folder("ppt/charts").folder("_rels"); + zip.folder("ppt/embeddings"); + zip.folder("ppt/media"); + zip.folder("ppt/slideLayouts").folder("_rels"); + zip.folder("ppt/slideMasters").folder("_rels"); + zip.folder("ppt/slides").folder("_rels"); + zip.folder("ppt/theme"); + zip.folder("ppt/notesMasters").folder("_rels"); + zip.folder("ppt/notesSlides").folder("_rels"); + zip.file("[Content_Types].xml", makeXmlContTypes(this.slides, this.slideLayouts, this.masterSlide)); + zip.file("_rels/.rels", makeXmlRootRels()); + zip.file("docProps/app.xml", makeXmlApp(this.slides, this.company)); + zip.file("docProps/core.xml", makeXmlCore(this.title, this.subject, this.author, this.revision)); + zip.file("ppt/_rels/presentation.xml.rels", makeXmlPresentationRels(this.slides)); + zip.file("ppt/theme/theme1.xml", makeXmlTheme(this)); + zip.file("ppt/presentation.xml", makeXmlPresentation(this)); + zip.file("ppt/presProps.xml", makeXmlPresProps()); + zip.file("ppt/tableStyles.xml", makeXmlTableStyles()); + zip.file("ppt/viewProps.xml", makeXmlViewProps()); + this.slideLayouts.forEach((layout, idx) => { + zip.file(`ppt/slideLayouts/slideLayout${idx + 1}.xml`, makeXmlLayout(layout)); + zip.file(`ppt/slideLayouts/_rels/slideLayout${idx + 1}.xml.rels`, makeXmlSlideLayoutRel(idx + 1, this.slideLayouts)); + }); + this.slides.forEach((slide, idx) => { + zip.file(`ppt/slides/slide${idx + 1}.xml`, makeXmlSlide(slide)); + zip.file(`ppt/slides/_rels/slide${idx + 1}.xml.rels`, makeXmlSlideRel(this.slides, this.slideLayouts, idx + 1)); + zip.file(`ppt/notesSlides/notesSlide${idx + 1}.xml`, makeXmlNotesSlide(slide)); + zip.file(`ppt/notesSlides/_rels/notesSlide${idx + 1}.xml.rels`, makeXmlNotesSlideRel(idx + 1)); + }); + zip.file("ppt/slideMasters/slideMaster1.xml", makeXmlMaster(this.masterSlide, this.slideLayouts)); + zip.file("ppt/slideMasters/_rels/slideMaster1.xml.rels", makeXmlMasterRel(this.masterSlide, this.slideLayouts)); + zip.file("ppt/notesMasters/notesMaster1.xml", makeXmlNotesMaster()); + zip.file("ppt/notesMasters/_rels/notesMaster1.xml.rels", makeXmlNotesMasterRel()); + this.slideLayouts.forEach((layout) => { + this.createChartMediaRels(layout, zip, arrChartPromises); + }); + this.slides.forEach((slide) => { + this.createChartMediaRels(slide, zip, arrChartPromises); + }); + this.createChartMediaRels(this.masterSlide, zip, arrChartPromises); + return yield Promise.all(arrChartPromises).then(() => __awaiter2(this, void 0, void 0, function* () { + if (props.outputType === "STREAM") { + return yield zip.generateAsync({ type: "nodebuffer", compression: props.compression ? "DEFLATE" : "STORE" }); + } else if (props.outputType) { + return yield zip.generateAsync({ type: props.outputType }); + } else { + return yield zip.generateAsync({ type: "blob", compression: props.compression ? "DEFLATE" : "STORE" }); + } + })); + })); + }); + const layout4x3 = { name: "screen4x3", width: 9144e3, height: 6858e3 }; + const layout16x9 = { name: "screen16x9", width: 9144e3, height: 5143500 }; + const layout16x10 = { name: "screen16x10", width: 9144e3, height: 5715e3 }; + const layoutWide = { name: "custom", width: 12192e3, height: 6858e3 }; + this.LAYOUTS = { + LAYOUT_4x3: layout4x3, + LAYOUT_16x9: layout16x9, + LAYOUT_16x10: layout16x10, + LAYOUT_WIDE: layoutWide + }; + this._author = "PptxGenJS"; + this._company = "PptxGenJS"; + this._revision = "1"; + this._subject = "PptxGenJS Presentation"; + this._title = "PptxGenJS Presentation"; + this._presLayout = { + name: this.LAYOUTS[DEF_PRES_LAYOUT].name, + _sizeW: this.LAYOUTS[DEF_PRES_LAYOUT].width, + _sizeH: this.LAYOUTS[DEF_PRES_LAYOUT].height, + width: this.LAYOUTS[DEF_PRES_LAYOUT].width, + height: this.LAYOUTS[DEF_PRES_LAYOUT].height + }; + this._rtlMode = false; + this._slideLayouts = [ + { + _margin: DEF_SLIDE_MARGIN_IN, + _name: DEF_PRES_LAYOUT_NAME, + _presLayout: this._presLayout, + _rels: [], + _relsChart: [], + _relsMedia: [], + _slide: null, + _slideNum: 1e3, + _slideNumberProps: null, + _slideObjects: [] + } + ]; + this._slides = []; + this._sections = []; + this._masterSlide = { + addChart: null, + addImage: null, + addMedia: null, + addNotes: null, + addShape: null, + addTable: null, + addText: null, + // + _name: null, + _presLayout: this._presLayout, + _rId: null, + _rels: [], + _relsChart: [], + _relsMedia: [], + _slideId: null, + _slideLayout: null, + _slideNum: null, + _slideNumberProps: null, + _slideObjects: [] + }; + } + // EXPORT METHODS + /** + * Export the current Presentation to stream + * @param {WriteBaseProps} props - output properties + * @returns {Promise} file stream + */ + stream(props) { + return __awaiter2(this, void 0, void 0, function* () { + return yield this.exportPresentation({ + compression: props === null || props === void 0 ? void 0 : props.compression, + outputType: "STREAM" + }); + }); + } + /** + * Export the current Presentation as JSZip content with the selected type + * @param {WriteProps} props output properties + * @returns {Promise} file content in selected type + */ + write(props) { + return __awaiter2(this, void 0, void 0, function* () { + const propsOutpType = typeof props === "object" && (props === null || props === void 0 ? void 0 : props.outputType) ? props.outputType : props ? props : null; + const propsCompress = typeof props === "object" && (props === null || props === void 0 ? void 0 : props.compression) ? props.compression : false; + return yield this.exportPresentation({ + compression: propsCompress, + outputType: propsOutpType + }); + }); + } + /** + * Export the current Presentation. + * Write the generated presentation to disk (Node) or trigger a download (browser). + * @param {WriteFileProps} props - output file properties + * @returns {Promise} the presentation name + */ + writeFile(props) { + return __awaiter2(this, void 0, void 0, function* () { + var _a, _b; + const isNode = typeof process !== "undefined" && !!((_a = process.versions) === null || _a === void 0 ? void 0 : _a.node) && ((_b = process.release) === null || _b === void 0 ? void 0 : _b.name) === "node"; + if (typeof props === "string") { + console.warn("[WARNING] writeFile(string) is deprecated - pass { fileName } instead."); + props = { fileName: props }; + } + const { fileName: rawName = "Presentation.pptx", compression = false } = props; + const fileName = rawName.toLowerCase().endsWith(".pptx") ? rawName : `${rawName}.pptx`; + const outputType = isNode ? "nodebuffer" : null; + const data = yield this.exportPresentation({ compression, outputType }); + if (isNode) { + const { promises: fs } = yield Promise.resolve().then(() => __toESM(require_node_fs())); + const { writeFile } = fs; + yield writeFile(fileName, data); + return fileName; + } + yield this.writeFileToBrowser(fileName, data); + return fileName; + }); + } + // PRESENTATION METHODS + /** + * Add a new Section to Presentation + * @param {ISectionProps} section - section properties + * @example pptx.addSection({ title:'Charts' }); + */ + addSection(section) { + if (!section) + console.warn("addSection requires an argument"); + else if (!section.title) + console.warn("addSection requires a title"); + const newSection = { + _type: "user", + _slides: [], + title: section.title + }; + if (section.order) + this.sections.splice(section.order, 0, newSection); + else + this._sections.push(newSection); + } + /** + * Add a new Slide to Presentation + * @param {AddSlideProps} options - slide options + * @returns {PresSlide} the new Slide + */ + addSlide(options) { + const masterSlideName = typeof options === "string" ? options : (options === null || options === void 0 ? void 0 : options.masterName) ? options.masterName : ""; + let slideLayout = { + _name: this.LAYOUTS[DEF_PRES_LAYOUT].name, + _presLayout: this.presLayout, + _rels: [], + _relsChart: [], + _relsMedia: [], + _slideNum: this.slides.length + 1 + }; + if (masterSlideName) { + const tmpLayout = this.slideLayouts.filter((layout) => layout._name === masterSlideName)[0]; + if (tmpLayout) + slideLayout = tmpLayout; + } + const newSlide = new Slide({ + addSlide: this.addNewSlide, + getSlide: this.getSlide, + presLayout: this.presLayout, + setSlideNum: this.setSlideNumber, + slideId: this.slides.length + 256, + slideRId: this.slides.length + 2, + slideNumber: this.slides.length + 1, + slideLayout + }); + this._slides.push(newSlide); + if (options === null || options === void 0 ? void 0 : options.sectionTitle) { + const sect = this.sections.filter((section) => section.title === options.sectionTitle)[0]; + if (!sect) + console.warn(`addSlide: unable to find section with title: "${options.sectionTitle}"`); + else + sect._slides.push(newSlide); + } else if (this.sections && this.sections.length > 0 && !(options === null || options === void 0 ? void 0 : options.sectionTitle)) { + const lastSect = this._sections[this.sections.length - 1]; + if (lastSect._type === "default") + lastSect._slides.push(newSlide); + else { + this._sections.push({ + title: `Default-${this.sections.filter((sect) => sect._type === "default").length + 1}`, + _type: "default", + _slides: [newSlide] + }); + } + } + return newSlide; + } + /** + * Create a custom Slide Layout in any size + * @param {PresLayout} layout - layout properties + * @example pptx.defineLayout({ name:'A3', width:16.5, height:11.7 }); + */ + defineLayout(layout) { + if (!layout) + console.warn("defineLayout requires `{name, width, height}`"); + else if (!layout.name) + console.warn("defineLayout requires `name`"); + else if (!layout.width) + console.warn("defineLayout requires `width`"); + else if (!layout.height) + console.warn("defineLayout requires `height`"); + else if (typeof layout.height !== "number") + console.warn("defineLayout `height` should be a number (inches)"); + else if (typeof layout.width !== "number") + console.warn("defineLayout `width` should be a number (inches)"); + this.LAYOUTS[layout.name] = { + name: layout.name, + _sizeW: Math.round(Number(layout.width) * EMU), + _sizeH: Math.round(Number(layout.height) * EMU), + width: Math.round(Number(layout.width) * EMU), + height: Math.round(Number(layout.height) * EMU) + }; + } + /** + * Create a new slide master [layout] for the Presentation + * @param {SlideMasterProps} props - layout properties + */ + defineSlideMaster(props) { + const propsClone = JSON.parse(JSON.stringify(props)); + if (!propsClone.title) + throw new Error("defineSlideMaster() object argument requires a `title` value. (https://gitbrent.github.io/PptxGenJS/docs/masters.html)"); + const newLayout = { + _margin: propsClone.margin || DEF_SLIDE_MARGIN_IN, + _name: propsClone.title, + _presLayout: this.presLayout, + _rels: [], + _relsChart: [], + _relsMedia: [], + _slide: null, + _slideNum: 1e3 + this.slideLayouts.length + 1, + _slideNumberProps: propsClone.slideNumber || null, + _slideObjects: [], + background: propsClone.background || null, + bkgd: propsClone.bkgd || null + }; + createSlideMaster(propsClone, newLayout); + this.slideLayouts.push(newLayout); + if (propsClone.background || propsClone.bkgd) + addBackgroundDefinition(propsClone.background, newLayout); + if (newLayout._slideNumberProps && !this.masterSlide._slideNumberProps) + this.masterSlide._slideNumberProps = newLayout._slideNumberProps; + } + // HTML-TO-SLIDES METHODS + /** + * Reproduces an HTML table as a PowerPoint table - including column widths, style, etc. - creates 1 or more slides as needed + * @param {string} eleId - table HTML element ID + * @param {TableToSlidesProps} options - generation options + */ + tableToSlides(eleId, options = {}) { + genTableToSlides(this, eleId, options, (options === null || options === void 0 ? void 0 : options.masterSlideName) ? this.slideLayouts.filter((layout) => layout._name === options.masterSlideName)[0] : null); + } +}; + +// src/pptx-html-build.js +var PX_PER_IN = 96; +var EMU_PER_IN = 914400; +var SLIDE_W_IN = 13.333; +var SLIDE_H_IN = 7.5; +var WIDTH_SAFETY_IN = 0.15; +function capTextBoxWidth(x, w) { + return Math.min(w, Math.max(0.15, SLIDE_W_IN - x - 0.02)); +} +function safeTextBoxGeometry(origX, origW, align, isVerticalText) { + const safety = isVerticalText ? 0 : WIDTH_SAFETY_IN; + const rawW = origW + safety; + if (!safety || align === "left" || !align) { + return { x: origX, w: capTextBoxWidth(origX, rawW) }; + } + if (align === "right") { + const x = Math.max(0, origX - safety); + return { x, w: capTextBoxWidth(x, rawW) }; + } + if (align === "center") { + const x = Math.max(0, origX - safety / 2); + return { x, w: capTextBoxWidth(x, rawW) }; + } + return { x: origX, w: capTextBoxWidth(origX, rawW) }; +} +function toImagePayload(src) { + const raw = String(src || "").trim(); + if (!raw) return null; + if (raw.startsWith("data:")) return { data: raw }; + if (raw.startsWith("file://")) return { path: raw.replace("file://", "") }; + return { path: raw }; +} +function validateDimensions(bodyDimensions, pres) { + const errors = []; + const widthInches = bodyDimensions.width / PX_PER_IN; + const heightInches = bodyDimensions.height / PX_PER_IN; + if (pres.presLayout) { + const layoutWidth = pres.presLayout.width / EMU_PER_IN; + const layoutHeight = pres.presLayout.height / EMU_PER_IN; + if (Math.abs(layoutWidth - widthInches) > 0.1 || Math.abs(layoutHeight - heightInches) > 0.1) { + errors.push( + `HTML dimensions (${widthInches.toFixed(1)}" \xD7 ${heightInches.toFixed(1)}") don't match presentation layout (${layoutWidth.toFixed(1)}" \xD7 ${layoutHeight.toFixed(1)}")` + ); + } + } + return errors; +} +function validateTextBoxPosition(slideData, bodyDimensions) { + const errors = []; + const slideHeightInches = bodyDimensions.height / PX_PER_IN; + const minBottomMargin = 0.5; + for (const el of slideData.elements) { + if (!["p", "h1", "h2", "h3", "h4", "h5", "h6", "text", "list", "merged-text"].includes(el.type)) continue; + const fontSize = el.style?.fontSize || 0; + const bottomEdge = el.position.y + el.position.h; + const distanceFromBottom = slideHeightInches - bottomEdge; + const textValue = (() => { + if (typeof el.text === "string") return el.text; + if (Array.isArray(el.text)) return el.text.find((t) => t.text)?.text || ""; + if (Array.isArray(el.items)) return el.items.find((item) => item.text)?.text || ""; + return ""; + })(); + const isFooter = /^\d{1,2}\s*\/\s*\d{1,2}$/.test(textValue.trim()) || /^(Arknights|数据来源|source:)/i.test(textValue.trim()); + if (isFooter || fontSize <= 11) continue; + if (fontSize > 12 && distanceFromBottom < minBottomMargin) { + const textPrefix = `${textValue.substring(0, 50)}${textValue.length > 50 ? "..." : ""}`; + errors.push( + `Text box "${textPrefix}" ends too close to bottom edge (${distanceFromBottom.toFixed(2)}" from bottom, minimum ${minBottomMargin}" required)` + ); + } + } + return errors; +} +async function addBackground(slideData, targetSlide) { + if (slideData.background?.type === "image" && slideData.background.path) { + const payload = toImagePayload(slideData.background.path); + if (payload) targetSlide.background = payload; + } else if (slideData.background?.type === "color" && slideData.background.value) { + targetSlide.background = { color: slideData.background.value }; + } +} +function addElements(slideData, targetSlide, pres) { + for (const el of slideData.elements) { + if (el.type === "image") { + const payload = toImagePayload(el.src); + if (!payload) continue; + targetSlide.addImage({ + ...payload, + x: el.position.x, + y: el.position.y, + w: el.position.w, + h: el.position.h + }); + } else if (el.type === "line") { + targetSlide.addShape(pres.ShapeType.line, { + x: el.x1, + y: el.y1, + w: el.x2 - el.x1, + h: el.y2 - el.y1, + line: { color: el.color, width: el.width } + }); + } else if (el.type === "shape") { + const shapeOptions = { + x: el.position.x, + y: el.position.y, + w: el.position.w, + h: el.position.h, + shape: el.shape.rectRadius > 0 ? pres.ShapeType.roundRect : pres.ShapeType.rect + }; + if (el.shape.fill) { + shapeOptions.fill = { color: el.shape.fill }; + if (el.shape.transparency != null) shapeOptions.fill.transparency = el.shape.transparency; + } + if (el.shape.line) shapeOptions.line = el.shape.line; + if (el.shape.rectRadius > 0) shapeOptions.rectRadius = el.shape.rectRadius; + if (el.shape.shadow) shapeOptions.shadow = el.shape.shadow; + targetSlide.addText(el.text || "", shapeOptions); + } else if (el.type === "list" || el.type === "merged-text") { + const { x: boxX, w: boxW } = safeTextBoxGeometry(el.position.x, el.position.w, el.style.align, false); + const listOptions = { + x: boxX, + y: el.position.y, + w: boxW, + h: Math.min(el.position.h, Math.max(0.15, SLIDE_H_IN - el.position.y - 0.04)), + fontSize: el.style.fontSize, + fontFace: el.style.fontFace, + color: el.style.color, + align: el.style.align, + valign: "top", + lineSpacing: el.style.lineSpacing, + paraSpaceBefore: el.style.paraSpaceBefore, + paraSpaceAfter: el.style.paraSpaceAfter, + margin: el.style.margin || 0, + shrinkText: false, + autoFit: false + }; + if (el.style.transparency != null) listOptions.transparency = el.style.transparency; + targetSlide.addText(el.items || el.text, listOptions); + } else { + const lineHeight = el.style.lineSpacing || el.style.fontSize * 1.2; + const isVerticalText = el.style.vert && el.style.vert !== "horz"; + const { x: boxX, w: boxW } = safeTextBoxGeometry(el.position.x, el.position.w, el.style.align, isVerticalText); + const textOptions = { + x: boxX, + y: el.position.y, + w: boxW, + h: Math.min(el.position.h, Math.max(0.15, SLIDE_H_IN - el.position.y - 0.04)), + fontSize: el.style.fontSize, + fontFace: el.style.fontFace, + color: el.style.color, + bold: el.style.bold, + italic: el.style.italic, + underline: el.style.underline, + valign: isVerticalText ? "mid" : el.style.valign || "top", + lineSpacing: el.style.lineSpacing, + paraSpaceBefore: el.style.paraSpaceBefore, + paraSpaceAfter: el.style.paraSpaceAfter, + // margin reproduces the element's CSS padding as PPTX internal inset, + // preventing text from shifting toward the frame's top-left corner. + margin: el.style.margin || 0, + shrinkText: false, + autoFit: false + }; + if (el.style.align) textOptions.align = el.style.align; + if (el.style.rotate !== void 0) textOptions.rotate = el.style.rotate; + if (el.style.vert) textOptions.vert = el.style.vert; + if (el.style.transparency != null && el.style.transparency !== void 0) { + textOptions.transparency = el.style.transparency; + } + targetSlide.addText(el.text, textOptions); + } + } +} +async function buildSlideFromExtracted(slideData, bodyDimensions, pres, options = {}) { + const validationWarnings = []; + if (bodyDimensions?.errors?.length) validationWarnings.push(...bodyDimensions.errors); + validationWarnings.push(...validateDimensions(bodyDimensions, pres)); + validationWarnings.push(...validateTextBoxPosition(slideData, bodyDimensions)); + if (slideData?.errors?.length) validationWarnings.push(...slideData.errors); + if (validationWarnings.length) { + console.warn("[ppt-live-export] slide validation warnings (export continues):", validationWarnings.join("; ")); + } + const targetSlide = options.slide || pres.addSlide(); + await addBackground(slideData, targetSlide); + addElements(slideData, targetSlide, pres); + return { slide: targetSlide, placeholders: slideData.placeholders || [] }; +} +function createPptxDeck(deck = {}) { + const pptx = new PptxGenJS(); + pptx.layout = "LAYOUT_WIDE"; + pptx.author = "PPT Live"; + pptx.subject = deck.brief?.topic || deck.title || "PPT Live deck"; + pptx.title = deck.title || "PPT Live"; + pptx.company = "BitFun"; + pptx.lang = "zh-CN"; + pptx.theme = { + headFontFace: "PingFang SC", + bodyFontFace: "PingFang SC", + lang: "zh-CN" + }; + return pptx; +} +function buildSpeakerNotes(sourceSlide = {}) { + return [ + sourceSlide.notes, + sourceSlide.claim ? `Claim: ${sourceSlide.claim}` : "", + sourceSlide.proofObject ? `Proof object: ${sourceSlide.proofObject}` : "", + sourceSlide.supportNote ? `Support note: ${sourceSlide.supportNote}` : "", + sourceSlide.sourceNote ? `Source note: ${sourceSlide.sourceNote}` : "" + ].filter(Boolean).join("\n\n"); +} + +// src/pptx-element-export.js +var SLIDE_W = 13.333; +var SLIDE_H = 7.5; +function drawSlideBackdrop(pptx, slide, theme, index) { + slide.addShape(pptx.ShapeType.rect, { + x: 0, + y: 0, + w: SLIDE_W, + h: SLIDE_H, + fill: { color: hex(theme.background) }, + line: { color: hex(theme.background), transparency: 100 } + }); + slide.addShape(pptx.ShapeType.ellipse, { + x: 10.3, + y: -0.45, + w: 3.8, + h: 3.8, + fill: { color: hex(index % 2 ? theme.accent : theme.primary), transparency: 84 }, + line: { color: hex(theme.background), transparency: 100 } + }); + slide.addShape(pptx.ShapeType.rect, { + x: 0, + y: 0, + w: 0.12, + h: SLIDE_H, + fill: { color: hex(theme.primary), transparency: 0 }, + line: { color: hex(theme.primary), transparency: 100 } + }); +} +function drawSlideMethodology(pptx, slide, sourceSlide, theme) { + if (sourceSlide.kicker) { + slide.addShape(pptx.ShapeType.roundRect, { + x: 0.96, + y: 0.48, + w: 0.22, + h: 0.07, + fill: { color: hex(theme.primary) }, + line: { color: hex(theme.primary), transparency: 100 } + }); + slide.addText(String(sourceSlide.kicker).toUpperCase(), { + x: 1.24, + y: 0.36, + w: 2.4, + h: 0.28, + margin: 0, + fontFace: "Aptos", + fontSize: 7, + bold: true, + color: hex(theme.primary), + fit: "shrink" + }); + } + if (sourceSlide.proofObject) { + slide.addText(String(sourceSlide.proofObject), { + x: 9.26, + y: 0.34, + w: 2.95, + h: 0.32, + margin: 0.04, + fontFace: "Aptos", + fontSize: 7, + bold: true, + color: hex(theme.muted), + align: "right", + fit: "shrink", + fill: { color: hex(theme.panel), transparency: 8 }, + line: { color: hex(theme.primary), transparency: 78 } + }); + } + if (sourceSlide.sourceNote) { + slide.addText(String(sourceSlide.sourceNote), { + x: 0.96, + y: 7.05, + w: 10.7, + h: 0.2, + margin: 0, + fontFace: "Aptos", + fontSize: 6, + color: hex(theme.muted), + fit: "shrink" + }); + } +} +function drawElement(pptx, slide, element2, theme) { + const box = toInches(element2); + const style = element2.style || {}; + const common = { + x: box.x, + y: box.y, + w: box.w, + h: box.h, + margin: 0.08, + fit: "shrink", + color: hex(resolveColor2(style.color, theme)), + fontFace: "Aptos", + fontSize: pxToPt(style.fontSize || 22), + bold: Number(style.fontWeight || 500) >= 700, + align: style.align || "left", + valign: "mid", + breakLine: false + }; + if (element2.type === "shape") { + slide.addShape(pptx.ShapeType.roundRect, { + ...box, + rectRadius: 0.08, + fill: { color: hex(resolveColor2(style.background, theme)), transparency: transparency(style.opacity) }, + line: { color: hex(resolveColor2(style.background, theme)), transparency: 100 } + }); + if (element2.text) slide.addText(element2.text, common); + return; + } + if (element2.type === "list") { + const runs = (element2.items || []).map((item) => ({ text: item, options: { bullet: { type: "bullet" }, breakLine: true } })); + slide.addText(runs.length ? runs : [{ text: "" }], { + ...common, + valign: "top", + paraSpaceAfterPt: 6, + fit: "shrink" + }); + return; + } + if (element2.type === "metric") { + drawPanel(pptx, slide, box, style, theme); + slide.addText(String(element2.text || ""), { + ...common, + y: box.y + 0.08, + h: box.h * 0.48, + color: hex(resolveColor2(style.color || "primary", theme)), + fontSize: pxToPt(style.fontSize || 42), + bold: true + }); + slide.addText(String(element2.label || ""), { + ...common, + y: box.y + box.h * 0.56, + h: box.h * 0.34, + color: hex(theme.muted), + fontSize: 10, + bold: false, + valign: "top" + }); + return; + } + if (element2.type === "chart") { + drawPanel(pptx, slide, box, style, theme); + slide.addText(String(element2.text || ""), { + ...common, + y: box.y + 0.1, + h: 0.32, + fontSize: 11, + bold: true + }); + drawBars(pptx, slide, element2, box, theme); + return; + } + if (element2.type === "media") { + slide.addShape(pptx.ShapeType.roundRect, { + ...box, + fill: { color: hex(resolveColor2(style.background || "soft", theme)), transparency: 10 }, + line: { color: hex(theme.primary), transparency: 55, dash: "dash" } + }); + slide.addText(String(element2.text || "Image placeholder"), { + ...common, + align: "center", + color: hex(theme.muted), + fontSize: 12 + }); + return; + } + drawTextBackground(pptx, slide, box, style, theme); + slide.addText(String(element2.text || ""), common); +} +function drawPanel(pptx, slide, box, style, theme) { + slide.addShape(pptx.ShapeType.roundRect, { + ...box, + fill: { color: hex(resolveColor2(style.background || "panel", theme)), transparency: transparency(style.opacity) }, + line: { color: hex(theme.primary), transparency: 82 }, + shadow: { type: "outer", color: "111827", opacity: 0.12, blur: 1, angle: 45, distance: 1 } + }); +} +function drawTextBackground(pptx, slide, box, style, theme) { + const bg = style.background || "transparent"; + if (bg === "transparent") return; + slide.addShape(pptx.ShapeType.roundRect, { + ...box, + fill: { color: hex(resolveColor2(bg, theme)), transparency: transparency(style.opacity) }, + line: { color: hex(resolveColor2(bg, theme)), transparency: 100 } + }); +} +function drawBars(pptx, slide, element2, box, theme) { + const data = Array.isArray(element2.data) && element2.data.length ? element2.data : [{ label: "A", value: 40 }, { label: "B", value: 70 }]; + const max = Math.max(1, ...data.map((point) => Number(point.value) || 0)); + const gap = 0.1; + const chartX = box.x + 0.18; + const chartY = box.y + 0.68; + const chartW = box.w - 0.36; + const chartH = box.h - 0.95; + const barW = Math.max(0.08, (chartW - gap * (data.length - 1)) / data.length); + data.forEach((point, index) => { + const value2 = Number(point.value) || 0; + const h = Math.max(0.15, value2 / max * chartH); + const x = chartX + index * (barW + gap); + const y = chartY + chartH - h; + slide.addShape(pptx.ShapeType.rect, { + x, + y, + w: barW, + h, + fill: { color: hex(index % 2 ? theme.accent : theme.primary) }, + line: { color: hex(index % 2 ? theme.accent : theme.primary), transparency: 100 } + }); + slide.addText(String(point.label || ""), { + x: x - 0.03, + y: chartY + chartH + 0.04, + w: barW + 0.06, + h: 0.2, + fontSize: 7, + color: hex(theme.muted), + align: "center", + margin: 0, + fit: "shrink" + }); + }); +} +function normalizeTheme(theme = {}) { + return { + background: theme.background || "#fbfcff", + ink: theme.ink || "#111827", + muted: theme.muted || "#5b6575", + primary: theme.primary || "#0f766e", + accent: theme.accent || "#f97316", + panel: theme.panel || "#ffffff" + }; +} +function toInches(element2) { + return { + x: pct(element2.x) * SLIDE_W, + y: pct(element2.y) * SLIDE_H, + w: pct(element2.w) * SLIDE_W, + h: pct(element2.h) * SLIDE_H + }; +} +function pct(value2) { + return Math.max(0, Math.min(100, Number(value2) || 0)) / 100; +} +function pxToPt(value2) { + return Math.max(6, Math.min(66, Math.round((Number(value2) || 22) * 0.58))); +} +function resolveColor2(value2, theme) { + if (!value2 || value2 === "transparent") return theme.background; + if (value2 === "ink") return theme.ink; + if (value2 === "muted") return theme.muted; + if (value2 === "primary") return theme.primary; + if (value2 === "accent") return theme.accent; + if (value2 === "panel") return theme.panel; + if (value2 === "soft") return theme.primary; + if (value2 === "background") return theme.background; + return value2; +} +function hex(value2) { + const raw = String(value2 || "#111827").trim(); + if (/^#[0-9a-f]{6}$/i.test(raw)) return raw.slice(1).toUpperCase(); + if (/^[0-9a-f]{6}$/i.test(raw)) return raw.toUpperCase(); + if (/^#[0-9a-f]{3}$/i.test(raw)) { + return raw.slice(1).split("").map((part) => part + part).join("").toUpperCase(); + } + return "111827"; +} +function transparency(opacity) { + return Math.round((1 - Math.max(0, Math.min(1, Number(opacity ?? 1)))) * 100); +} +async function exportElementDeckToPptx(deck) { + const slides = Array.isArray(deck.slides) && deck.slides.length > 0 ? deck.slides : []; + const pptx = createPptxDeck(deck); + slides.forEach((sourceSlide, index) => { + const slide = pptx.addSlide(); + const theme = normalizeTheme(sourceSlide.theme); + slide.background = { color: hex(theme.background) }; + drawSlideBackdrop(pptx, slide, theme, index); + drawSlideMethodology(pptx, slide, sourceSlide, theme); + (sourceSlide.elements || []).forEach((element2) => drawElement(pptx, slide, element2, theme)); + const notes = buildSpeakerNotes(sourceSlide); + if (notes && typeof slide.addNotes === "function") slide.addNotes(notes); + }); + return pptx; +} + +// src/export-deck-browser.js +var MIME_PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation"; +var RASTER_TEXT_TYPES2 = /* @__PURE__ */ new Set(["p", "h1", "h2", "h3", "h4", "h5", "h6", "text", "list", "merged-text"]); +function filterSlideDataForRasterBackdrop(slideData) { + return { + ...slideData, + elements: (slideData.elements || []).filter((el) => RASTER_TEXT_TYPES2.has(el.type)) + }; +} +function uint8ToBase64(bytes) { + const chunk = 32768; + let binary = ""; + for (let i = 0; i < bytes.length; i += chunk) { + binary += String.fromCharCode(...bytes.subarray(i, i + chunk)); + } + return btoa(binary); +} +function exportFileSafe(value2) { + return String(value2 || "ppt-live").replace(/[\\/:*?"<>|]+/g, "-").slice(0, 96); +} +async function pptxToExportResult(pptx, deck) { + const base64 = await pptx.write({ outputType: "base64" }); + return { + filename: `${exportFileSafe(deck.title || "ppt-live")}.pptx`, + mimeType: MIME_PPTX, + base64: String(base64 || "").replace(/^data:.*;base64,/, "") + }; +} +async function exportPptxFromDeck(deck) { + const slides = Array.isArray(deck?.slides) ? deck.slides : []; + if (slides.some((slide) => slide?.html)) { + throw new Error("HTML slides must use the WebView prepare export path."); + } + const pptx = await exportElementDeckToPptx(deck); + return pptxToExportResult(pptx, deck); +} +async function exportPptxPrepared(deck, preparedSlides) { + const prepared = Array.isArray(preparedSlides) ? preparedSlides : []; + if (!prepared.length) throw new Error("No prepared slides to export"); + const pptx = createPptxDeck(deck); + const slides = Array.isArray(deck?.slides) ? deck.slides : []; + for (const item of prepared) { + const sourceSlide = slides[item.index] || item.notes || {}; + let slideData = item.slideData; + if (item.rasterBase64) { + const raw = String(item.rasterBase64).replace(/^data:.*;base64,/, ""); + if (item.rasterOnly) { + slideData = { + ...slideData, + elements: (slideData.elements || []).filter((el) => !RASTER_TEXT_TYPES2.has(el.type)), + background: { type: "image", path: `data:image/png;base64,${raw}` } + }; + } else { + slideData = filterSlideDataForRasterBackdrop(slideData); + slideData = { + ...slideData, + background: { type: "image", path: `data:image/png;base64,${raw}` } + }; + } + } + const result = await buildSlideFromExtracted( + slideData, + item.bodyDimensions, + pptx + ); + const notes = buildSpeakerNotes(sourceSlide); + if (notes && result?.slide && typeof result.slide.addNotes === "function") { + result.slide.addNotes(notes); + } + } + return pptxToExportResult(pptx, deck); +} +async function exportPdfFromBase64Pages(deck, pages) { + const list = Array.isArray(pages) ? pages : []; + if (!list.length) throw new Error("No rendered PDF pages to export"); + const merged = await PDFDocument_default.create(); + for (const pageBase64 of list) { + const raw = String(pageBase64 || "").replace(/^data:.*;base64,/, ""); + const buffer = Uint8Array.from(atob(raw), (c) => c.charCodeAt(0)); + const source = await PDFDocument_default.load(buffer); + const copied = await merged.copyPages(source, source.getPageIndices()); + copied.forEach((page) => merged.addPage(page)); + } + const bytes = await merged.save(); + return { + filename: `${exportFileSafe(deck?.title || "ppt-live")}.pdf`, + mimeType: "application/pdf", + base64: uint8ToBase64(bytes) + }; +} +async function exportPngZipFromPages(deck, pages) { + const list = Array.isArray(pages) ? pages : []; + if (!list.length) throw new Error("No rendered PNG pages to export"); + const zip = new import_jszip2.default(); + list.forEach((item, index) => { + const raw = typeof item === "string" ? item : String(item?.base64 || "").replace(/^data:.*;base64,/, ""); + const slideIndex = (item?.index ?? index) + 1; + zip.file(`slide-${String(slideIndex).padStart(2, "0")}.png`, raw, { base64: true }); + }); + const blob = await zip.generateAsync({ type: "base64", compression: "DEFLATE" }); + return { + filename: `${exportFileSafe(deck?.title || "ppt-live")}-slides.zip`, + mimeType: "application/zip", + base64: String(blob || "").replace(/^data:.*;base64,/, "") + }; +} -`)}var nl=13.333,xo=7.5;function oy(e,r,t,n){r.addShape(e.ShapeType.rect,{x:0,y:0,w:nl,h:xo,fill:{color:kt(t.background)},line:{color:kt(t.background),transparency:100}}),r.addShape(e.ShapeType.ellipse,{x:10.3,y:-.45,w:3.8,h:3.8,fill:{color:kt(n%2?t.accent:t.primary),transparency:84},line:{color:kt(t.background),transparency:100}}),r.addShape(e.ShapeType.rect,{x:0,y:0,w:.12,h:xo,fill:{color:kt(t.primary),transparency:0},line:{color:kt(t.primary),transparency:100}})}function sy(e,r,t,n){t.kicker&&(r.addShape(e.ShapeType.roundRect,{x:.96,y:.48,w:.22,h:.07,fill:{color:kt(n.primary)},line:{color:kt(n.primary),transparency:100}}),r.addText(String(t.kicker).toUpperCase(),{x:1.24,y:.36,w:2.4,h:.28,margin:0,fontFace:"Aptos",fontSize:7,bold:!0,color:kt(n.primary),fit:"shrink"})),t.proofObject&&r.addText(String(t.proofObject),{x:9.26,y:.34,w:2.95,h:.32,margin:.04,fontFace:"Aptos",fontSize:7,bold:!0,color:kt(n.muted),align:"right",fit:"shrink",fill:{color:kt(n.panel),transparency:8},line:{color:kt(n.primary),transparency:78}}),t.sourceNote&&r.addText(String(t.sourceNote),{x:.96,y:7.05,w:10.7,h:.2,margin:0,fontFace:"Aptos",fontSize:6,color:kt(n.muted),fit:"shrink"})}function ly(e,r,t,n){let i=fy(t),a=t.style||{},o={x:i.x,y:i.y,w:i.w,h:i.h,margin:.08,fit:"shrink",color:kt(pn(a.color,n)),fontFace:"Aptos",fontSize:Ru(a.fontSize||22),bold:Number(a.fontWeight||500)>=700,align:a.align||"left",valign:"mid",breakLine:!1};if(t.type==="shape"){r.addShape(e.ShapeType.roundRect,{...i,rectRadius:.08,fill:{color:kt(pn(a.background,n)),transparency:Bl(a.opacity)},line:{color:kt(pn(a.background,n)),transparency:100}}),t.text&&r.addText(t.text,o);return}if(t.type==="list"){let l=(t.items||[]).map(c=>({text:c,options:{bullet:{type:"bullet"},breakLine:!0}}));r.addText(l.length?l:[{text:""}],{...o,valign:"top",paraSpaceAfterPt:6,fit:"shrink"});return}if(t.type==="metric"){Bu(e,r,i,a,n),r.addText(String(t.text||""),{...o,y:i.y+.08,h:i.h*.48,color:kt(pn(a.color||"primary",n)),fontSize:Ru(a.fontSize||42),bold:!0}),r.addText(String(t.label||""),{...o,y:i.y+i.h*.56,h:i.h*.34,color:kt(n.muted),fontSize:10,bold:!1,valign:"top"});return}if(t.type==="chart"){Bu(e,r,i,a,n),r.addText(String(t.text||""),{...o,y:i.y+.1,h:.32,fontSize:11,bold:!0}),uy(e,r,t,i,n);return}if(t.type==="media"){r.addShape(e.ShapeType.roundRect,{...i,fill:{color:kt(pn(a.background||"soft",n)),transparency:10},line:{color:kt(n.primary),transparency:55,dash:"dash"}}),r.addText(String(t.text||"Image placeholder"),{...o,align:"center",color:kt(n.muted),fontSize:12});return}cy(e,r,i,a,n),r.addText(String(t.text||""),o)}function Bu(e,r,t,n,i){r.addShape(e.ShapeType.roundRect,{...t,fill:{color:kt(pn(n.background||"panel",i)),transparency:Bl(n.opacity)},line:{color:kt(i.primary),transparency:82},shadow:{type:"outer",color:"111827",opacity:.12,blur:1,angle:45,distance:1}})}function cy(e,r,t,n,i){let a=n.background||"transparent";a!=="transparent"&&r.addShape(e.ShapeType.roundRect,{...t,fill:{color:kt(pn(a,i)),transparency:Bl(n.opacity)},line:{color:kt(pn(a,i)),transparency:100}})}function uy(e,r,t,n,i){let a=Array.isArray(t.data)&&t.data.length?t.data:[{label:"A",value:40},{label:"B",value:70}],o=Math.max(1,...a.map(f=>Number(f.value)||0)),l=.1,c=n.x+.18,s=n.y+.68,u=n.w-.36,d=n.h-.95,p=Math.max(.08,(u-l*(a.length-1))/a.length);a.forEach((f,h)=>{let A=Number(f.value)||0,y=Math.max(.15,A/o*d),v=c+h*(p+l),b=s+d-y;r.addShape(e.ShapeType.rect,{x:v,y:b,w:p,h:y,fill:{color:kt(h%2?i.accent:i.primary)},line:{color:kt(h%2?i.accent:i.primary),transparency:100}}),r.addText(String(f.label||""),{x:v-.03,y:s+d+.04,w:p+.06,h:.2,fontSize:7,color:kt(i.muted),align:"center",margin:0,fit:"shrink"})})}function dy(e={}){return{background:e.background||"#fbfcff",ink:e.ink||"#111827",muted:e.muted||"#5b6575",primary:e.primary||"#0f766e",accent:e.accent||"#f97316",panel:e.panel||"#ffffff"}}function fy(e){return{x:Za(e.x)*nl,y:Za(e.y)*xo,w:Za(e.w)*nl,h:Za(e.h)*xo}}function Za(e){return Math.max(0,Math.min(100,Number(e)||0))/100}function Ru(e){return Math.max(6,Math.min(66,Math.round((Number(e)||22)*.58)))}function pn(e,r){return!e||e==="transparent"?r.background:e==="ink"?r.ink:e==="muted"?r.muted:e==="primary"?r.primary:e==="accent"?r.accent:e==="panel"?r.panel:e==="soft"?r.primary:e==="background"?r.background:e}function kt(e){let r=String(e||"#111827").trim();return/^#[0-9a-f]{6}$/i.test(r)?r.slice(1).toUpperCase():/^[0-9a-f]{6}$/i.test(r)?r.toUpperCase():/^#[0-9a-f]{3}$/i.test(r)?r.slice(1).split("").map(t=>t+t).join("").toUpperCase():"111827"}function Bl(e){return Math.round((1-Math.max(0,Math.min(1,Number(e??1))))*100)}async function hy(e){let r=Array.isArray(e.slides)&&e.slides.length>0?e.slides:[],t=$d(e);return r.forEach((n,i)=>{let a=t.addSlide(),o=dy(n.theme);a.background={color:kt(o.background)},oy(t,a,o,i),sy(t,a,n,o),(n.elements||[]).forEach(c=>ly(t,a,c,o));let l=ef(n);l&&typeof a.addNotes=="function"&&a.addNotes(l)}),t}var py="application/vnd.openxmlformats-officedocument.presentationml.presentation",tf=new Set(["p","h1","h2","h3","h4","h5","h6","text","list","merged-text"]);function Ay(e){return{...e,elements:(e.elements||[]).filter(r=>tf.has(r.type))}}function gy(e){let t="";for(let n=0;n|]+/g,"-").slice(0,96)}async function rf(e,r){let t=await e.write({outputType:"base64"});return{filename:`${Rl(r.title||"ppt-live")}.pptx`,mimeType:py,base64:String(t||"").replace(/^data:.*;base64,/,"")}}async function Ll(e){if((Array.isArray(e?.slides)?e.slides:[]).some(n=>n?.html))throw new Error("HTML slides must use the WebView prepare export path.");let t=await hy(e);return rf(t,e)}async function Nl(e,r){let t=Array.isArray(r)?r:[];if(!t.length)throw new Error("No prepared slides to export");let n=$d(e),i=Array.isArray(e?.slides)?e.slides:[];for(let a of t){let o=i[a.index]||a.notes||{},l=a.slideData;if(a.rasterBase64){let u=String(a.rasterBase64).replace(/^data:.*;base64,/,"");a.rasterOnly?l={...l,elements:(l.elements||[]).filter(d=>!tf.has(d.type)),background:{type:"image",path:`data:image/png;base64,${u}`}}:(l=Ay(l),l={...l,background:{type:"image",path:`data:image/png;base64,${u}`}})}let c=await ay(l,a.bodyDimensions,n),s=ef(o);s&&c?.slide&&typeof c.slide.addNotes=="function"&&c.slide.addNotes(s)}return rf(n,e)}async function Il(e,r){let t=Array.isArray(r)?r:[];if(!t.length)throw new Error("No rendered PDF pages to export");let n=await Zr.create();for(let a of t){let o=String(a||"").replace(/^data:.*;base64,/,""),l=Uint8Array.from(atob(o),u=>u.charCodeAt(0)),c=await Zr.load(l);(await n.copyPages(c,c.getPageIndices())).forEach(u=>n.addPage(u))}let i=await n.save();return{filename:`${Rl(e?.title||"ppt-live")}.pdf`,mimeType:"application/pdf",base64:gy(i)}}async function zl(e,r){let t=Array.isArray(r)?r:[];if(!t.length)throw new Error("No rendered PNG pages to export");let n=new o0.default;t.forEach((a,o)=>{let l=typeof a=="string"?a:String(a?.base64||"").replace(/^data:.*;base64,/,""),c=(a?.index??o)+1;n.file(`slide-${String(c).padStart(2,"0")}.png`,l,{base64:!0})});let i=await n.generateAsync({type:"base64",compression:"DEFLATE"});return{filename:`${Rl(e?.title||"ppt-live")}-slides.zip`,mimeType:"application/zip",base64:String(i||"").replace(/^data:.*;base64,/,"")}}function my(e){if((e.slides||[]).some(t=>t.html))return vy(e);let r=e.slides.map(t=>`
          ${un(t)}
          `).join(` -`);return` - +// src/export-html.js +function buildHtmlDeck(state2) { + if ((state2.slides || []).some((slide) => slide.html)) { + return buildSourceHtmlDeck(state2); + } + const slides = state2.slides.map((slide) => `
          ${slideHtml(slide)}
          `).join("\n"); + return ` + -${Ne(e.title||"PPT Live")} +${escapeHtml(state2.title || "PPT Live")} -
          ${r}
          +
          ${slides}
          -`}function vy(e){let r=(e.slides||[]).map((t,n)=>`
          - -
          `).join(` -`);return` - +`; +} +function buildSourceHtmlDeck(state2) { + const slides = (state2.slides || []).map((slide, index) => `
          + +
          `).join("\n"); + return ` + -${Ne(e.title||"PPT Live")} +${escapeHtml(state2.title || "PPT Live")} -
          ${r}
          +
          ${slides}
          -`}function Ml(e){let r=new Blob([my(e)],{type:"text/html;charset=utf-8"}),t=URL.createObjectURL(r),n=document.createElement("a"),i=`${Ol(e.title||"ppt-live")}.html`;return n.href=t,n.download=i,document.body.append(n),n.click(),n.remove(),URL.revokeObjectURL(t),i}function nf(e,r,t){let n=atob(e),i=new Uint8Array(n.length);for(let c=0;c|]+/g,"-").slice(0,96)}function yy(){return` +`; +} +function downloadHtmlDeck(state2) { + const blob = new Blob([buildHtmlDeck(state2)], { type: "text/html;charset=utf-8" }); + const url = URL.createObjectURL(blob); + const link = document.createElement("a"); + const filename = `${fileSafe(state2.title || "ppt-live")}.html`; + link.href = url; + link.download = filename; + document.body.append(link); + link.click(); + link.remove(); + URL.revokeObjectURL(url); + return filename; +} +function downloadBase64File(base64, filename, mimeType) { + const binary = atob(base64); + const bytes = new Uint8Array(binary.length); + for (let i = 0; i < binary.length; i += 1) bytes[i] = binary.charCodeAt(i); + const blob = new Blob([bytes], { type: mimeType }); + const url = URL.createObjectURL(blob); + const link = document.createElement("a"); + link.href = url; + link.download = filename; + document.body.append(link); + link.click(); + link.remove(); + URL.revokeObjectURL(url); +} +function fileSafe(value2) { + return String(value2 || "ppt-live").replace(/[\\/:*?"<>|]+/g, "-").slice(0, 96); +} +function deckCss() { + return ` body{margin:0;background:#111827;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif} .deck{display:grid;gap:24px;padding:24px}.deck-slide{display:grid;place-items:center;min-height:100vh} .slide{position:relative;width:min(100%,1280px);aspect-ratio:16/9;color:var(--slide-ink);background:var(--slide-bg);overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.34)} @@ -351,8 +35125,74 @@ body{margin:0;background:#111827;font-family:-apple-system,BlinkMacSystemFont,"S .element-metric strong{font-size:inherit;line-height:.95}.element-metric span{color:var(--slide-muted);font-size:14px;line-height:1.25} .element-media{display:grid;place-items:center;border:1px dashed color-mix(in srgb,var(--slide-primary) 40%,transparent)} .element-chart{display:flex;flex-direction:column;gap:10px}.element-chart b{font-size:16px}.chart-bars{display:flex;align-items:end;gap:8px;flex:1;min-height:0}.chart-bars span{display:flex;flex:1;height:100%;align-items:end;gap:4px;flex-direction:column}.chart-bars i{display:block;width:100%;border-radius:5px 5px 0 0;background:var(--slide-primary)}.chart-bars em{font-size:10px;color:var(--slide-muted);font-style:normal} -`}var Wo='xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" aria-hidden="true" focusable="false"',af={pptx:``,pdf:`PDF`,html:``,png:``};function of(e){return af[e]||af.html}function sf(e){return{pptx:"#d44726",pdf:"#e01e3c",html:"#0d9488",png:"#2563eb"}[e]||"#475569"}var _l=new Set,lf="user::bitfun-system::ppt-design";function by(e){_l.forEach(r=>{try{r(e)}catch{}})}function wy(e){try{return JSON.stringify(e??{},null,2)}catch{return"{}"}}function xy(e){return Array.isArray(e?.currentDeck?.slides)&&e.currentDeck.slides.length>0}function Sy(e={}){let r=[],t=e.fontFamily;t==="serif"?r.push("\u886C\u7EBF\u5B57\u4F53"):t==="sans"&&r.push("\u975E\u886C\u7EBF\u5B57\u4F53");let n=e.density==="loose"?"spacious":e.density;return n==="compact"?r.push("\u7D27\u51D1\u4FE1\u606F\u5BC6\u5EA6"):n==="spacious"&&r.push("\u5BBD\u677E\u7559\u767D"),(e.colorMode||e.theme)==="dark"&&r.push("\u6DF1\u8272\u4E3B\u9898"),e.stylePreset&&r.push(`\u98CE\u683C\u9884\u8BBE: ${e.stylePreset}`),r.length?r.join("\u3001"):""}function ky(e){let r=xy(e),t=Sy(e?.style),n=e?.instruction||e?.userInput||"",i=r?`\u4F7F\u7528 PPT-Design skill \u7F16\u8F91\u73B0\u6709 PPT\u3002\u7F16\u8F91\u6307\u4EE4\uFF1A${n||"\uFF08\u89C1 currentDeck \u4E0A\u4E0B\u6587\uFF09"}\u3002`:`\u4F7F\u7528 PPT-Design skill \u751F\u6210 PPT\u3002\u7528\u6237\u9700\u6C42\uFF1A${n||"\uFF08\u89C1 input JSON\uFF09"}\u3002`;return t&&(i+=` -\u6837\u5F0F\u504F\u597D\uFF1A${t}\u3002`),i+=` +`; +} + +// src/export-format-icons.js +var SVG_ATTRS = 'xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" aria-hidden="true" focusable="false"'; +var ICONS = { + pptx: ``, + pdf: `PDF`, + html: ``, + png: `` +}; +function exportFormatIcon(formatId) { + return ICONS[formatId] || ICONS.html; +} +function exportFormatTone(formatId) { + const tones = { + pptx: "#d44726", + pdf: "#e01e3c", + html: "#0d9488", + png: "#2563eb" + }; + return tones[formatId] || "#475569"; +} + +// src/bitfun-backend-adapter.js +var EVENT_LISTENERS = /* @__PURE__ */ new Set(); +var PPT_DESIGN_SKILL_KEY = "user::bitfun-system::ppt-design"; +function emitEvent(event) { + EVENT_LISTENERS.forEach((listener) => { + try { + listener(event); + } catch { + } + }); +} +function serializeInput(input) { + try { + return JSON.stringify(input ?? {}, null, 2); + } catch { + return "{}"; + } +} +function hasCurrentDeck(input) { + return Array.isArray(input?.currentDeck?.slides) && input.currentDeck.slides.length > 0; +} +function describeStyle(style = {}) { + const parts = []; + const font = style.fontFamily; + if (font === "serif") parts.push("\u886C\u7EBF\u5B57\u4F53"); + else if (font === "sans") parts.push("\u975E\u886C\u7EBF\u5B57\u4F53"); + const density = style.density === "loose" ? "spacious" : style.density; + if (density === "compact") parts.push("\u7D27\u51D1\u4FE1\u606F\u5BC6\u5EA6"); + else if (density === "spacious") parts.push("\u5BBD\u677E\u7559\u767D"); + const colorMode = style.colorMode || style.theme; + if (colorMode === "dark") parts.push("\u6DF1\u8272\u4E3B\u9898"); + if (style.stylePreset) parts.push(`\u98CE\u683C\u9884\u8BBE: ${style.stylePreset}`); + return parts.length ? parts.join("\u3001") : ""; +} +function buildAgentPrompt(input) { + const hasDeck = hasCurrentDeck(input); + const styleLine = describeStyle(input?.style); + const instruction = input?.instruction || input?.userInput || ""; + let prompt = hasDeck ? `\u4F7F\u7528 PPT-Design skill \u7F16\u8F91\u73B0\u6709 PPT\u3002\u7F16\u8F91\u6307\u4EE4\uFF1A${instruction || "\uFF08\u89C1 currentDeck \u4E0A\u4E0B\u6587\uFF09"}\u3002` : `\u4F7F\u7528 PPT-Design skill \u751F\u6210 PPT\u3002\u7528\u6237\u9700\u6C42\uFF1A${instruction || "\uFF08\u89C1 input JSON\uFF09"}\u3002`; + if (styleLine) { + prompt += ` +\u6837\u5F0F\u504F\u597D\uFF1A${styleLine}\u3002`; + } + prompt += ` ## \u7EA6\u675F @@ -360,29 +35200,2834 @@ body{margin:0;background:#111827;font-family:-apple-system,BlinkMacSystemFont,"S - \u4E0D\u8981\u8C03\u7528 AskUserQuestion\u3001ControlHub\u3001GenerativeUI\u3001ComputerUse \u7B49\u4EA4\u4E92\u5DE5\u5177\u3002 - \u7814\u7A76\u7528 WebSearch / WebFetch \u5373\u53EF\u3002 - **\u4E00\u6B21\u5199\u5BF9\uFF0C\u7981\u6B62\u4E8B\u540E\u5BA1\u8BA1**\uFF1A\u6BCF\u9875 HTML \u5728\u5199\u5165\u65F6\u5C31\u8981\u6EE1\u8DB3\u6240\u6709\u7EA6\u675F\uFF08\u753B\u5E03\u5C3A\u5BF8\u3001\u56DB\u6761 OOXML \u786C\u7EA6\u675F\u3001\u9632\u6EA2\u51FA\u9884\u7B97\uFF09\u3002\u6240\u6709\u9875\u9762\u5199\u5B8C\u540E\u4E0D\u5F97\u518D\u9010\u9875 Read\u2192Edit \u8FD4\u5DE5\u6216 Grep \u6279\u91CF\u68C0\u67E5\u3002\u5199\u5B8C\u5373\u7ED3\u675F\u3002 -`,r&&(i+="\n## \u7F16\u8F91\u4E0A\u4E0B\u6587\n\n- `currentDeck` \u5DF2\u63D0\u4F9B\u3002\u5C06\u7528\u6237\u6307\u4EE4\u89C6\u4E3A\u5BF9\u73B0\u6709 deck \u7684\u589E\u91CF\u7F16\u8F91\uFF0C\u9664\u975E\u6307\u4EE4\u660E\u786E\u8981\u6C42\u5168\u65B0\u751F\u6210\u3002\n- `currentDeck.slides[].slideNumber` \u662F\u4ECE 1 \u5F00\u59CB\u7684\u9875\u7801\uFF0C\u4E0E\u7528\u6237\u53E3\u8BED\u4E00\u81F4\u3002\n- \u7F16\u8F91\u65F6\u53EA\u91CD\u5199\u53D8\u66F4\u7684 `slides/slide-NN.html` \u6587\u4EF6\uFF0C\u4E0D\u52A8\u5176\u4ED6\u9875\u3002\n"),i+=` +`; + if (hasDeck) { + prompt += ` +## \u7F16\u8F91\u4E0A\u4E0B\u6587 + +- \`currentDeck\` \u5DF2\u63D0\u4F9B\u3002\u5C06\u7528\u6237\u6307\u4EE4\u89C6\u4E3A\u5BF9\u73B0\u6709 deck \u7684\u589E\u91CF\u7F16\u8F91\uFF0C\u9664\u975E\u6307\u4EE4\u660E\u786E\u8981\u6C42\u5168\u65B0\u751F\u6210\u3002 +- \`currentDeck.slides[].slideNumber\` \u662F\u4ECE 1 \u5F00\u59CB\u7684\u9875\u7801\uFF0C\u4E0E\u7528\u6237\u53E3\u8BED\u4E00\u81F4\u3002 +- \u7F16\u8F91\u65F6\u53EA\u91CD\u5199\u53D8\u66F4\u7684 \`slides/slide-NN.html\` \u6587\u4EF6\uFF0C\u4E0D\u52A8\u5176\u4ED6\u9875\u3002 +`; + } + prompt += ` Input JSON: \`\`\`json -${wy(e)} -\`\``,e?.continueAfterInterruption&&(i=`\u4E0A\u4E00\u6B21\u751F\u6210\u88AB\u4E2D\u65AD\u4E86\u3002\u8BF7\u7EE7\u7EED\u5B8C\u6210\u4EFB\u52A1\uFF1A\u68C0\u67E5 project.json \u548C\u5DF2\u5199\u7684 slides/ \u6587\u4EF6\uFF0C\u53EA\u8865\u5199\u8FD8\u6CA1\u5B8C\u6210\u7684\u9875\u9762\uFF0C\u4E0D\u8981\u91CD\u5199\u5DF2\u6709\u7684\u9875\u9762\u3002 - -${i}`),i}function Cy(e){let r=!1,t=()=>{r||(r=!0,e.agent.onEvent(n=>{!n||typeof n!="object"||by(n)}))};e.backend={protocol:"files",async call(n,i,a={}){if(n!=="ppt.generate")throw new Error(`Unsupported PPT Live action: ${n}`);t();let o=ky(i),l=await e.agent.run(o,{runId:a.idempotencyKey,sessionName:"PPT Live",sessionId:a.sessionId,appDataWorkspace:a.appDataWorkspace});if(!l?.sessionId||!l?.turnId)throw new Error("PPT Live agent backend did not return sessionId/turnId");return{sessionId:l.sessionId,turnId:l.turnId,actionRunId:l.actionRunId||l.turnId}},onEvent(n){_l.add(n)},offEvent(n){_l.delete(n)},async cancel(n,i){await e.agent.cancel(n,i)},async turnText(n,i){return{text:(await e.agent.turnText(n,i))?.text||""}},async cancelStaleRuns(){await e.agent.cancelStaleRuns()}}}function cf(e=window.app){!e||e.backend?.call||e.agent?.run&&Cy(e)}var X=Bn(),Fn=!1,Cr=null,Tn=[],Xn=0,jo=!1,ga=!1,Vn=[],Ul=0,ke=e=>document.getElementById(e),st=()=>window.app||{};cf(st());var Sf=2500,Ko=new Map;function Wl(e){try{return localStorage.getItem(e)}catch{return Ko.has(e)?Ko.get(e):null}}function Gl(e,r){try{localStorage.setItem(e,r)}catch{Ko.set(e,r)}}var ma={get:async e=>JSON.parse(Wl(e)||"null"),set:async(e,r)=>Gl(e,JSON.stringify(r))};function kf(){let e=st();return e.storage?e.storage:ma}async function Cf(e){let r=kf();if(r===ma||!st().storage)return r.get(e);try{return await Promise.race([r.get(e),new Promise((t,n)=>setTimeout(()=>n(new Error("storage-timeout")),Sf))])}catch(t){return st().log?.warn?.("Host storage read timed out, using local fallback",{key:e,error:String(t)}),ma.get(e)}}async function Zo(e,r){let t=kf();if(t===ma||!st().storage){await t.set(e,r);return}try{await Promise.race([t.set(e,r),new Promise((n,i)=>setTimeout(()=>i(new Error("storage-timeout")),Sf))])}catch(n){st().log?.warn?.("Host storage write timed out, using local fallback",{key:e,error:String(n)}),await ma.set(e,r)}}async function Py(){try{Vn=await Fy();let e=await Cf(Si);if(e){X=ln(e),Hl(X)&&(X=Bn(),await Zo(Si,{...X,updatedAt:Date.now()}));return}X=Bn(),await Pt(!0)}catch(e){st().log?.warn?.("Failed to load PPT Live state",{error:String(e)}),X=Bn()}}async function Pt(e=!1){X=ln(X),await Zo(Si,{...X,updatedAt:Date.now()}),await Xl(e?"autosave":"manual"),e||Zt(J("saved"))}async function Fy(){try{let e=await Cf(as);return Array.isArray(e)?e.map(Pf).filter(Boolean).slice(0,40):[]}catch(e){return st().log?.warn?.("Failed to load PPT Live history",{error:String(e)}),[]}}async function Xl(e="autosave"){if(!X?.slides?.length||Hl(X))return;let r=Date.now();if(e==="autosave"&&Ul&&r-Ul<15e3)return;Ul=r;let t=Pf({id:X.sessionId||ir("deck"),title:X.title||J("blankDeckTitle"),updatedAt:r,slideCount:X.slides.length,reason:e,prompt:X.promptDraft||X.brief?.topic||"",state:sn({...X,generation:{...X.generation,active:!1}})});t&&(Vn=[t,...Vn.filter(n=>n.id!==t.id)].slice(0,40),await Zo(as,Vn),Ff())}function Hl(e){let r=Array.isArray(e?.slides)?e.slides:[];return r.length===1&&!r[0]?.html&&String(r[0]?.id||"").startsWith("agent-working-slide")&&String(e?.title||"")===J("agentWorkingTitle")&&!e?.generation?.active}function Pf(e){return!e?.id||!e?.state?null:{id:String(e.id),title:String(e.title||e.state?.title||J("blankDeckTitle")),updatedAt:Number(e.updatedAt||Date.now()),slideCount:Number(e.slideCount||e.state?.slides?.length||0),reason:String(e.reason||"autosave"),prompt:String(e.prompt||e.state?.brief?.topic||""),state:e.state}}function Ff(){let e=ke("historyList");if(e){if(e.innerHTML="",!Vn.length){let r=document.createElement("div");r.className="history-empty",r.textContent=J("historyEmpty"),e.append(r);return}Vn.slice(0,12).forEach(r=>{let t=document.createElement("button");t.type="button",t.className=`history-card${r.id===X.sessionId?" is-active":""}`,t.innerHTML=` - ${uf(r.title)} - ${J("historyMeta",{count:r.slideCount,time:Dy(r.updatedAt)})} - ${r.prompt?`${uf(r.prompt)}`:""} - `,t.addEventListener("click",()=>{Ty(r.id)}),e.append(t)})}}async function Ty(e){let r=Vn.find(t=>t.id===e);r&&(Xn+=1,await rc(),X=ln(sn(r.state)),X.generation.active=!1,Yo(),Yt(),Ei(X),Zt(J("historyRestored")),await Zo(Si,{...X,updatedAt:Date.now()}))}function Dy(e){let r=new Date(e);if(Number.isNaN(r.getTime()))return"";let t=String(r.getMonth()+1).padStart(2,"0"),n=String(r.getDate()).padStart(2,"0"),i=String(r.getHours()).padStart(2,"0"),a=String(r.getMinutes()).padStart(2,"0");return`${t}/${n} ${i}:${a}`}function uf(e){return String(e??"").replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}function Zt(e){let r=ke("statusLine");r&&(r.textContent=e)}function yi(e){let r=ke("exportStatus");r&&(r.textContent=e)}function wi(e,r){Fn=e,document.querySelector(".ppt-live")?.classList.toggle("is-busy",Fn),document.querySelectorAll("button, input, select, textarea").forEach(n=>{if(!["closePreview","prevPresent","nextPresent"].includes(n.id)){if(n.id==="cancelGeneration"){n.disabled=!Fn,n.hidden=!Fn;return}n.id!=="newDeck"&&(n.disabled=Fn)}});let t=ke("aiStatusPill");t&&(t.textContent=Fn?J("statusPillBusy"):J("statusPillReady"),t.classList.toggle("is-busy",Fn)),r&&Zt(r)}function Mr(e,r,t){X.generation.current=e,X.generation.steps=X.generation.steps.map(n=>({...n,status:n.id===e?r:n.status})),X.generation.active=r==="running"||X.generation.steps.some(n=>n.status==="running"),Fr(X),Wr(X),t&&Zt(t)}function Yo(){X.generation.active=!1,X.generation.current="idle",X.generation.draftedCount=0,X.generation.slideTarget=0,X.generation.eventSeq=0,X.generation.steps=X.generation.steps.map(e=>({...e,status:"pending"})),X.generation.events=[],X.generation.agentStream=[],Fr(X),Wr(X)}function Pr(e,r="",t="info"){X.generation=ki(X.generation||{});let n=typeof e=="string"?{title:e,detail:r,kind:t}:{...e||{}},i=Gt(n.title||n.label||n.message||J("processEventUnknown"),160),a=Gt(n.detail??r??"",260),o=String(n.kind||t||"info").toLowerCase().replace(/[^a-z0-9-]/g,"")||"info";if(!i&&!a)return;let l=Array.isArray(X.generation.events)?X.generation.events:[],c=l[l.length-1];if(c&&c.title===i&&c.detail===a&&c.kind===o)c.timestamp=Date.now(),X.generation.events=l;else{let s=l.reduce((d,p)=>Math.max(d,Number(p.seq)||0),0),u=Math.max(Number(X.generation.eventSeq)||0,s)+1;X.generation.eventSeq=u,X.generation.events=[...l,{id:ir("generation-event"),seq:u,title:i||J("processEventUnknown"),detail:a,kind:o,timestamp:Date.now()}].slice(-80)}Fr(X),Wr(X)}function $r(e){let r=String(e.toolName||"").toLowerCase();if(r&&nb.has(r)||e.kind==="system")return;X.generation=ki(X.generation||{});let t=Array.isArray(X.generation.agentStream)?X.generation.agentStream:[];if(e.kind==="text"){let n=t[t.length-1];if(n&&n.kind==="text"){n.text=String(n.text||"")+String(e.text||""),n.timestamp=Date.now(),X.generation.agentStream=t,Fr(X);return}}t.push({id:ir("agent-stream"),timestamp:Date.now(),...e}),X.generation.agentStream=t,Fr(X)}function Yt(){X=ln(X),Ec(X,Qt),Ff()}function rn(e={}){_c(X,e),X=ln(X)}function Tf(){return ke("topicInput")?.value.trim()||""}function Df(){let e=fc().join(` -`);return!X.outline.length||X.outline.join(` -`)===e||X.title===J("defaultDeckTitle")||Kl()}function Kl(){let e=String(X.title||"").trim();return X.slides.length===1&&X.outline.length===1&&X.outline[0]===J("newSlideTitle")&&(e===J("blankDeckTitle")||e===J("newSlideTitle"))}function nn(){return Array.isArray(X.slides)&&X.slides.length>0&&!Df()&&!Kl()&&!Hl(X)}async function Ey(){await Ql()}async function By(){await Ql()}async function Ql(){if(jo||ga)return;let e=Tf();if(!e){Zt(J("promptRequired"));return}jo=!0;let r=nn();X.promptDraft=e,X.lastSubmittedPrompt=e,rn({includeTopic:!r}),r||(X.brief.topic=e);try{await ec("auto",e,{includeTopic:!r,persistBeforeRun:!0});return}catch(t){if(Jo(t))return;st().log?.warn?.("PPT Live backend generation failed",{error:String(t)}),Zl(t),Yt(),await Pt(!0)}finally{jo=!1}}function Ef(e=J("deckReady")){X.generation.active=!1,X.generation.draftedCount=X.slides.length,X.generation.slideTarget=0,X.generation.steps=(X.generation.steps||[]).map(r=>({...r,status:r.status==="error"?"error":"done"})),Zt(e),Fr(X),Wr(X)}function Ry(e=J("backendGenerationFailed"),r=""){X.generation.active=!1,X.generation.steps=(X.generation.steps||[]).map(t=>({...t,status:t.status==="done"?"done":"error"})),Zt(e),Pr({title:e,detail:r||J("agentOnlyRetryHint"),kind:"error"}),wi(!1),Fr(X),Wr(X)}function Ly(e,r=5){let t=[],n=new Set,i=e;for(let a=0;i&&a({kind:n.kind,title:n.title,url:n.url,text:String(n.text||"").slice(0,6e3)}))}:null);let t=Number(X.brief?.slideTarget)||0;return t>0&&(r.slideTarget=t),r}function Yl({includePreset:e=!0}={}){let r=ts(X.style?.stylePreset),t=X.style?.colorMode==="dark"?"dark":"light",n={fontFamily:X.style?.fontFamily==="serif"?"serif":"sans",density:En(X.style?.density),colorMode:t,theme:t,palette:ic(r,t)};return e&&(n.stylePreset=X.style?.stylePreset||an),n}function Iy(e){let r=String(e||"").trim();if(!r)return"";try{let t=new DOMParser().parseFromString(r,"text/html");return t.querySelectorAll("style,script,svg").forEach(n=>n.remove()),Gt(t.body?.textContent||t.documentElement?.textContent||"",1800)}catch{return Gt(r.replace(/<[^>]+>/g," "),1800)}}function zy(e){let r=new Set,t=String(e||""),n=Jt(X);return/(当前|本页|这一页|此页|current\s+(slide|page)|this\s+(slide|page))/i.test(t)&&r.add(n),[/第\s*(\d{1,2})\s*(页|頁|张|張)/gi,/\b(?:slide|page)\s*(\d{1,2})\b/gi,/\b(\d{1,2})\s*(?:slide|slides|page|pages)\b/gi].forEach(a=>{let o=a.exec(t);for(;o;){let l=Number(o[1])-1;l>=0&&la-o)}function My(e){let r=zy(e),t=Jt(X),n=new Set(r.length?r:[t]);return{title:X.title,outline:sn(X.outline||[]),slideCount:X.slides.length,activeSlideIndex:t,activeSlideId:X.slides[t]?.id||"",targetHints:r.map(i=>({slideIndex:i,slideNumber:i+1,slideId:X.slides[i]?.id||"",title:X.slides[i]?.title||""})),slides:X.slides.map((i,a)=>{let o=i.html?Iy(i.html):Gt((i.elements||[]).flatMap(c=>[c.text,c.label,...Array.isArray(c.items)?c.items:[]]).filter(Boolean).join(` -`),1800),l={slideIndex:a,slideNumber:a+1,id:i.id,title:i.title,kicker:i.kicker,claim:i.claim,proofObject:i.proofObject,supportNote:i.supportNote,sourceNote:i.sourceNote,notes:i.notes,layout:i.layout,visibleText:o,hasHtml:!!i.html};return n.has(a)&&i.html&&(l.html=String(i.html).slice(0,12e3)),l})}}function df(e,r){let t=r.getBoundingClientRect(),n=mt((e-t.left)/t.width,0,1);return Math.round(n*2)}function Pn(e){Oa(Ca(mt(Math.round(Number(e)),0,2)))}function Oy(){Oc(X),X=ln(X)}var ha=2,_y=750;function Uy(e){let r=String(e?.message||e||"");return!(Jo(e)||/Generation stopped/i.test(r)||/backend is unavailable|did not return sessionId/i.test(r)||/permission|workspacePath is required|unsupported PPT Live action/i.test(r))}function Wy(e,r){let t=String(e?.message||e||"");return/rate limit|network|timed? out|connection|temporar|overload|service unavailable|502|503|504/i.test(t)?Math.min(15e3,1e3*2**Math.min(Math.max(0,r-1),4)):_y}function Gy(e){return/Unknown MiniApp agent session|session workspace does not match/i.test(String(e?.message||e||""))}function jy(){let e=st();return e.backend?.protocol==="files"&&!!e.appDataDir&&!!e.fs?.readFile}function qy(){let e=`deck-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return{runId:e,workspaceSubdir:`decks/${e}`,dir:`${st().appDataDir}/decks/${e}`}}function Vy(){let e=String(X.agentSession?.workspaceSubdir||"");return!e||!st().appDataDir?null:{runId:String(X.agentSession?.runId||e.split("/").pop()||""),workspaceSubdir:e,dir:`${st().appDataDir}/${e}`}}function Rf(e){return`slides/slide-${String(e).padStart(2,"0")}.html`}function Jl(e){return typeof e=="string"?e:String(e?.title||"")}function Lf(e){return Array.isArray(e?.outline)?e.outline.map(Jl).filter(Boolean):[]}function Nf(e){let r=String(e||"").trim();return r?[J("agentWorkingTitle"),J("generationAgentWorking"),J("blankDeckTitle"),J("defaultDeckTitle"),J("newSlideTitle")].includes(r):!0}function va({plan:e=null,payload:r=null,state:t=null,instruction:n="",slides:i=[]}={}){let a=Array.isArray(e?.outline)?e.outline:Array.isArray(r?.outline)?r.outline:[],o=a.length?Jl(a[0]):"",l=Array.isArray(i)&&i.length?String(i[0]?.title||"").trim():"",c=[r?.deckPatch?.title,r?.patch?.title,r?.title,e?.title,o,t?.brief?.topic,n,t?.promptDraft,l];for(let s of c){let u=String(s||"").trim();if(u&&!Nf(u))return u}return J("blankDeckTitle")}async function If(e,r){let t=st().fs;if(!t?.readFile)throw new Error("PPT Live fs API is unavailable");return await t.readFile(`${e.dir}/${r}`)}async function Xy(e,r){try{let t=String(await If(e,r)||"");return t.trim()?xi(t):null}catch{return null}}async function $l(e){return await Xy(e,"project.json")}async function zf(e,r){try{let t=String(await If(e,Rf(r))||"").trim();return!t||!/<\/html>\s*$/i.test(t)?null:t}catch{return null}}async function Hy(e,r,t=6,n=120){for(let i=1;i<=t;i+=1){let a=await zf(e,r);if(a)return a;isetTimeout(o,n))}return null}async function Ky(e){let r=await $l(e);if(!r)throw new Error("PPT Live agent finished without a valid project.json");let t=Array.isArray(r.slide_order)&&r.slide_order.length?r.slide_order:Array.isArray(r.outline)?r.outline.map((i,a)=>`slide-${String(a+1).padStart(2,"0")}`):[],n=[];for(let i=0;i({id:`slide-${String(o+1).padStart(2,"0")}`,title:String(a.title||""),bullets:[],slide_id:`slide-${String(o+1).padStart(2,"0")}`})),i={title:X.title||"",language:Lr(),outline:n,slide_order:n.map(a=>a.slide_id),style:Yl()};await r.writeFile(`${e.dir}/project.json`,`${JSON.stringify(i,null,2)} -`);for(let a=0;atypeof a=="string"?a:a?.name).filter(a=>typeof a=="string"&&a.startsWith("deck-")&&a!==e);for(let a of i)await r.rm(`${t}/${a}`,{recursive:!0})}catch{}}async function ec(e,r,t={}){if(!st().backend?.call)throw new Error("PPT Live backend is unavailable");if(!ga){ga=!0;try{rn({includeTopic:t.includeTopic!==!1}),Oy(),t.persistBeforeRun&&await Pt(!0),await $y(e,r)}finally{ga=!1}}}async function Yy(e,r={},t={}){let n=st(),i=Xn,a=null,o=null,l="",c="",s=!1,u=0,d=null,p=[],f=new Set,h=[],A=new Set,y=ab(),v={lastEventAt:Date.now()};try{let b=await n.backend.call("ppt.generate",e,{entityId:"deck",idempotencyKey:`ppt-live-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,sessionId:t.sessionId||void 0,appDataWorkspace:t.appDataWorkspace||void 0});if(a=b?.sessionId||null,o=b?.turnId||b?.actionRunId||null,!a||!o)throw new Error("PPT Live backend did not return sessionId/turnId");if(ub(a,o),Aa(i))throw new Error("Generation stopped");let x=new Promise((G,H)=>{let k=g=>{let z=g.sessionId,ne=z===a,q=String(g.sourceEvent||"");if(q.endsWith("subagent-session-linked")){g.parentSessionId===a&&z&&(A.add(z),Pr({title:J("eventSubagentStarted"),detail:"",kind:"tool"}),$r({kind:"system",text:`[subagent started] ${String(g.subagentName||g.sessionName||z).slice(0,120)}`}));return}let oe=A.has(z);if(!(!ne&&!oe)&&!(ne&&g.turnId&&g.turnId!==o)){if(v.lastEventAt=Date.now(),!ne&&z&&A.add(z),q.endsWith("dialog-turn-started"))y.note(J("eventTurnStarted"),"","turn");else if(q.endsWith("model-round-started"))ne?r.onToolPhase?.("round"):y.note(J("eventSubagentWorking"),"","pulse",8e3),y.touch();else if(q.endsWith("model-round-completed"))y.touch();else if(q.endsWith("tool-event")){let Z=tc(g.toolEvent||{}),de=Z.event_type||Z.eventType||"",j=String(Z.tool_name||Z.toolName||"").trim().toLowerCase();if(ne&&(de==="Started"?h.push({eventType:de,toolId:Z.tool_id||Z.toolId||"",toolName:Z.tool_name||Z.toolName||"",params:Z.params||{}}):de==="Completed"?h.push({eventType:de,toolId:Z.tool_id||Z.toolId||"",toolName:Z.tool_name||Z.toolName||"",result:Z.result||{}}):(de==="Failed"||de==="Cancelled")&&h.push({eventType:de,toolId:Z.tool_id||Z.toolId||"",toolName:Z.tool_name||Z.toolName||"",error:Z.error||Z.message||de})),de==="Started"&&j==="task"&&(y.note(J("eventToolTaskStarted"),"","tool"),y.touch()),de==="Started"&&j){let W=Z.params||Z.result||{},fe=ob(j,W);$r({kind:"tool-start",toolName:j,isSubagent:!ne,text:fe})}else if(de==="Completed"&&j){let W=sb(j,Z.result||{});W&&$r({kind:"tool-done",toolName:j,isSubagent:!ne,text:W})}else(de==="Failed"||de==="Cancelled")&&$r({kind:"tool-error",toolName:j,isSubagent:!ne,text:Gt(String(Z.error||Z.message||de),200)});if(ib(Z,f,{isSubagent:!ne})){let W=cb(g,{isSubagent:!ne});W&&Pr(W),y.touch()}if(ne&&(de==="EarlyDetected"||de==="Started"))r.onToolPhase?.("detected");else if(ne&&de==="Completed"){let W=j;if(r.onToolPhase?.("completed"),W==="skill"?y.note(J("eventToolSkillReady"),"","phase"):(W==="websearch"||W==="webfetch")&&r.onToolPhase?.("research"),(W==="write"||W==="edit")&&typeof r.onSlideFileWritten=="function"){let le=Of(Z,h).match(/slides\/slide-(\d{2})\.html/i);if(le){let ae=parseInt(le[1],10);Number.isFinite(ae)&&ae>0&&Promise.resolve(r.onSlideFileWritten(ae)).catch(()=>{})}}}}else if(q.endsWith("text-chunk")){let Z=String(g.text||"");if(g.contentType==="thinking")c+=Z;else{l+=Z,y.touch(),$r({kind:"text",text:Z});let j=Date.now();j-u>=500&&(u=j,r.onTextProgress?.(l))}}else if(!q.endsWith("token-usage-updated")){if(q.endsWith("dialog-turn-completed")){if(!ne){y.note(J("eventSubagentDone"),"","tool"),$r({kind:"system",isSubagent:!0,text:"[subagent done]"});return}$r({kind:"system",text:"[turn completed]"}),s=!0,d={success:g.success,finishReason:g.finishReason||g.finish_reason||"",partialRecoveryReason:g.partialRecoveryReason||g.partial_recovery_reason||""},G({answer:l,thinking:c})}else if(q.endsWith("dialog-turn-failed")||q.endsWith("dialog-turn-cancelled")){if(!ne){y.note(J("eventSubagentFailed"),"","error"),$r({kind:"system",isSubagent:!0,text:"[subagent failed]"});return}s=!0,l&&r.onTextProgress?.(l);let Z=Gt(g.error||g.message||"");$r({kind:"system",text:q.endsWith("dialog-turn-cancelled")?"[turn cancelled]":"[turn failed]"}),Pr({title:q.endsWith("dialog-turn-cancelled")?J("eventTurnCancelled"):J("eventTurnFailed"),detail:Z,kind:"error"}),H(new Error(Z||q))}}}};n.backend.onEvent(k),p.push(()=>n.backend.offEvent?.(k));let O=setInterval(()=>{if(s||Date.now()-y.lastProgressLogAt<12e3)return;let z=(X.generation?.steps||[]).find(ne=>ne.status==="running");y.note(z?.label?`${z.label}\u2026`:J("generationProgressPulse"),z?.detail||"","pulse",0)},12e3);p.push(()=>clearInterval(O))}),P=t.resultKind!=="text",F=await vb(x,a,o,v,{expectJson:P}),L=typeof F=="string"?F:F?.answer||"",E=typeof F=="string"?"":F?.thinking||"";if(Aa(i))throw new Error("Generation stopped");if(!P)return{payload:null,text:L,sessionId:a,toolTrace:h,completion:d};let R=await yb(a,o,L,E);if(Aa(i))throw new Error("Generation stopped");let T=xi(R);if(Aa(i))throw new Error("Generation stopped");return{payload:T,sessionId:a,toolTrace:h,completion:d}}catch(b){if(b&&typeof b=="object"&&a&&(b.pptLiveSessionId=a,b.pptLiveToolTrace=h),!s&&a&&o&&n.backend?.cancel)try{await n.backend.cancel(a,o)}catch(x){st().log?.warn?.("PPT Live backend cancel after failure failed",{sessionId:a,turnId:o,error:String(x)})}throw b}finally{p.forEach(b=>b()),a&&o&&db(a,o)}}function Jy(e,r){return{operation:e,instruction:r,locale:Lr(),brief:Ny(),style:Yl()}}async function $y(e,r){let t=Xn;wi(!0,J("working")),Yo(),Mr("brief","running",J("generationReadingBrief")),Pr({title:J("processEventStarted"),detail:J("processEventWaiting"),kind:"start"}),eb(e,r);let n=!1,i=jy()?Vy()||qy():null;i&&!X.agentSession?.workspaceSubdir&&(await Zy(i.runId),await Qy(i));let a={id:X.agentSession?.id||null,project:i},o={value:""},l={touch:()=>{},note:()=>{},lastProgressLogAt:0},c=new Map,s=null;try{let u=null;for(let d=1;d<=ha;d+=1)try{d>1&&(Pr({title:J("generationRetryAttempt",{attempt:d,max:ha}),detail:Bf(u),kind:"start"}),Zt(J("generationRetrying",{attempt:d,max:ha})),await new Promise(y=>setTimeout(y,Wy(u,d))));let p={...Jy(e,r),...a?.id?{continueAfterInterruption:!0}:{}};nn()&&(p.currentSlideIndex=Jt(X),p.currentDeck=My(r));let{sessionId:h}=await Yy(p,{onToolPhase:y=>{y==="detected"?Mr("brief","running",J("generationReadingBrief")):y==="completed"?Mr("brief","done"):y==="research"&&Mr("proof","running",J("generationChoosingProof"))},onTextProgress:y=>lb(y,l,o),onSlideFileWritten:i?async y=>{let v=await Hy(i,y);if(!v)return;c.set(y,v);let b=Array.isArray(s?.outline)?s.outline.length:0;if(!s||y>b){let L=await $l(i);if(L){s=L;let E=va({plan:L,state:X,instruction:r});Nf(E)||(X.title=E)}}let x=s||{},P=[...c.entries()].sort((L,E)=>L[0]-E[0]).map(([L,E])=>({id:`ppt-live-slide-${L}`,slideNumber:L,title:typeof x?.outline?.[L-1]=="string"?x.outline[L-1]:x?.outline?.[L-1]?.title||`${J("newSlideTitle")} ${L}`,html:E})),F=va({plan:x,state:X,instruction:r,slides:P});Mr("design","running",J("generationSlideReady",{slide:y,total:P.length})),Zt(J("generationRenderingSlide",{slide:y,total:x?.outline?.length||P.length})),Pr({title:J("generationSlideReady",{slide:y,total:x?.outline?.length||P.length}),detail:"",kind:"slide"}),hf({title:F,language:x?.language||"",outline:Lf(x||{}),researchReport:x?.researchReport||null,design:x?.design||{},slides:P},{instruction:r}),X.activeSlideId=`ppt-live-slide-${y}`,X.selectedElementId="",Yt()}:void 0},{sessionId:a?.id||void 0,appDataWorkspace:a?.project?.workspaceSubdir,resultKind:i?"text":void 0});a.id=h||a.id,X.agentSession={id:a.id||"",workspaceSubdir:a?.project?.workspaceSubdir||"",runId:a?.project?.runId||"",skillKey:lf},Pr({title:J("generationParsingDeck"),detail:"",kind:"parsing"}),Zt(J("generationParsingDeck")),Mr("design","running",J("generationDesigningLayouts"));let A=i?await Ky(i):null;if(!A)throw new Error("PPT Live agent did not produce a readable deck");hf(A,{instruction:r}),await Xl(`agent:${e}`),Pr({title:J("processEventDone"),detail:"",kind:"done"}),Mr("spine","done"),Mr("proof","done"),Mr("design","done"),Mr("compile","done",J("generationCompiled")),Ef(J("deckReady")),n=!0,Yt(),await Pt(!0);break}catch(p){if(u=p,Gy(p)?a.id=null:p?.pptLiveSessionId&&(a.id=p.pptLiveSessionId),!Uy(p)||d>=ha)throw p;st().log?.warn?.("PPT Live cowork generation attempt failed, retrying",{attempt:d,maxAttempts:ha,continueInSession:!!a.id,error:String(p)})}}finally{!Aa(t)&&(X.generation.active&&!n&&(X.generation.active=!1),wi(!1)),Fr(X),Wr(X)}}function eb(e,r){Zt(J("generationAgentWorking")),Pr({title:J("generationAgentWorking"),detail:Gt(r||""),kind:"start"}),e==="auto"&&(Df()||Kl())&&(X.title=J("agentWorkingTitle")),Yt()}var tb=new Set(["ParamsPartial","Queued","Waiting","Progress","Streaming","StreamChunk","Confirmed","Rejected","EarlyDetected","Started"]),rb=new Set(["read","write","grep","glob","list","todowrite","todo_write","skill","bash","shell","edit","delete","apply_patch","strreplace","search_replace"]),nb=new Set(["todowrite","todo_write","grep","glob","ls","list","execcommand","bash","shell"]);function ff(e){if(!e)return"";let r=String(e).replace(/\\/g,"/").split("/").filter(Boolean);return r.length<=2?r.join("/"):r.slice(-2).join("/")}function Mf(e,r={}){let t=String(e||"").trim().toLowerCase();return!t||rb.has(t)?"":t==="websearch"?r.isSubagent?J("eventSubagentWebSearchDone"):J("eventToolWebSearchDone"):t==="webfetch"?r.isSubagent?J("eventSubagentWebFetchDone"):J("eventToolWebFetchDone"):t==="task"?J("eventToolTaskDone"):""}function ib(e,r,t={}){let n=tc(e),i=n.event_type||n.eventType||"";if(tb.has(i))return!1;let a=String(n.tool_name||n.toolName||"tool").toLowerCase();if(i==="Completed"&&!Mf(a,t))return!1;let o=Of(n)||String(n.params&&typeof n.params=="object"&&n.params.command||"").trim(),l=o?`${a}:${o}:${i}`:`${a}:${i}`;return r.has(l)?!1:(r.add(l),i==="Completed"||i==="Failed"||i==="Cancelled"||i==="ConfirmationNeeded")}function ab(){let e=0,r="";return{get lastProgressLogAt(){return e},touch(){e=Date.now()},note(t,n="",i="phase",a=0){let o=Date.now(),l=t===r;return a>0&&l&&o-eo?.content||"").filter(Boolean).join(" | "),200)}if(t==="execcommand"||t==="bash"||t==="shell")return Gt(String(n.cmd||n.command||""),160);let i=Object.values(n).find(a=>typeof a=="string"&&a.trim());return Gt(String(i||""),160)}function sb(e,r={}){let t=String(e||"").toLowerCase(),n=r&&typeof r=="object"?r:{};if(t==="websearch"){let i=Array.isArray(n.results)?n.results:[];return i.length?`${i.length} \u6761\u7ED3\u679C`:""}if(t==="webfetch"||t==="mcp__web_reader__webreader"){let i=String(n.content||n.text||n.markdown||"").length;return i?`${i>1e3?Math.round(i/1e3)+"k":i} \u5B57\u7B26`:""}if(t==="read"){let i=Number(n.lineCount||(Array.isArray(n.lines)?n.lines.length:0));return i?`${i} \u884C`:""}return t==="write"||t==="edit"||t==="grep"||t==="glob"||t==="skill"?"":t==="task"?Gt(String(n.result||n.message||""),160):""}function lb(e,r,t){r.touch()}function cb(e,r={}){let t=tc(e.toolEvent||{}),n=t.event_type||t.eventType||"ToolEvent",i=String(t.tool_name||t.toolName||"").trim();if(n==="Completed"){let a=Mf(i,r);return a?{title:a,detail:"",kind:"tool"}:null}return n==="Failed"||n==="Cancelled"?{title:J("eventToolFailedUser"),detail:"",kind:"error"}:n==="ConfirmationNeeded"?{title:J("processEventWaiting"),detail:"",kind:"tool"}:null}function Of(e,r=[]){let t=e?.params&&typeof e.params=="object"?e.params:{},n=String(t.file_path||t.path||"").trim();if(n)return n;let i=e?.result&&typeof e.result=="object"?e.result:{},a=String(i.file_path||i.path||"").trim();if(a)return a;let o=String(e?.tool_id||e?.toolId||"").trim();if(!o)return"";let l=[...r].reverse().find(s=>s.eventType==="Started"&&String(s.toolId||s.tool_id||"")===o),c=l?.params&&typeof l.params=="object"?l.params:{};return String(c.file_path||c.path||"").trim()}function tc(e){if(e.event_type||e.eventType||e.tool_name||e.toolName)return e;let t=["EarlyDetected","ParamsPartial","Queued","Waiting","Started","Progress","Streaming","StreamChunk","ConfirmationNeeded","Confirmed","Rejected","Completed","Failed","Cancelled"].find(i=>e&&Object.prototype.hasOwnProperty.call(e,i));return t?{...e[t]||{},event_type:t}:e||{}}function Gt(e,r=180){let t=String(e||"").replace(/\s+/g," ").trim();return t?t.length>r?`${t.slice(0,r-1)}...`:t:""}function ub(e,r){if(!e||!r)return;Tn.some(n=>n.sessionId===e&&n.turnId===r)||Tn.push({sessionId:e,turnId:r})}function db(e,r){Tn=Tn.filter(t=>!(t.sessionId===e&&t.turnId===r))}function Aa(e){return e!==Xn}async function rc(){let e=[...Tn];Tn=[],!(!e.length||!st().backend?.cancel)&&await Promise.all(e.map(async r=>{try{await st().backend.cancel(r.sessionId,r.turnId)}catch(t){st().log?.warn?.("PPT Live backend cancel failed",{sessionId:r.sessionId,turnId:r.turnId,error:String(t)})}}))}async function fb(e=!1,r={}){let t=Tn.length>0;Xn+=1,await rc(),X.generation.active=!1,X.generation.steps=X.generation.steps.map(n=>n.status==="running"?{...n,status:"error"}:n),!r.silent&&t&&(Zt(e?J("generationTimedOut"):J("generationStopped")),Pr(e?J("generationTimedOut"):J("generationStopped"))),wi(!1),Fr(X),Wr(X),r.silent||await Pt(!0)}async function hb(e=!1){await fb(e)}function hf(e,r={}){if(gb(e,r)){e.researchReport&&pf(e.researchReport),e.design?.palette&&typeof e.design.palette=="object"&&(X.deckPalette=e.design.palette);return}let t=va({payload:e,state:X,instruction:r.instruction||"",slides:e?.slides||[]}),n=mb(e);if(n.length)X.title=t,X.slides=n.map((i,a)=>Ur(i,a,{...X,slides:n})),X.outline=X.slides.map(i=>i.title),X.activeSlideId=X.slides[0]?.id||"",X.selectedElementId="";else{if(!Array.isArray(e?.slides)||e.slides.length===0)throw new Error("PPT Live deck payload has no slides");X.title=t,X.slides=e.slides.map((i,a)=>Ur({...i,html:i.html||i.sourceHtml||i.slideHtml||""},a,{...X,slides:e.slides})),X.outline=X.slides.map(i=>i.title),X.activeSlideId=X.slides[0]?.id||"",X.selectedElementId=X.slides[0]?.elements[0]?.id||""}Array.isArray(e.outline)&&e.outline.length&&(X.outline=e.outline.map(Jl).filter(Boolean)),e.researchReport&&pf(e.researchReport),e.design?.palette&&typeof e.design.palette=="object"&&(X.deckPalette=e.design.palette)}function pf(e){X.sources={...X.sources,facts:e.verifiedFacts||X.sources?.facts||[],warnings:e.warnings||X.sources?.warnings||[],summary:e.summary||X.sources?.summary||"",fetchedAt:Date.now()}}function pb(e){return Array.isArray(e?.deckPatch?.changes)?e.deckPatch.changes:Array.isArray(e?.patch?.changes)?e.patch.changes:Array.isArray(e?.changes)?e.changes:Array.isArray(e?.patches)?e.patches:[]}function Af(e,r,t=0){let n=String(e?.slideId||e?.id||e?.targetSlideId||e?.targetId||"").trim();if(n){let o=r.findIndex(l=>l.id===n);if(o>=0)return o}let i=Number(e?.slideNumber??e?.pageNumber);if(Number.isFinite(i)&&i>0)return mt(Math.round(i)-1,0,Math.max(0,r.length-1));let a=Number(e?.slideIndex??e?.index??e?.targetSlideIndex);return Number.isFinite(a)?a>=r.length&&a-1>=0&&a-1a.id===t);if(i>=0)return i+1}let n=String(e?.beforeSlideId||"").trim();if(n){let i=r.findIndex(a=>a.id===n);if(i>=0)return i}return e?.afterSlideNumber?mt(Number(e.afterSlideNumber),0,r.length):e?.beforeSlideNumber?mt(Number(e.beforeSlideNumber)-1,0,r.length):e?.slideNumber?mt(Number(e.slideNumber)-1,0,r.length):e?.slideIndex!==void 0?mt(Number(e.slideIndex),0,r.length):Math.min(r.length,Jt(X)+1)}function gf(e,r,t,n){let i=e?.slide||e?.replacement||e?.newSlide||e?.payload||e;if(!i||typeof i!="object")return null;let a={...r||{},...i,id:i.id||i.slideId||r?.id||ir("html-slide"),html:i.html||i.sourceHtml||i.slideHtml||r?.html||""};return Ur(a,t,{...X,slides:n})}function gb(e,r={}){let t=pb(e);if(!t.length)return!1;let n=sn(X.slides||[]),i=[],a=0;if(t.forEach(l=>{let c=String(l?.op||l?.operation||l?.type||"replace_slide").toLowerCase();if(c==="delete_slide"||c==="delete"||c==="remove_slide"||c==="remove"){if(!n.length)return;let p=Af(l,n,Jt(X)),[f]=n.splice(p,1);f?.id&&i.push(f.id),a+=1;return}if(c==="insert_slide"||c==="insert"||c==="add_slide"||c==="add"){let p=Ab(l,n),f=gf(l,null,p,n);if(!f)return;n.splice(p,0,f),i.push(f.id),a+=1;return}let s=Af(l,n,Jt(X)),u=n[s],d=gf(l,u,s,n);d&&(n[s]=d,i.push(d.id),a+=1)}),!a)throw new Error("PPT Live deck patch had no applicable changes");X.title=va({payload:e,state:X,instruction:r.instruction||"",slides:n}),X.slides=n.map((l,c)=>Ur(l,c,{...X,slides:n})),X.outline=Array.isArray(e.outline)&&e.outline.length?e.outline.map(String):X.slides.map(l=>l.title);let o=i.find(l=>X.slides.some(c=>c.id===l));return X.activeSlideId=o||X.slides[Math.min(Jt(X),X.slides.length-1)]?.id||X.slides[0]?.id||"",X.selectedElementId=qt(X)?.elements?.[0]?.id||"",!0}function mb(e){let r=[];return Array.isArray(e?.htmlSlides)&&r.push(...e.htmlSlides),Array.isArray(e?.slides)&&r.push(...e.slides.filter(t=>t?.html||t?.sourceHtml||t?.slideHtml)),r.map((t,n)=>{let i=String(t?.html||t?.sourceHtml||t?.slideHtml||"").trim();return i?{id:t.id||t.slideId||ir("html-slide"),title:String(t.title||t.label||`${J("newSlideTitle")} ${n+1}`),subtitle:String(t.subtitle||""),kicker:String(t.kicker||""),claim:String(t.claim||t.title||""),proofObject:String(t.proofObject||""),supportNote:String(t.supportNote||""),sourceNote:String(t.sourceNote||""),notes:String(t.notes||""),layout:"html",theme:t.theme||{},html:i,elements:[]}:null}).filter(Boolean)}function mf(...e){for(let r of e){let t=String(r||"").trim();if(t)try{return xi(t),t}catch{}}return String(e.find(r=>String(r||"").trim())||"").trim()}async function vb(e,r,t,n=null,i={}){let a=st(),o=i.expectJson!==!1;if(!r||!t||!a.backend?.turnText)return e;let l=!1,c=Promise.resolve(e).finally(()=>{l=!0}),s=new Promise((u,d)=>{let p=Date.now(),f=300*1e3,h=10*1e3,A=3600*1e3,y=()=>Number(n?.lastEventAt||p);(async()=>{for(;!l&&Date.now()-pf)break;if(bsetTimeout(x,Math.min(1e3,h-b)));continue}try{let x=await a.backend.turnText(r,t),P=String(x?.text||"").trim();if(P){if(!o){u({answer:P,thinking:""});return}try{xi(P),u({answer:P,thinking:""});return}catch{}}}catch{}await new Promise(x=>setTimeout(x,2e3))}l||d(new Error("PPT Live backend did not publish a final deck JSON"))})()});return Promise.race([c,s])}async function yb(e,r,t,n=""){let i=Date.now(),a=25e3,o=String(t||"").trim(),l=String(n||"").trim(),s=mf(o,l,`${o} -${l}`.trim());if(s)try{return xi(s),s}catch{}let u=st();if(!e||!r||!u.backend?.turnText){if(!s)throw new Error("PPT Live backend produced no text");return s}let d=0;for(;Date.now()-i{setTimeout(()=>A(new Error("turnText timeout")),4e3)})]),f=String(p?.text||"").trim();if(s=mf(f,s,l,o),s)return xi(s),s}catch{}await new Promise(p=>setTimeout(p,500))}if(!s)throw new Error("PPT Live backend produced no text");return s}function xi(e){let r=String(e||"").trim();if(!r)throw new Error("PPT Live backend produced no text");try{return JSON.parse(r)}catch{let t=r.match(/```(?:json)?\s*([\s\S]*?)```/i);if(t)return JSON.parse(t[1]);let n=r.indexOf("{"),i=r.lastIndexOf("}");if(n>=0&&i>n)return JSON.parse(r.slice(n,i+1));throw new Error("PPT Live backend returned invalid JSON")}}function bb(e){let r=String(e?.message||e||"");return/ppt_live:\/\/round-budget-exhausted|exhausted its \d+-round tool budget|tool budget before producing deck JSON/i.test(r)}function wb(e){return String(e||"").includes("timed out")}function Jo(e){let r=String(e||"");return r.includes("dialog-turn-cancelled")||r.includes("Generation stopped")}async function xb(e,r={}){let t=nn();r.readBrief!==!1&&rn({includeTopic:!t});let n=[e,Tf()].filter(Boolean).join(": ");if(!n){Zt(J("promptRequired"));return}try{await ec("revise_slide",n,{includeTopic:!t})}catch(i){if(Jo(i))return;st().log?.warn?.("PPT Live backend slide revision failed",{action:e,error:String(i)}),Zl(i),await Pt(!0)}}async function Sb(){if(rn({includeTopic:!nn()}),(X.slides||[]).some(e=>String(e?.html||"").trim())){let e=`Restyle the existing deck without changing its facts or narrative. Apply these exact settings to every slide HTML: ${JSON.stringify(Yl())}. Preserve each page's informationIntent and visualStrategy while making the deck visually coherent.`;try{await ec("revise_deck",e,{includeTopic:!1});return}catch(r){if(Jo(r))return;st().log?.warn?.("PPT Live Agent restyle failed",{error:String(r)}),Zl(r),await Pt(!0);return}}X.slides=X.slides.map((e,r)=>Ur({...e,theme:void 0},r,X)),Zt(J("deckRestyled")),Yt(),await Pt(!0)}function jl(){rn({includeTopic:!nn()});let e=new Map(X.slides.map(r=>[r.title,r]));X.slides=X.outline.map((r,t)=>{let n=e.get(r);return n?Ur(n,t,X):cs(r,t,X.outline.length,X)}),X.activeSlideId=X.slides[0]?.id||"",X.selectedElementId=X.slides[0]?.elements[0]?.id||"",Yt(),Pt(!0)}async function kb(){Xn+=1,await Xl("before-new"),await rc(),X.generation.active=!1,wi(!1),X=Cb(),Yo(),Yt(),Ei(X),Zt(J("blankDeckReady")),await Pt(!0)}function Cb(){return ln(Bn())}function Pb(e){if(!os.includes(e))return;let r=qt(X);if(!r)return;let t=us({...Pa(e),x:10+r.elements.length%5*4,y:14+r.elements.length%5*4});r.elements.push(t),X.selectedElementId=t.id,Yt(),Pt(!0)}function Fb(){let e=qt(X);!e||!X.selectedElementId||(e.elements=e.elements.filter(r=>r.id!==X.selectedElementId),X.selectedElementId=e.elements[0]?.id||"",Yt(),Pt(!0))}function vf(e){let r=e.elements.find(t=>t.type==="text"&&t.text);r&&(e.title=r.text.slice(0,90),X.outline[Jt(X)]=e.title,Jt(X)===0&&(X.title=e.title))}function yf(){X.presentIndex=Jt(X),_f(),ke("previewDialog")?.showModal()}function _f(){let e=X.slides[X.presentIndex]||X.slides[0];ke("presentSlide")&&(ke("presentSlide").innerHTML=e?un(e):"",Bi(ke("presentSlide"))),ke("presentCounter")&&(ke("presentCounter").textContent=`${Math.max(1,X.presentIndex+1)} / ${Math.max(1,X.slides.length)}`),Ln()}function Go(e){X.presentIndex=mt(X.presentIndex+e,0,X.slides.length-1),_f()}function Tb(){if(!(X.slides||[]).length)return yi(J("exportDeckEmpty")),null;rn({includeTopic:!nn()});let e=Ml(X);return yi(J("exportSavedTo",{path:e})),Wf(),e}function Db(){return rn({includeTopic:!nn()}),(X.slides||[]).length?!0:(yi(J("exportDeckEmpty")),!1)}function Uf(e){return{html:{working:J("exportHtmlWorking"),done:J("exportHtmlDone"),failed:J("exportHtmlFailed")},pptx:{working:J("exportPptxWorking"),done:J("exportPptxDone"),failed:J("exportPptxFailed")},pdf:{working:J("exportPdfWorking"),done:J("exportPdfDone"),failed:J("exportPdfFailed")},png:{working:J("exportPngWorking"),done:J("exportPngDone"),failed:J("exportPngFailed")}}[e]||null}function ql(e,r,t){let n=Uf(t==="pptx"?"pptx":t);if(!n||r<=0)return;let i=Math.min(r,Math.max(1,e+1));Vo("loading",`${n.working} (${i}/${r})`)}async function bf(e,r){let t=st();if(!t?.deck?.renderPage)throw new Error("Host WebView export is unavailable in this runtime.");let n=[],i=e.length;for(let[a,o]of e.entries()){ql(a,i,r);let l=await t.deck.renderPage({html:Ss(o),format:r,width:sr.width,height:sr.height});if(!l)throw new Error(`Host WebView returned empty ${r} for slide ${a+1}`);n.push({index:a,base64:String(l).replace(/^data:.*;base64,/,"")})}return n}function Wf(){let e=st()?.system?.revealInFolder;typeof e=="function"&&Promise.resolve().then(()=>e()).catch(r=>{st().log?.warn?.("PPT Live reveal download folder failed",{error:String(r)})})}async function Eb(e){if(e==="html"){rn({includeTopic:!nn()});let o=Ml(X);if(!o)throw new Error(J("exportDeckEmpty"));return{filename:o}}let r=X.slides||[];if(!r.length)throw new Error(J("exportDeckEmpty"));let t,n=sn(X);if(e==="pptx")if(r.some(o=>o?.html)){let o=st(),l=typeof o?.deck?.renderPage=="function"?async(s,u)=>{ql(u,r.length,"pptx");let d=await o.deck.renderPage({html:s,format:"png",width:sr.width,height:sr.height});return String(d||"").replace(/^data:.*;base64,/,"")}:null,c=await Xc(r,{renderRaster:l,onRasterProgress:s=>ql(s,r.length,"pptx")});t=await Nl(n,c)}else t=await Ll(n);else if(e==="pdf"){let o=await bf(r,"pdf");t=await Il(n,o.map(l=>l.base64))}else if(e==="png"){let o=await bf(r,"png");t=await zl(n,o)}else throw new Error(J("exportFormatUnavailable"));let i=typeof t?.base64=="string"?t.base64.replace(/^data:.*;base64,/,""):"";if(!i)throw new Error(`export${e} returned no data`);let a=t.filename||`${Ol(X.title||"ppt-live")}`;return nf(i,a,t.mimeType||"application/octet-stream"),{filename:a}}var qo=!1,Qt={updateOutline(e,r){X.outline[e]=r,X.slides[e]&&(X.slides[e].title=r),Yt(),Pt(!0)},moveOutline(e,r){let t=e+r;t<0||t>=X.outline.length||([X.outline[e],X.outline[t]]=[X.outline[t],X.outline[e]],jl())},removeOutline(e){X.outline.length<=1||(X.outline.splice(e,1),jl())},selectSlide(e){X.activeSlideId=e,X.selectedElementId=qt(X)?.elements[0]?.id||"",Yt(),Pt(!0)},selectElement(e){X.selectedElementId=e,cn(X,Qt),Ua(X,Qt),Pt(!0)},updateElementTextDirect(e,r){let t=qt(X),n=t?.elements.find(i=>i.id===e);n&&(n.text=String(r||"").trim(),vf(t),Nn(X,Qt),renderOutline(X,Qt),Pt(!1))},updateElementListItemDirect(e,r,t){let i=qt(X)?.elements.find(a=>a.id===e);!i||!Array.isArray(i.items)||(i.items[r]=String(t||"").trim(),i.items=i.items.filter(Boolean),cn(X,Qt),Nn(X,Qt),Pt(!1))},updateSlideHtmlDirect(e,r){let t=X.slides.find(i=>i.id===e);if(!t)return;let n=String(r||"");t.html!==n&&(t.html=n,Nn(X,Qt),Pt(!1))},updateSlideNotes(e){let r=qt(X);r&&(r.notes=e),Pt(!0)},updateSlideMethodology(){let e=qt(X);e&&(e.kicker=ke("slideKickerInput")?.value||e.kicker,e.claim=ke("slideClaimInput")?.value||e.claim,e.proofObject=ke("slideProofInput")?.value||e.proofObject,e.supportNote=ke("slideSupportInput")?.value||e.supportNote,e.sourceNote=ke("slideSourceInput")?.value||e.sourceNote,cn(X,Qt),Nn(X,Qt),Pt(!0))},updateElementFromInspector(){let e=qt(X),r=Rn(X);!e||!r||(r.text=ke("elementTextInput")?.value||"",r.items=(ke("elementItemsInput")?.value||"").split(` -`).map(t=>t.trim()).filter(Boolean),r.data=Rb(ke("elementDataInput")?.value||""),r.x=mt(Number(ke("elementXInput")?.value??r.x),0,100),r.y=mt(Number(ke("elementYInput")?.value??r.y),0,100),r.w=mt(Number(ke("elementWInput")?.value??r.w),3,100),r.h=mt(Number(ke("elementHInput")?.value??r.h),3,100),r.style.fontSize=mt(Number(ke("elementFontInput")?.value??r.style.fontSize),8,88),r.style.fontWeight=mt(Number(ke("elementWeightInput")?.value??r.style.fontWeight),100,900),r.style.color=ke("elementColorInput")?.value||r.style.color,r.style.background=ke("elementBgInput")?.value||r.style.background,Qt.updateSlideMethodology(),e.notes=ke("slideNotesInput")?.value||e.notes,vf(e),cn(X,Qt),Pt(!0))},beginDrag(e,r){if(e.button!==0)return;let n=qt(X)?.elements.find(a=>a.id===r);if(!n)return;X.selectedElementId=n.id;let i=ke("slideCanvas").getBoundingClientRect();Cr={resizing:e.target.classList.contains("resize-handle"),startX:e.clientX,startY:e.clientY,rect:i,start:{x:n.x,y:n.y,w:n.w,h:n.h}},e.currentTarget.setPointerCapture?.(e.pointerId),window.addEventListener("pointermove",Gf),window.addEventListener("pointerup",Bb,{once:!0})}};function Gf(e){if(!Cr)return;let r=Rn(X);if(!r)return;let t=(e.clientX-Cr.startX)/Cr.rect.width*100,n=(e.clientY-Cr.startY)/Cr.rect.height*100;Cr.resizing?(r.w=mt(Cr.start.w+t,3,100-r.x),r.h=mt(Cr.start.h+n,3,100-r.y)):(r.x=mt(Cr.start.x+t,0,100-r.w),r.y=mt(Cr.start.y+n,0,100-r.h)),cn(X,Qt),Ua(X,Qt)}function Bb(){Cr=null,window.removeEventListener("pointermove",Gf),Pt(!0)}function Rb(e){return e.split(` -`).map((r,t)=>{let[n,i]=r.split(":");return{label:(n||`Item ${t+1}`).trim(),value:Number(i||0)}}).filter(r=>r.label)}function Lb(){let e=document.querySelector(".studio-shell");if(!e)return;let r=document.documentElement,t=Number(Wl("pptLiveFilmstripWidth")||0),n=Number(Wl("pptLiveAgentWidth")||0);t>=128&&t<=360&&r.style.setProperty("--filmstrip-width",`${t}px`),n>=240&&n<=460&&r.style.setProperty("--agent-width",`${n}px`);let i=(a,o)=>{let l=e.getBoundingClientRect(),c=128,s=Math.min(360,l.width*.34),u=240,d=Math.min(460,l.width*.42),p=360,f=A=>{if(a==="filmstrip"){let y=Math.max(c,Math.min(s,A.clientX-l.left));if(l.width-y-parseFloat(getComputedStyle(r).getPropertyValue("--agent-width"))-12{e.classList.remove("is-resizing"),document.querySelectorAll(".panel-resizer.is-dragging").forEach(A=>A.classList.remove("is-dragging")),window.removeEventListener("pointermove",f),window.removeEventListener("pointerup",h),window.removeEventListener("pointercancel",h),Gl("pptLiveFilmstripWidth",String(parseFloat(getComputedStyle(r).getPropertyValue("--filmstrip-width"))||"")),Gl("pptLiveAgentWidth",String(parseFloat(getComputedStyle(r).getPropertyValue("--agent-width"))||"")),Ln()};e.classList.add("is-resizing"),window.addEventListener("pointermove",f),window.addEventListener("pointerup",h,{once:!0}),window.addEventListener("pointercancel",h,{once:!0}),f({clientX:o})};ke("filmstripResizer")?.addEventListener("pointerdown",a=>{a.button===0&&(a.preventDefault(),a.currentTarget.classList.add("is-dragging"),i("filmstrip",a.clientX))}),ke("agentResizer")?.addEventListener("pointerdown",a=>{a.button===0&&(a.preventDefault(),a.currentTarget.classList.add("is-dragging"),i("agent",a.clientX))})}function Nb(){let e=null,r=()=>{e&&clearTimeout(e),e=setTimeout(()=>{Ln()},60)};window.addEventListener("resize",r),ke("toggleHistory")?.addEventListener("click",()=>{let t=ke("historyDrawer");t&&(t.hidden=!t.hidden)}),ke("closeHistory")?.addEventListener("click",()=>{let t=ke("historyDrawer");t&&(t.hidden=!0)}),document.querySelectorAll("[data-sidebar-tab]").forEach(t=>{t.addEventListener("click",()=>{let n=t.dataset.sidebarTab;document.querySelectorAll("[data-sidebar-tab]").forEach(i=>{i.classList.toggle("is-active",i.dataset.sidebarTab===n)}),document.querySelectorAll("[data-sidebar-panel]").forEach(i=>{i.classList.toggle("is-active",i.dataset.sidebarPanel===n)})})}),ke("topicInput")?.addEventListener("input",()=>{if(nn()){X.promptDraft=ke("topicInput")?.value||"",Pt(!0);return}rn({includeTopic:!0}),Pt(!0)}),ke("newDeck")?.addEventListener("click",()=>{kb()}),ke("cancelGeneration")?.addEventListener("click",()=>{hb(!1)}),ke("sendPrompt")?.addEventListener("click",()=>{Ql()}),ke("generateOutline")?.addEventListener("click",()=>{Ey()}),ke("generateDeck")?.addEventListener("click",()=>{By()}),ke("addOutlineItem")?.addEventListener("click",()=>{X.outline.push(J("newSlideTitle")),Yt(),Pt(!0)}),ke("syncSlidesFromOutline")?.addEventListener("click",jl),ke("deleteElement")?.addEventListener("click",Fb),ke("previewDeck")?.addEventListener("click",yf),ke("closePreview")?.addEventListener("click",()=>ke("previewDialog")?.close()),ke("prevPresent")?.addEventListener("click",()=>Go(-1)),ke("nextPresent")?.addEventListener("click",()=>Go(1)),ke("exportHtml")?.addEventListener("click",Tb),ke("restyleDeck")?.addEventListener("click",Sb),document.querySelectorAll("[data-add-element]").forEach(t=>{t.addEventListener("click",()=>Pb(t.dataset.addElement))}),document.querySelectorAll(".ai-action").forEach(t=>{t.addEventListener("click",()=>{xb(t.dataset.action)})}),document.querySelectorAll(".segment").forEach(t=>{t.addEventListener("click",()=>{X.mode=t.dataset.mode,X.mode==="present"&&yf(),Yt(),Pt(!0)})}),document.addEventListener("keydown",t=>{ke("previewDialog")?.open&&((t.key==="ArrowRight"||t.key==="PageDown")&&Go(1),(t.key==="ArrowLeft"||t.key==="PageUp")&&Go(-1),t.key==="Escape"&&ke("previewDialog")?.close())});try{Lb()}catch(t){st().log?.warn?.("Failed to bind PPT Live panel resizers",{error:String(t)})}if(typeof ResizeObserver<"u"){let t=[document.querySelector(".ppt-live"),document.querySelector(".studio-shell"),document.querySelector(".stage-shell"),document.querySelector(".canvas-area")].filter(Boolean),n=new ResizeObserver(r);t.forEach(i=>n.observe(i))}Mb(),Ob(),_b(),qb(),Xb()}var en=1,vi=.25,Ib=.25,zb=2;function pa(e){en=mt(e,Ib,zb);let r=document.querySelector(".canvas-stage");r&&(r.style.transform=en===1?"":`scale(${en})`);let t=ke("zoomValue"),n=ke("statusZoomValue"),i=Math.round(en*100)+"%";t&&(t.textContent=i),n&&(n.textContent=i)}function Mb(){ke("zoomIn")?.addEventListener("click",()=>pa(en+vi)),ke("zoomOut")?.addEventListener("click",()=>pa(en-vi)),ke("statusZoomIn")?.addEventListener("click",()=>pa(en+vi)),ke("statusZoomOut")?.addEventListener("click",()=>pa(en-vi)),document.querySelector(".canvas-area")?.addEventListener("wheel",e=>{if(e.ctrlKey||e.metaKey){e.preventDefault();let r=e.deltaY>0?-vi:vi;pa(en+r)}},{passive:!1})}function Ob(){ke("floatingToolbar")&&document.querySelectorAll(".floating-toolbar-btn").forEach(r=>{r.addEventListener("click",()=>{let t=r.dataset.tool;if(!t)return;let n=qt(X),i=Rn(X);if(!(!n||!i)){switch(t){case"bold":i.fontWeight=i.fontWeight==="700"?"400":"700";break;case"italic":i.fontStyle=i.fontStyle==="italic"?"normal":"italic";break;case"underline":i.textDecoration=i.textDecoration==="underline"?"none":"underline";break;case"align-left":i.align="left";break;case"align-center":i.align="center";break;case"align-right":i.align="right";break;case"duplicate":n.elements.push({...sn(i),id:ir("el"),x:i.x+5,y:i.y+5});break;case"delete":n.elements=n.elements.filter(a=>a.id!==i.id),X.selectedElementId=null;break}cn(X,Qt),Nn(X,Qt),Pt(!0)}})})}function _b(){document.querySelectorAll(".property-section__header").forEach(n=>{let i=n.closest(".property-section");if(!i)return;let a=()=>{i.classList.toggle("is-collapsed");let o=!i.classList.contains("is-collapsed");n.setAttribute("aria-expanded",String(o))};n.addEventListener("click",a),n.addEventListener("keydown",o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),a())})});let e=ke("densitySlider"),r=e?.querySelector(".density-slider__track");e&&r&&(r.addEventListener("pointerdown",n=>{n.preventDefault(),Pn(df(n.clientX,r)),r.setPointerCapture(n.pointerId)}),r.addEventListener("pointermove",n=>{r.hasPointerCapture(n.pointerId)&&Pn(df(n.clientX,r))}),r.addEventListener("pointerup",n=>{r.hasPointerCapture(n.pointerId)&&r.releasePointerCapture(n.pointerId)}),r.addEventListener("pointercancel",n=>{r.hasPointerCapture(n.pointerId)&&(r.releasePointerCapture(n.pointerId),Oa(X.style?.density))}),e.querySelectorAll("[data-density-index]").forEach(n=>{n.addEventListener("click",i=>{i.stopPropagation(),Pn(n.dataset.densityIndex)})}),e.addEventListener("keydown",n=>{let i=ke("densitySlider"),a=Number(i?.dataset.index??1);n.key==="ArrowLeft"||n.key==="ArrowDown"?(n.preventDefault(),Pn(a-1)):n.key==="ArrowRight"||n.key==="ArrowUp"?(n.preventDefault(),Pn(a+1)):n.key==="Home"?(n.preventDefault(),Pn(0)):n.key==="End"&&(n.preventDefault(),Pn(2))})),document.querySelectorAll("[data-font-family]").forEach(n=>{n.addEventListener("click",()=>{za(n.dataset.fontFamily==="serif"?"serif":"sans")})}),document.querySelectorAll("[data-color-mode]").forEach(n=>{n.addEventListener("click",()=>{Ma(n.dataset.colorMode==="dark"?"dark":"light")})});let t=ke("stylePresetSelect");t&&(Xf(),wc(t),Ei(X),t.addEventListener("change",()=>{let n=t.value;if(!n)return;let i=ts(n);i&&(Ma(i.colorMode||"light"),za(i.fontFamily||"sans"),Pn(ka(i.density||"standard"))),Ci(t)}))}var tn=0;function jf(){return ke("formatGrid")?.querySelector(".format-card.is-selected")?.dataset.format||"pptx"}function Ub(){let e=ke("exportOverlay");e&&(qf(),tn=Math.max(0,Jt(X)),e.classList.add("is-visible"),e.setAttribute("aria-hidden","false"),Wb(),Qo(),requestAnimationFrame(()=>bi()))}function bi(){Mc(ke("exportPreviewFrame"))}function qf(){let e=ke("exportModalFeedback"),r=ke("exportModalFeedbackText"),t=ke("exportModalSpinner");ke("exportOverlay")?.classList.remove("is-exporting"),e&&(e.hidden=!0,e.classList.remove("is-success","is-error")),r&&(r.textContent=""),t&&(t.hidden=!1),Vl(!1)}function Vl(e){["exportCancel","exportConfirm","closeExport"].forEach(r=>{let t=ke(r);t&&(t.disabled=e)}),ke("formatGrid")?.querySelectorAll(".format-card").forEach(r=>{r.tabIndex=e?-1:0,r.style.pointerEvents=e?"none":""}),["exportPreviewPrev","exportPreviewNext"].forEach(r=>{let t=ke(r);t&&(t.disabled=e)})}function Vo(e,r){let t=ke("exportModalFeedback"),n=ke("exportModalFeedbackText"),i=ke("exportModalSpinner");!t||!n||(t.hidden=!1,t.classList.toggle("is-success",e==="success"),t.classList.toggle("is-error",e==="error"),i&&(i.hidden=e!=="loading"),n.textContent=r)}function Xo(){let e=ke("exportOverlay");e&&(e.classList.remove("is-visible"),e.setAttribute("aria-hidden","true"),qf())}function Wb(){let e=ke("formatGrid");if(!e)return;let r=[{id:"pptx",name:"PPTX",desc:"Editable PowerPoint"},{id:"pdf",name:"PDF",desc:"Universal format"},{id:"html",name:"HTML",desc:"Interactive web deck"},{id:"png",name:"PNG",desc:"Image sequence"}];e.innerHTML=r.map((t,n)=>` -
          { + if (agentEventsHooked) return; + agentEventsHooked = true; + app.agent.onEvent((event) => { + if (!event || typeof event !== "object") return; + emitEvent(event); + }); + }; + app.backend = { + // The agent delivers through project files written using the ppt-design + // skill's native workflow; 'files' tells ui.js to read them back. + protocol: "files", + async call(action, input, options = {}) { + if (action !== "ppt.generate") { + throw new Error(`Unsupported PPT Live action: ${action}`); + } + ensureAgentEvents(); + const prompt = buildAgentPrompt(input); + const result = await app.agent.run(prompt, { + runId: options.idempotencyKey, + sessionName: "PPT Live", + // Reuse the session when the caller carries one so follow-up edits + // resume with the loaded skill/preset/research context. + sessionId: options.sessionId, + // The agent works inside a dedicated deck project directory under + // the app's own appdata storage (never the user's workspace). + appDataWorkspace: options.appDataWorkspace + }); + if (!result?.sessionId || !result?.turnId) { + throw new Error("PPT Live agent backend did not return sessionId/turnId"); + } + return { + sessionId: result.sessionId, + turnId: result.turnId, + actionRunId: result.actionRunId || result.turnId + }; + }, + onEvent(listener) { + EVENT_LISTENERS.add(listener); + }, + offEvent(listener) { + EVENT_LISTENERS.delete(listener); + }, + async cancel(sessionId, turnId) { + await app.agent.cancel(sessionId, turnId); + }, + async turnText(sessionId, turnId) { + const result = await app.agent.turnText(sessionId, turnId); + return { text: result?.text || "" }; + }, + async cancelStaleRuns() { + await app.agent.cancelStaleRuns(); + } + }; +} +function installBitFunBackendAdapter(app = window.app) { + if (!app || app.backend?.call) return; + if (app.agent?.run) { + installAgentBackend(app); + } +} + +// ui.js +var state = createInitialState(); +var busy = false; +var dragState = null; +var backendRuns = []; +var deckEpoch = 0; +var promptSubmitGuard = false; +var backendRunInFlight = false; +var historyItems = []; +var lastHistoryWriteAt = 0; +var $ = (id) => document.getElementById(id); +var runtime = () => window.app || {}; +installBitFunBackendAdapter(runtime()); +var STORAGE_TIMEOUT_MS = 2500; +var memoryStorage = /* @__PURE__ */ new Map(); +function safeLocalStorageGet(key) { + try { + return localStorage.getItem(key); + } catch { + return memoryStorage.has(key) ? memoryStorage.get(key) : null; + } +} +function safeLocalStorageSet(key, value2) { + try { + localStorage.setItem(key, value2); + } catch { + memoryStorage.set(key, value2); + } +} +var localStorageBackend = { + get: async (key) => JSON.parse(safeLocalStorageGet(key) || "null"), + set: async (key, value2) => safeLocalStorageSet(key, JSON.stringify(value2)) +}; +function storage() { + const host = runtime(); + if (host.storage) return host.storage; + return localStorageBackend; +} +async function storageGet(key) { + const backend = storage(); + if (backend === localStorageBackend || !runtime().storage) { + return backend.get(key); + } + try { + return await Promise.race([ + backend.get(key), + new Promise((_, reject) => setTimeout(() => reject(new Error("storage-timeout")), STORAGE_TIMEOUT_MS)) + ]); + } catch (error2) { + runtime().log?.warn?.("Host storage read timed out, using local fallback", { key, error: String(error2) }); + return localStorageBackend.get(key); + } +} +async function storageSet(key, value2) { + const backend = storage(); + if (backend === localStorageBackend || !runtime().storage) { + await backend.set(key, value2); + return; + } + try { + await Promise.race([ + backend.set(key, value2), + new Promise((_, reject) => setTimeout(() => reject(new Error("storage-timeout")), STORAGE_TIMEOUT_MS)) + ]); + } catch (error2) { + runtime().log?.warn?.("Host storage write timed out, using local fallback", { key, error: String(error2) }); + await localStorageBackend.set(key, value2); + } +} +async function loadState() { + try { + historyItems = await loadHistory(); + const saved = await storageGet(STORAGE_KEY); + if (saved) { + state = ensureState(saved); + if (isRecoverableWorkingOnlyState(state)) { + state = createInitialState(); + await storageSet(STORAGE_KEY, { ...state, updatedAt: Date.now() }); + } + return; + } + state = createInitialState(); + await persist(true); + } catch (error2) { + runtime().log?.warn?.("Failed to load PPT Live state", { error: String(error2) }); + state = createInitialState(); + } +} +async function persist(silent = false) { + state = ensureState(state); + await storageSet(STORAGE_KEY, { ...state, updatedAt: Date.now() }); + await saveHistorySnapshot(silent ? "autosave" : "manual"); + if (!silent) setStatus(translate("saved")); +} +async function loadHistory() { + try { + const value2 = await storageGet(HISTORY_KEY); + return Array.isArray(value2) ? value2.map(normalizeHistoryItem).filter(Boolean).slice(0, 40) : []; + } catch (error2) { + runtime().log?.warn?.("Failed to load PPT Live history", { error: String(error2) }); + return []; + } +} +async function saveHistorySnapshot(reason = "autosave") { + if (!state?.slides?.length) return; + if (isRecoverableWorkingOnlyState(state)) return; + const now = Date.now(); + if (reason === "autosave" && lastHistoryWriteAt && now - lastHistoryWriteAt < 15e3) return; + lastHistoryWriteAt = now; + const item = normalizeHistoryItem({ + id: state.sessionId || uid("deck"), + title: state.title || translate("blankDeckTitle"), + updatedAt: now, + slideCount: state.slides.length, + reason, + prompt: state.promptDraft || state.brief?.topic || "", + state: clone({ ...state, generation: { ...state.generation, active: false } }) + }); + if (!item) return; + historyItems = [item, ...historyItems.filter((entry) => entry.id !== item.id)].slice(0, 40); + await storageSet(HISTORY_KEY, historyItems); + renderHistory(); +} +function isRecoverableWorkingOnlyState(value2) { + const slides = Array.isArray(value2?.slides) ? value2.slides : []; + return slides.length === 1 && !slides[0]?.html && String(slides[0]?.id || "").startsWith("agent-working-slide") && String(value2?.title || "") === translate("agentWorkingTitle") && !value2?.generation?.active; +} +function normalizeHistoryItem(item) { + if (!item?.id || !item?.state) return null; + return { + id: String(item.id), + title: String(item.title || item.state?.title || translate("blankDeckTitle")), + updatedAt: Number(item.updatedAt || Date.now()), + slideCount: Number(item.slideCount || item.state?.slides?.length || 0), + reason: String(item.reason || "autosave"), + prompt: String(item.prompt || item.state?.brief?.topic || ""), + state: item.state + }; +} +function renderHistory() { + const list = $("historyList"); + if (!list) return; + list.innerHTML = ""; + if (!historyItems.length) { + const empty = document.createElement("div"); + empty.className = "history-empty"; + empty.textContent = translate("historyEmpty"); + list.append(empty); + return; + } + historyItems.slice(0, 12).forEach((item) => { + const button = document.createElement("button"); + button.type = "button"; + button.className = `history-card${item.id === state.sessionId ? " is-active" : ""}`; + button.innerHTML = ` + ${escapeHtmlInline(item.title)} + ${translate("historyMeta", { count: item.slideCount, time: formatHistoryTime(item.updatedAt) })} + ${item.prompt ? `${escapeHtmlInline(item.prompt)}` : ""} + `; + button.addEventListener("click", () => void restoreHistory(item.id)); + list.append(button); + }); +} +async function restoreHistory(id) { + const item = historyItems.find((entry) => entry.id === id); + if (!item) return; + deckEpoch += 1; + await cancelTrackedBackendRuns(); + state = ensureState(clone(item.state)); + state.generation.active = false; + resetGeneration(); + rerender(); + syncStylePanelFromState(state); + setStatus(translate("historyRestored")); + await storageSet(STORAGE_KEY, { ...state, updatedAt: Date.now() }); +} +function formatHistoryTime(value2) { + const date = new Date(value2); + if (Number.isNaN(date.getTime())) return ""; + const mm = String(date.getMonth() + 1).padStart(2, "0"); + const dd = String(date.getDate()).padStart(2, "0"); + const hh = String(date.getHours()).padStart(2, "0"); + const min = String(date.getMinutes()).padStart(2, "0"); + return `${mm}/${dd} ${hh}:${min}`; +} +function escapeHtmlInline(value2) { + return String(value2 ?? "").replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">").replaceAll('"', """).replaceAll("'", "'"); +} +function setStatus(message) { + const node = $("statusLine"); + if (node) node.textContent = message; +} +function setExportStatus(message) { + const node = $("exportStatus"); + if (node) node.textContent = message; +} +function setBusy(nextBusy, message) { + busy = nextBusy; + document.querySelector(".ppt-live")?.classList.toggle("is-busy", busy); + document.querySelectorAll("button, input, select, textarea").forEach((node) => { + if (["closePreview", "prevPresent", "nextPresent"].includes(node.id)) return; + if (node.id === "cancelGeneration") { + node.disabled = !busy; + node.hidden = !busy; + return; + } + if (node.id === "newDeck") return; + node.disabled = busy; + }); + const pill = $("aiStatusPill"); + if (pill) { + pill.textContent = busy ? translate("statusPillBusy") : translate("statusPillReady"); + pill.classList.toggle("is-busy", busy); + } + if (message) setStatus(message); +} +function setGenerationStep(id, status, message) { + state.generation.current = id; + state.generation.steps = state.generation.steps.map((step) => ({ + ...step, + status: step.id === id ? status : step.status + })); + state.generation.active = status === "running" || state.generation.steps.some((step) => step.status === "running"); + renderGeneration(state); + renderGenerationOverlay(state); + if (message) setStatus(message); +} +function resetGeneration() { + state.generation.active = false; + state.generation.current = "idle"; + state.generation.draftedCount = 0; + state.generation.slideTarget = 0; + state.generation.eventSeq = 0; + state.generation.steps = state.generation.steps.map((step) => ({ ...step, status: "pending" })); + state.generation.events = []; + state.generation.agentStream = []; + renderGeneration(state); + renderGenerationOverlay(state); +} +function addGenerationEvent(event, detail = "", kind = "info") { + state.generation = normalizeGeneration(state.generation || {}); + const source = typeof event === "string" ? { title: event, detail, kind } : { ...event || {} }; + const title = compactText(source.title || source.label || source.message || translate("processEventUnknown"), 160); + const eventDetail = compactText(source.detail ?? detail ?? "", 260); + const eventKind = String(source.kind || kind || "info").toLowerCase().replace(/[^a-z0-9-]/g, "") || "info"; + if (!title && !eventDetail) return; + const events = Array.isArray(state.generation.events) ? state.generation.events : []; + const last2 = events[events.length - 1]; + if (last2 && last2.title === title && last2.detail === eventDetail && last2.kind === eventKind) { + last2.timestamp = Date.now(); + state.generation.events = events; + } else { + const lastSeq = events.reduce((max, item) => Math.max(max, Number(item.seq) || 0), 0); + const seq = Math.max(Number(state.generation.eventSeq) || 0, lastSeq) + 1; + state.generation.eventSeq = seq; + state.generation.events = [ + ...events, + { + id: uid("generation-event"), + seq, + title: title || translate("processEventUnknown"), + detail: eventDetail, + kind: eventKind, + timestamp: Date.now() + } + ].slice(-80); + } + renderGeneration(state); + renderGenerationOverlay(state); +} +function pushAgentStreamEntry(entry) { + const toolName = String(entry.toolName || "").toLowerCase(); + if (toolName && STREAM_HIDDEN_TOOLS.has(toolName)) return; + if (entry.kind === "system") return; + state.generation = normalizeGeneration(state.generation || {}); + const stream2 = Array.isArray(state.generation.agentStream) ? state.generation.agentStream : []; + if (entry.kind === "text") { + const last2 = stream2[stream2.length - 1]; + if (last2 && last2.kind === "text") { + last2.text = String(last2.text || "") + String(entry.text || ""); + last2.timestamp = Date.now(); + state.generation.agentStream = stream2; + renderGeneration(state); + return; + } + } + stream2.push({ id: uid("agent-stream"), timestamp: Date.now(), ...entry }); + state.generation.agentStream = stream2; + renderGeneration(state); +} +function rerender() { + state = ensureState(state); + renderAll(state, handlers); + renderHistory(); +} +function updateBriefFromInputs(options = {}) { + readInputs(state, options); + state = ensureState(state); +} +function promptValue() { + return $("topicInput")?.value.trim() || ""; +} +function isDefaultDraft() { + const defaultSpine = defaultOutline().join("\n"); + return !state.outline.length || state.outline.join("\n") === defaultSpine || state.title === translate("defaultDeckTitle") || isStarterDeck2(); +} +function isStarterDeck2() { + const title = String(state.title || "").trim(); + const onlyStarterSlide = state.slides.length === 1 && state.outline.length === 1 && state.outline[0] === translate("newSlideTitle"); + return onlyStarterSlide && (title === translate("blankDeckTitle") || title === translate("newSlideTitle")); +} +function hasUsableDeckForRevision() { + return Array.isArray(state.slides) && state.slides.length > 0 && !isDefaultDraft() && !isStarterDeck2() && !isRecoverableWorkingOnlyState(state); +} +async function generateOutline() { + await handlePromptSubmit(); +} +async function generateDeckFromPrompt() { + await handlePromptSubmit(); +} +async function handlePromptSubmit() { + if (promptSubmitGuard || backendRunInFlight) { + return; + } + const instruction = promptValue(); + if (!instruction) { + setStatus(translate("promptRequired")); + return; + } + promptSubmitGuard = true; + const reviseExistingDeck = hasUsableDeckForRevision(); + state.promptDraft = instruction; + state.lastSubmittedPrompt = instruction; + updateBriefFromInputs({ includeTopic: !reviseExistingDeck }); + if (!reviseExistingDeck) state.brief.topic = instruction; + try { + await runPptLiveBackend("auto", instruction, { + includeTopic: !reviseExistingDeck, + persistBeforeRun: true + }); + return; + } catch (error2) { + if (isStoppedBackendError(error2)) return; + runtime().log?.warn?.("PPT Live backend generation failed", { error: String(error2) }); + failGenerationFromError(error2); + rerender(); + await persist(true); + } finally { + promptSubmitGuard = false; + } +} +function finishGenerationUi(statusMessage = translate("deckReady")) { + state.generation.active = false; + state.generation.draftedCount = state.slides.length; + state.generation.slideTarget = 0; + state.generation.steps = (state.generation.steps || []).map((step) => ({ + ...step, + status: step.status === "error" ? "error" : "done" + })); + setStatus(statusMessage); + renderGeneration(state); + renderGenerationOverlay(state); +} +function failGenerationUi(statusMessage = translate("backendGenerationFailed"), detail = "") { + state.generation.active = false; + state.generation.steps = (state.generation.steps || []).map((step) => ({ + ...step, + status: step.status === "done" ? "done" : "error" + })); + setStatus(statusMessage); + addGenerationEvent({ title: statusMessage, detail: detail || translate("agentOnlyRetryHint"), kind: "error" }); + setBusy(false); + renderGeneration(state); + renderGenerationOverlay(state); +} +function errorMessageChain(error2, maxDepth = 5) { + const messages = []; + const seen = /* @__PURE__ */ new Set(); + let current = error2; + for (let depth = 0; current && depth < maxDepth; depth += 1) { + const raw = String(current?.message || current || "").trim(); + if (raw && !seen.has(raw)) { + seen.add(raw); + messages.push(raw); + } + current = current?.cause; + } + return messages; +} +function backendErrorDetail(error2, maxLength = 220) { + const raw = errorMessageChain(error2).join(" Root cause: "); + if (!raw) return ""; + return compactText(raw.replace(/^Error:\s*/i, "").replace(/^Tauri command .*? failed:\s*/i, "").replace(/^live_app_backend_call:\s*/i, "").replace(/^Failed to start PPT Live generation:\s*/i, "").trim(), maxLength); +} +function failGenerationFromError(error2) { + const detail = backendErrorDetail(error2, error2?.pptLiveRecoveryExhausted ? 520 : 220); + let statusMessage; + let hint = detail; + if (error2?.pptLiveRecoveryExhausted) { + const recovery = error2.pptLiveRecoveryExhausted; + statusMessage = translate("generationRecoveryExhausted", { + stage: translate(recovery.stageKey, recovery.stageVars || {}), + retries: recovery.stepAttempts, + continuations: recovery.continuationAttempts + }); + hint = translate("generationRecoveryFailureDetail", { + reason: detail || translate("agentOnlyRetryHint") + }); + } else if (isTimeoutBackendError(error2)) { + statusMessage = translate("generationTimedOut"); + } else if (isRoundBudgetBackendError(error2)) { + statusMessage = translate("generationRoundBudgetFailed"); + hint = translate("generationRoundBudgetHint"); + } else if (detail) { + statusMessage = translate("backendGenerationFailedWithReason", { reason: detail }); + } else { + statusMessage = translate("backendGenerationFailed"); + } + failGenerationUi(statusMessage, hint || translate("agentOnlyRetryHint")); +} +function buildGenerationBrief({ includeEvidence = true } = {}) { + const brief = { + topic: String(state.brief?.topic || state.promptDraft || "").trim(), + audience: String(state.brief?.audience || "").trim() + }; + if (includeEvidence) { + brief.material = String(state.brief?.material || "").trim().slice(0, 12e3); + brief.sources = state.sources ? { + summary: String(state.sources.summary || "").slice(0, 4e3), + facts: (state.sources.facts || []).slice(0, 16), + warnings: (state.sources.warnings || []).slice(0, 8), + items: (state.sources.items || []).slice(0, 6).map((item) => ({ + kind: item.kind, + title: item.title, + url: item.url, + text: String(item.text || "").slice(0, 6e3) + })) + } : null; + } + const slideTarget = Number(state.brief?.slideTarget) || 0; + if (slideTarget > 0) brief.slideTarget = slideTarget; + return brief; +} +function buildGenerationStyle({ includePreset = true } = {}) { + const preset = getStylePreset(state.style?.stylePreset); + const colorMode = state.style?.colorMode === "dark" ? "dark" : "light"; + const style = { + fontFamily: state.style?.fontFamily === "serif" ? "serif" : "sans", + density: normalizeDensity(state.style?.density), + colorMode, + theme: colorMode, + palette: resolveStylePalette(preset, colorMode) + }; + if (includePreset) style.stylePreset = state.style?.stylePreset || DEFAULT_STYLE_PRESET; + return style; +} +function textFromHtml(html) { + const raw = String(html || "").trim(); + if (!raw) return ""; + try { + const doc = new DOMParser().parseFromString(raw, "text/html"); + doc.querySelectorAll("style,script,svg").forEach((node) => node.remove()); + return compactText(doc.body?.textContent || doc.documentElement?.textContent || "", 1800); + } catch { + return compactText(raw.replace(/<[^>]+>/g, " "), 1800); + } +} +function mentionedSlideIndexes(instruction) { + const indexes = /* @__PURE__ */ new Set(); + const textValue = String(instruction || ""); + const activeIndex = getActiveIndex(state); + if (/(当前|本页|这一页|此页|current\s+(slide|page)|this\s+(slide|page))/i.test(textValue)) { + indexes.add(activeIndex); + } + const patterns = [ + /第\s*(\d{1,2})\s*(页|頁|张|張)/gi, + /\b(?:slide|page)\s*(\d{1,2})\b/gi, + /\b(\d{1,2})\s*(?:slide|slides|page|pages)\b/gi + ]; + patterns.forEach((pattern) => { + let match = pattern.exec(textValue); + while (match) { + const index = Number(match[1]) - 1; + if (index >= 0 && index < state.slides.length) indexes.add(index); + match = pattern.exec(textValue); + } + }); + return [...indexes].sort((a, b) => a - b); +} +function buildCurrentDeckSnapshot(instruction) { + const targetIndexes = mentionedSlideIndexes(instruction); + const activeIndex = getActiveIndex(state); + const fullHtmlIndexes = new Set(targetIndexes.length ? targetIndexes : [activeIndex]); + return { + title: state.title, + outline: clone(state.outline || []), + slideCount: state.slides.length, + activeSlideIndex: activeIndex, + activeSlideId: state.slides[activeIndex]?.id || "", + targetHints: targetIndexes.map((index) => ({ + slideIndex: index, + slideNumber: index + 1, + slideId: state.slides[index]?.id || "", + title: state.slides[index]?.title || "" + })), + slides: state.slides.map((slide, index) => { + const visibleText = slide.html ? textFromHtml(slide.html) : compactText((slide.elements || []).flatMap((element2) => [element2.text, element2.label, ...Array.isArray(element2.items) ? element2.items : []]).filter(Boolean).join("\n"), 1800); + const snapshot = { + slideIndex: index, + slideNumber: index + 1, + id: slide.id, + title: slide.title, + kicker: slide.kicker, + claim: slide.claim, + proofObject: slide.proofObject, + supportNote: slide.supportNote, + sourceNote: slide.sourceNote, + notes: slide.notes, + layout: slide.layout, + visibleText, + hasHtml: Boolean(slide.html) + }; + if (fullHtmlIndexes.has(index) && slide.html) { + snapshot.html = String(slide.html).slice(0, 12e3); + } + return snapshot; + }) + }; +} +function pickDensityIndexFromClientX(clientX, track) { + const rect = track.getBoundingClientRect(); + const ratio = clamp((clientX - rect.left) / rect.width, 0, 1); + return Math.round(ratio * 2); +} +function setDensitySliderUi(index) { + syncDensitySlider(indexToDensity(clamp(Math.round(Number(index)), 0, 2))); +} +function readGenerationStyleFromPropertyPanel() { + readStyleInputs(state); + state = ensureState(state); +} +var PPT_BACKEND_MAX_ATTEMPTS = 2; +var PPT_RETRY_DELAY_MS = 750; +function isRetryableBackendError(error2) { + const raw = String(error2?.message || error2 || ""); + if (isStoppedBackendError(error2)) return false; + if (/Generation stopped/i.test(raw)) return false; + if (/backend is unavailable|did not return sessionId/i.test(raw)) return false; + if (/permission|workspacePath is required|unsupported PPT Live action/i.test(raw)) return false; + return true; +} +function retryDelayMs(error2, attempt) { + const raw = String(error2?.message || error2 || ""); + const transient = /rate limit|network|timed? out|connection|temporar|overload|service unavailable|502|503|504/i.test(raw); + if (!transient) return PPT_RETRY_DELAY_MS; + return Math.min(15e3, 1e3 * 2 ** Math.min(Math.max(0, attempt - 1), 4)); +} +function isUnknownSessionBackendError(error2) { + return /Unknown MiniApp agent session|session workspace does not match/i.test( + String(error2?.message || error2 || "") + ); +} +function backendUsesFileProtocol() { + const host = runtime(); + return host.backend?.protocol === "files" && Boolean(host.appDataDir) && Boolean(host.fs?.readFile); +} +function newDeckProject() { + const runId = `deck-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`; + return { + runId, + workspaceSubdir: `decks/${runId}`, + dir: `${runtime().appDataDir}/decks/${runId}` + }; +} +function currentDeckProject() { + const workspaceSubdir = String(state.agentSession?.workspaceSubdir || ""); + if (!workspaceSubdir || !runtime().appDataDir) return null; + const runId = String(state.agentSession?.runId || workspaceSubdir.split("/").pop() || ""); + return { + runId, + workspaceSubdir, + dir: `${runtime().appDataDir}/${workspaceSubdir}` + }; +} +function deckSlideFileName(slideNumber) { + return `slides/slide-${String(slideNumber).padStart(2, "0")}.html`; +} +function outlineItemTitle(item) { + return typeof item === "string" ? item : String(item?.title || ""); +} +function planOutlineTitles(plan) { + return Array.isArray(plan?.outline) ? plan.outline.map(outlineItemTitle).filter(Boolean) : []; +} +function isEphemeralDeckTitle(title) { + const value2 = String(title || "").trim(); + if (!value2) return true; + return [ + translate("agentWorkingTitle"), + translate("generationAgentWorking"), + translate("blankDeckTitle"), + translate("defaultDeckTitle"), + translate("newSlideTitle") + ].includes(value2); +} +function resolveDeckTitle({ + plan = null, + payload = null, + state: state2 = null, + instruction = "", + slides = [] +} = {}) { + const outline = Array.isArray(plan?.outline) ? plan.outline : Array.isArray(payload?.outline) ? payload.outline : []; + const firstOutlineTitle = outline.length ? outlineItemTitle(outline[0]) : ""; + const firstSlideTitle = Array.isArray(slides) && slides.length ? String(slides[0]?.title || "").trim() : ""; + const candidates = [ + payload?.deckPatch?.title, + payload?.patch?.title, + payload?.title, + plan?.title, + firstOutlineTitle, + state2?.brief?.topic, + instruction, + state2?.promptDraft, + firstSlideTitle + ]; + for (const candidate of candidates) { + const value2 = String(candidate || "").trim(); + if (value2 && !isEphemeralDeckTitle(value2)) return value2; + } + return translate("blankDeckTitle"); +} +async function readDeckProjectFile(project, relPath) { + const fs = runtime().fs; + if (!fs?.readFile) throw new Error("PPT Live fs API is unavailable"); + return await fs.readFile(`${project.dir}/${relPath}`); +} +async function tryReadDeckJsonFile(project, relPath) { + try { + const raw = String(await readDeckProjectFile(project, relPath) || ""); + if (!raw.trim()) return null; + return extractBackendJson(raw); + } catch { + return null; + } +} +async function tryReadDeckPlanFile(project) { + return await tryReadDeckJsonFile(project, "project.json"); +} +async function tryReadDeckSlideFile(project, slideNumber) { + try { + const raw = String(await readDeckProjectFile(project, deckSlideFileName(slideNumber)) || "").trim(); + if (!raw || !/<\/html>\s*$/i.test(raw)) return null; + return raw; + } catch { + return null; + } +} +async function tryReadDeckSlideFileWithRetry(project, slideNumber, maxAttempts = 6, delayMs = 120) { + for (let attempt = 1; attempt <= maxAttempts; attempt += 1) { + const html = await tryReadDeckSlideFile(project, slideNumber); + if (html) return html; + if (attempt < maxAttempts) { + await new Promise((resolve) => setTimeout(resolve, delayMs)); + } + } + return null; +} +async function readDeckFromProjectFiles(project) { + const plan = await tryReadDeckPlanFile(project); + if (!plan) throw new Error("PPT Live agent finished without a valid project.json"); + const slideOrder = Array.isArray(plan.slide_order) && plan.slide_order.length ? plan.slide_order : Array.isArray(plan.outline) ? plan.outline.map((_, index) => `slide-${String(index + 1).padStart(2, "0")}`) : []; + const slides = []; + for (let index = 0; index < slideOrder.length; index += 1) { + const slideId = String(slideOrder[index] || `slide-${String(index + 1).padStart(2, "0")}`); + const slideNumber = index + 1; + const html = await tryReadDeckSlideFile(project, slideNumber); + const outlineEntry = plan.outline?.[index]; + const title = typeof outlineEntry === "string" ? outlineEntry : outlineEntry?.title || `${translate("newSlideTitle")} ${slideNumber}`; + if (html) { + slides.push({ + id: `ppt-live-slide-${slideNumber}`, + slideNumber, + title, + html + }); + } + } + if (!slides.length) throw new Error("PPT Live agent did not produce any slide files"); + return { + title: resolveDeckTitle({ plan, slides }), + language: plan.language || "", + outline: planOutlineTitles(plan), + researchReport: plan.researchReport || null, + design: plan.design || {}, + slides + }; +} +async function seedDeckProjectFromState(project) { + const fs = runtime().fs; + if (!project || !fs?.writeFile || !state.slides?.length) return; + const hasExistingProject = await tryReadDeckPlanFile(project); + if (hasExistingProject) return; + try { + const outline = state.slides.map((slide, index) => ({ + id: `slide-${String(index + 1).padStart(2, "0")}`, + title: String(slide.title || ""), + bullets: [], + slide_id: `slide-${String(index + 1).padStart(2, "0")}` + })); + const projectJson = { + title: state.title || "", + language: getLocale(), + outline, + slide_order: outline.map((item) => item.slide_id), + style: buildGenerationStyle() + }; + await fs.writeFile(`${project.dir}/project.json`, `${JSON.stringify(projectJson, null, 2)} +`); + for (let index = 0; index < state.slides.length; index += 1) { + const slide = state.slides[index]; + if (slide.html) { + await fs.writeFile(`${project.dir}/${deckSlideFileName(index + 1)}`, slide.html); + } + } + } catch { + } +} +async function pruneOldDeckProjects(currentRunId) { + const fs = runtime().fs; + if (!fs?.readdir || !fs?.rm) return; + try { + const decksDir = `${runtime().appDataDir}/decks`; + const entries = await fs.readdir(decksDir); + const names = (Array.isArray(entries) ? entries : []).map((entry) => typeof entry === "string" ? entry : entry?.name).filter((name) => typeof name === "string" && name.startsWith("deck-") && name !== currentRunId); + for (const name of names) { + await fs.rm(`${decksDir}/${name}`, { recursive: true }); + } + } catch { + } +} +async function runPptLiveBackend(operation, instruction, options = {}) { + const host = runtime(); + if (!host.backend?.call) throw new Error("PPT Live backend is unavailable"); + if (backendRunInFlight) { + return; + } + backendRunInFlight = true; + try { + updateBriefFromInputs({ includeTopic: options.includeTopic !== false }); + readGenerationStyleFromPropertyPanel(); + if (options.persistBeforeRun) { + await persist(true); + } + await runCoworkDeckGeneration(operation, instruction); + } finally { + backendRunInFlight = false; + } +} +async function executeBackendTurn(requestInput, hooks = {}, options = {}) { + const host = runtime(); + const runEpoch = deckEpoch; + let sessionId = null; + let turnId = null; + let textBuffer = ""; + let thinkingBuffer = ""; + let settled = false; + let lastTextProgressAt = 0; + let completion = null; + const cleanup = []; + const loggedToolEvents = /* @__PURE__ */ new Set(); + const toolTrace = []; + const linkedSubagentSessionIds = /* @__PURE__ */ new Set(); + const progressTracker = createGenerationProgressTracker(); + const activity = { lastEventAt: Date.now() }; + try { + const result = await host.backend.call("ppt.generate", requestInput, { + entityId: "deck", + idempotencyKey: `ppt-live-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`, + sessionId: options.sessionId || void 0, + appDataWorkspace: options.appDataWorkspace || void 0 + }); + sessionId = result?.sessionId || null; + turnId = result?.turnId || result?.actionRunId || null; + if (!sessionId || !turnId) throw new Error("PPT Live backend did not return sessionId/turnId"); + trackBackendRun(sessionId, turnId); + if (isDeckEpochStale(runEpoch)) throw new Error("Generation stopped"); + const waitForResult = new Promise((resolve, reject) => { + const listener = (event) => { + const eventSessionId = event.sessionId; + const isParentTurn = eventSessionId === sessionId; + const sourceEvent = String(event.sourceEvent || ""); + if (sourceEvent.endsWith("subagent-session-linked")) { + if (event.parentSessionId === sessionId && eventSessionId) { + linkedSubagentSessionIds.add(eventSessionId); + addGenerationEvent({ title: translate("eventSubagentStarted"), detail: "", kind: "tool" }); + pushAgentStreamEntry({ kind: "system", text: `[subagent started] ${String(event.subagentName || event.sessionName || eventSessionId).slice(0, 120)}` }); + } + return; + } + const isLinkedSubagent = linkedSubagentSessionIds.has(eventSessionId); + if (!isParentTurn && !isLinkedSubagent) return; + if (isParentTurn && event.turnId && event.turnId !== turnId) return; + activity.lastEventAt = Date.now(); + if (!isParentTurn && eventSessionId) { + linkedSubagentSessionIds.add(eventSessionId); + } + if (sourceEvent.endsWith("dialog-turn-started")) { + progressTracker.note(translate("eventTurnStarted"), "", "turn"); + } else if (sourceEvent.endsWith("model-round-started")) { + if (isParentTurn) { + hooks.onToolPhase?.("round"); + } else { + progressTracker.note(translate("eventSubagentWorking"), "", "pulse", 8e3); + } + progressTracker.touch(); + } else if (sourceEvent.endsWith("model-round-completed")) { + progressTracker.touch(); + } else if (sourceEvent.endsWith("tool-event")) { + const toolEvent = normalizeToolEvent(event.toolEvent || {}); + const eventType = toolEvent.event_type || toolEvent.eventType || ""; + const rawToolName = String(toolEvent.tool_name || toolEvent.toolName || "").trim().toLowerCase(); + if (isParentTurn) { + if (eventType === "Started") { + toolTrace.push({ + eventType, + toolId: toolEvent.tool_id || toolEvent.toolId || "", + toolName: toolEvent.tool_name || toolEvent.toolName || "", + params: toolEvent.params || {} + }); + } else if (eventType === "Completed") { + toolTrace.push({ + eventType, + toolId: toolEvent.tool_id || toolEvent.toolId || "", + toolName: toolEvent.tool_name || toolEvent.toolName || "", + result: toolEvent.result || {} + }); + } else if (eventType === "Failed" || eventType === "Cancelled") { + toolTrace.push({ + eventType, + toolId: toolEvent.tool_id || toolEvent.toolId || "", + toolName: toolEvent.tool_name || toolEvent.toolName || "", + error: toolEvent.error || toolEvent.message || eventType + }); + } + } + if (eventType === "Started" && rawToolName === "task") { + progressTracker.note(translate("eventToolTaskStarted"), "", "tool"); + progressTracker.touch(); + } + if (eventType === "Started" && rawToolName) { + const params = toolEvent.params || toolEvent.result || {}; + const paramSummary = summarizeToolParams(rawToolName, params); + pushAgentStreamEntry({ + kind: "tool-start", + toolName: rawToolName, + isSubagent: !isParentTurn, + text: paramSummary + }); + } else if (eventType === "Completed" && rawToolName) { + const resultSummary = summarizeToolResult(rawToolName, toolEvent.result || {}); + if (resultSummary) { + pushAgentStreamEntry({ + kind: "tool-done", + toolName: rawToolName, + isSubagent: !isParentTurn, + text: resultSummary + }); + } + } else if (eventType === "Failed" || eventType === "Cancelled") { + pushAgentStreamEntry({ + kind: "tool-error", + toolName: rawToolName, + isSubagent: !isParentTurn, + text: compactText(String(toolEvent.error || toolEvent.message || eventType), 200) + }); + } + if (shouldLogToolEvent(toolEvent, loggedToolEvents, { isSubagent: !isParentTurn })) { + const described = describeToolEvent(event, { isSubagent: !isParentTurn }); + if (described) addGenerationEvent(described); + progressTracker.touch(); + } + if (isParentTurn && (eventType === "EarlyDetected" || eventType === "Started")) { + hooks.onToolPhase?.("detected"); + } else if (isParentTurn && eventType === "Completed") { + const toolName = rawToolName; + hooks.onToolPhase?.("completed"); + if (toolName === "skill") { + progressTracker.note(translate("eventToolSkillReady"), "", "phase"); + } else if (toolName === "websearch" || toolName === "webfetch") { + hooks.onToolPhase?.("research"); + } + if ((toolName === "write" || toolName === "edit") && typeof hooks.onSlideFileWritten === "function") { + const filePath = resolveToolEventFilePath(toolEvent, toolTrace); + const slideMatch = filePath.match(/slides\/slide-(\d{2})\.html/i); + if (slideMatch) { + const slideNumber = parseInt(slideMatch[1], 10); + if (Number.isFinite(slideNumber) && slideNumber > 0) { + void Promise.resolve(hooks.onSlideFileWritten(slideNumber)).catch(() => { + }); + } + } + } + } + } else if (sourceEvent.endsWith("text-chunk")) { + const chunk = String(event.text || ""); + const isThinking = event.contentType === "thinking"; + if (isThinking) thinkingBuffer += chunk; + else { + textBuffer += chunk; + progressTracker.touch(); + pushAgentStreamEntry({ kind: "text", text: chunk }); + const now = Date.now(); + if (now - lastTextProgressAt >= 500) { + lastTextProgressAt = now; + hooks.onTextProgress?.(textBuffer); + } + } + } else if (sourceEvent.endsWith("token-usage-updated")) { + } else if (sourceEvent.endsWith("dialog-turn-completed")) { + if (!isParentTurn) { + progressTracker.note(translate("eventSubagentDone"), "", "tool"); + pushAgentStreamEntry({ kind: "system", isSubagent: true, text: "[subagent done]" }); + return; + } + pushAgentStreamEntry({ kind: "system", text: "[turn completed]" }); + settled = true; + completion = { + success: event.success, + finishReason: event.finishReason || event.finish_reason || "", + partialRecoveryReason: event.partialRecoveryReason || event.partial_recovery_reason || "" + }; + resolve({ answer: textBuffer, thinking: thinkingBuffer }); + } else if (sourceEvent.endsWith("dialog-turn-failed") || sourceEvent.endsWith("dialog-turn-cancelled")) { + if (!isParentTurn) { + progressTracker.note(translate("eventSubagentFailed"), "", "error"); + pushAgentStreamEntry({ kind: "system", isSubagent: true, text: "[subagent failed]" }); + return; + } + settled = true; + if (textBuffer) hooks.onTextProgress?.(textBuffer); + const eventError = compactText(event.error || event.message || ""); + pushAgentStreamEntry({ + kind: "system", + text: sourceEvent.endsWith("dialog-turn-cancelled") ? "[turn cancelled]" : "[turn failed]" + }); + addGenerationEvent({ + title: sourceEvent.endsWith("dialog-turn-cancelled") ? translate("eventTurnCancelled") : translate("eventTurnFailed"), + detail: eventError, + kind: "error" + }); + reject(new Error(eventError || sourceEvent)); + } + }; + host.backend.onEvent(listener); + cleanup.push(() => host.backend.offEvent?.(listener)); + const heartbeat = setInterval(() => { + if (settled) return; + const now = Date.now(); + if (now - progressTracker.lastProgressLogAt < 12e3) return; + const current = (state.generation?.steps || []).find((step) => step.status === "running"); + progressTracker.note(current?.label ? `${current.label}\u2026` : translate("generationProgressPulse"), current?.detail || "", "pulse", 0); + }, 12e3); + cleanup.push(() => clearInterval(heartbeat)); + }); + const expectJson = options.resultKind !== "text"; + const streamed = await waitForBackendResultOrPersistedText(waitForResult, sessionId, turnId, activity, { expectJson }); + const streamedText = typeof streamed === "string" ? streamed : streamed?.answer || ""; + const streamedThinking = typeof streamed === "string" ? "" : streamed?.thinking || ""; + if (isDeckEpochStale(runEpoch)) throw new Error("Generation stopped"); + if (!expectJson) { + return { payload: null, text: streamedText, sessionId, toolTrace, completion }; + } + const finalText = await resolveBackendTurnText(sessionId, turnId, streamedText, streamedThinking); + if (isDeckEpochStale(runEpoch)) throw new Error("Generation stopped"); + const payload = extractBackendJson(finalText); + if (isDeckEpochStale(runEpoch)) throw new Error("Generation stopped"); + return { payload, sessionId, toolTrace, completion }; + } catch (error2) { + if (error2 && typeof error2 === "object" && sessionId) { + error2.pptLiveSessionId = sessionId; + error2.pptLiveToolTrace = toolTrace; + } + if (!settled && sessionId && turnId && host.backend?.cancel) { + try { + await host.backend.cancel(sessionId, turnId); + } catch (cancelError) { + runtime().log?.warn?.("PPT Live backend cancel after failure failed", { + sessionId, + turnId, + error: String(cancelError) + }); + } + } + throw error2; + } finally { + cleanup.forEach((fn) => fn()); + if (sessionId && turnId) untrackBackendRun(sessionId, turnId); + } +} +function buildBackendRequestBase(operation, instruction) { + return { + operation, + instruction, + locale: getLocale(), + brief: buildGenerationBrief(), + style: buildGenerationStyle() + }; +} +async function runCoworkDeckGeneration(operation, instruction) { + const runEpoch = deckEpoch; + setBusy(true, translate("working")); + resetGeneration(); + setGenerationStep("brief", "running", translate("generationReadingBrief")); + addGenerationEvent({ title: translate("processEventStarted"), detail: translate("processEventWaiting"), kind: "start" }); + prepareAgentGenerationSurface(operation, instruction); + let completed = false; + const project = backendUsesFileProtocol() ? currentDeckProject() || newDeckProject() : null; + if (project && !state.agentSession?.workspaceSubdir) { + await pruneOldDeckProjects(project.runId); + await seedDeckProjectFromState(project); + } + const retrySession = { + id: state.agentSession?.id || null, + project + }; + const lastStreamPhase = { value: "" }; + const progressShim = { touch: () => { + }, note: () => { + }, lastProgressLogAt: 0 }; + const progressiveSlides = /* @__PURE__ */ new Map(); + let progressivePlan = null; + try { + let lastError = null; + for (let attempt = 1; attempt <= PPT_BACKEND_MAX_ATTEMPTS; attempt += 1) { + try { + if (attempt > 1) { + addGenerationEvent({ + title: translate("generationRetryAttempt", { attempt, max: PPT_BACKEND_MAX_ATTEMPTS }), + detail: backendErrorDetail(lastError), + kind: "start" + }); + setStatus(translate("generationRetrying", { attempt, max: PPT_BACKEND_MAX_ATTEMPTS })); + await new Promise((resolve) => setTimeout(resolve, retryDelayMs(lastError, attempt))); + } + const requestInput = { + ...buildBackendRequestBase(operation, instruction), + ...retrySession?.id ? { continueAfterInterruption: true } : {} + }; + const hasExistingDeck = hasUsableDeckForRevision(); + if (hasExistingDeck) { + requestInput.currentSlideIndex = getActiveIndex(state); + requestInput.currentDeck = buildCurrentDeckSnapshot(instruction); + } + const { sessionId } = await executeBackendTurn(requestInput, { + onToolPhase: (kind) => { + if (kind === "detected") { + setGenerationStep("brief", "running", translate("generationReadingBrief")); + } else if (kind === "completed") { + setGenerationStep("brief", "done"); + } else if (kind === "research") { + setGenerationStep("proof", "running", translate("generationChoosingProof")); + } + }, + onTextProgress: (buffer) => noteTextStreamProgress(buffer, progressShim, lastStreamPhase), + // Progressive preview: when the agent writes a slide file during the + // turn, read it from disk and show it immediately so the user sees + // pages appearing one by one instead of all at once at the end. + onSlideFileWritten: project ? async (slideNumber) => { + const html = await tryReadDeckSlideFileWithRetry(project, slideNumber); + if (!html) return; + progressiveSlides.set(slideNumber, html); + const planOutlineLen = Array.isArray(progressivePlan?.outline) ? progressivePlan.outline.length : 0; + if (!progressivePlan || slideNumber > planOutlineLen) { + const fresh = await tryReadDeckPlanFile(project); + if (fresh) { + progressivePlan = fresh; + const planTitle = resolveDeckTitle({ plan: fresh, state, instruction }); + if (!isEphemeralDeckTitle(planTitle)) { + state.title = planTitle; + } + } + } + const plan = progressivePlan || {}; + const knownSlides = [...progressiveSlides.entries()].sort((a, b) => a[0] - b[0]).map(([number, slideHtml2]) => ({ + id: `ppt-live-slide-${number}`, + slideNumber: number, + title: typeof plan?.outline?.[number - 1] === "string" ? plan.outline[number - 1] : plan?.outline?.[number - 1]?.title || `${translate("newSlideTitle")} ${number}`, + html: slideHtml2 + })); + const deckTitle = resolveDeckTitle({ + plan, + state, + instruction, + slides: knownSlides + }); + setGenerationStep("design", "running", translate("generationSlideReady", { + slide: slideNumber, + total: knownSlides.length + })); + setStatus(translate("generationRenderingSlide", { + slide: slideNumber, + total: plan?.outline?.length || knownSlides.length + })); + addGenerationEvent({ + title: translate("generationSlideReady", { + slide: slideNumber, + total: plan?.outline?.length || knownSlides.length + }), + detail: "", + kind: "slide" + }); + applyDeckPayload({ + title: deckTitle, + language: plan?.language || "", + outline: planOutlineTitles(plan || {}), + researchReport: plan?.researchReport || null, + design: plan?.design || {}, + slides: knownSlides + }, { instruction }); + state.activeSlideId = `ppt-live-slide-${slideNumber}`; + state.selectedElementId = ""; + rerender(); + } : void 0 + }, { + sessionId: retrySession?.id || void 0, + appDataWorkspace: retrySession?.project?.workspaceSubdir, + resultKind: project ? "text" : void 0 + }); + retrySession.id = sessionId || retrySession.id; + state.agentSession = { + id: retrySession.id || "", + workspaceSubdir: retrySession?.project?.workspaceSubdir || "", + runId: retrySession?.project?.runId || "", + skillKey: PPT_DESIGN_SKILL_KEY + }; + addGenerationEvent({ title: translate("generationParsingDeck"), detail: "", kind: "parsing" }); + setStatus(translate("generationParsingDeck")); + setGenerationStep("design", "running", translate("generationDesigningLayouts")); + const payload = project ? await readDeckFromProjectFiles(project) : null; + if (!payload) throw new Error("PPT Live agent did not produce a readable deck"); + applyDeckPayload(payload, { instruction }); + await saveHistorySnapshot(`agent:${operation}`); + addGenerationEvent({ title: translate("processEventDone"), detail: "", kind: "done" }); + setGenerationStep("spine", "done"); + setGenerationStep("proof", "done"); + setGenerationStep("design", "done"); + setGenerationStep("compile", "done", translate("generationCompiled")); + finishGenerationUi(translate("deckReady")); + completed = true; + rerender(); + await persist(true); + break; + } catch (error2) { + lastError = error2; + if (isUnknownSessionBackendError(error2)) retrySession.id = null; + else if (error2?.pptLiveSessionId) retrySession.id = error2.pptLiveSessionId; + if (!isRetryableBackendError(error2) || attempt >= PPT_BACKEND_MAX_ATTEMPTS) throw error2; + runtime().log?.warn?.("PPT Live cowork generation attempt failed, retrying", { + attempt, + maxAttempts: PPT_BACKEND_MAX_ATTEMPTS, + continueInSession: Boolean(retrySession.id), + error: String(error2) + }); + } + } + } finally { + const ownsEpoch = !isDeckEpochStale(runEpoch); + if (ownsEpoch) { + if (state.generation.active && !completed) state.generation.active = false; + setBusy(false); + } + renderGeneration(state); + renderGenerationOverlay(state); + } +} +function prepareAgentGenerationSurface(operation, instruction) { + setStatus(translate("generationAgentWorking")); + addGenerationEvent({ title: translate("generationAgentWorking"), detail: compactText(instruction || ""), kind: "start" }); + if (operation === "auto" && (isDefaultDraft() || isStarterDeck2())) { + state.title = translate("agentWorkingTitle"); + } + rerender(); +} +var SILENT_TOOL_EVENT_TYPES = /* @__PURE__ */ new Set([ + "ParamsPartial", + "Queued", + "Waiting", + "Progress", + "Streaming", + "StreamChunk", + "Confirmed", + "Rejected", + "EarlyDetected", + "Started" +]); +var SILENT_COMPLETED_TOOL_NAMES = /* @__PURE__ */ new Set([ + "read", + "write", + "grep", + "glob", + "list", + "todowrite", + "todo_write", + "skill", + "bash", + "shell", + "edit", + "delete", + "apply_patch", + "strreplace", + "search_replace" +]); +var STREAM_HIDDEN_TOOLS = /* @__PURE__ */ new Set([ + "todowrite", + "todo_write", + "grep", + "glob", + "ls", + "list", + "execcommand", + "bash", + "shell" +]); +function shortFilePath(path) { + if (!path) return ""; + const parts = String(path).replace(/\\/g, "/").split("/").filter(Boolean); + if (parts.length <= 2) return parts.join("/"); + return parts.slice(-2).join("/"); +} +function completedToolProgressTitle(rawToolName, options = {}) { + const name = String(rawToolName || "").trim().toLowerCase(); + if (!name || SILENT_COMPLETED_TOOL_NAMES.has(name)) return ""; + if (name === "websearch") return options.isSubagent ? translate("eventSubagentWebSearchDone") : translate("eventToolWebSearchDone"); + if (name === "webfetch") return options.isSubagent ? translate("eventSubagentWebFetchDone") : translate("eventToolWebFetchDone"); + if (name === "task") return translate("eventToolTaskDone"); + return ""; +} +function shouldLogToolEvent(toolEvent, loggedToolEvents, options = {}) { + const normalized = normalizeToolEvent(toolEvent); + const eventType = normalized.event_type || normalized.eventType || ""; + if (SILENT_TOOL_EVENT_TYPES.has(eventType)) return false; + const toolName = String(normalized.tool_name || normalized.toolName || "tool").toLowerCase(); + if (eventType === "Completed" && !completedToolProgressTitle(toolName, options)) return false; + const path = resolveToolEventFilePath(normalized) || String( + normalized.params && typeof normalized.params === "object" ? normalized.params.command || "" : "" + ).trim(); + const key = path ? `${toolName}:${path}:${eventType}` : `${toolName}:${eventType}`; + if (loggedToolEvents.has(key)) return false; + loggedToolEvents.add(key); + return eventType === "Completed" || eventType === "Failed" || eventType === "Cancelled" || eventType === "ConfirmationNeeded"; +} +function createGenerationProgressTracker() { + let lastProgressLogAt = 0; + let lastProgressTitle = ""; + return { + get lastProgressLogAt() { + return lastProgressLogAt; + }, + touch() { + lastProgressLogAt = Date.now(); + }, + note(title, detail = "", kind = "phase", minIntervalMs = 0) { + const now = Date.now(); + const sameTitle = title === lastProgressTitle; + if (minIntervalMs > 0 && sameTitle && now - lastProgressLogAt < minIntervalMs) return false; + lastProgressTitle = title; + lastProgressLogAt = now; + addGenerationEvent({ title, detail, kind }); + return true; + } + }; +} +function summarizeToolParams(toolName, params = {}) { + const name = String(toolName || "").toLowerCase(); + const p = params && typeof params === "object" ? params : {}; + if (name === "websearch") return compactText(String(p.query || p.prompt || ""), 160); + if (name === "webfetch" || name === "mcp__web_reader__webreader") return compactText(String(p.url || ""), 160); + if (name === "read") return shortFilePath(String(p.file_path || p.path || "")); + if (name === "write" || name === "edit") return shortFilePath(String(p.file_path || p.path || "")); + if (name === "grep" || name === "glob") return compactText(String(p.pattern || ""), 120); + if (name === "skill") return compactText(String(p.command || p.skill || p.key || ""), 120); + if (name === "task") return compactText(String(p.description || p.prompt || ""), 200); + if (name === "todowrite" || name === "todo_write") { + const todos = Array.isArray(p.todos) ? p.todos : []; + return compactText(todos.map((todo) => todo?.content || "").filter(Boolean).join(" | "), 200); + } + if (name === "execcommand" || name === "bash" || name === "shell") return compactText(String(p.cmd || p.command || ""), 160); + const firstVal = Object.values(p).find((val2) => typeof val2 === "string" && val2.trim()); + return compactText(String(firstVal || ""), 160); +} +function summarizeToolResult(toolName, result = {}) { + const name = String(toolName || "").toLowerCase(); + const r = result && typeof result === "object" ? result : {}; + if (name === "websearch") { + const results = Array.isArray(r.results) ? r.results : []; + return results.length ? `${results.length} \u6761\u7ED3\u679C` : ""; + } + if (name === "webfetch" || name === "mcp__web_reader__webreader") { + const len = String(r.content || r.text || r.markdown || "").length; + return len ? `${len > 1e3 ? Math.round(len / 1e3) + "k" : len} \u5B57\u7B26` : ""; + } + if (name === "read") { + const lines = Number(r.lineCount || (Array.isArray(r.lines) ? r.lines.length : 0)); + return lines ? `${lines} \u884C` : ""; + } + if (name === "write" || name === "edit") return ""; + if (name === "grep" || name === "glob") return ""; + if (name === "skill") return ""; + if (name === "task") return compactText(String(r.result || r.message || ""), 160); + return ""; +} +function noteTextStreamProgress(buffer, progressTracker, lastPhaseRef) { + progressTracker.touch(); + void lastPhaseRef; +} +function describeToolEvent(event, options = {}) { + const toolEvent = normalizeToolEvent(event.toolEvent || {}); + const eventType = toolEvent.event_type || toolEvent.eventType || "ToolEvent"; + const rawToolName = String(toolEvent.tool_name || toolEvent.toolName || "").trim(); + if (eventType === "Completed") { + const title = completedToolProgressTitle(rawToolName, options); + if (!title) return null; + return { title, detail: "", kind: "tool" }; + } + if (eventType === "Failed" || eventType === "Cancelled") { + return { + title: translate("eventToolFailedUser"), + detail: "", + kind: "error" + }; + } + if (eventType === "ConfirmationNeeded") { + return { + title: translate("processEventWaiting"), + detail: "", + kind: "tool" + }; + } + return null; +} +function resolveToolEventFilePath(toolEvent, toolTrace = []) { + const params = toolEvent?.params && typeof toolEvent.params === "object" ? toolEvent.params : {}; + const directPath = String(params.file_path || params.path || "").trim(); + if (directPath) return directPath; + const result = toolEvent?.result && typeof toolEvent.result === "object" ? toolEvent.result : {}; + const resultPath = String(result.file_path || result.path || "").trim(); + if (resultPath) return resultPath; + const toolId = String(toolEvent?.tool_id || toolEvent?.toolId || "").trim(); + if (!toolId) return ""; + const started = [...toolTrace].reverse().find((entry) => entry.eventType === "Started" && String(entry.toolId || entry.tool_id || "") === toolId); + const startedParams = started?.params && typeof started.params === "object" ? started.params : {}; + return String(startedParams.file_path || startedParams.path || "").trim(); +} +function normalizeToolEvent(toolEvent) { + if (toolEvent.event_type || toolEvent.eventType || toolEvent.tool_name || toolEvent.toolName) return toolEvent; + const keys = [ + "EarlyDetected", + "ParamsPartial", + "Queued", + "Waiting", + "Started", + "Progress", + "Streaming", + "StreamChunk", + "ConfirmationNeeded", + "Confirmed", + "Rejected", + "Completed", + "Failed", + "Cancelled" + ]; + const key = keys.find((candidate) => toolEvent && Object.prototype.hasOwnProperty.call(toolEvent, candidate)); + if (!key) return toolEvent || {}; + const value2 = toolEvent[key] || {}; + return { ...value2, event_type: key }; +} +function compactText(value2, limit = 180) { + const text2 = String(value2 || "").replace(/\s+/g, " ").trim(); + if (!text2) return ""; + return text2.length > limit ? `${text2.slice(0, limit - 1)}...` : text2; +} +function trackBackendRun(sessionId, turnId) { + if (!sessionId || !turnId) return; + const exists = backendRuns.some((run) => run.sessionId === sessionId && run.turnId === turnId); + if (!exists) backendRuns.push({ sessionId, turnId }); +} +function untrackBackendRun(sessionId, turnId) { + backendRuns = backendRuns.filter((run) => !(run.sessionId === sessionId && run.turnId === turnId)); +} +function isDeckEpochStale(epoch) { + return epoch !== deckEpoch; +} +async function cancelTrackedBackendRuns() { + const runs = [...backendRuns]; + backendRuns = []; + if (!runs.length || !runtime().backend?.cancel) return; + await Promise.all(runs.map(async (run) => { + try { + await runtime().backend.cancel(run.sessionId, run.turnId); + } catch (error2) { + runtime().log?.warn?.("PPT Live backend cancel failed", { + sessionId: run.sessionId, + turnId: run.turnId, + error: String(error2) + }); + } + })); +} +async function stopAllBackendRuns(fromTimeout = false, options = {}) { + const hadRuns = backendRuns.length > 0; + deckEpoch += 1; + await cancelTrackedBackendRuns(); + state.generation.active = false; + state.generation.steps = state.generation.steps.map((step) => step.status === "running" ? { ...step, status: "error" } : step); + if (!options.silent && hadRuns) { + setStatus(fromTimeout ? translate("generationTimedOut") : translate("generationStopped")); + addGenerationEvent(fromTimeout ? translate("generationTimedOut") : translate("generationStopped")); + } + setBusy(false); + renderGeneration(state); + renderGenerationOverlay(state); + if (!options.silent) await persist(true); +} +async function stopBackendRun(fromTimeout = false) { + await stopAllBackendRuns(fromTimeout); +} +function applyDeckPayload(payload, options = {}) { + if (applyDeckPatchPayload(payload, options)) { + if (payload.researchReport) applyResearchReport(payload.researchReport); + if (payload.design?.palette && typeof payload.design.palette === "object") { + state.deckPalette = payload.design.palette; + } + return; + } + const resolvedTitle = resolveDeckTitle({ + payload, + state, + instruction: options.instruction || "", + slides: payload?.slides || [] + }); + const htmlSlides = normalizeHtmlSlides(payload); + if (htmlSlides.length) { + state.title = resolvedTitle; + state.slides = htmlSlides.map((slide, index) => normalizeSlide(slide, index, { + ...state, + slides: htmlSlides + })); + state.outline = state.slides.map((slide) => slide.title); + state.activeSlideId = state.slides[0]?.id || ""; + state.selectedElementId = ""; + } else if (!Array.isArray(payload?.slides) || payload.slides.length === 0) { + throw new Error("PPT Live deck payload has no slides"); + } else { + state.title = resolvedTitle; + state.slides = payload.slides.map((slide, index) => normalizeSlide({ + ...slide, + html: slide.html || slide.sourceHtml || slide.slideHtml || "" + }, index, { + ...state, + slides: payload.slides + })); + state.outline = state.slides.map((slide) => slide.title); + state.activeSlideId = state.slides[0]?.id || ""; + state.selectedElementId = state.slides[0]?.elements[0]?.id || ""; + } + if (Array.isArray(payload.outline) && payload.outline.length) { + state.outline = payload.outline.map(outlineItemTitle).filter(Boolean); + } + if (payload.researchReport) applyResearchReport(payload.researchReport); + if (payload.design?.palette && typeof payload.design.palette === "object") { + state.deckPalette = payload.design.palette; + } +} +function applyResearchReport(report) { + state.sources = { + ...state.sources, + facts: report.verifiedFacts || state.sources?.facts || [], + warnings: report.warnings || state.sources?.warnings || [], + summary: report.summary || state.sources?.summary || "", + fetchedAt: Date.now() + }; +} +function payloadPatchChanges(payload) { + if (Array.isArray(payload?.deckPatch?.changes)) return payload.deckPatch.changes; + if (Array.isArray(payload?.patch?.changes)) return payload.patch.changes; + if (Array.isArray(payload?.changes)) return payload.changes; + if (Array.isArray(payload?.patches)) return payload.patches; + return []; +} +function resolvePatchIndex(change, slides, fallback = 0) { + const slideId = String(change?.slideId || change?.id || change?.targetSlideId || change?.targetId || "").trim(); + if (slideId) { + const byId2 = slides.findIndex((slide) => slide.id === slideId); + if (byId2 >= 0) return byId2; + } + const rawNumber = Number(change?.slideNumber ?? change?.pageNumber); + if (Number.isFinite(rawNumber) && rawNumber > 0) { + return clamp(Math.round(rawNumber) - 1, 0, Math.max(0, slides.length - 1)); + } + const rawIndex = Number(change?.slideIndex ?? change?.index ?? change?.targetSlideIndex); + if (Number.isFinite(rawIndex)) { + if (rawIndex >= slides.length && rawIndex - 1 >= 0 && rawIndex - 1 < slides.length) { + return Math.round(rawIndex) - 1; + } + return clamp(Math.round(rawIndex), 0, Math.max(0, slides.length - 1)); + } + return clamp(fallback, 0, Math.max(0, slides.length - 1)); +} +function resolveInsertIndex(change, slides) { + const afterId = String(change?.afterSlideId || "").trim(); + if (afterId) { + const afterIndex = slides.findIndex((slide) => slide.id === afterId); + if (afterIndex >= 0) return afterIndex + 1; + } + const beforeId = String(change?.beforeSlideId || "").trim(); + if (beforeId) { + const beforeIndex = slides.findIndex((slide) => slide.id === beforeId); + if (beforeIndex >= 0) return beforeIndex; + } + if (change?.afterSlideNumber) { + return clamp(Number(change.afterSlideNumber), 0, slides.length); + } + if (change?.beforeSlideNumber) { + return clamp(Number(change.beforeSlideNumber) - 1, 0, slides.length); + } + if (change?.slideNumber) { + return clamp(Number(change.slideNumber) - 1, 0, slides.length); + } + if (change?.slideIndex !== void 0) { + return clamp(Number(change.slideIndex), 0, slides.length); + } + return Math.min(slides.length, getActiveIndex(state) + 1); +} +function normalizePatchSlide(change, existing, index, slides) { + const rawSlide = change?.slide || change?.replacement || change?.newSlide || change?.payload || change; + if (!rawSlide || typeof rawSlide !== "object") return null; + const slide = { + ...existing || {}, + ...rawSlide, + id: rawSlide.id || rawSlide.slideId || existing?.id || uid("html-slide"), + html: rawSlide.html || rawSlide.sourceHtml || rawSlide.slideHtml || existing?.html || "" + }; + return normalizeSlide(slide, index, { ...state, slides }); +} +function applyDeckPatchPayload(payload, options = {}) { + const changes = payloadPatchChanges(payload); + if (!changes.length) return false; + const slides = clone(state.slides || []); + const changedIds = []; + let applied = 0; + changes.forEach((change) => { + const op = String(change?.op || change?.operation || change?.type || "replace_slide").toLowerCase(); + if (op === "delete_slide" || op === "delete" || op === "remove_slide" || op === "remove") { + if (!slides.length) return; + const index2 = resolvePatchIndex(change, slides, getActiveIndex(state)); + const [removed] = slides.splice(index2, 1); + if (removed?.id) changedIds.push(removed.id); + applied += 1; + return; + } + if (op === "insert_slide" || op === "insert" || op === "add_slide" || op === "add") { + const index2 = resolveInsertIndex(change, slides); + const slide2 = normalizePatchSlide(change, null, index2, slides); + if (!slide2) return; + slides.splice(index2, 0, slide2); + changedIds.push(slide2.id); + applied += 1; + return; + } + const index = resolvePatchIndex(change, slides, getActiveIndex(state)); + const existing = slides[index]; + const slide = normalizePatchSlide(change, existing, index, slides); + if (!slide) return; + slides[index] = slide; + changedIds.push(slide.id); + applied += 1; + }); + if (!applied) throw new Error("PPT Live deck patch had no applicable changes"); + state.title = resolveDeckTitle({ + payload, + state, + instruction: options.instruction || "", + slides + }); + state.slides = slides.map((slide, index) => normalizeSlide(slide, index, { ...state, slides })); + state.outline = Array.isArray(payload.outline) && payload.outline.length ? payload.outline.map(String) : state.slides.map((slide) => slide.title); + const activeId = changedIds.find((id) => state.slides.some((slide) => slide.id === id)); + state.activeSlideId = activeId || state.slides[Math.min(getActiveIndex(state), state.slides.length - 1)]?.id || state.slides[0]?.id || ""; + state.selectedElementId = getActiveSlide(state)?.elements?.[0]?.id || ""; + return true; +} +function normalizeHtmlSlides(payload) { + const candidates = []; + if (Array.isArray(payload?.htmlSlides)) candidates.push(...payload.htmlSlides); + if (Array.isArray(payload?.slides)) candidates.push(...payload.slides.filter((slide) => slide?.html || slide?.sourceHtml || slide?.slideHtml)); + return candidates.map((slide, index) => { + const html = String(slide?.html || slide?.sourceHtml || slide?.slideHtml || "").trim(); + if (!html) return null; + return { + id: slide.id || slide.slideId || uid("html-slide"), + title: String(slide.title || slide.label || `${translate("newSlideTitle")} ${index + 1}`), + subtitle: String(slide.subtitle || ""), + kicker: String(slide.kicker || ""), + claim: String(slide.claim || slide.title || ""), + proofObject: String(slide.proofObject || ""), + supportNote: String(slide.supportNote || ""), + sourceNote: String(slide.sourceNote || ""), + notes: String(slide.notes || ""), + layout: "html", + theme: slide.theme || {}, + html, + elements: [] + }; + }).filter(Boolean); +} +function pickParseableBackendText(...candidates) { + for (const raw of candidates) { + const text2 = String(raw || "").trim(); + if (!text2) continue; + try { + extractBackendJson(text2); + return text2; + } catch { + } + } + return String(candidates.find((raw) => String(raw || "").trim()) || "").trim(); +} +async function waitForBackendResultOrPersistedText(waitForResult, sessionId, turnId, activity = null, options = {}) { + const host = runtime(); + const expectJson = options.expectJson !== false; + if (!sessionId || !turnId || !host.backend?.turnText) return waitForResult; + let settled = false; + const streamedResult = Promise.resolve(waitForResult).finally(() => { + settled = true; + }); + const persistedResult = new Promise((resolve, reject) => { + const startedAt = Date.now(); + const idleTimeoutMs = 5 * 60 * 1e3; + const fallbackPollIdleMs = 10 * 1e3; + const absoluteMaxWaitMs = 60 * 60 * 1e3; + const lastEventAt = () => Number(activity?.lastEventAt || startedAt); + const poll = async () => { + while (!settled && Date.now() - startedAt < absoluteMaxWaitMs) { + const idleForMs = Date.now() - lastEventAt(); + if (idleForMs > idleTimeoutMs) break; + if (idleForMs < fallbackPollIdleMs) { + await new Promise((resolveDelay) => setTimeout( + resolveDelay, + Math.min(1e3, fallbackPollIdleMs - idleForMs) + )); + continue; + } + try { + const result = await host.backend.turnText(sessionId, turnId); + const text2 = String(result?.text || "").trim(); + if (text2) { + if (!expectJson) { + resolve({ answer: text2, thinking: "" }); + return; + } + try { + extractBackendJson(text2); + resolve({ answer: text2, thinking: "" }); + return; + } catch { + } + } + } catch { + } + await new Promise((resolveDelay) => setTimeout(resolveDelay, 2e3)); + } + if (!settled) reject(new Error("PPT Live backend did not publish a final deck JSON")); + }; + void poll(); + }); + return Promise.race([streamedResult, persistedResult]); +} +async function resolveBackendTurnText(sessionId, turnId, streamedText, streamedThinking = "") { + const startedAt = Date.now(); + const maxWaitMs = 25e3; + const answer = String(streamedText || "").trim(); + const thinking = String(streamedThinking || "").trim(); + const tryPick = () => pickParseableBackendText(answer, thinking, `${answer} +${thinking}`.trim()); + let merged = tryPick(); + if (merged) { + try { + extractBackendJson(merged); + return merged; + } catch { + } + } + const host = runtime(); + if (!sessionId || !turnId || !host.backend?.turnText) { + if (!merged) throw new Error("PPT Live backend produced no text"); + return merged; + } + let attempt = 0; + while (Date.now() - startedAt < maxWaitMs && attempt < 8) { + attempt += 1; + try { + const result = await Promise.race([ + host.backend.turnText(sessionId, turnId), + new Promise((_, reject) => { + setTimeout(() => reject(new Error("turnText timeout")), 4e3); + }) + ]); + const persisted = String(result?.text || "").trim(); + merged = pickParseableBackendText(persisted, merged, thinking, answer); + if (merged) { + extractBackendJson(merged); + return merged; + } + } catch (error2) { + } + await new Promise((resolve) => setTimeout(resolve, 500)); + } + if (!merged) throw new Error("PPT Live backend produced no text"); + return merged; +} +function extractBackendJson(text2) { + const raw = String(text2 || "").trim(); + if (!raw) throw new Error("PPT Live backend produced no text"); + try { + return JSON.parse(raw); + } catch { + const fenced = raw.match(/```(?:json)?\s*([\s\S]*?)```/i); + if (fenced) return JSON.parse(fenced[1]); + const start = raw.indexOf("{"); + const end = raw.lastIndexOf("}"); + if (start >= 0 && end > start) return JSON.parse(raw.slice(start, end + 1)); + throw new Error("PPT Live backend returned invalid JSON"); + } +} +function isRoundBudgetBackendError(error2) { + const raw = String(error2?.message || error2 || ""); + return /ppt_live:\/\/round-budget-exhausted|exhausted its \d+-round tool budget|tool budget before producing deck JSON/i.test(raw); +} +function isTimeoutBackendError(error2) { + const message = String(error2 || ""); + return message.includes("timed out"); +} +function isStoppedBackendError(error2) { + const message = String(error2 || ""); + return message.includes("dialog-turn-cancelled") || message.includes("Generation stopped"); +} +async function applyAiAction(action, options = {}) { + const reviseExistingDeck = hasUsableDeckForRevision(); + if (options.readBrief !== false) updateBriefFromInputs({ includeTopic: !reviseExistingDeck }); + const instruction = [action, promptValue()].filter(Boolean).join(": "); + if (!instruction) { + setStatus(translate("promptRequired")); + return; + } + try { + await runPptLiveBackend("revise_slide", instruction, { includeTopic: !reviseExistingDeck }); + } catch (error2) { + if (isStoppedBackendError(error2)) return; + runtime().log?.warn?.("PPT Live backend slide revision failed", { action, error: String(error2) }); + failGenerationFromError(error2); + await persist(true); + } +} +async function restyleDeck() { + updateBriefFromInputs({ includeTopic: !hasUsableDeckForRevision() }); + if ((state.slides || []).some((slide) => String(slide?.html || "").trim())) { + const instruction = `Restyle the existing deck without changing its facts or narrative. Apply these exact settings to every slide HTML: ${JSON.stringify(buildGenerationStyle())}. Preserve each page's informationIntent and visualStrategy while making the deck visually coherent.`; + try { + await runPptLiveBackend("revise_deck", instruction, { includeTopic: false }); + return; + } catch (error2) { + if (isStoppedBackendError(error2)) return; + runtime().log?.warn?.("PPT Live Agent restyle failed", { error: String(error2) }); + failGenerationFromError(error2); + await persist(true); + return; + } + } + state.slides = state.slides.map((slide, index) => normalizeSlide({ ...slide, theme: void 0 }, index, state)); + setStatus(translate("deckRestyled")); + rerender(); + await persist(true); +} +function syncSlidesFromOutline() { + updateBriefFromInputs({ includeTopic: !hasUsableDeckForRevision() }); + const previous = new Map(state.slides.map((slide) => [slide.title, slide])); + state.slides = state.outline.map((title, index) => { + const existing = previous.get(title); + return existing ? normalizeSlide(existing, index, state) : makeSlide(title, index, state.outline.length, state); + }); + state.activeSlideId = state.slides[0]?.id || ""; + state.selectedElementId = state.slides[0]?.elements[0]?.id || ""; + rerender(); + void persist(true); +} +async function newDeck() { + deckEpoch += 1; + await saveHistorySnapshot("before-new"); + await cancelTrackedBackendRuns(); + state.generation.active = false; + setBusy(false); + state = createBlankDeckState(); + resetGeneration(); + rerender(); + syncStylePanelFromState(state); + setStatus(translate("blankDeckReady")); + await persist(true); +} +function createBlankDeckState() { + return ensureState(createInitialState()); +} +function addElement(type) { + if (!ELEMENT_TYPES.includes(type)) return; + const slide = getActiveSlide(state); + if (!slide) return; + const element2 = normalizeElement({ + ...defaultElement(type), + x: 10 + slide.elements.length % 5 * 4, + y: 14 + slide.elements.length % 5 * 4 + }); + slide.elements.push(element2); + state.selectedElementId = element2.id; + rerender(); + void persist(true); +} +function deleteElement() { + const slide = getActiveSlide(state); + if (!slide || !state.selectedElementId) return; + slide.elements = slide.elements.filter((element2) => element2.id !== state.selectedElementId); + state.selectedElementId = slide.elements[0]?.id || ""; + rerender(); + void persist(true); +} +function updateSlideTitleFromElements(slide) { + const titleElement = slide.elements.find((element2) => element2.type === "text" && element2.text); + if (!titleElement) return; + slide.title = titleElement.text.slice(0, 90); + state.outline[getActiveIndex(state)] = slide.title; + if (getActiveIndex(state) === 0) state.title = slide.title; +} +function openPreview() { + state.presentIndex = getActiveIndex(state); + renderPresent(); + $("previewDialog")?.showModal(); +} +function renderPresent() { + const slide = state.slides[state.presentIndex] || state.slides[0]; + if ($("presentSlide")) { + $("presentSlide").innerHTML = slide ? slideHtml(slide) : ""; + hydrateHtmlSlideIframes($("presentSlide")); + } + if ($("presentCounter")) $("presentCounter").textContent = `${Math.max(1, state.presentIndex + 1)} / ${Math.max(1, state.slides.length)}`; + ensureCanvasFitted(); +} +function movePresent(delta) { + state.presentIndex = clamp(state.presentIndex + delta, 0, state.slides.length - 1); + renderPresent(); +} +function exportHtml() { + if (!(state.slides || []).length) { + setExportStatus(translate("exportDeckEmpty")); + return null; + } + updateBriefFromInputs({ includeTopic: !hasUsableDeckForRevision() }); + const filename = downloadHtmlDeck(state); + setExportStatus(translate("exportSavedTo", { path: filename })); + revealDownloadFolder(); + return filename; +} +function ensureExportableDeck() { + updateBriefFromInputs({ includeTopic: !hasUsableDeckForRevision() }); + if (!(state.slides || []).length) { + setExportStatus(translate("exportDeckEmpty")); + return false; + } + return true; +} +function getExportLabels(format) { + const labels = { + html: { + working: translate("exportHtmlWorking"), + done: translate("exportHtmlDone"), + failed: translate("exportHtmlFailed") + }, + pptx: { + working: translate("exportPptxWorking"), + done: translate("exportPptxDone"), + failed: translate("exportPptxFailed") + }, + pdf: { + working: translate("exportPdfWorking"), + done: translate("exportPdfDone"), + failed: translate("exportPdfFailed") + }, + png: { + working: translate("exportPngWorking"), + done: translate("exportPngDone"), + failed: translate("exportPngFailed") + } + }; + return labels[format] || null; +} +function setExportRenderProgress(index, total, format) { + const labels = getExportLabels(format === "pptx" ? "pptx" : format); + if (!labels || total <= 0) return; + const page = Math.min(total, Math.max(1, index + 1)); + setExportModalFeedback("loading", `${labels.working} (${page}/${total})`); +} +async function renderSlidesInHostWebView(slides, format) { + const deck = runtime(); + if (!deck?.deck?.renderPage) { + throw new Error("Host WebView export is unavailable in this runtime."); + } + const pages = []; + const total = slides.length; + for (const [index, slide] of slides.entries()) { + setExportRenderProgress(index, total, format); + const base64 = await deck.deck.renderPage({ + html: slideExportHtml(slide), + format, + width: EXPORT_VIEWPORT.width, + height: EXPORT_VIEWPORT.height + }); + if (!base64) throw new Error(`Host WebView returned empty ${format} for slide ${index + 1}`); + pages.push({ index, base64: String(base64).replace(/^data:.*;base64,/, "") }); + } + return pages; +} +function revealDownloadFolder() { + const reveal = runtime()?.system?.revealInFolder; + if (typeof reveal !== "function") return; + Promise.resolve().then(() => reveal()).catch((error2) => { + runtime().log?.warn?.("PPT Live reveal download folder failed", { error: String(error2) }); + }); +} +async function executeExport(format) { + if (format === "html") { + updateBriefFromInputs({ includeTopic: !hasUsableDeckForRevision() }); + const filename2 = downloadHtmlDeck(state); + if (!filename2) throw new Error(translate("exportDeckEmpty")); + return { filename: filename2 }; + } + const slides = state.slides || []; + if (!slides.length) throw new Error(translate("exportDeckEmpty")); + let result; + const deckPayload = clone(state); + if (format === "pptx") { + if (slides.some((slide) => slide?.html)) { + const hostDeck = runtime(); + const renderRaster = typeof hostDeck?.deck?.renderPage === "function" ? async (html, index) => { + setExportRenderProgress(index, slides.length, "pptx"); + const base642 = await hostDeck.deck.renderPage({ + html, + format: "png", + width: EXPORT_VIEWPORT.width, + height: EXPORT_VIEWPORT.height + }); + return String(base642 || "").replace(/^data:.*;base64,/, ""); + } : null; + const preparedSlides = await prepareSlidesForPptxExport(slides, { + renderRaster, + onRasterProgress: (index) => setExportRenderProgress(index, slides.length, "pptx") + }); + result = await exportPptxPrepared(deckPayload, preparedSlides); + } else { + result = await exportPptxFromDeck(deckPayload); + } + } else if (format === "pdf") { + const pages = await renderSlidesInHostWebView(slides, "pdf"); + result = await exportPdfFromBase64Pages(deckPayload, pages.map((page) => page.base64)); + } else if (format === "png") { + const pages = await renderSlidesInHostWebView(slides, "png"); + result = await exportPngZipFromPages(deckPayload, pages); + } else { + throw new Error(translate("exportFormatUnavailable")); + } + const base64 = typeof result?.base64 === "string" ? result.base64.replace(/^data:.*;base64,/, "") : ""; + if (!base64) throw new Error(`export${format} returned no data`); + const filename = result.filename || `${fileSafe(state.title || "ppt-live")}`; + downloadBase64File( + base64, + filename, + result.mimeType || "application/octet-stream" + ); + return { filename }; +} +var exportInFlight = false; +var handlers = { + updateOutline(index, value2) { + state.outline[index] = value2; + if (state.slides[index]) state.slides[index].title = value2; + rerender(); + void persist(true); + }, + moveOutline(index, delta) { + const next = index + delta; + if (next < 0 || next >= state.outline.length) return; + [state.outline[index], state.outline[next]] = [state.outline[next], state.outline[index]]; + syncSlidesFromOutline(); + }, + removeOutline(index) { + if (state.outline.length <= 1) return; + state.outline.splice(index, 1); + syncSlidesFromOutline(); + }, + selectSlide(id) { + state.activeSlideId = id; + state.selectedElementId = getActiveSlide(state)?.elements[0]?.id || ""; + rerender(); + void persist(true); + }, + selectElement(id) { + state.selectedElementId = id; + renderSlideCanvas(state, handlers); + renderInspector(state, handlers); + void persist(true); + }, + updateElementTextDirect(id, value2) { + const slide = getActiveSlide(state); + const element2 = slide?.elements.find((item) => item.id === id); + if (!element2) return; + element2.text = String(value2 || "").trim(); + updateSlideTitleFromElements(slide); + renderThumbs(state, handlers); + renderOutline(state, handlers); + void persist(false); + }, + updateElementListItemDirect(id, index, value2) { + const slide = getActiveSlide(state); + const element2 = slide?.elements.find((item) => item.id === id); + if (!element2 || !Array.isArray(element2.items)) return; + element2.items[index] = String(value2 || "").trim(); + element2.items = element2.items.filter(Boolean); + renderSlideCanvas(state, handlers); + renderThumbs(state, handlers); + void persist(false); + }, + updateSlideHtmlDirect(id, html) { + const slide = state.slides.find((item) => item.id === id); + if (!slide) return; + const next = String(html || ""); + if (slide.html === next) return; + slide.html = next; + renderThumbs(state, handlers); + void persist(false); + }, + updateSlideNotes(value2) { + const slide = getActiveSlide(state); + if (slide) slide.notes = value2; + void persist(true); + }, + updateSlideMethodology() { + const slide = getActiveSlide(state); + if (!slide) return; + slide.kicker = $("slideKickerInput")?.value || slide.kicker; + slide.claim = $("slideClaimInput")?.value || slide.claim; + slide.proofObject = $("slideProofInput")?.value || slide.proofObject; + slide.supportNote = $("slideSupportInput")?.value || slide.supportNote; + slide.sourceNote = $("slideSourceInput")?.value || slide.sourceNote; + renderSlideCanvas(state, handlers); + renderThumbs(state, handlers); + void persist(true); + }, + updateElementFromInspector() { + const slide = getActiveSlide(state); + const element2 = getSelectedElement(state); + if (!slide || !element2) return; + element2.text = $("elementTextInput")?.value || ""; + element2.items = ($("elementItemsInput")?.value || "").split("\n").map((item) => item.trim()).filter(Boolean); + element2.data = parseChartData($("elementDataInput")?.value || ""); + element2.x = clamp(Number($("elementXInput")?.value ?? element2.x), 0, 100); + element2.y = clamp(Number($("elementYInput")?.value ?? element2.y), 0, 100); + element2.w = clamp(Number($("elementWInput")?.value ?? element2.w), 3, 100); + element2.h = clamp(Number($("elementHInput")?.value ?? element2.h), 3, 100); + element2.style.fontSize = clamp(Number($("elementFontInput")?.value ?? element2.style.fontSize), 8, 88); + element2.style.fontWeight = clamp(Number($("elementWeightInput")?.value ?? element2.style.fontWeight), 100, 900); + element2.style.color = $("elementColorInput")?.value || element2.style.color; + element2.style.background = $("elementBgInput")?.value || element2.style.background; + handlers.updateSlideMethodology(); + slide.notes = $("slideNotesInput")?.value || slide.notes; + updateSlideTitleFromElements(slide); + renderSlideCanvas(state, handlers); + void persist(true); + }, + beginDrag(event, elementId) { + if (event.button !== 0) return; + const slide = getActiveSlide(state); + const element2 = slide?.elements.find((item) => item.id === elementId); + if (!element2) return; + state.selectedElementId = element2.id; + const rect = $("slideCanvas").getBoundingClientRect(); + dragState = { + resizing: event.target.classList.contains("resize-handle"), + startX: event.clientX, + startY: event.clientY, + rect, + start: { x: element2.x, y: element2.y, w: element2.w, h: element2.h } + }; + event.currentTarget.setPointerCapture?.(event.pointerId); + window.addEventListener("pointermove", dragMove); + window.addEventListener("pointerup", endDrag, { once: true }); + } +}; +function dragMove(event) { + if (!dragState) return; + const element2 = getSelectedElement(state); + if (!element2) return; + const dx = (event.clientX - dragState.startX) / dragState.rect.width * 100; + const dy = (event.clientY - dragState.startY) / dragState.rect.height * 100; + if (dragState.resizing) { + element2.w = clamp(dragState.start.w + dx, 3, 100 - element2.x); + element2.h = clamp(dragState.start.h + dy, 3, 100 - element2.y); + } else { + element2.x = clamp(dragState.start.x + dx, 0, 100 - element2.w); + element2.y = clamp(dragState.start.y + dy, 0, 100 - element2.h); + } + renderSlideCanvas(state, handlers); + renderInspector(state, handlers); +} +function endDrag() { + dragState = null; + window.removeEventListener("pointermove", dragMove); + void persist(true); +} +function parseChartData(raw) { + return raw.split("\n").map((line, index) => { + const [label, value2] = line.split(":"); + return { label: (label || `Item ${index + 1}`).trim(), value: Number(value2 || 0) }; + }).filter((point) => point.label); +} +function bindPanelResizers() { + const shell = document.querySelector(".studio-shell"); + if (!shell) return; + const root = document.documentElement; + const storedFilmstrip = Number(safeLocalStorageGet("pptLiveFilmstripWidth") || 0); + const storedAgent = Number(safeLocalStorageGet("pptLiveAgentWidth") || 0); + if (storedFilmstrip >= 128 && storedFilmstrip <= 360) { + root.style.setProperty("--filmstrip-width", `${storedFilmstrip}px`); + } + if (storedAgent >= 240 && storedAgent <= 460) { + root.style.setProperty("--agent-width", `${storedAgent}px`); + } + const dragPanel = (side, startX) => { + const rect = shell.getBoundingClientRect(); + const minFilmstrip = 128; + const maxFilmstrip = Math.min(360, rect.width * 0.34); + const minAgent = 240; + const maxAgent = Math.min(460, rect.width * 0.42); + const minStage = 360; + const onMove = (event) => { + if (side === "filmstrip") { + const next = Math.max(minFilmstrip, Math.min(maxFilmstrip, event.clientX - rect.left)); + if (rect.width - next - parseFloat(getComputedStyle(root).getPropertyValue("--agent-width")) - 12 < minStage) return; + root.style.setProperty("--filmstrip-width", `${next}px`); + } else { + const next = Math.max(minAgent, Math.min(maxAgent, rect.right - event.clientX)); + if (rect.width - next - parseFloat(getComputedStyle(root).getPropertyValue("--filmstrip-width")) - 12 < minStage) return; + root.style.setProperty("--agent-width", `${next}px`); + } + }; + const onUp = () => { + shell.classList.remove("is-resizing"); + document.querySelectorAll(".panel-resizer.is-dragging").forEach((node) => node.classList.remove("is-dragging")); + window.removeEventListener("pointermove", onMove); + window.removeEventListener("pointerup", onUp); + window.removeEventListener("pointercancel", onUp); + safeLocalStorageSet("pptLiveFilmstripWidth", String(parseFloat(getComputedStyle(root).getPropertyValue("--filmstrip-width")) || "")); + safeLocalStorageSet("pptLiveAgentWidth", String(parseFloat(getComputedStyle(root).getPropertyValue("--agent-width")) || "")); + ensureCanvasFitted(); + }; + shell.classList.add("is-resizing"); + window.addEventListener("pointermove", onMove); + window.addEventListener("pointerup", onUp, { once: true }); + window.addEventListener("pointercancel", onUp, { once: true }); + onMove({ clientX: startX }); + }; + $("filmstripResizer")?.addEventListener("pointerdown", (event) => { + if (event.button !== 0) return; + event.preventDefault(); + event.currentTarget.classList.add("is-dragging"); + dragPanel("filmstrip", event.clientX); + }); + $("agentResizer")?.addEventListener("pointerdown", (event) => { + if (event.button !== 0) return; + event.preventDefault(); + event.currentTarget.classList.add("is-dragging"); + dragPanel("agent", event.clientX); + }); +} +function bindEvents() { + let resizeTimer = null; + const scheduleCanvasFit = () => { + if (resizeTimer) clearTimeout(resizeTimer); + resizeTimer = setTimeout(() => { + ensureCanvasFitted(); + }, 60); + }; + window.addEventListener("resize", scheduleCanvasFit); + $("toggleHistory")?.addEventListener("click", () => { + const drawer = $("historyDrawer"); + if (!drawer) return; + drawer.hidden = !drawer.hidden; + }); + $("closeHistory")?.addEventListener("click", () => { + const drawer = $("historyDrawer"); + if (drawer) drawer.hidden = true; + }); + document.querySelectorAll("[data-sidebar-tab]").forEach((button) => { + button.addEventListener("click", () => { + const tab = button.dataset.sidebarTab; + document.querySelectorAll("[data-sidebar-tab]").forEach((node) => { + node.classList.toggle("is-active", node.dataset.sidebarTab === tab); + }); + document.querySelectorAll("[data-sidebar-panel]").forEach((node) => { + node.classList.toggle("is-active", node.dataset.sidebarPanel === tab); + }); + }); + }); + $("topicInput")?.addEventListener("input", () => { + const reviseExistingDeck = hasUsableDeckForRevision(); + if (reviseExistingDeck) { + state.promptDraft = $("topicInput")?.value || ""; + void persist(true); + return; + } + updateBriefFromInputs({ includeTopic: true }); + void persist(true); + }); + $("newDeck")?.addEventListener("click", () => void newDeck()); + $("cancelGeneration")?.addEventListener("click", () => void stopBackendRun(false)); + $("sendPrompt")?.addEventListener("click", () => void handlePromptSubmit()); + $("generateOutline")?.addEventListener("click", () => void generateOutline()); + $("generateDeck")?.addEventListener("click", () => void generateDeckFromPrompt()); + $("addOutlineItem")?.addEventListener("click", () => { + state.outline.push(translate("newSlideTitle")); + rerender(); + void persist(true); + }); + $("syncSlidesFromOutline")?.addEventListener("click", syncSlidesFromOutline); + $("deleteElement")?.addEventListener("click", deleteElement); + $("previewDeck")?.addEventListener("click", openPreview); + $("closePreview")?.addEventListener("click", () => $("previewDialog")?.close()); + $("prevPresent")?.addEventListener("click", () => movePresent(-1)); + $("nextPresent")?.addEventListener("click", () => movePresent(1)); + $("exportHtml")?.addEventListener("click", exportHtml); + $("restyleDeck")?.addEventListener("click", restyleDeck); + document.querySelectorAll("[data-add-element]").forEach((button) => { + button.addEventListener("click", () => addElement(button.dataset.addElement)); + }); + document.querySelectorAll(".ai-action").forEach((button) => { + button.addEventListener("click", () => void applyAiAction(button.dataset.action)); + }); + document.querySelectorAll(".segment").forEach((button) => { + button.addEventListener("click", () => { + state.mode = button.dataset.mode; + if (state.mode === "present") openPreview(); + rerender(); + void persist(true); + }); + }); + document.addEventListener("keydown", (event) => { + if (!$("previewDialog")?.open) return; + if (event.key === "ArrowRight" || event.key === "PageDown") movePresent(1); + if (event.key === "ArrowLeft" || event.key === "PageUp") movePresent(-1); + if (event.key === "Escape") $("previewDialog")?.close(); + }); + try { + bindPanelResizers(); + } catch (error2) { + runtime().log?.warn?.("Failed to bind PPT Live panel resizers", { error: String(error2) }); + } + if (typeof ResizeObserver !== "undefined") { + const fitTargets = [ + document.querySelector(".ppt-live"), + document.querySelector(".studio-shell"), + document.querySelector(".stage-shell"), + document.querySelector(".canvas-area") + ].filter(Boolean); + const layoutObserver = new ResizeObserver(scheduleCanvasFit); + fitTargets.forEach((node) => layoutObserver.observe(node)); + } + bindCanvasZoom(); + bindFloatingToolbar(); + bindPropertyPanels(); + bindExportModal(); + bindHostTheme(); +} +var currentZoom = 1; +var ZOOM_STEP = 0.25; +var ZOOM_MIN = 0.25; +var ZOOM_MAX = 2; +function setCanvasZoom(zoom) { + currentZoom = clamp(zoom, ZOOM_MIN, ZOOM_MAX); + const stage = document.querySelector(".canvas-stage"); + if (stage) stage.style.transform = currentZoom === 1 ? "" : `scale(${currentZoom})`; + const zoomValue = $("zoomValue"); + const statusZoomValue = $("statusZoomValue"); + const pct2 = Math.round(currentZoom * 100) + "%"; + if (zoomValue) zoomValue.textContent = pct2; + if (statusZoomValue) statusZoomValue.textContent = pct2; +} +function bindCanvasZoom() { + $("zoomIn")?.addEventListener("click", () => setCanvasZoom(currentZoom + ZOOM_STEP)); + $("zoomOut")?.addEventListener("click", () => setCanvasZoom(currentZoom - ZOOM_STEP)); + $("statusZoomIn")?.addEventListener("click", () => setCanvasZoom(currentZoom + ZOOM_STEP)); + $("statusZoomOut")?.addEventListener("click", () => setCanvasZoom(currentZoom - ZOOM_STEP)); + document.querySelector(".canvas-area")?.addEventListener("wheel", (e) => { + if (e.ctrlKey || e.metaKey) { + e.preventDefault(); + const delta = e.deltaY > 0 ? -ZOOM_STEP : ZOOM_STEP; + setCanvasZoom(currentZoom + delta); + } + }, { passive: false }); +} +function bindFloatingToolbar() { + const toolbar = $("floatingToolbar"); + if (!toolbar) return; + document.querySelectorAll(".floating-toolbar-btn").forEach((btn) => { + btn.addEventListener("click", () => { + const tool = btn.dataset.tool; + if (!tool) return; + const slide = getActiveSlide(state); + const element2 = getSelectedElement(state); + if (!slide || !element2) return; + switch (tool) { + case "bold": + element2.fontWeight = element2.fontWeight === "700" ? "400" : "700"; + break; + case "italic": + element2.fontStyle = element2.fontStyle === "italic" ? "normal" : "italic"; + break; + case "underline": + element2.textDecoration = element2.textDecoration === "underline" ? "none" : "underline"; + break; + case "align-left": + element2.align = "left"; + break; + case "align-center": + element2.align = "center"; + break; + case "align-right": + element2.align = "right"; + break; + case "duplicate": + slide.elements.push({ ...clone(element2), id: uid("el"), x: element2.x + 5, y: element2.y + 5 }); + break; + case "delete": + slide.elements = slide.elements.filter((el) => el.id !== element2.id); + state.selectedElementId = null; + break; + } + renderSlideCanvas(state, handlers); + renderThumbs(state, handlers); + void persist(true); + }); + }); +} +function bindPropertyPanels() { + document.querySelectorAll(".property-section__header").forEach((header) => { + const section = header.closest(".property-section"); + if (!section) return; + const toggle = () => { + section.classList.toggle("is-collapsed"); + const expanded = !section.classList.contains("is-collapsed"); + header.setAttribute("aria-expanded", String(expanded)); + }; + header.addEventListener("click", toggle); + header.addEventListener("keydown", (e) => { + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + toggle(); + } + }); + }); + const densitySlider = $("densitySlider"); + const densityTrack = densitySlider?.querySelector(".density-slider__track"); + if (densitySlider && densityTrack) { + densityTrack.addEventListener("pointerdown", (event) => { + event.preventDefault(); + setDensitySliderUi(pickDensityIndexFromClientX(event.clientX, densityTrack)); + densityTrack.setPointerCapture(event.pointerId); + }); + densityTrack.addEventListener("pointermove", (event) => { + if (!densityTrack.hasPointerCapture(event.pointerId)) return; + setDensitySliderUi(pickDensityIndexFromClientX(event.clientX, densityTrack)); + }); + densityTrack.addEventListener("pointerup", (event) => { + if (!densityTrack.hasPointerCapture(event.pointerId)) return; + densityTrack.releasePointerCapture(event.pointerId); + }); + densityTrack.addEventListener("pointercancel", (event) => { + if (!densityTrack.hasPointerCapture(event.pointerId)) return; + densityTrack.releasePointerCapture(event.pointerId); + syncDensitySlider(state.style?.density); + }); + densitySlider.querySelectorAll("[data-density-index]").forEach((tick) => { + tick.addEventListener("click", (event) => { + event.stopPropagation(); + setDensitySliderUi(tick.dataset.densityIndex); + }); + }); + densitySlider.addEventListener("keydown", (event) => { + const densitySliderRoot = $("densitySlider"); + const currentIndex = Number(densitySliderRoot?.dataset.index ?? 1); + if (event.key === "ArrowLeft" || event.key === "ArrowDown") { + event.preventDefault(); + setDensitySliderUi(currentIndex - 1); + } else if (event.key === "ArrowRight" || event.key === "ArrowUp") { + event.preventDefault(); + setDensitySliderUi(currentIndex + 1); + } else if (event.key === "Home") { + event.preventDefault(); + setDensitySliderUi(0); + } else if (event.key === "End") { + event.preventDefault(); + setDensitySliderUi(2); + } + }); + } + document.querySelectorAll("[data-font-family]").forEach((button) => { + button.addEventListener("click", () => { + syncFontFamilyToggle(button.dataset.fontFamily === "serif" ? "serif" : "sans"); + }); + }); + document.querySelectorAll("[data-color-mode]").forEach((button) => { + button.addEventListener("click", () => { + syncColorModeToggle(button.dataset.colorMode === "dark" ? "dark" : "light"); + }); + }); + const stylePresetSelect = $("stylePresetSelect"); + if (stylePresetSelect) { + renderStylePresetOptions(); + enhanceFlatSelect(stylePresetSelect); + syncStylePanelFromState(state); + stylePresetSelect.addEventListener("change", () => { + const selected = stylePresetSelect.value; + if (!selected) return; + const preset = getStylePreset(selected); + if (preset) { + syncColorModeToggle(preset.colorMode || "light"); + syncFontFamilyToggle(preset.fontFamily || "sans"); + setDensitySliderUi(densityToIndex(preset.density || "standard")); + } + refreshFlatSelect(stylePresetSelect); + }); + } +} +var exportPreviewIndex = 0; +function getSelectedExportFormat() { + return $("formatGrid")?.querySelector(".format-card.is-selected")?.dataset.format || "pptx"; +} +function openExportModal() { + const overlay = $("exportOverlay"); + if (!overlay) return; + resetExportModalFeedback(); + exportPreviewIndex = Math.max(0, getActiveIndex(state)); + overlay.classList.add("is-visible"); + overlay.setAttribute("aria-hidden", "false"); + renderExportFormats(); + updateExportPreview(); + requestAnimationFrame(() => fitExportPreview()); +} +function fitExportPreview() { + fitExportPreviewFrame($("exportPreviewFrame")); +} +function resetExportModalFeedback() { + const feedback = $("exportModalFeedback"); + const text2 = $("exportModalFeedbackText"); + const spinner = $("exportModalSpinner"); + $("exportOverlay")?.classList.remove("is-exporting"); + if (feedback) { + feedback.hidden = true; + feedback.classList.remove("is-success", "is-error"); + } + if (text2) text2.textContent = ""; + if (spinner) spinner.hidden = false; + setExportModalBusy(false); +} +function setExportModalBusy(nextBusy) { + ["exportCancel", "exportConfirm", "closeExport"].forEach((id) => { + const node = $(id); + if (node) node.disabled = nextBusy; + }); + $("formatGrid")?.querySelectorAll(".format-card").forEach((card) => { + card.tabIndex = nextBusy ? -1 : 0; + card.style.pointerEvents = nextBusy ? "none" : ""; + }); + ["exportPreviewPrev", "exportPreviewNext"].forEach((id) => { + const node = $(id); + if (node) node.disabled = nextBusy; + }); +} +function setExportModalFeedback(mode, message) { + const feedback = $("exportModalFeedback"); + const text2 = $("exportModalFeedbackText"); + const spinner = $("exportModalSpinner"); + if (!feedback || !text2) return; + feedback.hidden = false; + feedback.classList.toggle("is-success", mode === "success"); + feedback.classList.toggle("is-error", mode === "error"); + if (spinner) spinner.hidden = mode !== "loading"; + text2.textContent = message; +} +function closeExportModal() { + const overlay = $("exportOverlay"); + if (!overlay) return; + overlay.classList.remove("is-visible"); + overlay.setAttribute("aria-hidden", "true"); + resetExportModalFeedback(); +} +function renderExportFormats() { + const grid = $("formatGrid"); + if (!grid) return; + const formats = [ + { id: "pptx", name: "PPTX", desc: "Editable PowerPoint" }, + { id: "pdf", name: "PDF", desc: "Universal format" }, + { id: "html", name: "HTML", desc: "Interactive web deck" }, + { id: "png", name: "PNG", desc: "Image sequence" } + ]; + grid.innerHTML = formats.map((f, i) => ` +
          -
          ${of(t.id)}
          - ${t.name} - ${t.desc} +
          ${exportFormatIcon(f.id)}
          + ${f.name} + ${f.desc}
          - `).join(""),e.querySelectorAll(".format-card").forEach(t=>{let n=()=>{e.querySelectorAll(".format-card").forEach(i=>i.classList.remove("is-selected")),t.classList.add("is-selected"),Qo()};t.addEventListener("click",n),t.addEventListener("keydown",i=>{(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),n())})})}function Gb(e,r){if(!e||!r)return;e.innerHTML="";let t=document.createElement("div");t.className="export-preview__viewport";let n=document.createElement("div");if(n.className="export-preview__scale",r.html)n.appendChild(zc(r.html));else{let i=document.createElement("div");i.className="export-preview__element-stage",i.innerHTML=un(r),Bi(i),n.append(i)}t.append(n),e.append(t),requestAnimationFrame(()=>{bi(),requestAnimationFrame(()=>bi())})}function Qo(){let e=ke("exportPreviewInfo"),r=ke("exportPreviewCounter"),t=ke("exportPreviewFrame"),n=X.slides||[],i=jf().toUpperCase(),a=Math.max(1,n.length);if(tn=mt(tn,0,Math.max(0,n.length-1)),e&&(e.textContent=`${i} \xB7 ${n.length} slides`),r&&(r.textContent=`${tn+1} / ${a}`),!t)return;let o=n[tn];if(!o){t.innerHTML=`
          ${Ne(J("slidesEmptyHint"))}
          `;return}Gb(t,o)}async function jb(){if(qo||!Db())return;let e=jf(),r=Uf(e);if(!r){yi(J("exportFormatUnavailable"));return}qo=!0,ke("exportOverlay")?.classList.add("is-exporting"),Vl(!0),Vo("loading",r.working);let t=ke("exportPreviewFrame"),n=t?.innerHTML||"";try{let{filename:i}=await Eb(e),a=J("exportSavedTo",{path:i});ke("exportOverlay")?.classList.remove("is-exporting"),Vo("success",a),yi(a),Wf(),await new Promise(o=>setTimeout(o,1600)),Xo()}catch(i){let a=i instanceof Error?i.message:String(i);st().log?.error?.(`PPT Live ${e} export failed`,{error:a}),ke("exportOverlay")?.classList.remove("is-exporting"),Vo("error",`${r.failed} ${a}`),yi(`${r.failed} ${a}`)}finally{t&&n&&(t.innerHTML=n),Vl(!1),qo=!1}}function qb(){if(ke("exportPptx")?.addEventListener("click",()=>Ub()),ke("closeExport")?.addEventListener("click",Xo),ke("exportCancel")?.addEventListener("click",Xo),ke("exportConfirm")?.addEventListener("click",()=>{jb()}),ke("exportOverlay")?.addEventListener("click",e=>{e.target===ke("exportOverlay")&&!qo&&Xo()}),ke("exportPreviewPrev")?.addEventListener("click",()=>{tn=Math.max(0,tn-1),Qo(),requestAnimationFrame(()=>bi())}),ke("exportPreviewNext")?.addEventListener("click",()=>{let e=(X.slides||[]).length-1;tn=Math.min(e,tn+1),Qo(),requestAnimationFrame(()=>bi())}),typeof ResizeObserver<"u"){let e=ke("exportPreviewFrame");e&&new ResizeObserver(()=>{ke("exportOverlay")?.classList.contains("is-visible")&&bi()}).observe(e)}}var wf="pptLiveTheme";function Vf(e){return e==="dark"||e==="light"?e:window.matchMedia?.("(prefers-color-scheme: dark)")?.matches?"dark":"light"}function Vb(){let e=document.documentElement.getAttribute("data-theme-type")||document.documentElement.getAttribute("data-theme");if(e==="dark"||e==="light")return e;let r=st().theme;return r==="dark"||r==="light"?r:Vf()}function xf(e){let r=Vf(e),t=document.documentElement;t.setAttribute("data-theme",r),t.setAttribute("data-theme-type",r),t.style.colorScheme=r,Ln(),Yt()}function Xb(){try{localStorage.removeItem(wf)}catch{Ko.delete(wf)}xf(Vb()),st().onThemeChange?.(e=>{let r=e?.type==="dark"?"dark":"light";xf(r)})}async function Hb(){Xn+=1,Tn=[],ga=!1,jo=!1,(X.generation?.active||X.generation?.steps?.some(r=>r.status==="running"))&&(Ef(J("generationStopped")),Yo()),wi(!1);let e=st();e.backend?.cancelStaleRuns&&e.backend.cancelStaleRuns().catch(r=>{st().log?.warn?.("Failed to cancel stale PPT Live backend runs",{error:String(r)})})}function Xf(){let e=ke("stylePresetSelect");if(!e)return;let r=e.value||X.style?.stylePreset||an;e.textContent="",ac(Lr()).forEach(({key:t,displayName:n,description:i})=>{let a=document.createElement("option");a.value=t,a.textContent=n,i&&(a.title=i),e.append(a)}),e.value=r,e.selectedIndex<0&&(e.value=an),Ci(e)}function Ho(){X.generation=ki(X.generation),Dc(),Xf();let e=ke("aiStatusPill");e&&(e.textContent=Fn?J("statusPillBusy"):J("statusPillReady")),Yt()}async function Kb(){Ho();try{await Py(),await Hb(),Ho(),Ei(X),await Pt(!0)}catch(e){st().log?.error?.("PPT Live init failed",{error:String(e)}),Zt(J("ready")),Ho()}finally{Ln()}}Nb();_a();st().onLocaleChange?.(()=>Ho());Kb(); + `).join(""); + grid.querySelectorAll(".format-card").forEach((card) => { + const select = () => { + grid.querySelectorAll(".format-card").forEach((c) => c.classList.remove("is-selected")); + card.classList.add("is-selected"); + updateExportPreview(); + }; + card.addEventListener("click", select); + card.addEventListener("keydown", (e) => { + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + select(); + } + }); + }); +} +function mountExportPreviewSlide(frame, slide) { + if (!frame || !slide) return; + frame.innerHTML = ""; + const viewport = document.createElement("div"); + viewport.className = "export-preview__viewport"; + const scaleWrap = document.createElement("div"); + scaleWrap.className = "export-preview__scale"; + if (slide.html) { + scaleWrap.appendChild(buildExportPreviewStage(slide.html)); + } else { + const stage = document.createElement("div"); + stage.className = "export-preview__element-stage"; + stage.innerHTML = slideHtml(slide); + hydrateHtmlSlideIframes(stage); + scaleWrap.append(stage); + } + viewport.append(scaleWrap); + frame.append(viewport); + requestAnimationFrame(() => { + fitExportPreview(); + requestAnimationFrame(() => fitExportPreview()); + }); +} +function updateExportPreview() { + const info = $("exportPreviewInfo"); + const counter = $("exportPreviewCounter"); + const frame = $("exportPreviewFrame"); + const slides = state.slides || []; + const format = getSelectedExportFormat().toUpperCase(); + const total = Math.max(1, slides.length); + exportPreviewIndex = clamp(exportPreviewIndex, 0, Math.max(0, slides.length - 1)); + if (info) info.textContent = `${format} \xB7 ${slides.length} slides`; + if (counter) counter.textContent = `${exportPreviewIndex + 1} / ${total}`; + if (!frame) return; + const slide = slides[exportPreviewIndex]; + if (!slide) { + frame.innerHTML = `
          ${escapeHtml(translate("slidesEmptyHint"))}
          `; + return; + } + mountExportPreviewSlide(frame, slide); +} +async function confirmExportFromModal() { + if (exportInFlight) return; + if (!ensureExportableDeck()) return; + const format = getSelectedExportFormat(); + const labels = getExportLabels(format); + if (!labels) { + setExportStatus(translate("exportFormatUnavailable")); + return; + } + exportInFlight = true; + $("exportOverlay")?.classList.add("is-exporting"); + setExportModalBusy(true); + setExportModalFeedback("loading", labels.working); + const previewFrame = $("exportPreviewFrame"); + const previewSnapshot = previewFrame?.innerHTML || ""; + try { + const { filename } = await executeExport(format); + const savedMessage = translate("exportSavedTo", { path: filename }); + $("exportOverlay")?.classList.remove("is-exporting"); + setExportModalFeedback("success", savedMessage); + setExportStatus(savedMessage); + revealDownloadFolder(); + await new Promise((resolve) => setTimeout(resolve, 1600)); + closeExportModal(); + } catch (error2) { + const message = error2 instanceof Error ? error2.message : String(error2); + runtime().log?.error?.(`PPT Live ${format} export failed`, { error: message }); + $("exportOverlay")?.classList.remove("is-exporting"); + setExportModalFeedback("error", `${labels.failed} ${message}`); + setExportStatus(`${labels.failed} ${message}`); + } finally { + if (previewFrame && previewSnapshot) previewFrame.innerHTML = previewSnapshot; + setExportModalBusy(false); + exportInFlight = false; + } +} +function bindExportModal() { + $("exportPptx")?.addEventListener("click", () => openExportModal()); + $("closeExport")?.addEventListener("click", closeExportModal); + $("exportCancel")?.addEventListener("click", closeExportModal); + $("exportConfirm")?.addEventListener("click", () => { + void confirmExportFromModal(); + }); + $("exportOverlay")?.addEventListener("click", (e) => { + if (e.target === $("exportOverlay") && !exportInFlight) closeExportModal(); + }); + $("exportPreviewPrev")?.addEventListener("click", () => { + exportPreviewIndex = Math.max(0, exportPreviewIndex - 1); + updateExportPreview(); + requestAnimationFrame(() => fitExportPreview()); + }); + $("exportPreviewNext")?.addEventListener("click", () => { + const max = (state.slides || []).length - 1; + exportPreviewIndex = Math.min(max, exportPreviewIndex + 1); + updateExportPreview(); + requestAnimationFrame(() => fitExportPreview()); + }); + if (typeof ResizeObserver !== "undefined") { + const previewFrame = $("exportPreviewFrame"); + if (previewFrame) { + new ResizeObserver(() => { + if ($("exportOverlay")?.classList.contains("is-visible")) fitExportPreview(); + }).observe(previewFrame); + } + } +} +var THEME_STORAGE_KEY = "pptLiveTheme"; +function resolveTheme(theme) { + if (theme === "dark" || theme === "light") return theme; + if (window.matchMedia?.("(prefers-color-scheme: dark)")?.matches) return "dark"; + return "light"; +} +function getHostTheme() { + const attrTheme = document.documentElement.getAttribute("data-theme-type") || document.documentElement.getAttribute("data-theme"); + if (attrTheme === "dark" || attrTheme === "light") return attrTheme; + const hostTheme = runtime().theme; + if (hostTheme === "dark" || hostTheme === "light") return hostTheme; + return resolveTheme(); +} +function applyTheme(theme) { + const resolved = resolveTheme(theme); + const root = document.documentElement; + root.setAttribute("data-theme", resolved); + root.setAttribute("data-theme-type", resolved); + root.style.colorScheme = resolved; + ensureCanvasFitted(); + rerender(); +} +function bindHostTheme() { + try { + localStorage.removeItem(THEME_STORAGE_KEY); + } catch { + memoryStorage.delete(THEME_STORAGE_KEY); + } + applyTheme(getHostTheme()); + runtime().onThemeChange?.((payload) => { + const next = payload?.type === "dark" ? "dark" : "light"; + applyTheme(next); + }); +} +async function recoverFromRestart() { + deckEpoch += 1; + backendRuns = []; + backendRunInFlight = false; + promptSubmitGuard = false; + if (state.generation?.active || state.generation?.steps?.some((step) => step.status === "running")) { + finishGenerationUi(translate("generationStopped")); + resetGeneration(); + } + setBusy(false); + const host = runtime(); + if (host.backend?.cancelStaleRuns) { + void host.backend.cancelStaleRuns().catch((error2) => { + runtime().log?.warn?.("Failed to cancel stale PPT Live backend runs", { error: String(error2) }); + }); + } +} +function renderStylePresetOptions() { + const stylePresetSelect = $("stylePresetSelect"); + if (!stylePresetSelect) return; + const selected = stylePresetSelect.value || state.style?.stylePreset || DEFAULT_STYLE_PRESET; + stylePresetSelect.textContent = ""; + getAllStylePresets(getLocale()).forEach(({ key, displayName, description }) => { + const option = document.createElement("option"); + option.value = key; + option.textContent = displayName; + if (description) option.title = description; + stylePresetSelect.append(option); + }); + stylePresetSelect.value = selected; + if (stylePresetSelect.selectedIndex < 0) stylePresetSelect.value = DEFAULT_STYLE_PRESET; + refreshFlatSelect(stylePresetSelect); +} +function syncLocale() { + state.generation = normalizeGeneration(state.generation); + applyI18n(); + renderStylePresetOptions(); + const pill = $("aiStatusPill"); + if (pill) pill.textContent = busy ? translate("statusPillBusy") : translate("statusPillReady"); + rerender(); +} +async function init() { + syncLocale(); + try { + await loadState(); + await recoverFromRestart(); + syncLocale(); + syncStylePanelFromState(state); + await persist(true); + } catch (error2) { + runtime().log?.error?.("PPT Live init failed", { error: String(error2) }); + setStatus(translate("ready")); + syncLocale(); + } finally { + ensureCanvasFitted(); + } +} +bindEvents(); +observeThumbPreviews(); +runtime().onLocaleChange?.(() => syncLocale()); +init(); diff --git a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/meta.json b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/meta.json index 69dee0f1f9..76719d7e84 100644 --- a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/meta.json +++ b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/meta.json @@ -10,7 +10,7 @@ "ppt", "ai" ], - "version": 196, + "version": 203, "created_at": 0, "updated_at": 0, "permissions": { diff --git a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/export-bundle-entry.mjs b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/export-bundle-entry.mjs deleted file mode 100644 index c170329cc9..0000000000 --- a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/export-bundle-entry.mjs +++ /dev/null @@ -1,7 +0,0 @@ -export { - exportPptxFromDeck, - exportPptxPrepared, - exportPdfFromBase64Pages, - exportPngZipFromPages, - exportFileSafe, -} from './export-deck-browser.js'; diff --git a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/export-deck-browser.js b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/export-deck-browser.js index 68ad032760..2c7d6bfe07 100644 --- a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/export-deck-browser.js +++ b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/export-deck-browser.js @@ -1,3 +1,14 @@ +// ───────────────────────────────────────────────────────────────────────────── +// PPTX / PDF / PNG Export Functions +// +// exportPptxPrepared() — builds a PPTX deck from prepared slideData + raster +// backgrounds (the main export path for HTML-based slides). +// exportPptxFromDeck() — builds a PPTX from element-model slides (no HTML). +// exportPdfFromBase64Pages() — merges rendered PDF pages. +// exportPngZipFromPages() — zips rendered PNG slides. +// +// All functions return { filename, mimeType, base64 } for browser download. +// ───────────────────────────────────────────────────────────────────────────── import { PDFDocument } from 'pdf-lib'; import JSZip from 'jszip'; import { diff --git a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/export-deck-host.js b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/export-deck-host.js index 2cc0927493..669d25223d 100644 --- a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/export-deck-host.js +++ b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/export-deck-host.js @@ -1,6 +1,9 @@ +// Direct re-export from source — no intermediate vendor bundle needed. +// build-bitfun.mjs (esbuild, bundle:true) resolves all npm dependencies +// (pptxgenjs, pdf-lib, jszip) at final bundle time. export { exportPptxFromDeck, exportPptxPrepared, exportPdfFromBase64Pages, exportPngZipFromPages, -} from './vendor/ppt-export.bundle.mjs'; +} from './export-deck-browser.js'; diff --git a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/export-slide-browser.js b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/export-slide-browser.js index 3bfede6cc6..e992c30545 100644 --- a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/export-slide-browser.js +++ b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/export-slide-browser.js @@ -1,3 +1,15 @@ +// ───────────────────────────────────────────────────────────────────────────── +// Slide Preparation Orchestrator +// +// prepareSlidesForPptxExport() is the entry point for the PPTX export pipeline: +// 1. Mount slide HTML in an off-screen shadow-DOM div (1280×720) +// 2. sanitizeSlideDocumentRoot() — normalize/repair the HTML for export +// 3. extractSlideDataFromDocument() — walk DOM → structured slideData +// 4. Optionally rasterize a background layer (text hidden) for visual fidelity +// +// The prepared slideData is then passed to export-deck-browser.js → +// pptx-html-build.js for the actual PPTX generation. +// ───────────────────────────────────────────────────────────────────────────── import { normalizeSlideDocument, scopeSlideAuthorStyles } from './render.js'; import { sanitizeSlideDocumentRoot } from './sanitize-slide-html.js'; import { extractSlideDataFromDocument, measureBodyDimensions } from './html2pptx-dom-core.js'; diff --git a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/html2pptx-dom-core.js b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/html2pptx-dom-core.js index 4a2671872e..9eb0b9d976 100644 --- a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/html2pptx-dom-core.js +++ b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/html2pptx-dom-core.js @@ -1,3 +1,18 @@ +// ───────────────────────────────────────────────────────────────────────────── +// HTML → PPTX Slide Data Extraction (Stage 1 of 2) +// +// extractSlideDataFromDocument() walks a live DOM document and produces a +// structured slideData object: { background, elements[], placeholders[], errors[] }. +// +// Each element has: { type, position: {x,y,w,h in inches}, style: {...}, text } +// Positions come from getBoundingClientRect() (border-box), converted to inches. +// +// This file handles EXTRACTION only. The slideData is then passed to +// pptx-html-build.js which maps it to pptxgenjs API calls (Stage 2). +// +// Unit conversions: 96 px = 1 inch, 1 px = 0.75 pt, PPTX uses inches/EMU. +// Slide canvas: 1280×720 px = 13.333"×7.5" (LAYOUT_WIDE). +// ───────────────────────────────────────────────────────────────────────────── export const PT_PER_PX = 0.75; export const PX_PER_IN = 96; @@ -523,19 +538,31 @@ export function extractSlideDataFromDocument(doc = document) { : expandTextFrame(el, rect, rotation); const isBold = computed.fontWeight === 'bold' || parseInt(computed.fontWeight, 10) >= 600; + // The element's CSS padding defines how far the text is inset from the + // element's border edge. In HTML, getBoundingClientRect() returns the + // border-box, and the browser renders text inside the content-box + // (border-box minus padding). To reproduce this in PPTX, we keep the + // frame at the border-box and set the PPTX internal margin (= inset) + // to the element's padding. This prevents text from shifting up-left + // when the element has non-zero padding. + const padL = parseFloat(computed.paddingLeft) || 0; + const padR = parseFloat(computed.paddingRight) || 0; + const padT = parseFloat(computed.paddingTop) || 0; + const padB = parseFloat(computed.paddingBottom) || 0; + const textInset = [padL, padR, padT, padB].some((v) => v > 0) + ? [pxToInch(padL), pxToInch(padR), pxToInch(padB), pxToInch(padT)] + : 0; + const baseStyle = { fontSize: pxToPoints(computed.fontSize), fontFace: computed.fontFamily.split(',')[0].replace(/['"]/g, '').trim(), color: resolveTextColor(computed, el), align: resolveTextAlign(computed), - valign: exactFrame ? resolveVerticalAlign(computed, rect) : 'top', + valign: resolveVerticalAlign(computed, rect), lineSpacing: resolveLineSpacing(computed), paraSpaceBefore: 0, paraSpaceAfter: 0, - // inset: 0 — the element's padding is already reflected in its - // getBoundingClientRect(); setting it again as a PPT margin would - // double-indent the text inside the frame. - margin: 0, + margin: textInset, }; const transparency = extractAlpha(computed.color); @@ -697,6 +724,13 @@ export function extractSlideDataFromDocument(doc = document) { // Use the first text element's computed style as the textbox-level base // (align / lineSpacing / paraSpace are paragraph/textbox-level in pptxgenjs, not per-run). const firstComputed = view.getComputedStyle(textDescendants[0]); + // Preserve the merge container's padding as PPTX internal margin so + // text stays inset from the frame edges like it does in HTML. + // (mergeComputed was declared earlier — line ~642) + const mPadL = pxToInch(parseFloat(mergeComputed.paddingLeft) || 0); + const mPadR = pxToInch(parseFloat(mergeComputed.paddingRight) || 0); + const mPadT = pxToInch(parseFloat(mergeComputed.paddingTop) || 0); + const mPadB = pxToInch(parseFloat(mergeComputed.paddingBottom) || 0); const baseStyle = { fontSize: pxToPoints(firstComputed.fontSize), fontFace: firstComputed.fontFamily.split(',')[0].replace(/['"]/g, '').trim(), @@ -705,7 +739,7 @@ export function extractSlideDataFromDocument(doc = document) { lineSpacing: resolveLineSpacing(firstComputed), paraSpaceBefore: 0, paraSpaceAfter: 0, - margin: 0, + margin: [mPadL, mPadR, mPadB, mPadT].some((v) => v > 0) ? [mPadL, mPadR, mPadB, mPadT] : 0, }; const baseTransparency = extractAlpha(firstComputed.color); if (baseTransparency !== null) baseStyle.transparency = baseTransparency; @@ -1078,6 +1112,13 @@ export function extractSlideDataFromDocument(doc = document) { const listFrame = expandTextFrame(el, rect, null); + // UL/OL padding: paddingLeft is already split into bullet margin + + // text indent below. The remaining padding (top/right/bottom) must + // be preserved as PPTX internal margin so text doesn't shift. + const ulPadR = pxToInch(parseFloat(ulComputed.paddingRight) || 0); + const ulPadT = pxToInch(parseFloat(ulComputed.paddingTop) || 0); + const ulPadB = pxToInch(parseFloat(ulComputed.paddingBottom) || 0); + pushElement({ type: 'list', items: items, @@ -1098,7 +1139,7 @@ export function extractSlideDataFromDocument(doc = document) { paraSpaceBefore: 0, paraSpaceAfter: pxToPoints(computed.marginBottom), // PptxGenJS margin array is [left, right, bottom, top] - margin: [marginLeft, 0, 0, 0] + margin: [marginLeft, ulPadR, ulPadB, ulPadT] } }, el); diff --git a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/pptx-html-build.js b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/pptx-html-build.js index 1ecc48da8c..d171d9013e 100644 --- a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/pptx-html-build.js +++ b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/pptx-html-build.js @@ -1,3 +1,18 @@ +// ───────────────────────────────────────────────────────────────────────────── +// Slide Data → PPTX Build (Stage 2 of 2) +// +// buildSlideFromExtracted() takes the slideData from html2pptx-dom-core.js and +// maps each element to pptxgenjs API calls (addText, addImage, addShape, etc.). +// +// Key design decisions: +// WIDTH_SAFETY_IN — text boxes are widened by 0.15" to absorb cross-renderer +// font metric drift (PowerPoint renders CJK glyphs slightly wider than +// browsers). safeTextBoxGeometry() shifts the x coordinate for right/center +// aligned text so the extra width doesn't shift the visual anchor. +// margin — set from the element's CSS padding so PPTX internal inset matches +// the HTML box model (prevents text from shifting toward top-left). +// valign — resolved from CSS flex/grid align-items or line-height ratio. +// ───────────────────────────────────────────────────────────────────────────── import pptxgen from 'pptxgenjs'; const PX_PER_IN = 96; @@ -5,8 +20,49 @@ const EMU_PER_IN = 914400; const SLIDE_W_IN = 13.333; const SLIDE_H_IN = 7.5; +// PowerPoint and browsers render the same font at the same point size with +// measurably different glyph widths (different font metric tables / hinting). +// For CJK text the drift is amplified because every glyph is full-width: +// if a line of CJK text *barely* fits on one line in the browser, PowerPoint's +// slightly wider rendering pushes the last character to the next line. +// +// 0.15 inch (~14.4px @ 96dpi) ≈ one CJK glyph at ~14pt body text. This is +// large enough to absorb the worst-case cross-renderer metric drift while +// capTextBoxWidth() prevents any overflow past the slide edge. +// +// IMPORTANT: the safety width widens the text box to prevent wrapping, but +// for right/center-aligned text this alone would shift the rendered glyphs +// (right edge moves right, center moves right). The callers compensate by +// adjusting the x coordinate so that the *original* text region is preserved. +const WIDTH_SAFETY_IN = 0.15; + function capTextBoxWidth(x, w) { - return Math.min(w, Math.max(0.15, SLIDE_W_IN - x - 0.04)); + return Math.min(w, Math.max(0.15, SLIDE_W_IN - x - 0.02)); +} + +// Given an element's original x/w and its text-align, return {x, w} for the +// PPTX text box. The box is widened by WIDTH_SAFETY_IN to prevent wrapping, +// but the x coordinate is shifted so the original left/right/center anchor +// stays in the same visual position: +// left → extra width extends to the right (x unchanged) +// right → extra width extends to the left (x shifts left by safety) +// center → split equally (x shifts left by safety/2) +function safeTextBoxGeometry(origX, origW, align, isVerticalText) { + const safety = isVerticalText ? 0 : WIDTH_SAFETY_IN; + const rawW = origW + safety; + if (!safety || align === 'left' || !align) { + return { x: origX, w: capTextBoxWidth(origX, rawW) }; + } + if (align === 'right') { + const x = Math.max(0, origX - safety); + return { x, w: capTextBoxWidth(x, rawW) }; + } + if (align === 'center') { + const x = Math.max(0, origX - safety / 2); + return { x, w: capTextBoxWidth(x, rawW) }; + } + // justify behaves like left for anchoring + return { x: origX, w: capTextBoxWidth(origX, rawW) }; } function toImagePayload(src) { @@ -109,10 +165,11 @@ function addElements(slideData, targetSlide, pres) { if (el.shape.shadow) shapeOptions.shadow = el.shape.shadow; targetSlide.addText(el.text || '', shapeOptions); } else if (el.type === 'list' || el.type === 'merged-text') { + const { x: boxX, w: boxW } = safeTextBoxGeometry(el.position.x, el.position.w, el.style.align, false); const listOptions = { - x: el.position.x, + x: boxX, y: el.position.y, - w: capTextBoxWidth(el.position.x, el.position.w), + w: boxW, h: Math.min(el.position.h, Math.max(0.15, SLIDE_H_IN - el.position.y - 0.04)), fontSize: el.style.fontSize, fontFace: el.style.fontFace, @@ -122,8 +179,7 @@ function addElements(slideData, targetSlide, pres) { lineSpacing: el.style.lineSpacing, paraSpaceBefore: el.style.paraSpaceBefore, paraSpaceAfter: el.style.paraSpaceAfter, - margin: el.style.margin, - inset: 0, + margin: el.style.margin || 0, shrinkText: false, autoFit: false, }; @@ -132,15 +188,11 @@ function addElements(slideData, targetSlide, pres) { } else { const lineHeight = el.style.lineSpacing || el.style.fontSize * 1.2; const isVerticalText = el.style.vert && el.style.vert !== 'horz'; - // Trust the browser-computed width. Extra width inflation changes - // wrapping points and causes text to break at different positions than - // the HTML preview. - const adjustedX = el.position.x; - const adjustedW = capTextBoxWidth(el.position.x, el.position.w); + const { x: boxX, w: boxW } = safeTextBoxGeometry(el.position.x, el.position.w, el.style.align, isVerticalText); const textOptions = { - x: adjustedX, + x: boxX, y: el.position.y, - w: adjustedW, + w: boxW, h: Math.min(el.position.h, Math.max(0.15, SLIDE_H_IN - el.position.y - 0.04)), fontSize: el.style.fontSize, fontFace: el.style.fontFace, @@ -152,12 +204,13 @@ function addElements(slideData, targetSlide, pres) { lineSpacing: el.style.lineSpacing, paraSpaceBefore: el.style.paraSpaceBefore, paraSpaceAfter: el.style.paraSpaceAfter, - inset: 0, + // margin reproduces the element's CSS padding as PPTX internal inset, + // preventing text from shifting toward the frame's top-left corner. + margin: el.style.margin || 0, shrinkText: false, autoFit: false, }; if (el.style.align) textOptions.align = el.style.align; - if (el.style.margin) textOptions.margin = el.style.margin; if (el.style.rotate !== undefined) textOptions.rotate = el.style.rotate; if (el.style.vert) textOptions.vert = el.style.vert; if (el.style.transparency != null && el.style.transparency !== undefined) { diff --git a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/vendor/ppt-export.bundle.mjs b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/vendor/ppt-export.bundle.mjs deleted file mode 100644 index da95caaa47..0000000000 --- a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/vendor/ppt-export.bundle.mjs +++ /dev/null @@ -1,30315 +0,0 @@ -/* PPT Live export runtime — generated by scripts/bundle-ppt-live-export-browser.mjs; do not edit. */ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { - get: (a, b) => (typeof require !== "undefined" ? require : a)[b] -}) : x)(function(x) { - if (typeof require !== "undefined") return require.apply(this, arguments); - throw Error('Dynamic require of "' + x + '" is not supported'); -}); -var __commonJS = (cb, mod) => function __require2() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); - -// ../../../node_modules/pako/lib/utils/common.js -var require_common = __commonJS({ - "../../../node_modules/pako/lib/utils/common.js"(exports) { - "use strict"; - var TYPED_OK = typeof Uint8Array !== "undefined" && typeof Uint16Array !== "undefined" && typeof Int32Array !== "undefined"; - function _has(obj, key) { - return Object.prototype.hasOwnProperty.call(obj, key); - } - exports.assign = function(obj) { - var sources = Array.prototype.slice.call(arguments, 1); - while (sources.length) { - var source = sources.shift(); - if (!source) { - continue; - } - if (typeof source !== "object") { - throw new TypeError(source + "must be non-object"); - } - for (var p in source) { - if (_has(source, p)) { - obj[p] = source[p]; - } - } - } - return obj; - }; - exports.shrinkBuf = function(buf, size) { - if (buf.length === size) { - return buf; - } - if (buf.subarray) { - return buf.subarray(0, size); - } - buf.length = size; - return buf; - }; - var fnTyped = { - arraySet: function(dest, src, src_offs, len, dest_offs) { - if (src.subarray && dest.subarray) { - dest.set(src.subarray(src_offs, src_offs + len), dest_offs); - return; - } - for (var i = 0; i < len; i++) { - dest[dest_offs + i] = src[src_offs + i]; - } - }, - // Join array of chunks to single array. - flattenChunks: function(chunks) { - var i, l, len, pos, chunk, result; - len = 0; - for (i = 0, l = chunks.length; i < l; i++) { - len += chunks[i].length; - } - result = new Uint8Array(len); - pos = 0; - for (i = 0, l = chunks.length; i < l; i++) { - chunk = chunks[i]; - result.set(chunk, pos); - pos += chunk.length; - } - return result; - } - }; - var fnUntyped = { - arraySet: function(dest, src, src_offs, len, dest_offs) { - for (var i = 0; i < len; i++) { - dest[dest_offs + i] = src[src_offs + i]; - } - }, - // Join array of chunks to single array. - flattenChunks: function(chunks) { - return [].concat.apply([], chunks); - } - }; - exports.setTyped = function(on) { - if (on) { - exports.Buf8 = Uint8Array; - exports.Buf16 = Uint16Array; - exports.Buf32 = Int32Array; - exports.assign(exports, fnTyped); - } else { - exports.Buf8 = Array; - exports.Buf16 = Array; - exports.Buf32 = Array; - exports.assign(exports, fnUntyped); - } - }; - exports.setTyped(TYPED_OK); - } -}); - -// ../../../node_modules/pako/lib/zlib/trees.js -var require_trees = __commonJS({ - "../../../node_modules/pako/lib/zlib/trees.js"(exports) { - "use strict"; - var utils = require_common(); - var Z_FIXED = 4; - var Z_BINARY = 0; - var Z_TEXT = 1; - var Z_UNKNOWN = 2; - function zero(buf) { - var len = buf.length; - while (--len >= 0) { - buf[len] = 0; - } - } - var STORED_BLOCK = 0; - var STATIC_TREES = 1; - var DYN_TREES = 2; - var MIN_MATCH = 3; - var MAX_MATCH = 258; - var LENGTH_CODES = 29; - var LITERALS = 256; - var L_CODES = LITERALS + 1 + LENGTH_CODES; - var D_CODES = 30; - var BL_CODES = 19; - var HEAP_SIZE = 2 * L_CODES + 1; - var MAX_BITS = 15; - var Buf_size = 16; - var MAX_BL_BITS = 7; - var END_BLOCK = 256; - var REP_3_6 = 16; - var REPZ_3_10 = 17; - var REPZ_11_138 = 18; - var extra_lbits = ( - /* extra bits for each length code */ - [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] - ); - var extra_dbits = ( - /* extra bits for each distance code */ - [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] - ); - var extra_blbits = ( - /* extra bits for each bit length code */ - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7] - ); - var bl_order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; - var DIST_CODE_LEN = 512; - var static_ltree = new Array((L_CODES + 2) * 2); - zero(static_ltree); - var static_dtree = new Array(D_CODES * 2); - zero(static_dtree); - var _dist_code = new Array(DIST_CODE_LEN); - zero(_dist_code); - var _length_code = new Array(MAX_MATCH - MIN_MATCH + 1); - zero(_length_code); - var base_length = new Array(LENGTH_CODES); - zero(base_length); - var base_dist = new Array(D_CODES); - zero(base_dist); - function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) { - this.static_tree = static_tree; - this.extra_bits = extra_bits; - this.extra_base = extra_base; - this.elems = elems; - this.max_length = max_length; - this.has_stree = static_tree && static_tree.length; - } - var static_l_desc; - var static_d_desc; - var static_bl_desc; - function TreeDesc(dyn_tree, stat_desc) { - this.dyn_tree = dyn_tree; - this.max_code = 0; - this.stat_desc = stat_desc; - } - function d_code(dist) { - return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)]; - } - function put_short(s, w) { - s.pending_buf[s.pending++] = w & 255; - s.pending_buf[s.pending++] = w >>> 8 & 255; - } - function send_bits(s, value, length) { - if (s.bi_valid > Buf_size - length) { - s.bi_buf |= value << s.bi_valid & 65535; - put_short(s, s.bi_buf); - s.bi_buf = value >> Buf_size - s.bi_valid; - s.bi_valid += length - Buf_size; - } else { - s.bi_buf |= value << s.bi_valid & 65535; - s.bi_valid += length; - } - } - function send_code(s, c, tree) { - send_bits( - s, - tree[c * 2], - tree[c * 2 + 1] - /*.Len*/ - ); - } - function bi_reverse(code, len) { - var res = 0; - do { - res |= code & 1; - code >>>= 1; - res <<= 1; - } while (--len > 0); - return res >>> 1; - } - function bi_flush(s) { - if (s.bi_valid === 16) { - put_short(s, s.bi_buf); - s.bi_buf = 0; - s.bi_valid = 0; - } else if (s.bi_valid >= 8) { - s.pending_buf[s.pending++] = s.bi_buf & 255; - s.bi_buf >>= 8; - s.bi_valid -= 8; - } - } - function gen_bitlen(s, desc) { - var tree = desc.dyn_tree; - var max_code = desc.max_code; - var stree = desc.stat_desc.static_tree; - var has_stree = desc.stat_desc.has_stree; - var extra = desc.stat_desc.extra_bits; - var base = desc.stat_desc.extra_base; - var max_length = desc.stat_desc.max_length; - var h; - var n, m; - var bits; - var xbits; - var f; - var overflow = 0; - for (bits = 0; bits <= MAX_BITS; bits++) { - s.bl_count[bits] = 0; - } - tree[s.heap[s.heap_max] * 2 + 1] = 0; - for (h = s.heap_max + 1; h < HEAP_SIZE; h++) { - n = s.heap[h]; - bits = tree[tree[n * 2 + 1] * 2 + 1] + 1; - if (bits > max_length) { - bits = max_length; - overflow++; - } - tree[n * 2 + 1] = bits; - if (n > max_code) { - continue; - } - s.bl_count[bits]++; - xbits = 0; - if (n >= base) { - xbits = extra[n - base]; - } - f = tree[n * 2]; - s.opt_len += f * (bits + xbits); - if (has_stree) { - s.static_len += f * (stree[n * 2 + 1] + xbits); - } - } - if (overflow === 0) { - return; - } - do { - bits = max_length - 1; - while (s.bl_count[bits] === 0) { - bits--; - } - s.bl_count[bits]--; - s.bl_count[bits + 1] += 2; - s.bl_count[max_length]--; - overflow -= 2; - } while (overflow > 0); - for (bits = max_length; bits !== 0; bits--) { - n = s.bl_count[bits]; - while (n !== 0) { - m = s.heap[--h]; - if (m > max_code) { - continue; - } - if (tree[m * 2 + 1] !== bits) { - s.opt_len += (bits - tree[m * 2 + 1]) * tree[m * 2]; - tree[m * 2 + 1] = bits; - } - n--; - } - } - } - function gen_codes(tree, max_code, bl_count) { - var next_code = new Array(MAX_BITS + 1); - var code = 0; - var bits; - var n; - for (bits = 1; bits <= MAX_BITS; bits++) { - next_code[bits] = code = code + bl_count[bits - 1] << 1; - } - for (n = 0; n <= max_code; n++) { - var len = tree[n * 2 + 1]; - if (len === 0) { - continue; - } - tree[n * 2] = bi_reverse(next_code[len]++, len); - } - } - function tr_static_init() { - var n; - var bits; - var length; - var code; - var dist; - var bl_count = new Array(MAX_BITS + 1); - length = 0; - for (code = 0; code < LENGTH_CODES - 1; code++) { - base_length[code] = length; - for (n = 0; n < 1 << extra_lbits[code]; n++) { - _length_code[length++] = code; - } - } - _length_code[length - 1] = code; - dist = 0; - for (code = 0; code < 16; code++) { - base_dist[code] = dist; - for (n = 0; n < 1 << extra_dbits[code]; n++) { - _dist_code[dist++] = code; - } - } - dist >>= 7; - for (; code < D_CODES; code++) { - base_dist[code] = dist << 7; - for (n = 0; n < 1 << extra_dbits[code] - 7; n++) { - _dist_code[256 + dist++] = code; - } - } - for (bits = 0; bits <= MAX_BITS; bits++) { - bl_count[bits] = 0; - } - n = 0; - while (n <= 143) { - static_ltree[n * 2 + 1] = 8; - n++; - bl_count[8]++; - } - while (n <= 255) { - static_ltree[n * 2 + 1] = 9; - n++; - bl_count[9]++; - } - while (n <= 279) { - static_ltree[n * 2 + 1] = 7; - n++; - bl_count[7]++; - } - while (n <= 287) { - static_ltree[n * 2 + 1] = 8; - n++; - bl_count[8]++; - } - gen_codes(static_ltree, L_CODES + 1, bl_count); - for (n = 0; n < D_CODES; n++) { - static_dtree[n * 2 + 1] = 5; - static_dtree[n * 2] = bi_reverse(n, 5); - } - static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS); - static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS); - static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS); - } - function init_block(s) { - var n; - for (n = 0; n < L_CODES; n++) { - s.dyn_ltree[n * 2] = 0; - } - for (n = 0; n < D_CODES; n++) { - s.dyn_dtree[n * 2] = 0; - } - for (n = 0; n < BL_CODES; n++) { - s.bl_tree[n * 2] = 0; - } - s.dyn_ltree[END_BLOCK * 2] = 1; - s.opt_len = s.static_len = 0; - s.last_lit = s.matches = 0; - } - function bi_windup(s) { - if (s.bi_valid > 8) { - put_short(s, s.bi_buf); - } else if (s.bi_valid > 0) { - s.pending_buf[s.pending++] = s.bi_buf; - } - s.bi_buf = 0; - s.bi_valid = 0; - } - function copy_block(s, buf, len, header) { - bi_windup(s); - if (header) { - put_short(s, len); - put_short(s, ~len); - } - utils.arraySet(s.pending_buf, s.window, buf, len, s.pending); - s.pending += len; - } - function smaller(tree, n, m, depth) { - var _n2 = n * 2; - var _m2 = m * 2; - return tree[_n2] < tree[_m2] || tree[_n2] === tree[_m2] && depth[n] <= depth[m]; - } - function pqdownheap(s, tree, k) { - var v = s.heap[k]; - var j = k << 1; - while (j <= s.heap_len) { - if (j < s.heap_len && smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) { - j++; - } - if (smaller(tree, v, s.heap[j], s.depth)) { - break; - } - s.heap[k] = s.heap[j]; - k = j; - j <<= 1; - } - s.heap[k] = v; - } - function compress_block(s, ltree, dtree) { - var dist; - var lc; - var lx = 0; - var code; - var extra; - if (s.last_lit !== 0) { - do { - dist = s.pending_buf[s.d_buf + lx * 2] << 8 | s.pending_buf[s.d_buf + lx * 2 + 1]; - lc = s.pending_buf[s.l_buf + lx]; - lx++; - if (dist === 0) { - send_code(s, lc, ltree); - } else { - code = _length_code[lc]; - send_code(s, code + LITERALS + 1, ltree); - extra = extra_lbits[code]; - if (extra !== 0) { - lc -= base_length[code]; - send_bits(s, lc, extra); - } - dist--; - code = d_code(dist); - send_code(s, code, dtree); - extra = extra_dbits[code]; - if (extra !== 0) { - dist -= base_dist[code]; - send_bits(s, dist, extra); - } - } - } while (lx < s.last_lit); - } - send_code(s, END_BLOCK, ltree); - } - function build_tree(s, desc) { - var tree = desc.dyn_tree; - var stree = desc.stat_desc.static_tree; - var has_stree = desc.stat_desc.has_stree; - var elems = desc.stat_desc.elems; - var n, m; - var max_code = -1; - var node; - s.heap_len = 0; - s.heap_max = HEAP_SIZE; - for (n = 0; n < elems; n++) { - if (tree[n * 2] !== 0) { - s.heap[++s.heap_len] = max_code = n; - s.depth[n] = 0; - } else { - tree[n * 2 + 1] = 0; - } - } - while (s.heap_len < 2) { - node = s.heap[++s.heap_len] = max_code < 2 ? ++max_code : 0; - tree[node * 2] = 1; - s.depth[node] = 0; - s.opt_len--; - if (has_stree) { - s.static_len -= stree[node * 2 + 1]; - } - } - desc.max_code = max_code; - for (n = s.heap_len >> 1; n >= 1; n--) { - pqdownheap(s, tree, n); - } - node = elems; - do { - n = s.heap[ - 1 - /*SMALLEST*/ - ]; - s.heap[ - 1 - /*SMALLEST*/ - ] = s.heap[s.heap_len--]; - pqdownheap( - s, - tree, - 1 - /*SMALLEST*/ - ); - m = s.heap[ - 1 - /*SMALLEST*/ - ]; - s.heap[--s.heap_max] = n; - s.heap[--s.heap_max] = m; - tree[node * 2] = tree[n * 2] + tree[m * 2]; - s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1; - tree[n * 2 + 1] = tree[m * 2 + 1] = node; - s.heap[ - 1 - /*SMALLEST*/ - ] = node++; - pqdownheap( - s, - tree, - 1 - /*SMALLEST*/ - ); - } while (s.heap_len >= 2); - s.heap[--s.heap_max] = s.heap[ - 1 - /*SMALLEST*/ - ]; - gen_bitlen(s, desc); - gen_codes(tree, max_code, s.bl_count); - } - function scan_tree(s, tree, max_code) { - var n; - var prevlen = -1; - var curlen; - var nextlen = tree[0 * 2 + 1]; - var count = 0; - var max_count = 7; - var min_count = 4; - if (nextlen === 0) { - max_count = 138; - min_count = 3; - } - tree[(max_code + 1) * 2 + 1] = 65535; - for (n = 0; n <= max_code; n++) { - curlen = nextlen; - nextlen = tree[(n + 1) * 2 + 1]; - if (++count < max_count && curlen === nextlen) { - continue; - } else if (count < min_count) { - s.bl_tree[curlen * 2] += count; - } else if (curlen !== 0) { - if (curlen !== prevlen) { - s.bl_tree[curlen * 2]++; - } - s.bl_tree[REP_3_6 * 2]++; - } else if (count <= 10) { - s.bl_tree[REPZ_3_10 * 2]++; - } else { - s.bl_tree[REPZ_11_138 * 2]++; - } - count = 0; - prevlen = curlen; - if (nextlen === 0) { - max_count = 138; - min_count = 3; - } else if (curlen === nextlen) { - max_count = 6; - min_count = 3; - } else { - max_count = 7; - min_count = 4; - } - } - } - function send_tree(s, tree, max_code) { - var n; - var prevlen = -1; - var curlen; - var nextlen = tree[0 * 2 + 1]; - var count = 0; - var max_count = 7; - var min_count = 4; - if (nextlen === 0) { - max_count = 138; - min_count = 3; - } - for (n = 0; n <= max_code; n++) { - curlen = nextlen; - nextlen = tree[(n + 1) * 2 + 1]; - if (++count < max_count && curlen === nextlen) { - continue; - } else if (count < min_count) { - do { - send_code(s, curlen, s.bl_tree); - } while (--count !== 0); - } else if (curlen !== 0) { - if (curlen !== prevlen) { - send_code(s, curlen, s.bl_tree); - count--; - } - send_code(s, REP_3_6, s.bl_tree); - send_bits(s, count - 3, 2); - } else if (count <= 10) { - send_code(s, REPZ_3_10, s.bl_tree); - send_bits(s, count - 3, 3); - } else { - send_code(s, REPZ_11_138, s.bl_tree); - send_bits(s, count - 11, 7); - } - count = 0; - prevlen = curlen; - if (nextlen === 0) { - max_count = 138; - min_count = 3; - } else if (curlen === nextlen) { - max_count = 6; - min_count = 3; - } else { - max_count = 7; - min_count = 4; - } - } - } - function build_bl_tree(s) { - var max_blindex; - scan_tree(s, s.dyn_ltree, s.l_desc.max_code); - scan_tree(s, s.dyn_dtree, s.d_desc.max_code); - build_tree(s, s.bl_desc); - for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) { - if (s.bl_tree[bl_order[max_blindex] * 2 + 1] !== 0) { - break; - } - } - s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4; - return max_blindex; - } - function send_all_trees(s, lcodes, dcodes, blcodes) { - var rank; - send_bits(s, lcodes - 257, 5); - send_bits(s, dcodes - 1, 5); - send_bits(s, blcodes - 4, 4); - for (rank = 0; rank < blcodes; rank++) { - send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1], 3); - } - send_tree(s, s.dyn_ltree, lcodes - 1); - send_tree(s, s.dyn_dtree, dcodes - 1); - } - function detect_data_type(s) { - var black_mask = 4093624447; - var n; - for (n = 0; n <= 31; n++, black_mask >>>= 1) { - if (black_mask & 1 && s.dyn_ltree[n * 2] !== 0) { - return Z_BINARY; - } - } - if (s.dyn_ltree[9 * 2] !== 0 || s.dyn_ltree[10 * 2] !== 0 || s.dyn_ltree[13 * 2] !== 0) { - return Z_TEXT; - } - for (n = 32; n < LITERALS; n++) { - if (s.dyn_ltree[n * 2] !== 0) { - return Z_TEXT; - } - } - return Z_BINARY; - } - var static_init_done = false; - function _tr_init(s) { - if (!static_init_done) { - tr_static_init(); - static_init_done = true; - } - s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc); - s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc); - s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc); - s.bi_buf = 0; - s.bi_valid = 0; - init_block(s); - } - function _tr_stored_block(s, buf, stored_len, last2) { - send_bits(s, (STORED_BLOCK << 1) + (last2 ? 1 : 0), 3); - copy_block(s, buf, stored_len, true); - } - function _tr_align(s) { - send_bits(s, STATIC_TREES << 1, 3); - send_code(s, END_BLOCK, static_ltree); - bi_flush(s); - } - function _tr_flush_block(s, buf, stored_len, last2) { - var opt_lenb, static_lenb; - var max_blindex = 0; - if (s.level > 0) { - if (s.strm.data_type === Z_UNKNOWN) { - s.strm.data_type = detect_data_type(s); - } - build_tree(s, s.l_desc); - build_tree(s, s.d_desc); - max_blindex = build_bl_tree(s); - opt_lenb = s.opt_len + 3 + 7 >>> 3; - static_lenb = s.static_len + 3 + 7 >>> 3; - if (static_lenb <= opt_lenb) { - opt_lenb = static_lenb; - } - } else { - opt_lenb = static_lenb = stored_len + 5; - } - if (stored_len + 4 <= opt_lenb && buf !== -1) { - _tr_stored_block(s, buf, stored_len, last2); - } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) { - send_bits(s, (STATIC_TREES << 1) + (last2 ? 1 : 0), 3); - compress_block(s, static_ltree, static_dtree); - } else { - send_bits(s, (DYN_TREES << 1) + (last2 ? 1 : 0), 3); - send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1); - compress_block(s, s.dyn_ltree, s.dyn_dtree); - } - init_block(s); - if (last2) { - bi_windup(s); - } - } - function _tr_tally(s, dist, lc) { - s.pending_buf[s.d_buf + s.last_lit * 2] = dist >>> 8 & 255; - s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 255; - s.pending_buf[s.l_buf + s.last_lit] = lc & 255; - s.last_lit++; - if (dist === 0) { - s.dyn_ltree[lc * 2]++; - } else { - s.matches++; - dist--; - s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]++; - s.dyn_dtree[d_code(dist) * 2]++; - } - return s.last_lit === s.lit_bufsize - 1; - } - exports._tr_init = _tr_init; - exports._tr_stored_block = _tr_stored_block; - exports._tr_flush_block = _tr_flush_block; - exports._tr_tally = _tr_tally; - exports._tr_align = _tr_align; - } -}); - -// ../../../node_modules/pako/lib/zlib/adler32.js -var require_adler32 = __commonJS({ - "../../../node_modules/pako/lib/zlib/adler32.js"(exports, module) { - "use strict"; - function adler32(adler, buf, len, pos) { - var s1 = adler & 65535 | 0, s2 = adler >>> 16 & 65535 | 0, n = 0; - while (len !== 0) { - n = len > 2e3 ? 2e3 : len; - len -= n; - do { - s1 = s1 + buf[pos++] | 0; - s2 = s2 + s1 | 0; - } while (--n); - s1 %= 65521; - s2 %= 65521; - } - return s1 | s2 << 16 | 0; - } - module.exports = adler32; - } -}); - -// ../../../node_modules/pako/lib/zlib/crc32.js -var require_crc32 = __commonJS({ - "../../../node_modules/pako/lib/zlib/crc32.js"(exports, module) { - "use strict"; - function makeTable() { - var c, table = []; - for (var n = 0; n < 256; n++) { - c = n; - for (var k = 0; k < 8; k++) { - c = c & 1 ? 3988292384 ^ c >>> 1 : c >>> 1; - } - table[n] = c; - } - return table; - } - var crcTable = makeTable(); - function crc32(crc, buf, len, pos) { - var t = crcTable, end = pos + len; - crc ^= -1; - for (var i = pos; i < end; i++) { - crc = crc >>> 8 ^ t[(crc ^ buf[i]) & 255]; - } - return crc ^ -1; - } - module.exports = crc32; - } -}); - -// ../../../node_modules/pako/lib/zlib/messages.js -var require_messages = __commonJS({ - "../../../node_modules/pako/lib/zlib/messages.js"(exports, module) { - "use strict"; - module.exports = { - 2: "need dictionary", - /* Z_NEED_DICT 2 */ - 1: "stream end", - /* Z_STREAM_END 1 */ - 0: "", - /* Z_OK 0 */ - "-1": "file error", - /* Z_ERRNO (-1) */ - "-2": "stream error", - /* Z_STREAM_ERROR (-2) */ - "-3": "data error", - /* Z_DATA_ERROR (-3) */ - "-4": "insufficient memory", - /* Z_MEM_ERROR (-4) */ - "-5": "buffer error", - /* Z_BUF_ERROR (-5) */ - "-6": "incompatible version" - /* Z_VERSION_ERROR (-6) */ - }; - } -}); - -// ../../../node_modules/pako/lib/zlib/deflate.js -var require_deflate = __commonJS({ - "../../../node_modules/pako/lib/zlib/deflate.js"(exports) { - "use strict"; - var utils = require_common(); - var trees = require_trees(); - var adler32 = require_adler32(); - var crc32 = require_crc32(); - var msg = require_messages(); - var Z_NO_FLUSH = 0; - var Z_PARTIAL_FLUSH = 1; - var Z_FULL_FLUSH = 3; - var Z_FINISH = 4; - var Z_BLOCK = 5; - var Z_OK = 0; - var Z_STREAM_END = 1; - var Z_STREAM_ERROR = -2; - var Z_DATA_ERROR = -3; - var Z_BUF_ERROR = -5; - var Z_DEFAULT_COMPRESSION = -1; - var Z_FILTERED = 1; - var Z_HUFFMAN_ONLY = 2; - var Z_RLE = 3; - var Z_FIXED = 4; - var Z_DEFAULT_STRATEGY = 0; - var Z_UNKNOWN = 2; - var Z_DEFLATED = 8; - var MAX_MEM_LEVEL = 9; - var MAX_WBITS = 15; - var DEF_MEM_LEVEL = 8; - var LENGTH_CODES = 29; - var LITERALS = 256; - var L_CODES = LITERALS + 1 + LENGTH_CODES; - var D_CODES = 30; - var BL_CODES = 19; - var HEAP_SIZE = 2 * L_CODES + 1; - var MAX_BITS = 15; - var MIN_MATCH = 3; - var MAX_MATCH = 258; - var MIN_LOOKAHEAD = MAX_MATCH + MIN_MATCH + 1; - var PRESET_DICT = 32; - var INIT_STATE = 42; - var EXTRA_STATE = 69; - var NAME_STATE = 73; - var COMMENT_STATE = 91; - var HCRC_STATE = 103; - var BUSY_STATE = 113; - var FINISH_STATE = 666; - var BS_NEED_MORE = 1; - var BS_BLOCK_DONE = 2; - var BS_FINISH_STARTED = 3; - var BS_FINISH_DONE = 4; - var OS_CODE = 3; - function err(strm, errorCode) { - strm.msg = msg[errorCode]; - return errorCode; - } - function rank(f) { - return (f << 1) - (f > 4 ? 9 : 0); - } - function zero(buf) { - var len = buf.length; - while (--len >= 0) { - buf[len] = 0; - } - } - function flush_pending(strm) { - var s = strm.state; - var len = s.pending; - if (len > strm.avail_out) { - len = strm.avail_out; - } - if (len === 0) { - return; - } - utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out); - strm.next_out += len; - s.pending_out += len; - strm.total_out += len; - strm.avail_out -= len; - s.pending -= len; - if (s.pending === 0) { - s.pending_out = 0; - } - } - function flush_block_only(s, last2) { - trees._tr_flush_block(s, s.block_start >= 0 ? s.block_start : -1, s.strstart - s.block_start, last2); - s.block_start = s.strstart; - flush_pending(s.strm); - } - function put_byte(s, b) { - s.pending_buf[s.pending++] = b; - } - function putShortMSB(s, b) { - s.pending_buf[s.pending++] = b >>> 8 & 255; - s.pending_buf[s.pending++] = b & 255; - } - function read_buf(strm, buf, start, size) { - var len = strm.avail_in; - if (len > size) { - len = size; - } - if (len === 0) { - return 0; - } - strm.avail_in -= len; - utils.arraySet(buf, strm.input, strm.next_in, len, start); - if (strm.state.wrap === 1) { - strm.adler = adler32(strm.adler, buf, len, start); - } else if (strm.state.wrap === 2) { - strm.adler = crc32(strm.adler, buf, len, start); - } - strm.next_in += len; - strm.total_in += len; - return len; - } - function longest_match(s, cur_match) { - var chain_length = s.max_chain_length; - var scan = s.strstart; - var match; - var len; - var best_len = s.prev_length; - var nice_match = s.nice_match; - var limit = s.strstart > s.w_size - MIN_LOOKAHEAD ? s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0; - var _win = s.window; - var wmask = s.w_mask; - var prev = s.prev; - var strend = s.strstart + MAX_MATCH; - var scan_end1 = _win[scan + best_len - 1]; - var scan_end = _win[scan + best_len]; - if (s.prev_length >= s.good_match) { - chain_length >>= 2; - } - if (nice_match > s.lookahead) { - nice_match = s.lookahead; - } - do { - match = cur_match; - if (_win[match + best_len] !== scan_end || _win[match + best_len - 1] !== scan_end1 || _win[match] !== _win[scan] || _win[++match] !== _win[scan + 1]) { - continue; - } - scan += 2; - match++; - do { - } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && scan < strend); - len = MAX_MATCH - (strend - scan); - scan = strend - MAX_MATCH; - if (len > best_len) { - s.match_start = cur_match; - best_len = len; - if (len >= nice_match) { - break; - } - scan_end1 = _win[scan + best_len - 1]; - scan_end = _win[scan + best_len]; - } - } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0); - if (best_len <= s.lookahead) { - return best_len; - } - return s.lookahead; - } - function fill_window(s) { - var _w_size = s.w_size; - var p, n, m, more, str; - do { - more = s.window_size - s.lookahead - s.strstart; - if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) { - utils.arraySet(s.window, s.window, _w_size, _w_size, 0); - s.match_start -= _w_size; - s.strstart -= _w_size; - s.block_start -= _w_size; - n = s.hash_size; - p = n; - do { - m = s.head[--p]; - s.head[p] = m >= _w_size ? m - _w_size : 0; - } while (--n); - n = _w_size; - p = n; - do { - m = s.prev[--p]; - s.prev[p] = m >= _w_size ? m - _w_size : 0; - } while (--n); - more += _w_size; - } - if (s.strm.avail_in === 0) { - break; - } - n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more); - s.lookahead += n; - if (s.lookahead + s.insert >= MIN_MATCH) { - str = s.strstart - s.insert; - s.ins_h = s.window[str]; - s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + 1]) & s.hash_mask; - while (s.insert) { - s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask; - s.prev[str & s.w_mask] = s.head[s.ins_h]; - s.head[s.ins_h] = str; - str++; - s.insert--; - if (s.lookahead + s.insert < MIN_MATCH) { - break; - } - } - } - } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0); - } - function deflate_stored(s, flush) { - var max_block_size = 65535; - if (max_block_size > s.pending_buf_size - 5) { - max_block_size = s.pending_buf_size - 5; - } - for (; ; ) { - if (s.lookahead <= 1) { - fill_window(s); - if (s.lookahead === 0 && flush === Z_NO_FLUSH) { - return BS_NEED_MORE; - } - if (s.lookahead === 0) { - break; - } - } - s.strstart += s.lookahead; - s.lookahead = 0; - var max_start = s.block_start + max_block_size; - if (s.strstart === 0 || s.strstart >= max_start) { - s.lookahead = s.strstart - max_start; - s.strstart = max_start; - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - if (s.strstart - s.block_start >= s.w_size - MIN_LOOKAHEAD) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - } - s.insert = 0; - if (flush === Z_FINISH) { - flush_block_only(s, true); - if (s.strm.avail_out === 0) { - return BS_FINISH_STARTED; - } - return BS_FINISH_DONE; - } - if (s.strstart > s.block_start) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - return BS_NEED_MORE; - } - function deflate_fast(s, flush) { - var hash_head; - var bflush; - for (; ; ) { - if (s.lookahead < MIN_LOOKAHEAD) { - fill_window(s); - if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) { - return BS_NEED_MORE; - } - if (s.lookahead === 0) { - break; - } - } - hash_head = 0; - if (s.lookahead >= MIN_MATCH) { - s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask; - hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; - s.head[s.ins_h] = s.strstart; - } - if (hash_head !== 0 && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD) { - s.match_length = longest_match(s, hash_head); - } - if (s.match_length >= MIN_MATCH) { - bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH); - s.lookahead -= s.match_length; - if (s.match_length <= s.max_lazy_match && s.lookahead >= MIN_MATCH) { - s.match_length--; - do { - s.strstart++; - s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask; - hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; - s.head[s.ins_h] = s.strstart; - } while (--s.match_length !== 0); - s.strstart++; - } else { - s.strstart += s.match_length; - s.match_length = 0; - s.ins_h = s.window[s.strstart]; - s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + 1]) & s.hash_mask; - } - } else { - bflush = trees._tr_tally(s, 0, s.window[s.strstart]); - s.lookahead--; - s.strstart++; - } - if (bflush) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - } - s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1; - if (flush === Z_FINISH) { - flush_block_only(s, true); - if (s.strm.avail_out === 0) { - return BS_FINISH_STARTED; - } - return BS_FINISH_DONE; - } - if (s.last_lit) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - return BS_BLOCK_DONE; - } - function deflate_slow(s, flush) { - var hash_head; - var bflush; - var max_insert; - for (; ; ) { - if (s.lookahead < MIN_LOOKAHEAD) { - fill_window(s); - if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) { - return BS_NEED_MORE; - } - if (s.lookahead === 0) { - break; - } - } - hash_head = 0; - if (s.lookahead >= MIN_MATCH) { - s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask; - hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; - s.head[s.ins_h] = s.strstart; - } - s.prev_length = s.match_length; - s.prev_match = s.match_start; - s.match_length = MIN_MATCH - 1; - if (hash_head !== 0 && s.prev_length < s.max_lazy_match && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD) { - s.match_length = longest_match(s, hash_head); - if (s.match_length <= 5 && (s.strategy === Z_FILTERED || s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096)) { - s.match_length = MIN_MATCH - 1; - } - } - if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) { - max_insert = s.strstart + s.lookahead - MIN_MATCH; - bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH); - s.lookahead -= s.prev_length - 1; - s.prev_length -= 2; - do { - if (++s.strstart <= max_insert) { - s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask; - hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; - s.head[s.ins_h] = s.strstart; - } - } while (--s.prev_length !== 0); - s.match_available = 0; - s.match_length = MIN_MATCH - 1; - s.strstart++; - if (bflush) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - } else if (s.match_available) { - bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]); - if (bflush) { - flush_block_only(s, false); - } - s.strstart++; - s.lookahead--; - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } else { - s.match_available = 1; - s.strstart++; - s.lookahead--; - } - } - if (s.match_available) { - bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]); - s.match_available = 0; - } - s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1; - if (flush === Z_FINISH) { - flush_block_only(s, true); - if (s.strm.avail_out === 0) { - return BS_FINISH_STARTED; - } - return BS_FINISH_DONE; - } - if (s.last_lit) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - return BS_BLOCK_DONE; - } - function deflate_rle(s, flush) { - var bflush; - var prev; - var scan, strend; - var _win = s.window; - for (; ; ) { - if (s.lookahead <= MAX_MATCH) { - fill_window(s); - if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) { - return BS_NEED_MORE; - } - if (s.lookahead === 0) { - break; - } - } - s.match_length = 0; - if (s.lookahead >= MIN_MATCH && s.strstart > 0) { - scan = s.strstart - 1; - prev = _win[scan]; - if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) { - strend = s.strstart + MAX_MATCH; - do { - } while (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && scan < strend); - s.match_length = MAX_MATCH - (strend - scan); - if (s.match_length > s.lookahead) { - s.match_length = s.lookahead; - } - } - } - if (s.match_length >= MIN_MATCH) { - bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH); - s.lookahead -= s.match_length; - s.strstart += s.match_length; - s.match_length = 0; - } else { - bflush = trees._tr_tally(s, 0, s.window[s.strstart]); - s.lookahead--; - s.strstart++; - } - if (bflush) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - } - s.insert = 0; - if (flush === Z_FINISH) { - flush_block_only(s, true); - if (s.strm.avail_out === 0) { - return BS_FINISH_STARTED; - } - return BS_FINISH_DONE; - } - if (s.last_lit) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - return BS_BLOCK_DONE; - } - function deflate_huff(s, flush) { - var bflush; - for (; ; ) { - if (s.lookahead === 0) { - fill_window(s); - if (s.lookahead === 0) { - if (flush === Z_NO_FLUSH) { - return BS_NEED_MORE; - } - break; - } - } - s.match_length = 0; - bflush = trees._tr_tally(s, 0, s.window[s.strstart]); - s.lookahead--; - s.strstart++; - if (bflush) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - } - s.insert = 0; - if (flush === Z_FINISH) { - flush_block_only(s, true); - if (s.strm.avail_out === 0) { - return BS_FINISH_STARTED; - } - return BS_FINISH_DONE; - } - if (s.last_lit) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - return BS_BLOCK_DONE; - } - function Config(good_length, max_lazy, nice_length, max_chain, func) { - this.good_length = good_length; - this.max_lazy = max_lazy; - this.nice_length = nice_length; - this.max_chain = max_chain; - this.func = func; - } - var configuration_table; - configuration_table = [ - /* good lazy nice chain */ - new Config(0, 0, 0, 0, deflate_stored), - /* 0 store only */ - new Config(4, 4, 8, 4, deflate_fast), - /* 1 max speed, no lazy matches */ - new Config(4, 5, 16, 8, deflate_fast), - /* 2 */ - new Config(4, 6, 32, 32, deflate_fast), - /* 3 */ - new Config(4, 4, 16, 16, deflate_slow), - /* 4 lazy matches */ - new Config(8, 16, 32, 32, deflate_slow), - /* 5 */ - new Config(8, 16, 128, 128, deflate_slow), - /* 6 */ - new Config(8, 32, 128, 256, deflate_slow), - /* 7 */ - new Config(32, 128, 258, 1024, deflate_slow), - /* 8 */ - new Config(32, 258, 258, 4096, deflate_slow) - /* 9 max compression */ - ]; - function lm_init(s) { - s.window_size = 2 * s.w_size; - zero(s.head); - s.max_lazy_match = configuration_table[s.level].max_lazy; - s.good_match = configuration_table[s.level].good_length; - s.nice_match = configuration_table[s.level].nice_length; - s.max_chain_length = configuration_table[s.level].max_chain; - s.strstart = 0; - s.block_start = 0; - s.lookahead = 0; - s.insert = 0; - s.match_length = s.prev_length = MIN_MATCH - 1; - s.match_available = 0; - s.ins_h = 0; - } - function DeflateState() { - this.strm = null; - this.status = 0; - this.pending_buf = null; - this.pending_buf_size = 0; - this.pending_out = 0; - this.pending = 0; - this.wrap = 0; - this.gzhead = null; - this.gzindex = 0; - this.method = Z_DEFLATED; - this.last_flush = -1; - this.w_size = 0; - this.w_bits = 0; - this.w_mask = 0; - this.window = null; - this.window_size = 0; - this.prev = null; - this.head = null; - this.ins_h = 0; - this.hash_size = 0; - this.hash_bits = 0; - this.hash_mask = 0; - this.hash_shift = 0; - this.block_start = 0; - this.match_length = 0; - this.prev_match = 0; - this.match_available = 0; - this.strstart = 0; - this.match_start = 0; - this.lookahead = 0; - this.prev_length = 0; - this.max_chain_length = 0; - this.max_lazy_match = 0; - this.level = 0; - this.strategy = 0; - this.good_match = 0; - this.nice_match = 0; - this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2); - this.dyn_dtree = new utils.Buf16((2 * D_CODES + 1) * 2); - this.bl_tree = new utils.Buf16((2 * BL_CODES + 1) * 2); - zero(this.dyn_ltree); - zero(this.dyn_dtree); - zero(this.bl_tree); - this.l_desc = null; - this.d_desc = null; - this.bl_desc = null; - this.bl_count = new utils.Buf16(MAX_BITS + 1); - this.heap = new utils.Buf16(2 * L_CODES + 1); - zero(this.heap); - this.heap_len = 0; - this.heap_max = 0; - this.depth = new utils.Buf16(2 * L_CODES + 1); - zero(this.depth); - this.l_buf = 0; - this.lit_bufsize = 0; - this.last_lit = 0; - this.d_buf = 0; - this.opt_len = 0; - this.static_len = 0; - this.matches = 0; - this.insert = 0; - this.bi_buf = 0; - this.bi_valid = 0; - } - function deflateResetKeep(strm) { - var s; - if (!strm || !strm.state) { - return err(strm, Z_STREAM_ERROR); - } - strm.total_in = strm.total_out = 0; - strm.data_type = Z_UNKNOWN; - s = strm.state; - s.pending = 0; - s.pending_out = 0; - if (s.wrap < 0) { - s.wrap = -s.wrap; - } - s.status = s.wrap ? INIT_STATE : BUSY_STATE; - strm.adler = s.wrap === 2 ? 0 : 1; - s.last_flush = Z_NO_FLUSH; - trees._tr_init(s); - return Z_OK; - } - function deflateReset(strm) { - var ret = deflateResetKeep(strm); - if (ret === Z_OK) { - lm_init(strm.state); - } - return ret; - } - function deflateSetHeader(strm, head) { - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - if (strm.state.wrap !== 2) { - return Z_STREAM_ERROR; - } - strm.state.gzhead = head; - return Z_OK; - } - function deflateInit2(strm, level, method, windowBits, memLevel, strategy) { - if (!strm) { - return Z_STREAM_ERROR; - } - var wrap = 1; - if (level === Z_DEFAULT_COMPRESSION) { - level = 6; - } - if (windowBits < 0) { - wrap = 0; - windowBits = -windowBits; - } else if (windowBits > 15) { - wrap = 2; - windowBits -= 16; - } - if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED) { - return err(strm, Z_STREAM_ERROR); - } - if (windowBits === 8) { - windowBits = 9; - } - var s = new DeflateState(); - strm.state = s; - s.strm = strm; - s.wrap = wrap; - s.gzhead = null; - s.w_bits = windowBits; - s.w_size = 1 << s.w_bits; - s.w_mask = s.w_size - 1; - s.hash_bits = memLevel + 7; - s.hash_size = 1 << s.hash_bits; - s.hash_mask = s.hash_size - 1; - s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH); - s.window = new utils.Buf8(s.w_size * 2); - s.head = new utils.Buf16(s.hash_size); - s.prev = new utils.Buf16(s.w_size); - s.lit_bufsize = 1 << memLevel + 6; - s.pending_buf_size = s.lit_bufsize * 4; - s.pending_buf = new utils.Buf8(s.pending_buf_size); - s.d_buf = 1 * s.lit_bufsize; - s.l_buf = (1 + 2) * s.lit_bufsize; - s.level = level; - s.strategy = strategy; - s.method = method; - return deflateReset(strm); - } - function deflateInit(strm, level) { - return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY); - } - function deflate(strm, flush) { - var old_flush, s; - var beg, val; - if (!strm || !strm.state || flush > Z_BLOCK || flush < 0) { - return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR; - } - s = strm.state; - if (!strm.output || !strm.input && strm.avail_in !== 0 || s.status === FINISH_STATE && flush !== Z_FINISH) { - return err(strm, strm.avail_out === 0 ? Z_BUF_ERROR : Z_STREAM_ERROR); - } - s.strm = strm; - old_flush = s.last_flush; - s.last_flush = flush; - if (s.status === INIT_STATE) { - if (s.wrap === 2) { - strm.adler = 0; - put_byte(s, 31); - put_byte(s, 139); - put_byte(s, 8); - if (!s.gzhead) { - put_byte(s, 0); - put_byte(s, 0); - put_byte(s, 0); - put_byte(s, 0); - put_byte(s, 0); - put_byte(s, s.level === 9 ? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ? 4 : 0); - put_byte(s, OS_CODE); - s.status = BUSY_STATE; - } else { - put_byte( - s, - (s.gzhead.text ? 1 : 0) + (s.gzhead.hcrc ? 2 : 0) + (!s.gzhead.extra ? 0 : 4) + (!s.gzhead.name ? 0 : 8) + (!s.gzhead.comment ? 0 : 16) - ); - put_byte(s, s.gzhead.time & 255); - put_byte(s, s.gzhead.time >> 8 & 255); - put_byte(s, s.gzhead.time >> 16 & 255); - put_byte(s, s.gzhead.time >> 24 & 255); - put_byte(s, s.level === 9 ? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ? 4 : 0); - put_byte(s, s.gzhead.os & 255); - if (s.gzhead.extra && s.gzhead.extra.length) { - put_byte(s, s.gzhead.extra.length & 255); - put_byte(s, s.gzhead.extra.length >> 8 & 255); - } - if (s.gzhead.hcrc) { - strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0); - } - s.gzindex = 0; - s.status = EXTRA_STATE; - } - } else { - var header = Z_DEFLATED + (s.w_bits - 8 << 4) << 8; - var level_flags = -1; - if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) { - level_flags = 0; - } else if (s.level < 6) { - level_flags = 1; - } else if (s.level === 6) { - level_flags = 2; - } else { - level_flags = 3; - } - header |= level_flags << 6; - if (s.strstart !== 0) { - header |= PRESET_DICT; - } - header += 31 - header % 31; - s.status = BUSY_STATE; - putShortMSB(s, header); - if (s.strstart !== 0) { - putShortMSB(s, strm.adler >>> 16); - putShortMSB(s, strm.adler & 65535); - } - strm.adler = 1; - } - } - if (s.status === EXTRA_STATE) { - if (s.gzhead.extra) { - beg = s.pending; - while (s.gzindex < (s.gzhead.extra.length & 65535)) { - if (s.pending === s.pending_buf_size) { - if (s.gzhead.hcrc && s.pending > beg) { - strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); - } - flush_pending(strm); - beg = s.pending; - if (s.pending === s.pending_buf_size) { - break; - } - } - put_byte(s, s.gzhead.extra[s.gzindex] & 255); - s.gzindex++; - } - if (s.gzhead.hcrc && s.pending > beg) { - strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); - } - if (s.gzindex === s.gzhead.extra.length) { - s.gzindex = 0; - s.status = NAME_STATE; - } - } else { - s.status = NAME_STATE; - } - } - if (s.status === NAME_STATE) { - if (s.gzhead.name) { - beg = s.pending; - do { - if (s.pending === s.pending_buf_size) { - if (s.gzhead.hcrc && s.pending > beg) { - strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); - } - flush_pending(strm); - beg = s.pending; - if (s.pending === s.pending_buf_size) { - val = 1; - break; - } - } - if (s.gzindex < s.gzhead.name.length) { - val = s.gzhead.name.charCodeAt(s.gzindex++) & 255; - } else { - val = 0; - } - put_byte(s, val); - } while (val !== 0); - if (s.gzhead.hcrc && s.pending > beg) { - strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); - } - if (val === 0) { - s.gzindex = 0; - s.status = COMMENT_STATE; - } - } else { - s.status = COMMENT_STATE; - } - } - if (s.status === COMMENT_STATE) { - if (s.gzhead.comment) { - beg = s.pending; - do { - if (s.pending === s.pending_buf_size) { - if (s.gzhead.hcrc && s.pending > beg) { - strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); - } - flush_pending(strm); - beg = s.pending; - if (s.pending === s.pending_buf_size) { - val = 1; - break; - } - } - if (s.gzindex < s.gzhead.comment.length) { - val = s.gzhead.comment.charCodeAt(s.gzindex++) & 255; - } else { - val = 0; - } - put_byte(s, val); - } while (val !== 0); - if (s.gzhead.hcrc && s.pending > beg) { - strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); - } - if (val === 0) { - s.status = HCRC_STATE; - } - } else { - s.status = HCRC_STATE; - } - } - if (s.status === HCRC_STATE) { - if (s.gzhead.hcrc) { - if (s.pending + 2 > s.pending_buf_size) { - flush_pending(strm); - } - if (s.pending + 2 <= s.pending_buf_size) { - put_byte(s, strm.adler & 255); - put_byte(s, strm.adler >> 8 & 255); - strm.adler = 0; - s.status = BUSY_STATE; - } - } else { - s.status = BUSY_STATE; - } - } - if (s.pending !== 0) { - flush_pending(strm); - if (strm.avail_out === 0) { - s.last_flush = -1; - return Z_OK; - } - } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) && flush !== Z_FINISH) { - return err(strm, Z_BUF_ERROR); - } - if (s.status === FINISH_STATE && strm.avail_in !== 0) { - return err(strm, Z_BUF_ERROR); - } - if (strm.avail_in !== 0 || s.lookahead !== 0 || flush !== Z_NO_FLUSH && s.status !== FINISH_STATE) { - var bstate = s.strategy === Z_HUFFMAN_ONLY ? deflate_huff(s, flush) : s.strategy === Z_RLE ? deflate_rle(s, flush) : configuration_table[s.level].func(s, flush); - if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) { - s.status = FINISH_STATE; - } - if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) { - if (strm.avail_out === 0) { - s.last_flush = -1; - } - return Z_OK; - } - if (bstate === BS_BLOCK_DONE) { - if (flush === Z_PARTIAL_FLUSH) { - trees._tr_align(s); - } else if (flush !== Z_BLOCK) { - trees._tr_stored_block(s, 0, 0, false); - if (flush === Z_FULL_FLUSH) { - zero(s.head); - if (s.lookahead === 0) { - s.strstart = 0; - s.block_start = 0; - s.insert = 0; - } - } - } - flush_pending(strm); - if (strm.avail_out === 0) { - s.last_flush = -1; - return Z_OK; - } - } - } - if (flush !== Z_FINISH) { - return Z_OK; - } - if (s.wrap <= 0) { - return Z_STREAM_END; - } - if (s.wrap === 2) { - put_byte(s, strm.adler & 255); - put_byte(s, strm.adler >> 8 & 255); - put_byte(s, strm.adler >> 16 & 255); - put_byte(s, strm.adler >> 24 & 255); - put_byte(s, strm.total_in & 255); - put_byte(s, strm.total_in >> 8 & 255); - put_byte(s, strm.total_in >> 16 & 255); - put_byte(s, strm.total_in >> 24 & 255); - } else { - putShortMSB(s, strm.adler >>> 16); - putShortMSB(s, strm.adler & 65535); - } - flush_pending(strm); - if (s.wrap > 0) { - s.wrap = -s.wrap; - } - return s.pending !== 0 ? Z_OK : Z_STREAM_END; - } - function deflateEnd(strm) { - var status; - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - status = strm.state.status; - if (status !== INIT_STATE && status !== EXTRA_STATE && status !== NAME_STATE && status !== COMMENT_STATE && status !== HCRC_STATE && status !== BUSY_STATE && status !== FINISH_STATE) { - return err(strm, Z_STREAM_ERROR); - } - strm.state = null; - return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK; - } - function deflateSetDictionary(strm, dictionary) { - var dictLength = dictionary.length; - var s; - var str, n; - var wrap; - var avail; - var next; - var input; - var tmpDict; - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - s = strm.state; - wrap = s.wrap; - if (wrap === 2 || wrap === 1 && s.status !== INIT_STATE || s.lookahead) { - return Z_STREAM_ERROR; - } - if (wrap === 1) { - strm.adler = adler32(strm.adler, dictionary, dictLength, 0); - } - s.wrap = 0; - if (dictLength >= s.w_size) { - if (wrap === 0) { - zero(s.head); - s.strstart = 0; - s.block_start = 0; - s.insert = 0; - } - tmpDict = new utils.Buf8(s.w_size); - utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0); - dictionary = tmpDict; - dictLength = s.w_size; - } - avail = strm.avail_in; - next = strm.next_in; - input = strm.input; - strm.avail_in = dictLength; - strm.next_in = 0; - strm.input = dictionary; - fill_window(s); - while (s.lookahead >= MIN_MATCH) { - str = s.strstart; - n = s.lookahead - (MIN_MATCH - 1); - do { - s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask; - s.prev[str & s.w_mask] = s.head[s.ins_h]; - s.head[s.ins_h] = str; - str++; - } while (--n); - s.strstart = str; - s.lookahead = MIN_MATCH - 1; - fill_window(s); - } - s.strstart += s.lookahead; - s.block_start = s.strstart; - s.insert = s.lookahead; - s.lookahead = 0; - s.match_length = s.prev_length = MIN_MATCH - 1; - s.match_available = 0; - strm.next_in = next; - strm.input = input; - strm.avail_in = avail; - s.wrap = wrap; - return Z_OK; - } - exports.deflateInit = deflateInit; - exports.deflateInit2 = deflateInit2; - exports.deflateReset = deflateReset; - exports.deflateResetKeep = deflateResetKeep; - exports.deflateSetHeader = deflateSetHeader; - exports.deflate = deflate; - exports.deflateEnd = deflateEnd; - exports.deflateSetDictionary = deflateSetDictionary; - exports.deflateInfo = "pako deflate (from Nodeca project)"; - } -}); - -// ../../../node_modules/pako/lib/utils/strings.js -var require_strings = __commonJS({ - "../../../node_modules/pako/lib/utils/strings.js"(exports) { - "use strict"; - var utils = require_common(); - var STR_APPLY_OK = true; - var STR_APPLY_UIA_OK = true; - try { - String.fromCharCode.apply(null, [0]); - } catch (__) { - STR_APPLY_OK = false; - } - try { - String.fromCharCode.apply(null, new Uint8Array(1)); - } catch (__) { - STR_APPLY_UIA_OK = false; - } - var _utf8len = new utils.Buf8(256); - for (q = 0; q < 256; q++) { - _utf8len[q] = q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1; - } - var q; - _utf8len[254] = _utf8len[254] = 1; - exports.string2buf = function(str) { - var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0; - for (m_pos = 0; m_pos < str_len; m_pos++) { - c = str.charCodeAt(m_pos); - if ((c & 64512) === 55296 && m_pos + 1 < str_len) { - c2 = str.charCodeAt(m_pos + 1); - if ((c2 & 64512) === 56320) { - c = 65536 + (c - 55296 << 10) + (c2 - 56320); - m_pos++; - } - } - buf_len += c < 128 ? 1 : c < 2048 ? 2 : c < 65536 ? 3 : 4; - } - buf = new utils.Buf8(buf_len); - for (i = 0, m_pos = 0; i < buf_len; m_pos++) { - c = str.charCodeAt(m_pos); - if ((c & 64512) === 55296 && m_pos + 1 < str_len) { - c2 = str.charCodeAt(m_pos + 1); - if ((c2 & 64512) === 56320) { - c = 65536 + (c - 55296 << 10) + (c2 - 56320); - m_pos++; - } - } - if (c < 128) { - buf[i++] = c; - } else if (c < 2048) { - buf[i++] = 192 | c >>> 6; - buf[i++] = 128 | c & 63; - } else if (c < 65536) { - buf[i++] = 224 | c >>> 12; - buf[i++] = 128 | c >>> 6 & 63; - buf[i++] = 128 | c & 63; - } else { - buf[i++] = 240 | c >>> 18; - buf[i++] = 128 | c >>> 12 & 63; - buf[i++] = 128 | c >>> 6 & 63; - buf[i++] = 128 | c & 63; - } - } - return buf; - }; - function buf2binstring(buf, len) { - if (len < 65534) { - if (buf.subarray && STR_APPLY_UIA_OK || !buf.subarray && STR_APPLY_OK) { - return String.fromCharCode.apply(null, utils.shrinkBuf(buf, len)); - } - } - var result = ""; - for (var i = 0; i < len; i++) { - result += String.fromCharCode(buf[i]); - } - return result; - } - exports.buf2binstring = function(buf) { - return buf2binstring(buf, buf.length); - }; - exports.binstring2buf = function(str) { - var buf = new utils.Buf8(str.length); - for (var i = 0, len = buf.length; i < len; i++) { - buf[i] = str.charCodeAt(i); - } - return buf; - }; - exports.buf2string = function(buf, max) { - var i, out, c, c_len; - var len = max || buf.length; - var utf16buf = new Array(len * 2); - for (out = 0, i = 0; i < len; ) { - c = buf[i++]; - if (c < 128) { - utf16buf[out++] = c; - continue; - } - c_len = _utf8len[c]; - if (c_len > 4) { - utf16buf[out++] = 65533; - i += c_len - 1; - continue; - } - c &= c_len === 2 ? 31 : c_len === 3 ? 15 : 7; - while (c_len > 1 && i < len) { - c = c << 6 | buf[i++] & 63; - c_len--; - } - if (c_len > 1) { - utf16buf[out++] = 65533; - continue; - } - if (c < 65536) { - utf16buf[out++] = c; - } else { - c -= 65536; - utf16buf[out++] = 55296 | c >> 10 & 1023; - utf16buf[out++] = 56320 | c & 1023; - } - } - return buf2binstring(utf16buf, out); - }; - exports.utf8border = function(buf, max) { - var pos; - max = max || buf.length; - if (max > buf.length) { - max = buf.length; - } - pos = max - 1; - while (pos >= 0 && (buf[pos] & 192) === 128) { - pos--; - } - if (pos < 0) { - return max; - } - if (pos === 0) { - return max; - } - return pos + _utf8len[buf[pos]] > max ? pos : max; - }; - } -}); - -// ../../../node_modules/pako/lib/zlib/zstream.js -var require_zstream = __commonJS({ - "../../../node_modules/pako/lib/zlib/zstream.js"(exports, module) { - "use strict"; - function ZStream() { - this.input = null; - this.next_in = 0; - this.avail_in = 0; - this.total_in = 0; - this.output = null; - this.next_out = 0; - this.avail_out = 0; - this.total_out = 0; - this.msg = ""; - this.state = null; - this.data_type = 2; - this.adler = 0; - } - module.exports = ZStream; - } -}); - -// ../../../node_modules/pako/lib/deflate.js -var require_deflate2 = __commonJS({ - "../../../node_modules/pako/lib/deflate.js"(exports) { - "use strict"; - var zlib_deflate = require_deflate(); - var utils = require_common(); - var strings = require_strings(); - var msg = require_messages(); - var ZStream = require_zstream(); - var toString = Object.prototype.toString; - var Z_NO_FLUSH = 0; - var Z_FINISH = 4; - var Z_OK = 0; - var Z_STREAM_END = 1; - var Z_SYNC_FLUSH = 2; - var Z_DEFAULT_COMPRESSION = -1; - var Z_DEFAULT_STRATEGY = 0; - var Z_DEFLATED = 8; - function Deflate(options) { - if (!(this instanceof Deflate)) return new Deflate(options); - this.options = utils.assign({ - level: Z_DEFAULT_COMPRESSION, - method: Z_DEFLATED, - chunkSize: 16384, - windowBits: 15, - memLevel: 8, - strategy: Z_DEFAULT_STRATEGY, - to: "" - }, options || {}); - var opt = this.options; - if (opt.raw && opt.windowBits > 0) { - opt.windowBits = -opt.windowBits; - } else if (opt.gzip && opt.windowBits > 0 && opt.windowBits < 16) { - opt.windowBits += 16; - } - this.err = 0; - this.msg = ""; - this.ended = false; - this.chunks = []; - this.strm = new ZStream(); - this.strm.avail_out = 0; - var status = zlib_deflate.deflateInit2( - this.strm, - opt.level, - opt.method, - opt.windowBits, - opt.memLevel, - opt.strategy - ); - if (status !== Z_OK) { - throw new Error(msg[status]); - } - if (opt.header) { - zlib_deflate.deflateSetHeader(this.strm, opt.header); - } - if (opt.dictionary) { - var dict; - if (typeof opt.dictionary === "string") { - dict = strings.string2buf(opt.dictionary); - } else if (toString.call(opt.dictionary) === "[object ArrayBuffer]") { - dict = new Uint8Array(opt.dictionary); - } else { - dict = opt.dictionary; - } - status = zlib_deflate.deflateSetDictionary(this.strm, dict); - if (status !== Z_OK) { - throw new Error(msg[status]); - } - this._dict_set = true; - } - } - Deflate.prototype.push = function(data, mode) { - var strm = this.strm; - var chunkSize = this.options.chunkSize; - var status, _mode; - if (this.ended) { - return false; - } - _mode = mode === ~~mode ? mode : mode === true ? Z_FINISH : Z_NO_FLUSH; - if (typeof data === "string") { - strm.input = strings.string2buf(data); - } else if (toString.call(data) === "[object ArrayBuffer]") { - strm.input = new Uint8Array(data); - } else { - strm.input = data; - } - strm.next_in = 0; - strm.avail_in = strm.input.length; - do { - if (strm.avail_out === 0) { - strm.output = new utils.Buf8(chunkSize); - strm.next_out = 0; - strm.avail_out = chunkSize; - } - status = zlib_deflate.deflate(strm, _mode); - if (status !== Z_STREAM_END && status !== Z_OK) { - this.onEnd(status); - this.ended = true; - return false; - } - if (strm.avail_out === 0 || strm.avail_in === 0 && (_mode === Z_FINISH || _mode === Z_SYNC_FLUSH)) { - if (this.options.to === "string") { - this.onData(strings.buf2binstring(utils.shrinkBuf(strm.output, strm.next_out))); - } else { - this.onData(utils.shrinkBuf(strm.output, strm.next_out)); - } - } - } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END); - if (_mode === Z_FINISH) { - status = zlib_deflate.deflateEnd(this.strm); - this.onEnd(status); - this.ended = true; - return status === Z_OK; - } - if (_mode === Z_SYNC_FLUSH) { - this.onEnd(Z_OK); - strm.avail_out = 0; - return true; - } - return true; - }; - Deflate.prototype.onData = function(chunk) { - this.chunks.push(chunk); - }; - Deflate.prototype.onEnd = function(status) { - if (status === Z_OK) { - if (this.options.to === "string") { - this.result = this.chunks.join(""); - } else { - this.result = utils.flattenChunks(this.chunks); - } - } - this.chunks = []; - this.err = status; - this.msg = this.strm.msg; - }; - function deflate(input, options) { - var deflator = new Deflate(options); - deflator.push(input, true); - if (deflator.err) { - throw deflator.msg || msg[deflator.err]; - } - return deflator.result; - } - function deflateRaw(input, options) { - options = options || {}; - options.raw = true; - return deflate(input, options); - } - function gzip(input, options) { - options = options || {}; - options.gzip = true; - return deflate(input, options); - } - exports.Deflate = Deflate; - exports.deflate = deflate; - exports.deflateRaw = deflateRaw; - exports.gzip = gzip; - } -}); - -// ../../../node_modules/pako/lib/zlib/inffast.js -var require_inffast = __commonJS({ - "../../../node_modules/pako/lib/zlib/inffast.js"(exports, module) { - "use strict"; - var BAD = 30; - var TYPE = 12; - module.exports = function inflate_fast(strm, start) { - var state; - var _in; - var last2; - var _out; - var beg; - var end; - var dmax; - var wsize; - var whave; - var wnext; - var s_window; - var hold; - var bits; - var lcode; - var dcode; - var lmask; - var dmask; - var here; - var op; - var len; - var dist; - var from; - var from_source; - var input, output; - state = strm.state; - _in = strm.next_in; - input = strm.input; - last2 = _in + (strm.avail_in - 5); - _out = strm.next_out; - output = strm.output; - beg = _out - (start - strm.avail_out); - end = _out + (strm.avail_out - 257); - dmax = state.dmax; - wsize = state.wsize; - whave = state.whave; - wnext = state.wnext; - s_window = state.window; - hold = state.hold; - bits = state.bits; - lcode = state.lencode; - dcode = state.distcode; - lmask = (1 << state.lenbits) - 1; - dmask = (1 << state.distbits) - 1; - top: - do { - if (bits < 15) { - hold += input[_in++] << bits; - bits += 8; - hold += input[_in++] << bits; - bits += 8; - } - here = lcode[hold & lmask]; - dolen: - for (; ; ) { - op = here >>> 24; - hold >>>= op; - bits -= op; - op = here >>> 16 & 255; - if (op === 0) { - output[_out++] = here & 65535; - } else if (op & 16) { - len = here & 65535; - op &= 15; - if (op) { - if (bits < op) { - hold += input[_in++] << bits; - bits += 8; - } - len += hold & (1 << op) - 1; - hold >>>= op; - bits -= op; - } - if (bits < 15) { - hold += input[_in++] << bits; - bits += 8; - hold += input[_in++] << bits; - bits += 8; - } - here = dcode[hold & dmask]; - dodist: - for (; ; ) { - op = here >>> 24; - hold >>>= op; - bits -= op; - op = here >>> 16 & 255; - if (op & 16) { - dist = here & 65535; - op &= 15; - if (bits < op) { - hold += input[_in++] << bits; - bits += 8; - if (bits < op) { - hold += input[_in++] << bits; - bits += 8; - } - } - dist += hold & (1 << op) - 1; - if (dist > dmax) { - strm.msg = "invalid distance too far back"; - state.mode = BAD; - break top; - } - hold >>>= op; - bits -= op; - op = _out - beg; - if (dist > op) { - op = dist - op; - if (op > whave) { - if (state.sane) { - strm.msg = "invalid distance too far back"; - state.mode = BAD; - break top; - } - } - from = 0; - from_source = s_window; - if (wnext === 0) { - from += wsize - op; - if (op < len) { - len -= op; - do { - output[_out++] = s_window[from++]; - } while (--op); - from = _out - dist; - from_source = output; - } - } else if (wnext < op) { - from += wsize + wnext - op; - op -= wnext; - if (op < len) { - len -= op; - do { - output[_out++] = s_window[from++]; - } while (--op); - from = 0; - if (wnext < len) { - op = wnext; - len -= op; - do { - output[_out++] = s_window[from++]; - } while (--op); - from = _out - dist; - from_source = output; - } - } - } else { - from += wnext - op; - if (op < len) { - len -= op; - do { - output[_out++] = s_window[from++]; - } while (--op); - from = _out - dist; - from_source = output; - } - } - while (len > 2) { - output[_out++] = from_source[from++]; - output[_out++] = from_source[from++]; - output[_out++] = from_source[from++]; - len -= 3; - } - if (len) { - output[_out++] = from_source[from++]; - if (len > 1) { - output[_out++] = from_source[from++]; - } - } - } else { - from = _out - dist; - do { - output[_out++] = output[from++]; - output[_out++] = output[from++]; - output[_out++] = output[from++]; - len -= 3; - } while (len > 2); - if (len) { - output[_out++] = output[from++]; - if (len > 1) { - output[_out++] = output[from++]; - } - } - } - } else if ((op & 64) === 0) { - here = dcode[(here & 65535) + (hold & (1 << op) - 1)]; - continue dodist; - } else { - strm.msg = "invalid distance code"; - state.mode = BAD; - break top; - } - break; - } - } else if ((op & 64) === 0) { - here = lcode[(here & 65535) + (hold & (1 << op) - 1)]; - continue dolen; - } else if (op & 32) { - state.mode = TYPE; - break top; - } else { - strm.msg = "invalid literal/length code"; - state.mode = BAD; - break top; - } - break; - } - } while (_in < last2 && _out < end); - len = bits >> 3; - _in -= len; - bits -= len << 3; - hold &= (1 << bits) - 1; - strm.next_in = _in; - strm.next_out = _out; - strm.avail_in = _in < last2 ? 5 + (last2 - _in) : 5 - (_in - last2); - strm.avail_out = _out < end ? 257 + (end - _out) : 257 - (_out - end); - state.hold = hold; - state.bits = bits; - return; - }; - } -}); - -// ../../../node_modules/pako/lib/zlib/inftrees.js -var require_inftrees = __commonJS({ - "../../../node_modules/pako/lib/zlib/inftrees.js"(exports, module) { - "use strict"; - var utils = require_common(); - var MAXBITS = 15; - var ENOUGH_LENS = 852; - var ENOUGH_DISTS = 592; - var CODES = 0; - var LENS = 1; - var DISTS = 2; - var lbase = [ - /* Length codes 257..285 base */ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 13, - 15, - 17, - 19, - 23, - 27, - 31, - 35, - 43, - 51, - 59, - 67, - 83, - 99, - 115, - 131, - 163, - 195, - 227, - 258, - 0, - 0 - ]; - var lext = [ - /* Length codes 257..285 extra */ - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 17, - 17, - 17, - 17, - 18, - 18, - 18, - 18, - 19, - 19, - 19, - 19, - 20, - 20, - 20, - 20, - 21, - 21, - 21, - 21, - 16, - 72, - 78 - ]; - var dbase = [ - /* Distance codes 0..29 base */ - 1, - 2, - 3, - 4, - 5, - 7, - 9, - 13, - 17, - 25, - 33, - 49, - 65, - 97, - 129, - 193, - 257, - 385, - 513, - 769, - 1025, - 1537, - 2049, - 3073, - 4097, - 6145, - 8193, - 12289, - 16385, - 24577, - 0, - 0 - ]; - var dext = [ - /* Distance codes 0..29 extra */ - 16, - 16, - 16, - 16, - 17, - 17, - 18, - 18, - 19, - 19, - 20, - 20, - 21, - 21, - 22, - 22, - 23, - 23, - 24, - 24, - 25, - 25, - 26, - 26, - 27, - 27, - 28, - 28, - 29, - 29, - 64, - 64 - ]; - module.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts) { - var bits = opts.bits; - var len = 0; - var sym = 0; - var min = 0, max = 0; - var root = 0; - var curr = 0; - var drop = 0; - var left = 0; - var used = 0; - var huff = 0; - var incr; - var fill2; - var low; - var mask; - var next; - var base = null; - var base_index = 0; - var end; - var count = new utils.Buf16(MAXBITS + 1); - var offs = new utils.Buf16(MAXBITS + 1); - var extra = null; - var extra_index = 0; - var here_bits, here_op, here_val; - for (len = 0; len <= MAXBITS; len++) { - count[len] = 0; - } - for (sym = 0; sym < codes; sym++) { - count[lens[lens_index + sym]]++; - } - root = bits; - for (max = MAXBITS; max >= 1; max--) { - if (count[max] !== 0) { - break; - } - } - if (root > max) { - root = max; - } - if (max === 0) { - table[table_index++] = 1 << 24 | 64 << 16 | 0; - table[table_index++] = 1 << 24 | 64 << 16 | 0; - opts.bits = 1; - return 0; - } - for (min = 1; min < max; min++) { - if (count[min] !== 0) { - break; - } - } - if (root < min) { - root = min; - } - left = 1; - for (len = 1; len <= MAXBITS; len++) { - left <<= 1; - left -= count[len]; - if (left < 0) { - return -1; - } - } - if (left > 0 && (type === CODES || max !== 1)) { - return -1; - } - offs[1] = 0; - for (len = 1; len < MAXBITS; len++) { - offs[len + 1] = offs[len] + count[len]; - } - for (sym = 0; sym < codes; sym++) { - if (lens[lens_index + sym] !== 0) { - work[offs[lens[lens_index + sym]]++] = sym; - } - } - if (type === CODES) { - base = extra = work; - end = 19; - } else if (type === LENS) { - base = lbase; - base_index -= 257; - extra = lext; - extra_index -= 257; - end = 256; - } else { - base = dbase; - extra = dext; - end = -1; - } - huff = 0; - sym = 0; - len = min; - next = table_index; - curr = root; - drop = 0; - low = -1; - used = 1 << root; - mask = used - 1; - if (type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS) { - return 1; - } - for (; ; ) { - here_bits = len - drop; - if (work[sym] < end) { - here_op = 0; - here_val = work[sym]; - } else if (work[sym] > end) { - here_op = extra[extra_index + work[sym]]; - here_val = base[base_index + work[sym]]; - } else { - here_op = 32 + 64; - here_val = 0; - } - incr = 1 << len - drop; - fill2 = 1 << curr; - min = fill2; - do { - fill2 -= incr; - table[next + (huff >> drop) + fill2] = here_bits << 24 | here_op << 16 | here_val | 0; - } while (fill2 !== 0); - incr = 1 << len - 1; - while (huff & incr) { - incr >>= 1; - } - if (incr !== 0) { - huff &= incr - 1; - huff += incr; - } else { - huff = 0; - } - sym++; - if (--count[len] === 0) { - if (len === max) { - break; - } - len = lens[lens_index + work[sym]]; - } - if (len > root && (huff & mask) !== low) { - if (drop === 0) { - drop = root; - } - next += min; - curr = len - drop; - left = 1 << curr; - while (curr + drop < max) { - left -= count[curr + drop]; - if (left <= 0) { - break; - } - curr++; - left <<= 1; - } - used += 1 << curr; - if (type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS) { - return 1; - } - low = huff & mask; - table[low] = root << 24 | curr << 16 | next - table_index | 0; - } - } - if (huff !== 0) { - table[next + huff] = len - drop << 24 | 64 << 16 | 0; - } - opts.bits = root; - return 0; - }; - } -}); - -// ../../../node_modules/pako/lib/zlib/inflate.js -var require_inflate = __commonJS({ - "../../../node_modules/pako/lib/zlib/inflate.js"(exports) { - "use strict"; - var utils = require_common(); - var adler32 = require_adler32(); - var crc32 = require_crc32(); - var inflate_fast = require_inffast(); - var inflate_table = require_inftrees(); - var CODES = 0; - var LENS = 1; - var DISTS = 2; - var Z_FINISH = 4; - var Z_BLOCK = 5; - var Z_TREES = 6; - var Z_OK = 0; - var Z_STREAM_END = 1; - var Z_NEED_DICT = 2; - var Z_STREAM_ERROR = -2; - var Z_DATA_ERROR = -3; - var Z_MEM_ERROR = -4; - var Z_BUF_ERROR = -5; - var Z_DEFLATED = 8; - var HEAD = 1; - var FLAGS = 2; - var TIME = 3; - var OS = 4; - var EXLEN = 5; - var EXTRA = 6; - var NAME = 7; - var COMMENT = 8; - var HCRC = 9; - var DICTID = 10; - var DICT = 11; - var TYPE = 12; - var TYPEDO = 13; - var STORED = 14; - var COPY_ = 15; - var COPY = 16; - var TABLE = 17; - var LENLENS = 18; - var CODELENS = 19; - var LEN_ = 20; - var LEN = 21; - var LENEXT = 22; - var DIST = 23; - var DISTEXT = 24; - var MATCH = 25; - var LIT = 26; - var CHECK = 27; - var LENGTH = 28; - var DONE = 29; - var BAD = 30; - var MEM = 31; - var SYNC = 32; - var ENOUGH_LENS = 852; - var ENOUGH_DISTS = 592; - var MAX_WBITS = 15; - var DEF_WBITS = MAX_WBITS; - function zswap32(q) { - return (q >>> 24 & 255) + (q >>> 8 & 65280) + ((q & 65280) << 8) + ((q & 255) << 24); - } - function InflateState() { - this.mode = 0; - this.last = false; - this.wrap = 0; - this.havedict = false; - this.flags = 0; - this.dmax = 0; - this.check = 0; - this.total = 0; - this.head = null; - this.wbits = 0; - this.wsize = 0; - this.whave = 0; - this.wnext = 0; - this.window = null; - this.hold = 0; - this.bits = 0; - this.length = 0; - this.offset = 0; - this.extra = 0; - this.lencode = null; - this.distcode = null; - this.lenbits = 0; - this.distbits = 0; - this.ncode = 0; - this.nlen = 0; - this.ndist = 0; - this.have = 0; - this.next = null; - this.lens = new utils.Buf16(320); - this.work = new utils.Buf16(288); - this.lendyn = null; - this.distdyn = null; - this.sane = 0; - this.back = 0; - this.was = 0; - } - function inflateResetKeep(strm) { - var state; - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - state = strm.state; - strm.total_in = strm.total_out = state.total = 0; - strm.msg = ""; - if (state.wrap) { - strm.adler = state.wrap & 1; - } - state.mode = HEAD; - state.last = 0; - state.havedict = 0; - state.dmax = 32768; - state.head = null; - state.hold = 0; - state.bits = 0; - state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS); - state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS); - state.sane = 1; - state.back = -1; - return Z_OK; - } - function inflateReset(strm) { - var state; - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - state = strm.state; - state.wsize = 0; - state.whave = 0; - state.wnext = 0; - return inflateResetKeep(strm); - } - function inflateReset2(strm, windowBits) { - var wrap; - var state; - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - state = strm.state; - if (windowBits < 0) { - wrap = 0; - windowBits = -windowBits; - } else { - wrap = (windowBits >> 4) + 1; - if (windowBits < 48) { - windowBits &= 15; - } - } - if (windowBits && (windowBits < 8 || windowBits > 15)) { - return Z_STREAM_ERROR; - } - if (state.window !== null && state.wbits !== windowBits) { - state.window = null; - } - state.wrap = wrap; - state.wbits = windowBits; - return inflateReset(strm); - } - function inflateInit2(strm, windowBits) { - var ret; - var state; - if (!strm) { - return Z_STREAM_ERROR; - } - state = new InflateState(); - strm.state = state; - state.window = null; - ret = inflateReset2(strm, windowBits); - if (ret !== Z_OK) { - strm.state = null; - } - return ret; - } - function inflateInit(strm) { - return inflateInit2(strm, DEF_WBITS); - } - var virgin = true; - var lenfix; - var distfix; - function fixedtables(state) { - if (virgin) { - var sym; - lenfix = new utils.Buf32(512); - distfix = new utils.Buf32(32); - sym = 0; - while (sym < 144) { - state.lens[sym++] = 8; - } - while (sym < 256) { - state.lens[sym++] = 9; - } - while (sym < 280) { - state.lens[sym++] = 7; - } - while (sym < 288) { - state.lens[sym++] = 8; - } - inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 }); - sym = 0; - while (sym < 32) { - state.lens[sym++] = 5; - } - inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 }); - virgin = false; - } - state.lencode = lenfix; - state.lenbits = 9; - state.distcode = distfix; - state.distbits = 5; - } - function updatewindow(strm, src, end, copy) { - var dist; - var state = strm.state; - if (state.window === null) { - state.wsize = 1 << state.wbits; - state.wnext = 0; - state.whave = 0; - state.window = new utils.Buf8(state.wsize); - } - if (copy >= state.wsize) { - utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0); - state.wnext = 0; - state.whave = state.wsize; - } else { - dist = state.wsize - state.wnext; - if (dist > copy) { - dist = copy; - } - utils.arraySet(state.window, src, end - copy, dist, state.wnext); - copy -= dist; - if (copy) { - utils.arraySet(state.window, src, end - copy, copy, 0); - state.wnext = copy; - state.whave = state.wsize; - } else { - state.wnext += dist; - if (state.wnext === state.wsize) { - state.wnext = 0; - } - if (state.whave < state.wsize) { - state.whave += dist; - } - } - } - return 0; - } - function inflate(strm, flush) { - var state; - var input, output; - var next; - var put; - var have, left; - var hold; - var bits; - var _in, _out; - var copy; - var from; - var from_source; - var here = 0; - var here_bits, here_op, here_val; - var last_bits, last_op, last_val; - var len; - var ret; - var hbuf = new utils.Buf8(4); - var opts; - var n; - var order = ( - /* permutation of code lengths */ - [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15] - ); - if (!strm || !strm.state || !strm.output || !strm.input && strm.avail_in !== 0) { - return Z_STREAM_ERROR; - } - state = strm.state; - if (state.mode === TYPE) { - state.mode = TYPEDO; - } - put = strm.next_out; - output = strm.output; - left = strm.avail_out; - next = strm.next_in; - input = strm.input; - have = strm.avail_in; - hold = state.hold; - bits = state.bits; - _in = have; - _out = left; - ret = Z_OK; - inf_leave: - for (; ; ) { - switch (state.mode) { - case HEAD: - if (state.wrap === 0) { - state.mode = TYPEDO; - break; - } - while (bits < 16) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if (state.wrap & 2 && hold === 35615) { - state.check = 0; - hbuf[0] = hold & 255; - hbuf[1] = hold >>> 8 & 255; - state.check = crc32(state.check, hbuf, 2, 0); - hold = 0; - bits = 0; - state.mode = FLAGS; - break; - } - state.flags = 0; - if (state.head) { - state.head.done = false; - } - if (!(state.wrap & 1) || /* check if zlib header allowed */ - (((hold & 255) << 8) + (hold >> 8)) % 31) { - strm.msg = "incorrect header check"; - state.mode = BAD; - break; - } - if ((hold & 15) !== Z_DEFLATED) { - strm.msg = "unknown compression method"; - state.mode = BAD; - break; - } - hold >>>= 4; - bits -= 4; - len = (hold & 15) + 8; - if (state.wbits === 0) { - state.wbits = len; - } else if (len > state.wbits) { - strm.msg = "invalid window size"; - state.mode = BAD; - break; - } - state.dmax = 1 << len; - strm.adler = state.check = 1; - state.mode = hold & 512 ? DICTID : TYPE; - hold = 0; - bits = 0; - break; - case FLAGS: - while (bits < 16) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - state.flags = hold; - if ((state.flags & 255) !== Z_DEFLATED) { - strm.msg = "unknown compression method"; - state.mode = BAD; - break; - } - if (state.flags & 57344) { - strm.msg = "unknown header flags set"; - state.mode = BAD; - break; - } - if (state.head) { - state.head.text = hold >> 8 & 1; - } - if (state.flags & 512) { - hbuf[0] = hold & 255; - hbuf[1] = hold >>> 8 & 255; - state.check = crc32(state.check, hbuf, 2, 0); - } - hold = 0; - bits = 0; - state.mode = TIME; - /* falls through */ - case TIME: - while (bits < 32) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if (state.head) { - state.head.time = hold; - } - if (state.flags & 512) { - hbuf[0] = hold & 255; - hbuf[1] = hold >>> 8 & 255; - hbuf[2] = hold >>> 16 & 255; - hbuf[3] = hold >>> 24 & 255; - state.check = crc32(state.check, hbuf, 4, 0); - } - hold = 0; - bits = 0; - state.mode = OS; - /* falls through */ - case OS: - while (bits < 16) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if (state.head) { - state.head.xflags = hold & 255; - state.head.os = hold >> 8; - } - if (state.flags & 512) { - hbuf[0] = hold & 255; - hbuf[1] = hold >>> 8 & 255; - state.check = crc32(state.check, hbuf, 2, 0); - } - hold = 0; - bits = 0; - state.mode = EXLEN; - /* falls through */ - case EXLEN: - if (state.flags & 1024) { - while (bits < 16) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - state.length = hold; - if (state.head) { - state.head.extra_len = hold; - } - if (state.flags & 512) { - hbuf[0] = hold & 255; - hbuf[1] = hold >>> 8 & 255; - state.check = crc32(state.check, hbuf, 2, 0); - } - hold = 0; - bits = 0; - } else if (state.head) { - state.head.extra = null; - } - state.mode = EXTRA; - /* falls through */ - case EXTRA: - if (state.flags & 1024) { - copy = state.length; - if (copy > have) { - copy = have; - } - if (copy) { - if (state.head) { - len = state.head.extra_len - state.length; - if (!state.head.extra) { - state.head.extra = new Array(state.head.extra_len); - } - utils.arraySet( - state.head.extra, - input, - next, - // extra field is limited to 65536 bytes - // - no need for additional size check - copy, - /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/ - len - ); - } - if (state.flags & 512) { - state.check = crc32(state.check, input, copy, next); - } - have -= copy; - next += copy; - state.length -= copy; - } - if (state.length) { - break inf_leave; - } - } - state.length = 0; - state.mode = NAME; - /* falls through */ - case NAME: - if (state.flags & 2048) { - if (have === 0) { - break inf_leave; - } - copy = 0; - do { - len = input[next + copy++]; - if (state.head && len && state.length < 65536) { - state.head.name += String.fromCharCode(len); - } - } while (len && copy < have); - if (state.flags & 512) { - state.check = crc32(state.check, input, copy, next); - } - have -= copy; - next += copy; - if (len) { - break inf_leave; - } - } else if (state.head) { - state.head.name = null; - } - state.length = 0; - state.mode = COMMENT; - /* falls through */ - case COMMENT: - if (state.flags & 4096) { - if (have === 0) { - break inf_leave; - } - copy = 0; - do { - len = input[next + copy++]; - if (state.head && len && state.length < 65536) { - state.head.comment += String.fromCharCode(len); - } - } while (len && copy < have); - if (state.flags & 512) { - state.check = crc32(state.check, input, copy, next); - } - have -= copy; - next += copy; - if (len) { - break inf_leave; - } - } else if (state.head) { - state.head.comment = null; - } - state.mode = HCRC; - /* falls through */ - case HCRC: - if (state.flags & 512) { - while (bits < 16) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if (hold !== (state.check & 65535)) { - strm.msg = "header crc mismatch"; - state.mode = BAD; - break; - } - hold = 0; - bits = 0; - } - if (state.head) { - state.head.hcrc = state.flags >> 9 & 1; - state.head.done = true; - } - strm.adler = state.check = 0; - state.mode = TYPE; - break; - case DICTID: - while (bits < 32) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - strm.adler = state.check = zswap32(hold); - hold = 0; - bits = 0; - state.mode = DICT; - /* falls through */ - case DICT: - if (state.havedict === 0) { - strm.next_out = put; - strm.avail_out = left; - strm.next_in = next; - strm.avail_in = have; - state.hold = hold; - state.bits = bits; - return Z_NEED_DICT; - } - strm.adler = state.check = 1; - state.mode = TYPE; - /* falls through */ - case TYPE: - if (flush === Z_BLOCK || flush === Z_TREES) { - break inf_leave; - } - /* falls through */ - case TYPEDO: - if (state.last) { - hold >>>= bits & 7; - bits -= bits & 7; - state.mode = CHECK; - break; - } - while (bits < 3) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - state.last = hold & 1; - hold >>>= 1; - bits -= 1; - switch (hold & 3) { - case 0: - state.mode = STORED; - break; - case 1: - fixedtables(state); - state.mode = LEN_; - if (flush === Z_TREES) { - hold >>>= 2; - bits -= 2; - break inf_leave; - } - break; - case 2: - state.mode = TABLE; - break; - case 3: - strm.msg = "invalid block type"; - state.mode = BAD; - } - hold >>>= 2; - bits -= 2; - break; - case STORED: - hold >>>= bits & 7; - bits -= bits & 7; - while (bits < 32) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if ((hold & 65535) !== (hold >>> 16 ^ 65535)) { - strm.msg = "invalid stored block lengths"; - state.mode = BAD; - break; - } - state.length = hold & 65535; - hold = 0; - bits = 0; - state.mode = COPY_; - if (flush === Z_TREES) { - break inf_leave; - } - /* falls through */ - case COPY_: - state.mode = COPY; - /* falls through */ - case COPY: - copy = state.length; - if (copy) { - if (copy > have) { - copy = have; - } - if (copy > left) { - copy = left; - } - if (copy === 0) { - break inf_leave; - } - utils.arraySet(output, input, next, copy, put); - have -= copy; - next += copy; - left -= copy; - put += copy; - state.length -= copy; - break; - } - state.mode = TYPE; - break; - case TABLE: - while (bits < 14) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - state.nlen = (hold & 31) + 257; - hold >>>= 5; - bits -= 5; - state.ndist = (hold & 31) + 1; - hold >>>= 5; - bits -= 5; - state.ncode = (hold & 15) + 4; - hold >>>= 4; - bits -= 4; - if (state.nlen > 286 || state.ndist > 30) { - strm.msg = "too many length or distance symbols"; - state.mode = BAD; - break; - } - state.have = 0; - state.mode = LENLENS; - /* falls through */ - case LENLENS: - while (state.have < state.ncode) { - while (bits < 3) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - state.lens[order[state.have++]] = hold & 7; - hold >>>= 3; - bits -= 3; - } - while (state.have < 19) { - state.lens[order[state.have++]] = 0; - } - state.lencode = state.lendyn; - state.lenbits = 7; - opts = { bits: state.lenbits }; - ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts); - state.lenbits = opts.bits; - if (ret) { - strm.msg = "invalid code lengths set"; - state.mode = BAD; - break; - } - state.have = 0; - state.mode = CODELENS; - /* falls through */ - case CODELENS: - while (state.have < state.nlen + state.ndist) { - for (; ; ) { - here = state.lencode[hold & (1 << state.lenbits) - 1]; - here_bits = here >>> 24; - here_op = here >>> 16 & 255; - here_val = here & 65535; - if (here_bits <= bits) { - break; - } - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if (here_val < 16) { - hold >>>= here_bits; - bits -= here_bits; - state.lens[state.have++] = here_val; - } else { - if (here_val === 16) { - n = here_bits + 2; - while (bits < n) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - hold >>>= here_bits; - bits -= here_bits; - if (state.have === 0) { - strm.msg = "invalid bit length repeat"; - state.mode = BAD; - break; - } - len = state.lens[state.have - 1]; - copy = 3 + (hold & 3); - hold >>>= 2; - bits -= 2; - } else if (here_val === 17) { - n = here_bits + 3; - while (bits < n) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - hold >>>= here_bits; - bits -= here_bits; - len = 0; - copy = 3 + (hold & 7); - hold >>>= 3; - bits -= 3; - } else { - n = here_bits + 7; - while (bits < n) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - hold >>>= here_bits; - bits -= here_bits; - len = 0; - copy = 11 + (hold & 127); - hold >>>= 7; - bits -= 7; - } - if (state.have + copy > state.nlen + state.ndist) { - strm.msg = "invalid bit length repeat"; - state.mode = BAD; - break; - } - while (copy--) { - state.lens[state.have++] = len; - } - } - } - if (state.mode === BAD) { - break; - } - if (state.lens[256] === 0) { - strm.msg = "invalid code -- missing end-of-block"; - state.mode = BAD; - break; - } - state.lenbits = 9; - opts = { bits: state.lenbits }; - ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts); - state.lenbits = opts.bits; - if (ret) { - strm.msg = "invalid literal/lengths set"; - state.mode = BAD; - break; - } - state.distbits = 6; - state.distcode = state.distdyn; - opts = { bits: state.distbits }; - ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts); - state.distbits = opts.bits; - if (ret) { - strm.msg = "invalid distances set"; - state.mode = BAD; - break; - } - state.mode = LEN_; - if (flush === Z_TREES) { - break inf_leave; - } - /* falls through */ - case LEN_: - state.mode = LEN; - /* falls through */ - case LEN: - if (have >= 6 && left >= 258) { - strm.next_out = put; - strm.avail_out = left; - strm.next_in = next; - strm.avail_in = have; - state.hold = hold; - state.bits = bits; - inflate_fast(strm, _out); - put = strm.next_out; - output = strm.output; - left = strm.avail_out; - next = strm.next_in; - input = strm.input; - have = strm.avail_in; - hold = state.hold; - bits = state.bits; - if (state.mode === TYPE) { - state.back = -1; - } - break; - } - state.back = 0; - for (; ; ) { - here = state.lencode[hold & (1 << state.lenbits) - 1]; - here_bits = here >>> 24; - here_op = here >>> 16 & 255; - here_val = here & 65535; - if (here_bits <= bits) { - break; - } - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if (here_op && (here_op & 240) === 0) { - last_bits = here_bits; - last_op = here_op; - last_val = here_val; - for (; ; ) { - here = state.lencode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)]; - here_bits = here >>> 24; - here_op = here >>> 16 & 255; - here_val = here & 65535; - if (last_bits + here_bits <= bits) { - break; - } - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - hold >>>= last_bits; - bits -= last_bits; - state.back += last_bits; - } - hold >>>= here_bits; - bits -= here_bits; - state.back += here_bits; - state.length = here_val; - if (here_op === 0) { - state.mode = LIT; - break; - } - if (here_op & 32) { - state.back = -1; - state.mode = TYPE; - break; - } - if (here_op & 64) { - strm.msg = "invalid literal/length code"; - state.mode = BAD; - break; - } - state.extra = here_op & 15; - state.mode = LENEXT; - /* falls through */ - case LENEXT: - if (state.extra) { - n = state.extra; - while (bits < n) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - state.length += hold & (1 << state.extra) - 1; - hold >>>= state.extra; - bits -= state.extra; - state.back += state.extra; - } - state.was = state.length; - state.mode = DIST; - /* falls through */ - case DIST: - for (; ; ) { - here = state.distcode[hold & (1 << state.distbits) - 1]; - here_bits = here >>> 24; - here_op = here >>> 16 & 255; - here_val = here & 65535; - if (here_bits <= bits) { - break; - } - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if ((here_op & 240) === 0) { - last_bits = here_bits; - last_op = here_op; - last_val = here_val; - for (; ; ) { - here = state.distcode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)]; - here_bits = here >>> 24; - here_op = here >>> 16 & 255; - here_val = here & 65535; - if (last_bits + here_bits <= bits) { - break; - } - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - hold >>>= last_bits; - bits -= last_bits; - state.back += last_bits; - } - hold >>>= here_bits; - bits -= here_bits; - state.back += here_bits; - if (here_op & 64) { - strm.msg = "invalid distance code"; - state.mode = BAD; - break; - } - state.offset = here_val; - state.extra = here_op & 15; - state.mode = DISTEXT; - /* falls through */ - case DISTEXT: - if (state.extra) { - n = state.extra; - while (bits < n) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - state.offset += hold & (1 << state.extra) - 1; - hold >>>= state.extra; - bits -= state.extra; - state.back += state.extra; - } - if (state.offset > state.dmax) { - strm.msg = "invalid distance too far back"; - state.mode = BAD; - break; - } - state.mode = MATCH; - /* falls through */ - case MATCH: - if (left === 0) { - break inf_leave; - } - copy = _out - left; - if (state.offset > copy) { - copy = state.offset - copy; - if (copy > state.whave) { - if (state.sane) { - strm.msg = "invalid distance too far back"; - state.mode = BAD; - break; - } - } - if (copy > state.wnext) { - copy -= state.wnext; - from = state.wsize - copy; - } else { - from = state.wnext - copy; - } - if (copy > state.length) { - copy = state.length; - } - from_source = state.window; - } else { - from_source = output; - from = put - state.offset; - copy = state.length; - } - if (copy > left) { - copy = left; - } - left -= copy; - state.length -= copy; - do { - output[put++] = from_source[from++]; - } while (--copy); - if (state.length === 0) { - state.mode = LEN; - } - break; - case LIT: - if (left === 0) { - break inf_leave; - } - output[put++] = state.length; - left--; - state.mode = LEN; - break; - case CHECK: - if (state.wrap) { - while (bits < 32) { - if (have === 0) { - break inf_leave; - } - have--; - hold |= input[next++] << bits; - bits += 8; - } - _out -= left; - strm.total_out += _out; - state.total += _out; - if (_out) { - strm.adler = state.check = /*UPDATE(state.check, put - _out, _out);*/ - state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out); - } - _out = left; - if ((state.flags ? hold : zswap32(hold)) !== state.check) { - strm.msg = "incorrect data check"; - state.mode = BAD; - break; - } - hold = 0; - bits = 0; - } - state.mode = LENGTH; - /* falls through */ - case LENGTH: - if (state.wrap && state.flags) { - while (bits < 32) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if (hold !== (state.total & 4294967295)) { - strm.msg = "incorrect length check"; - state.mode = BAD; - break; - } - hold = 0; - bits = 0; - } - state.mode = DONE; - /* falls through */ - case DONE: - ret = Z_STREAM_END; - break inf_leave; - case BAD: - ret = Z_DATA_ERROR; - break inf_leave; - case MEM: - return Z_MEM_ERROR; - case SYNC: - /* falls through */ - default: - return Z_STREAM_ERROR; - } - } - strm.next_out = put; - strm.avail_out = left; - strm.next_in = next; - strm.avail_in = have; - state.hold = hold; - state.bits = bits; - if (state.wsize || _out !== strm.avail_out && state.mode < BAD && (state.mode < CHECK || flush !== Z_FINISH)) { - if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) { - state.mode = MEM; - return Z_MEM_ERROR; - } - } - _in -= strm.avail_in; - _out -= strm.avail_out; - strm.total_in += _in; - strm.total_out += _out; - state.total += _out; - if (state.wrap && _out) { - strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/ - state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out); - } - strm.data_type = state.bits + (state.last ? 64 : 0) + (state.mode === TYPE ? 128 : 0) + (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0); - if ((_in === 0 && _out === 0 || flush === Z_FINISH) && ret === Z_OK) { - ret = Z_BUF_ERROR; - } - return ret; - } - function inflateEnd(strm) { - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - var state = strm.state; - if (state.window) { - state.window = null; - } - strm.state = null; - return Z_OK; - } - function inflateGetHeader(strm, head) { - var state; - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - state = strm.state; - if ((state.wrap & 2) === 0) { - return Z_STREAM_ERROR; - } - state.head = head; - head.done = false; - return Z_OK; - } - function inflateSetDictionary(strm, dictionary) { - var dictLength = dictionary.length; - var state; - var dictid; - var ret; - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - state = strm.state; - if (state.wrap !== 0 && state.mode !== DICT) { - return Z_STREAM_ERROR; - } - if (state.mode === DICT) { - dictid = 1; - dictid = adler32(dictid, dictionary, dictLength, 0); - if (dictid !== state.check) { - return Z_DATA_ERROR; - } - } - ret = updatewindow(strm, dictionary, dictLength, dictLength); - if (ret) { - state.mode = MEM; - return Z_MEM_ERROR; - } - state.havedict = 1; - return Z_OK; - } - exports.inflateReset = inflateReset; - exports.inflateReset2 = inflateReset2; - exports.inflateResetKeep = inflateResetKeep; - exports.inflateInit = inflateInit; - exports.inflateInit2 = inflateInit2; - exports.inflate = inflate; - exports.inflateEnd = inflateEnd; - exports.inflateGetHeader = inflateGetHeader; - exports.inflateSetDictionary = inflateSetDictionary; - exports.inflateInfo = "pako inflate (from Nodeca project)"; - } -}); - -// ../../../node_modules/pako/lib/zlib/constants.js -var require_constants = __commonJS({ - "../../../node_modules/pako/lib/zlib/constants.js"(exports, module) { - "use strict"; - module.exports = { - /* Allowed flush values; see deflate() and inflate() below for details */ - Z_NO_FLUSH: 0, - Z_PARTIAL_FLUSH: 1, - Z_SYNC_FLUSH: 2, - Z_FULL_FLUSH: 3, - Z_FINISH: 4, - Z_BLOCK: 5, - Z_TREES: 6, - /* Return codes for the compression/decompression functions. Negative values - * are errors, positive values are used for special but normal events. - */ - Z_OK: 0, - Z_STREAM_END: 1, - Z_NEED_DICT: 2, - Z_ERRNO: -1, - Z_STREAM_ERROR: -2, - Z_DATA_ERROR: -3, - //Z_MEM_ERROR: -4, - Z_BUF_ERROR: -5, - //Z_VERSION_ERROR: -6, - /* compression levels */ - Z_NO_COMPRESSION: 0, - Z_BEST_SPEED: 1, - Z_BEST_COMPRESSION: 9, - Z_DEFAULT_COMPRESSION: -1, - Z_FILTERED: 1, - Z_HUFFMAN_ONLY: 2, - Z_RLE: 3, - Z_FIXED: 4, - Z_DEFAULT_STRATEGY: 0, - /* Possible values of the data_type field (though see inflate()) */ - Z_BINARY: 0, - Z_TEXT: 1, - //Z_ASCII: 1, // = Z_TEXT (deprecated) - Z_UNKNOWN: 2, - /* The deflate compression method */ - Z_DEFLATED: 8 - //Z_NULL: null // Use -1 or null inline, depending on var type - }; - } -}); - -// ../../../node_modules/pako/lib/zlib/gzheader.js -var require_gzheader = __commonJS({ - "../../../node_modules/pako/lib/zlib/gzheader.js"(exports, module) { - "use strict"; - function GZheader() { - this.text = 0; - this.time = 0; - this.xflags = 0; - this.os = 0; - this.extra = null; - this.extra_len = 0; - this.name = ""; - this.comment = ""; - this.hcrc = 0; - this.done = false; - } - module.exports = GZheader; - } -}); - -// ../../../node_modules/pako/lib/inflate.js -var require_inflate2 = __commonJS({ - "../../../node_modules/pako/lib/inflate.js"(exports) { - "use strict"; - var zlib_inflate = require_inflate(); - var utils = require_common(); - var strings = require_strings(); - var c = require_constants(); - var msg = require_messages(); - var ZStream = require_zstream(); - var GZheader = require_gzheader(); - var toString = Object.prototype.toString; - function Inflate(options) { - if (!(this instanceof Inflate)) return new Inflate(options); - this.options = utils.assign({ - chunkSize: 16384, - windowBits: 0, - to: "" - }, options || {}); - var opt = this.options; - if (opt.raw && opt.windowBits >= 0 && opt.windowBits < 16) { - opt.windowBits = -opt.windowBits; - if (opt.windowBits === 0) { - opt.windowBits = -15; - } - } - if (opt.windowBits >= 0 && opt.windowBits < 16 && !(options && options.windowBits)) { - opt.windowBits += 32; - } - if (opt.windowBits > 15 && opt.windowBits < 48) { - if ((opt.windowBits & 15) === 0) { - opt.windowBits |= 15; - } - } - this.err = 0; - this.msg = ""; - this.ended = false; - this.chunks = []; - this.strm = new ZStream(); - this.strm.avail_out = 0; - var status = zlib_inflate.inflateInit2( - this.strm, - opt.windowBits - ); - if (status !== c.Z_OK) { - throw new Error(msg[status]); - } - this.header = new GZheader(); - zlib_inflate.inflateGetHeader(this.strm, this.header); - if (opt.dictionary) { - if (typeof opt.dictionary === "string") { - opt.dictionary = strings.string2buf(opt.dictionary); - } else if (toString.call(opt.dictionary) === "[object ArrayBuffer]") { - opt.dictionary = new Uint8Array(opt.dictionary); - } - if (opt.raw) { - status = zlib_inflate.inflateSetDictionary(this.strm, opt.dictionary); - if (status !== c.Z_OK) { - throw new Error(msg[status]); - } - } - } - } - Inflate.prototype.push = function(data, mode) { - var strm = this.strm; - var chunkSize = this.options.chunkSize; - var dictionary = this.options.dictionary; - var status, _mode; - var next_out_utf8, tail, utf8str; - var allowBufError = false; - if (this.ended) { - return false; - } - _mode = mode === ~~mode ? mode : mode === true ? c.Z_FINISH : c.Z_NO_FLUSH; - if (typeof data === "string") { - strm.input = strings.binstring2buf(data); - } else if (toString.call(data) === "[object ArrayBuffer]") { - strm.input = new Uint8Array(data); - } else { - strm.input = data; - } - strm.next_in = 0; - strm.avail_in = strm.input.length; - do { - if (strm.avail_out === 0) { - strm.output = new utils.Buf8(chunkSize); - strm.next_out = 0; - strm.avail_out = chunkSize; - } - status = zlib_inflate.inflate(strm, c.Z_NO_FLUSH); - if (status === c.Z_NEED_DICT && dictionary) { - status = zlib_inflate.inflateSetDictionary(this.strm, dictionary); - } - if (status === c.Z_BUF_ERROR && allowBufError === true) { - status = c.Z_OK; - allowBufError = false; - } - if (status !== c.Z_STREAM_END && status !== c.Z_OK) { - this.onEnd(status); - this.ended = true; - return false; - } - if (strm.next_out) { - if (strm.avail_out === 0 || status === c.Z_STREAM_END || strm.avail_in === 0 && (_mode === c.Z_FINISH || _mode === c.Z_SYNC_FLUSH)) { - if (this.options.to === "string") { - next_out_utf8 = strings.utf8border(strm.output, strm.next_out); - tail = strm.next_out - next_out_utf8; - utf8str = strings.buf2string(strm.output, next_out_utf8); - strm.next_out = tail; - strm.avail_out = chunkSize - tail; - if (tail) { - utils.arraySet(strm.output, strm.output, next_out_utf8, tail, 0); - } - this.onData(utf8str); - } else { - this.onData(utils.shrinkBuf(strm.output, strm.next_out)); - } - } - } - if (strm.avail_in === 0 && strm.avail_out === 0) { - allowBufError = true; - } - } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== c.Z_STREAM_END); - if (status === c.Z_STREAM_END) { - _mode = c.Z_FINISH; - } - if (_mode === c.Z_FINISH) { - status = zlib_inflate.inflateEnd(this.strm); - this.onEnd(status); - this.ended = true; - return status === c.Z_OK; - } - if (_mode === c.Z_SYNC_FLUSH) { - this.onEnd(c.Z_OK); - strm.avail_out = 0; - return true; - } - return true; - }; - Inflate.prototype.onData = function(chunk) { - this.chunks.push(chunk); - }; - Inflate.prototype.onEnd = function(status) { - if (status === c.Z_OK) { - if (this.options.to === "string") { - this.result = this.chunks.join(""); - } else { - this.result = utils.flattenChunks(this.chunks); - } - } - this.chunks = []; - this.err = status; - this.msg = this.strm.msg; - }; - function inflate(input, options) { - var inflator = new Inflate(options); - inflator.push(input, true); - if (inflator.err) { - throw inflator.msg || msg[inflator.err]; - } - return inflator.result; - } - function inflateRaw(input, options) { - options = options || {}; - options.raw = true; - return inflate(input, options); - } - exports.Inflate = Inflate; - exports.inflate = inflate; - exports.inflateRaw = inflateRaw; - exports.ungzip = inflate; - } -}); - -// ../../../node_modules/pako/index.js -var require_pako = __commonJS({ - "../../../node_modules/pako/index.js"(exports, module) { - "use strict"; - var assign = require_common().assign; - var deflate = require_deflate2(); - var inflate = require_inflate2(); - var constants = require_constants(); - var pako5 = {}; - assign(pako5, deflate, inflate, constants); - module.exports = pako5; - } -}); - -// node_modules/jszip/dist/jszip.min.js -var require_jszip_min = __commonJS({ - "node_modules/jszip/dist/jszip.min.js"(exports, module) { - !(function(e) { - if ("object" == typeof exports && "undefined" != typeof module) module.exports = e(); - else if ("function" == typeof define && define.amd) define([], e); - else { - ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).JSZip = e(); - } - })(function() { - return (function s(a, o, h) { - function u(r, e2) { - if (!o[r]) { - if (!a[r]) { - var t = "function" == typeof __require && __require; - if (!e2 && t) return t(r, true); - if (l) return l(r, true); - var n = new Error("Cannot find module '" + r + "'"); - throw n.code = "MODULE_NOT_FOUND", n; - } - var i = o[r] = { exports: {} }; - a[r][0].call(i.exports, function(e3) { - var t2 = a[r][1][e3]; - return u(t2 || e3); - }, i, i.exports, s, a, o, h); - } - return o[r].exports; - } - for (var l = "function" == typeof __require && __require, e = 0; e < h.length; e++) u(h[e]); - return u; - })({ 1: [function(e, t, r) { - "use strict"; - var d = e("./utils"), c = e("./support"), p = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; - r.encode = function(e2) { - for (var t2, r2, n, i, s, a, o, h = [], u = 0, l = e2.length, f = l, c2 = "string" !== d.getTypeOf(e2); u < e2.length; ) f = l - u, n = c2 ? (t2 = e2[u++], r2 = u < l ? e2[u++] : 0, u < l ? e2[u++] : 0) : (t2 = e2.charCodeAt(u++), r2 = u < l ? e2.charCodeAt(u++) : 0, u < l ? e2.charCodeAt(u++) : 0), i = t2 >> 2, s = (3 & t2) << 4 | r2 >> 4, a = 1 < f ? (15 & r2) << 2 | n >> 6 : 64, o = 2 < f ? 63 & n : 64, h.push(p.charAt(i) + p.charAt(s) + p.charAt(a) + p.charAt(o)); - return h.join(""); - }, r.decode = function(e2) { - var t2, r2, n, i, s, a, o = 0, h = 0, u = "data:"; - if (e2.substr(0, u.length) === u) throw new Error("Invalid base64 input, it looks like a data url."); - var l, f = 3 * (e2 = e2.replace(/[^A-Za-z0-9+/=]/g, "")).length / 4; - if (e2.charAt(e2.length - 1) === p.charAt(64) && f--, e2.charAt(e2.length - 2) === p.charAt(64) && f--, f % 1 != 0) throw new Error("Invalid base64 input, bad content length."); - for (l = c.uint8array ? new Uint8Array(0 | f) : new Array(0 | f); o < e2.length; ) t2 = p.indexOf(e2.charAt(o++)) << 2 | (i = p.indexOf(e2.charAt(o++))) >> 4, r2 = (15 & i) << 4 | (s = p.indexOf(e2.charAt(o++))) >> 2, n = (3 & s) << 6 | (a = p.indexOf(e2.charAt(o++))), l[h++] = t2, 64 !== s && (l[h++] = r2), 64 !== a && (l[h++] = n); - return l; - }; - }, { "./support": 30, "./utils": 32 }], 2: [function(e, t, r) { - "use strict"; - var n = e("./external"), i = e("./stream/DataWorker"), s = e("./stream/Crc32Probe"), a = e("./stream/DataLengthProbe"); - function o(e2, t2, r2, n2, i2) { - this.compressedSize = e2, this.uncompressedSize = t2, this.crc32 = r2, this.compression = n2, this.compressedContent = i2; - } - o.prototype = { getContentWorker: function() { - var e2 = new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")), t2 = this; - return e2.on("end", function() { - if (this.streamInfo.data_length !== t2.uncompressedSize) throw new Error("Bug : uncompressed data size mismatch"); - }), e2; - }, getCompressedWorker: function() { - return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize", this.compressedSize).withStreamInfo("uncompressedSize", this.uncompressedSize).withStreamInfo("crc32", this.crc32).withStreamInfo("compression", this.compression); - } }, o.createWorkerFrom = function(e2, t2, r2) { - return e2.pipe(new s()).pipe(new a("uncompressedSize")).pipe(t2.compressWorker(r2)).pipe(new a("compressedSize")).withStreamInfo("compression", t2); - }, t.exports = o; - }, { "./external": 6, "./stream/Crc32Probe": 25, "./stream/DataLengthProbe": 26, "./stream/DataWorker": 27 }], 3: [function(e, t, r) { - "use strict"; - var n = e("./stream/GenericWorker"); - r.STORE = { magic: "\0\0", compressWorker: function() { - return new n("STORE compression"); - }, uncompressWorker: function() { - return new n("STORE decompression"); - } }, r.DEFLATE = e("./flate"); - }, { "./flate": 7, "./stream/GenericWorker": 28 }], 4: [function(e, t, r) { - "use strict"; - var n = e("./utils"); - var o = (function() { - for (var e2, t2 = [], r2 = 0; r2 < 256; r2++) { - e2 = r2; - for (var n2 = 0; n2 < 8; n2++) e2 = 1 & e2 ? 3988292384 ^ e2 >>> 1 : e2 >>> 1; - t2[r2] = e2; - } - return t2; - })(); - t.exports = function(e2, t2) { - return void 0 !== e2 && e2.length ? "string" !== n.getTypeOf(e2) ? (function(e3, t3, r2, n2) { - var i = o, s = n2 + r2; - e3 ^= -1; - for (var a = n2; a < s; a++) e3 = e3 >>> 8 ^ i[255 & (e3 ^ t3[a])]; - return -1 ^ e3; - })(0 | t2, e2, e2.length, 0) : (function(e3, t3, r2, n2) { - var i = o, s = n2 + r2; - e3 ^= -1; - for (var a = n2; a < s; a++) e3 = e3 >>> 8 ^ i[255 & (e3 ^ t3.charCodeAt(a))]; - return -1 ^ e3; - })(0 | t2, e2, e2.length, 0) : 0; - }; - }, { "./utils": 32 }], 5: [function(e, t, r) { - "use strict"; - r.base64 = false, r.binary = false, r.dir = false, r.createFolders = true, r.date = null, r.compression = null, r.compressionOptions = null, r.comment = null, r.unixPermissions = null, r.dosPermissions = null; - }, {}], 6: [function(e, t, r) { - "use strict"; - var n = null; - n = "undefined" != typeof Promise ? Promise : e("lie"), t.exports = { Promise: n }; - }, { lie: 37 }], 7: [function(e, t, r) { - "use strict"; - var n = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Uint32Array, i = e("pako"), s = e("./utils"), a = e("./stream/GenericWorker"), o = n ? "uint8array" : "array"; - function h(e2, t2) { - a.call(this, "FlateWorker/" + e2), this._pako = null, this._pakoAction = e2, this._pakoOptions = t2, this.meta = {}; - } - r.magic = "\b\0", s.inherits(h, a), h.prototype.processChunk = function(e2) { - this.meta = e2.meta, null === this._pako && this._createPako(), this._pako.push(s.transformTo(o, e2.data), false); - }, h.prototype.flush = function() { - a.prototype.flush.call(this), null === this._pako && this._createPako(), this._pako.push([], true); - }, h.prototype.cleanUp = function() { - a.prototype.cleanUp.call(this), this._pako = null; - }, h.prototype._createPako = function() { - this._pako = new i[this._pakoAction]({ raw: true, level: this._pakoOptions.level || -1 }); - var t2 = this; - this._pako.onData = function(e2) { - t2.push({ data: e2, meta: t2.meta }); - }; - }, r.compressWorker = function(e2) { - return new h("Deflate", e2); - }, r.uncompressWorker = function() { - return new h("Inflate", {}); - }; - }, { "./stream/GenericWorker": 28, "./utils": 32, pako: 38 }], 8: [function(e, t, r) { - "use strict"; - function A(e2, t2) { - var r2, n2 = ""; - for (r2 = 0; r2 < t2; r2++) n2 += String.fromCharCode(255 & e2), e2 >>>= 8; - return n2; - } - function n(e2, t2, r2, n2, i2, s2) { - var a, o, h = e2.file, u = e2.compression, l = s2 !== O.utf8encode, f = I.transformTo("string", s2(h.name)), c = I.transformTo("string", O.utf8encode(h.name)), d = h.comment, p = I.transformTo("string", s2(d)), m = I.transformTo("string", O.utf8encode(d)), _ = c.length !== h.name.length, g = m.length !== d.length, b = "", v = "", y = "", w = h.dir, k = h.date, x = { crc32: 0, compressedSize: 0, uncompressedSize: 0 }; - t2 && !r2 || (x.crc32 = e2.crc32, x.compressedSize = e2.compressedSize, x.uncompressedSize = e2.uncompressedSize); - var S = 0; - t2 && (S |= 8), l || !_ && !g || (S |= 2048); - var z = 0, C = 0; - w && (z |= 16), "UNIX" === i2 ? (C = 798, z |= (function(e3, t3) { - var r3 = e3; - return e3 || (r3 = t3 ? 16893 : 33204), (65535 & r3) << 16; - })(h.unixPermissions, w)) : (C = 20, z |= (function(e3) { - return 63 & (e3 || 0); - })(h.dosPermissions)), a = k.getUTCHours(), a <<= 6, a |= k.getUTCMinutes(), a <<= 5, a |= k.getUTCSeconds() / 2, o = k.getUTCFullYear() - 1980, o <<= 4, o |= k.getUTCMonth() + 1, o <<= 5, o |= k.getUTCDate(), _ && (v = A(1, 1) + A(B(f), 4) + c, b += "up" + A(v.length, 2) + v), g && (y = A(1, 1) + A(B(p), 4) + m, b += "uc" + A(y.length, 2) + y); - var E = ""; - return E += "\n\0", E += A(S, 2), E += u.magic, E += A(a, 2), E += A(o, 2), E += A(x.crc32, 4), E += A(x.compressedSize, 4), E += A(x.uncompressedSize, 4), E += A(f.length, 2), E += A(b.length, 2), { fileRecord: R.LOCAL_FILE_HEADER + E + f + b, dirRecord: R.CENTRAL_FILE_HEADER + A(C, 2) + E + A(p.length, 2) + "\0\0\0\0" + A(z, 4) + A(n2, 4) + f + b + p }; - } - var I = e("../utils"), i = e("../stream/GenericWorker"), O = e("../utf8"), B = e("../crc32"), R = e("../signature"); - function s(e2, t2, r2, n2) { - i.call(this, "ZipFileWorker"), this.bytesWritten = 0, this.zipComment = t2, this.zipPlatform = r2, this.encodeFileName = n2, this.streamFiles = e2, this.accumulate = false, this.contentBuffer = [], this.dirRecords = [], this.currentSourceOffset = 0, this.entriesCount = 0, this.currentFile = null, this._sources = []; - } - I.inherits(s, i), s.prototype.push = function(e2) { - var t2 = e2.meta.percent || 0, r2 = this.entriesCount, n2 = this._sources.length; - this.accumulate ? this.contentBuffer.push(e2) : (this.bytesWritten += e2.data.length, i.prototype.push.call(this, { data: e2.data, meta: { currentFile: this.currentFile, percent: r2 ? (t2 + 100 * (r2 - n2 - 1)) / r2 : 100 } })); - }, s.prototype.openedSource = function(e2) { - this.currentSourceOffset = this.bytesWritten, this.currentFile = e2.file.name; - var t2 = this.streamFiles && !e2.file.dir; - if (t2) { - var r2 = n(e2, t2, false, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); - this.push({ data: r2.fileRecord, meta: { percent: 0 } }); - } else this.accumulate = true; - }, s.prototype.closedSource = function(e2) { - this.accumulate = false; - var t2 = this.streamFiles && !e2.file.dir, r2 = n(e2, t2, true, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); - if (this.dirRecords.push(r2.dirRecord), t2) this.push({ data: (function(e3) { - return R.DATA_DESCRIPTOR + A(e3.crc32, 4) + A(e3.compressedSize, 4) + A(e3.uncompressedSize, 4); - })(e2), meta: { percent: 100 } }); - else for (this.push({ data: r2.fileRecord, meta: { percent: 0 } }); this.contentBuffer.length; ) this.push(this.contentBuffer.shift()); - this.currentFile = null; - }, s.prototype.flush = function() { - for (var e2 = this.bytesWritten, t2 = 0; t2 < this.dirRecords.length; t2++) this.push({ data: this.dirRecords[t2], meta: { percent: 100 } }); - var r2 = this.bytesWritten - e2, n2 = (function(e3, t3, r3, n3, i2) { - var s2 = I.transformTo("string", i2(n3)); - return R.CENTRAL_DIRECTORY_END + "\0\0\0\0" + A(e3, 2) + A(e3, 2) + A(t3, 4) + A(r3, 4) + A(s2.length, 2) + s2; - })(this.dirRecords.length, r2, e2, this.zipComment, this.encodeFileName); - this.push({ data: n2, meta: { percent: 100 } }); - }, s.prototype.prepareNextSource = function() { - this.previous = this._sources.shift(), this.openedSource(this.previous.streamInfo), this.isPaused ? this.previous.pause() : this.previous.resume(); - }, s.prototype.registerPrevious = function(e2) { - this._sources.push(e2); - var t2 = this; - return e2.on("data", function(e3) { - t2.processChunk(e3); - }), e2.on("end", function() { - t2.closedSource(t2.previous.streamInfo), t2._sources.length ? t2.prepareNextSource() : t2.end(); - }), e2.on("error", function(e3) { - t2.error(e3); - }), this; - }, s.prototype.resume = function() { - return !!i.prototype.resume.call(this) && (!this.previous && this._sources.length ? (this.prepareNextSource(), true) : this.previous || this._sources.length || this.generatedError ? void 0 : (this.end(), true)); - }, s.prototype.error = function(e2) { - var t2 = this._sources; - if (!i.prototype.error.call(this, e2)) return false; - for (var r2 = 0; r2 < t2.length; r2++) try { - t2[r2].error(e2); - } catch (e3) { - } - return true; - }, s.prototype.lock = function() { - i.prototype.lock.call(this); - for (var e2 = this._sources, t2 = 0; t2 < e2.length; t2++) e2[t2].lock(); - }, t.exports = s; - }, { "../crc32": 4, "../signature": 23, "../stream/GenericWorker": 28, "../utf8": 31, "../utils": 32 }], 9: [function(e, t, r) { - "use strict"; - var u = e("../compressions"), n = e("./ZipFileWorker"); - r.generateWorker = function(e2, a, t2) { - var o = new n(a.streamFiles, t2, a.platform, a.encodeFileName), h = 0; - try { - e2.forEach(function(e3, t3) { - h++; - var r2 = (function(e4, t4) { - var r3 = e4 || t4, n3 = u[r3]; - if (!n3) throw new Error(r3 + " is not a valid compression method !"); - return n3; - })(t3.options.compression, a.compression), n2 = t3.options.compressionOptions || a.compressionOptions || {}, i = t3.dir, s = t3.date; - t3._compressWorker(r2, n2).withStreamInfo("file", { name: e3, dir: i, date: s, comment: t3.comment || "", unixPermissions: t3.unixPermissions, dosPermissions: t3.dosPermissions }).pipe(o); - }), o.entriesCount = h; - } catch (e3) { - o.error(e3); - } - return o; - }; - }, { "../compressions": 3, "./ZipFileWorker": 8 }], 10: [function(e, t, r) { - "use strict"; - function n() { - if (!(this instanceof n)) return new n(); - if (arguments.length) throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide."); - this.files = /* @__PURE__ */ Object.create(null), this.comment = null, this.root = "", this.clone = function() { - var e2 = new n(); - for (var t2 in this) "function" != typeof this[t2] && (e2[t2] = this[t2]); - return e2; - }; - } - (n.prototype = e("./object")).loadAsync = e("./load"), n.support = e("./support"), n.defaults = e("./defaults"), n.version = "3.10.1", n.loadAsync = function(e2, t2) { - return new n().loadAsync(e2, t2); - }, n.external = e("./external"), t.exports = n; - }, { "./defaults": 5, "./external": 6, "./load": 11, "./object": 15, "./support": 30 }], 11: [function(e, t, r) { - "use strict"; - var u = e("./utils"), i = e("./external"), n = e("./utf8"), s = e("./zipEntries"), a = e("./stream/Crc32Probe"), l = e("./nodejsUtils"); - function f(n2) { - return new i.Promise(function(e2, t2) { - var r2 = n2.decompressed.getContentWorker().pipe(new a()); - r2.on("error", function(e3) { - t2(e3); - }).on("end", function() { - r2.streamInfo.crc32 !== n2.decompressed.crc32 ? t2(new Error("Corrupted zip : CRC32 mismatch")) : e2(); - }).resume(); - }); - } - t.exports = function(e2, o) { - var h = this; - return o = u.extend(o || {}, { base64: false, checkCRC32: false, optimizedBinaryString: false, createFolders: false, decodeFileName: n.utf8decode }), l.isNode && l.isStream(e2) ? i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")) : u.prepareContent("the loaded zip file", e2, true, o.optimizedBinaryString, o.base64).then(function(e3) { - var t2 = new s(o); - return t2.load(e3), t2; - }).then(function(e3) { - var t2 = [i.Promise.resolve(e3)], r2 = e3.files; - if (o.checkCRC32) for (var n2 = 0; n2 < r2.length; n2++) t2.push(f(r2[n2])); - return i.Promise.all(t2); - }).then(function(e3) { - for (var t2 = e3.shift(), r2 = t2.files, n2 = 0; n2 < r2.length; n2++) { - var i2 = r2[n2], s2 = i2.fileNameStr, a2 = u.resolve(i2.fileNameStr); - h.file(a2, i2.decompressed, { binary: true, optimizedBinaryString: true, date: i2.date, dir: i2.dir, comment: i2.fileCommentStr.length ? i2.fileCommentStr : null, unixPermissions: i2.unixPermissions, dosPermissions: i2.dosPermissions, createFolders: o.createFolders }), i2.dir || (h.file(a2).unsafeOriginalName = s2); - } - return t2.zipComment.length && (h.comment = t2.zipComment), h; - }); - }; - }, { "./external": 6, "./nodejsUtils": 14, "./stream/Crc32Probe": 25, "./utf8": 31, "./utils": 32, "./zipEntries": 33 }], 12: [function(e, t, r) { - "use strict"; - var n = e("../utils"), i = e("../stream/GenericWorker"); - function s(e2, t2) { - i.call(this, "Nodejs stream input adapter for " + e2), this._upstreamEnded = false, this._bindStream(t2); - } - n.inherits(s, i), s.prototype._bindStream = function(e2) { - var t2 = this; - (this._stream = e2).pause(), e2.on("data", function(e3) { - t2.push({ data: e3, meta: { percent: 0 } }); - }).on("error", function(e3) { - t2.isPaused ? this.generatedError = e3 : t2.error(e3); - }).on("end", function() { - t2.isPaused ? t2._upstreamEnded = true : t2.end(); - }); - }, s.prototype.pause = function() { - return !!i.prototype.pause.call(this) && (this._stream.pause(), true); - }, s.prototype.resume = function() { - return !!i.prototype.resume.call(this) && (this._upstreamEnded ? this.end() : this._stream.resume(), true); - }, t.exports = s; - }, { "../stream/GenericWorker": 28, "../utils": 32 }], 13: [function(e, t, r) { - "use strict"; - var i = e("readable-stream").Readable; - function n(e2, t2, r2) { - i.call(this, t2), this._helper = e2; - var n2 = this; - e2.on("data", function(e3, t3) { - n2.push(e3) || n2._helper.pause(), r2 && r2(t3); - }).on("error", function(e3) { - n2.emit("error", e3); - }).on("end", function() { - n2.push(null); - }); - } - e("../utils").inherits(n, i), n.prototype._read = function() { - this._helper.resume(); - }, t.exports = n; - }, { "../utils": 32, "readable-stream": 16 }], 14: [function(e, t, r) { - "use strict"; - t.exports = { isNode: "undefined" != typeof Buffer, newBufferFrom: function(e2, t2) { - if (Buffer.from && Buffer.from !== Uint8Array.from) return Buffer.from(e2, t2); - if ("number" == typeof e2) throw new Error('The "data" argument must not be a number'); - return new Buffer(e2, t2); - }, allocBuffer: function(e2) { - if (Buffer.alloc) return Buffer.alloc(e2); - var t2 = new Buffer(e2); - return t2.fill(0), t2; - }, isBuffer: function(e2) { - return Buffer.isBuffer(e2); - }, isStream: function(e2) { - return e2 && "function" == typeof e2.on && "function" == typeof e2.pause && "function" == typeof e2.resume; - } }; - }, {}], 15: [function(e, t, r) { - "use strict"; - function s(e2, t2, r2) { - var n2, i2 = u.getTypeOf(t2), s2 = u.extend(r2 || {}, f); - s2.date = s2.date || /* @__PURE__ */ new Date(), null !== s2.compression && (s2.compression = s2.compression.toUpperCase()), "string" == typeof s2.unixPermissions && (s2.unixPermissions = parseInt(s2.unixPermissions, 8)), s2.unixPermissions && 16384 & s2.unixPermissions && (s2.dir = true), s2.dosPermissions && 16 & s2.dosPermissions && (s2.dir = true), s2.dir && (e2 = g(e2)), s2.createFolders && (n2 = _(e2)) && b.call(this, n2, true); - var a2 = "string" === i2 && false === s2.binary && false === s2.base64; - r2 && void 0 !== r2.binary || (s2.binary = !a2), (t2 instanceof c && 0 === t2.uncompressedSize || s2.dir || !t2 || 0 === t2.length) && (s2.base64 = false, s2.binary = true, t2 = "", s2.compression = "STORE", i2 = "string"); - var o2 = null; - o2 = t2 instanceof c || t2 instanceof l ? t2 : p.isNode && p.isStream(t2) ? new m(e2, t2) : u.prepareContent(e2, t2, s2.binary, s2.optimizedBinaryString, s2.base64); - var h2 = new d(e2, o2, s2); - this.files[e2] = h2; - } - var i = e("./utf8"), u = e("./utils"), l = e("./stream/GenericWorker"), a = e("./stream/StreamHelper"), f = e("./defaults"), c = e("./compressedObject"), d = e("./zipObject"), o = e("./generate"), p = e("./nodejsUtils"), m = e("./nodejs/NodejsStreamInputAdapter"), _ = function(e2) { - "/" === e2.slice(-1) && (e2 = e2.substring(0, e2.length - 1)); - var t2 = e2.lastIndexOf("/"); - return 0 < t2 ? e2.substring(0, t2) : ""; - }, g = function(e2) { - return "/" !== e2.slice(-1) && (e2 += "/"), e2; - }, b = function(e2, t2) { - return t2 = void 0 !== t2 ? t2 : f.createFolders, e2 = g(e2), this.files[e2] || s.call(this, e2, null, { dir: true, createFolders: t2 }), this.files[e2]; - }; - function h(e2) { - return "[object RegExp]" === Object.prototype.toString.call(e2); - } - var n = { load: function() { - throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); - }, forEach: function(e2) { - var t2, r2, n2; - for (t2 in this.files) n2 = this.files[t2], (r2 = t2.slice(this.root.length, t2.length)) && t2.slice(0, this.root.length) === this.root && e2(r2, n2); - }, filter: function(r2) { - var n2 = []; - return this.forEach(function(e2, t2) { - r2(e2, t2) && n2.push(t2); - }), n2; - }, file: function(e2, t2, r2) { - if (1 !== arguments.length) return e2 = this.root + e2, s.call(this, e2, t2, r2), this; - if (h(e2)) { - var n2 = e2; - return this.filter(function(e3, t3) { - return !t3.dir && n2.test(e3); - }); - } - var i2 = this.files[this.root + e2]; - return i2 && !i2.dir ? i2 : null; - }, folder: function(r2) { - if (!r2) return this; - if (h(r2)) return this.filter(function(e3, t3) { - return t3.dir && r2.test(e3); - }); - var e2 = this.root + r2, t2 = b.call(this, e2), n2 = this.clone(); - return n2.root = t2.name, n2; - }, remove: function(r2) { - r2 = this.root + r2; - var e2 = this.files[r2]; - if (e2 || ("/" !== r2.slice(-1) && (r2 += "/"), e2 = this.files[r2]), e2 && !e2.dir) delete this.files[r2]; - else for (var t2 = this.filter(function(e3, t3) { - return t3.name.slice(0, r2.length) === r2; - }), n2 = 0; n2 < t2.length; n2++) delete this.files[t2[n2].name]; - return this; - }, generate: function() { - throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); - }, generateInternalStream: function(e2) { - var t2, r2 = {}; - try { - if ((r2 = u.extend(e2 || {}, { streamFiles: false, compression: "STORE", compressionOptions: null, type: "", platform: "DOS", comment: null, mimeType: "application/zip", encodeFileName: i.utf8encode })).type = r2.type.toLowerCase(), r2.compression = r2.compression.toUpperCase(), "binarystring" === r2.type && (r2.type = "string"), !r2.type) throw new Error("No output type specified."); - u.checkSupport(r2.type), "darwin" !== r2.platform && "freebsd" !== r2.platform && "linux" !== r2.platform && "sunos" !== r2.platform || (r2.platform = "UNIX"), "win32" === r2.platform && (r2.platform = "DOS"); - var n2 = r2.comment || this.comment || ""; - t2 = o.generateWorker(this, r2, n2); - } catch (e3) { - (t2 = new l("error")).error(e3); - } - return new a(t2, r2.type || "string", r2.mimeType); - }, generateAsync: function(e2, t2) { - return this.generateInternalStream(e2).accumulate(t2); - }, generateNodeStream: function(e2, t2) { - return (e2 = e2 || {}).type || (e2.type = "nodebuffer"), this.generateInternalStream(e2).toNodejsStream(t2); - } }; - t.exports = n; - }, { "./compressedObject": 2, "./defaults": 5, "./generate": 9, "./nodejs/NodejsStreamInputAdapter": 12, "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31, "./utils": 32, "./zipObject": 35 }], 16: [function(e, t, r) { - "use strict"; - t.exports = e("stream"); - }, { stream: void 0 }], 17: [function(e, t, r) { - "use strict"; - var n = e("./DataReader"); - function i(e2) { - n.call(this, e2); - for (var t2 = 0; t2 < this.data.length; t2++) e2[t2] = 255 & e2[t2]; - } - e("../utils").inherits(i, n), i.prototype.byteAt = function(e2) { - return this.data[this.zero + e2]; - }, i.prototype.lastIndexOfSignature = function(e2) { - for (var t2 = e2.charCodeAt(0), r2 = e2.charCodeAt(1), n2 = e2.charCodeAt(2), i2 = e2.charCodeAt(3), s = this.length - 4; 0 <= s; --s) if (this.data[s] === t2 && this.data[s + 1] === r2 && this.data[s + 2] === n2 && this.data[s + 3] === i2) return s - this.zero; - return -1; - }, i.prototype.readAndCheckSignature = function(e2) { - var t2 = e2.charCodeAt(0), r2 = e2.charCodeAt(1), n2 = e2.charCodeAt(2), i2 = e2.charCodeAt(3), s = this.readData(4); - return t2 === s[0] && r2 === s[1] && n2 === s[2] && i2 === s[3]; - }, i.prototype.readData = function(e2) { - if (this.checkOffset(e2), 0 === e2) return []; - var t2 = this.data.slice(this.zero + this.index, this.zero + this.index + e2); - return this.index += e2, t2; - }, t.exports = i; - }, { "../utils": 32, "./DataReader": 18 }], 18: [function(e, t, r) { - "use strict"; - var n = e("../utils"); - function i(e2) { - this.data = e2, this.length = e2.length, this.index = 0, this.zero = 0; - } - i.prototype = { checkOffset: function(e2) { - this.checkIndex(this.index + e2); - }, checkIndex: function(e2) { - if (this.length < this.zero + e2 || e2 < 0) throw new Error("End of data reached (data length = " + this.length + ", asked index = " + e2 + "). Corrupted zip ?"); - }, setIndex: function(e2) { - this.checkIndex(e2), this.index = e2; - }, skip: function(e2) { - this.setIndex(this.index + e2); - }, byteAt: function() { - }, readInt: function(e2) { - var t2, r2 = 0; - for (this.checkOffset(e2), t2 = this.index + e2 - 1; t2 >= this.index; t2--) r2 = (r2 << 8) + this.byteAt(t2); - return this.index += e2, r2; - }, readString: function(e2) { - return n.transformTo("string", this.readData(e2)); - }, readData: function() { - }, lastIndexOfSignature: function() { - }, readAndCheckSignature: function() { - }, readDate: function() { - var e2 = this.readInt(4); - return new Date(Date.UTC(1980 + (e2 >> 25 & 127), (e2 >> 21 & 15) - 1, e2 >> 16 & 31, e2 >> 11 & 31, e2 >> 5 & 63, (31 & e2) << 1)); - } }, t.exports = i; - }, { "../utils": 32 }], 19: [function(e, t, r) { - "use strict"; - var n = e("./Uint8ArrayReader"); - function i(e2) { - n.call(this, e2); - } - e("../utils").inherits(i, n), i.prototype.readData = function(e2) { - this.checkOffset(e2); - var t2 = this.data.slice(this.zero + this.index, this.zero + this.index + e2); - return this.index += e2, t2; - }, t.exports = i; - }, { "../utils": 32, "./Uint8ArrayReader": 21 }], 20: [function(e, t, r) { - "use strict"; - var n = e("./DataReader"); - function i(e2) { - n.call(this, e2); - } - e("../utils").inherits(i, n), i.prototype.byteAt = function(e2) { - return this.data.charCodeAt(this.zero + e2); - }, i.prototype.lastIndexOfSignature = function(e2) { - return this.data.lastIndexOf(e2) - this.zero; - }, i.prototype.readAndCheckSignature = function(e2) { - return e2 === this.readData(4); - }, i.prototype.readData = function(e2) { - this.checkOffset(e2); - var t2 = this.data.slice(this.zero + this.index, this.zero + this.index + e2); - return this.index += e2, t2; - }, t.exports = i; - }, { "../utils": 32, "./DataReader": 18 }], 21: [function(e, t, r) { - "use strict"; - var n = e("./ArrayReader"); - function i(e2) { - n.call(this, e2); - } - e("../utils").inherits(i, n), i.prototype.readData = function(e2) { - if (this.checkOffset(e2), 0 === e2) return new Uint8Array(0); - var t2 = this.data.subarray(this.zero + this.index, this.zero + this.index + e2); - return this.index += e2, t2; - }, t.exports = i; - }, { "../utils": 32, "./ArrayReader": 17 }], 22: [function(e, t, r) { - "use strict"; - var n = e("../utils"), i = e("../support"), s = e("./ArrayReader"), a = e("./StringReader"), o = e("./NodeBufferReader"), h = e("./Uint8ArrayReader"); - t.exports = function(e2) { - var t2 = n.getTypeOf(e2); - return n.checkSupport(t2), "string" !== t2 || i.uint8array ? "nodebuffer" === t2 ? new o(e2) : i.uint8array ? new h(n.transformTo("uint8array", e2)) : new s(n.transformTo("array", e2)) : new a(e2); - }; - }, { "../support": 30, "../utils": 32, "./ArrayReader": 17, "./NodeBufferReader": 19, "./StringReader": 20, "./Uint8ArrayReader": 21 }], 23: [function(e, t, r) { - "use strict"; - r.LOCAL_FILE_HEADER = "PK", r.CENTRAL_FILE_HEADER = "PK", r.CENTRAL_DIRECTORY_END = "PK", r.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK\x07", r.ZIP64_CENTRAL_DIRECTORY_END = "PK", r.DATA_DESCRIPTOR = "PK\x07\b"; - }, {}], 24: [function(e, t, r) { - "use strict"; - var n = e("./GenericWorker"), i = e("../utils"); - function s(e2) { - n.call(this, "ConvertWorker to " + e2), this.destType = e2; - } - i.inherits(s, n), s.prototype.processChunk = function(e2) { - this.push({ data: i.transformTo(this.destType, e2.data), meta: e2.meta }); - }, t.exports = s; - }, { "../utils": 32, "./GenericWorker": 28 }], 25: [function(e, t, r) { - "use strict"; - var n = e("./GenericWorker"), i = e("../crc32"); - function s() { - n.call(this, "Crc32Probe"), this.withStreamInfo("crc32", 0); - } - e("../utils").inherits(s, n), s.prototype.processChunk = function(e2) { - this.streamInfo.crc32 = i(e2.data, this.streamInfo.crc32 || 0), this.push(e2); - }, t.exports = s; - }, { "../crc32": 4, "../utils": 32, "./GenericWorker": 28 }], 26: [function(e, t, r) { - "use strict"; - var n = e("../utils"), i = e("./GenericWorker"); - function s(e2) { - i.call(this, "DataLengthProbe for " + e2), this.propName = e2, this.withStreamInfo(e2, 0); - } - n.inherits(s, i), s.prototype.processChunk = function(e2) { - if (e2) { - var t2 = this.streamInfo[this.propName] || 0; - this.streamInfo[this.propName] = t2 + e2.data.length; - } - i.prototype.processChunk.call(this, e2); - }, t.exports = s; - }, { "../utils": 32, "./GenericWorker": 28 }], 27: [function(e, t, r) { - "use strict"; - var n = e("../utils"), i = e("./GenericWorker"); - function s(e2) { - i.call(this, "DataWorker"); - var t2 = this; - this.dataIsReady = false, this.index = 0, this.max = 0, this.data = null, this.type = "", this._tickScheduled = false, e2.then(function(e3) { - t2.dataIsReady = true, t2.data = e3, t2.max = e3 && e3.length || 0, t2.type = n.getTypeOf(e3), t2.isPaused || t2._tickAndRepeat(); - }, function(e3) { - t2.error(e3); - }); - } - n.inherits(s, i), s.prototype.cleanUp = function() { - i.prototype.cleanUp.call(this), this.data = null; - }, s.prototype.resume = function() { - return !!i.prototype.resume.call(this) && (!this._tickScheduled && this.dataIsReady && (this._tickScheduled = true, n.delay(this._tickAndRepeat, [], this)), true); - }, s.prototype._tickAndRepeat = function() { - this._tickScheduled = false, this.isPaused || this.isFinished || (this._tick(), this.isFinished || (n.delay(this._tickAndRepeat, [], this), this._tickScheduled = true)); - }, s.prototype._tick = function() { - if (this.isPaused || this.isFinished) return false; - var e2 = null, t2 = Math.min(this.max, this.index + 16384); - if (this.index >= this.max) return this.end(); - switch (this.type) { - case "string": - e2 = this.data.substring(this.index, t2); - break; - case "uint8array": - e2 = this.data.subarray(this.index, t2); - break; - case "array": - case "nodebuffer": - e2 = this.data.slice(this.index, t2); - } - return this.index = t2, this.push({ data: e2, meta: { percent: this.max ? this.index / this.max * 100 : 0 } }); - }, t.exports = s; - }, { "../utils": 32, "./GenericWorker": 28 }], 28: [function(e, t, r) { - "use strict"; - function n(e2) { - this.name = e2 || "default", this.streamInfo = {}, this.generatedError = null, this.extraStreamInfo = {}, this.isPaused = true, this.isFinished = false, this.isLocked = false, this._listeners = { data: [], end: [], error: [] }, this.previous = null; - } - n.prototype = { push: function(e2) { - this.emit("data", e2); - }, end: function() { - if (this.isFinished) return false; - this.flush(); - try { - this.emit("end"), this.cleanUp(), this.isFinished = true; - } catch (e2) { - this.emit("error", e2); - } - return true; - }, error: function(e2) { - return !this.isFinished && (this.isPaused ? this.generatedError = e2 : (this.isFinished = true, this.emit("error", e2), this.previous && this.previous.error(e2), this.cleanUp()), true); - }, on: function(e2, t2) { - return this._listeners[e2].push(t2), this; - }, cleanUp: function() { - this.streamInfo = this.generatedError = this.extraStreamInfo = null, this._listeners = []; - }, emit: function(e2, t2) { - if (this._listeners[e2]) for (var r2 = 0; r2 < this._listeners[e2].length; r2++) this._listeners[e2][r2].call(this, t2); - }, pipe: function(e2) { - return e2.registerPrevious(this); - }, registerPrevious: function(e2) { - if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); - this.streamInfo = e2.streamInfo, this.mergeStreamInfo(), this.previous = e2; - var t2 = this; - return e2.on("data", function(e3) { - t2.processChunk(e3); - }), e2.on("end", function() { - t2.end(); - }), e2.on("error", function(e3) { - t2.error(e3); - }), this; - }, pause: function() { - return !this.isPaused && !this.isFinished && (this.isPaused = true, this.previous && this.previous.pause(), true); - }, resume: function() { - if (!this.isPaused || this.isFinished) return false; - var e2 = this.isPaused = false; - return this.generatedError && (this.error(this.generatedError), e2 = true), this.previous && this.previous.resume(), !e2; - }, flush: function() { - }, processChunk: function(e2) { - this.push(e2); - }, withStreamInfo: function(e2, t2) { - return this.extraStreamInfo[e2] = t2, this.mergeStreamInfo(), this; - }, mergeStreamInfo: function() { - for (var e2 in this.extraStreamInfo) Object.prototype.hasOwnProperty.call(this.extraStreamInfo, e2) && (this.streamInfo[e2] = this.extraStreamInfo[e2]); - }, lock: function() { - if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); - this.isLocked = true, this.previous && this.previous.lock(); - }, toString: function() { - var e2 = "Worker " + this.name; - return this.previous ? this.previous + " -> " + e2 : e2; - } }, t.exports = n; - }, {}], 29: [function(e, t, r) { - "use strict"; - var h = e("../utils"), i = e("./ConvertWorker"), s = e("./GenericWorker"), u = e("../base64"), n = e("../support"), a = e("../external"), o = null; - if (n.nodestream) try { - o = e("../nodejs/NodejsStreamOutputAdapter"); - } catch (e2) { - } - function l(e2, o2) { - return new a.Promise(function(t2, r2) { - var n2 = [], i2 = e2._internalType, s2 = e2._outputType, a2 = e2._mimeType; - e2.on("data", function(e3, t3) { - n2.push(e3), o2 && o2(t3); - }).on("error", function(e3) { - n2 = [], r2(e3); - }).on("end", function() { - try { - var e3 = (function(e4, t3, r3) { - switch (e4) { - case "blob": - return h.newBlob(h.transformTo("arraybuffer", t3), r3); - case "base64": - return u.encode(t3); - default: - return h.transformTo(e4, t3); - } - })(s2, (function(e4, t3) { - var r3, n3 = 0, i3 = null, s3 = 0; - for (r3 = 0; r3 < t3.length; r3++) s3 += t3[r3].length; - switch (e4) { - case "string": - return t3.join(""); - case "array": - return Array.prototype.concat.apply([], t3); - case "uint8array": - for (i3 = new Uint8Array(s3), r3 = 0; r3 < t3.length; r3++) i3.set(t3[r3], n3), n3 += t3[r3].length; - return i3; - case "nodebuffer": - return Buffer.concat(t3); - default: - throw new Error("concat : unsupported type '" + e4 + "'"); - } - })(i2, n2), a2); - t2(e3); - } catch (e4) { - r2(e4); - } - n2 = []; - }).resume(); - }); - } - function f(e2, t2, r2) { - var n2 = t2; - switch (t2) { - case "blob": - case "arraybuffer": - n2 = "uint8array"; - break; - case "base64": - n2 = "string"; - } - try { - this._internalType = n2, this._outputType = t2, this._mimeType = r2, h.checkSupport(n2), this._worker = e2.pipe(new i(n2)), e2.lock(); - } catch (e3) { - this._worker = new s("error"), this._worker.error(e3); - } - } - f.prototype = { accumulate: function(e2) { - return l(this, e2); - }, on: function(e2, t2) { - var r2 = this; - return "data" === e2 ? this._worker.on(e2, function(e3) { - t2.call(r2, e3.data, e3.meta); - }) : this._worker.on(e2, function() { - h.delay(t2, arguments, r2); - }), this; - }, resume: function() { - return h.delay(this._worker.resume, [], this._worker), this; - }, pause: function() { - return this._worker.pause(), this; - }, toNodejsStream: function(e2) { - if (h.checkSupport("nodestream"), "nodebuffer" !== this._outputType) throw new Error(this._outputType + " is not supported by this method"); - return new o(this, { objectMode: "nodebuffer" !== this._outputType }, e2); - } }, t.exports = f; - }, { "../base64": 1, "../external": 6, "../nodejs/NodejsStreamOutputAdapter": 13, "../support": 30, "../utils": 32, "./ConvertWorker": 24, "./GenericWorker": 28 }], 30: [function(e, t, r) { - "use strict"; - if (r.base64 = true, r.array = true, r.string = true, r.arraybuffer = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array, r.nodebuffer = "undefined" != typeof Buffer, r.uint8array = "undefined" != typeof Uint8Array, "undefined" == typeof ArrayBuffer) r.blob = false; - else { - var n = new ArrayBuffer(0); - try { - r.blob = 0 === new Blob([n], { type: "application/zip" }).size; - } catch (e2) { - try { - var i = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)(); - i.append(n), r.blob = 0 === i.getBlob("application/zip").size; - } catch (e3) { - r.blob = false; - } - } - } - try { - r.nodestream = !!e("readable-stream").Readable; - } catch (e2) { - r.nodestream = false; - } - }, { "readable-stream": 16 }], 31: [function(e, t, s) { - "use strict"; - for (var o = e("./utils"), h = e("./support"), r = e("./nodejsUtils"), n = e("./stream/GenericWorker"), u = new Array(256), i = 0; i < 256; i++) u[i] = 252 <= i ? 6 : 248 <= i ? 5 : 240 <= i ? 4 : 224 <= i ? 3 : 192 <= i ? 2 : 1; - u[254] = u[254] = 1; - function a() { - n.call(this, "utf-8 decode"), this.leftOver = null; - } - function l() { - n.call(this, "utf-8 encode"); - } - s.utf8encode = function(e2) { - return h.nodebuffer ? r.newBufferFrom(e2, "utf-8") : (function(e3) { - var t2, r2, n2, i2, s2, a2 = e3.length, o2 = 0; - for (i2 = 0; i2 < a2; i2++) 55296 == (64512 & (r2 = e3.charCodeAt(i2))) && i2 + 1 < a2 && 56320 == (64512 & (n2 = e3.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), o2 += r2 < 128 ? 1 : r2 < 2048 ? 2 : r2 < 65536 ? 3 : 4; - for (t2 = h.uint8array ? new Uint8Array(o2) : new Array(o2), i2 = s2 = 0; s2 < o2; i2++) 55296 == (64512 & (r2 = e3.charCodeAt(i2))) && i2 + 1 < a2 && 56320 == (64512 & (n2 = e3.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), r2 < 128 ? t2[s2++] = r2 : (r2 < 2048 ? t2[s2++] = 192 | r2 >>> 6 : (r2 < 65536 ? t2[s2++] = 224 | r2 >>> 12 : (t2[s2++] = 240 | r2 >>> 18, t2[s2++] = 128 | r2 >>> 12 & 63), t2[s2++] = 128 | r2 >>> 6 & 63), t2[s2++] = 128 | 63 & r2); - return t2; - })(e2); - }, s.utf8decode = function(e2) { - return h.nodebuffer ? o.transformTo("nodebuffer", e2).toString("utf-8") : (function(e3) { - var t2, r2, n2, i2, s2 = e3.length, a2 = new Array(2 * s2); - for (t2 = r2 = 0; t2 < s2; ) if ((n2 = e3[t2++]) < 128) a2[r2++] = n2; - else if (4 < (i2 = u[n2])) a2[r2++] = 65533, t2 += i2 - 1; - else { - for (n2 &= 2 === i2 ? 31 : 3 === i2 ? 15 : 7; 1 < i2 && t2 < s2; ) n2 = n2 << 6 | 63 & e3[t2++], i2--; - 1 < i2 ? a2[r2++] = 65533 : n2 < 65536 ? a2[r2++] = n2 : (n2 -= 65536, a2[r2++] = 55296 | n2 >> 10 & 1023, a2[r2++] = 56320 | 1023 & n2); - } - return a2.length !== r2 && (a2.subarray ? a2 = a2.subarray(0, r2) : a2.length = r2), o.applyFromCharCode(a2); - })(e2 = o.transformTo(h.uint8array ? "uint8array" : "array", e2)); - }, o.inherits(a, n), a.prototype.processChunk = function(e2) { - var t2 = o.transformTo(h.uint8array ? "uint8array" : "array", e2.data); - if (this.leftOver && this.leftOver.length) { - if (h.uint8array) { - var r2 = t2; - (t2 = new Uint8Array(r2.length + this.leftOver.length)).set(this.leftOver, 0), t2.set(r2, this.leftOver.length); - } else t2 = this.leftOver.concat(t2); - this.leftOver = null; - } - var n2 = (function(e3, t3) { - var r3; - for ((t3 = t3 || e3.length) > e3.length && (t3 = e3.length), r3 = t3 - 1; 0 <= r3 && 128 == (192 & e3[r3]); ) r3--; - return r3 < 0 ? t3 : 0 === r3 ? t3 : r3 + u[e3[r3]] > t3 ? r3 : t3; - })(t2), i2 = t2; - n2 !== t2.length && (h.uint8array ? (i2 = t2.subarray(0, n2), this.leftOver = t2.subarray(n2, t2.length)) : (i2 = t2.slice(0, n2), this.leftOver = t2.slice(n2, t2.length))), this.push({ data: s.utf8decode(i2), meta: e2.meta }); - }, a.prototype.flush = function() { - this.leftOver && this.leftOver.length && (this.push({ data: s.utf8decode(this.leftOver), meta: {} }), this.leftOver = null); - }, s.Utf8DecodeWorker = a, o.inherits(l, n), l.prototype.processChunk = function(e2) { - this.push({ data: s.utf8encode(e2.data), meta: e2.meta }); - }, s.Utf8EncodeWorker = l; - }, { "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./support": 30, "./utils": 32 }], 32: [function(e, t, a) { - "use strict"; - var o = e("./support"), h = e("./base64"), r = e("./nodejsUtils"), u = e("./external"); - function n(e2) { - return e2; - } - function l(e2, t2) { - for (var r2 = 0; r2 < e2.length; ++r2) t2[r2] = 255 & e2.charCodeAt(r2); - return t2; - } - e("setimmediate"), a.newBlob = function(t2, r2) { - a.checkSupport("blob"); - try { - return new Blob([t2], { type: r2 }); - } catch (e2) { - try { - var n2 = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)(); - return n2.append(t2), n2.getBlob(r2); - } catch (e3) { - throw new Error("Bug : can't construct the Blob."); - } - } - }; - var i = { stringifyByChunk: function(e2, t2, r2) { - var n2 = [], i2 = 0, s2 = e2.length; - if (s2 <= r2) return String.fromCharCode.apply(null, e2); - for (; i2 < s2; ) "array" === t2 || "nodebuffer" === t2 ? n2.push(String.fromCharCode.apply(null, e2.slice(i2, Math.min(i2 + r2, s2)))) : n2.push(String.fromCharCode.apply(null, e2.subarray(i2, Math.min(i2 + r2, s2)))), i2 += r2; - return n2.join(""); - }, stringifyByChar: function(e2) { - for (var t2 = "", r2 = 0; r2 < e2.length; r2++) t2 += String.fromCharCode(e2[r2]); - return t2; - }, applyCanBeUsed: { uint8array: (function() { - try { - return o.uint8array && 1 === String.fromCharCode.apply(null, new Uint8Array(1)).length; - } catch (e2) { - return false; - } - })(), nodebuffer: (function() { - try { - return o.nodebuffer && 1 === String.fromCharCode.apply(null, r.allocBuffer(1)).length; - } catch (e2) { - return false; - } - })() } }; - function s(e2) { - var t2 = 65536, r2 = a.getTypeOf(e2), n2 = true; - if ("uint8array" === r2 ? n2 = i.applyCanBeUsed.uint8array : "nodebuffer" === r2 && (n2 = i.applyCanBeUsed.nodebuffer), n2) for (; 1 < t2; ) try { - return i.stringifyByChunk(e2, r2, t2); - } catch (e3) { - t2 = Math.floor(t2 / 2); - } - return i.stringifyByChar(e2); - } - function f(e2, t2) { - for (var r2 = 0; r2 < e2.length; r2++) t2[r2] = e2[r2]; - return t2; - } - a.applyFromCharCode = s; - var c = {}; - c.string = { string: n, array: function(e2) { - return l(e2, new Array(e2.length)); - }, arraybuffer: function(e2) { - return c.string.uint8array(e2).buffer; - }, uint8array: function(e2) { - return l(e2, new Uint8Array(e2.length)); - }, nodebuffer: function(e2) { - return l(e2, r.allocBuffer(e2.length)); - } }, c.array = { string: s, array: n, arraybuffer: function(e2) { - return new Uint8Array(e2).buffer; - }, uint8array: function(e2) { - return new Uint8Array(e2); - }, nodebuffer: function(e2) { - return r.newBufferFrom(e2); - } }, c.arraybuffer = { string: function(e2) { - return s(new Uint8Array(e2)); - }, array: function(e2) { - return f(new Uint8Array(e2), new Array(e2.byteLength)); - }, arraybuffer: n, uint8array: function(e2) { - return new Uint8Array(e2); - }, nodebuffer: function(e2) { - return r.newBufferFrom(new Uint8Array(e2)); - } }, c.uint8array = { string: s, array: function(e2) { - return f(e2, new Array(e2.length)); - }, arraybuffer: function(e2) { - return e2.buffer; - }, uint8array: n, nodebuffer: function(e2) { - return r.newBufferFrom(e2); - } }, c.nodebuffer = { string: s, array: function(e2) { - return f(e2, new Array(e2.length)); - }, arraybuffer: function(e2) { - return c.nodebuffer.uint8array(e2).buffer; - }, uint8array: function(e2) { - return f(e2, new Uint8Array(e2.length)); - }, nodebuffer: n }, a.transformTo = function(e2, t2) { - if (t2 = t2 || "", !e2) return t2; - a.checkSupport(e2); - var r2 = a.getTypeOf(t2); - return c[r2][e2](t2); - }, a.resolve = function(e2) { - for (var t2 = e2.split("/"), r2 = [], n2 = 0; n2 < t2.length; n2++) { - var i2 = t2[n2]; - "." === i2 || "" === i2 && 0 !== n2 && n2 !== t2.length - 1 || (".." === i2 ? r2.pop() : r2.push(i2)); - } - return r2.join("/"); - }, a.getTypeOf = function(e2) { - return "string" == typeof e2 ? "string" : "[object Array]" === Object.prototype.toString.call(e2) ? "array" : o.nodebuffer && r.isBuffer(e2) ? "nodebuffer" : o.uint8array && e2 instanceof Uint8Array ? "uint8array" : o.arraybuffer && e2 instanceof ArrayBuffer ? "arraybuffer" : void 0; - }, a.checkSupport = function(e2) { - if (!o[e2.toLowerCase()]) throw new Error(e2 + " is not supported by this platform"); - }, a.MAX_VALUE_16BITS = 65535, a.MAX_VALUE_32BITS = -1, a.pretty = function(e2) { - var t2, r2, n2 = ""; - for (r2 = 0; r2 < (e2 || "").length; r2++) n2 += "\\x" + ((t2 = e2.charCodeAt(r2)) < 16 ? "0" : "") + t2.toString(16).toUpperCase(); - return n2; - }, a.delay = function(e2, t2, r2) { - setImmediate(function() { - e2.apply(r2 || null, t2 || []); - }); - }, a.inherits = function(e2, t2) { - function r2() { - } - r2.prototype = t2.prototype, e2.prototype = new r2(); - }, a.extend = function() { - var e2, t2, r2 = {}; - for (e2 = 0; e2 < arguments.length; e2++) for (t2 in arguments[e2]) Object.prototype.hasOwnProperty.call(arguments[e2], t2) && void 0 === r2[t2] && (r2[t2] = arguments[e2][t2]); - return r2; - }, a.prepareContent = function(r2, e2, n2, i2, s2) { - return u.Promise.resolve(e2).then(function(n3) { - return o.blob && (n3 instanceof Blob || -1 !== ["[object File]", "[object Blob]"].indexOf(Object.prototype.toString.call(n3))) && "undefined" != typeof FileReader ? new u.Promise(function(t2, r3) { - var e3 = new FileReader(); - e3.onload = function(e4) { - t2(e4.target.result); - }, e3.onerror = function(e4) { - r3(e4.target.error); - }, e3.readAsArrayBuffer(n3); - }) : n3; - }).then(function(e3) { - var t2 = a.getTypeOf(e3); - return t2 ? ("arraybuffer" === t2 ? e3 = a.transformTo("uint8array", e3) : "string" === t2 && (s2 ? e3 = h.decode(e3) : n2 && true !== i2 && (e3 = (function(e4) { - return l(e4, o.uint8array ? new Uint8Array(e4.length) : new Array(e4.length)); - })(e3))), e3) : u.Promise.reject(new Error("Can't read the data of '" + r2 + "'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?")); - }); - }; - }, { "./base64": 1, "./external": 6, "./nodejsUtils": 14, "./support": 30, setimmediate: 54 }], 33: [function(e, t, r) { - "use strict"; - var n = e("./reader/readerFor"), i = e("./utils"), s = e("./signature"), a = e("./zipEntry"), o = e("./support"); - function h(e2) { - this.files = [], this.loadOptions = e2; - } - h.prototype = { checkSignature: function(e2) { - if (!this.reader.readAndCheckSignature(e2)) { - this.reader.index -= 4; - var t2 = this.reader.readString(4); - throw new Error("Corrupted zip or bug: unexpected signature (" + i.pretty(t2) + ", expected " + i.pretty(e2) + ")"); - } - }, isSignature: function(e2, t2) { - var r2 = this.reader.index; - this.reader.setIndex(e2); - var n2 = this.reader.readString(4) === t2; - return this.reader.setIndex(r2), n2; - }, readBlockEndOfCentral: function() { - this.diskNumber = this.reader.readInt(2), this.diskWithCentralDirStart = this.reader.readInt(2), this.centralDirRecordsOnThisDisk = this.reader.readInt(2), this.centralDirRecords = this.reader.readInt(2), this.centralDirSize = this.reader.readInt(4), this.centralDirOffset = this.reader.readInt(4), this.zipCommentLength = this.reader.readInt(2); - var e2 = this.reader.readData(this.zipCommentLength), t2 = o.uint8array ? "uint8array" : "array", r2 = i.transformTo(t2, e2); - this.zipComment = this.loadOptions.decodeFileName(r2); - }, readBlockZip64EndOfCentral: function() { - this.zip64EndOfCentralSize = this.reader.readInt(8), this.reader.skip(4), this.diskNumber = this.reader.readInt(4), this.diskWithCentralDirStart = this.reader.readInt(4), this.centralDirRecordsOnThisDisk = this.reader.readInt(8), this.centralDirRecords = this.reader.readInt(8), this.centralDirSize = this.reader.readInt(8), this.centralDirOffset = this.reader.readInt(8), this.zip64ExtensibleData = {}; - for (var e2, t2, r2, n2 = this.zip64EndOfCentralSize - 44; 0 < n2; ) e2 = this.reader.readInt(2), t2 = this.reader.readInt(4), r2 = this.reader.readData(t2), this.zip64ExtensibleData[e2] = { id: e2, length: t2, value: r2 }; - }, readBlockZip64EndOfCentralLocator: function() { - if (this.diskWithZip64CentralDirStart = this.reader.readInt(4), this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8), this.disksCount = this.reader.readInt(4), 1 < this.disksCount) throw new Error("Multi-volumes zip are not supported"); - }, readLocalFiles: function() { - var e2, t2; - for (e2 = 0; e2 < this.files.length; e2++) t2 = this.files[e2], this.reader.setIndex(t2.localHeaderOffset), this.checkSignature(s.LOCAL_FILE_HEADER), t2.readLocalPart(this.reader), t2.handleUTF8(), t2.processAttributes(); - }, readCentralDir: function() { - var e2; - for (this.reader.setIndex(this.centralDirOffset); this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER); ) (e2 = new a({ zip64: this.zip64 }, this.loadOptions)).readCentralPart(this.reader), this.files.push(e2); - if (this.centralDirRecords !== this.files.length && 0 !== this.centralDirRecords && 0 === this.files.length) throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length); - }, readEndOfCentral: function() { - var e2 = this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END); - if (e2 < 0) throw !this.isSignature(0, s.LOCAL_FILE_HEADER) ? new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html") : new Error("Corrupted zip: can't find end of central directory"); - this.reader.setIndex(e2); - var t2 = e2; - if (this.checkSignature(s.CENTRAL_DIRECTORY_END), this.readBlockEndOfCentral(), this.diskNumber === i.MAX_VALUE_16BITS || this.diskWithCentralDirStart === i.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === i.MAX_VALUE_16BITS || this.centralDirRecords === i.MAX_VALUE_16BITS || this.centralDirSize === i.MAX_VALUE_32BITS || this.centralDirOffset === i.MAX_VALUE_32BITS) { - if (this.zip64 = true, (e2 = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR)) < 0) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator"); - if (this.reader.setIndex(e2), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR), this.readBlockZip64EndOfCentralLocator(), !this.isSignature(this.relativeOffsetEndOfZip64CentralDir, s.ZIP64_CENTRAL_DIRECTORY_END) && (this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.relativeOffsetEndOfZip64CentralDir < 0)) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory"); - this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.readBlockZip64EndOfCentral(); - } - var r2 = this.centralDirOffset + this.centralDirSize; - this.zip64 && (r2 += 20, r2 += 12 + this.zip64EndOfCentralSize); - var n2 = t2 - r2; - if (0 < n2) this.isSignature(t2, s.CENTRAL_FILE_HEADER) || (this.reader.zero = n2); - else if (n2 < 0) throw new Error("Corrupted zip: missing " + Math.abs(n2) + " bytes."); - }, prepareReader: function(e2) { - this.reader = n(e2); - }, load: function(e2) { - this.prepareReader(e2), this.readEndOfCentral(), this.readCentralDir(), this.readLocalFiles(); - } }, t.exports = h; - }, { "./reader/readerFor": 22, "./signature": 23, "./support": 30, "./utils": 32, "./zipEntry": 34 }], 34: [function(e, t, r) { - "use strict"; - var n = e("./reader/readerFor"), s = e("./utils"), i = e("./compressedObject"), a = e("./crc32"), o = e("./utf8"), h = e("./compressions"), u = e("./support"); - function l(e2, t2) { - this.options = e2, this.loadOptions = t2; - } - l.prototype = { isEncrypted: function() { - return 1 == (1 & this.bitFlag); - }, useUTF8: function() { - return 2048 == (2048 & this.bitFlag); - }, readLocalPart: function(e2) { - var t2, r2; - if (e2.skip(22), this.fileNameLength = e2.readInt(2), r2 = e2.readInt(2), this.fileName = e2.readData(this.fileNameLength), e2.skip(r2), -1 === this.compressedSize || -1 === this.uncompressedSize) throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)"); - if (null === (t2 = (function(e3) { - for (var t3 in h) if (Object.prototype.hasOwnProperty.call(h, t3) && h[t3].magic === e3) return h[t3]; - return null; - })(this.compressionMethod))) throw new Error("Corrupted zip : compression " + s.pretty(this.compressionMethod) + " unknown (inner file : " + s.transformTo("string", this.fileName) + ")"); - this.decompressed = new i(this.compressedSize, this.uncompressedSize, this.crc32, t2, e2.readData(this.compressedSize)); - }, readCentralPart: function(e2) { - this.versionMadeBy = e2.readInt(2), e2.skip(2), this.bitFlag = e2.readInt(2), this.compressionMethod = e2.readString(2), this.date = e2.readDate(), this.crc32 = e2.readInt(4), this.compressedSize = e2.readInt(4), this.uncompressedSize = e2.readInt(4); - var t2 = e2.readInt(2); - if (this.extraFieldsLength = e2.readInt(2), this.fileCommentLength = e2.readInt(2), this.diskNumberStart = e2.readInt(2), this.internalFileAttributes = e2.readInt(2), this.externalFileAttributes = e2.readInt(4), this.localHeaderOffset = e2.readInt(4), this.isEncrypted()) throw new Error("Encrypted zip are not supported"); - e2.skip(t2), this.readExtraFields(e2), this.parseZIP64ExtraField(e2), this.fileComment = e2.readData(this.fileCommentLength); - }, processAttributes: function() { - this.unixPermissions = null, this.dosPermissions = null; - var e2 = this.versionMadeBy >> 8; - this.dir = !!(16 & this.externalFileAttributes), 0 == e2 && (this.dosPermissions = 63 & this.externalFileAttributes), 3 == e2 && (this.unixPermissions = this.externalFileAttributes >> 16 & 65535), this.dir || "/" !== this.fileNameStr.slice(-1) || (this.dir = true); - }, parseZIP64ExtraField: function() { - if (this.extraFields[1]) { - var e2 = n(this.extraFields[1].value); - this.uncompressedSize === s.MAX_VALUE_32BITS && (this.uncompressedSize = e2.readInt(8)), this.compressedSize === s.MAX_VALUE_32BITS && (this.compressedSize = e2.readInt(8)), this.localHeaderOffset === s.MAX_VALUE_32BITS && (this.localHeaderOffset = e2.readInt(8)), this.diskNumberStart === s.MAX_VALUE_32BITS && (this.diskNumberStart = e2.readInt(4)); - } - }, readExtraFields: function(e2) { - var t2, r2, n2, i2 = e2.index + this.extraFieldsLength; - for (this.extraFields || (this.extraFields = {}); e2.index + 4 < i2; ) t2 = e2.readInt(2), r2 = e2.readInt(2), n2 = e2.readData(r2), this.extraFields[t2] = { id: t2, length: r2, value: n2 }; - e2.setIndex(i2); - }, handleUTF8: function() { - var e2 = u.uint8array ? "uint8array" : "array"; - if (this.useUTF8()) this.fileNameStr = o.utf8decode(this.fileName), this.fileCommentStr = o.utf8decode(this.fileComment); - else { - var t2 = this.findExtraFieldUnicodePath(); - if (null !== t2) this.fileNameStr = t2; - else { - var r2 = s.transformTo(e2, this.fileName); - this.fileNameStr = this.loadOptions.decodeFileName(r2); - } - var n2 = this.findExtraFieldUnicodeComment(); - if (null !== n2) this.fileCommentStr = n2; - else { - var i2 = s.transformTo(e2, this.fileComment); - this.fileCommentStr = this.loadOptions.decodeFileName(i2); - } - } - }, findExtraFieldUnicodePath: function() { - var e2 = this.extraFields[28789]; - if (e2) { - var t2 = n(e2.value); - return 1 !== t2.readInt(1) ? null : a(this.fileName) !== t2.readInt(4) ? null : o.utf8decode(t2.readData(e2.length - 5)); - } - return null; - }, findExtraFieldUnicodeComment: function() { - var e2 = this.extraFields[25461]; - if (e2) { - var t2 = n(e2.value); - return 1 !== t2.readInt(1) ? null : a(this.fileComment) !== t2.readInt(4) ? null : o.utf8decode(t2.readData(e2.length - 5)); - } - return null; - } }, t.exports = l; - }, { "./compressedObject": 2, "./compressions": 3, "./crc32": 4, "./reader/readerFor": 22, "./support": 30, "./utf8": 31, "./utils": 32 }], 35: [function(e, t, r) { - "use strict"; - function n(e2, t2, r2) { - this.name = e2, this.dir = r2.dir, this.date = r2.date, this.comment = r2.comment, this.unixPermissions = r2.unixPermissions, this.dosPermissions = r2.dosPermissions, this._data = t2, this._dataBinary = r2.binary, this.options = { compression: r2.compression, compressionOptions: r2.compressionOptions }; - } - var s = e("./stream/StreamHelper"), i = e("./stream/DataWorker"), a = e("./utf8"), o = e("./compressedObject"), h = e("./stream/GenericWorker"); - n.prototype = { internalStream: function(e2) { - var t2 = null, r2 = "string"; - try { - if (!e2) throw new Error("No output type specified."); - var n2 = "string" === (r2 = e2.toLowerCase()) || "text" === r2; - "binarystring" !== r2 && "text" !== r2 || (r2 = "string"), t2 = this._decompressWorker(); - var i2 = !this._dataBinary; - i2 && !n2 && (t2 = t2.pipe(new a.Utf8EncodeWorker())), !i2 && n2 && (t2 = t2.pipe(new a.Utf8DecodeWorker())); - } catch (e3) { - (t2 = new h("error")).error(e3); - } - return new s(t2, r2, ""); - }, async: function(e2, t2) { - return this.internalStream(e2).accumulate(t2); - }, nodeStream: function(e2, t2) { - return this.internalStream(e2 || "nodebuffer").toNodejsStream(t2); - }, _compressWorker: function(e2, t2) { - if (this._data instanceof o && this._data.compression.magic === e2.magic) return this._data.getCompressedWorker(); - var r2 = this._decompressWorker(); - return this._dataBinary || (r2 = r2.pipe(new a.Utf8EncodeWorker())), o.createWorkerFrom(r2, e2, t2); - }, _decompressWorker: function() { - return this._data instanceof o ? this._data.getContentWorker() : this._data instanceof h ? this._data : new i(this._data); - } }; - for (var u = ["asText", "asBinary", "asNodeBuffer", "asUint8Array", "asArrayBuffer"], l = function() { - throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); - }, f = 0; f < u.length; f++) n.prototype[u[f]] = l; - t.exports = n; - }, { "./compressedObject": 2, "./stream/DataWorker": 27, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31 }], 36: [function(e, l, t) { - (function(t2) { - "use strict"; - var r, n, e2 = t2.MutationObserver || t2.WebKitMutationObserver; - if (e2) { - var i = 0, s = new e2(u), a = t2.document.createTextNode(""); - s.observe(a, { characterData: true }), r = function() { - a.data = i = ++i % 2; - }; - } else if (t2.setImmediate || void 0 === t2.MessageChannel) r = "document" in t2 && "onreadystatechange" in t2.document.createElement("script") ? function() { - var e3 = t2.document.createElement("script"); - e3.onreadystatechange = function() { - u(), e3.onreadystatechange = null, e3.parentNode.removeChild(e3), e3 = null; - }, t2.document.documentElement.appendChild(e3); - } : function() { - setTimeout(u, 0); - }; - else { - var o = new t2.MessageChannel(); - o.port1.onmessage = u, r = function() { - o.port2.postMessage(0); - }; - } - var h = []; - function u() { - var e3, t3; - n = true; - for (var r2 = h.length; r2; ) { - for (t3 = h, h = [], e3 = -1; ++e3 < r2; ) t3[e3](); - r2 = h.length; - } - n = false; - } - l.exports = function(e3) { - 1 !== h.push(e3) || n || r(); - }; - }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}); - }, {}], 37: [function(e, t, r) { - "use strict"; - var i = e("immediate"); - function u() { - } - var l = {}, s = ["REJECTED"], a = ["FULFILLED"], n = ["PENDING"]; - function o(e2) { - if ("function" != typeof e2) throw new TypeError("resolver must be a function"); - this.state = n, this.queue = [], this.outcome = void 0, e2 !== u && d(this, e2); - } - function h(e2, t2, r2) { - this.promise = e2, "function" == typeof t2 && (this.onFulfilled = t2, this.callFulfilled = this.otherCallFulfilled), "function" == typeof r2 && (this.onRejected = r2, this.callRejected = this.otherCallRejected); - } - function f(t2, r2, n2) { - i(function() { - var e2; - try { - e2 = r2(n2); - } catch (e3) { - return l.reject(t2, e3); - } - e2 === t2 ? l.reject(t2, new TypeError("Cannot resolve promise with itself")) : l.resolve(t2, e2); - }); - } - function c(e2) { - var t2 = e2 && e2.then; - if (e2 && ("object" == typeof e2 || "function" == typeof e2) && "function" == typeof t2) return function() { - t2.apply(e2, arguments); - }; - } - function d(t2, e2) { - var r2 = false; - function n2(e3) { - r2 || (r2 = true, l.reject(t2, e3)); - } - function i2(e3) { - r2 || (r2 = true, l.resolve(t2, e3)); - } - var s2 = p(function() { - e2(i2, n2); - }); - "error" === s2.status && n2(s2.value); - } - function p(e2, t2) { - var r2 = {}; - try { - r2.value = e2(t2), r2.status = "success"; - } catch (e3) { - r2.status = "error", r2.value = e3; - } - return r2; - } - (t.exports = o).prototype.finally = function(t2) { - if ("function" != typeof t2) return this; - var r2 = this.constructor; - return this.then(function(e2) { - return r2.resolve(t2()).then(function() { - return e2; - }); - }, function(e2) { - return r2.resolve(t2()).then(function() { - throw e2; - }); - }); - }, o.prototype.catch = function(e2) { - return this.then(null, e2); - }, o.prototype.then = function(e2, t2) { - if ("function" != typeof e2 && this.state === a || "function" != typeof t2 && this.state === s) return this; - var r2 = new this.constructor(u); - this.state !== n ? f(r2, this.state === a ? e2 : t2, this.outcome) : this.queue.push(new h(r2, e2, t2)); - return r2; - }, h.prototype.callFulfilled = function(e2) { - l.resolve(this.promise, e2); - }, h.prototype.otherCallFulfilled = function(e2) { - f(this.promise, this.onFulfilled, e2); - }, h.prototype.callRejected = function(e2) { - l.reject(this.promise, e2); - }, h.prototype.otherCallRejected = function(e2) { - f(this.promise, this.onRejected, e2); - }, l.resolve = function(e2, t2) { - var r2 = p(c, t2); - if ("error" === r2.status) return l.reject(e2, r2.value); - var n2 = r2.value; - if (n2) d(e2, n2); - else { - e2.state = a, e2.outcome = t2; - for (var i2 = -1, s2 = e2.queue.length; ++i2 < s2; ) e2.queue[i2].callFulfilled(t2); - } - return e2; - }, l.reject = function(e2, t2) { - e2.state = s, e2.outcome = t2; - for (var r2 = -1, n2 = e2.queue.length; ++r2 < n2; ) e2.queue[r2].callRejected(t2); - return e2; - }, o.resolve = function(e2) { - if (e2 instanceof this) return e2; - return l.resolve(new this(u), e2); - }, o.reject = function(e2) { - var t2 = new this(u); - return l.reject(t2, e2); - }, o.all = function(e2) { - var r2 = this; - if ("[object Array]" !== Object.prototype.toString.call(e2)) return this.reject(new TypeError("must be an array")); - var n2 = e2.length, i2 = false; - if (!n2) return this.resolve([]); - var s2 = new Array(n2), a2 = 0, t2 = -1, o2 = new this(u); - for (; ++t2 < n2; ) h2(e2[t2], t2); - return o2; - function h2(e3, t3) { - r2.resolve(e3).then(function(e4) { - s2[t3] = e4, ++a2 !== n2 || i2 || (i2 = true, l.resolve(o2, s2)); - }, function(e4) { - i2 || (i2 = true, l.reject(o2, e4)); - }); - } - }, o.race = function(e2) { - var t2 = this; - if ("[object Array]" !== Object.prototype.toString.call(e2)) return this.reject(new TypeError("must be an array")); - var r2 = e2.length, n2 = false; - if (!r2) return this.resolve([]); - var i2 = -1, s2 = new this(u); - for (; ++i2 < r2; ) a2 = e2[i2], t2.resolve(a2).then(function(e3) { - n2 || (n2 = true, l.resolve(s2, e3)); - }, function(e3) { - n2 || (n2 = true, l.reject(s2, e3)); - }); - var a2; - return s2; - }; - }, { immediate: 36 }], 38: [function(e, t, r) { - "use strict"; - var n = {}; - (0, e("./lib/utils/common").assign)(n, e("./lib/deflate"), e("./lib/inflate"), e("./lib/zlib/constants")), t.exports = n; - }, { "./lib/deflate": 39, "./lib/inflate": 40, "./lib/utils/common": 41, "./lib/zlib/constants": 44 }], 39: [function(e, t, r) { - "use strict"; - var a = e("./zlib/deflate"), o = e("./utils/common"), h = e("./utils/strings"), i = e("./zlib/messages"), s = e("./zlib/zstream"), u = Object.prototype.toString, l = 0, f = -1, c = 0, d = 8; - function p(e2) { - if (!(this instanceof p)) return new p(e2); - this.options = o.assign({ level: f, method: d, chunkSize: 16384, windowBits: 15, memLevel: 8, strategy: c, to: "" }, e2 || {}); - var t2 = this.options; - t2.raw && 0 < t2.windowBits ? t2.windowBits = -t2.windowBits : t2.gzip && 0 < t2.windowBits && t2.windowBits < 16 && (t2.windowBits += 16), this.err = 0, this.msg = "", this.ended = false, this.chunks = [], this.strm = new s(), this.strm.avail_out = 0; - var r2 = a.deflateInit2(this.strm, t2.level, t2.method, t2.windowBits, t2.memLevel, t2.strategy); - if (r2 !== l) throw new Error(i[r2]); - if (t2.header && a.deflateSetHeader(this.strm, t2.header), t2.dictionary) { - var n2; - if (n2 = "string" == typeof t2.dictionary ? h.string2buf(t2.dictionary) : "[object ArrayBuffer]" === u.call(t2.dictionary) ? new Uint8Array(t2.dictionary) : t2.dictionary, (r2 = a.deflateSetDictionary(this.strm, n2)) !== l) throw new Error(i[r2]); - this._dict_set = true; - } - } - function n(e2, t2) { - var r2 = new p(t2); - if (r2.push(e2, true), r2.err) throw r2.msg || i[r2.err]; - return r2.result; - } - p.prototype.push = function(e2, t2) { - var r2, n2, i2 = this.strm, s2 = this.options.chunkSize; - if (this.ended) return false; - n2 = t2 === ~~t2 ? t2 : true === t2 ? 4 : 0, "string" == typeof e2 ? i2.input = h.string2buf(e2) : "[object ArrayBuffer]" === u.call(e2) ? i2.input = new Uint8Array(e2) : i2.input = e2, i2.next_in = 0, i2.avail_in = i2.input.length; - do { - if (0 === i2.avail_out && (i2.output = new o.Buf8(s2), i2.next_out = 0, i2.avail_out = s2), 1 !== (r2 = a.deflate(i2, n2)) && r2 !== l) return this.onEnd(r2), !(this.ended = true); - 0 !== i2.avail_out && (0 !== i2.avail_in || 4 !== n2 && 2 !== n2) || ("string" === this.options.to ? this.onData(h.buf2binstring(o.shrinkBuf(i2.output, i2.next_out))) : this.onData(o.shrinkBuf(i2.output, i2.next_out))); - } while ((0 < i2.avail_in || 0 === i2.avail_out) && 1 !== r2); - return 4 === n2 ? (r2 = a.deflateEnd(this.strm), this.onEnd(r2), this.ended = true, r2 === l) : 2 !== n2 || (this.onEnd(l), !(i2.avail_out = 0)); - }, p.prototype.onData = function(e2) { - this.chunks.push(e2); - }, p.prototype.onEnd = function(e2) { - e2 === l && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = o.flattenChunks(this.chunks)), this.chunks = [], this.err = e2, this.msg = this.strm.msg; - }, r.Deflate = p, r.deflate = n, r.deflateRaw = function(e2, t2) { - return (t2 = t2 || {}).raw = true, n(e2, t2); - }, r.gzip = function(e2, t2) { - return (t2 = t2 || {}).gzip = true, n(e2, t2); - }; - }, { "./utils/common": 41, "./utils/strings": 42, "./zlib/deflate": 46, "./zlib/messages": 51, "./zlib/zstream": 53 }], 40: [function(e, t, r) { - "use strict"; - var c = e("./zlib/inflate"), d = e("./utils/common"), p = e("./utils/strings"), m = e("./zlib/constants"), n = e("./zlib/messages"), i = e("./zlib/zstream"), s = e("./zlib/gzheader"), _ = Object.prototype.toString; - function a(e2) { - if (!(this instanceof a)) return new a(e2); - this.options = d.assign({ chunkSize: 16384, windowBits: 0, to: "" }, e2 || {}); - var t2 = this.options; - t2.raw && 0 <= t2.windowBits && t2.windowBits < 16 && (t2.windowBits = -t2.windowBits, 0 === t2.windowBits && (t2.windowBits = -15)), !(0 <= t2.windowBits && t2.windowBits < 16) || e2 && e2.windowBits || (t2.windowBits += 32), 15 < t2.windowBits && t2.windowBits < 48 && 0 == (15 & t2.windowBits) && (t2.windowBits |= 15), this.err = 0, this.msg = "", this.ended = false, this.chunks = [], this.strm = new i(), this.strm.avail_out = 0; - var r2 = c.inflateInit2(this.strm, t2.windowBits); - if (r2 !== m.Z_OK) throw new Error(n[r2]); - this.header = new s(), c.inflateGetHeader(this.strm, this.header); - } - function o(e2, t2) { - var r2 = new a(t2); - if (r2.push(e2, true), r2.err) throw r2.msg || n[r2.err]; - return r2.result; - } - a.prototype.push = function(e2, t2) { - var r2, n2, i2, s2, a2, o2, h = this.strm, u = this.options.chunkSize, l = this.options.dictionary, f = false; - if (this.ended) return false; - n2 = t2 === ~~t2 ? t2 : true === t2 ? m.Z_FINISH : m.Z_NO_FLUSH, "string" == typeof e2 ? h.input = p.binstring2buf(e2) : "[object ArrayBuffer]" === _.call(e2) ? h.input = new Uint8Array(e2) : h.input = e2, h.next_in = 0, h.avail_in = h.input.length; - do { - if (0 === h.avail_out && (h.output = new d.Buf8(u), h.next_out = 0, h.avail_out = u), (r2 = c.inflate(h, m.Z_NO_FLUSH)) === m.Z_NEED_DICT && l && (o2 = "string" == typeof l ? p.string2buf(l) : "[object ArrayBuffer]" === _.call(l) ? new Uint8Array(l) : l, r2 = c.inflateSetDictionary(this.strm, o2)), r2 === m.Z_BUF_ERROR && true === f && (r2 = m.Z_OK, f = false), r2 !== m.Z_STREAM_END && r2 !== m.Z_OK) return this.onEnd(r2), !(this.ended = true); - h.next_out && (0 !== h.avail_out && r2 !== m.Z_STREAM_END && (0 !== h.avail_in || n2 !== m.Z_FINISH && n2 !== m.Z_SYNC_FLUSH) || ("string" === this.options.to ? (i2 = p.utf8border(h.output, h.next_out), s2 = h.next_out - i2, a2 = p.buf2string(h.output, i2), h.next_out = s2, h.avail_out = u - s2, s2 && d.arraySet(h.output, h.output, i2, s2, 0), this.onData(a2)) : this.onData(d.shrinkBuf(h.output, h.next_out)))), 0 === h.avail_in && 0 === h.avail_out && (f = true); - } while ((0 < h.avail_in || 0 === h.avail_out) && r2 !== m.Z_STREAM_END); - return r2 === m.Z_STREAM_END && (n2 = m.Z_FINISH), n2 === m.Z_FINISH ? (r2 = c.inflateEnd(this.strm), this.onEnd(r2), this.ended = true, r2 === m.Z_OK) : n2 !== m.Z_SYNC_FLUSH || (this.onEnd(m.Z_OK), !(h.avail_out = 0)); - }, a.prototype.onData = function(e2) { - this.chunks.push(e2); - }, a.prototype.onEnd = function(e2) { - e2 === m.Z_OK && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = d.flattenChunks(this.chunks)), this.chunks = [], this.err = e2, this.msg = this.strm.msg; - }, r.Inflate = a, r.inflate = o, r.inflateRaw = function(e2, t2) { - return (t2 = t2 || {}).raw = true, o(e2, t2); - }, r.ungzip = o; - }, { "./utils/common": 41, "./utils/strings": 42, "./zlib/constants": 44, "./zlib/gzheader": 47, "./zlib/inflate": 49, "./zlib/messages": 51, "./zlib/zstream": 53 }], 41: [function(e, t, r) { - "use strict"; - var n = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Int32Array; - r.assign = function(e2) { - for (var t2 = Array.prototype.slice.call(arguments, 1); t2.length; ) { - var r2 = t2.shift(); - if (r2) { - if ("object" != typeof r2) throw new TypeError(r2 + "must be non-object"); - for (var n2 in r2) r2.hasOwnProperty(n2) && (e2[n2] = r2[n2]); - } - } - return e2; - }, r.shrinkBuf = function(e2, t2) { - return e2.length === t2 ? e2 : e2.subarray ? e2.subarray(0, t2) : (e2.length = t2, e2); - }; - var i = { arraySet: function(e2, t2, r2, n2, i2) { - if (t2.subarray && e2.subarray) e2.set(t2.subarray(r2, r2 + n2), i2); - else for (var s2 = 0; s2 < n2; s2++) e2[i2 + s2] = t2[r2 + s2]; - }, flattenChunks: function(e2) { - var t2, r2, n2, i2, s2, a; - for (t2 = n2 = 0, r2 = e2.length; t2 < r2; t2++) n2 += e2[t2].length; - for (a = new Uint8Array(n2), t2 = i2 = 0, r2 = e2.length; t2 < r2; t2++) s2 = e2[t2], a.set(s2, i2), i2 += s2.length; - return a; - } }, s = { arraySet: function(e2, t2, r2, n2, i2) { - for (var s2 = 0; s2 < n2; s2++) e2[i2 + s2] = t2[r2 + s2]; - }, flattenChunks: function(e2) { - return [].concat.apply([], e2); - } }; - r.setTyped = function(e2) { - e2 ? (r.Buf8 = Uint8Array, r.Buf16 = Uint16Array, r.Buf32 = Int32Array, r.assign(r, i)) : (r.Buf8 = Array, r.Buf16 = Array, r.Buf32 = Array, r.assign(r, s)); - }, r.setTyped(n); - }, {}], 42: [function(e, t, r) { - "use strict"; - var h = e("./common"), i = true, s = true; - try { - String.fromCharCode.apply(null, [0]); - } catch (e2) { - i = false; - } - try { - String.fromCharCode.apply(null, new Uint8Array(1)); - } catch (e2) { - s = false; - } - for (var u = new h.Buf8(256), n = 0; n < 256; n++) u[n] = 252 <= n ? 6 : 248 <= n ? 5 : 240 <= n ? 4 : 224 <= n ? 3 : 192 <= n ? 2 : 1; - function l(e2, t2) { - if (t2 < 65537 && (e2.subarray && s || !e2.subarray && i)) return String.fromCharCode.apply(null, h.shrinkBuf(e2, t2)); - for (var r2 = "", n2 = 0; n2 < t2; n2++) r2 += String.fromCharCode(e2[n2]); - return r2; - } - u[254] = u[254] = 1, r.string2buf = function(e2) { - var t2, r2, n2, i2, s2, a = e2.length, o = 0; - for (i2 = 0; i2 < a; i2++) 55296 == (64512 & (r2 = e2.charCodeAt(i2))) && i2 + 1 < a && 56320 == (64512 & (n2 = e2.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), o += r2 < 128 ? 1 : r2 < 2048 ? 2 : r2 < 65536 ? 3 : 4; - for (t2 = new h.Buf8(o), i2 = s2 = 0; s2 < o; i2++) 55296 == (64512 & (r2 = e2.charCodeAt(i2))) && i2 + 1 < a && 56320 == (64512 & (n2 = e2.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), r2 < 128 ? t2[s2++] = r2 : (r2 < 2048 ? t2[s2++] = 192 | r2 >>> 6 : (r2 < 65536 ? t2[s2++] = 224 | r2 >>> 12 : (t2[s2++] = 240 | r2 >>> 18, t2[s2++] = 128 | r2 >>> 12 & 63), t2[s2++] = 128 | r2 >>> 6 & 63), t2[s2++] = 128 | 63 & r2); - return t2; - }, r.buf2binstring = function(e2) { - return l(e2, e2.length); - }, r.binstring2buf = function(e2) { - for (var t2 = new h.Buf8(e2.length), r2 = 0, n2 = t2.length; r2 < n2; r2++) t2[r2] = e2.charCodeAt(r2); - return t2; - }, r.buf2string = function(e2, t2) { - var r2, n2, i2, s2, a = t2 || e2.length, o = new Array(2 * a); - for (r2 = n2 = 0; r2 < a; ) if ((i2 = e2[r2++]) < 128) o[n2++] = i2; - else if (4 < (s2 = u[i2])) o[n2++] = 65533, r2 += s2 - 1; - else { - for (i2 &= 2 === s2 ? 31 : 3 === s2 ? 15 : 7; 1 < s2 && r2 < a; ) i2 = i2 << 6 | 63 & e2[r2++], s2--; - 1 < s2 ? o[n2++] = 65533 : i2 < 65536 ? o[n2++] = i2 : (i2 -= 65536, o[n2++] = 55296 | i2 >> 10 & 1023, o[n2++] = 56320 | 1023 & i2); - } - return l(o, n2); - }, r.utf8border = function(e2, t2) { - var r2; - for ((t2 = t2 || e2.length) > e2.length && (t2 = e2.length), r2 = t2 - 1; 0 <= r2 && 128 == (192 & e2[r2]); ) r2--; - return r2 < 0 ? t2 : 0 === r2 ? t2 : r2 + u[e2[r2]] > t2 ? r2 : t2; - }; - }, { "./common": 41 }], 43: [function(e, t, r) { - "use strict"; - t.exports = function(e2, t2, r2, n) { - for (var i = 65535 & e2 | 0, s = e2 >>> 16 & 65535 | 0, a = 0; 0 !== r2; ) { - for (r2 -= a = 2e3 < r2 ? 2e3 : r2; s = s + (i = i + t2[n++] | 0) | 0, --a; ) ; - i %= 65521, s %= 65521; - } - return i | s << 16 | 0; - }; - }, {}], 44: [function(e, t, r) { - "use strict"; - t.exports = { Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, Z_FULL_FLUSH: 3, Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, Z_BUF_ERROR: -5, Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, Z_DEFAULT_COMPRESSION: -1, Z_FILTERED: 1, Z_HUFFMAN_ONLY: 2, Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, Z_BINARY: 0, Z_TEXT: 1, Z_UNKNOWN: 2, Z_DEFLATED: 8 }; - }, {}], 45: [function(e, t, r) { - "use strict"; - var o = (function() { - for (var e2, t2 = [], r2 = 0; r2 < 256; r2++) { - e2 = r2; - for (var n = 0; n < 8; n++) e2 = 1 & e2 ? 3988292384 ^ e2 >>> 1 : e2 >>> 1; - t2[r2] = e2; - } - return t2; - })(); - t.exports = function(e2, t2, r2, n) { - var i = o, s = n + r2; - e2 ^= -1; - for (var a = n; a < s; a++) e2 = e2 >>> 8 ^ i[255 & (e2 ^ t2[a])]; - return -1 ^ e2; - }; - }, {}], 46: [function(e, t, r) { - "use strict"; - var h, c = e("../utils/common"), u = e("./trees"), d = e("./adler32"), p = e("./crc32"), n = e("./messages"), l = 0, f = 4, m = 0, _ = -2, g = -1, b = 4, i = 2, v = 8, y = 9, s = 286, a = 30, o = 19, w = 2 * s + 1, k = 15, x = 3, S = 258, z = S + x + 1, C = 42, E = 113, A = 1, I = 2, O = 3, B = 4; - function R(e2, t2) { - return e2.msg = n[t2], t2; - } - function T(e2) { - return (e2 << 1) - (4 < e2 ? 9 : 0); - } - function D(e2) { - for (var t2 = e2.length; 0 <= --t2; ) e2[t2] = 0; - } - function F(e2) { - var t2 = e2.state, r2 = t2.pending; - r2 > e2.avail_out && (r2 = e2.avail_out), 0 !== r2 && (c.arraySet(e2.output, t2.pending_buf, t2.pending_out, r2, e2.next_out), e2.next_out += r2, t2.pending_out += r2, e2.total_out += r2, e2.avail_out -= r2, t2.pending -= r2, 0 === t2.pending && (t2.pending_out = 0)); - } - function N(e2, t2) { - u._tr_flush_block(e2, 0 <= e2.block_start ? e2.block_start : -1, e2.strstart - e2.block_start, t2), e2.block_start = e2.strstart, F(e2.strm); - } - function U(e2, t2) { - e2.pending_buf[e2.pending++] = t2; - } - function P(e2, t2) { - e2.pending_buf[e2.pending++] = t2 >>> 8 & 255, e2.pending_buf[e2.pending++] = 255 & t2; - } - function L(e2, t2) { - var r2, n2, i2 = e2.max_chain_length, s2 = e2.strstart, a2 = e2.prev_length, o2 = e2.nice_match, h2 = e2.strstart > e2.w_size - z ? e2.strstart - (e2.w_size - z) : 0, u2 = e2.window, l2 = e2.w_mask, f2 = e2.prev, c2 = e2.strstart + S, d2 = u2[s2 + a2 - 1], p2 = u2[s2 + a2]; - e2.prev_length >= e2.good_match && (i2 >>= 2), o2 > e2.lookahead && (o2 = e2.lookahead); - do { - if (u2[(r2 = t2) + a2] === p2 && u2[r2 + a2 - 1] === d2 && u2[r2] === u2[s2] && u2[++r2] === u2[s2 + 1]) { - s2 += 2, r2++; - do { - } while (u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && s2 < c2); - if (n2 = S - (c2 - s2), s2 = c2 - S, a2 < n2) { - if (e2.match_start = t2, o2 <= (a2 = n2)) break; - d2 = u2[s2 + a2 - 1], p2 = u2[s2 + a2]; - } - } - } while ((t2 = f2[t2 & l2]) > h2 && 0 != --i2); - return a2 <= e2.lookahead ? a2 : e2.lookahead; - } - function j(e2) { - var t2, r2, n2, i2, s2, a2, o2, h2, u2, l2, f2 = e2.w_size; - do { - if (i2 = e2.window_size - e2.lookahead - e2.strstart, e2.strstart >= f2 + (f2 - z)) { - for (c.arraySet(e2.window, e2.window, f2, f2, 0), e2.match_start -= f2, e2.strstart -= f2, e2.block_start -= f2, t2 = r2 = e2.hash_size; n2 = e2.head[--t2], e2.head[t2] = f2 <= n2 ? n2 - f2 : 0, --r2; ) ; - for (t2 = r2 = f2; n2 = e2.prev[--t2], e2.prev[t2] = f2 <= n2 ? n2 - f2 : 0, --r2; ) ; - i2 += f2; - } - if (0 === e2.strm.avail_in) break; - if (a2 = e2.strm, o2 = e2.window, h2 = e2.strstart + e2.lookahead, u2 = i2, l2 = void 0, l2 = a2.avail_in, u2 < l2 && (l2 = u2), r2 = 0 === l2 ? 0 : (a2.avail_in -= l2, c.arraySet(o2, a2.input, a2.next_in, l2, h2), 1 === a2.state.wrap ? a2.adler = d(a2.adler, o2, l2, h2) : 2 === a2.state.wrap && (a2.adler = p(a2.adler, o2, l2, h2)), a2.next_in += l2, a2.total_in += l2, l2), e2.lookahead += r2, e2.lookahead + e2.insert >= x) for (s2 = e2.strstart - e2.insert, e2.ins_h = e2.window[s2], e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[s2 + 1]) & e2.hash_mask; e2.insert && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[s2 + x - 1]) & e2.hash_mask, e2.prev[s2 & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = s2, s2++, e2.insert--, !(e2.lookahead + e2.insert < x)); ) ; - } while (e2.lookahead < z && 0 !== e2.strm.avail_in); - } - function Z(e2, t2) { - for (var r2, n2; ; ) { - if (e2.lookahead < z) { - if (j(e2), e2.lookahead < z && t2 === l) return A; - if (0 === e2.lookahead) break; - } - if (r2 = 0, e2.lookahead >= x && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), 0 !== r2 && e2.strstart - r2 <= e2.w_size - z && (e2.match_length = L(e2, r2)), e2.match_length >= x) if (n2 = u._tr_tally(e2, e2.strstart - e2.match_start, e2.match_length - x), e2.lookahead -= e2.match_length, e2.match_length <= e2.max_lazy_match && e2.lookahead >= x) { - for (e2.match_length--; e2.strstart++, e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart, 0 != --e2.match_length; ) ; - e2.strstart++; - } else e2.strstart += e2.match_length, e2.match_length = 0, e2.ins_h = e2.window[e2.strstart], e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + 1]) & e2.hash_mask; - else n2 = u._tr_tally(e2, 0, e2.window[e2.strstart]), e2.lookahead--, e2.strstart++; - if (n2 && (N(e2, false), 0 === e2.strm.avail_out)) return A; - } - return e2.insert = e2.strstart < x - 1 ? e2.strstart : x - 1, t2 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : e2.last_lit && (N(e2, false), 0 === e2.strm.avail_out) ? A : I; - } - function W(e2, t2) { - for (var r2, n2, i2; ; ) { - if (e2.lookahead < z) { - if (j(e2), e2.lookahead < z && t2 === l) return A; - if (0 === e2.lookahead) break; - } - if (r2 = 0, e2.lookahead >= x && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), e2.prev_length = e2.match_length, e2.prev_match = e2.match_start, e2.match_length = x - 1, 0 !== r2 && e2.prev_length < e2.max_lazy_match && e2.strstart - r2 <= e2.w_size - z && (e2.match_length = L(e2, r2), e2.match_length <= 5 && (1 === e2.strategy || e2.match_length === x && 4096 < e2.strstart - e2.match_start) && (e2.match_length = x - 1)), e2.prev_length >= x && e2.match_length <= e2.prev_length) { - for (i2 = e2.strstart + e2.lookahead - x, n2 = u._tr_tally(e2, e2.strstart - 1 - e2.prev_match, e2.prev_length - x), e2.lookahead -= e2.prev_length - 1, e2.prev_length -= 2; ++e2.strstart <= i2 && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), 0 != --e2.prev_length; ) ; - if (e2.match_available = 0, e2.match_length = x - 1, e2.strstart++, n2 && (N(e2, false), 0 === e2.strm.avail_out)) return A; - } else if (e2.match_available) { - if ((n2 = u._tr_tally(e2, 0, e2.window[e2.strstart - 1])) && N(e2, false), e2.strstart++, e2.lookahead--, 0 === e2.strm.avail_out) return A; - } else e2.match_available = 1, e2.strstart++, e2.lookahead--; - } - return e2.match_available && (n2 = u._tr_tally(e2, 0, e2.window[e2.strstart - 1]), e2.match_available = 0), e2.insert = e2.strstart < x - 1 ? e2.strstart : x - 1, t2 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : e2.last_lit && (N(e2, false), 0 === e2.strm.avail_out) ? A : I; - } - function M(e2, t2, r2, n2, i2) { - this.good_length = e2, this.max_lazy = t2, this.nice_length = r2, this.max_chain = n2, this.func = i2; - } - function H() { - this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = v, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new c.Buf16(2 * w), this.dyn_dtree = new c.Buf16(2 * (2 * a + 1)), this.bl_tree = new c.Buf16(2 * (2 * o + 1)), D(this.dyn_ltree), D(this.dyn_dtree), D(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new c.Buf16(k + 1), this.heap = new c.Buf16(2 * s + 1), D(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new c.Buf16(2 * s + 1), D(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0; - } - function G(e2) { - var t2; - return e2 && e2.state ? (e2.total_in = e2.total_out = 0, e2.data_type = i, (t2 = e2.state).pending = 0, t2.pending_out = 0, t2.wrap < 0 && (t2.wrap = -t2.wrap), t2.status = t2.wrap ? C : E, e2.adler = 2 === t2.wrap ? 0 : 1, t2.last_flush = l, u._tr_init(t2), m) : R(e2, _); - } - function K(e2) { - var t2 = G(e2); - return t2 === m && (function(e3) { - e3.window_size = 2 * e3.w_size, D(e3.head), e3.max_lazy_match = h[e3.level].max_lazy, e3.good_match = h[e3.level].good_length, e3.nice_match = h[e3.level].nice_length, e3.max_chain_length = h[e3.level].max_chain, e3.strstart = 0, e3.block_start = 0, e3.lookahead = 0, e3.insert = 0, e3.match_length = e3.prev_length = x - 1, e3.match_available = 0, e3.ins_h = 0; - })(e2.state), t2; - } - function Y(e2, t2, r2, n2, i2, s2) { - if (!e2) return _; - var a2 = 1; - if (t2 === g && (t2 = 6), n2 < 0 ? (a2 = 0, n2 = -n2) : 15 < n2 && (a2 = 2, n2 -= 16), i2 < 1 || y < i2 || r2 !== v || n2 < 8 || 15 < n2 || t2 < 0 || 9 < t2 || s2 < 0 || b < s2) return R(e2, _); - 8 === n2 && (n2 = 9); - var o2 = new H(); - return (e2.state = o2).strm = e2, o2.wrap = a2, o2.gzhead = null, o2.w_bits = n2, o2.w_size = 1 << o2.w_bits, o2.w_mask = o2.w_size - 1, o2.hash_bits = i2 + 7, o2.hash_size = 1 << o2.hash_bits, o2.hash_mask = o2.hash_size - 1, o2.hash_shift = ~~((o2.hash_bits + x - 1) / x), o2.window = new c.Buf8(2 * o2.w_size), o2.head = new c.Buf16(o2.hash_size), o2.prev = new c.Buf16(o2.w_size), o2.lit_bufsize = 1 << i2 + 6, o2.pending_buf_size = 4 * o2.lit_bufsize, o2.pending_buf = new c.Buf8(o2.pending_buf_size), o2.d_buf = 1 * o2.lit_bufsize, o2.l_buf = 3 * o2.lit_bufsize, o2.level = t2, o2.strategy = s2, o2.method = r2, K(e2); - } - h = [new M(0, 0, 0, 0, function(e2, t2) { - var r2 = 65535; - for (r2 > e2.pending_buf_size - 5 && (r2 = e2.pending_buf_size - 5); ; ) { - if (e2.lookahead <= 1) { - if (j(e2), 0 === e2.lookahead && t2 === l) return A; - if (0 === e2.lookahead) break; - } - e2.strstart += e2.lookahead, e2.lookahead = 0; - var n2 = e2.block_start + r2; - if ((0 === e2.strstart || e2.strstart >= n2) && (e2.lookahead = e2.strstart - n2, e2.strstart = n2, N(e2, false), 0 === e2.strm.avail_out)) return A; - if (e2.strstart - e2.block_start >= e2.w_size - z && (N(e2, false), 0 === e2.strm.avail_out)) return A; - } - return e2.insert = 0, t2 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : (e2.strstart > e2.block_start && (N(e2, false), e2.strm.avail_out), A); - }), new M(4, 4, 8, 4, Z), new M(4, 5, 16, 8, Z), new M(4, 6, 32, 32, Z), new M(4, 4, 16, 16, W), new M(8, 16, 32, 32, W), new M(8, 16, 128, 128, W), new M(8, 32, 128, 256, W), new M(32, 128, 258, 1024, W), new M(32, 258, 258, 4096, W)], r.deflateInit = function(e2, t2) { - return Y(e2, t2, v, 15, 8, 0); - }, r.deflateInit2 = Y, r.deflateReset = K, r.deflateResetKeep = G, r.deflateSetHeader = function(e2, t2) { - return e2 && e2.state ? 2 !== e2.state.wrap ? _ : (e2.state.gzhead = t2, m) : _; - }, r.deflate = function(e2, t2) { - var r2, n2, i2, s2; - if (!e2 || !e2.state || 5 < t2 || t2 < 0) return e2 ? R(e2, _) : _; - if (n2 = e2.state, !e2.output || !e2.input && 0 !== e2.avail_in || 666 === n2.status && t2 !== f) return R(e2, 0 === e2.avail_out ? -5 : _); - if (n2.strm = e2, r2 = n2.last_flush, n2.last_flush = t2, n2.status === C) if (2 === n2.wrap) e2.adler = 0, U(n2, 31), U(n2, 139), U(n2, 8), n2.gzhead ? (U(n2, (n2.gzhead.text ? 1 : 0) + (n2.gzhead.hcrc ? 2 : 0) + (n2.gzhead.extra ? 4 : 0) + (n2.gzhead.name ? 8 : 0) + (n2.gzhead.comment ? 16 : 0)), U(n2, 255 & n2.gzhead.time), U(n2, n2.gzhead.time >> 8 & 255), U(n2, n2.gzhead.time >> 16 & 255), U(n2, n2.gzhead.time >> 24 & 255), U(n2, 9 === n2.level ? 2 : 2 <= n2.strategy || n2.level < 2 ? 4 : 0), U(n2, 255 & n2.gzhead.os), n2.gzhead.extra && n2.gzhead.extra.length && (U(n2, 255 & n2.gzhead.extra.length), U(n2, n2.gzhead.extra.length >> 8 & 255)), n2.gzhead.hcrc && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending, 0)), n2.gzindex = 0, n2.status = 69) : (U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 9 === n2.level ? 2 : 2 <= n2.strategy || n2.level < 2 ? 4 : 0), U(n2, 3), n2.status = E); - else { - var a2 = v + (n2.w_bits - 8 << 4) << 8; - a2 |= (2 <= n2.strategy || n2.level < 2 ? 0 : n2.level < 6 ? 1 : 6 === n2.level ? 2 : 3) << 6, 0 !== n2.strstart && (a2 |= 32), a2 += 31 - a2 % 31, n2.status = E, P(n2, a2), 0 !== n2.strstart && (P(n2, e2.adler >>> 16), P(n2, 65535 & e2.adler)), e2.adler = 1; - } - if (69 === n2.status) if (n2.gzhead.extra) { - for (i2 = n2.pending; n2.gzindex < (65535 & n2.gzhead.extra.length) && (n2.pending !== n2.pending_buf_size || (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F(e2), i2 = n2.pending, n2.pending !== n2.pending_buf_size)); ) U(n2, 255 & n2.gzhead.extra[n2.gzindex]), n2.gzindex++; - n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), n2.gzindex === n2.gzhead.extra.length && (n2.gzindex = 0, n2.status = 73); - } else n2.status = 73; - if (73 === n2.status) if (n2.gzhead.name) { - i2 = n2.pending; - do { - if (n2.pending === n2.pending_buf_size && (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F(e2), i2 = n2.pending, n2.pending === n2.pending_buf_size)) { - s2 = 1; - break; - } - s2 = n2.gzindex < n2.gzhead.name.length ? 255 & n2.gzhead.name.charCodeAt(n2.gzindex++) : 0, U(n2, s2); - } while (0 !== s2); - n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), 0 === s2 && (n2.gzindex = 0, n2.status = 91); - } else n2.status = 91; - if (91 === n2.status) if (n2.gzhead.comment) { - i2 = n2.pending; - do { - if (n2.pending === n2.pending_buf_size && (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F(e2), i2 = n2.pending, n2.pending === n2.pending_buf_size)) { - s2 = 1; - break; - } - s2 = n2.gzindex < n2.gzhead.comment.length ? 255 & n2.gzhead.comment.charCodeAt(n2.gzindex++) : 0, U(n2, s2); - } while (0 !== s2); - n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), 0 === s2 && (n2.status = 103); - } else n2.status = 103; - if (103 === n2.status && (n2.gzhead.hcrc ? (n2.pending + 2 > n2.pending_buf_size && F(e2), n2.pending + 2 <= n2.pending_buf_size && (U(n2, 255 & e2.adler), U(n2, e2.adler >> 8 & 255), e2.adler = 0, n2.status = E)) : n2.status = E), 0 !== n2.pending) { - if (F(e2), 0 === e2.avail_out) return n2.last_flush = -1, m; - } else if (0 === e2.avail_in && T(t2) <= T(r2) && t2 !== f) return R(e2, -5); - if (666 === n2.status && 0 !== e2.avail_in) return R(e2, -5); - if (0 !== e2.avail_in || 0 !== n2.lookahead || t2 !== l && 666 !== n2.status) { - var o2 = 2 === n2.strategy ? (function(e3, t3) { - for (var r3; ; ) { - if (0 === e3.lookahead && (j(e3), 0 === e3.lookahead)) { - if (t3 === l) return A; - break; - } - if (e3.match_length = 0, r3 = u._tr_tally(e3, 0, e3.window[e3.strstart]), e3.lookahead--, e3.strstart++, r3 && (N(e3, false), 0 === e3.strm.avail_out)) return A; - } - return e3.insert = 0, t3 === f ? (N(e3, true), 0 === e3.strm.avail_out ? O : B) : e3.last_lit && (N(e3, false), 0 === e3.strm.avail_out) ? A : I; - })(n2, t2) : 3 === n2.strategy ? (function(e3, t3) { - for (var r3, n3, i3, s3, a3 = e3.window; ; ) { - if (e3.lookahead <= S) { - if (j(e3), e3.lookahead <= S && t3 === l) return A; - if (0 === e3.lookahead) break; - } - if (e3.match_length = 0, e3.lookahead >= x && 0 < e3.strstart && (n3 = a3[i3 = e3.strstart - 1]) === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3]) { - s3 = e3.strstart + S; - do { - } while (n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && i3 < s3); - e3.match_length = S - (s3 - i3), e3.match_length > e3.lookahead && (e3.match_length = e3.lookahead); - } - if (e3.match_length >= x ? (r3 = u._tr_tally(e3, 1, e3.match_length - x), e3.lookahead -= e3.match_length, e3.strstart += e3.match_length, e3.match_length = 0) : (r3 = u._tr_tally(e3, 0, e3.window[e3.strstart]), e3.lookahead--, e3.strstart++), r3 && (N(e3, false), 0 === e3.strm.avail_out)) return A; - } - return e3.insert = 0, t3 === f ? (N(e3, true), 0 === e3.strm.avail_out ? O : B) : e3.last_lit && (N(e3, false), 0 === e3.strm.avail_out) ? A : I; - })(n2, t2) : h[n2.level].func(n2, t2); - if (o2 !== O && o2 !== B || (n2.status = 666), o2 === A || o2 === O) return 0 === e2.avail_out && (n2.last_flush = -1), m; - if (o2 === I && (1 === t2 ? u._tr_align(n2) : 5 !== t2 && (u._tr_stored_block(n2, 0, 0, false), 3 === t2 && (D(n2.head), 0 === n2.lookahead && (n2.strstart = 0, n2.block_start = 0, n2.insert = 0))), F(e2), 0 === e2.avail_out)) return n2.last_flush = -1, m; - } - return t2 !== f ? m : n2.wrap <= 0 ? 1 : (2 === n2.wrap ? (U(n2, 255 & e2.adler), U(n2, e2.adler >> 8 & 255), U(n2, e2.adler >> 16 & 255), U(n2, e2.adler >> 24 & 255), U(n2, 255 & e2.total_in), U(n2, e2.total_in >> 8 & 255), U(n2, e2.total_in >> 16 & 255), U(n2, e2.total_in >> 24 & 255)) : (P(n2, e2.adler >>> 16), P(n2, 65535 & e2.adler)), F(e2), 0 < n2.wrap && (n2.wrap = -n2.wrap), 0 !== n2.pending ? m : 1); - }, r.deflateEnd = function(e2) { - var t2; - return e2 && e2.state ? (t2 = e2.state.status) !== C && 69 !== t2 && 73 !== t2 && 91 !== t2 && 103 !== t2 && t2 !== E && 666 !== t2 ? R(e2, _) : (e2.state = null, t2 === E ? R(e2, -3) : m) : _; - }, r.deflateSetDictionary = function(e2, t2) { - var r2, n2, i2, s2, a2, o2, h2, u2, l2 = t2.length; - if (!e2 || !e2.state) return _; - if (2 === (s2 = (r2 = e2.state).wrap) || 1 === s2 && r2.status !== C || r2.lookahead) return _; - for (1 === s2 && (e2.adler = d(e2.adler, t2, l2, 0)), r2.wrap = 0, l2 >= r2.w_size && (0 === s2 && (D(r2.head), r2.strstart = 0, r2.block_start = 0, r2.insert = 0), u2 = new c.Buf8(r2.w_size), c.arraySet(u2, t2, l2 - r2.w_size, r2.w_size, 0), t2 = u2, l2 = r2.w_size), a2 = e2.avail_in, o2 = e2.next_in, h2 = e2.input, e2.avail_in = l2, e2.next_in = 0, e2.input = t2, j(r2); r2.lookahead >= x; ) { - for (n2 = r2.strstart, i2 = r2.lookahead - (x - 1); r2.ins_h = (r2.ins_h << r2.hash_shift ^ r2.window[n2 + x - 1]) & r2.hash_mask, r2.prev[n2 & r2.w_mask] = r2.head[r2.ins_h], r2.head[r2.ins_h] = n2, n2++, --i2; ) ; - r2.strstart = n2, r2.lookahead = x - 1, j(r2); - } - return r2.strstart += r2.lookahead, r2.block_start = r2.strstart, r2.insert = r2.lookahead, r2.lookahead = 0, r2.match_length = r2.prev_length = x - 1, r2.match_available = 0, e2.next_in = o2, e2.input = h2, e2.avail_in = a2, r2.wrap = s2, m; - }, r.deflateInfo = "pako deflate (from Nodeca project)"; - }, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./messages": 51, "./trees": 52 }], 47: [function(e, t, r) { - "use strict"; - t.exports = function() { - this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = false; - }; - }, {}], 48: [function(e, t, r) { - "use strict"; - t.exports = function(e2, t2) { - var r2, n, i, s, a, o, h, u, l, f, c, d, p, m, _, g, b, v, y, w, k, x, S, z, C; - r2 = e2.state, n = e2.next_in, z = e2.input, i = n + (e2.avail_in - 5), s = e2.next_out, C = e2.output, a = s - (t2 - e2.avail_out), o = s + (e2.avail_out - 257), h = r2.dmax, u = r2.wsize, l = r2.whave, f = r2.wnext, c = r2.window, d = r2.hold, p = r2.bits, m = r2.lencode, _ = r2.distcode, g = (1 << r2.lenbits) - 1, b = (1 << r2.distbits) - 1; - e: do { - p < 15 && (d += z[n++] << p, p += 8, d += z[n++] << p, p += 8), v = m[d & g]; - t: for (; ; ) { - if (d >>>= y = v >>> 24, p -= y, 0 === (y = v >>> 16 & 255)) C[s++] = 65535 & v; - else { - if (!(16 & y)) { - if (0 == (64 & y)) { - v = m[(65535 & v) + (d & (1 << y) - 1)]; - continue t; - } - if (32 & y) { - r2.mode = 12; - break e; - } - e2.msg = "invalid literal/length code", r2.mode = 30; - break e; - } - w = 65535 & v, (y &= 15) && (p < y && (d += z[n++] << p, p += 8), w += d & (1 << y) - 1, d >>>= y, p -= y), p < 15 && (d += z[n++] << p, p += 8, d += z[n++] << p, p += 8), v = _[d & b]; - r: for (; ; ) { - if (d >>>= y = v >>> 24, p -= y, !(16 & (y = v >>> 16 & 255))) { - if (0 == (64 & y)) { - v = _[(65535 & v) + (d & (1 << y) - 1)]; - continue r; - } - e2.msg = "invalid distance code", r2.mode = 30; - break e; - } - if (k = 65535 & v, p < (y &= 15) && (d += z[n++] << p, (p += 8) < y && (d += z[n++] << p, p += 8)), h < (k += d & (1 << y) - 1)) { - e2.msg = "invalid distance too far back", r2.mode = 30; - break e; - } - if (d >>>= y, p -= y, (y = s - a) < k) { - if (l < (y = k - y) && r2.sane) { - e2.msg = "invalid distance too far back", r2.mode = 30; - break e; - } - if (S = c, (x = 0) === f) { - if (x += u - y, y < w) { - for (w -= y; C[s++] = c[x++], --y; ) ; - x = s - k, S = C; - } - } else if (f < y) { - if (x += u + f - y, (y -= f) < w) { - for (w -= y; C[s++] = c[x++], --y; ) ; - if (x = 0, f < w) { - for (w -= y = f; C[s++] = c[x++], --y; ) ; - x = s - k, S = C; - } - } - } else if (x += f - y, y < w) { - for (w -= y; C[s++] = c[x++], --y; ) ; - x = s - k, S = C; - } - for (; 2 < w; ) C[s++] = S[x++], C[s++] = S[x++], C[s++] = S[x++], w -= 3; - w && (C[s++] = S[x++], 1 < w && (C[s++] = S[x++])); - } else { - for (x = s - k; C[s++] = C[x++], C[s++] = C[x++], C[s++] = C[x++], 2 < (w -= 3); ) ; - w && (C[s++] = C[x++], 1 < w && (C[s++] = C[x++])); - } - break; - } - } - break; - } - } while (n < i && s < o); - n -= w = p >> 3, d &= (1 << (p -= w << 3)) - 1, e2.next_in = n, e2.next_out = s, e2.avail_in = n < i ? i - n + 5 : 5 - (n - i), e2.avail_out = s < o ? o - s + 257 : 257 - (s - o), r2.hold = d, r2.bits = p; - }; - }, {}], 49: [function(e, t, r) { - "use strict"; - var I = e("../utils/common"), O = e("./adler32"), B = e("./crc32"), R = e("./inffast"), T = e("./inftrees"), D = 1, F = 2, N = 0, U = -2, P = 1, n = 852, i = 592; - function L(e2) { - return (e2 >>> 24 & 255) + (e2 >>> 8 & 65280) + ((65280 & e2) << 8) + ((255 & e2) << 24); - } - function s() { - this.mode = 0, this.last = false, this.wrap = 0, this.havedict = false, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new I.Buf16(320), this.work = new I.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0; - } - function a(e2) { - var t2; - return e2 && e2.state ? (t2 = e2.state, e2.total_in = e2.total_out = t2.total = 0, e2.msg = "", t2.wrap && (e2.adler = 1 & t2.wrap), t2.mode = P, t2.last = 0, t2.havedict = 0, t2.dmax = 32768, t2.head = null, t2.hold = 0, t2.bits = 0, t2.lencode = t2.lendyn = new I.Buf32(n), t2.distcode = t2.distdyn = new I.Buf32(i), t2.sane = 1, t2.back = -1, N) : U; - } - function o(e2) { - var t2; - return e2 && e2.state ? ((t2 = e2.state).wsize = 0, t2.whave = 0, t2.wnext = 0, a(e2)) : U; - } - function h(e2, t2) { - var r2, n2; - return e2 && e2.state ? (n2 = e2.state, t2 < 0 ? (r2 = 0, t2 = -t2) : (r2 = 1 + (t2 >> 4), t2 < 48 && (t2 &= 15)), t2 && (t2 < 8 || 15 < t2) ? U : (null !== n2.window && n2.wbits !== t2 && (n2.window = null), n2.wrap = r2, n2.wbits = t2, o(e2))) : U; - } - function u(e2, t2) { - var r2, n2; - return e2 ? (n2 = new s(), (e2.state = n2).window = null, (r2 = h(e2, t2)) !== N && (e2.state = null), r2) : U; - } - var l, f, c = true; - function j(e2) { - if (c) { - var t2; - for (l = new I.Buf32(512), f = new I.Buf32(32), t2 = 0; t2 < 144; ) e2.lens[t2++] = 8; - for (; t2 < 256; ) e2.lens[t2++] = 9; - for (; t2 < 280; ) e2.lens[t2++] = 7; - for (; t2 < 288; ) e2.lens[t2++] = 8; - for (T(D, e2.lens, 0, 288, l, 0, e2.work, { bits: 9 }), t2 = 0; t2 < 32; ) e2.lens[t2++] = 5; - T(F, e2.lens, 0, 32, f, 0, e2.work, { bits: 5 }), c = false; - } - e2.lencode = l, e2.lenbits = 9, e2.distcode = f, e2.distbits = 5; - } - function Z(e2, t2, r2, n2) { - var i2, s2 = e2.state; - return null === s2.window && (s2.wsize = 1 << s2.wbits, s2.wnext = 0, s2.whave = 0, s2.window = new I.Buf8(s2.wsize)), n2 >= s2.wsize ? (I.arraySet(s2.window, t2, r2 - s2.wsize, s2.wsize, 0), s2.wnext = 0, s2.whave = s2.wsize) : (n2 < (i2 = s2.wsize - s2.wnext) && (i2 = n2), I.arraySet(s2.window, t2, r2 - n2, i2, s2.wnext), (n2 -= i2) ? (I.arraySet(s2.window, t2, r2 - n2, n2, 0), s2.wnext = n2, s2.whave = s2.wsize) : (s2.wnext += i2, s2.wnext === s2.wsize && (s2.wnext = 0), s2.whave < s2.wsize && (s2.whave += i2))), 0; - } - r.inflateReset = o, r.inflateReset2 = h, r.inflateResetKeep = a, r.inflateInit = function(e2) { - return u(e2, 15); - }, r.inflateInit2 = u, r.inflate = function(e2, t2) { - var r2, n2, i2, s2, a2, o2, h2, u2, l2, f2, c2, d, p, m, _, g, b, v, y, w, k, x, S, z, C = 0, E = new I.Buf8(4), A = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; - if (!e2 || !e2.state || !e2.output || !e2.input && 0 !== e2.avail_in) return U; - 12 === (r2 = e2.state).mode && (r2.mode = 13), a2 = e2.next_out, i2 = e2.output, h2 = e2.avail_out, s2 = e2.next_in, n2 = e2.input, o2 = e2.avail_in, u2 = r2.hold, l2 = r2.bits, f2 = o2, c2 = h2, x = N; - e: for (; ; ) switch (r2.mode) { - case P: - if (0 === r2.wrap) { - r2.mode = 13; - break; - } - for (; l2 < 16; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (2 & r2.wrap && 35615 === u2) { - E[r2.check = 0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0), l2 = u2 = 0, r2.mode = 2; - break; - } - if (r2.flags = 0, r2.head && (r2.head.done = false), !(1 & r2.wrap) || (((255 & u2) << 8) + (u2 >> 8)) % 31) { - e2.msg = "incorrect header check", r2.mode = 30; - break; - } - if (8 != (15 & u2)) { - e2.msg = "unknown compression method", r2.mode = 30; - break; - } - if (l2 -= 4, k = 8 + (15 & (u2 >>>= 4)), 0 === r2.wbits) r2.wbits = k; - else if (k > r2.wbits) { - e2.msg = "invalid window size", r2.mode = 30; - break; - } - r2.dmax = 1 << k, e2.adler = r2.check = 1, r2.mode = 512 & u2 ? 10 : 12, l2 = u2 = 0; - break; - case 2: - for (; l2 < 16; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (r2.flags = u2, 8 != (255 & r2.flags)) { - e2.msg = "unknown compression method", r2.mode = 30; - break; - } - if (57344 & r2.flags) { - e2.msg = "unknown header flags set", r2.mode = 30; - break; - } - r2.head && (r2.head.text = u2 >> 8 & 1), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0, r2.mode = 3; - case 3: - for (; l2 < 32; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - r2.head && (r2.head.time = u2), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, E[2] = u2 >>> 16 & 255, E[3] = u2 >>> 24 & 255, r2.check = B(r2.check, E, 4, 0)), l2 = u2 = 0, r2.mode = 4; - case 4: - for (; l2 < 16; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - r2.head && (r2.head.xflags = 255 & u2, r2.head.os = u2 >> 8), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0, r2.mode = 5; - case 5: - if (1024 & r2.flags) { - for (; l2 < 16; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - r2.length = u2, r2.head && (r2.head.extra_len = u2), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0; - } else r2.head && (r2.head.extra = null); - r2.mode = 6; - case 6: - if (1024 & r2.flags && (o2 < (d = r2.length) && (d = o2), d && (r2.head && (k = r2.head.extra_len - r2.length, r2.head.extra || (r2.head.extra = new Array(r2.head.extra_len)), I.arraySet(r2.head.extra, n2, s2, d, k)), 512 & r2.flags && (r2.check = B(r2.check, n2, d, s2)), o2 -= d, s2 += d, r2.length -= d), r2.length)) break e; - r2.length = 0, r2.mode = 7; - case 7: - if (2048 & r2.flags) { - if (0 === o2) break e; - for (d = 0; k = n2[s2 + d++], r2.head && k && r2.length < 65536 && (r2.head.name += String.fromCharCode(k)), k && d < o2; ) ; - if (512 & r2.flags && (r2.check = B(r2.check, n2, d, s2)), o2 -= d, s2 += d, k) break e; - } else r2.head && (r2.head.name = null); - r2.length = 0, r2.mode = 8; - case 8: - if (4096 & r2.flags) { - if (0 === o2) break e; - for (d = 0; k = n2[s2 + d++], r2.head && k && r2.length < 65536 && (r2.head.comment += String.fromCharCode(k)), k && d < o2; ) ; - if (512 & r2.flags && (r2.check = B(r2.check, n2, d, s2)), o2 -= d, s2 += d, k) break e; - } else r2.head && (r2.head.comment = null); - r2.mode = 9; - case 9: - if (512 & r2.flags) { - for (; l2 < 16; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (u2 !== (65535 & r2.check)) { - e2.msg = "header crc mismatch", r2.mode = 30; - break; - } - l2 = u2 = 0; - } - r2.head && (r2.head.hcrc = r2.flags >> 9 & 1, r2.head.done = true), e2.adler = r2.check = 0, r2.mode = 12; - break; - case 10: - for (; l2 < 32; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - e2.adler = r2.check = L(u2), l2 = u2 = 0, r2.mode = 11; - case 11: - if (0 === r2.havedict) return e2.next_out = a2, e2.avail_out = h2, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, 2; - e2.adler = r2.check = 1, r2.mode = 12; - case 12: - if (5 === t2 || 6 === t2) break e; - case 13: - if (r2.last) { - u2 >>>= 7 & l2, l2 -= 7 & l2, r2.mode = 27; - break; - } - for (; l2 < 3; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - switch (r2.last = 1 & u2, l2 -= 1, 3 & (u2 >>>= 1)) { - case 0: - r2.mode = 14; - break; - case 1: - if (j(r2), r2.mode = 20, 6 !== t2) break; - u2 >>>= 2, l2 -= 2; - break e; - case 2: - r2.mode = 17; - break; - case 3: - e2.msg = "invalid block type", r2.mode = 30; - } - u2 >>>= 2, l2 -= 2; - break; - case 14: - for (u2 >>>= 7 & l2, l2 -= 7 & l2; l2 < 32; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if ((65535 & u2) != (u2 >>> 16 ^ 65535)) { - e2.msg = "invalid stored block lengths", r2.mode = 30; - break; - } - if (r2.length = 65535 & u2, l2 = u2 = 0, r2.mode = 15, 6 === t2) break e; - case 15: - r2.mode = 16; - case 16: - if (d = r2.length) { - if (o2 < d && (d = o2), h2 < d && (d = h2), 0 === d) break e; - I.arraySet(i2, n2, s2, d, a2), o2 -= d, s2 += d, h2 -= d, a2 += d, r2.length -= d; - break; - } - r2.mode = 12; - break; - case 17: - for (; l2 < 14; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (r2.nlen = 257 + (31 & u2), u2 >>>= 5, l2 -= 5, r2.ndist = 1 + (31 & u2), u2 >>>= 5, l2 -= 5, r2.ncode = 4 + (15 & u2), u2 >>>= 4, l2 -= 4, 286 < r2.nlen || 30 < r2.ndist) { - e2.msg = "too many length or distance symbols", r2.mode = 30; - break; - } - r2.have = 0, r2.mode = 18; - case 18: - for (; r2.have < r2.ncode; ) { - for (; l2 < 3; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - r2.lens[A[r2.have++]] = 7 & u2, u2 >>>= 3, l2 -= 3; - } - for (; r2.have < 19; ) r2.lens[A[r2.have++]] = 0; - if (r2.lencode = r2.lendyn, r2.lenbits = 7, S = { bits: r2.lenbits }, x = T(0, r2.lens, 0, 19, r2.lencode, 0, r2.work, S), r2.lenbits = S.bits, x) { - e2.msg = "invalid code lengths set", r2.mode = 30; - break; - } - r2.have = 0, r2.mode = 19; - case 19: - for (; r2.have < r2.nlen + r2.ndist; ) { - for (; g = (C = r2.lencode[u2 & (1 << r2.lenbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l2); ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (b < 16) u2 >>>= _, l2 -= _, r2.lens[r2.have++] = b; - else { - if (16 === b) { - for (z = _ + 2; l2 < z; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (u2 >>>= _, l2 -= _, 0 === r2.have) { - e2.msg = "invalid bit length repeat", r2.mode = 30; - break; - } - k = r2.lens[r2.have - 1], d = 3 + (3 & u2), u2 >>>= 2, l2 -= 2; - } else if (17 === b) { - for (z = _ + 3; l2 < z; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - l2 -= _, k = 0, d = 3 + (7 & (u2 >>>= _)), u2 >>>= 3, l2 -= 3; - } else { - for (z = _ + 7; l2 < z; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - l2 -= _, k = 0, d = 11 + (127 & (u2 >>>= _)), u2 >>>= 7, l2 -= 7; - } - if (r2.have + d > r2.nlen + r2.ndist) { - e2.msg = "invalid bit length repeat", r2.mode = 30; - break; - } - for (; d--; ) r2.lens[r2.have++] = k; - } - } - if (30 === r2.mode) break; - if (0 === r2.lens[256]) { - e2.msg = "invalid code -- missing end-of-block", r2.mode = 30; - break; - } - if (r2.lenbits = 9, S = { bits: r2.lenbits }, x = T(D, r2.lens, 0, r2.nlen, r2.lencode, 0, r2.work, S), r2.lenbits = S.bits, x) { - e2.msg = "invalid literal/lengths set", r2.mode = 30; - break; - } - if (r2.distbits = 6, r2.distcode = r2.distdyn, S = { bits: r2.distbits }, x = T(F, r2.lens, r2.nlen, r2.ndist, r2.distcode, 0, r2.work, S), r2.distbits = S.bits, x) { - e2.msg = "invalid distances set", r2.mode = 30; - break; - } - if (r2.mode = 20, 6 === t2) break e; - case 20: - r2.mode = 21; - case 21: - if (6 <= o2 && 258 <= h2) { - e2.next_out = a2, e2.avail_out = h2, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, R(e2, c2), a2 = e2.next_out, i2 = e2.output, h2 = e2.avail_out, s2 = e2.next_in, n2 = e2.input, o2 = e2.avail_in, u2 = r2.hold, l2 = r2.bits, 12 === r2.mode && (r2.back = -1); - break; - } - for (r2.back = 0; g = (C = r2.lencode[u2 & (1 << r2.lenbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l2); ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (g && 0 == (240 & g)) { - for (v = _, y = g, w = b; g = (C = r2.lencode[w + ((u2 & (1 << v + y) - 1) >> v)]) >>> 16 & 255, b = 65535 & C, !(v + (_ = C >>> 24) <= l2); ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - u2 >>>= v, l2 -= v, r2.back += v; - } - if (u2 >>>= _, l2 -= _, r2.back += _, r2.length = b, 0 === g) { - r2.mode = 26; - break; - } - if (32 & g) { - r2.back = -1, r2.mode = 12; - break; - } - if (64 & g) { - e2.msg = "invalid literal/length code", r2.mode = 30; - break; - } - r2.extra = 15 & g, r2.mode = 22; - case 22: - if (r2.extra) { - for (z = r2.extra; l2 < z; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - r2.length += u2 & (1 << r2.extra) - 1, u2 >>>= r2.extra, l2 -= r2.extra, r2.back += r2.extra; - } - r2.was = r2.length, r2.mode = 23; - case 23: - for (; g = (C = r2.distcode[u2 & (1 << r2.distbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l2); ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (0 == (240 & g)) { - for (v = _, y = g, w = b; g = (C = r2.distcode[w + ((u2 & (1 << v + y) - 1) >> v)]) >>> 16 & 255, b = 65535 & C, !(v + (_ = C >>> 24) <= l2); ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - u2 >>>= v, l2 -= v, r2.back += v; - } - if (u2 >>>= _, l2 -= _, r2.back += _, 64 & g) { - e2.msg = "invalid distance code", r2.mode = 30; - break; - } - r2.offset = b, r2.extra = 15 & g, r2.mode = 24; - case 24: - if (r2.extra) { - for (z = r2.extra; l2 < z; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - r2.offset += u2 & (1 << r2.extra) - 1, u2 >>>= r2.extra, l2 -= r2.extra, r2.back += r2.extra; - } - if (r2.offset > r2.dmax) { - e2.msg = "invalid distance too far back", r2.mode = 30; - break; - } - r2.mode = 25; - case 25: - if (0 === h2) break e; - if (d = c2 - h2, r2.offset > d) { - if ((d = r2.offset - d) > r2.whave && r2.sane) { - e2.msg = "invalid distance too far back", r2.mode = 30; - break; - } - p = d > r2.wnext ? (d -= r2.wnext, r2.wsize - d) : r2.wnext - d, d > r2.length && (d = r2.length), m = r2.window; - } else m = i2, p = a2 - r2.offset, d = r2.length; - for (h2 < d && (d = h2), h2 -= d, r2.length -= d; i2[a2++] = m[p++], --d; ) ; - 0 === r2.length && (r2.mode = 21); - break; - case 26: - if (0 === h2) break e; - i2[a2++] = r2.length, h2--, r2.mode = 21; - break; - case 27: - if (r2.wrap) { - for (; l2 < 32; ) { - if (0 === o2) break e; - o2--, u2 |= n2[s2++] << l2, l2 += 8; - } - if (c2 -= h2, e2.total_out += c2, r2.total += c2, c2 && (e2.adler = r2.check = r2.flags ? B(r2.check, i2, c2, a2 - c2) : O(r2.check, i2, c2, a2 - c2)), c2 = h2, (r2.flags ? u2 : L(u2)) !== r2.check) { - e2.msg = "incorrect data check", r2.mode = 30; - break; - } - l2 = u2 = 0; - } - r2.mode = 28; - case 28: - if (r2.wrap && r2.flags) { - for (; l2 < 32; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (u2 !== (4294967295 & r2.total)) { - e2.msg = "incorrect length check", r2.mode = 30; - break; - } - l2 = u2 = 0; - } - r2.mode = 29; - case 29: - x = 1; - break e; - case 30: - x = -3; - break e; - case 31: - return -4; - case 32: - default: - return U; - } - return e2.next_out = a2, e2.avail_out = h2, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, (r2.wsize || c2 !== e2.avail_out && r2.mode < 30 && (r2.mode < 27 || 4 !== t2)) && Z(e2, e2.output, e2.next_out, c2 - e2.avail_out) ? (r2.mode = 31, -4) : (f2 -= e2.avail_in, c2 -= e2.avail_out, e2.total_in += f2, e2.total_out += c2, r2.total += c2, r2.wrap && c2 && (e2.adler = r2.check = r2.flags ? B(r2.check, i2, c2, e2.next_out - c2) : O(r2.check, i2, c2, e2.next_out - c2)), e2.data_type = r2.bits + (r2.last ? 64 : 0) + (12 === r2.mode ? 128 : 0) + (20 === r2.mode || 15 === r2.mode ? 256 : 0), (0 == f2 && 0 === c2 || 4 === t2) && x === N && (x = -5), x); - }, r.inflateEnd = function(e2) { - if (!e2 || !e2.state) return U; - var t2 = e2.state; - return t2.window && (t2.window = null), e2.state = null, N; - }, r.inflateGetHeader = function(e2, t2) { - var r2; - return e2 && e2.state ? 0 == (2 & (r2 = e2.state).wrap) ? U : ((r2.head = t2).done = false, N) : U; - }, r.inflateSetDictionary = function(e2, t2) { - var r2, n2 = t2.length; - return e2 && e2.state ? 0 !== (r2 = e2.state).wrap && 11 !== r2.mode ? U : 11 === r2.mode && O(1, t2, n2, 0) !== r2.check ? -3 : Z(e2, t2, n2, n2) ? (r2.mode = 31, -4) : (r2.havedict = 1, N) : U; - }, r.inflateInfo = "pako inflate (from Nodeca project)"; - }, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./inffast": 48, "./inftrees": 50 }], 50: [function(e, t, r) { - "use strict"; - var D = e("../utils/common"), F = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0], N = [16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78], U = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0], P = [16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64]; - t.exports = function(e2, t2, r2, n, i, s, a, o) { - var h, u, l, f, c, d, p, m, _, g = o.bits, b = 0, v = 0, y = 0, w = 0, k = 0, x = 0, S = 0, z = 0, C = 0, E = 0, A = null, I = 0, O = new D.Buf16(16), B = new D.Buf16(16), R = null, T = 0; - for (b = 0; b <= 15; b++) O[b] = 0; - for (v = 0; v < n; v++) O[t2[r2 + v]]++; - for (k = g, w = 15; 1 <= w && 0 === O[w]; w--) ; - if (w < k && (k = w), 0 === w) return i[s++] = 20971520, i[s++] = 20971520, o.bits = 1, 0; - for (y = 1; y < w && 0 === O[y]; y++) ; - for (k < y && (k = y), b = z = 1; b <= 15; b++) if (z <<= 1, (z -= O[b]) < 0) return -1; - if (0 < z && (0 === e2 || 1 !== w)) return -1; - for (B[1] = 0, b = 1; b < 15; b++) B[b + 1] = B[b] + O[b]; - for (v = 0; v < n; v++) 0 !== t2[r2 + v] && (a[B[t2[r2 + v]]++] = v); - if (d = 0 === e2 ? (A = R = a, 19) : 1 === e2 ? (A = F, I -= 257, R = N, T -= 257, 256) : (A = U, R = P, -1), b = y, c = s, S = v = E = 0, l = -1, f = (C = 1 << (x = k)) - 1, 1 === e2 && 852 < C || 2 === e2 && 592 < C) return 1; - for (; ; ) { - for (p = b - S, _ = a[v] < d ? (m = 0, a[v]) : a[v] > d ? (m = R[T + a[v]], A[I + a[v]]) : (m = 96, 0), h = 1 << b - S, y = u = 1 << x; i[c + (E >> S) + (u -= h)] = p << 24 | m << 16 | _ | 0, 0 !== u; ) ; - for (h = 1 << b - 1; E & h; ) h >>= 1; - if (0 !== h ? (E &= h - 1, E += h) : E = 0, v++, 0 == --O[b]) { - if (b === w) break; - b = t2[r2 + a[v]]; - } - if (k < b && (E & f) !== l) { - for (0 === S && (S = k), c += y, z = 1 << (x = b - S); x + S < w && !((z -= O[x + S]) <= 0); ) x++, z <<= 1; - if (C += 1 << x, 1 === e2 && 852 < C || 2 === e2 && 592 < C) return 1; - i[l = E & f] = k << 24 | x << 16 | c - s | 0; - } - } - return 0 !== E && (i[c + E] = b - S << 24 | 64 << 16 | 0), o.bits = k, 0; - }; - }, { "../utils/common": 41 }], 51: [function(e, t, r) { - "use strict"; - t.exports = { 2: "need dictionary", 1: "stream end", 0: "", "-1": "file error", "-2": "stream error", "-3": "data error", "-4": "insufficient memory", "-5": "buffer error", "-6": "incompatible version" }; - }, {}], 52: [function(e, t, r) { - "use strict"; - var i = e("../utils/common"), o = 0, h = 1; - function n(e2) { - for (var t2 = e2.length; 0 <= --t2; ) e2[t2] = 0; - } - var s = 0, a = 29, u = 256, l = u + 1 + a, f = 30, c = 19, _ = 2 * l + 1, g = 15, d = 16, p = 7, m = 256, b = 16, v = 17, y = 18, w = [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], k = [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], x = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], S = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], z = new Array(2 * (l + 2)); - n(z); - var C = new Array(2 * f); - n(C); - var E = new Array(512); - n(E); - var A = new Array(256); - n(A); - var I = new Array(a); - n(I); - var O, B, R, T = new Array(f); - function D(e2, t2, r2, n2, i2) { - this.static_tree = e2, this.extra_bits = t2, this.extra_base = r2, this.elems = n2, this.max_length = i2, this.has_stree = e2 && e2.length; - } - function F(e2, t2) { - this.dyn_tree = e2, this.max_code = 0, this.stat_desc = t2; - } - function N(e2) { - return e2 < 256 ? E[e2] : E[256 + (e2 >>> 7)]; - } - function U(e2, t2) { - e2.pending_buf[e2.pending++] = 255 & t2, e2.pending_buf[e2.pending++] = t2 >>> 8 & 255; - } - function P(e2, t2, r2) { - e2.bi_valid > d - r2 ? (e2.bi_buf |= t2 << e2.bi_valid & 65535, U(e2, e2.bi_buf), e2.bi_buf = t2 >> d - e2.bi_valid, e2.bi_valid += r2 - d) : (e2.bi_buf |= t2 << e2.bi_valid & 65535, e2.bi_valid += r2); - } - function L(e2, t2, r2) { - P(e2, r2[2 * t2], r2[2 * t2 + 1]); - } - function j(e2, t2) { - for (var r2 = 0; r2 |= 1 & e2, e2 >>>= 1, r2 <<= 1, 0 < --t2; ) ; - return r2 >>> 1; - } - function Z(e2, t2, r2) { - var n2, i2, s2 = new Array(g + 1), a2 = 0; - for (n2 = 1; n2 <= g; n2++) s2[n2] = a2 = a2 + r2[n2 - 1] << 1; - for (i2 = 0; i2 <= t2; i2++) { - var o2 = e2[2 * i2 + 1]; - 0 !== o2 && (e2[2 * i2] = j(s2[o2]++, o2)); - } - } - function W(e2) { - var t2; - for (t2 = 0; t2 < l; t2++) e2.dyn_ltree[2 * t2] = 0; - for (t2 = 0; t2 < f; t2++) e2.dyn_dtree[2 * t2] = 0; - for (t2 = 0; t2 < c; t2++) e2.bl_tree[2 * t2] = 0; - e2.dyn_ltree[2 * m] = 1, e2.opt_len = e2.static_len = 0, e2.last_lit = e2.matches = 0; - } - function M(e2) { - 8 < e2.bi_valid ? U(e2, e2.bi_buf) : 0 < e2.bi_valid && (e2.pending_buf[e2.pending++] = e2.bi_buf), e2.bi_buf = 0, e2.bi_valid = 0; - } - function H(e2, t2, r2, n2) { - var i2 = 2 * t2, s2 = 2 * r2; - return e2[i2] < e2[s2] || e2[i2] === e2[s2] && n2[t2] <= n2[r2]; - } - function G(e2, t2, r2) { - for (var n2 = e2.heap[r2], i2 = r2 << 1; i2 <= e2.heap_len && (i2 < e2.heap_len && H(t2, e2.heap[i2 + 1], e2.heap[i2], e2.depth) && i2++, !H(t2, n2, e2.heap[i2], e2.depth)); ) e2.heap[r2] = e2.heap[i2], r2 = i2, i2 <<= 1; - e2.heap[r2] = n2; - } - function K(e2, t2, r2) { - var n2, i2, s2, a2, o2 = 0; - if (0 !== e2.last_lit) for (; n2 = e2.pending_buf[e2.d_buf + 2 * o2] << 8 | e2.pending_buf[e2.d_buf + 2 * o2 + 1], i2 = e2.pending_buf[e2.l_buf + o2], o2++, 0 === n2 ? L(e2, i2, t2) : (L(e2, (s2 = A[i2]) + u + 1, t2), 0 !== (a2 = w[s2]) && P(e2, i2 -= I[s2], a2), L(e2, s2 = N(--n2), r2), 0 !== (a2 = k[s2]) && P(e2, n2 -= T[s2], a2)), o2 < e2.last_lit; ) ; - L(e2, m, t2); - } - function Y(e2, t2) { - var r2, n2, i2, s2 = t2.dyn_tree, a2 = t2.stat_desc.static_tree, o2 = t2.stat_desc.has_stree, h2 = t2.stat_desc.elems, u2 = -1; - for (e2.heap_len = 0, e2.heap_max = _, r2 = 0; r2 < h2; r2++) 0 !== s2[2 * r2] ? (e2.heap[++e2.heap_len] = u2 = r2, e2.depth[r2] = 0) : s2[2 * r2 + 1] = 0; - for (; e2.heap_len < 2; ) s2[2 * (i2 = e2.heap[++e2.heap_len] = u2 < 2 ? ++u2 : 0)] = 1, e2.depth[i2] = 0, e2.opt_len--, o2 && (e2.static_len -= a2[2 * i2 + 1]); - for (t2.max_code = u2, r2 = e2.heap_len >> 1; 1 <= r2; r2--) G(e2, s2, r2); - for (i2 = h2; r2 = e2.heap[1], e2.heap[1] = e2.heap[e2.heap_len--], G(e2, s2, 1), n2 = e2.heap[1], e2.heap[--e2.heap_max] = r2, e2.heap[--e2.heap_max] = n2, s2[2 * i2] = s2[2 * r2] + s2[2 * n2], e2.depth[i2] = (e2.depth[r2] >= e2.depth[n2] ? e2.depth[r2] : e2.depth[n2]) + 1, s2[2 * r2 + 1] = s2[2 * n2 + 1] = i2, e2.heap[1] = i2++, G(e2, s2, 1), 2 <= e2.heap_len; ) ; - e2.heap[--e2.heap_max] = e2.heap[1], (function(e3, t3) { - var r3, n3, i3, s3, a3, o3, h3 = t3.dyn_tree, u3 = t3.max_code, l2 = t3.stat_desc.static_tree, f2 = t3.stat_desc.has_stree, c2 = t3.stat_desc.extra_bits, d2 = t3.stat_desc.extra_base, p2 = t3.stat_desc.max_length, m2 = 0; - for (s3 = 0; s3 <= g; s3++) e3.bl_count[s3] = 0; - for (h3[2 * e3.heap[e3.heap_max] + 1] = 0, r3 = e3.heap_max + 1; r3 < _; r3++) p2 < (s3 = h3[2 * h3[2 * (n3 = e3.heap[r3]) + 1] + 1] + 1) && (s3 = p2, m2++), h3[2 * n3 + 1] = s3, u3 < n3 || (e3.bl_count[s3]++, a3 = 0, d2 <= n3 && (a3 = c2[n3 - d2]), o3 = h3[2 * n3], e3.opt_len += o3 * (s3 + a3), f2 && (e3.static_len += o3 * (l2[2 * n3 + 1] + a3))); - if (0 !== m2) { - do { - for (s3 = p2 - 1; 0 === e3.bl_count[s3]; ) s3--; - e3.bl_count[s3]--, e3.bl_count[s3 + 1] += 2, e3.bl_count[p2]--, m2 -= 2; - } while (0 < m2); - for (s3 = p2; 0 !== s3; s3--) for (n3 = e3.bl_count[s3]; 0 !== n3; ) u3 < (i3 = e3.heap[--r3]) || (h3[2 * i3 + 1] !== s3 && (e3.opt_len += (s3 - h3[2 * i3 + 1]) * h3[2 * i3], h3[2 * i3 + 1] = s3), n3--); - } - })(e2, t2), Z(s2, u2, e2.bl_count); - } - function X(e2, t2, r2) { - var n2, i2, s2 = -1, a2 = t2[1], o2 = 0, h2 = 7, u2 = 4; - for (0 === a2 && (h2 = 138, u2 = 3), t2[2 * (r2 + 1) + 1] = 65535, n2 = 0; n2 <= r2; n2++) i2 = a2, a2 = t2[2 * (n2 + 1) + 1], ++o2 < h2 && i2 === a2 || (o2 < u2 ? e2.bl_tree[2 * i2] += o2 : 0 !== i2 ? (i2 !== s2 && e2.bl_tree[2 * i2]++, e2.bl_tree[2 * b]++) : o2 <= 10 ? e2.bl_tree[2 * v]++ : e2.bl_tree[2 * y]++, s2 = i2, u2 = (o2 = 0) === a2 ? (h2 = 138, 3) : i2 === a2 ? (h2 = 6, 3) : (h2 = 7, 4)); - } - function V(e2, t2, r2) { - var n2, i2, s2 = -1, a2 = t2[1], o2 = 0, h2 = 7, u2 = 4; - for (0 === a2 && (h2 = 138, u2 = 3), n2 = 0; n2 <= r2; n2++) if (i2 = a2, a2 = t2[2 * (n2 + 1) + 1], !(++o2 < h2 && i2 === a2)) { - if (o2 < u2) for (; L(e2, i2, e2.bl_tree), 0 != --o2; ) ; - else 0 !== i2 ? (i2 !== s2 && (L(e2, i2, e2.bl_tree), o2--), L(e2, b, e2.bl_tree), P(e2, o2 - 3, 2)) : o2 <= 10 ? (L(e2, v, e2.bl_tree), P(e2, o2 - 3, 3)) : (L(e2, y, e2.bl_tree), P(e2, o2 - 11, 7)); - s2 = i2, u2 = (o2 = 0) === a2 ? (h2 = 138, 3) : i2 === a2 ? (h2 = 6, 3) : (h2 = 7, 4); - } - } - n(T); - var q = false; - function J(e2, t2, r2, n2) { - P(e2, (s << 1) + (n2 ? 1 : 0), 3), (function(e3, t3, r3, n3) { - M(e3), n3 && (U(e3, r3), U(e3, ~r3)), i.arraySet(e3.pending_buf, e3.window, t3, r3, e3.pending), e3.pending += r3; - })(e2, t2, r2, true); - } - r._tr_init = function(e2) { - q || ((function() { - var e3, t2, r2, n2, i2, s2 = new Array(g + 1); - for (n2 = r2 = 0; n2 < a - 1; n2++) for (I[n2] = r2, e3 = 0; e3 < 1 << w[n2]; e3++) A[r2++] = n2; - for (A[r2 - 1] = n2, n2 = i2 = 0; n2 < 16; n2++) for (T[n2] = i2, e3 = 0; e3 < 1 << k[n2]; e3++) E[i2++] = n2; - for (i2 >>= 7; n2 < f; n2++) for (T[n2] = i2 << 7, e3 = 0; e3 < 1 << k[n2] - 7; e3++) E[256 + i2++] = n2; - for (t2 = 0; t2 <= g; t2++) s2[t2] = 0; - for (e3 = 0; e3 <= 143; ) z[2 * e3 + 1] = 8, e3++, s2[8]++; - for (; e3 <= 255; ) z[2 * e3 + 1] = 9, e3++, s2[9]++; - for (; e3 <= 279; ) z[2 * e3 + 1] = 7, e3++, s2[7]++; - for (; e3 <= 287; ) z[2 * e3 + 1] = 8, e3++, s2[8]++; - for (Z(z, l + 1, s2), e3 = 0; e3 < f; e3++) C[2 * e3 + 1] = 5, C[2 * e3] = j(e3, 5); - O = new D(z, w, u + 1, l, g), B = new D(C, k, 0, f, g), R = new D(new Array(0), x, 0, c, p); - })(), q = true), e2.l_desc = new F(e2.dyn_ltree, O), e2.d_desc = new F(e2.dyn_dtree, B), e2.bl_desc = new F(e2.bl_tree, R), e2.bi_buf = 0, e2.bi_valid = 0, W(e2); - }, r._tr_stored_block = J, r._tr_flush_block = function(e2, t2, r2, n2) { - var i2, s2, a2 = 0; - 0 < e2.level ? (2 === e2.strm.data_type && (e2.strm.data_type = (function(e3) { - var t3, r3 = 4093624447; - for (t3 = 0; t3 <= 31; t3++, r3 >>>= 1) if (1 & r3 && 0 !== e3.dyn_ltree[2 * t3]) return o; - if (0 !== e3.dyn_ltree[18] || 0 !== e3.dyn_ltree[20] || 0 !== e3.dyn_ltree[26]) return h; - for (t3 = 32; t3 < u; t3++) if (0 !== e3.dyn_ltree[2 * t3]) return h; - return o; - })(e2)), Y(e2, e2.l_desc), Y(e2, e2.d_desc), a2 = (function(e3) { - var t3; - for (X(e3, e3.dyn_ltree, e3.l_desc.max_code), X(e3, e3.dyn_dtree, e3.d_desc.max_code), Y(e3, e3.bl_desc), t3 = c - 1; 3 <= t3 && 0 === e3.bl_tree[2 * S[t3] + 1]; t3--) ; - return e3.opt_len += 3 * (t3 + 1) + 5 + 5 + 4, t3; - })(e2), i2 = e2.opt_len + 3 + 7 >>> 3, (s2 = e2.static_len + 3 + 7 >>> 3) <= i2 && (i2 = s2)) : i2 = s2 = r2 + 5, r2 + 4 <= i2 && -1 !== t2 ? J(e2, t2, r2, n2) : 4 === e2.strategy || s2 === i2 ? (P(e2, 2 + (n2 ? 1 : 0), 3), K(e2, z, C)) : (P(e2, 4 + (n2 ? 1 : 0), 3), (function(e3, t3, r3, n3) { - var i3; - for (P(e3, t3 - 257, 5), P(e3, r3 - 1, 5), P(e3, n3 - 4, 4), i3 = 0; i3 < n3; i3++) P(e3, e3.bl_tree[2 * S[i3] + 1], 3); - V(e3, e3.dyn_ltree, t3 - 1), V(e3, e3.dyn_dtree, r3 - 1); - })(e2, e2.l_desc.max_code + 1, e2.d_desc.max_code + 1, a2 + 1), K(e2, e2.dyn_ltree, e2.dyn_dtree)), W(e2), n2 && M(e2); - }, r._tr_tally = function(e2, t2, r2) { - return e2.pending_buf[e2.d_buf + 2 * e2.last_lit] = t2 >>> 8 & 255, e2.pending_buf[e2.d_buf + 2 * e2.last_lit + 1] = 255 & t2, e2.pending_buf[e2.l_buf + e2.last_lit] = 255 & r2, e2.last_lit++, 0 === t2 ? e2.dyn_ltree[2 * r2]++ : (e2.matches++, t2--, e2.dyn_ltree[2 * (A[r2] + u + 1)]++, e2.dyn_dtree[2 * N(t2)]++), e2.last_lit === e2.lit_bufsize - 1; - }, r._tr_align = function(e2) { - P(e2, 2, 3), L(e2, m, z), (function(e3) { - 16 === e3.bi_valid ? (U(e3, e3.bi_buf), e3.bi_buf = 0, e3.bi_valid = 0) : 8 <= e3.bi_valid && (e3.pending_buf[e3.pending++] = 255 & e3.bi_buf, e3.bi_buf >>= 8, e3.bi_valid -= 8); - })(e2); - }; - }, { "../utils/common": 41 }], 53: [function(e, t, r) { - "use strict"; - t.exports = function() { - this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0; - }; - }, {}], 54: [function(e, t, r) { - (function(e2) { - !(function(r2, n) { - "use strict"; - if (!r2.setImmediate) { - var i, s, t2, a, o = 1, h = {}, u = false, l = r2.document, e3 = Object.getPrototypeOf && Object.getPrototypeOf(r2); - e3 = e3 && e3.setTimeout ? e3 : r2, i = "[object process]" === {}.toString.call(r2.process) ? function(e4) { - process.nextTick(function() { - c(e4); - }); - } : (function() { - if (r2.postMessage && !r2.importScripts) { - var e4 = true, t3 = r2.onmessage; - return r2.onmessage = function() { - e4 = false; - }, r2.postMessage("", "*"), r2.onmessage = t3, e4; - } - })() ? (a = "setImmediate$" + Math.random() + "$", r2.addEventListener ? r2.addEventListener("message", d, false) : r2.attachEvent("onmessage", d), function(e4) { - r2.postMessage(a + e4, "*"); - }) : r2.MessageChannel ? ((t2 = new MessageChannel()).port1.onmessage = function(e4) { - c(e4.data); - }, function(e4) { - t2.port2.postMessage(e4); - }) : l && "onreadystatechange" in l.createElement("script") ? (s = l.documentElement, function(e4) { - var t3 = l.createElement("script"); - t3.onreadystatechange = function() { - c(e4), t3.onreadystatechange = null, s.removeChild(t3), t3 = null; - }, s.appendChild(t3); - }) : function(e4) { - setTimeout(c, 0, e4); - }, e3.setImmediate = function(e4) { - "function" != typeof e4 && (e4 = new Function("" + e4)); - for (var t3 = new Array(arguments.length - 1), r3 = 0; r3 < t3.length; r3++) t3[r3] = arguments[r3 + 1]; - var n2 = { callback: e4, args: t3 }; - return h[o] = n2, i(o), o++; - }, e3.clearImmediate = f; - } - function f(e4) { - delete h[e4]; - } - function c(e4) { - if (u) setTimeout(c, 0, e4); - else { - var t3 = h[e4]; - if (t3) { - u = true; - try { - !(function(e5) { - var t4 = e5.callback, r3 = e5.args; - switch (r3.length) { - case 0: - t4(); - break; - case 1: - t4(r3[0]); - break; - case 2: - t4(r3[0], r3[1]); - break; - case 3: - t4(r3[0], r3[1], r3[2]); - break; - default: - t4.apply(n, r3); - } - })(t3); - } finally { - f(e4), u = false; - } - } - } - } - function d(e4) { - e4.source === r2 && "string" == typeof e4.data && 0 === e4.data.indexOf(a) && c(+e4.data.slice(a.length)); - } - })("undefined" == typeof self ? void 0 === e2 ? this : e2 : self); - }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}); - }, {}] }, {}, [10])(10); - }); - } -}); - -// node_modules/.pnpm/jszip@3.10.1/node_modules/jszip/dist/jszip.min.js -var require_jszip_min2 = __commonJS({ - "node_modules/.pnpm/jszip@3.10.1/node_modules/jszip/dist/jszip.min.js"(exports, module) { - !(function(e) { - if ("object" == typeof exports && "undefined" != typeof module) module.exports = e(); - else if ("function" == typeof define && define.amd) define([], e); - else { - ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).JSZip = e(); - } - })(function() { - return (function s(a, o, h) { - function u(r, e2) { - if (!o[r]) { - if (!a[r]) { - var t = "function" == typeof __require && __require; - if (!e2 && t) return t(r, true); - if (l) return l(r, true); - var n = new Error("Cannot find module '" + r + "'"); - throw n.code = "MODULE_NOT_FOUND", n; - } - var i = o[r] = { exports: {} }; - a[r][0].call(i.exports, function(e3) { - var t2 = a[r][1][e3]; - return u(t2 || e3); - }, i, i.exports, s, a, o, h); - } - return o[r].exports; - } - for (var l = "function" == typeof __require && __require, e = 0; e < h.length; e++) u(h[e]); - return u; - })({ 1: [function(e, t, r) { - "use strict"; - var d = e("./utils"), c = e("./support"), p = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; - r.encode = function(e2) { - for (var t2, r2, n, i, s, a, o, h = [], u = 0, l = e2.length, f = l, c2 = "string" !== d.getTypeOf(e2); u < e2.length; ) f = l - u, n = c2 ? (t2 = e2[u++], r2 = u < l ? e2[u++] : 0, u < l ? e2[u++] : 0) : (t2 = e2.charCodeAt(u++), r2 = u < l ? e2.charCodeAt(u++) : 0, u < l ? e2.charCodeAt(u++) : 0), i = t2 >> 2, s = (3 & t2) << 4 | r2 >> 4, a = 1 < f ? (15 & r2) << 2 | n >> 6 : 64, o = 2 < f ? 63 & n : 64, h.push(p.charAt(i) + p.charAt(s) + p.charAt(a) + p.charAt(o)); - return h.join(""); - }, r.decode = function(e2) { - var t2, r2, n, i, s, a, o = 0, h = 0, u = "data:"; - if (e2.substr(0, u.length) === u) throw new Error("Invalid base64 input, it looks like a data url."); - var l, f = 3 * (e2 = e2.replace(/[^A-Za-z0-9+/=]/g, "")).length / 4; - if (e2.charAt(e2.length - 1) === p.charAt(64) && f--, e2.charAt(e2.length - 2) === p.charAt(64) && f--, f % 1 != 0) throw new Error("Invalid base64 input, bad content length."); - for (l = c.uint8array ? new Uint8Array(0 | f) : new Array(0 | f); o < e2.length; ) t2 = p.indexOf(e2.charAt(o++)) << 2 | (i = p.indexOf(e2.charAt(o++))) >> 4, r2 = (15 & i) << 4 | (s = p.indexOf(e2.charAt(o++))) >> 2, n = (3 & s) << 6 | (a = p.indexOf(e2.charAt(o++))), l[h++] = t2, 64 !== s && (l[h++] = r2), 64 !== a && (l[h++] = n); - return l; - }; - }, { "./support": 30, "./utils": 32 }], 2: [function(e, t, r) { - "use strict"; - var n = e("./external"), i = e("./stream/DataWorker"), s = e("./stream/Crc32Probe"), a = e("./stream/DataLengthProbe"); - function o(e2, t2, r2, n2, i2) { - this.compressedSize = e2, this.uncompressedSize = t2, this.crc32 = r2, this.compression = n2, this.compressedContent = i2; - } - o.prototype = { getContentWorker: function() { - var e2 = new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")), t2 = this; - return e2.on("end", function() { - if (this.streamInfo.data_length !== t2.uncompressedSize) throw new Error("Bug : uncompressed data size mismatch"); - }), e2; - }, getCompressedWorker: function() { - return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize", this.compressedSize).withStreamInfo("uncompressedSize", this.uncompressedSize).withStreamInfo("crc32", this.crc32).withStreamInfo("compression", this.compression); - } }, o.createWorkerFrom = function(e2, t2, r2) { - return e2.pipe(new s()).pipe(new a("uncompressedSize")).pipe(t2.compressWorker(r2)).pipe(new a("compressedSize")).withStreamInfo("compression", t2); - }, t.exports = o; - }, { "./external": 6, "./stream/Crc32Probe": 25, "./stream/DataLengthProbe": 26, "./stream/DataWorker": 27 }], 3: [function(e, t, r) { - "use strict"; - var n = e("./stream/GenericWorker"); - r.STORE = { magic: "\0\0", compressWorker: function() { - return new n("STORE compression"); - }, uncompressWorker: function() { - return new n("STORE decompression"); - } }, r.DEFLATE = e("./flate"); - }, { "./flate": 7, "./stream/GenericWorker": 28 }], 4: [function(e, t, r) { - "use strict"; - var n = e("./utils"); - var o = (function() { - for (var e2, t2 = [], r2 = 0; r2 < 256; r2++) { - e2 = r2; - for (var n2 = 0; n2 < 8; n2++) e2 = 1 & e2 ? 3988292384 ^ e2 >>> 1 : e2 >>> 1; - t2[r2] = e2; - } - return t2; - })(); - t.exports = function(e2, t2) { - return void 0 !== e2 && e2.length ? "string" !== n.getTypeOf(e2) ? (function(e3, t3, r2, n2) { - var i = o, s = n2 + r2; - e3 ^= -1; - for (var a = n2; a < s; a++) e3 = e3 >>> 8 ^ i[255 & (e3 ^ t3[a])]; - return -1 ^ e3; - })(0 | t2, e2, e2.length, 0) : (function(e3, t3, r2, n2) { - var i = o, s = n2 + r2; - e3 ^= -1; - for (var a = n2; a < s; a++) e3 = e3 >>> 8 ^ i[255 & (e3 ^ t3.charCodeAt(a))]; - return -1 ^ e3; - })(0 | t2, e2, e2.length, 0) : 0; - }; - }, { "./utils": 32 }], 5: [function(e, t, r) { - "use strict"; - r.base64 = false, r.binary = false, r.dir = false, r.createFolders = true, r.date = null, r.compression = null, r.compressionOptions = null, r.comment = null, r.unixPermissions = null, r.dosPermissions = null; - }, {}], 6: [function(e, t, r) { - "use strict"; - var n = null; - n = "undefined" != typeof Promise ? Promise : e("lie"), t.exports = { Promise: n }; - }, { lie: 37 }], 7: [function(e, t, r) { - "use strict"; - var n = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Uint32Array, i = e("pako"), s = e("./utils"), a = e("./stream/GenericWorker"), o = n ? "uint8array" : "array"; - function h(e2, t2) { - a.call(this, "FlateWorker/" + e2), this._pako = null, this._pakoAction = e2, this._pakoOptions = t2, this.meta = {}; - } - r.magic = "\b\0", s.inherits(h, a), h.prototype.processChunk = function(e2) { - this.meta = e2.meta, null === this._pako && this._createPako(), this._pako.push(s.transformTo(o, e2.data), false); - }, h.prototype.flush = function() { - a.prototype.flush.call(this), null === this._pako && this._createPako(), this._pako.push([], true); - }, h.prototype.cleanUp = function() { - a.prototype.cleanUp.call(this), this._pako = null; - }, h.prototype._createPako = function() { - this._pako = new i[this._pakoAction]({ raw: true, level: this._pakoOptions.level || -1 }); - var t2 = this; - this._pako.onData = function(e2) { - t2.push({ data: e2, meta: t2.meta }); - }; - }, r.compressWorker = function(e2) { - return new h("Deflate", e2); - }, r.uncompressWorker = function() { - return new h("Inflate", {}); - }; - }, { "./stream/GenericWorker": 28, "./utils": 32, pako: 38 }], 8: [function(e, t, r) { - "use strict"; - function A(e2, t2) { - var r2, n2 = ""; - for (r2 = 0; r2 < t2; r2++) n2 += String.fromCharCode(255 & e2), e2 >>>= 8; - return n2; - } - function n(e2, t2, r2, n2, i2, s2) { - var a, o, h = e2.file, u = e2.compression, l = s2 !== O.utf8encode, f = I.transformTo("string", s2(h.name)), c = I.transformTo("string", O.utf8encode(h.name)), d = h.comment, p = I.transformTo("string", s2(d)), m = I.transformTo("string", O.utf8encode(d)), _ = c.length !== h.name.length, g = m.length !== d.length, b = "", v = "", y = "", w = h.dir, k = h.date, x = { crc32: 0, compressedSize: 0, uncompressedSize: 0 }; - t2 && !r2 || (x.crc32 = e2.crc32, x.compressedSize = e2.compressedSize, x.uncompressedSize = e2.uncompressedSize); - var S = 0; - t2 && (S |= 8), l || !_ && !g || (S |= 2048); - var z = 0, C = 0; - w && (z |= 16), "UNIX" === i2 ? (C = 798, z |= (function(e3, t3) { - var r3 = e3; - return e3 || (r3 = t3 ? 16893 : 33204), (65535 & r3) << 16; - })(h.unixPermissions, w)) : (C = 20, z |= (function(e3) { - return 63 & (e3 || 0); - })(h.dosPermissions)), a = k.getUTCHours(), a <<= 6, a |= k.getUTCMinutes(), a <<= 5, a |= k.getUTCSeconds() / 2, o = k.getUTCFullYear() - 1980, o <<= 4, o |= k.getUTCMonth() + 1, o <<= 5, o |= k.getUTCDate(), _ && (v = A(1, 1) + A(B(f), 4) + c, b += "up" + A(v.length, 2) + v), g && (y = A(1, 1) + A(B(p), 4) + m, b += "uc" + A(y.length, 2) + y); - var E = ""; - return E += "\n\0", E += A(S, 2), E += u.magic, E += A(a, 2), E += A(o, 2), E += A(x.crc32, 4), E += A(x.compressedSize, 4), E += A(x.uncompressedSize, 4), E += A(f.length, 2), E += A(b.length, 2), { fileRecord: R.LOCAL_FILE_HEADER + E + f + b, dirRecord: R.CENTRAL_FILE_HEADER + A(C, 2) + E + A(p.length, 2) + "\0\0\0\0" + A(z, 4) + A(n2, 4) + f + b + p }; - } - var I = e("../utils"), i = e("../stream/GenericWorker"), O = e("../utf8"), B = e("../crc32"), R = e("../signature"); - function s(e2, t2, r2, n2) { - i.call(this, "ZipFileWorker"), this.bytesWritten = 0, this.zipComment = t2, this.zipPlatform = r2, this.encodeFileName = n2, this.streamFiles = e2, this.accumulate = false, this.contentBuffer = [], this.dirRecords = [], this.currentSourceOffset = 0, this.entriesCount = 0, this.currentFile = null, this._sources = []; - } - I.inherits(s, i), s.prototype.push = function(e2) { - var t2 = e2.meta.percent || 0, r2 = this.entriesCount, n2 = this._sources.length; - this.accumulate ? this.contentBuffer.push(e2) : (this.bytesWritten += e2.data.length, i.prototype.push.call(this, { data: e2.data, meta: { currentFile: this.currentFile, percent: r2 ? (t2 + 100 * (r2 - n2 - 1)) / r2 : 100 } })); - }, s.prototype.openedSource = function(e2) { - this.currentSourceOffset = this.bytesWritten, this.currentFile = e2.file.name; - var t2 = this.streamFiles && !e2.file.dir; - if (t2) { - var r2 = n(e2, t2, false, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); - this.push({ data: r2.fileRecord, meta: { percent: 0 } }); - } else this.accumulate = true; - }, s.prototype.closedSource = function(e2) { - this.accumulate = false; - var t2 = this.streamFiles && !e2.file.dir, r2 = n(e2, t2, true, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); - if (this.dirRecords.push(r2.dirRecord), t2) this.push({ data: (function(e3) { - return R.DATA_DESCRIPTOR + A(e3.crc32, 4) + A(e3.compressedSize, 4) + A(e3.uncompressedSize, 4); - })(e2), meta: { percent: 100 } }); - else for (this.push({ data: r2.fileRecord, meta: { percent: 0 } }); this.contentBuffer.length; ) this.push(this.contentBuffer.shift()); - this.currentFile = null; - }, s.prototype.flush = function() { - for (var e2 = this.bytesWritten, t2 = 0; t2 < this.dirRecords.length; t2++) this.push({ data: this.dirRecords[t2], meta: { percent: 100 } }); - var r2 = this.bytesWritten - e2, n2 = (function(e3, t3, r3, n3, i2) { - var s2 = I.transformTo("string", i2(n3)); - return R.CENTRAL_DIRECTORY_END + "\0\0\0\0" + A(e3, 2) + A(e3, 2) + A(t3, 4) + A(r3, 4) + A(s2.length, 2) + s2; - })(this.dirRecords.length, r2, e2, this.zipComment, this.encodeFileName); - this.push({ data: n2, meta: { percent: 100 } }); - }, s.prototype.prepareNextSource = function() { - this.previous = this._sources.shift(), this.openedSource(this.previous.streamInfo), this.isPaused ? this.previous.pause() : this.previous.resume(); - }, s.prototype.registerPrevious = function(e2) { - this._sources.push(e2); - var t2 = this; - return e2.on("data", function(e3) { - t2.processChunk(e3); - }), e2.on("end", function() { - t2.closedSource(t2.previous.streamInfo), t2._sources.length ? t2.prepareNextSource() : t2.end(); - }), e2.on("error", function(e3) { - t2.error(e3); - }), this; - }, s.prototype.resume = function() { - return !!i.prototype.resume.call(this) && (!this.previous && this._sources.length ? (this.prepareNextSource(), true) : this.previous || this._sources.length || this.generatedError ? void 0 : (this.end(), true)); - }, s.prototype.error = function(e2) { - var t2 = this._sources; - if (!i.prototype.error.call(this, e2)) return false; - for (var r2 = 0; r2 < t2.length; r2++) try { - t2[r2].error(e2); - } catch (e3) { - } - return true; - }, s.prototype.lock = function() { - i.prototype.lock.call(this); - for (var e2 = this._sources, t2 = 0; t2 < e2.length; t2++) e2[t2].lock(); - }, t.exports = s; - }, { "../crc32": 4, "../signature": 23, "../stream/GenericWorker": 28, "../utf8": 31, "../utils": 32 }], 9: [function(e, t, r) { - "use strict"; - var u = e("../compressions"), n = e("./ZipFileWorker"); - r.generateWorker = function(e2, a, t2) { - var o = new n(a.streamFiles, t2, a.platform, a.encodeFileName), h = 0; - try { - e2.forEach(function(e3, t3) { - h++; - var r2 = (function(e4, t4) { - var r3 = e4 || t4, n3 = u[r3]; - if (!n3) throw new Error(r3 + " is not a valid compression method !"); - return n3; - })(t3.options.compression, a.compression), n2 = t3.options.compressionOptions || a.compressionOptions || {}, i = t3.dir, s = t3.date; - t3._compressWorker(r2, n2).withStreamInfo("file", { name: e3, dir: i, date: s, comment: t3.comment || "", unixPermissions: t3.unixPermissions, dosPermissions: t3.dosPermissions }).pipe(o); - }), o.entriesCount = h; - } catch (e3) { - o.error(e3); - } - return o; - }; - }, { "../compressions": 3, "./ZipFileWorker": 8 }], 10: [function(e, t, r) { - "use strict"; - function n() { - if (!(this instanceof n)) return new n(); - if (arguments.length) throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide."); - this.files = /* @__PURE__ */ Object.create(null), this.comment = null, this.root = "", this.clone = function() { - var e2 = new n(); - for (var t2 in this) "function" != typeof this[t2] && (e2[t2] = this[t2]); - return e2; - }; - } - (n.prototype = e("./object")).loadAsync = e("./load"), n.support = e("./support"), n.defaults = e("./defaults"), n.version = "3.10.1", n.loadAsync = function(e2, t2) { - return new n().loadAsync(e2, t2); - }, n.external = e("./external"), t.exports = n; - }, { "./defaults": 5, "./external": 6, "./load": 11, "./object": 15, "./support": 30 }], 11: [function(e, t, r) { - "use strict"; - var u = e("./utils"), i = e("./external"), n = e("./utf8"), s = e("./zipEntries"), a = e("./stream/Crc32Probe"), l = e("./nodejsUtils"); - function f(n2) { - return new i.Promise(function(e2, t2) { - var r2 = n2.decompressed.getContentWorker().pipe(new a()); - r2.on("error", function(e3) { - t2(e3); - }).on("end", function() { - r2.streamInfo.crc32 !== n2.decompressed.crc32 ? t2(new Error("Corrupted zip : CRC32 mismatch")) : e2(); - }).resume(); - }); - } - t.exports = function(e2, o) { - var h = this; - return o = u.extend(o || {}, { base64: false, checkCRC32: false, optimizedBinaryString: false, createFolders: false, decodeFileName: n.utf8decode }), l.isNode && l.isStream(e2) ? i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")) : u.prepareContent("the loaded zip file", e2, true, o.optimizedBinaryString, o.base64).then(function(e3) { - var t2 = new s(o); - return t2.load(e3), t2; - }).then(function(e3) { - var t2 = [i.Promise.resolve(e3)], r2 = e3.files; - if (o.checkCRC32) for (var n2 = 0; n2 < r2.length; n2++) t2.push(f(r2[n2])); - return i.Promise.all(t2); - }).then(function(e3) { - for (var t2 = e3.shift(), r2 = t2.files, n2 = 0; n2 < r2.length; n2++) { - var i2 = r2[n2], s2 = i2.fileNameStr, a2 = u.resolve(i2.fileNameStr); - h.file(a2, i2.decompressed, { binary: true, optimizedBinaryString: true, date: i2.date, dir: i2.dir, comment: i2.fileCommentStr.length ? i2.fileCommentStr : null, unixPermissions: i2.unixPermissions, dosPermissions: i2.dosPermissions, createFolders: o.createFolders }), i2.dir || (h.file(a2).unsafeOriginalName = s2); - } - return t2.zipComment.length && (h.comment = t2.zipComment), h; - }); - }; - }, { "./external": 6, "./nodejsUtils": 14, "./stream/Crc32Probe": 25, "./utf8": 31, "./utils": 32, "./zipEntries": 33 }], 12: [function(e, t, r) { - "use strict"; - var n = e("../utils"), i = e("../stream/GenericWorker"); - function s(e2, t2) { - i.call(this, "Nodejs stream input adapter for " + e2), this._upstreamEnded = false, this._bindStream(t2); - } - n.inherits(s, i), s.prototype._bindStream = function(e2) { - var t2 = this; - (this._stream = e2).pause(), e2.on("data", function(e3) { - t2.push({ data: e3, meta: { percent: 0 } }); - }).on("error", function(e3) { - t2.isPaused ? this.generatedError = e3 : t2.error(e3); - }).on("end", function() { - t2.isPaused ? t2._upstreamEnded = true : t2.end(); - }); - }, s.prototype.pause = function() { - return !!i.prototype.pause.call(this) && (this._stream.pause(), true); - }, s.prototype.resume = function() { - return !!i.prototype.resume.call(this) && (this._upstreamEnded ? this.end() : this._stream.resume(), true); - }, t.exports = s; - }, { "../stream/GenericWorker": 28, "../utils": 32 }], 13: [function(e, t, r) { - "use strict"; - var i = e("readable-stream").Readable; - function n(e2, t2, r2) { - i.call(this, t2), this._helper = e2; - var n2 = this; - e2.on("data", function(e3, t3) { - n2.push(e3) || n2._helper.pause(), r2 && r2(t3); - }).on("error", function(e3) { - n2.emit("error", e3); - }).on("end", function() { - n2.push(null); - }); - } - e("../utils").inherits(n, i), n.prototype._read = function() { - this._helper.resume(); - }, t.exports = n; - }, { "../utils": 32, "readable-stream": 16 }], 14: [function(e, t, r) { - "use strict"; - t.exports = { isNode: "undefined" != typeof Buffer, newBufferFrom: function(e2, t2) { - if (Buffer.from && Buffer.from !== Uint8Array.from) return Buffer.from(e2, t2); - if ("number" == typeof e2) throw new Error('The "data" argument must not be a number'); - return new Buffer(e2, t2); - }, allocBuffer: function(e2) { - if (Buffer.alloc) return Buffer.alloc(e2); - var t2 = new Buffer(e2); - return t2.fill(0), t2; - }, isBuffer: function(e2) { - return Buffer.isBuffer(e2); - }, isStream: function(e2) { - return e2 && "function" == typeof e2.on && "function" == typeof e2.pause && "function" == typeof e2.resume; - } }; - }, {}], 15: [function(e, t, r) { - "use strict"; - function s(e2, t2, r2) { - var n2, i2 = u.getTypeOf(t2), s2 = u.extend(r2 || {}, f); - s2.date = s2.date || /* @__PURE__ */ new Date(), null !== s2.compression && (s2.compression = s2.compression.toUpperCase()), "string" == typeof s2.unixPermissions && (s2.unixPermissions = parseInt(s2.unixPermissions, 8)), s2.unixPermissions && 16384 & s2.unixPermissions && (s2.dir = true), s2.dosPermissions && 16 & s2.dosPermissions && (s2.dir = true), s2.dir && (e2 = g(e2)), s2.createFolders && (n2 = _(e2)) && b.call(this, n2, true); - var a2 = "string" === i2 && false === s2.binary && false === s2.base64; - r2 && void 0 !== r2.binary || (s2.binary = !a2), (t2 instanceof c && 0 === t2.uncompressedSize || s2.dir || !t2 || 0 === t2.length) && (s2.base64 = false, s2.binary = true, t2 = "", s2.compression = "STORE", i2 = "string"); - var o2 = null; - o2 = t2 instanceof c || t2 instanceof l ? t2 : p.isNode && p.isStream(t2) ? new m(e2, t2) : u.prepareContent(e2, t2, s2.binary, s2.optimizedBinaryString, s2.base64); - var h2 = new d(e2, o2, s2); - this.files[e2] = h2; - } - var i = e("./utf8"), u = e("./utils"), l = e("./stream/GenericWorker"), a = e("./stream/StreamHelper"), f = e("./defaults"), c = e("./compressedObject"), d = e("./zipObject"), o = e("./generate"), p = e("./nodejsUtils"), m = e("./nodejs/NodejsStreamInputAdapter"), _ = function(e2) { - "/" === e2.slice(-1) && (e2 = e2.substring(0, e2.length - 1)); - var t2 = e2.lastIndexOf("/"); - return 0 < t2 ? e2.substring(0, t2) : ""; - }, g = function(e2) { - return "/" !== e2.slice(-1) && (e2 += "/"), e2; - }, b = function(e2, t2) { - return t2 = void 0 !== t2 ? t2 : f.createFolders, e2 = g(e2), this.files[e2] || s.call(this, e2, null, { dir: true, createFolders: t2 }), this.files[e2]; - }; - function h(e2) { - return "[object RegExp]" === Object.prototype.toString.call(e2); - } - var n = { load: function() { - throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); - }, forEach: function(e2) { - var t2, r2, n2; - for (t2 in this.files) n2 = this.files[t2], (r2 = t2.slice(this.root.length, t2.length)) && t2.slice(0, this.root.length) === this.root && e2(r2, n2); - }, filter: function(r2) { - var n2 = []; - return this.forEach(function(e2, t2) { - r2(e2, t2) && n2.push(t2); - }), n2; - }, file: function(e2, t2, r2) { - if (1 !== arguments.length) return e2 = this.root + e2, s.call(this, e2, t2, r2), this; - if (h(e2)) { - var n2 = e2; - return this.filter(function(e3, t3) { - return !t3.dir && n2.test(e3); - }); - } - var i2 = this.files[this.root + e2]; - return i2 && !i2.dir ? i2 : null; - }, folder: function(r2) { - if (!r2) return this; - if (h(r2)) return this.filter(function(e3, t3) { - return t3.dir && r2.test(e3); - }); - var e2 = this.root + r2, t2 = b.call(this, e2), n2 = this.clone(); - return n2.root = t2.name, n2; - }, remove: function(r2) { - r2 = this.root + r2; - var e2 = this.files[r2]; - if (e2 || ("/" !== r2.slice(-1) && (r2 += "/"), e2 = this.files[r2]), e2 && !e2.dir) delete this.files[r2]; - else for (var t2 = this.filter(function(e3, t3) { - return t3.name.slice(0, r2.length) === r2; - }), n2 = 0; n2 < t2.length; n2++) delete this.files[t2[n2].name]; - return this; - }, generate: function() { - throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); - }, generateInternalStream: function(e2) { - var t2, r2 = {}; - try { - if ((r2 = u.extend(e2 || {}, { streamFiles: false, compression: "STORE", compressionOptions: null, type: "", platform: "DOS", comment: null, mimeType: "application/zip", encodeFileName: i.utf8encode })).type = r2.type.toLowerCase(), r2.compression = r2.compression.toUpperCase(), "binarystring" === r2.type && (r2.type = "string"), !r2.type) throw new Error("No output type specified."); - u.checkSupport(r2.type), "darwin" !== r2.platform && "freebsd" !== r2.platform && "linux" !== r2.platform && "sunos" !== r2.platform || (r2.platform = "UNIX"), "win32" === r2.platform && (r2.platform = "DOS"); - var n2 = r2.comment || this.comment || ""; - t2 = o.generateWorker(this, r2, n2); - } catch (e3) { - (t2 = new l("error")).error(e3); - } - return new a(t2, r2.type || "string", r2.mimeType); - }, generateAsync: function(e2, t2) { - return this.generateInternalStream(e2).accumulate(t2); - }, generateNodeStream: function(e2, t2) { - return (e2 = e2 || {}).type || (e2.type = "nodebuffer"), this.generateInternalStream(e2).toNodejsStream(t2); - } }; - t.exports = n; - }, { "./compressedObject": 2, "./defaults": 5, "./generate": 9, "./nodejs/NodejsStreamInputAdapter": 12, "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31, "./utils": 32, "./zipObject": 35 }], 16: [function(e, t, r) { - "use strict"; - t.exports = e("stream"); - }, { stream: void 0 }], 17: [function(e, t, r) { - "use strict"; - var n = e("./DataReader"); - function i(e2) { - n.call(this, e2); - for (var t2 = 0; t2 < this.data.length; t2++) e2[t2] = 255 & e2[t2]; - } - e("../utils").inherits(i, n), i.prototype.byteAt = function(e2) { - return this.data[this.zero + e2]; - }, i.prototype.lastIndexOfSignature = function(e2) { - for (var t2 = e2.charCodeAt(0), r2 = e2.charCodeAt(1), n2 = e2.charCodeAt(2), i2 = e2.charCodeAt(3), s = this.length - 4; 0 <= s; --s) if (this.data[s] === t2 && this.data[s + 1] === r2 && this.data[s + 2] === n2 && this.data[s + 3] === i2) return s - this.zero; - return -1; - }, i.prototype.readAndCheckSignature = function(e2) { - var t2 = e2.charCodeAt(0), r2 = e2.charCodeAt(1), n2 = e2.charCodeAt(2), i2 = e2.charCodeAt(3), s = this.readData(4); - return t2 === s[0] && r2 === s[1] && n2 === s[2] && i2 === s[3]; - }, i.prototype.readData = function(e2) { - if (this.checkOffset(e2), 0 === e2) return []; - var t2 = this.data.slice(this.zero + this.index, this.zero + this.index + e2); - return this.index += e2, t2; - }, t.exports = i; - }, { "../utils": 32, "./DataReader": 18 }], 18: [function(e, t, r) { - "use strict"; - var n = e("../utils"); - function i(e2) { - this.data = e2, this.length = e2.length, this.index = 0, this.zero = 0; - } - i.prototype = { checkOffset: function(e2) { - this.checkIndex(this.index + e2); - }, checkIndex: function(e2) { - if (this.length < this.zero + e2 || e2 < 0) throw new Error("End of data reached (data length = " + this.length + ", asked index = " + e2 + "). Corrupted zip ?"); - }, setIndex: function(e2) { - this.checkIndex(e2), this.index = e2; - }, skip: function(e2) { - this.setIndex(this.index + e2); - }, byteAt: function() { - }, readInt: function(e2) { - var t2, r2 = 0; - for (this.checkOffset(e2), t2 = this.index + e2 - 1; t2 >= this.index; t2--) r2 = (r2 << 8) + this.byteAt(t2); - return this.index += e2, r2; - }, readString: function(e2) { - return n.transformTo("string", this.readData(e2)); - }, readData: function() { - }, lastIndexOfSignature: function() { - }, readAndCheckSignature: function() { - }, readDate: function() { - var e2 = this.readInt(4); - return new Date(Date.UTC(1980 + (e2 >> 25 & 127), (e2 >> 21 & 15) - 1, e2 >> 16 & 31, e2 >> 11 & 31, e2 >> 5 & 63, (31 & e2) << 1)); - } }, t.exports = i; - }, { "../utils": 32 }], 19: [function(e, t, r) { - "use strict"; - var n = e("./Uint8ArrayReader"); - function i(e2) { - n.call(this, e2); - } - e("../utils").inherits(i, n), i.prototype.readData = function(e2) { - this.checkOffset(e2); - var t2 = this.data.slice(this.zero + this.index, this.zero + this.index + e2); - return this.index += e2, t2; - }, t.exports = i; - }, { "../utils": 32, "./Uint8ArrayReader": 21 }], 20: [function(e, t, r) { - "use strict"; - var n = e("./DataReader"); - function i(e2) { - n.call(this, e2); - } - e("../utils").inherits(i, n), i.prototype.byteAt = function(e2) { - return this.data.charCodeAt(this.zero + e2); - }, i.prototype.lastIndexOfSignature = function(e2) { - return this.data.lastIndexOf(e2) - this.zero; - }, i.prototype.readAndCheckSignature = function(e2) { - return e2 === this.readData(4); - }, i.prototype.readData = function(e2) { - this.checkOffset(e2); - var t2 = this.data.slice(this.zero + this.index, this.zero + this.index + e2); - return this.index += e2, t2; - }, t.exports = i; - }, { "../utils": 32, "./DataReader": 18 }], 21: [function(e, t, r) { - "use strict"; - var n = e("./ArrayReader"); - function i(e2) { - n.call(this, e2); - } - e("../utils").inherits(i, n), i.prototype.readData = function(e2) { - if (this.checkOffset(e2), 0 === e2) return new Uint8Array(0); - var t2 = this.data.subarray(this.zero + this.index, this.zero + this.index + e2); - return this.index += e2, t2; - }, t.exports = i; - }, { "../utils": 32, "./ArrayReader": 17 }], 22: [function(e, t, r) { - "use strict"; - var n = e("../utils"), i = e("../support"), s = e("./ArrayReader"), a = e("./StringReader"), o = e("./NodeBufferReader"), h = e("./Uint8ArrayReader"); - t.exports = function(e2) { - var t2 = n.getTypeOf(e2); - return n.checkSupport(t2), "string" !== t2 || i.uint8array ? "nodebuffer" === t2 ? new o(e2) : i.uint8array ? new h(n.transformTo("uint8array", e2)) : new s(n.transformTo("array", e2)) : new a(e2); - }; - }, { "../support": 30, "../utils": 32, "./ArrayReader": 17, "./NodeBufferReader": 19, "./StringReader": 20, "./Uint8ArrayReader": 21 }], 23: [function(e, t, r) { - "use strict"; - r.LOCAL_FILE_HEADER = "PK", r.CENTRAL_FILE_HEADER = "PK", r.CENTRAL_DIRECTORY_END = "PK", r.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK\x07", r.ZIP64_CENTRAL_DIRECTORY_END = "PK", r.DATA_DESCRIPTOR = "PK\x07\b"; - }, {}], 24: [function(e, t, r) { - "use strict"; - var n = e("./GenericWorker"), i = e("../utils"); - function s(e2) { - n.call(this, "ConvertWorker to " + e2), this.destType = e2; - } - i.inherits(s, n), s.prototype.processChunk = function(e2) { - this.push({ data: i.transformTo(this.destType, e2.data), meta: e2.meta }); - }, t.exports = s; - }, { "../utils": 32, "./GenericWorker": 28 }], 25: [function(e, t, r) { - "use strict"; - var n = e("./GenericWorker"), i = e("../crc32"); - function s() { - n.call(this, "Crc32Probe"), this.withStreamInfo("crc32", 0); - } - e("../utils").inherits(s, n), s.prototype.processChunk = function(e2) { - this.streamInfo.crc32 = i(e2.data, this.streamInfo.crc32 || 0), this.push(e2); - }, t.exports = s; - }, { "../crc32": 4, "../utils": 32, "./GenericWorker": 28 }], 26: [function(e, t, r) { - "use strict"; - var n = e("../utils"), i = e("./GenericWorker"); - function s(e2) { - i.call(this, "DataLengthProbe for " + e2), this.propName = e2, this.withStreamInfo(e2, 0); - } - n.inherits(s, i), s.prototype.processChunk = function(e2) { - if (e2) { - var t2 = this.streamInfo[this.propName] || 0; - this.streamInfo[this.propName] = t2 + e2.data.length; - } - i.prototype.processChunk.call(this, e2); - }, t.exports = s; - }, { "../utils": 32, "./GenericWorker": 28 }], 27: [function(e, t, r) { - "use strict"; - var n = e("../utils"), i = e("./GenericWorker"); - function s(e2) { - i.call(this, "DataWorker"); - var t2 = this; - this.dataIsReady = false, this.index = 0, this.max = 0, this.data = null, this.type = "", this._tickScheduled = false, e2.then(function(e3) { - t2.dataIsReady = true, t2.data = e3, t2.max = e3 && e3.length || 0, t2.type = n.getTypeOf(e3), t2.isPaused || t2._tickAndRepeat(); - }, function(e3) { - t2.error(e3); - }); - } - n.inherits(s, i), s.prototype.cleanUp = function() { - i.prototype.cleanUp.call(this), this.data = null; - }, s.prototype.resume = function() { - return !!i.prototype.resume.call(this) && (!this._tickScheduled && this.dataIsReady && (this._tickScheduled = true, n.delay(this._tickAndRepeat, [], this)), true); - }, s.prototype._tickAndRepeat = function() { - this._tickScheduled = false, this.isPaused || this.isFinished || (this._tick(), this.isFinished || (n.delay(this._tickAndRepeat, [], this), this._tickScheduled = true)); - }, s.prototype._tick = function() { - if (this.isPaused || this.isFinished) return false; - var e2 = null, t2 = Math.min(this.max, this.index + 16384); - if (this.index >= this.max) return this.end(); - switch (this.type) { - case "string": - e2 = this.data.substring(this.index, t2); - break; - case "uint8array": - e2 = this.data.subarray(this.index, t2); - break; - case "array": - case "nodebuffer": - e2 = this.data.slice(this.index, t2); - } - return this.index = t2, this.push({ data: e2, meta: { percent: this.max ? this.index / this.max * 100 : 0 } }); - }, t.exports = s; - }, { "../utils": 32, "./GenericWorker": 28 }], 28: [function(e, t, r) { - "use strict"; - function n(e2) { - this.name = e2 || "default", this.streamInfo = {}, this.generatedError = null, this.extraStreamInfo = {}, this.isPaused = true, this.isFinished = false, this.isLocked = false, this._listeners = { data: [], end: [], error: [] }, this.previous = null; - } - n.prototype = { push: function(e2) { - this.emit("data", e2); - }, end: function() { - if (this.isFinished) return false; - this.flush(); - try { - this.emit("end"), this.cleanUp(), this.isFinished = true; - } catch (e2) { - this.emit("error", e2); - } - return true; - }, error: function(e2) { - return !this.isFinished && (this.isPaused ? this.generatedError = e2 : (this.isFinished = true, this.emit("error", e2), this.previous && this.previous.error(e2), this.cleanUp()), true); - }, on: function(e2, t2) { - return this._listeners[e2].push(t2), this; - }, cleanUp: function() { - this.streamInfo = this.generatedError = this.extraStreamInfo = null, this._listeners = []; - }, emit: function(e2, t2) { - if (this._listeners[e2]) for (var r2 = 0; r2 < this._listeners[e2].length; r2++) this._listeners[e2][r2].call(this, t2); - }, pipe: function(e2) { - return e2.registerPrevious(this); - }, registerPrevious: function(e2) { - if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); - this.streamInfo = e2.streamInfo, this.mergeStreamInfo(), this.previous = e2; - var t2 = this; - return e2.on("data", function(e3) { - t2.processChunk(e3); - }), e2.on("end", function() { - t2.end(); - }), e2.on("error", function(e3) { - t2.error(e3); - }), this; - }, pause: function() { - return !this.isPaused && !this.isFinished && (this.isPaused = true, this.previous && this.previous.pause(), true); - }, resume: function() { - if (!this.isPaused || this.isFinished) return false; - var e2 = this.isPaused = false; - return this.generatedError && (this.error(this.generatedError), e2 = true), this.previous && this.previous.resume(), !e2; - }, flush: function() { - }, processChunk: function(e2) { - this.push(e2); - }, withStreamInfo: function(e2, t2) { - return this.extraStreamInfo[e2] = t2, this.mergeStreamInfo(), this; - }, mergeStreamInfo: function() { - for (var e2 in this.extraStreamInfo) Object.prototype.hasOwnProperty.call(this.extraStreamInfo, e2) && (this.streamInfo[e2] = this.extraStreamInfo[e2]); - }, lock: function() { - if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); - this.isLocked = true, this.previous && this.previous.lock(); - }, toString: function() { - var e2 = "Worker " + this.name; - return this.previous ? this.previous + " -> " + e2 : e2; - } }, t.exports = n; - }, {}], 29: [function(e, t, r) { - "use strict"; - var h = e("../utils"), i = e("./ConvertWorker"), s = e("./GenericWorker"), u = e("../base64"), n = e("../support"), a = e("../external"), o = null; - if (n.nodestream) try { - o = e("../nodejs/NodejsStreamOutputAdapter"); - } catch (e2) { - } - function l(e2, o2) { - return new a.Promise(function(t2, r2) { - var n2 = [], i2 = e2._internalType, s2 = e2._outputType, a2 = e2._mimeType; - e2.on("data", function(e3, t3) { - n2.push(e3), o2 && o2(t3); - }).on("error", function(e3) { - n2 = [], r2(e3); - }).on("end", function() { - try { - var e3 = (function(e4, t3, r3) { - switch (e4) { - case "blob": - return h.newBlob(h.transformTo("arraybuffer", t3), r3); - case "base64": - return u.encode(t3); - default: - return h.transformTo(e4, t3); - } - })(s2, (function(e4, t3) { - var r3, n3 = 0, i3 = null, s3 = 0; - for (r3 = 0; r3 < t3.length; r3++) s3 += t3[r3].length; - switch (e4) { - case "string": - return t3.join(""); - case "array": - return Array.prototype.concat.apply([], t3); - case "uint8array": - for (i3 = new Uint8Array(s3), r3 = 0; r3 < t3.length; r3++) i3.set(t3[r3], n3), n3 += t3[r3].length; - return i3; - case "nodebuffer": - return Buffer.concat(t3); - default: - throw new Error("concat : unsupported type '" + e4 + "'"); - } - })(i2, n2), a2); - t2(e3); - } catch (e4) { - r2(e4); - } - n2 = []; - }).resume(); - }); - } - function f(e2, t2, r2) { - var n2 = t2; - switch (t2) { - case "blob": - case "arraybuffer": - n2 = "uint8array"; - break; - case "base64": - n2 = "string"; - } - try { - this._internalType = n2, this._outputType = t2, this._mimeType = r2, h.checkSupport(n2), this._worker = e2.pipe(new i(n2)), e2.lock(); - } catch (e3) { - this._worker = new s("error"), this._worker.error(e3); - } - } - f.prototype = { accumulate: function(e2) { - return l(this, e2); - }, on: function(e2, t2) { - var r2 = this; - return "data" === e2 ? this._worker.on(e2, function(e3) { - t2.call(r2, e3.data, e3.meta); - }) : this._worker.on(e2, function() { - h.delay(t2, arguments, r2); - }), this; - }, resume: function() { - return h.delay(this._worker.resume, [], this._worker), this; - }, pause: function() { - return this._worker.pause(), this; - }, toNodejsStream: function(e2) { - if (h.checkSupport("nodestream"), "nodebuffer" !== this._outputType) throw new Error(this._outputType + " is not supported by this method"); - return new o(this, { objectMode: "nodebuffer" !== this._outputType }, e2); - } }, t.exports = f; - }, { "../base64": 1, "../external": 6, "../nodejs/NodejsStreamOutputAdapter": 13, "../support": 30, "../utils": 32, "./ConvertWorker": 24, "./GenericWorker": 28 }], 30: [function(e, t, r) { - "use strict"; - if (r.base64 = true, r.array = true, r.string = true, r.arraybuffer = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array, r.nodebuffer = "undefined" != typeof Buffer, r.uint8array = "undefined" != typeof Uint8Array, "undefined" == typeof ArrayBuffer) r.blob = false; - else { - var n = new ArrayBuffer(0); - try { - r.blob = 0 === new Blob([n], { type: "application/zip" }).size; - } catch (e2) { - try { - var i = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)(); - i.append(n), r.blob = 0 === i.getBlob("application/zip").size; - } catch (e3) { - r.blob = false; - } - } - } - try { - r.nodestream = !!e("readable-stream").Readable; - } catch (e2) { - r.nodestream = false; - } - }, { "readable-stream": 16 }], 31: [function(e, t, s) { - "use strict"; - for (var o = e("./utils"), h = e("./support"), r = e("./nodejsUtils"), n = e("./stream/GenericWorker"), u = new Array(256), i = 0; i < 256; i++) u[i] = 252 <= i ? 6 : 248 <= i ? 5 : 240 <= i ? 4 : 224 <= i ? 3 : 192 <= i ? 2 : 1; - u[254] = u[254] = 1; - function a() { - n.call(this, "utf-8 decode"), this.leftOver = null; - } - function l() { - n.call(this, "utf-8 encode"); - } - s.utf8encode = function(e2) { - return h.nodebuffer ? r.newBufferFrom(e2, "utf-8") : (function(e3) { - var t2, r2, n2, i2, s2, a2 = e3.length, o2 = 0; - for (i2 = 0; i2 < a2; i2++) 55296 == (64512 & (r2 = e3.charCodeAt(i2))) && i2 + 1 < a2 && 56320 == (64512 & (n2 = e3.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), o2 += r2 < 128 ? 1 : r2 < 2048 ? 2 : r2 < 65536 ? 3 : 4; - for (t2 = h.uint8array ? new Uint8Array(o2) : new Array(o2), i2 = s2 = 0; s2 < o2; i2++) 55296 == (64512 & (r2 = e3.charCodeAt(i2))) && i2 + 1 < a2 && 56320 == (64512 & (n2 = e3.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), r2 < 128 ? t2[s2++] = r2 : (r2 < 2048 ? t2[s2++] = 192 | r2 >>> 6 : (r2 < 65536 ? t2[s2++] = 224 | r2 >>> 12 : (t2[s2++] = 240 | r2 >>> 18, t2[s2++] = 128 | r2 >>> 12 & 63), t2[s2++] = 128 | r2 >>> 6 & 63), t2[s2++] = 128 | 63 & r2); - return t2; - })(e2); - }, s.utf8decode = function(e2) { - return h.nodebuffer ? o.transformTo("nodebuffer", e2).toString("utf-8") : (function(e3) { - var t2, r2, n2, i2, s2 = e3.length, a2 = new Array(2 * s2); - for (t2 = r2 = 0; t2 < s2; ) if ((n2 = e3[t2++]) < 128) a2[r2++] = n2; - else if (4 < (i2 = u[n2])) a2[r2++] = 65533, t2 += i2 - 1; - else { - for (n2 &= 2 === i2 ? 31 : 3 === i2 ? 15 : 7; 1 < i2 && t2 < s2; ) n2 = n2 << 6 | 63 & e3[t2++], i2--; - 1 < i2 ? a2[r2++] = 65533 : n2 < 65536 ? a2[r2++] = n2 : (n2 -= 65536, a2[r2++] = 55296 | n2 >> 10 & 1023, a2[r2++] = 56320 | 1023 & n2); - } - return a2.length !== r2 && (a2.subarray ? a2 = a2.subarray(0, r2) : a2.length = r2), o.applyFromCharCode(a2); - })(e2 = o.transformTo(h.uint8array ? "uint8array" : "array", e2)); - }, o.inherits(a, n), a.prototype.processChunk = function(e2) { - var t2 = o.transformTo(h.uint8array ? "uint8array" : "array", e2.data); - if (this.leftOver && this.leftOver.length) { - if (h.uint8array) { - var r2 = t2; - (t2 = new Uint8Array(r2.length + this.leftOver.length)).set(this.leftOver, 0), t2.set(r2, this.leftOver.length); - } else t2 = this.leftOver.concat(t2); - this.leftOver = null; - } - var n2 = (function(e3, t3) { - var r3; - for ((t3 = t3 || e3.length) > e3.length && (t3 = e3.length), r3 = t3 - 1; 0 <= r3 && 128 == (192 & e3[r3]); ) r3--; - return r3 < 0 ? t3 : 0 === r3 ? t3 : r3 + u[e3[r3]] > t3 ? r3 : t3; - })(t2), i2 = t2; - n2 !== t2.length && (h.uint8array ? (i2 = t2.subarray(0, n2), this.leftOver = t2.subarray(n2, t2.length)) : (i2 = t2.slice(0, n2), this.leftOver = t2.slice(n2, t2.length))), this.push({ data: s.utf8decode(i2), meta: e2.meta }); - }, a.prototype.flush = function() { - this.leftOver && this.leftOver.length && (this.push({ data: s.utf8decode(this.leftOver), meta: {} }), this.leftOver = null); - }, s.Utf8DecodeWorker = a, o.inherits(l, n), l.prototype.processChunk = function(e2) { - this.push({ data: s.utf8encode(e2.data), meta: e2.meta }); - }, s.Utf8EncodeWorker = l; - }, { "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./support": 30, "./utils": 32 }], 32: [function(e, t, a) { - "use strict"; - var o = e("./support"), h = e("./base64"), r = e("./nodejsUtils"), u = e("./external"); - function n(e2) { - return e2; - } - function l(e2, t2) { - for (var r2 = 0; r2 < e2.length; ++r2) t2[r2] = 255 & e2.charCodeAt(r2); - return t2; - } - e("setimmediate"), a.newBlob = function(t2, r2) { - a.checkSupport("blob"); - try { - return new Blob([t2], { type: r2 }); - } catch (e2) { - try { - var n2 = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)(); - return n2.append(t2), n2.getBlob(r2); - } catch (e3) { - throw new Error("Bug : can't construct the Blob."); - } - } - }; - var i = { stringifyByChunk: function(e2, t2, r2) { - var n2 = [], i2 = 0, s2 = e2.length; - if (s2 <= r2) return String.fromCharCode.apply(null, e2); - for (; i2 < s2; ) "array" === t2 || "nodebuffer" === t2 ? n2.push(String.fromCharCode.apply(null, e2.slice(i2, Math.min(i2 + r2, s2)))) : n2.push(String.fromCharCode.apply(null, e2.subarray(i2, Math.min(i2 + r2, s2)))), i2 += r2; - return n2.join(""); - }, stringifyByChar: function(e2) { - for (var t2 = "", r2 = 0; r2 < e2.length; r2++) t2 += String.fromCharCode(e2[r2]); - return t2; - }, applyCanBeUsed: { uint8array: (function() { - try { - return o.uint8array && 1 === String.fromCharCode.apply(null, new Uint8Array(1)).length; - } catch (e2) { - return false; - } - })(), nodebuffer: (function() { - try { - return o.nodebuffer && 1 === String.fromCharCode.apply(null, r.allocBuffer(1)).length; - } catch (e2) { - return false; - } - })() } }; - function s(e2) { - var t2 = 65536, r2 = a.getTypeOf(e2), n2 = true; - if ("uint8array" === r2 ? n2 = i.applyCanBeUsed.uint8array : "nodebuffer" === r2 && (n2 = i.applyCanBeUsed.nodebuffer), n2) for (; 1 < t2; ) try { - return i.stringifyByChunk(e2, r2, t2); - } catch (e3) { - t2 = Math.floor(t2 / 2); - } - return i.stringifyByChar(e2); - } - function f(e2, t2) { - for (var r2 = 0; r2 < e2.length; r2++) t2[r2] = e2[r2]; - return t2; - } - a.applyFromCharCode = s; - var c = {}; - c.string = { string: n, array: function(e2) { - return l(e2, new Array(e2.length)); - }, arraybuffer: function(e2) { - return c.string.uint8array(e2).buffer; - }, uint8array: function(e2) { - return l(e2, new Uint8Array(e2.length)); - }, nodebuffer: function(e2) { - return l(e2, r.allocBuffer(e2.length)); - } }, c.array = { string: s, array: n, arraybuffer: function(e2) { - return new Uint8Array(e2).buffer; - }, uint8array: function(e2) { - return new Uint8Array(e2); - }, nodebuffer: function(e2) { - return r.newBufferFrom(e2); - } }, c.arraybuffer = { string: function(e2) { - return s(new Uint8Array(e2)); - }, array: function(e2) { - return f(new Uint8Array(e2), new Array(e2.byteLength)); - }, arraybuffer: n, uint8array: function(e2) { - return new Uint8Array(e2); - }, nodebuffer: function(e2) { - return r.newBufferFrom(new Uint8Array(e2)); - } }, c.uint8array = { string: s, array: function(e2) { - return f(e2, new Array(e2.length)); - }, arraybuffer: function(e2) { - return e2.buffer; - }, uint8array: n, nodebuffer: function(e2) { - return r.newBufferFrom(e2); - } }, c.nodebuffer = { string: s, array: function(e2) { - return f(e2, new Array(e2.length)); - }, arraybuffer: function(e2) { - return c.nodebuffer.uint8array(e2).buffer; - }, uint8array: function(e2) { - return f(e2, new Uint8Array(e2.length)); - }, nodebuffer: n }, a.transformTo = function(e2, t2) { - if (t2 = t2 || "", !e2) return t2; - a.checkSupport(e2); - var r2 = a.getTypeOf(t2); - return c[r2][e2](t2); - }, a.resolve = function(e2) { - for (var t2 = e2.split("/"), r2 = [], n2 = 0; n2 < t2.length; n2++) { - var i2 = t2[n2]; - "." === i2 || "" === i2 && 0 !== n2 && n2 !== t2.length - 1 || (".." === i2 ? r2.pop() : r2.push(i2)); - } - return r2.join("/"); - }, a.getTypeOf = function(e2) { - return "string" == typeof e2 ? "string" : "[object Array]" === Object.prototype.toString.call(e2) ? "array" : o.nodebuffer && r.isBuffer(e2) ? "nodebuffer" : o.uint8array && e2 instanceof Uint8Array ? "uint8array" : o.arraybuffer && e2 instanceof ArrayBuffer ? "arraybuffer" : void 0; - }, a.checkSupport = function(e2) { - if (!o[e2.toLowerCase()]) throw new Error(e2 + " is not supported by this platform"); - }, a.MAX_VALUE_16BITS = 65535, a.MAX_VALUE_32BITS = -1, a.pretty = function(e2) { - var t2, r2, n2 = ""; - for (r2 = 0; r2 < (e2 || "").length; r2++) n2 += "\\x" + ((t2 = e2.charCodeAt(r2)) < 16 ? "0" : "") + t2.toString(16).toUpperCase(); - return n2; - }, a.delay = function(e2, t2, r2) { - setImmediate(function() { - e2.apply(r2 || null, t2 || []); - }); - }, a.inherits = function(e2, t2) { - function r2() { - } - r2.prototype = t2.prototype, e2.prototype = new r2(); - }, a.extend = function() { - var e2, t2, r2 = {}; - for (e2 = 0; e2 < arguments.length; e2++) for (t2 in arguments[e2]) Object.prototype.hasOwnProperty.call(arguments[e2], t2) && void 0 === r2[t2] && (r2[t2] = arguments[e2][t2]); - return r2; - }, a.prepareContent = function(r2, e2, n2, i2, s2) { - return u.Promise.resolve(e2).then(function(n3) { - return o.blob && (n3 instanceof Blob || -1 !== ["[object File]", "[object Blob]"].indexOf(Object.prototype.toString.call(n3))) && "undefined" != typeof FileReader ? new u.Promise(function(t2, r3) { - var e3 = new FileReader(); - e3.onload = function(e4) { - t2(e4.target.result); - }, e3.onerror = function(e4) { - r3(e4.target.error); - }, e3.readAsArrayBuffer(n3); - }) : n3; - }).then(function(e3) { - var t2 = a.getTypeOf(e3); - return t2 ? ("arraybuffer" === t2 ? e3 = a.transformTo("uint8array", e3) : "string" === t2 && (s2 ? e3 = h.decode(e3) : n2 && true !== i2 && (e3 = (function(e4) { - return l(e4, o.uint8array ? new Uint8Array(e4.length) : new Array(e4.length)); - })(e3))), e3) : u.Promise.reject(new Error("Can't read the data of '" + r2 + "'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?")); - }); - }; - }, { "./base64": 1, "./external": 6, "./nodejsUtils": 14, "./support": 30, setimmediate: 54 }], 33: [function(e, t, r) { - "use strict"; - var n = e("./reader/readerFor"), i = e("./utils"), s = e("./signature"), a = e("./zipEntry"), o = e("./support"); - function h(e2) { - this.files = [], this.loadOptions = e2; - } - h.prototype = { checkSignature: function(e2) { - if (!this.reader.readAndCheckSignature(e2)) { - this.reader.index -= 4; - var t2 = this.reader.readString(4); - throw new Error("Corrupted zip or bug: unexpected signature (" + i.pretty(t2) + ", expected " + i.pretty(e2) + ")"); - } - }, isSignature: function(e2, t2) { - var r2 = this.reader.index; - this.reader.setIndex(e2); - var n2 = this.reader.readString(4) === t2; - return this.reader.setIndex(r2), n2; - }, readBlockEndOfCentral: function() { - this.diskNumber = this.reader.readInt(2), this.diskWithCentralDirStart = this.reader.readInt(2), this.centralDirRecordsOnThisDisk = this.reader.readInt(2), this.centralDirRecords = this.reader.readInt(2), this.centralDirSize = this.reader.readInt(4), this.centralDirOffset = this.reader.readInt(4), this.zipCommentLength = this.reader.readInt(2); - var e2 = this.reader.readData(this.zipCommentLength), t2 = o.uint8array ? "uint8array" : "array", r2 = i.transformTo(t2, e2); - this.zipComment = this.loadOptions.decodeFileName(r2); - }, readBlockZip64EndOfCentral: function() { - this.zip64EndOfCentralSize = this.reader.readInt(8), this.reader.skip(4), this.diskNumber = this.reader.readInt(4), this.diskWithCentralDirStart = this.reader.readInt(4), this.centralDirRecordsOnThisDisk = this.reader.readInt(8), this.centralDirRecords = this.reader.readInt(8), this.centralDirSize = this.reader.readInt(8), this.centralDirOffset = this.reader.readInt(8), this.zip64ExtensibleData = {}; - for (var e2, t2, r2, n2 = this.zip64EndOfCentralSize - 44; 0 < n2; ) e2 = this.reader.readInt(2), t2 = this.reader.readInt(4), r2 = this.reader.readData(t2), this.zip64ExtensibleData[e2] = { id: e2, length: t2, value: r2 }; - }, readBlockZip64EndOfCentralLocator: function() { - if (this.diskWithZip64CentralDirStart = this.reader.readInt(4), this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8), this.disksCount = this.reader.readInt(4), 1 < this.disksCount) throw new Error("Multi-volumes zip are not supported"); - }, readLocalFiles: function() { - var e2, t2; - for (e2 = 0; e2 < this.files.length; e2++) t2 = this.files[e2], this.reader.setIndex(t2.localHeaderOffset), this.checkSignature(s.LOCAL_FILE_HEADER), t2.readLocalPart(this.reader), t2.handleUTF8(), t2.processAttributes(); - }, readCentralDir: function() { - var e2; - for (this.reader.setIndex(this.centralDirOffset); this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER); ) (e2 = new a({ zip64: this.zip64 }, this.loadOptions)).readCentralPart(this.reader), this.files.push(e2); - if (this.centralDirRecords !== this.files.length && 0 !== this.centralDirRecords && 0 === this.files.length) throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length); - }, readEndOfCentral: function() { - var e2 = this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END); - if (e2 < 0) throw !this.isSignature(0, s.LOCAL_FILE_HEADER) ? new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html") : new Error("Corrupted zip: can't find end of central directory"); - this.reader.setIndex(e2); - var t2 = e2; - if (this.checkSignature(s.CENTRAL_DIRECTORY_END), this.readBlockEndOfCentral(), this.diskNumber === i.MAX_VALUE_16BITS || this.diskWithCentralDirStart === i.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === i.MAX_VALUE_16BITS || this.centralDirRecords === i.MAX_VALUE_16BITS || this.centralDirSize === i.MAX_VALUE_32BITS || this.centralDirOffset === i.MAX_VALUE_32BITS) { - if (this.zip64 = true, (e2 = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR)) < 0) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator"); - if (this.reader.setIndex(e2), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR), this.readBlockZip64EndOfCentralLocator(), !this.isSignature(this.relativeOffsetEndOfZip64CentralDir, s.ZIP64_CENTRAL_DIRECTORY_END) && (this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.relativeOffsetEndOfZip64CentralDir < 0)) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory"); - this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.readBlockZip64EndOfCentral(); - } - var r2 = this.centralDirOffset + this.centralDirSize; - this.zip64 && (r2 += 20, r2 += 12 + this.zip64EndOfCentralSize); - var n2 = t2 - r2; - if (0 < n2) this.isSignature(t2, s.CENTRAL_FILE_HEADER) || (this.reader.zero = n2); - else if (n2 < 0) throw new Error("Corrupted zip: missing " + Math.abs(n2) + " bytes."); - }, prepareReader: function(e2) { - this.reader = n(e2); - }, load: function(e2) { - this.prepareReader(e2), this.readEndOfCentral(), this.readCentralDir(), this.readLocalFiles(); - } }, t.exports = h; - }, { "./reader/readerFor": 22, "./signature": 23, "./support": 30, "./utils": 32, "./zipEntry": 34 }], 34: [function(e, t, r) { - "use strict"; - var n = e("./reader/readerFor"), s = e("./utils"), i = e("./compressedObject"), a = e("./crc32"), o = e("./utf8"), h = e("./compressions"), u = e("./support"); - function l(e2, t2) { - this.options = e2, this.loadOptions = t2; - } - l.prototype = { isEncrypted: function() { - return 1 == (1 & this.bitFlag); - }, useUTF8: function() { - return 2048 == (2048 & this.bitFlag); - }, readLocalPart: function(e2) { - var t2, r2; - if (e2.skip(22), this.fileNameLength = e2.readInt(2), r2 = e2.readInt(2), this.fileName = e2.readData(this.fileNameLength), e2.skip(r2), -1 === this.compressedSize || -1 === this.uncompressedSize) throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)"); - if (null === (t2 = (function(e3) { - for (var t3 in h) if (Object.prototype.hasOwnProperty.call(h, t3) && h[t3].magic === e3) return h[t3]; - return null; - })(this.compressionMethod))) throw new Error("Corrupted zip : compression " + s.pretty(this.compressionMethod) + " unknown (inner file : " + s.transformTo("string", this.fileName) + ")"); - this.decompressed = new i(this.compressedSize, this.uncompressedSize, this.crc32, t2, e2.readData(this.compressedSize)); - }, readCentralPart: function(e2) { - this.versionMadeBy = e2.readInt(2), e2.skip(2), this.bitFlag = e2.readInt(2), this.compressionMethod = e2.readString(2), this.date = e2.readDate(), this.crc32 = e2.readInt(4), this.compressedSize = e2.readInt(4), this.uncompressedSize = e2.readInt(4); - var t2 = e2.readInt(2); - if (this.extraFieldsLength = e2.readInt(2), this.fileCommentLength = e2.readInt(2), this.diskNumberStart = e2.readInt(2), this.internalFileAttributes = e2.readInt(2), this.externalFileAttributes = e2.readInt(4), this.localHeaderOffset = e2.readInt(4), this.isEncrypted()) throw new Error("Encrypted zip are not supported"); - e2.skip(t2), this.readExtraFields(e2), this.parseZIP64ExtraField(e2), this.fileComment = e2.readData(this.fileCommentLength); - }, processAttributes: function() { - this.unixPermissions = null, this.dosPermissions = null; - var e2 = this.versionMadeBy >> 8; - this.dir = !!(16 & this.externalFileAttributes), 0 == e2 && (this.dosPermissions = 63 & this.externalFileAttributes), 3 == e2 && (this.unixPermissions = this.externalFileAttributes >> 16 & 65535), this.dir || "/" !== this.fileNameStr.slice(-1) || (this.dir = true); - }, parseZIP64ExtraField: function() { - if (this.extraFields[1]) { - var e2 = n(this.extraFields[1].value); - this.uncompressedSize === s.MAX_VALUE_32BITS && (this.uncompressedSize = e2.readInt(8)), this.compressedSize === s.MAX_VALUE_32BITS && (this.compressedSize = e2.readInt(8)), this.localHeaderOffset === s.MAX_VALUE_32BITS && (this.localHeaderOffset = e2.readInt(8)), this.diskNumberStart === s.MAX_VALUE_32BITS && (this.diskNumberStart = e2.readInt(4)); - } - }, readExtraFields: function(e2) { - var t2, r2, n2, i2 = e2.index + this.extraFieldsLength; - for (this.extraFields || (this.extraFields = {}); e2.index + 4 < i2; ) t2 = e2.readInt(2), r2 = e2.readInt(2), n2 = e2.readData(r2), this.extraFields[t2] = { id: t2, length: r2, value: n2 }; - e2.setIndex(i2); - }, handleUTF8: function() { - var e2 = u.uint8array ? "uint8array" : "array"; - if (this.useUTF8()) this.fileNameStr = o.utf8decode(this.fileName), this.fileCommentStr = o.utf8decode(this.fileComment); - else { - var t2 = this.findExtraFieldUnicodePath(); - if (null !== t2) this.fileNameStr = t2; - else { - var r2 = s.transformTo(e2, this.fileName); - this.fileNameStr = this.loadOptions.decodeFileName(r2); - } - var n2 = this.findExtraFieldUnicodeComment(); - if (null !== n2) this.fileCommentStr = n2; - else { - var i2 = s.transformTo(e2, this.fileComment); - this.fileCommentStr = this.loadOptions.decodeFileName(i2); - } - } - }, findExtraFieldUnicodePath: function() { - var e2 = this.extraFields[28789]; - if (e2) { - var t2 = n(e2.value); - return 1 !== t2.readInt(1) ? null : a(this.fileName) !== t2.readInt(4) ? null : o.utf8decode(t2.readData(e2.length - 5)); - } - return null; - }, findExtraFieldUnicodeComment: function() { - var e2 = this.extraFields[25461]; - if (e2) { - var t2 = n(e2.value); - return 1 !== t2.readInt(1) ? null : a(this.fileComment) !== t2.readInt(4) ? null : o.utf8decode(t2.readData(e2.length - 5)); - } - return null; - } }, t.exports = l; - }, { "./compressedObject": 2, "./compressions": 3, "./crc32": 4, "./reader/readerFor": 22, "./support": 30, "./utf8": 31, "./utils": 32 }], 35: [function(e, t, r) { - "use strict"; - function n(e2, t2, r2) { - this.name = e2, this.dir = r2.dir, this.date = r2.date, this.comment = r2.comment, this.unixPermissions = r2.unixPermissions, this.dosPermissions = r2.dosPermissions, this._data = t2, this._dataBinary = r2.binary, this.options = { compression: r2.compression, compressionOptions: r2.compressionOptions }; - } - var s = e("./stream/StreamHelper"), i = e("./stream/DataWorker"), a = e("./utf8"), o = e("./compressedObject"), h = e("./stream/GenericWorker"); - n.prototype = { internalStream: function(e2) { - var t2 = null, r2 = "string"; - try { - if (!e2) throw new Error("No output type specified."); - var n2 = "string" === (r2 = e2.toLowerCase()) || "text" === r2; - "binarystring" !== r2 && "text" !== r2 || (r2 = "string"), t2 = this._decompressWorker(); - var i2 = !this._dataBinary; - i2 && !n2 && (t2 = t2.pipe(new a.Utf8EncodeWorker())), !i2 && n2 && (t2 = t2.pipe(new a.Utf8DecodeWorker())); - } catch (e3) { - (t2 = new h("error")).error(e3); - } - return new s(t2, r2, ""); - }, async: function(e2, t2) { - return this.internalStream(e2).accumulate(t2); - }, nodeStream: function(e2, t2) { - return this.internalStream(e2 || "nodebuffer").toNodejsStream(t2); - }, _compressWorker: function(e2, t2) { - if (this._data instanceof o && this._data.compression.magic === e2.magic) return this._data.getCompressedWorker(); - var r2 = this._decompressWorker(); - return this._dataBinary || (r2 = r2.pipe(new a.Utf8EncodeWorker())), o.createWorkerFrom(r2, e2, t2); - }, _decompressWorker: function() { - return this._data instanceof o ? this._data.getContentWorker() : this._data instanceof h ? this._data : new i(this._data); - } }; - for (var u = ["asText", "asBinary", "asNodeBuffer", "asUint8Array", "asArrayBuffer"], l = function() { - throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); - }, f = 0; f < u.length; f++) n.prototype[u[f]] = l; - t.exports = n; - }, { "./compressedObject": 2, "./stream/DataWorker": 27, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31 }], 36: [function(e, l, t) { - (function(t2) { - "use strict"; - var r, n, e2 = t2.MutationObserver || t2.WebKitMutationObserver; - if (e2) { - var i = 0, s = new e2(u), a = t2.document.createTextNode(""); - s.observe(a, { characterData: true }), r = function() { - a.data = i = ++i % 2; - }; - } else if (t2.setImmediate || void 0 === t2.MessageChannel) r = "document" in t2 && "onreadystatechange" in t2.document.createElement("script") ? function() { - var e3 = t2.document.createElement("script"); - e3.onreadystatechange = function() { - u(), e3.onreadystatechange = null, e3.parentNode.removeChild(e3), e3 = null; - }, t2.document.documentElement.appendChild(e3); - } : function() { - setTimeout(u, 0); - }; - else { - var o = new t2.MessageChannel(); - o.port1.onmessage = u, r = function() { - o.port2.postMessage(0); - }; - } - var h = []; - function u() { - var e3, t3; - n = true; - for (var r2 = h.length; r2; ) { - for (t3 = h, h = [], e3 = -1; ++e3 < r2; ) t3[e3](); - r2 = h.length; - } - n = false; - } - l.exports = function(e3) { - 1 !== h.push(e3) || n || r(); - }; - }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}); - }, {}], 37: [function(e, t, r) { - "use strict"; - var i = e("immediate"); - function u() { - } - var l = {}, s = ["REJECTED"], a = ["FULFILLED"], n = ["PENDING"]; - function o(e2) { - if ("function" != typeof e2) throw new TypeError("resolver must be a function"); - this.state = n, this.queue = [], this.outcome = void 0, e2 !== u && d(this, e2); - } - function h(e2, t2, r2) { - this.promise = e2, "function" == typeof t2 && (this.onFulfilled = t2, this.callFulfilled = this.otherCallFulfilled), "function" == typeof r2 && (this.onRejected = r2, this.callRejected = this.otherCallRejected); - } - function f(t2, r2, n2) { - i(function() { - var e2; - try { - e2 = r2(n2); - } catch (e3) { - return l.reject(t2, e3); - } - e2 === t2 ? l.reject(t2, new TypeError("Cannot resolve promise with itself")) : l.resolve(t2, e2); - }); - } - function c(e2) { - var t2 = e2 && e2.then; - if (e2 && ("object" == typeof e2 || "function" == typeof e2) && "function" == typeof t2) return function() { - t2.apply(e2, arguments); - }; - } - function d(t2, e2) { - var r2 = false; - function n2(e3) { - r2 || (r2 = true, l.reject(t2, e3)); - } - function i2(e3) { - r2 || (r2 = true, l.resolve(t2, e3)); - } - var s2 = p(function() { - e2(i2, n2); - }); - "error" === s2.status && n2(s2.value); - } - function p(e2, t2) { - var r2 = {}; - try { - r2.value = e2(t2), r2.status = "success"; - } catch (e3) { - r2.status = "error", r2.value = e3; - } - return r2; - } - (t.exports = o).prototype.finally = function(t2) { - if ("function" != typeof t2) return this; - var r2 = this.constructor; - return this.then(function(e2) { - return r2.resolve(t2()).then(function() { - return e2; - }); - }, function(e2) { - return r2.resolve(t2()).then(function() { - throw e2; - }); - }); - }, o.prototype.catch = function(e2) { - return this.then(null, e2); - }, o.prototype.then = function(e2, t2) { - if ("function" != typeof e2 && this.state === a || "function" != typeof t2 && this.state === s) return this; - var r2 = new this.constructor(u); - this.state !== n ? f(r2, this.state === a ? e2 : t2, this.outcome) : this.queue.push(new h(r2, e2, t2)); - return r2; - }, h.prototype.callFulfilled = function(e2) { - l.resolve(this.promise, e2); - }, h.prototype.otherCallFulfilled = function(e2) { - f(this.promise, this.onFulfilled, e2); - }, h.prototype.callRejected = function(e2) { - l.reject(this.promise, e2); - }, h.prototype.otherCallRejected = function(e2) { - f(this.promise, this.onRejected, e2); - }, l.resolve = function(e2, t2) { - var r2 = p(c, t2); - if ("error" === r2.status) return l.reject(e2, r2.value); - var n2 = r2.value; - if (n2) d(e2, n2); - else { - e2.state = a, e2.outcome = t2; - for (var i2 = -1, s2 = e2.queue.length; ++i2 < s2; ) e2.queue[i2].callFulfilled(t2); - } - return e2; - }, l.reject = function(e2, t2) { - e2.state = s, e2.outcome = t2; - for (var r2 = -1, n2 = e2.queue.length; ++r2 < n2; ) e2.queue[r2].callRejected(t2); - return e2; - }, o.resolve = function(e2) { - if (e2 instanceof this) return e2; - return l.resolve(new this(u), e2); - }, o.reject = function(e2) { - var t2 = new this(u); - return l.reject(t2, e2); - }, o.all = function(e2) { - var r2 = this; - if ("[object Array]" !== Object.prototype.toString.call(e2)) return this.reject(new TypeError("must be an array")); - var n2 = e2.length, i2 = false; - if (!n2) return this.resolve([]); - var s2 = new Array(n2), a2 = 0, t2 = -1, o2 = new this(u); - for (; ++t2 < n2; ) h2(e2[t2], t2); - return o2; - function h2(e3, t3) { - r2.resolve(e3).then(function(e4) { - s2[t3] = e4, ++a2 !== n2 || i2 || (i2 = true, l.resolve(o2, s2)); - }, function(e4) { - i2 || (i2 = true, l.reject(o2, e4)); - }); - } - }, o.race = function(e2) { - var t2 = this; - if ("[object Array]" !== Object.prototype.toString.call(e2)) return this.reject(new TypeError("must be an array")); - var r2 = e2.length, n2 = false; - if (!r2) return this.resolve([]); - var i2 = -1, s2 = new this(u); - for (; ++i2 < r2; ) a2 = e2[i2], t2.resolve(a2).then(function(e3) { - n2 || (n2 = true, l.resolve(s2, e3)); - }, function(e3) { - n2 || (n2 = true, l.reject(s2, e3)); - }); - var a2; - return s2; - }; - }, { immediate: 36 }], 38: [function(e, t, r) { - "use strict"; - var n = {}; - (0, e("./lib/utils/common").assign)(n, e("./lib/deflate"), e("./lib/inflate"), e("./lib/zlib/constants")), t.exports = n; - }, { "./lib/deflate": 39, "./lib/inflate": 40, "./lib/utils/common": 41, "./lib/zlib/constants": 44 }], 39: [function(e, t, r) { - "use strict"; - var a = e("./zlib/deflate"), o = e("./utils/common"), h = e("./utils/strings"), i = e("./zlib/messages"), s = e("./zlib/zstream"), u = Object.prototype.toString, l = 0, f = -1, c = 0, d = 8; - function p(e2) { - if (!(this instanceof p)) return new p(e2); - this.options = o.assign({ level: f, method: d, chunkSize: 16384, windowBits: 15, memLevel: 8, strategy: c, to: "" }, e2 || {}); - var t2 = this.options; - t2.raw && 0 < t2.windowBits ? t2.windowBits = -t2.windowBits : t2.gzip && 0 < t2.windowBits && t2.windowBits < 16 && (t2.windowBits += 16), this.err = 0, this.msg = "", this.ended = false, this.chunks = [], this.strm = new s(), this.strm.avail_out = 0; - var r2 = a.deflateInit2(this.strm, t2.level, t2.method, t2.windowBits, t2.memLevel, t2.strategy); - if (r2 !== l) throw new Error(i[r2]); - if (t2.header && a.deflateSetHeader(this.strm, t2.header), t2.dictionary) { - var n2; - if (n2 = "string" == typeof t2.dictionary ? h.string2buf(t2.dictionary) : "[object ArrayBuffer]" === u.call(t2.dictionary) ? new Uint8Array(t2.dictionary) : t2.dictionary, (r2 = a.deflateSetDictionary(this.strm, n2)) !== l) throw new Error(i[r2]); - this._dict_set = true; - } - } - function n(e2, t2) { - var r2 = new p(t2); - if (r2.push(e2, true), r2.err) throw r2.msg || i[r2.err]; - return r2.result; - } - p.prototype.push = function(e2, t2) { - var r2, n2, i2 = this.strm, s2 = this.options.chunkSize; - if (this.ended) return false; - n2 = t2 === ~~t2 ? t2 : true === t2 ? 4 : 0, "string" == typeof e2 ? i2.input = h.string2buf(e2) : "[object ArrayBuffer]" === u.call(e2) ? i2.input = new Uint8Array(e2) : i2.input = e2, i2.next_in = 0, i2.avail_in = i2.input.length; - do { - if (0 === i2.avail_out && (i2.output = new o.Buf8(s2), i2.next_out = 0, i2.avail_out = s2), 1 !== (r2 = a.deflate(i2, n2)) && r2 !== l) return this.onEnd(r2), !(this.ended = true); - 0 !== i2.avail_out && (0 !== i2.avail_in || 4 !== n2 && 2 !== n2) || ("string" === this.options.to ? this.onData(h.buf2binstring(o.shrinkBuf(i2.output, i2.next_out))) : this.onData(o.shrinkBuf(i2.output, i2.next_out))); - } while ((0 < i2.avail_in || 0 === i2.avail_out) && 1 !== r2); - return 4 === n2 ? (r2 = a.deflateEnd(this.strm), this.onEnd(r2), this.ended = true, r2 === l) : 2 !== n2 || (this.onEnd(l), !(i2.avail_out = 0)); - }, p.prototype.onData = function(e2) { - this.chunks.push(e2); - }, p.prototype.onEnd = function(e2) { - e2 === l && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = o.flattenChunks(this.chunks)), this.chunks = [], this.err = e2, this.msg = this.strm.msg; - }, r.Deflate = p, r.deflate = n, r.deflateRaw = function(e2, t2) { - return (t2 = t2 || {}).raw = true, n(e2, t2); - }, r.gzip = function(e2, t2) { - return (t2 = t2 || {}).gzip = true, n(e2, t2); - }; - }, { "./utils/common": 41, "./utils/strings": 42, "./zlib/deflate": 46, "./zlib/messages": 51, "./zlib/zstream": 53 }], 40: [function(e, t, r) { - "use strict"; - var c = e("./zlib/inflate"), d = e("./utils/common"), p = e("./utils/strings"), m = e("./zlib/constants"), n = e("./zlib/messages"), i = e("./zlib/zstream"), s = e("./zlib/gzheader"), _ = Object.prototype.toString; - function a(e2) { - if (!(this instanceof a)) return new a(e2); - this.options = d.assign({ chunkSize: 16384, windowBits: 0, to: "" }, e2 || {}); - var t2 = this.options; - t2.raw && 0 <= t2.windowBits && t2.windowBits < 16 && (t2.windowBits = -t2.windowBits, 0 === t2.windowBits && (t2.windowBits = -15)), !(0 <= t2.windowBits && t2.windowBits < 16) || e2 && e2.windowBits || (t2.windowBits += 32), 15 < t2.windowBits && t2.windowBits < 48 && 0 == (15 & t2.windowBits) && (t2.windowBits |= 15), this.err = 0, this.msg = "", this.ended = false, this.chunks = [], this.strm = new i(), this.strm.avail_out = 0; - var r2 = c.inflateInit2(this.strm, t2.windowBits); - if (r2 !== m.Z_OK) throw new Error(n[r2]); - this.header = new s(), c.inflateGetHeader(this.strm, this.header); - } - function o(e2, t2) { - var r2 = new a(t2); - if (r2.push(e2, true), r2.err) throw r2.msg || n[r2.err]; - return r2.result; - } - a.prototype.push = function(e2, t2) { - var r2, n2, i2, s2, a2, o2, h = this.strm, u = this.options.chunkSize, l = this.options.dictionary, f = false; - if (this.ended) return false; - n2 = t2 === ~~t2 ? t2 : true === t2 ? m.Z_FINISH : m.Z_NO_FLUSH, "string" == typeof e2 ? h.input = p.binstring2buf(e2) : "[object ArrayBuffer]" === _.call(e2) ? h.input = new Uint8Array(e2) : h.input = e2, h.next_in = 0, h.avail_in = h.input.length; - do { - if (0 === h.avail_out && (h.output = new d.Buf8(u), h.next_out = 0, h.avail_out = u), (r2 = c.inflate(h, m.Z_NO_FLUSH)) === m.Z_NEED_DICT && l && (o2 = "string" == typeof l ? p.string2buf(l) : "[object ArrayBuffer]" === _.call(l) ? new Uint8Array(l) : l, r2 = c.inflateSetDictionary(this.strm, o2)), r2 === m.Z_BUF_ERROR && true === f && (r2 = m.Z_OK, f = false), r2 !== m.Z_STREAM_END && r2 !== m.Z_OK) return this.onEnd(r2), !(this.ended = true); - h.next_out && (0 !== h.avail_out && r2 !== m.Z_STREAM_END && (0 !== h.avail_in || n2 !== m.Z_FINISH && n2 !== m.Z_SYNC_FLUSH) || ("string" === this.options.to ? (i2 = p.utf8border(h.output, h.next_out), s2 = h.next_out - i2, a2 = p.buf2string(h.output, i2), h.next_out = s2, h.avail_out = u - s2, s2 && d.arraySet(h.output, h.output, i2, s2, 0), this.onData(a2)) : this.onData(d.shrinkBuf(h.output, h.next_out)))), 0 === h.avail_in && 0 === h.avail_out && (f = true); - } while ((0 < h.avail_in || 0 === h.avail_out) && r2 !== m.Z_STREAM_END); - return r2 === m.Z_STREAM_END && (n2 = m.Z_FINISH), n2 === m.Z_FINISH ? (r2 = c.inflateEnd(this.strm), this.onEnd(r2), this.ended = true, r2 === m.Z_OK) : n2 !== m.Z_SYNC_FLUSH || (this.onEnd(m.Z_OK), !(h.avail_out = 0)); - }, a.prototype.onData = function(e2) { - this.chunks.push(e2); - }, a.prototype.onEnd = function(e2) { - e2 === m.Z_OK && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = d.flattenChunks(this.chunks)), this.chunks = [], this.err = e2, this.msg = this.strm.msg; - }, r.Inflate = a, r.inflate = o, r.inflateRaw = function(e2, t2) { - return (t2 = t2 || {}).raw = true, o(e2, t2); - }, r.ungzip = o; - }, { "./utils/common": 41, "./utils/strings": 42, "./zlib/constants": 44, "./zlib/gzheader": 47, "./zlib/inflate": 49, "./zlib/messages": 51, "./zlib/zstream": 53 }], 41: [function(e, t, r) { - "use strict"; - var n = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Int32Array; - r.assign = function(e2) { - for (var t2 = Array.prototype.slice.call(arguments, 1); t2.length; ) { - var r2 = t2.shift(); - if (r2) { - if ("object" != typeof r2) throw new TypeError(r2 + "must be non-object"); - for (var n2 in r2) r2.hasOwnProperty(n2) && (e2[n2] = r2[n2]); - } - } - return e2; - }, r.shrinkBuf = function(e2, t2) { - return e2.length === t2 ? e2 : e2.subarray ? e2.subarray(0, t2) : (e2.length = t2, e2); - }; - var i = { arraySet: function(e2, t2, r2, n2, i2) { - if (t2.subarray && e2.subarray) e2.set(t2.subarray(r2, r2 + n2), i2); - else for (var s2 = 0; s2 < n2; s2++) e2[i2 + s2] = t2[r2 + s2]; - }, flattenChunks: function(e2) { - var t2, r2, n2, i2, s2, a; - for (t2 = n2 = 0, r2 = e2.length; t2 < r2; t2++) n2 += e2[t2].length; - for (a = new Uint8Array(n2), t2 = i2 = 0, r2 = e2.length; t2 < r2; t2++) s2 = e2[t2], a.set(s2, i2), i2 += s2.length; - return a; - } }, s = { arraySet: function(e2, t2, r2, n2, i2) { - for (var s2 = 0; s2 < n2; s2++) e2[i2 + s2] = t2[r2 + s2]; - }, flattenChunks: function(e2) { - return [].concat.apply([], e2); - } }; - r.setTyped = function(e2) { - e2 ? (r.Buf8 = Uint8Array, r.Buf16 = Uint16Array, r.Buf32 = Int32Array, r.assign(r, i)) : (r.Buf8 = Array, r.Buf16 = Array, r.Buf32 = Array, r.assign(r, s)); - }, r.setTyped(n); - }, {}], 42: [function(e, t, r) { - "use strict"; - var h = e("./common"), i = true, s = true; - try { - String.fromCharCode.apply(null, [0]); - } catch (e2) { - i = false; - } - try { - String.fromCharCode.apply(null, new Uint8Array(1)); - } catch (e2) { - s = false; - } - for (var u = new h.Buf8(256), n = 0; n < 256; n++) u[n] = 252 <= n ? 6 : 248 <= n ? 5 : 240 <= n ? 4 : 224 <= n ? 3 : 192 <= n ? 2 : 1; - function l(e2, t2) { - if (t2 < 65537 && (e2.subarray && s || !e2.subarray && i)) return String.fromCharCode.apply(null, h.shrinkBuf(e2, t2)); - for (var r2 = "", n2 = 0; n2 < t2; n2++) r2 += String.fromCharCode(e2[n2]); - return r2; - } - u[254] = u[254] = 1, r.string2buf = function(e2) { - var t2, r2, n2, i2, s2, a = e2.length, o = 0; - for (i2 = 0; i2 < a; i2++) 55296 == (64512 & (r2 = e2.charCodeAt(i2))) && i2 + 1 < a && 56320 == (64512 & (n2 = e2.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), o += r2 < 128 ? 1 : r2 < 2048 ? 2 : r2 < 65536 ? 3 : 4; - for (t2 = new h.Buf8(o), i2 = s2 = 0; s2 < o; i2++) 55296 == (64512 & (r2 = e2.charCodeAt(i2))) && i2 + 1 < a && 56320 == (64512 & (n2 = e2.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), r2 < 128 ? t2[s2++] = r2 : (r2 < 2048 ? t2[s2++] = 192 | r2 >>> 6 : (r2 < 65536 ? t2[s2++] = 224 | r2 >>> 12 : (t2[s2++] = 240 | r2 >>> 18, t2[s2++] = 128 | r2 >>> 12 & 63), t2[s2++] = 128 | r2 >>> 6 & 63), t2[s2++] = 128 | 63 & r2); - return t2; - }, r.buf2binstring = function(e2) { - return l(e2, e2.length); - }, r.binstring2buf = function(e2) { - for (var t2 = new h.Buf8(e2.length), r2 = 0, n2 = t2.length; r2 < n2; r2++) t2[r2] = e2.charCodeAt(r2); - return t2; - }, r.buf2string = function(e2, t2) { - var r2, n2, i2, s2, a = t2 || e2.length, o = new Array(2 * a); - for (r2 = n2 = 0; r2 < a; ) if ((i2 = e2[r2++]) < 128) o[n2++] = i2; - else if (4 < (s2 = u[i2])) o[n2++] = 65533, r2 += s2 - 1; - else { - for (i2 &= 2 === s2 ? 31 : 3 === s2 ? 15 : 7; 1 < s2 && r2 < a; ) i2 = i2 << 6 | 63 & e2[r2++], s2--; - 1 < s2 ? o[n2++] = 65533 : i2 < 65536 ? o[n2++] = i2 : (i2 -= 65536, o[n2++] = 55296 | i2 >> 10 & 1023, o[n2++] = 56320 | 1023 & i2); - } - return l(o, n2); - }, r.utf8border = function(e2, t2) { - var r2; - for ((t2 = t2 || e2.length) > e2.length && (t2 = e2.length), r2 = t2 - 1; 0 <= r2 && 128 == (192 & e2[r2]); ) r2--; - return r2 < 0 ? t2 : 0 === r2 ? t2 : r2 + u[e2[r2]] > t2 ? r2 : t2; - }; - }, { "./common": 41 }], 43: [function(e, t, r) { - "use strict"; - t.exports = function(e2, t2, r2, n) { - for (var i = 65535 & e2 | 0, s = e2 >>> 16 & 65535 | 0, a = 0; 0 !== r2; ) { - for (r2 -= a = 2e3 < r2 ? 2e3 : r2; s = s + (i = i + t2[n++] | 0) | 0, --a; ) ; - i %= 65521, s %= 65521; - } - return i | s << 16 | 0; - }; - }, {}], 44: [function(e, t, r) { - "use strict"; - t.exports = { Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, Z_FULL_FLUSH: 3, Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, Z_BUF_ERROR: -5, Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, Z_DEFAULT_COMPRESSION: -1, Z_FILTERED: 1, Z_HUFFMAN_ONLY: 2, Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, Z_BINARY: 0, Z_TEXT: 1, Z_UNKNOWN: 2, Z_DEFLATED: 8 }; - }, {}], 45: [function(e, t, r) { - "use strict"; - var o = (function() { - for (var e2, t2 = [], r2 = 0; r2 < 256; r2++) { - e2 = r2; - for (var n = 0; n < 8; n++) e2 = 1 & e2 ? 3988292384 ^ e2 >>> 1 : e2 >>> 1; - t2[r2] = e2; - } - return t2; - })(); - t.exports = function(e2, t2, r2, n) { - var i = o, s = n + r2; - e2 ^= -1; - for (var a = n; a < s; a++) e2 = e2 >>> 8 ^ i[255 & (e2 ^ t2[a])]; - return -1 ^ e2; - }; - }, {}], 46: [function(e, t, r) { - "use strict"; - var h, c = e("../utils/common"), u = e("./trees"), d = e("./adler32"), p = e("./crc32"), n = e("./messages"), l = 0, f = 4, m = 0, _ = -2, g = -1, b = 4, i = 2, v = 8, y = 9, s = 286, a = 30, o = 19, w = 2 * s + 1, k = 15, x = 3, S = 258, z = S + x + 1, C = 42, E = 113, A = 1, I = 2, O = 3, B = 4; - function R(e2, t2) { - return e2.msg = n[t2], t2; - } - function T(e2) { - return (e2 << 1) - (4 < e2 ? 9 : 0); - } - function D(e2) { - for (var t2 = e2.length; 0 <= --t2; ) e2[t2] = 0; - } - function F(e2) { - var t2 = e2.state, r2 = t2.pending; - r2 > e2.avail_out && (r2 = e2.avail_out), 0 !== r2 && (c.arraySet(e2.output, t2.pending_buf, t2.pending_out, r2, e2.next_out), e2.next_out += r2, t2.pending_out += r2, e2.total_out += r2, e2.avail_out -= r2, t2.pending -= r2, 0 === t2.pending && (t2.pending_out = 0)); - } - function N(e2, t2) { - u._tr_flush_block(e2, 0 <= e2.block_start ? e2.block_start : -1, e2.strstart - e2.block_start, t2), e2.block_start = e2.strstart, F(e2.strm); - } - function U(e2, t2) { - e2.pending_buf[e2.pending++] = t2; - } - function P(e2, t2) { - e2.pending_buf[e2.pending++] = t2 >>> 8 & 255, e2.pending_buf[e2.pending++] = 255 & t2; - } - function L(e2, t2) { - var r2, n2, i2 = e2.max_chain_length, s2 = e2.strstart, a2 = e2.prev_length, o2 = e2.nice_match, h2 = e2.strstart > e2.w_size - z ? e2.strstart - (e2.w_size - z) : 0, u2 = e2.window, l2 = e2.w_mask, f2 = e2.prev, c2 = e2.strstart + S, d2 = u2[s2 + a2 - 1], p2 = u2[s2 + a2]; - e2.prev_length >= e2.good_match && (i2 >>= 2), o2 > e2.lookahead && (o2 = e2.lookahead); - do { - if (u2[(r2 = t2) + a2] === p2 && u2[r2 + a2 - 1] === d2 && u2[r2] === u2[s2] && u2[++r2] === u2[s2 + 1]) { - s2 += 2, r2++; - do { - } while (u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && s2 < c2); - if (n2 = S - (c2 - s2), s2 = c2 - S, a2 < n2) { - if (e2.match_start = t2, o2 <= (a2 = n2)) break; - d2 = u2[s2 + a2 - 1], p2 = u2[s2 + a2]; - } - } - } while ((t2 = f2[t2 & l2]) > h2 && 0 != --i2); - return a2 <= e2.lookahead ? a2 : e2.lookahead; - } - function j(e2) { - var t2, r2, n2, i2, s2, a2, o2, h2, u2, l2, f2 = e2.w_size; - do { - if (i2 = e2.window_size - e2.lookahead - e2.strstart, e2.strstart >= f2 + (f2 - z)) { - for (c.arraySet(e2.window, e2.window, f2, f2, 0), e2.match_start -= f2, e2.strstart -= f2, e2.block_start -= f2, t2 = r2 = e2.hash_size; n2 = e2.head[--t2], e2.head[t2] = f2 <= n2 ? n2 - f2 : 0, --r2; ) ; - for (t2 = r2 = f2; n2 = e2.prev[--t2], e2.prev[t2] = f2 <= n2 ? n2 - f2 : 0, --r2; ) ; - i2 += f2; - } - if (0 === e2.strm.avail_in) break; - if (a2 = e2.strm, o2 = e2.window, h2 = e2.strstart + e2.lookahead, u2 = i2, l2 = void 0, l2 = a2.avail_in, u2 < l2 && (l2 = u2), r2 = 0 === l2 ? 0 : (a2.avail_in -= l2, c.arraySet(o2, a2.input, a2.next_in, l2, h2), 1 === a2.state.wrap ? a2.adler = d(a2.adler, o2, l2, h2) : 2 === a2.state.wrap && (a2.adler = p(a2.adler, o2, l2, h2)), a2.next_in += l2, a2.total_in += l2, l2), e2.lookahead += r2, e2.lookahead + e2.insert >= x) for (s2 = e2.strstart - e2.insert, e2.ins_h = e2.window[s2], e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[s2 + 1]) & e2.hash_mask; e2.insert && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[s2 + x - 1]) & e2.hash_mask, e2.prev[s2 & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = s2, s2++, e2.insert--, !(e2.lookahead + e2.insert < x)); ) ; - } while (e2.lookahead < z && 0 !== e2.strm.avail_in); - } - function Z(e2, t2) { - for (var r2, n2; ; ) { - if (e2.lookahead < z) { - if (j(e2), e2.lookahead < z && t2 === l) return A; - if (0 === e2.lookahead) break; - } - if (r2 = 0, e2.lookahead >= x && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), 0 !== r2 && e2.strstart - r2 <= e2.w_size - z && (e2.match_length = L(e2, r2)), e2.match_length >= x) if (n2 = u._tr_tally(e2, e2.strstart - e2.match_start, e2.match_length - x), e2.lookahead -= e2.match_length, e2.match_length <= e2.max_lazy_match && e2.lookahead >= x) { - for (e2.match_length--; e2.strstart++, e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart, 0 != --e2.match_length; ) ; - e2.strstart++; - } else e2.strstart += e2.match_length, e2.match_length = 0, e2.ins_h = e2.window[e2.strstart], e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + 1]) & e2.hash_mask; - else n2 = u._tr_tally(e2, 0, e2.window[e2.strstart]), e2.lookahead--, e2.strstart++; - if (n2 && (N(e2, false), 0 === e2.strm.avail_out)) return A; - } - return e2.insert = e2.strstart < x - 1 ? e2.strstart : x - 1, t2 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : e2.last_lit && (N(e2, false), 0 === e2.strm.avail_out) ? A : I; - } - function W(e2, t2) { - for (var r2, n2, i2; ; ) { - if (e2.lookahead < z) { - if (j(e2), e2.lookahead < z && t2 === l) return A; - if (0 === e2.lookahead) break; - } - if (r2 = 0, e2.lookahead >= x && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), e2.prev_length = e2.match_length, e2.prev_match = e2.match_start, e2.match_length = x - 1, 0 !== r2 && e2.prev_length < e2.max_lazy_match && e2.strstart - r2 <= e2.w_size - z && (e2.match_length = L(e2, r2), e2.match_length <= 5 && (1 === e2.strategy || e2.match_length === x && 4096 < e2.strstart - e2.match_start) && (e2.match_length = x - 1)), e2.prev_length >= x && e2.match_length <= e2.prev_length) { - for (i2 = e2.strstart + e2.lookahead - x, n2 = u._tr_tally(e2, e2.strstart - 1 - e2.prev_match, e2.prev_length - x), e2.lookahead -= e2.prev_length - 1, e2.prev_length -= 2; ++e2.strstart <= i2 && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), 0 != --e2.prev_length; ) ; - if (e2.match_available = 0, e2.match_length = x - 1, e2.strstart++, n2 && (N(e2, false), 0 === e2.strm.avail_out)) return A; - } else if (e2.match_available) { - if ((n2 = u._tr_tally(e2, 0, e2.window[e2.strstart - 1])) && N(e2, false), e2.strstart++, e2.lookahead--, 0 === e2.strm.avail_out) return A; - } else e2.match_available = 1, e2.strstart++, e2.lookahead--; - } - return e2.match_available && (n2 = u._tr_tally(e2, 0, e2.window[e2.strstart - 1]), e2.match_available = 0), e2.insert = e2.strstart < x - 1 ? e2.strstart : x - 1, t2 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : e2.last_lit && (N(e2, false), 0 === e2.strm.avail_out) ? A : I; - } - function M(e2, t2, r2, n2, i2) { - this.good_length = e2, this.max_lazy = t2, this.nice_length = r2, this.max_chain = n2, this.func = i2; - } - function H() { - this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = v, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new c.Buf16(2 * w), this.dyn_dtree = new c.Buf16(2 * (2 * a + 1)), this.bl_tree = new c.Buf16(2 * (2 * o + 1)), D(this.dyn_ltree), D(this.dyn_dtree), D(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new c.Buf16(k + 1), this.heap = new c.Buf16(2 * s + 1), D(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new c.Buf16(2 * s + 1), D(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0; - } - function G(e2) { - var t2; - return e2 && e2.state ? (e2.total_in = e2.total_out = 0, e2.data_type = i, (t2 = e2.state).pending = 0, t2.pending_out = 0, t2.wrap < 0 && (t2.wrap = -t2.wrap), t2.status = t2.wrap ? C : E, e2.adler = 2 === t2.wrap ? 0 : 1, t2.last_flush = l, u._tr_init(t2), m) : R(e2, _); - } - function K(e2) { - var t2 = G(e2); - return t2 === m && (function(e3) { - e3.window_size = 2 * e3.w_size, D(e3.head), e3.max_lazy_match = h[e3.level].max_lazy, e3.good_match = h[e3.level].good_length, e3.nice_match = h[e3.level].nice_length, e3.max_chain_length = h[e3.level].max_chain, e3.strstart = 0, e3.block_start = 0, e3.lookahead = 0, e3.insert = 0, e3.match_length = e3.prev_length = x - 1, e3.match_available = 0, e3.ins_h = 0; - })(e2.state), t2; - } - function Y(e2, t2, r2, n2, i2, s2) { - if (!e2) return _; - var a2 = 1; - if (t2 === g && (t2 = 6), n2 < 0 ? (a2 = 0, n2 = -n2) : 15 < n2 && (a2 = 2, n2 -= 16), i2 < 1 || y < i2 || r2 !== v || n2 < 8 || 15 < n2 || t2 < 0 || 9 < t2 || s2 < 0 || b < s2) return R(e2, _); - 8 === n2 && (n2 = 9); - var o2 = new H(); - return (e2.state = o2).strm = e2, o2.wrap = a2, o2.gzhead = null, o2.w_bits = n2, o2.w_size = 1 << o2.w_bits, o2.w_mask = o2.w_size - 1, o2.hash_bits = i2 + 7, o2.hash_size = 1 << o2.hash_bits, o2.hash_mask = o2.hash_size - 1, o2.hash_shift = ~~((o2.hash_bits + x - 1) / x), o2.window = new c.Buf8(2 * o2.w_size), o2.head = new c.Buf16(o2.hash_size), o2.prev = new c.Buf16(o2.w_size), o2.lit_bufsize = 1 << i2 + 6, o2.pending_buf_size = 4 * o2.lit_bufsize, o2.pending_buf = new c.Buf8(o2.pending_buf_size), o2.d_buf = 1 * o2.lit_bufsize, o2.l_buf = 3 * o2.lit_bufsize, o2.level = t2, o2.strategy = s2, o2.method = r2, K(e2); - } - h = [new M(0, 0, 0, 0, function(e2, t2) { - var r2 = 65535; - for (r2 > e2.pending_buf_size - 5 && (r2 = e2.pending_buf_size - 5); ; ) { - if (e2.lookahead <= 1) { - if (j(e2), 0 === e2.lookahead && t2 === l) return A; - if (0 === e2.lookahead) break; - } - e2.strstart += e2.lookahead, e2.lookahead = 0; - var n2 = e2.block_start + r2; - if ((0 === e2.strstart || e2.strstart >= n2) && (e2.lookahead = e2.strstart - n2, e2.strstart = n2, N(e2, false), 0 === e2.strm.avail_out)) return A; - if (e2.strstart - e2.block_start >= e2.w_size - z && (N(e2, false), 0 === e2.strm.avail_out)) return A; - } - return e2.insert = 0, t2 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : (e2.strstart > e2.block_start && (N(e2, false), e2.strm.avail_out), A); - }), new M(4, 4, 8, 4, Z), new M(4, 5, 16, 8, Z), new M(4, 6, 32, 32, Z), new M(4, 4, 16, 16, W), new M(8, 16, 32, 32, W), new M(8, 16, 128, 128, W), new M(8, 32, 128, 256, W), new M(32, 128, 258, 1024, W), new M(32, 258, 258, 4096, W)], r.deflateInit = function(e2, t2) { - return Y(e2, t2, v, 15, 8, 0); - }, r.deflateInit2 = Y, r.deflateReset = K, r.deflateResetKeep = G, r.deflateSetHeader = function(e2, t2) { - return e2 && e2.state ? 2 !== e2.state.wrap ? _ : (e2.state.gzhead = t2, m) : _; - }, r.deflate = function(e2, t2) { - var r2, n2, i2, s2; - if (!e2 || !e2.state || 5 < t2 || t2 < 0) return e2 ? R(e2, _) : _; - if (n2 = e2.state, !e2.output || !e2.input && 0 !== e2.avail_in || 666 === n2.status && t2 !== f) return R(e2, 0 === e2.avail_out ? -5 : _); - if (n2.strm = e2, r2 = n2.last_flush, n2.last_flush = t2, n2.status === C) if (2 === n2.wrap) e2.adler = 0, U(n2, 31), U(n2, 139), U(n2, 8), n2.gzhead ? (U(n2, (n2.gzhead.text ? 1 : 0) + (n2.gzhead.hcrc ? 2 : 0) + (n2.gzhead.extra ? 4 : 0) + (n2.gzhead.name ? 8 : 0) + (n2.gzhead.comment ? 16 : 0)), U(n2, 255 & n2.gzhead.time), U(n2, n2.gzhead.time >> 8 & 255), U(n2, n2.gzhead.time >> 16 & 255), U(n2, n2.gzhead.time >> 24 & 255), U(n2, 9 === n2.level ? 2 : 2 <= n2.strategy || n2.level < 2 ? 4 : 0), U(n2, 255 & n2.gzhead.os), n2.gzhead.extra && n2.gzhead.extra.length && (U(n2, 255 & n2.gzhead.extra.length), U(n2, n2.gzhead.extra.length >> 8 & 255)), n2.gzhead.hcrc && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending, 0)), n2.gzindex = 0, n2.status = 69) : (U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 9 === n2.level ? 2 : 2 <= n2.strategy || n2.level < 2 ? 4 : 0), U(n2, 3), n2.status = E); - else { - var a2 = v + (n2.w_bits - 8 << 4) << 8; - a2 |= (2 <= n2.strategy || n2.level < 2 ? 0 : n2.level < 6 ? 1 : 6 === n2.level ? 2 : 3) << 6, 0 !== n2.strstart && (a2 |= 32), a2 += 31 - a2 % 31, n2.status = E, P(n2, a2), 0 !== n2.strstart && (P(n2, e2.adler >>> 16), P(n2, 65535 & e2.adler)), e2.adler = 1; - } - if (69 === n2.status) if (n2.gzhead.extra) { - for (i2 = n2.pending; n2.gzindex < (65535 & n2.gzhead.extra.length) && (n2.pending !== n2.pending_buf_size || (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F(e2), i2 = n2.pending, n2.pending !== n2.pending_buf_size)); ) U(n2, 255 & n2.gzhead.extra[n2.gzindex]), n2.gzindex++; - n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), n2.gzindex === n2.gzhead.extra.length && (n2.gzindex = 0, n2.status = 73); - } else n2.status = 73; - if (73 === n2.status) if (n2.gzhead.name) { - i2 = n2.pending; - do { - if (n2.pending === n2.pending_buf_size && (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F(e2), i2 = n2.pending, n2.pending === n2.pending_buf_size)) { - s2 = 1; - break; - } - s2 = n2.gzindex < n2.gzhead.name.length ? 255 & n2.gzhead.name.charCodeAt(n2.gzindex++) : 0, U(n2, s2); - } while (0 !== s2); - n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), 0 === s2 && (n2.gzindex = 0, n2.status = 91); - } else n2.status = 91; - if (91 === n2.status) if (n2.gzhead.comment) { - i2 = n2.pending; - do { - if (n2.pending === n2.pending_buf_size && (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F(e2), i2 = n2.pending, n2.pending === n2.pending_buf_size)) { - s2 = 1; - break; - } - s2 = n2.gzindex < n2.gzhead.comment.length ? 255 & n2.gzhead.comment.charCodeAt(n2.gzindex++) : 0, U(n2, s2); - } while (0 !== s2); - n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), 0 === s2 && (n2.status = 103); - } else n2.status = 103; - if (103 === n2.status && (n2.gzhead.hcrc ? (n2.pending + 2 > n2.pending_buf_size && F(e2), n2.pending + 2 <= n2.pending_buf_size && (U(n2, 255 & e2.adler), U(n2, e2.adler >> 8 & 255), e2.adler = 0, n2.status = E)) : n2.status = E), 0 !== n2.pending) { - if (F(e2), 0 === e2.avail_out) return n2.last_flush = -1, m; - } else if (0 === e2.avail_in && T(t2) <= T(r2) && t2 !== f) return R(e2, -5); - if (666 === n2.status && 0 !== e2.avail_in) return R(e2, -5); - if (0 !== e2.avail_in || 0 !== n2.lookahead || t2 !== l && 666 !== n2.status) { - var o2 = 2 === n2.strategy ? (function(e3, t3) { - for (var r3; ; ) { - if (0 === e3.lookahead && (j(e3), 0 === e3.lookahead)) { - if (t3 === l) return A; - break; - } - if (e3.match_length = 0, r3 = u._tr_tally(e3, 0, e3.window[e3.strstart]), e3.lookahead--, e3.strstart++, r3 && (N(e3, false), 0 === e3.strm.avail_out)) return A; - } - return e3.insert = 0, t3 === f ? (N(e3, true), 0 === e3.strm.avail_out ? O : B) : e3.last_lit && (N(e3, false), 0 === e3.strm.avail_out) ? A : I; - })(n2, t2) : 3 === n2.strategy ? (function(e3, t3) { - for (var r3, n3, i3, s3, a3 = e3.window; ; ) { - if (e3.lookahead <= S) { - if (j(e3), e3.lookahead <= S && t3 === l) return A; - if (0 === e3.lookahead) break; - } - if (e3.match_length = 0, e3.lookahead >= x && 0 < e3.strstart && (n3 = a3[i3 = e3.strstart - 1]) === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3]) { - s3 = e3.strstart + S; - do { - } while (n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && i3 < s3); - e3.match_length = S - (s3 - i3), e3.match_length > e3.lookahead && (e3.match_length = e3.lookahead); - } - if (e3.match_length >= x ? (r3 = u._tr_tally(e3, 1, e3.match_length - x), e3.lookahead -= e3.match_length, e3.strstart += e3.match_length, e3.match_length = 0) : (r3 = u._tr_tally(e3, 0, e3.window[e3.strstart]), e3.lookahead--, e3.strstart++), r3 && (N(e3, false), 0 === e3.strm.avail_out)) return A; - } - return e3.insert = 0, t3 === f ? (N(e3, true), 0 === e3.strm.avail_out ? O : B) : e3.last_lit && (N(e3, false), 0 === e3.strm.avail_out) ? A : I; - })(n2, t2) : h[n2.level].func(n2, t2); - if (o2 !== O && o2 !== B || (n2.status = 666), o2 === A || o2 === O) return 0 === e2.avail_out && (n2.last_flush = -1), m; - if (o2 === I && (1 === t2 ? u._tr_align(n2) : 5 !== t2 && (u._tr_stored_block(n2, 0, 0, false), 3 === t2 && (D(n2.head), 0 === n2.lookahead && (n2.strstart = 0, n2.block_start = 0, n2.insert = 0))), F(e2), 0 === e2.avail_out)) return n2.last_flush = -1, m; - } - return t2 !== f ? m : n2.wrap <= 0 ? 1 : (2 === n2.wrap ? (U(n2, 255 & e2.adler), U(n2, e2.adler >> 8 & 255), U(n2, e2.adler >> 16 & 255), U(n2, e2.adler >> 24 & 255), U(n2, 255 & e2.total_in), U(n2, e2.total_in >> 8 & 255), U(n2, e2.total_in >> 16 & 255), U(n2, e2.total_in >> 24 & 255)) : (P(n2, e2.adler >>> 16), P(n2, 65535 & e2.adler)), F(e2), 0 < n2.wrap && (n2.wrap = -n2.wrap), 0 !== n2.pending ? m : 1); - }, r.deflateEnd = function(e2) { - var t2; - return e2 && e2.state ? (t2 = e2.state.status) !== C && 69 !== t2 && 73 !== t2 && 91 !== t2 && 103 !== t2 && t2 !== E && 666 !== t2 ? R(e2, _) : (e2.state = null, t2 === E ? R(e2, -3) : m) : _; - }, r.deflateSetDictionary = function(e2, t2) { - var r2, n2, i2, s2, a2, o2, h2, u2, l2 = t2.length; - if (!e2 || !e2.state) return _; - if (2 === (s2 = (r2 = e2.state).wrap) || 1 === s2 && r2.status !== C || r2.lookahead) return _; - for (1 === s2 && (e2.adler = d(e2.adler, t2, l2, 0)), r2.wrap = 0, l2 >= r2.w_size && (0 === s2 && (D(r2.head), r2.strstart = 0, r2.block_start = 0, r2.insert = 0), u2 = new c.Buf8(r2.w_size), c.arraySet(u2, t2, l2 - r2.w_size, r2.w_size, 0), t2 = u2, l2 = r2.w_size), a2 = e2.avail_in, o2 = e2.next_in, h2 = e2.input, e2.avail_in = l2, e2.next_in = 0, e2.input = t2, j(r2); r2.lookahead >= x; ) { - for (n2 = r2.strstart, i2 = r2.lookahead - (x - 1); r2.ins_h = (r2.ins_h << r2.hash_shift ^ r2.window[n2 + x - 1]) & r2.hash_mask, r2.prev[n2 & r2.w_mask] = r2.head[r2.ins_h], r2.head[r2.ins_h] = n2, n2++, --i2; ) ; - r2.strstart = n2, r2.lookahead = x - 1, j(r2); - } - return r2.strstart += r2.lookahead, r2.block_start = r2.strstart, r2.insert = r2.lookahead, r2.lookahead = 0, r2.match_length = r2.prev_length = x - 1, r2.match_available = 0, e2.next_in = o2, e2.input = h2, e2.avail_in = a2, r2.wrap = s2, m; - }, r.deflateInfo = "pako deflate (from Nodeca project)"; - }, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./messages": 51, "./trees": 52 }], 47: [function(e, t, r) { - "use strict"; - t.exports = function() { - this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = false; - }; - }, {}], 48: [function(e, t, r) { - "use strict"; - t.exports = function(e2, t2) { - var r2, n, i, s, a, o, h, u, l, f, c, d, p, m, _, g, b, v, y, w, k, x, S, z, C; - r2 = e2.state, n = e2.next_in, z = e2.input, i = n + (e2.avail_in - 5), s = e2.next_out, C = e2.output, a = s - (t2 - e2.avail_out), o = s + (e2.avail_out - 257), h = r2.dmax, u = r2.wsize, l = r2.whave, f = r2.wnext, c = r2.window, d = r2.hold, p = r2.bits, m = r2.lencode, _ = r2.distcode, g = (1 << r2.lenbits) - 1, b = (1 << r2.distbits) - 1; - e: do { - p < 15 && (d += z[n++] << p, p += 8, d += z[n++] << p, p += 8), v = m[d & g]; - t: for (; ; ) { - if (d >>>= y = v >>> 24, p -= y, 0 === (y = v >>> 16 & 255)) C[s++] = 65535 & v; - else { - if (!(16 & y)) { - if (0 == (64 & y)) { - v = m[(65535 & v) + (d & (1 << y) - 1)]; - continue t; - } - if (32 & y) { - r2.mode = 12; - break e; - } - e2.msg = "invalid literal/length code", r2.mode = 30; - break e; - } - w = 65535 & v, (y &= 15) && (p < y && (d += z[n++] << p, p += 8), w += d & (1 << y) - 1, d >>>= y, p -= y), p < 15 && (d += z[n++] << p, p += 8, d += z[n++] << p, p += 8), v = _[d & b]; - r: for (; ; ) { - if (d >>>= y = v >>> 24, p -= y, !(16 & (y = v >>> 16 & 255))) { - if (0 == (64 & y)) { - v = _[(65535 & v) + (d & (1 << y) - 1)]; - continue r; - } - e2.msg = "invalid distance code", r2.mode = 30; - break e; - } - if (k = 65535 & v, p < (y &= 15) && (d += z[n++] << p, (p += 8) < y && (d += z[n++] << p, p += 8)), h < (k += d & (1 << y) - 1)) { - e2.msg = "invalid distance too far back", r2.mode = 30; - break e; - } - if (d >>>= y, p -= y, (y = s - a) < k) { - if (l < (y = k - y) && r2.sane) { - e2.msg = "invalid distance too far back", r2.mode = 30; - break e; - } - if (S = c, (x = 0) === f) { - if (x += u - y, y < w) { - for (w -= y; C[s++] = c[x++], --y; ) ; - x = s - k, S = C; - } - } else if (f < y) { - if (x += u + f - y, (y -= f) < w) { - for (w -= y; C[s++] = c[x++], --y; ) ; - if (x = 0, f < w) { - for (w -= y = f; C[s++] = c[x++], --y; ) ; - x = s - k, S = C; - } - } - } else if (x += f - y, y < w) { - for (w -= y; C[s++] = c[x++], --y; ) ; - x = s - k, S = C; - } - for (; 2 < w; ) C[s++] = S[x++], C[s++] = S[x++], C[s++] = S[x++], w -= 3; - w && (C[s++] = S[x++], 1 < w && (C[s++] = S[x++])); - } else { - for (x = s - k; C[s++] = C[x++], C[s++] = C[x++], C[s++] = C[x++], 2 < (w -= 3); ) ; - w && (C[s++] = C[x++], 1 < w && (C[s++] = C[x++])); - } - break; - } - } - break; - } - } while (n < i && s < o); - n -= w = p >> 3, d &= (1 << (p -= w << 3)) - 1, e2.next_in = n, e2.next_out = s, e2.avail_in = n < i ? i - n + 5 : 5 - (n - i), e2.avail_out = s < o ? o - s + 257 : 257 - (s - o), r2.hold = d, r2.bits = p; - }; - }, {}], 49: [function(e, t, r) { - "use strict"; - var I = e("../utils/common"), O = e("./adler32"), B = e("./crc32"), R = e("./inffast"), T = e("./inftrees"), D = 1, F = 2, N = 0, U = -2, P = 1, n = 852, i = 592; - function L(e2) { - return (e2 >>> 24 & 255) + (e2 >>> 8 & 65280) + ((65280 & e2) << 8) + ((255 & e2) << 24); - } - function s() { - this.mode = 0, this.last = false, this.wrap = 0, this.havedict = false, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new I.Buf16(320), this.work = new I.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0; - } - function a(e2) { - var t2; - return e2 && e2.state ? (t2 = e2.state, e2.total_in = e2.total_out = t2.total = 0, e2.msg = "", t2.wrap && (e2.adler = 1 & t2.wrap), t2.mode = P, t2.last = 0, t2.havedict = 0, t2.dmax = 32768, t2.head = null, t2.hold = 0, t2.bits = 0, t2.lencode = t2.lendyn = new I.Buf32(n), t2.distcode = t2.distdyn = new I.Buf32(i), t2.sane = 1, t2.back = -1, N) : U; - } - function o(e2) { - var t2; - return e2 && e2.state ? ((t2 = e2.state).wsize = 0, t2.whave = 0, t2.wnext = 0, a(e2)) : U; - } - function h(e2, t2) { - var r2, n2; - return e2 && e2.state ? (n2 = e2.state, t2 < 0 ? (r2 = 0, t2 = -t2) : (r2 = 1 + (t2 >> 4), t2 < 48 && (t2 &= 15)), t2 && (t2 < 8 || 15 < t2) ? U : (null !== n2.window && n2.wbits !== t2 && (n2.window = null), n2.wrap = r2, n2.wbits = t2, o(e2))) : U; - } - function u(e2, t2) { - var r2, n2; - return e2 ? (n2 = new s(), (e2.state = n2).window = null, (r2 = h(e2, t2)) !== N && (e2.state = null), r2) : U; - } - var l, f, c = true; - function j(e2) { - if (c) { - var t2; - for (l = new I.Buf32(512), f = new I.Buf32(32), t2 = 0; t2 < 144; ) e2.lens[t2++] = 8; - for (; t2 < 256; ) e2.lens[t2++] = 9; - for (; t2 < 280; ) e2.lens[t2++] = 7; - for (; t2 < 288; ) e2.lens[t2++] = 8; - for (T(D, e2.lens, 0, 288, l, 0, e2.work, { bits: 9 }), t2 = 0; t2 < 32; ) e2.lens[t2++] = 5; - T(F, e2.lens, 0, 32, f, 0, e2.work, { bits: 5 }), c = false; - } - e2.lencode = l, e2.lenbits = 9, e2.distcode = f, e2.distbits = 5; - } - function Z(e2, t2, r2, n2) { - var i2, s2 = e2.state; - return null === s2.window && (s2.wsize = 1 << s2.wbits, s2.wnext = 0, s2.whave = 0, s2.window = new I.Buf8(s2.wsize)), n2 >= s2.wsize ? (I.arraySet(s2.window, t2, r2 - s2.wsize, s2.wsize, 0), s2.wnext = 0, s2.whave = s2.wsize) : (n2 < (i2 = s2.wsize - s2.wnext) && (i2 = n2), I.arraySet(s2.window, t2, r2 - n2, i2, s2.wnext), (n2 -= i2) ? (I.arraySet(s2.window, t2, r2 - n2, n2, 0), s2.wnext = n2, s2.whave = s2.wsize) : (s2.wnext += i2, s2.wnext === s2.wsize && (s2.wnext = 0), s2.whave < s2.wsize && (s2.whave += i2))), 0; - } - r.inflateReset = o, r.inflateReset2 = h, r.inflateResetKeep = a, r.inflateInit = function(e2) { - return u(e2, 15); - }, r.inflateInit2 = u, r.inflate = function(e2, t2) { - var r2, n2, i2, s2, a2, o2, h2, u2, l2, f2, c2, d, p, m, _, g, b, v, y, w, k, x, S, z, C = 0, E = new I.Buf8(4), A = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; - if (!e2 || !e2.state || !e2.output || !e2.input && 0 !== e2.avail_in) return U; - 12 === (r2 = e2.state).mode && (r2.mode = 13), a2 = e2.next_out, i2 = e2.output, h2 = e2.avail_out, s2 = e2.next_in, n2 = e2.input, o2 = e2.avail_in, u2 = r2.hold, l2 = r2.bits, f2 = o2, c2 = h2, x = N; - e: for (; ; ) switch (r2.mode) { - case P: - if (0 === r2.wrap) { - r2.mode = 13; - break; - } - for (; l2 < 16; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (2 & r2.wrap && 35615 === u2) { - E[r2.check = 0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0), l2 = u2 = 0, r2.mode = 2; - break; - } - if (r2.flags = 0, r2.head && (r2.head.done = false), !(1 & r2.wrap) || (((255 & u2) << 8) + (u2 >> 8)) % 31) { - e2.msg = "incorrect header check", r2.mode = 30; - break; - } - if (8 != (15 & u2)) { - e2.msg = "unknown compression method", r2.mode = 30; - break; - } - if (l2 -= 4, k = 8 + (15 & (u2 >>>= 4)), 0 === r2.wbits) r2.wbits = k; - else if (k > r2.wbits) { - e2.msg = "invalid window size", r2.mode = 30; - break; - } - r2.dmax = 1 << k, e2.adler = r2.check = 1, r2.mode = 512 & u2 ? 10 : 12, l2 = u2 = 0; - break; - case 2: - for (; l2 < 16; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (r2.flags = u2, 8 != (255 & r2.flags)) { - e2.msg = "unknown compression method", r2.mode = 30; - break; - } - if (57344 & r2.flags) { - e2.msg = "unknown header flags set", r2.mode = 30; - break; - } - r2.head && (r2.head.text = u2 >> 8 & 1), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0, r2.mode = 3; - case 3: - for (; l2 < 32; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - r2.head && (r2.head.time = u2), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, E[2] = u2 >>> 16 & 255, E[3] = u2 >>> 24 & 255, r2.check = B(r2.check, E, 4, 0)), l2 = u2 = 0, r2.mode = 4; - case 4: - for (; l2 < 16; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - r2.head && (r2.head.xflags = 255 & u2, r2.head.os = u2 >> 8), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0, r2.mode = 5; - case 5: - if (1024 & r2.flags) { - for (; l2 < 16; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - r2.length = u2, r2.head && (r2.head.extra_len = u2), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0; - } else r2.head && (r2.head.extra = null); - r2.mode = 6; - case 6: - if (1024 & r2.flags && (o2 < (d = r2.length) && (d = o2), d && (r2.head && (k = r2.head.extra_len - r2.length, r2.head.extra || (r2.head.extra = new Array(r2.head.extra_len)), I.arraySet(r2.head.extra, n2, s2, d, k)), 512 & r2.flags && (r2.check = B(r2.check, n2, d, s2)), o2 -= d, s2 += d, r2.length -= d), r2.length)) break e; - r2.length = 0, r2.mode = 7; - case 7: - if (2048 & r2.flags) { - if (0 === o2) break e; - for (d = 0; k = n2[s2 + d++], r2.head && k && r2.length < 65536 && (r2.head.name += String.fromCharCode(k)), k && d < o2; ) ; - if (512 & r2.flags && (r2.check = B(r2.check, n2, d, s2)), o2 -= d, s2 += d, k) break e; - } else r2.head && (r2.head.name = null); - r2.length = 0, r2.mode = 8; - case 8: - if (4096 & r2.flags) { - if (0 === o2) break e; - for (d = 0; k = n2[s2 + d++], r2.head && k && r2.length < 65536 && (r2.head.comment += String.fromCharCode(k)), k && d < o2; ) ; - if (512 & r2.flags && (r2.check = B(r2.check, n2, d, s2)), o2 -= d, s2 += d, k) break e; - } else r2.head && (r2.head.comment = null); - r2.mode = 9; - case 9: - if (512 & r2.flags) { - for (; l2 < 16; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (u2 !== (65535 & r2.check)) { - e2.msg = "header crc mismatch", r2.mode = 30; - break; - } - l2 = u2 = 0; - } - r2.head && (r2.head.hcrc = r2.flags >> 9 & 1, r2.head.done = true), e2.adler = r2.check = 0, r2.mode = 12; - break; - case 10: - for (; l2 < 32; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - e2.adler = r2.check = L(u2), l2 = u2 = 0, r2.mode = 11; - case 11: - if (0 === r2.havedict) return e2.next_out = a2, e2.avail_out = h2, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, 2; - e2.adler = r2.check = 1, r2.mode = 12; - case 12: - if (5 === t2 || 6 === t2) break e; - case 13: - if (r2.last) { - u2 >>>= 7 & l2, l2 -= 7 & l2, r2.mode = 27; - break; - } - for (; l2 < 3; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - switch (r2.last = 1 & u2, l2 -= 1, 3 & (u2 >>>= 1)) { - case 0: - r2.mode = 14; - break; - case 1: - if (j(r2), r2.mode = 20, 6 !== t2) break; - u2 >>>= 2, l2 -= 2; - break e; - case 2: - r2.mode = 17; - break; - case 3: - e2.msg = "invalid block type", r2.mode = 30; - } - u2 >>>= 2, l2 -= 2; - break; - case 14: - for (u2 >>>= 7 & l2, l2 -= 7 & l2; l2 < 32; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if ((65535 & u2) != (u2 >>> 16 ^ 65535)) { - e2.msg = "invalid stored block lengths", r2.mode = 30; - break; - } - if (r2.length = 65535 & u2, l2 = u2 = 0, r2.mode = 15, 6 === t2) break e; - case 15: - r2.mode = 16; - case 16: - if (d = r2.length) { - if (o2 < d && (d = o2), h2 < d && (d = h2), 0 === d) break e; - I.arraySet(i2, n2, s2, d, a2), o2 -= d, s2 += d, h2 -= d, a2 += d, r2.length -= d; - break; - } - r2.mode = 12; - break; - case 17: - for (; l2 < 14; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (r2.nlen = 257 + (31 & u2), u2 >>>= 5, l2 -= 5, r2.ndist = 1 + (31 & u2), u2 >>>= 5, l2 -= 5, r2.ncode = 4 + (15 & u2), u2 >>>= 4, l2 -= 4, 286 < r2.nlen || 30 < r2.ndist) { - e2.msg = "too many length or distance symbols", r2.mode = 30; - break; - } - r2.have = 0, r2.mode = 18; - case 18: - for (; r2.have < r2.ncode; ) { - for (; l2 < 3; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - r2.lens[A[r2.have++]] = 7 & u2, u2 >>>= 3, l2 -= 3; - } - for (; r2.have < 19; ) r2.lens[A[r2.have++]] = 0; - if (r2.lencode = r2.lendyn, r2.lenbits = 7, S = { bits: r2.lenbits }, x = T(0, r2.lens, 0, 19, r2.lencode, 0, r2.work, S), r2.lenbits = S.bits, x) { - e2.msg = "invalid code lengths set", r2.mode = 30; - break; - } - r2.have = 0, r2.mode = 19; - case 19: - for (; r2.have < r2.nlen + r2.ndist; ) { - for (; g = (C = r2.lencode[u2 & (1 << r2.lenbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l2); ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (b < 16) u2 >>>= _, l2 -= _, r2.lens[r2.have++] = b; - else { - if (16 === b) { - for (z = _ + 2; l2 < z; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (u2 >>>= _, l2 -= _, 0 === r2.have) { - e2.msg = "invalid bit length repeat", r2.mode = 30; - break; - } - k = r2.lens[r2.have - 1], d = 3 + (3 & u2), u2 >>>= 2, l2 -= 2; - } else if (17 === b) { - for (z = _ + 3; l2 < z; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - l2 -= _, k = 0, d = 3 + (7 & (u2 >>>= _)), u2 >>>= 3, l2 -= 3; - } else { - for (z = _ + 7; l2 < z; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - l2 -= _, k = 0, d = 11 + (127 & (u2 >>>= _)), u2 >>>= 7, l2 -= 7; - } - if (r2.have + d > r2.nlen + r2.ndist) { - e2.msg = "invalid bit length repeat", r2.mode = 30; - break; - } - for (; d--; ) r2.lens[r2.have++] = k; - } - } - if (30 === r2.mode) break; - if (0 === r2.lens[256]) { - e2.msg = "invalid code -- missing end-of-block", r2.mode = 30; - break; - } - if (r2.lenbits = 9, S = { bits: r2.lenbits }, x = T(D, r2.lens, 0, r2.nlen, r2.lencode, 0, r2.work, S), r2.lenbits = S.bits, x) { - e2.msg = "invalid literal/lengths set", r2.mode = 30; - break; - } - if (r2.distbits = 6, r2.distcode = r2.distdyn, S = { bits: r2.distbits }, x = T(F, r2.lens, r2.nlen, r2.ndist, r2.distcode, 0, r2.work, S), r2.distbits = S.bits, x) { - e2.msg = "invalid distances set", r2.mode = 30; - break; - } - if (r2.mode = 20, 6 === t2) break e; - case 20: - r2.mode = 21; - case 21: - if (6 <= o2 && 258 <= h2) { - e2.next_out = a2, e2.avail_out = h2, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, R(e2, c2), a2 = e2.next_out, i2 = e2.output, h2 = e2.avail_out, s2 = e2.next_in, n2 = e2.input, o2 = e2.avail_in, u2 = r2.hold, l2 = r2.bits, 12 === r2.mode && (r2.back = -1); - break; - } - for (r2.back = 0; g = (C = r2.lencode[u2 & (1 << r2.lenbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l2); ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (g && 0 == (240 & g)) { - for (v = _, y = g, w = b; g = (C = r2.lencode[w + ((u2 & (1 << v + y) - 1) >> v)]) >>> 16 & 255, b = 65535 & C, !(v + (_ = C >>> 24) <= l2); ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - u2 >>>= v, l2 -= v, r2.back += v; - } - if (u2 >>>= _, l2 -= _, r2.back += _, r2.length = b, 0 === g) { - r2.mode = 26; - break; - } - if (32 & g) { - r2.back = -1, r2.mode = 12; - break; - } - if (64 & g) { - e2.msg = "invalid literal/length code", r2.mode = 30; - break; - } - r2.extra = 15 & g, r2.mode = 22; - case 22: - if (r2.extra) { - for (z = r2.extra; l2 < z; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - r2.length += u2 & (1 << r2.extra) - 1, u2 >>>= r2.extra, l2 -= r2.extra, r2.back += r2.extra; - } - r2.was = r2.length, r2.mode = 23; - case 23: - for (; g = (C = r2.distcode[u2 & (1 << r2.distbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l2); ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (0 == (240 & g)) { - for (v = _, y = g, w = b; g = (C = r2.distcode[w + ((u2 & (1 << v + y) - 1) >> v)]) >>> 16 & 255, b = 65535 & C, !(v + (_ = C >>> 24) <= l2); ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - u2 >>>= v, l2 -= v, r2.back += v; - } - if (u2 >>>= _, l2 -= _, r2.back += _, 64 & g) { - e2.msg = "invalid distance code", r2.mode = 30; - break; - } - r2.offset = b, r2.extra = 15 & g, r2.mode = 24; - case 24: - if (r2.extra) { - for (z = r2.extra; l2 < z; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - r2.offset += u2 & (1 << r2.extra) - 1, u2 >>>= r2.extra, l2 -= r2.extra, r2.back += r2.extra; - } - if (r2.offset > r2.dmax) { - e2.msg = "invalid distance too far back", r2.mode = 30; - break; - } - r2.mode = 25; - case 25: - if (0 === h2) break e; - if (d = c2 - h2, r2.offset > d) { - if ((d = r2.offset - d) > r2.whave && r2.sane) { - e2.msg = "invalid distance too far back", r2.mode = 30; - break; - } - p = d > r2.wnext ? (d -= r2.wnext, r2.wsize - d) : r2.wnext - d, d > r2.length && (d = r2.length), m = r2.window; - } else m = i2, p = a2 - r2.offset, d = r2.length; - for (h2 < d && (d = h2), h2 -= d, r2.length -= d; i2[a2++] = m[p++], --d; ) ; - 0 === r2.length && (r2.mode = 21); - break; - case 26: - if (0 === h2) break e; - i2[a2++] = r2.length, h2--, r2.mode = 21; - break; - case 27: - if (r2.wrap) { - for (; l2 < 32; ) { - if (0 === o2) break e; - o2--, u2 |= n2[s2++] << l2, l2 += 8; - } - if (c2 -= h2, e2.total_out += c2, r2.total += c2, c2 && (e2.adler = r2.check = r2.flags ? B(r2.check, i2, c2, a2 - c2) : O(r2.check, i2, c2, a2 - c2)), c2 = h2, (r2.flags ? u2 : L(u2)) !== r2.check) { - e2.msg = "incorrect data check", r2.mode = 30; - break; - } - l2 = u2 = 0; - } - r2.mode = 28; - case 28: - if (r2.wrap && r2.flags) { - for (; l2 < 32; ) { - if (0 === o2) break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (u2 !== (4294967295 & r2.total)) { - e2.msg = "incorrect length check", r2.mode = 30; - break; - } - l2 = u2 = 0; - } - r2.mode = 29; - case 29: - x = 1; - break e; - case 30: - x = -3; - break e; - case 31: - return -4; - case 32: - default: - return U; - } - return e2.next_out = a2, e2.avail_out = h2, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, (r2.wsize || c2 !== e2.avail_out && r2.mode < 30 && (r2.mode < 27 || 4 !== t2)) && Z(e2, e2.output, e2.next_out, c2 - e2.avail_out) ? (r2.mode = 31, -4) : (f2 -= e2.avail_in, c2 -= e2.avail_out, e2.total_in += f2, e2.total_out += c2, r2.total += c2, r2.wrap && c2 && (e2.adler = r2.check = r2.flags ? B(r2.check, i2, c2, e2.next_out - c2) : O(r2.check, i2, c2, e2.next_out - c2)), e2.data_type = r2.bits + (r2.last ? 64 : 0) + (12 === r2.mode ? 128 : 0) + (20 === r2.mode || 15 === r2.mode ? 256 : 0), (0 == f2 && 0 === c2 || 4 === t2) && x === N && (x = -5), x); - }, r.inflateEnd = function(e2) { - if (!e2 || !e2.state) return U; - var t2 = e2.state; - return t2.window && (t2.window = null), e2.state = null, N; - }, r.inflateGetHeader = function(e2, t2) { - var r2; - return e2 && e2.state ? 0 == (2 & (r2 = e2.state).wrap) ? U : ((r2.head = t2).done = false, N) : U; - }, r.inflateSetDictionary = function(e2, t2) { - var r2, n2 = t2.length; - return e2 && e2.state ? 0 !== (r2 = e2.state).wrap && 11 !== r2.mode ? U : 11 === r2.mode && O(1, t2, n2, 0) !== r2.check ? -3 : Z(e2, t2, n2, n2) ? (r2.mode = 31, -4) : (r2.havedict = 1, N) : U; - }, r.inflateInfo = "pako inflate (from Nodeca project)"; - }, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./inffast": 48, "./inftrees": 50 }], 50: [function(e, t, r) { - "use strict"; - var D = e("../utils/common"), F = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0], N = [16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78], U = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0], P = [16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64]; - t.exports = function(e2, t2, r2, n, i, s, a, o) { - var h, u, l, f, c, d, p, m, _, g = o.bits, b = 0, v = 0, y = 0, w = 0, k = 0, x = 0, S = 0, z = 0, C = 0, E = 0, A = null, I = 0, O = new D.Buf16(16), B = new D.Buf16(16), R = null, T = 0; - for (b = 0; b <= 15; b++) O[b] = 0; - for (v = 0; v < n; v++) O[t2[r2 + v]]++; - for (k = g, w = 15; 1 <= w && 0 === O[w]; w--) ; - if (w < k && (k = w), 0 === w) return i[s++] = 20971520, i[s++] = 20971520, o.bits = 1, 0; - for (y = 1; y < w && 0 === O[y]; y++) ; - for (k < y && (k = y), b = z = 1; b <= 15; b++) if (z <<= 1, (z -= O[b]) < 0) return -1; - if (0 < z && (0 === e2 || 1 !== w)) return -1; - for (B[1] = 0, b = 1; b < 15; b++) B[b + 1] = B[b] + O[b]; - for (v = 0; v < n; v++) 0 !== t2[r2 + v] && (a[B[t2[r2 + v]]++] = v); - if (d = 0 === e2 ? (A = R = a, 19) : 1 === e2 ? (A = F, I -= 257, R = N, T -= 257, 256) : (A = U, R = P, -1), b = y, c = s, S = v = E = 0, l = -1, f = (C = 1 << (x = k)) - 1, 1 === e2 && 852 < C || 2 === e2 && 592 < C) return 1; - for (; ; ) { - for (p = b - S, _ = a[v] < d ? (m = 0, a[v]) : a[v] > d ? (m = R[T + a[v]], A[I + a[v]]) : (m = 96, 0), h = 1 << b - S, y = u = 1 << x; i[c + (E >> S) + (u -= h)] = p << 24 | m << 16 | _ | 0, 0 !== u; ) ; - for (h = 1 << b - 1; E & h; ) h >>= 1; - if (0 !== h ? (E &= h - 1, E += h) : E = 0, v++, 0 == --O[b]) { - if (b === w) break; - b = t2[r2 + a[v]]; - } - if (k < b && (E & f) !== l) { - for (0 === S && (S = k), c += y, z = 1 << (x = b - S); x + S < w && !((z -= O[x + S]) <= 0); ) x++, z <<= 1; - if (C += 1 << x, 1 === e2 && 852 < C || 2 === e2 && 592 < C) return 1; - i[l = E & f] = k << 24 | x << 16 | c - s | 0; - } - } - return 0 !== E && (i[c + E] = b - S << 24 | 64 << 16 | 0), o.bits = k, 0; - }; - }, { "../utils/common": 41 }], 51: [function(e, t, r) { - "use strict"; - t.exports = { 2: "need dictionary", 1: "stream end", 0: "", "-1": "file error", "-2": "stream error", "-3": "data error", "-4": "insufficient memory", "-5": "buffer error", "-6": "incompatible version" }; - }, {}], 52: [function(e, t, r) { - "use strict"; - var i = e("../utils/common"), o = 0, h = 1; - function n(e2) { - for (var t2 = e2.length; 0 <= --t2; ) e2[t2] = 0; - } - var s = 0, a = 29, u = 256, l = u + 1 + a, f = 30, c = 19, _ = 2 * l + 1, g = 15, d = 16, p = 7, m = 256, b = 16, v = 17, y = 18, w = [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], k = [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], x = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], S = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], z = new Array(2 * (l + 2)); - n(z); - var C = new Array(2 * f); - n(C); - var E = new Array(512); - n(E); - var A = new Array(256); - n(A); - var I = new Array(a); - n(I); - var O, B, R, T = new Array(f); - function D(e2, t2, r2, n2, i2) { - this.static_tree = e2, this.extra_bits = t2, this.extra_base = r2, this.elems = n2, this.max_length = i2, this.has_stree = e2 && e2.length; - } - function F(e2, t2) { - this.dyn_tree = e2, this.max_code = 0, this.stat_desc = t2; - } - function N(e2) { - return e2 < 256 ? E[e2] : E[256 + (e2 >>> 7)]; - } - function U(e2, t2) { - e2.pending_buf[e2.pending++] = 255 & t2, e2.pending_buf[e2.pending++] = t2 >>> 8 & 255; - } - function P(e2, t2, r2) { - e2.bi_valid > d - r2 ? (e2.bi_buf |= t2 << e2.bi_valid & 65535, U(e2, e2.bi_buf), e2.bi_buf = t2 >> d - e2.bi_valid, e2.bi_valid += r2 - d) : (e2.bi_buf |= t2 << e2.bi_valid & 65535, e2.bi_valid += r2); - } - function L(e2, t2, r2) { - P(e2, r2[2 * t2], r2[2 * t2 + 1]); - } - function j(e2, t2) { - for (var r2 = 0; r2 |= 1 & e2, e2 >>>= 1, r2 <<= 1, 0 < --t2; ) ; - return r2 >>> 1; - } - function Z(e2, t2, r2) { - var n2, i2, s2 = new Array(g + 1), a2 = 0; - for (n2 = 1; n2 <= g; n2++) s2[n2] = a2 = a2 + r2[n2 - 1] << 1; - for (i2 = 0; i2 <= t2; i2++) { - var o2 = e2[2 * i2 + 1]; - 0 !== o2 && (e2[2 * i2] = j(s2[o2]++, o2)); - } - } - function W(e2) { - var t2; - for (t2 = 0; t2 < l; t2++) e2.dyn_ltree[2 * t2] = 0; - for (t2 = 0; t2 < f; t2++) e2.dyn_dtree[2 * t2] = 0; - for (t2 = 0; t2 < c; t2++) e2.bl_tree[2 * t2] = 0; - e2.dyn_ltree[2 * m] = 1, e2.opt_len = e2.static_len = 0, e2.last_lit = e2.matches = 0; - } - function M(e2) { - 8 < e2.bi_valid ? U(e2, e2.bi_buf) : 0 < e2.bi_valid && (e2.pending_buf[e2.pending++] = e2.bi_buf), e2.bi_buf = 0, e2.bi_valid = 0; - } - function H(e2, t2, r2, n2) { - var i2 = 2 * t2, s2 = 2 * r2; - return e2[i2] < e2[s2] || e2[i2] === e2[s2] && n2[t2] <= n2[r2]; - } - function G(e2, t2, r2) { - for (var n2 = e2.heap[r2], i2 = r2 << 1; i2 <= e2.heap_len && (i2 < e2.heap_len && H(t2, e2.heap[i2 + 1], e2.heap[i2], e2.depth) && i2++, !H(t2, n2, e2.heap[i2], e2.depth)); ) e2.heap[r2] = e2.heap[i2], r2 = i2, i2 <<= 1; - e2.heap[r2] = n2; - } - function K(e2, t2, r2) { - var n2, i2, s2, a2, o2 = 0; - if (0 !== e2.last_lit) for (; n2 = e2.pending_buf[e2.d_buf + 2 * o2] << 8 | e2.pending_buf[e2.d_buf + 2 * o2 + 1], i2 = e2.pending_buf[e2.l_buf + o2], o2++, 0 === n2 ? L(e2, i2, t2) : (L(e2, (s2 = A[i2]) + u + 1, t2), 0 !== (a2 = w[s2]) && P(e2, i2 -= I[s2], a2), L(e2, s2 = N(--n2), r2), 0 !== (a2 = k[s2]) && P(e2, n2 -= T[s2], a2)), o2 < e2.last_lit; ) ; - L(e2, m, t2); - } - function Y(e2, t2) { - var r2, n2, i2, s2 = t2.dyn_tree, a2 = t2.stat_desc.static_tree, o2 = t2.stat_desc.has_stree, h2 = t2.stat_desc.elems, u2 = -1; - for (e2.heap_len = 0, e2.heap_max = _, r2 = 0; r2 < h2; r2++) 0 !== s2[2 * r2] ? (e2.heap[++e2.heap_len] = u2 = r2, e2.depth[r2] = 0) : s2[2 * r2 + 1] = 0; - for (; e2.heap_len < 2; ) s2[2 * (i2 = e2.heap[++e2.heap_len] = u2 < 2 ? ++u2 : 0)] = 1, e2.depth[i2] = 0, e2.opt_len--, o2 && (e2.static_len -= a2[2 * i2 + 1]); - for (t2.max_code = u2, r2 = e2.heap_len >> 1; 1 <= r2; r2--) G(e2, s2, r2); - for (i2 = h2; r2 = e2.heap[1], e2.heap[1] = e2.heap[e2.heap_len--], G(e2, s2, 1), n2 = e2.heap[1], e2.heap[--e2.heap_max] = r2, e2.heap[--e2.heap_max] = n2, s2[2 * i2] = s2[2 * r2] + s2[2 * n2], e2.depth[i2] = (e2.depth[r2] >= e2.depth[n2] ? e2.depth[r2] : e2.depth[n2]) + 1, s2[2 * r2 + 1] = s2[2 * n2 + 1] = i2, e2.heap[1] = i2++, G(e2, s2, 1), 2 <= e2.heap_len; ) ; - e2.heap[--e2.heap_max] = e2.heap[1], (function(e3, t3) { - var r3, n3, i3, s3, a3, o3, h3 = t3.dyn_tree, u3 = t3.max_code, l2 = t3.stat_desc.static_tree, f2 = t3.stat_desc.has_stree, c2 = t3.stat_desc.extra_bits, d2 = t3.stat_desc.extra_base, p2 = t3.stat_desc.max_length, m2 = 0; - for (s3 = 0; s3 <= g; s3++) e3.bl_count[s3] = 0; - for (h3[2 * e3.heap[e3.heap_max] + 1] = 0, r3 = e3.heap_max + 1; r3 < _; r3++) p2 < (s3 = h3[2 * h3[2 * (n3 = e3.heap[r3]) + 1] + 1] + 1) && (s3 = p2, m2++), h3[2 * n3 + 1] = s3, u3 < n3 || (e3.bl_count[s3]++, a3 = 0, d2 <= n3 && (a3 = c2[n3 - d2]), o3 = h3[2 * n3], e3.opt_len += o3 * (s3 + a3), f2 && (e3.static_len += o3 * (l2[2 * n3 + 1] + a3))); - if (0 !== m2) { - do { - for (s3 = p2 - 1; 0 === e3.bl_count[s3]; ) s3--; - e3.bl_count[s3]--, e3.bl_count[s3 + 1] += 2, e3.bl_count[p2]--, m2 -= 2; - } while (0 < m2); - for (s3 = p2; 0 !== s3; s3--) for (n3 = e3.bl_count[s3]; 0 !== n3; ) u3 < (i3 = e3.heap[--r3]) || (h3[2 * i3 + 1] !== s3 && (e3.opt_len += (s3 - h3[2 * i3 + 1]) * h3[2 * i3], h3[2 * i3 + 1] = s3), n3--); - } - })(e2, t2), Z(s2, u2, e2.bl_count); - } - function X(e2, t2, r2) { - var n2, i2, s2 = -1, a2 = t2[1], o2 = 0, h2 = 7, u2 = 4; - for (0 === a2 && (h2 = 138, u2 = 3), t2[2 * (r2 + 1) + 1] = 65535, n2 = 0; n2 <= r2; n2++) i2 = a2, a2 = t2[2 * (n2 + 1) + 1], ++o2 < h2 && i2 === a2 || (o2 < u2 ? e2.bl_tree[2 * i2] += o2 : 0 !== i2 ? (i2 !== s2 && e2.bl_tree[2 * i2]++, e2.bl_tree[2 * b]++) : o2 <= 10 ? e2.bl_tree[2 * v]++ : e2.bl_tree[2 * y]++, s2 = i2, u2 = (o2 = 0) === a2 ? (h2 = 138, 3) : i2 === a2 ? (h2 = 6, 3) : (h2 = 7, 4)); - } - function V(e2, t2, r2) { - var n2, i2, s2 = -1, a2 = t2[1], o2 = 0, h2 = 7, u2 = 4; - for (0 === a2 && (h2 = 138, u2 = 3), n2 = 0; n2 <= r2; n2++) if (i2 = a2, a2 = t2[2 * (n2 + 1) + 1], !(++o2 < h2 && i2 === a2)) { - if (o2 < u2) for (; L(e2, i2, e2.bl_tree), 0 != --o2; ) ; - else 0 !== i2 ? (i2 !== s2 && (L(e2, i2, e2.bl_tree), o2--), L(e2, b, e2.bl_tree), P(e2, o2 - 3, 2)) : o2 <= 10 ? (L(e2, v, e2.bl_tree), P(e2, o2 - 3, 3)) : (L(e2, y, e2.bl_tree), P(e2, o2 - 11, 7)); - s2 = i2, u2 = (o2 = 0) === a2 ? (h2 = 138, 3) : i2 === a2 ? (h2 = 6, 3) : (h2 = 7, 4); - } - } - n(T); - var q = false; - function J(e2, t2, r2, n2) { - P(e2, (s << 1) + (n2 ? 1 : 0), 3), (function(e3, t3, r3, n3) { - M(e3), n3 && (U(e3, r3), U(e3, ~r3)), i.arraySet(e3.pending_buf, e3.window, t3, r3, e3.pending), e3.pending += r3; - })(e2, t2, r2, true); - } - r._tr_init = function(e2) { - q || ((function() { - var e3, t2, r2, n2, i2, s2 = new Array(g + 1); - for (n2 = r2 = 0; n2 < a - 1; n2++) for (I[n2] = r2, e3 = 0; e3 < 1 << w[n2]; e3++) A[r2++] = n2; - for (A[r2 - 1] = n2, n2 = i2 = 0; n2 < 16; n2++) for (T[n2] = i2, e3 = 0; e3 < 1 << k[n2]; e3++) E[i2++] = n2; - for (i2 >>= 7; n2 < f; n2++) for (T[n2] = i2 << 7, e3 = 0; e3 < 1 << k[n2] - 7; e3++) E[256 + i2++] = n2; - for (t2 = 0; t2 <= g; t2++) s2[t2] = 0; - for (e3 = 0; e3 <= 143; ) z[2 * e3 + 1] = 8, e3++, s2[8]++; - for (; e3 <= 255; ) z[2 * e3 + 1] = 9, e3++, s2[9]++; - for (; e3 <= 279; ) z[2 * e3 + 1] = 7, e3++, s2[7]++; - for (; e3 <= 287; ) z[2 * e3 + 1] = 8, e3++, s2[8]++; - for (Z(z, l + 1, s2), e3 = 0; e3 < f; e3++) C[2 * e3 + 1] = 5, C[2 * e3] = j(e3, 5); - O = new D(z, w, u + 1, l, g), B = new D(C, k, 0, f, g), R = new D(new Array(0), x, 0, c, p); - })(), q = true), e2.l_desc = new F(e2.dyn_ltree, O), e2.d_desc = new F(e2.dyn_dtree, B), e2.bl_desc = new F(e2.bl_tree, R), e2.bi_buf = 0, e2.bi_valid = 0, W(e2); - }, r._tr_stored_block = J, r._tr_flush_block = function(e2, t2, r2, n2) { - var i2, s2, a2 = 0; - 0 < e2.level ? (2 === e2.strm.data_type && (e2.strm.data_type = (function(e3) { - var t3, r3 = 4093624447; - for (t3 = 0; t3 <= 31; t3++, r3 >>>= 1) if (1 & r3 && 0 !== e3.dyn_ltree[2 * t3]) return o; - if (0 !== e3.dyn_ltree[18] || 0 !== e3.dyn_ltree[20] || 0 !== e3.dyn_ltree[26]) return h; - for (t3 = 32; t3 < u; t3++) if (0 !== e3.dyn_ltree[2 * t3]) return h; - return o; - })(e2)), Y(e2, e2.l_desc), Y(e2, e2.d_desc), a2 = (function(e3) { - var t3; - for (X(e3, e3.dyn_ltree, e3.l_desc.max_code), X(e3, e3.dyn_dtree, e3.d_desc.max_code), Y(e3, e3.bl_desc), t3 = c - 1; 3 <= t3 && 0 === e3.bl_tree[2 * S[t3] + 1]; t3--) ; - return e3.opt_len += 3 * (t3 + 1) + 5 + 5 + 4, t3; - })(e2), i2 = e2.opt_len + 3 + 7 >>> 3, (s2 = e2.static_len + 3 + 7 >>> 3) <= i2 && (i2 = s2)) : i2 = s2 = r2 + 5, r2 + 4 <= i2 && -1 !== t2 ? J(e2, t2, r2, n2) : 4 === e2.strategy || s2 === i2 ? (P(e2, 2 + (n2 ? 1 : 0), 3), K(e2, z, C)) : (P(e2, 4 + (n2 ? 1 : 0), 3), (function(e3, t3, r3, n3) { - var i3; - for (P(e3, t3 - 257, 5), P(e3, r3 - 1, 5), P(e3, n3 - 4, 4), i3 = 0; i3 < n3; i3++) P(e3, e3.bl_tree[2 * S[i3] + 1], 3); - V(e3, e3.dyn_ltree, t3 - 1), V(e3, e3.dyn_dtree, r3 - 1); - })(e2, e2.l_desc.max_code + 1, e2.d_desc.max_code + 1, a2 + 1), K(e2, e2.dyn_ltree, e2.dyn_dtree)), W(e2), n2 && M(e2); - }, r._tr_tally = function(e2, t2, r2) { - return e2.pending_buf[e2.d_buf + 2 * e2.last_lit] = t2 >>> 8 & 255, e2.pending_buf[e2.d_buf + 2 * e2.last_lit + 1] = 255 & t2, e2.pending_buf[e2.l_buf + e2.last_lit] = 255 & r2, e2.last_lit++, 0 === t2 ? e2.dyn_ltree[2 * r2]++ : (e2.matches++, t2--, e2.dyn_ltree[2 * (A[r2] + u + 1)]++, e2.dyn_dtree[2 * N(t2)]++), e2.last_lit === e2.lit_bufsize - 1; - }, r._tr_align = function(e2) { - P(e2, 2, 3), L(e2, m, z), (function(e3) { - 16 === e3.bi_valid ? (U(e3, e3.bi_buf), e3.bi_buf = 0, e3.bi_valid = 0) : 8 <= e3.bi_valid && (e3.pending_buf[e3.pending++] = 255 & e3.bi_buf, e3.bi_buf >>= 8, e3.bi_valid -= 8); - })(e2); - }; - }, { "../utils/common": 41 }], 53: [function(e, t, r) { - "use strict"; - t.exports = function() { - this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0; - }; - }, {}], 54: [function(e, t, r) { - (function(e2) { - !(function(r2, n) { - "use strict"; - if (!r2.setImmediate) { - var i, s, t2, a, o = 1, h = {}, u = false, l = r2.document, e3 = Object.getPrototypeOf && Object.getPrototypeOf(r2); - e3 = e3 && e3.setTimeout ? e3 : r2, i = "[object process]" === {}.toString.call(r2.process) ? function(e4) { - process.nextTick(function() { - c(e4); - }); - } : (function() { - if (r2.postMessage && !r2.importScripts) { - var e4 = true, t3 = r2.onmessage; - return r2.onmessage = function() { - e4 = false; - }, r2.postMessage("", "*"), r2.onmessage = t3, e4; - } - })() ? (a = "setImmediate$" + Math.random() + "$", r2.addEventListener ? r2.addEventListener("message", d, false) : r2.attachEvent("onmessage", d), function(e4) { - r2.postMessage(a + e4, "*"); - }) : r2.MessageChannel ? ((t2 = new MessageChannel()).port1.onmessage = function(e4) { - c(e4.data); - }, function(e4) { - t2.port2.postMessage(e4); - }) : l && "onreadystatechange" in l.createElement("script") ? (s = l.documentElement, function(e4) { - var t3 = l.createElement("script"); - t3.onreadystatechange = function() { - c(e4), t3.onreadystatechange = null, s.removeChild(t3), t3 = null; - }, s.appendChild(t3); - }) : function(e4) { - setTimeout(c, 0, e4); - }, e3.setImmediate = function(e4) { - "function" != typeof e4 && (e4 = new Function("" + e4)); - for (var t3 = new Array(arguments.length - 1), r3 = 0; r3 < t3.length; r3++) t3[r3] = arguments[r3 + 1]; - var n2 = { callback: e4, args: t3 }; - return h[o] = n2, i(o), o++; - }, e3.clearImmediate = f; - } - function f(e4) { - delete h[e4]; - } - function c(e4) { - if (u) setTimeout(c, 0, e4); - else { - var t3 = h[e4]; - if (t3) { - u = true; - try { - !(function(e5) { - var t4 = e5.callback, r3 = e5.args; - switch (r3.length) { - case 0: - t4(); - break; - case 1: - t4(r3[0]); - break; - case 2: - t4(r3[0], r3[1]); - break; - case 3: - t4(r3[0], r3[1], r3[2]); - break; - default: - t4.apply(n, r3); - } - })(t3); - } finally { - f(e4), u = false; - } - } - } - } - function d(e4) { - e4.source === r2 && "string" == typeof e4.data && 0 === e4.data.indexOf(a) && c(+e4.data.slice(a.length)); - } - })("undefined" == typeof self ? void 0 === e2 ? this : e2 : self); - }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}); - }, {}] }, {}, [10])(10); - }); - } -}); - -// (disabled):node:fs -var require_node_fs = __commonJS({ - "(disabled):node:fs"() { - } -}); - -// (disabled):node:https -var require_node_https = __commonJS({ - "(disabled):node:https"() { - } -}); - -// ../../../node_modules/tslib/tslib.es6.js -var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { - d2.__proto__ = b2; - } || function(d2, b2) { - for (var p in b2) if (b2.hasOwnProperty(p)) d2[p] = b2[p]; - }; - return extendStatics(d, b); -}; -function __extends(d, b) { - extendStatics(d, b); - function __() { - this.constructor = d; - } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} -var __assign = function() { - __assign = Object.assign || function __assign2(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); -}; -function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} -function __awaiter(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -} -function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { - return this; - }), g; - function verb(n) { - return function(v) { - return step([n, v]); - }; - } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: - case 1: - t = op; - break; - case 4: - _.label++; - return { value: op[1], done: false }; - case 5: - _.label++; - y = op[1]; - op = [0]; - continue; - case 7: - op = _.ops.pop(); - _.trys.pop(); - continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { - _ = 0; - continue; - } - if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { - _.label = op[1]; - break; - } - if (op[0] === 6 && _.label < t[1]) { - _.label = t[1]; - t = op; - break; - } - if (t && _.label < t[2]) { - _.label = t[2]; - _.ops.push(op); - break; - } - if (t[2]) _.ops.pop(); - _.trys.pop(); - continue; - } - op = body.call(thisArg, _); - } catch (e) { - op = [6, e]; - y = 0; - } finally { - f = t = 0; - } - if (op[0] & 5) throw op[1]; - return { value: op[0] ? op[1] : void 0, done: true }; - } -} -function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -} - -// ../../../node_modules/pdf-lib/es/utils/base64.js -var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; -var lookup = new Uint8Array(256); -for (i = 0; i < chars.length; i++) { - lookup[chars.charCodeAt(i)] = i; -} -var i; -var encodeToBase64 = function(bytes) { - var base64 = ""; - var len = bytes.length; - for (var i = 0; i < len; i += 3) { - base64 += chars[bytes[i] >> 2]; - base64 += chars[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4]; - base64 += chars[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6]; - base64 += chars[bytes[i + 2] & 63]; - } - if (len % 3 === 2) { - base64 = base64.substring(0, base64.length - 1) + "="; - } else if (len % 3 === 1) { - base64 = base64.substring(0, base64.length - 2) + "=="; - } - return base64; -}; -var decodeFromBase64 = function(base64) { - var bufferLength = base64.length * 0.75; - var len = base64.length; - var i; - var p = 0; - var encoded1; - var encoded2; - var encoded3; - var encoded4; - if (base64[base64.length - 1] === "=") { - bufferLength--; - if (base64[base64.length - 2] === "=") { - bufferLength--; - } - } - var bytes = new Uint8Array(bufferLength); - for (i = 0; i < len; i += 4) { - encoded1 = lookup[base64.charCodeAt(i)]; - encoded2 = lookup[base64.charCodeAt(i + 1)]; - encoded3 = lookup[base64.charCodeAt(i + 2)]; - encoded4 = lookup[base64.charCodeAt(i + 3)]; - bytes[p++] = encoded1 << 2 | encoded2 >> 4; - bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2; - bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63; - } - return bytes; -}; -var DATA_URI_PREFIX_REGEX = /^(data)?:?([\w\/\+]+)?;?(charset=[\w-]+|base64)?.*,/i; -var decodeFromBase64DataUri = function(dataUri) { - var trimmedUri = dataUri.trim(); - var prefix = trimmedUri.substring(0, 100); - var res = prefix.match(DATA_URI_PREFIX_REGEX); - if (!res) - return decodeFromBase64(trimmedUri); - var fullMatch = res[0]; - var data = trimmedUri.substring(fullMatch.length); - return decodeFromBase64(data); -}; - -// ../../../node_modules/pdf-lib/es/utils/strings.js -var toCharCode = function(character) { - return character.charCodeAt(0); -}; -var toCodePoint = function(character) { - return character.codePointAt(0); -}; -var toHexStringOfMinLength = function(num, minLength) { - return padStart(num.toString(16), minLength, "0").toUpperCase(); -}; -var toHexString = function(num) { - return toHexStringOfMinLength(num, 2); -}; -var charFromCode = function(code) { - return String.fromCharCode(code); -}; -var charFromHexCode = function(hex2) { - return charFromCode(parseInt(hex2, 16)); -}; -var padStart = function(value, length, padChar) { - var padding = ""; - for (var idx = 0, len = length - value.length; idx < len; idx++) { - padding += padChar; - } - return padding + value; -}; -var copyStringIntoBuffer = function(str, buffer, offset) { - var length = str.length; - for (var idx = 0; idx < length; idx++) { - buffer[offset++] = str.charCodeAt(idx); - } - return length; -}; -var escapeRegExp = function(str) { - return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); -}; -var cleanText = function(text) { - return text.replace(/\t|\u0085|\u2028|\u2029/g, " ").replace(/[\b\v]/g, ""); -}; -var escapedNewlineChars = ["\\n", "\\f", "\\r", "\\u000B"]; -var isNewlineChar = function(text) { - return /^[\n\f\r\u000B]$/.test(text); -}; -var lineSplit = function(text) { - return text.split(/[\n\f\r\u000B]/); -}; -var mergeLines = function(text) { - return text.replace(/[\n\f\r\u000B]/g, " "); -}; -var charAtIndex = function(text, index) { - var cuFirst = text.charCodeAt(index); - var cuSecond; - var nextIndex = index + 1; - var length = 1; - if ( - // Check if it's the start of a surrogate pair. - cuFirst >= 55296 && cuFirst <= 56319 && // high surrogate - text.length > nextIndex - ) { - cuSecond = text.charCodeAt(nextIndex); - if (cuSecond >= 56320 && cuSecond <= 57343) - length = 2; - } - return [text.slice(index, index + length), length]; -}; -var charSplit = function(text) { - var chars3 = []; - for (var idx = 0, len = text.length; idx < len; ) { - var _a = charAtIndex(text, idx), c = _a[0], cLen = _a[1]; - chars3.push(c); - idx += cLen; - } - return chars3; -}; -var buildWordBreakRegex = function(wordBreaks) { - var newlineCharUnion = escapedNewlineChars.join("|"); - var escapedRules = ["$"]; - for (var idx = 0, len = wordBreaks.length; idx < len; idx++) { - var wordBreak = wordBreaks[idx]; - if (isNewlineChar(wordBreak)) { - throw new TypeError("`wordBreak` must not include " + newlineCharUnion); - } - escapedRules.push(wordBreak === "" ? "." : escapeRegExp(wordBreak)); - } - var breakRules = escapedRules.join("|"); - return new RegExp("(" + newlineCharUnion + ")|((.*?)(" + breakRules + "))", "gm"); -}; -var breakTextIntoLines = function(text, wordBreaks, maxWidth, computeWidthOfText) { - var regex = buildWordBreakRegex(wordBreaks); - var words = cleanText(text).match(regex); - var currLine = ""; - var currWidth = 0; - var lines = []; - var pushCurrLine = function() { - if (currLine !== "") - lines.push(currLine); - currLine = ""; - currWidth = 0; - }; - for (var idx = 0, len = words.length; idx < len; idx++) { - var word = words[idx]; - if (isNewlineChar(word)) { - pushCurrLine(); - } else { - var width = computeWidthOfText(word); - if (currWidth + width > maxWidth) - pushCurrLine(); - currLine += word; - currWidth += width; - } - } - pushCurrLine(); - return lines; -}; -var dateRegex = /^D:(\d\d\d\d)(\d\d)?(\d\d)?(\d\d)?(\d\d)?(\d\d)?([+\-Z])?(\d\d)?'?(\d\d)?'?$/; -var parseDate = function(dateStr) { - var match = dateStr.match(dateRegex); - if (!match) - return void 0; - var year = match[1], _a = match[2], month = _a === void 0 ? "01" : _a, _b = match[3], day = _b === void 0 ? "01" : _b, _c = match[4], hours = _c === void 0 ? "00" : _c, _d = match[5], mins = _d === void 0 ? "00" : _d, _e = match[6], secs = _e === void 0 ? "00" : _e, _f = match[7], offsetSign = _f === void 0 ? "Z" : _f, _g = match[8], offsetHours = _g === void 0 ? "00" : _g, _h = match[9], offsetMins = _h === void 0 ? "00" : _h; - var tzOffset = offsetSign === "Z" ? "Z" : "" + offsetSign + offsetHours + ":" + offsetMins; - var date = /* @__PURE__ */ new Date(year + "-" + month + "-" + day + "T" + hours + ":" + mins + ":" + secs + tzOffset); - return date; -}; -var findLastMatch = function(value, regex) { - var _a; - var position = 0; - var lastMatch; - while (position < value.length) { - var match = value.substring(position).match(regex); - if (!match) - return { match: lastMatch, pos: position }; - lastMatch = match; - position += ((_a = match.index) !== null && _a !== void 0 ? _a : 0) + match[0].length; - } - return { match: lastMatch, pos: position }; -}; - -// ../../../node_modules/pdf-lib/es/utils/arrays.js -var last = function(array) { - return array[array.length - 1]; -}; -var typedArrayFor = function(value) { - if (value instanceof Uint8Array) - return value; - var length = value.length; - var typedArray = new Uint8Array(length); - for (var idx = 0; idx < length; idx++) { - typedArray[idx] = value.charCodeAt(idx); - } - return typedArray; -}; -var mergeIntoTypedArray = function() { - var arrays = []; - for (var _i = 0; _i < arguments.length; _i++) { - arrays[_i] = arguments[_i]; - } - var arrayCount = arrays.length; - var typedArrays = []; - for (var idx = 0; idx < arrayCount; idx++) { - var element = arrays[idx]; - typedArrays[idx] = element instanceof Uint8Array ? element : typedArrayFor(element); - } - var totalSize = 0; - for (var idx = 0; idx < arrayCount; idx++) { - totalSize += arrays[idx].length; - } - var merged = new Uint8Array(totalSize); - var offset = 0; - for (var arrIdx = 0; arrIdx < arrayCount; arrIdx++) { - var arr = typedArrays[arrIdx]; - for (var byteIdx = 0, arrLen = arr.length; byteIdx < arrLen; byteIdx++) { - merged[offset++] = arr[byteIdx]; - } - } - return merged; -}; -var mergeUint8Arrays = function(arrays) { - var totalSize = 0; - for (var idx = 0, len = arrays.length; idx < len; idx++) { - totalSize += arrays[idx].length; - } - var mergedBuffer = new Uint8Array(totalSize); - var offset = 0; - for (var idx = 0, len = arrays.length; idx < len; idx++) { - var array = arrays[idx]; - mergedBuffer.set(array, offset); - offset += array.length; - } - return mergedBuffer; -}; -var arrayAsString = function(array) { - var str = ""; - for (var idx = 0, len = array.length; idx < len; idx++) { - str += charFromCode(array[idx]); - } - return str; -}; -var byAscendingId = function(a, b) { - return a.id - b.id; -}; -var sortedUniq = function(array, indexer) { - var uniq = []; - for (var idx = 0, len = array.length; idx < len; idx++) { - var curr = array[idx]; - var prev = array[idx - 1]; - if (idx === 0 || indexer(curr) !== indexer(prev)) { - uniq.push(curr); - } - } - return uniq; -}; -var reverseArray = function(array) { - var arrayLen = array.length; - for (var idx = 0, len = Math.floor(arrayLen / 2); idx < len; idx++) { - var leftIdx = idx; - var rightIdx = arrayLen - idx - 1; - var temp = array[idx]; - array[leftIdx] = array[rightIdx]; - array[rightIdx] = temp; - } - return array; -}; -var sum = function(array) { - var total = 0; - for (var idx = 0, len = array.length; idx < len; idx++) { - total += array[idx]; - } - return total; -}; -var range = function(start, end) { - var arr = new Array(end - start); - for (var idx = 0, len = arr.length; idx < len; idx++) { - arr[idx] = start + idx; - } - return arr; -}; -var pluckIndices = function(arr, indices) { - var plucked = new Array(indices.length); - for (var idx = 0, len = indices.length; idx < len; idx++) { - plucked[idx] = arr[indices[idx]]; - } - return plucked; -}; -var canBeConvertedToUint8Array = function(input) { - return input instanceof Uint8Array || input instanceof ArrayBuffer || typeof input === "string"; -}; -var toUint8Array = function(input) { - if (typeof input === "string") { - return decodeFromBase64DataUri(input); - } else if (input instanceof ArrayBuffer) { - return new Uint8Array(input); - } else if (input instanceof Uint8Array) { - return input; - } else { - throw new TypeError("`input` must be one of `string | ArrayBuffer | Uint8Array`"); - } -}; - -// ../../../node_modules/pdf-lib/es/utils/async.js -var waitForTick = function() { - return new Promise(function(resolve) { - setTimeout(function() { - return resolve(); - }, 0); - }); -}; - -// ../../../node_modules/pdf-lib/es/utils/unicode.js -var utf16Encode = function(input, byteOrderMark) { - if (byteOrderMark === void 0) { - byteOrderMark = true; - } - var encoded = []; - if (byteOrderMark) - encoded.push(65279); - for (var idx = 0, len = input.length; idx < len; ) { - var codePoint = input.codePointAt(idx); - if (codePoint < 65536) { - encoded.push(codePoint); - idx += 1; - } else if (codePoint < 1114112) { - encoded.push(highSurrogate(codePoint), lowSurrogate(codePoint)); - idx += 2; - } else - throw new Error("Invalid code point: 0x" + toHexString(codePoint)); - } - return new Uint16Array(encoded); -}; -var isWithinBMP = function(codePoint) { - return codePoint >= 0 && codePoint <= 65535; -}; -var hasSurrogates = function(codePoint) { - return codePoint >= 65536 && codePoint <= 1114111; -}; -var highSurrogate = function(codePoint) { - return Math.floor((codePoint - 65536) / 1024) + 55296; -}; -var lowSurrogate = function(codePoint) { - return (codePoint - 65536) % 1024 + 56320; -}; -var ByteOrder; -(function(ByteOrder2) { - ByteOrder2["BigEndian"] = "BigEndian"; - ByteOrder2["LittleEndian"] = "LittleEndian"; -})(ByteOrder || (ByteOrder = {})); -var REPLACEMENT = "\uFFFD".codePointAt(0); -var utf16Decode = function(input, byteOrderMark) { - if (byteOrderMark === void 0) { - byteOrderMark = true; - } - if (input.length <= 1) - return String.fromCodePoint(REPLACEMENT); - var byteOrder = byteOrderMark ? readBOM(input) : ByteOrder.BigEndian; - var idx = byteOrderMark ? 2 : 0; - var codePoints = []; - while (input.length - idx >= 2) { - var first = decodeValues(input[idx++], input[idx++], byteOrder); - if (isHighSurrogate(first)) { - if (input.length - idx < 2) { - codePoints.push(REPLACEMENT); - } else { - var second = decodeValues(input[idx++], input[idx++], byteOrder); - if (isLowSurrogate(second)) { - codePoints.push(first, second); - } else { - codePoints.push(REPLACEMENT); - } - } - } else if (isLowSurrogate(first)) { - idx += 2; - codePoints.push(REPLACEMENT); - } else { - codePoints.push(first); - } - } - if (idx < input.length) - codePoints.push(REPLACEMENT); - return String.fromCodePoint.apply(String, codePoints); -}; -var isHighSurrogate = function(codePoint) { - return codePoint >= 55296 && codePoint <= 56319; -}; -var isLowSurrogate = function(codePoint) { - return codePoint >= 56320 && codePoint <= 57343; -}; -var decodeValues = function(first, second, byteOrder) { - if (byteOrder === ByteOrder.LittleEndian) - return second << 8 | first; - if (byteOrder === ByteOrder.BigEndian) - return first << 8 | second; - throw new Error("Invalid byteOrder: " + byteOrder); -}; -var readBOM = function(bytes) { - return hasUtf16BigEndianBOM(bytes) ? ByteOrder.BigEndian : hasUtf16LittleEndianBOM(bytes) ? ByteOrder.LittleEndian : ByteOrder.BigEndian; -}; -var hasUtf16BigEndianBOM = function(bytes) { - return bytes[0] === 254 && bytes[1] === 255; -}; -var hasUtf16LittleEndianBOM = function(bytes) { - return bytes[0] === 255 && bytes[1] === 254; -}; -var hasUtf16BOM = function(bytes) { - return hasUtf16BigEndianBOM(bytes) || hasUtf16LittleEndianBOM(bytes); -}; - -// ../../../node_modules/pdf-lib/es/utils/numbers.js -var numberToString = function(num) { - var numStr = String(num); - if (Math.abs(num) < 1) { - var e = parseInt(num.toString().split("e-")[1]); - if (e) { - var negative = num < 0; - if (negative) - num *= -1; - num *= Math.pow(10, e - 1); - numStr = "0." + new Array(e).join("0") + num.toString().substring(2); - if (negative) - numStr = "-" + numStr; - } - } else { - var e = parseInt(num.toString().split("+")[1]); - if (e > 20) { - e -= 20; - num /= Math.pow(10, e); - numStr = num.toString() + new Array(e + 1).join("0"); - } - } - return numStr; -}; -var sizeInBytes = function(n) { - return Math.ceil(n.toString(2).length / 8); -}; -var bytesFor = function(n) { - var bytes = new Uint8Array(sizeInBytes(n)); - for (var i = 1; i <= bytes.length; i++) { - bytes[i - 1] = n >> (bytes.length - i) * 8; - } - return bytes; -}; - -// ../../../node_modules/pdf-lib/es/utils/errors.js -var error = function(msg) { - throw new Error(msg); -}; - -// ../../../node_modules/@pdf-lib/standard-fonts/es/utils.js -var import_pako = __toESM(require_pako()); -var chars2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; -var lookup2 = new Uint8Array(256); -for (i = 0; i < chars2.length; i++) { - lookup2[chars2.charCodeAt(i)] = i; -} -var i; -var decodeFromBase642 = function(base64) { - var bufferLength = base64.length * 0.75; - var len = base64.length; - var i; - var p = 0; - var encoded1; - var encoded2; - var encoded3; - var encoded4; - if (base64[base64.length - 1] === "=") { - bufferLength--; - if (base64[base64.length - 2] === "=") { - bufferLength--; - } - } - var bytes = new Uint8Array(bufferLength); - for (i = 0; i < len; i += 4) { - encoded1 = lookup2[base64.charCodeAt(i)]; - encoded2 = lookup2[base64.charCodeAt(i + 1)]; - encoded3 = lookup2[base64.charCodeAt(i + 2)]; - encoded4 = lookup2[base64.charCodeAt(i + 3)]; - bytes[p++] = encoded1 << 2 | encoded2 >> 4; - bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2; - bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63; - } - return bytes; -}; -var arrayToString = function(array) { - var str = ""; - for (var i = 0; i < array.length; i++) { - str += String.fromCharCode(array[i]); - } - return str; -}; -var decompressJson = function(compressedJson) { - return arrayToString(import_pako.default.inflate(decodeFromBase642(compressedJson))); -}; -var padStart2 = function(value, length, padChar) { - var padding = ""; - for (var idx = 0, len = length - value.length; idx < len; idx++) { - padding += padChar; - } - return padding + value; -}; - -// ../../../node_modules/@pdf-lib/standard-fonts/es/Courier-Bold.compressed.json -var Courier_Bold_compressed_default = "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"; - -// ../../../node_modules/@pdf-lib/standard-fonts/es/Courier-BoldOblique.compressed.json -var Courier_BoldOblique_compressed_default = "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"; - -// ../../../node_modules/@pdf-lib/standard-fonts/es/Courier-Oblique.compressed.json -var Courier_Oblique_compressed_default = "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"; - -// ../../../node_modules/@pdf-lib/standard-fonts/es/Courier.compressed.json -var Courier_compressed_default = "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"; - -// ../../../node_modules/@pdf-lib/standard-fonts/es/Helvetica-Bold.compressed.json -var Helvetica_Bold_compressed_default = "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"; - -// ../../../node_modules/@pdf-lib/standard-fonts/es/Helvetica-BoldOblique.compressed.json -var Helvetica_BoldOblique_compressed_default = "eJyNnVtzG0eyrf8KA0/7RMhzRIq6+U2+zMX2mJYsEuJMzANEtihsgYQMEITaO/Z/P41CV+bKlaug86JQf6uArsrKXNVX8H8m3y9vb7u7+8m3k4t/btazm+7o+PT0xcnRsxdPXzybPJr8dXl3/+vsthsa/L1bPHT386vZN98tF9dn7xfzPzbdrslmseAmR7smR9Bmdjtf9NxqEKbd/Objbve7Dwzb/7ifLeZXr+5uFkPLb45PBrL+6/xLd/3b/P7q4+Tb+9WmezT5/uNsNbu671a/d7vP/vjlvru77q7fLG9nd2Onv/tu+WXy7b+/OX5++uibk5MXj46Pj08fvXx28p9Hk/Oh8Woxv+t+W67n9/Pl3W5Xjx+D8Pbj/OrTXbdeT759OvCLbrUuzSaPH5/85fHjx8NOfl0OQ9gN5/vl5361G8XRf139n6Pjly+ePtr9+7z8+3L378vH5d/nR6+ul++7o9/79X13uz76x93VcvV5uZrdd9d/OTp6tVgcvdl9z/roTbfuVg8D9YDO10ezo/vV7Lq7na0+HS0/HP0yv1ve95+7b4ZGi6NXfzua3V3/3+XqaD58wXrzfj2/ns9W8279l6GzPw67up7f3fx+9bErc1B68vv98JHZ6rqqQ8PvZ5//Pk7J8+MXjybv6tbTJ8NcvFpf7QK9GsUfOtv+5uTx80eT3++v/z6dfHu8E4f/X+z+f/p4P1//7O5X86shoP/+n8n03eTbk+dDo1+Hrqw/z4Y4/u+jPX7y5Mked1+uFrNb46fDPBb+x2Y5xOv9wpSnT5/tlbvN7fvdRN3cZe16uVjMVsZfDBNT+OdudbXL/yo8PznZC7PbQVoP8THJOlx6UGY89/rzbNXdLboPLYk+VrsxW+++cf3JO/5iHO7nxWadu3A1lO0s7+Jj//ljd5ebD0OZL8VI1ovZ+mMO1p/dapnp8q7L8H4rWt5/XHWi7YflZiXo/EG0Xc+/CNg9dGJuuxBTT4f5nUirq+VieZfxurudR8lmYLGzgUS7PzazRcY3q24oZx/ms+PjmjTdulhNVV4+fzrOvci+Vxl9l9H3Gf3ge372fI9+zJ35q3+wpsLf8nf9PSfMP3KYf8of/Dnv8RcvvRryf+YP/pr7dZYH9Ftu9Tp/15v8wd9zv97mD57nD174rJ2OEz3Nrd5ldJn3+K+cfO+HxexTdx9sw0L+ftBinfLnoqdYKs7WV/P51Xx1tbnNs7bZ2fZ6WH+6vMfib6Ez9rFZHs/73Ooqt7rOrURxfsgfvMnoY+7yPKP/znv8lFt5CduScJv3eJfRMqPPouqz1QsLXOdI3Ofv2uQPPuRK2OZWwkl7R7vjnmL6uau7/IqJcPLicc3KVaP9oWy8ny+um0v99XIrzD2szh6x+3Kc5slxXCvuw+7AEH3Wx6zWjg+L5Wou+LprfMvVZjUs41cewJMnWDbreTl0TdGtRy26rG4280G5Xd7rI4edXL74K3IMvSXOh7lg4vhpOJSThwPXs5ubTqTtnuOhGB1w7OauW3Wi9odjodnNavYZTO1pzazhdKITPujhfT9bH4jwYXWljxVsAqI+nBSMnx8Oseef1/O1kIax3n9cbsKxYlr2Q3L7zK1mD6IeZlebe3XoUrz8w6L7krVGZd3OrlbqcOf9qlM7vl7ez65Cxbk0H2YSA2DKCuvQO9tdDyFVx6ibu5vZanO7mG3EbpY3w2HmJ/F1MxwHzMttyFkXXvlhz5PnI1uurj8Mx3nhwNCPUOIi6wcgkfsezmAPz57aHm4Hp9sscBe2sszEYnu9K/r1Wixgi7hjX3kityOSpRjUUJ/DKfGQ9+Ic4h9pSt0JYgb68h/zxpcmOan+dXH2/Ogo96AuF9fzhzkktH8k9swPmEVxeLcbHzo/9KG+EYN1OfeiMoGh5q/0/YVScdyeiBnVg38m9s5ngj7gZwFpJ37OMHgEnIScVCdWA33+5HkVx6seYlfkOr52xjzwUeq4/Ko64OXRytFoqn6kL4djp1Ktb4vGCuFMVgkZooe5Zk/0w9e499OX9dRz+Wd3dyMy903chZ/FqUF6chwskkOZ+4oXEjuabYz1isfq5z85chbVtx+XKzGqM9q7h4GqwE70qOBP6yJGYbNqoh14xPTiVi5wrDflKGcl+htT0KPY4tFWzQRvN4v7+edFL/rVKP+3cYCWSMPx1v18trief/iQ56pvW8OvcT+esCJZvDYOptmBVactXTXGe9eywVbG/BoD5Ish1T9efhuOGPAanJ0CrZafujs8ETJzXHU383U89PUSjZMNy3Gui3qosd4MVR3ORzzYdAxphdmIzLKV6v9qfOBfVOGnL+uxa7nSFa+DWZx/vP+Y4fdNA1wo37Kx3DdMpmuuji3hVevw4UBWxgD7+XKrNHjf5gqtGWktPa1ldN3ac65j2/fBwxJeMetxQbe4FwZ+H0zaPXG7POCIqWv2dbcbMZLGGr6Ux5leC3zwY1ef4hHOiyen4ONDAq+GRF7n7/ud8/W0Tv6isZD8fHD9/SVOnJ9K2H0dZYrJFtwyYpict2r8l9hti8MQtY+zBSwNtch3pyaxwn0u1BJgvhwPmzzVvjKBjVLoWgO6iWaKAxqnVc2qPhv5XR4gWgbLnltCXA820amMbSz531MnbOEitzk1O7+eXymj/SF+ERyYHTrc/ZUOa627jXl7czivD+7rVeM7XzVNOp4O2AzE73EjPnBA+WNruad9+yVieXZnB2TxSMC+7WAp0ASZXx7c02J5s5vvu6UI97Jtppu8jtUMGr6qUck3Bye3g5XcY95I3zu5jtvFnbt80Oye31ruftzs7kb+59Hk525199tsvtrdQ/735NXubvXk0Tenj//zaNzau0dA+35GNJo6wr8NW099a+8qAeHAUDgL33OWu4BLb+A2VYHu6z+g4DxBGUMW2P7qUED7wkH0Omy9HbZe+laNGaIwehfOQyzO6+gBhdEDh9EDraMHRKMHxUYPbKzrwIqdILkYtl7Y1nTYemZbl8PW8bFv1iEhg74D3gybT3yrfhBQiAVw+D6gNRaAKBagWCyAWSyAjbFw8hAyYRu0Pm7lEfW552MjLE1DVBzGqUidc6VWBcrVENWscVm4VT3L380lbFzVsYm5mE2iijauy9pkrm0TqMCNU5VX/jojqHdDVPTOVeVX9TxHlD3AuDICE7MbmESWYFz7gslsDiawQ5gQbaJi8IqKwDAqQtcwxtZhgvCPqoGJGKK6M67sxMR2ZbKxGNfuYjJbjAnsMyZEs6n4ISfkNrfqBWoEQrjQaAboQoaovo2TCzlnF6oKuJAhciHj0oWqepa/m13IuHIhE7MLmUQuZFy7kMnsQiaQCxknF6r8dUbgQobIhZwrF6rqeY4ou5Bx5UImZhcyiVzIuHYhk9mFTGAXMiG6UMXgQhWBC1WELmSMXcgE4UJVAxcyRMVnXLmQie3KZBcyrl3IZHYhE9iFTIguVPFDTshtbtUL1AiEcCEMDVpR5FTpUSRTIpGdKchgT5GTR0VRGlVoctbYH1tWFJVvxRbZvKJODhZFbWOxDXtZVMnQokiuFsTXDQ7+FjmZHInK6UKT88a8sOdFURlfbJHdL+pkgVHUPhjbsBlGlR0xqtEWgwbeGDgYZODoklFgq4yq8MvQAEwzcjKMKCr7jC2+4itspFHUbhrbsKVGlX01qtFcg/bQqItto33f4ofiJ1zXCXouUjIqlMhvg8RuCyJ4LVJyWpSkz0KDM7kf9liUlMOinv0VVXJXlLS3Ygt2VtTIV1EiVwXptaTgqEjJT4Ok3BQanMvYs5OipHwU9eyiqJKHoqQdFFuwf6LG7ola9E5QwDmBgm8CRddEzJ6JmnBMkMEvkVK1o6S8EvWDXsA+iZJ2SWzBHokaOyRq0R9BeZAZvpVte03bkRKuOI4eLdEQmYpxMkPn7IRVARs0RB5oXBpgVc/yd7P1GVe+Z2I2PZPI8YxruzOZvc4EMjrj5HKVv84I/M0QmZtz5WxVPc8RZU8zrgzNxOxmJpGVGdc+ZjKbmAnsYCZE+6oYvKsiMK6K0LWMsWWZIPyqamBWhqj+jCubMrFdmWxQxrU7mczWZAL7kgnRlCp+yAm5za16gRqBEC5U+4o25Iwq3AUyIhDYiUwCK3JGXuSCNCOTz8T3sx25oPzI1WxIrpEjuaAtyXX2JFfIlFwgVzLhtWDgS87ImEBQzmTyuYgve5MLypxcze7kGtmTC9qfXGeDcoUdypVoUcbBo4yBSRlDl3LINuWK8CkTwaicUYG6oKzK1QP1y2blgnYr19muXGG/ciUalvEHkatb0a5XrBUT4Vq1Y+hazsgIXCDXAoFdyyRwLWfkWi5I1zL5THw/u5YLyrVcza7lGrmWC9q1XGfXcoVcywVyLRNeCwau5YxcCwTlWiafi/iya7mgXMvV7FqukWu5oF3LdXYtV9i1XImuZRxcyxi4ljF0LYfsWq4I1zIRXMsZVagLyrVcPVC/7FouaNdynV3LFXYtV6JrGX8QuboV7XrFWjERrrUaf9HDd1cJmUDF5FeG2a1GAbyqEnKqiqVPjeJZ+l72qIqVQ1Ut+1NVyJ0q1t5UVXamysmXKiZXGvHrRMCRKiE/MqzcaBTPUwzZiSpWPlS17EJVIQ+qWDtQVdl/Kmf3qTx6z0jBeUYCvjMSdJ2K2HMqF44zSuA3lVBlVay8pmrNmmOfqVi7TFXZYypnh6k8+stIH1LWbVObPhM9euEqY66jrRiiwjVOxuKcnaUqYC2GyFuMS3Op6ln+brYX48pfTMwGYxI5jHFtMSazx5hAJmOcXKby1xmBzxgio3GunKaq5zmi7DXGldmYmN3GJLIb49pvTGbDMYEdx4RoORWD51QEplMRuo4xth0ThO9UDYzHENWecWU9JrYrk83HuHYfk9l+TGD/MSEaUMUPOSG3uVUvUCMQ2YW+G+iruBU/W1B1DEAipIXrPcRAFkRBKoziU1gITSG1fB3tquvYtyydHIXuAscEc1q7C4imHBQbCDAbCLBxIHvywxj3U9+KbvoDxh2Q8NYfKO5Ao6P+EOIOzLoLbOwukGibP4wl71vTsLUr9Oe+VUcHCLrsdP97bHVyd2T8yTVDo/9i+AxRDI1TII2raJqYQ2oSxdU4B9cEjrAJMcyGKdaVX2Q0zQhCb4jibzxPQpVoJipO01FeCIzTURFPR+U8HZXL6aiimI4q8XRUnqajCmk6qkDTUTFPx8gvMppmhNNREU9H5WI6RomnY8Q0HX8dZ+KFb9VdAarxBxRCDxw6BLQGHJDFGpiFGdgYYSA1uI524zzxrToCQHUEgMIIgMMIgNYRALIRALMRABtHAKSOwFGdrePHhmymRvbTOFUnvhUH+hNOFSAx0J9oqoDGgf4UpgoYDfQnmCogcaA/wUCd2DgdbeJWHuamMaaNHNMmj4kPyUARo92I0W7CaH+e7E95nvhWPC4qSBwEFZ4OggqNB0EFyQPJotDhUWH1fAZQPBbaoXLc8tS27FjIUT2BQRQOj5zj4RFQe000YDtqcuTHRs782MjYcjcC37JIO4qRdo6RdmqRdsSRdsUj7cwi7cgibWgT4r7J+aHOO36eqFOOnyfpbONnkdWgiPzg04ufJ3xmsSO9LVBlKy7RBaWFNryLH+qCBAoBqSoa1CQHhhpQjEjV4aJGHDmSqchIpXqLKiQ/CVSFpFJBsipqk5rkMuUGuWKpBRUvqVzHJHNJRxmqmwQqdFJVzVOTXP7UgJyAVG0K1Ij9gWSyClLJNaK6aSUSewmpXy8k4TDU4GAhNXyHGh0upORGJEdjiiJ4FAlkV6Qm5/plgtfwyla8fLdH4srdTtgd3o+XnXabUztG3W2VC1knvmklDgzr0nH8Bc1BOo2S4H6N55dJurzzy0Rd2fklv6PqiIJw8B1VUzEc+Abni4gwMPkNThZEiKrWilPQW2KfA8Fha7/1+EvMK4ggCRRHVlU0YxuMaVQgslHA+JLCUSZZxDq2aEVctDrcpG+FkuegXcBjg9FecQ4MUfSdq7hXFSNeGcS6IoyyMY6vCSKyVWvFNOgtsc+B4AgaT7EbjtPKCeZT34q3HAqKd4MKEjcgCk/3HgqNtx0KolsKhdHdhMLCjYRC6nrp6K2Z+RnOOaIw3S5chO+Zhq13Ycuv0JxN0sWZs4m6LrOj9dzXd2nnviOqFgPTYIjmwjhNiHE1KybmqTGJ5sc4T5IJPFMmxOkyTHOG6w6FgWevse6QepG/e5rRu4xgWtNCxDxPcJVolivmqQ4vU8F8R06THkWa+Siq6Y8tcg5EnRIhipwNUeWUiGrMi6hRcqT3OlX0OE0Ovdepmlw09jdt8HcNDvmjX2+UYs6koFM6BY1zCl5EgYxCSvmEEmUTSiqXUM+ZhCrlEUqcRahxDqEWMwgVyh96hy3HiXOn/Q5bbnAh9zOV9J2kkDHq1S4h5WwBlXIFFM6U+qYApIkhyhHjlCDGVXaYmFPDJMoL45wUJnBGmBDTwTDlAr7sQ2HgLGi87EPqRf7uaUbvMoJpT+/GMM8TXiWa7Yp5quO5Oc44KzTxLNP8s6zSgNvkbOAWlBQsc26wzinCeswUVilhSH7bjCmnT5JVFlGji+Z+p03lXVOBDGOFEo3lnG/UgtKOVM4+e7of8s4ZZZwLlGsuqCxzNeeXa5RZLnBOucLZ5ErMI+eUQeFFHo4IZ03rRR6WL8T3TwV7JxjkRX7fJQk5F0yjLDDO819PN2H6DdHsG6fJN67m3sQ89SbRzBvniTeB592EOO2GadbxGgSFgee8cQ2C1Iv83dOM3mUE050uSjDPk10lmuuKearrU2Mw1YZoqo3TVBtXU21inmqTaKqN81SbwFNtQpxqwzTV+OAnhYGnuvHgJ6kX+bunGb3LCKY6PSfJPE91lWiqK6ap/m2c5fHJhN9whpHV2UVGT9a5EB6tc+zP1jmDR+gcwjN0Du0hOkd1BoH5czJlK14xKyg+0ViQuKtSeLquVmi8f1IQ3Q8pjG6CFBbufBQS7yr+BvM2Xk3codigy4Oy+4iI9KA6OahwmxBwHmsnxtqJsS5Ditn9PkDika/C062cQuODXgXJh8OLQk9/FRYfCS8oPtv1G1bHGP3XE3zEtGzFR0wLEo+YFp4eMS00PmJakHzEtCj0iGlh9IhpYeER09eeRj6MOrQ9eTPZ382HrfhsTkHi2ZzC07M5hcZncwqSz+YUhZ7NKaxOEaD42NGb0Z9hq2Y+ouDKLpzHrTze88Z4z+V4z/N4eSJBEeM9p2eR3sBEOvFl5M0EHzJ8M64Url3GpfkNrQ8jrVcxYfYNUUiMq7iYmINjEkXIuA6TyRwrEyhBjFOW4HVoRpQvjevQpJ4L1IiVzCET27HibDJ+OFYpr0zg5DIhZli+1G4Icg2vq1Mrzjp1XX2U6oPEkHqGKJzGVThNzOE0icJpXIfTZA6nCZR6xin1Kn8rEKWec5V6VT0XqBErmXomtmPFqWf8cKxS6pnAqWdCTD18tJ0yBFIPH22nVpx66tH2KqXn2E6kwKE98BybbiLCrJ9j02oj5I3n2LTMqaqfY5Pq26bAyXvoeQfZ5rwpHIy5TurY5GsxTwke1f+fmOdkj3JK+ShT4qcHQWSWYhGk50DkJ1JBNJ8C2TcYpruc/b30rfoNgOoZE6AwKcBhD0Br+AFZOIFZDIGNgQNS89eRv6D6FksYkDjVeEvFCjSearwVZQkKnWq8xQIEFE81dmh3jvfCt+K7GgXFdzUKEu9qFJ7e1Sg0vqtREL2rURi9q1FYeFejkPiuxg5dLRc08nru6m12n3jmW3WUgKqxIMJRAodRIoVTV8B18IBs8MBs8M4+9p8/duWc68TYMoxqmWdr2ZiapZyaZZ4aPp0FRUyanc4CyjNkp7OOVnErD2QVvdyFdXc7z1O+CaW4yfaxaXjFRnrFJnsFP5IKinCRjXCRTXKRbZjwPm7lJO1z5uG7iC8JURDSu4jMVYTUu4gsUazyu4gscGz4XUTG5LV4/H5KiFxXH7+zmP03Hb8z106cj99ZIE9Ox+/EwcUMUa0YJ582rhzBxGwLJpE3GGcbMIEN3ITo4obJKPy1z4UKHZl6xV2uBbZ34+TxzoXRm9iuOWX5ppHvG2fzN4FXgCqkZaAKyxwMXhCMH8oBsTSY1MiBxiJhcitFeLkw3kgFXjgqXwnUGLpeR6oqFpMqwYpiqOGocm0xse2cvMoY10uNyS1jTYuOCdpYtznbeoEa5aRWo3Cgj2tSFDiOUeX1Kaoy1rGJiHhswHGPagpvlFOQo0yhjiKvZOlywKkUeFU7cDlANxErnL4coNXGate4HKBlXvn05QCpou1HgYs+qrwiRlV6YmwinDE2YH+MarLBKKf1Msq0akaRDTOo7GgkxnU0vkjXquW0pkaVV1ZS1foam3zNS+RaG1vwihvVtO5GOa2+Qc5rcHzJrhXOtB5H9esZqNbm2OBgBrbW6djocJqmNTuqBxMxrd9BXTWFg2FrrOihjVrXQwNc3aNwcG3SK31s8rXVJ636UW2s/bHR4SUqHwdE+dAStW3VQN8UDlpDPko4n+ATPed4PAAoPsdznlZ+4Ol64jmu8YDomZ3zsJoDC0/qnOO67aja6BMj9EMo9XoyjrXx6o1zGvWhV29czONvvHrjnCPRevXGhRiTxqs3xik66ZWVkTdeWSFOwTr0ygqJKmxfeWWFdArgwVdWSOVQHnhlhTQKqnx7Q0WQwyvf3giUQtt+eyNIKqwH394IKoX0wNsbQeNwNt/eCAqFUrzakGPFYcyvNjiiADZebXCuQtd+tcElClrr1QYXOFz61QbHFCh+JYBCwSFqvhKQFArY4VcCkqzC99VXAlILCuZXXglIOof24CsBSaVAN56F13HlsItn4YFRqFvPwoOgwnvgWXjQKKTNZ+FB4TA2noUHTqFLj45zVDhc9hPbEC5nFC4XKFwuqHC5msPlGoXLBQ6XKxwuV2K4nFO4TKBwGedwjb8cDMGqhEJVMQWqYhWmquUgVYVCVDEHqHIOT+UxOJVSaEZMgRkpheViDMkL34qnKxcYCkDibO+CQgA0ntddhKEDo2sIFzBkIPEkbYf8Z5nLVpy5guJZlgtncSumQkFivgtPc11onOeC5O8FF4Vmv7B6fgooTu8O7ab1mW/FU5aCaggAiesWhadTmkLj9YeC6KJDYXSlobBxxoDUETiKp7MXk/SI9g7FQXd5cuxKDSI9X52cr3AhBnCexk5MVkdlumN2ccWzc3dB5aVvxVPygsR5eOHp5LvQeMZdkDzNLgqdWxdWcwxQvJR7MclPbe9YvhCxo5sws5ucjZtG6m1k6m1y6vFlBFBEUm5EUm5CUk5H14Ot2Ospuh4gMZApuR7QOJBpcD1g1N0puB6QWEPTCT5wN0XvAiQe85qSdwGND3RNhXeBQo9uTdG7AMUH46ajd536VrwZMEXvAiRuCkzJu4DGy//T4F3A6Fdrp+BdQOK1/Cl41zEQvAo9Ha1r/yNlU7QuQPZ2CaD8C21Tsi6k+HaJ4/gTbdNgXcD87RJjZl0+1GVIuGUukmWjIpayIpa5Iti6QBG1YtYFKBcGXaidknP5vO2c69TGb84FKCaec0w8p5Z4jvhmkyueks48JZ3VlDTSh3rqc933qb4vR8Mbf6npEh0Pmb2RBiy+iAMCvokD2F7FAeZv3AD0V24A1nduANkbac521vfct+KLfJfJ+oCnd/su0foA0cSBYoMBVvMSUO22o5ktsJdofYDizeLLZH3A07HBJVofIDoCuAzWByxcR79E63NUS+gpkFv8ZebL0fte+FY8n7hE70OUzycuyfuQgvcBjqcZl8H7gNFpxuVodDAEczpk6tXMS/I6xPRq5qVwO5T4rc1L9Dtk9Ibm5ST/GPYlWZ7P1yY22oiBbloD3eiBbsRA2fdQUgN150MYX0+9tOv0YAbpJkQS2NP0bYikCndLNyKSkHwu34pICjleuhnBAnhfeseMuXJB9Y4ZS+SHrXfMWGZnTO+YMSePrByM0hC5pXGyTOPKN03M5mkSOahxtlET2EtNiIZqmFzVbzKFUuV7T1wDYHOGyGmNk906F55rYjZel7L7mkYWbJx92AQ24yosxaCTLZsgLctU4VumsXmZ0HAw05ONmcKmbQI7d7qTyILw8CptRPPk5iYcjI/yddNa8Wk5vOnN+GSvN4UMn275VSdU9/yUxs7fvOunGgj/V/f9lJZWAXnnT4m0Fqh7f0KDFQEpLQooqXUB9bw0oEqrA0p6gcAWvEagRssESrRSgASLBVJaL1CiJQMltWqgnhcOVGntQImXD9R4BUEtLiKo0DoSbgYHxxC3iUWBgWkjpTUFJVpWgiRWFtTz4hLUvL6gTEsMSrzKoMYLDWhLHZK03KAmHRUbCFNFmX0VtYa1YpPkrijyAoQar0HqUQGhiZUI1I3+UFqPUPtaANWqhPKBALbWJmxyKIB5hUIxLlJDOU38V0LKlv+uj6F4/8mF3d8k3P+Vh93WNmz5dZ6yFa/zFJSu81TXwx4Zom4Zl32rKnSwom1Gfe4B99d47vTYMey0Ieq0cdnpqkKnK9pm1OcecKeN506HZ5Wg55FT96MoxxCawEAC3zZ43+gfjyuKeXCQ7jA0pDQwlOSwoAEMCuhW0l72iYeDUh5MfcwHRmKIhmFcjqGqMICKthn1uQfcb+O50/bYB/TaGXXbBdlvk6HjxraC9aIf3HcXcuftIQzovDPqvAuy8+HP048dDX+enlkv+sGdl3+eftTGByWg65VQxyuW3Ya/ej12EP7qdSR92jd3V/zV61Gpv0AHvTVE3TUu+4t/JHfsHv6RXEJ97gH3Wf2R3L30fqAL23PZ8uMEQ6qXRfCDm4o24avp7+G9T8cawGXf6O/hvRcHFKDQjdD34fABWPi1ivdjpH2rj1t5DDmOVwP1QOy2PgXtk/oBkasx+LAV93WVgw9CvMV7NXbce9DHmbyijo+0Hgt8zAiGYEj2pqoLgWhExg9/EY0Nj22okzxKdWwzSvbia0YwVEOyh1VdCERDNX74i2io+L4kdZKHqt6XrNJwWrdYzGiwBnG4DnU/TV9IyIN25WtfxwM3pVddToN3JQ9/f3I0WX+eXe0+cjrScsKd/2zNSZYbWvzC4fRscm07LVtX+79dC8hN/Dr493UdqG/ZCB3h0PZ03APu2BDtvfKH/OltRr1A1CPjqVu7ihuDtN85Xko9MfIQPrANW1/CVh+3YkdSfe8pXacfO8IXdk8ifsif32b0JaNeIOqm9KK9RD8+MPaVX08/ifghf36b0ZeMeoGor9JMRkm8JlI7rN4SORHaQ+Prtg3+pcH7FufhtM6qRj1fiBtHJK7BnCTlQX7RVtIvkvaa0igaJ1NV9WtzPAhQeBQgPejv2mr8ReO+gXkoqOWx0Gsh4zj4rZCTiB/y57cZfcmoF4j6q84HR4lfDxg7m94OOCH+IL5iK9gXwXrFqMvyNHDU+Bn9sc/pEf0T4g/iK7aCfRGsV4z6LM/+9tqHCV4kr6SLW/GooKB6LRxR/gHjwtORw57in5R1HH/XuCD69eLC6NeLd2xpRzllKx4yFSROigpPJxqFxpOiguRJUVHopKiweOhVUHw69MMkXIKuiA6dnkQh0Jv9XB37xjhsIONMIYE4APYwIPRpAjrGBkgNAKA6R478pF1cXmheWqjtYKRG4nANxzE7zgM3LY3elRQCk2IcDFMwjFNE8mXgm8Zl4JuDl4EjhDDpH4HQYgzZgZ+A0C1S+No/AKEbxFA2fv5BqxTWqN60wsQhJlUFuv5JzRPfijbDf0hzTz+N7rR33E/oToCifTpPlv0J3QkQ3wNyxR3UmV1VcmR3yvYo/0qGFmgsh34lQzfJI2z8SoZW9bhbv5KhZYpG41cy9uoirM6LsAYv8uq7kOvuIp8HLfJJz6Jx0rNon/TEKwL49fkHIbRAu2r/IMTYoP79l21GvUD09ervz+6l2wle6SxbsdoKEot64akKC42LekFyUS8KLeqF0ZXOwsKVztsJ/tndWxwxIOjdnt5N6k1l24pHXXdpsMDTIdbdJNwwNiT/RsTdJN4eNkZHWXcTvBlcye7g9dS23B7FPRR99+QuPuEVEQWh9XxXFHM4xNNdkevAqGe7osAhyk92BQzByreS71K1M8+xw9+7OyZEsdO/d8dijl36vTvmOnb59+5Y4Njx790RhtjhJRcKBMdOXXKpUvpNoWMpcBwP/KaQbiJiqn9TSKuN+DZ+U0jLKdbyN4WkiHFPS4gMZZqD5hIyNqj3zmAODFH0jau4m5gjbhLF2riOsskcXxM4sibEmOL9xtOI+hwIjmD75uJygnfWlmEd3m35H25ahl0t816WegfoXYRgV3gR90ls1ecP8p7bDrdMVzgVh46kK5xPRPu+8T3cr688NwKHrtg1ebkSKXRLPvsRKHXp4LMfS7xqRwi6glftnsRWff4g96D9FAcdi2MvSIHOkAJ9IqVvfhv3kOXc0XC9kBl0LlwvfELtevFZ7sqBx0bqWQf2IR9MG4Ie4PE1fZD3r46vRwktiRDsviLYfTauZcO4lm3j+jzB84PP+FlA6aygXjBr3WGMekuM9xjpq0x94eqi+3Bfv3T//29On5laP3gdP2S43jMUmt/wjTjGMWrqpm9sEa89Bi3ERYxhFcNiuHZIafVqsNRCZ0WL3dw+E7juUGnxF0tJqzettRq6o1rkya+SF8oQpN2zHrgVJ6yg2ktE1jmA4/X3Z0aug27p4+jG6qFs2aUsR3T9ygR76d2/bBm38kDUlfPCU1EXGk+yC5In2UWhk+zCYvYWFK+c75BdOfew/REarMO419FcVphFiGx+EDZieV9v5ZSN0Mr5Q70wudobHmyEC7KraHcjtNvtPjRDNFHGKe2cc+7RvfwayYqvc0tORXum2uNiiJLSuIymPSFF6Vn5UqDG+GW2mphT1iTKW+M6eU3mDDaB0tg45TI/O8HT8Eduus6B4/w2TknunDPdlUMT5LltRCU+nDRQJveZxDoQ5wKjYs9zeEQMUTIYp2JwzsXAf6niWcTXuSUXQ+VQDIaoGIzLWKc/HkE7WArUGL8sBvW3I1iiYmj97QiWuRjS345gTsWQ/nYETcMfuek6B46LwTgVg3MuBlcOTZDnuxFVDHAFizK5zyQWg7h8VZVwUQVLIgqcGFHl8iA1FUnUqVSCeN36VCqbfL/uqRK4hA7er1NtUjmlG1xaOBhBXWDNG1y6ARfbwRtculEqPH2DS6tchEFNpRjUP1ofW7emIRVnVLlESU2FSvrX0wDqMnJZunwpVFZf3+JUzK3roHs9Xi+qYUKUH0j0gATYuAcILzXSKfC4Vf525/iinyF/1oc43SIP6oWdQlUyTWT3JyjHM3NDlhzE8UJAlOrZ+3ha/iKLo7LP32EOJ+5oZSsWeEHVbACJQi88VXehsaQLohItjO4nFhbuJxYS6/MBrPeFkZ1/PfGteNPxITkV8HQz8gE9CRAZESj+i2vOquUAquNwRD9dtoWhnRpxa95mP942THgrnXeb7Xbb9NitMNZtdtNtttAtDm0/kN0VZL/vULbirY2C4nN1e5RvdBSe7nHsaXquruB416MguqNRGN3M6MdaeeJbMa96rBVAItV6qhWgMdX6UCvA/Cf8nI21AiTmWJ9qpQ/z0Od56PM89I156OU89Hoe+jwPvZiHvjEPpQie2pYVgaNYBM6xCJxaETjiInDFi8CZFYEjKwJDVN91QcSsMkSpZZzyy7hKMhNzpplE6Wacc84ETjwTYvYZphTkyywUCkgHQ5SRxiktnYvcNDEnqEs5S02jVDXO+WoCJ224dvM0IkrfxrUbEnMi52s3xHVKi2s3JFBy52s3kXOaw006yHSklOwoUb6jpFIe9Zz1qFLio8S5jxqnP2qxAlChIsjvgohYQbohpWpAiQoiSKImUM9lEdRcGShTcaDE9YEalwhoUCVIqVBQUrWCei4XVKliUNJFgy24blCj0kGJqke8BjQmxZ8TeI75T8gBIOGJ5T95xgHzedafNL9Aw1PIf+JsAorPG/8JPs4kdppdPOHcfeHhSUkDYQdnTENK/j3yerLZZRLHZTiOy3Eel2lpXK6kcZkUx2WYxmWcxoUvSXWaxvEFKY4xSnmcQU9jjWoab5DjmINE4w4ajP0///v/AGoZ428="; - -// ../../../node_modules/@pdf-lib/standard-fonts/es/Helvetica-Oblique.compressed.json -var Helvetica_Oblique_compressed_default = "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"; - -// ../../../node_modules/@pdf-lib/standard-fonts/es/Helvetica.compressed.json -var Helvetica_compressed_default = "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"; - -// ../../../node_modules/@pdf-lib/standard-fonts/es/Times-Bold.compressed.json -var Times_Bold_compressed_default = "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"; - -// ../../../node_modules/@pdf-lib/standard-fonts/es/Times-BoldItalic.compressed.json -var Times_BoldItalic_compressed_default = "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"; - -// ../../../node_modules/@pdf-lib/standard-fonts/es/Times-Italic.compressed.json -var Times_Italic_compressed_default = "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"; - -// ../../../node_modules/@pdf-lib/standard-fonts/es/Times-Roman.compressed.json -var Times_Roman_compressed_default = "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"; - -// ../../../node_modules/@pdf-lib/standard-fonts/es/Symbol.compressed.json -var Symbol_compressed_default = "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"; - -// ../../../node_modules/@pdf-lib/standard-fonts/es/ZapfDingbats.compressed.json -var ZapfDingbats_compressed_default = "eJxtmNtu20YQhl+F4FULyMGeD7pz3AY1ChtG7NpFA18w1NomIlECSRcxgrx7SVk7+wOdG8H5OJydf2Z2d5gf9cV+t0v9VK/r+6vXsXlOlbHe28paq229qj/t++m62aXZ4J/m8PRb1z9/baZxefK63Z6eXN5dVMvTCh83u277xr/6kLrnl2XNq7TpXnczuZyabdee98/b2VzM/x4/dd/T5qab2pd6PQ2vaVVfvDRD005puE3Lu7eH1HbN9hTjx4/77/X6y5lcnUmjVzHIVVDicVX/1W/SsO36dLMfu6nb9/X6TAoBD+5euvZbn8axXtuZ36dhPJrVQqgPQoh5hev91LWLkIv94W1Ygq9+aX+tZAx2tfz64284/sblN/rqfLP/mqrbt3FKu7G67Nv9cNgPzZQ2H6rz7bb6vLgZq89pTMO/M/xfEqturJpqSM/d7GJIm2oamk3aNcO3av80O5xh3yyKmm1193ZIT02bqovTKjP+MAf++7zsZvZ3276kYyWWXB0z99S18/PbafPHQ71W4fjn/fxnFO+ZvkrT0LVzTr78qB/+nk38bHM9exgP8zr1z9U7jt6840YW5uSJKcZOCaBBnKgm5mU8MVNYyMwWFvO7Ukagkmgg6sDWQ5yFFqjzUrLEaQ3BEmiwNsMSaZS0vgWfOkPHWQowNeTUc0kumnxZvsgPxlGai6VTGUqAVCTQ6QkWnc77DKEiLktSUBJKqHIQZ86d8gCpHYoiEzMsb1ubYy8vW50DChB5ZhGqrijD0EqUIeiaEHIfCg5Kpuu0ApiToaGPSY0uaQsyr65L2oKi1yFt1PLaQ3lzfXTgXodGoJYzglndSLDMPg1sTPJpQJHJigw0QrGERqD9YhyTOgONQDUyuF1zaxuokc/BW2ztXCMrGZ9WMW1oQZHIXWNBkSCfRZEL5BMUiZw6CzVSFCfUSGZFNjIldoKDkonTKQiJIGzWmFd3BizJJ9SINoLDriOfUCOZS+zg+KGD1qGiLNMLxtJD1/ns00ON6EzyUCM6vbxhoBKaqbG3DFQCNiL1iHccBPV0DHhQH/JW8EW90dkyFKGywCJU0WkVSvSGeiSUODWFFD0HYdPQVoiRgfPMA+/nnRgiAyNYSjpWNQcNSMrtFCUH4ZIRpSCWocFCSuhCEY6hoUClc0WC52BJlCYYLQdhN+hygRRRlo5BKRRLS6oihSqh+ZzzRGG1Mo4Iz1LoP0qsxDGFzk0JE42ji0jCPejomJKCuwil4m5CiRMEUMVSzVLDUstSx1Juc0oVWMpqY295qVltmtWmWW2a1aZZbZrVplltmtWmWW2G1WZYbYbVZlhthtVmWG2G1WZYbYbVZlhtltVmWW2W1WZZbZbVZlltltVmWW2W1QYjQCh7E2aAQHeGhCFgPoNoy8KNb2wxBhmGKBxoUZXlLGsLI6AsftEDHV0wIURVbANLcTKlGGBIKPOAxCmhePCKUwFzAmpDFRQvjA9R06Hq8TONvshgKDCuRAZTXigUxjxNFfKRo3CLhnIJBMFRvMZpqpNBMlQJzGT5WFQMVQI/AikPMIhEU1aDjqJvQwmjSHB05cC9jbYwc5UtAHNLhDw41ha+lEqF4JaH3gmB61SYcqInxTDmQK8v08vjqv4zDf1N0w3Lf4A8/vwPpfK11w=="; - -// ../../../node_modules/@pdf-lib/standard-fonts/es/Font.js -var compressedJsonForFontName = { - "Courier": Courier_compressed_default, - "Courier-Bold": Courier_Bold_compressed_default, - "Courier-Oblique": Courier_Oblique_compressed_default, - "Courier-BoldOblique": Courier_BoldOblique_compressed_default, - "Helvetica": Helvetica_compressed_default, - "Helvetica-Bold": Helvetica_Bold_compressed_default, - "Helvetica-Oblique": Helvetica_Oblique_compressed_default, - "Helvetica-BoldOblique": Helvetica_BoldOblique_compressed_default, - "Times-Roman": Times_Roman_compressed_default, - "Times-Bold": Times_Bold_compressed_default, - "Times-Italic": Times_Italic_compressed_default, - "Times-BoldItalic": Times_BoldItalic_compressed_default, - "Symbol": Symbol_compressed_default, - "ZapfDingbats": ZapfDingbats_compressed_default -}; -var FontNames; -(function(FontNames2) { - FontNames2["Courier"] = "Courier"; - FontNames2["CourierBold"] = "Courier-Bold"; - FontNames2["CourierOblique"] = "Courier-Oblique"; - FontNames2["CourierBoldOblique"] = "Courier-BoldOblique"; - FontNames2["Helvetica"] = "Helvetica"; - FontNames2["HelveticaBold"] = "Helvetica-Bold"; - FontNames2["HelveticaOblique"] = "Helvetica-Oblique"; - FontNames2["HelveticaBoldOblique"] = "Helvetica-BoldOblique"; - FontNames2["TimesRoman"] = "Times-Roman"; - FontNames2["TimesRomanBold"] = "Times-Bold"; - FontNames2["TimesRomanItalic"] = "Times-Italic"; - FontNames2["TimesRomanBoldItalic"] = "Times-BoldItalic"; - FontNames2["Symbol"] = "Symbol"; - FontNames2["ZapfDingbats"] = "ZapfDingbats"; -})(FontNames || (FontNames = {})); -var fontCache = {}; -var Font = ( - /** @class */ - (function() { - function Font2() { - var _this = this; - this.getWidthOfGlyph = function(glyphName) { - return _this.CharWidths[glyphName]; - }; - this.getXAxisKerningForPair = function(leftGlyphName, rightGlyphName) { - return (_this.KernPairXAmounts[leftGlyphName] || {})[rightGlyphName]; - }; - } - Font2.load = function(fontName) { - var cachedFont = fontCache[fontName]; - if (cachedFont) - return cachedFont; - var json = decompressJson(compressedJsonForFontName[fontName]); - var font = Object.assign(new Font2(), JSON.parse(json)); - font.CharWidths = font.CharMetrics.reduce(function(acc, metric) { - acc[metric.N] = metric.WX; - return acc; - }, {}); - font.KernPairXAmounts = font.KernPairs.reduce(function(acc, _a) { - var name1 = _a[0], name2 = _a[1], width = _a[2]; - if (!acc[name1]) - acc[name1] = {}; - acc[name1][name2] = width; - return acc; - }, {}); - fontCache[fontName] = font; - return font; - }; - return Font2; - })() -); - -// ../../../node_modules/@pdf-lib/standard-fonts/es/all-encodings.compressed.json -var all_encodings_compressed_default = "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"; - -// ../../../node_modules/@pdf-lib/standard-fonts/es/Encoding.js -var decompressedEncodings = decompressJson(all_encodings_compressed_default); -var allUnicodeMappings = JSON.parse(decompressedEncodings); -var Encoding = ( - /** @class */ - /* @__PURE__ */ (function() { - function Encoding2(name, unicodeMappings) { - var _this = this; - this.canEncodeUnicodeCodePoint = function(codePoint) { - return codePoint in _this.unicodeMappings; - }; - this.encodeUnicodeCodePoint = function(codePoint) { - var mapped = _this.unicodeMappings[codePoint]; - if (!mapped) { - var str = String.fromCharCode(codePoint); - var hexCode = "0x" + padStart2(codePoint.toString(16), 4, "0"); - var msg = _this.name + ' cannot encode "' + str + '" (' + hexCode + ")"; - throw new Error(msg); - } - return { code: mapped[0], name: mapped[1] }; - }; - this.name = name; - this.supportedCodePoints = Object.keys(unicodeMappings).map(Number).sort(function(a, b) { - return a - b; - }); - this.unicodeMappings = unicodeMappings; - } - return Encoding2; - })() -); -var Encodings = { - Symbol: new Encoding("Symbol", allUnicodeMappings.symbol), - ZapfDingbats: new Encoding("ZapfDingbats", allUnicodeMappings.zapfdingbats), - WinAnsi: new Encoding("WinAnsi", allUnicodeMappings.win1252) -}; - -// ../../../node_modules/pdf-lib/es/utils/objects.js -var values = function(obj) { - return Object.keys(obj).map(function(k) { - return obj[k]; - }); -}; -var StandardFontValues = values(FontNames); -var isStandardFont = function(input) { - return StandardFontValues.includes(input); -}; -var rectanglesAreEqual = function(a, b) { - return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height; -}; - -// ../../../node_modules/pdf-lib/es/utils/validators.js -var backtick = function(val) { - return "`" + val + "`"; -}; -var singleQuote = function(val) { - return "'" + val + "'"; -}; -var formatValue = function(value) { - var type = typeof value; - if (type === "string") - return singleQuote(value); - else if (type === "undefined") - return backtick(value); - else - return value; -}; -var createValueErrorMsg = function(value, valueName, values2) { - var allowedValues = new Array(values2.length); - for (var idx = 0, len = values2.length; idx < len; idx++) { - var v = values2[idx]; - allowedValues[idx] = formatValue(v); - } - var joinedValues = allowedValues.join(" or "); - return backtick(valueName) + " must be one of " + joinedValues + ", but was actually " + formatValue(value); -}; -var assertIsOneOf = function(value, valueName, allowedValues) { - if (!Array.isArray(allowedValues)) { - allowedValues = values(allowedValues); - } - for (var idx = 0, len = allowedValues.length; idx < len; idx++) { - if (value === allowedValues[idx]) - return; - } - throw new TypeError(createValueErrorMsg(value, valueName, allowedValues)); -}; -var assertIsOneOfOrUndefined = function(value, valueName, allowedValues) { - if (!Array.isArray(allowedValues)) { - allowedValues = values(allowedValues); - } - assertIsOneOf(value, valueName, allowedValues.concat(void 0)); -}; -var assertIsSubset = function(values2, valueName, allowedValues) { - if (!Array.isArray(allowedValues)) { - allowedValues = values(allowedValues); - } - for (var idx = 0, len = values2.length; idx < len; idx++) { - assertIsOneOf(values2[idx], valueName, allowedValues); - } -}; -var getType = function(val) { - if (val === null) - return "null"; - if (val === void 0) - return "undefined"; - if (typeof val === "string") - return "string"; - if (isNaN(val)) - return "NaN"; - if (typeof val === "number") - return "number"; - if (typeof val === "boolean") - return "boolean"; - if (typeof val === "symbol") - return "symbol"; - if (typeof val === "bigint") - return "bigint"; - if (val.constructor && val.constructor.name) - return val.constructor.name; - if (val.name) - return val.name; - if (val.constructor) - return String(val.constructor); - return String(val); -}; -var isType = function(value, type) { - if (type === "null") - return value === null; - if (type === "undefined") - return value === void 0; - if (type === "string") - return typeof value === "string"; - if (type === "number") - return typeof value === "number" && !isNaN(value); - if (type === "boolean") - return typeof value === "boolean"; - if (type === "symbol") - return typeof value === "symbol"; - if (type === "bigint") - return typeof value === "bigint"; - if (type === Date) - return value instanceof Date; - if (type === Array) - return value instanceof Array; - if (type === Uint8Array) - return value instanceof Uint8Array; - if (type === ArrayBuffer) - return value instanceof ArrayBuffer; - if (type === Function) - return value instanceof Function; - return value instanceof type[0]; -}; -var createTypeErrorMsg = function(value, valueName, types) { - var allowedTypes = new Array(types.length); - for (var idx = 0, len = types.length; idx < len; idx++) { - var type = types[idx]; - if (type === "null") - allowedTypes[idx] = backtick("null"); - if (type === "undefined") - allowedTypes[idx] = backtick("undefined"); - if (type === "string") - allowedTypes[idx] = backtick("string"); - else if (type === "number") - allowedTypes[idx] = backtick("number"); - else if (type === "boolean") - allowedTypes[idx] = backtick("boolean"); - else if (type === "symbol") - allowedTypes[idx] = backtick("symbol"); - else if (type === "bigint") - allowedTypes[idx] = backtick("bigint"); - else if (type === Array) - allowedTypes[idx] = backtick("Array"); - else if (type === Uint8Array) - allowedTypes[idx] = backtick("Uint8Array"); - else if (type === ArrayBuffer) - allowedTypes[idx] = backtick("ArrayBuffer"); - else - allowedTypes[idx] = backtick(type[1]); - } - var joinedTypes = allowedTypes.join(" or "); - return backtick(valueName) + " must be of type " + joinedTypes + ", but was actually of type " + backtick(getType(value)); -}; -var assertIs = function(value, valueName, types) { - for (var idx = 0, len = types.length; idx < len; idx++) { - if (isType(value, types[idx])) - return; - } - throw new TypeError(createTypeErrorMsg(value, valueName, types)); -}; -var assertOrUndefined = function(value, valueName, types) { - assertIs(value, valueName, types.concat("undefined")); -}; -var assertEachIs = function(values2, valueName, types) { - for (var idx = 0, len = values2.length; idx < len; idx++) { - assertIs(values2[idx], valueName, types); - } -}; -var assertRange = function(value, valueName, min, max) { - assertIs(value, valueName, ["number"]); - assertIs(min, "min", ["number"]); - assertIs(max, "max", ["number"]); - max = Math.max(min, max); - if (value < min || value > max) { - throw new Error(backtick(valueName) + " must be at least " + min + " and at most " + max + ", but was actually " + value); - } -}; -var assertRangeOrUndefined = function(value, valueName, min, max) { - assertIs(value, valueName, ["number", "undefined"]); - if (typeof value === "number") - assertRange(value, valueName, min, max); -}; -var assertMultiple = function(value, valueName, multiplier) { - assertIs(value, valueName, ["number"]); - if (value % multiplier !== 0) { - throw new Error(backtick(valueName) + " must be a multiple of " + multiplier + ", but was actually " + value); - } -}; -var assertInteger = function(value, valueName) { - if (!Number.isInteger(value)) { - throw new Error(backtick(valueName) + " must be an integer, but was actually " + value); - } -}; -var assertPositive = function(value, valueName) { - if (![1, 0].includes(Math.sign(value))) { - throw new Error(backtick(valueName) + " must be a positive number or 0, but was actually " + value); - } -}; - -// ../../../node_modules/pdf-lib/es/utils/pdfDocEncoding.js -var pdfDocEncodingToUnicode = new Uint16Array(256); -for (idx = 0; idx < 256; idx++) { - pdfDocEncodingToUnicode[idx] = idx; -} -var idx; -pdfDocEncodingToUnicode[22] = toCharCode(""); -pdfDocEncodingToUnicode[24] = toCharCode("\u02D8"); -pdfDocEncodingToUnicode[25] = toCharCode("\u02C7"); -pdfDocEncodingToUnicode[26] = toCharCode("\u02C6"); -pdfDocEncodingToUnicode[27] = toCharCode("\u02D9"); -pdfDocEncodingToUnicode[28] = toCharCode("\u02DD"); -pdfDocEncodingToUnicode[29] = toCharCode("\u02DB"); -pdfDocEncodingToUnicode[30] = toCharCode("\u02DA"); -pdfDocEncodingToUnicode[31] = toCharCode("\u02DC"); -pdfDocEncodingToUnicode[127] = toCharCode("\uFFFD"); -pdfDocEncodingToUnicode[128] = toCharCode("\u2022"); -pdfDocEncodingToUnicode[129] = toCharCode("\u2020"); -pdfDocEncodingToUnicode[130] = toCharCode("\u2021"); -pdfDocEncodingToUnicode[131] = toCharCode("\u2026"); -pdfDocEncodingToUnicode[132] = toCharCode("\u2014"); -pdfDocEncodingToUnicode[133] = toCharCode("\u2013"); -pdfDocEncodingToUnicode[134] = toCharCode("\u0192"); -pdfDocEncodingToUnicode[135] = toCharCode("\u2044"); -pdfDocEncodingToUnicode[136] = toCharCode("\u2039"); -pdfDocEncodingToUnicode[137] = toCharCode("\u203A"); -pdfDocEncodingToUnicode[138] = toCharCode("\u2212"); -pdfDocEncodingToUnicode[139] = toCharCode("\u2030"); -pdfDocEncodingToUnicode[140] = toCharCode("\u201E"); -pdfDocEncodingToUnicode[141] = toCharCode("\u201C"); -pdfDocEncodingToUnicode[142] = toCharCode("\u201D"); -pdfDocEncodingToUnicode[143] = toCharCode("\u2018"); -pdfDocEncodingToUnicode[144] = toCharCode("\u2019"); -pdfDocEncodingToUnicode[145] = toCharCode("\u201A"); -pdfDocEncodingToUnicode[146] = toCharCode("\u2122"); -pdfDocEncodingToUnicode[147] = toCharCode("\uFB01"); -pdfDocEncodingToUnicode[148] = toCharCode("\uFB02"); -pdfDocEncodingToUnicode[149] = toCharCode("\u0141"); -pdfDocEncodingToUnicode[150] = toCharCode("\u0152"); -pdfDocEncodingToUnicode[151] = toCharCode("\u0160"); -pdfDocEncodingToUnicode[152] = toCharCode("\u0178"); -pdfDocEncodingToUnicode[153] = toCharCode("\u017D"); -pdfDocEncodingToUnicode[154] = toCharCode("\u0131"); -pdfDocEncodingToUnicode[155] = toCharCode("\u0142"); -pdfDocEncodingToUnicode[156] = toCharCode("\u0153"); -pdfDocEncodingToUnicode[157] = toCharCode("\u0161"); -pdfDocEncodingToUnicode[158] = toCharCode("\u017E"); -pdfDocEncodingToUnicode[159] = toCharCode("\uFFFD"); -pdfDocEncodingToUnicode[160] = toCharCode("\u20AC"); -pdfDocEncodingToUnicode[173] = toCharCode("\uFFFD"); -var pdfDocEncodingDecode = function(bytes) { - var codePoints = new Array(bytes.length); - for (var idx = 0, len = bytes.length; idx < len; idx++) { - codePoints[idx] = pdfDocEncodingToUnicode[bytes[idx]]; - } - return String.fromCodePoint.apply(String, codePoints); -}; - -// ../../../node_modules/pdf-lib/es/utils/Cache.js -var Cache = ( - /** @class */ - (function() { - function Cache2(populate) { - this.populate = populate; - this.value = void 0; - } - Cache2.prototype.getValue = function() { - return this.value; - }; - Cache2.prototype.access = function() { - if (!this.value) - this.value = this.populate(); - return this.value; - }; - Cache2.prototype.invalidate = function() { - this.value = void 0; - }; - Cache2.populatedBy = function(populate) { - return new Cache2(populate); - }; - return Cache2; - })() -); -var Cache_default = Cache; - -// ../../../node_modules/pdf-lib/es/core/errors.js -var MethodNotImplementedError = ( - /** @class */ - (function(_super) { - __extends(MethodNotImplementedError2, _super); - function MethodNotImplementedError2(className, methodName) { - var _this = this; - var msg = "Method " + className + "." + methodName + "() not implemented"; - _this = _super.call(this, msg) || this; - return _this; - } - return MethodNotImplementedError2; - })(Error) -); -var PrivateConstructorError = ( - /** @class */ - (function(_super) { - __extends(PrivateConstructorError2, _super); - function PrivateConstructorError2(className) { - var _this = this; - var msg = "Cannot construct " + className + " - it has a private constructor"; - _this = _super.call(this, msg) || this; - return _this; - } - return PrivateConstructorError2; - })(Error) -); -var UnexpectedObjectTypeError = ( - /** @class */ - (function(_super) { - __extends(UnexpectedObjectTypeError2, _super); - function UnexpectedObjectTypeError2(expected, actual) { - var _this = this; - var name = function(t) { - var _a, _b; - return (_a = t === null || t === void 0 ? void 0 : t.name) !== null && _a !== void 0 ? _a : (_b = t === null || t === void 0 ? void 0 : t.constructor) === null || _b === void 0 ? void 0 : _b.name; - }; - var expectedTypes = Array.isArray(expected) ? expected.map(name) : [name(expected)]; - var msg = "Expected instance of " + expectedTypes.join(" or ") + ", " + ("but got instance of " + (actual ? name(actual) : actual)); - _this = _super.call(this, msg) || this; - return _this; - } - return UnexpectedObjectTypeError2; - })(Error) -); -var UnsupportedEncodingError = ( - /** @class */ - (function(_super) { - __extends(UnsupportedEncodingError2, _super); - function UnsupportedEncodingError2(encoding) { - var _this = this; - var msg = encoding + " stream encoding not supported"; - _this = _super.call(this, msg) || this; - return _this; - } - return UnsupportedEncodingError2; - })(Error) -); -var ReparseError = ( - /** @class */ - (function(_super) { - __extends(ReparseError2, _super); - function ReparseError2(className, methodName) { - var _this = this; - var msg = "Cannot call " + className + "." + methodName + "() more than once"; - _this = _super.call(this, msg) || this; - return _this; - } - return ReparseError2; - })(Error) -); -var MissingCatalogError = ( - /** @class */ - (function(_super) { - __extends(MissingCatalogError2, _super); - function MissingCatalogError2(ref) { - var _this = this; - var msg = "Missing catalog (ref=" + ref + ")"; - _this = _super.call(this, msg) || this; - return _this; - } - return MissingCatalogError2; - })(Error) -); -var MissingPageContentsEmbeddingError = ( - /** @class */ - (function(_super) { - __extends(MissingPageContentsEmbeddingError2, _super); - function MissingPageContentsEmbeddingError2() { - var _this = this; - var msg = "Can't embed page with missing Contents"; - _this = _super.call(this, msg) || this; - return _this; - } - return MissingPageContentsEmbeddingError2; - })(Error) -); -var UnrecognizedStreamTypeError = ( - /** @class */ - (function(_super) { - __extends(UnrecognizedStreamTypeError2, _super); - function UnrecognizedStreamTypeError2(stream2) { - var _a, _b, _c; - var _this = this; - var streamType = (_c = (_b = (_a = stream2 === null || stream2 === void 0 ? void 0 : stream2.contructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : stream2 === null || stream2 === void 0 ? void 0 : stream2.name) !== null && _c !== void 0 ? _c : stream2; - var msg = "Unrecognized stream type: " + streamType; - _this = _super.call(this, msg) || this; - return _this; - } - return UnrecognizedStreamTypeError2; - })(Error) -); -var PageEmbeddingMismatchedContextError = ( - /** @class */ - (function(_super) { - __extends(PageEmbeddingMismatchedContextError2, _super); - function PageEmbeddingMismatchedContextError2() { - var _this = this; - var msg = "Found mismatched contexts while embedding pages. All pages in the array passed to `PDFDocument.embedPages()` must be from the same document."; - _this = _super.call(this, msg) || this; - return _this; - } - return PageEmbeddingMismatchedContextError2; - })(Error) -); -var PDFArrayIsNotRectangleError = ( - /** @class */ - (function(_super) { - __extends(PDFArrayIsNotRectangleError2, _super); - function PDFArrayIsNotRectangleError2(size) { - var _this = this; - var msg = "Attempted to convert PDFArray with " + size + " elements to rectangle, but must have exactly 4 elements."; - _this = _super.call(this, msg) || this; - return _this; - } - return PDFArrayIsNotRectangleError2; - })(Error) -); -var InvalidPDFDateStringError = ( - /** @class */ - (function(_super) { - __extends(InvalidPDFDateStringError2, _super); - function InvalidPDFDateStringError2(value) { - var _this = this; - var msg = 'Attempted to convert "' + value + '" to a date, but it does not match the PDF date string format.'; - _this = _super.call(this, msg) || this; - return _this; - } - return InvalidPDFDateStringError2; - })(Error) -); -var InvalidTargetIndexError = ( - /** @class */ - (function(_super) { - __extends(InvalidTargetIndexError2, _super); - function InvalidTargetIndexError2(targetIndex, Count) { - var _this = this; - var msg = "Invalid targetIndex specified: targetIndex=" + targetIndex + " must be less than Count=" + Count; - _this = _super.call(this, msg) || this; - return _this; - } - return InvalidTargetIndexError2; - })(Error) -); -var CorruptPageTreeError = ( - /** @class */ - (function(_super) { - __extends(CorruptPageTreeError2, _super); - function CorruptPageTreeError2(targetIndex, operation) { - var _this = this; - var msg = "Failed to " + operation + " at targetIndex=" + targetIndex + " due to corrupt page tree: It is likely that one or more 'Count' entries are invalid"; - _this = _super.call(this, msg) || this; - return _this; - } - return CorruptPageTreeError2; - })(Error) -); -var IndexOutOfBoundsError = ( - /** @class */ - (function(_super) { - __extends(IndexOutOfBoundsError2, _super); - function IndexOutOfBoundsError2(index, min, max) { - var _this = this; - var msg = "index should be at least " + min + " and at most " + max + ", but was actually " + index; - _this = _super.call(this, msg) || this; - return _this; - } - return IndexOutOfBoundsError2; - })(Error) -); -var InvalidAcroFieldValueError = ( - /** @class */ - (function(_super) { - __extends(InvalidAcroFieldValueError2, _super); - function InvalidAcroFieldValueError2() { - var _this = this; - var msg = "Attempted to set invalid field value"; - _this = _super.call(this, msg) || this; - return _this; - } - return InvalidAcroFieldValueError2; - })(Error) -); -var MultiSelectValueError = ( - /** @class */ - (function(_super) { - __extends(MultiSelectValueError2, _super); - function MultiSelectValueError2() { - var _this = this; - var msg = "Attempted to select multiple values for single-select field"; - _this = _super.call(this, msg) || this; - return _this; - } - return MultiSelectValueError2; - })(Error) -); -var MissingDAEntryError = ( - /** @class */ - (function(_super) { - __extends(MissingDAEntryError2, _super); - function MissingDAEntryError2(fieldName) { - var _this = this; - var msg = "No /DA (default appearance) entry found for field: " + fieldName; - _this = _super.call(this, msg) || this; - return _this; - } - return MissingDAEntryError2; - })(Error) -); -var MissingTfOperatorError = ( - /** @class */ - (function(_super) { - __extends(MissingTfOperatorError2, _super); - function MissingTfOperatorError2(fieldName) { - var _this = this; - var msg = "No Tf operator found for DA of field: " + fieldName; - _this = _super.call(this, msg) || this; - return _this; - } - return MissingTfOperatorError2; - })(Error) -); -var NumberParsingError = ( - /** @class */ - (function(_super) { - __extends(NumberParsingError2, _super); - function NumberParsingError2(pos, value) { - var _this = this; - var msg = "Failed to parse number " + ("(line:" + pos.line + " col:" + pos.column + " offset=" + pos.offset + '): "' + value + '"'); - _this = _super.call(this, msg) || this; - return _this; - } - return NumberParsingError2; - })(Error) -); -var PDFParsingError = ( - /** @class */ - (function(_super) { - __extends(PDFParsingError2, _super); - function PDFParsingError2(pos, details) { - var _this = this; - var msg = "Failed to parse PDF document " + ("(line:" + pos.line + " col:" + pos.column + " offset=" + pos.offset + "): " + details); - _this = _super.call(this, msg) || this; - return _this; - } - return PDFParsingError2; - })(Error) -); -var NextByteAssertionError = ( - /** @class */ - (function(_super) { - __extends(NextByteAssertionError2, _super); - function NextByteAssertionError2(pos, expectedByte, actualByte) { - var _this = this; - var msg = "Expected next byte to be " + expectedByte + " but it was actually " + actualByte; - _this = _super.call(this, pos, msg) || this; - return _this; - } - return NextByteAssertionError2; - })(PDFParsingError) -); -var PDFObjectParsingError = ( - /** @class */ - (function(_super) { - __extends(PDFObjectParsingError2, _super); - function PDFObjectParsingError2(pos, byte) { - var _this = this; - var msg = "Failed to parse PDF object starting with the following byte: " + byte; - _this = _super.call(this, pos, msg) || this; - return _this; - } - return PDFObjectParsingError2; - })(PDFParsingError) -); -var PDFInvalidObjectParsingError = ( - /** @class */ - (function(_super) { - __extends(PDFInvalidObjectParsingError2, _super); - function PDFInvalidObjectParsingError2(pos) { - var _this = this; - var msg = "Failed to parse invalid PDF object"; - _this = _super.call(this, pos, msg) || this; - return _this; - } - return PDFInvalidObjectParsingError2; - })(PDFParsingError) -); -var PDFStreamParsingError = ( - /** @class */ - (function(_super) { - __extends(PDFStreamParsingError2, _super); - function PDFStreamParsingError2(pos) { - var _this = this; - var msg = "Failed to parse PDF stream"; - _this = _super.call(this, pos, msg) || this; - return _this; - } - return PDFStreamParsingError2; - })(PDFParsingError) -); -var UnbalancedParenthesisError = ( - /** @class */ - (function(_super) { - __extends(UnbalancedParenthesisError2, _super); - function UnbalancedParenthesisError2(pos) { - var _this = this; - var msg = "Failed to parse PDF literal string due to unbalanced parenthesis"; - _this = _super.call(this, pos, msg) || this; - return _this; - } - return UnbalancedParenthesisError2; - })(PDFParsingError) -); -var StalledParserError = ( - /** @class */ - (function(_super) { - __extends(StalledParserError2, _super); - function StalledParserError2(pos) { - var _this = this; - var msg = "Parser stalled"; - _this = _super.call(this, pos, msg) || this; - return _this; - } - return StalledParserError2; - })(PDFParsingError) -); -var MissingPDFHeaderError = ( - /** @class */ - (function(_super) { - __extends(MissingPDFHeaderError2, _super); - function MissingPDFHeaderError2(pos) { - var _this = this; - var msg = "No PDF header found"; - _this = _super.call(this, pos, msg) || this; - return _this; - } - return MissingPDFHeaderError2; - })(PDFParsingError) -); -var MissingKeywordError = ( - /** @class */ - (function(_super) { - __extends(MissingKeywordError2, _super); - function MissingKeywordError2(pos, keyword) { - var _this = this; - var msg = "Did not find expected keyword '" + arrayAsString(keyword) + "'"; - _this = _super.call(this, pos, msg) || this; - return _this; - } - return MissingKeywordError2; - })(PDFParsingError) -); - -// ../../../node_modules/pdf-lib/es/core/syntax/CharCodes.js -var CharCodes; -(function(CharCodes2) { - CharCodes2[CharCodes2["Null"] = 0] = "Null"; - CharCodes2[CharCodes2["Backspace"] = 8] = "Backspace"; - CharCodes2[CharCodes2["Tab"] = 9] = "Tab"; - CharCodes2[CharCodes2["Newline"] = 10] = "Newline"; - CharCodes2[CharCodes2["FormFeed"] = 12] = "FormFeed"; - CharCodes2[CharCodes2["CarriageReturn"] = 13] = "CarriageReturn"; - CharCodes2[CharCodes2["Space"] = 32] = "Space"; - CharCodes2[CharCodes2["ExclamationPoint"] = 33] = "ExclamationPoint"; - CharCodes2[CharCodes2["Hash"] = 35] = "Hash"; - CharCodes2[CharCodes2["Percent"] = 37] = "Percent"; - CharCodes2[CharCodes2["LeftParen"] = 40] = "LeftParen"; - CharCodes2[CharCodes2["RightParen"] = 41] = "RightParen"; - CharCodes2[CharCodes2["Plus"] = 43] = "Plus"; - CharCodes2[CharCodes2["Minus"] = 45] = "Minus"; - CharCodes2[CharCodes2["Dash"] = 45] = "Dash"; - CharCodes2[CharCodes2["Period"] = 46] = "Period"; - CharCodes2[CharCodes2["ForwardSlash"] = 47] = "ForwardSlash"; - CharCodes2[CharCodes2["Zero"] = 48] = "Zero"; - CharCodes2[CharCodes2["One"] = 49] = "One"; - CharCodes2[CharCodes2["Two"] = 50] = "Two"; - CharCodes2[CharCodes2["Three"] = 51] = "Three"; - CharCodes2[CharCodes2["Four"] = 52] = "Four"; - CharCodes2[CharCodes2["Five"] = 53] = "Five"; - CharCodes2[CharCodes2["Six"] = 54] = "Six"; - CharCodes2[CharCodes2["Seven"] = 55] = "Seven"; - CharCodes2[CharCodes2["Eight"] = 56] = "Eight"; - CharCodes2[CharCodes2["Nine"] = 57] = "Nine"; - CharCodes2[CharCodes2["LessThan"] = 60] = "LessThan"; - CharCodes2[CharCodes2["GreaterThan"] = 62] = "GreaterThan"; - CharCodes2[CharCodes2["A"] = 65] = "A"; - CharCodes2[CharCodes2["D"] = 68] = "D"; - CharCodes2[CharCodes2["E"] = 69] = "E"; - CharCodes2[CharCodes2["F"] = 70] = "F"; - CharCodes2[CharCodes2["O"] = 79] = "O"; - CharCodes2[CharCodes2["P"] = 80] = "P"; - CharCodes2[CharCodes2["R"] = 82] = "R"; - CharCodes2[CharCodes2["LeftSquareBracket"] = 91] = "LeftSquareBracket"; - CharCodes2[CharCodes2["BackSlash"] = 92] = "BackSlash"; - CharCodes2[CharCodes2["RightSquareBracket"] = 93] = "RightSquareBracket"; - CharCodes2[CharCodes2["a"] = 97] = "a"; - CharCodes2[CharCodes2["b"] = 98] = "b"; - CharCodes2[CharCodes2["d"] = 100] = "d"; - CharCodes2[CharCodes2["e"] = 101] = "e"; - CharCodes2[CharCodes2["f"] = 102] = "f"; - CharCodes2[CharCodes2["i"] = 105] = "i"; - CharCodes2[CharCodes2["j"] = 106] = "j"; - CharCodes2[CharCodes2["l"] = 108] = "l"; - CharCodes2[CharCodes2["m"] = 109] = "m"; - CharCodes2[CharCodes2["n"] = 110] = "n"; - CharCodes2[CharCodes2["o"] = 111] = "o"; - CharCodes2[CharCodes2["r"] = 114] = "r"; - CharCodes2[CharCodes2["s"] = 115] = "s"; - CharCodes2[CharCodes2["t"] = 116] = "t"; - CharCodes2[CharCodes2["u"] = 117] = "u"; - CharCodes2[CharCodes2["x"] = 120] = "x"; - CharCodes2[CharCodes2["LeftCurly"] = 123] = "LeftCurly"; - CharCodes2[CharCodes2["RightCurly"] = 125] = "RightCurly"; - CharCodes2[CharCodes2["Tilde"] = 126] = "Tilde"; -})(CharCodes || (CharCodes = {})); -var CharCodes_default = CharCodes; - -// ../../../node_modules/pdf-lib/es/core/PDFContext.js -var import_pako3 = __toESM(require_pako()); - -// ../../../node_modules/pdf-lib/es/core/document/PDFHeader.js -var PDFHeader = ( - /** @class */ - (function() { - function PDFHeader2(major, minor) { - this.major = String(major); - this.minor = String(minor); - } - PDFHeader2.prototype.toString = function() { - var bc = charFromCode(129); - return "%PDF-" + this.major + "." + this.minor + "\n%" + bc + bc + bc + bc; - }; - PDFHeader2.prototype.sizeInBytes = function() { - return 12 + this.major.length + this.minor.length; - }; - PDFHeader2.prototype.copyBytesInto = function(buffer, offset) { - var initialOffset = offset; - buffer[offset++] = CharCodes_default.Percent; - buffer[offset++] = CharCodes_default.P; - buffer[offset++] = CharCodes_default.D; - buffer[offset++] = CharCodes_default.F; - buffer[offset++] = CharCodes_default.Dash; - offset += copyStringIntoBuffer(this.major, buffer, offset); - buffer[offset++] = CharCodes_default.Period; - offset += copyStringIntoBuffer(this.minor, buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - buffer[offset++] = CharCodes_default.Percent; - buffer[offset++] = 129; - buffer[offset++] = 129; - buffer[offset++] = 129; - buffer[offset++] = 129; - return offset - initialOffset; - }; - PDFHeader2.forVersion = function(major, minor) { - return new PDFHeader2(major, minor); - }; - return PDFHeader2; - })() -); -var PDFHeader_default = PDFHeader; - -// ../../../node_modules/pdf-lib/es/core/objects/PDFObject.js -var PDFObject = ( - /** @class */ - (function() { - function PDFObject2() { - } - PDFObject2.prototype.clone = function(_context) { - throw new MethodNotImplementedError(this.constructor.name, "clone"); - }; - PDFObject2.prototype.toString = function() { - throw new MethodNotImplementedError(this.constructor.name, "toString"); - }; - PDFObject2.prototype.sizeInBytes = function() { - throw new MethodNotImplementedError(this.constructor.name, "sizeInBytes"); - }; - PDFObject2.prototype.copyBytesInto = function(_buffer, _offset) { - throw new MethodNotImplementedError(this.constructor.name, "copyBytesInto"); - }; - return PDFObject2; - })() -); -var PDFObject_default = PDFObject; - -// ../../../node_modules/pdf-lib/es/core/objects/PDFNumber.js -var PDFNumber = ( - /** @class */ - (function(_super) { - __extends(PDFNumber2, _super); - function PDFNumber2(value) { - var _this = _super.call(this) || this; - _this.numberValue = value; - _this.stringValue = numberToString(value); - return _this; - } - PDFNumber2.prototype.asNumber = function() { - return this.numberValue; - }; - PDFNumber2.prototype.value = function() { - return this.numberValue; - }; - PDFNumber2.prototype.clone = function() { - return PDFNumber2.of(this.numberValue); - }; - PDFNumber2.prototype.toString = function() { - return this.stringValue; - }; - PDFNumber2.prototype.sizeInBytes = function() { - return this.stringValue.length; - }; - PDFNumber2.prototype.copyBytesInto = function(buffer, offset) { - offset += copyStringIntoBuffer(this.stringValue, buffer, offset); - return this.stringValue.length; - }; - PDFNumber2.of = function(value) { - return new PDFNumber2(value); - }; - return PDFNumber2; - })(PDFObject_default) -); -var PDFNumber_default = PDFNumber; - -// ../../../node_modules/pdf-lib/es/core/objects/PDFArray.js -var PDFArray = ( - /** @class */ - (function(_super) { - __extends(PDFArray2, _super); - function PDFArray2(context) { - var _this = _super.call(this) || this; - _this.array = []; - _this.context = context; - return _this; - } - PDFArray2.prototype.size = function() { - return this.array.length; - }; - PDFArray2.prototype.push = function(object) { - this.array.push(object); - }; - PDFArray2.prototype.insert = function(index, object) { - this.array.splice(index, 0, object); - }; - PDFArray2.prototype.indexOf = function(object) { - var index = this.array.indexOf(object); - return index === -1 ? void 0 : index; - }; - PDFArray2.prototype.remove = function(index) { - this.array.splice(index, 1); - }; - PDFArray2.prototype.set = function(idx, object) { - this.array[idx] = object; - }; - PDFArray2.prototype.get = function(index) { - return this.array[index]; - }; - PDFArray2.prototype.lookupMaybe = function(index) { - var _a; - var types = []; - for (var _i = 1; _i < arguments.length; _i++) { - types[_i - 1] = arguments[_i]; - } - return (_a = this.context).lookupMaybe.apply(_a, __spreadArrays([this.get(index)], types)); - }; - PDFArray2.prototype.lookup = function(index) { - var _a; - var types = []; - for (var _i = 1; _i < arguments.length; _i++) { - types[_i - 1] = arguments[_i]; - } - return (_a = this.context).lookup.apply(_a, __spreadArrays([this.get(index)], types)); - }; - PDFArray2.prototype.asRectangle = function() { - if (this.size() !== 4) - throw new PDFArrayIsNotRectangleError(this.size()); - var lowerLeftX = this.lookup(0, PDFNumber_default).asNumber(); - var lowerLeftY = this.lookup(1, PDFNumber_default).asNumber(); - var upperRightX = this.lookup(2, PDFNumber_default).asNumber(); - var upperRightY = this.lookup(3, PDFNumber_default).asNumber(); - var x = lowerLeftX; - var y = lowerLeftY; - var width = upperRightX - lowerLeftX; - var height = upperRightY - lowerLeftY; - return { x, y, width, height }; - }; - PDFArray2.prototype.asArray = function() { - return this.array.slice(); - }; - PDFArray2.prototype.clone = function(context) { - var clone = PDFArray2.withContext(context || this.context); - for (var idx = 0, len = this.size(); idx < len; idx++) { - clone.push(this.array[idx]); - } - return clone; - }; - PDFArray2.prototype.toString = function() { - var arrayString = "[ "; - for (var idx = 0, len = this.size(); idx < len; idx++) { - arrayString += this.get(idx).toString(); - arrayString += " "; - } - arrayString += "]"; - return arrayString; - }; - PDFArray2.prototype.sizeInBytes = function() { - var size = 3; - for (var idx = 0, len = this.size(); idx < len; idx++) { - size += this.get(idx).sizeInBytes() + 1; - } - return size; - }; - PDFArray2.prototype.copyBytesInto = function(buffer, offset) { - var initialOffset = offset; - buffer[offset++] = CharCodes_default.LeftSquareBracket; - buffer[offset++] = CharCodes_default.Space; - for (var idx = 0, len = this.size(); idx < len; idx++) { - offset += this.get(idx).copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Space; - } - buffer[offset++] = CharCodes_default.RightSquareBracket; - return offset - initialOffset; - }; - PDFArray2.prototype.scalePDFNumbers = function(x, y) { - for (var idx = 0, len = this.size(); idx < len; idx++) { - var el = this.lookup(idx); - if (el instanceof PDFNumber_default) { - var factor = idx % 2 === 0 ? x : y; - this.set(idx, PDFNumber_default.of(el.asNumber() * factor)); - } - } - }; - PDFArray2.withContext = function(context) { - return new PDFArray2(context); - }; - return PDFArray2; - })(PDFObject_default) -); -var PDFArray_default = PDFArray; - -// ../../../node_modules/pdf-lib/es/core/objects/PDFBool.js -var ENFORCER = {}; -var PDFBool = ( - /** @class */ - (function(_super) { - __extends(PDFBool2, _super); - function PDFBool2(enforcer, value) { - var _this = this; - if (enforcer !== ENFORCER) - throw new PrivateConstructorError("PDFBool"); - _this = _super.call(this) || this; - _this.value = value; - return _this; - } - PDFBool2.prototype.asBoolean = function() { - return this.value; - }; - PDFBool2.prototype.clone = function() { - return this; - }; - PDFBool2.prototype.toString = function() { - return String(this.value); - }; - PDFBool2.prototype.sizeInBytes = function() { - return this.value ? 4 : 5; - }; - PDFBool2.prototype.copyBytesInto = function(buffer, offset) { - if (this.value) { - buffer[offset++] = CharCodes_default.t; - buffer[offset++] = CharCodes_default.r; - buffer[offset++] = CharCodes_default.u; - buffer[offset++] = CharCodes_default.e; - return 4; - } else { - buffer[offset++] = CharCodes_default.f; - buffer[offset++] = CharCodes_default.a; - buffer[offset++] = CharCodes_default.l; - buffer[offset++] = CharCodes_default.s; - buffer[offset++] = CharCodes_default.e; - return 5; - } - }; - PDFBool2.True = new PDFBool2(ENFORCER, true); - PDFBool2.False = new PDFBool2(ENFORCER, false); - return PDFBool2; - })(PDFObject_default) -); -var PDFBool_default = PDFBool; - -// ../../../node_modules/pdf-lib/es/core/syntax/Delimiters.js -var IsDelimiter = new Uint8Array(256); -IsDelimiter[CharCodes_default.LeftParen] = 1; -IsDelimiter[CharCodes_default.RightParen] = 1; -IsDelimiter[CharCodes_default.LessThan] = 1; -IsDelimiter[CharCodes_default.GreaterThan] = 1; -IsDelimiter[CharCodes_default.LeftSquareBracket] = 1; -IsDelimiter[CharCodes_default.RightSquareBracket] = 1; -IsDelimiter[CharCodes_default.LeftCurly] = 1; -IsDelimiter[CharCodes_default.RightCurly] = 1; -IsDelimiter[CharCodes_default.ForwardSlash] = 1; -IsDelimiter[CharCodes_default.Percent] = 1; - -// ../../../node_modules/pdf-lib/es/core/syntax/Whitespace.js -var IsWhitespace = new Uint8Array(256); -IsWhitespace[CharCodes_default.Null] = 1; -IsWhitespace[CharCodes_default.Tab] = 1; -IsWhitespace[CharCodes_default.Newline] = 1; -IsWhitespace[CharCodes_default.FormFeed] = 1; -IsWhitespace[CharCodes_default.CarriageReturn] = 1; -IsWhitespace[CharCodes_default.Space] = 1; - -// ../../../node_modules/pdf-lib/es/core/syntax/Irregular.js -var IsIrregular = new Uint8Array(256); -for (idx = 0, len = 256; idx < len; idx++) { - IsIrregular[idx] = IsWhitespace[idx] || IsDelimiter[idx] ? 1 : 0; -} -var idx; -var len; -IsIrregular[CharCodes_default.Hash] = 1; - -// ../../../node_modules/pdf-lib/es/core/objects/PDFName.js -var decodeName = function(name) { - return name.replace(/#([\dABCDEF]{2})/g, function(_, hex2) { - return charFromHexCode(hex2); - }); -}; -var isRegularChar = function(charCode) { - return charCode >= CharCodes_default.ExclamationPoint && charCode <= CharCodes_default.Tilde && !IsIrregular[charCode]; -}; -var ENFORCER2 = {}; -var pool = /* @__PURE__ */ new Map(); -var PDFName = ( - /** @class */ - (function(_super) { - __extends(PDFName2, _super); - function PDFName2(enforcer, name) { - var _this = this; - if (enforcer !== ENFORCER2) - throw new PrivateConstructorError("PDFName"); - _this = _super.call(this) || this; - var encodedName = "/"; - for (var idx = 0, len = name.length; idx < len; idx++) { - var character = name[idx]; - var code = toCharCode(character); - encodedName += isRegularChar(code) ? character : "#" + toHexString(code); - } - _this.encodedName = encodedName; - return _this; - } - PDFName2.prototype.asBytes = function() { - var bytes = []; - var hex2 = ""; - var escaped = false; - var pushByte = function(byte2) { - if (byte2 !== void 0) - bytes.push(byte2); - escaped = false; - }; - for (var idx = 1, len = this.encodedName.length; idx < len; idx++) { - var char = this.encodedName[idx]; - var byte = toCharCode(char); - var nextChar = this.encodedName[idx + 1]; - if (!escaped) { - if (byte === CharCodes_default.Hash) - escaped = true; - else - pushByte(byte); - } else { - if (byte >= CharCodes_default.Zero && byte <= CharCodes_default.Nine || byte >= CharCodes_default.a && byte <= CharCodes_default.f || byte >= CharCodes_default.A && byte <= CharCodes_default.F) { - hex2 += char; - if (hex2.length === 2 || !(nextChar >= "0" && nextChar <= "9" || nextChar >= "a" && nextChar <= "f" || nextChar >= "A" && nextChar <= "F")) { - pushByte(parseInt(hex2, 16)); - hex2 = ""; - } - } else { - pushByte(byte); - } - } - } - return new Uint8Array(bytes); - }; - PDFName2.prototype.decodeText = function() { - var bytes = this.asBytes(); - return String.fromCharCode.apply(String, Array.from(bytes)); - }; - PDFName2.prototype.asString = function() { - return this.encodedName; - }; - PDFName2.prototype.value = function() { - return this.encodedName; - }; - PDFName2.prototype.clone = function() { - return this; - }; - PDFName2.prototype.toString = function() { - return this.encodedName; - }; - PDFName2.prototype.sizeInBytes = function() { - return this.encodedName.length; - }; - PDFName2.prototype.copyBytesInto = function(buffer, offset) { - offset += copyStringIntoBuffer(this.encodedName, buffer, offset); - return this.encodedName.length; - }; - PDFName2.of = function(name) { - var decodedValue = decodeName(name); - var instance = pool.get(decodedValue); - if (!instance) { - instance = new PDFName2(ENFORCER2, decodedValue); - pool.set(decodedValue, instance); - } - return instance; - }; - PDFName2.Length = PDFName2.of("Length"); - PDFName2.FlateDecode = PDFName2.of("FlateDecode"); - PDFName2.Resources = PDFName2.of("Resources"); - PDFName2.Font = PDFName2.of("Font"); - PDFName2.XObject = PDFName2.of("XObject"); - PDFName2.ExtGState = PDFName2.of("ExtGState"); - PDFName2.Contents = PDFName2.of("Contents"); - PDFName2.Type = PDFName2.of("Type"); - PDFName2.Parent = PDFName2.of("Parent"); - PDFName2.MediaBox = PDFName2.of("MediaBox"); - PDFName2.Page = PDFName2.of("Page"); - PDFName2.Annots = PDFName2.of("Annots"); - PDFName2.TrimBox = PDFName2.of("TrimBox"); - PDFName2.ArtBox = PDFName2.of("ArtBox"); - PDFName2.BleedBox = PDFName2.of("BleedBox"); - PDFName2.CropBox = PDFName2.of("CropBox"); - PDFName2.Rotate = PDFName2.of("Rotate"); - PDFName2.Title = PDFName2.of("Title"); - PDFName2.Author = PDFName2.of("Author"); - PDFName2.Subject = PDFName2.of("Subject"); - PDFName2.Creator = PDFName2.of("Creator"); - PDFName2.Keywords = PDFName2.of("Keywords"); - PDFName2.Producer = PDFName2.of("Producer"); - PDFName2.CreationDate = PDFName2.of("CreationDate"); - PDFName2.ModDate = PDFName2.of("ModDate"); - return PDFName2; - })(PDFObject_default) -); -var PDFName_default = PDFName; - -// ../../../node_modules/pdf-lib/es/core/objects/PDFNull.js -var PDFNull = ( - /** @class */ - (function(_super) { - __extends(PDFNull2, _super); - function PDFNull2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFNull2.prototype.asNull = function() { - return null; - }; - PDFNull2.prototype.clone = function() { - return this; - }; - PDFNull2.prototype.toString = function() { - return "null"; - }; - PDFNull2.prototype.sizeInBytes = function() { - return 4; - }; - PDFNull2.prototype.copyBytesInto = function(buffer, offset) { - buffer[offset++] = CharCodes_default.n; - buffer[offset++] = CharCodes_default.u; - buffer[offset++] = CharCodes_default.l; - buffer[offset++] = CharCodes_default.l; - return 4; - }; - return PDFNull2; - })(PDFObject_default) -); -var PDFNull_default = new PDFNull(); - -// ../../../node_modules/pdf-lib/es/core/objects/PDFDict.js -var PDFDict = ( - /** @class */ - (function(_super) { - __extends(PDFDict2, _super); - function PDFDict2(map, context) { - var _this = _super.call(this) || this; - _this.dict = map; - _this.context = context; - return _this; - } - PDFDict2.prototype.keys = function() { - return Array.from(this.dict.keys()); - }; - PDFDict2.prototype.values = function() { - return Array.from(this.dict.values()); - }; - PDFDict2.prototype.entries = function() { - return Array.from(this.dict.entries()); - }; - PDFDict2.prototype.set = function(key, value) { - this.dict.set(key, value); - }; - PDFDict2.prototype.get = function(key, preservePDFNull) { - if (preservePDFNull === void 0) { - preservePDFNull = false; - } - var value = this.dict.get(key); - if (value === PDFNull_default && !preservePDFNull) - return void 0; - return value; - }; - PDFDict2.prototype.has = function(key) { - var value = this.dict.get(key); - return value !== void 0 && value !== PDFNull_default; - }; - PDFDict2.prototype.lookupMaybe = function(key) { - var _a; - var types = []; - for (var _i = 1; _i < arguments.length; _i++) { - types[_i - 1] = arguments[_i]; - } - var preservePDFNull = types.includes(PDFNull_default); - var value = (_a = this.context).lookupMaybe.apply(_a, __spreadArrays([this.get(key, preservePDFNull)], types)); - if (value === PDFNull_default && !preservePDFNull) - return void 0; - return value; - }; - PDFDict2.prototype.lookup = function(key) { - var _a; - var types = []; - for (var _i = 1; _i < arguments.length; _i++) { - types[_i - 1] = arguments[_i]; - } - var preservePDFNull = types.includes(PDFNull_default); - var value = (_a = this.context).lookup.apply(_a, __spreadArrays([this.get(key, preservePDFNull)], types)); - if (value === PDFNull_default && !preservePDFNull) - return void 0; - return value; - }; - PDFDict2.prototype.delete = function(key) { - return this.dict.delete(key); - }; - PDFDict2.prototype.asMap = function() { - return new Map(this.dict); - }; - PDFDict2.prototype.uniqueKey = function(tag) { - if (tag === void 0) { - tag = ""; - } - var existingKeys = this.keys(); - var key = PDFName_default.of(this.context.addRandomSuffix(tag, 10)); - while (existingKeys.includes(key)) { - key = PDFName_default.of(this.context.addRandomSuffix(tag, 10)); - } - return key; - }; - PDFDict2.prototype.clone = function(context) { - var clone = PDFDict2.withContext(context || this.context); - var entries = this.entries(); - for (var idx = 0, len = entries.length; idx < len; idx++) { - var _a = entries[idx], key = _a[0], value = _a[1]; - clone.set(key, value); - } - return clone; - }; - PDFDict2.prototype.toString = function() { - var dictString = "<<\n"; - var entries = this.entries(); - for (var idx = 0, len = entries.length; idx < len; idx++) { - var _a = entries[idx], key = _a[0], value = _a[1]; - dictString += key.toString() + " " + value.toString() + "\n"; - } - dictString += ">>"; - return dictString; - }; - PDFDict2.prototype.sizeInBytes = function() { - var size = 5; - var entries = this.entries(); - for (var idx = 0, len = entries.length; idx < len; idx++) { - var _a = entries[idx], key = _a[0], value = _a[1]; - size += key.sizeInBytes() + value.sizeInBytes() + 2; - } - return size; - }; - PDFDict2.prototype.copyBytesInto = function(buffer, offset) { - var initialOffset = offset; - buffer[offset++] = CharCodes_default.LessThan; - buffer[offset++] = CharCodes_default.LessThan; - buffer[offset++] = CharCodes_default.Newline; - var entries = this.entries(); - for (var idx = 0, len = entries.length; idx < len; idx++) { - var _a = entries[idx], key = _a[0], value = _a[1]; - offset += key.copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Space; - offset += value.copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - } - buffer[offset++] = CharCodes_default.GreaterThan; - buffer[offset++] = CharCodes_default.GreaterThan; - return offset - initialOffset; - }; - PDFDict2.withContext = function(context) { - return new PDFDict2(/* @__PURE__ */ new Map(), context); - }; - PDFDict2.fromMapWithContext = function(map, context) { - return new PDFDict2(map, context); - }; - return PDFDict2; - })(PDFObject_default) -); -var PDFDict_default = PDFDict; - -// ../../../node_modules/pdf-lib/es/core/objects/PDFStream.js -var PDFStream = ( - /** @class */ - (function(_super) { - __extends(PDFStream2, _super); - function PDFStream2(dict) { - var _this = _super.call(this) || this; - _this.dict = dict; - return _this; - } - PDFStream2.prototype.clone = function(_context) { - throw new MethodNotImplementedError(this.constructor.name, "clone"); - }; - PDFStream2.prototype.getContentsString = function() { - throw new MethodNotImplementedError(this.constructor.name, "getContentsString"); - }; - PDFStream2.prototype.getContents = function() { - throw new MethodNotImplementedError(this.constructor.name, "getContents"); - }; - PDFStream2.prototype.getContentsSize = function() { - throw new MethodNotImplementedError(this.constructor.name, "getContentsSize"); - }; - PDFStream2.prototype.updateDict = function() { - var contentsSize = this.getContentsSize(); - this.dict.set(PDFName_default.Length, PDFNumber_default.of(contentsSize)); - }; - PDFStream2.prototype.sizeInBytes = function() { - this.updateDict(); - return this.dict.sizeInBytes() + this.getContentsSize() + 18; - }; - PDFStream2.prototype.toString = function() { - this.updateDict(); - var streamString = this.dict.toString(); - streamString += "\nstream\n"; - streamString += this.getContentsString(); - streamString += "\nendstream"; - return streamString; - }; - PDFStream2.prototype.copyBytesInto = function(buffer, offset) { - this.updateDict(); - var initialOffset = offset; - offset += this.dict.copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - buffer[offset++] = CharCodes_default.s; - buffer[offset++] = CharCodes_default.t; - buffer[offset++] = CharCodes_default.r; - buffer[offset++] = CharCodes_default.e; - buffer[offset++] = CharCodes_default.a; - buffer[offset++] = CharCodes_default.m; - buffer[offset++] = CharCodes_default.Newline; - var contents = this.getContents(); - for (var idx = 0, len = contents.length; idx < len; idx++) { - buffer[offset++] = contents[idx]; - } - buffer[offset++] = CharCodes_default.Newline; - buffer[offset++] = CharCodes_default.e; - buffer[offset++] = CharCodes_default.n; - buffer[offset++] = CharCodes_default.d; - buffer[offset++] = CharCodes_default.s; - buffer[offset++] = CharCodes_default.t; - buffer[offset++] = CharCodes_default.r; - buffer[offset++] = CharCodes_default.e; - buffer[offset++] = CharCodes_default.a; - buffer[offset++] = CharCodes_default.m; - return offset - initialOffset; - }; - return PDFStream2; - })(PDFObject_default) -); -var PDFStream_default = PDFStream; - -// ../../../node_modules/pdf-lib/es/core/objects/PDFRawStream.js -var PDFRawStream = ( - /** @class */ - (function(_super) { - __extends(PDFRawStream2, _super); - function PDFRawStream2(dict, contents) { - var _this = _super.call(this, dict) || this; - _this.contents = contents; - return _this; - } - PDFRawStream2.prototype.asUint8Array = function() { - return this.contents.slice(); - }; - PDFRawStream2.prototype.clone = function(context) { - return PDFRawStream2.of(this.dict.clone(context), this.contents.slice()); - }; - PDFRawStream2.prototype.getContentsString = function() { - return arrayAsString(this.contents); - }; - PDFRawStream2.prototype.getContents = function() { - return this.contents; - }; - PDFRawStream2.prototype.getContentsSize = function() { - return this.contents.length; - }; - PDFRawStream2.of = function(dict, contents) { - return new PDFRawStream2(dict, contents); - }; - return PDFRawStream2; - })(PDFStream_default) -); -var PDFRawStream_default = PDFRawStream; - -// ../../../node_modules/pdf-lib/es/core/objects/PDFRef.js -var ENFORCER3 = {}; -var pool2 = /* @__PURE__ */ new Map(); -var PDFRef = ( - /** @class */ - (function(_super) { - __extends(PDFRef2, _super); - function PDFRef2(enforcer, objectNumber, generationNumber) { - var _this = this; - if (enforcer !== ENFORCER3) - throw new PrivateConstructorError("PDFRef"); - _this = _super.call(this) || this; - _this.objectNumber = objectNumber; - _this.generationNumber = generationNumber; - _this.tag = objectNumber + " " + generationNumber + " R"; - return _this; - } - PDFRef2.prototype.clone = function() { - return this; - }; - PDFRef2.prototype.toString = function() { - return this.tag; - }; - PDFRef2.prototype.sizeInBytes = function() { - return this.tag.length; - }; - PDFRef2.prototype.copyBytesInto = function(buffer, offset) { - offset += copyStringIntoBuffer(this.tag, buffer, offset); - return this.tag.length; - }; - PDFRef2.of = function(objectNumber, generationNumber) { - if (generationNumber === void 0) { - generationNumber = 0; - } - var tag = objectNumber + " " + generationNumber + " R"; - var instance = pool2.get(tag); - if (!instance) { - instance = new PDFRef2(ENFORCER3, objectNumber, generationNumber); - pool2.set(tag, instance); - } - return instance; - }; - return PDFRef2; - })(PDFObject_default) -); -var PDFRef_default = PDFRef; - -// ../../../node_modules/pdf-lib/es/core/operators/PDFOperator.js -var PDFOperator = ( - /** @class */ - (function() { - function PDFOperator2(name, args) { - this.name = name; - this.args = args || []; - } - PDFOperator2.prototype.clone = function(context) { - var args = new Array(this.args.length); - for (var idx = 0, len = args.length; idx < len; idx++) { - var arg = this.args[idx]; - args[idx] = arg instanceof PDFObject_default ? arg.clone(context) : arg; - } - return PDFOperator2.of(this.name, args); - }; - PDFOperator2.prototype.toString = function() { - var value = ""; - for (var idx = 0, len = this.args.length; idx < len; idx++) { - value += String(this.args[idx]) + " "; - } - value += this.name; - return value; - }; - PDFOperator2.prototype.sizeInBytes = function() { - var size = 0; - for (var idx = 0, len = this.args.length; idx < len; idx++) { - var arg = this.args[idx]; - size += (arg instanceof PDFObject_default ? arg.sizeInBytes() : arg.length) + 1; - } - size += this.name.length; - return size; - }; - PDFOperator2.prototype.copyBytesInto = function(buffer, offset) { - var initialOffset = offset; - for (var idx = 0, len = this.args.length; idx < len; idx++) { - var arg = this.args[idx]; - if (arg instanceof PDFObject_default) { - offset += arg.copyBytesInto(buffer, offset); - } else { - offset += copyStringIntoBuffer(arg, buffer, offset); - } - buffer[offset++] = CharCodes_default.Space; - } - offset += copyStringIntoBuffer(this.name, buffer, offset); - return offset - initialOffset; - }; - PDFOperator2.of = function(name, args) { - return new PDFOperator2(name, args); - }; - return PDFOperator2; - })() -); -var PDFOperator_default = PDFOperator; - -// ../../../node_modules/pdf-lib/es/core/operators/PDFOperatorNames.js -var PDFOperatorNames; -(function(PDFOperatorNames2) { - PDFOperatorNames2["NonStrokingColor"] = "sc"; - PDFOperatorNames2["NonStrokingColorN"] = "scn"; - PDFOperatorNames2["NonStrokingColorRgb"] = "rg"; - PDFOperatorNames2["NonStrokingColorGray"] = "g"; - PDFOperatorNames2["NonStrokingColorCmyk"] = "k"; - PDFOperatorNames2["NonStrokingColorspace"] = "cs"; - PDFOperatorNames2["StrokingColor"] = "SC"; - PDFOperatorNames2["StrokingColorN"] = "SCN"; - PDFOperatorNames2["StrokingColorRgb"] = "RG"; - PDFOperatorNames2["StrokingColorGray"] = "G"; - PDFOperatorNames2["StrokingColorCmyk"] = "K"; - PDFOperatorNames2["StrokingColorspace"] = "CS"; - PDFOperatorNames2["BeginMarkedContentSequence"] = "BDC"; - PDFOperatorNames2["BeginMarkedContent"] = "BMC"; - PDFOperatorNames2["EndMarkedContent"] = "EMC"; - PDFOperatorNames2["MarkedContentPointWithProps"] = "DP"; - PDFOperatorNames2["MarkedContentPoint"] = "MP"; - PDFOperatorNames2["DrawObject"] = "Do"; - PDFOperatorNames2["ConcatTransformationMatrix"] = "cm"; - PDFOperatorNames2["PopGraphicsState"] = "Q"; - PDFOperatorNames2["PushGraphicsState"] = "q"; - PDFOperatorNames2["SetFlatness"] = "i"; - PDFOperatorNames2["SetGraphicsStateParams"] = "gs"; - PDFOperatorNames2["SetLineCapStyle"] = "J"; - PDFOperatorNames2["SetLineDashPattern"] = "d"; - PDFOperatorNames2["SetLineJoinStyle"] = "j"; - PDFOperatorNames2["SetLineMiterLimit"] = "M"; - PDFOperatorNames2["SetLineWidth"] = "w"; - PDFOperatorNames2["SetTextMatrix"] = "Tm"; - PDFOperatorNames2["SetRenderingIntent"] = "ri"; - PDFOperatorNames2["AppendRectangle"] = "re"; - PDFOperatorNames2["BeginInlineImage"] = "BI"; - PDFOperatorNames2["BeginInlineImageData"] = "ID"; - PDFOperatorNames2["EndInlineImage"] = "EI"; - PDFOperatorNames2["ClipEvenOdd"] = "W*"; - PDFOperatorNames2["ClipNonZero"] = "W"; - PDFOperatorNames2["CloseAndStroke"] = "s"; - PDFOperatorNames2["CloseFillEvenOddAndStroke"] = "b*"; - PDFOperatorNames2["CloseFillNonZeroAndStroke"] = "b"; - PDFOperatorNames2["ClosePath"] = "h"; - PDFOperatorNames2["AppendBezierCurve"] = "c"; - PDFOperatorNames2["CurveToReplicateFinalPoint"] = "y"; - PDFOperatorNames2["CurveToReplicateInitialPoint"] = "v"; - PDFOperatorNames2["EndPath"] = "n"; - PDFOperatorNames2["FillEvenOddAndStroke"] = "B*"; - PDFOperatorNames2["FillEvenOdd"] = "f*"; - PDFOperatorNames2["FillNonZeroAndStroke"] = "B"; - PDFOperatorNames2["FillNonZero"] = "f"; - PDFOperatorNames2["LegacyFillNonZero"] = "F"; - PDFOperatorNames2["LineTo"] = "l"; - PDFOperatorNames2["MoveTo"] = "m"; - PDFOperatorNames2["ShadingFill"] = "sh"; - PDFOperatorNames2["StrokePath"] = "S"; - PDFOperatorNames2["BeginText"] = "BT"; - PDFOperatorNames2["EndText"] = "ET"; - PDFOperatorNames2["MoveText"] = "Td"; - PDFOperatorNames2["MoveTextSetLeading"] = "TD"; - PDFOperatorNames2["NextLine"] = "T*"; - PDFOperatorNames2["SetCharacterSpacing"] = "Tc"; - PDFOperatorNames2["SetFontAndSize"] = "Tf"; - PDFOperatorNames2["SetTextHorizontalScaling"] = "Tz"; - PDFOperatorNames2["SetTextLineHeight"] = "TL"; - PDFOperatorNames2["SetTextRenderingMode"] = "Tr"; - PDFOperatorNames2["SetTextRise"] = "Ts"; - PDFOperatorNames2["SetWordSpacing"] = "Tw"; - PDFOperatorNames2["ShowText"] = "Tj"; - PDFOperatorNames2["ShowTextAdjusted"] = "TJ"; - PDFOperatorNames2["ShowTextLine"] = "'"; - PDFOperatorNames2["ShowTextLineAndSpace"] = '"'; - PDFOperatorNames2["Type3D0"] = "d0"; - PDFOperatorNames2["Type3D1"] = "d1"; - PDFOperatorNames2["BeginCompatibilitySection"] = "BX"; - PDFOperatorNames2["EndCompatibilitySection"] = "EX"; -})(PDFOperatorNames || (PDFOperatorNames = {})); -var PDFOperatorNames_default = PDFOperatorNames; - -// ../../../node_modules/pdf-lib/es/core/structures/PDFFlateStream.js -var import_pako2 = __toESM(require_pako()); -var PDFFlateStream = ( - /** @class */ - (function(_super) { - __extends(PDFFlateStream2, _super); - function PDFFlateStream2(dict, encode) { - var _this = _super.call(this, dict) || this; - _this.computeContents = function() { - var unencodedContents = _this.getUnencodedContents(); - return _this.encode ? import_pako2.default.deflate(unencodedContents) : unencodedContents; - }; - _this.encode = encode; - if (encode) - dict.set(PDFName_default.of("Filter"), PDFName_default.of("FlateDecode")); - _this.contentsCache = Cache_default.populatedBy(_this.computeContents); - return _this; - } - PDFFlateStream2.prototype.getContents = function() { - return this.contentsCache.access(); - }; - PDFFlateStream2.prototype.getContentsSize = function() { - return this.contentsCache.access().length; - }; - PDFFlateStream2.prototype.getUnencodedContents = function() { - throw new MethodNotImplementedError(this.constructor.name, "getUnencodedContents"); - }; - return PDFFlateStream2; - })(PDFStream_default) -); -var PDFFlateStream_default = PDFFlateStream; - -// ../../../node_modules/pdf-lib/es/core/structures/PDFContentStream.js -var PDFContentStream = ( - /** @class */ - (function(_super) { - __extends(PDFContentStream2, _super); - function PDFContentStream2(dict, operators, encode) { - if (encode === void 0) { - encode = true; - } - var _this = _super.call(this, dict, encode) || this; - _this.operators = operators; - return _this; - } - PDFContentStream2.prototype.push = function() { - var _a; - var operators = []; - for (var _i = 0; _i < arguments.length; _i++) { - operators[_i] = arguments[_i]; - } - (_a = this.operators).push.apply(_a, operators); - }; - PDFContentStream2.prototype.clone = function(context) { - var operators = new Array(this.operators.length); - for (var idx = 0, len = this.operators.length; idx < len; idx++) { - operators[idx] = this.operators[idx].clone(context); - } - var _a = this, dict = _a.dict, encode = _a.encode; - return PDFContentStream2.of(dict.clone(context), operators, encode); - }; - PDFContentStream2.prototype.getContentsString = function() { - var value = ""; - for (var idx = 0, len = this.operators.length; idx < len; idx++) { - value += this.operators[idx] + "\n"; - } - return value; - }; - PDFContentStream2.prototype.getUnencodedContents = function() { - var buffer = new Uint8Array(this.getUnencodedContentsSize()); - var offset = 0; - for (var idx = 0, len = this.operators.length; idx < len; idx++) { - offset += this.operators[idx].copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - } - return buffer; - }; - PDFContentStream2.prototype.getUnencodedContentsSize = function() { - var size = 0; - for (var idx = 0, len = this.operators.length; idx < len; idx++) { - size += this.operators[idx].sizeInBytes() + 1; - } - return size; - }; - PDFContentStream2.of = function(dict, operators, encode) { - if (encode === void 0) { - encode = true; - } - return new PDFContentStream2(dict, operators, encode); - }; - return PDFContentStream2; - })(PDFFlateStream_default) -); -var PDFContentStream_default = PDFContentStream; - -// ../../../node_modules/pdf-lib/es/utils/rng.js -var SimpleRNG = ( - /** @class */ - (function() { - function SimpleRNG2(seed) { - this.seed = seed; - } - SimpleRNG2.prototype.nextInt = function() { - var x = Math.sin(this.seed++) * 1e4; - return x - Math.floor(x); - }; - SimpleRNG2.withSeed = function(seed) { - return new SimpleRNG2(seed); - }; - return SimpleRNG2; - })() -); - -// ../../../node_modules/pdf-lib/es/core/PDFContext.js -var byAscendingObjectNumber = function(_a, _b) { - var a = _a[0]; - var b = _b[0]; - return a.objectNumber - b.objectNumber; -}; -var PDFContext = ( - /** @class */ - (function() { - function PDFContext2() { - this.largestObjectNumber = 0; - this.header = PDFHeader_default.forVersion(1, 7); - this.trailerInfo = {}; - this.indirectObjects = /* @__PURE__ */ new Map(); - this.rng = SimpleRNG.withSeed(1); - } - PDFContext2.prototype.assign = function(ref, object) { - this.indirectObjects.set(ref, object); - if (ref.objectNumber > this.largestObjectNumber) { - this.largestObjectNumber = ref.objectNumber; - } - }; - PDFContext2.prototype.nextRef = function() { - this.largestObjectNumber += 1; - return PDFRef_default.of(this.largestObjectNumber); - }; - PDFContext2.prototype.register = function(object) { - var ref = this.nextRef(); - this.assign(ref, object); - return ref; - }; - PDFContext2.prototype.delete = function(ref) { - return this.indirectObjects.delete(ref); - }; - PDFContext2.prototype.lookupMaybe = function(ref) { - var types = []; - for (var _i = 1; _i < arguments.length; _i++) { - types[_i - 1] = arguments[_i]; - } - var preservePDFNull = types.includes(PDFNull_default); - var result = ref instanceof PDFRef_default ? this.indirectObjects.get(ref) : ref; - if (!result || result === PDFNull_default && !preservePDFNull) - return void 0; - for (var idx = 0, len = types.length; idx < len; idx++) { - var type = types[idx]; - if (type === PDFNull_default) { - if (result === PDFNull_default) - return result; - } else { - if (result instanceof type) - return result; - } - } - throw new UnexpectedObjectTypeError(types, result); - }; - PDFContext2.prototype.lookup = function(ref) { - var types = []; - for (var _i = 1; _i < arguments.length; _i++) { - types[_i - 1] = arguments[_i]; - } - var result = ref instanceof PDFRef_default ? this.indirectObjects.get(ref) : ref; - if (types.length === 0) - return result; - for (var idx = 0, len = types.length; idx < len; idx++) { - var type = types[idx]; - if (type === PDFNull_default) { - if (result === PDFNull_default) - return result; - } else { - if (result instanceof type) - return result; - } - } - throw new UnexpectedObjectTypeError(types, result); - }; - PDFContext2.prototype.getObjectRef = function(pdfObject) { - var entries = Array.from(this.indirectObjects.entries()); - for (var idx = 0, len = entries.length; idx < len; idx++) { - var _a = entries[idx], ref = _a[0], object = _a[1]; - if (object === pdfObject) { - return ref; - } - } - return void 0; - }; - PDFContext2.prototype.enumerateIndirectObjects = function() { - return Array.from(this.indirectObjects.entries()).sort(byAscendingObjectNumber); - }; - PDFContext2.prototype.obj = function(literal) { - if (literal instanceof PDFObject_default) { - return literal; - } else if (literal === null || literal === void 0) { - return PDFNull_default; - } else if (typeof literal === "string") { - return PDFName_default.of(literal); - } else if (typeof literal === "number") { - return PDFNumber_default.of(literal); - } else if (typeof literal === "boolean") { - return literal ? PDFBool_default.True : PDFBool_default.False; - } else if (Array.isArray(literal)) { - var array = PDFArray_default.withContext(this); - for (var idx = 0, len = literal.length; idx < len; idx++) { - array.push(this.obj(literal[idx])); - } - return array; - } else { - var dict = PDFDict_default.withContext(this); - var keys = Object.keys(literal); - for (var idx = 0, len = keys.length; idx < len; idx++) { - var key = keys[idx]; - var value = literal[key]; - if (value !== void 0) - dict.set(PDFName_default.of(key), this.obj(value)); - } - return dict; - } - }; - PDFContext2.prototype.stream = function(contents, dict) { - if (dict === void 0) { - dict = {}; - } - return PDFRawStream_default.of(this.obj(dict), typedArrayFor(contents)); - }; - PDFContext2.prototype.flateStream = function(contents, dict) { - if (dict === void 0) { - dict = {}; - } - return this.stream(import_pako3.default.deflate(typedArrayFor(contents)), __assign(__assign({}, dict), { Filter: "FlateDecode" })); - }; - PDFContext2.prototype.contentStream = function(operators, dict) { - if (dict === void 0) { - dict = {}; - } - return PDFContentStream_default.of(this.obj(dict), operators); - }; - PDFContext2.prototype.formXObject = function(operators, dict) { - if (dict === void 0) { - dict = {}; - } - return this.contentStream(operators, __assign(__assign({ BBox: this.obj([0, 0, 0, 0]), Matrix: this.obj([1, 0, 0, 1, 0, 0]) }, dict), { Type: "XObject", Subtype: "Form" })); - }; - PDFContext2.prototype.getPushGraphicsStateContentStream = function() { - if (this.pushGraphicsStateContentStreamRef) { - return this.pushGraphicsStateContentStreamRef; - } - var dict = this.obj({}); - var op = PDFOperator_default.of(PDFOperatorNames_default.PushGraphicsState); - var stream2 = PDFContentStream_default.of(dict, [op]); - this.pushGraphicsStateContentStreamRef = this.register(stream2); - return this.pushGraphicsStateContentStreamRef; - }; - PDFContext2.prototype.getPopGraphicsStateContentStream = function() { - if (this.popGraphicsStateContentStreamRef) { - return this.popGraphicsStateContentStreamRef; - } - var dict = this.obj({}); - var op = PDFOperator_default.of(PDFOperatorNames_default.PopGraphicsState); - var stream2 = PDFContentStream_default.of(dict, [op]); - this.popGraphicsStateContentStreamRef = this.register(stream2); - return this.popGraphicsStateContentStreamRef; - }; - PDFContext2.prototype.addRandomSuffix = function(prefix, suffixLength) { - if (suffixLength === void 0) { - suffixLength = 4; - } - return prefix + "-" + Math.floor(this.rng.nextInt() * Math.pow(10, suffixLength)); - }; - PDFContext2.create = function() { - return new PDFContext2(); - }; - return PDFContext2; - })() -); -var PDFContext_default = PDFContext; - -// ../../../node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js -var PDFPageLeaf = ( - /** @class */ - (function(_super) { - __extends(PDFPageLeaf2, _super); - function PDFPageLeaf2(map, context, autoNormalizeCTM) { - if (autoNormalizeCTM === void 0) { - autoNormalizeCTM = true; - } - var _this = _super.call(this, map, context) || this; - _this.normalized = false; - _this.autoNormalizeCTM = autoNormalizeCTM; - return _this; - } - PDFPageLeaf2.prototype.clone = function(context) { - var clone = PDFPageLeaf2.fromMapWithContext(/* @__PURE__ */ new Map(), context || this.context, this.autoNormalizeCTM); - var entries = this.entries(); - for (var idx = 0, len = entries.length; idx < len; idx++) { - var _a = entries[idx], key = _a[0], value = _a[1]; - clone.set(key, value); - } - return clone; - }; - PDFPageLeaf2.prototype.Parent = function() { - return this.lookupMaybe(PDFName_default.Parent, PDFDict_default); - }; - PDFPageLeaf2.prototype.Contents = function() { - return this.lookup(PDFName_default.of("Contents")); - }; - PDFPageLeaf2.prototype.Annots = function() { - return this.lookupMaybe(PDFName_default.Annots, PDFArray_default); - }; - PDFPageLeaf2.prototype.BleedBox = function() { - return this.lookupMaybe(PDFName_default.BleedBox, PDFArray_default); - }; - PDFPageLeaf2.prototype.TrimBox = function() { - return this.lookupMaybe(PDFName_default.TrimBox, PDFArray_default); - }; - PDFPageLeaf2.prototype.ArtBox = function() { - return this.lookupMaybe(PDFName_default.ArtBox, PDFArray_default); - }; - PDFPageLeaf2.prototype.Resources = function() { - var dictOrRef = this.getInheritableAttribute(PDFName_default.Resources); - return this.context.lookupMaybe(dictOrRef, PDFDict_default); - }; - PDFPageLeaf2.prototype.MediaBox = function() { - var arrayOrRef = this.getInheritableAttribute(PDFName_default.MediaBox); - return this.context.lookup(arrayOrRef, PDFArray_default); - }; - PDFPageLeaf2.prototype.CropBox = function() { - var arrayOrRef = this.getInheritableAttribute(PDFName_default.CropBox); - return this.context.lookupMaybe(arrayOrRef, PDFArray_default); - }; - PDFPageLeaf2.prototype.Rotate = function() { - var numberOrRef = this.getInheritableAttribute(PDFName_default.Rotate); - return this.context.lookupMaybe(numberOrRef, PDFNumber_default); - }; - PDFPageLeaf2.prototype.getInheritableAttribute = function(name) { - var attribute; - this.ascend(function(node) { - if (!attribute) - attribute = node.get(name); - }); - return attribute; - }; - PDFPageLeaf2.prototype.setParent = function(parentRef) { - this.set(PDFName_default.Parent, parentRef); - }; - PDFPageLeaf2.prototype.addContentStream = function(contentStreamRef) { - var Contents = this.normalizedEntries().Contents || this.context.obj([]); - this.set(PDFName_default.Contents, Contents); - Contents.push(contentStreamRef); - }; - PDFPageLeaf2.prototype.wrapContentStreams = function(startStream, endStream) { - var Contents = this.Contents(); - if (Contents instanceof PDFArray_default) { - Contents.insert(0, startStream); - Contents.push(endStream); - return true; - } - return false; - }; - PDFPageLeaf2.prototype.addAnnot = function(annotRef) { - var Annots = this.normalizedEntries().Annots; - Annots.push(annotRef); - }; - PDFPageLeaf2.prototype.removeAnnot = function(annotRef) { - var Annots = this.normalizedEntries().Annots; - var index = Annots.indexOf(annotRef); - if (index !== void 0) { - Annots.remove(index); - } - }; - PDFPageLeaf2.prototype.setFontDictionary = function(name, fontDictRef) { - var Font2 = this.normalizedEntries().Font; - Font2.set(name, fontDictRef); - }; - PDFPageLeaf2.prototype.newFontDictionaryKey = function(tag) { - var Font2 = this.normalizedEntries().Font; - return Font2.uniqueKey(tag); - }; - PDFPageLeaf2.prototype.newFontDictionary = function(tag, fontDictRef) { - var key = this.newFontDictionaryKey(tag); - this.setFontDictionary(key, fontDictRef); - return key; - }; - PDFPageLeaf2.prototype.setXObject = function(name, xObjectRef) { - var XObject = this.normalizedEntries().XObject; - XObject.set(name, xObjectRef); - }; - PDFPageLeaf2.prototype.newXObjectKey = function(tag) { - var XObject = this.normalizedEntries().XObject; - return XObject.uniqueKey(tag); - }; - PDFPageLeaf2.prototype.newXObject = function(tag, xObjectRef) { - var key = this.newXObjectKey(tag); - this.setXObject(key, xObjectRef); - return key; - }; - PDFPageLeaf2.prototype.setExtGState = function(name, extGStateRef) { - var ExtGState = this.normalizedEntries().ExtGState; - ExtGState.set(name, extGStateRef); - }; - PDFPageLeaf2.prototype.newExtGStateKey = function(tag) { - var ExtGState = this.normalizedEntries().ExtGState; - return ExtGState.uniqueKey(tag); - }; - PDFPageLeaf2.prototype.newExtGState = function(tag, extGStateRef) { - var key = this.newExtGStateKey(tag); - this.setExtGState(key, extGStateRef); - return key; - }; - PDFPageLeaf2.prototype.ascend = function(visitor) { - visitor(this); - var Parent = this.Parent(); - if (Parent) - Parent.ascend(visitor); - }; - PDFPageLeaf2.prototype.normalize = function() { - if (this.normalized) - return; - var context = this.context; - var contentsRef = this.get(PDFName_default.Contents); - var contents = this.context.lookup(contentsRef); - if (contents instanceof PDFStream_default) { - this.set(PDFName_default.Contents, context.obj([contentsRef])); - } - if (this.autoNormalizeCTM) { - this.wrapContentStreams(this.context.getPushGraphicsStateContentStream(), this.context.getPopGraphicsStateContentStream()); - } - var dictOrRef = this.getInheritableAttribute(PDFName_default.Resources); - var Resources = context.lookupMaybe(dictOrRef, PDFDict_default) || context.obj({}); - this.set(PDFName_default.Resources, Resources); - var Font2 = Resources.lookupMaybe(PDFName_default.Font, PDFDict_default) || context.obj({}); - Resources.set(PDFName_default.Font, Font2); - var XObject = Resources.lookupMaybe(PDFName_default.XObject, PDFDict_default) || context.obj({}); - Resources.set(PDFName_default.XObject, XObject); - var ExtGState = Resources.lookupMaybe(PDFName_default.ExtGState, PDFDict_default) || context.obj({}); - Resources.set(PDFName_default.ExtGState, ExtGState); - var Annots = this.Annots() || context.obj([]); - this.set(PDFName_default.Annots, Annots); - this.normalized = true; - }; - PDFPageLeaf2.prototype.normalizedEntries = function() { - this.normalize(); - var Annots = this.Annots(); - var Resources = this.Resources(); - var Contents = this.Contents(); - return { - Annots, - Resources, - Contents, - Font: Resources.lookup(PDFName_default.Font, PDFDict_default), - XObject: Resources.lookup(PDFName_default.XObject, PDFDict_default), - ExtGState: Resources.lookup(PDFName_default.ExtGState, PDFDict_default) - }; - }; - PDFPageLeaf2.InheritableEntries = [ - "Resources", - "MediaBox", - "CropBox", - "Rotate" - ]; - PDFPageLeaf2.withContextAndParent = function(context, parent) { - var dict = /* @__PURE__ */ new Map(); - dict.set(PDFName_default.Type, PDFName_default.Page); - dict.set(PDFName_default.Parent, parent); - dict.set(PDFName_default.Resources, context.obj({})); - dict.set(PDFName_default.MediaBox, context.obj([0, 0, 612, 792])); - return new PDFPageLeaf2(dict, context, false); - }; - PDFPageLeaf2.fromMapWithContext = function(map, context, autoNormalizeCTM) { - if (autoNormalizeCTM === void 0) { - autoNormalizeCTM = true; - } - return new PDFPageLeaf2(map, context, autoNormalizeCTM); - }; - return PDFPageLeaf2; - })(PDFDict_default) -); -var PDFPageLeaf_default = PDFPageLeaf; - -// ../../../node_modules/pdf-lib/es/core/PDFObjectCopier.js -var PDFObjectCopier = ( - /** @class */ - (function() { - function PDFObjectCopier2(src, dest) { - var _this = this; - this.traversedObjects = /* @__PURE__ */ new Map(); - this.copy = function(object) { - return object instanceof PDFPageLeaf_default ? _this.copyPDFPage(object) : object instanceof PDFDict_default ? _this.copyPDFDict(object) : object instanceof PDFArray_default ? _this.copyPDFArray(object) : object instanceof PDFStream_default ? _this.copyPDFStream(object) : object instanceof PDFRef_default ? _this.copyPDFIndirectObject(object) : object.clone(); - }; - this.copyPDFPage = function(originalPage) { - var clonedPage = originalPage.clone(); - var InheritableEntries = PDFPageLeaf_default.InheritableEntries; - for (var idx = 0, len = InheritableEntries.length; idx < len; idx++) { - var key = PDFName_default.of(InheritableEntries[idx]); - var value = clonedPage.getInheritableAttribute(key); - if (!clonedPage.get(key) && value) - clonedPage.set(key, value); - } - clonedPage.delete(PDFName_default.of("Parent")); - return _this.copyPDFDict(clonedPage); - }; - this.copyPDFDict = function(originalDict) { - if (_this.traversedObjects.has(originalDict)) { - return _this.traversedObjects.get(originalDict); - } - var clonedDict = originalDict.clone(_this.dest); - _this.traversedObjects.set(originalDict, clonedDict); - var entries = originalDict.entries(); - for (var idx = 0, len = entries.length; idx < len; idx++) { - var _a = entries[idx], key = _a[0], value = _a[1]; - clonedDict.set(key, _this.copy(value)); - } - return clonedDict; - }; - this.copyPDFArray = function(originalArray) { - if (_this.traversedObjects.has(originalArray)) { - return _this.traversedObjects.get(originalArray); - } - var clonedArray = originalArray.clone(_this.dest); - _this.traversedObjects.set(originalArray, clonedArray); - for (var idx = 0, len = originalArray.size(); idx < len; idx++) { - var value = originalArray.get(idx); - clonedArray.set(idx, _this.copy(value)); - } - return clonedArray; - }; - this.copyPDFStream = function(originalStream) { - if (_this.traversedObjects.has(originalStream)) { - return _this.traversedObjects.get(originalStream); - } - var clonedStream = originalStream.clone(_this.dest); - _this.traversedObjects.set(originalStream, clonedStream); - var entries = originalStream.dict.entries(); - for (var idx = 0, len = entries.length; idx < len; idx++) { - var _a = entries[idx], key = _a[0], value = _a[1]; - clonedStream.dict.set(key, _this.copy(value)); - } - return clonedStream; - }; - this.copyPDFIndirectObject = function(ref) { - var alreadyMapped = _this.traversedObjects.has(ref); - if (!alreadyMapped) { - var newRef = _this.dest.nextRef(); - _this.traversedObjects.set(ref, newRef); - var dereferencedValue = _this.src.lookup(ref); - if (dereferencedValue) { - var cloned = _this.copy(dereferencedValue); - _this.dest.assign(newRef, cloned); - } - } - return _this.traversedObjects.get(ref); - }; - this.src = src; - this.dest = dest; - } - PDFObjectCopier2.for = function(src, dest) { - return new PDFObjectCopier2(src, dest); - }; - return PDFObjectCopier2; - })() -); -var PDFObjectCopier_default = PDFObjectCopier; - -// ../../../node_modules/pdf-lib/es/core/document/PDFCrossRefSection.js -var PDFCrossRefSection = ( - /** @class */ - (function() { - function PDFCrossRefSection2(firstEntry) { - this.subsections = firstEntry ? [[firstEntry]] : []; - this.chunkIdx = 0; - this.chunkLength = firstEntry ? 1 : 0; - } - PDFCrossRefSection2.prototype.addEntry = function(ref, offset) { - this.append({ ref, offset, deleted: false }); - }; - PDFCrossRefSection2.prototype.addDeletedEntry = function(ref, nextFreeObjectNumber) { - this.append({ ref, offset: nextFreeObjectNumber, deleted: true }); - }; - PDFCrossRefSection2.prototype.toString = function() { - var section = "xref\n"; - for (var rangeIdx = 0, rangeLen = this.subsections.length; rangeIdx < rangeLen; rangeIdx++) { - var range2 = this.subsections[rangeIdx]; - section += range2[0].ref.objectNumber + " " + range2.length + "\n"; - for (var entryIdx = 0, entryLen = range2.length; entryIdx < entryLen; entryIdx++) { - var entry = range2[entryIdx]; - section += padStart(String(entry.offset), 10, "0"); - section += " "; - section += padStart(String(entry.ref.generationNumber), 5, "0"); - section += " "; - section += entry.deleted ? "f" : "n"; - section += " \n"; - } - } - return section; - }; - PDFCrossRefSection2.prototype.sizeInBytes = function() { - var size = 5; - for (var idx = 0, len = this.subsections.length; idx < len; idx++) { - var subsection = this.subsections[idx]; - var subsectionLength = subsection.length; - var firstEntry = subsection[0]; - size += 2; - size += String(firstEntry.ref.objectNumber).length; - size += String(subsectionLength).length; - size += 20 * subsectionLength; - } - return size; - }; - PDFCrossRefSection2.prototype.copyBytesInto = function(buffer, offset) { - var initialOffset = offset; - buffer[offset++] = CharCodes_default.x; - buffer[offset++] = CharCodes_default.r; - buffer[offset++] = CharCodes_default.e; - buffer[offset++] = CharCodes_default.f; - buffer[offset++] = CharCodes_default.Newline; - offset += this.copySubsectionsIntoBuffer(this.subsections, buffer, offset); - return offset - initialOffset; - }; - PDFCrossRefSection2.prototype.copySubsectionsIntoBuffer = function(subsections, buffer, offset) { - var initialOffset = offset; - var length = subsections.length; - for (var idx = 0; idx < length; idx++) { - var subsection = this.subsections[idx]; - var firstObjectNumber = String(subsection[0].ref.objectNumber); - offset += copyStringIntoBuffer(firstObjectNumber, buffer, offset); - buffer[offset++] = CharCodes_default.Space; - var rangeLength = String(subsection.length); - offset += copyStringIntoBuffer(rangeLength, buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - offset += this.copyEntriesIntoBuffer(subsection, buffer, offset); - } - return offset - initialOffset; - }; - PDFCrossRefSection2.prototype.copyEntriesIntoBuffer = function(entries, buffer, offset) { - var length = entries.length; - for (var idx = 0; idx < length; idx++) { - var entry = entries[idx]; - var entryOffset = padStart(String(entry.offset), 10, "0"); - offset += copyStringIntoBuffer(entryOffset, buffer, offset); - buffer[offset++] = CharCodes_default.Space; - var entryGen = padStart(String(entry.ref.generationNumber), 5, "0"); - offset += copyStringIntoBuffer(entryGen, buffer, offset); - buffer[offset++] = CharCodes_default.Space; - buffer[offset++] = entry.deleted ? CharCodes_default.f : CharCodes_default.n; - buffer[offset++] = CharCodes_default.Space; - buffer[offset++] = CharCodes_default.Newline; - } - return 20 * length; - }; - PDFCrossRefSection2.prototype.append = function(currEntry) { - if (this.chunkLength === 0) { - this.subsections.push([currEntry]); - this.chunkIdx = 0; - this.chunkLength = 1; - return; - } - var chunk = this.subsections[this.chunkIdx]; - var prevEntry = chunk[this.chunkLength - 1]; - if (currEntry.ref.objectNumber - prevEntry.ref.objectNumber > 1) { - this.subsections.push([currEntry]); - this.chunkIdx += 1; - this.chunkLength = 1; - } else { - chunk.push(currEntry); - this.chunkLength += 1; - } - }; - PDFCrossRefSection2.create = function() { - return new PDFCrossRefSection2({ - ref: PDFRef_default.of(0, 65535), - offset: 0, - deleted: true - }); - }; - PDFCrossRefSection2.createEmpty = function() { - return new PDFCrossRefSection2(); - }; - return PDFCrossRefSection2; - })() -); -var PDFCrossRefSection_default = PDFCrossRefSection; - -// ../../../node_modules/pdf-lib/es/core/document/PDFTrailer.js -var PDFTrailer = ( - /** @class */ - (function() { - function PDFTrailer2(lastXRefOffset) { - this.lastXRefOffset = String(lastXRefOffset); - } - PDFTrailer2.prototype.toString = function() { - return "startxref\n" + this.lastXRefOffset + "\n%%EOF"; - }; - PDFTrailer2.prototype.sizeInBytes = function() { - return 16 + this.lastXRefOffset.length; - }; - PDFTrailer2.prototype.copyBytesInto = function(buffer, offset) { - var initialOffset = offset; - buffer[offset++] = CharCodes_default.s; - buffer[offset++] = CharCodes_default.t; - buffer[offset++] = CharCodes_default.a; - buffer[offset++] = CharCodes_default.r; - buffer[offset++] = CharCodes_default.t; - buffer[offset++] = CharCodes_default.x; - buffer[offset++] = CharCodes_default.r; - buffer[offset++] = CharCodes_default.e; - buffer[offset++] = CharCodes_default.f; - buffer[offset++] = CharCodes_default.Newline; - offset += copyStringIntoBuffer(this.lastXRefOffset, buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - buffer[offset++] = CharCodes_default.Percent; - buffer[offset++] = CharCodes_default.Percent; - buffer[offset++] = CharCodes_default.E; - buffer[offset++] = CharCodes_default.O; - buffer[offset++] = CharCodes_default.F; - return offset - initialOffset; - }; - PDFTrailer2.forLastCrossRefSectionOffset = function(offset) { - return new PDFTrailer2(offset); - }; - return PDFTrailer2; - })() -); -var PDFTrailer_default = PDFTrailer; - -// ../../../node_modules/pdf-lib/es/core/document/PDFTrailerDict.js -var PDFTrailerDict = ( - /** @class */ - (function() { - function PDFTrailerDict2(dict) { - this.dict = dict; - } - PDFTrailerDict2.prototype.toString = function() { - return "trailer\n" + this.dict.toString(); - }; - PDFTrailerDict2.prototype.sizeInBytes = function() { - return 8 + this.dict.sizeInBytes(); - }; - PDFTrailerDict2.prototype.copyBytesInto = function(buffer, offset) { - var initialOffset = offset; - buffer[offset++] = CharCodes_default.t; - buffer[offset++] = CharCodes_default.r; - buffer[offset++] = CharCodes_default.a; - buffer[offset++] = CharCodes_default.i; - buffer[offset++] = CharCodes_default.l; - buffer[offset++] = CharCodes_default.e; - buffer[offset++] = CharCodes_default.r; - buffer[offset++] = CharCodes_default.Newline; - offset += this.dict.copyBytesInto(buffer, offset); - return offset - initialOffset; - }; - PDFTrailerDict2.of = function(dict) { - return new PDFTrailerDict2(dict); - }; - return PDFTrailerDict2; - })() -); -var PDFTrailerDict_default = PDFTrailerDict; - -// ../../../node_modules/pdf-lib/es/core/structures/PDFObjectStream.js -var PDFObjectStream = ( - /** @class */ - (function(_super) { - __extends(PDFObjectStream2, _super); - function PDFObjectStream2(context, objects, encode) { - if (encode === void 0) { - encode = true; - } - var _this = _super.call(this, context.obj({}), encode) || this; - _this.objects = objects; - _this.offsets = _this.computeObjectOffsets(); - _this.offsetsString = _this.computeOffsetsString(); - _this.dict.set(PDFName_default.of("Type"), PDFName_default.of("ObjStm")); - _this.dict.set(PDFName_default.of("N"), PDFNumber_default.of(_this.objects.length)); - _this.dict.set(PDFName_default.of("First"), PDFNumber_default.of(_this.offsetsString.length)); - return _this; - } - PDFObjectStream2.prototype.getObjectsCount = function() { - return this.objects.length; - }; - PDFObjectStream2.prototype.clone = function(context) { - return PDFObjectStream2.withContextAndObjects(context || this.dict.context, this.objects.slice(), this.encode); - }; - PDFObjectStream2.prototype.getContentsString = function() { - var value = this.offsetsString; - for (var idx = 0, len = this.objects.length; idx < len; idx++) { - var _a = this.objects[idx], object = _a[1]; - value += object + "\n"; - } - return value; - }; - PDFObjectStream2.prototype.getUnencodedContents = function() { - var buffer = new Uint8Array(this.getUnencodedContentsSize()); - var offset = copyStringIntoBuffer(this.offsetsString, buffer, 0); - for (var idx = 0, len = this.objects.length; idx < len; idx++) { - var _a = this.objects[idx], object = _a[1]; - offset += object.copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - } - return buffer; - }; - PDFObjectStream2.prototype.getUnencodedContentsSize = function() { - return this.offsetsString.length + last(this.offsets)[1] + last(this.objects)[1].sizeInBytes() + 1; - }; - PDFObjectStream2.prototype.computeOffsetsString = function() { - var offsetsString = ""; - for (var idx = 0, len = this.offsets.length; idx < len; idx++) { - var _a = this.offsets[idx], objectNumber = _a[0], offset = _a[1]; - offsetsString += objectNumber + " " + offset + " "; - } - return offsetsString; - }; - PDFObjectStream2.prototype.computeObjectOffsets = function() { - var offset = 0; - var offsets = new Array(this.objects.length); - for (var idx = 0, len = this.objects.length; idx < len; idx++) { - var _a = this.objects[idx], ref = _a[0], object = _a[1]; - offsets[idx] = [ref.objectNumber, offset]; - offset += object.sizeInBytes() + 1; - } - return offsets; - }; - PDFObjectStream2.withContextAndObjects = function(context, objects, encode) { - if (encode === void 0) { - encode = true; - } - return new PDFObjectStream2(context, objects, encode); - }; - return PDFObjectStream2; - })(PDFFlateStream_default) -); -var PDFObjectStream_default = PDFObjectStream; - -// ../../../node_modules/pdf-lib/es/core/writers/PDFWriter.js -var PDFWriter = ( - /** @class */ - (function() { - function PDFWriter2(context, objectsPerTick) { - var _this = this; - this.parsedObjects = 0; - this.shouldWaitForTick = function(n) { - _this.parsedObjects += n; - return _this.parsedObjects % _this.objectsPerTick === 0; - }; - this.context = context; - this.objectsPerTick = objectsPerTick; - } - PDFWriter2.prototype.serializeToBuffer = function() { - return __awaiter(this, void 0, void 0, function() { - var _a, size, header, indirectObjects, xref, trailerDict, trailer, offset, buffer, idx, len, _b, ref, object, objectNumber, generationNumber, n; - return __generator(this, function(_c) { - switch (_c.label) { - case 0: - return [4, this.computeBufferSize()]; - case 1: - _a = _c.sent(), size = _a.size, header = _a.header, indirectObjects = _a.indirectObjects, xref = _a.xref, trailerDict = _a.trailerDict, trailer = _a.trailer; - offset = 0; - buffer = new Uint8Array(size); - offset += header.copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - buffer[offset++] = CharCodes_default.Newline; - idx = 0, len = indirectObjects.length; - _c.label = 2; - case 2: - if (!(idx < len)) return [3, 5]; - _b = indirectObjects[idx], ref = _b[0], object = _b[1]; - objectNumber = String(ref.objectNumber); - offset += copyStringIntoBuffer(objectNumber, buffer, offset); - buffer[offset++] = CharCodes_default.Space; - generationNumber = String(ref.generationNumber); - offset += copyStringIntoBuffer(generationNumber, buffer, offset); - buffer[offset++] = CharCodes_default.Space; - buffer[offset++] = CharCodes_default.o; - buffer[offset++] = CharCodes_default.b; - buffer[offset++] = CharCodes_default.j; - buffer[offset++] = CharCodes_default.Newline; - offset += object.copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - buffer[offset++] = CharCodes_default.e; - buffer[offset++] = CharCodes_default.n; - buffer[offset++] = CharCodes_default.d; - buffer[offset++] = CharCodes_default.o; - buffer[offset++] = CharCodes_default.b; - buffer[offset++] = CharCodes_default.j; - buffer[offset++] = CharCodes_default.Newline; - buffer[offset++] = CharCodes_default.Newline; - n = object instanceof PDFObjectStream_default ? object.getObjectsCount() : 1; - if (!this.shouldWaitForTick(n)) return [3, 4]; - return [4, waitForTick()]; - case 3: - _c.sent(); - _c.label = 4; - case 4: - idx++; - return [3, 2]; - case 5: - if (xref) { - offset += xref.copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - } - if (trailerDict) { - offset += trailerDict.copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - buffer[offset++] = CharCodes_default.Newline; - } - offset += trailer.copyBytesInto(buffer, offset); - return [2, buffer]; - } - }); - }); - }; - PDFWriter2.prototype.computeIndirectObjectSize = function(_a) { - var ref = _a[0], object = _a[1]; - var refSize = ref.sizeInBytes() + 3; - var objectSize = object.sizeInBytes() + 9; - return refSize + objectSize; - }; - PDFWriter2.prototype.createTrailerDict = function() { - return this.context.obj({ - Size: this.context.largestObjectNumber + 1, - Root: this.context.trailerInfo.Root, - Encrypt: this.context.trailerInfo.Encrypt, - Info: this.context.trailerInfo.Info, - ID: this.context.trailerInfo.ID - }); - }; - PDFWriter2.prototype.computeBufferSize = function() { - return __awaiter(this, void 0, void 0, function() { - var header, size, xref, indirectObjects, idx, len, indirectObject, ref, xrefOffset, trailerDict, trailer; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - header = PDFHeader_default.forVersion(1, 7); - size = header.sizeInBytes() + 2; - xref = PDFCrossRefSection_default.create(); - indirectObjects = this.context.enumerateIndirectObjects(); - idx = 0, len = indirectObjects.length; - _a.label = 1; - case 1: - if (!(idx < len)) return [3, 4]; - indirectObject = indirectObjects[idx]; - ref = indirectObject[0]; - xref.addEntry(ref, size); - size += this.computeIndirectObjectSize(indirectObject); - if (!this.shouldWaitForTick(1)) return [3, 3]; - return [4, waitForTick()]; - case 2: - _a.sent(); - _a.label = 3; - case 3: - idx++; - return [3, 1]; - case 4: - xrefOffset = size; - size += xref.sizeInBytes() + 1; - trailerDict = PDFTrailerDict_default.of(this.createTrailerDict()); - size += trailerDict.sizeInBytes() + 2; - trailer = PDFTrailer_default.forLastCrossRefSectionOffset(xrefOffset); - size += trailer.sizeInBytes(); - return [2, { size, header, indirectObjects, xref, trailerDict, trailer }]; - } - }); - }); - }; - PDFWriter2.forContext = function(context, objectsPerTick) { - return new PDFWriter2(context, objectsPerTick); - }; - return PDFWriter2; - })() -); -var PDFWriter_default = PDFWriter; - -// ../../../node_modules/pdf-lib/es/core/objects/PDFInvalidObject.js -var PDFInvalidObject = ( - /** @class */ - (function(_super) { - __extends(PDFInvalidObject2, _super); - function PDFInvalidObject2(data) { - var _this = _super.call(this) || this; - _this.data = data; - return _this; - } - PDFInvalidObject2.prototype.clone = function() { - return PDFInvalidObject2.of(this.data.slice()); - }; - PDFInvalidObject2.prototype.toString = function() { - return "PDFInvalidObject(" + this.data.length + " bytes)"; - }; - PDFInvalidObject2.prototype.sizeInBytes = function() { - return this.data.length; - }; - PDFInvalidObject2.prototype.copyBytesInto = function(buffer, offset) { - var length = this.data.length; - for (var idx = 0; idx < length; idx++) { - buffer[offset++] = this.data[idx]; - } - return length; - }; - PDFInvalidObject2.of = function(data) { - return new PDFInvalidObject2(data); - }; - return PDFInvalidObject2; - })(PDFObject_default) -); -var PDFInvalidObject_default = PDFInvalidObject; - -// ../../../node_modules/pdf-lib/es/core/structures/PDFCrossRefStream.js -var EntryType; -(function(EntryType2) { - EntryType2[EntryType2["Deleted"] = 0] = "Deleted"; - EntryType2[EntryType2["Uncompressed"] = 1] = "Uncompressed"; - EntryType2[EntryType2["Compressed"] = 2] = "Compressed"; -})(EntryType || (EntryType = {})); -var PDFCrossRefStream = ( - /** @class */ - (function(_super) { - __extends(PDFCrossRefStream2, _super); - function PDFCrossRefStream2(dict, entries, encode) { - if (encode === void 0) { - encode = true; - } - var _this = _super.call(this, dict, encode) || this; - _this.computeIndex = function() { - var subsections = []; - var subsectionLength = 0; - for (var idx = 0, len = _this.entries.length; idx < len; idx++) { - var currEntry = _this.entries[idx]; - var prevEntry = _this.entries[idx - 1]; - if (idx === 0) { - subsections.push(currEntry.ref.objectNumber); - } else if (currEntry.ref.objectNumber - prevEntry.ref.objectNumber > 1) { - subsections.push(subsectionLength); - subsections.push(currEntry.ref.objectNumber); - subsectionLength = 0; - } - subsectionLength += 1; - } - subsections.push(subsectionLength); - return subsections; - }; - _this.computeEntryTuples = function() { - var entryTuples = new Array(_this.entries.length); - for (var idx = 0, len = _this.entries.length; idx < len; idx++) { - var entry = _this.entries[idx]; - if (entry.type === EntryType.Deleted) { - var type = entry.type, nextFreeObjectNumber = entry.nextFreeObjectNumber, ref = entry.ref; - entryTuples[idx] = [type, nextFreeObjectNumber, ref.generationNumber]; - } - if (entry.type === EntryType.Uncompressed) { - var type = entry.type, offset = entry.offset, ref = entry.ref; - entryTuples[idx] = [type, offset, ref.generationNumber]; - } - if (entry.type === EntryType.Compressed) { - var type = entry.type, objectStreamRef = entry.objectStreamRef, index = entry.index; - entryTuples[idx] = [type, objectStreamRef.objectNumber, index]; - } - } - return entryTuples; - }; - _this.computeMaxEntryByteWidths = function() { - var entryTuples = _this.entryTuplesCache.access(); - var widths = [0, 0, 0]; - for (var idx = 0, len = entryTuples.length; idx < len; idx++) { - var _a = entryTuples[idx], first = _a[0], second = _a[1], third = _a[2]; - var firstSize = sizeInBytes(first); - var secondSize = sizeInBytes(second); - var thirdSize = sizeInBytes(third); - if (firstSize > widths[0]) - widths[0] = firstSize; - if (secondSize > widths[1]) - widths[1] = secondSize; - if (thirdSize > widths[2]) - widths[2] = thirdSize; - } - return widths; - }; - _this.entries = entries || []; - _this.entryTuplesCache = Cache_default.populatedBy(_this.computeEntryTuples); - _this.maxByteWidthsCache = Cache_default.populatedBy(_this.computeMaxEntryByteWidths); - _this.indexCache = Cache_default.populatedBy(_this.computeIndex); - dict.set(PDFName_default.of("Type"), PDFName_default.of("XRef")); - return _this; - } - PDFCrossRefStream2.prototype.addDeletedEntry = function(ref, nextFreeObjectNumber) { - var type = EntryType.Deleted; - this.entries.push({ type, ref, nextFreeObjectNumber }); - this.entryTuplesCache.invalidate(); - this.maxByteWidthsCache.invalidate(); - this.indexCache.invalidate(); - this.contentsCache.invalidate(); - }; - PDFCrossRefStream2.prototype.addUncompressedEntry = function(ref, offset) { - var type = EntryType.Uncompressed; - this.entries.push({ type, ref, offset }); - this.entryTuplesCache.invalidate(); - this.maxByteWidthsCache.invalidate(); - this.indexCache.invalidate(); - this.contentsCache.invalidate(); - }; - PDFCrossRefStream2.prototype.addCompressedEntry = function(ref, objectStreamRef, index) { - var type = EntryType.Compressed; - this.entries.push({ type, ref, objectStreamRef, index }); - this.entryTuplesCache.invalidate(); - this.maxByteWidthsCache.invalidate(); - this.indexCache.invalidate(); - this.contentsCache.invalidate(); - }; - PDFCrossRefStream2.prototype.clone = function(context) { - var _a = this, dict = _a.dict, entries = _a.entries, encode = _a.encode; - return PDFCrossRefStream2.of(dict.clone(context), entries.slice(), encode); - }; - PDFCrossRefStream2.prototype.getContentsString = function() { - var entryTuples = this.entryTuplesCache.access(); - var byteWidths = this.maxByteWidthsCache.access(); - var value = ""; - for (var entryIdx = 0, entriesLen = entryTuples.length; entryIdx < entriesLen; entryIdx++) { - var _a = entryTuples[entryIdx], first = _a[0], second = _a[1], third = _a[2]; - var firstBytes = reverseArray(bytesFor(first)); - var secondBytes = reverseArray(bytesFor(second)); - var thirdBytes = reverseArray(bytesFor(third)); - for (var idx = byteWidths[0] - 1; idx >= 0; idx--) { - value += (firstBytes[idx] || 0).toString(2); - } - for (var idx = byteWidths[1] - 1; idx >= 0; idx--) { - value += (secondBytes[idx] || 0).toString(2); - } - for (var idx = byteWidths[2] - 1; idx >= 0; idx--) { - value += (thirdBytes[idx] || 0).toString(2); - } - } - return value; - }; - PDFCrossRefStream2.prototype.getUnencodedContents = function() { - var entryTuples = this.entryTuplesCache.access(); - var byteWidths = this.maxByteWidthsCache.access(); - var buffer = new Uint8Array(this.getUnencodedContentsSize()); - var offset = 0; - for (var entryIdx = 0, entriesLen = entryTuples.length; entryIdx < entriesLen; entryIdx++) { - var _a = entryTuples[entryIdx], first = _a[0], second = _a[1], third = _a[2]; - var firstBytes = reverseArray(bytesFor(first)); - var secondBytes = reverseArray(bytesFor(second)); - var thirdBytes = reverseArray(bytesFor(third)); - for (var idx = byteWidths[0] - 1; idx >= 0; idx--) { - buffer[offset++] = firstBytes[idx] || 0; - } - for (var idx = byteWidths[1] - 1; idx >= 0; idx--) { - buffer[offset++] = secondBytes[idx] || 0; - } - for (var idx = byteWidths[2] - 1; idx >= 0; idx--) { - buffer[offset++] = thirdBytes[idx] || 0; - } - } - return buffer; - }; - PDFCrossRefStream2.prototype.getUnencodedContentsSize = function() { - var byteWidths = this.maxByteWidthsCache.access(); - var entryWidth = sum(byteWidths); - return entryWidth * this.entries.length; - }; - PDFCrossRefStream2.prototype.updateDict = function() { - _super.prototype.updateDict.call(this); - var byteWidths = this.maxByteWidthsCache.access(); - var index = this.indexCache.access(); - var context = this.dict.context; - this.dict.set(PDFName_default.of("W"), context.obj(byteWidths)); - this.dict.set(PDFName_default.of("Index"), context.obj(index)); - }; - PDFCrossRefStream2.create = function(dict, encode) { - if (encode === void 0) { - encode = true; - } - var stream2 = new PDFCrossRefStream2(dict, [], encode); - stream2.addDeletedEntry(PDFRef_default.of(0, 65535), 0); - return stream2; - }; - PDFCrossRefStream2.of = function(dict, entries, encode) { - if (encode === void 0) { - encode = true; - } - return new PDFCrossRefStream2(dict, entries, encode); - }; - return PDFCrossRefStream2; - })(PDFFlateStream_default) -); -var PDFCrossRefStream_default = PDFCrossRefStream; - -// ../../../node_modules/pdf-lib/es/core/writers/PDFStreamWriter.js -var PDFStreamWriter = ( - /** @class */ - (function(_super) { - __extends(PDFStreamWriter2, _super); - function PDFStreamWriter2(context, objectsPerTick, encodeStreams, objectsPerStream) { - var _this = _super.call(this, context, objectsPerTick) || this; - _this.encodeStreams = encodeStreams; - _this.objectsPerStream = objectsPerStream; - return _this; - } - PDFStreamWriter2.prototype.computeBufferSize = function() { - return __awaiter(this, void 0, void 0, function() { - var objectNumber, header, size, xrefStream, uncompressedObjects, compressedObjects, objectStreamRefs, indirectObjects, idx, len, indirectObject, ref, object, shouldNotCompress, chunk, objectStreamRef, idx, len, chunk, ref, objectStream, xrefStreamRef, xrefOffset, trailer; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - objectNumber = this.context.largestObjectNumber + 1; - header = PDFHeader_default.forVersion(1, 7); - size = header.sizeInBytes() + 2; - xrefStream = PDFCrossRefStream_default.create(this.createTrailerDict(), this.encodeStreams); - uncompressedObjects = []; - compressedObjects = []; - objectStreamRefs = []; - indirectObjects = this.context.enumerateIndirectObjects(); - idx = 0, len = indirectObjects.length; - _a.label = 1; - case 1: - if (!(idx < len)) return [3, 6]; - indirectObject = indirectObjects[idx]; - ref = indirectObject[0], object = indirectObject[1]; - shouldNotCompress = ref === this.context.trailerInfo.Encrypt || object instanceof PDFStream_default || object instanceof PDFInvalidObject_default || ref.generationNumber !== 0; - if (!shouldNotCompress) return [3, 4]; - uncompressedObjects.push(indirectObject); - xrefStream.addUncompressedEntry(ref, size); - size += this.computeIndirectObjectSize(indirectObject); - if (!this.shouldWaitForTick(1)) return [3, 3]; - return [4, waitForTick()]; - case 2: - _a.sent(); - _a.label = 3; - case 3: - return [3, 5]; - case 4: - chunk = last(compressedObjects); - objectStreamRef = last(objectStreamRefs); - if (!chunk || chunk.length % this.objectsPerStream === 0) { - chunk = []; - compressedObjects.push(chunk); - objectStreamRef = PDFRef_default.of(objectNumber++); - objectStreamRefs.push(objectStreamRef); - } - xrefStream.addCompressedEntry(ref, objectStreamRef, chunk.length); - chunk.push(indirectObject); - _a.label = 5; - case 5: - idx++; - return [3, 1]; - case 6: - idx = 0, len = compressedObjects.length; - _a.label = 7; - case 7: - if (!(idx < len)) return [3, 10]; - chunk = compressedObjects[idx]; - ref = objectStreamRefs[idx]; - objectStream = PDFObjectStream_default.withContextAndObjects(this.context, chunk, this.encodeStreams); - xrefStream.addUncompressedEntry(ref, size); - size += this.computeIndirectObjectSize([ref, objectStream]); - uncompressedObjects.push([ref, objectStream]); - if (!this.shouldWaitForTick(chunk.length)) return [3, 9]; - return [4, waitForTick()]; - case 8: - _a.sent(); - _a.label = 9; - case 9: - idx++; - return [3, 7]; - case 10: - xrefStreamRef = PDFRef_default.of(objectNumber++); - xrefStream.dict.set(PDFName_default.of("Size"), PDFNumber_default.of(objectNumber)); - xrefStream.addUncompressedEntry(xrefStreamRef, size); - xrefOffset = size; - size += this.computeIndirectObjectSize([xrefStreamRef, xrefStream]); - uncompressedObjects.push([xrefStreamRef, xrefStream]); - trailer = PDFTrailer_default.forLastCrossRefSectionOffset(xrefOffset); - size += trailer.sizeInBytes(); - return [2, { size, header, indirectObjects: uncompressedObjects, trailer }]; - } - }); - }); - }; - PDFStreamWriter2.forContext = function(context, objectsPerTick, encodeStreams, objectsPerStream) { - if (encodeStreams === void 0) { - encodeStreams = true; - } - if (objectsPerStream === void 0) { - objectsPerStream = 50; - } - return new PDFStreamWriter2(context, objectsPerTick, encodeStreams, objectsPerStream); - }; - return PDFStreamWriter2; - })(PDFWriter_default) -); -var PDFStreamWriter_default = PDFStreamWriter; - -// ../../../node_modules/pdf-lib/es/core/objects/PDFHexString.js -var PDFHexString = ( - /** @class */ - (function(_super) { - __extends(PDFHexString2, _super); - function PDFHexString2(value) { - var _this = _super.call(this) || this; - _this.value = value; - return _this; - } - PDFHexString2.prototype.asBytes = function() { - var hex2 = this.value + (this.value.length % 2 === 1 ? "0" : ""); - var hexLength = hex2.length; - var bytes = new Uint8Array(hex2.length / 2); - var hexOffset = 0; - var bytesOffset = 0; - while (hexOffset < hexLength) { - var byte = parseInt(hex2.substring(hexOffset, hexOffset + 2), 16); - bytes[bytesOffset] = byte; - hexOffset += 2; - bytesOffset += 1; - } - return bytes; - }; - PDFHexString2.prototype.decodeText = function() { - var bytes = this.asBytes(); - if (hasUtf16BOM(bytes)) - return utf16Decode(bytes); - return pdfDocEncodingDecode(bytes); - }; - PDFHexString2.prototype.decodeDate = function() { - var text = this.decodeText(); - var date = parseDate(text); - if (!date) - throw new InvalidPDFDateStringError(text); - return date; - }; - PDFHexString2.prototype.asString = function() { - return this.value; - }; - PDFHexString2.prototype.clone = function() { - return PDFHexString2.of(this.value); - }; - PDFHexString2.prototype.toString = function() { - return "<" + this.value + ">"; - }; - PDFHexString2.prototype.sizeInBytes = function() { - return this.value.length + 2; - }; - PDFHexString2.prototype.copyBytesInto = function(buffer, offset) { - buffer[offset++] = CharCodes_default.LessThan; - offset += copyStringIntoBuffer(this.value, buffer, offset); - buffer[offset++] = CharCodes_default.GreaterThan; - return this.value.length + 2; - }; - PDFHexString2.of = function(value) { - return new PDFHexString2(value); - }; - PDFHexString2.fromText = function(value) { - var encoded = utf16Encode(value); - var hex2 = ""; - for (var idx = 0, len = encoded.length; idx < len; idx++) { - hex2 += toHexStringOfMinLength(encoded[idx], 4); - } - return new PDFHexString2(hex2); - }; - return PDFHexString2; - })(PDFObject_default) -); -var PDFHexString_default = PDFHexString; - -// ../../../node_modules/pdf-lib/es/core/embedders/StandardFontEmbedder.js -var StandardFontEmbedder = ( - /** @class */ - (function() { - function StandardFontEmbedder2(fontName, customName) { - this.encoding = fontName === FontNames.ZapfDingbats ? Encodings.ZapfDingbats : fontName === FontNames.Symbol ? Encodings.Symbol : Encodings.WinAnsi; - this.font = Font.load(fontName); - this.fontName = this.font.FontName; - this.customName = customName; - } - StandardFontEmbedder2.prototype.encodeText = function(text) { - var glyphs = this.encodeTextAsGlyphs(text); - var hexCodes = new Array(glyphs.length); - for (var idx = 0, len = glyphs.length; idx < len; idx++) { - hexCodes[idx] = toHexString(glyphs[idx].code); - } - return PDFHexString_default.of(hexCodes.join("")); - }; - StandardFontEmbedder2.prototype.widthOfTextAtSize = function(text, size) { - var glyphs = this.encodeTextAsGlyphs(text); - var totalWidth = 0; - for (var idx = 0, len = glyphs.length; idx < len; idx++) { - var left = glyphs[idx].name; - var right = (glyphs[idx + 1] || {}).name; - var kernAmount = this.font.getXAxisKerningForPair(left, right) || 0; - totalWidth += this.widthOfGlyph(left) + kernAmount; - } - var scale2 = size / 1e3; - return totalWidth * scale2; - }; - StandardFontEmbedder2.prototype.heightOfFontAtSize = function(size, options) { - if (options === void 0) { - options = {}; - } - var _a = options.descender, descender = _a === void 0 ? true : _a; - var _b = this.font, Ascender = _b.Ascender, Descender = _b.Descender, FontBBox = _b.FontBBox; - var yTop = Ascender || FontBBox[3]; - var yBottom = Descender || FontBBox[1]; - var height = yTop - yBottom; - if (!descender) - height += Descender || 0; - return height / 1e3 * size; - }; - StandardFontEmbedder2.prototype.sizeOfFontAtHeight = function(height) { - var _a = this.font, Ascender = _a.Ascender, Descender = _a.Descender, FontBBox = _a.FontBBox; - var yTop = Ascender || FontBBox[3]; - var yBottom = Descender || FontBBox[1]; - return 1e3 * height / (yTop - yBottom); - }; - StandardFontEmbedder2.prototype.embedIntoContext = function(context, ref) { - var fontDict = context.obj({ - Type: "Font", - Subtype: "Type1", - BaseFont: this.customName || this.fontName, - Encoding: this.encoding === Encodings.WinAnsi ? "WinAnsiEncoding" : void 0 - }); - if (ref) { - context.assign(ref, fontDict); - return ref; - } else { - return context.register(fontDict); - } - }; - StandardFontEmbedder2.prototype.widthOfGlyph = function(glyphName) { - return this.font.getWidthOfGlyph(glyphName) || 250; - }; - StandardFontEmbedder2.prototype.encodeTextAsGlyphs = function(text) { - var codePoints = Array.from(text); - var glyphs = new Array(codePoints.length); - for (var idx = 0, len = codePoints.length; idx < len; idx++) { - var codePoint = toCodePoint(codePoints[idx]); - glyphs[idx] = this.encoding.encodeUnicodeCodePoint(codePoint); - } - return glyphs; - }; - StandardFontEmbedder2.for = function(fontName, customName) { - return new StandardFontEmbedder2(fontName, customName); - }; - return StandardFontEmbedder2; - })() -); -var StandardFontEmbedder_default = StandardFontEmbedder; - -// ../../../node_modules/pdf-lib/es/core/embedders/CMap.js -var createCmap = function(glyphs, glyphId) { - var bfChars = new Array(glyphs.length); - for (var idx = 0, len = glyphs.length; idx < len; idx++) { - var glyph = glyphs[idx]; - var id = cmapHexFormat(cmapHexString(glyphId(glyph))); - var unicode = cmapHexFormat.apply(void 0, glyph.codePoints.map(cmapCodePointFormat)); - bfChars[idx] = [id, unicode]; - } - return fillCmapTemplate(bfChars); -}; -var fillCmapTemplate = function(bfChars) { - return "/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo <<\n /Registry (Adobe)\n /Ordering (UCS)\n /Supplement 0\n>> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<0000>\nendcodespacerange\n" + bfChars.length + " beginbfchar\n" + bfChars.map(function(_a) { - var glyphId = _a[0], codePoint = _a[1]; - return glyphId + " " + codePoint; - }).join("\n") + "\nendbfchar\nendcmap\nCMapName currentdict /CMap defineresource pop\nend\nend"; -}; -var cmapHexFormat = function() { - var values2 = []; - for (var _i = 0; _i < arguments.length; _i++) { - values2[_i] = arguments[_i]; - } - return "<" + values2.join("") + ">"; -}; -var cmapHexString = function(value) { - return toHexStringOfMinLength(value, 4); -}; -var cmapCodePointFormat = function(codePoint) { - if (isWithinBMP(codePoint)) - return cmapHexString(codePoint); - if (hasSurrogates(codePoint)) { - var hs = highSurrogate(codePoint); - var ls = lowSurrogate(codePoint); - return "" + cmapHexString(hs) + cmapHexString(ls); - } - var hex2 = toHexString(codePoint); - var msg = "0x" + hex2 + " is not a valid UTF-8 or UTF-16 codepoint."; - throw new Error(msg); -}; - -// ../../../node_modules/pdf-lib/es/core/embedders/FontFlags.js -var makeFontFlags = function(options) { - var flags = 0; - var flipBit = function(bit) { - flags |= 1 << bit - 1; - }; - if (options.fixedPitch) - flipBit(1); - if (options.serif) - flipBit(2); - if (options.symbolic) - flipBit(3); - if (options.script) - flipBit(4); - if (options.nonsymbolic) - flipBit(6); - if (options.italic) - flipBit(7); - if (options.allCap) - flipBit(17); - if (options.smallCap) - flipBit(18); - if (options.forceBold) - flipBit(19); - return flags; -}; -var deriveFontFlags = function(font) { - var familyClass = font["OS/2"] ? font["OS/2"].sFamilyClass : 0; - var flags = makeFontFlags({ - fixedPitch: font.post.isFixedPitch, - serif: 1 <= familyClass && familyClass <= 7, - symbolic: true, - script: familyClass === 10, - italic: font.head.macStyle.italic - }); - return flags; -}; - -// ../../../node_modules/pdf-lib/es/core/objects/PDFString.js -var PDFString = ( - /** @class */ - (function(_super) { - __extends(PDFString2, _super); - function PDFString2(value) { - var _this = _super.call(this) || this; - _this.value = value; - return _this; - } - PDFString2.prototype.asBytes = function() { - var bytes = []; - var octal = ""; - var escaped = false; - var pushByte = function(byte2) { - if (byte2 !== void 0) - bytes.push(byte2); - escaped = false; - }; - for (var idx = 0, len = this.value.length; idx < len; idx++) { - var char = this.value[idx]; - var byte = toCharCode(char); - var nextChar = this.value[idx + 1]; - if (!escaped) { - if (byte === CharCodes_default.BackSlash) - escaped = true; - else - pushByte(byte); - } else { - if (byte === CharCodes_default.Newline) - pushByte(); - else if (byte === CharCodes_default.CarriageReturn) - pushByte(); - else if (byte === CharCodes_default.n) - pushByte(CharCodes_default.Newline); - else if (byte === CharCodes_default.r) - pushByte(CharCodes_default.CarriageReturn); - else if (byte === CharCodes_default.t) - pushByte(CharCodes_default.Tab); - else if (byte === CharCodes_default.b) - pushByte(CharCodes_default.Backspace); - else if (byte === CharCodes_default.f) - pushByte(CharCodes_default.FormFeed); - else if (byte === CharCodes_default.LeftParen) - pushByte(CharCodes_default.LeftParen); - else if (byte === CharCodes_default.RightParen) - pushByte(CharCodes_default.RightParen); - else if (byte === CharCodes_default.Backspace) - pushByte(CharCodes_default.BackSlash); - else if (byte >= CharCodes_default.Zero && byte <= CharCodes_default.Seven) { - octal += char; - if (octal.length === 3 || !(nextChar >= "0" && nextChar <= "7")) { - pushByte(parseInt(octal, 8)); - octal = ""; - } - } else { - pushByte(byte); - } - } - } - return new Uint8Array(bytes); - }; - PDFString2.prototype.decodeText = function() { - var bytes = this.asBytes(); - if (hasUtf16BOM(bytes)) - return utf16Decode(bytes); - return pdfDocEncodingDecode(bytes); - }; - PDFString2.prototype.decodeDate = function() { - var text = this.decodeText(); - var date = parseDate(text); - if (!date) - throw new InvalidPDFDateStringError(text); - return date; - }; - PDFString2.prototype.asString = function() { - return this.value; - }; - PDFString2.prototype.clone = function() { - return PDFString2.of(this.value); - }; - PDFString2.prototype.toString = function() { - return "(" + this.value + ")"; - }; - PDFString2.prototype.sizeInBytes = function() { - return this.value.length + 2; - }; - PDFString2.prototype.copyBytesInto = function(buffer, offset) { - buffer[offset++] = CharCodes_default.LeftParen; - offset += copyStringIntoBuffer(this.value, buffer, offset); - buffer[offset++] = CharCodes_default.RightParen; - return this.value.length + 2; - }; - PDFString2.of = function(value) { - return new PDFString2(value); - }; - PDFString2.fromDate = function(date) { - var year = padStart(String(date.getUTCFullYear()), 4, "0"); - var month = padStart(String(date.getUTCMonth() + 1), 2, "0"); - var day = padStart(String(date.getUTCDate()), 2, "0"); - var hours = padStart(String(date.getUTCHours()), 2, "0"); - var mins = padStart(String(date.getUTCMinutes()), 2, "0"); - var secs = padStart(String(date.getUTCSeconds()), 2, "0"); - return new PDFString2("D:" + year + month + day + hours + mins + secs + "Z"); - }; - return PDFString2; - })(PDFObject_default) -); -var PDFString_default = PDFString; - -// ../../../node_modules/pdf-lib/es/core/embedders/CustomFontEmbedder.js -var CustomFontEmbedder = ( - /** @class */ - (function() { - function CustomFontEmbedder2(font, fontData, customName, fontFeatures) { - var _this = this; - this.allGlyphsInFontSortedById = function() { - var glyphs = new Array(_this.font.characterSet.length); - for (var idx = 0, len = glyphs.length; idx < len; idx++) { - var codePoint = _this.font.characterSet[idx]; - glyphs[idx] = _this.font.glyphForCodePoint(codePoint); - } - return sortedUniq(glyphs.sort(byAscendingId), function(g) { - return g.id; - }); - }; - this.font = font; - this.scale = 1e3 / this.font.unitsPerEm; - this.fontData = fontData; - this.fontName = this.font.postscriptName || "Font"; - this.customName = customName; - this.fontFeatures = fontFeatures; - this.baseFontName = ""; - this.glyphCache = Cache_default.populatedBy(this.allGlyphsInFontSortedById); - } - CustomFontEmbedder2.for = function(fontkit, fontData, customName, fontFeatures) { - return __awaiter(this, void 0, void 0, function() { - var font; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, fontkit.create(fontData)]; - case 1: - font = _a.sent(); - return [2, new CustomFontEmbedder2(font, fontData, customName, fontFeatures)]; - } - }); - }); - }; - CustomFontEmbedder2.prototype.encodeText = function(text) { - var glyphs = this.font.layout(text, this.fontFeatures).glyphs; - var hexCodes = new Array(glyphs.length); - for (var idx = 0, len = glyphs.length; idx < len; idx++) { - hexCodes[idx] = toHexStringOfMinLength(glyphs[idx].id, 4); - } - return PDFHexString_default.of(hexCodes.join("")); - }; - CustomFontEmbedder2.prototype.widthOfTextAtSize = function(text, size) { - var glyphs = this.font.layout(text, this.fontFeatures).glyphs; - var totalWidth = 0; - for (var idx = 0, len = glyphs.length; idx < len; idx++) { - totalWidth += glyphs[idx].advanceWidth * this.scale; - } - var scale2 = size / 1e3; - return totalWidth * scale2; - }; - CustomFontEmbedder2.prototype.heightOfFontAtSize = function(size, options) { - if (options === void 0) { - options = {}; - } - var _a = options.descender, descender = _a === void 0 ? true : _a; - var _b = this.font, ascent = _b.ascent, descent = _b.descent, bbox = _b.bbox; - var yTop = (ascent || bbox.maxY) * this.scale; - var yBottom = (descent || bbox.minY) * this.scale; - var height = yTop - yBottom; - if (!descender) - height -= Math.abs(descent) || 0; - return height / 1e3 * size; - }; - CustomFontEmbedder2.prototype.sizeOfFontAtHeight = function(height) { - var _a = this.font, ascent = _a.ascent, descent = _a.descent, bbox = _a.bbox; - var yTop = (ascent || bbox.maxY) * this.scale; - var yBottom = (descent || bbox.minY) * this.scale; - return 1e3 * height / (yTop - yBottom); - }; - CustomFontEmbedder2.prototype.embedIntoContext = function(context, ref) { - this.baseFontName = this.customName || context.addRandomSuffix(this.fontName); - return this.embedFontDict(context, ref); - }; - CustomFontEmbedder2.prototype.embedFontDict = function(context, ref) { - return __awaiter(this, void 0, void 0, function() { - var cidFontDictRef, unicodeCMapRef, fontDict; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.embedCIDFontDict(context)]; - case 1: - cidFontDictRef = _a.sent(); - unicodeCMapRef = this.embedUnicodeCmap(context); - fontDict = context.obj({ - Type: "Font", - Subtype: "Type0", - BaseFont: this.baseFontName, - Encoding: "Identity-H", - DescendantFonts: [cidFontDictRef], - ToUnicode: unicodeCMapRef - }); - if (ref) { - context.assign(ref, fontDict); - return [2, ref]; - } else { - return [2, context.register(fontDict)]; - } - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - CustomFontEmbedder2.prototype.isCFF = function() { - return this.font.cff; - }; - CustomFontEmbedder2.prototype.embedCIDFontDict = function(context) { - return __awaiter(this, void 0, void 0, function() { - var fontDescriptorRef, cidFontDict; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.embedFontDescriptor(context)]; - case 1: - fontDescriptorRef = _a.sent(); - cidFontDict = context.obj({ - Type: "Font", - Subtype: this.isCFF() ? "CIDFontType0" : "CIDFontType2", - CIDToGIDMap: "Identity", - BaseFont: this.baseFontName, - CIDSystemInfo: { - Registry: PDFString_default.of("Adobe"), - Ordering: PDFString_default.of("Identity"), - Supplement: 0 - }, - FontDescriptor: fontDescriptorRef, - W: this.computeWidths() - }); - return [2, context.register(cidFontDict)]; - } - }); - }); - }; - CustomFontEmbedder2.prototype.embedFontDescriptor = function(context) { - return __awaiter(this, void 0, void 0, function() { - var fontStreamRef, scale2, _a, italicAngle, ascent, descent, capHeight, xHeight, _b, minX, minY, maxX, maxY, fontDescriptor; - var _c; - return __generator(this, function(_d) { - switch (_d.label) { - case 0: - return [4, this.embedFontStream(context)]; - case 1: - fontStreamRef = _d.sent(); - scale2 = this.scale; - _a = this.font, italicAngle = _a.italicAngle, ascent = _a.ascent, descent = _a.descent, capHeight = _a.capHeight, xHeight = _a.xHeight; - _b = this.font.bbox, minX = _b.minX, minY = _b.minY, maxX = _b.maxX, maxY = _b.maxY; - fontDescriptor = context.obj((_c = { - Type: "FontDescriptor", - FontName: this.baseFontName, - Flags: deriveFontFlags(this.font), - FontBBox: [minX * scale2, minY * scale2, maxX * scale2, maxY * scale2], - ItalicAngle: italicAngle, - Ascent: ascent * scale2, - Descent: descent * scale2, - CapHeight: (capHeight || ascent) * scale2, - XHeight: (xHeight || 0) * scale2, - // Not sure how to compute/find this, nor is anybody else really: - // https://stackoverflow.com/questions/35485179/stemv-value-of-the-truetype-font - StemV: 0 - }, _c[this.isCFF() ? "FontFile3" : "FontFile2"] = fontStreamRef, _c)); - return [2, context.register(fontDescriptor)]; - } - }); - }); - }; - CustomFontEmbedder2.prototype.serializeFont = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - return [2, this.fontData]; - }); - }); - }; - CustomFontEmbedder2.prototype.embedFontStream = function(context) { - return __awaiter(this, void 0, void 0, function() { - var fontStream, _a, _b; - return __generator(this, function(_c) { - switch (_c.label) { - case 0: - _b = (_a = context).flateStream; - return [4, this.serializeFont()]; - case 1: - fontStream = _b.apply(_a, [_c.sent(), { - Subtype: this.isCFF() ? "CIDFontType0C" : void 0 - }]); - return [2, context.register(fontStream)]; - } - }); - }); - }; - CustomFontEmbedder2.prototype.embedUnicodeCmap = function(context) { - var cmap = createCmap(this.glyphCache.access(), this.glyphId.bind(this)); - var cmapStream = context.flateStream(cmap); - return context.register(cmapStream); - }; - CustomFontEmbedder2.prototype.glyphId = function(glyph) { - return glyph ? glyph.id : -1; - }; - CustomFontEmbedder2.prototype.computeWidths = function() { - var glyphs = this.glyphCache.access(); - var widths = []; - var currSection = []; - for (var idx = 0, len = glyphs.length; idx < len; idx++) { - var currGlyph = glyphs[idx]; - var prevGlyph = glyphs[idx - 1]; - var currGlyphId = this.glyphId(currGlyph); - var prevGlyphId = this.glyphId(prevGlyph); - if (idx === 0) { - widths.push(currGlyphId); - } else if (currGlyphId - prevGlyphId !== 1) { - widths.push(currSection); - widths.push(currGlyphId); - currSection = []; - } - currSection.push(currGlyph.advanceWidth * this.scale); - } - widths.push(currSection); - return widths; - }; - return CustomFontEmbedder2; - })() -); -var CustomFontEmbedder_default = CustomFontEmbedder; - -// ../../../node_modules/pdf-lib/es/core/embedders/CustomFontSubsetEmbedder.js -var CustomFontSubsetEmbedder = ( - /** @class */ - (function(_super) { - __extends(CustomFontSubsetEmbedder2, _super); - function CustomFontSubsetEmbedder2(font, fontData, customFontName, fontFeatures) { - var _this = _super.call(this, font, fontData, customFontName, fontFeatures) || this; - _this.subset = _this.font.createSubset(); - _this.glyphs = []; - _this.glyphCache = Cache_default.populatedBy(function() { - return _this.glyphs; - }); - _this.glyphIdMap = /* @__PURE__ */ new Map(); - return _this; - } - CustomFontSubsetEmbedder2.for = function(fontkit, fontData, customFontName, fontFeatures) { - return __awaiter(this, void 0, void 0, function() { - var font; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, fontkit.create(fontData)]; - case 1: - font = _a.sent(); - return [2, new CustomFontSubsetEmbedder2(font, fontData, customFontName, fontFeatures)]; - } - }); - }); - }; - CustomFontSubsetEmbedder2.prototype.encodeText = function(text) { - var glyphs = this.font.layout(text, this.fontFeatures).glyphs; - var hexCodes = new Array(glyphs.length); - for (var idx = 0, len = glyphs.length; idx < len; idx++) { - var glyph = glyphs[idx]; - var subsetGlyphId = this.subset.includeGlyph(glyph); - this.glyphs[subsetGlyphId - 1] = glyph; - this.glyphIdMap.set(glyph.id, subsetGlyphId); - hexCodes[idx] = toHexStringOfMinLength(subsetGlyphId, 4); - } - this.glyphCache.invalidate(); - return PDFHexString_default.of(hexCodes.join("")); - }; - CustomFontSubsetEmbedder2.prototype.isCFF = function() { - return this.subset.cff; - }; - CustomFontSubsetEmbedder2.prototype.glyphId = function(glyph) { - return glyph ? this.glyphIdMap.get(glyph.id) : -1; - }; - CustomFontSubsetEmbedder2.prototype.serializeFont = function() { - var _this = this; - return new Promise(function(resolve, reject) { - var parts = []; - _this.subset.encodeStream().on("data", function(bytes) { - return parts.push(bytes); - }).on("end", function() { - return resolve(mergeUint8Arrays(parts)); - }).on("error", function(err) { - return reject(err); - }); - }); - }; - return CustomFontSubsetEmbedder2; - })(CustomFontEmbedder_default) -); -var CustomFontSubsetEmbedder_default = CustomFontSubsetEmbedder; - -// ../../../node_modules/pdf-lib/es/core/embedders/FileEmbedder.js -var AFRelationship; -(function(AFRelationship2) { - AFRelationship2["Source"] = "Source"; - AFRelationship2["Data"] = "Data"; - AFRelationship2["Alternative"] = "Alternative"; - AFRelationship2["Supplement"] = "Supplement"; - AFRelationship2["EncryptedPayload"] = "EncryptedPayload"; - AFRelationship2["FormData"] = "EncryptedPayload"; - AFRelationship2["Schema"] = "Schema"; - AFRelationship2["Unspecified"] = "Unspecified"; -})(AFRelationship || (AFRelationship = {})); -var FileEmbedder = ( - /** @class */ - (function() { - function FileEmbedder2(fileData, fileName, options) { - if (options === void 0) { - options = {}; - } - this.fileData = fileData; - this.fileName = fileName; - this.options = options; - } - FileEmbedder2.for = function(bytes, fileName, options) { - if (options === void 0) { - options = {}; - } - return new FileEmbedder2(bytes, fileName, options); - }; - FileEmbedder2.prototype.embedIntoContext = function(context, ref) { - return __awaiter(this, void 0, void 0, function() { - var _a, mimeType, description, creationDate, modificationDate, afRelationship, embeddedFileStream, embeddedFileStreamRef, fileSpecDict; - return __generator(this, function(_b) { - _a = this.options, mimeType = _a.mimeType, description = _a.description, creationDate = _a.creationDate, modificationDate = _a.modificationDate, afRelationship = _a.afRelationship; - embeddedFileStream = context.flateStream(this.fileData, { - Type: "EmbeddedFile", - Subtype: mimeType !== null && mimeType !== void 0 ? mimeType : void 0, - Params: { - Size: this.fileData.length, - CreationDate: creationDate ? PDFString_default.fromDate(creationDate) : void 0, - ModDate: modificationDate ? PDFString_default.fromDate(modificationDate) : void 0 - } - }); - embeddedFileStreamRef = context.register(embeddedFileStream); - fileSpecDict = context.obj({ - Type: "Filespec", - F: PDFString_default.of(this.fileName), - UF: PDFHexString_default.fromText(this.fileName), - EF: { F: embeddedFileStreamRef }, - Desc: description ? PDFHexString_default.fromText(description) : void 0, - AFRelationship: afRelationship !== null && afRelationship !== void 0 ? afRelationship : void 0 - }); - if (ref) { - context.assign(ref, fileSpecDict); - return [2, ref]; - } else { - return [2, context.register(fileSpecDict)]; - } - return [ - 2 - /*return*/ - ]; - }); - }); - }; - return FileEmbedder2; - })() -); -var FileEmbedder_default = FileEmbedder; - -// ../../../node_modules/pdf-lib/es/core/embedders/JpegEmbedder.js -var MARKERS = [ - 65472, - 65473, - 65474, - 65475, - 65477, - 65478, - 65479, - 65480, - 65481, - 65482, - 65483, - 65484, - 65485, - 65486, - 65487 -]; -var ColorSpace; -(function(ColorSpace2) { - ColorSpace2["DeviceGray"] = "DeviceGray"; - ColorSpace2["DeviceRGB"] = "DeviceRGB"; - ColorSpace2["DeviceCMYK"] = "DeviceCMYK"; -})(ColorSpace || (ColorSpace = {})); -var ChannelToColorSpace = { - 1: ColorSpace.DeviceGray, - 3: ColorSpace.DeviceRGB, - 4: ColorSpace.DeviceCMYK -}; -var JpegEmbedder = ( - /** @class */ - (function() { - function JpegEmbedder2(imageData, bitsPerComponent, width, height, colorSpace) { - this.imageData = imageData; - this.bitsPerComponent = bitsPerComponent; - this.width = width; - this.height = height; - this.colorSpace = colorSpace; - } - JpegEmbedder2.for = function(imageData) { - return __awaiter(this, void 0, void 0, function() { - var dataView, soi, pos, marker, bitsPerComponent, height, width, channelByte, channelName, colorSpace; - return __generator(this, function(_a) { - dataView = new DataView(imageData.buffer); - soi = dataView.getUint16(0); - if (soi !== 65496) - throw new Error("SOI not found in JPEG"); - pos = 2; - while (pos < dataView.byteLength) { - marker = dataView.getUint16(pos); - pos += 2; - if (MARKERS.includes(marker)) - break; - pos += dataView.getUint16(pos); - } - if (!MARKERS.includes(marker)) - throw new Error("Invalid JPEG"); - pos += 2; - bitsPerComponent = dataView.getUint8(pos++); - height = dataView.getUint16(pos); - pos += 2; - width = dataView.getUint16(pos); - pos += 2; - channelByte = dataView.getUint8(pos++); - channelName = ChannelToColorSpace[channelByte]; - if (!channelName) - throw new Error("Unknown JPEG channel."); - colorSpace = channelName; - return [2, new JpegEmbedder2(imageData, bitsPerComponent, width, height, colorSpace)]; - }); - }); - }; - JpegEmbedder2.prototype.embedIntoContext = function(context, ref) { - return __awaiter(this, void 0, void 0, function() { - var xObject; - return __generator(this, function(_a) { - xObject = context.stream(this.imageData, { - Type: "XObject", - Subtype: "Image", - BitsPerComponent: this.bitsPerComponent, - Width: this.width, - Height: this.height, - ColorSpace: this.colorSpace, - Filter: "DCTDecode", - // CMYK JPEG streams in PDF are typically stored complemented, - // with 1 as 'off' and 0 as 'on' (PDF 32000-1:2008, 8.6.4.4). - // - // Standalone CMYK JPEG (usually exported by Photoshop) are - // stored inverse, with 0 as 'off' and 1 as 'on', like RGB. - // - // Applying a swap here as a hedge that most bytes passing - // through this method will benefit from it. - Decode: this.colorSpace === ColorSpace.DeviceCMYK ? [1, 0, 1, 0, 1, 0, 1, 0] : void 0 - }); - if (ref) { - context.assign(ref, xObject); - return [2, ref]; - } else { - return [2, context.register(xObject)]; - } - return [ - 2 - /*return*/ - ]; - }); - }); - }; - return JpegEmbedder2; - })() -); -var JpegEmbedder_default = JpegEmbedder; - -// ../../../node_modules/@pdf-lib/upng/UPNG.js -var import_pako4 = __toESM(require_pako()); -var UPNG = {}; -UPNG.toRGBA8 = function(out) { - var w = out.width, h = out.height; - if (out.tabs.acTL == null) return [UPNG.toRGBA8.decodeImage(out.data, w, h, out).buffer]; - var frms = []; - if (out.frames[0].data == null) out.frames[0].data = out.data; - var len = w * h * 4, img = new Uint8Array(len), empty = new Uint8Array(len), prev = new Uint8Array(len); - for (var i = 0; i < out.frames.length; i++) { - var frm = out.frames[i]; - var fx = frm.rect.x, fy = frm.rect.y, fw = frm.rect.width, fh = frm.rect.height; - var fdata = UPNG.toRGBA8.decodeImage(frm.data, fw, fh, out); - if (i != 0) for (var j = 0; j < len; j++) prev[j] = img[j]; - if (frm.blend == 0) UPNG._copyTile(fdata, fw, fh, img, w, h, fx, fy, 0); - else if (frm.blend == 1) UPNG._copyTile(fdata, fw, fh, img, w, h, fx, fy, 1); - frms.push(img.buffer.slice(0)); - if (frm.dispose == 0) { - } else if (frm.dispose == 1) UPNG._copyTile(empty, fw, fh, img, w, h, fx, fy, 0); - else if (frm.dispose == 2) for (var j = 0; j < len; j++) img[j] = prev[j]; - } - return frms; -}; -UPNG.toRGBA8.decodeImage = function(data, w, h, out) { - var area = w * h, bpp = UPNG.decode._getBPP(out); - var bpl = Math.ceil(w * bpp / 8); - var bf = new Uint8Array(area * 4), bf32 = new Uint32Array(bf.buffer); - var ctype = out.ctype, depth = out.depth; - var rs = UPNG._bin.readUshort; - var time = Date.now(); - if (ctype == 6) { - var qarea = area << 2; - if (depth == 8) for (var i = 0; i < qarea; i += 4) { - bf[i] = data[i]; - bf[i + 1] = data[i + 1]; - bf[i + 2] = data[i + 2]; - bf[i + 3] = data[i + 3]; - } - if (depth == 16) for (var i = 0; i < qarea; i++) { - bf[i] = data[i << 1]; - } - } else if (ctype == 2) { - var ts = out.tabs["tRNS"]; - if (ts == null) { - if (depth == 8) for (var i = 0; i < area; i++) { - var ti = i * 3; - bf32[i] = 255 << 24 | data[ti + 2] << 16 | data[ti + 1] << 8 | data[ti]; - } - if (depth == 16) for (var i = 0; i < area; i++) { - var ti = i * 6; - bf32[i] = 255 << 24 | data[ti + 4] << 16 | data[ti + 2] << 8 | data[ti]; - } - } else { - var tr = ts[0], tg = ts[1], tb = ts[2]; - if (depth == 8) for (var i = 0; i < area; i++) { - var qi = i << 2, ti = i * 3; - bf32[i] = 255 << 24 | data[ti + 2] << 16 | data[ti + 1] << 8 | data[ti]; - if (data[ti] == tr && data[ti + 1] == tg && data[ti + 2] == tb) bf[qi + 3] = 0; - } - if (depth == 16) for (var i = 0; i < area; i++) { - var qi = i << 2, ti = i * 6; - bf32[i] = 255 << 24 | data[ti + 4] << 16 | data[ti + 2] << 8 | data[ti]; - if (rs(data, ti) == tr && rs(data, ti + 2) == tg && rs(data, ti + 4) == tb) bf[qi + 3] = 0; - } - } - } else if (ctype == 3) { - var p = out.tabs["PLTE"], ap = out.tabs["tRNS"], tl = ap ? ap.length : 0; - if (depth == 1) for (var y = 0; y < h; y++) { - var s0 = y * bpl, t0 = y * w; - for (var i = 0; i < w; i++) { - var qi = t0 + i << 2, j = data[s0 + (i >> 3)] >> 7 - ((i & 7) << 0) & 1, cj = 3 * j; - bf[qi] = p[cj]; - bf[qi + 1] = p[cj + 1]; - bf[qi + 2] = p[cj + 2]; - bf[qi + 3] = j < tl ? ap[j] : 255; - } - } - if (depth == 2) for (var y = 0; y < h; y++) { - var s0 = y * bpl, t0 = y * w; - for (var i = 0; i < w; i++) { - var qi = t0 + i << 2, j = data[s0 + (i >> 2)] >> 6 - ((i & 3) << 1) & 3, cj = 3 * j; - bf[qi] = p[cj]; - bf[qi + 1] = p[cj + 1]; - bf[qi + 2] = p[cj + 2]; - bf[qi + 3] = j < tl ? ap[j] : 255; - } - } - if (depth == 4) for (var y = 0; y < h; y++) { - var s0 = y * bpl, t0 = y * w; - for (var i = 0; i < w; i++) { - var qi = t0 + i << 2, j = data[s0 + (i >> 1)] >> 4 - ((i & 1) << 2) & 15, cj = 3 * j; - bf[qi] = p[cj]; - bf[qi + 1] = p[cj + 1]; - bf[qi + 2] = p[cj + 2]; - bf[qi + 3] = j < tl ? ap[j] : 255; - } - } - if (depth == 8) for (var i = 0; i < area; i++) { - var qi = i << 2, j = data[i], cj = 3 * j; - bf[qi] = p[cj]; - bf[qi + 1] = p[cj + 1]; - bf[qi + 2] = p[cj + 2]; - bf[qi + 3] = j < tl ? ap[j] : 255; - } - } else if (ctype == 4) { - if (depth == 8) for (var i = 0; i < area; i++) { - var qi = i << 2, di = i << 1, gr = data[di]; - bf[qi] = gr; - bf[qi + 1] = gr; - bf[qi + 2] = gr; - bf[qi + 3] = data[di + 1]; - } - if (depth == 16) for (var i = 0; i < area; i++) { - var qi = i << 2, di = i << 2, gr = data[di]; - bf[qi] = gr; - bf[qi + 1] = gr; - bf[qi + 2] = gr; - bf[qi + 3] = data[di + 2]; - } - } else if (ctype == 0) { - var tr = out.tabs["tRNS"] ? out.tabs["tRNS"] : -1; - for (var y = 0; y < h; y++) { - var off = y * bpl, to = y * w; - if (depth == 1) for (var x = 0; x < w; x++) { - var gr = 255 * (data[off + (x >>> 3)] >>> 7 - (x & 7) & 1), al = gr == tr * 255 ? 0 : 255; - bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr; - } - else if (depth == 2) for (var x = 0; x < w; x++) { - var gr = 85 * (data[off + (x >>> 2)] >>> 6 - ((x & 3) << 1) & 3), al = gr == tr * 85 ? 0 : 255; - bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr; - } - else if (depth == 4) for (var x = 0; x < w; x++) { - var gr = 17 * (data[off + (x >>> 1)] >>> 4 - ((x & 1) << 2) & 15), al = gr == tr * 17 ? 0 : 255; - bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr; - } - else if (depth == 8) for (var x = 0; x < w; x++) { - var gr = data[off + x], al = gr == tr ? 0 : 255; - bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr; - } - else if (depth == 16) for (var x = 0; x < w; x++) { - var gr = data[off + (x << 1)], al = rs(data, off + (x << i)) == tr ? 0 : 255; - bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr; - } - } - } - return bf; -}; -UPNG.decode = function(buff) { - var data = new Uint8Array(buff), offset = 8, bin = UPNG._bin, rUs = bin.readUshort, rUi = bin.readUint; - var out = { tabs: {}, frames: [] }; - var dd = new Uint8Array(data.length), doff = 0; - var fd, foff = 0; - var mgck = [137, 80, 78, 71, 13, 10, 26, 10]; - for (var i = 0; i < 8; i++) if (data[i] != mgck[i]) throw "The input is not a PNG file!"; - while (offset < data.length) { - var len = bin.readUint(data, offset); - offset += 4; - var type = bin.readASCII(data, offset, 4); - offset += 4; - if (type == "IHDR") { - UPNG.decode._IHDR(data, offset, out); - } else if (type == "IDAT") { - for (var i = 0; i < len; i++) dd[doff + i] = data[offset + i]; - doff += len; - } else if (type == "acTL") { - out.tabs[type] = { num_frames: rUi(data, offset), num_plays: rUi(data, offset + 4) }; - fd = new Uint8Array(data.length); - } else if (type == "fcTL") { - if (foff != 0) { - var fr = out.frames[out.frames.length - 1]; - fr.data = UPNG.decode._decompress(out, fd.slice(0, foff), fr.rect.width, fr.rect.height); - foff = 0; - } - var rct = { x: rUi(data, offset + 12), y: rUi(data, offset + 16), width: rUi(data, offset + 4), height: rUi(data, offset + 8) }; - var del = rUs(data, offset + 22); - del = rUs(data, offset + 20) / (del == 0 ? 100 : del); - var frm = { rect: rct, delay: Math.round(del * 1e3), dispose: data[offset + 24], blend: data[offset + 25] }; - out.frames.push(frm); - } else if (type == "fdAT") { - for (var i = 0; i < len - 4; i++) fd[foff + i] = data[offset + i + 4]; - foff += len - 4; - } else if (type == "pHYs") { - out.tabs[type] = [bin.readUint(data, offset), bin.readUint(data, offset + 4), data[offset + 8]]; - } else if (type == "cHRM") { - out.tabs[type] = []; - for (var i = 0; i < 8; i++) out.tabs[type].push(bin.readUint(data, offset + i * 4)); - } else if (type == "tEXt") { - if (out.tabs[type] == null) out.tabs[type] = {}; - var nz = bin.nextZero(data, offset); - var keyw = bin.readASCII(data, offset, nz - offset); - var text = bin.readASCII(data, nz + 1, offset + len - nz - 1); - out.tabs[type][keyw] = text; - } else if (type == "iTXt") { - if (out.tabs[type] == null) out.tabs[type] = {}; - var nz = 0, off = offset; - nz = bin.nextZero(data, off); - var keyw = bin.readASCII(data, off, nz - off); - off = nz + 1; - var cflag = data[off], cmeth = data[off + 1]; - off += 2; - nz = bin.nextZero(data, off); - var ltag = bin.readASCII(data, off, nz - off); - off = nz + 1; - nz = bin.nextZero(data, off); - var tkeyw = bin.readUTF8(data, off, nz - off); - off = nz + 1; - var text = bin.readUTF8(data, off, len - (off - offset)); - out.tabs[type][keyw] = text; - } else if (type == "PLTE") { - out.tabs[type] = bin.readBytes(data, offset, len); - } else if (type == "hIST") { - var pl = out.tabs["PLTE"].length / 3; - out.tabs[type] = []; - for (var i = 0; i < pl; i++) out.tabs[type].push(rUs(data, offset + i * 2)); - } else if (type == "tRNS") { - if (out.ctype == 3) out.tabs[type] = bin.readBytes(data, offset, len); - else if (out.ctype == 0) out.tabs[type] = rUs(data, offset); - else if (out.ctype == 2) out.tabs[type] = [rUs(data, offset), rUs(data, offset + 2), rUs(data, offset + 4)]; - } else if (type == "gAMA") out.tabs[type] = bin.readUint(data, offset) / 1e5; - else if (type == "sRGB") out.tabs[type] = data[offset]; - else if (type == "bKGD") { - if (out.ctype == 0 || out.ctype == 4) out.tabs[type] = [rUs(data, offset)]; - else if (out.ctype == 2 || out.ctype == 6) out.tabs[type] = [rUs(data, offset), rUs(data, offset + 2), rUs(data, offset + 4)]; - else if (out.ctype == 3) out.tabs[type] = data[offset]; - } else if (type == "IEND") { - break; - } - offset += len; - var crc = bin.readUint(data, offset); - offset += 4; - } - if (foff != 0) { - var fr = out.frames[out.frames.length - 1]; - fr.data = UPNG.decode._decompress(out, fd.slice(0, foff), fr.rect.width, fr.rect.height); - foff = 0; - } - out.data = UPNG.decode._decompress(out, dd, out.width, out.height); - delete out.compress; - delete out.interlace; - delete out.filter; - return out; -}; -UPNG.decode._decompress = function(out, dd, w, h) { - var time = Date.now(); - var bpp = UPNG.decode._getBPP(out), bpl = Math.ceil(w * bpp / 8), buff = new Uint8Array((bpl + 1 + out.interlace) * h); - dd = UPNG.decode._inflate(dd, buff); - var time = Date.now(); - if (out.interlace == 0) dd = UPNG.decode._filterZero(dd, out, 0, w, h); - else if (out.interlace == 1) dd = UPNG.decode._readInterlace(dd, out); - return dd; -}; -UPNG.decode._inflate = function(data, buff) { - var out = UPNG["inflateRaw"](new Uint8Array(data.buffer, 2, data.length - 6), buff); - return out; -}; -UPNG.inflateRaw = (function() { - var H = {}; - H.H = {}; - H.H.N = function(N, W) { - var R = Uint8Array, i = 0, m = 0, J = 0, h = 0, Q = 0, X = 0, u = 0, w = 0, d = 0, v, C; - if (N[0] == 3 && N[1] == 0) return W ? W : new R(0); - var V = H.H, n = V.b, A = V.e, l = V.R, M = V.n, I = V.A, e = V.Z, b = V.m, Z = W == null; - if (Z) W = new R(N.length >>> 2 << 3); - while (i == 0) { - i = n(N, d, 1); - m = n(N, d + 1, 2); - d += 3; - if (m == 0) { - if ((d & 7) != 0) d += 8 - (d & 7); - var D = (d >>> 3) + 4, q = N[D - 4] | N[D - 3] << 8; - if (Z) W = H.H.W(W, w + q); - W.set(new R(N.buffer, N.byteOffset + D, q), w); - d = D + q << 3; - w += q; - continue; - } - if (Z) W = H.H.W(W, w + (1 << 17)); - if (m == 1) { - v = b.J; - C = b.h; - X = (1 << 9) - 1; - u = (1 << 5) - 1; - } - if (m == 2) { - J = A(N, d, 5) + 257; - h = A(N, d + 5, 5) + 1; - Q = A(N, d + 10, 4) + 4; - d += 14; - var E = d, j = 1; - for (var c = 0; c < 38; c += 2) { - b.Q[c] = 0; - b.Q[c + 1] = 0; - } - for (var c = 0; c < Q; c++) { - var K = A(N, d + c * 3, 3); - b.Q[(b.X[c] << 1) + 1] = K; - if (K > j) j = K; - } - d += 3 * Q; - M(b.Q, j); - I(b.Q, j, b.u); - v = b.w; - C = b.d; - d = l(b.u, (1 << j) - 1, J + h, N, d, b.v); - var r = V.V(b.v, 0, J, b.C); - X = (1 << r) - 1; - var S = V.V(b.v, J, h, b.D); - u = (1 << S) - 1; - M(b.C, r); - I(b.C, r, v); - M(b.D, S); - I(b.D, S, C); - } - while (true) { - var T = v[e(N, d) & X]; - d += T & 15; - var p = T >>> 4; - if (p >>> 8 == 0) { - W[w++] = p; - } else if (p == 256) { - break; - } else { - var z = w + p - 254; - if (p > 264) { - var _ = b.q[p - 257]; - z = w + (_ >>> 3) + A(N, d, _ & 7); - d += _ & 7; - } - var $ = C[e(N, d) & u]; - d += $ & 15; - var s = $ >>> 4, Y = b.c[s], a = (Y >>> 4) + n(N, d, Y & 15); - d += Y & 15; - while (w < z) { - W[w] = W[w++ - a]; - W[w] = W[w++ - a]; - W[w] = W[w++ - a]; - W[w] = W[w++ - a]; - } - w = z; - } - } - } - return W.length == w ? W : W.slice(0, w); - }; - H.H.W = function(N, W) { - var R = N.length; - if (W <= R) return N; - var V = new Uint8Array(R << 1); - V.set(N, 0); - return V; - }; - H.H.R = function(N, W, R, V, n, A) { - var l = H.H.e, M = H.H.Z, I = 0; - while (I < R) { - var e = N[M(V, n) & W]; - n += e & 15; - var b = e >>> 4; - if (b <= 15) { - A[I] = b; - I++; - } else { - var Z = 0, m = 0; - if (b == 16) { - m = 3 + l(V, n, 2); - n += 2; - Z = A[I - 1]; - } else if (b == 17) { - m = 3 + l(V, n, 3); - n += 3; - } else if (b == 18) { - m = 11 + l(V, n, 7); - n += 7; - } - var J = I + m; - while (I < J) { - A[I] = Z; - I++; - } - } - } - return n; - }; - H.H.V = function(N, W, R, V) { - var n = 0, A = 0, l = V.length >>> 1; - while (A < R) { - var M = N[A + W]; - V[A << 1] = 0; - V[(A << 1) + 1] = M; - if (M > n) n = M; - A++; - } - while (A < l) { - V[A << 1] = 0; - V[(A << 1) + 1] = 0; - A++; - } - return n; - }; - H.H.n = function(N, W) { - var R = H.H.m, V = N.length, n, A, l, M, I, e = R.j; - for (var M = 0; M <= W; M++) e[M] = 0; - for (M = 1; M < V; M += 2) e[N[M]]++; - var b = R.K; - n = 0; - e[0] = 0; - for (A = 1; A <= W; A++) { - n = n + e[A - 1] << 1; - b[A] = n; - } - for (l = 0; l < V; l += 2) { - I = N[l + 1]; - if (I != 0) { - N[l] = b[I]; - b[I]++; - } - } - }; - H.H.A = function(N, W, R) { - var V = N.length, n = H.H.m, A = n.r; - for (var l = 0; l < V; l += 2) if (N[l + 1] != 0) { - var M = l >> 1, I = N[l + 1], e = M << 4 | I, b = W - I, Z = N[l] << b, m = Z + (1 << b); - while (Z != m) { - var J = A[Z] >>> 15 - W; - R[J] = e; - Z++; - } - } - }; - H.H.l = function(N, W) { - var R = H.H.m.r, V = 15 - W; - for (var n = 0; n < N.length; n += 2) { - var A = N[n] << W - N[n + 1]; - N[n] = R[A] >>> V; - } - }; - H.H.M = function(N, W, R) { - R = R << (W & 7); - var V = W >>> 3; - N[V] |= R; - N[V + 1] |= R >>> 8; - }; - H.H.I = function(N, W, R) { - R = R << (W & 7); - var V = W >>> 3; - N[V] |= R; - N[V + 1] |= R >>> 8; - N[V + 2] |= R >>> 16; - }; - H.H.e = function(N, W, R) { - return (N[W >>> 3] | N[(W >>> 3) + 1] << 8) >>> (W & 7) & (1 << R) - 1; - }; - H.H.b = function(N, W, R) { - return (N[W >>> 3] | N[(W >>> 3) + 1] << 8 | N[(W >>> 3) + 2] << 16) >>> (W & 7) & (1 << R) - 1; - }; - H.H.Z = function(N, W) { - return (N[W >>> 3] | N[(W >>> 3) + 1] << 8 | N[(W >>> 3) + 2] << 16) >>> (W & 7); - }; - H.H.i = function(N, W) { - return (N[W >>> 3] | N[(W >>> 3) + 1] << 8 | N[(W >>> 3) + 2] << 16 | N[(W >>> 3) + 3] << 24) >>> (W & 7); - }; - H.H.m = (function() { - var N = Uint16Array, W = Uint32Array; - return { K: new N(16), j: new N(16), X: [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], S: [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 999, 999, 999], T: [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], q: new N(32), p: [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 65535, 65535], z: [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], c: new W(32), J: new N(512), _: [], h: new N(32), $: [], w: new N(32768), C: [], v: [], d: new N(32768), D: [], u: new N(512), Q: [], r: new N(1 << 15), s: new W(286), Y: new W(30), a: new W(19), t: new W(15e3), k: new N(1 << 16), g: new N(1 << 15) }; - })(); - (function() { - var N = H.H.m, W = 1 << 15; - for (var R = 0; R < W; R++) { - var V = R; - V = (V & 2863311530) >>> 1 | (V & 1431655765) << 1; - V = (V & 3435973836) >>> 2 | (V & 858993459) << 2; - V = (V & 4042322160) >>> 4 | (V & 252645135) << 4; - V = (V & 4278255360) >>> 8 | (V & 16711935) << 8; - N.r[R] = (V >>> 16 | V << 16) >>> 17; - } - function n(A, l, M) { - while (l-- != 0) A.push(0, M); - } - for (var R = 0; R < 32; R++) { - N.q[R] = N.S[R] << 3 | N.T[R]; - N.c[R] = N.p[R] << 4 | N.z[R]; - } - n(N._, 144, 8); - n(N._, 255 - 143, 9); - n(N._, 279 - 255, 7); - n(N._, 287 - 279, 8); - H.H.n(N._, 9); - H.H.A(N._, 9, N.J); - H.H.l(N._, 9); - n(N.$, 32, 5); - H.H.n(N.$, 5); - H.H.A(N.$, 5, N.h); - H.H.l(N.$, 5); - n(N.Q, 19, 0); - n(N.C, 286, 0); - n(N.D, 30, 0); - n(N.v, 320, 0); - })(); - return H.H.N; -})(); -UPNG.decode._readInterlace = function(data, out) { - var w = out.width, h = out.height; - var bpp = UPNG.decode._getBPP(out), cbpp = bpp >> 3, bpl = Math.ceil(w * bpp / 8); - var img = new Uint8Array(h * bpl); - var di = 0; - var starting_row = [0, 0, 4, 0, 2, 0, 1]; - var starting_col = [0, 4, 0, 2, 0, 1, 0]; - var row_increment = [8, 8, 8, 4, 4, 2, 2]; - var col_increment = [8, 8, 4, 4, 2, 2, 1]; - var pass = 0; - while (pass < 7) { - var ri = row_increment[pass], ci = col_increment[pass]; - var sw = 0, sh = 0; - var cr = starting_row[pass]; - while (cr < h) { - cr += ri; - sh++; - } - var cc = starting_col[pass]; - while (cc < w) { - cc += ci; - sw++; - } - var bpll = Math.ceil(sw * bpp / 8); - UPNG.decode._filterZero(data, out, di, sw, sh); - var y = 0, row = starting_row[pass]; - while (row < h) { - var col = starting_col[pass]; - var cdi = di + y * bpll << 3; - while (col < w) { - if (bpp == 1) { - var val = data[cdi >> 3]; - val = val >> 7 - (cdi & 7) & 1; - img[row * bpl + (col >> 3)] |= val << 7 - ((col & 7) << 0); - } - if (bpp == 2) { - var val = data[cdi >> 3]; - val = val >> 6 - (cdi & 7) & 3; - img[row * bpl + (col >> 2)] |= val << 6 - ((col & 3) << 1); - } - if (bpp == 4) { - var val = data[cdi >> 3]; - val = val >> 4 - (cdi & 7) & 15; - img[row * bpl + (col >> 1)] |= val << 4 - ((col & 1) << 2); - } - if (bpp >= 8) { - var ii = row * bpl + col * cbpp; - for (var j = 0; j < cbpp; j++) img[ii + j] = data[(cdi >> 3) + j]; - } - cdi += bpp; - col += ci; - } - y++; - row += ri; - } - if (sw * sh != 0) di += sh * (1 + bpll); - pass = pass + 1; - } - return img; -}; -UPNG.decode._getBPP = function(out) { - var noc = [1, null, 3, 1, 2, null, 4][out.ctype]; - return noc * out.depth; -}; -UPNG.decode._filterZero = function(data, out, off, w, h) { - var bpp = UPNG.decode._getBPP(out), bpl = Math.ceil(w * bpp / 8), paeth = UPNG.decode._paeth; - bpp = Math.ceil(bpp / 8); - var i = 0, di = 1, type = data[off], x = 0; - if (type > 1) data[off] = [0, 0, 1][type - 2]; - if (type == 3) for (x = bpp; x < bpl; x++) data[x + 1] = data[x + 1] + (data[x + 1 - bpp] >>> 1) & 255; - for (var y = 0; y < h; y++) { - i = off + y * bpl; - di = i + y + 1; - type = data[di - 1]; - x = 0; - if (type == 0) for (; x < bpl; x++) data[i + x] = data[di + x]; - else if (type == 1) { - for (; x < bpp; x++) data[i + x] = data[di + x]; - for (; x < bpl; x++) data[i + x] = data[di + x] + data[i + x - bpp]; - } else if (type == 2) { - for (; x < bpl; x++) data[i + x] = data[di + x] + data[i + x - bpl]; - } else if (type == 3) { - for (; x < bpp; x++) data[i + x] = data[di + x] + (data[i + x - bpl] >>> 1); - for (; x < bpl; x++) data[i + x] = data[di + x] + (data[i + x - bpl] + data[i + x - bpp] >>> 1); - } else { - for (; x < bpp; x++) data[i + x] = data[di + x] + paeth(0, data[i + x - bpl], 0); - for (; x < bpl; x++) data[i + x] = data[di + x] + paeth(data[i + x - bpp], data[i + x - bpl], data[i + x - bpp - bpl]); - } - } - return data; -}; -UPNG.decode._paeth = function(a, b, c) { - var p = a + b - c, pa = p - a, pb = p - b, pc = p - c; - if (pa * pa <= pb * pb && pa * pa <= pc * pc) return a; - else if (pb * pb <= pc * pc) return b; - return c; -}; -UPNG.decode._IHDR = function(data, offset, out) { - var bin = UPNG._bin; - out.width = bin.readUint(data, offset); - offset += 4; - out.height = bin.readUint(data, offset); - offset += 4; - out.depth = data[offset]; - offset++; - out.ctype = data[offset]; - offset++; - out.compress = data[offset]; - offset++; - out.filter = data[offset]; - offset++; - out.interlace = data[offset]; - offset++; -}; -UPNG._bin = { - nextZero: function(data, p) { - while (data[p] != 0) p++; - return p; - }, - readUshort: function(buff, p) { - return buff[p] << 8 | buff[p + 1]; - }, - writeUshort: function(buff, p, n) { - buff[p] = n >> 8 & 255; - buff[p + 1] = n & 255; - }, - readUint: function(buff, p) { - return buff[p] * (256 * 256 * 256) + (buff[p + 1] << 16 | buff[p + 2] << 8 | buff[p + 3]); - }, - writeUint: function(buff, p, n) { - buff[p] = n >> 24 & 255; - buff[p + 1] = n >> 16 & 255; - buff[p + 2] = n >> 8 & 255; - buff[p + 3] = n & 255; - }, - readASCII: function(buff, p, l) { - var s = ""; - for (var i = 0; i < l; i++) s += String.fromCharCode(buff[p + i]); - return s; - }, - writeASCII: function(data, p, s) { - for (var i = 0; i < s.length; i++) data[p + i] = s.charCodeAt(i); - }, - readBytes: function(buff, p, l) { - var arr = []; - for (var i = 0; i < l; i++) arr.push(buff[p + i]); - return arr; - }, - pad: function(n) { - return n.length < 2 ? "0" + n : n; - }, - readUTF8: function(buff, p, l) { - var s = "", ns; - for (var i = 0; i < l; i++) s += "%" + UPNG._bin.pad(buff[p + i].toString(16)); - try { - ns = decodeURIComponent(s); - } catch (e) { - return UPNG._bin.readASCII(buff, p, l); - } - return ns; - } -}; -UPNG._copyTile = function(sb, sw, sh, tb, tw, th, xoff, yoff, mode) { - var w = Math.min(sw, tw), h = Math.min(sh, th); - var si = 0, ti = 0; - for (var y = 0; y < h; y++) - for (var x = 0; x < w; x++) { - if (xoff >= 0 && yoff >= 0) { - si = y * sw + x << 2; - ti = (yoff + y) * tw + xoff + x << 2; - } else { - si = (-yoff + y) * sw - xoff + x << 2; - ti = y * tw + x << 2; - } - if (mode == 0) { - tb[ti] = sb[si]; - tb[ti + 1] = sb[si + 1]; - tb[ti + 2] = sb[si + 2]; - tb[ti + 3] = sb[si + 3]; - } else if (mode == 1) { - var fa = sb[si + 3] * (1 / 255), fr = sb[si] * fa, fg = sb[si + 1] * fa, fb = sb[si + 2] * fa; - var ba = tb[ti + 3] * (1 / 255), br = tb[ti] * ba, bg = tb[ti + 1] * ba, bb = tb[ti + 2] * ba; - var ifa = 1 - fa, oa = fa + ba * ifa, ioa = oa == 0 ? 0 : 1 / oa; - tb[ti + 3] = 255 * oa; - tb[ti + 0] = (fr + br * ifa) * ioa; - tb[ti + 1] = (fg + bg * ifa) * ioa; - tb[ti + 2] = (fb + bb * ifa) * ioa; - } else if (mode == 2) { - var fa = sb[si + 3], fr = sb[si], fg = sb[si + 1], fb = sb[si + 2]; - var ba = tb[ti + 3], br = tb[ti], bg = tb[ti + 1], bb = tb[ti + 2]; - if (fa == ba && fr == br && fg == bg && fb == bb) { - tb[ti] = 0; - tb[ti + 1] = 0; - tb[ti + 2] = 0; - tb[ti + 3] = 0; - } else { - tb[ti] = fr; - tb[ti + 1] = fg; - tb[ti + 2] = fb; - tb[ti + 3] = fa; - } - } else if (mode == 3) { - var fa = sb[si + 3], fr = sb[si], fg = sb[si + 1], fb = sb[si + 2]; - var ba = tb[ti + 3], br = tb[ti], bg = tb[ti + 1], bb = tb[ti + 2]; - if (fa == ba && fr == br && fg == bg && fb == bb) continue; - if (fa < 220 && ba > 20) return false; - } - } - return true; -}; -UPNG.encode = function(bufs, w, h, ps, dels, tabs, forbidPlte) { - if (ps == null) ps = 0; - if (forbidPlte == null) forbidPlte = false; - var nimg = UPNG.encode.compress(bufs, w, h, ps, [false, false, false, 0, forbidPlte]); - UPNG.encode.compressPNG(nimg, -1); - return UPNG.encode._main(nimg, w, h, dels, tabs); -}; -UPNG.encodeLL = function(bufs, w, h, cc, ac, depth, dels, tabs) { - var nimg = { ctype: 0 + (cc == 1 ? 0 : 2) + (ac == 0 ? 0 : 4), depth, frames: [] }; - var time = Date.now(); - var bipp = (cc + ac) * depth, bipl = bipp * w; - for (var i = 0; i < bufs.length; i++) - nimg.frames.push({ rect: { x: 0, y: 0, width: w, height: h }, img: new Uint8Array(bufs[i]), blend: 0, dispose: 1, bpp: Math.ceil(bipp / 8), bpl: Math.ceil(bipl / 8) }); - UPNG.encode.compressPNG(nimg, 0, true); - var out = UPNG.encode._main(nimg, w, h, dels, tabs); - return out; -}; -UPNG.encode._main = function(nimg, w, h, dels, tabs) { - if (tabs == null) tabs = {}; - var crc = UPNG.crc.crc, wUi = UPNG._bin.writeUint, wUs = UPNG._bin.writeUshort, wAs = UPNG._bin.writeASCII; - var offset = 8, anim = nimg.frames.length > 1, pltAlpha = false; - var leng = 8 + (16 + 5 + 4) + (anim ? 20 : 0); - if (tabs["sRGB"] != null) leng += 8 + 1 + 4; - if (tabs["pHYs"] != null) leng += 8 + 9 + 4; - if (nimg.ctype == 3) { - var dl = nimg.plte.length; - for (var i = 0; i < dl; i++) if (nimg.plte[i] >>> 24 != 255) pltAlpha = true; - leng += 8 + dl * 3 + 4 + (pltAlpha ? 8 + dl * 1 + 4 : 0); - } - for (var j = 0; j < nimg.frames.length; j++) { - var fr = nimg.frames[j]; - if (anim) leng += 38; - leng += fr.cimg.length + 12; - if (j != 0) leng += 4; - } - leng += 12; - var data = new Uint8Array(leng); - var wr = [137, 80, 78, 71, 13, 10, 26, 10]; - for (var i = 0; i < 8; i++) data[i] = wr[i]; - wUi(data, offset, 13); - offset += 4; - wAs(data, offset, "IHDR"); - offset += 4; - wUi(data, offset, w); - offset += 4; - wUi(data, offset, h); - offset += 4; - data[offset] = nimg.depth; - offset++; - data[offset] = nimg.ctype; - offset++; - data[offset] = 0; - offset++; - data[offset] = 0; - offset++; - data[offset] = 0; - offset++; - wUi(data, offset, crc(data, offset - 17, 17)); - offset += 4; - if (tabs["sRGB"] != null) { - wUi(data, offset, 1); - offset += 4; - wAs(data, offset, "sRGB"); - offset += 4; - data[offset] = tabs["sRGB"]; - offset++; - wUi(data, offset, crc(data, offset - 5, 5)); - offset += 4; - } - if (tabs["pHYs"] != null) { - wUi(data, offset, 9); - offset += 4; - wAs(data, offset, "pHYs"); - offset += 4; - wUi(data, offset, tabs["pHYs"][0]); - offset += 4; - wUi(data, offset, tabs["pHYs"][1]); - offset += 4; - data[offset] = tabs["pHYs"][2]; - offset++; - wUi(data, offset, crc(data, offset - 13, 13)); - offset += 4; - } - if (anim) { - wUi(data, offset, 8); - offset += 4; - wAs(data, offset, "acTL"); - offset += 4; - wUi(data, offset, nimg.frames.length); - offset += 4; - wUi(data, offset, tabs["loop"] != null ? tabs["loop"] : 0); - offset += 4; - wUi(data, offset, crc(data, offset - 12, 12)); - offset += 4; - } - if (nimg.ctype == 3) { - var dl = nimg.plte.length; - wUi(data, offset, dl * 3); - offset += 4; - wAs(data, offset, "PLTE"); - offset += 4; - for (var i = 0; i < dl; i++) { - var ti = i * 3, c = nimg.plte[i], r = c & 255, g = c >>> 8 & 255, b = c >>> 16 & 255; - data[offset + ti + 0] = r; - data[offset + ti + 1] = g; - data[offset + ti + 2] = b; - } - offset += dl * 3; - wUi(data, offset, crc(data, offset - dl * 3 - 4, dl * 3 + 4)); - offset += 4; - if (pltAlpha) { - wUi(data, offset, dl); - offset += 4; - wAs(data, offset, "tRNS"); - offset += 4; - for (var i = 0; i < dl; i++) data[offset + i] = nimg.plte[i] >>> 24 & 255; - offset += dl; - wUi(data, offset, crc(data, offset - dl - 4, dl + 4)); - offset += 4; - } - } - var fi = 0; - for (var j = 0; j < nimg.frames.length; j++) { - var fr = nimg.frames[j]; - if (anim) { - wUi(data, offset, 26); - offset += 4; - wAs(data, offset, "fcTL"); - offset += 4; - wUi(data, offset, fi++); - offset += 4; - wUi(data, offset, fr.rect.width); - offset += 4; - wUi(data, offset, fr.rect.height); - offset += 4; - wUi(data, offset, fr.rect.x); - offset += 4; - wUi(data, offset, fr.rect.y); - offset += 4; - wUs(data, offset, dels[j]); - offset += 2; - wUs(data, offset, 1e3); - offset += 2; - data[offset] = fr.dispose; - offset++; - data[offset] = fr.blend; - offset++; - wUi(data, offset, crc(data, offset - 30, 30)); - offset += 4; - } - var imgd = fr.cimg, dl = imgd.length; - wUi(data, offset, dl + (j == 0 ? 0 : 4)); - offset += 4; - var ioff = offset; - wAs(data, offset, j == 0 ? "IDAT" : "fdAT"); - offset += 4; - if (j != 0) { - wUi(data, offset, fi++); - offset += 4; - } - data.set(imgd, offset); - offset += dl; - wUi(data, offset, crc(data, ioff, offset - ioff)); - offset += 4; - } - wUi(data, offset, 0); - offset += 4; - wAs(data, offset, "IEND"); - offset += 4; - wUi(data, offset, crc(data, offset - 4, 4)); - offset += 4; - return data.buffer; -}; -UPNG.encode.compressPNG = function(out, filter, levelZero) { - for (var i = 0; i < out.frames.length; i++) { - var frm = out.frames[i], nw = frm.rect.width, nh = frm.rect.height; - var fdata = new Uint8Array(nh * frm.bpl + nh); - frm.cimg = UPNG.encode._filterZero(frm.img, nh, frm.bpp, frm.bpl, fdata, filter, levelZero); - } -}; -UPNG.encode.compress = function(bufs, w, h, ps, prms) { - var onlyBlend = prms[0], evenCrd = prms[1], forbidPrev = prms[2], minBits = prms[3], forbidPlte = prms[4]; - var ctype = 6, depth = 8, alphaAnd = 255; - for (var j = 0; j < bufs.length; j++) { - var img = new Uint8Array(bufs[j]), ilen = img.length; - for (var i = 0; i < ilen; i += 4) alphaAnd &= img[i + 3]; - } - var gotAlpha = alphaAnd != 255; - var frms = UPNG.encode.framize(bufs, w, h, onlyBlend, evenCrd, forbidPrev); - var cmap = {}, plte = [], inds = []; - if (ps != 0) { - var nbufs = []; - for (var i = 0; i < frms.length; i++) nbufs.push(frms[i].img.buffer); - var abuf = UPNG.encode.concatRGBA(nbufs), qres = UPNG.quantize(abuf, ps); - var cof = 0, bb = new Uint8Array(qres.abuf); - for (var i = 0; i < frms.length; i++) { - var ti = frms[i].img, bln = ti.length; - inds.push(new Uint8Array(qres.inds.buffer, cof >> 2, bln >> 2)); - for (var j = 0; j < bln; j += 4) { - ti[j] = bb[cof + j]; - ti[j + 1] = bb[cof + j + 1]; - ti[j + 2] = bb[cof + j + 2]; - ti[j + 3] = bb[cof + j + 3]; - } - cof += bln; - } - for (var i = 0; i < qres.plte.length; i++) plte.push(qres.plte[i].est.rgba); - } else { - for (var j = 0; j < frms.length; j++) { - var frm = frms[j], img32 = new Uint32Array(frm.img.buffer), nw = frm.rect.width, ilen = img32.length; - var ind = new Uint8Array(ilen); - inds.push(ind); - for (var i = 0; i < ilen; i++) { - var c = img32[i]; - if (i != 0 && c == img32[i - 1]) ind[i] = ind[i - 1]; - else if (i > nw && c == img32[i - nw]) ind[i] = ind[i - nw]; - else { - var cmc = cmap[c]; - if (cmc == null) { - cmap[c] = cmc = plte.length; - plte.push(c); - if (plte.length >= 300) break; - } - ind[i] = cmc; - } - } - } - } - var cc = plte.length; - if (cc <= 256 && forbidPlte == false) { - if (cc <= 2) depth = 1; - else if (cc <= 4) depth = 2; - else if (cc <= 16) depth = 4; - else depth = 8; - depth = Math.max(depth, minBits); - } - for (var j = 0; j < frms.length; j++) { - var frm = frms[j], nx = frm.rect.x, ny = frm.rect.y, nw = frm.rect.width, nh = frm.rect.height; - var cimg = frm.img, cimg32 = new Uint32Array(cimg.buffer); - var bpl = 4 * nw, bpp = 4; - if (cc <= 256 && forbidPlte == false) { - bpl = Math.ceil(depth * nw / 8); - var nimg = new Uint8Array(bpl * nh); - var inj = inds[j]; - for (var y = 0; y < nh; y++) { - var i = y * bpl, ii = y * nw; - if (depth == 8) for (var x = 0; x < nw; x++) nimg[i + x] = inj[ii + x]; - else if (depth == 4) for (var x = 0; x < nw; x++) nimg[i + (x >> 1)] |= inj[ii + x] << 4 - (x & 1) * 4; - else if (depth == 2) for (var x = 0; x < nw; x++) nimg[i + (x >> 2)] |= inj[ii + x] << 6 - (x & 3) * 2; - else if (depth == 1) for (var x = 0; x < nw; x++) nimg[i + (x >> 3)] |= inj[ii + x] << 7 - (x & 7) * 1; - } - cimg = nimg; - ctype = 3; - bpp = 1; - } else if (gotAlpha == false && frms.length == 1) { - var nimg = new Uint8Array(nw * nh * 3), area = nw * nh; - for (var i = 0; i < area; i++) { - var ti = i * 3, qi = i * 4; - nimg[ti] = cimg[qi]; - nimg[ti + 1] = cimg[qi + 1]; - nimg[ti + 2] = cimg[qi + 2]; - } - cimg = nimg; - ctype = 2; - bpp = 3; - bpl = 3 * nw; - } - frm.img = cimg; - frm.bpl = bpl; - frm.bpp = bpp; - } - return { ctype, depth, plte, frames: frms }; -}; -UPNG.encode.framize = function(bufs, w, h, alwaysBlend, evenCrd, forbidPrev) { - var frms = []; - for (var j = 0; j < bufs.length; j++) { - var cimg = new Uint8Array(bufs[j]), cimg32 = new Uint32Array(cimg.buffer); - var nimg; - var nx = 0, ny = 0, nw = w, nh = h, blend = alwaysBlend ? 1 : 0; - if (j != 0) { - var tlim = forbidPrev || alwaysBlend || j == 1 || frms[j - 2].dispose != 0 ? 1 : 2, tstp = 0, tarea = 1e9; - for (var it = 0; it < tlim; it++) { - var pimg = new Uint8Array(bufs[j - 1 - it]), p32 = new Uint32Array(bufs[j - 1 - it]); - var mix = w, miy = h, max = -1, may = -1; - for (var y = 0; y < h; y++) for (var x = 0; x < w; x++) { - var i = y * w + x; - if (cimg32[i] != p32[i]) { - if (x < mix) mix = x; - if (x > max) max = x; - if (y < miy) miy = y; - if (y > may) may = y; - } - } - if (max == -1) mix = miy = max = may = 0; - if (evenCrd) { - if ((mix & 1) == 1) mix--; - if ((miy & 1) == 1) miy--; - } - var sarea = (max - mix + 1) * (may - miy + 1); - if (sarea < tarea) { - tarea = sarea; - tstp = it; - nx = mix; - ny = miy; - nw = max - mix + 1; - nh = may - miy + 1; - } - } - var pimg = new Uint8Array(bufs[j - 1 - tstp]); - if (tstp == 1) frms[j - 1].dispose = 2; - nimg = new Uint8Array(nw * nh * 4); - UPNG._copyTile(pimg, w, h, nimg, nw, nh, -nx, -ny, 0); - blend = UPNG._copyTile(cimg, w, h, nimg, nw, nh, -nx, -ny, 3) ? 1 : 0; - if (blend == 1) UPNG.encode._prepareDiff(cimg, w, h, nimg, { x: nx, y: ny, width: nw, height: nh }); - else UPNG._copyTile(cimg, w, h, nimg, nw, nh, -nx, -ny, 0); - } else nimg = cimg.slice(0); - frms.push({ rect: { x: nx, y: ny, width: nw, height: nh }, img: nimg, blend, dispose: 0 }); - } - if (alwaysBlend) for (var j = 0; j < frms.length; j++) { - var frm = frms[j]; - if (frm.blend == 1) continue; - var r0 = frm.rect, r1 = frms[j - 1].rect; - var miX = Math.min(r0.x, r1.x), miY = Math.min(r0.y, r1.y); - var maX = Math.max(r0.x + r0.width, r1.x + r1.width), maY = Math.max(r0.y + r0.height, r1.y + r1.height); - var r = { x: miX, y: miY, width: maX - miX, height: maY - miY }; - frms[j - 1].dispose = 1; - if (j - 1 != 0) - UPNG.encode._updateFrame(bufs, w, h, frms, j - 1, r, evenCrd); - UPNG.encode._updateFrame(bufs, w, h, frms, j, r, evenCrd); - } - var area = 0; - if (bufs.length != 1) for (var i = 0; i < frms.length; i++) { - var frm = frms[i]; - area += frm.rect.width * frm.rect.height; - } - return frms; -}; -UPNG.encode._updateFrame = function(bufs, w, h, frms, i, r, evenCrd) { - var U8 = Uint8Array, U32 = Uint32Array; - var pimg = new U8(bufs[i - 1]), pimg32 = new U32(bufs[i - 1]), nimg = i + 1 < bufs.length ? new U8(bufs[i + 1]) : null; - var cimg = new U8(bufs[i]), cimg32 = new U32(cimg.buffer); - var mix = w, miy = h, max = -1, may = -1; - for (var y = 0; y < r.height; y++) for (var x = 0; x < r.width; x++) { - var cx2 = r.x + x, cy2 = r.y + y; - var j = cy2 * w + cx2, cc = cimg32[j]; - if (cc == 0 || frms[i - 1].dispose == 0 && pimg32[j] == cc && (nimg == null || nimg[j * 4 + 3] != 0)) { - } else { - if (cx2 < mix) mix = cx2; - if (cx2 > max) max = cx2; - if (cy2 < miy) miy = cy2; - if (cy2 > may) may = cy2; - } - } - if (max == -1) mix = miy = max = may = 0; - if (evenCrd) { - if ((mix & 1) == 1) mix--; - if ((miy & 1) == 1) miy--; - } - r = { x: mix, y: miy, width: max - mix + 1, height: may - miy + 1 }; - var fr = frms[i]; - fr.rect = r; - fr.blend = 1; - fr.img = new Uint8Array(r.width * r.height * 4); - if (frms[i - 1].dispose == 0) { - UPNG._copyTile(pimg, w, h, fr.img, r.width, r.height, -r.x, -r.y, 0); - UPNG.encode._prepareDiff(cimg, w, h, fr.img, r); - } else - UPNG._copyTile(cimg, w, h, fr.img, r.width, r.height, -r.x, -r.y, 0); -}; -UPNG.encode._prepareDiff = function(cimg, w, h, nimg, rec) { - UPNG._copyTile(cimg, w, h, nimg, rec.width, rec.height, -rec.x, -rec.y, 2); -}; -UPNG.encode._filterZero = function(img, h, bpp, bpl, data, filter, levelZero) { - var fls = [], ftry = [0, 1, 2, 3, 4]; - if (filter != -1) ftry = [filter]; - else if (h * bpl > 5e5 || bpp == 1) ftry = [0]; - var opts; - if (levelZero) opts = { level: 0 }; - var CMPR = levelZero && UZIP != null ? UZIP : import_pako4.default; - for (var i = 0; i < ftry.length; i++) { - for (var y = 0; y < h; y++) UPNG.encode._filterLine(data, img, y, bpl, bpp, ftry[i]); - fls.push(CMPR["deflate"](data, opts)); - } - var ti, tsize = 1e9; - for (var i = 0; i < fls.length; i++) if (fls[i].length < tsize) { - ti = i; - tsize = fls[i].length; - } - return fls[ti]; -}; -UPNG.encode._filterLine = function(data, img, y, bpl, bpp, type) { - var i = y * bpl, di = i + y, paeth = UPNG.decode._paeth; - data[di] = type; - di++; - if (type == 0) { - if (bpl < 500) for (var x = 0; x < bpl; x++) data[di + x] = img[i + x]; - else data.set(new Uint8Array(img.buffer, i, bpl), di); - } else if (type == 1) { - for (var x = 0; x < bpp; x++) data[di + x] = img[i + x]; - for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x] - img[i + x - bpp] + 256 & 255; - } else if (y == 0) { - for (var x = 0; x < bpp; x++) data[di + x] = img[i + x]; - if (type == 2) for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x]; - if (type == 3) for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x] - (img[i + x - bpp] >> 1) + 256 & 255; - if (type == 4) for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x] - paeth(img[i + x - bpp], 0, 0) + 256 & 255; - } else { - if (type == 2) { - for (var x = 0; x < bpl; x++) data[di + x] = img[i + x] + 256 - img[i + x - bpl] & 255; - } - if (type == 3) { - for (var x = 0; x < bpp; x++) data[di + x] = img[i + x] + 256 - (img[i + x - bpl] >> 1) & 255; - for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x] + 256 - (img[i + x - bpl] + img[i + x - bpp] >> 1) & 255; - } - if (type == 4) { - for (var x = 0; x < bpp; x++) data[di + x] = img[i + x] + 256 - paeth(0, img[i + x - bpl], 0) & 255; - for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x] + 256 - paeth(img[i + x - bpp], img[i + x - bpl], img[i + x - bpp - bpl]) & 255; - } - } -}; -UPNG.crc = { - table: (function() { - var tab = new Uint32Array(256); - for (var n = 0; n < 256; n++) { - var c = n; - for (var k = 0; k < 8; k++) { - if (c & 1) c = 3988292384 ^ c >>> 1; - else c = c >>> 1; - } - tab[n] = c; - } - return tab; - })(), - update: function(c, buf, off, len) { - for (var i = 0; i < len; i++) c = UPNG.crc.table[(c ^ buf[off + i]) & 255] ^ c >>> 8; - return c; - }, - crc: function(b, o, l) { - return UPNG.crc.update(4294967295, b, o, l) ^ 4294967295; - } -}; -UPNG.quantize = function(abuf, ps) { - var oimg = new Uint8Array(abuf), nimg = oimg.slice(0), nimg32 = new Uint32Array(nimg.buffer); - var KD = UPNG.quantize.getKDtree(nimg, ps); - var root = KD[0], leafs = KD[1]; - var planeDst = UPNG.quantize.planeDst; - var sb = oimg, tb = nimg32, len = sb.length; - var inds = new Uint8Array(oimg.length >> 2); - for (var i = 0; i < len; i += 4) { - var r = sb[i] * (1 / 255), g = sb[i + 1] * (1 / 255), b = sb[i + 2] * (1 / 255), a = sb[i + 3] * (1 / 255); - var nd = UPNG.quantize.getNearest(root, r, g, b, a); - inds[i >> 2] = nd.ind; - tb[i >> 2] = nd.est.rgba; - } - return { abuf: nimg.buffer, inds, plte: leafs }; -}; -UPNG.quantize.getKDtree = function(nimg, ps, err) { - if (err == null) err = 1e-4; - var nimg32 = new Uint32Array(nimg.buffer); - var root = { i0: 0, i1: nimg.length, bst: null, est: null, tdst: 0, left: null, right: null }; - root.bst = UPNG.quantize.stats(nimg, root.i0, root.i1); - root.est = UPNG.quantize.estats(root.bst); - var leafs = [root]; - while (leafs.length < ps) { - var maxL = 0, mi = 0; - for (var i = 0; i < leafs.length; i++) if (leafs[i].est.L > maxL) { - maxL = leafs[i].est.L; - mi = i; - } - if (maxL < err) break; - var node = leafs[mi]; - var s0 = UPNG.quantize.splitPixels(nimg, nimg32, node.i0, node.i1, node.est.e, node.est.eMq255); - var s0wrong = node.i0 >= s0 || node.i1 <= s0; - if (s0wrong) { - node.est.L = 0; - continue; - } - var ln = { i0: node.i0, i1: s0, bst: null, est: null, tdst: 0, left: null, right: null }; - ln.bst = UPNG.quantize.stats(nimg, ln.i0, ln.i1); - ln.est = UPNG.quantize.estats(ln.bst); - var rn = { i0: s0, i1: node.i1, bst: null, est: null, tdst: 0, left: null, right: null }; - rn.bst = { R: [], m: [], N: node.bst.N - ln.bst.N }; - for (var i = 0; i < 16; i++) rn.bst.R[i] = node.bst.R[i] - ln.bst.R[i]; - for (var i = 0; i < 4; i++) rn.bst.m[i] = node.bst.m[i] - ln.bst.m[i]; - rn.est = UPNG.quantize.estats(rn.bst); - node.left = ln; - node.right = rn; - leafs[mi] = ln; - leafs.push(rn); - } - leafs.sort(function(a, b) { - return b.bst.N - a.bst.N; - }); - for (var i = 0; i < leafs.length; i++) leafs[i].ind = i; - return [root, leafs]; -}; -UPNG.quantize.getNearest = function(nd, r, g, b, a) { - if (nd.left == null) { - nd.tdst = UPNG.quantize.dist(nd.est.q, r, g, b, a); - return nd; - } - var planeDst = UPNG.quantize.planeDst(nd.est, r, g, b, a); - var node0 = nd.left, node1 = nd.right; - if (planeDst > 0) { - node0 = nd.right; - node1 = nd.left; - } - var ln = UPNG.quantize.getNearest(node0, r, g, b, a); - if (ln.tdst <= planeDst * planeDst) return ln; - var rn = UPNG.quantize.getNearest(node1, r, g, b, a); - return rn.tdst < ln.tdst ? rn : ln; -}; -UPNG.quantize.planeDst = function(est, r, g, b, a) { - var e = est.e; - return e[0] * r + e[1] * g + e[2] * b + e[3] * a - est.eMq; -}; -UPNG.quantize.dist = function(q, r, g, b, a) { - var d0 = r - q[0], d1 = g - q[1], d2 = b - q[2], d3 = a - q[3]; - return d0 * d0 + d1 * d1 + d2 * d2 + d3 * d3; -}; -UPNG.quantize.splitPixels = function(nimg, nimg32, i0, i1, e, eMq) { - var vecDot = UPNG.quantize.vecDot; - i1 -= 4; - var shfs = 0; - while (i0 < i1) { - while (vecDot(nimg, i0, e) <= eMq) i0 += 4; - while (vecDot(nimg, i1, e) > eMq) i1 -= 4; - if (i0 >= i1) break; - var t = nimg32[i0 >> 2]; - nimg32[i0 >> 2] = nimg32[i1 >> 2]; - nimg32[i1 >> 2] = t; - i0 += 4; - i1 -= 4; - } - while (vecDot(nimg, i0, e) > eMq) i0 -= 4; - return i0 + 4; -}; -UPNG.quantize.vecDot = function(nimg, i, e) { - return nimg[i] * e[0] + nimg[i + 1] * e[1] + nimg[i + 2] * e[2] + nimg[i + 3] * e[3]; -}; -UPNG.quantize.stats = function(nimg, i0, i1) { - var R = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; - var m = [0, 0, 0, 0]; - var N = i1 - i0 >> 2; - for (var i = i0; i < i1; i += 4) { - var r = nimg[i] * (1 / 255), g = nimg[i + 1] * (1 / 255), b = nimg[i + 2] * (1 / 255), a = nimg[i + 3] * (1 / 255); - m[0] += r; - m[1] += g; - m[2] += b; - m[3] += a; - R[0] += r * r; - R[1] += r * g; - R[2] += r * b; - R[3] += r * a; - R[5] += g * g; - R[6] += g * b; - R[7] += g * a; - R[10] += b * b; - R[11] += b * a; - R[15] += a * a; - } - R[4] = R[1]; - R[8] = R[2]; - R[9] = R[6]; - R[12] = R[3]; - R[13] = R[7]; - R[14] = R[11]; - return { R, m, N }; -}; -UPNG.quantize.estats = function(stats) { - var R = stats.R, m = stats.m, N = stats.N; - var m0 = m[0], m1 = m[1], m2 = m[2], m3 = m[3], iN = N == 0 ? 0 : 1 / N; - var Rj = [ - R[0] - m0 * m0 * iN, - R[1] - m0 * m1 * iN, - R[2] - m0 * m2 * iN, - R[3] - m0 * m3 * iN, - R[4] - m1 * m0 * iN, - R[5] - m1 * m1 * iN, - R[6] - m1 * m2 * iN, - R[7] - m1 * m3 * iN, - R[8] - m2 * m0 * iN, - R[9] - m2 * m1 * iN, - R[10] - m2 * m2 * iN, - R[11] - m2 * m3 * iN, - R[12] - m3 * m0 * iN, - R[13] - m3 * m1 * iN, - R[14] - m3 * m2 * iN, - R[15] - m3 * m3 * iN - ]; - var A = Rj, M = UPNG.M4; - var b = [0.5, 0.5, 0.5, 0.5], mi = 0, tmi = 0; - if (N != 0) - for (var i = 0; i < 10; i++) { - b = M.multVec(A, b); - tmi = Math.sqrt(M.dot(b, b)); - b = M.sml(1 / tmi, b); - if (Math.abs(tmi - mi) < 1e-9) break; - mi = tmi; - } - var q = [m0 * iN, m1 * iN, m2 * iN, m3 * iN]; - var eMq255 = M.dot(M.sml(255, q), b); - return { - Cov: Rj, - q, - e: b, - L: mi, - eMq255, - eMq: M.dot(b, q), - rgba: (Math.round(255 * q[3]) << 24 | Math.round(255 * q[2]) << 16 | Math.round(255 * q[1]) << 8 | Math.round(255 * q[0]) << 0) >>> 0 - }; -}; -UPNG.M4 = { - multVec: function(m, v) { - return [ - m[0] * v[0] + m[1] * v[1] + m[2] * v[2] + m[3] * v[3], - m[4] * v[0] + m[5] * v[1] + m[6] * v[2] + m[7] * v[3], - m[8] * v[0] + m[9] * v[1] + m[10] * v[2] + m[11] * v[3], - m[12] * v[0] + m[13] * v[1] + m[14] * v[2] + m[15] * v[3] - ]; - }, - dot: function(x, y) { - return x[0] * y[0] + x[1] * y[1] + x[2] * y[2] + x[3] * y[3]; - }, - sml: function(a, y) { - return [a * y[0], a * y[1], a * y[2], a * y[3]]; - } -}; -UPNG.encode.concatRGBA = function(bufs) { - var tlen = 0; - for (var i = 0; i < bufs.length; i++) tlen += bufs[i].byteLength; - var nimg = new Uint8Array(tlen), noff = 0; - for (var i = 0; i < bufs.length; i++) { - var img = new Uint8Array(bufs[i]), il = img.length; - for (var j = 0; j < il; j += 4) { - var r = img[j], g = img[j + 1], b = img[j + 2], a = img[j + 3]; - if (a == 0) r = g = b = 0; - nimg[noff + j] = r; - nimg[noff + j + 1] = g; - nimg[noff + j + 2] = b; - nimg[noff + j + 3] = a; - } - noff += il; - } - return nimg.buffer; -}; -var UPNG_default = UPNG; - -// ../../../node_modules/pdf-lib/es/utils/png.js -var getImageType = function(ctype) { - if (ctype === 0) - return PngType.Greyscale; - if (ctype === 2) - return PngType.Truecolour; - if (ctype === 3) - return PngType.IndexedColour; - if (ctype === 4) - return PngType.GreyscaleWithAlpha; - if (ctype === 6) - return PngType.TruecolourWithAlpha; - throw new Error("Unknown color type: " + ctype); -}; -var splitAlphaChannel = function(rgbaChannel) { - var pixelCount = Math.floor(rgbaChannel.length / 4); - var rgbChannel = new Uint8Array(pixelCount * 3); - var alphaChannel = new Uint8Array(pixelCount * 1); - var rgbaOffset = 0; - var rgbOffset = 0; - var alphaOffset = 0; - while (rgbaOffset < rgbaChannel.length) { - rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++]; - rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++]; - rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++]; - alphaChannel[alphaOffset++] = rgbaChannel[rgbaOffset++]; - } - return { rgbChannel, alphaChannel }; -}; -var PngType; -(function(PngType2) { - PngType2["Greyscale"] = "Greyscale"; - PngType2["Truecolour"] = "Truecolour"; - PngType2["IndexedColour"] = "IndexedColour"; - PngType2["GreyscaleWithAlpha"] = "GreyscaleWithAlpha"; - PngType2["TruecolourWithAlpha"] = "TruecolourWithAlpha"; -})(PngType || (PngType = {})); -var PNG = ( - /** @class */ - (function() { - function PNG2(pngData) { - var upng = UPNG_default.decode(pngData); - var frames = UPNG_default.toRGBA8(upng); - if (frames.length > 1) - throw new Error("Animated PNGs are not supported"); - var frame = new Uint8Array(frames[0]); - var _a = splitAlphaChannel(frame), rgbChannel = _a.rgbChannel, alphaChannel = _a.alphaChannel; - this.rgbChannel = rgbChannel; - var hasAlphaValues = alphaChannel.some(function(a) { - return a < 255; - }); - if (hasAlphaValues) - this.alphaChannel = alphaChannel; - this.type = getImageType(upng.ctype); - this.width = upng.width; - this.height = upng.height; - this.bitsPerComponent = 8; - } - PNG2.load = function(pngData) { - return new PNG2(pngData); - }; - return PNG2; - })() -); - -// ../../../node_modules/pdf-lib/es/core/embedders/PngEmbedder.js -var PngEmbedder = ( - /** @class */ - (function() { - function PngEmbedder2(png) { - this.image = png; - this.bitsPerComponent = png.bitsPerComponent; - this.width = png.width; - this.height = png.height; - this.colorSpace = "DeviceRGB"; - } - PngEmbedder2.for = function(imageData) { - return __awaiter(this, void 0, void 0, function() { - var png; - return __generator(this, function(_a) { - png = PNG.load(imageData); - return [2, new PngEmbedder2(png)]; - }); - }); - }; - PngEmbedder2.prototype.embedIntoContext = function(context, ref) { - return __awaiter(this, void 0, void 0, function() { - var SMask, xObject; - return __generator(this, function(_a) { - SMask = this.embedAlphaChannel(context); - xObject = context.flateStream(this.image.rgbChannel, { - Type: "XObject", - Subtype: "Image", - BitsPerComponent: this.image.bitsPerComponent, - Width: this.image.width, - Height: this.image.height, - ColorSpace: this.colorSpace, - SMask - }); - if (ref) { - context.assign(ref, xObject); - return [2, ref]; - } else { - return [2, context.register(xObject)]; - } - return [ - 2 - /*return*/ - ]; - }); - }); - }; - PngEmbedder2.prototype.embedAlphaChannel = function(context) { - if (!this.image.alphaChannel) - return void 0; - var xObject = context.flateStream(this.image.alphaChannel, { - Type: "XObject", - Subtype: "Image", - Height: this.image.height, - Width: this.image.width, - BitsPerComponent: this.image.bitsPerComponent, - ColorSpace: "DeviceGray", - Decode: [0, 1] - }); - return context.register(xObject); - }; - return PngEmbedder2; - })() -); -var PngEmbedder_default = PngEmbedder; - -// ../../../node_modules/pdf-lib/es/core/streams/Stream.js -var Stream = ( - /** @class */ - (function() { - function Stream2(buffer, start, length) { - this.bytes = buffer; - this.start = start || 0; - this.pos = this.start; - this.end = !!start && !!length ? start + length : this.bytes.length; - } - Object.defineProperty(Stream2.prototype, "length", { - get: function() { - return this.end - this.start; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(Stream2.prototype, "isEmpty", { - get: function() { - return this.length === 0; - }, - enumerable: false, - configurable: true - }); - Stream2.prototype.getByte = function() { - if (this.pos >= this.end) { - return -1; - } - return this.bytes[this.pos++]; - }; - Stream2.prototype.getUint16 = function() { - var b0 = this.getByte(); - var b1 = this.getByte(); - if (b0 === -1 || b1 === -1) { - return -1; - } - return (b0 << 8) + b1; - }; - Stream2.prototype.getInt32 = function() { - var b0 = this.getByte(); - var b1 = this.getByte(); - var b2 = this.getByte(); - var b3 = this.getByte(); - return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3; - }; - Stream2.prototype.getBytes = function(length, forceClamped) { - if (forceClamped === void 0) { - forceClamped = false; - } - var bytes = this.bytes; - var pos = this.pos; - var strEnd = this.end; - if (!length) { - var subarray = bytes.subarray(pos, strEnd); - return forceClamped ? new Uint8ClampedArray(subarray) : subarray; - } else { - var end = pos + length; - if (end > strEnd) { - end = strEnd; - } - this.pos = end; - var subarray = bytes.subarray(pos, end); - return forceClamped ? new Uint8ClampedArray(subarray) : subarray; - } - }; - Stream2.prototype.peekByte = function() { - var peekedByte = this.getByte(); - this.pos--; - return peekedByte; - }; - Stream2.prototype.peekBytes = function(length, forceClamped) { - if (forceClamped === void 0) { - forceClamped = false; - } - var bytes = this.getBytes(length, forceClamped); - this.pos -= bytes.length; - return bytes; - }; - Stream2.prototype.skip = function(n) { - if (!n) { - n = 1; - } - this.pos += n; - }; - Stream2.prototype.reset = function() { - this.pos = this.start; - }; - Stream2.prototype.moveStart = function() { - this.start = this.pos; - }; - Stream2.prototype.makeSubStream = function(start, length) { - return new Stream2(this.bytes, start, length); - }; - Stream2.prototype.decode = function() { - return this.bytes; - }; - return Stream2; - })() -); -var Stream_default = Stream; - -// ../../../node_modules/pdf-lib/es/core/streams/DecodeStream.js -var emptyBuffer = new Uint8Array(0); -var DecodeStream = ( - /** @class */ - (function() { - function DecodeStream2(maybeMinBufferLength) { - this.pos = 0; - this.bufferLength = 0; - this.eof = false; - this.buffer = emptyBuffer; - this.minBufferLength = 512; - if (maybeMinBufferLength) { - while (this.minBufferLength < maybeMinBufferLength) { - this.minBufferLength *= 2; - } - } - } - Object.defineProperty(DecodeStream2.prototype, "isEmpty", { - get: function() { - while (!this.eof && this.bufferLength === 0) { - this.readBlock(); - } - return this.bufferLength === 0; - }, - enumerable: false, - configurable: true - }); - DecodeStream2.prototype.getByte = function() { - var pos = this.pos; - while (this.bufferLength <= pos) { - if (this.eof) { - return -1; - } - this.readBlock(); - } - return this.buffer[this.pos++]; - }; - DecodeStream2.prototype.getUint16 = function() { - var b0 = this.getByte(); - var b1 = this.getByte(); - if (b0 === -1 || b1 === -1) { - return -1; - } - return (b0 << 8) + b1; - }; - DecodeStream2.prototype.getInt32 = function() { - var b0 = this.getByte(); - var b1 = this.getByte(); - var b2 = this.getByte(); - var b3 = this.getByte(); - return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3; - }; - DecodeStream2.prototype.getBytes = function(length, forceClamped) { - if (forceClamped === void 0) { - forceClamped = false; - } - var end; - var pos = this.pos; - if (length) { - this.ensureBuffer(pos + length); - end = pos + length; - while (!this.eof && this.bufferLength < end) { - this.readBlock(); - } - var bufEnd = this.bufferLength; - if (end > bufEnd) { - end = bufEnd; - } - } else { - while (!this.eof) { - this.readBlock(); - } - end = this.bufferLength; - } - this.pos = end; - var subarray = this.buffer.subarray(pos, end); - return forceClamped && !(subarray instanceof Uint8ClampedArray) ? new Uint8ClampedArray(subarray) : subarray; - }; - DecodeStream2.prototype.peekByte = function() { - var peekedByte = this.getByte(); - this.pos--; - return peekedByte; - }; - DecodeStream2.prototype.peekBytes = function(length, forceClamped) { - if (forceClamped === void 0) { - forceClamped = false; - } - var bytes = this.getBytes(length, forceClamped); - this.pos -= bytes.length; - return bytes; - }; - DecodeStream2.prototype.skip = function(n) { - if (!n) { - n = 1; - } - this.pos += n; - }; - DecodeStream2.prototype.reset = function() { - this.pos = 0; - }; - DecodeStream2.prototype.makeSubStream = function(start, length) { - var end = start + length; - while (this.bufferLength <= end && !this.eof) { - this.readBlock(); - } - return new Stream_default( - this.buffer, - start, - length - /* dict */ - ); - }; - DecodeStream2.prototype.decode = function() { - while (!this.eof) - this.readBlock(); - return this.buffer.subarray(0, this.bufferLength); - }; - DecodeStream2.prototype.readBlock = function() { - throw new MethodNotImplementedError(this.constructor.name, "readBlock"); - }; - DecodeStream2.prototype.ensureBuffer = function(requested) { - var buffer = this.buffer; - if (requested <= buffer.byteLength) { - return buffer; - } - var size = this.minBufferLength; - while (size < requested) { - size *= 2; - } - var buffer2 = new Uint8Array(size); - buffer2.set(buffer); - return this.buffer = buffer2; - }; - return DecodeStream2; - })() -); -var DecodeStream_default = DecodeStream; - -// ../../../node_modules/pdf-lib/es/core/streams/Ascii85Stream.js -var isSpace = function(ch) { - return ch === 32 || ch === 9 || ch === 13 || ch === 10; -}; -var Ascii85Stream = ( - /** @class */ - (function(_super) { - __extends(Ascii85Stream2, _super); - function Ascii85Stream2(stream2, maybeLength) { - var _this = _super.call(this, maybeLength) || this; - _this.stream = stream2; - _this.input = new Uint8Array(5); - if (maybeLength) { - maybeLength = 0.8 * maybeLength; - } - return _this; - } - Ascii85Stream2.prototype.readBlock = function() { - var TILDA_CHAR = 126; - var Z_LOWER_CHAR = 122; - var EOF = -1; - var stream2 = this.stream; - var c = stream2.getByte(); - while (isSpace(c)) { - c = stream2.getByte(); - } - if (c === EOF || c === TILDA_CHAR) { - this.eof = true; - return; - } - var bufferLength = this.bufferLength; - var buffer; - var i; - if (c === Z_LOWER_CHAR) { - buffer = this.ensureBuffer(bufferLength + 4); - for (i = 0; i < 4; ++i) { - buffer[bufferLength + i] = 0; - } - this.bufferLength += 4; - } else { - var input = this.input; - input[0] = c; - for (i = 1; i < 5; ++i) { - c = stream2.getByte(); - while (isSpace(c)) { - c = stream2.getByte(); - } - input[i] = c; - if (c === EOF || c === TILDA_CHAR) { - break; - } - } - buffer = this.ensureBuffer(bufferLength + i - 1); - this.bufferLength += i - 1; - if (i < 5) { - for (; i < 5; ++i) { - input[i] = 33 + 84; - } - this.eof = true; - } - var t = 0; - for (i = 0; i < 5; ++i) { - t = t * 85 + (input[i] - 33); - } - for (i = 3; i >= 0; --i) { - buffer[bufferLength + i] = t & 255; - t >>= 8; - } - } - }; - return Ascii85Stream2; - })(DecodeStream_default) -); -var Ascii85Stream_default = Ascii85Stream; - -// ../../../node_modules/pdf-lib/es/core/streams/AsciiHexStream.js -var AsciiHexStream = ( - /** @class */ - (function(_super) { - __extends(AsciiHexStream2, _super); - function AsciiHexStream2(stream2, maybeLength) { - var _this = _super.call(this, maybeLength) || this; - _this.stream = stream2; - _this.firstDigit = -1; - if (maybeLength) { - maybeLength = 0.5 * maybeLength; - } - return _this; - } - AsciiHexStream2.prototype.readBlock = function() { - var UPSTREAM_BLOCK_SIZE = 8e3; - var bytes = this.stream.getBytes(UPSTREAM_BLOCK_SIZE); - if (!bytes.length) { - this.eof = true; - return; - } - var maxDecodeLength = bytes.length + 1 >> 1; - var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength); - var bufferLength = this.bufferLength; - var firstDigit = this.firstDigit; - for (var i = 0, ii = bytes.length; i < ii; i++) { - var ch = bytes[i]; - var digit = void 0; - if (ch >= 48 && ch <= 57) { - digit = ch & 15; - } else if (ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102) { - digit = (ch & 15) + 9; - } else if (ch === 62) { - this.eof = true; - break; - } else { - continue; - } - if (firstDigit < 0) { - firstDigit = digit; - } else { - buffer[bufferLength++] = firstDigit << 4 | digit; - firstDigit = -1; - } - } - if (firstDigit >= 0 && this.eof) { - buffer[bufferLength++] = firstDigit << 4; - firstDigit = -1; - } - this.firstDigit = firstDigit; - this.bufferLength = bufferLength; - }; - return AsciiHexStream2; - })(DecodeStream_default) -); -var AsciiHexStream_default = AsciiHexStream; - -// ../../../node_modules/pdf-lib/es/core/streams/FlateStream.js -var codeLenCodeMap = new Int32Array([ - 16, - 17, - 18, - 0, - 8, - 7, - 9, - 6, - 10, - 5, - 11, - 4, - 12, - 3, - 13, - 2, - 14, - 1, - 15 -]); -var lengthDecode = new Int32Array([ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 65547, - 65549, - 65551, - 65553, - 131091, - 131095, - 131099, - 131103, - 196643, - 196651, - 196659, - 196667, - 262211, - 262227, - 262243, - 262259, - 327811, - 327843, - 327875, - 327907, - 258, - 258, - 258 -]); -var distDecode = new Int32Array([ - 1, - 2, - 3, - 4, - 65541, - 65543, - 131081, - 131085, - 196625, - 196633, - 262177, - 262193, - 327745, - 327777, - 393345, - 393409, - 459009, - 459137, - 524801, - 525057, - 590849, - 591361, - 657409, - 658433, - 724993, - 727041, - 794625, - 798721, - 868353, - 876545 -]); -var fixedLitCodeTab = [new Int32Array([ - 459008, - 524368, - 524304, - 524568, - 459024, - 524400, - 524336, - 590016, - 459016, - 524384, - 524320, - 589984, - 524288, - 524416, - 524352, - 590048, - 459012, - 524376, - 524312, - 589968, - 459028, - 524408, - 524344, - 590032, - 459020, - 524392, - 524328, - 59e4, - 524296, - 524424, - 524360, - 590064, - 459010, - 524372, - 524308, - 524572, - 459026, - 524404, - 524340, - 590024, - 459018, - 524388, - 524324, - 589992, - 524292, - 524420, - 524356, - 590056, - 459014, - 524380, - 524316, - 589976, - 459030, - 524412, - 524348, - 590040, - 459022, - 524396, - 524332, - 590008, - 524300, - 524428, - 524364, - 590072, - 459009, - 524370, - 524306, - 524570, - 459025, - 524402, - 524338, - 590020, - 459017, - 524386, - 524322, - 589988, - 524290, - 524418, - 524354, - 590052, - 459013, - 524378, - 524314, - 589972, - 459029, - 524410, - 524346, - 590036, - 459021, - 524394, - 524330, - 590004, - 524298, - 524426, - 524362, - 590068, - 459011, - 524374, - 524310, - 524574, - 459027, - 524406, - 524342, - 590028, - 459019, - 524390, - 524326, - 589996, - 524294, - 524422, - 524358, - 590060, - 459015, - 524382, - 524318, - 589980, - 459031, - 524414, - 524350, - 590044, - 459023, - 524398, - 524334, - 590012, - 524302, - 524430, - 524366, - 590076, - 459008, - 524369, - 524305, - 524569, - 459024, - 524401, - 524337, - 590018, - 459016, - 524385, - 524321, - 589986, - 524289, - 524417, - 524353, - 590050, - 459012, - 524377, - 524313, - 589970, - 459028, - 524409, - 524345, - 590034, - 459020, - 524393, - 524329, - 590002, - 524297, - 524425, - 524361, - 590066, - 459010, - 524373, - 524309, - 524573, - 459026, - 524405, - 524341, - 590026, - 459018, - 524389, - 524325, - 589994, - 524293, - 524421, - 524357, - 590058, - 459014, - 524381, - 524317, - 589978, - 459030, - 524413, - 524349, - 590042, - 459022, - 524397, - 524333, - 590010, - 524301, - 524429, - 524365, - 590074, - 459009, - 524371, - 524307, - 524571, - 459025, - 524403, - 524339, - 590022, - 459017, - 524387, - 524323, - 589990, - 524291, - 524419, - 524355, - 590054, - 459013, - 524379, - 524315, - 589974, - 459029, - 524411, - 524347, - 590038, - 459021, - 524395, - 524331, - 590006, - 524299, - 524427, - 524363, - 590070, - 459011, - 524375, - 524311, - 524575, - 459027, - 524407, - 524343, - 590030, - 459019, - 524391, - 524327, - 589998, - 524295, - 524423, - 524359, - 590062, - 459015, - 524383, - 524319, - 589982, - 459031, - 524415, - 524351, - 590046, - 459023, - 524399, - 524335, - 590014, - 524303, - 524431, - 524367, - 590078, - 459008, - 524368, - 524304, - 524568, - 459024, - 524400, - 524336, - 590017, - 459016, - 524384, - 524320, - 589985, - 524288, - 524416, - 524352, - 590049, - 459012, - 524376, - 524312, - 589969, - 459028, - 524408, - 524344, - 590033, - 459020, - 524392, - 524328, - 590001, - 524296, - 524424, - 524360, - 590065, - 459010, - 524372, - 524308, - 524572, - 459026, - 524404, - 524340, - 590025, - 459018, - 524388, - 524324, - 589993, - 524292, - 524420, - 524356, - 590057, - 459014, - 524380, - 524316, - 589977, - 459030, - 524412, - 524348, - 590041, - 459022, - 524396, - 524332, - 590009, - 524300, - 524428, - 524364, - 590073, - 459009, - 524370, - 524306, - 524570, - 459025, - 524402, - 524338, - 590021, - 459017, - 524386, - 524322, - 589989, - 524290, - 524418, - 524354, - 590053, - 459013, - 524378, - 524314, - 589973, - 459029, - 524410, - 524346, - 590037, - 459021, - 524394, - 524330, - 590005, - 524298, - 524426, - 524362, - 590069, - 459011, - 524374, - 524310, - 524574, - 459027, - 524406, - 524342, - 590029, - 459019, - 524390, - 524326, - 589997, - 524294, - 524422, - 524358, - 590061, - 459015, - 524382, - 524318, - 589981, - 459031, - 524414, - 524350, - 590045, - 459023, - 524398, - 524334, - 590013, - 524302, - 524430, - 524366, - 590077, - 459008, - 524369, - 524305, - 524569, - 459024, - 524401, - 524337, - 590019, - 459016, - 524385, - 524321, - 589987, - 524289, - 524417, - 524353, - 590051, - 459012, - 524377, - 524313, - 589971, - 459028, - 524409, - 524345, - 590035, - 459020, - 524393, - 524329, - 590003, - 524297, - 524425, - 524361, - 590067, - 459010, - 524373, - 524309, - 524573, - 459026, - 524405, - 524341, - 590027, - 459018, - 524389, - 524325, - 589995, - 524293, - 524421, - 524357, - 590059, - 459014, - 524381, - 524317, - 589979, - 459030, - 524413, - 524349, - 590043, - 459022, - 524397, - 524333, - 590011, - 524301, - 524429, - 524365, - 590075, - 459009, - 524371, - 524307, - 524571, - 459025, - 524403, - 524339, - 590023, - 459017, - 524387, - 524323, - 589991, - 524291, - 524419, - 524355, - 590055, - 459013, - 524379, - 524315, - 589975, - 459029, - 524411, - 524347, - 590039, - 459021, - 524395, - 524331, - 590007, - 524299, - 524427, - 524363, - 590071, - 459011, - 524375, - 524311, - 524575, - 459027, - 524407, - 524343, - 590031, - 459019, - 524391, - 524327, - 589999, - 524295, - 524423, - 524359, - 590063, - 459015, - 524383, - 524319, - 589983, - 459031, - 524415, - 524351, - 590047, - 459023, - 524399, - 524335, - 590015, - 524303, - 524431, - 524367, - 590079 -]), 9]; -var fixedDistCodeTab = [new Int32Array([ - 327680, - 327696, - 327688, - 327704, - 327684, - 327700, - 327692, - 327708, - 327682, - 327698, - 327690, - 327706, - 327686, - 327702, - 327694, - 0, - 327681, - 327697, - 327689, - 327705, - 327685, - 327701, - 327693, - 327709, - 327683, - 327699, - 327691, - 327707, - 327687, - 327703, - 327695, - 0 -]), 5]; -var FlateStream = ( - /** @class */ - (function(_super) { - __extends(FlateStream2, _super); - function FlateStream2(stream2, maybeLength) { - var _this = _super.call(this, maybeLength) || this; - _this.stream = stream2; - var cmf = stream2.getByte(); - var flg = stream2.getByte(); - if (cmf === -1 || flg === -1) { - throw new Error("Invalid header in flate stream: " + cmf + ", " + flg); - } - if ((cmf & 15) !== 8) { - throw new Error("Unknown compression method in flate stream: " + cmf + ", " + flg); - } - if (((cmf << 8) + flg) % 31 !== 0) { - throw new Error("Bad FCHECK in flate stream: " + cmf + ", " + flg); - } - if (flg & 32) { - throw new Error("FDICT bit set in flate stream: " + cmf + ", " + flg); - } - _this.codeSize = 0; - _this.codeBuf = 0; - return _this; - } - FlateStream2.prototype.readBlock = function() { - var buffer; - var len; - var str = this.stream; - var hdr = this.getBits(3); - if (hdr & 1) { - this.eof = true; - } - hdr >>= 1; - if (hdr === 0) { - var b = void 0; - if ((b = str.getByte()) === -1) { - throw new Error("Bad block header in flate stream"); - } - var blockLen = b; - if ((b = str.getByte()) === -1) { - throw new Error("Bad block header in flate stream"); - } - blockLen |= b << 8; - if ((b = str.getByte()) === -1) { - throw new Error("Bad block header in flate stream"); - } - var check = b; - if ((b = str.getByte()) === -1) { - throw new Error("Bad block header in flate stream"); - } - check |= b << 8; - if (check !== (~blockLen & 65535) && (blockLen !== 0 || check !== 0)) { - throw new Error("Bad uncompressed block length in flate stream"); - } - this.codeBuf = 0; - this.codeSize = 0; - var bufferLength = this.bufferLength; - buffer = this.ensureBuffer(bufferLength + blockLen); - var end = bufferLength + blockLen; - this.bufferLength = end; - if (blockLen === 0) { - if (str.peekByte() === -1) { - this.eof = true; - } - } else { - for (var n = bufferLength; n < end; ++n) { - if ((b = str.getByte()) === -1) { - this.eof = true; - break; - } - buffer[n] = b; - } - } - return; - } - var litCodeTable; - var distCodeTable; - if (hdr === 1) { - litCodeTable = fixedLitCodeTab; - distCodeTable = fixedDistCodeTab; - } else if (hdr === 2) { - var numLitCodes = this.getBits(5) + 257; - var numDistCodes = this.getBits(5) + 1; - var numCodeLenCodes = this.getBits(4) + 4; - var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length); - var i = void 0; - for (i = 0; i < numCodeLenCodes; ++i) { - codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3); - } - var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths); - len = 0; - i = 0; - var codes = numLitCodes + numDistCodes; - var codeLengths = new Uint8Array(codes); - var bitsLength = void 0; - var bitsOffset = void 0; - var what = void 0; - while (i < codes) { - var code = this.getCode(codeLenCodeTab); - if (code === 16) { - bitsLength = 2; - bitsOffset = 3; - what = len; - } else if (code === 17) { - bitsLength = 3; - bitsOffset = 3; - what = len = 0; - } else if (code === 18) { - bitsLength = 7; - bitsOffset = 11; - what = len = 0; - } else { - codeLengths[i++] = len = code; - continue; - } - var repeatLength = this.getBits(bitsLength) + bitsOffset; - while (repeatLength-- > 0) { - codeLengths[i++] = what; - } - } - litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes)); - distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes)); - } else { - throw new Error("Unknown block type in flate stream"); - } - buffer = this.buffer; - var limit = buffer ? buffer.length : 0; - var pos = this.bufferLength; - while (true) { - var code1 = this.getCode(litCodeTable); - if (code1 < 256) { - if (pos + 1 >= limit) { - buffer = this.ensureBuffer(pos + 1); - limit = buffer.length; - } - buffer[pos++] = code1; - continue; - } - if (code1 === 256) { - this.bufferLength = pos; - return; - } - code1 -= 257; - code1 = lengthDecode[code1]; - var code2 = code1 >> 16; - if (code2 > 0) { - code2 = this.getBits(code2); - } - len = (code1 & 65535) + code2; - code1 = this.getCode(distCodeTable); - code1 = distDecode[code1]; - code2 = code1 >> 16; - if (code2 > 0) { - code2 = this.getBits(code2); - } - var dist = (code1 & 65535) + code2; - if (pos + len >= limit) { - buffer = this.ensureBuffer(pos + len); - limit = buffer.length; - } - for (var k = 0; k < len; ++k, ++pos) { - buffer[pos] = buffer[pos - dist]; - } - } - }; - FlateStream2.prototype.getBits = function(bits) { - var str = this.stream; - var codeSize = this.codeSize; - var codeBuf = this.codeBuf; - var b; - while (codeSize < bits) { - if ((b = str.getByte()) === -1) { - throw new Error("Bad encoding in flate stream"); - } - codeBuf |= b << codeSize; - codeSize += 8; - } - b = codeBuf & (1 << bits) - 1; - this.codeBuf = codeBuf >> bits; - this.codeSize = codeSize -= bits; - return b; - }; - FlateStream2.prototype.getCode = function(table) { - var str = this.stream; - var codes = table[0]; - var maxLen = table[1]; - var codeSize = this.codeSize; - var codeBuf = this.codeBuf; - var b; - while (codeSize < maxLen) { - if ((b = str.getByte()) === -1) { - break; - } - codeBuf |= b << codeSize; - codeSize += 8; - } - var code = codes[codeBuf & (1 << maxLen) - 1]; - if (typeof codes === "number") { - console.log("FLATE:", code); - } - var codeLen = code >> 16; - var codeVal = code & 65535; - if (codeLen < 1 || codeSize < codeLen) { - throw new Error("Bad encoding in flate stream"); - } - this.codeBuf = codeBuf >> codeLen; - this.codeSize = codeSize - codeLen; - return codeVal; - }; - FlateStream2.prototype.generateHuffmanTable = function(lengths) { - var n = lengths.length; - var maxLen = 0; - var i; - for (i = 0; i < n; ++i) { - if (lengths[i] > maxLen) { - maxLen = lengths[i]; - } - } - var size = 1 << maxLen; - var codes = new Int32Array(size); - for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) { - for (var val = 0; val < n; ++val) { - if (lengths[val] === len) { - var code2 = 0; - var t = code; - for (i = 0; i < len; ++i) { - code2 = code2 << 1 | t & 1; - t >>= 1; - } - for (i = code2; i < size; i += skip) { - codes[i] = len << 16 | val; - } - ++code; - } - } - } - return [codes, maxLen]; - }; - return FlateStream2; - })(DecodeStream_default) -); -var FlateStream_default = FlateStream; - -// ../../../node_modules/pdf-lib/es/core/streams/LZWStream.js -var LZWStream = ( - /** @class */ - (function(_super) { - __extends(LZWStream2, _super); - function LZWStream2(stream2, maybeLength, earlyChange) { - var _this = _super.call(this, maybeLength) || this; - _this.stream = stream2; - _this.cachedData = 0; - _this.bitsCached = 0; - var maxLzwDictionarySize = 4096; - var lzwState = { - earlyChange, - codeLength: 9, - nextCode: 258, - dictionaryValues: new Uint8Array(maxLzwDictionarySize), - dictionaryLengths: new Uint16Array(maxLzwDictionarySize), - dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize), - currentSequence: new Uint8Array(maxLzwDictionarySize), - currentSequenceLength: 0 - }; - for (var i = 0; i < 256; ++i) { - lzwState.dictionaryValues[i] = i; - lzwState.dictionaryLengths[i] = 1; - } - _this.lzwState = lzwState; - return _this; - } - LZWStream2.prototype.readBlock = function() { - var blockSize = 512; - var estimatedDecodedSize = blockSize * 2; - var decodedSizeDelta = blockSize; - var i; - var j; - var q; - var lzwState = this.lzwState; - if (!lzwState) { - return; - } - var earlyChange = lzwState.earlyChange; - var nextCode = lzwState.nextCode; - var dictionaryValues = lzwState.dictionaryValues; - var dictionaryLengths = lzwState.dictionaryLengths; - var dictionaryPrevCodes = lzwState.dictionaryPrevCodes; - var codeLength = lzwState.codeLength; - var prevCode = lzwState.prevCode; - var currentSequence = lzwState.currentSequence; - var currentSequenceLength = lzwState.currentSequenceLength; - var decodedLength = 0; - var currentBufferLength = this.bufferLength; - var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize); - for (i = 0; i < blockSize; i++) { - var code = this.readBits(codeLength); - var hasPrev = currentSequenceLength > 0; - if (!code || code < 256) { - currentSequence[0] = code; - currentSequenceLength = 1; - } else if (code >= 258) { - if (code < nextCode) { - currentSequenceLength = dictionaryLengths[code]; - for (j = currentSequenceLength - 1, q = code; j >= 0; j--) { - currentSequence[j] = dictionaryValues[q]; - q = dictionaryPrevCodes[q]; - } - } else { - currentSequence[currentSequenceLength++] = currentSequence[0]; - } - } else if (code === 256) { - codeLength = 9; - nextCode = 258; - currentSequenceLength = 0; - continue; - } else { - this.eof = true; - delete this.lzwState; - break; - } - if (hasPrev) { - dictionaryPrevCodes[nextCode] = prevCode; - dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1; - dictionaryValues[nextCode] = currentSequence[0]; - nextCode++; - codeLength = nextCode + earlyChange & nextCode + earlyChange - 1 ? codeLength : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0; - } - prevCode = code; - decodedLength += currentSequenceLength; - if (estimatedDecodedSize < decodedLength) { - do { - estimatedDecodedSize += decodedSizeDelta; - } while (estimatedDecodedSize < decodedLength); - buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize); - } - for (j = 0; j < currentSequenceLength; j++) { - buffer[currentBufferLength++] = currentSequence[j]; - } - } - lzwState.nextCode = nextCode; - lzwState.codeLength = codeLength; - lzwState.prevCode = prevCode; - lzwState.currentSequenceLength = currentSequenceLength; - this.bufferLength = currentBufferLength; - }; - LZWStream2.prototype.readBits = function(n) { - var bitsCached = this.bitsCached; - var cachedData = this.cachedData; - while (bitsCached < n) { - var c = this.stream.getByte(); - if (c === -1) { - this.eof = true; - return null; - } - cachedData = cachedData << 8 | c; - bitsCached += 8; - } - this.bitsCached = bitsCached -= n; - this.cachedData = cachedData; - return cachedData >>> bitsCached & (1 << n) - 1; - }; - return LZWStream2; - })(DecodeStream_default) -); -var LZWStream_default = LZWStream; - -// ../../../node_modules/pdf-lib/es/core/streams/RunLengthStream.js -var RunLengthStream = ( - /** @class */ - (function(_super) { - __extends(RunLengthStream2, _super); - function RunLengthStream2(stream2, maybeLength) { - var _this = _super.call(this, maybeLength) || this; - _this.stream = stream2; - return _this; - } - RunLengthStream2.prototype.readBlock = function() { - var repeatHeader = this.stream.getBytes(2); - if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) { - this.eof = true; - return; - } - var buffer; - var bufferLength = this.bufferLength; - var n = repeatHeader[0]; - if (n < 128) { - buffer = this.ensureBuffer(bufferLength + n + 1); - buffer[bufferLength++] = repeatHeader[1]; - if (n > 0) { - var source = this.stream.getBytes(n); - buffer.set(source, bufferLength); - bufferLength += n; - } - } else { - n = 257 - n; - var b = repeatHeader[1]; - buffer = this.ensureBuffer(bufferLength + n + 1); - for (var i = 0; i < n; i++) { - buffer[bufferLength++] = b; - } - } - this.bufferLength = bufferLength; - }; - return RunLengthStream2; - })(DecodeStream_default) -); -var RunLengthStream_default = RunLengthStream; - -// ../../../node_modules/pdf-lib/es/core/streams/decode.js -var decodeStream = function(stream2, encoding, params) { - if (encoding === PDFName_default.of("FlateDecode")) { - return new FlateStream_default(stream2); - } - if (encoding === PDFName_default.of("LZWDecode")) { - var earlyChange = 1; - if (params instanceof PDFDict_default) { - var EarlyChange = params.lookup(PDFName_default.of("EarlyChange")); - if (EarlyChange instanceof PDFNumber_default) { - earlyChange = EarlyChange.asNumber(); - } - } - return new LZWStream_default(stream2, void 0, earlyChange); - } - if (encoding === PDFName_default.of("ASCII85Decode")) { - return new Ascii85Stream_default(stream2); - } - if (encoding === PDFName_default.of("ASCIIHexDecode")) { - return new AsciiHexStream_default(stream2); - } - if (encoding === PDFName_default.of("RunLengthDecode")) { - return new RunLengthStream_default(stream2); - } - throw new UnsupportedEncodingError(encoding.asString()); -}; -var decodePDFRawStream = function(_a) { - var dict = _a.dict, contents = _a.contents; - var stream2 = new Stream_default(contents); - var Filter = dict.lookup(PDFName_default.of("Filter")); - var DecodeParms = dict.lookup(PDFName_default.of("DecodeParms")); - if (Filter instanceof PDFName_default) { - stream2 = decodeStream(stream2, Filter, DecodeParms); - } else if (Filter instanceof PDFArray_default) { - for (var idx = 0, len = Filter.size(); idx < len; idx++) { - stream2 = decodeStream(stream2, Filter.lookup(idx, PDFName_default), DecodeParms && DecodeParms.lookupMaybe(idx, PDFDict_default)); - } - } else if (!!Filter) { - throw new UnexpectedObjectTypeError([PDFName_default, PDFArray_default], Filter); - } - return stream2; -}; - -// ../../../node_modules/pdf-lib/es/core/embedders/PDFPageEmbedder.js -var fullPageBoundingBox = function(page) { - var mediaBox = page.MediaBox(); - var width = mediaBox.lookup(2, PDFNumber_default).asNumber() - mediaBox.lookup(0, PDFNumber_default).asNumber(); - var height = mediaBox.lookup(3, PDFNumber_default).asNumber() - mediaBox.lookup(1, PDFNumber_default).asNumber(); - return { left: 0, bottom: 0, right: width, top: height }; -}; -var boundingBoxAdjustedMatrix = function(bb) { - return [1, 0, 0, 1, -bb.left, -bb.bottom]; -}; -var PDFPageEmbedder = ( - /** @class */ - (function() { - function PDFPageEmbedder2(page, boundingBox, transformationMatrix) { - this.page = page; - var bb = boundingBox !== null && boundingBox !== void 0 ? boundingBox : fullPageBoundingBox(page); - this.width = bb.right - bb.left; - this.height = bb.top - bb.bottom; - this.boundingBox = bb; - this.transformationMatrix = transformationMatrix !== null && transformationMatrix !== void 0 ? transformationMatrix : boundingBoxAdjustedMatrix(bb); - } - PDFPageEmbedder2.for = function(page, boundingBox, transformationMatrix) { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - return [2, new PDFPageEmbedder2(page, boundingBox, transformationMatrix)]; - }); - }); - }; - PDFPageEmbedder2.prototype.embedIntoContext = function(context, ref) { - return __awaiter(this, void 0, void 0, function() { - var _a, Contents, Resources, decodedContents, _b, left, bottom, right, top, xObject; - return __generator(this, function(_c) { - _a = this.page.normalizedEntries(), Contents = _a.Contents, Resources = _a.Resources; - if (!Contents) - throw new MissingPageContentsEmbeddingError(); - decodedContents = this.decodeContents(Contents); - _b = this.boundingBox, left = _b.left, bottom = _b.bottom, right = _b.right, top = _b.top; - xObject = context.flateStream(decodedContents, { - Type: "XObject", - Subtype: "Form", - FormType: 1, - BBox: [left, bottom, right, top], - Matrix: this.transformationMatrix, - Resources - }); - if (ref) { - context.assign(ref, xObject); - return [2, ref]; - } else { - return [2, context.register(xObject)]; - } - return [ - 2 - /*return*/ - ]; - }); - }); - }; - PDFPageEmbedder2.prototype.decodeContents = function(contents) { - var newline = Uint8Array.of(CharCodes_default.Newline); - var decodedContents = []; - for (var idx = 0, len = contents.size(); idx < len; idx++) { - var stream2 = contents.lookup(idx, PDFStream_default); - var content = void 0; - if (stream2 instanceof PDFRawStream_default) { - content = decodePDFRawStream(stream2).decode(); - } else if (stream2 instanceof PDFContentStream_default) { - content = stream2.getUnencodedContents(); - } else { - throw new UnrecognizedStreamTypeError(stream2); - } - decodedContents.push(content, newline); - } - return mergeIntoTypedArray.apply(void 0, decodedContents); - }; - return PDFPageEmbedder2; - })() -); -var PDFPageEmbedder_default = PDFPageEmbedder; - -// ../../../node_modules/pdf-lib/es/core/interactive/ViewerPreferences.js -var asEnum = function(rawValue, enumType) { - if (rawValue === void 0) - return void 0; - return enumType[rawValue]; -}; -var NonFullScreenPageMode; -(function(NonFullScreenPageMode2) { - NonFullScreenPageMode2["UseNone"] = "UseNone"; - NonFullScreenPageMode2["UseOutlines"] = "UseOutlines"; - NonFullScreenPageMode2["UseThumbs"] = "UseThumbs"; - NonFullScreenPageMode2["UseOC"] = "UseOC"; -})(NonFullScreenPageMode || (NonFullScreenPageMode = {})); -var ReadingDirection; -(function(ReadingDirection2) { - ReadingDirection2["L2R"] = "L2R"; - ReadingDirection2["R2L"] = "R2L"; -})(ReadingDirection || (ReadingDirection = {})); -var PrintScaling; -(function(PrintScaling2) { - PrintScaling2["None"] = "None"; - PrintScaling2["AppDefault"] = "AppDefault"; -})(PrintScaling || (PrintScaling = {})); -var Duplex; -(function(Duplex2) { - Duplex2["Simplex"] = "Simplex"; - Duplex2["DuplexFlipShortEdge"] = "DuplexFlipShortEdge"; - Duplex2["DuplexFlipLongEdge"] = "DuplexFlipLongEdge"; -})(Duplex || (Duplex = {})); -var ViewerPreferences = ( - /** @class */ - (function() { - function ViewerPreferences2(dict) { - this.dict = dict; - } - ViewerPreferences2.prototype.lookupBool = function(key) { - var returnObj = this.dict.lookup(PDFName_default.of(key)); - if (returnObj instanceof PDFBool_default) - return returnObj; - return void 0; - }; - ViewerPreferences2.prototype.lookupName = function(key) { - var returnObj = this.dict.lookup(PDFName_default.of(key)); - if (returnObj instanceof PDFName_default) - return returnObj; - return void 0; - }; - ViewerPreferences2.prototype.HideToolbar = function() { - return this.lookupBool("HideToolbar"); - }; - ViewerPreferences2.prototype.HideMenubar = function() { - return this.lookupBool("HideMenubar"); - }; - ViewerPreferences2.prototype.HideWindowUI = function() { - return this.lookupBool("HideWindowUI"); - }; - ViewerPreferences2.prototype.FitWindow = function() { - return this.lookupBool("FitWindow"); - }; - ViewerPreferences2.prototype.CenterWindow = function() { - return this.lookupBool("CenterWindow"); - }; - ViewerPreferences2.prototype.DisplayDocTitle = function() { - return this.lookupBool("DisplayDocTitle"); - }; - ViewerPreferences2.prototype.NonFullScreenPageMode = function() { - return this.lookupName("NonFullScreenPageMode"); - }; - ViewerPreferences2.prototype.Direction = function() { - return this.lookupName("Direction"); - }; - ViewerPreferences2.prototype.PrintScaling = function() { - return this.lookupName("PrintScaling"); - }; - ViewerPreferences2.prototype.Duplex = function() { - return this.lookupName("Duplex"); - }; - ViewerPreferences2.prototype.PickTrayByPDFSize = function() { - return this.lookupBool("PickTrayByPDFSize"); - }; - ViewerPreferences2.prototype.PrintPageRange = function() { - var PrintPageRange = this.dict.lookup(PDFName_default.of("PrintPageRange")); - if (PrintPageRange instanceof PDFArray_default) - return PrintPageRange; - return void 0; - }; - ViewerPreferences2.prototype.NumCopies = function() { - var NumCopies = this.dict.lookup(PDFName_default.of("NumCopies")); - if (NumCopies instanceof PDFNumber_default) - return NumCopies; - return void 0; - }; - ViewerPreferences2.prototype.getHideToolbar = function() { - var _a, _b; - return (_b = (_a = this.HideToolbar()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; - }; - ViewerPreferences2.prototype.getHideMenubar = function() { - var _a, _b; - return (_b = (_a = this.HideMenubar()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; - }; - ViewerPreferences2.prototype.getHideWindowUI = function() { - var _a, _b; - return (_b = (_a = this.HideWindowUI()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; - }; - ViewerPreferences2.prototype.getFitWindow = function() { - var _a, _b; - return (_b = (_a = this.FitWindow()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; - }; - ViewerPreferences2.prototype.getCenterWindow = function() { - var _a, _b; - return (_b = (_a = this.CenterWindow()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; - }; - ViewerPreferences2.prototype.getDisplayDocTitle = function() { - var _a, _b; - return (_b = (_a = this.DisplayDocTitle()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; - }; - ViewerPreferences2.prototype.getNonFullScreenPageMode = function() { - var _a, _b; - var mode = (_a = this.NonFullScreenPageMode()) === null || _a === void 0 ? void 0 : _a.decodeText(); - return (_b = asEnum(mode, NonFullScreenPageMode)) !== null && _b !== void 0 ? _b : NonFullScreenPageMode.UseNone; - }; - ViewerPreferences2.prototype.getReadingDirection = function() { - var _a, _b; - var direction = (_a = this.Direction()) === null || _a === void 0 ? void 0 : _a.decodeText(); - return (_b = asEnum(direction, ReadingDirection)) !== null && _b !== void 0 ? _b : ReadingDirection.L2R; - }; - ViewerPreferences2.prototype.getPrintScaling = function() { - var _a, _b; - var scaling = (_a = this.PrintScaling()) === null || _a === void 0 ? void 0 : _a.decodeText(); - return (_b = asEnum(scaling, PrintScaling)) !== null && _b !== void 0 ? _b : PrintScaling.AppDefault; - }; - ViewerPreferences2.prototype.getDuplex = function() { - var _a; - var duplex = (_a = this.Duplex()) === null || _a === void 0 ? void 0 : _a.decodeText(); - return asEnum(duplex, Duplex); - }; - ViewerPreferences2.prototype.getPickTrayByPDFSize = function() { - var _a; - return (_a = this.PickTrayByPDFSize()) === null || _a === void 0 ? void 0 : _a.asBoolean(); - }; - ViewerPreferences2.prototype.getPrintPageRange = function() { - var rng = this.PrintPageRange(); - if (!rng) - return []; - var pageRanges = []; - for (var i = 0; i < rng.size(); i += 2) { - var start = rng.lookup(i, PDFNumber_default).asNumber(); - var end = rng.lookup(i + 1, PDFNumber_default).asNumber(); - pageRanges.push({ start, end }); - } - return pageRanges; - }; - ViewerPreferences2.prototype.getNumCopies = function() { - var _a, _b; - return (_b = (_a = this.NumCopies()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 1; - }; - ViewerPreferences2.prototype.setHideToolbar = function(hideToolbar) { - var HideToolbar = this.dict.context.obj(hideToolbar); - this.dict.set(PDFName_default.of("HideToolbar"), HideToolbar); - }; - ViewerPreferences2.prototype.setHideMenubar = function(hideMenubar) { - var HideMenubar = this.dict.context.obj(hideMenubar); - this.dict.set(PDFName_default.of("HideMenubar"), HideMenubar); - }; - ViewerPreferences2.prototype.setHideWindowUI = function(hideWindowUI) { - var HideWindowUI = this.dict.context.obj(hideWindowUI); - this.dict.set(PDFName_default.of("HideWindowUI"), HideWindowUI); - }; - ViewerPreferences2.prototype.setFitWindow = function(fitWindow) { - var FitWindow = this.dict.context.obj(fitWindow); - this.dict.set(PDFName_default.of("FitWindow"), FitWindow); - }; - ViewerPreferences2.prototype.setCenterWindow = function(centerWindow) { - var CenterWindow = this.dict.context.obj(centerWindow); - this.dict.set(PDFName_default.of("CenterWindow"), CenterWindow); - }; - ViewerPreferences2.prototype.setDisplayDocTitle = function(displayTitle) { - var DisplayDocTitle = this.dict.context.obj(displayTitle); - this.dict.set(PDFName_default.of("DisplayDocTitle"), DisplayDocTitle); - }; - ViewerPreferences2.prototype.setNonFullScreenPageMode = function(nonFullScreenPageMode) { - assertIsOneOf(nonFullScreenPageMode, "nonFullScreenPageMode", NonFullScreenPageMode); - var mode = PDFName_default.of(nonFullScreenPageMode); - this.dict.set(PDFName_default.of("NonFullScreenPageMode"), mode); - }; - ViewerPreferences2.prototype.setReadingDirection = function(readingDirection) { - assertIsOneOf(readingDirection, "readingDirection", ReadingDirection); - var direction = PDFName_default.of(readingDirection); - this.dict.set(PDFName_default.of("Direction"), direction); - }; - ViewerPreferences2.prototype.setPrintScaling = function(printScaling) { - assertIsOneOf(printScaling, "printScaling", PrintScaling); - var scaling = PDFName_default.of(printScaling); - this.dict.set(PDFName_default.of("PrintScaling"), scaling); - }; - ViewerPreferences2.prototype.setDuplex = function(duplex) { - assertIsOneOf(duplex, "duplex", Duplex); - var dup = PDFName_default.of(duplex); - this.dict.set(PDFName_default.of("Duplex"), dup); - }; - ViewerPreferences2.prototype.setPickTrayByPDFSize = function(pickTrayByPDFSize) { - var PickTrayByPDFSize = this.dict.context.obj(pickTrayByPDFSize); - this.dict.set(PDFName_default.of("PickTrayByPDFSize"), PickTrayByPDFSize); - }; - ViewerPreferences2.prototype.setPrintPageRange = function(printPageRange) { - if (!Array.isArray(printPageRange)) - printPageRange = [printPageRange]; - var flatRange = []; - for (var idx = 0, len = printPageRange.length; idx < len; idx++) { - flatRange.push(printPageRange[idx].start); - flatRange.push(printPageRange[idx].end); - } - assertEachIs(flatRange, "printPageRange", ["number"]); - var pageRanges = this.dict.context.obj(flatRange); - this.dict.set(PDFName_default.of("PrintPageRange"), pageRanges); - }; - ViewerPreferences2.prototype.setNumCopies = function(numCopies) { - assertRange(numCopies, "numCopies", 1, Number.MAX_VALUE); - assertInteger(numCopies, "numCopies"); - var NumCopies = this.dict.context.obj(numCopies); - this.dict.set(PDFName_default.of("NumCopies"), NumCopies); - }; - ViewerPreferences2.fromDict = function(dict) { - return new ViewerPreferences2(dict); - }; - ViewerPreferences2.create = function(context) { - var dict = context.obj({}); - return new ViewerPreferences2(dict); - }; - return ViewerPreferences2; - })() -); -var ViewerPreferences_default = ViewerPreferences; - -// ../../../node_modules/pdf-lib/es/core/acroform/PDFAcroField.js -var tfRegex = /\/([^\0\t\n\f\r\ ]+)[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]+Tf/; -var PDFAcroField = ( - /** @class */ - (function() { - function PDFAcroField2(dict, ref) { - this.dict = dict; - this.ref = ref; - } - PDFAcroField2.prototype.T = function() { - return this.dict.lookupMaybe(PDFName_default.of("T"), PDFString_default, PDFHexString_default); - }; - PDFAcroField2.prototype.Ff = function() { - var numberOrRef = this.getInheritableAttribute(PDFName_default.of("Ff")); - return this.dict.context.lookupMaybe(numberOrRef, PDFNumber_default); - }; - PDFAcroField2.prototype.V = function() { - var valueOrRef = this.getInheritableAttribute(PDFName_default.of("V")); - return this.dict.context.lookup(valueOrRef); - }; - PDFAcroField2.prototype.Kids = function() { - return this.dict.lookupMaybe(PDFName_default.of("Kids"), PDFArray_default); - }; - PDFAcroField2.prototype.DA = function() { - var da = this.dict.lookup(PDFName_default.of("DA")); - if (da instanceof PDFString_default || da instanceof PDFHexString_default) - return da; - return void 0; - }; - PDFAcroField2.prototype.setKids = function(kids) { - this.dict.set(PDFName_default.of("Kids"), this.dict.context.obj(kids)); - }; - PDFAcroField2.prototype.getParent = function() { - var parentRef = this.dict.get(PDFName_default.of("Parent")); - if (parentRef instanceof PDFRef_default) { - var parent_1 = this.dict.lookup(PDFName_default.of("Parent"), PDFDict_default); - return new PDFAcroField2(parent_1, parentRef); - } - return void 0; - }; - PDFAcroField2.prototype.setParent = function(parent) { - if (!parent) - this.dict.delete(PDFName_default.of("Parent")); - else - this.dict.set(PDFName_default.of("Parent"), parent); - }; - PDFAcroField2.prototype.getFullyQualifiedName = function() { - var parent = this.getParent(); - if (!parent) - return this.getPartialName(); - return parent.getFullyQualifiedName() + "." + this.getPartialName(); - }; - PDFAcroField2.prototype.getPartialName = function() { - var _a; - return (_a = this.T()) === null || _a === void 0 ? void 0 : _a.decodeText(); - }; - PDFAcroField2.prototype.setPartialName = function(partialName) { - if (!partialName) - this.dict.delete(PDFName_default.of("T")); - else - this.dict.set(PDFName_default.of("T"), PDFHexString_default.fromText(partialName)); - }; - PDFAcroField2.prototype.setDefaultAppearance = function(appearance) { - this.dict.set(PDFName_default.of("DA"), PDFString_default.of(appearance)); - }; - PDFAcroField2.prototype.getDefaultAppearance = function() { - var DA = this.DA(); - if (DA instanceof PDFHexString_default) { - return DA.decodeText(); - } - return DA === null || DA === void 0 ? void 0 : DA.asString(); - }; - PDFAcroField2.prototype.setFontSize = function(fontSize) { - var _a; - var name = (_a = this.getFullyQualifiedName()) !== null && _a !== void 0 ? _a : ""; - var da = this.getDefaultAppearance(); - if (!da) - throw new MissingDAEntryError(name); - var daMatch = findLastMatch(da, tfRegex); - if (!daMatch.match) - throw new MissingTfOperatorError(name); - var daStart = da.slice(0, daMatch.pos - daMatch.match[0].length); - var daEnd = daMatch.pos <= da.length ? da.slice(daMatch.pos) : ""; - var fontName = daMatch.match[1]; - var modifiedDa = daStart + " /" + fontName + " " + fontSize + " Tf " + daEnd; - this.setDefaultAppearance(modifiedDa); - }; - PDFAcroField2.prototype.getFlags = function() { - var _a, _b; - return (_b = (_a = this.Ff()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 0; - }; - PDFAcroField2.prototype.setFlags = function(flags) { - this.dict.set(PDFName_default.of("Ff"), PDFNumber_default.of(flags)); - }; - PDFAcroField2.prototype.hasFlag = function(flag3) { - var flags = this.getFlags(); - return (flags & flag3) !== 0; - }; - PDFAcroField2.prototype.setFlag = function(flag3) { - var flags = this.getFlags(); - this.setFlags(flags | flag3); - }; - PDFAcroField2.prototype.clearFlag = function(flag3) { - var flags = this.getFlags(); - this.setFlags(flags & ~flag3); - }; - PDFAcroField2.prototype.setFlagTo = function(flag3, enable) { - if (enable) - this.setFlag(flag3); - else - this.clearFlag(flag3); - }; - PDFAcroField2.prototype.getInheritableAttribute = function(name) { - var attribute; - this.ascend(function(node) { - if (!attribute) - attribute = node.dict.get(name); - }); - return attribute; - }; - PDFAcroField2.prototype.ascend = function(visitor) { - visitor(this); - var parent = this.getParent(); - if (parent) - parent.ascend(visitor); - }; - return PDFAcroField2; - })() -); -var PDFAcroField_default = PDFAcroField; - -// ../../../node_modules/pdf-lib/es/core/annotation/BorderStyle.js -var BorderStyle = ( - /** @class */ - (function() { - function BorderStyle2(dict) { - this.dict = dict; - } - BorderStyle2.prototype.W = function() { - var W = this.dict.lookup(PDFName_default.of("W")); - if (W instanceof PDFNumber_default) - return W; - return void 0; - }; - BorderStyle2.prototype.getWidth = function() { - var _a, _b; - return (_b = (_a = this.W()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 1; - }; - BorderStyle2.prototype.setWidth = function(width) { - var W = this.dict.context.obj(width); - this.dict.set(PDFName_default.of("W"), W); - }; - BorderStyle2.fromDict = function(dict) { - return new BorderStyle2(dict); - }; - return BorderStyle2; - })() -); -var BorderStyle_default = BorderStyle; - -// ../../../node_modules/pdf-lib/es/core/annotation/PDFAnnotation.js -var PDFAnnotation = ( - /** @class */ - (function() { - function PDFAnnotation2(dict) { - this.dict = dict; - } - PDFAnnotation2.prototype.Rect = function() { - return this.dict.lookup(PDFName_default.of("Rect"), PDFArray_default); - }; - PDFAnnotation2.prototype.AP = function() { - return this.dict.lookupMaybe(PDFName_default.of("AP"), PDFDict_default); - }; - PDFAnnotation2.prototype.F = function() { - var numberOrRef = this.dict.lookup(PDFName_default.of("F")); - return this.dict.context.lookupMaybe(numberOrRef, PDFNumber_default); - }; - PDFAnnotation2.prototype.getRectangle = function() { - var _a; - var Rect = this.Rect(); - return (_a = Rect === null || Rect === void 0 ? void 0 : Rect.asRectangle()) !== null && _a !== void 0 ? _a : { x: 0, y: 0, width: 0, height: 0 }; - }; - PDFAnnotation2.prototype.setRectangle = function(rect) { - var x = rect.x, y = rect.y, width = rect.width, height = rect.height; - var Rect = this.dict.context.obj([x, y, x + width, y + height]); - this.dict.set(PDFName_default.of("Rect"), Rect); - }; - PDFAnnotation2.prototype.getAppearanceState = function() { - var AS = this.dict.lookup(PDFName_default.of("AS")); - if (AS instanceof PDFName_default) - return AS; - return void 0; - }; - PDFAnnotation2.prototype.setAppearanceState = function(state) { - this.dict.set(PDFName_default.of("AS"), state); - }; - PDFAnnotation2.prototype.setAppearances = function(appearances) { - this.dict.set(PDFName_default.of("AP"), appearances); - }; - PDFAnnotation2.prototype.ensureAP = function() { - var AP = this.AP(); - if (!AP) { - AP = this.dict.context.obj({}); - this.dict.set(PDFName_default.of("AP"), AP); - } - return AP; - }; - PDFAnnotation2.prototype.getNormalAppearance = function() { - var AP = this.ensureAP(); - var N = AP.get(PDFName_default.of("N")); - if (N instanceof PDFRef_default || N instanceof PDFDict_default) - return N; - throw new Error("Unexpected N type: " + (N === null || N === void 0 ? void 0 : N.constructor.name)); - }; - PDFAnnotation2.prototype.setNormalAppearance = function(appearance) { - var AP = this.ensureAP(); - AP.set(PDFName_default.of("N"), appearance); - }; - PDFAnnotation2.prototype.setRolloverAppearance = function(appearance) { - var AP = this.ensureAP(); - AP.set(PDFName_default.of("R"), appearance); - }; - PDFAnnotation2.prototype.setDownAppearance = function(appearance) { - var AP = this.ensureAP(); - AP.set(PDFName_default.of("D"), appearance); - }; - PDFAnnotation2.prototype.removeRolloverAppearance = function() { - var AP = this.AP(); - AP === null || AP === void 0 ? void 0 : AP.delete(PDFName_default.of("R")); - }; - PDFAnnotation2.prototype.removeDownAppearance = function() { - var AP = this.AP(); - AP === null || AP === void 0 ? void 0 : AP.delete(PDFName_default.of("D")); - }; - PDFAnnotation2.prototype.getAppearances = function() { - var AP = this.AP(); - if (!AP) - return void 0; - var N = AP.lookup(PDFName_default.of("N"), PDFDict_default, PDFStream_default); - var R = AP.lookupMaybe(PDFName_default.of("R"), PDFDict_default, PDFStream_default); - var D = AP.lookupMaybe(PDFName_default.of("D"), PDFDict_default, PDFStream_default); - return { normal: N, rollover: R, down: D }; - }; - PDFAnnotation2.prototype.getFlags = function() { - var _a, _b; - return (_b = (_a = this.F()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 0; - }; - PDFAnnotation2.prototype.setFlags = function(flags) { - this.dict.set(PDFName_default.of("F"), PDFNumber_default.of(flags)); - }; - PDFAnnotation2.prototype.hasFlag = function(flag3) { - var flags = this.getFlags(); - return (flags & flag3) !== 0; - }; - PDFAnnotation2.prototype.setFlag = function(flag3) { - var flags = this.getFlags(); - this.setFlags(flags | flag3); - }; - PDFAnnotation2.prototype.clearFlag = function(flag3) { - var flags = this.getFlags(); - this.setFlags(flags & ~flag3); - }; - PDFAnnotation2.prototype.setFlagTo = function(flag3, enable) { - if (enable) - this.setFlag(flag3); - else - this.clearFlag(flag3); - }; - PDFAnnotation2.fromDict = function(dict) { - return new PDFAnnotation2(dict); - }; - return PDFAnnotation2; - })() -); -var PDFAnnotation_default = PDFAnnotation; - -// ../../../node_modules/pdf-lib/es/core/annotation/AppearanceCharacteristics.js -var AppearanceCharacteristics = ( - /** @class */ - (function() { - function AppearanceCharacteristics2(dict) { - this.dict = dict; - } - AppearanceCharacteristics2.prototype.R = function() { - var R = this.dict.lookup(PDFName_default.of("R")); - if (R instanceof PDFNumber_default) - return R; - return void 0; - }; - AppearanceCharacteristics2.prototype.BC = function() { - var BC = this.dict.lookup(PDFName_default.of("BC")); - if (BC instanceof PDFArray_default) - return BC; - return void 0; - }; - AppearanceCharacteristics2.prototype.BG = function() { - var BG = this.dict.lookup(PDFName_default.of("BG")); - if (BG instanceof PDFArray_default) - return BG; - return void 0; - }; - AppearanceCharacteristics2.prototype.CA = function() { - var CA = this.dict.lookup(PDFName_default.of("CA")); - if (CA instanceof PDFHexString_default || CA instanceof PDFString_default) - return CA; - return void 0; - }; - AppearanceCharacteristics2.prototype.RC = function() { - var RC = this.dict.lookup(PDFName_default.of("RC")); - if (RC instanceof PDFHexString_default || RC instanceof PDFString_default) - return RC; - return void 0; - }; - AppearanceCharacteristics2.prototype.AC = function() { - var AC = this.dict.lookup(PDFName_default.of("AC")); - if (AC instanceof PDFHexString_default || AC instanceof PDFString_default) - return AC; - return void 0; - }; - AppearanceCharacteristics2.prototype.getRotation = function() { - var _a; - return (_a = this.R()) === null || _a === void 0 ? void 0 : _a.asNumber(); - }; - AppearanceCharacteristics2.prototype.getBorderColor = function() { - var BC = this.BC(); - if (!BC) - return void 0; - var components = []; - for (var idx = 0, len = BC === null || BC === void 0 ? void 0 : BC.size(); idx < len; idx++) { - var component = BC.get(idx); - if (component instanceof PDFNumber_default) - components.push(component.asNumber()); - } - return components; - }; - AppearanceCharacteristics2.prototype.getBackgroundColor = function() { - var BG = this.BG(); - if (!BG) - return void 0; - var components = []; - for (var idx = 0, len = BG === null || BG === void 0 ? void 0 : BG.size(); idx < len; idx++) { - var component = BG.get(idx); - if (component instanceof PDFNumber_default) - components.push(component.asNumber()); - } - return components; - }; - AppearanceCharacteristics2.prototype.getCaptions = function() { - var CA = this.CA(); - var RC = this.RC(); - var AC = this.AC(); - return { - normal: CA === null || CA === void 0 ? void 0 : CA.decodeText(), - rollover: RC === null || RC === void 0 ? void 0 : RC.decodeText(), - down: AC === null || AC === void 0 ? void 0 : AC.decodeText() - }; - }; - AppearanceCharacteristics2.prototype.setRotation = function(rotation) { - var R = this.dict.context.obj(rotation); - this.dict.set(PDFName_default.of("R"), R); - }; - AppearanceCharacteristics2.prototype.setBorderColor = function(color) { - var BC = this.dict.context.obj(color); - this.dict.set(PDFName_default.of("BC"), BC); - }; - AppearanceCharacteristics2.prototype.setBackgroundColor = function(color) { - var BG = this.dict.context.obj(color); - this.dict.set(PDFName_default.of("BG"), BG); - }; - AppearanceCharacteristics2.prototype.setCaptions = function(captions) { - var CA = PDFHexString_default.fromText(captions.normal); - this.dict.set(PDFName_default.of("CA"), CA); - if (captions.rollover) { - var RC = PDFHexString_default.fromText(captions.rollover); - this.dict.set(PDFName_default.of("RC"), RC); - } else { - this.dict.delete(PDFName_default.of("RC")); - } - if (captions.down) { - var AC = PDFHexString_default.fromText(captions.down); - this.dict.set(PDFName_default.of("AC"), AC); - } else { - this.dict.delete(PDFName_default.of("AC")); - } - }; - AppearanceCharacteristics2.fromDict = function(dict) { - return new AppearanceCharacteristics2(dict); - }; - return AppearanceCharacteristics2; - })() -); -var AppearanceCharacteristics_default = AppearanceCharacteristics; - -// ../../../node_modules/pdf-lib/es/core/annotation/PDFWidgetAnnotation.js -var PDFWidgetAnnotation = ( - /** @class */ - (function(_super) { - __extends(PDFWidgetAnnotation2, _super); - function PDFWidgetAnnotation2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFWidgetAnnotation2.prototype.MK = function() { - var MK = this.dict.lookup(PDFName_default.of("MK")); - if (MK instanceof PDFDict_default) - return MK; - return void 0; - }; - PDFWidgetAnnotation2.prototype.BS = function() { - var BS = this.dict.lookup(PDFName_default.of("BS")); - if (BS instanceof PDFDict_default) - return BS; - return void 0; - }; - PDFWidgetAnnotation2.prototype.DA = function() { - var da = this.dict.lookup(PDFName_default.of("DA")); - if (da instanceof PDFString_default || da instanceof PDFHexString_default) - return da; - return void 0; - }; - PDFWidgetAnnotation2.prototype.P = function() { - var P = this.dict.get(PDFName_default.of("P")); - if (P instanceof PDFRef_default) - return P; - return void 0; - }; - PDFWidgetAnnotation2.prototype.setP = function(page) { - this.dict.set(PDFName_default.of("P"), page); - }; - PDFWidgetAnnotation2.prototype.setDefaultAppearance = function(appearance) { - this.dict.set(PDFName_default.of("DA"), PDFString_default.of(appearance)); - }; - PDFWidgetAnnotation2.prototype.getDefaultAppearance = function() { - var DA = this.DA(); - if (DA instanceof PDFHexString_default) { - return DA.decodeText(); - } - return DA === null || DA === void 0 ? void 0 : DA.asString(); - }; - PDFWidgetAnnotation2.prototype.getAppearanceCharacteristics = function() { - var MK = this.MK(); - if (MK) - return AppearanceCharacteristics_default.fromDict(MK); - return void 0; - }; - PDFWidgetAnnotation2.prototype.getOrCreateAppearanceCharacteristics = function() { - var MK = this.MK(); - if (MK) - return AppearanceCharacteristics_default.fromDict(MK); - var ac = AppearanceCharacteristics_default.fromDict(this.dict.context.obj({})); - this.dict.set(PDFName_default.of("MK"), ac.dict); - return ac; - }; - PDFWidgetAnnotation2.prototype.getBorderStyle = function() { - var BS = this.BS(); - if (BS) - return BorderStyle_default.fromDict(BS); - return void 0; - }; - PDFWidgetAnnotation2.prototype.getOrCreateBorderStyle = function() { - var BS = this.BS(); - if (BS) - return BorderStyle_default.fromDict(BS); - var bs = BorderStyle_default.fromDict(this.dict.context.obj({})); - this.dict.set(PDFName_default.of("BS"), bs.dict); - return bs; - }; - PDFWidgetAnnotation2.prototype.getOnValue = function() { - var _a; - var normal = (_a = this.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal; - if (normal instanceof PDFDict_default) { - var keys = normal.keys(); - for (var idx = 0, len = keys.length; idx < len; idx++) { - var key = keys[idx]; - if (key !== PDFName_default.of("Off")) - return key; - } - } - return void 0; - }; - PDFWidgetAnnotation2.fromDict = function(dict) { - return new PDFWidgetAnnotation2(dict); - }; - PDFWidgetAnnotation2.create = function(context, parent) { - var dict = context.obj({ - Type: "Annot", - Subtype: "Widget", - Rect: [0, 0, 0, 0], - Parent: parent - }); - return new PDFWidgetAnnotation2(dict); - }; - return PDFWidgetAnnotation2; - })(PDFAnnotation_default) -); -var PDFWidgetAnnotation_default = PDFWidgetAnnotation; - -// ../../../node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js -var PDFAcroTerminal = ( - /** @class */ - (function(_super) { - __extends(PDFAcroTerminal2, _super); - function PDFAcroTerminal2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroTerminal2.prototype.FT = function() { - var nameOrRef = this.getInheritableAttribute(PDFName_default.of("FT")); - return this.dict.context.lookup(nameOrRef, PDFName_default); - }; - PDFAcroTerminal2.prototype.getWidgets = function() { - var kidDicts = this.Kids(); - if (!kidDicts) - return [PDFWidgetAnnotation_default.fromDict(this.dict)]; - var widgets = new Array(kidDicts.size()); - for (var idx = 0, len = kidDicts.size(); idx < len; idx++) { - var dict = kidDicts.lookup(idx, PDFDict_default); - widgets[idx] = PDFWidgetAnnotation_default.fromDict(dict); - } - return widgets; - }; - PDFAcroTerminal2.prototype.addWidget = function(ref) { - var Kids = this.normalizedEntries().Kids; - Kids.push(ref); - }; - PDFAcroTerminal2.prototype.removeWidget = function(idx) { - var kidDicts = this.Kids(); - if (!kidDicts) { - if (idx !== 0) - throw new IndexOutOfBoundsError(idx, 0, 0); - this.setKids([]); - } else { - if (idx < 0 || idx > kidDicts.size()) { - throw new IndexOutOfBoundsError(idx, 0, kidDicts.size()); - } - kidDicts.remove(idx); - } - }; - PDFAcroTerminal2.prototype.normalizedEntries = function() { - var Kids = this.Kids(); - if (!Kids) { - Kids = this.dict.context.obj([this.ref]); - this.dict.set(PDFName_default.of("Kids"), Kids); - } - return { Kids }; - }; - PDFAcroTerminal2.fromDict = function(dict, ref) { - return new PDFAcroTerminal2(dict, ref); - }; - return PDFAcroTerminal2; - })(PDFAcroField_default) -); -var PDFAcroTerminal_default = PDFAcroTerminal; - -// ../../../node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js -var PDFAcroButton = ( - /** @class */ - (function(_super) { - __extends(PDFAcroButton2, _super); - function PDFAcroButton2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroButton2.prototype.Opt = function() { - return this.dict.lookupMaybe(PDFName_default.of("Opt"), PDFString_default, PDFHexString_default, PDFArray_default); - }; - PDFAcroButton2.prototype.setOpt = function(opt) { - this.dict.set(PDFName_default.of("Opt"), this.dict.context.obj(opt)); - }; - PDFAcroButton2.prototype.getExportValues = function() { - var opt = this.Opt(); - if (!opt) - return void 0; - if (opt instanceof PDFString_default || opt instanceof PDFHexString_default) { - return [opt]; - } - var values2 = []; - for (var idx = 0, len = opt.size(); idx < len; idx++) { - var value = opt.lookup(idx); - if (value instanceof PDFString_default || value instanceof PDFHexString_default) { - values2.push(value); - } - } - return values2; - }; - PDFAcroButton2.prototype.removeExportValue = function(idx) { - var opt = this.Opt(); - if (!opt) - return; - if (opt instanceof PDFString_default || opt instanceof PDFHexString_default) { - if (idx !== 0) - throw new IndexOutOfBoundsError(idx, 0, 0); - this.setOpt([]); - } else { - if (idx < 0 || idx > opt.size()) { - throw new IndexOutOfBoundsError(idx, 0, opt.size()); - } - opt.remove(idx); - } - }; - PDFAcroButton2.prototype.normalizeExportValues = function() { - var _a, _b, _c, _d; - var exportValues = (_a = this.getExportValues()) !== null && _a !== void 0 ? _a : []; - var Opt = []; - var widgets = this.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var exportVal = (_b = exportValues[idx]) !== null && _b !== void 0 ? _b : PDFHexString_default.fromText((_d = (_c = widget.getOnValue()) === null || _c === void 0 ? void 0 : _c.decodeText()) !== null && _d !== void 0 ? _d : ""); - Opt.push(exportVal); - } - this.setOpt(Opt); - }; - PDFAcroButton2.prototype.addOpt = function(opt, useExistingOptIdx) { - var _a; - this.normalizeExportValues(); - var optText = opt.decodeText(); - var existingIdx; - if (useExistingOptIdx) { - var exportValues = (_a = this.getExportValues()) !== null && _a !== void 0 ? _a : []; - for (var idx = 0, len = exportValues.length; idx < len; idx++) { - var exportVal = exportValues[idx]; - if (exportVal.decodeText() === optText) - existingIdx = idx; - } - } - var Opt = this.Opt(); - Opt.push(opt); - return existingIdx !== null && existingIdx !== void 0 ? existingIdx : Opt.size() - 1; - }; - PDFAcroButton2.prototype.addWidgetWithOpt = function(widget, opt, useExistingOptIdx) { - var optIdx = this.addOpt(opt, useExistingOptIdx); - var apStateValue = PDFName_default.of(String(optIdx)); - this.addWidget(widget); - return apStateValue; - }; - return PDFAcroButton2; - })(PDFAcroTerminal_default) -); -var PDFAcroButton_default = PDFAcroButton; - -// ../../../node_modules/pdf-lib/es/core/acroform/PDFAcroCheckBox.js -var PDFAcroCheckBox = ( - /** @class */ - (function(_super) { - __extends(PDFAcroCheckBox2, _super); - function PDFAcroCheckBox2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroCheckBox2.prototype.setValue = function(value) { - var _a; - var onValue = (_a = this.getOnValue()) !== null && _a !== void 0 ? _a : PDFName_default.of("Yes"); - if (value !== onValue && value !== PDFName_default.of("Off")) { - throw new InvalidAcroFieldValueError(); - } - this.dict.set(PDFName_default.of("V"), value); - var widgets = this.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var state = widget.getOnValue() === value ? value : PDFName_default.of("Off"); - widget.setAppearanceState(state); - } - }; - PDFAcroCheckBox2.prototype.getValue = function() { - var v = this.V(); - if (v instanceof PDFName_default) - return v; - return PDFName_default.of("Off"); - }; - PDFAcroCheckBox2.prototype.getOnValue = function() { - var widget = this.getWidgets()[0]; - return widget === null || widget === void 0 ? void 0 : widget.getOnValue(); - }; - PDFAcroCheckBox2.fromDict = function(dict, ref) { - return new PDFAcroCheckBox2(dict, ref); - }; - PDFAcroCheckBox2.create = function(context) { - var dict = context.obj({ - FT: "Btn", - Kids: [] - }); - var ref = context.register(dict); - return new PDFAcroCheckBox2(dict, ref); - }; - return PDFAcroCheckBox2; - })(PDFAcroButton_default) -); -var PDFAcroCheckBox_default = PDFAcroCheckBox; - -// ../../../node_modules/pdf-lib/es/core/acroform/flags.js -var flag = function(bitIndex) { - return 1 << bitIndex; -}; -var AcroFieldFlags; -(function(AcroFieldFlags2) { - AcroFieldFlags2[AcroFieldFlags2["ReadOnly"] = flag(1 - 1)] = "ReadOnly"; - AcroFieldFlags2[AcroFieldFlags2["Required"] = flag(2 - 1)] = "Required"; - AcroFieldFlags2[AcroFieldFlags2["NoExport"] = flag(3 - 1)] = "NoExport"; -})(AcroFieldFlags || (AcroFieldFlags = {})); -var AcroButtonFlags; -(function(AcroButtonFlags2) { - AcroButtonFlags2[AcroButtonFlags2["NoToggleToOff"] = flag(15 - 1)] = "NoToggleToOff"; - AcroButtonFlags2[AcroButtonFlags2["Radio"] = flag(16 - 1)] = "Radio"; - AcroButtonFlags2[AcroButtonFlags2["PushButton"] = flag(17 - 1)] = "PushButton"; - AcroButtonFlags2[AcroButtonFlags2["RadiosInUnison"] = flag(26 - 1)] = "RadiosInUnison"; -})(AcroButtonFlags || (AcroButtonFlags = {})); -var AcroTextFlags; -(function(AcroTextFlags2) { - AcroTextFlags2[AcroTextFlags2["Multiline"] = flag(13 - 1)] = "Multiline"; - AcroTextFlags2[AcroTextFlags2["Password"] = flag(14 - 1)] = "Password"; - AcroTextFlags2[AcroTextFlags2["FileSelect"] = flag(21 - 1)] = "FileSelect"; - AcroTextFlags2[AcroTextFlags2["DoNotSpellCheck"] = flag(23 - 1)] = "DoNotSpellCheck"; - AcroTextFlags2[AcroTextFlags2["DoNotScroll"] = flag(24 - 1)] = "DoNotScroll"; - AcroTextFlags2[AcroTextFlags2["Comb"] = flag(25 - 1)] = "Comb"; - AcroTextFlags2[AcroTextFlags2["RichText"] = flag(26 - 1)] = "RichText"; -})(AcroTextFlags || (AcroTextFlags = {})); -var AcroChoiceFlags; -(function(AcroChoiceFlags2) { - AcroChoiceFlags2[AcroChoiceFlags2["Combo"] = flag(18 - 1)] = "Combo"; - AcroChoiceFlags2[AcroChoiceFlags2["Edit"] = flag(19 - 1)] = "Edit"; - AcroChoiceFlags2[AcroChoiceFlags2["Sort"] = flag(20 - 1)] = "Sort"; - AcroChoiceFlags2[AcroChoiceFlags2["MultiSelect"] = flag(22 - 1)] = "MultiSelect"; - AcroChoiceFlags2[AcroChoiceFlags2["DoNotSpellCheck"] = flag(23 - 1)] = "DoNotSpellCheck"; - AcroChoiceFlags2[AcroChoiceFlags2["CommitOnSelChange"] = flag(27 - 1)] = "CommitOnSelChange"; -})(AcroChoiceFlags || (AcroChoiceFlags = {})); - -// ../../../node_modules/pdf-lib/es/core/acroform/PDFAcroChoice.js -var PDFAcroChoice = ( - /** @class */ - (function(_super) { - __extends(PDFAcroChoice2, _super); - function PDFAcroChoice2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroChoice2.prototype.setValues = function(values2) { - if (this.hasFlag(AcroChoiceFlags.Combo) && !this.hasFlag(AcroChoiceFlags.Edit) && !this.valuesAreValid(values2)) { - throw new InvalidAcroFieldValueError(); - } - if (values2.length === 0) { - this.dict.delete(PDFName_default.of("V")); - } - if (values2.length === 1) { - this.dict.set(PDFName_default.of("V"), values2[0]); - } - if (values2.length > 1) { - if (!this.hasFlag(AcroChoiceFlags.MultiSelect)) { - throw new MultiSelectValueError(); - } - this.dict.set(PDFName_default.of("V"), this.dict.context.obj(values2)); - } - this.updateSelectedIndices(values2); - }; - PDFAcroChoice2.prototype.valuesAreValid = function(values2) { - var options = this.getOptions(); - var _loop_1 = function(idx2, len2) { - var val = values2[idx2].decodeText(); - if (!options.find(function(o) { - return val === (o.display || o.value).decodeText(); - })) { - return { value: false }; - } - }; - for (var idx = 0, len = values2.length; idx < len; idx++) { - var state_1 = _loop_1(idx, len); - if (typeof state_1 === "object") - return state_1.value; - } - return true; - }; - PDFAcroChoice2.prototype.updateSelectedIndices = function(values2) { - if (values2.length > 1) { - var indices = new Array(values2.length); - var options = this.getOptions(); - var _loop_2 = function(idx2, len2) { - var val = values2[idx2].decodeText(); - indices[idx2] = options.findIndex(function(o) { - return val === (o.display || o.value).decodeText(); - }); - }; - for (var idx = 0, len = values2.length; idx < len; idx++) { - _loop_2(idx, len); - } - this.dict.set(PDFName_default.of("I"), this.dict.context.obj(indices.sort())); - } else { - this.dict.delete(PDFName_default.of("I")); - } - }; - PDFAcroChoice2.prototype.getValues = function() { - var v = this.V(); - if (v instanceof PDFString_default || v instanceof PDFHexString_default) - return [v]; - if (v instanceof PDFArray_default) { - var values2 = []; - for (var idx = 0, len = v.size(); idx < len; idx++) { - var value = v.lookup(idx); - if (value instanceof PDFString_default || value instanceof PDFHexString_default) { - values2.push(value); - } - } - return values2; - } - return []; - }; - PDFAcroChoice2.prototype.Opt = function() { - return this.dict.lookupMaybe(PDFName_default.of("Opt"), PDFString_default, PDFHexString_default, PDFArray_default); - }; - PDFAcroChoice2.prototype.setOptions = function(options) { - var newOpt = new Array(options.length); - for (var idx = 0, len = options.length; idx < len; idx++) { - var _a = options[idx], value = _a.value, display = _a.display; - newOpt[idx] = this.dict.context.obj([value, display || value]); - } - this.dict.set(PDFName_default.of("Opt"), this.dict.context.obj(newOpt)); - }; - PDFAcroChoice2.prototype.getOptions = function() { - var Opt = this.Opt(); - if (Opt instanceof PDFString_default || Opt instanceof PDFHexString_default) { - return [{ value: Opt, display: Opt }]; - } - if (Opt instanceof PDFArray_default) { - var res = []; - for (var idx = 0, len = Opt.size(); idx < len; idx++) { - var item = Opt.lookup(idx); - if (item instanceof PDFString_default || item instanceof PDFHexString_default) { - res.push({ value: item, display: item }); - } - if (item instanceof PDFArray_default) { - if (item.size() > 0) { - var first = item.lookup(0, PDFString_default, PDFHexString_default); - var second = item.lookupMaybe(1, PDFString_default, PDFHexString_default); - res.push({ value: first, display: second || first }); - } - } - } - return res; - } - return []; - }; - return PDFAcroChoice2; - })(PDFAcroTerminal_default) -); -var PDFAcroChoice_default = PDFAcroChoice; - -// ../../../node_modules/pdf-lib/es/core/acroform/PDFAcroComboBox.js -var PDFAcroComboBox = ( - /** @class */ - (function(_super) { - __extends(PDFAcroComboBox2, _super); - function PDFAcroComboBox2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroComboBox2.fromDict = function(dict, ref) { - return new PDFAcroComboBox2(dict, ref); - }; - PDFAcroComboBox2.create = function(context) { - var dict = context.obj({ - FT: "Ch", - Ff: AcroChoiceFlags.Combo, - Kids: [] - }); - var ref = context.register(dict); - return new PDFAcroComboBox2(dict, ref); - }; - return PDFAcroComboBox2; - })(PDFAcroChoice_default) -); -var PDFAcroComboBox_default = PDFAcroComboBox; - -// ../../../node_modules/pdf-lib/es/core/acroform/PDFAcroNonTerminal.js -var PDFAcroNonTerminal = ( - /** @class */ - (function(_super) { - __extends(PDFAcroNonTerminal2, _super); - function PDFAcroNonTerminal2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroNonTerminal2.prototype.addField = function(field) { - var Kids = this.normalizedEntries().Kids; - Kids === null || Kids === void 0 ? void 0 : Kids.push(field); - }; - PDFAcroNonTerminal2.prototype.normalizedEntries = function() { - var Kids = this.Kids(); - if (!Kids) { - Kids = this.dict.context.obj([]); - this.dict.set(PDFName_default.of("Kids"), Kids); - } - return { Kids }; - }; - PDFAcroNonTerminal2.fromDict = function(dict, ref) { - return new PDFAcroNonTerminal2(dict, ref); - }; - PDFAcroNonTerminal2.create = function(context) { - var dict = context.obj({}); - var ref = context.register(dict); - return new PDFAcroNonTerminal2(dict, ref); - }; - return PDFAcroNonTerminal2; - })(PDFAcroField_default) -); -var PDFAcroNonTerminal_default = PDFAcroNonTerminal; - -// ../../../node_modules/pdf-lib/es/core/acroform/PDFAcroSignature.js -var PDFAcroSignature = ( - /** @class */ - (function(_super) { - __extends(PDFAcroSignature2, _super); - function PDFAcroSignature2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroSignature2.fromDict = function(dict, ref) { - return new PDFAcroSignature2(dict, ref); - }; - return PDFAcroSignature2; - })(PDFAcroTerminal_default) -); -var PDFAcroSignature_default = PDFAcroSignature; - -// ../../../node_modules/pdf-lib/es/core/acroform/PDFAcroText.js -var PDFAcroText = ( - /** @class */ - (function(_super) { - __extends(PDFAcroText2, _super); - function PDFAcroText2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroText2.prototype.MaxLen = function() { - var maxLen = this.dict.lookup(PDFName_default.of("MaxLen")); - if (maxLen instanceof PDFNumber_default) - return maxLen; - return void 0; - }; - PDFAcroText2.prototype.Q = function() { - var q = this.dict.lookup(PDFName_default.of("Q")); - if (q instanceof PDFNumber_default) - return q; - return void 0; - }; - PDFAcroText2.prototype.setMaxLength = function(maxLength) { - this.dict.set(PDFName_default.of("MaxLen"), PDFNumber_default.of(maxLength)); - }; - PDFAcroText2.prototype.removeMaxLength = function() { - this.dict.delete(PDFName_default.of("MaxLen")); - }; - PDFAcroText2.prototype.getMaxLength = function() { - var _a; - return (_a = this.MaxLen()) === null || _a === void 0 ? void 0 : _a.asNumber(); - }; - PDFAcroText2.prototype.setQuadding = function(quadding) { - this.dict.set(PDFName_default.of("Q"), PDFNumber_default.of(quadding)); - }; - PDFAcroText2.prototype.getQuadding = function() { - var _a; - return (_a = this.Q()) === null || _a === void 0 ? void 0 : _a.asNumber(); - }; - PDFAcroText2.prototype.setValue = function(value) { - this.dict.set(PDFName_default.of("V"), value); - }; - PDFAcroText2.prototype.removeValue = function() { - this.dict.delete(PDFName_default.of("V")); - }; - PDFAcroText2.prototype.getValue = function() { - var v = this.V(); - if (v instanceof PDFString_default || v instanceof PDFHexString_default) - return v; - return void 0; - }; - PDFAcroText2.fromDict = function(dict, ref) { - return new PDFAcroText2(dict, ref); - }; - PDFAcroText2.create = function(context) { - var dict = context.obj({ - FT: "Tx", - Kids: [] - }); - var ref = context.register(dict); - return new PDFAcroText2(dict, ref); - }; - return PDFAcroText2; - })(PDFAcroTerminal_default) -); -var PDFAcroText_default = PDFAcroText; - -// ../../../node_modules/pdf-lib/es/core/acroform/PDFAcroPushButton.js -var PDFAcroPushButton = ( - /** @class */ - (function(_super) { - __extends(PDFAcroPushButton2, _super); - function PDFAcroPushButton2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroPushButton2.fromDict = function(dict, ref) { - return new PDFAcroPushButton2(dict, ref); - }; - PDFAcroPushButton2.create = function(context) { - var dict = context.obj({ - FT: "Btn", - Ff: AcroButtonFlags.PushButton, - Kids: [] - }); - var ref = context.register(dict); - return new PDFAcroPushButton2(dict, ref); - }; - return PDFAcroPushButton2; - })(PDFAcroButton_default) -); -var PDFAcroPushButton_default = PDFAcroPushButton; - -// ../../../node_modules/pdf-lib/es/core/acroform/PDFAcroRadioButton.js -var PDFAcroRadioButton = ( - /** @class */ - (function(_super) { - __extends(PDFAcroRadioButton2, _super); - function PDFAcroRadioButton2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroRadioButton2.prototype.setValue = function(value) { - var onValues = this.getOnValues(); - if (!onValues.includes(value) && value !== PDFName_default.of("Off")) { - throw new InvalidAcroFieldValueError(); - } - this.dict.set(PDFName_default.of("V"), value); - var widgets = this.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var state = widget.getOnValue() === value ? value : PDFName_default.of("Off"); - widget.setAppearanceState(state); - } - }; - PDFAcroRadioButton2.prototype.getValue = function() { - var v = this.V(); - if (v instanceof PDFName_default) - return v; - return PDFName_default.of("Off"); - }; - PDFAcroRadioButton2.prototype.getOnValues = function() { - var widgets = this.getWidgets(); - var onValues = []; - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var onValue = widgets[idx].getOnValue(); - if (onValue) - onValues.push(onValue); - } - return onValues; - }; - PDFAcroRadioButton2.fromDict = function(dict, ref) { - return new PDFAcroRadioButton2(dict, ref); - }; - PDFAcroRadioButton2.create = function(context) { - var dict = context.obj({ - FT: "Btn", - Ff: AcroButtonFlags.Radio, - Kids: [] - }); - var ref = context.register(dict); - return new PDFAcroRadioButton2(dict, ref); - }; - return PDFAcroRadioButton2; - })(PDFAcroButton_default) -); -var PDFAcroRadioButton_default = PDFAcroRadioButton; - -// ../../../node_modules/pdf-lib/es/core/acroform/PDFAcroListBox.js -var PDFAcroListBox = ( - /** @class */ - (function(_super) { - __extends(PDFAcroListBox2, _super); - function PDFAcroListBox2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroListBox2.fromDict = function(dict, ref) { - return new PDFAcroListBox2(dict, ref); - }; - PDFAcroListBox2.create = function(context) { - var dict = context.obj({ - FT: "Ch", - Kids: [] - }); - var ref = context.register(dict); - return new PDFAcroListBox2(dict, ref); - }; - return PDFAcroListBox2; - })(PDFAcroChoice_default) -); -var PDFAcroListBox_default = PDFAcroListBox; - -// ../../../node_modules/pdf-lib/es/core/acroform/utils.js -var createPDFAcroFields = function(kidDicts) { - if (!kidDicts) - return []; - var kids = []; - for (var idx = 0, len = kidDicts.size(); idx < len; idx++) { - var ref = kidDicts.get(idx); - var dict = kidDicts.lookup(idx); - if (ref instanceof PDFRef_default && dict instanceof PDFDict_default) { - kids.push([createPDFAcroField(dict, ref), ref]); - } - } - return kids; -}; -var createPDFAcroField = function(dict, ref) { - var isNonTerminal = isNonTerminalAcroField(dict); - if (isNonTerminal) - return PDFAcroNonTerminal_default.fromDict(dict, ref); - return createPDFAcroTerminal(dict, ref); -}; -var isNonTerminalAcroField = function(dict) { - var kids = dict.lookup(PDFName_default.of("Kids")); - if (kids instanceof PDFArray_default) { - for (var idx = 0, len = kids.size(); idx < len; idx++) { - var kid = kids.lookup(idx); - var kidIsField = kid instanceof PDFDict_default && kid.has(PDFName_default.of("T")); - if (kidIsField) - return true; - } - } - return false; -}; -var createPDFAcroTerminal = function(dict, ref) { - var ftNameOrRef = getInheritableAttribute(dict, PDFName_default.of("FT")); - var type = dict.context.lookup(ftNameOrRef, PDFName_default); - if (type === PDFName_default.of("Btn")) - return createPDFAcroButton(dict, ref); - if (type === PDFName_default.of("Ch")) - return createPDFAcroChoice(dict, ref); - if (type === PDFName_default.of("Tx")) - return PDFAcroText_default.fromDict(dict, ref); - if (type === PDFName_default.of("Sig")) - return PDFAcroSignature_default.fromDict(dict, ref); - return PDFAcroTerminal_default.fromDict(dict, ref); -}; -var createPDFAcroButton = function(dict, ref) { - var _a; - var ffNumberOrRef = getInheritableAttribute(dict, PDFName_default.of("Ff")); - var ffNumber = dict.context.lookupMaybe(ffNumberOrRef, PDFNumber_default); - var flags = (_a = ffNumber === null || ffNumber === void 0 ? void 0 : ffNumber.asNumber()) !== null && _a !== void 0 ? _a : 0; - if (flagIsSet(flags, AcroButtonFlags.PushButton)) { - return PDFAcroPushButton_default.fromDict(dict, ref); - } else if (flagIsSet(flags, AcroButtonFlags.Radio)) { - return PDFAcroRadioButton_default.fromDict(dict, ref); - } else { - return PDFAcroCheckBox_default.fromDict(dict, ref); - } -}; -var createPDFAcroChoice = function(dict, ref) { - var _a; - var ffNumberOrRef = getInheritableAttribute(dict, PDFName_default.of("Ff")); - var ffNumber = dict.context.lookupMaybe(ffNumberOrRef, PDFNumber_default); - var flags = (_a = ffNumber === null || ffNumber === void 0 ? void 0 : ffNumber.asNumber()) !== null && _a !== void 0 ? _a : 0; - if (flagIsSet(flags, AcroChoiceFlags.Combo)) { - return PDFAcroComboBox_default.fromDict(dict, ref); - } else { - return PDFAcroListBox_default.fromDict(dict, ref); - } -}; -var flagIsSet = function(flags, flag3) { - return (flags & flag3) !== 0; -}; -var getInheritableAttribute = function(startNode, name) { - var attribute; - ascend(startNode, function(node) { - if (!attribute) - attribute = node.get(name); - }); - return attribute; -}; -var ascend = function(startNode, visitor) { - visitor(startNode); - var Parent = startNode.lookupMaybe(PDFName_default.of("Parent"), PDFDict_default); - if (Parent) - ascend(Parent, visitor); -}; - -// ../../../node_modules/pdf-lib/es/core/acroform/PDFAcroForm.js -var PDFAcroForm = ( - /** @class */ - (function() { - function PDFAcroForm2(dict) { - this.dict = dict; - } - PDFAcroForm2.prototype.Fields = function() { - var fields = this.dict.lookup(PDFName_default.of("Fields")); - if (fields instanceof PDFArray_default) - return fields; - return void 0; - }; - PDFAcroForm2.prototype.getFields = function() { - var Fields = this.normalizedEntries().Fields; - var fields = new Array(Fields.size()); - for (var idx = 0, len = Fields.size(); idx < len; idx++) { - var ref = Fields.get(idx); - var dict = Fields.lookup(idx, PDFDict_default); - fields[idx] = [createPDFAcroField(dict, ref), ref]; - } - return fields; - }; - PDFAcroForm2.prototype.getAllFields = function() { - var allFields = []; - var pushFields = function(fields) { - if (!fields) - return; - for (var idx = 0, len = fields.length; idx < len; idx++) { - var field = fields[idx]; - allFields.push(field); - var fieldModel = field[0]; - if (fieldModel instanceof PDFAcroNonTerminal_default) { - pushFields(createPDFAcroFields(fieldModel.Kids())); - } - } - }; - pushFields(this.getFields()); - return allFields; - }; - PDFAcroForm2.prototype.addField = function(field) { - var Fields = this.normalizedEntries().Fields; - Fields === null || Fields === void 0 ? void 0 : Fields.push(field); - }; - PDFAcroForm2.prototype.removeField = function(field) { - var parent = field.getParent(); - var fields = parent === void 0 ? this.normalizedEntries().Fields : parent.Kids(); - var index = fields === null || fields === void 0 ? void 0 : fields.indexOf(field.ref); - if (fields === void 0 || index === void 0) { - throw new Error("Tried to remove inexistent field " + field.getFullyQualifiedName()); - } - fields.remove(index); - if (parent !== void 0 && fields.size() === 0) { - this.removeField(parent); - } - }; - PDFAcroForm2.prototype.normalizedEntries = function() { - var Fields = this.Fields(); - if (!Fields) { - Fields = this.dict.context.obj([]); - this.dict.set(PDFName_default.of("Fields"), Fields); - } - return { Fields }; - }; - PDFAcroForm2.fromDict = function(dict) { - return new PDFAcroForm2(dict); - }; - PDFAcroForm2.create = function(context) { - var dict = context.obj({ Fields: [] }); - return new PDFAcroForm2(dict); - }; - return PDFAcroForm2; - })() -); -var PDFAcroForm_default = PDFAcroForm; - -// ../../../node_modules/pdf-lib/es/core/structures/PDFCatalog.js -var PDFCatalog = ( - /** @class */ - (function(_super) { - __extends(PDFCatalog2, _super); - function PDFCatalog2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFCatalog2.prototype.Pages = function() { - return this.lookup(PDFName_default.of("Pages"), PDFDict_default); - }; - PDFCatalog2.prototype.AcroForm = function() { - return this.lookupMaybe(PDFName_default.of("AcroForm"), PDFDict_default); - }; - PDFCatalog2.prototype.getAcroForm = function() { - var dict = this.AcroForm(); - if (!dict) - return void 0; - return PDFAcroForm_default.fromDict(dict); - }; - PDFCatalog2.prototype.getOrCreateAcroForm = function() { - var acroForm = this.getAcroForm(); - if (!acroForm) { - acroForm = PDFAcroForm_default.create(this.context); - var acroFormRef = this.context.register(acroForm.dict); - this.set(PDFName_default.of("AcroForm"), acroFormRef); - } - return acroForm; - }; - PDFCatalog2.prototype.ViewerPreferences = function() { - return this.lookupMaybe(PDFName_default.of("ViewerPreferences"), PDFDict_default); - }; - PDFCatalog2.prototype.getViewerPreferences = function() { - var dict = this.ViewerPreferences(); - if (!dict) - return void 0; - return ViewerPreferences_default.fromDict(dict); - }; - PDFCatalog2.prototype.getOrCreateViewerPreferences = function() { - var viewerPrefs = this.getViewerPreferences(); - if (!viewerPrefs) { - viewerPrefs = ViewerPreferences_default.create(this.context); - var viewerPrefsRef = this.context.register(viewerPrefs.dict); - this.set(PDFName_default.of("ViewerPreferences"), viewerPrefsRef); - } - return viewerPrefs; - }; - PDFCatalog2.prototype.insertLeafNode = function(leafRef, index) { - var pagesRef = this.get(PDFName_default.of("Pages")); - var maybeParentRef = this.Pages().insertLeafNode(leafRef, index); - return maybeParentRef || pagesRef; - }; - PDFCatalog2.prototype.removeLeafNode = function(index) { - this.Pages().removeLeafNode(index); - }; - PDFCatalog2.withContextAndPages = function(context, pages) { - var dict = /* @__PURE__ */ new Map(); - dict.set(PDFName_default.of("Type"), PDFName_default.of("Catalog")); - dict.set(PDFName_default.of("Pages"), pages); - return new PDFCatalog2(dict, context); - }; - PDFCatalog2.fromMapWithContext = function(map, context) { - return new PDFCatalog2(map, context); - }; - return PDFCatalog2; - })(PDFDict_default) -); -var PDFCatalog_default = PDFCatalog; - -// ../../../node_modules/pdf-lib/es/core/structures/PDFPageTree.js -var PDFPageTree = ( - /** @class */ - (function(_super) { - __extends(PDFPageTree2, _super); - function PDFPageTree2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFPageTree2.prototype.Parent = function() { - return this.lookup(PDFName_default.of("Parent")); - }; - PDFPageTree2.prototype.Kids = function() { - return this.lookup(PDFName_default.of("Kids"), PDFArray_default); - }; - PDFPageTree2.prototype.Count = function() { - return this.lookup(PDFName_default.of("Count"), PDFNumber_default); - }; - PDFPageTree2.prototype.pushTreeNode = function(treeRef) { - var Kids = this.Kids(); - Kids.push(treeRef); - }; - PDFPageTree2.prototype.pushLeafNode = function(leafRef) { - var Kids = this.Kids(); - this.insertLeafKid(Kids.size(), leafRef); - }; - PDFPageTree2.prototype.insertLeafNode = function(leafRef, targetIndex) { - var Kids = this.Kids(); - var Count = this.Count().asNumber(); - if (targetIndex > Count) { - throw new InvalidTargetIndexError(targetIndex, Count); - } - var leafsRemainingUntilTarget = targetIndex; - for (var idx = 0, len = Kids.size(); idx < len; idx++) { - if (leafsRemainingUntilTarget === 0) { - this.insertLeafKid(idx, leafRef); - return void 0; - } - var kidRef = Kids.get(idx); - var kid = this.context.lookup(kidRef); - if (kid instanceof PDFPageTree2) { - if (kid.Count().asNumber() > leafsRemainingUntilTarget) { - return kid.insertLeafNode(leafRef, leafsRemainingUntilTarget) || kidRef; - } else { - leafsRemainingUntilTarget -= kid.Count().asNumber(); - } - } - if (kid instanceof PDFPageLeaf_default) { - leafsRemainingUntilTarget -= 1; - } - } - if (leafsRemainingUntilTarget === 0) { - this.insertLeafKid(Kids.size(), leafRef); - return void 0; - } - throw new CorruptPageTreeError(targetIndex, "insertLeafNode"); - }; - PDFPageTree2.prototype.removeLeafNode = function(targetIndex, prune) { - if (prune === void 0) { - prune = true; - } - var Kids = this.Kids(); - var Count = this.Count().asNumber(); - if (targetIndex >= Count) { - throw new InvalidTargetIndexError(targetIndex, Count); - } - var leafsRemainingUntilTarget = targetIndex; - for (var idx = 0, len = Kids.size(); idx < len; idx++) { - var kidRef = Kids.get(idx); - var kid = this.context.lookup(kidRef); - if (kid instanceof PDFPageTree2) { - if (kid.Count().asNumber() > leafsRemainingUntilTarget) { - kid.removeLeafNode(leafsRemainingUntilTarget, prune); - if (prune && kid.Kids().size() === 0) - Kids.remove(idx); - return; - } else { - leafsRemainingUntilTarget -= kid.Count().asNumber(); - } - } - if (kid instanceof PDFPageLeaf_default) { - if (leafsRemainingUntilTarget === 0) { - this.removeKid(idx); - return; - } else { - leafsRemainingUntilTarget -= 1; - } - } - } - throw new CorruptPageTreeError(targetIndex, "removeLeafNode"); - }; - PDFPageTree2.prototype.ascend = function(visitor) { - visitor(this); - var Parent = this.Parent(); - if (Parent) - Parent.ascend(visitor); - }; - PDFPageTree2.prototype.traverse = function(visitor) { - var Kids = this.Kids(); - for (var idx = 0, len = Kids.size(); idx < len; idx++) { - var kidRef = Kids.get(idx); - var kid = this.context.lookup(kidRef); - if (kid instanceof PDFPageTree2) - kid.traverse(visitor); - visitor(kid, kidRef); - } - }; - PDFPageTree2.prototype.insertLeafKid = function(kidIdx, leafRef) { - var Kids = this.Kids(); - this.ascend(function(node) { - var newCount = node.Count().asNumber() + 1; - node.set(PDFName_default.of("Count"), PDFNumber_default.of(newCount)); - }); - Kids.insert(kidIdx, leafRef); - }; - PDFPageTree2.prototype.removeKid = function(kidIdx) { - var Kids = this.Kids(); - var kid = Kids.lookup(kidIdx); - if (kid instanceof PDFPageLeaf_default) { - this.ascend(function(node) { - var newCount = node.Count().asNumber() - 1; - node.set(PDFName_default.of("Count"), PDFNumber_default.of(newCount)); - }); - } - Kids.remove(kidIdx); - }; - PDFPageTree2.withContext = function(context, parent) { - var dict = /* @__PURE__ */ new Map(); - dict.set(PDFName_default.of("Type"), PDFName_default.of("Pages")); - dict.set(PDFName_default.of("Kids"), context.obj([])); - dict.set(PDFName_default.of("Count"), context.obj(0)); - if (parent) - dict.set(PDFName_default.of("Parent"), parent); - return new PDFPageTree2(dict, context); - }; - PDFPageTree2.fromMapWithContext = function(map, context) { - return new PDFPageTree2(map, context); - }; - return PDFPageTree2; - })(PDFDict_default) -); -var PDFPageTree_default = PDFPageTree; - -// ../../../node_modules/pdf-lib/es/core/syntax/Numeric.js -var IsDigit = new Uint8Array(256); -IsDigit[CharCodes_default.Zero] = 1; -IsDigit[CharCodes_default.One] = 1; -IsDigit[CharCodes_default.Two] = 1; -IsDigit[CharCodes_default.Three] = 1; -IsDigit[CharCodes_default.Four] = 1; -IsDigit[CharCodes_default.Five] = 1; -IsDigit[CharCodes_default.Six] = 1; -IsDigit[CharCodes_default.Seven] = 1; -IsDigit[CharCodes_default.Eight] = 1; -IsDigit[CharCodes_default.Nine] = 1; -var IsNumericPrefix = new Uint8Array(256); -IsNumericPrefix[CharCodes_default.Period] = 1; -IsNumericPrefix[CharCodes_default.Plus] = 1; -IsNumericPrefix[CharCodes_default.Minus] = 1; -var IsNumeric = new Uint8Array(256); -for (idx = 0, len = 256; idx < len; idx++) { - IsNumeric[idx] = IsDigit[idx] || IsNumericPrefix[idx] ? 1 : 0; -} -var idx; -var len; - -// ../../../node_modules/pdf-lib/es/core/parser/BaseParser.js -var Newline = CharCodes_default.Newline; -var CarriageReturn = CharCodes_default.CarriageReturn; -var BaseParser = ( - /** @class */ - (function() { - function BaseParser2(bytes, capNumbers) { - if (capNumbers === void 0) { - capNumbers = false; - } - this.bytes = bytes; - this.capNumbers = capNumbers; - } - BaseParser2.prototype.parseRawInt = function() { - var value = ""; - while (!this.bytes.done()) { - var byte = this.bytes.peek(); - if (!IsDigit[byte]) - break; - value += charFromCode(this.bytes.next()); - } - var numberValue = Number(value); - if (!value || !isFinite(numberValue)) { - throw new NumberParsingError(this.bytes.position(), value); - } - return numberValue; - }; - BaseParser2.prototype.parseRawNumber = function() { - var value = ""; - while (!this.bytes.done()) { - var byte = this.bytes.peek(); - if (!IsNumeric[byte]) - break; - value += charFromCode(this.bytes.next()); - if (byte === CharCodes_default.Period) - break; - } - while (!this.bytes.done()) { - var byte = this.bytes.peek(); - if (!IsDigit[byte]) - break; - value += charFromCode(this.bytes.next()); - } - var numberValue = Number(value); - if (!value || !isFinite(numberValue)) { - throw new NumberParsingError(this.bytes.position(), value); - } - if (numberValue > Number.MAX_SAFE_INTEGER) { - if (this.capNumbers) { - var msg = "Parsed number that is too large for some PDF readers: " + value + ", using Number.MAX_SAFE_INTEGER instead."; - console.warn(msg); - return Number.MAX_SAFE_INTEGER; - } else { - var msg = "Parsed number that is too large for some PDF readers: " + value + ", not capping."; - console.warn(msg); - } - } - return numberValue; - }; - BaseParser2.prototype.skipWhitespace = function() { - while (!this.bytes.done() && IsWhitespace[this.bytes.peek()]) { - this.bytes.next(); - } - }; - BaseParser2.prototype.skipLine = function() { - while (!this.bytes.done()) { - var byte = this.bytes.peek(); - if (byte === Newline || byte === CarriageReturn) - return; - this.bytes.next(); - } - }; - BaseParser2.prototype.skipComment = function() { - if (this.bytes.peek() !== CharCodes_default.Percent) - return false; - while (!this.bytes.done()) { - var byte = this.bytes.peek(); - if (byte === Newline || byte === CarriageReturn) - return true; - this.bytes.next(); - } - return true; - }; - BaseParser2.prototype.skipWhitespaceAndComments = function() { - this.skipWhitespace(); - while (this.skipComment()) - this.skipWhitespace(); - }; - BaseParser2.prototype.matchKeyword = function(keyword) { - var initialOffset = this.bytes.offset(); - for (var idx = 0, len = keyword.length; idx < len; idx++) { - if (this.bytes.done() || this.bytes.next() !== keyword[idx]) { - this.bytes.moveTo(initialOffset); - return false; - } - } - return true; - }; - return BaseParser2; - })() -); -var BaseParser_default = BaseParser; - -// ../../../node_modules/pdf-lib/es/core/parser/ByteStream.js -var ByteStream = ( - /** @class */ - (function() { - function ByteStream2(bytes) { - this.idx = 0; - this.line = 0; - this.column = 0; - this.bytes = bytes; - this.length = this.bytes.length; - } - ByteStream2.prototype.moveTo = function(offset) { - this.idx = offset; - }; - ByteStream2.prototype.next = function() { - var byte = this.bytes[this.idx++]; - if (byte === CharCodes_default.Newline) { - this.line += 1; - this.column = 0; - } else { - this.column += 1; - } - return byte; - }; - ByteStream2.prototype.assertNext = function(expected) { - if (this.peek() !== expected) { - throw new NextByteAssertionError(this.position(), expected, this.peek()); - } - return this.next(); - }; - ByteStream2.prototype.peek = function() { - return this.bytes[this.idx]; - }; - ByteStream2.prototype.peekAhead = function(steps) { - return this.bytes[this.idx + steps]; - }; - ByteStream2.prototype.peekAt = function(offset) { - return this.bytes[offset]; - }; - ByteStream2.prototype.done = function() { - return this.idx >= this.length; - }; - ByteStream2.prototype.offset = function() { - return this.idx; - }; - ByteStream2.prototype.slice = function(start, end) { - return this.bytes.slice(start, end); - }; - ByteStream2.prototype.position = function() { - return { line: this.line, column: this.column, offset: this.idx }; - }; - ByteStream2.of = function(bytes) { - return new ByteStream2(bytes); - }; - ByteStream2.fromPDFRawStream = function(rawStream) { - return ByteStream2.of(decodePDFRawStream(rawStream).decode()); - }; - return ByteStream2; - })() -); -var ByteStream_default = ByteStream; - -// ../../../node_modules/pdf-lib/es/core/syntax/Keywords.js -var Space = CharCodes_default.Space; -var CarriageReturn2 = CharCodes_default.CarriageReturn; -var Newline2 = CharCodes_default.Newline; -var stream = [ - CharCodes_default.s, - CharCodes_default.t, - CharCodes_default.r, - CharCodes_default.e, - CharCodes_default.a, - CharCodes_default.m -]; -var endstream = [ - CharCodes_default.e, - CharCodes_default.n, - CharCodes_default.d, - CharCodes_default.s, - CharCodes_default.t, - CharCodes_default.r, - CharCodes_default.e, - CharCodes_default.a, - CharCodes_default.m -]; -var Keywords = { - header: [ - CharCodes_default.Percent, - CharCodes_default.P, - CharCodes_default.D, - CharCodes_default.F, - CharCodes_default.Dash - ], - eof: [ - CharCodes_default.Percent, - CharCodes_default.Percent, - CharCodes_default.E, - CharCodes_default.O, - CharCodes_default.F - ], - obj: [CharCodes_default.o, CharCodes_default.b, CharCodes_default.j], - endobj: [ - CharCodes_default.e, - CharCodes_default.n, - CharCodes_default.d, - CharCodes_default.o, - CharCodes_default.b, - CharCodes_default.j - ], - xref: [CharCodes_default.x, CharCodes_default.r, CharCodes_default.e, CharCodes_default.f], - trailer: [ - CharCodes_default.t, - CharCodes_default.r, - CharCodes_default.a, - CharCodes_default.i, - CharCodes_default.l, - CharCodes_default.e, - CharCodes_default.r - ], - startxref: [ - CharCodes_default.s, - CharCodes_default.t, - CharCodes_default.a, - CharCodes_default.r, - CharCodes_default.t, - CharCodes_default.x, - CharCodes_default.r, - CharCodes_default.e, - CharCodes_default.f - ], - true: [CharCodes_default.t, CharCodes_default.r, CharCodes_default.u, CharCodes_default.e], - false: [CharCodes_default.f, CharCodes_default.a, CharCodes_default.l, CharCodes_default.s, CharCodes_default.e], - null: [CharCodes_default.n, CharCodes_default.u, CharCodes_default.l, CharCodes_default.l], - stream, - streamEOF1: __spreadArrays(stream, [Space, CarriageReturn2, Newline2]), - streamEOF2: __spreadArrays(stream, [CarriageReturn2, Newline2]), - streamEOF3: __spreadArrays(stream, [CarriageReturn2]), - streamEOF4: __spreadArrays(stream, [Newline2]), - endstream, - EOF1endstream: __spreadArrays([CarriageReturn2, Newline2], endstream), - EOF2endstream: __spreadArrays([CarriageReturn2], endstream), - EOF3endstream: __spreadArrays([Newline2], endstream) -}; - -// ../../../node_modules/pdf-lib/es/core/parser/PDFObjectParser.js -var PDFObjectParser = ( - /** @class */ - (function(_super) { - __extends(PDFObjectParser2, _super); - function PDFObjectParser2(byteStream, context, capNumbers) { - if (capNumbers === void 0) { - capNumbers = false; - } - var _this = _super.call(this, byteStream, capNumbers) || this; - _this.context = context; - return _this; - } - PDFObjectParser2.prototype.parseObject = function() { - this.skipWhitespaceAndComments(); - if (this.matchKeyword(Keywords.true)) - return PDFBool_default.True; - if (this.matchKeyword(Keywords.false)) - return PDFBool_default.False; - if (this.matchKeyword(Keywords.null)) - return PDFNull_default; - var byte = this.bytes.peek(); - if (byte === CharCodes_default.LessThan && this.bytes.peekAhead(1) === CharCodes_default.LessThan) { - return this.parseDictOrStream(); - } - if (byte === CharCodes_default.LessThan) - return this.parseHexString(); - if (byte === CharCodes_default.LeftParen) - return this.parseString(); - if (byte === CharCodes_default.ForwardSlash) - return this.parseName(); - if (byte === CharCodes_default.LeftSquareBracket) - return this.parseArray(); - if (IsNumeric[byte]) - return this.parseNumberOrRef(); - throw new PDFObjectParsingError(this.bytes.position(), byte); - }; - PDFObjectParser2.prototype.parseNumberOrRef = function() { - var firstNum = this.parseRawNumber(); - this.skipWhitespaceAndComments(); - var lookaheadStart = this.bytes.offset(); - if (IsDigit[this.bytes.peek()]) { - var secondNum = this.parseRawNumber(); - this.skipWhitespaceAndComments(); - if (this.bytes.peek() === CharCodes_default.R) { - this.bytes.assertNext(CharCodes_default.R); - return PDFRef_default.of(firstNum, secondNum); - } - } - this.bytes.moveTo(lookaheadStart); - return PDFNumber_default.of(firstNum); - }; - PDFObjectParser2.prototype.parseHexString = function() { - var value = ""; - this.bytes.assertNext(CharCodes_default.LessThan); - while (!this.bytes.done() && this.bytes.peek() !== CharCodes_default.GreaterThan) { - value += charFromCode(this.bytes.next()); - } - this.bytes.assertNext(CharCodes_default.GreaterThan); - return PDFHexString_default.of(value); - }; - PDFObjectParser2.prototype.parseString = function() { - var nestingLvl = 0; - var isEscaped = false; - var value = ""; - while (!this.bytes.done()) { - var byte = this.bytes.next(); - value += charFromCode(byte); - if (!isEscaped) { - if (byte === CharCodes_default.LeftParen) - nestingLvl += 1; - if (byte === CharCodes_default.RightParen) - nestingLvl -= 1; - } - if (byte === CharCodes_default.BackSlash) { - isEscaped = !isEscaped; - } else if (isEscaped) { - isEscaped = false; - } - if (nestingLvl === 0) { - return PDFString_default.of(value.substring(1, value.length - 1)); - } - } - throw new UnbalancedParenthesisError(this.bytes.position()); - }; - PDFObjectParser2.prototype.parseName = function() { - this.bytes.assertNext(CharCodes_default.ForwardSlash); - var name = ""; - while (!this.bytes.done()) { - var byte = this.bytes.peek(); - if (IsWhitespace[byte] || IsDelimiter[byte]) - break; - name += charFromCode(byte); - this.bytes.next(); - } - return PDFName_default.of(name); - }; - PDFObjectParser2.prototype.parseArray = function() { - this.bytes.assertNext(CharCodes_default.LeftSquareBracket); - this.skipWhitespaceAndComments(); - var pdfArray = PDFArray_default.withContext(this.context); - while (this.bytes.peek() !== CharCodes_default.RightSquareBracket) { - var element = this.parseObject(); - pdfArray.push(element); - this.skipWhitespaceAndComments(); - } - this.bytes.assertNext(CharCodes_default.RightSquareBracket); - return pdfArray; - }; - PDFObjectParser2.prototype.parseDict = function() { - this.bytes.assertNext(CharCodes_default.LessThan); - this.bytes.assertNext(CharCodes_default.LessThan); - this.skipWhitespaceAndComments(); - var dict = /* @__PURE__ */ new Map(); - while (!this.bytes.done() && this.bytes.peek() !== CharCodes_default.GreaterThan && this.bytes.peekAhead(1) !== CharCodes_default.GreaterThan) { - var key = this.parseName(); - var value = this.parseObject(); - dict.set(key, value); - this.skipWhitespaceAndComments(); - } - this.skipWhitespaceAndComments(); - this.bytes.assertNext(CharCodes_default.GreaterThan); - this.bytes.assertNext(CharCodes_default.GreaterThan); - var Type = dict.get(PDFName_default.of("Type")); - if (Type === PDFName_default.of("Catalog")) { - return PDFCatalog_default.fromMapWithContext(dict, this.context); - } else if (Type === PDFName_default.of("Pages")) { - return PDFPageTree_default.fromMapWithContext(dict, this.context); - } else if (Type === PDFName_default.of("Page")) { - return PDFPageLeaf_default.fromMapWithContext(dict, this.context); - } else { - return PDFDict_default.fromMapWithContext(dict, this.context); - } - }; - PDFObjectParser2.prototype.parseDictOrStream = function() { - var startPos = this.bytes.position(); - var dict = this.parseDict(); - this.skipWhitespaceAndComments(); - if (!this.matchKeyword(Keywords.streamEOF1) && !this.matchKeyword(Keywords.streamEOF2) && !this.matchKeyword(Keywords.streamEOF3) && !this.matchKeyword(Keywords.streamEOF4) && !this.matchKeyword(Keywords.stream)) { - return dict; - } - var start = this.bytes.offset(); - var end; - var Length = dict.get(PDFName_default.of("Length")); - if (Length instanceof PDFNumber_default) { - end = start + Length.asNumber(); - this.bytes.moveTo(end); - this.skipWhitespaceAndComments(); - if (!this.matchKeyword(Keywords.endstream)) { - this.bytes.moveTo(start); - end = this.findEndOfStreamFallback(startPos); - } - } else { - end = this.findEndOfStreamFallback(startPos); - } - var contents = this.bytes.slice(start, end); - return PDFRawStream_default.of(dict, contents); - }; - PDFObjectParser2.prototype.findEndOfStreamFallback = function(startPos) { - var nestingLvl = 1; - var end = this.bytes.offset(); - while (!this.bytes.done()) { - end = this.bytes.offset(); - if (this.matchKeyword(Keywords.stream)) { - nestingLvl += 1; - } else if (this.matchKeyword(Keywords.EOF1endstream) || this.matchKeyword(Keywords.EOF2endstream) || this.matchKeyword(Keywords.EOF3endstream) || this.matchKeyword(Keywords.endstream)) { - nestingLvl -= 1; - } else { - this.bytes.next(); - } - if (nestingLvl === 0) - break; - } - if (nestingLvl !== 0) - throw new PDFStreamParsingError(startPos); - return end; - }; - PDFObjectParser2.forBytes = function(bytes, context, capNumbers) { - return new PDFObjectParser2(ByteStream_default.of(bytes), context, capNumbers); - }; - PDFObjectParser2.forByteStream = function(byteStream, context, capNumbers) { - if (capNumbers === void 0) { - capNumbers = false; - } - return new PDFObjectParser2(byteStream, context, capNumbers); - }; - return PDFObjectParser2; - })(BaseParser_default) -); -var PDFObjectParser_default = PDFObjectParser; - -// ../../../node_modules/pdf-lib/es/core/parser/PDFObjectStreamParser.js -var PDFObjectStreamParser = ( - /** @class */ - (function(_super) { - __extends(PDFObjectStreamParser2, _super); - function PDFObjectStreamParser2(rawStream, shouldWaitForTick) { - var _this = _super.call(this, ByteStream_default.fromPDFRawStream(rawStream), rawStream.dict.context) || this; - var dict = rawStream.dict; - _this.alreadyParsed = false; - _this.shouldWaitForTick = shouldWaitForTick || (function() { - return false; - }); - _this.firstOffset = dict.lookup(PDFName_default.of("First"), PDFNumber_default).asNumber(); - _this.objectCount = dict.lookup(PDFName_default.of("N"), PDFNumber_default).asNumber(); - return _this; - } - PDFObjectStreamParser2.prototype.parseIntoContext = function() { - return __awaiter(this, void 0, void 0, function() { - var offsetsAndObjectNumbers, idx, len, _a, objectNumber, offset, object, ref; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - if (this.alreadyParsed) { - throw new ReparseError("PDFObjectStreamParser", "parseIntoContext"); - } - this.alreadyParsed = true; - offsetsAndObjectNumbers = this.parseOffsetsAndObjectNumbers(); - idx = 0, len = offsetsAndObjectNumbers.length; - _b.label = 1; - case 1: - if (!(idx < len)) return [3, 4]; - _a = offsetsAndObjectNumbers[idx], objectNumber = _a.objectNumber, offset = _a.offset; - this.bytes.moveTo(this.firstOffset + offset); - object = this.parseObject(); - ref = PDFRef_default.of(objectNumber, 0); - this.context.assign(ref, object); - if (!this.shouldWaitForTick()) return [3, 3]; - return [4, waitForTick()]; - case 2: - _b.sent(); - _b.label = 3; - case 3: - idx++; - return [3, 1]; - case 4: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFObjectStreamParser2.prototype.parseOffsetsAndObjectNumbers = function() { - var offsetsAndObjectNumbers = []; - for (var idx = 0, len = this.objectCount; idx < len; idx++) { - this.skipWhitespaceAndComments(); - var objectNumber = this.parseRawInt(); - this.skipWhitespaceAndComments(); - var offset = this.parseRawInt(); - offsetsAndObjectNumbers.push({ objectNumber, offset }); - } - return offsetsAndObjectNumbers; - }; - PDFObjectStreamParser2.forStream = function(rawStream, shouldWaitForTick) { - return new PDFObjectStreamParser2(rawStream, shouldWaitForTick); - }; - return PDFObjectStreamParser2; - })(PDFObjectParser_default) -); -var PDFObjectStreamParser_default = PDFObjectStreamParser; - -// ../../../node_modules/pdf-lib/es/core/parser/PDFXRefStreamParser.js -var PDFXRefStreamParser = ( - /** @class */ - (function() { - function PDFXRefStreamParser2(rawStream) { - this.alreadyParsed = false; - this.dict = rawStream.dict; - this.bytes = ByteStream_default.fromPDFRawStream(rawStream); - this.context = this.dict.context; - var Size = this.dict.lookup(PDFName_default.of("Size"), PDFNumber_default); - var Index = this.dict.lookup(PDFName_default.of("Index")); - if (Index instanceof PDFArray_default) { - this.subsections = []; - for (var idx = 0, len = Index.size(); idx < len; idx += 2) { - var firstObjectNumber = Index.lookup(idx + 0, PDFNumber_default).asNumber(); - var length_1 = Index.lookup(idx + 1, PDFNumber_default).asNumber(); - this.subsections.push({ firstObjectNumber, length: length_1 }); - } - } else { - this.subsections = [{ firstObjectNumber: 0, length: Size.asNumber() }]; - } - var W = this.dict.lookup(PDFName_default.of("W"), PDFArray_default); - this.byteWidths = [-1, -1, -1]; - for (var idx = 0, len = W.size(); idx < len; idx++) { - this.byteWidths[idx] = W.lookup(idx, PDFNumber_default).asNumber(); - } - } - PDFXRefStreamParser2.prototype.parseIntoContext = function() { - if (this.alreadyParsed) { - throw new ReparseError("PDFXRefStreamParser", "parseIntoContext"); - } - this.alreadyParsed = true; - this.context.trailerInfo = { - Root: this.dict.get(PDFName_default.of("Root")), - Encrypt: this.dict.get(PDFName_default.of("Encrypt")), - Info: this.dict.get(PDFName_default.of("Info")), - ID: this.dict.get(PDFName_default.of("ID")) - }; - var entries = this.parseEntries(); - return entries; - }; - PDFXRefStreamParser2.prototype.parseEntries = function() { - var entries = []; - var _a = this.byteWidths, typeFieldWidth = _a[0], offsetFieldWidth = _a[1], genFieldWidth = _a[2]; - for (var subsectionIdx = 0, subsectionLen = this.subsections.length; subsectionIdx < subsectionLen; subsectionIdx++) { - var _b = this.subsections[subsectionIdx], firstObjectNumber = _b.firstObjectNumber, length_2 = _b.length; - for (var objIdx = 0; objIdx < length_2; objIdx++) { - var type = 0; - for (var idx = 0, len = typeFieldWidth; idx < len; idx++) { - type = type << 8 | this.bytes.next(); - } - var offset = 0; - for (var idx = 0, len = offsetFieldWidth; idx < len; idx++) { - offset = offset << 8 | this.bytes.next(); - } - var generationNumber = 0; - for (var idx = 0, len = genFieldWidth; idx < len; idx++) { - generationNumber = generationNumber << 8 | this.bytes.next(); - } - if (typeFieldWidth === 0) - type = 1; - var objectNumber = firstObjectNumber + objIdx; - var entry = { - ref: PDFRef_default.of(objectNumber, generationNumber), - offset, - deleted: type === 0, - inObjectStream: type === 2 - }; - entries.push(entry); - } - } - return entries; - }; - PDFXRefStreamParser2.forStream = function(rawStream) { - return new PDFXRefStreamParser2(rawStream); - }; - return PDFXRefStreamParser2; - })() -); -var PDFXRefStreamParser_default = PDFXRefStreamParser; - -// ../../../node_modules/pdf-lib/es/core/parser/PDFParser.js -var PDFParser = ( - /** @class */ - (function(_super) { - __extends(PDFParser2, _super); - function PDFParser2(pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers) { - if (objectsPerTick === void 0) { - objectsPerTick = Infinity; - } - if (throwOnInvalidObject === void 0) { - throwOnInvalidObject = false; - } - if (capNumbers === void 0) { - capNumbers = false; - } - var _this = _super.call(this, ByteStream_default.of(pdfBytes), PDFContext_default.create(), capNumbers) || this; - _this.alreadyParsed = false; - _this.parsedObjects = 0; - _this.shouldWaitForTick = function() { - _this.parsedObjects += 1; - return _this.parsedObjects % _this.objectsPerTick === 0; - }; - _this.objectsPerTick = objectsPerTick; - _this.throwOnInvalidObject = throwOnInvalidObject; - return _this; - } - PDFParser2.prototype.parseDocument = function() { - return __awaiter(this, void 0, void 0, function() { - var prevOffset, offset; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (this.alreadyParsed) { - throw new ReparseError("PDFParser", "parseDocument"); - } - this.alreadyParsed = true; - this.context.header = this.parseHeader(); - _a.label = 1; - case 1: - if (!!this.bytes.done()) return [3, 3]; - return [4, this.parseDocumentSection()]; - case 2: - _a.sent(); - offset = this.bytes.offset(); - if (offset === prevOffset) { - throw new StalledParserError(this.bytes.position()); - } - prevOffset = offset; - return [3, 1]; - case 3: - this.maybeRecoverRoot(); - if (this.context.lookup(PDFRef_default.of(0))) { - console.warn("Removing parsed object: 0 0 R"); - this.context.delete(PDFRef_default.of(0)); - } - return [2, this.context]; - } - }); - }); - }; - PDFParser2.prototype.maybeRecoverRoot = function() { - var isValidCatalog = function(obj) { - return obj instanceof PDFDict_default && obj.lookup(PDFName_default.of("Type")) === PDFName_default.of("Catalog"); - }; - var catalog = this.context.lookup(this.context.trailerInfo.Root); - if (!isValidCatalog(catalog)) { - var indirectObjects = this.context.enumerateIndirectObjects(); - for (var idx = 0, len = indirectObjects.length; idx < len; idx++) { - var _a = indirectObjects[idx], ref = _a[0], object = _a[1]; - if (isValidCatalog(object)) { - this.context.trailerInfo.Root = ref; - } - } - } - }; - PDFParser2.prototype.parseHeader = function() { - while (!this.bytes.done()) { - if (this.matchKeyword(Keywords.header)) { - var major = this.parseRawInt(); - this.bytes.assertNext(CharCodes_default.Period); - var minor = this.parseRawInt(); - var header = PDFHeader_default.forVersion(major, minor); - this.skipBinaryHeaderComment(); - return header; - } - this.bytes.next(); - } - throw new MissingPDFHeaderError(this.bytes.position()); - }; - PDFParser2.prototype.parseIndirectObjectHeader = function() { - this.skipWhitespaceAndComments(); - var objectNumber = this.parseRawInt(); - this.skipWhitespaceAndComments(); - var generationNumber = this.parseRawInt(); - this.skipWhitespaceAndComments(); - if (!this.matchKeyword(Keywords.obj)) { - throw new MissingKeywordError(this.bytes.position(), Keywords.obj); - } - return PDFRef_default.of(objectNumber, generationNumber); - }; - PDFParser2.prototype.matchIndirectObjectHeader = function() { - var initialOffset = this.bytes.offset(); - try { - this.parseIndirectObjectHeader(); - return true; - } catch (e) { - this.bytes.moveTo(initialOffset); - return false; - } - }; - PDFParser2.prototype.parseIndirectObject = function() { - return __awaiter(this, void 0, void 0, function() { - var ref, object; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - ref = this.parseIndirectObjectHeader(); - this.skipWhitespaceAndComments(); - object = this.parseObject(); - this.skipWhitespaceAndComments(); - this.matchKeyword(Keywords.endobj); - if (!(object instanceof PDFRawStream_default && object.dict.lookup(PDFName_default.of("Type")) === PDFName_default.of("ObjStm"))) return [3, 2]; - return [4, PDFObjectStreamParser_default.forStream(object, this.shouldWaitForTick).parseIntoContext()]; - case 1: - _a.sent(); - return [3, 3]; - case 2: - if (object instanceof PDFRawStream_default && object.dict.lookup(PDFName_default.of("Type")) === PDFName_default.of("XRef")) { - PDFXRefStreamParser_default.forStream(object).parseIntoContext(); - } else { - this.context.assign(ref, object); - } - _a.label = 3; - case 3: - return [2, ref]; - } - }); - }); - }; - PDFParser2.prototype.tryToParseInvalidIndirectObject = function() { - var startPos = this.bytes.position(); - var msg = "Trying to parse invalid object: " + JSON.stringify(startPos) + ")"; - if (this.throwOnInvalidObject) - throw new Error(msg); - console.warn(msg); - var ref = this.parseIndirectObjectHeader(); - console.warn("Invalid object ref: " + ref); - this.skipWhitespaceAndComments(); - var start = this.bytes.offset(); - var failed = true; - while (!this.bytes.done()) { - if (this.matchKeyword(Keywords.endobj)) { - failed = false; - } - if (!failed) - break; - this.bytes.next(); - } - if (failed) - throw new PDFInvalidObjectParsingError(startPos); - var end = this.bytes.offset() - Keywords.endobj.length; - var object = PDFInvalidObject_default.of(this.bytes.slice(start, end)); - this.context.assign(ref, object); - return ref; - }; - PDFParser2.prototype.parseIndirectObjects = function() { - return __awaiter(this, void 0, void 0, function() { - var initialOffset, e_1; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - this.skipWhitespaceAndComments(); - _a.label = 1; - case 1: - if (!(!this.bytes.done() && IsDigit[this.bytes.peek()])) return [3, 8]; - initialOffset = this.bytes.offset(); - _a.label = 2; - case 2: - _a.trys.push([2, 4, , 5]); - return [4, this.parseIndirectObject()]; - case 3: - _a.sent(); - return [3, 5]; - case 4: - e_1 = _a.sent(); - this.bytes.moveTo(initialOffset); - this.tryToParseInvalidIndirectObject(); - return [3, 5]; - case 5: - this.skipWhitespaceAndComments(); - this.skipJibberish(); - if (!this.shouldWaitForTick()) return [3, 7]; - return [4, waitForTick()]; - case 6: - _a.sent(); - _a.label = 7; - case 7: - return [3, 1]; - case 8: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFParser2.prototype.maybeParseCrossRefSection = function() { - this.skipWhitespaceAndComments(); - if (!this.matchKeyword(Keywords.xref)) - return; - this.skipWhitespaceAndComments(); - var objectNumber = -1; - var xref = PDFCrossRefSection_default.createEmpty(); - while (!this.bytes.done() && IsDigit[this.bytes.peek()]) { - var firstInt = this.parseRawInt(); - this.skipWhitespaceAndComments(); - var secondInt = this.parseRawInt(); - this.skipWhitespaceAndComments(); - var byte = this.bytes.peek(); - if (byte === CharCodes_default.n || byte === CharCodes_default.f) { - var ref = PDFRef_default.of(objectNumber, secondInt); - if (this.bytes.next() === CharCodes_default.n) { - xref.addEntry(ref, firstInt); - } else { - xref.addDeletedEntry(ref, firstInt); - } - objectNumber += 1; - } else { - objectNumber = firstInt; - } - this.skipWhitespaceAndComments(); - } - return xref; - }; - PDFParser2.prototype.maybeParseTrailerDict = function() { - this.skipWhitespaceAndComments(); - if (!this.matchKeyword(Keywords.trailer)) - return; - this.skipWhitespaceAndComments(); - var dict = this.parseDict(); - var context = this.context; - context.trailerInfo = { - Root: dict.get(PDFName_default.of("Root")) || context.trailerInfo.Root, - Encrypt: dict.get(PDFName_default.of("Encrypt")) || context.trailerInfo.Encrypt, - Info: dict.get(PDFName_default.of("Info")) || context.trailerInfo.Info, - ID: dict.get(PDFName_default.of("ID")) || context.trailerInfo.ID - }; - }; - PDFParser2.prototype.maybeParseTrailer = function() { - this.skipWhitespaceAndComments(); - if (!this.matchKeyword(Keywords.startxref)) - return; - this.skipWhitespaceAndComments(); - var offset = this.parseRawInt(); - this.skipWhitespace(); - this.matchKeyword(Keywords.eof); - this.skipWhitespaceAndComments(); - this.matchKeyword(Keywords.eof); - this.skipWhitespaceAndComments(); - return PDFTrailer_default.forLastCrossRefSectionOffset(offset); - }; - PDFParser2.prototype.parseDocumentSection = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.parseIndirectObjects()]; - case 1: - _a.sent(); - this.maybeParseCrossRefSection(); - this.maybeParseTrailerDict(); - this.maybeParseTrailer(); - this.skipJibberish(); - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFParser2.prototype.skipJibberish = function() { - this.skipWhitespaceAndComments(); - while (!this.bytes.done()) { - var initialOffset = this.bytes.offset(); - var byte = this.bytes.peek(); - var isAlphaNumeric = byte >= CharCodes_default.Space && byte <= CharCodes_default.Tilde; - if (isAlphaNumeric) { - if (this.matchKeyword(Keywords.xref) || this.matchKeyword(Keywords.trailer) || this.matchKeyword(Keywords.startxref) || this.matchIndirectObjectHeader()) { - this.bytes.moveTo(initialOffset); - break; - } - } - this.bytes.next(); - } - }; - PDFParser2.prototype.skipBinaryHeaderComment = function() { - this.skipWhitespaceAndComments(); - try { - var initialOffset = this.bytes.offset(); - this.parseIndirectObjectHeader(); - this.bytes.moveTo(initialOffset); - } catch (e) { - this.bytes.next(); - this.skipWhitespaceAndComments(); - } - }; - PDFParser2.forBytesWithOptions = function(pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers) { - return new PDFParser2(pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers); - }; - return PDFParser2; - })(PDFObjectParser_default) -); -var PDFParser_default = PDFParser; - -// ../../../node_modules/pdf-lib/es/core/annotation/flags.js -var flag2 = function(bitIndex) { - return 1 << bitIndex; -}; -var AnnotationFlags; -(function(AnnotationFlags2) { - AnnotationFlags2[AnnotationFlags2["Invisible"] = flag2(1 - 1)] = "Invisible"; - AnnotationFlags2[AnnotationFlags2["Hidden"] = flag2(2 - 1)] = "Hidden"; - AnnotationFlags2[AnnotationFlags2["Print"] = flag2(3 - 1)] = "Print"; - AnnotationFlags2[AnnotationFlags2["NoZoom"] = flag2(4 - 1)] = "NoZoom"; - AnnotationFlags2[AnnotationFlags2["NoRotate"] = flag2(5 - 1)] = "NoRotate"; - AnnotationFlags2[AnnotationFlags2["NoView"] = flag2(6 - 1)] = "NoView"; - AnnotationFlags2[AnnotationFlags2["ReadOnly"] = flag2(7 - 1)] = "ReadOnly"; - AnnotationFlags2[AnnotationFlags2["Locked"] = flag2(8 - 1)] = "Locked"; - AnnotationFlags2[AnnotationFlags2["ToggleNoView"] = flag2(9 - 1)] = "ToggleNoView"; - AnnotationFlags2[AnnotationFlags2["LockedContents"] = flag2(10 - 1)] = "LockedContents"; -})(AnnotationFlags || (AnnotationFlags = {})); - -// ../../../node_modules/pdf-lib/es/api/objects.js -var asPDFName = function(name) { - return name instanceof PDFName_default ? name : PDFName_default.of(name); -}; -var asPDFNumber = function(num) { - return num instanceof PDFNumber_default ? num : PDFNumber_default.of(num); -}; -var asNumber = function(num) { - return num instanceof PDFNumber_default ? num.asNumber() : num; -}; - -// ../../../node_modules/pdf-lib/es/api/rotations.js -var RotationTypes; -(function(RotationTypes2) { - RotationTypes2["Degrees"] = "degrees"; - RotationTypes2["Radians"] = "radians"; -})(RotationTypes || (RotationTypes = {})); -var degrees = function(degreeAngle) { - assertIs(degreeAngle, "degreeAngle", ["number"]); - return { type: RotationTypes.Degrees, angle: degreeAngle }; -}; -var Radians = RotationTypes.Radians; -var Degrees = RotationTypes.Degrees; -var degreesToRadians = function(degree) { - return degree * Math.PI / 180; -}; -var radiansToDegrees = function(radian) { - return radian * 180 / Math.PI; -}; -var toRadians = function(rotation) { - return rotation.type === Radians ? rotation.angle : rotation.type === Degrees ? degreesToRadians(rotation.angle) : error("Invalid rotation: " + JSON.stringify(rotation)); -}; -var toDegrees = function(rotation) { - return rotation.type === Radians ? radiansToDegrees(rotation.angle) : rotation.type === Degrees ? rotation.angle : error("Invalid rotation: " + JSON.stringify(rotation)); -}; -var reduceRotation = function(degreeAngle) { - if (degreeAngle === void 0) { - degreeAngle = 0; - } - var quadrants = degreeAngle / 90 % 4; - if (quadrants === 0) - return 0; - if (quadrants === 1) - return 90; - if (quadrants === 2) - return 180; - if (quadrants === 3) - return 270; - return 0; -}; -var adjustDimsForRotation = function(dims, degreeAngle) { - if (degreeAngle === void 0) { - degreeAngle = 0; - } - var rotation = reduceRotation(degreeAngle); - return rotation === 90 || rotation === 270 ? { width: dims.height, height: dims.width } : { width: dims.width, height: dims.height }; -}; -var rotateRectangle = function(rectangle, borderWidth, degreeAngle) { - if (borderWidth === void 0) { - borderWidth = 0; - } - if (degreeAngle === void 0) { - degreeAngle = 0; - } - var x = rectangle.x, y = rectangle.y, w = rectangle.width, h = rectangle.height; - var r = reduceRotation(degreeAngle); - var b = borderWidth / 2; - if (r === 0) - return { x: x - b, y: y - b, width: w, height: h }; - else if (r === 90) - return { x: x - h + b, y: y - b, width: h, height: w }; - else if (r === 180) - return { x: x - w + b, y: y - h + b, width: w, height: h }; - else if (r === 270) - return { x: x - b, y: y - w + b, width: h, height: w }; - else - return { x: x - b, y: y - b, width: w, height: h }; -}; - -// ../../../node_modules/pdf-lib/es/api/operators.js -var clip = function() { - return PDFOperator_default.of(PDFOperatorNames_default.ClipNonZero); -}; -var cos = Math.cos; -var sin = Math.sin; -var tan = Math.tan; -var concatTransformationMatrix = function(a, b, c, d, e, f) { - return PDFOperator_default.of(PDFOperatorNames_default.ConcatTransformationMatrix, [ - asPDFNumber(a), - asPDFNumber(b), - asPDFNumber(c), - asPDFNumber(d), - asPDFNumber(e), - asPDFNumber(f) - ]); -}; -var translate = function(xPos, yPos) { - return concatTransformationMatrix(1, 0, 0, 1, xPos, yPos); -}; -var scale = function(xPos, yPos) { - return concatTransformationMatrix(xPos, 0, 0, yPos, 0, 0); -}; -var rotateRadians = function(angle) { - return concatTransformationMatrix(cos(asNumber(angle)), sin(asNumber(angle)), -sin(asNumber(angle)), cos(asNumber(angle)), 0, 0); -}; -var rotateDegrees = function(angle) { - return rotateRadians(degreesToRadians(asNumber(angle))); -}; -var skewRadians = function(xSkewAngle, ySkewAngle) { - return concatTransformationMatrix(1, tan(asNumber(xSkewAngle)), tan(asNumber(ySkewAngle)), 1, 0, 0); -}; -var setDashPattern = function(dashArray, dashPhase) { - return PDFOperator_default.of(PDFOperatorNames_default.SetLineDashPattern, [ - "[" + dashArray.map(asPDFNumber).join(" ") + "]", - asPDFNumber(dashPhase) - ]); -}; -var LineCapStyle; -(function(LineCapStyle2) { - LineCapStyle2[LineCapStyle2["Butt"] = 0] = "Butt"; - LineCapStyle2[LineCapStyle2["Round"] = 1] = "Round"; - LineCapStyle2[LineCapStyle2["Projecting"] = 2] = "Projecting"; -})(LineCapStyle || (LineCapStyle = {})); -var setLineCap = function(style) { - return PDFOperator_default.of(PDFOperatorNames_default.SetLineCapStyle, [asPDFNumber(style)]); -}; -var LineJoinStyle; -(function(LineJoinStyle2) { - LineJoinStyle2[LineJoinStyle2["Miter"] = 0] = "Miter"; - LineJoinStyle2[LineJoinStyle2["Round"] = 1] = "Round"; - LineJoinStyle2[LineJoinStyle2["Bevel"] = 2] = "Bevel"; -})(LineJoinStyle || (LineJoinStyle = {})); -var setGraphicsState = function(state) { - return PDFOperator_default.of(PDFOperatorNames_default.SetGraphicsStateParams, [asPDFName(state)]); -}; -var pushGraphicsState = function() { - return PDFOperator_default.of(PDFOperatorNames_default.PushGraphicsState); -}; -var popGraphicsState = function() { - return PDFOperator_default.of(PDFOperatorNames_default.PopGraphicsState); -}; -var setLineWidth = function(width) { - return PDFOperator_default.of(PDFOperatorNames_default.SetLineWidth, [asPDFNumber(width)]); -}; -var appendBezierCurve = function(x1, y1, x2, y2, x3, y3) { - return PDFOperator_default.of(PDFOperatorNames_default.AppendBezierCurve, [ - asPDFNumber(x1), - asPDFNumber(y1), - asPDFNumber(x2), - asPDFNumber(y2), - asPDFNumber(x3), - asPDFNumber(y3) - ]); -}; -var appendQuadraticCurve = function(x1, y1, x2, y2) { - return PDFOperator_default.of(PDFOperatorNames_default.CurveToReplicateInitialPoint, [ - asPDFNumber(x1), - asPDFNumber(y1), - asPDFNumber(x2), - asPDFNumber(y2) - ]); -}; -var closePath = function() { - return PDFOperator_default.of(PDFOperatorNames_default.ClosePath); -}; -var moveTo = function(xPos, yPos) { - return PDFOperator_default.of(PDFOperatorNames_default.MoveTo, [asPDFNumber(xPos), asPDFNumber(yPos)]); -}; -var lineTo = function(xPos, yPos) { - return PDFOperator_default.of(PDFOperatorNames_default.LineTo, [asPDFNumber(xPos), asPDFNumber(yPos)]); -}; -var stroke = function() { - return PDFOperator_default.of(PDFOperatorNames_default.StrokePath); -}; -var fill = function() { - return PDFOperator_default.of(PDFOperatorNames_default.FillNonZero); -}; -var fillAndStroke = function() { - return PDFOperator_default.of(PDFOperatorNames_default.FillNonZeroAndStroke); -}; -var endPath = function() { - return PDFOperator_default.of(PDFOperatorNames_default.EndPath); -}; -var nextLine = function() { - return PDFOperator_default.of(PDFOperatorNames_default.NextLine); -}; -var showText = function(text) { - return PDFOperator_default.of(PDFOperatorNames_default.ShowText, [text]); -}; -var beginText = function() { - return PDFOperator_default.of(PDFOperatorNames_default.BeginText); -}; -var endText = function() { - return PDFOperator_default.of(PDFOperatorNames_default.EndText); -}; -var setFontAndSize = function(name, size) { - return PDFOperator_default.of(PDFOperatorNames_default.SetFontAndSize, [asPDFName(name), asPDFNumber(size)]); -}; -var setLineHeight = function(lineHeight) { - return PDFOperator_default.of(PDFOperatorNames_default.SetTextLineHeight, [asPDFNumber(lineHeight)]); -}; -var TextRenderingMode; -(function(TextRenderingMode2) { - TextRenderingMode2[TextRenderingMode2["Fill"] = 0] = "Fill"; - TextRenderingMode2[TextRenderingMode2["Outline"] = 1] = "Outline"; - TextRenderingMode2[TextRenderingMode2["FillAndOutline"] = 2] = "FillAndOutline"; - TextRenderingMode2[TextRenderingMode2["Invisible"] = 3] = "Invisible"; - TextRenderingMode2[TextRenderingMode2["FillAndClip"] = 4] = "FillAndClip"; - TextRenderingMode2[TextRenderingMode2["OutlineAndClip"] = 5] = "OutlineAndClip"; - TextRenderingMode2[TextRenderingMode2["FillAndOutlineAndClip"] = 6] = "FillAndOutlineAndClip"; - TextRenderingMode2[TextRenderingMode2["Clip"] = 7] = "Clip"; -})(TextRenderingMode || (TextRenderingMode = {})); -var setTextMatrix = function(a, b, c, d, e, f) { - return PDFOperator_default.of(PDFOperatorNames_default.SetTextMatrix, [ - asPDFNumber(a), - asPDFNumber(b), - asPDFNumber(c), - asPDFNumber(d), - asPDFNumber(e), - asPDFNumber(f) - ]); -}; -var rotateAndSkewTextRadiansAndTranslate = function(rotationAngle, xSkewAngle, ySkewAngle, x, y) { - return setTextMatrix(cos(asNumber(rotationAngle)), sin(asNumber(rotationAngle)) + tan(asNumber(xSkewAngle)), -sin(asNumber(rotationAngle)) + tan(asNumber(ySkewAngle)), cos(asNumber(rotationAngle)), x, y); -}; -var drawObject = function(name) { - return PDFOperator_default.of(PDFOperatorNames_default.DrawObject, [asPDFName(name)]); -}; -var setFillingGrayscaleColor = function(gray) { - return PDFOperator_default.of(PDFOperatorNames_default.NonStrokingColorGray, [asPDFNumber(gray)]); -}; -var setStrokingGrayscaleColor = function(gray) { - return PDFOperator_default.of(PDFOperatorNames_default.StrokingColorGray, [asPDFNumber(gray)]); -}; -var setFillingRgbColor = function(red, green, blue) { - return PDFOperator_default.of(PDFOperatorNames_default.NonStrokingColorRgb, [ - asPDFNumber(red), - asPDFNumber(green), - asPDFNumber(blue) - ]); -}; -var setStrokingRgbColor = function(red, green, blue) { - return PDFOperator_default.of(PDFOperatorNames_default.StrokingColorRgb, [ - asPDFNumber(red), - asPDFNumber(green), - asPDFNumber(blue) - ]); -}; -var setFillingCmykColor = function(cyan, magenta, yellow, key) { - return PDFOperator_default.of(PDFOperatorNames_default.NonStrokingColorCmyk, [ - asPDFNumber(cyan), - asPDFNumber(magenta), - asPDFNumber(yellow), - asPDFNumber(key) - ]); -}; -var setStrokingCmykColor = function(cyan, magenta, yellow, key) { - return PDFOperator_default.of(PDFOperatorNames_default.StrokingColorCmyk, [ - asPDFNumber(cyan), - asPDFNumber(magenta), - asPDFNumber(yellow), - asPDFNumber(key) - ]); -}; -var beginMarkedContent = function(tag) { - return PDFOperator_default.of(PDFOperatorNames_default.BeginMarkedContent, [asPDFName(tag)]); -}; -var endMarkedContent = function() { - return PDFOperator_default.of(PDFOperatorNames_default.EndMarkedContent); -}; - -// ../../../node_modules/pdf-lib/es/api/colors.js -var ColorTypes; -(function(ColorTypes2) { - ColorTypes2["Grayscale"] = "Grayscale"; - ColorTypes2["RGB"] = "RGB"; - ColorTypes2["CMYK"] = "CMYK"; -})(ColorTypes || (ColorTypes = {})); -var grayscale = function(gray) { - assertRange(gray, "gray", 0, 1); - return { type: ColorTypes.Grayscale, gray }; -}; -var rgb = function(red, green, blue) { - assertRange(red, "red", 0, 1); - assertRange(green, "green", 0, 1); - assertRange(blue, "blue", 0, 1); - return { type: ColorTypes.RGB, red, green, blue }; -}; -var cmyk = function(cyan, magenta, yellow, key) { - assertRange(cyan, "cyan", 0, 1); - assertRange(magenta, "magenta", 0, 1); - assertRange(yellow, "yellow", 0, 1); - assertRange(key, "key", 0, 1); - return { type: ColorTypes.CMYK, cyan, magenta, yellow, key }; -}; -var Grayscale = ColorTypes.Grayscale; -var RGB = ColorTypes.RGB; -var CMYK = ColorTypes.CMYK; -var setFillingColor = function(color) { - return color.type === Grayscale ? setFillingGrayscaleColor(color.gray) : color.type === RGB ? setFillingRgbColor(color.red, color.green, color.blue) : color.type === CMYK ? setFillingCmykColor(color.cyan, color.magenta, color.yellow, color.key) : error("Invalid color: " + JSON.stringify(color)); -}; -var setStrokingColor = function(color) { - return color.type === Grayscale ? setStrokingGrayscaleColor(color.gray) : color.type === RGB ? setStrokingRgbColor(color.red, color.green, color.blue) : color.type === CMYK ? setStrokingCmykColor(color.cyan, color.magenta, color.yellow, color.key) : error("Invalid color: " + JSON.stringify(color)); -}; -var componentsToColor = function(comps, scale2) { - if (scale2 === void 0) { - scale2 = 1; - } - return (comps === null || comps === void 0 ? void 0 : comps.length) === 1 ? grayscale(comps[0] * scale2) : (comps === null || comps === void 0 ? void 0 : comps.length) === 3 ? rgb(comps[0] * scale2, comps[1] * scale2, comps[2] * scale2) : (comps === null || comps === void 0 ? void 0 : comps.length) === 4 ? cmyk(comps[0] * scale2, comps[1] * scale2, comps[2] * scale2, comps[3] * scale2) : void 0; -}; -var colorToComponents = function(color) { - return color.type === Grayscale ? [color.gray] : color.type === RGB ? [color.red, color.green, color.blue] : color.type === CMYK ? [color.cyan, color.magenta, color.yellow, color.key] : error("Invalid color: " + JSON.stringify(color)); -}; - -// ../../../node_modules/pdf-lib/es/api/svgPath.js -var cx = 0; -var cy = 0; -var px = 0; -var py = 0; -var sx = 0; -var sy = 0; -var parameters = /* @__PURE__ */ new Map([ - ["A", 7], - ["a", 7], - ["C", 6], - ["c", 6], - ["H", 1], - ["h", 1], - ["L", 2], - ["l", 2], - ["M", 2], - ["m", 2], - ["Q", 4], - ["q", 4], - ["S", 4], - ["s", 4], - ["T", 2], - ["t", 2], - ["V", 1], - ["v", 1], - ["Z", 0], - ["z", 0] -]); -var parse = function(path) { - var cmd; - var ret = []; - var args = []; - var curArg = ""; - var foundDecimal = false; - var params = 0; - for (var _i = 0, path_1 = path; _i < path_1.length; _i++) { - var c = path_1[_i]; - if (parameters.has(c)) { - params = parameters.get(c); - if (cmd) { - if (curArg.length > 0) { - args[args.length] = +curArg; - } - ret[ret.length] = { cmd, args }; - args = []; - curArg = ""; - foundDecimal = false; - } - cmd = c; - } else if ([" ", ","].includes(c) || c === "-" && curArg.length > 0 && curArg[curArg.length - 1] !== "e" || c === "." && foundDecimal) { - if (curArg.length === 0) { - continue; - } - if (args.length === params) { - ret[ret.length] = { cmd, args }; - args = [+curArg]; - if (cmd === "M") { - cmd = "L"; - } - if (cmd === "m") { - cmd = "l"; - } - } else { - args[args.length] = +curArg; - } - foundDecimal = c === "."; - curArg = ["-", "."].includes(c) ? c : ""; - } else { - curArg += c; - if (c === ".") { - foundDecimal = true; - } - } - } - if (curArg.length > 0) { - if (args.length === params) { - ret[ret.length] = { cmd, args }; - args = [+curArg]; - if (cmd === "M") { - cmd = "L"; - } - if (cmd === "m") { - cmd = "l"; - } - } else { - args[args.length] = +curArg; - } - } - ret[ret.length] = { cmd, args }; - return ret; -}; -var apply = function(commands) { - cx = cy = px = py = sx = sy = 0; - var cmds = []; - for (var i = 0; i < commands.length; i++) { - var c = commands[i]; - if (c.cmd && typeof runners[c.cmd] === "function") { - var cmd = runners[c.cmd](c.args); - if (Array.isArray(cmd)) { - cmds = cmds.concat(cmd); - } else { - cmds.push(cmd); - } - } - } - return cmds; -}; -var runners = { - M: function(a) { - cx = a[0]; - cy = a[1]; - px = py = null; - sx = cx; - sy = cy; - return moveTo(cx, cy); - }, - m: function(a) { - cx += a[0]; - cy += a[1]; - px = py = null; - sx = cx; - sy = cy; - return moveTo(cx, cy); - }, - C: function(a) { - cx = a[4]; - cy = a[5]; - px = a[2]; - py = a[3]; - return appendBezierCurve(a[0], a[1], a[2], a[3], a[4], a[5]); - }, - c: function(a) { - var cmd = appendBezierCurve(a[0] + cx, a[1] + cy, a[2] + cx, a[3] + cy, a[4] + cx, a[5] + cy); - px = cx + a[2]; - py = cy + a[3]; - cx += a[4]; - cy += a[5]; - return cmd; - }, - S: function(a) { - if (px === null || py === null) { - px = cx; - py = cy; - } - var cmd = appendBezierCurve(cx - (px - cx), cy - (py - cy), a[0], a[1], a[2], a[3]); - px = a[0]; - py = a[1]; - cx = a[2]; - cy = a[3]; - return cmd; - }, - s: function(a) { - if (px === null || py === null) { - px = cx; - py = cy; - } - var cmd = appendBezierCurve(cx - (px - cx), cy - (py - cy), cx + a[0], cy + a[1], cx + a[2], cy + a[3]); - px = cx + a[0]; - py = cy + a[1]; - cx += a[2]; - cy += a[3]; - return cmd; - }, - Q: function(a) { - px = a[0]; - py = a[1]; - cx = a[2]; - cy = a[3]; - return appendQuadraticCurve(a[0], a[1], cx, cy); - }, - q: function(a) { - var cmd = appendQuadraticCurve(a[0] + cx, a[1] + cy, a[2] + cx, a[3] + cy); - px = cx + a[0]; - py = cy + a[1]; - cx += a[2]; - cy += a[3]; - return cmd; - }, - T: function(a) { - if (px === null || py === null) { - px = cx; - py = cy; - } else { - px = cx - (px - cx); - py = cy - (py - cy); - } - var cmd = appendQuadraticCurve(px, py, a[0], a[1]); - px = cx - (px - cx); - py = cy - (py - cy); - cx = a[0]; - cy = a[1]; - return cmd; - }, - t: function(a) { - if (px === null || py === null) { - px = cx; - py = cy; - } else { - px = cx - (px - cx); - py = cy - (py - cy); - } - var cmd = appendQuadraticCurve(px, py, cx + a[0], cy + a[1]); - cx += a[0]; - cy += a[1]; - return cmd; - }, - A: function(a) { - var cmds = solveArc(cx, cy, a); - cx = a[5]; - cy = a[6]; - return cmds; - }, - a: function(a) { - a[5] += cx; - a[6] += cy; - var cmds = solveArc(cx, cy, a); - cx = a[5]; - cy = a[6]; - return cmds; - }, - L: function(a) { - cx = a[0]; - cy = a[1]; - px = py = null; - return lineTo(cx, cy); - }, - l: function(a) { - cx += a[0]; - cy += a[1]; - px = py = null; - return lineTo(cx, cy); - }, - H: function(a) { - cx = a[0]; - px = py = null; - return lineTo(cx, cy); - }, - h: function(a) { - cx += a[0]; - px = py = null; - return lineTo(cx, cy); - }, - V: function(a) { - cy = a[0]; - px = py = null; - return lineTo(cx, cy); - }, - v: function(a) { - cy += a[0]; - px = py = null; - return lineTo(cx, cy); - }, - Z: function() { - var cmd = closePath(); - cx = sx; - cy = sy; - return cmd; - }, - z: function() { - var cmd = closePath(); - cx = sx; - cy = sy; - return cmd; - } -}; -var solveArc = function(x, y, coords) { - var rx = coords[0], ry = coords[1], rot = coords[2], large = coords[3], sweep = coords[4], ex = coords[5], ey = coords[6]; - var segs = arcToSegments(ex, ey, rx, ry, large, sweep, rot, x, y); - var cmds = []; - for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) { - var seg = segs_1[_i]; - var bez = segmentToBezier.apply(void 0, seg); - cmds.push(appendBezierCurve.apply(void 0, bez)); - } - return cmds; -}; -var arcToSegments = function(x, y, rx, ry, large, sweep, rotateX, ox, oy) { - var th = rotateX * (Math.PI / 180); - var sinTh = Math.sin(th); - var cosTh = Math.cos(th); - rx = Math.abs(rx); - ry = Math.abs(ry); - px = cosTh * (ox - x) * 0.5 + sinTh * (oy - y) * 0.5; - py = cosTh * (oy - y) * 0.5 - sinTh * (ox - x) * 0.5; - var pl = px * px / (rx * rx) + py * py / (ry * ry); - if (pl > 1) { - pl = Math.sqrt(pl); - rx *= pl; - ry *= pl; - } - var a00 = cosTh / rx; - var a01 = sinTh / rx; - var a10 = -sinTh / ry; - var a11 = cosTh / ry; - var x0 = a00 * ox + a01 * oy; - var y0 = a10 * ox + a11 * oy; - var x1 = a00 * x + a01 * y; - var y1 = a10 * x + a11 * y; - var d = (x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0); - var sfactorSq = 1 / d - 0.25; - if (sfactorSq < 0) { - sfactorSq = 0; - } - var sfactor = Math.sqrt(sfactorSq); - if (sweep === large) { - sfactor = -sfactor; - } - var xc = 0.5 * (x0 + x1) - sfactor * (y1 - y0); - var yc = 0.5 * (y0 + y1) + sfactor * (x1 - x0); - var th0 = Math.atan2(y0 - yc, x0 - xc); - var th1 = Math.atan2(y1 - yc, x1 - xc); - var thArc = th1 - th0; - if (thArc < 0 && sweep === 1) { - thArc += 2 * Math.PI; - } else if (thArc > 0 && sweep === 0) { - thArc -= 2 * Math.PI; - } - var segments = Math.ceil(Math.abs(thArc / (Math.PI * 0.5 + 1e-3))); - var result = []; - for (var i = 0; i < segments; i++) { - var th2 = th0 + i * thArc / segments; - var th3 = th0 + (i + 1) * thArc / segments; - result[i] = [xc, yc, th2, th3, rx, ry, sinTh, cosTh]; - } - return result; -}; -var segmentToBezier = function(cx1, cy1, th0, th1, rx, ry, sinTh, cosTh) { - var a00 = cosTh * rx; - var a01 = -sinTh * ry; - var a10 = sinTh * rx; - var a11 = cosTh * ry; - var thHalf = 0.5 * (th1 - th0); - var t = 8 / 3 * Math.sin(thHalf * 0.5) * Math.sin(thHalf * 0.5) / Math.sin(thHalf); - var x1 = cx1 + Math.cos(th0) - t * Math.sin(th0); - var y1 = cy1 + Math.sin(th0) + t * Math.cos(th0); - var x3 = cx1 + Math.cos(th1); - var y3 = cy1 + Math.sin(th1); - var x2 = x3 + t * Math.sin(th1); - var y2 = y3 - t * Math.cos(th1); - var result = [ - a00 * x1 + a01 * y1, - a10 * x1 + a11 * y1, - a00 * x2 + a01 * y2, - a10 * x2 + a11 * y2, - a00 * x3 + a01 * y3, - a10 * x3 + a11 * y3 - ]; - return result; -}; -var svgPathToOperators = function(path) { - return apply(parse(path)); -}; - -// ../../../node_modules/pdf-lib/es/api/operations.js -var drawLinesOfText = function(lines, options) { - var operators = [ - pushGraphicsState(), - options.graphicsState && setGraphicsState(options.graphicsState), - beginText(), - setFillingColor(options.color), - setFontAndSize(options.font, options.size), - setLineHeight(options.lineHeight), - rotateAndSkewTextRadiansAndTranslate(toRadians(options.rotate), toRadians(options.xSkew), toRadians(options.ySkew), options.x, options.y) - ].filter(Boolean); - for (var idx = 0, len = lines.length; idx < len; idx++) { - operators.push(showText(lines[idx]), nextLine()); - } - operators.push(endText(), popGraphicsState()); - return operators; -}; -var drawImage = function(name, options) { - return [ - pushGraphicsState(), - options.graphicsState && setGraphicsState(options.graphicsState), - translate(options.x, options.y), - rotateRadians(toRadians(options.rotate)), - scale(options.width, options.height), - skewRadians(toRadians(options.xSkew), toRadians(options.ySkew)), - drawObject(name), - popGraphicsState() - ].filter(Boolean); -}; -var drawPage = function(name, options) { - return [ - pushGraphicsState(), - options.graphicsState && setGraphicsState(options.graphicsState), - translate(options.x, options.y), - rotateRadians(toRadians(options.rotate)), - scale(options.xScale, options.yScale), - skewRadians(toRadians(options.xSkew), toRadians(options.ySkew)), - drawObject(name), - popGraphicsState() - ].filter(Boolean); -}; -var drawLine = function(options) { - var _a, _b; - return [ - pushGraphicsState(), - options.graphicsState && setGraphicsState(options.graphicsState), - options.color && setStrokingColor(options.color), - setLineWidth(options.thickness), - setDashPattern((_a = options.dashArray) !== null && _a !== void 0 ? _a : [], (_b = options.dashPhase) !== null && _b !== void 0 ? _b : 0), - moveTo(options.start.x, options.start.y), - options.lineCap && setLineCap(options.lineCap), - moveTo(options.start.x, options.start.y), - lineTo(options.end.x, options.end.y), - stroke(), - popGraphicsState() - ].filter(Boolean); -}; -var drawRectangle = function(options) { - var _a, _b; - return [ - pushGraphicsState(), - options.graphicsState && setGraphicsState(options.graphicsState), - options.color && setFillingColor(options.color), - options.borderColor && setStrokingColor(options.borderColor), - setLineWidth(options.borderWidth), - options.borderLineCap && setLineCap(options.borderLineCap), - setDashPattern((_a = options.borderDashArray) !== null && _a !== void 0 ? _a : [], (_b = options.borderDashPhase) !== null && _b !== void 0 ? _b : 0), - translate(options.x, options.y), - rotateRadians(toRadians(options.rotate)), - skewRadians(toRadians(options.xSkew), toRadians(options.ySkew)), - moveTo(0, 0), - lineTo(0, options.height), - lineTo(options.width, options.height), - lineTo(options.width, 0), - closePath(), - // prettier-ignore - options.color && options.borderWidth ? fillAndStroke() : options.color ? fill() : options.borderColor ? stroke() : closePath(), - popGraphicsState() - ].filter(Boolean); -}; -var KAPPA = 4 * ((Math.sqrt(2) - 1) / 3); -var drawEllipsePath = function(config) { - var x = asNumber(config.x); - var y = asNumber(config.y); - var xScale = asNumber(config.xScale); - var yScale = asNumber(config.yScale); - x -= xScale; - y -= yScale; - var ox = xScale * KAPPA; - var oy = yScale * KAPPA; - var xe = x + xScale * 2; - var ye = y + yScale * 2; - var xm = x + xScale; - var ym = y + yScale; - return [ - pushGraphicsState(), - moveTo(x, ym), - appendBezierCurve(x, ym - oy, xm - ox, y, xm, y), - appendBezierCurve(xm + ox, y, xe, ym - oy, xe, ym), - appendBezierCurve(xe, ym + oy, xm + ox, ye, xm, ye), - appendBezierCurve(xm - ox, ye, x, ym + oy, x, ym), - popGraphicsState() - ]; -}; -var drawEllipseCurves = function(config) { - var centerX = asNumber(config.x); - var centerY = asNumber(config.y); - var xScale = asNumber(config.xScale); - var yScale = asNumber(config.yScale); - var x = -xScale; - var y = -yScale; - var ox = xScale * KAPPA; - var oy = yScale * KAPPA; - var xe = x + xScale * 2; - var ye = y + yScale * 2; - var xm = x + xScale; - var ym = y + yScale; - return [ - translate(centerX, centerY), - rotateRadians(toRadians(config.rotate)), - moveTo(x, ym), - appendBezierCurve(x, ym - oy, xm - ox, y, xm, y), - appendBezierCurve(xm + ox, y, xe, ym - oy, xe, ym), - appendBezierCurve(xe, ym + oy, xm + ox, ye, xm, ye), - appendBezierCurve(xm - ox, ye, x, ym + oy, x, ym) - ]; -}; -var drawEllipse = function(options) { - var _a, _b, _c; - return __spreadArrays([ - pushGraphicsState(), - options.graphicsState && setGraphicsState(options.graphicsState), - options.color && setFillingColor(options.color), - options.borderColor && setStrokingColor(options.borderColor), - setLineWidth(options.borderWidth), - options.borderLineCap && setLineCap(options.borderLineCap), - setDashPattern((_a = options.borderDashArray) !== null && _a !== void 0 ? _a : [], (_b = options.borderDashPhase) !== null && _b !== void 0 ? _b : 0) - ], options.rotate === void 0 ? drawEllipsePath({ - x: options.x, - y: options.y, - xScale: options.xScale, - yScale: options.yScale - }) : drawEllipseCurves({ - x: options.x, - y: options.y, - xScale: options.xScale, - yScale: options.yScale, - rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : degrees(0) - }), [ - // prettier-ignore - options.color && options.borderWidth ? fillAndStroke() : options.color ? fill() : options.borderColor ? stroke() : closePath(), - popGraphicsState() - ]).filter(Boolean); -}; -var drawSvgPath = function(path, options) { - var _a, _b, _c; - return __spreadArrays([ - pushGraphicsState(), - options.graphicsState && setGraphicsState(options.graphicsState), - translate(options.x, options.y), - rotateRadians(toRadians((_a = options.rotate) !== null && _a !== void 0 ? _a : degrees(0))), - // SVG path Y axis is opposite pdf-lib's - options.scale ? scale(options.scale, -options.scale) : scale(1, -1), - options.color && setFillingColor(options.color), - options.borderColor && setStrokingColor(options.borderColor), - options.borderWidth && setLineWidth(options.borderWidth), - options.borderLineCap && setLineCap(options.borderLineCap), - setDashPattern((_b = options.borderDashArray) !== null && _b !== void 0 ? _b : [], (_c = options.borderDashPhase) !== null && _c !== void 0 ? _c : 0) - ], svgPathToOperators(path), [ - // prettier-ignore - options.color && options.borderWidth ? fillAndStroke() : options.color ? fill() : options.borderColor ? stroke() : closePath(), - popGraphicsState() - ]).filter(Boolean); -}; -var drawCheckMark = function(options) { - var size = asNumber(options.size); - var p2x = -1 + 0.75; - var p2y = -1 + 0.51; - var p3y = 1 - 0.525; - var p3x = 1 - 0.31; - var p1x = -1 + 0.325; - var p1y = -((p1x - p2x) * (p3x - p2x)) / (p3y - p2y) + p2y; - return [ - pushGraphicsState(), - options.color && setStrokingColor(options.color), - setLineWidth(options.thickness), - translate(options.x, options.y), - moveTo(p1x * size, p1y * size), - lineTo(p2x * size, p2y * size), - lineTo(p3x * size, p3y * size), - stroke(), - popGraphicsState() - ].filter(Boolean); -}; -var rotateInPlace = function(options) { - return options.rotation === 0 ? [ - translate(0, 0), - rotateDegrees(0) - ] : options.rotation === 90 ? [ - translate(options.width, 0), - rotateDegrees(90) - ] : options.rotation === 180 ? [ - translate(options.width, options.height), - rotateDegrees(180) - ] : options.rotation === 270 ? [ - translate(0, options.height), - rotateDegrees(270) - ] : []; -}; -var drawCheckBox = function(options) { - var outline = drawRectangle({ - x: options.x, - y: options.y, - width: options.width, - height: options.height, - borderWidth: options.borderWidth, - color: options.color, - borderColor: options.borderColor, - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - }); - if (!options.filled) - return outline; - var width = asNumber(options.width); - var height = asNumber(options.height); - var checkMarkSize = Math.min(width, height) / 2; - var checkMark = drawCheckMark({ - x: width / 2, - y: height / 2, - size: checkMarkSize, - thickness: options.thickness, - color: options.markColor - }); - return __spreadArrays([pushGraphicsState()], outline, checkMark, [popGraphicsState()]); -}; -var drawRadioButton = function(options) { - var width = asNumber(options.width); - var height = asNumber(options.height); - var outlineScale = Math.min(width, height) / 2; - var outline = drawEllipse({ - x: options.x, - y: options.y, - xScale: outlineScale, - yScale: outlineScale, - color: options.color, - borderColor: options.borderColor, - borderWidth: options.borderWidth - }); - if (!options.filled) - return outline; - var dot = drawEllipse({ - x: options.x, - y: options.y, - xScale: outlineScale * 0.45, - yScale: outlineScale * 0.45, - color: options.dotColor, - borderColor: void 0, - borderWidth: 0 - }); - return __spreadArrays([pushGraphicsState()], outline, dot, [popGraphicsState()]); -}; -var drawButton = function(options) { - var x = asNumber(options.x); - var y = asNumber(options.y); - var width = asNumber(options.width); - var height = asNumber(options.height); - var background = drawRectangle({ - x, - y, - width, - height, - borderWidth: options.borderWidth, - color: options.color, - borderColor: options.borderColor, - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - }); - var lines = drawTextLines(options.textLines, { - color: options.textColor, - font: options.font, - size: options.fontSize, - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - }); - return __spreadArrays([pushGraphicsState()], background, lines, [popGraphicsState()]); -}; -var drawTextLines = function(lines, options) { - var operators = [ - beginText(), - setFillingColor(options.color), - setFontAndSize(options.font, options.size) - ]; - for (var idx = 0, len = lines.length; idx < len; idx++) { - var _a = lines[idx], encoded = _a.encoded, x = _a.x, y = _a.y; - operators.push(rotateAndSkewTextRadiansAndTranslate(toRadians(options.rotate), toRadians(options.xSkew), toRadians(options.ySkew), x, y), showText(encoded)); - } - operators.push(endText()); - return operators; -}; -var drawTextField = function(options) { - var x = asNumber(options.x); - var y = asNumber(options.y); - var width = asNumber(options.width); - var height = asNumber(options.height); - var borderWidth = asNumber(options.borderWidth); - var padding = asNumber(options.padding); - var clipX = x + borderWidth / 2 + padding; - var clipY = y + borderWidth / 2 + padding; - var clipWidth = width - (borderWidth / 2 + padding) * 2; - var clipHeight = height - (borderWidth / 2 + padding) * 2; - var clippingArea = [ - moveTo(clipX, clipY), - lineTo(clipX, clipY + clipHeight), - lineTo(clipX + clipWidth, clipY + clipHeight), - lineTo(clipX + clipWidth, clipY), - closePath(), - clip(), - endPath() - ]; - var background = drawRectangle({ - x, - y, - width, - height, - borderWidth: options.borderWidth, - color: options.color, - borderColor: options.borderColor, - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - }); - var lines = drawTextLines(options.textLines, { - color: options.textColor, - font: options.font, - size: options.fontSize, - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - }); - var markedContent = __spreadArrays([ - beginMarkedContent("Tx"), - pushGraphicsState() - ], lines, [ - popGraphicsState(), - endMarkedContent() - ]); - return __spreadArrays([ - pushGraphicsState() - ], background, clippingArea, markedContent, [ - popGraphicsState() - ]); -}; -var drawOptionList = function(options) { - var x = asNumber(options.x); - var y = asNumber(options.y); - var width = asNumber(options.width); - var height = asNumber(options.height); - var lineHeight = asNumber(options.lineHeight); - var borderWidth = asNumber(options.borderWidth); - var padding = asNumber(options.padding); - var clipX = x + borderWidth / 2 + padding; - var clipY = y + borderWidth / 2 + padding; - var clipWidth = width - (borderWidth / 2 + padding) * 2; - var clipHeight = height - (borderWidth / 2 + padding) * 2; - var clippingArea = [ - moveTo(clipX, clipY), - lineTo(clipX, clipY + clipHeight), - lineTo(clipX + clipWidth, clipY + clipHeight), - lineTo(clipX + clipWidth, clipY), - closePath(), - clip(), - endPath() - ]; - var background = drawRectangle({ - x, - y, - width, - height, - borderWidth: options.borderWidth, - color: options.color, - borderColor: options.borderColor, - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - }); - var highlights = []; - for (var idx = 0, len = options.selectedLines.length; idx < len; idx++) { - var line = options.textLines[options.selectedLines[idx]]; - highlights.push.apply(highlights, drawRectangle({ - x: line.x - padding, - y: line.y - (lineHeight - line.height) / 2, - width: width - borderWidth, - height: line.height + (lineHeight - line.height) / 2, - borderWidth: 0, - color: options.selectedColor, - borderColor: void 0, - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - })); - } - var lines = drawTextLines(options.textLines, { - color: options.textColor, - font: options.font, - size: options.fontSize, - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - }); - var markedContent = __spreadArrays([ - beginMarkedContent("Tx"), - pushGraphicsState() - ], lines, [ - popGraphicsState(), - endMarkedContent() - ]); - return __spreadArrays([ - pushGraphicsState() - ], background, highlights, clippingArea, markedContent, [ - popGraphicsState() - ]); -}; - -// ../../../node_modules/pdf-lib/es/api/errors.js -var EncryptedPDFError = ( - /** @class */ - (function(_super) { - __extends(EncryptedPDFError2, _super); - function EncryptedPDFError2() { - var _this = this; - var msg = "Input document to `PDFDocument.load` is encrypted. You can use `PDFDocument.load(..., { ignoreEncryption: true })` if you wish to load the document anyways."; - _this = _super.call(this, msg) || this; - return _this; - } - return EncryptedPDFError2; - })(Error) -); -var FontkitNotRegisteredError = ( - /** @class */ - (function(_super) { - __extends(FontkitNotRegisteredError2, _super); - function FontkitNotRegisteredError2() { - var _this = this; - var msg = "Input to `PDFDocument.embedFont` was a custom font, but no `fontkit` instance was found. You must register a `fontkit` instance with `PDFDocument.registerFontkit(...)` before embedding custom fonts."; - _this = _super.call(this, msg) || this; - return _this; - } - return FontkitNotRegisteredError2; - })(Error) -); -var ForeignPageError = ( - /** @class */ - (function(_super) { - __extends(ForeignPageError2, _super); - function ForeignPageError2() { - var _this = this; - var msg = "A `page` passed to `PDFDocument.addPage` or `PDFDocument.insertPage` was from a different (foreign) PDF document. If you want to copy pages from one PDFDocument to another, you must use `PDFDocument.copyPages(...)` to copy the pages before adding or inserting them."; - _this = _super.call(this, msg) || this; - return _this; - } - return ForeignPageError2; - })(Error) -); -var RemovePageFromEmptyDocumentError = ( - /** @class */ - (function(_super) { - __extends(RemovePageFromEmptyDocumentError2, _super); - function RemovePageFromEmptyDocumentError2() { - var _this = this; - var msg = "PDFDocument has no pages so `PDFDocument.removePage` cannot be called"; - _this = _super.call(this, msg) || this; - return _this; - } - return RemovePageFromEmptyDocumentError2; - })(Error) -); -var NoSuchFieldError = ( - /** @class */ - (function(_super) { - __extends(NoSuchFieldError2, _super); - function NoSuchFieldError2(name) { - var _this = this; - var msg = 'PDFDocument has no form field with the name "' + name + '"'; - _this = _super.call(this, msg) || this; - return _this; - } - return NoSuchFieldError2; - })(Error) -); -var UnexpectedFieldTypeError = ( - /** @class */ - (function(_super) { - __extends(UnexpectedFieldTypeError2, _super); - function UnexpectedFieldTypeError2(name, expected, actual) { - var _a, _b; - var _this = this; - var expectedType = expected === null || expected === void 0 ? void 0 : expected.name; - var actualType = (_b = (_a = actual === null || actual === void 0 ? void 0 : actual.constructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : actual; - var msg = 'Expected field "' + name + '" to be of type ' + expectedType + ", " + ("but it is actually of type " + actualType); - _this = _super.call(this, msg) || this; - return _this; - } - return UnexpectedFieldTypeError2; - })(Error) -); -var MissingOnValueCheckError = ( - /** @class */ - (function(_super) { - __extends(MissingOnValueCheckError2, _super); - function MissingOnValueCheckError2(onValue) { - var _this = this; - var msg = 'Failed to select check box due to missing onValue: "' + onValue + '"'; - _this = _super.call(this, msg) || this; - return _this; - } - return MissingOnValueCheckError2; - })(Error) -); -var FieldAlreadyExistsError = ( - /** @class */ - (function(_super) { - __extends(FieldAlreadyExistsError2, _super); - function FieldAlreadyExistsError2(name) { - var _this = this; - var msg = 'A field already exists with the specified name: "' + name + '"'; - _this = _super.call(this, msg) || this; - return _this; - } - return FieldAlreadyExistsError2; - })(Error) -); -var InvalidFieldNamePartError = ( - /** @class */ - (function(_super) { - __extends(InvalidFieldNamePartError2, _super); - function InvalidFieldNamePartError2(namePart) { - var _this = this; - var msg = 'Field name contains invalid component: "' + namePart + '"'; - _this = _super.call(this, msg) || this; - return _this; - } - return InvalidFieldNamePartError2; - })(Error) -); -var FieldExistsAsNonTerminalError = ( - /** @class */ - (function(_super) { - __extends(FieldExistsAsNonTerminalError2, _super); - function FieldExistsAsNonTerminalError2(name) { - var _this = this; - var msg = 'A non-terminal field already exists with the specified name: "' + name + '"'; - _this = _super.call(this, msg) || this; - return _this; - } - return FieldExistsAsNonTerminalError2; - })(Error) -); -var RichTextFieldReadError = ( - /** @class */ - (function(_super) { - __extends(RichTextFieldReadError2, _super); - function RichTextFieldReadError2(fieldName) { - var _this = this; - var msg = "Reading rich text fields is not supported: Attempted to read rich text field: " + fieldName; - _this = _super.call(this, msg) || this; - return _this; - } - return RichTextFieldReadError2; - })(Error) -); -var CombedTextLayoutError = ( - /** @class */ - (function(_super) { - __extends(CombedTextLayoutError2, _super); - function CombedTextLayoutError2(lineLength, cellCount) { - var _this = this; - var msg = "Failed to layout combed text as lineLength=" + lineLength + " is greater than cellCount=" + cellCount; - _this = _super.call(this, msg) || this; - return _this; - } - return CombedTextLayoutError2; - })(Error) -); -var ExceededMaxLengthError = ( - /** @class */ - (function(_super) { - __extends(ExceededMaxLengthError2, _super); - function ExceededMaxLengthError2(textLength, maxLength, name) { - var _this = this; - var msg = "Attempted to set text with length=" + textLength + " for TextField with maxLength=" + maxLength + " and name=" + name; - _this = _super.call(this, msg) || this; - return _this; - } - return ExceededMaxLengthError2; - })(Error) -); -var InvalidMaxLengthError = ( - /** @class */ - (function(_super) { - __extends(InvalidMaxLengthError2, _super); - function InvalidMaxLengthError2(textLength, maxLength, name) { - var _this = this; - var msg = "Attempted to set maxLength=" + maxLength + ", which is less than " + textLength + ", the length of this field's current value (name=" + name + ")"; - _this = _super.call(this, msg) || this; - return _this; - } - return InvalidMaxLengthError2; - })(Error) -); - -// ../../../node_modules/pdf-lib/es/api/text/alignment.js -var TextAlignment; -(function(TextAlignment2) { - TextAlignment2[TextAlignment2["Left"] = 0] = "Left"; - TextAlignment2[TextAlignment2["Center"] = 1] = "Center"; - TextAlignment2[TextAlignment2["Right"] = 2] = "Right"; -})(TextAlignment || (TextAlignment = {})); - -// ../../../node_modules/pdf-lib/es/api/text/layout.js -var MIN_FONT_SIZE = 4; -var MAX_FONT_SIZE = 500; -var computeFontSize = function(lines, font, bounds, multiline) { - if (multiline === void 0) { - multiline = false; - } - var fontSize = MIN_FONT_SIZE; - while (fontSize < MAX_FONT_SIZE) { - var linesUsed = 0; - for (var lineIdx = 0, lineLen = lines.length; lineIdx < lineLen; lineIdx++) { - linesUsed += 1; - var line = lines[lineIdx]; - var words = line.split(" "); - var spaceInLineRemaining = bounds.width; - for (var idx = 0, len = words.length; idx < len; idx++) { - var isLastWord = idx === len - 1; - var word = isLastWord ? words[idx] : words[idx] + " "; - var widthOfWord = font.widthOfTextAtSize(word, fontSize); - spaceInLineRemaining -= widthOfWord; - if (spaceInLineRemaining <= 0) { - linesUsed += 1; - spaceInLineRemaining = bounds.width - widthOfWord; - } - } - } - if (!multiline && linesUsed > lines.length) - return fontSize - 1; - var height = font.heightAtSize(fontSize); - var lineHeight = height + height * 0.2; - var totalHeight = lineHeight * linesUsed; - if (totalHeight > Math.abs(bounds.height)) - return fontSize - 1; - fontSize += 1; - } - return fontSize; -}; -var computeCombedFontSize = function(line, font, bounds, cellCount) { - var cellWidth = bounds.width / cellCount; - var cellHeight = bounds.height; - var fontSize = MIN_FONT_SIZE; - var chars3 = charSplit(line); - while (fontSize < MAX_FONT_SIZE) { - for (var idx = 0, len = chars3.length; idx < len; idx++) { - var c = chars3[idx]; - var tooLong = font.widthOfTextAtSize(c, fontSize) > cellWidth * 0.75; - if (tooLong) - return fontSize - 1; - } - var height = font.heightAtSize(fontSize, { descender: false }); - if (height > cellHeight) - return fontSize - 1; - fontSize += 1; - } - return fontSize; -}; -var lastIndexOfWhitespace = function(line) { - for (var idx = line.length; idx > 0; idx--) { - if (/\s/.test(line[idx])) - return idx; - } - return void 0; -}; -var splitOutLines = function(input, maxWidth, font, fontSize) { - var _a; - var lastWhitespaceIdx = input.length; - while (lastWhitespaceIdx > 0) { - var line = input.substring(0, lastWhitespaceIdx); - var encoded = font.encodeText(line); - var width = font.widthOfTextAtSize(line, fontSize); - if (width < maxWidth) { - var remainder = input.substring(lastWhitespaceIdx) || void 0; - return { line, encoded, width, remainder }; - } - lastWhitespaceIdx = (_a = lastIndexOfWhitespace(line)) !== null && _a !== void 0 ? _a : 0; - } - return { - line: input, - encoded: font.encodeText(input), - width: font.widthOfTextAtSize(input, fontSize), - remainder: void 0 - }; -}; -var layoutMultilineText = function(text, _a) { - var alignment = _a.alignment, fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds; - var lines = lineSplit(cleanText(text)); - if (fontSize === void 0 || fontSize === 0) { - fontSize = computeFontSize(lines, font, bounds, true); - } - var height = font.heightAtSize(fontSize); - var lineHeight = height + height * 0.2; - var textLines = []; - var minX = bounds.x; - var minY = bounds.y; - var maxX = bounds.x + bounds.width; - var maxY = bounds.y + bounds.height; - var y = bounds.y + bounds.height; - for (var idx = 0, len = lines.length; idx < len; idx++) { - var prevRemainder = lines[idx]; - while (prevRemainder !== void 0) { - var _b = splitOutLines(prevRemainder, bounds.width, font, fontSize), line = _b.line, encoded = _b.encoded, width = _b.width, remainder = _b.remainder; - var x = alignment === TextAlignment.Left ? bounds.x : alignment === TextAlignment.Center ? bounds.x + bounds.width / 2 - width / 2 : alignment === TextAlignment.Right ? bounds.x + bounds.width - width : bounds.x; - y -= lineHeight; - if (x < minX) - minX = x; - if (y < minY) - minY = y; - if (x + width > maxX) - maxX = x + width; - if (y + height > maxY) - maxY = y + height; - textLines.push({ text: line, encoded, width, height, x, y }); - prevRemainder = remainder === null || remainder === void 0 ? void 0 : remainder.trim(); - } - } - return { - fontSize, - lineHeight, - lines: textLines, - bounds: { - x: minX, - y: minY, - width: maxX - minX, - height: maxY - minY - } - }; -}; -var layoutCombedText = function(text, _a) { - var fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds, cellCount = _a.cellCount; - var line = mergeLines(cleanText(text)); - if (line.length > cellCount) { - throw new CombedTextLayoutError(line.length, cellCount); - } - if (fontSize === void 0 || fontSize === 0) { - fontSize = computeCombedFontSize(line, font, bounds, cellCount); - } - var cellWidth = bounds.width / cellCount; - var height = font.heightAtSize(fontSize, { descender: false }); - var y = bounds.y + (bounds.height / 2 - height / 2); - var cells = []; - var minX = bounds.x; - var minY = bounds.y; - var maxX = bounds.x + bounds.width; - var maxY = bounds.y + bounds.height; - var cellOffset = 0; - var charOffset = 0; - while (cellOffset < cellCount) { - var _b = charAtIndex(line, charOffset), char = _b[0], charLength = _b[1]; - var encoded = font.encodeText(char); - var width = font.widthOfTextAtSize(char, fontSize); - var cellCenter = bounds.x + (cellWidth * cellOffset + cellWidth / 2); - var x = cellCenter - width / 2; - if (x < minX) - minX = x; - if (y < minY) - minY = y; - if (x + width > maxX) - maxX = x + width; - if (y + height > maxY) - maxY = y + height; - cells.push({ text: line, encoded, width, height, x, y }); - cellOffset += 1; - charOffset += charLength; - } - return { - fontSize, - cells, - bounds: { - x: minX, - y: minY, - width: maxX - minX, - height: maxY - minY - } - }; -}; -var layoutSinglelineText = function(text, _a) { - var alignment = _a.alignment, fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds; - var line = mergeLines(cleanText(text)); - if (fontSize === void 0 || fontSize === 0) { - fontSize = computeFontSize([line], font, bounds); - } - var encoded = font.encodeText(line); - var width = font.widthOfTextAtSize(line, fontSize); - var height = font.heightAtSize(fontSize, { descender: false }); - var x = alignment === TextAlignment.Left ? bounds.x : alignment === TextAlignment.Center ? bounds.x + bounds.width / 2 - width / 2 : alignment === TextAlignment.Right ? bounds.x + bounds.width - width : bounds.x; - var y = bounds.y + (bounds.height / 2 - height / 2); - return { - fontSize, - line: { text: line, encoded, width, height, x, y }, - bounds: { x, y, width, height } - }; -}; - -// ../../../node_modules/pdf-lib/es/api/form/appearances.js -var normalizeAppearance = function(appearance) { - if ("normal" in appearance) - return appearance; - return { normal: appearance }; -}; -var tfRegex2 = /\/([^\0\t\n\f\r\ ]+)[\0\t\n\f\r\ ]+(\d*\.\d+|\d+)[\0\t\n\f\r\ ]+Tf/; -var getDefaultFontSize = function(field) { - var _a, _b; - var da = (_a = field.getDefaultAppearance()) !== null && _a !== void 0 ? _a : ""; - var daMatch = (_b = findLastMatch(da, tfRegex2).match) !== null && _b !== void 0 ? _b : []; - var defaultFontSize = Number(daMatch[2]); - return isFinite(defaultFontSize) ? defaultFontSize : void 0; -}; -var colorRegex = /(\d*\.\d+|\d+)[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]+(g|rg|k)/; -var getDefaultColor = function(field) { - var _a; - var da = (_a = field.getDefaultAppearance()) !== null && _a !== void 0 ? _a : ""; - var daMatch = findLastMatch(da, colorRegex).match; - var _b = daMatch !== null && daMatch !== void 0 ? daMatch : [], c1 = _b[1], c2 = _b[2], c3 = _b[3], c4 = _b[4], colorSpace = _b[5]; - if (colorSpace === "g" && c1) { - return grayscale(Number(c1)); - } - if (colorSpace === "rg" && c1 && c2 && c3) { - return rgb(Number(c1), Number(c2), Number(c3)); - } - if (colorSpace === "k" && c1 && c2 && c3 && c4) { - return cmyk(Number(c1), Number(c2), Number(c3), Number(c4)); - } - return void 0; -}; -var updateDefaultAppearance = function(field, color, font, fontSize) { - var _a; - if (fontSize === void 0) { - fontSize = 0; - } - var da = [ - setFillingColor(color).toString(), - setFontAndSize((_a = font === null || font === void 0 ? void 0 : font.name) !== null && _a !== void 0 ? _a : "dummy__noop", fontSize).toString() - ].join("\n"); - field.setDefaultAppearance(da); -}; -var defaultCheckBoxAppearanceProvider = function(checkBox, widget) { - var _a, _b, _c; - var widgetColor = getDefaultColor(widget); - var fieldColor = getDefaultColor(checkBox.acroField); - var rectangle = widget.getRectangle(); - var ap = widget.getAppearanceCharacteristics(); - var bs = widget.getBorderStyle(); - var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0; - var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); - var _d = adjustDimsForRotation(rectangle, rotation), width = _d.width, height = _d.height; - var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); - var black = rgb(0, 0, 0); - var borderColor = (_b = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor())) !== null && _b !== void 0 ? _b : black; - var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); - var downBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8); - var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black; - if (widgetColor) { - updateDefaultAppearance(widget, textColor); - } else { - updateDefaultAppearance(checkBox.acroField, textColor); - } - var options = { - x: 0 + borderWidth / 2, - y: 0 + borderWidth / 2, - width: width - borderWidth, - height: height - borderWidth, - thickness: 1.5, - borderWidth, - borderColor, - markColor: textColor - }; - return { - normal: { - on: __spreadArrays(rotate, drawCheckBox(__assign(__assign({}, options), { color: normalBackgroundColor, filled: true }))), - off: __spreadArrays(rotate, drawCheckBox(__assign(__assign({}, options), { color: normalBackgroundColor, filled: false }))) - }, - down: { - on: __spreadArrays(rotate, drawCheckBox(__assign(__assign({}, options), { color: downBackgroundColor, filled: true }))), - off: __spreadArrays(rotate, drawCheckBox(__assign(__assign({}, options), { color: downBackgroundColor, filled: false }))) - } - }; -}; -var defaultRadioGroupAppearanceProvider = function(radioGroup, widget) { - var _a, _b, _c; - var widgetColor = getDefaultColor(widget); - var fieldColor = getDefaultColor(radioGroup.acroField); - var rectangle = widget.getRectangle(); - var ap = widget.getAppearanceCharacteristics(); - var bs = widget.getBorderStyle(); - var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0; - var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); - var _d = adjustDimsForRotation(rectangle, rotation), width = _d.width, height = _d.height; - var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); - var black = rgb(0, 0, 0); - var borderColor = (_b = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor())) !== null && _b !== void 0 ? _b : black; - var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); - var downBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8); - var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black; - if (widgetColor) { - updateDefaultAppearance(widget, textColor); - } else { - updateDefaultAppearance(radioGroup.acroField, textColor); - } - var options = { - x: width / 2, - y: height / 2, - width: width - borderWidth, - height: height - borderWidth, - borderWidth, - borderColor, - dotColor: textColor - }; - return { - normal: { - on: __spreadArrays(rotate, drawRadioButton(__assign(__assign({}, options), { color: normalBackgroundColor, filled: true }))), - off: __spreadArrays(rotate, drawRadioButton(__assign(__assign({}, options), { color: normalBackgroundColor, filled: false }))) - }, - down: { - on: __spreadArrays(rotate, drawRadioButton(__assign(__assign({}, options), { color: downBackgroundColor, filled: true }))), - off: __spreadArrays(rotate, drawRadioButton(__assign(__assign({}, options), { color: downBackgroundColor, filled: false }))) - } - }; -}; -var defaultButtonAppearanceProvider = function(button, widget, font) { - var _a, _b, _c, _d, _e; - var widgetColor = getDefaultColor(widget); - var fieldColor = getDefaultColor(button.acroField); - var widgetFontSize = getDefaultFontSize(widget); - var fieldFontSize = getDefaultFontSize(button.acroField); - var rectangle = widget.getRectangle(); - var ap = widget.getAppearanceCharacteristics(); - var bs = widget.getBorderStyle(); - var captions = ap === null || ap === void 0 ? void 0 : ap.getCaptions(); - var normalText = (_a = captions === null || captions === void 0 ? void 0 : captions.normal) !== null && _a !== void 0 ? _a : ""; - var downText = (_c = (_b = captions === null || captions === void 0 ? void 0 : captions.down) !== null && _b !== void 0 ? _b : normalText) !== null && _c !== void 0 ? _c : ""; - var borderWidth = (_d = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _d !== void 0 ? _d : 0; - var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); - var _f = adjustDimsForRotation(rectangle, rotation), width = _f.width, height = _f.height; - var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); - var black = rgb(0, 0, 0); - var borderColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor()); - var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); - var downBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8); - var bounds = { - x: borderWidth, - y: borderWidth, - width: width - borderWidth * 2, - height: height - borderWidth * 2 - }; - var normalLayout = layoutSinglelineText(normalText, { - alignment: TextAlignment.Center, - fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, - font, - bounds - }); - var downLayout = layoutSinglelineText(downText, { - alignment: TextAlignment.Center, - fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, - font, - bounds - }); - var fontSize = Math.min(normalLayout.fontSize, downLayout.fontSize); - var textColor = (_e = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _e !== void 0 ? _e : black; - if (widgetColor || widgetFontSize !== void 0) { - updateDefaultAppearance(widget, textColor, font, fontSize); - } else { - updateDefaultAppearance(button.acroField, textColor, font, fontSize); - } - var options = { - x: 0 + borderWidth / 2, - y: 0 + borderWidth / 2, - width: width - borderWidth, - height: height - borderWidth, - borderWidth, - borderColor, - textColor, - font: font.name, - fontSize - }; - return { - normal: __spreadArrays(rotate, drawButton(__assign(__assign({}, options), { color: normalBackgroundColor, textLines: [normalLayout.line] }))), - down: __spreadArrays(rotate, drawButton(__assign(__assign({}, options), { color: downBackgroundColor, textLines: [downLayout.line] }))) - }; -}; -var defaultTextFieldAppearanceProvider = function(textField, widget, font) { - var _a, _b, _c, _d; - var widgetColor = getDefaultColor(widget); - var fieldColor = getDefaultColor(textField.acroField); - var widgetFontSize = getDefaultFontSize(widget); - var fieldFontSize = getDefaultFontSize(textField.acroField); - var rectangle = widget.getRectangle(); - var ap = widget.getAppearanceCharacteristics(); - var bs = widget.getBorderStyle(); - var text = (_a = textField.getText()) !== null && _a !== void 0 ? _a : ""; - var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0; - var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); - var _e = adjustDimsForRotation(rectangle, rotation), width = _e.width, height = _e.height; - var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); - var black = rgb(0, 0, 0); - var borderColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor()); - var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); - var textLines; - var fontSize; - var padding = textField.isCombed() ? 0 : 1; - var bounds = { - x: borderWidth + padding, - y: borderWidth + padding, - width: width - (borderWidth + padding) * 2, - height: height - (borderWidth + padding) * 2 - }; - if (textField.isMultiline()) { - var layout = layoutMultilineText(text, { - alignment: textField.getAlignment(), - fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, - font, - bounds - }); - textLines = layout.lines; - fontSize = layout.fontSize; - } else if (textField.isCombed()) { - var layout = layoutCombedText(text, { - fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, - font, - bounds, - cellCount: (_c = textField.getMaxLength()) !== null && _c !== void 0 ? _c : 0 - }); - textLines = layout.cells; - fontSize = layout.fontSize; - } else { - var layout = layoutSinglelineText(text, { - alignment: textField.getAlignment(), - fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, - font, - bounds - }); - textLines = [layout.line]; - fontSize = layout.fontSize; - } - var textColor = (_d = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _d !== void 0 ? _d : black; - if (widgetColor || widgetFontSize !== void 0) { - updateDefaultAppearance(widget, textColor, font, fontSize); - } else { - updateDefaultAppearance(textField.acroField, textColor, font, fontSize); - } - var options = { - x: 0 + borderWidth / 2, - y: 0 + borderWidth / 2, - width: width - borderWidth, - height: height - borderWidth, - borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0, - borderColor, - textColor, - font: font.name, - fontSize, - color: normalBackgroundColor, - textLines, - padding - }; - return __spreadArrays(rotate, drawTextField(options)); -}; -var defaultDropdownAppearanceProvider = function(dropdown, widget, font) { - var _a, _b, _c; - var widgetColor = getDefaultColor(widget); - var fieldColor = getDefaultColor(dropdown.acroField); - var widgetFontSize = getDefaultFontSize(widget); - var fieldFontSize = getDefaultFontSize(dropdown.acroField); - var rectangle = widget.getRectangle(); - var ap = widget.getAppearanceCharacteristics(); - var bs = widget.getBorderStyle(); - var text = (_a = dropdown.getSelected()[0]) !== null && _a !== void 0 ? _a : ""; - var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0; - var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); - var _d = adjustDimsForRotation(rectangle, rotation), width = _d.width, height = _d.height; - var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); - var black = rgb(0, 0, 0); - var borderColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor()); - var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); - var padding = 1; - var bounds = { - x: borderWidth + padding, - y: borderWidth + padding, - width: width - (borderWidth + padding) * 2, - height: height - (borderWidth + padding) * 2 - }; - var _e = layoutSinglelineText(text, { - alignment: TextAlignment.Left, - fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, - font, - bounds - }), line = _e.line, fontSize = _e.fontSize; - var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black; - if (widgetColor || widgetFontSize !== void 0) { - updateDefaultAppearance(widget, textColor, font, fontSize); - } else { - updateDefaultAppearance(dropdown.acroField, textColor, font, fontSize); - } - var options = { - x: 0 + borderWidth / 2, - y: 0 + borderWidth / 2, - width: width - borderWidth, - height: height - borderWidth, - borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0, - borderColor, - textColor, - font: font.name, - fontSize, - color: normalBackgroundColor, - textLines: [line], - padding - }; - return __spreadArrays(rotate, drawTextField(options)); -}; -var defaultOptionListAppearanceProvider = function(optionList, widget, font) { - var _a, _b; - var widgetColor = getDefaultColor(widget); - var fieldColor = getDefaultColor(optionList.acroField); - var widgetFontSize = getDefaultFontSize(widget); - var fieldFontSize = getDefaultFontSize(optionList.acroField); - var rectangle = widget.getRectangle(); - var ap = widget.getAppearanceCharacteristics(); - var bs = widget.getBorderStyle(); - var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0; - var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); - var _c = adjustDimsForRotation(rectangle, rotation), width = _c.width, height = _c.height; - var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); - var black = rgb(0, 0, 0); - var borderColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor()); - var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); - var options = optionList.getOptions(); - var selected = optionList.getSelected(); - if (optionList.isSorted()) - options.sort(); - var text = ""; - for (var idx = 0, len = options.length; idx < len; idx++) { - text += options[idx]; - if (idx < len - 1) - text += "\n"; - } - var padding = 1; - var bounds = { - x: borderWidth + padding, - y: borderWidth + padding, - width: width - (borderWidth + padding) * 2, - height: height - (borderWidth + padding) * 2 - }; - var _d = layoutMultilineText(text, { - alignment: TextAlignment.Left, - fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, - font, - bounds - }), lines = _d.lines, fontSize = _d.fontSize, lineHeight = _d.lineHeight; - var selectedLines = []; - for (var idx = 0, len = lines.length; idx < len; idx++) { - var line = lines[idx]; - if (selected.includes(line.text)) - selectedLines.push(idx); - } - var blue = rgb(153 / 255, 193 / 255, 218 / 255); - var textColor = (_b = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _b !== void 0 ? _b : black; - if (widgetColor || widgetFontSize !== void 0) { - updateDefaultAppearance(widget, textColor, font, fontSize); - } else { - updateDefaultAppearance(optionList.acroField, textColor, font, fontSize); - } - return __spreadArrays(rotate, drawOptionList({ - x: 0 + borderWidth / 2, - y: 0 + borderWidth / 2, - width: width - borderWidth, - height: height - borderWidth, - borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0, - borderColor, - textColor, - font: font.name, - fontSize, - color: normalBackgroundColor, - textLines: lines, - lineHeight, - selectedColor: blue, - selectedLines, - padding - })); -}; - -// ../../../node_modules/pdf-lib/es/api/PDFEmbeddedPage.js -var PDFEmbeddedPage = ( - /** @class */ - (function() { - function PDFEmbeddedPage2(ref, doc, embedder) { - this.alreadyEmbedded = false; - assertIs(ref, "ref", [[PDFRef_default, "PDFRef"]]); - assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); - assertIs(embedder, "embedder", [[PDFPageEmbedder_default, "PDFPageEmbedder"]]); - this.ref = ref; - this.doc = doc; - this.width = embedder.width; - this.height = embedder.height; - this.embedder = embedder; - } - PDFEmbeddedPage2.prototype.scale = function(factor) { - assertIs(factor, "factor", ["number"]); - return { width: this.width * factor, height: this.height * factor }; - }; - PDFEmbeddedPage2.prototype.size = function() { - return this.scale(1); - }; - PDFEmbeddedPage2.prototype.embed = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (!!this.alreadyEmbedded) return [3, 2]; - return [4, this.embedder.embedIntoContext(this.doc.context, this.ref)]; - case 1: - _a.sent(); - this.alreadyEmbedded = true; - _a.label = 2; - case 2: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFEmbeddedPage2.of = function(ref, doc, embedder) { - return new PDFEmbeddedPage2(ref, doc, embedder); - }; - return PDFEmbeddedPage2; - })() -); -var PDFEmbeddedPage_default = PDFEmbeddedPage; - -// ../../../node_modules/pdf-lib/es/api/PDFFont.js -var PDFFont = ( - /** @class */ - (function() { - function PDFFont2(ref, doc, embedder) { - this.modified = true; - assertIs(ref, "ref", [[PDFRef_default, "PDFRef"]]); - assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); - assertIs(embedder, "embedder", [ - [CustomFontEmbedder_default, "CustomFontEmbedder"], - [StandardFontEmbedder_default, "StandardFontEmbedder"] - ]); - this.ref = ref; - this.doc = doc; - this.name = embedder.fontName; - this.embedder = embedder; - } - PDFFont2.prototype.encodeText = function(text) { - assertIs(text, "text", ["string"]); - this.modified = true; - return this.embedder.encodeText(text); - }; - PDFFont2.prototype.widthOfTextAtSize = function(text, size) { - assertIs(text, "text", ["string"]); - assertIs(size, "size", ["number"]); - return this.embedder.widthOfTextAtSize(text, size); - }; - PDFFont2.prototype.heightAtSize = function(size, options) { - var _a; - assertIs(size, "size", ["number"]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.descender, "options.descender", ["boolean"]); - return this.embedder.heightOfFontAtSize(size, { - descender: (_a = options === null || options === void 0 ? void 0 : options.descender) !== null && _a !== void 0 ? _a : true - }); - }; - PDFFont2.prototype.sizeAtHeight = function(height) { - assertIs(height, "height", ["number"]); - return this.embedder.sizeOfFontAtHeight(height); - }; - PDFFont2.prototype.getCharacterSet = function() { - if (this.embedder instanceof StandardFontEmbedder_default) { - return this.embedder.encoding.supportedCodePoints; - } else { - return this.embedder.font.characterSet; - } - }; - PDFFont2.prototype.embed = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (!this.modified) return [3, 2]; - return [4, this.embedder.embedIntoContext(this.doc.context, this.ref)]; - case 1: - _a.sent(); - this.modified = false; - _a.label = 2; - case 2: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFFont2.of = function(ref, doc, embedder) { - return new PDFFont2(ref, doc, embedder); - }; - return PDFFont2; - })() -); -var PDFFont_default = PDFFont; - -// ../../../node_modules/pdf-lib/es/api/PDFImage.js -var PDFImage = ( - /** @class */ - (function() { - function PDFImage2(ref, doc, embedder) { - assertIs(ref, "ref", [[PDFRef_default, "PDFRef"]]); - assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); - assertIs(embedder, "embedder", [ - [JpegEmbedder_default, "JpegEmbedder"], - [PngEmbedder_default, "PngEmbedder"] - ]); - this.ref = ref; - this.doc = doc; - this.width = embedder.width; - this.height = embedder.height; - this.embedder = embedder; - } - PDFImage2.prototype.scale = function(factor) { - assertIs(factor, "factor", ["number"]); - return { width: this.width * factor, height: this.height * factor }; - }; - PDFImage2.prototype.scaleToFit = function(width, height) { - assertIs(width, "width", ["number"]); - assertIs(height, "height", ["number"]); - var imgWidthScale = width / this.width; - var imgHeightScale = height / this.height; - var scale2 = Math.min(imgWidthScale, imgHeightScale); - return this.scale(scale2); - }; - PDFImage2.prototype.size = function() { - return this.scale(1); - }; - PDFImage2.prototype.embed = function() { - return __awaiter(this, void 0, void 0, function() { - var _a, doc, ref; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - if (!this.embedder) - return [ - 2 - /*return*/ - ]; - if (!this.embedTask) { - _a = this, doc = _a.doc, ref = _a.ref; - this.embedTask = this.embedder.embedIntoContext(doc.context, ref); - } - return [4, this.embedTask]; - case 1: - _b.sent(); - this.embedder = void 0; - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFImage2.of = function(ref, doc, embedder) { - return new PDFImage2(ref, doc, embedder); - }; - return PDFImage2; - })() -); -var PDFImage_default = PDFImage; - -// ../../../node_modules/pdf-lib/es/api/image/alignment.js -var ImageAlignment; -(function(ImageAlignment2) { - ImageAlignment2[ImageAlignment2["Left"] = 0] = "Left"; - ImageAlignment2[ImageAlignment2["Center"] = 1] = "Center"; - ImageAlignment2[ImageAlignment2["Right"] = 2] = "Right"; -})(ImageAlignment || (ImageAlignment = {})); - -// ../../../node_modules/pdf-lib/es/api/form/PDFField.js -var assertFieldAppearanceOptions = function(options) { - assertOrUndefined(options === null || options === void 0 ? void 0 : options.x, "options.x", ["number"]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.y, "options.y", ["number"]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.width, "options.width", ["number"]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.height, "options.height", ["number"]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.textColor, "options.textColor", [ - [Object, "Color"] - ]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.backgroundColor, "options.backgroundColor", [ - [Object, "Color"] - ]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.borderColor, "options.borderColor", [ - [Object, "Color"] - ]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.borderWidth, "options.borderWidth", ["number"]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.rotate, "options.rotate", [[Object, "Rotation"]]); -}; -var PDFField = ( - /** @class */ - (function() { - function PDFField2(acroField, ref, doc) { - assertIs(acroField, "acroField", [[PDFAcroTerminal_default, "PDFAcroTerminal"]]); - assertIs(ref, "ref", [[PDFRef_default, "PDFRef"]]); - assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); - this.acroField = acroField; - this.ref = ref; - this.doc = doc; - } - PDFField2.prototype.getName = function() { - var _a; - return (_a = this.acroField.getFullyQualifiedName()) !== null && _a !== void 0 ? _a : ""; - }; - PDFField2.prototype.isReadOnly = function() { - return this.acroField.hasFlag(AcroFieldFlags.ReadOnly); - }; - PDFField2.prototype.enableReadOnly = function() { - this.acroField.setFlagTo(AcroFieldFlags.ReadOnly, true); - }; - PDFField2.prototype.disableReadOnly = function() { - this.acroField.setFlagTo(AcroFieldFlags.ReadOnly, false); - }; - PDFField2.prototype.isRequired = function() { - return this.acroField.hasFlag(AcroFieldFlags.Required); - }; - PDFField2.prototype.enableRequired = function() { - this.acroField.setFlagTo(AcroFieldFlags.Required, true); - }; - PDFField2.prototype.disableRequired = function() { - this.acroField.setFlagTo(AcroFieldFlags.Required, false); - }; - PDFField2.prototype.isExported = function() { - return !this.acroField.hasFlag(AcroFieldFlags.NoExport); - }; - PDFField2.prototype.enableExporting = function() { - this.acroField.setFlagTo(AcroFieldFlags.NoExport, false); - }; - PDFField2.prototype.disableExporting = function() { - this.acroField.setFlagTo(AcroFieldFlags.NoExport, true); - }; - PDFField2.prototype.needsAppearancesUpdate = function() { - throw new MethodNotImplementedError(this.constructor.name, "needsAppearancesUpdate"); - }; - PDFField2.prototype.defaultUpdateAppearances = function(_font) { - throw new MethodNotImplementedError(this.constructor.name, "defaultUpdateAppearances"); - }; - PDFField2.prototype.markAsDirty = function() { - this.doc.getForm().markFieldAsDirty(this.ref); - }; - PDFField2.prototype.markAsClean = function() { - this.doc.getForm().markFieldAsClean(this.ref); - }; - PDFField2.prototype.isDirty = function() { - return this.doc.getForm().fieldIsDirty(this.ref); - }; - PDFField2.prototype.createWidget = function(options) { - var _a; - var textColor = options.textColor; - var backgroundColor = options.backgroundColor; - var borderColor = options.borderColor; - var borderWidth = options.borderWidth; - var degreesAngle = toDegrees(options.rotate); - var caption = options.caption; - var x = options.x; - var y = options.y; - var width = options.width + borderWidth; - var height = options.height + borderWidth; - var hidden = Boolean(options.hidden); - var pageRef = options.page; - assertMultiple(degreesAngle, "degreesAngle", 90); - var widget = PDFWidgetAnnotation_default.create(this.doc.context, this.ref); - var rect = rotateRectangle({ x, y, width, height }, borderWidth, degreesAngle); - widget.setRectangle(rect); - if (pageRef) - widget.setP(pageRef); - var ac = widget.getOrCreateAppearanceCharacteristics(); - if (backgroundColor) { - ac.setBackgroundColor(colorToComponents(backgroundColor)); - } - ac.setRotation(degreesAngle); - if (caption) - ac.setCaptions({ normal: caption }); - if (borderColor) - ac.setBorderColor(colorToComponents(borderColor)); - var bs = widget.getOrCreateBorderStyle(); - if (borderWidth !== void 0) - bs.setWidth(borderWidth); - widget.setFlagTo(AnnotationFlags.Print, true); - widget.setFlagTo(AnnotationFlags.Hidden, hidden); - widget.setFlagTo(AnnotationFlags.Invisible, false); - if (textColor) { - var da = (_a = this.acroField.getDefaultAppearance()) !== null && _a !== void 0 ? _a : ""; - var newDa = da + "\n" + setFillingColor(textColor).toString(); - this.acroField.setDefaultAppearance(newDa); - } - return widget; - }; - PDFField2.prototype.updateWidgetAppearanceWithFont = function(widget, font, _a) { - var normal = _a.normal, rollover = _a.rollover, down = _a.down; - this.updateWidgetAppearances(widget, { - normal: this.createAppearanceStream(widget, normal, font), - rollover: rollover && this.createAppearanceStream(widget, rollover, font), - down: down && this.createAppearanceStream(widget, down, font) - }); - }; - PDFField2.prototype.updateOnOffWidgetAppearance = function(widget, onValue, _a) { - var normal = _a.normal, rollover = _a.rollover, down = _a.down; - this.updateWidgetAppearances(widget, { - normal: this.createAppearanceDict(widget, normal, onValue), - rollover: rollover && this.createAppearanceDict(widget, rollover, onValue), - down: down && this.createAppearanceDict(widget, down, onValue) - }); - }; - PDFField2.prototype.updateWidgetAppearances = function(widget, _a) { - var normal = _a.normal, rollover = _a.rollover, down = _a.down; - widget.setNormalAppearance(normal); - if (rollover) { - widget.setRolloverAppearance(rollover); - } else { - widget.removeRolloverAppearance(); - } - if (down) { - widget.setDownAppearance(down); - } else { - widget.removeDownAppearance(); - } - }; - PDFField2.prototype.createAppearanceStream = function(widget, appearance, font) { - var _a; - var context = this.acroField.dict.context; - var _b = widget.getRectangle(), width = _b.width, height = _b.height; - var Resources = font && { Font: (_a = {}, _a[font.name] = font.ref, _a) }; - var stream2 = context.formXObject(appearance, { - Resources, - BBox: context.obj([0, 0, width, height]), - Matrix: context.obj([1, 0, 0, 1, 0, 0]) - }); - var streamRef = context.register(stream2); - return streamRef; - }; - PDFField2.prototype.createImageAppearanceStream = function(widget, image, alignment) { - var _a; - var _b; - var context = this.acroField.dict.context; - var rectangle = widget.getRectangle(); - var ap = widget.getAppearanceCharacteristics(); - var bs = widget.getBorderStyle(); - var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0; - var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); - var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); - var adj = adjustDimsForRotation(rectangle, rotation); - var imageDims = image.scaleToFit(adj.width - borderWidth * 2, adj.height - borderWidth * 2); - var options = { - x: borderWidth, - y: borderWidth, - width: imageDims.width, - height: imageDims.height, - // - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - }; - if (alignment === ImageAlignment.Center) { - options.x += (adj.width - borderWidth * 2) / 2 - imageDims.width / 2; - options.y += (adj.height - borderWidth * 2) / 2 - imageDims.height / 2; - } else if (alignment === ImageAlignment.Right) { - options.x = adj.width - borderWidth - imageDims.width; - options.y = adj.height - borderWidth - imageDims.height; - } - var imageName = this.doc.context.addRandomSuffix("Image", 10); - var appearance = __spreadArrays(rotate, drawImage(imageName, options)); - var Resources = { XObject: (_a = {}, _a[imageName] = image.ref, _a) }; - var stream2 = context.formXObject(appearance, { - Resources, - BBox: context.obj([0, 0, rectangle.width, rectangle.height]), - Matrix: context.obj([1, 0, 0, 1, 0, 0]) - }); - return context.register(stream2); - }; - PDFField2.prototype.createAppearanceDict = function(widget, appearance, onValue) { - var context = this.acroField.dict.context; - var onStreamRef = this.createAppearanceStream(widget, appearance.on); - var offStreamRef = this.createAppearanceStream(widget, appearance.off); - var appearanceDict = context.obj({}); - appearanceDict.set(onValue, onStreamRef); - appearanceDict.set(PDFName_default.of("Off"), offStreamRef); - return appearanceDict; - }; - return PDFField2; - })() -); -var PDFField_default = PDFField; - -// ../../../node_modules/pdf-lib/es/api/form/PDFCheckBox.js -var PDFCheckBox = ( - /** @class */ - (function(_super) { - __extends(PDFCheckBox2, _super); - function PDFCheckBox2(acroCheckBox, ref, doc) { - var _this = _super.call(this, acroCheckBox, ref, doc) || this; - assertIs(acroCheckBox, "acroCheckBox", [ - [PDFAcroCheckBox_default, "PDFAcroCheckBox"] - ]); - _this.acroField = acroCheckBox; - return _this; - } - PDFCheckBox2.prototype.check = function() { - var _a; - var onValue = (_a = this.acroField.getOnValue()) !== null && _a !== void 0 ? _a : PDFName_default.of("Yes"); - this.markAsDirty(); - this.acroField.setValue(onValue); - }; - PDFCheckBox2.prototype.uncheck = function() { - this.markAsDirty(); - this.acroField.setValue(PDFName_default.of("Off")); - }; - PDFCheckBox2.prototype.isChecked = function() { - var onValue = this.acroField.getOnValue(); - return !!onValue && onValue === this.acroField.getValue(); - }; - PDFCheckBox2.prototype.addToPage = function(page, options) { - var _a, _b, _c, _d, _e, _f; - assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); - assertFieldAppearanceOptions(options); - if (!options) - options = {}; - if (!("textColor" in options)) - options.textColor = rgb(0, 0, 0); - if (!("backgroundColor" in options)) - options.backgroundColor = rgb(1, 1, 1); - if (!("borderColor" in options)) - options.borderColor = rgb(0, 0, 0); - if (!("borderWidth" in options)) - options.borderWidth = 1; - var widget = this.createWidget({ - x: (_a = options.x) !== null && _a !== void 0 ? _a : 0, - y: (_b = options.y) !== null && _b !== void 0 ? _b : 0, - width: (_c = options.width) !== null && _c !== void 0 ? _c : 50, - height: (_d = options.height) !== null && _d !== void 0 ? _d : 50, - textColor: options.textColor, - backgroundColor: options.backgroundColor, - borderColor: options.borderColor, - borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0, - rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : degrees(0), - hidden: options.hidden, - page: page.ref - }); - var widgetRef = this.doc.context.register(widget.dict); - this.acroField.addWidget(widgetRef); - widget.setAppearanceState(PDFName_default.of("Off")); - this.updateWidgetAppearance(widget, PDFName_default.of("Yes")); - page.node.addAnnot(widgetRef); - }; - PDFCheckBox2.prototype.needsAppearancesUpdate = function() { - var _a; - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var state = widget.getAppearanceState(); - var normal = (_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal; - if (!(normal instanceof PDFDict_default)) - return true; - if (state && !normal.has(state)) - return true; - } - return false; - }; - PDFCheckBox2.prototype.defaultUpdateAppearances = function() { - this.updateAppearances(); - }; - PDFCheckBox2.prototype.updateAppearances = function(provider) { - var _a; - assertOrUndefined(provider, "provider", [Function]); - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var onValue = (_a = widget.getOnValue()) !== null && _a !== void 0 ? _a : PDFName_default.of("Yes"); - if (!onValue) - continue; - this.updateWidgetAppearance(widget, onValue, provider); - } - this.markAsClean(); - }; - PDFCheckBox2.prototype.updateWidgetAppearance = function(widget, onValue, provider) { - var apProvider = provider !== null && provider !== void 0 ? provider : defaultCheckBoxAppearanceProvider; - var appearances = normalizeAppearance(apProvider(this, widget)); - this.updateOnOffWidgetAppearance(widget, onValue, appearances); - }; - PDFCheckBox2.of = function(acroCheckBox, ref, doc) { - return new PDFCheckBox2(acroCheckBox, ref, doc); - }; - return PDFCheckBox2; - })(PDFField_default) -); -var PDFCheckBox_default = PDFCheckBox; - -// ../../../node_modules/pdf-lib/es/api/form/PDFDropdown.js -var PDFDropdown = ( - /** @class */ - (function(_super) { - __extends(PDFDropdown2, _super); - function PDFDropdown2(acroComboBox, ref, doc) { - var _this = _super.call(this, acroComboBox, ref, doc) || this; - assertIs(acroComboBox, "acroComboBox", [ - [PDFAcroComboBox_default, "PDFAcroComboBox"] - ]); - _this.acroField = acroComboBox; - return _this; - } - PDFDropdown2.prototype.getOptions = function() { - var rawOptions = this.acroField.getOptions(); - var options = new Array(rawOptions.length); - for (var idx = 0, len = options.length; idx < len; idx++) { - var _a = rawOptions[idx], display = _a.display, value = _a.value; - options[idx] = (display !== null && display !== void 0 ? display : value).decodeText(); - } - return options; - }; - PDFDropdown2.prototype.getSelected = function() { - var values2 = this.acroField.getValues(); - var selected = new Array(values2.length); - for (var idx = 0, len = values2.length; idx < len; idx++) { - selected[idx] = values2[idx].decodeText(); - } - return selected; - }; - PDFDropdown2.prototype.setOptions = function(options) { - assertIs(options, "options", [Array]); - var optionObjects = new Array(options.length); - for (var idx = 0, len = options.length; idx < len; idx++) { - optionObjects[idx] = { value: PDFHexString_default.fromText(options[idx]) }; - } - this.acroField.setOptions(optionObjects); - }; - PDFDropdown2.prototype.addOptions = function(options) { - assertIs(options, "options", ["string", Array]); - var optionsArr = Array.isArray(options) ? options : [options]; - var existingOptions = this.acroField.getOptions(); - var newOptions = new Array(optionsArr.length); - for (var idx = 0, len = optionsArr.length; idx < len; idx++) { - newOptions[idx] = { value: PDFHexString_default.fromText(optionsArr[idx]) }; - } - this.acroField.setOptions(existingOptions.concat(newOptions)); - }; - PDFDropdown2.prototype.select = function(options, merge) { - if (merge === void 0) { - merge = false; - } - assertIs(options, "options", ["string", Array]); - assertIs(merge, "merge", ["boolean"]); - var optionsArr = Array.isArray(options) ? options : [options]; - var validOptions = this.getOptions(); - var hasCustomOption = optionsArr.find(function(option) { - return !validOptions.includes(option); - }); - if (hasCustomOption) - this.enableEditing(); - this.markAsDirty(); - if (optionsArr.length > 1 || optionsArr.length === 1 && merge) { - this.enableMultiselect(); - } - var values2 = new Array(optionsArr.length); - for (var idx = 0, len = optionsArr.length; idx < len; idx++) { - values2[idx] = PDFHexString_default.fromText(optionsArr[idx]); - } - if (merge) { - var existingValues = this.acroField.getValues(); - this.acroField.setValues(existingValues.concat(values2)); - } else { - this.acroField.setValues(values2); - } - }; - PDFDropdown2.prototype.clear = function() { - this.markAsDirty(); - this.acroField.setValues([]); - }; - PDFDropdown2.prototype.setFontSize = function(fontSize) { - assertPositive(fontSize, "fontSize"); - this.acroField.setFontSize(fontSize); - this.markAsDirty(); - }; - PDFDropdown2.prototype.isEditable = function() { - return this.acroField.hasFlag(AcroChoiceFlags.Edit); - }; - PDFDropdown2.prototype.enableEditing = function() { - this.acroField.setFlagTo(AcroChoiceFlags.Edit, true); - }; - PDFDropdown2.prototype.disableEditing = function() { - this.acroField.setFlagTo(AcroChoiceFlags.Edit, false); - }; - PDFDropdown2.prototype.isSorted = function() { - return this.acroField.hasFlag(AcroChoiceFlags.Sort); - }; - PDFDropdown2.prototype.enableSorting = function() { - this.acroField.setFlagTo(AcroChoiceFlags.Sort, true); - }; - PDFDropdown2.prototype.disableSorting = function() { - this.acroField.setFlagTo(AcroChoiceFlags.Sort, false); - }; - PDFDropdown2.prototype.isMultiselect = function() { - return this.acroField.hasFlag(AcroChoiceFlags.MultiSelect); - }; - PDFDropdown2.prototype.enableMultiselect = function() { - this.acroField.setFlagTo(AcroChoiceFlags.MultiSelect, true); - }; - PDFDropdown2.prototype.disableMultiselect = function() { - this.acroField.setFlagTo(AcroChoiceFlags.MultiSelect, false); - }; - PDFDropdown2.prototype.isSpellChecked = function() { - return !this.acroField.hasFlag(AcroChoiceFlags.DoNotSpellCheck); - }; - PDFDropdown2.prototype.enableSpellChecking = function() { - this.acroField.setFlagTo(AcroChoiceFlags.DoNotSpellCheck, false); - }; - PDFDropdown2.prototype.disableSpellChecking = function() { - this.acroField.setFlagTo(AcroChoiceFlags.DoNotSpellCheck, true); - }; - PDFDropdown2.prototype.isSelectOnClick = function() { - return this.acroField.hasFlag(AcroChoiceFlags.CommitOnSelChange); - }; - PDFDropdown2.prototype.enableSelectOnClick = function() { - this.acroField.setFlagTo(AcroChoiceFlags.CommitOnSelChange, true); - }; - PDFDropdown2.prototype.disableSelectOnClick = function() { - this.acroField.setFlagTo(AcroChoiceFlags.CommitOnSelChange, false); - }; - PDFDropdown2.prototype.addToPage = function(page, options) { - var _a, _b, _c, _d, _e, _f, _g; - assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); - assertFieldAppearanceOptions(options); - if (!options) - options = {}; - if (!("textColor" in options)) - options.textColor = rgb(0, 0, 0); - if (!("backgroundColor" in options)) - options.backgroundColor = rgb(1, 1, 1); - if (!("borderColor" in options)) - options.borderColor = rgb(0, 0, 0); - if (!("borderWidth" in options)) - options.borderWidth = 1; - var widget = this.createWidget({ - x: (_a = options.x) !== null && _a !== void 0 ? _a : 0, - y: (_b = options.y) !== null && _b !== void 0 ? _b : 0, - width: (_c = options.width) !== null && _c !== void 0 ? _c : 200, - height: (_d = options.height) !== null && _d !== void 0 ? _d : 50, - textColor: options.textColor, - backgroundColor: options.backgroundColor, - borderColor: options.borderColor, - borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0, - rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : degrees(0), - hidden: options.hidden, - page: page.ref - }); - var widgetRef = this.doc.context.register(widget.dict); - this.acroField.addWidget(widgetRef); - var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont(); - this.updateWidgetAppearance(widget, font); - page.node.addAnnot(widgetRef); - }; - PDFDropdown2.prototype.needsAppearancesUpdate = function() { - var _a; - if (this.isDirty()) - return true; - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof PDFStream_default; - if (!hasAppearances) - return true; - } - return false; - }; - PDFDropdown2.prototype.defaultUpdateAppearances = function(font) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - this.updateAppearances(font); - }; - PDFDropdown2.prototype.updateAppearances = function(font, provider) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - assertOrUndefined(provider, "provider", [Function]); - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - this.updateWidgetAppearance(widget, font, provider); - } - this.markAsClean(); - }; - PDFDropdown2.prototype.updateWidgetAppearance = function(widget, font, provider) { - var apProvider = provider !== null && provider !== void 0 ? provider : defaultDropdownAppearanceProvider; - var appearances = normalizeAppearance(apProvider(this, widget, font)); - this.updateWidgetAppearanceWithFont(widget, font, appearances); - }; - PDFDropdown2.of = function(acroComboBox, ref, doc) { - return new PDFDropdown2(acroComboBox, ref, doc); - }; - return PDFDropdown2; - })(PDFField_default) -); -var PDFDropdown_default = PDFDropdown; - -// ../../../node_modules/pdf-lib/es/api/form/PDFOptionList.js -var PDFOptionList = ( - /** @class */ - (function(_super) { - __extends(PDFOptionList2, _super); - function PDFOptionList2(acroListBox, ref, doc) { - var _this = _super.call(this, acroListBox, ref, doc) || this; - assertIs(acroListBox, "acroListBox", [[PDFAcroListBox_default, "PDFAcroListBox"]]); - _this.acroField = acroListBox; - return _this; - } - PDFOptionList2.prototype.getOptions = function() { - var rawOptions = this.acroField.getOptions(); - var options = new Array(rawOptions.length); - for (var idx = 0, len = options.length; idx < len; idx++) { - var _a = rawOptions[idx], display = _a.display, value = _a.value; - options[idx] = (display !== null && display !== void 0 ? display : value).decodeText(); - } - return options; - }; - PDFOptionList2.prototype.getSelected = function() { - var values2 = this.acroField.getValues(); - var selected = new Array(values2.length); - for (var idx = 0, len = values2.length; idx < len; idx++) { - selected[idx] = values2[idx].decodeText(); - } - return selected; - }; - PDFOptionList2.prototype.setOptions = function(options) { - assertIs(options, "options", [Array]); - this.markAsDirty(); - var optionObjects = new Array(options.length); - for (var idx = 0, len = options.length; idx < len; idx++) { - optionObjects[idx] = { value: PDFHexString_default.fromText(options[idx]) }; - } - this.acroField.setOptions(optionObjects); - }; - PDFOptionList2.prototype.addOptions = function(options) { - assertIs(options, "options", ["string", Array]); - this.markAsDirty(); - var optionsArr = Array.isArray(options) ? options : [options]; - var existingOptions = this.acroField.getOptions(); - var newOptions = new Array(optionsArr.length); - for (var idx = 0, len = optionsArr.length; idx < len; idx++) { - newOptions[idx] = { value: PDFHexString_default.fromText(optionsArr[idx]) }; - } - this.acroField.setOptions(existingOptions.concat(newOptions)); - }; - PDFOptionList2.prototype.select = function(options, merge) { - if (merge === void 0) { - merge = false; - } - assertIs(options, "options", ["string", Array]); - assertIs(merge, "merge", ["boolean"]); - var optionsArr = Array.isArray(options) ? options : [options]; - var validOptions = this.getOptions(); - assertIsSubset(optionsArr, "option", validOptions); - this.markAsDirty(); - if (optionsArr.length > 1 || optionsArr.length === 1 && merge) { - this.enableMultiselect(); - } - var values2 = new Array(optionsArr.length); - for (var idx = 0, len = optionsArr.length; idx < len; idx++) { - values2[idx] = PDFHexString_default.fromText(optionsArr[idx]); - } - if (merge) { - var existingValues = this.acroField.getValues(); - this.acroField.setValues(existingValues.concat(values2)); - } else { - this.acroField.setValues(values2); - } - }; - PDFOptionList2.prototype.clear = function() { - this.markAsDirty(); - this.acroField.setValues([]); - }; - PDFOptionList2.prototype.setFontSize = function(fontSize) { - assertPositive(fontSize, "fontSize"); - this.acroField.setFontSize(fontSize); - this.markAsDirty(); - }; - PDFOptionList2.prototype.isSorted = function() { - return this.acroField.hasFlag(AcroChoiceFlags.Sort); - }; - PDFOptionList2.prototype.enableSorting = function() { - this.acroField.setFlagTo(AcroChoiceFlags.Sort, true); - }; - PDFOptionList2.prototype.disableSorting = function() { - this.acroField.setFlagTo(AcroChoiceFlags.Sort, false); - }; - PDFOptionList2.prototype.isMultiselect = function() { - return this.acroField.hasFlag(AcroChoiceFlags.MultiSelect); - }; - PDFOptionList2.prototype.enableMultiselect = function() { - this.acroField.setFlagTo(AcroChoiceFlags.MultiSelect, true); - }; - PDFOptionList2.prototype.disableMultiselect = function() { - this.acroField.setFlagTo(AcroChoiceFlags.MultiSelect, false); - }; - PDFOptionList2.prototype.isSelectOnClick = function() { - return this.acroField.hasFlag(AcroChoiceFlags.CommitOnSelChange); - }; - PDFOptionList2.prototype.enableSelectOnClick = function() { - this.acroField.setFlagTo(AcroChoiceFlags.CommitOnSelChange, true); - }; - PDFOptionList2.prototype.disableSelectOnClick = function() { - this.acroField.setFlagTo(AcroChoiceFlags.CommitOnSelChange, false); - }; - PDFOptionList2.prototype.addToPage = function(page, options) { - var _a, _b, _c, _d, _e, _f, _g; - assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); - assertFieldAppearanceOptions(options); - if (!options) - options = {}; - if (!("textColor" in options)) - options.textColor = rgb(0, 0, 0); - if (!("backgroundColor" in options)) - options.backgroundColor = rgb(1, 1, 1); - if (!("borderColor" in options)) - options.borderColor = rgb(0, 0, 0); - if (!("borderWidth" in options)) - options.borderWidth = 1; - var widget = this.createWidget({ - x: (_a = options.x) !== null && _a !== void 0 ? _a : 0, - y: (_b = options.y) !== null && _b !== void 0 ? _b : 0, - width: (_c = options.width) !== null && _c !== void 0 ? _c : 200, - height: (_d = options.height) !== null && _d !== void 0 ? _d : 100, - textColor: options.textColor, - backgroundColor: options.backgroundColor, - borderColor: options.borderColor, - borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0, - rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : degrees(0), - hidden: options.hidden, - page: page.ref - }); - var widgetRef = this.doc.context.register(widget.dict); - this.acroField.addWidget(widgetRef); - var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont(); - this.updateWidgetAppearance(widget, font); - page.node.addAnnot(widgetRef); - }; - PDFOptionList2.prototype.needsAppearancesUpdate = function() { - var _a; - if (this.isDirty()) - return true; - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof PDFStream_default; - if (!hasAppearances) - return true; - } - return false; - }; - PDFOptionList2.prototype.defaultUpdateAppearances = function(font) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - this.updateAppearances(font); - }; - PDFOptionList2.prototype.updateAppearances = function(font, provider) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - assertOrUndefined(provider, "provider", [Function]); - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - this.updateWidgetAppearance(widget, font, provider); - } - this.markAsClean(); - }; - PDFOptionList2.prototype.updateWidgetAppearance = function(widget, font, provider) { - var apProvider = provider !== null && provider !== void 0 ? provider : defaultOptionListAppearanceProvider; - var appearances = normalizeAppearance(apProvider(this, widget, font)); - this.updateWidgetAppearanceWithFont(widget, font, appearances); - }; - PDFOptionList2.of = function(acroListBox, ref, doc) { - return new PDFOptionList2(acroListBox, ref, doc); - }; - return PDFOptionList2; - })(PDFField_default) -); -var PDFOptionList_default = PDFOptionList; - -// ../../../node_modules/pdf-lib/es/api/form/PDFRadioGroup.js -var PDFRadioGroup = ( - /** @class */ - (function(_super) { - __extends(PDFRadioGroup2, _super); - function PDFRadioGroup2(acroRadioButton, ref, doc) { - var _this = _super.call(this, acroRadioButton, ref, doc) || this; - assertIs(acroRadioButton, "acroRadioButton", [ - [PDFAcroRadioButton_default, "PDFAcroRadioButton"] - ]); - _this.acroField = acroRadioButton; - return _this; - } - PDFRadioGroup2.prototype.getOptions = function() { - var exportValues = this.acroField.getExportValues(); - if (exportValues) { - var exportOptions = new Array(exportValues.length); - for (var idx = 0, len = exportValues.length; idx < len; idx++) { - exportOptions[idx] = exportValues[idx].decodeText(); - } - return exportOptions; - } - var onValues = this.acroField.getOnValues(); - var onOptions = new Array(onValues.length); - for (var idx = 0, len = onOptions.length; idx < len; idx++) { - onOptions[idx] = onValues[idx].decodeText(); - } - return onOptions; - }; - PDFRadioGroup2.prototype.getSelected = function() { - var value = this.acroField.getValue(); - if (value === PDFName_default.of("Off")) - return void 0; - var exportValues = this.acroField.getExportValues(); - if (exportValues) { - var onValues = this.acroField.getOnValues(); - for (var idx = 0, len = onValues.length; idx < len; idx++) { - if (onValues[idx] === value) - return exportValues[idx].decodeText(); - } - } - return value.decodeText(); - }; - PDFRadioGroup2.prototype.select = function(option) { - assertIs(option, "option", ["string"]); - var validOptions = this.getOptions(); - assertIsOneOf(option, "option", validOptions); - this.markAsDirty(); - var onValues = this.acroField.getOnValues(); - var exportValues = this.acroField.getExportValues(); - if (exportValues) { - for (var idx = 0, len = exportValues.length; idx < len; idx++) { - if (exportValues[idx].decodeText() === option) { - this.acroField.setValue(onValues[idx]); - } - } - } else { - for (var idx = 0, len = onValues.length; idx < len; idx++) { - var value = onValues[idx]; - if (value.decodeText() === option) - this.acroField.setValue(value); - } - } - }; - PDFRadioGroup2.prototype.clear = function() { - this.markAsDirty(); - this.acroField.setValue(PDFName_default.of("Off")); - }; - PDFRadioGroup2.prototype.isOffToggleable = function() { - return !this.acroField.hasFlag(AcroButtonFlags.NoToggleToOff); - }; - PDFRadioGroup2.prototype.enableOffToggling = function() { - this.acroField.setFlagTo(AcroButtonFlags.NoToggleToOff, false); - }; - PDFRadioGroup2.prototype.disableOffToggling = function() { - this.acroField.setFlagTo(AcroButtonFlags.NoToggleToOff, true); - }; - PDFRadioGroup2.prototype.isMutuallyExclusive = function() { - return !this.acroField.hasFlag(AcroButtonFlags.RadiosInUnison); - }; - PDFRadioGroup2.prototype.enableMutualExclusion = function() { - this.acroField.setFlagTo(AcroButtonFlags.RadiosInUnison, false); - }; - PDFRadioGroup2.prototype.disableMutualExclusion = function() { - this.acroField.setFlagTo(AcroButtonFlags.RadiosInUnison, true); - }; - PDFRadioGroup2.prototype.addOptionToPage = function(option, page, options) { - var _a, _b, _c, _d, _e, _f, _g, _h, _j; - assertIs(option, "option", ["string"]); - assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); - assertFieldAppearanceOptions(options); - var widget = this.createWidget({ - x: (_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0, - y: (_b = options === null || options === void 0 ? void 0 : options.y) !== null && _b !== void 0 ? _b : 0, - width: (_c = options === null || options === void 0 ? void 0 : options.width) !== null && _c !== void 0 ? _c : 50, - height: (_d = options === null || options === void 0 ? void 0 : options.height) !== null && _d !== void 0 ? _d : 50, - textColor: (_e = options === null || options === void 0 ? void 0 : options.textColor) !== null && _e !== void 0 ? _e : rgb(0, 0, 0), - backgroundColor: (_f = options === null || options === void 0 ? void 0 : options.backgroundColor) !== null && _f !== void 0 ? _f : rgb(1, 1, 1), - borderColor: (_g = options === null || options === void 0 ? void 0 : options.borderColor) !== null && _g !== void 0 ? _g : rgb(0, 0, 0), - borderWidth: (_h = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _h !== void 0 ? _h : 1, - rotate: (_j = options === null || options === void 0 ? void 0 : options.rotate) !== null && _j !== void 0 ? _j : degrees(0), - hidden: options === null || options === void 0 ? void 0 : options.hidden, - page: page.ref - }); - var widgetRef = this.doc.context.register(widget.dict); - var apStateValue = this.acroField.addWidgetWithOpt(widgetRef, PDFHexString_default.fromText(option), !this.isMutuallyExclusive()); - widget.setAppearanceState(PDFName_default.of("Off")); - this.updateWidgetAppearance(widget, apStateValue); - page.node.addAnnot(widgetRef); - }; - PDFRadioGroup2.prototype.needsAppearancesUpdate = function() { - var _a; - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var state = widget.getAppearanceState(); - var normal = (_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal; - if (!(normal instanceof PDFDict_default)) - return true; - if (state && !normal.has(state)) - return true; - } - return false; - }; - PDFRadioGroup2.prototype.defaultUpdateAppearances = function() { - this.updateAppearances(); - }; - PDFRadioGroup2.prototype.updateAppearances = function(provider) { - assertOrUndefined(provider, "provider", [Function]); - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var onValue = widget.getOnValue(); - if (!onValue) - continue; - this.updateWidgetAppearance(widget, onValue, provider); - } - }; - PDFRadioGroup2.prototype.updateWidgetAppearance = function(widget, onValue, provider) { - var apProvider = provider !== null && provider !== void 0 ? provider : defaultRadioGroupAppearanceProvider; - var appearances = normalizeAppearance(apProvider(this, widget)); - this.updateOnOffWidgetAppearance(widget, onValue, appearances); - }; - PDFRadioGroup2.of = function(acroRadioButton, ref, doc) { - return new PDFRadioGroup2(acroRadioButton, ref, doc); - }; - return PDFRadioGroup2; - })(PDFField_default) -); -var PDFRadioGroup_default = PDFRadioGroup; - -// ../../../node_modules/pdf-lib/es/api/form/PDFSignature.js -var PDFSignature = ( - /** @class */ - (function(_super) { - __extends(PDFSignature2, _super); - function PDFSignature2(acroSignature, ref, doc) { - var _this = _super.call(this, acroSignature, ref, doc) || this; - assertIs(acroSignature, "acroSignature", [ - [PDFAcroSignature_default, "PDFAcroSignature"] - ]); - _this.acroField = acroSignature; - return _this; - } - PDFSignature2.prototype.needsAppearancesUpdate = function() { - return false; - }; - PDFSignature2.of = function(acroSignature, ref, doc) { - return new PDFSignature2(acroSignature, ref, doc); - }; - return PDFSignature2; - })(PDFField_default) -); -var PDFSignature_default = PDFSignature; - -// ../../../node_modules/pdf-lib/es/api/form/PDFTextField.js -var PDFTextField = ( - /** @class */ - (function(_super) { - __extends(PDFTextField2, _super); - function PDFTextField2(acroText, ref, doc) { - var _this = _super.call(this, acroText, ref, doc) || this; - assertIs(acroText, "acroText", [[PDFAcroText_default, "PDFAcroText"]]); - _this.acroField = acroText; - return _this; - } - PDFTextField2.prototype.getText = function() { - var value = this.acroField.getValue(); - if (!value && this.isRichFormatted()) { - throw new RichTextFieldReadError(this.getName()); - } - return value === null || value === void 0 ? void 0 : value.decodeText(); - }; - PDFTextField2.prototype.setText = function(text) { - assertOrUndefined(text, "text", ["string"]); - var maxLength = this.getMaxLength(); - if (maxLength !== void 0 && text && text.length > maxLength) { - throw new ExceededMaxLengthError(text.length, maxLength, this.getName()); - } - this.markAsDirty(); - this.disableRichFormatting(); - if (text) { - this.acroField.setValue(PDFHexString_default.fromText(text)); - } else { - this.acroField.removeValue(); - } - }; - PDFTextField2.prototype.getAlignment = function() { - var quadding = this.acroField.getQuadding(); - return quadding === 0 ? TextAlignment.Left : quadding === 1 ? TextAlignment.Center : quadding === 2 ? TextAlignment.Right : TextAlignment.Left; - }; - PDFTextField2.prototype.setAlignment = function(alignment) { - assertIsOneOf(alignment, "alignment", TextAlignment); - this.markAsDirty(); - this.acroField.setQuadding(alignment); - }; - PDFTextField2.prototype.getMaxLength = function() { - return this.acroField.getMaxLength(); - }; - PDFTextField2.prototype.setMaxLength = function(maxLength) { - assertRangeOrUndefined(maxLength, "maxLength", 0, Number.MAX_SAFE_INTEGER); - this.markAsDirty(); - if (maxLength === void 0) { - this.acroField.removeMaxLength(); - } else { - var text = this.getText(); - if (text && text.length > maxLength) { - throw new InvalidMaxLengthError(text.length, maxLength, this.getName()); - } - this.acroField.setMaxLength(maxLength); - } - }; - PDFTextField2.prototype.removeMaxLength = function() { - this.markAsDirty(); - this.acroField.removeMaxLength(); - }; - PDFTextField2.prototype.setImage = function(image) { - var fieldAlignment = this.getAlignment(); - var alignment = fieldAlignment === TextAlignment.Center ? ImageAlignment.Center : fieldAlignment === TextAlignment.Right ? ImageAlignment.Right : ImageAlignment.Left; - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var streamRef = this.createImageAppearanceStream(widget, image, alignment); - this.updateWidgetAppearances(widget, { normal: streamRef }); - } - this.markAsClean(); - }; - PDFTextField2.prototype.setFontSize = function(fontSize) { - assertPositive(fontSize, "fontSize"); - this.acroField.setFontSize(fontSize); - this.markAsDirty(); - }; - PDFTextField2.prototype.isMultiline = function() { - return this.acroField.hasFlag(AcroTextFlags.Multiline); - }; - PDFTextField2.prototype.enableMultiline = function() { - this.markAsDirty(); - this.acroField.setFlagTo(AcroTextFlags.Multiline, true); - }; - PDFTextField2.prototype.disableMultiline = function() { - this.markAsDirty(); - this.acroField.setFlagTo(AcroTextFlags.Multiline, false); - }; - PDFTextField2.prototype.isPassword = function() { - return this.acroField.hasFlag(AcroTextFlags.Password); - }; - PDFTextField2.prototype.enablePassword = function() { - this.acroField.setFlagTo(AcroTextFlags.Password, true); - }; - PDFTextField2.prototype.disablePassword = function() { - this.acroField.setFlagTo(AcroTextFlags.Password, false); - }; - PDFTextField2.prototype.isFileSelector = function() { - return this.acroField.hasFlag(AcroTextFlags.FileSelect); - }; - PDFTextField2.prototype.enableFileSelection = function() { - this.acroField.setFlagTo(AcroTextFlags.FileSelect, true); - }; - PDFTextField2.prototype.disableFileSelection = function() { - this.acroField.setFlagTo(AcroTextFlags.FileSelect, false); - }; - PDFTextField2.prototype.isSpellChecked = function() { - return !this.acroField.hasFlag(AcroTextFlags.DoNotSpellCheck); - }; - PDFTextField2.prototype.enableSpellChecking = function() { - this.acroField.setFlagTo(AcroTextFlags.DoNotSpellCheck, false); - }; - PDFTextField2.prototype.disableSpellChecking = function() { - this.acroField.setFlagTo(AcroTextFlags.DoNotSpellCheck, true); - }; - PDFTextField2.prototype.isScrollable = function() { - return !this.acroField.hasFlag(AcroTextFlags.DoNotScroll); - }; - PDFTextField2.prototype.enableScrolling = function() { - this.acroField.setFlagTo(AcroTextFlags.DoNotScroll, false); - }; - PDFTextField2.prototype.disableScrolling = function() { - this.acroField.setFlagTo(AcroTextFlags.DoNotScroll, true); - }; - PDFTextField2.prototype.isCombed = function() { - return this.acroField.hasFlag(AcroTextFlags.Comb) && !this.isMultiline() && !this.isPassword() && !this.isFileSelector() && this.getMaxLength() !== void 0; - }; - PDFTextField2.prototype.enableCombing = function() { - if (this.getMaxLength() === void 0) { - var msg = "PDFTextFields must have a max length in order to be combed"; - console.warn(msg); - } - this.markAsDirty(); - this.disableMultiline(); - this.disablePassword(); - this.disableFileSelection(); - this.acroField.setFlagTo(AcroTextFlags.Comb, true); - }; - PDFTextField2.prototype.disableCombing = function() { - this.markAsDirty(); - this.acroField.setFlagTo(AcroTextFlags.Comb, false); - }; - PDFTextField2.prototype.isRichFormatted = function() { - return this.acroField.hasFlag(AcroTextFlags.RichText); - }; - PDFTextField2.prototype.enableRichFormatting = function() { - this.acroField.setFlagTo(AcroTextFlags.RichText, true); - }; - PDFTextField2.prototype.disableRichFormatting = function() { - this.acroField.setFlagTo(AcroTextFlags.RichText, false); - }; - PDFTextField2.prototype.addToPage = function(page, options) { - var _a, _b, _c, _d, _e, _f, _g; - assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); - assertFieldAppearanceOptions(options); - if (!options) - options = {}; - if (!("textColor" in options)) - options.textColor = rgb(0, 0, 0); - if (!("backgroundColor" in options)) - options.backgroundColor = rgb(1, 1, 1); - if (!("borderColor" in options)) - options.borderColor = rgb(0, 0, 0); - if (!("borderWidth" in options)) - options.borderWidth = 1; - var widget = this.createWidget({ - x: (_a = options.x) !== null && _a !== void 0 ? _a : 0, - y: (_b = options.y) !== null && _b !== void 0 ? _b : 0, - width: (_c = options.width) !== null && _c !== void 0 ? _c : 200, - height: (_d = options.height) !== null && _d !== void 0 ? _d : 50, - textColor: options.textColor, - backgroundColor: options.backgroundColor, - borderColor: options.borderColor, - borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0, - rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : degrees(0), - hidden: options.hidden, - page: page.ref - }); - var widgetRef = this.doc.context.register(widget.dict); - this.acroField.addWidget(widgetRef); - var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont(); - this.updateWidgetAppearance(widget, font); - page.node.addAnnot(widgetRef); - }; - PDFTextField2.prototype.needsAppearancesUpdate = function() { - var _a; - if (this.isDirty()) - return true; - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof PDFStream_default; - if (!hasAppearances) - return true; - } - return false; - }; - PDFTextField2.prototype.defaultUpdateAppearances = function(font) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - this.updateAppearances(font); - }; - PDFTextField2.prototype.updateAppearances = function(font, provider) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - assertOrUndefined(provider, "provider", [Function]); - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - this.updateWidgetAppearance(widget, font, provider); - } - this.markAsClean(); - }; - PDFTextField2.prototype.updateWidgetAppearance = function(widget, font, provider) { - var apProvider = provider !== null && provider !== void 0 ? provider : defaultTextFieldAppearanceProvider; - var appearances = normalizeAppearance(apProvider(this, widget, font)); - this.updateWidgetAppearanceWithFont(widget, font, appearances); - }; - PDFTextField2.of = function(acroText, ref, doc) { - return new PDFTextField2(acroText, ref, doc); - }; - return PDFTextField2; - })(PDFField_default) -); -var PDFTextField_default = PDFTextField; - -// ../../../node_modules/pdf-lib/es/api/StandardFonts.js -var StandardFonts; -(function(StandardFonts2) { - StandardFonts2["Courier"] = "Courier"; - StandardFonts2["CourierBold"] = "Courier-Bold"; - StandardFonts2["CourierOblique"] = "Courier-Oblique"; - StandardFonts2["CourierBoldOblique"] = "Courier-BoldOblique"; - StandardFonts2["Helvetica"] = "Helvetica"; - StandardFonts2["HelveticaBold"] = "Helvetica-Bold"; - StandardFonts2["HelveticaOblique"] = "Helvetica-Oblique"; - StandardFonts2["HelveticaBoldOblique"] = "Helvetica-BoldOblique"; - StandardFonts2["TimesRoman"] = "Times-Roman"; - StandardFonts2["TimesRomanBold"] = "Times-Bold"; - StandardFonts2["TimesRomanItalic"] = "Times-Italic"; - StandardFonts2["TimesRomanBoldItalic"] = "Times-BoldItalic"; - StandardFonts2["Symbol"] = "Symbol"; - StandardFonts2["ZapfDingbats"] = "ZapfDingbats"; -})(StandardFonts || (StandardFonts = {})); - -// ../../../node_modules/pdf-lib/es/api/form/PDFForm.js -var PDFForm = ( - /** @class */ - (function() { - function PDFForm2(acroForm, doc) { - var _this = this; - this.embedDefaultFont = function() { - return _this.doc.embedStandardFont(StandardFonts.Helvetica); - }; - assertIs(acroForm, "acroForm", [[PDFAcroForm_default, "PDFAcroForm"]]); - assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); - this.acroForm = acroForm; - this.doc = doc; - this.dirtyFields = /* @__PURE__ */ new Set(); - this.defaultFontCache = Cache_default.populatedBy(this.embedDefaultFont); - } - PDFForm2.prototype.hasXFA = function() { - return this.acroForm.dict.has(PDFName_default.of("XFA")); - }; - PDFForm2.prototype.deleteXFA = function() { - this.acroForm.dict.delete(PDFName_default.of("XFA")); - }; - PDFForm2.prototype.getFields = function() { - var allFields = this.acroForm.getAllFields(); - var fields = []; - for (var idx = 0, len = allFields.length; idx < len; idx++) { - var _a = allFields[idx], acroField = _a[0], ref = _a[1]; - var field = convertToPDFField(acroField, ref, this.doc); - if (field) - fields.push(field); - } - return fields; - }; - PDFForm2.prototype.getFieldMaybe = function(name) { - assertIs(name, "name", ["string"]); - var fields = this.getFields(); - for (var idx = 0, len = fields.length; idx < len; idx++) { - var field = fields[idx]; - if (field.getName() === name) - return field; - } - return void 0; - }; - PDFForm2.prototype.getField = function(name) { - assertIs(name, "name", ["string"]); - var field = this.getFieldMaybe(name); - if (field) - return field; - throw new NoSuchFieldError(name); - }; - PDFForm2.prototype.getButton = function(name) { - assertIs(name, "name", ["string"]); - var field = this.getField(name); - if (field instanceof PDFButton_default) - return field; - throw new UnexpectedFieldTypeError(name, PDFButton_default, field); - }; - PDFForm2.prototype.getCheckBox = function(name) { - assertIs(name, "name", ["string"]); - var field = this.getField(name); - if (field instanceof PDFCheckBox_default) - return field; - throw new UnexpectedFieldTypeError(name, PDFCheckBox_default, field); - }; - PDFForm2.prototype.getDropdown = function(name) { - assertIs(name, "name", ["string"]); - var field = this.getField(name); - if (field instanceof PDFDropdown_default) - return field; - throw new UnexpectedFieldTypeError(name, PDFDropdown_default, field); - }; - PDFForm2.prototype.getOptionList = function(name) { - assertIs(name, "name", ["string"]); - var field = this.getField(name); - if (field instanceof PDFOptionList_default) - return field; - throw new UnexpectedFieldTypeError(name, PDFOptionList_default, field); - }; - PDFForm2.prototype.getRadioGroup = function(name) { - assertIs(name, "name", ["string"]); - var field = this.getField(name); - if (field instanceof PDFRadioGroup_default) - return field; - throw new UnexpectedFieldTypeError(name, PDFRadioGroup_default, field); - }; - PDFForm2.prototype.getSignature = function(name) { - assertIs(name, "name", ["string"]); - var field = this.getField(name); - if (field instanceof PDFSignature_default) - return field; - throw new UnexpectedFieldTypeError(name, PDFSignature_default, field); - }; - PDFForm2.prototype.getTextField = function(name) { - assertIs(name, "name", ["string"]); - var field = this.getField(name); - if (field instanceof PDFTextField_default) - return field; - throw new UnexpectedFieldTypeError(name, PDFTextField_default, field); - }; - PDFForm2.prototype.createButton = function(name) { - assertIs(name, "name", ["string"]); - var nameParts = splitFieldName(name); - var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); - var button = PDFAcroPushButton_default.create(this.doc.context); - button.setPartialName(nameParts.terminal); - addFieldToParent(parent, [button, button.ref], nameParts.terminal); - return PDFButton_default.of(button, button.ref, this.doc); - }; - PDFForm2.prototype.createCheckBox = function(name) { - assertIs(name, "name", ["string"]); - var nameParts = splitFieldName(name); - var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); - var checkBox = PDFAcroCheckBox_default.create(this.doc.context); - checkBox.setPartialName(nameParts.terminal); - addFieldToParent(parent, [checkBox, checkBox.ref], nameParts.terminal); - return PDFCheckBox_default.of(checkBox, checkBox.ref, this.doc); - }; - PDFForm2.prototype.createDropdown = function(name) { - assertIs(name, "name", ["string"]); - var nameParts = splitFieldName(name); - var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); - var comboBox = PDFAcroComboBox_default.create(this.doc.context); - comboBox.setPartialName(nameParts.terminal); - addFieldToParent(parent, [comboBox, comboBox.ref], nameParts.terminal); - return PDFDropdown_default.of(comboBox, comboBox.ref, this.doc); - }; - PDFForm2.prototype.createOptionList = function(name) { - assertIs(name, "name", ["string"]); - var nameParts = splitFieldName(name); - var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); - var listBox = PDFAcroListBox_default.create(this.doc.context); - listBox.setPartialName(nameParts.terminal); - addFieldToParent(parent, [listBox, listBox.ref], nameParts.terminal); - return PDFOptionList_default.of(listBox, listBox.ref, this.doc); - }; - PDFForm2.prototype.createRadioGroup = function(name) { - assertIs(name, "name", ["string"]); - var nameParts = splitFieldName(name); - var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); - var radioButton = PDFAcroRadioButton_default.create(this.doc.context); - radioButton.setPartialName(nameParts.terminal); - addFieldToParent(parent, [radioButton, radioButton.ref], nameParts.terminal); - return PDFRadioGroup_default.of(radioButton, radioButton.ref, this.doc); - }; - PDFForm2.prototype.createTextField = function(name) { - assertIs(name, "name", ["string"]); - var nameParts = splitFieldName(name); - var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); - var text = PDFAcroText_default.create(this.doc.context); - text.setPartialName(nameParts.terminal); - addFieldToParent(parent, [text, text.ref], nameParts.terminal); - return PDFTextField_default.of(text, text.ref, this.doc); - }; - PDFForm2.prototype.flatten = function(options) { - if (options === void 0) { - options = { updateFieldAppearances: true }; - } - if (options.updateFieldAppearances) { - this.updateFieldAppearances(); - } - var fields = this.getFields(); - for (var i = 0, lenFields = fields.length; i < lenFields; i++) { - var field = fields[i]; - var widgets = field.acroField.getWidgets(); - for (var j = 0, lenWidgets = widgets.length; j < lenWidgets; j++) { - var widget = widgets[j]; - var page = this.findWidgetPage(widget); - var widgetRef = this.findWidgetAppearanceRef(field, widget); - var xObjectKey = page.node.newXObject("FlatWidget", widgetRef); - var rectangle = widget.getRectangle(); - var operators = __spreadArrays([ - pushGraphicsState(), - translate(rectangle.x, rectangle.y) - ], rotateInPlace(__assign(__assign({}, rectangle), { rotation: 0 })), [ - drawObject(xObjectKey), - popGraphicsState() - ]).filter(Boolean); - page.pushOperators.apply(page, operators); - } - this.removeField(field); - } - }; - PDFForm2.prototype.removeField = function(field) { - var widgets = field.acroField.getWidgets(); - var pages = /* @__PURE__ */ new Set(); - for (var i = 0, len = widgets.length; i < len; i++) { - var widget = widgets[i]; - var widgetRef = this.findWidgetAppearanceRef(field, widget); - var page = this.findWidgetPage(widget); - pages.add(page); - page.node.removeAnnot(widgetRef); - } - pages.forEach(function(page2) { - return page2.node.removeAnnot(field.ref); - }); - this.acroForm.removeField(field.acroField); - var fieldKids = field.acroField.normalizedEntries().Kids; - var kidsCount = fieldKids.size(); - for (var childIndex = 0; childIndex < kidsCount; childIndex++) { - var child = fieldKids.get(childIndex); - if (child instanceof PDFRef_default) { - this.doc.context.delete(child); - } - } - this.doc.context.delete(field.ref); - }; - PDFForm2.prototype.updateFieldAppearances = function(font) { - assertOrUndefined(font, "font", [[PDFFont_default, "PDFFont"]]); - font = font !== null && font !== void 0 ? font : this.getDefaultFont(); - var fields = this.getFields(); - for (var idx = 0, len = fields.length; idx < len; idx++) { - var field = fields[idx]; - if (field.needsAppearancesUpdate()) { - field.defaultUpdateAppearances(font); - } - } - }; - PDFForm2.prototype.markFieldAsDirty = function(fieldRef) { - assertOrUndefined(fieldRef, "fieldRef", [[PDFRef_default, "PDFRef"]]); - this.dirtyFields.add(fieldRef); - }; - PDFForm2.prototype.markFieldAsClean = function(fieldRef) { - assertOrUndefined(fieldRef, "fieldRef", [[PDFRef_default, "PDFRef"]]); - this.dirtyFields.delete(fieldRef); - }; - PDFForm2.prototype.fieldIsDirty = function(fieldRef) { - assertOrUndefined(fieldRef, "fieldRef", [[PDFRef_default, "PDFRef"]]); - return this.dirtyFields.has(fieldRef); - }; - PDFForm2.prototype.getDefaultFont = function() { - return this.defaultFontCache.access(); - }; - PDFForm2.prototype.findWidgetPage = function(widget) { - var pageRef = widget.P(); - var page = this.doc.getPages().find(function(x) { - return x.ref === pageRef; - }); - if (page === void 0) { - var widgetRef = this.doc.context.getObjectRef(widget.dict); - if (widgetRef === void 0) { - throw new Error("Could not find PDFRef for PDFObject"); - } - page = this.doc.findPageForAnnotationRef(widgetRef); - if (page === void 0) { - throw new Error("Could not find page for PDFRef " + widgetRef); - } - } - return page; - }; - PDFForm2.prototype.findWidgetAppearanceRef = function(field, widget) { - var _a; - var refOrDict = widget.getNormalAppearance(); - if (refOrDict instanceof PDFDict_default && (field instanceof PDFCheckBox_default || field instanceof PDFRadioGroup_default)) { - var value = field.acroField.getValue(); - var ref = (_a = refOrDict.get(value)) !== null && _a !== void 0 ? _a : refOrDict.get(PDFName_default.of("Off")); - if (ref instanceof PDFRef_default) { - refOrDict = ref; - } - } - if (!(refOrDict instanceof PDFRef_default)) { - var name_1 = field.getName(); - throw new Error("Failed to extract appearance ref for: " + name_1); - } - return refOrDict; - }; - PDFForm2.prototype.findOrCreateNonTerminals = function(partialNames) { - var nonTerminal = [ - this.acroForm - ]; - for (var idx = 0, len = partialNames.length; idx < len; idx++) { - var namePart = partialNames[idx]; - if (!namePart) - throw new InvalidFieldNamePartError(namePart); - var parent_1 = nonTerminal[0], parentRef = nonTerminal[1]; - var res = this.findNonTerminal(namePart, parent_1); - if (res) { - nonTerminal = res; - } else { - var node = PDFAcroNonTerminal_default.create(this.doc.context); - node.setPartialName(namePart); - node.setParent(parentRef); - var nodeRef = this.doc.context.register(node.dict); - parent_1.addField(nodeRef); - nonTerminal = [node, nodeRef]; - } - } - return nonTerminal; - }; - PDFForm2.prototype.findNonTerminal = function(partialName, parent) { - var fields = parent instanceof PDFAcroForm_default ? this.acroForm.getFields() : createPDFAcroFields(parent.Kids()); - for (var idx = 0, len = fields.length; idx < len; idx++) { - var _a = fields[idx], field = _a[0], ref = _a[1]; - if (field.getPartialName() === partialName) { - if (field instanceof PDFAcroNonTerminal_default) - return [field, ref]; - throw new FieldAlreadyExistsError(partialName); - } - } - return void 0; - }; - PDFForm2.of = function(acroForm, doc) { - return new PDFForm2(acroForm, doc); - }; - return PDFForm2; - })() -); -var PDFForm_default = PDFForm; -var convertToPDFField = function(field, ref, doc) { - if (field instanceof PDFAcroPushButton_default) - return PDFButton_default.of(field, ref, doc); - if (field instanceof PDFAcroCheckBox_default) - return PDFCheckBox_default.of(field, ref, doc); - if (field instanceof PDFAcroComboBox_default) - return PDFDropdown_default.of(field, ref, doc); - if (field instanceof PDFAcroListBox_default) - return PDFOptionList_default.of(field, ref, doc); - if (field instanceof PDFAcroText_default) - return PDFTextField_default.of(field, ref, doc); - if (field instanceof PDFAcroRadioButton_default) { - return PDFRadioGroup_default.of(field, ref, doc); - } - if (field instanceof PDFAcroSignature_default) { - return PDFSignature_default.of(field, ref, doc); - } - return void 0; -}; -var splitFieldName = function(fullyQualifiedName) { - if (fullyQualifiedName.length === 0) { - throw new Error("PDF field names must not be empty strings"); - } - var parts = fullyQualifiedName.split("."); - for (var idx = 0, len = parts.length; idx < len; idx++) { - if (parts[idx] === "") { - throw new Error('Periods in PDF field names must be separated by at least one character: "' + fullyQualifiedName + '"'); - } - } - if (parts.length === 1) - return { nonTerminal: [], terminal: parts[0] }; - return { - nonTerminal: parts.slice(0, parts.length - 1), - terminal: parts[parts.length - 1] - }; -}; -var addFieldToParent = function(_a, _b, partialName) { - var parent = _a[0], parentRef = _a[1]; - var field = _b[0], fieldRef = _b[1]; - var entries = parent.normalizedEntries(); - var fields = createPDFAcroFields("Kids" in entries ? entries.Kids : entries.Fields); - for (var idx = 0, len = fields.length; idx < len; idx++) { - if (fields[idx][0].getPartialName() === partialName) { - throw new FieldAlreadyExistsError(partialName); - } - } - parent.addField(fieldRef); - field.setParent(parentRef); -}; - -// ../../../node_modules/pdf-lib/es/api/sizes.js -var PageSizes = { - "4A0": [4767.87, 6740.79], - "2A0": [3370.39, 4767.87], - 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], - RA0: [2437.8, 3458.27], - RA1: [1729.13, 2437.8], - RA2: [1218.9, 1729.13], - RA3: [864.57, 1218.9], - RA4: [609.45, 864.57], - SRA0: [2551.18, 3628.35], - SRA1: [1814.17, 2551.18], - SRA2: [1275.59, 1814.17], - SRA3: [907.09, 1275.59], - SRA4: [637.8, 907.09], - Executive: [521.86, 756], - Folio: [612, 936], - Legal: [612, 1008], - Letter: [612, 792], - Tabloid: [792, 1224] -}; - -// ../../../node_modules/pdf-lib/es/api/PDFDocumentOptions.js -var ParseSpeeds; -(function(ParseSpeeds2) { - ParseSpeeds2[ParseSpeeds2["Fastest"] = Infinity] = "Fastest"; - ParseSpeeds2[ParseSpeeds2["Fast"] = 1500] = "Fast"; - ParseSpeeds2[ParseSpeeds2["Medium"] = 500] = "Medium"; - ParseSpeeds2[ParseSpeeds2["Slow"] = 100] = "Slow"; -})(ParseSpeeds || (ParseSpeeds = {})); - -// ../../../node_modules/pdf-lib/es/api/PDFEmbeddedFile.js -var PDFEmbeddedFile = ( - /** @class */ - (function() { - function PDFEmbeddedFile2(ref, doc, embedder) { - this.alreadyEmbedded = false; - this.ref = ref; - this.doc = doc; - this.embedder = embedder; - } - PDFEmbeddedFile2.prototype.embed = function() { - return __awaiter(this, void 0, void 0, function() { - var ref, Names, EmbeddedFiles, EFNames, AF; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (!!this.alreadyEmbedded) return [3, 2]; - return [4, this.embedder.embedIntoContext(this.doc.context, this.ref)]; - case 1: - ref = _a.sent(); - if (!this.doc.catalog.has(PDFName_default.of("Names"))) { - this.doc.catalog.set(PDFName_default.of("Names"), this.doc.context.obj({})); - } - Names = this.doc.catalog.lookup(PDFName_default.of("Names"), PDFDict_default); - if (!Names.has(PDFName_default.of("EmbeddedFiles"))) { - Names.set(PDFName_default.of("EmbeddedFiles"), this.doc.context.obj({})); - } - EmbeddedFiles = Names.lookup(PDFName_default.of("EmbeddedFiles"), PDFDict_default); - if (!EmbeddedFiles.has(PDFName_default.of("Names"))) { - EmbeddedFiles.set(PDFName_default.of("Names"), this.doc.context.obj([])); - } - EFNames = EmbeddedFiles.lookup(PDFName_default.of("Names"), PDFArray_default); - EFNames.push(PDFHexString_default.fromText(this.embedder.fileName)); - EFNames.push(ref); - if (!this.doc.catalog.has(PDFName_default.of("AF"))) { - this.doc.catalog.set(PDFName_default.of("AF"), this.doc.context.obj([])); - } - AF = this.doc.catalog.lookup(PDFName_default.of("AF"), PDFArray_default); - AF.push(ref); - this.alreadyEmbedded = true; - _a.label = 2; - case 2: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFEmbeddedFile2.of = function(ref, doc, embedder) { - return new PDFEmbeddedFile2(ref, doc, embedder); - }; - return PDFEmbeddedFile2; - })() -); -var PDFEmbeddedFile_default = PDFEmbeddedFile; - -// ../../../node_modules/pdf-lib/es/api/PDFJavaScript.js -var PDFJavaScript = ( - /** @class */ - (function() { - function PDFJavaScript2(ref, doc, embedder) { - this.alreadyEmbedded = false; - this.ref = ref; - this.doc = doc; - this.embedder = embedder; - } - PDFJavaScript2.prototype.embed = function() { - return __awaiter(this, void 0, void 0, function() { - var _a, catalog, context, ref, Names, Javascript, JSNames; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - if (!!this.alreadyEmbedded) return [3, 2]; - _a = this.doc, catalog = _a.catalog, context = _a.context; - return [4, this.embedder.embedIntoContext(this.doc.context, this.ref)]; - case 1: - ref = _b.sent(); - if (!catalog.has(PDFName_default.of("Names"))) { - catalog.set(PDFName_default.of("Names"), context.obj({})); - } - Names = catalog.lookup(PDFName_default.of("Names"), PDFDict_default); - if (!Names.has(PDFName_default.of("JavaScript"))) { - Names.set(PDFName_default.of("JavaScript"), context.obj({})); - } - Javascript = Names.lookup(PDFName_default.of("JavaScript"), PDFDict_default); - if (!Javascript.has(PDFName_default.of("Names"))) { - Javascript.set(PDFName_default.of("Names"), context.obj([])); - } - JSNames = Javascript.lookup(PDFName_default.of("Names"), PDFArray_default); - JSNames.push(PDFHexString_default.fromText(this.embedder.scriptName)); - JSNames.push(ref); - this.alreadyEmbedded = true; - _b.label = 2; - case 2: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFJavaScript2.of = function(ref, doc, embedder) { - return new PDFJavaScript2(ref, doc, embedder); - }; - return PDFJavaScript2; - })() -); -var PDFJavaScript_default = PDFJavaScript; - -// ../../../node_modules/pdf-lib/es/core/embedders/JavaScriptEmbedder.js -var JavaScriptEmbedder = ( - /** @class */ - (function() { - function JavaScriptEmbedder2(script, scriptName) { - this.script = script; - this.scriptName = scriptName; - } - JavaScriptEmbedder2.for = function(script, scriptName) { - return new JavaScriptEmbedder2(script, scriptName); - }; - JavaScriptEmbedder2.prototype.embedIntoContext = function(context, ref) { - return __awaiter(this, void 0, void 0, function() { - var jsActionDict; - return __generator(this, function(_a) { - jsActionDict = context.obj({ - Type: "Action", - S: "JavaScript", - JS: PDFHexString_default.fromText(this.script) - }); - if (ref) { - context.assign(ref, jsActionDict); - return [2, ref]; - } else { - return [2, context.register(jsActionDict)]; - } - return [ - 2 - /*return*/ - ]; - }); - }); - }; - return JavaScriptEmbedder2; - })() -); -var JavaScriptEmbedder_default = JavaScriptEmbedder; - -// ../../../node_modules/pdf-lib/es/api/PDFDocument.js -var PDFDocument = ( - /** @class */ - (function() { - function PDFDocument2(context, ignoreEncryption, updateMetadata) { - var _this = this; - this.defaultWordBreaks = [" "]; - this.computePages = function() { - var pages = []; - _this.catalog.Pages().traverse(function(node, ref) { - if (node instanceof PDFPageLeaf_default) { - var page = _this.pageMap.get(node); - if (!page) { - page = PDFPage_default.of(node, ref, _this); - _this.pageMap.set(node, page); - } - pages.push(page); - } - }); - return pages; - }; - this.getOrCreateForm = function() { - var acroForm = _this.catalog.getOrCreateAcroForm(); - return PDFForm_default.of(acroForm, _this); - }; - assertIs(context, "context", [[PDFContext_default, "PDFContext"]]); - assertIs(ignoreEncryption, "ignoreEncryption", ["boolean"]); - this.context = context; - this.catalog = context.lookup(context.trailerInfo.Root); - this.isEncrypted = !!context.lookup(context.trailerInfo.Encrypt); - this.pageCache = Cache_default.populatedBy(this.computePages); - this.pageMap = /* @__PURE__ */ new Map(); - this.formCache = Cache_default.populatedBy(this.getOrCreateForm); - this.fonts = []; - this.images = []; - this.embeddedPages = []; - this.embeddedFiles = []; - this.javaScripts = []; - if (!ignoreEncryption && this.isEncrypted) - throw new EncryptedPDFError(); - if (updateMetadata) - this.updateInfoDict(); - } - PDFDocument2.load = function(pdf, options) { - if (options === void 0) { - options = {}; - } - return __awaiter(this, void 0, void 0, function() { - var _a, ignoreEncryption, _b, parseSpeed, _c, throwOnInvalidObject, _d, updateMetadata, _e, capNumbers, bytes, context; - return __generator(this, function(_f) { - switch (_f.label) { - case 0: - _a = options.ignoreEncryption, ignoreEncryption = _a === void 0 ? false : _a, _b = options.parseSpeed, parseSpeed = _b === void 0 ? ParseSpeeds.Slow : _b, _c = options.throwOnInvalidObject, throwOnInvalidObject = _c === void 0 ? false : _c, _d = options.updateMetadata, updateMetadata = _d === void 0 ? true : _d, _e = options.capNumbers, capNumbers = _e === void 0 ? false : _e; - assertIs(pdf, "pdf", ["string", Uint8Array, ArrayBuffer]); - assertIs(ignoreEncryption, "ignoreEncryption", ["boolean"]); - assertIs(parseSpeed, "parseSpeed", ["number"]); - assertIs(throwOnInvalidObject, "throwOnInvalidObject", ["boolean"]); - bytes = toUint8Array(pdf); - return [4, PDFParser_default.forBytesWithOptions(bytes, parseSpeed, throwOnInvalidObject, capNumbers).parseDocument()]; - case 1: - context = _f.sent(); - return [2, new PDFDocument2(context, ignoreEncryption, updateMetadata)]; - } - }); - }); - }; - PDFDocument2.create = function(options) { - if (options === void 0) { - options = {}; - } - return __awaiter(this, void 0, void 0, function() { - var _a, updateMetadata, context, pageTree, pageTreeRef, catalog; - return __generator(this, function(_b) { - _a = options.updateMetadata, updateMetadata = _a === void 0 ? true : _a; - context = PDFContext_default.create(); - pageTree = PDFPageTree_default.withContext(context); - pageTreeRef = context.register(pageTree); - catalog = PDFCatalog_default.withContextAndPages(context, pageTreeRef); - context.trailerInfo.Root = context.register(catalog); - return [2, new PDFDocument2(context, false, updateMetadata)]; - }); - }); - }; - PDFDocument2.prototype.registerFontkit = function(fontkit) { - this.fontkit = fontkit; - }; - PDFDocument2.prototype.getForm = function() { - var form = this.formCache.access(); - if (form.hasXFA()) { - console.warn("Removing XFA form data as pdf-lib does not support reading or writing XFA"); - form.deleteXFA(); - } - return form; - }; - PDFDocument2.prototype.getTitle = function() { - var title = this.getInfoDict().lookup(PDFName_default.Title); - if (!title) - return void 0; - assertIsLiteralOrHexString(title); - return title.decodeText(); - }; - PDFDocument2.prototype.getAuthor = function() { - var author = this.getInfoDict().lookup(PDFName_default.Author); - if (!author) - return void 0; - assertIsLiteralOrHexString(author); - return author.decodeText(); - }; - PDFDocument2.prototype.getSubject = function() { - var subject = this.getInfoDict().lookup(PDFName_default.Subject); - if (!subject) - return void 0; - assertIsLiteralOrHexString(subject); - return subject.decodeText(); - }; - PDFDocument2.prototype.getKeywords = function() { - var keywords = this.getInfoDict().lookup(PDFName_default.Keywords); - if (!keywords) - return void 0; - assertIsLiteralOrHexString(keywords); - return keywords.decodeText(); - }; - PDFDocument2.prototype.getCreator = function() { - var creator = this.getInfoDict().lookup(PDFName_default.Creator); - if (!creator) - return void 0; - assertIsLiteralOrHexString(creator); - return creator.decodeText(); - }; - PDFDocument2.prototype.getProducer = function() { - var producer = this.getInfoDict().lookup(PDFName_default.Producer); - if (!producer) - return void 0; - assertIsLiteralOrHexString(producer); - return producer.decodeText(); - }; - PDFDocument2.prototype.getCreationDate = function() { - var creationDate = this.getInfoDict().lookup(PDFName_default.CreationDate); - if (!creationDate) - return void 0; - assertIsLiteralOrHexString(creationDate); - return creationDate.decodeDate(); - }; - PDFDocument2.prototype.getModificationDate = function() { - var modificationDate = this.getInfoDict().lookup(PDFName_default.ModDate); - if (!modificationDate) - return void 0; - assertIsLiteralOrHexString(modificationDate); - return modificationDate.decodeDate(); - }; - PDFDocument2.prototype.setTitle = function(title, options) { - assertIs(title, "title", ["string"]); - var key = PDFName_default.of("Title"); - this.getInfoDict().set(key, PDFHexString_default.fromText(title)); - if (options === null || options === void 0 ? void 0 : options.showInWindowTitleBar) { - var prefs = this.catalog.getOrCreateViewerPreferences(); - prefs.setDisplayDocTitle(true); - } - }; - PDFDocument2.prototype.setAuthor = function(author) { - assertIs(author, "author", ["string"]); - var key = PDFName_default.of("Author"); - this.getInfoDict().set(key, PDFHexString_default.fromText(author)); - }; - PDFDocument2.prototype.setSubject = function(subject) { - assertIs(subject, "author", ["string"]); - var key = PDFName_default.of("Subject"); - this.getInfoDict().set(key, PDFHexString_default.fromText(subject)); - }; - PDFDocument2.prototype.setKeywords = function(keywords) { - assertIs(keywords, "keywords", [Array]); - var key = PDFName_default.of("Keywords"); - this.getInfoDict().set(key, PDFHexString_default.fromText(keywords.join(" "))); - }; - PDFDocument2.prototype.setCreator = function(creator) { - assertIs(creator, "creator", ["string"]); - var key = PDFName_default.of("Creator"); - this.getInfoDict().set(key, PDFHexString_default.fromText(creator)); - }; - PDFDocument2.prototype.setProducer = function(producer) { - assertIs(producer, "creator", ["string"]); - var key = PDFName_default.of("Producer"); - this.getInfoDict().set(key, PDFHexString_default.fromText(producer)); - }; - PDFDocument2.prototype.setLanguage = function(language) { - assertIs(language, "language", ["string"]); - var key = PDFName_default.of("Lang"); - this.catalog.set(key, PDFString_default.of(language)); - }; - PDFDocument2.prototype.setCreationDate = function(creationDate) { - assertIs(creationDate, "creationDate", [[Date, "Date"]]); - var key = PDFName_default.of("CreationDate"); - this.getInfoDict().set(key, PDFString_default.fromDate(creationDate)); - }; - PDFDocument2.prototype.setModificationDate = function(modificationDate) { - assertIs(modificationDate, "modificationDate", [[Date, "Date"]]); - var key = PDFName_default.of("ModDate"); - this.getInfoDict().set(key, PDFString_default.fromDate(modificationDate)); - }; - PDFDocument2.prototype.getPageCount = function() { - if (this.pageCount === void 0) - this.pageCount = this.getPages().length; - return this.pageCount; - }; - PDFDocument2.prototype.getPages = function() { - return this.pageCache.access(); - }; - PDFDocument2.prototype.getPage = function(index) { - var pages = this.getPages(); - assertRange(index, "index", 0, pages.length - 1); - return pages[index]; - }; - PDFDocument2.prototype.getPageIndices = function() { - return range(0, this.getPageCount()); - }; - PDFDocument2.prototype.removePage = function(index) { - var pageCount = this.getPageCount(); - if (this.pageCount === 0) - throw new RemovePageFromEmptyDocumentError(); - assertRange(index, "index", 0, pageCount - 1); - this.catalog.removeLeafNode(index); - this.pageCount = pageCount - 1; - }; - PDFDocument2.prototype.addPage = function(page) { - assertIs(page, "page", ["undefined", [PDFPage_default, "PDFPage"], Array]); - return this.insertPage(this.getPageCount(), page); - }; - PDFDocument2.prototype.insertPage = function(index, page) { - var pageCount = this.getPageCount(); - assertRange(index, "index", 0, pageCount); - assertIs(page, "page", ["undefined", [PDFPage_default, "PDFPage"], Array]); - if (!page || Array.isArray(page)) { - var dims = Array.isArray(page) ? page : PageSizes.A4; - page = PDFPage_default.create(this); - page.setSize.apply(page, dims); - } else if (page.doc !== this) { - throw new ForeignPageError(); - } - var parentRef = this.catalog.insertLeafNode(page.ref, index); - page.node.setParent(parentRef); - this.pageMap.set(page.node, page); - this.pageCache.invalidate(); - this.pageCount = pageCount + 1; - return page; - }; - PDFDocument2.prototype.copyPages = function(srcDoc, indices) { - return __awaiter(this, void 0, void 0, function() { - var copier, srcPages, copiedPages, idx, len, srcPage, copiedPage, ref; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - assertIs(srcDoc, "srcDoc", [[PDFDocument2, "PDFDocument"]]); - assertIs(indices, "indices", [Array]); - return [4, srcDoc.flush()]; - case 1: - _a.sent(); - copier = PDFObjectCopier_default.for(srcDoc.context, this.context); - srcPages = srcDoc.getPages(); - copiedPages = new Array(indices.length); - for (idx = 0, len = indices.length; idx < len; idx++) { - srcPage = srcPages[indices[idx]]; - copiedPage = copier.copy(srcPage.node); - ref = this.context.register(copiedPage); - copiedPages[idx] = PDFPage_default.of(copiedPage, ref, this); - } - return [2, copiedPages]; - } - }); - }); - }; - PDFDocument2.prototype.copy = function() { - return __awaiter(this, void 0, void 0, function() { - var pdfCopy, contentPages, idx, len; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, PDFDocument2.create()]; - case 1: - pdfCopy = _a.sent(); - return [4, pdfCopy.copyPages(this, this.getPageIndices())]; - case 2: - contentPages = _a.sent(); - for (idx = 0, len = contentPages.length; idx < len; idx++) { - pdfCopy.addPage(contentPages[idx]); - } - if (this.getAuthor() !== void 0) { - pdfCopy.setAuthor(this.getAuthor()); - } - if (this.getCreationDate() !== void 0) { - pdfCopy.setCreationDate(this.getCreationDate()); - } - if (this.getCreator() !== void 0) { - pdfCopy.setCreator(this.getCreator()); - } - if (this.getModificationDate() !== void 0) { - pdfCopy.setModificationDate(this.getModificationDate()); - } - if (this.getProducer() !== void 0) { - pdfCopy.setProducer(this.getProducer()); - } - if (this.getSubject() !== void 0) { - pdfCopy.setSubject(this.getSubject()); - } - if (this.getTitle() !== void 0) { - pdfCopy.setTitle(this.getTitle()); - } - pdfCopy.defaultWordBreaks = this.defaultWordBreaks; - return [2, pdfCopy]; - } - }); - }); - }; - PDFDocument2.prototype.addJavaScript = function(name, script) { - assertIs(name, "name", ["string"]); - assertIs(script, "script", ["string"]); - var embedder = JavaScriptEmbedder_default.for(script, name); - var ref = this.context.nextRef(); - var javaScript = PDFJavaScript_default.of(ref, this, embedder); - this.javaScripts.push(javaScript); - }; - PDFDocument2.prototype.attach = function(attachment, name, options) { - if (options === void 0) { - options = {}; - } - return __awaiter(this, void 0, void 0, function() { - var bytes, embedder, ref, embeddedFile; - return __generator(this, function(_a) { - assertIs(attachment, "attachment", ["string", Uint8Array, ArrayBuffer]); - assertIs(name, "name", ["string"]); - assertOrUndefined(options.mimeType, "mimeType", ["string"]); - assertOrUndefined(options.description, "description", ["string"]); - assertOrUndefined(options.creationDate, "options.creationDate", [Date]); - assertOrUndefined(options.modificationDate, "options.modificationDate", [ - Date - ]); - assertIsOneOfOrUndefined(options.afRelationship, "options.afRelationship", AFRelationship); - bytes = toUint8Array(attachment); - embedder = FileEmbedder_default.for(bytes, name, options); - ref = this.context.nextRef(); - embeddedFile = PDFEmbeddedFile_default.of(ref, this, embedder); - this.embeddedFiles.push(embeddedFile); - return [ - 2 - /*return*/ - ]; - }); - }); - }; - PDFDocument2.prototype.embedFont = function(font, options) { - if (options === void 0) { - options = {}; - } - return __awaiter(this, void 0, void 0, function() { - var _a, subset, customName, features, embedder, bytes, fontkit, _b, ref, pdfFont; - return __generator(this, function(_c) { - switch (_c.label) { - case 0: - _a = options.subset, subset = _a === void 0 ? false : _a, customName = options.customName, features = options.features; - assertIs(font, "font", ["string", Uint8Array, ArrayBuffer]); - assertIs(subset, "subset", ["boolean"]); - if (!isStandardFont(font)) return [3, 1]; - embedder = StandardFontEmbedder_default.for(font, customName); - return [3, 7]; - case 1: - if (!canBeConvertedToUint8Array(font)) return [3, 6]; - bytes = toUint8Array(font); - fontkit = this.assertFontkit(); - if (!subset) return [3, 3]; - return [4, CustomFontSubsetEmbedder_default.for(fontkit, bytes, customName, features)]; - case 2: - _b = _c.sent(); - return [3, 5]; - case 3: - return [4, CustomFontEmbedder_default.for(fontkit, bytes, customName, features)]; - case 4: - _b = _c.sent(); - _c.label = 5; - case 5: - embedder = _b; - return [3, 7]; - case 6: - throw new TypeError("`font` must be one of `StandardFonts | string | Uint8Array | ArrayBuffer`"); - case 7: - ref = this.context.nextRef(); - pdfFont = PDFFont_default.of(ref, this, embedder); - this.fonts.push(pdfFont); - return [2, pdfFont]; - } - }); - }); - }; - PDFDocument2.prototype.embedStandardFont = function(font, customName) { - assertIs(font, "font", ["string"]); - if (!isStandardFont(font)) { - throw new TypeError("`font` must be one of type `StandardFonts`"); - } - var embedder = StandardFontEmbedder_default.for(font, customName); - var ref = this.context.nextRef(); - var pdfFont = PDFFont_default.of(ref, this, embedder); - this.fonts.push(pdfFont); - return pdfFont; - }; - PDFDocument2.prototype.embedJpg = function(jpg) { - return __awaiter(this, void 0, void 0, function() { - var bytes, embedder, ref, pdfImage; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - assertIs(jpg, "jpg", ["string", Uint8Array, ArrayBuffer]); - bytes = toUint8Array(jpg); - return [4, JpegEmbedder_default.for(bytes)]; - case 1: - embedder = _a.sent(); - ref = this.context.nextRef(); - pdfImage = PDFImage_default.of(ref, this, embedder); - this.images.push(pdfImage); - return [2, pdfImage]; - } - }); - }); - }; - PDFDocument2.prototype.embedPng = function(png) { - return __awaiter(this, void 0, void 0, function() { - var bytes, embedder, ref, pdfImage; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - assertIs(png, "png", ["string", Uint8Array, ArrayBuffer]); - bytes = toUint8Array(png); - return [4, PngEmbedder_default.for(bytes)]; - case 1: - embedder = _a.sent(); - ref = this.context.nextRef(); - pdfImage = PDFImage_default.of(ref, this, embedder); - this.images.push(pdfImage); - return [2, pdfImage]; - } - }); - }); - }; - PDFDocument2.prototype.embedPdf = function(pdf, indices) { - if (indices === void 0) { - indices = [0]; - } - return __awaiter(this, void 0, void 0, function() { - var srcDoc, _a, srcPages; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - assertIs(pdf, "pdf", [ - "string", - Uint8Array, - ArrayBuffer, - [PDFDocument2, "PDFDocument"] - ]); - assertIs(indices, "indices", [Array]); - if (!(pdf instanceof PDFDocument2)) return [3, 1]; - _a = pdf; - return [3, 3]; - case 1: - return [4, PDFDocument2.load(pdf)]; - case 2: - _a = _b.sent(); - _b.label = 3; - case 3: - srcDoc = _a; - srcPages = pluckIndices(srcDoc.getPages(), indices); - return [2, this.embedPages(srcPages)]; - } - }); - }); - }; - PDFDocument2.prototype.embedPage = function(page, boundingBox, transformationMatrix) { - return __awaiter(this, void 0, void 0, function() { - var embeddedPage; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); - return [4, this.embedPages([page], [boundingBox], [transformationMatrix])]; - case 1: - embeddedPage = _a.sent()[0]; - return [2, embeddedPage]; - } - }); - }); - }; - PDFDocument2.prototype.embedPages = function(pages, boundingBoxes, transformationMatrices) { - if (boundingBoxes === void 0) { - boundingBoxes = []; - } - if (transformationMatrices === void 0) { - transformationMatrices = []; - } - return __awaiter(this, void 0, void 0, function() { - var idx, len, currPage, nextPage, context, maybeCopyPage, embeddedPages, idx, len, page, box, matrix, embedder, ref; - var _a; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - if (pages.length === 0) - return [2, []]; - for (idx = 0, len = pages.length - 1; idx < len; idx++) { - currPage = pages[idx]; - nextPage = pages[idx + 1]; - if (currPage.node.context !== nextPage.node.context) { - throw new PageEmbeddingMismatchedContextError(); - } - } - context = pages[0].node.context; - maybeCopyPage = context === this.context ? function(p) { - return p; - } : PDFObjectCopier_default.for(context, this.context).copy; - embeddedPages = new Array(pages.length); - idx = 0, len = pages.length; - _b.label = 1; - case 1: - if (!(idx < len)) return [3, 4]; - page = maybeCopyPage(pages[idx].node); - box = boundingBoxes[idx]; - matrix = transformationMatrices[idx]; - return [4, PDFPageEmbedder_default.for(page, box, matrix)]; - case 2: - embedder = _b.sent(); - ref = this.context.nextRef(); - embeddedPages[idx] = PDFEmbeddedPage_default.of(ref, this, embedder); - _b.label = 3; - case 3: - idx++; - return [3, 1]; - case 4: - (_a = this.embeddedPages).push.apply(_a, embeddedPages); - return [2, embeddedPages]; - } - }); - }); - }; - PDFDocument2.prototype.flush = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.embedAll(this.fonts)]; - case 1: - _a.sent(); - return [4, this.embedAll(this.images)]; - case 2: - _a.sent(); - return [4, this.embedAll(this.embeddedPages)]; - case 3: - _a.sent(); - return [4, this.embedAll(this.embeddedFiles)]; - case 4: - _a.sent(); - return [4, this.embedAll(this.javaScripts)]; - case 5: - _a.sent(); - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFDocument2.prototype.save = function(options) { - if (options === void 0) { - options = {}; - } - return __awaiter(this, void 0, void 0, function() { - var _a, useObjectStreams, _b, addDefaultPage, _c, objectsPerTick, _d, updateFieldAppearances, form, Writer; - return __generator(this, function(_e) { - switch (_e.label) { - case 0: - _a = options.useObjectStreams, useObjectStreams = _a === void 0 ? true : _a, _b = options.addDefaultPage, addDefaultPage = _b === void 0 ? true : _b, _c = options.objectsPerTick, objectsPerTick = _c === void 0 ? 50 : _c, _d = options.updateFieldAppearances, updateFieldAppearances = _d === void 0 ? true : _d; - assertIs(useObjectStreams, "useObjectStreams", ["boolean"]); - assertIs(addDefaultPage, "addDefaultPage", ["boolean"]); - assertIs(objectsPerTick, "objectsPerTick", ["number"]); - assertIs(updateFieldAppearances, "updateFieldAppearances", ["boolean"]); - if (addDefaultPage && this.getPageCount() === 0) - this.addPage(); - if (updateFieldAppearances) { - form = this.formCache.getValue(); - if (form) - form.updateFieldAppearances(); - } - return [4, this.flush()]; - case 1: - _e.sent(); - Writer = useObjectStreams ? PDFStreamWriter_default : PDFWriter_default; - return [2, Writer.forContext(this.context, objectsPerTick).serializeToBuffer()]; - } - }); - }); - }; - PDFDocument2.prototype.saveAsBase64 = function(options) { - if (options === void 0) { - options = {}; - } - return __awaiter(this, void 0, void 0, function() { - var _a, dataUri, otherOptions, bytes, base64; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - _a = options.dataUri, dataUri = _a === void 0 ? false : _a, otherOptions = __rest(options, ["dataUri"]); - assertIs(dataUri, "dataUri", ["boolean"]); - return [4, this.save(otherOptions)]; - case 1: - bytes = _b.sent(); - base64 = encodeToBase64(bytes); - return [2, dataUri ? "data:application/pdf;base64," + base64 : base64]; - } - }); - }); - }; - PDFDocument2.prototype.findPageForAnnotationRef = function(ref) { - var pages = this.getPages(); - for (var idx = 0, len = pages.length; idx < len; idx++) { - var page = pages[idx]; - var annotations = page.node.Annots(); - if ((annotations === null || annotations === void 0 ? void 0 : annotations.indexOf(ref)) !== void 0) { - return page; - } - } - return void 0; - }; - PDFDocument2.prototype.embedAll = function(embeddables) { - return __awaiter(this, void 0, void 0, function() { - var idx, len; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - idx = 0, len = embeddables.length; - _a.label = 1; - case 1: - if (!(idx < len)) return [3, 4]; - return [4, embeddables[idx].embed()]; - case 2: - _a.sent(); - _a.label = 3; - case 3: - idx++; - return [3, 1]; - case 4: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFDocument2.prototype.updateInfoDict = function() { - var pdfLib = "pdf-lib (https://github.com/Hopding/pdf-lib)"; - var now = /* @__PURE__ */ new Date(); - var info = this.getInfoDict(); - this.setProducer(pdfLib); - this.setModificationDate(now); - if (!info.get(PDFName_default.of("Creator"))) - this.setCreator(pdfLib); - if (!info.get(PDFName_default.of("CreationDate"))) - this.setCreationDate(now); - }; - PDFDocument2.prototype.getInfoDict = function() { - var existingInfo = this.context.lookup(this.context.trailerInfo.Info); - if (existingInfo instanceof PDFDict_default) - return existingInfo; - var newInfo = this.context.obj({}); - this.context.trailerInfo.Info = this.context.register(newInfo); - return newInfo; - }; - PDFDocument2.prototype.assertFontkit = function() { - if (!this.fontkit) - throw new FontkitNotRegisteredError(); - return this.fontkit; - }; - return PDFDocument2; - })() -); -var PDFDocument_default = PDFDocument; -function assertIsLiteralOrHexString(pdfObject) { - if (!(pdfObject instanceof PDFHexString_default) && !(pdfObject instanceof PDFString_default)) { - throw new UnexpectedObjectTypeError([PDFHexString_default, PDFString_default], pdfObject); - } -} - -// ../../../node_modules/pdf-lib/es/api/PDFPageOptions.js -var BlendMode; -(function(BlendMode2) { - BlendMode2["Normal"] = "Normal"; - BlendMode2["Multiply"] = "Multiply"; - BlendMode2["Screen"] = "Screen"; - BlendMode2["Overlay"] = "Overlay"; - BlendMode2["Darken"] = "Darken"; - BlendMode2["Lighten"] = "Lighten"; - BlendMode2["ColorDodge"] = "ColorDodge"; - BlendMode2["ColorBurn"] = "ColorBurn"; - BlendMode2["HardLight"] = "HardLight"; - BlendMode2["SoftLight"] = "SoftLight"; - BlendMode2["Difference"] = "Difference"; - BlendMode2["Exclusion"] = "Exclusion"; -})(BlendMode || (BlendMode = {})); - -// ../../../node_modules/pdf-lib/es/api/PDFPage.js -var PDFPage = ( - /** @class */ - (function() { - function PDFPage2(leafNode, ref, doc) { - this.fontSize = 24; - this.fontColor = rgb(0, 0, 0); - this.lineHeight = 24; - this.x = 0; - this.y = 0; - assertIs(leafNode, "leafNode", [[PDFPageLeaf_default, "PDFPageLeaf"]]); - assertIs(ref, "ref", [[PDFRef_default, "PDFRef"]]); - assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); - this.node = leafNode; - this.ref = ref; - this.doc = doc; - } - PDFPage2.prototype.setRotation = function(angle) { - var degreesAngle = toDegrees(angle); - assertMultiple(degreesAngle, "degreesAngle", 90); - this.node.set(PDFName_default.of("Rotate"), this.doc.context.obj(degreesAngle)); - }; - PDFPage2.prototype.getRotation = function() { - var Rotate = this.node.Rotate(); - return degrees(Rotate ? Rotate.asNumber() : 0); - }; - PDFPage2.prototype.setSize = function(width, height) { - assertIs(width, "width", ["number"]); - assertIs(height, "height", ["number"]); - var mediaBox = this.getMediaBox(); - this.setMediaBox(mediaBox.x, mediaBox.y, width, height); - var cropBox = this.getCropBox(); - var bleedBox = this.getBleedBox(); - var trimBox = this.getTrimBox(); - var artBox = this.getArtBox(); - var hasCropBox = this.node.CropBox(); - var hasBleedBox = this.node.BleedBox(); - var hasTrimBox = this.node.TrimBox(); - var hasArtBox = this.node.ArtBox(); - if (hasCropBox && rectanglesAreEqual(cropBox, mediaBox)) { - this.setCropBox(mediaBox.x, mediaBox.y, width, height); - } - if (hasBleedBox && rectanglesAreEqual(bleedBox, mediaBox)) { - this.setBleedBox(mediaBox.x, mediaBox.y, width, height); - } - if (hasTrimBox && rectanglesAreEqual(trimBox, mediaBox)) { - this.setTrimBox(mediaBox.x, mediaBox.y, width, height); - } - if (hasArtBox && rectanglesAreEqual(artBox, mediaBox)) { - this.setArtBox(mediaBox.x, mediaBox.y, width, height); - } - }; - PDFPage2.prototype.setWidth = function(width) { - assertIs(width, "width", ["number"]); - this.setSize(width, this.getSize().height); - }; - PDFPage2.prototype.setHeight = function(height) { - assertIs(height, "height", ["number"]); - this.setSize(this.getSize().width, height); - }; - PDFPage2.prototype.setMediaBox = function(x, y, width, height) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - assertIs(width, "width", ["number"]); - assertIs(height, "height", ["number"]); - var mediaBox = this.doc.context.obj([x, y, x + width, y + height]); - this.node.set(PDFName_default.MediaBox, mediaBox); - }; - PDFPage2.prototype.setCropBox = function(x, y, width, height) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - assertIs(width, "width", ["number"]); - assertIs(height, "height", ["number"]); - var cropBox = this.doc.context.obj([x, y, x + width, y + height]); - this.node.set(PDFName_default.CropBox, cropBox); - }; - PDFPage2.prototype.setBleedBox = function(x, y, width, height) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - assertIs(width, "width", ["number"]); - assertIs(height, "height", ["number"]); - var bleedBox = this.doc.context.obj([x, y, x + width, y + height]); - this.node.set(PDFName_default.BleedBox, bleedBox); - }; - PDFPage2.prototype.setTrimBox = function(x, y, width, height) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - assertIs(width, "width", ["number"]); - assertIs(height, "height", ["number"]); - var trimBox = this.doc.context.obj([x, y, x + width, y + height]); - this.node.set(PDFName_default.TrimBox, trimBox); - }; - PDFPage2.prototype.setArtBox = function(x, y, width, height) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - assertIs(width, "width", ["number"]); - assertIs(height, "height", ["number"]); - var artBox = this.doc.context.obj([x, y, x + width, y + height]); - this.node.set(PDFName_default.ArtBox, artBox); - }; - PDFPage2.prototype.getSize = function() { - var _a = this.getMediaBox(), width = _a.width, height = _a.height; - return { width, height }; - }; - PDFPage2.prototype.getWidth = function() { - return this.getSize().width; - }; - PDFPage2.prototype.getHeight = function() { - return this.getSize().height; - }; - PDFPage2.prototype.getMediaBox = function() { - var mediaBox = this.node.MediaBox(); - return mediaBox.asRectangle(); - }; - PDFPage2.prototype.getCropBox = function() { - var _a; - var cropBox = this.node.CropBox(); - return (_a = cropBox === null || cropBox === void 0 ? void 0 : cropBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getMediaBox(); - }; - PDFPage2.prototype.getBleedBox = function() { - var _a; - var bleedBox = this.node.BleedBox(); - return (_a = bleedBox === null || bleedBox === void 0 ? void 0 : bleedBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox(); - }; - PDFPage2.prototype.getTrimBox = function() { - var _a; - var trimBox = this.node.TrimBox(); - return (_a = trimBox === null || trimBox === void 0 ? void 0 : trimBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox(); - }; - PDFPage2.prototype.getArtBox = function() { - var _a; - var artBox = this.node.ArtBox(); - return (_a = artBox === null || artBox === void 0 ? void 0 : artBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox(); - }; - PDFPage2.prototype.translateContent = function(x, y) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - this.node.normalize(); - this.getContentStream(); - var start = this.createContentStream(pushGraphicsState(), translate(x, y)); - var startRef = this.doc.context.register(start); - var end = this.createContentStream(popGraphicsState()); - var endRef = this.doc.context.register(end); - this.node.wrapContentStreams(startRef, endRef); - }; - PDFPage2.prototype.scale = function(x, y) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - this.setSize(this.getWidth() * x, this.getHeight() * y); - this.scaleContent(x, y); - this.scaleAnnotations(x, y); - }; - PDFPage2.prototype.scaleContent = function(x, y) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - this.node.normalize(); - this.getContentStream(); - var start = this.createContentStream(pushGraphicsState(), scale(x, y)); - var startRef = this.doc.context.register(start); - var end = this.createContentStream(popGraphicsState()); - var endRef = this.doc.context.register(end); - this.node.wrapContentStreams(startRef, endRef); - }; - PDFPage2.prototype.scaleAnnotations = function(x, y) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - var annots = this.node.Annots(); - if (!annots) - return; - for (var idx = 0; idx < annots.size(); idx++) { - var annot = annots.lookup(idx); - if (annot instanceof PDFDict_default) - this.scaleAnnot(annot, x, y); - } - }; - PDFPage2.prototype.resetPosition = function() { - this.getContentStream(false); - this.x = 0; - this.y = 0; - }; - PDFPage2.prototype.setFont = function(font) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - this.font = font; - this.fontKey = this.node.newFontDictionary(this.font.name, this.font.ref); - }; - PDFPage2.prototype.setFontSize = function(fontSize) { - assertIs(fontSize, "fontSize", ["number"]); - this.fontSize = fontSize; - }; - PDFPage2.prototype.setFontColor = function(fontColor) { - assertIs(fontColor, "fontColor", [[Object, "Color"]]); - this.fontColor = fontColor; - }; - PDFPage2.prototype.setLineHeight = function(lineHeight) { - assertIs(lineHeight, "lineHeight", ["number"]); - this.lineHeight = lineHeight; - }; - PDFPage2.prototype.getPosition = function() { - return { x: this.x, y: this.y }; - }; - PDFPage2.prototype.getX = function() { - return this.x; - }; - PDFPage2.prototype.getY = function() { - return this.y; - }; - PDFPage2.prototype.moveTo = function(x, y) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - this.x = x; - this.y = y; - }; - PDFPage2.prototype.moveDown = function(yDecrease) { - assertIs(yDecrease, "yDecrease", ["number"]); - this.y -= yDecrease; - }; - PDFPage2.prototype.moveUp = function(yIncrease) { - assertIs(yIncrease, "yIncrease", ["number"]); - this.y += yIncrease; - }; - PDFPage2.prototype.moveLeft = function(xDecrease) { - assertIs(xDecrease, "xDecrease", ["number"]); - this.x -= xDecrease; - }; - PDFPage2.prototype.moveRight = function(xIncrease) { - assertIs(xIncrease, "xIncrease", ["number"]); - this.x += xIncrease; - }; - PDFPage2.prototype.pushOperators = function() { - var operator = []; - for (var _i = 0; _i < arguments.length; _i++) { - operator[_i] = arguments[_i]; - } - assertEachIs(operator, "operator", [[PDFOperator_default, "PDFOperator"]]); - var contentStream = this.getContentStream(); - contentStream.push.apply(contentStream, operator); - }; - PDFPage2.prototype.drawText = function(text, options) { - var _a, _b, _c, _d, _e, _f, _g; - if (options === void 0) { - options = {}; - } - assertIs(text, "text", ["string"]); - assertOrUndefined(options.color, "options.color", [[Object, "Color"]]); - assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); - assertOrUndefined(options.font, "options.font", [[PDFFont_default, "PDFFont"]]); - assertOrUndefined(options.size, "options.size", ["number"]); - assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); - assertOrUndefined(options.xSkew, "options.xSkew", [[Object, "Rotation"]]); - assertOrUndefined(options.ySkew, "options.ySkew", [[Object, "Rotation"]]); - assertOrUndefined(options.x, "options.x", ["number"]); - assertOrUndefined(options.y, "options.y", ["number"]); - assertOrUndefined(options.lineHeight, "options.lineHeight", ["number"]); - assertOrUndefined(options.maxWidth, "options.maxWidth", ["number"]); - assertOrUndefined(options.wordBreaks, "options.wordBreaks", [Array]); - assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); - var _h = this.setOrEmbedFont(options.font), oldFont = _h.oldFont, newFont = _h.newFont, newFontKey = _h.newFontKey; - var fontSize = options.size || this.fontSize; - var wordBreaks = options.wordBreaks || this.doc.defaultWordBreaks; - var textWidth = function(t) { - return newFont.widthOfTextAtSize(t, fontSize); - }; - var lines = options.maxWidth === void 0 ? lineSplit(cleanText(text)) : breakTextIntoLines(text, wordBreaks, options.maxWidth, textWidth); - var encodedLines = new Array(lines.length); - for (var idx = 0, len = lines.length; idx < len; idx++) { - encodedLines[idx] = newFont.encodeText(lines[idx]); - } - var graphicsStateKey = this.maybeEmbedGraphicsState({ - opacity: options.opacity, - blendMode: options.blendMode - }); - var contentStream = this.getContentStream(); - contentStream.push.apply(contentStream, drawLinesOfText(encodedLines, { - color: (_a = options.color) !== null && _a !== void 0 ? _a : this.fontColor, - font: newFontKey, - size: fontSize, - rotate: (_b = options.rotate) !== null && _b !== void 0 ? _b : degrees(0), - xSkew: (_c = options.xSkew) !== null && _c !== void 0 ? _c : degrees(0), - ySkew: (_d = options.ySkew) !== null && _d !== void 0 ? _d : degrees(0), - x: (_e = options.x) !== null && _e !== void 0 ? _e : this.x, - y: (_f = options.y) !== null && _f !== void 0 ? _f : this.y, - lineHeight: (_g = options.lineHeight) !== null && _g !== void 0 ? _g : this.lineHeight, - graphicsState: graphicsStateKey - })); - if (options.font) { - if (oldFont) - this.setFont(oldFont); - else - this.resetFont(); - } - }; - PDFPage2.prototype.drawImage = function(image, options) { - var _a, _b, _c, _d, _e, _f, _g; - if (options === void 0) { - options = {}; - } - assertIs(image, "image", [[PDFImage_default, "PDFImage"]]); - assertOrUndefined(options.x, "options.x", ["number"]); - assertOrUndefined(options.y, "options.y", ["number"]); - assertOrUndefined(options.width, "options.width", ["number"]); - assertOrUndefined(options.height, "options.height", ["number"]); - assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); - assertOrUndefined(options.xSkew, "options.xSkew", [[Object, "Rotation"]]); - assertOrUndefined(options.ySkew, "options.ySkew", [[Object, "Rotation"]]); - assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); - assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); - var xObjectKey = this.node.newXObject("Image", image.ref); - var graphicsStateKey = this.maybeEmbedGraphicsState({ - opacity: options.opacity, - blendMode: options.blendMode - }); - var contentStream = this.getContentStream(); - contentStream.push.apply(contentStream, drawImage(xObjectKey, { - x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, - y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, - width: (_c = options.width) !== null && _c !== void 0 ? _c : image.size().width, - height: (_d = options.height) !== null && _d !== void 0 ? _d : image.size().height, - rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : degrees(0), - xSkew: (_f = options.xSkew) !== null && _f !== void 0 ? _f : degrees(0), - ySkew: (_g = options.ySkew) !== null && _g !== void 0 ? _g : degrees(0), - graphicsState: graphicsStateKey - })); - }; - PDFPage2.prototype.drawPage = function(embeddedPage, options) { - var _a, _b, _c, _d, _e; - if (options === void 0) { - options = {}; - } - assertIs(embeddedPage, "embeddedPage", [ - [PDFEmbeddedPage_default, "PDFEmbeddedPage"] - ]); - assertOrUndefined(options.x, "options.x", ["number"]); - assertOrUndefined(options.y, "options.y", ["number"]); - assertOrUndefined(options.xScale, "options.xScale", ["number"]); - assertOrUndefined(options.yScale, "options.yScale", ["number"]); - assertOrUndefined(options.width, "options.width", ["number"]); - assertOrUndefined(options.height, "options.height", ["number"]); - assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); - assertOrUndefined(options.xSkew, "options.xSkew", [[Object, "Rotation"]]); - assertOrUndefined(options.ySkew, "options.ySkew", [[Object, "Rotation"]]); - assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); - assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); - var xObjectKey = this.node.newXObject("EmbeddedPdfPage", embeddedPage.ref); - var graphicsStateKey = this.maybeEmbedGraphicsState({ - opacity: options.opacity, - blendMode: options.blendMode - }); - var xScale = options.width !== void 0 ? options.width / embeddedPage.width : options.xScale !== void 0 ? options.xScale : 1; - var yScale = options.height !== void 0 ? options.height / embeddedPage.height : options.yScale !== void 0 ? options.yScale : 1; - var contentStream = this.getContentStream(); - contentStream.push.apply(contentStream, drawPage(xObjectKey, { - x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, - y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, - xScale, - yScale, - rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : degrees(0), - xSkew: (_d = options.xSkew) !== null && _d !== void 0 ? _d : degrees(0), - ySkew: (_e = options.ySkew) !== null && _e !== void 0 ? _e : degrees(0), - graphicsState: graphicsStateKey - })); - }; - PDFPage2.prototype.drawSvgPath = function(path, options) { - var _a, _b, _c, _d, _e, _f, _g, _h, _j; - if (options === void 0) { - options = {}; - } - assertIs(path, "path", ["string"]); - assertOrUndefined(options.x, "options.x", ["number"]); - assertOrUndefined(options.y, "options.y", ["number"]); - assertOrUndefined(options.scale, "options.scale", ["number"]); - assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); - assertOrUndefined(options.borderWidth, "options.borderWidth", ["number"]); - assertOrUndefined(options.color, "options.color", [[Object, "Color"]]); - assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); - assertOrUndefined(options.borderColor, "options.borderColor", [ - [Object, "Color"] - ]); - assertOrUndefined(options.borderDashArray, "options.borderDashArray", [ - Array - ]); - assertOrUndefined(options.borderDashPhase, "options.borderDashPhase", [ - "number" - ]); - assertIsOneOfOrUndefined(options.borderLineCap, "options.borderLineCap", LineCapStyle); - assertRangeOrUndefined(options.borderOpacity, "options.borderOpacity", 0, 1); - assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); - var graphicsStateKey = this.maybeEmbedGraphicsState({ - opacity: options.opacity, - borderOpacity: options.borderOpacity, - blendMode: options.blendMode - }); - if (!("color" in options) && !("borderColor" in options)) { - options.borderColor = rgb(0, 0, 0); - } - var contentStream = this.getContentStream(); - contentStream.push.apply(contentStream, drawSvgPath(path, { - x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, - y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, - scale: options.scale, - rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : degrees(0), - color: (_d = options.color) !== null && _d !== void 0 ? _d : void 0, - borderColor: (_e = options.borderColor) !== null && _e !== void 0 ? _e : void 0, - borderWidth: (_f = options.borderWidth) !== null && _f !== void 0 ? _f : 0, - borderDashArray: (_g = options.borderDashArray) !== null && _g !== void 0 ? _g : void 0, - borderDashPhase: (_h = options.borderDashPhase) !== null && _h !== void 0 ? _h : void 0, - borderLineCap: (_j = options.borderLineCap) !== null && _j !== void 0 ? _j : void 0, - graphicsState: graphicsStateKey - })); - }; - PDFPage2.prototype.drawLine = function(options) { - var _a, _b, _c, _d, _e; - assertIs(options.start, "options.start", [ - [Object, "{ x: number, y: number }"] - ]); - assertIs(options.end, "options.end", [ - [Object, "{ x: number, y: number }"] - ]); - assertIs(options.start.x, "options.start.x", ["number"]); - assertIs(options.start.y, "options.start.y", ["number"]); - assertIs(options.end.x, "options.end.x", ["number"]); - assertIs(options.end.y, "options.end.y", ["number"]); - assertOrUndefined(options.thickness, "options.thickness", ["number"]); - assertOrUndefined(options.color, "options.color", [[Object, "Color"]]); - assertOrUndefined(options.dashArray, "options.dashArray", [Array]); - assertOrUndefined(options.dashPhase, "options.dashPhase", ["number"]); - assertIsOneOfOrUndefined(options.lineCap, "options.lineCap", LineCapStyle); - assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); - assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); - var graphicsStateKey = this.maybeEmbedGraphicsState({ - borderOpacity: options.opacity, - blendMode: options.blendMode - }); - if (!("color" in options)) { - options.color = rgb(0, 0, 0); - } - var contentStream = this.getContentStream(); - contentStream.push.apply(contentStream, drawLine({ - start: options.start, - end: options.end, - thickness: (_a = options.thickness) !== null && _a !== void 0 ? _a : 1, - color: (_b = options.color) !== null && _b !== void 0 ? _b : void 0, - dashArray: (_c = options.dashArray) !== null && _c !== void 0 ? _c : void 0, - dashPhase: (_d = options.dashPhase) !== null && _d !== void 0 ? _d : void 0, - lineCap: (_e = options.lineCap) !== null && _e !== void 0 ? _e : void 0, - graphicsState: graphicsStateKey - })); - }; - PDFPage2.prototype.drawRectangle = function(options) { - var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o; - if (options === void 0) { - options = {}; - } - assertOrUndefined(options.x, "options.x", ["number"]); - assertOrUndefined(options.y, "options.y", ["number"]); - assertOrUndefined(options.width, "options.width", ["number"]); - assertOrUndefined(options.height, "options.height", ["number"]); - assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); - assertOrUndefined(options.xSkew, "options.xSkew", [[Object, "Rotation"]]); - assertOrUndefined(options.ySkew, "options.ySkew", [[Object, "Rotation"]]); - assertOrUndefined(options.borderWidth, "options.borderWidth", ["number"]); - assertOrUndefined(options.color, "options.color", [[Object, "Color"]]); - assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); - assertOrUndefined(options.borderColor, "options.borderColor", [ - [Object, "Color"] - ]); - assertOrUndefined(options.borderDashArray, "options.borderDashArray", [ - Array - ]); - assertOrUndefined(options.borderDashPhase, "options.borderDashPhase", [ - "number" - ]); - assertIsOneOfOrUndefined(options.borderLineCap, "options.borderLineCap", LineCapStyle); - assertRangeOrUndefined(options.borderOpacity, "options.borderOpacity", 0, 1); - assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); - var graphicsStateKey = this.maybeEmbedGraphicsState({ - opacity: options.opacity, - borderOpacity: options.borderOpacity, - blendMode: options.blendMode - }); - if (!("color" in options) && !("borderColor" in options)) { - options.color = rgb(0, 0, 0); - } - var contentStream = this.getContentStream(); - contentStream.push.apply(contentStream, drawRectangle({ - x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, - y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, - width: (_c = options.width) !== null && _c !== void 0 ? _c : 150, - height: (_d = options.height) !== null && _d !== void 0 ? _d : 100, - rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : degrees(0), - xSkew: (_f = options.xSkew) !== null && _f !== void 0 ? _f : degrees(0), - ySkew: (_g = options.ySkew) !== null && _g !== void 0 ? _g : degrees(0), - borderWidth: (_h = options.borderWidth) !== null && _h !== void 0 ? _h : 0, - color: (_j = options.color) !== null && _j !== void 0 ? _j : void 0, - borderColor: (_k = options.borderColor) !== null && _k !== void 0 ? _k : void 0, - borderDashArray: (_l = options.borderDashArray) !== null && _l !== void 0 ? _l : void 0, - borderDashPhase: (_m = options.borderDashPhase) !== null && _m !== void 0 ? _m : void 0, - graphicsState: graphicsStateKey, - borderLineCap: (_o = options.borderLineCap) !== null && _o !== void 0 ? _o : void 0 - })); - }; - PDFPage2.prototype.drawSquare = function(options) { - if (options === void 0) { - options = {}; - } - var size = options.size; - assertOrUndefined(size, "size", ["number"]); - this.drawRectangle(__assign(__assign({}, options), { width: size, height: size })); - }; - PDFPage2.prototype.drawEllipse = function(options) { - var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; - if (options === void 0) { - options = {}; - } - assertOrUndefined(options.x, "options.x", ["number"]); - assertOrUndefined(options.y, "options.y", ["number"]); - assertOrUndefined(options.xScale, "options.xScale", ["number"]); - assertOrUndefined(options.yScale, "options.yScale", ["number"]); - assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); - assertOrUndefined(options.color, "options.color", [[Object, "Color"]]); - assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); - assertOrUndefined(options.borderColor, "options.borderColor", [ - [Object, "Color"] - ]); - assertRangeOrUndefined(options.borderOpacity, "options.borderOpacity", 0, 1); - assertOrUndefined(options.borderWidth, "options.borderWidth", ["number"]); - assertOrUndefined(options.borderDashArray, "options.borderDashArray", [ - Array - ]); - assertOrUndefined(options.borderDashPhase, "options.borderDashPhase", [ - "number" - ]); - assertIsOneOfOrUndefined(options.borderLineCap, "options.borderLineCap", LineCapStyle); - assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); - var graphicsStateKey = this.maybeEmbedGraphicsState({ - opacity: options.opacity, - borderOpacity: options.borderOpacity, - blendMode: options.blendMode - }); - if (!("color" in options) && !("borderColor" in options)) { - options.color = rgb(0, 0, 0); - } - var contentStream = this.getContentStream(); - contentStream.push.apply(contentStream, drawEllipse({ - x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, - y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, - xScale: (_c = options.xScale) !== null && _c !== void 0 ? _c : 100, - yScale: (_d = options.yScale) !== null && _d !== void 0 ? _d : 100, - rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : void 0, - color: (_f = options.color) !== null && _f !== void 0 ? _f : void 0, - borderColor: (_g = options.borderColor) !== null && _g !== void 0 ? _g : void 0, - borderWidth: (_h = options.borderWidth) !== null && _h !== void 0 ? _h : 0, - borderDashArray: (_j = options.borderDashArray) !== null && _j !== void 0 ? _j : void 0, - borderDashPhase: (_k = options.borderDashPhase) !== null && _k !== void 0 ? _k : void 0, - borderLineCap: (_l = options.borderLineCap) !== null && _l !== void 0 ? _l : void 0, - graphicsState: graphicsStateKey - })); - }; - PDFPage2.prototype.drawCircle = function(options) { - if (options === void 0) { - options = {}; - } - var _a = options.size, size = _a === void 0 ? 100 : _a; - assertOrUndefined(size, "size", ["number"]); - this.drawEllipse(__assign(__assign({}, options), { xScale: size, yScale: size })); - }; - PDFPage2.prototype.setOrEmbedFont = function(font) { - var oldFont = this.font; - var oldFontKey = this.fontKey; - if (font) - this.setFont(font); - else - this.getFont(); - var newFont = this.font; - var newFontKey = this.fontKey; - return { oldFont, oldFontKey, newFont, newFontKey }; - }; - PDFPage2.prototype.getFont = function() { - if (!this.font || !this.fontKey) { - var font = this.doc.embedStandardFont(StandardFonts.Helvetica); - this.setFont(font); - } - return [this.font, this.fontKey]; - }; - PDFPage2.prototype.resetFont = function() { - this.font = void 0; - this.fontKey = void 0; - }; - PDFPage2.prototype.getContentStream = function(useExisting) { - if (useExisting === void 0) { - useExisting = true; - } - if (useExisting && this.contentStream) - return this.contentStream; - this.contentStream = this.createContentStream(); - this.contentStreamRef = this.doc.context.register(this.contentStream); - this.node.addContentStream(this.contentStreamRef); - return this.contentStream; - }; - PDFPage2.prototype.createContentStream = function() { - var operators = []; - for (var _i = 0; _i < arguments.length; _i++) { - operators[_i] = arguments[_i]; - } - var dict = this.doc.context.obj({}); - var contentStream = PDFContentStream_default.of(dict, operators); - return contentStream; - }; - PDFPage2.prototype.maybeEmbedGraphicsState = function(options) { - var opacity = options.opacity, borderOpacity = options.borderOpacity, blendMode = options.blendMode; - if (opacity === void 0 && borderOpacity === void 0 && blendMode === void 0) { - return void 0; - } - var graphicsState = this.doc.context.obj({ - Type: "ExtGState", - ca: opacity, - CA: borderOpacity, - BM: blendMode - }); - var key = this.node.newExtGState("GS", graphicsState); - return key; - }; - PDFPage2.prototype.scaleAnnot = function(annot, x, y) { - var selectors = ["RD", "CL", "Vertices", "QuadPoints", "L", "Rect"]; - for (var idx = 0, len = selectors.length; idx < len; idx++) { - var list = annot.lookup(PDFName_default.of(selectors[idx])); - if (list instanceof PDFArray_default) - list.scalePDFNumbers(x, y); - } - var inkLists = annot.lookup(PDFName_default.of("InkList")); - if (inkLists instanceof PDFArray_default) { - for (var idx = 0, len = inkLists.size(); idx < len; idx++) { - var arr = inkLists.lookup(idx); - if (arr instanceof PDFArray_default) - arr.scalePDFNumbers(x, y); - } - } - }; - PDFPage2.of = function(leafNode, ref, doc) { - return new PDFPage2(leafNode, ref, doc); - }; - PDFPage2.create = function(doc) { - assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); - var dummyRef = PDFRef_default.of(-1); - var pageLeaf = PDFPageLeaf_default.withContextAndParent(doc.context, dummyRef); - var pageRef = doc.context.register(pageLeaf); - return new PDFPage2(pageLeaf, pageRef, doc); - }; - return PDFPage2; - })() -); -var PDFPage_default = PDFPage; - -// ../../../node_modules/pdf-lib/es/api/form/PDFButton.js -var PDFButton = ( - /** @class */ - (function(_super) { - __extends(PDFButton2, _super); - function PDFButton2(acroPushButton, ref, doc) { - var _this = _super.call(this, acroPushButton, ref, doc) || this; - assertIs(acroPushButton, "acroButton", [ - [PDFAcroPushButton_default, "PDFAcroPushButton"] - ]); - _this.acroField = acroPushButton; - return _this; - } - PDFButton2.prototype.setImage = function(image, alignment) { - if (alignment === void 0) { - alignment = ImageAlignment.Center; - } - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var streamRef = this.createImageAppearanceStream(widget, image, alignment); - this.updateWidgetAppearances(widget, { normal: streamRef }); - } - this.markAsClean(); - }; - PDFButton2.prototype.setFontSize = function(fontSize) { - assertPositive(fontSize, "fontSize"); - this.acroField.setFontSize(fontSize); - this.markAsDirty(); - }; - PDFButton2.prototype.addToPage = function(text, page, options) { - var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; - assertOrUndefined(text, "text", ["string"]); - assertOrUndefined(page, "page", [[PDFPage_default, "PDFPage"]]); - assertFieldAppearanceOptions(options); - var widget = this.createWidget({ - x: ((_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0) - ((_b = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _b !== void 0 ? _b : 0) / 2, - y: ((_c = options === null || options === void 0 ? void 0 : options.y) !== null && _c !== void 0 ? _c : 0) - ((_d = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _d !== void 0 ? _d : 0) / 2, - width: (_e = options === null || options === void 0 ? void 0 : options.width) !== null && _e !== void 0 ? _e : 100, - height: (_f = options === null || options === void 0 ? void 0 : options.height) !== null && _f !== void 0 ? _f : 50, - textColor: (_g = options === null || options === void 0 ? void 0 : options.textColor) !== null && _g !== void 0 ? _g : rgb(0, 0, 0), - backgroundColor: (_h = options === null || options === void 0 ? void 0 : options.backgroundColor) !== null && _h !== void 0 ? _h : rgb(0.75, 0.75, 0.75), - borderColor: options === null || options === void 0 ? void 0 : options.borderColor, - borderWidth: (_j = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _j !== void 0 ? _j : 0, - rotate: (_k = options === null || options === void 0 ? void 0 : options.rotate) !== null && _k !== void 0 ? _k : degrees(0), - caption: text, - hidden: options === null || options === void 0 ? void 0 : options.hidden, - page: page.ref - }); - var widgetRef = this.doc.context.register(widget.dict); - this.acroField.addWidget(widgetRef); - var font = (_l = options === null || options === void 0 ? void 0 : options.font) !== null && _l !== void 0 ? _l : this.doc.getForm().getDefaultFont(); - this.updateWidgetAppearance(widget, font); - page.node.addAnnot(widgetRef); - }; - PDFButton2.prototype.needsAppearancesUpdate = function() { - var _a; - if (this.isDirty()) - return true; - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof PDFStream_default; - if (!hasAppearances) - return true; - } - return false; - }; - PDFButton2.prototype.defaultUpdateAppearances = function(font) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - this.updateAppearances(font); - }; - PDFButton2.prototype.updateAppearances = function(font, provider) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - assertOrUndefined(provider, "provider", [Function]); - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - this.updateWidgetAppearance(widget, font, provider); - } - }; - PDFButton2.prototype.updateWidgetAppearance = function(widget, font, provider) { - var apProvider = provider !== null && provider !== void 0 ? provider : defaultButtonAppearanceProvider; - var appearances = normalizeAppearance(apProvider(this, widget, font)); - this.updateWidgetAppearanceWithFont(widget, font, appearances); - }; - PDFButton2.of = function(acroPushButton, ref, doc) { - return new PDFButton2(acroPushButton, ref, doc); - }; - return PDFButton2; - })(PDFField_default) -); -var PDFButton_default = PDFButton; - -// src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/export-deck-browser.js -var import_jszip2 = __toESM(require_jszip_min(), 1); - -// node_modules/.pnpm/pptxgenjs@4.0.1/node_modules/pptxgenjs/dist/pptxgen.es.js -var import_jszip = __toESM(require_jszip_min2()); -function __awaiter2(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -} -var EMU = 914400; -var ONEPT = 12700; -var CRLF = "\r\n"; -var LAYOUT_IDX_SERIES_BASE = 2147483649; -var REGEX_HEX_COLOR = /^[0-9a-fA-F]{6}$/; -var LINEH_MODIFIER = 1.67; -var DEF_BULLET_MARGIN = 27; -var DEF_CELL_BORDER = { type: "solid", color: "666666", pt: 1 }; -var DEF_CELL_MARGIN_IN = [0.05, 0.1, 0.05, 0.1]; -var DEF_CHART_BORDER = { color: "363636", pt: 1 }; -var DEF_CHART_GRIDLINE = { color: "888888", style: "solid", size: 1, cap: "flat" }; -var DEF_FONT_COLOR = "000000"; -var DEF_FONT_SIZE = 12; -var DEF_FONT_TITLE_SIZE = 18; -var DEF_PRES_LAYOUT = "LAYOUT_16x9"; -var DEF_PRES_LAYOUT_NAME = "DEFAULT"; -var DEF_SHAPE_LINE_COLOR = "333333"; -var DEF_SHAPE_SHADOW = { type: "outer", blur: 3, offset: 23e3 / 12700, angle: 90, color: "000000", opacity: 0.35, rotateWithShape: true }; -var DEF_SLIDE_MARGIN_IN = [0.5, 0.5, 0.5, 0.5]; -var DEF_TEXT_SHADOW = { color: "000000" }; -var DEF_TEXT_GLOW = { size: 8, color: "FFFFFF", opacity: 0.75 }; -var AXIS_ID_VALUE_PRIMARY = "2094734552"; -var AXIS_ID_VALUE_SECONDARY = "2094734553"; -var AXIS_ID_CATEGORY_PRIMARY = "2094734554"; -var AXIS_ID_CATEGORY_SECONDARY = "2094734555"; -var AXIS_ID_SERIES_PRIMARY = "2094734556"; -var LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""); -var BARCHART_COLORS = [ - "C0504D", - "4F81BD", - "9BBB59", - "8064A2", - "4BACC6", - "F79646", - "628FC6", - "C86360", - "C0504D", - "4F81BD", - "9BBB59", - "8064A2", - "4BACC6", - "F79646", - "628FC6", - "C86360" -]; -var PIECHART_COLORS = [ - "5DA5DA", - "FAA43A", - "60BD68", - "F17CB0", - "B2912F", - "B276B2", - "DECF3F", - "F15854", - "A7A7A7", - "5DA5DA", - "FAA43A", - "60BD68", - "F17CB0", - "B2912F", - "B276B2", - "DECF3F", - "F15854", - "A7A7A7" -]; -var TEXT_HALIGN; -(function(TEXT_HALIGN2) { - TEXT_HALIGN2["left"] = "left"; - TEXT_HALIGN2["center"] = "center"; - TEXT_HALIGN2["right"] = "right"; - TEXT_HALIGN2["justify"] = "justify"; -})(TEXT_HALIGN || (TEXT_HALIGN = {})); -var TEXT_VALIGN; -(function(TEXT_VALIGN2) { - TEXT_VALIGN2["b"] = "b"; - TEXT_VALIGN2["ctr"] = "ctr"; - TEXT_VALIGN2["t"] = "t"; -})(TEXT_VALIGN || (TEXT_VALIGN = {})); -var SLDNUMFLDID = "{F7021451-1387-4CA6-816F-3879F97B5CBC}"; -var OutputType; -(function(OutputType2) { - OutputType2["arraybuffer"] = "arraybuffer"; - OutputType2["base64"] = "base64"; - OutputType2["binarystring"] = "binarystring"; - OutputType2["blob"] = "blob"; - OutputType2["nodebuffer"] = "nodebuffer"; - OutputType2["uint8array"] = "uint8array"; -})(OutputType || (OutputType = {})); -var ChartType; -(function(ChartType2) { - ChartType2["area"] = "area"; - ChartType2["bar"] = "bar"; - ChartType2["bar3d"] = "bar3D"; - ChartType2["bubble"] = "bubble"; - ChartType2["bubble3d"] = "bubble3D"; - ChartType2["doughnut"] = "doughnut"; - ChartType2["line"] = "line"; - ChartType2["pie"] = "pie"; - ChartType2["radar"] = "radar"; - ChartType2["scatter"] = "scatter"; -})(ChartType || (ChartType = {})); -var ShapeType; -(function(ShapeType2) { - ShapeType2["accentBorderCallout1"] = "accentBorderCallout1"; - ShapeType2["accentBorderCallout2"] = "accentBorderCallout2"; - ShapeType2["accentBorderCallout3"] = "accentBorderCallout3"; - ShapeType2["accentCallout1"] = "accentCallout1"; - ShapeType2["accentCallout2"] = "accentCallout2"; - ShapeType2["accentCallout3"] = "accentCallout3"; - ShapeType2["actionButtonBackPrevious"] = "actionButtonBackPrevious"; - ShapeType2["actionButtonBeginning"] = "actionButtonBeginning"; - ShapeType2["actionButtonBlank"] = "actionButtonBlank"; - ShapeType2["actionButtonDocument"] = "actionButtonDocument"; - ShapeType2["actionButtonEnd"] = "actionButtonEnd"; - ShapeType2["actionButtonForwardNext"] = "actionButtonForwardNext"; - ShapeType2["actionButtonHelp"] = "actionButtonHelp"; - ShapeType2["actionButtonHome"] = "actionButtonHome"; - ShapeType2["actionButtonInformation"] = "actionButtonInformation"; - ShapeType2["actionButtonMovie"] = "actionButtonMovie"; - ShapeType2["actionButtonReturn"] = "actionButtonReturn"; - ShapeType2["actionButtonSound"] = "actionButtonSound"; - ShapeType2["arc"] = "arc"; - ShapeType2["bentArrow"] = "bentArrow"; - ShapeType2["bentUpArrow"] = "bentUpArrow"; - ShapeType2["bevel"] = "bevel"; - ShapeType2["blockArc"] = "blockArc"; - ShapeType2["borderCallout1"] = "borderCallout1"; - ShapeType2["borderCallout2"] = "borderCallout2"; - ShapeType2["borderCallout3"] = "borderCallout3"; - ShapeType2["bracePair"] = "bracePair"; - ShapeType2["bracketPair"] = "bracketPair"; - ShapeType2["callout1"] = "callout1"; - ShapeType2["callout2"] = "callout2"; - ShapeType2["callout3"] = "callout3"; - ShapeType2["can"] = "can"; - ShapeType2["chartPlus"] = "chartPlus"; - ShapeType2["chartStar"] = "chartStar"; - ShapeType2["chartX"] = "chartX"; - ShapeType2["chevron"] = "chevron"; - ShapeType2["chord"] = "chord"; - ShapeType2["circularArrow"] = "circularArrow"; - ShapeType2["cloud"] = "cloud"; - ShapeType2["cloudCallout"] = "cloudCallout"; - ShapeType2["corner"] = "corner"; - ShapeType2["cornerTabs"] = "cornerTabs"; - ShapeType2["cube"] = "cube"; - ShapeType2["curvedDownArrow"] = "curvedDownArrow"; - ShapeType2["curvedLeftArrow"] = "curvedLeftArrow"; - ShapeType2["curvedRightArrow"] = "curvedRightArrow"; - ShapeType2["curvedUpArrow"] = "curvedUpArrow"; - ShapeType2["custGeom"] = "custGeom"; - ShapeType2["decagon"] = "decagon"; - ShapeType2["diagStripe"] = "diagStripe"; - ShapeType2["diamond"] = "diamond"; - ShapeType2["dodecagon"] = "dodecagon"; - ShapeType2["donut"] = "donut"; - ShapeType2["doubleWave"] = "doubleWave"; - ShapeType2["downArrow"] = "downArrow"; - ShapeType2["downArrowCallout"] = "downArrowCallout"; - ShapeType2["ellipse"] = "ellipse"; - ShapeType2["ellipseRibbon"] = "ellipseRibbon"; - ShapeType2["ellipseRibbon2"] = "ellipseRibbon2"; - ShapeType2["flowChartAlternateProcess"] = "flowChartAlternateProcess"; - ShapeType2["flowChartCollate"] = "flowChartCollate"; - ShapeType2["flowChartConnector"] = "flowChartConnector"; - ShapeType2["flowChartDecision"] = "flowChartDecision"; - ShapeType2["flowChartDelay"] = "flowChartDelay"; - ShapeType2["flowChartDisplay"] = "flowChartDisplay"; - ShapeType2["flowChartDocument"] = "flowChartDocument"; - ShapeType2["flowChartExtract"] = "flowChartExtract"; - ShapeType2["flowChartInputOutput"] = "flowChartInputOutput"; - ShapeType2["flowChartInternalStorage"] = "flowChartInternalStorage"; - ShapeType2["flowChartMagneticDisk"] = "flowChartMagneticDisk"; - ShapeType2["flowChartMagneticDrum"] = "flowChartMagneticDrum"; - ShapeType2["flowChartMagneticTape"] = "flowChartMagneticTape"; - ShapeType2["flowChartManualInput"] = "flowChartManualInput"; - ShapeType2["flowChartManualOperation"] = "flowChartManualOperation"; - ShapeType2["flowChartMerge"] = "flowChartMerge"; - ShapeType2["flowChartMultidocument"] = "flowChartMultidocument"; - ShapeType2["flowChartOfflineStorage"] = "flowChartOfflineStorage"; - ShapeType2["flowChartOffpageConnector"] = "flowChartOffpageConnector"; - ShapeType2["flowChartOnlineStorage"] = "flowChartOnlineStorage"; - ShapeType2["flowChartOr"] = "flowChartOr"; - ShapeType2["flowChartPredefinedProcess"] = "flowChartPredefinedProcess"; - ShapeType2["flowChartPreparation"] = "flowChartPreparation"; - ShapeType2["flowChartProcess"] = "flowChartProcess"; - ShapeType2["flowChartPunchedCard"] = "flowChartPunchedCard"; - ShapeType2["flowChartPunchedTape"] = "flowChartPunchedTape"; - ShapeType2["flowChartSort"] = "flowChartSort"; - ShapeType2["flowChartSummingJunction"] = "flowChartSummingJunction"; - ShapeType2["flowChartTerminator"] = "flowChartTerminator"; - ShapeType2["folderCorner"] = "folderCorner"; - ShapeType2["frame"] = "frame"; - ShapeType2["funnel"] = "funnel"; - ShapeType2["gear6"] = "gear6"; - ShapeType2["gear9"] = "gear9"; - ShapeType2["halfFrame"] = "halfFrame"; - ShapeType2["heart"] = "heart"; - ShapeType2["heptagon"] = "heptagon"; - ShapeType2["hexagon"] = "hexagon"; - ShapeType2["homePlate"] = "homePlate"; - ShapeType2["horizontalScroll"] = "horizontalScroll"; - ShapeType2["irregularSeal1"] = "irregularSeal1"; - ShapeType2["irregularSeal2"] = "irregularSeal2"; - ShapeType2["leftArrow"] = "leftArrow"; - ShapeType2["leftArrowCallout"] = "leftArrowCallout"; - ShapeType2["leftBrace"] = "leftBrace"; - ShapeType2["leftBracket"] = "leftBracket"; - ShapeType2["leftCircularArrow"] = "leftCircularArrow"; - ShapeType2["leftRightArrow"] = "leftRightArrow"; - ShapeType2["leftRightArrowCallout"] = "leftRightArrowCallout"; - ShapeType2["leftRightCircularArrow"] = "leftRightCircularArrow"; - ShapeType2["leftRightRibbon"] = "leftRightRibbon"; - ShapeType2["leftRightUpArrow"] = "leftRightUpArrow"; - ShapeType2["leftUpArrow"] = "leftUpArrow"; - ShapeType2["lightningBolt"] = "lightningBolt"; - ShapeType2["line"] = "line"; - ShapeType2["lineInv"] = "lineInv"; - ShapeType2["mathDivide"] = "mathDivide"; - ShapeType2["mathEqual"] = "mathEqual"; - ShapeType2["mathMinus"] = "mathMinus"; - ShapeType2["mathMultiply"] = "mathMultiply"; - ShapeType2["mathNotEqual"] = "mathNotEqual"; - ShapeType2["mathPlus"] = "mathPlus"; - ShapeType2["moon"] = "moon"; - ShapeType2["noSmoking"] = "noSmoking"; - ShapeType2["nonIsoscelesTrapezoid"] = "nonIsoscelesTrapezoid"; - ShapeType2["notchedRightArrow"] = "notchedRightArrow"; - ShapeType2["octagon"] = "octagon"; - ShapeType2["parallelogram"] = "parallelogram"; - ShapeType2["pentagon"] = "pentagon"; - ShapeType2["pie"] = "pie"; - ShapeType2["pieWedge"] = "pieWedge"; - ShapeType2["plaque"] = "plaque"; - ShapeType2["plaqueTabs"] = "plaqueTabs"; - ShapeType2["plus"] = "plus"; - ShapeType2["quadArrow"] = "quadArrow"; - ShapeType2["quadArrowCallout"] = "quadArrowCallout"; - ShapeType2["rect"] = "rect"; - ShapeType2["ribbon"] = "ribbon"; - ShapeType2["ribbon2"] = "ribbon2"; - ShapeType2["rightArrow"] = "rightArrow"; - ShapeType2["rightArrowCallout"] = "rightArrowCallout"; - ShapeType2["rightBrace"] = "rightBrace"; - ShapeType2["rightBracket"] = "rightBracket"; - ShapeType2["round1Rect"] = "round1Rect"; - ShapeType2["round2DiagRect"] = "round2DiagRect"; - ShapeType2["round2SameRect"] = "round2SameRect"; - ShapeType2["roundRect"] = "roundRect"; - ShapeType2["rtTriangle"] = "rtTriangle"; - ShapeType2["smileyFace"] = "smileyFace"; - ShapeType2["snip1Rect"] = "snip1Rect"; - ShapeType2["snip2DiagRect"] = "snip2DiagRect"; - ShapeType2["snip2SameRect"] = "snip2SameRect"; - ShapeType2["snipRoundRect"] = "snipRoundRect"; - ShapeType2["squareTabs"] = "squareTabs"; - ShapeType2["star10"] = "star10"; - ShapeType2["star12"] = "star12"; - ShapeType2["star16"] = "star16"; - ShapeType2["star24"] = "star24"; - ShapeType2["star32"] = "star32"; - ShapeType2["star4"] = "star4"; - ShapeType2["star5"] = "star5"; - ShapeType2["star6"] = "star6"; - ShapeType2["star7"] = "star7"; - ShapeType2["star8"] = "star8"; - ShapeType2["stripedRightArrow"] = "stripedRightArrow"; - ShapeType2["sun"] = "sun"; - ShapeType2["swooshArrow"] = "swooshArrow"; - ShapeType2["teardrop"] = "teardrop"; - ShapeType2["trapezoid"] = "trapezoid"; - ShapeType2["triangle"] = "triangle"; - ShapeType2["upArrow"] = "upArrow"; - ShapeType2["upArrowCallout"] = "upArrowCallout"; - ShapeType2["upDownArrow"] = "upDownArrow"; - ShapeType2["upDownArrowCallout"] = "upDownArrowCallout"; - ShapeType2["uturnArrow"] = "uturnArrow"; - ShapeType2["verticalScroll"] = "verticalScroll"; - ShapeType2["wave"] = "wave"; - ShapeType2["wedgeEllipseCallout"] = "wedgeEllipseCallout"; - ShapeType2["wedgeRectCallout"] = "wedgeRectCallout"; - ShapeType2["wedgeRoundRectCallout"] = "wedgeRoundRectCallout"; -})(ShapeType || (ShapeType = {})); -var SchemeColor; -(function(SchemeColor2) { - SchemeColor2["text1"] = "tx1"; - SchemeColor2["text2"] = "tx2"; - SchemeColor2["background1"] = "bg1"; - SchemeColor2["background2"] = "bg2"; - SchemeColor2["accent1"] = "accent1"; - SchemeColor2["accent2"] = "accent2"; - SchemeColor2["accent3"] = "accent3"; - SchemeColor2["accent4"] = "accent4"; - SchemeColor2["accent5"] = "accent5"; - SchemeColor2["accent6"] = "accent6"; -})(SchemeColor || (SchemeColor = {})); -var AlignH; -(function(AlignH2) { - AlignH2["left"] = "left"; - AlignH2["center"] = "center"; - AlignH2["right"] = "right"; - AlignH2["justify"] = "justify"; -})(AlignH || (AlignH = {})); -var AlignV; -(function(AlignV2) { - AlignV2["top"] = "top"; - AlignV2["middle"] = "middle"; - AlignV2["bottom"] = "bottom"; -})(AlignV || (AlignV = {})); -var SHAPE_TYPE; -(function(SHAPE_TYPE2) { - SHAPE_TYPE2["ACTION_BUTTON_BACK_OR_PREVIOUS"] = "actionButtonBackPrevious"; - SHAPE_TYPE2["ACTION_BUTTON_BEGINNING"] = "actionButtonBeginning"; - SHAPE_TYPE2["ACTION_BUTTON_CUSTOM"] = "actionButtonBlank"; - SHAPE_TYPE2["ACTION_BUTTON_DOCUMENT"] = "actionButtonDocument"; - SHAPE_TYPE2["ACTION_BUTTON_END"] = "actionButtonEnd"; - SHAPE_TYPE2["ACTION_BUTTON_FORWARD_OR_NEXT"] = "actionButtonForwardNext"; - SHAPE_TYPE2["ACTION_BUTTON_HELP"] = "actionButtonHelp"; - SHAPE_TYPE2["ACTION_BUTTON_HOME"] = "actionButtonHome"; - SHAPE_TYPE2["ACTION_BUTTON_INFORMATION"] = "actionButtonInformation"; - SHAPE_TYPE2["ACTION_BUTTON_MOVIE"] = "actionButtonMovie"; - SHAPE_TYPE2["ACTION_BUTTON_RETURN"] = "actionButtonReturn"; - SHAPE_TYPE2["ACTION_BUTTON_SOUND"] = "actionButtonSound"; - SHAPE_TYPE2["ARC"] = "arc"; - SHAPE_TYPE2["BALLOON"] = "wedgeRoundRectCallout"; - SHAPE_TYPE2["BENT_ARROW"] = "bentArrow"; - SHAPE_TYPE2["BENT_UP_ARROW"] = "bentUpArrow"; - SHAPE_TYPE2["BEVEL"] = "bevel"; - SHAPE_TYPE2["BLOCK_ARC"] = "blockArc"; - SHAPE_TYPE2["CAN"] = "can"; - SHAPE_TYPE2["CHART_PLUS"] = "chartPlus"; - SHAPE_TYPE2["CHART_STAR"] = "chartStar"; - SHAPE_TYPE2["CHART_X"] = "chartX"; - SHAPE_TYPE2["CHEVRON"] = "chevron"; - SHAPE_TYPE2["CHORD"] = "chord"; - SHAPE_TYPE2["CIRCULAR_ARROW"] = "circularArrow"; - SHAPE_TYPE2["CLOUD"] = "cloud"; - SHAPE_TYPE2["CLOUD_CALLOUT"] = "cloudCallout"; - SHAPE_TYPE2["CORNER"] = "corner"; - SHAPE_TYPE2["CORNER_TABS"] = "cornerTabs"; - SHAPE_TYPE2["CROSS"] = "plus"; - SHAPE_TYPE2["CUBE"] = "cube"; - SHAPE_TYPE2["CURVED_DOWN_ARROW"] = "curvedDownArrow"; - SHAPE_TYPE2["CURVED_DOWN_RIBBON"] = "ellipseRibbon"; - SHAPE_TYPE2["CURVED_LEFT_ARROW"] = "curvedLeftArrow"; - SHAPE_TYPE2["CURVED_RIGHT_ARROW"] = "curvedRightArrow"; - SHAPE_TYPE2["CURVED_UP_ARROW"] = "curvedUpArrow"; - SHAPE_TYPE2["CURVED_UP_RIBBON"] = "ellipseRibbon2"; - SHAPE_TYPE2["CUSTOM_GEOMETRY"] = "custGeom"; - SHAPE_TYPE2["DECAGON"] = "decagon"; - SHAPE_TYPE2["DIAGONAL_STRIPE"] = "diagStripe"; - SHAPE_TYPE2["DIAMOND"] = "diamond"; - SHAPE_TYPE2["DODECAGON"] = "dodecagon"; - SHAPE_TYPE2["DONUT"] = "donut"; - SHAPE_TYPE2["DOUBLE_BRACE"] = "bracePair"; - SHAPE_TYPE2["DOUBLE_BRACKET"] = "bracketPair"; - SHAPE_TYPE2["DOUBLE_WAVE"] = "doubleWave"; - SHAPE_TYPE2["DOWN_ARROW"] = "downArrow"; - SHAPE_TYPE2["DOWN_ARROW_CALLOUT"] = "downArrowCallout"; - SHAPE_TYPE2["DOWN_RIBBON"] = "ribbon"; - SHAPE_TYPE2["EXPLOSION1"] = "irregularSeal1"; - SHAPE_TYPE2["EXPLOSION2"] = "irregularSeal2"; - SHAPE_TYPE2["FLOWCHART_ALTERNATE_PROCESS"] = "flowChartAlternateProcess"; - SHAPE_TYPE2["FLOWCHART_CARD"] = "flowChartPunchedCard"; - SHAPE_TYPE2["FLOWCHART_COLLATE"] = "flowChartCollate"; - SHAPE_TYPE2["FLOWCHART_CONNECTOR"] = "flowChartConnector"; - SHAPE_TYPE2["FLOWCHART_DATA"] = "flowChartInputOutput"; - SHAPE_TYPE2["FLOWCHART_DECISION"] = "flowChartDecision"; - SHAPE_TYPE2["FLOWCHART_DELAY"] = "flowChartDelay"; - SHAPE_TYPE2["FLOWCHART_DIRECT_ACCESS_STORAGE"] = "flowChartMagneticDrum"; - SHAPE_TYPE2["FLOWCHART_DISPLAY"] = "flowChartDisplay"; - SHAPE_TYPE2["FLOWCHART_DOCUMENT"] = "flowChartDocument"; - SHAPE_TYPE2["FLOWCHART_EXTRACT"] = "flowChartExtract"; - SHAPE_TYPE2["FLOWCHART_INTERNAL_STORAGE"] = "flowChartInternalStorage"; - SHAPE_TYPE2["FLOWCHART_MAGNETIC_DISK"] = "flowChartMagneticDisk"; - SHAPE_TYPE2["FLOWCHART_MANUAL_INPUT"] = "flowChartManualInput"; - SHAPE_TYPE2["FLOWCHART_MANUAL_OPERATION"] = "flowChartManualOperation"; - SHAPE_TYPE2["FLOWCHART_MERGE"] = "flowChartMerge"; - SHAPE_TYPE2["FLOWCHART_MULTIDOCUMENT"] = "flowChartMultidocument"; - SHAPE_TYPE2["FLOWCHART_OFFLINE_STORAGE"] = "flowChartOfflineStorage"; - SHAPE_TYPE2["FLOWCHART_OFFPAGE_CONNECTOR"] = "flowChartOffpageConnector"; - SHAPE_TYPE2["FLOWCHART_OR"] = "flowChartOr"; - SHAPE_TYPE2["FLOWCHART_PREDEFINED_PROCESS"] = "flowChartPredefinedProcess"; - SHAPE_TYPE2["FLOWCHART_PREPARATION"] = "flowChartPreparation"; - SHAPE_TYPE2["FLOWCHART_PROCESS"] = "flowChartProcess"; - SHAPE_TYPE2["FLOWCHART_PUNCHED_TAPE"] = "flowChartPunchedTape"; - SHAPE_TYPE2["FLOWCHART_SEQUENTIAL_ACCESS_STORAGE"] = "flowChartMagneticTape"; - SHAPE_TYPE2["FLOWCHART_SORT"] = "flowChartSort"; - SHAPE_TYPE2["FLOWCHART_STORED_DATA"] = "flowChartOnlineStorage"; - SHAPE_TYPE2["FLOWCHART_SUMMING_JUNCTION"] = "flowChartSummingJunction"; - SHAPE_TYPE2["FLOWCHART_TERMINATOR"] = "flowChartTerminator"; - SHAPE_TYPE2["FOLDED_CORNER"] = "folderCorner"; - SHAPE_TYPE2["FRAME"] = "frame"; - SHAPE_TYPE2["FUNNEL"] = "funnel"; - SHAPE_TYPE2["GEAR_6"] = "gear6"; - SHAPE_TYPE2["GEAR_9"] = "gear9"; - SHAPE_TYPE2["HALF_FRAME"] = "halfFrame"; - SHAPE_TYPE2["HEART"] = "heart"; - SHAPE_TYPE2["HEPTAGON"] = "heptagon"; - SHAPE_TYPE2["HEXAGON"] = "hexagon"; - SHAPE_TYPE2["HORIZONTAL_SCROLL"] = "horizontalScroll"; - SHAPE_TYPE2["ISOSCELES_TRIANGLE"] = "triangle"; - SHAPE_TYPE2["LEFT_ARROW"] = "leftArrow"; - SHAPE_TYPE2["LEFT_ARROW_CALLOUT"] = "leftArrowCallout"; - SHAPE_TYPE2["LEFT_BRACE"] = "leftBrace"; - SHAPE_TYPE2["LEFT_BRACKET"] = "leftBracket"; - SHAPE_TYPE2["LEFT_CIRCULAR_ARROW"] = "leftCircularArrow"; - SHAPE_TYPE2["LEFT_RIGHT_ARROW"] = "leftRightArrow"; - SHAPE_TYPE2["LEFT_RIGHT_ARROW_CALLOUT"] = "leftRightArrowCallout"; - SHAPE_TYPE2["LEFT_RIGHT_CIRCULAR_ARROW"] = "leftRightCircularArrow"; - SHAPE_TYPE2["LEFT_RIGHT_RIBBON"] = "leftRightRibbon"; - SHAPE_TYPE2["LEFT_RIGHT_UP_ARROW"] = "leftRightUpArrow"; - SHAPE_TYPE2["LEFT_UP_ARROW"] = "leftUpArrow"; - SHAPE_TYPE2["LIGHTNING_BOLT"] = "lightningBolt"; - SHAPE_TYPE2["LINE_CALLOUT_1"] = "borderCallout1"; - SHAPE_TYPE2["LINE_CALLOUT_1_ACCENT_BAR"] = "accentCallout1"; - SHAPE_TYPE2["LINE_CALLOUT_1_BORDER_AND_ACCENT_BAR"] = "accentBorderCallout1"; - SHAPE_TYPE2["LINE_CALLOUT_1_NO_BORDER"] = "callout1"; - SHAPE_TYPE2["LINE_CALLOUT_2"] = "borderCallout2"; - SHAPE_TYPE2["LINE_CALLOUT_2_ACCENT_BAR"] = "accentCallout2"; - SHAPE_TYPE2["LINE_CALLOUT_2_BORDER_AND_ACCENT_BAR"] = "accentBorderCallout2"; - SHAPE_TYPE2["LINE_CALLOUT_2_NO_BORDER"] = "callout2"; - SHAPE_TYPE2["LINE_CALLOUT_3"] = "borderCallout3"; - SHAPE_TYPE2["LINE_CALLOUT_3_ACCENT_BAR"] = "accentCallout3"; - SHAPE_TYPE2["LINE_CALLOUT_3_BORDER_AND_ACCENT_BAR"] = "accentBorderCallout3"; - SHAPE_TYPE2["LINE_CALLOUT_3_NO_BORDER"] = "callout3"; - SHAPE_TYPE2["LINE_CALLOUT_4"] = "borderCallout4"; - SHAPE_TYPE2["LINE_CALLOUT_4_ACCENT_BAR"] = "accentCallout3=4"; - SHAPE_TYPE2["LINE_CALLOUT_4_BORDER_AND_ACCENT_BAR"] = "accentBorderCallout4"; - SHAPE_TYPE2["LINE_CALLOUT_4_NO_BORDER"] = "callout4"; - SHAPE_TYPE2["LINE"] = "line"; - SHAPE_TYPE2["LINE_INVERSE"] = "lineInv"; - SHAPE_TYPE2["MATH_DIVIDE"] = "mathDivide"; - SHAPE_TYPE2["MATH_EQUAL"] = "mathEqual"; - SHAPE_TYPE2["MATH_MINUS"] = "mathMinus"; - SHAPE_TYPE2["MATH_MULTIPLY"] = "mathMultiply"; - SHAPE_TYPE2["MATH_NOT_EQUAL"] = "mathNotEqual"; - SHAPE_TYPE2["MATH_PLUS"] = "mathPlus"; - SHAPE_TYPE2["MOON"] = "moon"; - SHAPE_TYPE2["NON_ISOSCELES_TRAPEZOID"] = "nonIsoscelesTrapezoid"; - SHAPE_TYPE2["NOTCHED_RIGHT_ARROW"] = "notchedRightArrow"; - SHAPE_TYPE2["NO_SYMBOL"] = "noSmoking"; - SHAPE_TYPE2["OCTAGON"] = "octagon"; - SHAPE_TYPE2["OVAL"] = "ellipse"; - SHAPE_TYPE2["OVAL_CALLOUT"] = "wedgeEllipseCallout"; - SHAPE_TYPE2["PARALLELOGRAM"] = "parallelogram"; - SHAPE_TYPE2["PENTAGON"] = "homePlate"; - SHAPE_TYPE2["PIE"] = "pie"; - SHAPE_TYPE2["PIE_WEDGE"] = "pieWedge"; - SHAPE_TYPE2["PLAQUE"] = "plaque"; - SHAPE_TYPE2["PLAQUE_TABS"] = "plaqueTabs"; - SHAPE_TYPE2["QUAD_ARROW"] = "quadArrow"; - SHAPE_TYPE2["QUAD_ARROW_CALLOUT"] = "quadArrowCallout"; - SHAPE_TYPE2["RECTANGLE"] = "rect"; - SHAPE_TYPE2["RECTANGULAR_CALLOUT"] = "wedgeRectCallout"; - SHAPE_TYPE2["REGULAR_PENTAGON"] = "pentagon"; - SHAPE_TYPE2["RIGHT_ARROW"] = "rightArrow"; - SHAPE_TYPE2["RIGHT_ARROW_CALLOUT"] = "rightArrowCallout"; - SHAPE_TYPE2["RIGHT_BRACE"] = "rightBrace"; - SHAPE_TYPE2["RIGHT_BRACKET"] = "rightBracket"; - SHAPE_TYPE2["RIGHT_TRIANGLE"] = "rtTriangle"; - SHAPE_TYPE2["ROUNDED_RECTANGLE"] = "roundRect"; - SHAPE_TYPE2["ROUNDED_RECTANGULAR_CALLOUT"] = "wedgeRoundRectCallout"; - SHAPE_TYPE2["ROUND_1_RECTANGLE"] = "round1Rect"; - SHAPE_TYPE2["ROUND_2_DIAG_RECTANGLE"] = "round2DiagRect"; - SHAPE_TYPE2["ROUND_2_SAME_RECTANGLE"] = "round2SameRect"; - SHAPE_TYPE2["SMILEY_FACE"] = "smileyFace"; - SHAPE_TYPE2["SNIP_1_RECTANGLE"] = "snip1Rect"; - SHAPE_TYPE2["SNIP_2_DIAG_RECTANGLE"] = "snip2DiagRect"; - SHAPE_TYPE2["SNIP_2_SAME_RECTANGLE"] = "snip2SameRect"; - SHAPE_TYPE2["SNIP_ROUND_RECTANGLE"] = "snipRoundRect"; - SHAPE_TYPE2["SQUARE_TABS"] = "squareTabs"; - SHAPE_TYPE2["STAR_10_POINT"] = "star10"; - SHAPE_TYPE2["STAR_12_POINT"] = "star12"; - SHAPE_TYPE2["STAR_16_POINT"] = "star16"; - SHAPE_TYPE2["STAR_24_POINT"] = "star24"; - SHAPE_TYPE2["STAR_32_POINT"] = "star32"; - SHAPE_TYPE2["STAR_4_POINT"] = "star4"; - SHAPE_TYPE2["STAR_5_POINT"] = "star5"; - SHAPE_TYPE2["STAR_6_POINT"] = "star6"; - SHAPE_TYPE2["STAR_7_POINT"] = "star7"; - SHAPE_TYPE2["STAR_8_POINT"] = "star8"; - SHAPE_TYPE2["STRIPED_RIGHT_ARROW"] = "stripedRightArrow"; - SHAPE_TYPE2["SUN"] = "sun"; - SHAPE_TYPE2["SWOOSH_ARROW"] = "swooshArrow"; - SHAPE_TYPE2["TEAR"] = "teardrop"; - SHAPE_TYPE2["TRAPEZOID"] = "trapezoid"; - SHAPE_TYPE2["UP_ARROW"] = "upArrow"; - SHAPE_TYPE2["UP_ARROW_CALLOUT"] = "upArrowCallout"; - SHAPE_TYPE2["UP_DOWN_ARROW"] = "upDownArrow"; - SHAPE_TYPE2["UP_DOWN_ARROW_CALLOUT"] = "upDownArrowCallout"; - SHAPE_TYPE2["UP_RIBBON"] = "ribbon2"; - SHAPE_TYPE2["U_TURN_ARROW"] = "uturnArrow"; - SHAPE_TYPE2["VERTICAL_SCROLL"] = "verticalScroll"; - SHAPE_TYPE2["WAVE"] = "wave"; -})(SHAPE_TYPE || (SHAPE_TYPE = {})); -var CHART_TYPE; -(function(CHART_TYPE2) { - CHART_TYPE2["AREA"] = "area"; - CHART_TYPE2["BAR"] = "bar"; - CHART_TYPE2["BAR3D"] = "bar3D"; - CHART_TYPE2["BUBBLE"] = "bubble"; - CHART_TYPE2["BUBBLE3D"] = "bubble3D"; - CHART_TYPE2["DOUGHNUT"] = "doughnut"; - CHART_TYPE2["LINE"] = "line"; - CHART_TYPE2["PIE"] = "pie"; - CHART_TYPE2["RADAR"] = "radar"; - CHART_TYPE2["SCATTER"] = "scatter"; -})(CHART_TYPE || (CHART_TYPE = {})); -var SCHEME_COLOR_NAMES; -(function(SCHEME_COLOR_NAMES2) { - SCHEME_COLOR_NAMES2["TEXT1"] = "tx1"; - SCHEME_COLOR_NAMES2["TEXT2"] = "tx2"; - SCHEME_COLOR_NAMES2["BACKGROUND1"] = "bg1"; - SCHEME_COLOR_NAMES2["BACKGROUND2"] = "bg2"; - SCHEME_COLOR_NAMES2["ACCENT1"] = "accent1"; - SCHEME_COLOR_NAMES2["ACCENT2"] = "accent2"; - SCHEME_COLOR_NAMES2["ACCENT3"] = "accent3"; - SCHEME_COLOR_NAMES2["ACCENT4"] = "accent4"; - SCHEME_COLOR_NAMES2["ACCENT5"] = "accent5"; - SCHEME_COLOR_NAMES2["ACCENT6"] = "accent6"; -})(SCHEME_COLOR_NAMES || (SCHEME_COLOR_NAMES = {})); -var MASTER_OBJECTS; -(function(MASTER_OBJECTS2) { - MASTER_OBJECTS2["chart"] = "chart"; - MASTER_OBJECTS2["image"] = "image"; - MASTER_OBJECTS2["line"] = "line"; - MASTER_OBJECTS2["rect"] = "rect"; - MASTER_OBJECTS2["text"] = "text"; - MASTER_OBJECTS2["placeholder"] = "placeholder"; -})(MASTER_OBJECTS || (MASTER_OBJECTS = {})); -var SLIDE_OBJECT_TYPES; -(function(SLIDE_OBJECT_TYPES2) { - SLIDE_OBJECT_TYPES2["chart"] = "chart"; - SLIDE_OBJECT_TYPES2["hyperlink"] = "hyperlink"; - SLIDE_OBJECT_TYPES2["image"] = "image"; - SLIDE_OBJECT_TYPES2["media"] = "media"; - SLIDE_OBJECT_TYPES2["online"] = "online"; - SLIDE_OBJECT_TYPES2["placeholder"] = "placeholder"; - SLIDE_OBJECT_TYPES2["table"] = "table"; - SLIDE_OBJECT_TYPES2["tablecell"] = "tablecell"; - SLIDE_OBJECT_TYPES2["text"] = "text"; - SLIDE_OBJECT_TYPES2["notes"] = "notes"; -})(SLIDE_OBJECT_TYPES || (SLIDE_OBJECT_TYPES = {})); -var PLACEHOLDER_TYPES; -(function(PLACEHOLDER_TYPES2) { - PLACEHOLDER_TYPES2["title"] = "title"; - PLACEHOLDER_TYPES2["body"] = "body"; - PLACEHOLDER_TYPES2["image"] = "pic"; - PLACEHOLDER_TYPES2["chart"] = "chart"; - PLACEHOLDER_TYPES2["table"] = "tbl"; - PLACEHOLDER_TYPES2["media"] = "media"; -})(PLACEHOLDER_TYPES || (PLACEHOLDER_TYPES = {})); -var BULLET_TYPES; -(function(BULLET_TYPES2) { - BULLET_TYPES2["DEFAULT"] = "•"; - BULLET_TYPES2["CHECK"] = "✓"; - BULLET_TYPES2["STAR"] = "★"; - BULLET_TYPES2["TRIANGLE"] = "▶"; -})(BULLET_TYPES || (BULLET_TYPES = {})); -var IMG_BROKEN = "data:image/png;base64,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"; -var IMG_PLAYBTN = "data:image/png;base64,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AAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKREkRUAAACwrUpLSwuGDRvWfMCAAS26du3avKysrLiioqKkZcuWzZs1a1bcvHnz0tLS0rJsNtusuLi4ebNmzUoLCgo+8/eijY2N9Zs3b66pra2tqqur21xTU1NdVVVVs2nTptqNGzdWbdiwoeYvf/nL5hUrVlQtWLBgw6xZs6pqamoaJQYAAEDaKYABAACIiIghQ4aUHnTQQW379u3bql27dq3at2/fpkWLFq2bN29eWVpa2qpZs2bNCwsLm2ez2fLCwsLyoqKi8sLCwtKknK+hoaG6vr6+qqGh4S91dXV/aWhoqNq8eXNVTU3NuqqqqvUbNmxYu2rVqjWrV69e99Zbb6177rnnPpgzZ06NTwYAAABJogAGAADIA8OGDWt+xBFHdBwwYECnLl26dGjdunXHFi1adCgtLe1YUlLSvlmzZq0KCgqK07yDwsLCssLCwrKIaPdp/zuNjY21mzdvXrdp06ZVNTU172/YsGHl2rVr31+2bNnKBQsWrHjyySffnzVrVpVPGAAAAE1Fpuexsd9HfaF+ZcSal0ptCAAAIAE6deqUPf744zvtueeeXbp3796lbdu2XSorKzuXlpZ2KS0t7VBYWFhhSztGQ0PDxpqampU1NTXL169fv+yDDz5Y9s477yybPXv2sj/96U8rVqxYUWdLAAAAbE9t9q6Jog4f/TUFMAAAQEJks9nMt7/97Y4jRozo1bdv397t2rXrXl5e3rWsrKxzcXFx+4gosKUmp7G2tnZVTU3Nso0bNy5btWrV0tdff/2tJ598cvG999672noAAADYFgpgAACAhPne977X6a9Fb/v27Xu1bNmyV1lZWa8kvXOXLauvr9/wl7/8ZdG6desWL1u2bNHChQsX/fGPf1w8derUjbYDAADAliiAAQAAmqhsNps59dRTuxx66KH9+/Tp87n27dv3Ly8v719UVOSRzXlq06ZNKzZu3Pj6+++//8abb775xqOPPvrG3XffvcpmAAAA+CsFMAAAQBNx6qmndvniF784qHfv3v3btWv3uYqKis8VFhaW2wxbUl9fv37Dhg1vfPDBB68vXrz4jccee2z+jTfeuNxmAAAA8pMCGAAAYBc45phjWn/rW9/aq3///kPatGnTv6Kiop9HOLO9NDQ0VG/cuPGtNWvWLFy4cOGcO+6445WHHnporc0AAACknwIYAABgJzjjjDO6f+lLX9qrV69eg1u3bj2orKysR0RkbIadJFddXb103bp18xcvXjz30UcffeXqq69+x1oAAADSRwEMAACwnZWWlhb86le/2u3QQw8d1r17931btmw5qLCwsMxmaEoaGhqqP/zww/nvvPPOzGeeeWbW2LFj36ipqWm0GQAAgGRTAAMAAGwHP/7xj7t+9atf3bdXr15D27Ztu1c2m21jKyRJXV3dmg8++OCVRYsWvfznP/95xh/+8IdltgIAAJA8CmAAAIBtcOKJJ7Y75ZRTDujXr9+w1q1bD81ms61shTSpq6tbt3bt2pfffPPNWbfccsvUe++9d7WtAAAANH0KYAAAgE+hoqKi4IILLhg0YsSI/bp27bpfy5YtB2YymUKbIR/kcrmGDz/8cP6777474/nnn59x4YUXvrZx40aPiwYAAGiCFMAAAAAf4/jjj2/7/e9//8D+/fsf2Lp1630KCgpKbAUiGhsbN61fv37eW2+9NeWGG2545u67715lKwAAAE2DAhgAAOB/ZLPZzAUXXPC5I4888sDu3bsfWFFRsVtEFNgMbFl1dfWSd999d8qsWbNmnnvuuS+vW7euwVYAAAB2DQUwAACQ10pLSwsuvfTSQYcccsjBXbt2HVFWVtbDVmDb1dbWrnr//fdfmDp16uRf/vKXL65evbreVgAAAHYeBTAAAJB3Bg0aVHrBBRd8fs899zywQ4cOBxQVFbWwFdj+Ghsba9euXTtrzpw5T59//vmTX3755WpbAQAA2LEUwAAAQF4YNmxY8/POO+/gIUOGHOZ9vrDz/W0ZfNFFFz07a9asKlsBAADY/hTAAABAarVq1arwyiuv3HfEiBEjO3TocFBhYWGZrcCu19DQUP3+++8/O2XKlIk/+clPZm7cuLHRVgAAALYPBTAAAJAqrVq1Kvztb3+7/3777Xd4x44dRxQWFpbbCjRdDQ0NG99///0pM2bMeOqHP/zhC8pgAACAz0YBDAAApMJZZ53V45vf/OaRvXr1GllaWtrVRiB5ampq3l28ePHEO++8c9LVV1/9jo0AAABsPQUwAACQWMOHDy+/6KKLvjB48OCjW7RoMdBGID0+/PDDV+fNmzfhvPPOe3L69Ol/sREAAIBPRwEMAAAkSqtWrQpvuOGGQ/bbb79/atOmzX6ZTCZrK5BeuVyubs2aNTNmzJjx2JgxYyavW7euwVYAAAA+ngIYAABIhB//+Mddv/e9732lZ8+e/1RcXNzWRiD/1NbWfvD2228/dssttzz029/+9l0bAQAA+L8UwAAAQJNVUVFRcO21137+4IMPPrZ169b7ZTKZAlsBIqJxzZo1M59//vnxp5122hR3BQMAAPx/CmAAAKDJOeWUUzqefvrpx/bu3ftL2Wy2jY0AH6e+vn7j0qVLH/vd7373x+uvv36ZjQAAAPlOAQwAADQJ2Ww2c+uttx5wyCGHnNC6deu9I8LdvsDWaFy7du1L06ZN+/OPfvSjZ1evXl1vJQAAQD5SAAMAALtU//79S6655pp/2nPPPY8tLy/vayPAZ1VTU7NswYIF488999wHp06dutFGAACAfKIABgAAdomf//znPU855ZQTu3btemRhYWGZjQDbW2NjY92KFSuevOWWW+689NJLF9kIAACQDxTAAADATuMxz8Cusn79+rlPP/30f5188slT6+rqcjYCAACklQIYAADY4fr27Vv8hz/84a+Pee5nI8CuUlNT8+68efPu/8EPfvDgwoULN9kIAACQNgpgAABghxkyZEjpNddc89XBgwefWFxc3MFGgKaitrZ21dy5c+/5yU9+8uc5c+bU2AgAAJAWWyqAPYoNAADYJqNHj+4wb968n06ZMuXRYcOGnaH8BZqa4uLi9sOGDTtjypQpj86bN++nJ510UntbAQAA0s4dwAAAwFY599xze33/+9//dufOnY/IZDJZGwGSIpfL1S1fvvzJG2644fbLLrvsbRsBAACSyiOgAQCAz+y8887r+53vfOfbHTt2PDyTyRTaCJBUuVyuYcWKFU/cdNNN//XrX/96sY0AAABJowAGAAC22WWXXTboG9/4xg9at249zDaAtFm7du2su++++9pzzjnnNdsAAACSQgEMAABsNcUvkE8UwQAAQJIogAEAgE9N8Qvks7Vr18665557rvv5z38+3zYAAICmaksFcGHlwOj6UV9orIqoWZG1PQAAyBO/+MUvet9xxx3nHHrooT8pLS3tYiNAPiotLe2y7777HvP973+/X1lZ2ZIpU6assxUAAKCpKetcHwXlH/01BTAAAOS5M844o/u99957zpe//OWflZeX94qIjK0AeS5TXl7e8+CDDx71/e9/v3dEvDVjxowPrQUAAGgqFMAAAMD/ceKJJ7a77777fjJq1Kh/KS8v7xOKX4B/lCkvL+99+OGHj/rWt77VfvXq1Qvnz59fbS0AAMCutqUC2DuAAQAgzwwdOrTs+uuvP6l///4nFRYWltkI20NjY2Ns2rQpqquro6amJurr62PTpk2xefPmqK+vj+rq6qivr4/NmzfHpk2boqGhYZv/fxUWFkZJSUk0a9YsioqKoqysLIqKiqJZs2ZRUlISRUVFUVpa+r9/FRQUCIjtoqGhoeq11167a8yYMffMmTOnxkYAAIBdZUvvAFYAAwBAnujUqVP2nnvuGbXXXnudnM1mK22Ej9PQ0BAbN26MDRs2/J+/Nm7cGBs3boyamprYtGlTbNq0KWpqaqK2trbJnqe4uDhKSkqitLT0f/9eUVERFRUV0aJFi//zV0VFRRQWFvog8LHq6urWvvjii7eceOKJf169enW9jQAAADubAhgAAPLcXXfdddAXv/jF00tLS7vZRn7L5XKxYcOGWLt2baxbty7Wrl37d3+tW7cuNmzYkPd7atGiRbRu3TpatWoVrVu3jjZt2vzvf27dunW0aNHCh4morq5e+sgjj1zzne98Z6ptAAAAO5MCGAAA8tTVV189+MQTTzyzoqJioG3kj8bGxli5cmUsX748Pvjgg1i9evX//n3t2rXR2NhoSZ9RYWFhtGrVKtq1axdt27b937937tw5OnTo4LHTeWbDhg3z77333qvOPPPMebYBAADsDApgAADIM1/72tfaXHrppad27979qIjQRKVUQ0NDrFq1KlasWBHvv//+//595cqVTfqRzGlXXFwcHTp0iI4dO0bnzp2jY8eO0alTp2jXrp1HS6dYLpdrfOeddx76+c9/fv2ECRPW2QgAALAjKYABACBP9OrVq9ldd931jT322OM7hYWFZTaSHh9++GG88847sXTp0njvvfdixYoVsXr16mhoaLCchCgsLIz27dtHp06dolu3btG9e/fo3r27x0mnTENDQ9W8efNu++Y3v/nHJUuWbLYRAABgR1AAAwBAHrjrrrtG/NM//dOZJSUlXWwj2davXx9Lly6Nd955539L3w8//NBiUqqysvJ/y+C//tWqVSuLSbiamppljz322G9Gjx49xTYAAIDtTQEMAAAp9qtf/arPD3/4w5+1atVqL9tIno0bN8aSJUvirbfeikWLFsV7770XmzZtspg8V1JSEl27do0+ffpE3759o3fv3lFeXm4xCbRu3bqXr7322ivGjh27yDYAAIDtRQEMAAApNGjQoNI77rjju7vttttJBQUFWRtJhtWrV8ebb74ZixcvjiVLlsTy5cujsbHRYtiigoKC6Ny5c/Tu3Tt69+4d/fr1i7Zt21pMQjQ2Nta98cYbd33rW9+6ff78+TU2AgAAfFYKYAAASJHS0tKCBx988Jj99tvvn7PZbBsbaboaGhri7bffjrfeeisWLFgQS5YscXcv201FRUX06tUr+vbtG3379o2ePXtGYWGhxTRhdXV1a2bMmHHjV77ylYdqamr85gcAALDNFMAAAJASp59+erdf/vKX51ZWVu5jG03T6tWr47XXXouFCxfGm2++GRs3brQUdooWLVpE3759Y8CAATFw4EB3CDdh69evf/E//uM//vPqq69+xzYAAIBtoQAGAICEGzRoUOm99977w969ex+byWTc4teErF+/PubNmxcLFiyIN954Q+FLk9GiRYvo169fDBgwIPbYY4+orKy0lCYkl8s1LF68eNyJJ554rcdCAwAAW0sBDAAACXbNNdcMOemkk35RVlbWyzZ2vVwuF++++27MnTs3XnvttViyZIl3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B7lcrm7y5Mm//vKXv/yIbQAAwK63pXcAK4ABAMg7paWlBTNnzjyzT58+x9vG39uwYUOMGzcuZsyY4VHPQF7KZDKx3377xde//vWoqKiwkH+waNGiP+27775X1dTUeCwEAADsQgpgAAD4H926dctOnjz5V506dRppG/9fLpeLqVOnxp///OfYuHGjhQB5r6KiIkaNGhX777+/x0L/g+XLlz9+6KGHXvLuu+/W2QYAAOwaWyqAvQMYAIC8MXz48PInnnjiynbt2o2wjf/vnXfeiWuvvTaee+652Lx5s4UARMTmzZtjzpw58dprr0XPnj2jRYsWlvI/Kioq+n7rW98aMnXq1Ofee+89f3AAAMAusKV3ACuAAQDIC9/+9rc73n777X9o0aLFANv4b1VVVXHXXXfFvffeG+vXr7cQgI+wbt26eP7552P9+vWx2267RVFRkaVERElJSefjjjvuoA8++GDKK6+88hcbAQCAnUsBDABAXjv//PP7XXzxxX8oKSnpbBv/bfr06XHttdfGokWLLAPgU3jnnXdi2rRp0bp16+jc2R8nERHZbLbyC1/4whElJSUvTp48eY2NAADAzqMABgAgb/3ud7/b60c/+tFVRUVFrWwjYs2aNXHzzTfHpEmTora21kIAtkJtbW289NJL8c4770Tfvn2jtLQ073dSWFhYNnz48C/26dNn4UMPPbTMpwQAAHYOBTAAAHnp1ltv3f+b3/zmfxYWFjbP913kcrl4/vnn4/rrr4/ly5f7cAB8BitXroxp06ZFRUVFdOvWLTKZTF7vo6CgIDto0KBDBw0atOiBBx54xycEAAB2vC0VwJmex8Z+H/WF+pURa17ym6wAACTTww8//KXDDjvsXzKZTN6/rPGDDz6I22+/Pd544w0fDIDtbMCAAfGtb30r2rRpk/e7yOVyjVOmTPn1yJEjH/LJAACAHavN3jVR1OGjv6YABgAgdV555ZXTPve5z30r3/fQ0NAQjz32WDz++ONRV1fngwGwg2Sz2Tj66KPjC1/4QhQUFOT9Pl5//fU79tprr9/7ZAAAwI6jAAYAIC9ks9nMyy+/fFafPn2Oz/ddvPvuu3HbbbfFe++954MBsJN069YtvvOd70S3bt3yfhdLliy5f5999rmypqam0ScDAAC2PwUwAACpV1paWjBr1qyzevfufVw+7yGXy8WTTz4ZDz74oLt+AXaBbDYbxxxzTBxxxBF5fzfw0qVLHxg6dOjlSmAAANj+FMAAAKRar169mk2ePHlsu3btDsrnPaxcuTJuueWWePvtt30oAHaxnj17ximnnBIdOnTI6z2sXr16yiGHHPIvS5Ys2exTAQAA28+WCuDCyoHR9aO+0FgVUbMia3sAADRpQ4cOLXvqqacub9Omzf75uoNcLhfPPPNMXH/99bF27VofCoAmYP369TFlypQoKSmJnj17RiaTycs9NG/evPtJJ500ZPLkyc+sWLHCoykAAGA7KetcHwXlH/01BTAAAIk1ZMiQ0kceeeSKVq1a7Z2vO6iuro7bb789nnjiiWhs9IRNgKaksbEx5s+fH++//34MGDAgstn8/DlLaWlpp6997WuDn3rqqadXrlxZ75MBAACfnQIYAIDUOfTQQ1s8+OCDv2/ZsuUe+bqDOXPmxNVXX+2RzwBN3PLly+OFF16Ijh075u0joUtLSzudcMIJ+7/00ktPv/3227U+FQAA8NkogAEASJVhw4Y1v++++37TsmXLQfl4/vr6+hg/fnz88Y9/jNpaP0MHSILNmzfHiy++GJs3b47ddtstCgoK8m4HxcXFbY866qg9n3vuuaeXL1/ucdAAAPAZKIABAEiNI488snLcuHG/b9GixcB8PP97770XV111VcyZM8eHASCBFi1aFC+//HL069cvWrRokXfnLykp6XDcccftP2fOnGcWLVq0yScCAAC2jQIYAIBUOPLIIyvvvPPO35aXl++Wj+d/+umn48Ybb4wPP/zQhwEgwf7yl7/ECy+8ECUlJdGrV6+8O3+zZs3aHHXUUfspgQEAYNspgAEASLxjjz227W233faH5s2b98m3s1dVVcXNN98cTz31VDQ2NvowAKRAY2NjzJ8/P5YtWxYDBgyIZs2a5dX5mzVr1uaYY4458M0333xm4cKFNT4RAACwdRTAAAAk2qGHHtritttuuzofy9+33347rrnmmli8eLEPAkAKvf/++/HKK69Enz59orKyMq/Ons1mK4888sh9Zs6c+dTSpUs3+zQAAMCnpwAGACCxjjjiiJb33nvvteXl5f3y6dy5XC4mTZoUN998c1RVVfkgAKRYVVVVTJ06NbLZbPTp0ycymUzenL24uLjtV7/61c+/8sorTy1evLjWpwEAAD4dBTAAAIl06KGHtrj33nt/l2/lb3V1ddx0000xefLkyOVyPggAeSCXy8WCBQvi3Xffjd133z2y2fz5mUyzZs1aH3300fvNmDHjSXcCAwDAp6MABgAgcYYOHVo2fvz4qysqKgbk07mXLVsWV111lUc+A+SplStXxiuvvBKf+9znoqKiIm/O3axZszZHH3300GeeeebJFStW1PkkAADAlimAAQBIlCFDhpQ++uij17Rs2XL3fDr31KlT49prr42NGzf6EADksaqqqpg+fXq0bds2unTpkjfnLikpaT9q1KihTz755JMrV66s90kAAICPt6UCuMB6AABoSjp16pSdMGHCv1dWVu6RL2dubGyMcePGxR133BF1dW56AiCitrY2br755hg/fnw0NjbmzbkrKyv3mDBhwr9369bNXQkAALCNFMAAADQZrVq1Kpw+ffolbdq02T9fzlxdXR2/+93vYtKkSd73C8DfyeVy8fjjj8fvf//7qK6uzptzt2nTZv8pU6Zc0qpVq0KfAgAA2HoKYAAAmoSKioqC2bNnX9KuXbuD8uXMS5cujYsuuijmz5/vAwDAx3r11VfjoosuiqVLl+bNmdu1a3fQ7Nmz/72iosLPrgAAYCu5iAYAoEmYOXPmz9q1a3dIvpz35ZdfjiuuuCLWrVsnfAA+0bp16+KKK66Il19+OW/O3K5du4Nnzpz5M+kDAMDWUQADALDLvfjii2N69OgxKh/Omsvl4oEHHogbbrghamtrhQ/Ap1ZbWxs33HBDPPDAA3nz2oAePXqMevHFF8dIHwAAPj0FMAAAu9SkSZO+NnDgwFPy4ax1dXVx8803x8SJE73vF4BtksvlYuLEiXHLLbdEXV1dXpx54MCBJ0+aNOlr0gcAgE9HAQwAwC7z6KOPHnXggQeekw9nXbduXfz617+OWbNmCR6Az2zmzJnx61//Ol9eJZA58MADz3n00UePkjwAAHyywsqB0fWjvtBYFVGzImtDAADsEDfeeOO+Rx999EWZTKYw7Wddvnx5XHXVVbFy5UrBA7DdbNiwIWbPnh0DBw6MioqKtB8307179/179uz56sMPP7xc+gAA5LuyzvVRUP7RX1MAAwCw011xxRV7fPe7372qoKCgWdrPOmfOnPjtb38bGzduFDwA2111dXVMmzYtOnfuHB07dkz1WTOZTOHuu+9+eJs2bV6aNGnSKukDAJDPFMAAADQZZ5xxRvef/exnvy0sLCxP+1knTJgQd999d9TX1wsegB2moaEhXnrppchms9G3b99UnzWTyRTttddeB/3lL395dubMmRukDwBAvlIAAwDQJBx00EEVf/jDH64pLi7ulOZz5nK5eOCBB+Kxxx4TOgA77c+eBQsWRF1dXfTv3z8ymUxqz1pQUFBywAEHDJs+ffqkpUuXbpY+AAD5aEsFcIH1AACwMwwaNKj0vvvuu7qsrKxXms9ZV1cX1113XUyaNEnoAOx0EydOjOuvvz7q6upSfc6ysrJef/rTn67u379/idQBAODvKYABANjhKioqCh577LGLKyoqBqb5nNXV1XHNNdfE7NmzhQ7ALvPKK6/ElVdeGVVVVak+Z4sWLQZOnDhxbEVFhZ9vAQDA33CBDADADjdz5syftW3b9sA0n3HdunVx2WWXxRtvvCFwAHa5xYsXx2WXXRZr165N9TnbtWt34MyZM38mcQAA+P8UwAAA7FBPPvnkqB49eoxK8xlXrVoVV1xxRSxfvlzgADQZK1asiCuuuCJWrlyZ6nP26NFj1KRJk0ZJHAAA/lth5cDo+lFfaKyKqFmRtSEAALbZjTfeuO+XvvSlCzOZTGp/8fDdd9+NK6+8MtatWydwAJqc6urqmDVrVvTv3z8qKytTe85u3boN79mz57yHH37Yb2MBAJAXyjrXR0H5R39NAQwAwA5x3nnn9T311FOvLigoKE7rGV977bW45pprorq6WuAANFmbN2+OGTNmRI8ePaJ9+/apPGMmkykYNGjQIYWFhVOee+45v5UFAEDqKYABANipjjrqqFb/8R//8YdmzZq1SusZX3755bj++uujrq5O4AA0eQ0NDfHSSy9Fp06dolOnTqk8Y0FBQXbYsGGfnz9//qQ33nhjk9QBAEizLRXA3gEMAMB21a1bt+wNN9zwnyUlJR3TesYpU6bEjTfeGPX19QIHIDHq6+vjxhtvjKlTp6b2jCUlJZ1uuOGG/+jWrZu7GgAAyFsKYAAAtqunn376XyorK/dI6/kmTZoUd955ZzQ2NgobgMRpbGyMO+64I5588snUnrGysnLw008//UtpAwCQrxTAAABsN88///w3unTp8k9pPd/EiRNj3LhxkcvlhA1AYuVyubj//vtTXQJ36dLlS88+++yJ0gYAIB95BzAAANvFTTfdNPzII488L5PJZNJ4vsceeyzGjx8vaABS47XXXotmzZpF3759U3m+zp0779urV695Dz/88DJpAwCQNlt6B7ACGACAz+wXv/hF7x/+8IdXFxQUNEvj+R544IF45JFHBA1A6ixYsCDq6upiwIABqTtbJpPJDBo06ODGxsbnpk6dul7aAACkiQIYAIAd5oADDqj43e9+99tmzZq1TeP5xo0bF5MmTRI0AKm1aNGi2Lx5cwwcODB1ZysoKMjut99+w5577rnH33vvvc3SBgAgLbZUAHsHMAAA2yybzWbuvPPOfyktLe2exvNNmDBB+QtAXpg0aVI89NBDqTxbaWlpj3vuuedfstlsRtIAAOQDBTAAANvs+eef/06HDh0OTePZHn744Xj44YeFDEDeeOSRR+LPf/5zKs/WoUOHw5599tlvSxkAgHygAAYAYJvcd999hw8ePPjUNJ7t/vvvjwkTJggZgLzz2GOPxX333ZfKs+25554/+NOf/nSYlAEASDvvAAYAYKudccYZ3ceMGXN5QUFBcdrONnHixHjkkUeEDEDeWrx4cWSz2ejbt2/ajpbp06fPvn/5y18mz5w5c4OkAQBIsi29A1gBDADAVhk2bFjzG2+88Q/NmjVrl7azPfroo6l99CUAbI2FCxdGUVFR9OvXL1XnKigoKD7wwAP3e/LJJx9dsWJFnaQBAEiqLRXAHgENAMBWuffee39ZWlraPW3nevzxx+PBBx8UMAD8jz//+c8xceLE1J2rtLS0x3333fdLCQMAkFYKYAAAPrVJkyaN6tSp0xEpPFeMHz9ewADwD8aPHx+TJ09O3bk6der0hUmTJn1VwgAApJFHQAMA8Kmcd955fU888cR/z2QyRWk618yZM+Puu+8WMAB8jNdeey06duwYnTt3TtW5unbtuk9BQcHzzz333DopAwCQNN4BDADAZ3LEEUe0vOKKK67NZrOVaTrXyy+/HDfffHPkcjkhA8DHyOVyMXv27OjSpUt06tQpNefKZDJF++yzz/CpU6c+9u67726WNAAASeIdwAAAbLNsNpu55ZZb/q2kpKRjms61YMGCuPnmm6OxsVHIAPAJGhsb4+abb44333wzVecqLS3tcvfdd5+fzWYzUgYAIC0UwAAAbNGkSZO+3rZt2wPTdKZly5bFDTfcEPX19QIGgE+prq4urr322li+fHmqztWuXbsDH3/88VESBgAgLTwCGgCAj3XZZZcN+upXvzo2k8mk5hcH33///bjyyiujqqpKwACwlerq6uLll1+OIUOGRHl5eWrO1aVLl31LS0unPvPMM2ukDABAEngENAAAW61///4lJ5988q8ymUxRWs60YcOG+P3vfx8bN24UMABso40bN8bvfve7VP15WlBQkP3hD394ft++fYslDABA4q9vrQAAgI/y4IMPnl1WVtYrLeeprq6O3/zmN7Fq1SrhAsBntGrVqrjyyiujuro6NWcqKyvr8/DDD58lXQAAkk4BDADA/zF+/Pgju3XrdnRazlNfX5/KdxYCwK60fPnyuO6666K+vj41Z+rRo8dXx40bd4R0AQBIMgUwAAB/53vf+16nI4444py0nCeXy8Vtt90Wb7zxhnABYDt7/fXX47bbbotcLpeaMx155JHnfvvb3+4oXQAAkkoBDADA/6qoqCi4+OKLLywsLCxPy5nGjx8fs2bNEi4A7CCzZs2Khx56KDXnKSwsrPj1r399QUVFhZ+bAQCQSC5kAQD4XxMnThxdWVk5OC3nef7552PixImCBYAd7LHHHosXXnghNeeprKzc89FHHz1RsgAAJFFh5cDo+lFfaKyKqFmRtSEAgDxxwQUX7DZq1KgLM5lMYRrO8+qrr8Ytt9ySqkdSAkBT/7O3d+/e0a5du1Scp2PHjkNzudxzU6ZMWSddAACamrLO9VHwMc/wcwcwAADRt2/f4h//+McXZzKZVPwG4HvvvRc33HBDNDY2ChcAdpKGhoa47rrrYtmyZak4T0FBQfbss88e27dv32LpAgCQqGtZKwAAYPz48T8qKyvrkYazbNiwIX7/+99HbW2tYAFgJ9u0aVP8/ve/j40bN6biPGVlZb3GjRs3RrIAACSJAhgAIM/ddNNNw/v06XN8Gs5SX18f1157baxdu1awALCLrFmzJq699tqor69PxXn69ev3jd///vdDJQsAQFIogAEA8thBBx1Uceyxx/5rRGTScJ477rgjFi9eLFgA2MUWLVoUd955Z1qOU/CNb3zj34YNG9ZcsgAAJOIC1goAAPLXzTfffFZxcXG7NJxl4sSJMX36dKECQBMxbdq0mDRpUirOUlJS0unOO+88Q6oAACSBAhgAIE/913/914FdunT5UhrO8tprr8Wf//xnoQJAEzN+/PhYsGBBKs7SrVu3o2+66abhUgUAoKlTAAMA5KEvfelLlV/5yld+lYazrFixIq6//vpobGwULAA0MY2NjXHdddfFihUr0nCczHHHHfergw46qEKyAAA0ZQpgAIA8dPXVV5+ezWYrk36OmpqauPbaa2PTpk1CBYAmatOmTXHttddGTU1N4s+SzWbb3njjjT+RKgAATZkCGAAgz9x6663Du3Tp8uWknyOXy8Utt9wSK1euFCoANHErV66MW2+9NXK5XOLP4lHQAAA0dQpgAIA8MnTo0LKvfvWrv0jDWSZMmBBz584VKgAkxJw5c+Kxxx5LxVlGjRr1i6FDh5ZJFQCApkgBDACQR+64444fFRcXd0z6OV5++eV45JFHBAoACfPQQw+l4he4SkpKOt5xxx0/lCgAAE2RAhgAIE9cfvnlu/fs2XNU0s/xwQcfxB133JGKR0gCQL7J5XJx2223xZo1axJ/lp49ex57+eWX7y5VAACaGgUwAEAe6NatW/a73/3uv2YymURf/9XX18cNN9wQ1dXVQgWAhKqqqoobb7wx6uvrE32OTCZT8N3vfvdX3bp1y0oVAICmRAEMAJAHxo8ff0pZWVmvpJ/jnnvuiaVLlwoUABJuyZIlcd999yX+HGVlZT3Hjx9/ikQBAGhKFMAAACn385//vOeAAQNGJ/0c06dPjylTpggUAFJi8uTJMWPGjMSfY8CAAaN//vOf95QoAABNhQIYACDFstls5qyzzjo3k8kk+tGEK1asiLvvvlugAJAyd911V6xYsSLRZ8hkMtmzzjrr3Gw2m5EoAABNgQIYACDFxo0b98XKysq9knyG2trauOGGG6K2tlagAJAyf/1zfvPmzYk+R2Vl5V7jxo0bKVEAAJoCBTAAQEoNHz68/OCDDz4t6ee4//77Y/ny5QIFgJRavnx5jBs3LvHnGDFixI+HDRvWXKIAAOxqCmAAgJS69dZbT8tms22TfIYZM2bEc889J0wASLnJkyfHzJkzE32G4uLitrfffvtp0gQAYFdTAAMApNBVV121R48ePb6S5DOsXLky7rrrLmECQJ64++6744MPPkj0GXr27PnVK664Yg9pAgCwKymAAQBSprS0tOAb3/jGT5N8rdfY2Bi333679/4CQB6pqamJ2267LRobG5N8jIJvfvObZ5aWlvqZGwAAu+6i1AoAANJlwoQJX6uoqBiQ5DOMHz8+Fi1aJEwAyDNvvvlmPPjgg4k+Q4sWLQY9+OCDx0gTAIBdRQEMAJAiRx55ZOWwYcN+kOQzzJ07N5544glhAkCemjhxYixYsCDRZxg+fPiPjjjiiJbSBABgV1AAAwCkyBVXXHFyUVFRRVLnr6qqijvvvDNyuZwwASBP5XK5uP3226O6ujqxZygqKmrxm9/85mRpAgCwKyiAAQBS4vzzz+/Xu3fv45J8httvvz0+/PBDYQJAnlu3bl3cfvvtiT5D7969jz///PP7SRMAgJ1NAQwAkALZbDZz6qmn/jyTyST2+m769OkxZ84cYQIAERExe/bsmDFjRmLnz2QyBaeeeurPs9lsRpoAAOxMCmAAgBT44x//eERlZeXgpM6/du3auPfeewUJAPyde+65J9atW5fY+SsrKwf/6U9/+oIkAQDYmRTAAAAJ17dv3+JDDjnkR0k+w9133x01NTXCBAD+Tk1NTdx9992JPsPBBx/8o759+xZLEwCAnUUBDACQcHfdddc3S0pKOiV1/smTJ8e8efMECQB8pLlz58azzz6b2PlLSko63nPPPd+SJAAAO4sCGAAgwb70pS9VDhw48KSkzr9mzZoYP368IAGALXrggQdizZo1iZ2/f//+Jx111FGtJAkAwM6gAAYASLArrrji1MLCwvIkzp7L5eK2226LTZs2CRIA2KJNmzbFbbfdFrlcLpHzFxYWll1++eU/kCQAADuDAhgAIKF+8Ytf9O7evftXkjr/s88+G2+88YYgAYBP5Y033ojnn38+sfN369bt6F/96ld9JAkAwI6mAAYASKgf/vCHP8pkMom8nvvggw/igQceECIAsFXGjRsX69atS+TsmUym4NRTT/2xFAEA2NEUwAAACXTdddcNa9eu3YFJnD2Xy8Udd9wRtbW1ggQAtsqmTZvizjvvTOz8bdq02f+mm27aT5IAAOxICmAAgIQpLS0t+NrXvnZ6Uud/4YUXYuHChYIEALbJq6++GjNmzEjs/Mccc8zpFRUVfiYHAMAO42ITACBhbr/99oMrKip2S+LsGzZsiHHjxgkRAPhM7r///qiqqkrk7OXl5X3/67/+6wgpAgCwoyiAAQASpKKiouCwww47Nanz33vvvYn9YS0A0HRs2LAh7r///sTOf9BBB/1zq1atCiUJAMCOoAAGAEiQ+++//+iysrKeSZx9zpw58dJLLwkRANguXnjhhViwYEEiZy8tLe32xz/+8StSBABgR1AAAwAkRN++fYv33Xfff07i7LW1tXHvvfcKEQDYru6+++6oq6tL5Oz77bffKf379y+RIgAA25sCGAAgIW6++eZRxcXFbZM4+yOPPBJr164VIgCwXa1atSoee+yxRM6ezWbb3njjjV+TIgAA25sCGAAgAYYOHVq21157fSeJs7/33nvxxBNPCBEA2CEmTpwYK1asSOTsQ4YM+c7QoUPLpAgAwPakAAYASIBrr732xKKiosqkzZ3L5eKee+6JxsZGIQIAO0R9fX3cddddkcvlEjd7UVFR5bXXXnuCFAEA2J4UwAAATdwBBxxQMWDAgG8kcfYZM2bEW2+9JUQAYId6880348UXX0zk7AMGDPjG8OHDy6UIAMD2ogAGAGjirrrqqhOKiooqkjb3pk2b4oEHHhAgALBT3H///VFbW5u4uYuKilpcffXV7gIGAGC7UQADADRhBx10UEX//v0Teffvww8/HB9++KEQAYCdYv369TFhwoREzj5w4MBvHHDAARVSBABge1AAAwA0Yf/5n/95bGFhYfOkzb1q1aqYPHmyAAGAnerpp5+O1atXJ27uwsLC8ssuu2yUBAEA2B4UwAAATdQBBxxQMWjQoNFJnP3uu++O+vp6IQIAO1V9fX3cddddiZx99913/+bQoUPLpAgAwGelAAYAaKIuv/zyYwsLC8uTNvfcuXNjwYIFAgQAdokFCxbE3LlzEzd3UVFRi9/97ndflyAAAJ+VAhgAoAkaOnRo2aBBgxL37t+6urr405/+JEAAYJf605/+FHV1dYmbe/fdd//mkCFDSiUIAMBnoQAGAGiCfvOb33ylqKioZdLmfu655xL53j0AIF1Wr14dzz33XOLmLioqann11VcfLUEAAD4LBTAAQBPTq1evZoMHD/5m0uaurq6ORx55RIAAQJPwyCOPRHV1deLmHjJkyLe6deuWlSAAANtKAQwA0MTcdNNNxxQXF7dN2twTJkyIqqoqAQIATUJVVVUifzmtuLi43a233uouYAAAtpkCGACgCWnVqlXhXnvtdVLS5l61alU8++yzAgQAmpTJkyfHqlWrEjf30KFDR7dq1apQggAAbAsFMABAE3LLLbccXlJS0jlpcz/44INRX18vQACgSamvr48HH3wwcXOXlJR0vummmw6VIAAA20IBDADQRGSz2cwBBxzw7aTNvWjRonjppZcECAA0SS+99FIsXrw4cXOPGDHiO9lsNiNBAAC2lgIYAKCJuOaaa/YuLy/vm7S5H3roocjlcgIEAJqkXC6XyLuAy8vL+1111VV7SRAAgK2lAAYAaCK+8pWvfDdpM8+bNy8WLlwoPACgSVu4cGG8+uqrrg8BAMgLCmAAgCbgsssuG1RZWblPkmbO5XIxfvx44QEAifDAAw8k7qklrVu33veSSy7pLz0AALaGAhgAoAkYNWrUCUmbefbs2bFs2TLhAQCJsGzZsnjllVcSN/cJJ5xwovQAANgaCmAAgF3sn//5nzt37NjxiCTN3NjYGA888IDwAIBEGT9+fDQ0NCRq5k6dOn1h9OjRHaQHAMCnpQAGANjFfvSjH30tk8kk6rps2rRpsWrVKuEBAImyatWqeOGFFxI1cyaTKfzpT386SnoAAHxaCmAAgF1o0KBBpX369Plqkmaur6+PCRMmCA8ASKQJEyZEXV1dombu27fvV/r27VssPQAAPg0FMADALnTZZZcdXlRUVJGkmadOnRpr164VHgCQSOvXr48pU6YkauaioqLK3/zmN0dIDwCAT0MBDACwi2Sz2cy+++57UpJmrqurc/cvAJB4jz76aOLuAt5///1PymazGekBAPBJFMAAALvI1VdfPbSsrKx3kmaeMmVKbNiwQXgAQKJt2LAhnn/++UTNXFZW1ueqq67aS3oAAHwSBTAAwC7y5S9/+bgkzVtfXx8TJ04UHACQCo8//nji7gL+0pe+dLzkAAD4JApgAIBdYPTo0R3atm07IkkzT5s2LdatWyc8ACAVPvzww5g+fXqiZm7fvv2I0aNHd5AeAABbogAGANgFfvrTn47KZDKFSZm3vr4+HnnkEcEBAKnyyCOPRH19fWLmzWQyhT/96U+/JjkAALZEAQwAsJN16tQp26dPn6OTNLO7fwGANFq3bl1MmzYtUTP36dPnmE6dOmWlBwDAx1EAAwDsZFddddUB2Wy2dVLmbWxsjEmTJgmOVOvYsWN06OCJmgD5aNKkSdHY2JiYebPZbOurrrrqAMkBAPBxFMAAADvZiBEjvp6keV988cVYtWqV4Ei1Ll26xIUXXhinnXZadO3a1UIA8siqVavipZdecj0JAEBqKIABAHaiM844o3tlZeXeSZk3l8vFxIkTBUdeyGQyMXjw4PjVr34VY8aMcUcwQB55/PHHI5fLJWbeysrKvc8444zukgMA4KMogAEAdqJTTjnlqxGRScq8CxYsiPfee09w5JVMJhN77713XHjhhTFmzJho3769pQCk3HvvvRcLFy5M1B9X/3NdCQAA/4cCGABgJ+nVq1ezXr16fTlJM3v3L/nsr0XwBRdcECeffHK0bdvWUgBSLGnXPb169fpyr169mkkOAIB/pAAGANhJrrjiioOLiopaJmXeBN4JAztEYWFhDB8+PC688MIYPXp0VFZWWgpACi1YsCCWLVuWmHmLiopaXnnllYdIDgCAf6QABgDYSYYPH/6VJM2btHfhwY5WVFQUI0aMiEsuuSRGjx4dLVu2tBSAFMnlcvH4448naub99tvvK5IDAOAfKYABAHaC0aNHd6isrByalHnXrl0bL7/8suDgI/y1CL744ovjhBNOiBYtWlgKQEq89NJLsW7dusTMW1lZudfo0aM7SA4AgL+lAAYA2AlOP/30o5J07fXMM89EQ0OD4GALiouL47DDDouxY8fGqFGjoqyszFIAEq6hoSGeeeaZJI1c8D/XmQAA8P8vEq0AAGDHymazmX79+n05KfPW1tbGlClTBAefUnFxcYwcOTIuvfTSGDVqVJSWlloKQII9//zzUVtbm5h5+/Xr9+VsNpuRHAAAf6UABgDYwX7zm9/sWVJS0jkp886YMSOqq6sFB1uppKQkRo4cGZdcckkcffTRUVJSYikACVRdXR0zZ85M0p8/na+44orBkgMA4K8UwAAAO9gXvvCFLyVl1lwuF08//bTQ4DNo3rx5HHXUUXHJJZfEyJEjI5vNWgpAwjz11FORy+USM++RRx75ZakBAPBXCmAAgB1oyJAhpZ07dz4iKfO+/vrrsWLFCsHBdlBeXh6jRo2KSy+9VBEMkDArVqyI119/PTHzdunS5fD+/ft79AQAABGhAAYA2KHGjh17aGFhYWJeCOruX9j+KioqYtSoUXHxxRfH4YcfHkVFRZYC4LpouyosLGz+H//xHwdLDQCACAUwAMAOteeeex6ZlFnXrl0b8+bNExrsIK1atYrjjz8+LrroohgxYkQUFPh2DKApmzdvXqxZsyYx8+61115HSg0AgAgFMADADnPMMce0bt269b5Jmfe5556LxsZGwcEO1qZNmxg9enRcfPHFimCAJqyxsTGee+65JP35MvyYY45pLTkAAPykAQBgBznzzDMPz2Qyibje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FpafffbZvaQFAJA+CmAAgE9p//3375+EOV9//XVhAXmjvLw8Ro0aFf/+7/8eI0eOjGw2aymA67FP6fOf//xAaQEApI8CGADgU+rRo8fuTX3G2traePvtt4UF5J2KiooYNWpUXHzxxXH44Yc3+XdvAum2ePHiRLySo1evXoOkBQCQPgpgAIBPqXXr1k3+DoklS5ZEQ0ODsIC81apVqzj++OPj4osvjhEjRkRBgW97gZ2voaEhlixZ0uTnbNOmjQIYACCFfCcMAPApDBkypLR58+a9m/qcb775prAAIqJ169YxevToGDt2rCIYcF32MZo3b95n0KBBpdICAEgX3wEDAHwKp556av9MJtPkr53eeustYQH8jTZt2sTo0aPjvPPOi+HDhyuCAddlfyOTyRT84Ac/+Jy0AADSxXe+AACfwuDBg5v84/Hq6+tj0aJFwgL4CJ06dYqTTz45/u3f/i323nvvyGQylgLsUIsXL07Eqzn23HPPgdICAEgXBTAAwKfQpUuXAU19xnfeeSfq6uqEBbAFnTt3jjFjxiiCgR2utrY23n333SRc53oPMABAyiiAAQA+hZYtW/Zv6jN6/DPAp9elS5cYM2ZMnHvuuTF48GALAfL2+iwJ17kAAGwdBTAAwCcYPnx4eUlJSeemPqfHPwNsvV69esVpp50W55xzTvTvrwMB8u/6rLS0tPPw4cPLpQUAkB4KYACAT/Ctb31rt4ho8s8IXbx4sbAAtlGfPn3irLPOinPOOSd22203CwG2i4T8gl7m29/+dj9pAQCkhwIYAOAT7L777k2+CVi7dm1s2LBBWACfUZ8+feLss8+OM888M3r27GkhwGfy4Ycfxrp165r8nAMHDlQAAwCkSJEVAABsWadOnZr8D8TefvttQQFsRwMGDIgBAwbEggULYvz48bF06VJLAbb5Oq1Vq1audwEA2GkUwAAAn6CyslIBDJCnBgwYEP3794958+bFQw89FO+++66lAFtlyZIlsddeezX1613PvgcASBEFMADAFnTq1CnbvHnzXk19ziVLlggLYAfJZDIxePDg2GOPPeLll1+OBx98MFauXGkxQGqu05o3b967Xbt2RatXr66XGABA8nkHMADAFowZM6ZnJpPJNuUZGxsbPZoUYCfIZDKx9957x4UXXhhjxoyJ9u3bWwrwiZYuXRqNjY1NesaCgoLsqaee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k8nE7NmzY+LEibFmzRoNAXif/VNSzJo161kTAwBongTAAAC70O233/7KOeecszU/P78022sdMGBAtG/f3tWu0My9+uqrMWnSpFi1apVmALyPjh07xgEHHJCIWhsbG6u/8Y1v/NXUAACaJwEwAMAutHLlyob169fP6tat2+hsrzWVSsXhhx8ekyZNMjhohubMmROTJ0+OJUuWaAbAh3D44YdHKpVKRK3r16+fVVFR0WhqAADNU54WAADsWq+++mpirts77LDDDAyamTfffDP+/d//PX7yk58IfwE+pFQqFSNGjEhMva+88sozpgYA0Hw5AQwAsIvddNNNz5166qnV+fn5rbO91m7dukX//v1j4cKFBgc5btmyZfHYY4/F/PnzNQPgIzrggAOic+fOiai1sbFxy4033jjL1AAAmi8BMADALrZy5cqG8vLyGT179vx0Euo9+uijBcCQw5YvXx7jxo0T/AJ8wv1SUpSXlz9TXl7eYGoAAM2XABgAYDeYMWPGUxdccEEiAuAhQ4ZE69ato7q62uAgh6xcuTImTJgQc+fOjUwmoyEAH1ObNm3i0EMPTUy9zz777FOmBgDQvPkGMADAbvDVr371lYaGhk1JqLWgoCCOOOIIQ4McsW7duvj5z38ed955Z8yZM0f4C/AJjRw5MvLz8xNRa0NDw8abbrrpVVMDAGjenAAGANgNKisrm1atWjW9T58+5ySh3qOPPjqefPJJQREk2Pr16+Oxxx6L2bNn+3cZYBdJpVIxatSoxNS7cuXKadXV1WmTAwBo3pwABgDYTaZNm5aY6/c6duwYAwYMMDRIoA0bNsSvf/3r+Nd//dd49dVXhb8Au9CAAQOiY8eOian36aefftLUAAAQAAMA7CZf+9rX5tTX11ckpd6jjjrK0CBBqqqq4v77749vf/vb8eKLL0ZTU5OmAOxiRx55ZGJqra+vX/eNb3zjdVMDAMAV0AAAu0ltbW16xYoVT++///6fT0K9hx56aLRt2zaqqqoMD7LYli1bYsqUKfHcc8/F9u3bNQRgN2nbtm0MGTIkMfUuX778qdraWtc/AwDgBDAAwO70xz/+cUJSas3Pz4/jjjvO0CBL1dTUxKOPPhq33XZb/OUvfxH+Auxmxx57bOTn5yel3Myvf/3rCaYGAECEABgAYLe66667llZXV89PSr1HH310tGjRwuAgi7wd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qATAAABZ4umnn968fPnyxF3xN3r06GjXrp0BAgBZqUOHDnH88ccnru5ly5ZNmD59+hYTBADgoxIAAwBkkbvvvvtPmUymKUk1FxYWxumnn254AEBWOvPMMxP3yYpMJtN41113/dH0AAD4OATAAABZ5Be/+MWatWvXTkta3UcccUT06tXLAAGArNK7d+847LDDEld3eXn5X+6///51JggAwMchAAYAyDIPP/zwn5JWcyqVijPPPNPwAICsMmbMmEilUomr+8EHH/yT6QEA8HEJgAEAsszXv/71NzZs2DAraXUPHDgwDj74YAMEALLCoEGDYsCAAYmru6KiYuatt966wAQBAPi4BMAAAFlo3Lhxv01i3WPGjIm8PFtMAGDvysvLizFjxiSy9j//+c+/NUEAAD7RflgLAACyz/XXXz+nqqrqr0mru1evXnHUUUcZIACwVx1zzDHRvXv3xNW9adOmV2666aa5JggAwCchAAYAyFJ/+tOf7k1i3WPGjInS0lIDBAD2ijZt2sRZZ52VyNofeOCBe00QAIBPSgAMAJClbrrpprlJPAVcXFwcZ555pgECAHvFWWedFS1btkxc3Zs2bXrl5ptvnmeCAAB8UgJgAIAsNm7cuF8lse5Ro0ZF7969DRAA2KP69OkTI0eOTGTtjz322K9MEACAXUEADACQxcaOHTu7qqrqb0mrO5VKxfnnnx+pVMoQAYA9tv/4/Oc/n8j9R2Vl5d+uueaav5kiAAC7ggAYACDLTZ069bdJrLtv374xZMgQAwQA9ojDDjsssTeQTJ48+TcmCADAriIABgDIcpdeeumLVVVVryax9s9//vNRXFxsiADAblVaWhrnn39+Imuvqqr66+WXX/6SKQIAsKsIgAEAEuChhx76WRLrLisri9NPP90AAYDd6qyzzoqSkpIklp753e9+91MTBABgVxIAAwAkwA033DB3w4YNs5JY+3HHHRd9+vQxRABgt+jbt28cddRRiay9oqJi1te//vU3TBEAgF1JAAwAkBA///nPfxoR6aTVnUql4vOf/3zk5dl6AgC7Vn5+flx00UWRSqWSWH76F7/4xX+bIgAAu5q3cAAACXHHHXe8tW7duulJrL13795xzDHHGCIAsEudcMIJ0b1790TWXl5e/pc77rjjLVMEAGBXEwADACTI3XfffW8mk2lKYu1nnXVWtG3b1hAB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onv37vEv//IvccABBzSrdWcymaYnnnji9s997nPPeAoAAODDEQADAJBYDz/88NJjjjlmY+/evY+KiGZzFKq0tDSGDx8eq1evjvXr13sQAHLcwIED45prrol27do1t6VnZsyY8YOzzjprqqcAAAA+PAEwAACJdv/99795zDHHVO6zzz5HRDMKgVu0aBGHHXZYtGzZMhYuXBjpdNrDAJBjCgoK4pxzzonzzz8/WrRo0dyWn37uuefuOuWUUyZ4EgAA4KMRAAMAkHi///3v5w8bNmxF3759j2lO10GnUqno27dvDB06NBYvXhxbtmzxMADkiJ49e8YNN9wQgwcPblbf+434x7XPU6ZM+fbpp58+2ZMAAAAfnQAYAICc8OCDDy4ZNmzYin79+jWrEDgionXr1nHEEUdEfX19LF261MMAkGCpVCpOOOGEuOKKK6JNmzbNbv07wt9vnXPOOX/xNAAAwMcjAAYAIGc89NBDS4YNG7a8X79+xza3EDg/Pz8OPvjg6NWrV8yfPz8aGho8EAAJU1JSEpdffnmccMIJkZ+f3+zWn8lkGp944olvffazn53maQAAgI9PAAwAQE556KGHlo4cOXJdnz59RqWa252ZEdG1a9cYNmxYLFu2LCorKz0QAAnRt2/fuO6662K//fZrluvPZDLpp59++rvnnHPO054GAAD4ZATAAADknD/96U+LDj300KX7779/s7sOOiKiuLg4jjzyyCgpKYk333wz0um0hwIgSxUUFMRnP/vZuPDCC6OkpKRZ9iCdTjc88sgjt5x//vnTPREAAPDJCYABAMhJDz/88NId3wQelUqlmt09mqlUKvr06RMHH3xwLFy4MLZt2+ahAMgynTt3jrFjx8bQoUOjGV5aERH/CH+feOKJ2y+88MLnPBEAALBrCIABAMhZDz300JIePXq8NmjQoGPz8vJaNMcetG3bNkaNGhVNTU2xZMkSDwVAFkilUjF69Oi48soro0OHDs22D01NTdt++9vf/stll132oqcCAAB2HQEwAAA5bdKkSeXdu3efM3jw4GYbAufn58eAAQOiV69esWDBgti+fbsHA2Avad26dVx66aVx/PHHR35+frPtQ2NjY/WvfvWrf7nuuute81QAAMCuJQAGACDnTZ48eW1jY+OMI4444uiCgoKS5tqHrl27xqhRo2Lbtm2xcuVKDwbAHpRKpWLUqFExduzY6NWrV7PuRX19/fo77rjjK9/61rcWejIAAGDXEwADANAsPP/881UbNmx45rjjjjuqsLCwrLn2obCwMAYNGhT77bdfLF68OGpraz0cALtZ+/bt44orrogTTzwxCgub9/uU2tralTfffPPVP/nJT1Z7MgAAYPcQAAMA0Gz87W9/27p27doZJ5xwwsjCwsK2zbkXnTp1ipEjR0Z1dbXTwAC70ciRI+Pqq6+OHj16NPte1NTULL/hhhuu/e1vf7vOkwEAALuPABgAgGbltdde2zpv3rynTznllKFFRUWdmnMvCgsL49BDD4399tsvFi1a5DQwwC709qnfk08+udmf+o2I2Lx587yLL774unHjxm30dAAAwO71fgFwat9zYsTOftC4LmLjq610DwCAxOrVq1fhs88++69du3Y9QTciGhoaYurUqTF58uRobGzUEICPqaCgIE499dQYPXq04HeH8vLyp4499tjvrly5skE3AABg9+swrDYKuuz8ZwJgAAByWuvWrfNeeumlm/fdd9+zdeMfVq9eHffff38sWbJEMwA+ov322y8uuugi1z2/w8KFC38/fPjwnzY0NGR0AwAA9gwBMAAAzd7zzz9/8aGHHnp1RKR0IyKTycTMmTPjz3/+c9TV1WkIwAcoKSmJ8847L0aMGBGplL9Kdki//PLL9xx77LEPagUAAOxZ7xcA+wYwAADNwn333Tfn+OOP39yrV6/DQwgcqVQqevfuHcOHD49169ZFRUWFhwTgPRxyyCExduzY6N+/v/B3h0wm0/jMM8/828knnzxONwAAYM97v28AC4ABAGg2fve7370xePDgJf369Ts6lUrl60hEcXFxjBgxInr06BFLly6N2tpaTQHYoUOHDvGFL3whzjzzzCguLtaQHZqammoeeOCBWz73uc9N1w0AANg7BMAAALDDww8/vKygoOC54cOHH1FQUFCqI//QrVu3OO6446K0tDQWL14cTU1NmgI0Wy1btoxzzjknLr300ujevbuGvENtbe2K22677arbbrvtDd0AAIC9RwAMAADv8Oyzz25avHjx0yeddNKQoqKiTjryD3l5edGnT58YOXJkbN26NVatWqUpQLNz+OGHx1e+8pUYMGBA5OXlacg7VFVV/e3CCy+8/oEHHvDdAAAA2MsEwAAA8C7z58+vefbZZ58+44wz+hcX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OigOOOCAKCoq0pQs0djYuGXmzJk/PvPMMyc2NDS4XgAAAPjQBMAAAJADjjzyyNY/+9nPrujbt++5EZGnI9mluro6Fi5cGPPnz4958+ZFZWWlprBXtGvXLg455JAYMGBA9O/fP1q39nsjWSj91ltv/fmqq676xaxZs6q1AwAA+KgEwAAAkEN++ctfjhgzZsyNrVq16q0b2SmdTsfKlStj0aJFsXDhwli8eHFs27ZNY9gtSkpKol+/ftG/f//Yf//9o1evXpGX53dEslVNTc3yRx999EdXXnnlK7oBAAB8XAJgAADIMd26dSt8+OGHPzd48ODL8vPzbdyzXCaTiTVr1sTChQtj0aJFsWjRotiyZYvG8LGUlZVF//79/xn6du/ePVKplMZkuaampprXXnvtV2PGjHmgoqKiUUcAAIBPQgAMAAA56rjjjiv7r//6r8tdC508mzdvjuXLl8eKFSti+fLlsXjx4qipqdEY/pfi4uLo169f9O7dO/bZZ5/Yd999o6ysTGMSJJPJpJcsWfLn66677pfTp0/3mx8AAMAuIQAGAIAc99Of/nTIueeee3NpaWlf3UimxsbGWLlyZSxdujSWLVsWy5cvj3Xr1kUmk9GcZiKVSkWXLl1in332iT59+kSfPn2iV69eUVBQoDkJtXXr1sUPPvjgj6699tq/6wYAALArCYABAKAZaNeuXf64cePOGTp06BUFBQWtdST56uvrY+XKlf88KbxixYpYu3ZtpNNpzUm4vLy86Nq1a+yzzz7//KdXr17RsmVLzckBjY2NW/7617/+4pxzznm0srKySUcAAIBdTQAMAADNyIknntjmnnvuuXzfffcdk0qlHB3MMdu3b481a9bEmjVrYu3atbF27dooLy+PDRs2CIazUF5eXnTs2DG6desWXbt2jW7dukW3bt2iR48eUVhYqEE5JpPJNC5ZsuRR1z0DAAC7mwAYAACaoa9+9av7Xnfdddd16NDhCN3IfY2Njf8MhNetWxfr1q2LioqKWLduXWzbtk2DdrPS0tLo3LnzP//p0qVLdO3aNbp27eoK52Ziw4YNM//rv/7rxz/60Y+W6wYAALC7CYABAKAZ++UvfznirLPOuq64uNj3gZupmpqaWL9+/T//qaioiMrKyqisrIxNmzZFY2OjJn2AgoKCaN++fbRr1y7at28fHTt2jC5dukSnTp2ic+fOUVxcrEnN1NatW98aP378PVdcccXLugEAAOwpAmAAAGjm2rVrl//ggw+eOWLEiCsLCwvb6gjvtHnz5n+GwZs2bYrKysqorq6OLVu2xJYtW6K6ujqqq6sjk8nk3NpTqVS0bt06WrduHWVlZdGmTZsoLS39X2Fvu3btok2bNh4U/peGhobKl1566efnnHPO+OrqavevAwAAe5QAGAAAiIiIoUOHFt97770XHHjggRfk5+c7ssiHlk6n/xkEV1dXR01Nzfv+k8lkora2NtLpdNTX10dTU1PU1dXt0u8U5+XlRcuWLSM/Pz+KiooiLy8vWrVqFalUKoqLi3f6T0lJSbRq1eqfgW9paWnk5eUZMB9aU1NTzYIFC/745S9/+Y+zZ8+u0REAAGBvEAADAAD/y2mnndb2rrvuurRPnz5n5+XlFeoIe9LbgfDbtm/f/r7XUBcUFESLFi3++b/fDnxhT8pkMg1LliwZd8stt/xq0qRJVToCAADsTQJgAABgp0477bS2d95554X777//5wTBAP9XJpNpWLhw4QO33nrrHwS/AABAtni/ADi/7UHRc2c/SG+LqC33/gcAAHLZokWL6u69995X0un0swcddFCnkpKS3roC8A8VFRUz/7//7/+77aKLLpq6aNGiOh0BAACyRXH3xsgr3fnPBMAAAEDMnDmz8u67736qqalpWr9+/Ypbt27dN5VKpXQGaG4ymUx6zZo1U+65555/Peeccx6cOXNmpa4AAADZRgAMAAB8KDNnzqz88Y9//Gw6nZ4uCAaak7eD37vvvvtfzz///McEvwAAQDYTAAMAAB+JIBhoLgS/AABAEgmAAQCAj+XtILisrOyFvn37diwuLu4VEYJgIBdkKioqnrv33nu/PWbMmEcEvwAAQJK8XwCc2vecGLGzHzSui9j4aivdAwAA/unqq6/u8ZWvfOX8Pn36nJWXl9dCR4CkSafT9UuXLh3/X//1Xw/84he/WKMjAABAEnUYVhsFXXb+MwEwAADwkZ1xxhntb7/99rMPPPDA8/Pz81vrCJDtmpqaqhcsWPDgd77znUcmTpzotC8AAJBoAmAAAGC3GD58eMkPf/jDzwwePPjioqKijjoCZJv6+voNr7322u9vvPHGx2fPnl2jIwAAQC4QAAMAALvV0KFDi++5556zDjnkkPOKioq66giwt9XV1a19/fXXH7z++uvHC34BAIBcIwAGAAD2iFatWuXdc889w0455ZTzO3bseJSOAHtYZsOGDbOmTJny4PXXX/9qbW1tWksAAIBcJAAGAAD2uH/913/tf/7555/dq1ev0/Ly8lroCLC7pNPp+pUrV05+4IEHHvnOd76zSEcAAIBcJwAGAAD2mjPOOKP97bfffvYBBxzw2YKCgjY6AuwqjY2NVW+++eafv/e97z06YcKETToCAAA0FwJgAABgrxs+fHjJ97///dGDBg0aU1paur+OAB9XdXX1wtdee+3Rr371q1Nfe+21Wh0BAACaGwEwAACQVb761a/ue8EFF3y6b9++ZxUUFLTWEeCDNDY2bnnrrbfG/+EPf5j4ox/9aLmOAAAAzZkAGAAAyEpDhw4t/sEPfnDy4MGDz27dunV/HQHerbq6+s2XX375weuuu+7ppUuXbtcRAAAAATAAAJDlCgsLU3ffffeQ0aNHn9G1a9fj8vLyinQFmq90Ol1XXl4+bcqUKROuvfbav+sIAADA/yYABgAAEqNPnz4t/v3f/33UyJEjz2rfvv2nIiKlK9AsZDZt2vTXF1544bGvfe1rzzntCwAA8N4EwAAAQCJddNFFXa6++uqTDzzwwLNbtmzZTUcg99TV1a1ZsGDBuJ/+9KdP3n///et0BAAA4IMJgAEAgETr1q1b4d13333k4YcffmqHDh2OyMvLK9QVSK50Ot2wcePGWbNmzZp8/fXXz6qoqGjUFQAAgA9PAAwAAOSMo48+uvWtt956/CGHHHJKu3btBkdEnq5AIqQrKytfmzdv3uQ777xz+owZM6q1BAAA4OMRAAMAADnpuOOOK/vGN75x/CGHHHJa27ZtB4bvBUO2yVRVVc2dN2/epO9///vTpk+fvkVLAAAAPjkBMAAAkPNuu+22vmedddZJffr0Oa5Vq1a9dQT2ntra2uXLly+f/uijjz51xx13vKUjAAAAu5YAGAAAaFa+9KUvdbv44ouP7t+//wlOBsMekamqqpq7cOHCv/z+97+fcd9995VrCQAAwO4jAAYAAJqtSy65pOtll112jDAYdrl0VVXVvIULF/7lV7/61bO/+93v1moJAADAniEABgAAiIirr766x/nnnz9q//33P7JNmzZDUqlUga7Ah5fJZBoqKyv/vnjx4uf+9Kc/zbr33ntX6woAAMCeJwAGAAB4l379+hV97WtfGzRy5MhRPXv2PLaoqKizrsD/VV9fv37VqlXPvPDCC8/9+7//+5zFixfX6woAAMDeJQAGAAB4H61bt8678847Bx599NFHde/efURpaen+4apomq/M1q1bF69Zs+bF5557btY3v/nNOdXV1WltAQAAyB4CYAAAgI9g8ODBrcaOHXvI8OHDD+vevfvw1q1bHxACYXJXprq6+s01a9a88sorr7z8k5/8ZN5rr71Wqy0AAADZSwAMAADwCVx//fX7nHHGGYf169dvePv27Yfm5+e31hWSrLGxsXrjxo2vvvXWWy+PHz/+lR//+McrdQUAACA5BMAAAAC70Je//OUe55xzzvA+ffoM7tix45CioqKuukI2q6+vX7t27doXFy9ePGfixImv3Xvvvat1BQAAILkEwAAAALvRl7/85R6f+cxnBvfr129Qly5dDm/ZsqVAmL2qrq5u7bp16wS+AAAAOUoADAAAsIe0atUq75prrtnn2GOPPXi//fY7uH379oeUlpb2TaVS+brDbpKuqalZtnHjxnlvvfXW3GeffXbef/3Xfy2vra1Naw0AAEBuEgADAADsRQceeGDLq6+++oAhQ4Yc3LNnz4Pbtm17sGuj+biampqqq6qqXi8vL583Z86ceb/85S/nvfjii1t1BgAAoPkQAAMAAGSZoUOHFn/xi1/cf9CgQQf26NHjwHbt2h3YqlWr3qlUKk932CFdU1OzvLKycsHq1asXzJkzZ8Gf//znJTNmzKjWGgAAgOZNAAwAAJAAxx13XNkFF1xw4MEHH3xA165dDywtLd23pKRkn1QqVag7uS2TyTRs27ZtRXV19dJ169YtfOONNxZOmDBh4YQJEzbpDgAAAO8mAAYAAEiw8847r+OJJ57Yp3///vt16dKlT5s2bfZr3bp1v/z8/GLdSZampqaa6urqxZs3b16ybt26pQsXLlzy9NNPL33ooYc26A4AAAAflgAYAAAgx7Rr1y7/kksu6TFkyJCe++67b89OnTr1Kisr61VcXNyzZcuW3VKpVL4u7R2ZTKaprq6uvKamZtWWLVtWVlRUrFy6dOnK2bNnr7r//vvXVFZWNukSAAAAn4QAGAAAoBnp1KlTwec+97luQ4cO7bnPPvv0aNeuXafWrVt3Li4u7tqyZcvORUVFnfLy8lro1MeTTqe319fXr6+rq6uoqalZW11dvb6ysnL9ihUrVr/66qurHnzwwbUVFRWNOgUAAMDuIgAGAADgfznjjDPaH3bYYZ369OnTuUuXLp3Kysral5SUtC0uLu5YVFTUrqioqG2LFi065OfnlzaXnjQ1NW3dvn37xvr6+qr6+vrKmpqaDdu2bavasmXLpnXr1lUsXbp0/Ysvvrh+4sSJlZ4gAAAA9iYBMAAAAB9Lr169CkeNGtXuoIMOatexY8ey9u3bl7Zp06Z1SUlJWXFxcetWrVq1btGiRVlRUVHrwsLC1hGRX1hYWBoR+QUFBSV5eXkFeXl5u/0/LtPpdG06nW5sbGzcFhFNDQ0NW3f83+r6+vrq7du3b6mtra2uqamp3rZtW/XmzZurN23aVL1hw4YtCxYsqJo1a1bl0qVLt5s4AAAASSAABgAAYK/q169fUffu3Vvss88+xSUlJQVv//8LCwtT3bp1+8BTxuXl5VsbGhoyb//vbdu2Na5YsaJmzZo12xcvXlyvwwAAADQn7xcAF2gPAAAAu9vixYvrdwS11boBAAAAu0+eFgAAAAAAAADkBgEwAAAAAAAAQI4QAAMAAAAAAADkCAEwAAAAAAAAQI4QAAMAAAAAAADkCAEwAAAAAAAAQI4QAAMAAAAAAADkCAEwAAAAAAAAQI4QAAMAAAAAAADkCAEwAAAAAAAAQI4QAAMAAAAAAADkCAEwAAAAAAAAQI4QAAMAAAAAAADkCAEwAAAAAAAAQI4o0AIAAAAAAACA5GhoLIyCxoaIiEilIpNXGE1v/0wADAAAAAAAAJAghQUN/0x6MxGppvT/5L6ugAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAIb/v5272ZHiusM4/FZ1NUkz9sQwOF4EyZJtpJCwysa5jSy4n1xPEqRIuQFvvfGSgIwBOzGRQAQERnx0d1UW0cgWGvKxsMGvnmfVdc7/1OJsf+oCAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoMY3JP//9K8My551lzpAk293a7QAAAAAAAAD8iIw3r+SL7TpPxuSt4/ibJJuz20QDBgAAAAAAAHhzrJPp6NvHYcyyjLl7dJTPbl/Jp6sPLufSsM+5ec7q5YOrF0OeP/SVaAAAAAAAAIA3weH7u6zfm79dWDIMSw6225w785vsx3XyzasOby5ssz69c4sAAAAAAAAAr9n69C6bC9sT93a7rKdnORin5Otxynzi1JQcfiwCAwAAAAAAALxO69O7HH68TaaT98cp85R8vbp3Nfszv8q0LHn7xMF1sjk/ZzUPmZ/MmWefhAYAAAAAAAD4oayPdjn7223Gn7x6ZrXPnetX8mBKkpv3cufDd/Pufn5FL56SzcVtNheT3dNt8tQlAwAAAAAAAHyv1sm0ySv/9XtsNWZ3I/lHkgzHi7/4XY7WYz5yiwAAAAAAAAA/Ivtcv/3nPEyS1fHa42t5+vNLyX7JoRsCAAAAAAAAePPt1/nbV3/KvePn1Xc371/NYxEYAAAAAAAA4M0yTHk2rvNo2WdzvHZqzN9v/SF3vju3evng/at5fPDLPDu1yuGyZHSVAAAAAAAAAK/XOGe4ueSvZ4e8M8xZbVe5ceuPufvy3Oqkw4+v5emDX+fuuTlLhhwsEYIBAAAAAAAAXpclGR8OuXP0TR4cPM/9z/+SRyfNDf/1TZezOp/87KdjzizJZkhO7edMy/w/nAUAAAAAAADg/zaMWcZkP8/ZLsmLacr2/MV8+cnvs/tP5/4FmLjAq1ifcioAAAAASUVORK5CYII="; -function getSmartParseNumber(size, xyDir, layout) { - if (typeof size === "string" && !isNaN(Number(size))) - size = Number(size); - if (typeof size === "number" && size < 100) - return inch2Emu(size); - if (typeof size === "number" && size >= 100) - return size; - if (typeof size === "string" && size.includes("%")) { - if (xyDir && xyDir === "X") - return Math.round(parseFloat(size) / 100 * layout.width); - if (xyDir && xyDir === "Y") - return Math.round(parseFloat(size) / 100 * layout.height); - return Math.round(parseFloat(size) / 100 * layout.width); - } - return 0; -} -function getUuid(uuidFormat) { - return uuidFormat.replace(/[xy]/g, function(c) { - const r = Math.random() * 16 | 0; - const v = c === "x" ? r : r & 3 | 8; - return v.toString(16); - }); -} -function encodeXmlEntities(xml) { - if (typeof xml === "undefined" || xml == null) - return ""; - return xml.toString().replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'"); -} -function inch2Emu(inches) { - if (typeof inches === "number" && inches > 100) - return inches; - if (typeof inches === "string") - inches = Number(inches.replace(/in*/gi, "")); - return Math.round(EMU * inches); -} -function valToPts(pt) { - const points = Number(pt) || 0; - return isNaN(points) ? 0 : Math.round(points * ONEPT); -} -function convertRotationDegrees(d) { - d = d || 0; - return Math.round((d > 360 ? d - 360 : d) * 6e4); -} -function componentToHex(c) { - const hex2 = c.toString(16); - return hex2.length === 1 ? "0" + hex2 : hex2; -} -function rgbToHex(r, g, b) { - return (componentToHex(r) + componentToHex(g) + componentToHex(b)).toUpperCase(); -} -function createColorElement(colorStr, innerElements) { - let colorVal = (colorStr || "").replace("#", ""); - if (!REGEX_HEX_COLOR.test(colorVal) && colorVal !== SchemeColor.background1 && colorVal !== SchemeColor.background2 && colorVal !== SchemeColor.text1 && colorVal !== SchemeColor.text2 && colorVal !== SchemeColor.accent1 && colorVal !== SchemeColor.accent2 && colorVal !== SchemeColor.accent3 && colorVal !== SchemeColor.accent4 && colorVal !== SchemeColor.accent5 && colorVal !== SchemeColor.accent6) { - console.warn(`"${colorVal}" is not a valid scheme color or hex RGB! "${DEF_FONT_COLOR}" used instead. Only provide 6-digit RGB or 'pptx.SchemeColor' values!`); - colorVal = DEF_FONT_COLOR; - } - const tagName = REGEX_HEX_COLOR.test(colorVal) ? "srgbClr" : "schemeClr"; - const colorAttr = 'val="' + (REGEX_HEX_COLOR.test(colorVal) ? colorVal.toUpperCase() : colorVal) + '"'; - return innerElements ? `${innerElements}` : ``; -} -function createGlowElement(options, defaults) { - let strXml = ""; - const opts = Object.assign(Object.assign({}, defaults), options); - const size = Math.round(opts.size * ONEPT); - const color = opts.color; - const opacity = Math.round(opts.opacity * 1e5); - strXml += ``; - strXml += createColorElement(color, ``); - strXml += ""; - return strXml; -} -function genXmlColorSelection(props) { - let fillType = "solid"; - let colorVal = ""; - let internalElements = ""; - let outText = ""; - if (props) { - if (typeof props === "string") - colorVal = props; - else { - if (props.type) - fillType = props.type; - if (props.color) - colorVal = props.color; - if (props.alpha) - internalElements += ``; - if (props.transparency) - internalElements += ``; - } - switch (fillType) { - case "solid": - outText += `${createColorElement(colorVal, internalElements)}`; - break; - default: - outText += ""; - break; - } - } - return outText; -} -function getNewRelId(target) { - return target._rels.length + target._relsChart.length + target._relsMedia.length + 1; -} -function correctShadowOptions(ShadowProps) { - if (!ShadowProps || typeof ShadowProps !== "object") { - return; - } - if (ShadowProps.type !== "outer" && ShadowProps.type !== "inner" && ShadowProps.type !== "none") { - console.warn("Warning: shadow.type options are `outer`, `inner` or `none`."); - ShadowProps.type = "outer"; - } - if (ShadowProps.angle) { - if (isNaN(Number(ShadowProps.angle)) || ShadowProps.angle < 0 || ShadowProps.angle > 359) { - console.warn("Warning: shadow.angle can only be 0-359"); - ShadowProps.angle = 270; - } - ShadowProps.angle = Math.round(Number(ShadowProps.angle)); - } - if (ShadowProps.opacity) { - if (isNaN(Number(ShadowProps.opacity)) || ShadowProps.opacity < 0 || ShadowProps.opacity > 1) { - console.warn("Warning: shadow.opacity can only be 0-1"); - ShadowProps.opacity = 0.75; - } - ShadowProps.opacity = Number(ShadowProps.opacity); - } - if (ShadowProps.color) { - if (ShadowProps.color.startsWith("#")) { - console.warn('Warning: shadow.color should not include hash (#) character, , e.g. "FF0000"'); - ShadowProps.color = ShadowProps.color.replace("#", ""); - } - } - return ShadowProps; -} -function parseTextToLines(cell, colWidth, verbose) { - var _a, _b; - const FOCO = 2.3 + (((_a = cell.options) === null || _a === void 0 ? void 0 : _a.autoPageCharWeight) ? cell.options.autoPageCharWeight : 0); - const CPL = Math.floor(colWidth / ONEPT * EMU) / ((((_b = cell.options) === null || _b === void 0 ? void 0 : _b.fontSize) ? cell.options.fontSize : DEF_FONT_SIZE) / FOCO); - const parsedLines = []; - let inputCells = []; - const inputLines1 = []; - const inputLines2 = []; - if (cell.text && cell.text.toString().trim().length === 0) { - inputCells.push({ _type: SLIDE_OBJECT_TYPES.tablecell, text: " " }); - } else if (typeof cell.text === "number" || typeof cell.text === "string") { - inputCells.push({ _type: SLIDE_OBJECT_TYPES.tablecell, text: (cell.text || "").toString().trim() }); - } else if (Array.isArray(cell.text)) { - inputCells = cell.text; - } - let newLine = []; - inputCells.forEach((cell2) => { - var _a2; - if (typeof cell2.text === "string") { - if (cell2.text.split("\n").length > 1) { - cell2.text.split("\n").forEach((textLine) => { - newLine.push({ - _type: SLIDE_OBJECT_TYPES.tablecell, - text: textLine, - options: Object.assign(Object.assign({}, cell2.options), { breakLine: true }) - }); - }); - } else { - newLine.push({ - _type: SLIDE_OBJECT_TYPES.tablecell, - text: cell2.text.trim(), - options: cell2.options - }); - } - if ((_a2 = cell2.options) === null || _a2 === void 0 ? void 0 : _a2.breakLine) { - inputLines1.push(newLine); - newLine = []; - } - } - if (newLine.length > 0) { - inputLines1.push(newLine); - newLine = []; - } - }); - inputLines1.forEach((line) => { - line.forEach((cell2) => { - const lineCells = []; - const cellTextStr = String(cell2.text); - const lineWords = cellTextStr.split(" "); - lineWords.forEach((word, idx) => { - const cellProps = Object.assign({}, cell2.options); - if (cellProps === null || cellProps === void 0 ? void 0 : cellProps.breakLine) - cellProps.breakLine = idx + 1 === lineWords.length; - lineCells.push({ _type: SLIDE_OBJECT_TYPES.tablecell, text: word + (idx + 1 < lineWords.length ? " " : ""), options: cellProps }); - }); - inputLines2.push(lineCells); - }); - }); - inputLines2.forEach((line) => { - let lineCells = []; - let strCurrLine = ""; - line.forEach((word) => { - if (strCurrLine.length + word.text.length > CPL) { - parsedLines.push(lineCells); - lineCells = []; - strCurrLine = ""; - } - lineCells.push(word); - strCurrLine += word.text.toString(); - }); - if (lineCells.length > 0) - parsedLines.push(lineCells); - }); - return parsedLines; -} -function getSlidesForTableRows(tableRows = [], tableProps = {}, presLayout, masterSlide) { - let arrInchMargins = DEF_SLIDE_MARGIN_IN; - let emuSlideTabW = EMU * 1; - let emuSlideTabH = EMU * 1; - let emuTabCurrH = 0; - let numCols = 0; - const tableRowSlides = []; - const tablePropX = getSmartParseNumber(tableProps.x, "X", presLayout); - const tablePropY = getSmartParseNumber(tableProps.y, "Y", presLayout); - const tablePropW = getSmartParseNumber(tableProps.w, "X", presLayout); - const tablePropH = getSmartParseNumber(tableProps.h, "Y", presLayout); - let tableCalcW = tablePropW; - function calcSlideTabH() { - let emuStartY = 0; - if (tableRowSlides.length === 0) - emuStartY = tablePropY || inch2Emu(arrInchMargins[0]); - if (tableRowSlides.length > 0) - emuStartY = inch2Emu(tableProps.autoPageSlideStartY || tableProps.newSlideStartY || arrInchMargins[0]); - emuSlideTabH = (tablePropH || presLayout.height) - emuStartY - inch2Emu(arrInchMargins[2]); - if (tableRowSlides.length > 1) { - if (typeof tableProps.autoPageSlideStartY === "number") { - emuSlideTabH = (tablePropH || presLayout.height) - inch2Emu(tableProps.autoPageSlideStartY + arrInchMargins[2]); - } else if (typeof tableProps.newSlideStartY === "number") { - emuSlideTabH = (tablePropH || presLayout.height) - inch2Emu(tableProps.newSlideStartY + arrInchMargins[2]); - } else if (tablePropY) { - emuSlideTabH = (tablePropH || presLayout.height) - inch2Emu((tablePropY / EMU < arrInchMargins[0] ? tablePropY / EMU : arrInchMargins[0]) + arrInchMargins[2]); - if (emuSlideTabH < tablePropH) - emuSlideTabH = tablePropH; - } - } - } - if (tableProps.verbose) { - console.log("[[VERBOSE MODE]]"); - console.log("|-- TABLE PROPS --------------------------------------------------------|"); - console.log(`| presLayout.width ................................ = ${(presLayout.width / EMU).toFixed(1)}`); - console.log(`| presLayout.height ............................... = ${(presLayout.height / EMU).toFixed(1)}`); - console.log(`| tableProps.x .................................... = ${typeof tableProps.x === "number" ? (tableProps.x / EMU).toFixed(1) : tableProps.x}`); - console.log(`| tableProps.y .................................... = ${typeof tableProps.y === "number" ? (tableProps.y / EMU).toFixed(1) : tableProps.y}`); - console.log(`| tableProps.w .................................... = ${typeof tableProps.w === "number" ? (tableProps.w / EMU).toFixed(1) : tableProps.w}`); - console.log(`| tableProps.h .................................... = ${typeof tableProps.h === "number" ? (tableProps.h / EMU).toFixed(1) : tableProps.h}`); - console.log(`| tableProps.slideMargin .......................... = ${tableProps.slideMargin ? String(tableProps.slideMargin) : ""}`); - console.log(`| tableProps.margin ............................... = ${String(tableProps.margin)}`); - console.log(`| tableProps.colW ................................. = ${String(tableProps.colW)}`); - console.log(`| tableProps.autoPageSlideStartY .................. = ${tableProps.autoPageSlideStartY}`); - console.log(`| tableProps.autoPageCharWeight ................... = ${tableProps.autoPageCharWeight}`); - console.log("|-- CALCULATIONS -------------------------------------------------------|"); - console.log(`| tablePropX ...................................... = ${tablePropX / EMU}`); - console.log(`| tablePropY ...................................... = ${tablePropY / EMU}`); - console.log(`| tablePropW ...................................... = ${tablePropW / EMU}`); - console.log(`| tablePropH ...................................... = ${tablePropH / EMU}`); - console.log(`| tableCalcW ...................................... = ${tableCalcW / EMU}`); - } - { - if (!tableProps.slideMargin && tableProps.slideMargin !== 0) - tableProps.slideMargin = DEF_SLIDE_MARGIN_IN[0]; - if (masterSlide && typeof masterSlide._margin !== "undefined") { - if (Array.isArray(masterSlide._margin)) - arrInchMargins = masterSlide._margin; - else if (!isNaN(Number(masterSlide._margin))) { - arrInchMargins = [Number(masterSlide._margin), Number(masterSlide._margin), Number(masterSlide._margin), Number(masterSlide._margin)]; - } - } else if (tableProps.slideMargin || tableProps.slideMargin === 0) { - if (Array.isArray(tableProps.slideMargin)) - arrInchMargins = tableProps.slideMargin; - else if (!isNaN(tableProps.slideMargin)) - arrInchMargins = [tableProps.slideMargin, tableProps.slideMargin, tableProps.slideMargin, tableProps.slideMargin]; - } - if (tableProps.verbose) - console.log(`| arrInchMargins .................................. = [${arrInchMargins.join(", ")}]`); - } - { - const firstRow = tableRows[0] || []; - firstRow.forEach((cell) => { - if (!cell) - cell = { _type: SLIDE_OBJECT_TYPES.tablecell }; - const cellOpts = cell.options || null; - numCols += Number((cellOpts === null || cellOpts === void 0 ? void 0 : cellOpts.colspan) ? cellOpts.colspan : 1); - }); - if (tableProps.verbose) - console.log(`| numCols ......................................... = ${numCols}`); - } - if (!tablePropW && tableProps.colW) { - tableCalcW = Array.isArray(tableProps.colW) ? tableProps.colW.reduce((p, n) => p + n) * EMU : tableProps.colW * numCols || 0; - if (tableProps.verbose) - console.log(`| tableCalcW ...................................... = ${tableCalcW / EMU}`); - } - { - emuSlideTabW = tableCalcW || inch2Emu((tablePropX ? tablePropX / EMU : arrInchMargins[1]) + arrInchMargins[3]); - if (tableProps.verbose) - console.log(`| emuSlideTabW .................................... = ${(emuSlideTabW / EMU).toFixed(1)}`); - } - if (!tableProps.colW || !Array.isArray(tableProps.colW)) { - if (tableProps.colW && !isNaN(Number(tableProps.colW))) { - const arrColW = []; - const firstRow = tableRows[0] || []; - firstRow.forEach(() => arrColW.push(tableProps.colW)); - tableProps.colW = []; - arrColW.forEach((val) => { - if (Array.isArray(tableProps.colW)) - tableProps.colW.push(val); - }); - } else { - tableProps.colW = []; - for (let iCol = 0; iCol < numCols; iCol++) { - tableProps.colW.push(emuSlideTabW / EMU / numCols); - } - } - } - let newTableRowSlide = { rows: [] }; - tableRows.forEach((row, iRow) => { - const rowCellLines = []; - let maxCellMarTopEmu = 0; - let maxCellMarBtmEmu = 0; - let currTableRow = []; - row.forEach((cell) => { - var _a, _b, _c, _d; - currTableRow.push({ - _type: SLIDE_OBJECT_TYPES.tablecell, - text: [], - options: cell.options - }); - if (cell.options.margin && cell.options.margin[0] >= 1) { - if (((_a = cell.options) === null || _a === void 0 ? void 0 : _a.margin) && cell.options.margin[0] && valToPts(cell.options.margin[0]) > maxCellMarTopEmu) - maxCellMarTopEmu = valToPts(cell.options.margin[0]); - else if ((tableProps === null || tableProps === void 0 ? void 0 : tableProps.margin) && tableProps.margin[0] && valToPts(tableProps.margin[0]) > maxCellMarTopEmu) - maxCellMarTopEmu = valToPts(tableProps.margin[0]); - if (((_b = cell.options) === null || _b === void 0 ? void 0 : _b.margin) && cell.options.margin[2] && valToPts(cell.options.margin[2]) > maxCellMarBtmEmu) - maxCellMarBtmEmu = valToPts(cell.options.margin[2]); - else if ((tableProps === null || tableProps === void 0 ? void 0 : tableProps.margin) && tableProps.margin[2] && valToPts(tableProps.margin[2]) > maxCellMarBtmEmu) - maxCellMarBtmEmu = valToPts(tableProps.margin[2]); - } else { - if (((_c = cell.options) === null || _c === void 0 ? void 0 : _c.margin) && cell.options.margin[0] && inch2Emu(cell.options.margin[0]) > maxCellMarTopEmu) - maxCellMarTopEmu = inch2Emu(cell.options.margin[0]); - else if ((tableProps === null || tableProps === void 0 ? void 0 : tableProps.margin) && tableProps.margin[0] && inch2Emu(tableProps.margin[0]) > maxCellMarTopEmu) - maxCellMarTopEmu = inch2Emu(tableProps.margin[0]); - if (((_d = cell.options) === null || _d === void 0 ? void 0 : _d.margin) && cell.options.margin[2] && inch2Emu(cell.options.margin[2]) > maxCellMarBtmEmu) - maxCellMarBtmEmu = inch2Emu(cell.options.margin[2]); - else if ((tableProps === null || tableProps === void 0 ? void 0 : tableProps.margin) && tableProps.margin[2] && inch2Emu(tableProps.margin[2]) > maxCellMarBtmEmu) - maxCellMarBtmEmu = inch2Emu(tableProps.margin[2]); - } - }); - calcSlideTabH(); - emuTabCurrH += maxCellMarTopEmu + maxCellMarBtmEmu; - if (tableProps.verbose && iRow === 0) - console.log(`| SLIDE [${tableRowSlides.length}]: emuSlideTabH ...... = ${(emuSlideTabH / EMU).toFixed(1)} `); - row.forEach((cell, iCell) => { - var _a; - const newCell = { - _type: SLIDE_OBJECT_TYPES.tablecell, - _lines: null, - _lineHeight: inch2Emu((((_a = cell.options) === null || _a === void 0 ? void 0 : _a.fontSize) ? cell.options.fontSize : tableProps.fontSize ? tableProps.fontSize : DEF_FONT_SIZE) * (LINEH_MODIFIER + (tableProps.autoPageLineWeight ? tableProps.autoPageLineWeight : 0)) / 100), - text: [], - options: cell.options - }; - if (newCell.options.rowspan) - newCell._lineHeight = 0; - newCell.options.autoPageCharWeight = tableProps.autoPageCharWeight ? tableProps.autoPageCharWeight : null; - let totalColW = tableProps.colW[iCell]; - if (cell.options.colspan && Array.isArray(tableProps.colW)) { - totalColW = tableProps.colW.filter((_cell, idx) => idx >= iCell && idx < idx + cell.options.colspan).reduce((prev, curr) => prev + curr); - } - newCell._lines = parseTextToLines(cell, totalColW); - rowCellLines.push(newCell); - }); - if (tableProps.verbose) - console.log(` -| SLIDE [${tableRowSlides.length}]: ROW [${iRow}]: START...`); - let currCellIdx = 0; - let emuLineMaxH = 0; - let isDone = false; - while (!isDone) { - const srcCell = rowCellLines[currCellIdx]; - let tgtCell = currTableRow[currCellIdx]; - rowCellLines.forEach((cell) => { - if (cell._lineHeight >= emuLineMaxH) - emuLineMaxH = cell._lineHeight; - }); - if (emuTabCurrH + emuLineMaxH > emuSlideTabH) { - if (tableProps.verbose) { - console.log("\n|-----------------------------------------------------------------------|"); - console.log(`|-- NEW SLIDE CREATED (currTabH+currLineH > maxH) => ${(emuTabCurrH / EMU).toFixed(2)} + ${(srcCell._lineHeight / EMU).toFixed(2)} > ${emuSlideTabH / EMU}`); - console.log("|-----------------------------------------------------------------------|\n\n"); - } - if (currTableRow.length > 0 && currTableRow.map((cell) => cell.text.length).reduce((p, n) => p + n) > 0) - newTableRowSlide.rows.push(currTableRow); - tableRowSlides.push(newTableRowSlide); - const newRows = []; - newTableRowSlide = { rows: newRows }; - currTableRow = []; - row.forEach((cell) => currTableRow.push({ _type: SLIDE_OBJECT_TYPES.tablecell, text: [], options: cell.options })); - calcSlideTabH(); - emuTabCurrH += maxCellMarTopEmu + maxCellMarBtmEmu; - if (tableProps.verbose) - console.log(`| SLIDE [${tableRowSlides.length}]: emuSlideTabH ...... = ${(emuSlideTabH / EMU).toFixed(1)} `); - emuTabCurrH = 0; - if ((tableProps.addHeaderToEach || tableProps.autoPageRepeatHeader) && tableProps._arrObjTabHeadRows) { - tableProps._arrObjTabHeadRows.forEach((row2) => { - const newHeadRow = []; - let maxLineHeight = 0; - row2.forEach((cell) => { - newHeadRow.push(cell); - if (cell._lineHeight > maxLineHeight) - maxLineHeight = cell._lineHeight; - }); - newTableRowSlide.rows.push(newHeadRow); - emuTabCurrH += maxLineHeight; - }); - } - tgtCell = currTableRow[currCellIdx]; - } - const currLine = srcCell._lines.shift(); - if (Array.isArray(tgtCell.text)) { - if (currLine) - tgtCell.text = tgtCell.text.concat(currLine); - else if (tgtCell.text.length === 0) - tgtCell.text = tgtCell.text.concat({ _type: SLIDE_OBJECT_TYPES.tablecell, text: "" }); - } - if (currCellIdx === rowCellLines.length - 1) - emuTabCurrH += emuLineMaxH; - currCellIdx = currCellIdx < rowCellLines.length - 1 ? currCellIdx + 1 : 0; - const brent = rowCellLines.map((cell) => cell._lines.length).reduce((prev, next) => prev + next); - if (brent === 0) - isDone = true; - } - if (currTableRow.length > 0) - newTableRowSlide.rows.push(currTableRow); - if (tableProps.verbose) { - console.log(`- SLIDE [${tableRowSlides.length}]: ROW [${iRow}]: ...COMPLETE ...... emuTabCurrH = ${(emuTabCurrH / EMU).toFixed(2)} ( emuSlideTabH = ${(emuSlideTabH / EMU).toFixed(2)} )`); - } - }); - tableRowSlides.push(newTableRowSlide); - if (tableProps.verbose) { - console.log("\n|================================================|"); - console.log(`| FINAL: tableRowSlides.length = ${tableRowSlides.length}`); - tableRowSlides.forEach((slide) => console.log(slide)); - console.log("|================================================|\n\n"); - } - return tableRowSlides; -} -function genTableToSlides(pptx, tabEleId, options = {}, masterSlide) { - const opts = options || {}; - opts.slideMargin = opts.slideMargin || opts.slideMargin === 0 ? opts.slideMargin : 0.5; - let emuSlideTabW = opts.w || pptx.presLayout.width; - const arrObjTabHeadRows = []; - const arrObjTabBodyRows = []; - const arrObjTabFootRows = []; - const arrColW = []; - const arrTabColW = []; - let arrInchMargins = [0.5, 0.5, 0.5, 0.5]; - let intTabW = 0; - if (!document.getElementById(tabEleId)) - throw new Error('tableToSlides: Table ID "' + tabEleId + '" does not exist!'); - if (masterSlide === null || masterSlide === void 0 ? void 0 : masterSlide._margin) { - if (Array.isArray(masterSlide._margin)) - arrInchMargins = masterSlide._margin; - else if (!isNaN(masterSlide._margin)) - arrInchMargins = [masterSlide._margin, masterSlide._margin, masterSlide._margin, masterSlide._margin]; - opts.slideMargin = arrInchMargins; - } else if (opts === null || opts === void 0 ? void 0 : opts.slideMargin) { - if (Array.isArray(opts.slideMargin)) - arrInchMargins = opts.slideMargin; - else if (!isNaN(opts.slideMargin)) - arrInchMargins = [opts.slideMargin, opts.slideMargin, opts.slideMargin, opts.slideMargin]; - } - emuSlideTabW = (opts.w ? inch2Emu(opts.w) : pptx.presLayout.width) - inch2Emu(arrInchMargins[1] + arrInchMargins[3]); - if (opts.verbose) { - console.log("[[VERBOSE MODE]]"); - console.log("|-- `tableToSlides` ----------------------------------------------------|"); - console.log(`| tableProps.h .................................... = ${opts.h}`); - console.log(`| tableProps.w .................................... = ${opts.w}`); - console.log(`| pptx.presLayout.width ........................... = ${(pptx.presLayout.width / EMU).toFixed(1)}`); - console.log(`| pptx.presLayout.height .......................... = ${(pptx.presLayout.height / EMU).toFixed(1)}`); - console.log(`| emuSlideTabW .................................... = ${(emuSlideTabW / EMU).toFixed(1)}`); - } - let firstRowCells = document.querySelectorAll(`#${tabEleId} tr:first-child th`); - if (firstRowCells.length === 0) - firstRowCells = document.querySelectorAll(`#${tabEleId} tr:first-child td`); - firstRowCells.forEach((cellEle) => { - const cell = cellEle; - if (cell.getAttribute("colspan")) { - for (let idxc = 0; idxc < Number(cell.getAttribute("colspan")); idxc++) { - arrTabColW.push(Math.round(cell.offsetWidth / Number(cell.getAttribute("colspan")))); - } - } else { - arrTabColW.push(cell.offsetWidth); - } - }); - arrTabColW.forEach((colW) => { - intTabW += colW; - }); - arrTabColW.forEach((colW, idxW) => { - const intCalcWidth = Number((Number(emuSlideTabW) * (colW / intTabW * 100) / 100 / EMU).toFixed(2)); - let intMinWidth = 0; - const colSelectorMin = document.querySelector(`#${tabEleId} thead tr:first-child th:nth-child(${idxW + 1})`); - if (colSelectorMin) - intMinWidth = Number(colSelectorMin.getAttribute("data-pptx-min-width")); - const colSelectorSet = document.querySelector(`#${tabEleId} thead tr:first-child th:nth-child(${idxW + 1})`); - if (colSelectorSet) - intMinWidth = Number(colSelectorSet.getAttribute("data-pptx-width")); - arrColW.push(intMinWidth > intCalcWidth ? intMinWidth : intCalcWidth); - }); - if (opts.verbose) { - console.log(`| arrColW ......................................... = [${arrColW.join(", ")}]`); - } - const tableParts = ["thead", "tbody", "tfoot"]; - tableParts.forEach((part) => { - document.querySelectorAll(`#${tabEleId} ${part} tr`).forEach((row) => { - const htmlRow = row; - const arrObjTabCells = []; - Array.from(htmlRow.cells).forEach((cell) => { - const arrRGB1 = window.getComputedStyle(cell).getPropertyValue("color").replace(/\s+/gi, "").replace("rgba(", "").replace("rgb(", "").replace(")", "").split(","); - let arrRGB2 = window.getComputedStyle(cell).getPropertyValue("background-color").replace(/\s+/gi, "").replace("rgba(", "").replace("rgb(", "").replace(")", "").split(","); - if ( - // NOTE: (ISSUE#57): Default for unstyled tables is black bkgd, so use white instead - window.getComputedStyle(cell).getPropertyValue("background-color") === "rgba(0, 0, 0, 0)" || window.getComputedStyle(cell).getPropertyValue("transparent") - ) { - arrRGB2 = ["255", "255", "255"]; - } - const cellOpts = { - align: null, - bold: !!(window.getComputedStyle(cell).getPropertyValue("font-weight") === "bold" || Number(window.getComputedStyle(cell).getPropertyValue("font-weight")) >= 500), - border: null, - color: rgbToHex(Number(arrRGB1[0]), Number(arrRGB1[1]), Number(arrRGB1[2])), - fill: { color: rgbToHex(Number(arrRGB2[0]), Number(arrRGB2[1]), Number(arrRGB2[2])) }, - fontFace: (window.getComputedStyle(cell).getPropertyValue("font-family") || "").split(",")[0].replace(/"/g, "").replace("inherit", "").replace("initial", "") || null, - fontSize: Number(window.getComputedStyle(cell).getPropertyValue("font-size").replace(/[a-z]/gi, "")), - margin: null, - colspan: Number(cell.getAttribute("colspan")) || null, - rowspan: Number(cell.getAttribute("rowspan")) || null, - valign: null - }; - if (["left", "center", "right", "start", "end"].includes(window.getComputedStyle(cell).getPropertyValue("text-align"))) { - const align = window.getComputedStyle(cell).getPropertyValue("text-align").replace("start", "left").replace("end", "right"); - cellOpts.align = align === "center" ? "center" : align === "left" ? "left" : align === "right" ? "right" : null; - } - if (["top", "middle", "bottom"].includes(window.getComputedStyle(cell).getPropertyValue("vertical-align"))) { - const valign = window.getComputedStyle(cell).getPropertyValue("vertical-align"); - cellOpts.valign = valign === "top" ? "top" : valign === "middle" ? "middle" : valign === "bottom" ? "bottom" : null; - } - if (window.getComputedStyle(cell).getPropertyValue("padding-left")) { - cellOpts.margin = [0, 0, 0, 0]; - const sidesPad = ["padding-top", "padding-right", "padding-bottom", "padding-left"]; - sidesPad.forEach((val, idxs) => { - cellOpts.margin[idxs] = Math.round(Number(window.getComputedStyle(cell).getPropertyValue(val).replace(/\D/gi, ""))); - }); - } - if (window.getComputedStyle(cell).getPropertyValue("border-top-width") || window.getComputedStyle(cell).getPropertyValue("border-right-width") || window.getComputedStyle(cell).getPropertyValue("border-bottom-width") || window.getComputedStyle(cell).getPropertyValue("border-left-width")) { - cellOpts.border = [null, null, null, null]; - const sidesBor = ["top", "right", "bottom", "left"]; - sidesBor.forEach((val, idxb) => { - const intBorderW = Math.round(Number(window.getComputedStyle(cell).getPropertyValue("border-" + val + "-width").replace("px", ""))); - let arrRGB = []; - arrRGB = window.getComputedStyle(cell).getPropertyValue("border-" + val + "-color").replace(/\s+/gi, "").replace("rgba(", "").replace("rgb(", "").replace(")", "").split(","); - const strBorderC = rgbToHex(Number(arrRGB[0]), Number(arrRGB[1]), Number(arrRGB[2])); - cellOpts.border[idxb] = { pt: intBorderW, color: strBorderC }; - }); - } - arrObjTabCells.push({ - _type: SLIDE_OBJECT_TYPES.tablecell, - text: cell.innerText, - // `innerText` returns
          as "\n", so linebreak etc. work later! - options: cellOpts - }); - }); - switch (part) { - case "thead": - arrObjTabHeadRows.push(arrObjTabCells); - break; - case "tbody": - arrObjTabBodyRows.push(arrObjTabCells); - break; - case "tfoot": - arrObjTabFootRows.push(arrObjTabCells); - break; - default: - console.log(`table parsing: unexpected table part: ${part}`); - break; - } - }); - }); - opts._arrObjTabHeadRows = arrObjTabHeadRows || null; - opts.colW = arrColW; - getSlidesForTableRows([...arrObjTabHeadRows, ...arrObjTabBodyRows, ...arrObjTabFootRows], opts, pptx.presLayout, masterSlide).forEach((slide, idxTr) => { - const newSlide = pptx.addSlide({ masterName: opts.masterSlideName || null }); - if (idxTr === 0) - opts.y = opts.y || arrInchMargins[0]; - if (idxTr > 0) - opts.y = opts.autoPageSlideStartY || opts.newSlideStartY || arrInchMargins[0]; - if (opts.verbose) - console.log(`| opts.autoPageSlideStartY: ${opts.autoPageSlideStartY} / arrInchMargins[0]: ${arrInchMargins[0]} => opts.y = ${opts.y}`); - newSlide.addTable(slide.rows, { x: opts.x || arrInchMargins[3], y: opts.y, w: Number(emuSlideTabW) / EMU, colW: arrColW, autoPage: false }); - if (opts.addImage) { - opts.addImage.options = opts.addImage.options || {}; - if (!opts.addImage.image || !opts.addImage.image.path && !opts.addImage.image.data) { - console.warn("Warning: tableToSlides.addImage requires either `path` or `data`"); - } else { - newSlide.addImage({ - path: opts.addImage.image.path, - data: opts.addImage.image.data, - x: opts.addImage.options.x, - y: opts.addImage.options.y, - w: opts.addImage.options.w, - h: opts.addImage.options.h - }); - } - } - if (opts.addShape) - newSlide.addShape(opts.addShape.shapeName, opts.addShape.options || {}); - if (opts.addTable) - newSlide.addTable(opts.addTable.rows, opts.addTable.options || {}); - if (opts.addText) - newSlide.addText(opts.addText.text, opts.addText.options || {}); - }); -} -var _chartCounter = 0; -function createSlideMaster(props, target) { - if (props.bkgd) - target.bkgd = props.bkgd; - if (props.objects && Array.isArray(props.objects) && props.objects.length > 0) { - props.objects.forEach((object, idx) => { - const key = Object.keys(object)[0]; - const tgt = target; - if (MASTER_OBJECTS[key] && key === "chart") - addChartDefinition(tgt, object[key].type, object[key].data, object[key].opts); - else if (MASTER_OBJECTS[key] && key === "image") - addImageDefinition(tgt, object[key]); - else if (MASTER_OBJECTS[key] && key === "line") - addShapeDefinition(tgt, SHAPE_TYPE.LINE, object[key]); - else if (MASTER_OBJECTS[key] && key === "rect") - addShapeDefinition(tgt, SHAPE_TYPE.RECTANGLE, object[key]); - else if (MASTER_OBJECTS[key] && key === "text") - addTextDefinition(tgt, [{ text: object[key].text }], object[key].options, false); - else if (MASTER_OBJECTS[key] && key === "placeholder") { - object[key].options.placeholder = object[key].options.name; - delete object[key].options.name; - object[key].options._placeholderType = object[key].options.type; - delete object[key].options.type; - object[key].options._placeholderIdx = 100 + idx; - addTextDefinition(tgt, [{ text: object[key].text }], object[key].options, true); - } - }); - } - if (props.slideNumber && typeof props.slideNumber === "object") - target._slideNumberProps = props.slideNumber; -} -function addChartDefinition(target, type, data, opt) { - var _a; - function correctGridLineOptions(glOpts) { - if (!glOpts || glOpts.style === "none") - return; - if (glOpts.size !== void 0 && (isNaN(Number(glOpts.size)) || glOpts.size <= 0)) { - console.warn("Warning: chart.gridLine.size must be greater than 0."); - delete glOpts.size; - } - if (glOpts.style && !["solid", "dash", "dot"].includes(glOpts.style)) { - console.warn("Warning: chart.gridLine.style options: `solid`, `dash`, `dot`."); - delete glOpts.style; - } - if (glOpts.cap && !["flat", "square", "round"].includes(glOpts.cap)) { - console.warn("Warning: chart.gridLine.cap options: `flat`, `square`, `round`."); - delete glOpts.cap; - } - } - const chartId = ++_chartCounter; - const resultObject = { - _type: null, - text: null, - options: null, - chartRid: null - }; - let tmpOpt = null; - let tmpData = []; - if (Array.isArray(type)) { - type.forEach((obj) => { - tmpData = tmpData.concat(obj.data); - }); - tmpOpt = data || opt; - } else { - tmpData = data; - tmpOpt = opt; - } - tmpData.forEach((item, i) => { - item._dataIndex = i; - if (item.labels !== void 0 && !Array.isArray(item.labels[0])) { - item.labels = [item.labels]; - } - }); - const options = tmpOpt && typeof tmpOpt === "object" ? tmpOpt : {}; - options._type = type; - options.x = typeof options.x !== "undefined" && options.x != null && !isNaN(Number(options.x)) ? options.x : 1; - options.y = typeof options.y !== "undefined" && options.y != null && !isNaN(Number(options.y)) ? options.y : 1; - options.w = options.w || "50%"; - options.h = options.h || "50%"; - options.objectName = options.objectName ? encodeXmlEntities(options.objectName) : `Chart ${target._slideObjects.filter((obj) => obj._type === SLIDE_OBJECT_TYPES.chart).length}`; - if (!["bar", "col"].includes(options.barDir || "")) - options.barDir = "col"; - if (options._type === CHART_TYPE.AREA) { - if (!["stacked", "standard", "percentStacked"].includes(options.barGrouping || "")) - options.barGrouping = "standard"; - } - if (options._type === CHART_TYPE.BAR) { - if (!["clustered", "stacked", "percentStacked"].includes(options.barGrouping || "")) - options.barGrouping = "clustered"; - } - if (options._type === CHART_TYPE.BAR3D) { - if (!["clustered", "stacked", "standard", "percentStacked"].includes(options.barGrouping || "")) - options.barGrouping = "standard"; - } - if ((_a = options.barGrouping) === null || _a === void 0 ? void 0 : _a.includes("tacked")) { - if (!options.barGapWidthPct) - options.barGapWidthPct = 50; - } - if (options.dataLabelPosition) { - if (options._type === CHART_TYPE.AREA || options._type === CHART_TYPE.BAR3D || options._type === CHART_TYPE.DOUGHNUT || options._type === CHART_TYPE.RADAR) { - delete options.dataLabelPosition; - } - if (options._type === CHART_TYPE.PIE) { - if (!["bestFit", "ctr", "inEnd", "outEnd"].includes(options.dataLabelPosition)) - delete options.dataLabelPosition; - } - if (options._type === CHART_TYPE.BUBBLE || options._type === CHART_TYPE.BUBBLE3D || options._type === CHART_TYPE.LINE || options._type === CHART_TYPE.SCATTER) { - if (!["b", "ctr", "l", "r", "t"].includes(options.dataLabelPosition)) - delete options.dataLabelPosition; - } - if (options._type === CHART_TYPE.BAR) { - if (!["stacked", "percentStacked"].includes(options.barGrouping || "")) { - if (!["ctr", "inBase", "inEnd"].includes(options.dataLabelPosition)) - delete options.dataLabelPosition; - } - if (!["clustered"].includes(options.barGrouping || "")) { - if (!["ctr", "inBase", "inEnd", "outEnd"].includes(options.dataLabelPosition)) - delete options.dataLabelPosition; - } - } - } - options.dataLabelBkgrdColors = options.dataLabelBkgrdColors || !options.dataLabelBkgrdColors ? options.dataLabelBkgrdColors : false; - if (!["b", "l", "r", "t", "tr"].includes(options.legendPos || "")) - options.legendPos = "r"; - if (!["cone", "coneToMax", "box", "cylinder", "pyramid", "pyramidToMax"].includes(options.bar3DShape || "")) - options.bar3DShape = "box"; - if (!["circle", "dash", "diamond", "dot", "none", "square", "triangle"].includes(options.lineDataSymbol || "")) - options.lineDataSymbol = "circle"; - if (!["gap", "span"].includes(options.displayBlanksAs || "")) - options.displayBlanksAs = "span"; - if (!["standard", "marker", "filled"].includes(options.radarStyle || "")) - options.radarStyle = "standard"; - options.lineDataSymbolSize = options.lineDataSymbolSize && !isNaN(options.lineDataSymbolSize) ? options.lineDataSymbolSize : 6; - options.lineDataSymbolLineSize = options.lineDataSymbolLineSize && !isNaN(options.lineDataSymbolLineSize) ? valToPts(options.lineDataSymbolLineSize) : valToPts(0.75); - if (options.layout) { - ["x", "y", "w", "h"].forEach((key) => { - const val = options.layout[key]; - if (isNaN(Number(val)) || val < 0 || val > 1) { - console.warn("Warning: chart.layout." + key + " can only be 0-1"); - delete options.layout[key]; - } - }); - } - options.catGridLine = options.catGridLine || (options._type === CHART_TYPE.SCATTER ? { color: "D9D9D9", size: 1 } : { style: "none" }); - options.valGridLine = options.valGridLine || (options._type === CHART_TYPE.SCATTER ? { color: "D9D9D9", size: 1 } : {}); - options.serGridLine = options.serGridLine || (options._type === CHART_TYPE.SCATTER ? { color: "D9D9D9", size: 1 } : { style: "none" }); - correctGridLineOptions(options.catGridLine); - correctGridLineOptions(options.valGridLine); - correctGridLineOptions(options.serGridLine); - correctShadowOptions(options.shadow); - options.showDataTable = options.showDataTable || !options.showDataTable ? options.showDataTable : false; - options.showDataTableHorzBorder = options.showDataTableHorzBorder || !options.showDataTableHorzBorder ? options.showDataTableHorzBorder : true; - options.showDataTableVertBorder = options.showDataTableVertBorder || !options.showDataTableVertBorder ? options.showDataTableVertBorder : true; - options.showDataTableOutline = options.showDataTableOutline || !options.showDataTableOutline ? options.showDataTableOutline : true; - options.showDataTableKeys = options.showDataTableKeys || !options.showDataTableKeys ? options.showDataTableKeys : true; - options.showLabel = options.showLabel || !options.showLabel ? options.showLabel : false; - options.showLegend = options.showLegend || !options.showLegend ? options.showLegend : false; - options.showPercent = options.showPercent || !options.showPercent ? options.showPercent : true; - options.showTitle = options.showTitle || !options.showTitle ? options.showTitle : false; - options.showValue = options.showValue || !options.showValue ? options.showValue : false; - options.showLeaderLines = options.showLeaderLines || !options.showLeaderLines ? options.showLeaderLines : false; - options.catAxisLineShow = typeof options.catAxisLineShow !== "undefined" ? options.catAxisLineShow : true; - options.valAxisLineShow = typeof options.valAxisLineShow !== "undefined" ? options.valAxisLineShow : true; - options.serAxisLineShow = typeof options.serAxisLineShow !== "undefined" ? options.serAxisLineShow : true; - options.v3DRotX = !isNaN(options.v3DRotX) && options.v3DRotX >= -90 && options.v3DRotX <= 90 ? options.v3DRotX : 30; - options.v3DRotY = !isNaN(options.v3DRotY) && options.v3DRotY >= 0 && options.v3DRotY <= 360 ? options.v3DRotY : 30; - options.v3DRAngAx = options.v3DRAngAx || !options.v3DRAngAx ? options.v3DRAngAx : true; - options.v3DPerspective = !isNaN(options.v3DPerspective) && options.v3DPerspective >= 0 && options.v3DPerspective <= 240 ? options.v3DPerspective : 30; - options.barGapWidthPct = !isNaN(options.barGapWidthPct) && options.barGapWidthPct >= 0 && options.barGapWidthPct <= 1e3 ? options.barGapWidthPct : 150; - options.barGapDepthPct = !isNaN(options.barGapDepthPct) && options.barGapDepthPct >= 0 && options.barGapDepthPct <= 1e3 ? options.barGapDepthPct : 150; - options.chartColors = Array.isArray(options.chartColors) ? options.chartColors : options._type === CHART_TYPE.PIE || options._type === CHART_TYPE.DOUGHNUT ? PIECHART_COLORS : BARCHART_COLORS; - options.chartColorsOpacity = options.chartColorsOpacity && !isNaN(options.chartColorsOpacity) ? options.chartColorsOpacity : null; - options.border = options.border && typeof options.border === "object" ? options.border : null; - if (options.border && (!options.border.pt || isNaN(options.border.pt))) - options.border.pt = DEF_CHART_BORDER.pt; - if (options.border && (!options.border.color || typeof options.border.color !== "string")) - options.border.color = DEF_CHART_BORDER.color; - options.plotArea = options.plotArea || {}; - options.plotArea.border = options.plotArea.border && typeof options.plotArea.border === "object" ? options.plotArea.border : null; - if (options.plotArea.border && (!options.plotArea.border.pt || isNaN(options.plotArea.border.pt))) - options.plotArea.border.pt = DEF_CHART_BORDER.pt; - if (options.plotArea.border && (!options.plotArea.border.color || typeof options.plotArea.border.color !== "string")) { - options.plotArea.border.color = DEF_CHART_BORDER.color; - } - if (options.border) - options.plotArea.border = options.border; - options.plotArea.fill = options.plotArea.fill || { color: null, transparency: null }; - if (options.fill) - options.plotArea.fill.color = options.fill; - options.chartArea = options.chartArea || {}; - options.chartArea.border = options.chartArea.border && typeof options.chartArea.border === "object" ? options.chartArea.border : null; - if (options.chartArea.border) { - options.chartArea.border = { - color: options.chartArea.border.color || DEF_CHART_BORDER.color, - pt: options.chartArea.border.pt || DEF_CHART_BORDER.pt - }; - } - options.chartArea.roundedCorners = typeof options.chartArea.roundedCorners === "boolean" ? options.chartArea.roundedCorners : true; - options.dataBorder = options.dataBorder && typeof options.dataBorder === "object" ? options.dataBorder : null; - if (options.dataBorder && (!options.dataBorder.pt || isNaN(options.dataBorder.pt))) - options.dataBorder.pt = 0.75; - if (options.dataBorder && options.dataBorder.color) { - const isHexColor = typeof options.dataBorder.color === "string" && options.dataBorder.color.length === 6 && /^[0-9A-Fa-f]{6}$/.test(options.dataBorder.color); - const isSchemeColor = Object.values(SCHEME_COLOR_NAMES).includes(options.dataBorder.color); - if (!isHexColor && !isSchemeColor) { - options.dataBorder.color = "F9F9F9"; - } - } - if (!options.dataLabelFormatCode && options._type === CHART_TYPE.SCATTER) - options.dataLabelFormatCode = "General"; - if (!options.dataLabelFormatCode && (options._type === CHART_TYPE.PIE || options._type === CHART_TYPE.DOUGHNUT)) { - options.dataLabelFormatCode = options.showPercent ? "0%" : "General"; - } - options.dataLabelFormatCode = options.dataLabelFormatCode && typeof options.dataLabelFormatCode === "string" ? options.dataLabelFormatCode : "#,##0"; - if (!options.dataLabelFormatScatter && options._type === CHART_TYPE.SCATTER) - options.dataLabelFormatScatter = "custom"; - options.lineSize = typeof options.lineSize === "number" ? options.lineSize : 2; - options.valAxisMajorUnit = typeof options.valAxisMajorUnit === "number" ? options.valAxisMajorUnit : null; - if (options._type === CHART_TYPE.AREA || options._type === CHART_TYPE.BAR || options._type === CHART_TYPE.BAR3D || options._type === CHART_TYPE.LINE) { - options.catAxisMultiLevelLabels = !!options.catAxisMultiLevelLabels; - } else { - delete options.catAxisMultiLevelLabels; - } - resultObject._type = "chart"; - resultObject.options = options; - resultObject.chartRid = getNewRelId(target); - target._relsChart.push({ - rId: getNewRelId(target), - data: tmpData, - opts: options, - type: options._type, - globalId: chartId, - fileName: `chart${chartId}.xml`, - Target: `/ppt/charts/chart${chartId}.xml` - }); - target._slideObjects.push(resultObject); - return resultObject; -} -function addImageDefinition(target, opt) { - const newObject = { - _type: null, - text: null, - options: null, - image: null, - imageRid: null, - hyperlink: null - }; - const intPosX = opt.x || 0; - const intPosY = opt.y || 0; - const intWidth = opt.w || 0; - const intHeight = opt.h || 0; - const sizing = opt.sizing || null; - const objHyperlink = opt.hyperlink || ""; - const strImageData = opt.data || ""; - const strImagePath = opt.path || ""; - let imageRelId = getNewRelId(target); - const objectName = opt.objectName ? encodeXmlEntities(opt.objectName) : `Image ${target._slideObjects.filter((obj) => obj._type === SLIDE_OBJECT_TYPES.image).length}`; - if (!strImagePath && !strImageData) { - console.error("ERROR: addImage() requires either 'data' or 'path' parameter!"); - return null; - } else if (strImagePath && typeof strImagePath !== "string") { - console.error(`ERROR: addImage() 'path' should be a string, ex: {path:'/img/sample.png'} - you sent ${String(strImagePath)}`); - return null; - } else if (strImageData && typeof strImageData !== "string") { - console.error(`ERROR: addImage() 'data' should be a string, ex: {data:'image/png;base64,NMP[...]'} - you sent ${String(strImageData)}`); - return null; - } else if (strImageData && typeof strImageData === "string" && !strImageData.toLowerCase().includes("base64,")) { - console.error("ERROR: Image `data` value lacks a base64 header! Ex: 'image/png;base64,NMP[...]')"); - return null; - } - let strImgExtn = (strImagePath.substring(strImagePath.lastIndexOf("/") + 1).split("?")[0].split(".").pop().split("#")[0] || "png").toLowerCase(); - if (strImageData && /image\/(\w+);/.exec(strImageData) && /image\/(\w+);/.exec(strImageData).length > 0) { - strImgExtn = /image\/(\w+);/.exec(strImageData)[1]; - } else if (strImageData === null || strImageData === void 0 ? void 0 : strImageData.toLowerCase().includes("image/svg+xml")) { - strImgExtn = "svg"; - } - newObject._type = SLIDE_OBJECT_TYPES.image; - newObject.image = strImagePath || "preencoded.png"; - newObject.options = { - x: intPosX || 0, - y: intPosY || 0, - w: intWidth || 1, - h: intHeight || 1, - altText: opt.altText || "", - rounding: typeof opt.rounding === "boolean" ? opt.rounding : false, - sizing, - placeholder: opt.placeholder, - rotate: opt.rotate || 0, - flipV: opt.flipV || false, - flipH: opt.flipH || false, - transparency: opt.transparency || 0, - objectName, - shadow: correctShadowOptions(opt.shadow) - }; - if (strImgExtn === "svg") { - target._relsMedia.push({ - path: strImagePath || strImageData + "png", - type: "image/png", - extn: "png", - data: strImageData || "", - rId: imageRelId, - Target: `../media/image-${target._slideNum}-${target._relsMedia.length + 1}.png`, - isSvgPng: true, - svgSize: { w: getSmartParseNumber(newObject.options.w, "X", target._presLayout), h: getSmartParseNumber(newObject.options.h, "Y", target._presLayout) } - }); - newObject.imageRid = imageRelId; - target._relsMedia.push({ - path: strImagePath || strImageData, - type: "image/svg+xml", - extn: strImgExtn, - data: strImageData || "", - rId: imageRelId + 1, - Target: `../media/image-${target._slideNum}-${target._relsMedia.length + 1}.${strImgExtn}` - }); - newObject.imageRid = imageRelId + 1; - } else { - const dupeItem = target._relsMedia.filter((item) => item.path && item.path === strImagePath && item.type === "image/" + strImgExtn && !item.isDuplicate)[0]; - target._relsMedia.push({ - path: strImagePath || "preencoded." + strImgExtn, - type: "image/" + strImgExtn, - extn: strImgExtn, - data: strImageData || "", - rId: imageRelId, - isDuplicate: !!(dupeItem === null || dupeItem === void 0 ? void 0 : dupeItem.Target), - Target: (dupeItem === null || dupeItem === void 0 ? void 0 : dupeItem.Target) ? dupeItem.Target : `../media/image-${target._slideNum}-${target._relsMedia.length + 1}.${strImgExtn}` - }); - newObject.imageRid = imageRelId; - } - if (typeof objHyperlink === "object") { - if (!objHyperlink.url && !objHyperlink.slide) - throw new Error("ERROR: `hyperlink` option requires either: `url` or `slide`"); - else { - imageRelId++; - target._rels.push({ - type: SLIDE_OBJECT_TYPES.hyperlink, - data: objHyperlink.slide ? "slide" : "dummy", - rId: imageRelId, - Target: objHyperlink.url || objHyperlink.slide.toString() - }); - objHyperlink._rId = imageRelId; - newObject.hyperlink = objHyperlink; - } - } - target._slideObjects.push(newObject); -} -function addMediaDefinition(target, opt) { - const intPosX = opt.x || 0; - const intPosY = opt.y || 0; - const intSizeX = opt.w || 2; - const intSizeY = opt.h || 2; - const strData = opt.data || ""; - const strLink = opt.link || ""; - const strPath = opt.path || ""; - const strType = opt.type || "audio"; - let strExtn = ""; - const strCover = opt.cover || IMG_PLAYBTN; - const objectName = opt.objectName ? encodeXmlEntities(opt.objectName) : `Media ${target._slideObjects.filter((obj) => obj._type === SLIDE_OBJECT_TYPES.media).length}`; - const slideData = { _type: SLIDE_OBJECT_TYPES.media }; - if (!strPath && !strData && strType !== "online") { - throw new Error("addMedia() error: either `data` or `path` are required!"); - } else if (strData && !strData.toLowerCase().includes("base64,")) { - throw new Error("addMedia() error: `data` value lacks a base64 header! Ex: 'video/mpeg;base64,NMP[...]')"); - } else if (!strCover.toLowerCase().includes("base64,")) { - throw new Error("addMedia() error: `cover` value lacks a base64 header! Ex: 'data:image/png;base64,iV[...]')"); - } - if (strType === "online" && !strLink) { - throw new Error("addMedia() error: online videos require `link` value"); - } - strExtn = opt.extn || (strData ? strData.split(";")[0].split("/")[1] : strPath.split(".").pop()) || "mp3"; - slideData.mtype = strType; - slideData.media = strPath || "preencoded.mov"; - slideData.options = {}; - slideData.options.x = intPosX; - slideData.options.y = intPosY; - slideData.options.w = intSizeX; - slideData.options.h = intSizeY; - slideData.options.objectName = objectName; - if (strType === "online") { - const relId1 = getNewRelId(target); - target._relsMedia.push({ - path: strPath || "preencoded" + strExtn, - data: "dummy", - type: "online", - extn: strExtn, - rId: relId1, - Target: strLink - }); - slideData.mediaRid = relId1; - target._relsMedia.push({ - path: "preencoded.png", - data: strCover, - type: "image/png", - extn: "png", - rId: getNewRelId(target), - Target: `../media/image-${target._slideNum}-${target._relsMedia.length + 1}.png` - }); - } else { - const dupeItem = target._relsMedia.filter((item) => item.path && item.path === strPath && item.type === strType + "/" + strExtn && !item.isDuplicate)[0]; - const relId1 = getNewRelId(target); - target._relsMedia.push({ - path: strPath || "preencoded" + strExtn, - type: strType + "/" + strExtn, - extn: strExtn, - data: strData || "", - rId: relId1, - isDuplicate: !!(dupeItem === null || dupeItem === void 0 ? void 0 : dupeItem.Target), - Target: (dupeItem === null || dupeItem === void 0 ? void 0 : dupeItem.Target) ? dupeItem.Target : `../media/media-${target._slideNum}-${target._relsMedia.length + 1}.${strExtn}` - }); - slideData.mediaRid = relId1; - target._relsMedia.push({ - path: strPath || "preencoded" + strExtn, - type: strType + "/" + strExtn, - extn: strExtn, - data: strData || "", - rId: getNewRelId(target), - isDuplicate: !!(dupeItem === null || dupeItem === void 0 ? void 0 : dupeItem.Target), - Target: (dupeItem === null || dupeItem === void 0 ? void 0 : dupeItem.Target) ? dupeItem.Target : `../media/media-${target._slideNum}-${target._relsMedia.length + 0}.${strExtn}` - }); - target._relsMedia.push({ - path: "preencoded.png", - type: "image/png", - extn: "png", - data: strCover, - rId: getNewRelId(target), - Target: `../media/image-${target._slideNum}-${target._relsMedia.length + 1}.png` - }); - } - target._slideObjects.push(slideData); -} -function addNotesDefinition(target, notes) { - target._slideObjects.push({ - _type: SLIDE_OBJECT_TYPES.notes, - text: [{ text: notes }] - }); -} -function addShapeDefinition(target, shapeName, opts) { - const options = typeof opts === "object" ? opts : {}; - options.line = options.line || { type: "none" }; - const newObject = { - _type: SLIDE_OBJECT_TYPES.text, - shape: shapeName || SHAPE_TYPE.RECTANGLE, - options, - text: null - }; - if (!shapeName) - throw new Error("Missing/Invalid shape parameter! Example: `addShape(pptxgen.shapes.LINE, {x:1, y:1, w:1, h:1});`"); - const newLineOpts = { - type: options.line.type || "solid", - color: options.line.color || DEF_SHAPE_LINE_COLOR, - transparency: options.line.transparency || 0, - width: options.line.width || 1, - dashType: options.line.dashType || "solid", - beginArrowType: options.line.beginArrowType || null, - endArrowType: options.line.endArrowType || null - }; - if (typeof options.line === "object" && options.line.type !== "none") - options.line = newLineOpts; - options.x = options.x || (options.x === 0 ? 0 : 1); - options.y = options.y || (options.y === 0 ? 0 : 1); - options.w = options.w || (options.w === 0 ? 0 : 1); - options.h = options.h || (options.h === 0 ? 0 : 1); - options.objectName = options.objectName ? encodeXmlEntities(options.objectName) : `Shape ${target._slideObjects.filter((obj) => obj._type === SLIDE_OBJECT_TYPES.text).length}`; - if (typeof options.line === "string") { - const tmpOpts = newLineOpts; - tmpOpts.color = String(options.line); - options.line = tmpOpts; - } - if (typeof options.lineSize === "number") - options.line.width = options.lineSize; - if (typeof options.lineDash === "string") - options.line.dashType = options.lineDash; - if (typeof options.lineHead === "string") - options.line.beginArrowType = options.lineHead; - if (typeof options.lineTail === "string") - options.line.endArrowType = options.lineTail; - createHyperlinkRels(target, newObject); - target._slideObjects.push(newObject); -} -function addTableDefinition(target, tableRows, options, slideLayout, presLayout, addSlide, getSlide) { - const slides = [target]; - const opt = options && typeof options === "object" ? options : {}; - opt.objectName = opt.objectName ? encodeXmlEntities(opt.objectName) : `Table ${target._slideObjects.filter((obj) => obj._type === SLIDE_OBJECT_TYPES.table).length}`; - { - if (tableRows === null || tableRows.length === 0 || !Array.isArray(tableRows)) { - throw new Error("addTable: Array expected! EX: 'slide.addTable( [rows], {options} );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)"); - } - if (!tableRows[0] || !Array.isArray(tableRows[0])) { - throw new Error("addTable: 'rows' should be an array of cells! EX: 'slide.addTable( [ ['A'], ['B'], {text:'C',options:{align:'center'}} ] );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)"); - } - } - const arrRows = []; - tableRows.forEach((row) => { - const newRow = []; - if (Array.isArray(row)) { - row.forEach((cell) => { - const newCell = { - _type: SLIDE_OBJECT_TYPES.tablecell, - text: "", - options: typeof cell === "object" && cell.options ? cell.options : {} - }; - if (typeof cell === "string" || typeof cell === "number") - newCell.text = cell.toString(); - else if (cell.text) { - if (typeof cell.text === "string" || typeof cell.text === "number") - newCell.text = cell.text.toString(); - else if (cell.text) - newCell.text = cell.text; - if (cell.options && typeof cell.options === "object") - newCell.options = cell.options; - } - newCell.options.border = newCell.options.border || opt.border || [{ type: "none" }, { type: "none" }, { type: "none" }, { type: "none" }]; - const cellBorder = newCell.options.border; - if (!Array.isArray(cellBorder) && typeof cellBorder === "object") - newCell.options.border = [cellBorder, cellBorder, cellBorder, cellBorder]; - if (!newCell.options.border[0]) - newCell.options.border[0] = { type: "none" }; - if (!newCell.options.border[1]) - newCell.options.border[1] = { type: "none" }; - if (!newCell.options.border[2]) - newCell.options.border[2] = { type: "none" }; - if (!newCell.options.border[3]) - newCell.options.border[3] = { type: "none" }; - const arrSides = [0, 1, 2, 3]; - arrSides.forEach((idx) => { - newCell.options.border[idx] = { - type: newCell.options.border[idx].type || DEF_CELL_BORDER.type, - color: newCell.options.border[idx].color || DEF_CELL_BORDER.color, - pt: typeof newCell.options.border[idx].pt === "number" ? newCell.options.border[idx].pt : DEF_CELL_BORDER.pt - }; - }); - newRow.push(newCell); - }); - } else { - console.log("addTable: tableRows has a bad row. A row should be an array of cells. You provided:"); - console.log(row); - } - arrRows.push(newRow); - }); - opt.x = getSmartParseNumber(opt.x || (opt.x === 0 ? 0 : EMU / 2), "X", presLayout); - opt.y = getSmartParseNumber(opt.y || (opt.y === 0 ? 0 : EMU / 2), "Y", presLayout); - if (opt.h) - opt.h = getSmartParseNumber(opt.h, "Y", presLayout); - opt.fontSize = opt.fontSize || DEF_FONT_SIZE; - opt.margin = opt.margin === 0 || opt.margin ? opt.margin : DEF_CELL_MARGIN_IN; - if (typeof opt.margin === "number") - opt.margin = [Number(opt.margin), Number(opt.margin), Number(opt.margin), Number(opt.margin)]; - if (JSON.stringify({ arrRows }).indexOf("hyperlink") === -1) { - if (!opt.color) - opt.color = opt.color || DEF_FONT_COLOR; - } - if (typeof opt.border === "string") { - console.warn("addTable `border` option must be an object. Ex: `{border: {type:'none'}}`"); - opt.border = null; - } else if (Array.isArray(opt.border)) { - [0, 1, 2, 3].forEach((idx) => { - opt.border[idx] = opt.border[idx] ? { type: opt.border[idx].type || DEF_CELL_BORDER.type, color: opt.border[idx].color || DEF_CELL_BORDER.color, pt: opt.border[idx].pt || DEF_CELL_BORDER.pt } : { type: "none" }; - }); - } - opt.autoPage = typeof opt.autoPage === "boolean" ? opt.autoPage : false; - opt.autoPageRepeatHeader = typeof opt.autoPageRepeatHeader === "boolean" ? opt.autoPageRepeatHeader : false; - opt.autoPageHeaderRows = typeof opt.autoPageHeaderRows !== "undefined" && !isNaN(Number(opt.autoPageHeaderRows)) ? Number(opt.autoPageHeaderRows) : 1; - opt.autoPageLineWeight = typeof opt.autoPageLineWeight !== "undefined" && !isNaN(Number(opt.autoPageLineWeight)) ? Number(opt.autoPageLineWeight) : 0; - if (opt.autoPageLineWeight) { - if (opt.autoPageLineWeight > 1) - opt.autoPageLineWeight = 1; - else if (opt.autoPageLineWeight < -1) - opt.autoPageLineWeight = -1; - } - let arrTableMargin = DEF_SLIDE_MARGIN_IN; - if (slideLayout && typeof slideLayout._margin !== "undefined") { - if (Array.isArray(slideLayout._margin)) - arrTableMargin = slideLayout._margin; - else if (!isNaN(Number(slideLayout._margin))) { - arrTableMargin = [Number(slideLayout._margin), Number(slideLayout._margin), Number(slideLayout._margin), Number(slideLayout._margin)]; - } - } - if (opt.colW) { - const firstRowColCnt = arrRows[0].reduce((totalLen, c) => { - var _a; - if (((_a = c === null || c === void 0 ? void 0 : c.options) === null || _a === void 0 ? void 0 : _a.colspan) && typeof c.options.colspan === "number") { - totalLen += c.options.colspan; - } else { - totalLen += 1; - } - return totalLen; - }, 0); - if (typeof opt.colW === "string" || typeof opt.colW === "number") { - opt.w = Math.floor(Number(opt.colW) * firstRowColCnt); - opt.colW = null; - } else if (opt.colW && Array.isArray(opt.colW) && opt.colW.length === 1 && firstRowColCnt > 1) { - opt.w = Math.floor(Number(opt.colW) * firstRowColCnt); - opt.colW = null; - } else if (opt.colW && Array.isArray(opt.colW) && opt.colW.length !== firstRowColCnt) { - console.warn("addTable: mismatch: (colW.length != data.length) Therefore, defaulting to evenly distributed col widths."); - opt.colW = null; - } - } else if (opt.w) { - opt.w = getSmartParseNumber(opt.w, "X", presLayout); - } else { - opt.w = Math.floor(presLayout._sizeW / EMU - arrTableMargin[1] - arrTableMargin[3]); - } - if (opt.x && opt.x < 20) - opt.x = inch2Emu(opt.x); - if (opt.y && opt.y < 20) - opt.y = inch2Emu(opt.y); - if (opt.w && typeof opt.w === "number" && opt.w < 20) - opt.w = inch2Emu(opt.w); - if (opt.h && typeof opt.h === "number" && opt.h < 20) - opt.h = inch2Emu(opt.h); - arrRows.forEach((row) => { - row.forEach((cell, idy) => { - if (typeof cell === "number" || typeof cell === "string") { - row[idy] = { _type: SLIDE_OBJECT_TYPES.tablecell, text: String(row[idy]), options: opt }; - } else if (typeof cell === "object") { - if (typeof cell.text === "number") - row[idy].text = row[idy].text.toString(); - else if (typeof cell.text === "undefined" || cell.text === null) - row[idy].text = ""; - row[idy].options = cell.options || {}; - row[idy]._type = SLIDE_OBJECT_TYPES.tablecell; - } - }); - }); - const newAutoPagedSlides = []; - if (opt && !opt.autoPage) { - createHyperlinkRels(target, arrRows); - target._slideObjects.push({ - _type: SLIDE_OBJECT_TYPES.table, - arrTabRows: arrRows, - options: Object.assign({}, opt) - }); - } else { - if (opt.autoPageRepeatHeader) - opt._arrObjTabHeadRows = arrRows.filter((_row, idx) => idx < opt.autoPageHeaderRows); - getSlidesForTableRows(arrRows, opt, presLayout, slideLayout).forEach((slide, idx) => { - if (!getSlide(target._slideNum + idx)) - slides.push(addSlide({ masterName: (slideLayout === null || slideLayout === void 0 ? void 0 : slideLayout._name) || null })); - if (idx > 0) - opt.y = inch2Emu(opt.autoPageSlideStartY || opt.newSlideStartY || arrTableMargin[0]); - { - const newSlide = getSlide(target._slideNum + idx); - opt.autoPage = false; - createHyperlinkRels(newSlide, slide.rows); - newSlide.addTable(slide.rows, Object.assign({}, opt)); - if (idx > 0) - newAutoPagedSlides.push(newSlide); - } - }); - } - return newAutoPagedSlides; -} -function addTextDefinition(target, text, opts, isPlaceholder) { - const newObject = { - _type: isPlaceholder ? SLIDE_OBJECT_TYPES.placeholder : SLIDE_OBJECT_TYPES.text, - shape: (opts === null || opts === void 0 ? void 0 : opts.shape) || SHAPE_TYPE.RECTANGLE, - text: !text || text.length === 0 ? [{ text: "", options: null }] : text, - options: opts || {} - }; - function cleanOpts(itemOpts) { - { - if (!itemOpts.placeholder) { - itemOpts.color = itemOpts.color || newObject.options.color || target.color || DEF_FONT_COLOR; - } - if (itemOpts.placeholder || isPlaceholder) { - itemOpts.bullet = itemOpts.bullet || false; - } - if (itemOpts.placeholder && target._slideLayout && target._slideLayout._slideObjects) { - const placeHold = target._slideLayout._slideObjects.filter((item) => item._type === "placeholder" && item.options && item.options.placeholder && item.options.placeholder === itemOpts.placeholder)[0]; - if (placeHold === null || placeHold === void 0 ? void 0 : placeHold.options) - itemOpts = Object.assign(Object.assign({}, itemOpts), placeHold.options); - } - itemOpts.objectName = itemOpts.objectName ? encodeXmlEntities(itemOpts.objectName) : `Text ${target._slideObjects.filter((obj) => obj._type === SLIDE_OBJECT_TYPES.text).length}`; - if (itemOpts.shape === SHAPE_TYPE.LINE) { - const newLineOpts = { - type: itemOpts.line.type || "solid", - color: itemOpts.line.color || DEF_SHAPE_LINE_COLOR, - transparency: itemOpts.line.transparency || 0, - width: itemOpts.line.width || 1, - dashType: itemOpts.line.dashType || "solid", - beginArrowType: itemOpts.line.beginArrowType || null, - endArrowType: itemOpts.line.endArrowType || null - }; - if (typeof itemOpts.line === "object") - itemOpts.line = newLineOpts; - if (typeof itemOpts.line === "string") { - const tmpOpts = newLineOpts; - if (typeof itemOpts.line === "string") - tmpOpts.color = itemOpts.line; - itemOpts.line = tmpOpts; - } - if (typeof itemOpts.lineSize === "number") - itemOpts.line.width = itemOpts.lineSize; - if (typeof itemOpts.lineDash === "string") - itemOpts.line.dashType = itemOpts.lineDash; - if (typeof itemOpts.lineHead === "string") - itemOpts.line.beginArrowType = itemOpts.lineHead; - if (typeof itemOpts.lineTail === "string") - itemOpts.line.endArrowType = itemOpts.lineTail; - } - itemOpts.line = itemOpts.line || {}; - itemOpts.lineSpacing = itemOpts.lineSpacing && !isNaN(itemOpts.lineSpacing) ? itemOpts.lineSpacing : null; - itemOpts.lineSpacingMultiple = itemOpts.lineSpacingMultiple && !isNaN(itemOpts.lineSpacingMultiple) ? itemOpts.lineSpacingMultiple : null; - itemOpts._bodyProp = itemOpts._bodyProp || {}; - itemOpts._bodyProp.autoFit = itemOpts.autoFit || false; - itemOpts._bodyProp.anchor = !itemOpts.placeholder ? TEXT_VALIGN.ctr : null; - itemOpts._bodyProp.vert = itemOpts.vert || null; - itemOpts._bodyProp.wrap = typeof itemOpts.wrap === "boolean" ? itemOpts.wrap : true; - if (itemOpts.inset && !isNaN(Number(itemOpts.inset)) || itemOpts.inset === 0) { - itemOpts._bodyProp.lIns = inch2Emu(itemOpts.inset); - itemOpts._bodyProp.rIns = inch2Emu(itemOpts.inset); - itemOpts._bodyProp.tIns = inch2Emu(itemOpts.inset); - itemOpts._bodyProp.bIns = inch2Emu(itemOpts.inset); - } - if (typeof itemOpts.underline === "boolean" && itemOpts.underline === true) - itemOpts.underline = { style: "sng" }; - } - { - if ((itemOpts.align || "").toLowerCase().indexOf("c") === 0) - itemOpts._bodyProp.align = TEXT_HALIGN.center; - else if ((itemOpts.align || "").toLowerCase().indexOf("l") === 0) - itemOpts._bodyProp.align = TEXT_HALIGN.left; - else if ((itemOpts.align || "").toLowerCase().indexOf("r") === 0) - itemOpts._bodyProp.align = TEXT_HALIGN.right; - else if ((itemOpts.align || "").toLowerCase().indexOf("j") === 0) - itemOpts._bodyProp.align = TEXT_HALIGN.justify; - if ((itemOpts.valign || "").toLowerCase().indexOf("b") === 0) - itemOpts._bodyProp.anchor = TEXT_VALIGN.b; - else if ((itemOpts.valign || "").toLowerCase().indexOf("m") === 0) - itemOpts._bodyProp.anchor = TEXT_VALIGN.ctr; - else if ((itemOpts.valign || "").toLowerCase().indexOf("t") === 0) - itemOpts._bodyProp.anchor = TEXT_VALIGN.t; - } - correctShadowOptions(itemOpts.shadow); - return itemOpts; - } - newObject.options = cleanOpts(newObject.options); - newObject.text.forEach((item) => item.options = cleanOpts(item.options || {})); - createHyperlinkRels(target, newObject.text || ""); - target._slideObjects.push(newObject); -} -function addPlaceholdersToSlideLayouts(slide) { - (slide._slideLayout._slideObjects || []).forEach((slideLayoutObj) => { - if (slideLayoutObj._type === SLIDE_OBJECT_TYPES.placeholder) { - if (slide._slideObjects.filter((slideObj) => slideObj.options && slideObj.options.placeholder === slideLayoutObj.options.placeholder).length === 0) { - addTextDefinition(slide, [{ text: "" }], slideLayoutObj.options, false); - } - } - }); -} -function addBackgroundDefinition(props, target) { - var _a; - if (target.bkgd) { - if (!target.background) - target.background = {}; - if (typeof target.bkgd === "string") - target.background.color = target.bkgd; - else { - if (target.bkgd.data) - target.background.data = target.bkgd.data; - if (target.bkgd.path) - target.background.path = target.bkgd.path; - if (target.bkgd.src) - target.background.path = target.bkgd.src; - } - } - if ((_a = target.background) === null || _a === void 0 ? void 0 : _a.fill) - target.background.color = target.background.fill; - if (props && (props.path || props.data)) { - props.path = props.path || "preencoded.png"; - let strImgExtn = (props.path.split(".").pop() || "png").split("?")[0]; - if (strImgExtn === "jpg") - strImgExtn = "jpeg"; - target._relsMedia = target._relsMedia || []; - const intRels = target._relsMedia.length + 1; - target._relsMedia.push({ - path: props.path, - type: SLIDE_OBJECT_TYPES.image, - extn: strImgExtn, - data: props.data || null, - rId: intRels, - Target: `../media/${(target._name || "").replace(/\s+/gi, "-")}-image-${target._relsMedia.length + 1}.${strImgExtn}` - }); - target._bkgdImgRid = intRels; - } -} -function createHyperlinkRels(target, text, options) { - let textObjs = []; - if (typeof text === "string" || typeof text === "number") - return; - else if (Array.isArray(text)) - textObjs = text; - else if (typeof text === "object") - textObjs = [text]; - textObjs.forEach((text2, idx) => { - if (options && options[idx] && options[idx].hyperlink) - text2.options = Object.assign(Object.assign({}, text2.options), options[idx]); - if (Array.isArray(text2)) { - const cellOpts = []; - text2.forEach((tablecell) => { - if (tablecell.options && !tablecell.text.options) { - cellOpts.push(tablecell.options); - } - }); - createHyperlinkRels(target, text2, cellOpts); - } else if (Array.isArray(text2.text)) { - createHyperlinkRels(target, text2.text, options && options[idx] ? [options[idx]] : void 0); - } else if (text2 && typeof text2 === "object" && text2.options && text2.options.hyperlink && !text2.options.hyperlink._rId) { - if (typeof text2.options.hyperlink !== "object") { - console.log("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink: {url:'https://github.com'}` "); - } else if (!text2.options.hyperlink.url && !text2.options.hyperlink.slide) { - console.log("ERROR: 'hyperlink requires either: `url` or `slide`'"); - } else { - const relId = getNewRelId(target); - target._rels.push({ - type: SLIDE_OBJECT_TYPES.hyperlink, - data: text2.options.hyperlink.slide ? "slide" : "dummy", - rId: relId, - Target: encodeXmlEntities(text2.options.hyperlink.url) || text2.options.hyperlink.slide.toString() - }); - text2.options.hyperlink._rId = relId; - } - } else if (text2 && typeof text2 === "object" && text2.options && text2.options.hyperlink && text2.options.hyperlink._rId) { - if (target._rels.filter((rel) => rel.rId === text2.options.hyperlink._rId).length === 0) { - target._rels.push({ - type: SLIDE_OBJECT_TYPES.hyperlink, - data: text2.options.hyperlink.slide ? "slide" : "dummy", - rId: text2.options.hyperlink._rId, - Target: encodeXmlEntities(text2.options.hyperlink.url) || text2.options.hyperlink.slide.toString() - }); - } - } - }); -} -var Slide = class { - constructor(params) { - var _a; - this.addSlide = params.addSlide; - this.getSlide = params.getSlide; - this._name = `Slide ${params.slideNumber}`; - this._presLayout = params.presLayout; - this._rId = params.slideRId; - this._rels = []; - this._relsChart = []; - this._relsMedia = []; - this._setSlideNum = params.setSlideNum; - this._slideId = params.slideId; - this._slideLayout = params.slideLayout || null; - this._slideNum = params.slideNumber; - this._slideObjects = []; - this._slideNumberProps = ((_a = this._slideLayout) === null || _a === void 0 ? void 0 : _a._slideNumberProps) ? this._slideLayout._slideNumberProps : null; - } - set bkgd(value) { - this._bkgd = value; - if (!this._background || !this._background.color) { - if (!this._background) - this._background = {}; - if (typeof value === "string") - this._background.color = value; - } - } - get bkgd() { - return this._bkgd; - } - set background(props) { - this._background = props; - if (props) - addBackgroundDefinition(props, this); - } - get background() { - return this._background; - } - set color(value) { - this._color = value; - } - get color() { - return this._color; - } - set hidden(value) { - this._hidden = value; - } - get hidden() { - return this._hidden; - } - /** - * @type {SlideNumberProps} - */ - set slideNumber(value) { - this._slideNumberProps = value; - this._setSlideNum(value); - } - get slideNumber() { - return this._slideNumberProps; - } - get newAutoPagedSlides() { - return this._newAutoPagedSlides; - } - /** - * Add chart to Slide - * @param {CHART_NAME|IChartMulti[]} type - chart type - * @param {object[]} data - data object - * @param {IChartOpts} options - chart options - * @return {Slide} this Slide - */ - addChart(type, data, options) { - const optionsWithType = options || {}; - optionsWithType._type = type; - addChartDefinition(this, type, data, options); - return this; - } - /** - * Add image to Slide - * @param {ImageProps} options - image options - * @return {Slide} this Slide - */ - addImage(options) { - addImageDefinition(this, options); - return this; - } - /** - * Add media (audio/video) to Slide - * @param {MediaProps} options - media options - * @return {Slide} this Slide - */ - addMedia(options) { - addMediaDefinition(this, options); - return this; - } - /** - * Add speaker notes to Slide - * @docs https://gitbrent.github.io/PptxGenJS/docs/speaker-notes.html - * @param {string} notes - notes to add to slide - * @return {Slide} this Slide - */ - addNotes(notes) { - addNotesDefinition(this, notes); - return this; - } - /** - * Add shape to Slide - * @param {SHAPE_NAME} shapeName - shape name - * @param {ShapeProps} options - shape options - * @return {Slide} this Slide - */ - addShape(shapeName, options) { - addShapeDefinition(this, shapeName, options); - return this; - } - /** - * Add table to Slide - * @param {TableRow[]} tableRows - table rows - * @param {TableProps} options - table options - * @return {Slide} this Slide - */ - addTable(tableRows, options) { - this._newAutoPagedSlides = addTableDefinition(this, tableRows, options, this._slideLayout, this._presLayout, this.addSlide, this.getSlide); - return this; - } - /** - * Add text to Slide - * @param {string|TextProps[]} text - text string or complex object - * @param {TextPropsOptions} options - text options - * @return {Slide} this Slide - */ - addText(text, options) { - const textParam = typeof text === "string" || typeof text === "number" ? [{ text, options }] : text; - addTextDefinition(this, textParam, options, false); - return this; - } -}; -function createExcelWorksheet(chartObject, zip) { - return __awaiter2(this, void 0, void 0, function* () { - const data = chartObject.data; - return yield new Promise((resolve, reject) => { - var _a, _b; - const zipExcel = new import_jszip.default(); - const intBubbleCols = (data.length - 1) * 2 + 1; - const IS_MULTI_CAT_AXES = ((_b = (_a = data[0]) === null || _a === void 0 ? void 0 : _a.labels) === null || _b === void 0 ? void 0 : _b.length) > 1; - zipExcel.folder("_rels"); - zipExcel.folder("docProps"); - zipExcel.folder("xl/_rels"); - zipExcel.folder("xl/tables"); - zipExcel.folder("xl/theme"); - zipExcel.folder("xl/worksheets"); - zipExcel.folder("xl/worksheets/_rels"); - { - zipExcel.file("[Content_Types].xml", ' \n'); - zipExcel.file("_rels/.rels", '\n'); - zipExcel.file("docProps/app.xml", 'Microsoft Macintosh Excel0falseWorksheets1Sheet1falsefalsefalse16.0300\n'); - zipExcel.file("docProps/core.xml", 'PptxGenJSPptxGenJS' + (/* @__PURE__ */ new Date()).toISOString() + '' + (/* @__PURE__ */ new Date()).toISOString() + ""); - zipExcel.file("xl/_rels/workbook.xml.rels", ''); - zipExcel.file("xl/styles.xml", '\n'); - zipExcel.file("xl/theme/theme1.xml", ''); - zipExcel.file("xl/workbook.xml", '\n'); - zipExcel.file("xl/worksheets/_rels/sheet1.xml.rels", '\n'); - } - { - let strSharedStrings = ''; - if (chartObject.opts._type === CHART_TYPE.BUBBLE || chartObject.opts._type === CHART_TYPE.BUBBLE3D) { - strSharedStrings += ``; - } else if (chartObject.opts._type === CHART_TYPE.SCATTER) { - strSharedStrings += ``; - } else if (IS_MULTI_CAT_AXES) { - let totCount = data.length; - data[0].labels.forEach((arrLabel) => totCount += arrLabel.filter((label) => label && label !== "").length); - strSharedStrings += ``; - strSharedStrings += ""; - } else { - const totCount = data.length + data[0].labels.length * data[0].labels[0].length + data[0].labels.length; - const unqCount = data.length + data[0].labels.length * data[0].labels[0].length + 1; - strSharedStrings += ``; - strSharedStrings += ''; - } - if (chartObject.opts._type === CHART_TYPE.BUBBLE || chartObject.opts._type === CHART_TYPE.BUBBLE3D) { - data.forEach((objData, idx) => { - if (idx === 0) - strSharedStrings += "X-Axis"; - else { - strSharedStrings += `${encodeXmlEntities(objData.name || `Y-Axis${idx}`)}`; - strSharedStrings += `${encodeXmlEntities(`Size${idx}`)}`; - } - }); - } else { - data.forEach((objData) => { - strSharedStrings += `${encodeXmlEntities((objData.name || " ").replace("X-Axis", "X-Values"))}`; - }); - } - if (chartObject.opts._type !== CHART_TYPE.BUBBLE && chartObject.opts._type !== CHART_TYPE.BUBBLE3D && chartObject.opts._type !== CHART_TYPE.SCATTER) { - data[0].labels.slice().reverse().forEach((labelsGroup) => { - labelsGroup.filter((label) => label && label !== "").forEach((label) => { - strSharedStrings += `${encodeXmlEntities(label)}`; - }); - }); - } - strSharedStrings += "\n"; - zipExcel.file("xl/sharedStrings.xml", strSharedStrings); - } - { - let strTableXml = ''; - if (chartObject.opts._type === CHART_TYPE.BUBBLE || chartObject.opts._type === CHART_TYPE.BUBBLE3D) { - strTableXml += ``; - strTableXml += ``; - let idxColLtr = 1; - data.forEach((obj, idx) => { - if (idx === 0) { - strTableXml += ``; - } else { - strTableXml += ``; - idxColLtr++; - strTableXml += ``; - } - }); - } else if (chartObject.opts._type === CHART_TYPE.SCATTER) { - strTableXml += `
          `; - strTableXml += ``; - data.forEach((_obj, idx) => { - strTableXml += ``; - }); - } else { - strTableXml += `
          `; - strTableXml += ``; - data[0].labels.forEach((_labelsGroup, idx) => { - strTableXml += ``; - }); - data.forEach((obj, idx) => { - strTableXml += ``; - }); - } - strTableXml += ""; - strTableXml += ''; - strTableXml += "
          "; - zipExcel.file("xl/tables/table1.xml", strTableXml); - } - { - let strSheetXml = ''; - strSheetXml += ''; - if (chartObject.opts._type === CHART_TYPE.BUBBLE || chartObject.opts._type === CHART_TYPE.BUBBLE3D) { - strSheetXml += ``; - } else if (chartObject.opts._type === CHART_TYPE.SCATTER) { - strSheetXml += ``; - } else { - strSheetXml += ``; - } - strSheetXml += ''; - strSheetXml += ''; - if (chartObject.opts._type === CHART_TYPE.BUBBLE || chartObject.opts._type === CHART_TYPE.BUBBLE3D) { - strSheetXml += ""; - strSheetXml += ``; - strSheetXml += '0'; - for (let idx = 1; idx < intBubbleCols; idx++) { - strSheetXml += `${idx}`; - } - strSheetXml += ""; - data[0].values.forEach((val, idx) => { - strSheetXml += ``; - strSheetXml += `${val}`; - let idxColLtr = 2; - for (let idy = 1; idy < data.length; idy++) { - strSheetXml += `${data[idy].values[idx] || ""}`; - idxColLtr++; - strSheetXml += `${data[idy].sizes[idx] || ""}`; - idxColLtr++; - } - strSheetXml += ""; - }); - } else if (chartObject.opts._type === CHART_TYPE.SCATTER) { - strSheetXml += ""; - strSheetXml += ``; - for (let idx = 0; idx < data.length; idx++) { - strSheetXml += `${idx}`; - } - strSheetXml += ""; - data[0].values.forEach((val, idx) => { - strSheetXml += ``; - strSheetXml += `${val}`; - for (let idy = 1; idy < data.length; idy++) { - strSheetXml += `${data[idy].values[idx] || data[idy].values[idx] === 0 ? data[idy].values[idx] : ""}`; - } - strSheetXml += ""; - }); - } else { - strSheetXml += ""; - if (!IS_MULTI_CAT_AXES) { - strSheetXml += ``; - data[0].labels.forEach((_labelsGroup, idx) => { - strSheetXml += `0`; - }); - for (let idx = 0; idx < data.length; idx++) { - strSheetXml += `${idx + 1}`; - } - strSheetXml += ""; - data[0].labels[0].forEach((_cat, idx) => { - strSheetXml += ``; - for (let idx2 = data[0].labels.length - 1; idx2 >= 0; idx2--) { - strSheetXml += ``; - strSheetXml += `${data.length + idx + 1}`; - strSheetXml += ""; - } - for (let idy = 0; idy < data.length; idy++) { - strSheetXml += `${data[idy].values[idx] || ""}`; - } - strSheetXml += ""; - }); - } else { - strSheetXml += ``; - for (let idx = 0; idx < data[0].labels.length; idx++) { - strSheetXml += `0`; - } - for (let idx = data[0].labels.length - 1; idx < data.length + data[0].labels.length - 1; idx++) { - strSheetXml += `${idx}`; - } - strSheetXml += ""; - const TOT_SER = data.length; - const TOT_CAT = data[0].labels[0].length; - const TOT_LVL = data[0].labels.length; - for (let idx = 0; idx < TOT_CAT; idx++) { - strSheetXml += ``; - let totLabels = TOT_SER; - const revLabelGroups = data[0].labels.slice().reverse(); - revLabelGroups.forEach((labelsGroup, idy) => { - const colLabel = labelsGroup[idx]; - if (colLabel) { - const totGrpLbls = idy === 0 ? 1 : revLabelGroups[idy - 1].filter((label) => label && label !== "").length; - totLabels += totGrpLbls; - strSheetXml += `${totLabels}`; - } - }); - for (let idy = 0; idy < TOT_SER; idy++) { - strSheetXml += `${data[idy].values[idx] || 0}`; - } - strSheetXml += ""; - } - } - } - strSheetXml += ""; - strSheetXml += ''; - strSheetXml += "\n"; - zipExcel.file("xl/worksheets/sheet1.xml", strSheetXml); - } - zipExcel.generateAsync({ type: "base64" }).then((content) => { - zip.file(`ppt/embeddings/Microsoft_Excel_Worksheet${chartObject.globalId}.xlsx`, content, { base64: true }); - zip.file("ppt/charts/_rels/" + chartObject.fileName + ".rels", ``); - zip.file(`ppt/charts/${chartObject.fileName}`, makeXmlCharts(chartObject)); - resolve(""); - }).catch((strErr) => { - reject(strErr); - }); - }); - }); -} -function makeXmlCharts(rel) { - var _a, _b, _c, _d; - let strXml = ''; - let usesSecondaryValAxis = false; - { - strXml += ''; - strXml += ''; - strXml += ``; - strXml += ""; - if (rel.opts.showTitle) { - strXml += genXmlTitle({ - title: rel.opts.title || "Chart Title", - color: rel.opts.titleColor, - fontFace: rel.opts.titleFontFace, - fontSize: rel.opts.titleFontSize || DEF_FONT_TITLE_SIZE, - titleAlign: rel.opts.titleAlign, - titleBold: rel.opts.titleBold, - titlePos: rel.opts.titlePos, - titleRotate: rel.opts.titleRotate - }, rel.opts.x, rel.opts.y); - strXml += ''; - } else { - strXml += ''; - } - if (rel.opts._type === CHART_TYPE.BAR3D) { - strXml += ``; - } - strXml += ""; - if (rel.opts.layout) { - strXml += ""; - strXml += " "; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += " "; - strXml += ""; - } else { - strXml += ""; - } - } - if (Array.isArray(rel.opts._type)) { - rel.opts._type.forEach((type) => { - const options = Object.assign(Object.assign({}, rel.opts), type.options); - const valAxisId = options.secondaryValAxis ? AXIS_ID_VALUE_SECONDARY : AXIS_ID_VALUE_PRIMARY; - const catAxisId = options.secondaryCatAxis ? AXIS_ID_CATEGORY_SECONDARY : AXIS_ID_CATEGORY_PRIMARY; - usesSecondaryValAxis = usesSecondaryValAxis || options.secondaryValAxis; - strXml += makeChartType(type.type, type.data, options, valAxisId, catAxisId); - }); - } else { - strXml += makeChartType(rel.opts._type, rel.data, rel.opts, AXIS_ID_VALUE_PRIMARY, AXIS_ID_CATEGORY_PRIMARY); - } - if (rel.opts._type !== CHART_TYPE.PIE && rel.opts._type !== CHART_TYPE.DOUGHNUT) { - if (rel.opts.valAxes && rel.opts.valAxes.length > 1 && !usesSecondaryValAxis) { - throw new Error("Secondary axis must be used by one of the multiple charts"); - } - if (rel.opts.catAxes) { - if (!rel.opts.valAxes || rel.opts.valAxes.length !== rel.opts.catAxes.length) { - throw new Error("There must be the same number of value and category axes."); - } - strXml += makeCatAxis(Object.assign(Object.assign({}, rel.opts), rel.opts.catAxes[0]), AXIS_ID_CATEGORY_PRIMARY, AXIS_ID_VALUE_PRIMARY); - } else { - strXml += makeCatAxis(rel.opts, AXIS_ID_CATEGORY_PRIMARY, AXIS_ID_VALUE_PRIMARY); - } - if (rel.opts.valAxes) { - strXml += makeValAxis(Object.assign(Object.assign({}, rel.opts), rel.opts.valAxes[0]), AXIS_ID_VALUE_PRIMARY); - if (rel.opts.valAxes[1]) { - strXml += makeValAxis(Object.assign(Object.assign({}, rel.opts), rel.opts.valAxes[1]), AXIS_ID_VALUE_SECONDARY); - } - } else { - strXml += makeValAxis(rel.opts, AXIS_ID_VALUE_PRIMARY); - if (rel.opts._type === CHART_TYPE.BAR3D) { - strXml += makeSerAxis(rel.opts, AXIS_ID_SERIES_PRIMARY, AXIS_ID_VALUE_PRIMARY); - } - } - if (((_a = rel.opts) === null || _a === void 0 ? void 0 : _a.catAxes) && ((_b = rel.opts) === null || _b === void 0 ? void 0 : _b.catAxes[1])) { - strXml += makeCatAxis(Object.assign(Object.assign({}, rel.opts), rel.opts.catAxes[1]), AXIS_ID_CATEGORY_SECONDARY, AXIS_ID_VALUE_SECONDARY); - } - } - { - if (rel.opts.showDataTable) { - strXml += ""; - strXml += ` `; - strXml += ` `; - strXml += ` `; - strXml += ` `; - strXml += " "; - strXml += " "; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += ' '; - strXml += ` `; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += ""; - } - strXml += " "; - strXml += ((_c = rel.opts.plotArea.fill) === null || _c === void 0 ? void 0 : _c.color) ? genXmlColorSelection(rel.opts.plotArea.fill) : ""; - strXml += rel.opts.plotArea.border ? `${genXmlColorSelection(rel.opts.plotArea.border.color)}` : ""; - strXml += " "; - strXml += " "; - strXml += ""; - if (rel.opts.showLegend) { - strXml += ""; - strXml += ''; - strXml += ''; - if (rel.opts.legendFontFace || rel.opts.legendFontSize || rel.opts.legendColor) { - strXml += ""; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += rel.opts.legendFontSize ? `` : ""; - if (rel.opts.legendColor) - strXml += genXmlColorSelection(rel.opts.legendColor); - if (rel.opts.legendFontFace) - strXml += ''; - if (rel.opts.legendFontFace) - strXml += ''; - strXml += " "; - strXml += " "; - strXml += ' '; - strXml += " "; - strXml += ""; - } - strXml += ""; - } - } - strXml += ' '; - strXml += ' '; - if (rel.opts._type === CHART_TYPE.SCATTER) - strXml += ''; - strXml += ""; - strXml += ""; - strXml += ((_d = rel.opts.chartArea.fill) === null || _d === void 0 ? void 0 : _d.color) ? genXmlColorSelection(rel.opts.chartArea.fill) : ""; - strXml += rel.opts.chartArea.border ? `${genXmlColorSelection(rel.opts.chartArea.border.color)}` : ""; - strXml += " "; - strXml += ""; - strXml += ''; - strXml += ""; - return strXml; -} -function makeChartType(chartType, data, opts, valAxisId, catAxisId, isMultiTypeChart) { - let colorIndex = -1; - let idxColLtr = 1; - let optsChartData = null; - let strXml = ""; - switch (chartType) { - case CHART_TYPE.AREA: - case CHART_TYPE.BAR: - case CHART_TYPE.BAR3D: - case CHART_TYPE.LINE: - case CHART_TYPE.RADAR: - strXml += ``; - if (chartType === CHART_TYPE.AREA && opts.barGrouping === "stacked") { - strXml += ''; - } - if (chartType === CHART_TYPE.BAR || chartType === CHART_TYPE.BAR3D) { - strXml += ''; - strXml += ''; - } - if (chartType === CHART_TYPE.RADAR) { - strXml += ''; - } - strXml += ''; - data.forEach((obj) => { - var _a; - colorIndex++; - strXml += ""; - strXml += ` `; - strXml += " "; - strXml += " "; - strXml += " Sheet1!$" + getExcelColName(obj._dataIndex + obj.labels.length + 1) + "$1"; - strXml += ' ' + encodeXmlEntities(obj.name) + ""; - strXml += " "; - strXml += " "; - const seriesColor = opts.chartColors ? opts.chartColors[colorIndex % opts.chartColors.length] : null; - strXml += " "; - if (seriesColor === "transparent") { - strXml += ""; - } else if (opts.chartColorsOpacity) { - strXml += "" + createColorElement(seriesColor, ``) + ""; - } else { - strXml += "" + createColorElement(seriesColor) + ""; - } - if (chartType === CHART_TYPE.LINE || chartType === CHART_TYPE.RADAR) { - if (opts.lineSize === 0) { - strXml += ""; - } else { - strXml += `${createColorElement(seriesColor)}`; - strXml += ''; - } - } else if (opts.dataBorder) { - strXml += `${createColorElement(opts.dataBorder.color)}`; - } - strXml += createShadowElement(opts.shadow, DEF_SHAPE_SHADOW); - strXml += " "; - strXml += ' '; - if (chartType !== CHART_TYPE.RADAR) { - strXml += ""; - strXml += ``; - if (opts.dataLabelBkgrdColors) - strXml += `${createColorElement(seriesColor)}`; - strXml += ""; - strXml += ``; - strXml += `${createColorElement(opts.dataLabelColor || DEF_FONT_COLOR)}`; - strXml += ``; - strXml += ""; - if (opts.dataLabelPosition) - strXml += ``; - strXml += ''; - strXml += ``; - strXml += ``; - strXml += ``; - strXml += ""; - } - if (chartType === CHART_TYPE.LINE || chartType === CHART_TYPE.RADAR) { - strXml += ""; - strXml += ' '; - if (opts.lineDataSymbolSize) - strXml += ``; - strXml += " "; - strXml += ` ${createColorElement(opts.chartColors[obj._dataIndex + 1 > opts.chartColors.length ? Math.floor(Math.random() * opts.chartColors.length) : obj._dataIndex])}`; - strXml += ` ${createColorElement(opts.lineDataSymbolLineColor || seriesColor)}`; - strXml += " "; - strXml += " "; - strXml += ""; - } - if ((chartType === CHART_TYPE.BAR || chartType === CHART_TYPE.BAR3D) && data.length === 1 && (opts.chartColors && opts.chartColors !== BARCHART_COLORS && opts.chartColors.length > 1 || ((_a = opts.invertedColors) === null || _a === void 0 ? void 0 : _a.length))) { - obj.values.forEach((value, index) => { - const arrColors = value < 0 ? opts.invertedColors || opts.chartColors || BARCHART_COLORS : opts.chartColors || []; - strXml += " "; - strXml += ` `; - strXml += ' '; - strXml += ' '; - strXml += " "; - if (opts.lineSize === 0) { - strXml += ""; - } else if (chartType === CHART_TYPE.BAR) { - strXml += ""; - strXml += ' '; - strXml += ""; - } else { - strXml += ""; - strXml += " "; - strXml += ' '; - strXml += " "; - strXml += ""; - } - strXml += createShadowElement(opts.shadow, DEF_SHAPE_SHADOW); - strXml += " "; - strXml += " "; - }); - } - { - strXml += ""; - if (opts.catLabelFormatCode) { - strXml += " "; - strXml += ` Sheet1!$A$2:$A$${obj.labels[0].length + 1}`; - strXml += " "; - strXml += " " + (opts.catLabelFormatCode || "General") + ""; - strXml += ` `; - obj.labels[0].forEach((label, idx) => strXml += `${encodeXmlEntities(label)}`); - strXml += " "; - strXml += " "; - } else { - strXml += " "; - strXml += ` Sheet1!$A$2:$${getExcelColName(obj.labels.length)}$${obj.labels[0].length + 1}`; - strXml += " "; - strXml += ` `; - obj.labels.forEach((labelsGroup) => { - strXml += ""; - labelsGroup.forEach((label, idx) => strXml += `${encodeXmlEntities(label)}`); - strXml += ""; - }); - strXml += " "; - strXml += " "; - } - strXml += ""; - } - { - strXml += ""; - strXml += " "; - strXml += `Sheet1!$${getExcelColName(obj._dataIndex + obj.labels.length + 1)}$2:$${getExcelColName(obj._dataIndex + obj.labels.length + 1)}$${obj.labels[0].length + 1}`; - strXml += " "; - strXml += " " + (opts.valLabelFormatCode || opts.dataTableFormatCode || "General") + ""; - strXml += ` `; - obj.values.forEach((value, idx) => strXml += `${value || value === 0 ? value : ""}`); - strXml += " "; - strXml += " "; - strXml += ""; - } - if (chartType === CHART_TYPE.LINE) - strXml += ''; - strXml += ""; - }); - { - strXml += " "; - strXml += ` `; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += ` `; - strXml += " " + createColorElement(opts.dataLabelColor || DEF_FONT_COLOR) + ""; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += " "; - if (opts.dataLabelPosition) - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ` `; - strXml += " "; - } - if (chartType === CHART_TYPE.BAR) { - strXml += ` `; - strXml += ` `; - } else if (chartType === CHART_TYPE.BAR3D) { - strXml += ` `; - strXml += ` `; - strXml += ' '; - } else if (chartType === CHART_TYPE.LINE) { - strXml += ' '; - } - strXml += ``; - strXml += ``; - break; - case CHART_TYPE.SCATTER: - strXml += ""; - strXml += ''; - strXml += ''; - colorIndex = -1; - data.filter((_obj, idx) => idx > 0).forEach((obj, idx) => { - colorIndex++; - strXml += ""; - strXml += ` `; - strXml += ` `; - strXml += " "; - strXml += " "; - strXml += ` Sheet1!$${getExcelColName(idx + 2)}$1`; - strXml += ' ' + encodeXmlEntities(obj.name) + ""; - strXml += " "; - strXml += " "; - strXml += " "; - { - const tmpSerColor = opts.chartColors[colorIndex % opts.chartColors.length]; - if (tmpSerColor === "transparent") { - strXml += ""; - } else if (opts.chartColorsOpacity) { - strXml += "" + createColorElement(tmpSerColor, '') + ""; - } else { - strXml += "" + createColorElement(tmpSerColor) + ""; - } - if (opts.lineSize === 0) { - strXml += ""; - } else { - strXml += `${createColorElement(tmpSerColor)}`; - strXml += ``; - } - strXml += createShadowElement(opts.shadow, DEF_SHAPE_SHADOW); - } - strXml += " "; - { - strXml += ""; - strXml += ' '; - if (opts.lineDataSymbolSize) { - strXml += ``; - } - strXml += ""; - strXml += `${createColorElement(opts.chartColors[idx + 1 > opts.chartColors.length ? Math.floor(Math.random() * opts.chartColors.length) : idx])}`; - strXml += `${createColorElement(opts.lineDataSymbolLineColor || opts.chartColors[colorIndex % opts.chartColors.length])}`; - strXml += ""; - strXml += ""; - strXml += ""; - } - if (opts.showLabel) { - const chartUuid = getUuid("-xxxx-xxxx-xxxx-xxxxxxxxxxxx"); - if (obj.labels[0] && (opts.dataLabelFormatScatter === "custom" || opts.dataLabelFormatScatter === "customXY")) { - strXml += ""; - obj.labels[0].forEach((label, idx2) => { - if (opts.dataLabelFormatScatter === "custom" || opts.dataLabelFormatScatter === "customXY") { - strXml += " "; - strXml += ` `; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += ' '; - strXml += " " + encodeXmlEntities(label) + ""; - strXml += " "; - if (opts.dataLabelFormatScatter === "customXY" && !/^ *$/.test(label)) { - strXml += " "; - strXml += ' '; - strXml += " ("; - strXml += " "; - strXml += ' '; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " [" + encodeXmlEntities(obj.name) + ""; - strXml += " "; - strXml += " "; - strXml += ' '; - strXml += " , "; - strXml += " "; - strXml += ' '; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " [" + encodeXmlEntities(obj.name) + "]"; - strXml += " "; - strXml += " "; - strXml += ' '; - strXml += " )"; - strXml += " "; - strXml += ' '; - } - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - if (opts.dataLabelPosition) - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += " "; - strXml += ' '; - strXml += ' '; - strXml += ` `; - strXml += " "; - strXml += " "; - strXml += ""; - } - }); - strXml += ""; - } - if (opts.dataLabelFormatScatter === "XY") { - strXml += ""; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += ' '; - strXml += " "; - strXml += " "; - if (opts.dataLabelPosition) - strXml += ' '; - strXml += ' '; - strXml += ` `; - strXml += ` `; - strXml += ` `; - strXml += ' '; - strXml += ' '; - strXml += " "; - strXml += ' '; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += ""; - } - } - if (data.length === 1 && opts.chartColors !== BARCHART_COLORS) { - obj.values.forEach((value, index) => { - const arrColors = value < 0 ? opts.invertedColors || opts.chartColors || BARCHART_COLORS : opts.chartColors || []; - strXml += " "; - strXml += ` `; - strXml += ' '; - strXml += ' '; - strXml += " "; - if (opts.lineSize === 0) { - strXml += ""; - } else { - strXml += ""; - strXml += ' '; - strXml += ""; - } - strXml += createShadowElement(opts.shadow, DEF_SHAPE_SHADOW); - strXml += " "; - strXml += " "; - }); - } - { - strXml += ""; - strXml += " "; - strXml += ` Sheet1!$A$2:$A$${data[0].values.length + 1}`; - strXml += " "; - strXml += " General"; - strXml += ` `; - data[0].values.forEach((value, idx2) => { - strXml += `${value || value === 0 ? value : ""}`; - }); - strXml += " "; - strXml += " "; - strXml += ""; - strXml += ""; - strXml += " "; - strXml += ` Sheet1!$${getExcelColName(idx + 2)}$2:$${getExcelColName(idx + 2)}$${data[0].values.length + 1}`; - strXml += " "; - strXml += " General"; - strXml += ` `; - data[0].values.forEach((_value, idx2) => { - strXml += `${obj.values[idx2] || obj.values[idx2] === 0 ? obj.values[idx2] : ""}`; - }); - strXml += " "; - strXml += " "; - strXml += ""; - } - strXml += ''; - strXml += ""; - }); - { - strXml += " "; - strXml += ` `; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += ` `; - strXml += " " + createColorElement(opts.dataLabelColor || DEF_FONT_COLOR) + ""; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += " "; - if (opts.dataLabelPosition) - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += " "; - } - strXml += ``; - strXml += ""; - break; - case CHART_TYPE.BUBBLE: - case CHART_TYPE.BUBBLE3D: - strXml += ""; - strXml += ''; - colorIndex = -1; - data.filter((_obj, idx) => idx > 0).forEach((obj, idx) => { - colorIndex++; - strXml += ""; - strXml += ` `; - strXml += ` `; - strXml += " "; - strXml += " "; - strXml += " Sheet1!$" + getExcelColName(idxColLtr + 1) + "$1"; - strXml += ' ' + encodeXmlEntities(obj.name) + ""; - strXml += " "; - strXml += " "; - { - strXml += ""; - const tmpSerColor = opts.chartColors[colorIndex % opts.chartColors.length]; - if (tmpSerColor === "transparent") { - strXml += ""; - } else if (opts.chartColorsOpacity) { - strXml += `${createColorElement(tmpSerColor, '')}`; - } else { - strXml += "" + createColorElement(tmpSerColor) + ""; - } - if (opts.lineSize === 0) { - strXml += ""; - } else if (opts.dataBorder) { - strXml += `${createColorElement(opts.dataBorder.color)}`; - } else { - strXml += `${createColorElement(tmpSerColor)}`; - strXml += ``; - } - strXml += createShadowElement(opts.shadow, DEF_SHAPE_SHADOW); - strXml += ""; - } - { - strXml += ""; - strXml += " "; - strXml += ` Sheet1!$A$2:$A$${data[0].values.length + 1}`; - strXml += " "; - strXml += " General"; - strXml += ` `; - data[0].values.forEach((value, idx2) => { - strXml += `${value || value === 0 ? value : ""}`; - }); - strXml += " "; - strXml += " "; - strXml += ""; - strXml += ""; - strXml += " "; - strXml += `Sheet1!$${getExcelColName(idxColLtr + 1)}$2:$${getExcelColName(idxColLtr + 1)}$${data[0].values.length + 1}`; - idxColLtr++; - strXml += " "; - strXml += " General"; - strXml += ` `; - data[0].values.forEach((_value, idx2) => { - strXml += `${obj.values[idx2] || obj.values[idx2] === 0 ? obj.values[idx2] : ""}`; - }); - strXml += " "; - strXml += " "; - strXml += ""; - } - strXml += " "; - strXml += " "; - strXml += `Sheet1!$${getExcelColName(idxColLtr + 1)}$2:$${getExcelColName(idxColLtr + 1)}$${obj.sizes.length + 1}`; - idxColLtr++; - strXml += " "; - strXml += " General"; - strXml += ` `; - obj.sizes.forEach((value, idx2) => { - strXml += `${value || ""}`; - }); - strXml += " "; - strXml += " "; - strXml += " "; - strXml += ' '; - strXml += ""; - }); - { - strXml += ""; - strXml += ``; - strXml += ""; - strXml += ``; - strXml += `${createColorElement(opts.dataLabelColor || DEF_FONT_COLOR)}`; - strXml += ``; - strXml += ""; - if (opts.dataLabelPosition) - strXml += ``; - strXml += ''; - strXml += ``; - strXml += ``; - strXml += ""; - strXml += ' '; - strXml += ' '; - strXml += " "; - strXml += ""; - strXml += ""; - } - strXml += ``; - strXml += ""; - break; - case CHART_TYPE.DOUGHNUT: - case CHART_TYPE.PIE: - optsChartData = data[0]; - strXml += ""; - strXml += ' '; - strXml += ""; - strXml += ' '; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += " Sheet1!$B$1"; - strXml += " "; - strXml += ' '; - strXml += ' ' + encodeXmlEntities(optsChartData.name) + ""; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += ' '; - strXml += ' '; - if (opts.dataNoEffects) { - strXml += ""; - } else { - strXml += createShadowElement(opts.shadow, DEF_SHAPE_SHADOW); - } - strXml += " "; - optsChartData.labels[0].forEach((_label, idx) => { - strXml += ""; - strXml += ` `; - strXml += ' '; - strXml += " "; - strXml += `${createColorElement(opts.chartColors[idx + 1 > opts.chartColors.length ? Math.floor(Math.random() * opts.chartColors.length) : idx])}`; - if (opts.dataBorder) { - strXml += `${createColorElement(opts.dataBorder.color)}`; - } - strXml += createShadowElement(opts.shadow, DEF_SHAPE_SHADOW); - strXml += " "; - strXml += ""; - }); - strXml += ""; - optsChartData.labels[0].forEach((_label, idx) => { - strXml += ""; - strXml += ` `; - strXml += ` `; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += ` `; - strXml += " " + createColorElement(opts.dataLabelColor || DEF_FONT_COLOR) + ""; - strXml += ` `; - strXml += " "; - strXml += " "; - strXml += " "; - if (chartType === CHART_TYPE.PIE && opts.dataLabelPosition) - strXml += ``; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += " "; - }); - strXml += ` `; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += ` `; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += chartType === CHART_TYPE.PIE ? '' : ""; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ` `; - strXml += ""; - strXml += ""; - strXml += " "; - strXml += ` Sheet1!$A$2:$A$${optsChartData.labels[0].length + 1}`; - strXml += " "; - strXml += ` `; - optsChartData.labels[0].forEach((label, idx) => { - strXml += `${encodeXmlEntities(label)}`; - }); - strXml += " "; - strXml += " "; - strXml += ""; - strXml += " "; - strXml += " "; - strXml += ` Sheet1!$B$2:$B$${optsChartData.labels[0].length + 1}`; - strXml += " "; - strXml += ` `; - optsChartData.values.forEach((value, idx) => { - strXml += `${value || value === 0 ? value : ""}`; - }); - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += ` `; - if (chartType === CHART_TYPE.DOUGHNUT) - strXml += ``; - strXml += ""; - break; - default: - strXml += ""; - break; - } - return strXml; -} -function makeCatAxis(opts, axisId, valAxisId) { - let strXml = ""; - if (opts._type === CHART_TYPE.SCATTER || opts._type === CHART_TYPE.BUBBLE || opts._type === CHART_TYPE.BUBBLE3D) { - strXml += ""; - } else { - strXml += ""; - } - strXml += ' '; - strXml += " "; - strXml += ''; - if (opts.catAxisMaxVal || opts.catAxisMaxVal === 0) - strXml += ``; - if (opts.catAxisMinVal || opts.catAxisMinVal === 0) - strXml += ``; - strXml += ""; - strXml += ' '; - strXml += ' '; - strXml += opts.catGridLine.style !== "none" ? createGridLineElement(opts.catGridLine) : ""; - if (opts.showCatAxisTitle) { - strXml += genXmlTitle({ - color: opts.catAxisTitleColor, - fontFace: opts.catAxisTitleFontFace, - fontSize: opts.catAxisTitleFontSize, - titleRotate: opts.catAxisTitleRotate, - title: opts.catAxisTitle || "Axis Title" - }); - } - if (opts._type === CHART_TYPE.SCATTER || opts._type === CHART_TYPE.BUBBLE || opts._type === CHART_TYPE.BUBBLE3D) { - strXml += ' '; - } else { - strXml += ' '; - } - if (opts._type === CHART_TYPE.SCATTER) { - strXml += ' '; - strXml += ' '; - strXml += ' '; - } else { - strXml += ' '; - strXml += ' '; - strXml += ' '; - } - strXml += " "; - strXml += ` `; - strXml += !opts.catAxisLineShow ? "" : "" + createColorElement(opts.catAxisLineColor || DEF_CHART_GRIDLINE.color) + ""; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - if (opts.catAxisLabelRotate) { - strXml += ``; - } else { - strXml += ""; - } - strXml += " "; - strXml += " "; - strXml += " "; - strXml += ` `; - strXml += " " + createColorElement(opts.catAxisLabelColor || DEF_FONT_COLOR) + ""; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += ' '; - strXml += ` `; - strXml += ' '; - strXml += ' '; - strXml += ` `; - if (opts.catAxisLabelFrequency) - strXml += ' '; - if (opts.catLabelFormatCode || opts._type === CHART_TYPE.SCATTER || opts._type === CHART_TYPE.BUBBLE || opts._type === CHART_TYPE.BUBBLE3D) { - if (opts.catLabelFormatCode) { - ["catAxisBaseTimeUnit", "catAxisMajorTimeUnit", "catAxisMinorTimeUnit"].forEach((opt) => { - if (opts[opt] && (typeof opts[opt] !== "string" || !["days", "months", "years"].includes(opts[opt].toLowerCase()))) { - console.warn(`"${opt}" must be one of: 'days','months','years' !`); - opts[opt] = null; - } - }); - if (opts.catAxisBaseTimeUnit) - strXml += ''; - if (opts.catAxisMajorTimeUnit) - strXml += ''; - if (opts.catAxisMinorTimeUnit) - strXml += ''; - } - if (opts.catAxisMajorUnit) - strXml += ``; - if (opts.catAxisMinorUnit) - strXml += ``; - } - if (opts._type === CHART_TYPE.SCATTER || opts._type === CHART_TYPE.BUBBLE || opts._type === CHART_TYPE.BUBBLE3D) { - strXml += ""; - } else { - strXml += ""; - } - return strXml; -} -function makeValAxis(opts, valAxisId) { - let axisPos = valAxisId === AXIS_ID_VALUE_PRIMARY ? opts.barDir === "col" ? "l" : "b" : opts.barDir !== "col" ? "r" : "t"; - if (valAxisId === AXIS_ID_VALUE_SECONDARY) - axisPos = "r"; - const crossAxId = valAxisId === AXIS_ID_VALUE_PRIMARY ? AXIS_ID_CATEGORY_PRIMARY : AXIS_ID_CATEGORY_SECONDARY; - let strXml = ""; - strXml += ""; - strXml += ' '; - strXml += " "; - if (opts.valAxisLogScaleBase) - strXml += ``; - strXml += ''; - if (opts.valAxisMaxVal || opts.valAxisMaxVal === 0) - strXml += ``; - if (opts.valAxisMinVal || opts.valAxisMinVal === 0) - strXml += ``; - strXml += " "; - strXml += ` `; - strXml += ' '; - if (opts.valGridLine.style !== "none") - strXml += createGridLineElement(opts.valGridLine); - if (opts.showValAxisTitle) { - strXml += genXmlTitle({ - color: opts.valAxisTitleColor, - fontFace: opts.valAxisTitleFontFace, - fontSize: opts.valAxisTitleFontSize, - titleRotate: opts.valAxisTitleRotate, - title: opts.valAxisTitle || "Axis Title" - }); - } - strXml += ``; - if (opts._type === CHART_TYPE.SCATTER) { - strXml += ' '; - strXml += ' '; - strXml += ' '; - } else { - strXml += ' '; - strXml += ' '; - strXml += ' '; - } - strXml += " "; - strXml += ` `; - strXml += !opts.valAxisLineShow ? "" : "" + createColorElement(opts.valAxisLineColor || DEF_CHART_GRIDLINE.color) + ""; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += ` `; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += ` `; - strXml += " " + createColorElement(opts.valAxisLabelColor || DEF_FONT_COLOR) + ""; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += ' '; - if (typeof opts.catAxisCrossesAt === "number") { - strXml += ` `; - } else if (typeof opts.catAxisCrossesAt === "string") { - strXml += ' '; - } else { - const isRight = axisPos === "r" || axisPos === "t"; - const crosses = isRight ? "max" : "autoZero"; - strXml += ' '; - } - strXml += ' '; - if (opts.valAxisMajorUnit) - strXml += ` `; - if (opts.valAxisDisplayUnit) { - strXml += `${opts.valAxisDisplayUnitLabel ? "" : ""}`; - } - strXml += ""; - return strXml; -} -function makeSerAxis(opts, axisId, valAxisId) { - let strXml = ""; - strXml += ""; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += ' '; - strXml += opts.serGridLine.style !== "none" ? createGridLineElement(opts.serGridLine) : ""; - if (opts.showSerAxisTitle) { - strXml += genXmlTitle({ - color: opts.serAxisTitleColor, - fontFace: opts.serAxisTitleFontFace, - fontSize: opts.serAxisTitleFontSize, - titleRotate: opts.serAxisTitleRotate, - title: opts.serAxisTitle || "Axis Title" - }); - } - strXml += ` `; - strXml += ' '; - strXml += ' '; - strXml += ` `; - strXml += " "; - strXml += ' '; - strXml += !opts.serAxisLineShow ? "" : `${createColorElement(opts.serAxisLineColor || DEF_CHART_GRIDLINE.color)}`; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += " "; - strXml += ` `; - strXml += ` ${createColorElement(opts.serAxisLabelColor || DEF_FONT_COLOR)}`; - strXml += ` `; - strXml += " "; - strXml += " "; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += ' '; - strXml += ' '; - if (opts.serAxisLabelFrequency) - strXml += ' '; - if (opts.serLabelFormatCode) { - ["serAxisBaseTimeUnit", "serAxisMajorTimeUnit", "serAxisMinorTimeUnit"].forEach((opt) => { - if (opts[opt] && (typeof opts[opt] !== "string" || !["days", "months", "years"].includes(opt.toLowerCase()))) { - console.warn(`"${opt}" must be one of: 'days','months','years' !`); - opts[opt] = null; - } - }); - if (opts.serAxisBaseTimeUnit) - strXml += ` `; - if (opts.serAxisMajorTimeUnit) - strXml += ` `; - if (opts.serAxisMinorTimeUnit) - strXml += ` `; - if (opts.serAxisMajorUnit) - strXml += ` `; - if (opts.serAxisMinorUnit) - strXml += ` `; - } - strXml += ""; - return strXml; -} -function genXmlTitle(opts, chartX, chartY) { - const align = opts.titleAlign === "left" || opts.titleAlign === "right" ? `` : ""; - const rotate = opts.titleRotate ? `` : ""; - const sizeAttr = opts.fontSize ? `sz="${Math.round(opts.fontSize * 100)}"` : ""; - const titleBold = opts.titleBold ? 1 : 0; - let layout = ""; - if (opts.titlePos && typeof opts.titlePos.x === "number" && typeof opts.titlePos.y === "number") { - const totalX = opts.titlePos.x + chartX; - const totalY = opts.titlePos.y + chartY; - let valX = totalX === 0 ? 0 : totalX * (totalX / 5) / 10; - if (valX >= 1) - valX = valX / 10; - if (valX >= 0.1) - valX = valX / 10; - let valY = totalY === 0 ? 0 : totalY * (totalY / 5) / 10; - if (valY >= 1) - valY = valY / 10; - if (valY >= 0.1) - valY = valY / 10; - layout = ``; - } - return ` - - - ${rotate} - - - ${align} - - ${createColorElement(opts.color || DEF_FONT_COLOR)} - - - - - - ${createColorElement(opts.color || DEF_FONT_COLOR)} - - - ${encodeXmlEntities(opts.title) || ""} - - - - - ${layout} - - `; -} -function getExcelColName(colIndex) { - let colStr = ""; - const colIdx = colIndex - 1; - if (colIdx <= 25) { - colStr = LETTERS[colIdx]; - } else { - colStr = `${LETTERS[Math.floor(colIdx / LETTERS.length - 1)]}${LETTERS[colIdx % LETTERS.length]}`; - } - return colStr; -} -function createShadowElement(options, defaults) { - if (!options) { - return ""; - } else if (typeof options !== "object") { - console.warn("`shadow` options must be an object. Ex: `{shadow: {type:'none'}}`"); - return ""; - } - let strXml = ""; - const opts = Object.assign(Object.assign({}, defaults), options); - const type = opts.type || "outer"; - const blur = valToPts(opts.blur); - const offset = valToPts(opts.offset); - const angle = Math.round(opts.angle * 6e4); - const color = opts.color; - const opacity = Math.round(opts.opacity * 1e5); - const rotShape = opts.rotateWithShape ? 1 : 0; - strXml += ``; - strXml += ``; - strXml += ``; - strXml += ``; - strXml += ""; - return strXml; -} -function createGridLineElement(glOpts) { - let strXml = ""; - strXml += " "; - strXml += ` `; - strXml += ' '; - strXml += ' '; - strXml += " "; - strXml += " "; - strXml += ""; - return strXml; -} -function createLineCap(lineCap) { - if (!lineCap || lineCap === "flat") { - return "flat"; - } else if (lineCap === "square") { - return "sq"; - } else if (lineCap === "round") { - return "rnd"; - } else { - const neverLineCap = lineCap; - throw new Error(`Invalid chart line cap: ${neverLineCap}`); - } -} -function encodeSlideMediaRels(layout) { - var _a, _b; - const isNode = typeof process !== "undefined" && !!((_a = process.versions) === null || _a === void 0 ? void 0 : _a.node) && ((_b = process.release) === null || _b === void 0 ? void 0 : _b.name) === "node"; - let fs; - let https; - const loadNodeDeps = isNode ? () => __awaiter2(this, void 0, void 0, function* () { - ({ default: fs } = yield Promise.resolve().then(() => __toESM(require_node_fs()))); - ({ default: https } = yield Promise.resolve().then(() => __toESM(require_node_https()))); - }) : () => __awaiter2(this, void 0, void 0, function* () { - }); - if (isNode) - loadNodeDeps(); - const imageProms = []; - const candidateRels = layout._relsMedia.filter((rel) => rel.type !== "online" && !rel.data && (!rel.path || rel.path && !rel.path.includes("preencoded"))); - const unqPaths = []; - candidateRels.forEach((rel) => { - if (!unqPaths.includes(rel.path)) { - rel.isDuplicate = false; - unqPaths.push(rel.path); - } else { - rel.isDuplicate = true; - } - }); - candidateRels.filter((rel) => !rel.isDuplicate).forEach((rel) => { - imageProms.push((() => __awaiter2(this, void 0, void 0, function* () { - if (!https) - yield loadNodeDeps(); - if (isNode && fs && rel.path.indexOf("http") !== 0) { - try { - const bitmap = fs.readFileSync(rel.path); - rel.data = Buffer.from(bitmap).toString("base64"); - candidateRels.filter((dupe) => dupe.isDuplicate && dupe.path === rel.path).forEach((dupe) => dupe.data = rel.data); - return "done"; - } catch (ex) { - rel.data = IMG_BROKEN; - candidateRels.filter((dupe) => dupe.isDuplicate && dupe.path === rel.path).forEach((dupe) => dupe.data = rel.data); - throw new Error(`ERROR: Unable to read media: "${rel.path}" -${String(ex)}`); - } - } - if (isNode && https && rel.path.startsWith("http")) { - return yield new Promise((resolve, reject) => { - https.get(rel.path, (res) => { - let raw = ""; - res.setEncoding("binary"); - res.on("data", (chunk) => raw += chunk); - res.on("end", () => { - rel.data = Buffer.from(raw, "binary").toString("base64"); - candidateRels.filter((dupe) => dupe.isDuplicate && dupe.path === rel.path).forEach((dupe) => dupe.data = rel.data); - resolve("done"); - }); - res.on("error", () => { - rel.data = IMG_BROKEN; - candidateRels.filter((dupe) => dupe.isDuplicate && dupe.path === rel.path).forEach((dupe) => dupe.data = rel.data); - reject(new Error(`ERROR! Unable to load image (https.get): ${rel.path}`)); - }); - }); - }); - } - return yield new Promise((resolve, reject) => { - const xhr = new XMLHttpRequest(); - xhr.onload = () => { - const reader = new FileReader(); - reader.onloadend = () => { - rel.data = reader.result; - candidateRels.filter((dupe) => dupe.isDuplicate && dupe.path === rel.path).forEach((dupe) => dupe.data = rel.data); - if (!rel.isSvgPng) { - resolve("done"); - } else { - createSvgPngPreview(rel).then(() => resolve("done")).catch(reject); - } - }; - reader.readAsDataURL(xhr.response); - }; - xhr.onerror = () => { - rel.data = IMG_BROKEN; - candidateRels.filter((dupe) => dupe.isDuplicate && dupe.path === rel.path).forEach((dupe) => dupe.data = rel.data); - reject(new Error(`ERROR! Unable to load image (xhr.onerror): ${rel.path}`)); - }; - xhr.open("GET", rel.path); - xhr.responseType = "blob"; - xhr.send(); - }); - }))()); - }); - layout._relsMedia.filter((rel) => rel.isSvgPng && rel.data).forEach((rel) => { - (() => __awaiter2(this, void 0, void 0, function* () { - if (isNode && !fs) - yield loadNodeDeps(); - if (isNode && fs) { - rel.data = IMG_BROKEN; - imageProms.push(Promise.resolve("done")); - } else { - imageProms.push(createSvgPngPreview(rel)); - } - }))(); - }); - return imageProms; -} -function createSvgPngPreview(rel) { - return __awaiter2(this, void 0, void 0, function* () { - return yield new Promise((resolve, reject) => { - const image = new Image(); - image.onload = () => { - if (image.width + image.height === 0) { - image.onerror("h/w=0"); - } - let canvas = document.createElement("CANVAS"); - const ctx = canvas.getContext("2d"); - canvas.width = image.width; - canvas.height = image.height; - ctx.drawImage(image, 0, 0); - try { - rel.data = canvas.toDataURL(rel.type); - resolve("done"); - } catch (ex) { - image.onerror(ex.toString()); - } - canvas = null; - }; - image.onerror = () => { - rel.data = IMG_BROKEN; - reject(new Error(`ERROR! Unable to load image (image.onerror): ${rel.path}`)); - }; - image.src = typeof rel.data === "string" ? rel.data : IMG_BROKEN; - }); - }); -} -var ImageSizingXml = { - cover: function(imgSize, boxDim) { - const imgRatio = imgSize.h / imgSize.w; - const boxRatio = boxDim.h / boxDim.w; - const isBoxBased = boxRatio > imgRatio; - const width = isBoxBased ? boxDim.h / imgRatio : boxDim.w; - const height = isBoxBased ? boxDim.h : boxDim.w * imgRatio; - const hzPerc = Math.round(1e5 * 0.5 * (1 - boxDim.w / width)); - const vzPerc = Math.round(1e5 * 0.5 * (1 - boxDim.h / height)); - return ``; - }, - contain: function(imgSize, boxDim) { - const imgRatio = imgSize.h / imgSize.w; - const boxRatio = boxDim.h / boxDim.w; - const widthBased = boxRatio > imgRatio; - const width = widthBased ? boxDim.w : boxDim.h / imgRatio; - const height = widthBased ? boxDim.w * imgRatio : boxDim.h; - const hzPerc = Math.round(1e5 * 0.5 * (1 - boxDim.w / width)); - const vzPerc = Math.round(1e5 * 0.5 * (1 - boxDim.h / height)); - return ``; - }, - crop: function(imgSize, boxDim) { - const l = boxDim.x; - const r = imgSize.w - (boxDim.x + boxDim.w); - const t = boxDim.y; - const b = imgSize.h - (boxDim.y + boxDim.h); - const lPerc = Math.round(1e5 * (l / imgSize.w)); - const rPerc = Math.round(1e5 * (r / imgSize.w)); - const tPerc = Math.round(1e5 * (t / imgSize.h)); - const bPerc = Math.round(1e5 * (b / imgSize.h)); - return ``; - } -}; -function slideObjectToXml(slide) { - var _a; - let strSlideXml = slide._name ? '' : ""; - let intTableNum = 1; - if (slide._bkgdImgRid) { - strSlideXml += ``; - } else if ((_a = slide.background) === null || _a === void 0 ? void 0 : _a.color) { - strSlideXml += `${genXmlColorSelection(slide.background)}`; - } else if (!slide.bkgd && slide._name && slide._name === DEF_PRES_LAYOUT_NAME) { - strSlideXml += ''; - } - strSlideXml += ""; - strSlideXml += ''; - strSlideXml += ''; - strSlideXml += ''; - slide._slideObjects.forEach((slideItemObj, idx) => { - var _a2, _b, _c, _d, _e, _f, _g, _h; - let x = 0; - let y = 0; - let cx2 = getSmartParseNumber("75%", "X", slide._presLayout); - let cy2 = 0; - let placeholderObj; - let locationAttr = ""; - let arrTabRows = null; - let objTabOpts = null; - let intColCnt = 0; - let intColW = 0; - let cellOpts = null; - let strXml = null; - const sizing = (_a2 = slideItemObj.options) === null || _a2 === void 0 ? void 0 : _a2.sizing; - const rounding = (_b = slideItemObj.options) === null || _b === void 0 ? void 0 : _b.rounding; - if (slide._slideLayout !== void 0 && slide._slideLayout._slideObjects !== void 0 && slideItemObj.options && slideItemObj.options.placeholder) { - placeholderObj = slide._slideLayout._slideObjects.filter((object) => object.options.placeholder === slideItemObj.options.placeholder)[0]; - } - slideItemObj.options = slideItemObj.options || {}; - if (typeof slideItemObj.options.x !== "undefined") - x = getSmartParseNumber(slideItemObj.options.x, "X", slide._presLayout); - if (typeof slideItemObj.options.y !== "undefined") - y = getSmartParseNumber(slideItemObj.options.y, "Y", slide._presLayout); - if (typeof slideItemObj.options.w !== "undefined") - cx2 = getSmartParseNumber(slideItemObj.options.w, "X", slide._presLayout); - if (typeof slideItemObj.options.h !== "undefined") - cy2 = getSmartParseNumber(slideItemObj.options.h, "Y", slide._presLayout); - let imgWidth = cx2; - let imgHeight = cy2; - if (placeholderObj) { - if (placeholderObj.options.x || placeholderObj.options.x === 0) - x = getSmartParseNumber(placeholderObj.options.x, "X", slide._presLayout); - if (placeholderObj.options.y || placeholderObj.options.y === 0) - y = getSmartParseNumber(placeholderObj.options.y, "Y", slide._presLayout); - if (placeholderObj.options.w || placeholderObj.options.w === 0) - cx2 = getSmartParseNumber(placeholderObj.options.w, "X", slide._presLayout); - if (placeholderObj.options.h || placeholderObj.options.h === 0) - cy2 = getSmartParseNumber(placeholderObj.options.h, "Y", slide._presLayout); - } - if (slideItemObj.options.flipH) - locationAttr += ' flipH="1"'; - if (slideItemObj.options.flipV) - locationAttr += ' flipV="1"'; - if (slideItemObj.options.rotate) - locationAttr += ` rot="${convertRotationDegrees(slideItemObj.options.rotate)}"`; - switch (slideItemObj._type) { - case SLIDE_OBJECT_TYPES.table: - arrTabRows = slideItemObj.arrTabRows; - objTabOpts = slideItemObj.options; - intColCnt = 0; - intColW = 0; - arrTabRows[0].forEach((cell) => { - cellOpts = cell.options || null; - intColCnt += (cellOpts === null || cellOpts === void 0 ? void 0 : cellOpts.colspan) ? Number(cellOpts.colspan) : 1; - }); - strXml = ``; - strXml += ' '; - strXml += ``; - strXml += ''; - if (Array.isArray(objTabOpts.colW)) { - strXml += ""; - for (let col = 0; col < intColCnt; col++) { - let w = inch2Emu(objTabOpts.colW[col]); - if (w == null || isNaN(w)) { - w = (typeof slideItemObj.options.w === "number" ? slideItemObj.options.w : 1) / intColCnt; - } - strXml += ``; - } - strXml += ""; - } else { - intColW = objTabOpts.colW ? objTabOpts.colW : EMU; - if (slideItemObj.options.w && !objTabOpts.colW) - intColW = Math.round((typeof slideItemObj.options.w === "number" ? slideItemObj.options.w : 1) / intColCnt); - strXml += ""; - for (let colw = 0; colw < intColCnt; colw++) { - strXml += ``; - } - strXml += ""; - } - arrTabRows.forEach((cells) => { - var _a3, _b2; - for (let cIdx = 0; cIdx < cells.length; ) { - const cell = cells[cIdx]; - const colspan = (_a3 = cell.options) === null || _a3 === void 0 ? void 0 : _a3.colspan; - const rowspan = (_b2 = cell.options) === null || _b2 === void 0 ? void 0 : _b2.rowspan; - if (colspan && colspan > 1) { - const vMergeCells = new Array(colspan - 1).fill(void 0).map(() => { - return { _type: SLIDE_OBJECT_TYPES.tablecell, options: { rowspan }, _hmerge: true }; - }); - cells.splice(cIdx + 1, 0, ...vMergeCells); - cIdx += colspan; - } else { - cIdx += 1; - } - } - }); - arrTabRows.forEach((cells, rIdx) => { - const nextRow = arrTabRows[rIdx + 1]; - if (!nextRow) - return; - cells.forEach((cell, cIdx) => { - var _a3, _b2; - const rowspan = cell._rowContinue || ((_a3 = cell.options) === null || _a3 === void 0 ? void 0 : _a3.rowspan); - const colspan = (_b2 = cell.options) === null || _b2 === void 0 ? void 0 : _b2.colspan; - const _hmerge = cell._hmerge; - if (rowspan && rowspan > 1) { - const hMergeCell = { _type: SLIDE_OBJECT_TYPES.tablecell, options: { colspan }, _rowContinue: rowspan - 1, _vmerge: true, _hmerge }; - nextRow.splice(cIdx, 0, hMergeCell); - } - }); - }); - arrTabRows.forEach((cells, rIdx) => { - let intRowH = 0; - if (Array.isArray(objTabOpts.rowH) && objTabOpts.rowH[rIdx]) - intRowH = inch2Emu(Number(objTabOpts.rowH[rIdx])); - else if (objTabOpts.rowH && !isNaN(Number(objTabOpts.rowH))) - intRowH = inch2Emu(Number(objTabOpts.rowH)); - else if (slideItemObj.options.cy || slideItemObj.options.h) { - intRowH = Math.round((slideItemObj.options.h ? inch2Emu(slideItemObj.options.h) : typeof slideItemObj.options.cy === "number" ? slideItemObj.options.cy : 1) / arrTabRows.length); - } - strXml += ``; - cells.forEach((cellObj) => { - var _a3, _b2, _c2, _d2, _e2; - const cell = cellObj; - const cellSpanAttrs = { - rowSpan: ((_a3 = cell.options) === null || _a3 === void 0 ? void 0 : _a3.rowspan) > 1 ? cell.options.rowspan : void 0, - gridSpan: ((_b2 = cell.options) === null || _b2 === void 0 ? void 0 : _b2.colspan) > 1 ? cell.options.colspan : void 0, - vMerge: cell._vmerge ? 1 : void 0, - hMerge: cell._hmerge ? 1 : void 0 - }; - let cellSpanAttrStr = Object.keys(cellSpanAttrs).map((k) => [k, cellSpanAttrs[k]]).filter(([, v]) => !!v).map(([k, v]) => `${String(k)}="${String(v)}"`).join(" "); - if (cellSpanAttrStr) - cellSpanAttrStr = " " + cellSpanAttrStr; - if (cell._hmerge || cell._vmerge) { - strXml += ``; - return; - } - const cellOpts2 = cell.options || {}; - cell.options = cellOpts2; - ["align", "bold", "border", "color", "fill", "fontFace", "fontSize", "margin", "textDirection", "underline", "valign"].forEach((name) => { - if (objTabOpts[name] && !cellOpts2[name] && cellOpts2[name] !== 0) - cellOpts2[name] = objTabOpts[name]; - }); - const cellValign = cellOpts2.valign ? ` anchor="${cellOpts2.valign.replace(/^c$/i, "ctr").replace(/^m$/i, "ctr").replace("center", "ctr").replace("middle", "ctr").replace("top", "t").replace("btm", "b").replace("bottom", "b")}"` : ""; - const cellTextDir = cellOpts2.textDirection && cellOpts2.textDirection !== "horz" ? ` vert="${cellOpts2.textDirection}"` : ""; - let fillColor = ((_d2 = (_c2 = cell._optImp) === null || _c2 === void 0 ? void 0 : _c2.fill) === null || _d2 === void 0 ? void 0 : _d2.color) ? cell._optImp.fill.color : ((_e2 = cell._optImp) === null || _e2 === void 0 ? void 0 : _e2.fill) && typeof cell._optImp.fill === "string" ? cell._optImp.fill : ""; - fillColor = fillColor || cellOpts2.fill ? cellOpts2.fill : ""; - const cellFill = fillColor ? genXmlColorSelection(fillColor) : ""; - let cellMargin = cellOpts2.margin === 0 || cellOpts2.margin ? cellOpts2.margin : DEF_CELL_MARGIN_IN; - if (!Array.isArray(cellMargin) && typeof cellMargin === "number") - cellMargin = [cellMargin, cellMargin, cellMargin, cellMargin]; - let cellMarginXml = ""; - if (cellMargin[0] >= 1) { - cellMarginXml = ` marL="${valToPts(cellMargin[3])}" marR="${valToPts(cellMargin[1])}" marT="${valToPts(cellMargin[0])}" marB="${valToPts(cellMargin[2])}"`; - } else { - cellMarginXml = ` marL="${inch2Emu(cellMargin[3])}" marR="${inch2Emu(cellMargin[1])}" marT="${inch2Emu(cellMargin[0])}" marB="${inch2Emu(cellMargin[2])}"`; - } - strXml += `${genXmlTextBody(cell)}`; - if (cellOpts2.border && Array.isArray(cellOpts2.border)) { - [ - { idx: 3, name: "lnL" }, - { idx: 1, name: "lnR" }, - { idx: 0, name: "lnT" }, - { idx: 2, name: "lnB" } - ].forEach((obj) => { - if (cellOpts2.border[obj.idx].type !== "none") { - strXml += ``; - strXml += `${createColorElement(cellOpts2.border[obj.idx].color)}`; - strXml += ``; - strXml += ``; - } else { - strXml += ``; - } - }); - } - strXml += cellFill; - strXml += " "; - strXml += " "; - }); - strXml += ""; - }); - strXml += " "; - strXml += " "; - strXml += " "; - strXml += ""; - strSlideXml += strXml; - intTableNum++; - break; - case SLIDE_OBJECT_TYPES.text: - case SLIDE_OBJECT_TYPES.placeholder: - if (!slideItemObj.options.line && cy2 === 0) - cy2 = EMU * 0.3; - if (!slideItemObj.options._bodyProp) - slideItemObj.options._bodyProp = {}; - if (slideItemObj.options.margin && Array.isArray(slideItemObj.options.margin)) { - slideItemObj.options._bodyProp.lIns = valToPts(slideItemObj.options.margin[0] || 0); - slideItemObj.options._bodyProp.rIns = valToPts(slideItemObj.options.margin[1] || 0); - slideItemObj.options._bodyProp.bIns = valToPts(slideItemObj.options.margin[2] || 0); - slideItemObj.options._bodyProp.tIns = valToPts(slideItemObj.options.margin[3] || 0); - } else if (typeof slideItemObj.options.margin === "number") { - slideItemObj.options._bodyProp.lIns = valToPts(slideItemObj.options.margin); - slideItemObj.options._bodyProp.rIns = valToPts(slideItemObj.options.margin); - slideItemObj.options._bodyProp.bIns = valToPts(slideItemObj.options.margin); - slideItemObj.options._bodyProp.tIns = valToPts(slideItemObj.options.margin); - } - strSlideXml += ""; - strSlideXml += ``; - if ((_c = slideItemObj.options.hyperlink) === null || _c === void 0 ? void 0 : _c.url) { - strSlideXml += ``; - } - if ((_d = slideItemObj.options.hyperlink) === null || _d === void 0 ? void 0 : _d.slide) { - strSlideXml += ``; - } - strSlideXml += ""; - strSlideXml += "' : "/>"); - strSlideXml += `${slideItemObj._type === "placeholder" ? genXmlPlaceholder(slideItemObj) : genXmlPlaceholder(placeholderObj)}`; - strSlideXml += ""; - strSlideXml += ``; - strSlideXml += ``; - strSlideXml += ``; - if (slideItemObj.shape === "custGeom") { - strSlideXml += ""; - strSlideXml += ""; - strSlideXml += ""; - strSlideXml += ""; - strSlideXml += ""; - strSlideXml += ""; - strSlideXml += ''; - strSlideXml += ""; - strSlideXml += ``; - (_f = slideItemObj.options.points) === null || _f === void 0 ? void 0 : _f.forEach((point, i) => { - if ("curve" in point) { - switch (point.curve.type) { - case "arc": - strSlideXml += ``; - break; - case "cubic": - strSlideXml += ` - - - - `; - break; - case "quadratic": - strSlideXml += ` - - - `; - break; - } - } else if ("close" in point) { - strSlideXml += ""; - } else if (point.moveTo || i === 0) { - strSlideXml += ``; - } else { - strSlideXml += ``; - } - }); - strSlideXml += ""; - strSlideXml += ""; - strSlideXml += ""; - } else { - strSlideXml += ''; - if (slideItemObj.options.rectRadius) { - strSlideXml += ``; - } else if (slideItemObj.options.angleRange) { - for (let i = 0; i < 2; i++) { - const angle = slideItemObj.options.angleRange[i]; - strSlideXml += ``; - } - if (slideItemObj.options.arcThicknessRatio) { - strSlideXml += ``; - } - } - strSlideXml += ""; - } - strSlideXml += slideItemObj.options.fill ? genXmlColorSelection(slideItemObj.options.fill) : ""; - if (slideItemObj.options.line) { - strSlideXml += slideItemObj.options.line.width ? `` : ""; - if (slideItemObj.options.line.color) - strSlideXml += genXmlColorSelection(slideItemObj.options.line); - if (slideItemObj.options.line.dashType) - strSlideXml += ``; - if (slideItemObj.options.line.beginArrowType) - strSlideXml += ``; - if (slideItemObj.options.line.endArrowType) - strSlideXml += ``; - strSlideXml += ""; - } - if (slideItemObj.options.shadow && slideItemObj.options.shadow.type !== "none") { - slideItemObj.options.shadow.type = slideItemObj.options.shadow.type || "outer"; - slideItemObj.options.shadow.blur = valToPts(slideItemObj.options.shadow.blur || 8); - slideItemObj.options.shadow.offset = valToPts(slideItemObj.options.shadow.offset || 4); - slideItemObj.options.shadow.angle = Math.round((slideItemObj.options.shadow.angle || 270) * 6e4); - slideItemObj.options.shadow.opacity = Math.round((slideItemObj.options.shadow.opacity || 0.75) * 1e5); - slideItemObj.options.shadow.color = slideItemObj.options.shadow.color || DEF_TEXT_SHADOW.color; - strSlideXml += ""; - strSlideXml += ` `; - strSlideXml += ` `; - strSlideXml += ` `; - strSlideXml += " "; - strSlideXml += ""; - } - strSlideXml += ""; - strSlideXml += genXmlTextBody(slideItemObj); - strSlideXml += ""; - break; - case SLIDE_OBJECT_TYPES.image: - strSlideXml += ""; - strSlideXml += " "; - strSlideXml += ``; - if ((_g = slideItemObj.hyperlink) === null || _g === void 0 ? void 0 : _g.url) { - strSlideXml += ``; - } - if ((_h = slideItemObj.hyperlink) === null || _h === void 0 ? void 0 : _h.slide) { - strSlideXml += ``; - } - strSlideXml += " "; - strSlideXml += ' '; - strSlideXml += " " + genXmlPlaceholder(placeholderObj) + ""; - strSlideXml += " "; - strSlideXml += ""; - if ((slide._relsMedia || []).filter((rel) => rel.rId === slideItemObj.imageRid)[0] && (slide._relsMedia || []).filter((rel) => rel.rId === slideItemObj.imageRid)[0].extn === "svg") { - strSlideXml += ``; - strSlideXml += slideItemObj.options.transparency ? ` ` : ""; - strSlideXml += " "; - strSlideXml += ' '; - strSlideXml += ` `; - strSlideXml += " "; - strSlideXml += " "; - strSlideXml += ""; - } else { - strSlideXml += ``; - strSlideXml += slideItemObj.options.transparency ? `` : ""; - strSlideXml += ""; - } - if (sizing === null || sizing === void 0 ? void 0 : sizing.type) { - const boxW = sizing.w ? getSmartParseNumber(sizing.w, "X", slide._presLayout) : cx2; - const boxH = sizing.h ? getSmartParseNumber(sizing.h, "Y", slide._presLayout) : cy2; - const boxX = getSmartParseNumber(sizing.x || 0, "X", slide._presLayout); - const boxY = getSmartParseNumber(sizing.y || 0, "Y", slide._presLayout); - strSlideXml += ImageSizingXml[sizing.type]({ w: imgWidth, h: imgHeight }, { w: boxW, h: boxH, x: boxX, y: boxY }); - imgWidth = boxW; - imgHeight = boxH; - } else { - strSlideXml += " "; - } - strSlideXml += ""; - strSlideXml += ""; - strSlideXml += " "; - strSlideXml += ` `; - strSlideXml += ` `; - strSlideXml += " "; - strSlideXml += ` `; - if (slideItemObj.options.shadow && slideItemObj.options.shadow.type !== "none") { - slideItemObj.options.shadow.type = slideItemObj.options.shadow.type || "outer"; - slideItemObj.options.shadow.blur = valToPts(slideItemObj.options.shadow.blur || 8); - slideItemObj.options.shadow.offset = valToPts(slideItemObj.options.shadow.offset || 4); - slideItemObj.options.shadow.angle = Math.round((slideItemObj.options.shadow.angle || 270) * 6e4); - slideItemObj.options.shadow.opacity = Math.round((slideItemObj.options.shadow.opacity || 0.75) * 1e5); - slideItemObj.options.shadow.color = slideItemObj.options.shadow.color || DEF_TEXT_SHADOW.color; - strSlideXml += ""; - strSlideXml += ``; - strSlideXml += ``; - strSlideXml += ``; - strSlideXml += ``; - strSlideXml += ""; - } - strSlideXml += ""; - strSlideXml += ""; - break; - case SLIDE_OBJECT_TYPES.media: - if (slideItemObj.mtype === "online") { - strSlideXml += ""; - strSlideXml += " "; - strSlideXml += ``; - strSlideXml += " "; - strSlideXml += " "; - strSlideXml += ` `; - strSlideXml += " "; - strSlideXml += " "; - strSlideXml += ` `; - strSlideXml += " "; - strSlideXml += ` `; - strSlideXml += ' '; - strSlideXml += " "; - strSlideXml += ""; - } else { - strSlideXml += ""; - strSlideXml += " "; - strSlideXml += ``; - strSlideXml += ' '; - strSlideXml += " "; - strSlideXml += ` `; - strSlideXml += " "; - strSlideXml += ' '; - strSlideXml += ` `; - strSlideXml += " "; - strSlideXml += " "; - strSlideXml += " "; - strSlideXml += " "; - strSlideXml += ` `; - strSlideXml += " "; - strSlideXml += ` `; - strSlideXml += ' '; - strSlideXml += " "; - strSlideXml += ""; - } - break; - case SLIDE_OBJECT_TYPES.chart: - strSlideXml += ""; - strSlideXml += " "; - strSlideXml += ` `; - strSlideXml += " "; - strSlideXml += ` ${genXmlPlaceholder(placeholderObj)}`; - strSlideXml += " "; - strSlideXml += ` `; - strSlideXml += ' '; - strSlideXml += ' '; - strSlideXml += ` `; - strSlideXml += " "; - strSlideXml += " "; - strSlideXml += ""; - break; - default: - strSlideXml += ""; - break; - } - }); - if (slide._slideNumberProps) { - if (!slide._slideNumberProps.align) - slide._slideNumberProps.align = "left"; - strSlideXml += ""; - strSlideXml += " "; - strSlideXml += ' '; - strSlideXml += ' '; - strSlideXml += " "; - strSlideXml += " "; - strSlideXml += ` `; - strSlideXml += ""; - strSlideXml += "`; - if (slide._slideNumberProps.color) - strSlideXml += genXmlColorSelection(slide._slideNumberProps.color); - if (slide._slideNumberProps.fontFace) { - strSlideXml += ``; - } - strSlideXml += ""; - } - strSlideXml += ""; - strSlideXml += ""; - if (slide._slideNumberProps.align.startsWith("l")) - strSlideXml += ''; - else if (slide._slideNumberProps.align.startsWith("c")) - strSlideXml += ''; - else if (slide._slideNumberProps.align.startsWith("r")) - strSlideXml += ''; - else - strSlideXml += ''; - strSlideXml += ``; - strSlideXml += `${slide._slideNum}`; - strSlideXml += ""; - } - strSlideXml += ""; - strSlideXml += ""; - return strSlideXml; -} -function slideObjectRelationsToXml(slide, defaultRels) { - let lastRid = 0; - let strXml = '' + CRLF + ''; - slide._rels.forEach((rel) => { - lastRid = Math.max(lastRid, rel.rId); - if (rel.type.toLowerCase().includes("hyperlink")) { - if (rel.data === "slide") { - strXml += ``; - } else { - strXml += ``; - } - } else if (rel.type.toLowerCase().includes("notesSlide")) { - strXml += ``; - } - }); - (slide._relsChart || []).forEach((rel) => { - lastRid = Math.max(lastRid, rel.rId); - strXml += ``; - }); - (slide._relsMedia || []).forEach((rel) => { - const relRid = rel.rId.toString(); - lastRid = Math.max(lastRid, rel.rId); - if (rel.type.toLowerCase().includes("image")) { - strXml += ''; - } else if (rel.type.toLowerCase().includes("audio")) { - if (strXml.includes(' Target="' + rel.Target + '"')) { - strXml += ''; - } else { - strXml += ''; - } - } else if (rel.type.toLowerCase().includes("video")) { - if (strXml.includes(' Target="' + rel.Target + '"')) { - strXml += ''; - } else { - strXml += ''; - } - } else if (rel.type.toLowerCase().includes("online")) { - if (strXml.includes(' Target="' + rel.Target + '"')) { - strXml += ''; - } else { - strXml += ''; - } - } - }); - defaultRels.forEach((rel, idx) => { - strXml += ``; - }); - strXml += ""; - return strXml; -} -function genXmlParagraphProperties(textObj, isDefault) { - var _a, _b; - let strXmlBullet = ""; - let strXmlLnSpc = ""; - let strXmlParaSpc = ""; - let strXmlTabStops = ""; - const tag = isDefault ? "a:lvl1pPr" : "a:pPr"; - let bulletMarL = valToPts(DEF_BULLET_MARGIN); - let paragraphPropXml = `<${tag}${textObj.options.rtlMode ? ' rtl="1" ' : ""}`; - { - if (textObj.options.align) { - switch (textObj.options.align) { - case "left": - paragraphPropXml += ' algn="l"'; - break; - case "right": - paragraphPropXml += ' algn="r"'; - break; - case "center": - paragraphPropXml += ' algn="ctr"'; - break; - case "justify": - paragraphPropXml += ' algn="just"'; - break; - default: - paragraphPropXml += ""; - break; - } - } - if (textObj.options.lineSpacing) { - strXmlLnSpc = ``; - } else if (textObj.options.lineSpacingMultiple) { - strXmlLnSpc = ``; - } - if (textObj.options.indentLevel && !isNaN(Number(textObj.options.indentLevel)) && textObj.options.indentLevel > 0) { - paragraphPropXml += ` lvl="${textObj.options.indentLevel}"`; - } - if (textObj.options.paraSpaceBefore && !isNaN(Number(textObj.options.paraSpaceBefore)) && textObj.options.paraSpaceBefore > 0) { - strXmlParaSpc += ``; - } - if (textObj.options.paraSpaceAfter && !isNaN(Number(textObj.options.paraSpaceAfter)) && textObj.options.paraSpaceAfter > 0) { - strXmlParaSpc += ``; - } - if (typeof textObj.options.bullet === "object") { - if ((_b = (_a = textObj === null || textObj === void 0 ? void 0 : textObj.options) === null || _a === void 0 ? void 0 : _a.bullet) === null || _b === void 0 ? void 0 : _b.indent) - bulletMarL = valToPts(textObj.options.bullet.indent); - if (textObj.options.bullet.type) { - if (textObj.options.bullet.type.toString().toLowerCase() === "number") { - paragraphPropXml += ` marL="${textObj.options.indentLevel && textObj.options.indentLevel > 0 ? bulletMarL + bulletMarL * textObj.options.indentLevel : bulletMarL}" indent="-${bulletMarL}"`; - strXmlBullet = ``; - } - } else if (textObj.options.bullet.characterCode) { - let bulletCode = `&#x${textObj.options.bullet.characterCode};`; - if (!/^[0-9A-Fa-f]{4}$/.test(textObj.options.bullet.characterCode)) { - console.warn("Warning: `bullet.characterCode should be a 4-digit unicode charatcer (ex: 22AB)`!"); - bulletCode = BULLET_TYPES.DEFAULT; - } - paragraphPropXml += ` marL="${textObj.options.indentLevel && textObj.options.indentLevel > 0 ? bulletMarL + bulletMarL * textObj.options.indentLevel : bulletMarL}" indent="-${bulletMarL}"`; - strXmlBullet = ''; - } else if (textObj.options.bullet.code) { - let bulletCode = `&#x${textObj.options.bullet.code};`; - if (!/^[0-9A-Fa-f]{4}$/.test(textObj.options.bullet.code)) { - console.warn("Warning: `bullet.code should be a 4-digit hex code (ex: 22AB)`!"); - bulletCode = BULLET_TYPES.DEFAULT; - } - paragraphPropXml += ` marL="${textObj.options.indentLevel && textObj.options.indentLevel > 0 ? bulletMarL + bulletMarL * textObj.options.indentLevel : bulletMarL}" indent="-${bulletMarL}"`; - strXmlBullet = ''; - } else { - paragraphPropXml += ` marL="${textObj.options.indentLevel && textObj.options.indentLevel > 0 ? bulletMarL + bulletMarL * textObj.options.indentLevel : bulletMarL}" indent="-${bulletMarL}"`; - strXmlBullet = ``; - } - } else if (textObj.options.bullet) { - paragraphPropXml += ` marL="${textObj.options.indentLevel && textObj.options.indentLevel > 0 ? bulletMarL + bulletMarL * textObj.options.indentLevel : bulletMarL}" indent="-${bulletMarL}"`; - strXmlBullet = ``; - } else if (!textObj.options.bullet) { - paragraphPropXml += ' indent="0" marL="0"'; - strXmlBullet = ""; - } - if (textObj.options.tabStops && Array.isArray(textObj.options.tabStops)) { - const tabStopsXml = textObj.options.tabStops.map((stop) => ``).join(""); - strXmlTabStops = `${tabStopsXml}`; - } - paragraphPropXml += ">" + strXmlLnSpc + strXmlParaSpc + strXmlBullet + strXmlTabStops; - if (isDefault) - paragraphPropXml += genXmlTextRunProperties(textObj.options, true); - paragraphPropXml += ""; - } - return paragraphPropXml; -} -function genXmlTextRunProperties(opts, isDefault) { - var _a; - let runProps = ""; - const runPropsTag = isDefault ? "a:defRPr" : "a:rPr"; - runProps += "<" + runPropsTag + ' lang="' + (opts.lang ? opts.lang : "en-US") + '"' + (opts.lang ? ' altLang="en-US"' : ""); - runProps += opts.fontSize ? ` sz="${Math.round(opts.fontSize * 100)}"` : ""; - runProps += (opts === null || opts === void 0 ? void 0 : opts.bold) ? ` b="${opts.bold ? "1" : "0"}"` : ""; - runProps += (opts === null || opts === void 0 ? void 0 : opts.italic) ? ` i="${opts.italic ? "1" : "0"}"` : ""; - runProps += (opts === null || opts === void 0 ? void 0 : opts.strike) ? ` strike="${typeof opts.strike === "string" ? opts.strike : "sngStrike"}"` : ""; - if (typeof opts.underline === "object" && ((_a = opts.underline) === null || _a === void 0 ? void 0 : _a.style)) { - runProps += ` u="${opts.underline.style}"`; - } else if (typeof opts.underline === "string") { - runProps += ` u="${String(opts.underline)}"`; - } else if (opts.hyperlink) { - runProps += ' u="sng"'; - } - if (opts.baseline) { - runProps += ` baseline="${Math.round(opts.baseline * 50)}"`; - } else if (opts.subscript) { - runProps += ' baseline="-40000"'; - } else if (opts.superscript) { - runProps += ' baseline="30000"'; - } - runProps += opts.charSpacing ? ` spc="${Math.round(opts.charSpacing * 100)}" kern="0"` : ""; - runProps += ' dirty="0">'; - if (opts.color || opts.fontFace || opts.outline || typeof opts.underline === "object" && opts.underline.color) { - if (opts.outline && typeof opts.outline === "object") { - runProps += `${genXmlColorSelection(opts.outline.color || "FFFFFF")}`; - } - if (opts.color) - runProps += genXmlColorSelection({ color: opts.color, transparency: opts.transparency }); - if (opts.highlight) - runProps += `${createColorElement(opts.highlight)}`; - if (typeof opts.underline === "object" && opts.underline.color) - runProps += `${genXmlColorSelection(opts.underline.color)}`; - if (opts.glow) - runProps += `${createGlowElement(opts.glow, DEF_TEXT_GLOW)}`; - if (opts.fontFace) { - runProps += ``; - } - } - if (opts.hyperlink) { - if (typeof opts.hyperlink !== "object") - throw new Error("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink:{url:'https://github.com'}` "); - else if (!opts.hyperlink.url && !opts.hyperlink.slide) - throw new Error("ERROR: 'hyperlink requires either `url` or `slide`'"); - else if (opts.hyperlink.url) { - runProps += `" : "/>"}`; - } else if (opts.hyperlink.slide) { - runProps += `" : "/>"}`; - } - if (opts.color) { - runProps += " "; - runProps += ' '; - runProps += ' '; - runProps += " "; - runProps += " "; - runProps += ""; - } - } - runProps += ``; - return runProps; -} -function genXmlTextRun(textObj) { - return textObj.text ? `${genXmlTextRunProperties(textObj.options, false)}${encodeXmlEntities(textObj.text)}` : ""; -} -function genXmlBodyProperties(slideObject) { - let bodyProperties = "" : ""; - bodyProperties += ""; - } else { - bodyProperties += ' wrap="square" rtlCol="0">'; - bodyProperties += ""; - } - return slideObject._type === SLIDE_OBJECT_TYPES.tablecell ? "" : bodyProperties; -} -function genXmlTextBody(slideObj) { - const opts = slideObj.options || {}; - let tmpTextObjects = []; - const arrTextObjects = []; - if (opts && slideObj._type !== SLIDE_OBJECT_TYPES.tablecell && (typeof slideObj.text === "undefined" || slideObj.text === null)) - return ""; - let strSlideXml = slideObj._type === SLIDE_OBJECT_TYPES.tablecell ? "" : ""; - { - strSlideXml += genXmlBodyProperties(slideObj); - if (opts.h === 0 && opts.line && opts.align) - strSlideXml += ''; - else if (slideObj._type === "placeholder") - strSlideXml += `${genXmlParagraphProperties(slideObj, true)}`; - else - strSlideXml += ""; - } - if (typeof slideObj.text === "string" || typeof slideObj.text === "number") { - tmpTextObjects.push({ text: slideObj.text.toString(), options: opts || {} }); - } else if (slideObj.text && !Array.isArray(slideObj.text) && typeof slideObj.text === "object" && Object.keys(slideObj.text).includes("text")) { - tmpTextObjects.push({ text: slideObj.text || "", options: slideObj.options || {} }); - } else if (Array.isArray(slideObj.text)) { - tmpTextObjects = slideObj.text.map((item) => ({ text: item.text, options: item.options })); - } - tmpTextObjects.forEach((itext, idx) => { - if (!itext.text) - itext.text = ""; - itext.options = itext.options || opts || {}; - if (idx === 0 && itext.options && !itext.options.bullet && opts.bullet) - itext.options.bullet = opts.bullet; - if (typeof itext.text === "string" || typeof itext.text === "number") { - itext.text = itext.text.toString().replace(/\r*\n/g, CRLF); - } - if (itext.text.includes(CRLF) && itext.text.match(/\n$/g) === null) { - itext.text.split(CRLF).forEach((line) => { - itext.options.breakLine = true; - arrTextObjects.push({ text: line, options: itext.options }); - }); - } else { - arrTextObjects.push(itext); - } - }); - const arrLines = []; - let arrTexts = []; - arrTextObjects.forEach((textObj, idx) => { - if (arrTexts.length > 0 && (textObj.options.align || opts.align)) { - if (textObj.options.align !== arrTextObjects[idx - 1].options.align) { - arrLines.push(arrTexts); - arrTexts = []; - } - } else if (arrTexts.length > 0 && textObj.options.bullet && arrTexts.length > 0) { - arrLines.push(arrTexts); - arrTexts = []; - textObj.options.breakLine = false; - } - arrTexts.push(textObj); - if (arrTexts.length > 0 && textObj.options.breakLine) { - if (idx + 1 < arrTextObjects.length) { - arrLines.push(arrTexts); - arrTexts = []; - } - } - if (idx + 1 === arrTextObjects.length) - arrLines.push(arrTexts); - }); - arrLines.forEach((line) => { - var _a; - let reqsClosingFontSize = false; - strSlideXml += ""; - let paragraphPropXml = ` { - textObj.options._lineIdx = idx; - if (idx > 0 && textObj.options.softBreakBefore) { - strSlideXml += ""; - } - textObj.options.align = textObj.options.align || opts.align; - textObj.options.lineSpacing = textObj.options.lineSpacing || opts.lineSpacing; - textObj.options.lineSpacingMultiple = textObj.options.lineSpacingMultiple || opts.lineSpacingMultiple; - textObj.options.indentLevel = textObj.options.indentLevel || opts.indentLevel; - textObj.options.paraSpaceBefore = textObj.options.paraSpaceBefore || opts.paraSpaceBefore; - textObj.options.paraSpaceAfter = textObj.options.paraSpaceAfter || opts.paraSpaceAfter; - paragraphPropXml = genXmlParagraphProperties(textObj, false); - strSlideXml += paragraphPropXml.replace("", ""); - Object.entries(opts).filter(([key]) => !(textObj.options.hyperlink && key === "color")).forEach(([key, val]) => { - if (key !== "bullet" && !textObj.options[key]) - textObj.options[key] = val; - }); - strSlideXml += genXmlTextRun(textObj); - if (!textObj.text && opts.fontSize || textObj.options.fontSize) { - reqsClosingFontSize = true; - opts.fontSize = opts.fontSize || textObj.options.fontSize; - } - }); - if (slideObj._type === SLIDE_OBJECT_TYPES.tablecell && (opts.fontSize || opts.fontFace)) { - if (opts.fontFace) { - strSlideXml += `'; - strSlideXml += ``; - strSlideXml += ``; - strSlideXml += ``; - strSlideXml += ""; - } else { - strSlideXml += `'; - } - } else if (reqsClosingFontSize) { - strSlideXml += `'; - } else { - strSlideXml += ``; - } - strSlideXml += ""; - }); - if (strSlideXml.indexOf("") === -1) { - strSlideXml += ""; - } - strSlideXml += slideObj._type === SLIDE_OBJECT_TYPES.tablecell ? "" : ""; - return strSlideXml; -} -function genXmlPlaceholder(placeholderObj) { - var _a, _b; - if (!placeholderObj) - return ""; - const placeholderIdx = ((_a = placeholderObj.options) === null || _a === void 0 ? void 0 : _a._placeholderIdx) ? placeholderObj.options._placeholderIdx : ""; - const placeholderTyp = ((_b = placeholderObj.options) === null || _b === void 0 ? void 0 : _b._placeholderType) ? placeholderObj.options._placeholderType : ""; - const placeholderType = placeholderTyp && PLACEHOLDER_TYPES[placeholderTyp] ? PLACEHOLDER_TYPES[placeholderTyp].toString() : ""; - return ` 0 ? ' hasCustomPrompt="1"' : ""} - />`; -} -function makeXmlContTypes(slides, slideLayouts, masterSlide) { - let strXml = '' + CRLF; - strXml += ''; - strXml += ''; - strXml += ''; - strXml += ''; - strXml += ''; - strXml += ''; - strXml += ''; - strXml += ''; - strXml += ''; - strXml += ''; - slides.forEach((slide) => { - (slide._relsMedia || []).forEach((rel) => { - if (rel.type !== "image" && rel.type !== "online" && rel.type !== "chart" && rel.extn !== "m4v" && !strXml.includes(rel.type)) { - strXml += ''; - } - }); - }); - strXml += ''; - strXml += ''; - strXml += ''; - strXml += ''; - slides.forEach((slide, idx) => { - strXml += ``; - strXml += ``; - slide._relsChart.forEach((rel) => { - strXml += ``; - }); - }); - strXml += ''; - strXml += ''; - strXml += ''; - strXml += ''; - slideLayouts.forEach((layout, idx) => { - strXml += ``; - (layout._relsChart || []).forEach((rel) => { - strXml += ' '; - }); - }); - slides.forEach((_slide, idx) => { - strXml += ``; - }); - masterSlide._relsChart.forEach((rel) => { - strXml += ' '; - }); - masterSlide._relsMedia.forEach((rel) => { - if (rel.type !== "image" && rel.type !== "online" && rel.type !== "chart" && rel.extn !== "m4v" && !strXml.includes(rel.type)) { - strXml += ' '; - } - }); - strXml += ' '; - strXml += ' '; - strXml += ""; - return strXml; -} -function makeXmlRootRels() { - return `${CRLF} - - - - `; -} -function makeXmlApp(slides, company) { - return `${CRLF} - 0 - 0 - Microsoft Office PowerPoint - On-screen Show (16:9) - 0 - ${slides.length} - ${slides.length} - 0 - 0 - false - - - Fonts Used - 2 - Theme - 1 - Slide Titles - ${slides.length} - - - - - Arial - Calibri - Office Theme - ${slides.map((_slideObj, idx) => `Slide ${idx + 1}`).join("")} - - - ${company} - false - false - false - 16.0000 - `; -} -function makeXmlCore(title, subject, author, revision) { - return ` - - ${encodeXmlEntities(title)} - ${encodeXmlEntities(subject)} - ${encodeXmlEntities(author)} - ${encodeXmlEntities(author)} - ${revision} - ${(/* @__PURE__ */ new Date()).toISOString().replace(/\.\d\d\dZ/, "Z")} - ${(/* @__PURE__ */ new Date()).toISOString().replace(/\.\d\d\dZ/, "Z")} - `; -} -function makeXmlPresentationRels(slides) { - let intRelNum = 1; - let strXml = '' + CRLF; - strXml += ''; - strXml += ''; - for (let idx = 1; idx <= slides.length; idx++) { - strXml += ``; - } - intRelNum++; - strXml += ``; - return strXml; -} -function makeXmlSlide(slide) { - return `${CRLF}${slideObjectToXml(slide)}`; -} -function getNotesFromSlide(slide) { - let notesText = ""; - slide._slideObjects.forEach((data) => { - if (data._type === SLIDE_OBJECT_TYPES.notes) - notesText += (data === null || data === void 0 ? void 0 : data.text) && data.text[0] ? data.text[0].text : ""; - }); - return notesText.replace(/\r*\n/g, CRLF); -} -function makeXmlNotesMaster() { - return `${CRLF}7/23/19Click to edit Master text stylesSecond levelThird levelFourth levelFifth level\u2039#\u203A`; -} -function makeXmlNotesSlide(slide) { - return `${CRLF}${encodeXmlEntities(getNotesFromSlide(slide))}${slide._slideNum}`; -} -function makeXmlLayout(layout) { - return ` - - ${slideObjectToXml(layout)} - `; -} -function makeXmlMaster(slide, layouts) { - const layoutDefs = layouts.map((_layoutDef, idx) => ``); - let strXml = '' + CRLF; - strXml += ''; - strXml += slideObjectToXml(slide); - strXml += ''; - strXml += "" + layoutDefs.join("") + ""; - strXml += ''; - strXml += ' '; - strXml += ""; - return strXml; -} -function makeXmlSlideLayoutRel(layoutNumber, slideLayouts) { - return slideObjectRelationsToXml(slideLayouts[layoutNumber - 1], [ - { - target: "../slideMasters/slideMaster1.xml", - type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster" - } - ]); -} -function makeXmlSlideRel(slides, slideLayouts, slideNumber) { - return slideObjectRelationsToXml(slides[slideNumber - 1], [ - { - target: `../slideLayouts/slideLayout${getLayoutIdxForSlide(slides, slideLayouts, slideNumber)}.xml`, - type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout" - }, - { - target: `../notesSlides/notesSlide${slideNumber}.xml`, - type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide" - } - ]); -} -function makeXmlNotesSlideRel(slideNumber) { - return ` - - - - `; -} -function makeXmlMasterRel(masterSlide, slideLayouts) { - const defaultRels = slideLayouts.map((_layoutDef, idx) => ({ - target: `../slideLayouts/slideLayout${idx + 1}.xml`, - type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout" - })); - defaultRels.push({ target: "../theme/theme1.xml", type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" }); - return slideObjectRelationsToXml(masterSlide, defaultRels); -} -function makeXmlNotesMasterRel() { - return `${CRLF} - - `; -} -function getLayoutIdxForSlide(slides, slideLayouts, slideNumber) { - for (let i = 0; i < slideLayouts.length; i++) { - if (slideLayouts[i]._name === slides[slideNumber - 1]._slideLayout._name) { - return i + 1; - } - } - return 1; -} -function makeXmlTheme(pres) { - var _a, _b, _c, _d; - const majorFont = ((_a = pres.theme) === null || _a === void 0 ? void 0 : _a.headFontFace) ? `` : ''; - const minorFont = ((_c = pres.theme) === null || _c === void 0 ? void 0 : _c.bodyFontFace) ? `` : ''; - return `${majorFont}${minorFont}`; -} -function makeXmlPresentation(pres) { - let strXml = `${CRLF}`; - strXml += ''; - strXml += ""; - pres.slides.forEach((slide) => strXml += ``); - strXml += ""; - strXml += ``; - strXml += ``; - strXml += ``; - strXml += ""; - for (let idy = 1; idy < 10; idy++) { - strXml += ``; - } - strXml += ""; - if (pres.sections && pres.sections.length > 0) { - strXml += ''; - strXml += ''; - pres.sections.forEach((sect) => { - strXml += ``; - sect._slides.forEach((slide) => strXml += ``); - strXml += ""; - }); - strXml += ""; - strXml += ''; - strXml += ""; - } - strXml += ""; - return strXml; -} -function makeXmlPresProps() { - return `${CRLF}`; -} -function makeXmlTableStyles() { - return `${CRLF}`; -} -function makeXmlViewProps() { - return `${CRLF}`; -} -var VERSION = "4.0.1"; -var PptxGenJS = class { - set layout(value) { - const newLayout = this.LAYOUTS[value]; - if (newLayout) { - this._layout = value; - this._presLayout = newLayout; - } else { - throw new Error("UNKNOWN-LAYOUT"); - } - } - get layout() { - return this._layout; - } - get version() { - return this._version; - } - set author(value) { - this._author = value; - } - get author() { - return this._author; - } - set company(value) { - this._company = value; - } - get company() { - return this._company; - } - set revision(value) { - this._revision = value; - } - get revision() { - return this._revision; - } - set subject(value) { - this._subject = value; - } - get subject() { - return this._subject; - } - set theme(value) { - this._theme = value; - } - get theme() { - return this._theme; - } - set title(value) { - this._title = value; - } - get title() { - return this._title; - } - set rtlMode(value) { - this._rtlMode = value; - } - get rtlMode() { - return this._rtlMode; - } - get masterSlide() { - return this._masterSlide; - } - get slides() { - return this._slides; - } - get sections() { - return this._sections; - } - get slideLayouts() { - return this._slideLayouts; - } - get AlignH() { - return this._alignH; - } - get AlignV() { - return this._alignV; - } - get ChartType() { - return this._chartType; - } - get OutputType() { - return this._outputType; - } - get presLayout() { - return this._presLayout; - } - get SchemeColor() { - return this._schemeColor; - } - get ShapeType() { - return this._shapeType; - } - get charts() { - return this._charts; - } - get colors() { - return this._colors; - } - get shapes() { - return this._shapes; - } - constructor() { - this._version = VERSION; - this._alignH = AlignH; - this._alignV = AlignV; - this._chartType = ChartType; - this._outputType = OutputType; - this._schemeColor = SchemeColor; - this._shapeType = ShapeType; - this._charts = CHART_TYPE; - this._colors = SCHEME_COLOR_NAMES; - this._shapes = SHAPE_TYPE; - this.addNewSlide = (options) => { - const sectAlreadyInUse = this.sections.length > 0 && this.sections[this.sections.length - 1]._slides.filter((slide) => slide._slideNum === this.slides[this.slides.length - 1]._slideNum).length > 0; - options.sectionTitle = sectAlreadyInUse ? this.sections[this.sections.length - 1].title : null; - return this.addSlide(options); - }; - this.getSlide = (slideNum) => this.slides.filter((slide) => slide._slideNum === slideNum)[0]; - this.setSlideNumber = (slideNum) => { - this.masterSlide._slideNumberProps = slideNum; - this.slideLayouts.filter((layout) => layout._name === DEF_PRES_LAYOUT_NAME)[0]._slideNumberProps = slideNum; - }; - this.createChartMediaRels = (slide, zip, chartPromises) => { - slide._relsChart.forEach((rel) => chartPromises.push(createExcelWorksheet(rel, zip))); - slide._relsMedia.forEach((rel) => { - if (rel.type !== "online" && rel.type !== "hyperlink") { - let data = rel.data && typeof rel.data === "string" ? rel.data : ""; - if (!data.includes(",") && !data.includes(";")) - data = "image/png;base64," + data; - else if (!data.includes(",")) - data = "image/png;base64," + data; - else if (!data.includes(";")) - data = "image/png;" + data; - zip.file(rel.Target.replace("..", "ppt"), data.split(",").pop(), { base64: true }); - } - }); - }; - this.writeFileToBrowser = (exportName, blobContent) => __awaiter2(this, void 0, void 0, function* () { - const eleLink = document.createElement("a"); - eleLink.setAttribute("style", "display:none;"); - eleLink.dataset.interception = "off"; - document.body.appendChild(eleLink); - if (window.URL.createObjectURL) { - const url = window.URL.createObjectURL(new Blob([blobContent], { type: "application/vnd.openxmlformats-officedocument.presentationml.presentation" })); - eleLink.href = url; - eleLink.download = exportName; - eleLink.click(); - setTimeout(() => { - window.URL.revokeObjectURL(url); - document.body.removeChild(eleLink); - }, 100); - return yield Promise.resolve(exportName); - } - }); - this.exportPresentation = (props) => __awaiter2(this, void 0, void 0, function* () { - const arrChartPromises = []; - let arrMediaPromises = []; - const zip = new import_jszip.default(); - this.slides.forEach((slide) => { - arrMediaPromises = arrMediaPromises.concat(encodeSlideMediaRels(slide)); - }); - this.slideLayouts.forEach((layout) => { - arrMediaPromises = arrMediaPromises.concat(encodeSlideMediaRels(layout)); - }); - arrMediaPromises = arrMediaPromises.concat(encodeSlideMediaRels(this.masterSlide)); - return yield Promise.all(arrMediaPromises).then(() => __awaiter2(this, void 0, void 0, function* () { - this.slides.forEach((slide) => { - if (slide._slideLayout) - addPlaceholdersToSlideLayouts(slide); - }); - zip.folder("_rels"); - zip.folder("docProps"); - zip.folder("ppt").folder("_rels"); - zip.folder("ppt/charts").folder("_rels"); - zip.folder("ppt/embeddings"); - zip.folder("ppt/media"); - zip.folder("ppt/slideLayouts").folder("_rels"); - zip.folder("ppt/slideMasters").folder("_rels"); - zip.folder("ppt/slides").folder("_rels"); - zip.folder("ppt/theme"); - zip.folder("ppt/notesMasters").folder("_rels"); - zip.folder("ppt/notesSlides").folder("_rels"); - zip.file("[Content_Types].xml", makeXmlContTypes(this.slides, this.slideLayouts, this.masterSlide)); - zip.file("_rels/.rels", makeXmlRootRels()); - zip.file("docProps/app.xml", makeXmlApp(this.slides, this.company)); - zip.file("docProps/core.xml", makeXmlCore(this.title, this.subject, this.author, this.revision)); - zip.file("ppt/_rels/presentation.xml.rels", makeXmlPresentationRels(this.slides)); - zip.file("ppt/theme/theme1.xml", makeXmlTheme(this)); - zip.file("ppt/presentation.xml", makeXmlPresentation(this)); - zip.file("ppt/presProps.xml", makeXmlPresProps()); - zip.file("ppt/tableStyles.xml", makeXmlTableStyles()); - zip.file("ppt/viewProps.xml", makeXmlViewProps()); - this.slideLayouts.forEach((layout, idx) => { - zip.file(`ppt/slideLayouts/slideLayout${idx + 1}.xml`, makeXmlLayout(layout)); - zip.file(`ppt/slideLayouts/_rels/slideLayout${idx + 1}.xml.rels`, makeXmlSlideLayoutRel(idx + 1, this.slideLayouts)); - }); - this.slides.forEach((slide, idx) => { - zip.file(`ppt/slides/slide${idx + 1}.xml`, makeXmlSlide(slide)); - zip.file(`ppt/slides/_rels/slide${idx + 1}.xml.rels`, makeXmlSlideRel(this.slides, this.slideLayouts, idx + 1)); - zip.file(`ppt/notesSlides/notesSlide${idx + 1}.xml`, makeXmlNotesSlide(slide)); - zip.file(`ppt/notesSlides/_rels/notesSlide${idx + 1}.xml.rels`, makeXmlNotesSlideRel(idx + 1)); - }); - zip.file("ppt/slideMasters/slideMaster1.xml", makeXmlMaster(this.masterSlide, this.slideLayouts)); - zip.file("ppt/slideMasters/_rels/slideMaster1.xml.rels", makeXmlMasterRel(this.masterSlide, this.slideLayouts)); - zip.file("ppt/notesMasters/notesMaster1.xml", makeXmlNotesMaster()); - zip.file("ppt/notesMasters/_rels/notesMaster1.xml.rels", makeXmlNotesMasterRel()); - this.slideLayouts.forEach((layout) => { - this.createChartMediaRels(layout, zip, arrChartPromises); - }); - this.slides.forEach((slide) => { - this.createChartMediaRels(slide, zip, arrChartPromises); - }); - this.createChartMediaRels(this.masterSlide, zip, arrChartPromises); - return yield Promise.all(arrChartPromises).then(() => __awaiter2(this, void 0, void 0, function* () { - if (props.outputType === "STREAM") { - return yield zip.generateAsync({ type: "nodebuffer", compression: props.compression ? "DEFLATE" : "STORE" }); - } else if (props.outputType) { - return yield zip.generateAsync({ type: props.outputType }); - } else { - return yield zip.generateAsync({ type: "blob", compression: props.compression ? "DEFLATE" : "STORE" }); - } - })); - })); - }); - const layout4x3 = { name: "screen4x3", width: 9144e3, height: 6858e3 }; - const layout16x9 = { name: "screen16x9", width: 9144e3, height: 5143500 }; - const layout16x10 = { name: "screen16x10", width: 9144e3, height: 5715e3 }; - const layoutWide = { name: "custom", width: 12192e3, height: 6858e3 }; - this.LAYOUTS = { - LAYOUT_4x3: layout4x3, - LAYOUT_16x9: layout16x9, - LAYOUT_16x10: layout16x10, - LAYOUT_WIDE: layoutWide - }; - this._author = "PptxGenJS"; - this._company = "PptxGenJS"; - this._revision = "1"; - this._subject = "PptxGenJS Presentation"; - this._title = "PptxGenJS Presentation"; - this._presLayout = { - name: this.LAYOUTS[DEF_PRES_LAYOUT].name, - _sizeW: this.LAYOUTS[DEF_PRES_LAYOUT].width, - _sizeH: this.LAYOUTS[DEF_PRES_LAYOUT].height, - width: this.LAYOUTS[DEF_PRES_LAYOUT].width, - height: this.LAYOUTS[DEF_PRES_LAYOUT].height - }; - this._rtlMode = false; - this._slideLayouts = [ - { - _margin: DEF_SLIDE_MARGIN_IN, - _name: DEF_PRES_LAYOUT_NAME, - _presLayout: this._presLayout, - _rels: [], - _relsChart: [], - _relsMedia: [], - _slide: null, - _slideNum: 1e3, - _slideNumberProps: null, - _slideObjects: [] - } - ]; - this._slides = []; - this._sections = []; - this._masterSlide = { - addChart: null, - addImage: null, - addMedia: null, - addNotes: null, - addShape: null, - addTable: null, - addText: null, - // - _name: null, - _presLayout: this._presLayout, - _rId: null, - _rels: [], - _relsChart: [], - _relsMedia: [], - _slideId: null, - _slideLayout: null, - _slideNum: null, - _slideNumberProps: null, - _slideObjects: [] - }; - } - // EXPORT METHODS - /** - * Export the current Presentation to stream - * @param {WriteBaseProps} props - output properties - * @returns {Promise} file stream - */ - stream(props) { - return __awaiter2(this, void 0, void 0, function* () { - return yield this.exportPresentation({ - compression: props === null || props === void 0 ? void 0 : props.compression, - outputType: "STREAM" - }); - }); - } - /** - * Export the current Presentation as JSZip content with the selected type - * @param {WriteProps} props output properties - * @returns {Promise} file content in selected type - */ - write(props) { - return __awaiter2(this, void 0, void 0, function* () { - const propsOutpType = typeof props === "object" && (props === null || props === void 0 ? void 0 : props.outputType) ? props.outputType : props ? props : null; - const propsCompress = typeof props === "object" && (props === null || props === void 0 ? void 0 : props.compression) ? props.compression : false; - return yield this.exportPresentation({ - compression: propsCompress, - outputType: propsOutpType - }); - }); - } - /** - * Export the current Presentation. - * Write the generated presentation to disk (Node) or trigger a download (browser). - * @param {WriteFileProps} props - output file properties - * @returns {Promise} the presentation name - */ - writeFile(props) { - return __awaiter2(this, void 0, void 0, function* () { - var _a, _b; - const isNode = typeof process !== "undefined" && !!((_a = process.versions) === null || _a === void 0 ? void 0 : _a.node) && ((_b = process.release) === null || _b === void 0 ? void 0 : _b.name) === "node"; - if (typeof props === "string") { - console.warn("[WARNING] writeFile(string) is deprecated - pass { fileName } instead."); - props = { fileName: props }; - } - const { fileName: rawName = "Presentation.pptx", compression = false } = props; - const fileName = rawName.toLowerCase().endsWith(".pptx") ? rawName : `${rawName}.pptx`; - const outputType = isNode ? "nodebuffer" : null; - const data = yield this.exportPresentation({ compression, outputType }); - if (isNode) { - const { promises: fs } = yield Promise.resolve().then(() => __toESM(require_node_fs())); - const { writeFile } = fs; - yield writeFile(fileName, data); - return fileName; - } - yield this.writeFileToBrowser(fileName, data); - return fileName; - }); - } - // PRESENTATION METHODS - /** - * Add a new Section to Presentation - * @param {ISectionProps} section - section properties - * @example pptx.addSection({ title:'Charts' }); - */ - addSection(section) { - if (!section) - console.warn("addSection requires an argument"); - else if (!section.title) - console.warn("addSection requires a title"); - const newSection = { - _type: "user", - _slides: [], - title: section.title - }; - if (section.order) - this.sections.splice(section.order, 0, newSection); - else - this._sections.push(newSection); - } - /** - * Add a new Slide to Presentation - * @param {AddSlideProps} options - slide options - * @returns {PresSlide} the new Slide - */ - addSlide(options) { - const masterSlideName = typeof options === "string" ? options : (options === null || options === void 0 ? void 0 : options.masterName) ? options.masterName : ""; - let slideLayout = { - _name: this.LAYOUTS[DEF_PRES_LAYOUT].name, - _presLayout: this.presLayout, - _rels: [], - _relsChart: [], - _relsMedia: [], - _slideNum: this.slides.length + 1 - }; - if (masterSlideName) { - const tmpLayout = this.slideLayouts.filter((layout) => layout._name === masterSlideName)[0]; - if (tmpLayout) - slideLayout = tmpLayout; - } - const newSlide = new Slide({ - addSlide: this.addNewSlide, - getSlide: this.getSlide, - presLayout: this.presLayout, - setSlideNum: this.setSlideNumber, - slideId: this.slides.length + 256, - slideRId: this.slides.length + 2, - slideNumber: this.slides.length + 1, - slideLayout - }); - this._slides.push(newSlide); - if (options === null || options === void 0 ? void 0 : options.sectionTitle) { - const sect = this.sections.filter((section) => section.title === options.sectionTitle)[0]; - if (!sect) - console.warn(`addSlide: unable to find section with title: "${options.sectionTitle}"`); - else - sect._slides.push(newSlide); - } else if (this.sections && this.sections.length > 0 && !(options === null || options === void 0 ? void 0 : options.sectionTitle)) { - const lastSect = this._sections[this.sections.length - 1]; - if (lastSect._type === "default") - lastSect._slides.push(newSlide); - else { - this._sections.push({ - title: `Default-${this.sections.filter((sect) => sect._type === "default").length + 1}`, - _type: "default", - _slides: [newSlide] - }); - } - } - return newSlide; - } - /** - * Create a custom Slide Layout in any size - * @param {PresLayout} layout - layout properties - * @example pptx.defineLayout({ name:'A3', width:16.5, height:11.7 }); - */ - defineLayout(layout) { - if (!layout) - console.warn("defineLayout requires `{name, width, height}`"); - else if (!layout.name) - console.warn("defineLayout requires `name`"); - else if (!layout.width) - console.warn("defineLayout requires `width`"); - else if (!layout.height) - console.warn("defineLayout requires `height`"); - else if (typeof layout.height !== "number") - console.warn("defineLayout `height` should be a number (inches)"); - else if (typeof layout.width !== "number") - console.warn("defineLayout `width` should be a number (inches)"); - this.LAYOUTS[layout.name] = { - name: layout.name, - _sizeW: Math.round(Number(layout.width) * EMU), - _sizeH: Math.round(Number(layout.height) * EMU), - width: Math.round(Number(layout.width) * EMU), - height: Math.round(Number(layout.height) * EMU) - }; - } - /** - * Create a new slide master [layout] for the Presentation - * @param {SlideMasterProps} props - layout properties - */ - defineSlideMaster(props) { - const propsClone = JSON.parse(JSON.stringify(props)); - if (!propsClone.title) - throw new Error("defineSlideMaster() object argument requires a `title` value. (https://gitbrent.github.io/PptxGenJS/docs/masters.html)"); - const newLayout = { - _margin: propsClone.margin || DEF_SLIDE_MARGIN_IN, - _name: propsClone.title, - _presLayout: this.presLayout, - _rels: [], - _relsChart: [], - _relsMedia: [], - _slide: null, - _slideNum: 1e3 + this.slideLayouts.length + 1, - _slideNumberProps: propsClone.slideNumber || null, - _slideObjects: [], - background: propsClone.background || null, - bkgd: propsClone.bkgd || null - }; - createSlideMaster(propsClone, newLayout); - this.slideLayouts.push(newLayout); - if (propsClone.background || propsClone.bkgd) - addBackgroundDefinition(propsClone.background, newLayout); - if (newLayout._slideNumberProps && !this.masterSlide._slideNumberProps) - this.masterSlide._slideNumberProps = newLayout._slideNumberProps; - } - // HTML-TO-SLIDES METHODS - /** - * Reproduces an HTML table as a PowerPoint table - including column widths, style, etc. - creates 1 or more slides as needed - * @param {string} eleId - table HTML element ID - * @param {TableToSlidesProps} options - generation options - */ - tableToSlides(eleId, options = {}) { - genTableToSlides(this, eleId, options, (options === null || options === void 0 ? void 0 : options.masterSlideName) ? this.slideLayouts.filter((layout) => layout._name === options.masterSlideName)[0] : null); - } -}; - -// src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/pptx-html-build.js -var PX_PER_IN = 96; -var EMU_PER_IN = 914400; -var SLIDE_W_IN = 13.333; -var SLIDE_H_IN = 7.5; -function capTextBoxWidth(x, w) { - return Math.min(w, Math.max(0.15, SLIDE_W_IN - x - 0.04)); -} -function toImagePayload(src) { - const raw = String(src || "").trim(); - if (!raw) return null; - if (raw.startsWith("data:")) return { data: raw }; - if (raw.startsWith("file://")) return { path: raw.replace("file://", "") }; - return { path: raw }; -} -function validateDimensions(bodyDimensions, pres) { - const errors = []; - const widthInches = bodyDimensions.width / PX_PER_IN; - const heightInches = bodyDimensions.height / PX_PER_IN; - if (pres.presLayout) { - const layoutWidth = pres.presLayout.width / EMU_PER_IN; - const layoutHeight = pres.presLayout.height / EMU_PER_IN; - if (Math.abs(layoutWidth - widthInches) > 0.1 || Math.abs(layoutHeight - heightInches) > 0.1) { - errors.push( - `HTML dimensions (${widthInches.toFixed(1)}" \xD7 ${heightInches.toFixed(1)}") don't match presentation layout (${layoutWidth.toFixed(1)}" \xD7 ${layoutHeight.toFixed(1)}")` - ); - } - } - return errors; -} -function validateTextBoxPosition(slideData, bodyDimensions) { - const errors = []; - const slideHeightInches = bodyDimensions.height / PX_PER_IN; - const minBottomMargin = 0.5; - for (const el of slideData.elements) { - if (!["p", "h1", "h2", "h3", "h4", "h5", "h6", "text", "list", "merged-text"].includes(el.type)) continue; - const fontSize = el.style?.fontSize || 0; - const bottomEdge = el.position.y + el.position.h; - const distanceFromBottom = slideHeightInches - bottomEdge; - const textValue = (() => { - if (typeof el.text === "string") return el.text; - if (Array.isArray(el.text)) return el.text.find((t) => t.text)?.text || ""; - if (Array.isArray(el.items)) return el.items.find((item) => item.text)?.text || ""; - return ""; - })(); - const isFooter = /^\d{1,2}\s*\/\s*\d{1,2}$/.test(textValue.trim()) || /^(Arknights|数据来源|source:)/i.test(textValue.trim()); - if (isFooter || fontSize <= 11) continue; - if (fontSize > 12 && distanceFromBottom < minBottomMargin) { - const textPrefix = `${textValue.substring(0, 50)}${textValue.length > 50 ? "..." : ""}`; - errors.push( - `Text box "${textPrefix}" ends too close to bottom edge (${distanceFromBottom.toFixed(2)}" from bottom, minimum ${minBottomMargin}" required)` - ); - } - } - return errors; -} -async function addBackground(slideData, targetSlide) { - if (slideData.background?.type === "image" && slideData.background.path) { - const payload = toImagePayload(slideData.background.path); - if (payload) targetSlide.background = payload; - } else if (slideData.background?.type === "color" && slideData.background.value) { - targetSlide.background = { color: slideData.background.value }; - } -} -function addElements(slideData, targetSlide, pres) { - for (const el of slideData.elements) { - if (el.type === "image") { - const payload = toImagePayload(el.src); - if (!payload) continue; - targetSlide.addImage({ - ...payload, - x: el.position.x, - y: el.position.y, - w: el.position.w, - h: el.position.h - }); - } else if (el.type === "line") { - targetSlide.addShape(pres.ShapeType.line, { - x: el.x1, - y: el.y1, - w: el.x2 - el.x1, - h: el.y2 - el.y1, - line: { color: el.color, width: el.width } - }); - } else if (el.type === "shape") { - const shapeOptions = { - x: el.position.x, - y: el.position.y, - w: el.position.w, - h: el.position.h, - shape: el.shape.rectRadius > 0 ? pres.ShapeType.roundRect : pres.ShapeType.rect - }; - if (el.shape.fill) { - shapeOptions.fill = { color: el.shape.fill }; - if (el.shape.transparency != null) shapeOptions.fill.transparency = el.shape.transparency; - } - if (el.shape.line) shapeOptions.line = el.shape.line; - if (el.shape.rectRadius > 0) shapeOptions.rectRadius = el.shape.rectRadius; - if (el.shape.shadow) shapeOptions.shadow = el.shape.shadow; - targetSlide.addText(el.text || "", shapeOptions); - } else if (el.type === "list" || el.type === "merged-text") { - const listOptions = { - x: el.position.x, - y: el.position.y, - w: capTextBoxWidth(el.position.x, el.position.w + el.position.w * 0.04), - h: Math.min(el.position.h, Math.max(0.15, SLIDE_H_IN - el.position.y - 0.04)), - fontSize: el.style.fontSize, - fontFace: el.style.fontFace, - color: el.style.color, - align: el.style.align, - valign: "top", - lineSpacing: el.style.lineSpacing, - paraSpaceBefore: el.style.paraSpaceBefore, - paraSpaceAfter: el.style.paraSpaceAfter, - margin: el.style.margin, - inset: 0, - shrinkText: false, - autoFit: false - }; - if (el.style.transparency != null) listOptions.transparency = el.style.transparency; - targetSlide.addText(el.items || el.text, listOptions); - } else { - const lineHeight = el.style.lineSpacing || el.style.fontSize * 1.2; - const isSingleLine = el.position.h <= lineHeight * 1.5; - const isVerticalText = el.style.vert && el.style.vert !== "horz"; - const widthIncrease = isVerticalText ? 0 : el.position.w * (isSingleLine ? 0.02 : 0.06); - let adjustedX = el.position.x; - let adjustedW = capTextBoxWidth(el.position.x, el.position.w + widthIncrease); - const align = el.style.align; - if (!isVerticalText && align === "center") { - adjustedX = el.position.x - (adjustedW - el.position.w) / 2; - } else if (!isVerticalText && align === "right") { - adjustedX = el.position.x - (adjustedW - el.position.w); - } - adjustedX = Math.max(0, adjustedX); - adjustedW = capTextBoxWidth(adjustedX, adjustedW); - const textOptions = { - x: adjustedX, - y: el.position.y, - w: adjustedW, - h: Math.min(el.position.h, Math.max(0.15, SLIDE_H_IN - el.position.y - 0.04)), - fontSize: el.style.fontSize, - fontFace: el.style.fontFace, - color: el.style.color, - bold: el.style.bold, - italic: el.style.italic, - underline: el.style.underline, - valign: isVerticalText ? "mid" : el.style.valign || "top", - lineSpacing: el.style.lineSpacing, - paraSpaceBefore: el.style.paraSpaceBefore, - paraSpaceAfter: el.style.paraSpaceAfter, - inset: 0, - shrinkText: false, - autoFit: false - }; - if (el.style.align) textOptions.align = el.style.align; - if (el.style.margin) textOptions.margin = el.style.margin; - if (el.style.rotate !== void 0) textOptions.rotate = el.style.rotate; - if (el.style.vert) textOptions.vert = el.style.vert; - if (el.style.transparency != null && el.style.transparency !== void 0) { - textOptions.transparency = el.style.transparency; - } - targetSlide.addText(el.text, textOptions); - } - } -} -async function buildSlideFromExtracted(slideData, bodyDimensions, pres, options = {}) { - const validationWarnings = []; - if (bodyDimensions?.errors?.length) validationWarnings.push(...bodyDimensions.errors); - validationWarnings.push(...validateDimensions(bodyDimensions, pres)); - validationWarnings.push(...validateTextBoxPosition(slideData, bodyDimensions)); - if (slideData?.errors?.length) validationWarnings.push(...slideData.errors); - if (validationWarnings.length) { - console.warn("[ppt-live-export] slide validation warnings (export continues):", validationWarnings.join("; ")); - } - const targetSlide = options.slide || pres.addSlide(); - await addBackground(slideData, targetSlide); - addElements(slideData, targetSlide, pres); - return { slide: targetSlide, placeholders: slideData.placeholders || [] }; -} -function createPptxDeck(deck = {}) { - const pptx = new PptxGenJS(); - pptx.layout = "LAYOUT_WIDE"; - pptx.author = "PPT Live"; - pptx.subject = deck.brief?.topic || deck.title || "PPT Live deck"; - pptx.title = deck.title || "PPT Live"; - pptx.company = "BitFun"; - pptx.lang = "zh-CN"; - pptx.theme = { - headFontFace: "PingFang SC", - bodyFontFace: "PingFang SC", - lang: "zh-CN" - }; - return pptx; -} -function buildSpeakerNotes(sourceSlide = {}) { - return [ - sourceSlide.notes, - sourceSlide.claim ? `Claim: ${sourceSlide.claim}` : "", - sourceSlide.proofObject ? `Proof object: ${sourceSlide.proofObject}` : "", - sourceSlide.supportNote ? `Support note: ${sourceSlide.supportNote}` : "", - sourceSlide.sourceNote ? `Source note: ${sourceSlide.sourceNote}` : "" - ].filter(Boolean).join("\n\n"); -} - -// src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/pptx-element-export.js -var SLIDE_W = 13.333; -var SLIDE_H = 7.5; -function drawSlideBackdrop(pptx, slide, theme, index) { - slide.addShape(pptx.ShapeType.rect, { - x: 0, - y: 0, - w: SLIDE_W, - h: SLIDE_H, - fill: { color: hex(theme.background) }, - line: { color: hex(theme.background), transparency: 100 } - }); - slide.addShape(pptx.ShapeType.ellipse, { - x: 10.3, - y: -0.45, - w: 3.8, - h: 3.8, - fill: { color: hex(index % 2 ? theme.accent : theme.primary), transparency: 84 }, - line: { color: hex(theme.background), transparency: 100 } - }); - slide.addShape(pptx.ShapeType.rect, { - x: 0, - y: 0, - w: 0.12, - h: SLIDE_H, - fill: { color: hex(theme.primary), transparency: 0 }, - line: { color: hex(theme.primary), transparency: 100 } - }); -} -function drawSlideMethodology(pptx, slide, sourceSlide, theme) { - if (sourceSlide.kicker) { - slide.addShape(pptx.ShapeType.roundRect, { - x: 0.96, - y: 0.48, - w: 0.22, - h: 0.07, - fill: { color: hex(theme.primary) }, - line: { color: hex(theme.primary), transparency: 100 } - }); - slide.addText(String(sourceSlide.kicker).toUpperCase(), { - x: 1.24, - y: 0.36, - w: 2.4, - h: 0.28, - margin: 0, - fontFace: "Aptos", - fontSize: 7, - bold: true, - color: hex(theme.primary), - fit: "shrink" - }); - } - if (sourceSlide.proofObject) { - slide.addText(String(sourceSlide.proofObject), { - x: 9.26, - y: 0.34, - w: 2.95, - h: 0.32, - margin: 0.04, - fontFace: "Aptos", - fontSize: 7, - bold: true, - color: hex(theme.muted), - align: "right", - fit: "shrink", - fill: { color: hex(theme.panel), transparency: 8 }, - line: { color: hex(theme.primary), transparency: 78 } - }); - } - if (sourceSlide.sourceNote) { - slide.addText(String(sourceSlide.sourceNote), { - x: 0.96, - y: 7.05, - w: 10.7, - h: 0.2, - margin: 0, - fontFace: "Aptos", - fontSize: 6, - color: hex(theme.muted), - fit: "shrink" - }); - } -} -function drawElement(pptx, slide, element, theme) { - const box = toInches(element); - const style = element.style || {}; - const common = { - x: box.x, - y: box.y, - w: box.w, - h: box.h, - margin: 0.08, - fit: "shrink", - color: hex(resolveColor(style.color, theme)), - fontFace: "Aptos", - fontSize: pxToPt(style.fontSize || 22), - bold: Number(style.fontWeight || 500) >= 700, - align: style.align || "left", - valign: "mid", - breakLine: false - }; - if (element.type === "shape") { - slide.addShape(pptx.ShapeType.roundRect, { - ...box, - rectRadius: 0.08, - fill: { color: hex(resolveColor(style.background, theme)), transparency: transparency(style.opacity) }, - line: { color: hex(resolveColor(style.background, theme)), transparency: 100 } - }); - if (element.text) slide.addText(element.text, common); - return; - } - if (element.type === "list") { - const runs = (element.items || []).map((item) => ({ text: item, options: { bullet: { type: "bullet" }, breakLine: true } })); - slide.addText(runs.length ? runs : [{ text: "" }], { - ...common, - valign: "top", - paraSpaceAfterPt: 6, - fit: "shrink" - }); - return; - } - if (element.type === "metric") { - drawPanel(pptx, slide, box, style, theme); - slide.addText(String(element.text || ""), { - ...common, - y: box.y + 0.08, - h: box.h * 0.48, - color: hex(resolveColor(style.color || "primary", theme)), - fontSize: pxToPt(style.fontSize || 42), - bold: true - }); - slide.addText(String(element.label || ""), { - ...common, - y: box.y + box.h * 0.56, - h: box.h * 0.34, - color: hex(theme.muted), - fontSize: 10, - bold: false, - valign: "top" - }); - return; - } - if (element.type === "chart") { - drawPanel(pptx, slide, box, style, theme); - slide.addText(String(element.text || ""), { - ...common, - y: box.y + 0.1, - h: 0.32, - fontSize: 11, - bold: true - }); - drawBars(pptx, slide, element, box, theme); - return; - } - if (element.type === "media") { - slide.addShape(pptx.ShapeType.roundRect, { - ...box, - fill: { color: hex(resolveColor(style.background || "soft", theme)), transparency: 10 }, - line: { color: hex(theme.primary), transparency: 55, dash: "dash" } - }); - slide.addText(String(element.text || "Image placeholder"), { - ...common, - align: "center", - color: hex(theme.muted), - fontSize: 12 - }); - return; - } - drawTextBackground(pptx, slide, box, style, theme); - slide.addText(String(element.text || ""), common); -} -function drawPanel(pptx, slide, box, style, theme) { - slide.addShape(pptx.ShapeType.roundRect, { - ...box, - fill: { color: hex(resolveColor(style.background || "panel", theme)), transparency: transparency(style.opacity) }, - line: { color: hex(theme.primary), transparency: 82 }, - shadow: { type: "outer", color: "111827", opacity: 0.12, blur: 1, angle: 45, distance: 1 } - }); -} -function drawTextBackground(pptx, slide, box, style, theme) { - const bg = style.background || "transparent"; - if (bg === "transparent") return; - slide.addShape(pptx.ShapeType.roundRect, { - ...box, - fill: { color: hex(resolveColor(bg, theme)), transparency: transparency(style.opacity) }, - line: { color: hex(resolveColor(bg, theme)), transparency: 100 } - }); -} -function drawBars(pptx, slide, element, box, theme) { - const data = Array.isArray(element.data) && element.data.length ? element.data : [{ label: "A", value: 40 }, { label: "B", value: 70 }]; - const max = Math.max(1, ...data.map((point) => Number(point.value) || 0)); - const gap = 0.1; - const chartX = box.x + 0.18; - const chartY = box.y + 0.68; - const chartW = box.w - 0.36; - const chartH = box.h - 0.95; - const barW = Math.max(0.08, (chartW - gap * (data.length - 1)) / data.length); - data.forEach((point, index) => { - const value = Number(point.value) || 0; - const h = Math.max(0.15, value / max * chartH); - const x = chartX + index * (barW + gap); - const y = chartY + chartH - h; - slide.addShape(pptx.ShapeType.rect, { - x, - y, - w: barW, - h, - fill: { color: hex(index % 2 ? theme.accent : theme.primary) }, - line: { color: hex(index % 2 ? theme.accent : theme.primary), transparency: 100 } - }); - slide.addText(String(point.label || ""), { - x: x - 0.03, - y: chartY + chartH + 0.04, - w: barW + 0.06, - h: 0.2, - fontSize: 7, - color: hex(theme.muted), - align: "center", - margin: 0, - fit: "shrink" - }); - }); -} -function normalizeTheme(theme = {}) { - return { - background: theme.background || "#fbfcff", - ink: theme.ink || "#111827", - muted: theme.muted || "#5b6575", - primary: theme.primary || "#0f766e", - accent: theme.accent || "#f97316", - panel: theme.panel || "#ffffff" - }; -} -function toInches(element) { - return { - x: pct(element.x) * SLIDE_W, - y: pct(element.y) * SLIDE_H, - w: pct(element.w) * SLIDE_W, - h: pct(element.h) * SLIDE_H - }; -} -function pct(value) { - return Math.max(0, Math.min(100, Number(value) || 0)) / 100; -} -function pxToPt(value) { - return Math.max(6, Math.min(66, Math.round((Number(value) || 22) * 0.58))); -} -function resolveColor(value, theme) { - if (!value || value === "transparent") return theme.background; - if (value === "ink") return theme.ink; - if (value === "muted") return theme.muted; - if (value === "primary") return theme.primary; - if (value === "accent") return theme.accent; - if (value === "panel") return theme.panel; - if (value === "soft") return theme.primary; - if (value === "background") return theme.background; - return value; -} -function hex(value) { - const raw = String(value || "#111827").trim(); - if (/^#[0-9a-f]{6}$/i.test(raw)) return raw.slice(1).toUpperCase(); - if (/^[0-9a-f]{6}$/i.test(raw)) return raw.toUpperCase(); - if (/^#[0-9a-f]{3}$/i.test(raw)) { - return raw.slice(1).split("").map((part) => part + part).join("").toUpperCase(); - } - return "111827"; -} -function transparency(opacity) { - return Math.round((1 - Math.max(0, Math.min(1, Number(opacity ?? 1)))) * 100); -} -async function exportElementDeckToPptx(deck) { - const slides = Array.isArray(deck.slides) && deck.slides.length > 0 ? deck.slides : []; - const pptx = createPptxDeck(deck); - slides.forEach((sourceSlide, index) => { - const slide = pptx.addSlide(); - const theme = normalizeTheme(sourceSlide.theme); - slide.background = { color: hex(theme.background) }; - drawSlideBackdrop(pptx, slide, theme, index); - drawSlideMethodology(pptx, slide, sourceSlide, theme); - (sourceSlide.elements || []).forEach((element) => drawElement(pptx, slide, element, theme)); - const notes = buildSpeakerNotes(sourceSlide); - if (notes && typeof slide.addNotes === "function") slide.addNotes(notes); - }); - return pptx; -} - -// src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/src/export-deck-browser.js -var MIME_PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation"; -var RASTER_TEXT_TYPES = /* @__PURE__ */ new Set(["p", "h1", "h2", "h3", "h4", "h5", "h6", "text", "list", "merged-text"]); -function filterSlideDataForRasterBackdrop(slideData) { - return { - ...slideData, - elements: (slideData.elements || []).filter((el) => RASTER_TEXT_TYPES.has(el.type)) - }; -} -function uint8ToBase64(bytes) { - const chunk = 32768; - let binary = ""; - for (let i = 0; i < bytes.length; i += chunk) { - binary += String.fromCharCode(...bytes.subarray(i, i + chunk)); - } - return btoa(binary); -} -function exportFileSafe(value) { - return String(value || "ppt-live").replace(/[\\/:*?"<>|]+/g, "-").slice(0, 96); -} -async function pptxToExportResult(pptx, deck) { - const base64 = await pptx.write({ outputType: "base64" }); - return { - filename: `${exportFileSafe(deck.title || "ppt-live")}.pptx`, - mimeType: MIME_PPTX, - base64: String(base64 || "").replace(/^data:.*;base64,/, "") - }; -} -async function exportPptxFromDeck(deck) { - const slides = Array.isArray(deck?.slides) ? deck.slides : []; - if (slides.some((slide) => slide?.html)) { - throw new Error("HTML slides must use the WebView prepare export path."); - } - const pptx = await exportElementDeckToPptx(deck); - return pptxToExportResult(pptx, deck); -} -async function exportPptxPrepared(deck, preparedSlides) { - const prepared = Array.isArray(preparedSlides) ? preparedSlides : []; - if (!prepared.length) throw new Error("No prepared slides to export"); - const pptx = createPptxDeck(deck); - const slides = Array.isArray(deck?.slides) ? deck.slides : []; - for (const item of prepared) { - const sourceSlide = slides[item.index] || item.notes || {}; - let slideData = item.slideData; - if (item.rasterBase64) { - const raw = String(item.rasterBase64).replace(/^data:.*;base64,/, ""); - if (item.rasterOnly) { - slideData = { - ...slideData, - elements: (slideData.elements || []).filter((el) => !RASTER_TEXT_TYPES.has(el.type)), - background: { type: "image", path: `data:image/png;base64,${raw}` } - }; - } else { - slideData = filterSlideDataForRasterBackdrop(slideData); - slideData = { - ...slideData, - background: { type: "image", path: `data:image/png;base64,${raw}` } - }; - } - } - const result = await buildSlideFromExtracted( - slideData, - item.bodyDimensions, - pptx - ); - const notes = buildSpeakerNotes(sourceSlide); - if (notes && result?.slide && typeof result.slide.addNotes === "function") { - result.slide.addNotes(notes); - } - } - return pptxToExportResult(pptx, deck); -} -async function exportPdfFromBase64Pages(deck, pages) { - const list = Array.isArray(pages) ? pages : []; - if (!list.length) throw new Error("No rendered PDF pages to export"); - const merged = await PDFDocument_default.create(); - for (const pageBase64 of list) { - const raw = String(pageBase64 || "").replace(/^data:.*;base64,/, ""); - const buffer = Uint8Array.from(atob(raw), (c) => c.charCodeAt(0)); - const source = await PDFDocument_default.load(buffer); - const copied = await merged.copyPages(source, source.getPageIndices()); - copied.forEach((page) => merged.addPage(page)); - } - const bytes = await merged.save(); - return { - filename: `${exportFileSafe(deck?.title || "ppt-live")}.pdf`, - mimeType: "application/pdf", - base64: uint8ToBase64(bytes) - }; -} -async function exportPngZipFromPages(deck, pages) { - const list = Array.isArray(pages) ? pages : []; - if (!list.length) throw new Error("No rendered PNG pages to export"); - const zip = new import_jszip2.default(); - list.forEach((item, index) => { - const raw = typeof item === "string" ? item : String(item?.base64 || "").replace(/^data:.*;base64,/, ""); - const slideIndex = (item?.index ?? index) + 1; - zip.file(`slide-${String(slideIndex).padStart(2, "0")}.png`, raw, { base64: true }); - }); - const blob = await zip.generateAsync({ type: "base64", compression: "DEFLATE" }); - return { - filename: `${exportFileSafe(deck?.title || "ppt-live")}-slides.zip`, - mimeType: "application/zip", - base64: String(blob || "").replace(/^data:.*;base64,/, "") - }; -} -export { - exportFileSafe, - exportPdfFromBase64Pages, - exportPngZipFromPages, - exportPptxFromDeck, - exportPptxPrepared -}; diff --git a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/ui.js b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/ui.js index b792083455..a74c176cf0 100644 --- a/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/ui.js +++ b/src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/ui.js @@ -1,3 +1,11 @@ +// ───────────────────────────────────────────────────────────────────────────── +// PPT Live — UI entry point +// +// This is the entry point for build-bitfun.mjs. All src/*.js modules and npm +// dependencies are bundled into dist/ui.bundle.js at build time. +// +// After editing this file or any src/*.js file, run: node build-bitfun.mjs +// ───────────────────────────────────────────────────────────────────────────── import { translate as t, getLocale } from './src/i18n.js'; import { ELEMENT_TYPES,