@verdocs/web-sdk 1.5.4 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{VerdocsEndpoint-2c7ecda8.js → VerdocsEndpoint-4b97517d.js} +38 -2048
- package/dist/cjs/VerdocsEndpoint-4b97517d.js.map +1 -0
- package/dist/cjs/index-589f3be8.js +2 -0
- package/dist/cjs/index-589f3be8.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +4 -2
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/{popper-71bf3058.js → popper-11d5f714.js} +62 -49
- package/dist/cjs/popper-11d5f714.js.map +1 -0
- package/dist/cjs/verdocs-auth.cjs.entry.js +23 -14
- package/dist/cjs/verdocs-auth.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-button_2.cjs.entry.js +2 -0
- package/dist/cjs/verdocs-button_2.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-dropdown_12.cjs.entry.js +11356 -7260
- package/dist/cjs/verdocs-dropdown_12.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-initial-dialog.cjs.entry.js +2 -0
- package/dist/cjs/verdocs-initial-dialog.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-kba-dialog.cjs.entry.js +2 -0
- package/dist/cjs/verdocs-kba-dialog.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-loader.cjs.entry.js +2 -0
- package/dist/cjs/verdocs-loader.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +2 -0
- package/dist/cjs/verdocs-ok-dialog.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-organization-card.cjs.entry.js +2 -0
- package/dist/cjs/verdocs-organization-card.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-quick-functions.cjs.entry.js +3 -1
- package/dist/cjs/verdocs-quick-functions.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-search-activity_2.cjs.entry.js +3 -1
- package/dist/cjs/verdocs-search-activity_2.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-search-tabs.cjs.entry.js +2 -0
- package/dist/cjs/verdocs-search-tabs.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-search.cjs.entry.js +3 -1
- package/dist/cjs/verdocs-search.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-sign.cjs.entry.js +3 -1
- package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-signature-dialog.cjs.entry.js +2 -0
- package/dist/cjs/verdocs-signature-dialog.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-status-indicator.cjs.entry.js +3 -1
- package/dist/cjs/verdocs-status-indicator.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-template-card.cjs.entry.js +2 -0
- package/dist/cjs/verdocs-template-card.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-template-tags.cjs.entry.js +2 -0
- package/dist/cjs/verdocs-template-tags.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-toggle.cjs.entry.js +2 -0
- package/dist/cjs/verdocs-toggle.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-upload-dialog.cjs.entry.js +2 -0
- package/dist/cjs/verdocs-upload-dialog.cjs.entry.js.map +1 -0
- package/dist/cjs/verdocs-web-sdk.cjs.js +4 -2
- package/dist/cjs/verdocs-web-sdk.cjs.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/controls/verdocs-button/verdocs-button.js +1 -0
- package/dist/collection/components/controls/verdocs-button/verdocs-button.js.map +1 -0
- package/dist/collection/components/controls/verdocs-button/verdocs-button.stories.js +1 -0
- package/dist/collection/components/controls/verdocs-button/verdocs-button.stories.js.map +1 -0
- package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js +1 -0
- package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js.map +1 -0
- package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.stories.js +1 -0
- package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.stories.js.map +1 -0
- package/dist/collection/components/controls/verdocs-loader/verdocs-loader.js +1 -0
- package/dist/collection/components/controls/verdocs-loader/verdocs-loader.js.map +1 -0
- package/dist/collection/components/controls/verdocs-loader/verdocs-loader.stories.js +1 -0
- package/dist/collection/components/controls/verdocs-loader/verdocs-loader.stories.js.map +1 -0
- package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.js +1 -0
- package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.js.map +1 -0
- package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.stories.js +1 -0
- package/dist/collection/components/controls/verdocs-organization-card/verdocs-organization-card.stories.js.map +1 -0
- package/dist/collection/components/controls/verdocs-status-indicator/recipient-flow.js +1 -0
- package/dist/collection/components/controls/verdocs-status-indicator/recipient-flow.js.map +1 -0
- package/dist/collection/components/controls/verdocs-status-indicator/verdocs-status-indicator.js +1 -0
- package/dist/collection/components/controls/verdocs-status-indicator/verdocs-status-indicator.js.map +1 -0
- package/dist/collection/components/controls/verdocs-status-indicator/verdocs-status-indicator.stories.js +1 -0
- package/dist/collection/components/controls/verdocs-status-indicator/verdocs-status-indicator.stories.js.map +1 -0
- package/dist/collection/components/controls/verdocs-template-card/verdocs-template-card.js +1 -0
- package/dist/collection/components/controls/verdocs-template-card/verdocs-template-card.js.map +1 -0
- package/dist/collection/components/controls/verdocs-template-card/verdocs-template-card.stories.js +1 -0
- package/dist/collection/components/controls/verdocs-template-card/verdocs-template-card.stories.js.map +1 -0
- package/dist/collection/components/controls/verdocs-template-tags/verdocs-template-tags.js +1 -0
- package/dist/collection/components/controls/verdocs-template-tags/verdocs-template-tags.js.map +1 -0
- package/dist/collection/components/controls/verdocs-template-tags/verdocs-template-tags.stories.js +1 -0
- package/dist/collection/components/controls/verdocs-template-tags/verdocs-template-tags.stories.js.map +1 -0
- package/dist/collection/components/controls/verdocs-text-input/test/verdocs-text-input.js +1 -0
- package/dist/collection/components/controls/verdocs-text-input/test/verdocs-text-input.js.map +1 -0
- package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.js +1 -0
- package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.js.map +1 -0
- package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.stories.js +1 -0
- package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.stories.js.map +1 -0
- package/dist/collection/components/controls/verdocs-toggle/verdocs-toggle.js +1 -0
- package/dist/collection/components/controls/verdocs-toggle/verdocs-toggle.js.map +1 -0
- package/dist/collection/components/controls/verdocs-toggle/verdocs-toggle.stories.js +1 -0
- package/dist/collection/components/controls/verdocs-toggle/verdocs-toggle.stories.js.map +1 -0
- package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js +1 -0
- package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.js.map +1 -0
- package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.stories.js +1 -0
- package/dist/collection/components/dialogs/verdocs-initial-dialog/verdocs-initial-dialog.stories.js.map +1 -0
- package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.js +1 -0
- package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.js.map +1 -0
- package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.stories.js +1 -0
- package/dist/collection/components/dialogs/verdocs-kba-dialog/verdocs-kba-dialog.stories.js.map +1 -0
- package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js +1 -0
- package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js.map +1 -0
- package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.stories.js +1 -0
- package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.stories.js.map +1 -0
- package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js +1 -0
- package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.js.map +1 -0
- package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.stories.js +1 -0
- package/dist/collection/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog.stories.js.map +1 -0
- package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.js +1 -0
- package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.js.map +1 -0
- package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.stories.js +1 -0
- package/dist/collection/components/dialogs/verdocs-upload-dialog/verdocs-upload-dialog.stories.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-attachment/verdocs-field-attachment.js +1 -0
- package/dist/collection/components/elements/verdocs-field-attachment/verdocs-field-attachment.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-attachment/verdocs-field-attachment.stories.js +1 -0
- package/dist/collection/components/elements/verdocs-field-attachment/verdocs-field-attachment.stories.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.js +1 -0
- package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.stories.js +1 -0
- package/dist/collection/components/elements/verdocs-field-checkbox-group/verdocs-field-checkbox.stories.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js +1 -0
- package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.stories.js +1 -0
- package/dist/collection/components/elements/verdocs-field-date/verdocs-field-date.stories.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.js +1 -0
- package/dist/collection/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.stories.js +1 -0
- package/dist/collection/components/elements/verdocs-field-dropdown/verdocs-field-dropdown.stories.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js +1 -0
- package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.stories.js +1 -0
- package/dist/collection/components/elements/verdocs-field-initial/verdocs-field-initial.stories.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-payment/verdocs-field-payment.js +1 -0
- package/dist/collection/components/elements/verdocs-field-payment/verdocs-field-payment.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-payment/verdocs-field-payment.stories.js +1 -0
- package/dist/collection/components/elements/verdocs-field-payment/verdocs-field-payment.stories.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.js +1 -0
- package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.stories.js +1 -0
- package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.stories.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.js +1 -0
- package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.stories.js +1 -0
- package/dist/collection/components/elements/verdocs-field-signature/verdocs-field-signature.stories.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js +1 -0
- package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.stories.js +1 -0
- package/dist/collection/components/elements/verdocs-field-textarea/verdocs-field-textarea.stories.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js +1 -0
- package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -0
- package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.stories.js +1 -0
- package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.stories.js.map +1 -0
- package/dist/collection/components/elements/verdocs-quick-functions/verdocs-quick-functions.js +1 -0
- package/dist/collection/components/elements/verdocs-quick-functions/verdocs-quick-functions.js.map +1 -0
- package/dist/collection/components/elements/verdocs-quick-functions/verdocs-quick-functions.stories.js +1 -0
- package/dist/collection/components/elements/verdocs-quick-functions/verdocs-quick-functions.stories.js.map +1 -0
- package/dist/collection/components/elements/verdocs-search-activity/verdocs-search-activity.js +1 -0
- package/dist/collection/components/elements/verdocs-search-activity/verdocs-search-activity.js.map +1 -0
- package/dist/collection/components/elements/verdocs-search-activity/verdocs-search-activity.stories.js +1 -0
- package/dist/collection/components/elements/verdocs-search-activity/verdocs-search-activity.stories.js.map +1 -0
- package/dist/collection/components/elements/verdocs-search-box/verdocs-search-box.js +1 -0
- package/dist/collection/components/elements/verdocs-search-box/verdocs-search-box.js.map +1 -0
- package/dist/collection/components/elements/verdocs-search-box/verdocs-search-box.stories.js +1 -0
- package/dist/collection/components/elements/verdocs-search-box/verdocs-search-box.stories.js.map +1 -0
- package/dist/collection/components/elements/verdocs-search-tabs/verdocs-search-tabs.js +1 -0
- package/dist/collection/components/elements/verdocs-search-tabs/verdocs-search-tabs.js.map +1 -0
- package/dist/collection/components/elements/verdocs-search-tabs/verdocs-search-tabs.stories.js +1 -0
- package/dist/collection/components/elements/verdocs-search-tabs/verdocs-search-tabs.stories.js.map +1 -0
- package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js +24 -16
- package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js.map +1 -0
- package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.stories.js +1 -0
- package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.stories.js.map +1 -0
- package/dist/collection/components/embeds/verdocs-search/verdocs-search.js +1 -0
- package/dist/collection/components/embeds/verdocs-search/verdocs-search.js.map +1 -0
- package/dist/collection/components/embeds/verdocs-search/verdocs-search.stories.js +1 -0
- package/dist/collection/components/embeds/verdocs-search/verdocs-search.stories.js.map +1 -0
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +1 -0
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -0
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js +1 -0
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js.map +1 -0
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.css +1 -2
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +2 -0
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js.map +1 -0
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js +5 -2
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js.map +1 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/utils/utils.js +1 -0
- package/dist/collection/utils/utils.js.map +1 -0
- package/dist/components/VerdocsEndpoint.js +39 -2042
- package/dist/components/VerdocsEndpoint.js.map +1 -0
- package/dist/components/index.d.ts +32 -32
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/popper.js +62 -49
- package/dist/components/popper.js.map +1 -0
- package/dist/components/verdocs-auth.js +24 -14
- package/dist/components/verdocs-auth.js.map +1 -0
- package/dist/components/verdocs-button.js +2 -0
- package/dist/components/verdocs-button.js.map +1 -0
- package/dist/components/verdocs-button2.js +2 -0
- package/dist/components/verdocs-button2.js.map +1 -0
- package/dist/components/verdocs-dropdown.js +2 -0
- package/dist/components/verdocs-dropdown.js.map +1 -0
- package/dist/components/verdocs-dropdown2.js +2 -0
- package/dist/components/verdocs-dropdown2.js.map +1 -0
- package/dist/components/verdocs-field-attachment.js +2 -0
- package/dist/components/verdocs-field-attachment.js.map +1 -0
- package/dist/components/verdocs-field-attachment2.js +2 -0
- package/dist/components/verdocs-field-attachment2.js.map +1 -0
- package/dist/components/verdocs-field-checkbox.js +2 -0
- package/dist/components/verdocs-field-checkbox.js.map +1 -0
- package/dist/components/verdocs-field-checkbox2.js +2 -0
- package/dist/components/verdocs-field-checkbox2.js.map +1 -0
- package/dist/components/verdocs-field-date.js +2 -0
- package/dist/components/verdocs-field-date.js.map +1 -0
- package/dist/components/verdocs-field-date2.js +2 -0
- package/dist/components/verdocs-field-date2.js.map +1 -0
- package/dist/components/verdocs-field-dropdown.js +2 -0
- package/dist/components/verdocs-field-dropdown.js.map +1 -0
- package/dist/components/verdocs-field-dropdown2.js +2 -0
- package/dist/components/verdocs-field-dropdown2.js.map +1 -0
- package/dist/components/verdocs-field-initial.js +2 -0
- package/dist/components/verdocs-field-initial.js.map +1 -0
- package/dist/components/verdocs-field-initial2.js +2 -0
- package/dist/components/verdocs-field-initial2.js.map +1 -0
- package/dist/components/verdocs-field-payment.js +2 -0
- package/dist/components/verdocs-field-payment.js.map +1 -0
- package/dist/components/verdocs-field-payment2.js +2 -0
- package/dist/components/verdocs-field-payment2.js.map +1 -0
- package/dist/components/verdocs-field-radio-button.js +2 -0
- package/dist/components/verdocs-field-radio-button.js.map +1 -0
- package/dist/components/verdocs-field-radio-button2.js +2 -0
- package/dist/components/verdocs-field-radio-button2.js.map +1 -0
- package/dist/components/verdocs-field-signature.js +2 -0
- package/dist/components/verdocs-field-signature.js.map +1 -0
- package/dist/components/verdocs-field-signature2.js +2 -0
- package/dist/components/verdocs-field-signature2.js.map +1 -0
- package/dist/components/verdocs-field-textarea.js +2 -0
- package/dist/components/verdocs-field-textarea.js.map +1 -0
- package/dist/components/verdocs-field-textarea2.js +2 -0
- package/dist/components/verdocs-field-textarea2.js.map +1 -0
- package/dist/components/verdocs-field-textbox.js +2 -0
- package/dist/components/verdocs-field-textbox.js.map +1 -0
- package/dist/components/verdocs-field-textbox2.js +2 -0
- package/dist/components/verdocs-field-textbox2.js.map +1 -0
- package/dist/components/verdocs-initial-dialog.js +2 -0
- package/dist/components/verdocs-initial-dialog.js.map +1 -0
- package/dist/components/verdocs-initial-dialog2.js +2 -0
- package/dist/components/verdocs-initial-dialog2.js.map +1 -0
- package/dist/components/verdocs-kba-dialog.js +2 -0
- package/dist/components/verdocs-kba-dialog.js.map +1 -0
- package/dist/components/verdocs-loader.js +2 -0
- package/dist/components/verdocs-loader.js.map +1 -0
- package/dist/components/verdocs-loader2.js +2 -0
- package/dist/components/verdocs-loader2.js.map +1 -0
- package/dist/components/verdocs-ok-dialog.js +2 -0
- package/dist/components/verdocs-ok-dialog.js.map +1 -0
- package/dist/components/verdocs-ok-dialog2.js +2 -0
- package/dist/components/verdocs-ok-dialog2.js.map +1 -0
- package/dist/components/verdocs-organization-card.js +2 -0
- package/dist/components/verdocs-organization-card.js.map +1 -0
- package/dist/components/verdocs-quick-functions.js +2 -0
- package/dist/components/verdocs-quick-functions.js.map +1 -0
- package/dist/components/verdocs-search-activity.js +2 -0
- package/dist/components/verdocs-search-activity.js.map +1 -0
- package/dist/components/verdocs-search-activity2.js +2 -0
- package/dist/components/verdocs-search-activity2.js.map +1 -0
- package/dist/components/verdocs-search-box.js +2 -0
- package/dist/components/verdocs-search-box.js.map +1 -0
- package/dist/components/verdocs-search-box2.js +2 -0
- package/dist/components/verdocs-search-box2.js.map +1 -0
- package/dist/components/verdocs-search-tabs.js +2 -0
- package/dist/components/verdocs-search-tabs.js.map +1 -0
- package/dist/components/verdocs-search.js +2 -0
- package/dist/components/verdocs-search.js.map +1 -0
- package/dist/components/verdocs-sign.js +2 -0
- package/dist/components/verdocs-sign.js.map +1 -0
- package/dist/components/verdocs-signature-dialog.js +2 -0
- package/dist/components/verdocs-signature-dialog.js.map +1 -0
- package/dist/components/verdocs-signature-dialog2.js +2 -0
- package/dist/components/verdocs-signature-dialog2.js.map +1 -0
- package/dist/components/verdocs-status-indicator.js +2 -0
- package/dist/components/verdocs-status-indicator.js.map +1 -0
- package/dist/components/verdocs-template-card.js +2 -0
- package/dist/components/verdocs-template-card.js.map +1 -0
- package/dist/components/verdocs-template-tags.js +2 -0
- package/dist/components/verdocs-template-tags.js.map +1 -0
- package/dist/components/verdocs-text-input.js +2 -0
- package/dist/components/verdocs-text-input.js.map +1 -0
- package/dist/components/verdocs-text-input2.js +2 -0
- package/dist/components/verdocs-text-input2.js.map +1 -0
- package/dist/components/verdocs-toggle.js +2 -0
- package/dist/components/verdocs-toggle.js.map +1 -0
- package/dist/components/verdocs-upload-dialog.js +2 -0
- package/dist/components/verdocs-upload-dialog.js.map +1 -0
- package/dist/components/verdocs-upload-dialog2.js +2 -0
- package/dist/components/verdocs-upload-dialog2.js.map +1 -0
- package/dist/components/verdocs-view.js +2 -0
- package/dist/components/verdocs-view.js.map +1 -0
- package/dist/components/verdocs-view2.js +11356 -7260
- package/dist/components/verdocs-view2.js.map +1 -0
- package/dist/docs.json +2 -3
- package/dist/esm/{VerdocsEndpoint-1dbbd8e2.js → VerdocsEndpoint-9353e4a0.js} +39 -2042
- package/dist/esm/VerdocsEndpoint-9353e4a0.js.map +1 -0
- package/dist/esm/index-859bc689.js +2 -0
- package/dist/esm/index-859bc689.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.js +4 -2
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/{popper-93ecb064.js → popper-f860750c.js} +62 -49
- package/dist/esm/popper-f860750c.js.map +1 -0
- package/dist/esm/verdocs-auth.entry.js +23 -14
- package/dist/esm/verdocs-auth.entry.js.map +1 -0
- package/dist/esm/verdocs-button_2.entry.js +2 -0
- package/dist/esm/verdocs-button_2.entry.js.map +1 -0
- package/dist/esm/verdocs-dropdown_12.entry.js +11333 -7237
- package/dist/esm/verdocs-dropdown_12.entry.js.map +1 -0
- package/dist/esm/verdocs-initial-dialog.entry.js +2 -0
- package/dist/esm/verdocs-initial-dialog.entry.js.map +1 -0
- package/dist/esm/verdocs-kba-dialog.entry.js +2 -0
- package/dist/esm/verdocs-kba-dialog.entry.js.map +1 -0
- package/dist/esm/verdocs-loader.entry.js +2 -0
- package/dist/esm/verdocs-loader.entry.js.map +1 -0
- package/dist/esm/verdocs-ok-dialog.entry.js +2 -0
- package/dist/esm/verdocs-ok-dialog.entry.js.map +1 -0
- package/dist/esm/verdocs-organization-card.entry.js +2 -0
- package/dist/esm/verdocs-organization-card.entry.js.map +1 -0
- package/dist/esm/verdocs-quick-functions.entry.js +3 -1
- package/dist/esm/verdocs-quick-functions.entry.js.map +1 -0
- package/dist/esm/verdocs-search-activity_2.entry.js +3 -1
- package/dist/esm/verdocs-search-activity_2.entry.js.map +1 -0
- package/dist/esm/verdocs-search-tabs.entry.js +2 -0
- package/dist/esm/verdocs-search-tabs.entry.js.map +1 -0
- package/dist/esm/verdocs-search.entry.js +3 -1
- package/dist/esm/verdocs-search.entry.js.map +1 -0
- package/dist/esm/verdocs-sign.entry.js +3 -1
- package/dist/esm/verdocs-sign.entry.js.map +1 -0
- package/dist/esm/verdocs-signature-dialog.entry.js +2 -0
- package/dist/esm/verdocs-signature-dialog.entry.js.map +1 -0
- package/dist/esm/verdocs-status-indicator.entry.js +3 -1
- package/dist/esm/verdocs-status-indicator.entry.js.map +1 -0
- package/dist/esm/verdocs-template-card.entry.js +2 -0
- package/dist/esm/verdocs-template-card.entry.js.map +1 -0
- package/dist/esm/verdocs-template-tags.entry.js +2 -0
- package/dist/esm/verdocs-template-tags.entry.js.map +1 -0
- package/dist/esm/verdocs-toggle.entry.js +2 -0
- package/dist/esm/verdocs-toggle.entry.js.map +1 -0
- package/dist/esm/verdocs-upload-dialog.entry.js +2 -0
- package/dist/esm/verdocs-upload-dialog.entry.js.map +1 -0
- package/dist/esm/verdocs-web-sdk.js +4 -2
- package/dist/esm/verdocs-web-sdk.js.map +1 -0
- package/dist/esm-es5/VerdocsEndpoint-9353e4a0.js +2 -0
- package/dist/esm-es5/VerdocsEndpoint-9353e4a0.js.map +1 -0
- package/dist/esm-es5/index-859bc689.js +2 -1
- package/dist/esm-es5/index-859bc689.js.map +1 -0
- package/dist/esm-es5/index.js +2 -0
- package/dist/esm-es5/index.js.map +1 -0
- package/dist/esm-es5/loader.js +2 -1
- package/dist/esm-es5/loader.js.map +1 -0
- package/dist/esm-es5/popper-f860750c.js +2 -0
- package/dist/esm-es5/popper-f860750c.js.map +1 -0
- package/dist/esm-es5/verdocs-auth.entry.js +2 -1
- package/dist/esm-es5/verdocs-auth.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-button_2.entry.js +2 -1
- package/dist/esm-es5/verdocs-button_2.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-dropdown_12.entry.js +6 -5
- package/dist/esm-es5/verdocs-dropdown_12.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-initial-dialog.entry.js +2 -1
- package/dist/esm-es5/verdocs-initial-dialog.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-kba-dialog.entry.js +2 -1
- package/dist/esm-es5/verdocs-kba-dialog.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-loader.entry.js +2 -1
- package/dist/esm-es5/verdocs-loader.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-ok-dialog.entry.js +2 -1
- package/dist/esm-es5/verdocs-ok-dialog.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-organization-card.entry.js +2 -1
- package/dist/esm-es5/verdocs-organization-card.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-quick-functions.entry.js +2 -1
- package/dist/esm-es5/verdocs-quick-functions.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-search-activity_2.entry.js +2 -1
- package/dist/esm-es5/verdocs-search-activity_2.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-search-tabs.entry.js +2 -1
- package/dist/esm-es5/verdocs-search-tabs.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-search.entry.js +2 -1
- package/dist/esm-es5/verdocs-search.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-sign.entry.js +2 -1
- package/dist/esm-es5/verdocs-sign.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-signature-dialog.entry.js +2 -1
- package/dist/esm-es5/verdocs-signature-dialog.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-status-indicator.entry.js +2 -1
- package/dist/esm-es5/verdocs-status-indicator.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-template-card.entry.js +2 -1
- package/dist/esm-es5/verdocs-template-card.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-template-tags.entry.js +2 -1
- package/dist/esm-es5/verdocs-template-tags.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-toggle.entry.js +2 -1
- package/dist/esm-es5/verdocs-toggle.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-upload-dialog.entry.js +2 -1
- package/dist/esm-es5/verdocs-upload-dialog.entry.js.map +1 -0
- package/dist/esm-es5/verdocs-web-sdk.js +2 -1
- package/dist/esm-es5/verdocs-web-sdk.js.map +1 -0
- package/dist/types/components/embeds/verdocs-auth/verdocs-auth.d.ts +2 -0
- package/dist/verdocs-web-sdk/index.esm.js +2 -0
- package/dist/verdocs-web-sdk/index.esm.js.map +1 -0
- package/dist/verdocs-web-sdk/p-06b2e7a5.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-06b2e7a5.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-088b9a26.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-088b9a26.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-10e49d23.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-10e49d23.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-11f56146.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-11f56146.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-144e0842.system.entry.js +2 -1
- package/dist/verdocs-web-sdk/p-144e0842.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-1907fc69.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-1907fc69.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-1c648415.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-1c648415.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-1f55d8ac.system.entry.js +2 -1
- package/dist/verdocs-web-sdk/p-1f55d8ac.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-22220dcc.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-22220dcc.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-2bc58746.js +3 -2
- package/dist/verdocs-web-sdk/p-2bc58746.js.map +1 -0
- package/dist/verdocs-web-sdk/p-316b2fd4.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-316b2fd4.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-347c10fe.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-347c10fe.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-5bd83ddc.system.entry.js → p-39818d35.system.entry.js} +2 -1
- package/dist/verdocs-web-sdk/p-39818d35.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-4b0c711c.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-4b0c711c.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-50ea2036.system.js +2 -1
- package/dist/verdocs-web-sdk/p-50ea2036.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-fdf34ca6.system.entry.js → p-545eb938.system.entry.js} +2 -1
- package/dist/verdocs-web-sdk/p-545eb938.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-64127985.system.js +2 -0
- package/dist/verdocs-web-sdk/p-64127985.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-654d98ea.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-654d98ea.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-6802ef91.system.entry.js +2 -1
- package/dist/verdocs-web-sdk/p-6802ef91.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-f814d5cc.system.entry.js → p-6bda2959.system.entry.js} +2 -1
- package/dist/verdocs-web-sdk/p-6bda2959.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-cc12ccaa.system.entry.js → p-6eed372a.system.entry.js} +2 -1
- package/dist/verdocs-web-sdk/p-6eed372a.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-7f162244.js +2 -0
- package/dist/verdocs-web-sdk/p-7f162244.js.map +1 -0
- package/dist/verdocs-web-sdk/p-81fc0196.system.entry.js +2 -1
- package/dist/verdocs-web-sdk/p-81fc0196.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-85cd7ebf.system.entry.js +24 -0
- package/dist/verdocs-web-sdk/p-85cd7ebf.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-92f8605b.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-92f8605b.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-a217fe67.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-a217fe67.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-aef24c40.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-aef24c40.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-b08a8bd9.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-b08a8bd9.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-bb08e079.system.js +2 -0
- package/dist/verdocs-web-sdk/p-bb08e079.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-bdcc8115.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-bdcc8115.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-c2f97ef9.system.entry.js +2 -1
- package/dist/verdocs-web-sdk/p-c2f97ef9.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-caed7818.system.js +2 -1
- package/dist/verdocs-web-sdk/p-caed7818.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-cc127684.system.entry.js +2 -1
- package/dist/verdocs-web-sdk/p-cc127684.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-cd6a2c40.system.entry.js +2 -1
- package/dist/verdocs-web-sdk/p-cd6a2c40.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-d14a6057.system.entry.js +2 -1
- package/dist/verdocs-web-sdk/p-d14a6057.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-d6206c17.system.entry.js +2 -1
- package/dist/verdocs-web-sdk/p-d6206c17.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-da0462e5.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-da0462e5.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-7adcb52c.system.entry.js → p-dadb25d5.system.entry.js} +2 -1
- package/dist/verdocs-web-sdk/p-dadb25d5.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-e12b7fbc.system.js +2 -0
- package/dist/verdocs-web-sdk/p-e12b7fbc.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-e4ba14dc.system.entry.js +2 -1
- package/dist/verdocs-web-sdk/p-e4ba14dc.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-e719f9ca.system.entry.js +2 -1
- package/dist/verdocs-web-sdk/p-e719f9ca.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-ec26fc38.js +2 -0
- package/dist/verdocs-web-sdk/p-ec26fc38.js.map +1 -0
- package/dist/verdocs-web-sdk/p-ec757dab.entry.js +24 -0
- package/dist/verdocs-web-sdk/p-ec757dab.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-f0d0f959.system.entry.js +2 -1
- package/dist/verdocs-web-sdk/p-f0d0f959.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-f248e3c4.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-f248e3c4.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-f33f8683.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-f33f8683.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +2 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -0
- package/dist/verdocs-web-sdk/verdocs-web-sdk.js +1 -1
- package/fixup-pdfjs.js +69 -0
- package/package.json +21 -14
- package/dist/esm-es5/VerdocsEndpoint-1dbbd8e2.js +0 -7
- package/dist/esm-es5/popper-93ecb064.js +0 -1
- package/dist/verdocs-web-sdk/p-064453c3.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-15b7ed4d.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-32ad1014.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-4c66f794.js +0 -1
- package/dist/verdocs-web-sdk/p-4cfc0f04.entry.js +0 -23
- package/dist/verdocs-web-sdk/p-4e98796c.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-6393b2b4.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-66b19637.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-6b8bc6f4.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-6fa6fb3c.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-6fd6ae35.system.js +0 -7
- package/dist/verdocs-web-sdk/p-829b235c.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-88a300c5.system.js +0 -1
- package/dist/verdocs-web-sdk/p-96c0bf40.system.js +0 -1
- package/dist/verdocs-web-sdk/p-9b34c794.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-9d8d8c78.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-9e3a842c.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-a55ed8ce.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-bf2620cb.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c34360d3.js +0 -1
- package/dist/verdocs-web-sdk/p-da667373.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e3229752.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f4219236.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f74862f7.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f76721d3.system.entry.js +0 -23
- package/dist/verdocs-web-sdk/p-f7e26fbd.entry.js +0 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"verdocs-view2.js","mappings":"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","names":["require","require$$0","require$$1","require$$2","require$$3","require$$4","PDFJSversion","pdf","VerbosityLevel"],"sources":["./node_modules/pdfjs-dist/build/pdf.js","./src/utils/utils.ts","./src/components/embeds/verdocs-view/verdocs-view.scss?tag=verdocs-view","./src/components/embeds/verdocs-view/verdocs-view.tsx"],"sourcesContent":["/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2022 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(globalThis, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.VerbosityLevel = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.UNSUPPORTED_FEATURES = exports.TextRenderingMode = exports.StreamType = exports.RenderingIntentFlag = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.LINE_FACTOR = exports.LINE_DESCENT_FACTOR = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FontType = exports.FeatureTest = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMode = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationEditorType = exports.AnnotationEditorPrefix = exports.AnnotationEditorParamsType = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.escapeString = escapeString;\nexports.getModificationDate = getModificationDate;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isAscii = isAscii;\nexports.objectFromMap = objectFromMap;\nexports.objectSize = objectSize;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF16BEString = stringToUTF16BEString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.unreachable = unreachable;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\n\n__w_pdfjs_require__(2);\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nconst LINE_FACTOR = 1.35;\nexports.LINE_FACTOR = LINE_FACTOR;\nconst LINE_DESCENT_FACTOR = 0.35;\nexports.LINE_DESCENT_FACTOR = LINE_DESCENT_FACTOR;\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100\n};\nexports.RenderingIntentFlag = RenderingIntentFlag;\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3\n};\nexports.AnnotationMode = AnnotationMode;\nconst AnnotationEditorPrefix = \"pdfjs_internal_editor_\";\nexports.AnnotationEditorPrefix = AnnotationEditorPrefix;\nconst AnnotationEditorType = {\n DISABLE: -1,\n NONE: 0,\n FREETEXT: 3,\n INK: 15\n};\nexports.AnnotationEditorType = AnnotationEditorType;\nconst AnnotationEditorParamsType = {\n FREETEXT_SIZE: 1,\n FREETEXT_COLOR: 2,\n FREETEXT_OPACITY: 3,\n INK_COLOR: 11,\n INK_THICKNESS: 12,\n INK_OPACITY: 13\n};\nexports.AnnotationEditorParamsType = AnnotationEditorParamsType;\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nconst AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\"\n};\nexports.AnnotationActionEventType = AnnotationActionEventType;\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\"\n};\nexports.DocumentActionEventType = DocumentActionEventType;\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\"\n};\nexports.PageActionEventType = PageActionEventType;\nconst StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\"\n};\nexports.StreamType = StreamType;\nconst FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1STANDARD: \"TYPE1STANDARD\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n};\nexports.FontType = FontType;\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nconst OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nconst UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n signatures: \"signatures\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontBuildPath: \"errorFontBuildPath\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\",\n errorContentSubStream: \"errorContentSubStream\"\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n\n try {\n if (options && typeof url === \"string\") {\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n\n if (dots && dots.length >= 2) {\n url = `http://${url}`;\n }\n }\n\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch (ex) {}\n }\n }\n\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nconst BaseException = function BaseExceptionClosure() {\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n\n this.message = message;\n this.name = name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n\n}\n\nexports.PasswordException = PasswordException;\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n\n}\n\nexports.UnknownErrorException = UnknownErrorException;\n\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n\n}\n\nexports.InvalidPDFException = InvalidPDFException;\n\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n\n}\n\nexports.MissingPDFException = MissingPDFException;\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n\n}\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n\n}\n\nexports.FormatError = FormatError;\n\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n\n}\n\nexports.AbortException = AbortException;\n\nfunction bytesToString(bytes) {\n if (typeof bytes !== \"object\" || bytes === null || bytes.length === undefined) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n const strBuf = [];\n\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n\n const length = str.length;\n const bytes = new Uint8Array(length);\n\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n if (arr.byteLength !== undefined) {\n return arr.byteLength;\n }\n\n unreachable(\"Invalid argument for arrayByteLength\");\n}\n\nfunction arraysToBytes(arr) {\n const length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n let resultLength = 0;\n\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n let pos = 0;\n const data = new Uint8Array(resultLength);\n\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\n\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n\n for (const [key, value] of map) {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n}\n\nclass FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n\n static get isOffscreenCanvasSupported() {\n return shadow(this, \"isOffscreenCanvasSupported\", typeof OffscreenCanvas !== \"undefined\");\n }\n\n}\n\nexports.FeatureTest = FeatureTest;\nconst hexNumbers = [...Array(256).keys()].map(n => n.toString(16).padStart(2, \"0\"));\n\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n\n static scaleMinMax(transform, minMax) {\n let temp;\n\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n\n minMax[0] *= transform[0];\n minMax[1] *= transform[0];\n\n if (transform[3] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n\n minMax[2] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n\n if (transform[1] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n\n minMax[2] *= transform[1];\n minMax[3] *= transform[1];\n\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n\n static transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n\n static apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n static normalizeRect(rect) {\n const r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n\n static intersect(rect1, rect2) {\n const xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2]));\n const xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2]));\n\n if (xLow > xHigh) {\n return null;\n }\n\n const yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3]));\n const yHigh = Math.min(Math.max(rect1[1], rect1[3]), Math.max(rect2[1], rect2[3]));\n\n if (yLow > yHigh) {\n return null;\n }\n\n return [xLow, yLow, xHigh, yHigh];\n }\n\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n\n t = -c / b;\n\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n\n continue;\n }\n\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n\n if (b2ac < 0) {\n continue;\n }\n\n t1 = (-b + sqrtb2ac) / (2 * a);\n\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n\n t2 = (-b - sqrtb2ac) / (2 * a);\n\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n let j = tvalues.length,\n mt;\n const jlen = j;\n\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;\n bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n return [Math.min(...bounds[0]), Math.min(...bounds[1]), Math.max(...bounds[0]), Math.max(...bounds[1])];\n }\n\n}\n\nexports.Util = Util;\nconst PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac];\n\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n\n const strBuf = [];\n\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n\n return strBuf.join(\"\");\n}\n\nfunction escapeString(str) {\n return str.replace(/([()\\\\\\n\\r])/g, match => {\n if (match === \"\\n\") {\n return \"\\\\n\";\n } else if (match === \"\\r\") {\n return \"\\\\r\";\n }\n\n return `\\\\${match}`;\n });\n}\n\nfunction isAscii(str) {\n return /^[\\x00-\\x7F]*$/.test(str);\n}\n\nfunction stringToUTF16BEString(str) {\n const buf = [\"\\xFE\\xFF\"];\n\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.charCodeAt(i);\n buf.push(String.fromCharCode(char >> 8 & 0xff), String.fromCharCode(char & 0xff));\n }\n\n return buf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction getModificationDate(date = new Date()) {\n const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), date.getUTCDate().toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n}\n\nfunction createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get() {\n return isSettled;\n }\n\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\n/***/ }),\n/* 2 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\n\nvar _is_node = __w_pdfjs_require__(3);\n\n;\n\n/***/ }),\n/* 3 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.isNodeJS = void 0;\nconst isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 4 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PageViewport = exports.PDFDateString = exports.DOMStandardFontDataFactory = exports.DOMSVGFactory = exports.DOMCanvasFactory = exports.DOMCMapReaderFactory = void 0;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.deprecated = deprecated;\nexports.getColorValues = getColorValues;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.getPdfFilenameFromUrl = getPdfFilenameFromUrl;\nexports.getRGB = getRGB;\nexports.getXfaPageViewport = getXfaPageViewport;\nexports.isDataScheme = isDataScheme;\nexports.isPdfFile = isPdfFile;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\n\nvar _base_factory = __w_pdfjs_require__(5);\n\nvar _util = __w_pdfjs_require__(1);\n\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\n\nclass PixelsPerInch {\n static CSS = 96.0;\n static PDF = 72.0;\n static PDF_TO_CSS_UNITS = this.CSS / this.PDF;\n}\n\nexports.PixelsPerInch = PixelsPerInch;\n\nclass DOMCanvasFactory extends _base_factory.BaseCanvasFactory {\n constructor({\n ownerDocument = globalThis.document\n } = {}) {\n super();\n this._document = ownerDocument;\n }\n\n _createCanvas(width, height) {\n const canvas = this._document.createElement(\"canvas\");\n\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n\n}\n\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nasync function fetchData(url, asTypedArray = false) {\n if (isValidFetchUrl(url, document.baseURI)) {\n const response = await fetch(url);\n\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n\n return asTypedArray ? new Uint8Array(await response.arrayBuffer()) : (0, _util.stringToBytes)(await response.text());\n }\n\n return new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (asTypedArray) {\n request.responseType = \"arraybuffer\";\n }\n\n request.onreadystatechange = () => {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n let data;\n\n if (asTypedArray && request.response) {\n data = new Uint8Array(request.response);\n } else if (!asTypedArray && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (data) {\n resolve(data);\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n });\n}\n\nclass DOMCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url, this.isCompressed).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n\n}\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nclass DOMStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url, true);\n }\n\n}\n\nexports.DOMStandardFontDataFactory = DOMStandardFontDataFactory;\n\nclass DOMSVGFactory extends _base_factory.BaseSVGFactory {\n _createSVG(type) {\n return document.createElementNS(SVG_NS, type);\n }\n\n}\n\nexports.DOMSVGFactory = DOMSVGFactory;\n\nclass PageViewport {\n constructor({\n viewBox,\n scale,\n rotation,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n }) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n const centerX = (viewBox[2] + viewBox[0]) / 2;\n const centerY = (viewBox[3] + viewBox[1]) / 2;\n let rotateA, rotateB, rotateC, rotateD;\n rotation %= 360;\n\n if (rotation < 0) {\n rotation += 360;\n }\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n let offsetCanvasX, offsetCanvasY;\n let width, height;\n\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n\n clone({\n scale = this.scale,\n rotation = this.rotation,\n offsetX = this.offsetX,\n offsetY = this.offsetY,\n dontFlip = false\n } = {}) {\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n\n convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n\n convertToViewportRectangle(rect) {\n const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n\n convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n\n}\n\nexports.PageViewport = PageViewport;\n\nclass RenderingCancelledException extends _util.BaseException {\n constructor(msg, type) {\n super(msg, \"RenderingCancelledException\");\n this.type = type;\n }\n\n}\n\nexports.RenderingCancelledException = RenderingCancelledException;\n\nfunction isDataScheme(url) {\n const ii = url.length;\n let i = 0;\n\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction isPdfFile(filename) {\n return typeof filename === \"string\" && /\\.pdf$/i.test(filename);\n}\n\nfunction getFilenameFromUrl(url) {\n const anchor = url.indexOf(\"#\");\n const query = url.indexOf(\"?\");\n const end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n}\n\nfunction getPdfFilenameFromUrl(url, defaultFilename = \"document.pdf\") {\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n\n if (isDataScheme(url)) {\n (0, _util.warn)('getPdfFilenameFromUrl: ignore \"data:\"-URL for performance reasons.');\n return defaultFilename;\n }\n\n const reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n const reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n const splitURI = reURI.exec(url);\n let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n\n return suggestedFilename || defaultFilename;\n}\n\nclass StatTimer {\n constructor() {\n this.started = Object.create(null);\n this.times = [];\n }\n\n time(name) {\n if (name in this.started) {\n (0, _util.warn)(`Timer is already running for ${name}`);\n }\n\n this.started[name] = Date.now();\n }\n\n timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(`Timer has not been started for ${name}`);\n }\n\n this.times.push({\n name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n\n toString() {\n const outBuf = [];\n let longest = 0;\n\n for (const time of this.times) {\n const name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n\n for (const time of this.times) {\n const duration = time.end - time.start;\n outBuf.push(`${time.name.padEnd(longest)} ${duration}ms\\n`);\n }\n\n return outBuf.join(\"\");\n }\n\n}\n\nexports.StatTimer = StatTimer;\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n const {\n protocol\n } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false;\n }\n}\n\nfunction loadScript(src, removeScriptElement = false) {\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = src;\n\n script.onload = function (evt) {\n if (removeScriptElement) {\n script.remove();\n }\n\n resolve(evt);\n };\n\n script.onerror = function () {\n reject(new Error(`Cannot load script at: ${script.src}`));\n };\n\n (document.head || document.documentElement).append(script);\n });\n}\n\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\n\nlet pdfDateStringRegex;\n\nclass PDFDateString {\n static toDateObject(input) {\n if (!input || typeof input !== \"string\") {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n }\n\n const matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n const year = parseInt(matches[1], 10);\n let month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n let day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n let hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n let minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n let second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n const universalTimeRelation = matches[7] || \"Z\";\n let offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n let offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n\n}\n\nexports.PDFDateString = PDFDateString;\n\nfunction getXfaPageViewport(xfaPage, {\n scale = 1,\n rotation = 0\n}) {\n const {\n width,\n height\n } = xfaPage.attributes.style;\n const viewBox = [0, 0, parseInt(width), parseInt(height)];\n return new PageViewport({\n viewBox,\n scale,\n rotation\n });\n}\n\nfunction getRGB(color) {\n if (color.startsWith(\"#\")) {\n const colorRGB = parseInt(color.slice(1), 16);\n return [(colorRGB & 0xff0000) >> 16, (colorRGB & 0x00ff00) >> 8, colorRGB & 0x0000ff];\n }\n\n if (color.startsWith(\"rgb(\")) {\n return color.slice(4, -1).split(\",\").map(x => parseInt(x));\n }\n\n if (color.startsWith(\"rgba(\")) {\n return color.slice(5, -1).split(\",\").map(x => parseInt(x)).slice(0, 3);\n }\n\n (0, _util.warn)(`Not a valid color format: \"${color}\"`);\n return [0, 0, 0];\n}\n\nfunction getColorValues(colors) {\n const span = document.createElement(\"span\");\n span.style.visibility = \"hidden\";\n document.body.append(span);\n\n for (const name of colors.keys()) {\n span.style.color = name;\n const computedColor = window.getComputedStyle(span).color;\n colors.set(name, getRGB(computedColor));\n }\n\n span.remove();\n}\n\nfunction binarySearchFirstItem(items, condition, start = 0) {\n let minIndex = start;\n let maxIndex = items.length - 1;\n\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n const currentIndex = minIndex + maxIndex >> 1;\n const currentItem = items[currentIndex];\n\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n\n return minIndex;\n}\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nclass BaseCanvasFactory {\n constructor() {\n if (this.constructor === BaseCanvasFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n const canvas = this._createCanvas(width, height);\n\n return {\n canvas,\n context: canvas.getContext(\"2d\")\n };\n }\n\n reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n\n destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n\n _createCanvas(width, height) {\n (0, _util.unreachable)(\"Abstract method `_createCanvas` called.\");\n }\n\n}\n\nexports.BaseCanvasFactory = BaseCanvasFactory;\n\nclass BaseCMapReaderFactory {\n constructor({\n baseUrl = null,\n isCompressed = false\n }) {\n if (this.constructor === BaseCMapReaderFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCMapReaderFactory.\");\n }\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n async fetch({\n name\n }) {\n if (!this.baseUrl) {\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n }\n\n if (!name) {\n throw new Error(\"CMap name must be specified.\");\n }\n\n const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n return this._fetchData(url, compressionType).catch(reason => {\n throw new Error(`Unable to load ${this.isCompressed ? \"binary \" : \"\"}CMap at: ${url}`);\n });\n }\n\n _fetchData(url, compressionType) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n\n}\n\nexports.BaseCMapReaderFactory = BaseCMapReaderFactory;\n\nclass BaseStandardFontDataFactory {\n constructor({\n baseUrl = null\n }) {\n if (this.constructor === BaseStandardFontDataFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseStandardFontDataFactory.\");\n }\n\n this.baseUrl = baseUrl;\n }\n\n async fetch({\n filename\n }) {\n if (!this.baseUrl) {\n throw new Error('The standard font \"baseUrl\" parameter must be specified, ensure that ' + 'the \"standardFontDataUrl\" API parameter is provided.');\n }\n\n if (!filename) {\n throw new Error(\"Font filename must be specified.\");\n }\n\n const url = `${this.baseUrl}${filename}`;\n return this._fetchData(url).catch(reason => {\n throw new Error(`Unable to load font data at: ${url}`);\n });\n }\n\n _fetchData(url) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n\n}\n\nexports.BaseStandardFontDataFactory = BaseStandardFontDataFactory;\n\nclass BaseSVGFactory {\n constructor() {\n if (this.constructor === BaseSVGFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseSVGFactory.\");\n }\n }\n\n create(width, height, skipDimensions = false) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid SVG dimensions\");\n }\n\n const svg = this._createSVG(\"svg:svg\");\n\n svg.setAttribute(\"version\", \"1.1\");\n\n if (!skipDimensions) {\n svg.setAttribute(\"width\", `${width}px`);\n svg.setAttribute(\"height\", `${height}px`);\n }\n\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", `0 0 ${width} ${height}`);\n return svg;\n }\n\n createElement(type) {\n if (typeof type !== \"string\") {\n throw new Error(\"Invalid SVG element type\");\n }\n\n return this._createSVG(type);\n }\n\n _createSVG(type) {\n (0, _util.unreachable)(\"Abstract method `_createSVG` called.\");\n }\n\n}\n\nexports.BaseSVGFactory = BaseSVGFactory;\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.build = exports.RenderTask = exports.PDFWorkerUtil = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0;\nexports.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.version = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _annotation_storage = __w_pdfjs_require__(7);\n\nvar _display_utils = __w_pdfjs_require__(4);\n\nvar _font_loader = __w_pdfjs_require__(11);\n\nvar _canvas = __w_pdfjs_require__(12);\n\nvar _worker_options = __w_pdfjs_require__(15);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nvar _message_handler = __w_pdfjs_require__(16);\n\nvar _metadata = __w_pdfjs_require__(17);\n\nvar _optional_content_config = __w_pdfjs_require__(18);\n\nvar _transport_stream = __w_pdfjs_require__(19);\n\nvar _xfa_text = __w_pdfjs_require__(20);\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536;\nconst RENDERING_CANCELLED_TIMEOUT = 100;\nlet DefaultCanvasFactory = _display_utils.DOMCanvasFactory;\nexports.DefaultCanvasFactory = DefaultCanvasFactory;\nlet DefaultCMapReaderFactory = _display_utils.DOMCMapReaderFactory;\nexports.DefaultCMapReaderFactory = DefaultCMapReaderFactory;\nlet DefaultStandardFontDataFactory = _display_utils.DOMStandardFontDataFactory;\nexports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory;\n\nif (_is_node.isNodeJS) {\n const {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeStandardFontDataFactory\n } = __w_pdfjs_require__(21);\n\n exports.DefaultCanvasFactory = DefaultCanvasFactory = NodeCanvasFactory;\n exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory = NodeCMapReaderFactory;\n exports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory = NodeStandardFontDataFactory;\n}\n\nlet createPDFNetworkStream;\n\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n let source;\n\n if (typeof src === \"string\" || src instanceof URL) {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, \" + \"need either string, URL, Uint8Array, or parameter object.\");\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n\n source = src;\n }\n\n const params = Object.create(null);\n let rangeTransport = null,\n worker = null;\n\n for (const key in source) {\n const value = source[key];\n\n switch (key) {\n case \"url\":\n if (typeof window !== \"undefined\") {\n try {\n params[key] = new URL(value, window.location).href;\n continue;\n } catch (ex) {\n (0, _util.warn)(`Cannot create valid URL: \"${ex}\".`);\n }\n } else if (typeof value === \"string\" || value instanceof URL) {\n params[key] = value.toString();\n continue;\n }\n\n throw new Error(\"Invalid PDF url data: \" + \"either string or URL-object is expected in the url property.\");\n\n case \"range\":\n rangeTransport = value;\n continue;\n\n case \"worker\":\n worker = value;\n continue;\n\n case \"data\":\n if (_is_node.isNodeJS && typeof Buffer !== \"undefined\" && value instanceof Buffer) {\n params[key] = new Uint8Array(value);\n } else if (value instanceof Uint8Array) {\n break;\n } else if (typeof value === \"string\") {\n params[key] = (0, _util.stringToBytes)(value);\n } else if (typeof value === \"object\" && value !== null && !isNaN(value.length)) {\n params[key] = new Uint8Array(value);\n } else if ((0, _util.isArrayBuffer)(value)) {\n params[key] = new Uint8Array(value);\n } else {\n throw new Error(\"Invalid PDF binary data: either typed array, \" + \"string, or array-like object is expected in the data property.\");\n }\n\n continue;\n }\n\n params[key] = value;\n }\n\n params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory;\n params.StandardFontDataFactory = params.StandardFontDataFactory || DefaultStandardFontDataFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n params.enableXfa = params.enableXfa === true;\n\n if (!Number.isInteger(params.rangeChunkSize) || params.rangeChunkSize < 1) {\n params.rangeChunkSize = DEFAULT_RANGE_CHUNK_SIZE;\n }\n\n if (typeof params.docBaseUrl !== \"string\" || (0, _display_utils.isDataScheme)(params.docBaseUrl)) {\n params.docBaseUrl = null;\n }\n\n if (!Number.isInteger(params.maxImageSize) || params.maxImageSize < -1) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.cMapUrl !== \"string\") {\n params.cMapUrl = null;\n }\n\n if (typeof params.standardFontDataUrl !== \"string\") {\n params.standardFontDataUrl = null;\n }\n\n if (typeof params.useWorkerFetch !== \"boolean\") {\n params.useWorkerFetch = params.CMapReaderFactory === _display_utils.DOMCMapReaderFactory && params.StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory;\n }\n\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = _is_node.isNodeJS;\n }\n\n if (typeof params.useSystemFonts !== \"boolean\") {\n params.useSystemFonts = !_is_node.isNodeJS && !params.disableFontFace;\n }\n\n if (typeof params.ownerDocument !== \"object\" || params.ownerDocument === null) {\n params.ownerDocument = globalThis.document;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n const workerParams = {\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n const docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);\n\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n contentDispositionFilename: params.contentDispositionFilename,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n const transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n }).catch(task._capability.reject);\n return task;\n}\n\nasync function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n source.contentDispositionFilename = pdfDataRangeTransport.contentDispositionFilename;\n }\n\n const workerId = await worker.messageHandler.sendWithPromise(\"GetDocRequest\", {\n docId,\n apiVersion: '2.15.349',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties,\n enableXfa: source.enableXfa,\n useSystemFonts: source.useSystemFonts,\n cMapUrl: source.useWorkerFetch ? source.cMapUrl : null,\n standardFontDataUrl: source.useWorkerFetch ? source.standardFontDataUrl : null\n });\n\n if (source.data) {\n source.data = null;\n }\n\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n return workerId;\n}\n\nclass PDFDocumentLoadingTask {\n static #docId = 0;\n\n constructor() {\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = `d${PDFDocumentLoadingTask.#docId++}`;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n\n get promise() {\n return this._capability.promise;\n }\n\n async destroy() {\n this.destroyed = true;\n await this._transport?.destroy();\n this._transport = null;\n\n if (this._worker) {\n this._worker.destroy();\n\n this._worker = null;\n }\n }\n\n}\n\nexports.PDFDocumentLoadingTask = PDFDocumentLoadingTask;\n\nclass PDFDataRangeTransport {\n constructor(length, initialData, progressiveDone = false, contentDispositionFilename = null) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n\n transportReady() {\n this._readyCapability.resolve();\n }\n\n requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n\n}\n\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n Object.defineProperty(this, \"fingerprint\", {\n get() {\n (0, _display_utils.deprecated)(\"`PDFDocumentProxy.fingerprint`, \" + \"please use `PDFDocumentProxy.fingerprints` instead.\");\n return this.fingerprints[0];\n }\n\n });\n Object.defineProperty(this, \"getStats\", {\n value: async () => {\n (0, _display_utils.deprecated)(\"`PDFDocumentProxy.getStats`, \" + \"please use the `PDFDocumentProxy.stats`-getter instead.\");\n return this.stats || {\n streamTypes: {},\n fontTypes: {}\n };\n }\n });\n }\n\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n\n get stats() {\n return this._transport.stats;\n }\n\n get isPureXfa() {\n return !!this._transport._htmlForXfa;\n }\n\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n\n getOutline() {\n return this._transport.getOutline();\n }\n\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n\n getData() {\n return this._transport.getData();\n }\n\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n\n destroy() {\n return this.loadingTask.destroy();\n }\n\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n get loadingTask() {\n return this._transport.loadingTask;\n }\n\n saveDocument() {\n if (this._transport.annotationStorage.size <= 0) {\n (0, _display_utils.deprecated)(\"saveDocument called while `annotationStorage` is empty, \" + \"please use the getData-method instead.\");\n }\n\n return this._transport.saveDocument();\n }\n\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n\n}\n\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nclass PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, ownerDocument, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this._bitmaps = new Set();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this._intentStates = new Map();\n this._annotationPromises = new Map();\n this.destroyed = false;\n }\n\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n get ref() {\n return this._pageInfo.ref;\n }\n\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n get view() {\n return this._pageInfo.view;\n }\n\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n } = {}) {\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n\n getAnnotations({\n intent = \"display\"\n } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n\n let promise = this._annotationPromises.get(intentArgs.cacheKey);\n\n if (!promise) {\n promise = this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent);\n\n this._annotationPromises.set(intentArgs.cacheKey, promise);\n\n promise = promise.then(annotations => {\n for (const annotation of annotations) {\n if (annotation.titleObj !== undefined) {\n Object.defineProperty(annotation, \"title\", {\n get() {\n (0, _display_utils.deprecated)(\"`title`-property on annotation, please use `titleObj` instead.\");\n return annotation.titleObj.str;\n }\n\n });\n }\n\n if (annotation.contentsObj !== undefined) {\n Object.defineProperty(annotation, \"contents\", {\n get() {\n (0, _display_utils.deprecated)(\"`contents`-property on annotation, please use `contentsObj` instead.\");\n return annotation.contentsObj.str;\n }\n\n });\n }\n }\n\n return annotations;\n });\n }\n\n return promise;\n }\n\n getJSActions() {\n return this._jsActionsPromise ||= this._transport.getPageJSActions(this._pageIndex);\n }\n\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n pageColors = null,\n printAnnotationStorage = null\n }) {\n if (arguments[0]?.renderInteractiveForms !== undefined) {\n (0, _display_utils.deprecated)(\"render no longer accepts the `renderInteractiveForms`-option, \" + \"please use the `annotationMode`-option instead.\");\n\n if (arguments[0].renderInteractiveForms === true && annotationMode === _util.AnnotationMode.ENABLE) {\n annotationMode = _util.AnnotationMode.ENABLE_FORMS;\n }\n }\n\n if (arguments[0]?.includeAnnotationStorage !== undefined) {\n (0, _display_utils.deprecated)(\"render no longer accepts the `includeAnnotationStorage`-option, \" + \"please use the `annotationMode`-option instead.\");\n\n if (arguments[0].includeAnnotationStorage === true && annotationMode === _util.AnnotationMode.ENABLE) {\n annotationMode = _util.AnnotationMode.ENABLE_STORAGE;\n }\n }\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage);\n\n this.pendingCleanup = false;\n\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({\n ownerDocument: this._ownerDocument\n });\n const intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT);\n\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList(intentArgs);\n }\n\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n\n if (this.cleanupAfterRender || intentPrint) {\n this.pendingCleanup = true;\n }\n\n this._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error)\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n\n this._stats.timeEnd(\"Overall\");\n }\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n pageColors\n });\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(([transparency, optionalContentConfig]) => {\n if (this.pendingCleanup) {\n complete();\n return;\n }\n\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig\n });\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n\n getOperatorList({\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE,\n printAnnotationStorage = null\n } = {}) {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n intentState.renderTasks.delete(opListTask);\n }\n }\n\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage, true);\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList(intentArgs);\n }\n\n return intentState.opListReadCapability.promise;\n }\n\n streamTextContent({\n disableCombineTextItems = false,\n includeMarkedContent = false\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n combineTextItems: disableCombineTextItems !== true,\n includeMarkedContent: includeMarkedContent === true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n\n size(textContent) {\n return textContent.items.length;\n }\n\n });\n }\n\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n return this.getXfa().then(xfa => {\n return _xfa_text.XfaText.textContent(xfa);\n });\n }\n\n const readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n\n getStructTree() {\n return this._structTreePromise ||= this._transport.getStructTree(this._pageIndex);\n }\n\n _destroy() {\n this.destroyed = true;\n const waitOn = [];\n\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n\n if (intentState.opListReadCapability) {\n continue;\n }\n\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n\n this.objs.clear();\n\n for (const bitmap of this._bitmaps) {\n bitmap.close();\n }\n\n this._bitmaps.clear();\n\n this._annotationPromises.clear();\n\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n\n cleanup(resetStats = false) {\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n\n _tryCleanup(resetStats = false) {\n if (!this.pendingCleanup) {\n return false;\n }\n\n for (const {\n renderTasks,\n operatorList\n } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n\n this._intentStates.clear();\n\n this.objs.clear();\n\n this._annotationPromises.clear();\n\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n\n if (resetStats && this._stats) {\n this._stats = new _display_utils.StatTimer();\n }\n\n for (const bitmap of this._bitmaps) {\n bitmap.close();\n }\n\n this._bitmaps.clear();\n\n this.pendingCleanup = false;\n return true;\n }\n\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n\n if (!intentState) {\n return;\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n\n _renderPageChunk(operatorListChunk, intentState) {\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots;\n\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n\n _pumpOperatorList({\n renderingIntent,\n cacheKey,\n annotationStorageMap\n }) {\n const readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage: annotationStorageMap\n });\n\n const reader = readableStream.getReader();\n\n const intentState = this._intentStates.get(cacheKey);\n\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (this._transport.destroyed) {\n return;\n }\n\n this._renderPageChunk(value, intentState);\n\n pump();\n }, reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n this._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n\n pump();\n }\n\n _abortOperatorList({\n intentState,\n reason,\n force = false\n }) {\n if (!intentState.streamReader) {\n return;\n }\n\n if (!force) {\n if (intentState.renderTasks.size > 0) {\n return;\n }\n\n if (reason instanceof _display_utils.RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n this._abortOperatorList({\n intentState,\n reason,\n force: true\n });\n\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n\n intentState.streamReader.cancel(new _util.AbortException(reason.message)).catch(() => {});\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n\n break;\n }\n }\n\n this.cleanup();\n }\n\n get stats() {\n return this._stats;\n }\n\n}\n\nexports.PDFPageProxy = PDFPageProxy;\n\nclass LoopbackPort {\n constructor() {\n this._listeners = [];\n this._deferred = Promise.resolve();\n }\n\n postMessage(obj, transfers) {\n const event = {\n data: structuredClone(obj, transfers)\n };\n\n this._deferred.then(() => {\n for (const listener of this._listeners) {\n listener.call(this, event);\n }\n });\n }\n\n addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n\n removeEventListener(name, listener) {\n const i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n\n terminate() {\n this._listeners.length = 0;\n }\n\n}\n\nexports.LoopbackPort = LoopbackPort;\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0\n};\nexports.PDFWorkerUtil = PDFWorkerUtil;\n{\n if (_is_node.isNodeJS && typeof require === \"function\") {\n PDFWorkerUtil.isWorkerDisabled = true;\n PDFWorkerUtil.fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n\n PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) {\n let base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n };\n\n PDFWorkerUtil.createCDNWrapper = function (url) {\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\n\nclass PDFWorker {\n static #workerPorts = new WeakMap();\n\n constructor({\n name = null,\n port = null,\n verbosity = (0, _util.getVerbosityLevel)()\n } = {}) {\n if (port && PDFWorker.#workerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n PDFWorker.#workerPorts.set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n get promise() {\n return this._readyCapability.promise;\n }\n\n get port() {\n return this._port;\n }\n\n get messageHandler() {\n return this._messageHandler;\n }\n\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n\n this._messageHandler.on(\"ready\", function () {});\n\n this._readyCapability.resolve();\n }\n\n _initialize() {\n if (typeof Worker !== \"undefined\" && !PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) {\n let workerSrc = PDFWorker.workerSrc;\n\n try {\n if (!PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n\n const worker = new Worker(workerSrc);\n const messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n this._setupFakeWorker();\n }\n };\n\n const onWorkerError = () => {\n if (!this._webWorker) {\n terminateEarly();\n }\n };\n\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n\n this._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n } else {\n this._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n this._setupFakeWorker();\n }\n });\n\n const sendTest = () => {\n const testObj = new Uint8Array();\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n };\n\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n\n this._setupFakeWorker();\n }\n\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n\n PDFWorker._setupFakeWorkerGlobal.then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n\n return;\n }\n\n const port = new LoopbackPort();\n this._port = port;\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n const workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n const messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n\n this._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }).catch(reason => {\n this._readyCapability.reject(new Error(`Setting up fake worker failed: \"${reason.message}\".`));\n });\n }\n\n destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n PDFWorker.#workerPorts.delete(this._port);\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n\n static fromPort(params) {\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n\n if (this.#workerPorts.has(params.port)) {\n return this.#workerPorts.get(params.port);\n }\n\n return new PDFWorker(params);\n }\n\n static get workerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (PDFWorkerUtil.fallbackWorkerSrc !== null) {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n static get _mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch (ex) {\n return null;\n }\n }\n\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n\n if (mainWorkerMessageHandler) {\n return mainWorkerMessageHandler;\n }\n\n if (_is_node.isNodeJS && typeof require === \"function\") {\n const worker = eval(\"require\")(this.workerSrc);\n return worker.WorkerMessageHandler;\n }\n\n await (0, _display_utils.loadScript)(this.workerSrc);\n return window.pdfjsWorker.WorkerMessageHandler;\n };\n\n return (0, _util.shadow)(this, \"_setupFakeWorkerGlobal\", loader());\n }\n\n}\n\nexports.PDFWorker = PDFWorker;\n{\n PDFWorker.getWorkerSrc = function () {\n (0, _display_utils.deprecated)(\"`PDFWorker.getWorkerSrc()`, please use `PDFWorker.workerSrc` instead.\");\n return this.workerSrc;\n };\n}\n\nclass WorkerTransport {\n #docStats = null;\n #pageCache = new Map();\n #pagePromises = new Map();\n #metadataPromise = null;\n\n constructor(messageHandler, loadingTask, networkStream, params) {\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n ownerDocument: params.ownerDocument,\n styleElement: params.styleElement\n });\n this._params = params;\n\n if (!params.useWorkerFetch) {\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.StandardFontDataFactory = new params.StandardFontDataFactory({\n baseUrl: params.standardFontDataUrl\n });\n }\n\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n get annotationStorage() {\n return (0, _util.shadow)(this, \"annotationStorage\", new _annotation_storage.AnnotationStorage());\n }\n\n get stats() {\n return this.#docStats;\n }\n\n getRenderingIntent(intent, annotationMode = _util.AnnotationMode.ENABLE, printAnnotationStorage = null, isOpList = false) {\n let renderingIntent = _util.RenderingIntentFlag.DISPLAY;\n let annotationMap = null;\n\n switch (intent) {\n case \"any\":\n renderingIntent = _util.RenderingIntentFlag.ANY;\n break;\n\n case \"display\":\n break;\n\n case \"print\":\n renderingIntent = _util.RenderingIntentFlag.PRINT;\n break;\n\n default:\n (0, _util.warn)(`getRenderingIntent - invalid intent: ${intent}`);\n }\n\n switch (annotationMode) {\n case _util.AnnotationMode.DISABLE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE;\n break;\n\n case _util.AnnotationMode.ENABLE:\n break;\n\n case _util.AnnotationMode.ENABLE_FORMS:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS;\n break;\n\n case _util.AnnotationMode.ENABLE_STORAGE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE;\n const annotationStorage = renderingIntent & _util.RenderingIntentFlag.PRINT && printAnnotationStorage instanceof _annotation_storage.PrintAnnotationStorage ? printAnnotationStorage : this.annotationStorage;\n annotationMap = annotationStorage.serializable;\n break;\n\n default:\n (0, _util.warn)(`getRenderingIntent - invalid annotationMode: ${annotationMode}`);\n }\n\n if (isOpList) {\n renderingIntent += _util.RenderingIntentFlag.OPLIST;\n }\n\n return {\n renderingIntent,\n cacheKey: `${renderingIntent}_${_annotation_storage.AnnotationStorage.getHash(annotationMap)}`,\n annotationStorageMap: annotationMap\n };\n }\n\n destroy() {\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n }\n\n const waitOn = [];\n\n for (const page of this.#pageCache.values()) {\n waitOn.push(page._destroy());\n }\n\n this.#pageCache.clear();\n this.#pagePromises.clear();\n\n if (this.hasOwnProperty(\"annotationStorage\")) {\n this.annotationStorage.resetModified();\n }\n\n const terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(() => {\n this.commonObjs.clear();\n this.fontLoader.clear();\n this.#metadataPromise = null;\n this._getFieldObjectsPromise = null;\n this._hasJSActionsPromise = null;\n\n if (this._networkStream) {\n this._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n if (this.messageHandler) {\n this.messageHandler.destroy();\n this.messageHandler = null;\n }\n\n this.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n\n setupMessageHandler() {\n const {\n messageHandler,\n loadingTask\n } = this;\n messageHandler.on(\"GetReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n this._fullReader = this._networkStream.getFullReader();\n\n this._fullReader.onProgress = evt => {\n this._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = () => {\n this._fullReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n\n sink.onCancel = reason => {\n this._fullReader.cancel(reason);\n\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", data => {\n const headersCapability = (0, _util.createPromiseCapability)();\n const fullReader = this._fullReader;\n fullReader.headersReady.then(() => {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (this._lastProgress) {\n loadingTask.onProgress?.(this._lastProgress);\n }\n\n fullReader.onProgress = evt => {\n loadingTask.onProgress?.({\n loaded: evt.loaded,\n total: evt.total\n });\n };\n }\n\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n\n const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = () => {\n rangeReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n\n sink.onCancel = reason => {\n rangeReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", ({\n pdfInfo\n }) => {\n this._numPages = pdfInfo.numPages;\n this._htmlForXfa = pdfInfo.htmlForXfa;\n delete pdfInfo.htmlForXfa;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n });\n messageHandler.on(\"DocException\", function (ex) {\n let reason;\n\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n\n default:\n (0, _util.unreachable)(\"DocException - expected a valid Error.\");\n }\n\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", exception => {\n this._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n const updatePassword = password => {\n if (password instanceof Error) {\n this._passwordCapability.reject(password);\n } else {\n this._passwordCapability.resolve({\n password\n });\n }\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return this._passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", data => {\n loadingTask.onProgress?.({\n loaded: data.length,\n total: data.length\n });\n this.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", data => {\n if (this.destroyed) {\n return;\n }\n\n const page = this.#pageCache.get(data.pageIndex);\n\n page._startRenderPage(data.transparency, data.cacheKey);\n });\n messageHandler.on(\"commonobj\", ([id, type, exportedData]) => {\n if (this.destroyed) {\n return;\n }\n\n if (this.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n const params = this._params;\n\n if (\"error\" in exportedData) {\n const exportedError = exportedData.error;\n (0, _util.warn)(`Error during font loading: ${exportedError}`);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n\n let fontRegistry = null;\n\n if (params.pdfBug && globalThis.FontInspector?.enabled) {\n fontRegistry = {\n registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n }\n\n };\n }\n\n const font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n fontRegistry\n });\n this.fontLoader.bind(font).catch(reason => {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id\n });\n }).finally(() => {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n\n this.commonObjs.resolve(id, font);\n });\n break;\n\n case \"FontPath\":\n case \"Image\":\n this.commonObjs.resolve(id, exportedData);\n break;\n\n default:\n throw new Error(`Got unknown common object type ${type}`);\n }\n });\n messageHandler.on(\"obj\", ([id, pageIndex, type, imageData]) => {\n if (this.destroyed) {\n return;\n }\n\n const pageProxy = this.#pageCache.get(pageIndex);\n\n if (pageProxy.objs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n const MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if (imageData) {\n let length;\n\n if (imageData.bitmap) {\n const {\n bitmap,\n width,\n height\n } = imageData;\n length = width * height * 4;\n\n pageProxy._bitmaps.add(bitmap);\n } else {\n length = imageData.data?.length || 0;\n }\n\n if (length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n }\n\n break;\n\n case \"Pattern\":\n pageProxy.objs.resolve(id, imageData);\n break;\n\n default:\n throw new Error(`Got unknown object type ${type}`);\n }\n });\n messageHandler.on(\"DocProgress\", data => {\n if (this.destroyed) {\n return;\n }\n\n loadingTask.onProgress?.({\n loaded: data.loaded,\n total: data.total\n });\n });\n messageHandler.on(\"DocStats\", data => {\n if (this.destroyed) {\n return;\n }\n\n this.#docStats = Object.freeze({\n streamTypes: Object.freeze(data.streamTypes),\n fontTypes: Object.freeze(data.fontTypes)\n });\n });\n messageHandler.on(\"UnsupportedFeature\", this._onUnsupportedFeature.bind(this));\n messageHandler.on(\"FetchBuiltInCMap\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n\n if (!this.CMapReaderFactory) {\n return Promise.reject(new Error(\"CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n\n return this.CMapReaderFactory.fetch(data);\n });\n messageHandler.on(\"FetchStandardFontData\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n\n if (!this.StandardFontDataFactory) {\n return Promise.reject(new Error(\"StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n\n return this.StandardFontDataFactory.fetch(data);\n });\n }\n\n _onUnsupportedFeature({\n featureId\n }) {\n if (this.destroyed) {\n return;\n }\n\n this.loadingTask.onUnsupportedFeature?.(featureId);\n }\n\n getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n\n getPage(pageNumber) {\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request.\"));\n }\n\n const pageIndex = pageNumber - 1,\n cachedPromise = this.#pagePromises.get(pageIndex);\n\n if (cachedPromise) {\n return cachedPromise;\n }\n\n const promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex\n }).then(pageInfo => {\n if (this.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n\n const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.ownerDocument, this._params.pdfBug);\n this.#pageCache.set(pageIndex, page);\n return page;\n });\n this.#pagePromises.set(pageIndex, promise);\n return promise;\n }\n\n getPageIndex(ref) {\n if (typeof ref !== \"object\" || ref === null || !Number.isInteger(ref.num) || ref.num < 0 || !Number.isInteger(ref.gen) || ref.gen < 0) {\n return Promise.reject(new Error(\"Invalid pageIndex request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n num: ref.num,\n gen: ref.gen\n });\n }\n\n getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex,\n intent\n });\n }\n\n saveDocument() {\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n isPureXfa: !!this._htmlForXfa,\n numPages: this._numPages,\n annotationStorage: this.annotationStorage.serializable,\n filename: this._fullReader?.filename ?? null\n }).finally(() => {\n this.annotationStorage.resetModified();\n });\n }\n\n getFieldObjects() {\n return this._getFieldObjectsPromise ||= this.messageHandler.sendWithPromise(\"GetFieldObjects\", null);\n }\n\n hasJSActions() {\n return this._hasJSActionsPromise ||= this.messageHandler.sendWithPromise(\"HasJSActions\", null);\n }\n\n getCalculationOrderIds() {\n return this.messageHandler.sendWithPromise(\"GetCalculationOrderIds\", null);\n }\n\n getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n\n getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id\n });\n }\n\n getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n\n getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n\n getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n\n getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n\n getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n\n getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n\n getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n\n getDocJSActions() {\n return this.messageHandler.sendWithPromise(\"GetDocJSActions\", null);\n }\n\n getPageJSActions(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetPageJSActions\", {\n pageIndex\n });\n }\n\n getStructTree(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetStructTree\", {\n pageIndex\n });\n }\n\n getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n\n getOptionalContentConfig() {\n return this.messageHandler.sendWithPromise(\"GetOptionalContentConfig\", null).then(results => {\n return new _optional_content_config.OptionalContentConfig(results);\n });\n }\n\n getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n\n getMetadata() {\n return this.#metadataPromise ||= this.messageHandler.sendWithPromise(\"GetMetadata\", null).then(results => {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: this._fullReader?.filename ?? null,\n contentLength: this._fullReader?.contentLength ?? null\n };\n });\n }\n\n getMarkInfo() {\n return this.messageHandler.sendWithPromise(\"GetMarkInfo\", null);\n }\n\n async startCleanup(keepLoadedFonts = false) {\n await this.messageHandler.sendWithPromise(\"Cleanup\", null);\n\n if (this.destroyed) {\n return;\n }\n\n for (const page of this.#pageCache.values()) {\n const cleanupSuccessful = page.cleanup();\n\n if (!cleanupSuccessful) {\n throw new Error(`startCleanup: Page ${page.pageNumber} is currently rendering.`);\n }\n }\n\n this.commonObjs.clear();\n\n if (!keepLoadedFonts) {\n this.fontLoader.clear();\n }\n\n this.#metadataPromise = null;\n this._getFieldObjectsPromise = null;\n this._hasJSActionsPromise = null;\n }\n\n get loadingParams() {\n const params = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch: params.disableAutoFetch,\n enableXfa: params.enableXfa\n });\n }\n\n}\n\nclass PDFObjects {\n #objs = Object.create(null);\n\n __ensureObj(objId) {\n const obj = this.#objs[objId];\n\n if (obj) {\n return obj;\n }\n\n return this.#objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null\n };\n }\n\n get(objId, callback = null) {\n if (callback) {\n const obj = this.__ensureObj(objId);\n obj.capability.promise.then(() => callback(obj.data));\n return null;\n }\n\n const obj = this.#objs[objId];\n\n if (!obj?.capability.settled) {\n throw new Error(`Requesting object that isn't resolved yet ${objId}.`);\n }\n\n return obj.data;\n }\n\n has(objId) {\n const obj = this.#objs[objId];\n return obj?.capability.settled || false;\n }\n\n resolve(objId, data = null) {\n const obj = this.__ensureObj(objId);\n obj.data = data;\n obj.capability.resolve();\n }\n\n clear() {\n this.#objs = Object.create(null);\n }\n\n}\n\nclass RenderTask {\n #internalRenderTask = null;\n\n constructor(internalRenderTask) {\n this.#internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n get promise() {\n return this.#internalRenderTask.capability.promise;\n }\n\n cancel() {\n this.#internalRenderTask.cancel();\n }\n\n get separateAnnots() {\n const {\n separateAnnots\n } = this.#internalRenderTask.operatorList;\n\n if (!separateAnnots) {\n return false;\n }\n\n const {\n annotationCanvasMap\n } = this.#internalRenderTask;\n return separateAnnots.form || separateAnnots.canvas && annotationCanvasMap?.size > 0;\n }\n\n}\n\nexports.RenderTask = RenderTask;\n\nclass InternalRenderTask {\n static #canvasInUse = new WeakSet();\n\n constructor({\n callback,\n params,\n objs,\n commonObjs,\n annotationCanvasMap,\n operatorList,\n pageIndex,\n canvasFactory,\n useRequestAnimationFrame = false,\n pdfBug = false,\n pageColors = null\n }) {\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.annotationCanvasMap = annotationCanvasMap;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this._pdfBug = pdfBug;\n this.pageColors = pageColors;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._cancelBound = this.cancel.bind(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n\n get completed() {\n return this.capability.promise.catch(function () {});\n }\n\n initializeGraphics({\n transparency = false,\n optionalContentConfig\n }) {\n if (this.cancelled) {\n return;\n }\n\n if (this._canvas) {\n if (InternalRenderTask.#canvasInUse.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n\n InternalRenderTask.#canvasInUse.add(this._canvas);\n }\n\n if (this._pdfBug && globalThis.StepperManager?.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n const {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background\n } = this.params;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, imageLayer, optionalContentConfig, this.annotationCanvasMap, this.pageColors);\n this.gfx.beginDrawing({\n transform,\n viewport,\n transparency,\n background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n\n cancel(error = null) {\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, \"canvas\"));\n }\n\n operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n\n _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n\n _scheduleNext() {\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this._nextBound().catch(this._cancelBound);\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this._cancelBound);\n }\n }\n\n async _next() {\n if (this.cancelled) {\n return;\n }\n\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n\n if (this._canvas) {\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n }\n\n this.callback();\n }\n }\n }\n\n}\n\nconst version = '2.15.349';\nexports.version = version;\nconst build = 'b8aa9c622';\nexports.build = build;\n\n/***/ }),\n/* 7 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PrintAnnotationStorage = exports.AnnotationStorage = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _editor = __w_pdfjs_require__(8);\n\nvar _murmurhash = __w_pdfjs_require__(10);\n\nclass AnnotationStorage {\n constructor() {\n this._storage = new Map();\n this._modified = false;\n this.onSetModified = null;\n this.onResetModified = null;\n }\n\n getValue(key, defaultValue) {\n const value = this._storage.get(key);\n\n if (value === undefined) {\n return defaultValue;\n }\n\n return Object.assign(defaultValue, value);\n }\n\n getRawValue(key) {\n return this._storage.get(key);\n }\n\n removeKey(key) {\n this._storage.delete(key);\n\n if (this._storage.size === 0) {\n this.resetModified();\n }\n }\n\n setValue(key, value) {\n const obj = this._storage.get(key);\n\n let modified = false;\n\n if (obj !== undefined) {\n for (const [entry, val] of Object.entries(value)) {\n if (obj[entry] !== val) {\n modified = true;\n obj[entry] = val;\n }\n }\n } else {\n modified = true;\n\n this._storage.set(key, value);\n }\n\n if (modified) {\n this.__setModified();\n }\n }\n\n has(key) {\n return this._storage.has(key);\n }\n\n getAll() {\n return this._storage.size > 0 ? (0, _util.objectFromMap)(this._storage) : null;\n }\n\n get size() {\n return this._storage.size;\n }\n\n __setModified() {\n if (!this._modified) {\n this._modified = true;\n\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n }\n\n resetModified() {\n if (this._modified) {\n this._modified = false;\n\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n\n get print() {\n return new PrintAnnotationStorage(this);\n }\n\n get serializable() {\n if (this._storage.size === 0) {\n return null;\n }\n\n const clone = new Map();\n\n for (const [key, val] of this._storage) {\n const serialized = val instanceof _editor.AnnotationEditor ? val.serialize() : val;\n\n if (serialized) {\n clone.set(key, serialized);\n }\n }\n\n return clone;\n }\n\n static getHash(map) {\n if (!map) {\n return \"\";\n }\n\n const hash = new _murmurhash.MurmurHash3_64();\n\n for (const [key, val] of map) {\n hash.update(`${key}:${JSON.stringify(val)}`);\n }\n\n return hash.hexdigest();\n }\n\n}\n\nexports.AnnotationStorage = AnnotationStorage;\n\nclass PrintAnnotationStorage extends AnnotationStorage {\n #serializable = null;\n\n constructor(parent) {\n super();\n this.#serializable = structuredClone(parent.serializable);\n }\n\n get print() {\n (0, _util.unreachable)(\"Should not call PrintAnnotationStorage.print\");\n }\n\n get serializable() {\n return this.#serializable;\n }\n\n}\n\nexports.PrintAnnotationStorage = PrintAnnotationStorage;\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationEditor = void 0;\n\nvar _tools = __w_pdfjs_require__(9);\n\nvar _util = __w_pdfjs_require__(1);\n\nclass AnnotationEditor {\n #boundFocusin = this.focusin.bind(this);\n #boundFocusout = this.focusout.bind(this);\n #hasBeenSelected = false;\n #isEditing = false;\n #isInEditMode = false;\n #zIndex = AnnotationEditor._zIndex++;\n static _colorManager = new _tools.ColorManager();\n static _zIndex = 1;\n\n constructor(parameters) {\n if (this.constructor === AnnotationEditor) {\n (0, _util.unreachable)(\"Cannot initialize AnnotationEditor.\");\n }\n\n this.parent = parameters.parent;\n this.id = parameters.id;\n this.width = this.height = null;\n this.pageIndex = parameters.parent.pageIndex;\n this.name = parameters.name;\n this.div = null;\n const [width, height] = this.parent.viewportBaseDimensions;\n this.x = parameters.x / width;\n this.y = parameters.y / height;\n this.rotation = this.parent.viewport.rotation;\n this.isAttachedToDOM = false;\n }\n\n static get _defaultLineColor() {\n return (0, _util.shadow)(this, \"_defaultLineColor\", this._colorManager.getHexCode(\"CanvasText\"));\n }\n\n setInBackground() {\n this.div.style.zIndex = 0;\n }\n\n setInForeground() {\n this.div.style.zIndex = this.#zIndex;\n }\n\n focusin(event) {\n if (!this.#hasBeenSelected) {\n this.parent.setSelected(this);\n } else {\n this.#hasBeenSelected = false;\n }\n }\n\n focusout(event) {\n if (!this.isAttachedToDOM) {\n return;\n }\n\n const target = event.relatedTarget;\n\n if (target?.closest(`#${this.id}`)) {\n return;\n }\n\n event.preventDefault();\n\n if (!this.parent.isMultipleSelection) {\n this.commitOrRemove();\n }\n }\n\n commitOrRemove() {\n if (this.isEmpty()) {\n this.remove();\n } else {\n this.commit();\n }\n }\n\n commit() {\n this.parent.addToAnnotationStorage(this);\n }\n\n dragstart(event) {\n const rect = this.parent.div.getBoundingClientRect();\n this.startX = event.clientX - rect.x;\n this.startY = event.clientY - rect.y;\n event.dataTransfer.setData(\"text/plain\", this.id);\n event.dataTransfer.effectAllowed = \"move\";\n }\n\n setAt(x, y, tx, ty) {\n const [width, height] = this.parent.viewportBaseDimensions;\n [tx, ty] = this.screenToPageTranslation(tx, ty);\n this.x = (x + tx) / width;\n this.y = (y + ty) / height;\n this.div.style.left = `${100 * this.x}%`;\n this.div.style.top = `${100 * this.y}%`;\n }\n\n translate(x, y) {\n const [width, height] = this.parent.viewportBaseDimensions;\n [x, y] = this.screenToPageTranslation(x, y);\n this.x += x / width;\n this.y += y / height;\n this.div.style.left = `${100 * this.x}%`;\n this.div.style.top = `${100 * this.y}%`;\n }\n\n screenToPageTranslation(x, y) {\n const {\n rotation\n } = this.parent.viewport;\n\n switch (rotation) {\n case 90:\n return [y, -x];\n\n case 180:\n return [-x, -y];\n\n case 270:\n return [-y, x];\n\n default:\n return [x, y];\n }\n }\n\n setDims(width, height) {\n const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions;\n this.div.style.width = `${100 * width / parentWidth}%`;\n this.div.style.height = `${100 * height / parentHeight}%`;\n }\n\n getInitialTranslation() {\n return [0, 0];\n }\n\n render() {\n this.div = document.createElement(\"div\");\n this.div.setAttribute(\"data-editor-rotation\", (360 - this.rotation) % 360);\n this.div.className = this.name;\n this.div.setAttribute(\"id\", this.id);\n this.div.setAttribute(\"tabIndex\", 0);\n this.setInForeground();\n this.div.addEventListener(\"focusin\", this.#boundFocusin);\n this.div.addEventListener(\"focusout\", this.#boundFocusout);\n const [tx, ty] = this.getInitialTranslation();\n this.translate(tx, ty);\n (0, _tools.bindEvents)(this, this.div, [\"dragstart\", \"pointerdown\"]);\n return this.div;\n }\n\n pointerdown(event) {\n const isMac = _tools.KeyboardManager.platform.isMac;\n\n if (event.button !== 0 || event.ctrlKey && isMac) {\n event.preventDefault();\n return;\n }\n\n if (event.ctrlKey && !isMac || event.shiftKey || event.metaKey && isMac) {\n this.parent.toggleSelected(this);\n } else {\n this.parent.setSelected(this);\n }\n\n this.#hasBeenSelected = true;\n }\n\n getRect(tx, ty) {\n const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions;\n const [pageWidth, pageHeight] = this.parent.pageDimensions;\n const shiftX = pageWidth * tx / parentWidth;\n const shiftY = pageHeight * ty / parentHeight;\n const x = this.x * pageWidth;\n const y = this.y * pageHeight;\n const width = this.width * pageWidth;\n const height = this.height * pageHeight;\n\n switch (this.rotation) {\n case 0:\n return [x + shiftX, pageHeight - y - shiftY - height, x + shiftX + width, pageHeight - y - shiftY];\n\n case 90:\n return [x + shiftY, pageHeight - y + shiftX, x + shiftY + height, pageHeight - y + shiftX + width];\n\n case 180:\n return [x - shiftX - width, pageHeight - y + shiftY, x - shiftX, pageHeight - y + shiftY + height];\n\n case 270:\n return [x - shiftY - height, pageHeight - y - shiftX - width, x - shiftY, pageHeight - y - shiftX];\n\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n\n getRectInCurrentCoords(rect, pageHeight) {\n const [x1, y1, x2, y2] = rect;\n const width = x2 - x1;\n const height = y2 - y1;\n\n switch (this.rotation) {\n case 0:\n return [x1, pageHeight - y2, width, height];\n\n case 90:\n return [x1, pageHeight - y1, height, width];\n\n case 180:\n return [x2, pageHeight - y1, width, height];\n\n case 270:\n return [x2, pageHeight - y2, height, width];\n\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n\n onceAdded() {}\n\n isEmpty() {\n return false;\n }\n\n enableEditMode() {\n this.#isInEditMode = true;\n }\n\n disableEditMode() {\n this.#isInEditMode = false;\n }\n\n isInEditMode() {\n return this.#isInEditMode;\n }\n\n shouldGetKeyboardEvents() {\n return false;\n }\n\n needsToBeRebuilt() {\n return this.div && !this.isAttachedToDOM;\n }\n\n rebuild() {\n this.div?.addEventListener(\"focusin\", this.#boundFocusin);\n }\n\n serialize() {\n (0, _util.unreachable)(\"An editor must be serializable\");\n }\n\n static deserialize(data, parent) {\n const editor = new this.prototype.constructor({\n parent,\n id: parent.getNextId()\n });\n editor.rotation = data.rotation;\n const [pageWidth, pageHeight] = parent.pageDimensions;\n const [x, y, width, height] = editor.getRectInCurrentCoords(data.rect, pageHeight);\n editor.x = x / pageWidth;\n editor.y = y / pageHeight;\n editor.width = width / pageWidth;\n editor.height = height / pageHeight;\n return editor;\n }\n\n remove() {\n this.div.removeEventListener(\"focusin\", this.#boundFocusin);\n this.div.removeEventListener(\"focusout\", this.#boundFocusout);\n\n if (!this.isEmpty()) {\n this.commit();\n }\n\n this.parent.remove(this);\n }\n\n select() {\n this.div?.classList.add(\"selectedEditor\");\n }\n\n unselect() {\n this.div?.classList.remove(\"selectedEditor\");\n }\n\n updateParams(type, value) {}\n\n disableEditing() {}\n\n enableEditing() {}\n\n getIdForTextLayer() {\n return this.id;\n }\n\n get propertiesToUpdate() {\n return {};\n }\n\n get contentDiv() {\n return this.div;\n }\n\n get isEditing() {\n return this.#isEditing;\n }\n\n set isEditing(value) {\n this.#isEditing = value;\n\n if (value) {\n this.parent.setSelected(this);\n this.parent.setActiveEditor(this);\n } else {\n this.parent.setActiveEditor(null);\n }\n }\n\n}\n\nexports.AnnotationEditor = AnnotationEditor;\n\n/***/ }),\n/* 9 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.KeyboardManager = exports.CommandManager = exports.ColorManager = exports.AnnotationEditorUIManager = void 0;\nexports.bindEvents = bindEvents;\nexports.opacityToHex = opacityToHex;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(4);\n\nfunction bindEvents(obj, element, names) {\n for (const name of names) {\n element.addEventListener(name, obj[name].bind(obj));\n }\n}\n\nfunction opacityToHex(opacity) {\n return Math.round(Math.min(255, Math.max(1, 255 * opacity))).toString(16).padStart(2, \"0\");\n}\n\nclass IdManager {\n #id = 0;\n\n getId() {\n return `${_util.AnnotationEditorPrefix}${this.#id++}`;\n }\n\n}\n\nclass CommandManager {\n #commands = [];\n #locked = false;\n #maxSize;\n #position = -1;\n\n constructor(maxSize = 128) {\n this.#maxSize = maxSize;\n }\n\n add({\n cmd,\n undo,\n mustExec,\n type = NaN,\n overwriteIfSameType = false,\n keepUndo = false\n }) {\n if (mustExec) {\n cmd();\n }\n\n if (this.#locked) {\n return;\n }\n\n const save = {\n cmd,\n undo,\n type\n };\n\n if (this.#position === -1) {\n if (this.#commands.length > 0) {\n this.#commands.length = 0;\n }\n\n this.#position = 0;\n this.#commands.push(save);\n return;\n }\n\n if (overwriteIfSameType && this.#commands[this.#position].type === type) {\n if (keepUndo) {\n save.undo = this.#commands[this.#position].undo;\n }\n\n this.#commands[this.#position] = save;\n return;\n }\n\n const next = this.#position + 1;\n\n if (next === this.#maxSize) {\n this.#commands.splice(0, 1);\n } else {\n this.#position = next;\n\n if (next < this.#commands.length) {\n this.#commands.splice(next);\n }\n }\n\n this.#commands.push(save);\n }\n\n undo() {\n if (this.#position === -1) {\n return;\n }\n\n this.#locked = true;\n this.#commands[this.#position].undo();\n this.#locked = false;\n this.#position -= 1;\n }\n\n redo() {\n if (this.#position < this.#commands.length - 1) {\n this.#position += 1;\n this.#locked = true;\n this.#commands[this.#position].cmd();\n this.#locked = false;\n }\n }\n\n hasSomethingToUndo() {\n return this.#position !== -1;\n }\n\n hasSomethingToRedo() {\n return this.#position < this.#commands.length - 1;\n }\n\n destroy() {\n this.#commands = null;\n }\n\n}\n\nexports.CommandManager = CommandManager;\n\nclass KeyboardManager {\n constructor(callbacks) {\n this.buffer = [];\n this.callbacks = new Map();\n this.allKeys = new Set();\n const isMac = KeyboardManager.platform.isMac;\n\n for (const [keys, callback] of callbacks) {\n for (const key of keys) {\n const isMacKey = key.startsWith(\"mac+\");\n\n if (isMac && isMacKey) {\n this.callbacks.set(key.slice(4), callback);\n this.allKeys.add(key.split(\"+\").at(-1));\n } else if (!isMac && !isMacKey) {\n this.callbacks.set(key, callback);\n this.allKeys.add(key.split(\"+\").at(-1));\n }\n }\n }\n }\n\n static get platform() {\n const platform = typeof navigator !== \"undefined\" ? navigator.platform : \"\";\n return (0, _util.shadow)(this, \"platform\", {\n isWin: platform.includes(\"Win\"),\n isMac: platform.includes(\"Mac\")\n });\n }\n\n __serialize(event) {\n if (event.altKey) {\n this.buffer.push(\"alt\");\n }\n\n if (event.ctrlKey) {\n this.buffer.push(\"ctrl\");\n }\n\n if (event.metaKey) {\n this.buffer.push(\"meta\");\n }\n\n if (event.shiftKey) {\n this.buffer.push(\"shift\");\n }\n\n this.buffer.push(event.key);\n const str = this.buffer.join(\"+\");\n this.buffer.length = 0;\n return str;\n }\n\n exec(self, event) {\n if (!this.allKeys.has(event.key)) {\n return;\n }\n\n const callback = this.callbacks.get(this.__serialize(event));\n\n if (!callback) {\n return;\n }\n\n callback.bind(self)();\n event.stopPropagation();\n event.preventDefault();\n }\n\n}\n\nexports.KeyboardManager = KeyboardManager;\n\nclass ClipboardManager {\n #elements = null;\n\n copy(element) {\n if (!element) {\n return;\n }\n\n if (Array.isArray(element)) {\n this.#elements = element.map(el => el.serialize());\n } else {\n this.#elements = [element.serialize()];\n }\n\n this.#elements = this.#elements.filter(el => !!el);\n\n if (this.#elements.length === 0) {\n this.#elements = null;\n }\n }\n\n paste() {\n return this.#elements;\n }\n\n isEmpty() {\n return this.#elements === null;\n }\n\n destroy() {\n this.#elements = null;\n }\n\n}\n\nclass ColorManager {\n static _colorsMapping = new Map([[\"CanvasText\", [0, 0, 0]], [\"Canvas\", [255, 255, 255]]]);\n\n get _colors() {\n const colors = new Map([[\"CanvasText\", null], [\"Canvas\", null]]);\n (0, _display_utils.getColorValues)(colors);\n return (0, _util.shadow)(this, \"_colors\", colors);\n }\n\n convert(color) {\n const rgb = (0, _display_utils.getRGB)(color);\n\n if (!window.matchMedia(\"(forced-colors: active)\").matches) {\n return rgb;\n }\n\n for (const [name, RGB] of this._colors) {\n if (RGB.every((x, i) => x === rgb[i])) {\n return ColorManager._colorsMapping.get(name);\n }\n }\n\n return rgb;\n }\n\n getHexCode(name) {\n const rgb = this._colors.get(name);\n\n if (!rgb) {\n return name;\n }\n\n return _util.Util.makeHexColor(...rgb);\n }\n\n}\n\nexports.ColorManager = ColorManager;\n\nclass AnnotationEditorUIManager {\n #activeEditor = null;\n #allEditors = new Map();\n #allLayers = new Map();\n #clipboardManager = new ClipboardManager();\n #commandManager = new CommandManager();\n #currentPageIndex = 0;\n #editorTypes = null;\n #eventBus = null;\n #idManager = new IdManager();\n #isEnabled = false;\n #mode = _util.AnnotationEditorType.NONE;\n #selectedEditors = new Set();\n #boundKeydown = this.keydown.bind(this);\n #boundOnEditingAction = this.onEditingAction.bind(this);\n #boundOnPageChanging = this.onPageChanging.bind(this);\n #boundOnTextLayerRendered = this.onTextLayerRendered.bind(this);\n #previousStates = {\n isEditing: false,\n isEmpty: true,\n hasEmptyClipboard: true,\n hasSomethingToUndo: false,\n hasSomethingToRedo: false,\n hasSelectedEditor: false\n };\n #container = null;\n static _keyboardManager = new KeyboardManager([[[\"ctrl+a\", \"mac+meta+a\"], AnnotationEditorUIManager.prototype.selectAll], [[\"ctrl+c\", \"mac+meta+c\"], AnnotationEditorUIManager.prototype.copy], [[\"ctrl+v\", \"mac+meta+v\"], AnnotationEditorUIManager.prototype.paste], [[\"ctrl+x\", \"mac+meta+x\"], AnnotationEditorUIManager.prototype.cut], [[\"ctrl+z\", \"mac+meta+z\"], AnnotationEditorUIManager.prototype.undo], [[\"ctrl+y\", \"ctrl+shift+Z\", \"mac+meta+shift+Z\"], AnnotationEditorUIManager.prototype.redo], [[\"Backspace\", \"alt+Backspace\", \"ctrl+Backspace\", \"shift+Backspace\", \"mac+Backspace\", \"mac+alt+Backspace\", \"mac+ctrl+Backspace\", \"Delete\", \"ctrl+Delete\", \"shift+Delete\"], AnnotationEditorUIManager.prototype.delete], [[\"Escape\", \"mac+Escape\"], AnnotationEditorUIManager.prototype.unselectAll]]);\n\n constructor(container, eventBus) {\n this.#container = container;\n this.#eventBus = eventBus;\n\n this.#eventBus._on(\"editingaction\", this.#boundOnEditingAction);\n\n this.#eventBus._on(\"pagechanging\", this.#boundOnPageChanging);\n\n this.#eventBus._on(\"textlayerrendered\", this.#boundOnTextLayerRendered);\n }\n\n destroy() {\n this.__removeKeyboardManager();\n\n this.#eventBus._off(\"editingaction\", this.#boundOnEditingAction);\n\n this.#eventBus._off(\"pagechanging\", this.#boundOnPageChanging);\n\n this.#eventBus._off(\"textlayerrendered\", this.#boundOnTextLayerRendered);\n\n for (const layer of this.#allLayers.values()) {\n layer.destroy();\n }\n\n this.#allLayers.clear();\n this.#allEditors.clear();\n this.#activeEditor = null;\n this.#selectedEditors.clear();\n this.#clipboardManager.destroy();\n this.#commandManager.destroy();\n }\n\n onPageChanging({\n pageNumber\n }) {\n this.#currentPageIndex = pageNumber - 1;\n }\n\n onTextLayerRendered({\n pageNumber\n }) {\n const pageIndex = pageNumber - 1;\n const layer = this.#allLayers.get(pageIndex);\n layer?.onTextLayerRendered();\n }\n\n focusMainContainer() {\n this.#container.focus();\n }\n\n __addKeyboardManager() {\n this.#container.addEventListener(\"keydown\", this.#boundKeydown);\n }\n\n __removeKeyboardManager() {\n this.#container.removeEventListener(\"keydown\", this.#boundKeydown);\n }\n\n keydown(event) {\n if (!this.getActive()?.shouldGetKeyboardEvents()) {\n AnnotationEditorUIManager._keyboardManager.exec(this, event);\n }\n }\n\n onEditingAction(details) {\n if ([\"undo\", \"redo\", \"cut\", \"copy\", \"paste\", \"delete\", \"selectAll\"].includes(details.name)) {\n this[details.name]();\n }\n }\n\n __dispatchUpdateStates(details) {\n const hasChanged = Object.entries(details).some(([key, value]) => this.#previousStates[key] !== value);\n\n if (hasChanged) {\n this.#eventBus.dispatch(\"annotationeditorstateschanged\", {\n source: this,\n details: Object.assign(this.#previousStates, details)\n });\n }\n }\n\n __dispatchUpdateUI(details) {\n this.#eventBus.dispatch(\"annotationeditorparamschanged\", {\n source: this,\n details\n });\n }\n\n setEditingState(isEditing) {\n if (isEditing) {\n this.__addKeyboardManager();\n this.__dispatchUpdateStates({\n isEditing: this.#mode !== _util.AnnotationEditorType.NONE,\n isEmpty: this.__isEmpty(),\n hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),\n hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),\n hasSelectedEditor: false,\n hasEmptyClipboard: this.#clipboardManager.isEmpty()\n });\n } else {\n this.__removeKeyboardManager();\n this.__dispatchUpdateStates({\n isEditing: false\n });\n }\n }\n\n registerEditorTypes(types) {\n this.#editorTypes = types;\n\n for (const editorType of this.#editorTypes) {\n this.__dispatchUpdateUI(editorType.defaultPropertiesToUpdate);\n }\n }\n\n getId() {\n return this.#idManager.getId();\n }\n\n addLayer(layer) {\n this.#allLayers.set(layer.pageIndex, layer);\n\n if (this.#isEnabled) {\n layer.enable();\n } else {\n layer.disable();\n }\n }\n\n removeLayer(layer) {\n this.#allLayers.delete(layer.pageIndex);\n }\n\n updateMode(mode) {\n this.#mode = mode;\n\n if (mode === _util.AnnotationEditorType.NONE) {\n this.setEditingState(false);\n this.__disableAll();\n } else {\n this.setEditingState(true);\n this.__enableAll();\n\n for (const layer of this.#allLayers.values()) {\n layer.updateMode(mode);\n }\n }\n }\n\n updateToolbar(mode) {\n if (mode === this.#mode) {\n return;\n }\n\n this.#eventBus.dispatch(\"switchannotationeditormode\", {\n source: this,\n mode\n });\n }\n\n updateParams(type, value) {\n for (const editor of this.#selectedEditors) {\n editor.updateParams(type, value);\n }\n\n for (const editorType of this.#editorTypes) {\n editorType.updateDefaultParams(type, value);\n }\n }\n\n __enableAll() {\n if (!this.#isEnabled) {\n this.#isEnabled = true;\n\n for (const layer of this.#allLayers.values()) {\n layer.enable();\n }\n }\n }\n\n __disableAll() {\n this.unselectAll();\n\n if (this.#isEnabled) {\n this.#isEnabled = false;\n\n for (const layer of this.#allLayers.values()) {\n layer.disable();\n }\n }\n }\n\n getEditors(pageIndex) {\n const editors = [];\n\n for (const editor of this.#allEditors.values()) {\n if (editor.pageIndex === pageIndex) {\n editors.push(editor);\n }\n }\n\n return editors;\n }\n\n getEditor(id) {\n return this.#allEditors.get(id);\n }\n\n addEditor(editor) {\n this.#allEditors.set(editor.id, editor);\n }\n\n removeEditor(editor) {\n this.#allEditors.delete(editor.id);\n this.unselect(editor);\n }\n\n __addEditorToLayer(editor) {\n const layer = this.#allLayers.get(editor.pageIndex);\n\n if (layer) {\n layer.addOrRebuild(editor);\n } else {\n this.addEditor(editor);\n }\n }\n\n setActiveEditor(editor) {\n if (this.#activeEditor === editor) {\n return;\n }\n\n this.#activeEditor = editor;\n\n if (editor) {\n this.__dispatchUpdateUI(editor.propertiesToUpdate);\n }\n }\n\n toggleSelected(editor) {\n if (this.#selectedEditors.has(editor)) {\n this.#selectedEditors.delete(editor);\n editor.unselect();\n this.__dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n return;\n }\n\n this.#selectedEditors.add(editor);\n editor.select();\n this.__dispatchUpdateUI(editor.propertiesToUpdate);\n this.__dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n\n setSelected(editor) {\n for (const ed of this.#selectedEditors) {\n if (ed !== editor) {\n ed.unselect();\n }\n }\n\n this.#selectedEditors.clear();\n this.#selectedEditors.add(editor);\n editor.select();\n this.__dispatchUpdateUI(editor.propertiesToUpdate);\n this.__dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n\n isSelected(editor) {\n return this.#selectedEditors.has(editor);\n }\n\n unselect(editor) {\n editor.unselect();\n this.#selectedEditors.delete(editor);\n this.__dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n }\n\n get hasSelection() {\n return this.#selectedEditors.size !== 0;\n }\n\n undo() {\n this.#commandManager.undo();\n this.__dispatchUpdateStates({\n hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),\n hasSomethingToRedo: true,\n isEmpty: this.__isEmpty()\n });\n }\n\n redo() {\n this.#commandManager.redo();\n this.__dispatchUpdateStates({\n hasSomethingToUndo: true,\n hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),\n isEmpty: this.__isEmpty()\n });\n }\n\n addCommands(params) {\n this.#commandManager.add(params);\n this.__dispatchUpdateStates({\n hasSomethingToUndo: true,\n hasSomethingToRedo: false,\n isEmpty: this.__isEmpty()\n });\n }\n\n __isEmpty() {\n if (this.#allEditors.size === 0) {\n return true;\n }\n\n if (this.#allEditors.size === 1) {\n for (const editor of this.#allEditors.values()) {\n return editor.isEmpty();\n }\n }\n\n return false;\n }\n\n delete() {\n if (this.#activeEditor) {\n this.#activeEditor.commitOrRemove();\n }\n\n if (!this.hasSelection) {\n return;\n }\n\n const editors = [...this.#selectedEditors];\n\n const cmd = () => {\n for (const editor of editors) {\n editor.remove();\n }\n };\n\n const undo = () => {\n for (const editor of editors) {\n this.__addEditorToLayer(editor);\n }\n };\n\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n\n copy() {\n if (this.#activeEditor) {\n this.#activeEditor.commitOrRemove();\n }\n\n if (this.hasSelection) {\n const editors = [];\n\n for (const editor of this.#selectedEditors) {\n if (!editor.isEmpty()) {\n editors.push(editor);\n }\n }\n\n if (editors.length === 0) {\n return;\n }\n\n this.#clipboardManager.copy(editors);\n this.__dispatchUpdateStates({\n hasEmptyClipboard: false\n });\n }\n }\n\n cut() {\n this.copy();\n this.delete();\n }\n\n paste() {\n if (this.#clipboardManager.isEmpty()) {\n return;\n }\n\n this.unselectAll();\n const layer = this.#allLayers.get(this.#currentPageIndex);\n const newEditors = this.#clipboardManager.paste().map(data => layer.deserialize(data));\n\n const cmd = () => {\n for (const editor of newEditors) {\n this.__addEditorToLayer(editor);\n }\n\n this.__selectEditors(newEditors);\n };\n\n const undo = () => {\n for (const editor of newEditors) {\n editor.remove();\n }\n };\n\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n\n __selectEditors(editors) {\n this.#selectedEditors.clear();\n\n for (const editor of editors) {\n if (editor.isEmpty()) {\n continue;\n }\n\n this.#selectedEditors.add(editor);\n editor.select();\n }\n\n this.__dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n\n selectAll() {\n for (const editor of this.#selectedEditors) {\n editor.commit();\n }\n\n this.__selectEditors(this.#allEditors.values());\n }\n\n unselectAll() {\n if (this.#activeEditor) {\n this.#activeEditor.commitOrRemove();\n return;\n }\n\n if (this.__selectEditors.size === 0) {\n return;\n }\n\n for (const editor of this.#selectedEditors) {\n editor.unselect();\n }\n\n this.#selectedEditors.clear();\n this.__dispatchUpdateStates({\n hasSelectedEditor: false\n });\n }\n\n isActive(editor) {\n return this.#activeEditor === editor;\n }\n\n getActive() {\n return this.#activeEditor;\n }\n\n getMode() {\n return this.#mode;\n }\n\n}\n\nexports.AnnotationEditorUIManager = AnnotationEditorUIManager;\n\n/***/ }),\n/* 10 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MurmurHash3_64 = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nconst SEED = 0xc3d2e1f0;\nconst MASK_HIGH = 0xffff0000;\nconst MASK_LOW = 0xffff;\n\nclass MurmurHash3_64 {\n constructor(seed) {\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n\n update(input) {\n let data, length;\n\n if (typeof input === \"string\") {\n data = new Uint8Array(input.length * 2);\n length = 0;\n\n for (let i = 0, ii = input.length; i < ii; i++) {\n const code = input.charCodeAt(i);\n\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if ((0, _util.isArrayBuffer)(input)) {\n data = input.slice();\n length = data.byteLength;\n } else {\n throw new Error(\"Wrong data format in MurmurHash3_64_update. \" + \"Input must be a string or array.\");\n }\n\n const blockCounts = length >> 2;\n const tailLength = length - blockCounts * 4;\n const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n let k1 = 0,\n k2 = 0;\n let h1 = this.h1,\n h2 = this.h2;\n const C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n const C1_LOW = C1 & MASK_LOW,\n C2_LOW = C2 & MASK_LOW;\n\n for (let i = 0; i < blockCounts; i++) {\n if (i & 1) {\n k1 = dataUint32[i];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[i];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n\n k1 = 0;\n\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n\n }\n\n this.h1 = h1;\n this.h2 = h2;\n }\n\n hexdigest() {\n let h1 = this.h1,\n h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n const hex1 = (h1 >>> 0).toString(16),\n hex2 = (h2 >>> 0).toString(16);\n return hex1.padStart(8, \"0\") + hex2.padStart(8, \"0\");\n }\n\n}\n\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 11 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FontLoader = exports.FontFaceObject = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nclass BaseFontLoader {\n constructor({\n docId,\n onUnsupportedFeature,\n ownerDocument = globalThis.document,\n styleElement = null\n }) {\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)(\"Cannot initialize BaseFontLoader.\");\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this._document = ownerDocument;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n\n this._document.fonts.add(nativeFontFace);\n }\n\n insertRule(rule) {\n let styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = this._document.createElement(\"style\");\n styleElement.id = `PDFJS_FONT_STYLE_TAG_${this.docId}`;\n\n this._document.documentElement.getElementsByTagName(\"head\")[0].append(styleElement);\n }\n\n const styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n\n clear() {\n for (const nativeFontFace of this.nativeFontFaces) {\n this._document.fonts.delete(nativeFontFace);\n }\n\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n\n async bind(font) {\n if (font.attached || font.missingFile) {\n return;\n }\n\n font.attached = true;\n\n if (this.isFontLoadingAPISupported) {\n const nativeFontFace = font.createNativeFontFace();\n\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n\n try {\n await nativeFontFace.loaded;\n } catch (ex) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative\n });\n\n (0, _util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);\n font.disableFontFace = true;\n throw ex;\n }\n }\n\n return;\n }\n\n const rule = font.createFontFaceRule();\n\n if (rule) {\n this.insertRule(rule);\n\n if (this.isSyncFontLoadingSupported) {\n return;\n }\n\n await new Promise(resolve => {\n const request = this._queueLoadingCallback(resolve);\n\n this._prepareFontLoadEvent([rule], [font], request);\n });\n }\n }\n\n _queueLoadingCallback(callback) {\n (0, _util.unreachable)(\"Abstract method `_queueLoadingCallback`.\");\n }\n\n get isFontLoadingAPISupported() {\n const hasFonts = !!this._document?.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", hasFonts);\n }\n\n get isSyncFontLoadingSupported() {\n (0, _util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n\n get _loadTestFont() {\n (0, _util.unreachable)(\"Abstract method `_loadTestFont`.\");\n }\n\n _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n\n}\n\nlet FontLoader;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader = class GenericFontLoader extends BaseFontLoader {\n constructor(params) {\n super(params);\n this.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n this.loadTestFontId = 0;\n }\n\n get isSyncFontLoadingSupported() {\n let supported = false;\n\n if (typeof navigator === \"undefined\") {\n supported = true;\n } else {\n const m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m?.[1] >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n\n _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n\n while (context.requests.length > 0 && context.requests[0].done) {\n const otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n const context = this.loadingContext;\n const request = {\n id: `pdfjs-font-loading-${context.nextRequestId++}`,\n done: false,\n complete: completeRequest,\n callback\n };\n context.requests.push(request);\n return request;\n }\n\n get _loadTestFont() {\n const getLoadTestFont = function () {\n return atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n };\n\n return (0, _util.shadow)(this, \"_loadTestFont\", getLoadTestFont());\n }\n\n _prepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n\n function spliceString(s, offset, remove, insert) {\n const chunk1 = s.substring(0, offset);\n const chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n let i, ii;\n\n const canvas = this._document.createElement(\"canvas\");\n\n canvas.width = 1;\n canvas.height = 1;\n const ctx = canvas.getContext(\"2d\");\n let called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n const imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;\n let data = this._loadTestFont;\n const COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n const CFF_CHECKSUM_OFFSET = 16;\n const XXXX_VALUE = 0x58585858;\n let checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n const url = `url(data:font/opentype;base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${loadTestFontId}\";src:${url}}`;\n this.insertRule(rule);\n const names = [];\n\n for (const font of fonts) {\n names.push(font.loadedName);\n }\n\n names.push(loadTestFontId);\n\n const div = this._document.createElement(\"div\");\n\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n\n for (const name of names) {\n const span = this._document.createElement(\"span\");\n\n span.textContent = \"Hi\";\n span.style.fontFamily = name;\n div.append(span);\n }\n\n this._document.body.append(div);\n\n isFontReady(loadTestFontId, () => {\n div.remove();\n request.complete();\n });\n }\n\n };\n}\n\nclass FontFaceObject {\n constructor(translatedData, {\n isEvalSupported = true,\n disableFontFace = false,\n ignoreErrors = false,\n onUnsupportedFeature,\n fontRegistry = null\n }) {\n this.compiledGlyphs = Object.create(null);\n\n for (const i in translatedData) {\n this[i] = translatedData[i];\n }\n\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n let nativeFontFace;\n\n if (!this.cssFontInfo) {\n nativeFontFace = new FontFace(this.loadedName, this.data, {});\n } else {\n const css = {\n weight: this.cssFontInfo.fontWeight\n };\n\n if (this.cssFontInfo.italicAngle) {\n css.style = `oblique ${this.cssFontInfo.italicAngle}deg`;\n }\n\n nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css);\n }\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n\n createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n const data = (0, _util.bytesToString)(this.data);\n const url = `url(data:${this.mimetype};base64,${btoa(data)});`;\n let rule;\n\n if (!this.cssFontInfo) {\n rule = `@font-face {font-family:\"${this.loadedName}\";src:${url}}`;\n } else {\n let css = `font-weight: ${this.cssFontInfo.fontWeight};`;\n\n if (this.cssFontInfo.italicAngle) {\n css += `font-style: oblique ${this.cssFontInfo.italicAngle}deg;`;\n }\n\n rule = `@font-face {font-family:\"${this.cssFontInfo.fontFamily}\";${css}src:${url}}`;\n }\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n\n return rule;\n }\n\n getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n let cmds;\n\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath\n });\n\n (0, _util.warn)(`getPathGenerator - ignoring character: \"${ex}\".`);\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n if (this.isEvalSupported && _util.FeatureTest.isEvalSupported) {\n const jsBuf = [];\n\n for (const current of cmds) {\n const args = current.args !== undefined ? current.args.join(\",\") : \"\";\n jsBuf.push(\"c.\", current.cmd, \"(\", args, \");\\n\");\n }\n\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", jsBuf.join(\"\"));\n }\n\n return this.compiledGlyphs[character] = function (c, size) {\n for (const current of cmds) {\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n\n}\n\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 12 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(4);\n\nvar _pattern_helper = __w_pdfjs_require__(13);\n\nvar _image_utils = __w_pdfjs_require__(14);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nconst MIN_FONT_SIZE = 16;\nconst MAX_FONT_SIZE = 100;\nconst MAX_GROUP_SIZE = 4096;\nconst EXECUTION_TIME = 15;\nconst EXECUTION_STEPS = 10;\nconst COMPILE_TYPE3_GLYPHS = true;\nconst MAX_SIZE_TO_COMPILE = 1000;\nconst FULL_CHUNK_HEIGHT = 16;\nconst LINEWIDTH_SCALE_FACTOR = 1.000001;\n\nfunction mirrorContextOperations(ctx, destCtx) {\n if (ctx._removeMirroring) {\n throw new Error(\"Context is already forwarding operations.\");\n }\n\n ctx.__originalSave = ctx.save;\n ctx.__originalRestore = ctx.restore;\n ctx.__originalRotate = ctx.rotate;\n ctx.__originalScale = ctx.scale;\n ctx.__originalTranslate = ctx.translate;\n ctx.__originalTransform = ctx.transform;\n ctx.__originalSetTransform = ctx.setTransform;\n ctx.__originalResetTransform = ctx.resetTransform;\n ctx.__originalClip = ctx.clip;\n ctx.__originalMoveTo = ctx.moveTo;\n ctx.__originalLineTo = ctx.lineTo;\n ctx.__originalBezierCurveTo = ctx.bezierCurveTo;\n ctx.__originalRect = ctx.rect;\n ctx.__originalClosePath = ctx.closePath;\n ctx.__originalBeginPath = ctx.beginPath;\n\n ctx._removeMirroring = () => {\n ctx.save = ctx.__originalSave;\n ctx.restore = ctx.__originalRestore;\n ctx.rotate = ctx.__originalRotate;\n ctx.scale = ctx.__originalScale;\n ctx.translate = ctx.__originalTranslate;\n ctx.transform = ctx.__originalTransform;\n ctx.setTransform = ctx.__originalSetTransform;\n ctx.resetTransform = ctx.__originalResetTransform;\n ctx.clip = ctx.__originalClip;\n ctx.moveTo = ctx.__originalMoveTo;\n ctx.lineTo = ctx.__originalLineTo;\n ctx.bezierCurveTo = ctx.__originalBezierCurveTo;\n ctx.rect = ctx.__originalRect;\n ctx.closePath = ctx.__originalClosePath;\n ctx.beginPath = ctx.__originalBeginPath;\n delete ctx._removeMirroring;\n };\n\n ctx.save = function ctxSave() {\n destCtx.save();\n\n this.__originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n destCtx.restore();\n\n this.__originalRestore();\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n destCtx.translate(x, y);\n\n this.__originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n destCtx.scale(x, y);\n\n this.__originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n destCtx.transform(a, b, c, d, e, f);\n\n this.__originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n destCtx.setTransform(a, b, c, d, e, f);\n\n this.__originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.resetTransform = function ctxResetTransform() {\n destCtx.resetTransform();\n\n this.__originalResetTransform();\n };\n\n ctx.rotate = function ctxRotate(angle) {\n destCtx.rotate(angle);\n\n this.__originalRotate(angle);\n };\n\n ctx.clip = function ctxRotate(rule) {\n destCtx.clip(rule);\n\n this.__originalClip(rule);\n };\n\n ctx.moveTo = function (x, y) {\n destCtx.moveTo(x, y);\n\n this.__originalMoveTo(x, y);\n };\n\n ctx.lineTo = function (x, y) {\n destCtx.lineTo(x, y);\n\n this.__originalLineTo(x, y);\n };\n\n ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) {\n destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n\n this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n };\n\n ctx.rect = function (x, y, width, height) {\n destCtx.rect(x, y, width, height);\n\n this.__originalRect(x, y, width, height);\n };\n\n ctx.closePath = function () {\n destCtx.closePath();\n\n this.__originalClosePath();\n };\n\n ctx.beginPath = function () {\n destCtx.beginPath();\n\n this.__originalBeginPath();\n };\n}\n\nfunction addContextCurrentTransform(ctx) {\n if (ctx._transformStack) {\n ctx._transformStack = [];\n }\n\n if (ctx.mozCurrentTransform) {\n return;\n }\n\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._originalResetTransform = ctx.resetTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n\n try {\n const desc = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(ctx), \"lineWidth\");\n ctx._setLineWidth = desc.set;\n ctx._getLineWidth = desc.get;\n Object.defineProperty(ctx, \"lineWidth\", {\n set: function setLineWidth(width) {\n this._setLineWidth(width * LINEWIDTH_SCALE_FACTOR);\n },\n get: function getLineWidth() {\n return this._getLineWidth();\n }\n });\n } catch (_) {}\n\n Object.defineProperty(ctx, \"mozCurrentTransform\", {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n get: function getCurrentTransformInverse() {\n const [a, b, c, d, e, f] = this._transformMatrix;\n const ad_bc = a * d - b * c;\n const bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n\n ctx.save = function ctxSave() {\n const old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n if (this._transformStack.length === 0) {\n (0, _util.warn)(\"Tried to restore a ctx when the stack was already empty.\");\n }\n\n const prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n const m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n const m = this._transformMatrix;\n m[0] *= x;\n m[1] *= x;\n m[2] *= y;\n m[3] *= y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n const m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.resetTransform = function ctxResetTransform() {\n this._transformMatrix = [1, 0, 0, 1, 0, 0];\n\n ctx._originalResetTransform();\n };\n\n ctx.rotate = function ctxRotate(angle) {\n const cosValue = Math.cos(angle);\n const sinValue = Math.sin(angle);\n const m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n this._originalRotate(angle);\n };\n}\n\nclass CachedCanvases {\n constructor(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n getCanvas(id, width, height, trackTransform) {\n let canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n }\n\n delete(id) {\n delete this.cache[id];\n }\n\n clear() {\n for (const id in this.cache) {\n const canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n\n}\n\nfunction drawImageAtIntegerCoords(ctx, srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH) {\n const [a, b, c, d, tx, ty] = ctx.mozCurrentTransform;\n\n if (b === 0 && c === 0) {\n const tlX = destX * a + tx;\n const rTlX = Math.round(tlX);\n const tlY = destY * d + ty;\n const rTlY = Math.round(tlY);\n const brX = (destX + destW) * a + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destY + destH) * d + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(Math.sign(a), 0, 0, Math.sign(d), rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rWidth, rHeight);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rWidth, rHeight];\n }\n\n if (a === 0 && d === 0) {\n const tlX = destY * c + tx;\n const rTlX = Math.round(tlX);\n const tlY = destX * b + ty;\n const rTlY = Math.round(tlY);\n const brX = (destY + destH) * c + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destX + destW) * b + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(0, Math.sign(b), Math.sign(c), 0, rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rHeight, rWidth);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rHeight, rWidth];\n }\n\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH);\n const scaleX = Math.hypot(a, b);\n const scaleY = Math.hypot(c, d);\n return [scaleX * destW, scaleY * destH];\n}\n\nfunction compileType3Glyph(imgData) {\n const {\n width,\n height\n } = imgData;\n\n if (!COMPILE_TYPE3_GLYPHS || width > MAX_SIZE_TO_COMPILE || height > MAX_SIZE_TO_COMPILE) {\n return null;\n }\n\n const POINT_TO_PROCESS_LIMIT = 1000;\n const POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n const width1 = width + 1;\n let points = new Uint8Array(width1 * (height + 1));\n let i, j, j0;\n const lineSize = width + 7 & ~7;\n let data = new Uint8Array(lineSize * height),\n pos = 0;\n\n for (const elem of imgData.data) {\n let mask = 128;\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n let count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n let sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n const steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n let path, outlines, coords;\n\n if (!_is_node.isNodeJS) {\n path = new Path2D();\n } else {\n outlines = [];\n }\n\n for (i = 0; count && i <= height; i++) {\n let p = i * width1;\n const end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n if (path) {\n path.moveTo(p % width1, i);\n } else {\n coords = [p % width1, i];\n }\n\n const p0 = p;\n let type = points[p];\n\n do {\n const step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n const pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n if (path) {\n path.lineTo(p % width1, p / width1 | 0);\n } else {\n coords.push(p % width1, p / width1 | 0);\n }\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n if (!path) {\n outlines.push(coords);\n }\n\n --i;\n }\n\n data = null;\n points = null;\n\n const drawOutline = function (c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n\n if (path) {\n c.fill(path);\n } else {\n c.beginPath();\n\n for (const o of outlines) {\n c.moveTo(o[0], o[1]);\n\n for (let l = 2, ll = o.length; l < ll; l += 2) {\n c.lineTo(o[l], o[l + 1]);\n }\n }\n\n c.fill();\n }\n\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\n\nclass CanvasExtraState {\n constructor(width, height) {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.transferMaps = null;\n this.startNewPathAndClipBox([0, 0, width, height]);\n }\n\n clone() {\n const clone = Object.create(this);\n clone.clipBox = this.clipBox.slice();\n return clone;\n }\n\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n\n updatePathMinMax(transform, x, y) {\n [x, y] = _util.Util.applyTransform([x, y], transform);\n this.minX = Math.min(this.minX, x);\n this.minY = Math.min(this.minY, y);\n this.maxX = Math.max(this.maxX, x);\n this.maxY = Math.max(this.maxY, y);\n }\n\n updateRectMinMax(transform, rect) {\n const p1 = _util.Util.applyTransform(rect, transform);\n\n const p2 = _util.Util.applyTransform(rect.slice(2), transform);\n\n this.minX = Math.min(this.minX, p1[0], p2[0]);\n this.minY = Math.min(this.minY, p1[1], p2[1]);\n this.maxX = Math.max(this.maxX, p1[0], p2[0]);\n this.maxY = Math.max(this.maxY, p1[1], p2[1]);\n }\n\n updateScalingPathMinMax(transform, minMax) {\n _util.Util.scaleMinMax(transform, minMax);\n\n this.minX = Math.min(this.minX, minMax[0]);\n this.maxX = Math.max(this.maxX, minMax[1]);\n this.minY = Math.min(this.minY, minMax[2]);\n this.maxY = Math.max(this.maxY, minMax[3]);\n }\n\n updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3, minMax) {\n const box = _util.Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3);\n\n if (minMax) {\n minMax[0] = Math.min(minMax[0], box[0], box[2]);\n minMax[1] = Math.max(minMax[1], box[0], box[2]);\n minMax[2] = Math.min(minMax[2], box[1], box[3]);\n minMax[3] = Math.max(minMax[3], box[1], box[3]);\n return;\n }\n\n this.updateRectMinMax(transform, box);\n }\n\n getPathBoundingBox(pathType = _pattern_helper.PathType.FILL, transform = null) {\n const box = [this.minX, this.minY, this.maxX, this.maxY];\n\n if (pathType === _pattern_helper.PathType.STROKE) {\n if (!transform) {\n (0, _util.unreachable)(\"Stroke bounding box must include transform.\");\n }\n\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n\n const xStrokePad = scale[0] * this.lineWidth / 2;\n const yStrokePad = scale[1] * this.lineWidth / 2;\n box[0] -= xStrokePad;\n box[1] -= yStrokePad;\n box[2] += xStrokePad;\n box[3] += yStrokePad;\n }\n\n return box;\n }\n\n updateClipFromPath() {\n const intersect = _util.Util.intersect(this.clipBox, this.getPathBoundingBox());\n\n this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]);\n }\n\n isEmptyClip() {\n return this.minX === Infinity;\n }\n\n startNewPathAndClipBox(box) {\n this.clipBox = box;\n this.minX = Infinity;\n this.minY = Infinity;\n this.maxX = 0;\n this.maxY = 0;\n }\n\n getClippedPathBoundingBox(pathType = _pattern_helper.PathType.FILL, transform = null) {\n return _util.Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform));\n }\n\n}\n\nfunction putBinaryImageData(ctx, imgData, transferMaps = null) {\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0,\n destPos;\n const src = imgData.data;\n const dest = chunkImgData.data;\n let i, j, thisChunkHeight, elemsInThisChunk;\n let transferMapRed, transferMapGreen, transferMapBlue, transferMapGray;\n\n if (transferMaps) {\n switch (transferMaps.length) {\n case 1:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[0];\n transferMapBlue = transferMaps[0];\n transferMapGray = transferMaps[0];\n break;\n\n case 4:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[1];\n transferMapBlue = transferMaps[2];\n transferMapGray = transferMaps[3];\n break;\n }\n }\n\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n const srcLength = src.byteLength;\n const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n const dest32DataLength = dest32.length;\n const fullSrcDiff = width + 7 >> 3;\n let white = 0xffffffff;\n let black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n\n if (transferMapGray) {\n if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) {\n [white, black] = [black, white];\n }\n }\n\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\n for (j = 0; j < thisChunkHeight; j++) {\n const srcDiff = srcLength - srcPos;\n let k = 0;\n const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n const kEndUnrolled = kEnd & ~7;\n let mask = 0;\n let srcByte = 0;\n\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n const hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n\n if (hasTransferMaps) {\n for (let k = 0; k < elemsInThisChunk; k += 4) {\n if (transferMapRed) {\n dest[k + 0] = transferMapRed[dest[k + 0]];\n }\n\n if (transferMapGreen) {\n dest[k + 1] = transferMapGreen[dest[k + 1]];\n }\n\n if (transferMapBlue) {\n dest[k + 2] = transferMapBlue[dest[k + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n\n if (hasTransferMaps) {\n for (let k = 0; k < elemsInThisChunk; k += 4) {\n if (transferMapRed) {\n dest[k + 0] = transferMapRed[dest[k + 0]];\n }\n\n if (transferMapGreen) {\n dest[k + 1] = transferMapGreen[dest[k + 1]];\n }\n\n if (transferMapBlue) {\n dest[k + 2] = transferMapBlue[dest[k + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n const hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n\n if (hasTransferMaps) {\n for (let k = 0; k < destPos; k += 4) {\n if (transferMapRed) {\n dest[k + 0] = transferMapRed[dest[k + 0]];\n }\n\n if (transferMapGreen) {\n dest[k + 1] = transferMapGreen[dest[k + 1]];\n }\n\n if (transferMapBlue) {\n dest[k + 2] = transferMapBlue[dest[k + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(`bad image kind: ${imgData.kind}`);\n }\n}\n\nfunction putBinaryImageMask(ctx, imgData) {\n if (imgData.bitmap) {\n ctx.drawImage(imgData.bitmap, 0, 0);\n return;\n }\n\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0;\n const src = imgData.data;\n const dest = chunkImgData.data;\n\n for (let i = 0; i < totalChunks; i++) {\n const thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n ({\n srcPos\n } = (0, _image_utils.applyMaskImageData)({\n src,\n srcPos,\n dest,\n width,\n height: thisChunkHeight\n }));\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n}\n\nfunction copyCtxState(sourceCtx, destCtx) {\n const properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\"];\n\n for (let i = 0, ii = properties.length; i < ii; i++) {\n const property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n}\n\nfunction resetCtxToDefault(ctx, foregroundColor) {\n ctx.strokeStyle = ctx.fillStyle = foregroundColor || \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n}\n\nfunction composeSMaskBackdrop(bytes, r0, g0, b0) {\n const length = bytes.length;\n\n for (let i = 3; i < length; i += 4) {\n const alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n const alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n}\n\nfunction composeSMaskAlpha(maskData, layerData, transferMap) {\n const length = maskData.length;\n const scale = 1 / 255;\n\n for (let i = 3; i < length; i += 4) {\n const alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n}\n\nfunction composeSMaskLuminosity(maskData, layerData, transferMap) {\n const length = maskData.length;\n\n for (let i = 3; i < length; i += 4) {\n const y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n}\n\nfunction genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) {\n const hasBackdrop = !!backdrop;\n const r0 = hasBackdrop ? backdrop[0] : 0;\n const g0 = hasBackdrop ? backdrop[1] : 0;\n const b0 = hasBackdrop ? backdrop[2] : 0;\n let composeFn;\n\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n const PIXELS_TO_PROCESS = 1048576;\n const chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (let row = 0; row < height; row += chunkSize) {\n const chunkHeight = Math.min(chunkSize, height - row);\n const maskData = maskCtx.getImageData(layerOffsetX - maskOffsetX, row + (layerOffsetY - maskOffsetY), width, chunkHeight);\n const layerData = layerCtx.getImageData(layerOffsetX, row + layerOffsetY, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n layerCtx.putImageData(layerData, layerOffsetX, row + layerOffsetY);\n }\n}\n\nfunction composeSMask(ctx, smask, layerCtx, layerBox) {\n const layerOffsetX = layerBox[0];\n const layerOffsetY = layerBox[1];\n const layerWidth = layerBox[2] - layerOffsetX;\n const layerHeight = layerBox[3] - layerOffsetY;\n\n if (layerWidth === 0 || layerHeight === 0) {\n return;\n }\n\n genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY);\n ctx.save();\n ctx.globalAlpha = 1;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(layerCtx.canvas, 0, 0);\n ctx.restore();\n}\n\nfunction getImageSmoothingEnabled(transform, interpolate) {\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n\n scale[0] = Math.fround(scale[0]);\n scale[1] = Math.fround(scale[1]);\n const actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);\n\n if (interpolate !== undefined) {\n return interpolate;\n } else if (scale[0] <= actualScale || scale[1] <= actualScale) {\n return true;\n }\n\n return false;\n}\n\nconst LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\nconst LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\nconst NORMAL_CLIP = {};\nconst EO_CLIP = {};\n\nclass CanvasGraphics {\n constructor(canvasCtx, commonObjs, objs, canvasFactory, imageLayer, optionalContentConfig, annotationCanvasMap, pageColors) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.suspendedCtx = null;\n this.contentVisible = true;\n this.markedContentStack = [];\n this.optionalContentConfig = optionalContentConfig;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n this.cachedPatterns = new Map();\n this.annotationCanvasMap = annotationCanvasMap;\n this.viewportScale = 1;\n this.outputScaleX = 1;\n this.outputScaleY = 1;\n this.backgroundColor = pageColors?.background || null;\n this.foregroundColor = pageColors?.foreground || null;\n\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n this._cachedBitmapsMap = new Map();\n }\n\n getObject(data, fallback = null) {\n if (typeof data === \"string\") {\n return data.startsWith(\"g_\") ? this.commonObjs.get(data) : this.objs.get(data);\n }\n\n return fallback;\n }\n\n beginDrawing({\n transform,\n viewport,\n transparency = false,\n background = null\n }) {\n const width = this.ctx.canvas.width;\n const height = this.ctx.canvas.height;\n const defaultBackgroundColor = background || \"#ffffff\";\n this.ctx.save();\n\n if (this.foregroundColor && this.backgroundColor) {\n this.ctx.fillStyle = this.foregroundColor;\n const fg = this.foregroundColor = this.ctx.fillStyle;\n this.ctx.fillStyle = this.backgroundColor;\n const bg = this.backgroundColor = this.ctx.fillStyle;\n let isValidDefaultBg = true;\n let defaultBg = defaultBackgroundColor;\n this.ctx.fillStyle = defaultBackgroundColor;\n defaultBg = this.ctx.fillStyle;\n isValidDefaultBg = typeof defaultBg === \"string\" && /^#[0-9A-Fa-f]{6}$/.test(defaultBg);\n\n if (fg === \"#000000\" && bg === \"#ffffff\" || fg === bg || !isValidDefaultBg) {\n this.foregroundColor = this.backgroundColor = null;\n } else {\n const [rB, gB, bB] = (0, _display_utils.getRGB)(defaultBg);\n\n const newComp = x => {\n x /= 255;\n return x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4;\n };\n\n const lumB = Math.round(0.2126 * newComp(rB) + 0.7152 * newComp(gB) + 0.0722 * newComp(bB));\n\n this.selectColor = (r, g, b) => {\n const lumC = 0.2126 * newComp(r) + 0.7152 * newComp(g) + 0.0722 * newComp(b);\n return Math.round(lumC) === lumB ? bg : fg;\n };\n }\n }\n\n this.ctx.fillStyle = this.backgroundColor || defaultBackgroundColor;\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n\n if (transparency) {\n const transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx, this.foregroundColor);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n this.outputScaleX = transform[0];\n this.outputScaleY = transform[0];\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.viewportScale = viewport.scale;\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n }\n\n executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n let i = executionStartIdx || 0;\n const argsArrayLen = argsArray.length;\n\n if (argsArrayLen === i) {\n return i;\n }\n\n const chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n const endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n let steps = 0;\n const commonObjs = this.commonObjs;\n const objs = this.objs;\n let fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n for (const depObjId of argsArray[i]) {\n const objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n }\n\n __restoreInitialState() {\n while (this.stateStack.length || this.inSMaskMode) {\n this.restore();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n }\n\n endDrawing() {\n this.__restoreInitialState();\n this.cachedCanvases.clear();\n this.cachedPatterns.clear();\n\n for (const cache of this._cachedBitmapsMap.values()) {\n for (const canvas of cache.values()) {\n if (typeof HTMLCanvasElement !== \"undefined\" && canvas instanceof HTMLCanvasElement) {\n canvas.width = canvas.height = 0;\n }\n }\n\n cache.clear();\n }\n\n this._cachedBitmapsMap.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n }\n\n _scaleImage(img, inverseTransform) {\n const width = img.width;\n const height = img.height;\n let widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1);\n let heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1);\n let paintWidth = width,\n paintHeight = height;\n let tmpCanvasId = \"prescale1\";\n let tmpCanvas, tmpCtx;\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n let newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight, false);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n img = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n\n return {\n img,\n paintWidth,\n paintHeight\n };\n }\n\n _createMaskCanvas(img) {\n const ctx = this.ctx;\n const {\n width,\n height\n } = img;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n const currentTransform = ctx.mozCurrentTransform;\n let cache, cacheKey, scaled, maskCanvas;\n\n if ((img.bitmap || img.data) && img.count > 1) {\n const mainKey = img.bitmap || img.data.buffer;\n const withoutTranslation = currentTransform.slice(0, 4);\n cacheKey = JSON.stringify(isPatternFill ? withoutTranslation : [withoutTranslation, fillColor]);\n cache = this._cachedBitmapsMap.get(mainKey);\n\n if (!cache) {\n cache = new Map();\n\n this._cachedBitmapsMap.set(mainKey, cache);\n }\n\n const cachedImage = cache.get(cacheKey);\n\n if (cachedImage && !isPatternFill) {\n const offsetX = Math.round(Math.min(currentTransform[0], currentTransform[2]) + currentTransform[4]);\n const offsetY = Math.round(Math.min(currentTransform[1], currentTransform[3]) + currentTransform[5]);\n return {\n canvas: cachedImage,\n offsetX,\n offsetY\n };\n }\n\n scaled = cachedImage;\n }\n\n if (!scaled) {\n maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height, false);\n putBinaryImageMask(maskCanvas.context, img);\n }\n\n let maskToCanvas = _util.Util.transform(currentTransform, [1 / width, 0, 0, -1 / height, 0, 0]);\n\n maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]);\n\n const cord1 = _util.Util.applyTransform([0, 0], maskToCanvas);\n\n const cord2 = _util.Util.applyTransform([width, height], maskToCanvas);\n\n const rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]);\n\n const drawnWidth = Math.round(rect[2] - rect[0]) || 1;\n const drawnHeight = Math.round(rect[3] - rect[1]) || 1;\n const fillCanvas = this.cachedCanvases.getCanvas(\"fillCanvas\", drawnWidth, drawnHeight, true);\n const fillCtx = fillCanvas.context;\n const offsetX = Math.min(cord1[0], cord2[0]);\n const offsetY = Math.min(cord1[1], cord2[1]);\n fillCtx.translate(-offsetX, -offsetY);\n fillCtx.transform.apply(fillCtx, maskToCanvas);\n\n if (!scaled) {\n scaled = this._scaleImage(maskCanvas.canvas, fillCtx.mozCurrentTransformInverse);\n scaled = scaled.img;\n\n if (cache && isPatternFill) {\n cache.set(cacheKey, scaled);\n }\n }\n\n fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled(fillCtx.mozCurrentTransform, img.interpolate);\n drawImageAtIntegerCoords(fillCtx, scaled, 0, 0, scaled.width, scaled.height, 0, 0, width, height);\n fillCtx.globalCompositeOperation = \"source-in\";\n\n const inverse = _util.Util.transform(fillCtx.mozCurrentTransformInverse, [1, 0, 0, 1, -offsetX, -offsetY]);\n\n fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, _pattern_helper.PathType.FILL) : fillColor;\n fillCtx.fillRect(0, 0, width, height);\n\n if (cache && !isPatternFill) {\n this.cachedCanvases.delete(\"fillCanvas\");\n cache.set(cacheKey, fillCanvas.canvas);\n }\n\n return {\n canvas: fillCanvas.canvas,\n offsetX: Math.round(offsetX),\n offsetY: Math.round(offsetY)\n };\n }\n\n setLineWidth(width) {\n if (width !== this.current.lineWidth) {\n this._cachedScaleForStroking = null;\n }\n\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n }\n\n setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n }\n\n setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n }\n\n setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n }\n\n setDash(dashArray, dashPhase) {\n const ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n }\n\n setRenderingIntent(intent) {}\n\n setFlatness(flatness) {}\n\n setGState(states) {\n for (let i = 0, ii = states.length; i < ii; i++) {\n const state = states[i];\n const key = state[0];\n const value = state[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n\n case \"SMask\":\n this.current.activeSMask = value ? this.tempSMask : null;\n this.tempSMask = null;\n this.checkSMaskState();\n break;\n\n case \"TR\":\n this.current.transferMaps = value;\n }\n }\n }\n\n get inSMaskMode() {\n return !!this.suspendedCtx;\n }\n\n checkSMaskState() {\n const inSMaskMode = this.inSMaskMode;\n\n if (this.current.activeSMask && !inSMaskMode) {\n this.beginSMaskMode();\n } else if (!this.current.activeSMask && inSMaskMode) {\n this.endSMaskMode();\n }\n }\n\n beginSMaskMode() {\n if (this.inSMaskMode) {\n throw new Error(\"beginSMaskMode called while already in smask mode\");\n }\n\n const drawnWidth = this.ctx.canvas.width;\n const drawnHeight = this.ctx.canvas.height;\n const cacheId = \"smaskGroupAt\" + this.groupLevel;\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n this.suspendedCtx = this.ctx;\n this.ctx = scratchCanvas.context;\n const ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.suspendedCtx.mozCurrentTransform);\n copyCtxState(this.suspendedCtx, ctx);\n mirrorContextOperations(ctx, this.suspendedCtx);\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n }\n\n endSMaskMode() {\n if (!this.inSMaskMode) {\n throw new Error(\"endSMaskMode called while not in smask mode\");\n }\n\n this.ctx._removeMirroring();\n\n copyCtxState(this.ctx, this.suspendedCtx);\n this.ctx = this.suspendedCtx;\n this.suspendedCtx = null;\n }\n\n compose(dirtyBox) {\n if (!this.current.activeSMask) {\n return;\n }\n\n if (!dirtyBox) {\n dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height];\n } else {\n dirtyBox[0] = Math.floor(dirtyBox[0]);\n dirtyBox[1] = Math.floor(dirtyBox[1]);\n dirtyBox[2] = Math.ceil(dirtyBox[2]);\n dirtyBox[3] = Math.ceil(dirtyBox[3]);\n }\n\n const smask = this.current.activeSMask;\n const suspendedCtx = this.suspendedCtx;\n composeSMask(suspendedCtx, smask, this.ctx, dirtyBox);\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height);\n this.ctx.restore();\n }\n\n save() {\n if (this.inSMaskMode) {\n copyCtxState(this.ctx, this.suspendedCtx);\n this.suspendedCtx.save();\n } else {\n this.ctx.save();\n }\n\n const old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n }\n\n restore() {\n if (this.stateStack.length === 0 && this.inSMaskMode) {\n this.endSMaskMode();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n\n if (this.inSMaskMode) {\n this.suspendedCtx.restore();\n copyCtxState(this.suspendedCtx, this.ctx);\n } else {\n this.ctx.restore();\n }\n\n this.checkSMaskState();\n this.pendingClip = null;\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n }\n }\n\n transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n }\n\n constructPath(ops, args, minMax) {\n const ctx = this.ctx;\n const current = this.current;\n let x = current.x,\n y = current.y;\n let startX, startY;\n const currentTransform = ctx.mozCurrentTransform;\n const isScalingMatrix = currentTransform[0] === 0 && currentTransform[3] === 0 || currentTransform[1] === 0 && currentTransform[2] === 0;\n const minMaxForBezier = isScalingMatrix ? minMax.slice(0) : null;\n\n for (let i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n ctx.moveTo(x, y);\n\n if (width === 0 || height === 0) {\n ctx.lineTo(xw, yh);\n } else {\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n }\n\n if (!isScalingMatrix) {\n current.updateRectMinMax(currentTransform, [x, y, xw, yh]);\n }\n\n ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n\n break;\n\n case _util.OPS.curveTo:\n startX = x;\n startY = y;\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y, minMaxForBezier);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n startX = x;\n startY = y;\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n current.updateCurvePathMinMax(currentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3], minMaxForBezier);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n startX = x;\n startY = y;\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], x, y, x, y, minMaxForBezier);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n if (isScalingMatrix) {\n current.updateScalingPathMinMax(currentTransform, minMaxForBezier);\n }\n\n current.setCurrentPoint(x, y);\n }\n\n closePath() {\n this.ctx.closePath();\n }\n\n stroke(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n const ctx = this.ctx;\n const strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n\n if (this.contentVisible) {\n if (typeof strokeColor === \"object\" && strokeColor?.getPattern) {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.STROKE);\n this.rescaleAndStroke(false);\n ctx.restore();\n } else {\n this.rescaleAndStroke(true);\n }\n }\n\n if (consumePath) {\n this.consumePath(this.current.getClippedPathBoundingBox());\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n }\n\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n\n fill(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n let needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n ctx.fillStyle = fillColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL);\n needRestore = true;\n }\n\n const intersect = this.current.getClippedPathBoundingBox();\n\n if (this.contentVisible && intersect !== null) {\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n }\n\n if (needRestore) {\n ctx.restore();\n }\n\n if (consumePath) {\n this.consumePath(intersect);\n }\n }\n\n eoFill() {\n this.pendingEOFill = true;\n this.fill();\n }\n\n fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n }\n\n eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n }\n\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n\n closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n }\n\n endPath() {\n this.consumePath();\n }\n\n clip() {\n this.pendingClip = NORMAL_CLIP;\n }\n\n eoClip() {\n this.pendingClip = EO_CLIP;\n }\n\n beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n\n endText() {\n const paths = this.pendingTextPaths;\n const ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (const path of paths) {\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n }\n\n setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n }\n\n setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n }\n\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n\n setLeading(leading) {\n this.current.leading = -leading;\n }\n\n setFont(fontRefName, size) {\n const fontObj = this.commonObjs.get(fontRefName);\n const current = this.current;\n\n if (!fontObj) {\n throw new Error(`Can't find font for ${fontRefName}`);\n }\n\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n const name = fontObj.loadedName || \"sans-serif\";\n let bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n const typeface = `\"${name}\", ${fontObj.fallbackName}`;\n let browserFontSize = size;\n\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;\n }\n\n setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n }\n\n setTextRise(rise) {\n this.current.textRise = rise;\n }\n\n moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n }\n\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n\n setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.hypot(a, b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n\n paintChar(character, x, y, patternTransform) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const textRenderingMode = current.textRenderingMode;\n const fontSize = current.fontSize / current.fontSizeScale;\n const fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n const isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n const patternFill = current.patternFill && !font.missingFile;\n let addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n\n if (isAddToPathSet) {\n const paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x,\n y,\n fontSize,\n addToPath\n });\n }\n }\n\n get isFontSubpixelAAEnabled() {\n const {\n context: ctx\n } = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10, false);\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n const data = ctx.getImageData(0, 0, 10, 10).data;\n let enabled = false;\n\n for (let i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n }\n\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n const fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\n\n const ctx = this.ctx;\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const glyphsLength = glyphs.length;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n const simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n let patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n const pattern = current.fillColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n let lineWidth = current.lineWidth;\n const scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n lineWidth = this.getSinglePixelWidth();\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n let x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n const glyph = glyphs[i];\n\n if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n let restoreNeeded = false;\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n const accent = glyph.accent;\n let scaledX, scaledY;\n let width = glyph.width;\n\n if (vertical) {\n const vmetric = glyph.vmetric || defaultVMetrics;\n const vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n const measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n const characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (this.contentVisible && (glyph.isInFont || font.missingFile)) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n const scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n const scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n let charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n this.compose();\n return undefined;\n }\n\n showType3Text(glyphs) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n const fontDirection = current.fontDirection;\n const spacingDir = font.vertical ? 1 : -1;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const textHScale = current.textHScale * fontDirection;\n const fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n const glyphsLength = glyphs.length;\n const isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n let i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if (typeof glyph === \"number\") {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(`Type3 character \"${glyph.operatorListId}\" is not available.`);\n continue;\n }\n\n if (this.contentVisible) {\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n }\n\n const transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n\n ctx.restore();\n this.processingType3 = null;\n }\n\n setCharWidth(xWidth, yWidth) {}\n\n setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.ctx.clip();\n this.endPath();\n }\n\n getColorN_Pattern(IR) {\n let pattern;\n\n if (IR[0] === \"TilingPattern\") {\n const color = IR[1];\n const baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n const canvasGraphicsFactory = {\n createCanvasGraphics: ctx => {\n return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = this._getPattern(IR[1], IR[2]);\n }\n\n return pattern;\n }\n\n setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n }\n\n setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n }\n\n setStrokeRGBColor(r, g, b) {\n const color = this.selectColor?.(r, g, b) || _util.Util.makeHexColor(r, g, b);\n\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n }\n\n setFillRGBColor(r, g, b) {\n const color = this.selectColor?.(r, g, b) || _util.Util.makeHexColor(r, g, b);\n\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n }\n\n _getPattern(objId, matrix = null) {\n let pattern;\n\n if (this.cachedPatterns.has(objId)) {\n pattern = this.cachedPatterns.get(objId);\n } else {\n pattern = (0, _pattern_helper.getShadingPattern)(this.objs.get(objId));\n this.cachedPatterns.set(objId, pattern);\n }\n\n if (matrix) {\n pattern.matrix = matrix;\n }\n\n return pattern;\n }\n\n shadingFill(objId) {\n if (!this.contentVisible) {\n return;\n }\n\n const ctx = this.ctx;\n this.save();\n\n const pattern = this._getPattern(objId);\n\n ctx.fillStyle = pattern.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.SHADING);\n const inv = ctx.mozCurrentTransformInverse;\n\n if (inv) {\n const canvas = ctx.canvas;\n const width = canvas.width;\n const height = canvas.height;\n\n const bl = _util.Util.applyTransform([0, 0], inv);\n\n const br = _util.Util.applyTransform([0, height], inv);\n\n const ul = _util.Util.applyTransform([width, 0], inv);\n\n const ur = _util.Util.applyTransform([width, height], inv);\n\n const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.compose(this.current.getClippedPathBoundingBox());\n this.restore();\n }\n\n beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n }\n\n beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n }\n\n paintFormXObjectBegin(matrix, bbox) {\n if (!this.contentVisible) {\n return;\n }\n\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.current.updateRectMinMax(this.ctx.mozCurrentTransform, bbox);\n this.clip();\n this.endPath();\n }\n }\n\n paintFormXObjectEnd() {\n if (!this.contentVisible) {\n return;\n }\n\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n }\n\n beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\n this.save();\n\n if (this.inSMaskMode) {\n this.endSMaskMode();\n this.current.activeSMask = null;\n }\n\n const currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n\n const currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n\n let bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\n const canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n const offsetX = Math.floor(bounds[0]);\n const offsetY = Math.floor(bounds[1]);\n let drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n let drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n let scaleX = 1,\n scaleY = 1;\n\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]);\n let cacheId = \"groupAt\" + this.groupLevel;\n\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n const groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX,\n offsetY,\n scaleX,\n scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n currentCtx.save();\n }\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n }\n\n endGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\n this.groupLevel--;\n const groupCtx = this.ctx;\n const ctx = this.groupStack.pop();\n this.ctx = ctx;\n this.ctx.imageSmoothingEnabled = false;\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n this.restore();\n } else {\n this.ctx.restore();\n const currentMtx = this.ctx.mozCurrentTransform;\n this.restore();\n this.ctx.save();\n this.ctx.setTransform.apply(this.ctx, currentMtx);\n\n const dirtyBox = _util.Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx);\n\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n this.ctx.restore();\n this.compose(dirtyBox);\n }\n }\n\n beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) {\n this.__restoreInitialState();\n resetCtxToDefault(this.ctx, this.foregroundColor);\n this.ctx.save();\n this.save();\n\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n\n if (Array.isArray(rect) && rect.length === 4) {\n const width = rect[2] - rect[0];\n const height = rect[3] - rect[1];\n\n if (hasOwnCanvas && this.annotationCanvasMap) {\n transform = transform.slice();\n transform[4] -= rect[0];\n transform[5] -= rect[1];\n rect = rect.slice();\n rect[0] = rect[1] = 0;\n rect[2] = width;\n rect[3] = height;\n\n const [scaleX, scaleY] = _util.Util.singularValueDecompose2dScale(this.ctx.mozCurrentTransform);\n\n const {\n viewportScale\n } = this;\n const canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale);\n const canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale);\n this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight);\n const {\n canvas,\n context\n } = this.annotationCanvas;\n this.annotationCanvasMap.set(id, canvas);\n this.annotationCanvas.savedCtx = this.ctx;\n this.ctx = context;\n addContextCurrentTransform(this.ctx);\n this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY);\n resetCtxToDefault(this.ctx, this.foregroundColor);\n } else {\n resetCtxToDefault(this.ctx, this.foregroundColor);\n this.ctx.rect(rect[0], rect[1], width, height);\n this.ctx.clip();\n this.endPath();\n }\n }\n\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n }\n\n endAnnotation() {\n if (this.annotationCanvas) {\n this.ctx = this.annotationCanvas.savedCtx;\n delete this.annotationCanvas.savedCtx;\n delete this.annotationCanvas;\n }\n }\n\n paintImageMaskXObject(img) {\n if (!this.contentVisible) {\n return;\n }\n\n const count = img.count;\n img = this.getObject(img.data, img);\n img.count = count;\n const ctx = this.ctx;\n const glyph = this.processingType3;\n\n if (glyph) {\n if (glyph.compiled === undefined) {\n glyph.compiled = compileType3Glyph(img);\n }\n\n if (glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n }\n\n const mask = this._createMaskCanvas(img);\n\n const maskCanvas = mask.canvas;\n ctx.save();\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY);\n ctx.restore();\n this.compose();\n }\n\n paintImageMaskXObjectRepeat(img, scaleX, skewX = 0, skewY = 0, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n\n img = this.getObject(img.data, img);\n const ctx = this.ctx;\n ctx.save();\n const currentTransform = ctx.mozCurrentTransform;\n ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0);\n\n const mask = this._createMaskCanvas(img);\n\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n const trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]);\n\n const [x, y] = _util.Util.applyTransform([0, 0], trans);\n\n ctx.drawImage(mask.canvas, x, y);\n }\n\n ctx.restore();\n this.compose();\n }\n\n paintImageMaskXObjectGroup(images) {\n if (!this.contentVisible) {\n return;\n }\n\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n\n for (const image of images) {\n const {\n data,\n width,\n height,\n transform\n } = image;\n const maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height, false);\n const maskCtx = maskCanvas.context;\n maskCtx.save();\n const img = this.getObject(data, image);\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n\n this.compose();\n }\n\n paintImageXObject(objId) {\n if (!this.contentVisible) {\n return;\n }\n\n const imgData = this.getObject(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n\n paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n\n const imgData = this.getObject(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n const width = imgData.width;\n const height = imgData.height;\n const map = [];\n\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n }\n\n paintInlineImageXObject(imgData) {\n if (!this.contentVisible) {\n return;\n }\n\n const width = imgData.width;\n const height = imgData.height;\n const ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n let imgToPaint;\n\n if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height, false);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n imgToPaint = tmpCanvas.canvas;\n }\n\n const scaled = this._scaleImage(imgToPaint, ctx.mozCurrentTransformInverse);\n\n ctx.imageSmoothingEnabled = getImageSmoothingEnabled(ctx.mozCurrentTransform, imgData.interpolate);\n const [rWidth, rHeight] = drawImageAtIntegerCoords(ctx, scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n const position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData,\n left: position[0],\n top: position[1],\n width: rWidth,\n height: rHeight\n });\n }\n\n this.compose();\n this.restore();\n }\n\n paintInlineImageXObjectGroup(imgData, map) {\n if (!this.contentVisible) {\n return;\n }\n\n const ctx = this.ctx;\n const w = imgData.width;\n const h = imgData.height;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h, false);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n\n for (let i = 0, ii = map.length; i < ii; i++) {\n const entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n const position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n\n this.compose();\n }\n\n paintSolidColorImageMask() {\n if (!this.contentVisible) {\n return;\n }\n\n this.ctx.fillRect(0, 0, 1, 1);\n this.compose();\n }\n\n markPoint(tag) {}\n\n markPointProps(tag, properties) {}\n\n beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n }\n\n beginMarkedContentProps(tag, properties) {\n if (tag === \"OC\") {\n this.markedContentStack.push({\n visible: this.optionalContentConfig.isVisible(properties)\n });\n } else {\n this.markedContentStack.push({\n visible: true\n });\n }\n\n this.contentVisible = this.isContentVisible();\n }\n\n endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n }\n\n beginCompat() {}\n\n endCompat() {}\n\n consumePath(clipBox) {\n const isEmpty = this.current.isEmptyClip();\n\n if (this.pendingClip) {\n this.current.updateClipFromPath();\n }\n\n if (!this.pendingClip) {\n this.compose(clipBox);\n }\n\n const ctx = this.ctx;\n\n if (this.pendingClip) {\n if (!isEmpty) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n }\n\n this.pendingClip = null;\n }\n\n this.current.startNewPathAndClipBox(this.current.clipBox);\n ctx.beginPath();\n }\n\n getSinglePixelWidth() {\n if (!this._cachedGetSinglePixelWidth) {\n const m = this.ctx.mozCurrentTransform;\n\n if (m[1] === 0 && m[2] === 0) {\n this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3]));\n } else {\n const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n const normX = Math.hypot(m[0], m[2]);\n const normY = Math.hypot(m[1], m[3]);\n this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet;\n }\n }\n\n return this._cachedGetSinglePixelWidth;\n }\n\n getScaleForStroking() {\n if (!this._cachedScaleForStroking) {\n const {\n lineWidth\n } = this.current;\n const m = this.ctx.mozCurrentTransform;\n let scaleX, scaleY;\n\n if (m[1] === 0 && m[2] === 0) {\n const normX = Math.abs(m[0]);\n const normY = Math.abs(m[3]);\n\n if (lineWidth === 0) {\n scaleX = 1 / normX;\n scaleY = 1 / normY;\n } else {\n const scaledXLineWidth = normX * lineWidth;\n const scaledYLineWidth = normY * lineWidth;\n scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1;\n scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1;\n }\n } else {\n const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n const normX = Math.hypot(m[0], m[1]);\n const normY = Math.hypot(m[2], m[3]);\n\n if (lineWidth === 0) {\n scaleX = normY / absDet;\n scaleY = normX / absDet;\n } else {\n const baseArea = lineWidth * absDet;\n scaleX = normY > baseArea ? normY / baseArea : 1;\n scaleY = normX > baseArea ? normX / baseArea : 1;\n }\n }\n\n this._cachedScaleForStroking = [scaleX, scaleY];\n }\n\n return this._cachedScaleForStroking;\n }\n\n rescaleAndStroke(saveRestore) {\n const {\n ctx\n } = this;\n const {\n lineWidth\n } = this.current;\n const [scaleX, scaleY] = this.getScaleForStroking();\n ctx.lineWidth = lineWidth || 1;\n\n if (scaleX === 1 && scaleY === 1) {\n ctx.stroke();\n return;\n }\n\n let savedMatrix, savedDashes, savedDashOffset;\n\n if (saveRestore) {\n savedMatrix = ctx.mozCurrentTransform.slice();\n savedDashes = ctx.getLineDash().slice();\n savedDashOffset = ctx.lineDashOffset;\n }\n\n ctx.scale(scaleX, scaleY);\n const scale = Math.max(scaleX, scaleY);\n ctx.setLineDash(ctx.getLineDash().map(x => x / scale));\n ctx.lineDashOffset /= scale;\n ctx.stroke();\n\n if (saveRestore) {\n ctx.setTransform(...savedMatrix);\n ctx.setLineDash(savedDashes);\n ctx.lineDashOffset = savedDashOffset;\n }\n }\n\n getCanvasPosition(x, y) {\n const transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n\n isContentVisible() {\n for (let i = this.markedContentStack.length - 1; i >= 0; i--) {\n if (!this.markedContentStack[i].visible) {\n return false;\n }\n }\n\n return true;\n }\n\n}\n\nexports.CanvasGraphics = CanvasGraphics;\n\nfor (const op in _util.OPS) {\n if (CanvasGraphics.prototype[op] !== undefined) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n}\n\n/***/ }),\n/* 13 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TilingPattern = exports.PathType = void 0;\nexports.getShadingPattern = getShadingPattern;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nconst PathType = {\n FILL: \"Fill\",\n STROKE: \"Stroke\",\n SHADING: \"Shading\"\n};\nexports.PathType = PathType;\n\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox || _is_node.isNodeJS) {\n return;\n }\n\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\n\nclass BaseShadingPattern {\n constructor() {\n if (this.constructor === BaseShadingPattern) {\n (0, _util.unreachable)(\"Cannot initialize BaseShadingPattern.\");\n }\n }\n\n getPattern() {\n (0, _util.unreachable)(\"Abstract method `getPattern` called.\");\n }\n\n}\n\nclass RadialAxialShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._type = IR[1];\n this._bbox = IR[2];\n this._colorStops = IR[3];\n this._p0 = IR[4];\n this._p1 = IR[5];\n this._r0 = IR[6];\n this._r1 = IR[7];\n this.matrix = null;\n }\n\n _createGradient(ctx) {\n let grad;\n\n if (this._type === \"axial\") {\n grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]);\n } else if (this._type === \"radial\") {\n grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1);\n }\n\n for (const colorStop of this._colorStops) {\n grad.addColorStop(colorStop[0], colorStop[1]);\n }\n\n return grad;\n }\n\n getPattern(ctx, owner, inverse, pathType) {\n let pattern;\n\n if (pathType === PathType.STROKE || pathType === PathType.FILL) {\n const ownerBBox = owner.current.getClippedPathBoundingBox(pathType, ctx.mozCurrentTransform) || [0, 0, 0, 0];\n const width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1;\n const height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1;\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", width, height, true);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.beginPath();\n tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]);\n inverse = _util.Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]);\n tmpCtx.transform.apply(tmpCtx, owner.baseTransform);\n\n if (this.matrix) {\n tmpCtx.transform.apply(tmpCtx, this.matrix);\n }\n\n applyBoundingBox(tmpCtx, this._bbox);\n tmpCtx.fillStyle = this._createGradient(tmpCtx);\n tmpCtx.fill();\n pattern = ctx.createPattern(tmpCanvas.canvas, \"no-repeat\");\n const domMatrix = new DOMMatrix(inverse);\n\n try {\n pattern.setTransform(domMatrix);\n } catch (ex) {\n (0, _util.warn)(`RadialAxialShadingPattern.getPattern: \"${ex?.message}\".`);\n }\n } else {\n applyBoundingBox(ctx, this._bbox);\n pattern = this._createGradient(ctx);\n }\n\n return pattern;\n }\n\n}\n\nfunction drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n const coords = context.coords,\n colors = context.colors;\n const bytes = data.data,\n rowSize = data.width * 4;\n let tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n const x1 = (coords[p1] + context.offsetX) * context.scaleX;\n const y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n const x2 = (coords[p2] + context.offsetX) * context.scaleX;\n const y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n const x3 = (coords[p3] + context.offsetX) * context.scaleX;\n const y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n const c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n const c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n const c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n const minY = Math.round(y1),\n maxY = Math.round(y3);\n let xa, car, cag, cab;\n let xb, cbr, cbg, cbb;\n\n for (let y = minY; y <= maxY; y++) {\n if (y < y2) {\n let k;\n\n if (y < y1) {\n k = 0;\n } else {\n k = (y1 - y) / (y1 - y2);\n }\n\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n let k;\n\n if (y > y3) {\n k = 1;\n } else if (y2 === y3) {\n k = 0;\n } else {\n k = (y2 - y) / (y2 - y3);\n }\n\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n\n let k;\n\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n const x1_ = Math.round(Math.min(xa, xb));\n const x2_ = Math.round(Math.max(xa, xb));\n let j = rowSize * y + x1_ * 4;\n\n for (let x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n}\n\nfunction drawFigure(data, figure, context) {\n const ps = figure.coords;\n const cs = figure.colors;\n let i, ii;\n\n switch (figure.type) {\n case \"lattice\":\n const verticesPerRow = figure.verticesPerRow;\n const rows = Math.floor(ps.length / verticesPerRow) - 1;\n const cols = verticesPerRow - 1;\n\n for (i = 0; i < rows; i++) {\n let q = i * verticesPerRow;\n\n for (let j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n\n break;\n\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n\n break;\n\n default:\n throw new Error(\"illegal figure\");\n }\n}\n\nclass MeshShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._coords = IR[2];\n this._colors = IR[3];\n this._figures = IR[4];\n this._bounds = IR[5];\n this._bbox = IR[7];\n this._background = IR[8];\n this.matrix = null;\n }\n\n _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) {\n const EXPECTED_SCALE = 1.1;\n const MAX_PATTERN_SIZE = 3000;\n const BORDER_SIZE = 2;\n const offsetX = Math.floor(this._bounds[0]);\n const offsetY = Math.floor(this._bounds[1]);\n const boundsWidth = Math.ceil(this._bounds[2]) - offsetX;\n const boundsHeight = Math.ceil(this._bounds[3]) - offsetY;\n const width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const scaleX = boundsWidth / width;\n const scaleY = boundsHeight / height;\n const context = {\n coords: this._coords,\n colors: this._colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n const paddedWidth = width + BORDER_SIZE * 2;\n const paddedHeight = height + BORDER_SIZE * 2;\n const tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n const tmpCtx = tmpCanvas.context;\n const data = tmpCtx.createImageData(width, height);\n\n if (backgroundColor) {\n const bytes = data.data;\n\n for (let i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n\n for (const figure of this._figures) {\n drawFigure(data, figure, context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n const canvas = tmpCanvas.canvas;\n return {\n canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX,\n scaleY\n };\n }\n\n getPattern(ctx, owner, inverse, pathType) {\n applyBoundingBox(ctx, this._bbox);\n let scale;\n\n if (pathType === PathType.SHADING) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (this.matrix) {\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n const temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases);\n\n if (pathType !== PathType.SHADING) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (this.matrix) {\n ctx.transform.apply(ctx, this.matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n\n}\n\nclass DummyShadingPattern extends BaseShadingPattern {\n getPattern() {\n return \"hotpink\";\n }\n\n}\n\nfunction getShadingPattern(IR) {\n switch (IR[0]) {\n case \"RadialAxial\":\n return new RadialAxialShadingPattern(IR);\n\n case \"Mesh\":\n return new MeshShadingPattern(IR);\n\n case \"Dummy\":\n return new DummyShadingPattern();\n }\n\n throw new Error(`Unknown IR type: ${IR[0]}`);\n}\n\nconst PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n};\n\nclass TilingPattern {\n static get MAX_PATTERN_SIZE() {\n return (0, _util.shadow)(this, \"MAX_PATTERN_SIZE\", 3000);\n }\n\n constructor(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.ctx = ctx;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n }\n\n createPatternCanvas(owner) {\n const operatorList = this.operatorList;\n const bbox = this.bbox;\n const xstep = this.xstep;\n const ystep = this.ystep;\n const paintType = this.paintType;\n const tilingType = this.tilingType;\n const color = this.color;\n const canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n const x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n const curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n const combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n const dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n const dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n const tmpCtx = tmpCanvas.context;\n const graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n let adjustedX0 = x0;\n let adjustedY0 = y0;\n let adjustedX1 = x1;\n let adjustedY1 = y1;\n\n if (x0 < 0) {\n adjustedX0 = 0;\n adjustedX1 += Math.abs(x0);\n }\n\n if (y0 < 0) {\n adjustedY0 = 0;\n adjustedY1 += Math.abs(y0);\n }\n\n tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0));\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n tmpCtx.save();\n this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1);\n graphics.baseTransform = graphics.ctx.mozCurrentTransform.slice();\n graphics.executeOperatorList(operatorList);\n graphics.endDrawing();\n return {\n canvas: tmpCanvas.canvas,\n scaleX: dimx.scale,\n scaleY: dimy.scale,\n offsetX: adjustedX0,\n offsetY: adjustedY0\n };\n }\n\n getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n const maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize);\n let size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale,\n size\n };\n }\n\n clipBbox(graphics, x0, y0, x1, y1) {\n const bboxWidth = x1 - x0;\n const bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.current.updateRectMinMax(graphics.ctx.mozCurrentTransform, [x0, y0, x1, y1]);\n graphics.clip();\n graphics.endPath();\n }\n\n setFillAndStrokeStyleToContext(graphics, paintType, color) {\n const context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n const ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n const cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(`Unsupported paint type: ${paintType}`);\n }\n }\n\n getPattern(ctx, owner, inverse, pathType) {\n let matrix = inverse;\n\n if (pathType !== PathType.SHADING) {\n matrix = _util.Util.transform(matrix, owner.baseTransform);\n\n if (this.matrix) {\n matrix = _util.Util.transform(matrix, this.matrix);\n }\n }\n\n const temporaryPatternCanvas = this.createPatternCanvas(owner);\n let domMatrix = new DOMMatrix(matrix);\n domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY);\n const pattern = ctx.createPattern(temporaryPatternCanvas.canvas, \"repeat\");\n\n try {\n pattern.setTransform(domMatrix);\n } catch (ex) {\n (0, _util.warn)(`TilingPattern.getPattern: \"${ex?.message}\".`);\n }\n\n return pattern;\n }\n\n}\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 14 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.applyMaskImageData = applyMaskImageData;\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction applyMaskImageData({\n src,\n srcPos = 0,\n dest,\n destPos = 0,\n width,\n height,\n inverseDecode = false\n}) {\n const opaque = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n const [zeroMapping, oneMapping] = !inverseDecode ? [opaque, 0] : [0, opaque];\n const widthInSource = width >> 3;\n const widthRemainder = width & 7;\n const srcLength = src.length;\n dest = new Uint32Array(dest.buffer);\n\n for (let i = 0; i < height; i++) {\n for (const max = srcPos + widthInSource; srcPos < max; srcPos++) {\n const elem = srcPos < srcLength ? src[srcPos] : 255;\n dest[destPos++] = elem & 0b10000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1 ? oneMapping : zeroMapping;\n }\n\n if (widthRemainder === 0) {\n continue;\n }\n\n const elem = srcPos < srcLength ? src[srcPos++] : 255;\n\n for (let j = 0; j < widthRemainder; j++) {\n dest[destPos++] = elem & 1 << 7 - j ? oneMapping : zeroMapping;\n }\n }\n\n return {\n srcPos,\n destPos\n };\n}\n\n/***/ }),\n/* 15 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GlobalWorkerOptions = void 0;\nconst GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? \"\" : GlobalWorkerOptions.workerSrc;\n\n/***/ }),\n/* 16 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MessageHandler = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nconst CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nconst StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\n\nfunction wrapReason(reason) {\n if (!(reason instanceof Error || typeof reason === \"object\" && reason !== null)) {\n (0, _util.unreachable)('wrapReason: Expected \"reason\" to be a (possibly cloned) Error.');\n }\n\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n\n case \"PasswordException\":\n return new _util.PasswordException(reason.message, reason.code);\n\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\n\nclass MessageHandler {\n constructor(sourceName, targetName, comObj) {\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = event => {\n const data = event.data;\n\n if (data.targetName !== this.sourceName) {\n return;\n }\n\n if (data.stream) {\n this._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(`Cannot resolve callback ${callbackId}`);\n }\n\n delete this.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n const action = this.actionHandler[data.action];\n\n if (!action) {\n throw new Error(`Unknown action from worker: ${data.action}`);\n }\n\n if (data.callbackId) {\n const cbSourceName = this.sourceName;\n const cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n this._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n on(actionName, handler) {\n const ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(`There is already an actionName called \"${actionName}\"`);\n }\n\n ah[actionName] = handler;\n }\n\n send(actionName, data, transfers) {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data\n }, transfers);\n }\n\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++,\n sourceName = this.sourceName,\n targetName = this.targetName,\n comObj = this.comObj;\n return new ReadableStream({\n start: controller => {\n const startCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n comObj.postMessage({\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize\n }, transfers);\n return startCapability.promise;\n },\n pull: controller => {\n const pullCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: reason => {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n\n _createStreamSink(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const self = this,\n action = this.actionHandler[data.action];\n const streamSink = {\n enqueue(chunk, size = 1, transfers) {\n if (this.isCancelled) {\n return;\n }\n\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk\n }, transfers);\n },\n\n close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId\n });\n delete self.streamSinks[streamId];\n },\n\n error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason)\n });\n },\n\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n }\n\n _processStreamMessage(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const streamController = this.streamControllers[streamId],\n streamSink = this.streamSinks[streamId];\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n streamController.startCall.resolve();\n } else {\n streamController.startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n streamController.pullCall.resolve();\n } else {\n streamController.pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!streamSink) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n break;\n }\n\n if (streamSink.desiredSize <= 0 && data.desiredSize > 0) {\n streamSink.sinkCapability.resolve();\n }\n\n streamSink.desiredSize = data.desiredSize;\n new Promise(function (resolve) {\n resolve(streamSink.onPull && streamSink.onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(streamController, \"enqueue should have stream controller\");\n\n if (streamController.isClosed) {\n break;\n }\n\n streamController.controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(streamController, \"close should have stream controller\");\n\n if (streamController.isClosed) {\n break;\n }\n\n streamController.isClosed = true;\n streamController.controller.close();\n\n this._deleteStreamController(streamController, streamId);\n\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(streamController, \"error should have stream controller\");\n streamController.controller.error(wrapReason(data.reason));\n\n this._deleteStreamController(streamController, streamId);\n\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n streamController.cancelCall.resolve();\n } else {\n streamController.cancelCall.reject(wrapReason(data.reason));\n }\n\n this._deleteStreamController(streamController, streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!streamSink) {\n break;\n }\n\n new Promise(function (resolve) {\n resolve(streamSink.onCancel && streamSink.onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n streamSink.sinkCapability.reject(wrapReason(data.reason));\n streamSink.isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n\n async _deleteStreamController(streamController, streamId) {\n await Promise.allSettled([streamController.startCall && streamController.startCall.promise, streamController.pullCall && streamController.pullCall.promise, streamController.cancelCall && streamController.cancelCall.promise]);\n delete this.streamControllers[streamId];\n }\n\n destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n\n}\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 17 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Metadata = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nclass Metadata {\n #metadataMap;\n #data;\n\n constructor({\n parsedData,\n rawData\n }) {\n this.#metadataMap = parsedData;\n this.#data = rawData;\n }\n\n getRaw() {\n return this.#data;\n }\n\n get(name) {\n return this.#metadataMap.get(name) ?? null;\n }\n\n getAll() {\n return (0, _util.objectFromMap)(this.#metadataMap);\n }\n\n has(name) {\n return this.#metadataMap.has(name);\n }\n\n}\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 18 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.OptionalContentConfig = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nconst INTERNAL = Symbol(\"INTERNAL\");\n\nclass OptionalContentGroup {\n #visible = true;\n\n constructor(name, intent) {\n this.name = name;\n this.intent = intent;\n }\n\n get visible() {\n return this.#visible;\n }\n\n _setVisible(internal, visible) {\n if (internal !== INTERNAL) {\n (0, _util.unreachable)(\"Internal method `_setVisible` called.\");\n }\n\n this.#visible = visible;\n }\n\n}\n\nclass OptionalContentConfig {\n #cachedHasInitialVisibility = true;\n #groups = new Map();\n #initialVisibility = null;\n #order = null;\n\n constructor(data) {\n this.name = null;\n this.creator = null;\n\n if (data === null) {\n return;\n }\n\n this.name = data.name;\n this.creator = data.creator;\n this.#order = data.order;\n\n for (const group of data.groups) {\n this.#groups.set(group.id, new OptionalContentGroup(group.name, group.intent));\n }\n\n if (data.baseState === \"OFF\") {\n for (const group of this.#groups.values()) {\n group._setVisible(INTERNAL, false);\n }\n }\n\n for (const on of data.on) {\n this.#groups.get(on)._setVisible(INTERNAL, true);\n }\n\n for (const off of data.off) {\n this.#groups.get(off)._setVisible(INTERNAL, false);\n }\n\n this.#initialVisibility = new Map();\n\n for (const [id, group] of this.#groups) {\n this.#initialVisibility.set(id, group.visible);\n }\n }\n\n __evaluateVisibilityExpression(array) {\n const length = array.length;\n\n if (length < 2) {\n return true;\n }\n\n const operator = array[0];\n\n for (let i = 1; i < length; i++) {\n const element = array[i];\n let state;\n\n if (Array.isArray(element)) {\n state = this.__evaluateVisibilityExpression(element);\n } else if (this.#groups.has(element)) {\n state = this.#groups.get(element).visible;\n } else {\n (0, _util.warn)(`Optional content group not found: ${element}`);\n return true;\n }\n\n switch (operator) {\n case \"And\":\n if (!state) {\n return false;\n }\n\n break;\n\n case \"Or\":\n if (state) {\n return true;\n }\n\n break;\n\n case \"Not\":\n return !state;\n\n default:\n return true;\n }\n }\n\n return operator === \"And\";\n }\n\n isVisible(group) {\n if (this.#groups.size === 0) {\n return true;\n }\n\n if (!group) {\n (0, _util.warn)(\"Optional content group not defined.\");\n return true;\n }\n\n if (group.type === \"OCG\") {\n if (!this.#groups.has(group.id)) {\n (0, _util.warn)(`Optional content group not found: ${group.id}`);\n return true;\n }\n\n return this.#groups.get(group.id).visible;\n } else if (group.type === \"OCMD\") {\n if (group.expression) {\n return this.__evaluateVisibilityExpression(group.expression);\n }\n\n if (!group.policy || group.policy === \"AnyOn\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n\n if (this.#groups.get(id).visible) {\n return true;\n }\n }\n\n return false;\n } else if (group.policy === \"AllOn\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n\n if (!this.#groups.get(id).visible) {\n return false;\n }\n }\n\n return true;\n } else if (group.policy === \"AnyOff\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n\n if (!this.#groups.get(id).visible) {\n return true;\n }\n }\n\n return false;\n } else if (group.policy === \"AllOff\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n\n if (this.#groups.get(id).visible) {\n return false;\n }\n }\n\n return true;\n }\n\n (0, _util.warn)(`Unknown optional content policy ${group.policy}.`);\n return true;\n }\n\n (0, _util.warn)(`Unknown group type ${group.type}.`);\n return true;\n }\n\n setVisibility(id, visible = true) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return;\n }\n\n this.#groups.get(id)._setVisible(INTERNAL, !!visible);\n\n this.#cachedHasInitialVisibility = null;\n }\n\n get hasInitialVisibility() {\n if (this.#cachedHasInitialVisibility !== null) {\n return this.#cachedHasInitialVisibility;\n }\n\n for (const [id, group] of this.#groups) {\n const visible = this.#initialVisibility.get(id);\n\n if (group.visible !== visible) {\n return this.#cachedHasInitialVisibility = false;\n }\n }\n\n return this.#cachedHasInitialVisibility = true;\n }\n\n getOrder() {\n if (!this.#groups.size) {\n return null;\n }\n\n if (this.#order) {\n return this.#order.slice();\n }\n\n return [...this.#groups.keys()];\n }\n\n getGroups() {\n return this.#groups.size > 0 ? (0, _util.objectFromMap)(this.#groups) : null;\n }\n\n getGroup(id) {\n return this.#groups.get(id) || null;\n }\n\n}\n\nexports.OptionalContentConfig = OptionalContentConfig;\n\n/***/ }),\n/* 19 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFDataTransportStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(4);\n\nclass PDFDataTransportStream {\n constructor(params, pdfDataRangeTransport) {\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n this._contentDispositionFilename = params.contentDispositionFilename || null;\n const initialData = params.initialData;\n\n if (initialData?.length > 0) {\n const buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {\n this._onReceiveData({\n begin,\n chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener((loaded, total) => {\n this._onProgress({\n loaded,\n total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {\n this._onReceiveData({\n chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(() => {\n this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _onReceiveData(args) {\n const buffer = new Uint8Array(args.chunk).buffer;\n\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n const found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n\n _onProgress(evt) {\n if (evt.total === undefined) {\n const firstReader = this._rangeReaders[0];\n\n if (firstReader?.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n const fullReader = this._fullRequestReader;\n\n if (fullReader?.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n\n _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n\n _removeRangeReader(reader) {\n const i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n const queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename);\n }\n\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n for (const reader of this._rangeReaders.slice(0)) {\n reader.cancel(reason);\n }\n\n this._pdfDataRangeTransport.abort();\n }\n\n}\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nclass PDFDataTransportStreamReader {\n constructor(stream, queuedChunks, progressiveDone = false, contentDispositionFilename = null) {\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n\n for (const chunk of this._queuedChunks) {\n this._loaded += chunk.byteLength;\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n\n get headersReady() {\n return this._headersReady;\n }\n\n get filename() {\n return this._filename;\n }\n\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n }\n\n get contentLength() {\n return this._stream._contentLength;\n }\n\n async read() {\n if (this._queuedChunks.length > 0) {\n const chunk = this._queuedChunks.shift();\n\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n }\n\n progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n\n}\n\nclass PDFDataTransportStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n const requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n\n get isStreamingSupported() {\n return false;\n }\n\n async read() {\n if (this._queuedChunk) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n\n this._stream._removeRangeReader(this);\n }\n\n}\n\n/***/ }),\n/* 20 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaText = void 0;\n\nclass XfaText {\n static textContent(xfa) {\n const items = [];\n const output = {\n items,\n styles: Object.create(null)\n };\n\n function walk(node) {\n if (!node) {\n return;\n }\n\n let str = null;\n const name = node.name;\n\n if (name === \"#text\") {\n str = node.value;\n } else if (!XfaText.shouldBuildText(name)) {\n return;\n } else if (node?.attributes?.textContent) {\n str = node.attributes.textContent;\n } else if (node.value) {\n str = node.value;\n }\n\n if (str !== null) {\n items.push({\n str\n });\n }\n\n if (!node.children) {\n return;\n }\n\n for (const child of node.children) {\n walk(child);\n }\n }\n\n walk(xfa);\n return output;\n }\n\n static shouldBuildText(name) {\n return !(name === \"textarea\" || name === \"input\" || name === \"option\" || name === \"select\");\n }\n\n}\n\nexports.XfaText = XfaText;\n\n/***/ }),\n/* 21 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NodeStandardFontDataFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0;\n\nvar _base_factory = __w_pdfjs_require__(5);\n\n;\n\nconst fetchData = function (url) {\n return new Promise((resolve, reject) => {\n const fs = require(\"fs\");\n\n fs.readFile(url, (error, data) => {\n if (error || !data) {\n reject(new Error(error));\n return;\n }\n\n resolve(new Uint8Array(data));\n });\n });\n};\n\nclass NodeCanvasFactory extends _base_factory.BaseCanvasFactory {\n _createCanvas(width, height) {\n const Canvas = require(\"canvas\");\n\n return Canvas.createCanvas(width, height);\n }\n\n}\n\nexports.NodeCanvasFactory = NodeCanvasFactory;\n\nclass NodeCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n\n}\n\nexports.NodeCMapReaderFactory = NodeCMapReaderFactory;\n\nclass NodeStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url);\n }\n\n}\n\nexports.NodeStandardFontDataFactory = NodeStandardFontDataFactory;\n\n/***/ }),\n/* 22 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationEditorLayer = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _tools = __w_pdfjs_require__(9);\n\nvar _display_utils = __w_pdfjs_require__(4);\n\nvar _freetext = __w_pdfjs_require__(23);\n\nvar _ink = __w_pdfjs_require__(24);\n\nclass AnnotationEditorLayer {\n #allowClick = false;\n #boundPointerup = this.pointerup.bind(this);\n #boundPointerdown = this.pointerdown.bind(this);\n #editors = new Map();\n #isCleaningUp = false;\n #textLayerMap = new WeakMap();\n #textNodes = new Map();\n #uiManager;\n #waitingEditors = new Set();\n static _initialized = false;\n\n constructor(options) {\n if (!AnnotationEditorLayer._initialized) {\n AnnotationEditorLayer._initialized = true;\n\n _freetext.FreeTextEditor.initialize(options.l10n);\n\n _ink.InkEditor.initialize(options.l10n);\n\n options.uiManager.registerEditorTypes([_freetext.FreeTextEditor, _ink.InkEditor]);\n }\n\n this.#uiManager = options.uiManager;\n this.annotationStorage = options.annotationStorage;\n this.pageIndex = options.pageIndex;\n this.div = options.div;\n this.#uiManager.addLayer(this);\n }\n\n get textLayerElements() {\n const textLayer = this.div.parentNode.getElementsByClassName(\"textLayer\").item(0);\n\n if (!textLayer) {\n return (0, _util.shadow)(this, \"textLayerElements\", null);\n }\n\n let textChildren = this.#textLayerMap.get(textLayer);\n\n if (textChildren) {\n return textChildren;\n }\n\n textChildren = textLayer.querySelectorAll(`span[role=\"presentation\"]`);\n\n if (textChildren.length === 0) {\n return (0, _util.shadow)(this, \"textLayerElements\", null);\n }\n\n textChildren = Array.from(textChildren);\n textChildren.sort(AnnotationEditorLayer.__compareElementPositions);\n this.#textLayerMap.set(textLayer, textChildren);\n return textChildren;\n }\n\n get __hasTextLayer() {\n return !!this.div.parentNode.querySelector(\".textLayer .endOfContent\");\n }\n\n updateToolbar(mode) {\n this.#uiManager.updateToolbar(mode);\n }\n\n updateMode(mode = this.#uiManager.getMode()) {\n this.__cleanup();\n\n if (mode === _util.AnnotationEditorType.INK) {\n this.addInkEditorIfNeeded(false);\n this.disableClick();\n } else {\n this.enableClick();\n }\n\n this.#uiManager.unselectAll();\n }\n\n addInkEditorIfNeeded(isCommitting) {\n if (!isCommitting && this.#uiManager.getMode() !== _util.AnnotationEditorType.INK) {\n return;\n }\n\n if (!isCommitting) {\n for (const editor of this.#editors.values()) {\n if (editor.isEmpty()) {\n editor.setInBackground();\n return;\n }\n }\n }\n\n const editor = this.__createAndAddNewEditor({\n offsetX: 0,\n offsetY: 0\n });\n editor.setInBackground();\n }\n\n setEditingState(isEditing) {\n this.#uiManager.setEditingState(isEditing);\n }\n\n addCommands(params) {\n this.#uiManager.addCommands(params);\n }\n\n enable() {\n this.div.style.pointerEvents = \"auto\";\n\n for (const editor of this.#editors.values()) {\n editor.enableEditing();\n }\n }\n\n disable() {\n this.div.style.pointerEvents = \"none\";\n\n for (const editor of this.#editors.values()) {\n editor.disableEditing();\n }\n }\n\n setActiveEditor(editor) {\n const currentActive = this.#uiManager.getActive();\n\n if (currentActive === editor) {\n return;\n }\n\n this.#uiManager.setActiveEditor(editor);\n }\n\n enableClick() {\n this.div.addEventListener(\"pointerdown\", this.#boundPointerdown);\n this.div.addEventListener(\"pointerup\", this.#boundPointerup);\n }\n\n disableClick() {\n this.div.removeEventListener(\"pointerdown\", this.#boundPointerdown);\n this.div.removeEventListener(\"pointerup\", this.#boundPointerup);\n }\n\n attach(editor) {\n this.#editors.set(editor.id, editor);\n }\n\n detach(editor) {\n this.#editors.delete(editor.id);\n this.removePointerInTextLayer(editor);\n }\n\n remove(editor) {\n this.#uiManager.removeEditor(editor);\n this.detach(editor);\n this.annotationStorage.removeKey(editor.id);\n editor.div.style.display = \"none\";\n setTimeout(() => {\n editor.div.style.display = \"\";\n editor.div.remove();\n editor.isAttachedToDOM = false;\n\n if (document.activeElement === document.body) {\n this.#uiManager.focusMainContainer();\n }\n }, 0);\n\n if (!this.#isCleaningUp) {\n this.addInkEditorIfNeeded(false);\n }\n }\n\n __changeParent(editor) {\n if (editor.parent === this) {\n return;\n }\n\n this.attach(editor);\n editor.pageIndex = this.pageIndex;\n editor.parent?.detach(editor);\n editor.parent = this;\n\n if (editor.div && editor.isAttachedToDOM) {\n editor.div.remove();\n this.div.append(editor.div);\n }\n }\n\n static __compareElementPositions(e1, e2) {\n const rect1 = e1.getBoundingClientRect();\n const rect2 = e2.getBoundingClientRect();\n\n if (rect1.y + rect1.height <= rect2.y) {\n return -1;\n }\n\n if (rect2.y + rect2.height <= rect1.y) {\n return +1;\n }\n\n const centerX1 = rect1.x + rect1.width / 2;\n const centerX2 = rect2.x + rect2.width / 2;\n return centerX1 - centerX2;\n }\n\n onTextLayerRendered() {\n this.#textNodes.clear();\n\n for (const editor of this.#waitingEditors) {\n if (editor.isAttachedToDOM) {\n this.addPointerInTextLayer(editor);\n }\n }\n\n this.#waitingEditors.clear();\n }\n\n removePointerInTextLayer(editor) {\n if (!this.__hasTextLayer) {\n this.#waitingEditors.delete(editor);\n return;\n }\n\n const {\n id\n } = editor;\n const node = this.#textNodes.get(id);\n\n if (!node) {\n return;\n }\n\n this.#textNodes.delete(id);\n let owns = node.getAttribute(\"aria-owns\");\n\n if (owns?.includes(id)) {\n owns = owns.split(\" \").filter(x => x !== id).join(\" \");\n\n if (owns) {\n node.setAttribute(\"aria-owns\", owns);\n } else {\n node.removeAttribute(\"aria-owns\");\n node.setAttribute(\"role\", \"presentation\");\n }\n }\n }\n\n addPointerInTextLayer(editor) {\n if (!this.__hasTextLayer) {\n this.#waitingEditors.add(editor);\n return;\n }\n\n this.removePointerInTextLayer(editor);\n const children = this.textLayerElements;\n\n if (!children) {\n return;\n }\n\n const {\n contentDiv\n } = editor;\n const id = editor.getIdForTextLayer();\n const index = (0, _display_utils.binarySearchFirstItem)(children, node => AnnotationEditorLayer.__compareElementPositions(contentDiv, node) < 0);\n const node = children[Math.max(0, index - 1)];\n const owns = node.getAttribute(\"aria-owns\");\n\n if (!owns?.includes(id)) {\n node.setAttribute(\"aria-owns\", owns ? `${owns} ${id}` : id);\n }\n\n node.removeAttribute(\"role\");\n this.#textNodes.set(id, node);\n }\n\n moveDivInDOM(editor) {\n this.addPointerInTextLayer(editor);\n const {\n div,\n contentDiv\n } = editor;\n\n if (!this.div.hasChildNodes()) {\n this.div.append(div);\n return;\n }\n\n const children = Array.from(this.div.childNodes).filter(node => node !== div);\n\n if (children.length === 0) {\n return;\n }\n\n const index = (0, _display_utils.binarySearchFirstItem)(children, node => AnnotationEditorLayer.__compareElementPositions(contentDiv, node) < 0);\n\n if (index === 0) {\n children[0].before(div);\n } else {\n children[index - 1].after(div);\n }\n }\n\n add(editor) {\n this.__changeParent(editor);\n this.addToAnnotationStorage(editor);\n this.#uiManager.addEditor(editor);\n this.attach(editor);\n\n if (!editor.isAttachedToDOM) {\n const div = editor.render();\n this.div.append(div);\n editor.isAttachedToDOM = true;\n }\n\n this.moveDivInDOM(editor);\n editor.onceAdded();\n }\n\n addToAnnotationStorage(editor) {\n if (!editor.isEmpty() && !this.annotationStorage.has(editor.id)) {\n this.annotationStorage.setValue(editor.id, editor);\n }\n }\n\n addOrRebuild(editor) {\n if (editor.needsToBeRebuilt()) {\n editor.rebuild();\n } else {\n this.add(editor);\n }\n }\n\n addANewEditor(editor) {\n const cmd = () => {\n this.addOrRebuild(editor);\n };\n\n const undo = () => {\n editor.remove();\n };\n\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n\n addUndoableEditor(editor) {\n const cmd = () => {\n this.addOrRebuild(editor);\n };\n\n const undo = () => {\n editor.remove();\n };\n\n this.addCommands({\n cmd,\n undo,\n mustExec: false\n });\n }\n\n getNextId() {\n return this.#uiManager.getId();\n }\n\n __createNewEditor(params) {\n switch (this.#uiManager.getMode()) {\n case _util.AnnotationEditorType.FREETEXT:\n return new _freetext.FreeTextEditor(params);\n\n case _util.AnnotationEditorType.INK:\n return new _ink.InkEditor(params);\n }\n\n return null;\n }\n\n deserialize(data) {\n switch (data.annotationType) {\n case _util.AnnotationEditorType.FREETEXT:\n return _freetext.FreeTextEditor.deserialize(data, this);\n\n case _util.AnnotationEditorType.INK:\n return _ink.InkEditor.deserialize(data, this);\n }\n\n return null;\n }\n\n __createAndAddNewEditor(event) {\n const id = this.getNextId();\n const editor = this.__createNewEditor({\n parent: this,\n id,\n x: event.offsetX,\n y: event.offsetY\n });\n\n if (editor) {\n this.add(editor);\n }\n\n return editor;\n }\n\n setSelected(editor) {\n this.#uiManager.setSelected(editor);\n }\n\n toggleSelected(editor) {\n this.#uiManager.toggleSelected(editor);\n }\n\n isSelected(editor) {\n return this.#uiManager.isSelected(editor);\n }\n\n unselect(editor) {\n this.#uiManager.unselect(editor);\n }\n\n pointerup(event) {\n const isMac = _tools.KeyboardManager.platform.isMac;\n\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n\n if (event.target !== this.div) {\n return;\n }\n\n if (!this.#allowClick) {\n this.#allowClick = true;\n return;\n }\n\n this.__createAndAddNewEditor(event);\n }\n\n pointerdown(event) {\n const isMac = _tools.KeyboardManager.platform.isMac;\n\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n\n if (event.target !== this.div) {\n return;\n }\n\n const editor = this.#uiManager.getActive();\n this.#allowClick = !editor || editor.isEmpty();\n }\n\n drop(event) {\n const id = event.dataTransfer.getData(\"text/plain\");\n const editor = this.#uiManager.getEditor(id);\n\n if (!editor) {\n return;\n }\n\n event.preventDefault();\n event.dataTransfer.dropEffect = \"move\";\n this.__changeParent(editor);\n const rect = this.div.getBoundingClientRect();\n const endX = event.clientX - rect.x;\n const endY = event.clientY - rect.y;\n editor.translate(endX - editor.startX, endY - editor.startY);\n this.moveDivInDOM(editor);\n editor.div.focus();\n }\n\n dragover(event) {\n event.preventDefault();\n }\n\n destroy() {\n if (this.#uiManager.getActive()?.parent === this) {\n this.#uiManager.setActiveEditor(null);\n }\n\n for (const editor of this.#editors.values()) {\n this.removePointerInTextLayer(editor);\n editor.isAttachedToDOM = false;\n editor.div.remove();\n editor.parent = null;\n }\n\n this.#textNodes.clear();\n this.div = null;\n this.#editors.clear();\n this.#waitingEditors.clear();\n this.#uiManager.removeLayer(this);\n }\n\n __cleanup() {\n this.#isCleaningUp = true;\n\n for (const editor of this.#editors.values()) {\n if (editor.isEmpty()) {\n editor.remove();\n }\n }\n\n this.#isCleaningUp = false;\n }\n\n render(parameters) {\n this.viewport = parameters.viewport;\n (0, _tools.bindEvents)(this, this.div, [\"dragover\", \"drop\"]);\n this.setDimensions();\n\n for (const editor of this.#uiManager.getEditors(this.pageIndex)) {\n this.add(editor);\n }\n\n this.updateMode();\n }\n\n update(parameters) {\n this.viewport = parameters.viewport;\n this.setDimensions();\n this.updateMode();\n }\n\n get scaleFactor() {\n return this.viewport.scale;\n }\n\n get pageDimensions() {\n const [pageLLx, pageLLy, pageURx, pageURy] = this.viewport.viewBox;\n const width = pageURx - pageLLx;\n const height = pageURy - pageLLy;\n return [width, height];\n }\n\n get viewportBaseDimensions() {\n const {\n width,\n height,\n rotation\n } = this.viewport;\n return rotation % 180 === 0 ? [width, height] : [height, width];\n }\n\n setDimensions() {\n const {\n width,\n height,\n rotation\n } = this.viewport;\n const flipOrientation = rotation % 180 !== 0,\n widthStr = Math.floor(width) + \"px\",\n heightStr = Math.floor(height) + \"px\";\n this.div.style.width = flipOrientation ? heightStr : widthStr;\n this.div.style.height = flipOrientation ? widthStr : heightStr;\n this.div.setAttribute(\"data-main-rotation\", rotation);\n }\n\n}\n\nexports.AnnotationEditorLayer = AnnotationEditorLayer;\n\n/***/ }),\n/* 23 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FreeTextEditor = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _tools = __w_pdfjs_require__(9);\n\nvar _editor = __w_pdfjs_require__(8);\n\nclass FreeTextEditor extends _editor.AnnotationEditor {\n #boundEditorDivBlur = this.editorDivBlur.bind(this);\n #boundEditorDivFocus = this.editorDivFocus.bind(this);\n #boundEditorDivKeydown = this.editorDivKeydown.bind(this);\n #color;\n #content = \"\";\n #contentHTML = \"\";\n #hasAlreadyBeenCommitted = false;\n #fontSize;\n static _freeTextDefaultContent = \"\";\n static _l10nPromise;\n static _internalPadding = 0;\n static _defaultColor = null;\n static _defaultFontSize = 10;\n static _keyboardManager = new _tools.KeyboardManager([[[\"ctrl+Enter\", \"mac+meta+Enter\", \"Escape\", \"mac+Escape\"], FreeTextEditor.prototype.commitOrRemove]]);\n\n constructor(params) {\n super({ ...params,\n name: \"freeTextEditor\"\n });\n this.#color = params.color || FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor;\n this.#fontSize = params.fontSize || FreeTextEditor._defaultFontSize;\n }\n\n static initialize(l10n) {\n this._l10nPromise = new Map([\"free_text_default_content\", \"editor_free_text_aria_label\"].map(str => [str, l10n.get(str)]));\n const style = getComputedStyle(document.documentElement);\n this._internalPadding = parseFloat(style.getPropertyValue(\"--freetext-padding\"));\n }\n\n static updateDefaultParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.FREETEXT_SIZE:\n FreeTextEditor._defaultFontSize = value;\n break;\n\n case _util.AnnotationEditorParamsType.FREETEXT_COLOR:\n FreeTextEditor._defaultColor = value;\n break;\n }\n }\n\n updateParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.FREETEXT_SIZE:\n this.__updateFontSize(value);\n break;\n\n case _util.AnnotationEditorParamsType.FREETEXT_COLOR:\n this.__updateColor(value);\n break;\n }\n }\n\n static get defaultPropertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, FreeTextEditor._defaultFontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor]];\n }\n\n get propertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, this.#fontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, this.#color]];\n }\n\n __updateFontSize(fontSize) {\n const setFontsize = size => {\n this.editorDiv.style.fontSize = `calc(${size}px * var(--scale-factor))`;\n this.translate(0, -(size - this.#fontSize) * this.parent.scaleFactor);\n this.#fontSize = size;\n this.__setEditorDimensions();\n };\n\n const savedFontsize = this.#fontSize;\n this.parent.addCommands({\n cmd: () => {\n setFontsize(fontSize);\n },\n undo: () => {\n setFontsize(savedFontsize);\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.FREETEXT_SIZE,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n\n __updateColor(color) {\n const savedColor = this.#color;\n this.parent.addCommands({\n cmd: () => {\n this.#color = color;\n this.editorDiv.style.color = color;\n },\n undo: () => {\n this.#color = savedColor;\n this.editorDiv.style.color = savedColor;\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.FREETEXT_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n\n getInitialTranslation() {\n return [-FreeTextEditor._internalPadding * this.parent.scaleFactor, -(FreeTextEditor._internalPadding + this.#fontSize) * this.parent.scaleFactor];\n }\n\n rebuild() {\n super.rebuild();\n\n if (this.div === null) {\n return;\n }\n\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n }\n }\n\n enableEditMode() {\n if (this.isInEditMode()) {\n return;\n }\n\n this.parent.setEditingState(false);\n this.parent.updateToolbar(_util.AnnotationEditorType.FREETEXT);\n super.enableEditMode();\n this.overlayDiv.classList.remove(\"enabled\");\n this.editorDiv.contentEditable = true;\n this.div.draggable = false;\n this.editorDiv.addEventListener(\"keydown\", this.#boundEditorDivKeydown);\n this.editorDiv.addEventListener(\"focus\", this.#boundEditorDivFocus);\n this.editorDiv.addEventListener(\"blur\", this.#boundEditorDivBlur);\n }\n\n disableEditMode() {\n if (!this.isInEditMode()) {\n return;\n }\n\n this.parent.setEditingState(true);\n super.disableEditMode();\n this.overlayDiv.classList.add(\"enabled\");\n this.editorDiv.contentEditable = false;\n this.div.draggable = true;\n this.editorDiv.removeEventListener(\"keydown\", this.#boundEditorDivKeydown);\n this.editorDiv.removeEventListener(\"focus\", this.#boundEditorDivFocus);\n this.editorDiv.removeEventListener(\"blur\", this.#boundEditorDivBlur);\n this.div.focus();\n this.isEditing = false;\n }\n\n focusin(event) {\n super.focusin(event);\n\n if (event.target !== this.editorDiv) {\n this.editorDiv.focus();\n }\n }\n\n onceAdded() {\n if (this.width) {\n return;\n }\n\n this.enableEditMode();\n this.editorDiv.focus();\n }\n\n isEmpty() {\n return !this.editorDiv || this.editorDiv.innerText.trim() === \"\";\n }\n\n remove() {\n this.isEditing = false;\n this.parent.setEditingState(true);\n super.remove();\n }\n\n __extractText() {\n const divs = this.editorDiv.getElementsByTagName(\"div\");\n\n if (divs.length === 0) {\n return this.editorDiv.innerText;\n }\n\n const buffer = [];\n\n for (let i = 0, ii = divs.length; i < ii; i++) {\n const div = divs[i];\n const first = div.firstChild;\n\n if (first?.nodeName === \"#text\") {\n buffer.push(first.data);\n } else {\n buffer.push(\"\");\n }\n }\n\n return buffer.join(\"\\n\");\n }\n\n __setEditorDimensions() {\n const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions;\n const rect = this.div.getBoundingClientRect();\n this.width = rect.width / parentWidth;\n this.height = rect.height / parentHeight;\n }\n\n commit() {\n super.commit();\n\n if (!this.#hasAlreadyBeenCommitted) {\n this.#hasAlreadyBeenCommitted = true;\n this.parent.addUndoableEditor(this);\n }\n\n this.disableEditMode();\n this.#contentHTML = this.editorDiv.innerHTML;\n this.#content = this.__extractText().trimEnd();\n this.__setEditorDimensions();\n }\n\n shouldGetKeyboardEvents() {\n return this.isInEditMode();\n }\n\n dblclick(event) {\n this.enableEditMode();\n this.editorDiv.focus();\n }\n\n keydown(event) {\n if (event.target === this.div && event.key === \"Enter\") {\n this.enableEditMode();\n this.editorDiv.focus();\n }\n }\n\n editorDivKeydown(event) {\n FreeTextEditor._keyboardManager.exec(this, event);\n }\n\n editorDivFocus(event) {\n this.isEditing = true;\n }\n\n editorDivBlur(event) {\n this.isEditing = false;\n }\n\n disableEditing() {\n this.editorDiv.setAttribute(\"role\", \"comment\");\n this.editorDiv.removeAttribute(\"aria-multiline\");\n }\n\n enableEditing() {\n this.editorDiv.setAttribute(\"role\", \"textbox\");\n this.editorDiv.setAttribute(\"aria-multiline\", true);\n }\n\n getIdForTextLayer() {\n return this.editorDiv.id;\n }\n\n render() {\n if (this.div) {\n return this.div;\n }\n\n let baseX, baseY;\n\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n\n super.render();\n this.editorDiv = document.createElement(\"div\");\n this.editorDiv.className = \"internal\";\n this.editorDiv.setAttribute(\"id\", `${this.id}-editor`);\n this.enableEditing();\n\n FreeTextEditor._l10nPromise.get(\"editor_free_text_aria_label\").then(msg => this.editorDiv?.setAttribute(\"aria-label\", msg));\n\n FreeTextEditor._l10nPromise.get(\"free_text_default_content\").then(msg => this.editorDiv?.setAttribute(\"default-content\", msg));\n\n this.editorDiv.contentEditable = true;\n const {\n style\n } = this.editorDiv;\n style.fontSize = `calc(${this.#fontSize}px * var(--scale-factor))`;\n style.color = this.#color;\n this.div.append(this.editorDiv);\n this.overlayDiv = document.createElement(\"div\");\n this.overlayDiv.classList.add(\"overlay\", \"enabled\");\n this.div.append(this.overlayDiv);\n (0, _tools.bindEvents)(this, this.div, [\"dblclick\", \"keydown\"]);\n\n if (this.width) {\n const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions;\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n this.editorDiv.innerHTML = this.#contentHTML;\n this.div.draggable = true;\n this.editorDiv.contentEditable = false;\n } else {\n this.div.draggable = false;\n this.editorDiv.contentEditable = true;\n }\n\n return this.div;\n }\n\n get contentDiv() {\n return this.editorDiv;\n }\n\n static deserialize(data, parent) {\n const editor = super.deserialize(data, parent);\n editor.#fontSize = data.fontSize;\n editor.#color = _util.Util.makeHexColor(...data.color);\n editor.#content = data.value;\n editor.#contentHTML = data.value.split(\"\\n\").map(line => `<div>${line}</div>`).join(\"\");\n return editor;\n }\n\n serialize() {\n if (this.isEmpty()) {\n return null;\n }\n\n const padding = FreeTextEditor._internalPadding * this.parent.scaleFactor;\n const rect = this.getRect(padding, padding);\n\n const color = _editor.AnnotationEditor._colorManager.convert(getComputedStyle(this.editorDiv).color);\n\n return {\n annotationType: _util.AnnotationEditorType.FREETEXT,\n color,\n fontSize: this.#fontSize,\n value: this.#content,\n pageIndex: this.parent.pageIndex,\n rect,\n rotation: this.rotation\n };\n }\n\n}\n\nexports.FreeTextEditor = FreeTextEditor;\n\n/***/ }),\n/* 24 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.InkEditor = void 0;\nObject.defineProperty(exports, \"fitCurve\", ({\n enumerable: true,\n get: function () {\n return _pdfjsFitCurve.fitCurve;\n }\n}));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _editor = __w_pdfjs_require__(8);\n\nvar _pdfjsFitCurve = __w_pdfjs_require__(25);\n\nvar _tools = __w_pdfjs_require__(9);\n\nconst RESIZER_SIZE = 16;\n\nclass InkEditor extends _editor.AnnotationEditor {\n #aspectRatio = 0;\n #baseHeight = 0;\n #baseWidth = 0;\n #boundCanvasPointermove = this.canvasPointermove.bind(this);\n #boundCanvasPointerleave = this.canvasPointerleave.bind(this);\n #boundCanvasPointerup = this.canvasPointerup.bind(this);\n #boundCanvasPointerdown = this.canvasPointerdown.bind(this);\n #disableEditing = false;\n #isCanvasInitialized = false;\n #lastPoint = null;\n #observer = null;\n #realWidth = 0;\n #realHeight = 0;\n #requestFrameCallback = null;\n static _defaultColor = null;\n static _defaultOpacity = 1;\n static _defaultThickness = 1;\n static _l10nPromise;\n\n constructor(params) {\n super({ ...params,\n name: \"inkEditor\"\n });\n this.color = params.color || null;\n this.thickness = params.thickness || null;\n this.opacity = params.opacity || null;\n this.paths = [];\n this.bezierPath2D = [];\n this.currentPath = [];\n this.scaleFactor = 1;\n this.translationX = this.translationY = 0;\n this.x = 0;\n this.y = 0;\n }\n\n static initialize(l10n) {\n this._l10nPromise = new Map([\"editor_ink_canvas_aria_label\", \"editor_ink_aria_label\"].map(str => [str, l10n.get(str)]));\n }\n\n static updateDefaultParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.INK_THICKNESS:\n InkEditor._defaultThickness = value;\n break;\n\n case _util.AnnotationEditorParamsType.INK_COLOR:\n InkEditor._defaultColor = value;\n break;\n\n case _util.AnnotationEditorParamsType.INK_OPACITY:\n InkEditor._defaultOpacity = value / 100;\n break;\n }\n }\n\n updateParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.INK_THICKNESS:\n this.__updateThickness(value);\n break;\n\n case _util.AnnotationEditorParamsType.INK_COLOR:\n this.__updateColor(value);\n break;\n\n case _util.AnnotationEditorParamsType.INK_OPACITY:\n this.__updateOpacity(value);\n break;\n }\n }\n\n static get defaultPropertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.INK_THICKNESS, InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(InkEditor._defaultOpacity * 100)]];\n }\n\n get propertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.INK_THICKNESS, this.thickness || InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, this.color || InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(100 * (this.opacity ?? InkEditor._defaultOpacity))]];\n }\n\n __updateThickness(thickness) {\n const savedThickness = this.thickness;\n this.parent.addCommands({\n cmd: () => {\n this.thickness = thickness;\n this.__fitToContent();\n },\n undo: () => {\n this.thickness = savedThickness;\n this.__fitToContent();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_THICKNESS,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n\n __updateColor(color) {\n const savedColor = this.color;\n this.parent.addCommands({\n cmd: () => {\n this.color = color;\n this.__redraw();\n },\n undo: () => {\n this.color = savedColor;\n this.__redraw();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n\n __updateOpacity(opacity) {\n opacity /= 100;\n const savedOpacity = this.opacity;\n this.parent.addCommands({\n cmd: () => {\n this.opacity = opacity;\n this.__redraw();\n },\n undo: () => {\n this.opacity = savedOpacity;\n this.__redraw();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_OPACITY,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n\n rebuild() {\n super.rebuild();\n\n if (this.div === null) {\n return;\n }\n\n if (!this.canvas) {\n this.__createCanvas();\n this.__createObserver();\n }\n\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n this.__setCanvasDims();\n }\n\n this.__fitToContent();\n }\n\n remove() {\n if (this.canvas === null) {\n return;\n }\n\n if (!this.isEmpty()) {\n this.commit();\n }\n\n this.canvas.width = this.canvas.height = 0;\n this.canvas.remove();\n this.canvas = null;\n this.#observer.disconnect();\n this.#observer = null;\n super.remove();\n }\n\n enableEditMode() {\n if (this.#disableEditing || this.canvas === null) {\n return;\n }\n\n super.enableEditMode();\n this.div.draggable = false;\n this.canvas.addEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n this.canvas.addEventListener(\"pointerup\", this.#boundCanvasPointerup);\n }\n\n disableEditMode() {\n if (!this.isInEditMode() || this.canvas === null) {\n return;\n }\n\n super.disableEditMode();\n this.div.draggable = !this.isEmpty();\n this.div.classList.remove(\"editing\");\n this.canvas.removeEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n this.canvas.removeEventListener(\"pointerup\", this.#boundCanvasPointerup);\n }\n\n onceAdded() {\n this.div.draggable = !this.isEmpty();\n }\n\n isEmpty() {\n return this.paths.length === 0 || this.paths.length === 1 && this.paths[0].length === 0;\n }\n\n __getInitialBBox() {\n const {\n width,\n height,\n rotation\n } = this.parent.viewport;\n\n switch (rotation) {\n case 90:\n return [0, width, width, height];\n\n case 180:\n return [width, height, width, height];\n\n case 270:\n return [height, 0, width, height];\n\n default:\n return [0, 0, width, height];\n }\n }\n\n __setStroke() {\n this.ctx.lineWidth = this.thickness * this.parent.scaleFactor / this.scaleFactor;\n this.ctx.lineCap = \"round\";\n this.ctx.lineJoin = \"round\";\n this.ctx.miterLimit = 10;\n this.ctx.strokeStyle = `${this.color}${(0, _tools.opacityToHex)(this.opacity)}`;\n }\n\n __startDrawing(x, y) {\n this.isEditing = true;\n\n if (!this.#isCanvasInitialized) {\n this.#isCanvasInitialized = true;\n this.__setCanvasDims();\n this.thickness ||= InkEditor._defaultThickness;\n this.color ||= InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor;\n this.opacity ??= InkEditor._defaultOpacity;\n }\n\n this.currentPath.push([x, y]);\n this.#lastPoint = null;\n this.__setStroke();\n this.ctx.beginPath();\n this.ctx.moveTo(x, y);\n\n this.#requestFrameCallback = () => {\n if (!this.#requestFrameCallback) {\n return;\n }\n\n if (this.#lastPoint) {\n if (this.isEmpty()) {\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n } else {\n this.__redraw();\n }\n\n this.ctx.lineTo(...this.#lastPoint);\n this.#lastPoint = null;\n this.ctx.stroke();\n }\n\n window.requestAnimationFrame(this.#requestFrameCallback);\n };\n\n window.requestAnimationFrame(this.#requestFrameCallback);\n }\n\n __draw(x, y) {\n const [lastX, lastY] = this.currentPath.at(-1);\n\n if (x === lastX && y === lastY) {\n return;\n }\n\n this.currentPath.push([x, y]);\n this.#lastPoint = [x, y];\n }\n\n __stopDrawing(x, y) {\n this.ctx.closePath();\n this.#requestFrameCallback = null;\n x = Math.min(Math.max(x, 0), this.canvas.width);\n y = Math.min(Math.max(y, 0), this.canvas.height);\n const [lastX, lastY] = this.currentPath.at(-1);\n\n if (x !== lastX || y !== lastY) {\n this.currentPath.push([x, y]);\n }\n\n let bezier;\n\n if (this.currentPath.length !== 1) {\n bezier = (0, _pdfjsFitCurve.fitCurve)(this.currentPath, 30, null);\n } else {\n const xy = [x, y];\n bezier = [[xy, xy.slice(), xy.slice(), xy]];\n }\n\n const path2D = InkEditor.__buildPath2D(bezier);\n this.currentPath.length = 0;\n\n const cmd = () => {\n this.paths.push(bezier);\n this.bezierPath2D.push(path2D);\n this.rebuild();\n };\n\n const undo = () => {\n this.paths.pop();\n this.bezierPath2D.pop();\n\n if (this.paths.length === 0) {\n this.remove();\n } else {\n if (!this.canvas) {\n this.__createCanvas();\n this.__createObserver();\n }\n\n this.__fitToContent();\n }\n };\n\n this.parent.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n\n __redraw() {\n if (this.isEmpty()) {\n this.__updateTransform();\n return;\n }\n\n this.__setStroke();\n const {\n canvas,\n ctx\n } = this;\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n this.__updateTransform();\n\n for (const path of this.bezierPath2D) {\n ctx.stroke(path);\n }\n }\n\n commit() {\n if (this.#disableEditing) {\n return;\n }\n\n super.commit();\n this.isEditing = false;\n this.disableEditMode();\n this.setInForeground();\n this.#disableEditing = true;\n this.div.classList.add(\"disabled\");\n this.__fitToContent(true);\n this.parent.addInkEditorIfNeeded(true);\n this.parent.moveDivInDOM(this);\n this.div.focus();\n }\n\n focusin(event) {\n super.focusin(event);\n this.enableEditMode();\n }\n\n canvasPointerdown(event) {\n if (event.button !== 0 || !this.isInEditMode() || this.#disableEditing) {\n return;\n }\n\n this.setInForeground();\n\n if (event.type !== \"mouse\") {\n this.div.focus();\n }\n\n event.stopPropagation();\n this.canvas.addEventListener(\"pointerleave\", this.#boundCanvasPointerleave);\n this.canvas.addEventListener(\"pointermove\", this.#boundCanvasPointermove);\n this.__startDrawing(event.offsetX, event.offsetY);\n }\n\n canvasPointermove(event) {\n event.stopPropagation();\n this.__draw(event.offsetX, event.offsetY);\n }\n\n canvasPointerup(event) {\n if (event.button !== 0) {\n return;\n }\n\n if (this.isInEditMode() && this.currentPath.length !== 0) {\n event.stopPropagation();\n this.__endDrawing(event);\n this.setInBackground();\n }\n }\n\n canvasPointerleave(event) {\n this.__endDrawing(event);\n this.setInBackground();\n }\n\n __endDrawing(event) {\n this.__stopDrawing(event.offsetX, event.offsetY);\n this.canvas.removeEventListener(\"pointerleave\", this.#boundCanvasPointerleave);\n this.canvas.removeEventListener(\"pointermove\", this.#boundCanvasPointermove);\n this.parent.addToAnnotationStorage(this);\n }\n\n __createCanvas() {\n this.canvas = document.createElement(\"canvas\");\n this.canvas.width = this.canvas.height = 0;\n this.canvas.className = \"inkEditorCanvas\";\n\n InkEditor._l10nPromise.get(\"editor_ink_canvas_aria_label\").then(msg => this.canvas?.setAttribute(\"aria-label\", msg));\n\n this.div.append(this.canvas);\n this.ctx = this.canvas.getContext(\"2d\");\n }\n\n __createObserver() {\n this.#observer = new ResizeObserver(entries => {\n const rect = entries[0].contentRect;\n\n if (rect.width && rect.height) {\n this.setDimensions(rect.width, rect.height);\n }\n });\n this.#observer.observe(this.div);\n }\n\n render() {\n if (this.div) {\n return this.div;\n }\n\n let baseX, baseY;\n\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n\n super.render();\n\n InkEditor._l10nPromise.get(\"editor_ink_aria_label\").then(msg => this.div?.setAttribute(\"aria-label\", msg));\n\n const [x, y, w, h] = this.__getInitialBBox();\n this.setAt(x, y, 0, 0);\n this.setDims(w, h);\n this.__createCanvas();\n\n if (this.width) {\n const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions;\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n this.#isCanvasInitialized = true;\n this.__setCanvasDims();\n this.setDims(this.width * parentWidth, this.height * parentHeight);\n this.__redraw();\n this.__setMinDims();\n this.div.classList.add(\"disabled\");\n } else {\n this.div.classList.add(\"editing\");\n this.enableEditMode();\n }\n\n this.__createObserver();\n return this.div;\n }\n\n __setCanvasDims() {\n if (!this.#isCanvasInitialized) {\n return;\n }\n\n const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions;\n this.canvas.width = Math.ceil(this.width * parentWidth);\n this.canvas.height = Math.ceil(this.height * parentHeight);\n this.__updateTransform();\n }\n\n setDimensions(width, height) {\n const roundedWidth = Math.round(width);\n const roundedHeight = Math.round(height);\n\n if (this.#realWidth === roundedWidth && this.#realHeight === roundedHeight) {\n return;\n }\n\n this.#realWidth = roundedWidth;\n this.#realHeight = roundedHeight;\n this.canvas.style.visibility = \"hidden\";\n\n if (this.#aspectRatio && Math.abs(this.#aspectRatio - width / height) > 1e-2) {\n height = Math.ceil(width / this.#aspectRatio);\n this.setDims(width, height);\n }\n\n const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n\n if (this.#disableEditing) {\n this.__setScaleFactor(width, height);\n }\n\n this.__setCanvasDims();\n this.__redraw();\n this.canvas.style.visibility = \"visible\";\n }\n\n __setScaleFactor(width, height) {\n const padding = this.__getPadding();\n const scaleFactorW = (width - padding) / this.#baseWidth;\n const scaleFactorH = (height - padding) / this.#baseHeight;\n this.scaleFactor = Math.min(scaleFactorW, scaleFactorH);\n }\n\n __updateTransform() {\n const padding = this.__getPadding() / 2;\n this.ctx.setTransform(this.scaleFactor, 0, 0, this.scaleFactor, this.translationX * this.scaleFactor + padding, this.translationY * this.scaleFactor + padding);\n }\n\n static __buildPath2D(bezier) {\n const path2D = new Path2D();\n\n for (let i = 0, ii = bezier.length; i < ii; i++) {\n const [first, control1, control2, second] = bezier[i];\n\n if (i === 0) {\n path2D.moveTo(...first);\n }\n\n path2D.bezierCurveTo(control1[0], control1[1], control2[0], control2[1], second[0], second[1]);\n }\n\n return path2D;\n }\n\n __serializePaths(s, tx, ty, h) {\n const NUMBER_OF_POINTS_ON_BEZIER_CURVE = 4;\n const paths = [];\n const padding = this.thickness / 2;\n let buffer, points;\n\n for (const bezier of this.paths) {\n buffer = [];\n points = [];\n\n for (let i = 0, ii = bezier.length; i < ii; i++) {\n const [first, control1, control2, second] = bezier[i];\n const p10 = s * (first[0] + tx) + padding;\n const p11 = h - s * (first[1] + ty) - padding;\n const p20 = s * (control1[0] + tx) + padding;\n const p21 = h - s * (control1[1] + ty) - padding;\n const p30 = s * (control2[0] + tx) + padding;\n const p31 = h - s * (control2[1] + ty) - padding;\n const p40 = s * (second[0] + tx) + padding;\n const p41 = h - s * (second[1] + ty) - padding;\n\n if (i === 0) {\n buffer.push(p10, p11);\n points.push(p10, p11);\n }\n\n buffer.push(p20, p21, p30, p31, p40, p41);\n this.__extractPointsOnBezier(p10, p11, p20, p21, p30, p31, p40, p41, NUMBER_OF_POINTS_ON_BEZIER_CURVE, points);\n }\n\n paths.push({\n bezier: buffer,\n points\n });\n }\n\n return paths;\n }\n\n __extractPointsOnBezier(p10, p11, p20, p21, p30, p31, p40, p41, n, points) {\n if (this.__isAlmostFlat(p10, p11, p20, p21, p30, p31, p40, p41)) {\n points.push(p40, p41);\n return;\n }\n\n for (let i = 1; i < n - 1; i++) {\n const t = i / n;\n const mt = 1 - t;\n let q10 = t * p10 + mt * p20;\n let q11 = t * p11 + mt * p21;\n let q20 = t * p20 + mt * p30;\n let q21 = t * p21 + mt * p31;\n const q30 = t * p30 + mt * p40;\n const q31 = t * p31 + mt * p41;\n q10 = t * q10 + mt * q20;\n q11 = t * q11 + mt * q21;\n q20 = t * q20 + mt * q30;\n q21 = t * q21 + mt * q31;\n q10 = t * q10 + mt * q20;\n q11 = t * q11 + mt * q21;\n points.push(q10, q11);\n }\n\n points.push(p40, p41);\n }\n\n __isAlmostFlat(p10, p11, p20, p21, p30, p31, p40, p41) {\n const tol = 10;\n const ax = (3 * p20 - 2 * p10 - p40) ** 2;\n const ay = (3 * p21 - 2 * p11 - p41) ** 2;\n const bx = (3 * p30 - p10 - 2 * p40) ** 2;\n const by = (3 * p31 - p11 - 2 * p41) ** 2;\n return Math.max(ax, bx) + Math.max(ay, by) <= tol;\n }\n\n __getBbox() {\n let xMin = Infinity;\n let xMax = -Infinity;\n let yMin = Infinity;\n let yMax = -Infinity;\n\n for (const path of this.paths) {\n for (const [first, control1, control2, second] of path) {\n const bbox = _util.Util.bezierBoundingBox(...first, ...control1, ...control2, ...second);\n\n xMin = Math.min(xMin, bbox[0]);\n yMin = Math.min(yMin, bbox[1]);\n xMax = Math.max(xMax, bbox[2]);\n yMax = Math.max(yMax, bbox[3]);\n }\n }\n\n return [xMin, yMin, xMax, yMax];\n }\n\n __getPadding() {\n return this.#disableEditing ? Math.ceil(this.thickness * this.parent.scaleFactor) : 0;\n }\n\n __fitToContent(firstTime = false) {\n if (this.isEmpty()) {\n return;\n }\n\n if (!this.#disableEditing) {\n this.__redraw();\n return;\n }\n\n const bbox = this.__getBbox();\n const padding = this.__getPadding();\n this.#baseWidth = Math.max(RESIZER_SIZE, bbox[2] - bbox[0]);\n this.#baseHeight = Math.max(RESIZER_SIZE, bbox[3] - bbox[1]);\n const width = Math.ceil(padding + this.#baseWidth * this.scaleFactor);\n const height = Math.ceil(padding + this.#baseHeight * this.scaleFactor);\n const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n this.#aspectRatio = width / height;\n this.__setMinDims();\n const prevTranslationX = this.translationX;\n const prevTranslationY = this.translationY;\n this.translationX = -bbox[0];\n this.translationY = -bbox[1];\n this.__setCanvasDims();\n this.__redraw();\n this.#realWidth = width;\n this.#realHeight = height;\n this.setDims(width, height);\n const unscaledPadding = firstTime ? padding / this.scaleFactor / 2 : 0;\n this.translate(prevTranslationX - this.translationX - unscaledPadding, prevTranslationY - this.translationY - unscaledPadding);\n }\n\n __setMinDims() {\n const {\n style\n } = this.div;\n\n if (this.#aspectRatio >= 1) {\n style.minHeight = `${RESIZER_SIZE}px`;\n style.minWidth = `${Math.round(this.#aspectRatio * RESIZER_SIZE)}px`;\n } else {\n style.minWidth = `${RESIZER_SIZE}px`;\n style.minHeight = `${Math.round(RESIZER_SIZE / this.#aspectRatio)}px`;\n }\n }\n\n static deserialize(data, parent) {\n const editor = super.deserialize(data, parent);\n editor.thickness = data.thickness;\n editor.color = _util.Util.makeHexColor(...data.color);\n editor.opacity = data.opacity;\n const [pageWidth, pageHeight] = parent.pageDimensions;\n const width = editor.width * pageWidth;\n const height = editor.height * pageHeight;\n const scaleFactor = parent.scaleFactor;\n const padding = data.thickness / 2;\n editor.#aspectRatio = width / height;\n editor.#disableEditing = true;\n editor.#realWidth = Math.round(width);\n editor.#realHeight = Math.round(height);\n\n for (const {\n bezier\n } of data.paths) {\n const path = [];\n editor.paths.push(path);\n let p0 = scaleFactor * (bezier[0] - padding);\n let p1 = scaleFactor * (height - bezier[1] - padding);\n\n for (let i = 2, ii = bezier.length; i < ii; i += 6) {\n const p10 = scaleFactor * (bezier[i] - padding);\n const p11 = scaleFactor * (height - bezier[i + 1] - padding);\n const p20 = scaleFactor * (bezier[i + 2] - padding);\n const p21 = scaleFactor * (height - bezier[i + 3] - padding);\n const p30 = scaleFactor * (bezier[i + 4] - padding);\n const p31 = scaleFactor * (height - bezier[i + 5] - padding);\n path.push([[p0, p1], [p10, p11], [p20, p21], [p30, p31]]);\n p0 = p30;\n p1 = p31;\n }\n\n const path2D = this.__buildPath2D(path);\n editor.bezierPath2D.push(path2D);\n }\n\n const bbox = editor.__getBbox();\n editor.#baseWidth = bbox[2] - bbox[0];\n editor.#baseHeight = bbox[3] - bbox[1];\n editor.__setScaleFactor(width, height);\n return editor;\n }\n\n serialize() {\n if (this.isEmpty()) {\n return null;\n }\n\n const rect = this.getRect(0, 0);\n const height = this.rotation % 180 === 0 ? rect[3] - rect[1] : rect[2] - rect[0];\n\n const color = _editor.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);\n\n return {\n annotationType: _util.AnnotationEditorType.INK,\n color,\n thickness: this.thickness,\n opacity: this.opacity,\n paths: this.__serializePaths(this.scaleFactor / this.parent.scaleFactor, this.translationX, this.translationY, height),\n pageIndex: this.parent.pageIndex,\n rect,\n rotation: this.rotation\n };\n }\n\n}\n\nexports.InkEditor = InkEditor;\n\n/***/ }),\n/* 25 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.fitCurve = void 0;\n\nconst fitCurve = __w_pdfjs_require__(26);\n\nexports.fitCurve = fitCurve;\n\n/***/ }),\n/* 26 */\n/***/ ((module) => {\n\n\n\nfunction fitCurve(points, maxError, progressCallback) {\n if (!Array.isArray(points)) {\n throw new TypeError(\"First argument should be an array\");\n }\n\n points.forEach(point => {\n if (!Array.isArray(point) || point.some(item => typeof item !== 'number') || point.length !== points[0].length) {\n throw Error(\"Each point should be an array of numbers. Each point should have the same amount of numbers.\");\n }\n });\n points = points.filter((point, i) => i === 0 || !point.every((val, j) => val === points[i - 1][j]));\n\n if (points.length < 2) {\n return [];\n }\n\n const len = points.length;\n const leftTangent = createTangent(points[1], points[0]);\n const rightTangent = createTangent(points[len - 2], points[len - 1]);\n return fitCubic(points, leftTangent, rightTangent, maxError, progressCallback);\n}\n\nfunction fitCubic(points, leftTangent, rightTangent, error, progressCallback) {\n const MaxIterations = 20;\n var bezCurve, u, uPrime, maxError, prevErr, splitPoint, prevSplit, centerVector, toCenterTangent, fromCenterTangent, beziers, dist, i;\n\n if (points.length === 2) {\n dist = maths.vectorLen(maths.subtract(points[0], points[1])) / 3.0;\n bezCurve = [points[0], maths.addArrays(points[0], maths.mulItems(leftTangent, dist)), maths.addArrays(points[1], maths.mulItems(rightTangent, dist)), points[1]];\n return [bezCurve];\n }\n\n u = chordLengthParameterize(points);\n [bezCurve, maxError, splitPoint] = generateAndReport(points, u, u, leftTangent, rightTangent, progressCallback);\n\n if (maxError === 0 || maxError < error) {\n return [bezCurve];\n }\n\n if (maxError < error * error) {\n uPrime = u;\n prevErr = maxError;\n prevSplit = splitPoint;\n\n for (i = 0; i < MaxIterations; i++) {\n uPrime = reparameterize(bezCurve, points, uPrime);\n [bezCurve, maxError, splitPoint] = generateAndReport(points, u, uPrime, leftTangent, rightTangent, progressCallback);\n\n if (maxError < error) {\n return [bezCurve];\n } else if (splitPoint === prevSplit) {\n let errChange = maxError / prevErr;\n\n if (errChange > .9999 && errChange < 1.0001) {\n break;\n }\n }\n\n prevErr = maxError;\n prevSplit = splitPoint;\n }\n }\n\n beziers = [];\n centerVector = maths.subtract(points[splitPoint - 1], points[splitPoint + 1]);\n\n if (centerVector.every(val => val === 0)) {\n centerVector = maths.subtract(points[splitPoint - 1], points[splitPoint]);\n [centerVector[0], centerVector[1]] = [-centerVector[1], centerVector[0]];\n }\n\n toCenterTangent = maths.normalize(centerVector);\n fromCenterTangent = maths.mulItems(toCenterTangent, -1);\n beziers = beziers.concat(fitCubic(points.slice(0, splitPoint + 1), leftTangent, toCenterTangent, error, progressCallback));\n beziers = beziers.concat(fitCubic(points.slice(splitPoint), fromCenterTangent, rightTangent, error, progressCallback));\n return beziers;\n}\n\n;\n\nfunction generateAndReport(points, paramsOrig, paramsPrime, leftTangent, rightTangent, progressCallback) {\n var bezCurve, maxError, splitPoint;\n bezCurve = generateBezier(points, paramsPrime, leftTangent, rightTangent, progressCallback);\n [maxError, splitPoint] = computeMaxError(points, bezCurve, paramsOrig);\n\n if (progressCallback) {\n progressCallback({\n bez: bezCurve,\n points: points,\n params: paramsOrig,\n maxErr: maxError,\n maxPoint: splitPoint\n });\n }\n\n return [bezCurve, maxError, splitPoint];\n}\n\nfunction generateBezier(points, parameters, leftTangent, rightTangent) {\n var bezCurve,\n A,\n a,\n C,\n X,\n det_C0_C1,\n det_C0_X,\n det_X_C1,\n alpha_l,\n alpha_r,\n epsilon,\n segLength,\n i,\n len,\n tmp,\n u,\n ux,\n firstPoint = points[0],\n lastPoint = points[points.length - 1];\n bezCurve = [firstPoint, null, null, lastPoint];\n A = maths.zeros_Xx2x2(parameters.length);\n\n for (i = 0, len = parameters.length; i < len; i++) {\n u = parameters[i];\n ux = 1 - u;\n a = A[i];\n a[0] = maths.mulItems(leftTangent, 3 * u * (ux * ux));\n a[1] = maths.mulItems(rightTangent, 3 * ux * (u * u));\n }\n\n C = [[0, 0], [0, 0]];\n X = [0, 0];\n\n for (i = 0, len = points.length; i < len; i++) {\n u = parameters[i];\n a = A[i];\n C[0][0] += maths.dot(a[0], a[0]);\n C[0][1] += maths.dot(a[0], a[1]);\n C[1][0] += maths.dot(a[0], a[1]);\n C[1][1] += maths.dot(a[1], a[1]);\n tmp = maths.subtract(points[i], bezier.q([firstPoint, firstPoint, lastPoint, lastPoint], u));\n X[0] += maths.dot(a[0], tmp);\n X[1] += maths.dot(a[1], tmp);\n }\n\n det_C0_C1 = C[0][0] * C[1][1] - C[1][0] * C[0][1];\n det_C0_X = C[0][0] * X[1] - C[1][0] * X[0];\n det_X_C1 = X[0] * C[1][1] - X[1] * C[0][1];\n alpha_l = det_C0_C1 === 0 ? 0 : det_X_C1 / det_C0_C1;\n alpha_r = det_C0_C1 === 0 ? 0 : det_C0_X / det_C0_C1;\n segLength = maths.vectorLen(maths.subtract(firstPoint, lastPoint));\n epsilon = 1.0e-6 * segLength;\n\n if (alpha_l < epsilon || alpha_r < epsilon) {\n bezCurve[1] = maths.addArrays(firstPoint, maths.mulItems(leftTangent, segLength / 3.0));\n bezCurve[2] = maths.addArrays(lastPoint, maths.mulItems(rightTangent, segLength / 3.0));\n } else {\n bezCurve[1] = maths.addArrays(firstPoint, maths.mulItems(leftTangent, alpha_l));\n bezCurve[2] = maths.addArrays(lastPoint, maths.mulItems(rightTangent, alpha_r));\n }\n\n return bezCurve;\n}\n\n;\n\nfunction reparameterize(bezier, points, parameters) {\n return parameters.map((p, i) => newtonRaphsonRootFind(bezier, points[i], p));\n}\n\n;\n\nfunction newtonRaphsonRootFind(bez, point, u) {\n var d = maths.subtract(bezier.q(bez, u), point),\n qprime = bezier.qprime(bez, u),\n numerator = maths.mulMatrix(d, qprime),\n denominator = maths.sum(maths.squareItems(qprime)) + 2 * maths.mulMatrix(d, bezier.qprimeprime(bez, u));\n\n if (denominator === 0) {\n return u;\n } else {\n return u - numerator / denominator;\n }\n}\n\n;\n\nfunction chordLengthParameterize(points) {\n var u = [],\n currU,\n prevU,\n prevP;\n points.forEach((p, i) => {\n currU = i ? prevU + maths.vectorLen(maths.subtract(p, prevP)) : 0;\n u.push(currU);\n prevU = currU;\n prevP = p;\n });\n u = u.map(x => x / prevU);\n return u;\n}\n\n;\n\nfunction computeMaxError(points, bez, parameters) {\n var dist, maxDist, splitPoint, v, i, count, point, t;\n maxDist = 0;\n splitPoint = Math.floor(points.length / 2);\n const t_distMap = mapTtoRelativeDistances(bez, 10);\n\n for (i = 0, count = points.length; i < count; i++) {\n point = points[i];\n t = find_t(bez, parameters[i], t_distMap, 10);\n v = maths.subtract(bezier.q(bez, t), point);\n dist = v[0] * v[0] + v[1] * v[1];\n\n if (dist > maxDist) {\n maxDist = dist;\n splitPoint = i;\n }\n }\n\n return [maxDist, splitPoint];\n}\n\n;\n\nvar mapTtoRelativeDistances = function (bez, B_parts) {\n var B_t_curr;\n var B_t_dist = [0];\n var B_t_prev = bez[0];\n var sumLen = 0;\n\n for (var i = 1; i <= B_parts; i++) {\n B_t_curr = bezier.q(bez, i / B_parts);\n sumLen += maths.vectorLen(maths.subtract(B_t_curr, B_t_prev));\n B_t_dist.push(sumLen);\n B_t_prev = B_t_curr;\n }\n\n B_t_dist = B_t_dist.map(x => x / sumLen);\n return B_t_dist;\n};\n\nfunction find_t(bez, param, t_distMap, B_parts) {\n if (param < 0) {\n return 0;\n }\n\n if (param > 1) {\n return 1;\n }\n\n var lenMax, lenMin, tMax, tMin, t;\n\n for (var i = 1; i <= B_parts; i++) {\n if (param <= t_distMap[i]) {\n tMin = (i - 1) / B_parts;\n tMax = i / B_parts;\n lenMin = t_distMap[i - 1];\n lenMax = t_distMap[i];\n t = (param - lenMin) / (lenMax - lenMin) * (tMax - tMin) + tMin;\n break;\n }\n }\n\n return t;\n}\n\nfunction createTangent(pointA, pointB) {\n return maths.normalize(maths.subtract(pointA, pointB));\n}\n\nclass maths {\n static zeros_Xx2x2(x) {\n var zs = [];\n\n while (x--) {\n zs.push([0, 0]);\n }\n\n return zs;\n }\n\n static mulItems(items, multiplier) {\n return items.map(x => x * multiplier);\n }\n\n static mulMatrix(m1, m2) {\n return m1.reduce((sum, x1, i) => sum + x1 * m2[i], 0);\n }\n\n static subtract(arr1, arr2) {\n return arr1.map((x1, i) => x1 - arr2[i]);\n }\n\n static addArrays(arr1, arr2) {\n return arr1.map((x1, i) => x1 + arr2[i]);\n }\n\n static addItems(items, addition) {\n return items.map(x => x + addition);\n }\n\n static sum(items) {\n return items.reduce((sum, x) => sum + x);\n }\n\n static dot(m1, m2) {\n return maths.mulMatrix(m1, m2);\n }\n\n static vectorLen(v) {\n return Math.hypot(...v);\n }\n\n static divItems(items, divisor) {\n return items.map(x => x / divisor);\n }\n\n static squareItems(items) {\n return items.map(x => x * x);\n }\n\n static normalize(v) {\n return this.divItems(v, this.vectorLen(v));\n }\n\n}\n\nclass bezier {\n static q(ctrlPoly, t) {\n var tx = 1.0 - t;\n var pA = maths.mulItems(ctrlPoly[0], tx * tx * tx),\n pB = maths.mulItems(ctrlPoly[1], 3 * tx * tx * t),\n pC = maths.mulItems(ctrlPoly[2], 3 * tx * t * t),\n pD = maths.mulItems(ctrlPoly[3], t * t * t);\n return maths.addArrays(maths.addArrays(pA, pB), maths.addArrays(pC, pD));\n }\n\n static qprime(ctrlPoly, t) {\n var tx = 1.0 - t;\n var pA = maths.mulItems(maths.subtract(ctrlPoly[1], ctrlPoly[0]), 3 * tx * tx),\n pB = maths.mulItems(maths.subtract(ctrlPoly[2], ctrlPoly[1]), 6 * tx * t),\n pC = maths.mulItems(maths.subtract(ctrlPoly[3], ctrlPoly[2]), 3 * t * t);\n return maths.addArrays(maths.addArrays(pA, pB), pC);\n }\n\n static qprimeprime(ctrlPoly, t) {\n return maths.addArrays(maths.mulItems(maths.addArrays(maths.subtract(ctrlPoly[2], maths.mulItems(ctrlPoly[1], 2)), ctrlPoly[0]), 6 * (1.0 - t)), maths.mulItems(maths.addArrays(maths.subtract(ctrlPoly[3], maths.mulItems(ctrlPoly[2], 2)), ctrlPoly[1]), 6 * t));\n }\n\n}\n\nmodule.exports = fitCurve;\nmodule.exports.fitCubic = fitCubic;\nmodule.exports.createTangent = createTangent;\n\n/***/ }),\n/* 27 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationLayer = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(4);\n\nvar _annotation_storage = __w_pdfjs_require__(7);\n\nvar _scripting_utils = __w_pdfjs_require__(28);\n\nvar _xfa_layer = __w_pdfjs_require__(29);\n\nconst DEFAULT_TAB_INDEX = 1000;\nconst DEFAULT_FONT_SIZE = 9;\nconst GetElementsByNameSet = new WeakSet();\n\nfunction getRectDims(rect) {\n return {\n width: rect[2] - rect[0],\n height: rect[3] - rect[1]\n };\n}\n\nclass AnnotationElementFactory {\n static create(parameters) {\n const subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n const fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n\n}\n\nclass AnnotationElement {\n constructor(parameters, {\n isRenderable = false,\n ignoreBorder = false,\n createQuadrilaterals = false\n } = {}) {\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderForms = parameters.renderForms;\n this.svgFactory = parameters.svgFactory;\n this.annotationStorage = parameters.annotationStorage;\n this.enableScripting = parameters.enableScripting;\n this.hasJSActions = parameters.hasJSActions;\n this._fieldObjects = parameters.fieldObjects;\n this._mouseState = parameters.mouseState;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n\n if (createQuadrilaterals) {\n this.quadrilaterals = this._createQuadrilaterals(ignoreBorder);\n }\n }\n\n _createContainer(ignoreBorder = false) {\n const data = this.data,\n page = this.page,\n viewport = this.viewport;\n const container = document.createElement(\"section\");\n const {\n width,\n height\n } = getRectDims(data.rect);\n const [pageLLx, pageLLy, pageURx, pageURy] = viewport.viewBox;\n const pageWidth = pageURx - pageLLx;\n const pageHeight = pageURy - pageLLy;\n container.setAttribute(\"data-annotation-id\", data.id);\n\n const rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = `${data.borderStyle.width}px`;\n const horizontalRadius = data.borderStyle.horizontalCornerRadius;\n const verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n const radius = `calc(${horizontalRadius}px * var(--scale-factor)) / calc(${verticalRadius}px * var(--scale-factor))`;\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n\n default:\n break;\n }\n\n const borderColor = data.borderColor || null;\n\n if (borderColor) {\n container.style.borderColor = _util.Util.makeHexColor(borderColor[0] | 0, borderColor[1] | 0, borderColor[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = `${100 * (rect[0] - pageLLx) / pageWidth}%`;\n container.style.top = `${100 * (rect[1] - pageLLy) / pageHeight}%`;\n const {\n rotation\n } = data;\n\n if (data.hasOwnCanvas || rotation === 0) {\n container.style.width = `${100 * width / pageWidth}%`;\n container.style.height = `${100 * height / pageHeight}%`;\n } else {\n this.setRotation(rotation, container);\n }\n\n return container;\n }\n\n setRotation(angle, container = this.container) {\n const [pageLLx, pageLLy, pageURx, pageURy] = this.viewport.viewBox;\n const pageWidth = pageURx - pageLLx;\n const pageHeight = pageURy - pageLLy;\n const {\n width,\n height\n } = getRectDims(this.data.rect);\n let elementWidth, elementHeight;\n\n if (angle % 180 === 0) {\n elementWidth = 100 * width / pageWidth;\n elementHeight = 100 * height / pageHeight;\n } else {\n elementWidth = 100 * height / pageWidth;\n elementHeight = 100 * width / pageHeight;\n }\n\n container.style.width = `${elementWidth}%`;\n container.style.height = `${elementHeight}%`;\n container.setAttribute(\"data-main-rotation\", (360 - angle) % 360);\n }\n\n get _commonActions() {\n const setColor = (jsName, styleName, event) => {\n const color = event.detail[jsName];\n event.target.style[styleName] = _scripting_utils.ColorConverters[`${color[0]}_HTML`](color.slice(1));\n };\n\n return (0, _util.shadow)(this, \"_commonActions\", {\n display: event => {\n const hidden = event.detail.display % 2 === 1;\n this.container.style.visibility = hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n hidden,\n print: event.detail.display === 0 || event.detail.display === 3\n });\n },\n print: event => {\n this.annotationStorage.setValue(this.data.id, {\n print: event.detail.print\n });\n },\n hidden: event => {\n this.container.style.visibility = event.detail.hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n hidden: event.detail.hidden\n });\n },\n focus: event => {\n setTimeout(() => event.target.focus({\n preventScroll: false\n }), 0);\n },\n userName: event => {\n event.target.title = event.detail.userName;\n },\n readonly: event => {\n if (event.detail.readonly) {\n event.target.setAttribute(\"readonly\", \"\");\n } else {\n event.target.removeAttribute(\"readonly\");\n }\n },\n required: event => {\n this._setRequired(event.target, event.detail.required);\n },\n bgColor: event => {\n setColor(\"bgColor\", \"backgroundColor\", event);\n },\n fillColor: event => {\n setColor(\"fillColor\", \"backgroundColor\", event);\n },\n fgColor: event => {\n setColor(\"fgColor\", \"color\", event);\n },\n textColor: event => {\n setColor(\"textColor\", \"color\", event);\n },\n borderColor: event => {\n setColor(\"borderColor\", \"borderColor\", event);\n },\n strokeColor: event => {\n setColor(\"strokeColor\", \"borderColor\", event);\n },\n rotation: event => {\n const angle = event.detail.rotation;\n this.setRotation(angle);\n this.annotationStorage.setValue(this.data.id, {\n rotation: angle\n });\n }\n });\n }\n\n _dispatchEventFromSandbox(actions, jsEvent) {\n const commonActions = this._commonActions;\n\n for (const name of Object.keys(jsEvent.detail)) {\n const action = actions[name] || commonActions[name];\n\n if (action) {\n action(jsEvent);\n }\n }\n }\n\n _setDefaultPropertiesFromJS(element) {\n if (!this.enableScripting) {\n return;\n }\n\n const storedData = this.annotationStorage.getRawValue(this.data.id);\n\n if (!storedData) {\n return;\n }\n\n const commonActions = this._commonActions;\n\n for (const [actionName, detail] of Object.entries(storedData)) {\n const action = commonActions[actionName];\n\n if (action) {\n action({\n detail,\n target: element\n });\n delete storedData[actionName];\n }\n }\n }\n\n _createQuadrilaterals(ignoreBorder = false) {\n if (!this.data.quadPoints) {\n return null;\n }\n\n const quadrilaterals = [];\n const savedRect = this.data.rect;\n\n for (const quadPoint of this.data.quadPoints) {\n this.data.rect = [quadPoint[2].x, quadPoint[2].y, quadPoint[1].x, quadPoint[1].y];\n quadrilaterals.push(this._createContainer(ignoreBorder));\n }\n\n this.data.rect = savedRect;\n return quadrilaterals;\n }\n\n _createPopup(trigger, data) {\n let container = this.container;\n\n if (this.quadrilaterals) {\n trigger = trigger || this.quadrilaterals;\n container = this.quadrilaterals[0];\n }\n\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.className = \"popupTriggerArea\";\n container.append(trigger);\n }\n\n const popupElement = new PopupElement({\n container,\n trigger,\n color: data.color,\n titleObj: data.titleObj,\n modificationDate: data.modificationDate,\n contentsObj: data.contentsObj,\n richText: data.richText,\n hideWrapper: true\n });\n const popup = popupElement.render();\n popup.style.left = \"100%\";\n container.append(popup);\n }\n\n _renderQuadrilaterals(className) {\n for (const quadrilateral of this.quadrilaterals) {\n quadrilateral.className = className;\n }\n\n return this.quadrilaterals;\n }\n\n render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n\n _getElementsByName(name, skipId = null) {\n const fields = [];\n\n if (this._fieldObjects) {\n const fieldObj = this._fieldObjects[name];\n\n if (fieldObj) {\n for (const {\n page,\n id,\n exportValues\n } of fieldObj) {\n if (page === -1) {\n continue;\n }\n\n if (id === skipId) {\n continue;\n }\n\n const exportValue = typeof exportValues === \"string\" ? exportValues : null;\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n\n if (domElement && !GetElementsByNameSet.has(domElement)) {\n (0, _util.warn)(`_getElementsByName - element not allowed: ${id}`);\n continue;\n }\n\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n }\n\n return fields;\n }\n\n for (const domElement of document.getElementsByName(name)) {\n const {\n id,\n exportValue\n } = domElement;\n\n if (id === skipId) {\n continue;\n }\n\n if (!GetElementsByNameSet.has(domElement)) {\n continue;\n }\n\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n\n return fields;\n }\n\n static get platform() {\n const platform = typeof navigator !== \"undefined\" ? navigator.platform : \"\";\n return (0, _util.shadow)(this, \"platform\", {\n isWin: platform.includes(\"Win\"),\n isMac: platform.includes(\"Mac\")\n });\n }\n\n}\n\nclass LinkAnnotationElement extends AnnotationElement {\n constructor(parameters, options = null) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: !!options?.ignoreBorder,\n createQuadrilaterals: true\n });\n this.isTooltipOnly = parameters.data.isTooltipOnly;\n }\n\n render() {\n const {\n data,\n linkService\n } = this;\n const link = document.createElement(\"a\");\n link.setAttribute(\"data-element-id\", data.id);\n let isBound = false;\n\n if (data.url) {\n linkService.addLinkAttributes(link, data.url, data.newWindow);\n isBound = true;\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n\n isBound = true;\n } else if (data.dest) {\n this._bindLink(link, data.dest);\n\n isBound = true;\n } else {\n if (data.actions && (data.actions.Action || data.actions[\"Mouse Up\"] || data.actions[\"Mouse Down\"]) && this.enableScripting && this.hasJSActions) {\n this._bindJSAction(link, data);\n\n isBound = true;\n }\n\n if (data.resetForm) {\n this._bindResetFormAction(link, data.resetForm);\n\n isBound = true;\n } else if (this.isTooltipOnly && !isBound) {\n this._bindLink(link, \"\");\n\n isBound = true;\n }\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"linkAnnotation\").map((quadrilateral, index) => {\n const linkElement = index === 0 ? link : link.cloneNode();\n quadrilateral.append(linkElement);\n return quadrilateral;\n });\n }\n\n this.container.className = \"linkAnnotation\";\n\n if (isBound) {\n this.container.append(link);\n }\n\n return this.container;\n }\n\n _bindLink(link, destination) {\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = () => {\n if (destination) {\n this.linkService.goToDestination(destination);\n }\n\n return false;\n };\n\n if (destination || destination === \"\") {\n link.className = \"internalLink\";\n }\n }\n\n _bindNamedAction(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n\n link.onclick = () => {\n this.linkService.executeNamedAction(action);\n return false;\n };\n\n link.className = \"internalLink\";\n }\n\n _bindJSAction(link, data) {\n link.href = this.linkService.getAnchorUrl(\"\");\n const map = new Map([[\"Action\", \"onclick\"], [\"Mouse Up\", \"onmouseup\"], [\"Mouse Down\", \"onmousedown\"]]);\n\n for (const name of Object.keys(data.actions)) {\n const jsName = map.get(name);\n\n if (!jsName) {\n continue;\n }\n\n link[jsName] = () => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: data.id,\n name\n }\n });\n return false;\n };\n }\n\n if (!link.onclick) {\n link.onclick = () => false;\n }\n\n link.className = \"internalLink\";\n }\n\n _bindResetFormAction(link, resetForm) {\n const otherClickAction = link.onclick;\n\n if (!otherClickAction) {\n link.href = this.linkService.getAnchorUrl(\"\");\n }\n\n link.className = \"internalLink\";\n\n if (!this._fieldObjects) {\n (0, _util.warn)(`_bindResetFormAction - \"resetForm\" action not supported, ` + \"ensure that the `fieldObjects` parameter is provided.\");\n\n if (!otherClickAction) {\n link.onclick = () => false;\n }\n\n return;\n }\n\n link.onclick = () => {\n if (otherClickAction) {\n otherClickAction();\n }\n\n const {\n fields: resetFormFields,\n refs: resetFormRefs,\n include\n } = resetForm;\n const allFields = [];\n\n if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) {\n const fieldIds = new Set(resetFormRefs);\n\n for (const fieldName of resetFormFields) {\n const fields = this._fieldObjects[fieldName] || [];\n\n for (const {\n id\n } of fields) {\n fieldIds.add(id);\n }\n }\n\n for (const fields of Object.values(this._fieldObjects)) {\n for (const field of fields) {\n if (fieldIds.has(field.id) === include) {\n allFields.push(field);\n }\n }\n }\n } else {\n for (const fields of Object.values(this._fieldObjects)) {\n allFields.push(...fields);\n }\n }\n\n const storage = this.annotationStorage;\n const allIds = [];\n\n for (const field of allFields) {\n const {\n id\n } = field;\n allIds.push(id);\n\n switch (field.type) {\n case \"text\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n\n case \"checkbox\":\n case \"radiobutton\":\n {\n const value = field.defaultValue === field.exportValues;\n storage.setValue(id, {\n value\n });\n break;\n }\n\n case \"combobox\":\n case \"listbox\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n\n default:\n continue;\n }\n\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n\n if (!domElement) {\n continue;\n } else if (!GetElementsByNameSet.has(domElement)) {\n (0, _util.warn)(`_bindResetFormAction - element not allowed: ${id}`);\n continue;\n }\n\n domElement.dispatchEvent(new Event(\"resetform\"));\n }\n\n if (this.enableScripting) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: \"app\",\n ids: allIds,\n name: \"ResetForm\"\n }\n });\n }\n\n return false;\n };\n }\n\n}\n\nclass TextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable\n });\n }\n\n render() {\n this.container.className = \"textAnnotation\";\n const image = document.createElement(\"img\");\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(image, this.data);\n }\n\n this.container.append(image);\n return this.container;\n }\n\n}\n\nclass WidgetAnnotationElement extends AnnotationElement {\n render() {\n if (this.data.alternativeText) {\n this.container.title = this.data.alternativeText;\n }\n\n return this.container;\n }\n\n _getKeyModifier(event) {\n const {\n isWin,\n isMac\n } = AnnotationElement.platform;\n return isWin && event.ctrlKey || isMac && event.metaKey;\n }\n\n _setEventListener(element, baseName, eventName, valueGetter) {\n if (baseName.includes(\"mouse\")) {\n element.addEventListener(baseName, event => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event),\n shift: event.shiftKey,\n modifier: this._getKeyModifier(event)\n }\n });\n });\n } else {\n element.addEventListener(baseName, event => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event)\n }\n });\n });\n }\n }\n\n _setEventListeners(element, names, getter) {\n for (const [baseName, eventName] of names) {\n if (eventName === \"Action\" || this.data.actions?.[eventName]) {\n this._setEventListener(element, baseName, eventName, getter);\n }\n }\n }\n\n _setBackgroundColor(element) {\n const color = this.data.backgroundColor || null;\n element.style.backgroundColor = color === null ? \"transparent\" : _util.Util.makeHexColor(color[0], color[1], color[2]);\n }\n\n _setTextStyle(element) {\n const TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n const {\n fontColor\n } = this.data.defaultAppearanceData;\n const fontSize = this.data.defaultAppearanceData.fontSize || DEFAULT_FONT_SIZE;\n const style = element.style;\n let computedFontSize;\n\n if (this.data.multiLine) {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1]);\n const numberOfLines = Math.round(height / (_util.LINE_FACTOR * fontSize)) || 1;\n const lineHeight = height / numberOfLines;\n computedFontSize = Math.min(fontSize, Math.round(lineHeight / _util.LINE_FACTOR));\n } else {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1]);\n computedFontSize = Math.min(fontSize, Math.round(height / _util.LINE_FACTOR));\n }\n\n style.fontSize = `calc(${computedFontSize}px * var(--scale-factor))`;\n style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);\n\n if (this.data.textAlignment !== null) {\n style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n }\n\n _setRequired(element, isRequired) {\n if (isRequired) {\n element.setAttribute(\"required\", true);\n } else {\n element.removeAttribute(\"required\");\n }\n\n element.setAttribute(\"aria-required\", isRequired);\n }\n\n}\n\nclass TextWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n const isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n super(parameters, {\n isRenderable\n });\n }\n\n setPropertyOnSiblings(base, key, value, keyInStorage) {\n const storage = this.annotationStorage;\n\n for (const element of this._getElementsByName(base.name, base.id)) {\n if (element.domElement) {\n element.domElement[key] = value;\n }\n\n storage.setValue(element.id, {\n [keyInStorage]: value\n });\n }\n }\n\n render() {\n const storage = this.annotationStorage;\n const id = this.data.id;\n this.container.className = \"textWidgetAnnotation\";\n let element = null;\n\n if (this.renderForms) {\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n const textContent = storedData.formattedValue || storedData.value || \"\";\n const elementData = {\n userValue: textContent,\n formattedValue: null,\n valueOnFocus: \"\"\n };\n\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = textContent;\n\n if (this.data.doNotScroll) {\n element.style.overflowY = \"hidden\";\n }\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", textContent);\n\n if (this.data.doNotScroll) {\n element.style.overflowX = \"hidden\";\n }\n }\n\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n element.tabIndex = DEFAULT_TAB_INDEX;\n\n this._setRequired(element, this.data.required);\n\n element.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n this.setPropertyOnSiblings(element, \"value\", event.target.value, \"value\");\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue ?? \"\";\n element.value = elementData.userValue = defaultValue;\n elementData.formattedValue = null;\n });\n\n let blurListener = event => {\n const {\n formattedValue\n } = elementData;\n\n if (formattedValue !== null && formattedValue !== undefined) {\n event.target.value = formattedValue;\n }\n\n event.target.scrollLeft = 0;\n };\n\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"focus\", event => {\n if (elementData.userValue) {\n event.target.value = elementData.userValue;\n }\n\n elementData.valueOnFocus = event.target.value;\n });\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n elementData.userValue = event.detail.value ?? \"\";\n storage.setValue(id, {\n value: elementData.userValue.toString()\n });\n event.target.value = elementData.userValue;\n },\n\n formattedValue(event) {\n const {\n formattedValue\n } = event.detail;\n elementData.formattedValue = formattedValue;\n\n if (formattedValue !== null && formattedValue !== undefined && event.target !== document.activeElement) {\n event.target.value = formattedValue;\n }\n\n storage.setValue(id, {\n formattedValue\n });\n },\n\n selRange(event) {\n event.target.setSelectionRange(...event.detail.selRange);\n }\n\n };\n\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n element.addEventListener(\"keydown\", event => {\n let commitKey = -1;\n\n if (event.key === \"Escape\") {\n commitKey = 0;\n } else if (event.key === \"Enter\") {\n commitKey = 2;\n } else if (event.key === \"Tab\") {\n commitKey = 3;\n }\n\n if (commitKey === -1) {\n return;\n }\n\n const {\n value\n } = event.target;\n\n if (elementData.valueOnFocus === value) {\n return;\n }\n\n elementData.userValue = value;\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n });\n const _blurListener = blurListener;\n blurListener = null;\n element.addEventListener(\"blur\", event => {\n const {\n value\n } = event.target;\n elementData.userValue = value;\n\n if (this._mouseState.isDown && elementData.valueOnFocus !== value) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: 1,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n }\n\n _blurListener(event);\n });\n\n if (this.data.actions?.Keystroke) {\n element.addEventListener(\"beforeinput\", event => {\n const {\n data,\n target\n } = event;\n const {\n value,\n selectionStart,\n selectionEnd\n } = target;\n let selStart = selectionStart,\n selEnd = selectionEnd;\n\n switch (event.inputType) {\n case \"deleteWordBackward\":\n {\n const match = value.substring(0, selectionStart).match(/\\w*[^\\w]*$/);\n\n if (match) {\n selStart -= match[0].length;\n }\n\n break;\n }\n\n case \"deleteWordForward\":\n {\n const match = value.substring(selectionStart).match(/^[^\\w]*\\w*/);\n\n if (match) {\n selEnd += match[0].length;\n }\n\n break;\n }\n\n case \"deleteContentBackward\":\n if (selectionStart === selectionEnd) {\n selStart -= 1;\n }\n\n break;\n\n case \"deleteContentForward\":\n if (selectionStart === selectionEnd) {\n selEnd += 1;\n }\n\n break;\n }\n\n event.preventDefault();\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n change: data || \"\",\n willCommit: false,\n selStart,\n selEnd\n }\n });\n });\n }\n\n this._setEventListeners(element, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.value);\n }\n\n if (blurListener) {\n element.addEventListener(\"blur\", blurListener);\n }\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n\n if (this.data.comb) {\n const fieldWidth = this.data.rect[2] - this.data.rect[0];\n const combWidth = fieldWidth / this.data.maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = `calc(${combWidth}px * var(--scale-factor) - 1ch)`;\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n }\n\n this._setTextStyle(element);\n\n this._setBackgroundColor(element);\n\n this._setDefaultPropertiesFromJS(element);\n\n this.container.append(element);\n return this.container;\n }\n\n}\n\nclass CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n\n render() {\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.exportValue === data.fieldValue\n }).value;\n\n if (typeof value === \"string\") {\n value = value !== \"Off\";\n storage.setValue(id, {\n value\n });\n }\n\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n\n this._setRequired(element, this.data.required);\n\n element.type = \"checkbox\";\n element.name = data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.setAttribute(\"exportValue\", data.exportValue);\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n\n for (const checkbox of this._getElementsByName(name, id)) {\n const curChecked = checked && checkbox.exportValue === data.exportValue;\n\n if (checkbox.domElement) {\n checkbox.domElement.checked = curChecked;\n }\n\n storage.setValue(checkbox.id, {\n value: curChecked\n });\n }\n\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue || \"Off\";\n event.target.checked = defaultValue === data.exportValue;\n });\n\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n event.target.checked = event.detail.value !== \"Off\";\n storage.setValue(id, {\n value: event.target.checked\n });\n }\n\n };\n\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n\n this._setEventListeners(element, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n\n this._setBackgroundColor(element);\n\n this._setDefaultPropertiesFromJS(element);\n\n this.container.append(element);\n return this.container;\n }\n\n}\n\nclass RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n\n render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.fieldValue === data.buttonValue\n }).value;\n\n if (typeof value === \"string\") {\n value = value !== data.buttonValue;\n storage.setValue(id, {\n value\n });\n }\n\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n\n this._setRequired(element, this.data.required);\n\n element.type = \"radio\";\n element.name = data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n\n for (const radio of this._getElementsByName(name, id)) {\n storage.setValue(radio.id, {\n value: false\n });\n }\n\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue;\n event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue;\n });\n\n if (this.enableScripting && this.hasJSActions) {\n const pdfButtonValue = data.buttonValue;\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value: event => {\n const checked = pdfButtonValue === event.detail.value;\n\n for (const radio of this._getElementsByName(event.target.name)) {\n const curChecked = checked && radio.id === id;\n\n if (radio.domElement) {\n radio.domElement.checked = curChecked;\n }\n\n storage.setValue(radio.id, {\n value: curChecked\n });\n }\n }\n };\n\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n\n this._setEventListeners(element, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n\n this._setBackgroundColor(element);\n\n this._setDefaultPropertiesFromJS(element);\n\n this.container.append(element);\n return this.container;\n }\n\n}\n\nclass PushButtonWidgetAnnotationElement extends LinkAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n ignoreBorder: parameters.data.hasAppearance\n });\n }\n\n render() {\n const container = super.render();\n container.className = \"buttonWidgetAnnotation pushButton\";\n\n if (this.data.alternativeText) {\n container.title = this.data.alternativeText;\n }\n\n const linkElement = container.lastChild;\n\n if (this.enableScripting && this.hasJSActions && linkElement) {\n this._setDefaultPropertiesFromJS(linkElement);\n\n linkElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n this._dispatchEventFromSandbox({}, jsEvent);\n });\n }\n\n return container;\n }\n\n}\n\nclass ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n\n render() {\n this.container.className = \"choiceWidgetAnnotation\";\n const storage = this.annotationStorage;\n const id = this.data.id;\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n const selectElement = document.createElement(\"select\");\n GetElementsByNameSet.add(selectElement);\n selectElement.setAttribute(\"data-element-id\", id);\n selectElement.disabled = this.data.readOnly;\n\n this._setRequired(selectElement, this.data.required);\n\n selectElement.name = this.data.fieldName;\n selectElement.tabIndex = DEFAULT_TAB_INDEX;\n let addAnEmptyEntry = this.data.combo && this.data.options.length > 0;\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n selectElement.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue;\n\n for (const option of selectElement.options) {\n option.selected = option.value === defaultValue;\n }\n });\n\n for (const option of this.data.options) {\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (storedData.value.includes(option.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n addAnEmptyEntry = false;\n }\n\n selectElement.append(optionElement);\n }\n\n let removeEmptyEntry = null;\n\n if (addAnEmptyEntry) {\n const noneOptionElement = document.createElement(\"option\");\n noneOptionElement.value = \" \";\n noneOptionElement.setAttribute(\"hidden\", true);\n noneOptionElement.setAttribute(\"selected\", true);\n selectElement.prepend(noneOptionElement);\n\n removeEmptyEntry = () => {\n noneOptionElement.remove();\n selectElement.removeEventListener(\"input\", removeEmptyEntry);\n removeEmptyEntry = null;\n };\n\n selectElement.addEventListener(\"input\", removeEmptyEntry);\n }\n\n const getValue = (event, isExport) => {\n const name = isExport ? \"value\" : \"textContent\";\n const options = event.target.options;\n\n if (!event.target.multiple) {\n return options.selectedIndex === -1 ? null : options[options.selectedIndex][name];\n }\n\n return Array.prototype.filter.call(options, option => option.selected).map(option => option[name]);\n };\n\n const getItems = event => {\n const options = event.target.options;\n return Array.prototype.map.call(options, option => {\n return {\n displayValue: option.textContent,\n exportValue: option.value\n };\n });\n };\n\n if (this.enableScripting && this.hasJSActions) {\n selectElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n removeEmptyEntry?.();\n const value = event.detail.value;\n const values = new Set(Array.isArray(value) ? value : [value]);\n\n for (const option of selectElement.options) {\n option.selected = values.has(option.value);\n }\n\n storage.setValue(id, {\n value: getValue(event, true)\n });\n },\n\n multipleSelection(event) {\n selectElement.multiple = true;\n },\n\n remove(event) {\n const options = selectElement.options;\n const index = event.detail.remove;\n options[index].selected = false;\n selectElement.remove(index);\n\n if (options.length > 0) {\n const i = Array.prototype.findIndex.call(options, option => option.selected);\n\n if (i === -1) {\n options[0].selected = true;\n }\n }\n\n storage.setValue(id, {\n value: getValue(event, true),\n items: getItems(event)\n });\n },\n\n clear(event) {\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n\n storage.setValue(id, {\n value: null,\n items: []\n });\n },\n\n insert(event) {\n const {\n index,\n displayValue,\n exportValue\n } = event.detail.insert;\n const selectChild = selectElement.children[index];\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n\n if (selectChild) {\n selectChild.before(optionElement);\n } else {\n selectElement.append(optionElement);\n }\n\n storage.setValue(id, {\n value: getValue(event, true),\n items: getItems(event)\n });\n },\n\n items(event) {\n const {\n items\n } = event.detail;\n\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n\n for (const item of items) {\n const {\n displayValue,\n exportValue\n } = item;\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n selectElement.append(optionElement);\n }\n\n if (selectElement.options.length > 0) {\n selectElement.options[0].selected = true;\n }\n\n storage.setValue(id, {\n value: getValue(event, true),\n items: getItems(event)\n });\n },\n\n indices(event) {\n const indices = new Set(event.detail.indices);\n\n for (const option of event.target.options) {\n option.selected = indices.has(option.index);\n }\n\n storage.setValue(id, {\n value: getValue(event, true)\n });\n },\n\n editable(event) {\n event.target.disabled = !event.detail.editable;\n }\n\n };\n\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n selectElement.addEventListener(\"input\", event => {\n const exportValue = getValue(event, true);\n const value = getValue(event, false);\n storage.setValue(id, {\n value: exportValue\n });\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n changeEx: exportValue,\n willCommit: true,\n commitKey: 1,\n keyDown: false\n }\n });\n });\n\n this._setEventListeners(selectElement, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"], [\"input\", \"Action\"]], event => event.target.checked);\n } else {\n selectElement.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: getValue(event, true)\n });\n });\n }\n\n if (this.data.combo) {\n this._setTextStyle(selectElement);\n } else {}\n\n this._setBackgroundColor(selectElement);\n\n this._setDefaultPropertiesFromJS(selectElement);\n\n this.container.append(selectElement);\n return this.container;\n }\n\n}\n\nclass PopupAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable\n });\n }\n\n render() {\n const IGNORE_TYPES = [\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"];\n this.container.className = \"popupAnnotation\";\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n const selector = `[data-annotation-id=\"${this.data.parentId}\"]`;\n const parentElements = this.layer.querySelectorAll(selector);\n\n if (parentElements.length === 0) {\n return this.container;\n }\n\n const popup = new PopupElement({\n container: this.container,\n trigger: Array.from(parentElements),\n color: this.data.color,\n titleObj: this.data.titleObj,\n modificationDate: this.data.modificationDate,\n contentsObj: this.data.contentsObj,\n richText: this.data.richText\n });\n const page = this.page;\n\n const rect = _util.Util.normalizeRect([this.data.parentRect[0], page.view[3] - this.data.parentRect[1] + page.view[1], this.data.parentRect[2], page.view[3] - this.data.parentRect[3] + page.view[1]]);\n\n const popupLeft = rect[0] + this.data.parentRect[2] - this.data.parentRect[0];\n const popupTop = rect[1];\n const [pageLLx, pageLLy, pageURx, pageURy] = this.viewport.viewBox;\n const pageWidth = pageURx - pageLLx;\n const pageHeight = pageURy - pageLLy;\n this.container.style.left = `${100 * (popupLeft - pageLLx) / pageWidth}%`;\n this.container.style.top = `${100 * (popupTop - pageLLy) / pageHeight}%`;\n this.container.append(popup.render());\n return this.container;\n }\n\n}\n\nclass PopupElement {\n constructor(parameters) {\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.titleObj = parameters.titleObj;\n this.modificationDate = parameters.modificationDate;\n this.contentsObj = parameters.contentsObj;\n this.richText = parameters.richText;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n render() {\n const BACKGROUND_ENLIGHT = 0.7;\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.hidden = true;\n const popup = document.createElement(\"div\");\n popup.className = \"popup\";\n const color = this.color;\n\n if (color) {\n const r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n const g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n const b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeHexColor(r | 0, g | 0, b | 0);\n }\n\n const title = document.createElement(\"h1\");\n title.dir = this.titleObj.dir;\n title.textContent = this.titleObj.str;\n popup.append(title);\n\n const dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n const modificationDate = document.createElement(\"span\");\n modificationDate.className = \"popupDate\";\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.append(modificationDate);\n }\n\n if (this.richText?.str && (!this.contentsObj?.str || this.contentsObj.str === this.richText.str)) {\n _xfa_layer.XfaLayer.render({\n xfaHtml: this.richText.html,\n intent: \"richText\",\n div: popup\n });\n\n popup.lastChild.className = \"richText popupContent\";\n } else {\n const contents = this._formatContents(this.contentsObj);\n\n popup.append(contents);\n }\n\n if (!Array.isArray(this.trigger)) {\n this.trigger = [this.trigger];\n }\n\n for (const element of this.trigger) {\n element.addEventListener(\"click\", this._toggle.bind(this));\n element.addEventListener(\"mouseover\", this._show.bind(this, false));\n element.addEventListener(\"mouseout\", this._hide.bind(this, false));\n }\n\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n wrapper.append(popup);\n return wrapper;\n }\n\n _formatContents({\n str,\n dir\n }) {\n const p = document.createElement(\"p\");\n p.className = \"popupContent\";\n p.dir = dir;\n const lines = str.split(/(?:\\r\\n?|\\n)/);\n\n for (let i = 0, ii = lines.length; i < ii; ++i) {\n const line = lines[i];\n p.append(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.append(document.createElement(\"br\"));\n }\n }\n\n return p;\n }\n\n _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n\n _show(pin = false) {\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hidden) {\n this.hideElement.hidden = false;\n this.container.style.zIndex += 1;\n }\n }\n\n _hide(unpin = true) {\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hidden && !this.pinned) {\n this.hideElement.hidden = true;\n this.container.style.zIndex -= 1;\n }\n }\n\n}\n\nclass FreeTextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"freeTextAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass LineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"lineAnnotation\";\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n line.setAttribute(\"fill\", \"transparent\");\n svg.append(line);\n this.container.append(svg);\n\n this._createPopup(line, data);\n\n return this.container;\n }\n\n}\n\nclass SquareAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"squareAnnotation\";\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"transparent\");\n svg.append(square);\n this.container.append(svg);\n\n this._createPopup(square, data);\n\n return this.container;\n }\n\n}\n\nclass CircleAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"circleAnnotation\";\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"transparent\");\n svg.append(circle);\n this.container.append(svg);\n\n this._createPopup(circle, data);\n\n return this.container;\n }\n\n}\n\nclass PolylineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n this.containerClassName = \"polylineAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n\n render() {\n this.container.className = this.containerClassName;\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n let points = [];\n\n for (const coordinate of data.vertices) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n svg.append(polyline);\n this.container.append(svg);\n\n this._createPopup(polyline, data);\n\n return this.container;\n }\n\n}\n\nclass PolygonAnnotationElement extends PolylineAnnotationElement {\n constructor(parameters) {\n super(parameters);\n this.containerClassName = \"polygonAnnotation\";\n this.svgElementName = \"svg:polygon\";\n }\n\n}\n\nclass CaretAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"caretAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass InkAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n this.containerClassName = \"inkAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n\n render() {\n this.container.className = this.containerClassName;\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n\n for (const inkList of data.inkLists) {\n let points = [];\n\n for (const coordinate of inkList) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(`${x},${y}`);\n }\n\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n\n this._createPopup(polyline, data);\n\n svg.append(polyline);\n }\n\n this.container.append(svg);\n return this.container;\n }\n\n}\n\nclass HighlightAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"highlightAnnotation\");\n }\n\n this.container.className = \"highlightAnnotation\";\n return this.container;\n }\n\n}\n\nclass UnderlineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"underlineAnnotation\");\n }\n\n this.container.className = \"underlineAnnotation\";\n return this.container;\n }\n\n}\n\nclass SquigglyAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"squigglyAnnotation\");\n }\n\n this.container.className = \"squigglyAnnotation\";\n return this.container;\n }\n\n}\n\nclass StrikeOutAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"strikeoutAnnotation\");\n }\n\n this.container.className = \"strikeoutAnnotation\";\n return this.container;\n }\n\n}\n\nclass StampAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"stampAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass FileAttachmentAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true\n });\n const {\n filename,\n content\n } = this.data.file;\n this.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n this.content = content;\n this.linkService.eventBus?.dispatch(\"fileattachmentannotation\", {\n source: this,\n filename,\n content\n });\n }\n\n render() {\n this.container.className = \"fileAttachmentAnnotation\";\n const trigger = document.createElement(\"div\");\n trigger.className = \"popupTriggerArea\";\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n\n if (!this.data.hasPopup && (this.data.titleObj?.str || this.data.contentsObj?.str || this.data.richText)) {\n this._createPopup(trigger, this.data);\n }\n\n this.container.append(trigger);\n return this.container;\n }\n\n _download() {\n this.downloadManager?.openOrDownloadData(this.container, this.content, this.filename);\n }\n\n}\n\nclass AnnotationLayer {\n static render(parameters) {\n const {\n annotations,\n div,\n viewport\n } = parameters;\n this.#setDimensions(div, viewport);\n const sortedAnnotations = [],\n popupAnnotations = [];\n\n for (const data of annotations) {\n if (!data) {\n continue;\n }\n\n if (data.annotationType === _util.AnnotationType.POPUP) {\n popupAnnotations.push(data);\n continue;\n }\n\n const {\n width,\n height\n } = getRectDims(data.rect);\n\n if (width <= 0 || height <= 0) {\n continue;\n }\n\n sortedAnnotations.push(data);\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push(...popupAnnotations);\n }\n\n for (const data of sortedAnnotations) {\n const element = AnnotationElementFactory.create({\n data,\n layer: div,\n page: parameters.page,\n viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || \"\",\n renderForms: parameters.renderForms !== false,\n svgFactory: new _display_utils.DOMSVGFactory(),\n annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage(),\n enableScripting: parameters.enableScripting,\n hasJSActions: parameters.hasJSActions,\n fieldObjects: parameters.fieldObjects,\n mouseState: parameters.mouseState || {\n isDown: false\n }\n });\n\n if (element.isRenderable) {\n const rendered = element.render();\n\n if (data.hidden) {\n rendered.style.visibility = \"hidden\";\n }\n\n if (Array.isArray(rendered)) {\n for (const renderedElement of rendered) {\n div.append(renderedElement);\n }\n } else {\n if (element instanceof PopupAnnotationElement) {\n div.prepend(rendered);\n } else {\n div.append(rendered);\n }\n }\n }\n }\n\n this.#setAnnotationCanvasMap(div, parameters.annotationCanvasMap);\n }\n\n static update(parameters) {\n const {\n annotationCanvasMap,\n div,\n viewport\n } = parameters;\n this.#setDimensions(div, viewport);\n this.#setAnnotationCanvasMap(div, annotationCanvasMap);\n div.hidden = false;\n }\n\n static #setDimensions(div, {\n width,\n height,\n rotation\n }) {\n const {\n style\n } = div;\n const flipOrientation = rotation % 180 !== 0,\n widthStr = Math.floor(width) + \"px\",\n heightStr = Math.floor(height) + \"px\";\n style.width = flipOrientation ? heightStr : widthStr;\n style.height = flipOrientation ? widthStr : heightStr;\n div.setAttribute(\"data-main-rotation\", rotation);\n }\n\n static #setAnnotationCanvasMap(div, annotationCanvasMap) {\n if (!annotationCanvasMap) {\n return;\n }\n\n for (const [id, canvas] of annotationCanvasMap) {\n const element = div.querySelector(`[data-annotation-id=\"${id}\"]`);\n\n if (!element) {\n continue;\n }\n\n const {\n firstChild\n } = element;\n\n if (!firstChild) {\n element.append(canvas);\n } else if (firstChild.nodeName === \"CANVAS\") {\n firstChild.replaceWith(canvas);\n } else {\n firstChild.before(canvas);\n }\n }\n\n annotationCanvasMap.clear();\n }\n\n}\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 28 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ColorConverters = void 0;\n\nfunction makeColorComp(n) {\n return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, \"0\");\n}\n\nclass ColorConverters {\n static CMYK_G([c, y, m, k]) {\n return [\"G\", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];\n }\n\n static G_CMYK([g]) {\n return [\"CMYK\", 0, 0, 0, 1 - g];\n }\n\n static G_RGB([g]) {\n return [\"RGB\", g, g, g];\n }\n\n static G_HTML([g]) {\n const G = makeColorComp(g);\n return `#${G}${G}${G}`;\n }\n\n static RGB_G([r, g, b]) {\n return [\"G\", 0.3 * r + 0.59 * g + 0.11 * b];\n }\n\n static RGB_HTML([r, g, b]) {\n const R = makeColorComp(r);\n const G = makeColorComp(g);\n const B = makeColorComp(b);\n return `#${R}${G}${B}`;\n }\n\n static T_HTML() {\n return \"#00000000\";\n }\n\n static CMYK_RGB([c, y, m, k]) {\n return [\"RGB\", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];\n }\n\n static CMYK_HTML(components) {\n const rgb = this.CMYK_RGB(components).slice(1);\n return this.RGB_HTML(rgb);\n }\n\n static RGB_CMYK([r, g, b]) {\n const c = 1 - r;\n const m = 1 - g;\n const y = 1 - b;\n const k = Math.min(c, m, y);\n return [\"CMYK\", c, m, y, k];\n }\n\n}\n\nexports.ColorConverters = ColorConverters;\n\n/***/ }),\n/* 29 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaLayer = void 0;\n\nvar _xfa_text = __w_pdfjs_require__(20);\n\nclass XfaLayer {\n static setupStorage(html, id, element, storage, intent) {\n const storedData = storage.getValue(id, {\n value: null\n });\n\n switch (element.name) {\n case \"textarea\":\n if (storedData.value !== null) {\n html.textContent = storedData.value;\n }\n\n if (intent === \"print\") {\n break;\n }\n\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n break;\n\n case \"input\":\n if (element.attributes.type === \"radio\" || element.attributes.type === \"checkbox\") {\n if (storedData.value === element.attributes.xfaOn) {\n html.setAttribute(\"checked\", true);\n } else if (storedData.value === element.attributes.xfaOff) {\n html.removeAttribute(\"checked\");\n }\n\n if (intent === \"print\") {\n break;\n }\n\n html.addEventListener(\"change\", event => {\n storage.setValue(id, {\n value: event.target.checked ? event.target.getAttribute(\"xfaOn\") : event.target.getAttribute(\"xfaOff\")\n });\n });\n } else {\n if (storedData.value !== null) {\n html.setAttribute(\"value\", storedData.value);\n }\n\n if (intent === \"print\") {\n break;\n }\n\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n }\n\n break;\n\n case \"select\":\n if (storedData.value !== null) {\n for (const option of element.children) {\n if (option.attributes.value === storedData.value) {\n option.attributes.selected = true;\n }\n }\n }\n\n html.addEventListener(\"input\", event => {\n const options = event.target.options;\n const value = options.selectedIndex === -1 ? \"\" : options[options.selectedIndex].value;\n storage.setValue(id, {\n value\n });\n });\n break;\n }\n }\n\n static setAttributes({\n html,\n element,\n storage = null,\n intent,\n linkService\n }) {\n const {\n attributes\n } = element;\n const isHTMLAnchorElement = html instanceof HTMLAnchorElement;\n\n if (attributes.type === \"radio\") {\n attributes.name = `${attributes.name}-${intent}`;\n }\n\n for (const [key, value] of Object.entries(attributes)) {\n if (value === null || value === undefined) {\n continue;\n }\n\n switch (key) {\n case \"class\":\n if (value.length) {\n html.setAttribute(key, value.join(\" \"));\n }\n\n break;\n\n case \"dataId\":\n break;\n\n case \"id\":\n html.setAttribute(\"data-element-id\", value);\n break;\n\n case \"style\":\n Object.assign(html.style, value);\n break;\n\n case \"textContent\":\n html.textContent = value;\n break;\n\n default:\n if (!isHTMLAnchorElement || key !== \"href\" && key !== \"newWindow\") {\n html.setAttribute(key, value);\n }\n\n }\n }\n\n if (isHTMLAnchorElement) {\n linkService.addLinkAttributes(html, attributes.href, attributes.newWindow);\n }\n\n if (storage && attributes.dataId) {\n this.setupStorage(html, attributes.dataId, element, storage);\n }\n }\n\n static render(parameters) {\n const storage = parameters.annotationStorage;\n const linkService = parameters.linkService;\n const root = parameters.xfaHtml;\n const intent = parameters.intent || \"display\";\n const rootHtml = document.createElement(root.name);\n\n if (root.attributes) {\n this.setAttributes({\n html: rootHtml,\n element: root,\n intent,\n linkService\n });\n }\n\n const stack = [[root, -1, rootHtml]];\n const rootDiv = parameters.div;\n rootDiv.append(rootHtml);\n\n if (parameters.viewport) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n rootDiv.style.transform = transform;\n }\n\n if (intent !== \"richText\") {\n rootDiv.setAttribute(\"class\", \"xfaLayer xfaFont\");\n }\n\n const textDivs = [];\n\n while (stack.length > 0) {\n const [parent, i, html] = stack.at(-1);\n\n if (i + 1 === parent.children.length) {\n stack.pop();\n continue;\n }\n\n const child = parent.children[++stack.at(-1)[1]];\n\n if (child === null) {\n continue;\n }\n\n const {\n name\n } = child;\n\n if (name === \"#text\") {\n const node = document.createTextNode(child.value);\n textDivs.push(node);\n html.append(node);\n continue;\n }\n\n let childHtml;\n\n if (child?.attributes?.xmlns) {\n childHtml = document.createElementNS(child.attributes.xmlns, name);\n } else {\n childHtml = document.createElement(name);\n }\n\n html.append(childHtml);\n\n if (child.attributes) {\n this.setAttributes({\n html: childHtml,\n element: child,\n storage,\n intent,\n linkService\n });\n }\n\n if (child.children && child.children.length > 0) {\n stack.push([child, -1, childHtml]);\n } else if (child.value) {\n const node = document.createTextNode(child.value);\n\n if (_xfa_text.XfaText.shouldBuildText(name)) {\n textDivs.push(node);\n }\n\n childHtml.append(node);\n }\n }\n\n for (const el of rootDiv.querySelectorAll(\".xfaNonInteractive input, .xfaNonInteractive textarea\")) {\n el.setAttribute(\"readOnly\", true);\n }\n\n return {\n textDivs\n };\n }\n\n static update(parameters) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n parameters.div.style.transform = transform;\n parameters.div.hidden = false;\n }\n\n}\n\nexports.XfaLayer = XfaLayer;\n\n/***/ }),\n/* 30 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextLayerRenderTask = void 0;\nexports.renderTextLayer = renderTextLayer;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(4);\n\nconst MAX_TEXT_DIVS_TO_RENDER = 100000;\nconst DEFAULT_FONT_SIZE = 30;\nconst DEFAULT_FONT_ASCENT = 0.8;\nconst ascentCache = new Map();\nconst AllWhitespaceRegexp = /^\\s+$/g;\n\nfunction getAscent(fontFamily, ctx) {\n const cachedAscent = ascentCache.get(fontFamily);\n\n if (cachedAscent) {\n return cachedAscent;\n }\n\n ctx.save();\n ctx.font = `${DEFAULT_FONT_SIZE}px ${fontFamily}`;\n const metrics = ctx.measureText(\"\");\n let ascent = metrics.fontBoundingBoxAscent;\n let descent = Math.abs(metrics.fontBoundingBoxDescent);\n\n if (ascent) {\n ctx.restore();\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n return ratio;\n }\n\n ctx.strokeStyle = \"red\";\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"g\", 0, 0);\n let pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n descent = 0;\n\n for (let i = pixels.length - 1 - 3; i >= 0; i -= 4) {\n if (pixels[i] > 0) {\n descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"A\", 0, DEFAULT_FONT_SIZE);\n pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n ascent = 0;\n\n for (let i = 0, ii = pixels.length; i < ii; i += 4) {\n if (pixels[i] > 0) {\n ascent = DEFAULT_FONT_SIZE - Math.floor(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n\n ctx.restore();\n\n if (ascent) {\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n return ratio;\n }\n\n ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT);\n return DEFAULT_FONT_ASCENT;\n}\n\nfunction appendText(task, geom, styles, ctx) {\n const textDiv = document.createElement(\"span\");\n const textDivProperties = task._enhanceTextSelection ? {\n angle: 0,\n canvasWidth: 0,\n hasText: geom.str !== \"\",\n hasEOL: geom.hasEOL,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1,\n fontSize: 0\n } : {\n angle: 0,\n canvasWidth: 0,\n hasText: geom.str !== \"\",\n hasEOL: geom.hasEOL,\n fontSize: 0\n };\n\n task._textDivs.push(textDiv);\n\n const tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n let angle = Math.atan2(tx[1], tx[0]);\n const style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n const fontHeight = Math.hypot(tx[2], tx[3]);\n const fontAscent = fontHeight * getAscent(style.fontFamily, ctx);\n let left, top;\n\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n\n textDiv.style.left = `${left}px`;\n textDiv.style.top = `${top}px`;\n textDiv.style.fontSize = `${fontHeight}px`;\n textDiv.style.fontFamily = style.fontFamily;\n textDivProperties.fontSize = fontHeight;\n textDiv.setAttribute(\"role\", \"presentation\");\n textDiv.textContent = geom.str;\n textDiv.dir = geom.dir;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n let shouldScaleText = false;\n\n if (geom.str.length > 1 || task._enhanceTextSelection && AllWhitespaceRegexp.test(geom.str)) {\n shouldScaleText = true;\n } else if (geom.str !== \" \" && geom.transform[0] !== geom.transform[3]) {\n const absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n\n if (shouldScaleText) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection && textDivProperties.hasText) {\n let angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n const divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n const divHeight = fontHeight;\n let m, b;\n\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m\n });\n }\n}\n\nfunction render(task) {\n if (task._canceled) {\n return;\n }\n\n const textDivs = task._textDivs;\n const capability = task._capability;\n const textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (let i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n}\n\nfunction findPositiveMin(ts, offset, count) {\n let result = 0;\n\n for (let i = 0; i < count; i++) {\n const t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n}\n\nfunction expand(task) {\n const bounds = task._bounds;\n const viewport = task._viewport;\n const expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n for (let i = 0; i < expanded.length; i++) {\n const div = bounds[i].div;\n\n const divProperties = task._textDivProperties.get(div);\n\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\n\n const e = expanded[i],\n b = bounds[i];\n const m = b.m,\n c = m[0],\n s = m[1];\n const points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n const ts = new Float64Array(64);\n\n for (let j = 0, jj = points.length; j < jj; j++) {\n const t = _util.Util.applyTransform(points[j], m);\n\n ts[j + 0] = c && (e.left - t[0]) / c;\n ts[j + 4] = s && (e.top - t[1]) / s;\n ts[j + 8] = c && (e.right - t[0]) / c;\n ts[j + 12] = s && (e.bottom - t[1]) / s;\n ts[j + 16] = s && (e.left - t[0]) / -s;\n ts[j + 20] = c && (e.top - t[1]) / c;\n ts[j + 24] = s && (e.right - t[0]) / -s;\n ts[j + 28] = c && (e.bottom - t[1]) / c;\n ts[j + 32] = c && (e.left - t[0]) / -c;\n ts[j + 36] = s && (e.top - t[1]) / -s;\n ts[j + 40] = c && (e.right - t[0]) / -c;\n ts[j + 44] = s && (e.bottom - t[1]) / -s;\n ts[j + 48] = s && (e.left - t[0]) / s;\n ts[j + 52] = c && (e.top - t[1]) / -c;\n ts[j + 56] = s && (e.right - t[0]) / s;\n ts[j + 60] = c && (e.bottom - t[1]) / -c;\n }\n\n const boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n task._textDivProperties.set(div, divProperties);\n }\n}\n\nfunction expandBounds(width, height, boxes) {\n const bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n const expanded = new Array(boxes.length);\n\n for (const b of bounds) {\n const i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n }\n\n boxes.map(function (box, i) {\n const e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n\n for (const b of bounds) {\n const i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n }\n\n return expanded;\n}\n\nfunction expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n const fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n const horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n\n for (const boundary of bounds) {\n let i = 0;\n\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n let j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n let horizonPart, affectedBoundary;\n let q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n let xNew;\n\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n const changedHorizon = [];\n let lastBoundary = null;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n const useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n\n if (lastBoundary === useBoundary) {\n changedHorizon.at(-1).end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n\n if (boundary.y2 < horizon[j].end) {\n changedHorizon.at(-1).end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n let used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(horizon, [i, j - i + 1, ...changedHorizon]);\n }\n\n for (const horizonPart of horizon) {\n const affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n }\n}\n\nclass TextLayerRenderTask {\n constructor({\n textContent,\n textContentStream,\n container,\n viewport,\n textDivs,\n textContentItemsStr,\n enhanceTextSelection\n }) {\n if (enhanceTextSelection) {\n (0, _display_utils.deprecated)(\"The `enhanceTextSelection` functionality will be removed in the future.\");\n }\n\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._document = container.ownerDocument;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!globalThis.FontInspector?.enabled;\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n this._devicePixelRatio = globalThis.devicePixelRatio || 1;\n\n this._capability.promise.finally(() => {\n if (!this._enhanceTextSelection) {\n this._textDivProperties = null;\n }\n\n if (this._layoutTextCtx) {\n this._layoutTextCtx.canvas.width = 0;\n this._layoutTextCtx.canvas.height = 0;\n this._layoutTextCtx = null;\n }\n }).catch(() => {});\n }\n\n get promise() {\n return this._capability.promise;\n }\n\n cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\")).catch(() => {});\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n }\n\n _processItems(items, styleCache) {\n for (let i = 0, len = items.length; i < len; i++) {\n if (items[i].str === undefined) {\n if (items[i].type === \"beginMarkedContentProps\" || items[i].type === \"beginMarkedContent\") {\n const parent = this._container;\n this._container = document.createElement(\"span\");\n\n this._container.classList.add(\"markedContent\");\n\n if (items[i].id !== null) {\n this._container.setAttribute(\"id\", `${items[i].id}`);\n }\n\n parent.append(this._container);\n } else if (items[i].type === \"endMarkedContent\") {\n this._container = this._container.parentNode;\n }\n\n continue;\n }\n\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache, this._layoutTextCtx);\n }\n }\n\n _layoutText(textDiv) {\n const textDivProperties = this._textDivProperties.get(textDiv);\n\n let transform = \"\";\n\n if (textDivProperties.canvasWidth !== 0 && textDivProperties.hasText) {\n const {\n fontFamily\n } = textDiv.style;\n const {\n fontSize\n } = textDivProperties;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = `${fontSize * this._devicePixelRatio}px ${fontFamily}`;\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n const {\n width\n } = this._layoutTextCtx.measureText(textDiv.textContent);\n\n if (width > 0) {\n const scale = this._devicePixelRatio * textDivProperties.canvasWidth / width;\n\n if (this._enhanceTextSelection) {\n textDivProperties.scale = scale;\n }\n\n transform = `scaleX(${scale})`;\n }\n }\n\n if (textDivProperties.angle !== 0) {\n transform = `rotate(${textDivProperties.angle}deg) ${transform}`;\n }\n\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n\n textDiv.style.transform = transform;\n }\n\n if (textDivProperties.hasText) {\n this._container.append(textDiv);\n }\n\n if (textDivProperties.hasEOL) {\n const br = document.createElement(\"br\");\n br.setAttribute(\"role\", \"presentation\");\n\n this._container.append(br);\n }\n }\n\n _render(timeout = 0) {\n const capability = (0, _util.createPromiseCapability)();\n let styleCache = Object.create(null);\n\n const canvas = this._document.createElement(\"canvas\");\n\n canvas.height = canvas.width = DEFAULT_FONT_SIZE;\n this._layoutTextCtx = canvas.getContext(\"2d\", {\n alpha: false\n });\n\n if (this._textContent) {\n const textItems = this._textContent.items;\n const textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n const pump = () => {\n this._reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n this._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\" parameters specified.');\n }\n\n capability.promise.then(() => {\n styleCache = null;\n\n if (!timeout) {\n render(this);\n } else {\n this._renderTimer = setTimeout(() => {\n render(this);\n this._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n }\n\n expandTextDivs(expandDivs = false) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n const transformBuf = [],\n paddingBuf = [];\n\n for (let i = 0, ii = this._textDivs.length; i < ii; i++) {\n const div = this._textDivs[i];\n\n const divProps = this._textDivProperties.get(div);\n\n if (!divProps.hasText) {\n continue;\n }\n\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n\n if (divProps.paddingTop > 0) {\n paddingBuf.push(`${divProps.paddingTop}px`);\n transformBuf.push(`translateY(${-divProps.paddingTop}px)`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingRight > 0) {\n paddingBuf.push(`${divProps.paddingRight / divProps.scale}px`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(`${divProps.paddingBottom}px`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(`${divProps.paddingLeft / divProps.scale}px`);\n transformBuf.push(`translateX(${-divProps.paddingLeft / divProps.scale}px)`);\n } else {\n paddingBuf.push(0);\n }\n\n div.style.padding = paddingBuf.join(\" \");\n\n if (transformBuf.length) {\n div.style.transform = transformBuf.join(\" \");\n }\n } else {\n div.style.padding = null;\n div.style.transform = divProps.originalTransform;\n }\n }\n }\n\n}\n\nexports.TextLayerRenderTask = TextLayerRenderTask;\n\nfunction renderTextLayer(renderParameters) {\n const task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n\n task._render(renderParameters.timeout);\n\n return task;\n}\n\n/***/ }),\n/* 31 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SVGGraphics = void 0;\n\nvar _display_utils = __w_pdfjs_require__(4);\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nlet SVGGraphics = class {\n constructor() {\n (0, _util.unreachable)(\"Not implemented: SVGGraphics\");\n }\n\n};\nexports.SVGGraphics = SVGGraphics;\n{\n const SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n };\n const XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n const XLINK_NS = \"http://www.w3.org/1999/xlink\";\n const LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n const LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n const createObjectURL = function (data, contentType = \"\", forceDataSchema = false) {\n if (URL.createObjectURL && typeof Blob !== \"undefined\" && !forceDataSchema) {\n return URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n }\n\n const digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n let buffer = `data:${contentType};base64,`;\n\n for (let i = 0, ii = data.length; i < ii; i += 3) {\n const b1 = data[i] & 0xff;\n const b2 = data[i + 1] & 0xff;\n const b3 = data[i + 2] & 0xff;\n const d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n\n const convertImgDataToPng = function () {\n const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n const CHUNK_WRAPPER_SIZE = 12;\n const crcTable = new Int32Array(256);\n\n for (let i = 0; i < 256; i++) {\n let c = i;\n\n for (let h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n let crc = -1;\n\n for (let i = start; i < end; i++) {\n const a = (crc ^ data[i]) & 0xff;\n const b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n let p = offset;\n const len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n const crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n let a = 1;\n let b = 0;\n\n for (let i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!_is_node.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n let input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = Buffer.from(literals);\n }\n\n const output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n\n return deflateSyncUncompressed(literals);\n }\n\n function deflateSyncUncompressed(literals) {\n let len = literals.length;\n const maxBlockLength = 0xffff;\n const deflateBlocks = Math.ceil(len / maxBlockLength);\n const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n let pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n let pos = 0;\n\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n const adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n\n function encode(imgData, kind, forceDataSchema, isMask) {\n const width = imgData.width;\n const height = imgData.height;\n let bitDepth, colorType, lineSize;\n const bytes = imgData.data;\n\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error(\"invalid format\");\n }\n\n const literals = new Uint8Array((1 + lineSize) * height);\n let offsetLiterals = 0,\n offsetBytes = 0;\n\n for (let y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (let y = 0; y < height; y++) {\n offsetLiterals++;\n\n for (let i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n\n const ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n const idat = deflateSync(literals);\n const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n const data = new Uint8Array(pngLength);\n let offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return createObjectURL(data, \"image/png\", forceDataSchema);\n }\n\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n class SVGExtraState {\n constructor() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n\n clone() {\n return Object.create(this);\n }\n\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n\n }\n\n function opListToTree(opList) {\n let opTree = [];\n const tmp = [];\n\n for (const opListElement of opList) {\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree.at(-1).items;\n continue;\n }\n\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n\n return opTree;\n }\n\n function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n const s = value.toFixed(10);\n let i = s.length - 1;\n\n if (s[i] !== \"0\") {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === \"0\");\n\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n }\n\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n\n return `scale(${pf(m[0])} ${pf(m[3])})`;\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n const a = Math.acos(m[0]) * 180 / Math.PI;\n return `rotate(${pf(a)})`;\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return `translate(${pf(m[4])} ${pf(m[5])})`;\n }\n }\n\n return `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` + `${pf(m[5])})`;\n }\n\n let clipCount = 0;\n let maskCount = 0;\n let shadingCount = 0;\n exports.SVGGraphics = SVGGraphics = class {\n constructor(commonObjs, objs, forceDataSchema = false) {\n (0, _display_utils.deprecated)(\"The SVG back-end is no longer maintained and *may* be removed in the future.\");\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n\n for (const op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n save() {\n this.transformStack.push(this.transformMatrix);\n const old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n\n restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n\n group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n\n loadDependencies(operatorList) {\n const fnArray = operatorList.fnArray;\n const argsArray = operatorList.argsArray;\n\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n for (const obj of argsArray[i]) {\n const objsPool = obj.startsWith(\"g_\") ? this.commonObjs : this.objs;\n const promise = new Promise(resolve => {\n objsPool.get(obj, resolve);\n });\n this.current.dependencies.push(promise);\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n\n transform(a, b, c, d, e, f) {\n const transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n\n getSVG(operatorList, viewport) {\n this.viewport = viewport;\n\n const svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(() => {\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.executeOpTree(this.convertOpList(operatorList));\n return svgElement;\n });\n }\n\n convertOpList(operatorList) {\n const operatorIdMapping = this._operatorIdMapping;\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n const opList = [];\n\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n const fnId = fnArray[i];\n opList.push({\n fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n\n executeOpTree(opTree) {\n for (const opTreeElement of opTree) {\n const fn = opTreeElement.fn;\n const fnId = opTreeElement.fnId;\n const args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(`Unimplemented operator ${fn}`);\n break;\n }\n }\n }\n\n setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n\n setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n\n setTextMatrix(a, b, c, d, e, f) {\n const current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.hypot(a, b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.append(current.tspan);\n }\n\n beginText() {\n const current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n\n moveText(x, y) {\n const current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n let x = 0;\n\n for (const glyph of glyphs) {\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n let scaledX, scaledY;\n let width = glyph.width;\n\n if (vertical) {\n let vx;\n const vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n\n current.tspan.textContent += character;\n } else {}\n\n let charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n }\n\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n const lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n let textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, \"transform\", `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`);\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.append(current.tspan);\n current.txtgrp.append(current.txtElement);\n\n this._ensureTransformGroup().append(current.txtElement);\n }\n\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n\n addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.append(this.cssStyle);\n }\n\n const url = createObjectURL(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += `@font-face { font-family: \"${fontObj.loadedName}\";` + ` src: url(${url}); }\\n`;\n }\n\n setFont(details) {\n const current = this.current;\n const fontObj = this.commonObjs.get(details[0]);\n let size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n let bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n\n endText() {\n const current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement?.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n\n setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n\n setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n\n setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n\n setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n\n setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n\n setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeHexColor(r, g, b);\n }\n\n setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n\n setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeHexColor(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n\n setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n\n setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n\n shadingFill(args) {\n const width = this.viewport.width;\n const height = this.viewport.height;\n\n const inv = _util.Util.inverseTransform(this.transformMatrix);\n\n const bl = _util.Util.applyTransform([0, 0], inv);\n\n const br = _util.Util.applyTransform([0, height], inv);\n\n const ul = _util.Util.applyTransform([width, 0], inv);\n\n const ur = _util.Util.applyTransform([width, height], inv);\n\n const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n\n this._ensureTransformGroup().append(rect);\n }\n\n _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n\n _makeTilingPattern(args) {\n const color = args[1];\n const operatorList = args[2];\n const matrix = args[3] || _util.IDENTITY_MATRIX;\n const [x0, y0, x1, y1] = args[4];\n const xstep = args[5];\n const ystep = args[6];\n const paintType = args[7];\n const tilingId = `shading${shadingCount++}`;\n\n const [tx0, ty0, tx1, ty1] = _util.Util.normalizeRect([..._util.Util.applyTransform([x0, y0], matrix), ..._util.Util.applyTransform([x1, y1], matrix)]);\n\n const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix);\n\n const txstep = xstep * xscale;\n const tystep = ystep * yscale;\n const tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", `${tx0}`);\n tiling.setAttributeNS(null, \"y\", `${ty0}`);\n const svg = this.svg;\n const transformMatrix = this.transformMatrix;\n const fillColor = this.current.fillColor;\n const strokeColor = this.current.strokeColor;\n const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n const cssColor = _util.Util.makeHexColor(...color);\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.append(bbox.childNodes[0]);\n this.defs.append(tiling);\n return `url(#${tilingId})`;\n }\n\n _makeShadingPattern(args) {\n if (typeof args === \"string\") {\n args = this.objs.get(args);\n }\n\n switch (args[0]) {\n case \"RadialAxial\":\n const shadingId = `shading${shadingCount++}`;\n const colorStops = args[3];\n let gradient;\n\n switch (args[1]) {\n case \"axial\":\n const point0 = args[4];\n const point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n\n case \"radial\":\n const focalPoint = args[4];\n const circlePoint = args[5];\n const focalRadius = args[6];\n const circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n\n default:\n throw new Error(`Unknown RadialAxial type: ${args[1]}`);\n }\n\n for (const colorStop of colorStops) {\n const stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.append(stop);\n }\n\n this.defs.append(gradient);\n return `url(#${shadingId})`;\n\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n\n case \"Dummy\":\n return \"hotpink\";\n\n default:\n throw new Error(`Unknown IR type: ${args[0]}`);\n }\n }\n\n setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n\n constructPath(ops, args) {\n const current = this.current;\n let x = current.x,\n y = current.y;\n let d = [];\n let j = 0;\n\n for (const op of ops) {\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n\n d = d.join(\" \");\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n\n this._ensureTransformGroup().append(current.path);\n }\n\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n\n endPath() {\n const current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n const clipId = `clippath${clipCount++}`;\n const clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n const clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n\n this.pendingClip = null;\n clipPath.append(clipElement);\n this.defs.append(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n\n for (const prev of this.extraStack) {\n prev.clipGroup = null;\n }\n\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n\n current.activeClipUrl = `url(#${clipId})`;\n this.tgrp = null;\n }\n\n clip(type) {\n this.pendingClip = type;\n }\n\n closePath() {\n const current = this.current;\n\n if (current.path) {\n const d = `${current.path.getAttributeNS(null, \"d\")}Z`;\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n\n setLeading(leading) {\n this.current.leading = -leading;\n }\n\n setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n\n setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n\n setRenderingIntent(intent) {}\n\n setFlatness(flatness) {}\n\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value);\n break;\n\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n\n case \"ca\":\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(`Unimplemented graphic state operator ${key}`);\n break;\n }\n }\n }\n\n fill() {\n const current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n\n stroke() {\n const current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n\n _setStrokeAttributes(element, lineWidthScale = 1) {\n const current = this.current;\n let dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n\n eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fill();\n }\n\n fillStroke() {\n this.stroke();\n this.fill();\n }\n\n eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fillStroke();\n }\n\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n\n closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n\n paintSolidColorImageMask() {\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n\n this._ensureTransformGroup().append(rect);\n }\n\n paintImageXObject(objId) {\n const imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(`Dependent image with object ID ${objId} is not ready yet`);\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n\n paintInlineImageXObject(imgData, mask) {\n const width = imgData.width;\n const height = imgData.height;\n const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n const imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", `scale(${pf(1 / width)} ${pf(-1 / height)})`);\n\n if (mask) {\n mask.append(imgEl);\n } else {\n this._ensureTransformGroup().append(imgEl);\n }\n }\n\n paintImageMaskXObject(imgData) {\n const current = this.current;\n const width = imgData.width;\n const height = imgData.height;\n const fillColor = current.fillColor;\n current.maskId = `mask${maskCount++}`;\n const mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", `url(#${current.maskId})`);\n this.defs.append(mask);\n\n this._ensureTransformGroup().append(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n\n paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n\n paintFormXObjectEnd() {}\n\n _initialize(viewport) {\n const svg = this.svgFactory.create(viewport.width, viewport.height);\n const definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.append(definitions);\n this.defs = definitions;\n const rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.append(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n\n _ensureClipGroup() {\n if (!this.current.clipGroup) {\n const clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.append(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n }\n\n _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().append(this.tgrp);\n } else {\n this.svg.append(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n\n };\n}\n\n/***/ }),\n/* 32 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNodeStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(33);\n\n;\n\nconst fs = require(\"fs\");\n\nconst http = require(\"http\");\n\nconst https = require(\"https\");\n\nconst url = require(\"url\");\n\nconst fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n const parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(`file:///${sourceUrl}`);\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n\n return parsedUrl;\n}\n\nclass PDFNodeStream {\n constructor(source) {\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n\n getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n\n}\n\nexports.PDFNodeStream = PDFNodeStream;\n\nclass BaseFullReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n const source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n get headersReady() {\n return this._headersCapability.promise;\n }\n\n get filename() {\n return this._filename;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n if (this._storedError) {\n throw this._storedError;\n }\n\n const chunk = this._readableStream.read();\n\n if (chunk === null) {\n this._readCapability = (0, _util.createPromiseCapability)();\n return this.read();\n }\n\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n\n _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n\n}\n\nclass BaseRangeReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n const source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n if (this._storedError) {\n throw this._storedError;\n }\n\n const chunk = this._readableStream.read();\n\n if (chunk === null) {\n this._readCapability = (0, _util.createPromiseCapability)();\n return this.read();\n }\n\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n\n _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n\n}\n\nfunction createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers\n };\n}\n\nclass PDFNodeStreamFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n\n this._headersCapability.reject(error);\n\n return;\n }\n\n this._headersCapability.resolve();\n\n this._setReadableStream(response);\n\n const getResponseHeader = name => {\n return this._readableStream.headers[name.toLowerCase()];\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n this._request = null;\n\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n }\n\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n\n this._headersCapability.reject(reason);\n });\n\n this._request.end();\n }\n\n}\n\nclass PDFNodeStreamRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n this._httpHeaders = {};\n\n for (const property in stream.httpHeaders) {\n const value = stream.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n this._httpHeaders[property] = value;\n }\n\n this._httpHeaders.Range = `bytes=${start}-${end - 1}`;\n\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n return;\n }\n\n this._setReadableStream(response);\n };\n\n this._request = null;\n\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n }\n\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n });\n\n this._request.end();\n }\n\n}\n\nclass PDFNodeStreamFsFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n fs.lstat(path, (error, stat) => {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(`Missing PDF \"${path}\".`);\n }\n\n this._storedError = error;\n\n this._headersCapability.reject(error);\n\n return;\n }\n\n this._contentLength = stat.size;\n\n this._setReadableStream(fs.createReadStream(path));\n\n this._headersCapability.resolve();\n });\n }\n\n}\n\nclass PDFNodeStreamFsRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n this._setReadableStream(fs.createReadStream(path, {\n start,\n end: end - 1\n }));\n }\n\n}\n\n/***/ }),\n/* 33 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _content_disposition = __w_pdfjs_require__(34);\n\nvar _display_utils = __w_pdfjs_require__(4);\n\nfunction validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp,\n rangeChunkSize,\n disableRange\n}) {\n const returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n const length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n\n const contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n const contentDisposition = getResponseHeader(\"Content-Disposition\");\n\n if (contentDisposition) {\n let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n\n if ((0, _display_utils.isPdfFile)(filename)) {\n return filename;\n }\n }\n\n return null;\n}\n\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n\n return new _util.UnexpectedResponseException(`Unexpected server response (${status}) while retrieving PDF \"${url}\".`, status);\n}\n\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 34 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n let needsEncodingFixup = true;\n let tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n const filename = rfc2047decode(tmp);\n return fixupEncoding(filename);\n }\n\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = (0, _util.stringToBytes)(value);\n value = decoder.decode(buffer);\n needsEncodingFixup = false;\n } catch (e) {}\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDispositionStr) {\n const matches = [];\n let match;\n const iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n let [, n, quot, part] = match;\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n const parts = [];\n\n for (let n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n\n let [quot, part] = matches[n];\n part = rfc2616unquote(part);\n\n if (quot) {\n part = unescape(part);\n\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n\n parts.push(part);\n }\n\n return parts.join(\"\");\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n const parts = value.slice(1).split('\\\\\"');\n\n for (let i = 0; i < parts.length; ++i) {\n const quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n const encodingend = extvalue.indexOf(\"'\");\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n const encoding = extvalue.slice(0, encodingend);\n const langvalue = extvalue.slice(encodingend + 1);\n const value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replace(/_/g, \" \");\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n\n try {\n text = atob(text);\n } catch (e) {}\n\n return textdecode(charset, text);\n });\n }\n\n return \"\";\n}\n\n/***/ }),\n/* 35 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNetworkStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(33);\n\n;\nconst OK_RESPONSE = 200;\nconst PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n const data = xhr.response;\n\n if (typeof data !== \"string\") {\n return data;\n }\n\n const array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\n\nclass NetworkManager {\n constructor(url, args = {}) {\n this.url = url;\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null);\n this.withCredentials = args.withCredentials || false;\n\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n requestRange(begin, end, listeners) {\n const args = {\n begin,\n end\n };\n\n for (const prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n\n requestFull(listeners) {\n return this.request(listeners);\n }\n\n request(args) {\n const xhr = this.getXhr();\n const xhrId = this.currXhrId++;\n const pendingRequest = this.pendingRequests[xhrId] = {\n xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (const property in this.httpHeaders) {\n const value = this.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", `bytes=${args.begin}-${args.end - 1}`);\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = \"arraybuffer\";\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n\n onProgress(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n pendingRequest.onProgress?.(evt);\n }\n\n onStateChange(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n const xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n\n const xhrStatus = xhr.status || OK_RESPONSE;\n const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n\n const chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n const rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n const matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk\n });\n } else {\n pendingRequest.onError?.(xhr.status);\n }\n }\n\n getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n\n isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n\n abortRequest(xhrId) {\n const xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n\n}\n\nclass PDFNetworkStream {\n constructor(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _onRangeRequestReaderClosed(reader) {\n const i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n\n getRangeReader(begin, end) {\n const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n\n}\n\nexports.PDFNetworkStream = PDFNetworkStream;\n\nclass PDFNetworkStreamFullRequestReader {\n constructor(manager, source) {\n this._manager = manager;\n const args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n\n _onHeadersReceived() {\n const fullRequestXhrId = this._fullRequestId;\n\n const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n const getResponseHeader = name => {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n\n _onDone(data) {\n if (data) {\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: data.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(data.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n }\n\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n\n this._headersReceivedCapability.reject(this._storedError);\n\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n\n this._requests.length = 0;\n this._cachedChunks.length = 0;\n }\n\n _onProgress(evt) {\n this.onProgress?.({\n loaded: evt.loaded,\n total: evt.lengthComputable ? evt.total : this._contentLength\n });\n }\n\n get filename() {\n return this._filename;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get headersReady() {\n return this._headersReceivedCapability.promise;\n }\n\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n\n if (this._cachedChunks.length > 0) {\n const chunk = this._cachedChunks.shift();\n\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n\n}\n\nclass PDFNetworkStreamRangeRequestReader {\n constructor(manager, begin, end) {\n this._manager = manager;\n const args = {\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = manager.url;\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this._storedError = undefined;\n this.onProgress = null;\n this.onClosed = null;\n }\n\n _close() {\n this.onClosed?.(this);\n }\n\n _onDone(data) {\n const chunk = data.chunk;\n\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n\n this._close();\n }\n\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n\n this._requests.length = 0;\n this._queuedChunk = null;\n }\n\n _onProgress(evt) {\n if (!this.isStreamingSupported) {\n this.onProgress?.({\n loaded: evt.loaded\n });\n }\n }\n\n get isStreamingSupported() {\n return false;\n }\n\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n\n if (this._queuedChunk !== null) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n\n}\n\n/***/ }),\n/* 36 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFFetchStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(33);\n\n;\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers,\n signal: abortController?.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\n\nfunction createHeaders(httpHeaders) {\n const headers = new Headers();\n\n for (const property in httpHeaders) {\n const value = httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n headers.append(property, value);\n }\n\n return headers;\n}\n\nclass PDFFetchStream {\n constructor(source) {\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n\n}\n\nexports.PDFFetchStream = PDFFetchStream;\n\nclass PDFFetchStreamReader {\n constructor(stream) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n this._reader = response.body.getReader();\n\n this._headersCapability.resolve();\n\n const getResponseHeader = name => {\n return response.headers.get(name);\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n\n get headersReady() {\n return this._headersCapability.promise;\n }\n\n get filename() {\n return this._filename;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._headersCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n\n if (done) {\n return {\n value,\n done\n };\n }\n\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n const buffer = new Uint8Array(value).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n\n}\n\nclass PDFFetchStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._headers = createHeaders(this._stream.httpHeaders);\n\n this._headers.append(\"Range\", `bytes=${begin}-${end - 1}`);\n\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n this._readCapability.resolve();\n\n this._reader = response.body.getReader();\n }).catch(this._readCapability.reject);\n this.onProgress = null;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n\n if (done) {\n return {\n value,\n done\n };\n }\n\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n const buffer = new Uint8Array(value).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n\n}\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n(() => {\nvar exports = __webpack_exports__;\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AnnotationEditorLayer\", ({\n enumerable: true,\n get: function () {\n return _annotation_editor_layer.AnnotationEditorLayer;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorParamsType\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationEditorParamsType;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorType\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationEditorType;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorUIManager\", ({\n enumerable: true,\n get: function () {\n return _tools.AnnotationEditorUIManager;\n }\n}));\nObject.defineProperty(exports, \"AnnotationLayer\", ({\n enumerable: true,\n get: function () {\n return _annotation_layer.AnnotationLayer;\n }\n}));\nObject.defineProperty(exports, \"AnnotationMode\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationMode;\n }\n}));\nObject.defineProperty(exports, \"CMapCompressionType\", ({\n enumerable: true,\n get: function () {\n return _util.CMapCompressionType;\n }\n}));\nObject.defineProperty(exports, \"GlobalWorkerOptions\", ({\n enumerable: true,\n get: function () {\n return _worker_options.GlobalWorkerOptions;\n }\n}));\nObject.defineProperty(exports, \"InvalidPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.InvalidPDFException;\n }\n}));\nObject.defineProperty(exports, \"LoopbackPort\", ({\n enumerable: true,\n get: function () {\n return _api.LoopbackPort;\n }\n}));\nObject.defineProperty(exports, \"MissingPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.MissingPDFException;\n }\n}));\nObject.defineProperty(exports, \"OPS\", ({\n enumerable: true,\n get: function () {\n return _util.OPS;\n }\n}));\nObject.defineProperty(exports, \"PDFDataRangeTransport\", ({\n enumerable: true,\n get: function () {\n return _api.PDFDataRangeTransport;\n }\n}));\nObject.defineProperty(exports, \"PDFDateString\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PDFDateString;\n }\n}));\nObject.defineProperty(exports, \"PDFWorker\", ({\n enumerable: true,\n get: function () {\n return _api.PDFWorker;\n }\n}));\nObject.defineProperty(exports, \"PasswordResponses\", ({\n enumerable: true,\n get: function () {\n return _util.PasswordResponses;\n }\n}));\nObject.defineProperty(exports, \"PermissionFlag\", ({\n enumerable: true,\n get: function () {\n return _util.PermissionFlag;\n }\n}));\nObject.defineProperty(exports, \"PixelsPerInch\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PixelsPerInch;\n }\n}));\nObject.defineProperty(exports, \"RenderingCancelledException\", ({\n enumerable: true,\n get: function () {\n return _display_utils.RenderingCancelledException;\n }\n}));\nObject.defineProperty(exports, \"SVGGraphics\", ({\n enumerable: true,\n get: function () {\n return _svg.SVGGraphics;\n }\n}));\nObject.defineProperty(exports, \"UNSUPPORTED_FEATURES\", ({\n enumerable: true,\n get: function () {\n return _util.UNSUPPORTED_FEATURES;\n }\n}));\nObject.defineProperty(exports, \"UnexpectedResponseException\", ({\n enumerable: true,\n get: function () {\n return _util.UnexpectedResponseException;\n }\n}));\nObject.defineProperty(exports, \"Util\", ({\n enumerable: true,\n get: function () {\n return _util.Util;\n }\n}));\nObject.defineProperty(exports, \"VerbosityLevel\", ({\n enumerable: true,\n get: function () {\n return _util.VerbosityLevel;\n }\n}));\nObject.defineProperty(exports, \"XfaLayer\", ({\n enumerable: true,\n get: function () {\n return _xfa_layer.XfaLayer;\n }\n}));\nObject.defineProperty(exports, \"binarySearchFirstItem\", ({\n enumerable: true,\n get: function () {\n return _display_utils.binarySearchFirstItem;\n }\n}));\nObject.defineProperty(exports, \"build\", ({\n enumerable: true,\n get: function () {\n return _api.build;\n }\n}));\nObject.defineProperty(exports, \"createPromiseCapability\", ({\n enumerable: true,\n get: function () {\n return _util.createPromiseCapability;\n }\n}));\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", ({\n enumerable: true,\n get: function () {\n return _util.createValidAbsoluteUrl;\n }\n}));\nObject.defineProperty(exports, \"getDocument\", ({\n enumerable: true,\n get: function () {\n return _api.getDocument;\n }\n}));\nObject.defineProperty(exports, \"getFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getPdfFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getPdfFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getXfaPageViewport\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getXfaPageViewport;\n }\n}));\nObject.defineProperty(exports, \"isPdfFile\", ({\n enumerable: true,\n get: function () {\n return _display_utils.isPdfFile;\n }\n}));\nObject.defineProperty(exports, \"loadScript\", ({\n enumerable: true,\n get: function () {\n return _display_utils.loadScript;\n }\n}));\nObject.defineProperty(exports, \"renderTextLayer\", ({\n enumerable: true,\n get: function () {\n return _text_layer.renderTextLayer;\n }\n}));\nObject.defineProperty(exports, \"shadow\", ({\n enumerable: true,\n get: function () {\n return _util.shadow;\n }\n}));\nObject.defineProperty(exports, \"version\", ({\n enumerable: true,\n get: function () {\n return _api.version;\n }\n}));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(4);\n\nvar _api = __w_pdfjs_require__(6);\n\nvar _annotation_editor_layer = __w_pdfjs_require__(22);\n\nvar _tools = __w_pdfjs_require__(9);\n\nvar _annotation_layer = __w_pdfjs_require__(27);\n\nvar _worker_options = __w_pdfjs_require__(15);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nvar _text_layer = __w_pdfjs_require__(30);\n\nvar _svg = __w_pdfjs_require__(31);\n\nvar _xfa_layer = __w_pdfjs_require__(29);\n\nconst pdfjsVersion = '2.15.349';\nconst pdfjsBuild = 'b8aa9c622';\n{\n if (_is_node.isNodeJS) {\n const {\n PDFNodeStream\n } = __w_pdfjs_require__(32);\n\n (0, _api.setPDFNetworkStreamFactory)(params => {\n return new PDFNodeStream(params);\n });\n } else {\n const {\n PDFNetworkStream\n } = __w_pdfjs_require__(35);\n\n const {\n PDFFetchStream\n } = __w_pdfjs_require__(36);\n\n (0, _api.setPDFNetworkStreamFactory)(params => {\n if ((0, _display_utils.isValidFetchUrl)(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n}\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=pdf.js.map","export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport const integerSequence = (start: number, count: number): number[] =>\n Array(count)\n .fill(1)\n .map((_, index) => index + start);\n","@import '../../../theme.scss';\n\nverdocs-view {\n font-family: $verdocs-primary-font;\n display: flex;\n min-height: 600px;\n position: relative;\n padding: 0 0 20px 0;\n box-sizing: border-box;\n flex-direction: column;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n\n .container {\n display: flex;\n align-items: center;\n flex-direction: column;\n }\n\n button.test {\n color: #fff;\n cursor: pointer;\n padding: 5px 10px;\n border-radius: 4px;\n background: #5a5767;\n border: 1px solid #ccc;\n }\n\n .load-progress {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 6px;\n z-index: 2000;\n background: #000;\n\n .bar {\n height: 6px;\n background: #50be80;\n }\n }\n}\n\n#verdocs-pdf-viewer-container {\n display: flex;\n align-items: center;\n flex-direction: column;\n\n canvas {\n background: white;\n max-width: 100%;\n // To avoid performance problems in some browsers with getClientBoundingRect() we hard-code the calculations for canvas offsets.\n // If you change the margin here you need to adjust the code as well.\n margin: 0 0 15px 0;\n }\n}\n","import pdf from 'pdfjs-dist';\nimport {VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {PDFDocumentProxy, VerbosityLevel, version as PDFJSversion} from 'pdfjs-dist';\nimport {Component, h, Element, Event, Prop, Watch, EventEmitter, State} from '@stencil/core';\nimport {DocumentInitParameters, OnProgressParameters} from 'pdfjs-dist/types/src/display/api';\nimport {integerSequence} from '../../../utils/utils';\n\nconst CANVAS_MARGIN = 15;\nconst PDF_WORKER_URL = `https://cdnjs.cloudflare.com/ajax/libs/pdf.js/${PDFJSversion}/pdf.worker.min.js`;\nconst CMAPS_URL = `https://unpkg.com/pdfjs-dist@${PDFJSversion}/cmaps/`;\n// https://unpkg.com/pdfjs-dist@2.0.550/cmaps/78-EUC-H.bcmap\n\nconsole.log('[VIEW] Loading PDF-JS', {PDF_WORKER_URL, CMAPS_URL});\n\n// pdf.GlobalWorkerOptions.workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.6.347/pdf.worker.min.js';\npdf.GlobalWorkerOptions.workerSrc = PDF_WORKER_URL;\n\nexport interface IPDFPageInfo {\n height: number;\n width: number;\n originalHeight: number;\n originalWidth: number;\n xRatio: number;\n yRatio: number;\n pageNumber: number;\n canvasTop: number;\n canvasRight: number;\n canvasLeft: number;\n canvasBottom: number;\n}\n\nexport interface IPDFRenderEvent {\n numRendered: number;\n numPages: number;\n pages: IPDFPageInfo[];\n canvasContainer: HTMLDivElement;\n}\n\n@Component({\n tag: 'verdocs-view',\n styleUrl: 'verdocs-view.scss',\n shadow: false,\n})\nexport class VerdocsView {\n @Element() component: HTMLElement;\n\n private pdfDocument: any;\n private pdfContainer: HTMLDivElement;\n private numPages = 1;\n private fingerprint = null as string | null;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * Rotate the PDF in degrees\n */\n @Prop() rotation: 0 | 90 | 180 | 270 = 0;\n\n /**\n * Src of the PDF to load and render\n */\n @Prop() source: string;\n\n /**\n * Listen for changes to src\n */\n @Watch('source')\n doSrc(newValue: string | null, oldValue: string | null): void {\n if (newValue === oldValue) {\n return;\n }\n this.loadAndRender(newValue);\n }\n\n /**\n * Fired when a page has been rendered\n */\n @Event() pageRendered: EventEmitter<IPDFRenderEvent>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageLoaded: EventEmitter<number>;\n\n /**\n * Fired when a page has been changed\n */\n @Event() pageChange: EventEmitter<number>;\n\n /**\n * Fired when a page has been initialized\n */\n @Event() pageInit: EventEmitter<number>;\n\n /**\n * Fired when a page has been scaled\n */\n @Event() scaleChange: EventEmitter<number>;\n\n /**\n * Fired when the document has completed rendered. The event will include the rendered page count.\n */\n @Event() documentRendered: EventEmitter<IPDFRenderEvent>;\n\n @State() loadProgress = 0;\n\n pagesRendered: IPDFPageInfo[] = [];\n\n isRotated(rotation) {\n return rotation !== 0 && rotation % 180 !== 0;\n }\n\n async renderPages(): Promise<void> {\n const pageNumbersToRender = integerSequence(1, this.numPages);\n\n for await (let pageNumber of pageNumbersToRender) {\n const index = pageNumber - 1;\n\n console.log('[VIEW] Rendering page', pageNumber);\n const page = await this.pdfDocument.getPage(pageNumber);\n const [pageX0, pageY0, pageX1, pageY1] = page.view;\n const rotation = page.rotate;\n\n const viewport = page.getViewport({scale: 1 / 0.75});\n // const viewport = page.getViewport({scale: 1.5});\n const canvas = document.createElement('canvas');\n const canvasContext = canvas.getContext('2d');\n canvas.height = viewport.height;\n canvas.width = viewport.width;\n\n await page.render({canvasContext, viewport});\n this.pdfContainer.appendChild(canvas);\n\n const canvasWidth = canvas.width;\n const canvasHeight = canvas.height;\n const pageWidth = pageX1 - pageX0;\n const pageHeight = pageY1 - pageY0;\n\n this.pagesRendered.sort((a, b) => a.pageNumber - b.pageNumber);\n const previousSibling = this.pagesRendered.filter(page => page.pageNumber < pageNumber).pop();\n const canvasTop = (previousSibling?.canvasBottom || 0) + CANVAS_MARGIN;\n\n const pageDetails = {\n pageNumber,\n width: canvasWidth,\n height: canvasHeight,\n originalWidth: this.isRotated(rotation) ? pageHeight : pageWidth,\n originalHeight: this.isRotated(rotation) ? pageWidth : pageHeight,\n xRatio: canvasWidth / pageWidth,\n yRatio: canvasHeight / pageHeight,\n canvasTop: canvasTop,\n canvasLeft: CANVAS_MARGIN,\n canvasRight: CANVAS_MARGIN + canvasWidth,\n canvasBottom: canvasTop + canvasHeight,\n } as IPDFPageInfo;\n\n if (this.pagesRendered[index]) {\n this.pagesRendered[index] = pageDetails;\n } else {\n this.pagesRendered.push(pageDetails);\n }\n\n const eventData = {pages: this.pagesRendered, numPages: this.numPages, numRendered: this.pagesRendered.length, canvasContainer: this.pdfContainer} as IPDFRenderEvent;\n this.pageRendered.emit(eventData);\n\n if (pageNumber >= this.numPages) {\n console.log('[VIEW] Done rendering');\n this.pagesRendered.sort((a, b) => a.pageNumber - b.pageNumber);\n this.documentRendered.emit(eventData);\n }\n }\n }\n\n componentDidLoad(): void {\n this.pdfContainer = document.getElementById('verdocs-pdf-viewer-container') as HTMLDivElement;\n\n if (this.source) {\n this.loadAndRender(this.source);\n }\n }\n\n onProgress(progress: OnProgressParameters) {\n this.loadProgress = Math.floor((100 * progress.loaded) / progress.total);\n }\n\n loadAndRender(src: string): void {\n console.log('[VIEW] Loading', src);\n console.log('this', this);\n const token = this.endpoint.getToken();\n const httpHeaders = token ? {Authorization: `Bearer ${token}`} : {};\n\n const source = {\n url: src,\n withCredentials: true,\n cMapUrl: CMAPS_URL,\n cMapPacked: true,\n verbosity: VerbosityLevel.WARNINGS,\n httpHeaders,\n } as DocumentInitParameters;\n\n // @ts-ignore\n const loadingTask = pdf.getDocument(source, null, null, this.onProgress);\n loadingTask.onProgress = this.onProgress;\n loadingTask.promise.then((pdfDocument: PDFDocumentProxy) => {\n this.loadProgress = 100;\n this.numPages = pdfDocument.numPages;\n this.fingerprint = pdfDocument.fingerprints[0];\n console.log(`[VIEW] Got PDF document fingerprint \"${this.fingerprint}, ${this.numPages} pages`, pdfDocument);\n\n this.pdfDocument = pdfDocument;\n this.renderPages().catch(e => console.log('Rendering error', e));\n });\n }\n\n render() {\n return (\n <div class=\"container\">\n {this.loadProgress < 100 ? <verdocs-loader /> : <div style={{display: 'none'}} />}\n <div id=\"verdocs-pdf-viewer-container\" />\n </div>\n );\n }\n}\n"],"version":3}
|