From a82706cfc8599cfcaa2d980c4b3341f14f80fd3b Mon Sep 17 00:00:00 2001 From: Bohung Date: Wed, 16 Mar 2022 12:20:40 +0800 Subject: [PATCH] Upgrade pdf.js to lateset(2.14.44 commit-id: 90c5e9882bfaafbc7532fdd04c172d65b6757399). Fix pdfjs print bug. --- .../archive/locale/ach/viewer.properties | 8 - .../archive/locale/af/viewer.properties | 8 - .../archive/locale/an/viewer.properties | 76 +- .../archive/locale/ar/viewer.properties | 22 +- .../archive/locale/ast/viewer.properties | 130 +- .../archive/locale/az/viewer.properties | 18 +- .../archive/locale/be/viewer.properties | 20 +- .../archive/locale/bg/viewer.properties | 8 - .../archive/locale/bn/viewer.properties | 10 - .../archive/locale/bo/viewer.properties | 8 - .../archive/locale/br/viewer.properties | 54 +- .../archive/locale/brx/viewer.properties | 7 - .../archive/locale/bs/viewer.properties | 8 - .../archive/locale/ca/viewer.properties | 24 +- .../archive/locale/cak/viewer.properties | 26 +- .../archive/locale/ckb/viewer.properties | 233 + .../archive/locale/cs/viewer.properties | 21 +- .../archive/locale/cy/viewer.properties | 37 +- .../archive/locale/da/viewer.properties | 24 +- .../archive/locale/de/viewer.properties | 22 +- .../archive/locale/dsb/viewer.properties | 23 +- .../archive/locale/el/viewer.properties | 58 +- .../archive/locale/en-CA/viewer.properties | 30 +- .../archive/locale/en-GB/viewer.properties | 27 +- .../archive/locale/en-US/viewer.properties | 26 +- .../archive/locale/eo/viewer.properties | 20 +- .../archive/locale/es-AR/viewer.properties | 21 +- .../archive/locale/es-CL/viewer.properties | 35 +- .../archive/locale/es-ES/viewer.properties | 20 +- .../archive/locale/es-MX/viewer.properties | 21 +- .../archive/locale/et/viewer.properties | 18 +- .../archive/locale/eu/viewer.properties | 20 +- .../archive/locale/fa/viewer.properties | 8 - .../archive/locale/ff/viewer.properties | 8 - .../archive/locale/fi/viewer.properties | 22 +- .../archive/locale/fr/viewer.properties | 20 +- .../archive/locale/fy-NL/viewer.properties | 23 +- .../archive/locale/ga-IE/viewer.properties | 31 +- .../archive/locale/gd/viewer.properties | 22 +- .../archive/locale/gl/viewer.properties | 20 +- .../archive/locale/gn/viewer.properties | 70 +- .../archive/locale/gu-IN/viewer.properties | 8 - .../archive/locale/he/viewer.properties | 26 +- .../archive/locale/hi-IN/viewer.properties | 10 - .../archive/locale/hr/viewer.properties | 36 +- .../archive/locale/hsb/viewer.properties | 23 +- .../archive/locale/hu/viewer.properties | 21 +- .../archive/locale/hy-AM/viewer.properties | 38 +- .../archive/locale/hye/viewer.properties | 250 + .../archive/locale/ia/viewer.properties | 23 +- .../archive/locale/id/viewer.properties | 20 +- .../archive/locale/is/viewer.properties | 38 +- .../archive/locale/it/viewer.properties | 50 +- .../archive/locale/ja/viewer.properties | 40 +- .../archive/locale/ka/viewer.properties | 36 +- .../archive/locale/kab/viewer.properties | 22 +- .../archive/locale/kk/viewer.properties | 20 +- .../archive/locale/km/viewer.properties | 41 +- .../archive/locale/kn/viewer.properties | 7 - .../archive/locale/ko/viewer.properties | 47 +- .../archive/locale/lij/viewer.properties | 8 - .../archive/locale/lo/viewer.properties | 7 - .../archive/locale/locale.properties | 24 + .../archive/locale/lt/viewer.properties | 32 +- .../archive/locale/ltg/viewer.properties | 8 - .../archive/locale/lv/viewer.properties | 8 - .../archive/locale/meh/viewer.properties | 111 + .../archive/locale/mk/viewer.properties | 7 - .../archive/locale/mr/viewer.properties | 8 - .../archive/locale/ms/viewer.properties | 8 - .../archive/locale/my/viewer.properties | 8 - .../archive/locale/nb-NO/viewer.properties | 20 +- .../archive/locale/ne-NP/viewer.properties | 47 +- .../archive/locale/nl/viewer.properties | 23 +- .../archive/locale/nn-NO/viewer.properties | 20 +- .../archive/locale/oc/viewer.properties | 59 +- .../archive/locale/pa-IN/viewer.properties | 26 +- .../archive/locale/pl/viewer.properties | 20 +- .../archive/locale/pt-BR/viewer.properties | 52 +- .../archive/locale/pt-PT/viewer.properties | 21 +- .../archive/locale/rm/viewer.properties | 20 +- .../archive/locale/ro/viewer.properties | 38 +- .../archive/locale/ru/viewer.properties | 22 +- .../archive/locale/sat/viewer.properties | 197 + .../archive/locale/sc/viewer.properties | 119 + .../archive/locale/sco/viewer.properties | 248 + .../archive/locale/si/viewer.properties | 6 - .../archive/locale/sk/viewer.properties | 27 +- .../archive/locale/sl/viewer.properties | 20 +- .../archive/locale/son/viewer.properties | 8 - .../archive/locale/sq/viewer.properties | 19 +- .../archive/locale/sr/viewer.properties | 44 +- .../archive/locale/sv-SE/viewer.properties | 21 +- .../archive/locale/szl/viewer.properties | 244 + .../archive/locale/ta/viewer.properties | 8 - .../archive/locale/te/viewer.properties | 9 +- .../archive/locale/tg/viewer.properties | 139 + .../archive/locale/th/viewer.properties | 20 +- .../archive/locale/tl/viewer.properties | 144 +- .../archive/locale/tr/viewer.properties | 20 +- .../archive/locale/trs/viewer.properties | 7 - .../archive/locale/uk/viewer.properties | 31 +- .../archive/locale/ur/viewer.properties | 31 +- .../archive/locale/uz/viewer.properties | 7 - .../archive/locale/vi/viewer.properties | 22 +- .../archive/locale/wo/viewer.properties | 2 - .../archive/locale/xh/viewer.properties | 8 - .../archive/locale/zh-CN/viewer.properties | 23 +- .../archive/locale/zh-TW/viewer.properties | 25 +- .../pdf/compressed.tracemonkey-pldi-09.pdf | Bin 0 -> 1016315 bytes .../archive/pdf/images/findbarButton-next.svg | 4 + .../pdf/images/findbarButton-previous.svg | 4 + .../archive/pdf/images/loading-dark.svg | 24 + .../archive/pdf/images/loading.svg | 1 + ...ondaryToolbarButton-documentProperties.svg | 15 + .../secondaryToolbarButton-firstPage.svg | 1 + .../secondaryToolbarButton-handTool.svg | 1 + .../secondaryToolbarButton-lastPage.svg | 1 + .../secondaryToolbarButton-rotateCcw.svg | 1 + .../secondaryToolbarButton-rotateCw.svg | 4 + ...econdaryToolbarButton-scrollHorizontal.svg | 1 + .../secondaryToolbarButton-scrollPage.svg | 1 + .../secondaryToolbarButton-scrollVertical.svg | 1 + .../secondaryToolbarButton-scrollWrapped.svg | 1 + .../secondaryToolbarButton-selectTool.svg | 4 + .../secondaryToolbarButton-spreadEven.svg | 1 + .../secondaryToolbarButton-spreadNone.svg | 1 + .../secondaryToolbarButton-spreadOdd.svg | 1 + .../javascripts/archive/pdf/images/shadow.png | Bin 290 -> 269 bytes .../pdf/images/toolbarButton-bookmark.svg | 1 + .../toolbarButton-currentOutlineItem.svg | 1 + .../pdf/images/toolbarButton-download.svg | 4 + .../pdf/images/toolbarButton-menuArrow.svg | 1 + .../pdf/images/toolbarButton-openFile.svg | 4 + .../pdf/images/toolbarButton-pageDown.svg | 7 + .../pdf/images/toolbarButton-pageUp.svg | 12 + .../images/toolbarButton-presentationMode.svg | 1 + .../pdf/images/toolbarButton-print.svg | 4 + .../pdf/images/toolbarButton-search.svg | 4 + .../toolbarButton-secondaryToolbarToggle.svg | 4 + .../images/toolbarButton-sidebarToggle.svg | 4 + .../images/toolbarButton-viewAttachments.svg | 1 + .../pdf/images/toolbarButton-viewLayers.svg | 1 + .../pdf/images/toolbarButton-viewOutline.svg | 1 + .../images/toolbarButton-viewThumbnail.svg | 4 + .../pdf/images/toolbarButton-zoomIn.svg | 4 + .../pdf/images/toolbarButton-zoomOut.svg | 4 + .../archive/pdf/images/treeitem-collapsed.svg | 1 + .../archive/pdf/images/treeitem-expanded.svg | 1 + app/assets/javascripts/archive/pdf/pdf.js | 27455 ++- app/assets/javascripts/archive/pdf/pdf.js.map | 10 +- .../javascripts/archive/pdf/pdf.sandbox.js | 416 + .../archive/pdf/pdf.sandbox.js.map | 1 + .../javascripts/archive/pdf/pdf.worker.js | 133323 +++++++++------ .../javascripts/archive/pdf/pdf.worker.js.map | 2 +- .../pdf/standard_fonts/FoxitDingbats.pfb | Bin 0 -> 29513 bytes .../archive/pdf/standard_fonts/FoxitFixed.pfb | Bin 0 -> 17597 bytes .../pdf/standard_fonts/FoxitFixedBold.pfb | Bin 0 -> 18055 bytes .../standard_fonts/FoxitFixedBoldItalic.pfb | Bin 0 -> 19151 bytes .../pdf/standard_fonts/FoxitFixedItalic.pfb | Bin 0 -> 18746 bytes .../archive/pdf/standard_fonts/FoxitSans.pfb | Bin 0 -> 15025 bytes .../pdf/standard_fonts/FoxitSansBold.pfb | Bin 0 -> 16344 bytes .../standard_fonts/FoxitSansBoldItalic.pfb | Bin 0 -> 16418 bytes .../pdf/standard_fonts/FoxitSansItalic.pfb | Bin 0 -> 16339 bytes .../archive/pdf/standard_fonts/FoxitSerif.pfb | Bin 0 -> 19469 bytes .../pdf/standard_fonts/FoxitSerifBold.pfb | Bin 0 -> 19395 bytes .../standard_fonts/FoxitSerifBoldItalic.pfb | Bin 0 -> 20733 bytes .../pdf/standard_fonts/FoxitSerifItalic.pfb | Bin 0 -> 21227 bytes .../pdf/standard_fonts/FoxitSymbol.pfb | Bin 0 -> 16729 bytes .../archive/pdf/standard_fonts/LICENSE_FOXIT | 27 + .../pdf/standard_fonts/LICENSE_LIBERATION | 102 + .../standard_fonts/LiberationSans-Bold.ttf | Bin 0 -> 137052 bytes .../LiberationSans-BoldItalic.ttf | Bin 0 -> 135124 bytes .../standard_fonts/LiberationSans-Italic.ttf | Bin 0 -> 162036 bytes .../standard_fonts/LiberationSans-Regular.ttf | Bin 0 -> 139512 bytes app/assets/javascripts/archive/pdf/viewer.css | 2233 +- app/assets/javascripts/archive/pdf/viewer.js | 17586 +- .../javascripts/archive/pdf/viewer.js.map | 10 +- app/views/archives/_viewer.html.erb | 105 +- 179 files changed, 113304 insertions(+), 72206 deletions(-) create mode 100644 app/assets/javascripts/archive/locale/ckb/viewer.properties create mode 100644 app/assets/javascripts/archive/locale/hye/viewer.properties create mode 100644 app/assets/javascripts/archive/locale/meh/viewer.properties create mode 100644 app/assets/javascripts/archive/locale/sat/viewer.properties create mode 100644 app/assets/javascripts/archive/locale/sc/viewer.properties create mode 100644 app/assets/javascripts/archive/locale/sco/viewer.properties create mode 100644 app/assets/javascripts/archive/locale/szl/viewer.properties create mode 100644 app/assets/javascripts/archive/locale/tg/viewer.properties create mode 100644 app/assets/javascripts/archive/pdf/compressed.tracemonkey-pldi-09.pdf create mode 100644 app/assets/javascripts/archive/pdf/images/findbarButton-next.svg create mode 100644 app/assets/javascripts/archive/pdf/images/findbarButton-previous.svg create mode 100644 app/assets/javascripts/archive/pdf/images/loading-dark.svg create mode 100644 app/assets/javascripts/archive/pdf/images/loading.svg create mode 100644 app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-documentProperties.svg create mode 100644 app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-firstPage.svg create mode 100644 app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-handTool.svg create mode 100644 app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-lastPage.svg create mode 100644 app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-rotateCcw.svg create mode 100644 app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-rotateCw.svg create mode 100644 app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-scrollHorizontal.svg create mode 100644 app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-scrollPage.svg create mode 100644 app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-scrollVertical.svg create mode 100644 app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-scrollWrapped.svg create mode 100644 app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-selectTool.svg create mode 100644 app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-spreadEven.svg create mode 100644 app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-spreadNone.svg create mode 100644 app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-spreadOdd.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-bookmark.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-currentOutlineItem.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-download.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-menuArrow.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-openFile.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-pageDown.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-pageUp.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-presentationMode.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-print.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-search.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-secondaryToolbarToggle.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-sidebarToggle.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-viewAttachments.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-viewLayers.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-viewOutline.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-viewThumbnail.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-zoomIn.svg create mode 100644 app/assets/javascripts/archive/pdf/images/toolbarButton-zoomOut.svg create mode 100644 app/assets/javascripts/archive/pdf/images/treeitem-collapsed.svg create mode 100644 app/assets/javascripts/archive/pdf/images/treeitem-expanded.svg create mode 100644 app/assets/javascripts/archive/pdf/pdf.sandbox.js create mode 100644 app/assets/javascripts/archive/pdf/pdf.sandbox.js.map create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/FoxitDingbats.pfb create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/FoxitFixed.pfb create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/FoxitFixedBold.pfb create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/FoxitFixedBoldItalic.pfb create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/FoxitFixedItalic.pfb create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/FoxitSans.pfb create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/FoxitSansBold.pfb create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/FoxitSansBoldItalic.pfb create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/FoxitSansItalic.pfb create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/FoxitSerif.pfb create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/FoxitSerifBold.pfb create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/FoxitSerifBoldItalic.pfb create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/FoxitSerifItalic.pfb create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/FoxitSymbol.pfb create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/LICENSE_FOXIT create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/LICENSE_LIBERATION create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/LiberationSans-Bold.ttf create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/LiberationSans-BoldItalic.ttf create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/LiberationSans-Italic.ttf create mode 100644 app/assets/javascripts/archive/pdf/standard_fonts/LiberationSans-Regular.ttf diff --git a/app/assets/javascripts/archive/locale/ach/viewer.properties b/app/assets/javascripts/archive/locale/ach/viewer.properties index 57c6a91..3a74d76 100644 --- a/app/assets/javascripts/archive/locale/ach/viewer.properties +++ b/app/assets/javascripts/archive/locale/ach/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Neno ma kombedi tools.title=Gintic tools_label=Gintic first_page.title=Cit i pot buk mukwongo -first_page.label=Cit i pot buk mukwongo first_page_label=Cit i pot buk mukwongo last_page.title=Cit i pot buk magiko -last_page.label=Cit i pot buk magiko last_page_label=Cit i pot buk magiko page_rotate_cw.title=Wire i tung lacuc -page_rotate_cw.label=Wire i tung lacuc page_rotate_cw_label=Wire i tung lacuc page_rotate_ccw.title=Wire i tung lacam -page_rotate_ccw.label=Wire i tung lacam page_rotate_ccw_label=Wire i tung lacam cursor_text_select_tool.title=Cak gitic me yero coc @@ -124,7 +120,6 @@ print_progress_close=Juki # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Lok gintic ma inget -toggle_sidebar_notification.title=Lok lanyut me nget (wiyewiye tye i gin acoya/attachments) toggle_sidebar_label=Lok gintic ma inget document_outline.title=Nyut Wiyewiye me Gin acoya (dii-kiryo me yaro/kano jami weng) document_outline_label=Pek pa gin acoya @@ -184,8 +179,6 @@ page_scale_actual=Dite kikome # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Bal loading_error=Bal otime kun cano PDF. invalid_file_error=Pwail me PDF ma pe atir onyo obale woko. missing_file_error=Pwail me PDF tye ka rem. @@ -204,4 +197,3 @@ password_cancel=Juki printing_not_supported=Ciko: Layeny ma pe teno goyo liweng. printing_not_ready=Ciko: PDF pe ocane weng me agoya. web_fonts_disabled=Kijuko dit pa coc me kakube woko: pe romo tic ki dit pa coc me PDF ma kiketo i kine. -document_colors_not_allowed=Pe ki yee ki gin acoya me PDF me tic ki rangi gi kengi: Kijuko woko “Yee pot buk me yero rangi mamegi kengi” ki i layeny. diff --git a/app/assets/javascripts/archive/locale/af/viewer.properties b/app/assets/javascripts/archive/locale/af/viewer.properties index 8cf0880..9bd5476 100644 --- a/app/assets/javascripts/archive/locale/af/viewer.properties +++ b/app/assets/javascripts/archive/locale/af/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Huidige aansig tools.title=Nutsgoed tools_label=Nutsgoed first_page.title=Gaan na eerste bladsy -first_page.label=Gaan na eerste bladsy first_page_label=Gaan na eerste bladsy last_page.title=Gaan na laaste bladsy -last_page.label=Gaan na laaste bladsy last_page_label=Gaan na laaste bladsy page_rotate_cw.title=Roteer kloksgewys -page_rotate_cw.label=Roteer kloksgewys page_rotate_cw_label=Roteer kloksgewys page_rotate_ccw.title=Roteer anti-kloksgewys -page_rotate_ccw.label=Roteer anti-kloksgewys page_rotate_ccw_label=Roteer anti-kloksgewys cursor_text_select_tool.title=Aktiveer gereedskap om teks te merk @@ -101,7 +97,6 @@ print_progress_close=Kanselleer # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Sypaneel aan/af -toggle_sidebar_notification.title=Sypaneel aan/af (dokument bevat skema/aanhegsels) toggle_sidebar_label=Sypaneel aan/af document_outline.title=Wys dokumentskema (dubbelklik om alle items oop/toe te vou) document_outline_label=Dokumentoorsig @@ -161,8 +156,6 @@ page_scale_actual=Werklike grootte # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Fout loading_error='n Fout het voorgekom met die laai van die PDF. invalid_file_error=Ongeldige of korrupte PDF-lêer. missing_file_error=PDF-lêer is weg. @@ -181,4 +174,3 @@ password_cancel=Kanselleer printing_not_supported=Waarskuwing: Dié blaaier ondersteun nie drukwerk ten volle nie. printing_not_ready=Waarskuwing: Die PDF is nog nie volledig gelaai vir drukwerk nie. web_fonts_disabled=Webfonte is gedeaktiveer: kan nie PDF-fonte wat ingebed is, gebruik nie. -document_colors_not_allowed=PDF-dokumente word nie toegelaat om hul eie kleure te gebruik nie: “Laat bladsye toe om hul eie kleure te kies” is gedeaktiveer in die blaaier. diff --git a/app/assets/javascripts/archive/locale/an/viewer.properties b/app/assets/javascripts/archive/locale/an/viewer.properties index 3576134..16028f3 100644 --- a/app/assets/javascripts/archive/locale/an/viewer.properties +++ b/app/assets/javascripts/archive/locale/an/viewer.properties @@ -42,22 +42,18 @@ print_label=Imprentar download.title=Descargar download_label=Descargar bookmark.title=Vista actual (copiar u ubrir en una nueva finestra) -bookmark_label=Anvista actual +bookmark_label=Vista actual # Secondary toolbar and context menu tools.title=Ferramientas tools_label=Ferramientas first_page.title=Ir ta la primer pachina -first_page.label=Ir ta la primer pachina first_page_label=Ir ta la primer pachina last_page.title=Ir ta la zaguer pachina -last_page.label=Ir ta la zaguera pachina last_page_label=Ir ta la zaguer pachina page_rotate_cw.title=Chirar enta la dreita -page_rotate_cw.label=Chirar enta la dreita page_rotate_cw_label=Chira enta la dreita page_rotate_ccw.title=Chirar enta la zurda -page_rotate_ccw.label=Chirar en sentiu antihorario page_rotate_ccw_label=Chirar enta la zurda cursor_text_select_tool.title=Activar la ferramienta de selección de texto @@ -65,6 +61,20 @@ cursor_text_select_tool_label=Ferramienta de selección de texto cursor_hand_tool.title=Activar la ferramienta man cursor_hand_tool_label=Ferramienta man +scroll_vertical.title=Usar lo desplazamiento vertical +scroll_vertical_label=Desplazamiento vertical +scroll_horizontal.title=Usar lo desplazamiento horizontal +scroll_horizontal_label=Desplazamiento horizontal +scroll_wrapped.title=Activaar lo desplazamiento contino +scroll_wrapped_label=Desplazamiento contino + +spread_none.title=No unir vistas de pachinas +spread_none_label=Una pachina nomás +spread_odd.title=Mostrar vista de pachinas, con as impars a la zurda +spread_odd_label=Doble pachina, impar a la zurda +spread_even.title=Amostrar vista de pachinas, con as pars a la zurda +spread_even_label=Doble pachina, para a la zurda + # Document properties dialog box document_properties.title=Propiedatz d'o documento... document_properties_label=Propiedatz d'o documento... @@ -89,6 +99,28 @@ document_properties_creator=Creyador: document_properties_producer=Creyador de PDF: document_properties_version=Versión de PDF: document_properties_page_count=Numero de pachinas: +document_properties_page_size=Mida de pachina: +document_properties_page_size_unit_inches=pulgadas +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=vertical +document_properties_page_size_orientation_landscape=horizontal +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Carta +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} x {{height}} {{unit}} {{orientation}} +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} x {{height}} {{unit}} {{name}}, {{orientation}} +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Vista web rapida: +document_properties_linearized_yes=Sí +document_properties_linearized_no=No document_properties_close=Zarrar print_progress_message=Se ye preparando la documentación pa imprentar… @@ -101,17 +133,20 @@ print_progress_close=Cancelar # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Amostrar u amagar a barra lateral -toggle_sidebar_notification.title=Cambiar barra lateral (lo documento contiene esquema/adchuntos) +toggle_sidebar_notification2.title=Cambiar barra lateral (lo documento contiene esquema/adchuntos/capas) toggle_sidebar_label=Amostrar a barra lateral document_outline.title=Amostrar esquema d'o documento (fer doble clic pa expandir/compactar totz los items) document_outline_label=Esquema d'o documento attachments.title=Amostrar os adchuntos attachments_label=Adchuntos +layers.title=Amostrar capas (doble clic para reiniciar totas las capas a lo estau per defecto) +layers_label=Capas thumbs.title=Amostrar as miniaturas thumbs_label=Miniaturas findbar.title=Trobar en o documento findbar_label=Trobar +additional_layers=Capas adicionals # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -129,8 +164,30 @@ find_next.title=Trobar a siguient coincidencia d'a frase find_next_label=Siguient find_highlight=Resaltar-lo tot find_match_case_label=Coincidencia de mayusclas/minusclas +find_entire_word_label=Parolas completas find_reached_top=S'ha plegau a l'inicio d'o documento, se contina dende baixo find_reached_bottom=S'ha plegau a la fin d'o documento, se contina dende alto +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} de {{total}} coincidencia +find_match_count[two]={{current}} de {{total}} coincidencias +find_match_count[few]={{current}} de {{total}} coincidencias +find_match_count[many]={{current}} de {{total}} coincidencias +find_match_count[other]={{current}} de {{total}} coincidencias +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Mas de {{limit}} coincidencias +find_match_count_limit[one]=Mas de {{limit}} coincidencias +find_match_count_limit[two]=Mas que {{limit}} coincidencias +find_match_count_limit[few]=Mas que {{limit}} coincidencias +find_match_count_limit[many]=Mas que {{limit}} coincidencias +find_match_count_limit[other]=Mas que {{limit}} coincidencias find_not_found=No s'ha trobau a frase # Error panel labels @@ -161,13 +218,15 @@ page_scale_actual=Grandaria actual # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Error loading_error=S'ha produciu una error en cargar o PDF. invalid_file_error=O PDF no ye valido u ye estorbau. missing_file_error=No i ha fichero PDF. unexpected_response_error=Respuesta a lo servicio inasperada. +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. # "{{type}}" will be replaced with an annotation type from a list defined in # the PDF spec (32000-1:2008 Table 169 – Annotation types). @@ -181,4 +240,3 @@ password_cancel=Cancelar printing_not_supported=Pare cuenta: Iste navegador no maneya totalment as impresions. printing_not_ready=Aviso: Encara no se ha cargau completament o PDF ta imprentar-lo. web_fonts_disabled=As fuents web son desactivadas: no se puet incrustar fichers PDF. -document_colors_not_allowed=Los documentos PDF no pueden fer servir las suyas propias colors: 'Permitir que as pachinas triguen as suyas propias colors' ye desactivau en o navegador. diff --git a/app/assets/javascripts/archive/locale/ar/viewer.properties b/app/assets/javascripts/archive/locale/ar/viewer.properties index b42ba74..082816f 100644 --- a/app/assets/javascripts/archive/locale/ar/viewer.properties +++ b/app/assets/javascripts/archive/locale/ar/viewer.properties @@ -47,17 +47,13 @@ bookmark_label=المنظور الحالي # Secondary toolbar and context menu tools.title=الأدوات tools_label=الأدوات -first_page.title=اذهب إلى الصفحة الأولى -first_page.label=اذهب إلى الصفحة الأولى -first_page_label=اذهب إلى الصفحة الأولى -last_page.title=اذهب إلى الصفحة الأخيرة -last_page.label=اذهب إلى الصفحة الأخيرة -last_page_label=اذهب إلى الصفحة الأخيرة +first_page.title=انتقل إلى الصفحة الأولى +first_page_label=انتقل إلى الصفحة الأولى +last_page.title=انتقل إلى الصفحة الأخيرة +last_page_label=انتقل إلى الصفحة الأخيرة page_rotate_cw.title=أدر باتجاه عقارب الساعة -page_rotate_cw.label=أدر باتجاه عقارب الساعة page_rotate_cw_label=أدر باتجاه عقارب الساعة page_rotate_ccw.title=أدر بعكس اتجاه عقارب الساعة -page_rotate_ccw.label=أدر بعكس اتجاه عقارب الساعة page_rotate_ccw_label=أدر بعكس اتجاه عقارب الساعة cursor_text_select_tool.title=فعّل أداة اختيار النص @@ -137,17 +133,22 @@ print_progress_close=ألغِ # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=بدّل ظهور الشريط الجانبي -toggle_sidebar_notification.title=بدّل ظهور الشريط الجانبي (يحتوي المستند على مخطط أو مرفقات) +toggle_sidebar_notification2.title=بدّل ظهور الشريط الجانبي (يحتوي المستند على مخطط أو مرفقات أو طبقات) toggle_sidebar_label=بدّل ظهور الشريط الجانبي document_outline.title=اعرض فهرس المستند (نقر مزدوج لتمديد أو تقليص كل العناصر) document_outline_label=مخطط المستند attachments.title=اعرض المرفقات attachments_label=المُرفقات +layers.title=اعرض الطبقات (انقر مرتين لتصفير كل الطبقات إلى الحالة المبدئية) +layers_label=‏‏الطبقات thumbs.title=اعرض مُصغرات thumbs_label=مُصغّرات findbar.title=ابحث في المستند findbar_label=ابحث +additional_layers=الطبقات الإضافية +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=صفحة {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -220,7 +221,7 @@ page_scale_actual=الحجم الفعلي page_scale_percent={{scale}}٪ # Loading indicator messages -loading_error_indicator=عطل +loading=يحمّل… loading_error=حدث عطل أثناء تحميل ملف PDF. invalid_file_error=ملف PDF تالف أو غير صحيح. missing_file_error=ملف PDF غير موجود. @@ -243,4 +244,3 @@ password_cancel=ألغِ printing_not_supported=تحذير: لا يدعم هذا المتصفح الطباعة بشكل كامل. printing_not_ready=تحذير: ملف PDF لم يُحمّل كاملًا للطباعة. web_fonts_disabled=خطوط الوب مُعطّلة: تعذّر استخدام خطوط PDF المُضمّنة. -document_colors_not_allowed=ليس مسموحًا لملفات PDF باستخدام ألوانها الخاصة: خيار ”اسمح للصفحات باختيار ألوانها الخاصة“ ليس مُفعّلًا في المتصفح. diff --git a/app/assets/javascripts/archive/locale/ast/viewer.properties b/app/assets/javascripts/archive/locale/ast/viewer.properties index db66a56..1f8bb2e 100644 --- a/app/assets/javascripts/archive/locale/ast/viewer.properties +++ b/app/assets/javascripts/archive/locale/ast/viewer.properties @@ -28,44 +28,51 @@ of_pages=de {{pagesCount}} # respectively a number representing the total number of pages in the document. page_of_pages=({{pageNumber}} de {{pagesCount}}) -zoom_out.title=Reducir -zoom_out_label=Reducir -zoom_in.title=Aumentar -zoom_in_label=Aumentar -zoom.title=Tamañu -open_file.title=Abrir ficheru +zoom_out.title=Alloñar +zoom_out_label=Alloña +zoom_in.title=Averar +zoom_in_label=Avera +zoom.title=Zoom +presentation_mode.title=Cambiar al mou de presentación +presentation_mode_label=Mou de presentación open_file_label=Abrir print.title=Imprentar print_label=Imprentar -download.title=Descargar -download_label=Descargar -bookmark.title=Vista actual (copiar o abrir nuna nueva ventana) +download.title=Baxar +download_label=Baxar bookmark_label=Vista actual # Secondary toolbar and context menu tools.title=Ferramientes tools_label=Ferramientes -first_page.title=Dir a la primer páxina -first_page.label=Dir a la primer páxina first_page_label=Dir a la primer páxina -last_page.title=Dir a la postrer páxina -last_page.label=Dir a la cabera páxina -last_page_label=Dir a la postrer páxina -page_rotate_cw.title=Xirar en sen horariu -page_rotate_cw_label=Xirar en sen horariu -page_rotate_ccw.title=Xirar en sen antihorariu -page_rotate_ccw_label=Xirar en sen antihorariu +last_page_label=Dir a la última páxina +page_rotate_cw.title=Voltia a la derecha +page_rotate_cw_label=Voltiar a la derecha +page_rotate_ccw.title=Voltia a la esquierda +page_rotate_ccw_label=Voltiar a la esquierda +cursor_text_select_tool.title=Activa la ferramienta d'esbilla de testu +cursor_text_select_tool_label=Ferramienta d'esbilla de testu +cursor_hand_tool.title=Activa la ferramienta de mano +cursor_hand_tool_label=Ferramienta de mano +scroll_vertical.title=Usa'l desplazamientu vertical scroll_vertical_label=Desplazamientu vertical +scroll_horizontal.title=Usa'l desplazamientu horizontal scroll_horizontal_label=Desplazamientu horizontal +scroll_wrapped.title=Usa'l desplazamientu continuu +scroll_wrapped_label=Desplazamientu continuu +spread_none_label=Fueyes individuales +spread_odd_label=Fueyes pares +spread_even_label=Fueyes impares # Document properties dialog box document_properties.title=Propiedaes del documentu… document_properties_label=Propiedaes del documentu… -document_properties_file_name=Nome de ficheru: -document_properties_file_size=Tamañu de ficheru: +document_properties_file_name=Nome del ficheru: +document_properties_file_size=Tamañu del ficheru: # LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" # will be replaced by the PDF file size in kilobytes, respectively in bytes. document_properties_kb={{size_kb}} KB ({{size_b}} bytes) @@ -73,20 +80,20 @@ document_properties_kb={{size_kb}} KB ({{size_b}} bytes) # will be replaced by the PDF file size in megabytes, respectively in bytes. document_properties_mb={{size_mb}} MB ({{size_b}} bytes) document_properties_title=Títulu: -document_properties_author=Autor: -document_properties_subject=Asuntu: document_properties_keywords=Pallabres clave: document_properties_creation_date=Data de creación: document_properties_modification_date=Data de modificación: # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" # will be replaced by the creation/modification date, and time, of the PDF file. document_properties_date_string={{date}}, {{time}} -document_properties_creator=Creador: -document_properties_producer=Productor PDF: -document_properties_version=Versión PDF: +document_properties_producer=Productor del PDF: +document_properties_version=Versión del PDF: document_properties_page_count=Númberu de páxines: +document_properties_page_size=Tamañu de páxina: document_properties_page_size_unit_inches=in document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=vertical +document_properties_page_size_orientation_landscape=horizontal document_properties_page_size_name_a3=A3 document_properties_page_size_name_a4=A4 # LOCALIZATION NOTE (document_properties_page_size_dimension_string): @@ -99,11 +106,11 @@ document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) # LOCALIZATION NOTE (document_properties_linearized): The linearization status of # the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Vista web rápida: document_properties_linearized_yes=Sí document_properties_linearized_no=Non document_properties_close=Zarrar -print_progress_message=Tresnando documentu pa imprentar… # LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by # a numerical per cent value. print_progress_percent={{progress}}% @@ -112,54 +119,56 @@ print_progress_close=Encaboxar # Tooltips and alt text for side panel toolbar buttons # (the _label strings are alt text for the buttons, the .title strings are # tooltips) -toggle_sidebar.title=Camudar barra llateral -toggle_sidebar_label=Camudar barra llateral -document_outline.title=Amosar esquema del documentu (duble clic pa espander/contrayer tolos elementos) -document_outline_label=Esquema del documentu -attachments.title=Amosar axuntos +toggle_sidebar.title=Alternar la barra llateral +attachments.title=Amosar los axuntos attachments_label=Axuntos -thumbs.title=Amosar miniatures +layers_label=Capes +thumbs.title=Amosar les miniatures thumbs_label=Miniatures -findbar.title=Guetar nel documentu -findbar_label=Guetar +findbar_label=Atopar +additional_layers=Capes adicionales +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Páxina {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. thumb_page_title=Páxina {{page}} # LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page # number. -thumb_page_canvas=Miniatura de la páxina {{page}} # Find panel button title and messages -find_input.title=Guetar -find_input.placeholder=Guetar nel documentu… -find_previous.title=Alcontrar l'anterior apaición de la fras find_previous_label=Anterior -find_next.title=Alcontrar la siguiente apaición d'esta fras find_next_label=Siguiente -find_highlight=Remarcar toos -find_match_case_label=Coincidencia de mayús./minús. -find_entire_word_label=Pallabres enteres -find_reached_top=Algamóse'l principiu del documentu, siguir dende'l final -find_reached_bottom=Algamóse'l final del documentu, siguir dende'l principiu +find_entire_word_label=Pallabres completes +find_reached_top=Algamóse'l comienzu de la páxina, síguese dende abaxo +find_reached_bottom=Algamóse la fin del documentu, síguese dende arriba # LOCALIZATION NOTE (find_match_count): The supported plural forms are # [one|two|few|many|other], with [other] as the default value. # "{{current}}" and "{{total}}" will be replaced by a number representing the # index of the currently active find result, respectively a number representing # the total number of matches in the document. +find_match_count[one]={{current}} de {{total}} coincidencia +find_match_count[two]={{current}} de {{total}} coincidencies +find_match_count[few]={{current}} de {{total}} coincidencies +find_match_count[many]={{current}} de {{total}} coincidencies +find_match_count[other]={{current}} de {{total}} coincidencies # LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are # [zero|one|two|few|many|other], with [other] as the default value. # "{{limit}}" will be replaced by a numerical value. -find_not_found=Frase non atopada +find_match_count_limit[zero]=Más de {{limit}} coincidencies +find_match_count_limit[one]=Más de {{limit}} coincidencia +find_match_count_limit[two]=Más de {{limit}} coincidencies +find_match_count_limit[few]=Más de {{limit}} coincidencies +find_match_count_limit[many]=Más de {{limit}} coincidencies +find_match_count_limit[other]=Más de {{limit}} coincidencies # Error panel labels error_more_info=Más información error_less_info=Menos información -error_close=Zarrar # LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be # replaced by the PDF.JS version and build ID. -error_version_info=PDF.js v{{version}} (build: {{build}}) +error_version_info=PDF.js v{{version}} (compilación: {{build}}) # LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an # english string describing the error. error_message=Mensaxe: {{message}} @@ -170,38 +179,29 @@ error_stack=Pila: {{stack}} error_file=Ficheru: {{file}} # LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number error_line=Llinia: {{line}} -rendering_error=Hebo un fallu al renderizar la páxina. # Predefined zoom values -page_scale_width=Anchor de la páxina -page_scale_fit=Axuste de la páxina -page_scale_auto=Tamañu automáticu -page_scale_actual=Tamañu actual +page_scale_auto=Zoom automáticu +page_scale_actual=Tamañu real # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a # numerical scale value. page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Fallu -loading_error=Hebo un fallu al cargar el PDF. -invalid_file_error=Ficheru PDF inválidu o corruptu. -missing_file_error=Nun hai ficheru PDF. -unexpected_response_error=Rempuesta inesperada del sirvidor. +loading=Cargando… +loading_error=Asocedió un fallu mentanto se cargaba'l PDF. # LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be # replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. # "{{type}}" will be replaced with an annotation type from a list defined in # the PDF spec (32000-1:2008 Table 169 – Annotation types). # Some common types are e.g.: "Check", "Text", "Comment", "Note" -text_annotation_type.alt=[Anotación {{type}}] -password_label=Introduz la contraseña p'abrir esti ficheru PDF -password_invalid=Contraseña non válida. Vuelvi a intentalo. -password_ok=Aceutar +password_ok=Aceptar password_cancel=Encaboxar -printing_not_supported=Alvertencia: La imprentación entá nun ta sofitada dafechu nesti restolador. -printing_not_ready=Avisu: Esti PDF nun se cargó completamente pa poder imprentase. -web_fonts_disabled=Les fontes web tán desactivaes: ye imposible usar les fontes PDF embebíes. -document_colors_not_allowed=Los documentos PDF nun tienen permisu pa usar les sos colores: «Permitir que les páxines escueyan les sos colores» ta desactivao nel restolador. +# LOCALIZATION NOTE (unsupported_feature_signatures): Should contain the same +# exact string as in the `chrome.properties` file. + diff --git a/app/assets/javascripts/archive/locale/az/viewer.properties b/app/assets/javascripts/archive/locale/az/viewer.properties index 2c27d12..bdc0ce6 100644 --- a/app/assets/javascripts/archive/locale/az/viewer.properties +++ b/app/assets/javascripts/archive/locale/az/viewer.properties @@ -39,8 +39,8 @@ open_file.title=Fayl Aç open_file_label=Aç print.title=Yazdır print_label=Yazdır -download.title=Yüklə -download_label=Yüklə +download.title=Endir +download_label=Endir bookmark.title=Hazırkı görünüş (köçür və ya yeni pəncərədə aç) bookmark_label=Hazırkı görünüş @@ -48,16 +48,12 @@ bookmark_label=Hazırkı görünüş tools.title=Alətlər tools_label=Alətlər first_page.title=İlk Səhifəyə get -first_page.label=İlk Səhifəyə get first_page_label=İlk Səhifəyə get last_page.title=Son Səhifəyə get -last_page.label=Son Səhifəyə get last_page_label=Son Səhifəyə get page_rotate_cw.title=Saat İstiqamətində Fırlat -page_rotate_cw.label=Saat İstiqamətində Fırlat page_rotate_cw_label=Saat İstiqamətində Fırlat page_rotate_ccw.title=Saat İstiqamətinin Əksinə Fırlat -page_rotate_ccw.label=Saat İstiqamətinin Əksinə Fırlat page_rotate_ccw_label=Saat İstiqamətinin Əksinə Fırlat cursor_text_select_tool.title=Yazı seçmə alətini aktivləşdir @@ -137,19 +133,20 @@ print_progress_close=Ləğv et # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Yan Paneli Aç/Bağla -toggle_sidebar_notification.title=Yan paneli çevir (sənəddə icmal/bağlama var) +toggle_sidebar_notification2.title=Yan paneli çevir (sənəddə icmal/bağlamalar/laylar mövcuddur) toggle_sidebar_label=Yan Paneli Aç/Bağla document_outline.title=Sənədin eskizini göstər (bütün bəndləri açmaq/yığmaq üçün iki dəfə klikləyin) document_outline_label=Sənəd strukturu attachments.title=Bağlamaları göstər attachments_label=Bağlamalar +layers.title=Layları göstər (bütün layları ilkin halına sıfırlamaq üçün iki dəfə klikləyin) +layers_label=Laylar thumbs.title=Kiçik şəkilləri göstər thumbs_label=Kiçik şəkillər findbar.title=Sənəddə Tap findbar_label=Tap -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Səhifə {{page}} +additional_layers=Əlavə laylar # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -221,8 +218,6 @@ page_scale_actual=Hazırkı Həcm # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Səhv loading_error=PDF yüklenərkən bir səhv yarandı. invalid_file_error=Səhv və ya zədələnmiş olmuş PDF fayl. missing_file_error=PDF fayl yoxdur. @@ -245,4 +240,3 @@ password_cancel=Ləğv et printing_not_supported=Xəbərdarlıq: Çap bu səyyah tərəfindən tam olaraq dəstəklənmir. printing_not_ready=Xəbərdarlıq: PDF çap üçün tam yüklənməyib. web_fonts_disabled=Web Şriftlər söndürülüb: yerləşdirilmiş PDF şriftlərini istifadə etmək mümkün deyil. -document_colors_not_allowed=PDF sənədlərə öz rənglərini işlətməyə icazə verilmir: “Səhifələrə öz rənglərini istifadə etməyə icazə ver”mə səyyahda söndürülüb. diff --git a/app/assets/javascripts/archive/locale/be/viewer.properties b/app/assets/javascripts/archive/locale/be/viewer.properties index 67cd012..ec3002c 100644 --- a/app/assets/javascripts/archive/locale/be/viewer.properties +++ b/app/assets/javascripts/archive/locale/be/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Цяперашняя праява tools.title=Прылады tools_label=Прылады first_page.title=Перайсці на першую старонку -first_page.label=Перайсці на першую старонку first_page_label=Перайсці на першую старонку last_page.title=Перайсці на апошнюю старонку -last_page.label=Перайсці на апошнюю старонку last_page_label=Перайсці на апошнюю старонку page_rotate_cw.title=Павярнуць па сонцу -page_rotate_cw.label=Павярнуць па сонцу page_rotate_cw_label=Павярнуць па сонцу page_rotate_ccw.title=Павярнуць супраць сонца -page_rotate_ccw.label=Павярнуць супраць сонца page_rotate_ccw_label=Павярнуць супраць сонца cursor_text_select_tool.title=Уключыць прыладу выбару тэксту @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Прылада выбару тэксту cursor_hand_tool.title=Уключыць ручную прыладу cursor_hand_tool_label=Ручная прылада +scroll_page.title=Выкарыстоўваць пракрутку старонкi +scroll_page_label=Пракрутка старонкi scroll_vertical.title=Ужываць вертыкальную пракрутку scroll_vertical_label=Вертыкальная пракрутка scroll_horizontal.title=Ужываць гарызантальную пракрутку @@ -137,19 +135,24 @@ print_progress_close=Скасаваць # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Паказаць/схаваць бакавую панэль -toggle_sidebar_notification.title=Паказаць/схаваць бакавую панэль (дакумент мае змест/укладанні) +toggle_sidebar_notification2.title=Паказаць/схаваць бакавую панэль (дакумент мае змест/укладанні/пласты) toggle_sidebar_label=Паказаць/схаваць бакавую панэль document_outline.title=Паказаць структуру дакумента (двайная пстрычка, каб разгарнуць /згарнуць усе элементы) document_outline_label=Структура дакумента attachments.title=Паказаць далучэнні attachments_label=Далучэнні +layers.title=Паказаць пласты (двойчы пстрыкніце, каб скінуць усе пласты да прадвызначанага стану) +layers_label=Пласты thumbs.title=Паказ мініяцюр thumbs_label=Мініяцюры +current_outline_item.title=Знайсці бягучы элемент структуры +current_outline_item_label=Бягучы элемент структуры findbar.title=Пошук у дакуменце findbar_label=Знайсці -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Старонка {{page}} +additional_layers=Дадатковыя пласты +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Старонка {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Сапраўдны памер page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Памылка +loading=Чытаецца… loading_error=Здарылася памылка падчас загрузкі PDF. invalid_file_error=Няспраўны або пашкоджаны файл PDF. missing_file_error=Адсутны файл PDF. @@ -245,4 +248,3 @@ password_cancel=Скасаваць printing_not_supported=Папярэджанне: друк не падтрымліваецца цалкам гэтым браўзерам. printing_not_ready=Увага: PDF не сцягнуты цалкам для друкавання. web_fonts_disabled=Шрыфты Сеціва забаронены: немагчыма ўжываць укладзеныя шрыфты PDF. -document_colors_not_allowed=PDF-дакументам не дазволена выкарыстоўваць свае колеры: у браўзеры адключаны параметр "Дазволіць вэб-сайтам выкарыстоўваць свае колеры". diff --git a/app/assets/javascripts/archive/locale/bg/viewer.properties b/app/assets/javascripts/archive/locale/bg/viewer.properties index 713b113..0ec7649 100644 --- a/app/assets/javascripts/archive/locale/bg/viewer.properties +++ b/app/assets/javascripts/archive/locale/bg/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Текущ изглед tools.title=Инструменти tools_label=Инструменти first_page.title=Към първата страница -first_page.label=Към първата страница first_page_label=Към първата страница last_page.title=Към последната страница -last_page.label=Към последната страница last_page_label=Към последната страница page_rotate_cw.title=Завъртане по час. стрелка -page_rotate_cw.label=Завъртане по часовниковата стрелка page_rotate_cw_label=Завъртане по часовниковата стрелка page_rotate_ccw.title=Завъртане обратно на час. стрелка -page_rotate_ccw.label=Завъртане обратно на часовниковата стрелка page_rotate_ccw_label=Завъртане обратно на часовниковата стрелка cursor_text_select_tool.title=Включване на инструмента за избор на текст @@ -137,7 +133,6 @@ print_progress_close=Отказ # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Превключване на страничната лента -toggle_sidebar_notification.title=Превключване на страничната лента (документи със структура/прикачени файлове) toggle_sidebar_label=Превключване на страничната лента document_outline.title=Показване на структурата на документа (двукратно щракване за свиване/разгъване на всичко) document_outline_label=Структура на документа @@ -219,8 +214,6 @@ page_scale_actual=Действителен размер # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Грешка loading_error=Получи се грешка при зареждане на PDF-а. invalid_file_error=Невалиден или повреден PDF файл. missing_file_error=Липсващ PDF файл. @@ -239,4 +232,3 @@ password_cancel=Отказ printing_not_supported=Внимание: Този четец няма пълна поддръжка на отпечатване. printing_not_ready=Внимание: Този PDF файл не е напълно зареден за печат. web_fonts_disabled=Уеб-шрифтовете са забранени: разрешаване на използването на вградените PDF шрифтове. -document_colors_not_allowed=На документите от вид PDF не е разрешено да използват собствени цветове: „Разрешаване на страниците да избират собствени цветове“ е изключено в четеца. diff --git a/app/assets/javascripts/archive/locale/bn/viewer.properties b/app/assets/javascripts/archive/locale/bn/viewer.properties index 52fec2c..93f4c7b 100644 --- a/app/assets/javascripts/archive/locale/bn/viewer.properties +++ b/app/assets/javascripts/archive/locale/bn/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=বর্তমান অবস্থা tools.title=টুল tools_label=টুল first_page.title=প্রথম পাতায় যাও -first_page.label=প্রথম পাতায় যাও first_page_label=প্রথম পাতায় যাও last_page.title=শেষ পাতায় যাও -last_page.label=শেষ পাতায় যাও last_page_label=শেষ পাতায় যাও page_rotate_cw.title=ঘড়ির কাঁটার দিকে ঘোরাও -page_rotate_cw.label=ঘড়ির কাঁটার দিকে ঘোরাও page_rotate_cw_label=ঘড়ির কাঁটার দিকে ঘোরাও page_rotate_ccw.title=ঘড়ির কাঁটার বিপরীতে ঘোরাও -page_rotate_ccw.label=ঘড়ির কাঁটার বিপরীতে ঘোরাও page_rotate_ccw_label=ঘড়ির কাঁটার বিপরীতে ঘোরাও cursor_text_select_tool.title=লেখা নির্বাচক টুল সক্রিয় করুন @@ -135,7 +131,6 @@ print_progress_close=বাতিল # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=সাইডবার টগল করুন -toggle_sidebar_notification.title=সাইডবার টগল (নথিতে আউটলাইন/এটাচমেন্ট রয়েছে) toggle_sidebar_label=সাইডবার টগল করুন document_outline.title=নথির আউটলাইন দেখাও (সব আইটেম প্রসারিত/সঙ্কুচিত করতে ডবল ক্লিক করুন) document_outline_label=নথির রূপরেখা @@ -146,8 +141,6 @@ thumbs_label=থাম্বনেইল সমূহ findbar.title=নথির মধ্যে খুঁজুন findbar_label=খুঁজুন -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=পাতা {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -219,8 +212,6 @@ page_scale_actual=প্রকৃত আকার # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=ত্রুটি loading_error=পিডিএফ লোড করার সময় ত্রুটি দেখা দিয়েছে। invalid_file_error=অকার্যকর অথবা ক্ষতিগ্রস্ত পিডিএফ ফাইল। missing_file_error=নিখোঁজ PDF ফাইল। @@ -243,4 +234,3 @@ password_cancel=বাতিল printing_not_supported=সতর্কতা: এই ব্রাউজারে মুদ্রণ সম্পূর্ণভাবে সমর্থিত নয়। printing_not_ready=সতর্কীকরণ: পিডিএফটি মুদ্রণের জন্য সম্পূর্ণ লোড হয়নি। web_fonts_disabled=ওয়েব ফন্ট নিষ্ক্রিয়: সংযুক্ত পিডিএফ ফন্ট ব্যবহার করা যাচ্ছে না। -document_colors_not_allowed=পিডিএফ ডকুমেন্টকে তাদের নিজস্ব রঙ ব্যবহারে অনুমতি নেই: 'পাতা তাদের নিজেস্ব রঙ নির্বাচন করতে অনুমতি দিন' এই ব্রাউজারে নিষ্ক্রিয় রয়েছে। diff --git a/app/assets/javascripts/archive/locale/bo/viewer.properties b/app/assets/javascripts/archive/locale/bo/viewer.properties index d35c453..bba0490 100644 --- a/app/assets/javascripts/archive/locale/bo/viewer.properties +++ b/app/assets/javascripts/archive/locale/bo/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Current View tools.title=Tools tools_label=Tools first_page.title=Go to First Page -first_page.label=Go to First Page first_page_label=Go to First Page last_page.title=Go to Last Page -last_page.label=Go to Last Page last_page_label=Go to Last Page page_rotate_cw.title=Rotate Clockwise -page_rotate_cw.label=Rotate Clockwise page_rotate_cw_label=Rotate Clockwise page_rotate_ccw.title=Rotate Counterclockwise -page_rotate_ccw.label=Rotate Counterclockwise page_rotate_ccw_label=Rotate Counterclockwise cursor_text_select_tool.title=Enable Text Selection Tool @@ -137,7 +133,6 @@ print_progress_close=Cancel # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Toggle Sidebar -toggle_sidebar_notification.title=Toggle Sidebar (document contains outline/attachments) toggle_sidebar_label=Toggle Sidebar document_outline.title=Show Document Outline (double-click to expand/collapse all items) document_outline_label=Document Outline @@ -219,8 +214,6 @@ page_scale_actual=Actual Size # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Error loading_error=An error occurred while loading the PDF. invalid_file_error=Invalid or corrupted PDF file. missing_file_error=Missing PDF file. @@ -242,4 +235,3 @@ password_cancel=Cancel printing_not_supported=Warning: Printing is not fully supported by this browser. printing_not_ready=Warning: The PDF is not fully loaded for printing. web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts. -document_colors_not_allowed=PDF documents are not allowed to use their own colors: “Allow pages to choose their own colors” is deactivated in the browser. diff --git a/app/assets/javascripts/archive/locale/br/viewer.properties b/app/assets/javascripts/archive/locale/br/viewer.properties index ac2558e..c26ca68 100644 --- a/app/assets/javascripts/archive/locale/br/viewer.properties +++ b/app/assets/javascripts/archive/locale/br/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Gwel bremanel tools.title=Ostilhoù tools_label=Ostilhoù first_page.title=Mont d'ar bajenn gentañ -first_page.label=Mont d'ar bajenn gentañ first_page_label=Mont d'ar bajenn gentañ last_page.title=Mont d'ar bajenn diwezhañ -last_page.label=Mont d'ar bajenn diwezhañ last_page_label=Mont d'ar bajenn diwezhañ page_rotate_cw.title=C'hwelañ gant roud ar bizied -page_rotate_cw.label=C'hwelañ gant roud ar bizied page_rotate_cw_label=C'hwelañ gant roud ar bizied page_rotate_ccw.title=C'hwelañ gant roud gin ar bizied -page_rotate_ccw.label=C'hwelañ gant roud gin ar bizied page_rotate_ccw_label=C'hwelañ gant roud gin ar bizied cursor_text_select_tool.title=Gweredekaat an ostilh diuzañ testenn @@ -82,27 +78,27 @@ spread_even_label=Pajennoù par # Document properties dialog box document_properties.title=Perzhioù an teul… document_properties_label=Perzhioù an teul… -document_properties_file_name=Anv restr : -document_properties_file_size=Ment ar restr : +document_properties_file_name=Anv restr: +document_properties_file_size=Ment ar restr: # LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" # will be replaced by the PDF file size in kilobytes, respectively in bytes. document_properties_kb={{size_kb}} Ke ({{size_b}} eizhbit) # LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" # will be replaced by the PDF file size in megabytes, respectively in bytes. document_properties_mb={{size_mb}} Me ({{size_b}} eizhbit) -document_properties_title=Titl : -document_properties_author=Aozer : -document_properties_subject=Danvez : -document_properties_keywords=Gerioù-alc'hwez : -document_properties_creation_date=Deiziad krouiñ : -document_properties_modification_date=Deiziad kemmañ : +document_properties_title=Titl: +document_properties_author=Aozer: +document_properties_subject=Danvez: +document_properties_keywords=Gerioù-alc'hwez: +document_properties_creation_date=Deiziad krouiñ: +document_properties_modification_date=Deiziad kemmañ: # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" # will be replaced by the creation/modification date, and time, of the PDF file. document_properties_date_string={{date}}, {{time}} -document_properties_creator=Krouer : -document_properties_producer=Kenderc'her PDF : -document_properties_version=Handelv PDF : -document_properties_page_count=Niver a bajennoù : +document_properties_creator=Krouer: +document_properties_producer=Kenderc'her PDF: +document_properties_version=Handelv PDF: +document_properties_page_count=Niver a bajennoù: document_properties_page_size=Ment ar bajenn: document_properties_page_size_unit_inches=in document_properties_page_size_unit_millimeters=mm @@ -137,17 +133,22 @@ print_progress_close=Nullañ # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Diskouez/kuzhat ar varrenn gostez -toggle_sidebar_notification.title=Trec'haoliñ ar verrenn-gostez (ur steuñv pe stagadennoù a zo en teul) +toggle_sidebar_notification2.title=Trec'haoliñ ar varrenn-gostez (ur steuñv pe stagadennoù a zo en teul) toggle_sidebar_label=Diskouez/kuzhat ar varrenn gostez document_outline.title=Diskouez steuñv an teul (daouglikit evit brasaat/bihanaat an holl elfennoù) document_outline_label=Sinedoù an teuliad attachments.title=Diskouez ar c'henstagadurioù attachments_label=Kenstagadurioù +layers.title=Diskouez ar gwiskadoù (daou-glikañ evit adderaouekaat an holl gwiskadoù d'o stad dre ziouer) +layers_label=Gwiskadoù thumbs.title=Diskouez ar melvennoù thumbs_label=Melvennoù findbar.title=Klask e-barzh an teuliad findbar_label=Klask +additional_layers=Gwiskadoù ouzhpenn +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Pajenn {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -197,17 +198,17 @@ error_less_info=Nebeutoc'h a ditouroù error_close=Serriñ # LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be # replaced by the PDF.JS version and build ID. -error_version_info=PDF.js handelv {{version}} (kempunadur : {{build}}) +error_version_info=PDF.js handelv {{version}} (kempunadur: {{build}}) # LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an # english string describing the error. -error_message=Kemennadenn : {{message}} +error_message=Kemennadenn: {{message}} # LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack # trace. -error_stack=Torn : {{stack}} +error_stack=Torn: {{stack}} # LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename -error_file=Restr : {{file}} +error_file=Restr: {{file}} # LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number -error_line=Linenn : {{line}} +error_line=Linenn: {{line}} rendering_error=Degouezhet ez eus bet ur fazi e-pad skrammañ ar bajennad. # Predefined zoom values @@ -220,7 +221,7 @@ page_scale_actual=Ment wir page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Fazi +loading=O kargañ… loading_error=Degouezhet ez eus bet ur fazi e-pad kargañ ar PDF. invalid_file_error=Restr PDF didalvoudek pe kontronet. missing_file_error=Restr PDF o vankout. @@ -240,7 +241,6 @@ password_invalid=Ger-tremen didalvoudek. Klaskit en-dro mar plij. password_ok=Mat eo password_cancel=Nullañ -printing_not_supported=Kemenn : N'eo ket skoret penn-da-benn ar moullañ gant ar merdeer-mañ. -printing_not_ready=Kemenn : N'hall ket bezañ moullet ar restr PDF rak n'eo ket karget penn-da-benn. -web_fonts_disabled=Diweredekaet eo an nodrezhoù web : n'haller ket arverañ an nodrezhoù PDF enframmet. -document_colors_not_allowed=N'eo ket aotreet an teuliadoù PDF da arverañ o livioù dezho : diweredekaet eo “Aotren ar pajennoù da zibab o livioù dezho” e-barzh ar merdeer. +printing_not_supported=Kemenn: N'eo ket skoret penn-da-benn ar moullañ gant ar merdeer-mañ. +printing_not_ready=Kemenn: N'hall ket bezañ moullet ar restr PDF rak n'eo ket karget penn-da-benn. +web_fonts_disabled=Diweredekaet eo an nodrezhoù web: n'haller ket arverañ an nodrezhoù PDF enframmet. diff --git a/app/assets/javascripts/archive/locale/brx/viewer.properties b/app/assets/javascripts/archive/locale/brx/viewer.properties index 234bca1..3d1c92d 100644 --- a/app/assets/javascripts/archive/locale/brx/viewer.properties +++ b/app/assets/javascripts/archive/locale/brx/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=दानि नुथाय tools.title=टुल tools_label=टुल first_page.title=गिबि बिलाइआव थां -first_page.label=गिबि बिलाइआव थां first_page_label=गिबि बिलाइआव थां last_page.title=जोबथा बिलाइआव थां -last_page.label=जोबथा बिलाइआव थां last_page_label=जोबथा बिलाइआव थां page_rotate_cw.title=घरि गिदिंनाय फार्से फिदिं -page_rotate_cw.label=घरि गिदिंनाय फार्से फिदिं page_rotate_cw_label=घरि गिदिंनाय फार्से फिदिं page_rotate_ccw.title=घरि गिदिंनाय उल्था फार्से फिदिं -page_rotate_ccw.label=घरि गिदिंनाय उल्था फार्से फिदिं page_rotate_ccw_label=घरि गिदिंनाय उल्था फार्से फिदिं @@ -184,8 +180,6 @@ page_scale_actual=थार महर # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=गोरोन्थि loading_error=PDF ल'ड खालामनाय समाव मोनसे गोरोन्थि जाबाय। invalid_file_error=बाहायजायै एबा गाज्रि जानाय PDF फाइल missing_file_error=गोमानाय PDF फाइल @@ -208,4 +202,3 @@ password_cancel=नेवसि printing_not_supported=सांग्रांथि: साफायनाया बे ब्राउजारजों आबुङै हेफाजाब होजाया। printing_not_ready=सांग्रांथि: PDF खौ साफायनायनि थाखाय फुरायै ल'ड खालामाखै। web_fonts_disabled=वेब फन्टखौ लोरबां खालामबाय: अरजाबहोनाय PDF फन्टखौ बाहायनो हायाखै। -document_colors_not_allowed=PDF फोरमान बिलाइखौ बिसोरनि निजि गाब बाहायनो गनायथि होनाय जाया: 'बिसोरनि निजि गाब बासिखनो बिलाइखौ गनायथि हो'-खौ ब्राउजारआव लोरबां खालामनाय जायो। diff --git a/app/assets/javascripts/archive/locale/bs/viewer.properties b/app/assets/javascripts/archive/locale/bs/viewer.properties index 6c2122b..ec115d0 100644 --- a/app/assets/javascripts/archive/locale/bs/viewer.properties +++ b/app/assets/javascripts/archive/locale/bs/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Trenutni prikaz tools.title=Alati tools_label=Alati first_page.title=Idi na prvu stranu -first_page.label=Idi na prvu stranu first_page_label=Idi na prvu stranu last_page.title=Idi na zadnju stranu -last_page.label=Idi na zadnju stranu last_page_label=Idi na zadnju stranu page_rotate_cw.title=Rotiraj u smjeru kazaljke na satu -page_rotate_cw.label=Rotiraj u smjeru kazaljke na satu page_rotate_cw_label=Rotiraj u smjeru kazaljke na satu page_rotate_ccw.title=Rotiraj suprotno smjeru kazaljke na satu -page_rotate_ccw.label=Rotiraj suprotno smjeru kazaljke na satu page_rotate_ccw_label=Rotiraj suprotno smjeru kazaljke na satu cursor_text_select_tool.title=Omogući alat za označavanje teksta @@ -118,7 +114,6 @@ print_progress_close=Otkaži # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Uključi/isključi bočnu traku -toggle_sidebar_notification.title=Uključi/isključi sidebar (dokument sadrži outline/priloge) toggle_sidebar_label=Uključi/isključi bočnu traku document_outline.title=Prikaži outline dokumenta (dvoklik za skupljanje/širenje svih stavki) document_outline_label=Konture dokumenta @@ -178,8 +173,6 @@ page_scale_actual=Stvarna veličina # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Greška loading_error=Došlo je do greške prilikom učitavanja PDF-a. invalid_file_error=Neispravan ili oštećen PDF fajl. missing_file_error=Nedostaje PDF fajl. @@ -198,4 +191,3 @@ password_cancel=Otkaži printing_not_supported=Upozorenje: Štampanje nije u potpunosti podržano u ovom browseru. printing_not_ready=Upozorenje: PDF nije u potpunosti učitan za štampanje. web_fonts_disabled=Web fontovi su onemogućeni: nemoguće koristiti ubačene PDF fontove. -document_colors_not_allowed=PDF dokumentima nije dozvoljeno da koriste vlastite boje: 'Dozvoli stranicama da izaberu vlastite boje' je deaktivirano u browseru. diff --git a/app/assets/javascripts/archive/locale/ca/viewer.properties b/app/assets/javascripts/archive/locale/ca/viewer.properties index 924637a..21e7dff 100644 --- a/app/assets/javascripts/archive/locale/ca/viewer.properties +++ b/app/assets/javascripts/archive/locale/ca/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Vista actual tools.title=Eines tools_label=Eines first_page.title=Vés a la primera pàgina -first_page.label=Vés a la primera pàgina first_page_label=Vés a la primera pàgina last_page.title=Vés a l'última pàgina -last_page.label=Vés a l'última pàgina last_page_label=Vés a l'última pàgina page_rotate_cw.title=Gira cap a la dreta -page_rotate_cw.label=Gira cap a la dreta page_rotate_cw_label=Gira cap a la dreta page_rotate_ccw.title=Gira cap a l'esquerra -page_rotate_ccw.label=Gira cap a l'esquerra page_rotate_ccw_label=Gira cap a l'esquerra cursor_text_select_tool.title=Habilita l'eina de selecció de text @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Eina de selecció de text cursor_hand_tool.title=Habilita l'eina de mà cursor_hand_tool_label=Eina de mà +scroll_page.title=Usa el desplaçament de pàgina +scroll_page_label=Desplaçament de pàgina scroll_vertical.title=Utilitza el desplaçament vertical scroll_vertical_label=Desplaçament vertical scroll_horizontal.title=Utilitza el desplaçament horitzontal @@ -137,19 +135,24 @@ print_progress_close=Cancel·la # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Mostra/amaga la barra lateral -toggle_sidebar_notification.title=Mostra/amaga la barra lateral (el document conté un esquema o adjuncions) +toggle_sidebar_notification2.title=Mostra/amaga la barra lateral (el document conté un esquema, adjuncions o capes) toggle_sidebar_label=Mostra/amaga la barra lateral document_outline.title=Mostra l'esquema del document (doble clic per ampliar/reduir tots els elements) -document_outline_label=Contorn del document +document_outline_label=Esquema del document attachments.title=Mostra les adjuncions attachments_label=Adjuncions +layers.title=Mostra les capes (doble clic per restablir totes les capes al seu estat per defecte) +layers_label=Capes thumbs.title=Mostra les miniatures thumbs_label=Miniatures +current_outline_item.title=Cerca l'element d'esquema actual +current_outline_item_label=Element d'esquema actual findbar.title=Cerca al document findbar_label=Cerca -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Pàgina {{page}} +additional_layers=Capes addicionals +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Pàgina {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -213,7 +216,7 @@ error_line=Línia: {{line}} rendering_error=S'ha produït un error mentre es renderitzava la pàgina. # Predefined zoom values -page_scale_width=Amplària de la pàgina +page_scale_width=Amplada de la pàgina page_scale_fit=Ajusta la pàgina page_scale_auto=Zoom automàtic page_scale_actual=Mida real @@ -222,7 +225,7 @@ page_scale_actual=Mida real page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Error +loading=S'està carregant… loading_error=S'ha produït un error en carregar el PDF. invalid_file_error=El fitxer PDF no és vàlid o està malmès. missing_file_error=Falta el fitxer PDF. @@ -245,4 +248,3 @@ password_cancel=Cancel·la printing_not_supported=Avís: la impressió no és plenament funcional en aquest navegador. printing_not_ready=Atenció: el PDF no s'ha acabat de carregar per imprimir-lo. web_fonts_disabled=Els tipus de lletra web estan desactivats: no es poden utilitzar els tipus de lletra incrustats al PDF. -document_colors_not_allowed=Els documents PDF no poden usar els seus colors propis: «Permet a les pàgines triar els colors propis» es troba desactivat al navegador. diff --git a/app/assets/javascripts/archive/locale/cak/viewer.properties b/app/assets/javascripts/archive/locale/cak/viewer.properties index c105d82..1828641 100644 --- a/app/assets/javascripts/archive/locale/cak/viewer.properties +++ b/app/assets/javascripts/archive/locale/cak/viewer.properties @@ -14,7 +14,7 @@ # Main toolbar buttons (tooltips and alt text for images) previous.title=Jun kan ruxaq -previous_label=Chuwäch +previous_label=Jun kan next.title=Jun chik ruxaq next_label=Jun chik @@ -35,7 +35,7 @@ zoom_in_label=Tinimirisäx zoom.title=Sum presentation_mode.title=Tijal ri rub'anikil niwachin presentation_mode_label=Pa rub'eyal niwachin -open_file.title=Tijaq yakb'äl +open_file.title=Tijaq Yakb'äl open_file_label=Tijaq print.title=Titz'ajb'äx print_label=Titz'ajb'äx @@ -48,16 +48,12 @@ bookmark_label=Rutzub'al wakami tools.title=Samajib'äl tools_label=Samajib'äl first_page.title=Tib'e pa nab'ey ruxaq -first_page.label=Tib'e pa nab'ey ruxaq first_page_label=Tib'e pa nab'ey ruxaq last_page.title=Tib'e pa ruk'isib'äl ruxaq -last_page.label=Tib'e pa ruk'isib'äl ruxaq last_page_label=Tib'e pa ruk'isib'äl ruxaq page_rotate_cw.title=Tisutïx pan ajkiq'a' -page_rotate_cw.label=Tisutïx pan ajkiq'a' page_rotate_cw_label=Tisutïx pan ajkiq'a' page_rotate_ccw.title=Tisutïx pan ajxokon -page_rotate_ccw.label=Tisutïx pan ajxokon page_rotate_ccw_label=Tisutïx pan ajxokon cursor_text_select_tool.title=Titzij ri rusamajib'al Rucha'ik Rucholajem Tzij @@ -111,7 +107,7 @@ document_properties_page_size_orientation_landscape=rukotz'olem document_properties_page_size_name_a3=A3 document_properties_page_size_name_a4=A4 document_properties_page_size_name_letter=Loman wuj -document_properties_page_size_name_legal=Nïm wuj +document_properties_page_size_name_legal=Taqanel tzijol # LOCALIZATION NOTE (document_properties_page_size_dimension_string): # "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by # the size, respectively their unit of measurement and orientation, of the (current) page. @@ -137,19 +133,24 @@ print_progress_close=Tiq'at # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Tijal ri ajxikin kajtz'ik -toggle_sidebar_notification.title=Tik'ex ri ajxikin yuqkajtz'ik (ri wuj eruk'wan taq ruchi'/taqoj taq yakb'äl) +toggle_sidebar_notification2.title=Tik'ex ri ajxikin yuqkajtz'ik (ri wuj eruk'wan taq ruchi'/taqo/kuchuj) toggle_sidebar_label=Tijal ri ajxikin kajtz'ik document_outline.title=Tik'ut pe ruch'akulal wuj (kamul-pitz'oj richin nirik'/nich'utinirisäx ronojel ruch'akulal) document_outline_label=Ruch'akulal wuj attachments.title=Kek'ut pe ri taq taqoj attachments_label=Taq taqoj +layers.title=Kek'ut taq Kuchuj (ka'i'-pitz' richin yetzolïx ronojel ri taq kuchuj e k'o wi) +layers_label=Taq kuchuj thumbs.title=Kek'ut pe taq ch'utiq thumbs_label=Koköj +current_outline_item.title=Kekanöx Taq Ch'akulal Kik'wan Chib'äl +current_outline_item_label=Taq Ch'akulal Kik'wan Chib'äl findbar.title=Tikanöx chupam ri wuj findbar_label=Tikanöx -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Ruxaq {{page}} +additional_layers=Tz'aqat ta Kuchuj +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Ruxaq {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -216,13 +217,13 @@ rendering_error=Xk'ulwachitäj jun sachoj toq ninuk'wachij ri ruxaq. page_scale_width=Ruwa ruxaq page_scale_fit=Tinuk' ruxaq page_scale_auto=Yonil chi nimilem -page_scale_actual=Runimilem +page_scale_actual=Runimilem Wakami # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a # numerical scale value. page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Sachoj +loading=Nisamäj… loading_error=\u0020Xk'ulwachitäj jun sach'oj toq xnuk'ux ri PDF . invalid_file_error=Man oke ta o yujtajinäq ri PDF yakb'äl. missing_file_error=Man xilitäj ta ri PDF yakb'äl. @@ -245,4 +246,3 @@ password_cancel=Tiq'at printing_not_supported=Rutzijol k'ayewal: Ri rutz'ajb'axik man koch'el ta ronojel pa re okik'amaya'l re'. printing_not_ready=Rutzijol k'ayewal: Ri PDF man xusamajij ta ronojel richin nitz'ajb'äx. web_fonts_disabled=E chupül ri taq ajk'amaya'l tz'ib': man tikirel ta nokisäx ri taq tz'ib' PDF pa ch'ikenïk -document_colors_not_allowed=Ri taq wuj pa PDF man ya'on ta q'ij chi ke richin nikokisaj ri taq kib'onil: “Tiya' q'ij chi ke ri taq ruxaq chi kekicha' ri taq kib'onil” chupun pa ri awokik'amaya'l. diff --git a/app/assets/javascripts/archive/locale/ckb/viewer.properties b/app/assets/javascripts/archive/locale/ckb/viewer.properties new file mode 100644 index 0000000..b30cb76 --- /dev/null +++ b/app/assets/javascripts/archive/locale/ckb/viewer.properties @@ -0,0 +1,233 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=پەڕەی پێشوو +previous_label=پێشوو +next.title=پەڕەی دوواتر +next_label=دوواتر + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=پەرە +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=لە {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} لە {{pagesCount}}) + +zoom_out.title=ڕۆچوونی +zoom_out_label=ڕۆچوونی +zoom_in.title=هێنانەپێش +zoom_in_label=هێنانەپێش +zoom.title=زووم +presentation_mode.title=گۆڕین بۆ دۆخی پێشکەشکردن +presentation_mode_label=دۆخی پێشکەشکردن +open_file.title=پەڕگە بکەرەوە +open_file_label=کردنەوە +print.title=چاپکردن +print_label=چاپکردن +download.title=داگرتن +download_label=داگرتن +bookmark.title=پێشبینینی ئێستا(لەبەریبگرەوە یان پەنجەرەیەکی نوێ بکەرەوە) +bookmark_label=پیشبینینی ئێستا + +# Secondary toolbar and context menu +tools.title=ئامرازەکان +tools_label=ئامرازەکان +first_page.title=برۆ بۆ یەکەم پەڕە +first_page_label=بڕۆ بۆ یەکەم پەڕە +last_page.title=بڕۆ بۆ کۆتا پەڕە +last_page_label=بڕۆ بۆ کۆتا پەڕە +page_rotate_cw.title=ئاڕاستەی میلی کاتژمێر +page_rotate_cw_label=ئاڕاستەی میلی کاتژمێر +page_rotate_ccw.title=پێچەوانەی میلی کاتژمێر +page_rotate_ccw_label=پێچەوانەی میلی کاتژمێر + +cursor_text_select_tool.title=توڵامرازی نیشانکەری دەق چالاک بکە +cursor_text_select_tool_label=توڵامرازی نیشانکەری دەق +cursor_hand_tool.title=توڵامرازی دەستی چالاک بکە +cursor_hand_tool_label=توڵامرازی دەستی + +scroll_vertical.title=ناردنی ئەستوونی بەکاربێنە +scroll_vertical_label=ناردنی ئەستوونی +scroll_horizontal.title=ناردنی ئاسۆیی بەکاربێنە +scroll_horizontal_label=ناردنی ئاسۆیی +scroll_wrapped.title=ناردنی لوولکراو بەکاربێنە +scroll_wrapped_label=ناردنی لوولکراو + + +# Document properties dialog box +document_properties.title=تایبەتمەندییەکانی بەڵگەنامە... +document_properties_label=تایبەتمەندییەکانی بەڵگەنامە... +document_properties_file_name=ناوی پەڕگە: +document_properties_file_size=قەبارەی پەڕگە: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} کب ({{size_b}} بایت) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} مب ({{size_b}} بایت) +document_properties_title=سەردێڕ: +document_properties_author=نووسەر +document_properties_subject=بابەت: +document_properties_keywords=کلیلەوشە: +document_properties_creation_date=بەرواری درووستکردن: +document_properties_modification_date=بەرواری دەستکاریکردن: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=درووستکەر: +document_properties_producer=بەرهەمهێنەری PDF: +document_properties_version=وەشانی PDF: +document_properties_page_count=ژمارەی پەرەکان: +document_properties_page_size=قەبارەی پەڕە: +document_properties_page_size_unit_inches=ئینچ +document_properties_page_size_unit_millimeters=ملم +document_properties_page_size_orientation_portrait=پۆرترەیت(درێژ) +document_properties_page_size_orientation_landscape=پانیی +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=نامە +document_properties_page_size_name_legal=یاسایی +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=پیشاندانی وێبی خێرا: +document_properties_linearized_yes=بەڵێ +document_properties_linearized_no=نەخێر +document_properties_close=داخستن + +print_progress_message=بەڵگەنامە ئامادەدەکرێت بۆ چاپکردن... +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=پاشگەزبوونەوە + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=لاتەنیشت پیشاندان/شاردنەوە +toggle_sidebar_label=لاتەنیشت پیشاندان/شاردنەوە +document_outline_label=سنووری چوارچێوە +attachments.title=پاشکۆکان پیشان بدە +attachments_label=پاشکۆکان +layers_label=چینەکان +thumbs.title=وێنۆچکە پیشان بدە +thumbs_label=وێنۆچکە +findbar.title=لە بەڵگەنامە بگەرێ +findbar_label=دۆزینەوە + +additional_layers=چینی زیاتر +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=پەڕەی {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=وێنۆچکەی پەڕەی {{page}} + +# Find panel button title and messages +find_input.title=دۆزینەوە +find_input.placeholder=لە بەڵگەنامە بگەرێ... +find_previous.title=هەبوونی پێشوو بدۆزرەوە لە ڕستەکەدا +find_previous_label=پێشوو +find_next.title=هەبوونی داهاتوو بدۆزەرەوە لە ڕستەکەدا +find_next_label=دوواتر +find_highlight=هەمووی نیشانە بکە +find_match_case_label=دۆخی لەیەکچوون +find_entire_word_label=هەموو وشەکان +find_reached_top=گەشتیتە سەرەوەی بەڵگەنامە، لە خوارەوە دەستت پێکرد +find_reached_bottom=گەشتیتە کۆتایی بەڵگەنامە. لەسەرەوە دەستت پێکرد +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} لە کۆی {{total}} لەیەکچوو +find_match_count[two]={{current}} لە کۆی {{total}} لەیەکچوو +find_match_count[few]={{current}} لە کۆی {{total}} لەیەکچوو +find_match_count[many]={{current}} لە کۆی {{total}} لەیەکچوو +find_match_count[other]={{current}} لە کۆی {{total}} لەیەکچوو +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=زیاتر لە {{limit}} لەیەکچوو +find_match_count_limit[one]=زیاتر لە {{limit}} لەیەکچوو +find_match_count_limit[two]=زیاتر لە {{limit}} لەیەکچوو +find_match_count_limit[few]=زیاتر لە {{limit}} لەیەکچوو +find_match_count_limit[many]=زیاتر لە {{limit}} لەیەکچوو +find_match_count_limit[other]=زیاتر لە {{limit}} لەیەکچوو +find_not_found=نووسین نەدۆزرایەوە + +# Error panel labels +error_more_info=زانیاری زیاتر +error_less_info=زانیاری کەمتر +error_close=داخستن +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=پەیام: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=لەسەریەک: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=پەڕگە: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=هێڵ: {{line}} +rendering_error=هەڵەیەک ڕوویدا لە کاتی پوختەکردنی (ڕێندەر) پەڕە. + +# Predefined zoom values +page_scale_width=پانی پەڕە +page_scale_fit=پڕبوونی پەڕە +page_scale_auto=زوومی خۆکار +page_scale_actual=قەبارەی ڕاستی +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=هەڵەیەک ڕوویدا لە کاتی بارکردنی PDF. +invalid_file_error=پەڕگەی pdf تێکچووە یان نەگونجاوە. +missing_file_error=پەڕگەی pdf بوونی نیە. +unexpected_response_error=وەڵامی ڕاژەخوازی نەخوازراو. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} سەرنج] +password_label=وشەی تێپەڕ بنووسە بۆ کردنەوەی پەڕگەی pdf. +password_invalid=وشەی تێپەڕ هەڵەیە. تکایە دووبارە هەوڵ بدەرەوە. +password_ok=باشە +password_cancel=پاشگەزبوونەوە + +printing_not_supported=ئاگاداربە: چاپکردن بە تەواوی پشتگیر ناکرێت لەم وێبگەڕە. +printing_not_ready=ئاگاداربە: PDF بە تەواوی بارنەبووە بۆ چاپکردن. +web_fonts_disabled=جۆرەپیتی وێب ناچالاکە: نەتوانی جۆرەپیتی تێخراوی ناو pdfـەکە بەکاربێت. diff --git a/app/assets/javascripts/archive/locale/cs/viewer.properties b/app/assets/javascripts/archive/locale/cs/viewer.properties index 6310f63..73bffe7 100644 --- a/app/assets/javascripts/archive/locale/cs/viewer.properties +++ b/app/assets/javascripts/archive/locale/cs/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Současný pohled tools.title=Nástroje tools_label=Nástroje first_page.title=Přejde na první stránku -first_page.label=Přejít na první stránku first_page_label=Přejít na první stránku last_page.title=Přejde na poslední stránku -last_page.label=Přejít na poslední stránku last_page_label=Přejít na poslední stránku page_rotate_cw.title=Otočí po směru hodin -page_rotate_cw.label=Otočit po směru hodin page_rotate_cw_label=Otočit po směru hodin page_rotate_ccw.title=Otočí proti směru hodin -page_rotate_ccw.label=Otočit proti směru hodin page_rotate_ccw_label=Otočit proti směru hodin cursor_text_select_tool.title=Povolí výběr textu @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Výběr textu cursor_hand_tool.title=Povolí nástroj ručička cursor_hand_tool_label=Nástroj ručička +scroll_page.title=Posouvat po stránkách +scroll_page_label=Posouvání po stránkách scroll_vertical.title=Použít svislé posouvání scroll_vertical_label=Svislé posouvání scroll_horizontal.title=Použít vodorovné posouvání @@ -137,19 +135,24 @@ print_progress_close=Zrušit # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Postranní lišta -toggle_sidebar_notification.title=Přepne postranní lištu (dokument obsahuje osnovu/přílohy) +toggle_sidebar_notification2.title=Přepnout postranní lištu (dokument obsahuje osnovu/přílohy/vrstvy) toggle_sidebar_label=Postranní lišta document_outline.title=Zobrazí osnovu dokumentu (dvojité klepnutí rozbalí/sbalí všechny položky) document_outline_label=Osnova dokumentu attachments.title=Zobrazí přílohy attachments_label=Přílohy +layers.title=Zobrazit vrstvy (poklepáním obnovíte všechny vrstvy do výchozího stavu) +layers_label=Vrstvy thumbs.title=Zobrazí náhledy thumbs_label=Náhledy +current_outline_item.title=Najít aktuální položku v osnově +current_outline_item_label=Aktuální položka v osnově findbar.title=Najde v dokumentu findbar_label=Najít -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Strana {{page}} +additional_layers=Další vrstvy +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Strana {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -167,6 +170,7 @@ find_next.title=Najde další výskyt hledaného textu find_next_label=Další find_highlight=Zvýraznit find_match_case_label=Rozlišovat velikost +find_match_diacritics_label=Rozlišovat diakritiku find_entire_word_label=Celá slova find_reached_top=Dosažen začátek dokumentu, pokračuje se od konce find_reached_bottom=Dosažen konec dokumentu, pokračuje se od začátku @@ -222,7 +226,7 @@ page_scale_actual=Skutečná velikost page_scale_percent={{scale}} % # Loading indicator messages -loading_error_indicator=Chyba +loading=Načítání… loading_error=Při nahrávání PDF nastala chyba. invalid_file_error=Neplatný nebo chybný soubor PDF. missing_file_error=Chybí soubor PDF. @@ -245,4 +249,3 @@ password_cancel=Zrušit printing_not_supported=Upozornění: Tisk není v tomto prohlížeči plně podporován. printing_not_ready=Upozornění: Dokument PDF není kompletně načten. web_fonts_disabled=Webová písma jsou zakázána, proto není možné použít vložená písma PDF. -document_colors_not_allowed=PDF dokumenty nemají povoleno používat vlastní barvy: volba 'Povolit stránkám používat vlastní barvy' je v prohlížeči deaktivována. diff --git a/app/assets/javascripts/archive/locale/cy/viewer.properties b/app/assets/javascripts/archive/locale/cy/viewer.properties index dc4fb2e..9ede32a 100644 --- a/app/assets/javascripts/archive/locale/cy/viewer.properties +++ b/app/assets/javascripts/archive/locale/cy/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Golwg Gyfredol tools.title=Offer tools_label=Offer first_page.title=Mynd i'r Dudalen Gyntaf -first_page.label=Mynd i'r Dudalen Gyntaf first_page_label=Mynd i'r Dudalen Gyntaf last_page.title=Mynd i'r Dudalen Olaf -last_page.label=Mynd i'r Dudalen Olaf last_page_label=Mynd i'r Dudalen Olaf page_rotate_cw.title=Cylchdroi Clocwedd -page_rotate_cw.label=Cylchdroi Clocwedd page_rotate_cw_label=Cylchdroi Clocwedd page_rotate_ccw.title=Cylchdroi Gwrthglocwedd -page_rotate_ccw.label=Cylchdroi Gwrthglocwedd page_rotate_ccw_label=Cylchdroi Gwrthglocwedd cursor_text_select_tool.title=Galluogi Dewis Offeryn Testun @@ -65,19 +61,21 @@ cursor_text_select_tool_label=Offeryn Dewis Testun cursor_hand_tool.title=Galluogi Offeryn Llaw cursor_hand_tool_label=Offeryn Llaw +scroll_page.title=Defnyddio Sgrolio Tudalen +scroll_page_label=Sgrolio Tudalen scroll_vertical.title=Defnyddio Sgrolio Fertigol scroll_vertical_label=Sgrolio Fertigol -scroll_horizontal.title=Defnyddio Sgrolio Fertigol -scroll_horizontal_label=Sgrolio Fertigol +scroll_horizontal.title=Defnyddio Sgrolio Llorweddol +scroll_horizontal_label=Sgrolio Llorweddol scroll_wrapped.title=Defnyddio Sgrolio Amlapio scroll_wrapped_label=Sgrolio Amlapio -spread_none.title=Peidio uno taeniadau canol -spread_none_label=Dim Taeniadau -spread_odd.title=Uno taeniadau tudalen yn cychwyn gyda thudalennau odrif -spread_odd_label=Taeniadau Odrifau -spread_even.title=Uno taeniadau tudalen yn cychwyn gyda thudalennau eilrif -spread_even_label=Taeniadau Eilrif +spread_none.title=Peidio uno trawsdaleniadau +spread_none_label=Dim Trawsdaleniadau +spread_odd.title=Uno trawsdaleniadau gan gychwyn gyda thudalennau odrif +spread_odd_label=Trawsdaleniadau Odrif +spread_even.title=Uno trawsdaleniadau gan gychwyn gyda thudalennau eilrif +spread_even_label=Trawsdaleniadau Eilrif # Document properties dialog box document_properties.title=Priodweddau Dogfen… @@ -137,19 +135,24 @@ print_progress_close=Diddymu # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Toglo'r Bar Ochr -toggle_sidebar_notification.title=Toglo'r Bar Ochr (mae'r ddogfen yn cynnwys outline/attachments) +toggle_sidebar_notification2.title=Toglo'r Bar Ochr (mae'r ddogfen yn cynnwys amlinelliadau/atodiadau/haenau) toggle_sidebar_label=Toglo'r Bar Ochr document_outline.title=Dangos Amlinell Dogfen (clic dwbl i ymestyn/cau pob eitem) document_outline_label=Amlinelliad Dogfen attachments.title=Dangos Atodiadau attachments_label=Atodiadau +layers.title=Dangos Haenau (cliciwch ddwywaith i ailosod yr holl haenau i'r cyflwr rhagosodedig) +layers_label=Haenau thumbs.title=Dangos Lluniau Bach thumbs_label=Lluniau Bach +current_outline_item.title=Canfod yr Eitem Amlinellol Gyfredol +current_outline_item_label=Yr Eitem Amlinellol Gyfredol findbar.title=Canfod yn y Ddogfen findbar_label=Canfod -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Tudalen {{page}} +additional_layers=Haenau Ychwanegol +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Tudalen {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -167,6 +170,7 @@ find_next.title=Canfod enghraifft nesaf yr ymadrodd find_next_label=Nesaf find_highlight=Amlygu popeth find_match_case_label=Cydweddu maint +find_match_diacritics_label=Diacritigau Cyfatebol find_entire_word_label=Geiriau cyfan find_reached_top=Wedi cyrraedd brig y dudalen, parhau o'r gwaelod find_reached_bottom=Wedi cyrraedd diwedd y dudalen, parhau o'r brig @@ -222,7 +226,7 @@ page_scale_actual=Maint Gwirioneddol page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Gwall +loading=Yn llwytho… loading_error=Digwyddodd gwall wrth lwytho'r PDF. invalid_file_error=Ffeil PDF annilys neu llwgr. missing_file_error=Ffeil PDF coll. @@ -245,4 +249,3 @@ password_cancel=Diddymu printing_not_supported=Rhybudd: Nid yw argraffu yn cael ei gynnal yn llawn gan y porwr. printing_not_ready=Rhybudd: Nid yw'r PDF wedi ei lwytho'n llawn ar gyfer argraffu. web_fonts_disabled=Ffontiau gwe wedi eu hanalluogi: methu defnyddio ffontiau PDF mewnblanedig. -document_colors_not_allowed=Nid oes caniatâd i ddogfennau PDF i ddefnyddio eu lliwiau eu hunain: Mae “Caniatáu i dudalennau ddefnyddio eu lliwiau eu hunain” wedi ei atal yn y porwr. diff --git a/app/assets/javascripts/archive/locale/da/viewer.properties b/app/assets/javascripts/archive/locale/da/viewer.properties index 4f05fd9..a67fedc 100644 --- a/app/assets/javascripts/archive/locale/da/viewer.properties +++ b/app/assets/javascripts/archive/locale/da/viewer.properties @@ -33,12 +33,12 @@ zoom_out_label=Zoom ud zoom_in.title=Zoom ind zoom_in_label=Zoom ind zoom.title=Zoom -print.title=Udskriv -print_label=Udskriv presentation_mode.title=Skift til fuldskærmsvisning presentation_mode_label=Fuldskærmsvisning open_file.title=Åbn fil open_file_label=Åbn +print.title=Udskriv +print_label=Udskriv download.title=Hent download_label=Hent bookmark.title=Aktuel visning (kopier eller åbn i et nyt vindue) @@ -48,16 +48,12 @@ bookmark_label=Aktuel visning tools.title=Funktioner tools_label=Funktioner first_page.title=Gå til første side -first_page.label=Gå til første side first_page_label=Gå til første side last_page.title=Gå til sidste side -last_page.label=Gå til sidste side last_page_label=Gå til sidste side page_rotate_cw.title=Roter med uret -page_rotate_cw.label=Roter med uret page_rotate_cw_label=Roter med uret page_rotate_ccw.title=Roter mod uret -page_rotate_ccw.label=Roter mod uret page_rotate_ccw_label=Roter mod uret cursor_text_select_tool.title=Aktiver markeringsværktøj @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Markeringsværktøj cursor_hand_tool.title=Aktiver håndværktøj cursor_hand_tool_label=Håndværktøj +scroll_page.title=Brug sidescrolling +scroll_page_label=Sidescrolling scroll_vertical.title=Brug vertikal scrolling scroll_vertical_label=Vertikal scrolling scroll_horizontal.title=Brug horisontal scrolling @@ -137,19 +135,24 @@ print_progress_close=Annuller # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Slå sidepanel til eller fra -toggle_sidebar_notification.title=Slå sidepanel til eller fra (dokumentet indeholder disposition/vedhæftede filer) +toggle_sidebar_notification2.title=Slå sidepanel til eller fra (dokumentet indeholder disposition/vedhæftede filer/lag) toggle_sidebar_label=Slå sidepanel til eller fra document_outline.title=Vis dokumentets disposition (dobbeltklik for at vise/skjule alle elementer) document_outline_label=Dokument-disposition attachments.title=Vis vedhæftede filer attachments_label=Vedhæftede filer +layers.title=Vis lag (dobbeltklik for at nulstille alle lag til standard-tilstanden) +layers_label=Lag thumbs.title=Vis miniaturer thumbs_label=Miniaturer +current_outline_item.title=Find det aktuelle dispositions-element +current_outline_item_label=Aktuelt dispositions-element findbar.title=Find i dokument findbar_label=Find -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Side {{page}} +additional_layers=Yderligere lag +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Side {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Faktisk størrelse page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Fejl +loading=Indlæser… loading_error=Der opstod en fejl ved indlæsning af PDF-filen. invalid_file_error=PDF-filen er ugyldig eller ødelagt. missing_file_error=Manglende PDF-fil. @@ -245,4 +248,3 @@ password_cancel=Fortryd printing_not_supported=Advarsel: Udskrivning er ikke fuldt understøttet af browseren. printing_not_ready=Advarsel: PDF-filen er ikke fuldt indlæst til udskrivning. web_fonts_disabled=Webskrifttyper er deaktiverede. De indlejrede skrifttyper i PDF-filen kan ikke anvendes. -document_colors_not_allowed=PDF-dokumenter må ikke bruge deres egne farver: 'Tillad sider at vælge deres egne farver' er deaktiveret i browseren. diff --git a/app/assets/javascripts/archive/locale/de/viewer.properties b/app/assets/javascripts/archive/locale/de/viewer.properties index 84240bb..1cda13f 100644 --- a/app/assets/javascripts/archive/locale/de/viewer.properties +++ b/app/assets/javascripts/archive/locale/de/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Aktuelle Ansicht tools.title=Werkzeuge tools_label=Werkzeuge first_page.title=Erste Seite anzeigen -first_page.label=Erste Seite anzeigen first_page_label=Erste Seite anzeigen last_page.title=Letzte Seite anzeigen -last_page.label=Letzte Seite anzeigen last_page_label=Letzte Seite anzeigen page_rotate_cw.title=Im Uhrzeigersinn drehen -page_rotate_cw.label=Im Uhrzeigersinn drehen page_rotate_cw_label=Im Uhrzeigersinn drehen page_rotate_ccw.title=Gegen Uhrzeigersinn drehen -page_rotate_ccw.label=Gegen Uhrzeigersinn drehen page_rotate_ccw_label=Gegen Uhrzeigersinn drehen cursor_text_select_tool.title=Textauswahl-Werkzeug aktivieren @@ -65,11 +61,13 @@ cursor_text_select_tool_label=Textauswahl-Werkzeug cursor_hand_tool.title=Hand-Werkzeug aktivieren cursor_hand_tool_label=Hand-Werkzeug +scroll_page.title=Seiten einzeln anordnen +scroll_page_label=Einzelseitenanordnung scroll_vertical.title=Seiten übereinander anordnen scroll_vertical_label=Vertikale Seitenanordnung scroll_horizontal.title=Seiten nebeneinander anordnen scroll_horizontal_label=Horizontale Seitenanordnung -scroll_wrapped.title=Seiten neben- und übereinander anordnen, anhängig vom Platz +scroll_wrapped.title=Seiten neben- und übereinander anordnen, abhängig vom Platz scroll_wrapped_label=Kombinierte Seitenanordnung spread_none.title=Seiten nicht nebeneinander anzeigen @@ -137,19 +135,24 @@ print_progress_close=Abbrechen # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Sidebar umschalten -toggle_sidebar_notification.title=Sidebar umschalten (Dokument enthält Dokumentstruktur/Anhänge) +toggle_sidebar_notification2.title=Sidebar umschalten (Dokument enthält Dokumentstruktur/Anhänge/Ebenen) toggle_sidebar_label=Sidebar umschalten document_outline.title=Dokumentstruktur anzeigen (Doppelklicken, um alle Einträge aus- bzw. einzuklappen) document_outline_label=Dokumentstruktur attachments.title=Anhänge anzeigen attachments_label=Anhänge +layers.title=Ebenen anzeigen (Doppelklicken, um alle Ebenen auf den Standardzustand zurückzusetzen) +layers_label=Ebenen thumbs.title=Miniaturansichten anzeigen thumbs_label=Miniaturansichten +current_outline_item.title=Aktuelles Struktur-Element finden +current_outline_item_label=Aktuelles Struktur-Element findbar.title=Dokument durchsuchen findbar_label=Suchen -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Seite {{page}} +additional_layers=Zusätzliche Ebenen +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Seite {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Originalgröße page_scale_percent={{scale}} % # Loading indicator messages -loading_error_indicator=Fehler +loading=Wird geladen… loading_error=Beim Laden der PDF-Datei trat ein Fehler auf. invalid_file_error=Ungültige oder beschädigte PDF-Datei missing_file_error=Fehlende PDF-Datei @@ -245,4 +248,3 @@ password_cancel=Abbrechen printing_not_supported=Warnung: Die Drucken-Funktion wird durch diesen Browser nicht vollständig unterstützt. printing_not_ready=Warnung: Die PDF-Datei ist nicht vollständig geladen, dies ist für das Drucken aber empfohlen. web_fonts_disabled=Web-Schriftarten sind deaktiviert: Eingebettete PDF-Schriftarten konnten nicht geladen werden. -document_colors_not_allowed=PDF-Dokumenten ist es nicht erlaubt, ihre eigenen Farben zu verwenden: 'Seiten das Verwenden von eigenen Farben erlauben' ist im Browser deaktiviert. diff --git a/app/assets/javascripts/archive/locale/dsb/viewer.properties b/app/assets/javascripts/archive/locale/dsb/viewer.properties index eb567ec..6eecd63 100644 --- a/app/assets/javascripts/archive/locale/dsb/viewer.properties +++ b/app/assets/javascripts/archive/locale/dsb/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Aktualny naglěd tools.title=Rědy tools_label=Rědy first_page.title=K prědnemu bokoju -first_page.label=K prědnemu bokoju first_page_label=K prědnemu bokoju last_page.title=K slědnemu bokoju -last_page.label=K slědnemu bokoju last_page_label=K slědnemu bokoju page_rotate_cw.title=Wobwjertnuś ako špěra źo -page_rotate_cw.label=Wobwjertnuś ako špěra źo page_rotate_cw_label=Wobwjertnuś ako špěra źo page_rotate_ccw.title=Wobwjertnuś nawopaki ako špěra źo -page_rotate_ccw.label=Wobwjertnuś nawopaki ako špěra źo page_rotate_ccw_label=Wobwjertnuś nawopaki ako špěra źo cursor_text_select_tool.title=Rěd za wuběranje teksta zmóžniś @@ -65,8 +61,10 @@ cursor_text_select_tool_label=Rěd za wuběranje teksta cursor_hand_tool.title=Rucny rěd zmóžniś cursor_hand_tool_label=Rucny rěd +scroll_page.title=Kulanje boka wužywaś +scroll_page_label=Kulanje boka scroll_vertical.title=Wertikalne suwanje wužywaś -scroll_vertical_label=Wertikalnje suwanje +scroll_vertical_label=Wertikalne suwanje scroll_horizontal.title=Horicontalne suwanje wužywaś scroll_horizontal_label=Horicontalne suwanje scroll_wrapped.title=Pózlažke suwanje wužywaś @@ -137,19 +135,24 @@ print_progress_close=Pśetergnuś # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Bócnicu pokazaś/schowaś -toggle_sidebar_notification.title=Bocnicu pśešaltowaś (dokument wopśimujo pśeglěd/pśipiski) +toggle_sidebar_notification2.title=Bocnicu pśešaltowaś (dokument rozrědowanje/pśipiski/warstwy wopśimujo) toggle_sidebar_label=Bócnicu pokazaś/schowaś document_outline.title=Dokumentowe naraźenje pokazaś (dwójne kliknjenje, aby se wšykne zapiski pokazali/schowali) document_outline_label=Dokumentowa struktura attachments.title=Pśidanki pokazaś attachments_label=Pśidanki +layers.title=Warstwy pokazaś (klikniśo dwójcy, aby wšykne warstwy na standardny staw slědk stajił) +layers_label=Warstwy thumbs.title=Miniatury pokazaś thumbs_label=Miniatury +current_outline_item.title=Aktualny rozrědowański zapisk pytaś +current_outline_item_label=Aktualny rozrědowański zapisk findbar.title=W dokumenśe pytaś findbar_label=Pytaś -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Bok {{page}} +additional_layers=Dalšne warstwy +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Bok {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -167,6 +170,7 @@ find_next.title=Pśidujuce wustupowanje pytańskego wuraza pytaś find_next_label=Dalej find_highlight=Wšykne wuzwignuś find_match_case_label=Na wjelikopisanje źiwaś +find_match_diacritics_label=Diakritiske znamuška wužywaś find_entire_word_label=Cełe słowa find_reached_top=Zachopjeńk dokumenta dostany, pókšacujo se z kóńcom find_reached_bottom=Kóńc dokumenta dostany, pókšacujo se ze zachopjeńkom @@ -222,7 +226,7 @@ page_scale_actual=Aktualna wjelikosć page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Zmólka +loading=Zacytujo se… loading_error=Pśi zacytowanju PDF jo zmólka nastała. invalid_file_error=Njepłaśiwa abo wobškóźona PDF-dataja. missing_file_error=Felujuca PDF-dataja. @@ -245,4 +249,3 @@ password_cancel=Pśetergnuś printing_not_supported=Warnowanje: Śišćanje njepódpěra se połnje pśez toś ten wobglědowak. printing_not_ready=Warnowanje: PDF njejo se za śišćanje dopołnje zacytał. web_fonts_disabled=Webpisma su znjemóžnjone: njejo móžno, zasajźone PDF-pisma wužywaś. -document_colors_not_allowed=PDF-dokumenty njesměju swóje barwy wužywaś: 'Bokam dowóliś, swóje barwy wužywaś' jo we wobglědowaku znjemóžnjone. diff --git a/app/assets/javascripts/archive/locale/el/viewer.properties b/app/assets/javascripts/archive/locale/el/viewer.properties index d7a6abc..2525b3b 100644 --- a/app/assets/javascripts/archive/locale/el/viewer.properties +++ b/app/assets/javascripts/archive/locale/el/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Τρέχουσα προβολή tools.title=Εργαλεία tools_label=Εργαλεία first_page.title=Μετάβαση στην πρώτη σελίδα -first_page.label=Μετάβαση στην πρώτη σελίδα first_page_label=Μετάβαση στην πρώτη σελίδα last_page.title=Μετάβαση στην τελευταία σελίδα -last_page.label=Μετάβαση στην τελευταία σελίδα last_page_label=Μετάβαση στην τελευταία σελίδα page_rotate_cw.title=Δεξιόστροφη περιστροφή -page_rotate_cw.label=Δεξιόστροφη περιστροφή page_rotate_cw_label=Δεξιόστροφη περιστροφή page_rotate_ccw.title=Αριστερόστροφη περιστροφή -page_rotate_ccw.label=Αριστερόστροφη περιστροφή page_rotate_ccw_label=Αριστερόστροφη περιστροφή cursor_text_select_tool.title=Ενεργοποίηση εργαλείου επιλογής κειμένου @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Εργαλείο επιλογής κειμένου cursor_hand_tool.title=Ενεργοποίηση εργαλείου χεριού cursor_hand_tool_label=Εργαλείο χεριού +scroll_page.title=Χρήση κύλισης σελίδας +scroll_page_label=Κύλιση σελίδας scroll_vertical.title=Χρήση κάθετης κύλισης scroll_vertical_label=Κάθετη κύλιση scroll_horizontal.title=Χρήση οριζόντιας κύλισης @@ -93,7 +91,7 @@ document_properties_mb={{size_mb}} MB ({{size_b}} bytes) document_properties_title=Τίτλος: document_properties_author=Συγγραφέας: document_properties_subject=Θέμα: -document_properties_keywords=Λέξεις κλειδιά: +document_properties_keywords=Λέξεις-κλειδιά: document_properties_creation_date=Ημερομηνία δημιουργίας: document_properties_modification_date=Ημερομηνία τροποποίησης: # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" @@ -105,7 +103,7 @@ document_properties_version=Έκδοση PDF: document_properties_page_count=Αριθμός σελίδων: document_properties_page_size=Μέγεθος σελίδας: document_properties_page_size_unit_inches=ίντσες -document_properties_page_size_unit_millimeters=χιλιοστά +document_properties_page_size_unit_millimeters=mm document_properties_page_size_orientation_portrait=κατακόρυφα document_properties_page_size_orientation_landscape=οριζόντια document_properties_page_size_name_a3=A3 @@ -131,30 +129,37 @@ print_progress_message=Προετοιμασία του εγγράφου για # LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by # a numerical per cent value. print_progress_percent={{progress}}% -print_progress_close=Άκυρο +print_progress_close=Ακύρωση # Tooltips and alt text for side panel toolbar buttons # (the _label strings are alt text for the buttons, the .title strings are # tooltips) -toggle_sidebar.title=(Απ)ενεργοποίηση πλευρικής στήλης -toggle_sidebar_notification.title=(Απ)ενεργοποίηση πλευρικής στήλης (το έγγραφο περιέχει περίγραμμα/συνημμένα) -toggle_sidebar_label=(Απ)ενεργοποίηση πλευρικής στήλης +toggle_sidebar.title=(Απ)ενεργοποίηση πλαϊνής γραμμής +toggle_sidebar_notification2.title=(Απ)ενεργοποίηση πλαϊνής γραμμής (το έγγραφο περιέχει περίγραμμα/συνημμένα/επίπεδα) +toggle_sidebar_label=(Απ)ενεργοποίηση πλαϊνής γραμμής document_outline.title=Εμφάνιση διάρθρωσης εγγράφου (διπλό κλικ για ανάπτυξη/σύμπτυξη όλων των στοιχείων) document_outline_label=Διάρθρωση εγγράφου -attachments.title=Προβολή συνημμένων +attachments.title=Εμφάνιση συνημμένων attachments_label=Συνημμένα -thumbs.title=Προβολή μικρογραφιών +layers.title=Εμφάνιση επιπέδων (διπλό κλικ για επαναφορά όλων των επιπέδων στην προεπιλεγμένη κατάσταση) +layers_label=Επίπεδα +thumbs.title=Εμφάνιση μικρογραφιών thumbs_label=Μικρογραφίες +current_outline_item.title=Εύρεση τρέχοντος στοιχείου διάρθρωσης +current_outline_item_label=Τρέχον στοιχείο διάρθρωσης findbar.title=Εύρεση στο έγγραφο findbar_label=Εύρεση +additional_layers=Επιπρόσθετα επίπεδα +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Σελίδα {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. thumb_page_title=Σελίδα {{page}} # LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page # number. -thumb_page_canvas=Μικρογραφία της σελίδας {{page}} +thumb_page_canvas=Μικρογραφία σελίδας {{page}} # Find panel button title and messages find_input.title=Εύρεση @@ -164,10 +169,10 @@ find_previous_label=Προηγούμενο find_next.title=Εύρεση της επόμενης εμφάνισης της φράσης find_next_label=Επόμενο find_highlight=Επισήμανση όλων -find_match_case_label=Ταίριασμα χαρακτήρα +find_match_case_label=Συμφωνία πεζών/κεφαλαίων find_entire_word_label=Ολόκληρες λέξεις -find_reached_top=Έλευση στην αρχή του εγγράφου, συνέχεια από το τέλος -find_reached_bottom=Έλευση στο τέλος του εγγράφου, συνέχεια από την αρχή +find_reached_top=Φτάσατε στην αρχή του εγγράφου, συνέχεια από το τέλος +find_reached_bottom=Φτάσατε στο τέλος του εγγράφου, συνέχεια από την αρχή # LOCALIZATION NOTE (find_match_count): The supported plural forms are # [one|two|few|many|other], with [other] as the default value. # "{{current}}" and "{{total}}" will be replaced by a number representing the @@ -197,7 +202,7 @@ error_less_info=Λιγότερες πληροφορίες error_close=Κλείσιμο # LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be # replaced by the PDF.JS version and build ID. -error_version_info=PDF.js v{{version}} (build: {{build}}) +error_version_info=PDF.js v{{version}} (έκδοση: {{build}}) # LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an # english string describing the error. error_message=Μήνυμα: {{message}} @@ -208,7 +213,7 @@ error_stack=Στοίβα: {{stack}} error_file=Αρχείο: {{file}} # LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number error_line=Γραμμή: {{line}} -rendering_error=Προέκυψε σφάλμα κατά την ανάλυση της σελίδας. +rendering_error=Προέκυψε σφάλμα κατά την εμφάνιση της σελίδας. # Predefined zoom values page_scale_width=Πλάτος σελίδας @@ -220,8 +225,8 @@ page_scale_actual=Πραγματικό μέγεθος page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Σφάλμα -loading_error=Προέκυψε ένα σφάλμα κατά τη φόρτωση του PDF. +loading=Φόρτωση… +loading_error=Προέκυψε σφάλμα κατά τη φόρτωση του PDF. invalid_file_error=Μη έγκυρο ή κατεστραμμένο αρχείο PDF. missing_file_error=Λείπει αρχείο PDF. unexpected_response_error=Μη αναμενόμενη απόκριση από το διακομιστή. @@ -234,13 +239,12 @@ annotation_date_string={{date}}, {{time}} # "{{type}}" will be replaced with an annotation type from a list defined in # the PDF spec (32000-1:2008 Table 169 – Annotation types). # Some common types are e.g.: "Check", "Text", "Comment", "Note" -text_annotation_type.alt=[{{type}} Σχόλιο] -password_label=Εισαγωγή κωδικού για το άνοιγμα του PDF αρχείου. -password_invalid=Μη έγκυρος κωδικός. Προσπαθείστε ξανά. -password_ok=ΟΚ +text_annotation_type.alt=[Σχόλιο «{{type}}»] +password_label=Εισαγάγετε τον κωδικό πρόσβασης για να ανοίξετε αυτό το αρχείο PDF. +password_invalid=Μη έγκυρος κωδικός πρόσβασης. Παρακαλώ δοκιμάστε ξανά. +password_ok=OK password_cancel=Ακύρωση -printing_not_supported=Προειδοποίηση: Η εκτύπωση δεν υποστηρίζεται πλήρως από αυτόν τον περιηγητή. +printing_not_supported=Προειδοποίηση: Η εκτύπωση δεν υποστηρίζεται πλήρως από το πρόγραμμα περιήγησης. printing_not_ready=Προειδοποίηση: Το PDF δεν φορτώθηκε πλήρως για εκτύπωση. -web_fonts_disabled=Οι γραμματοσειρές Web απενεργοποιημένες: αδυναμία χρήσης των ενσωματωμένων γραμματοσειρών PDF. -document_colors_not_allowed=Στα PDF έγγραφα δεν επιτρέπεται να χρησιμοποιούν τα δικά τους χρώματα: Το “Να επιτρέπεται στις σελίδες να επιλέγουν τα δικά τους χρώματα” είναι απενεργοποιημένο στον περιηγητή. +web_fonts_disabled=Οι γραμματοσειρές ιστού είναι ανενεργές: δεν είναι δυνατή η χρήση των ενσωματωμένων γραμματοσειρών PDF. diff --git a/app/assets/javascripts/archive/locale/en-CA/viewer.properties b/app/assets/javascripts/archive/locale/en-CA/viewer.properties index df7a687..08db294 100644 --- a/app/assets/javascripts/archive/locale/en-CA/viewer.properties +++ b/app/assets/javascripts/archive/locale/en-CA/viewer.properties @@ -48,23 +48,21 @@ bookmark_label=Current View tools.title=Tools tools_label=Tools first_page.title=Go to First Page -first_page.label=Go to First Page first_page_label=Go to First Page last_page.title=Go to Last Page -last_page.label=Go to Last Page last_page_label=Go to Last Page page_rotate_cw.title=Rotate Clockwise -page_rotate_cw.label=Rotate Clockwise page_rotate_cw_label=Rotate Clockwise -page_rotate_ccw.title=Rotate Anti-Clockwise -page_rotate_ccw.label=Rotate Anti-Clockwise -page_rotate_ccw_label=Rotate Anti-Clockwise +page_rotate_ccw.title=Rotate Counterclockwise +page_rotate_ccw_label=Rotate Counterclockwise cursor_text_select_tool.title=Enable Text Selection Tool cursor_text_select_tool_label=Text Selection Tool cursor_hand_tool.title=Enable Hand Tool cursor_hand_tool_label=Hand Tool +scroll_page.title=Use Page Scrolling +scroll_page_label=Page Scrolling scroll_vertical.title=Use Vertical Scrolling scroll_vertical_label=Vertical Scrolling scroll_horizontal.title=Use Horizontal Scrolling @@ -137,19 +135,24 @@ print_progress_close=Cancel # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Toggle Sidebar -toggle_sidebar_notification.title=Toggle Sidebar (document contains outline/attachments) +toggle_sidebar_notification2.title=Toggle Sidebar (document contains outline/attachments/layers) toggle_sidebar_label=Toggle Sidebar document_outline.title=Show Document Outline (double-click to expand/collapse all items) document_outline_label=Document Outline attachments.title=Show Attachments attachments_label=Attachments +layers.title=Show Layers (double-click to reset all layers to the default state) +layers_label=Layers thumbs.title=Show Thumbnails thumbs_label=Thumbnails +current_outline_item.title=Find Current Outline Item +current_outline_item_label=Current Outline Item findbar.title=Find in Document findbar_label=Find -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Page {{page}} +additional_layers=Additional Layers +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Page {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -165,9 +168,9 @@ find_previous.title=Find the previous occurrence of the phrase find_previous_label=Previous find_next.title=Find the next occurrence of the phrase find_next_label=Next -find_highlight=Highlight all -find_match_case_label=Match case -find_entire_word_label=Whole words +find_highlight=Highlight All +find_match_case_label=Match Case +find_entire_word_label=Whole Words find_reached_top=Reached top of document, continued from bottom find_reached_bottom=Reached end of document, continued from top # LOCALIZATION NOTE (find_match_count): The supported plural forms are @@ -222,7 +225,7 @@ page_scale_actual=Actual Size page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Error +loading=Loading… loading_error=An error occurred while loading the PDF. invalid_file_error=Invalid or corrupted PDF file. missing_file_error=Missing PDF file. @@ -245,4 +248,3 @@ password_cancel=Cancel printing_not_supported=Warning: Printing is not fully supported by this browser. printing_not_ready=Warning: The PDF is not fully loaded for printing. web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts. -document_colors_not_allowed=PDF documents are not allowed to use their own colours: “Allow pages to choose their own colours” is deactivated in the browser. diff --git a/app/assets/javascripts/archive/locale/en-GB/viewer.properties b/app/assets/javascripts/archive/locale/en-GB/viewer.properties index df7a687..2cfdda6 100644 --- a/app/assets/javascripts/archive/locale/en-GB/viewer.properties +++ b/app/assets/javascripts/archive/locale/en-GB/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Current View tools.title=Tools tools_label=Tools first_page.title=Go to First Page -first_page.label=Go to First Page first_page_label=Go to First Page last_page.title=Go to Last Page -last_page.label=Go to Last Page last_page_label=Go to Last Page page_rotate_cw.title=Rotate Clockwise -page_rotate_cw.label=Rotate Clockwise page_rotate_cw_label=Rotate Clockwise page_rotate_ccw.title=Rotate Anti-Clockwise -page_rotate_ccw.label=Rotate Anti-Clockwise page_rotate_ccw_label=Rotate Anti-Clockwise cursor_text_select_tool.title=Enable Text Selection Tool @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Text Selection Tool cursor_hand_tool.title=Enable Hand Tool cursor_hand_tool_label=Hand Tool +scroll_page.title=Use Page Scrolling +scroll_page_label=Page Scrolling scroll_vertical.title=Use Vertical Scrolling scroll_vertical_label=Vertical Scrolling scroll_horizontal.title=Use Horizontal Scrolling @@ -137,19 +135,24 @@ print_progress_close=Cancel # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Toggle Sidebar -toggle_sidebar_notification.title=Toggle Sidebar (document contains outline/attachments) +toggle_sidebar_notification2.title=Toggle Sidebar (document contains outline/attachments/layers) toggle_sidebar_label=Toggle Sidebar document_outline.title=Show Document Outline (double-click to expand/collapse all items) document_outline_label=Document Outline attachments.title=Show Attachments attachments_label=Attachments +layers.title=Show Layers (double-click to reset all layers to the default state) +layers_label=Layers thumbs.title=Show Thumbnails thumbs_label=Thumbnails +current_outline_item.title=Find Current Outline Item +current_outline_item_label=Current Outline Item findbar.title=Find in Document findbar_label=Find -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Page {{page}} +additional_layers=Additional Layers +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Page {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -165,9 +168,10 @@ find_previous.title=Find the previous occurrence of the phrase find_previous_label=Previous find_next.title=Find the next occurrence of the phrase find_next_label=Next -find_highlight=Highlight all -find_match_case_label=Match case -find_entire_word_label=Whole words +find_highlight=Highlight All +find_match_case_label=Match Case +find_match_diacritics_label=Match Diacritics +find_entire_word_label=Whole Words find_reached_top=Reached top of document, continued from bottom find_reached_bottom=Reached end of document, continued from top # LOCALIZATION NOTE (find_match_count): The supported plural forms are @@ -222,7 +226,7 @@ page_scale_actual=Actual Size page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Error +loading=Loading… loading_error=An error occurred while loading the PDF. invalid_file_error=Invalid or corrupted PDF file. missing_file_error=Missing PDF file. @@ -245,4 +249,3 @@ password_cancel=Cancel printing_not_supported=Warning: Printing is not fully supported by this browser. printing_not_ready=Warning: The PDF is not fully loaded for printing. web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts. -document_colors_not_allowed=PDF documents are not allowed to use their own colours: “Allow pages to choose their own colours” is deactivated in the browser. diff --git a/app/assets/javascripts/archive/locale/en-US/viewer.properties b/app/assets/javascripts/archive/locale/en-US/viewer.properties index 6f7598e..2eb5a8d 100644 --- a/app/assets/javascripts/archive/locale/en-US/viewer.properties +++ b/app/assets/javascripts/archive/locale/en-US/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Current View tools.title=Tools tools_label=Tools first_page.title=Go to First Page -first_page.label=Go to First Page first_page_label=Go to First Page last_page.title=Go to Last Page -last_page.label=Go to Last Page last_page_label=Go to Last Page page_rotate_cw.title=Rotate Clockwise -page_rotate_cw.label=Rotate Clockwise page_rotate_cw_label=Rotate Clockwise page_rotate_ccw.title=Rotate Counterclockwise -page_rotate_ccw.label=Rotate Counterclockwise page_rotate_ccw_label=Rotate Counterclockwise cursor_text_select_tool.title=Enable Text Selection Tool @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Text Selection Tool cursor_hand_tool.title=Enable Hand Tool cursor_hand_tool_label=Hand Tool +scroll_page.title=Use Page Scrolling +scroll_page_label=Page Scrolling scroll_vertical.title=Use Vertical Scrolling scroll_vertical_label=Vertical Scrolling scroll_horizontal.title=Use Horizontal Scrolling @@ -137,19 +135,24 @@ print_progress_close=Cancel # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Toggle Sidebar -toggle_sidebar_notification.title=Toggle Sidebar (document contains outline/attachments) +toggle_sidebar_notification2.title=Toggle Sidebar (document contains outline/attachments/layers) toggle_sidebar_label=Toggle Sidebar document_outline.title=Show Document Outline (double-click to expand/collapse all items) document_outline_label=Document Outline attachments.title=Show Attachments attachments_label=Attachments +layers.title=Show Layers (double-click to reset all layers to the default state) +layers_label=Layers thumbs.title=Show Thumbnails thumbs_label=Thumbnails +current_outline_item.title=Find Current Outline Item +current_outline_item_label=Current Outline Item findbar.title=Find in Document findbar_label=Find -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Page {{page}} +additional_layers=Additional Layers +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Page {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -165,9 +168,10 @@ find_previous.title=Find the previous occurrence of the phrase find_previous_label=Previous find_next.title=Find the next occurrence of the phrase find_next_label=Next -find_highlight=Highlight all -find_match_case_label=Match case -find_entire_word_label=Whole words +find_highlight=Highlight All +find_match_case_label=Match Case +find_match_diacritics_label=Match Diacritics +find_entire_word_label=Whole Words find_reached_top=Reached top of document, continued from bottom find_reached_bottom=Reached end of document, continued from top # LOCALIZATION NOTE (find_match_count): The supported plural forms are @@ -222,7 +226,7 @@ page_scale_actual=Actual Size page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Error +loading=Loading… loading_error=An error occurred while loading the PDF. invalid_file_error=Invalid or corrupted PDF file. missing_file_error=Missing PDF file. diff --git a/app/assets/javascripts/archive/locale/eo/viewer.properties b/app/assets/javascripts/archive/locale/eo/viewer.properties index bca7c45..004307e 100644 --- a/app/assets/javascripts/archive/locale/eo/viewer.properties +++ b/app/assets/javascripts/archive/locale/eo/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Nuna vido tools.title=Iloj tools_label=Iloj first_page.title=Iri al la unua paĝo -first_page.label=Iri al la unua paĝo first_page_label=Iri al la unua paĝo last_page.title=Iri al la lasta paĝo -last_page.label=Iri al la lasta paĝo last_page_label=Iri al la lasta paĝo page_rotate_cw.title=Rotaciigi dekstrume -page_rotate_cw.label=Rotaciigi dekstrume page_rotate_cw_label=Rotaciigi dekstrume page_rotate_ccw.title=Rotaciigi maldekstrume -page_rotate_ccw.label=Rotaciigi maldekstrume page_rotate_ccw_label=Rotaciigi maldekstrume cursor_text_select_tool.title=Aktivigi tekstan elektilon @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Teksta elektilo cursor_hand_tool.title=Aktivigi ilon de mano cursor_hand_tool_label=Ilo de mano +scroll_page.title=Uzi ŝovadon de paĝo +scroll_page_label=Ŝovado de paĝo scroll_vertical.title=Uzi vertikalan ŝovadon scroll_vertical_label=Vertikala ŝovado scroll_horizontal.title=Uzi horizontalan ŝovadon @@ -137,19 +135,24 @@ print_progress_close=Nuligi # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Montri/kaŝi flankan strion -toggle_sidebar_notification.title=Montri/kaŝi flankan strion (la dokumento enhavas konturon/aneksaĵojn) +toggle_sidebar_notification2.title=Montri/kaŝi flankan strion (la dokumento enhavas konturon/kunsendaĵojn/tavolojn) toggle_sidebar_label=Montri/kaŝi flankan strion document_outline.title=Montri la konturon de dokumento (alklaku duoble por faldi/malfaldi ĉiujn elementojn) document_outline_label=Konturo de dokumento attachments.title=Montri kunsendaĵojn attachments_label=Kunsendaĵojn +layers.title=Montri tavolojn (duoble alklaku por remeti ĉiujn tavolojn en la norman staton) +layers_label=Tavoloj thumbs.title=Montri miniaturojn thumbs_label=Miniaturoj +current_outline_item.title=Trovi nunan konturan elementon +current_outline_item_label=Nuna kontura elemento findbar.title=Serĉi en dokumento findbar_label=Serĉi -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Paĝo {{page}} +additional_layers=Aldonaj tavoloj +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Paĝo {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Reala grando page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Eraro +loading=Ŝargado… loading_error=Okazis eraro dum la ŝargado de la PDF dosiero. invalid_file_error=Nevalida aŭ difektita PDF dosiero. missing_file_error=Mankas dosiero PDF. @@ -245,4 +248,3 @@ password_cancel=Nuligi printing_not_supported=Averto: tiu ĉi retumilo ne plene subtenas presadon. printing_not_ready=Averto: la PDF dosiero ne estas plene ŝargita por presado. web_fonts_disabled=Neaktivaj teksaĵaj tiparoj: ne elbas uzi enmetitajn tiparojn de PDF. -document_colors_not_allowed=PDF dokumentoj ne rajtas uzi siajn proprajn kolorojn: 'Permesi al paĝoj uzi siajn proprajn kolorojn' ne estas aktiva en la retumilo. diff --git a/app/assets/javascripts/archive/locale/es-AR/viewer.properties b/app/assets/javascripts/archive/locale/es-AR/viewer.properties index 1d22fba..044b9ea 100644 --- a/app/assets/javascripts/archive/locale/es-AR/viewer.properties +++ b/app/assets/javascripts/archive/locale/es-AR/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Vista actual tools.title=Herramientas tools_label=Herramientas first_page.title=Ir a primera página -first_page.label=Ir a primera página first_page_label=Ir a primera página last_page.title=Ir a última página -last_page.label=Ir a última página last_page_label=Ir a última página page_rotate_cw.title=Rotar horario -page_rotate_cw.label=Rotar horario page_rotate_cw_label=Rotar horario page_rotate_ccw.title=Rotar antihorario -page_rotate_ccw.label=Rotar antihorario page_rotate_ccw_label=Rotar antihorario cursor_text_select_tool.title=Habilitar herramienta de selección de texto @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Herramienta de selección de texto cursor_hand_tool.title=Habilitar herramienta mano cursor_hand_tool_label=Herramienta mano +scroll_page.title=Usar desplazamiento de página +scroll_page_label=Desplazamiento de página scroll_vertical.title=Usar desplazamiento vertical scroll_vertical_label=Desplazamiento vertical scroll_horizontal.title=Usar desplazamiento vertical @@ -137,19 +135,24 @@ print_progress_close=Cancelar # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Alternar barra lateral -toggle_sidebar_notification.title=Intercambiar barra lateral (el documento contiene esquema/adjuntos) +toggle_sidebar_notification2.title=Alternar barra lateral (el documento contiene esquemas/adjuntos/capas) toggle_sidebar_label=Alternar barra lateral document_outline.title=Mostrar esquema del documento (doble clic para expandir/colapsar todos los ítems) document_outline_label=Esquema del documento attachments.title=Mostrar adjuntos attachments_label=Adjuntos +layers.title=Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado) +layers_label=Capas thumbs.title=Mostrar miniaturas thumbs_label=Miniaturas +current_outline_item.title=Buscar elemento de esquema actual +current_outline_item_label=Elemento de esquema actual findbar.title=Buscar en documento findbar_label=Buscar -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Página {{page}} +additional_layers=Capas adicionales +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Página {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -167,6 +170,7 @@ find_next.title=Buscar la siguiente aparición de la frase find_next_label=Siguiente find_highlight=Resaltar todo find_match_case_label=Coincidir mayúsculas +find_match_diacritics_label=Coincidir diacríticos find_entire_word_label=Palabras completas find_reached_top=Inicio de documento alcanzado, continuando desde abajo find_reached_bottom=Fin de documento alcanzando, continuando desde arriba @@ -222,7 +226,7 @@ page_scale_actual=Tamaño real page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Error +loading=Cargando… loading_error=Ocurrió un error al cargar el PDF. invalid_file_error=Archivo PDF no válido o cocrrupto. missing_file_error=Archivo PDF faltante. @@ -245,4 +249,3 @@ password_cancel=Cancelar printing_not_supported=Advertencia: La impresión no está totalmente soportada por este navegador. printing_not_ready=Advertencia: El PDF no está completamente cargado para impresión. web_fonts_disabled=Tipografía web deshabilitada: no se pueden usar tipos incrustados en PDF. -document_colors_not_allowed=Los documentos PDF no tienen permitido usar sus propios colores: 'Permitir a las páginas elegir sus propios colores' está desactivado en el navegador. diff --git a/app/assets/javascripts/archive/locale/es-CL/viewer.properties b/app/assets/javascripts/archive/locale/es-CL/viewer.properties index f7f621f..0d23f2e 100644 --- a/app/assets/javascripts/archive/locale/es-CL/viewer.properties +++ b/app/assets/javascripts/archive/locale/es-CL/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Vista actual tools.title=Herramientas tools_label=Herramientas first_page.title=Ir a la primera página -first_page.label=Ir a la primera página first_page_label=Ir a la primera página last_page.title=Ir a la última página -last_page.label=Ir a la última página last_page_label=Ir a la última página page_rotate_cw.title=Girar a la derecha -page_rotate_cw.label=Girar a la derecha page_rotate_cw_label=Girar a la derecha page_rotate_ccw.title=Girar a la izquierda -page_rotate_ccw.label=Girar a la izquierda page_rotate_ccw_label=Girar a la izquierda cursor_text_select_tool.title=Activar la herramienta de selección de texto @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Herramienta de selección de texto cursor_hand_tool.title=Activar la herramienta de mano cursor_hand_tool_label=Herramienta de mano +scroll_page.title=Usar desplazamiento de página +scroll_page_label=Desplazamiento de página scroll_vertical.title=Usar desplazamiento vertical scroll_vertical_label=Desplazamiento vertical scroll_horizontal.title=Usar desplazamiento horizontal @@ -137,19 +135,24 @@ print_progress_close=Cancelar # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Barra lateral -toggle_sidebar_notification.title=Cambiar barra lateral (índice de contenidos del documento/adjuntos) +toggle_sidebar_notification2.title=Cambiar barra lateral (índice de contenidos del documento/adjuntos/capas) toggle_sidebar_label=Mostrar u ocultar la barra lateral document_outline.title=Mostrar esquema del documento (doble clic para expandir/contraer todos los elementos) document_outline_label=Esquema del documento attachments.title=Mostrar adjuntos attachments_label=Adjuntos +layers.title=Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado) +layers_label=Capas thumbs.title=Mostrar miniaturas thumbs_label=Miniaturas +current_outline_item.title=Buscar elemento de esquema actual +current_outline_item_label=Elemento de esquema actual findbar.title=Buscar en el documento findbar_label=Buscar -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Página {{page}} +additional_layers=Capas adicionales +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Página {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -167,6 +170,7 @@ find_next.title=Buscar la siguiente aparición de la frase find_next_label=Siguiente find_highlight=Destacar todos find_match_case_label=Coincidir mayús./minús. +find_match_diacritics_label=Coincidir diacríticos find_entire_word_label=Palabras completas find_reached_top=Se alcanzó el inicio del documento, continuando desde el final find_reached_bottom=Se alcanzó el final del documento, continuando desde el inicio @@ -176,11 +180,11 @@ find_reached_bottom=Se alcanzó el final del documento, continuando desde el ini # index of the currently active find result, respectively a number representing # the total number of matches in the document. find_match_count={[ plural(total) ]} -find_match_count[one]={{current}} de {{total}} coincidencia -find_match_count[two]={{current}} de {{total}} coincidencias -find_match_count[few]={{current}} de {{total}} coincidencias -find_match_count[many]={{current}} de {{total}} coincidencias -find_match_count[other]={{current}} de {{total}} coincidencias +find_match_count[one]=Coincidencia {{current}} de {{total}} +find_match_count[two]=Coincidencia {{current}} de {{total}} +find_match_count[few]=Coincidencia {{current}} de {{total}} +find_match_count[many]=Coincidencia {{current}} de {{total}} +find_match_count[other]=Coincidencia {{current}} de {{total}} # LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are # [zero|one|two|few|many|other], with [other] as the default value. # "{{limit}}" will be replaced by a numerical value. @@ -210,7 +214,7 @@ error_stack=Pila: {{stack}} error_file=Archivo: {{file}} # LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number error_line=Línea: {{line}} -rendering_error=Ha ocurrido un error al renderizar la página. +rendering_error=Ocurrió un error al renderizar la página. # Predefined zoom values page_scale_width=Ancho de página @@ -222,8 +226,8 @@ page_scale_actual=Tamaño actual page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Error -loading_error=Ha ocurrido un error al cargar el PDF. +loading=Cargando… +loading_error=Ocurrió un error al cargar el PDF. invalid_file_error=Archivo PDF inválido o corrupto. missing_file_error=Falta el archivo PDF. unexpected_response_error=Respuesta del servidor inesperada. @@ -245,4 +249,3 @@ password_cancel=Cancelar printing_not_supported=Advertencia: Imprimir no está soportado completamente por este navegador. printing_not_ready=Advertencia: El PDF no está completamente cargado para ser impreso. web_fonts_disabled=Las tipografías web están desactivadas: imposible usar las fuentes PDF embebidas. -document_colors_not_allowed=Los documentos PDF no tienen permitido usar sus propios colores: 'Permitir a las páginas elegir sus propios colores' está desactivado en el navegador. diff --git a/app/assets/javascripts/archive/locale/es-ES/viewer.properties b/app/assets/javascripts/archive/locale/es-ES/viewer.properties index cef373a..de4bbdf 100644 --- a/app/assets/javascripts/archive/locale/es-ES/viewer.properties +++ b/app/assets/javascripts/archive/locale/es-ES/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Vista actual tools.title=Herramientas tools_label=Herramientas first_page.title=Ir a la primera página -first_page.label=Ir a la primera página first_page_label=Ir a la primera página last_page.title=Ir a la última página -last_page.label=Ir a la última página last_page_label=Ir a la última página page_rotate_cw.title=Rotar en sentido horario -page_rotate_cw.label=Rotar en sentido horario page_rotate_cw_label=Rotar en sentido horario page_rotate_ccw.title=Rotar en sentido antihorario -page_rotate_ccw.label=Rotar en sentido antihorario page_rotate_ccw_label=Rotar en sentido antihorario cursor_text_select_tool.title=Activar herramienta de selección de texto @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Herramienta de selección de texto cursor_hand_tool.title=Activar herramienta de mano cursor_hand_tool_label=Herramienta de mano +scroll_page.title=Usar desplazamiento de página +scroll_page_label=Desplazamiento de página scroll_vertical.title=Usar desplazamiento vertical scroll_vertical_label=Desplazamiento vertical scroll_horizontal.title=Usar desplazamiento horizontal @@ -137,19 +135,24 @@ print_progress_close=Cancelar # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Cambiar barra lateral -toggle_sidebar_notification.title=Alternar panel lateral (el documento contiene un esquema o adjuntos) +toggle_sidebar_notification2.title=Alternar barra lateral (el documento contiene esquemas/adjuntos/capas) toggle_sidebar_label=Cambiar barra lateral document_outline.title=Mostrar resumen del documento (doble clic para expandir/contraer todos los elementos) document_outline_label=Resumen de documento attachments.title=Mostrar adjuntos attachments_label=Adjuntos +layers.title=Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado) +layers_label=Capas thumbs.title=Mostrar miniaturas thumbs_label=Miniaturas +current_outline_item.title=Encontrar elemento de esquema actual +current_outline_item_label=Elemento de esquema actual findbar.title=Buscar en el documento findbar_label=Buscar -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Página {{page}} +additional_layers=Capas adicionales +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Página {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Tamaño real page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Error +loading=Cargando… loading_error=Ocurrió un error al cargar el PDF. invalid_file_error=Fichero PDF no válido o corrupto. missing_file_error=No hay fichero PDF. @@ -245,4 +248,3 @@ password_cancel=Cancelar printing_not_supported=Advertencia: Imprimir no está totalmente soportado por este navegador. printing_not_ready=Advertencia: Este PDF no se ha cargado completamente para poder imprimirse. web_fonts_disabled=Las tipografías web están desactivadas: es imposible usar las tipografías PDF embebidas. -document_colors_not_allowed=Los documentos PDF no tienen permitido usar sus propios colores: 'Permitir a las páginas elegir sus propios colores' está desactivado en el navegador. diff --git a/app/assets/javascripts/archive/locale/es-MX/viewer.properties b/app/assets/javascripts/archive/locale/es-MX/viewer.properties index 88a8282..dc0ce0d 100644 --- a/app/assets/javascripts/archive/locale/es-MX/viewer.properties +++ b/app/assets/javascripts/archive/locale/es-MX/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Vista actual tools.title=Herramientas tools_label=Herramientas first_page.title=Ir a la primera página -first_page.label=Ir a la primera página first_page_label=Ir a la primera página last_page.title=Ir a la última página -last_page.label=Ir a la última página last_page_label=Ir a la última página page_rotate_cw.title=Girar a la derecha -page_rotate_cw.label=Girar a la derecha page_rotate_cw_label=Girar a la derecha page_rotate_ccw.title=Girar a la izquierda -page_rotate_ccw.label=Girar a la izquierda page_rotate_ccw_label=Girar a la izquierda cursor_text_select_tool.title=Activar la herramienta de selección de texto @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Herramienta de selección de texto cursor_hand_tool.title=Activar la herramienta de mano cursor_hand_tool_label=Herramienta de mano +scroll_page.title=Usar desplazamiento de página +scroll_page_label=Desplazamiento de página scroll_vertical.title=Usar desplazamiento vertical scroll_vertical_label=Desplazamiento vertical scroll_horizontal.title=Usar desplazamiento horizontal @@ -137,19 +135,24 @@ print_progress_close=Cancelar # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Cambiar barra lateral -toggle_sidebar_notification.title=Cambiar barra lateral (índice de contenidos del documento/adjuntos) +toggle_sidebar_notification2.title=Alternar barra lateral (el documento contiene esquemas/adjuntos/capas) toggle_sidebar_label=Cambiar barra lateral document_outline.title=Mostrar esquema del documento (doble clic para expandir/contraer todos los elementos) document_outline_label=Esquema del documento attachments.title=Mostrar adjuntos attachments_label=Adjuntos +layers.title=Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado) +layers_label=Capas thumbs.title=Mostrar miniaturas thumbs_label=Miniaturas +current_outline_item.title=Buscar elemento de esquema actual +current_outline_item_label=Elemento de esquema actual findbar.title=Buscar en el documento findbar_label=Buscar -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Página {{page}} +additional_layers=Capas adicionales +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Página {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -167,6 +170,7 @@ find_next.title=Ir a la siguiente frase encontrada find_next_label=Siguiente find_highlight=Resaltar todo find_match_case_label=Coincidir con mayúsculas y minúsculas +find_match_diacritics_label=Coincidir diacríticos find_entire_word_label=Palabras completas find_reached_top=Se alcanzó el inicio del documento, se buscará al final find_reached_bottom=Se alcanzó el final del documento, se buscará al inicio @@ -222,7 +226,7 @@ page_scale_actual=Tamaño real page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Error +loading=Cargando… loading_error=Un error ocurrió al cargar el PDF. invalid_file_error=Archivo PDF invalido o dañado. missing_file_error=Archivo PDF no encontrado. @@ -245,4 +249,3 @@ password_cancel=Cancelar printing_not_supported=Advertencia: La impresión no esta completamente soportada por este navegador. printing_not_ready=Advertencia: El PDF no cargo completamente para impresión. web_fonts_disabled=Las fuentes web están desactivadas: es imposible usar las fuentes PDF embebidas. -document_colors_not_allowed=Los documentos PDF no tienen permiso de usar sus propios colores: 'Permitir que las páginas elijan sus propios colores' esta desactivada en el navegador. diff --git a/app/assets/javascripts/archive/locale/et/viewer.properties b/app/assets/javascripts/archive/locale/et/viewer.properties index 11f47c1..17bf0e4 100644 --- a/app/assets/javascripts/archive/locale/et/viewer.properties +++ b/app/assets/javascripts/archive/locale/et/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Praegune vaade tools.title=Tööriistad tools_label=Tööriistad first_page.title=Mine esimesele leheküljele -first_page.label=Mine esimesele leheküljele first_page_label=Mine esimesele leheküljele last_page.title=Mine viimasele leheküljele -last_page.label=Mine viimasele leheküljele last_page_label=Mine viimasele leheküljele page_rotate_cw.title=Pööra päripäeva -page_rotate_cw.label=Pööra päripäeva page_rotate_cw_label=Pööra päripäeva page_rotate_ccw.title=Pööra vastupäeva -page_rotate_ccw.label=Pööra vastupäeva page_rotate_ccw_label=Pööra vastupäeva cursor_text_select_tool.title=Luba teksti valimise tööriist @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Teksti valimise tööriist cursor_hand_tool.title=Luba sirvimistööriist cursor_hand_tool_label=Sirvimistööriist +scroll_page.title=Kasutatakse lehe kaupa kerimist +scroll_page_label=Lehe kaupa kerimine scroll_vertical.title=Kasuta vertikaalset kerimist scroll_vertical_label=Vertikaalne kerimine scroll_horizontal.title=Kasuta horisontaalset kerimist @@ -137,17 +135,24 @@ print_progress_close=Loobu # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Näita külgriba -toggle_sidebar_notification.title=Näita külgriba (dokument sisaldab sisukorda/manuseid) +toggle_sidebar_notification2.title=Näita külgriba (dokument sisaldab sisukorda/manuseid/kihte) toggle_sidebar_label=Näita külgriba document_outline.title=Näita sisukorda (kõigi punktide laiendamiseks/ahendamiseks topeltklõpsa) document_outline_label=Näita sisukorda attachments.title=Näita manuseid attachments_label=Manused +layers.title=Näita kihte (kõikide kihtide vaikeolekusse lähtestamiseks topeltklõpsa) +layers_label=Kihid thumbs.title=Näita pisipilte thumbs_label=Pisipildid +current_outline_item.title=Otsi üles praegune kontuuriüksus +current_outline_item_label=Praegune kontuuriüksus findbar.title=Otsi dokumendist findbar_label=Otsi +additional_layers=Täiendavad kihid +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Lehekülg {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -220,7 +225,7 @@ page_scale_actual=Tegelik suurus page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Viga +loading=Laadimine… loading_error=PDFi laadimisel esines viga. invalid_file_error=Vigane või rikutud PDF-fail. missing_file_error=PDF-fail puudub. @@ -243,4 +248,3 @@ password_cancel=Loobu printing_not_supported=Hoiatus: printimine pole selle brauseri poolt täielikult toetatud. printing_not_ready=Hoiatus: PDF pole printimiseks täielikult laaditud. web_fonts_disabled=Veebifondid on keelatud: PDFiga kaasatud fonte pole võimalik kasutada. -document_colors_not_allowed=PDF-dokumentidel pole oma värvide kasutamine lubatud: “Veebilehtedel on lubatud kasutada oma värve” on brauseris deaktiveeritud. diff --git a/app/assets/javascripts/archive/locale/eu/viewer.properties b/app/assets/javascripts/archive/locale/eu/viewer.properties index e14f5cd..aa2bef7 100644 --- a/app/assets/javascripts/archive/locale/eu/viewer.properties +++ b/app/assets/javascripts/archive/locale/eu/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Uneko ikuspegia tools.title=Tresnak tools_label=Tresnak first_page.title=Joan lehen orrira -first_page.label=Joan lehen orrira first_page_label=Joan lehen orrira last_page.title=Joan azken orrira -last_page.label=Joan azken orrira last_page_label=Joan azken orrira page_rotate_cw.title=Biratu erlojuaren norantzan -page_rotate_cw.label=Biratu erlojuaren norantzan page_rotate_cw_label=Biratu erlojuaren norantzan page_rotate_ccw.title=Biratu erlojuaren aurkako norantzan -page_rotate_ccw.label=Biratu erlojuaren aurkako norantzan page_rotate_ccw_label=Biratu erlojuaren aurkako norantzan cursor_text_select_tool.title=Gaitu testuaren hautapen tresna @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Testuaren hautapen tresna cursor_hand_tool.title=Gaitu eskuaren tresna cursor_hand_tool_label=Eskuaren tresna +scroll_page.title=Erabili orriaren korritzea +scroll_page_label=Orriaren korritzea scroll_vertical.title=Erabili korritze bertikala scroll_vertical_label=Korritze bertikala scroll_horizontal.title=Erabili korritze horizontala @@ -137,19 +135,24 @@ print_progress_close=Utzi # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Txandakatu alboko barra -toggle_sidebar_notification.title=Txandakatu alboko barra (dokumentuak eskema/eranskinak ditu) +toggle_sidebar_notification2.title=Txandakatu alboko barra (dokumentuak eskema/eranskinak/geruzak ditu) toggle_sidebar_label=Txandakatu alboko barra document_outline.title=Erakutsi dokumentuaren eskema (klik bikoitza elementu guztiak zabaltzeko/tolesteko) document_outline_label=Dokumentuaren eskema attachments.title=Erakutsi eranskinak attachments_label=Eranskinak +layers.title=Erakutsi geruzak (klik bikoitza geruza guztiak egoera lehenetsira berrezartzeko) +layers_label=Geruzak thumbs.title=Erakutsi koadro txikiak thumbs_label=Koadro txikiak +current_outline_item.title=Bilatu uneko eskemaren elementua +current_outline_item_label=Uneko eskemaren elementua findbar.title=Bilatu dokumentuan findbar_label=Bilatu -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas={{page}}. orria +additional_layers=Geruza gehigarriak +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark={{page}}. orria # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Benetako tamaina page_scale_percent=%{{scale}} # Loading indicator messages -loading_error_indicator=Errorea +loading=Kargatzen… loading_error=Errorea gertatu da PDFa kargatzean. invalid_file_error=PDF fitxategi baliogabe edo hondatua. missing_file_error=PDF fitxategia falta da. @@ -245,4 +248,3 @@ password_cancel=Utzi printing_not_supported=Abisua: inprimatzeko euskarria ez da erabatekoa nabigatzaile honetan. printing_not_ready=Abisua: PDFa ez dago erabat kargatuta inprimatzeko. web_fonts_disabled=Webeko letra-tipoak desgaituta daude: ezin dira kapsulatutako PDF letra-tipoak erabili. -document_colors_not_allowed=PDF dokumentuek ez dute beraien koloreak erabiltzeko baimenik: 'Baimendu orriak beraien letra-tipoak aukeratzea' desaktibatuta dago nabigatzailean. diff --git a/app/assets/javascripts/archive/locale/fa/viewer.properties b/app/assets/javascripts/archive/locale/fa/viewer.properties index e95738c..2c28f01 100644 --- a/app/assets/javascripts/archive/locale/fa/viewer.properties +++ b/app/assets/javascripts/archive/locale/fa/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=نمای فعلی tools.title=ابزارها tools_label=ابزارها first_page.title=برو به اولین صفحه -first_page.label=برو یه اولین صفحه first_page_label=برو به اولین صفحه last_page.title=برو به آخرین صفحه -last_page.label=برو به آخرین صفحه last_page_label=برو به آخرین صفحه page_rotate_cw.title=چرخش ساعتگرد -page_rotate_cw.label=چرخش ساعتگرد page_rotate_cw_label=چرخش ساعتگرد page_rotate_ccw.title=چرخش پاد ساعتگرد -page_rotate_ccw.label=چرخش پاد ساعتگرد page_rotate_ccw_label=چرخش پاد ساعتگرد cursor_text_select_tool.title=فعال کردن ابزارِ انتخابِ متن @@ -126,7 +122,6 @@ print_progress_close=لغو # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=باز و بسته کردن نوار کناری -toggle_sidebar_notification.title=تغییر وضعیت نوار کناری (سند حاوی طرح/پیوست است) toggle_sidebar_label=تغییرحالت نوارکناری document_outline.title=نمایش رئوس مطالب مدارک(برای بازشدن/جمع شدن همه موارد دوبار کلیک کنید) document_outline_label=طرح نوشتار @@ -200,8 +195,6 @@ page_scale_actual=اندازه واقعی‌ # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=خطا loading_error=هنگام بارگیری پرونده PDF خطایی رخ داد. invalid_file_error=پرونده PDF نامعتبر یامعیوب می‌باشد. missing_file_error=پرونده PDF یافت نشد. @@ -220,4 +213,3 @@ password_cancel=لغو printing_not_supported=هشدار: قابلیت چاپ به‌طور کامل در این مرورگر پشتیبانی نمی‌شود. printing_not_ready=اخطار: پرونده PDF بطور کامل بارگیری نشده و امکان چاپ وجود ندارد. web_fonts_disabled=فونت های تحت وب غیر فعال شده اند: امکان استفاده از نمایش دهنده داخلی PDF وجود ندارد. -document_colors_not_allowed=فایلهای PDF اجازه ندارند تا از رنگ‌های خود استفاده کنند: گزینه «به صفحات اجازه بده تا از رنگ‌های خود استفاده کنند» در مرورگر غیر فعال است. diff --git a/app/assets/javascripts/archive/locale/ff/viewer.properties b/app/assets/javascripts/archive/locale/ff/viewer.properties index 2e94346..bc95457 100644 --- a/app/assets/javascripts/archive/locale/ff/viewer.properties +++ b/app/assets/javascripts/archive/locale/ff/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Jiytol Gonangol tools.title=Kuutorɗe tools_label=Kuutorɗe first_page.title=Yah to hello adanngo -first_page.label=Yah to hello adanngo first_page_label=Yah to hello adanngo last_page.title=Yah to hello wattindiingo -last_page.label=Yah to hello wattindiingo last_page_label=Yah to hello wattindiingo page_rotate_cw.title=Yiiltu Faya Ñaamo -page_rotate_cw.label=Yiiltu Faya Ñaamo page_rotate_cw_label=Yiiltu Faya Ñaamo page_rotate_ccw.title=Yiiltu Faya Nano -page_rotate_ccw.label=Yiiltu Faya Nano page_rotate_ccw_label=Yiiltu Faya Nano cursor_text_select_tool.title=Gollin kaɓirgel cuɓirgel binndi @@ -137,7 +133,6 @@ print_progress_close=Haaytu # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Toggilo Palal Sawndo -toggle_sidebar_notification.title=Palal sawndo (dokimaa oo ina waɗi taarngo/cinnde) toggle_sidebar_label=Toggilo Palal Sawndo document_outline.title=Hollu Ƴiyal Fiilannde (dobdobo ngam wertude/taggude teme fof) document_outline_label=Toɓɓe Fiilannde @@ -219,8 +214,6 @@ page_scale_actual=Ɓetol Jaati # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Juumre loading_error=Juumre waɗii tuma nde loowata PDF oo. invalid_file_error=Fiilde PDF moƴƴaani walla jiibii. missing_file_error=Fiilde PDF ena ŋakki. @@ -239,4 +232,3 @@ password_cancel=Haaytu printing_not_supported=Reentino: Winnditagol tammbitaaka no feewi e ndee wanngorde. printing_not_ready=Reentino: PDF oo loowaaki haa timmi ngam winnditagol. web_fonts_disabled=Ponte geese ko daaƴaaɗe: horiima huutoraade ponte PDF coomtoraaɗe. -document_colors_not_allowed=Piilanɗe PDF njamiraaka yoo kuutoro goobuuji mum'en keeriiɗi: 'Yamir kello yoo kuutoro goobuuki keeriiɗi' koko daaƴaa e wanngorde ndee. diff --git a/app/assets/javascripts/archive/locale/fi/viewer.properties b/app/assets/javascripts/archive/locale/fi/viewer.properties index 76bfa13..23496e9 100644 --- a/app/assets/javascripts/archive/locale/fi/viewer.properties +++ b/app/assets/javascripts/archive/locale/fi/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Avoin ikkuna tools.title=Tools tools_label=Tools first_page.title=Siirry ensimmäiselle sivulle -first_page.label=Siirry ensimmäiselle sivulle first_page_label=Siirry ensimmäiselle sivulle last_page.title=Siirry viimeiselle sivulle -last_page.label=Siirry viimeiselle sivulle last_page_label=Siirry viimeiselle sivulle page_rotate_cw.title=Kierrä oikealle -page_rotate_cw.label=Kierrä oikealle page_rotate_cw_label=Kierrä oikealle page_rotate_ccw.title=Kierrä vasemmalle -page_rotate_ccw.label=Kierrä vasemmalle page_rotate_ccw_label=Kierrä vasemmalle cursor_text_select_tool.title=Käytä tekstinvalintatyökalua @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Tekstinvalintatyökalu cursor_hand_tool.title=Käytä käsityökalua cursor_hand_tool_label=Käsityökalu +scroll_page.title=Käytä sivun vieritystä +scroll_page_label=Sivun vieritys scroll_vertical.title=Käytä pystysuuntaista vieritystä scroll_vertical_label=Pystysuuntainen vieritys scroll_horizontal.title=Käytä vaakasuuntaista vieritystä @@ -137,19 +135,24 @@ print_progress_close=Peruuta # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Näytä/piilota sivupaneeli -toggle_sidebar_notification.title=Näytä/piilota sivupaneeli (dokumentissa on sisällys tai liitteitä) +toggle_sidebar_notification2.title=Näytä/piilota sivupaneeli (dokumentissa on sisällys/liitteitä/tasoja) toggle_sidebar_label=Näytä/piilota sivupaneeli document_outline.title=Näytä dokumentin sisällys (laajenna tai kutista kohdat kaksoisnapsauttamalla) document_outline_label=Dokumentin sisällys attachments.title=Näytä liitteet attachments_label=Liitteet +layers.title=Näytä tasot (kaksoisnapsauta palauttaaksesi kaikki tasot oletustilaan) +layers_label=Tasot thumbs.title=Näytä pienoiskuvat thumbs_label=Pienoiskuvat +current_outline_item.title=Etsi nykyinen sisällyksen kohta +current_outline_item_label=Nykyinen sisällyksen kohta findbar.title=Etsi dokumentista findbar_label=Etsi -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Sivu {{page}} +additional_layers=Lisätasot +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Sivu {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -169,7 +172,7 @@ find_highlight=Korosta kaikki find_match_case_label=Huomioi kirjainkoko find_entire_word_label=Kokonaiset sanat find_reached_top=Päästiin dokumentin alkuun, jatketaan lopusta -find_reached_bottom=Päästiin sivun loppuun, jatketaan alusta +find_reached_bottom=Päästiin dokumentin loppuun, jatketaan alusta # LOCALIZATION NOTE (find_match_count): The supported plural forms are # [one|two|few|many|other], with [other] as the default value. # "{{current}}" and "{{total}}" will be replaced by a number representing the @@ -222,7 +225,7 @@ page_scale_actual=Todellinen koko page_scale_percent={{scale}} % # Loading indicator messages -loading_error_indicator=Virhe +loading=Ladataan… loading_error=Tapahtui virhe ladattaessa PDF-tiedostoa. invalid_file_error=Virheellinen tai vioittunut PDF-tiedosto. missing_file_error=Puuttuva PDF-tiedosto. @@ -245,4 +248,3 @@ password_cancel=Peruuta printing_not_supported=Varoitus: Selain ei tue kaikkia tulostustapoja. printing_not_ready=Varoitus: PDF-tiedosto ei ole vielä latautunut kokonaan, eikä sitä voi vielä tulostaa. web_fonts_disabled=Verkkosivujen omat kirjasinlajit on estetty: ei voida käyttää upotettuja PDF-kirjasinlajeja. -document_colors_not_allowed=PDF-dokumenttien ei ole sallittua käyttää omia värejään: Asetusta ”Sivut saavat käyttää omia värejään oletusten sijaan” ei ole valittu selaimen asetuksissa. diff --git a/app/assets/javascripts/archive/locale/fr/viewer.properties b/app/assets/javascripts/archive/locale/fr/viewer.properties index 7df1d3d..54d8033 100644 --- a/app/assets/javascripts/archive/locale/fr/viewer.properties +++ b/app/assets/javascripts/archive/locale/fr/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Affichage actuel tools.title=Outils tools_label=Outils first_page.title=Aller à la première page -first_page.label=Aller à la première page first_page_label=Aller à la première page last_page.title=Aller à la dernière page -last_page.label=Aller à la dernière page last_page_label=Aller à la dernière page page_rotate_cw.title=Rotation horaire -page_rotate_cw.label=Rotation horaire page_rotate_cw_label=Rotation horaire page_rotate_ccw.title=Rotation antihoraire -page_rotate_ccw.label=Rotation antihoraire page_rotate_ccw_label=Rotation antihoraire cursor_text_select_tool.title=Activer l’outil de sélection de texte @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Outil de sélection de texte cursor_hand_tool.title=Activer l’outil main cursor_hand_tool_label=Outil main +scroll_page.title=Utiliser le défilement par page +scroll_page_label=Défilement par page scroll_vertical.title=Utiliser le défilement vertical scroll_vertical_label=Défilement vertical scroll_horizontal.title=Utiliser le défilement horizontal @@ -137,19 +135,24 @@ print_progress_close=Annuler # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Afficher/Masquer le panneau latéral -toggle_sidebar_notification.title=Afficher/Masquer le panneau latéral (le document contient des signets/pièces jointes) +toggle_sidebar_notification2.title=Afficher/Masquer le panneau latéral (le document contient des signets/pièces jointes/calques) toggle_sidebar_label=Afficher/Masquer le panneau latéral document_outline.title=Afficher les signets du document (double-cliquer pour développer/réduire tous les éléments) document_outline_label=Signets du document attachments.title=Afficher les pièces jointes attachments_label=Pièces jointes +layers.title=Afficher les calques (double-cliquer pour réinitialiser tous les calques à l’état par défaut) +layers_label=Calques thumbs.title=Afficher les vignettes thumbs_label=Vignettes +current_outline_item.title=Trouver l’élément de plan actuel +current_outline_item_label=Élément de plan actuel findbar.title=Rechercher dans le document findbar_label=Rechercher -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Page {{page}} +additional_layers=Calques additionnels +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Page {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Taille réelle page_scale_percent={{scale}} % # Loading indicator messages -loading_error_indicator=Erreur +loading=Chargement… loading_error=Une erreur s’est produite lors du chargement du fichier PDF. invalid_file_error=Fichier PDF invalide ou corrompu. missing_file_error=Fichier PDF manquant. @@ -245,4 +248,3 @@ password_cancel=Annuler printing_not_supported=Attention : l’impression n’est pas totalement prise en charge par ce navigateur. printing_not_ready=Attention : le PDF n’est pas entièrement chargé pour pouvoir l’imprimer. web_fonts_disabled=Les polices web sont désactivées : impossible d’utiliser les polices intégrées au PDF. -document_colors_not_allowed=Les documents PDF ne peuvent pas utiliser leurs propres couleurs : « Autoriser les pages web à utiliser leurs propres couleurs » est désactivé dans le navigateur. diff --git a/app/assets/javascripts/archive/locale/fy-NL/viewer.properties b/app/assets/javascripts/archive/locale/fy-NL/viewer.properties index 4d6b18c..09064e9 100644 --- a/app/assets/javascripts/archive/locale/fy-NL/viewer.properties +++ b/app/assets/javascripts/archive/locale/fy-NL/viewer.properties @@ -22,7 +22,7 @@ next_label=Folgjende page.title=Side # LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number # representing the total number of pages in the document. -of_pages=fa {{pagesCount}} +of_pages=fan {{pagesCount}} # LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" # will be replaced by a number representing the currently visible page, # respectively a number representing the total number of pages in the document. @@ -48,16 +48,12 @@ bookmark_label=Aktuele finster tools.title=Ark tools_label=Ark first_page.title=Gean nei earste side -first_page.label=Nei earste side gean first_page_label=Gean nei earste side last_page.title=Gean nei lêste side -last_page.label=Nei lêste side gean last_page_label=Gean nei lêste side page_rotate_cw.title=Rjochtsom draaie -page_rotate_cw.label=Rjochtsom draaie page_rotate_cw_label=Rjochtsom draaie page_rotate_ccw.title=Loftsom draaie -page_rotate_ccw.label=Loftsom draaie page_rotate_ccw_label=Loftsom draaie cursor_text_select_tool.title=Tekstseleksjehelpmiddel ynskeakelje @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Tekstseleksjehelpmiddel cursor_hand_tool.title=Hânhelpmiddel ynskeakelje cursor_hand_tool_label=Hânhelpmiddel +scroll_page.title=Sideskowen brûke +scroll_page_label=Sideskowen scroll_vertical.title=Fertikaal skowe brûke scroll_vertical_label=Fertikaal skowe scroll_horizontal.title=Horizontaal skowe brûke @@ -137,19 +135,24 @@ print_progress_close=Annulearje # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Sidebalke yn-/útskeakelje -toggle_sidebar_notification.title=Sidebalke yn-/útskeakelje (dokumint befettet outline/bylagen) +toggle_sidebar_notification2.title=Sidebalke yn-/útskeakelje (dokumint befettet oersjoch/bylagen/lagen) toggle_sidebar_label=Sidebalke yn-/útskeakelje document_outline.title=Dokumintoersjoch toane (dûbelklik om alle items út/yn te klappen) document_outline_label=Dokumintoersjoch attachments.title=Bylagen toane attachments_label=Bylagen +layers.title=Lagen toane (dûbelklik om alle lagen nei de standertsteat werom te setten) +layers_label=Lagen thumbs.title=Foarbylden toane thumbs_label=Foarbylden +current_outline_item.title=Aktueel item yn ynhâldsopjefte sykje +current_outline_item_label=Aktueel item yn ynhâldsopjefte findbar.title=Sykje yn dokumint findbar_label=Sykje -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Side {{page}} +additional_layers=Oanfoljende lagen +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Side {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -167,6 +170,7 @@ find_next.title=It folgjende foarkommen fan de tekst sykje find_next_label=Folgjende find_highlight=Alles markearje find_match_case_label=Haadlettergefoelich +find_match_diacritics_label=Diakrityske tekens brûke find_entire_word_label=Hiele wurden find_reached_top=Boppekant fan dokumint berikt, trochgien fan ûnder ôf find_reached_bottom=Ein fan dokumint berikt, trochgien fan boppe ôf @@ -222,7 +226,7 @@ page_scale_actual=Werklike grutte page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Flater +loading=Lade… loading_error=Der is in flater bard by it laden fan de PDF. invalid_file_error=Ynfalide of korruptearre PDF-bestân. missing_file_error=PDF-bestân ûntbrekt. @@ -245,4 +249,3 @@ password_cancel=Annulearje printing_not_supported=Warning: Printen is net folslein stipe troch dizze browser. printing_not_ready=Warning: PDF is net folslein laden om ôf te drukken. web_fonts_disabled=Weblettertypen binne útskeakele: gebrûk fan ynsluten PDF-lettertypen is net mooglik. -document_colors_not_allowed=PDF-dokuminten meie harren eigen kleuren net brûke: ‘Siden tastean om harren eigen kleuren te kiezen’ is útskeakele yn de browser. diff --git a/app/assets/javascripts/archive/locale/ga-IE/viewer.properties b/app/assets/javascripts/archive/locale/ga-IE/viewer.properties index 62f1a55..e82e55b 100644 --- a/app/assets/javascripts/archive/locale/ga-IE/viewer.properties +++ b/app/assets/javascripts/archive/locale/ga-IE/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=An tAmharc Reatha tools.title=Uirlisí tools_label=Uirlisí first_page.title=Go dtí an chéad leathanach -first_page.label=Go dtí an chéad leathanach first_page_label=Go dtí an chéad leathanach last_page.title=Go dtí an leathanach deiridh -last_page.label=Go dtí an leathanach deiridh last_page_label=Go dtí an leathanach deiridh page_rotate_cw.title=Rothlaigh ar deiseal -page_rotate_cw.label=Rothlaigh ar deiseal page_rotate_cw_label=Rothlaigh ar deiseal page_rotate_ccw.title=Rothlaigh ar tuathal -page_rotate_ccw.label=Rothlaigh ar tuathal page_rotate_ccw_label=Rothlaigh ar tuathal cursor_text_select_tool.title=Cumasaigh an Uirlis Roghnaithe Téacs @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Uirlis Roghnaithe Téacs cursor_hand_tool.title=Cumasaigh an Uirlis Láimhe cursor_hand_tool_label=Uirlis Láimhe + + # Document properties dialog box document_properties.title=Airíonna na Cáipéise… document_properties_label=Airíonna na Cáipéise… @@ -89,6 +87,14 @@ document_properties_creator=Cruthaitheoir: document_properties_producer=Cruthaitheoir an PDF: document_properties_version=Leagan PDF: document_properties_page_count=Líon Leathanach: +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. document_properties_close=Dún print_progress_message=Cáipéis á hullmhú le priontáil… @@ -101,7 +107,6 @@ print_progress_close=Cealaigh # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Scoránaigh an Barra Taoibh -toggle_sidebar_notification.title=Scoránaigh an Barra Taoibh (achoimre/iatáin sa cháipéis) toggle_sidebar_label=Scoránaigh an Barra Taoibh document_outline.title=Taispeáin Imlíne na Cáipéise (déchliceáil chun chuile rud a leathnú nó a laghdú) document_outline_label=Creatlach na Cáipéise @@ -112,6 +117,7 @@ thumbs_label=Mionsamhlacha findbar.title=Aimsigh sa Cháipéis findbar_label=Aimsigh +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -129,8 +135,18 @@ find_next.title=Aimsigh an chéad sampla eile den nath sin find_next_label=Ar aghaidh find_highlight=Aibhsigh uile find_match_case_label=Cásíogair +find_entire_word_label=Focail iomlána find_reached_top=Ag barr na cáipéise, ag leanúint ón mbun find_reached_bottom=Ag bun na cáipéise, ag leanúint ón mbarr +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. find_not_found=Frása gan aimsiú # Error panel labels @@ -162,12 +178,14 @@ page_scale_actual=Fíormhéid page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Earráid loading_error=Tharla earráid agus an cháipéis PDF á lódáil. invalid_file_error=Comhad neamhbhailí nó truaillithe PDF. missing_file_error=Comhad PDF ar iarraidh. unexpected_response_error=Freagra ón bhfreastalaí nach rabhthas ag súil leis. +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. + # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. # "{{type}}" will be replaced with an annotation type from a list defined in # the PDF spec (32000-1:2008 Table 169 – Annotation types). @@ -181,4 +199,3 @@ password_cancel=Cealaigh printing_not_supported=Rabhadh: Ní thacaíonn an brabhsálaí le priontáil go hiomlán. printing_not_ready=Rabhadh: Ní féidir an PDF a phriontáil go dtí go mbeidh an cháipéis iomlán lódáilte. web_fonts_disabled=Tá clófhoirne Gréasáin díchumasaithe: ní féidir clófhoirne leabaithe PDF a úsáid. -document_colors_not_allowed=Níl cead ag cáipéisí PDF a ndathanna féin a roghnú: tá “Tabhair cead do leathanaigh a ndathanna féin a roghnú” díchumasaithe sa mbrabhsálaí. diff --git a/app/assets/javascripts/archive/locale/gd/viewer.properties b/app/assets/javascripts/archive/locale/gd/viewer.properties index 2712568..4f056b1 100644 --- a/app/assets/javascripts/archive/locale/gd/viewer.properties +++ b/app/assets/javascripts/archive/locale/gd/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=An sealladh làithreach tools.title=Innealan tools_label=Innealan first_page.title=Rach gun chiad duilleag -first_page.label=Rach gun chiad duilleag first_page_label=Rach gun chiad duilleag last_page.title=Rach gun duilleag mu dheireadh -last_page.label=Rach gun duilleag mu dheireadh last_page_label=Rach gun duilleag mu dheireadh page_rotate_cw.title=Cuairtich gu deiseil -page_rotate_cw.label=Cuairtich gu deiseil page_rotate_cw_label=Cuairtich gu deiseil page_rotate_ccw.title=Cuairtich gu tuathail -page_rotate_ccw.label=Cuairtich gu tuathail page_rotate_ccw_label=Cuairtich gu tuathail cursor_text_select_tool.title=Cuir an comas inneal taghadh an teacsa @@ -137,17 +133,24 @@ print_progress_close=Sguir dheth # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Toglaich am bàr-taoibh -toggle_sidebar_notification.title=Toglaich am bàr-taoibh (tha oir-loidhne/ceanglachain aig an sgrìobhainn) +toggle_sidebar_notification2.title=Toglaich am bàr-taoibh (tha oir-loidhne/ceanglachain/breathan aig an sgrìobhainn) toggle_sidebar_label=Toglaich am bàr-taoibh document_outline.title=Seall oir-loidhne na sgrìobhainn (dèan briogadh dùbailte airson a h-uile nì a leudachadh/a cho-theannadh) document_outline_label=Oir-loidhne na sgrìobhainne attachments.title=Seall na ceanglachain attachments_label=Ceanglachain +layers.title=Seall na breathan (dèan briogadh dùbailte airson a h-uile breath ath-shuidheachadh dhan staid bhunaiteach) +layers_label=Breathan thumbs.title=Seall na dealbhagan thumbs_label=Dealbhagan +current_outline_item.title=Lorg nì làithreach na h-oir-loidhne +current_outline_item_label=Nì làithreach na h-oir-loidhne findbar.title=Lorg san sgrìobhainn findbar_label=Lorg +additional_layers=Barrachd breathan +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Duilleag {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -220,12 +223,16 @@ page_scale_actual=Am fìor-mheud page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Mearachd +loading=’Ga luchdadh… loading_error=Thachair mearachd rè luchdadh a' PDF. invalid_file_error=Faidhle PDF a tha mì-dhligheach no coirbte. missing_file_error=Faidhle PDF a tha a dhìth. unexpected_response_error=Freagairt on fhrithealaiche ris nach robh dùil. +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. # "{{type}}" will be replaced with an annotation type from a list defined in # the PDF spec (32000-1:2008 Table 169 – Annotation types). @@ -233,10 +240,9 @@ unexpected_response_error=Freagairt on fhrithealaiche ris nach robh dùil. text_annotation_type.alt=[Nòtachadh {{type}}] password_label=Cuir a-steach am facal-faire gus am faidhle PDF seo fhosgladh. password_invalid=Tha am facal-faire cearr. Nach fheuch thu ris a-rithist? -password_ok=Ceart ma-tha +password_ok=Ceart ma-thà password_cancel=Sguir dheth printing_not_supported=Rabhadh: Chan eil am brabhsair seo a' cur làn-taic ri clò-bhualadh. printing_not_ready=Rabhadh: Cha deach am PDF a luchdadh gu tur airson clò-bhualadh. web_fonts_disabled=Tha cruthan-clò lìn à comas: Chan urrainn dhuinn cruthan-clò PDF leabaichte a chleachdadh. -document_colors_not_allowed=Chan fhaod sgrìobhainnean PDF na dathan aca fhèin a chleachdadh: Tha “Leig le duilleagan na dathan aca fhèin a chleachdadh” à comas sa bhrabhsair. diff --git a/app/assets/javascripts/archive/locale/gl/viewer.properties b/app/assets/javascripts/archive/locale/gl/viewer.properties index 187dbf1..d4ea817 100644 --- a/app/assets/javascripts/archive/locale/gl/viewer.properties +++ b/app/assets/javascripts/archive/locale/gl/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Vista actual tools.title=Ferramentas tools_label=Ferramentas first_page.title=Ir á primeira páxina -first_page.label=Ir á primeira páxina first_page_label=Ir á primeira páxina last_page.title=Ir á última páxina -last_page.label=Ir á última páxina last_page_label=Ir á última páxina page_rotate_cw.title=Rotar no sentido das agullas do reloxo -page_rotate_cw.label=Rotar no sentido das agullas do reloxo page_rotate_cw_label=Rotar no sentido das agullas do reloxo page_rotate_ccw.title=Rotar no sentido contrario ás agullas do reloxo -page_rotate_ccw.label=Rotar no sentido contrario ás agullas do reloxo page_rotate_ccw_label=Rotar no sentido contrario ás agullas do reloxo cursor_text_select_tool.title=Activar a ferramenta de selección de texto @@ -137,17 +133,24 @@ print_progress_close=Cancelar # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Amosar/agochar a barra lateral -toggle_sidebar_notification.title=Amosar/agochar a barra lateral (o documento contén un esquema ou anexos) +toggle_sidebar_notification2.title=Alternar barra lateral (o documento contén esquema/anexos/capas) toggle_sidebar_label=Amosar/agochar a barra lateral document_outline.title=Amosar o esquema do documento (prema dúas veces para expandir/contraer todos os elementos) document_outline_label=Esquema do documento attachments.title=Amosar anexos attachments_label=Anexos +layers.title=Mostrar capas (prema dúas veces para restaurar todas as capas o estado predeterminado) +layers_label=Capas thumbs.title=Amosar miniaturas thumbs_label=Miniaturas +current_outline_item.title=Atopar o elemento delimitado actualmente +current_outline_item_label=Elemento delimitado actualmente findbar.title=Atopar no documento findbar_label=Atopar +additional_layers=Capas adicionais +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Páxina {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -220,12 +223,16 @@ page_scale_actual=Tamaño actual page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Erro +loading=A cargar… loading_error=Produciuse un erro ao cargar o PDF. invalid_file_error=Ficheiro PDF danado ou non válido. missing_file_error=Falta o ficheiro PDF. unexpected_response_error=Resposta inesperada do servidor. +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. # "{{type}}" will be replaced with an annotation type from a list defined in # the PDF spec (32000-1:2008 Table 169 – Annotation types). @@ -239,4 +246,3 @@ password_cancel=Cancelar printing_not_supported=Aviso: A impresión non é compatíbel de todo con este navegador. printing_not_ready=Aviso: O PDF non se cargou completamente para imprimirse. web_fonts_disabled=Desactiváronse as fontes web: foi imposíbel usar as fontes incrustadas no PDF. -document_colors_not_allowed=Os documentos PDF non poden usar as súas propias cores: «Permitir que as páxinas escollan as súas propias cores» está desactivado no navegador. diff --git a/app/assets/javascripts/archive/locale/gn/viewer.properties b/app/assets/javascripts/archive/locale/gn/viewer.properties index e5652d7..e443df9 100644 --- a/app/assets/javascripts/archive/locale/gn/viewer.properties +++ b/app/assets/javascripts/archive/locale/gn/viewer.properties @@ -48,23 +48,21 @@ bookmark_label=Ag̃agua jehecha tools.title=Tembipuru tools_label=Tembipuru first_page.title=Kuatiarogue ñepyrũme jeho -first_page.label=Kuatiarogue ñepyrũme jeho first_page_label=Kuatiarogue ñepyrũme jeho last_page.title=Kuatiarogue pahápe jeho -last_page.label=Kuatiarogue pahápe jeho last_page_label=Kuatiarogue pahápe jeho page_rotate_cw.title=Aravóicha mbojere -page_rotate_cw.label=Aravóicha mbojere page_rotate_cw_label=Aravóicha mbojere page_rotate_ccw.title=Aravo rapykue gotyo mbojere -page_rotate_ccw.label=Aravo rapykue gotyo mbojere page_rotate_ccw_label=Aravo rapykue gotyo mbojere -cursor_text_select_tool.title=Emyandy moñe'ẽrã jeporavo rembipuru -cursor_text_select_tool_label=Moñe'ẽrã jeporavo rembipuru +cursor_text_select_tool.title=Emyandy moñe’ẽrã jeporavo rembipuru +cursor_text_select_tool_label=Moñe’ẽrã jeporavo rembipuru cursor_hand_tool.title=Tembipuru po pegua myandy cursor_hand_tool_label=Tembipuru po pegua +scroll_page.title=Eipuru kuatiarogue jeku’e +scroll_page_label=Kuatiarogue jeku’e scroll_vertical.title=Eipuru jeku’e ykeguáva scroll_vertical_label=Jeku’e ykeguáva scroll_horizontal.title=Eipuru jeku’e yvate gotyo @@ -80,8 +78,8 @@ spread_even.title=Embojuaju kuatiarogue jepysokue eñepyrũvo kuatiarogue par-va spread_even_label=Ipukuve uvei # Document properties dialog box -document_properties.title=Kuatia mba'etee… -document_properties_label=Kuatia mba'etee… +document_properties.title=Kuatia mba’etee… +document_properties_label=Kuatia mba’etee… document_properties_file_name=Marandurenda réra: document_properties_file_size=Marandurenda tuichakue: # LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" @@ -92,15 +90,15 @@ document_properties_kb={{size_kb}} KB ({{size_b}} bytes) document_properties_mb={{size_mb}} MB ({{size_b}} bytes) document_properties_title=Teratee: document_properties_author=Apohára: -document_properties_subject=Mba'egua: +document_properties_subject=Mba’egua: document_properties_keywords=Jehero: document_properties_creation_date=Teñoihague arange: document_properties_modification_date=Iñambue hague arange: # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" # will be replaced by the creation/modification date, and time, of the PDF file. document_properties_date_string={{date}}, {{time}} -document_properties_creator=Apo'ypyha: -document_properties_producer=PDF mbosako'iha: +document_properties_creator=Apo’ypyha: +document_properties_producer=PDF mbosako’iha: document_properties_version=PDF mbojuehegua: document_properties_page_count=Kuatiarogue papapy: document_properties_page_size=Kuatiarogue tuichakue: @@ -110,7 +108,7 @@ document_properties_page_size_orientation_portrait=Oĩháicha document_properties_page_size_orientation_landscape=apaisado document_properties_page_size_name_a3=A3 document_properties_page_size_name_a4=A4 -document_properties_page_size_name_letter=Kuatiañe'ẽ +document_properties_page_size_name_letter=Kuatiañe’ẽ document_properties_page_size_name_legal=Tee # LOCALIZATION NOTE (document_properties_page_size_dimension_string): # "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by @@ -127,7 +125,7 @@ document_properties_linearized_yes=Añete document_properties_linearized_no=Ahániri document_properties_close=Mboty -print_progress_message=Embosako'i kuatia emonguatia hag̃ua… +print_progress_message=Embosako’i kuatia emonguatia hag̃ua… # LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by # a numerical per cent value. print_progress_percent={{progress}}% @@ -137,39 +135,44 @@ print_progress_close=Heja # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Tenda yke moambue -toggle_sidebar_notification.title=Embojopyru tenda ykegua (kuatia oguereko kora/marandurenda moirũha) +toggle_sidebar_notification2.title=Embojopyru tenda ykegua (kuatia oguereko kuaakaha/moirũha/ñuãha) toggle_sidebar_label=Tenda yke moambue -document_outline.title=Ehechauka kuatia rape (eikutu mokõi jey embotuicha/emomichĩ hag̃ua opavavete mba'epuru) +document_outline.title=Ehechauka kuatia rape (eikutu mokõi jey embotuicha/emomichĩ hag̃ua opavavete mba’epuru) document_outline_label=Kuatia apopyre attachments.title=Moirũha jehechauka attachments_label=Moirũha -thumbs.title=Mba'emirĩ jehechauka -thumbs_label=Mba'emirĩ +layers.title=Ehechauka ñuãha (eikutu jo’a emomba’apo hag̃ua opaite ñuãha tekoypýpe) +layers_label=Ñuãha +thumbs.title=Mba’emirĩ jehechauka +thumbs_label=Mba’emirĩ +current_outline_item.title=Eheka mba’epuru ag̃aguaitéva +current_outline_item_label=Mba’epuru ag̃aguaitéva findbar.title=Kuatiápe jeheka findbar_label=Juhu -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Kuatiarogue {{page}} +additional_layers=Ñuãha moirũguáva +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Kuatiarogue {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. thumb_page_title=Kuatiarogue {{page}} # LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page # number. -thumb_page_canvas=Kuatiarogue mba'emirĩ {{page}} +thumb_page_canvas=Kuatiarogue mba’emirĩ {{page}} # Find panel button title and messages find_input.title=Juhu find_input.placeholder=Kuatiápe jejuhu… -find_previous.title=Ejuhu ñe'ẽrysýi osẽ'ypy hague +find_previous.title=Ejuhu ñe’ẽrysýi osẽ’ypy hague find_previous_label=Mboyvegua -find_next.title=Eho ñe'ẽ juhupyre upeiguávape +find_next.title=Eho ñe’ẽ juhupyre upeiguávape find_next_label=Upeigua find_highlight=Embojekuaavepa find_match_case_label=Ejesareko taiguasu/taimichĩre find_entire_word_label=Ñe’ẽ oĩmbáva -find_reached_top=Ojehupyty kuatia ñepyrũ, oku'ejeýta kuatia paha guive -find_reached_bottom=Ojehupyty kuatia paha, oku'ejeýta kuatia ñepyrũ guive +find_reached_top=Ojehupyty kuatia ñepyrũ, oku’ejeýta kuatia paha guive +find_reached_bottom=Ojehupyty kuatia paha, oku’ejeýta kuatia ñepyrũ guive # LOCALIZATION NOTE (find_match_count): The supported plural forms are # [one|two|few|many|other], with [other] as the default value. # "{{current}}" and "{{total}}" will be replaced by a number representing the @@ -191,21 +194,21 @@ find_match_count_limit[two]=Hetave {{limit}} ojojoguáva find_match_count_limit[few]=Hetave {{limit}} ojojoguáva find_match_count_limit[many]=Hetave {{limit}} ojojoguáva find_match_count_limit[other]=Hetave {{limit}} ojojoguáva -find_not_found=Ñe'ẽrysýi ojejuhu'ỹva +find_not_found=Ñe’ẽrysýi ojejuhu’ỹva # Error panel labels error_more_info=Maranduve -error_less_info=Sa'ive marandu +error_less_info=Sa’ive marandu error_close=Mboty # LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be # replaced by the PDF.JS version and build ID. error_version_info=PDF.js v{{version}} (build: {{build}}) # LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an # english string describing the error. -error_message=Ñe'ẽmondo: {{message}} +error_message=Ñe’ẽmondo: {{message}} # LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack # trace. -error_stack=Mbojo'apy: {{stack}} +error_stack=Mbojo’apy: {{stack}} # LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename error_file=Marandurenda: {{file}} # LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number @@ -222,11 +225,11 @@ page_scale_actual=Tuichakue ag̃agua page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Oĩvaíva +loading=Henyhẽhína… loading_error=Oiko jejavy PDF oñemyeñyhẽnguévo. invalid_file_error=PDF marandurenda ndoikóiva térã ivaipyréva. missing_file_error=Ndaipóri PDF marandurenda -unexpected_response_error=Mohendahavusu mbohovái ñeha'arõ'ỹva. +unexpected_response_error=Mohendahavusu mbohovái ñeha’arõ’ỹva. # LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be # replaced by the modification date, and time, of the annotation. @@ -237,12 +240,11 @@ annotation_date_string={{date}}, {{time}} # the PDF spec (32000-1:2008 Table 169 – Annotation types). # Some common types are e.g.: "Check", "Text", "Comment", "Note" text_annotation_type.alt=[Jehaipy {{type}}] -password_label=Emoinge ñe'ẽñemi eipe'a hag̃ua ko marandurenda PDF. -password_invalid=Ñe'ẽñemi ndoikóiva. Eha'ã jey. +password_label=Emoinge ñe’ẽñemi eipe’a hag̃ua ko marandurenda PDF. +password_invalid=Ñe’ẽñemi ndoikóiva. Eha’ã jey. password_ok=MONEĨ password_cancel=Heja printing_not_supported=Kyhyjerã: Ñembokuatia ndojokupytypái ko kundahára ndive. printing_not_ready=Kyhyjerã: Ko PDF nahenyhẽmbái oñembokuatia hag̃uáicha. -web_fonts_disabled=Ñanduti taity oñemongéma: ndaikatumo'ãi eipuru PDF jehai'íva taity. -document_colors_not_allowed=Kuatiakuéra PDF ndaikatúi oipuru isa'ykuéra tee: “Emoneĩ kuatiaroguépe toiporavo isa'ykuéra tee” oñemongehína kundahárape. +web_fonts_disabled=Ñanduti taity oñemongéma: ndaikatumo’ãi eipuru PDF jehai’íva taity. diff --git a/app/assets/javascripts/archive/locale/gu-IN/viewer.properties b/app/assets/javascripts/archive/locale/gu-IN/viewer.properties index cce4bec..174d464 100644 --- a/app/assets/javascripts/archive/locale/gu-IN/viewer.properties +++ b/app/assets/javascripts/archive/locale/gu-IN/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=વર્તમાન દૃશ્ય tools.title=સાધનો tools_label=સાધનો first_page.title=પહેલાં પાનામાં જાવ -first_page.label=પહેલાં પાનામાં જાવ first_page_label=પ્રથમ પાનાં પર જાવ last_page.title=છેલ્લા પાનાં પર જાવ -last_page.label=છેલ્લા પાનામાં જાવ last_page_label=છેલ્લા પાનાં પર જાવ page_rotate_cw.title=ઘડિયાળનાં કાંટા તરફ ફેરવો -page_rotate_cw.label=ઘડિયાળનાં કાંટાની જેમ ફેરવો page_rotate_cw_label=ઘડિયાળનાં કાંટા તરફ ફેરવો page_rotate_ccw.title=ઘડિયાળનાં કાંટાની ઉલટી દિશામાં ફેરવો -page_rotate_ccw.label=ઘડિયાળનાં કાંટાની ઉલટી દિશામાં ફેરવો page_rotate_ccw_label=ઘડિયાળનાં કાંટાની વિરુદ્દ ફેરવો cursor_text_select_tool.title=ટેક્સ્ટ પસંદગી ટૂલ સક્ષમ કરો @@ -137,7 +133,6 @@ print_progress_close=રદ કરો # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=ટૉગલ બાજુપટ્ટી -toggle_sidebar_notification.title=સાઇડબારને ટૉગલ કરો(દસ્તાવેજની રૂપરેખા/જોડાણો શામેલ છે) toggle_sidebar_label=ટૉગલ બાજુપટ્ટી document_outline.title=દસ્તાવેજની રૂપરેખા બતાવો(બધી આઇટમ્સને વિસ્તૃત/સંકુચિત કરવા માટે ડબલ-ક્લિક કરો) document_outline_label=દસ્તાવેજ રૂપરેખા @@ -219,8 +214,6 @@ page_scale_actual=ચોક્કસ માપ # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=ભૂલ loading_error=ભૂલ ઉદ્ભવી જ્યારે PDF ને લાવી રહ્યા હોય. invalid_file_error=અયોગ્ય અથવા ભાંગેલ PDF ફાઇલ. missing_file_error=ગુમ થયેલ PDF ફાઇલ. @@ -239,4 +232,3 @@ password_cancel=રદ કરો printing_not_supported=ચેતવણી: છાપવાનું આ બ્રાઉઝર દ્દારા સંપૂર્ણપણે આધારભૂત નથી. printing_not_ready=Warning: PDF એ છાપવા માટે સંપૂર્ણપણે લાવેલ છે. web_fonts_disabled=વેબ ફોન્ટ નિષ્ક્રિય થયેલ છે: ઍમ્બેડ થયેલ PDF ફોન્ટને વાપરવાનું અસમર્થ. -document_colors_not_allowed=PDF દસ્તાવેજો તેનાં પોતાના રંગોને વાપરવા પરવાનગી આપતા નથી: 'તેનાં પોતાનાં રંગોને પસંદ કરવા માટે પાનાંને પરવાનગી આપો' બ્રાઉઝરમાં નિષ્ક્રિય થયેલ છે. diff --git a/app/assets/javascripts/archive/locale/he/viewer.properties b/app/assets/javascripts/archive/locale/he/viewer.properties index e3d197e..e8ed3f0 100644 --- a/app/assets/javascripts/archive/locale/he/viewer.properties +++ b/app/assets/javascripts/archive/locale/he/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=תצוגה נוכחית tools.title=כלים tools_label=כלים first_page.title=מעבר לעמוד הראשון -first_page.label=מעבר לעמוד הראשון first_page_label=מעבר לעמוד הראשון last_page.title=מעבר לעמוד האחרון -last_page.label=מעבר לעמוד האחרון last_page_label=מעבר לעמוד האחרון page_rotate_cw.title=הטיה עם כיוון השעון -page_rotate_cw.label=הטיה עם כיוון השעון page_rotate_cw_label=הטיה עם כיוון השעון page_rotate_ccw.title=הטיה כנגד כיוון השעון -page_rotate_ccw.label=הטיה כנגד כיוון השעון page_rotate_ccw_label=הטיה כנגד כיוון השעון cursor_text_select_tool.title=הפעלת כלי בחירת טקסט @@ -65,6 +61,8 @@ cursor_text_select_tool_label=כלי בחירת טקסט cursor_hand_tool.title=הפעלת כלי היד cursor_hand_tool_label=כלי יד +scroll_page.title=שימוש בגלילת עמוד +scroll_page_label=גלילת עמוד scroll_vertical.title=שימוש בגלילה אנכית scroll_vertical_label=גלילה אנכית scroll_horizontal.title=שימוש בגלילה אופקית @@ -137,19 +135,24 @@ print_progress_close=ביטול # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=הצגה/הסתרה של סרגל הצד -toggle_sidebar_notification.title=החלפת תצוגת סרגל צד (מסמך שמכיל מתאר/צרופות) +toggle_sidebar_notification2.title=החלפת תצוגת סרגל צד (מסמך שמכיל תוכן עניינים/קבצים מצורפים/שכבות) toggle_sidebar_label=הצגה/הסתרה של סרגל הצד -document_outline.title=הצגת מתאר מסמך (לחיצה כפולה כדי להרחיב או לצמצם את כל הפריטים) -document_outline_label=מתאר מסמך +document_outline.title=הצגת תוכן העניינים של המסמך (לחיצה כפולה כדי להרחיב או לצמצם את כל הפריטים) +document_outline_label=תוכן העניינים של המסמך attachments.title=הצגת צרופות attachments_label=צרופות +layers.title=הצגת שכבות (יש ללחוץ לחיצה כפולה כדי לאפס את כל השכבות למצב ברירת המחדל) +layers_label=שכבות thumbs.title=הצגת תצוגה מקדימה thumbs_label=תצוגה מקדימה +current_outline_item.title=מציאת פריט תוכן העניינים הנוכחי +current_outline_item_label=פריט תוכן העניינים הנוכחי findbar.title=חיפוש במסמך findbar_label=חיפוש -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=עמוד {{page}} +additional_layers=שכבות נוספות +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=עמוד {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=גודל אמיתי page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=שגיאה +loading=בטעינה… loading_error=אירעה שגיאה בעת טעינת ה־PDF. invalid_file_error=קובץ PDF פגום או לא תקין. missing_file_error=קובץ PDF חסר. @@ -243,6 +246,5 @@ password_ok=אישור password_cancel=ביטול printing_not_supported=אזהרה: הדפסה אינה נתמכת במלואה בדפדפן זה. -printing_not_ready=אזהרה: ה־PDF לא ניתן לחלוטין עד מצב שמאפשר הדפסה. +printing_not_ready=אזהרה: מסמך ה־PDF לא נטען לחלוטין עד מצב שמאפשר הדפסה. web_fonts_disabled=גופני רשת מנוטרלים: לא ניתן להשתמש בגופני PDF מוטבעים. -document_colors_not_allowed=מסמכי PDF אינם מורשים להשתמש בצבעים משלהם: האפשרות „אפשר לעמודים לבחור צבעים משלהם” אינה פעילה בדפדפן. diff --git a/app/assets/javascripts/archive/locale/hi-IN/viewer.properties b/app/assets/javascripts/archive/locale/hi-IN/viewer.properties index 3005180..27064ee 100644 --- a/app/assets/javascripts/archive/locale/hi-IN/viewer.properties +++ b/app/assets/javascripts/archive/locale/hi-IN/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=\u0020मौजूदा दृश्य tools.title=औज़ार tools_label=औज़ार first_page.title=प्रथम पृष्ठ पर जाएँ -first_page.label=\u0020प्रथम पृष्ठ पर जाएँ first_page_label=प्रथम पृष्ठ पर जाएँ last_page.title=अंतिम पृष्ठ पर जाएँ -last_page.label=\u0020अंतिम पृष्ठ पर जाएँ last_page_label=\u0020अंतिम पृष्ठ पर जाएँ page_rotate_cw.title=घड़ी की दिशा में घुमाएँ -page_rotate_cw.label=घड़ी की दिशा में घुमाएँ page_rotate_cw_label=घड़ी की दिशा में घुमाएँ page_rotate_ccw.title=घड़ी की दिशा से उल्टा घुमाएँ -page_rotate_ccw.label=घड़ी की दिशा से उल्टा घुमाएँ page_rotate_ccw_label=\u0020घड़ी की दिशा से उल्टा घुमाएँ cursor_text_select_tool.title=पाठ चयन उपकरण सक्षम करें @@ -133,7 +129,6 @@ print_progress_close=रद्द करें # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=\u0020स्लाइडर टॉगल करें -toggle_sidebar_notification.title=साइडबार टॉगल करें (दस्तावेज़ में रूपरेखा शामिल है/attachments) toggle_sidebar_label=स्लाइडर टॉगल करें document_outline.title=दस्तावेज़ की रूपरेखा दिखाइए (सारी वस्तुओं को फलने अथवा समेटने के लिए दो बार क्लिक करें) document_outline_label=दस्तावेज़ आउटलाइन @@ -144,8 +139,6 @@ thumbs_label=लघु छवि findbar.title=\u0020दस्तावेज़ में ढूँढ़ें findbar_label=ढूँढें -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=पृष्ठ {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -217,8 +210,6 @@ page_scale_actual=वास्तविक आकार # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=त्रुटि loading_error=PDF लोड करते समय एक त्रुटि हुई. invalid_file_error=अमान्य या भ्रष्ट PDF फ़ाइल. missing_file_error=\u0020अनुपस्थित PDF फ़ाइल. @@ -241,4 +232,3 @@ password_cancel=रद्द करें printing_not_supported=चेतावनी: इस ब्राउज़र पर छपाई पूरी तरह से समर्थित नहीं है. printing_not_ready=चेतावनी: PDF छपाई के लिए पूरी तरह से लोड नहीं है. web_fonts_disabled=वेब फॉन्ट्स निष्क्रिय हैं: अंतःस्थापित PDF फॉन्टस के उपयोग में असमर्थ. -document_colors_not_allowed=PDF दस्तावेज़ उनके अपने रंग को उपयोग करने के लिए अनुमति प्राप्त नहीं है: "पृष्ठों को उनके अपने रंग को चुनने के लिए स्वीकृति दें" कि वह उस ब्राउज़र में निष्क्रिय है. diff --git a/app/assets/javascripts/archive/locale/hr/viewer.properties b/app/assets/javascripts/archive/locale/hr/viewer.properties index da85475..1ccf441 100644 --- a/app/assets/javascripts/archive/locale/hr/viewer.properties +++ b/app/assets/javascripts/archive/locale/hr/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Trenutačni prikaz tools.title=Alati tools_label=Alati first_page.title=Idi na prvu stranicu -first_page.label=Idi na prvu stranicu first_page_label=Idi na prvu stranicu last_page.title=Idi na posljednju stranicu -last_page.label=Idi na posljednju stranicu last_page_label=Idi na posljednju stranicu page_rotate_cw.title=Rotiraj u smjeru kazaljke na satu -page_rotate_cw.label=Rotiraj u smjeru kazaljke na satu page_rotate_cw_label=Rotiraj u smjeru kazaljke na satu page_rotate_ccw.title=Rotiraj obrnutno od smjera kazaljke na satu -page_rotate_ccw.label=Rotiraj obrnutno od smjera kazaljke na satu page_rotate_ccw_label=Rotiraj obrnutno od smjera kazaljke na satu cursor_text_select_tool.title=Omogući alat za označavanje teksta @@ -80,8 +76,8 @@ spread_even.title=Izradi duplerice koje počinju s parnim stranicama spread_even_label=Parne duplerice # Document properties dialog box -document_properties.title=Svojstva dokumenta... -document_properties_label=Svojstva dokumenta... +document_properties.title=Svojstva dokumenta … +document_properties_label=Svojstva dokumenta … document_properties_file_name=Naziv datoteke: document_properties_file_size=Veličina datoteke: # LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" @@ -137,19 +133,24 @@ print_progress_close=Odustani # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Prikaži/sakrij bočnu traku -toggle_sidebar_notification.title=Prikazivanje i sklanjanje bočne trake (dokument sadrži konturu/privitke) +toggle_sidebar_notification2.title=Prikazivanje i sklanjanje bočne trake (dokument sadrži strukturu/privitke/slojeve) toggle_sidebar_label=Prikaži/sakrij bočnu traku document_outline.title=Prikaži strukturu dokumenta (dvostruki klik za rasklapanje/sklapanje svih stavki) document_outline_label=Struktura dokumenta attachments.title=Prikaži privitke attachments_label=Privitci +layers.title=Prikaži slojeve (dvoklik za vraćanje svih slojeva u zadano stanje) +layers_label=Slojevi thumbs.title=Prikaži minijature thumbs_label=Minijature -findbar.title=Traži u dokumentu -findbar_label=Traži +current_outline_item.title=Pronađi trenutačni element strukture +current_outline_item_label=Trenutačni element strukture +findbar.title=Pronađi u dokumentu +findbar_label=Pronađi -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Stranica br. {{page}} +additional_layers=Dodatni slojevi +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Stranica {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -159,11 +160,11 @@ thumb_page_title=Stranica {{page}} thumb_page_canvas=Minijatura stranice {{page}} # Find panel button title and messages -find_input.title=Traži -find_input.placeholder=Traži u dokumentu… -find_previous.title=Traži prethodno pojavljivanje ovog izraza +find_input.title=Pronađi +find_input.placeholder=Pronađi u dokumentu … +find_previous.title=Pronađi prethodno pojavljivanje ovog izraza find_previous_label=Prethodno -find_next.title=Traži sljedeće pojavljivanje ovog izraza +find_next.title=Pronađi sljedeće pojavljivanje ovog izraza find_next_label=Sljedeće find_highlight=Istankni sve find_match_case_label=Razlikovanje velikih i malih slova @@ -222,7 +223,7 @@ page_scale_actual=Stvarna veličina page_scale_percent={{scale}} % # Loading indicator messages -loading_error_indicator=Greška +loading=Učitavanje… loading_error=Došlo je do greške pri učitavanju PDF-a. invalid_file_error=Neispravna ili oštećena PDF datoteka. missing_file_error=Nedostaje PDF datoteka. @@ -244,5 +245,4 @@ password_cancel=Odustani printing_not_supported=Upozorenje: Ovaj preglednik ne podržava u potpunosti ispisivanje. printing_not_ready=Upozorenje: PDF nije u potpunosti učitan za ispis. -web_fonts_disabled=Web fontovi su onemogućeni: nije moguće koristiti umetnute PDF fontove. -document_colors_not_allowed=PDF dokumentima nije dozvoljeno koristiti vlastite boje: opcija „Dozvoli stranicama koristiti vlastite boje” je deaktivirana u pregledniku. +web_fonts_disabled=Web fontovi su deaktivirani: nije moguće koristiti ugrađene PDF fontove. diff --git a/app/assets/javascripts/archive/locale/hsb/viewer.properties b/app/assets/javascripts/archive/locale/hsb/viewer.properties index a8f31f1..ec01124 100644 --- a/app/assets/javascripts/archive/locale/hsb/viewer.properties +++ b/app/assets/javascripts/archive/locale/hsb/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Aktualny napohlad tools.title=Nastroje tools_label=Nastroje first_page.title=K prěnjej stronje -first_page.label=K prěnjej stronje first_page_label=K prěnjej stronje last_page.title=K poslednjej stronje -last_page.label=K poslednjej stronje last_page_label=K poslednjej stronje page_rotate_cw.title=K směrej časnika wjerćeć -page_rotate_cw.label=K směrej časnika wjerćeć page_rotate_cw_label=K směrej časnika wjerćeć page_rotate_ccw.title=Přećiwo směrej časnika wjerćeć -page_rotate_ccw.label=Přećiwo směrej časnika wjerćeć page_rotate_ccw_label=Přećiwo směrej časnika wjerćeć cursor_text_select_tool.title=Nastroj za wuběranje teksta zmóžnić @@ -65,8 +61,10 @@ cursor_text_select_tool_label=Nastroj za wuběranje teksta cursor_hand_tool.title=Ručny nastroj zmóžnić cursor_hand_tool_label=Ručny nastroj +scroll_page.title=Kulenje strony wužiwać +scroll_page_label=Kulenje strony scroll_vertical.title=Wertikalne suwanje wužiwać -scroll_vertical_label=Wertikalnje suwanje +scroll_vertical_label=Wertikalne suwanje scroll_horizontal.title=Horicontalne suwanje wužiwać scroll_horizontal_label=Horicontalne suwanje scroll_wrapped.title=Postupne suwanje wužiwać @@ -137,19 +135,24 @@ print_progress_close=Přetorhnyć # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Bóčnicu pokazać/schować -toggle_sidebar_notification.title=Bóčnicu přepinać (dokument wobsahuje wobrys/přiwěški) +toggle_sidebar_notification2.title=Bóčnicu přepinać (dokument rozrjad/přiwěški/woršty wobsahuje) toggle_sidebar_label=Bóčnicu pokazać/schować document_outline.title=Dokumentowy naćisk pokazać (dwójne kliknjenje, zo bychu so wšě zapiski pokazali/schowali) document_outline_label=Dokumentowa struktura attachments.title=Přiwěški pokazać attachments_label=Přiwěški +layers.title=Woršty pokazać (klikńće dwójce, zo byšće wšě woršty na standardny staw wróćo stajił) +layers_label=Woršty thumbs.title=Miniatury pokazać thumbs_label=Miniatury +current_outline_item.title=Aktualny rozrjadowy zapisk pytać +current_outline_item_label=Aktualny rozrjadowy zapisk findbar.title=W dokumenće pytać findbar_label=Pytać -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Strona {{page}} +additional_layers=Dalše woršty +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Strona {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -167,6 +170,7 @@ find_next.title=Přichodne wustupowanje pytanskeho wuraza pytać find_next_label=Dale find_highlight=Wšě wuzběhnyć find_match_case_label=Wulkopisanje wobkedźbować +find_match_diacritics_label=Diakritiske znamješka wužiwać find_entire_word_label=Cyłe słowa find_reached_top=Spočatk dokumenta docpěty, pokročuje so z kóncom find_reached_bottom=Kónc dokument docpěty, pokročuje so ze spočatkom @@ -222,7 +226,7 @@ page_scale_actual=Aktualna wulkosć page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Zmylk +loading=Začituje so… loading_error=Při začitowanju PDF je zmylk wustupił. invalid_file_error=Njepłaćiwa abo wobškodźena PDF-dataja. missing_file_error=Falowaca PDF-dataja. @@ -245,4 +249,3 @@ password_cancel=Přetorhnyć printing_not_supported=Warnowanje: Ćišćenje so přez tutón wobhladowak połnje njepodpěruje. printing_not_ready=Warnowanje: PDF njeje so za ćišćenje dospołnje začitał. web_fonts_disabled=Webpisma su znjemóžnjene: njeje móžno, zasadźene PDF-pisma wužiwać. -document_colors_not_allowed=PDF-dokumenty njesmědźa swoje barby wužiwać: 'Stronam dowolić, swoje barby wužiwać' je we wobhladowaku znjemóžnjene. diff --git a/app/assets/javascripts/archive/locale/hu/viewer.properties b/app/assets/javascripts/archive/locale/hu/viewer.properties index cba69f0..ab6bd55 100644 --- a/app/assets/javascripts/archive/locale/hu/viewer.properties +++ b/app/assets/javascripts/archive/locale/hu/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Aktuális nézet tools.title=Eszközök tools_label=Eszközök first_page.title=Ugrás az első oldalra -first_page.label=Ugrás az első oldalra first_page_label=Ugrás az első oldalra last_page.title=Ugrás az utolsó oldalra -last_page.label=Ugrás az utolsó oldalra last_page_label=Ugrás az utolsó oldalra page_rotate_cw.title=Forgatás az óramutató járásával egyezően -page_rotate_cw.label=Forgatás az óramutató járásával egyezően page_rotate_cw_label=Forgatás az óramutató járásával egyezően page_rotate_ccw.title=Forgatás az óramutató járásával ellentétesen -page_rotate_ccw.label=Forgatás az óramutató járásával ellentétesen page_rotate_ccw_label=Forgatás az óramutató járásával ellentétesen cursor_text_select_tool.title=Szövegkijelölő eszköz bekapcsolása @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Szövegkijelölő eszköz cursor_hand_tool.title=Kéz eszköz bekapcsolása cursor_hand_tool_label=Kéz eszköz +scroll_page.title=Oldalgörgetés használata +scroll_page_label=Oldalgörgetés scroll_vertical.title=Függőleges görgetés használata scroll_vertical_label=Függőleges görgetés scroll_horizontal.title=Vízszintes görgetés használata @@ -137,19 +135,24 @@ print_progress_close=Mégse # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Oldalsáv be/ki -toggle_sidebar_notification.title=Oldalsáv be/ki (a dokumentum vázlatot/mellékleteket tartalmaz) +toggle_sidebar_notification2.title=Oldalsáv be/ki (a dokumentum vázlatot/mellékleteket/rétegeket tartalmaz) toggle_sidebar_label=Oldalsáv be/ki document_outline.title=Dokumentum megjelenítése online (dupla kattintás minden elem kinyitásához/összecsukásához) document_outline_label=Dokumentumvázlat attachments.title=Mellékletek megjelenítése attachments_label=Van melléklet +layers.title=Rétegek megjelenítése (dupla kattintás az összes réteg alapértelmezett állapotra visszaállításához) +layers_label=Rétegek thumbs.title=Bélyegképek megjelenítése thumbs_label=Bélyegképek +current_outline_item.title=Jelenlegi vázlatelem megkeresése +current_outline_item_label=Jelenlegi vázlatelem findbar.title=Keresés a dokumentumban findbar_label=Keresés -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas={{page}}. oldal +additional_layers=További rétegek +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark={{page}}. oldal # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -167,6 +170,7 @@ find_next.title=A kifejezés következő előfordulásának keresése find_next_label=Tovább find_highlight=Összes kiemelése find_match_case_label=Kis- és nagybetűk megkülönböztetése +find_match_diacritics_label=Diakritikus jelek find_entire_word_label=Teljes szavak find_reached_top=A dokumentum eleje elérve, folytatás a végétől find_reached_bottom=A dokumentum vége elérve, folytatás az elejétől @@ -222,7 +226,7 @@ page_scale_actual=Valódi méret page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Hiba +loading=Betöltés… loading_error=Hiba történt a PDF betöltésekor. invalid_file_error=Érvénytelen vagy sérült PDF fájl. missing_file_error=Hiányzó PDF fájl. @@ -245,4 +249,3 @@ password_cancel=Mégse printing_not_supported=Figyelmeztetés: Ez a böngésző nem teljesen támogatja a nyomtatást. printing_not_ready=Figyelmeztetés: A PDF nincs teljesen betöltve a nyomtatáshoz. web_fonts_disabled=Webes betűkészletek letiltva: nem használhatók a beágyazott PDF betűkészletek. -document_colors_not_allowed=A PDF dokumentumok nem használhatják saját színeiket: „Az oldalak a saját maguk által kiválasztott színeket használhatják” beállítás ki van kapcsolva a böngészőben. diff --git a/app/assets/javascripts/archive/locale/hy-AM/viewer.properties b/app/assets/javascripts/archive/locale/hy-AM/viewer.properties index bf79954..a97ae3c 100644 --- a/app/assets/javascripts/archive/locale/hy-AM/viewer.properties +++ b/app/assets/javascripts/archive/locale/hy-AM/viewer.properties @@ -35,7 +35,7 @@ zoom_in_label=Խոշորացնել zoom.title=Մասշտաբը\u0020 presentation_mode.title=Անցնել Ներկայացման եղանակին presentation_mode_label=Ներկայացման եղանակ -open_file.title=Բացել Ֆայլ +open_file.title=Բացել նիշք open_file_label=Բացել print.title=Տպել print_label=Տպել @@ -48,20 +48,16 @@ bookmark_label=Ընթացիկ տեսքը tools.title=Գործիքներ tools_label=Գործիքներ first_page.title=Անցնել առաջին էջին -first_page.label=Անցնել առաջին էջին first_page_label=Անցնել առաջին էջին last_page.title=Անցնել վերջին էջին -last_page.label=Անցնել վերջին էջին last_page_label=Անցնել վերջին էջին page_rotate_cw.title=Պտտել ըստ ժամացույցի սլաքի -page_rotate_cw.label=Պտտել ըստ ժամացույցի սլաքի page_rotate_cw_label=Պտտել ըստ ժամացույցի սլաքի page_rotate_ccw.title=Պտտել հակառակ ժամացույցի սլաքի -page_rotate_ccw.label=Պտտել հակառակ ժամացույցի սլաքի page_rotate_ccw_label=Պտտել հակառակ ժամացույցի սլաքի -cursor_text_select_tool.title=Միացնել Տեքստը ընտրելու գործիքը -cursor_text_select_tool_label=Տեքստը ընտրելու գործիք +cursor_text_select_tool.title=Միացնել գրույթ ընտրելու գործիքը +cursor_text_select_tool_label=Գրույթը ընտրելու գործիք cursor_hand_tool.title=Միացնել Ձեռքի գործիքը cursor_hand_tool_label=Ձեռքի գործիք @@ -80,10 +76,10 @@ spread_even.title=Միացեք էջի վերածածկերին սկսելով՝ spread_even_label=Զույգ վերածածկեր # Document properties dialog box -document_properties.title=Փաստաթղթի հատկությունները... -document_properties_label=Փաստաթղթի հատկությունները... -document_properties_file_name=Ֆայլի անունը. -document_properties_file_size=Ֆայլի չափը. +document_properties.title=Փաստաթղթի հատկությունները… +document_properties_label=Փաստաթղթի հատկությունները… +document_properties_file_name=Նիշքի անունը. +document_properties_file_size=Նիշք չափը. # LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" # will be replaced by the PDF file size in kilobytes, respectively in bytes. document_properties_kb={{size_kb}} ԿԲ ({{size_b}} բայթ) @@ -104,7 +100,7 @@ document_properties_producer=PDF-ի հեղինակը. document_properties_version=PDF-ի տարբերակը. document_properties_page_count=Էջերի քանակը. document_properties_page_size=Էջի չափը. -document_properties_page_size_unit_inches=դյ. +document_properties_page_size_unit_inches=ում document_properties_page_size_unit_millimeters=մմ document_properties_page_size_orientation_portrait=ուղղաձիգ document_properties_page_size_orientation_landscape=հորիզոնական @@ -137,9 +133,8 @@ print_progress_close=Չեղարկել # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Բացել/Փակել Կողային վահանակը -toggle_sidebar_notification.title=Փոխանջատել Կողային գոտին (փաստաթուղթը պարունակում է ուրվագիծ/կցորդ) toggle_sidebar_label=Բացել/Փակել Կողային վահանակը -document_outline.title=Ցուցադրել փաստաթղթի ուրվագիծը (կրկնակի սեղմեք՝ միույթները ընդարձակելու/կոծկելու համար) +document_outline.title=Ցուցադրել փաստաթղթի ուրվագիծը (կրկնակի սեղմեք՝ միավորները ընդարձակելու/կոծկելու համար) document_outline_label=Փաստաթղթի բովանդակությունը attachments.title=Ցուցադրել կցորդները attachments_label=Կցորդներ @@ -148,8 +143,6 @@ thumbs_label=Մանրապատկերը findbar.title=Գտնել փաստաթղթում findbar_label=Որոնում -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Էջ {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -187,10 +180,10 @@ find_match_count[other]={{current}} {{total}}-ի համընկնումներից find_match_count_limit={[ հոգնակի (սահմանը) ]} find_match_count_limit[zero]=Ավելին քան {{limit}} համընկնումները find_match_count_limit[one]=Ավելին քան {{limit}} համընկնումը -find_match_count_limit[two]=Ավելին քան {{limit}} համընկնումներները -find_match_count_limit[few]=Ավելին քան {{limit}} համընկնումներները -find_match_count_limit[many]=Ավելին քան {{limit}} համընկնումներները -find_match_count_limit[other]=Ավելին քան {{limit}} համընկնումներները +find_match_count_limit[two]=Ավելին քան {{limit}} համընկնումներներ +find_match_count_limit[few]=Ավելին քան {{limit}} համընկնումներներ +find_match_count_limit[many]=Ավելին քան {{limit}} համընկնումներներ +find_match_count_limit[other]=Ավելին քան {{limit}} համընկնումներներ find_not_found=Արտահայտությունը չգտնվեց # Error panel labels @@ -221,10 +214,8 @@ page_scale_actual=Իրական չափը # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Սխալ loading_error=Սխալ՝ PDF ֆայլը բացելիս։ -invalid_file_error=Սխալ կամ բնասված PDF ֆայլ: +invalid_file_error=Սխալ կամ վնասված PDF ֆայլ: missing_file_error=PDF ֆայլը բացակայում է: unexpected_response_error=Սպասարկիչի անսպասելի պատասխան: @@ -245,4 +236,3 @@ password_cancel=Չեղարկել printing_not_supported=Զգուշացում. Տպելը ամբողջությամբ չի աջակցվում դիտարկիչի կողմից։ printing_not_ready=Զգուշացում. PDF-ը ամբողջությամբ չի բեռնավորվել տպելու համար: web_fonts_disabled=Վեբ-տառատեսակները անջատված են. հնարավոր չէ օգտագործել ներկառուցված PDF տառատեսակները: -document_colors_not_allowed=PDF փաստաթղթերին թույլատրված չէ օգտագործել իրենց սեփական գույները: “Թույլատրել էջերին ընտրել իրենց սեփական գույները“ ընտրանքը անջատված է դիտարկիչում: diff --git a/app/assets/javascripts/archive/locale/hye/viewer.properties b/app/assets/javascripts/archive/locale/hye/viewer.properties new file mode 100644 index 0000000..6af5982 --- /dev/null +++ b/app/assets/javascripts/archive/locale/hye/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Նախորդ էջ +previous_label=Նախորդը +next.title=Յաջորդ էջ +next_label=Յաջորդը + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=էջ +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}}-ից\u0020 +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}}-ը {{pagesCount}})-ից + +zoom_out.title=Փոքրացնել +zoom_out_label=Փոքրացնել +zoom_in.title=Խոշորացնել +zoom_in_label=Խոշորացնել +zoom.title=Խոշորացում +presentation_mode.title=Անցնել ներկայացման եղանակին +presentation_mode_label=Ներկայացման եղանակ +open_file.title=Բացել նիշքը +open_file_label=Բացել +print.title=Տպել +print_label=Տպել +download.title=Բեռնել +download_label=Բեռնել +bookmark.title=Ընթացիկ տեսքով (պատճէնել կամ բացել նոր պատուհանում) +bookmark_label=Ընթացիկ տեսք + +# Secondary toolbar and context menu +tools.title=Գործիքներ +tools_label=Գործիքներ +first_page.title=Գնալ դէպի առաջին էջ +first_page_label=Գնալ դէպի առաջին էջ +last_page.title=Գնալ դէպի վերջին էջ +last_page_label=Գնալ դէպի վերջին էջ +page_rotate_cw.title=Պտտել ժամացոյցի սլաքի ուղղութեամբ +page_rotate_cw_label=Պտտել ժամացոյցի սլաքի ուղղութեամբ +page_rotate_ccw.title=Պտտել ժամացոյցի սլաքի հակառակ ուղղութեամբ +page_rotate_ccw_label=Պտտել ժամացոյցի սլաքի հակառակ ուղղութեամբ + +cursor_text_select_tool.title=Միացնել գրոյթ ընտրելու գործիքը +cursor_text_select_tool_label=Գրուածք ընտրելու գործիք +cursor_hand_tool.title=Միացնել ձեռքի գործիքը +cursor_hand_tool_label=Ձեռքի գործիք + +scroll_page.title=Աւգտագործել էջի ոլորում +scroll_page_label=Էջի ոլորում +scroll_vertical.title=Աւգտագործել ուղղահայեաց ոլորում +scroll_vertical_label=Ուղղահայեաց ոլորում +scroll_horizontal.title=Աւգտագործել հորիզոնական ոլորում +scroll_horizontal_label=Հորիզոնական ոլորում +scroll_wrapped.title=Աւգտագործել փաթաթուած ոլորում +scroll_wrapped_label=Փաթաթուած ոլորում + +spread_none.title=Մի միացէք էջի կոնտեքստում +spread_none_label=Չկայ կոնտեքստ +spread_odd.title=Միացէք էջի կոնտեքստին սկսելով՝ կենտ համարակալուած էջերով +spread_odd_label=Տարաւրինակ կոնտեքստ +spread_even.title=Միացէք էջի կոնտեքստին սկսելով՝ զոյգ համարակալուած էջերով +spread_even_label=Հաւասար վերածածկեր + +# Document properties dialog box +document_properties.title=Փաստաթղթի հատկութիւնները… +document_properties_label=Փաստաթղթի յատկութիւնները… +document_properties_file_name=Նիշքի անունը․ +document_properties_file_size=Նիշք չափը. +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} ԿԲ ({{size_b}} բայթ) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} ՄԲ ({{size_b}} բայթ) +document_properties_title=Վերնագիր +document_properties_author=Հեղինակ․ +document_properties_subject=առարկայ +document_properties_keywords=Հիմնաբառեր +document_properties_creation_date=Ստեղծման ամսաթիւ +document_properties_modification_date=Փոփոխութեան ամսաթիւ. +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Ստեղծող +document_properties_producer=PDF-ի Արտադրողը. +document_properties_version=PDF-ի տարբերակը. +document_properties_page_count=Էջերի քանակը. +document_properties_page_size=Էջի չափը. +document_properties_page_size_unit_inches=ում +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=ուղղաձիգ +document_properties_page_size_orientation_landscape=հորիզոնական +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Նամակ +document_properties_page_size_name_legal=Աւրինական +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Արագ վեբ դիտում․ +document_properties_linearized_yes=Այո +document_properties_linearized_no=Ոչ +document_properties_close=Փակել + +print_progress_message=Նախապատրաստում է փաստաթուղթը տպելուն… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Չեղարկել + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Փոխարկել կողային վահանակը +toggle_sidebar_notification2.title=Փոխանջատել կողմնասիւնը (փաստաթուղթը պարունակում է ուրուագիծ/կցորդներ/շերտեր) +toggle_sidebar_label=Փոխարկել կողային վահանակը +document_outline.title=Ցուցադրել փաստաթղթի ուրուագիծը (կրկնակի սեղմէք՝ միաւորները ընդարձակելու/կոծկելու համար) +document_outline_label=Փաստաթղթի ուրուագիծ +attachments.title=Ցուցադրել կցորդները +attachments_label=Կցորդներ +layers.title=Ցուցադրել շերտերը (կրկնահպել վերակայելու բոլոր շերտերը սկզբնադիր վիճակի) +layers_label=Շերտեր +thumbs.title=Ցուցադրել մանրապատկերը +thumbs_label=Մանրապատկեր +current_outline_item.title=Գտէք ընթացիկ գծագրման տարրը +current_outline_item_label=Ընթացիկ գծագրման տարր +findbar.title=Գտնել փաստաթղթում +findbar_label=Որոնում + +additional_layers=Լրացուցիչ շերտեր +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Էջ {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Էջը {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Էջի մանրապատկերը {{page}} + +# Find panel button title and messages +find_input.title=Որոնում +find_input.placeholder=Գտնել փաստաթղթում… +find_previous.title=Գտնել արտայայտութեան նախորդ արտայայտութիւնը +find_previous_label=Նախորդը +find_next.title=Գտիր արտայայտութեան յաջորդ արտայայտութիւնը +find_next_label=Հաջորդը +find_highlight=Գունանշել բոլորը +find_match_case_label=Հաշուի առնել հանգամանքը +find_entire_word_label=Ամբողջ բառերը +find_reached_top=Հասել եք փաստաթղթի վերեւին,շարունակել ներքեւից +find_reached_bottom=Հասել էք փաստաթղթի վերջին, շարունակել վերեւից +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} {{total}}-ի համընկնումից +find_match_count[two]={{current}} {{total}}-ի համընկնումներից +find_match_count[few]={{current}} {{total}}-ի համընկնումներից +find_match_count[many]={{current}} {{total}}-ի համընկնումներից +find_match_count[other]={{current}} {{total}}-ի համընկնումներից +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Աւելին քան {{limit}} համընկնումները +find_match_count_limit[one]=Աւելին քան {{limit}} համընկնումը +find_match_count_limit[two]=Աւելին քան {{limit}} համընկնումները +find_match_count_limit[few]=Աւելին քան {{limit}} համընկնումները +find_match_count_limit[many]=Աւելին քան {{limit}} համընկնումները +find_match_count_limit[other]=Աւելին քան {{limit}} համընկնումները +find_not_found=Արտայայտութիւնը չգտնուեց + +# Error panel labels +error_more_info=Աւելի շատ տեղեկութիւն +error_less_info=Քիչ տեղեկութիւն +error_close=Փակել +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (կառուցումը. {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Գրութիւնը. {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Շեղջ. {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=նիշք․ {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Տողը. {{line}} +rendering_error=Սխալ է տեղի ունեցել էջի մեկնաբանման ժամանակ + +# Predefined zoom values +page_scale_width=Էջի լայնութիւն +page_scale_fit=Հարմարեցնել էջը +page_scale_auto=Ինքնաշխատ խոշորացում +page_scale_actual=Իրական չափը +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Բեռնում… +loading_error=PDF նիշքը բացելիս սխալ է տեղի ունեցել։ +invalid_file_error=Սխալ կամ վնասուած PDF նիշք։ +missing_file_error=PDF նիշքը բացակաիւմ է։ +unexpected_response_error=Սպասարկիչի անսպասելի պատասխան։ + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Ծանոթութիւն] +password_label=Մուտքագրէք գաղտնաբառը այս PDF նիշքը բացելու համար +password_invalid=Գաղտնաբառը սխալ է: Կրկին փորձէք: +password_ok=Լաւ +password_cancel=Չեղարկել + +printing_not_supported=Զգուշացում. Տպելը ամբողջութեամբ չի աջակցուում զննարկիչի կողմից։ +printing_not_ready=Զգուշացում. PDF֊ը ամբողջութեամբ չի բեռնաւորուել տպելու համար։ +web_fonts_disabled=Վեբ-տառատեսակները անջատուած են. հնարաւոր չէ աւգտագործել ներկառուցուած PDF տառատեսակները։ diff --git a/app/assets/javascripts/archive/locale/ia/viewer.properties b/app/assets/javascripts/archive/locale/ia/viewer.properties index f69b26e..0b2cf95 100644 --- a/app/assets/javascripts/archive/locale/ia/viewer.properties +++ b/app/assets/javascripts/archive/locale/ia/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Vista actual tools.title=Instrumentos tools_label=Instrumentos first_page.title=Ir al prime pagina -first_page.label=Ir al prime pagina first_page_label=Ir al prime pagina last_page.title=Ir al prime pagina -last_page.label=Ir al prime pagina last_page_label=Ir al prime pagina page_rotate_cw.title=Rotar in senso horari -page_rotate_cw.label=Rotar in senso horari page_rotate_cw_label=Rotar in senso horari page_rotate_ccw.title=Rotar in senso antihorari -page_rotate_ccw.label=Rotar in senso antihorari page_rotate_ccw_label=Rotar in senso antihorari cursor_text_select_tool.title=Activar le instrumento de selection de texto @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Instrumento de selection de texto cursor_hand_tool.title=Activar le instrumento mano cursor_hand_tool_label=Instrumento mano +scroll_page.title=Usar rolamento de pagina +scroll_page_label=Rolamento de pagina scroll_vertical.title=Usar rolamento vertical scroll_vertical_label=Rolamento vertical scroll_horizontal.title=Usar rolamento horizontal @@ -137,19 +135,24 @@ print_progress_close=Cancellar # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Monstrar/celar le barra lateral -toggle_sidebar_notification.title=Monstrar/celar le barra lateral (le documento contine structura/attachamentos) +toggle_sidebar_notification2.title=Monstrar/celar le barra lateral (le documento contine structura/attachamentos/stratos) toggle_sidebar_label=Monstrar/celar le barra lateral document_outline.title=Monstrar le schema del documento (clic duple pro expander/contraher tote le elementos) document_outline_label=Schema del documento attachments.title=Monstrar le annexos attachments_label=Annexos +layers.title=Monstrar stratos (clicca duple pro remontar tote le stratos al stato predefinite) +layers_label=Stratos thumbs.title=Monstrar le vignettes thumbs_label=Vignettes +current_outline_item.title=Trovar le elemento de structura actual +current_outline_item_label=Elemento de structura actual findbar.title=Cercar in le documento findbar_label=Cercar -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Pagina {{page}} +additional_layers=Altere stratos +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Pagina {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -167,6 +170,7 @@ find_next.title=Trovar le successive occurrentia del phrase find_next_label=Sequente find_highlight=Evidentiar toto find_match_case_label=Distinguer majusculas/minusculas +find_match_diacritics_label=Differentiar diacriticos find_entire_word_label=Parolas integre find_reached_top=Initio del documento attingite, continuation ab fin find_reached_bottom=Fin del documento attingite, continuation ab initio @@ -213,7 +217,7 @@ error_line=Linea: {{line}} rendering_error=Un error occurreva durante que on processava le pagina. # Predefined zoom values -page_scale_width=Largessa pagina plen +page_scale_width=Plen largor del pagina page_scale_fit=Pagina integre page_scale_auto=Zoom automatic page_scale_actual=Dimension actual @@ -222,7 +226,7 @@ page_scale_actual=Dimension actual page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Error +loading=Cargante… loading_error=Un error occurreva durante que on cargava le file PDF. invalid_file_error=File PDF corrumpite o non valide. missing_file_error=File PDF mancante. @@ -245,4 +249,3 @@ password_cancel=Cancellar printing_not_supported=Attention : le impression non es totalmente supportate per ce navigator. printing_not_ready=Attention: le file PDF non es integremente cargate pro lo poter imprimer. web_fonts_disabled=Le typos de litteras web es disactivate: impossibile usar le typos de litteras PDF incorporate. -document_colors_not_allowed=Le documentos PDF non pote utilisar lor proprie colores: “Autorisar le paginas web a utilisar lor proprie colores” es disactivate in le navigator. diff --git a/app/assets/javascripts/archive/locale/id/viewer.properties b/app/assets/javascripts/archive/locale/id/viewer.properties index 0a904e1..8bfffde 100644 --- a/app/assets/javascripts/archive/locale/id/viewer.properties +++ b/app/assets/javascripts/archive/locale/id/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Tampilan Sekarang tools.title=Alat tools_label=Alat first_page.title=Buka Halaman Pertama -first_page.label=Ke Halaman Pertama first_page_label=Buka Halaman Pertama last_page.title=Buka Halaman Terakhir -last_page.label=Ke Halaman Terakhir last_page_label=Buka Halaman Terakhir page_rotate_cw.title=Putar Searah Jarum Jam -page_rotate_cw.label=Putar Searah Jarum Jam page_rotate_cw_label=Putar Searah Jarum Jam page_rotate_ccw.title=Putar Berlawanan Arah Jarum Jam -page_rotate_ccw.label=Putar Berlawanan Arah Jarum Jam page_rotate_ccw_label=Putar Berlawanan Arah Jarum Jam cursor_text_select_tool.title=Aktifkan Alat Seleksi Teks @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Alat Seleksi Teks cursor_hand_tool.title=Aktifkan Alat Tangan cursor_hand_tool_label=Alat Tangan +scroll_page.title=Gunakan Pengguliran Laman +scroll_page_label=Pengguliran Laman scroll_vertical.title=Gunakan Penggeseran Vertikal scroll_vertical_label=Penggeseran Vertikal scroll_horizontal.title=Gunakan Penggeseran Horizontal @@ -137,19 +135,24 @@ print_progress_close=Batalkan # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Aktif/Nonaktifkan Bilah Samping -toggle_sidebar_notification.title=Aktif/Nonaktifkan Bilah Samping (dokumen berisi kerangka/lampiran) +toggle_sidebar_notification2.title=Aktif/Nonaktifkan Bilah Samping (dokumen berisi kerangka/lampiran/lapisan) toggle_sidebar_label=Aktif/Nonaktifkan Bilah Samping document_outline.title=Tampilkan Kerangka Dokumen (klik ganda untuk membentangkan/menciutkan semua item) document_outline_label=Kerangka Dokumen attachments.title=Tampilkan Lampiran attachments_label=Lampiran +layers.title=Tampilkan Lapisan (klik ganda untuk mengatur ulang semua lapisan ke keadaan baku) +layers_label=Lapisan thumbs.title=Tampilkan Miniatur thumbs_label=Miniatur +current_outline_item.title=Cari Butir Ikhtisar Saat Ini +current_outline_item_label=Butir Ikhtisar Saat Ini findbar.title=Temukan di Dokumen findbar_label=Temukan -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Laman {{page}} +additional_layers=Lapisan Tambahan +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Halaman {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Ukuran Asli page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Galat +loading=Memuat… loading_error=Galat terjadi saat memuat PDF. invalid_file_error=Berkas PDF tidak valid atau rusak. missing_file_error=Berkas PDF tidak ada. @@ -245,4 +248,3 @@ password_cancel=Batal printing_not_supported=Peringatan: Pencetakan tidak didukung secara lengkap pada peramban ini. printing_not_ready=Peringatan: Berkas PDF masih belum dimuat secara lengkap untuk dapat dicetak. web_fonts_disabled=Font web dinonaktifkan: tidak dapat menggunakan font PDF yang tersemat. -document_colors_not_allowed=Dokumen PDF tidak diizinkan untuk menggunakan warnanya sendiri karena setelan 'Izinkan laman memilih warna sendiri' dinonaktifkan pada pengaturan. diff --git a/app/assets/javascripts/archive/locale/is/viewer.properties b/app/assets/javascripts/archive/locale/is/viewer.properties index d24c2ad..0d1dea8 100644 --- a/app/assets/javascripts/archive/locale/is/viewer.properties +++ b/app/assets/javascripts/archive/locale/is/viewer.properties @@ -28,10 +28,10 @@ of_pages=af {{pagesCount}} # respectively a number representing the total number of pages in the document. page_of_pages=({{pageNumber}} af {{pagesCount}}) -zoom_out.title=Minnka -zoom_out_label=Minnka -zoom_in.title=Stækka -zoom_in_label=Stækka +zoom_out.title=Minnka aðdrátt +zoom_out_label=Minnka aðdrátt +zoom_in.title=Auka aðdrátt +zoom_in_label=Auka aðdrátt zoom.title=Aðdráttur presentation_mode.title=Skipta yfir á kynningarham presentation_mode_label=Kynningarhamur @@ -48,16 +48,12 @@ bookmark_label=Núverandi sýn tools.title=Verkfæri tools_label=Verkfæri first_page.title=Fara á fyrstu síðu -first_page.label=Fara á fyrstu síðu first_page_label=Fara á fyrstu síðu last_page.title=Fara á síðustu síðu -last_page.label=Fara á síðustu síðu last_page_label=Fara á síðustu síðu page_rotate_cw.title=Snúa réttsælis -page_rotate_cw.label=Snúa réttsælis page_rotate_cw_label=Snúa réttsælis page_rotate_ccw.title=Snúa rangsælis -page_rotate_ccw.label=Snúa rangsælis page_rotate_ccw_label=Snúa rangsælis cursor_text_select_tool.title=Virkja textavalsáhald @@ -65,10 +61,14 @@ cursor_text_select_tool_label=Textavalsáhald cursor_hand_tool.title=Virkja handarverkfæri cursor_hand_tool_label=Handarverkfæri +scroll_page.title=Nota síðuskrun +scroll_page_label=Síðuskrun scroll_vertical.title=Nota lóðrétt skrun scroll_vertical_label=Lóðrétt skrun scroll_horizontal.title=Nota lárétt skrun scroll_horizontal_label=Lárétt skrun +scroll_wrapped.title=Nota línuskipt síðuskrun +scroll_wrapped_label=Línuskipt síðuskrun spread_none.title=Ekki taka þátt í dreifingu síðna spread_none_label=Engin dreifing @@ -120,6 +120,7 @@ document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) # LOCALIZATION NOTE (document_properties_linearized): The linearization status of # the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Fljótleg vefskoðun: document_properties_linearized_yes=Já document_properties_linearized_no=Nei document_properties_close=Loka @@ -133,18 +134,25 @@ print_progress_close=Hætta við # Tooltips and alt text for side panel toolbar buttons # (the _label strings are alt text for the buttons, the .title strings are # tooltips) -toggle_sidebar.title=Víxla hliðslá -toggle_sidebar_notification.title=Víxla hliðarslá (skjal inniheldur yfirlit/viðhengi) -toggle_sidebar_label=Víxla hliðslá +toggle_sidebar.title=Víxla hliðarspjaldi af/á +toggle_sidebar_notification2.title=Víxla hliðarslá (skjal inniheldur yfirlit/viðhengi/lög) +toggle_sidebar_label=Víxla hliðarspjaldi af/á document_outline.title=Sýna yfirlit skjals (tvísmelltu til að opna/loka öllum hlutum) document_outline_label=Efnisskipan skjals attachments.title=Sýna viðhengi attachments_label=Viðhengi +layers.title=Birta lög (tvísmelltu til að endurstilla öll lög í sjálfgefna stöðu) +layers_label=Lög thumbs.title=Sýna smámyndir thumbs_label=Smámyndir +current_outline_item.title=Finna núverandi atriði efnisskipunar +current_outline_item_label=Núverandi atriði efnisskipunar findbar.title=Leita í skjali findbar_label=Leita +additional_layers=Viðbótarlög +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Síða {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -162,6 +170,7 @@ find_next.title=Leita að næsta tilfelli þessara orða find_next_label=Næsti find_highlight=Lita allt find_match_case_label=Passa við stafstöðu +find_match_diacritics_label=Passa við broddstafi find_entire_word_label=Heil orð find_reached_top=Náði efst í skjal, held áfram neðst find_reached_bottom=Náði enda skjals, held áfram efst @@ -217,12 +226,16 @@ page_scale_actual=Raunstærð page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Villa +loading=Hleður… loading_error=Villa kom upp við að hlaða inn PDF. invalid_file_error=Ógild eða skemmd PDF skrá. missing_file_error=Vantar PDF skrá. unexpected_response_error=Óvænt svar frá netþjóni. +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. # "{{type}}" will be replaced with an annotation type from a list defined in # the PDF spec (32000-1:2008 Table 169 – Annotation types). @@ -236,4 +249,3 @@ password_cancel=Hætta við printing_not_supported=Aðvörun: Prentun er ekki með fyllilegan stuðning á þessum vafra. printing_not_ready=Aðvörun: Ekki er búið að hlaða inn allri PDF skránni fyrir prentun. web_fonts_disabled=Vef leturgerðir eru óvirkar: get ekki notað innbyggðar PDF leturgerðir. -document_colors_not_allowed=PDF skjöl hafa ekki leyfi til að nota sína eigin liti: “Leyfa síðum að velja eigin liti” er óvirkt í vafranum. diff --git a/app/assets/javascripts/archive/locale/it/viewer.properties b/app/assets/javascripts/archive/locale/it/viewer.properties index 1f0a20a..6db5f12 100644 --- a/app/assets/javascripts/archive/locale/it/viewer.properties +++ b/app/assets/javascripts/archive/locale/it/viewer.properties @@ -2,13 +2,29 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + previous.title = Pagina precedente previous_label = Precedente next.title = Pagina successiva next_label = Successiva + page.title = Pagina of_pages = di {{pagesCount}} page_of_pages = ({{pageNumber}} di {{pagesCount}}) + zoom_out.title = Riduci zoom zoom_out_label = Riduci zoom zoom_in.title = Aumenta zoom @@ -24,36 +40,39 @@ download.title = Scarica questo documento download_label = Download bookmark.title = Visualizzazione corrente (copia o apri in una nuova finestra) bookmark_label = Visualizzazione corrente + tools.title = Strumenti tools_label = Strumenti first_page.title = Vai alla prima pagina -first_page.label = Vai alla prima pagina first_page_label = Vai alla prima pagina last_page.title = Vai all’ultima pagina -last_page.label = Vai all’ultima pagina last_page_label = Vai all’ultima pagina page_rotate_cw.title = Ruota in senso orario -page_rotate_cw.label = Ruota in senso orario page_rotate_cw_label = Ruota in senso orario page_rotate_ccw.title = Ruota in senso antiorario -page_rotate_ccw.label = Ruota in senso antiorario page_rotate_ccw_label = Ruota in senso antiorario + cursor_text_select_tool.title = Attiva strumento di selezione testo cursor_text_select_tool_label = Strumento di selezione testo cursor_hand_tool.title = Attiva strumento mano cursor_hand_tool_label = Strumento mano + +scroll_page.title = Utilizza scorrimento pagine +scroll_page_label = Scorrimento pagine scroll_vertical.title = Scorri le pagine in verticale scroll_vertical_label = Scorrimento verticale scroll_horizontal.title = Scorri le pagine in orizzontale scroll_horizontal_label = Scorrimento orizzontale scroll_wrapped.title = Scorri le pagine in verticale, disponendole da sinistra a destra e andando a capo automaticamente scroll_wrapped_label = Scorrimento con a capo automatico + spread_none.title = Non raggruppare pagine spread_none_label = Nessun raggruppamento spread_odd.title = Crea gruppi di pagine che iniziano con numeri di pagina dispari spread_odd_label = Raggruppamento dispari spread_even.title = Crea gruppi di pagine che iniziano con numeri di pagina pari spread_even_label = Raggruppamento pari + document_properties.title = Proprietà del documento… document_properties_label = Proprietà del documento… document_properties_file_name = Nome file: @@ -86,23 +105,32 @@ document_properties_linearized = Visualizzazione web veloce: document_properties_linearized_yes = Sì document_properties_linearized_no = No document_properties_close = Chiudi + print_progress_message = Preparazione documento per la stampa… print_progress_percent = {{progress}}% print_progress_close = Annulla + toggle_sidebar.title = Attiva/disattiva barra laterale -toggle_sidebar_notification.title = Attiva/disattiva barra laterale (il documento contiene struttura/allegati) +toggle_sidebar_notification2.title = Attiva/disattiva barra laterale (il documento contiene struttura/allegati/livelli) toggle_sidebar_label = Attiva/disattiva barra laterale document_outline.title = Visualizza la struttura del documento (doppio clic per visualizzare/comprimere tutti gli elementi) document_outline_label = Struttura documento attachments.title = Visualizza allegati attachments_label = Allegati +layers.title = Visualizza livelli (doppio clic per ripristinare tutti i livelli allo stato predefinito) +layers_label = Livelli thumbs.title = Mostra le miniature thumbs_label = Miniature +current_outline_item.title = Trova elemento struttura corrente +current_outline_item_label = Elemento struttura corrente findbar.title = Trova nel documento findbar_label = Trova -page_canvas = Pagina {{page}} + +additional_layers = Livelli aggiuntivi +page_landmark = Pagina {{page}} thumb_page_title = Pagina {{page}} thumb_page_canvas = Miniatura della pagina {{page}} + find_input.title = Trova find_input.placeholder = Trova nel documento… find_previous.title = Trova l’occorrenza precedente del testo da cercare @@ -112,6 +140,7 @@ find_next_label = Successivo find_highlight = Evidenzia find_match_case_label = Maiuscole/minuscole find_entire_word_label = Parole intere +find_match_diacritics_label = Segni diacritici find_reached_top = Raggiunto l’inizio della pagina, continua dalla fine find_reached_bottom = Raggiunta la fine della pagina, continua dall’inizio find_match_count = {[ plural(total) ]} @@ -128,6 +157,7 @@ find_match_count_limit[few] = Più di {{limit}} corrispondenze find_match_count_limit[many] = Più di {{limit}} corrispondenze find_match_count_limit[other] = Più di {{limit}} corrispondenze find_not_found = Testo non trovato + error_more_info = Ulteriori informazioni error_less_info = Nascondi dettagli error_close = Chiudi @@ -137,23 +167,27 @@ error_stack = Stack: {{stack}} error_file = File: {{file}} error_line = Riga: {{line}} rendering_error = Si è verificato un errore durante il rendering della pagina. + page_scale_width = Larghezza pagina page_scale_fit = Adatta a una pagina page_scale_auto = Zoom automatico page_scale_actual = Dimensioni effettive page_scale_percent = {{scale}}% -loading_error_indicator = Errore + +loading = Caricamento in corso… loading_error = Si è verificato un errore durante il caricamento del PDF. invalid_file_error = File PDF non valido o danneggiato. missing_file_error = File PDF non disponibile. unexpected_response_error = Risposta imprevista del server + annotation_date_string = {{date}}, {{time}} + text_annotation_type.alt = [Annotazione: {{type}}] password_label = Inserire la password per aprire questo file PDF. password_invalid = Password non corretta. Riprovare. password_ok = OK password_cancel = Annulla + printing_not_supported = Attenzione: la stampa non è completamente supportata da questo browser. printing_not_ready = Attenzione: il PDF non è ancora stato caricato completamente per la stampa. web_fonts_disabled = I web font risultano disattivati: impossibile utilizzare i caratteri incorporati nel PDF. -document_colors_not_allowed = Non è possibile visualizzare i colori originali definiti nel file PDF: l’opzione del browser “Consenti alle pagine di scegliere i propri colori invece di quelli impostati” è disattivata. diff --git a/app/assets/javascripts/archive/locale/ja/viewer.properties b/app/assets/javascripts/archive/locale/ja/viewer.properties index 95732a0..6fbabca 100644 --- a/app/assets/javascripts/archive/locale/ja/viewer.properties +++ b/app/assets/javascripts/archive/locale/ja/viewer.properties @@ -48,35 +48,33 @@ bookmark_label=現在のビュー tools.title=ツール tools_label=ツール first_page.title=最初のページへ移動します -first_page.label=最初のページへ移動 first_page_label=最初のページへ移動 last_page.title=最後のページへ移動します -last_page.label=最後のページへ移動 last_page_label=最後のページへ移動 page_rotate_cw.title=ページを右へ回転します -page_rotate_cw.label=右回転 page_rotate_cw_label=右回転 page_rotate_ccw.title=ページを左へ回転します -page_rotate_ccw.label=左回転 page_rotate_ccw_label=左回転 -cursor_text_select_tool.title=テキスト選択ツールを有効にする +cursor_text_select_tool.title=テキスト選択ツールを有効にします cursor_text_select_tool_label=テキスト選択ツール -cursor_hand_tool.title=手のひらツールを有効にする +cursor_hand_tool.title=手のひらツールを有効にします cursor_hand_tool_label=手のひらツール -scroll_vertical.title=縦スクロールにする +scroll_page.title=ページ単位でスクロールします +scroll_page_label=ページ単位でスクロール +scroll_vertical.title=縦スクロールにします scroll_vertical_label=縦スクロール -scroll_horizontal.title=横スクロールにする +scroll_horizontal.title=横スクロールにします scroll_horizontal_label=横スクロール -scroll_wrapped.title=折り返しスクロールにする +scroll_wrapped.title=折り返しスクロールにします scroll_wrapped_label=折り返しスクロール -spread_none.title=見開きにしない +spread_none.title=見開きにしません spread_none_label=見開きにしない -spread_odd.title=奇数ページ開始で見開きにする +spread_odd.title=奇数ページ開始で見開きにします spread_odd_label=奇数ページ見開き -spread_even.title=偶数ページ開始で見開きにする +spread_even.title=偶数ページ開始で見開きにします spread_even_label=偶数ページ見開き # Document properties dialog box @@ -86,10 +84,10 @@ document_properties_file_name=ファイル名: document_properties_file_size=ファイルサイズ: # LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" # will be replaced by the PDF file size in kilobytes, respectively in bytes. -document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +document_properties_kb={{size_kb}} KB ({{size_b}} バイト) # LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" # will be replaced by the PDF file size in megabytes, respectively in bytes. -document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_mb={{size_mb}} MB ({{size_b}} バイト) document_properties_title=タイトル: document_properties_author=作成者: document_properties_subject=件名: @@ -137,19 +135,24 @@ print_progress_close=キャンセル # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=サイドバー表示を切り替えます -toggle_sidebar_notification.title=サイドバー表示を切り替えます (文書に含まれるアウトライン / 添付) +toggle_sidebar_notification2.title=サイドバー表示を切り替えます (文書に含まれるアウトライン / 添付 / レイヤー) toggle_sidebar_label=サイドバーの切り替え document_outline.title=文書の目次を表示します (ダブルクリックで項目を開閉します) document_outline_label=文書の目次 attachments.title=添付ファイルを表示します attachments_label=添付ファイル +layers.title=レイヤーを表示します (ダブルクリックですべてのレイヤーが初期状態に戻ります) +layers_label=レイヤー thumbs.title=縮小版を表示します thumbs_label=縮小版 +current_outline_item.title=現在のアウトライン項目を検索 +current_outline_item_label=現在のアウトライン項目 findbar.title=文書内を検索します findbar_label=検索 -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas={{page}} ページ +additional_layers=追加レイヤー +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark={{page}} ページ # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=実際のサイズ page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=エラー +loading=読み込み中... loading_error=PDF の読み込み中にエラーが発生しました。 invalid_file_error=無効または破損した PDF ファイル。 missing_file_error=PDF ファイルが見つかりません。 @@ -245,4 +248,3 @@ password_cancel=キャンセル printing_not_supported=警告: このブラウザーでは印刷が完全にサポートされていません。 printing_not_ready=警告: PDF を印刷するための読み込みが終了していません。 web_fonts_disabled=ウェブフォントが無効になっています: 埋め込まれた PDF のフォントを使用できません。 -document_colors_not_allowed=PDF 文書は、ウェブページが指定した配色を使用することができません: 'ウェブページが指定した配色' はブラウザーで無効になっています。 diff --git a/app/assets/javascripts/archive/locale/ka/viewer.properties b/app/assets/javascripts/archive/locale/ka/viewer.properties index d7a8f7a..2144a11 100644 --- a/app/assets/javascripts/archive/locale/ka/viewer.properties +++ b/app/assets/javascripts/archive/locale/ka/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=მიმდინარე ხედი tools.title=ხელსაწყოები tools_label=ხელსაწყოები first_page.title=პირველ გვერდზე გადასვლა -first_page.label=პირველ გვერდზე გადასვლა first_page_label=პირველ გვერდზე გადასვლა last_page.title=ბოლო გვერდზე გადასვლა -last_page.label=ბოლო გვერდზე გადასვლა last_page_label=ბოლო გვერდზე გადასვლა page_rotate_cw.title=საათის ისრის მიმართულებით შებრუნება -page_rotate_cw.label=მარჯვნივ გადაბრუნება page_rotate_cw_label=მარჯვნივ გადაბრუნება page_rotate_ccw.title=საათის ისრის საპირისპიროდ შებრუნება -page_rotate_ccw.label=მარცხნივ გადაბრუნება page_rotate_ccw_label=მარცხნივ გადაბრუნება cursor_text_select_tool.title=მოსანიშნი მაჩვენებლის გამოყენება @@ -65,6 +61,8 @@ cursor_text_select_tool_label=მოსანიშნი მაჩვენე cursor_hand_tool.title=გადასაადგილებელი მაჩვენებლის გამოყენება cursor_hand_tool_label=გადასაადგილებელი +scroll_page.title=გვერდზე გადაადგილების გამოყენება +scroll_page_label=გვერდზე გადაადგილება scroll_vertical.title=გვერდების შვეულად ჩვენება scroll_vertical_label=შვეული გადაადგილება scroll_horizontal.title=გვერდების თარაზულად ჩვენება @@ -91,18 +89,18 @@ document_properties_kb={{size_kb}} კბ ({{size_b}} ბაიტი) # will be replaced by the PDF file size in megabytes, respectively in bytes. document_properties_mb={{size_mb}} მბ ({{size_b}} ბაიტი) document_properties_title=სათაური: -document_properties_author=შემდგენი: +document_properties_author=შემქმნელი: document_properties_subject=თემა: document_properties_keywords=საკვანძო სიტყვები: -document_properties_creation_date=შექმნის თარიღი: -document_properties_modification_date=ჩასწორების თარიღი: +document_properties_creation_date=შექმნის დრო: +document_properties_modification_date=ჩასწორების დრო: # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" # will be replaced by the creation/modification date, and time, of the PDF file. document_properties_date_string={{date}}, {{time}} -document_properties_creator=შემქმნელი: -document_properties_producer=PDF-შემქმნელი: +document_properties_creator=გამომშვები: +document_properties_producer=PDF-გამომშვები: document_properties_version=PDF-ვერსია: -document_properties_page_count=გვერდების რაოდენობა: +document_properties_page_count=გვერდები: document_properties_page_size=გვერდის ზომა: document_properties_page_size_unit_inches=დუიმი document_properties_page_size_unit_millimeters=მმ @@ -122,7 +120,7 @@ document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) # LOCALIZATION NOTE (document_properties_linearized): The linearization status of # the document; usually called "Fast Web View" in English locales of Adobe software. -document_properties_linearized=სწრაფი შეთვალიერება: +document_properties_linearized=მსუბუქი ვებჩვენება: document_properties_linearized_yes=დიახ document_properties_linearized_no=არა document_properties_close=დახურვა @@ -137,19 +135,24 @@ print_progress_close=გაუქმება # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=გვერდითა ზოლის გამოჩენა/დამალვა -toggle_sidebar_notification.title=გვერდითა ზოლის ჩართვა/გამორთვა (დოკუმენტი შეიცავს სარჩევს/დანართს) +toggle_sidebar_notification2.title=გვერდითი ზოლის გამოჩენა (შეიცავს სარჩევს/დანართს/ფენებს) toggle_sidebar_label=გვერდითა ზოლის გამოჩენა/დამალვა -document_outline.title=დოკუმენტის სარჩევის ჩვენება (ორჯერ დაწკაპებით ყველა ელემენტის ჩამოშლა/აკეცვა) +document_outline.title=დოკუმენტის სარჩევის ჩვენება (ორმაგი წკაპით თითოეულის ჩამოშლა/აკეცვა) document_outline_label=დოკუმენტის სარჩევი attachments.title=დანართების ჩვენება attachments_label=დანართები +layers.title=ფენების გამოჩენა (ორმაგი წკაპით ყველა ფენის ნაგულისხმევზე დაბრუნება) +layers_label=ფენები thumbs.title=შეთვალიერება thumbs_label=ესკიზები +current_outline_item.title=მიმდინარე გვერდის მონახვა სარჩევში +current_outline_item_label=მიმდინარე გვერდი სარჩევში findbar.title=პოვნა დოკუმენტში findbar_label=ძიება -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=გვერდი {{page}} +additional_layers=დამატებითი ფენები +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=გვერდი {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=საწყისი ზომა page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=შეცდომა +loading=ჩატვირთვა… loading_error=შეცდომა, PDF-ფაილის ჩატვირთვისას. invalid_file_error=არამართებული ან დაზიანებული PDF-ფაილი. missing_file_error=ნაკლული PDF-ფაილი. @@ -245,4 +248,3 @@ password_cancel=გაუქმება printing_not_supported=გაფრთხილება: ამობეჭდვა ამ ბრაუზერში არაა სრულად მხარდაჭერილი. printing_not_ready=გაფრთხილება: PDF სრულად ჩატვირთული არაა, ამობეჭდვის დასაწყებად. web_fonts_disabled=ვებშრიფტები გამორთულია: ჩაშენებული PDF-შრიფტების გამოყენება ვერ ხერხდება. -document_colors_not_allowed=PDF-დოკუმენტებს არ აქვს საკუთარი ფერების გამოყენების ნებართვა: ბრაუზერში გამორთულია „გვერდებისთვის საკუთარი ფერების გამოყენების უფლება“. diff --git a/app/assets/javascripts/archive/locale/kab/viewer.properties b/app/assets/javascripts/archive/locale/kab/viewer.properties index e3d0dc4..bb249d0 100644 --- a/app/assets/javascripts/archive/locale/kab/viewer.properties +++ b/app/assets/javascripts/archive/locale/kab/viewer.properties @@ -39,7 +39,7 @@ open_file.title=Ldi Afaylu open_file_label=Ldi print.title=Siggez print_label=Siggez -download.title=Sider +download.title=Sader download_label=Azdam bookmark.title=Timeẓri tamirant (nɣel neɣ ldi ɣef usfaylu amaynut) bookmark_label=Askan amiran @@ -48,16 +48,12 @@ bookmark_label=Askan amiran tools.title=Ifecka tools_label=Ifecka first_page.title=Ddu ɣer usebter amezwaru -first_page.label=Ddu ɣer usebter amezwaru first_page_label=Ddu ɣer usebter amezwaru last_page.title=Ddu ɣer usebter aneggaru -last_page.label=Ddu ɣer usebter aneggaru last_page_label=Ddu ɣer usebter aneggaru page_rotate_cw.title=Tuzzya tusrigt -page_rotate_cw.label=Tuzzya tusrigt page_rotate_cw_label=Tuzzya tusrigt page_rotate_ccw.title=Tuzzya amgal-usrig -page_rotate_ccw.label=Tuzzya amgal-usrig page_rotate_ccw_label=Tuzzya amgal-usrig cursor_text_select_tool.title=Rmed afecku n tefrant n uḍris @@ -102,7 +98,7 @@ document_properties_date_string={{date}}, {{time}} document_properties_creator=Yerna-t: document_properties_producer=Afecku n uselket PDF: document_properties_version=Lqem PDF: -document_properties_page_count=Amḍan n isebtar: +document_properties_page_count=Amḍan n yisebtar: document_properties_page_size=Tuγzi n usebter: document_properties_page_size_unit_inches=deg document_properties_page_size_unit_millimeters=mm @@ -137,19 +133,24 @@ print_progress_close=Sefsex # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Sken/Fer agalis adisan -toggle_sidebar_notification.title=Ffer/Sken agalis adisan (isemli yegber aɣawas/imeddayen) +toggle_sidebar_notification2.title=Ffer/Sekn agalis adisan (isemli yegber aɣawas/ticeqqufin yeddan/tissiwin) toggle_sidebar_label=Sken/Fer agalis adisan document_outline.title=Sken isemli (Senned snat tikal i wesemɣer/Afneẓ n iferdisen meṛṛa) document_outline_label=Isɣalen n isebtar attachments.title=Sken ticeqqufin yeddan attachments_label=Ticeqqufin yeddan +layers.title=Skeen tissiwin (sit sin yiberdan i uwennez n meṛṛa tissiwin ɣer waddad amezwer) +layers_label=Tissiwin thumbs.title=Sken tanfult. thumbs_label=Tinfulin +current_outline_item.title=Af-d aferdis n uɣawas amiran +current_outline_item_label=Aferdis n uɣawas amiran findbar.title=Nadi deg isemli findbar_label=Nadi -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Asebter {{page}} +additional_layers=Tissiwin-nniḍen +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Asebter {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +223,7 @@ page_scale_actual=Teɣzi tilawt page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Error +loading=Asali… loading_error=Teḍra-d tuccḍa deg alluy n PDF: invalid_file_error=Afaylu PDF arameɣtu neɣ yexṣeṛ. missing_file_error=Ulac afaylu PDF. @@ -245,4 +246,3 @@ password_cancel=Sefsex printing_not_supported=Ɣuṛ-k: Asiggez ur ittusefrak ara yakan imaṛṛa deg iminig-a. printing_not_ready=Ɣuṛ-k: Afaylu PDF ur d-yuli ara imeṛṛa akken ad ittusiggez. web_fonts_disabled=Tisefsiyin web ttwassensent; D awezɣi useqdec n tsefsiyin yettwarnan ɣer PDF. -document_colors_not_allowed=Isemliyen PDF ur zmiren ara ad sqedcen initen-nsen: 'Sireg isebtar akken ad fernen initen-nsen' ur yermid ara deg iminig. diff --git a/app/assets/javascripts/archive/locale/kk/viewer.properties b/app/assets/javascripts/archive/locale/kk/viewer.properties index 389b854..4565044 100644 --- a/app/assets/javascripts/archive/locale/kk/viewer.properties +++ b/app/assets/javascripts/archive/locale/kk/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Ағымдағы көрініс tools.title=Құралдар tools_label=Құралдар first_page.title=Алғашқы параққа өту -first_page.label=Алғашқы параққа өту first_page_label=Алғашқы параққа өту last_page.title=Соңғы параққа өту -last_page.label=Соңғы параққа өту last_page_label=Соңғы параққа өту page_rotate_cw.title=Сағат тілі бағытымен айналдыру -page_rotate_cw.label=Сағат тілі бағытымен бұру page_rotate_cw_label=Сағат тілі бағытымен бұру page_rotate_ccw.title=Сағат тілі бағытына қарсы бұру -page_rotate_ccw.label=Сағат тілі бағытына қарсы бұру page_rotate_ccw_label=Сағат тілі бағытына қарсы бұру cursor_text_select_tool.title=Мәтінді таңдау құралын іске қосу @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Мәтінді таңдау құралы cursor_hand_tool.title=Қол құралын іске қосу cursor_hand_tool_label=Қол құралы +scroll_page.title=Беттерді айналдыруды пайдалану +scroll_page_label=Беттерді айналдыру scroll_vertical.title=Вертикалды айналдыруды қолдану scroll_vertical_label=Вертикалды айналдыру scroll_horizontal.title=Горизонталды айналдыруды қолдану @@ -137,19 +135,24 @@ print_progress_close=Бас тарту # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Бүйір панелін көрсету/жасыру -toggle_sidebar_notification.title=Бүйір панелін көрсету/жасыру (құжатта құрылымы/салынымдар бар) +toggle_sidebar_notification2.title=Бүйір панелін көрсету/жасыру (құжатта құрылымы/салынымдар/қабаттар бар) toggle_sidebar_label=Бүйір панелін көрсету/жасыру document_outline.title=Құжат құрылымын көрсету (барлық нәрселерді жазық қылу/жинау үшін қос шерту керек) document_outline_label=Құжат құрамасы attachments.title=Салынымдарды көрсету attachments_label=Салынымдар +layers.title=Қабаттарды көрсету (барлық қабаттарды бастапқы күйге келтіру үшін екі рет шертіңіз) +layers_label=Қабаттар thumbs.title=Кіші көріністерді көрсету thumbs_label=Кіші көріністер +current_outline_item.title=Құрылымның ағымдағы элементін табу +current_outline_item_label=Құрылымның ағымдағы элементі findbar.title=Құжаттан табу findbar_label=Табу -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Бет {{page}} +additional_layers=Қосымша қабаттар +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Бет {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Нақты өлшемі page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Қате +loading=Жүктелуде… loading_error=PDF жүктеу кезінде қате кетті. invalid_file_error=Зақымдалған немесе қате PDF файл. missing_file_error=PDF файлы жоқ. @@ -245,4 +248,3 @@ password_cancel=Бас тарту printing_not_supported=Ескерту: Баспаға шығаруды бұл браузер толығымен қолдамайды. printing_not_ready=Ескерту: Баспаға шығару үшін, бұл PDF толығымен жүктеліп алынбады. web_fonts_disabled=Веб қаріптері сөндірілген: құрамына енгізілген PDF қаріптерін қолдану мүмкін емес. -document_colors_not_allowed=PDF құжаттарына өздік түстерді қолдану рұқсат етілмеген: бұл браузерде 'Веб-сайттарға өздерінің түстерін қолдануға рұқсат беру' мүмкіндігі сөндірулі тұр. diff --git a/app/assets/javascripts/archive/locale/km/viewer.properties b/app/assets/javascripts/archive/locale/km/viewer.properties index e5403cc..3dcac78 100644 --- a/app/assets/javascripts/archive/locale/km/viewer.properties +++ b/app/assets/javascripts/archive/locale/km/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=ទិដ្ឋភាព​បច្ចុប្បន្ន tools.title=ឧបករណ៍ tools_label=ឧបករណ៍ first_page.title=ទៅកាន់​ទំព័រ​ដំបូង​ -first_page.label=ទៅកាន់​ទំព័រ​ដំបូង​ first_page_label=ទៅកាន់​ទំព័រ​ដំបូង​ last_page.title=ទៅកាន់​ទំព័រ​ចុងក្រោយ​ -last_page.label=ទៅកាន់​ទំព័រ​ចុងក្រោយ​ last_page_label=ទៅកាន់​ទំព័រ​ចុងក្រោយ page_rotate_cw.title=បង្វិល​ស្រប​ទ្រនិច​នាឡិកា -page_rotate_cw.label=បង្វិល​ស្រប​ទ្រនិច​នាឡិកា page_rotate_cw_label=បង្វិល​ស្រប​ទ្រនិច​នាឡិកា page_rotate_ccw.title=បង្វិល​ច្រាស​ទ្រនិច​នាឡិកា​​ -page_rotate_ccw.label=បង្វិល​ច្រាស​ទ្រនិច​នាឡិកា​​ page_rotate_ccw_label=បង្វិល​ច្រាស​ទ្រនិច​នាឡិកា​​ cursor_text_select_tool.title=បើក​ឧបករណ៍​ជ្រើស​អត្ថបទ @@ -65,6 +61,8 @@ cursor_text_select_tool_label=ឧបករណ៍​ជ្រើស​អត្ cursor_hand_tool.title=បើក​ឧបករណ៍​ដៃ cursor_hand_tool_label=ឧបករណ៍​ដៃ + + # Document properties dialog box document_properties.title=លក្ខណ​សម្បត្តិ​ឯកសារ… document_properties_label=លក្ខណ​សម្បត្តិ​ឯកសារ… @@ -89,6 +87,25 @@ document_properties_creator=អ្នក​បង្កើត៖ document_properties_producer=កម្មវិធី​បង្កើត PDF ៖ document_properties_version=កំណែ PDF ៖ document_properties_page_count=ចំនួន​ទំព័រ៖ +document_properties_page_size_unit_inches=អ៊ីញ +document_properties_page_size_unit_millimeters=មម +document_properties_page_size_orientation_portrait=បញ្ឈរ +document_properties_page_size_orientation_landscape=ផ្តេក +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=សំបុត្រ +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized_yes=បាទ/ចាស +document_properties_linearized_no=ទេ document_properties_close=បិទ print_progress_message=កំពុង​រៀបចំ​ឯកសារ​សម្រាប់​បោះពុម្ព… @@ -101,7 +118,6 @@ print_progress_close=បោះបង់ # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=បិទ/បើក​គ្រាប់​រំកិល -toggle_sidebar_notification.title=បិទ/បើក​របារ​ចំហៀង (ឯកសារ​មាន​មាតិកា​នៅ​ក្រៅ/attachments) toggle_sidebar_label=បិទ/បើក​គ្រាប់​រំកិល document_outline.title=បង្ហាញ​គ្រោង​ឯកសារ (ចុច​ទ្វេ​ដង​ដើម្បី​ពង្រីក/បង្រួម​ធាតុ​ទាំងអស់) document_outline_label=គ្រោង​ឯកសារ @@ -112,6 +128,7 @@ thumbs_label=រួបភាព​តូចៗ findbar.title=រក​នៅ​ក្នុង​ឯកសារ findbar_label=រក +# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -131,6 +148,14 @@ find_highlight=បន្លិច​ទាំងអស់ find_match_case_label=ករណី​ដំណូច find_reached_top=បាន​បន្ត​ពី​ខាង​ក្រោម ទៅ​ដល់​ខាង​​លើ​នៃ​ឯកសារ find_reached_bottom=បាន​បន្ត​ពី​ខាងលើ ទៅដល់​ចុង​​នៃ​ឯកសារ +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. find_not_found=រក​មិន​ឃើញ​ពាក្យ ឬ​ឃ្លា # Error panel labels @@ -161,13 +186,14 @@ page_scale_actual=ទំហំ​ជាក់ស្ដែង # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=កំហុស loading_error=មាន​កំហុស​បាន​កើតឡើង​ពេល​កំពុង​ផ្ទុក PDF ។ invalid_file_error=ឯកសារ PDF ខូច ឬ​មិន​ត្រឹមត្រូវ ។ missing_file_error=បាត់​ឯកសារ PDF unexpected_response_error=ការ​ឆ្លើយ​តម​ម៉ាស៊ីន​មេ​ដែល​មិន​បាន​រំពឹង។ +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. + # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. # "{{type}}" will be replaced with an annotation type from a list defined in # the PDF spec (32000-1:2008 Table 169 – Annotation types). @@ -181,4 +207,3 @@ password_cancel=បោះបង់ printing_not_supported=ការ​ព្រមាន ៖ កា​រ​បោះពុម្ព​មិន​ត្រូវ​បាន​គាំទ្រ​ពេញលេញ​ដោយ​កម្មវិធី​រុករក​នេះ​ទេ ។ printing_not_ready=ព្រមាន៖ PDF មិន​ត្រូវ​បាន​ផ្ទុក​ទាំងស្រុង​ដើម្បី​បោះពុម្ព​ទេ។ web_fonts_disabled=បាន​បិទ​ពុម្ពអក្សរ​បណ្ដាញ ៖ មិន​អាច​ប្រើ​ពុម្ពអក្សរ PDF ដែល​បាន​បង្កប់​បាន​ទេ ។ -document_colors_not_allowed=ឯកសារ PDF មិន​ត្រូវ​បាន​អនុញ្ញាត​ឲ្យ​ប្រើ​ពណ៌​ផ្ទាល់​របស់​វា​ទេ៖ 'អនុញ្ញាត​​ឲ្យ​ទំព័រ​ជ្រើស​ពណ៌​ផ្ទាល់​ខ្លួន' ត្រូវ​បាន​ធ្វើ​ឲ្យ​អសកម្ម​ក្នុង​​កម្មវិធី​រុករក។ diff --git a/app/assets/javascripts/archive/locale/kn/viewer.properties b/app/assets/javascripts/archive/locale/kn/viewer.properties index cf3d004..79c0437 100644 --- a/app/assets/javascripts/archive/locale/kn/viewer.properties +++ b/app/assets/javascripts/archive/locale/kn/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=ಪ್ರಸಕ್ತ ನೋಟ tools.title=ಉಪಕರಣಗಳು tools_label=ಉಪಕರಣಗಳು first_page.title=ಮೊದಲ ಪುಟಕ್ಕೆ ತೆರಳು -first_page.label=ಮೊದಲ ಪುಟಕ್ಕೆ ತೆರಳು first_page_label=ಮೊದಲ ಪುಟಕ್ಕೆ ತೆರಳು last_page.title=ಕೊನೆಯ ಪುಟಕ್ಕೆ ತೆರಳು -last_page.label=ಕೊನೆಯ ಪುಟಕ್ಕೆ ತೆರಳು last_page_label=ಕೊನೆಯ ಪುಟಕ್ಕೆ ತೆರಳು page_rotate_cw.title=ಪ್ರದಕ್ಷಿಣೆಯಲ್ಲಿ ತಿರುಗಿಸು -page_rotate_cw.label=ಪ್ರದಕ್ಷಿಣೆಯಲ್ಲಿ ತಿರುಗಿಸು page_rotate_cw_label=ಪ್ರದಕ್ಷಿಣೆಯಲ್ಲಿ ತಿರುಗಿಸು page_rotate_ccw.title=ಅಪ್ರದಕ್ಷಿಣೆಯಲ್ಲಿ ತಿರುಗಿಸು -page_rotate_ccw.label=ಅಪ್ರದಕ್ಷಿಣೆಯಲ್ಲಿ ತಿರುಗಿಸು page_rotate_ccw_label=ಅಪ್ರದಕ್ಷಿಣೆಯಲ್ಲಿ ತಿರುಗಿಸು cursor_text_select_tool.title=ಪಠ್ಯ ಆಯ್ಕೆ ಉಪಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ @@ -170,8 +166,6 @@ page_scale_actual=ನಿಜವಾದ ಗಾತ್ರ # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=ದೋಷ loading_error=PDF ಅನ್ನು ಲೋಡ್ ಮಾಡುವಾಗ ಒಂದು ದೋಷ ಎದುರಾಗಿದೆ. invalid_file_error=ಅಮಾನ್ಯವಾದ ಅಥವ ಹಾಳಾದ PDF ಕಡತ. missing_file_error=PDF ಕಡತ ಇಲ್ಲ. @@ -190,4 +184,3 @@ password_cancel=ರದ್ದು ಮಾಡು printing_not_supported=ಎಚ್ಚರಿಕೆ: ಈ ಜಾಲವೀಕ್ಷಕದಲ್ಲಿ ಮುದ್ರಣಕ್ಕೆ ಸಂಪೂರ್ಣ ಬೆಂಬಲವಿಲ್ಲ. printing_not_ready=ಎಚ್ಚರಿಕೆ: PDF ಕಡತವು ಮುದ್ರಿಸಲು ಸಂಪೂರ್ಣವಾಗಿ ಲೋಡ್ ಆಗಿಲ್ಲ. web_fonts_disabled=ಜಾಲ ಅಕ್ಷರಶೈಲಿಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ: ಅಡಕಗೊಳಿಸಿದ PDF ಅಕ್ಷರಶೈಲಿಗಳನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ. -document_colors_not_allowed=PDF ದಸ್ತಾವೇಜುಗಳು ತಮ್ಮದೆ ಆದ ಬಣ್ಣಗಳನ್ನು ಬಳಸಲು ಅನುಮತಿ ಇರುವುದಿಲ್ಲ: 'ಪುಟಗಳು ತಮ್ಮದೆ ಆದ ಬಣ್ಣವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಅನುಮತಿಸು' ಅನ್ನು ಜಾಲವೀಕ್ಷಕದಲ್ಲಿ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿರುತ್ತದೆ. diff --git a/app/assets/javascripts/archive/locale/ko/viewer.properties b/app/assets/javascripts/archive/locale/ko/viewer.properties index ef688a9..6812ae6 100644 --- a/app/assets/javascripts/archive/locale/ko/viewer.properties +++ b/app/assets/javascripts/archive/locale/ko/viewer.properties @@ -41,23 +41,19 @@ print.title=인쇄 print_label=인쇄 download.title=다운로드 download_label=다운로드 -bookmark.title=현재 뷰 (복사하거나 새 창에 열기) -bookmark_label=현재 뷰 +bookmark.title=현재 보기 (복사 또는 새 창에서 열기) +bookmark_label=현재 보기 # Secondary toolbar and context menu tools.title=도구 tools_label=도구 first_page.title=첫 페이지로 이동 -first_page.label=첫 페이지로 이동 first_page_label=첫 페이지로 이동 last_page.title=마지막 페이지로 이동 -last_page.label=마지막 페이지로 이동 last_page_label=마지막 페이지로 이동 page_rotate_cw.title=시계방향으로 회전 -page_rotate_cw.label=시계방향으로 회전 page_rotate_cw_label=시계방향으로 회전 page_rotate_ccw.title=시계 반대방향으로 회전 -page_rotate_ccw.label=시계 반대방향으로 회전 page_rotate_ccw_label=시계 반대방향으로 회전 cursor_text_select_tool.title=텍스트 선택 도구 활성화 @@ -65,18 +61,20 @@ cursor_text_select_tool_label=텍스트 선택 도구 cursor_hand_tool.title=손 도구 활성화 cursor_hand_tool_label=손 도구 +scroll_page.title=페이지 스크롤 사용 +scroll_page_label=페이지 스크롤 scroll_vertical.title=세로 스크롤 사용 scroll_vertical_label=세로 스크롤 scroll_horizontal.title=가로 스크롤 사용 scroll_horizontal_label=가로 스크롤 -scroll_wrapped.title=감싼 스크롤 사용 -scroll_wrapped_label=감싼 스크롤 +scroll_wrapped.title=래핑(자동 줄 바꿈) 스크롤 사용 +scroll_wrapped_label=래핑 스크롤 -spread_none.title=펼쳐진 페이지를 합치지 않음 +spread_none.title=한 페이지 보기 spread_none_label=펼쳐짐 없음 -spread_odd.title=홀수 페이지로 시작하게 펼쳐진 페이지 합침 +spread_odd.title=홀수 페이지로 시작하는 두 페이지 보기 spread_odd_label=홀수 펼쳐짐 -spread_even.title=짝수 페이지로 시작하게 펼쳐진 페이지 합침 +spread_even.title=짝수 페이지로 시작하는 두 페이지 보기 spread_even_label=짝수 펼쳐짐 # Document properties dialog box @@ -137,19 +135,24 @@ print_progress_close=취소 # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=탐색창 표시/숨기기 -toggle_sidebar_notification.title=탐색창 표시/숨기기 (문서에 아웃라인/첨부파일 포함) +toggle_sidebar_notification2.title=탐색창 표시/숨기기 (문서에 아웃라인/첨부파일/레이어 포함됨) toggle_sidebar_label=탐색창 표시/숨기기 -document_outline.title=문서 아웃라인 보기(더블 클릭해서 모든 항목 펼치기/접기) +document_outline.title=문서 아웃라인 보기 (더블 클릭해서 모든 항목 펼치기/접기) document_outline_label=문서 아웃라인 attachments.title=첨부파일 보기 attachments_label=첨부파일 +layers.title=레이어 보기 (더블 클릭해서 모든 레이어를 기본 상태로 재설정) +layers_label=레이어 thumbs.title=미리보기 thumbs_label=미리보기 +current_outline_item.title=현재 아웃라인 항목 찾기 +current_outline_item_label=현재 아웃라인 항목 findbar.title=검색 findbar_label=검색 -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas={{page}} 페이지 +additional_layers=추가 레이어 +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark={{page}} 페이지 # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -167,6 +170,7 @@ find_next.title=지정 문자열에 일치하는 다음 부분을 검색 find_next_label=다음 find_highlight=모두 강조 표시 find_match_case_label=대/소문자 구분 +find_match_diacritics_label=분음 부호 일치 find_entire_word_label=단어 단위로 find_reached_top=문서 처음까지 검색하고 끝으로 돌아와 검색했습니다. find_reached_bottom=문서 끝까지 검색하고 앞으로 돌아와 검색했습니다. @@ -194,7 +198,7 @@ find_match_count_limit[other]={{limit}} 이상 일치 find_not_found=검색 결과 없음 # Error panel labels -error_more_info=정보 더 보기 +error_more_info=자세한 정보 error_less_info=정보 간단히 보기 error_close=닫기 # LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be @@ -213,16 +217,16 @@ error_line=줄 번호: {{line}} rendering_error=페이지를 렌더링하는 동안 오류가 발생했습니다. # Predefined zoom values -page_scale_width=페이지 너비에 맞춤 -page_scale_fit=페이지에 맞춤 -page_scale_auto=자동 맞춤 -page_scale_actual=실제 크기에 맞춤 +page_scale_width=페이지 너비에 맞추기 +page_scale_fit=페이지에 맞추기 +page_scale_auto=자동 +page_scale_actual=실제 크기 # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a # numerical scale value. page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=오류 +loading=로드 중… loading_error=PDF를 로드하는 동안 오류가 발생했습니다. invalid_file_error=잘못되었거나 손상된 PDF 파일. missing_file_error=PDF 파일 없음. @@ -245,4 +249,3 @@ password_cancel=취소 printing_not_supported=경고: 이 브라우저는 인쇄를 완전히 지원하지 않습니다. printing_not_ready=경고: 이 PDF를 인쇄를 할 수 있을 정도로 읽어들이지 못했습니다. web_fonts_disabled=웹 폰트가 비활성화됨: 내장된 PDF 글꼴을 사용할 수 없습니다. -document_colors_not_allowed=PDF 문서의 자체 색상 허용 안됨: “페이지 자체 색상 허용”이 브라우저에서 비활성화 되어 있습니다. diff --git a/app/assets/javascripts/archive/locale/lij/viewer.properties b/app/assets/javascripts/archive/locale/lij/viewer.properties index 71a5306..b89981c 100644 --- a/app/assets/javascripts/archive/locale/lij/viewer.properties +++ b/app/assets/javascripts/archive/locale/lij/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Vixon corente tools.title=Atressi tools_label=Atressi first_page.title=Vanni a-a primma pagina -first_page.label=Vanni a-a primma pagina first_page_label=Vanni a-a primma pagina last_page.title=Vanni a l'urtima pagina -last_page.label=Vanni a l'urtima pagina last_page_label=Vanni a l'urtima pagina page_rotate_cw.title=Gia into verso oraio -page_rotate_cw.label=Gia in senso do releuio page_rotate_cw_label=Gia into verso oraio page_rotate_ccw.title=Gia into verso antioraio -page_rotate_ccw.label=Gia in senso do releuio a-a reversa page_rotate_ccw_label=Gia into verso antioraio cursor_text_select_tool.title=Abilita strumento de seleçion do testo @@ -137,7 +133,6 @@ print_progress_close=Anulla # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Ativa/dizativa bara de scianco -toggle_sidebar_notification.title=Cangia bara de löo (o documento o contegne di alegæ) toggle_sidebar_label=Ativa/dizativa bara de scianco document_outline.title=Fanni vedde o contorno do documento (scicca doggio pe espande/ridue tutti i elementi) document_outline_label=Contorno do documento @@ -219,8 +214,6 @@ page_scale_actual=Dimenscioin efetive # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Erô loading_error=S'é verificou 'n'erô itno caregamento do PDF. invalid_file_error=O schedaio PDF o l'é no valido ò aroinou. missing_file_error=O schedaio PDF o no gh'é. @@ -239,4 +232,3 @@ password_cancel=Anulla printing_not_supported=Atençion: a stanpa a no l'é conpletamente soportâ da sto navegatô. printing_not_ready=Atençion: o PDF o no l'é ancon caregou conpletamente pe-a stanpa. web_fonts_disabled=I font do web en dizativæ: inposcibile adeuviâ i carateri do PDF. -document_colors_not_allowed=No l'é poscibile adeuviâ i pròpi coî pe-i documenti PDF: l'opçion do navegatô “Permetti a-e pagine de çerne i pròpi coî in cangio de quelli inpostæ” a l'é dizativâ. diff --git a/app/assets/javascripts/archive/locale/lo/viewer.properties b/app/assets/javascripts/archive/locale/lo/viewer.properties index 00d3309..8b877d0 100644 --- a/app/assets/javascripts/archive/locale/lo/viewer.properties +++ b/app/assets/javascripts/archive/locale/lo/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=ມຸມມອງປະຈຸບັນ tools.title=ເຄື່ອງມື tools_label=ເຄື່ອງມື first_page.title=ໄປທີ່ຫນ້າທຳອິດ -first_page.label=ໄປທີ່ຫນ້າທຳອິດ first_page_label=ໄປທີ່ຫນ້າທຳອິດ last_page.title=ໄປທີ່ຫນ້າສຸດທ້າຍ -last_page.label=ໄປທີ່ຫນ້າສຸດທ້າຍ last_page_label=ໄປທີ່ຫນ້າສຸດທ້າຍ page_rotate_cw.title=ຫມູນຕາມເຂັມໂມງ -page_rotate_cw.label=ຫມູນຕາມເຂັມໂມງ page_rotate_cw_label=ຫມູນຕາມເຂັມໂມງ page_rotate_ccw.title=ຫມູນທວນເຂັມໂມງ -page_rotate_ccw.label=ຫມູນທວນເຂັມໂມງ page_rotate_ccw_label=ຫມູນທວນເຂັມໂມງ @@ -98,7 +94,6 @@ print_progress_close=ຍົກເລີກ # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=ເປີດ/ປິດແຖບຂ້າງ -toggle_sidebar_notification.title=ເປີດ/ປິດແຖບຂ້າງ (ເອກະສານມີເຄົ້າຮ່າງ/ໄຟລ໌ແນບ) toggle_sidebar_label=ເປີດ/ປິດແຖບຂ້າງ document_outline_label=ເຄົ້າຮ່າງເອກະສານ findbar_label=ຄົ້ນຫາ @@ -138,8 +133,6 @@ rendering_error=ມີຂໍ້ຜິດພາດເກີດຂື້ນຂະ # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a # numerical scale value. -# Loading indicator messages -loading_error_indicator=ຂໍ້ຜິດພາດ loading_error=ມີຂໍ້ຜິດພາດເກີດຂື້ນຂະນະທີ່ກຳລັງໂຫລດ PDF. invalid_file_error=ໄຟລ໌ PDF ບໍ່ຖືກຕ້ອງຫລືເສຍຫາຍ. diff --git a/app/assets/javascripts/archive/locale/locale.properties b/app/assets/javascripts/archive/locale/locale.properties index aa43d40..ae79f47 100644 --- a/app/assets/javascripts/archive/locale/locale.properties +++ b/app/assets/javascripts/archive/locale/locale.properties @@ -43,6 +43,9 @@ [cak] @import url(cak/viewer.properties) +[ckb] +@import url(ckb/viewer.properties) + [cs] @import url(cs/viewer.properties) @@ -139,6 +142,9 @@ [hy-AM] @import url(hy-AM/viewer.properties) +[hye] +@import url(hye/viewer.properties) + [ia] @import url(ia/viewer.properties) @@ -187,6 +193,9 @@ [lv] @import url(lv/viewer.properties) +[meh] +@import url(meh/viewer.properties) + [mk] @import url(mk/viewer.properties) @@ -235,9 +244,18 @@ [ru] @import url(ru/viewer.properties) +[sat] +@import url(sat/viewer.properties) + +[sc] +@import url(sc/viewer.properties) + [scn] @import url(scn/viewer.properties) +[sco] +@import url(sco/viewer.properties) + [si] @import url(si/viewer.properties) @@ -259,12 +277,18 @@ [sv-SE] @import url(sv-SE/viewer.properties) +[szl] +@import url(szl/viewer.properties) + [ta] @import url(ta/viewer.properties) [te] @import url(te/viewer.properties) +[tg] +@import url(tg/viewer.properties) + [th] @import url(th/viewer.properties) diff --git a/app/assets/javascripts/archive/locale/lt/viewer.properties b/app/assets/javascripts/archive/locale/lt/viewer.properties index dbdc821..6188a92 100644 --- a/app/assets/javascripts/archive/locale/lt/viewer.properties +++ b/app/assets/javascripts/archive/locale/lt/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Esamasis rodinys tools.title=Priemonės tools_label=Priemonės first_page.title=Eiti į pirmą puslapį -first_page.label=Eiti į pirmą puslapį first_page_label=Eiti į pirmą puslapį last_page.title=Eiti į paskutinį puslapį -last_page.label=Eiti į paskutinį puslapį last_page_label=Eiti į paskutinį puslapį page_rotate_cw.title=Pasukti pagal laikrodžio rodyklę -page_rotate_cw.label=Pasukti pagal laikrodžio rodyklę page_rotate_cw_label=Pasukti pagal laikrodžio rodyklę page_rotate_ccw.title=Pasukti prieš laikrodžio rodyklę -page_rotate_ccw.label=Pasukti prieš laikrodžio rodyklę page_rotate_ccw_label=Pasukti prieš laikrodžio rodyklę cursor_text_select_tool.title=Įjungti teksto žymėjimo įrankį @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Teksto žymėjimo įrankis cursor_hand_tool.title=Įjungti vilkimo įrankį cursor_hand_tool_label=Vilkimo įrankis +scroll_page.title=Naudoti puslapio slinkimą +scroll_page_label=Puslapio slinkimas scroll_vertical.title=Naudoti vertikalų slinkimą scroll_vertical_label=Vertikalus slinkimas scroll_horizontal.title=Naudoti horizontalų slinkimą @@ -72,12 +70,12 @@ scroll_horizontal_label=Horizontalus slinkimas scroll_wrapped.title=Naudoti išklotą slinkimą scroll_wrapped_label=Išklotas slinkimas -spread_none.title=Nesujungti puslapių sklaidų -spread_none_label=Be sklaidų -spread_odd.title=Sujungti puslapių sklaidas pradedant nelyginiais puslapiais -spread_odd_label=Nelyginės sklaidos -spread_even.title=Sujungti puslapių sklaidas pradedant lyginiais puslapiais -spread_even_label=Lyginės sklaidos +spread_none.title=Nejungti puslapių į dvilapius +spread_none_label=Be dvilapių +spread_odd.title=Sujungti į dvilapius pradedant nelyginiais puslapiais +spread_odd_label=Nelyginiai dvilapiai +spread_even.title=Sujungti į dvilapius pradedant lyginiais puslapiais +spread_even_label=Lyginiai dvilapiai # Document properties dialog box document_properties.title=Dokumento savybės… @@ -137,19 +135,24 @@ print_progress_close=Atsisakyti # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Rodyti / slėpti šoninį polangį -toggle_sidebar_notification.title=Parankinė (dokumentas turi struktūrą / priedų) +toggle_sidebar_notification2.title=Parankinė (dokumentas turi struktūrą / priedų / sluoksnių) toggle_sidebar_label=Šoninis polangis document_outline.title=Rodyti dokumento struktūrą (spustelėkite dukart norėdami išplėsti/suskleisti visus elementus) document_outline_label=Dokumento struktūra attachments.title=Rodyti priedus attachments_label=Priedai +layers.title=Rodyti sluoksnius (spustelėkite dukart, norėdami atstatyti visus sluoksnius į numatytąją būseną) +layers_label=Sluoksniai thumbs.title=Rodyti puslapių miniatiūras thumbs_label=Miniatiūros +current_outline_item.title=Rasti dabartinį struktūros elementą +current_outline_item_label=Dabartinis struktūros elementas findbar.title=Ieškoti dokumente findbar_label=Rasti -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas={{page}} puslapis +additional_layers=Papildomi sluoksniai +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark={{page}} puslapis # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Tikras dydis page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Klaida +loading=Įkeliama… loading_error=Įkeliant PDF failą įvyko klaida. invalid_file_error=Tai nėra PDF failas arba jis yra sugadintas. missing_file_error=PDF failas nerastas. @@ -245,4 +248,3 @@ password_cancel=Atsisakyti printing_not_supported=Dėmesio! Spausdinimas šioje naršyklėje nėra pilnai realizuotas. printing_not_ready=Dėmesio! PDF failas dar nėra pilnai įkeltas spausdinimui. web_fonts_disabled=Saityno šriftai išjungti – PDF faile esančių šriftų naudoti negalima. -document_colors_not_allowed=PDF dokumentams neleidžiama nurodyti savo spalvų, nes išjungta naršyklės nuostata „Leisti tinklalapiams nurodyti spalvas“. diff --git a/app/assets/javascripts/archive/locale/ltg/viewer.properties b/app/assets/javascripts/archive/locale/ltg/viewer.properties index ecdb723..b0e202d 100644 --- a/app/assets/javascripts/archive/locale/ltg/viewer.properties +++ b/app/assets/javascripts/archive/locale/ltg/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Pošreizejais skots tools.title=Reiki tools_label=Reiki first_page.title=Īt iz pyrmū lopu -first_page.label=Īt iz pyrmū lopu first_page_label=Īt iz pyrmū lopu last_page.title=Īt iz piedejū lopu -last_page.label=Īt iz piedejū lopu last_page_label=Īt iz piedejū lopu page_rotate_cw.title=Pagrīzt pa pulksteni -page_rotate_cw.label=Pagrīzt pa pulksteni page_rotate_cw_label=Pagrīzt pa pulksteni page_rotate_ccw.title=Pagrīzt pret pulksteni -page_rotate_ccw.label=Pagrīzt pret pulksteni page_rotate_ccw_label=Pagrīzt pret pulksteni cursor_text_select_tool.title=Aktivizēt teksta izvieles reiku @@ -137,7 +133,6 @@ print_progress_close=Atceļt # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Puorslēgt suonu jūslu -toggle_sidebar_notification.title=Toggle Sidebar (document contains outline/attachments) toggle_sidebar_label=Puorslēgt suonu jūslu document_outline.title=Show Document Outline (double-click to expand/collapse all items) document_outline_label=Dokumenta saturs @@ -197,8 +192,6 @@ page_scale_actual=Patīsais izmārs # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Klaida loading_error=Īluodejūt PDF nūtyka klaida. invalid_file_error=Nadereigs voi būjuots PDF fails. missing_file_error=PDF fails nav atrosts. @@ -217,4 +210,3 @@ password_cancel=Atceļt printing_not_supported=Uzmaneibu: Drukuošona nu itei puorlūka dorbojās tikai daleji. printing_not_ready=Uzmaneibu: PDF nav pilneibā īluodeits drukuošonai. web_fonts_disabled=Šķārsteikla fonti nav aktivizāti: Navar īgult PDF fontus. -document_colors_not_allowed=PDF dokumentym nav atļauts izmantuot pošym sovys kruosys: „Atļaut lopom izavieleit pošom sovys kruosys“ ir deaktiveits puorlyukā. diff --git a/app/assets/javascripts/archive/locale/lv/viewer.properties b/app/assets/javascripts/archive/locale/lv/viewer.properties index 18ed55e..b9b5c03 100644 --- a/app/assets/javascripts/archive/locale/lv/viewer.properties +++ b/app/assets/javascripts/archive/locale/lv/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Pašreizējais skats tools.title=Rīki tools_label=Rīki first_page.title=Iet uz pirmo lapu -first_page.label=Iet uz pirmo lapu first_page_label=Iet uz pirmo lapu last_page.title=Iet uz pēdējo lapu -last_page.label=Iet uz pēdējo lapu last_page_label=Iet uz pēdējo lapu page_rotate_cw.title=Pagriezt pa pulksteni -page_rotate_cw.label=Pagriezt pa pulksteni page_rotate_cw_label=Pagriezt pa pulksteni page_rotate_ccw.title=Pagriezt pret pulksteni -page_rotate_ccw.label=Pagriezt pret pulksteni page_rotate_ccw_label=Pagriezt pret pulksteni cursor_text_select_tool.title=Aktivizēt teksta izvēles rīku @@ -137,7 +133,6 @@ print_progress_close=Atcelt # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Pārslēgt sānu joslu -toggle_sidebar_notification.title=Pārslēgt sānu joslu (dokumenta saturu un pielikumus) toggle_sidebar_label=Pārslēgt sānu joslu document_outline.title=Rādīt dokumenta struktūru (veiciet dubultklikšķi lai izvērstu/sakļautu visus vienumus) document_outline_label=Dokumenta saturs @@ -219,8 +214,6 @@ page_scale_actual=Patiesais izmērs # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Kļūda loading_error=Ielādējot PDF notika kļūda. invalid_file_error=Nederīgs vai bojāts PDF fails. missing_file_error=PDF fails nav atrasts. @@ -239,4 +232,3 @@ password_cancel=Atcelt printing_not_supported=Uzmanību: Drukāšana no šī pārlūka darbojas tikai daļēji. printing_not_ready=Uzmanību: PDF nav pilnībā ielādēts drukāšanai. web_fonts_disabled=Tīmekļa fonti nav aktivizēti: Nevar iegult PDF fontus. -document_colors_not_allowed=PDF dokumentiem nav atļauts izmantot pašiem savas krāsas: „Atļaut lapām izvēlēties pašām savas krāsas“ ir deaktivēts pārlūkā. diff --git a/app/assets/javascripts/archive/locale/meh/viewer.properties b/app/assets/javascripts/archive/locale/meh/viewer.properties new file mode 100644 index 0000000..7a1bf04 --- /dev/null +++ b/app/assets/javascripts/archive/locale/meh/viewer.properties @@ -0,0 +1,111 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Página yata + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. + +zoom.title=Nasa´a ka´nu/Nasa´a luli +open_file_label=Síne + +# Secondary toolbar and context menu + + + + +# Document properties dialog box +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized_yes=Kuvi +document_properties_close=Nakasɨ + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Nkuvi-ka + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +findbar_label=Nánuku + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. + +# Find panel button title and messages +find_input.title=Nánuku +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} + +# Error panel labels +error_close=Nakasɨ +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number + +# Predefined zoom values +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +password_cancel=Nkuvi-ka + diff --git a/app/assets/javascripts/archive/locale/mk/viewer.properties b/app/assets/javascripts/archive/locale/mk/viewer.properties index 8535025..24ff730 100644 --- a/app/assets/javascripts/archive/locale/mk/viewer.properties +++ b/app/assets/javascripts/archive/locale/mk/viewer.properties @@ -43,10 +43,6 @@ bookmark_label=Овој преглед # Secondary toolbar and context menu tools.title=Алатки -first_page.label=Оди до првата страница -last_page.label=Оди до последната страница -page_rotate_cw.label=Ротирај по стрелките на часовникот -page_rotate_ccw.label=Ротирај спротивно од стрелките на часовникот @@ -127,8 +123,6 @@ page_scale_actual=Вистинска големина # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a # numerical scale value. -# Loading indicator messages -loading_error_indicator=Грешка loading_error=Настана грешка при вчитувањето на PDF-от. invalid_file_error=Невалидна или корумпирана PDF датотека. missing_file_error=Недостасува PDF документ. @@ -142,4 +136,3 @@ password_cancel=Откажи printing_not_supported=Предупредување: Печатењето не е целосно поддржано во овој прелистувач. printing_not_ready=Предупредување: PDF документот не е целосно вчитан за печатење. web_fonts_disabled=Интернет фонтовите се оневозможени: не може да се користат вградените PDF фонтови. -document_colors_not_allowed=PDF-документите немаат дозвола да користат сопствени бои: Поставката „Дозволи страниците сами да ги избираат своите бои“ е деактивирана од прелистувачот. diff --git a/app/assets/javascripts/archive/locale/mr/viewer.properties b/app/assets/javascripts/archive/locale/mr/viewer.properties index 25229ea..697c2a3 100644 --- a/app/assets/javascripts/archive/locale/mr/viewer.properties +++ b/app/assets/javascripts/archive/locale/mr/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=सध्याचे अवलोकन tools.title=साधने tools_label=साधने first_page.title=पहिल्या पृष्ठावर जा -first_page.label=पहिल्या पृष्ठावर जा first_page_label=पहिल्या पृष्ठावर जा last_page.title=शेवटच्या पृष्ठावर जा -last_page.label=शेवटच्या पृष्ठावर जा last_page_label=शेवटच्या पृष्ठावर जा page_rotate_cw.title=घड्याळाच्या काट्याच्या दिशेने फिरवा -page_rotate_cw.label=घड्याळाच्या काट्याच्या दिशेने फिरवा page_rotate_cw_label=घड्याळाच्या काट्याच्या दिशेने फिरवा page_rotate_ccw.title=घड्याळाच्या काट्याच्या उलट दिशेने फिरवा -page_rotate_ccw.label=घड्याळाच्या काट्याच्या उलट दिशेने फिरवा page_rotate_ccw_label=घड्याळाच्या काट्याच्या उलट दिशेने फिरवा cursor_text_select_tool.title=मजकूर निवड साधन कार्यान्वयीत करा @@ -129,7 +125,6 @@ print_progress_close=रद्द करा # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=बाजूचीपट्टी टॉगल करा -toggle_sidebar_notification.title=बाजूची पट्टी टॉगल करा (दस्तऐवजामध्ये रुपरेषा/जोडण्या आहेत) toggle_sidebar_label=बाजूचीपट्टी टॉगल करा document_outline.title=दस्तऐवज बाह्यरेखा दर्शवा (विस्तृत करण्यासाठी दोनवेळा क्लिक करा /सर्व घटक दाखवा) document_outline_label=दस्तऐवज रूपरेषा @@ -211,8 +206,6 @@ page_scale_actual=प्रत्यक्ष आकार # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=त्रुटी loading_error=PDF लोड करतेवेळी त्रुटी आढळली. invalid_file_error=अवैध किंवा दोषीत PDF फाइल. missing_file_error=न आढळणारी PDF फाइल. @@ -235,4 +228,3 @@ password_cancel=रद्द करा printing_not_supported=सावधानता: या ब्राउझरतर्फे छपाइ पूर्णपणे समर्थीत नाही. printing_not_ready=सावधानता: छपाईकरिता PDF पूर्णतया लोड झाले नाही. web_fonts_disabled=वेब टंक असमर्थीत आहेत: एम्बेडेड PDF टंक वापर अशक्य. -document_colors_not_allowed=PDF दस्तऐवजांना त्यांचे रंग वापरण्यास अनुमती नाही: ब्राउझरमध्ये ' पृष्ठांना त्यांचे रंग निवडण्यास अनुमती द्या' बंद केले आहे. diff --git a/app/assets/javascripts/archive/locale/ms/viewer.properties b/app/assets/javascripts/archive/locale/ms/viewer.properties index 3bc7907..a6d4ce8 100644 --- a/app/assets/javascripts/archive/locale/ms/viewer.properties +++ b/app/assets/javascripts/archive/locale/ms/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Paparan Semasa tools.title=Alatan tools_label=Alatan first_page.title=Pergi ke Halaman Pertama -first_page.label=Pergi ke Halaman Pertama first_page_label=Pergi ke Halaman Pertama last_page.title=Pergi ke Halaman Terakhir -last_page.label=Pergi ke Halaman Terakhir last_page_label=Pergi ke Halaman Terakhir page_rotate_cw.title=Berputar ikut arah Jam -page_rotate_cw.label=Berputar ikut arah Jam page_rotate_cw_label=Berputar ikut arah Jam page_rotate_ccw.title=Pusing berlawan arah jam -page_rotate_ccw.label=Pusing berlawan arah jam page_rotate_ccw_label=Pusing berlawan arah jam cursor_text_select_tool.title=Dayakan Alatan Pilihan Teks @@ -137,7 +133,6 @@ print_progress_close=Batal # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Togol Bar Sisi -toggle_sidebar_notification.title=Togol Sidebar (dokumen mengandungi rangka/attachments) toggle_sidebar_label=Togol Bar Sisi document_outline.title=Papar Rangka Dokumen (klik-dua-kali untuk kembangkan/kolaps semua item) document_outline_label=Rangka Dokumen @@ -219,8 +214,6 @@ page_scale_actual=Saiz Sebenar # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Ralat loading_error=Masalah berlaku semasa menuatkan sebuah PDF. invalid_file_error=Tidak sah atau fail PDF rosak. missing_file_error=Fail PDF Hilang. @@ -239,4 +232,3 @@ password_cancel=Batal printing_not_supported=Amaran: Cetakan ini tidak sepenuhnya disokong oleh pelayar ini. printing_not_ready=Amaran: PDF tidak sepenuhnya dimuatkan untuk dicetak. web_fonts_disabled=Fon web dinyahdayakan: tidak dapat menggunakan fon terbenam PDF. -document_colors_not_allowed=Dokumen PDF tidak dibenarkan untuk menggunakan warna sendiri: “Izinkan halaman untuk memilih warna sendiri” telah dinyahaktifkan dalam pelayar. diff --git a/app/assets/javascripts/archive/locale/my/viewer.properties b/app/assets/javascripts/archive/locale/my/viewer.properties index f567619..39944cd 100644 --- a/app/assets/javascripts/archive/locale/my/viewer.properties +++ b/app/assets/javascripts/archive/locale/my/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=လက်ရှိ မြင်ကွင်း tools.title=ကိရိယာများ tools_label=ကိရိယာများ first_page.title=ပထမ စာမျက်နှာသို့ -first_page.label=ပထမ စာမျက်နှာသို့ first_page_label=ပထမ စာမျက်နှာသို့ last_page.title=နောက်ဆုံး စာမျက်နှာသို့ -last_page.label=နောက်ဆုံး စာမျက်နှာသို့ last_page_label=နောက်ဆုံး စာမျက်နှာသို့ page_rotate_cw.title=နာရီလက်တံ အတိုင်း -page_rotate_cw.label=နာရီလက်တံ အတိုင်း page_rotate_cw_label=နာရီလက်တံ အတိုင်း page_rotate_ccw.title=နာရီလက်တံ ပြောင်းပြန် -page_rotate_ccw.label=နာရီလက်တံ ပြောင်းပြန် page_rotate_ccw_label=နာရီလက်တံ ပြောင်းပြန် @@ -107,7 +103,6 @@ print_progress_close=ပယ်​ဖျက်ပါ # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=ဘေးတန်းဖွင့်ပိတ် -toggle_sidebar_notification.title=ဘေးဘားတန်းကို အဖွင့်/အပိတ် လုပ်ရန် (စာတမ်းတွင် outline/attachments ပါဝင်နိုင်သည်) toggle_sidebar_label=ဖွင့်ပိတ် ဆလိုက်ဒါ document_outline.title=စာတမ်းအကျဉ်းချုပ်ကို ပြပါ (စာရင်းအားလုံးကို ချုံ့/ချဲ့ရန် ကလစ်နှစ်ချက်နှိပ်ပါ) document_outline_label=စာတမ်းအကျဉ်းချုပ် @@ -175,8 +170,6 @@ page_scale_actual=အမှန်တကယ်ရှိတဲ့ အရွယ် # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=အမှား loading_error=PDF ဖိုင် ကိုဆွဲတင်နေချိန်မှာ အမှားတစ်ခုတွေ့ရပါတယ်။ invalid_file_error=မရသော သို့ ပျက်နေသော PDF ဖိုင် missing_file_error=PDF ပျောက်ဆုံး @@ -195,4 +188,3 @@ password_cancel=ပယ်​ဖျက်ပါ printing_not_supported=သတိပေးချက်၊ပရင့်ထုတ်ခြင်းကိုဤဘယောက်ဆာသည် ပြည့်ဝစွာထောက်ပံ့မထားပါ ။ printing_not_ready=သတိပေးချက်: ယခု PDF ဖိုင်သည် ပုံနှိပ်ရန် မပြည့်စုံပါ web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts. -document_colors_not_allowed=PDF ဖိုင်အား ၎င်းဤ ကိုယ်ပိုင်အရောင်များကို အသုံးပြုခွင့်မပေးထားပါ ။ 'စာမျက်နှာအားလုံးအားအရောင်ရွေးချယ်ခွင့်' အား ယခု ဘယောက်ဆာတွင် ပိတ်ထားခြင်းကြောင့်ဖြစ် သှ် diff --git a/app/assets/javascripts/archive/locale/nb-NO/viewer.properties b/app/assets/javascripts/archive/locale/nb-NO/viewer.properties index 5612abb..0bb9958 100644 --- a/app/assets/javascripts/archive/locale/nb-NO/viewer.properties +++ b/app/assets/javascripts/archive/locale/nb-NO/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Nåværende visning tools.title=Verktøy tools_label=Verktøy first_page.title=Gå til første side -first_page.label=Gå til første side first_page_label=Gå til første side last_page.title=Gå til siste side -last_page.label=Gå til siste side last_page_label=Gå til siste side page_rotate_cw.title=Roter med klokken -page_rotate_cw.label=Roter med klokken page_rotate_cw_label=Roter med klokken page_rotate_ccw.title=Roter mot klokken -page_rotate_ccw.label=Roter mot klokken page_rotate_ccw_label=Roter mot klokken cursor_text_select_tool.title=Aktiver tekstmarkeringsverktøy @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Tekstmarkeringsverktøy cursor_hand_tool.title=Aktiver handverktøy cursor_hand_tool_label=Handverktøy +scroll_page.title=Bruk siderulling +scroll_page_label=Siderulling scroll_vertical.title=Bruk vertikal rulling scroll_vertical_label=Vertikal rulling scroll_horizontal.title=Bruk horisontal rulling @@ -137,19 +135,24 @@ print_progress_close=Avbryt # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Slå av/på sidestolpe -toggle_sidebar_notification.title=Vis/gjem sidestolpe (dokumentet inneholder oversikt/vedlegg) +toggle_sidebar_notification2.title=Vis/gjem sidestolpe (dokumentet inneholder oversikt/vedlegg/lag) toggle_sidebar_label=Slå av/på sidestolpe document_outline.title=Vis dokumentdisposisjonen (dobbeltklikk for å utvide/skjule alle elementer) document_outline_label=Dokumentdisposisjon attachments.title=Vis vedlegg attachments_label=Vedlegg +layers.title=Vis lag (dobbeltklikk for å tilbakestille alle lag til standardtilstand) +layers_label=Lag thumbs.title=Vis miniatyrbilde thumbs_label=Miniatyrbilde +current_outline_item.title=Finn gjeldende disposisjonselement +current_outline_item_label=Gjeldende disposisjonselement findbar.title=Finn i dokumentet findbar_label=Finn -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Side {{page}} +additional_layers=Ytterligere lag +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Side {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Virkelig størrelse page_scale_percent={{scale}} % # Loading indicator messages -loading_error_indicator=Feil +loading=Laster… loading_error=En feil oppstod ved lasting av PDF. invalid_file_error=Ugyldig eller skadet PDF-fil. missing_file_error=Manglende PDF-fil. @@ -245,4 +248,3 @@ password_cancel=Avbryt printing_not_supported=Advarsel: Utskrift er ikke fullstendig støttet av denne nettleseren. printing_not_ready=Advarsel: PDF er ikke fullstendig innlastet for utskrift. web_fonts_disabled=Web-fonter er avslått: Kan ikke bruke innbundne PDF-fonter. -document_colors_not_allowed=PDF-dokumenter tillates ikke å bruke deres egne farger: "Tillat sider å velge egne farger" er deaktivert i nettleseren. diff --git a/app/assets/javascripts/archive/locale/ne-NP/viewer.properties b/app/assets/javascripts/archive/locale/ne-NP/viewer.properties index 13bf69b..0044167 100644 --- a/app/assets/javascripts/archive/locale/ne-NP/viewer.properties +++ b/app/assets/javascripts/archive/locale/ne-NP/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=हालको दृश्य tools.title=औजारहरू tools_label=औजारहरू first_page.title=पहिलो पृष्ठमा जानुहोस् -first_page.label=पहिलो पृष्ठमा जानुहोस् first_page_label=पहिलो पृष्ठमा जानुहोस् last_page.title=पछिल्लो पृष्ठमा जानुहोस् -last_page.label=पछिल्लो पृष्ठमा जानुहोस् last_page_label=पछिल्लो पृष्ठमा जानुहोस् page_rotate_cw.title=घडीको दिशामा घुमाउनुहोस् -page_rotate_cw.label=घडीको दिशामा घुमाउनुहोस् page_rotate_cw_label=घडीको दिशामा घुमाउनुहोस् page_rotate_ccw.title=घडीको विपरित दिशामा घुमाउनुहोस् -page_rotate_ccw.label=घडीको विपरित दिशामा घुमाउनुहोस् page_rotate_ccw_label=घडीको विपरित दिशामा घुमाउनुहोस् cursor_text_select_tool.title=पाठ चयन उपकरण सक्षम गर्नुहोस् @@ -65,6 +61,16 @@ cursor_text_select_tool_label=पाठ चयन उपकरण cursor_hand_tool.title=हाते उपकरण सक्षम गर्नुहोस् cursor_hand_tool_label=हाते उपकरण +scroll_vertical.title=ठाडो स्क्रोलिङ्ग प्रयोग गर्नुहोस् +scroll_vertical_label=ठाडो स्क्र्रोलिङ्ग +scroll_horizontal.title=तेर्सो स्क्रोलिङ्ग प्रयोग गर्नुहोस् +scroll_horizontal_label=तेर्सो स्क्रोलिङ्ग +scroll_wrapped.title=लिपि स्क्रोलिङ्ग प्रयोग गर्नुहोस् +scroll_wrapped_label=लिपि स्क्रोलिङ्ग + +spread_none.title=पृष्ठ स्प्रेडमा सामेल हुनुहुन्न +spread_none_label=स्प्रेड छैन + # Document properties dialog box document_properties.title=कागजात विशेषताहरू... document_properties_label=कागजात विशेषताहरू... @@ -89,6 +95,23 @@ document_properties_creator=सर्जक: document_properties_producer=PDF निर्माता: document_properties_version=PDF संस्करण document_properties_page_count=पृष्ठ गणना: +document_properties_page_size=पृष्ठ आकार: +document_properties_page_size_unit_inches=इन्च +document_properties_page_size_unit_millimeters=मि.मि. +document_properties_page_size_orientation_portrait=पोट्रेट +document_properties_page_size_orientation_landscape=परिदृश्य +document_properties_page_size_name_letter=अक्षर +document_properties_page_size_name_legal=कानूनी +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized_yes=हो +document_properties_linearized_no=होइन document_properties_close=बन्द गर्नुहोस् print_progress_message=मुद्रणका लागि कागजात तयारी गरिदै… @@ -101,7 +124,6 @@ print_progress_close=रद्द गर्नुहोस् # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=टगल साइडबार -toggle_sidebar_notification.title=साइडबार टगल गर्नुहोस् (कागजातमा समावेश भएको कुराहरू रूपरेखा/attachments) toggle_sidebar_label=टगल साइडबार document_outline.title=कागजातको रूपरेखा देखाउनुहोस् (सबै वस्तुहरू विस्तार/पतन गर्न डबल-क्लिक गर्नुहोस्) document_outline_label=दस्तावेजको रूपरेखा @@ -112,6 +134,7 @@ thumbs_label=थम्बनेलहरू findbar.title=कागजातमा फेला पार्नुहोस् findbar_label=फेला पार्नुहोस् +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -129,8 +152,17 @@ find_next.title=यस वाक्यांशको पछिल्लो घ find_next_label=अर्को find_highlight=सबै हाइलाइट गर्ने find_match_case_label=केस जोडा मिलाउनुहोस् +find_entire_word_label=पुरा शब्दहरु find_reached_top=पृष्ठको शिर्षमा पुगीयो, तलबाट जारी गरिएको थियो find_reached_bottom=पृष्ठको अन्त्यमा पुगीयो, शिर्षबाट जारी गरिएको थियो +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. find_not_found=वाक्यांश फेला परेन # Error panel labels @@ -162,12 +194,14 @@ page_scale_actual=वास्तविक आकार page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=त्रुटि loading_error=यो PDF लोड गर्दा एउटा त्रुटि देखापर्‍यो। invalid_file_error=अवैध वा दुषित PDF फाइल। missing_file_error=हराईरहेको PDF फाइल। unexpected_response_error=अप्रत्याशित सर्भर प्रतिक्रिया। +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. + # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. # "{{type}}" will be replaced with an annotation type from a list defined in # the PDF spec (32000-1:2008 Table 169 – Annotation types). @@ -181,4 +215,3 @@ password_cancel=रद्द गर्नुहोस् printing_not_supported=चेतावनी: यो ब्राउजरमा मुद्रण पूर्णतया समर्थित छैन। printing_not_ready=चेतावनी: PDF मुद्रणका लागि पूर्णतया लोड भएको छैन। web_fonts_disabled=वेब फन्ट असक्षम छन्: एम्बेडेड PDF फन्ट प्रयोग गर्न असमर्थ। -document_colors_not_allowed=PDF कागजातहरूलाई आफ्नै रङ प्रयोग गर्न अनुमति छैन: 'पृष्ठलाई आफ्नै रङ चयन गर्न अनुमति दिने' ब्राउजरमा निष्क्रिय गरिएको छ। diff --git a/app/assets/javascripts/archive/locale/nl/viewer.properties b/app/assets/javascripts/archive/locale/nl/viewer.properties index af8fb68..028b498 100644 --- a/app/assets/javascripts/archive/locale/nl/viewer.properties +++ b/app/assets/javascripts/archive/locale/nl/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Huidige weergave tools.title=Hulpmiddelen tools_label=Hulpmiddelen first_page.title=Naar eerste pagina gaan -first_page.label=Naar eerste pagina gaan first_page_label=Naar eerste pagina gaan last_page.title=Naar laatste pagina gaan -last_page.label=Naar laatste pagina gaan last_page_label=Naar laatste pagina gaan page_rotate_cw.title=Rechtsom draaien -page_rotate_cw.label=Rechtsom draaien page_rotate_cw_label=Rechtsom draaien page_rotate_ccw.title=Linksom draaien -page_rotate_ccw.label=Linksom draaien page_rotate_ccw_label=Linksom draaien cursor_text_select_tool.title=Tekstselectiehulpmiddel inschakelen @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Tekstselectiehulpmiddel cursor_hand_tool.title=Handhulpmiddel inschakelen cursor_hand_tool_label=Handhulpmiddel +scroll_page.title=Paginascrollen gebruiken +scroll_page_label=Paginascrollen scroll_vertical.title=Verticaal scrollen gebruiken scroll_vertical_label=Verticaal scrollen scroll_horizontal.title=Horizontaal scrollen gebruiken @@ -93,7 +91,7 @@ document_properties_mb={{size_mb}} MB ({{size_b}} bytes) document_properties_title=Titel: document_properties_author=Auteur: document_properties_subject=Onderwerp: -document_properties_keywords=Trefwoorden: +document_properties_keywords=Sleutelwoorden: document_properties_creation_date=Aanmaakdatum: document_properties_modification_date=Wijzigingsdatum: # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" @@ -137,19 +135,24 @@ print_progress_close=Annuleren # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Zijbalk in-/uitschakelen -toggle_sidebar_notification.title=Zijbalk in-/uitschakelen (document bevat overzicht/bijlagen) +toggle_sidebar_notification2.title=Zijbalk in-/uitschakelen (document bevat overzicht/bijlagen/lagen) toggle_sidebar_label=Zijbalk in-/uitschakelen document_outline.title=Documentoverzicht tonen (dubbelklik om alle items uit/samen te vouwen) document_outline_label=Documentoverzicht attachments.title=Bijlagen tonen attachments_label=Bijlagen +layers.title=Lagen tonen (dubbelklik om alle lagen naar de standaardstatus terug te zetten) +layers_label=Lagen thumbs.title=Miniaturen tonen thumbs_label=Miniaturen +current_outline_item.title=Huidig item in inhoudsopgave zoeken +current_outline_item_label=Huidig item in inhoudsopgave findbar.title=Zoeken in document findbar_label=Zoeken -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Pagina {{page}} +additional_layers=Aanvullende lagen +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Pagina {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -167,6 +170,7 @@ find_next.title=De volgende overeenkomst van de tekst zoeken find_next_label=Volgende find_highlight=Alles markeren find_match_case_label=Hoofdlettergevoelig +find_match_diacritics_label=Diakritische tekens gebruiken find_entire_word_label=Hele woorden find_reached_top=Bovenkant van document bereikt, doorgegaan vanaf onderkant find_reached_bottom=Onderkant van document bereikt, doorgegaan vanaf bovenkant @@ -222,7 +226,7 @@ page_scale_actual=Werkelijke grootte page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Fout +loading=Laden… loading_error=Er is een fout opgetreden bij het laden van de PDF. invalid_file_error=Ongeldig of beschadigd PDF-bestand. missing_file_error=PDF-bestand ontbreekt. @@ -245,4 +249,3 @@ password_cancel=Annuleren printing_not_supported=Waarschuwing: afdrukken wordt niet volledig ondersteund door deze browser. printing_not_ready=Waarschuwing: de PDF is niet volledig geladen voor afdrukken. web_fonts_disabled=Weblettertypen zijn uitgeschakeld: gebruik van ingebedde PDF-lettertypen is niet mogelijk. -document_colors_not_allowed=PDF-documenten mogen hun eigen kleuren niet gebruiken: ‘Pagina’s toestaan om hun eigen kleuren te kiezen’ is uitgeschakeld in de browser. diff --git a/app/assets/javascripts/archive/locale/nn-NO/viewer.properties b/app/assets/javascripts/archive/locale/nn-NO/viewer.properties index ad6de8f..2feff78 100644 --- a/app/assets/javascripts/archive/locale/nn-NO/viewer.properties +++ b/app/assets/javascripts/archive/locale/nn-NO/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Gjeldande vising tools.title=Verktøy tools_label=Verktøy first_page.title=Gå til første side -first_page.label=Gå til første side first_page_label=Gå til første side last_page.title=Gå til siste side -last_page.label=Gå til siste side last_page_label=Gå til siste side page_rotate_cw.title=Roter med klokka -page_rotate_cw.label=Roter med klokka page_rotate_cw_label=Roter med klokka page_rotate_ccw.title=Roter mot klokka -page_rotate_ccw.label=Roter mot klokka page_rotate_ccw_label=Roter mot klokka cursor_text_select_tool.title=Aktiver tekstmarkeringsverktøy @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Tekstmarkeringsverktøy cursor_hand_tool.title=Aktiver handverktøy cursor_hand_tool_label=Handverktøy +scroll_page.title=Bruk siderulling +scroll_page_label=Siderulling scroll_vertical.title=Bruk vertikal rulling scroll_vertical_label=Vertikal rulling scroll_horizontal.title=Bruk horisontal rulling @@ -137,19 +135,24 @@ print_progress_close=Avbryt # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Slå av/på sidestolpe -toggle_sidebar_notification.title=Vis/gøym sidestolpen (dokumentet inneheld oversikt/vedlegg) +toggle_sidebar_notification2.title=Vis/gøym sidestolpe (dokumentet inneheld oversikt/vedlegg/lag) toggle_sidebar_label=Slå av/på sidestolpe document_outline.title=Vis dokumentdisposisjonen (dobbelklikk for å utvide/gøyme alle elementa) document_outline_label=Dokumentdisposisjon attachments.title=Vis vedlegg attachments_label=Vedlegg +layers.title=Vis lag (dobbeltklikk for å tilbakestille alle lag til standardtilstand) +layers_label=Lag thumbs.title=Vis miniatyrbilde thumbs_label=Miniatyrbilde +current_outline_item.title=Finn gjeldande disposisjonselement +current_outline_item_label=Gjeldande disposisjonselement findbar.title=Finn i dokumentet findbar_label=Finn -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Side {{page}} +additional_layers=Ytterlegare lag +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Side {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Verkeleg storleik page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Feil +loading=Lastar… loading_error=Ein feil oppstod ved lasting av PDF. invalid_file_error=Ugyldig eller korrupt PDF-fil. missing_file_error=Manglande PDF-fil. @@ -245,4 +248,3 @@ password_cancel=Avbryt printing_not_supported=Åtvaring: Utskrift er ikkje fullstendig støtta av denne nettlesaren. printing_not_ready=Åtvaring: PDF ikkje fullstendig innlasta for utskrift. web_fonts_disabled=Web-skrifter er slått av: Kan ikkje bruke innbundne PDF-skrifter. -document_colors_not_allowed=PDF-dokument kan ikkje bruke eigne fargar: «Tillat sider å velje eigne fargar» er deaktivert i nettlesaren. diff --git a/app/assets/javascripts/archive/locale/oc/viewer.properties b/app/assets/javascripts/archive/locale/oc/viewer.properties index ebc7886..219de4d 100644 --- a/app/assets/javascripts/archive/locale/oc/viewer.properties +++ b/app/assets/javascripts/archive/locale/oc/viewer.properties @@ -26,7 +26,7 @@ of_pages=sus {{pagesCount}} # LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" # will be replaced by a number representing the currently visible page, # respectively a number representing the total number of pages in the document. -page_of_pages=({{pageNumber}} sus {{pagesCount}}) +page_of_pages=({{pageNumber}} de {{pagesCount}}) zoom_out.title=Zoom arrièr zoom_out_label=Zoom arrièr @@ -48,16 +48,12 @@ bookmark_label=Afichatge actual tools.title=Aisinas tools_label=Aisinas first_page.title=Anar a la primièra pagina -first_page.label=Anar a la primièra pagina first_page_label=Anar a la primièra pagina last_page.title=Anar a la darrièra pagina -last_page.label=Anar a la darrièra pagina last_page_label=Anar a la darrièra pagina page_rotate_cw.title=Rotacion orària -page_rotate_cw.label=Rotacion orària page_rotate_cw_label=Rotacion orària page_rotate_ccw.title=Rotacion antiorària -page_rotate_ccw.label=Rotacion antiorària page_rotate_ccw_label=Rotacion antiorària cursor_text_select_tool.title=Activar l'aisina de seleccion de tèxte @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Aisina de seleccion de tèxte cursor_hand_tool.title=Activar l’aisina man cursor_hand_tool_label=Aisina man +scroll_page.title=Activar lo desfilament per pagina +scroll_page_label=Desfilament per pagina scroll_vertical.title=Utilizar lo desfilament vertical scroll_vertical_label=Desfilament vertical scroll_horizontal.title=Utilizar lo desfilament orizontal @@ -74,9 +72,9 @@ scroll_wrapped_label=Desfilament continú spread_none.title=Agropar pas las paginas doas a doas spread_none_label=Una sola pagina -spread_odd.title=Mostrar doas paginas en començar per las paginas imparas a esquèrra +spread_odd.title=Mostrar doas paginas en començant per las paginas imparas a esquèrra spread_odd_label=Dobla pagina, impara a drecha -spread_even.title=Mostrar doas paginas en començar per las paginas paras a esquèrra +spread_even.title=Mostrar doas paginas en començant per las paginas paras a esquèrra spread_even_label=Dobla pagina, para a drecha # Document properties dialog box @@ -98,14 +96,15 @@ document_properties_creation_date=Data de creacion : document_properties_modification_date=Data de modificacion : # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" # will be replaced by the creation/modification date, and time, of the PDF file. -document_properties_date_string={{date}}, {{time}} +document_properties_date_string={{date}}, a {{time}} document_properties_creator=Creator : document_properties_producer=Aisina de conversion PDF : document_properties_version=Version PDF : document_properties_page_count=Nombre de paginas : document_properties_page_size=Talha de la pagina : +document_properties_page_size_unit_inches=in document_properties_page_size_unit_millimeters=mm -document_properties_page_size_orientation_portrait=retrait +document_properties_page_size_orientation_portrait=retrach document_properties_page_size_orientation_landscape=païsatge document_properties_page_size_name_a3=A3 document_properties_page_size_name_a4=A4 @@ -136,19 +135,24 @@ print_progress_close=Anullar # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Afichar/amagar lo panèl lateral -toggle_sidebar_notification.title=Afichar/amagar lo panèl lateral (lo document conten esquèmas/pèças juntas) +toggle_sidebar_notification2.title=Afichar/amagar lo panèl lateral (lo document conten esquèmas/pèças juntas/calques) toggle_sidebar_label=Afichar/amagar lo panèl lateral document_outline.title=Mostrar los esquèmas del document (dobleclicar per espandre/reduire totes los elements) document_outline_label=Marcapaginas del document attachments.title=Visualizar las pèças juntas attachments_label=Pèças juntas +layers.title=Afichar los calques (doble-clicar per reïnicializar totes los calques a l’estat per defaut) +layers_label=Calques thumbs.title=Afichar las vinhetas thumbs_label=Vinhetas -findbar.title=Trobar dins lo document +current_outline_item.title=Trobar l’element de plan actual +current_outline_item_label=Element de plan actual +findbar.title=Cercar dins lo document findbar_label=Recercar -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Pagina {{page}} +additional_layers=Calques suplementaris +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Pagina {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -175,21 +179,21 @@ find_reached_bottom=Bas de la pagina atench, perseguida al començament # index of the currently active find result, respectively a number representing # the total number of matches in the document. find_match_count={[ plural(total) ]} -find_match_count[one]=Occuréncia {{current}} sus {{total}} -find_match_count[two]=Occuréncia {{current}} sus {{total}} -find_match_count[few]=Occuréncia {{current}} sus {{total}} -find_match_count[many]=Occuréncia {{current}} sus {{total}} -find_match_count[other]=Occuréncia {{current}} sus {{total}} +find_match_count[one]=Ocuréncia {{current}} sus {{total}} +find_match_count[two]=Ocuréncia {{current}} sus {{total}} +find_match_count[few]=Ocuréncia {{current}} sus {{total}} +find_match_count[many]=Ocuréncia {{current}} sus {{total}} +find_match_count[other]=Ocuréncia {{current}} sus {{total}} # LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are # [zero|one|two|few|many|other], with [other] as the default value. # "{{limit}}" will be replaced by a numerical value. find_match_count_limit={[ plural(limit) ]} -find_match_count_limit[zero]=Mai de {{limit}} occuréncias -find_match_count_limit[one]=Mai de {{limit}} occuréncia -find_match_count_limit[two]=Mai de {{limit}} occuréncias -find_match_count_limit[few]=Mai de {{limit}} occuréncias -find_match_count_limit[many]=Mai de {{limit}} occuréncias -find_match_count_limit[other]=Mai de {{limit}} occuréncias +find_match_count_limit[zero]=Mai de {{limit}} ocuréncias +find_match_count_limit[one]=Mai de {{limit}} ocuréncia +find_match_count_limit[two]=Mai de {{limit}} ocuréncias +find_match_count_limit[few]=Mai de {{limit}} ocuréncias +find_match_count_limit[many]=Mai de {{limit}} ocuréncias +find_match_count_limit[other]=Mai de {{limit}} ocuréncias find_not_found=Frasa pas trobada # Error panel labels @@ -209,7 +213,7 @@ error_stack=Pila : {{stack}} error_file=Fichièr : {{file}} # LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number error_line=Linha : {{line}} -rendering_error=Una error s'es produita pendent l'afichatge de la pagina. +rendering_error=Una error s'es producha pendent l'afichatge de la pagina. # Predefined zoom values page_scale_width=Largor plena @@ -221,8 +225,8 @@ page_scale_actual=Talha vertadièra page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Error -loading_error=Una error s'es produita pendent lo cargament del fichièr PDF. +loading=Cargament… +loading_error=Una error s'es producha pendent lo cargament del fichièr PDF. invalid_file_error=Fichièr PDF invalid o corromput. missing_file_error=Fichièr PDF mancant. unexpected_response_error=Responsa de servidor imprevista. @@ -244,4 +248,3 @@ password_cancel=Anullar printing_not_supported=Atencion : l'impression es pas completament gerida per aqueste navegador. printing_not_ready=Atencion : lo PDF es pas entièrament cargat per lo poder imprimir. web_fonts_disabled=Las poliças web son desactivadas : impossible d'utilizar las poliças integradas al PDF. -document_colors_not_allowed=Los documents PDF pòdon pas utilizar lors pròprias colors : « Autorizar las paginas web d'utilizar lors pròprias colors » es desactivat dins lo navegador. diff --git a/app/assets/javascripts/archive/locale/pa-IN/viewer.properties b/app/assets/javascripts/archive/locale/pa-IN/viewer.properties index e1ccb65..61215db 100644 --- a/app/assets/javascripts/archive/locale/pa-IN/viewer.properties +++ b/app/assets/javascripts/archive/locale/pa-IN/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=ਮੌਜੂਦਾ ਝਲਕ tools.title=ਟੂਲ tools_label=ਟੂਲ first_page.title=ਪਹਿਲੇ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ -first_page.label=ਪਹਿਲੇ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ first_page_label=ਪਹਿਲੇ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ last_page.title=ਆਖਰੀ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ -last_page.label=ਆਖਰੀ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ last_page_label=ਆਖਰੀ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ page_rotate_cw.title=ਸੱਜੇ ਦਾਅ ਘੁੰਮਾਓ -page_rotate_cw.label=ਸੱਜੇ ਦਾਅ ਘੁੰਮਾਉ page_rotate_cw_label=ਸੱਜੇ ਦਾਅ ਘੁੰਮਾਓ page_rotate_ccw.title=ਖੱਬੇ ਦਾਅ ਘੁੰਮਾਓ -page_rotate_ccw.label=ਖੱਬੇ ਦਾਅ ਘੁੰਮਾਉ page_rotate_ccw_label=ਖੱਬੇ ਦਾਅ ਘੁੰਮਾਓ cursor_text_select_tool.title=ਲਿਖਤ ਚੋਣ ਟੂਲ ਸਮਰੱਥ ਕਰੋ @@ -65,6 +61,8 @@ cursor_text_select_tool_label=ਲਿਖਤ ਚੋਣ ਟੂਲ cursor_hand_tool.title=ਹੱਥ ਟੂਲ ਸਮਰੱਥ ਕਰੋ cursor_hand_tool_label=ਹੱਥ ਟੂਲ +scroll_page.title=ਸਫ਼ਾ ਖਿਸਕਾਉਣ ਨੂੰ ਵਰਤੋਂ +scroll_page_label=ਸਫ਼ਾ ਖਿਸਕਾਉਣਾ scroll_vertical.title=ਖੜ੍ਹਵੇਂ ਸਕਰਾਉਣ ਨੂੰ ਵਰਤੋਂ scroll_vertical_label=ਖੜ੍ਹਵਾਂ ਸਰਕਾਉਣਾ scroll_horizontal.title=ਲੇਟਵੇਂ ਸਰਕਾਉਣ ਨੂੰ ਵਰਤੋਂ @@ -74,8 +72,10 @@ scroll_wrapped_label=ਸਮੇਟਿਆ ਸਰਕਾਉਣਾ spread_none.title=ਸਫ਼ਾ ਫੈਲਾਅ ਵਿੱਚ ਸ਼ਾਮਲ ਨਾ ਹੋਵੋ spread_none_label=ਕੋਈ ਫੈਲਾਅ ਨਹੀਂ -spread_odd.title=ਅਜੀਬ-ਨੰਬਰ ਵਾਲੇ ਪੰਨਿਆਂ ਨਾਲ ਸ਼ੁਰੂ ਹੋਣ ਵਾਲੇ ਪੰਨੇ ਸਪਰਸ਼ਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ -spread_even.title=ਜਿਸਤ ਨੰਬਰ ਵਾਲੇ ਸਫ਼ਿਆਂ ਨਾਲ ਸ਼ੁਰੂ ਹੋਣ ਵਾਲੇ ਸਫਿਆਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ +spread_odd.title=ਟਾਂਕ ਅੰਕ ਵਾਲੇ ਸਫ਼ਿਆਂ ਨਾਲ ਸ਼ੁਰੂ ਹੋਣ ਵਾਲੇ ਸਫਿਆਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ +spread_odd_label=ਟਾਂਕ ਫੈਲਾਅ +spread_even.title=ਜਿਸਤ ਅੰਕ ਵਾਲੇ ਸਫ਼ਿਆਂ ਨਾਲ ਸ਼ੁਰੂ ਹੋਣ ਵਾਲੇ ਸਫਿਆਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ +spread_even_label=ਜਿਸਤ ਫੈਲਾਅ # Document properties dialog box document_properties.title=…ਦਸਤਾਵੇਜ਼ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ @@ -135,19 +135,24 @@ print_progress_close=ਰੱਦ ਕਰੋ # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=ਬਾਹੀ ਬਦਲੋ -toggle_sidebar_notification.title=ਬਾਹੀ ਨੂੰ ਬਦਲੋ (ਦਸਤਾਵੇਜ਼ ਖਾਕਾ/ਅਟੈਚਮੈਂਟਾਂ ਰੱਖਦਾ ਹੈ) +toggle_sidebar_notification2.title=ਬਾਹੀ ਨੂੰ ਬਦਲੋ (ਦਸਤਾਵੇਜ਼ ਖਾਕਾ/ਅਟੈਚਮੈਂਟ/ਪਰਤਾਂ ਰੱਖਦਾ ਹੈ) toggle_sidebar_label=ਬਾਹੀ ਬਦਲੋ document_outline.title=ਦਸਤਾਵੇਜ਼ ਖਾਕਾ ਦਿਖਾਓ (ਸਾਰੀਆਂ ਆਈਟਮਾਂ ਨੂੰ ਫੈਲਾਉਣ/ਸਮੇਟਣ ਲਈ ਦੋ ਵਾਰ ਕਲਿੱਕ ਕਰੋ) document_outline_label=ਦਸਤਾਵੇਜ਼ ਖਾਕਾ attachments.title=ਅਟੈਚਮੈਂਟ ਵੇਖਾਓ attachments_label=ਅਟੈਚਮੈਂਟਾਂ +layers.title=ਪਰਤਾਂ ਵੇਖਾਓ (ਸਾਰੀਆਂ ਪਰਤਾਂ ਨੂੰ ਮੂਲ ਹਾਲਤ ਉੱਤੇ ਮੁੜ-ਸੈੱਟ ਕਰਨ ਲਈ ਦੋ ਵਾਰ ਕਲਿੱਕ ਕਰੋ) +layers_label=ਪਰਤਾਂ thumbs.title=ਥੰਮਨੇਲ ਨੂੰ ਵੇਖਾਓ thumbs_label=ਥੰਮਨੇਲ +current_outline_item.title=ਮੌੌਜੂਦਾ ਖਾਕਾ ਚੀਜ਼ ਲੱਭੋ +current_outline_item_label=ਮੌਜੂਦਾ ਖਾਕਾ ਚੀਜ਼ findbar.title=ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਲੱਭੋ findbar_label=ਲੱਭੋ -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=ਸਫ਼ਾ {{page}} +additional_layers=ਵਾਧੂ ਪਰਤਾਂ +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=ਸਫ਼ਾ {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -220,7 +225,7 @@ page_scale_actual=ਆਟੋਮੈਟਿਕ ਆਕਾਰ page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=ਗਲਤੀ +loading=…ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ loading_error=PDF ਲੋਡ ਕਰਨ ਦੇ ਦੌਰਾਨ ਗਲਤੀ ਆਈ ਹੈ। invalid_file_error=ਗਲਤ ਜਾਂ ਨਿਕਾਰਾ PDF ਫਾਈਲ ਹੈ। missing_file_error=ਨਾ-ਮੌਜੂਦ PDF ਫਾਈਲ। @@ -243,4 +248,3 @@ password_cancel=ਰੱਦ ਕਰੋ printing_not_supported=ਸਾਵਧਾਨ: ਇਹ ਬਰਾਊਜ਼ਰ ਪਰਿੰਟ ਕਰਨ ਲਈ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸਹਾਇਕ ਨਹੀਂ ਹੈ। printing_not_ready=ਸਾਵਧਾਨ: PDF ਨੂੰ ਪਰਿੰਟ ਕਰਨ ਲਈ ਪੂਰੀ ਤਰ੍ਹਾਂ ਲੋਡ ਨਹੀਂ ਹੈ। web_fonts_disabled=ਵੈਬ ਫੋਂਟ ਬੰਦ ਹਨ: ਇੰਬੈਡ PDF ਫੋਂਟ ਨੂੰ ਵਰਤਣ ਲਈ ਅਸਮਰੱਥ ਹੈ। -document_colors_not_allowed=PDF ਦਸਤਾਵੇਜ਼ਾਂ ਨੂੰ ਆਪਣੇ ਰੰਗ ਵਰਤਣ ਦੀ ਇਜ਼ਾਜ਼ਤ ਨਹੀਂ ਹੈ।: ਬਰਾਊਜ਼ਰ ਵਿੱਚ “ਸਫ਼ਿਆਂ ਨੂੰ ਆਪਣੇ ਰੰਗ ਚੁਣਨ ਦੀ ਇਜ਼ਾਜ਼ਤ ਦਿਓ” ਨਾ-ਸਰਗਰਮ ਹੈ। diff --git a/app/assets/javascripts/archive/locale/pl/viewer.properties b/app/assets/javascripts/archive/locale/pl/viewer.properties index c18ea5e..e841f13 100644 --- a/app/assets/javascripts/archive/locale/pl/viewer.properties +++ b/app/assets/javascripts/archive/locale/pl/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Bieżąca pozycja tools.title=Narzędzia tools_label=Narzędzia first_page.title=Przejdź do pierwszej strony -first_page.label=Przejdź do pierwszej strony first_page_label=Przejdź do pierwszej strony last_page.title=Przejdź do ostatniej strony -last_page.label=Przejdź do ostatniej strony last_page_label=Przejdź do ostatniej strony page_rotate_cw.title=Obróć zgodnie z ruchem wskazówek zegara -page_rotate_cw.label=Obróć zgodnie z ruchem wskazówek zegara page_rotate_cw_label=Obróć zgodnie z ruchem wskazówek zegara page_rotate_ccw.title=Obróć przeciwnie do ruchu wskazówek zegara -page_rotate_ccw.label=Obróć przeciwnie do ruchu wskazówek zegara page_rotate_ccw_label=Obróć przeciwnie do ruchu wskazówek zegara cursor_text_select_tool.title=Włącz narzędzie zaznaczania tekstu @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Narzędzie zaznaczania tekstu cursor_hand_tool.title=Włącz narzędzie rączka cursor_hand_tool_label=Narzędzie rączka +scroll_page.title=Przewijaj strony +scroll_page_label=Przewijanie stron scroll_vertical.title=Przewijaj dokument w pionie scroll_vertical_label=Przewijanie pionowe scroll_horizontal.title=Przewijaj dokument w poziomie @@ -137,19 +135,24 @@ print_progress_close=Anuluj # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Przełącz panel boczny -toggle_sidebar_notification.title=Przełącz panel boczny (dokument zawiera konspekt/załączniki) +toggle_sidebar_notification2.title=Przełącz panel boczny (dokument zawiera konspekt/załączniki/warstwy) toggle_sidebar_label=Przełącz panel boczny document_outline.title=Konspekt dokumentu (podwójne kliknięcie rozwija lub zwija wszystkie pozycje) document_outline_label=Konspekt dokumentu attachments.title=Załączniki attachments_label=Załączniki +layers.title=Warstwy (podwójne kliknięcie przywraca wszystkie warstwy do stanu domyślnego) +layers_label=Warstwy thumbs.title=Miniatury thumbs_label=Miniatury +current_outline_item.title=Znajdź bieżący element konspektu +current_outline_item_label=Bieżący element konspektu findbar.title=Znajdź w dokumencie findbar_label=Znajdź -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas={{page}}. strona +additional_layers=Dodatkowe warstwy +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark={{page}}. strona # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Rozmiar oryginalny page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Błąd +loading=Wczytywanie… loading_error=Podczas wczytywania dokumentu PDF wystąpił błąd. invalid_file_error=Nieprawidłowy lub uszkodzony plik PDF. missing_file_error=Brak pliku PDF. @@ -245,4 +248,3 @@ password_cancel=Anuluj printing_not_supported=Ostrzeżenie: drukowanie nie jest w pełni obsługiwane przez tę przeglądarkę. printing_not_ready=Ostrzeżenie: dokument PDF nie jest całkowicie wczytany, więc nie można go wydrukować. web_fonts_disabled=Czcionki sieciowe są wyłączone: nie można użyć osadzonych czcionek PDF. -document_colors_not_allowed=Dokumenty PDF nie mogą używać własnych kolorów: opcja „Pozwalaj stronom stosować inne kolory” w przeglądarce jest nieaktywna. diff --git a/app/assets/javascripts/archive/locale/pt-BR/viewer.properties b/app/assets/javascripts/archive/locale/pt-BR/viewer.properties index 5947d2d..f91b2aa 100644 --- a/app/assets/javascripts/archive/locale/pt-BR/viewer.properties +++ b/app/assets/javascripts/archive/locale/pt-BR/viewer.properties @@ -39,38 +39,36 @@ open_file.title=Abrir arquivo open_file_label=Abrir print.title=Imprimir print_label=Imprimir -download.title=Download -download_label=Download -bookmark.title=Visualização atual (copiar ou abrir em uma nova janela) +download.title=Baixar +download_label=Baixar +bookmark.title=Visão atual (copiar ou abrir em nova janela) bookmark_label=Visualização atual # Secondary toolbar and context menu tools.title=Ferramentas tools_label=Ferramentas first_page.title=Ir para a primeira página -first_page.label=Ir para a primeira página first_page_label=Ir para a primeira página last_page.title=Ir para a última página -last_page.label=Ir para a última página last_page_label=Ir para a última página page_rotate_cw.title=Girar no sentido horário -page_rotate_cw.label=Girar no sentido horário page_rotate_cw_label=Girar no sentido horário page_rotate_ccw.title=Girar no sentido anti-horário -page_rotate_ccw.label=Girar no sentido anti-horário page_rotate_ccw_label=Girar no sentido anti-horário cursor_text_select_tool.title=Ativar a ferramenta de seleção de texto cursor_text_select_tool_label=Ferramenta de seleção de texto -cursor_hand_tool.title=Ativar ferramenta de mão -cursor_hand_tool_label=Ferramenta de mão +cursor_hand_tool.title=Ativar ferramenta de deslocamento +cursor_hand_tool_label=Ferramenta de deslocamento -scroll_vertical.title=Usar rolagem vertical -scroll_vertical_label=Rolagem vertical -scroll_horizontal.title=Usar rolagem horizontal -scroll_horizontal_label=Rolagem horizontal -scroll_wrapped.title=Usar rolagem contida -scroll_wrapped_label=Rolagem contida +scroll_page.title=Usar rolagem de página +scroll_page_label=Rolagem de página +scroll_vertical.title=Usar deslocamento vertical +scroll_vertical_label=Deslocamento vertical +scroll_horizontal.title=Usar deslocamento horizontal +scroll_horizontal_label=Deslocamento horizontal +scroll_wrapped.title=Usar deslocamento contido +scroll_wrapped_label=Deslocamento contido spread_none.title=Não reagrupar páginas spread_none_label=Não estender @@ -122,7 +120,7 @@ document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) # LOCALIZATION NOTE (document_properties_linearized): The linearization status of # the document; usually called "Fast Web View" in English locales of Adobe software. -document_properties_linearized=Visualização rápida da Web: +document_properties_linearized=Exibição web rápida: document_properties_linearized_yes=Sim document_properties_linearized_no=Não document_properties_close=Fechar @@ -136,20 +134,25 @@ print_progress_close=Cancelar # Tooltips and alt text for side panel toolbar buttons # (the _label strings are alt text for the buttons, the .title strings are # tooltips) -toggle_sidebar.title=Alternar painel -toggle_sidebar_notification.title=Alternar o painel (documento contém marcadores e anexos) -toggle_sidebar_label=Alternar painel -document_outline.title=Mostrar a estrutura do documento (duplo-clique para expandir/recolher todos os ítens) +toggle_sidebar.title=Exibir/ocultar painel lateral +toggle_sidebar_notification2.title=Exibir/ocultar painel (documento contém estrutura/anexos/camadas) +toggle_sidebar_label=Exibir/ocultar painel +document_outline.title=Mostrar a estrutura do documento (dê um duplo-clique para expandir/recolher todos os itens) document_outline_label=Estrutura do documento attachments.title=Mostrar anexos attachments_label=Anexos +layers.title=Exibir camadas (duplo-clique para redefinir todas as camadas ao estado predefinido) +layers_label=Camadas thumbs.title=Mostrar miniaturas thumbs_label=Miniaturas +current_outline_item.title=Encontrar item atual da estrutura +current_outline_item_label=Item atual da estrutura findbar.title=Procurar no documento findbar_label=Procurar -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Página {{page}} +additional_layers=Camadas adicionais +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Página {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -165,7 +168,7 @@ find_previous.title=Procurar a ocorrência anterior da frase find_previous_label=Anterior find_next.title=Procurar a próxima ocorrência da frase find_next_label=Próxima -find_highlight=Realçar tudo +find_highlight=Destacar tudo find_match_case_label=Diferenciar maiúsculas/minúsculas find_entire_word_label=Palavras completas find_reached_top=Início do documento alcançado, continuando do fim @@ -222,7 +225,7 @@ page_scale_actual=Tamanho real page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Erro +loading=Carregando… loading_error=Ocorreu um erro ao carregar o PDF. invalid_file_error=Arquivo PDF corrompido ou inválido. missing_file_error=Arquivo PDF ausente. @@ -245,4 +248,3 @@ password_cancel=Cancelar printing_not_supported=Aviso: a impressão não é totalmente suportada neste navegador. printing_not_ready=Aviso: o PDF não está totalmente carregado para impressão. web_fonts_disabled=As fontes web estão desativadas: não foi possível usar fontes incorporadas do PDF. -document_colors_not_allowed=Documentos PDF não estão autorizados a usar as próprias cores: a opção “Permitir que as páginas escolham suas próprias cores” está desativada no navegador. diff --git a/app/assets/javascripts/archive/locale/pt-PT/viewer.properties b/app/assets/javascripts/archive/locale/pt-PT/viewer.properties index 5129a52..fed3147 100644 --- a/app/assets/javascripts/archive/locale/pt-PT/viewer.properties +++ b/app/assets/javascripts/archive/locale/pt-PT/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Visão atual tools.title=Ferramentas tools_label=Ferramentas first_page.title=Ir para a primeira página -first_page.label=Ir para a primeira página first_page_label=Ir para a primeira página last_page.title=Ir para a última página -last_page.label=Ir para a última página last_page_label=Ir para a última página page_rotate_cw.title=Rodar à direita -page_rotate_cw.label=Rodar à direita page_rotate_cw_label=Rodar à direita page_rotate_ccw.title=Rodar à esquerda -page_rotate_ccw.label=Rodar à esquerda page_rotate_ccw_label=Rodar à esquerda cursor_text_select_tool.title=Ativar ferramenta de seleção de texto @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Ferramenta de seleção de texto cursor_hand_tool.title=Ativar ferramenta de mão cursor_hand_tool_label=Ferramenta de mão +scroll_page.title=Utilizar deslocamento da página +scroll_page_label=Deslocamento da página scroll_vertical.title=Utilizar deslocação vertical scroll_vertical_label=Deslocação vertical scroll_horizontal.title=Utilizar deslocação horizontal @@ -137,19 +135,24 @@ print_progress_close=Cancelar # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Alternar barra lateral -toggle_sidebar_notification.title=Alternar barra lateral (documento contém contorno/anexos) +toggle_sidebar_notification2.title=Alternar barra lateral (o documento contém contornos/anexos/camadas) toggle_sidebar_label=Alternar barra lateral document_outline.title=Mostrar esquema do documento (duplo clique para expandir/colapsar todos os itens) document_outline_label=Esquema do documento attachments.title=Mostrar anexos attachments_label=Anexos +layers.title=Mostrar camadas (clique duas vezes para repor todas as camadas para o estado predefinido) +layers_label=Camadas thumbs.title=Mostrar miniaturas thumbs_label=Miniaturas +current_outline_item.title=Encontrar o item atualmente destacado +current_outline_item_label=Item atualmente destacado findbar.title=Localizar em documento findbar_label=Localizar -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Página {{page}} +additional_layers=Camadas adicionais +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Página {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -167,6 +170,7 @@ find_next.title=Localizar ocorrência seguinte da frase find_next_label=Seguinte find_highlight=Destacar tudo find_match_case_label=Correspondência +find_match_diacritics_label=Corresponder diacríticos find_entire_word_label=Palavras completas find_reached_top=Topo do documento atingido, a continuar a partir do fundo find_reached_bottom=Fim do documento atingido, a continuar a partir do topo @@ -222,7 +226,7 @@ page_scale_actual=Tamanho real page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Erro +loading=A carregar… loading_error=Ocorreu um erro ao carregar o PDF. invalid_file_error=Ficheiro PDF inválido ou danificado. missing_file_error=Ficheiro PDF inexistente. @@ -245,4 +249,3 @@ password_cancel=Cancelar printing_not_supported=Aviso: a impressão não é totalmente suportada por este navegador. printing_not_ready=Aviso: o PDF ainda não está totalmente carregado. web_fonts_disabled=Os tipos de letra web estão desativados: não é possível utilizar os tipos de letra PDF embutidos. -document_colors_not_allowed=Os documentos PDF não permitem a utilização das suas próprias cores: “Permitir às páginas escolher as suas próprias cores” está desativado no navegador. diff --git a/app/assets/javascripts/archive/locale/rm/viewer.properties b/app/assets/javascripts/archive/locale/rm/viewer.properties index 99aca5c..85d4e86 100644 --- a/app/assets/javascripts/archive/locale/rm/viewer.properties +++ b/app/assets/javascripts/archive/locale/rm/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Vista actuala tools.title=Utensils tools_label=Utensils first_page.title=Siglir a l'emprima pagina -first_page.label=Siglir a l'emprima pagina first_page_label=Siglir a l'emprima pagina last_page.title=Siglir a la davosa pagina -last_page.label=Siglir a la davosa pagina last_page_label=Siglir a la davosa pagina page_rotate_cw.title=Rotar en direcziun da l'ura -page_rotate_cw.label=Rotar en direcziun da l'ura page_rotate_cw_label=Rotar en direcziun da l'ura page_rotate_ccw.title=Rotar en direcziun cuntraria a l'ura -page_rotate_ccw.label=Rotar en direcziun cuntraria a l'ura page_rotate_ccw_label=Rotar en direcziun cuntraria a l'ura cursor_text_select_tool.title=Activar l'utensil per selecziunar text @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Utensil per selecziunar text cursor_hand_tool.title=Activar l'utensil da maun cursor_hand_tool_label=Utensil da maun +scroll_page.title=Utilisar la defilada per pagina +scroll_page_label=Defilada per pagina scroll_vertical.title=Utilisar il defilar vertical scroll_vertical_label=Defilar vertical scroll_horizontal.title=Utilisar il defilar orizontal @@ -137,19 +135,24 @@ print_progress_close=Interrumper # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Activar/deactivar la trav laterala -toggle_sidebar_notification.title=Activar/deactivar la trav laterala (structura dal document/agiuntas) +toggle_sidebar_notification2.title=Activar/deactivar la trav laterala (il document cuntegna structura dal document/agiuntas/nivels) toggle_sidebar_label=Activar/deactivar la trav laterala document_outline.title=Mussar la structura dal document (cliccar duas giadas per extender/cumprimer tut ils elements) document_outline_label=Structura dal document attachments.title=Mussar agiuntas attachments_label=Agiuntas +layers.title=Mussar ils nivels (cliccar dubel per restaurar il stadi da standard da tut ils nivels) +layers_label=Nivels thumbs.title=Mussar las miniaturas thumbs_label=Miniaturas +current_outline_item.title=Tschertgar l'element da structura actual +current_outline_item_label=Element da structura actual findbar.title=Tschertgar en il document findbar_label=Tschertgar -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Pagina {{page}} +additional_layers=Nivels supplementars +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Pagina {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Grondezza actuala page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Errur +loading=Chargiar… loading_error=Ina errur è cumparida cun chargiar il PDF. invalid_file_error=Datoteca PDF nunvalida u donnegiada. missing_file_error=Datoteca PDF manconta. @@ -245,4 +248,3 @@ password_cancel=Interrumper printing_not_supported=Attenziun: Il stampar na funcziunescha anc betg dal tut en quest navigatur. printing_not_ready=Attenziun: Il PDF n'è betg chargià cumplettamain per stampar. web_fonts_disabled=Scrittiras dal web èn deactivadas: impussibel dad utilisar las scrittiras integradas en il PDF. -document_colors_not_allowed=Documents da PDF na dastgan betg duvrar las atgnas colurs: 'Permetter a paginas da tscherner lur atgna colur' è deactivà en il navigatur. diff --git a/app/assets/javascripts/archive/locale/ro/viewer.properties b/app/assets/javascripts/archive/locale/ro/viewer.properties index 8f10f7e..7c4ed28 100644 --- a/app/assets/javascripts/archive/locale/ro/viewer.properties +++ b/app/assets/javascripts/archive/locale/ro/viewer.properties @@ -48,17 +48,13 @@ bookmark_label=Vizualizare actuală tools.title=Instrumente tools_label=Instrumente first_page.title=Mergi la prima pagină -first_page.label=Mergi la prima pagină first_page_label=Mergi la prima pagină last_page.title=Mergi la ultima pagină -last_page.label=Mergi la ultima pagină last_page_label=Mergi la ultima pagină -page_rotate_cw.title=Rotește în sensul acelor de ceasornic -page_rotate_cw.label=Rotește în sensul acelor de ceasornic -page_rotate_cw_label=Rotește în sensul acelor de ceasornic -page_rotate_ccw.title=Rotește în sens invers al acelor de ceasornic -page_rotate_ccw.label=Rotește în sens invers al acelor de ceasornic -page_rotate_ccw_label=Rotește în sens invers al acelor de ceasornic +page_rotate_cw.title=Rotește în sensul acelor de ceas +page_rotate_cw_label=Rotește în sensul acelor de ceas +page_rotate_ccw.title=Rotește în sens invers al acelor de ceas +page_rotate_ccw_label=Rotește în sens invers al acelor de ceas cursor_text_select_tool.title=Activează instrumentul de selecție a textului cursor_text_select_tool_label=Instrumentul de selecție a textului @@ -106,8 +102,8 @@ document_properties_page_count=Număr de pagini: document_properties_page_size=Mărimea paginii: document_properties_page_size_unit_inches=in document_properties_page_size_unit_millimeters=mm -document_properties_page_size_orientation_portrait=portret -document_properties_page_size_orientation_landscape=peisaj +document_properties_page_size_orientation_portrait=verticală +document_properties_page_size_orientation_landscape=orizontală document_properties_page_size_name_a3=A3 document_properties_page_size_name_a4=A4 document_properties_page_size_name_letter=Literă @@ -137,7 +133,6 @@ print_progress_close=Renunță # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Comută bara laterală -toggle_sidebar_notification.title=Comută bara laterală (documentul conține schițe/atașamente) toggle_sidebar_label=Comută bara laterală document_outline.title=Afișează schița documentului (dublu-clic pentru a extinde/restrânge toate elementele) document_outline_label=Schița documentului @@ -145,11 +140,10 @@ attachments.title=Afișează atașamentele attachments_label=Atașamente thumbs.title=Afișează miniaturi thumbs_label=Miniaturi -findbar.title=Găsește în document +findbar.title=Caută în document findbar_label=Caută -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Pagina {{page}} +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -161,12 +155,12 @@ thumb_page_canvas=Miniatura paginii {{page}} # Find panel button title and messages find_input.title=Caută find_input.placeholder=Caută în document… -find_previous.title=Găsește instanța anterioară în frază -find_previous_label=Anterior -find_next.title=Găsește instanța următoare în frază -find_next_label=Următor +find_previous.title=Mergi la apariția anterioară a textului +find_previous_label=Înapoi +find_next.title=Mergi la apariția următoare a textului +find_next_label=Înainte find_highlight=Evidențiază toate aparițiile -find_match_case_label=Corelează literele mari și mici +find_match_case_label=Ține cont de majuscule și minuscule find_entire_word_label=Cuvinte întregi find_reached_top=Am ajuns la începutul documentului, continuă de la sfârșit find_reached_bottom=Am ajuns la sfârșitul documentului, continuă de la început @@ -213,7 +207,7 @@ error_line=Rând: {{line}} rendering_error=A intervenit o eroare la randarea paginii. # Predefined zoom values -page_scale_width=Lățimea paginii +page_scale_width=Lățime pagină page_scale_fit=Potrivire la pagină page_scale_auto=Zoom automat page_scale_actual=Mărime reală @@ -222,7 +216,6 @@ page_scale_actual=Mărime reală page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Eroare loading_error=A intervenit o eroare la încărcarea PDF-ului. invalid_file_error=Fișier PDF nevalid sau corupt. missing_file_error=Fișier PDF lipsă. @@ -239,10 +232,9 @@ annotation_date_string={{date}}, {{time}} text_annotation_type.alt=[Adnotare {{type}}] password_label=Introdu parola pentru a deschide acest fișier PDF. password_invalid=Parolă nevalidă. Te rugăm să încerci din nou. -password_ok=Ok +password_ok=OK password_cancel=Renunță printing_not_supported=Avertisment: Tipărirea nu este suportată în totalitate de acest browser. printing_not_ready=Avertisment: PDF-ul nu este încărcat complet pentru tipărire. web_fonts_disabled=Fonturile web sunt dezactivate: nu se pot folosi fonturile PDF încorporate. -document_colors_not_allowed=Documentele PDF nu sunt autorizate să folosească propriile culori: „Permite paginilor să aleagă propriile culori” este dezactivat în browser. diff --git a/app/assets/javascripts/archive/locale/ru/viewer.properties b/app/assets/javascripts/archive/locale/ru/viewer.properties index bf417bc..8f817bd 100644 --- a/app/assets/javascripts/archive/locale/ru/viewer.properties +++ b/app/assets/javascripts/archive/locale/ru/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Текущий вид tools.title=Инструменты tools_label=Инструменты first_page.title=Перейти на первую страницу -first_page.label=Перейти на первую страницу first_page_label=Перейти на первую страницу last_page.title=Перейти на последнюю страницу -last_page.label=Перейти на последнюю страницу last_page_label=Перейти на последнюю страницу page_rotate_cw.title=Повернуть по часовой стрелке -page_rotate_cw.label=Повернуть по часовой стрелке page_rotate_cw_label=Повернуть по часовой стрелке page_rotate_ccw.title=Повернуть против часовой стрелки -page_rotate_ccw.label=Повернуть против часовой стрелки page_rotate_ccw_label=Повернуть против часовой стрелки cursor_text_select_tool.title=Включить Инструмент «Выделение текста» @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Инструмент «Выделение текс cursor_hand_tool.title=Включить Инструмент «Рука» cursor_hand_tool_label=Инструмент «Рука» +scroll_page.title=Использовать прокрутку страниц +scroll_page_label=Прокрутка страниц scroll_vertical.title=Использовать вертикальную прокрутку scroll_vertical_label=Вертикальная прокрутка scroll_horizontal.title=Использовать горизонтальную прокрутку @@ -137,19 +135,24 @@ print_progress_close=Отмена # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Показать/скрыть боковую панель -toggle_sidebar_notification.title=Показать/скрыть боковую панель (документ имеет содержание/вложения) +toggle_sidebar_notification2.title=Показать/скрыть боковую панель (документ имеет содержание/вложения/слои) toggle_sidebar_label=Показать/скрыть боковую панель document_outline.title=Показать содержание документа (двойной щелчок, чтобы развернуть/свернуть все элементы) document_outline_label=Содержание документа attachments.title=Показать вложения attachments_label=Вложения +layers.title=Показать слои (дважды щёлкните, чтобы сбросить все слои к состоянию по умолчанию) +layers_label=Слои thumbs.title=Показать миниатюры thumbs_label=Миниатюры +current_outline_item.title=Найти текущий элемент структуры +current_outline_item_label=Текущий элемент структуры findbar.title=Найти в документе findbar_label=Найти -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Страница {{page}} +additional_layers=Дополнительные слои +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Страница {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Реальный размер page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Ошибка +loading=Загрузка… loading_error=При загрузке PDF произошла ошибка. invalid_file_error=Некорректный или повреждённый PDF-файл. missing_file_error=PDF-файл отсутствует. @@ -244,5 +247,4 @@ password_cancel=Отмена printing_not_supported=Предупреждение: В этом браузере не полностью поддерживается печать. printing_not_ready=Предупреждение: PDF не полностью загружен для печати. -web_fonts_disabled=Веб-шрифты отключены: невозможно использовать встроенные PDF-шрифты. -document_colors_not_allowed=PDF-документам не разрешено использовать свои цвета: в браузере отключён параметр «Разрешить веб-сайтам использовать свои цвета». +web_fonts_disabled=Веб-шрифты отключены: не удалось задействовать встроенные PDF-шрифты. diff --git a/app/assets/javascripts/archive/locale/sat/viewer.properties b/app/assets/javascripts/archive/locale/sat/viewer.properties new file mode 100644 index 0000000..9cfa1f5 --- /dev/null +++ b/app/assets/javascripts/archive/locale/sat/viewer.properties @@ -0,0 +1,197 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=ᱢᱟᱲᱟᱝ ᱥᱟᱦᱴᱟ +previous_label=ᱢᱟᱲᱟᱝᱟᱜ +next.title=ᱤᱱᱟᱹ ᱛᱟᱭᱚᱢ ᱥᱟᱦᱴᱟ +next_label=ᱤᱱᱟᱹ ᱛᱟᱭᱚᱢ + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=ᱥᱟᱦᱴᱟ +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=ᱨᱮᱭᱟᱜ {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} ᱠᱷᱚᱱ {{pagesCount}}) + +zoom_out.title=ᱦᱤᱲᱤᱧ ᱛᱮᱭᱟᱨ +zoom_out_label=ᱦᱤᱲᱤᱧ ᱛᱮᱭᱟᱨ +zoom_in.title=ᱢᱟᱨᱟᱝ ᱛᱮᱭᱟᱨ +zoom_in_label=ᱢᱟᱨᱟᱝ ᱛᱮᱭᱟᱨ +zoom.title=ᱡᱩᱢ +presentation_mode.title=ᱩᱫᱩᱜ ᱥᱚᱫᱚᱨ ᱚᱵᱚᱥᱛᱟ ᱨᱮ ᱚᱛᱟᱭ ᱢᱮ +presentation_mode_label=ᱩᱫᱩᱜ ᱥᱚᱫᱚᱨ ᱚᱵᱚᱥᱛᱟ ᱨᱮ +open_file.title=ᱨᱮᱫ ᱡᱷᱤᱡᱽ ᱢᱮ +open_file_label=ᱡᱷᱤᱡᱽ ᱢᱮ +print.title=ᱪᱷᱟᱯᱟ +print_label=ᱪᱷᱟᱯᱟ +download.title=ᱰᱟᱩᱱᱞᱚᱰ +download_label=ᱰᱟᱩᱱᱞᱚᱰ +bookmark.title=ᱱᱤᱛᱚᱜᱟᱜ ᱧᱮᱞ (ᱱᱚᱶᱟ ᱡᱷᱚᱨᱠᱟ ᱨᱮ ᱱᱚᱠᱚᱞ ᱟᱨ ᱵᱟᱝ ᱡᱷᱤᱡᱽ ᱢᱮ ) +bookmark_label=ᱱᱤᱛᱚᱜᱟᱜ ᱧᱮᱞ + +# Secondary toolbar and context menu +tools.title=ᱦᱟᱹᱛᱤᱭᱟᱹᱨ ᱠᱚ +tools_label=ᱦᱟᱹᱛᱤᱭᱟᱹᱨ ᱠᱚ +first_page.title=ᱯᱩᱭᱞᱩ ᱥᱟᱦᱴᱟ ᱥᱮᱫ ᱪᱟᱞᱟᱜ ᱢᱮ +first_page_label=ᱯᱩᱭᱞᱩ ᱥᱟᱦᱴᱟ ᱥᱮᱫ ᱪᱟᱞᱟᱜ ᱢᱮ +last_page.title=ᱢᱩᱪᱟᱹᱫ ᱥᱟᱦᱴᱟ ᱥᱮᱫ ᱪᱟᱞᱟᱜ ᱢᱮ +last_page_label=ᱢᱩᱪᱟᱹᱫ ᱥᱟᱦᱴᱟ ᱥᱮᱫ ᱪᱟᱞᱟᱜ ᱢᱮ +page_rotate_cw.title=ᱜᱷᱚᱰᱤ ᱦᱤᱥᱟᱹᱵ ᱛᱮ ᱟᱹᱪᱩᱨ +page_rotate_cw_label=ᱜᱷᱚᱰᱤ ᱦᱤᱥᱟᱹᱵ ᱛᱮ ᱟᱹᱪᱩᱨ +page_rotate_ccw.title=ᱜᱷᱚᱰᱤ ᱦᱤᱥᱟᱹᱵ ᱛᱮ ᱩᱞᱴᱟᱹ ᱟᱹᱪᱩᱨ +page_rotate_ccw_label=ᱜᱷᱚᱰᱤ ᱦᱤᱥᱟᱹᱵ ᱛᱮ ᱩᱞᱴᱟᱹ ᱟᱹᱪᱩᱨ + +cursor_text_select_tool.title=ᱚᱞ ᱵᱟᱪᱷᱟᱣ ᱦᱟᱹᱛᱤᱭᱟᱨ ᱮᱢ ᱪᱷᱚᱭ ᱢᱮ +cursor_text_select_tool_label=ᱚᱞ ᱵᱟᱪᱷᱟᱣ ᱦᱟᱹᱛᱤᱭᱟᱨ +cursor_hand_tool.title=ᱛᱤ ᱦᱟᱹᱛᱤᱭᱟᱨ ᱮᱢ ᱪᱷᱚᱭ ᱢᱮ +cursor_hand_tool_label=ᱛᱤ ᱦᱟᱹᱛᱤᱭᱟᱨ + +scroll_page.title=ᱥᱟᱦᱴᱟ ᱜᱩᱲᱟᱹᱣ ᱵᱮᱵᱷᱟᱨ ᱢᱮ +scroll_page_label=ᱥᱟᱦᱴᱟ ᱜᱩᱲᱟᱹᱣ +scroll_vertical.title=ᱥᱤᱫᱽ ᱜᱩᱲᱟᱹᱣ ᱵᱮᱵᱷᱟᱨ ᱢᱮ +scroll_vertical_label=ᱥᱤᱫᱽ ᱜᱩᱲᱟᱹᱣ +scroll_horizontal.title=ᱜᱤᱛᱤᱡ ᱛᱮ ᱜᱩᱲᱟᱹᱣ ᱵᱮᱵᱷᱟᱨ ᱢᱮ + + +# Document properties dialog box +document_properties_file_name=ᱨᱮᱫᱽ ᱧᱩᱛᱩᱢ : +document_properties_file_size=ᱨᱮᱫᱽ ᱢᱟᱯ : +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} ᱵᱟᱭᱤᱴ ᱠᱚ) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} ᱵᱟᱭᱤᱴ ᱠᱚ) +document_properties_title=ᱧᱩᱛᱩᱢ : +document_properties_author=ᱚᱱᱚᱞᱤᱭᱟᱹ : +document_properties_subject=ᱵᱤᱥᱚᱭ : +document_properties_keywords=ᱠᱟᱹᱴᱷᱤ ᱥᱟᱵᱟᱫᱽ : +document_properties_creation_date=ᱛᱮᱭᱟᱨ ᱢᱟᱸᱦᱤᱛ : +document_properties_modification_date=ᱵᱚᱫᱚᱞ ᱦᱚᱪᱚ ᱢᱟᱹᱦᱤᱛ : +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=ᱵᱮᱱᱟᱣᱤᱡ : +document_properties_producer=PDF ᱛᱮᱭᱟᱨ ᱚᱰᱚᱠᱤᱡ : +document_properties_version=PDF ᱵᱷᱟᱹᱨᱥᱚᱱ : +document_properties_page_count=ᱥᱟᱦᱴᱟ ᱞᱮᱠᱷᱟ : +document_properties_page_size=ᱥᱟᱦᱴᱟ ᱢᱟᱯ : +document_properties_page_size_unit_inches=ᱤᱧᱪ +document_properties_page_size_unit_millimeters=ᱢᱤᱢᱤ +document_properties_page_size_orientation_portrait=ᱯᱚᱴᱨᱮᱴ +document_properties_page_size_orientation_landscape=ᱞᱮᱱᱰᱥᱠᱮᱯ +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=ᱪᱤᱴᱷᱤ +document_properties_page_size_name_legal=ᱠᱟᱹᱱᱩᱱᱤ +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +document_outline_label=ᱫᱚᱞᱤᱞ ᱛᱮᱭᱟᱨ ᱛᱮᱫ +attachments.title=ᱞᱟᱴᱷᱟ ᱥᱮᱞᱮᱫ ᱠᱚ ᱩᱫᱩᱜᱽ ᱢᱮ +attachments_label=ᱞᱟᱴᱷᱟ ᱥᱮᱞᱮᱫ ᱠᱚ +thumbs.title=ᱪᱤᱛᱟᱹᱨ ᱟᱦᱞᱟ ᱠᱚ ᱩᱫᱩᱜᱽ ᱢᱮ +thumbs_label=ᱪᱤᱛᱟᱹᱨ ᱟᱦᱞᱟ ᱠᱚ +findbar.title=ᱫᱚᱞᱤᱞ ᱨᱮ ᱯᱟᱱᱛᱮ +findbar_label=ᱥᱮᱸᱫᱽᱨᱟᱭ ᱢᱮ + +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title={{page}} ᱥᱟᱦᱴᱟ +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}} ᱥᱟᱦᱴᱟ ᱨᱮᱭᱟᱜ ᱪᱤᱛᱟᱹᱨ ᱟᱦᱞᱟ + +# Find panel button title and messages +find_previous.title=ᱟᱭᱟᱛ ᱦᱤᱸᱥ ᱨᱮᱭᱟᱜ ᱯᱟᱹᱦᱤᱞ ᱥᱮᱫᱟᱜ ᱚᱰᱚᱠ ᱧᱟᱢ ᱢᱮ +find_next.title=ᱟᱭᱟᱛ ᱦᱤᱸᱥ ᱨᱮᱭᱟᱜ ᱤᱱᱟᱹ ᱛᱟᱭᱚᱢ ᱚᱰᱚᱠ ᱧᱟᱢ ᱢᱮ +find_highlight=ᱡᱷᱚᱛᱚ ᱩᱫᱩᱜ ᱨᱟᱠᱟᱵ +find_match_case_label=ᱡᱚᱲ ᱠᱟᱛᱷᱟ +find_reached_top=ᱫᱚᱞᱤᱞ ᱨᱮᱭᱟᱜ ᱪᱤᱴ ᱨᱮ ᱥᱮᱴᱮᱨ, ᱞᱟᱛᱟᱨ ᱠᱷᱚᱱ ᱞᱮᱛᱟᱲ +find_reached_bottom=ᱫᱚᱞᱤᱞ ᱨᱮᱭᱟᱜ ᱢᱩᱪᱟᱹᱫ ᱨᱮ ᱥᱮᱴᱮᱨ, ᱪᱚᱴ ᱠᱷᱚᱱ ᱞᱮᱛᱟᱲ +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_not_found=ᱛᱚᱯᱚᱞ ᱫᱚᱱᱚᱲ ᱵᱟᱝ ᱧᱟᱢ ᱞᱮᱱᱟ + +# Error panel labels +error_more_info=ᱵᱟᱹᱲᱛᱤ ᱞᱟᱹᱭ ᱥᱚᱫᱚᱨ +error_less_info=ᱠᱚᱢ ᱞᱟᱹᱭ ᱥᱚᱫᱚᱨ +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=ᱠᱷᱚᱵᱚᱨ : {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=ᱵᱟᱝ : {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=ᱨᱮᱫᱽ : {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=ᱜᱟᱨ : {{line}} +rendering_error=ᱥᱟᱦᱴᱟ ᱮᱢ ᱡᱚᱦᱚᱠ ᱢᱤᱫ ᱵᱷᱩᱞ ᱦᱩᱭ ᱮᱱᱟ ᱾ + +# Predefined zoom values +page_scale_width=ᱥᱟᱦᱴᱟ ᱚᱥᱟᱨ +page_scale_fit=ᱥᱟᱦᱴᱟ ᱠᱷᱟᱯ +page_scale_auto=ᱟᱡᱼᱟᱡ ᱛᱮ ᱦᱩᱰᱤᱧ ᱞᱟᱹᱴᱩ ᱛᱮᱭᱟᱨ +page_scale_actual=ᱴᱷᱤᱠ ᱢᱟᱨᱟᱝ ᱛᱮᱫ +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. + +# Loading indicator messages +loading_error=PDF ᱞᱟᱫᱮ ᱡᱚᱦᱚᱜ ᱢᱤᱫ ᱵᱷᱩᱞ ᱦᱩᱭ ᱮᱱᱟ ᱾ +invalid_file_error=ᱵᱟᱝ ᱵᱟᱛᱟᱣ ᱟᱨᱵᱟᱝᱠᱷᱟᱱ ᱰᱤᱜᱟᱹᱣ PDF ᱨᱮᱫᱽ ᱾ +missing_file_error=ᱟᱫᱟᱜ PDF ᱨᱮᱫᱽ ᱾ + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} ᱢᱚᱱᱛᱚ ᱮᱢ] +password_label=ᱱᱚᱶᱟ PDF ᱨᱮᱫᱽ ᱡᱷᱤᱡᱽ ᱞᱟᱹᱜᱤᱫ ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱟᱫᱮᱨ ᱢᱮ ᱾ +password_invalid=ᱵᱷᱩᱞ ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱾ ᱫᱟᱭᱟᱠᱟᱛᱮ ᱫᱩᱦᱲᱟᱹ ᱪᱮᱥᱴᱟᱭ ᱢᱮ ᱾ +password_ok=ᱴᱷᱤᱠ + +printing_not_supported=ᱦᱚᱥᱤᱭᱟᱨ : ᱪᱷᱟᱯᱟ ᱱᱚᱣᱟ ᱯᱟᱱᱛᱮᱭᱟᱜ ᱫᱟᱨᱟᱭ ᱛᱮ ᱯᱩᱨᱟᱹᱣ ᱵᱟᱭ ᱜᱚᱲᱚᱣᱟᱠᱟᱱᱟ ᱾ +printing_not_ready=ᱦᱩᱥᱤᱭᱟᱹᱨ : ᱪᱷᱟᱯᱟ ᱞᱟᱹᱜᱤᱫ PDF ᱯᱩᱨᱟᱹ ᱵᱟᱭ ᱞᱟᱫᱮ ᱟᱠᱟᱱᱟ ᱾ +web_fonts_disabled=ᱣᱮᱵᱽ ᱪᱤᱠᱤ ᱵᱟᱝ ᱦᱩᱭ ᱦᱚᱪᱚ ᱠᱟᱱᱟ : ᱵᱷᱤᱛᱤᱨ ᱛᱷᱟᱯᱚᱱ PDF ᱪᱤᱠᱤ ᱵᱮᱵᱷᱟᱨ ᱵᱟᱝ ᱦᱩᱭ ᱠᱮᱭᱟ ᱾ diff --git a/app/assets/javascripts/archive/locale/sc/viewer.properties b/app/assets/javascripts/archive/locale/sc/viewer.properties new file mode 100644 index 0000000..0070222 --- /dev/null +++ b/app/assets/javascripts/archive/locale/sc/viewer.properties @@ -0,0 +1,119 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous_label=S'ischeda chi b'est primu +next_label=Imbeniente + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pàgina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. + +zoom_out.title=Impitica +zoom_out_label=Impitica +zoom_in.title=Ismànnia +zoom_in_label=Ismànnia +zoom.title=Ismànnia +open_file.title=Aberi s'archìviu +open_file_label=Abertu +print.title=Imprenta +print_label=Imprenta +download.title=Iscàrriga +download_label=Iscàrriga + +# Secondary toolbar and context menu +tools.title=Istrumentos +tools_label=Istrumentos + + + + +# Document properties dialog box +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_subject=Ogetu: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_close=Serra + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_close=Cantzella + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +attachments_label=Alliongiados + +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. + +# Find panel button title and messages +find_previous_label=S'ischeda chi b'est primu +find_next_label=Imbeniente +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. + +# Error panel labels +error_close=Serra +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number + +# Predefined zoom values +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. + +# Loading indicator messages + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +password_invalid=Sa crae no est curreta. Torra·bi a proare. +password_ok=Andat bene +password_cancel=Cantzella + diff --git a/app/assets/javascripts/archive/locale/sco/viewer.properties b/app/assets/javascripts/archive/locale/sco/viewer.properties new file mode 100644 index 0000000..656f995 --- /dev/null +++ b/app/assets/javascripts/archive/locale/sco/viewer.properties @@ -0,0 +1,248 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Page Afore +previous_label=Previous +next.title=Page Efter +next_label=Neist + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Page +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=o {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} o {{pagesCount}}) + +zoom_out.title=Zoom Oot +zoom_out_label=Zoom Oot +zoom_in.title=Zoom In +zoom_in_label=Zoom In +zoom.title=Zoom +presentation_mode.title=Flit tae Presentation Mode +presentation_mode_label=Presentation Mode +open_file.title=Open File +open_file_label=Open +print.title=Prent +print_label=Prent +download.title=Doonload +download_label=Doonload +bookmark.title=View the noo (copy or open in new windae) +bookmark_label=View The Noo + +# Secondary toolbar and context menu +tools.title=Tools +tools_label=Tools +first_page.title=Gang tae First Page +first_page_label=Gang tae First Page +last_page.title=Gang tae Lest Page +last_page_label=Gang tae Lest Page +page_rotate_cw.title=Rotate Clockwise +page_rotate_cw_label=Rotate Clockwise +page_rotate_ccw.title=Rotate Coonterclockwise +page_rotate_ccw_label=Rotate Coonterclockwise + +cursor_text_select_tool.title=Enable Text Walin Tool +cursor_text_select_tool_label=Text Walin Tool +cursor_hand_tool.title=Enable Haun Tool +cursor_hand_tool_label=Haun Tool + +scroll_vertical.title=Yaise Vertical Scrollin +scroll_vertical_label=Vertical Scrollin +scroll_horizontal.title=Yaise Horizontal Scrollin +scroll_horizontal_label=Horizontal Scrollin +scroll_wrapped.title=Yaise Wrapped Scrollin +scroll_wrapped_label=Wrapped Scrollin + +spread_none.title=Dinnae jyn page spreids +spread_none_label=Nae Spreids +spread_odd.title=Jyn page spreids stertin wi odd-numbered pages +spread_odd_label=Odd Spreids +spread_even.title=Jyn page spreids stertin wi even-numbered pages +spread_even_label=Even Spreids + +# Document properties dialog box +document_properties.title=Document Properties… +document_properties_label=Document Properties… +document_properties_file_name=File nemme: +document_properties_file_size=File size: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Title: +document_properties_author=Author: +document_properties_subject=Subjeck: +document_properties_keywords=Keywirds: +document_properties_creation_date=Date o Makkin: +document_properties_modification_date=Date o Chynges: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Makker: +document_properties_producer=PDF Producer: +document_properties_version=PDF Version: +document_properties_page_count=Page Coont: +document_properties_page_size=Page Size: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portrait +document_properties_page_size_orientation_landscape=landscape +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Fast Wab View: +document_properties_linearized_yes=Aye +document_properties_linearized_no=Naw +document_properties_close=Sneck + +print_progress_message=Reddin document fur prentin… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Stap + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Toggle Sidebaur +toggle_sidebar_notification2.title=Toggle Sidebaur (document conteens ootline/attachments/layers) +toggle_sidebar_label=Toggle Sidebaur +document_outline.title=Kythe Document Ootline (double-click fur tae oot-fauld/in-fauld aw items) +document_outline_label=Document Ootline +attachments.title=Kythe Attachments +attachments_label=Attachments +layers.title=Kythe Layers (double-click fur tae reset aw layers tae the staunart state) +layers_label=Layers +thumbs.title=Kythe Thumbnails +thumbs_label=Thumbnails +current_outline_item.title=Find Current Ootline Item +current_outline_item_label=Current Ootline Item +findbar.title=Find in Document +findbar_label=Find + +additional_layers=Mair Layers +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Page {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Page {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Thumbnail o Page {{page}} + +# Find panel button title and messages +find_input.title=Find +find_input.placeholder=Find in document… +find_previous.title=Airt oot the last time this phrase occurred +find_previous_label=Previous +find_next.title=Airt oot the neist time this phrase occurs +find_next_label=Neist +find_highlight=Highlicht aw +find_match_case_label=Match case +find_entire_word_label=Hale Wirds +find_reached_top=Raxed tap o document, went on fae the dowp end +find_reached_bottom=Raxed end o document, went on fae the tap +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} o {{total}} match +find_match_count[two]={{current}} o {{total}} matches +find_match_count[few]={{current}} o {{total}} matches +find_match_count[many]={{current}} o {{total}} matches +find_match_count[other]={{current}} o {{total}} matches +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Mair nor {{limit}} matches +find_match_count_limit[one]=Mair nor {{limit}} match +find_match_count_limit[two]=Mair nor {{limit}} matches +find_match_count_limit[few]=Mair nor {{limit}} matches +find_match_count_limit[many]=Mair nor {{limit}} matches +find_match_count_limit[other]=Mair nor {{limit}} matches +find_not_found=Phrase no fund + +# Error panel labels +error_more_info=Mair Information +error_less_info=Less Information +error_close=Sneck +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Message: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=File: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Line: {{line}} +rendering_error=A mishanter tuik place while renderin the page. + +# Predefined zoom values +page_scale_width=Page Width +page_scale_fit=Page Fit +page_scale_auto=Automatic Zoom +page_scale_actual=Actual Size +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Loadin… +loading_error=An mishanter tuik place while loadin the PDF. +invalid_file_error=No suithfest or camshauchlet PDF file. +missing_file_error=PDF file tint. +unexpected_response_error=Unexpectit server repone. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotation] +password_label=Inpit the passwird fur tae open this PDF file. +password_invalid=Passwird no suithfest. Gonnae gie it anither shot. +password_ok=OK +password_cancel=Stap + +printing_not_supported=Tak tent: Prentin isnae richt supportit by this stravaiger. +printing_not_ready=Tak tent: The PDF isnae richt loadit fur prentin. +web_fonts_disabled=Wab fonts are disabled: cannae yaise embeddit PDF fonts. diff --git a/app/assets/javascripts/archive/locale/si/viewer.properties b/app/assets/javascripts/archive/locale/si/viewer.properties index 9a1d1e8..d4514c1 100644 --- a/app/assets/javascripts/archive/locale/si/viewer.properties +++ b/app/assets/javascripts/archive/locale/si/viewer.properties @@ -46,16 +46,12 @@ bookmark_label=දැනට ඇති දසුන tools.title=මෙවලම් tools_label=මෙවලම් first_page.title=මුල් පිටුවට යන්න -first_page.label=මුල් පිටුවට යන්න first_page_label=මුල් පිටුවට යන්න last_page.title=අවසන් පිටුවට යන්න -last_page.label=අවසන් පිටුවට යන්න last_page_label=අවසන් පිටුවට යන්න page_rotate_cw.title=දක්ශිණාවර්තව භ්‍රමණය -page_rotate_cw.label=දක්ශිණාවර්තව භ්‍රමණය page_rotate_cw_label=දක්ශිණාවර්තව භ්‍රමණය page_rotate_ccw.title=වාමාවර්තව භ්‍රමණය -page_rotate_ccw.label=වාමාවර්තව භ්‍රමණය page_rotate_ccw_label=වාමාවර්තව භ්‍රමණය cursor_hand_tool_label=අත් මෙවලම @@ -185,8 +181,6 @@ page_scale_actual=නියමිත ප්‍රමාණය # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=දෝෂය loading_error=PDF පූරණය විමේදි දෝෂයක් හට ගැනුණි. invalid_file_error=දූශිත හෝ සාවද්‍ය PDF ගොනුව. missing_file_error=නැතිවූ PDF ගොනුව. diff --git a/app/assets/javascripts/archive/locale/sk/viewer.properties b/app/assets/javascripts/archive/locale/sk/viewer.properties index a08911b..d412d4b 100644 --- a/app/assets/javascripts/archive/locale/sk/viewer.properties +++ b/app/assets/javascripts/archive/locale/sk/viewer.properties @@ -39,8 +39,8 @@ open_file.title=Otvoriť súbor open_file_label=Otvoriť print.title=Tlačiť print_label=Tlačiť -download.title=Prevziať -download_label=Prevziať +download.title=Stiahnuť +download_label=Stiahnuť bookmark.title=Aktuálne zobrazenie (kopírovať alebo otvoriť v novom okne) bookmark_label=Aktuálne zobrazenie @@ -48,16 +48,12 @@ bookmark_label=Aktuálne zobrazenie tools.title=Nástroje tools_label=Nástroje first_page.title=Prejsť na prvú stranu -first_page.label=Prejsť na prvú stranu first_page_label=Prejsť na prvú stranu last_page.title=Prejsť na poslednú stranu -last_page.label=Prejsť na poslednú stranu last_page_label=Prejsť na poslednú stranu page_rotate_cw.title=Otočiť v smere hodinových ručičiek -page_rotate_cw.label=Otočiť v smere hodinových ručičiek page_rotate_cw_label=Otočiť v smere hodinových ručičiek page_rotate_ccw.title=Otočiť proti smeru hodinových ručičiek -page_rotate_ccw.label=Otočiť proti smeru hodinových ručičiek page_rotate_ccw_label=Otočiť proti smeru hodinových ručičiek cursor_text_select_tool.title=Povoliť výber textu @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Výber textu cursor_hand_tool.title=Povoliť nástroj ruka cursor_hand_tool_label=Nástroj ruka +scroll_page.title=Použiť rolovanie po stránkach +scroll_page_label=Rolovanie po stránkach scroll_vertical.title=Používať zvislé posúvanie scroll_vertical_label=Zvislé posúvanie scroll_horizontal.title=Používať vodorovné posúvanie @@ -137,19 +135,24 @@ print_progress_close=Zrušiť # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Prepnúť bočný panel -toggle_sidebar_notification.title=Prepnúť bočný panel (dokument obsahuje osnovu/prílohy) +toggle_sidebar_notification2.title=Prepnúť bočný panel (dokument obsahuje osnovu/prílohy/vrstvy) toggle_sidebar_label=Prepnúť bočný panel document_outline.title=Zobraziť osnovu dokumentu (dvojitým kliknutím rozbalíte/zbalíte všetky položky) document_outline_label=Osnova dokumentu attachments.title=Zobraziť prílohy attachments_label=Prílohy +layers.title=Zobraziť vrstvy (dvojitým kliknutím uvediete všetky vrstvy do pôvodného stavu) +layers_label=Vrstvy thumbs.title=Zobraziť miniatúry thumbs_label=Miniatúry +current_outline_item.title=Nájsť aktuálnu položku v osnove +current_outline_item_label=Aktuálna položka v osnove findbar.title=Hľadať v dokumente findbar_label=Hľadať -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Strana {{page}} +additional_layers=Ďalšie vrstvy +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Strana {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -167,6 +170,7 @@ find_next.title=Vyhľadať ďalší výskyt reťazca find_next_label=Ďalšie find_highlight=Zvýrazniť všetky find_match_case_label=Rozlišovať veľkosť písmen +find_match_diacritics_label=Rozlišovať diakritiku find_entire_word_label=Celé slová find_reached_top=Bol dosiahnutý začiatok stránky, pokračuje sa od konca find_reached_bottom=Bol dosiahnutý koniec stránky, pokračuje sa od začiatku @@ -194,7 +198,7 @@ find_match_count_limit[other]=Viac než {{limit}} výsledkov find_not_found=Výraz nebol nájdený # Error panel labels -error_more_info=Viac informácií +error_more_info=Ďalšie informácie error_less_info=Menej informácií error_close=Zavrieť # LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be @@ -222,7 +226,7 @@ page_scale_actual=Skutočná veľkosť page_scale_percent={{scale}} % # Loading indicator messages -loading_error_indicator=Chyba +loading=Načítava sa… loading_error=Počas načítavania dokumentu PDF sa vyskytla chyba. invalid_file_error=Neplatný alebo poškodený súbor PDF. missing_file_error=Chýbajúci súbor PDF. @@ -245,4 +249,3 @@ password_cancel=Zrušiť printing_not_supported=Upozornenie: tlač nie je v tomto prehliadači plne podporovaná. printing_not_ready=Upozornenie: súbor PDF nie je plne načítaný pre tlač. web_fonts_disabled=Webové písma sú vypnuté: nie je možné použiť písma vložené do súboru PDF. -document_colors_not_allowed=Dokumenty PDF nemajú povolené používať vlastné farby, pretože voľba "Povoliť stránkam používať vlastné farby" je v nastaveniach prehliadača vypnutá. diff --git a/app/assets/javascripts/archive/locale/sl/viewer.properties b/app/assets/javascripts/archive/locale/sl/viewer.properties index 86db2d9..723f75d 100644 --- a/app/assets/javascripts/archive/locale/sl/viewer.properties +++ b/app/assets/javascripts/archive/locale/sl/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Trenutni pogled tools.title=Orodja tools_label=Orodja first_page.title=Pojdi na prvo stran -first_page.label=Pojdi na prvo stran first_page_label=Pojdi na prvo stran last_page.title=Pojdi na zadnjo stran -last_page.label=Pojdi na zadnjo stran last_page_label=Pojdi na zadnjo stran page_rotate_cw.title=Zavrti v smeri urnega kazalca -page_rotate_cw.label=Zavrti v smeri urnega kazalca page_rotate_cw_label=Zavrti v smeri urnega kazalca page_rotate_ccw.title=Zavrti v nasprotni smeri urnega kazalca -page_rotate_ccw.label=Zavrti v nasprotni smeri urnega kazalca page_rotate_ccw_label=Zavrti v nasprotni smeri urnega kazalca cursor_text_select_tool.title=Omogoči orodje za izbor besedila @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Orodje za izbor besedila cursor_hand_tool.title=Omogoči roko cursor_hand_tool_label=Roka +scroll_page.title=Uporabi drsenje po strani +scroll_page_label=Drsenje po strani scroll_vertical.title=Uporabi navpično drsenje scroll_vertical_label=Navpično drsenje scroll_horizontal.title=Uporabi vodoravno drsenje @@ -137,19 +135,24 @@ print_progress_close=Prekliči # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Preklopi stransko vrstico -toggle_sidebar_notification.title=Preklopi stransko vrstico (dokument vsebuje oris/priponke) +toggle_sidebar_notification2.title=Preklopi stransko vrstico (dokument vsebuje oris/priponke/plasti) toggle_sidebar_label=Preklopi stransko vrstico document_outline.title=Prikaži oris dokumenta (dvokliknite za razširitev/strnitev vseh predmetov) document_outline_label=Oris dokumenta attachments.title=Prikaži priponke attachments_label=Priponke +layers.title=Prikaži plasti (dvokliknite za ponastavitev vseh plasti na privzeto stanje) +layers_label=Plasti thumbs.title=Prikaži sličice thumbs_label=Sličice +current_outline_item.title=Najdi trenutni predmet orisa +current_outline_item_label=Trenutni predmet orisa findbar.title=Iskanje po dokumentu findbar_label=Najdi -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Stran {{page}} +additional_layers=Dodatne plasti +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Stran {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Dejanska velikost page_scale_percent={{scale}} % # Loading indicator messages -loading_error_indicator=Napaka +loading=Nalaganje … loading_error=Med nalaganjem datoteke PDF je prišlo do napake. invalid_file_error=Neveljavna ali pokvarjena datoteka PDF. missing_file_error=Ni datoteke PDF. @@ -245,4 +248,3 @@ password_cancel=Prekliči printing_not_supported=Opozorilo: ta brskalnik ne podpira vseh možnosti tiskanja. printing_not_ready=Opozorilo: PDF ni v celoti naložen za tiskanje. web_fonts_disabled=Spletne pisave so onemogočene: vgradnih pisav za PDF ni mogoče uporabiti. -document_colors_not_allowed=Dokumenti PDF ne smejo uporabljati svojih lastnih barv: možnost 'Dovoli stranem uporabo lastnih barv' je v brskalniku onemogočena. diff --git a/app/assets/javascripts/archive/locale/son/viewer.properties b/app/assets/javascripts/archive/locale/son/viewer.properties index f5c1b46..bd5e5ac 100644 --- a/app/assets/javascripts/archive/locale/son/viewer.properties +++ b/app/assets/javascripts/archive/locale/son/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Sohõ gunaroo tools.title=Goyjinawey tools_label=Goyjinawey first_page.title=Koy moo jinaa ga -first_page.label=Koy moo jinaa ga first_page_label=Koy moo jinaa ga last_page.title=Koy moo koraa ga -last_page.label=Koy moo koraa ga last_page_label=Koy moo koraa ga page_rotate_cw.title=Kuubi kanbe guma here -page_rotate_cw.label=Kuubi kanbe guma here page_rotate_cw_label=Kuubi kanbe guma here page_rotate_ccw.title=Kuubi kanbe wowa here -page_rotate_ccw.label=Kuubi kanbe wowa here page_rotate_ccw_label=Kuubi kanbe wowa here @@ -97,7 +93,6 @@ print_progress_close=Naŋ # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Kanjari ceraw zuu -toggle_sidebar_notification.title=Kanjari ceraw-zuu (takaddaa goo nda filla-boŋ/hangandiyaŋ) toggle_sidebar_label=Kanjari ceraw zuu document_outline.title=Takaddaa korfur alhaaloo cebe (naagu cee hinka ka haya-izey kul hayandi/kankamandi) document_outline_label=Takadda filla-boŋ @@ -157,8 +152,6 @@ page_scale_actual=Adadu cimi # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Firka loading_error=Firka bangay kaŋ PDF goo ma zumandi. invalid_file_error=PDF tuku laala wala laybante. missing_file_error=PDF tuku kumante. @@ -177,4 +170,3 @@ password_cancel=Naŋ printing_not_supported=Yaamar: Karyan ši tee ka timme nda ceecikaa woo. printing_not_ready=Yaamar: PDF ši zunbu ka timme karyan še. web_fonts_disabled=Interneti šigirawey kay: ši hin ka goy nda PDF šigira hurantey. -document_colors_not_allowed=PDF takaddawey ši duu fondo ka ngey boŋ noonawey zaa: “Naŋ moɲey ma ngey boŋ noonawey suuba” ši dira ceecikaa ga. diff --git a/app/assets/javascripts/archive/locale/sq/viewer.properties b/app/assets/javascripts/archive/locale/sq/viewer.properties index d786ae0..3ff4e4d 100644 --- a/app/assets/javascripts/archive/locale/sq/viewer.properties +++ b/app/assets/javascripts/archive/locale/sq/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Pamja e Tanishme tools.title=Mjete tools_label=Mjete first_page.title=Kaloni te Faqja e Parë -first_page.label=Kaloni te Faqja e Parë first_page_label=Kaloni te Faqja e Parë last_page.title=Kaloni te Faqja e Fundit -last_page.label=Kaloni te Faqja e Fundit last_page_label=Kaloni te Faqja e Fundit page_rotate_cw.title=Rrotullojeni Në Kahun Orar -page_rotate_cw.label=Rrotulloje Në Kahun Orar page_rotate_cw_label=Rrotulloje Në Kahun Orar page_rotate_ccw.title=Rrotullojeni Në Kahun Kundërorar -page_rotate_ccw.label=Rrotulloje Në Kahun Kundërorar page_rotate_ccw_label=Rrotulloje Në Kahun Kundërorar cursor_text_select_tool.title=Aktivizo Mjet Përzgjedhjeje Teksti @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Mjet Përzgjedhjeje Teksti cursor_hand_tool.title=Aktivizo Mjetin Dorë cursor_hand_tool_label=Mjeti Dorë +scroll_page.title=Përdor Rrëshqitje Në Faqe +scroll_page_label=Rrëshqitje Në Faqe scroll_vertical.title=Përdor Rrëshqitje Vertikale scroll_vertical_label=Rrëshqitje Vertikale scroll_horizontal.title=Përdor Rrëshqitje Horizontale @@ -116,6 +114,7 @@ document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) # LOCALIZATION NOTE (document_properties_linearized): The linearization status of # the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Parje e Shpjetë në Web: document_properties_linearized_yes=Po document_properties_linearized_no=Jo document_properties_close=Mbylleni @@ -130,17 +129,24 @@ print_progress_close=Anuloje # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Shfaqni/Fshihni Anështyllën -toggle_sidebar_notification.title=Shfaqni Anështyllën (dokumenti përmban përvijim/bashkëngjitje) +toggle_sidebar_notification2.title=Hap/Mbyll Anështylë (dokumenti përmban përvijim/nashkëngjitje/shtresa) toggle_sidebar_label=Shfaq/Fshih Anështyllën document_outline.title=Shfaqni Përvijim Dokumenti (dyklikoni që të shfaqen/fshihen krejt elementët) document_outline_label=Përvijim Dokumenti attachments.title=Shfaqni Bashkëngjitje attachments_label=Bashkëngjitje +layers.title=Shfaq Shtresa (dyklikoni që të rikthehen krejt shtresat në gjendjen e tyre parazgjedhje) +layers_label=Shtresa thumbs.title=Shfaqni Miniatura thumbs_label=Miniatura +current_outline_item.title=Gjej Objektin e Tanishëm të Përvijuar +current_outline_item_label=Objekt i Tanishëm i Përvijuar findbar.title=Gjeni në Dokument findbar_label=Gjej +additional_layers=Shtresa Shtesë +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Faqja {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -213,7 +219,7 @@ page_scale_actual=Madhësia Faktike page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Gabim +loading=Po ngarkohet… loading_error=Ndodhi një gabim gjatë ngarkimit të PDF-së. invalid_file_error=Kartelë PDF e pavlefshme ose e dëmtuar. missing_file_error=Kartelë PDF që mungon. @@ -236,4 +242,3 @@ password_cancel=Anuloje printing_not_supported=Kujdes: Shtypja s’mbulohet plotësisht nga ky shfletues. printing_not_ready=Kujdes: PDF-ja s’është ngarkuar plotësisht që ta shtypni. web_fonts_disabled=Shkronjat Web janë të çaktivizuara: s’arrihet të përdoren shkronja të trupëzuara në PDF. -document_colors_not_allowed=Dokumenteve PDF s’u lejohet të përdorin ngjyrat e tyre: 'Lejoji faqet t’i zgjedhin vetë ngjyrat' është e çaktivizuar te shfletuesi. diff --git a/app/assets/javascripts/archive/locale/sr/viewer.properties b/app/assets/javascripts/archive/locale/sr/viewer.properties index 72f4cd9..9f997f9 100644 --- a/app/assets/javascripts/archive/locale/sr/viewer.properties +++ b/app/assets/javascripts/archive/locale/sr/viewer.properties @@ -41,23 +41,19 @@ print.title=Штампај print_label=Штампај download.title=Преузми download_label=Преузми -bookmark.title=Тренутни приказ (копирај или отвори нови прозор) +bookmark.title=Тренутни приказ (копирај или отвори у новом прозору) bookmark_label=Тренутни приказ # Secondary toolbar and context menu tools.title=Алатке tools_label=Алатке first_page.title=Иди на прву страницу -first_page.label=Иди на прву страницу first_page_label=Иди на прву страницу last_page.title=Иди на последњу страницу -last_page.label=Иди на последњу страницу last_page_label=Иди на последњу страницу page_rotate_cw.title=Ротирај у смеру казаљке на сату -page_rotate_cw.label=Ротирај у смеру казаљке на сату page_rotate_cw_label=Ротирај у смеру казаљке на сату page_rotate_ccw.title=Ротирај у смеру супротном од казаљке на сату -page_rotate_ccw.label=Ротирај у смеру супротном од казаљке на сату page_rotate_ccw_label=Ротирај у смеру супротном од казаљке на сату cursor_text_select_tool.title=Омогући алат за селектовање текста @@ -137,17 +133,24 @@ print_progress_close=Откажи # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Прикажи додатну палету -toggle_sidebar_notification.title=Прикажи додатну траку (докуменат садржи оквире/прилоге) +toggle_sidebar_notification2.title=Прикажи/сакриј бочну траку (документ садржи контуру/прилоге/слојеве) toggle_sidebar_label=Прикажи додатну палету -document_outline.title=Прикажи контуру документа (дупли клик за проширење/скупљање елемената) +document_outline.title=Прикажи структуру документа (двоструким кликом проширујете/скупљате све ставке) document_outline_label=Контура документа attachments.title=Прикажи прилоге attachments_label=Прилози +layers.title=Прикажи слојеве (дупли клик за враћање свих слојева у подразумевано стање) +layers_label=Слојеви thumbs.title=Прикажи сличице thumbs_label=Сличице +current_outline_item.title=Пронађите тренутни елемент структуре +current_outline_item_label=Тренутна контура findbar.title=Пронађи у документу findbar_label=Пронађи +additional_layers=Додатни слојеви +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Страница {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -159,9 +162,9 @@ thumb_page_canvas=Сличица од странице {{page}} # Find panel button title and messages find_input.title=Пронађи find_input.placeholder=Пронађи у документу… -find_previous.title=Пронађи претходну појаву фразе +find_previous.title=Пронађи претходно појављивање фразе find_previous_label=Претходна -find_next.title=Пронађи следећу појаву фразе +find_next.title=Пронађи следеће појављивање фразе find_next_label=Следећа find_highlight=Истакнути све find_match_case_label=Подударања @@ -173,9 +176,22 @@ find_reached_bottom=Достигнуто дно документа, настав # "{{current}}" and "{{total}}" will be replaced by a number representing the # index of the currently active find result, respectively a number representing # the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} од {{total}} одговара +find_match_count[two]={{current}} од {{total}} одговара +find_match_count[few]={{current}} од {{total}} одговара +find_match_count[many]={{current}} од {{total}} одговара +find_match_count[other]={{current}} од {{total}} одговара # LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are # [zero|one|two|few|many|other], with [other] as the default value. # "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Више од {{limit}} одговара +find_match_count_limit[one]=Више од {{limit}} одговара +find_match_count_limit[two]=Више од {{limit}} одговара +find_match_count_limit[few]=Више од {{limit}} одговара +find_match_count_limit[many]=Више од {{limit}} одговара +find_match_count_limit[other]=Више од {{limit}} одговара find_not_found=Фраза није пронађена # Error panel labels @@ -207,14 +223,15 @@ page_scale_actual=Стварна величина page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Грешка +loading=Учитавање… loading_error=Дошло је до грешке приликом учитавања PDF-а. -invalid_file_error=PDF датотека је оштећена или је неисправна. -missing_file_error=PDF датотека није пронађена. +invalid_file_error=PDF датотека је неважећа или је оштећена. +missing_file_error=Недостаје PDF датотека. unexpected_response_error=Неочекиван одговор од сервера. # LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be # replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. # "{{type}}" will be replaced with an annotation type from a list defined in @@ -229,4 +246,5 @@ password_cancel=Откажи printing_not_supported=Упозорење: Штампање није у потпуности подржано у овом прегледачу. printing_not_ready=Упозорење: PDF није у потпуности учитан за штампу. web_fonts_disabled=Веб фонтови су онемогућени: не могу користити уграђене PDF фонтове. -document_colors_not_allowed=PDF документи не могу да користе сопствене боје: “Дозволи страницама да изаберу своје боје” је деактивирано у прегледачу. +# LOCALIZATION NOTE (unsupported_feature_signatures): Should contain the same +# exact string as in the `chrome.properties` file. diff --git a/app/assets/javascripts/archive/locale/sv-SE/viewer.properties b/app/assets/javascripts/archive/locale/sv-SE/viewer.properties index 3d2f0cf..dc4f480 100644 --- a/app/assets/javascripts/archive/locale/sv-SE/viewer.properties +++ b/app/assets/javascripts/archive/locale/sv-SE/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Aktuell vy tools.title=Verktyg tools_label=Verktyg first_page.title=Gå till första sidan -first_page.label=Gå till första sidan first_page_label=Gå till första sidan last_page.title=Gå till sista sidan -last_page.label=Gå till sista sidan last_page_label=Gå till sista sidan page_rotate_cw.title=Rotera medurs -page_rotate_cw.label=Rotera medurs page_rotate_cw_label=Rotera medurs page_rotate_ccw.title=Rotera moturs -page_rotate_ccw.label=Rotera moturs page_rotate_ccw_label=Rotera moturs cursor_text_select_tool.title=Aktivera textmarkeringsverktyg @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Textmarkeringsverktyg cursor_hand_tool.title=Aktivera handverktyg cursor_hand_tool_label=Handverktyg +scroll_page.title=Använd sidrullning +scroll_page_label=Sidrullning scroll_vertical.title=Använd vertikal rullning scroll_vertical_label=Vertikal rullning scroll_horizontal.title=Använd horisontell rullning @@ -137,19 +135,24 @@ print_progress_close=Avbryt # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Visa/dölj sidofält -toggle_sidebar_notification.title=Visa/dölj sidofält (dokument innehåller översikt/bilagor) +toggle_sidebar_notification2.title=Växla sidofält (dokumentet innehåller dokumentstruktur/bilagor/lager) toggle_sidebar_label=Visa/dölj sidofält document_outline.title=Visa dokumentdisposition (dubbelklicka för att expandera/komprimera alla objekt) document_outline_label=Dokumentöversikt attachments.title=Visa Bilagor attachments_label=Bilagor +layers.title=Visa lager (dubbelklicka för att återställa alla lager till standardläge) +layers_label=Lager thumbs.title=Visa miniatyrer thumbs_label=Miniatyrer +current_outline_item.title=Hitta aktuellt dispositionsobjekt +current_outline_item_label=Aktuellt dispositionsobjekt findbar.title=Sök i dokument findbar_label=Sök -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Sida {{page}} +additional_layers=Ytterligare lager +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Sida {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -167,6 +170,7 @@ find_next.title=Hitta nästa förekomst av frasen find_next_label=Nästa find_highlight=Markera alla find_match_case_label=Matcha versal/gemen +find_match_diacritics_label=Matcha diakritiska tecken find_entire_word_label=Hela ord find_reached_top=Nådde början av dokumentet, började från slutet find_reached_bottom=Nådde slutet på dokumentet, började från början @@ -222,7 +226,7 @@ page_scale_actual=Verklig storlek page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Fel +loading=Laddar… loading_error=Ett fel uppstod vid laddning av PDF-filen. invalid_file_error=Ogiltig eller korrupt PDF-fil. missing_file_error=Saknad PDF-fil. @@ -245,4 +249,3 @@ password_cancel=Avbryt printing_not_supported=Varning: Utskrifter stöds inte helt av den här webbläsaren. printing_not_ready=Varning: PDF:en är inte klar för utskrift. web_fonts_disabled=Webbtypsnitt är inaktiverade: kan inte använda inbäddade PDF-typsnitt. -document_colors_not_allowed=PDF-dokument tillåts inte använda egna färger: “Låt sidor använda egna färger” är inaktiverat i webbläsaren. diff --git a/app/assets/javascripts/archive/locale/szl/viewer.properties b/app/assets/javascripts/archive/locale/szl/viewer.properties new file mode 100644 index 0000000..1af405d --- /dev/null +++ b/app/assets/javascripts/archive/locale/szl/viewer.properties @@ -0,0 +1,244 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Piyrwyjszo strōna +previous_label=Piyrwyjszo +next.title=Nastympno strōna +next_label=Dalij + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Strōna +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=ze {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} ze {{pagesCount}}) + +zoom_out.title=Zmyńsz +zoom_out_label=Zmyńsz +zoom_in.title=Zwiynksz +zoom_in_label=Zwiynksz +zoom.title=Srogość +presentation_mode.title=Przełōncz na tryb prezyntacyje +presentation_mode_label=Tryb prezyntacyje +open_file.title=Ôdewrzij zbiōr +open_file_label=Ôdewrzij +print.title=Durkuj +print_label=Durkuj +download.title=Pobier +download_label=Pobier +bookmark.title=Aktualny widok (kopiuj abo ôdewrzij w nowym ôknie) +bookmark_label=Aktualny widok + +# Secondary toolbar and context menu +tools.title=Noczynia +tools_label=Noczynia +first_page.title=Idź ku piyrszyj strōnie +first_page_label=Idź ku piyrszyj strōnie +last_page.title=Idź ku ôstatnij strōnie +last_page_label=Idź ku ôstatnij strōnie +page_rotate_cw.title=Zwyrtnij w prawo +page_rotate_cw_label=Zwyrtnij w prawo +page_rotate_ccw.title=Zwyrtnij w lewo +page_rotate_ccw_label=Zwyrtnij w lewo + +cursor_text_select_tool.title=Załōncz noczynie ôbiyranio tekstu +cursor_text_select_tool_label=Noczynie ôbiyranio tekstu +cursor_hand_tool.title=Załōncz noczynie rōnczka +cursor_hand_tool_label=Noczynie rōnczka + +scroll_vertical.title=Używej piōnowego przewijanio +scroll_vertical_label=Piōnowe przewijanie +scroll_horizontal.title=Używej poziōmego przewijanio +scroll_horizontal_label=Poziōme przewijanie +scroll_wrapped.title=Używej szichtowego przewijanio +scroll_wrapped_label=Szichtowe przewijanie + +spread_none.title=Niy dowej strōn w widoku po dwie +spread_none_label=Po jednyj strōnie +spread_odd.title=Dej strōny po dwie: niyparzysto i parzysto +spread_odd_label=Niyparzysto i parzysto +spread_even.title=Dej strōny po dwie: parzysto i niyparzysto +spread_even_label=Parzysto i niyparzysto + +# Document properties dialog box +document_properties.title=Włosności dokumyntu… +document_properties_label=Włosności dokumyntu… +document_properties_file_name=Miano zbioru: +document_properties_file_size=Srogość zbioru: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} B) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} B) +document_properties_title=Tytuł: +document_properties_author=Autōr: +document_properties_subject=Tymat: +document_properties_keywords=Kluczowe słowa: +document_properties_creation_date=Data zrychtowanio: +document_properties_modification_date=Data zmiany: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Zrychtowane ôd: +document_properties_producer=PDF ôd: +document_properties_version=Wersyjo PDF: +document_properties_page_count=Wielość strōn: +document_properties_page_size=Srogość strōny: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=piōnowo +document_properties_page_size_orientation_landscape=poziōmo +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Gibki necowy podglōnd: +document_properties_linearized_yes=Ja +document_properties_linearized_no=Niy +document_properties_close=Zawrzij + +print_progress_message=Rychtowanie dokumyntu do durku… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Pociep + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Przełōncz posek na rancie +toggle_sidebar_notification2.title=Przełōncz posek na rancie (dokumynt mo struktura/przidowki/warstwy) +toggle_sidebar_label=Przełōncz posek na rancie +document_outline.title=Pokoż struktura dokumyntu (tuplowane klikniyncie rozszyrzo/swijo wszyskie elymynta) +document_outline_label=Struktura dokumyntu +attachments.title=Pokoż przidowki +attachments_label=Przidowki +layers.title=Pokoż warstwy (tuplowane klikniyncie resetuje wszyskie warstwy do bazowego stanu) +layers_label=Warstwy +thumbs.title=Pokoż miniatury +thumbs_label=Miniatury +findbar.title=Znojdź w dokumyncie +findbar_label=Znojdź + +additional_layers=Nadbytnie warstwy +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Strōna {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura strōny {{page}} + +# Find panel button title and messages +find_input.title=Znojdź +find_input.placeholder=Znojdź w dokumyncie… +find_previous.title=Znojdź piyrwyjsze pokozanie sie tyj frazy +find_previous_label=Piyrwyjszo +find_next.title=Znojdź nastympne pokozanie sie tyj frazy +find_next_label=Dalij +find_highlight=Zaznacz wszysko +find_match_case_label=Poznowej srogość liter +find_entire_word_label=Cołke słowa +find_reached_top=Doszło do samego wiyrchu strōny, dalij ôd spodku +find_reached_bottom=Doszło do samego spodku strōny, dalij ôd wiyrchu +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} ze {{total}}, co pasujōm +find_match_count[two]={{current}} ze {{total}}, co pasujōm +find_match_count[few]={{current}} ze {{total}}, co pasujōm +find_match_count[many]={{current}} ze {{total}}, co pasujōm +find_match_count[other]={{current}} ze {{total}}, co pasujōm +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(total) ]} +find_match_count_limit[zero]=Wiyncyj jak {{limit}}, co pasujōm +find_match_count_limit[one]=Wiyncyj jak {{limit}}, co pasuje +find_match_count_limit[two]=Wiyncyj jak {{limit}}, co pasujōm +find_match_count_limit[few]=Wiyncyj jak {{limit}}, co pasujōm +find_match_count_limit[many]=Wiyncyj jak {{limit}}, co pasujōm +find_match_count_limit[other]=Wiyncyj jak {{limit}}, co pasujōm +find_not_found=Fraza niy znaleziōno + +# Error panel labels +error_more_info=Wiyncyj informacyji +error_less_info=Mynij informacyji +error_close=Zawrzij +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Wiadōmość: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Sztapel: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Zbiōr: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linijo: {{line}} +rendering_error=Przi renderowaniu strōny pokozoł sie feler. + +# Predefined zoom values +page_scale_width=Szyrzka strōny +page_scale_fit=Napasowanie strōny +page_scale_auto=Autōmatyczno srogość +page_scale_actual=Aktualno srogość +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading_error=Przi ladowaniu PDFa pokozoł sie feler. +invalid_file_error=Zły abo felerny zbiōr PDF. +missing_file_error=Chybio zbioru PDF. +unexpected_response_error=Niyôczekowano ôdpowiydź serwera. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotacyjo typu {{type}}] +password_label=Wkludź hasło, coby ôdewrzić tyn zbiōr PDF. +password_invalid=Hasło je złe. Sprōbuj jeszcze roz. +password_ok=OK +password_cancel=Pociep + +printing_not_supported=Pozōr: Ta przeglōndarka niy cołkiym ôbsuguje durk. +printing_not_ready=Pozōr: Tyn PDF niy ma za tela zaladowany do durku. +web_fonts_disabled=Necowe fōnty sōm zastawiōne: niy idzie użyć wkludzōnych fōntōw PDF. diff --git a/app/assets/javascripts/archive/locale/ta/viewer.properties b/app/assets/javascripts/archive/locale/ta/viewer.properties index 19a8de4..d07a337 100644 --- a/app/assets/javascripts/archive/locale/ta/viewer.properties +++ b/app/assets/javascripts/archive/locale/ta/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=தற்போதைய காட்சி tools.title=கருவிகள் tools_label=கருவிகள் first_page.title=முதல் பக்கத்திற்கு செல்லவும் -first_page.label=முதல் பக்கத்திற்கு செல்லவும் first_page_label=முதல் பக்கத்திற்கு செல்லவும் last_page.title=கடைசி பக்கத்திற்கு செல்லவும் -last_page.label=கடைசி பக்கத்திற்கு செல்லவும் last_page_label=கடைசி பக்கத்திற்கு செல்லவும் page_rotate_cw.title=வலஞ்சுழியாக சுழற்று -page_rotate_cw.label=வலஞ்சுழியாக சுழற்று page_rotate_cw_label=வலஞ்சுழியாக சுழற்று page_rotate_ccw.title=இடஞ்சுழியாக சுழற்று -page_rotate_ccw.label=இடஞ்சுழியாக சுழற்று page_rotate_ccw_label=இடஞ்சுழியாக சுழற்று cursor_text_select_tool.title=உரைத் தெரிவு கருவியைச் செயல்படுத்து @@ -118,7 +114,6 @@ print_progress_close=ரத்து # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=பக்கப் பட்டியை நிலைமாற்று -toggle_sidebar_notification.title=பக்கப்பட்டையை நிலைமாற்று (வெளிக்கோடு/இணைப்புகளை ஆவணம் கொண்டுள்ளது) toggle_sidebar_label=பக்கப் பட்டியை நிலைமாற்று document_outline.title=ஆவண அடக்கத்தைக் காட்டு (இருமுறைச் சொடுக்கி அனைத்து உறுப்பிடிகளையும் விரி/சேர்) document_outline_label=ஆவண வெளிவரை @@ -178,8 +173,6 @@ page_scale_actual=உண்மையான அளவு # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=பிழை loading_error=PDF ஐ ஏற்றும் போது ஒரு பிழை ஏற்பட்டது. invalid_file_error=செல்லுபடியாகாத அல்லது சிதைந்த PDF கோப்பு. missing_file_error=PDF கோப்பு காணவில்லை. @@ -198,4 +191,3 @@ password_cancel=ரத்து printing_not_supported=எச்சரிக்கை: இந்த உலாவி அச்சிடுதலை முழுமையாக ஆதரிக்கவில்லை. printing_not_ready=எச்சரிக்கை: PDF அச்சிட முழுவதுமாக ஏற்றப்படவில்லை. web_fonts_disabled=வலை எழுத்துருக்கள் முடக்கப்பட்டுள்ளன: உட்பொதிக்கப்பட்ட PDF எழுத்துருக்களைப் பயன்படுத்த முடியவில்லை. -document_colors_not_allowed=PDF ஆவணங்களுக்குச் சொந்த நிறங்களைப் பயன்படுத்த அனுமதியில்லை: உலாவியில் "பக்கங்கள் தங்கள் சொந்த நிறங்களைத் தேர்வு செய்துகொள்ள அனுமதி" என்னும் விருப்பம் முடக்கப்பட்டுள்ளது. diff --git a/app/assets/javascripts/archive/locale/te/viewer.properties b/app/assets/javascripts/archive/locale/te/viewer.properties index 56f954d..6cd691a 100644 --- a/app/assets/javascripts/archive/locale/te/viewer.properties +++ b/app/assets/javascripts/archive/locale/te/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=ప్రస్తుత దర్శనం tools.title=పనిముట్లు tools_label=పనిముట్లు first_page.title=మొదటి పేజీకి వెళ్ళు -first_page.label=మొదటి పేజీకి వెళ్ళు first_page_label=మొదటి పేజీకి వెళ్ళు last_page.title=చివరి పేజీకి వెళ్ళు -last_page.label=చివరి పేజీకి వెళ్ళు last_page_label=చివరి పేజీకి వెళ్ళు page_rotate_cw.title=సవ్యదిశలో తిప్పు -page_rotate_cw.label=సవ్యదిశలో తిప్పు page_rotate_cw_label=సవ్యదిశలో తిప్పు page_rotate_ccw.title=అపసవ్యదిశలో తిప్పు -page_rotate_ccw.label=అపసవ్యదిశలో తిప్పు page_rotate_ccw_label=అపసవ్యదిశలో తిప్పు cursor_text_select_tool.title=టెక్స్ట్ ఎంపిక సాధనాన్ని ప్రారంభించండి @@ -130,11 +126,13 @@ document_outline.title=పత్రము రూపము చూపించు document_outline_label=పత్రము అవుట్‌లైన్ attachments.title=అనుబంధాలు చూపు attachments_label=అనుబంధాలు +layers_label=పొరలు thumbs.title=థంబ్‌నైల్స్ చూపు thumbs_label=థంబ్‌నైల్స్ findbar.title=పత్రములో కనుగొనుము findbar_label=కనుగొను +additional_layers=అదనపు పొరలు # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -195,8 +193,6 @@ page_scale_actual=యథార్ధ పరిమాణం # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=దోషం loading_error=PDF లోడవుచున్నప్పుడు ఒక దోషం ఎదురైంది. invalid_file_error=చెల్లని లేదా పాడైన PDF ఫైలు. missing_file_error=దొరకని PDF ఫైలు. @@ -219,4 +215,3 @@ password_cancel=రద్దుచేయి printing_not_supported=హెచ్చరిక: ఈ విహారిణి చేత ముద్రణ పూర్తిగా తోడ్పాటు లేదు. printing_not_ready=హెచ్చరిక: ముద్రణ కొరకు ఈ PDF పూర్తిగా లోడవలేదు. web_fonts_disabled=వెబ్ ఫాంట్లు అచేతనించబడెను: ఎంబెడెడ్ PDF ఫాంట్లు ఉపయోగించలేక పోయింది. -document_colors_not_allowed=PDF పత్రాలు వాటి స్వంత రంగులను ఉపయోగించుకొనుటకు అనుమతించబడవు: విహరణి నందు “పేజీలను వాటి స్వంత రంగులను ఎంచుకొనుటకు అనుమతించు” అచేతనం చేయబడివుంది. diff --git a/app/assets/javascripts/archive/locale/tg/viewer.properties b/app/assets/javascripts/archive/locale/tg/viewer.properties new file mode 100644 index 0000000..24ab96e --- /dev/null +++ b/app/assets/javascripts/archive/locale/tg/viewer.properties @@ -0,0 +1,139 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Саҳифаи қаблӣ + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. + +zoom_out.title=Хурд кардан +zoom_out_label=Хурд кардан +zoom_in.title=Калон кардан +zoom_in_label=Калон кардан +zoom.title=Танзими андоза +open_file.title=Кушодани файл +open_file_label=Кушодан +print.title=Чоп кардан +print_label=Чоп кардан +download.title=Боргирӣ кардан +download_label=Боргирӣ кардан +bookmark.title=Намуди ҷорӣ (нусха бардоштан ё кушодан дар равзанаи нав) +bookmark_label=Намуди ҷорӣ + +# Secondary toolbar and context menu +tools.title=Абзорҳо + + + + +# Document properties dialog box +document_properties_file_name=Номи файл: +document_properties_file_size=Андозаи файл: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} КБ ({{size_b}} байт) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} МБ ({{size_b}} байт) +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Мактуб +document_properties_page_size_name_legal=Ҳуқуқӣ +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized_yes=Ҳа +document_properties_close=Пӯшидан + +print_progress_message=Омодасозии ҳуҷҷат барои чоп… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Бекор кардан + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Фаъол кардани навори ҷонибӣ + +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. + +# Find panel button title and messages +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit[zero]=Зиёда аз {{limit}} мувофиқат +find_match_count_limit[one]=Зиёда аз {{limit}} мувофиқат +find_match_count_limit[two]=Зиёда аз {{limit}} мувофиқат +find_match_count_limit[few]=Зиёда аз {{limit}} мувофиқат +find_match_count_limit[many]=Зиёда аз {{limit}} мувофиқат +find_match_count_limit[other]=Зиёда аз {{limit}} мувофиқат + +# Error panel labels +error_more_info=Маълумоти бештар +error_close=Пӯшидан +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Файл: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number + +# Predefined zoom values +page_scale_width=Аз рӯи паҳнои саҳифа +page_scale_auto=Андозаи худкор +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. + +# Loading indicator messages +invalid_file_error=Файли PDF нодуруст ё вайроншуда мебошад. +missing_file_error=Файли PDF ғоиб аст. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +password_label=Барои кушодани ин файли PDF ниҳонвожаро ворид кунед. +password_cancel=Бекор кардан + diff --git a/app/assets/javascripts/archive/locale/th/viewer.properties b/app/assets/javascripts/archive/locale/th/viewer.properties index b66865f..c48a711 100644 --- a/app/assets/javascripts/archive/locale/th/viewer.properties +++ b/app/assets/javascripts/archive/locale/th/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=มุมมองปัจจุบัน tools.title=เครื่องมือ tools_label=เครื่องมือ first_page.title=ไปยังหน้าแรก -first_page.label=ไปยังหน้าแรก first_page_label=ไปยังหน้าแรก last_page.title=ไปยังหน้าสุดท้าย -last_page.label=ไปยังหน้าสุดท้าย last_page_label=ไปยังหน้าสุดท้าย page_rotate_cw.title=หมุนตามเข็มนาฬิกา -page_rotate_cw.label=หมุนตามเข็มนาฬิกา page_rotate_cw_label=หมุนตามเข็มนาฬิกา page_rotate_ccw.title=หมุนทวนเข็มนาฬิกา -page_rotate_ccw.label=หมุนทวนเข็มนาฬิกา page_rotate_ccw_label=หมุนทวนเข็มนาฬิกา cursor_text_select_tool.title=เปิดใช้งานเครื่องมือการเลือกข้อความ @@ -65,6 +61,8 @@ cursor_text_select_tool_label=เครื่องมือการเลื cursor_hand_tool.title=เปิดใช้งานเครื่องมือมือ cursor_hand_tool_label=เครื่องมือมือ +scroll_page.title=ใช้การเลื่อนหน้า +scroll_page_label=การเลื่อนหน้า scroll_vertical.title=ใช้การเลื่อนแนวตั้ง scroll_vertical_label=การเลื่อนแนวตั้ง scroll_horizontal.title=ใช้การเลื่อนแนวนอน @@ -137,19 +135,24 @@ print_progress_close=ยกเลิก # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=เปิด/ปิดแถบข้าง -toggle_sidebar_notification.title=เปิด/ปิดแถบข้าง (เอกสารมีเค้าร่าง/ไฟล์แนบ) +toggle_sidebar_notification2.title=เปิด/ปิดแถบข้าง (เอกสารมีเค้าร่าง/ไฟล์แนบ/เลเยอร์) toggle_sidebar_label=เปิด/ปิดแถบข้าง document_outline.title=แสดงเค้าร่างเอกสาร (คลิกสองครั้งเพื่อขยาย/ยุบรายการทั้งหมด) document_outline_label=เค้าร่างเอกสาร attachments.title=แสดงไฟล์แนบ attachments_label=ไฟล์แนบ +layers.title=แสดงเลเยอร์ (คลิกสองครั้งเพื่อรีเซ็ตเลเยอร์ทั้งหมดเป็นสถานะเริ่มต้น) +layers_label=เลเยอร์ thumbs.title=แสดงภาพขนาดย่อ thumbs_label=ภาพขนาดย่อ +current_outline_item.title=ค้นหารายการเค้าร่างปัจจุบัน +current_outline_item_label=รายการเค้าร่างปัจจุบัน findbar.title=ค้นหาในเอกสาร findbar_label=ค้นหา -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=หน้า {{page}} +additional_layers=เลเยอร์เพิ่มเติม +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=หน้า {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=ขนาดจริง page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=ข้อผิดพลาด +loading=กำลังโหลด… loading_error=เกิดข้อผิดพลาดขณะโหลด PDF invalid_file_error=ไฟล์ PDF ไม่ถูกต้องหรือเสียหาย missing_file_error=ไฟล์ PDF หายไป @@ -245,4 +248,3 @@ password_cancel=ยกเลิก printing_not_supported=คำเตือน: เบราว์เซอร์นี้ไม่ได้สนับสนุนการพิมพ์อย่างเต็มที่ printing_not_ready=คำเตือน: PDF ไม่ได้รับการโหลดอย่างเต็มที่สำหรับการพิมพ์ web_fonts_disabled=แบบอักษรเว็บถูกปิดใช้งาน: ไม่สามารถใช้แบบอักษร PDF ฝังตัว -document_colors_not_allowed=เอกสาร PDF ไม่ได้รับอนุญาตให้ใช้สีของตัวเอง: "อนุญาตให้หน้าเอกสารสามารถเลือกสีของตัวเอง" ถูกปิดใช้งานในเบราว์เซอร์ diff --git a/app/assets/javascripts/archive/locale/tl/viewer.properties b/app/assets/javascripts/archive/locale/tl/viewer.properties index 32b3483..1e988e7 100644 --- a/app/assets/javascripts/archive/locale/tl/viewer.properties +++ b/app/assets/javascripts/archive/locale/tl/viewer.properties @@ -33,14 +33,14 @@ zoom_out_label=Paliitin zoom_in.title=Palakihin zoom_in_label=Palakihin zoom.title=Mag-zoom -presentation_mode.title=Switch to Presentation Mode +presentation_mode.title=Lumipat sa Presentation Mode presentation_mode_label=Presentation Mode open_file.title=Magbukas ng file open_file_label=Buksan print.title=i-Print print_label=i-Print -download.title=Download -download_label=Download +download.title=i-Download +download_label=i-Download bookmark.title=Kasalukuyang tingin (kopyahin o buksan sa bagong window) bookmark_label=Kasalukuyang tingin @@ -48,40 +48,36 @@ bookmark_label=Kasalukuyang tingin tools.title=Mga Kagamitan tools_label=Mga Kagamitan first_page.title=Pumunta sa Unang Pahina -first_page.label=Pumunta sa Unang Pahina first_page_label=Pumunta sa Unang Pahina last_page.title=Pumunta sa Huling Pahina -last_page.label=Pumunta sa Huling Pahina last_page_label=Pumunta sa Huling Pahina -page_rotate_cw.title=Paikutin ang Clockwise -page_rotate_cw.label=Paikutin ang Clockwise -page_rotate_cw_label=Paikutin ang Clockwise -page_rotate_ccw.title=Paikutin ang Counterclockwise -page_rotate_ccw.label=Paikutin ang Counterclockwise -page_rotate_ccw_label=Paikutin ang Counterclockwise +page_rotate_cw.title=Paikutin Pakanan +page_rotate_cw_label=Paikutin Pakanan +page_rotate_ccw.title=Paikutin Pakaliwa +page_rotate_ccw_label=Paikutin Pakaliwa -cursor_text_select_tool.title=Enable Text Selection Tool +cursor_text_select_tool.title=I-enable ang Text Selection Tool cursor_text_select_tool_label=Text Selection Tool -cursor_hand_tool.title=Enable Hand Tool +cursor_hand_tool.title=I-enable ang Hand Tool cursor_hand_tool_label=Hand Tool -scroll_vertical.title=Use Vertical Scrolling +scroll_vertical.title=Gumamit ng Vertical Scrolling scroll_vertical_label=Vertical Scrolling -scroll_horizontal.title=Use Horizontal Scrolling +scroll_horizontal.title=Gumamit ng Horizontal Scrolling scroll_horizontal_label=Horizontal Scrolling -scroll_wrapped.title=Use Wrapped Scrolling +scroll_wrapped.title=Gumamit ng Wrapped Scrolling scroll_wrapped_label=Wrapped Scrolling -spread_none.title=Do not join page spreads +spread_none.title=Huwag pagsamahin ang mga page spread spread_none_label=No Spreads spread_odd.title=Join page spreads starting with odd-numbered pages -spread_odd_label=Odd Spreads -spread_even.title=Join page spreads starting with even-numbered pages -spread_even_label=Even Spreads +spread_odd_label=Mga Odd Spread +spread_even.title=Pagsamahin ang mga page spread na nagsisimula sa mga even-numbered na pahina +spread_even_label=Mga Even Spread # Document properties dialog box -document_properties.title=Document Properties… -document_properties_label=Document Properties… +document_properties.title=Mga Katangian ng Dokumento… +document_properties_label=Mga Katangian ng Dokumento… document_properties_file_name=File name: document_properties_file_size=File size: # LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" @@ -91,23 +87,23 @@ document_properties_kb={{size_kb}} KB ({{size_b}} bytes) # will be replaced by the PDF file size in megabytes, respectively in bytes. document_properties_mb={{size_mb}} MB ({{size_b}} bytes) document_properties_title=Pamagat: -document_properties_author=May Akda: -document_properties_subject=Subject: +document_properties_author=May-akda: +document_properties_subject=Paksa: document_properties_keywords=Mga keyword: -document_properties_creation_date=Creation Date: -document_properties_modification_date=Modification Date: +document_properties_creation_date=Petsa ng Pagkakagawa: +document_properties_modification_date=Petsa ng Pagkakabago: # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" # will be replaced by the creation/modification date, and time, of the PDF file. document_properties_date_string={{date}}, {{time}} -document_properties_creator=Creator: +document_properties_creator=Tagalikha: document_properties_producer=PDF Producer: document_properties_version=PDF Version: -document_properties_page_count=Page Count: -document_properties_page_size=Page Size: -document_properties_page_size_unit_inches=in +document_properties_page_count=Bilang ng Pahina: +document_properties_page_size=Laki ng Pahina: +document_properties_page_size_unit_inches=pulgada document_properties_page_size_unit_millimeters=mm -document_properties_page_size_orientation_portrait=portrait -document_properties_page_size_orientation_landscape=landscape +document_properties_page_size_orientation_portrait=patayo +document_properties_page_size_orientation_landscape=pahiga document_properties_page_size_name_a3=A3 document_properties_page_size_name_a4=A4 document_properties_page_size_name_letter=Letter @@ -127,7 +123,7 @@ document_properties_linearized_yes=Oo document_properties_linearized_no=Hindi document_properties_close=Isara -print_progress_message=Preparing document for printing… +print_progress_message=Inihahanda ang dokumento para sa pag-print… # LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by # a numerical per cent value. print_progress_percent={{progress}}% @@ -136,20 +132,21 @@ print_progress_close=Kanselahin # Tooltips and alt text for side panel toolbar buttons # (the _label strings are alt text for the buttons, the .title strings are # tooltips) -toggle_sidebar.title=Toggle Sidebar -toggle_sidebar_notification.title=Toggle Sidebar (document contains outline/attachments) -toggle_sidebar_label=Toggle Sidebar -document_outline.title=Show Document Outline (double-click to expand/collapse all items) -document_outline_label=Document Outline -attachments.title=Show Attachments -attachments_label=Attachments -thumbs.title=Ipakita ang mga Thumbnails -thumbs_label=Thumbnails -findbar.title=Find in Document +toggle_sidebar.title=Ipakita/Itago ang Sidebar +toggle_sidebar_notification2.title=Ipakita/Itago ang Sidebar (nagtataglay ang dokumento ng balangkas/mga attachment/mga layer) +toggle_sidebar_label=Ipakita/Itago ang Sidebar +document_outline.title=Ipakita ang Document Outline (mag-double-click para i-expand/collapse ang laman) +document_outline_label=Balangkas ng Dokumento +attachments.title=Ipakita ang mga Attachment +attachments_label=Mga attachment +layers.title=Ipakita ang mga Layer (mag-double click para mareset ang lahat ng layer sa orihinal na estado) +layers_label=Mga layer +thumbs.title=Ipakita ang mga Thumbnail +thumbs_label=Mga thumbnail +findbar.title=Hanapin sa Dokumento findbar_label=Hanapin -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Pahina {{page}} +additional_layers=Mga Karagdagang Layer # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -160,43 +157,43 @@ thumb_page_canvas=Thumbnail ng Pahina {{page}} # Find panel button title and messages find_input.title=Hanapin -find_input.placeholder=Find in document… +find_input.placeholder=Hanapin sa dokumento… find_previous.title=Hanapin ang nakaraang pangyayari ng parirala -find_previous_label=Nakaraang +find_previous_label=Nakaraan find_next.title=Hanapin ang susunod na pangyayari ng parirala find_next_label=Susunod find_highlight=I-highlight lahat -find_match_case_label=Match case -find_entire_word_label=Whole words -find_reached_top=Reached top of document, continued from bottom -find_reached_bottom=Reached end of document, continued from top +find_match_case_label=Itugma ang case +find_entire_word_label=Buong salita +find_reached_top=Naabot na ang tuktok ng dokumento, ipinagpatuloy mula sa ilalim +find_reached_bottom=Naabot na ang dulo ng dokumento, ipinagpatuloy mula sa tuktok # LOCALIZATION NOTE (find_match_count): The supported plural forms are # [one|two|few|many|other], with [other] as the default value. # "{{current}}" and "{{total}}" will be replaced by a number representing the # index of the currently active find result, respectively a number representing # the total number of matches in the document. find_match_count={[ plural(total) ]} -find_match_count[one]={{current}} of {{total}} match -find_match_count[two]={{current}} of {{total}} matches -find_match_count[few]={{current}} of {{total}} matches -find_match_count[many]={{current}} of {{total}} matches -find_match_count[other]={{current}} of {{total}} matches +find_match_count[one]={{current}} ng {{total}} tugma +find_match_count[two]={{current}} ng {{total}} tugma +find_match_count[few]={{current}} ng {{total}} tugma +find_match_count[many]={{current}} ng {{total}} tugma +find_match_count[other]={{current}} ng {{total}} tugma # LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are # [zero|one|two|few|many|other], with [other] as the default value. # "{{limit}}" will be replaced by a numerical value. find_match_count_limit={[ plural(limit) ]} -find_match_count_limit[zero]=More than {{limit}} matches -find_match_count_limit[one]=More than {{limit}} match -find_match_count_limit[two]=More than {{limit}} matches -find_match_count_limit[few]=More than {{limit}} matches -find_match_count_limit[many]=More than {{limit}} matches -find_match_count_limit[other]=More than {{limit}} matches -find_not_found=Hindi nakita ang prasko +find_match_count_limit[zero]=Higit sa {{limit}} tugma +find_match_count_limit[one]=Higit sa {{limit}} tugma +find_match_count_limit[two]=Higit sa {{limit}} tugma +find_match_count_limit[few]=Higit sa {{limit}} tugma +find_match_count_limit[many]=Higit sa {{limit}} tugma +find_match_count_limit[other]=Higit sa {{limit}} tugma +find_not_found=Hindi natagpuan ang parirala # Error panel labels error_more_info=Karagdagang Impormasyon error_less_info=Mas Kaunting Impormasyon -error_close=Sarado +error_close=Isara # LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be # replaced by the PDF.JS version and build ID. error_version_info=PDF.js v{{version}} (build: {{build}}) @@ -210,21 +207,19 @@ error_stack=Stack: {{stack}} error_file=File: {{file}} # LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number error_line=Linya: {{line}} -rendering_error=May naganap na pagkakamali habang pagsasalin sa pahina. +rendering_error=Nagkaproblema habang nirerender ang pahina. # Predefined zoom values page_scale_width=Lapad ng Pahina -page_scale_fit=ang pahina ay angkop +page_scale_fit=Pagkasyahin ang Pahina page_scale_auto=Automatic Zoom page_scale_actual=Totoong sukat # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Error -loading_error=May maling nangyari habang kinakarga ang PDF. -invalid_file_error=Di-wasto o masira ang PDF file. +loading_error=Nagkaproblema habang niloload ang PDF. +invalid_file_error=Di-wasto o sira ang PDF file. missing_file_error=Nawawalang PDF file. unexpected_response_error=Hindi inaasahang tugon ng server. @@ -238,11 +233,10 @@ annotation_date_string={{date}}, {{time}} # Some common types are e.g.: "Check", "Text", "Comment", "Note" text_annotation_type.alt=[{{type}} Annotation] password_label=Ipasok ang password upang buksan ang PDF file na ito. -password_invalid=Invalid password. Please try again. +password_invalid=Maling password. Subukan uli. password_ok=OK password_cancel=Kanselahin -printing_not_supported=Warning: Printing is not fully supported by this browser. -printing_not_ready=Warning: The PDF is not fully loaded for printing. -web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts. -document_colors_not_allowed=PDF documents are not allowed to use their own colors: “Allow pages to choose their own colors” is deactivated in the browser. +printing_not_supported=Babala: Hindi pa ganap na suportado ang pag-print sa browser na ito. +printing_not_ready=Babala: Hindi ganap na nabuksan ang PDF para sa pag-print. +web_fonts_disabled=Naka-disable ang mga Web font: hindi kayang gamitin ang mga naka-embed na PDF font. diff --git a/app/assets/javascripts/archive/locale/tr/viewer.properties b/app/assets/javascripts/archive/locale/tr/viewer.properties index f398fc9..5d725d5 100644 --- a/app/assets/javascripts/archive/locale/tr/viewer.properties +++ b/app/assets/javascripts/archive/locale/tr/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Geçerli görünüm tools.title=Araçlar tools_label=Araçlar first_page.title=İlk sayfaya git -first_page.label=İlk sayfaya git first_page_label=İlk sayfaya git last_page.title=Son sayfaya git -last_page.label=Son sayfaya git last_page_label=Son sayfaya git page_rotate_cw.title=Saat yönünde döndür -page_rotate_cw.label=Saat yönünde döndür page_rotate_cw_label=Saat yönünde döndür page_rotate_ccw.title=Saat yönünün tersine döndür -page_rotate_ccw.label=Saat yönünün tersine döndür page_rotate_ccw_label=Saat yönünün tersine döndür cursor_text_select_tool.title=Metin seçme aracını etkinleştir @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Metin seçme aracı cursor_hand_tool.title=El aracını etkinleştir cursor_hand_tool_label=El aracı +scroll_page.title=Sayfa kaydırmayı kullan +scroll_page_label=Sayfa kaydırma scroll_vertical.title=Dikey kaydırma kullan scroll_vertical_label=Dikey kaydırma scroll_horizontal.title=Yatay kaydırma kullan @@ -137,19 +135,24 @@ print_progress_close=İptal # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Kenar çubuğunu aç/kapat -toggle_sidebar_notification.title=Kenar çubuğunu aç/kapat (Belge ana hat/ekler içeriyor) +toggle_sidebar_notification2.title=Kenar çubuğunu aç/kapat (Belge ana hat/ekler/katmanlar içeriyor) toggle_sidebar_label=Kenar çubuğunu aç/kapat document_outline.title=Belge ana hatlarını göster (Tüm öğeleri genişletmek/daraltmak için çift tıklayın) document_outline_label=Belge ana hatları attachments.title=Ekleri göster attachments_label=Ekler +layers.title=Katmanları göster (tüm katmanları varsayılan duruma sıfırlamak için çift tıklayın) +layers_label=Katmanlar thumbs.title=Küçük resimleri göster thumbs_label=Küçük resimler +current_outline_item.title=Mevcut ana hat öğesini bul +current_outline_item_label=Mevcut ana hat öğesi findbar.title=Belgede bul findbar_label=Bul -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Sayfa {{page}} +additional_layers=Ek katmanlar +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Sayfa {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Gerçek boyut page_scale_percent=%{{scale}} # Loading indicator messages -loading_error_indicator=Hata +loading=Yükleniyor… loading_error=PDF yüklenirken bir hata oluştu. invalid_file_error=Geçersiz veya bozulmuş PDF dosyası. missing_file_error=PDF dosyası eksik. @@ -245,4 +248,3 @@ password_cancel=İptal printing_not_supported=Uyarı: Yazdırma bu tarayıcı tarafından tam olarak desteklenmemektedir. printing_not_ready=Uyarı: PDF tamamen yüklenmedi ve yazdırmaya hazır değil. web_fonts_disabled=Web fontları devre dışı: Gömülü PDF fontları kullanılamıyor. -document_colors_not_allowed=PDF belgelerinin kendi renklerini kullanması için izin verilmiyor: “Sayfalara kendi renklerini seçmesi için izin ver” tarayıcıda etkinleştirilmemiş. diff --git a/app/assets/javascripts/archive/locale/trs/viewer.properties b/app/assets/javascripts/archive/locale/trs/viewer.properties index 65252f7..8bd1fe1 100644 --- a/app/assets/javascripts/archive/locale/trs/viewer.properties +++ b/app/assets/javascripts/archive/locale/trs/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Daj hua ma tools.title=Rasun tools_label=Nej rasùun first_page.title=gun' riña pajina asiniin -first_page.label=Gun' riña pajina asiniin first_page_label=Gun' riña pajina asiniin last_page.title=Gun' riña pajina rukù ni'in -last_page.label=Gun' riña pajina rukù ni'inj last_page_label=Gun' riña pajina rukù ni'inj page_rotate_cw.title=Tanikaj ne' huat -page_rotate_cw.label=Tanikaj ne' huat page_rotate_cw_label=Tanikaj ne' huat page_rotate_ccw.title=Tanikaj ne' chînt' -page_rotate_ccw.label=Tanikaj ne' chint page_rotate_ccw_label=Tanikaj ne' chint cursor_text_select_tool.title=Dugi'iaj sun' sa ganahui texto @@ -198,9 +194,6 @@ page_scale_actual=Dàj yàchi akuan' nín # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Nitaj si hua hue'ej - # LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be # replaced by the modification date, and time, of the annotation. diff --git a/app/assets/javascripts/archive/locale/uk/viewer.properties b/app/assets/javascripts/archive/locale/uk/viewer.properties index 599c8f9..90aa9b1 100644 --- a/app/assets/javascripts/archive/locale/uk/viewer.properties +++ b/app/assets/javascripts/archive/locale/uk/viewer.properties @@ -48,23 +48,21 @@ bookmark_label=Поточний вигляд tools.title=Інструменти tools_label=Інструменти first_page.title=На першу сторінку -first_page.label=На першу сторінку first_page_label=На першу сторінку last_page.title=На останню сторінку -last_page.label=На останню сторінку last_page_label=На останню сторінку page_rotate_cw.title=Повернути за годинниковою стрілкою -page_rotate_cw.label=Повернути за годинниковою стрілкою page_rotate_cw_label=Повернути за годинниковою стрілкою page_rotate_ccw.title=Повернути проти годинникової стрілки -page_rotate_ccw.label=Повернути проти годинникової стрілки page_rotate_ccw_label=Повернути проти годинникової стрілки cursor_text_select_tool.title=Увімкнути інструмент вибору тексту cursor_text_select_tool_label=Інструмент вибору тексту -cursor_hand_tool.title=Увімкнути інструмент «Рука» -cursor_hand_tool_label=Інструмент «Рука» +cursor_hand_tool.title=Увімкнути інструмент "Рука" +cursor_hand_tool_label=Інструмент "Рука" +scroll_page.title=Використовувати прокручування сторінки +scroll_page_label=Прокручування сторінки scroll_vertical.title=Використовувати вертикальне прокручування scroll_vertical_label=Вертикальне прокручування scroll_horizontal.title=Використовувати горизонтальне прокручування @@ -137,19 +135,24 @@ print_progress_close=Скасувати # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Бічна панель -toggle_sidebar_notification.title=Перемкнути бічну панель (документ має вміст/вкладення) +toggle_sidebar_notification2.title=Перемкнути бічну панель (документ містить ескіз/вкладення/шари) toggle_sidebar_label=Перемкнути бічну панель document_outline.title=Показати схему документу (подвійний клік для розгортання/згортання елементів) document_outline_label=Схема документа attachments.title=Показати прикріплення attachments_label=Прикріплення +layers.title=Показати шари (двічі клацніть, щоб скинути всі шари до типового стану) +layers_label=Шари thumbs.title=Показувати ескізи thumbs_label=Ескізи +current_outline_item.title=Знайти поточний елемент змісту +current_outline_item_label=Поточний елемент змісту findbar.title=Знайти в документі -findbar_label=Пошук +findbar_label=Знайти -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Сторінка {{page}} +additional_layers=Додаткові шари +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Сторінка {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -167,6 +170,7 @@ find_next.title=Знайти наступне входження фрази find_next_label=Наступне find_highlight=Підсвітити все find_match_case_label=З урахуванням регістру +find_match_diacritics_label=Відповідність діакритичних знаків find_entire_word_label=Цілі слова find_reached_top=Досягнуто початку документу, продовжено з кінця find_reached_bottom=Досягнуто кінця документу, продовжено з початку @@ -214,15 +218,15 @@ rendering_error=Під час виведення сторінки сталася # Predefined zoom values page_scale_width=За шириною -page_scale_fit=Умістити -page_scale_auto=Авто-масштаб +page_scale_fit=Вмістити +page_scale_auto=Автомасштаб page_scale_actual=Дійсний розмір # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a # numerical scale value. page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Помилка +loading=Завантаження… loading_error=Під час завантаження PDF сталася помилка. invalid_file_error=Недійсний або пошкоджений PDF-файл. missing_file_error=Відсутній PDF-файл. @@ -245,4 +249,3 @@ password_cancel=Скасувати printing_not_supported=Попередження: Цей браузер не повністю підтримує друк. printing_not_ready=Попередження: PDF не повністю завантажений для друку. web_fonts_disabled=Веб-шрифти вимкнено: неможливо використати вбудовані у PDF шрифти. -document_colors_not_allowed=PDF-документам не дозволено використовувати власні кольори: в браузері вимкнено параметр «Дозволити сторінкам використовувати власні кольори». diff --git a/app/assets/javascripts/archive/locale/ur/viewer.properties b/app/assets/javascripts/archive/locale/ur/viewer.properties index d7e360e..6235c15 100644 --- a/app/assets/javascripts/archive/locale/ur/viewer.properties +++ b/app/assets/javascripts/archive/locale/ur/viewer.properties @@ -48,25 +48,25 @@ bookmark_label=حالیہ نظارہ tools.title=آلات tools_label=آلات first_page.title=پہلے صفحہ پر جائیں -first_page.label=پہلے صفحہ پر جائیں first_page_label=پہلے صفحہ پر جائیں last_page.title=آخری صفحہ پر جائیں -last_page.label=آخری صفحہ پر جائیں last_page_label=آخری صفحہ پر جائیں page_rotate_cw.title=گھڑی وار گھمائیں -page_rotate_cw.label=گھڑی وار گھمائیں page_rotate_cw_label=گھڑی وار گھمائیں page_rotate_ccw.title=ضد گھڑی وار گھمائیں -page_rotate_ccw.label=ضد گھڑی وار گھمائیں page_rotate_ccw_label=ضد گھڑی وار گھمائیں cursor_text_select_tool.title=متن کے انتخاب کے ٹول کو فعال بناے cursor_text_select_tool_label=متن کے انتخاب کا آلہ +cursor_hand_tool.title=ہینڈ ٹول کو فعال بناییں cursor_hand_tool_label=ہاتھ کا آلہ scroll_vertical.title=عمودی اسکرولنگ کا استعمال کریں scroll_vertical_label=عمودی اسکرولنگ +scroll_horizontal.title=افقی سکرولنگ کا استعمال کریں +scroll_horizontal_label=افقی سکرولنگ +spread_none.title=صفحہ پھیلانے میں شامل نہ ہوں spread_none_label=کوئی پھیلاؤ نہیں spread_odd_label=تاک پھیلاؤ spread_even_label=جفت پھیلاؤ @@ -111,8 +111,10 @@ document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} # LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): # "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by # the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} {{name}} {{orientation}} # LOCALIZATION NOTE (document_properties_linearized): The linearization status of # the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=تیز ویب دیکھیں: document_properties_linearized_yes=ہاں document_properties_linearized_no=نہیں document_properties_close=بند کریں @@ -137,6 +139,8 @@ thumbs_label=مجمل findbar.title=دستاویز میں ڈھونڈیں findbar_label=ڈھونڈیں +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=صفحہ {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -162,9 +166,21 @@ find_reached_bottom=صفحہ کے اختتام پر پہنچ گیا، اوپر # "{{current}}" and "{{total}}" will be replaced by a number representing the # index of the currently active find result, respectively a number representing # the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{total}} میچ کا {{current}} +find_match_count[few]={{total}} میچوں میں سے {{current}} +find_match_count[many]={{total}} میچوں میں سے {{current}} +find_match_count[other]={{total}} میچوں میں سے {{current}} # LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are # [zero|one|two|few|many|other], with [other] as the default value. # "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(total) ]} +find_match_count_limit[zero]={{limit}} سے زیادہ میچ +find_match_count_limit[one]={{limit}} سے زیادہ میچ +find_match_count_limit[two]={{limit}} سے زیادہ میچ +find_match_count_limit[few]={{limit}} سے زیادہ میچ +find_match_count_limit[many]={{limit}} سے زیادہ میچ +find_match_count_limit[other]={{limit}} سے زیادہ میچ find_not_found=فقرا نہیں ملا # Error panel labels @@ -196,7 +212,6 @@ page_scale_actual=اصل سائز page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=نقص loading_error=PDF لوڈ کرتے وقت نقص آ گیا۔ invalid_file_error=ناجائز یا خراب PDF مسل missing_file_error=PDF مسل غائب ہے۔ @@ -204,6 +219,7 @@ unexpected_response_error=غیرمتوقع پیش کار جواب # LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be # replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}.{{time}} # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. # "{{type}}" will be replaced with an annotation type from a list defined in @@ -212,10 +228,11 @@ unexpected_response_error=غیرمتوقع پیش کار جواب text_annotation_type.alt=[{{type}} نوٹ] password_label=PDF مسل کھولنے کے لیے پاس ورڈ داخل کریں. password_invalid=ناجائز پاس ورڈ. براےؑ کرم دوبارہ کوشش کریں. -password_ok=سہی +password_ok=ٹھیک ہے password_cancel=منسوخ کریں printing_not_supported=تنبیہ:چھاپنا اس براؤزر پر پوری طرح معاونت شدہ نہیں ہے۔ printing_not_ready=تنبیہ: PDF چھپائی کے لیے پوری طرح لوڈ نہیں ہوئی۔ web_fonts_disabled=ویب فانٹ نا اہل ہیں: شامل PDF فانٹ استعمال کرنے میں ناکام۔ -document_colors_not_allowed=PDF دستاویزات کو اپنے رنگ استعمال کرنے کی اجازت نہیں: 'صفحات کو اپنے رنگ چنیں' کی اِجازت براؤزر میں بے عمل ہے۔ +# LOCALIZATION NOTE (unsupported_feature_signatures): Should contain the same +# exact string as in the `chrome.properties` file. diff --git a/app/assets/javascripts/archive/locale/uz/viewer.properties b/app/assets/javascripts/archive/locale/uz/viewer.properties index e451c74..a17eb6b 100644 --- a/app/assets/javascripts/archive/locale/uz/viewer.properties +++ b/app/assets/javascripts/archive/locale/uz/viewer.properties @@ -46,16 +46,12 @@ bookmark_label=Joriy koʻrinish tools.title=Vositalar tools_label=Vositalar first_page.title=Birinchi sahifaga oʻtish -first_page.label=Birinchi sahifaga oʻtish first_page_label=Birinchi sahifaga oʻtish last_page.title=Soʻnggi sahifaga oʻtish -last_page.label=Soʻnggi sahifaga oʻtish last_page_label=Soʻnggi sahifaga oʻtish page_rotate_cw.title=Soat yoʻnalishi boʻyicha burish -page_rotate_cw.label=Soat yoʻnalishi boʻyicha burish page_rotate_cw_label=Soat yoʻnalishi boʻyicha burish page_rotate_ccw.title=Soat yoʻnalishiga qarshi burish -page_rotate_ccw.label=Soat yoʻnalishiga qarshi burish page_rotate_ccw_label=Soat yoʻnalishiga qarshi burish @@ -147,8 +143,6 @@ page_scale_actual=Haqiqiy hajmi # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Xato loading_error=PDF yuklanayotganda xato yuz berdi. invalid_file_error=Xato yoki buzuq PDF fayli. missing_file_error=PDF fayl kerak. @@ -166,4 +160,3 @@ password_ok=OK printing_not_supported=Diqqat: chop qilish bruzer tomonidan toʻliq qoʻllab-quvvatlanmaydi. printing_not_ready=Diqqat: PDF fayl chop qilish uchun toʻliq yuklanmadi. web_fonts_disabled=Veb shriftlar oʻchirilgan: ichki PDF shriftlardan foydalanib boʻlmmaydi. -document_colors_not_allowed=PDF hujjat oʻzining ranglaridan foydalanishga ruxsat bermaydi: 'Sahifalarga oʻzining rangidan foydalanishga ruxsat berish' ushbu brauzerda oʻchirib qoʻyilgan. diff --git a/app/assets/javascripts/archive/locale/vi/viewer.properties b/app/assets/javascripts/archive/locale/vi/viewer.properties index b8ee16e..1f10009 100644 --- a/app/assets/javascripts/archive/locale/vi/viewer.properties +++ b/app/assets/javascripts/archive/locale/vi/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Chế độ xem hiện tại tools.title=Công cụ tools_label=Công cụ first_page.title=Về trang đầu -first_page.label=Về trang đầu first_page_label=Về trang đầu last_page.title=Đến trang cuối -last_page.label=Đến trang cuối last_page_label=Đến trang cuối page_rotate_cw.title=Xoay theo chiều kim đồng hồ -page_rotate_cw.label=Xoay theo chiều kim đồng hồ page_rotate_cw_label=Xoay theo chiều kim đồng hồ page_rotate_ccw.title=Xoay ngược chiều kim đồng hồ -page_rotate_ccw.label=Xoay ngược chiều kim đồng hồ page_rotate_ccw_label=Xoay ngược chiều kim đồng hồ cursor_text_select_tool.title=Kích hoạt công cụ chọn vùng văn bản @@ -65,6 +61,8 @@ cursor_text_select_tool_label=Công cụ chọn vùng văn bản cursor_hand_tool.title=Kích hoạt công cụ con trỏ cursor_hand_tool_label=Công cụ con trỏ +scroll_page.title=Sử dụng cuộn trang hiện tại +scroll_page_label=Cuộn trang hiện tại scroll_vertical.title=Sử dụng cuộn dọc scroll_vertical_label=Cuộn dọc scroll_horizontal.title=Sử dụng cuộn ngang @@ -137,19 +135,24 @@ print_progress_close=Hủy bỏ # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Bật/Tắt thanh lề -toggle_sidebar_notification.title=Bật tắt thanh lề (tài liệu bao gồm bản phác thảo/tập tin đính kèm) +toggle_sidebar_notification2.title=Bật tắt thanh lề (tài liệu bao gồm bản phác thảo/tập tin đính kèm/lớp) toggle_sidebar_label=Bật/Tắt thanh lề -document_outline.title=Hiện tài liệu phác thảo (nhấp đúp vào để mở rộng/thu gọn tất cả các mục) +document_outline.title=Hiển thị tài liệu phác thảo (nhấp đúp vào để mở rộng/thu gọn tất cả các mục) document_outline_label=Bản phác tài liệu attachments.title=Hiện nội dung đính kèm attachments_label=Nội dung đính kèm +layers.title=Hiển thị các lớp (nhấp đúp để đặt lại tất cả các lớp về trạng thái mặc định) +layers_label=Lớp thumbs.title=Hiển thị ảnh thu nhỏ thumbs_label=Ảnh thu nhỏ +current_outline_item.title=Tìm mục phác thảo hiện tại +current_outline_item_label=Mục phác thảo hiện tại findbar.title=Tìm trong tài liệu findbar_label=Tìm -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=Trang {{page}} +additional_layers=Các lớp bổ sung +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Trang {{page}} # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. @@ -222,7 +225,7 @@ page_scale_actual=Kích thước thực page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=Lỗi +loading=Đang tải… loading_error=Lỗi khi tải tài liệu PDF. invalid_file_error=Tập tin PDF hỏng hoặc không hợp lệ. missing_file_error=Thiếu tập tin PDF. @@ -245,4 +248,3 @@ password_cancel=Hủy bỏ printing_not_supported=Cảnh báo: In ấn không được hỗ trợ đầy đủ ở trình duyệt này. printing_not_ready=Cảnh báo: PDF chưa được tải hết để in. web_fonts_disabled=Phông chữ Web bị vô hiệu hóa: không thể sử dụng các phông chữ PDF được nhúng. -document_colors_not_allowed=Tài liệu PDF không được cho phép dùng màu riêng: 'Cho phép trang chọn màu riêng' đã bị tắt trên trình duyệt. diff --git a/app/assets/javascripts/archive/locale/wo/viewer.properties b/app/assets/javascripts/archive/locale/wo/viewer.properties index 38c7bc1..ca3f4c3 100644 --- a/app/assets/javascripts/archive/locale/wo/viewer.properties +++ b/app/assets/javascripts/archive/locale/wo/viewer.properties @@ -108,8 +108,6 @@ page_scale_actual=Dayo bi am # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a # numerical scale value. -# Loading indicator messages -loading_error_indicator=Njumte loading_error=Am na njumte ci yebum dencukaay PDF bi. invalid_file_error=Dencukaay PDF bi baaxul walla mu sankar. diff --git a/app/assets/javascripts/archive/locale/xh/viewer.properties b/app/assets/javascripts/archive/locale/xh/viewer.properties index 1fa394b..541ddbf 100644 --- a/app/assets/javascripts/archive/locale/xh/viewer.properties +++ b/app/assets/javascripts/archive/locale/xh/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=Imbonakalo ekhoyo tools.title=Izixhobo zemiyalelo tools_label=Izixhobo zemiyalelo first_page.title=Yiya kwiphepha lokuqala -first_page.label=Yiya kwiphepha lokuqala first_page_label=Yiya kwiphepha lokuqala last_page.title=Yiya kwiphepha lokugqibela -last_page.label=Yiya kwiphepha lokugqibela last_page_label=Yiya kwiphepha lokugqibela page_rotate_cw.title=Jikelisa ngasekunene -page_rotate_cw.label=Jikelisa ngasekunene page_rotate_cw_label=Jikelisa ngasekunene page_rotate_ccw.title=Jikelisa ngasekhohlo -page_rotate_ccw.label=Jikelisa ngasekhohlo page_rotate_ccw_label=Jikelisa ngasekhohlo cursor_text_select_tool.title=Vumela iSixhobo sokuKhetha iTeksti @@ -101,7 +97,6 @@ print_progress_close=Rhoxisa # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=Togola ngebha eseCaleni -toggle_sidebar_notification.title=ISidebar yeQhosha (uxwebhu lunolwandlalo/iziqhotyoshelwa) toggle_sidebar_label=Togola ngebha eseCaleni document_outline.title=Bonisa uLwandlalo loXwebhu (cofa kabini ukuze wandise/diliza zonke izinto) document_outline_label=Isishwankathelo soxwebhu @@ -161,8 +156,6 @@ page_scale_actual=Ubungakanani bokwenene # numerical scale value. page_scale_percent={{scale}}% -# Loading indicator messages -loading_error_indicator=Imposiso loading_error=Imposiso yenzekile xa kulayishwa i-PDF. invalid_file_error=Ifayile ye-PDF engeyiyo okanye eyonakalisiweyo. missing_file_error=Ifayile ye-PDF edukileyo. @@ -181,4 +174,3 @@ password_cancel=Rhoxisa printing_not_supported=Isilumkiso: Ukuprinta akuxhaswa ngokupheleleyo yile bhrawuza. printing_not_ready=Isilumkiso: IPDF ayihlohlwanga ngokupheleleyo ukwenzela ukuprinta. web_fonts_disabled=Iifonti zewebhu ziqhwalelisiwe: ayikwazi ukusebenzisa iifonti ze-PDF ezincanyathelisiweyo. -document_colors_not_allowed=Amaxwebhu ePDF akavumelekanga ukuba asebenzise imibala yawo: 'Ukuvumela amaphepha ukuba asebenzise eyawo imibala' kuvaliwe ukuba kungasebenzi kwibhrawuza. diff --git a/app/assets/javascripts/archive/locale/zh-CN/viewer.properties b/app/assets/javascripts/archive/locale/zh-CN/viewer.properties index 2dc609b..87e715c 100644 --- a/app/assets/javascripts/archive/locale/zh-CN/viewer.properties +++ b/app/assets/javascripts/archive/locale/zh-CN/viewer.properties @@ -48,16 +48,12 @@ bookmark_label=当前在看 tools.title=工具 tools_label=工具 first_page.title=转到第一页 -first_page.label=转到第一页 first_page_label=转到第一页 last_page.title=转到最后一页 -last_page.label=转到最后一页 last_page_label=转到最后一页 page_rotate_cw.title=顺时针旋转 -page_rotate_cw.label=顺时针旋转 page_rotate_cw_label=顺时针旋转 page_rotate_ccw.title=逆时针旋转 -page_rotate_ccw.label=逆时针旋转 page_rotate_ccw_label=逆时针旋转 cursor_text_select_tool.title=启用文本选择工具 @@ -65,6 +61,8 @@ cursor_text_select_tool_label=文本选择工具 cursor_hand_tool.title=启用手形工具 cursor_hand_tool_label=手形工具 +scroll_page.title=使用页面滚动 +scroll_page_label=页面滚动 scroll_vertical.title=使用垂直滚动 scroll_vertical_label=垂直滚动 scroll_horizontal.title=使用水平滚动 @@ -137,23 +135,28 @@ print_progress_close=取消 # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=切换侧栏 -toggle_sidebar_notification.title=切换侧栏(文档所含的大纲/附件) +toggle_sidebar_notification2.title=切换侧栏(文档所含的大纲/附件/图层) toggle_sidebar_label=切换侧栏 document_outline.title=显示文档大纲(双击展开/折叠所有项) document_outline_label=文档大纲 attachments.title=显示附件 attachments_label=附件 +layers.title=显示图层(双击即可将所有图层重置为默认状态) +layers_label=图层 thumbs.title=显示缩略图 thumbs_label=缩略图 +current_outline_item.title=查找当前大纲项目 +current_outline_item_label=当前大纲项目 findbar.title=在文档中查找 findbar_label=查找 -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=页码 {{page}} +additional_layers=其他图层 +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=第 {{page}} 页 # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. -thumb_page_title=页码 {{page}} +thumb_page_title=第 {{page}} 页 # LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page # number. thumb_page_canvas=页面 {{page}} 的缩略图 @@ -167,6 +170,7 @@ find_next.title=查找词语后一次出现的位置 find_next_label=下一页 find_highlight=全部高亮显示 find_match_case_label=区分大小写 +find_match_diacritics_label=匹配变音符号 find_entire_word_label=字词匹配 find_reached_top=到达文档开头,从末尾继续 find_reached_bottom=到达文档末尾,从开头继续 @@ -222,7 +226,7 @@ page_scale_actual=实际大小 page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=错误 +loading=正在载入… loading_error=载入 PDF 时发生错误。 invalid_file_error=无效或损坏的 PDF 文件。 missing_file_error=缺少 PDF 文件。 @@ -245,4 +249,3 @@ password_cancel=取消 printing_not_supported=警告:此浏览器尚未完整支持打印功能。 printing_not_ready=警告:此 PDF 未完成载入,无法打印。 web_fonts_disabled=Web 字体已被禁用:无法使用嵌入的 PDF 字体。 -document_colors_not_allowed=PDF 文档无法使用自己的颜色:浏览器中“允许页面选择自己的颜色”的选项未被勾选。 diff --git a/app/assets/javascripts/archive/locale/zh-TW/viewer.properties b/app/assets/javascripts/archive/locale/zh-TW/viewer.properties index eb764db..4de74ee 100644 --- a/app/assets/javascripts/archive/locale/zh-TW/viewer.properties +++ b/app/assets/javascripts/archive/locale/zh-TW/viewer.properties @@ -41,23 +41,19 @@ print.title=列印 print_label=列印 download.title=下載 download_label=下載 -bookmark.title=目前檢視的內容(複製或開啟於新視窗) +bookmark.title=目前畫面(複製或開啟於新視窗) bookmark_label=目前檢視 # Secondary toolbar and context menu tools.title=工具 tools_label=工具 first_page.title=跳到第一頁 -first_page.label=跳到第一頁 first_page_label=跳到第一頁 last_page.title=跳到最後一頁 -last_page.label=跳到最後一頁 last_page_label=跳到最後一頁 page_rotate_cw.title=順時針旋轉 -page_rotate_cw.label=順時針旋轉 page_rotate_cw_label=順時針旋轉 page_rotate_ccw.title=逆時針旋轉 -page_rotate_ccw.label=逆時針旋轉 page_rotate_ccw_label=逆時針旋轉 cursor_text_select_tool.title=開啟文字選擇工具 @@ -65,6 +61,8 @@ cursor_text_select_tool_label=文字選擇工具 cursor_hand_tool.title=開啟頁面移動工具 cursor_hand_tool_label=頁面移動工具 +scroll_page.title=使用頁面捲動功能 +scroll_page_label=頁面捲動功能 scroll_vertical.title=使用垂直捲動版面 scroll_vertical_label=垂直捲動 scroll_horizontal.title=使用水平捲動版面 @@ -137,23 +135,28 @@ print_progress_close=取消 # (the _label strings are alt text for the buttons, the .title strings are # tooltips) toggle_sidebar.title=切換側邊欄 -toggle_sidebar_notification.title=切換側邊攔(文件包含大綱或附件) +toggle_sidebar_notification2.title=切換側邊欄(包含大綱、附件、圖層的文件) toggle_sidebar_label=切換側邊欄 document_outline.title=顯示文件大綱(雙擊展開/摺疊所有項目) document_outline_label=文件大綱 attachments.title=顯示附件 attachments_label=附件 +layers.title=顯示圖層(滑鼠雙擊即可將所有圖層重設為預設狀態) +layers_label=圖層 thumbs.title=顯示縮圖 thumbs_label=縮圖 +current_outline_item.title=尋找目前的大綱項目 +current_outline_item_label=目前的大綱項目 findbar.title=在文件中尋找 findbar_label=尋找 -# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. -page_canvas=第 {{page}} 頁 +additional_layers=其他圖層 +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=第 {{page}} 頁 # Thumbnails panel item (tooltip and alt text for images) # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page # number. -thumb_page_title=頁 {{page}} +thumb_page_title=第 {{page}} 頁 # LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page # number. thumb_page_canvas=頁 {{page}} 的縮圖 @@ -167,6 +170,7 @@ find_next.title=尋找文字下次出現的位置 find_next_label=下一個 find_highlight=全部強調標示 find_match_case_label=區分大小寫 +find_match_diacritics_label=符合變音符號 find_entire_word_label=符合整個字 find_reached_top=已搜尋至文件頂端,自底端繼續搜尋 find_reached_bottom=已搜尋至文件底端,自頂端繼續搜尋 @@ -222,7 +226,7 @@ page_scale_actual=實際大小 page_scale_percent={{scale}}% # Loading indicator messages -loading_error_indicator=錯誤 +loading=載入中… loading_error=載入 PDF 時發生錯誤。 invalid_file_error=無效或毀損的 PDF 檔案。 missing_file_error=找不到 PDF 檔案。 @@ -245,4 +249,3 @@ password_cancel=取消 printing_not_supported=警告: 此瀏覽器未完整支援列印功能。 printing_not_ready=警告: 此 PDF 未完成下載以供列印。 web_fonts_disabled=已停用網路字型 (Web fonts): 無法使用 PDF 內嵌字型。 -document_colors_not_allowed=瀏覽器的「優先使用網頁指定的色彩」未被勾選,PDF 文件無法使用自己的色彩。 diff --git a/app/assets/javascripts/archive/pdf/compressed.tracemonkey-pldi-09.pdf b/app/assets/javascripts/archive/pdf/compressed.tracemonkey-pldi-09.pdf new file mode 100644 index 0000000000000000000000000000000000000000..65570184ac82fbc478a403cb8dd64a59c0065eae GIT binary patch literal 1016315 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�v_)@^!rDg3@1D%o#Hk5G-tYeQE;I zq{C6D1;$556FA6|Fd8zqzE?SIy57gT22%5neY}}&5d#{cv3(Bd)@@(0od*(^;p9BQ z5Bp{5OMf%G2^;G2CJ%CJ{q}|+FVNuvQt}xJBXn)MFqgm(o7K`Gt<5VGiDaI>?*3Y* zMNAi8HVLgp423KRr;^kt%&|iMKnO#4l=)DC3JC4$E~|;s9nIp zHpa5DWSN3bt{oo`mD12<>>lh`ty^6KT58D38IU>_FJZ55a z&r-kW_f)4|F76`9QFcNtlOZ$~tWs~4{X`FW_WrC;4zk*L>v!2UDp~54v4rqp?8h16 zc%8iCC>&wTs73`Dp;8`68bCvaX$?Mqn!^fy9pY&>OTeUYyC2rWK#&jC$Z$rN1dA;m zv}ajU;mPr`6OmS|%7YE%0pajK9O&*{KvR1_z2SNQaZI#C+U3el-!2=YErw{A{$Pl* z9B}ddqtW3egV+Q1n^2pn$qwqyGfFx!iLZr0+T~fHv#b&%fEELomTuVu^Re_27X&>n4vDWdyF#6M z?;7KrpN4lLC3+Mwg%rB1o%f0{1~UCjQrWv#LB;f+4RSvbZ?=X%Q4Fcl19Ia5O9tNm zP_5`AdTPQlf|S*|5Uwo(H&ccfpc=GD>oJ$~vAvR!uQ4vB#jepN&}^e_q_*I=>{cU> z)))`)UQ^Kf9_o}YJgvc=p|1CF;fuh)YsEWcKLqB)H|I>sPRr`e!{02VJC6vhnx72U z8X9o*XdN$7U5BCr*Joi3`Jz=Rvm8G)D+d=vElQcB@QHM>rOHZe%+L}!+xDZTqKNN} zn+za90Kej}U5{>YKN)Ic25k^Uz;c@7K?CI?j&H_v$rc2#7bySuk5e3zr0<9v8XgmI zRk|@s{VtsWn7{ehue8OIlbg9NHlR~7AnT7w_wa|lUH=(v;EDnWc|X!W6R1ZWR7_{< zU#gYDDTQ-&STF)V2Moi&lDFHzntGv~{%hY0bu+BXqyu-&+XIOgrJ%QXU@IM@40GW? z{Z23iSo@CPN@+8^n74j(32>LQ!%D3Y5=CDv^tZCUfb*lfL`QWT7nm(jHn?9fA!uhe z<kp6zC24S=aI4(Jh8&U>iL$68MSZ_F)f) zFrTx@KG51!SWajmDDC8T@N3(OyOwi-etIn8_EDA*{B?IggHBPp(0*<@5-v-{2+!-D zlZ!pRhz(3~+{{jLE)FEH=x30=$6UCg;tu>O1RHo8ILQG`F5l3gtP>>ZIQcokeKX?5 z026T zpHf&z2?=n79=GYN)N7cxdkT0x2?~2% zexo#!GpibytAEk*V%mwa?y8rcSi3;tSo90cZQ3_dV~Bl6Z^sp`$Kw-AFRAPHB@1^G>c3T?k2!3+ zt5Q~G@oz6m{B<%DG6=e%2Ig3A9i+7<Gt;CzFcOnpI*D}e6p$Td|LCs#ru)tFWtkhds{YT zO%Mx+b`Q~}7{2_}(xs7#`~$E3XG?pMvyaPSY85P*&kvJ z)aPfKccaq`m_NA~YduF9B4##-Tj@KH`?rkB-L2P8RIYk&;?cBQ@0JEL6`>UG>B-^y zjmkM}&XasfH2di&uiFY8l$T4xLx<@jtbD8Am#!aYwrz0@UihJ!9ji~zU|6km!t^5c zzX12acrJle=*8vWlx_ots{;fy6oiXTYN+>G9AY%6nJ>^~hqv|#`$o}oxhMF*;ozMxF4Rpz zm+=D#C(==nRcYrQA3mm>;f1V@{!ZaQvc%7u?e|{@?{T#rRD=LL@UdVptf94U}F)}rxjfD!yqdnrsl_KCOWQS}y7`qXb za_J9v!}NgwqDN<+__7Ps5$4$mo4gAVrN+Qx%@CCkE5ZQEt|_h(iyOB&vdhm9pov2) zx+{H0(i#>G;aryM_CT^GzPw+L>O8-k|8l~{nml@F_o(S`fOv&&?fae}dyINl{u=4Y z+nw&CB!)r)2^kP5(0mg^N7O;};j>#uM^F^vwfFN@{nkl5iA1cOII#eqmL?8ndXH-x z3f5s0?Ws?x4q4QRr^9cK6N_DVBMA}J6Ok#*Vn!!n}^Rt zh@yp*9U2|A)z1le&sEC@FD5hbbX@G&eQtxs#9YEYuHU-;*F-2dNj^T0O!YhkhB^Xp zRz8ru1=l=>W^Y6kUiNNj`M80eEUAd2H(?&(NneQ>>k)XHTC0py8@|a82b$0HjNfWg zJ!&%gwuypn+EwL4`w&@GPb~t5yBR1C+lrTFPQbzWUqK~4CJWV~-RqISn#_M}7pw42 zZ5M%xE47w%=H)Y!C8L1kK*`-&ZGrH9{8F)lD{_9KsmIr2H}`{)b&{UB;^!^0J7vz4 z^ow-(WnLD)akbR3ftT90Qcnh!Ri^7XWooA~6{w#6tLCy}vP`kcN8`l2c&b2-0>z_ znT@kvLC$0$b-g+&bF}}A3OBE;BFPaPR*zfDQE>GVj6C;0@-UQYjYf( zMl90|ES?tmf{}XBl}DKHXhTwqZulcpm9W2yYK?qjJTwG}>`lPR6r*+k`ZqtYrKa=% znmaJk`}wSCL=4+!gR!LgWn>KEcF$ZMWp(DR(~f=x5eycKl9M<-HlyI_PEvzGPFUH2 z0#=F}{Mq_m3RRQkDF+SLefmJ*`7R#3h)|*g@(TMhsnO$KhCT=O^AV({)7M_t0 ziDqsBiq8FLYSORjqnC;O^Pg>!&kBz@?z5D_MJ+ExKkuRV_5QA&IZ2JK7LMYHvr#oyRV5mr#B)n%wS_>AvzAw`B3%zJx-nSZ34vgf(ARv7BWhjn# z#L5n7cg_c)&uAM&@4H#Rbq}qW6^{$tEo%gh=6e~R>lGxR_)l-jp%)Pnz!589q}{PU zy_L5?c1yP*cF*W#Z1`G0+^UShWZ#$ZH9Y|PoW9X^PYpZ?;~8VtPvry7zs13(KUlz6 zJt+fBBJJD(`|4wl)uDEWe6af*tod3_aS1oLhFBTcQCqE|2>yud2Hbqu_}}>11lo@O zwUmu8u4cLb)UR{6u2W1fz$>VyJs2y7t7*1|>tdh{zZAbGT-rk0957FaVfkQ@1O>1a zqe=efF?$V}sfyUUAlp}}{^LXFAX|2&gy8X1N(w9+M@+Air@QFDs!Wt9A7{S}BM79xJ74Pxvg)ZrB@elvY z&H`FX5Q`8~K%8JIPRB%on z%^%49$cOzTKEL%^N@5xW+e;e;F6(|(TtVpskw&H=QtuBZCMC29+qQe6i_AUYP9s2` zz79^ty-Aq&ZVYF0dB2hJrmOA{38$XvG3VjnV&rkY0$0OCT3+kO&*ggG4Wg>5yexa> zbv=!l%?+~Kx_q(ei^EG&BL(Ep9J6nzS>*7L0_EWY9YApfqm858VjcOC9oqV6WGku( zZG^0!^mlt$1#}@~^&o3|MLge6my;6aY?W&FhQSY4{xB4Cg&htL?(>Z;P8jJhZRBtj zBX#EYj9TzdM}n=0#z%OX{sVuyLTr_Gz>MJY*F}RCzD0*F;iL9dGIpxqY+d?Xzl3+% zO~}mPmmNO$w67%PYaC2~%=aZ;5ptu-4=n;!tU*a3{m91Sg6x^%_l?tBahjo-6qm$K zN#Ns&Hu%9X7H5a(*0WH(0Uxg`Eopiq>N$`POMG?~t z8l+TwAw*$cL$9L{qalY`Sa|Xta@jz71O|ElTc|yW@ZMeo-@c)Y%z#}n*KvN4t5*i? zR@O{FKhHRw-~GHbo68gm4XaQvFNi&q0WU&+cL|(IGvY@*jSLyN2oWN+@sd_wHG$~j zbLm^`TabHb*>${u&@c(33;uEJMLGKi=4$kTrlbJd5~G_Z)S(Hpe(sJ;J#ozC9ntE9 zA1yv%`i=@SXZV}K0g~!3KT~N$$x3lZs3^^wLX$NIdqE;(e%#C!d9OL!FQJ!!*?^7L z*j)$~w|?(@WH(|F)~Urka5e`?swE|T8Kgp`4II)vPnLRcExxj`D|J4$s$GO!m2H;meuuOsCYSDp zcFD`x3EBx9h4$~<+u+^4oqh4~BkKZKXO*5@lWtTs0#V5u3PD;H(amj@=#oxaZ--{6 zcMa-6R1QUi{j9T^M{N2$Mm#3o)Xxfi#N)}}I_g~$;n9HkER#o4&10u#cE7fgd{~B^ zSz7DxV)rQ>n1GvtAtRPn@A^}t2uwolekL5OLx$(QM36VdmY8GW@E@|2tp!2%hd|3< z@P4I+m$K{EiXdYGmiyu{4I=h%N8u`a7bHy_j(|Ft_yrIX^+@+Qjk_c}dj=!Ye4$QzJ?soNDh&Qwta<9s~ zG%JV?`Djgi^&l3b-Y8M`#`>EedWv|9c(a7>#5b6UCvAkvkZa5yMa|1dnfeBOgbuDM zGGHA>1r>0$=C1IRek>2bSeFoX2h0-V1ueMce?J65%9q&MaYVkTeS#?}4b%Bdk^QnG z$_hc~^UFz0c#}v;*uBFGjl=xBvI9$?hbM*^q{@DwD<*}8A9N!8-IcEN3r+2$JdLsT z68o1QyH^<#msTSLu|#6G&OLTu8WQigl>(v{5mrF8~#*|f-1y|P^jb;t|r zkPxuckch~B&(t#>3!6}OlMAicK*q0K#_?S`W5U^lT`{qS8u z;1hBD=@H62!@Sj)yW)r^!!B{XWj;an9mch^lUNd)unAkmJ&Cy@H1VwrnRsIno2Gr} z;+5lL>$%7~W7|-$Xda>-T4EqB>KmDnK^w+e>OwufVcnF-Vr2i3^Q=B##BeAdoBsvP z#hQ9X2G>^>u>Q!GYo$j?Us6Fojyd_m223w6gbX-Y+D{^J30}-1r>G3|cjA-aq*4f5o zRXKX1JPY1#>^+-VHx4qAtkT$}ZY=||3YI9BS&v#557n%EF6I*oLbJQsU02q3zBci} zWPh`ZwAtC`SKFiKx*rII5Aw?5sz4You?j*<)6wd?b{g;QYrD%Q#IYX#0TwU(FyJJ% zn13ESJ4UyXUL26R!(rFZnWV%!C zK9*bXH`yWJGIFvWNUHG)i6#9FlMoI>L^igI!$zf@rlw}xiL`^HilTMgQr|37)j%6P zb)#UjxTq5htGh5Z3H{Mhr?-mt~( z?uLh?De1>&tdcQ|WTlnX1NprELBi0TL+Esqb-UlZWE~M9;&kLOEPu+=Sxo!$?|v$Y z=M|XRjsnk$5;28!L!3tbnj6H>fAOo^F; z#7@fAgfu-sUXZT=b6W#&jkiR&>FdZj=Uw0tbH)FL)JAy1!#7R~bKibTlqtBb8Etar z=9=8QbsF*;(L$QPl5ihF$M=~-g^F-5G9+lg0GyDCkKj!~p0dyvwluRcVZi^9d9QP# z1cE~k4gD!v^BNk%6ZsIj_K~tENdDxO-oZ31LPjeCaQmihQi?y9p^1TF!=;&bJ4fzO zQ-5f#(M{#?Q|S5*dQ}BzRa0}Oqp?{pth}Pth`77PGOfGSQP>p*J1vggVK(4&*U8bt z`a_aA;-j|B8b zvMp|qUJoyT_0}G___PhdZ?kEw5l<5qiCbwml6{Atjq3C8#u>o+V8L-0Fd zm-rafsDcG7y0S43c`|mh0vI_Nsp?yHzp|&YOkrY)gEt~2tH<9~PYSF|P1=4W7uHK* z=O~CG4=okY8=vAffQzrb=}6hO^dIxl@3J_hzwENdOHhp-ucot;b zJ|u%AOwdV?&~Uf3k{iE2-Wo^K8^5Oz!$%6|yRq6qK^0KX6c0RRrpb>~x~C$QnP|h{ zrk{};7`$n!9=uGh#J_mn-?o0CUfT`!hPpzW z50QhA-NT8r@!|FgMXy1=`zZmI(DvRwS#b>odx81_fQ0KfZ!SAmyl3{$zs?DxJ7uPkG! zG&lcPfB){Xc%?hg;bO(oT_joc1!dqiXq(rVr%~x$j6I*57CdlZh<=^n!m&8br(vm> z4sD~P)O~gQ()r`k3xZd+ak_IeO93(>qElT~n|gL=ydk2*%WU6+X|zV2)sIsVN&SPc$TP zJhpK?Vgl~ZKoD6GZ7g02zKLmPU*P3Hux4lCLd6i;FqmA+<~>5dt&3C`514A__)#CX zY^0J;N*f;@Lf&jk??i<`L(S6tWlhdux9Ti;S#BXVc;0t3RW^^gV>GhhX-qu-Y&&SK;>;QMbg%DLx<3c8Hk zV8%zoo>B6{UBaop)6=`uNJltz$!#YxRWY37$9r!~1eS>2)ES7)VJ3x^X6X-U8B{Lg zCd}MnG-FN(YqD4sLgT@Cg*H7l)PJfY#d{o@(KsxFYO+VV+)_EcyyrXKGTN#VE!y3a zXs;&9+nf#&jAcc9;GY@?w%>{Mh(OU}z*}b#g9OM#*2^%ci_Km#g|WTE889zP*k^zy zU!aEpKCbeRt^Jzdn08C`vD?T`NOH!f&|?6nV>4q`co1gbNMU~+Ydm##_!?K@(1>jF z$KlSL^4GgcwmRGBMSrp=@0>x$MxZ>Js^FOyX_r0bzkGxVGaVq{g=h6y2^`A{=m_E>CP0TkD7iNv@9p;aQx12%P1$~vlW z23ke*g8{jN=-*f@h={^~gap%Do(nd7Zbb6ALbHSZ1`v#RM17e_jmS+9^GNwVzaF>U zoP-ED%N)ACa`ot+>SGgj`dwQwxl-mZu!gx}6P9WhzB7x%`0Pf9F#gkGYOA>O5b@VZ5)*1 z_`WhbXn-7nwv~aV14v(dbwA1(NMl#&tc*N1HAOcntKPe;mFXoe{;|8wKm01HRHtf< zZDbDr>s&-Ljc7`YSFG=7h4{i0M)zU+pZUALc+h|4@90@s{^O<2{%;L9dKPxJf77V{ z_K^F#CnNKJ1^?|YM9)b7A2FxD-6#I;Nyq#j7B>68Z7Tk+iT=qK1pu zSUdh{;L(cw3IDA<^;eSx?{C|Cg+FZumOnJ{zi8us+JAx!fBPu?)#s0Y{oi389thfh zB--k*zqjri-5oV|^KqLCw>1|F@PkO&^Fl98(;o)!cT58j`j<)8QUuSfrT zJ^#v{;xRJQG2;Dw{QuI^*E%s)qxOexy}I;q3Jryxd*^*|FYrJt2l)4pV}c*``Q;Zv zIFZQjQ!;Oti_6N>EEN_e(Ar1C+tj_3oSZf*ahq7TKT000E{OF`wyj~CfBRsHUkbzX zHNQWXi`H%dQK)&nV>cdVtu;xue|Q}X<1S$$1MH;RxC&(6B{(Q%+$FsQ7xBnfa~^G& z%|*1EEg?snsV*RUvAU_SzCQ+EPB&9LB~|j_$g!$vx@HStr@@jG?~5y)D1q+yqj=Nr?#sl#t^Ga(s{g+>-60 znnmQr231ty+!wVAfYj)Y#d~dDk9|;EMuRqupIiF4G7cA$I^K-T5V-HU!A1GL zzdGX%dUU9rgaw9Ajx`w7zC|PpFDy(7oo(FHGx&s2RZ_7`254d@`lUt>xJ56tt zx@6x~wBr>>Uh5S56O*UR#ePp2zDNx{OULs}zib^ox%1#Uz#SYZ42CUbg=^GLGMBn@ z(5d8*L|_A(hjVY6e<{&T^`&0q5x}dpX!Dq{ai11H<+HC3vs_2qfl*GKO|8Z-NkAOG zsQ*gh%CD}I*Q(s<4Z6w={b1ld%&~xsgVSpLZJY2GdJ(w+x_X5v@|BY0#j|WJc&c1< zPb1coo_b|JN!-^72rIw!;pIWNTe7E;#|y5%OWgHfQ$Ig>&3ernvi=#_^7$&_`fKp^ z(&Pm$3(D*J$q^CkP#j$xlH6u%^TT7s60qHBZ4bJ!B#$+uzIZh#(H6)WY8X;(Zf?h5&O3>5cLV$GsRQko{eR>o62fuLMRdyYLsEMt>|2N?m)&-yKce^dR)!W2Z1moqqqbPs2L}dZ|tcrmXLH3u+o-3oQOX7jXG2QNb&*I?w2zB?;PWEF@F7p{o?FsTAfD;s+HfDas;_?j?2-iJSRoMoDpw-!(P=wmZ201wiT1 zaQ@P2LWSKdJnV5fPt%CjW8eyDe6Qs-##!e~K{tif84c0*n+(Xr^b@XS99%A2PyQBE zo6T>&5h{d&36TvSo3&v*cbcK5Zc55>=58;Dl^W9UobYNe{H*NY)0_lvc$U;bpx%pH zaQ_Zs2M79FO{wSc*a@xT$`pqd?4$`!fMDW%>zVwCHZsG`#&lq$N!LaoPB#uHJD(h8 z8jAPM^Tzt~l#7nfm$yL!IWbe?22CE={-qLIoKs;{Jg3}qTTvWO-AI&{UD1k~ix;F^ zV4f;2VYV)nbY_d6jr&I{^mD~fP#T~bjT$R|zgN=XYu6(R*>=gubDkQ|3?w)D$Uuy9 z8Sbk6b@qzaK|86V4P0S7WxDHKHCBmi;sAaT9|919E$a*`q>b&64x9I9-i#N88zH2Ru`!n?JuX-`6gB|fzzrcOKugru^x*2Um{_(5J)fp0JZ-IR zM=~Y<^?Kg5DU+z8#Gl%NN2d=R_BWC!!{Yl4n5br*wkTSN?&63Sr9*>>XZZfk=<1Dr z$=+QAVCBtD5eSo{&nff%R5$o(fO##O*FkH$zC(H{+3~$D0!|LYp2XQ%$%f-DZW$pD zKRc|zckH~kckd0)u&=oOeHfAPe70X}pK?q-&K^lQyEF46p8E4$Dt&!p_1oRf^6IJU z=U0^hyuTMaS~{L0k{*Z^W7)keRaR5Pjh7D0k{PYqO)R3X!<}oSdO)G_e2bIGL@Vtl z6yKO6yQ<3e5;ZHd$I?+AZUmqgDM?;|nH{S*smDCKZPlhV!pyM=Z!R@x4wsVti-}M)?%)#)~amveWI(k-#HDi`I4RW6iYOi>rXGncw%X9o1LRy0ElQj(OXdQ@osN zoOGE=y@cwR?pbEB)lw?Bi^GvI@oHD}`y#AdFWCPa5C4>t{o`+x_om$E$=72eK!#YI zG7ED(Hh{!78iMQ_JPJpHc^gn$S2c~pUwY9`m!($Q^0QC?1ktQNETuJB_s|C5>;i8w z4?^msI?72@PVv?^N#P96A2a0piOC}8F>2V{yx9U;=BGfc&RJLi^7UmZ$h~>JZD&n9 z`8BaYI@BMc`pC~~mc!;S$pJ4>H3n&dve`CnDKkJw&XglBV+9Ly;r5-Ln1h)GlC zaX2Ok4r&()uS5b4p?{pA#%sy3Gil5SMQ;IUYBKS%HTPuK=tc4srn!v$ zf58pRzzfwB+YwZ73#-=PRbW`o>56l&*;vR9AC|6gAIV7*CEdh=1TC1bp{7JYbE3ez z{UTM&XI{PFnBh09$$LDBx5}d~-_~Ji0<}}Do!cjX%@bo{1&YYK^&n7zYx=^E2rOBpr6M11yE-c zuvMUT9HG_(0G3c~aTdqZV`~~mqi+xA-UsVHzM(1FcPASx1=80etOw6Q?It0;zgcVT zCemqfA9S)dztd$S)^Gc>7P;O3$_;X26XzXeQ7)iha3+a-l^%XdiZg5g8x$Edjn4$G z2_d{wZzQ2Mx4%&VfaSt%+HC#EV<>`4la5OzZ}2RoiP2{6p!<0Tr3H+=14^zo7V^b$ ztCzl|xXT#COGgj>WJ6(@UZbnJ7D9fu2iV}k)0?0Vwu5mV#|o^O58MqnBt&(XYZKES z@H0)L*%6D9(qirnH6S;zu-4DS$Si%k^_P-kb^`S_-Cc76M;<_a#4g?@uxEBW(qamA>T@l=ZHQlIV#Z zmO^70(!LOx3+%LqEOXKq;iZv@o)dIVw1hVvk^COdg3TPZmDi7M&=GQ=BcwT5E;PKe zqF!9Fq3$mcYW1&`p-?hL%U5|rSSAr!9V46F9=y8RF$`Kp5B(0?%-PC7ec<(4!@LMI z*;xk!QR|p37B~@EgDUZlqRq;Q{4DTQjI)@$6wkY;j$jGR>)Zy^p*i<7YS~a5K-$o} znS;ixpeYeoaRde9b5KZcFap_!=lu%KC}3tHsoadN0~6-B!7k9((tUis0E-83fn|Wq zp8TYGjSkZ#aO``;%%TIxVUSTiJPD8{$9g*RD=bj7N;{W`tlDjA!;txLN)$9W_t_Xe zf?m`3w_q4tnw4JiLVu~RE9tBgNyCOBKU9SGb(I3{kR1}u#B+_VKvl9=>gz^|mn@AL zN`RraG@-{aBM;5?%<#n*!@1m16ruIJEE5Gxn5Md) zKoZo{Fr+Onq41W_`Bi@d;q&kX$6T8%CYR;m(batn5+`-XL(kjSr<4`Go9L4}Xr?hB zdqzJp0byV=>veU|)UlCY-fW`;4X5>?YAU1xH2$UnVerIz^Z7Z*q?T7d{m`!i^r5`O z3e78h4@vedscT^ZWeuEbmAt-b?87mlAm%{+2{FWr1c$H6orwVc$u5v0$EVj>w$02O zV3UXsv}3uG%Ua$^mte~uEE^_V6NX=q=GOr_RarVHNq$dhBU;?d7?xh4p`ZvSaDxbv?(F!8Y~DB%uuxxrZ^VHK zJ4Lcp0t1;dUK1pYrrZ9SlZl-pBG03mLSb^_-m~0Wh)zVo6|zj+3V1O^Vtblb!GnYD zhOLGqK}$R3aLkX$cnBTsY`8o*(=wG}t^XSt?mHT>c!cotZzgOk=~kk`o%=G!j&I7@eC=RN2} z=AaqQ+0erI(1QqTkxDY3uLQcE@#t?*_e_BT9=v?UNREE0*4c{fY{odJnV+V0FuHZA z3=;Kanzq{uS?QHH8Tp-5Kyr9}wnLL$ysY^+1!B}t*N4qZW;nJ!amwz@dojh=_3j74S~9{9#g8%BO)ZZ60!GbocFa*fjuRNNpl+UtAGFh7Nx?6!aF< zl&&OWPLjB)>0W2q(%3(rDS}WIOn+V!vv$rRE?& zst#-zppijDG=uS+*JKnsO})C7f|e2sQrh(7tB0&NB8iPBbU(#Zvp~wgO*?H`ywxlN zx|>bw4-i5nr4EqF&bbU1nw~~62xU>5|IZvcCchBwJLzi^G{*PX7$Q;aU0?EK6bifxrcuyk}MTa-q!TxDN%~AQa~|u zHn2|g{v*{B;;se%6_07F;{l~1*mg5r-~kD9GG@OR&}Jd7MpO3yqUm(9V!bix@65dt zJRj9n^47!R?H=y!lNit4wL;}X&mgm&ypGh`lyRb1X$aD?luyf0r=hd6JIBUj09*LuKGV7&_awLq>OJEss-GYCS)j#>qhGZj|I@>6AHj~Cn zfHn6R9%)HfpKrFnh>~D_3JOB8*st^@EO9d+BxgCESk5>&aKN}9N<135b=h4!TS2e7 zPYWVX_dX}T@+D(j8OfFW$bk{!jr}ZAU$=IIG>@KY={TZDEuSJ>z=nkb+$NbTrQ79brS?4A%W(Y9~6EH{Ag z*W__;Dia%V$)%$7H_f!6;qt;GK0zQmQLtb415l*xnGEn4AeE~_E_>>uXyAwFdlIz6 zk(-dd&t4q4fOY=fnkE?$0;6{&yqiaLy^b)z%%e$gCF?+Q(w}R?UlBU+Ty_zKp?*Eh zgf;#p94xeB%)s!7((mGAr$ChtN3Zj1f5{%npwz<>LP`$7HOvb!h*&WT;ik6tR-LB^ z5}w@92ahERh0T|0S)1o|&W$D2ffk-TIY)1>#xS7KR2jykJ4F0_B`oL%==At{jIlp| zulzDEP1D)V&1g5uQHKyn%uO^EPzA`@Ngtk2=)8AKJp-kbTecH9+iG zOZ_7Ho9_`A1o#cy4;$$$`c{IN-38D%4kRBm@BgYm!7A1Yb$#4{_j@!)3{j(wTVcij(DCQNS*d03vm7%Gd^n zZ3PeYR9E|5)STdH&vCIoaZw--*Fg@YbTS)b+r@U<#Um2qqjQ75?p6&QGK3iZt?WQq?U(FM1+XNuMuku*1mh zbpu=TDaQYH8s?o&9w^?~TQT(J7PPX;9f%v6?kW@o=qfoxUo);6pX_lJGVh4A_s!8_ z)sl*m>^oAi05cd05v@3tE=^?L%wNYb64%zHKfj#AzHJZYfxd&fN8Hy%RqM@MS|ml3 z#(&ENnyWLCh`)A&)02PW#y8D!+5!pGY{-Zf=+)Zbz>;Qfs53F*nPHsR0^&T1yP628`-LGoW5RO+}L2FS|I?%Fg^ehEas=@uVgH>9k*UHBW$QZBNDL- zze8)VyEnls>y5~7orSvQ_%lGkzF=F(Z?g}(qcjRz*7BGNummh{Op4HX3$M1bM_j*L z8NhkjI)ybo{TF>90DN8WsVg4Uphp&WP1yJ7XIC%S5fXmTppMR7-Cou+?i_4duwwlJ(vO^={5|!AVF(+M)-=_0(fEAo~0HP64#+gXp}si_s6kH^$E17t;-W znY-_~#0qqfWi@FTpfzoenlh@PEb7RPBfPA+(XvD!C$2w-I83JiMV?8MV8HFNW5!%v zMRa5>Hk4yNSU|M-9;A=UB$)VXi3sMQ3d*^=C>_Emb0;SXCkxg3i2x|D7dfM0HEvE` zpxl`8_$vRhW`DmH_QZLf6Y?nx_E9-9ky#e=YsC--JcHCTws~I0cSj+c{3j|fAq+PH z0GDo7eBXlqu>*iB0bMqc#A$;xzEy^C z#0HU&QQ}6SZyIclz9e-!ee{{y!)#66YB8;DnR6RFn3ZfE6kH-^zM2EpHX6@RXuKtn ziIqOc=!sjk3N~suIe^qxBeB$bb3t7ho8r_8Z9c2!Zj!?M9-j0zkAGyQXmJ z6EVG-F?}t)r9Z^888ahE?EQ>;wMl}v(sg#sFp`tZaQj$Ha+xjx5|OgxADL;VE|qv1 z97PZ7Sb5b#Nr~}R_CXDE`jXM3_J)2C(+G|SMe`FA5~RQvShVs%X zQs3h^H--4LWK7?54d(d-_FQ6DGCZLq-P)_z&=5{s@};WXofq<6$SMfCl?tBBu67#!9vEp~b0)$mF<#RTQ}0ZX%tF(Df@At?lb zoiLvo9f!xXO5xQmUz+pM;QS9kZDtGd2z6y-PympqI);4egEj|o{@jUV%5InLDYQ-G z)|4R;Q{GGa3A6@R(&J3}C7+M0WhT@QbVpGF3e%|R8Sb1V>mMu6f%XZe+7GEx@k0CQ zo>mw8S<_sW3BtgyB038IH?2q7Wm1KdHv)83FQ(~?M74^uL(|sR@4yHNyS@Sq%U+eu zK5=wHfEE~yQ<7BWQD1|yNfY;mWfg`)=wW4(3_S4Dfq;%NSA}NP2098mXTkOPO5sz) zmS9uG0Wx8E%#oUgCF&|TR9xh(1wDCEmz)}j`zveZ&d`iOM4r6!q< zov@hSQ9d6`uD3HBE4hO)vVw_XUwR2rN4y|tb?;Ef;DD3Zj=z@q72`=$N8rx=P5dPx-h_kaK_JDJ~`d8>jrWVA(>S4=zLSAC30Vn(?& zbRBP1_dq}h822ZaiVN+KCu7yBgXSv1eaBRw>F_{b37^ax?3;JUF4R{TN zZs63^z%Tcex|NmnVXEN=5nutdS-ygq*ZfYRmAsVaBR;T_>?hqgd%}ek<^0k|Up~cf zz(Kp1DdkZ{p!P>bTvtUXPomm8NLvf$iwYxv-$E{}`4TSE6>3FX`GC|Ag{qx!Rr{3Nf}DDZGKdZrNIIG506OF^HgB}08CJ_vO=bE6TmJfqo6fX5 z=c{~ynfl=fBQq{LfV+IunZni`8Xhysf?Sh-ei;FdzNLnGDx9WRW;X$(T#wd+E_I@qas0nr;J`paF zBYArxkV;mVcWsePQZY>&CPUc)=l5bS?$S}L9v0EkbO4f@;3NYJwf}~V>y;#_&=*q@ zGxA}UA(pAjz}rHHU|pMp0_`o31h*Hq%&rR`)BEVo98ksEu_prfI1rEq8TIKhU1xnP zTNti2Jh2_S6zWL9(^O*1NkURmDtG2znM~|;>*DP-1DedoDHcuMw_SXk!qgI<1^&_v zRAi*)M}k#xRN`07Cp1QfM~2^4D1`hd29_6o{27*xOlFNDn(5<|ZVL(i>8VX}znZnxt!&bNn3(D- z=tAX`PkcQ3i$_XGQdFB1XLi*ohDru4USWXYXnF?U6EeED#giORJLqXWzo2AOPID|# z>M$IMcq=)bYC^jUFw}eO9F>J@B@rZD)UrGoZmpRV?rk%63U?!!xO$P`P+yP;pKGBP zn8QJT?OVj|INAUKSgX$|9}x&XGM`(DnL3M<>X&Wtl&y70?f}4ApT-Nt@nepHa#*xj z;C!PMw!4-&OTRIIil5<4%?m)aEdxv!6YIkGO(7R8lXnLN1$26RhV+m^1~|9B9`W6D(`BJmG1RZ5bSmtAXTki7Cs~?P$B@+|%h}V_1|@AxpT)82 z`L_oqezRZ%YJ`*_abY?4h;*a@rw2Wyi+ZSJEq5`ncHmAc>zSWBz*27AJjhc-!E_;;(k+;kZ+EW)=A%yN0kb`BtUm zz_R2x#Gh;|z*4x$Bp8l3XSAOtUlxfNGoDlac{@qnzO&%nDo$7JVAh`-FfFK;LR>R^ zrI}w{9H8!aaGb#sl#*k@N#Dos*{@4cKOPrXiw!X7avf!>O6D4Bay<2= zL%}0QJ0#p(WMBEkZuTH0RfLWqDjvWLNJkauypj14k@#DoeWVF4vD({r%vvOUwTe9< zW<)OQ%JN!${cBe`>UR@iCWk%M_mJTApRZ?_Y!#^u~(ZHYPp96ZQNH1`qL{5 zW@f~DtXLYV%hhCgq#YFVtnD%)9EvlX-nuLHGuc|VbqHPe-&VI)$F@m#I1Lm!`4m4C z`Mu*8z{7fH0ttv+z+J*alR9ThjD74C#rlw`0cBb2nPq$I?Nj}obp~;#Ujd3I;=OX5 zM{1I(pIXCyx7P-H-j5?IHD73n6ijFTtEa>858LG@-1mR*bpGjrC_>WxM^ERU`9ny$ z|L>m8zk-tgFHh&+B8vaX$6@@hy_^4>Ze*gzXJGiZsN=uIA^&@UMuvX{JpYry!~FBQ z|II*Sw6;{@{&0NvOwGyPdLnUZ`QTF91fxcVh^3GfraE4AUVq|t2sj9Nck_*}$INs+ zRC$28dfCx&&stoKSK6h1C0PSDhubDS23z zzYjBDnPeUH73g7ZCfh4DGA^plzwI`mmzkgXaHecx=x^?8?JcadysK!b^u!!C;cm%u>ik(y^S5choRLu%-GKn( z+#l65Mn;w}bapJ4zM@;|@`}0J>^z+bWoPL4(#^JfyY+*(;=<3ob**gYU0sbPj}9c4 zQrwKq9XCU|^7UeMmd=&a@xi0-FTQXoL*+s>VGXlRqa$tNo}=D^v3s_JtF@{2{-e>4 zH5~RGFEMqA+@1uKar*^WsN%zNB2V{Ha=WW;buNd;=gU31*gr&IDj|&|7r9AiV6L^E zbo6L%=TU%j)6S+nTCRZjWf;ZNvVW`j2s|7V0m%GmfDNz_79>!ty}ruihr62br0a4x z>zY@V)eO1qwFdKO(V2oXZnBbW2bm+QvaQyYlEDO^dDqfjBd-qkSH;<6i}mRjOq*JK zAoS^Zb}BS~S@%$?8;;ZgqD{`}+pl0GmspQJWj&XH4PAfHSd}og6(RyU-;1_{- z-ZgwUhAQ*@D|xI$G`Y~WrQB+jwYjg-G23fjNNCbVfnli!3&ZpJ^vc!G?U{!up)RPX z*Ws)>>kwTkP48HgKYB%))1kF3bt|^s)`F}YtBcI@nQX8GW_zQ-Vmt}4auhqN$L&PZ zE-JXCi(`DhN#@ueJq%sD>N^f4o~S8%16tHK$asA-E>q1iFWT>vKQ~yr!)9ej2icC` z4eHKE-n&o$2@de3Y!ptybZ8He2=vxrKa;?`ODk;{QmY=dS`0IVB}E!x1^f_fMa&Ht z9t!)-TTPQHCT9~g%P&1$V=sQM)evyDMVCV1hZ=y6ZY!-_{CeCz+jS-o4K1il__YCX zS<)CB1JIj~f!Lma%SngWe?3`#!`6$udsX9TgP{k=a5MKy$tuIth|Q0sC^GsW2V|J&LCTk;>ZFR4C)o7P7b8oD=anX^*GiUYw0je zW7`vKrH8y;GqIuA(*44)T9<&!KH3gV0^-|1KWC#$N3f!p%qdI6vJm{L5S#M5c$+rY zmiFw+Jik2h^Gr{+9u9(66rtpk>HRI#Q&QYWOW7Ld67lR%q+-P~svhr*C=p9;?1qo=lGNNfk_l3?=Sd z*6|5sFE4fV4%s1ip4eH-?az-9H`Bdd-=vuU2&AmysR{IE8nF14f5TVC_K?&yMqlok z)`geo7^1Ux$wb{~^ptU!AN@%tU<6l~%AT;Q5$aKmmNcT>)!b3TEd`nns4L2Ff_)UN zBE#2hzbh$8BfpE{QZ3L$h|n+rW167EGO0vVbAgoy8WUwfzr3AI65dx93tw0zQV=y_ z0DkyGO5gXu{|Thk=ab>;-36e<=8R`M-7S&dKSrlrL!)%e_MmWn6VMuJiP&elj$o9| zD?-8SdH0Z<$X39aAV~8ruxiEeIJ^vxp90YoL~jZm#b+Z1R#z+-;Hb2pIO4}mMqCq6 zLcu`BRam4X6aLtAObKwe0M)%9j~iJqU)N6}KIL432oD!3{K^fs{_=6%o=ytgR*k`R6~3*jKO7DdS{}=PJkN_}XdZGF zZRmb|Ap+%fAI~@kMa2u{)1iY1k?_{&aBaEdp*bTd#>rkon3x=oGwtJ)`%PM89ZPCh zF2POz^q%5vC)$p7$Ehr_L!spP9LCb`9V(2}SW6=}616pAJ|+vrtR%wouvk^8y8XGg zhz?ij#S_FK%wms7CTG4vw8YWZu~aQ#DSgphYN-5GeJDlg6ii9Qq7*b%=%kOwf(d1o z$cpaOSHYzrDq(L3qVQ{#M@&cK9j_@HMbwgclsl0z=L(h+DU~UIz7EL0jbF8on*W+! z7$;$9U3`6zc@Lr2OD;pZx1%H*x2^y1f_`QF4uYg%mJ-_g(ymWXF6h!D{}y|le->lRX61;D4y2ySBCKXr(B@~nnRy@|$d&4CL)A2V z?uW2VL7&*aE=n8(83gkYP;sap@AA|!dJ0c7b`VTlGj4FUU>)nMdgPf^h#Sl&`Z!~2 zPl%0VA`OdJtW#lQget|&5n>PCh@Fesw=`?`HQT`pb3=xBQ-cy0GYxAzWz4E|!G4-k zQ$$twmD1K=RBL;KgT=Y$2%=D6+rXFUK<}HLA3kVyvPTiC$)+HvR4SMB?7qUYfytmq;9AjHv2EHRukF<3y` z?$4Ulk_eURfZd?wJRvyL{);rlhxz&NumEoG)iCeJgMdm_Kd6ZLif#K!GM^)&Zoy0w zRo66(>`s-9rQyV+O$$5aCEOI1Y=N-vDCkjoV`W@dqDE(CsDJ_?)6(+Z>R%b8SSIP0 z!eJ|TEQwNb#DSIOu4k`W?B!UU%-#8?^#iQH?UvQZ3p> zxt3)&ilMP}j`HZ*J_o>_urT(1Pwd2V{YNJ&Rl!-zFFgl{MPrwXmNGeX8{n4Q=z?Ua zSaV#|U~!GF+FQS+X2+sm84|rA@h#12;;bk;39+O0KyNx!t|ffB)4H3%bDe<4f`nO~ z_(b9PH)>Oj_Nc&7pQ>CFw&Y9M(Yo@F;EwHLu>~7*7QG{v?aBJ1TkA&q=n_#fgh4TQ zV%?UQ4NL9?CXZ$9jRUwR&z)EE(%7v$m?@dlwD8-YNTY$X?D0Mq?$Yy7uLIPK1g9Vy z7EI2WU<9XA>sarEK0A{~_8F9xLCUCcmsf`XOPN?FOEb<~=y%FIxD_G;esL;5vWcVu zX~YcT7X(KX9du*WrwBZC7R8+ z@iPGVj1&)!*juoK`kQ|i^vgQK=&e$qB_zJw+)jXX2k$BkhGSoNg~@z4xBI+24s3tn z@@De|$?^H@)LQ58`4kGG3tM3GZSo2$^r`9|(XYVe@_k%0F9(2fxfg!s{fx*kPsThD zfj@lZtjFE3cPxv(rE1E0su#Z%;X$KCWgQ5|g-$#vs zzj+K3_wpsk>IS+u(KBn;2ZU4)C|dSZSs!PWXvWt#{TIo$0`gv*l+J$N z5#Bqe0|_7a=uh;{*nEHO1;krn_irdq%im8!SnY9@@bdob=om!2?KDP@Iy$4XxLi76 zyNJ2Jgi|8|x2XT#wgVPH1>hfJ341Z<2<=FuAd0WO;#VntHyMCLmgWF z1O>IMN?#&zX(guCq#;g`uHl{Ij8$>Htohuw^2l;A$49z_oNenTy|AIWwA8=<@j#xQ z&E9vLuU`?+)>&zO1FG)<)t2H^DS$&Hul}R~gJDkwq0o}Zv>sz0j7P-Xk_l1PafTkB zPBN;xmv67+6rG!Y`eV@C3tfw?@EX#-pW-s-#S3CzWqefZ%NQ_T#u9)eS(?ty`<4^k zRUGnpy8e`?!Z(JB>k#=}YN0<*uXpn;p_a{!mJxX%taa!O(nQFbdQlWiS$~!Kf%M@l z`m~vqR@9w3Hs`Ngq)7D37w7^(=!%@APU6xF&`QQ?egmV*EW%wcxXav8O0S(6?eRzg zb{{95mX>GOq*Gcn@Mx5uD^(l)Q`Vv_OS{2@@xUN1C{ZZg?|v4JwxGNDR634yS~3k7 zMF&~x&BQqMDqA4Y84wtkmxWd}z*xZ*?P+O?fTdA^pm0{20k(>Piw?P9S_h~D&LQ^g zk?|$`_Yn@z2l!N(Ev8FkF#|hLgU_wEd5|W3cTD_Pf7NLv1`f%KiCw9B zfTa^55mF7Ov!17z?lZL33H{3nL0>a`dq}N0W;S)xn{y1d6}zL>_$%0IuL>_yOQg7(VzYz`{TJ{g~1SM+E;;G^by|WLpgrSrPa= zj>v?k{53UN>{1WRYK*bGBYc7OoD`%qcAtDwCEtom z&8c@$7lG}$nUlFA9$CJ15!LdP+MwNo?F=NILS;v1J4V(g%^6#$*C5YgUN)}z5rr5w zd`+g(Vf$&zc9H={2M3~FNc7aZA~l>i?%!=6mA(3m_kg1YJ#mnZybEU4Z$z59Gh3HJ zO8qlh+La`Ja+1t1KW!EzP9hS8$pwRiWfI5FJ@uXU03s;N?Awh963;eftXLj*;+ zJZAW(cY`Hq6?oAlwxQ$~b~6Ucd7TPdqPKZ|>-KDgz(n@ot7%^dau`R2qLtbAE!`sA zBB_+~*jVJz`ii65Z7EJDrPM4lp*_2-9D6WoN`*8*nRwTiTi;plap&=o!z04Per4l? zWm#yco2mxrxo*u&&Npjrd_%htCw+jl30#$oof=LJg7%G|li#3x zg^#jVr}4rK?aTnjxR9SZn7s-6r4u=P@@z+ZNqH^F(C8Gzei5;o^XN|WF+Gy7%hZJEZgvud%g;Ca04 zg@*=CAiFrY*gexk!t~L#G!Is;q?A3S z@y8d$dO?#{^<1O5xN|h=!JKye6+ilvxjIkT447buE+~^a*0^R=xf3?<2ve4 zPi6;DOL0SPqOriaVB_hBw%}&&nC(TATIBWV`d+drC)@$FC14Nz@nQ*_9XE#x;#${6 zHk`#d#gnAr&S`N5wlL93-R}&INe#gVC^err6jWIT==(>=HpFGfC4%=J{E(`s6#HV> z+6Uq8{X+&xJ5gK-@*>)KY$7lb-$(Y_UIdLqODKv zsxrLK}p}Ns| z?Vda=A^M7M&*$h;`HFpabMEOzm0*e~_c4?8rUQ=m@bZpKTn!aEeL(MwWeawZ`Z~OH zm3B$%j@>n7$}E0zS9+xfb;p0I=xV6sM5D#)+~C^HE@T1QC+5G;6d2k;(-h$^aJI+ zK!28n|7k+8oLC4KdCp@+te6Tzw_@QP7Z6FL4Smj`J$(HwG170T3?N690to(BNW9L~ zsrGm0>iplk^cL$=&Y100@kc>fuVSME{OqiZ1G2>$dB;krUyboKP7VsDhVhwVcrzdc zw<6C}jti^>N5-z?=Qb-Bev)TDo!_mQGoHPYs|;`zuf_rJMuoX|~9_Vm0rc-g1u# zxGwnK*gK9F1e3&$uv=Z`Ts<($^Goe!F|m?^wjx(g^Q?7`n?;ThrStRMa<8PZ*(TT1 zCPXtKV_(bzE*f)e?j|e0{RjVWH5W@Um?PozcHXqbLAIeXj=UYyo|Rc(<&F)Lz!!qh zp}YpMK@es~*>?-}aI1+LF|(Njy~Q(UgZaa9P3T{cei|zhpv=D~P6!Dkt7eNJ+0?!Q znsK%k(wQ@zy~*Tzz(4IuNzZnveJ~E+P>u)-M7VVK|70~W{Hsy)|JiE#=f?l(Z2fzE=zjyx_zw=$zZZ=DdnOX&f9xs!i;D3xP?7P! zYa(rOjU}89$3K5TZcWDE8!U#1IC;`p2N&0x3FbGu)H(x@fbE#r*oN+<5EZ(!+V_g7W8>vzvRnV%C41v5h#5 zx=&gosC+*Fa4%+4D+ahHDZ2bkf02Cv!+S>f&^e^w&*m!8!=0~$JQVAm=(O4 zp|6EDZ)PCtSVjd~rLElS^T_M*NIL^D8$s{rSSuyG%)NfPn#b44$<68T6L5q*B4Kkq z&~6Ci6-v%f&SYh6ddO)B(2`xt!4xE+fVp!*Dnb&F_@ZXYQ8xWQe%?ECcwDp zFiwc$ZD--At51h(tt``TsqJq;8-mhb)7(Rdq3}K^fbZQF`kf8(jh~O2Z1c-6KAYH* zrY=HR0`ID@lRe}d?*)Hz!$7B#d1c9Lb(lL4n+rY6m?yTj^iG|KN<28?O#_d9+f5h^ zsh#oK91xnF)>q)e!_o_i{y)>EzI(WNIAa<4ojK$Ds4Q!hl&92X?*L28EQHkwp zG9c6`A-7)C&WHEXbO{F*>**El@oc_Jy5V(MQGb}oOfR|cdrzVFcg}XH<}q-)th#dA ztBiW{t(upt7~7)yS73ZmE@w zTriL3M^S)Pfb?UToFQ0~U0;({VpIE2GbY^kjxw2bqM)qXUL8zswR^`SR0qM-`rcail84CXajB?dI&M7a)N z8XH^1EY^RdiBtG=zc1;eaw5nx<3OMWzpQx4= z1Uv~k%4_Y0-;Rt=FGPM~u#xHpI$HqvO$4Dg9p*w+Ew7DVzQ}OEu2`SWM@oJ&K`v+> z4fa(2Dj0SdB+~pSdt35n&?jK3av^I1f_WQbsUJ1gL4#IyP`UVUrEEZPtc#LsDHK~O zO<{Z_Y!u))$jC^>Xh}F?tSQ(ugzcLdHu5=P=3%-s_+2nkoOgWX344rV)uQ!pIVU;w ze6JI#koJ;66T;Cgb^rnVPXfb1xYB?RVxrkyS#vFmnpciBBas}M8IdzI0nYQwf>ZuF z`4l5;@4bP_Sfq1hhlwW8*A05=^ZI&PqWQ&;<;=PMKkuUL*^mTP&j-Udsap0#DS>cV z!iVU7O)NrHV!xrLsi*zH<>gV@1{W!nJ7I$)Js8ypg>8{x`8#D6=c&j+GZZr1$tu?VF#t$eko^33R|-hBL|S)B)aV$n_k=U|Mo;jWhGOd? zqf>rS`7R%T?2MjR)8ahu_zSuP^Twg9Tr)hl_KE%+WY>xbvxb2#h3W-zR8<(@$j}&YE|nM+HH^z z^jmClQLimPW}ikPJSt|i8A$BX2TF%?23?m*ru&-XPaZ9vZi|#?C$JZVrEm%0R++;7S| zAR%f$Nciyg1d08cj~hude$~h)h}RxM6GGEsWFVm7$_=8hk*%G8{eWlz!F~ZiX1UIV zfkAc!thWs~C%Mbu290u}PqwqDs~pBc_h$7cJKEM2s;taU%`zzUkAzFu|P-6zb z@SVq^1BpKm)xZ0MklUpOR^U@yDGk|MPr>1+=`n~*Qj93J=#Ol|N3@XL7%<@*vLgG? zvj=Oz&VQUF1r2sq;htn<>c~(48<=z8={!PTb&g)T((X;_HUC7o*Fl2$1oPA-BK{Tv zP|Nmo(Fdm)_=Yr*lS#8FO$K9k;&{=BubV+&8Ns6lUvS`opCi++=fy@Hv68pB?R`aU#)4}khN0w{(|6nup=iiZ zHU^O}Y*!LO&?p*kn|&YHKZ`Dq+72KtV_atxkJEUorIb98pNHb8Iz(WiD|QtDSXebIrwaE zL+&4E;r82nC%gpfVS2;(!+(3=jm7K}5^miVRD=UaxU^q3ZS40O=!YOLOX?m!uak~> zpyaxO4eY8d!yQb>yd^56)pF@w*dw>_tvG5Vj?aWbvaX)b?>$6u@ZQWke^J^>HLnX+M{s(D-Zd(2I`txG!NSK3FK+o#&@^cX9 zuhzLx`q}yJO;k@BZxmCIN*EK~5PNe7M0f$nM1O$~GH1;{<$>7uYWHn?PlId>Bd=|P zuN<1CA+oxRYyKQhAW^Fd4vcW|z(V;8#$Gqcho~d`T-iIi>PhJ?1FK37Am3i$6MS*+ zKn`Bp3Yeew|NDmPIPPvRor_aJ(3La$S#KcwW=Xq z$3qMegLXz{SlfYYvIr(*DSWw_PDm!>A=DZa$QbU99vP%bNRdfQs@AN3y}FWYKpD|Z zi4!h|ZjjUy?tB{yJQ3m9Xh@7pcWntAim;1tXu;9Tp?i^VcsLSmN(hS?TjEBsAL20? zv6LS(4<`0Hyfv^5GuWx+DdUp3ZbKy;vayIWQ5y^u7)IE7ot2r_oThh9W9j5tM{Xsn zq*Fx7K_DD4E_|S`?tUh^zIg1im#-Uq*8!#rk;$hdK0!2zm>H-tcyrRA&J!iK|Ae$l^igMg?Xgg3+P%; zV%R`ypSFukvQd=j>G?qBohTF&_`;z;P;)~O)tYqaTBkXCDTlDF z^@0CPaJZbcoEQn8xAgS>HE*;mZp+_2RxJ5bi*URw5}Oi_dmdL($fOfaaU8l6KwQL& zu})H=h%_UZ0ZcPedRCJlcGBd+QIQgj!h4IrlpxVDs((jE*HVaI`HU+fMSE$6O@{^X zZLBX-X-+H>&w`WLZ)&t4w3l>nVv48jzzKXkLK38kc4J%2;HGmw)Y50J=B^nMEK#)v z-u}k6Eifdh-N#B;fT~uxiGEa{8@`XnS^WJy%BKB_aU}+6;6FYqqVCgemoO|0q*ND- zK$ip)g~k+uYe=JB535{8J>)+Z6Qvq)C!eEeGb^6OziF&Ju}u)nXr0g@O|(?sK-tj6 z`gP2Uj8@ep<3CT9v|A6`{iH&U9_Dc<<#4<;5r)JRX|iBcyXk%aca;zY!5Ek4!(==a zk{^8J(%FD%-M2%Oz!LEEdMTbQ%rJPI(2?@D3i%>fUfy+n`1B1rN}SD6A~d7?ZK_XX zZs(vL)<@@N-zI5LAN~u6?aMR^i|vaKe{g_#u|LkD$fnvDP1}6^d7?VSzdH%O`}i;Kt$CCF zYy6lY(+rS=%6YS5$3YZuogiCCR}n`(-qm-!(8C&G$i|MuqE9^T-0erZ_e2pl8h`*# zl-p$8#4Prn3&6-kvm|7yIC;$1{$KCXc3>b0Ma$c^d)F-nxgt_djV^E^><~RN<7}Y`UJ?xM)46jp{~kiHfy7o9mq9bS)mp1 zH{-Ot@XL-uFkl5WX06tEWb~Pw+h6dQmHS9@KSzcNG*V{znr}FUVcQYs3UA;x)g>|& zB>ukSKg=xMry}}(9=UeQBU1e?ZxGv&zz9A&|G+ZS3@8 za3!f`CE;xpq59k9v$v|?--{kcdXTlpWCxmQ&0qdXc2bD<$2kW=9a#@4WN=U|2$MSu>(j!wJevOsuT`cJZ_C-;@3S01f|d zIKV%YCu=)LC3^!SlYf3#LQV`nZ{uI;tdJAq&&5A6!#}{_|G+9{p#8_Hf6BT)YU)1( z)qg3Z3_mcYAM)`36&n1jD?`Q!YXl+W`kjik*+@d7G2=ScN_ni0E!Dlj(Xd}pc~4-j z&yR2B@9!a6aCl;>Vs#UXxwM?q)0q~pTbD1FFV2o)_IJCl=Z~vTHok4&%&yN@SFRqI zIXVyD^9s9wJedzK*lH_GGBw`jmzW~$}WW=J@mqi}np2q&;PWG9ex3mIq zlhgd=Q`8JCZ7S>(_JLCKcmBwmQf0JdCvgd>KTXpV4V0l_;*}1xFp}3IUg4;5W2!EV z21(j$I&X6;RkbvD>YEunKIwdU*D3>IEHWdd+5NNLlv1Z84iob!v}4!DtME*ZkTfTV z!BWJ;v=j}r4b@NFKkIc4x`j@AZoZGtNy{RSwJW16yeAW_d#4$MD5Y$%gCQ(6)j?=# zsav5hkru%wM=PZ=V<&SH~_6Q6h1em2UI_vVS zc#AfO^Kx#ou>p_%AKub>jP^5}5)q}bcN`0-0|EV$mL2nA+Q4kj!` zqb3oagPlu<>G`IHW$GIVhAhTdN$iJy&bm5x~0m!#*E_i77JltUtaijv=wqpY|%h?VrcvZ48%s($H(Eb)GLgKoJ) z2y@b`{oYoAcpu}g#UIh3{6jK2uzsJ8)pv;DYWcdScX|OrJzZP%#?aeY(twgPH7lVh&M-u!4Y0vz>Dq$v zi5Z$5)gh{^r0lc@73`e;BaEZ$%jl?$m!CwItc*tbWtHcfS$idRl!~NdH015$8V^lX z&A4hQ%WacXd~>MHt3>M&^;n3ww#|AE6bI*ie$Ao_YpS8(zccp#oRNYnfFXiYn#oR; zEL4vDc~JHm;u*_B`_gv~3RakUA5~Ue#(vLYj_uynjzJ5LT822D%*ne3-T%7@5&ma0 zvHI=(mErA&Y59?jL$kX)eY`YR521%Q5tmas`spEK%AJA5Wz2xsiG3W&Z8|#mkB_vw z{O#+P!Qy$|@@#PEsS>G9UG^ap8U=;hdawlHqp)cb)D;J*{2wyfpuCRd?5J({t*KS# zuVTXG#+r|JRDrm3os2eNvOF+oq4y0#I)f-J*BivIy#~Y>%b5EC0Y#ntMgc>5W}|mu z!Mu|m_c%fybTzZ znB?|jD!YaDLr(sciCf7YH`11gZ9}_SeTsu|XO8iV+MVx3DAEwZqH09Fn%mjH6Z+r}GAG2N== zCL_=c`SkGH0S@3dnd4&7V?8!I@$!6rK_ak!kkj#SOS&=6U2xF7PGtL=s~e^_%;f1)*Mt+V3%4uO)yF?=HT(^M51PbyiATwIz><{nDs6WWSq7#n;t!Qenz z7ZxR@%uG}_%#boP2vJ4`MmdB&f`1r8KM_jKCC#*rJ{`iL-jDmcF*?&Ujm(b-(`X$r z|6!TjXjEo3{7=fM3T#W7>8ztiFOuKX!)`;4K&+~5&ycG1B(YVpUA+WiL0!(=Ec%i* zI6{o|^t(5}=8=17YC)||b$i9QluMK(axVAXcA?Z*_A6G|rphCT9o=`wB4&b|?igrf zhf7g*=Dc|jUGGdmTS)Cuvsgs7F9Qqe>r2V{H652>@zSxouCrIJTG8L;xnyZ=vJLw% z4dT{nOvBhP$w5_wU5zILRE=BLc#`!kb`s) zPk}IBs>)%gl5?*R@VB*p`9{Gp zuXX0&!aA?v=_XKBon6WCErXYYrlrGU(}P?CW(T>=(a{2V=B6lfQH2XhPTXAWe~E#OZJp@-Op2{N?>h>kdjFneC&8&_y-LBVmU z>+;#Nqa+S-@&&2*+Na{7=~jhzIo(#QXpGZyA(Y0!TUma< zOVIt1gomi51^fMH1>ATxa1_ibt13pPW)IW7SPw_q#-fvQQ;hb_+Lq);fv;Zuwi1G$ zto^{jcJI1$BV1K@L$9ewB9hWI+A*h(%nj}@85##O<3ny_=@KnSvs#78f_#v>_{OQ7 zpAs@9>ibxn?%Y1*h}re%-O(SqD{TjZMPrT53s&tDmi|;45=0R_Ihu*D!;q7sh##Ss4zds zG{b>?ywQWLVPP8qsiujx3by34q#1<&1{+5+8aYEK94LNtYCOK)0wyci?a<|N@)nz_+%+1c-T zBJYp+jIfkq0W8BMByep$ie*|HbBCSoKkmG}(WzzF-*|WC+?4szM-?ulg7=mqkEj6f(2@R+?L*(Qr<*H$(+JwwoP;ONZ;xiydbkWvR+ZR`$L5s?th?mhc0F`&aHuzL~*lH(W{3Y6;`sJ#y%bljXxj)n-^=EZd)_45eJ>zn!eWWFz*w;fd85rUBQpyF7%@havHQ#>?9?BgJ6d8G z8WBO(M4r$!_IY92^u`aWD4WEV+159Zio)wU4@lKqK|KM2u$6zp#`Nw23uFRmhf^6m z)gN>=`B_x`9xuaNv+ltU)K}Iic*G=3# zl8b^0;2?R zFbZtyCkf@_O~t5fjJvP7>)6M!qH~Jh zQM+z0fT04eA*))e)S`(iFQo=HA1`^l$-upmO?(yQQfb82(KX#@&7sJfwJRjRd7~=u zW$Uy2)(ybQEJ{0&QnH0uI{9uPM5&9qOp2-I$162&z7PE}79I zF03+W6L$%ZX(*;+j$c2ap;-wy4a>Kh?uY|c9|2is6UUe+T^kozSOPvT95Oc=x#?MU zvwrZ?nLCvbmy)URVdNbL2ZRQAleu?24veU4EUvnSRo+=zjcfU+!mBg2xW90K{W`D7 zv&R;n6c;(t7we#++{tm<_KCY+apO@g{)fQ(zW{(gtU7;|+@c=t)=sWubP6_R)+QGA zU<5(j)xyNx#>o+A;ts|afPCz%tUPSs7b_bZ4=bzgKU@6SNy)*{M#|O1($e0747_%? zv~Y6+?`UFA#tB|~n_9S=ka2*UD>#||m%ae(>}-I)`vUJ~?qLQ7D(DnU%*d3~$h5&( zlRt2N;3QM=FmZMFB?A)z{gvd|+a27Mx{W*dP;{0yR&Mlvmh@l{=g)=w4F>$#(qoYk z7Z)>evoHs*{r^f8VDRro|0G)a&qm-NelQmBAC3MIm;cwF^EU|e$AjxXAQ^R64~st) zV9*16oWI<=SQItIB_)(7*~P?7>}^b4ZJ5QJ?9KlsP6ArEnYr3HyMzBPFcs9_z=M{J zxw|zuK{enn(xg8?gsYpoxV4EZm{JK0Q<(gtz{w82VkZqp8#5VwFlNCrNFsJ**|D;PEc157{*Pa87}RVlIm9S#Xk zRglIq!5eyOjDx9%o6dm${-c*lod!u2YW9{Fv(z$=f)>T}jQvjj!hVWvmy z2TfokNOAj<_-8&KOqNGfVX*`ntRY3q8-GfNnffFX}P`b?nlMG{M&zTb@xBMP#hJZtv znvz<+9UUXGz3Zo+#Fp~xMA{s;cAW@(Q$gQfpwo6ZI1BN z@_CQoB_=fAUjwPGhd16H^05|zTNvtz6l#?eI?C4g3wF|&J$Kvn4#feK`_EjP#c{>G zW=jL%B9BY!@C7SE1r*)U29C{ro0`ioJ**=dc^%lvWusN^1VlgYM5R02cB;Vm=9{H z(~_p#Bnlj0zq63v4E*3hAzD)^$eVSNk!`THDg7$U zi@OVSA&tJOs&K^<%!25kmo`&`XSMmYxDha$v&{KD1;(IAzyr0&%>DGor<{zUo+`OT zvT`zb0guC{iPK}cFee}W&8L@_z)e4(LtfbhKfS2Bn|K;y>1Rhpg_uxMdI{n=MeQ=| z`y*4A*!q+99tEj zkOJE8s|YSBi=a`n+gWF)bKOfDn3L3g7SS=(n)1ukJUz4zev4_23Vqd2uv`Gg(H&Pz z%g;6a27c;9tpVas8L8jdb7Fl)+0B&}C!oKsncrlTA3{%JM3aS6=f-1_VB8~6!jq3&*V){r9Y*I)=Dx?r2b&-^XPTZY8um0p3# z{gK~_nTxMozSXSHCWR(PHRwUxBcq-y@fsA)W^Uo&qY7~x1(KbkHr=tfrmKX zHQt)8JVFf1=PdeImOP+hE+2itc$aDiiutFJ+$(R~z^XF%6 z5*XvkLQMA5U**&t>F16GLuIRo7?&VCos$Qcbcx#3?7s4Pdo5A;Iy@+7HJn7eKHm90 ztz45hjDDe~!<=XYTBg?P74NNkufA9&p%?J*eLLui)*X43kw6m;=hbDn#?ttusk|`Y zWc5Cfuq9Amxb)yw^hE$cu)1Kn_OKZJ8?w91RG*s)X|c>@oelX8MqzX)U`|opEDm~y z{_46(&phb`RRsUV@_(2p{~$T|FS7RE5)(XA+|2$^H1Pfrh2kd8(iS#W*6w6n0A56} z2Ur&X@c!upY;pKg|Cj0H|4V4g zxPxW5nW&=`Skqty%YAnX2hBel3MSrv$?ZR499-1?$GLEDbN$`vADax=6ao0BDdJyx z$6r$ZFXe=c1Iz#k;N&FZ1aSZL;oxBj=3)Lt) zCdHe`2vI);N&e~FG-YiUtelCn)zzhk{fw;J)oYHVtIBXyMOZ1xYFE>1GqKEGxx0qm zKxA8$@@>XdyEn!mJofiyYJg65fE``axx5a&g$6h`j^yMk61`9L;UhSEMMZLwYhz7= zDm`7I>t}6FED`Q1JMgAl6(QY6&ni7S%K2cANTrX~ySACx=T|e6x9uoz^d0+I`wf(Ygy`S%d{ zBOU(SK5o{3@q+$6lK$I0{fF)9Z@ms|;o{`s0FTE1?H2FnAo#1#-`-yYIHivZrHrS` z&;U|0vY1lF&5g)?%qfu|#n>|;g2U=yu%m+O=%YP)B~=*D32hBxM$JWt!zwi9TB3Dh zo>c8^3~U(|s*7X-5555~dmf*fyYGG*2^DN60ye!Cy)JkU^8Gf)Md-+Z;w>2Yd%tVX z38@H2DihrxO1=iY@U>nvZc((o#-lypGQw%qeB0e!c?YjTL zIn10>l+Vj!b5PVFEc8+5gzQYH(&_eEBd#_8>Bx@kjF?DQ$lCYV>9+{Mpp{Id0OH${ zoE%mO+9A1R5fx1`5E+PSfdGVU+$~c%+h&ds9Z&&irkq_(27*M}N>H^fau8fG@f z^~n^F3=|Di2$U20Y&#?Ofkr7&I5A`W%w)s zp@->#mlV?A$y?g}(~qeNKlzgYSvQhAY+$=Q+f>!R#w4icI71YCvM6ZOSflH^7bL~#%LZ!Pv* z8}jr;YpAr63KA|eWe@$DE-E>|c;aPiR+u&+l(+z9Oo)2FKG*wExHjsxfacu@U{B|o=z;nH+k5b4 z57rgbDQ!scCOZO9>#8F$r0FKF{a8yJ(fpghC$CdxgXSV>Gl_EV_m)S&v%v$Q@-Fk2 z8^@}JC*_lbJ<2baQR_Lq%D8uq?LDRr-ip=0_~4tYt(sb$J^;p`U;1le%?LATUBF8H{v^SWAY zrW*tW1s^8nU!szmGWcC4+~%D5y0oX3XOD%4so4~B`d3}q6bo3NZB>i?2(r>MP8`wJ zw#9El_+@dMyn1i%d_S!clcdzFme^$}$sUqzUx^@jg$5LE5SMkGM>y|31}8;qJa+2y zRj4c?c#O^aw419}2g{-8hc|}xs$^>@lp=ko{N$QSiNNQ%%6j2&sE3okx-qX@uyf@u z=ToA1%vkjWiLvzCT4f)rrE8WS$M2D(v0}-Fro~zV8m1GyIqaWLh12kxtn3ZU_Scb( z;g8ODKZ`w;x2~OQlsD1tkXY*$eAKuLP1+af+N8cwv3i@FV&dJ(@CMWqg)iPyn}pj( ztJxyXe!J%kuJ4662_!)!9J5eKVhRU(+xg*^t()7(f))E9ugnt*YNbIrCUVUNPDA$j zPA!NDE_jr#`tDokyUT^r^G^M`s$T~vW1Y(9?{B_sl)ga628>CC`DT(ICcArvfA?)e zdomrh$D2SEd--OVIlxdBaaZH4jE9^Pt~he(dfd{W}lC3JRwKj9oji-vJ2oZs( zbzZYiJDQ)Z6s)h!(-&!$GwmPEsFT&_a{L_>MEl3Sb{$fH!YaFh95j{DeeDlp<{E2E zy}sG+qF~AcM}?9St5wV8M-yjWRAfs8s$hIle@XF<0|rlA5^4JdR7OuCaI09KATl9# zoJ0Na0aNYk(3D;4_Acm*nHaCunTYdL;|TM`scP2!wkAFf+LUt*&jjg4p$~}ZwOF?O zbF!kmDj*rkE~o)|=k^cDVjaEwvExs?wfua%%gg(`sq719!PNEe=Av5K`;h@6=MKTX zfUI9)cjK1}uR>h!F+xfwH7(tOxU0gwBb7^et3pWB>q!bFi{~QRDLIbct$u_oz0)H{ z-&i3&ziZ6#tTv@|?T9m(p;8Z7u2*VLSf^VOOs2zPABw0jY4#!vMI4mm`^riSo9qmL zZ?l(_WsdDM`dIX8$gM3R`N-ch&z4@1wN7Tm8wSjBYNt9*)h0KY-RUC8C z|6`^)RhekPC+CUm-pmhW4}Sk@@P}4NhDE*5d()ca34J8rgRZ>k5x;N+Ca3`;pLVEK zqD-^o)PSv}62HAC{O$19&b6?MgX5CZq$HSiRBn*~>ccYlt{yWQ0odC8%?MgalKgx| zX~HZ8K2$W~E^HDh#-kg*lM~GA)CBQlO2hs>?Zcy4ux1fUN+Zp6} ze{>BvRGB6(BBc_;aYDAy9IHgpX&&F*H6VH-sY0IhXr5OgV3(V(ldE~pej?u;y z!w-;dsYc1sSjzoivj%Ia_k7|Z(C&dbhNx@WqC6#!)nF46HwZ5wNRX{v=(No zd?8KmLEH=xo5CC#v%+5Uio8_>SxLEvCPm3=TGXUZ6uA#*$B+-ziQ1UJ(>%Z zV;}PM14iazYo;94Ex`tr>ONgVW%Z=8v^=iuOxjsqx#wWhMlrcsb-eK7qKZNJlpXp< zI)g?I${~sa4N2m(xRVqP_HbsY#5}tOYi~m{1z*o+=F1=wAq%nw)yoNv9ol_!EB*ct zjzj(LtDL7x*VNLDIz(F&WvPr_(9i;IM&bTc&D z3y;!=#&pN@e-%aaKFsULWVJU0uZ>sTx$%b*-+q_$*v_3jx?rzttj63EL74U9&x1w8xX2v<{UDf`clI{q1YSXgTMN-&IRUmzfBAQRWt&rI4Pp{ovw1v_buX z>}{Wro@9Bhpi~R5dGT5FuH0-KdtT+Mvbu(QCN*bvvAYZqc`~76r|s<$PjAgEQ22}M z>18jQ^hb){FW^wk$4V??ox|qLS+e2u^ekhI3@q`UG$B zJ2l_Ab9Hn)9-EO|5B$32IRN3ak#Qq3wqvmyX_c~$uh&*czWtkPOS}yYLK2L2&OfOt z0j}(p_HAAd*-w!S6PDRITG_{qHXNE6KK=sCQ%Sa(UYljb3+=qf^`9+yjO-3aRoJd&Z2q9~ z-@yhwRFMkK8MU@lj($oCUOkTaSz|LWp>oGl5t%H&3T`PBcCaO`SVJKp4!$_0g3M7Mq?LkVe99t zTdv;iaaU_KL3$jg`q_kiyWY3vl%a-DUvErX~P3FwrBWelcWygHB6nx{Or=XY^#0RRk?9jD3vy6;W zrK!}2a%6iGzN|?)s5r2_)MVmF(H3B7=n~sweGkUxRk6iYi!V_NlzY5$SClWv*~pnB zoH01c)lAR-;3i3%0Pb>Z#c8kof%3I;n@1 znmFwDx0XSQhArjxPtRF|iem-eY%U^Z<+A|Sc8^xr_?$FxVtFfV-U{;-c7AT%=XpZi z96pu`GG0BU+ze@wFXI)uPB&Q!jf*XosXyoTGSz0)Zr>M7q-|r(BsYj>F!?gF6%VU@ zNXKbxTjO|OyVy3Oq~2S|)KHW8xx2=9-#4UaFu>_?7@W6>En}M`D48P-xujA2$pN-q z6>B(dW)SqnHpP?$#_&xW1*v{n(tkzS5G!_gYMoveT)d<-=)r zqv^9yj9&RVnyptgr8*8C)S79z+=L3>cFOunq2r5Migp%U3lvK=M*H6PI@b9RNxF<} zcw`84H51^}&l}?=GlmwnoYXq^^Z=(H z1Ho0ih;L-}OZl*T(vjPa9YNqi8kx-@Ep952i_KlK|v2lek}a46Ik1t}A9B8CrsAz`U; zV#sXmEP4JFFDC8_o{V}(hiB*@;y_jT{V%P8GBWvVbXvGqxMM}~ZX`n7^civ^0lI@B z5h!;-6oAn-9XE?E_H$1i?ZFZAa?u|Q{1mLwj$beZj_vA$Bz{Q>TJ792@Dt&xdwwZ= zl$4L_D1KvwiDu);X~>**yW1goTiPM{;kDgSPZ|8>vD?pyUY8MON+uBLX?|p5LWfTnOP?5P^RT;6L$Ju_i`TU)*7{oVKTS#AsY3;4bjVbr@4t-a7o zgA3cHQK6#kbReSJxJr!|YFLojT1=eE3Qfg8XL{`5p3Y(C;kT$6lLEoGGT>|bBduS# z3}P7Kev|{_`RB43ReFZ&T5B~V_Db*=whg?7lC(GJQdVbBITX}Z; zlr_Bz*FxMy{K0T|o0B3{6z445hZ8FypTRwsuLeRn+FN?(aJes-1EYeXs!`!5;k7LW zzj7nLo0|b9?>Mz9X9&Wh&YyxC)U3jLhm!|Pv2tIG88pB03hnTuRPc*y%!=pDmJLoi zMR>qg4i}a^G%}3kSZQcTTX9)_elh-R+Q1<+1BGYCH{HiCuX8uMqfA7WJizShpm7!V$#?W<*^;6PLNZNNI=ejq{26>>6&gVsh^UQoeRD;dtw*B;egD!HQpI&80oz8jqDp)*oC<+dDZxU?(losM=jfJ>c!;xG1`5e$3DTD(M`#)mIHD_M;dBb&{d|KG zM>a2EQg4mSBG8xe@qY65)uU#gv+naLQWRE+1g*rq4IX|?B;+@;b+-7MuBk4msBP$E zn=&6()f_T;{78s+ufL+|XXyU&W2&`zoQK6%^eo#a_>|Yq66&VGsy6CLu+@mqt&iLK zG^J3b0Fol*3-$ZZmD2YWKE$<_dQeLw`EdNe=0m3|e5P~Dn5OQKO*x#%d(?x&%TchK7-6am2EtvhihP1?+qSqx@gAG8wFUV2C4PhUF)G%|j+*zK{$J59jz z%#Fg7(wpg?-*2~>C}nypY$F#0YgNqYBJsPc-7}qHo+B>Pl~eIMzb0hMf32{m*pnca zUv>Any3BoN)hH;IqJ}&5qrN}8x|~ebs_y{67SoU84Ic&^i+|H9-AQC-_4N~q3@H^ZfIPz=cXB2>H)7Vew(*X-#!vO1eUC-VNV}+o1Z~4w)eH5 z^tascy$+d_s4l9%jUNS8AKPi8wxg*C!GfpZ<}OgBSuxGNfC~S4gJa}dNQL&Fi!&gm%T;pT=WJ;NO70NSUwsMp zsz=E8(UEZ(eHS;*YlusL;nN3?I25;Mj{vJ0UA`uUTF;5BvBH@z(Fv}bz?s|{y5FtR z*`${qRLr=S*gJ9qxY~ETWv|iq$S%lN^gArtZpc>%maq6%Y&(<#kswsGAhBn37mnnz z5YcBywQi|SQWqMrpGhD9{$&RU0Pl@@^;neE~hyt#^U^ z(7Y(m#h$TTXt}zfUHDCDcenEw^-a_9jd z!vTx|Qy{7-x+%FSWD$R|J{;wVSZ+jS0z5e%Ix)xx)ni*VSW$ti5n=0Qgw8xRAKx`@KG_TxhuhtT5=L*g8sk zc*edEFV7>87*P;Bw{ z@2{A5cyiuO|zop;#w~C(Il2N}%P5)ANOKfW_r>1f5XaH(Ee*?FE9AYh|jn>pAbZ#Ae%)Z9}eT=9_i89^iBR?e$ zy7N2DcH+v@0fttSG`;#$oGKqcnPXozH-%#l+#+R7jP_5lf<@CCJ2ZYYt=+`H5YF1Z zY%Pi!koL-_b47y^3*q?84#*72@fe6zik~Ds)aY(VTRR{h@+}Ic4m7)0 z_)2}U^N5NeWRx1ETZJ0RmF1exB7uj<^bkca{+{5Bzs38In4M=-dWWPh# z-np_23zB(-uEAcbCGv}&L$ni{(+)cvLoOph-RyE23VT*`V zBIqPi$)eFEKz;Cs09hoo2M{m}!32nh<{S0_iVLL5EEcLvsSbh(V=ppG*8m{}2SMUP zKfvrwk&%Y_!z?@z5Brf_gmgk*a}Dc}IfYkx%xndKOw7Y_G4PyP>Owq$2$3u*@iHAP3noIyjli`yX-62_Yi+KGmaWk|N6-NN(8fy54 ztQ+nDdzeKuAKC|J4?i)KOeqv7N&;Ic1a-|iY?vrW#w~}l5yB^gThCyM`0>*_G)5It zMzk^XF|-#@DM$#&Vv1nOR`jkOz8pNMh^3H9u^Wg8~ZySS$1R$M8*&KhJDY zClJQpPeeSoh}c;#)GUB=2GP%TR?>5{Mol7fL=fDo-b>~rbKDckuV#BPDU=;~yyt5d zJwQKTqZQ8dWlG~04ksWw;IDDNg!A6LWL{45x453%TOV-^b?>!%huKQw8d_FO^I?-J z+mMTxZ3J}WiD}g~Q#V_;+B3z*#O80C$uaCnc@eOwbehX7%%&+|W{4nW9raN(U*;<0L)5|Bl;?WVGYLof3a1&pfrPbbz z?{}~!-%BsWH(-%EBVxNR+_68P1=kR7M@VKo{f@a-ZI8--nwm8GI|mOUZG{9S~C9!$But`4g)xN|LxfE zPY+!lP5|4#er5YlF0#L!jQ_7fzujHIA<=IC$C2M)A1JT`G1>ork>3DL-hTyqlX0-J z|EutSANdXTu;Td3WgF}d_9qM+oIUezr|AD0`3=st39k4rk>4DDyHNkH?lRRm3XP|O z4iUefv12W$lZoS`xrBGCid=D)+e=ElT8ol3z9LD)JiiFAd<{O|z8oi7*RN#C>qR5` z8XR~vooV#cecOH4??8MS^dkJ|)cxdeD*U{Va5v>d`slRau6O^t^Qyo_zbud-q4=%f z?L6o-<2A_V)XMDm+Y^asf4zeZcx1jlzw#S$-}$cx0Vv#)$1U*hry>(xcure+oax zLkr3+t3s$pA64%Yn>X*wHqe{bX4st+x3b*z4ybSK*5%$nA}m)T2itOvi~MecH)*;%bR zgt>s1s(w_B0X+zVdZxkyEo*~1jww>9=2d(DILdcPrh;z2xXA|lDJ#5HIZ4iDzp#X^B`?K+3L%;-jcRErwlRK zF?C8WeWWB^M3HWTE zxs`ZD=>_|@+K&;%cSTbO-=*&C2t1&sv3{&CeMPrkl7Hs8I;)F
v7R`Taz^CF$7 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%0Dbq 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

!H1ZAV|(6is8=)Ne!ez0@sCsIv8hxM`v%I^cdj zhN9a&myims?|ZBD0txNbNXh(3a>DKq^{w%0qxZhzHOiF^Dehe>Zud#{pC6X2S~wD? z?i20ohwECdwwVdLlP((}rGDa&DS9*OQL?^8W-h>?EB@svH)T&P2xN~uOp3Oy05>e3 zwv&)M>_`5a^!1%fUe88Qv*$rNh~k?^?16k1wxJ1pmN3%tZ?$R4cF zPE6q1{c7MW3hau_evR(;oO+LeX7%J~WO>3$0cYrv*1JRw;$1W@Na>G&UZ6Rk*>J;_ z%QnMgdX5Q>SDjsRMxk|*$uN>t6Mpr*;L-cYcPS0M%8hhfTFbbS`361y%o2|$5Z^C z<4>NC0O|T-dc|iDV&M+atY1d%(n~tpk6<=TmT(HW&v937_wEId-(__cLyBe!4nkI+ z&6wStu>iA?$(}6wDHF&_L_)fR8I7pQEhp>|$tR_C1#0(OS`pnZaTL0p4us7ASm#Wo zb|#FhSUW=fA>{s$JtVlEPVKMKKfcqfTwg?XDsF}BHbBT;tA;QGZQi<)PP&mV-&i|g zyZan}_6DHv=7zKqy;f5mKV!V!nJEbgNY(s9`k|*G^FyPFkzc!0fzU+EZeeJ4i9MWz2Uy*m$ zr{1&TqarbHenJwB0J74DX1tfiAVt#O^j6sma!a$b*FtUga*Q7P(C4W)`lf?(?X3O{ z)9$@puUI!KPr`SqVzS9Wi`*eIquhKmj z7yb?!%jv9>{Y*_qof%*N8R{2g1|{0E)A#76zXdid^~MpR@`3#p%i zc_C8shZs=f7OJjrvNbV+vwqVYe#&{HyzlFvA6{;DjOKbm{OWw0aRoI*D6SX{`>l=S zcXS?WmHCb(kc!6aYt`sXQ^N9pr%2+3sOFH+BiU8^+qrzLXy|-Xt?u_O?e1O_4axC} zNqA+glEGHE+1zjmW*yd%4Pdn-LG6Ug!6y5w0@kYEY;AwvftCQh-)t4T>4#Km%JIIR z*fxq@q7Ae5b%(>g)nr4p=2&bMY-r>uzWMB_l&xpxTwj#9YNXa2v+1cT5IbY-%MT~2 z&Wh4C6OF7FIuW+w#HA zEx~5&j}3~x=yT-gM0?9WBLi>ZoYzbq<_W9{#_Q;wU`RYIeF$lVCwaEQTX(mzZm?ycLe45|X^mzy3{}0&D%l!GwO570GMxb|=4J@k+twi`dzd!`Rm?fe z4A)gUYd{sRHJfG}vIJsCmlj^Lyo#u391B`Ui!Ow4asTp=o1H}Y*6OIPosD_z78=x! zNVa+#=G0OL>VBIq>=YBm*}g;U%JIKPd#;`3IqoMvCf!l(g^rF*RT*`zlBpAcZ<2*W z&d0L-xqCM~qTvpA>>bfcMB_Vd%`LCcVP}+#=y!r@#x|_PEv$VFxOgdmVr`JzvB%L4 z=52wnt_?UdPa45+RQ6OG7Sdr%_D zCSJR|Qhni{RUjsWPU{eUB`_wIsx^;>uYS@DmG8qcnP*LN6+n6_vp=WS_vYo2d{xHW z=d5s>K#gYp*ZG2;!U0)KElZktet_tabl!wUVf{IF$deUOdB3&A%Q}AcSdri%B7Wa; z5{eB|r(Wc3eHZ8mAQKZd8FsTV^jMVrcEOT2%q-?3S|ohH*+v2xolJX?$iGJXn3x{6 zhsktJLOx_JPDO@o0E&MYwutj|hqWT=srM5QL*`Fmo%z{yO!f6K5E*%0EglSzuQw5hYNn@OA$$8SWKRpMt6dihI#F9fZYD+>W72hWzZ!~0 zQs!3QA-DjP)$iIuRH|?jwRUZf&V^L3IfPDplcTE-V^Q3p!&52ZOtd>qJoE#Uq>M*= ztxIsx2tc)KkUdWlvTH+)@~rrf$0H_8m|r{2{;eGQ@sQp)*q)qqjHjPK+3wB>gB4(j zsv?86!{znlIIqCX2-pZ`b})T+hd%5aJWRRwz#ysTnu&L|Pi%w&3b`cKUM1Zy&sC;3 zt+d4-BJ6bjqzqoW*-ZxvcSnwc*JNm@i*xGTN)1uPecu!5Yv5$XDFZ_wM(TX}vd>lL zKb=LyOu|?=y2EA?*9EkXFK2Ltu_fQuodt!_js=L{hZO(4R?MuEXbN$Rh$wcJ@AG?; z0C|JQg5e*kQXh9QLDP^b1)CS-*lBrq(Uf%J@m3&sZgikyP2odp( z^B}#t8CSt*oWqKm2K?xk9-}k}DoFS?QQFh5iPx~o*oG~C5pu^5)qO6{VLJ*brE~2> z3ckML{SMSP7Ewxl$T5deKIaUT^x3U}RKrR>!uFb3v*G-&FNSJ!Aq$!I>#H!rkUb)N zLy$0Rk4fA@8#+?eEVdCtnM^macZ??RC>ZxNp1PzCjyHM1m(i~jU|}e-zS`$hsB(cv zH9-|pE=5{4Np~Ujunl2m$!oVCMT|=M@#|?UoLxc&nR0y{D^MkZM^n9=trjM&oJdC_ z6B6q~vVX7L?9sIOb?tuWH4?W;p;b`33;bh%^eP1HH5Mn&$d)3 zu*eh)=lCGI<^WefsK4fiTlX|*=V$kYk@$^;ccPMX$G^fcchDtII-N=tD?{J8Ti6d` zn{NOj?WYDx35@A{Pe#q4L>cyTf{nm1*Ar&FbMD~Z3Ok-F?r3_u2dbSN?sQ~>X4r(R zUI{{?FLE7rDJjzRmL;T8J#uAt*4J*o&etd;cN&>eu45on2Pd9rMqatmF9vZbZc68Ce8@SiXO6RVTg;5H}Z_Q44^Op z5ZhTaC?7VYm|DQ37yzT(fq^ZM5jJfC*d>nuO6r>Ryh8oV;%uFMsOT)OH5}pxs(cNy zeDc0unkA&Ng=x24 zX7ezMC1x4&btIad&CBp8bzHkn zCVO%gyEqh<^D<<=4I6Tn2b!Mth-Qvea}G-nh84FuB+V4EALUrzTLnl@W!26Y_Deey z(Paul_RBsYtEC8`nx^ACE^zh`Y!3yZV)(V9%#vN83t0tL$m)!9 z@j`Z|G^E2jB-y&Ilu^FU_v}(cyBJ@yEiYg%WCxVQZgP~~vL7~Cv`c1PR|V4J#cJku zt^wm|Kmn~$%w~%uH|%=i>m396BltSXw12I{8K*ITa&LfyZKwM?Z&g-%}kBlg&OJ(bb&>>>8zJ z!sK^|N!{;rJiNoWhBqji*yqfO7Tm(Q?v~PpTNfK|M0#zirQ z?0gz|=0XdVs(GSJw4wRc?#Xu*2q#;_V{Uq;{xgJGO?vm1<;f)aZ_?5+ptNY&GeCzPZgAcj)2O%D*x%JKen*JiDa>O>78+gK$W)Jb1 zr)Nvox4=p9O-}}~M~6Z<9?g%W15|TXwTkfQ@QCMmsKf``TIOKM-?>(EaDAdmWMzv<{RyG#^*T#HBoZK0Nm|Yh( zS`^ssy@p*FO+=<=(xbxJZAvkk4IIK**pY%Q?h;k;k5Mtc*UpDS^3*2q?LpDjz6X0l zm{-@IUCP(ZE(h=5`Q`z<*wc&kvx88=c*Zp34N(E$ZQLD86i)Fs!ds-6dy4`rq9JEe7bFk;r>U_^i0PZOR0I7G% zTs7}WdJNb5`ZW`zZ?`dJ{}|%LHMd1eo>DG|+~>qg3X1G7F@yuW+*30uc-b%r`>jEC z1a*DQ7NZUm`DsxcB{|UbbT$vb^@KGmihZqEKiAW46V+%x$)g(&_TA@+-UP7= z$4++Sfb=cK`bi~e)7Ge%PH`Ior+DW#wZcrpdio(MQ#xV2y$KPDYD9$B7rSmL=h4DS zrnCd3cjr5VQxc-W=C%8L;|}WAd$$Rqn&93DRW zO-51B5a=!N?zJ^cS!Dm;mW7Gb_H{+-DMUOFUN^0^U|CWG`K+_90MkL6-tUah`v^yHqU{^I=fI+v!xdy(lf0{ z$TM3?$nQ|Wc1tm;-KmO-|GJ*AUb|GgABMib@-Skt?>%9N>Ua*a$7G@rX4?*6``d9? zp}pF9YcT-oZHIB8H8jZQ&h|9_#Dmp2EP1W$Ul~aD}LWI;~SMk#`Uz<+;vp-*jS7r z|HO)|y*0QpOjL{YH9IN8x1Vp6pHYM}RN<~C?;qcgE?cA3ULb1NSD?{(>b;?x+=~fy zl*#6(gu~K`kPA&ZD=YbfsQvqnodW3izzJT;e1~k@3fWCq2xe<`f_Nov`(BK+SPoe* zGat{KgUPzSJYHNhM~VO`n|96ga)a_zNNX9DJ`+#-t;%}d?J$5G$Tv!dumy+h#&uMC zjSjN6nkF1hI+B3j$MD>>;uE%(#a^BwVcy&h2vnbH*^iqfp$Yqo`SBw9p{cF-ejnV| zyd;yXPicJZ-eVvzB^j|HDwA4ItL2^Sy~q_#S+)_4^ZH}DRa_O-e!p!BFL!ash3Z&T zx%(j!f_Gji&mJosR_)vrY)lg(4WC>~3Ga+S&^!Z9wSAmP+IImsD(_m;SEFfY*F(;5|Tjt%%q&PH<~mE`U{;_r`rOs(*F0&H-b1 z5C`Z?wCmbAV61871RIxog}W;RQ(x4&W4)!VLYOM!SO?n-LssF9#z{Z#Dr_1RwkrNn zl@*L?vCj3~t2ZHu2r~*Z|53TE;H*Ko#t+$z=#br@(asCrJELLha`j~|_9UAZ8ZJ5* zvL6Tu*%i+Axni@v#~IlJWnoL9govWACyLO{L-5t(n2YZOH6)Byralq^=}1=Q8L-Nm zNb+>=TPnrxJov$g*X)8js4B>)BkJLJ5zRM77Rc=>#X_S+b-|>1r+kKV*KkAX9niRg zNw|X4KT;x8a#34Y$$A#T8TKJ+654gh#c@OSJ%~%MuP@p-K7jRl%(WX|PtvE+v|An& zjZ&STG3?NQPWc-^&Tbv$%5Ox)PUFPg@lHx0x|5Z4I_;bvI^J|x_xqh_R&Sx%%0_O& zO#KGQ%q#8ubYUsqof&Iw z{U-N?^WVr9YRG?>pJRGoh7(reYirPj;RYb`9GhFGvNlsQT(qs6$i`=;@vs_{2u`up z4ZNu2kS>^pyrYdKL-D5P^~Sa|jGl_hIccFF{2K^fUQHQfySF_hxG)p=2uWntH}NuOGK_t2*j_COVcZ^)YrUSjbY44V!s!Moyf=&z0j9o7^)!tI>6O@!mD$zPsyIq7AiVE8t;6~V1>amJ=vElmV(^v56G@% z1|+j05#9P$ii>)m6Mww9um)~bIH>F(?N~n#>AHHe0eS$>CnuxCcC1i#t-;rstAn9W!6MH_$^$|K6hHTdlAA88uWa zp=(!aVC^i|jnb(;rYq+<6Sis20D`FYT2J@#pHR6R(ao2yvT+tZ-#b;tK*q#$1@L#M zLlXKSZtY%A*@rPJY`2`&&e%h|cX{Jf($gthu>K+cU~-Bi*NG*O?ZdpmuZ)x9PU_-J zSlE8wAi6!kL`<2X6(y8}SXQmXr0S$h=1RXd3doB7QQiB@L$FIg`GE$HXqPC$R%dX{ z3>9LL`R5_av4@n}tzARN{tk2f=aAH32n}mW8q_>M7(x^r$Y9J1n&svb^HHSD-QE7nOO6l-OKa^v|T2 zdmAazym<-@8;h6Gh_MJcy_y;rsC9<)zIjx;Cv^zJcZlf0RvuMBurSNq`0J_YA4Ed1 zvHD)8He^?yTKUzTM5RPZgsIeQPm(#C!yL5^hJe7#**{;AcZeTtXcv`&moUD*y0Jfu zagjb3xLEBED)HE6Bf7Gnen=7U+7-Y{M}+M%ID|flA0U`)Jz0Rr2D=ZOW0cbsBs7JEspA^QQBko`0Z8ot-}xvOaj%ky13*KgL-rSWT*-m51L|4+LU zjy7-A8>kp?w+Q$1Fd^vI6Vv}&7TM1yJj`$3ql#`>{Ce1JDC7yIE>hic!uU%uP{qHE z)BoOK6c9ax-*T);!yIom=O^|A?CyKLV!NK`_1hTn*T>}lSQn!^ap@t4x9#&%jX>J? zzQ@vSe%-jhw>M6MYONf!c5SS`w+kS2FWbmrP;%2a9pdN9!W_$1y~kZjb3u3`BjN!y zfNZ&)MOr+;*XIiV&#z-6%%n(W?75OKFXwMD6m=Leoexwk> z{BORxUV=7}U#a@FbA%ERUF~#qHq09U^3T25YY)-r>BPG!uOjnL^SqFis3kjEPn?S4 zbz3?tYbsokSMqN;h34Zi9jtl-a=%Oq;e9spGDdkI(Ns@)n|_yt!e{|hl*jzVe4qIn zr5&af44}HJYsPL*+8AapL5!nT1`D|$+P^4c%~XBZERQzC3QU~*lT@@12*z!#SZ;eg zHAXA>+S+VXrOPHxsrFr@Ykqsp9fcx{+vHXud$1MF4e5J~vre{EkKZ=GB<)n8SON*BT4>{GC#gd#{S03W~ z5%KM)uXQb?cHa8BaSM=MPXzAwIkCN4yY5S@r{x^S)GOfC)358>s{ha5{`+tLk81CW)SnAsab9`` zRcJG_$in5$?510YWb65ph>j+ietj*ZP&>grOR1guLZ>?9g~ORwPDVg`Qg9K`%+;{& zt_{hakBUAcBBL2kgjj_88cuseSEY(*bs&h`5~uQNR&cbA?Axr9!R)#XK#MommD`C&v@7o+tdobh z&A0)`Ib8%xP-?zf^0O;mb&j8%OvpFx-5pEhm1DR;&X$jc+No8s!aPa{d%4NcobC|~ z!Ae)W$I!XoA*uK>_n_$55*OO7s-g&*uzL#*c_tf78mN(1F|v}vOztsH^4Eu#h?>XV z2&(dFoYdPAUoc9o9ZtQa;~|&1PrLOTlVxH)?9i2`FYtMbS>LqV;)96PSJh9MJR$}# zP1wgUEsH`=7;LU2#0ngTJ7;k?5>|}7C;ILU*LvC&h~)Af`+&%Sx0rH! zH?>54fdM~z%KL=(#x>d zYLTH~X}Fle(zKGO?&d0FF~>u0C8-~Z`}(?dgLL8N+V%OCB2&9&-7W2Nu*Cp}WtoMn z*f+#eKxPZsBM~7NzyS4x(0a<3>+f!~4Vdx`na8S;y}1J?s_1-gjDE(b6)4Vl&9Ffy z2T+`|j+95;`uopRe3caN4574dDN)fuqjGiXwYwA0BzJb}X=kE^ z@b1v9iBDg<`80h`Z1}!6zvl*?hv0h>Y~MH?f@>$Vb!8aV@rU5=$3kNfj#^QA?dM( zn7Dph$Fn-Bdtl0vm_=+!SW5_hThPPLVXTh^X`@y@M0jnqA%Y$!&Q>|qD2dctUR10Y ze>2kR$KRDshe*Mkd=r&EnU}c!zE-LysyU?%>C_H=&n_`rx;{hYKIR7NO@%l(Wk}Xs z=X~%uu5f8~op$W$J9C9cD=>uZB?m+v1nM|ty%l1IFvIGaGTyfU^TiUd`P3uXjS9%U z>sF&Xxoy$eyJ35U3YBl3p+TDTF~}0PXu7$7h$@6_Kw;ML7V%%KeY$ZLk#=)Bhm~;ega9ryuUWyJ037t4#GTEU?`^k71CnWIOLI49k+Qh3 z!)1+*SNYvHB2xWUgwb+Tf?)S`=SOT^s6{yOvr~!14s|K|LICx?Fdl?@I7EeWJ&{vI zC)#dt_Fn!=Vy_;pa4PHxanX+bT|Q|fd$;RTV2@ zi^gEz_xCVj(DYMZ-y0E-ZAn1s{r-MGJQ37O3Y}K5N{0!;+-^t^OA9C6TqT-h)Wl5(h=Z2gzf^=K|<|ZY4z1!Ya zvIj<<0AV8B5frWyN2sS>;H%wY)-5(LYmdwp5)>#MtpYq$NC6YS#Wb(H+l(a){aeeR&jUPrW| zJv`2}NzziSXJ0{jG3>s^C~C7{RdcZFEH=FD~2x>f+3h`rMK7 zJkBAzIDp2*;5#furmN}-Blp&m)Ao=)k78A3QGEVH`u?4I>axi}`Zdt?v*!~-wrZNS zzs(J_+}?H7!a>Tau35i?6QaN;uG6ky_O%lc%b>MSy`R@^I^4Z`8lBknO}Nnh5LRUJ zA^|WhN%Fj0B8--c%gCn*zKCWiCDL?$UDKeEa3z0+aB7*H&6^xmhbnnZmu%s<+P)9r zXWniaa52YWy>VDGa@x328D&csJ9H8tE4b7Z=-!Sh)H)7>+~ZY{Ju``hEWBn*BDPSl zT^7*Q`M$UTuT85EWG6A5&>PWz^bW~2+g&TI#H*e-u8^)F$yz^TbyEBqK01>X+0cZVoPA$==A+0x_i%RAGnmNb!{l8t|^S>H5 zU)>E3iH`rDk|-9*;_QlOOxLRvsTLCLeyz`O?oFD9dBYLs!7^D!wWmBFZlv=8YsbgX z7Xi~1B^wBnx9rfsdY@EiwsHe3fazZ=&yoE0+EUVS2 zg1qC8%2ldlR6fNUlv0Enlmt+68qI|h&=9sa%6sEQGe;=VEtu6ITt|6gLyBRpX9bC` z*%vDitg&CM=B{2uwG!cw@KZN=S?v9J`R$^+dDKElm&N3hVnYzQ&qthit4V2 z;;I$&homrkUprdic#jylc8HE=xn;+n_e;UrmGF4Y?)g|+x`!0jQTkW9xDtRnYIn1= zhlg_puN@)PpkNiT)~-V2wNsm$;y1l}KAb6$r_(Z#d@I4!t`yUN#Tfv9V?)pMUJ-u4 zV?u&(7Hd#>#ag{LCRtaD{e^U2w*l?fQ;T=QymNZkc7V_;%Qm8(c#A|yXp%;=eE%CG zwV1G}t7mvfN!)Cc@ih~tOlTQVQoCk6Th|5cciXdvX@khpgVJK1V3BtDb1Nrk*n5r- zo5v25UTy8lfX0R)lej~=o*44@2T_q*2npC}0k|MOnmqG< zKO{#qV1d+{_1?jaQgZ9QR!YToN_JFKw`Qf0hTQMql!|$h4%KOxhOk|iFS|!tiQBfZ zcE1YXuZlywuKt<41q~9*Y@14c!~9zeTfV!X6h!Ea`vj3`YZZ#TKbB=gEa23udb=%! zijUMXh`_A+IArySr7b*~Hc^)48H3`Sel4!f`9FQm;AcwKOl8Rsk)^&nS2e~k7tHu zejk+&jVhHrWLJ^VSi2K=+AXLSR<>|d_bg*Vq{-l@g>R4$Cg0FqeZH`PTtU2^A^gO- zGWy#p6Sx8F!fhLqEk1rFGxKPNnDC~@p*uuuqBTd8uXgRqUL-1BF4n+r>Mn! zPRYPmn8eX&v$V@rY-ijVi#wC_)BKR)EJt(EDOANW9@dksA$wn`b~j;&9MIA9mTJQ! z>DEjZs%Sv66Lim{!aX2dF9dUj=nL<4= zO>d$4T!vKG-i6$lCYT-dRa-;m79&}hemyZf*2r;d?~r6-)r}W52Dnmm{mR0fIV3fD zPvtRQ3MupNHH+McP zYrA%G-z`9h{}@sh{E&0nqOx^HmHe|3qe>qPiAA%07R-pG2Voi}Ikj3j`4mDP+~*-n_LNyd2l+&&1jTl?~?zh{>_ynJrUy7)7FmAXm58=-!i2oKiw%faJ;kMC`fnu z!cxQ*6cd~(!I*KqUFZiC8!65_#I4}lmqtI2(8la`YI7_%zOAVmxOVYzz~Gw&C43_K?DnTSRsX|Sk|qGVwPiicEjfj^9E1ur5&~+Ox;~{)=t4( zJ4tSKak!rLJGKDUCGIt-()c@f1X;~D^%dWq#m6-={QSOB4XlZ>I<$Wql;YP*< z0kNEyk2#PH+v)!bw4999!@}67NlUhj*dVHQbRM+@a4NQuI~6-CdK9f$=xLl%+_*;#?8FiFlj={YF2D{Rhb*nWf|gblu)yqs)YhqMe1R*|XK&VR43 zvumUJWJYzwYnG#}m1OVKZ!`<9hxOX_#=VFkBzu3r^qRkO^zK`Wvey$%yjGP54%iJT z9ZOu@^qH^J*m{yQz5y`$oC{P&c^N6-+_U#d!KB|e+E?Jzs^^38nQr7pQ9g_?|?}(HYS+DrM1Ibja%nlD;?rFrISp> zaf~t_(NP_dk0jAVrj}RLj7^n<77Ci(lwezO^vjSQwudiS3*P+^=5Xz@CVCi^ut2 zPbBd*vsd@ESsS&p$MFwde$On0Er196qssA7#avPK>)8RPOZ?sYqW3lS?e*<)<0JZB zN4Cfz6=2Nc)6U78`wUwZYkl8^ZOA=pAUNFcZVQpf13 zv2WY?*@AkT;WNMTyk{Ue(PwN!_#LAmukTU<>@*>&U5wQeXY;mruVDu44vwMg=oTGz zvK&S^;#kNErJA7Q8{p>j8&NNjw|cPog=kiA1`xqZlqF;kMZ!kC-OMwol?1|t!tDAk z(}u`*t{KLv8Dt4&9d+UNn(-m?FR@_(n}`JR9vfDdv1aAUMpKdQ4RV>S9v&v1TV1l0 zB8|tK)JhQ#6HU|-CwB!dB9*SE-}2js@a`HWozsv0=p7Z)@w!sQdE#8G_Neae1iheo z>+AbgJY8`=2a&G)w1=qC2F3I{ee!<&)G(Vv-z!@>0|izNamWJBMs@B)G=%bXkcWhE+b7UT6FDv(F)ZN-UOwsBv=(ut3U5*RU1BI1b)Z zZ)a-vj)NVFVfC#B#UeN|Y|8CuL+Gg)m`r|4WtivKb>?4B3dq|TXGXwq?L-6`UKp3H zc10g%+OdZP{)doyx9F7G&5wD%42`Y9l(iEUe0#O`2LimGd?o^IzH%hkj2(^SlQeRZ zrQ}ijDIswDdvBu{kmL28j@4u~#*F=%xk%rkqEZW_cVOxF)`X}$l>@p9u^=+<&hT-%#4eOdgR7J6I3i59A zgm4Y7CmvI5VFn$~xZD`JR2(KY)LAI2Fjis23v90^p@g{5RU>zlUOV*^q%usT><%$E zp%Jw7#djZf6Sj<$c6+NS4kJ%&I>f4o-a&pnci(B;FW6d_B{TAKs-50CnAp4~ zgW!=jLx;YbNE_DPI)?1EgBv`9=GOg|*b2>DN2H>iJ`i?j z|2}tD!7Z_cy>^wy^tI&Hi45AhZBHog`6e5>6fwlbvN!Cqg2xElFZWA`Q;y5fWD4Fy2&Uu;76t?i2{gl(_%=#XaZk%DKZv-5c6F)@s zH$BGoz6;clN*qC_KN>xWtO^}V0y>OI6*qjo9G>0+XUqnMeUGA!wlFsXd@ zkbKP{nTF9YHcp%gsC)`@3ENSL{^AcRG!J}88K)4RIY~*uf9(|bJ&8I?qU>AVa&mD# zu4ZmDvWY@oem$&>WrmEG}4p#awh&gDwLc&g+a<{`=Ts5sWIr{yd{s*t&MY;u-2%*EtuM*_wL zg<-KsJ*n$IWY1b&JBC2(C)V59MszVLfI}hP6~dYviDIj5J4_lRje;ucJ}N940}Bmi zb`2TR0lEuASs{|xzh)|AEON+vh&6kw;sCwRJ!=^i!}&UQ6>H9G*f%O1X}>DZxP9NR zTMRhc#sTbg<#;UbbSDpYh>v2jG(<@f8}FrzIB4}+ea+byUVrWIWb5RtcRM?(9u)~t zGS}f?!~JLXs3FY#Yeq-h18DBZZL*VrxIme9-b6exvQ%g+3+oz5y%VfA zsD4lt!XE86ETZwO)*Ye3OgkaQuxBn%v1DS5vg zS?GD*+ALKH;7**4mcuhnwYo(s&~Po@2J9JxT4hs?Cv>)jgze^v4af62KE?Ouhd2hi z&kNxIUpp?`2^zt_d-BHlE(Tq@^FzFzlc}ty3P96dkQaah8F0(SN39Acd0Ym0Ti2|d zyTfRhw$o^=?}jCQP)m!mx43*z&1}Omz7kvUQ&M0uu~nUUV4#a%pi+;Ljom-(+=aY2 zvrda;)YqQr*fOlVr{0Seh0sqo0&4y&e@=9_3^%I#o{8PNj7DB8Bf+&*i-uY{!>t6z zb;U1h)r+ld0NRgz0cxN0tof_>MC2wyGcGnU4PdQ%m1|2pdkiochSZj|B-G-GzWyT} zl@5MwEZgbQ-AIZtma%!wrl`vYb^}+lx$6;e&N^X`?gtNfF9(F(D>$@Ak4TIvZ5$Ot zx`@56?1pp5i)Mg!+j9_uWkfqU(M-J~DY*UmvEAzl7o9Mcy*<^2tqzgI$eb`-zVeMS zU$DtF6g#nzi`uOxO7?p9SZMr=reBMTMgaP3FA8Os7Q=44A=kT!a}3v$cik954QJma)>kC(Jt2o{w(&g)6-<>P>NZBFlsSR1;S z(xP}xW;HGl5u`W0J7F>0TNGx>jj6ZW8zdjJt~;1ROmgp|CnN5_HKVD+4k16Q{a%en ztt{;w03y1M3BN)W$6hjB$w8-h;YjWN_+H3j!ZbvOYd3>DbR|b~R;;1i1DQl}PGZN> zSCY+@X~%HBdv;0yCEDl6g&B*Wy#)neu(h=Hvr+bunSA}nJwZ)0Ne3QPsg7jTUG_9= zw`~r|0NLbbfSg$}opoB1`v1N6d9-zI5IWf`|0m}5I{tXft^ZFPuKpa4t%hQ9bk7Sx zxZf#BUl$J17k*e)c~fNA90y;y4yygOGa_r*fdv%000>ao^!4PJwl}3_GfNN&G@rIv zb;g?Q1{!rko!$QFYL~xZ1u1V#iG{S3|5s1s|9P2(ny8dE!s1esqq-a05b@7OK)bn> zs3(hDP~nhI0gGloXz>(8yKoedqSuZ-3t%w<-_Pc6cI7S{!HBHfStU%Kc0nq8W?$yT zQhKd`+}uXl_AO}8(v{0b0DFg>x8u9%nLFKI<|oNc;-v_8rD?zn=E14^c4|;vn&c1(YEc zwRzw-Ynpo+<~#*Sjojy$j3}?W8}a%oxQl z?jN+|nSMBr*RupbVj8jsUD2q=D&!NwWVs;*-9`sB$FN zF3xLE?~!yp*{lI$BYzh^zOPMnme|QtblLG0jTQ5Xx(0d=>Dc4L;A%xr3|%IAqUOMe{D)hn;B%^MBS8pZkVMmo(Yj z&oNS4dopa;+wJM#0TUO9`USvi=6+&BT5bBxZi+q3cVl;*@AaOL-Q9zD2mY~JZ(LtH ze%|;Wo5$}h(@qJ_ou&*~nFL<;veC~L)R6;F-Cw)p$$>i(LQr{YG$?XH6NrkgomUP8McW4RL8cLEd+ovomZ`{dcZJmS17iaoic7Pr2c5AT67XP1OZ zuv6?T6QdGZUTJp79=9h=iaH(*alCORgW7UL<*E`&9Lej5LDn!y*5(T254~ z;XBXR=oFAZxlmw?cxfIiBFyD`oy-&0+DXYBOA|z|T^1`TKl5r`&#s5iU+0dblRk~H zHz*tC27pQ}SB55+I}W3abadx#m9u6H!y43`b=tWJxko8mxxM2Ku}-%MluEXFR9+M5 zyiy>$ViTf}N>3C>3lQ*%CqXRTuNkc#5m9u5QioMXxBxq>-R&GkkuCP%Q3;Ax5(&|M zjRaIq5&WurPbC-S_=I{+cp)O)yP2XlN;3y8b!cMgsxWUb)Spk?a#Gwq;S@qI-b&&3 zQ-@Yz&zKsSgBsO>Ha9_M;ds&LvA(`NI{WdWi!3e88$<2-4f>6WO>*4nU|&1&ytT7| z_sDR&_83nl>=;N5|1rzch&G!Eyb!8pmn(=RCR}~4cZ*{@br>xvM8hFWsMCo)vznbg=grBRGT0Low?e=^GH@W(?e2r8iTO=yH6OEWLT5tk?hJ2 zM3DZZ8El~{m;gdDzWjB^2I2*q>q(?3q>IrhXza z%udGtIc(W0A^sY|ucT5SRKQ7V5l7bJsF+d>Q*?1Z2!m>M`9mI;32mQ7Vb!uz*435F zYv$#rmQJ(McQsR7@{nAn8|E%(jq1XTc@6z8YVA@yDW`ca0r{Xc17*AaV@Q>erY|8P z(@l7(vqUgF_@}_2UEVXi7^_J}?@(SBk3PfaCHWg$ApCQ{g!1x{@ zBy@ZNGq(*%raQI>A!qs;wro#A`Z0)*o>#xQNo3wWF@8?IVg}K4G2`})j=dew zbM3Ino-#xw_I8Z(x1Q^*okO&kA}ZOx29V=2nacy6a|m(hj!y`MmMI1Nz9zlW0(72u z<~sy?5CB5V_kG7=Sy_lO`D13GgkG7d-D)$V;`d+Q%$gh&$n`9bd}{((rba9BplymK zaY!(TdE7}|1ZtAv8C8hH)2%=0u^*+{kZAjm`}G9VpF<6phk7eXd0yZB3g%W)DCrPo zKRIOQrLQB2v+u;=m{zi!xKkLF82CeGh}e>3{z%%JEZYw1lr>4XU^s-{Icce%J35S% zM3rH_01&oNXLMAGV$ZT=P#;2S`FrsC%Bg6Ws-FRI5kA=6=|r`=i-5;(Hm3wb&72(~eO=uz zS;A=9rh@9$Bp-7EB}-(o(r{zOh6&4y?-fNQnZg<&wmoM4d zgq7TEGCj5uQaxEKkeg)T?AJ?lwkmg2VHvGaiQ~r?#be0!5U&Ep;e^kRxnG)SUAanh zL|oA$a_#z%{KZ;fm^*ZKb3e-!HkEAx%R2`28fYKu?YCO(L5kZs?pFH*n?qoVt3?Z_ z)*yb{OY|ct&U5aa>~<@O>N0M4kQM$R$EOReAC10`Evcs0Zl(WvpRcj+Kk>Pm*fp!b zPk^xyW-rC(csy8#hv_c8kPb=1o%b;KY2+S$?TOUmp9Nkd&vAIF_ylyCkYs4~}--BuehYes4TE%`!Y_1)%_Q|9@ON8eAG9e;{ z)GdHMJEM-~ifa)`mG?P9YB#E#Q9b^IiF&hV=XTy8sznt-daZ3exuV%B=`w$%wR9v` zf&p_7Pb{+A;s{b=d7o(1$q$ih`@&1|%8j#_)dFQvl~I7u5bwC3`XC8j33Yv~A_7%a zNjItsMUrNE-A+r#uvE+vkvUgom@yi6t+Xb5n4OO#ScI4Vy$-Wi5`_Q^8BaD zbhdkr-s+G;5~BCL%`H8$1D3@!LD{1ER!SE;Zf#M_7^R$-F3^uqNejR>I?oKU%eauc zO&5)mzi%<)PosoY3yMl9T{#f<=tB%&aU1AxP^fEq>9>#Q+0Bye=qmSOwRWsEV7_0ivIt90Qa|l zdI0w?zdV4eWF__H_B)pRw-o?Ec2_0LVxw4Xj6YW)HsIcMgBZtLS40gcqN^ID3C38a zCxlG|>1VtbV92&PWaaHabV> zajc@^@guraEGw=!!*$;J$1QIn4xuBXCz~@N*&s!oQCa7e);E>?7$HP<=@vjdXGe7P ziYbAXQWQf^7VO@OvniE)hPboVqS(u#j15z#Gn8OTeU3`;SF4gqEi(|!p1}{9&3Wzq z{azv^6bZ)>-H{-p_BdRhQzEY;N4AScP0yCmtU**r8)cMp{UBe>@uf?<9xYO}K^C~m zba59`VkNe~L;`X4k}*`Awl(Pz&VYZEqwb|cG}gMQ#j=wpDQLnmL_Dx%gD?hn2*g zYS+_!LsmaoPpYgQJ2QmZISW-8PgD-pZ2?xec0|rCirCQ4G1yfc?WlrI4~D5;rJg(` zd#jQQ>F-LqwgqV3u5j32qdNq+VwG=o(|xK~Y4-FxbL%PADU5(BTH&sv z=yzES5l?pKt2S2exJ`^MZgWU@4A;mT>DP?E-h#EhJ*!m zT~`kH6e>ZpuX*I{zD5|wG^E9qh-!A{)+YUp>2_b^;~o_^E*YGBDg&Y2eu)OKn~4E? z-TRtl@r4M&Y(!@Rg)GZjD>`6Y!nnI_gRy3=UB8sq$HWHiV?Q^2#1kL#mg%cl zy=ImD-WXT(NS#;8J*0B_8>9?$YjS65?RuhTJ*}*wp8nb5S{xqsJ&3-LY_%vEIYoN9 zmHS;Sayy`|)D61ygoa%_nbb9@eIIaaD)fHU6q(NS1IezxatbwCeaGFgobe1(_t`QP z#NRR%TqZDwOjZ9gkZ^6f|BO{{H{{Gd9o@Bs1~8E?h+p9R+Fd22&n>9DLG7uN5Vpm7 zT4iFu`&vfcL?Gz1@upq;EmyQPQyF%HRv>!HB=hw>(7MX7ZNQldG9B(@tli!MYOqe zvyIB@i#HoZlh?b*-dT{&S4_x7DeZME=aGQ8LWTlk)j2!$h|KEF<^7@u5>oIpPX#AC z(4w5(4A`LdHO>`FV#m@UzK&cUysw#hF?jr~ba+WQHDJWv@%(@0rBxLsNcRxysjH9z z5&&^Pj=#0*=X@G?Yh3^&tlI>SsxcA#orfX2k`*FUHnF2G;{B*jH9@-ATRTqiYv*Cz zL%JGq-}^+7IOPq>WzlOU%6QGnTGWrB-L}}X-S2?i69{rj-HD7yj3@4aNC4Xb+Nqj| z`xytne+p;k8jNaD@Q^}HHDlJkW^TsEVuV`xfSSo`J^^M|2W0d=lH+ki3(Bk+ zt87$R-PidacQVC!<1e2h5E`UKox;Kv3BWwd*17m4laqMg+WVxY`F1)|4 z);SM*&hUuF6%fBLb6w}F)-}~<;Mdi?RSa8W;7p5M!r znu#5x)}4aIDXGk7u{tZM^+pM+hA*mBg3sOAPltuvgA!DB*HAjG0wH%;DD9q79_B*Y zda~yaaiRJUXL}^Qe0!hcik-ml-8PTEwF}2}zMB7#U2F+?7D`UpbX`!{k%)T8X`OpJ z!NRc`maVQ?rNZ|)J9X#vO0?MsDnvG2vGQaCJ7PcJy6MJVGv<;Wn6YAs>xWFbxf%b> zjp#mPPb1b&n(9U*WqH~lQ?WRtzJyt>chv{&6A680bk^&fB>JI+zwhx!udiE^?3gDC ziMf~;vHBupBOPL7m`@fhrd*EMbs5BHZF0wZz zFYeTBl*cSw>b=*jYC#a8k2Yr3(A7kGL9LI%$W~!CRONj_Bu6b)NLkTVB;r9q z&aTzvY5jc>gt$Gsf8Tcv@5U%!hY_`MEN^N|y>jKH|Hp^grO>WjParmIA#sb2hzIq? zSafyBV)AGf=}Y>mZ(6FDG}!A}DFB!s#L*Y5s}MutJl*5th0b< z<(%t$Qlz4~8OOR#EExGL$XQU8qI*84A+Q*4gJE}J6%X}9MSR9?y3?Rk=1v-Z|4bT6 z;drlKMcN5fIeqQ8WOrs3X{;xn`ggL)#3l&4I^}HdO}R?zId_df2hqGI^%|zJ9@HBQ z8+fj9L{x1OiGjS-khe9&MX5@IVqfisQ`jz^gjc5aW(DAzyR@c7Bt3cuH?Q zDMdLdLBFQg{kC}*XnNT3mYA{G(5s{0MxaU^4G}h7Pke*d)2qGI7c;-v)K@|=17N!V z@bfZ5{MyJPDXF9<1xI^WH6;*J9#1XHKgH06jj-g?>`%wO6@A#;by9(4Rj3u!ev&uj z?%Pg4S#^j!%WWWRUUpb9*R@N8jH&FM+u@T>DqBu zPBL2C6SI|LzrI%CS34ErU%UCxkX41&cl8hVJrVCWs#86v?ln48ca8R6Bryy7YUD}V z`e)=8ajY(k5wzdigvsFHcSu|w(Is3&d3H#O1F3^D1SE6?Rs-$127s!*)<8s}R}&)P zwB3vaP)_P*CeU767e|TMLzT=iJxbR?1?=~tA^oo0``FS#z1mO)CnAaUM1q^x)k1_g zMTz)Vh&2Oylo+GDk^bF3Cl1 zNWb!keUE#w=YsWKjpLB-_gIz#w8E7V_IaZ4bc2Wj+x@VzCUvu4{1{a!yJ{aTRtH!`n%&cL~!yb z+TGV`m2+BEQ@p+85H~%@B$DqJx;dohqOP5xwBoF}F4xri{e*A`dt*KEdyd9=I7N?7 zd%UD}g{*3(z`M^0fvo(f-K~+ozbs&Zx`mEm8P>H*B`{NWMbMu@7T1V}^o`K%%j=ls zeV@80nP#F)2AE$mk0az_QeoXwSm#@7!0h%uwr&8I^MQ1;F~O>cd2V(Gr=3Y)!kB<} znCgAV{ZIp{yYz}?zvxjr;-HPJ-2!zmdM4Q(6|U}BdNVx@3z^>+QhNTin+*kXfvFe) zs@(++xkp>v-k8A@@_wHTmE=yxS%9(NTkW<-0Wo+0707T6ksEoRV{%$^7>g?nt8V)q zU4&%S4w*ZQW?8)(rl-L9U171MX2gjV56DFtqE_ON_Y2igEz29#Vx{S_-_cJiLsrmTt6p?GJ!vJbClcnIZ+9{BRO_9k-h4w+xsbST zKn_U&$?>V&xnPsS^*O4U_#`t2u=Q3^yj(a$mGV}%BIC?4&>nY+$Px-mK}>spFD~nE z>g^nTNx+`pjAl2@qGDuSKOCgw0%cu{HX6~4J@^4rYt>#ljg=Ed#ZgavIMxZ<5bS>l zL++$UMe$iCsH{n6KK|bxKnOYQaN7JgG<(}H>0znw?SI&EGYQ98J$+9=VTV%*f4az7 z|3?klUWEt~h3ib4=!_h*Q37mTI>7&|9UZCDnLczo>h$i{gi)@-OjCZ+HNAI0{KG24 z8`Z65)hUy*jr93qr_ixT$E zs~>2%G4Z-urjkt8&qAuqh!wIpn--4uo>}XNbhR#(*#TVI&XK%lCJgve3nAore8Cm5 zn`^hT2_oJsQ&8I)krAaxoVLAG332E1ni2N5yjZNsHGYOb+K96!Dh094F@3SDEu5Wj zzki#8kN0yEsMvdL9Rw4sCl3AVsY0rH61@9Vw8H2UGhQn{rdK0)`oOiew#g{>N=VCF zwOC9LWAy|Q%pH`Ya&oSx5=fE!dMfU$6c5@2WxDb=?%sh!h47J+SFWz=nZ>t`y2V?~yv}$1DTKQiS3r_P&5ko!<ZtO@u?AtVlx7@ra6L)BqqQ zmxg@zOR4dnC%K()YXzx@F)9I@HmgK?u5w5!|DdJIf==fmy2qj|%ayW1_RQ;r$-ZV& z5nH;`oUFH76E%@>qE>qgP0u9lZE+6YWVU_GZajG?7*Na7PEO;)R)-vRx0MLz{VW_r zGVLaVDIIdai;(){vtM9yQ-_Q_Aw_5dsx>GZQmW{dKqgAzNLViBh|WihyR&LFTgs(O zi@kr%lzPWfKla8T*OQP` zRu9Yzqx+gl$VWwHLMX!S^Ngl2&~YJ;`X=110zIKB3puL2SQf&|eaMSe;@*Yj`(AQn z{Jh(JA^m{waX3SDJ$?6oh?x8N4`;rZX1iJasQ-*k5cR`c#JX?pLCL6|b%g4!Vde5q zkU(-Jnh$Jhu)cEthb;IyoVtH_m>0(BeFk zTrtn5P<45o^I?+tCA%kX&EyoLxJ}#Z?{ZN0wY!uE+mG{UB*=E%xY=+zFXv=arQyD2 z4#!b(7&=w$^Mq!M_H-WaGq!-JUwofqH)O}c_M`8$o7%-z^PB)DY6D2R8zd2SUt@6H zR8HFzg4$&ktuFjmv!4~&GiLX(nVJ;(F_X`i({0%O9{osm61QxwmfbR`n7ZYbn;8)+ z{+8rdzo#x??NR%8zC-#nQC?xn*3IXoZr_Qz7YOyu z-90LKkekYaFHWlarg4~aozdCHI?&~lVS+^xaF9J?7DDdFhXljwy)0#E%WLKlg_Aru z`-rLx){()@kSAh9lTB89ETMeOuzy5F^0sjaq8(_V?YnJh;rBQk8ot3TNh7FqQ0#;S zb)R#9+7qvsta#QaMRD579s*?a_dR>R#7r@ldyXTaQW=YI0$bzQTnMkJly3U5+c8~z z;bV-cCzIGqRUs+%5DKp`K`Q?2dre{|4R%&t5p@3;)#6r|f*X8Y_f}}FOhF=QJuxu` zC>?2;de-6i?UzHRRgnPg_9}EMmEF=&EQum(TvLgl>r72S^Yc$dR~qHh!kG4zTEln- z@vmc@EgaRERGssM#!Yy4WRQpke7ss1wN`}piJH4x9#W`v%=+hCHAs(Do`*B%c3&%M z7?q!3j5kdR(*|(r->`dT@oi`RGMZQm5f-J>W2gJeS+0r6e6f1k>0E+N+Cn3cNs0xN z*9ULlc#^lZvxMa2tb^Cv`TNilLNadwIBU;_0DF8!mFik zo@e*g!E=jsQO!>$&IH=Cyt|qHn7U^b+YJK$l(^eWKa0Oar*@ey5t-siGuFp#wE#fd z>I7v^wD?wM`OC1vr6B~v$wkVvcDSdrS3AL}V^ULjNY90h{q89F{M}fx!>c*gic5ED zEf#*lbGM3Whg%yZyI|!aq_8x7fz&&l`(DA!CCzY#H%fgEa{g`WHIo_=*VRtY#D7{LN1wug$|K;%aNRj7r=@5n8x^J#RaO?yTO0 zLxG`HLpy~qXAd`rr2~faSV4#&n;k`?s?4rK#F)2OVN-}<-9kJnI|Fb}%qrA%A+;fW zqa960PMNnv6jat+VV@Z$uocOM?70D=$cLNZf-e$q76&zJRz%Z(Ag$^O<+AP%+x9chkwoqY9rr1(X>o+JIwD3bn@8J$9^wcJg zr;gK{jud(C#;HG9_hNNO)giSb)2V=v-Ti=g+~}trzO;HU@^w_s z;tkWLx9a5ler5#?adt<9tXfqd%sWy|CUsVoYe@AmLsr57={m&5ne9~>MOe4GqH?tx z_lK<3J4B3WJxR`uLBqZk-b4Pi6IE#&wCe``kU0TEa>)-cVXut@;YUmxwdc+Lt%%+F<4J`xLd3nqkcR7(;KS9${3T|?s^}WhGl}&yNojvo zr?#7bE(#t$5lQWN5yzdztc+ZhkgSt<&h?M>py&_7=C=Dq{ zHJTm>zILmyO$HV_h=|bcbAU=?hRh2%l3Nv2yTUuH$pP-kQD57SK0)YXn!Qmr-@eAh zttLd`inCzq2|$j&W!>@In`nT0(8Mv5GVbV$F{t;9L}u=mS43mkFW9|=j%XJuqheNd z5M)dC`)-hm6*dBK;>_cy{x%a2)$jL^GK9swc0Su$>Zx+;M&9mc7KbTu8zN|aJvjvQ zGa40GCxO$+*No}=GrNdd=i*?NfED(T8$jU>HO93=Wlcx5Vy+?g$g7z%zm8@ux&3r=TE78t+oJU7B9mg%Klo7L^GQQ7A z;Ojk1SbX0Ty!en}Kzi!Ohi3eIw`s$=3b}S2t*BH)ofSm_-1i)~M1e8AI|huHUaGND zWswNtC}G9^(WYiw9Y+d2rX^O~KK z0G&CDXg{*2BkvFi0oC=w79lG=Sm#XG$Gt06N40oK10Y4uL}NWPxMq!Qy7RP(h_F(u=T zkjX>HWI@1%MIzcS39WN0+~?$ZZq1$PWDjJCkZ6kHu=^cq`r@X%i=k~O>}-+oL>n4a zVN5NB!cRa5S~g{8iF^12gc}DZSlFN~jI74)2cTlO9HN4*DGPGF%k`*qei&zzn?!1f zE!PusW6|{F*nYw`q{6qBiWW1XQ88f})wE`_DFRe6B}87O<%Bf2Yqtp2hv8&DEGEA@C zX@!|?pEkjj*Oyq!9Z_+kc7Y!6I#4|+Ps>2bB6wD#P2)X{>P} z1#~g+hG{=@Yq-V)aYP*Ov-A`SUNhOf)|;>Vo(f7R9#(W=?k0tJqg48)D8s^0V)c{n z%#7$`MIm?4U_AvALb10`kR_Vw>PsVqWJ0wCmVS}rFg~nyjJHa+YG+7?h!(eQMwHO$ zd#sbQ>_lUj$$DxDb0p2B1UH(0b&bwp@}a%|jYpi5Jv;cH5|23-J!0CM;3>4QN*ls> zqs9Tb-xdogcQIt8(jg*bjV!8OSXevb{L4{oyHM?{t*7!v+AZ*R?a0j53$~nMBiLoL zkfKoa#0E%kEQ&m_6n4)f!(1-d2;{P_ccm3p0u7ZAvY_B{*)Y+VTW8FO8$vAosBGOs z7J$=^F}R&Z<%l+hoF^JPz_Z8$7Ca4LsUA?7$j#2cuWw9<_ff4hP&d+Z4{(JSzlNNH z7EzBZ4O@94WJU#=rCIy?>=VPu>g!{~qTrLBEO-&uwlh&VlNa5J6GL_j(f33TTR75t zw<{o6cHRNZD~uVK9ftx;kY&!|v%Qi5aEt0VPb}i*%f?uc50y!E)~C7)8)Y(DQ-?r|bx1w))s>b~_a=*gh8x-dzx+Y@~^wa%r{wno%o!zNEo$F@%j z!fI!|ww3s_3l0I7FtJS{`E_I<{nlU`$Gg21NunK8d~OHb@$UOVPkUCjjw%fZ;kbUD zk;~ABv3pZg#&p8HOi|Z-8}~gz#U85c=gn@p54zPYyHurkU;)^kKD>|>#3&C*YPSPL zARc51YSv+IcQqqD50O?S8A3|`ev3l+^}3N%zQ zTwhyr5W^w+L`NkL1F8hLei{DJfB+-L^}mxiKzM(>}}^l3Ufo)75BM4;CGv;!uwX>!qZWeOJBQ{yNCRu zMy6bdg1cFQfxRU2w-TX_u+x2<$cDZ6f&;t9VR5Y6$}OK0Tc|T0W?VEf3{-Y#h}gr< z5H?$x396G~#v%D|RIan%A-+e-&~VMq291Yr2<7p{uL`vi5RS~^-#QY8JDRUxGHhNt znX{jQ2`HY|0hKVhuk|GDWGxf)+phhRb5!h`qmnmjb|$r3a(W_a8#m=vUDs_h&0Sxn zxr-L4*l{OWmO!*9#W14qwG(4H$eIe<1)5fl4b&(bfB8!Y6Y6NX+t$Zy!S~Z7cNGev znyAk4Wc49!9asAy?M2K%B45;Z@+3=#%wBDkb~v`pTwc4?h4cb%-y`h{2(S0HGenFs zDspJ`B-lr;?*=ZYyXnDH=(JGDU6L>bL?xUC?m0Uun5>fF9*uA8dtn#%u`G6P?RHUH zM?%!8ciegrWlXeE-gPCRo>H*%{qV)8RtpKaSWWHD#mH3o(YfT16JkGkBBmGBvRZLL zM`g(FT|qh>mPN+$KMMf1Fxl1I*D{tcS2H_rOmr5K-WZq*SxqdY8X?kPCJo`Q++s00 z8&DX(|ESdC9~DDBdnLoP^TT@EQ@uCE`dlvTjJVki z1GpdYfrDN~I}-WPJJo`*%Ui<4+v8zudc!39F1iY7wV1ao+p=%blzr=S#P6Q$f;o$P zIEYcU#i`j@j7j$KbOHGfD!wrjU5t~(xO?4lAT zF!CK3y~ooR+=TGDu3daSb)3E}hlffkTRH?)4)hTD^NzXW`N>iT?K_~Vr|zJs4tVD} z8@isfuO}I}=ka%p_cI?bC;Y^NB-9Cry}Pla-g7Fo!_p^%wPQf6uld)bQe!nL!nAEi zv-3%0k@Y%J_vXfe*+kq*hqYdOUQ78(W-xHlOhwMDnCRToBc zKd2g_Oew1Zh9?~~(soz=+6EEQh6&jVeh>!BN5e0^?NecbW1~`&z0-IyzurHlE=||~ zJc{#42se%DT%SLl?kb)jj(l9!A{KUqkQ6t)WV7=WMq9-jwxc40ko`nmh|9<~;YBYR zCTuZuJ5y3{h&q_tJ^Aqao`7i6qZIbMHmY34B*}Jkqk{Oy?Wg!w?YNAq8i=L^?tA5- z#bDO1vWy|S92!+gvXJ{#1D_M*m~F@Wm;khz_H5;s87T|E!8o1vZ)QtJ4Z;(^`e(?* zco2z%*O#XT8$$7a=V?^E7aigj`t>9t+LYtK!ZA0{^L5G^$%dTgto$xI*dB##(l;G0 z=+c;5h9b-S0$%cMGpgbN!?*~z!}6Wcj%wGsLwctC+FhzKY`LNOs`j)EWFOUgqw4wG zkllg`Df@Zb%!sNlSW`wMV*du7k254sKN8Uc2FSW1N*bm}UGhFE23`v)-PG0pAp%;5 zq?hk=bIzioYj04zy89j@;-{w@l0DNZE3iC#`_g~B$i!X_!NizK1peliLAE2ZM`oIF zoH~TZbCWqw)zNC;Hz*f%8@ls{|JD;5uR%GZlB3OqO@0jIYbQ@}VWp!HE!-KEG;z`s zGiK{05^!g7F~(yC^f_uY5gFz^x=+f_+`?uls!8--ABcwCb6d5*E4>z$!IB7~jNZaz zwoaHW{?_-h#`~Vnl-RAE2vJmcSAp|-^7viz`&V-^BlEp`t454=u^8UFTY&oi{!Iel zMIm%fpvLl2eY~4_^XyP5g|;a_<(@FLSXSnL{r$JU?*INh z9%!EnS9k_buzx>F9Ht)humaAbQb{#L!X_t%xSWBYoht(4!mxXzBjGr40Lc~TjlIiU z19r_Lq|os7wDe%mY$W|4zVG9J!~wLnN859j4jwfthM+&Rl0}Y<@)N^+b=|y2x1Kp`Nm3RrWcD zWm*=bRniuZFy=-?Lpm4`1|U-aO&OwV<~D#;0rB2&GgGC<`3Hzh3{d!SA6u%SW@ezQ zXFc^JPyyKK`Y|O)X4n$vdS-=3LW55yVY zT4u>X_*?C!UAf;N$j|SLx0{}rY!6V$d_P7kIvB!pJ}&4w$$&m)`AT_SBfQfFQ1Lxp zGMYFogmGiz>UgElkScRty9KnOQs8leJb%$+pJKokS35F_^6vT1u3_Bw&d}xoI*)GTGW0z{UtKkp)Mf2Yc?(MkxTAqO!DDhZkv z03sp2>Nx4VP7|ac`?YiN??yDYt#%WPy|}ZV9mN37Zc9C6YAvh)+rwg9Y@+Q$?ADNZ zr+toB+vlQU8s8B1{uP9S@dg#=N5gvRd)m3j{o09b#R5$xK^)b+YzwL4AVj9{mWgt> zBL}O}p?1s#YZ=vkwJ2owbs!At8-W=AMZ%oyd(CX>=nhY2ejSM{-QiIY+JtRx3Gka9 zSM*^{_6CKU!}*)c07T-w=H3@S9U@XXEbtYaR4Eo z8xo?}YXS^rb#9bA;zmij?a~&i(sI)&GL@|*ai3)DYvspx%4xrjRET(X8)dlt7Q&EH z_JDR7W`OXxOQrLY`2pUDy8Vo7DtUiMHm{zH?s^jbyS;-g-cviF;iFnWeLX$9VKJTcRAIoaN;if!s)SOV zuVn6qiLr((ZK@*`hTrEL)*IBGhmMN!errIuY!iMp!Y(;XrOYqu1*zTvD}J9LR1g@p zc+?Pa>O(xawBGn7Eex8D^pxUSbXjdG`hfXM-G431#sUfI3ds#2G4cB{CF#*z5=z&c%D ztKq7hB97Yvp@-{fm8rc9r;PP2N@ntqQslLA@3(&P{~q7t)y7{`Br7O zWNLRm^uY<&m`ESSn{hoRcA~A-w^UGAE|`*vbgo6(^zxe0V5f3F~3KGchFhWr)lA52*;PcD>p4`Vv1rs$8{e zcbyZz4>)bt3Z4_!=Y)aR)hVfv!cKM0*}rxwV{b^#^tr&IPah&k@0E9 z1k_iPpCPlQf=xnY$835549GRBW^T>OGW0oC%e_@!S20h9O%dY0-%oA~NjnaaeOxoz z;WRbY=!fdtP*^oFaTKE^Mu40wf~e)u7i4MXv6Qpi5W+SrMN3y788X(WjA;kGp0>ge zp{2P^umwZ)rQG~|uSf`BuFAS*bRY6#F>)Ob!pUb+k@61_Y}kmN5$kNE;%}78Lg*WD zn?M~-!2+_|Qk}e#KK_iibYt5M*xjZG+V>%Qa|FVJxkD(0bvu&2pH;0L3(ulKsu*0m zk`*CLh?pxHlA!^@=J5lklA8bP%* zfIS!us zDd0Cs4$A3YOn0*rwt3C22wk%-t*z_#)1P&sHOaiwE0PQA;imkVnZU)Tz3d~r2yy-zK0kl&>p=P$ zgH2KhVV4a=c-e~YZJ;B)%y+cEZv z4Q`YS{3JJI>9;!a*%nG}y@jghXSKrighyC!JC16m5J3IL0p9%EY`=P6>HU?JTXN4g z-txj$`5E@ARdx@kznO>Y2=U2-bm3;J$YrIj|J2Hb@H1$f##m9sLGh0E*S)MSxF_b& z!udx*?p5_O5bf__CHrEk`$eXxdR%#k3yPyD8F0MFPjBH2MatE};k@$e==n~nCYDyvuIDk=(~JM*rY|~xhFi1A@#V_~HT3GK z_C0pqhip*_3jFQ$#20?;)Go!m+V!YL<20?9uHI*76}y;E4M}vj2@^#IMF*t&Gblj! z6Cp4-r^~-UY;D^o=#h;Y4Tt&q5tF)QfeDANCsDMcQeTWBx;M-8FMIuBSbv8WpwcxI|TgBw!UVeXQT2 z$dw>kG0Pi(5Y~_>uc%`CA^$9XuPCMr#CoSViyBlE!`dnE(2Hl1>}Cv+Uujfj1PHhg zVzdutncVq+QN0eaPm(^%3H7LEe=oXRE56#zc*!9%4%@zJ*$BUBCMA?i0mQG&-ET{^3fg8xn-3i$2aZN<(0~(~Dj?~hc5sKFlk0sHEW)DJI zxL9Nkd-`j>nx$BYVN}8_wiDB?t}NvJ3bnbs2d7n*xxx18%LQZVANJL4?-i|pj%4dZ zb|fF1+p~Q@>h_*7vJ2=VnpKQw&m4zz*w!rP_I6WQ*M03CD~QVajEXqI_aS%gv%YZc zwVU9rujDTp&$(SIPkkK^2tnN->G`oeDpvT7;EGBiuDoA6_UADHbMo*r@i1Ix6Ya>s)E}wOb8P9l17?o{VTwzlLc@v`>;KFO4PEUiL9uSxd~sHwMWx!A47l%shn65 z;L5;`s!?fYSzo*Pd?A$3YuAGqBPwveX8r6`h&P-bVqaYngM6xs(cX{wBptZP$xO%$ z<&e01$i0yRp;zDM6cI32P_3>+Gf}EO2iQw1kUd%rScdN=cbBNbF1CY6Ey0?(FOflo zX_sY;=BxINk&mVl=g~0s9x`tY#eOBERw8^8wN6d-%P0Bfu62&44^YvS>q(~XhTT2O z2FYevAhOl%PPgp)uq|)PH2Wc{92y^7z;!gcAq?3IDAyOi?Ut8+nkrFyxgSGD#ldKK zD^k4`uz;ti*(8bcI+yWn?;xwp_hzAM0Ifmwu6x3T(^RnLKF6uAFM*Ux_0s-Joj_D* zHe-hT?tAz8p$XKiM0S2Ai1<$_v$WYS>xh*VTV&U7CJeyj>$Ou58db&=^CMBGSdfbo zQq@PuX-Ulzi#201%t!Y*7T}YRIs6S^QC$a7KTa!vy?kYh1oA35VUF~jPO`cUHo0!d zzw_FzoRajp>PgEFJT>W1{$;8&!JVUJi8(Qys+^stI@xSDoA)>d_4>J*ESZm~L}3dv zGLz;>_syL=IgjGb4Pq}1+?*-ghjmk{1)cdDQNh;$;l|qq3GFj7Xp9n}>xw8Il{?rS z^cZ1rn>?WGH8XL2=a$%xdPQ)@GdsV|c^78|tVT9O4zCf#h{ySPH|3^Ulb*eZS*-M} zlC)8?&AmyuqY+U*gALZxykSbo`W$3e03kB>$9AO96Gvah4%L%cUW7X?mnLf}CEOmD z3%Q+${Div&cP0#z)#0+)U+0$KDdQXFd^Utk#RMs;@n$@grMhM+6JkY}U$HT&x>`vE zgd3DLDW#ha0NDfDfW-!`8PgzT;WAvY9$v{`T8HNVU0M3pEG zak=DJ_->Cw?DWnxD#Gm~w*cg^{*`c`;;G#CsDe`y&iAJVo#NZ9PWVPerXOQC6W7x( zhvOX?#m)089c1yMyAuanZC!`Eh**_1*}!+)E36uFkH|UOd3CK;*FcLan|z;lZ4YqVYnk*{)6M*<=D0F!h5GNrIfs-W5}s;FErXaJA}ARzpy zchpm44U-p{+8UKRYD0u1?|YJwPPWo5`NpGhcyD?w{+Noi+0AHFQmjuR#ZVS!*MCiy z>w2>*jk~#s0WsboSM&AseVUoIgP*i|`yGZf8&q%4&p1^D#Bm(l{3d zN?VcK`zia7{rqr;zwli&Dgc=*lhZr?LA~};GZ*=gP`_0!o@tiS>>NGv7Rh@^-&(coa<{1{m>VEDs z?82}RYI@^jRi4@<65FiY?mNW#5~6J#^0MuxA)TK?NBu)a{ z99My+oi}zH0b~Yb2yb|Z0NNK(u#|`Oz?V^xPku&YR5m=_H2diG84rEptQ$Y0niV&y z?|X#fHFNYFZwwj>-7rOz`y5qLyrCr~Ezera_I*N*u3W_vS!h@dg4`9(*Bh~UPOgA& zt2U&Ug6p5yT5%~Vg`FpzB^DkPcLz<UN9Y`Pv%msCd7V+UKN z*`Y{&wWRiwgMa6*78vb~%H~`!Px$;?1RmP$c`@#mJm+txk*l~zZF-~dU82^kq{gVk zfl|purY8mSz-RSAmXC89`6`pKsOX=Tp^Tt+MX%kHE`Hv&E!KAxLpuyAo5l!@VZOI8 zZI4(-wP!n=n0wd8!ESYf}SnrJ#* znMdcWMI)lnp{p!cT&k61EbVuvVSlXn(;^9Y_B|1S1$rRzOdV++Y^81|E^yrS#k9MV zp`vnuy=B zSr_B$i7Ywfmos;Wr(JAIToqbsJcg>on77|qY&}sQ(W}-Nfn0s?G64o2cdM}Tn5O! znHn?N`SH-t>#MKUU+*4@XgxdeKZj`N!Rk)~H6+o$nG02t-}J;1k`Gq@yMar;#tK%y zd-F}$`8p-92;u~rgH53AJc?#CJ&U(GA?@h3Ck`$+>C9T;ZyQ#4=B)2!`S^3joxgV> z0q|lk_9w^lHqXgy1hBmh5o?qNJ)~$FME%(zB<9Dk=5msS!Pi`{@Et62wCfdPVL!*b z`O@lVE0Ck-S|nTC?TU&aeQUs{Jjp73-+~)T7la!pnaqA0_V>i@5EKyXPPMKlu4jy4 zDBt5QdY_NxIGyhf*hM5n>V=wK|IsLmw_>{dThZVyki}wjW_w`o?^i5niy7jOUrwG; z7ONAjDWumkZSJ@3I2OQ33xx?#jYv@9sQz+psrb!qU!oCyz9|>eNi&8qNDM2gA`uYT z!xjOu*@Up5TB(%fY!9L&M=@&;cFt7dg~*v|ydPD7>{-y1Wx2_YBVPPbmgktk?oAtF z=G5-xp6ZBH!>xp8le-bzg92em--w>8EE%?VTF4!};)pk2P&sFu1E@-z|byi^_%g?0{e62*dcO(EsdZ|kA@Aw^+Q$_{ojXa#xzG|sz*hN zwltD+T@kCD7~mmLDt_ubo2rf@AzC^WXS5#da9B`IOi@ps-((jN* z;$AInzpki&TRbt+cnVdQ1xHmq=^>NW+7;n^pXeXGfUkIQ0HHpRH?>aoIPtd55{tbaje%~$;xFLtAGyVs8ntlc@KVf*O@ zM5?~8nY66=h7=%*#J$xMI6{aYbIP9IVPHaDJKl+tzf*N>5y~kq){DxjG>v-(-UKBr|px|WdN_noCgK#p~N7~_1gSRMB*T>O|K=d^g zu-|zVr#UgL9wgn=iO9i@D%U<_*_1aaM@id57#x#%Zfe%X*U1_;i|*x1&-Zak}tZ-fodi7w?^$o;ZFNRp~tfvDx9Q ze(5NxeD467<5Z)ZcU(~-=2315VGYJ3WYK z&(@%KJ4g|+^Ku0;t+wOY|5i7GcApA)h{H?rYwR{FY>ujg3H& z@>_xZY)nX(ZZ=(}_(nvVe=B(&MNCcxMkILGnv~V@A0bky$IzIu%c{d9{*Efa9O5aH zYiCX;p12>k0Q-%L<4m69&5prT6eYHwWhtOj{YZ#2y{;u+&Mqgh7Hcyop@w(vZtIHi zQd2v3%rlJQ;8z)NpA)!0AwpDNyZnKONPrH0)ecY2e6cN%9O!ytj=olV%s?~Qiklpv zdOhQ+lYCBoYgp$VjX5e+3rX4x+WQ)>x3whZ-rd;dD@HNQO}i5z3*1B{l5=aqLTYsr zneUMsvf%fvIBXTjdSZ^W;*i2u+m%)G)l)A*zr9-?Jj{|)ch1=9d`J~3A*)qE;;??& z&KbO=6B0NgrTT}s%YP@syibbXPbRFZ4q#(4w$FT;$h4Su>L}oTd^8%WWP_|MusS&q zd7dC(L+oLi5G*uxe=HF2BuaL|lm6-w?rYwCxfPee`0FeVGWPZ^0_ujY|}aTPpIfhSJU<~UQxh2F)@Z%!#~*{&u;{L^2zQcSc^+cDT%u{ z)rM90Av<0(;g36>VNd=$=+_QagGXgLucu8=v|5)to(*6+A686n-(xYa9p^e}faZM9 z!b>M1MMA3Mt8>qP-=LHmKSU~S%}}54B^Qr1giFqV5la0J>{921z_dwZVW#=lPs`|NcDqU)qMSONqJj5anI2joUJ$IkG z=O=@xxe+brTdQ)EAtYpH5poX!w8NK5@%CY_+qR#yQ;(&!>HB%K5WnWprW;#&HRR0i z0=WxS2>#fX>17Lc2Zq>P&8TKVnazaQ?K(g}_wyUKiU_|@yuP_G?Iu}y+k&dM2|_Ly zy^h|AB^vv|`1;~4M3rbv(DTeGm6cY9Jr%ISoqVhMnG<8I~XI)3^;y>>U-5Uem z2gi>$Oy}cROp2qcq&qPu$_0{p)M&^VLM2<4oo}H^XE|rwlshhvJ1(%UU5#eg#EypGkd&d?T2D17ne!A4DK(quSe}LzY|iJ*wbL zgF87BTV&Vn zQ_-T1t9j8(g?ffTL10q&n#rFuVS!LOX`Sz;-H^*L(aU>q1dYJlXDlp@6cugOkW8r+ z@HZZw>fXaZ0hP#|>XzVsMEy+8s21^xiW@Ls?^+D_F-4i@@jzYiPov^=-vX$%ikToi z);Ah*U}s!KSCU>SK^K4%d<=_|yv{wY8c+x=(csb3IGzo$3Pgy_%5Mr|7`3+KRR#PZ zq}vIZy$~A07*7z`r5>?vzRvb}R~DE0Sx;VsyXD@`-6Z+m_XMy@&7Z_{4sM-Pzw|wB z-3mJNUfqbEGKZj8XMlRJQ(> zQ|#}~&##8UnGf=4iF7u9;U4({=bc45r7!arQ(O12jAJ|GKa#B>-|PCybshd8bK<)} zxO;-v?)Am)u+LEyX|5;M=IiO0s+`{GfT+6s5moN#pK2!?(UL+68Vp(D#zJrurUOu! z?QIX1w-6yqFri{~7CXY}U0Z1Zc|9kkV2h-HP7N|{tI>=|4k2j+S)4OObZ~qHn=6#J6Y7Qu-%3rCUIeYig=w1WZV^eKU$I)Q;tW~ia7hIv5^P~8qr0jxckh@P3MqJ$~#bo{MzIiK9tA+2(X}72AInHmL zl6$i?jiAg*hPxDGT+)y=2^v64cDZZ-#q@h<23VHbubyv+9I(?>u(EHYV(tY_VMBq#A(JbIdE2bu4Ercc6-5 zG&RQEor~%j0$gG$@L)%?Yi>o9VYF^jbLG~eb6+raju~}zm;}LLJhJP}bsyfTbKY^N z89&1y0ejNmx|g^)VW1+Rfm`ri_KM2y1-HE|xP?CCv-WYnp^xZU`}6wh`;5^RE@2n4 zcfZ#YSJr02JV<-?Fg?_6I*#32?Q1UH-h|Vf4YC@!x%X1cgP-+jO1>IMZ~9RD%FeZ^g{MK2qFDA)@UkA8Vy5gmSV z5D_o=5lx>16cul}s;Ta%FuE@ZT7Go=1u6bn-*RfVm?D&SR7i#sm{k-k#%L4z>50_a zh3Nn-{Q(PQk#>1W?OjBRhQp4Xd~S~6oXcJXP= zoD**2`AArPSM6ZCKfIH&ccUPdwv|khr)D5b;!D6J3G;$sY}%8J^lJks!+_~`=BpPu z1Piq!q(wX*5ueVw5t0jjtfM(;gyg)4eQvgJR9vGQ0*B~2uQa^x?+R@SBm-pAWq|lt zL5-=bR9!75xQ}L5o+IXEB8}`V9L$PI%qCX1oC(yT#jOg*17; zX&041UFSfLpX6l}b$(L}{HEIlUhGk^MsFLsr#8jbPohj8PeBpWl^)j0jP{yk+OHba zklAvCdu1T~EksbT%h$Uoey#3DOB&?jd>c(AF@0XUb9u5XXY~qS zGG?x)vd+;kFxx9McVTT&wtv-fp`-A!##iob<-E8w1|_6nbuulZ%4UMV*VeS5-lXLBsDPnW<_~(6(raoaV!SY5m*9K8p^$pxXT}M}N=ZPuC zY3xh1Drt9#B-VHRGOiOCDSUZYUByDGfCG;&tncr3=L_s4`E&=eNZh*Gb%DK#C-4Mov8rW)1Q&Nvk_6=;JV6*fCkfL-w{`NUy@(_jrdl z27&4piZQtoBvf+v&PvE+PssClDVW`i1+hu)bKKlc2Bhl*HM?gDLvq{hbAFVFG7ro7 z9#xn54q1SHwq$z{&5ItwN_`AdioSL<^y{fdkm`xW`Py~C(DxkSZu}*s=RYNryAB8u zFRJ?MA(90KRSd~okO;OOhj*|B(xqA^+S1_y}O&QhR=dK@>T2o0plt;r0Xhg#C znML=p1P@?ou#G5Z3!=W@TJdEyTTd=SHoXTU*)k_vi-LDfBx3H?SIzZa$EQ8 zbca^}Rn_lb{`9~8$Nv5Q=UsP_)Ni8y#$BRTF-Z?;aia(yseBV-g!I8YvV>e1bI~<2 zNFr*8iH=6t&6Y&dU3Z~VRC_@U#NH6!9gqw;0wd0Sxo?i7V2}nQP-iZXoExjg5_l22Fb(}*A#sP$XS~>p_ zdjnYQ$^M|bIQ)A?+#?bZZvni?2{L5R+ z;usMv`4G{r`-SWmaoQ#^7Sly?m7tBunw&He`u>r1-DF5Yu?gE3RD16rgcI*eWU~`SndkR?+Ve)V^wnG6Rd7bM z1eDIH_SQ)z>W*tGUeq+?dzh!{LEsP}Ra7$RN2Oe`b-}?BCNqg#G`+U% zNnGM0<|px1Mu}!3EX3@-cDg*O<$DtF74GXP6KI;4P2U4(Lpn!&kI>&m*Qi`p7^157 zsDupKhG~|Yp6I|$4|$P-4ZXZ&RO9+h@9YBu-W6eUabM%MJ-y|(HKSrnwJeozJY8Hy zZorupRAg6|8z!Pp&+`D<1;`9F9Z@lE+YA~1(B=Ky+H04qWYgIR&8}u$+=&emAwzZ+ z-uc+o+a8!&+~g03x`28{nGnyy6u&dP`wf^*4J@xC=#;OR>#iY$Fa!)MWD0r#s9U|7 z&Dw#bjn+}Yka`l4jyce*U;rW!c0XSMW7ChywzUil&BY{8F`!z{B3P5)kX}w|8OnrB z#&L;clm?_>`<#@=eNG^&4duyIN`K8%bG2BoGp3BL!0(Vs2_;Kv0 zR^XJaD!|$j_->9+h!FUIW%BzPhR<7UzUANoJQh&j3&-{_MW^Hz$vWKJ@+2Ns*l{%3 z^|hiw8#R)}p4-Y^x@ZGnXLMsigT1e{dc81;Skn~ah+=h8S6-66m|A)xY-1pK)*UZbU?I!`cK)uCtJ2p*K4aEdj zK}JWcVdhg*Fo#Mo{$wkA>(=<5pG$xzv@`BbqCobGo9#lCs_r_V@sRa z<*xf!rTLv_@$wcxv)u)Puto0c`)!4Q3tdIDJ*-(d&o#5$v0>uQ4~vfG4Bn74@HN{z zY!P*7KOzyN6EU+L{GIXky7`94!niU1s8WT9Cxu+xXtLB;nWeSMjA?4AyN;8O^#;{6 zVyZEO(9B(=BPCxBDFu4X?wUlabh}O8UgwZZ+S-wkw?*FOJ|8xhsF_&qqO}q63hwNX zl{Wy4r zdK)B~S+H+aW|m{r`?Z~xJR>sBJv+fRy_4$jV&!cnm+FW_-kJ-Bo3zl3dEZgZw@W)g z{5tL}CXP=Bgeii!Gr(W$=oCAjGIG3DkP6A6+9o6mOFF>_{F9CZ{9KjO-P-Lj`w-&wCL^GFqUl!?o^0+VhV2BAd=Uo{afy(cuD)NxUF8CB!kVJd->D{~KmVwg6rMft zML2fTS}U={6YX8~Ye>Y$nWGu!E}n-87j$AmN;l9O?DmuYob5y0JG=e!u`?@$y{jK@ zNCLbmPBXvbVUXvI@ngH`8J9J;_79a;HR_#Cmzw(IN8TcSZ)E4b&JW2q-Vu9xzf=?l4e_!E=Kja_HJsbm1Cd|xroQC zs0_1z*HC0rML5sDXrt=`B^+OnLwiL}gxBFgC=?+qQe}h`pYiG14*=pu_ zmOHgCqcW^2V?+wP9#KEXv*TWHIFi!HQ|GGfw#H#h!cnn!Z%n;HK4e8IwNsCJJxLXh zVegGaK927(FZ!Mj?~OBvSWfHPJ>l`TrXk3u9_8qbF7w?gpjm*jp43F=ELDwG*g0gcT!kz=4pHs#o%X%s8C0>)nsuA6X0CGH z*F+A94Tw5(z9cSWJiQl)OFqCB|+Y>sxe2k z8<-IOesVc!zKzQ4aAIG(j#KUIbb=XGFMEVw<%cX&8**9nsF-Q3F!f#e|Byv5Lw3^8 z^s88UqR@-i-S<4{)iS`^$J(jUZvbLqClEgz(;(Y5=lw=UP0V9;$Az1VTc(0uL^ z`|!r31oqo4>5f(}19c)DBbxgG`yHh?^HDrM7m@)~o8(AiWV5_RdzmgoY3_a9achXw zfauf~j!}J&CvsEw%4A&?6K;!PyLc5=Vt>fW&_ldLH$)gU@e|@Z^`GnXmRxGJVL|rF zLR38{G-PV#db%a&TH~(kYXKF&im4+?-qlP|-tCH2y3;`g6@+RC^kV`DvhZ7o=!@eC z*|pn{@3#vDIu_-GE#)2+bMSiK10qBADn1(Fk@IqjNld5VvPuL;b>GX5oMn+=vVFj< zN@U)$Go~A-02gofy<;g*+z!$t;tE^#qOfaA+*hZbASQm#$dk-CiO$@qUBT4*72rhr z%ICtW6|0>(fk$;Bo}U#b*7Kc5Gz%3EqdzA0o&WfpN?Mo@jdxkDoymTRV2?0tVErIud2HYtbLP5mt55unD}7U6DhzsP}00qmmVOgRnc`Vr%o&Rw(oKwd zlAUY1kc|I;p5A)RJ|(UM>U94FrdTFY$%kk0vuz3)T-<$vzSVaJTM=j;S((X9ej< z8HbKUIO2+Ry*Fz^+KIOiMfE1;a~K;!Jifh`CXzDsPA3)(%0 zqS}s>q*vkcnPYl7tq3^tL)9Rd-D{HWJ)$xT0<{csy^tI#mWSzA@ zlyeib)9s<4bLw_Wx5X^k?iVrx0bY8W@tb)$+cn>#d(q{)13i18wk`%-GV^&>s4WQ`3bTzw~#ZuAuG-Zp-gueU>BnbBcbctz5SLuWP%Km z3pJ$RODhTc2I+hEKpf^h)h9J@bK}E3q$1X9$4z`#k=1&lZti>TFXUM8y;qE91iZ5o zWkvMMu!PN1jOyu3%CijzEbfhDwJYs_mG6|)OzGYsFI7avxeeFqe9fL2fj@6i?#5kI zm8Ptx`Gt@Sq1TRSaEjd#y+QqGCBC&Q| ztaY>FO0hql2=N^jP|>f^Na1Ij`+INnXyquLVF=qLbAtR?xV0LO3&NM#s9kSE;xSRB z4vE>pR5r!si-NRtMtK%I4OHP=2mu{mFq&6sJq(-1uX$lvQmB+To|Yo<+B@b!nb2tb z$BEhull4_f;ORzYT2{9>Nb!PJyo^RbKics&K}F=l&Jm|J$l>dJq0hLWr+oVyaX2w% z8&9ws<$g>O5i97LF}_X({;GvfH=E6VHP;&Va>CyG^MP_EQ=gR=r5G{VstbLTtsbXi zvu{P2Epc_W(5%k%{2N*8@W#RPyY&-Ozg6Z8)Q<08p?4Engeq=i7Z!hdV>p}7jo?FM zgpbeO*_Q42$L~mGHP%c9@;X-l*mhxHYVmBDl@OaI=$ z|ER_)8d-=7iIi&)ArIS?yiKOx{0zAep6~s##P+$clL7Aj!yowu1aU@DDfM|he28vh zg~+6}*KvYVPLVWzLtaLszd8w@9 z_{N@`UU8Y__?;tg3ab23+x7Ei646-Q%`m>NA!HBC)WwpOFb=u!Exs*vawdY0v|o_#9GD*o+G0_ujS7-(i)J;gL%Mx>eTkyB4yf+wrdVtWFl3J$LoO**PftFJho8L~ z#;~aOd%dcjD#RYL2kJwVWbcsUm_1hrQ{8r>nn~IS9Ds-X!c`xyN%5GqpTD$}JL3j6 zpF8LtcZDo>&~Ie+Ue6|79IR%%xRYzB{*J|l35jg61PJg4s^u=4P3LpKOV@>oSszwn zV>9f>=tgzNc{F~nML)%PZ;AO8N2GKkZbY=3;HVt_tLE+!Zw?!u%L_KXS9){c?aq0ui)m zoJ_90j|Hh3py_3*RoVr@vDZu(qR-`bs4X4Mf=UqK@Z0pdO2NS{a<8Yox&&~}*0bk* znr;Ee9NYEefP8?reWCV3a+xB-w!nFtW8kR9ECu9}^v$LRB3e7x>Mp}7 zvfT5zDTsio@%@5DUhUK$y8 zA#<4Al^G`KmV}i2T81-(hF?2XEO#F1&lN-v{TMgqfG`12K@^>>CmN&?RBZ7zvsq3< zP%l%}3_sdZ$dxOG(Cvpzk*=$=WXoAi^)#u479d5)>xforc9KvpaS+zi-os`%o0CG6 znTRy&4O=AozD6saP^>5?ma3~R_SLy7uaD|}^Z>GOeBb|3AChfJKt?<}D9uOwteKQ@ z*J>ZMunZ^%HyX8=4H9w-2Pus^B>&(f%fiQKe!RRfYl-RUlH9#Q558{FUn6@$h=D5W z?puWC4bizfAtpSRd}5n_;XsB}uQd$oLTBxMcQtxFS&Vc)Wcdi~ra^9u>S;R)uvNoF zl>r{GkZ-_VB!h@*+$%0&6I!s_UC5r)i0XnZkmX-O3WMI~{D9W=F3opm$^`oX$Ic!X z|Jwxr)uc-?E|$s$JB?OkZ(5IeRqbOm^7A`Vxt^bN?Om$uojr|2u2`ysYw3$Z3lPNz z$2_pP?J&nJW2a_$$Pk8oiw-$XnNxbIBLlBZ;8*JNHaQPdMYR~iIl_pErRt- zuw+6kv1ti*YX(9loXVpM8USR9aa~EkA0|C_pA)2h$VFH2;cP(dD4I{9N+dUB7z=tm zxsP?$2xI?v%02uR6V0pWHgu2SUGG0sDo$QcA`k0H*zfhkCwrSLE*V=lhOS-+tSpwaO=)>3Cz9>4^EiH)&lwKB1uV?r;fA#Hk%g1tIr3guujZbKK!- ze*SR*4Ty(2x-ym@X6m(*Xt{Cv$CXII6e8U_N*BNhsYsg#MPe823#p#AgR5MA#i3zK zfkH$HV}8AJ>usQ_qjEGM5^kUN5K)VV2!XPVh=`Szg@b!Bx+MPCMY>{lvUNq*%yqI< zoUnL-TxX_hXEj#G4&fu-a+=beWNBxmIipg{T8yr8ikvVTYLrb6vIJeH{R>^f3eH9K zo`9|0wxKH}61%nAhhrDFnC~bzhC3nRQ^}ij%QO7%S==f^J6DBJjjXlI29Vtf;~#g9 zOOK7mG9jNSAZF2Y9cVQjZx8l%A?QWuR9St^IEv|S>H5{^M^hZ;wvMIJ++g`#F~)Am ztn=d2A>CmN5R&pW+-iUJI6Q0xq#+9}MgVr6=rKa(nIm@v{Ts{0&`S$$_Zky`F%R&bZC;KrI>rcNU&4M}nLtP{?*$ zDphxgBy1yKe(a4V?d01}G{gEDVdI&J@fhCjYw_Wn-prWCzp^&R2(Yd&Ma5CLF^N$0 zHC)ch+w9z0Xyr(&XV4ZdnH!ZLy15Cr#2Hz=?{o_5v`s`*@-w-tdaD|PoxD?5$^=)K z*6Ey2ff4WLzKNykklz+m(a=HPBLUke_VFx|l`3pA1ra0bP+r)ky}pw{_g*Y~Shm<&Kmw*KyBE@MKTot8L$`s z{tEHekX}_aDsnjOc^ZxmX{4|&Qq+z@6ub>_Mf8y6yC5?;t{rQ;je*ewHG3x*P?G*3 zO&KCIwEY~_!|u&!NYB(n<#(o~tl(r+ zwkMW`+*4Ay+4prd7{_&>)d3)KEN@8SR5x4sxcBn@xx@l|se&7&$0Co)xw)-#x4L1j zl=Ie-587IG6Xm@Jjl0|ZFz?mhWZW(3Pz!TrpEhu|T?4PEhPC&;$150y^?N54)vjov zTCH{ntD)~nP~XkNo)!{&tsM=JXzt=a?9;<)irPzfogOeG8|8IT335NAhXRHOZEkj`4(PsNjm)T{k=rpT0@+oM zkV`v^YLC2xdC_$3I2SiY%J@DeYJOYbt&DGw&dq&~;har8HzhXEQ$jw3Ir;=rPawAi zbbi6=u?8Q0+nFy|R~2RLM;QQ9L4fatOb-qmBknfl>uGuGnk8n}_t%lSt#+l3+#04;3)<^8-|sAd5a)mcB{6Yrd7{@m9tEm5=N*r=42Y`Vx#=LvazBf3HIsP;P%nsJuymAt&H znOW9}N1O5z3r!_7-`A6>;RY#DQEWVM_31LAl5s zkBs;+SuW#sE`*i{VM>)!Q$|J(I^Fj<22)H9>$Ry-?Opkh(k~%?nc~`&TbjyC-1mwH-nM}^AfKaAsA~~OGjz5{nf}h(?==a3L5;ztZKZycIMeq`8&P&fqIH`ubqW$ zZ^C4A_b4hK&KE**i+b)WbW`q(y#AC;^bT-?}%bx2ti76qhaaZ*InDSRS+t=B`@AM0UR_wgyhgibHAv8 zhT(K0+#Bx!CA#ioaz`yNtUP4R$o=b@<6_4{E`-G$iywO(WfO{}VU<#c?1u-26o44A zEk{zg={|=EJ5x2IR!5|u9ILGJLzKG3y@u3r)6R=04gl`;8}k;quwfXMFa#K%H*Rrq z74lfQEcKm5#_GcE_<}$>)+9X?;ArRIu#?x0a(l=g|I(8fol!-TBiI%&CgDLqH9E}OHCF` zi0XMaCIZS$T`Nz>#wrP4L#dfu$U~}~3;EF+LOVsYhjnQ^9U=R8qx8_yA?0JjF{~RTj77cKa)l02SDlfC=KWoI@V+Hmc0H3qH=;d_GYv&L*GRtSG*;5?wOVaX zTC5+`7!elU*98{uTdFrYgK4@`wk&Q&{7w@K=V_vs6`n^NB9xTqS0^;y z4!Iw94YMVD+R349xay3a0yo{-#)>^0TEw1dS|I zNI!Ynl%dK)Wk)7mtxrFRy}pCm_;{T=E)5b zQI1Hhl=a;21u!JryY9Xvn(Anea6p)y-)UwZ*Ow$_?pbGrJ#=w6nCmt>nq7H`i0gJo z+?A;Y33+yrR(mBVNVwtp=|z$esU>u!gzSEI zs|3R*7z1{{Ck45x1xWFnNrqFl_@mm^Ysc`dFA35!O3LT<+Gt2GPSno-Pq#z9lW9^H z!NpnqCRS9h+5ke_4k^dAo>Y2$>nnQQ`9)>zj!HGeLx`z*TGVAU?2$K4SCFr(3gsda zU~CU`RB(03Wey-$ew;DGf^9pywRmPOND53>pfaZ;`Z(iB3pBgahK8cq06=>}EGT8Y zW{;otT4vws+I=jiX!nM_j~&##^Bd57{BGxR7Kg0jFi!0W@0tF!NeFW=y_1WN-VR!aOY;FK_nL4M^kF4V3xDh_K;QZ@oL zIR~()EF0i1eT-;NCl1^6G`l=WFY=7(3L7uTP`elUfRT5vujg^{6Yr2K>1=h;Tn^MQ zze8Ol!7*v;o*IKZ6GY@LV>yp|RzBe{3C1aRS~d~S&zz>`&96i_NmLRiQ9w?fuU3r4L8d0){a3%r2VBDcZ~`>So929UBi3uZarcdi9WH zTN`EB#CR?N(8^_7RH$}HCOo7YYXNT7B(GT{7a1Ow;T0yt@TlC7Gu_-NN^&&GE5Kge zIJx5;h)mvsN%Pqp=)LcoA$9M1lLNDV*kb~bQwE@_iEH*pv8zr!u4<4!QP>37Gr-)u z`J}2OT_Z0AtN^ig3YD8~2YbBBkn7RPA)SVXS=?==n-jT(>ndc%>%SMh-Q*TO#LOXy zk!!}YO#SKnqMHnnes1zUH+S&to&d`IGeDRkL@x~Uo(bkn$D7^mS7j#r>Iuz1@{B9* z-*NSO-0lx`#g}Wd`0@s}tAJEl*y8vG>xMKw581;55SE?Y8cm-BlE9xJ_@>(;cOwJV|$GdL2nR0(CfP4sH-Q=26Ug@Z$@%ECiPM&;AYl(iL%O8XQg9eSinP*h z42wOK1Civrb^^W~0~))uvT;T=lL|H?npu%Y7Y(VMg8)&QH$;@{^agB~QBmzi`>19N z;{qAy`@Ry5JK_Sam+odzjg6RJ&kVvlt+X z-mtk=r#3*jFZZ$gmYsOOv=(FYED*gI&8-J{dQz{~6H+W}k~&UkCrv^YZw|@usTrf0 zLfi6NPP`SeTa&2d@~_>lkk^wZ0zTDt4k*kz-1lVXlS7aqrS&8{e_P^Yp8^isBIVG{ ze)TAPfg6s_pi15b8mTnj~Ds0(( zyIb%vO6T(1@Wl>d@a_rRa#9qH-7%;>x^~Xm^(0PtTgN@S^R%+HYd0m}I9c_1O?l{( z7uht@oi zaDHR-Ek%9JO{*dlK}vg)sRhmpgFr-5i?aT!{c%*!olQ~rpGW=o z9F>jecRv;9P8{xPRE)ncns10g9mlSeD&USZ5q$EOkgb&GG~aU2)k zAOs;~11jSCGi=q?Vf{W_hzg9ypv7m0tV$aV6aI88s%2VX98hT*?bP_U#E?Iia6crK zgKNvPHtA7yB4K{g?|R>Ta)@kv8m{3@=R)4EF@~+M231Z^fA5F6`n#&95XRc+SMiOr zS77HnlmVYr)fAo<<}BVQSuUr|8MDVgO<{7XFh)P0r+4{=Q=csCI03TM4%s3Rbo^>C z6N1?R@ejLyRu)4+z0-ioN^uym)l(uZ3E6Za9=1FyWN*Yx+%38WA@*V@0x(nR+Hv7C zKK*0$N16YprbgYG5VHluBUy!1&4}YJ#D&QXH4{R7Kkow(h|Xjr{CDdPB98RgwaF`R z2Gc@t*h~^9hRPwke5C_I0oOguAfQA5hF%U$!sWStsWVB`k z%^~N2ucMiE86HmTO@}Gg#=|^ubDvAW5(Px|{k=>^fA`Cf*UGf=$zfd=>1zt;`x;}Z zimVVuL!->*`q^ZrOpCxaTMQGG%}V#O1gizDolS1rXB!^J!d6@zHpd;6IC8uQSzI-Q zt$jU3eB<0(ONb^b>YT`J*PppMWS7@RLyuiEvHy6gb{`9~%kFdEt_!{-Yz&~c;c7<@ zB;{JnlD=&x2b)m4uKd%3+@QZPoNz%@!NtDUGtX-_);EBjVX1ST6HE1ay5He}^fv06 zEqfD9HuLM~4hThk(p+Ep=Jn)=C%PcXyCIi*ZNks@qJsM6z^LfQ4kYBJ2dM;nh{az| zLW6hyE3cVxY>(55QE7kE`?G_1NQIyEy^^e(A0OmaN>`8STTWSkgl!mFPdkH zhnA>(xsKSfEhy!%*G%iWA8T$puqycWxdoyje9gFnPEt%BNpEl*@Yz?eT_r;#q<`9w zXpUte9mMpNP)EB=brO{Y?!xx#hG8f4Aj|87bnSaIGqh>$?CaNTl@5qlGubyZ_3qq- zj1>XwC7F07bX|w&skkU*csLt3i zCnfSYXIEE|^DuFX1`62~Moi2GE3O4O6Abdj%wQEf#OmCX)FI^LhWnPWp}+gpnka-m z?aNrho%$A`)FurQ1JmhlYz>pEIlg<*X*#7ieKgFZQw^R~lJsN3!li7~cY{~+1}%mG*` zO-oK@VBTg?vwqA<(MHyM6UMj;5rtK$5F$88ZiEzC8lr&NuW*HM5U(ry;#|X6BFBrE z;sz#lM@g{oH65?< z*{>WmKKqL>kqX`oH2KDg54s<95zN<9 z%U+80<|i4K(Cv^G*GA>n0Nw#Ct{n2JP8`6}&26gi*{=R~DESMvPzRn_UQZ&uF~5JB z1LFT?4qr3=`t5u#7f0hf-S-j4Q&gVK#{3C{-8xZfL*QI1-c=%ASZ3+SrgHwW(=^p? zF_~N+ql>{X3H(-)({Lg3luPmk=1878BrccG4yza=4iy}X^B`U83F&9Y)|af2Rw6v*GJ&+5QmANiJz82~|(&$NXrBs>b^sY)UNb zEO3Y|T~Ago5dc|41topR5tH+f5~QQLECi(5oFSCf6gg}U zMb_7%w1%ZdrsKCP%MH}1T02OG_SQh*^!2`ge1n&=Iz)BzO^3sG-^0pZJE5lLv&j6d z6;t3Lcy@B1BY59qt)Ft`PhQ{F^sVqRY5H;V;qBC}@Pw3zIK8&|)}WO_8zdVj7GpMw z18vP&K==8M=PkM9>wS%^czh@kjxWlyCAQ+s{krCmPyY*m-L{BA9Fd&7wJOwqpU;9FVsD3cbyt& z(Z(Umc@Ej}tRN}JGvs58O7Zgc!!BS4SyDfw^j1C1nhVH)xzCB0+>|{Z(rzwQnuM?k zH*n@dYd@sJRlAuKhjC`xPo_xMccOCRtm&0v&43Ph^|fKUGYMPz=%}`y5Q6r4$}*@O z9e1lP@#`Tvn225B{#KZ%?D>x=x(Y526ETRc^1E$eK2oM9Bx(^%8AHeq zJqfE;_A;cfNI;SI*Uaggc;)Nipqj-Kqssalas$wAA|smV#(L^LRy6par3@)x9Wtd3 zc-kbW=MF|BIdIMHfTHRGUCo4mZs;>7OS1R(7*2rw z#YaI(SDK3dSkx<`mE1s>u?_-6;V8$Z!*ceKukSe%$VEfZm}7^ml&i>Lt(Y6lzmkmG zf8p^W$&lXAFhHS*y}1N&_c=zQulAUrJ@S)0Gaz8D{oKCoIaDlaVpDJagWaj8H2tPyzCm{+KYDXCPU$32`{>1jIO;n18>!~c9$a(GV z@ZBg>A;J(grWD{{eC zG}3`*E)hg~x7V*@PrF$<+0AS*E`P$i<&~~)B77oF?KUAnGU>}JGVpd~n#`ZM5dF=k zYdjD+#oM@DBMvdl(Jc61zg^6UP1u{UTcH!;saE)Gcj{qmi)K>-B~h^zt6*2_4hk*GF9u0Pu1kIeZEnh3Knb8{*Amk$cU`qO^+CA44v=PW)tS{ zSvN=pS=VlP#;`Nw6aemp0Xub6=1Zod&mizOJ6FvaPIRDlqY1N@rpRS$^l&6$h3 zTEriw5ap;g&v7^_e8a@*cM6#JpFicbhR?;N6&YeJZ}ViUPKF7uou(m#JXp5A z6i+;UT|!V#R;A4&UJ3x$HyiDwC?4yT{(X;h83*@r#s)QaE)K3{wguQ*lMQo8#zA{u zD}dX6OR!gchnyxzO_ZCqa(Y;Gk**lLjS^DWw$8CwiVbqc6S-3deXcLhDYAF;*G_^t zHB39aj7~$^jZui=`)_vcakqD*QNedav`DN%Wv#RT(!o2PI~MCW##=ivBu+1P7jU3n z4l7(kTClPH!j@iziT)Ij&lZEJT3m;oMQBO0oK2*U(o4-c1j7xf2BA5^&e}yqVm>O5 zc}K-udhPbx6(R5bM(q@3t}jKjP12yMiL9NSZ%rYJYu1yL;`hA^IUwqhdyWrwoR#H_ z<{%6?8v{~!s9`2BW}P{;B{_!dr_6j#nc}q*p14(ZQoeS7%amzQ6mOGhRz2SuGDECM zJ)493cc%}w0$D_pAZxY*5-=ri0(*9ABzNsX-}d7QVCp7WOmE~d4c?}ok>u?_%Wirs1?yF7uIYMD=U><)9J3OLOQ5iD@)=)x{o!4 zjyPlj7D?83vuiQ8bV8#!*#C3KTPVN%6W)1Vq|ONb<}3zu{3%3oGM0@|4QL;v7i%Z+ zQjY6ZZv`b`MPwqf`*oCwQ3O6@4^cz*!-Ustcb@<1=SaCjEUC3i6F_>+aKJ zV;j|(Kv`J%$PnR_lQtED#MNOdg3ylay>^}AI&vo31Pe~L+}DI2+B?v6b~>eA>{DXC zM)XJkZ$Oa0(`e_O>V?fa4dZ)nj5|uB%C20y?A#&u6RFo%R#NSnsPe1Fm(Y)#h6nO`Y?{9Z- z075|HTd|}YaW`Hf*=^UyA=A}i1%>*OQ0k-V1)q>T!iYpM{GHPLoIFJsZ~E3uzWa`w zve)~XT9KPo?eA-MHB&Q5{97_H$~GEuzGFf*c?My?eC<>Hf}F22~|nQQ4V8y3sNu#nQ^4$~8koyS`>Cq6+cQ_UouvNQhkO z4r-s;dZBZ*p=(Qs*K3g`3-yPLMYr6P9Z8EbhLxO1~kCF-Fr5ztxUOxnj4l z6xxt}Xk|SuG8jz{aUb%6O|VrNt*J+%1cc-mPnp*{6?x zXL}A2jooZ<#gL>uWm78W~a~ddU1!G?k-{e;J|6Fj#T{yE|27 zn->^jO%xDr$$N-x0SDH6&Ra+Y=p9jJNZxj#>{-^*x?Lk~SPYJHUT`jg41A08Fete|Eh-Agvklm~4Yd*3_Y)P)A@&N3<$q@&(HGnX$ z))94f#{;&PuywT`)*jUbBFP`2{Iw%ho1Zb}nM+W+YoqFUqHDSNt=5;nUfzn{mlPBeEiGIMi5UC7H+!m3$oEhPZAm(1KG zKH?mYTJ6T_kV4+~wFRNWn5H*Mw&mM$!K(GNhp|SJs(S4d2(5Qn|C!=)IgQ|>jtP=TbkxDe5x5LZ6gV0L~%eDE+ zE;|rD-gs{F@^>nTfyi^*Ca_Ab-M@wn{%5hh-&r}k1kumt<}C^)z?6eph<*~ckRy=< zBfNd1U%*{t3qn4oozl2T%8+>~Ak}(8~({k9d+#&b8iJmgUZ>?5{WPW=K zxJw^1_%r9MoCeKU;w5Xv$Fo1Pu%-acuR*}r#M8FMWr;;Ar1EXKy|M4vH70FbQjl)K(SvQhPZP|DZH z5PBI~K*%6HK`{7va*p38Rc14;9c^?{Z0~c|(_)lq_2yEF-gNKO!7SbF-M^*0qY{H_nXJxkoE7vVKUA*XwC`D!EgcWGh+F`BudYSo6?pD*tRv;c!^Bt%-LR=vt%mB~ zQ%3FG3ZHAooj#qNA6+IPET>>QTs`r6-&+!KL2o*QOc)-E-AlYM4!L$X%FmWuyMERw z;8#Wb-~Uvszde4QGJP}k+y{0s%Q`6OxS(&T)v3$W^M>`ap8d4&G1;tTt;9WVk1fNz zJq!9-{$iue&!U$YZ2)_h?KUP>+*(~G>Kj1Y#|(^tY-ztB6mr2_i0Xnf{bAKU#0s)x z4Js3+tq}mif!ECO4&YNv_|#KkKTMda9fj;?9U(-{HB*;{S8-;Kmc>ylwcCbd&a+iH z!7VwCE=Tu1uuW`a#NG@8=A_cg~JPlnz5W=t+V#-9#JM`|babl)eDzEMi9-^dv=H_CgU zx}Fwkt(`LR>*?h|JXa}xc&pN{ps{m7?BRoUsV;;Kgv)fbAK4q?5b6qhf3Fl)UXY4_ zv1S@5DKpsznfDyx3^iqQzaqdrKdlNwUo>HN=|XzVEt^iyO33 zO~I0hl*f^E-gw`Ge zHt$!2h=6PN_e!{T&KU->b^x5+;&y+bu-@+?ca@>v5BA8+ z9Y)}{;%Yl88IB5HH9Pg_^vw`Kn9kJ6hs{nBS(wb2XxH6h{k<%*F1Jqk9O?t)UKcbB z6V&T_6~5eW4e$%%IY3usw<*pPt_Yc$ZU}iIl(d$q|*}9H77bUG8~67WuVull)eW5!Mdm>1XiNkD$tC>ww)Vk+0vHEL%CMs&U5@ z%evRDb3Ejq)Ci7aTMz|v9%5B|m5OWAosr{1UT_i0u&hjc$S`WFoYvJlhwz8Sb8^6O zL1vK?)pVTJU0V+8W^l+|WQGt%tzAo9^avtlb3YLk|L)xFmix6k3(`0xx^9Ael}71I z$->;{m{F}L-Q1g%oAcfnfv7sW&)t0|h}3_vfvEO7Wwmo1=ctq-zhiE%*VBIdB7vc< z|Ad(RUkxIRQfs#yscr&IO~kk%QmKuJ)GjrC-y^DGJi@1kVp>j4Lz5xNOVe+GJv%wX z13$-8gk~>{MP*$Zl?aJn93E2oIzaW}0Zhr04MgBU&TOBKPef)lZh9z8JJihN(`G_<`kRn+TmP|X&6r?B3B|hc_x?89kPNb3&4q8 zfF@2{;JQWG(<>n>C~WEaaffkhVz7n7G>i15%!=!PYzE6PVA*rX?tmZi)UpAk;L)gN zHb$1w?mw>8jz{HC#fKoj9*xz(^>p3Jh<|T0^p-W2lr88@0J<-;I91rvRAI6HsK^^5 zr5^SUMKrq_67s!vT05`%j;hy<*G>;>C)JupN3$#5+U<&WGg5!HpN!{*c`C>?)^z)sSJ$&EM_WTCIRDWUgBj z{W9i#%rS`(U}qkY3*1+;g(O_-iGXXM-p<}#VVE==j2qB$vY`uZ4_TrgvS?$7i1zIZZeI8`tT$?F$CQ0N75NWQseRT# zOV&yyK4z9T1Y-$dUbQoZITr|`iYdl06+H8t0M$e{^yTMjCxmsK3rIeLd!?h6(>mSs z7?1@@x5QNEEN+MII6-;%v&#$jXtrwk8|D`1II-Z0&+YvjJM0G8nb!<Tm3^HAA=JXWakDfWOfV&eVR=@d zwk2*jet@B<+4avE(-oh%1%8XZJUNWlaD%_BMMzKQHNRcN8SrEfv05>8U0JeQDHjZy zAEXDQZ5_e~y;hv^>zUBIMJcwyFWk;_d!fFIrRs?xw2Vl| z*@^bEh}?b7kvp;F_Cjk=HETc7tQ}sv5eSGKAE*Vm1A}Tmdl=QdMg-Yg{vqeYk@^hY z>xpcC-&4)jN}*aYlJC(CCv9AeOGH5Cimjt>n7ze#U8Pea;-s`JsFo-QiSPaW{S+-t zSdq-I^yW0-Go2M)X0aeiBS)eJ_D7?NgAEhMJ9WJpkf`M7Psvs-bTn+i*%`F66F!XG zJq^x4Ix1rGdJ}f?z%;+GJC$< z$^NuQo0<59C5zksN$EeMT!`RX>&>-uS-iN_?~>-Yo4fnNCGKhO3=|KH%9BNX&DrU$ zS_q5p+6ncyl3_v|cXq7z^{%Kk4OFre1^4_rshp`bN))noA`!}t0Uh1b8D)4ed`OYY z-~0O?KO(cj;bA-8xtddB^|K)oLfzk}=V`Hq$d=qM>TN(0;33xLrY4YmV(C{SG5smwNs0GZlh+mOmC0Ri<`R|A9a`I8Ks;P$=1Ud$X17e+z0Wf2@P0SIlxCU>zvFz z=oF`mZ6D2Qt3t+lNV+jGmVKq6HQSw<*m#eLuA}xKcZ5b=&jpc&d=Fe}b_NA6rk|qN z5WD0X70>+Iu?rF!98iwbR@X#&-)>m$Q|-6|*ZT@C0;&dygsM9$lBC*g1{g(joi92N zl>*4T-cx} z-~ulpl-7wzuT3p+40Eli1=h}eFI2d}AwHy^A`6kjzP^8cCIM&lI7vhAnwZ^mBz74I zLJ&5+3fU{XZwdAs7Ywh?#P}mQ%ium~;Dw{(C%=>QNe#Yk{nG{RmutzA-7koQcy;BF zsX#z3*d09|YN)WKQafmScp>CoGi0C5XQeO9>owbU*GxLE)k|v4w1rgmIb^07ph}7R z8g9WFCL{WB0zyv7qKE9xosPuxFj>f1Mi3DdKecQLde^0{)p#C_0Nlwn!MTT2tNgx} zR;<~Z{$-f}9&?b}XwWPC39;0#m94&JPR%EN@A}an?BFh}-6lvp+JrDFcD<=0#|R-y zFzdey+5>2@*FA&gVI*T?kas$O=z2)*s&0(^m>kgpC1JZxshJSseV+Z_>4YRQk%+*2 z&Dds+XV_lHLnNt&#URVn)vO3!e|HJ~t=sMg!S-w$5}S12l7v#!0inE|0wlcp&nNOM zcMAvW<%v=4qF~4_U~5Nd-RJTC@`GW_TkU9%<=H|Owg{0dT2ENG$wjlUP`xYT`mm}1 zLi&k@jo|G#doJ!W0Cv=7SN1Y_0prVDZie@_a>cr5m`@FJ(U!vr>#c+wRu5q{LCF31 z3Z!Q`h7`?j^`|D3UT}R_4F76Hc`IsZ9^fupBX~httTOoZ_0NP zb9fVpTjNQeLVh_#Av1meyS*Mz{q#i$q$+Qz{K!kkl{dX#TS2u0?eD#P=5M_7x#yQ1 z3}dI&s4EG_t9wziZswRGVNQNaK7Xx~D8_b2ij16PNxPNK>_icy8S&QasP( ztuD*=Yyfcp%&enKCw^05aewS5x&9C@${fy=*73~dKMFxVv$;{{t-vHq;vdMW`yryI zS$dHDq(De|yph57&?!t;30FwlT~D~W_4K{HcLS-UWpNtQ-cM9x{{0F>T+JL34%~5M z>fgfC04J5i;BIl`zYgj0;_HhO(ZLohI8VDMbju9!qkGLJXKG3SQkJ!`m%7W8i^@)$ zVb)qHzmPLfItLTO_5C>&yobk1%fGMDpfV>Yo6H*`p z(LII~FnWxys=*DD_r(h(LY(X?D$kU9v z{XXXc$fMdRMJ3n~<7eR%atb-7vnmX&SPaH%x$j-}J7oT-cFX>aW)BxY_Hg@aw{rV1 z+GnF$hGn~uIA1$*aU;OJ-#DeGItomcwmK@mSa9Pc3^D7FNAl9|LEj?yr3WWyNJ-8* zT6xqVr*)ZSK6hQMQU;YL0Z5am63Df4@AkISw%ihYh6O5h_s93u5U!`EiOZv83!qVr zpd&nr<(C{zQ?q?IBE>HqLZKZT2}z zzKm9j!XQv&OUbhOZkc?x=`t2rJCP_*I5otiNXTz@ncdMSdN^Sr_kSLiH``h^r}q-p zqvFl2S=Q}qHxp4ffr^gA{g@^~*2hw6MxQXDBPrs_lV&h(-E#fWOor*;m!9MkRjHl4OI;%Pp5#em)wW} zG|g)^lZwhvgEfSa{WxGT3(Y18n;bqlp`NAMQsO0-pv<;3@SN3u)xoEk3m!kQ&V)bB zEH!PSf8D;^>hTOtE4H2+m{et}ZieMs`ld_%Kc>b4VPRW_jI9zHt-9RG zctu9Hj@lS9xA|E0!V_T|LWpbChj6fOw^pef4Q4+Et`1~Ql|bFux8)G4E5<=Qs*XZ5 zV-D^|H^1(CY9OAtm+#xC_6mb$?!R0!v7D1UoR9N84Rg;*p^`hg;~}6F6*c+3)&g5N zqNoMlviFqlZub6x<+>NaAlk#d6F*BiCXW(UbBA#1J)7e6NbBkiH^0N)%f0*UnXt;U zYR8d@XPtwLzxC9v4S6XAB9YCO{=_q#BgPL*=Ha-FMRfxAo-RNogmhB!E?kDZG^=)k zI?WQcclr{G{UrH%ulOJl$bh>e!QZ_FBq})yqf(pJGDDI^wOe)OkQH%2cJ;3PVzN{o z71eH{)$Ai;Ma7?x`58!rLGHm%Lc1`%wV%w}l*z0do1pu(m4w*F6ze2ktml%IkvNM} z#h`v=bj|kUNkl!7cnIxYGtS>bs^K#5u(MS4weq}>RakET8CHeFuNWC1VkqNjRrXuD>HF+7(gKIbT{mw4r6(Tp% zy)}f2%CW{F%Uy*mcNLO*R@Xd>vjJh;I6t}u>ySirKa~bp%56wyA`;bnr=RO8FEDKN z_xoIthY+hl(WB{(?2wlu4x3vRRX+2m_6S!<*_99x6Z{k6{C!(`)1%pX{e4uk@BRu= zqclX$q3@;ro*mI7))$PkyHWL19;0&Suo2WH@mD)(nA=jAs>Z{Xo;hKUVOcyO#+QoN4F%$0|G_|10V;! z&*kZ$xd441qa?AJ6W*^#Z9s*tLw@XO*Bm-$oo}x779d#>!r8bjkakZf5=#R9i_z96@lcYZ|sDdnj4(}J2YG}6k}B}cH1 zoRS0}gc6n6x2l}hzc+aqwxBe3CyVZhe> z0e}D6jMP2XfK|{vnJYIL403b7$uL#jK{jOfWwjpm$2 z{_*KBTY=5h2#VQA=QihLZ+cx&dHxL znk^nePYsDFMzccS6jld1U%RuHn2GeQWzg=7QAok#5S8am6{HH|YiH&Li7U7F5bc5j zM0cqpeMhcag<|~J;9AM(UbF5zSTlLUm_=?ZpR$fvk@vJ+v3Bj;!jX%BYW@H!0`unX zFDs>i5SI^mX@ambnPnBqYu39f0QNXqHQ5HJHova9kS7yoMV%hs6(NWiLyxFbRn5ei zvntD1q;+(aNSqNQb&;)gs@{Qt=(q;OIUcq{D`DT~z**~!9YUw-i}>mA;E+$`!gl66 zs?KswBz5jMs!MNZhs6$I$jw{}+gVIhyFsINcb7;=*_|P)Wq}B=%&Ls4OjW&e?oUuk zOvPo8j#$->UQOau#c}3F*kg4<|3n}i(g6JAZ<=bZ~DuH6ps zY?$+9kd*VgX2Lhw%na(BpPOOg_(mmIdD2Yxm2|b?T|L$sGQ+0UAkKfsjl{17(U%SX zuEb>F@bY@+WXChG_A>skJ6BL}mQ(aP{7TedBphvAKx39IqzwuXX)xt=+zkpL%NyRy zEXow7D(fcrf_e~&AddASJ9WuspxU_;6j zdhrhFysYst&}@^ysqcwevC7vnqyMyX}OU{SYm0Ib`}P zJ0Vj%#Opt8#qVq4jHwRVXH4Ux5((>ZvvBN|XslIFYjR@MAj`DvsgUNZA5!_6{c5$H zEhk(#J)k8YeiaGstabhJn;0eKdTS3pi%-TrLA{h|G*+s3ZKG)CJR5}|YF#k=?vO#1 zgQTZ6MczNex}Knf?dtiME^qDH%`?NAXW!}j!m47fEQ?K6V@Qs0OgqTCVP5Ep-np$O zBC+dY(MZ6Y77+Aau@KC@>h-GoUTDEnc3uqfVnUv=O6iDeU z-0wV%MAYLT8eyfNVZ|b&5*oaoIC8Cx;)Pw~pQ!2fmS&S`vIn-+cl$*M1MJi)w!e04 zTc(;qhjL#Uj zd(6-%eY|#5VNU#C=N-o?RI&dI5uQJ7RT|Rj)q$f0% zcRl$=W8I2MFCC)Ly2mqHx=v+^qB53yo{GvCh(g)r7^t}GwaWyUvy~+i2SZq{pSi<7 zr1fC*?%PDGqR06b<`~btZC*Elr0VuPk2T=^V9RkgDh^4ToklIf5hAj9+SBD~=cx)6 zbk|N)cd*xFF3cbSQ_60WyP8?@$jRGp3GBh1Mv`UXL?zcy-!wmOX^8A>qlBd6kI&h) zM`c%KTj7h>YG+5|90u;SDiU|x>P@aE4>{3>JrYqxix=*}zkRO@K)&3Pmvmg%GQqN3 z1<_i*xtCRSoDjj}SL?uE=qj!rM<}ay*~GEAdzF%Y&p*LmEjc84T~D^lExEo-(3X>O zd%Zihy2a#xHkpN+v!Y@GWp?lN=2eC%tBu77{C%tja*1BZeZ&@PZrj~vG_&)Y{%YTp zIxW&+McM+&kSUo-@2ycnsWqAif^=bHh;!dJ`r@fGoM4L$>**r#Q7J}Q-->T93`u`Pbsukv=0m#eqgfu-OthU(sR{tJ8vx>1c%uQdWdUT=YczK@=&VGq zQv5!kWZmBXn-f~-dp9}Kgd0IonmsCqTdtkJP@5_)-S$M|%O>w}xb)`I=5PJzX-3U@ zT9Pfq@Nafi(wxw!K5QaFq5E`|Sn@~2#J-O9l!hb}u#3rb7l`0SYYwUGe25s&dcp;_E<}UR_KeE)In8epe7usSF$tvX4k=)p9}>7^v&_ z)nC|ME;)=$iwf7o2B@l38?x+wi1Wo$!)(w>$YLLPj`Q_kyIneV*$@CLWeQlzgd{7% zT&tbEY~bvNUELM7`urg?(jW@nN3+ti+F8Zho_pFczVhbNCdy@Q2T9+yh0yGS5ZWm< zIL3$Vu8y!OC8LtDzIM|1dDoD9;cbqm(xt)9Td;=;Ttq}OUo(VF9m&1asIFP)9=EO> zVm~VC>jq`jA3~0;-Q9qtojlU_dW)Yzu1)n}xT4=Djms;U_aPlYYbxoNnb+%Q@!L{$ zkBE_RB#m{=RKY%1W$9$C6d2q$Yx1%t>zkx0bjZ>RsBnJ#9FoNkDHrj&^3j3oz8cp@ z^(I%8`SjvG?L+qQ(a$f?)zTY@Xdy4tCbza5A0d3-cmVRF5DH!13$KDBIZ7DZpz!Re zAH!TTj_GNr<<_s6_NgrDY{6;4#ZUfMDpfyHdndBpczOLu zg%Qx}N$&oJL{L9%v#SnjmycG@QiG4?%k)!Q@#pof&LpZU?x&Wy|GIL_W@RUXJWsjDy`RNAlj9c?2a9!~34YrFGS_{iqsDRF1A$FUZ-z z5Vgls6tFvU7nXjAiWPe!V1;+t9edh&;PqtS-}~KHM6|mTOHu7Rix8I+-1|x7#l;Xi zbUjIwJ)|;-`j$#)mC@WixaHxdc0*2VqLQain}l@;H)Nj$THjOGkX<|z(qo$yg1+;P ztOfSq0=OUot05G3sc^MRQCGtQQQFi}burBXY3aJt#4wiZb+rq&qhgsHBIeqlL;-e~ zUQd#zvvgnr;tieRUf>QgLoj3q4gdzyj01}7H&gQNyWlmfg69y|;>DcP(ao<+{5Q-l zE!i7ORjl*{l`|&2-ogQE#%GRw07VDuNYv%nfT!QZ6*2Yl?NRY;Z!b(@t{p`~d)W7- z*KUH9=+~}5k=@#s$wizI0bABJWXDXRTJiUgInIPahb>-Td6CJ9%#n3;nmCD*8n~{T za>$Eyg)tosiv(C!3qtQUbjT_XL((H5wf7*O{`jiRVdnbA zfE90?!o?@4sIhC;Z6_O(MAP@Yyv&9`=-&dpD&bi=N45@Vowa+2o%*ue3{X0D(j8P#$ML#bsLw(p~K zRr?h>qoV0aX2^YLFJzw_)lS%ixwdx7)0008@@})QcRWq=Km?lZd26<=jO;;g|_~V}J%)JgOWgL1E#TNU#0aR!l!YMqFsCN2ZS#0I9+{DJRo2ZQG zL=tPKef^>>jiAflV%DPmGf@hx77GfQDVvm?z}ITGlHq#W<=fWJP-gIUN5f6mu6? z^RDOB&Zh>xb`-<9vOVr;9i7@JXEHYKN|+9LhI!bo&#bGiDvwG6tZf})3k=zbwjn={ zqdsmn*`u$WRLk`~zoVYmch}P^MCRx?Thkcw5?C-+lnJtL5C`=cuK^!#Ok_kMOspqb zx>L(0YS>H-SZel=?QBS~-Ro#;2YH@I4=b0dtI6FwEyuvxFc~H@Fbm9W^F#WUQ;&n; z{872+I(ssGAdFDEDuV~$`H_$?XT1u0?c4<-hD~N*fv~qfg%7WtijLc{xNl#ILSK?~w zJaNGDJ|C466pQ_AYhB67pFVQ{_fozo?kY?pD-qfQcTWm{8G3?+BE6neE1zmC`}4`R z`{ab+L3hHx!jN720O9B~bB6hHOkr$+btS;rz78o>gNi%xkW&j4w0Ngp4^?r5tQP*r z4XUqg1?*%(+gki1c4f%*0yTrRQNnW8w)g-1>_3+hJY*LxBC(U^{%9twq*=~EuUR{c zVU&=KIw6+q^ZSk{-@}BZuo!HYXw}Mo^KD*>T6iKrJjRqjgjPQj@eY>2?BFJVq*_UF z$VwO?6_u|ie$q+E3ze;_6(Z5-*ziUzI?+-xA1blmh&r~@C^_SF$hwlRZU!=Zc*jx6 z^5z8m(K$MoDgUPZ`8TO86UAe4Pg+L~bcSgP%y&zLUvs&;ZXF@}vm=B%fWosH^*ZONSDf{P`jiHg7dEs@u=mN$x- z39ibnZc5A}YX!E5ZM?(C?dy19coj@o+^ZB{ zl+%iPAxZ^O36L4r5CZQeC1dLTOtY=M=vw&aipXZcsTE z6KKA-Q}um}si$w0$}HX(*hCwXoP3<(O~c|UrR zpW5**Jz416F0ciH!*0>bHE+>#IT=&6t8k*n;YPA{U7b4$lPPTyN_Dj=fOP!Aj=*bY|M)CTR{*}9I6DYC`FGpr1W&wcp+k6HH^@REQ}H|h*^m~o zx$U#kUx3Ya9qsgIPj$eTncx-gl}9sO1Wyax~WCNT@8_ z>uGaI7SSaT-fDWR=ZPQeR&*E-BDUbpkK>HH@86|;elbEm%Y@##1zzo4!QAqk1o$>A ze zGA7(jLl+WE>$f)7j$Amb4-D-URin1>sqd%rI5NEsW%6Y|^}aGa7@w*YG^)&`sL0Ff zNtHxP2RfMIa{pMkH5#{F&kLB+{S6IoIwkk+cfJjyHl98S7iA zVzFELu3X%gqPoAD>5)-dgtJIN+~VVV6p6XiOzm7|vpvZs%mRf}VHTBxO_(ZVUkwUrN4)3lm@iB!38SGBBgra^ z-4ov-tE7X-sBTGN`15v-oqp{&S}_dEeCJxCQ4h49MEGZe!jzEQ4yTh$X~?1_+RYOU zxx`OM-u#VIfVw55d%LDvG=%xEy+tyuFcBhJ_oP?3zS^};6Y`Yru5pB5#*?UoPBUzE z$DQ5dLXliEY~2*s412Qh#RqODvkPj)q}oMmMpOY+8xq#l0UKl&2nQ$xxYzZzhuCp9 zO^dl|78jqfK`E*ao0!1-r+cY{J`9lPfbBDySV5*Kek`?P_G1@jS%N#7{=)9cM;?_22o>NvK)ShA2Jq$ zkOOa2{?>McUF2E2ov{x&KfIo{QuNuox3b`ae%=bD2td%!AvT%aF;}_|k1Phn&}%_MIw3lyOquOp@DX7W}}IzI{EhS#QaAD@trp=5D5Op6DCr47I$usW=picg8q5cG<3lCD;ICu-z+BKle0D z=mgL8d@d^F1$Bz%ZU79uxpkzUE>FR^=<+az$;C4$FOFK$SA3{Fod!xeB#(EmM2M){ z6Ug?K)ue(-B1A;V$Ipne>O$CSO=Ue>Iuii1c}^mW>z%O2VD&_us%Juzn^f>PB)hV9 zndHytbbI-u+5tjTb3jIuu&$j+{?sW(Zt7s&j~^8iu-Aj^vuPn`tc!vb1i9xa#ksy# zYZ#FiUNdE{X9viq^(qC=zNa~H8;eN@c79_|%i0*yx!w?^77zKcG48sznyutKA_2^6 zwyN-uXHe7OnD=^Gl5bDT>_+4T-jG%u9CGoi%58}3dp8c$jZ)YY)1zXw-JI|U&cyh| zg8IxVPQdL1?&glTcQZKy$w*TdcB6Bm?d97EvfNo(kh8tWymuo;*oFTJm~W~ei?i!V zmA9yVeebFRNZ;5v{yBMwrK=6360nq@Y3xFCe5^G4)RN)VD&*Wi9lzGrR3ZUTW_L*=?B++4H6kk|Pw&&L7?L+~GE;s`3pA z(QRvr=QXpzM#D(@F+g{Rtw~^XFaK)29Ak?P)+eM|LAL>&*y7B#X(8?2(R7*Ft-K)Q zYqvT!RQJh%dg7L>r#qDvQc?A5S4Mt)&GOgoObSGubL(-$=B>KY>B+6Io%X7$VxCdS zrCdiu(`}GndFnWg^)ePBjfsiAEaTQeg@er>v6hR`(r4_J~AyS*{2Yb0uitF9-pnnO4jF)@?1YPM@foLpbK z!=ZLp4uDEz{o0A*T|34(qU2RLZVy0PIj9HAqR5I_g8zZ}Rp{vY-s- z(d76=v_o)8dpIMrfgl;xDUHHsQxULz+%)8J2T{d~e2@Zwdz#JK({f9mW$Ls_PlHr4 zGNK(J4mp3pdk9OscIDt(^-dl?alH-JJ{GT@%|~2v%9=UYF3Sk%TFN1vEKa04E!n8h zl*npWIhfO>?7tNZp0TO3fe;3_} zYA*vymG*em&Z7~$IAJF5f2}%*7iK2(cH}$ z1B|GCR*ZKYzh)Usv*wc1ypm*cQM!E|`TY7HESu}^u*Gag71Kj(?#5ZW4|x~ZKg_UD zReN+)8TuiGKZmTM5aJlhy-o&a7Gzk(OHthoiy^xLBV-B-Lg}BLgDrs_CeflD6LhNp zkq&LGAWM~oWcoLKnV^^qM5{JgY|9y9A>D01WXZn29rf**H@NLRO+)I)snm+yTqk|3mPqm z@~bkoph{)kN+>_vz`T1Qh*UJMB%Q|r^FvNdSxa=F zlDZ-|At!(x8f ztUH+o@Dh^THr-55B(k8V$8)-hq}mf|vztH2vNjM-TYI}S@8%s+?Q!!y5z?ZTxgUF& zyiR_H+znc2xEn_!mcD2*jH}chK{fkS2A6m`V0YUgxd0Rr+u@iod!=M$7^!bir0-6e zgmh{lMD62s&9>bzO@ez-v?FlbMms|@Y{xPQ@PyE&>aJS|;rVUOXT)YovFL7H1a-Vj zG#y)Lf?Wf42G89WvYtCTg=U4duieElVB1GgF^$)gsUQF#EXhWhfyLyzcHGN^KCDxE zquSMk5UK72N0RkyDKXyLM<82qU5NtRs?YAPBhl~-JS&_k582%nx1PK0YS@BqsO}<} zsIpCu59SR+FvRu|KA40SPMx)9R2j3GPe z8&U~q<78OuZihAz8I*8lSrmb5$56<5Mv#SIAa2HN2qB}82|dP#R47ubo!yLN_tXTW zRj<*cJ_|o<;yr)2pP?d@niV5jd16T4xEit&yS9Gr(QD^!7Ge>WjT04jvjIS2^C3%G zLul^rdA{W~qMf9Th{|fimZ6?+3Ry%tL}}-HoO@=k-Ca|v9l6pDDvLd{7qWO7glT=B z*p*V->8Y?TLg;xin$2Cv{6|O?JwvKmx!2=-+{+OEXWhwn9#N5(I^t)%fp^%yW~{SL zl5P=--nN`!N5%t|?G9K*t&u0~hV0BBR|tu8IfCI;T#^(dUBBP$?_*R zqgwD>I~G{W$JE;m477lZ$vtm=NP2-HIggq7yQ4EOImXzfC@iram842W30u278Nivn z?~U18EsR(?YJ=j(ERXyO@@}%65jpeJ)XY6bWkPPU?n@3KGfH@?JQVw}CH--Ql{r53e?h{0%=pFg zcZ4BVafkbiau-z`6U)?Ru^Rcbhjn)X=$M}^e>^4Da9quV`C*0C8)>Kh<@iN%Fx$!8 zUEGrANAPW{y@EuY%b2}=bV(w}^5B}eYwUH@H=Wy8toaG*h%(1POK{guUrGqb8!(j+ zD?fyM|NLhkC+Jl~e=cd%s?1Fc+HnQQ)s_#jpIa5Tan*Uv7$40O&RBsH%nPK$tB;zg zR&s2nFrR0Kj?kz(ztzNNJ9ZCK8`x}89t!K%dnNbli7VF&XRWd??s=<-@qRl8Tr-ir zn-zQh>uBu65oqro>#N&2Dt7j1vL~!zfvuZiiILQfDP0C<0ceTM4DGTZ*LSCGcV0JBvFA;I>m#9GY4tl7EoYf5;1g ztX(`r-Y-)XK#UI1iv8nhs|=0gef>P_?B3LiB@Lh@){HjBFA$Z^he)bYtLsWZ-VNOI zGhef%H=m0W+_2dp@f4)WD2s*4aq8>qUqsB;lQ7u5${io?PSDB~Ye(;#nFKp?IZOu* zle5nn(c;N?xqTesAZ2gTzlB>j%4<5A~LRPmN>_> z#xOb3)&TQ#qW~f$_}6TOumSIWjqVopl52<N69!A7c|#D-MP@s(2#HA)Ot(fO(l_ z(g-GOA(sn)2$k9i5OaK^W;$=X<|C|gJhWOG2uWEpv!+;hFPBGf(pS8= zQ3e$1K{R1IWHlCXK$pZdCpvF>T1s^rEt}_;@(59--Yiu?`nXFxXX3Ya$$pamuH+}q zNeY?z5I-EkV{Qi0?We&}-M5oqZ6_uR=uXYr!E(q;>caM6#CA2Ua#QsjBpHLnaeCl6 zufkwkLHEz<2iVZQ)n}$othwac&6SJ!r>uH5F5aILK2htht zYlp|<-|B;&@AI$SK@x(q8#z}}3Hrt)DSR6?FRBV7RPJD+(^07syy;WIo)+MY?6VN2 z%7LiQK@o^cDl(21803wNH%#&8fQq%$GZU*&l2InQccmkYu)Mxi``pu9+F6i4t-u_u z9qn~G7FJpCu!|@{_F+8CL93)JAvH>F1wM=!0>YVHEt^p6vwSR4Q*;DVK?Zu%_R% z2z~c@F#p-0XwvJPFO)SokGo-(+IjgG824a{;Gh>KLnXd?oUSx0lPSl1a+_uSc6QjR z>sp2a9iy^U)|1k)*AvTX&$F{X)o-nC3|Q*5JGUY`dj5gF^Xwa^yHP&X?=jbot$WKr zHm4^_E+_AeiL_{`?8oA1w|ovQKBcYB@u2NKYd*y5r@rDLBG=mrAamCKJtq2GLBHT{}Cc$!tuq6y>qm2~qS_(CCl0 z$XO^;V7D7owl6N0D(d2uEtk;qlY{)^pB?!3N{kxG1{>EF9{?~qj%TGU?*?{4QC5(1zC&tL2mktm4MnS(6i=E(&esQ{rW-YnMC>@d5Ln z=TS|=1d&=o&%3aK1GJwYR_)OQQd){b7Ov~{wuISYv5aZDN3srE`WA4( z!F1$=HKY_oR2<7#=8ubfOW#Wrj{ir~K^#2ebVq{1lFC_c^t-`_tQtF{(~Kdz!L(7p zR(BJ&+!aK!!i+*X^Dvs#t^}N3L$VU?kdo_l(_Iy7L(QAI0fz`sA0PZ4JGE9vm`pzu zS7riW-@p#p<#N|mS-VlKDh1Vj(k!Z~;P)EalaQ}kIjZDT5MOXaxc%l$NmqPtCMOr8 z`GU4g#NBEZc9sfcA6NNDCd>Gc{k+IgNRgwP$vfO1c7lTa+}*#dxfIVmZ;u)B=8~8=Ur5)B#0C`JA+x@YeMEu}+fE&o9K?D`f(=;trjDL+s;7P333P?S zA^R>NL?$2;55i2vhD-%jINMUNLVIDnl6H_$uFL?!l6lDLKp|fQ$i?Q2>)H|MQUQ}b z={%BQSf}9a%;E*!C90PCkd1+Akn7w8qiUl=_{R96R&y#+A74KmY#z-Eibs{t6Smx> z{ZHnUk`Af%X2@>ogRF|D`9)RwB&v3NfFjXrW;3^%kc*zta-~J`A^3)uh@cBAzaG-f z4%3dMuS0eyB6a!hdJEbrz{s^`AkQ#~0oWC<0XyduQjFmS$#=NERo`9T^4cF#gjhRI zJ>$*+&I_EwE^AX?_cSbXnq%bzYo)WFtz9QDK>%wAewZUKtRqnbH@svm}^;@VCSJUiQX&pW=qO4LSRe~$0%w`+Gn zBRs8$>u2oCBZYM|q~68Q6Niw38AFUWK!j?Ay@*84m;+%Qtd2~Ohu^u#i zkD!GC%}ooE;K3M`$)r3Xeavt)bjiJ)Gf=lM^ve`gRQ*spHfv%mq*{=WrB#QV1rPg2 z*J+HZAYN4BA{b%M^OzxdjsOvt^LUFp&!08rFGp@;?`jHUT%1#0y9Rg-DMmdZSs`0} zn}PT~2)jp=QFcW6l_4vyA5A3_A)JX@PVIK<7mQ=XWzds+-6;h|_Vu*NttkLP=%gR* z(A&{KoxiSGG0_0B?!=K49V-~3jQTWC4)`VoR)Jy7mQWs5HP0b5d&`1GPW3&`@qu+k zZ`_b}4+k2e@`NU_cmopA`39-{{@$dU_3GMLuO^ATRk;O#?RL-dfMXq4N46vS5&vph z9sM&-MLA627-td3zcZ&Sm@&OL6K)55slu&Wl+O0?*n z=G59TDootsUgfM8$kGk^?qbrlb6tqgX~-)f)|YVqy$g+hTDkksB6515g*)?R$jqBF zdgl6YMgCFdz#3-saL87P53`kfWqxDlx1xHxoWfdg{~tC4w=Cwt?7N^2)Ey$f`DTc@ zD_{h%zB&r&Yb_xdZCn83fZR|Qpb1!6*v4MCzh*m!4&iGY(m3q{~S@S*~V^%eYH;knAG3d$~JiAC^dn%FBsSLR^;6 z(@K}-H;2SfwG$m)$sTMuw-BcQZj?I_4UihYW?C(G3}d{;V{dY5wxZZW-s5BnPSDA+ z-lXuI&IK=uz+p<2z@GdUxoqSBQQGMZ$4Q%mkcx9?k{5~&Dq1+mf6Uy79@5NT&)1Iy z|K3-s`m~f-%RS9$OT*N+&|LGI3s{j)NJhZT6MysiqC>B9rH1!7q2CxkcXII)OO_vY z?TF(PI_yGeT)xgUhgi;Q$Ao-Hy8hZpA3Uu1cD?5~tS5Qb8-enS8&ebgnpGiM=TEtH zVq^wQ$Tkb)X=UB)U_cjSlS((HLOKDv7q>yKUJ}@9l6g4!hEBHCc~UMmAWIgl4M<`PnWqL}UjAs3uDGh%Drlpc)f`aO zf57hJ7)gG>J&kNMzo_JpTTN6|P!Cz)zrgMX!%$qel5n^?6Dn}#`IWaC^(loK6yGN;ZvbQ(8+1lA9u#?cJFy`^jMpwH& z*A)rU<6gG@KDh)FYKjNSQ*V@U#hgGOt?6<6`eQkJssig_r6t(3dCIf=@{CVwqjEIe=>ZG1nJY<}7J{@p8`3r@ zII>}V&Ey|`2ESmAcA)$)LATZTKzt|pX2Gi6{`{$hGBb;Zq2l}3JGbqE29UFnxmv3c ziKa^CxY4|?<}K``GM`0s>|QZ@a;vqFBpTPXo;f69*=^%vs|u^4Qj&a3MJYa{@`-46 zpY}aZT<6$W#Y^f$=3$>=LA8^4Lnwaj@P2=~c0^!(u`?!JG1@L90GO7xIz$W}@7q|F zSHEUEY6nwke=lR6+Sy`M)xPg>-QJgp^ZAO5Vcuhg1ZyU z%+VRU5E>$Ody!J=ubYu)6z17S)n)rbtp4k1A8a=Te9KkA)Yoobfr*VBm8f{;h^gx+ z)5f_<8AxIB=GP9nxg)s5(6@_h=vzFY{$ums?+(rW$8Z1rxBv3n|9095OV1`@*r|Kl z_dAq5vv}y=f9sFbkhvGJQ$i9?PC#FQDn=ls+_7#x%xmS0|Mj>3^;t-@Qcj6jhg!>l7d<*8a`XY#x0Uf!nhRi`{WQDwb)RZ>Wb+mh-yi$`Q6-)4m8?a)|kgY!M0oCT3gyknl2+<#Y$Q}2$sW=uQx$%Z6RS5Pv66OGk+btpW}cuDZRXh&4< z{=krIVF)dK!xW*q`Ax)q&+B`hQAuMQl^EAOPlDsdq!MIifwD6-T&dY+|J?3tP3N zmXiysc5j<(HT5Ag(4)EQS|NgJn=07d89UkdwcGxIIA(u6El;Q?5^knKeN7I*D7#+J zs5;-*E#>YCj;XQ>SS>>;Cu+CAzH$2I0dWaY%+VB!v^YMqo_0}l2pi*;rc78uHEdV^ zYj@`+A?&Ps-rsg!DCE@_pxTk-+U@*b&-?4$B+jAS-UE<*>sqd723thmR0&eupyXIv zK+OtZ)e&32RnJ@f_|@%s?X;kr|A^?y0R=<`2sUASBrS21A{4spja@Va)0Pp^oG-qe zwas2_%ZU~SODiS$vfF=2g(LA#+s@>v`DDSP`??!S!7g-HS|JJj+AWw3msu*opW!N{Qtgxt5ADB5h z@&St1zj4PFNV;EV6n8T{V0R>GqiQE1Q#lnWelII(cyH^Hy>@g~!?p(ddG|JjG&i*q z2RIRC2ku)-lWv`_Bgeg2t%{_#b{Ck_dG(hSqjTFMrCuK{lK8Q5onh7j^-OC z7pI{I<)74Sl}91f7lue#JeodU*yH9&XH%H)&U>{vbKz!gBP+8t`dPuhp-x!SaFvX&corDs3GAdo}mf7Uk z?y7-^W1ikGqLP4su?ZR#8M%X|A(BNyidC#9d9SY>7cEZ6;vS6{z&)RNe*Nrgl%wdX zn?}i4=5b$7iO=>1leuO0w0$@OVqw!|d5&JGcCa%9NXzmvhxl?-RQnX+kOdtxPa5}Y zx1-V7FohvTwKy*XA2d$6ega%i%(y}_*KW~u5EU4ow}qee=X_}V16dIanre`*Rf#D* zRaia?t&Abj5kiVyGg*b^8`9>yc8XYAVMF2O>6}0|%Jn4k-#oGFlHbwD=-yuBJ+I;y z<_4!`r5H&fGQ?S;A>A^!o=m`J-R`LR`dXpQ5SFZS^KD(w~)9a7k~e4zEXRsKGJ9JVU` z+ReBO*=-3SJK`8Z_+8)6qKCQ5uYKhGdiN%nu-sKN8)>IvqS`qJh%}8Agh;erUqtjc z4Tdov*RI$bB5@JNVE=RCiO3%>CJoxs5Pk|aM#ZPYF%Wi4Z)pG3L5Lw9ve>mj@y>Uk z0g(uD6N-U$z&RurH-wD70T6SyG>rQNj!_A1vPXEycb8-BsIq{aUFi4X-3^izTg;## zsaYTrAb;-Cp$)P@&uJHrLGfdya*F%jQrMiYT+1Co04N`6cW`ZYwAb8rt5#bbq^4(E zNK7lq0_iU8n1DoW>p@np1>s(tK+3s}ckrQe7$b7yRfERjPB&B5ocIN)ARNDGgv6s8lERR&Rfy?tZ3zM9`goOhwUa0?CsD3yjZak4D>~N^U8TYNox@0(Z+^#h zyepz}OVDj}+Eq{IPdDWiPX<}d*4IFnQV*$6Y;%4Veh8UyQGomMCa6N2-r4Rt!NTUg zxvOw;53BIt<{XPR!v?T4gl4LnTZP=o*Ae+rJ1_SiMX?k_opaM<+1C3i1Dln*;)R{P z1P+Ap_qn6a!1Qt|XBL6xX!>kstSUZG3_U67aLIKoiFFzrb}J=1kl*h2T_0$rWF&h$ zb6J76eyk?_zLzUhxcx-*7apN9_?ZoMu0PTp&qq4=WC&uoOyALXwj$&Oq z8}bc2YpUKEC&%`4ibKkCt*0H$zjiAE(iOWEdm(yO4&gr=%kS21 zwQqXj?%e<+obOfC1blO8mmTvwcG6DixAjt#c|$N3%Xl1i5~Df1m*c6` zvkomvb0VhP6b51NlWKHx@**bQAWP1=-7aLTf9;l(5|&`KZcOCUX$(j_zfHfSOEe6* zo|k-b22fvNu}bo({Qv9eWX$EcJWnL~6XHDHsElD3rce+P0`+9%I-d^ty%BPj$+T7y z4BJ)znrXr(Tm4jvmGzb8EZ($F>~8OUv0bkFW9!REB@f?DbED!L{e7G+1C9{5cjUvw z9W-+XE$iJ&r%bXlmTWQ)OSh#2QVVZx1d~wljhnC9%|`}Q`Z{5|16KgSpP#4A7hmo*};g|(ViP1S*mxyyE>w@r)btV zO_0B-f}AgcLwBp!A-DSkVkU2X!Mdqy?cA!dp1i|DrgYN|ClxijtCcXeYNXhwQF`~W z`hpN4yO$76mjg_xd*gE<65~lFRKjU7e*)yauP$%9i#6U9=Uw2osDw)@oP%`CAVd&9 ziyOb)hwUKG_Q-Mgu>{6Id3ICIBB=Xzt!6$~>~+(+^mvSbl}^ILzS8182kU9{@M6qp z{U>5GW8|}I^x@O$RjzRY-f2yW3L`3nXfXiRb zEJrwv=KbG^3(V=bra5u1Eu-l~L^-x;OvYLkRbm5{Cm6eIe^wi}jh;cbjhBA~;Psno=n<-R|c^_iO zKjf_5s8Ae6)Eib|whve-SEa*zO~|M~L+>|4z>W|?L`c(0ki|ShQjM?Kiqc^C>QQ}@ zNnF03vfPlUi@F)-*^j|+TKBdjv&7GKemE8P1Bq0gqOjvTX2gBJkE^DHraB1a0-cFT zM(oXi#0{BvSSmk7A-VIYx{@!1o8^VIo9yUiXo~OKL9CxsRg#b=m3dCrQx;Cmu#c%* zSG&YBX~)93W;(+JA!oBtOA395&;@67!YY1_%2i^`RPnyOOf_~C@R0lP6r>y4ZkTM9 z>x<12(`k1BD-{&osx@SH#p_!z{iX%gHeT3!ySth?Ab(UpQguyJfCaj@6S{aaM_ zy691rJFndZi|YAl6WAsBU_7#oY5wbaceHKoe50v_sy^hg1}*=Ml6!MgPDS1b9N;}m zAS>!-E-UJ6E2+o38>}dcKWAI77R)TtxFTO3(R5~XU z#vZsqVLkH@QmUnPwAS0%9az6{vO`XoIbw0`3dc-Pce;1&?6tSsS-G#BP{g%!(do6@ zv8Ty|$+qGSQlwdWCs>nrv^i^Cy$du7)p2Vw8H89W8 zY$4veF+uJiN}f{p0)+^Cy>=u?tANXP11RoSZgq$tVKc|VU2tnX*{Zi|yQ=5iFD<8YSy62EA5SI|gG$pKQV8jWYYNJ8C?wdes1Ni%&#|F4XnJ`fX82%R5bT zk7u|X8_K<7I$ae!+IC?gb!}0C8CE+8M{>VbsWHHv{tubTL-IaoSt9`%Z=0>vgSP9<)_KvomUF#N*oYkR4ZzI|z z=Jib~#3>anZQ39O{f1Otc#k8e<7QMe$$FAMzV~O=-T*j(59#uTYbVM5un7;g;ZB+B z$fff)wTq6_bqABLl@#ht$;x#brPB-Tf;pg@NN389gwVV>DMeV;(Qd}{=WM|GJll4C zk~G^$;B|mvo_N0b`ov&0*NvbGmR+JsqE(w6a#ch|K&wAd(TV29w9~z{V;bF6t2#*a zhBy{}>?JVJ^Jwm+VtSV%RM+k{g6piMijH~hWV=o95xppNP3$WDJ!hKlW zy*h91?#ewIYK1OnXpGaE6%Lmygh^+d;87TT?PM!YI{a!U%z98&r1H9zD3QV7VLiaq z+Ucy4H&6gc6T3hb<_YNvfsjdRFCE4hK5PeoN2L%pD${QILi)R%-r>)_N@ggj9!5R8rk8K z8e%eeQ(-%r7nNOmJvnr7&!cFX1q)WC#63^cw!UCh2dv#kWgoqEw-hv1yjr`2?@j0q z;2oV9=nPHsVNn=Aow+obTr1P)B~_u4T|a#4r$%4n)a9Fie}!>^4Ow6OY#j z&hyp9vZ|-%Zm=(P8x^r*N<%hyKzV@%58CZ7h<4#+h^RrsDjiT5C#3d6lBw73$qx~z zg}0(2<~ArRXtF}??t3&Hd3f!*60W{%)+P&8XWCgzlx53xNUsMek@2;w1P#X0f9>YE zbys@_a&MedM$!)N;7EO`DO+D+tJhBC8W; z`rff$tA(*AA3+yehAA|;NnjVBT#(jjIy29B47xssMnL$ zKfOf=bUdtS;jEuDEXA5*S_RJPN^K;PuT?KKK0l){{mD7l?xWE86&6*$)a_9XAZuT< z>Z!6y8bImn9#>>)G^Q4RwM`MOxtFg z<#exR6WP8noU;0oHeWX;hLEBu+qUB*CGWi*XN+Mh)<#va?FL26)Q+RP@=g^?k|+ zm59gpyut+`Ipm`flwD8DzYoc0JdR$?+OWdj@vqzC?rqF|J0bhA*t#*<(@Xxt+*EaA z*f*b|lBc?5a7dyp45@mlc7jbO0CT=uWLPEnMwQQ=01R3EUdY^ei1LMRoT`y;UbyAA z&$L}LUSA7SM?{ZS+>zTro_5!{#z1&7A|B;EZI?j+4Es8kar_2pFOZ13k~z4=TOxM| zmeNrRRahsQa!R*f-L~e1ajOOeU?l?2Lh?|MKy~jmQO4Ce*fE!g&ys3cd z2{z0NDlbg)i6c8bsY!5mpg1b#z_sfeJ6p|FJR@Pf&9-UElYV^0-&S{UP$^CnM?gUKY|}kUHW`?BpVB^{ZjL%O(!et_j)AeIY8a-{f{M z?4CEbqZJVHY~oOLZNt{2142W#fs?RBDX8e?ao;ef>iU8X2>ypvY)cjAzV zpBQN-nrK9W0+1L@LZ=o4U_+Q_H}qC_@`wOkJvA!Qt9EvCm!8(n;m|fe^-#5JOM?Tv zv%c)5EbvjSR-1^}{U%7_1HW3R+Zzoa`yJ+Xw$`(VNrKf577#RXcFpFyIK+7iAjQwE zLHg8KBl1Qkd6;l*4Q9lm<7jqYTsw-5vg(RShrD%&s`r~;PGIdgikDg_d}!8swS}x6 zm2A*f^A?Jj8P~J>x_-S836h;5V(mI{5XOFZJa@K2r?+mCQ7pM3grUWLEH3)j+$OW9 zN9^EkmZ0P=%baEr7v%mFUK)ejk*fzhkMb~gk}zU%a# zix$&tDMI#QTdYFcA(PX$5&55~pCSp6iJ;6cJAO@ zoqK^8#b!@$8mndI?RbP#|KA7>SPK4xURr;00 zc%BOeTQOnKj<3eQ%N82=&N{`>yL!D>vEHYHNl}j7UXRFZP?$QqA}S??Cs!|70O7@c z?QF%HDxtJ%N7B4WFXviM^!rFme;zc z5l1mZG&|)QJ58#R^h->}aBaHViVTaSXBUxi19x}4EGYk`k;Aq#013hXF};icns#1iimrY zjHwK1LMIvggg>k@ps3tWbL}J<_O?n^vlSU1lY{m`pABvLvqx^N$-_2bMoV6}L+@ly zTneccB}8iDEWV7Ljhjqf0CrSVM^tvkd)g|hA@7J=PjeN+h`PIWFRL`?5booR+C_Xl zj?nm4z@A-j0`uB?3!=)3&}a=5X2p6aT7tf-KV((l^J4^nKEvMiw8#kw}a}YXCd71`&TA6;*KU#P(Zo z$|1+FWnsqcni!aKelaFvs1ue^DV%=D>W4$BQ@wT$@V5#~)z^$)67K?5AgUvwgJv93 z0me0R@Q%^HGNr+3d9jS9Co zPA|L515w&-!0gn34nf_ZSyZhgW7uh>QAx$!Yf#G9?oLFY+0m41$FXc%!ZN<=T{K<{ z50aI3$c|!$RCRal2#srpKjS!}W#=?dVVsAYH4Dify>^OQTDY)sR@%9#=yoO(>Bi}x z$lK%ZzVE0Q)EgDc_Dl|48_KyH9w zW&=oLsD-*_Sh5$SXzY?vNtK_Z=YyX#qI*vocSZU&lZ3oxvRIR0cTQD5PE z6Y?1#+`1C!!mim|_j0zyLnLk16IoK%X#S%egR@uh=9jlfijFlP)id@y(zsDVx&-%z z$slZDV1-4a5(<4t=Sqew@Q>!3$yGh{`zrFZxnlJpPpqF!s@pC_xkquC?nR{d@72V6 z-=I_ZJ?etu4To8NWpbuh%i$U~Smhjie#=b>8KP+vIvECey1HHgIQ+gOZB?NQ#NL-V<2z6$J*}7bWtuJ#@$}9BLkNONQ(wvyfMf zRl68q!xx$Rr=yy?<+W$@MI)w~hLoMWb|gX~ z2)6spwCiIYkPJF6CXCWAJq(rkR84W=)A^&yNeH!t#{4lQEkHzR9;U! zst*qgDK#@hvgD9X+|;hv)*)Q8{Z21`NXi9;827gM-`{tef)-jcB%0c;3YoUadQ7~&&RRH)bDy74GBBy3>YK{#1Wb-I>e+nWiHEL_*XtBnbv22M>n z^VtS2u5`_K;kV1#B$FP+jCvC^EU1%>A|-9#)c>B}5~;oRG}wLX0gGNxpo+>FxHitk zl?9Pj$7IbUdA>dFP+=p;u3hXC)%KR%f2lwTpUiS9hvAxj5GBjoeA zO#!`ig1rDAw(Y)!Lp->4!Ws7}%%*QD9e%t~iJ0FCaD*Hmikv3|#eHOhw%sBGj8` z5Wx7_EfsnbScy%YTlZULu2URbI%k^P`_NGVe=g~HtrR)l%LoGBB(Ju@HngD*nAO_G z6bt_R0IphHF?@2Un=4}PERvmjzd_EkPNQ+$JkG%7;F4FgRfSz49h}!wQa@7y;%q}h z%8p&&B8=p{cI5yA&b(w4?uZ~j9pzD=T#zJr`F%@8l~PZ$Z`ziV@%+&tEXaqv3nWo3 zIUAK|2Tv378MCSKekZ`1TNEs~y&E}yu{zkkla($w3ow(ngdt={K)jkQdF#zl+_7?) zMQL^El>62Rq|C{X9VbS^I{hBUkx| z0m87;l(6LlLspQWCk}dAAirlWpET+F;BAVurZg=y?ZIZ)ZEhijeQ%sD z`nqkbRJVoZSz565WY0h3Tn#GjnF{%+v$a9H`$02x2(fH>u($_A{m{u8L8W7U*f&+S zNURRo?T6Y4h2P@F^xPhC=gN?dIt-~Y{@#!C_S*eyxZRjk zyIejU-3KcM6q8z4e=i_?U16oDM9@-^npxjN3d-*JQw^M_q+Tx}$3u{c-nDbRShvJQ zDP(d@J4Y0tKIeMJOV^nM=WWs+R7?Vu)M78FqvSO}ecDN4VUK&e0=m6$YxE|ei*W-q zXf|V{ITF}SsBpKivhqIbnsxM17242FsQLO9jB7o!rEkv5<>oU+=uvYxm2_d0y+8pu1@y9{;lC1QC%NJPlJ*GIJSuuMDL=Mtl&dX5yBD8oeSBg)HJ&paT4z|e}X{^uUIsmvd%OeLCcTcnJxnN4@QT+w6uxA!08 z+6-CmA&v%9mr0O!4O7_hE(VP+qWT06hDoH*1Pi%pR>0z(M&!kC<>|0~M4XLy0t;2K z6QbNOV;!3nbi8)b3e7-OJcUuJDk+r*U=7D`9IGAig}CVHnkiyg%@3?4jp#WK04@t; z(SUoJS+{b!VojX>*456+KpgRCa_fBjCR(n%V7m+tio z5z#(Z#CAUED22T|usI+ZqLN?SfguRr;9?^bZ9Q4cyvAllrZ)8-#yx3P#8eh!hNw1) zxr^82_S;WtXLhzd>@IND5ix^$c?c45Yl~ znlY$iCu4g@e!a45r&~Pjd5x%w6iju>Khw0ED50NrYHxnAQdB#098`f=%@*N~Nbd4F zlCx-(kQIZit0l!iyQRElcU~oAPCP{5xDgpzdE6$mD%Cltuw8Q#l8zgd`p(fjp@v2| z7&^`0A%Q_pPj`)LSo+j(f7gz@y^UeBU-gbL~0}V zvPOLm^Oc@&jMa@-^=X9B6 z09|wf(F>LEkQXM|;m}*8q_2SB>j^}!S)T`d(cF!k3Fd%lLuufgOGU!uRi+>}r?@u>U zH#{f^`|vf|S=Nwt*bQ;VH-frNrk?5jTkNt@0~kyjU{~C~0g4_xXp^ng>LBW;ON?s9 zkGe6cZura-(Tj(9EFQ_1n|yDO_#gz+o!w&{ZfjRQJH^+_&6|eo{shl+O-CZ>SF_8z z{r*CFI?`j^4T^4+QHjOHUGGBrc~bw@jw@MbS6TUe{#X+ao@YPy4mFqO=QE$B%sQMaNkEai_Pz8XC1-B zX_-BV3>k6IDO^T-YylHXY=7l$RL8zS}}uCV_qD?hG1PiKxq&aX%ffbK0aaE;zq1LffZwZP5BbyXeh(oxTT0M-*2Sa( zayO80!CDY`+yq;Qf`I$N0BqViEYk#0F|iTRB0URYIEP%o4Man<{ET+<=2amXjzd<+ z7qS~_qGA1iocm1@#d@7{18$Vf`g#(PYSr@YPNwV2Io+E`R@S|XSBY^^buUySV6HqG zi<=6u&QqoBFj2t!gac;S!H4ar?ea{ICk)AimMQ)y?tw;?-;(mMKTjXQ+}qKzWZ{;c zg-EBg2^g3(+#ycy?VU-_GD{J$YrJ5-!FwFN6c6~*zU9>qFJ84uy@X`4VA5y^@*Bi`jAS61^II4j8a#qcIB5JD2wJGWOKft zM#F?G%xcb6u^iV4e^-Snj7cymz3bu_V5X%p+xTA?wdzkq1YxE9Tz^IIbEUM**LmW-Mj&=u0$WCBIliX|p z$caLxv4uqXtd%f=PG7K?Z&b%%%=-xpf+Oz^h3L#JNzg_GOS#sHaos9G`qa|(GyaCW z!_N1#qoTat)0R2Zj!_pA8d2faF7{ZPHBmafqB6VU$a`Z| z#J3T+6B2Z&RHN;MoB2DcB0-~C1WG&U*Th)1W=Zf6_3^J=9^s%H zfMVSofrjbZ)L&KWr;wt@6(Qq5nkBpFY zB~NmjoUz)F2nXVGG{VsJm9OZBhG1It5F~Keq%?;GN+Hz;d)?lqfQGICb2-AWu6JcFcKb4%3peqkuqRZjyHg`a3p-|8$eOXr&&zgy@~8q6SvXb zn=FMs#7y*jKFucxq-4U#q`s~hk&IOO5l-JR}b4s!l?Gar`p*M*V9f20ag&y5*XbM%2KNA!=^6FYr_d#&y^`s5`f%;8CmB*>2*`}>Wy&BN@=YaweRCJpuBnY`_B4b+ z9A9LR#fA_v^pM>fZSukAl7j`F`93llIyn(n4QEdB9qeeV(^_*gNR%9CN_rP*c-tvObBC{kfFFhaImLg z?BYKFyY~DgZ+inTrc{jqBEqdn5kPuRQ%-ly$$e8e$j~c z+Rn(?9Wz%JAm{2~u$>Y!+sv*uYrq75TY658W(xtMnG<@=1Z)~Nwk)`!ndD!B&?Z<- zwgIgWGKBdtRRD7v%k7I52km8*?W|pAp61&ZhpL&g!`G~`k2!wojEW9WV!D!Wh%GqF zoytE*QDMST$zT54@KPImmPv*AScL z+U-h?VO=7%Y1rojqB_&8*?VKRZO>3K$2%a=sP;TRY)kun6(fG%(V@LvwHY_(s?A#A z>ZtmDqaQfQt%4f2vKd3}cbol-O6+o?Xi7vS4bAJ#IHmazSwHMmYV5^M{3vOoYq74b zQ>mSd;I(6Ho}^_hCB}=tks1vW6-#n`5jQ7&pCK%cxI>0@xhqEeK(w4~QAn+nUs$re zo-AQZ57`m^kWNV)a;yRK9lOKCIj)^BL(_!s7G#R1vy`u=GfE73g?Iia7T$h=lxiJS zA<-erSVU7b*u9@`r{7%78i*BOf=asBF`ckma>&hZ$6zg{-_Ox% zXzy9i{qzF6qZy5ZdbfXep0`#ClHUI5qQHwc*k$+p$4;m^9Myu5e&2HfRz!V%!%aWhQ0u=5& z6)gA?8y1vIusGHap6!lCS;;2kk}#-t&}zuD zTzHf>mo43d(Pj=KW`*p8mo-pR(*SOHw+1b*$0_7+N!xvF!ON3k_XSy|#N7O_rK?=F zwhsb~Wmm8pqP}2zL8R&|0oXL?CXyVY^Q%2L)^DvJaJ*kBTCY4B){0iPUK3hBX(fm> zZHx|K#U4@`{k8LlVJa)*GF16CnsI6P_+HM?uqz~Yu~r3DavXy8b*#-mJPlEm9AlW1 zT|)w40Gi=-w?L6B-@L~=R3NW4|z$mL(1O7bd`nR`mz**{eg8$$VzpN?-g9 zKQ>j#triBr#I*>38Dk+h^&Tdg8fP%g7wxmKoRn+!57u1*Vr7?6%r5DhO{m zLy9q=5=(hVF zp?tCSuuSf#l-b_nBtajtY85oyPCaFXYGJFe1p~CB?V58Q>FqPfzJ3_el)c&8;U$>I zB__94_q>Jwn@(}mb!5BzI7Zc})cG9)LM4#-s1{ER5v1MBNzLA3!FI=P?N;uJO6KgQ zTw?I#yJe_VsQ*z+!f zgvDXeF^Es>JFnMnfY6HTORE3+@~2PB_#oPGhnn+vK}c`aw6$ABaflqv>*>=nj!YfH zsKskdS5R@Ub0=*=b}gA7#655NV9S1n$!{aVQkd(MCKn-{qee~}m|cGtAWXOJ$?uh1z`9t;s7mNO$Bxf+n&3{s ztm|@k`V!W226vsafs)@McBzCO*S=p*Gwg=Ew?VWwHt?0^*J`&8X;sN(-J~e|DqDCG zFkMylH|*1d%iIU-8iE?lQpd=~@Y8HE160IlJ?~Pqh%o2|$ksdYPa55X6fWG>YY)yW zg{&}IJL}!1f~+8Ri2F8gLPRc3aypX{H=+9EEBE1$u7B`$^?l1rT`#Q{Wb1BF)ZYpG zKP6%6h=qQ-1j*NK#+_yysCswr#yTdtoGV0mMwplF51iW{7!apD)3T=nAsJQX@6H&x8;0yFcLW z*Uh){Zk6KOc`!DR|JwlRmIP$`e0s!?-}L}6H>_Vz{&w4p0dPYUCOgwvnl9EQ+`b@J zmATtzWv9pBLyj-U!#z)d*fF?38kT<0^{{JuM~YPIUpD1^c{ZE89`w~N$izESPA(5QAr zdr0CY9z2r_cG5#6T@M5X$uJ+7UXIK(`^W~;)CXxHUM)H#!yiN&Q8g!7lf33++xu#2C-R)-pLy3`&` z&DKsjJLa*C84;N;%!qvrH>i)w4cW0*$SMUQsbaELYTdt=liEDB!9#A}%R@-t?R7=m z?&T!aZrroG@9mV>KCJs+YPUMVdM9~bJ3-R*q?G#v9~*K-o>47MtDW@yy$fx2%Ody@ zrx<71?4HN_9);~1BdyqS zvBmGGI)S-vmMBJ|r12_5MLABli%(ahgP%=Y9=QSNAqh9+tOQ6EQ$ucRK#KL>gg=V| zmO(qJ+ZjVJoxa&F?UmXcXNFb7JxmJA@%Dnxvki@^g8h)WkA80*?r9wDmKSzc?V;HR zR6`a|*J=^nXvR#(VhqPA^xd*c^~GWpdF6V-mVgcspTPzYYSEHIy2#2`N!Y~YY8!<; zyc&CtveV*34$rPmgxqIjL-u~X#Is_-!9rEKYHpd!Ddr zY&Ju2L~=Ygd5({F3ctwL48Pb7mtQj*^d^g9zs`lgZ;@R-)~3o1FCSyFu-gI^Fz4+b zEA$TC!bms1#VTYQ!i0%mP5Ubqj5m7Nt_DJv93cNjt4P^L54U zelq{=x{7F)7OI^wt7`{e_c#$nBVSj}8Jsj_Biw>c|1~HDy*KCd{PykDu#0wrYWTpo>_+`7lxU-z~$^#yb&ldkK$ms3xFqUF!~ zG=z5Q%ud+ZGLH>*Mx}P$407#MxST3x^BtGV`d_=9dTH2R@@7}$ei|;!A2v~LHGl04 z??%;EpIT1(FxK=uq0ye#7LXpW_Y(9M*#o6wAUotd8m67y2)Pg2AhC!8N)Eq{@}h># zV2LK~sZ~+6_0yGNA#S<4WKs`n5yDLQ4JZ#epk*Gidmz-XdE(ARI|sqF=8ZX`wcTc z_L|*EL+weL`7`_R-k8698b*D{O>lRauPdBgSH^T+r&en1?M;vnS$hn!v#k&XUhNi0 z#l6uWG4OTe9LaT+NjWOHh(j25v0=-R%cI?H6~B=a{7om1>ZDi!q0*y}2}_}S7D#iF z;cZLStmCO!Xt1XNQYsme5VbW8oYUl0tO4Zvkcy}9K1X$*n)FAJo*Mw;D?M0{4kOpj zo80cqlr3~yU!5wLh)gv`z1UfD^*(WJNLH><63FvH5HWjiC*C;>h{%oTa{KoeO?mpW znB&ux($9Apae}*?K`-x+;ri#IA0mQcGw61{dNh(d$5Y1s@su25OXDT(>&>RMo~g9#?i$Mr-&)sFr0 zttBoKJsH*!@YqfTj5k5Fu*Z<4$RTPpKV{aTvWW1>X>*6G%n3w_-!5AbUu#L&UQfU544m2xdW@3NqQrKZ z>OOO1+A?T8saXA{y}6xqvzM|{y0q^qfKc%pT0qFkt3tXMq=AK9SN3=^A27jbjmlRJ zC>-3=d>clq^>k;;VFh0z5@Bjy09ay(kMA8KCx7Nqr9Id^Dgo^zS?SQpSFZl4i;kI$JHIfX)lsE=^=HDOaQ^cmi@7r zP}uB2hy=*j>`q_9oH*)*iDlCQZjF$kNdthXnmc{Z`Dh^QFY^<2iei4x{qbh{C-v+;%a#O{e{lnYKlq#92% zGMjH*#4Uf`xH%E|SOV27NkH_r5CZPz&Hc3RX}dMD+3h5LL}xQX$l7>7vsK4HSU_hY z7gni?CZ0=rM@9c1XWDr2szI)p3yuAMJXbJxN}d=xkIL(+P1RE(XM)wF%vxYScO7VR zGDAE$%J9!Lk9o48r{?)>U1o8ZE5uT}dy5-9->8<2cuGkiW_kNY+##Sh=Qj-nf2XMo zlvG?#k_IiY*V(nMeo!`cOzp>g6@J+EwGK#uJvEu|M9+`$mr1E79`Bo#?%2QQ z$^6{wk=tz#o$7r(@f6y64R~rWUH3h1p^t`cB{nY8QAd? zRaBJcCh**Le$FA9yyhow`2Hup|I z^w?by0>K}jge+9aSZ7P0$ok7^4WcC7)E;L`9*N5Ye`G_iSu^7E1e;t{99Bo0N`LBr zaL;!^&E4TBHn1zD8&g@oB$lN1$%e~6LVh(v&N!Lwdi$kILkor#;e9)_Q0)mjLAE2a z`7Xj@AZH2Ok=l*$?X>jaUeTQ*$B4|zPnx^i?^sxgPD3?joqHkjy>ixo{*unc4`;6s z-Mca=#n5a;B?3|Bsc#|I>uB7v1jEnccG4OZbEBRhoyotxrrgAF+|%M5e3?5P0bzGip7MVMJxGyeKDbI(p4u>%%)L!%<&%qr1xw?MD2 zokfUBuBBDZsT(Jhf}81O2D(ywyNpuiUgzkAsB8nq zVe8Itq*sUWGHMICcVw=2;A99dZZx}jyiu_Crx#fHs<#esBJGH7X^>PkDq?G|EQhX-71tv+gH){RU(EkK|3ivjeuJC@>MggCG^-SH?G|hF z7jt42OwLQ-)#ogY=Bs4V{x%T|x!7AjOeXr_mDfil;B{S{g~D?FzhvD@vMsr>o$GqG zB3p2E_!1AxYJo~>fJ`bK$xLGZ&F=RPM=WwvWFhAo+krp;4u1ntiFKWek|q-TC`>)1 zaMz8JUD0aKU53cG& zx48HYH26ogaJS++U|Z*>nEcC%+X1<-H%QiM17|O<(x~P!X^0JfPvaoAD9q)GkFFhW zuuX*}Pg@$w?req_Th;-@+K=XiecU0(3ytMS^K3ivC@ceg*uLWzavL3$Y{^KLL{2<+ z#kvthRE#ock&?A4D;Co6qw9GdI%F3ETvtWSqhe-1s_e2Ms|?nYfj8l)rCZIg3LnGd z*l$pRxYtfVhekysT7QTH(!@d7V%*wkk5?dKu}7sh0ril%quE}U8U$g2dp$u38zE$} zj-l2~4g)GgYD5yvc+Qk_m%oYXNXUSTg&{g?9?1?S)~sWyttM=V-eE0yQA=X~`ku^$ zv>}Idw@%HdA(%rT>)?_jzLp<+7MLB@a9nCqLfY{-{dmaz&+ErV) zcKp)b+2$xndC%L(?VxIz6UoA}wQ5i8D4vCQGdFYY8myv%A?K`xpb8O8KH(sYbcQ=@Ev`IKZU82!^h!i7`#51pgj`R~M81LNV_jD)mzxy!SjJ}UHo2tQ-IiY0eW1q+ z^G<$-Aa%P*;KnCd4Jt;Cip_QJa%r=W7s)U>f^l6@O*beOaVtlUT?)q%u4oM6{`TWJ z*zUOsTUDh#MHb@KVp@wRwTKJ2q+Ds)UeBcMR!CH~Qm+T;=Dn%l4p4-MG4y(>$NtgI zcME$N*erJvvJ;mBcD_q9)>X5KB%Zy;6@^?^UbELTiPaE9rHJ$t(4BP+>Du0F_nf@2 zF{`N-{l1=546G;dgB!T0!PhQbbe+Fwju6{J&N!| zdz?jhG+F*POkw_e8M-X9j>et%HNDt&&3?6T&h8n#+vi^2cliNRI1z$sBS&7xW z%g1eFVhTnLm_Jl*?=y^$?6xj}U3a$u zlAjAWVHYcf8QQ3@$*rKQMOsK)qo7Rflq-CXW8Y+O!b%)Q<+}g3^4H3?y!E3_P7$Y* zX9~3Lgd@Ajd_DG50B=Ph)b>3s<6!dyyCA7$-d>C99AL;@W=h%ao1I3~hZ{3=cC#e5 zY?Pu8m^fr7g+jKzfXA;U;#P&%xw}EuYFalx^le!zw{F<^sU_WrQf-hpWwl~s84P;{ zOT{{_N~wb3FJm#Ra%vXKYZ(>Jm~OOJ=XC%S5S>um%^U#wu*u9~O9-1N4p6y^Ve_CM zN?IS%MN2YabjG58iGht0axtx>Yg{2%y3ai5+KHKKF06rG1Jm5BU_86+ECH6Wf)Sy=G&bOmk7@`nmHn`jLQWAq$~T z9zxzHQo{dJ-cz zeIxI1ui{p%dler^X{T1t`?(}JcK0+hc#F%;;>kp{+jEVQPuwOfzGHB`2^Dsm0Cpk& zWZs*D75^Zj%I{OmprX+Q}_U8=|e1GBwYA!PIk*$5N~uu^yIy+ zwYVj4q3TVF+5QG8I&v(yquo7@XuB~<*uR%6dDi3p(9mvD%-qBF)wWGRf)`b%{WeR? zy#wAQ$0n}G>9e|yEoGZ)MbUTFNzELvYARFxKbwG(>4mc_iUgu!W?oNHEjO1AONZy#Q9BXOZEEXiQ=Dci$1vr67jvT8 zWeP~{kSM^_e4hp7?!ZD&AOE9}CZ>^ZZ-%xV-RABN88bOPm#{t7k=ab7)&q34*P~wlEF%osMQQ zaYC-Fm?SF4eS05bd?f%O%auV$fD?mZ2`iX!BrNq*zz)#IlkRcd6cHlve|D9MfqlUg zRzj%pEuQ3W6$D8Ml}KeQ0$!d0WcS<{xr5hCG&V-iO~=k_#znYibv_YmfG+8XNOU2! z2Vp^sYL}7@D71@Y7ks5HBg)T%?Y#UD=E@LGblTF>7J+Ui-$^o9@m5qN6`aA2sxKi7 z;ZohWckDbGrocB$F5{!3`PX~jI(|I~yZ*l`H(x>j`^<7H?@;g`ijn?5*sZ)+a33il zyDS?`9%YWqH-`@O%)ZOgGpx;iw(Y2P)v4Lo1*JnWM@FM`vYD>g>xzHaD?rZm5HqhV zVaV=%)KMohuNf=7H)jr>a!U+l&4jGxTSt<@hxj<`*G?#`ndY&qY!8(=I;u|pn=#0k znA&?K{GdM`YZZ{66$0tgcy*)_;YKOw-vopt*Vh$+be-?4Zk^l0HvrZ4F+XJ2XK3eu z?({*oIq%RyZ%pgVriR_7N7r5FT_){->y1H_xg9`-rlWM#hH9c9D-{Px9Fc?&rCaT` zDu#%(5EglpIl*wdO{`@;6O2a~<4Wmwwmd3cdiI1k(mn?Td1uN%tAC1!9_;nXITzxD z5ZtNvDmx22hpbj~U2*(R5=uezIJu0K6RjQf6XIH*HRE-jD3NGdQVEgpLi<#HOC9GV z;VNzbf($1H#mmpc;l_2ot`V#vYcAS0E`OQRt)GQRZ#4x#nn~W+4Lh@DQfeOCG2zU9 ze=k}e2k`wj|N5DfD6>(l+IWa+s<&NH+&_efj7bu9v{nx*ahE!V$y(ohsDVD&B6E63 zxqm&8BprjPow;533#MLYK`VXn?sb)0xOyCj^-e184fZ%$@@B2!W;GzOD`F+%ZDwy! zH1osDvS79tVbTO;xFYgUoQCeA;m@#_jtwN>=F&{{v1*6g`w9zafiHQeRo`!|on zBs|pF-F{RO60ky!y_#C%H{r{Dg{|B{d$T;yfgU6t_~!XKRthFr<@V(oI}m9S}P8*#kUBseE7qrDj=&(8`blPcYtR! z36>k?zFjcPJ6i?%ZmyjlLQD6;45?G8%Iv>(R~j1?g}c||{4~K3PRe=`p}sM3pl`qU z$6dgKO6D;p>oJ+xez>$T#_vTZvLWU0Zk*h++b~xy5!Egv^+Pu6dLqf*7Rsf1?N&O3 z3Qr~ewaYo`dCvn>e|zjh^#6>K6NIKr`7i9)PGCN3w{V>wkr z6eZ=A+hj}Kp}`;DPLMP?DpBq@)5blOL6pSz+xZ3M>YKxJ0y1Gd3m|N&txl()%H6LO z>5|;-AE>YvKsvfCSD13o7_0+f+Zj5{2@Cnf2GK5?bZSdO48m5-E}?z))gZ4$*W9NT z>;GAR_TEzd4cZy{Yr3>9M0EMshc3J~+%0^1r)|zwF~WW92DWdZG!3L(&4~93d57#M zKg3G+f)zu|4yP3u(OwY3i>(p0eR7l~8yA$gKkuZj(;?I4yXq7otaqlv?)0xCzFIt1 zXqHuRkK319(rx#F?`HVZfW?3}PduAOP7xup8U!Kt=Vt35h;!Pekb7PM3q|fF*UGnStTJuev9Tea3 zxr^Uf^}l9yPq3uTjE@5vHje^?;r92cdb z+{5E=%KM}*C!rlOVOrPQT|-xv@qus~kMeC)BrnXT$1v_sB zR$ym{8lO?ga%X3V*zK;8+S!?#c(2P+y}k;HMkV_2klnBZQI694kzh&Q+YdBT^F_=p z1%yvl4FV8mZQ|pcS)h4n&wYdKN;_1F-s0hZqDrr98{w~*k*`<4*5gPHlJ>aB$X8er zb_R89`~(#tc8kdQwk6SUnIB_!c;fony#_tG>$^v^_)S287p=|>08|rojTG8t7JFFX z_7Qc@^pMWhgxoa)(G;t^cB?`j)xLlbRpCnuDm&d6|CObV(FjfTK|XwHFeKO*Eg_w# zf-$o!)?bPLS@{sj4l%fpDI$o(;Vd8+*=4A(3ftFC9puf+Ql+(90bc_ZnAy>tu${Aq z(XW`Q-d7C(QA5)-q*~^Un5?&0)Wk!Ch;B@dFvd~@UPqy7MJlx4F?zRHHdW;4sTr(Z z&2Px&KPt?IH~z{_T&XWaMDwPYrF-&33}YEIR97N`YPZ1FZpTLJDd#QLhsi$Q7`l;V zh|_&ZCh3cL?P#d`TdkF$UpuP)_|pk9q5_q8!EFY|`%;jstX&p`hnX+OLa~1eKI~(5X6&4n&0TH(i%CzjO79o|n z4Drl${d^`gEaCS!Bfn`OsFGa_z2y=0Bn5NrW*XGfs~C&utYvG}Vz1e*Q$yrZfQL}N zHW4JV#mP)?R1Dl?IwVmTa$z7q4#1ns zrLH5Y(rjzcjZ8J;*4%13DtXg{X}+~{Sx1{4Rk5lu#zHR1^Xxsy9S=rwM@zPxyO%%6 zGopE3tIfZYNf3*4Qbc|Hlqd{aoq}`}>o%Enj*Dw~hin2Hr`Ovt=_FK_QG_^{c0EycNemO!tkx6f{MODM-fd1WX7TMGVIQm- zvQHaoCp&Rc6JySggNX~g-pg0kyOn;u+ml1iM$*%g0FPIyaI5#@!tPG>0c%2ZZbvLH zcQJz9cYlrg=EhPrngjFhp6LPxKdChx00m2gw zX~w)bR0^5mC>pj**4AM4q!8PN;JF_QXZWdt(ChiJLsPYr(>r99=R+nljYN+(EwwA) z+&hSC;|#rTS|Ap`7f#2QTYxxVaj(~7vIJl|a1fQGQwZNu6`7tqCXcPr-s%PsEmU4d z{AJmykVHoaHfVk!N#VyV*=!(^rWN*1Or=9ASPEG*b~M7%Q+Sm(W%br>cRWS43(tqF zm2KXlpeXWi41#Jx1eKV$6@E z!jNSqLexOM_q$t1Vb=VFmT1QHBt036ZEM|_*xxsww&3o&(GL5cSdl48`XXPEs~`K| zPza;tmYvY*=nhD!#IgOpz!$7a*v>{&c(lb+PeEk@-sxF$Vh9-^7vm)O=5hCMc8 zi^m+OD%x$4@4ysUdCNds?|fm{wi=UsJ{7PQiq24hkRV z>(#F zDld_WDoO|2@$}4)j&uxJQAo%x4?@Fsk3D+%`_}KUqUK>vM64aJycgnt6kEBTGRs5W zx%xeCyvQNvrg;5*p+q~SBF-VlKM)s~)Qn5^&9=SUT0%N1wzpeR zbjSjXI^qvC?yA#rIUpGMES=6Nyg~7`6G_4tt9rzCBw$-zK%_f;Vpr*klel6lD*%HD zTxWkdRj^wkAQA!z8;2Tpn?~$t8Sj!k=JagiJGxr<6bf+ z8!MzrssSb6ZjhuzQ&(ztjvk^#Dno>Z*UZ(oH*Cv$lC4n2gai52+2lHZ6R=F={;qjF z^J%}p$(6kfOInc;nd!X7P3~R%)oh({gi0hrONi?y zj3Hz`&}Q^RA&gP%4PiT}KdRzQ5PLq^gyy6=gfF;vhOM$WsvA3mv{+AO)L=*RQFLv|5p$Z{|cySa`s zT27ybE!PSwo4%eFj){uzYj2^!*{uyb!ggx@!cwDQsxt2N1edRO)`!R&8g@i$gQlY& z*UqhtO#-u_e0NlG_Sd^zfcrx(>VrnECousNTa81{06Ap31W?d&Bwc=VBo~LN+0JvW zSq0Dko|@S**Lmhr$VouRyVctw^TrJG--V(&@@wN-a881O!b}JI3?lmB1tBsOEe$oA zE9x`{77+uj~!JVP;ibGcMP?%U!mJNU+?L`ymC?`xfC#Q2AlcY~zNl zsvURU9sWZWJt>Lx2B2Kb!pJgofi}no~;8 z9MNuW3n&j1B4ByViUHiygx0TbfxYXyJ3H2mncuv*!R16Jk{cu*UqYt77v#ruluaA9 zrxno;S>;8D_1*RqWki9BRnM@QqQel~t+f5Px@qe#5PqAVvz6k(B0FQL-Cyb7Sp=fn z7i1=Y_5q>zX7|gY5(!Ba37mIBZ+&-bVXq8R^?PHeN}b>*A9opQR3_Yi1j&=r{(hfm z@l!EuRC?tE~BcBzViV(_XUey z4>qG0LUtU`Wg|U5kJr2*De-VmyF1Flwi6LuwjiZxlg3Pvflbp$&Ypw`Utd>q1p$4v z?fTyGwhOkUHRHLCcSw#djgJXrzt84QcKkI@3|2~fhVRONLnbh6IPv9XfLB^(+{lM* zPr-J+a!A>ws5*mkJuT!3>5k6VZgsb)UI@QYEn1WxykK7vuG?p$ss8!ebydg4Aje4_ zc%C0k43@5*V2Ic*M2hpB_wbM1g03%EUwfW`F6K2VH4aU2g$(l-{*O9^o#Wm6FZqSg5M6R8?Wp8_O^qNk)=@{RJE0#ZG-*#9#WgV~GGj$a1;7!d~ z#@7*H(ECFC%bx%3>SlTZ*pGyDcD|pVIr6OYsK%RQhY;Rqc3##1R;7OfQ2KMvlff^6 z*(74z*^RDY)vPz4KS(f^TCW|c5i>`{qHE-d;wnWUX+9}rt9=KS$Y2VY}ka4L{*8-_J^Y&M^(8+09_Qpjsf&A1G%6&EZ-tzi3We$ z?UUFmhTRaqB(HxwE5M^JcnzsAx1D^VxBi+m2qV;+T~|9o3|q~(X9-=NJ%d+cCCKjo zMMBMgFLoJR80i+9*ulPKd{{&h1sQdD^_FcsKRLdirO-=)eD_ z2=?E3SJSTkm0@w-5~(8euW4DSk~F9m9}1BHs@+%d04~R`HWs#yRLWHOLrIBo_9mPl%wY>vLUauQXPHzE?Jungb6+OH1Bfb&e*Qb z4q}6ysqHOqVG42V?X2UDVxb}jnqn$c%xLWvhYb-9x+yM#*R>Ha#!l}d<{}5YcIs1m z9)~oJ7@K!ZYHydjn|{$wy2mz$_#-aMN}t8X1z&nAq?Gx!lkw>N(wO6y?@&j`IetO_ z5&_p!>woR2v)As73{**g>*+m@8{7={Jjk^ZC5~fZOCcC19Trm=dC`YFI04Gr*u2Xd zCu~LOsP1b6sM?`7Q(4rtBM#%1wmPS>=fTuzA65z~V5h<&TD&(TH@Iefero0l3uH&N z!&>dyDWkXv&I&xln66!w9rrkz`TDv>mf%*Ct#R*Wqutu=it{(dT`K5dJf-W}IlSxI zcD$Y#leBp>uE750GDZrM}U zPDnbxe^Xf;q!^j4V7pzryKtz@q14sm1f@v3(VT${5#{KG+f+rFLT2egNT!BuYwSy4 z5Nh*W2^(mQgbb2m{!ERa5U^=N7JRzxOCR5h!KyZjibH%`j9U=v@{M*6z&e^ZPFUDi zEr51E0%Xx{h&*S{n~=FNx{fQxCGy&7*X|Cl!q{((%J$tIB@o-=X3~^4rX0;@dz(pl z!u3TY^?J7NBAHQ9EJGYvz7gQcPdHqWLeHx*Y|Fbd7a>I@LZl*_I^)c4Y@BVejKi?i z;NfOPjfd=#y4X9rDiW7;E+z|e#_^=DcW)937*{BQimi71Y&#y!H=D)OW1XhFD{ZxM zQR_)wawHil*0Ngc7V4eohjIOGL7fh5@dU29cdw_uwh0lOxaTKydN&dHeQ&cNrPM-J z9=KOoEeXT`?&XBAW)~pmgC0f)w|4Z3~wrAxzKPsal=l^a5uCK*}RUwR@ZPcrpC-^e*)7A^R|NGq_M|Z&IL}Mj_@W^gJcs zEJVQW_JKLEQ*|}3rFZk(rLQ5P2Mx32!rr91&eL@z3QFc8VhzSj6>L2s7M~mpgn7^k zBu8H`&uT7X7dEwBaBX`YkcfONaLrUCQUzlRn&(DN#+(3m%C|Map4ob}Q?qvO>n8S3 zq)QmKGf;`ZttU62#PdVi7vhp%*Y6Inpq-42XlbaB9k~lJ|JO`}VH3xLxJ}o*PXD6n z`mZ{7^6ds7=6~%Zc5VQa#5c@5#`Q(dT)P!DZtnJ_Up-Z^8K4U27Qu3?_C0K$BJ+b2 z{VmJh*5w;Fm#SDl^_T%#N1UqIQtNJK8B%O;$ow<^bjSPFRR;H{ik*$9QpB2Jk0g_h zVzeREsI=$89v5a37&mZLc84KcB{^)c1$CxoheF=HFK|d`a-z2OOX0Y)c5hdZ@^)*fpUF4^VMqG{PJ<9l1w^kIMHQnGB$Xpg4y?#6 zVe?*%glG>W;+~>2+TlL5KI-kYR=cHROpCj&Z-gkvHkdkKmNlf>T0o>Ve zE5JfHr4o&q$ojxH#{eA6__Xv}g+&ImG8`j6k)7b(BnBOI6|v3wawrtWtyYjY`{ z>dJ-x_WS?-{SO7TerMTZ3jYzG`rWvd)&AfAv48(h|K;yy>hHh*+y4J|Z{bpVmMSLs z6NfXOLd{KgW4Dlh%)!2!-P>KceL+QCqFF>R1lyb2AvqTzBvcC-)(zvsD#dtI4=I{D zWb#!zF|au$ji7_BwNt~$H4M?|A+wl5wky$K^KHVgDZa1;2_WR?^~A9j$_QDO6V0;u zH%{>ea||O7tT-x>{~IUWawB)w#l0Wa8>6Cf5d3;4?Q9;18VhTnCx6`g34P$ykR5Nd*^gGj^}I2zG6 zn`~W`0Sw6+kA}9w#WAwfe@4Q#@OMIYsYE3 zcA^X(hf3b*2C(wBkUmVJC$D{})1ZPJL8{^{-H@yZ2y5*IKyddsVWn66X)4J-lF&wG zTP+6=R(W~YU2z!FA;cl++-s-NFb(zYw5~#ZQCd98<_c!lh^Lur~2Y4hc@9~aFYTgQ)l27&uHc&ouJ6~OeA^676 zr4vx8E3ohT>QB>LyXwl;m*_F+wY~(@uN|BDq{9SU?HIF%ROQnUN<7)`b;TNv4~wxs z@yi4?agYTkBjM<;S&6HxBpA=Y8~eeXkB8a*+%yjsviD3mH!lajuYMB^_0Nz8`xa(=B)ozg$(_CN7?bo|fzx7mx zWRL5Hy1J%-K6xaPN@j%ZzAgihp}l5{j{+1D_r}%IyoG`7mSPwwVw0g#iFVDD`N`mi z+~%xw=SPgGXN)~z_RHE`SSFub(T$<>2`$=+!bS#?yVn(991NJ18IT@d zs{+-nOW31g#5B&3ZM~{VQj6;-C&JSdG2h5h>2-aHCJ=v7E%AVgncLh!ma7hVrBuu) z38ywF9^Q9dL%w%eO-SEhoP89D$jF8XTd6B-#w<&6F`5ma8zsFjWVNSg+^4W8K-dXM z80*ZS#JP%#HUNR(UJtTdR7gporlly_q%^GZju5tDtPx`QhRkFhVh*p}_-$0mUN$OL z(M>uv)&%RR0*cYRoh|CVY5-j=^woO8&KU7P*3-J$q528RBy}`2X}pn8q%s z$ubl}1OglSw0m4O;cw5-slx9+(q(2FtgvT9A`3bK&?_fgJk8@EB7^Lsb){J9sMs(K zid2-(AJvs3B}|uV(T<>=U6sg{+B&Mtf&{EPD{oL#WY04jUHa4WUI`zFYuD z365xooFVK4lB{9o(l;ykCSD4=yB|hXTnBRAR7lmxnL4{{^V)S(Z067MKJ~PFZV{0v zH_AoyYDU6;a!Yg=m%+NVWxIH_RsfMxZ)@vULlOn^_qH|BQYCJf+NZS=*lLX8h+b}p zuvTLf>Pv061nIw640cx&Kx8ScID~L)mMr}OCJ^24aan}(R>SOtvl&a+)s7?Y<+3&V z%uhe4d=cFh{}~Lz_@>Q}a+XacOoZz?cR`<*fq0kqdb^Jo@{4bz zUEc}euTBg6DHrs<^@z*6?vI3G;E>*Sj7vz%s|@pP`An;_=;;PjWJB*0QpH0^A0=&I zwR?T7mTSmDjHp=u*V8=DfTaIxCbqDy*e@p8b^Q|!buJ`i0YesCG7n7sGp=mx-5eV> zl6_9Gsd88^6Rmt(0wScdTy@Kl%G^N2BdU{?rBWZnA7W08N0KUD4j{xs49=EFJDE73L^*`4_TBYWU;90OKH`O zo&6q{O~V|U^A+le>G1h4IP$oYI$vtrX4rX5M7;lA1|#k8FvRiA7BegN+2!K==Tfj? za}DAi^11=Ul(->8Lj56mj15!FO?+Z~IR(~K3BYt5ve`CEw;#|XYYApKY3rcjszSPNg9a$zD<=MkmJ4PV#(JpAC`GmWY#nuW^(Jqw zY$34|%!qJ$OKJ!!<%YN!B^EMnQD*JT>yCl-cDWu6(^e^y6%~KAm$4CxK7Z?AXSZ!Y$l930{Jact*iN)s8)oSBZY(DOrIv04Hf`); zMLQL6<0Pf)%lxE+8x=FDwTe&aq>!!^9}v4;Gs*Z?!6X*DAJGyFA#4T9soA0>A(r(u z>uW%3R!B7>1w|*hSxYx=apz;ssvaiI%5LS`>~Uq+wOcXlkm9C8&KxoBT@!TJuH?{; zr=0{U<+e==DOwRwLc5NHvu?-0Vx(cW=v4LBdExw;;h9(ruYDUEHn%jaOD3b*=?ehC znM4YhrPCI=VuHHrTwq=8OE~MikmeS+qVpju--rp?R86LKLPw*rK24@^@9;4yXX0;F zx~^n29jdrBD0x`l9SGS9+=jxvJ7?X(&B8~b;`!Q$1l{KGhP?=WyG^LP{`LSnt#zz` z;#@d13Ilq00$qHh9kyEi5MuviinK~E!K>^ndQZbIRqKZBKB5pMJ3XJvfaBMb!A288 zR@csU$fP}NI^QN*@}!=YQbVJ#1P3mW>jp=q33af`p& zcg@I)8|dB1nrt`6HwhKGCGEQ=b<1aB#`6}Wx!Oz-xg!#0e@GXP*G$CV6pqJLH4sJy zp1gPcQRBuUw=oQJz6wOp?^BGcV%b>EtExAu(;eD@B%xar%~BrR|LEKh^2OWI5eL)eTugRF)=M(m!m1~166 zV;N!Pu7@l>1>pgF8}zT$(%kd7M92D~ zLTw_W+7+4FsbRl%EQ4#Ow_8r{cMb$IYajldtrt%X@8pDg9- zN>H)RZ{#95aVumWKQsd8vW{DYJ6K4WL+ z!b&(ARWXunY)B?o$UP3A?0M6|Mcqk)HA^7!VtMG-cU9XVTtE1f{ACmL%n(bbeuxF^>EwjxEi)fEuIyvAXU+bvj zBtduazpi_MAq(h4(*<@zzAtSxlLxJs>clV6+9C)%q}CsH+zLy>HU^$tGY(OH@sJ5p zj3r<6-o@HwUB_(Z=h|%$h2Kb?A-g3jns)5X0kPhq7x<~LqUZ5n){`vHLzdV;BOCU$ zd*&HzfdTFK3hf2RDd)`XE+K)CYTr0lWe4IC-7qcH4M2A2hG~VHszN4DXy6Pt?goh# zUNgeuh-3|qG1&X9dGV2NkXP{&REV#a6HI8WLY}qHsr-om-(c-U+W5~d?qBU)MGpCBCi0LrE{2fWjIVLLxE zY$g+A*LDn+zy7?c859KQH_OtT1(rx1P5AjY<&p zz4AA3V*O~8$KGbN!3FC##jD!wZODbTEIyFH-}}*_N5l6xkyKQo+&ZcW(6w7-PDn>N zhn$BB!9KGpD7S7YYqL>S_oZ?__fa__Pta|58YWMdO@=Xzn)XsG3q>s6pJ8Z=xd%jF zMf(l89pX`?fI(Kb?SQ|PT^vz{UI^=@*Qx6^OyI#-hB|L4JFG$AF`rIbu|-ZO+Vf|0qT)AbSMa*9WbGQu5CN7$x?*DpvwzPM z1zgTsJLXKYQc7SO60#$0A>j2SbMjdYY=v}DQJHNKR9)dSWCzM>_l-ad=cnB{KH7D* zqUSkERDL()Sq;)~ucJ3Dh|ZksabMg)NE=O8SnH8m6c_%Ye~Awc{SiR5=(fD)|JmYniN(sW!G)f<1MNIPFxSEUNfYk z9?KlIZ-j((x9_!^O$#YVF=VH_(1^WklW3O!t}Cp|q6^py0`7)gK(4{I`^)k~w89z9 zjFt*<3$$Z-F-IaGp%CKrECb|SjRceHc(S<*vZA_ROdKDV0qnHf$s(TPsW5Z9t{eck zW*unQ?8^>D$=;uok7&CXlpY?@iu@z$ z?uH@zJYI;n@|K{ohV11(i!jqW1alu(nGFWoTZP!&W&k2#)d(u>$58+w;jbrI`Y>U8 zBsi*t?@w058RCu>;mi=nCEmu<{9%RPYsOx)5u&<67Oc7J{MM7eLjod3Yvo`IYlg^C zn97FKC3Yc|4Q$Y|=97}GYO~a~Tf<%YI?M*ax{!VCF-xkf@F7!skP2k$3)QZmi|Tet z?JU@=D^lTl5)~U_dmL97!^PqmcdPboROcf?7A*)_IT2w{K z%?1-EqH6yQJA2Ql_U-4Wc2^!6HQPt?Q?>&0z_qix(r>xB8GPEk6cdC?e#loPld^3d zP~CAjR?IH986ujlCn{uzgV9L7pLYveF+dpR9hC^t%|ZsQ_oK0PYj`wWz|i}_=E#Nh z#fl*-!Wr_JiRBj?LEqhb)(>6uuwJxwo7hp6PaQI$Sv%M4?Rh-VTY17tInWX;u*qKn zpo_lS+ES!VDAuKKhKO-L(Sn;_SG@0=&|KIF3I5p0C>F~Jn;q(FP|iM|D?lXeqmD2I zW@qZi`Q4F%%klhR&vK;qeIdxHG%O4R@KVU(dy6!+`2%~U9Kh3z$vKng9 zp2RSyYtS0KKzj1LM5wyRaR&Wntg`FT4$vh=i zsGUUao&B6WU~2diiBvzP4E>i7(Ul*!MMBJUEAQuGv^AqShMa*iB;ys$gmkmcPMFad z)~%ewmh*%tmx}XH?IzifhEOC6)BrKkW#P?5E3 zZ^dXzC+-c)DmerlA|KWy7vUV+a*`(D3f9o%4FR-x&!73*D=~-MQ4@%WQIimjT)iD$ zYUnIJ*i9eiT{0@FS*pe^5tKqSfP`dkBTjVcPqCOSJnr9J`B9Nx$LY)Z0C=I-jI=%7 zK9&A>eXsIjLGgxi%w9L$JP}j|%#Yr#xK=%7vzn&>x#&X-X}}$dMnWgysP*JVkt13n zv1aP78l%l*QPxiSAkJ@l*#h@8har>r3Ah>spGJ^;`LM|Y z$c}PFwTKWJr`eJjJlUTPX(Kd)^8gY8UUVr|u-HZ()s}ao$vsikbFNDT!^jK=SoNSZcS; z7`flH*tw5N%yv}j0)(Kn+il{tyZc!}n(|w86(G0MRxWyY(0sV+`9?qnUN+je$aGpXIe z{W^CbH9ia}!w%`(v=x9<+*?BW)3cILF(a<8&I_&G4zg=!X>Lbw4B~Z26Wusl`$_c1o^KIC^{gjXV7+#g z39nuEB3wI4rCq6=yCl|boSUJr1;;^l^(YiQ-FJQLwq@?M>VtbCZxS|@8wi6r2qjGe3J=CDUVlE(;+)5bQ^&XxVKa3-Q(i>MXuy6 z?t6{4#;yv|j(d8uVgsFICbp^WZ7F_fygCoOMM!>;8X<0gJvC={%C^HO>U{aAcKgqS zg;`ur?mj&lA%IWrIYiz#iJ461YquT53|W~`J>3@0d{KaNJMU_U5?J3XC`-BCrJh=K z<6LqWjf>>Jaqj$V&r^MSqoNvm8(U&`uWNUQc0xYpq;PhFTG;NjK(+HiYbP?X_uKuy zLzH+tE|USh&bvq|-dMD41L#O`2;=)CwCFxXcbtD4)<5pv8C0}cTn@QVcc#>~o+-c( z$I~w;lL_}3wCsP}T6>&v!8{Cxo8xCNhH zqwKIqEZ8l<^35Uc4tq4+QraLB#8aCMiD?}o9&@uK&v7==uWr_yFE_Q5p!FsmnhC`D zf{8{nbP-WI#r;Qufje~sVFY5>Zg`);Q(RW)!XRAxd}lEfc&jYNuMjnY@qvWxWNXOM zE|3a3uNm*{x^hezlR?CWZqH)r8^GJ2^RO1R zLABzY`Xa2-3JwG=4->Mh8X;Vr79k1otd~kwipYj7)@dRW0?&EHI^qIpOs?ALBNGBkZD_nzjqoHLIJn`?$2u9@w8&30_IuGQ8}{CJ!L0yj!U zG&jnsv8*R4CyKns@v7QIkZv}+=kb-}19nl0vq8;J8?qa%Ld?Yglb@6fs`zVIj(Lcp zo$FjC*9wQ6^FZ1&urCg}A#K%CFe0htPC z$#te}uL9xnpDm-HVO6zZ6~RXJpF1=d6^Y&y#}Z6~wX2k;=b4RSv+Mo7qiQzz3`3N# zHi9c0Tu)-d7vCY9RiKQj3n8~Bd2w;97hZb5-TjNoyeOtwqck^J%&)&Jis=bE+Mumi za|~hy&K&il8#6+%==IMJzr`{7iy-OXqA9p;SCh0jJGJGl?dn^=j_UN%?asG0)Zb0% z3YZ&wX(St|l*nG@%cMXg49^0%o4hOyFFh{yuw8Qs;r6yke&`7wDBM2t;&OmMfO?#M+m9W zi-atg(d2BFYRCRKMik9y&%%;`xTn4Ab?wUKgCXqhgjBxWrwggH`nI{|N+J>(Psw_M@^XjHpbCtL0`P+?VknbnrcI zTw?$Im>Pm^JxlGb<7D>!vuHQ}|*v*;S}#S7dVv#B?gd4PkkHXSaxI zq-jA^MMDRW8Fs9Q<=p}u5<^3r0~m+xn+d&4ST_K#-9GuIl)fuE_Ov3UqIq%C8ER5y zD@-6*vPbDzCgv^)on%=dvF|u2Q+jgcETE2On2>1HYTSojM7pyqK)m)0!$R08IS3=L zR}r0FTr;Ft7GBv$BChYMc`bt1e1c6yO~R;?N)21bT}W7?!bNFtn0S*(hwv2cVGGNI z$lRXDJh|%LVRdguL(9Y{`IdPnPCw8LwjqS>ZT=bd6)*KP=Gwn;)Io%P4+HFM2E?}R z%~*X^7e%8A?2I2+b);d8gH|BdxmzP3jJ${J`>_xipIb^)3uD3fM|Pcd%wjwi!rwY% zE=365eZzEUpoxO0MiD=`S#gOOu3tyb z1V!{S%$-;btEBnNdsm@3E^gh5ZZw^eeF{nAq!Vei?1>|0he$OQ4(^FuH`vH zp3T6I^1cdNHUZwX=}$nE%-`F-4aXQ;6256#`6e|(#ht9$(flbM8*WRxlxTxAJ&Vz| zlq>RtsJ*+D6RmDhAnY2?Yoneg6Gn?~qcSX-g0$$ko2=cL8pxa^%~blFT(CZ?nVY)E zHb%rVjhTs7VJvU!RaS!x(a{&9;MuheNz$2ZCPBofL6w7=q%d!JG!7+ZNZ%T?`;0iu z<#BO}cgVIKa^J+-8K5{94eD`oiP4D zLz>xExoLQsyla||qk{i(vH%h-2xR!Ntb{MkWS<5TCb@~%-Si0+XDVHw3CmG%u` zDQ~xG*HoWa_GIu@?mB?$GyCV8=qD|VT6hb8On@roNkFT|&6^#^sfJsm# zCOANIm$!|o5rf>dZ4kozL?_R;6l(1R?5~~TpX=#va_4e{Je`;jot#$~pRX1G zRW%4>{G1%VpEoekL((h_vvh9$Ud_6i3Lw7MY}R*^BCvht1HsVw&}(%^ej8-R3Daj{ zD@|PzkC`?Nw~vZL#F{@Fj=%Ke6bo-uo5Pk${G?rleAoCuDhKFsrf|X4u~<%N0%%GH zvRkeKHfw^{`AFBw#y_TCs63jnmw8~ydsqGD#*>ce+}pq{p~r>^Aip8*hFpkuJQeTA zWxQ0HOuVtDVWO<^FgMdZh3<^!kk6`Jg&qodsGCR(x;tlJ%z=coiQEkF(RRcfAR^fy zAukALO&n8eko>kR?pEod_aO^zLDbMEcpyppTQ||18&Z`OHKPI_&~4;HE~Zl8+=5&) z1r0@BhFv>Cp}7rtJ$bprh_(I~9?M%DiICEv)H8Y#d3W3lD$NXm=7Z#LB>+U+P+J*}Wn zJD&dyz@@auU&Vmd?O4NA7t%=VrXu+mf>e+KwUWLSlk5 zz}C|Yu$g6j9H9_bJ6gj(7oO@<2=xUiKfJ#&*APNxfYf!NDN?5+g@&LJ>+=MkbcCUY za2?l-fpHx{PW5~#pQCE3FxwJ~Av+mhb1s@4un#f@BvaqxGL9w-`r74k9*HNkaY-`f&1i4k=9xL@*PvqFKIA8Q4UkUdkTJg5E6mW?vc*mz|A$`pt z9w_Eth+5y4J_#nqe9{_{$rYkp^q%$;v5}|fv9^si-s&rY(Tm*<=T0> zHM=8wnz3fvNOlJ2a!=zh+$eWG_|0CYS7hq3wpX~>OQnbGGeCN>$Yu|+OOUP|p9Kqr zWh>WCu$KG@DQFt9n^yu#)?PDlm+M^V zC2yihqek*oZIDhEc@WKF=WRVxg;~UP-%U5IJC(JXg|K3KLw1)#NO6)OD<2IpvrqNz zvW!7bW1n?D8!6R)ZlP~-TfLf%q0(vTp@5RT%|SXXhJxAlEhwbT z9#EA@fTd=(L)`sxPqU-vIfU(w`4pHhtsQ6VCc%)iYcLf1s;AlF5~asu3DN1jZ!&4I zbhu_!Jd9WK@@|wwbZl438;3N#eoFgJHPJu!v342ERT`wO_K5^CRb5L$f!JE&-oX0%v$j3UFD^=&Drn_omjN0`D&U%-aIx14Fw}WIRA#pJNNcep- zKf)?(iAcc%vp7VE=#ZUf2+7Ke#)jRbhpp5)Y-yN~3uQxSs`aFhtlb}iZEl!%yFysD zx@Kh74S@Z0vt+~Gys7oTQrFelU_FkdR=fL{u8s(+dp!|`d)%MnwtF0oxH%^Y&$duC z{$99rzK(u1qdwybOULQLbrNUKxZ;Pl9fUn)0XHlc8?zD~TJId{qmuq4 zU_-jvqQ1*cJw|BRLzGU8M&S5nSK8+BYe}(a0N-4C_3KHt5Hn?%qxksZ-5Sak8&>wZpfX)BwSS=JOk) z>b{>a2Lx{JRE?wsM38p?Cz?gwA*9+jPFXC9mh4n8^Tuf(YiF@PW)WbmC)4^)Ecl+t zGu0}iVgwU{VO8JG2Em?(tY|%}q)ReJW9IBp$V&j#uJBHn6B=K;ssF5?ucve9Az36X zsdinQv39FZ4B5xR^(5GNJ<%lj44G;d&qhT|cte=@>5b|>au_lxfdeiBmL|FFQO2@s z%+XLc@e9Nt^g}5vegL@-i-x@G=E7bq$f2Mf2G|WVh`g;+ijXdVT1R3Av+ToeqEK~q zbySyZNlg-OLv|Rio&>%VTqPq}sg22KubG)R`6>t*=c8GXS~TyzAPUSe%~l<6@GfRY zz$R=!mrn(pK!S7-G`&Ycw;3P>D=iDmZg^dhP0Yfmvd>XzpE+4iukT%odhMiB9#!|} zk7~80+L`h5H+Uzvt?=5X{;Pai@6?oq(YvJ5A(aCR*zqkLG1|zV4T|QyuCl=+QX}$! z%ipq__e}%M=#1}amgA`Q3GLc-f55h*%=^8ay?@Ua{&`FvT}nsJ{0yv1aDtc(qoF0Ng=(x0M2 z*N@0&qC)`MlD5Sq|eFClp;HvS+^9W$kuJL(+B!06dLEc+&n1z)YV5 z7+)9X;YXD0s4Ift2Ibt$344RPVc!W`H0v?WVKMETPZ)E};U(+Rl$hRz6k5_wnR>xr3r2v6#s=gW|vf+cQ} z+snLqJrY?G^5#w=?sSl=>tY==;z&<*E%JESiFO&>8-NXVR))~r4Scbc#3KV~a;C24 z#Dy%{x&ch^LE_MLUCriemk)(V1 zsb;?#IcNG*Pt(u^_i`EvE3F#!o+vCeX%se*tUEd-IaY?_#?F3dSdmQfuyfw|zhTeJ zFlHWo$j(3Mhz0rD6L#`!hr1&%5x!=d3zHci2vbhU`FnRI7psS?NN^7dgr)okR>PCEkaz zrgYa14-Q!YaL7yDqmuu)+2dF)CKI-AHbmF`JhkKlM@4CE=!HPD=>d{bXUV~m>S1aH z;uzu8WnCePTe4zgd@3lLo$+pd?E7IS@G~o`VuE0S9>)|cv=G8*Is_-&(o}5K(KJ+e zt`{uCJX;Pz@b|qm;T_~ad+ao!{d6|E=Ixou_+R(VpZqI&>= zoa;u-#xbw?*~MWE;IsW~^LQu0)U|fnsZB{1csT*M_cYWw&#udp+N5;SK0C{d z*HM|>G^(yL{+QljcRUzEi5wN%F z%M8VOSNwU;cYW`@9A$FS(8q?qQF1t&f>vx2D=+2^K#Xy3D=zz*m5aZ}-7VoY%lGYZ za&1TDfJFS9<@ijBovvS3T|CmmL{-`uS*6buaj5=UDb~5Qlrudo%$8bg(F&aLtDPTl z9Hg5%>WLn?wG@c@Ci8h_)f$X1QLR`h;el3hNA z-kCT^@FO7eCAt#y0HiZ6fIE>JZ(D$aOQkOY2%R1cr& zSM}+6kMu-0lLU$8HKu&IiHijOMwu=y>g}|Q#QEpB5qSB+6h&L4c5b<8<|LsCv~ACK zHeg6vy|*)k74RQ6O=HFcFTb8n#(3QKyyyIvx}3XVRGnc?W3XQ9$;cC(A^&WKu!NK% z0jaIWh|P7zi77hk-m?prpZIfc-WhWC-paHM)=qm|%|*5p)sfiGu^u1bUh=NL}ar>~t;k*D)T3$JrCb)JE$f<|eM7yH*Y`F|q9EO!FB=Sha& zyo=(b$syX77|^sFmx~T2DwZv?c+zbRSH-;o328 zt{uPQ+Bq0;5|3EFIWNuKi7D-zcS!~-#O+cs)9M>)S4mbx0;NYJ z(33bXh&o3LZ&ku}!{p*!=YQ$0oKaDU>qxpk=B!>|W{r03scW~0vZs;H*NjE`WM}t? z)aCi{!~-ar9tk6Ml}s)>U(>huNV_9EnS#>#xmwoq8p zE{dt*y)KgJ5G3(=2*bfVRDLs0q>`*=FOr|#psJ%ah85qbBWav#<}#{0+3Fx>H&uY( zjhl6a54)pJJ7-JdDM_P!Cj%m+SWgh=*4MY`Io^Qf8umP?sYJp*QSA`z`rfB*(Wu2b zk%V=XMQDd(8KT=qv2)c7VKHITrv~cQkaE5W6?Jy@ z{D*KwUpq7WsFumo&WjxHrK8uAiqG3K_S(%=XSQa;?j>$ie531W$C4XCT(uFzRc9Cc zjq8kK~|p|@Lq%iX7vL0p^A|ZaQ7%l(VG%>C|*QWAn$s<0dje7fXnRF zD!-*2X@Qwex0pE>X(QO)D5^d@Hl*+IdRfjs4`>K2J}!f?T&|t65jzWV-we@{+Dx^4CeK(h&623>FS0UBD8$;p+9pG`UqW_rBbueP098ZWYDw3nMzVg2YmR6Po$d2= zL}0FKd*paSS4&W9cVAShUDv+Ulk%zNe2(|EfeaC(%&dm z^52+5eQ%U{Q4SVwg1YgZKF9(Sh->O6xiD(8#Z<`8D$A(uRX2r$eJqd(Da*##2L z2Z9xxh!s@&ohBgV9uiBvpCtf2oJ!-M;ffj*e?26gfXD^MmpaXD9#TBJc6-pH`t-Ai zIC-JnK4vhQ1oIGu?O(eNY!1uUh)Ut}Q8}%gzJ|~k>j?+l)2iuRD^^xK&l=o~3ZBNG z-;0q>+nSJ8^x7G3W3qp`fTeb(x2Hi0U4+n?x9bEB&QMG-z70%8JcTNye?9FeeC=jZ z*HhPK-1Ej~*E?ld?+%~d<5GPC7ILkbi`3pq5;IXX$$}?d=4Z&uOI9YVJjEfF_Yp2YqtfZ zN0)Mj{Cn5F(ynIuu3O#^+O+1b5}BG|ibiQ&Qgk8axn@O!E)og5Q?@WJ5|{UHiWv7f z-#DYo(nEHVGmcW;SBno#{c?wll0*MLS{~Db+w5A z(zsUakBZN)89CI`GLmMTm@!Iwh;&d-yE()b;sE5*H50qK1zy5yL>)7s0fyB~slhu(L!5(ez$~tY`Fwrh5 zG`ZD^C+VG#&Z=!@=;3J;Z{!S06R*?N2SM)67g;~ z_dEgLHe;IO z0CBqJv)!>o{F;AIBncIj7y}`1twYpm#AH1LP5UF)C^yLF6FWJ^^DVs8WjbKCG-)7~ zHX4TB&k|(bL`8NqPA`h-4ynd8M4*jbhejyG#zL&3yaleX35$SknzF!~ z6xbq+O=h9?AviD&aib+<`E3Z1Pd;ph`Tc=&re+aN_@ z4hyCd%@gRuq=fXP zxVlLW$yW#|ZLkq6lpXS%R6|(k6C}Xi%s_0OS`pq^>b-6mhLDV`dpq;fgl1%IHxy}| z@PX{(g4)T`9gR@)g$Z&k=G`*bcCHo`L;I%J`rX^zC$sb|1oq9QSFbO|;6CZ0om$Km zA@gvI-m$M4^~KQ0mK&$j70p30vwJ&xpw|;!*#*-&Vzf4KohYHVui4!R5SHp}5-xZT zc@7j?XAw6D{d14Y{>k-%3E4c$<~BQ1eu_v(yScV{@>c>^=V$oy89PM1$7Kp~AgxcQ zLC_dT8`~7dSPj!u@5&m|RIA)rNaX{`SN31h4YD9e$c05hno2-761|T0Ey1w!bt9U- zgmgyhx~`Z64cFC9GbmI$P!U#9+>obUF6$A=N`jH>!i9UBt4w;kDY*8Ar8Zs@mtL@U zmB*OMZ8FHaATUhSR=bpCo&e;SCsSk7+d7+_sS^RBX?07zW5Jra@ukN>P#jee)FBHB zM$=7o4b$RpqCnE>UKg+>Ac>dv30UoGt=O?Zv?E< z^;OvYhV*ui(E2@J?ZEA)-S>3OI0pAPneTg?JIRj9agNLm>ZMC&8&V0uYj*YHLHj^9 zqUGQtdR7}G^)#eqjprz)%KwJ#ve%F^O0~Nf9^|asT+_EMu<37eKLfOqra3(Ur4sam zO-?qftm{UJ)8dqRT7U-?ju~(XsF(mq)=U|jt_IgLo3Ik{N$Cw z%D6dXmX9I%-|LC8zt`n)HcV8zG~bW}DqE-ez6Ibgo&f_QMGe8uQqW}HAo;En+2@3C zp9(XCP#K>DlNK375VV#&!48^6w5w4A&UTpgJB`~(#pVQ*Oskc+*gf8@Qa5UM*qqYz zgxg@8JRS~)qgu1PYA1|#Ps1?xZYv`}!Z!Vy5mxsmDg{ol?L&rjr0TTLDv?@xdPr)e zwIo6r6o>8jSICTs8s*IrtN5l8c0vXf zL-u;=V!ZXf>j3MiYR?<-qo7z z^D7~JmhZn06OhKiVdY33)k8AchU}0Q8q*gG57Vh(!5HI*?A%L;J4z2(fdGUpo*1j0 zu#}|_E8ae&V$~4)_76icfJd{^?`y|+vpT34#n+A;wK^dc-q#aX$;3l!-qCxqFNiVI`O+7U3} z=-!yuuna{=2a-crWsQoTRbk(?Q!ClnVR1)Pj&)q`-Om$%A(}cQRh-tWI98Q0`6Wi}`)-h8apj7FPzYW;O)k;vG4>zpXE{C~1LEKra zJPilo*#7O1Vk98~fyw-BBahy8tKM;Y#)wz+W((R{acu9ffa-#Z%^hTSeMDnhe|-t- zTwj?ZM>Rc=%-N{c_mfKrnl}b+<4FpIgWeF;;`|d8hBst&a3Ob7c$mPZHw^30@sP^_ zk#l!LaMC8NrjKo+WK;KIJuaD+*P9u-OUgw%;n z#lcgMXfpk;8NTOE1a(_g9mxqA_z~gPY zio`U-dgqI;_kBTg2+^{h%H{-k`x^jH>=+7m(F$H~4#=o>je^c)-|lfw`%=0&ztJ$< zuBXMvhEyWmu$@sjQKRG}hK5{SUR0}L3SzEIYH_uX$cWl?mS?vPpz%GFZ;*ZcWL;sS z>s+1jhgih5+xgzw9dcnqe=V=Z(`_7mY|9icx6jnic(5hGZl0OQo ztDqeu2v`klNCIOd>GIKF$*-&Kq#hQR9@RFU>|AnTNOuoL6OX?UbT)L*K038AWzQl~ zasQg_!%!h5-)ooeRPZaTBMn2AWrQ>Z1Gx5Mdr{A`xVZE=&^2S&WUNAV8Yg65t%LkA zn73WyxpLiKIUh3T2X6!=-V+b3i|4jG zoHk^|Ll-63DZZ#=nok@Ns3-lX_7f0zyZ5C~-O90%lOoKvVUlwNK?ta2L{Jga*Y3*Q zLOSi*8`GlF5a6Czg_1>?;$CX2s8mL7BSUjSv%dkE8}pKHb* z+@*zKmGy-Kn6NYK z#FM*`ABaeIDQ9jfE{QbZF{(q#3Ed@8xnO6&@(>$j?de7AnlpiS8 zLaqG?UAHbYWHRRh0u|6C>3uVAM)ZH^_rLxAzkmNjH8a1fuEYcWBLMh2FXsRI<8S}> zf9&7?(|`FpIsNzF|84*OdkjyD?Hdl=tYq2BA%T{#+0{zhbDMwM9iocQZh}@B!NL%Pvq`XmGD6si0I!L(PI9GExtZQlzk=T!Dm%oQBfuR{C zeInZqJGO$^sWrR$RYZ=WrD+nl)rmsP*U8Ilv>Z{Glta=HG7SYGqHZ>oyWKqPa|$;~ zX2H7R%iL1A%NM)4cx|6}sGkNBz<)kvn_x)!z&d2OA(ie85G=gKlZv7)!o&FDish?nR(5e%)3FRJ9ZZW%uQxT zv?Iw;?WSVQR64g*qq$+imLXqXD_@yZr9~i)6~u>-B`QK*Nm}JHsn%Gd(&{R9av~F% zVRU(bEVl?#K*snXDY1|eGNw1Gg+F18VG}ikff5y7vry})TX;fx?zQu{M}_|*l5b3i z;NKW)h{B3POy<|Ds8>Ygw<5ZtJiA3{+KpS?`N;w)ta&@A45iL#I|;6}%YV@mWY#Jg zw~QW*65eg&#vf&~fQQE*q84HIw2?B%0ox)PwwD z=6nS-C%DTj>mb`_$KD$P=d>!@RE)|25l6joVK1m&`OfCJB*26zqE=zlrw<4Sx6Qm=}jR7y;y?{1onju61^%D|#$swyHOOG;jG4{+@|>v&4?RF}(z~Y*Y6cL{&=M(`1{JRo?C-e>PKc zNxLq^8iUfGWs)Y6T6G5e5XVXMgvp)*ZLSq~tSe^8EejR^T|lD0J5IdgL^_gTeF&v+ zqm({Q+&5 zAFwD|@KRDU&vf+FaS&4{3Y?iZ=d~o&8>GjzIpfc1SnU|@>xndbqkLB`qO$f6E4*7f zcI@@e`G{2^yNsp@cvp(Rc+w}cBx6&~G9lJgv4*L5@G!<@anhHbG2Hta#D2Q!8+)IdPN| zUAyXC6GyI~yPn)7-b5vFX774lvF66f#@aC(?YL=ii+@yNxA$|ZD!ya8^XvD1?oRsJ zF(gm%i(N&1sbVD+{GVx|?=L$8ykAy74R)GhFH~jOTWB$Y+iLu7sShzI(C@Qa*zvb85qc zRqV1QF5$b*|4}Wt4|)~3Jt3WPpKvd>&aAH4&kbSEGf6ZxyKQf}^i*?8T#dRJR)%uA z*%n(xui0CXUb-<8ZmdT><*UU)-+X#ebKy_^*fy+ zobz-%(vPL|nYI2#FvdHx+lpTCQQ4?t18LE-60P6Ly)+Z$ZcLDUf)8TU37}{u&*{jo z*j-oWoS333tA;S(jB*?ER$T$=v0~MDk2ie4=u>+$+q}yKFU;Yw{!Q?D+63RU3psQ1 zoS6|ybyx3inM5MR6MBxUKW$X(xFrj@+IdL)9D?O;LkJ8nKM;0C%0kTbE|$_`*7p>2 z$ootfacy;v%8{ot!7%W&7CPQdqOst3n=&LZc6}xFAR+;`nLTkcAI6g&m3jvA1=+6I zNlA>>jW@a9i2$`?#kN3h^sG@OW^E)0>$R;_Xp+?t^QGW<~zY&<-9mzx^&-Nx|#a=aI{5GiMOp6}UamSE5 zIU4eLWMOS@OL(pTpxJ4sslYj_!KDa^T>nH(?Q#BbryRlxxa@J|Afn0zX^{4QtS`<< zwY*Wf!X-sl<>{LgUtDfdAnoJY3G|%kT+rZ_d^HQ}tE_HRPA3<^sQ2Oy5c!;Y9&_i0 zSyo|g8}fIfq{Si$-ZFIJz2#Fe^8XWdFS)uVN0y%Z90g~fB!fv7+ZusdH2^_^8ifL+ zoIjxFUFP48H~|Pk0?F9xnEU4!bGy6$jjF&bq_8^^?`UY7m^Ew^7ZMGCM}0zN8UR3p#N(AVww^RNGL)#kWDCUi8s zqZ2f^M?D|DAeQmh+9|znEg@MX69ze9Ly(-r*iC#iOx0Q?u%-pmw@*C!Ml6u6%o;f! zk3)l`Y@RGEniSGQRmbzs3ReF>s!h;3t?{5Wxhh7ip3B$TdfDKE!C41_zc?%BmD_L84`J)Lf5`o_f9j;Y&ZU=-G7 z<2pkVhV*RCLkGtv(>p|a% zLpJltC(~?wGbQ>y$pRuy1es?f8+5Jun8nNp$;c(incftOB76D{6cp*vK z+Od5Ee6kTLgSb_3Apv`3NqkkQq^vy&*{{H8C(vszA^hSWJtk+NudY_YGFnrdv0?A~ z>_w%Jg<(R(ozP5OKAQJ735=ZMP}Em8b5wMr{R_Fpv(taH;EdgiP|>X#(HsTg@2Xhp zH{k=rcy~PJ!2m=LjyVbBCLN;L$H7UKVe@k^=dOjWqn?QNL z-_tOu(_;J=>yb!JyoS9+mr`hYnR7EX?dipo``nGv0iGFa1l*S9k_ld+Dn#t&EEv&| zvmOK_&PFAJPcK*lzfH1s0>=$=nU{7Q4MTrDk%Zs(#B~xtozlmkVuH5|Y};c-nlNUx zduL^AR8sb1GDi6so8qcR#aijO{h2vq*>tKic+0TRYL&%IozBw4*Z!m-PI?J4opKiH ziCL^hmv>G%@3{mJJ(T5Pcozce!~M>~?6dc+k`&_uYkf()>hX}R zv9m8Ow!T!MHtv`t9eV97@-R}QHLmyh)5)5JJ|H`y+PM*Srg~Q1B3_tT#9{4zbefcL z`;MkJtoxpgIk}%pF{_k#7Zcs66q%pq<2Kz0)Ht?O6?zY#>RdMLh^$$1 z$^NHTRbD^A~1478crJKRXZw*PWl|38YrXdjXBzQkJZ|&ES~YSQrkuxq7s<~%Eo#f(Pcw0^i#uh^*$$pw$MgH=mu@=?uHgbo$FhKWnLj{wEJ8k zwEZH2DHk`WT4$BTh}5dI<|1nIl_3I-$Js)agoaTXZiPcpF@EiR8duznV*%N{7f7@% zinU&u6$ty^*LE2RAdzvk#x&~nLtkfV*Nmb#ozMQ+-`P!lE6aUAMQH;%SNAOqFap^*I|Wyn282dJ)~4d|Ti5Ww=jhI|arC7l8N636<<9J#MC zcyCNDTs%OHdQ|-^WLT}%e`H$bbk~9w3!>E#_)#eAxAxFVw&8P{wUyp+cYTtG% zRd3J^U^TSSh?n+pC%Ks6wL3KhTTbre5KAel{jzq*+zfz_$obzEr{al-cs_aUrnt)z zAyolSnB3c7A!gg>s;K(f_2f(lGq_Vh6G>O;DLIqA>wCL{ipuETnA~b>x&2!Pc|=OH z4q**GnOEREn~e@!65JYaOiwGitI_9(mud&2*>xj;Fw|LyjLcn2wQujTBRwrYI5zQ) zW!4yESN702gr6lM;@*C%2I`lkqavbPCu`qJ3?Z%vcIHW=e!=t9c|R6ADzz~em0%{t zyv|xzZE7cSP*0_b>|(1~__CjNhvAIY+#>cHiy=(5*nmD?*YW~Y?p(9?!vxY-m6*2) z&T#{P5OOx5Vu8Y5A-%j%ttjMa6SbOWf+brBwrkmeXng!^b9=b@ zMHpr{=EF_x7mlH2#8zq6#7FvyJup+XjEhr@Kf5>i^ zVi@W0uN^x*f4$RmQ`z;Q{_fG-TJaO_NU&aGjxdFt$HXoX#KaK)&)1x;@)bkMm4C=< z=as;=>ZsQ4YR86b+ga&+&e2o=yFD<4-5fC&HB{g2Pf4p|M>_uwSKC(98jFf?H!esy z^&ykke+0@vHJv|V?b(q1=4#xZwKt?4sw38PQNCfTO$p0m4-rZ_DzT9k9U?%mc2?+w z6D$F{lhjX6MI~8sXOflGK0vx3va{7Iu=l-HMs(cDDn-QCyhGC=AHX-Wojig*ajgjB z#G@108xT?L3Cn-WrZEOA7P+2Dpx0_ILN$W2gHZ{9 zy+I0+n=PaWF%sN!gQO|W0y6L7dnYOvDvg6ZHhrg<<|{Hej8@kfxy~9mWOD)R4TPHI z?=&jdide`9Uu+E^%P)i!xIUV_@eIlFf9-a;HQ7?wa8v?CJ_jj}J){dFL%L>p?OeMl zY{+@7bR?<^z(AIOpB1vJrXl@yMD5uB)e_f^l513X1oJU?>;IwHCPW_PXz=Lg!N_2? zET{^*MYW<(K*8nxy>jIMRng;LG`l7r)<%x1{C54U5GrJ9?;*Fx8M2j1994%sb9Y-> zPjvB+RkN*c<8F2~c`|B(`u4awj2(|clR^OPdsuy&?j~A&*XWT{ zEObDD0KF_oG$d;;gh)Ha(2QMrSgHO|EkqNQYM4VX;(Dt6&1A_6G(rMX!`(tMk&h?H zls{-;=QpFMNKe|OhbOC-O*gZ1_Xaae*k1pCqxu;X?)UkRE~$mMgw+QkCQpqEMrayV zebSi$5+F^7;aa`qko*0w!d@)jYeoy+21^G&s=`-IkRr0db-i+Bh?DhwjxBSGC2!y) zHmFrmdis+CbR$T!>M5Q5P9nSM+_v&FQ)uSU-KnVjaB$30o_>r-M;9(@*-gu7USGeJ z3J9Ux(e}rde^5?sL=36;j!I^~&@Dnl5Z^ zYVFP|ryY~4>*yIr)@`S}ugxP$gT5`lNAOb{5~v$b7oqEz+c(~<)$S05Wy?f$`5GqG z!Zdd6erJb9WjEZyihSQ>1sqzDG2?n>)jwbbjrtW~ykm#xo>_<86=}QOPiQux9&6o( z@bqHu46zp!LN)m{t(&&R5b^Mc?u`h@MYp2K++J7Dstuc)-uc*0_Bm1H^|YKp1Nck= z&)~$8j!vrlf9T0l&{BuZ|DU;;Uc+{Yt&!ZL=MZVJEfcB}*09!lRFYD*7IFdfdYX`j zBqUniKKD+qSl{b?ZwqP1W{Z{4(Dv);er6>|pzTI(;7Mo5?gD6bZz|x89vBEw>}s2$x~kn|v5*qJ$bv~5Lu8p76=XG#N$`4V!fcp+7b7ZW zd7C$@<`9J!DLXbzWt-Cm6;NF}n$Tux$EIyrSP;xFNRi%|YLd`07DJRGpGP1wvRnYF z6aIN1Vo;+h)1)WzcESOT1-~D1{t?!K$H%T%G_@iXqRiJ;`@$LRddIC?&RyL zqpVWKpm5qOc{|c$a|b*`Jm6L(qR;N=R^+IANtq4t*ASM#r`7!OPpii&s3?C_-r-qKySs2b&Cg_SWRKlAmATy# zQvs)pB>3!=wIVw2dl)reiQMl84zJyEuVL2ls6?2WF=5r!%D(sO0ok$nTb^D88{X}V zPn;T%zy)=?XF@Yb0Fy9WREvGUy+aA9K+q5(`X0HazDdH6WmojGJN`rR*6UfQc0*@c zs2qtINr8f5XCz5$M^}!E6`KL#5XQ!(oKgo60xgz}hPrJGj`_-%!xFs#yN3nXZ-a$M zT{K^UFq>dR(jre1_B>%rwHqU7)K=cE6Kp3^-4*}VTYxcQbND?$}kf;9w7G$u%|D-W3s8nRr~VGD2%+k~}~iMpN^(b1F3 zm5rfxKYK+fHqv@;ponHp1?1R-oOS^0#h-v`4%TMx0)^abK3$NVt8mOTnwaT0EYG^c zOm78I+yxx}mQ>1C_oAYb%DJ{->mQVM9TDH~h~oSx7Rs&_D?Xn*Y$3t0IlH5pYIVP< zXwP*-81=OtUw+M2As+ObL5*k+NnDD`ME?01!3!^YswIgUB zB4F^^EpnhMq0Bgw+FosBNY?t0QYnp69Sj~@SK@fB9mjW3UhVSE`r8YbYvlq|hc(xj z?Q?@H5(IfYb+v8n-uxLg+kwJH z4AOd%7dD|r03T!nD~QB%AtgtBT(T`qa;xcC)*3@hmu6~1Tmr7=XU<@Hk6p`!-w8ICJFxtjj}cC^I-qyVF>v|Xo%7psSE3qY!l9?<_H65q zaKP=Y2~VN7exs82tzE|a)>6B@Q~;42x+CRlQa}2#`3u);caA`D;}>X4O^}PL3*RGNgi)A*+9k#?8#v7wz6sWpflEs$F~=!kBnS zM*k2ixG6V=(x6c#_}6ZC3kXT^*4O~e5=tQjRBr4mp-hy@k6rIXT;t4e9=lrfd#6+u zvoON7yBZZ#u0q^`7SWqbUT8di+7C=35eH!WkH@S*3ks|5rG4Prf3kcW1^NBCI7@Il z%2>KV(Qt`G{JS)Xp42hl9$$252zI-6iqTU0sCp}T?e3RJvVMe8LVnRE+A;pg4XUM$ z7LUlwNXG~$R%0H|upO2J!4SfIjUPr1>Muc)Kn=)g@7N|suh|ofPU~*qp?cyh!)LmQ zb61YLfw}rKo@Ei;iAaP@x)6RR1;u@L!Mt-rjBYw-Gw_OwoZm7??Ue4!seEavtHL~)o@{C{f&wJHzL8} zn8ozZ!Ly`SGPz|cg_9KKAH<5~ke*0V$d$ykw&Gr+5mLQ1A;6|B{o9fvh?Er-^Ca#j zNhyd*_68IxX^<(Y>~};qpfMS(T=^lrC=eoYAJ?Jbb?tzf`EG{PdH)y{SL>+MUN&7( z9xJeRu2bJZv#Oav^+kDbbx?IR`;act4VieyQ>pZZS+r%R(WG3$IOHs}W>t7In%w)= zd(YBdI|+c>sonpNYGL*^(Z(gfzF(K*z?qk24i#sj6V7`Rc zj0#BDa;N3*98KfWS+RBuMJ$FbZXK5F8&U*4Dq7MiM00u_@{FWmDFRTb$!oUlgDhdV zuBT?XQ9Vj)K4GUY=UN$l2pzhf1Ou)o9CZWeg^kw^o1OF~WNuLD?hVrcBu(|y6~pzU za(q%TY`3?KQxW>L<5R@?kg}0TcIAxz;FfOHL4T+E^aShi_J~y2ot6>HeuxSI{h;Y) zaej{1x z;?%iSW>t|@7^!NYf2+?F5l-OuAHw>^2auBA@tGLVTuG3p7vf<-jDA2ZqOKMNP!Jdo z(2ugeX0oq5-msK+R5JCxAF_>Nh5ma#gSU<>W}jnrcdmkp`Uf!Fj$O-4IgDk^@{Z6j z9nRPx!0(4xOs)cisBn3wA)kHT5%GO7DC$IY%S1%BNda(F#(V7`PdisdTu*n;7hmwk zPmuY~vm<;))k#rAi+-gCQ#l1zLMAozu$)A|{Vq~{KJ^kdi3f8D)dXucmWJeAT-U@- zYDsqEq#~+}`C-*0jcS)$B4oQwc6SEf$kni( zxdYohTS})}3u{LUH3EoZaY(=49CBDKbP)yjirV* zW?ga3ZX0$NxXxt`%sAQ78eCU4n~jo8I!^4IqhAEWY?_RX%lYiswb$uL90Q;8O@-tv*LSB3;bC%eoi znOA@790e`j3-j8U(;hM-JEWg2J{p>`b`pYT5Y+Cv>dDr>jA#)dL=?g6Xcvn^dhN*a z{oPY zs#x2oIF9Sd_3&FwhxL}=9$UDL--*<2mv2FmB2AcABYdKx%%w~XP7O)&7@sI^+{Gu3 zgXDplE|+YN&pK7Kc^_L5&Yh~&yInKSmuBshPtz5pNxWJ&fDnjt4G`ow`M2;&&Dx9w zoKVd*hxiHav_h5*n=TqQx*^r|+e_?S@@>#waAh^^N5MnnuKQdkbsLZ&#*A@>U{{c4 z1sDO%#eZPFt;rH~0ecAwi3?=MspP_w23Ki@h{Hnq*h`{37SN2Ju}z|Lj|E`gjw>xC zN>O)~>?S!@yiI5h!y)uZ^;=tJEH+XrFMgb|W zv*}Dy4>{ed9S>3@9i~1u*02nF4<#x|oFPW?dSb}D@AU}6dKcHd@Aa$D8@T8uNoKQM zml+~6e9|1>EU2J!)@uq(nx`9KwWCQ*FJ!FYh~Vg?D~;5{H!Y~Dc$@)QzJ5!5)fJG1 zx6sHco)Vy3yT=)oz`wkwc6)*@q#W6R9=#3NgWc9LqV5ibNr4=dQtP7<9lHUzppdPO zHC~cVJE5=p+HAAqvnwo0s`>^P}Ug zojBf_Ibhe!1;raCC4VMaiC+ePU9E(u&P!9R-EL?el97gnPCuh1D%>_~soC0L?)9`= z2DP&SHzcms_dP{Sx5O&}i)fKwES3$u$$f{+CDIF5Sh|(d$C-OQxo!E56wmp#MI7J` zf#lS^w0!lv_ysQpykdYX_Vjpk24Y|6Rm zRS*=9hEV_~d!&Eb0>kdTo}|&QhRB&G(_YE3&WC(g=86AYy%TJK_mg)x;dtNqyV!@3 z%x^+R%_Uo;5GC>S=3^=}hU^`$kdmmANtto|TqI0}^GVA6GC9NpdaW0lZo)@nK%WL- zv>fKHQ@vX+$^7+H8QHb-u-4ky+%tCc70=C}JDObK^Pp=bc$!l9^9Hx=d)nJ&i}i?Y{*jZ*&anCa zD5g==$wN=y)879eXcqyF<&x_dqGIQ6j7gf1NzyI@2Z`gFe_^qat#04 zbqlfH@jc8J@dzqH#nd3L95&Z9u7}VqJLaeujMfoGK2>a#+uelzk!!n3ifGa$5b}I0 ziHccw*gX~lNI;@dA7uagewXS)<}6_n7{jB!xvKN_A##Sc4T8665{PpDM&wMNc?cpg z#Oy$Ve@AqFCPamw{Z~gz1hpuTT-QFAL!73D5p)fzjBdZ=0a^Sx;bi)*M{BcbFk%_UM9E#S7t<#S(Y`z8DS`}C?wGPW+8M1VG>r|jN zq&)Z5i7z<46}B57Q5B&J;32M~CD{TBgx0h8*D(r=f4QDqb7`kS9KKOaEDg!9)K0K_ z!YgbSG{U-3wsxLZUr+PZhb&PaO;Mejotd{Pu%);4)2Pi(?(RYcq$ zm8}>R0e_>aItF52R;yR3wWE74*m1$I^--wj1Q>{S3%;&j)J zD7xu6cWoZ_T{$QkLUNi5M$a{YaeS+vC=t+f9>MnR2ZP|FJQVVvjQ|W(n&-%Yn7z^ROZ+$Pcj5Z7-mV zz=;Rtw(T9PC`VKjbIVli<~u-w5X}VA-NR$Cy@eOXX02T;_RWs*8$cn%<78)Vsa-QG zeM_zku0hEv?fkTIxvv1x=p*q|e0mk6!2Npq*RsYgdPokvE$Brh(Ud|LO^(b>aMUh+ zm~SzRnHnPZf2<=e)lyQdi_)}pX@P5pv+sLm*(jMei^wz=hO3_FvXy7F0EH}TmvYb2 zh0#ed25V(*83fODf+4FLf;d03PhpPgnmM;k2CzjD#aa?B;ACbw__I#K7AgOSs>Xiv zV9gexfq1UzI`W7@iz%?x3t?}R3;)8zVVWJwYpx7LHC`2nS$30|;>TYR-8`l^Ob+CJ zy>EV1j8O!;aC56Eb$^J$-|e0?pLv6-HtjcAVoMMR9>v9lGO@@>lc5fHkbY4A@UEWU__ zXL27?Lz4u9^!9Q+Qxw;%yXbF_gy+r8&o`agk_5Ox+P9My>MJrGFjKbDO^zYoIf%h_ zSn7QT0dlvVAuI5X=J!QmX{O3B>#@E0mcJU3bFpRW_v44W(`ucn!x<#LFd{MhhwK>G z-MzD<=Ur#LQL0eBZE;usnAbjCGj+;w4z^sxtpnu~Z9#s~hNLj|?u2GZ&oY9rsx|dB@W@~#ssF)MUaq{OSG7< z-Is$Ak0)u>eVmdcps(F(!)xcJ?Qy0BUPcAx*x%X-m!0foG9Qa^=ub)BEBwA^L)~QA z7(@o&o}bZfRCkNIh+X>&h~#mm;`&XG{dOl|PyK9q*;;ko^B4g?zY&$`yd^Ii@vLDR zbe&6lV+&SdmR-$6Pd^JlX!Le!570%$u8PX8+)Y^)z@1-+LV*d|?1YJeuq}BBtKx*U z>$j<97tR0P_nuPbZ6wb(277K)<$azp!31tG|Kx93l`aPm9x70@^dG&#z!|Lae=$ZF zXEs3wId2BCYCs6J`c#P;i>+~j@SQ6fE>4FOz}^8>+`XP4?_4J;+M7|GY*`d+$l}(W z+Ph_gW_M~rsy=+}ifgqtORhD{J^CC_NO=R_^N-oLi8YYw0N;${5W@~N(a{L)yiv{-MRQM4rS*!%>PI~D z8ZD3?@Nyh=U75^?+`T)hy`mKrF|cnfjt`ibbt^6uT127BSqI?NvcFx1b zuVJo1AJzTVRr#4ubQ*&<&L9E-Z!W4!a7WlG-s}CICWG|+%f2^mL9=(sZ|#cAuCIIO zAnPa5646~dO|!gf8@=kPj_*DqbU8NW@yTed2seSKTi?)Af3{SwdC z%KP_+R7n?Nhn)p9e&ZUyuB(0kdr;45jp!bl>mmgEB1AmuzV9@jK!>dgwXV7%H!33D zbVG{NY3CL}n*jMNby&HIK@0f+_OMmRx9L0-vL=LS_w)c~^p;Mxe{t6&`hxf9geN{M zD=mcoUBIG#<|qF6#HHa z42ZJ^w7?-tc%raOXU7!NOM`_u6&sUFbZ^GrYZnZ%qv3TOAM)n%jB6)eaif&@du$-j zv!29-8fDD$0#U{JlHFldw>Bs>$d3^@4TqHQ8EdLr*qVz#^x$I{tK-g9w$Nk*;U7-B>8^ZC*xtNUA8rFDQ1jA(B*E^_0Z=qKalfe^m()HO$OPa`rmDJOs?t zJM0YO`=xkD_Zx;()|Jv>vziPV4D_i~rE#ZtB|sh(uVg(5B)16Kt@=m1rRQUfijAHj zj5Chvp4dU9GVavgE_C)ig5s>XhBr$%+hJ-4vP5B2_t*gBa}e*f)_tyvFYD?;qB#Yh zS5>MhnmvgUjSlZP!am2++XkoT#YoSC;GI9DOmN>X#c{JEkrMB)NAtTgmbui|7Fim} zcN(`ow=w4~Sc<(ruOB+{*5p?+>NBoHxnfx2L*nmjE9WaNBb*YmeewI<5y#|q>Js}% z=$>!F9xm$W!RR3@W(w6E4XGw(h-$eZN_~E8ouk1#k7k!^^s_SQwStgiiCrS<)`>&c zu_Bz$C2kX6-}{Az`~IXm8bxzoyRHnaog&m5)2`{%Q*r6qi6z{c5HNQ%TF=ZxR9wRZ znI#upT2JEnx57SiW8#XR@qubD3e|3PqS}!$9qhdNnY}SoZfb~p%^RoxyuL8^t@*+y zi2SVCea=0Q+b5B$TTDlfrJ}1YSo~OW*=-?fh9oaHfN^u;wsSpEngh8lhwRlORJ73v zj0?s=zUv>!gH4!+l@&Dsu_J|uE!D8=I<64dDcG8VGXevK2?=@pY((sY6Pv5?AI%C( z&@jd~IoJQ5fyUG@Hy8PXRyUvZF`FsmtV_r&h>+P7Gg;Uy*k>62JHuvo6GoLh%=}4x zuJ3vCSx6S;wcD>0qar@BPgJXm4Z-cE$LLv!Z^*L*KzS~8&SOqyK@vL2uP@H$`f~sEoC^Bz7@womNw24LEZ)p@ zdd=pugk+qh3M-Sh z1%}3V84zWlM)Q;xtn+->k{^&n=#bvU=ySqPkEVkAhMBiF1KZAY)$)uH(YT|-OHG+E zvU1%P;rJ}%%`Q&5u2>2u$qcypMT7?%!q-hdY?j#c$i$iI2Cyq!Ff#QdlE=1A-1bis zKQzXv9RKmj%~crH*JOWRQ(fG!bCf24vyPrxjImCV35(tk+`x#(_?>5&Q=SE>hioZR zu*`;=+v*+bdp{Ev5xFb06>{NZaUT0~#dG~s? zV`iLH@kcwyF5I&dE0XfV9E!63bC;Wo6+W)!+0Df6D%MIq(pSrLhE&cs4Yo&ohwS*H zA--Gpumv${*NGgmTEmdLhh5)EN(dpfQ&hWU#lzgCr{;`mg<2t3I}h2tcL6Gw zhr+lKqf+hgsLG|)&NOdG>Y7fCm*#p)MT&Hf53;)n^;7|J7bx$w%^|lcEo|yIs7Fjj zlpW)53UGfqdd?6);m1x|JlCmitU%!$}K;i zG;D_kcCQ_UOte8NKUq(!c-51j;LjM?Eyh(%#4{AHTq4A9*UnX^))GQNe`DX{(J-b^ zvW)KJ4X>vaCk)v$n`l_7pBiTqwV&L@d!{|}VY>&(LQRbea;GkHDc}5HLc43{7w-CA z)rV8P4oDW}kdnH!tMF~(M75W)!jh0tF??dOkhxlrQz#+NgwJ4_gblk^djhytZvM_{ z`Q!O~hn6K?0g*59uypkk4(@}J$Gzgx!c>#n2uglWbWuLHDtk*k!I{Bn~AmT zt&RKKgiaVgbImT*31H%Ce)y2im)!CMkSPf&7`d#vR5t9 zFl`?LbsigKjJg!JNy?xEH5Qpr=%sR?KtQq~C zks4Fks2PSZDUJG)5ZHTT5H?qbjj6W?JVXW309^2O#d>e^SZI06b-s)g0K<20j)Az` zaL89Up0_*m7`D1OR6N}F1w!fTh~nLI=Id#{ZWX3D;(e~TY>3@&Sqh;&?YI{R0RG|A z;ev73Ilni}n@USJT7fz|^|e3%EBykI(d6_*B;pc_4QWa6)jY=#n|MdPr@~s^%4v37 ztSP&M*&X!Rz3ReZ1IWsn8AS^>9n$ORAzdPSUG0iU*rd(cjiVv?X4m)hi4AK~uN`Y( zeTg%*PQG`OLAB?VAsm-cN%UoKFpejCTOf~MGZo|y=~{ea;!(%H*6@rii0azMzXF793~YrHQSEi2 zA?fgtGuuXUY+%V&y&2WrnuXl&*3`SCSM3B?;xI_@_EvLuD3X7P7~z|C6jm+Vu*FtF ziid@`CP2$UR9SZ#A=#eSm%6v>OWLH7Mzv#wYL9`hr`d93wM5;_*L|k5+h7uA)i zLnw&WfNUu$aDDB4wlG&VTTjOP67>+J1Fcl9L!l!`k-eI+vX`;mkM1nOmE}J@&Z606 z|D@gNY<5r4v$ONxc_`vpZVi=iVH2D!)&Q{X9a=O!M%DK^zjM`K24qkZ7jdWW$+3^- z>ckt@|H`J&)A|WZtAv44JiHiHt#?-$N>PpzMn0e8$l&J(YP6L0+r6abTIGXo|#FV&->@C?1640I6sjShvDDs z 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%0D8bGnWEX=&1U%Q%cSAF* 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

tnorth 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

%hSe#a|9It3t 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 Iuh0Fz09WF-JOBUy literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/archive/pdf/images/findbarButton-next.svg b/app/assets/javascripts/archive/pdf/images/findbarButton-next.svg new file mode 100644 index 0000000..a81eb02 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/findbarButton-next.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/findbarButton-previous.svg b/app/assets/javascripts/archive/pdf/images/findbarButton-previous.svg new file mode 100644 index 0000000..5fd7032 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/findbarButton-previous.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/loading-dark.svg b/app/assets/javascripts/archive/pdf/images/loading-dark.svg new file mode 100644 index 0000000..fa5269b --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/loading-dark.svg @@ -0,0 +1,24 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/loading.svg b/app/assets/javascripts/archive/pdf/images/loading.svg new file mode 100644 index 0000000..0a15ff6 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/loading.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-documentProperties.svg b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-documentProperties.svg new file mode 100644 index 0000000..6bd55cd --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-documentProperties.svg @@ -0,0 +1,15 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-firstPage.svg b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-firstPage.svg new file mode 100644 index 0000000..2fa0fa6 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-firstPage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-handTool.svg b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-handTool.svg new file mode 100644 index 0000000..3d038fa --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-handTool.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-lastPage.svg b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-lastPage.svg new file mode 100644 index 0000000..53fa9a6 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-lastPage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-rotateCcw.svg b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-rotateCcw.svg new file mode 100644 index 0000000..c71ea8e --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-rotateCcw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-rotateCw.svg b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-rotateCw.svg new file mode 100644 index 0000000..e1e19e7 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-rotateCw.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-scrollHorizontal.svg b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-scrollHorizontal.svg new file mode 100644 index 0000000..8693eec --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-scrollHorizontal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-scrollPage.svg b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-scrollPage.svg new file mode 100644 index 0000000..bea2f0d --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-scrollPage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-scrollVertical.svg b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-scrollVertical.svg new file mode 100644 index 0000000..ee1cf22 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-scrollVertical.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-scrollWrapped.svg b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-scrollWrapped.svg new file mode 100644 index 0000000..804e746 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-scrollWrapped.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-selectTool.svg b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-selectTool.svg new file mode 100644 index 0000000..43e9789 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-selectTool.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-spreadEven.svg b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-spreadEven.svg new file mode 100644 index 0000000..ddec5e6 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-spreadEven.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-spreadNone.svg b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-spreadNone.svg new file mode 100644 index 0000000..63318c5 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-spreadNone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-spreadOdd.svg b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-spreadOdd.svg new file mode 100644 index 0000000..29909e9 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/secondaryToolbarButton-spreadOdd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/shadow.png b/app/assets/javascripts/archive/pdf/images/shadow.png index 31d3bdb14f1d67953d18dc04e73db834aaa200f2..a00061ac7e12e1f24f955351c732f5884ed94e6d 100644 GIT binary patch delta 252 zcmV9gdhw>%VR~e{|(I^6eb#K zF2`c#W2Q+X6gl=5s{PW^11sTqSReklftJ63-M}?~J17OfF5V=zggG#eSjMJ?@wKL~ zjI1)``lck139c}Ol;H~R0yB)y^@3U{$i0py536%r1!gEb!F80D5xa`}WC!RK$W}Y& z1>l71;qu;Qwv9}7DY|>(0jPeLv5%Mo2({lZ#^?5c0-^$t8Gi%-007uo{zm`+0O?6YK~#8NU5|@u#4rp5*Qe&y{{OFDFYgX3 zBSJGQ0eghJO?vQB5WxlKnj)Jv z5J5y*Qphu-)NT+tS#s#@MOU5~X0HxcC@XRx?dX=XMhLZ*G|wMM8?5<hz|2DeuCn-zRG&B9W4;S(3XI?wf;`PEy|= YWOatv5#0Ns01E&B07*qoM6N<$f*L)3YybcN diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-bookmark.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-bookmark.svg new file mode 100644 index 0000000..79d39b0 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-bookmark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-currentOutlineItem.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-currentOutlineItem.svg new file mode 100644 index 0000000..c1c72b2 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-currentOutlineItem.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-download.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-download.svg new file mode 100644 index 0000000..2cdb5db --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-download.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-menuArrow.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-menuArrow.svg new file mode 100644 index 0000000..46e41e1 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-menuArrow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-openFile.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-openFile.svg new file mode 100644 index 0000000..cb35980 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-openFile.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-pageDown.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-pageDown.svg new file mode 100644 index 0000000..c5d8b0f --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-pageDown.svg @@ -0,0 +1,7 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-pageUp.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-pageUp.svg new file mode 100644 index 0000000..aa0160a --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-pageUp.svg @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-presentationMode.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-presentationMode.svg new file mode 100644 index 0000000..3f1f832 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-presentationMode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-print.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-print.svg new file mode 100644 index 0000000..d521c9a --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-print.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-search.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-search.svg new file mode 100644 index 0000000..28b7774 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-search.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-secondaryToolbarToggle.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-secondaryToolbarToggle.svg new file mode 100644 index 0000000..dbef238 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-secondaryToolbarToggle.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-sidebarToggle.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-sidebarToggle.svg new file mode 100644 index 0000000..691c41c --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-sidebarToggle.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-viewAttachments.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-viewAttachments.svg new file mode 100644 index 0000000..e914ec0 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-viewAttachments.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-viewLayers.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-viewLayers.svg new file mode 100644 index 0000000..e8687b7 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-viewLayers.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-viewOutline.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-viewOutline.svg new file mode 100644 index 0000000..030c28d --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-viewOutline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-viewThumbnail.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-viewThumbnail.svg new file mode 100644 index 0000000..b997ec4 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-viewThumbnail.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-zoomIn.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-zoomIn.svg new file mode 100644 index 0000000..480d2ce --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-zoomIn.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/toolbarButton-zoomOut.svg b/app/assets/javascripts/archive/pdf/images/toolbarButton-zoomOut.svg new file mode 100644 index 0000000..527f521 --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/toolbarButton-zoomOut.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/treeitem-collapsed.svg b/app/assets/javascripts/archive/pdf/images/treeitem-collapsed.svg new file mode 100644 index 0000000..831cddf --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/treeitem-collapsed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/images/treeitem-expanded.svg b/app/assets/javascripts/archive/pdf/images/treeitem-expanded.svg new file mode 100644 index 0000000..2d45f0c --- /dev/null +++ b/app/assets/javascripts/archive/pdf/images/treeitem-expanded.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/pdf.js b/app/assets/javascripts/archive/pdf/pdf.js index be924f0..d33f3c8 100644 --- a/app/assets/javascripts/archive/pdf/pdf.js +++ b/app/assets/javascripts/archive/pdf/pdf.js @@ -2,7 +2,7 @@ * @licstart The following is the entire license notice for the * Javascript code in this page * - * Copyright 2020 Mozilla Foundation + * Copyright 2022 Mozilla Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,247 +30,113 @@ else root["pdfjs-dist/build/pdf"] = root.pdfjsLib = factory(); })(this, function() { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __w_pdfjs_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __w_pdfjs_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __w_pdfjs_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __w_pdfjs_require__.d = function(exports, name, getter) { -/******/ if(!__w_pdfjs_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __w_pdfjs_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __w_pdfjs_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __w_pdfjs_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __w_pdfjs_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __w_pdfjs_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __w_pdfjs_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __w_pdfjs_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __w_pdfjs_require__(__w_pdfjs_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -var pdfjsVersion = '2.4.456'; -var pdfjsBuild = '228a591c'; - -var pdfjsSharedUtil = __w_pdfjs_require__(1); - -var pdfjsDisplayAPI = __w_pdfjs_require__(190); - -var pdfjsDisplayTextLayer = __w_pdfjs_require__(205); - -var pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(206); - -var pdfjsDisplayDisplayUtils = __w_pdfjs_require__(194); - -var pdfjsDisplaySVG = __w_pdfjs_require__(207); - -var pdfjsDisplayWorkerOptions = __w_pdfjs_require__(199); - -var pdfjsDisplayAPICompatibility = __w_pdfjs_require__(196); - -{ - var _require = __w_pdfjs_require__(48), - isNodeJS = _require.isNodeJS; - - if (isNodeJS) { - var PDFNodeStream = __w_pdfjs_require__(208).PDFNodeStream; - - pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) { - return new PDFNodeStream(params); - }); - } else { - var PDFNetworkStream = __w_pdfjs_require__(211).PDFNetworkStream; - - var PDFFetchStream; - - if (pdfjsDisplayDisplayUtils.isFetchSupported()) { - PDFFetchStream = __w_pdfjs_require__(212).PDFFetchStream; - } - - pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) { - if (PDFFetchStream && pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)) { - return new PDFFetchStream(params); - } - - return new PDFNetworkStream(params); - }); - } -} -exports.build = pdfjsDisplayAPI.build; -exports.version = pdfjsDisplayAPI.version; -exports.getDocument = pdfjsDisplayAPI.getDocument; -exports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort; -exports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport; -exports.PDFWorker = pdfjsDisplayAPI.PDFWorker; -exports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer; -exports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer; -exports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability; -exports.PasswordResponses = pdfjsSharedUtil.PasswordResponses; -exports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException; -exports.MissingPDFException = pdfjsSharedUtil.MissingPDFException; -exports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics; -exports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding; -exports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType; -exports.PermissionFlag = pdfjsSharedUtil.PermissionFlag; -exports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException; -exports.OPS = pdfjsSharedUtil.OPS; -exports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel; -exports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES; -exports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl; -exports.createObjectURL = pdfjsSharedUtil.createObjectURL; -exports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters; -exports.shadow = pdfjsSharedUtil.shadow; -exports.Util = pdfjsSharedUtil.Util; -exports.RenderingCancelledException = pdfjsDisplayDisplayUtils.RenderingCancelledException; -exports.getFilenameFromUrl = pdfjsDisplayDisplayUtils.getFilenameFromUrl; -exports.LinkTarget = pdfjsDisplayDisplayUtils.LinkTarget; -exports.addLinkAttributes = pdfjsDisplayDisplayUtils.addLinkAttributes; -exports.loadScript = pdfjsDisplayDisplayUtils.loadScript; -exports.PDFDateString = pdfjsDisplayDisplayUtils.PDFDateString; -exports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions; -exports.apiCompatibilityParams = pdfjsDisplayAPICompatibility.apiCompatibilityParams; - -/***/ }), +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ([ +/* 0 */, /* 1 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +Object.defineProperty(exports, "__esModule", ({ value: true -}); +})); +exports.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.IsLittleEndianCached = exports.IsEvalSupportedCached = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FontType = 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.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0; exports.arrayByteLength = arrayByteLength; exports.arraysToBytes = arraysToBytes; exports.assert = assert; exports.bytesToString = bytesToString; exports.createPromiseCapability = createPromiseCapability; +exports.createValidAbsoluteUrl = createValidAbsoluteUrl; +exports.escapeString = escapeString; +exports.getModificationDate = getModificationDate; exports.getVerbosityLevel = getVerbosityLevel; exports.info = info; exports.isArrayBuffer = isArrayBuffer; exports.isArrayEqual = isArrayEqual; -exports.isBool = isBool; -exports.isEmptyObj = isEmptyObj; -exports.isNum = isNum; -exports.isString = isString; +exports.isAscii = isAscii; exports.isSameOrigin = isSameOrigin; -exports.createValidAbsoluteUrl = createValidAbsoluteUrl; -exports.removeNullCharacters = removeNullCharacters; +exports.objectFromMap = objectFromMap; +exports.objectSize = objectSize; exports.setVerbosityLevel = setVerbosityLevel; exports.shadow = shadow; exports.string32 = string32; exports.stringToBytes = stringToBytes; exports.stringToPDFString = stringToPDFString; +exports.stringToUTF16BEString = stringToUTF16BEString; exports.stringToUTF8String = stringToUTF8String; +exports.unreachable = unreachable; exports.utf8StringToString = utf8StringToString; exports.warn = warn; -exports.unreachable = unreachable; -exports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0; __w_pdfjs_require__(2); +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0]; exports.IDENTITY_MATRIX = IDENTITY_MATRIX; var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0]; exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX; -var NativeImageDecoding = { - NONE: "none", - DECODE: "decode", - DISPLAY: "display" +var RenderingIntentFlag = { + ANY: 0x01, + DISPLAY: 0x02, + PRINT: 0x04, + ANNOTATIONS_FORMS: 0x10, + ANNOTATIONS_STORAGE: 0x20, + ANNOTATIONS_DISABLE: 0x40, + OPLIST: 0x100 }; -exports.NativeImageDecoding = NativeImageDecoding; +exports.RenderingIntentFlag = RenderingIntentFlag; +var AnnotationMode = { + DISABLE: 0, + ENABLE: 1, + ENABLE_FORMS: 2, + ENABLE_STORAGE: 3 +}; +exports.AnnotationMode = AnnotationMode; var PermissionFlag = { PRINT: 0x04, MODIFY_CONTENTS: 0x08, @@ -396,6 +262,36 @@ var AnnotationBorderStyleType = { UNDERLINE: 5 }; exports.AnnotationBorderStyleType = AnnotationBorderStyleType; +var AnnotationActionEventType = { + E: "Mouse Enter", + X: "Mouse Exit", + D: "Mouse Down", + U: "Mouse Up", + Fo: "Focus", + Bl: "Blur", + PO: "PageOpen", + PC: "PageClose", + PV: "PageVisible", + PI: "PageInvisible", + K: "Keystroke", + F: "Format", + V: "Validate", + C: "Calculate" +}; +exports.AnnotationActionEventType = AnnotationActionEventType; +var DocumentActionEventType = { + WC: "WillClose", + WS: "WillSave", + DS: "DidSave", + WP: "WillPrint", + DP: "DidPrint" +}; +exports.DocumentActionEventType = DocumentActionEventType; +var PageActionEventType = { + O: "PageOpen", + C: "PageClose" +}; +exports.PageActionEventType = PageActionEventType; var StreamType = { UNKNOWN: "UNKNOWN", FLATE: "FLATE", @@ -412,6 +308,7 @@ exports.StreamType = StreamType; var FontType = { UNKNOWN: "UNKNOWN", TYPE1: "TYPE1", + TYPE1STANDARD: "TYPE1STANDARD", TYPE1C: "TYPE1C", CIDFONTTYPE0: "CIDFONTTYPE0", CIDFONTTYPE0C: "CIDFONTTYPE0C", @@ -533,9 +430,25 @@ var UNSUPPORTED_FEATURES = { unknown: "unknown", forms: "forms", javaScript: "javaScript", + signatures: "signatures", smask: "smask", shadingPattern: "shadingPattern", - font: "font" + font: "font", + errorTilingPattern: "errorTilingPattern", + errorExtGState: "errorExtGState", + errorXObject: "errorXObject", + errorFontLoadType3: "errorFontLoadType3", + errorFontState: "errorFontState", + errorFontMissing: "errorFontMissing", + errorFontTranslate: "errorFontTranslate", + errorColorSpace: "errorColorSpace", + errorOperatorList: "errorOperatorList", + errorFontToUnicode: "errorFontToUnicode", + errorFontLoadNative: "errorFontLoadNative", + errorFontBuildPath: "errorFontBuildPath", + errorFontGetPath: "errorFontGetPath", + errorMarkedContent: "errorMarkedContent", + errorContentSubStream: "errorContentSubStream" }; exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES; var PasswordResponses = { @@ -612,12 +525,31 @@ function _isValidProtocol(url) { } } -function createValidAbsoluteUrl(url, baseUrl) { +function createValidAbsoluteUrl(url) { + var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + if (!url) { return null; } try { + if (options && typeof url === "string") { + if (options.addDefaultProtocol && url.startsWith("www.")) { + var dots = url.match(/\./g); + + if (dots && dots.length >= 2) { + url = "http://".concat(url); + } + } + + if (options.tryConvertEncoding) { + try { + url = stringToUTF8String(url); + } catch (ex) {} + } + } + var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url); if (_isValidProtocol(absoluteUrl)) { @@ -639,13 +571,13 @@ function shadow(obj, prop, value) { } var BaseException = function BaseExceptionClosure() { - function BaseException(message) { + function BaseException(message, name) { if (this.constructor === BaseException) { unreachable("Cannot initialize BaseException."); } this.message = message; - this.name = this.constructor.name; + this.name = name; } BaseException.prototype = new Error(); @@ -658,17 +590,19 @@ exports.BaseException = BaseException; var PasswordException = /*#__PURE__*/function (_BaseException) { _inherits(PasswordException, _BaseException); + var _super = _createSuper(PasswordException); + function PasswordException(msg, code) { var _this; _classCallCheck(this, PasswordException); - _this = _possibleConstructorReturn(this, _getPrototypeOf(PasswordException).call(this, msg)); + _this = _super.call(this, msg, "PasswordException"); _this.code = code; return _this; } - return PasswordException; + return _createClass(PasswordException); }(BaseException); exports.PasswordException = PasswordException; @@ -676,17 +610,19 @@ exports.PasswordException = PasswordException; var UnknownErrorException = /*#__PURE__*/function (_BaseException2) { _inherits(UnknownErrorException, _BaseException2); + var _super2 = _createSuper(UnknownErrorException); + function UnknownErrorException(msg, details) { var _this2; _classCallCheck(this, UnknownErrorException); - _this2 = _possibleConstructorReturn(this, _getPrototypeOf(UnknownErrorException).call(this, msg)); + _this2 = _super2.call(this, msg, "UnknownErrorException"); _this2.details = details; return _this2; } - return UnknownErrorException; + return _createClass(UnknownErrorException); }(BaseException); exports.UnknownErrorException = UnknownErrorException; @@ -694,13 +630,15 @@ exports.UnknownErrorException = UnknownErrorException; var InvalidPDFException = /*#__PURE__*/function (_BaseException3) { _inherits(InvalidPDFException, _BaseException3); - function InvalidPDFException() { + var _super3 = _createSuper(InvalidPDFException); + + function InvalidPDFException(msg) { _classCallCheck(this, InvalidPDFException); - return _possibleConstructorReturn(this, _getPrototypeOf(InvalidPDFException).apply(this, arguments)); + return _super3.call(this, msg, "InvalidPDFException"); } - return InvalidPDFException; + return _createClass(InvalidPDFException); }(BaseException); exports.InvalidPDFException = InvalidPDFException; @@ -708,13 +646,15 @@ exports.InvalidPDFException = InvalidPDFException; var MissingPDFException = /*#__PURE__*/function (_BaseException4) { _inherits(MissingPDFException, _BaseException4); - function MissingPDFException() { + var _super4 = _createSuper(MissingPDFException); + + function MissingPDFException(msg) { _classCallCheck(this, MissingPDFException); - return _possibleConstructorReturn(this, _getPrototypeOf(MissingPDFException).apply(this, arguments)); + return _super4.call(this, msg, "MissingPDFException"); } - return MissingPDFException; + return _createClass(MissingPDFException); }(BaseException); exports.MissingPDFException = MissingPDFException; @@ -722,17 +662,19 @@ exports.MissingPDFException = MissingPDFException; var UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) { _inherits(UnexpectedResponseException, _BaseException5); + var _super5 = _createSuper(UnexpectedResponseException); + function UnexpectedResponseException(msg, status) { var _this3; _classCallCheck(this, UnexpectedResponseException); - _this3 = _possibleConstructorReturn(this, _getPrototypeOf(UnexpectedResponseException).call(this, msg)); + _this3 = _super5.call(this, msg, "UnexpectedResponseException"); _this3.status = status; return _this3; } - return UnexpectedResponseException; + return _createClass(UnexpectedResponseException); }(BaseException); exports.UnexpectedResponseException = UnexpectedResponseException; @@ -740,13 +682,15 @@ exports.UnexpectedResponseException = UnexpectedResponseException; var FormatError = /*#__PURE__*/function (_BaseException6) { _inherits(FormatError, _BaseException6); - function FormatError() { + var _super6 = _createSuper(FormatError); + + function FormatError(msg) { _classCallCheck(this, FormatError); - return _possibleConstructorReturn(this, _getPrototypeOf(FormatError).apply(this, arguments)); + return _super6.call(this, msg, "FormatError"); } - return FormatError; + return _createClass(FormatError); }(BaseException); exports.FormatError = FormatError; @@ -754,29 +698,24 @@ exports.FormatError = FormatError; var AbortException = /*#__PURE__*/function (_BaseException7) { _inherits(AbortException, _BaseException7); - function AbortException() { + var _super7 = _createSuper(AbortException); + + function AbortException(msg) { _classCallCheck(this, AbortException); - return _possibleConstructorReturn(this, _getPrototypeOf(AbortException).apply(this, arguments)); + return _super7.call(this, msg, "AbortException"); } - return AbortException; + return _createClass(AbortException); }(BaseException); exports.AbortException = AbortException; -var NullCharactersRegExp = /\x00/g; - -function removeNullCharacters(str) { - if (typeof str !== "string") { - warn("The argument for removeNullCharacters must be a string."); - return str; - } - - return str.replace(NullCharactersRegExp, ""); -} function bytesToString(bytes) { - assert(bytes !== null && _typeof(bytes) === "object" && bytes.length !== undefined, "Invalid argument for bytesToString"); + if (_typeof(bytes) !== "object" || bytes === null || bytes.length === undefined) { + unreachable("Invalid argument for bytesToString"); + } + var length = bytes.length; var MAX_ARGUMENT_COUNT = 8192; @@ -796,7 +735,10 @@ function bytesToString(bytes) { } function stringToBytes(str) { - assert(typeof str === "string", "Invalid argument for stringToBytes"); + if (typeof str !== "string") { + unreachable("Invalid argument for stringToBytes"); + } + var length = str.length; var bytes = new Uint8Array(length); @@ -812,8 +754,11 @@ function arrayByteLength(arr) { return arr.length; } - assert(arr.byteLength !== undefined); - return arr.byteLength; + if (arr.byteLength !== undefined) { + return arr.byteLength; + } + + unreachable("Invalid argument for arrayByteLength"); } function arraysToBytes(arr) { @@ -855,6 +800,33 @@ function string32(value) { return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff); } +function objectSize(obj) { + return Object.keys(obj).length; +} + +function objectFromMap(map) { + var obj = Object.create(null); + + var _iterator = _createForOfIteratorHelper(map), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _step$value = _slicedToArray(_step.value, 2), + key = _step$value[0], + value = _step$value[1]; + + obj[key] = value; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return obj; +} + function isLittleEndian() { var buffer8 = new Uint8Array(4); buffer8[0] = 1; @@ -886,7 +858,10 @@ var IsEvalSupportedCached = { }; exports.IsEvalSupportedCached = IsEvalSupportedCached; -var rgbBuf = ["rgb(", 0, ",", 0, ",", 0, ")"]; + +var hexNumbers = _toConsumableArray(Array(256).keys()).map(function (n) { + return n.toString(16).padStart(2, "0"); +}); var Util = /*#__PURE__*/function () { function Util() { @@ -894,12 +869,9 @@ var Util = /*#__PURE__*/function () { } _createClass(Util, null, [{ - key: "makeCssRgb", - value: function makeCssRgb(r, g, b) { - rgbBuf[1] = r; - rgbBuf[3] = g; - rgbBuf[5] = b; - return rgbBuf.join(""); + key: "makeHexColor", + value: function makeHexColor(r, g, b) { + return "#".concat(hexNumbers[r]).concat(hexNumbers[g]).concat(hexNumbers[b]); } }, { key: "transform", @@ -950,7 +922,7 @@ var Util = /*#__PURE__*/function () { var c = m[2] * transpose[0] + m[3] * transpose[2]; var d = m[2] * transpose[1] + m[3] * transpose[3]; var first = (a + d) / 2; - var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2; + var second = Math.sqrt(Math.pow(a + d, 2) - 4 * (a * d - c * b)) / 2; var sx = first + second || 1; var sy = first - second || 1; return [Math.sqrt(sx), Math.sqrt(sy)]; @@ -1001,36 +973,147 @@ var Util = /*#__PURE__*/function () { return result; } + }, { + key: "bezierBoundingBox", + value: function bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) { + var tvalues = [], + bounds = [[], []]; + var a, b, c, t, t1, t2, b2ac, sqrtb2ac; + + for (var i = 0; i < 2; ++i) { + if (i === 0) { + b = 6 * x0 - 12 * x1 + 6 * x2; + a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3; + c = 3 * x1 - 3 * x0; + } else { + b = 6 * y0 - 12 * y1 + 6 * y2; + a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3; + c = 3 * y1 - 3 * y0; + } + + if (Math.abs(a) < 1e-12) { + if (Math.abs(b) < 1e-12) { + continue; + } + + t = -c / b; + + if (0 < t && t < 1) { + tvalues.push(t); + } + + continue; + } + + b2ac = b * b - 4 * c * a; + sqrtb2ac = Math.sqrt(b2ac); + + if (b2ac < 0) { + continue; + } + + t1 = (-b + sqrtb2ac) / (2 * a); + + if (0 < t1 && t1 < 1) { + tvalues.push(t1); + } + + t2 = (-b - sqrtb2ac) / (2 * a); + + if (0 < t2 && t2 < 1) { + tvalues.push(t2); + } + } + + var j = tvalues.length, + mt; + var jlen = j; + + while (j--) { + t = tvalues[j]; + mt = 1 - t; + bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3; + bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3; + } + + bounds[0][jlen] = x0; + bounds[1][jlen] = y0; + bounds[0][jlen + 1] = x3; + bounds[1][jlen + 1] = y3; + bounds[0].length = bounds[1].length = jlen + 2; + return [Math.min.apply(Math, _toConsumableArray(bounds[0])), Math.min.apply(Math, _toConsumableArray(bounds[1])), Math.max.apply(Math, _toConsumableArray(bounds[0])), Math.max.apply(Math, _toConsumableArray(bounds[1]))]; + } }]); return Util; }(); exports.Util = Util; -var 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]; +var 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]; function stringToPDFString(str) { - var length = str.length, - strBuf = []; + if (str[0] >= "\xEF") { + var encoding; - if (str[0] === "\xFE" && str[1] === "\xFF") { - for (var i = 2; i < length; i += 2) { - strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1))); + if (str[0] === "\xFE" && str[1] === "\xFF") { + encoding = "utf-16be"; + } else if (str[0] === "\xFF" && str[1] === "\xFE") { + encoding = "utf-16le"; + } else if (str[0] === "\xEF" && str[1] === "\xBB" && str[2] === "\xBF") { + encoding = "utf-8"; } - } else if (str[0] === "\xFF" && str[1] === "\xFE") { - for (var _i2 = 2; _i2 < length; _i2 += 2) { - strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2))); - } - } else { - for (var _i3 = 0; _i3 < length; ++_i3) { - var code = PDFStringTranslateTable[str.charCodeAt(_i3)]; - strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3)); + + if (encoding) { + try { + var decoder = new TextDecoder(encoding, { + fatal: true + }); + var buffer = stringToBytes(str); + return decoder.decode(buffer); + } catch (ex) { + warn("stringToPDFString: \"".concat(ex, "\".")); + } } } + var strBuf = []; + + for (var i = 0, ii = str.length; i < ii; i++) { + var code = PDFStringTranslateTable[str.charCodeAt(i)]; + strBuf.push(code ? String.fromCharCode(code) : str.charAt(i)); + } + return strBuf.join(""); } +function escapeString(str) { + return str.replace(/([()\\\n\r])/g, function (match) { + if (match === "\n") { + return "\\n"; + } else if (match === "\r") { + return "\\r"; + } + + return "\\".concat(match); + }); +} + +function isAscii(str) { + return /^[\x00-\x7F]*$/.test(str); +} + +function stringToUTF16BEString(str) { + var buf = ["\xFE\xFF"]; + + for (var i = 0, ii = str.length; i < ii; i++) { + var _char = str.charCodeAt(i); + + buf.push(String.fromCharCode(_char >> 8 & 0xff), String.fromCharCode(_char & 0xff)); + } + + return buf.join(""); +} + function stringToUTF8String(str) { return decodeURIComponent(escape(str)); } @@ -1039,26 +1122,6 @@ function utf8StringToString(str) { return unescape(encodeURIComponent(str)); } -function isEmptyObj(obj) { - for (var key in obj) { - return false; - } - - return true; -} - -function isBool(v) { - return typeof v === "boolean"; -} - -function isNum(v) { - return typeof v === "number"; -} - -function isString(v) { - return typeof v === "string"; -} - function isArrayBuffer(v) { return _typeof(v) === "object" && v !== null && v.byteLength !== undefined; } @@ -1068,9 +1131,19 @@ function isArrayEqual(arr1, arr2) { return false; } - return arr1.every(function (element, index) { - return element === arr2[index]; - }); + for (var i = 0, ii = arr1.length; i < ii; i++) { + if (arr1[i] !== arr2[i]) { + return false; + } + } + + return true; +} + +function getModificationDate() { + var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(); + var 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")]; + return buffer.join(""); } function createPromiseCapability() { @@ -1095,62 +1168,20 @@ function createPromiseCapability() { return capability; } -var createObjectURL = function createObjectURLClosure() { - var digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; - return function createObjectURL(data, contentType) { - var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - - if (!forceDataSchema && URL.createObjectURL) { - var blob = new Blob([data], { - type: contentType - }); - return URL.createObjectURL(blob); - } - - var buffer = "data:".concat(contentType, ";base64,"); - - for (var i = 0, ii = data.length; i < ii; i += 3) { - var b1 = data[i] & 0xff; - var b2 = data[i + 1] & 0xff; - var b3 = data[i + 2] & 0xff; - var d1 = b1 >> 2, - d2 = (b1 & 3) << 4 | b2 >> 4; - var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64; - var d4 = i + 2 < ii ? b3 & 0x3f : 64; - buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4]; - } - - return buffer; - }; -}(); - -exports.createObjectURL = createObjectURL; - /***/ }), /* 2 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { "use strict"; -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -if (typeof globalThis === "undefined" || !globalThis._pdfjsCompatibilityChecked) { - if (typeof globalThis === "undefined" || globalThis.Math !== Math) { - globalThis = __w_pdfjs_require__(3); - } +var _is_node = __w_pdfjs_require__(3); +if (!globalThis._pdfjsCompatibilityChecked) { globalThis._pdfjsCompatibilityChecked = true; - var _require = __w_pdfjs_require__(48), - isNodeJS = _require.isNodeJS; - - var hasDOM = (typeof window === "undefined" ? "undefined" : _typeof(window)) === "object" && (typeof document === "undefined" ? "undefined" : _typeof(document)) === "object"; - var userAgent = typeof navigator !== "undefined" && navigator.userAgent || ""; - var isIE = /Trident/.test(userAgent); - (function checkNodeBtoa() { - if (globalThis.btoa || !isNodeJS) { + if (globalThis.btoa || !_is_node.isNodeJS) { return; } @@ -1160,7 +1191,7 @@ if (typeof globalThis === "undefined" || !globalThis._pdfjsCompatibilityChecked) })(); (function checkNodeAtob() { - if (globalThis.atob || !isNodeJS) { + if (globalThis.atob || !_is_node.isNodeJS) { return; } @@ -1169,308 +1200,137 @@ if (typeof globalThis === "undefined" || !globalThis._pdfjsCompatibilityChecked) }; })(); - (function checkChildNodeRemove() { - if (!hasDOM) { + (function checkDOMMatrix() { + if (globalThis.DOMMatrix || !_is_node.isNodeJS) { return; } - if (typeof Element.prototype.remove !== "undefined") { - return; - } - - Element.prototype.remove = function () { - if (this.parentNode) { - this.parentNode.removeChild(this); - } - }; - })(); - - (function checkDOMTokenListAddRemove() { - if (!hasDOM || isNodeJS) { - return; - } - - var div = document.createElement("div"); - div.classList.add("testOne", "testTwo"); - - if (div.classList.contains("testOne") === true && div.classList.contains("testTwo") === true) { - return; - } - - var OriginalDOMTokenListAdd = DOMTokenList.prototype.add; - var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove; - - DOMTokenList.prototype.add = function () { - for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) { - tokens[_key] = arguments[_key]; - } - - for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) { - var token = _tokens[_i]; - OriginalDOMTokenListAdd.call(this, token); - } - }; - - DOMTokenList.prototype.remove = function () { - for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - tokens[_key2] = arguments[_key2]; - } - - for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) { - var token = _tokens2[_i2]; - OriginalDOMTokenListRemove.call(this, token); - } - }; - })(); - - (function checkDOMTokenListToggle() { - if (!hasDOM || isNodeJS) { - return; - } - - var div = document.createElement("div"); - - if (div.classList.toggle("test", 0) === false) { - return; - } - - DOMTokenList.prototype.toggle = function (token) { - var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token); - return this[force ? "add" : "remove"](token), force; - }; - })(); - - (function checkWindowHistoryPushStateReplaceState() { - if (!hasDOM || !isIE) { - return; - } - - var OriginalPushState = window.history.pushState; - var OriginalReplaceState = window.history.replaceState; - - window.history.pushState = function (state, title, url) { - var args = url === undefined ? [state, title] : [state, title, url]; - OriginalPushState.apply(this, args); - }; - - window.history.replaceState = function (state, title, url) { - var args = url === undefined ? [state, title] : [state, title, url]; - OriginalReplaceState.apply(this, args); - }; - })(); - - (function checkStringStartsWith() { - if (String.prototype.startsWith) { - return; - } - - __w_pdfjs_require__(49); - })(); - - (function checkStringEndsWith() { - if (String.prototype.endsWith) { - return; - } - - __w_pdfjs_require__(60); - })(); - - (function checkStringIncludes() { - if (String.prototype.includes) { - return; - } - - __w_pdfjs_require__(62); - })(); - - (function checkArrayIncludes() { - if (Array.prototype.includes) { - return; - } - - __w_pdfjs_require__(64); - })(); - - (function checkArrayFrom() { - if (Array.from) { - return; - } - - __w_pdfjs_require__(72); - })(); - - (function checkObjectAssign() { - if (Object.assign) { - return; - } - - __w_pdfjs_require__(94); - })(); - - (function checkMathLog2() { - if (Math.log2) { - return; - } - - Math.log2 = __w_pdfjs_require__(97); - })(); - - (function checkNumberIsNaN() { - if (Number.isNaN) { - return; - } - - Number.isNaN = __w_pdfjs_require__(99); - })(); - - (function checkNumberIsInteger() { - if (Number.isInteger) { - return; - } - - Number.isInteger = __w_pdfjs_require__(101); + globalThis.DOMMatrix = require("dommatrix/dist/dommatrix.js"); })(); (function checkPromise() { - if (globalThis.Promise && globalThis.Promise.allSettled) { + if (globalThis.Promise.allSettled) { return; } - globalThis.Promise = __w_pdfjs_require__(104); - })(); - - (function checkURL() { - globalThis.URL = __w_pdfjs_require__(128); + globalThis.Promise = __w_pdfjs_require__(4); })(); (function checkReadableStream() { - var isReadableStreamSupported = false; - - if (typeof ReadableStream !== "undefined") { - try { - new ReadableStream({ - start: function start(controller) { - controller.close(); - } - }); - isReadableStreamSupported = true; - } catch (e) {} - } - - if (isReadableStreamSupported) { + if (globalThis.ReadableStream || !_is_node.isNodeJS) { return; } - globalThis.ReadableStream = __w_pdfjs_require__(135).ReadableStream; + globalThis.ReadableStream = require("web-streams-polyfill/dist/ponyfill.js").ReadableStream; })(); - (function checkMapEntries() { - if (globalThis.Map && globalThis.Map.prototype.entries) { + (function checkStructuredClone() { + if (globalThis.structuredClone) { return; } - globalThis.Map = __w_pdfjs_require__(136); - })(); - - (function checkSetEntries() { - if (globalThis.Set && globalThis.Set.prototype.entries) { - return; - } - - globalThis.Set = __w_pdfjs_require__(143); - })(); - - (function checkWeakMap() { - if (globalThis.WeakMap) { - return; - } - - globalThis.WeakMap = __w_pdfjs_require__(145); - })(); - - (function checkWeakSet() { - if (globalThis.WeakSet) { - return; - } - - globalThis.WeakSet = __w_pdfjs_require__(151); - })(); - - (function checkStringCodePointAt() { - if (String.prototype.codePointAt) { - return; - } - - __w_pdfjs_require__(153); - })(); - - (function checkStringFromCodePoint() { - if (String.fromCodePoint) { - return; - } - - String.fromCodePoint = __w_pdfjs_require__(155); - })(); - - (function checkSymbol() { - if (globalThis.Symbol) { - return; - } - - __w_pdfjs_require__(157); - })(); - - (function checkStringPadStart() { - if (String.prototype.padStart) { - return; - } - - __w_pdfjs_require__(180); - })(); - - (function checkStringPadEnd() { - if (String.prototype.padEnd) { - return; - } - - __w_pdfjs_require__(185); - })(); - - (function checkObjectValues() { - if (Object.values) { - return; - } - - Object.values = __w_pdfjs_require__(187); + __w_pdfjs_require__(128); })(); } /***/ }), /* 3 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/***/ ((__unused_webpack_module, exports) => { -__w_pdfjs_require__(4); -module.exports = __w_pdfjs_require__(6); +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.isNodeJS = void 0; + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +var isNodeJS = (typeof process === "undefined" ? "undefined" : _typeof(process)) === "object" && process + "" === "[object process]" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== "browser"); +exports.isNodeJS = isNodeJS; /***/ }), /* 4 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var $ = __w_pdfjs_require__(5); -var global = __w_pdfjs_require__(6); -$({ global: true }, { globalThis: global }); +__w_pdfjs_require__(5); +__w_pdfjs_require__(90); +__w_pdfjs_require__(96); +__w_pdfjs_require__(98); +__w_pdfjs_require__(122); +__w_pdfjs_require__(123); +__w_pdfjs_require__(124); +__w_pdfjs_require__(125); +var path = __w_pdfjs_require__(127); +module.exports = path.Promise; /***/ }), /* 5 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { -var global = __w_pdfjs_require__(6); -var getOwnPropertyDescriptor = __w_pdfjs_require__(7).f; -var createNonEnumerableProperty = __w_pdfjs_require__(21); -var redefine = __w_pdfjs_require__(24); -var setGlobal = __w_pdfjs_require__(25); -var copyConstructorProperties = __w_pdfjs_require__(35); -var isForced = __w_pdfjs_require__(47); +"use strict"; + +var $ = __w_pdfjs_require__(6); +var global = __w_pdfjs_require__(7); +var isPrototypeOf = __w_pdfjs_require__(26); +var getPrototypeOf = __w_pdfjs_require__(68); +var setPrototypeOf = __w_pdfjs_require__(70); +var copyConstructorProperties = __w_pdfjs_require__(56); +var create = __w_pdfjs_require__(72); +var createNonEnumerableProperty = __w_pdfjs_require__(45); +var createPropertyDescriptor = __w_pdfjs_require__(14); +var clearErrorStack = __w_pdfjs_require__(76); +var installErrorCause = __w_pdfjs_require__(77); +var iterate = __w_pdfjs_require__(78); +var normalizeStringArgument = __w_pdfjs_require__(87); +var wellKnownSymbol = __w_pdfjs_require__(35); +var ERROR_STACK_INSTALLABLE = __w_pdfjs_require__(89); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var Error = global.Error; +var push = [].push; +var $AggregateError = function AggregateError(errors, message) { + var options = arguments.length > 2 ? arguments[2] : undefined; + var isInstance = isPrototypeOf(AggregateErrorPrototype, this); + var that; + if (setPrototypeOf) { + that = setPrototypeOf(new Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype); + } else { + that = isInstance ? this : create(AggregateErrorPrototype); + createNonEnumerableProperty(that, TO_STRING_TAG, 'Error'); + } + if (message !== undefined) + createNonEnumerableProperty(that, 'message', normalizeStringArgument(message)); + if (ERROR_STACK_INSTALLABLE) + createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1)); + installErrorCause(that, options); + var errorsArray = []; + iterate(errors, push, { that: errorsArray }); + createNonEnumerableProperty(that, 'errors', errorsArray); + return that; +}; +if (setPrototypeOf) + setPrototypeOf($AggregateError, Error); +else + copyConstructorProperties($AggregateError, Error, { name: true }); +var AggregateErrorPrototype = $AggregateError.prototype = create(Error.prototype, { + constructor: createPropertyDescriptor(1, $AggregateError), + message: createPropertyDescriptor(1, ''), + name: createPropertyDescriptor(1, 'AggregateError') +}); +$({ global: true }, { AggregateError: $AggregateError }); + +/***/ }), +/* 6 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var getOwnPropertyDescriptor = (__w_pdfjs_require__(8).f); +var createNonEnumerableProperty = __w_pdfjs_require__(45); +var redefine = __w_pdfjs_require__(49); +var setGlobal = __w_pdfjs_require__(39); +var copyConstructorProperties = __w_pdfjs_require__(56); +var isForced = __w_pdfjs_require__(67); module.exports = function (options, source) { var TARGET = options.target; var GLOBAL = options.global; @@ -1493,7 +1353,7 @@ module.exports = function (options, source) { targetProperty = target[key]; FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); if (!FORCED && targetProperty !== undefined) { - if (typeof sourceProperty === typeof targetProperty) + if (typeof sourceProperty == typeof targetProperty) continue; copyConstructorProperties(sourceProperty, targetProperty); } @@ -1505,43 +1365,46 @@ module.exports = function (options, source) { }; /***/ }), -/* 6 */ -/***/ (function(module, exports) { +/* 7 */ +/***/ ((module) => { var check = function (it) { return it && it.Math == Math && it; }; -module.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || Function('return this')(); - -/***/ }), -/* 7 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var DESCRIPTORS = __w_pdfjs_require__(8); -var propertyIsEnumerableModule = __w_pdfjs_require__(10); -var createPropertyDescriptor = __w_pdfjs_require__(11); -var toIndexedObject = __w_pdfjs_require__(12); -var toPrimitive = __w_pdfjs_require__(16); -var has = __w_pdfjs_require__(18); -var IE8_DOM_DEFINE = __w_pdfjs_require__(19); -var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; -exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { - O = toIndexedObject(O); - P = toPrimitive(P, true); - if (IE8_DOM_DEFINE) - try { - return nativeGetOwnPropertyDescriptor(O, P); - } catch (error) { - } - if (has(O, P)) - return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); -}; +module.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || (function () { + return this; +}()) || Function('return this')(); /***/ }), /* 8 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { -var fails = __w_pdfjs_require__(9); +var DESCRIPTORS = __w_pdfjs_require__(9); +var call = __w_pdfjs_require__(11); +var propertyIsEnumerableModule = __w_pdfjs_require__(13); +var createPropertyDescriptor = __w_pdfjs_require__(14); +var toIndexedObject = __w_pdfjs_require__(15); +var toPropertyKey = __w_pdfjs_require__(20); +var hasOwn = __w_pdfjs_require__(40); +var IE8_DOM_DEFINE = __w_pdfjs_require__(43); +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) + try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { + } + if (hasOwn(O, P)) + return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + +/***/ }), +/* 9 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(10); module.exports = !fails(function () { return Object.defineProperty({}, 1, { get: function () { @@ -1551,8 +1414,8 @@ module.exports = !fails(function () { }); /***/ }), -/* 9 */ -/***/ (function(module, exports) { +/* 10 */ +/***/ ((module) => { module.exports = function (exec) { try { @@ -1563,22 +1426,43 @@ module.exports = function (exec) { }; /***/ }), -/* 10 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 11 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var NATIVE_BIND = __w_pdfjs_require__(12); +var call = Function.prototype.call; +module.exports = NATIVE_BIND ? call.bind(call) : function () { + return call.apply(call, arguments); +}; + +/***/ }), +/* 12 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(10); +module.exports = !fails(function () { + var test = function () { + }.bind(); + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + +/***/ }), +/* 13 */ +/***/ ((__unused_webpack_module, exports) => { "use strict"; -var nativePropertyIsEnumerable = {}.propertyIsEnumerable; +var $propertyIsEnumerable = {}.propertyIsEnumerable; var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; -var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { var descriptor = getOwnPropertyDescriptor(this, V); return !!descriptor && descriptor.enumerable; -} : nativePropertyIsEnumerable; +} : $propertyIsEnumerable; /***/ }), -/* 11 */ -/***/ (function(module, exports) { +/* 14 */ +/***/ ((module) => { module.exports = function (bitmap, value) { return { @@ -1590,41 +1474,65 @@ module.exports = function (bitmap, value) { }; /***/ }), -/* 12 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 15 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var IndexedObject = __w_pdfjs_require__(13); -var requireObjectCoercible = __w_pdfjs_require__(15); +var IndexedObject = __w_pdfjs_require__(16); +var requireObjectCoercible = __w_pdfjs_require__(19); module.exports = function (it) { return IndexedObject(requireObjectCoercible(it)); }; /***/ }), -/* 13 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 16 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var fails = __w_pdfjs_require__(9); -var classof = __w_pdfjs_require__(14); -var split = ''.split; +var global = __w_pdfjs_require__(7); +var uncurryThis = __w_pdfjs_require__(17); +var fails = __w_pdfjs_require__(10); +var classof = __w_pdfjs_require__(18); +var Object = global.Object; +var split = uncurryThis(''.split); module.exports = fails(function () { return !Object('z').propertyIsEnumerable(0); }) ? function (it) { - return classof(it) == 'String' ? split.call(it, '') : Object(it); + return classof(it) == 'String' ? split(it, '') : Object(it); } : Object; /***/ }), -/* 14 */ -/***/ (function(module, exports) { +/* 17 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var toString = {}.toString; -module.exports = function (it) { - return toString.call(it).slice(8, -1); +var NATIVE_BIND = __w_pdfjs_require__(12); +var FunctionPrototype = Function.prototype; +var bind = FunctionPrototype.bind; +var call = FunctionPrototype.call; +var uncurryThis = NATIVE_BIND && bind.bind(call, call); +module.exports = NATIVE_BIND ? function (fn) { + return fn && uncurryThis(fn); +} : function (fn) { + return fn && function () { + return call.apply(fn, arguments); + }; }; /***/ }), -/* 15 */ -/***/ (function(module, exports) { +/* 18 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { +var uncurryThis = __w_pdfjs_require__(17); +var toString = uncurryThis({}.toString); +var stringSlice = uncurryThis(''.slice); +module.exports = function (it) { + return stringSlice(toString(it), 8, -1); +}; + +/***/ }), +/* 19 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var TypeError = global.TypeError; module.exports = function (it) { if (it == undefined) throw TypeError("Can't call method on " + it); @@ -1632,47 +1540,329 @@ module.exports = function (it) { }; /***/ }), -/* 16 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 20 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var isObject = __w_pdfjs_require__(17); -module.exports = function (input, PREFERRED_STRING) { - if (!isObject(input)) +var toPrimitive = __w_pdfjs_require__(21); +var isSymbol = __w_pdfjs_require__(24); +module.exports = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : key + ''; +}; + +/***/ }), +/* 21 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var call = __w_pdfjs_require__(11); +var isObject = __w_pdfjs_require__(22); +var isSymbol = __w_pdfjs_require__(24); +var getMethod = __w_pdfjs_require__(31); +var ordinaryToPrimitive = __w_pdfjs_require__(34); +var wellKnownSymbol = __w_pdfjs_require__(35); +var TypeError = global.TypeError; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +module.exports = function (input, pref) { + if (!isObject(input) || isSymbol(input)) return input; + var exoticToPrim = getMethod(input, TO_PRIMITIVE); + var result; + if (exoticToPrim) { + if (pref === undefined) + pref = 'default'; + result = call(exoticToPrim, input, pref); + if (!isObject(result) || isSymbol(result)) + return result; + throw TypeError("Can't convert object to primitive value"); + } + if (pref === undefined) + pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + +/***/ }), +/* 22 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var isCallable = __w_pdfjs_require__(23); +module.exports = function (it) { + return typeof it == 'object' ? it !== null : isCallable(it); +}; + +/***/ }), +/* 23 */ +/***/ ((module) => { + +module.exports = function (argument) { + return typeof argument == 'function'; +}; + +/***/ }), +/* 24 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var getBuiltIn = __w_pdfjs_require__(25); +var isCallable = __w_pdfjs_require__(23); +var isPrototypeOf = __w_pdfjs_require__(26); +var USE_SYMBOL_AS_UID = __w_pdfjs_require__(27); +var Object = global.Object; +module.exports = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + var $Symbol = getBuiltIn('Symbol'); + return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it)); +}; + +/***/ }), +/* 25 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var isCallable = __w_pdfjs_require__(23); +var aFunction = function (argument) { + return isCallable(argument) ? argument : undefined; +}; +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method]; +}; + +/***/ }), +/* 26 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +module.exports = uncurryThis({}.isPrototypeOf); + +/***/ }), +/* 27 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var NATIVE_SYMBOL = __w_pdfjs_require__(28); +module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol'; + +/***/ }), +/* 28 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var V8_VERSION = __w_pdfjs_require__(29); +var fails = __w_pdfjs_require__(10); +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol(); + return !String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + +/***/ }), +/* 29 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var userAgent = __w_pdfjs_require__(30); +var process = global.process; +var Deno = global.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; +if (v8) { + match = v8.split('.'); + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) + version = +match[1]; + } +} +module.exports = version; + +/***/ }), +/* 30 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var getBuiltIn = __w_pdfjs_require__(25); +module.exports = getBuiltIn('navigator', 'userAgent') || ''; + +/***/ }), +/* 31 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var aCallable = __w_pdfjs_require__(32); +module.exports = function (V, P) { + var func = V[P]; + return func == null ? undefined : aCallable(func); +}; + +/***/ }), +/* 32 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var isCallable = __w_pdfjs_require__(23); +var tryToString = __w_pdfjs_require__(33); +var TypeError = global.TypeError; +module.exports = function (argument) { + if (isCallable(argument)) + return argument; + throw TypeError(tryToString(argument) + ' is not a function'); +}; + +/***/ }), +/* 33 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var String = global.String; +module.exports = function (argument) { + try { + return String(argument); + } catch (error) { + return 'Object'; + } +}; + +/***/ }), +/* 34 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var call = __w_pdfjs_require__(11); +var isCallable = __w_pdfjs_require__(23); +var isObject = __w_pdfjs_require__(22); +var TypeError = global.TypeError; +module.exports = function (input, pref) { var fn, val; - if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; - if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; - if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; throw TypeError("Can't convert object to primitive value"); }; /***/ }), -/* 17 */ -/***/ (function(module, exports) { +/* 35 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -module.exports = function (it) { - return typeof it === 'object' ? it !== null : typeof it === 'function'; +var global = __w_pdfjs_require__(7); +var shared = __w_pdfjs_require__(36); +var hasOwn = __w_pdfjs_require__(40); +var uid = __w_pdfjs_require__(42); +var NATIVE_SYMBOL = __w_pdfjs_require__(28); +var USE_SYMBOL_AS_UID = __w_pdfjs_require__(27); +var WellKnownSymbolsStore = shared('wks'); +var Symbol = global.Symbol; +var symbolFor = Symbol && Symbol['for']; +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; +module.exports = function (name) { + if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { + var description = 'Symbol.' + name; + if (NATIVE_SYMBOL && hasOwn(Symbol, name)) { + WellKnownSymbolsStore[name] = Symbol[name]; + } else if (USE_SYMBOL_AS_UID && symbolFor) { + WellKnownSymbolsStore[name] = symbolFor(description); + } else { + WellKnownSymbolsStore[name] = createWellKnownSymbol(description); + } + } + return WellKnownSymbolsStore[name]; }; /***/ }), -/* 18 */ -/***/ (function(module, exports) { +/* 36 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var hasOwnProperty = {}.hasOwnProperty; -module.exports = function (it, key) { - return hasOwnProperty.call(it, key); +var IS_PURE = __w_pdfjs_require__(37); +var store = __w_pdfjs_require__(38); +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.21.1', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)', + license: 'https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE', + source: 'https://github.com/zloirock/core-js' +}); + +/***/ }), +/* 37 */ +/***/ ((module) => { + +module.exports = false; + +/***/ }), +/* 38 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var setGlobal = __w_pdfjs_require__(39); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || setGlobal(SHARED, {}); +module.exports = store; + +/***/ }), +/* 39 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var defineProperty = Object.defineProperty; +module.exports = function (key, value) { + try { + defineProperty(global, key, { + value: value, + configurable: true, + writable: true + }); + } catch (error) { + global[key] = value; + } + return value; }; /***/ }), -/* 19 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 40 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var DESCRIPTORS = __w_pdfjs_require__(8); -var fails = __w_pdfjs_require__(9); -var createElement = __w_pdfjs_require__(20); +var uncurryThis = __w_pdfjs_require__(17); +var toObject = __w_pdfjs_require__(41); +var hasOwnProperty = uncurryThis({}.hasOwnProperty); +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + +/***/ }), +/* 41 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var requireObjectCoercible = __w_pdfjs_require__(19); +var Object = global.Object; +module.exports = function (argument) { + return Object(requireObjectCoercible(argument)); +}; + +/***/ }), +/* 42 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +var id = 0; +var postfix = Math.random(); +var toString = uncurryThis(1.0.toString); +module.exports = function (key) { + return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); +}; + +/***/ }), +/* 43 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(9); +var fails = __w_pdfjs_require__(10); +var createElement = __w_pdfjs_require__(44); module.exports = !DESCRIPTORS && !fails(function () { return Object.defineProperty(createElement('div'), 'a', { get: function () { @@ -1682,11 +1872,11 @@ module.exports = !DESCRIPTORS && !fails(function () { }); /***/ }), -/* 20 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 44 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var global = __w_pdfjs_require__(6); -var isObject = __w_pdfjs_require__(17); +var global = __w_pdfjs_require__(7); +var isObject = __w_pdfjs_require__(22); var document = global.document; var EXISTS = isObject(document) && isObject(document.createElement); module.exports = function (it) { @@ -1694,12 +1884,12 @@ module.exports = function (it) { }; /***/ }), -/* 21 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 45 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var DESCRIPTORS = __w_pdfjs_require__(8); -var definePropertyModule = __w_pdfjs_require__(22); -var createPropertyDescriptor = __w_pdfjs_require__(11); +var DESCRIPTORS = __w_pdfjs_require__(9); +var definePropertyModule = __w_pdfjs_require__(46); +var createPropertyDescriptor = __w_pdfjs_require__(14); module.exports = DESCRIPTORS ? function (object, key, value) { return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); } : function (object, key, value) { @@ -1708,21 +1898,44 @@ module.exports = DESCRIPTORS ? function (object, key, value) { }; /***/ }), -/* 22 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 46 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { -var DESCRIPTORS = __w_pdfjs_require__(8); -var IE8_DOM_DEFINE = __w_pdfjs_require__(19); -var anObject = __w_pdfjs_require__(23); -var toPrimitive = __w_pdfjs_require__(16); -var nativeDefineProperty = Object.defineProperty; -exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { +var global = __w_pdfjs_require__(7); +var DESCRIPTORS = __w_pdfjs_require__(9); +var IE8_DOM_DEFINE = __w_pdfjs_require__(43); +var V8_PROTOTYPE_DEFINE_BUG = __w_pdfjs_require__(47); +var anObject = __w_pdfjs_require__(48); +var toPropertyKey = __w_pdfjs_require__(20); +var TypeError = global.TypeError; +var $defineProperty = Object.defineProperty; +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var ENUMERABLE = 'enumerable'; +var CONFIGURABLE = 'configurable'; +var WRITABLE = 'writable'; +exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { anObject(O); - P = toPrimitive(P, true); + P = toPropertyKey(P); + anObject(Attributes); + if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { + var current = $getOwnPropertyDescriptor(O, P); + if (current && current[WRITABLE]) { + O[P] = Attributes.value; + Attributes = { + configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], + enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], + writable: false + }; + } + } + return $defineProperty(O, P, Attributes); +} : $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); anObject(Attributes); if (IE8_DOM_DEFINE) try { - return nativeDefineProperty(O, P, Attributes); + return $defineProperty(O, P, Attributes); } catch (error) { } if ('get' in Attributes || 'set' in Attributes) @@ -1733,27 +1946,45 @@ exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, A }; /***/ }), -/* 23 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 47 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var isObject = __w_pdfjs_require__(17); -module.exports = function (it) { - if (!isObject(it)) { - throw TypeError(String(it) + ' is not an object'); - } - return it; +var DESCRIPTORS = __w_pdfjs_require__(9); +var fails = __w_pdfjs_require__(10); +module.exports = DESCRIPTORS && fails(function () { + return Object.defineProperty(function () { + }, 'prototype', { + value: 42, + writable: false + }).prototype != 42; +}); + +/***/ }), +/* 48 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var isObject = __w_pdfjs_require__(22); +var String = global.String; +var TypeError = global.TypeError; +module.exports = function (argument) { + if (isObject(argument)) + return argument; + throw TypeError(String(argument) + ' is not an object'); }; /***/ }), -/* 24 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 49 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var global = __w_pdfjs_require__(6); -var createNonEnumerableProperty = __w_pdfjs_require__(21); -var has = __w_pdfjs_require__(18); -var setGlobal = __w_pdfjs_require__(25); -var inspectSource = __w_pdfjs_require__(26); -var InternalStateModule = __w_pdfjs_require__(28); +var global = __w_pdfjs_require__(7); +var isCallable = __w_pdfjs_require__(23); +var hasOwn = __w_pdfjs_require__(40); +var createNonEnumerableProperty = __w_pdfjs_require__(45); +var setGlobal = __w_pdfjs_require__(39); +var inspectSource = __w_pdfjs_require__(50); +var InternalStateModule = __w_pdfjs_require__(51); +var CONFIGURABLE_FUNCTION_NAME = (__w_pdfjs_require__(55).CONFIGURABLE); var getInternalState = InternalStateModule.get; var enforceInternalState = InternalStateModule.enforce; var TEMPLATE = String(String).split('String'); @@ -1761,10 +1992,19 @@ var TEMPLATE = String(String).split('String'); var unsafe = options ? !!options.unsafe : false; var simple = options ? !!options.enumerable : false; var noTargetGet = options ? !!options.noTargetGet : false; - if (typeof value == 'function') { - if (typeof key == 'string' && !has(value, 'name')) - createNonEnumerableProperty(value, 'name', key); - enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : ''); + var name = options && options.name !== undefined ? options.name : key; + var state; + if (isCallable(value)) { + if (String(name).slice(0, 7) === 'Symbol(') { + name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']'; + } + if (!hasOwn(value, 'name') || CONFIGURABLE_FUNCTION_NAME && value.name !== name) { + createNonEnumerableProperty(value, 'name', name); + } + state = enforceInternalState(value); + if (!state.source) { + state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); + } } if (O === global) { if (simple) @@ -1782,58 +2022,39 @@ var TEMPLATE = String(String).split('String'); else createNonEnumerableProperty(O, key, value); })(Function.prototype, 'toString', function toString() { - return typeof this == 'function' && getInternalState(this).source || inspectSource(this); + return isCallable(this) && getInternalState(this).source || inspectSource(this); }); /***/ }), -/* 25 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 50 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var global = __w_pdfjs_require__(6); -var createNonEnumerableProperty = __w_pdfjs_require__(21); -module.exports = function (key, value) { - try { - createNonEnumerableProperty(global, key, value); - } catch (error) { - global[key] = value; - } - return value; -}; - -/***/ }), -/* 26 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var store = __w_pdfjs_require__(27); -var functionToString = Function.toString; -if (typeof store.inspectSource != 'function') { +var uncurryThis = __w_pdfjs_require__(17); +var isCallable = __w_pdfjs_require__(23); +var store = __w_pdfjs_require__(38); +var functionToString = uncurryThis(Function.toString); +if (!isCallable(store.inspectSource)) { store.inspectSource = function (it) { - return functionToString.call(it); + return functionToString(it); }; } module.exports = store.inspectSource; /***/ }), -/* 27 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 51 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var global = __w_pdfjs_require__(6); -var setGlobal = __w_pdfjs_require__(25); -var SHARED = '__core-js_shared__'; -var store = global[SHARED] || setGlobal(SHARED, {}); -module.exports = store; - -/***/ }), -/* 28 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var NATIVE_WEAK_MAP = __w_pdfjs_require__(29); -var global = __w_pdfjs_require__(6); -var isObject = __w_pdfjs_require__(17); -var createNonEnumerableProperty = __w_pdfjs_require__(21); -var objectHas = __w_pdfjs_require__(18); -var sharedKey = __w_pdfjs_require__(30); -var hiddenKeys = __w_pdfjs_require__(34); +var NATIVE_WEAK_MAP = __w_pdfjs_require__(52); +var global = __w_pdfjs_require__(7); +var uncurryThis = __w_pdfjs_require__(17); +var isObject = __w_pdfjs_require__(22); +var createNonEnumerableProperty = __w_pdfjs_require__(45); +var hasOwn = __w_pdfjs_require__(40); +var shared = __w_pdfjs_require__(38); +var sharedKey = __w_pdfjs_require__(53); +var hiddenKeys = __w_pdfjs_require__(54); +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var TypeError = global.TypeError; var WeakMap = global.WeakMap; var set, get, has; var enforce = function (it) { @@ -1848,33 +2069,39 @@ var getterFor = function (TYPE) { return state; }; }; -if (NATIVE_WEAK_MAP) { - var store = new WeakMap(); - var wmget = store.get; - var wmhas = store.has; - var wmset = store.set; +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + var wmget = uncurryThis(store.get); + var wmhas = uncurryThis(store.has); + var wmset = uncurryThis(store.set); set = function (it, metadata) { - wmset.call(store, it, metadata); + if (wmhas(store, it)) + throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + wmset(store, it, metadata); return metadata; }; get = function (it) { - return wmget.call(store, it) || {}; + return wmget(store, it) || {}; }; has = function (it) { - return wmhas.call(store, it); + return wmhas(store, it); }; } else { var STATE = sharedKey('state'); hiddenKeys[STATE] = true; set = function (it, metadata) { + if (hasOwn(it, STATE)) + throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; createNonEnumerableProperty(it, STATE, metadata); return metadata; }; get = function (it) { - return objectHas(it, STATE) ? it[STATE] : {}; + return hasOwn(it, STATE) ? it[STATE] : {}; }; has = function (it) { - return objectHas(it, STATE); + return hasOwn(it, STATE); }; } module.exports = { @@ -1886,158 +2113,132 @@ module.exports = { }; /***/ }), -/* 29 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 52 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var global = __w_pdfjs_require__(6); -var inspectSource = __w_pdfjs_require__(26); +var global = __w_pdfjs_require__(7); +var isCallable = __w_pdfjs_require__(23); +var inspectSource = __w_pdfjs_require__(50); var WeakMap = global.WeakMap; -module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap)); +module.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap)); /***/ }), -/* 30 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 53 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var shared = __w_pdfjs_require__(31); -var uid = __w_pdfjs_require__(33); +var shared = __w_pdfjs_require__(36); +var uid = __w_pdfjs_require__(42); var keys = shared('keys'); module.exports = function (key) { return keys[key] || (keys[key] = uid(key)); }; /***/ }), -/* 31 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var IS_PURE = __w_pdfjs_require__(32); -var store = __w_pdfjs_require__(27); -(module.exports = function (key, value) { - return store[key] || (store[key] = value !== undefined ? value : {}); -})('versions', []).push({ - version: '3.6.4', - mode: IS_PURE ? 'pure' : 'global', - copyright: '© 2020 Denis Pushkarev (zloirock.ru)' -}); - -/***/ }), -/* 32 */ -/***/ (function(module, exports) { - -module.exports = false; - -/***/ }), -/* 33 */ -/***/ (function(module, exports) { - -var id = 0; -var postfix = Math.random(); -module.exports = function (key) { - return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); -}; - -/***/ }), -/* 34 */ -/***/ (function(module, exports) { +/* 54 */ +/***/ ((module) => { module.exports = {}; /***/ }), -/* 35 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 55 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var has = __w_pdfjs_require__(18); -var ownKeys = __w_pdfjs_require__(36); -var getOwnPropertyDescriptorModule = __w_pdfjs_require__(7); -var definePropertyModule = __w_pdfjs_require__(22); -module.exports = function (target, source) { +var DESCRIPTORS = __w_pdfjs_require__(9); +var hasOwn = __w_pdfjs_require__(40); +var FunctionPrototype = Function.prototype; +var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; +var EXISTS = hasOwn(FunctionPrototype, 'name'); +var PROPER = EXISTS && function something() { +}.name === 'something'; +var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable); +module.exports = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE +}; + +/***/ }), +/* 56 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var hasOwn = __w_pdfjs_require__(40); +var ownKeys = __w_pdfjs_require__(57); +var getOwnPropertyDescriptorModule = __w_pdfjs_require__(8); +var definePropertyModule = __w_pdfjs_require__(46); +module.exports = function (target, source, exceptions) { var keys = ownKeys(source); var defineProperty = definePropertyModule.f; var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; for (var i = 0; i < keys.length; i++) { var key = keys[i]; - if (!has(target, key)) + if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } } }; /***/ }), -/* 36 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 57 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var getBuiltIn = __w_pdfjs_require__(37); -var getOwnPropertyNamesModule = __w_pdfjs_require__(39); -var getOwnPropertySymbolsModule = __w_pdfjs_require__(46); -var anObject = __w_pdfjs_require__(23); +var getBuiltIn = __w_pdfjs_require__(25); +var uncurryThis = __w_pdfjs_require__(17); +var getOwnPropertyNamesModule = __w_pdfjs_require__(58); +var getOwnPropertySymbolsModule = __w_pdfjs_require__(66); +var anObject = __w_pdfjs_require__(48); +var concat = uncurryThis([].concat); module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { var keys = getOwnPropertyNamesModule.f(anObject(it)); var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; - return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; }; /***/ }), -/* 37 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 58 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { -var path = __w_pdfjs_require__(38); -var global = __w_pdfjs_require__(6); -var aFunction = function (variable) { - return typeof variable == 'function' ? variable : undefined; -}; -module.exports = function (namespace, method) { - return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method]; -}; - -/***/ }), -/* 38 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var global = __w_pdfjs_require__(6); -module.exports = global; - -/***/ }), -/* 39 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var internalObjectKeys = __w_pdfjs_require__(40); -var enumBugKeys = __w_pdfjs_require__(45); +var internalObjectKeys = __w_pdfjs_require__(59); +var enumBugKeys = __w_pdfjs_require__(65); var hiddenKeys = enumBugKeys.concat('length', 'prototype'); exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return internalObjectKeys(O, hiddenKeys); }; /***/ }), -/* 40 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 59 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var has = __w_pdfjs_require__(18); -var toIndexedObject = __w_pdfjs_require__(12); -var indexOf = __w_pdfjs_require__(41).indexOf; -var hiddenKeys = __w_pdfjs_require__(34); +var uncurryThis = __w_pdfjs_require__(17); +var hasOwn = __w_pdfjs_require__(40); +var toIndexedObject = __w_pdfjs_require__(15); +var indexOf = (__w_pdfjs_require__(60).indexOf); +var hiddenKeys = __w_pdfjs_require__(54); +var push = uncurryThis([].push); module.exports = function (object, names) { var O = toIndexedObject(object); var i = 0; var result = []; var key; for (key in O) - !has(hiddenKeys, key) && has(O, key) && result.push(key); + !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); while (names.length > i) - if (has(O, key = names[i++])) { - ~indexOf(result, key) || result.push(key); + if (hasOwn(O, key = names[i++])) { + ~indexOf(result, key) || push(result, key); } return result; }; /***/ }), -/* 41 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 60 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var toIndexedObject = __w_pdfjs_require__(12); -var toLength = __w_pdfjs_require__(42); -var toAbsoluteIndex = __w_pdfjs_require__(44); +var toIndexedObject = __w_pdfjs_require__(15); +var toAbsoluteIndex = __w_pdfjs_require__(61); +var lengthOfArrayLike = __w_pdfjs_require__(63); var createMethod = function (IS_INCLUDES) { return function ($this, el, fromIndex) { var O = toIndexedObject($this); - var length = toLength(O.length); + var length = lengthOfArrayLike(O); var index = toAbsoluteIndex(fromIndex, length); var value; if (IS_INCLUDES && el != el) @@ -2060,40 +2261,50 @@ module.exports = { }; /***/ }), -/* 42 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 61 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var toInteger = __w_pdfjs_require__(43); -var min = Math.min; -module.exports = function (argument) { - return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; -}; - -/***/ }), -/* 43 */ -/***/ (function(module, exports) { - -var ceil = Math.ceil; -var floor = Math.floor; -module.exports = function (argument) { - return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); -}; - -/***/ }), -/* 44 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var toInteger = __w_pdfjs_require__(43); +var toIntegerOrInfinity = __w_pdfjs_require__(62); var max = Math.max; var min = Math.min; module.exports = function (index, length) { - var integer = toInteger(index); + var integer = toIntegerOrInfinity(index); return integer < 0 ? max(integer + length, 0) : min(integer, length); }; /***/ }), -/* 45 */ -/***/ (function(module, exports) { +/* 62 */ +/***/ ((module) => { + +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = function (argument) { + var number = +argument; + return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number); +}; + +/***/ }), +/* 63 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toLength = __w_pdfjs_require__(64); +module.exports = function (obj) { + return toLength(obj.length); +}; + +/***/ }), +/* 64 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var min = Math.min; +module.exports = function (argument) { + return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; +}; + +/***/ }), +/* 65 */ +/***/ ((module) => { module.exports = [ 'constructor', @@ -2106,20 +2317,21 @@ module.exports = [ ]; /***/ }), -/* 46 */ -/***/ (function(module, exports) { +/* 66 */ +/***/ ((__unused_webpack_module, exports) => { exports.f = Object.getOwnPropertySymbols; /***/ }), -/* 47 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 67 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var fails = __w_pdfjs_require__(9); +var fails = __w_pdfjs_require__(10); +var isCallable = __w_pdfjs_require__(23); var replacement = /#|\.prototype\./; var isForced = function (feature, detection) { var value = data[normalize(feature)]; - return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection; + return value == POLYFILL ? true : value == NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection; }; var normalize = isForced.normalize = function (string) { return String(string).replace(replacement, '.').toLowerCase(); @@ -2130,337 +2342,94 @@ var POLYFILL = isForced.POLYFILL = 'P'; module.exports = isForced; /***/ }), -/* 48 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 68 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.isNodeJS = void 0; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var isNodeJS = (typeof process === "undefined" ? "undefined" : _typeof(process)) === "object" && process + "" === "[object process]" && !process.versions["nw"] && !process.versions["electron"]; -exports.isNodeJS = isNodeJS; - -/***/ }), -/* 49 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -__w_pdfjs_require__(50); -var entryUnbind = __w_pdfjs_require__(57); -module.exports = entryUnbind('String', 'startsWith'); - -/***/ }), -/* 50 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var $ = __w_pdfjs_require__(5); -var getOwnPropertyDescriptor = __w_pdfjs_require__(7).f; -var toLength = __w_pdfjs_require__(42); -var notARegExp = __w_pdfjs_require__(51); -var requireObjectCoercible = __w_pdfjs_require__(15); -var correctIsRegExpLogic = __w_pdfjs_require__(56); -var IS_PURE = __w_pdfjs_require__(32); -var nativeStartsWith = ''.startsWith; -var min = Math.min; -var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); -var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { - var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); - return descriptor && !descriptor.writable; -}(); -$({ - target: 'String', - proto: true, - forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC -}, { - startsWith: function startsWith(searchString) { - var that = String(requireObjectCoercible(this)); - notARegExp(searchString); - var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); - var search = String(searchString); - return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search; +var global = __w_pdfjs_require__(7); +var hasOwn = __w_pdfjs_require__(40); +var isCallable = __w_pdfjs_require__(23); +var toObject = __w_pdfjs_require__(41); +var sharedKey = __w_pdfjs_require__(53); +var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(69); +var IE_PROTO = sharedKey('IE_PROTO'); +var Object = global.Object; +var ObjectPrototype = Object.prototype; +module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { + var object = toObject(O); + if (hasOwn(object, IE_PROTO)) + return object[IE_PROTO]; + var constructor = object.constructor; + if (isCallable(constructor) && object instanceof constructor) { + return constructor.prototype; } -}); - -/***/ }), -/* 51 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var isRegExp = __w_pdfjs_require__(52); -module.exports = function (it) { - if (isRegExp(it)) { - throw TypeError("The method doesn't accept regular expressions"); - } - return it; + return object instanceof Object ? ObjectPrototype : null; }; /***/ }), -/* 52 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 69 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var isObject = __w_pdfjs_require__(17); -var classof = __w_pdfjs_require__(14); -var wellKnownSymbol = __w_pdfjs_require__(53); -var MATCH = wellKnownSymbol('match'); -module.exports = function (it) { - var isRegExp; - return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp'); -}; - -/***/ }), -/* 53 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var global = __w_pdfjs_require__(6); -var shared = __w_pdfjs_require__(31); -var has = __w_pdfjs_require__(18); -var uid = __w_pdfjs_require__(33); -var NATIVE_SYMBOL = __w_pdfjs_require__(54); -var USE_SYMBOL_AS_UID = __w_pdfjs_require__(55); -var WellKnownSymbolsStore = shared('wks'); -var Symbol = global.Symbol; -var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; -module.exports = function (name) { - if (!has(WellKnownSymbolsStore, name)) { - if (NATIVE_SYMBOL && has(Symbol, name)) - WellKnownSymbolsStore[name] = Symbol[name]; - else - WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); +var fails = __w_pdfjs_require__(10); +module.exports = !fails(function () { + function F() { } - return WellKnownSymbolsStore[name]; -}; - -/***/ }), -/* 54 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var fails = __w_pdfjs_require__(9); -module.exports = !!Object.getOwnPropertySymbols && !fails(function () { - return !String(Symbol()); + F.prototype.constructor = null; + return Object.getPrototypeOf(new F()) !== F.prototype; }); /***/ }), -/* 55 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 70 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var NATIVE_SYMBOL = __w_pdfjs_require__(54); -module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol'; - -/***/ }), -/* 56 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var wellKnownSymbol = __w_pdfjs_require__(53); -var MATCH = wellKnownSymbol('match'); -module.exports = function (METHOD_NAME) { - var regexp = /./; +var uncurryThis = __w_pdfjs_require__(17); +var anObject = __w_pdfjs_require__(48); +var aPossiblePrototype = __w_pdfjs_require__(71); +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? (function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; try { - '/./'[METHOD_NAME](regexp); - } catch (e) { - try { - regexp[MATCH] = false; - return '/./'[METHOD_NAME](regexp); - } catch (f) { - } + setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set); + setter(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { } - return false; -}; - -/***/ }), -/* 57 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var global = __w_pdfjs_require__(6); -var bind = __w_pdfjs_require__(58); -var call = Function.call; -module.exports = function (CONSTRUCTOR, METHOD, length) { - return bind(call, global[CONSTRUCTOR].prototype[METHOD], length); -}; - -/***/ }), -/* 58 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var aFunction = __w_pdfjs_require__(59); -module.exports = function (fn, that, length) { - aFunction(fn); - if (that === undefined) - return fn; - switch (length) { - case 0: - return function () { - return fn.call(that); - }; - case 1: - return function (a) { - return fn.call(that, a); - }; - case 2: - return function (a, b) { - return fn.call(that, a, b); - }; - case 3: - return function (a, b, c) { - return fn.call(that, a, b, c); - }; - } - return function () { - return fn.apply(that, arguments); + return function setPrototypeOf(O, proto) { + anObject(O); + aPossiblePrototype(proto); + if (CORRECT_SETTER) + setter(O, proto); + else + O.__proto__ = proto; + return O; }; +}()) : undefined); + +/***/ }), +/* 71 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var isCallable = __w_pdfjs_require__(23); +var String = global.String; +var TypeError = global.TypeError; +module.exports = function (argument) { + if (typeof argument == 'object' || isCallable(argument)) + return argument; + throw TypeError("Can't set " + String(argument) + ' as a prototype'); }; /***/ }), -/* 59 */ -/***/ (function(module, exports) { +/* 72 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -module.exports = function (it) { - if (typeof it != 'function') { - throw TypeError(String(it) + ' is not a function'); - } - return it; -}; - -/***/ }), -/* 60 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -__w_pdfjs_require__(61); -var entryUnbind = __w_pdfjs_require__(57); -module.exports = entryUnbind('String', 'endsWith'); - -/***/ }), -/* 61 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var $ = __w_pdfjs_require__(5); -var getOwnPropertyDescriptor = __w_pdfjs_require__(7).f; -var toLength = __w_pdfjs_require__(42); -var notARegExp = __w_pdfjs_require__(51); -var requireObjectCoercible = __w_pdfjs_require__(15); -var correctIsRegExpLogic = __w_pdfjs_require__(56); -var IS_PURE = __w_pdfjs_require__(32); -var nativeEndsWith = ''.endsWith; -var min = Math.min; -var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith'); -var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { - var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith'); - return descriptor && !descriptor.writable; -}(); -$({ - target: 'String', - proto: true, - forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC -}, { - endsWith: function endsWith(searchString) { - var that = String(requireObjectCoercible(this)); - notARegExp(searchString); - var endPosition = arguments.length > 1 ? arguments[1] : undefined; - var len = toLength(that.length); - var end = endPosition === undefined ? len : min(toLength(endPosition), len); - var search = String(searchString); - return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search; - } -}); - -/***/ }), -/* 62 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -__w_pdfjs_require__(63); -var entryUnbind = __w_pdfjs_require__(57); -module.exports = entryUnbind('String', 'includes'); - -/***/ }), -/* 63 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var $ = __w_pdfjs_require__(5); -var notARegExp = __w_pdfjs_require__(51); -var requireObjectCoercible = __w_pdfjs_require__(15); -var correctIsRegExpLogic = __w_pdfjs_require__(56); -$({ - target: 'String', - proto: true, - forced: !correctIsRegExpLogic('includes') -}, { - includes: function includes(searchString) { - return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined); - } -}); - -/***/ }), -/* 64 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -__w_pdfjs_require__(65); -var entryUnbind = __w_pdfjs_require__(57); -module.exports = entryUnbind('Array', 'includes'); - -/***/ }), -/* 65 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var $ = __w_pdfjs_require__(5); -var $includes = __w_pdfjs_require__(41).includes; -var addToUnscopables = __w_pdfjs_require__(66); -var arrayMethodUsesToLength = __w_pdfjs_require__(71); -var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { - ACCESSORS: true, - 1: 0 -}); -$({ - target: 'Array', - proto: true, - forced: !USES_TO_LENGTH -}, { - includes: function includes(el) { - return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); - } -}); -addToUnscopables('includes'); - -/***/ }), -/* 66 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var wellKnownSymbol = __w_pdfjs_require__(53); -var create = __w_pdfjs_require__(67); -var definePropertyModule = __w_pdfjs_require__(22); -var UNSCOPABLES = wellKnownSymbol('unscopables'); -var ArrayPrototype = Array.prototype; -if (ArrayPrototype[UNSCOPABLES] == undefined) { - definePropertyModule.f(ArrayPrototype, UNSCOPABLES, { - configurable: true, - value: create(null) - }); -} -module.exports = function (key) { - ArrayPrototype[UNSCOPABLES][key] = true; -}; - -/***/ }), -/* 67 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var anObject = __w_pdfjs_require__(23); -var defineProperties = __w_pdfjs_require__(68); -var enumBugKeys = __w_pdfjs_require__(45); -var hiddenKeys = __w_pdfjs_require__(34); -var html = __w_pdfjs_require__(70); -var documentCreateElement = __w_pdfjs_require__(20); -var sharedKey = __w_pdfjs_require__(30); +var anObject = __w_pdfjs_require__(48); +var definePropertiesModule = __w_pdfjs_require__(73); +var enumBugKeys = __w_pdfjs_require__(65); +var hiddenKeys = __w_pdfjs_require__(54); +var html = __w_pdfjs_require__(75); +var documentCreateElement = __w_pdfjs_require__(44); +var sharedKey = __w_pdfjs_require__(53); var GT = '>'; var LT = '<'; var PROTOTYPE = 'prototype'; @@ -2494,10 +2463,10 @@ var NullProtoObjectViaIFrame = function () { var activeXDocument; var NullProtoObject = function () { try { - activeXDocument = document.domain && new ActiveXObject('htmlfile'); + activeXDocument = new ActiveXObject('htmlfile'); } catch (error) { } - NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame(); + NullProtoObject = typeof document != 'undefined' ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument); var length = enumBugKeys.length; while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; @@ -2513,166 +2482,419 @@ module.exports = Object.create || function create(O, Properties) { result[IE_PROTO] = O; } else result = NullProtoObject(); - return Properties === undefined ? result : defineProperties(result, Properties); + return Properties === undefined ? result : definePropertiesModule.f(result, Properties); }; /***/ }), -/* 68 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 73 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { -var DESCRIPTORS = __w_pdfjs_require__(8); -var definePropertyModule = __w_pdfjs_require__(22); -var anObject = __w_pdfjs_require__(23); -var objectKeys = __w_pdfjs_require__(69); -module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { +var DESCRIPTORS = __w_pdfjs_require__(9); +var V8_PROTOTYPE_DEFINE_BUG = __w_pdfjs_require__(47); +var definePropertyModule = __w_pdfjs_require__(46); +var anObject = __w_pdfjs_require__(48); +var toIndexedObject = __w_pdfjs_require__(15); +var objectKeys = __w_pdfjs_require__(74); +exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); + var props = toIndexedObject(Properties); var keys = objectKeys(Properties); var length = keys.length; var index = 0; var key; while (length > index) - definePropertyModule.f(O, key = keys[index++], Properties[key]); + definePropertyModule.f(O, key = keys[index++], props[key]); return O; }; /***/ }), -/* 69 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 74 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var internalObjectKeys = __w_pdfjs_require__(40); -var enumBugKeys = __w_pdfjs_require__(45); +var internalObjectKeys = __w_pdfjs_require__(59); +var enumBugKeys = __w_pdfjs_require__(65); module.exports = Object.keys || function keys(O) { return internalObjectKeys(O, enumBugKeys); }; /***/ }), -/* 70 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 75 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var getBuiltIn = __w_pdfjs_require__(37); +var getBuiltIn = __w_pdfjs_require__(25); module.exports = getBuiltIn('document', 'documentElement'); /***/ }), -/* 71 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 76 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var DESCRIPTORS = __w_pdfjs_require__(8); -var fails = __w_pdfjs_require__(9); -var has = __w_pdfjs_require__(18); -var defineProperty = Object.defineProperty; -var cache = {}; -var thrower = function (it) { - throw it; -}; -module.exports = function (METHOD_NAME, options) { - if (has(cache, METHOD_NAME)) - return cache[METHOD_NAME]; - if (!options) - options = {}; - var method = [][METHOD_NAME]; - var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false; - var argument0 = has(options, 0) ? options[0] : thrower; - var argument1 = has(options, 1) ? options[1] : undefined; - return cache[METHOD_NAME] = !!method && !fails(function () { - if (ACCESSORS && !DESCRIPTORS) - return true; - var O = { length: -1 }; - if (ACCESSORS) - defineProperty(O, 1, { - enumerable: true, - get: thrower - }); - else - O[1] = 1; - method.call(O, argument0, argument1); - }); +var uncurryThis = __w_pdfjs_require__(17); +var replace = uncurryThis(''.replace); +var TEST = function (arg) { + return String(Error(arg).stack); +}('zxcasd'); +var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; +var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); +module.exports = function (stack, dropEntries) { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string') { + while (dropEntries--) + stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); + } + return stack; }; /***/ }), -/* 72 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 77 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -__w_pdfjs_require__(73); -__w_pdfjs_require__(85); -var path = __w_pdfjs_require__(38); -module.exports = path.Array.from; +var isObject = __w_pdfjs_require__(22); +var createNonEnumerableProperty = __w_pdfjs_require__(45); +module.exports = function (O, options) { + if (isObject(options) && 'cause' in options) { + createNonEnumerableProperty(O, 'cause', options.cause); + } +}; /***/ }), -/* 73 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 78 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var bind = __w_pdfjs_require__(79); +var call = __w_pdfjs_require__(11); +var anObject = __w_pdfjs_require__(48); +var tryToString = __w_pdfjs_require__(33); +var isArrayIteratorMethod = __w_pdfjs_require__(80); +var lengthOfArrayLike = __w_pdfjs_require__(63); +var isPrototypeOf = __w_pdfjs_require__(26); +var getIterator = __w_pdfjs_require__(82); +var getIteratorMethod = __w_pdfjs_require__(83); +var iteratorClose = __w_pdfjs_require__(86); +var TypeError = global.TypeError; +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; +var ResultPrototype = Result.prototype; +module.exports = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = bind(unboundFunction, that); + var iterator, iterFn, index, length, result, next, step; + var stop = function (condition) { + if (iterator) + iteratorClose(iterator, 'normal', condition); + return new Result(true, condition); + }; + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } + return INTERRUPTED ? fn(value, stop) : fn(value); + }; + if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (!iterFn) + throw TypeError(tryToString(iterable) + ' is not iterable'); + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { + result = callFn(iterable[index]); + if (result && isPrototypeOf(ResultPrototype, result)) + return result; + } + return new Result(false); + } + iterator = getIterator(iterable, iterFn); + } + next = iterator.next; + while (!(step = call(next, iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } + if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) + return result; + } + return new Result(false); +}; + +/***/ }), +/* 79 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +var aCallable = __w_pdfjs_require__(32); +var NATIVE_BIND = __w_pdfjs_require__(12); +var bind = uncurryThis(uncurryThis.bind); +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function () { + return fn.apply(that, arguments); + }; +}; + +/***/ }), +/* 80 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var wellKnownSymbol = __w_pdfjs_require__(35); +var Iterators = __w_pdfjs_require__(81); +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + +/***/ }), +/* 81 */ +/***/ ((module) => { + +module.exports = {}; + +/***/ }), +/* 82 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var call = __w_pdfjs_require__(11); +var aCallable = __w_pdfjs_require__(32); +var anObject = __w_pdfjs_require__(48); +var tryToString = __w_pdfjs_require__(33); +var getIteratorMethod = __w_pdfjs_require__(83); +var TypeError = global.TypeError; +module.exports = function (argument, usingIterator) { + var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; + if (aCallable(iteratorMethod)) + return anObject(call(iteratorMethod, argument)); + throw TypeError(tryToString(argument) + ' is not iterable'); +}; + +/***/ }), +/* 83 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var classof = __w_pdfjs_require__(84); +var getMethod = __w_pdfjs_require__(31); +var Iterators = __w_pdfjs_require__(81); +var wellKnownSymbol = __w_pdfjs_require__(35); +var ITERATOR = wellKnownSymbol('iterator'); +module.exports = function (it) { + if (it != undefined) + return getMethod(it, ITERATOR) || getMethod(it, '@@iterator') || Iterators[classof(it)]; +}; + +/***/ }), +/* 84 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(85); +var isCallable = __w_pdfjs_require__(23); +var classofRaw = __w_pdfjs_require__(18); +var wellKnownSymbol = __w_pdfjs_require__(35); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var Object = global.Object; +var CORRECT_ARGUMENTS = classofRaw((function () { + return arguments; +}())) == 'Arguments'; +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { + } +}; +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result; +}; + +/***/ }), +/* 85 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var wellKnownSymbol = __w_pdfjs_require__(35); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; +test[TO_STRING_TAG] = 'z'; +module.exports = String(test) === '[object z]'; + +/***/ }), +/* 86 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var call = __w_pdfjs_require__(11); +var anObject = __w_pdfjs_require__(48); +var getMethod = __w_pdfjs_require__(31); +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') + throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') + throw value; + if (innerError) + throw innerResult; + anObject(innerResult); + return value; +}; + +/***/ }), +/* 87 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toString = __w_pdfjs_require__(88); +module.exports = function (argument, $default) { + return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument); +}; + +/***/ }), +/* 88 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var classof = __w_pdfjs_require__(84); +var String = global.String; +module.exports = function (argument) { + if (classof(argument) === 'Symbol') + throw TypeError('Cannot convert a Symbol value to a string'); + return String(argument); +}; + +/***/ }), +/* 89 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(10); +var createPropertyDescriptor = __w_pdfjs_require__(14); +module.exports = !fails(function () { + var error = Error('a'); + if (!('stack' in error)) + return true; + Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); + return error.stack !== 7; +}); + +/***/ }), +/* 90 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { "use strict"; -var charAt = __w_pdfjs_require__(74).charAt; -var InternalStateModule = __w_pdfjs_require__(28); -var defineIterator = __w_pdfjs_require__(75); -var STRING_ITERATOR = 'String Iterator'; +var toIndexedObject = __w_pdfjs_require__(15); +var addToUnscopables = __w_pdfjs_require__(91); +var Iterators = __w_pdfjs_require__(81); +var InternalStateModule = __w_pdfjs_require__(51); +var defineProperty = (__w_pdfjs_require__(46).f); +var defineIterator = __w_pdfjs_require__(92); +var IS_PURE = __w_pdfjs_require__(37); +var DESCRIPTORS = __w_pdfjs_require__(9); +var ARRAY_ITERATOR = 'Array Iterator'; var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); -defineIterator(String, 'String', function (iterated) { +var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); +module.exports = defineIterator(Array, 'Array', function (iterated, kind) { setInternalState(this, { - type: STRING_ITERATOR, - string: String(iterated), - index: 0 + type: ARRAY_ITERATOR, + target: toIndexedObject(iterated), + index: 0, + kind: kind }); -}, function next() { +}, function () { var state = getInternalState(this); - var string = state.string; - var index = state.index; - var point; - if (index >= string.length) + var target = state.target; + var kind = state.kind; + var index = state.index++; + if (!target || index >= target.length) { + state.target = undefined; return { value: undefined, done: true }; - point = charAt(string, index); - state.index += point.length; + } + if (kind == 'keys') + return { + value: index, + done: false + }; + if (kind == 'values') + return { + value: target[index], + done: false + }; return { - value: point, + value: [ + index, + target[index] + ], done: false }; -}); +}, 'values'); +var values = Iterators.Arguments = Iterators.Array; +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); +if (!IS_PURE && DESCRIPTORS && values.name !== 'values') + try { + defineProperty(values, 'name', { value: 'values' }); + } catch (error) { + } /***/ }), -/* 74 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 91 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var toInteger = __w_pdfjs_require__(43); -var requireObjectCoercible = __w_pdfjs_require__(15); -var createMethod = function (CONVERT_TO_STRING) { - return function ($this, pos) { - var S = String(requireObjectCoercible($this)); - var position = toInteger(pos); - var size = S.length; - var first, second; - if (position < 0 || position >= size) - return CONVERT_TO_STRING ? '' : undefined; - first = S.charCodeAt(position); - return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; - }; -}; -module.exports = { - codeAt: createMethod(false), - charAt: createMethod(true) +var wellKnownSymbol = __w_pdfjs_require__(35); +var create = __w_pdfjs_require__(72); +var definePropertyModule = __w_pdfjs_require__(46); +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; +if (ArrayPrototype[UNSCOPABLES] == undefined) { + definePropertyModule.f(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: create(null) + }); +} +module.exports = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; }; /***/ }), -/* 75 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 92 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { "use strict"; -var $ = __w_pdfjs_require__(5); -var createIteratorConstructor = __w_pdfjs_require__(76); -var getPrototypeOf = __w_pdfjs_require__(78); -var setPrototypeOf = __w_pdfjs_require__(83); -var setToStringTag = __w_pdfjs_require__(81); -var createNonEnumerableProperty = __w_pdfjs_require__(21); -var redefine = __w_pdfjs_require__(24); -var wellKnownSymbol = __w_pdfjs_require__(53); -var IS_PURE = __w_pdfjs_require__(32); -var Iterators = __w_pdfjs_require__(82); -var IteratorsCore = __w_pdfjs_require__(77); +var $ = __w_pdfjs_require__(6); +var call = __w_pdfjs_require__(11); +var IS_PURE = __w_pdfjs_require__(37); +var FunctionName = __w_pdfjs_require__(55); +var isCallable = __w_pdfjs_require__(23); +var createIteratorConstructor = __w_pdfjs_require__(93); +var getPrototypeOf = __w_pdfjs_require__(68); +var setPrototypeOf = __w_pdfjs_require__(70); +var setToStringTag = __w_pdfjs_require__(95); +var createNonEnumerableProperty = __w_pdfjs_require__(45); +var redefine = __w_pdfjs_require__(49); +var wellKnownSymbol = __w_pdfjs_require__(35); +var Iterators = __w_pdfjs_require__(81); +var IteratorsCore = __w_pdfjs_require__(94); +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; var IteratorPrototype = IteratorsCore.IteratorPrototype; var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; var ITERATOR = wellKnownSymbol('iterator'); @@ -2716,12 +2938,12 @@ module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, I var CurrentIteratorPrototype, methods, KEY; if (anyNativeIterator) { CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); - if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { if (setPrototypeOf) { setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); - } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') { - createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis); + } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { + redefine(CurrentIteratorPrototype, ITERATOR, returnThis); } } setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); @@ -2729,16 +2951,16 @@ module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, I Iterators[TO_STRING_TAG] = returnThis; } } - if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { - INCORRECT_VALUES_NAME = true; - defaultIterator = function values() { - return nativeIterator.call(this); - }; + if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { + if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(IterablePrototype, 'name', VALUES); + } else { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { + return call(nativeIterator, this); + }; + } } - if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { - createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator); - } - Iterators[NAME] = defaultIterator; if (DEFAULT) { methods = { values: getIterationMethod(VALUES), @@ -2758,47 +2980,50 @@ module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, I forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); } + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); + } + Iterators[NAME] = defaultIterator; return methods; }; /***/ }), -/* 76 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 93 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { "use strict"; -var IteratorPrototype = __w_pdfjs_require__(77).IteratorPrototype; -var create = __w_pdfjs_require__(67); -var createPropertyDescriptor = __w_pdfjs_require__(11); -var setToStringTag = __w_pdfjs_require__(81); -var Iterators = __w_pdfjs_require__(82); +var IteratorPrototype = (__w_pdfjs_require__(94).IteratorPrototype); +var create = __w_pdfjs_require__(72); +var createPropertyDescriptor = __w_pdfjs_require__(14); +var setToStringTag = __w_pdfjs_require__(95); +var Iterators = __w_pdfjs_require__(81); var returnThis = function () { return this; }; -module.exports = function (IteratorConstructor, NAME, next) { +module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { var TO_STRING_TAG = NAME + ' Iterator'; - IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); Iterators[TO_STRING_TAG] = returnThis; return IteratorConstructor; }; /***/ }), -/* 77 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 94 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { "use strict"; -var getPrototypeOf = __w_pdfjs_require__(78); -var createNonEnumerableProperty = __w_pdfjs_require__(21); -var has = __w_pdfjs_require__(18); -var wellKnownSymbol = __w_pdfjs_require__(53); -var IS_PURE = __w_pdfjs_require__(32); +var fails = __w_pdfjs_require__(10); +var isCallable = __w_pdfjs_require__(23); +var create = __w_pdfjs_require__(72); +var getPrototypeOf = __w_pdfjs_require__(68); +var redefine = __w_pdfjs_require__(49); +var wellKnownSymbol = __w_pdfjs_require__(35); +var IS_PURE = __w_pdfjs_require__(37); var ITERATOR = wellKnownSymbol('iterator'); var BUGGY_SAFARI_ITERATORS = false; -var returnThis = function () { - return this; -}; var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; if ([].keys) { arrayIterator = [].keys(); @@ -2810,10 +3035,18 @@ if ([].keys) { IteratorPrototype = PrototypeOfArrayIteratorPrototype; } } -if (IteratorPrototype == undefined) +var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () { + var test = {}; + return IteratorPrototype[ITERATOR].call(test) !== test; +}); +if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; -if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) { - createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis); +else if (IS_PURE) + IteratorPrototype = create(IteratorPrototype); +if (!isCallable(IteratorPrototype[ITERATOR])) { + redefine(IteratorPrototype, ITERATOR, function () { + return this; + }); } module.exports = { IteratorPrototype: IteratorPrototype, @@ -2821,57 +3054,18 @@ module.exports = { }; /***/ }), -/* 78 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 95 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var has = __w_pdfjs_require__(18); -var toObject = __w_pdfjs_require__(79); -var sharedKey = __w_pdfjs_require__(30); -var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(80); -var IE_PROTO = sharedKey('IE_PROTO'); -var ObjectPrototype = Object.prototype; -module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { - O = toObject(O); - if (has(O, IE_PROTO)) - return O[IE_PROTO]; - if (typeof O.constructor == 'function' && O instanceof O.constructor) { - return O.constructor.prototype; - } - return O instanceof Object ? ObjectPrototype : null; -}; - -/***/ }), -/* 79 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var requireObjectCoercible = __w_pdfjs_require__(15); -module.exports = function (argument) { - return Object(requireObjectCoercible(argument)); -}; - -/***/ }), -/* 80 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var fails = __w_pdfjs_require__(9); -module.exports = !fails(function () { - function F() { - } - F.prototype.constructor = null; - return Object.getPrototypeOf(new F()) !== F.prototype; -}); - -/***/ }), -/* 81 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var defineProperty = __w_pdfjs_require__(22).f; -var has = __w_pdfjs_require__(18); -var wellKnownSymbol = __w_pdfjs_require__(53); +var defineProperty = (__w_pdfjs_require__(46).f); +var hasOwn = __w_pdfjs_require__(40); +var wellKnownSymbol = __w_pdfjs_require__(35); var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -module.exports = function (it, TAG, STATIC) { - if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { - defineProperty(it, TO_STRING_TAG, { +module.exports = function (target, TAG, STATIC) { + if (target && !STATIC) + target = target.prototype; + if (target && !hasOwn(target, TO_STRING_TAG)) { + defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG }); @@ -2879,208 +3073,482 @@ module.exports = function (it, TAG, STATIC) { }; /***/ }), -/* 82 */ -/***/ (function(module, exports) { +/* 96 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { -module.exports = {}; +var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(85); +var redefine = __w_pdfjs_require__(49); +var toString = __w_pdfjs_require__(97); +if (!TO_STRING_TAG_SUPPORT) { + redefine(Object.prototype, 'toString', toString, { unsafe: true }); +} /***/ }), -/* 83 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 97 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var anObject = __w_pdfjs_require__(23); -var aPossiblePrototype = __w_pdfjs_require__(84); -module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { - var CORRECT_SETTER = false; - var test = {}; - var setter; - try { - setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; - setter.call(test, []); - CORRECT_SETTER = test instanceof Array; - } catch (error) { - } - return function setPrototypeOf(O, proto) { - anObject(O); - aPossiblePrototype(proto); - if (CORRECT_SETTER) - setter.call(O, proto); - else - O.__proto__ = proto; - return O; - }; -}() : undefined); +"use strict"; -/***/ }), -/* 84 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var isObject = __w_pdfjs_require__(17); -module.exports = function (it) { - if (!isObject(it) && it !== null) { - throw TypeError("Can't set " + String(it) + ' as a prototype'); - } - return it; +var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(85); +var classof = __w_pdfjs_require__(84); +module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { + return '[object ' + classof(this) + ']'; }; /***/ }), -/* 85 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 98 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { -var $ = __w_pdfjs_require__(5); -var from = __w_pdfjs_require__(86); -var checkCorrectnessOfIteration = __w_pdfjs_require__(93); -var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { - Array.from(iterable); +"use strict"; + +var $ = __w_pdfjs_require__(6); +var IS_PURE = __w_pdfjs_require__(37); +var global = __w_pdfjs_require__(7); +var getBuiltIn = __w_pdfjs_require__(25); +var call = __w_pdfjs_require__(11); +var NativePromise = __w_pdfjs_require__(99); +var redefine = __w_pdfjs_require__(49); +var redefineAll = __w_pdfjs_require__(100); +var setPrototypeOf = __w_pdfjs_require__(70); +var setToStringTag = __w_pdfjs_require__(95); +var setSpecies = __w_pdfjs_require__(101); +var aCallable = __w_pdfjs_require__(32); +var isCallable = __w_pdfjs_require__(23); +var isObject = __w_pdfjs_require__(22); +var anInstance = __w_pdfjs_require__(102); +var inspectSource = __w_pdfjs_require__(50); +var iterate = __w_pdfjs_require__(78); +var checkCorrectnessOfIteration = __w_pdfjs_require__(103); +var speciesConstructor = __w_pdfjs_require__(104); +var task = (__w_pdfjs_require__(107).set); +var microtask = __w_pdfjs_require__(113); +var promiseResolve = __w_pdfjs_require__(116); +var hostReportErrors = __w_pdfjs_require__(118); +var newPromiseCapabilityModule = __w_pdfjs_require__(117); +var perform = __w_pdfjs_require__(119); +var Queue = __w_pdfjs_require__(120); +var InternalStateModule = __w_pdfjs_require__(51); +var isForced = __w_pdfjs_require__(67); +var wellKnownSymbol = __w_pdfjs_require__(35); +var IS_BROWSER = __w_pdfjs_require__(121); +var IS_NODE = __w_pdfjs_require__(112); +var V8_VERSION = __w_pdfjs_require__(29); +var SPECIES = wellKnownSymbol('species'); +var PROMISE = 'Promise'; +var getInternalState = InternalStateModule.getterFor(PROMISE); +var setInternalState = InternalStateModule.set; +var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); +var NativePromisePrototype = NativePromise && NativePromise.prototype; +var PromiseConstructor = NativePromise; +var PromisePrototype = NativePromisePrototype; +var TypeError = global.TypeError; +var document = global.document; +var process = global.process; +var newPromiseCapability = newPromiseCapabilityModule.f; +var newGenericPromiseCapability = newPromiseCapability; +var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); +var NATIVE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent); +var UNHANDLED_REJECTION = 'unhandledrejection'; +var REJECTION_HANDLED = 'rejectionhandled'; +var PENDING = 0; +var FULFILLED = 1; +var REJECTED = 2; +var HANDLED = 1; +var UNHANDLED = 2; +var SUBCLASSING = false; +var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; +var FORCED = isForced(PROMISE, function () { + var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor); + var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor); + if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) + return true; + if (IS_PURE && !PromisePrototype['finally']) + return true; + if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) + return false; + var promise = new PromiseConstructor(function (resolve) { + resolve(1); + }); + var FakePromise = function (exec) { + exec(function () { + }, function () { + }); + }; + var constructor = promise.constructor = {}; + constructor[SPECIES] = FakePromise; + SUBCLASSING = promise.then(function () { + }) instanceof FakePromise; + if (!SUBCLASSING) + return true; + return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT; +}); +var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) { + PromiseConstructor.all(iterable)['catch'](function () { + }); +}); +var isThenable = function (it) { + var then; + return isObject(it) && isCallable(then = it.then) ? then : false; +}; +var callReaction = function (reaction, state) { + var value = state.value; + var ok = state.state == FULFILLED; + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (state.rejection === UNHANDLED) + onHandleUnhandled(state); + state.rejection = HANDLED; + } + if (handler === true) + result = value; + else { + if (domain) + domain.enter(); + result = handler(value); + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + call(then, result, resolve, reject); + } else + resolve(result); + } else + reject(value); + } catch (error) { + if (domain && !exited) + domain.exit(); + reject(error); + } +}; +var notify = function (state, isReject) { + if (state.notified) + return; + state.notified = true; + microtask(function () { + var reactions = state.reactions; + var reaction; + while (reaction = reactions.get()) { + callReaction(reaction, state); + } + state.notified = false; + if (isReject && !state.rejection) + onUnhandled(state); + }); +}; +var dispatchEvent = function (name, promise, reason) { + var event, handler; + if (DISPATCH_EVENT) { + event = document.createEvent('Event'); + event.promise = promise; + event.reason = reason; + event.initEvent(name, false, true); + global.dispatchEvent(event); + } else + event = { + promise: promise, + reason: reason + }; + if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) + handler(event); + else if (name === UNHANDLED_REJECTION) + hostReportErrors('Unhandled promise rejection', reason); +}; +var onUnhandled = function (state) { + call(task, global, function () { + var promise = state.facade; + var value = state.value; + var IS_UNHANDLED = isUnhandled(state); + var result; + if (IS_UNHANDLED) { + result = perform(function () { + if (IS_NODE) { + process.emit('unhandledRejection', value, promise); + } else + dispatchEvent(UNHANDLED_REJECTION, promise, value); + }); + state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; + if (result.error) + throw result.value; + } + }); +}; +var isUnhandled = function (state) { + return state.rejection !== HANDLED && !state.parent; +}; +var onHandleUnhandled = function (state) { + call(task, global, function () { + var promise = state.facade; + if (IS_NODE) { + process.emit('rejectionHandled', promise); + } else + dispatchEvent(REJECTION_HANDLED, promise, state.value); + }); +}; +var bind = function (fn, state, unwrap) { + return function (value) { + fn(state, value, unwrap); + }; +}; +var internalReject = function (state, value, unwrap) { + if (state.done) + return; + state.done = true; + if (unwrap) + state = unwrap; + state.value = value; + state.state = REJECTED; + notify(state, true); +}; +var internalResolve = function (state, value, unwrap) { + if (state.done) + return; + state.done = true; + if (unwrap) + state = unwrap; + try { + if (state.facade === value) + throw TypeError("Promise can't be resolved itself"); + var then = isThenable(value); + if (then) { + microtask(function () { + var wrapper = { done: false }; + try { + call(then, value, bind(internalResolve, wrapper, state), bind(internalReject, wrapper, state)); + } catch (error) { + internalReject(wrapper, error, state); + } + }); + } else { + state.value = value; + state.state = FULFILLED; + notify(state, false); + } + } catch (error) { + internalReject({ done: false }, error, state); + } +}; +if (FORCED) { + PromiseConstructor = function Promise(executor) { + anInstance(this, PromisePrototype); + aCallable(executor); + call(Internal, this); + var state = getInternalState(this); + try { + executor(bind(internalResolve, state), bind(internalReject, state)); + } catch (error) { + internalReject(state, error); + } + }; + PromisePrototype = PromiseConstructor.prototype; + Internal = function Promise(executor) { + setInternalState(this, { + type: PROMISE, + done: false, + notified: false, + parent: false, + reactions: new Queue(), + rejection: false, + state: PENDING, + value: undefined + }); + }; + Internal.prototype = redefineAll(PromisePrototype, { + then: function then(onFulfilled, onRejected) { + var state = getInternalPromiseState(this); + var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); + state.parent = true; + reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; + reaction.fail = isCallable(onRejected) && onRejected; + reaction.domain = IS_NODE ? process.domain : undefined; + if (state.state == PENDING) + state.reactions.add(reaction); + else + microtask(function () { + callReaction(reaction, state); + }); + return reaction.promise; + }, + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } + }); + OwnPromiseCapability = function () { + var promise = new Internal(); + var state = getInternalState(promise); + this.promise = promise; + this.resolve = bind(internalResolve, state); + this.reject = bind(internalReject, state); + }; + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C); + }; + if (!IS_PURE && isCallable(NativePromise) && NativePromisePrototype !== Object.prototype) { + nativeThen = NativePromisePrototype.then; + if (!SUBCLASSING) { + redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { + var that = this; + return new PromiseConstructor(function (resolve, reject) { + call(nativeThen, that, resolve, reject); + }).then(onFulfilled, onRejected); + }, { unsafe: true }); + redefine(NativePromisePrototype, 'catch', PromisePrototype['catch'], { unsafe: true }); + } + try { + delete NativePromisePrototype.constructor; + } catch (error) { + } + if (setPrototypeOf) { + setPrototypeOf(NativePromisePrototype, PromisePrototype); + } + } +} +$({ + global: true, + wrap: true, + forced: FORCED +}, { Promise: PromiseConstructor }); +setToStringTag(PromiseConstructor, PROMISE, false, true); +setSpecies(PROMISE); +PromiseWrapper = getBuiltIn(PROMISE); +$({ + target: PROMISE, + stat: true, + forced: FORCED +}, { + reject: function reject(r) { + var capability = newPromiseCapability(this); + call(capability.reject, undefined, r); + return capability.promise; + } }); $({ - target: 'Array', + target: PROMISE, + stat: true, + forced: IS_PURE || FORCED +}, { + resolve: function resolve(x) { + return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x); + } +}); +$({ + target: PROMISE, stat: true, forced: INCORRECT_ITERATION -}, { from: from }); +}, { + all: function all(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call($promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) + return; + alreadyCalled = true; + values[index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.error) + reject(result.value); + return capability.promise; + }, + race: function race(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + iterate(iterable, function (promise) { + call($promiseResolve, C, promise).then(capability.resolve, reject); + }); + }); + if (result.error) + reject(result.value); + return capability.promise; + } +}); /***/ }), -/* 86 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 99 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +module.exports = global.Promise; + +/***/ }), +/* 100 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var redefine = __w_pdfjs_require__(49); +module.exports = function (target, src, options) { + for (var key in src) + redefine(target, key, src[key], options); + return target; +}; + +/***/ }), +/* 101 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { "use strict"; -var bind = __w_pdfjs_require__(58); -var toObject = __w_pdfjs_require__(79); -var callWithSafeIterationClosing = __w_pdfjs_require__(87); -var isArrayIteratorMethod = __w_pdfjs_require__(88); -var toLength = __w_pdfjs_require__(42); -var createProperty = __w_pdfjs_require__(89); -var getIteratorMethod = __w_pdfjs_require__(90); -module.exports = function from(arrayLike) { - var O = toObject(arrayLike); - var C = typeof this == 'function' ? this : Array; - var argumentsLength = arguments.length; - var mapfn = argumentsLength > 1 ? arguments[1] : undefined; - var mapping = mapfn !== undefined; - var iteratorMethod = getIteratorMethod(O); - var index = 0; - var length, result, step, iterator, next, value; - if (mapping) - mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2); - if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) { - iterator = iteratorMethod.call(O); - next = iterator.next; - result = new C(); - for (; !(step = next.call(iterator)).done; index++) { - value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [ - step.value, - index - ], true) : step.value; - createProperty(result, index, value); - } - } else { - length = toLength(O.length); - result = new C(length); - for (; length > index; index++) { - value = mapping ? mapfn(O[index], index) : O[index]; - createProperty(result, index, value); - } - } - result.length = index; - return result; -}; - -/***/ }), -/* 87 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var anObject = __w_pdfjs_require__(23); -module.exports = function (iterator, fn, value, ENTRIES) { - try { - return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); - } catch (error) { - var returnMethod = iterator['return']; - if (returnMethod !== undefined) - anObject(returnMethod.call(iterator)); - throw error; +var getBuiltIn = __w_pdfjs_require__(25); +var definePropertyModule = __w_pdfjs_require__(46); +var wellKnownSymbol = __w_pdfjs_require__(35); +var DESCRIPTORS = __w_pdfjs_require__(9); +var SPECIES = wellKnownSymbol('species'); +module.exports = function (CONSTRUCTOR_NAME) { + var Constructor = getBuiltIn(CONSTRUCTOR_NAME); + var defineProperty = definePropertyModule.f; + if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { + defineProperty(Constructor, SPECIES, { + configurable: true, + get: function () { + return this; + } + }); } }; /***/ }), -/* 88 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 102 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var wellKnownSymbol = __w_pdfjs_require__(53); -var Iterators = __w_pdfjs_require__(82); -var ITERATOR = wellKnownSymbol('iterator'); -var ArrayPrototype = Array.prototype; -module.exports = function (it) { - return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +var global = __w_pdfjs_require__(7); +var isPrototypeOf = __w_pdfjs_require__(26); +var TypeError = global.TypeError; +module.exports = function (it, Prototype) { + if (isPrototypeOf(Prototype, it)) + return it; + throw TypeError('Incorrect invocation'); }; /***/ }), -/* 89 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 103 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -"use strict"; - -var toPrimitive = __w_pdfjs_require__(16); -var definePropertyModule = __w_pdfjs_require__(22); -var createPropertyDescriptor = __w_pdfjs_require__(11); -module.exports = function (object, key, value) { - var propertyKey = toPrimitive(key); - if (propertyKey in object) - definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); - else - object[propertyKey] = value; -}; - -/***/ }), -/* 90 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var classof = __w_pdfjs_require__(91); -var Iterators = __w_pdfjs_require__(82); -var wellKnownSymbol = __w_pdfjs_require__(53); -var ITERATOR = wellKnownSymbol('iterator'); -module.exports = function (it) { - if (it != undefined) - return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)]; -}; - -/***/ }), -/* 91 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(92); -var classofRaw = __w_pdfjs_require__(14); -var wellKnownSymbol = __w_pdfjs_require__(53); -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -var CORRECT_ARGUMENTS = classofRaw(function () { - return arguments; -}()) == 'Arguments'; -var tryGet = function (it, key) { - try { - return it[key]; - } catch (error) { - } -}; -module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { - var O, tag, result; - return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; -}; - -/***/ }), -/* 92 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var wellKnownSymbol = __w_pdfjs_require__(53); -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -var test = {}; -test[TO_STRING_TAG] = 'z'; -module.exports = String(test) === '[object z]'; - -/***/ }), -/* 93 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var wellKnownSymbol = __w_pdfjs_require__(53); +var wellKnownSymbol = __w_pdfjs_require__(35); var ITERATOR = wellKnownSymbol('iterator'); var SAFE_CLOSING = false; try { @@ -3120,838 +3588,117 @@ module.exports = function (exec, SKIP_CLOSING) { return ITERATION_SUPPORT; }; -/***/ }), -/* 94 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -__w_pdfjs_require__(95); -var path = __w_pdfjs_require__(38); -module.exports = path.Object.assign; - -/***/ }), -/* 95 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var $ = __w_pdfjs_require__(5); -var assign = __w_pdfjs_require__(96); -$({ - target: 'Object', - stat: true, - forced: Object.assign !== assign -}, { assign: assign }); - -/***/ }), -/* 96 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var DESCRIPTORS = __w_pdfjs_require__(8); -var fails = __w_pdfjs_require__(9); -var objectKeys = __w_pdfjs_require__(69); -var getOwnPropertySymbolsModule = __w_pdfjs_require__(46); -var propertyIsEnumerableModule = __w_pdfjs_require__(10); -var toObject = __w_pdfjs_require__(79); -var IndexedObject = __w_pdfjs_require__(13); -var nativeAssign = Object.assign; -var defineProperty = Object.defineProperty; -module.exports = !nativeAssign || fails(function () { - if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', { - enumerable: true, - get: function () { - defineProperty(this, 'b', { - value: 3, - enumerable: false - }); - } - }), { b: 2 })).b !== 1) - return true; - var A = {}; - var B = {}; - var symbol = Symbol(); - var alphabet = 'abcdefghijklmnopqrst'; - A[symbol] = 7; - alphabet.split('').forEach(function (chr) { - B[chr] = chr; - }); - return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet; -}) ? function assign(target, source) { - var T = toObject(target); - var argumentsLength = arguments.length; - var index = 1; - var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; - var propertyIsEnumerable = propertyIsEnumerableModule.f; - while (argumentsLength > index) { - var S = IndexedObject(arguments[index++]); - var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S); - var length = keys.length; - var j = 0; - var key; - while (length > j) { - key = keys[j++]; - if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) - T[key] = S[key]; - } - } - return T; -} : nativeAssign; - -/***/ }), -/* 97 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -__w_pdfjs_require__(98); -var path = __w_pdfjs_require__(38); -module.exports = path.Math.log2; - -/***/ }), -/* 98 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var $ = __w_pdfjs_require__(5); -var log = Math.log; -var LN2 = Math.LN2; -$({ - target: 'Math', - stat: true -}, { - log2: function log2(x) { - return log(x) / LN2; - } -}); - -/***/ }), -/* 99 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -__w_pdfjs_require__(100); -var path = __w_pdfjs_require__(38); -module.exports = path.Number.isNaN; - -/***/ }), -/* 100 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var $ = __w_pdfjs_require__(5); -$({ - target: 'Number', - stat: true -}, { - isNaN: function isNaN(number) { - return number != number; - } -}); - -/***/ }), -/* 101 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -__w_pdfjs_require__(102); -var path = __w_pdfjs_require__(38); -module.exports = path.Number.isInteger; - -/***/ }), -/* 102 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var $ = __w_pdfjs_require__(5); -var isInteger = __w_pdfjs_require__(103); -$({ - target: 'Number', - stat: true -}, { isInteger: isInteger }); - -/***/ }), -/* 103 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var isObject = __w_pdfjs_require__(17); -var floor = Math.floor; -module.exports = function isInteger(it) { - return !isObject(it) && isFinite(it) && floor(it) === it; -}; - /***/ }), /* 104 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -__w_pdfjs_require__(105); -__w_pdfjs_require__(73); -__w_pdfjs_require__(107); -__w_pdfjs_require__(110); -__w_pdfjs_require__(126); -__w_pdfjs_require__(127); -var path = __w_pdfjs_require__(38); -module.exports = path.Promise; - -/***/ }), -/* 105 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(92); -var redefine = __w_pdfjs_require__(24); -var toString = __w_pdfjs_require__(106); -if (!TO_STRING_TAG_SUPPORT) { - redefine(Object.prototype, 'toString', toString, { unsafe: true }); -} - -/***/ }), -/* 106 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(92); -var classof = __w_pdfjs_require__(91); -module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { - return '[object ' + classof(this) + ']'; -}; - -/***/ }), -/* 107 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var global = __w_pdfjs_require__(6); -var DOMIterables = __w_pdfjs_require__(108); -var ArrayIteratorMethods = __w_pdfjs_require__(109); -var createNonEnumerableProperty = __w_pdfjs_require__(21); -var wellKnownSymbol = __w_pdfjs_require__(53); -var ITERATOR = wellKnownSymbol('iterator'); -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -var ArrayValues = ArrayIteratorMethods.values; -for (var COLLECTION_NAME in DOMIterables) { - var Collection = global[COLLECTION_NAME]; - var CollectionPrototype = Collection && Collection.prototype; - if (CollectionPrototype) { - if (CollectionPrototype[ITERATOR] !== ArrayValues) - try { - createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); - } catch (error) { - CollectionPrototype[ITERATOR] = ArrayValues; - } - if (!CollectionPrototype[TO_STRING_TAG]) { - createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); - } - if (DOMIterables[COLLECTION_NAME]) - for (var METHOD_NAME in ArrayIteratorMethods) { - if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) - try { - createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); - } catch (error) { - CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; - } - } - } -} - -/***/ }), -/* 108 */ -/***/ (function(module, exports) { - -module.exports = { - CSSRuleList: 0, - CSSStyleDeclaration: 0, - CSSValueList: 0, - ClientRectList: 0, - DOMRectList: 0, - DOMStringList: 0, - DOMTokenList: 1, - DataTransferItemList: 0, - FileList: 0, - HTMLAllCollection: 0, - HTMLCollection: 0, - HTMLFormElement: 0, - HTMLSelectElement: 0, - MediaList: 0, - MimeTypeArray: 0, - NamedNodeMap: 0, - NodeList: 1, - PaintRequestList: 0, - Plugin: 0, - PluginArray: 0, - SVGLengthList: 0, - SVGNumberList: 0, - SVGPathSegList: 0, - SVGPointList: 0, - SVGStringList: 0, - SVGTransformList: 0, - SourceBufferList: 0, - StyleSheetList: 0, - TextTrackCueList: 0, - TextTrackList: 0, - TouchList: 0 -}; - -/***/ }), -/* 109 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var toIndexedObject = __w_pdfjs_require__(12); -var addToUnscopables = __w_pdfjs_require__(66); -var Iterators = __w_pdfjs_require__(82); -var InternalStateModule = __w_pdfjs_require__(28); -var defineIterator = __w_pdfjs_require__(75); -var ARRAY_ITERATOR = 'Array Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); -module.exports = defineIterator(Array, 'Array', function (iterated, kind) { - setInternalState(this, { - type: ARRAY_ITERATOR, - target: toIndexedObject(iterated), - index: 0, - kind: kind - }); -}, function () { - var state = getInternalState(this); - var target = state.target; - var kind = state.kind; - var index = state.index++; - if (!target || index >= target.length) { - state.target = undefined; - return { - value: undefined, - done: true - }; - } - if (kind == 'keys') - return { - value: index, - done: false - }; - if (kind == 'values') - return { - value: target[index], - done: false - }; - return { - value: [ - index, - target[index] - ], - done: false - }; -}, 'values'); -Iterators.Arguments = Iterators.Array; -addToUnscopables('keys'); -addToUnscopables('values'); -addToUnscopables('entries'); - -/***/ }), -/* 110 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var $ = __w_pdfjs_require__(5); -var IS_PURE = __w_pdfjs_require__(32); -var global = __w_pdfjs_require__(6); -var getBuiltIn = __w_pdfjs_require__(37); -var NativePromise = __w_pdfjs_require__(111); -var redefine = __w_pdfjs_require__(24); -var redefineAll = __w_pdfjs_require__(112); -var setToStringTag = __w_pdfjs_require__(81); -var setSpecies = __w_pdfjs_require__(113); -var isObject = __w_pdfjs_require__(17); -var aFunction = __w_pdfjs_require__(59); -var anInstance = __w_pdfjs_require__(114); -var classof = __w_pdfjs_require__(14); -var inspectSource = __w_pdfjs_require__(26); -var iterate = __w_pdfjs_require__(115); -var checkCorrectnessOfIteration = __w_pdfjs_require__(93); -var speciesConstructor = __w_pdfjs_require__(116); -var task = __w_pdfjs_require__(117).set; -var microtask = __w_pdfjs_require__(120); -var promiseResolve = __w_pdfjs_require__(121); -var hostReportErrors = __w_pdfjs_require__(123); -var newPromiseCapabilityModule = __w_pdfjs_require__(122); -var perform = __w_pdfjs_require__(124); -var InternalStateModule = __w_pdfjs_require__(28); -var isForced = __w_pdfjs_require__(47); -var wellKnownSymbol = __w_pdfjs_require__(53); -var V8_VERSION = __w_pdfjs_require__(125); -var SPECIES = wellKnownSymbol('species'); -var PROMISE = 'Promise'; -var getInternalState = InternalStateModule.get; -var setInternalState = InternalStateModule.set; -var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); -var PromiseConstructor = NativePromise; -var TypeError = global.TypeError; -var document = global.document; -var process = global.process; -var $fetch = getBuiltIn('fetch'); -var newPromiseCapability = newPromiseCapabilityModule.f; -var newGenericPromiseCapability = newPromiseCapability; -var IS_NODE = classof(process) == 'process'; -var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); -var UNHANDLED_REJECTION = 'unhandledrejection'; -var REJECTION_HANDLED = 'rejectionhandled'; -var PENDING = 0; -var FULFILLED = 1; -var REJECTED = 2; -var HANDLED = 1; -var UNHANDLED = 2; -var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; -var FORCED = isForced(PROMISE, function () { - var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor); - if (!GLOBAL_CORE_JS_PROMISE) { - if (V8_VERSION === 66) - return true; - if (!IS_NODE && typeof PromiseRejectionEvent != 'function') - return true; - } - if (IS_PURE && !PromiseConstructor.prototype['finally']) - return true; - if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) - return false; - var promise = PromiseConstructor.resolve(1); - var FakePromise = function (exec) { - exec(function () { - }, function () { - }); - }; - var constructor = promise.constructor = {}; - constructor[SPECIES] = FakePromise; - return !(promise.then(function () { - }) instanceof FakePromise); -}); -var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) { - PromiseConstructor.all(iterable)['catch'](function () { - }); -}); -var isThenable = function (it) { - var then; - return isObject(it) && typeof (then = it.then) == 'function' ? then : false; -}; -var notify = function (promise, state, isReject) { - if (state.notified) - return; - state.notified = true; - var chain = state.reactions; - microtask(function () { - var value = state.value; - var ok = state.state == FULFILLED; - var index = 0; - while (chain.length > index) { - var reaction = chain[index++]; - var handler = ok ? reaction.ok : reaction.fail; - var resolve = reaction.resolve; - var reject = reaction.reject; - var domain = reaction.domain; - var result, then, exited; - try { - if (handler) { - if (!ok) { - if (state.rejection === UNHANDLED) - onHandleUnhandled(promise, state); - state.rejection = HANDLED; - } - if (handler === true) - result = value; - else { - if (domain) - domain.enter(); - result = handler(value); - if (domain) { - domain.exit(); - exited = true; - } - } - if (result === reaction.promise) { - reject(TypeError('Promise-chain cycle')); - } else if (then = isThenable(result)) { - then.call(result, resolve, reject); - } else - resolve(result); - } else - reject(value); - } catch (error) { - if (domain && !exited) - domain.exit(); - reject(error); - } - } - state.reactions = []; - state.notified = false; - if (isReject && !state.rejection) - onUnhandled(promise, state); - }); -}; -var dispatchEvent = function (name, promise, reason) { - var event, handler; - if (DISPATCH_EVENT) { - event = document.createEvent('Event'); - event.promise = promise; - event.reason = reason; - event.initEvent(name, false, true); - global.dispatchEvent(event); - } else - event = { - promise: promise, - reason: reason - }; - if (handler = global['on' + name]) - handler(event); - else if (name === UNHANDLED_REJECTION) - hostReportErrors('Unhandled promise rejection', reason); -}; -var onUnhandled = function (promise, state) { - task.call(global, function () { - var value = state.value; - var IS_UNHANDLED = isUnhandled(state); - var result; - if (IS_UNHANDLED) { - result = perform(function () { - if (IS_NODE) { - process.emit('unhandledRejection', value, promise); - } else - dispatchEvent(UNHANDLED_REJECTION, promise, value); - }); - state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; - if (result.error) - throw result.value; - } - }); -}; -var isUnhandled = function (state) { - return state.rejection !== HANDLED && !state.parent; -}; -var onHandleUnhandled = function (promise, state) { - task.call(global, function () { - if (IS_NODE) { - process.emit('rejectionHandled', promise); - } else - dispatchEvent(REJECTION_HANDLED, promise, state.value); - }); -}; -var bind = function (fn, promise, state, unwrap) { - return function (value) { - fn(promise, state, value, unwrap); - }; -}; -var internalReject = function (promise, state, value, unwrap) { - if (state.done) - return; - state.done = true; - if (unwrap) - state = unwrap; - state.value = value; - state.state = REJECTED; - notify(promise, state, true); -}; -var internalResolve = function (promise, state, value, unwrap) { - if (state.done) - return; - state.done = true; - if (unwrap) - state = unwrap; - try { - if (promise === value) - throw TypeError("Promise can't be resolved itself"); - var then = isThenable(value); - if (then) { - microtask(function () { - var wrapper = { done: false }; - try { - then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state)); - } catch (error) { - internalReject(promise, wrapper, error, state); - } - }); - } else { - state.value = value; - state.state = FULFILLED; - notify(promise, state, false); - } - } catch (error) { - internalReject(promise, { done: false }, error, state); - } -}; -if (FORCED) { - PromiseConstructor = function Promise(executor) { - anInstance(this, PromiseConstructor, PROMISE); - aFunction(executor); - Internal.call(this); - var state = getInternalState(this); - try { - executor(bind(internalResolve, this, state), bind(internalReject, this, state)); - } catch (error) { - internalReject(this, state, error); - } - }; - Internal = function Promise(executor) { - setInternalState(this, { - type: PROMISE, - done: false, - notified: false, - parent: false, - reactions: [], - rejection: false, - state: PENDING, - value: undefined - }); - }; - Internal.prototype = redefineAll(PromiseConstructor.prototype, { - then: function then(onFulfilled, onRejected) { - var state = getInternalPromiseState(this); - var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); - reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; - reaction.fail = typeof onRejected == 'function' && onRejected; - reaction.domain = IS_NODE ? process.domain : undefined; - state.parent = true; - state.reactions.push(reaction); - if (state.state != PENDING) - notify(this, state, false); - return reaction.promise; - }, - 'catch': function (onRejected) { - return this.then(undefined, onRejected); - } - }); - OwnPromiseCapability = function () { - var promise = new Internal(); - var state = getInternalState(promise); - this.promise = promise; - this.resolve = bind(internalResolve, promise, state); - this.reject = bind(internalReject, promise, state); - }; - newPromiseCapabilityModule.f = newPromiseCapability = function (C) { - return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C); - }; - if (!IS_PURE && typeof NativePromise == 'function') { - nativeThen = NativePromise.prototype.then; - redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) { - var that = this; - return new PromiseConstructor(function (resolve, reject) { - nativeThen.call(that, resolve, reject); - }).then(onFulfilled, onRejected); - }, { unsafe: true }); - if (typeof $fetch == 'function') - $({ - global: true, - enumerable: true, - forced: true - }, { - fetch: function fetch(input) { - return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments)); - } - }); - } -} -$({ - global: true, - wrap: true, - forced: FORCED -}, { Promise: PromiseConstructor }); -setToStringTag(PromiseConstructor, PROMISE, false, true); -setSpecies(PROMISE); -PromiseWrapper = getBuiltIn(PROMISE); -$({ - target: PROMISE, - stat: true, - forced: FORCED -}, { - reject: function reject(r) { - var capability = newPromiseCapability(this); - capability.reject.call(undefined, r); - return capability.promise; - } -}); -$({ - target: PROMISE, - stat: true, - forced: IS_PURE || FORCED -}, { - resolve: function resolve(x) { - return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x); - } -}); -$({ - target: PROMISE, - stat: true, - forced: INCORRECT_ITERATION -}, { - all: function all(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var resolve = capability.resolve; - var reject = capability.reject; - var result = perform(function () { - var $promiseResolve = aFunction(C.resolve); - var values = []; - var counter = 0; - var remaining = 1; - iterate(iterable, function (promise) { - var index = counter++; - var alreadyCalled = false; - values.push(undefined); - remaining++; - $promiseResolve.call(C, promise).then(function (value) { - if (alreadyCalled) - return; - alreadyCalled = true; - values[index] = value; - --remaining || resolve(values); - }, reject); - }); - --remaining || resolve(values); - }); - if (result.error) - reject(result.value); - return capability.promise; - }, - race: function race(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var reject = capability.reject; - var result = perform(function () { - var $promiseResolve = aFunction(C.resolve); - iterate(iterable, function (promise) { - $promiseResolve.call(C, promise).then(capability.resolve, reject); - }); - }); - if (result.error) - reject(result.value); - return capability.promise; - } -}); - -/***/ }), -/* 111 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var global = __w_pdfjs_require__(6); -module.exports = global.Promise; - -/***/ }), -/* 112 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var redefine = __w_pdfjs_require__(24); -module.exports = function (target, src, options) { - for (var key in src) - redefine(target, key, src[key], options); - return target; -}; - -/***/ }), -/* 113 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var getBuiltIn = __w_pdfjs_require__(37); -var definePropertyModule = __w_pdfjs_require__(22); -var wellKnownSymbol = __w_pdfjs_require__(53); -var DESCRIPTORS = __w_pdfjs_require__(8); -var SPECIES = wellKnownSymbol('species'); -module.exports = function (CONSTRUCTOR_NAME) { - var Constructor = getBuiltIn(CONSTRUCTOR_NAME); - var defineProperty = definePropertyModule.f; - if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { - defineProperty(Constructor, SPECIES, { - configurable: true, - get: function () { - return this; - } - }); - } -}; - -/***/ }), -/* 114 */ -/***/ (function(module, exports) { - -module.exports = function (it, Constructor, name) { - if (!(it instanceof Constructor)) { - throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation'); - } - return it; -}; - -/***/ }), -/* 115 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var anObject = __w_pdfjs_require__(23); -var isArrayIteratorMethod = __w_pdfjs_require__(88); -var toLength = __w_pdfjs_require__(42); -var bind = __w_pdfjs_require__(58); -var getIteratorMethod = __w_pdfjs_require__(90); -var callWithSafeIterationClosing = __w_pdfjs_require__(87); -var Result = function (stopped, result) { - this.stopped = stopped; - this.result = result; -}; -var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) { - var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1); - var iterator, iterFn, index, length, result, next, step; - if (IS_ITERATOR) { - iterator = iterable; - } else { - iterFn = getIteratorMethod(iterable); - if (typeof iterFn != 'function') - throw TypeError('Target is not iterable'); - if (isArrayIteratorMethod(iterFn)) { - for (index = 0, length = toLength(iterable.length); length > index; index++) { - result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]); - if (result && result instanceof Result) - return result; - } - return new Result(false); - } - iterator = iterFn.call(iterable); - } - next = iterator.next; - while (!(step = next.call(iterator)).done) { - result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES); - if (typeof result == 'object' && result && result instanceof Result) - return result; - } - return new Result(false); -}; -iterate.stop = function (result) { - return new Result(true, result); -}; - -/***/ }), -/* 116 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var anObject = __w_pdfjs_require__(23); -var aFunction = __w_pdfjs_require__(59); -var wellKnownSymbol = __w_pdfjs_require__(53); +var anObject = __w_pdfjs_require__(48); +var aConstructor = __w_pdfjs_require__(105); +var wellKnownSymbol = __w_pdfjs_require__(35); var SPECIES = wellKnownSymbol('species'); module.exports = function (O, defaultConstructor) { var C = anObject(O).constructor; var S; - return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S); + return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S); }; /***/ }), -/* 117 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 105 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var global = __w_pdfjs_require__(6); -var fails = __w_pdfjs_require__(9); -var classof = __w_pdfjs_require__(14); -var bind = __w_pdfjs_require__(58); -var html = __w_pdfjs_require__(70); -var createElement = __w_pdfjs_require__(20); -var IS_IOS = __w_pdfjs_require__(118); -var location = global.location; +var global = __w_pdfjs_require__(7); +var isConstructor = __w_pdfjs_require__(106); +var tryToString = __w_pdfjs_require__(33); +var TypeError = global.TypeError; +module.exports = function (argument) { + if (isConstructor(argument)) + return argument; + throw TypeError(tryToString(argument) + ' is not a constructor'); +}; + +/***/ }), +/* 106 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +var fails = __w_pdfjs_require__(10); +var isCallable = __w_pdfjs_require__(23); +var classof = __w_pdfjs_require__(84); +var getBuiltIn = __w_pdfjs_require__(25); +var inspectSource = __w_pdfjs_require__(50); +var noop = function () { +}; +var empty = []; +var construct = getBuiltIn('Reflect', 'construct'); +var constructorRegExp = /^\s*(?:class|function)\b/; +var exec = uncurryThis(constructorRegExp.exec); +var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); +var isConstructorModern = function isConstructor(argument) { + if (!isCallable(argument)) + return false; + try { + construct(noop, empty, argument); + return true; + } catch (error) { + return false; + } +}; +var isConstructorLegacy = function isConstructor(argument) { + if (!isCallable(argument)) + return false; + switch (classof(argument)) { + case 'AsyncFunction': + case 'GeneratorFunction': + case 'AsyncGeneratorFunction': + return false; + } + try { + return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); + } catch (error) { + return true; + } +}; +isConstructorLegacy.sham = true; +module.exports = !construct || fails(function () { + var called; + return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function () { + called = true; + }) || called; +}) ? isConstructorLegacy : isConstructorModern; + +/***/ }), +/* 107 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var apply = __w_pdfjs_require__(108); +var bind = __w_pdfjs_require__(79); +var isCallable = __w_pdfjs_require__(23); +var hasOwn = __w_pdfjs_require__(40); +var fails = __w_pdfjs_require__(10); +var html = __w_pdfjs_require__(75); +var arraySlice = __w_pdfjs_require__(109); +var createElement = __w_pdfjs_require__(44); +var validateArgumentsLength = __w_pdfjs_require__(110); +var IS_IOS = __w_pdfjs_require__(111); +var IS_NODE = __w_pdfjs_require__(112); var set = global.setImmediate; var clear = global.clearImmediate; var process = global.process; -var MessageChannel = global.MessageChannel; var Dispatch = global.Dispatch; +var Function = global.Function; +var MessageChannel = global.MessageChannel; +var String = global.String; var counter = 0; var queue = {}; var ONREADYSTATECHANGE = 'onreadystatechange'; -var defer, channel, port; +var location, defer, channel, port; +try { + location = global.location; +} catch (error) { +} var run = function (id) { - if (queue.hasOwnProperty(id)) { + if (hasOwn(queue, id)) { var fn = queue[id]; delete queue[id]; fn(); @@ -3966,16 +3713,15 @@ var listener = function (event) { run(event.data); }; var post = function (id) { - global.postMessage(id + '', location.protocol + '//' + location.host); + global.postMessage(String(id), location.protocol + '//' + location.host); }; if (!set || !clear) { - set = function setImmediate(fn) { - var args = []; - var i = 1; - while (arguments.length > i) - args.push(arguments[i++]); + set = function setImmediate(handler) { + validateArgumentsLength(arguments.length, 1); + var fn = isCallable(handler) ? handler : Function(handler); + var args = arraySlice(arguments, 1); queue[++counter] = function () { - (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args); + apply(fn, undefined, args); }; defer(counter); return counter; @@ -3983,7 +3729,7 @@ if (!set || !clear) { clear = function clearImmediate(id) { delete queue[id]; }; - if (classof(process) == 'process') { + if (IS_NODE) { defer = function (id) { process.nextTick(runner(id)); }; @@ -3995,8 +3741,8 @@ if (!set || !clear) { channel = new MessageChannel(); port = channel.port2; channel.port1.onmessage = listener; - defer = bind(port.postMessage, port, 1); - } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) { + defer = bind(port.postMessage, port); + } else if (global.addEventListener && isCallable(global.postMessage) && !global.importScripts && location && location.protocol !== 'file:' && !fails(post)) { defer = post; global.addEventListener('message', listener, false); } else if (ONREADYSTATECHANGE in createElement('script')) { @@ -4018,32 +3764,67 @@ module.exports = { }; /***/ }), -/* 118 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 108 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var userAgent = __w_pdfjs_require__(119); -module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent); +var NATIVE_BIND = __w_pdfjs_require__(12); +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); /***/ }), -/* 119 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 109 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var getBuiltIn = __w_pdfjs_require__(37); -module.exports = getBuiltIn('navigator', 'userAgent') || ''; +var uncurryThis = __w_pdfjs_require__(17); +module.exports = uncurryThis([].slice); /***/ }), -/* 120 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 110 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var global = __w_pdfjs_require__(6); -var getOwnPropertyDescriptor = __w_pdfjs_require__(7).f; -var classof = __w_pdfjs_require__(14); -var macrotask = __w_pdfjs_require__(117).set; -var IS_IOS = __w_pdfjs_require__(118); +var global = __w_pdfjs_require__(7); +var TypeError = global.TypeError; +module.exports = function (passed, required) { + if (passed < required) + throw TypeError('Not enough arguments'); + return passed; +}; + +/***/ }), +/* 111 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var userAgent = __w_pdfjs_require__(30); +module.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent); + +/***/ }), +/* 112 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var classof = __w_pdfjs_require__(18); +var global = __w_pdfjs_require__(7); +module.exports = classof(global.process) == 'process'; + +/***/ }), +/* 113 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var bind = __w_pdfjs_require__(79); +var getOwnPropertyDescriptor = (__w_pdfjs_require__(8).f); +var macrotask = (__w_pdfjs_require__(107).set); +var IS_IOS = __w_pdfjs_require__(111); +var IS_IOS_PEBBLE = __w_pdfjs_require__(114); +var IS_WEBOS_WEBKIT = __w_pdfjs_require__(115); +var IS_NODE = __w_pdfjs_require__(112); var MutationObserver = global.MutationObserver || global.WebKitMutationObserver; +var document = global.document; var process = global.process; var Promise = global.Promise; -var IS_NODE = classof(process) == 'process'; var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask'); var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; var flush, head, last, notify, toggle, node, promise, then; @@ -4069,26 +3850,28 @@ if (!queueMicrotask) { if (parent) parent.enter(); }; - if (IS_NODE) { - notify = function () { - process.nextTick(flush); - }; - } else if (MutationObserver && !IS_IOS) { + if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) { toggle = true; node = document.createTextNode(''); new MutationObserver(flush).observe(node, { characterData: true }); notify = function () { node.data = toggle = !toggle; }; - } else if (Promise && Promise.resolve) { + } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) { promise = Promise.resolve(undefined); - then = promise.then; + promise.constructor = Promise; + then = bind(promise.then, promise); notify = function () { - then.call(promise, flush); + then(flush); + }; + } else if (IS_NODE) { + notify = function () { + process.nextTick(flush); }; } else { + macrotask = bind(macrotask, global); notify = function () { - macrotask.call(global, flush); + macrotask(flush); }; } } @@ -4107,12 +3890,27 @@ module.exports = queueMicrotask || function (fn) { }; /***/ }), -/* 121 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 114 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var anObject = __w_pdfjs_require__(23); -var isObject = __w_pdfjs_require__(17); -var newPromiseCapability = __w_pdfjs_require__(122); +var userAgent = __w_pdfjs_require__(30); +var global = __w_pdfjs_require__(7); +module.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined; + +/***/ }), +/* 115 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var userAgent = __w_pdfjs_require__(30); +module.exports = /web0s(?!.*chrome)/i.test(userAgent); + +/***/ }), +/* 116 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var anObject = __w_pdfjs_require__(48); +var isObject = __w_pdfjs_require__(22); +var newPromiseCapability = __w_pdfjs_require__(117); module.exports = function (C, x) { anObject(C); if (isObject(x) && x.constructor === C) @@ -4124,12 +3922,12 @@ module.exports = function (C, x) { }; /***/ }), -/* 122 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 117 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { "use strict"; -var aFunction = __w_pdfjs_require__(59); +var aCallable = __w_pdfjs_require__(32); var PromiseCapability = function (C) { var resolve, reject; this.promise = new C(function ($$resolve, $$reject) { @@ -4138,28 +3936,28 @@ var PromiseCapability = function (C) { resolve = $$resolve; reject = $$reject; }); - this.resolve = aFunction(resolve); - this.reject = aFunction(reject); + this.resolve = aCallable(resolve); + this.reject = aCallable(reject); }; module.exports.f = function (C) { return new PromiseCapability(C); }; /***/ }), -/* 123 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 118 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var global = __w_pdfjs_require__(6); +var global = __w_pdfjs_require__(7); module.exports = function (a, b) { var console = global.console; if (console && console.error) { - arguments.length === 1 ? console.error(a) : console.error(a, b); + arguments.length == 1 ? console.error(a) : console.error(a, b); } }; /***/ }), -/* 124 */ -/***/ (function(module, exports) { +/* 119 */ +/***/ ((module) => { module.exports = function (exec) { try { @@ -4176,39 +3974,55 @@ module.exports = function (exec) { }; /***/ }), -/* 125 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 120 */ +/***/ ((module) => { -var global = __w_pdfjs_require__(6); -var userAgent = __w_pdfjs_require__(119); -var process = global.process; -var versions = process && process.versions; -var v8 = versions && versions.v8; -var match, version; -if (v8) { - match = v8.split('.'); - version = match[0] + match[1]; -} else if (userAgent) { - match = userAgent.match(/Edge\/(\d+)/); - if (!match || match[1] >= 74) { - match = userAgent.match(/Chrome\/(\d+)/); - if (match) - version = match[1]; +var Queue = function () { + this.head = null; + this.tail = null; +}; +Queue.prototype = { + add: function (item) { + var entry = { + item: item, + next: null + }; + if (this.head) + this.tail.next = entry; + else + this.head = entry; + this.tail = entry; + }, + get: function () { + var entry = this.head; + if (entry) { + this.head = entry.next; + if (this.tail === entry) + this.tail = null; + return entry.item; + } } -} -module.exports = version && +version; +}; +module.exports = Queue; /***/ }), -/* 126 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 121 */ +/***/ ((module) => { + +module.exports = typeof window == 'object'; + +/***/ }), +/* 122 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { "use strict"; -var $ = __w_pdfjs_require__(5); -var aFunction = __w_pdfjs_require__(59); -var newPromiseCapabilityModule = __w_pdfjs_require__(122); -var perform = __w_pdfjs_require__(124); -var iterate = __w_pdfjs_require__(115); +var $ = __w_pdfjs_require__(6); +var call = __w_pdfjs_require__(11); +var aCallable = __w_pdfjs_require__(32); +var newPromiseCapabilityModule = __w_pdfjs_require__(117); +var perform = __w_pdfjs_require__(119); +var iterate = __w_pdfjs_require__(78); $({ target: 'Promise', stat: true @@ -4219,16 +4033,15 @@ $({ var resolve = capability.resolve; var reject = capability.reject; var result = perform(function () { - var promiseResolve = aFunction(C.resolve); + var promiseResolve = aCallable(C.resolve); var values = []; var counter = 0; var remaining = 1; iterate(iterable, function (promise) { var index = counter++; var alreadyCalled = false; - values.push(undefined); remaining++; - promiseResolve.call(C, promise).then(function (value) { + call(promiseResolve, C, promise).then(function (value) { if (alreadyCalled) return; alreadyCalled = true; @@ -4237,13 +4050,13 @@ $({ value: value }; --remaining || resolve(values); - }, function (e) { + }, function (error) { if (alreadyCalled) return; alreadyCalled = true; values[index] = { status: 'rejected', - reason: e + reason: error }; --remaining || resolve(values); }); @@ -4257,19 +4070,75 @@ $({ }); /***/ }), -/* 127 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 123 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { "use strict"; -var $ = __w_pdfjs_require__(5); -var IS_PURE = __w_pdfjs_require__(32); -var NativePromise = __w_pdfjs_require__(111); -var fails = __w_pdfjs_require__(9); -var getBuiltIn = __w_pdfjs_require__(37); -var speciesConstructor = __w_pdfjs_require__(116); -var promiseResolve = __w_pdfjs_require__(121); -var redefine = __w_pdfjs_require__(24); +var $ = __w_pdfjs_require__(6); +var aCallable = __w_pdfjs_require__(32); +var getBuiltIn = __w_pdfjs_require__(25); +var call = __w_pdfjs_require__(11); +var newPromiseCapabilityModule = __w_pdfjs_require__(117); +var perform = __w_pdfjs_require__(119); +var iterate = __w_pdfjs_require__(78); +var PROMISE_ANY_ERROR = 'No one promise resolved'; +$({ + target: 'Promise', + stat: true +}, { + any: function any(iterable) { + var C = this; + var AggregateError = getBuiltIn('AggregateError'); + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var errors = []; + var counter = 0; + var remaining = 1; + var alreadyResolved = false; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyRejected = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyRejected || alreadyResolved) + return; + alreadyResolved = true; + resolve(value); + }, function (error) { + if (alreadyRejected || alreadyResolved) + return; + alreadyRejected = true; + errors[index] = error; + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + }); + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + if (result.error) + reject(result.value); + return capability.promise; + } +}); + +/***/ }), +/* 124 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(6); +var IS_PURE = __w_pdfjs_require__(37); +var NativePromise = __w_pdfjs_require__(99); +var fails = __w_pdfjs_require__(10); +var getBuiltIn = __w_pdfjs_require__(25); +var isCallable = __w_pdfjs_require__(23); +var speciesConstructor = __w_pdfjs_require__(104); +var promiseResolve = __w_pdfjs_require__(116); +var redefine = __w_pdfjs_require__(49); var NON_GENERIC = !!NativePromise && fails(function () { NativePromise.prototype['finally'].call({ then: function () { @@ -4285,7 +4154,7 @@ $({ }, { 'finally': function (onFinally) { var C = speciesConstructor(this, getBuiltIn('Promise')); - var isFunction = typeof onFinally == 'function'; + var isFunction = isCallable(onFinally); return this.then(isFunction ? function (x) { return promiseResolve(C, onFinally()).then(function () { return x; @@ -4297,4501 +4166,131 @@ $({ } : onFinally); } }); -if (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) { - redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']); +if (!IS_PURE && isCallable(NativePromise)) { + var method = getBuiltIn('Promise').prototype['finally']; + if (NativePromise.prototype['finally'] !== method) { + redefine(NativePromise.prototype, 'finally', method, { unsafe: true }); + } } +/***/ }), +/* 125 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var charAt = (__w_pdfjs_require__(126).charAt); +var toString = __w_pdfjs_require__(88); +var InternalStateModule = __w_pdfjs_require__(51); +var defineIterator = __w_pdfjs_require__(92); +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: toString(iterated), + index: 0 + }); +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) + return { + value: undefined, + done: true + }; + point = charAt(string, index); + state.index += point.length; + return { + value: point, + done: false + }; +}); + +/***/ }), +/* 126 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var toString = __w_pdfjs_require__(88); +var requireObjectCoercible = __w_pdfjs_require__(19); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var stringSlice = uncurryThis(''.slice); +var createMethod = function (CONVERT_TO_STRING) { + return function ($this, pos) { + var S = toString(requireObjectCoercible($this)); + var position = toIntegerOrInfinity(pos); + var size = S.length; + var first, second; + if (position < 0 || position >= size) + return CONVERT_TO_STRING ? '' : undefined; + first = charCodeAt(S, position); + return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? charAt(S, position) : first : CONVERT_TO_STRING ? stringSlice(S, position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; + }; +}; +module.exports = { + codeAt: createMethod(false), + charAt: createMethod(true) +}; + +/***/ }), +/* 127 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +module.exports = global; + /***/ }), /* 128 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { +__w_pdfjs_require__(90); +__w_pdfjs_require__(96); __w_pdfjs_require__(129); -__w_pdfjs_require__(134); -__w_pdfjs_require__(132); -var path = __w_pdfjs_require__(38); -module.exports = path.URL; +__w_pdfjs_require__(140); +__w_pdfjs_require__(141); +var path = __w_pdfjs_require__(127); +module.exports = path.structuredClone; /***/ }), /* 129 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { "use strict"; -__w_pdfjs_require__(73); -var $ = __w_pdfjs_require__(5); -var DESCRIPTORS = __w_pdfjs_require__(8); -var USE_NATIVE_URL = __w_pdfjs_require__(130); -var global = __w_pdfjs_require__(6); -var defineProperties = __w_pdfjs_require__(68); -var redefine = __w_pdfjs_require__(24); -var anInstance = __w_pdfjs_require__(114); -var has = __w_pdfjs_require__(18); -var assign = __w_pdfjs_require__(96); -var arrayFrom = __w_pdfjs_require__(86); -var codeAt = __w_pdfjs_require__(74).codeAt; -var toASCII = __w_pdfjs_require__(131); -var setToStringTag = __w_pdfjs_require__(81); -var URLSearchParamsModule = __w_pdfjs_require__(132); -var InternalStateModule = __w_pdfjs_require__(28); -var NativeURL = global.URL; -var URLSearchParams = URLSearchParamsModule.URLSearchParams; -var getInternalSearchParamsState = URLSearchParamsModule.getState; -var setInternalState = InternalStateModule.set; -var getInternalURLState = InternalStateModule.getterFor('URL'); -var floor = Math.floor; -var pow = Math.pow; -var INVALID_AUTHORITY = 'Invalid authority'; -var INVALID_SCHEME = 'Invalid scheme'; -var INVALID_HOST = 'Invalid host'; -var INVALID_PORT = 'Invalid port'; -var ALPHA = /[A-Za-z]/; -var ALPHANUMERIC = /[\d+\-.A-Za-z]/; -var DIGIT = /\d/; -var HEX_START = /^(0x|0X)/; -var OCT = /^[0-7]+$/; -var DEC = /^\d+$/; -var HEX = /^[\dA-Fa-f]+$/; -var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/; -var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/; -var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g; -var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g; -var EOF; -var parseHost = function (url, input) { - var result, codePoints, index; - if (input.charAt(0) == '[') { - if (input.charAt(input.length - 1) != ']') - return INVALID_HOST; - result = parseIPv6(input.slice(1, -1)); - if (!result) - return INVALID_HOST; - url.host = result; - } else if (!isSpecial(url)) { - if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) - return INVALID_HOST; - result = ''; - codePoints = arrayFrom(input); - for (index = 0; index < codePoints.length; index++) { - result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); - } - url.host = result; - } else { - input = toASCII(input); - if (FORBIDDEN_HOST_CODE_POINT.test(input)) - return INVALID_HOST; - result = parseIPv4(input); - if (result === null) - return INVALID_HOST; - url.host = result; - } -}; -var parseIPv4 = function (input) { - var parts = input.split('.'); - var partsLength, numbers, index, part, radix, number, ipv4; - if (parts.length && parts[parts.length - 1] == '') { - parts.pop(); - } - partsLength = parts.length; - if (partsLength > 4) - return input; - numbers = []; - for (index = 0; index < partsLength; index++) { - part = parts[index]; - if (part == '') - return input; - radix = 10; - if (part.length > 1 && part.charAt(0) == '0') { - radix = HEX_START.test(part) ? 16 : 8; - part = part.slice(radix == 8 ? 1 : 2); - } - if (part === '') { - number = 0; - } else { - if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) - return input; - number = parseInt(part, radix); - } - numbers.push(number); - } - for (index = 0; index < partsLength; index++) { - number = numbers[index]; - if (index == partsLength - 1) { - if (number >= pow(256, 5 - partsLength)) - return null; - } else if (number > 255) - return null; - } - ipv4 = numbers.pop(); - for (index = 0; index < numbers.length; index++) { - ipv4 += numbers[index] * pow(256, 3 - index); - } - return ipv4; -}; -var parseIPv6 = function (input) { - var address = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ]; - var pieceIndex = 0; - var compress = null; - var pointer = 0; - var value, length, numbersSeen, ipv4Piece, number, swaps, swap; - var char = function () { - return input.charAt(pointer); - }; - if (char() == ':') { - if (input.charAt(1) != ':') - return; - pointer += 2; - pieceIndex++; - compress = pieceIndex; - } - while (char()) { - if (pieceIndex == 8) - return; - if (char() == ':') { - if (compress !== null) - return; - pointer++; - pieceIndex++; - compress = pieceIndex; - continue; - } - value = length = 0; - while (length < 4 && HEX.test(char())) { - value = value * 16 + parseInt(char(), 16); - pointer++; - length++; - } - if (char() == '.') { - if (length == 0) - return; - pointer -= length; - if (pieceIndex > 6) - return; - numbersSeen = 0; - while (char()) { - ipv4Piece = null; - if (numbersSeen > 0) { - if (char() == '.' && numbersSeen < 4) - pointer++; - else - return; - } - if (!DIGIT.test(char())) - return; - while (DIGIT.test(char())) { - number = parseInt(char(), 10); - if (ipv4Piece === null) - ipv4Piece = number; - else if (ipv4Piece == 0) - return; - else - ipv4Piece = ipv4Piece * 10 + number; - if (ipv4Piece > 255) - return; - pointer++; - } - address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; - numbersSeen++; - if (numbersSeen == 2 || numbersSeen == 4) - pieceIndex++; - } - if (numbersSeen != 4) - return; - break; - } else if (char() == ':') { - pointer++; - if (!char()) - return; - } else if (char()) - return; - address[pieceIndex++] = value; - } - if (compress !== null) { - swaps = pieceIndex - compress; - pieceIndex = 7; - while (pieceIndex != 0 && swaps > 0) { - swap = address[pieceIndex]; - address[pieceIndex--] = address[compress + swaps - 1]; - address[compress + --swaps] = swap; - } - } else if (pieceIndex != 8) - return; - return address; -}; -var findLongestZeroSequence = function (ipv6) { - var maxIndex = null; - var maxLength = 1; - var currStart = null; - var currLength = 0; - var index = 0; - for (; index < 8; index++) { - if (ipv6[index] !== 0) { - if (currLength > maxLength) { - maxIndex = currStart; - maxLength = currLength; - } - currStart = null; - currLength = 0; - } else { - if (currStart === null) - currStart = index; - ++currLength; - } - } - if (currLength > maxLength) { - maxIndex = currStart; - maxLength = currLength; - } - return maxIndex; -}; -var serializeHost = function (host) { - var result, index, compress, ignore0; - if (typeof host == 'number') { - result = []; - for (index = 0; index < 4; index++) { - result.unshift(host % 256); - host = floor(host / 256); - } - return result.join('.'); - } else if (typeof host == 'object') { - result = ''; - compress = findLongestZeroSequence(host); - for (index = 0; index < 8; index++) { - if (ignore0 && host[index] === 0) - continue; - if (ignore0) - ignore0 = false; - if (compress === index) { - result += index ? ':' : '::'; - ignore0 = true; - } else { - result += host[index].toString(16); - if (index < 7) - result += ':'; - } - } - return '[' + result + ']'; - } - return host; -}; -var C0ControlPercentEncodeSet = {}; -var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { - ' ': 1, - '"': 1, - '<': 1, - '>': 1, - '`': 1 -}); -var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { - '#': 1, - '?': 1, - '{': 1, - '}': 1 -}); -var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { - '/': 1, - ':': 1, - ';': 1, - '=': 1, - '@': 1, - '[': 1, - '\\': 1, - ']': 1, - '^': 1, - '|': 1 -}); -var percentEncode = function (char, set) { - var code = codeAt(char, 0); - return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char); -}; -var specialSchemes = { - ftp: 21, - file: null, - http: 80, - https: 443, - ws: 80, - wss: 443 -}; -var isSpecial = function (url) { - return has(specialSchemes, url.scheme); -}; -var includesCredentials = function (url) { - return url.username != '' || url.password != ''; -}; -var cannotHaveUsernamePasswordPort = function (url) { - return !url.host || url.cannotBeABaseURL || url.scheme == 'file'; -}; -var isWindowsDriveLetter = function (string, normalized) { - var second; - return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|'); -}; -var startsWithWindowsDriveLetter = function (string) { - var third; - return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#')); -}; -var shortenURLsPath = function (url) { - var path = url.path; - var pathSize = path.length; - if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) { - path.pop(); - } -}; -var isSingleDot = function (segment) { - return segment === '.' || segment.toLowerCase() === '%2e'; -}; -var isDoubleDot = function (segment) { - segment = segment.toLowerCase(); - return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; -}; -var SCHEME_START = {}; -var SCHEME = {}; -var NO_SCHEME = {}; -var SPECIAL_RELATIVE_OR_AUTHORITY = {}; -var PATH_OR_AUTHORITY = {}; -var RELATIVE = {}; -var RELATIVE_SLASH = {}; -var SPECIAL_AUTHORITY_SLASHES = {}; -var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; -var AUTHORITY = {}; -var HOST = {}; -var HOSTNAME = {}; -var PORT = {}; -var FILE = {}; -var FILE_SLASH = {}; -var FILE_HOST = {}; -var PATH_START = {}; -var PATH = {}; -var CANNOT_BE_A_BASE_URL_PATH = {}; -var QUERY = {}; -var FRAGMENT = {}; -var parseURL = function (url, input, stateOverride, base) { - var state = stateOverride || SCHEME_START; - var pointer = 0; - var buffer = ''; - var seenAt = false; - var seenBracket = false; - var seenPasswordToken = false; - var codePoints, char, bufferCodePoints, failure; - if (!stateOverride) { - url.scheme = ''; - url.username = ''; - url.password = ''; - url.host = null; - url.port = null; - url.path = []; - url.query = null; - url.fragment = null; - url.cannotBeABaseURL = false; - input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, ''); - } - input = input.replace(TAB_AND_NEW_LINE, ''); - codePoints = arrayFrom(input); - while (pointer <= codePoints.length) { - char = codePoints[pointer]; - switch (state) { - case SCHEME_START: - if (char && ALPHA.test(char)) { - buffer += char.toLowerCase(); - state = SCHEME; - } else if (!stateOverride) { - state = NO_SCHEME; - continue; - } else - return INVALID_SCHEME; - break; - case SCHEME: - if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) { - buffer += char.toLowerCase(); - } else if (char == ':') { - if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host)) - return; - url.scheme = buffer; - if (stateOverride) { - if (isSpecial(url) && specialSchemes[url.scheme] == url.port) - url.port = null; - return; - } - buffer = ''; - if (url.scheme == 'file') { - state = FILE; - } else if (isSpecial(url) && base && base.scheme == url.scheme) { - state = SPECIAL_RELATIVE_OR_AUTHORITY; - } else if (isSpecial(url)) { - state = SPECIAL_AUTHORITY_SLASHES; - } else if (codePoints[pointer + 1] == '/') { - state = PATH_OR_AUTHORITY; - pointer++; - } else { - url.cannotBeABaseURL = true; - url.path.push(''); - state = CANNOT_BE_A_BASE_URL_PATH; - } - } else if (!stateOverride) { - buffer = ''; - state = NO_SCHEME; - pointer = 0; - continue; - } else - return INVALID_SCHEME; - break; - case NO_SCHEME: - if (!base || base.cannotBeABaseURL && char != '#') - return INVALID_SCHEME; - if (base.cannotBeABaseURL && char == '#') { - url.scheme = base.scheme; - url.path = base.path.slice(); - url.query = base.query; - url.fragment = ''; - url.cannotBeABaseURL = true; - state = FRAGMENT; - break; - } - state = base.scheme == 'file' ? FILE : RELATIVE; - continue; - case SPECIAL_RELATIVE_OR_AUTHORITY: - if (char == '/' && codePoints[pointer + 1] == '/') { - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - pointer++; - } else { - state = RELATIVE; - continue; - } - break; - case PATH_OR_AUTHORITY: - if (char == '/') { - state = AUTHORITY; - break; - } else { - state = PATH; - continue; - } - case RELATIVE: - url.scheme = base.scheme; - if (char == EOF) { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = base.path.slice(); - url.query = base.query; - } else if (char == '/' || char == '\\' && isSpecial(url)) { - state = RELATIVE_SLASH; - } else if (char == '?') { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = base.path.slice(); - url.query = ''; - state = QUERY; - } else if (char == '#') { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = base.path.slice(); - url.query = base.query; - url.fragment = ''; - state = FRAGMENT; - } else { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = base.path.slice(); - url.path.pop(); - state = PATH; - continue; - } - break; - case RELATIVE_SLASH: - if (isSpecial(url) && (char == '/' || char == '\\')) { - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - } else if (char == '/') { - state = AUTHORITY; - } else { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - state = PATH; - continue; - } - break; - case SPECIAL_AUTHORITY_SLASHES: - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - if (char != '/' || buffer.charAt(pointer + 1) != '/') - continue; - pointer++; - break; - case SPECIAL_AUTHORITY_IGNORE_SLASHES: - if (char != '/' && char != '\\') { - state = AUTHORITY; - continue; - } - break; - case AUTHORITY: - if (char == '@') { - if (seenAt) - buffer = '%40' + buffer; - seenAt = true; - bufferCodePoints = arrayFrom(buffer); - for (var i = 0; i < bufferCodePoints.length; i++) { - var codePoint = bufferCodePoints[i]; - if (codePoint == ':' && !seenPasswordToken) { - seenPasswordToken = true; - continue; - } - var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); - if (seenPasswordToken) - url.password += encodedCodePoints; - else - url.username += encodedCodePoints; - } - buffer = ''; - } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) { - if (seenAt && buffer == '') - return INVALID_AUTHORITY; - pointer -= arrayFrom(buffer).length + 1; - buffer = ''; - state = HOST; - } else - buffer += char; - break; - case HOST: - case HOSTNAME: - if (stateOverride && url.scheme == 'file') { - state = FILE_HOST; - continue; - } else if (char == ':' && !seenBracket) { - if (buffer == '') - return INVALID_HOST; - failure = parseHost(url, buffer); - if (failure) - return failure; - buffer = ''; - state = PORT; - if (stateOverride == HOSTNAME) - return; - } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) { - if (isSpecial(url) && buffer == '') - return INVALID_HOST; - if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) - return; - failure = parseHost(url, buffer); - if (failure) - return failure; - buffer = ''; - state = PATH_START; - if (stateOverride) - return; - continue; - } else { - if (char == '[') - seenBracket = true; - else if (char == ']') - seenBracket = false; - buffer += char; - } - break; - case PORT: - if (DIGIT.test(char)) { - buffer += char; - } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url) || stateOverride) { - if (buffer != '') { - var port = parseInt(buffer, 10); - if (port > 0xFFFF) - return INVALID_PORT; - url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port; - buffer = ''; - } - if (stateOverride) - return; - state = PATH_START; - continue; - } else - return INVALID_PORT; - break; - case FILE: - url.scheme = 'file'; - if (char == '/' || char == '\\') - state = FILE_SLASH; - else if (base && base.scheme == 'file') { - if (char == EOF) { - url.host = base.host; - url.path = base.path.slice(); - url.query = base.query; - } else if (char == '?') { - url.host = base.host; - url.path = base.path.slice(); - url.query = ''; - state = QUERY; - } else if (char == '#') { - url.host = base.host; - url.path = base.path.slice(); - url.query = base.query; - url.fragment = ''; - state = FRAGMENT; - } else { - if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { - url.host = base.host; - url.path = base.path.slice(); - shortenURLsPath(url); - } - state = PATH; - continue; - } - } else { - state = PATH; - continue; - } - break; - case FILE_SLASH: - if (char == '/' || char == '\\') { - state = FILE_HOST; - break; - } - if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { - if (isWindowsDriveLetter(base.path[0], true)) - url.path.push(base.path[0]); - else - url.host = base.host; - } - state = PATH; - continue; - case FILE_HOST: - if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') { - if (!stateOverride && isWindowsDriveLetter(buffer)) { - state = PATH; - } else if (buffer == '') { - url.host = ''; - if (stateOverride) - return; - state = PATH_START; - } else { - failure = parseHost(url, buffer); - if (failure) - return failure; - if (url.host == 'localhost') - url.host = ''; - if (stateOverride) - return; - buffer = ''; - state = PATH_START; - } - continue; - } else - buffer += char; - break; - case PATH_START: - if (isSpecial(url)) { - state = PATH; - if (char != '/' && char != '\\') - continue; - } else if (!stateOverride && char == '?') { - url.query = ''; - state = QUERY; - } else if (!stateOverride && char == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (char != EOF) { - state = PATH; - if (char != '/') - continue; - } - break; - case PATH: - if (char == EOF || char == '/' || char == '\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) { - if (isDoubleDot(buffer)) { - shortenURLsPath(url); - if (char != '/' && !(char == '\\' && isSpecial(url))) { - url.path.push(''); - } - } else if (isSingleDot(buffer)) { - if (char != '/' && !(char == '\\' && isSpecial(url))) { - url.path.push(''); - } - } else { - if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { - if (url.host) - url.host = ''; - buffer = buffer.charAt(0) + ':'; - } - url.path.push(buffer); - } - buffer = ''; - if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) { - while (url.path.length > 1 && url.path[0] === '') { - url.path.shift(); - } - } - if (char == '?') { - url.query = ''; - state = QUERY; - } else if (char == '#') { - url.fragment = ''; - state = FRAGMENT; - } - } else { - buffer += percentEncode(char, pathPercentEncodeSet); - } - break; - case CANNOT_BE_A_BASE_URL_PATH: - if (char == '?') { - url.query = ''; - state = QUERY; - } else if (char == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (char != EOF) { - url.path[0] += percentEncode(char, C0ControlPercentEncodeSet); - } - break; - case QUERY: - if (!stateOverride && char == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (char != EOF) { - if (char == "'" && isSpecial(url)) - url.query += '%27'; - else if (char == '#') - url.query += '%23'; - else - url.query += percentEncode(char, C0ControlPercentEncodeSet); - } - break; - case FRAGMENT: - if (char != EOF) - url.fragment += percentEncode(char, fragmentPercentEncodeSet); - break; - } - pointer++; - } -}; -var URLConstructor = function URL(url) { - var that = anInstance(this, URLConstructor, 'URL'); - var base = arguments.length > 1 ? arguments[1] : undefined; - var urlString = String(url); - var state = setInternalState(that, { type: 'URL' }); - var baseState, failure; - if (base !== undefined) { - if (base instanceof URLConstructor) - baseState = getInternalURLState(base); - else { - failure = parseURL(baseState = {}, String(base)); - if (failure) - throw TypeError(failure); - } - } - failure = parseURL(state, urlString, null, baseState); - if (failure) - throw TypeError(failure); - var searchParams = state.searchParams = new URLSearchParams(); - var searchParamsState = getInternalSearchParamsState(searchParams); - searchParamsState.updateSearchParams(state.query); - searchParamsState.updateURL = function () { - state.query = String(searchParams) || null; - }; - if (!DESCRIPTORS) { - that.href = serializeURL.call(that); - that.origin = getOrigin.call(that); - that.protocol = getProtocol.call(that); - that.username = getUsername.call(that); - that.password = getPassword.call(that); - that.host = getHost.call(that); - that.hostname = getHostname.call(that); - that.port = getPort.call(that); - that.pathname = getPathname.call(that); - that.search = getSearch.call(that); - that.searchParams = getSearchParams.call(that); - that.hash = getHash.call(that); - } -}; -var URLPrototype = URLConstructor.prototype; -var serializeURL = function () { - var url = getInternalURLState(this); - var scheme = url.scheme; - var username = url.username; - var password = url.password; - var host = url.host; - var port = url.port; - var path = url.path; - var query = url.query; - var fragment = url.fragment; - var output = scheme + ':'; - if (host !== null) { - output += '//'; - if (includesCredentials(url)) { - output += username + (password ? ':' + password : '') + '@'; - } - output += serializeHost(host); - if (port !== null) - output += ':' + port; - } else if (scheme == 'file') - output += '//'; - output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; - if (query !== null) - output += '?' + query; - if (fragment !== null) - output += '#' + fragment; - return output; -}; -var getOrigin = function () { - var url = getInternalURLState(this); - var scheme = url.scheme; - var port = url.port; - if (scheme == 'blob') - try { - return new URL(scheme.path[0]).origin; - } catch (error) { - return 'null'; - } - if (scheme == 'file' || !isSpecial(url)) - return 'null'; - return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : ''); -}; -var getProtocol = function () { - return getInternalURLState(this).scheme + ':'; -}; -var getUsername = function () { - return getInternalURLState(this).username; -}; -var getPassword = function () { - return getInternalURLState(this).password; -}; -var getHost = function () { - var url = getInternalURLState(this); - var host = url.host; - var port = url.port; - return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port; -}; -var getHostname = function () { - var host = getInternalURLState(this).host; - return host === null ? '' : serializeHost(host); -}; -var getPort = function () { - var port = getInternalURLState(this).port; - return port === null ? '' : String(port); -}; -var getPathname = function () { - var url = getInternalURLState(this); - var path = url.path; - return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; -}; -var getSearch = function () { - var query = getInternalURLState(this).query; - return query ? '?' + query : ''; -}; -var getSearchParams = function () { - return getInternalURLState(this).searchParams; -}; -var getHash = function () { - var fragment = getInternalURLState(this).fragment; - return fragment ? '#' + fragment : ''; -}; -var accessorDescriptor = function (getter, setter) { - return { - get: getter, - set: setter, - configurable: true, - enumerable: true - }; -}; -if (DESCRIPTORS) { - defineProperties(URLPrototype, { - href: accessorDescriptor(serializeURL, function (href) { - var url = getInternalURLState(this); - var urlString = String(href); - var failure = parseURL(url, urlString); - if (failure) - throw TypeError(failure); - getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); - }), - origin: accessorDescriptor(getOrigin), - protocol: accessorDescriptor(getProtocol, function (protocol) { - var url = getInternalURLState(this); - parseURL(url, String(protocol) + ':', SCHEME_START); - }), - username: accessorDescriptor(getUsername, function (username) { - var url = getInternalURLState(this); - var codePoints = arrayFrom(String(username)); - if (cannotHaveUsernamePasswordPort(url)) - return; - url.username = ''; - for (var i = 0; i < codePoints.length; i++) { - url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); - } - }), - password: accessorDescriptor(getPassword, function (password) { - var url = getInternalURLState(this); - var codePoints = arrayFrom(String(password)); - if (cannotHaveUsernamePasswordPort(url)) - return; - url.password = ''; - for (var i = 0; i < codePoints.length; i++) { - url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); - } - }), - host: accessorDescriptor(getHost, function (host) { - var url = getInternalURLState(this); - if (url.cannotBeABaseURL) - return; - parseURL(url, String(host), HOST); - }), - hostname: accessorDescriptor(getHostname, function (hostname) { - var url = getInternalURLState(this); - if (url.cannotBeABaseURL) - return; - parseURL(url, String(hostname), HOSTNAME); - }), - port: accessorDescriptor(getPort, function (port) { - var url = getInternalURLState(this); - if (cannotHaveUsernamePasswordPort(url)) - return; - port = String(port); - if (port == '') - url.port = null; - else - parseURL(url, port, PORT); - }), - pathname: accessorDescriptor(getPathname, function (pathname) { - var url = getInternalURLState(this); - if (url.cannotBeABaseURL) - return; - url.path = []; - parseURL(url, pathname + '', PATH_START); - }), - search: accessorDescriptor(getSearch, function (search) { - var url = getInternalURLState(this); - search = String(search); - if (search == '') { - url.query = null; - } else { - if ('?' == search.charAt(0)) - search = search.slice(1); - url.query = ''; - parseURL(url, search, QUERY); - } - getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); - }), - searchParams: accessorDescriptor(getSearchParams), - hash: accessorDescriptor(getHash, function (hash) { - var url = getInternalURLState(this); - hash = String(hash); - if (hash == '') { - url.fragment = null; - return; - } - if ('#' == hash.charAt(0)) - hash = hash.slice(1); - url.fragment = ''; - parseURL(url, hash, FRAGMENT); - }) - }); -} -redefine(URLPrototype, 'toJSON', function toJSON() { - return serializeURL.call(this); -}, { enumerable: true }); -redefine(URLPrototype, 'toString', function toString() { - return serializeURL.call(this); -}, { enumerable: true }); -if (NativeURL) { - var nativeCreateObjectURL = NativeURL.createObjectURL; - var nativeRevokeObjectURL = NativeURL.revokeObjectURL; - if (nativeCreateObjectURL) - redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) { - return nativeCreateObjectURL.apply(NativeURL, arguments); - }); - if (nativeRevokeObjectURL) - redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) { - return nativeRevokeObjectURL.apply(NativeURL, arguments); - }); -} -setToStringTag(URLConstructor, 'URL'); -$({ - global: true, - forced: !USE_NATIVE_URL, - sham: !DESCRIPTORS -}, { URL: URLConstructor }); - -/***/ }), -/* 130 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var fails = __w_pdfjs_require__(9); -var wellKnownSymbol = __w_pdfjs_require__(53); -var IS_PURE = __w_pdfjs_require__(32); -var ITERATOR = wellKnownSymbol('iterator'); -module.exports = !fails(function () { - var url = new URL('b?a=1&b=2&c=3', 'http://a'); - var searchParams = url.searchParams; - var result = ''; - url.pathname = 'c%20d'; - searchParams.forEach(function (value, key) { - searchParams['delete']('b'); - result += key + value; - }); - return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1' || result !== 'a1c3' || new URL('http://x', undefined).host !== 'x'; -}); - -/***/ }), -/* 131 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var maxInt = 2147483647; -var base = 36; -var tMin = 1; -var tMax = 26; -var skew = 38; -var damp = 700; -var initialBias = 72; -var initialN = 128; -var delimiter = '-'; -var regexNonASCII = /[^\0-\u007E]/; -var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; -var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; -var baseMinusTMin = base - tMin; -var floor = Math.floor; -var stringFromCharCode = String.fromCharCode; -var ucs2decode = function (string) { - var output = []; - var counter = 0; - var length = string.length; - while (counter < length) { - var value = string.charCodeAt(counter++); - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - var extra = string.charCodeAt(counter++); - if ((extra & 0xFC00) == 0xDC00) { - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; -}; -var digitToBasic = function (digit) { - return digit + 22 + 75 * (digit < 26); -}; -var adapt = function (delta, numPoints, firstTime) { - var k = 0; - delta = firstTime ? floor(delta / damp) : delta >> 1; - delta += floor(delta / numPoints); - for (; delta > baseMinusTMin * tMax >> 1; k += base) { - delta = floor(delta / baseMinusTMin); - } - return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); -}; -var encode = function (input) { - var output = []; - input = ucs2decode(input); - var inputLength = input.length; - var n = initialN; - var delta = 0; - var bias = initialBias; - var i, currentValue; - for (i = 0; i < input.length; i++) { - currentValue = input[i]; - if (currentValue < 0x80) { - output.push(stringFromCharCode(currentValue)); - } - } - var basicLength = output.length; - var handledCPCount = basicLength; - if (basicLength) { - output.push(delimiter); - } - while (handledCPCount < inputLength) { - var m = maxInt; - for (i = 0; i < input.length; i++) { - currentValue = input[i]; - if (currentValue >= n && currentValue < m) { - m = currentValue; - } - } - var handledCPCountPlusOne = handledCPCount + 1; - if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { - throw RangeError(OVERFLOW_ERROR); - } - delta += (m - n) * handledCPCountPlusOne; - n = m; - for (i = 0; i < input.length; i++) { - currentValue = input[i]; - if (currentValue < n && ++delta > maxInt) { - throw RangeError(OVERFLOW_ERROR); - } - if (currentValue == n) { - var q = delta; - for (var k = base;; k += base) { - var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; - if (q < t) - break; - var qMinusT = q - t; - var baseMinusT = base - t; - output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT))); - q = floor(qMinusT / baseMinusT); - } - output.push(stringFromCharCode(digitToBasic(q))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; - } - } - ++delta; - ++n; - } - return output.join(''); -}; -module.exports = function (input) { - var encoded = []; - var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.'); - var i, label; - for (i = 0; i < labels.length; i++) { - label = labels[i]; - encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label); - } - return encoded.join('.'); -}; - -/***/ }), -/* 132 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -__w_pdfjs_require__(109); -var $ = __w_pdfjs_require__(5); -var getBuiltIn = __w_pdfjs_require__(37); -var USE_NATIVE_URL = __w_pdfjs_require__(130); -var redefine = __w_pdfjs_require__(24); -var redefineAll = __w_pdfjs_require__(112); -var setToStringTag = __w_pdfjs_require__(81); -var createIteratorConstructor = __w_pdfjs_require__(76); -var InternalStateModule = __w_pdfjs_require__(28); -var anInstance = __w_pdfjs_require__(114); -var hasOwn = __w_pdfjs_require__(18); -var bind = __w_pdfjs_require__(58); -var classof = __w_pdfjs_require__(91); -var anObject = __w_pdfjs_require__(23); -var isObject = __w_pdfjs_require__(17); -var create = __w_pdfjs_require__(67); -var createPropertyDescriptor = __w_pdfjs_require__(11); -var getIterator = __w_pdfjs_require__(133); -var getIteratorMethod = __w_pdfjs_require__(90); -var wellKnownSymbol = __w_pdfjs_require__(53); -var $fetch = getBuiltIn('fetch'); -var Headers = getBuiltIn('Headers'); -var ITERATOR = wellKnownSymbol('iterator'); -var URL_SEARCH_PARAMS = 'URLSearchParams'; -var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); -var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); -var plus = /\+/g; -var sequences = Array(4); -var percentSequence = function (bytes) { - return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi')); -}; -var percentDecode = function (sequence) { - try { - return decodeURIComponent(sequence); - } catch (error) { - return sequence; - } -}; -var deserialize = function (it) { - var result = it.replace(plus, ' '); - var bytes = 4; - try { - return decodeURIComponent(result); - } catch (error) { - while (bytes) { - result = result.replace(percentSequence(bytes--), percentDecode); - } - return result; - } -}; -var find = /[!'()~]|%20/g; -var replace = { - '!': '%21', - "'": '%27', - '(': '%28', - ')': '%29', - '~': '%7E', - '%20': '+' -}; -var replacer = function (match) { - return replace[match]; -}; -var serialize = function (it) { - return encodeURIComponent(it).replace(find, replacer); -}; -var parseSearchParams = function (result, query) { - if (query) { - var attributes = query.split('&'); - var index = 0; - var attribute, entry; - while (index < attributes.length) { - attribute = attributes[index++]; - if (attribute.length) { - entry = attribute.split('='); - result.push({ - key: deserialize(entry.shift()), - value: deserialize(entry.join('=')) - }); - } - } - } -}; -var updateSearchParams = function (query) { - this.entries.length = 0; - parseSearchParams(this.entries, query); -}; -var validateArgumentsLength = function (passed, required) { - if (passed < required) - throw TypeError('Not enough arguments'); -}; -var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { - setInternalState(this, { - type: URL_SEARCH_PARAMS_ITERATOR, - iterator: getIterator(getInternalParamsState(params).entries), - kind: kind - }); -}, 'Iterator', function next() { - var state = getInternalIteratorState(this); - var kind = state.kind; - var step = state.iterator.next(); - var entry = step.value; - if (!step.done) { - step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [ - entry.key, - entry.value - ]; - } - return step; -}); -var URLSearchParamsConstructor = function URLSearchParams() { - anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS); - var init = arguments.length > 0 ? arguments[0] : undefined; - var that = this; - var entries = []; - var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key; - setInternalState(that, { - type: URL_SEARCH_PARAMS, - entries: entries, - updateURL: function () { - }, - updateSearchParams: updateSearchParams - }); - if (init !== undefined) { - if (isObject(init)) { - iteratorMethod = getIteratorMethod(init); - if (typeof iteratorMethod === 'function') { - iterator = iteratorMethod.call(init); - next = iterator.next; - while (!(step = next.call(iterator)).done) { - entryIterator = getIterator(anObject(step.value)); - entryNext = entryIterator.next; - if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).done) - throw TypeError('Expected sequence with length 2'); - entries.push({ - key: first.value + '', - value: second.value + '' - }); - } - } else - for (key in init) - if (hasOwn(init, key)) - entries.push({ - key: key, - value: init[key] + '' - }); - } else { - parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + ''); - } - } -}; -var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; -redefineAll(URLSearchParamsPrototype, { - append: function append(name, value) { - validateArgumentsLength(arguments.length, 2); - var state = getInternalParamsState(this); - state.entries.push({ - key: name + '', - value: value + '' - }); - state.updateURL(); - }, - 'delete': function (name) { - validateArgumentsLength(arguments.length, 1); - var state = getInternalParamsState(this); - var entries = state.entries; - var key = name + ''; - var index = 0; - while (index < entries.length) { - if (entries[index].key === key) - entries.splice(index, 1); - else - index++; - } - state.updateURL(); - }, - get: function get(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = name + ''; - var index = 0; - for (; index < entries.length; index++) { - if (entries[index].key === key) - return entries[index].value; - } - return null; - }, - getAll: function getAll(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = name + ''; - var result = []; - var index = 0; - for (; index < entries.length; index++) { - if (entries[index].key === key) - result.push(entries[index].value); - } - return result; - }, - has: function has(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = name + ''; - var index = 0; - while (index < entries.length) { - if (entries[index++].key === key) - return true; - } - return false; - }, - set: function set(name, value) { - validateArgumentsLength(arguments.length, 1); - var state = getInternalParamsState(this); - var entries = state.entries; - var found = false; - var key = name + ''; - var val = value + ''; - var index = 0; - var entry; - for (; index < entries.length; index++) { - entry = entries[index]; - if (entry.key === key) { - if (found) - entries.splice(index--, 1); - else { - found = true; - entry.value = val; - } - } - } - if (!found) - entries.push({ - key: key, - value: val - }); - state.updateURL(); - }, - sort: function sort() { - var state = getInternalParamsState(this); - var entries = state.entries; - var slice = entries.slice(); - var entry, entriesIndex, sliceIndex; - entries.length = 0; - for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) { - entry = slice[sliceIndex]; - for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) { - if (entries[entriesIndex].key > entry.key) { - entries.splice(entriesIndex, 0, entry); - break; - } - } - if (entriesIndex === sliceIndex) - entries.push(entry); - } - state.updateURL(); - }, - forEach: function forEach(callback) { - var entries = getInternalParamsState(this).entries; - var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3); - var index = 0; - var entry; - while (index < entries.length) { - entry = entries[index++]; - boundFunction(entry.value, entry.key, this); - } - }, - keys: function keys() { - return new URLSearchParamsIterator(this, 'keys'); - }, - values: function values() { - return new URLSearchParamsIterator(this, 'values'); - }, - entries: function entries() { - return new URLSearchParamsIterator(this, 'entries'); - } -}, { enumerable: true }); -redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries); -redefine(URLSearchParamsPrototype, 'toString', function toString() { - var entries = getInternalParamsState(this).entries; - var result = []; - var index = 0; - var entry; - while (index < entries.length) { - entry = entries[index++]; - result.push(serialize(entry.key) + '=' + serialize(entry.value)); - } - return result.join('&'); -}, { enumerable: true }); -setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); -$({ - global: true, - forced: !USE_NATIVE_URL -}, { URLSearchParams: URLSearchParamsConstructor }); -if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') { - $({ - global: true, - enumerable: true, - forced: true - }, { - fetch: function fetch(input) { - var args = [input]; - var init, body, headers; - if (arguments.length > 1) { - init = arguments[1]; - if (isObject(init)) { - body = init.body; - if (classof(body) === URL_SEARCH_PARAMS) { - headers = init.headers ? new Headers(init.headers) : new Headers(); - if (!headers.has('content-type')) { - headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); - } - init = create(init, { - body: createPropertyDescriptor(0, String(body)), - headers: createPropertyDescriptor(0, headers) - }); - } - } - args.push(init); - } - return $fetch.apply(this, args); - } - }); -} -module.exports = { - URLSearchParams: URLSearchParamsConstructor, - getState: getInternalParamsState -}; - -/***/ }), -/* 133 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var anObject = __w_pdfjs_require__(23); -var getIteratorMethod = __w_pdfjs_require__(90); -module.exports = function (it) { - var iteratorMethod = getIteratorMethod(it); - if (typeof iteratorMethod != 'function') { - throw TypeError(String(it) + ' is not iterable'); - } - return anObject(iteratorMethod.call(it)); -}; - -/***/ }), -/* 134 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var $ = __w_pdfjs_require__(5); -$({ - target: 'URL', - proto: true, - enumerable: true -}, { - toJSON: function toJSON() { - return URL.prototype.toString.call(this); - } -}); - -/***/ }), -/* 135 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -(function (global, factory) { - true ? factory(exports) : undefined; -}(this, function (exports) { - 'use strict'; - var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) { - return "Symbol(" + description + ")"; - }; - function noop() { - } - var NumberIsNaN = Number.isNaN || function (x) { - return x !== x; - }; - var rethrowAssertionErrorRejection = noop; - function typeIsObject(x) { - return typeof x === 'object' && x !== null || typeof x === 'function'; - } - function createArrayFromList(elements) { - return elements.slice(); - } - function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) { - new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset); - } - function IsFiniteNonNegativeNumber(v) { - if (IsNonNegativeNumber(v) === false) { - return false; - } - if (v === Infinity) { - return false; - } - return true; - } - function IsNonNegativeNumber(v) { - if (typeof v !== 'number') { - return false; - } - if (NumberIsNaN(v)) { - return false; - } - if (v < 0) { - return false; - } - return true; - } - function Call(F, V, args) { - if (typeof F !== 'function') { - throw new TypeError('Argument is not a function'); - } - return Function.prototype.apply.call(F, V, args); - } - function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) { - var method = underlyingObject[methodName]; - if (method !== undefined) { - if (typeof method !== 'function') { - throw new TypeError(method + " is not a method"); - } - switch (algoArgCount) { - case 0: { - return function () { - return PromiseCall(method, underlyingObject, extraArgs); - }; - } - case 1: { - return function (arg) { - var fullArgs = [arg].concat(extraArgs); - return PromiseCall(method, underlyingObject, fullArgs); - }; - } - } - } - return function () { - return promiseResolvedWith(undefined); - }; - } - function InvokeOrNoop(O, P, args) { - var method = O[P]; - if (method === undefined) { - return undefined; - } - return Call(method, O, args); - } - function PromiseCall(F, V, args) { - try { - return promiseResolvedWith(Call(F, V, args)); - } catch (value) { - return promiseRejectedWith(value); - } - } - function TransferArrayBuffer(O) { - return O; - } - function IsDetachedBuffer(O) { - return false; - } - function ValidateAndNormalizeHighWaterMark(highWaterMark) { - highWaterMark = Number(highWaterMark); - if (NumberIsNaN(highWaterMark) || highWaterMark < 0) { - throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN'); - } - return highWaterMark; - } - function MakeSizeAlgorithmFromSizeFunction(size) { - if (size === undefined) { - return function () { - return 1; - }; - } - if (typeof size !== 'function') { - throw new TypeError('size property of a queuing strategy must be a function'); - } - return function (chunk) { - return size(chunk); - }; - } - var originalPromise = Promise; - var originalPromiseThen = Promise.prototype.then; - var originalPromiseResolve = Promise.resolve.bind(originalPromise); - var originalPromiseReject = Promise.reject.bind(originalPromise); - function newPromise(executor) { - return new originalPromise(executor); - } - function promiseResolvedWith(value) { - return originalPromiseResolve(value); - } - function promiseRejectedWith(reason) { - return originalPromiseReject(reason); - } - function PerformPromiseThen(promise, onFulfilled, onRejected) { - return originalPromiseThen.call(promise, onFulfilled, onRejected); - } - function uponPromise(promise, onFulfilled, onRejected) { - PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection); - } - function uponFulfillment(promise, onFulfilled) { - uponPromise(promise, onFulfilled); - } - function uponRejection(promise, onRejected) { - uponPromise(promise, undefined, onRejected); - } - function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) { - return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler); - } - function setPromiseIsHandledToTrue(promise) { - PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection); - } - var QUEUE_MAX_ARRAY_SIZE = 16384; - var SimpleQueue = function () { - function SimpleQueue() { - this._cursor = 0; - this._size = 0; - this._front = { - _elements: [], - _next: undefined - }; - this._back = this._front; - this._cursor = 0; - this._size = 0; - } - Object.defineProperty(SimpleQueue.prototype, "length", { - get: function () { - return this._size; - }, - enumerable: true, - configurable: true - }); - SimpleQueue.prototype.push = function (element) { - var oldBack = this._back; - var newBack = oldBack; - if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) { - newBack = { - _elements: [], - _next: undefined - }; - } - oldBack._elements.push(element); - if (newBack !== oldBack) { - this._back = newBack; - oldBack._next = newBack; - } - ++this._size; - }; - SimpleQueue.prototype.shift = function () { - var oldFront = this._front; - var newFront = oldFront; - var oldCursor = this._cursor; - var newCursor = oldCursor + 1; - var elements = oldFront._elements; - var element = elements[oldCursor]; - if (newCursor === QUEUE_MAX_ARRAY_SIZE) { - newFront = oldFront._next; - newCursor = 0; - } - --this._size; - this._cursor = newCursor; - if (oldFront !== newFront) { - this._front = newFront; - } - elements[oldCursor] = undefined; - return element; - }; - SimpleQueue.prototype.forEach = function (callback) { - var i = this._cursor; - var node = this._front; - var elements = node._elements; - while (i !== elements.length || node._next !== undefined) { - if (i === elements.length) { - node = node._next; - elements = node._elements; - i = 0; - if (elements.length === 0) { - break; - } - } - callback(elements[i]); - ++i; - } - }; - SimpleQueue.prototype.peek = function () { - var front = this._front; - var cursor = this._cursor; - return front._elements[cursor]; - }; - return SimpleQueue; - }(); - function ReadableStreamCreateReadResult(value, done, forAuthorCode) { - var prototype = null; - if (forAuthorCode === true) { - prototype = Object.prototype; - } - var obj = Object.create(prototype); - obj.value = value; - obj.done = done; - return obj; - } - function ReadableStreamReaderGenericInitialize(reader, stream) { - reader._forAuthorCode = true; - reader._ownerReadableStream = stream; - stream._reader = reader; - if (stream._state === 'readable') { - defaultReaderClosedPromiseInitialize(reader); - } else if (stream._state === 'closed') { - defaultReaderClosedPromiseInitializeAsResolved(reader); - } else { - defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError); - } - } - function ReadableStreamReaderGenericCancel(reader, reason) { - var stream = reader._ownerReadableStream; - return ReadableStreamCancel(stream, reason); - } - function ReadableStreamReaderGenericRelease(reader) { - if (reader._ownerReadableStream._state === 'readable') { - defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\'s closedness')); - } else { - defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\'s closedness')); - } - reader._ownerReadableStream._reader = undefined; - reader._ownerReadableStream = undefined; - } - function readerLockException(name) { - return new TypeError('Cannot ' + name + ' a stream using a released reader'); - } - function defaultReaderClosedPromiseInitialize(reader) { - reader._closedPromise = newPromise(function (resolve, reject) { - reader._closedPromise_resolve = resolve; - reader._closedPromise_reject = reject; - }); - } - function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) { - defaultReaderClosedPromiseInitialize(reader); - defaultReaderClosedPromiseReject(reader, reason); - } - function defaultReaderClosedPromiseInitializeAsResolved(reader) { - defaultReaderClosedPromiseInitialize(reader); - defaultReaderClosedPromiseResolve(reader); - } - function defaultReaderClosedPromiseReject(reader, reason) { - setPromiseIsHandledToTrue(reader._closedPromise); - reader._closedPromise_reject(reason); - reader._closedPromise_resolve = undefined; - reader._closedPromise_reject = undefined; - } - function defaultReaderClosedPromiseResetToRejected(reader, reason) { - defaultReaderClosedPromiseInitializeAsRejected(reader, reason); - } - function defaultReaderClosedPromiseResolve(reader) { - reader._closedPromise_resolve(undefined); - reader._closedPromise_resolve = undefined; - reader._closedPromise_reject = undefined; - } - var CancelSteps = SymbolPolyfill('[[CancelSteps]]'); - var PullSteps = SymbolPolyfill('[[PullSteps]]'); - function AcquireReadableStreamDefaultReader(stream, forAuthorCode) { - if (forAuthorCode === void 0) { - forAuthorCode = false; - } - var reader = new ReadableStreamDefaultReader(stream); - reader._forAuthorCode = forAuthorCode; - return reader; - } - function ReadableStreamAddReadRequest(stream) { - var promise = newPromise(function (resolve, reject) { - var readRequest = { - _resolve: resolve, - _reject: reject - }; - stream._reader._readRequests.push(readRequest); - }); - return promise; - } - function ReadableStreamFulfillReadRequest(stream, chunk, done) { - var reader = stream._reader; - var readRequest = reader._readRequests.shift(); - readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode)); - } - function ReadableStreamGetNumReadRequests(stream) { - return stream._reader._readRequests.length; - } - function ReadableStreamHasDefaultReader(stream) { - var reader = stream._reader; - if (reader === undefined) { - return false; - } - if (!IsReadableStreamDefaultReader(reader)) { - return false; - } - return true; - } - var ReadableStreamDefaultReader = function () { - function ReadableStreamDefaultReader(stream) { - if (IsReadableStream(stream) === false) { - throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance'); - } - if (IsReadableStreamLocked(stream) === true) { - throw new TypeError('This stream has already been locked for exclusive reading by another reader'); - } - ReadableStreamReaderGenericInitialize(this, stream); - this._readRequests = new SimpleQueue(); - } - Object.defineProperty(ReadableStreamDefaultReader.prototype, "closed", { - get: function () { - if (!IsReadableStreamDefaultReader(this)) { - return promiseRejectedWith(defaultReaderBrandCheckException('closed')); - } - return this._closedPromise; - }, - enumerable: true, - configurable: true - }); - ReadableStreamDefaultReader.prototype.cancel = function (reason) { - if (!IsReadableStreamDefaultReader(this)) { - return promiseRejectedWith(defaultReaderBrandCheckException('cancel')); - } - if (this._ownerReadableStream === undefined) { - return promiseRejectedWith(readerLockException('cancel')); - } - return ReadableStreamReaderGenericCancel(this, reason); - }; - ReadableStreamDefaultReader.prototype.read = function () { - if (!IsReadableStreamDefaultReader(this)) { - return promiseRejectedWith(defaultReaderBrandCheckException('read')); - } - if (this._ownerReadableStream === undefined) { - return promiseRejectedWith(readerLockException('read from')); - } - return ReadableStreamDefaultReaderRead(this); - }; - ReadableStreamDefaultReader.prototype.releaseLock = function () { - if (!IsReadableStreamDefaultReader(this)) { - throw defaultReaderBrandCheckException('releaseLock'); - } - if (this._ownerReadableStream === undefined) { - return; - } - if (this._readRequests.length > 0) { - throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'); - } - ReadableStreamReaderGenericRelease(this); - }; - return ReadableStreamDefaultReader; - }(); - function IsReadableStreamDefaultReader(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) { - return false; - } - return true; - } - function ReadableStreamDefaultReaderRead(reader) { - var stream = reader._ownerReadableStream; - stream._disturbed = true; - if (stream._state === 'closed') { - return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode)); - } - if (stream._state === 'errored') { - return promiseRejectedWith(stream._storedError); - } - return stream._readableStreamController[PullSteps](); - } - function defaultReaderBrandCheckException(name) { - return new TypeError("ReadableStreamDefaultReader.prototype." + name + " can only be used on a ReadableStreamDefaultReader"); - } - var _a; - var AsyncIteratorPrototype; - if (typeof SymbolPolyfill.asyncIterator === 'symbol') { - AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () { - return this; - }, _a); - Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false }); - } - var ReadableStreamAsyncIteratorPrototype = { - next: function () { - if (IsReadableStreamAsyncIterator(this) === false) { - return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next')); - } - var reader = this._asyncIteratorReader; - if (reader._ownerReadableStream === undefined) { - return promiseRejectedWith(readerLockException('iterate')); - } - return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) { - var done = result.done; - if (done) { - ReadableStreamReaderGenericRelease(reader); - } - var value = result.value; - return ReadableStreamCreateReadResult(value, done, true); - }); - }, - return: function (value) { - if (IsReadableStreamAsyncIterator(this) === false) { - return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next')); - } - var reader = this._asyncIteratorReader; - if (reader._ownerReadableStream === undefined) { - return promiseRejectedWith(readerLockException('finish iterating')); - } - if (reader._readRequests.length > 0) { - return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled')); - } - if (this._preventCancel === false) { - var result = ReadableStreamReaderGenericCancel(reader, value); - ReadableStreamReaderGenericRelease(reader); - return transformPromiseWith(result, function () { - return ReadableStreamCreateReadResult(value, true, true); - }); - } - ReadableStreamReaderGenericRelease(reader); - return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true)); - } - }; - if (AsyncIteratorPrototype !== undefined) { - Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype); - } - Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false }); - Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false }); - function AcquireReadableStreamAsyncIterator(stream, preventCancel) { - if (preventCancel === void 0) { - preventCancel = false; - } - var reader = AcquireReadableStreamDefaultReader(stream); - var iterator = Object.create(ReadableStreamAsyncIteratorPrototype); - iterator._asyncIteratorReader = reader; - iterator._preventCancel = Boolean(preventCancel); - return iterator; - } - function IsReadableStreamAsyncIterator(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) { - return false; - } - return true; - } - function streamAsyncIteratorBrandCheckException(name) { - return new TypeError("ReadableStreamAsyncIterator." + name + " can only be used on a ReadableSteamAsyncIterator"); - } - function DequeueValue(container) { - var pair = container._queue.shift(); - container._queueTotalSize -= pair.size; - if (container._queueTotalSize < 0) { - container._queueTotalSize = 0; - } - return pair.value; - } - function EnqueueValueWithSize(container, value, size) { - size = Number(size); - if (!IsFiniteNonNegativeNumber(size)) { - throw new RangeError('Size must be a finite, non-NaN, non-negative number.'); - } - container._queue.push({ - value: value, - size: size - }); - container._queueTotalSize += size; - } - function PeekQueueValue(container) { - var pair = container._queue.peek(); - return pair.value; - } - function ResetQueue(container) { - container._queue = new SimpleQueue(); - container._queueTotalSize = 0; - } - var AbortSteps = SymbolPolyfill('[[AbortSteps]]'); - var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]'); - var WritableStream = function () { - function WritableStream(underlyingSink, strategy) { - if (underlyingSink === void 0) { - underlyingSink = {}; - } - if (strategy === void 0) { - strategy = {}; - } - InitializeWritableStream(this); - var size = strategy.size; - var highWaterMark = strategy.highWaterMark; - var type = underlyingSink.type; - if (type !== undefined) { - throw new RangeError('Invalid type is specified'); - } - var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size); - if (highWaterMark === undefined) { - highWaterMark = 1; - } - highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark); - SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm); - } - Object.defineProperty(WritableStream.prototype, "locked", { - get: function () { - if (IsWritableStream(this) === false) { - throw streamBrandCheckException('locked'); - } - return IsWritableStreamLocked(this); - }, - enumerable: true, - configurable: true - }); - WritableStream.prototype.abort = function (reason) { - if (IsWritableStream(this) === false) { - return promiseRejectedWith(streamBrandCheckException('abort')); - } - if (IsWritableStreamLocked(this) === true) { - return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer')); - } - return WritableStreamAbort(this, reason); - }; - WritableStream.prototype.close = function () { - if (IsWritableStream(this) === false) { - return promiseRejectedWith(streamBrandCheckException('close')); - } - if (IsWritableStreamLocked(this) === true) { - return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer')); - } - if (WritableStreamCloseQueuedOrInFlight(this) === true) { - return promiseRejectedWith(new TypeError('Cannot close an already-closing stream')); - } - return WritableStreamClose(this); - }; - WritableStream.prototype.getWriter = function () { - if (IsWritableStream(this) === false) { - throw streamBrandCheckException('getWriter'); - } - return AcquireWritableStreamDefaultWriter(this); - }; - return WritableStream; - }(); - function AcquireWritableStreamDefaultWriter(stream) { - return new WritableStreamDefaultWriter(stream); - } - function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) { - if (highWaterMark === void 0) { - highWaterMark = 1; - } - if (sizeAlgorithm === void 0) { - sizeAlgorithm = function () { - return 1; - }; - } - var stream = Object.create(WritableStream.prototype); - InitializeWritableStream(stream); - var controller = Object.create(WritableStreamDefaultController.prototype); - SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm); - return stream; - } - function InitializeWritableStream(stream) { - stream._state = 'writable'; - stream._storedError = undefined; - stream._writer = undefined; - stream._writableStreamController = undefined; - stream._writeRequests = new SimpleQueue(); - stream._inFlightWriteRequest = undefined; - stream._closeRequest = undefined; - stream._inFlightCloseRequest = undefined; - stream._pendingAbortRequest = undefined; - stream._backpressure = false; - } - function IsWritableStream(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) { - return false; - } - return true; - } - function IsWritableStreamLocked(stream) { - if (stream._writer === undefined) { - return false; - } - return true; - } - function WritableStreamAbort(stream, reason) { - var state = stream._state; - if (state === 'closed' || state === 'errored') { - return promiseResolvedWith(undefined); - } - if (stream._pendingAbortRequest !== undefined) { - return stream._pendingAbortRequest._promise; - } - var wasAlreadyErroring = false; - if (state === 'erroring') { - wasAlreadyErroring = true; - reason = undefined; - } - var promise = newPromise(function (resolve, reject) { - stream._pendingAbortRequest = { - _promise: undefined, - _resolve: resolve, - _reject: reject, - _reason: reason, - _wasAlreadyErroring: wasAlreadyErroring - }; - }); - stream._pendingAbortRequest._promise = promise; - if (wasAlreadyErroring === false) { - WritableStreamStartErroring(stream, reason); - } - return promise; - } - function WritableStreamClose(stream) { - var state = stream._state; - if (state === 'closed' || state === 'errored') { - return promiseRejectedWith(new TypeError("The stream (in " + state + " state) is not in the writable state and cannot be closed")); - } - var promise = newPromise(function (resolve, reject) { - var closeRequest = { - _resolve: resolve, - _reject: reject - }; - stream._closeRequest = closeRequest; - }); - var writer = stream._writer; - if (writer !== undefined && stream._backpressure === true && state === 'writable') { - defaultWriterReadyPromiseResolve(writer); - } - WritableStreamDefaultControllerClose(stream._writableStreamController); - return promise; - } - function WritableStreamAddWriteRequest(stream) { - var promise = newPromise(function (resolve, reject) { - var writeRequest = { - _resolve: resolve, - _reject: reject - }; - stream._writeRequests.push(writeRequest); - }); - return promise; - } - function WritableStreamDealWithRejection(stream, error) { - var state = stream._state; - if (state === 'writable') { - WritableStreamStartErroring(stream, error); - return; - } - WritableStreamFinishErroring(stream); - } - function WritableStreamStartErroring(stream, reason) { - var controller = stream._writableStreamController; - stream._state = 'erroring'; - stream._storedError = reason; - var writer = stream._writer; - if (writer !== undefined) { - WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason); - } - if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) { - WritableStreamFinishErroring(stream); - } - } - function WritableStreamFinishErroring(stream) { - stream._state = 'errored'; - stream._writableStreamController[ErrorSteps](); - var storedError = stream._storedError; - stream._writeRequests.forEach(function (writeRequest) { - writeRequest._reject(storedError); - }); - stream._writeRequests = new SimpleQueue(); - if (stream._pendingAbortRequest === undefined) { - WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream); - return; - } - var abortRequest = stream._pendingAbortRequest; - stream._pendingAbortRequest = undefined; - if (abortRequest._wasAlreadyErroring === true) { - abortRequest._reject(storedError); - WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream); - return; - } - var promise = stream._writableStreamController[AbortSteps](abortRequest._reason); - uponPromise(promise, function () { - abortRequest._resolve(); - WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream); - }, function (reason) { - abortRequest._reject(reason); - WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream); - }); - } - function WritableStreamFinishInFlightWrite(stream) { - stream._inFlightWriteRequest._resolve(undefined); - stream._inFlightWriteRequest = undefined; - } - function WritableStreamFinishInFlightWriteWithError(stream, error) { - stream._inFlightWriteRequest._reject(error); - stream._inFlightWriteRequest = undefined; - WritableStreamDealWithRejection(stream, error); - } - function WritableStreamFinishInFlightClose(stream) { - stream._inFlightCloseRequest._resolve(undefined); - stream._inFlightCloseRequest = undefined; - var state = stream._state; - if (state === 'erroring') { - stream._storedError = undefined; - if (stream._pendingAbortRequest !== undefined) { - stream._pendingAbortRequest._resolve(); - stream._pendingAbortRequest = undefined; - } - } - stream._state = 'closed'; - var writer = stream._writer; - if (writer !== undefined) { - defaultWriterClosedPromiseResolve(writer); - } - } - function WritableStreamFinishInFlightCloseWithError(stream, error) { - stream._inFlightCloseRequest._reject(error); - stream._inFlightCloseRequest = undefined; - if (stream._pendingAbortRequest !== undefined) { - stream._pendingAbortRequest._reject(error); - stream._pendingAbortRequest = undefined; - } - WritableStreamDealWithRejection(stream, error); - } - function WritableStreamCloseQueuedOrInFlight(stream) { - if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) { - return false; - } - return true; - } - function WritableStreamHasOperationMarkedInFlight(stream) { - if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) { - return false; - } - return true; - } - function WritableStreamMarkCloseRequestInFlight(stream) { - stream._inFlightCloseRequest = stream._closeRequest; - stream._closeRequest = undefined; - } - function WritableStreamMarkFirstWriteRequestInFlight(stream) { - stream._inFlightWriteRequest = stream._writeRequests.shift(); - } - function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) { - if (stream._closeRequest !== undefined) { - stream._closeRequest._reject(stream._storedError); - stream._closeRequest = undefined; - } - var writer = stream._writer; - if (writer !== undefined) { - defaultWriterClosedPromiseReject(writer, stream._storedError); - } - } - function WritableStreamUpdateBackpressure(stream, backpressure) { - var writer = stream._writer; - if (writer !== undefined && backpressure !== stream._backpressure) { - if (backpressure === true) { - defaultWriterReadyPromiseReset(writer); - } else { - defaultWriterReadyPromiseResolve(writer); - } - } - stream._backpressure = backpressure; - } - var WritableStreamDefaultWriter = function () { - function WritableStreamDefaultWriter(stream) { - if (IsWritableStream(stream) === false) { - throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance'); - } - if (IsWritableStreamLocked(stream) === true) { - throw new TypeError('This stream has already been locked for exclusive writing by another writer'); - } - this._ownerWritableStream = stream; - stream._writer = this; - var state = stream._state; - if (state === 'writable') { - if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) { - defaultWriterReadyPromiseInitialize(this); - } else { - defaultWriterReadyPromiseInitializeAsResolved(this); - } - defaultWriterClosedPromiseInitialize(this); - } else if (state === 'erroring') { - defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError); - defaultWriterClosedPromiseInitialize(this); - } else if (state === 'closed') { - defaultWriterReadyPromiseInitializeAsResolved(this); - defaultWriterClosedPromiseInitializeAsResolved(this); - } else { - var storedError = stream._storedError; - defaultWriterReadyPromiseInitializeAsRejected(this, storedError); - defaultWriterClosedPromiseInitializeAsRejected(this, storedError); - } - } - Object.defineProperty(WritableStreamDefaultWriter.prototype, "closed", { - get: function () { - if (IsWritableStreamDefaultWriter(this) === false) { - return promiseRejectedWith(defaultWriterBrandCheckException('closed')); - } - return this._closedPromise; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(WritableStreamDefaultWriter.prototype, "desiredSize", { - get: function () { - if (IsWritableStreamDefaultWriter(this) === false) { - throw defaultWriterBrandCheckException('desiredSize'); - } - if (this._ownerWritableStream === undefined) { - throw defaultWriterLockException('desiredSize'); - } - return WritableStreamDefaultWriterGetDesiredSize(this); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(WritableStreamDefaultWriter.prototype, "ready", { - get: function () { - if (IsWritableStreamDefaultWriter(this) === false) { - return promiseRejectedWith(defaultWriterBrandCheckException('ready')); - } - return this._readyPromise; - }, - enumerable: true, - configurable: true - }); - WritableStreamDefaultWriter.prototype.abort = function (reason) { - if (IsWritableStreamDefaultWriter(this) === false) { - return promiseRejectedWith(defaultWriterBrandCheckException('abort')); - } - if (this._ownerWritableStream === undefined) { - return promiseRejectedWith(defaultWriterLockException('abort')); - } - return WritableStreamDefaultWriterAbort(this, reason); - }; - WritableStreamDefaultWriter.prototype.close = function () { - if (IsWritableStreamDefaultWriter(this) === false) { - return promiseRejectedWith(defaultWriterBrandCheckException('close')); - } - var stream = this._ownerWritableStream; - if (stream === undefined) { - return promiseRejectedWith(defaultWriterLockException('close')); - } - if (WritableStreamCloseQueuedOrInFlight(stream) === true) { - return promiseRejectedWith(new TypeError('Cannot close an already-closing stream')); - } - return WritableStreamDefaultWriterClose(this); - }; - WritableStreamDefaultWriter.prototype.releaseLock = function () { - if (IsWritableStreamDefaultWriter(this) === false) { - throw defaultWriterBrandCheckException('releaseLock'); - } - var stream = this._ownerWritableStream; - if (stream === undefined) { - return; - } - WritableStreamDefaultWriterRelease(this); - }; - WritableStreamDefaultWriter.prototype.write = function (chunk) { - if (IsWritableStreamDefaultWriter(this) === false) { - return promiseRejectedWith(defaultWriterBrandCheckException('write')); - } - if (this._ownerWritableStream === undefined) { - return promiseRejectedWith(defaultWriterLockException('write to')); - } - return WritableStreamDefaultWriterWrite(this, chunk); - }; - return WritableStreamDefaultWriter; - }(); - function IsWritableStreamDefaultWriter(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) { - return false; - } - return true; - } - function WritableStreamDefaultWriterAbort(writer, reason) { - var stream = writer._ownerWritableStream; - return WritableStreamAbort(stream, reason); - } - function WritableStreamDefaultWriterClose(writer) { - var stream = writer._ownerWritableStream; - return WritableStreamClose(stream); - } - function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) { - var stream = writer._ownerWritableStream; - var state = stream._state; - if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') { - return promiseResolvedWith(undefined); - } - if (state === 'errored') { - return promiseRejectedWith(stream._storedError); - } - return WritableStreamDefaultWriterClose(writer); - } - function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) { - if (writer._closedPromiseState === 'pending') { - defaultWriterClosedPromiseReject(writer, error); - } else { - defaultWriterClosedPromiseResetToRejected(writer, error); - } - } - function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) { - if (writer._readyPromiseState === 'pending') { - defaultWriterReadyPromiseReject(writer, error); - } else { - defaultWriterReadyPromiseResetToRejected(writer, error); - } - } - function WritableStreamDefaultWriterGetDesiredSize(writer) { - var stream = writer._ownerWritableStream; - var state = stream._state; - if (state === 'errored' || state === 'erroring') { - return null; - } - if (state === 'closed') { - return 0; - } - return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController); - } - function WritableStreamDefaultWriterRelease(writer) { - var stream = writer._ownerWritableStream; - var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\'s closedness'); - WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError); - WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError); - stream._writer = undefined; - writer._ownerWritableStream = undefined; - } - function WritableStreamDefaultWriterWrite(writer, chunk) { - var stream = writer._ownerWritableStream; - var controller = stream._writableStreamController; - var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk); - if (stream !== writer._ownerWritableStream) { - return promiseRejectedWith(defaultWriterLockException('write to')); - } - var state = stream._state; - if (state === 'errored') { - return promiseRejectedWith(stream._storedError); - } - if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') { - return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to')); - } - if (state === 'erroring') { - return promiseRejectedWith(stream._storedError); - } - var promise = WritableStreamAddWriteRequest(stream); - WritableStreamDefaultControllerWrite(controller, chunk, chunkSize); - return promise; - } - var WritableStreamDefaultController = function () { - function WritableStreamDefaultController() { - throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly'); - } - WritableStreamDefaultController.prototype.error = function (e) { - if (IsWritableStreamDefaultController(this) === false) { - throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController'); - } - var state = this._controlledWritableStream._state; - if (state !== 'writable') { - return; - } - WritableStreamDefaultControllerError(this, e); - }; - WritableStreamDefaultController.prototype[AbortSteps] = function (reason) { - var result = this._abortAlgorithm(reason); - WritableStreamDefaultControllerClearAlgorithms(this); - return result; - }; - WritableStreamDefaultController.prototype[ErrorSteps] = function () { - ResetQueue(this); - }; - return WritableStreamDefaultController; - }(); - function IsWritableStreamDefaultController(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) { - return false; - } - return true; - } - function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) { - controller._controlledWritableStream = stream; - stream._writableStreamController = controller; - controller._queue = undefined; - controller._queueTotalSize = undefined; - ResetQueue(controller); - controller._started = false; - controller._strategySizeAlgorithm = sizeAlgorithm; - controller._strategyHWM = highWaterMark; - controller._writeAlgorithm = writeAlgorithm; - controller._closeAlgorithm = closeAlgorithm; - controller._abortAlgorithm = abortAlgorithm; - var backpressure = WritableStreamDefaultControllerGetBackpressure(controller); - WritableStreamUpdateBackpressure(stream, backpressure); - var startResult = startAlgorithm(); - var startPromise = promiseResolvedWith(startResult); - uponPromise(startPromise, function () { - controller._started = true; - WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); - }, function (r) { - controller._started = true; - WritableStreamDealWithRejection(stream, r); - }); - } - function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) { - var controller = Object.create(WritableStreamDefaultController.prototype); - function startAlgorithm() { - return InvokeOrNoop(underlyingSink, 'start', [controller]); - } - var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]); - var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []); - var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []); - SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm); - } - function WritableStreamDefaultControllerClearAlgorithms(controller) { - controller._writeAlgorithm = undefined; - controller._closeAlgorithm = undefined; - controller._abortAlgorithm = undefined; - controller._strategySizeAlgorithm = undefined; - } - function WritableStreamDefaultControllerClose(controller) { - EnqueueValueWithSize(controller, 'close', 0); - WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); - } - function WritableStreamDefaultControllerGetChunkSize(controller, chunk) { - try { - return controller._strategySizeAlgorithm(chunk); - } catch (chunkSizeE) { - WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE); - return 1; - } - } - function WritableStreamDefaultControllerGetDesiredSize(controller) { - return controller._strategyHWM - controller._queueTotalSize; - } - function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) { - var writeRecord = { chunk: chunk }; - try { - EnqueueValueWithSize(controller, writeRecord, chunkSize); - } catch (enqueueE) { - WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE); - return; - } - var stream = controller._controlledWritableStream; - if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') { - var backpressure = WritableStreamDefaultControllerGetBackpressure(controller); - WritableStreamUpdateBackpressure(stream, backpressure); - } - WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); - } - function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) { - var stream = controller._controlledWritableStream; - if (controller._started === false) { - return; - } - if (stream._inFlightWriteRequest !== undefined) { - return; - } - var state = stream._state; - if (state === 'erroring') { - WritableStreamFinishErroring(stream); - return; - } - if (controller._queue.length === 0) { - return; - } - var writeRecord = PeekQueueValue(controller); - if (writeRecord === 'close') { - WritableStreamDefaultControllerProcessClose(controller); - } else { - WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk); - } - } - function WritableStreamDefaultControllerErrorIfNeeded(controller, error) { - if (controller._controlledWritableStream._state === 'writable') { - WritableStreamDefaultControllerError(controller, error); - } - } - function WritableStreamDefaultControllerProcessClose(controller) { - var stream = controller._controlledWritableStream; - WritableStreamMarkCloseRequestInFlight(stream); - DequeueValue(controller); - var sinkClosePromise = controller._closeAlgorithm(); - WritableStreamDefaultControllerClearAlgorithms(controller); - uponPromise(sinkClosePromise, function () { - WritableStreamFinishInFlightClose(stream); - }, function (reason) { - WritableStreamFinishInFlightCloseWithError(stream, reason); - }); - } - function WritableStreamDefaultControllerProcessWrite(controller, chunk) { - var stream = controller._controlledWritableStream; - WritableStreamMarkFirstWriteRequestInFlight(stream); - var sinkWritePromise = controller._writeAlgorithm(chunk); - uponPromise(sinkWritePromise, function () { - WritableStreamFinishInFlightWrite(stream); - var state = stream._state; - DequeueValue(controller); - if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') { - var backpressure = WritableStreamDefaultControllerGetBackpressure(controller); - WritableStreamUpdateBackpressure(stream, backpressure); - } - WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); - }, function (reason) { - if (stream._state === 'writable') { - WritableStreamDefaultControllerClearAlgorithms(controller); - } - WritableStreamFinishInFlightWriteWithError(stream, reason); - }); - } - function WritableStreamDefaultControllerGetBackpressure(controller) { - var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller); - return desiredSize <= 0; - } - function WritableStreamDefaultControllerError(controller, error) { - var stream = controller._controlledWritableStream; - WritableStreamDefaultControllerClearAlgorithms(controller); - WritableStreamStartErroring(stream, error); - } - function streamBrandCheckException(name) { - return new TypeError("WritableStream.prototype." + name + " can only be used on a WritableStream"); - } - function defaultWriterBrandCheckException(name) { - return new TypeError("WritableStreamDefaultWriter.prototype." + name + " can only be used on a WritableStreamDefaultWriter"); - } - function defaultWriterLockException(name) { - return new TypeError('Cannot ' + name + ' a stream using a released writer'); - } - function defaultWriterClosedPromiseInitialize(writer) { - writer._closedPromise = newPromise(function (resolve, reject) { - writer._closedPromise_resolve = resolve; - writer._closedPromise_reject = reject; - writer._closedPromiseState = 'pending'; - }); - } - function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) { - defaultWriterClosedPromiseInitialize(writer); - defaultWriterClosedPromiseReject(writer, reason); - } - function defaultWriterClosedPromiseInitializeAsResolved(writer) { - defaultWriterClosedPromiseInitialize(writer); - defaultWriterClosedPromiseResolve(writer); - } - function defaultWriterClosedPromiseReject(writer, reason) { - setPromiseIsHandledToTrue(writer._closedPromise); - writer._closedPromise_reject(reason); - writer._closedPromise_resolve = undefined; - writer._closedPromise_reject = undefined; - writer._closedPromiseState = 'rejected'; - } - function defaultWriterClosedPromiseResetToRejected(writer, reason) { - defaultWriterClosedPromiseInitializeAsRejected(writer, reason); - } - function defaultWriterClosedPromiseResolve(writer) { - writer._closedPromise_resolve(undefined); - writer._closedPromise_resolve = undefined; - writer._closedPromise_reject = undefined; - writer._closedPromiseState = 'resolved'; - } - function defaultWriterReadyPromiseInitialize(writer) { - writer._readyPromise = newPromise(function (resolve, reject) { - writer._readyPromise_resolve = resolve; - writer._readyPromise_reject = reject; - }); - writer._readyPromiseState = 'pending'; - } - function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) { - defaultWriterReadyPromiseInitialize(writer); - defaultWriterReadyPromiseReject(writer, reason); - } - function defaultWriterReadyPromiseInitializeAsResolved(writer) { - defaultWriterReadyPromiseInitialize(writer); - defaultWriterReadyPromiseResolve(writer); - } - function defaultWriterReadyPromiseReject(writer, reason) { - setPromiseIsHandledToTrue(writer._readyPromise); - writer._readyPromise_reject(reason); - writer._readyPromise_resolve = undefined; - writer._readyPromise_reject = undefined; - writer._readyPromiseState = 'rejected'; - } - function defaultWriterReadyPromiseReset(writer) { - defaultWriterReadyPromiseInitialize(writer); - } - function defaultWriterReadyPromiseResetToRejected(writer, reason) { - defaultWriterReadyPromiseInitializeAsRejected(writer, reason); - } - function defaultWriterReadyPromiseResolve(writer) { - writer._readyPromise_resolve(undefined); - writer._readyPromise_resolve = undefined; - writer._readyPromise_reject = undefined; - writer._readyPromiseState = 'fulfilled'; - } - function isAbortSignal(value) { - if (typeof value !== 'object' || value === null) { - return false; - } - try { - return typeof value.aborted === 'boolean'; - } catch (_a) { - return false; - } - } - var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined; - function isDOMExceptionConstructor(ctor) { - if (!(typeof ctor === 'function' || typeof ctor === 'object')) { - return false; - } - try { - new ctor(); - return true; - } catch (_a) { - return false; - } - } - function createDOMExceptionPolyfill() { - var ctor = function DOMException(message, name) { - this.message = message || ''; - this.name = name || 'Error'; - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - }; - ctor.prototype = Object.create(Error.prototype); - Object.defineProperty(ctor.prototype, 'constructor', { - value: ctor, - writable: true, - configurable: true - }); - return ctor; - } - var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill(); - function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) { - var reader = AcquireReadableStreamDefaultReader(source); - var writer = AcquireWritableStreamDefaultWriter(dest); - source._disturbed = true; - var shuttingDown = false; - var currentWrite = promiseResolvedWith(undefined); - return newPromise(function (resolve, reject) { - var abortAlgorithm; - if (signal !== undefined) { - abortAlgorithm = function () { - var error = new DOMException$1('Aborted', 'AbortError'); - var actions = []; - if (preventAbort === false) { - actions.push(function () { - if (dest._state === 'writable') { - return WritableStreamAbort(dest, error); - } - return promiseResolvedWith(undefined); - }); - } - if (preventCancel === false) { - actions.push(function () { - if (source._state === 'readable') { - return ReadableStreamCancel(source, error); - } - return promiseResolvedWith(undefined); - }); - } - shutdownWithAction(function () { - return Promise.all(actions.map(function (action) { - return action(); - })); - }, true, error); - }; - if (signal.aborted === true) { - abortAlgorithm(); - return; - } - signal.addEventListener('abort', abortAlgorithm); - } - function pipeLoop() { - return newPromise(function (resolveLoop, rejectLoop) { - function next(done) { - if (done) { - resolveLoop(); - } else { - PerformPromiseThen(pipeStep(), next, rejectLoop); - } - } - next(false); - }); - } - function pipeStep() { - if (shuttingDown === true) { - return promiseResolvedWith(true); - } - return PerformPromiseThen(writer._readyPromise, function () { - return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (_a) { - var value = _a.value, done = _a.done; - if (done === true) { - return true; - } - currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, value), undefined, noop); - return false; - }); - }); - } - isOrBecomesErrored(source, reader._closedPromise, function (storedError) { - if (preventAbort === false) { - shutdownWithAction(function () { - return WritableStreamAbort(dest, storedError); - }, true, storedError); - } else { - shutdown(true, storedError); - } - }); - isOrBecomesErrored(dest, writer._closedPromise, function (storedError) { - if (preventCancel === false) { - shutdownWithAction(function () { - return ReadableStreamCancel(source, storedError); - }, true, storedError); - } else { - shutdown(true, storedError); - } - }); - isOrBecomesClosed(source, reader._closedPromise, function () { - if (preventClose === false) { - shutdownWithAction(function () { - return WritableStreamDefaultWriterCloseWithErrorPropagation(writer); - }); - } else { - shutdown(); - } - }); - if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') { - var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it'); - if (preventCancel === false) { - shutdownWithAction(function () { - return ReadableStreamCancel(source, destClosed_1); - }, true, destClosed_1); - } else { - shutdown(true, destClosed_1); - } - } - setPromiseIsHandledToTrue(pipeLoop()); - function waitForWritesToFinish() { - var oldCurrentWrite = currentWrite; - return PerformPromiseThen(currentWrite, function () { - return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined; - }); - } - function isOrBecomesErrored(stream, promise, action) { - if (stream._state === 'errored') { - action(stream._storedError); - } else { - uponRejection(promise, action); - } - } - function isOrBecomesClosed(stream, promise, action) { - if (stream._state === 'closed') { - action(); - } else { - uponFulfillment(promise, action); - } - } - function shutdownWithAction(action, originalIsError, originalError) { - if (shuttingDown === true) { - return; - } - shuttingDown = true; - if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) { - uponFulfillment(waitForWritesToFinish(), doTheRest); - } else { - doTheRest(); - } - function doTheRest() { - uponPromise(action(), function () { - return finalize(originalIsError, originalError); - }, function (newError) { - return finalize(true, newError); - }); - } - } - function shutdown(isError, error) { - if (shuttingDown === true) { - return; - } - shuttingDown = true; - if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) { - uponFulfillment(waitForWritesToFinish(), function () { - return finalize(isError, error); - }); - } else { - finalize(isError, error); - } - } - function finalize(isError, error) { - WritableStreamDefaultWriterRelease(writer); - ReadableStreamReaderGenericRelease(reader); - if (signal !== undefined) { - signal.removeEventListener('abort', abortAlgorithm); - } - if (isError) { - reject(error); - } else { - resolve(undefined); - } - } - }); - } - var ReadableStreamDefaultController = function () { - function ReadableStreamDefaultController() { - throw new TypeError(); - } - Object.defineProperty(ReadableStreamDefaultController.prototype, "desiredSize", { - get: function () { - if (IsReadableStreamDefaultController(this) === false) { - throw defaultControllerBrandCheckException('desiredSize'); - } - return ReadableStreamDefaultControllerGetDesiredSize(this); - }, - enumerable: true, - configurable: true - }); - ReadableStreamDefaultController.prototype.close = function () { - if (IsReadableStreamDefaultController(this) === false) { - throw defaultControllerBrandCheckException('close'); - } - if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) { - throw new TypeError('The stream is not in a state that permits close'); - } - ReadableStreamDefaultControllerClose(this); - }; - ReadableStreamDefaultController.prototype.enqueue = function (chunk) { - if (IsReadableStreamDefaultController(this) === false) { - throw defaultControllerBrandCheckException('enqueue'); - } - if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) { - throw new TypeError('The stream is not in a state that permits enqueue'); - } - return ReadableStreamDefaultControllerEnqueue(this, chunk); - }; - ReadableStreamDefaultController.prototype.error = function (e) { - if (IsReadableStreamDefaultController(this) === false) { - throw defaultControllerBrandCheckException('error'); - } - ReadableStreamDefaultControllerError(this, e); - }; - ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) { - ResetQueue(this); - var result = this._cancelAlgorithm(reason); - ReadableStreamDefaultControllerClearAlgorithms(this); - return result; - }; - ReadableStreamDefaultController.prototype[PullSteps] = function () { - var stream = this._controlledReadableStream; - if (this._queue.length > 0) { - var chunk = DequeueValue(this); - if (this._closeRequested === true && this._queue.length === 0) { - ReadableStreamDefaultControllerClearAlgorithms(this); - ReadableStreamClose(stream); - } else { - ReadableStreamDefaultControllerCallPullIfNeeded(this); - } - return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode)); - } - var pendingPromise = ReadableStreamAddReadRequest(stream); - ReadableStreamDefaultControllerCallPullIfNeeded(this); - return pendingPromise; - }; - return ReadableStreamDefaultController; - }(); - function IsReadableStreamDefaultController(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) { - return false; - } - return true; - } - function ReadableStreamDefaultControllerCallPullIfNeeded(controller) { - var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller); - if (shouldPull === false) { - return; - } - if (controller._pulling === true) { - controller._pullAgain = true; - return; - } - controller._pulling = true; - var pullPromise = controller._pullAlgorithm(); - uponPromise(pullPromise, function () { - controller._pulling = false; - if (controller._pullAgain === true) { - controller._pullAgain = false; - ReadableStreamDefaultControllerCallPullIfNeeded(controller); - } - }, function (e) { - ReadableStreamDefaultControllerError(controller, e); - }); - } - function ReadableStreamDefaultControllerShouldCallPull(controller) { - var stream = controller._controlledReadableStream; - if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) { - return false; - } - if (controller._started === false) { - return false; - } - if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) { - return true; - } - var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller); - if (desiredSize > 0) { - return true; - } - return false; - } - function ReadableStreamDefaultControllerClearAlgorithms(controller) { - controller._pullAlgorithm = undefined; - controller._cancelAlgorithm = undefined; - controller._strategySizeAlgorithm = undefined; - } - function ReadableStreamDefaultControllerClose(controller) { - var stream = controller._controlledReadableStream; - controller._closeRequested = true; - if (controller._queue.length === 0) { - ReadableStreamDefaultControllerClearAlgorithms(controller); - ReadableStreamClose(stream); - } - } - function ReadableStreamDefaultControllerEnqueue(controller, chunk) { - var stream = controller._controlledReadableStream; - if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) { - ReadableStreamFulfillReadRequest(stream, chunk, false); - } else { - var chunkSize = void 0; - try { - chunkSize = controller._strategySizeAlgorithm(chunk); - } catch (chunkSizeE) { - ReadableStreamDefaultControllerError(controller, chunkSizeE); - throw chunkSizeE; - } - try { - EnqueueValueWithSize(controller, chunk, chunkSize); - } catch (enqueueE) { - ReadableStreamDefaultControllerError(controller, enqueueE); - throw enqueueE; - } - } - ReadableStreamDefaultControllerCallPullIfNeeded(controller); - } - function ReadableStreamDefaultControllerError(controller, e) { - var stream = controller._controlledReadableStream; - if (stream._state !== 'readable') { - return; - } - ResetQueue(controller); - ReadableStreamDefaultControllerClearAlgorithms(controller); - ReadableStreamError(stream, e); - } - function ReadableStreamDefaultControllerGetDesiredSize(controller) { - var stream = controller._controlledReadableStream; - var state = stream._state; - if (state === 'errored') { - return null; - } - if (state === 'closed') { - return 0; - } - return controller._strategyHWM - controller._queueTotalSize; - } - function ReadableStreamDefaultControllerHasBackpressure(controller) { - if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) { - return false; - } - return true; - } - function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) { - var state = controller._controlledReadableStream._state; - if (controller._closeRequested === false && state === 'readable') { - return true; - } - return false; - } - function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) { - controller._controlledReadableStream = stream; - controller._queue = undefined; - controller._queueTotalSize = undefined; - ResetQueue(controller); - controller._started = false; - controller._closeRequested = false; - controller._pullAgain = false; - controller._pulling = false; - controller._strategySizeAlgorithm = sizeAlgorithm; - controller._strategyHWM = highWaterMark; - controller._pullAlgorithm = pullAlgorithm; - controller._cancelAlgorithm = cancelAlgorithm; - stream._readableStreamController = controller; - var startResult = startAlgorithm(); - uponPromise(promiseResolvedWith(startResult), function () { - controller._started = true; - ReadableStreamDefaultControllerCallPullIfNeeded(controller); - }, function (r) { - ReadableStreamDefaultControllerError(controller, r); - }); - } - function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) { - var controller = Object.create(ReadableStreamDefaultController.prototype); - function startAlgorithm() { - return InvokeOrNoop(underlyingSource, 'start', [controller]); - } - var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]); - var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []); - SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm); - } - function defaultControllerBrandCheckException(name) { - return new TypeError("ReadableStreamDefaultController.prototype." + name + " can only be used on a ReadableStreamDefaultController"); - } - function ReadableStreamTee(stream, cloneForBranch2) { - var reader = AcquireReadableStreamDefaultReader(stream); - var reading = false; - var canceled1 = false; - var canceled2 = false; - var reason1; - var reason2; - var branch1; - var branch2; - var resolveCancelPromise; - var cancelPromise = newPromise(function (resolve) { - resolveCancelPromise = resolve; - }); - function pullAlgorithm() { - if (reading === true) { - return promiseResolvedWith(undefined); - } - reading = true; - var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) { - reading = false; - var done = result.done; - if (done === true) { - if (canceled1 === false) { - ReadableStreamDefaultControllerClose(branch1._readableStreamController); - } - if (canceled2 === false) { - ReadableStreamDefaultControllerClose(branch2._readableStreamController); - } - return; - } - var value = result.value; - var value1 = value; - var value2 = value; - if (canceled1 === false) { - ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1); - } - if (canceled2 === false) { - ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2); - } - }); - setPromiseIsHandledToTrue(readPromise); - return promiseResolvedWith(undefined); - } - function cancel1Algorithm(reason) { - canceled1 = true; - reason1 = reason; - if (canceled2 === true) { - var compositeReason = createArrayFromList([ - reason1, - reason2 - ]); - var cancelResult = ReadableStreamCancel(stream, compositeReason); - resolveCancelPromise(cancelResult); - } - return cancelPromise; - } - function cancel2Algorithm(reason) { - canceled2 = true; - reason2 = reason; - if (canceled1 === true) { - var compositeReason = createArrayFromList([ - reason1, - reason2 - ]); - var cancelResult = ReadableStreamCancel(stream, compositeReason); - resolveCancelPromise(cancelResult); - } - return cancelPromise; - } - function startAlgorithm() { - } - branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm); - branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm); - uponRejection(reader._closedPromise, function (r) { - ReadableStreamDefaultControllerError(branch1._readableStreamController, r); - ReadableStreamDefaultControllerError(branch2._readableStreamController, r); - }); - return [ - branch1, - branch2 - ]; - } - var NumberIsInteger = Number.isInteger || function (value) { - return typeof value === 'number' && isFinite(value) && Math.floor(value) === value; - }; - var ReadableStreamBYOBRequest = function () { - function ReadableStreamBYOBRequest() { - throw new TypeError('ReadableStreamBYOBRequest cannot be used directly'); - } - Object.defineProperty(ReadableStreamBYOBRequest.prototype, "view", { - get: function () { - if (IsReadableStreamBYOBRequest(this) === false) { - throw byobRequestBrandCheckException('view'); - } - return this._view; - }, - enumerable: true, - configurable: true - }); - ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) { - if (IsReadableStreamBYOBRequest(this) === false) { - throw byobRequestBrandCheckException('respond'); - } - if (this._associatedReadableByteStreamController === undefined) { - throw new TypeError('This BYOB request has been invalidated'); - } - if (IsDetachedBuffer(this._view.buffer) === true); - ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten); - }; - ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) { - if (IsReadableStreamBYOBRequest(this) === false) { - throw byobRequestBrandCheckException('respond'); - } - if (this._associatedReadableByteStreamController === undefined) { - throw new TypeError('This BYOB request has been invalidated'); - } - if (!ArrayBuffer.isView(view)) { - throw new TypeError('You can only respond with array buffer views'); - } - if (IsDetachedBuffer(view.buffer) === true); - ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view); - }; - return ReadableStreamBYOBRequest; - }(); - var ReadableByteStreamController = function () { - function ReadableByteStreamController() { - throw new TypeError('ReadableByteStreamController constructor cannot be used directly'); - } - Object.defineProperty(ReadableByteStreamController.prototype, "byobRequest", { - get: function () { - if (IsReadableByteStreamController(this) === false) { - throw byteStreamControllerBrandCheckException('byobRequest'); - } - if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) { - var firstDescriptor = this._pendingPullIntos.peek(); - var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled); - var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype); - SetUpReadableStreamBYOBRequest(byobRequest, this, view); - this._byobRequest = byobRequest; - } - return this._byobRequest; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ReadableByteStreamController.prototype, "desiredSize", { - get: function () { - if (IsReadableByteStreamController(this) === false) { - throw byteStreamControllerBrandCheckException('desiredSize'); - } - return ReadableByteStreamControllerGetDesiredSize(this); - }, - enumerable: true, - configurable: true - }); - ReadableByteStreamController.prototype.close = function () { - if (IsReadableByteStreamController(this) === false) { - throw byteStreamControllerBrandCheckException('close'); - } - if (this._closeRequested === true) { - throw new TypeError('The stream has already been closed; do not close it again!'); - } - var state = this._controlledReadableByteStream._state; - if (state !== 'readable') { - throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be closed"); - } - ReadableByteStreamControllerClose(this); - }; - ReadableByteStreamController.prototype.enqueue = function (chunk) { - if (IsReadableByteStreamController(this) === false) { - throw byteStreamControllerBrandCheckException('enqueue'); - } - if (this._closeRequested === true) { - throw new TypeError('stream is closed or draining'); - } - var state = this._controlledReadableByteStream._state; - if (state !== 'readable') { - throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be enqueued to"); - } - if (!ArrayBuffer.isView(chunk)) { - throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController'); - } - if (IsDetachedBuffer(chunk.buffer) === true); - ReadableByteStreamControllerEnqueue(this, chunk); - }; - ReadableByteStreamController.prototype.error = function (e) { - if (IsReadableByteStreamController(this) === false) { - throw byteStreamControllerBrandCheckException('error'); - } - ReadableByteStreamControllerError(this, e); - }; - ReadableByteStreamController.prototype[CancelSteps] = function (reason) { - if (this._pendingPullIntos.length > 0) { - var firstDescriptor = this._pendingPullIntos.peek(); - firstDescriptor.bytesFilled = 0; - } - ResetQueue(this); - var result = this._cancelAlgorithm(reason); - ReadableByteStreamControllerClearAlgorithms(this); - return result; - }; - ReadableByteStreamController.prototype[PullSteps] = function () { - var stream = this._controlledReadableByteStream; - if (this._queueTotalSize > 0) { - var entry = this._queue.shift(); - this._queueTotalSize -= entry.byteLength; - ReadableByteStreamControllerHandleQueueDrain(this); - var view = void 0; - try { - view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength); - } catch (viewE) { - return promiseRejectedWith(viewE); - } - return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode)); - } - var autoAllocateChunkSize = this._autoAllocateChunkSize; - if (autoAllocateChunkSize !== undefined) { - var buffer = void 0; - try { - buffer = new ArrayBuffer(autoAllocateChunkSize); - } catch (bufferE) { - return promiseRejectedWith(bufferE); - } - var pullIntoDescriptor = { - buffer: buffer, - byteOffset: 0, - byteLength: autoAllocateChunkSize, - bytesFilled: 0, - elementSize: 1, - ctor: Uint8Array, - readerType: 'default' - }; - this._pendingPullIntos.push(pullIntoDescriptor); - } - var promise = ReadableStreamAddReadRequest(stream); - ReadableByteStreamControllerCallPullIfNeeded(this); - return promise; - }; - return ReadableByteStreamController; - }(); - function IsReadableByteStreamController(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) { - return false; - } - return true; - } - function IsReadableStreamBYOBRequest(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) { - return false; - } - return true; - } - function ReadableByteStreamControllerCallPullIfNeeded(controller) { - var shouldPull = ReadableByteStreamControllerShouldCallPull(controller); - if (shouldPull === false) { - return; - } - if (controller._pulling === true) { - controller._pullAgain = true; - return; - } - controller._pulling = true; - var pullPromise = controller._pullAlgorithm(); - uponPromise(pullPromise, function () { - controller._pulling = false; - if (controller._pullAgain === true) { - controller._pullAgain = false; - ReadableByteStreamControllerCallPullIfNeeded(controller); - } - }, function (e) { - ReadableByteStreamControllerError(controller, e); - }); - } - function ReadableByteStreamControllerClearPendingPullIntos(controller) { - ReadableByteStreamControllerInvalidateBYOBRequest(controller); - controller._pendingPullIntos = new SimpleQueue(); - } - function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) { - var done = false; - if (stream._state === 'closed') { - done = true; - } - var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor); - if (pullIntoDescriptor.readerType === 'default') { - ReadableStreamFulfillReadRequest(stream, filledView, done); - } else { - ReadableStreamFulfillReadIntoRequest(stream, filledView, done); - } - } - function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) { - var bytesFilled = pullIntoDescriptor.bytesFilled; - var elementSize = pullIntoDescriptor.elementSize; - return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize); - } - function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) { - controller._queue.push({ - buffer: buffer, - byteOffset: byteOffset, - byteLength: byteLength - }); - controller._queueTotalSize += byteLength; - } - function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) { - var elementSize = pullIntoDescriptor.elementSize; - var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize; - var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled); - var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy; - var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize; - var totalBytesToCopyRemaining = maxBytesToCopy; - var ready = false; - if (maxAlignedBytes > currentAlignedBytes) { - totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled; - ready = true; - } - var queue = controller._queue; - while (totalBytesToCopyRemaining > 0) { - var headOfQueue = queue.peek(); - var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength); - var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled; - ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy); - if (headOfQueue.byteLength === bytesToCopy) { - queue.shift(); - } else { - headOfQueue.byteOffset += bytesToCopy; - headOfQueue.byteLength -= bytesToCopy; - } - controller._queueTotalSize -= bytesToCopy; - ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor); - totalBytesToCopyRemaining -= bytesToCopy; - } - return ready; - } - function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) { - ReadableByteStreamControllerInvalidateBYOBRequest(controller); - pullIntoDescriptor.bytesFilled += size; - } - function ReadableByteStreamControllerHandleQueueDrain(controller) { - if (controller._queueTotalSize === 0 && controller._closeRequested === true) { - ReadableByteStreamControllerClearAlgorithms(controller); - ReadableStreamClose(controller._controlledReadableByteStream); - } else { - ReadableByteStreamControllerCallPullIfNeeded(controller); - } - } - function ReadableByteStreamControllerInvalidateBYOBRequest(controller) { - if (controller._byobRequest === undefined) { - return; - } - controller._byobRequest._associatedReadableByteStreamController = undefined; - controller._byobRequest._view = undefined; - controller._byobRequest = undefined; - } - function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) { - while (controller._pendingPullIntos.length > 0) { - if (controller._queueTotalSize === 0) { - return; - } - var pullIntoDescriptor = controller._pendingPullIntos.peek(); - if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) { - ReadableByteStreamControllerShiftPendingPullInto(controller); - ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor); - } - } - } - function ReadableByteStreamControllerPullInto(controller, view) { - var stream = controller._controlledReadableByteStream; - var elementSize = 1; - if (view.constructor !== DataView) { - elementSize = view.constructor.BYTES_PER_ELEMENT; - } - var ctor = view.constructor; - var buffer = TransferArrayBuffer(view.buffer); - var pullIntoDescriptor = { - buffer: buffer, - byteOffset: view.byteOffset, - byteLength: view.byteLength, - bytesFilled: 0, - elementSize: elementSize, - ctor: ctor, - readerType: 'byob' - }; - if (controller._pendingPullIntos.length > 0) { - controller._pendingPullIntos.push(pullIntoDescriptor); - return ReadableStreamAddReadIntoRequest(stream); - } - if (stream._state === 'closed') { - var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0); - return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode)); - } - if (controller._queueTotalSize > 0) { - if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) { - var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor); - ReadableByteStreamControllerHandleQueueDrain(controller); - return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode)); - } - if (controller._closeRequested === true) { - var e = new TypeError('Insufficient bytes to fill elements in the given buffer'); - ReadableByteStreamControllerError(controller, e); - return promiseRejectedWith(e); - } - } - controller._pendingPullIntos.push(pullIntoDescriptor); - var promise = ReadableStreamAddReadIntoRequest(stream); - ReadableByteStreamControllerCallPullIfNeeded(controller); - return promise; - } - function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) { - firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer); - var stream = controller._controlledReadableByteStream; - if (ReadableStreamHasBYOBReader(stream) === true) { - while (ReadableStreamGetNumReadIntoRequests(stream) > 0) { - var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller); - ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor); - } - } - } - function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) { - if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) { - throw new RangeError('bytesWritten out of range'); - } - ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor); - if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) { - return; - } - ReadableByteStreamControllerShiftPendingPullInto(controller); - var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize; - if (remainderSize > 0) { - var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled; - var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end); - ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength); - } - pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer); - pullIntoDescriptor.bytesFilled -= remainderSize; - ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor); - ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); - } - function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) { - var firstDescriptor = controller._pendingPullIntos.peek(); - var stream = controller._controlledReadableByteStream; - if (stream._state === 'closed') { - if (bytesWritten !== 0) { - throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream'); - } - ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor); - } else { - ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor); - } - ReadableByteStreamControllerCallPullIfNeeded(controller); - } - function ReadableByteStreamControllerShiftPendingPullInto(controller) { - var descriptor = controller._pendingPullIntos.shift(); - ReadableByteStreamControllerInvalidateBYOBRequest(controller); - return descriptor; - } - function ReadableByteStreamControllerShouldCallPull(controller) { - var stream = controller._controlledReadableByteStream; - if (stream._state !== 'readable') { - return false; - } - if (controller._closeRequested === true) { - return false; - } - if (controller._started === false) { - return false; - } - if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) { - return true; - } - if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) { - return true; - } - var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller); - if (desiredSize > 0) { - return true; - } - return false; - } - function ReadableByteStreamControllerClearAlgorithms(controller) { - controller._pullAlgorithm = undefined; - controller._cancelAlgorithm = undefined; - } - function ReadableByteStreamControllerClose(controller) { - var stream = controller._controlledReadableByteStream; - if (controller._queueTotalSize > 0) { - controller._closeRequested = true; - return; - } - if (controller._pendingPullIntos.length > 0) { - var firstPendingPullInto = controller._pendingPullIntos.peek(); - if (firstPendingPullInto.bytesFilled > 0) { - var e = new TypeError('Insufficient bytes to fill elements in the given buffer'); - ReadableByteStreamControllerError(controller, e); - throw e; - } - } - ReadableByteStreamControllerClearAlgorithms(controller); - ReadableStreamClose(stream); - } - function ReadableByteStreamControllerEnqueue(controller, chunk) { - var stream = controller._controlledReadableByteStream; - var buffer = chunk.buffer; - var byteOffset = chunk.byteOffset; - var byteLength = chunk.byteLength; - var transferredBuffer = TransferArrayBuffer(buffer); - if (ReadableStreamHasDefaultReader(stream) === true) { - if (ReadableStreamGetNumReadRequests(stream) === 0) { - ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); - } else { - var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength); - ReadableStreamFulfillReadRequest(stream, transferredView, false); - } - } else if (ReadableStreamHasBYOBReader(stream) === true) { - ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); - ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); - } else { - ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); - } - ReadableByteStreamControllerCallPullIfNeeded(controller); - } - function ReadableByteStreamControllerError(controller, e) { - var stream = controller._controlledReadableByteStream; - if (stream._state !== 'readable') { - return; - } - ReadableByteStreamControllerClearPendingPullIntos(controller); - ResetQueue(controller); - ReadableByteStreamControllerClearAlgorithms(controller); - ReadableStreamError(stream, e); - } - function ReadableByteStreamControllerGetDesiredSize(controller) { - var stream = controller._controlledReadableByteStream; - var state = stream._state; - if (state === 'errored') { - return null; - } - if (state === 'closed') { - return 0; - } - return controller._strategyHWM - controller._queueTotalSize; - } - function ReadableByteStreamControllerRespond(controller, bytesWritten) { - bytesWritten = Number(bytesWritten); - if (IsFiniteNonNegativeNumber(bytesWritten) === false) { - throw new RangeError('bytesWritten must be a finite'); - } - ReadableByteStreamControllerRespondInternal(controller, bytesWritten); - } - function ReadableByteStreamControllerRespondWithNewView(controller, view) { - var firstDescriptor = controller._pendingPullIntos.peek(); - if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) { - throw new RangeError('The region specified by view does not match byobRequest'); - } - if (firstDescriptor.byteLength !== view.byteLength) { - throw new RangeError('The buffer of view has different capacity than byobRequest'); - } - firstDescriptor.buffer = view.buffer; - ReadableByteStreamControllerRespondInternal(controller, view.byteLength); - } - function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) { - controller._controlledReadableByteStream = stream; - controller._pullAgain = false; - controller._pulling = false; - controller._byobRequest = undefined; - controller._queue = controller._queueTotalSize = undefined; - ResetQueue(controller); - controller._closeRequested = false; - controller._started = false; - controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark); - controller._pullAlgorithm = pullAlgorithm; - controller._cancelAlgorithm = cancelAlgorithm; - controller._autoAllocateChunkSize = autoAllocateChunkSize; - controller._pendingPullIntos = new SimpleQueue(); - stream._readableStreamController = controller; - var startResult = startAlgorithm(); - uponPromise(promiseResolvedWith(startResult), function () { - controller._started = true; - ReadableByteStreamControllerCallPullIfNeeded(controller); - }, function (r) { - ReadableByteStreamControllerError(controller, r); - }); - } - function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) { - var controller = Object.create(ReadableByteStreamController.prototype); - function startAlgorithm() { - return InvokeOrNoop(underlyingByteSource, 'start', [controller]); - } - var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]); - var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []); - var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize; - if (autoAllocateChunkSize !== undefined) { - autoAllocateChunkSize = Number(autoAllocateChunkSize); - if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) { - throw new RangeError('autoAllocateChunkSize must be a positive integer'); - } - } - SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize); - } - function SetUpReadableStreamBYOBRequest(request, controller, view) { - request._associatedReadableByteStreamController = controller; - request._view = view; - } - function byobRequestBrandCheckException(name) { - return new TypeError("ReadableStreamBYOBRequest.prototype." + name + " can only be used on a ReadableStreamBYOBRequest"); - } - function byteStreamControllerBrandCheckException(name) { - return new TypeError("ReadableByteStreamController.prototype." + name + " can only be used on a ReadableByteStreamController"); - } - function AcquireReadableStreamBYOBReader(stream, forAuthorCode) { - if (forAuthorCode === void 0) { - forAuthorCode = false; - } - var reader = new ReadableStreamBYOBReader(stream); - reader._forAuthorCode = forAuthorCode; - return reader; - } - function ReadableStreamAddReadIntoRequest(stream) { - var promise = newPromise(function (resolve, reject) { - var readIntoRequest = { - _resolve: resolve, - _reject: reject - }; - stream._reader._readIntoRequests.push(readIntoRequest); - }); - return promise; - } - function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) { - var reader = stream._reader; - var readIntoRequest = reader._readIntoRequests.shift(); - readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode)); - } - function ReadableStreamGetNumReadIntoRequests(stream) { - return stream._reader._readIntoRequests.length; - } - function ReadableStreamHasBYOBReader(stream) { - var reader = stream._reader; - if (reader === undefined) { - return false; - } - if (!IsReadableStreamBYOBReader(reader)) { - return false; - } - return true; - } - var ReadableStreamBYOBReader = function () { - function ReadableStreamBYOBReader(stream) { - if (!IsReadableStream(stream)) { - throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source'); - } - if (IsReadableByteStreamController(stream._readableStreamController) === false) { - throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source'); - } - if (IsReadableStreamLocked(stream)) { - throw new TypeError('This stream has already been locked for exclusive reading by another reader'); - } - ReadableStreamReaderGenericInitialize(this, stream); - this._readIntoRequests = new SimpleQueue(); - } - Object.defineProperty(ReadableStreamBYOBReader.prototype, "closed", { - get: function () { - if (!IsReadableStreamBYOBReader(this)) { - return promiseRejectedWith(byobReaderBrandCheckException('closed')); - } - return this._closedPromise; - }, - enumerable: true, - configurable: true - }); - ReadableStreamBYOBReader.prototype.cancel = function (reason) { - if (!IsReadableStreamBYOBReader(this)) { - return promiseRejectedWith(byobReaderBrandCheckException('cancel')); - } - if (this._ownerReadableStream === undefined) { - return promiseRejectedWith(readerLockException('cancel')); - } - return ReadableStreamReaderGenericCancel(this, reason); - }; - ReadableStreamBYOBReader.prototype.read = function (view) { - if (!IsReadableStreamBYOBReader(this)) { - return promiseRejectedWith(byobReaderBrandCheckException('read')); - } - if (this._ownerReadableStream === undefined) { - return promiseRejectedWith(readerLockException('read from')); - } - if (!ArrayBuffer.isView(view)) { - return promiseRejectedWith(new TypeError('view must be an array buffer view')); - } - if (IsDetachedBuffer(view.buffer) === true); - if (view.byteLength === 0) { - return promiseRejectedWith(new TypeError('view must have non-zero byteLength')); - } - return ReadableStreamBYOBReaderRead(this, view); - }; - ReadableStreamBYOBReader.prototype.releaseLock = function () { - if (!IsReadableStreamBYOBReader(this)) { - throw byobReaderBrandCheckException('releaseLock'); - } - if (this._ownerReadableStream === undefined) { - return; - } - if (this._readIntoRequests.length > 0) { - throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'); - } - ReadableStreamReaderGenericRelease(this); - }; - return ReadableStreamBYOBReader; - }(); - function IsReadableStreamBYOBReader(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) { - return false; - } - return true; - } - function ReadableStreamBYOBReaderRead(reader, view) { - var stream = reader._ownerReadableStream; - stream._disturbed = true; - if (stream._state === 'errored') { - return promiseRejectedWith(stream._storedError); - } - return ReadableByteStreamControllerPullInto(stream._readableStreamController, view); - } - function byobReaderBrandCheckException(name) { - return new TypeError("ReadableStreamBYOBReader.prototype." + name + " can only be used on a ReadableStreamBYOBReader"); - } - var ReadableStream = function () { - function ReadableStream(underlyingSource, strategy) { - if (underlyingSource === void 0) { - underlyingSource = {}; - } - if (strategy === void 0) { - strategy = {}; - } - InitializeReadableStream(this); - var size = strategy.size; - var highWaterMark = strategy.highWaterMark; - var type = underlyingSource.type; - var typeString = String(type); - if (typeString === 'bytes') { - if (size !== undefined) { - throw new RangeError('The strategy for a byte stream cannot have a size function'); - } - if (highWaterMark === undefined) { - highWaterMark = 0; - } - highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark); - SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark); - } else if (type === undefined) { - var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size); - if (highWaterMark === undefined) { - highWaterMark = 1; - } - highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark); - SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm); - } else { - throw new RangeError('Invalid type is specified'); - } - } - Object.defineProperty(ReadableStream.prototype, "locked", { - get: function () { - if (IsReadableStream(this) === false) { - throw streamBrandCheckException$1('locked'); - } - return IsReadableStreamLocked(this); - }, - enumerable: true, - configurable: true - }); - ReadableStream.prototype.cancel = function (reason) { - if (IsReadableStream(this) === false) { - return promiseRejectedWith(streamBrandCheckException$1('cancel')); - } - if (IsReadableStreamLocked(this) === true) { - return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader')); - } - return ReadableStreamCancel(this, reason); - }; - ReadableStream.prototype.getReader = function (_a) { - var mode = (_a === void 0 ? {} : _a).mode; - if (IsReadableStream(this) === false) { - throw streamBrandCheckException$1('getReader'); - } - if (mode === undefined) { - return AcquireReadableStreamDefaultReader(this, true); - } - mode = String(mode); - if (mode === 'byob') { - return AcquireReadableStreamBYOBReader(this, true); - } - throw new RangeError('Invalid mode is specified'); - }; - ReadableStream.prototype.pipeThrough = function (_a, _b) { - var writable = _a.writable, readable = _a.readable; - var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal; - if (IsReadableStream(this) === false) { - throw streamBrandCheckException$1('pipeThrough'); - } - if (IsWritableStream(writable) === false) { - throw new TypeError('writable argument to pipeThrough must be a WritableStream'); - } - if (IsReadableStream(readable) === false) { - throw new TypeError('readable argument to pipeThrough must be a ReadableStream'); - } - preventClose = Boolean(preventClose); - preventAbort = Boolean(preventAbort); - preventCancel = Boolean(preventCancel); - if (signal !== undefined && !isAbortSignal(signal)) { - throw new TypeError('ReadableStream.prototype.pipeThrough\'s signal option must be an AbortSignal'); - } - if (IsReadableStreamLocked(this) === true) { - throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream'); - } - if (IsWritableStreamLocked(writable) === true) { - throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream'); - } - var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal); - setPromiseIsHandledToTrue(promise); - return readable; - }; - ReadableStream.prototype.pipeTo = function (dest, _a) { - var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal; - if (IsReadableStream(this) === false) { - return promiseRejectedWith(streamBrandCheckException$1('pipeTo')); - } - if (IsWritableStream(dest) === false) { - return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\'s first argument must be a WritableStream')); - } - preventClose = Boolean(preventClose); - preventAbort = Boolean(preventAbort); - preventCancel = Boolean(preventCancel); - if (signal !== undefined && !isAbortSignal(signal)) { - return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\'s signal option must be an AbortSignal')); - } - if (IsReadableStreamLocked(this) === true) { - return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream')); - } - if (IsWritableStreamLocked(dest) === true) { - return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream')); - } - return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal); - }; - ReadableStream.prototype.tee = function () { - if (IsReadableStream(this) === false) { - throw streamBrandCheckException$1('tee'); - } - var branches = ReadableStreamTee(this); - return createArrayFromList(branches); - }; - ReadableStream.prototype.getIterator = function (_a) { - var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b; - if (IsReadableStream(this) === false) { - throw streamBrandCheckException$1('getIterator'); - } - return AcquireReadableStreamAsyncIterator(this, preventCancel); - }; - return ReadableStream; - }(); - if (typeof SymbolPolyfill.asyncIterator === 'symbol') { - Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, { - value: ReadableStream.prototype.getIterator, - enumerable: false, - writable: true, - configurable: true - }); - } - function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) { - if (highWaterMark === void 0) { - highWaterMark = 1; - } - if (sizeAlgorithm === void 0) { - sizeAlgorithm = function () { - return 1; - }; - } - var stream = Object.create(ReadableStream.prototype); - InitializeReadableStream(stream); - var controller = Object.create(ReadableStreamDefaultController.prototype); - SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm); - return stream; - } - function InitializeReadableStream(stream) { - stream._state = 'readable'; - stream._reader = undefined; - stream._storedError = undefined; - stream._disturbed = false; - } - function IsReadableStream(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) { - return false; - } - return true; - } - function IsReadableStreamLocked(stream) { - if (stream._reader === undefined) { - return false; - } - return true; - } - function ReadableStreamCancel(stream, reason) { - stream._disturbed = true; - if (stream._state === 'closed') { - return promiseResolvedWith(undefined); - } - if (stream._state === 'errored') { - return promiseRejectedWith(stream._storedError); - } - ReadableStreamClose(stream); - var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason); - return transformPromiseWith(sourceCancelPromise, noop); - } - function ReadableStreamClose(stream) { - stream._state = 'closed'; - var reader = stream._reader; - if (reader === undefined) { - return; - } - if (IsReadableStreamDefaultReader(reader)) { - reader._readRequests.forEach(function (readRequest) { - readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode)); - }); - reader._readRequests = new SimpleQueue(); - } - defaultReaderClosedPromiseResolve(reader); - } - function ReadableStreamError(stream, e) { - stream._state = 'errored'; - stream._storedError = e; - var reader = stream._reader; - if (reader === undefined) { - return; - } - if (IsReadableStreamDefaultReader(reader)) { - reader._readRequests.forEach(function (readRequest) { - readRequest._reject(e); - }); - reader._readRequests = new SimpleQueue(); - } else { - reader._readIntoRequests.forEach(function (readIntoRequest) { - readIntoRequest._reject(e); - }); - reader._readIntoRequests = new SimpleQueue(); - } - defaultReaderClosedPromiseReject(reader, e); - } - function streamBrandCheckException$1(name) { - return new TypeError("ReadableStream.prototype." + name + " can only be used on a ReadableStream"); - } - var ByteLengthQueuingStrategy = function () { - function ByteLengthQueuingStrategy(_a) { - var highWaterMark = _a.highWaterMark; - this.highWaterMark = highWaterMark; - } - ByteLengthQueuingStrategy.prototype.size = function (chunk) { - return chunk.byteLength; - }; - return ByteLengthQueuingStrategy; - }(); - var CountQueuingStrategy = function () { - function CountQueuingStrategy(_a) { - var highWaterMark = _a.highWaterMark; - this.highWaterMark = highWaterMark; - } - CountQueuingStrategy.prototype.size = function () { - return 1; - }; - return CountQueuingStrategy; - }(); - var TransformStream = function () { - function TransformStream(transformer, writableStrategy, readableStrategy) { - if (transformer === void 0) { - transformer = {}; - } - if (writableStrategy === void 0) { - writableStrategy = {}; - } - if (readableStrategy === void 0) { - readableStrategy = {}; - } - var writableSizeFunction = writableStrategy.size; - var writableHighWaterMark = writableStrategy.highWaterMark; - var readableSizeFunction = readableStrategy.size; - var readableHighWaterMark = readableStrategy.highWaterMark; - var writableType = transformer.writableType; - if (writableType !== undefined) { - throw new RangeError('Invalid writable type specified'); - } - var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction); - if (writableHighWaterMark === undefined) { - writableHighWaterMark = 1; - } - writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark); - var readableType = transformer.readableType; - if (readableType !== undefined) { - throw new RangeError('Invalid readable type specified'); - } - var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction); - if (readableHighWaterMark === undefined) { - readableHighWaterMark = 0; - } - readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark); - var startPromise_resolve; - var startPromise = newPromise(function (resolve) { - startPromise_resolve = resolve; - }); - InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm); - SetUpTransformStreamDefaultControllerFromTransformer(this, transformer); - var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]); - startPromise_resolve(startResult); - } - Object.defineProperty(TransformStream.prototype, "readable", { - get: function () { - if (IsTransformStream(this) === false) { - throw streamBrandCheckException$2('readable'); - } - return this._readable; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(TransformStream.prototype, "writable", { - get: function () { - if (IsTransformStream(this) === false) { - throw streamBrandCheckException$2('writable'); - } - return this._writable; - }, - enumerable: true, - configurable: true - }); - return TransformStream; - }(); - function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) { - function startAlgorithm() { - return startPromise; - } - function writeAlgorithm(chunk) { - return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk); - } - function abortAlgorithm(reason) { - return TransformStreamDefaultSinkAbortAlgorithm(stream, reason); - } - function closeAlgorithm() { - return TransformStreamDefaultSinkCloseAlgorithm(stream); - } - stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm); - function pullAlgorithm() { - return TransformStreamDefaultSourcePullAlgorithm(stream); - } - function cancelAlgorithm(reason) { - TransformStreamErrorWritableAndUnblockWrite(stream, reason); - return promiseResolvedWith(undefined); - } - stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm); - stream._backpressure = undefined; - stream._backpressureChangePromise = undefined; - stream._backpressureChangePromise_resolve = undefined; - TransformStreamSetBackpressure(stream, true); - stream._transformStreamController = undefined; - } - function IsTransformStream(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) { - return false; - } - return true; - } - function TransformStreamError(stream, e) { - ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e); - TransformStreamErrorWritableAndUnblockWrite(stream, e); - } - function TransformStreamErrorWritableAndUnblockWrite(stream, e) { - TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController); - WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e); - if (stream._backpressure === true) { - TransformStreamSetBackpressure(stream, false); - } - } - function TransformStreamSetBackpressure(stream, backpressure) { - if (stream._backpressureChangePromise !== undefined) { - stream._backpressureChangePromise_resolve(); - } - stream._backpressureChangePromise = newPromise(function (resolve) { - stream._backpressureChangePromise_resolve = resolve; - }); - stream._backpressure = backpressure; - } - var TransformStreamDefaultController = function () { - function TransformStreamDefaultController() { - throw new TypeError('TransformStreamDefaultController instances cannot be created directly'); - } - Object.defineProperty(TransformStreamDefaultController.prototype, "desiredSize", { - get: function () { - if (IsTransformStreamDefaultController(this) === false) { - throw defaultControllerBrandCheckException$1('desiredSize'); - } - var readableController = this._controlledTransformStream._readable._readableStreamController; - return ReadableStreamDefaultControllerGetDesiredSize(readableController); - }, - enumerable: true, - configurable: true - }); - TransformStreamDefaultController.prototype.enqueue = function (chunk) { - if (IsTransformStreamDefaultController(this) === false) { - throw defaultControllerBrandCheckException$1('enqueue'); - } - TransformStreamDefaultControllerEnqueue(this, chunk); - }; - TransformStreamDefaultController.prototype.error = function (reason) { - if (IsTransformStreamDefaultController(this) === false) { - throw defaultControllerBrandCheckException$1('error'); - } - TransformStreamDefaultControllerError(this, reason); - }; - TransformStreamDefaultController.prototype.terminate = function () { - if (IsTransformStreamDefaultController(this) === false) { - throw defaultControllerBrandCheckException$1('terminate'); - } - TransformStreamDefaultControllerTerminate(this); - }; - return TransformStreamDefaultController; - }(); - function IsTransformStreamDefaultController(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) { - return false; - } - return true; - } - function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) { - controller._controlledTransformStream = stream; - stream._transformStreamController = controller; - controller._transformAlgorithm = transformAlgorithm; - controller._flushAlgorithm = flushAlgorithm; - } - function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) { - var controller = Object.create(TransformStreamDefaultController.prototype); - var transformAlgorithm = function (chunk) { - try { - TransformStreamDefaultControllerEnqueue(controller, chunk); - return promiseResolvedWith(undefined); - } catch (transformResultE) { - return promiseRejectedWith(transformResultE); - } - }; - var transformMethod = transformer.transform; - if (transformMethod !== undefined) { - if (typeof transformMethod !== 'function') { - throw new TypeError('transform is not a method'); - } - transformAlgorithm = function (chunk) { - return PromiseCall(transformMethod, transformer, [ - chunk, - controller - ]); - }; - } - var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]); - SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm); - } - function TransformStreamDefaultControllerClearAlgorithms(controller) { - controller._transformAlgorithm = undefined; - controller._flushAlgorithm = undefined; - } - function TransformStreamDefaultControllerEnqueue(controller, chunk) { - var stream = controller._controlledTransformStream; - var readableController = stream._readable._readableStreamController; - if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) { - throw new TypeError('Readable side is not in a state that permits enqueue'); - } - try { - ReadableStreamDefaultControllerEnqueue(readableController, chunk); - } catch (e) { - TransformStreamErrorWritableAndUnblockWrite(stream, e); - throw stream._readable._storedError; - } - var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController); - if (backpressure !== stream._backpressure) { - TransformStreamSetBackpressure(stream, true); - } - } - function TransformStreamDefaultControllerError(controller, e) { - TransformStreamError(controller._controlledTransformStream, e); - } - function TransformStreamDefaultControllerPerformTransform(controller, chunk) { - var transformPromise = controller._transformAlgorithm(chunk); - return transformPromiseWith(transformPromise, undefined, function (r) { - TransformStreamError(controller._controlledTransformStream, r); - throw r; - }); - } - function TransformStreamDefaultControllerTerminate(controller) { - var stream = controller._controlledTransformStream; - var readableController = stream._readable._readableStreamController; - if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) { - ReadableStreamDefaultControllerClose(readableController); - } - var error = new TypeError('TransformStream terminated'); - TransformStreamErrorWritableAndUnblockWrite(stream, error); - } - function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) { - var controller = stream._transformStreamController; - if (stream._backpressure === true) { - var backpressureChangePromise = stream._backpressureChangePromise; - return transformPromiseWith(backpressureChangePromise, function () { - var writable = stream._writable; - var state = writable._state; - if (state === 'erroring') { - throw writable._storedError; - } - return TransformStreamDefaultControllerPerformTransform(controller, chunk); - }); - } - return TransformStreamDefaultControllerPerformTransform(controller, chunk); - } - function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) { - TransformStreamError(stream, reason); - return promiseResolvedWith(undefined); - } - function TransformStreamDefaultSinkCloseAlgorithm(stream) { - var readable = stream._readable; - var controller = stream._transformStreamController; - var flushPromise = controller._flushAlgorithm(); - TransformStreamDefaultControllerClearAlgorithms(controller); - return transformPromiseWith(flushPromise, function () { - if (readable._state === 'errored') { - throw readable._storedError; - } - var readableController = readable._readableStreamController; - if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) { - ReadableStreamDefaultControllerClose(readableController); - } - }, function (r) { - TransformStreamError(stream, r); - throw readable._storedError; - }); - } - function TransformStreamDefaultSourcePullAlgorithm(stream) { - TransformStreamSetBackpressure(stream, false); - return stream._backpressureChangePromise; - } - function defaultControllerBrandCheckException$1(name) { - return new TypeError("TransformStreamDefaultController.prototype." + name + " can only be used on a TransformStreamDefaultController"); - } - function streamBrandCheckException$2(name) { - return new TypeError("TransformStream.prototype." + name + " can only be used on a TransformStream"); - } - exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy; - exports.CountQueuingStrategy = CountQueuingStrategy; - exports.ReadableStream = ReadableStream; - exports.TransformStream = TransformStream; - exports.WritableStream = WritableStream; - Object.defineProperty(exports, '__esModule', { value: true }); -})); - -/***/ }), -/* 136 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -__w_pdfjs_require__(137); -__w_pdfjs_require__(105); -__w_pdfjs_require__(73); -__w_pdfjs_require__(107); -var path = __w_pdfjs_require__(38); -module.exports = path.Map; - -/***/ }), -/* 137 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var collection = __w_pdfjs_require__(138); -var collectionStrong = __w_pdfjs_require__(142); -module.exports = collection('Map', function (init) { +var collection = __w_pdfjs_require__(130); +var collectionStrong = __w_pdfjs_require__(139); +collection('Map', function (init) { return function Map() { return init(this, arguments.length ? arguments[0] : undefined); }; }, collectionStrong); /***/ }), -/* 138 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 130 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { "use strict"; -var $ = __w_pdfjs_require__(5); -var global = __w_pdfjs_require__(6); -var isForced = __w_pdfjs_require__(47); -var redefine = __w_pdfjs_require__(24); -var InternalMetadataModule = __w_pdfjs_require__(139); -var iterate = __w_pdfjs_require__(115); -var anInstance = __w_pdfjs_require__(114); -var isObject = __w_pdfjs_require__(17); -var fails = __w_pdfjs_require__(9); -var checkCorrectnessOfIteration = __w_pdfjs_require__(93); -var setToStringTag = __w_pdfjs_require__(81); -var inheritIfRequired = __w_pdfjs_require__(141); +var $ = __w_pdfjs_require__(6); +var global = __w_pdfjs_require__(7); +var uncurryThis = __w_pdfjs_require__(17); +var isForced = __w_pdfjs_require__(67); +var redefine = __w_pdfjs_require__(49); +var InternalMetadataModule = __w_pdfjs_require__(131); +var iterate = __w_pdfjs_require__(78); +var anInstance = __w_pdfjs_require__(102); +var isCallable = __w_pdfjs_require__(23); +var isObject = __w_pdfjs_require__(22); +var fails = __w_pdfjs_require__(10); +var checkCorrectnessOfIteration = __w_pdfjs_require__(103); +var setToStringTag = __w_pdfjs_require__(95); +var inheritIfRequired = __w_pdfjs_require__(138); module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; @@ -8801,26 +4300,27 @@ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { var Constructor = NativeConstructor; var exported = {}; var fixMethod = function (KEY) { - var nativeMethod = NativePrototype[KEY]; + var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]); redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) { - nativeMethod.call(this, value === 0 ? 0 : value); + uncurriedNativeMethod(this, value === 0 ? 0 : value); return this; } : KEY == 'delete' ? function (key) { - return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); } : KEY == 'get' ? function get(key) { - return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key); + return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key); } : KEY == 'has' ? function has(key) { - return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); } : function set(key, value) { - nativeMethod.call(this, key === 0 ? 0 : key, value); + uncurriedNativeMethod(this, key === 0 ? 0 : key, value); return this; }); }; - if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () { - new NativeConstructor().entries().next(); - })))) { + var REPLACE = isForced(CONSTRUCTOR_NAME, !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () { + new NativeConstructor().entries().next(); + }))); + if (REPLACE) { Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); - InternalMetadataModule.REQUIRED = true; + InternalMetadataModule.enable(); } else if (isForced(CONSTRUCTOR_NAME, true)) { var instance = new Constructor(); var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; @@ -8839,10 +4339,13 @@ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { }); if (!ACCEPT_ITERABLES) { Constructor = wrapper(function (dummy, iterable) { - anInstance(dummy, Constructor, CONSTRUCTOR_NAME); + anInstance(dummy, NativePrototype); var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); if (iterable != undefined) - iterate(iterable, that[ADDER], that, IS_MAP); + iterate(iterable, that[ADDER], { + that: that, + AS_ENTRIES: IS_MAP + }); return that; }); Constructor.prototype = NativePrototype; @@ -8870,24 +4373,27 @@ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { }; /***/ }), -/* 139 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 131 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var hiddenKeys = __w_pdfjs_require__(34); -var isObject = __w_pdfjs_require__(17); -var has = __w_pdfjs_require__(18); -var defineProperty = __w_pdfjs_require__(22).f; -var uid = __w_pdfjs_require__(33); -var FREEZING = __w_pdfjs_require__(140); +var $ = __w_pdfjs_require__(6); +var uncurryThis = __w_pdfjs_require__(17); +var hiddenKeys = __w_pdfjs_require__(54); +var isObject = __w_pdfjs_require__(22); +var hasOwn = __w_pdfjs_require__(40); +var defineProperty = (__w_pdfjs_require__(46).f); +var getOwnPropertyNamesModule = __w_pdfjs_require__(58); +var getOwnPropertyNamesExternalModule = __w_pdfjs_require__(132); +var isExtensible = __w_pdfjs_require__(135); +var uid = __w_pdfjs_require__(42); +var FREEZING = __w_pdfjs_require__(137); +var REQUIRED = false; var METADATA = uid('meta'); var id = 0; -var isExtensible = Object.isExtensible || function () { - return true; -}; var setMetadata = function (it) { defineProperty(it, METADATA, { value: { - objectID: 'O' + ++id, + objectID: 'O' + id++, weakData: {} } }); @@ -8895,7 +4401,7 @@ var setMetadata = function (it) { var fastKey = function (it, create) { if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; - if (!has(it, METADATA)) { + if (!hasOwn(it, METADATA)) { if (!isExtensible(it)) return 'F'; if (!create) @@ -8905,7 +4411,7 @@ var fastKey = function (it, create) { return it[METADATA].objectID; }; var getWeakData = function (it, create) { - if (!has(it, METADATA)) { + if (!hasOwn(it, METADATA)) { if (!isExtensible(it)) return true; if (!create) @@ -8915,12 +4421,38 @@ var getWeakData = function (it, create) { return it[METADATA].weakData; }; var onFreeze = function (it) { - if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) + if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it); return it; }; +var enable = function () { + meta.enable = function () { + }; + REQUIRED = true; + var getOwnPropertyNames = getOwnPropertyNamesModule.f; + var splice = uncurryThis([].splice); + var test = {}; + test[METADATA] = 1; + if (getOwnPropertyNames(test).length) { + getOwnPropertyNamesModule.f = function (it) { + var result = getOwnPropertyNames(it); + for (var i = 0, length = result.length; i < length; i++) { + if (result[i] === METADATA) { + splice(result, i, 1); + break; + } + } + return result; + }; + $({ + target: 'Object', + stat: true, + forced: true + }, { getOwnPropertyNames: getOwnPropertyNamesExternalModule.f }); + } +}; var meta = module.exports = { - REQUIRED: false, + enable: enable, fastKey: fastKey, getWeakData: getWeakData, onFreeze: onFreeze @@ -8928,50 +4460,142 @@ var meta = module.exports = { hiddenKeys[METADATA] = true; /***/ }), -/* 140 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 132 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var fails = __w_pdfjs_require__(9); +var classof = __w_pdfjs_require__(18); +var toIndexedObject = __w_pdfjs_require__(15); +var $getOwnPropertyNames = (__w_pdfjs_require__(58).f); +var arraySlice = __w_pdfjs_require__(133); +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; +var getWindowNames = function (it) { + try { + return $getOwnPropertyNames(it); + } catch (error) { + return arraySlice(windowNames); + } +}; +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && classof(it) == 'Window' ? getWindowNames(it) : $getOwnPropertyNames(toIndexedObject(it)); +}; + +/***/ }), +/* 133 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var toAbsoluteIndex = __w_pdfjs_require__(61); +var lengthOfArrayLike = __w_pdfjs_require__(63); +var createProperty = __w_pdfjs_require__(134); +var Array = global.Array; +var max = Math.max; +module.exports = function (O, start, end) { + var length = lengthOfArrayLike(O); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + var result = Array(max(fin - k, 0)); + for (var n = 0; k < fin; k++, n++) + createProperty(result, n, O[k]); + result.length = n; + return result; +}; + +/***/ }), +/* 134 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var toPropertyKey = __w_pdfjs_require__(20); +var definePropertyModule = __w_pdfjs_require__(46); +var createPropertyDescriptor = __w_pdfjs_require__(14); +module.exports = function (object, key, value) { + var propertyKey = toPropertyKey(key); + if (propertyKey in object) + definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); + else + object[propertyKey] = value; +}; + +/***/ }), +/* 135 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(10); +var isObject = __w_pdfjs_require__(22); +var classof = __w_pdfjs_require__(18); +var ARRAY_BUFFER_NON_EXTENSIBLE = __w_pdfjs_require__(136); +var $isExtensible = Object.isExtensible; +var FAILS_ON_PRIMITIVES = fails(function () { + $isExtensible(1); +}); +module.exports = FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE ? function isExtensible(it) { + if (!isObject(it)) + return false; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') + return false; + return $isExtensible ? $isExtensible(it) : true; +} : $isExtensible; + +/***/ }), +/* 136 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(10); +module.exports = fails(function () { + if (typeof ArrayBuffer == 'function') { + var buffer = new ArrayBuffer(8); + if (Object.isExtensible(buffer)) + Object.defineProperty(buffer, 'a', { value: 8 }); + } +}); + +/***/ }), +/* 137 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(10); module.exports = !fails(function () { return Object.isExtensible(Object.preventExtensions({})); }); /***/ }), -/* 141 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 138 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { -var isObject = __w_pdfjs_require__(17); -var setPrototypeOf = __w_pdfjs_require__(83); +var isCallable = __w_pdfjs_require__(23); +var isObject = __w_pdfjs_require__(22); +var setPrototypeOf = __w_pdfjs_require__(70); module.exports = function ($this, dummy, Wrapper) { var NewTarget, NewTargetPrototype; - if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype) + if (setPrototypeOf && isCallable(NewTarget = dummy.constructor) && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype) setPrototypeOf($this, NewTargetPrototype); return $this; }; /***/ }), -/* 142 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 139 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { "use strict"; -var defineProperty = __w_pdfjs_require__(22).f; -var create = __w_pdfjs_require__(67); -var redefineAll = __w_pdfjs_require__(112); -var bind = __w_pdfjs_require__(58); -var anInstance = __w_pdfjs_require__(114); -var iterate = __w_pdfjs_require__(115); -var defineIterator = __w_pdfjs_require__(75); -var setSpecies = __w_pdfjs_require__(113); -var DESCRIPTORS = __w_pdfjs_require__(8); -var fastKey = __w_pdfjs_require__(139).fastKey; -var InternalStateModule = __w_pdfjs_require__(28); +var defineProperty = (__w_pdfjs_require__(46).f); +var create = __w_pdfjs_require__(72); +var redefineAll = __w_pdfjs_require__(100); +var bind = __w_pdfjs_require__(79); +var anInstance = __w_pdfjs_require__(102); +var iterate = __w_pdfjs_require__(78); +var defineIterator = __w_pdfjs_require__(92); +var setSpecies = __w_pdfjs_require__(101); +var DESCRIPTORS = __w_pdfjs_require__(9); +var fastKey = (__w_pdfjs_require__(131).fastKey); +var InternalStateModule = __w_pdfjs_require__(51); var setInternalState = InternalStateModule.set; var internalStateGetterFor = InternalStateModule.getterFor; module.exports = { getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { - var C = wrapper(function (that, iterable) { - anInstance(that, C, CONSTRUCTOR_NAME); + var Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); setInternalState(that, { type: CONSTRUCTOR_NAME, index: create(null), @@ -8982,8 +4606,12 @@ module.exports = { if (!DESCRIPTORS) that.size = 0; if (iterable != undefined) - iterate(iterable, that[ADDER], that, IS_MAP); + iterate(iterable, that[ADDER], { + that: that, + AS_ENTRIES: IS_MAP + }); }); + var Prototype = Constructor.prototype; var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); var define = function (that, key, value) { var state = getInternalState(that); @@ -9024,7 +4652,7 @@ module.exports = { return entry; } }; - redefineAll(C.prototype, { + redefineAll(Prototype, { clear: function clear() { var that = this; var state = getInternalState(that); @@ -9069,7 +4697,7 @@ module.exports = { }, forEach: function forEach(callbackfn) { var state = getInternalState(this); - var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); var entry; while (entry = entry ? entry.next : state.first) { boundFunction(entry.value, entry.key, this); @@ -9081,7 +4709,7 @@ module.exports = { return !!getEntry(this, key); } }); - redefineAll(C.prototype, IS_MAP ? { + redefineAll(Prototype, IS_MAP ? { get: function get(key) { var entry = getEntry(this, key); return entry && entry.value; @@ -9095,18 +4723,18 @@ module.exports = { } }); if (DESCRIPTORS) - defineProperty(C.prototype, 'size', { + defineProperty(Prototype, 'size', { get: function () { return getInternalState(this).size; } }); - return C; + return Constructor; }, - setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) { + setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) { var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); - defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) { + defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) { setInternalState(this, { type: ITERATOR_NAME, target: iterated, @@ -9150,1263 +4778,577 @@ module.exports = { }; /***/ }), -/* 143 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -__w_pdfjs_require__(144); -__w_pdfjs_require__(105); -__w_pdfjs_require__(73); -__w_pdfjs_require__(107); -var path = __w_pdfjs_require__(38); -module.exports = path.Set; - -/***/ }), -/* 144 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 140 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { "use strict"; -var collection = __w_pdfjs_require__(138); -var collectionStrong = __w_pdfjs_require__(142); -module.exports = collection('Set', function (init) { +var collection = __w_pdfjs_require__(130); +var collectionStrong = __w_pdfjs_require__(139); +collection('Set', function (init) { return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; }, collectionStrong); /***/ }), -/* 145 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 141 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { -__w_pdfjs_require__(105); -__w_pdfjs_require__(146); -__w_pdfjs_require__(107); -var path = __w_pdfjs_require__(38); -module.exports = path.WeakMap; - -/***/ }), -/* 146 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var global = __w_pdfjs_require__(6); -var redefineAll = __w_pdfjs_require__(112); -var InternalMetadataModule = __w_pdfjs_require__(139); -var collection = __w_pdfjs_require__(138); -var collectionWeak = __w_pdfjs_require__(147); -var isObject = __w_pdfjs_require__(17); -var enforceIternalState = __w_pdfjs_require__(28).enforce; -var NATIVE_WEAK_MAP = __w_pdfjs_require__(29); -var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global; -var isExtensible = Object.isExtensible; -var InternalWeakMap; -var wrapper = function (init) { - return function WeakMap() { - return init(this, arguments.length ? arguments[0] : undefined); - }; +var IS_PURE = __w_pdfjs_require__(37); +var $ = __w_pdfjs_require__(6); +var global = __w_pdfjs_require__(7); +var getBuiltin = __w_pdfjs_require__(25); +var uncurryThis = __w_pdfjs_require__(17); +var fails = __w_pdfjs_require__(10); +var uid = __w_pdfjs_require__(42); +var isCallable = __w_pdfjs_require__(23); +var isConstructor = __w_pdfjs_require__(106); +var isObject = __w_pdfjs_require__(22); +var isSymbol = __w_pdfjs_require__(24); +var iterate = __w_pdfjs_require__(78); +var anObject = __w_pdfjs_require__(48); +var classof = __w_pdfjs_require__(84); +var hasOwn = __w_pdfjs_require__(40); +var createProperty = __w_pdfjs_require__(134); +var createNonEnumerableProperty = __w_pdfjs_require__(45); +var lengthOfArrayLike = __w_pdfjs_require__(63); +var validateArgumentsLength = __w_pdfjs_require__(110); +var regExpFlags = __w_pdfjs_require__(142); +var ERROR_STACK_INSTALLABLE = __w_pdfjs_require__(89); +var Object = global.Object; +var Date = global.Date; +var Error = global.Error; +var EvalError = global.EvalError; +var RangeError = global.RangeError; +var ReferenceError = global.ReferenceError; +var SyntaxError = global.SyntaxError; +var TypeError = global.TypeError; +var URIError = global.URIError; +var PerformanceMark = global.PerformanceMark; +var WebAssembly = global.WebAssembly; +var CompileError = WebAssembly && WebAssembly.CompileError || Error; +var LinkError = WebAssembly && WebAssembly.LinkError || Error; +var RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error; +var DOMException = getBuiltin('DOMException'); +var Set = getBuiltin('Set'); +var Map = getBuiltin('Map'); +var MapPrototype = Map.prototype; +var mapHas = uncurryThis(MapPrototype.has); +var mapGet = uncurryThis(MapPrototype.get); +var mapSet = uncurryThis(MapPrototype.set); +var setAdd = uncurryThis(Set.prototype.add); +var objectKeys = getBuiltin('Object', 'keys'); +var push = uncurryThis([].push); +var booleanValueOf = uncurryThis(true.valueOf); +var numberValueOf = uncurryThis(1.0.valueOf); +var stringValueOf = uncurryThis(''.valueOf); +var getFlags = uncurryThis(regExpFlags); +var getTime = uncurryThis(Date.prototype.getTime); +var PERFORMANCE_MARK = uid('structuredClone'); +var DATA_CLONE_ERROR = 'DataCloneError'; +var TRANSFERRING = 'Transferring'; +var checkBasicSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var set1 = new global.Set([7]); + var set2 = structuredCloneImplementation(set1); + var number = structuredCloneImplementation(Object(7)); + return set2 == set1 || !set2.has(7) || typeof number != 'object' || number != 7; + }) && structuredCloneImplementation; }; -var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak); -if (NATIVE_WEAK_MAP && IS_IE11) { - InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true); - InternalMetadataModule.REQUIRED = true; - var WeakMapPrototype = $WeakMap.prototype; - var nativeDelete = WeakMapPrototype['delete']; - var nativeHas = WeakMapPrototype.has; - var nativeGet = WeakMapPrototype.get; - var nativeSet = WeakMapPrototype.set; - redefineAll(WeakMapPrototype, { - 'delete': function (key) { - if (isObject(key) && !isExtensible(key)) { - var state = enforceIternalState(this); - if (!state.frozen) - state.frozen = new InternalWeakMap(); - return nativeDelete.call(this, key) || state.frozen['delete'](key); - } - return nativeDelete.call(this, key); - }, - has: function has(key) { - if (isObject(key) && !isExtensible(key)) { - var state = enforceIternalState(this); - if (!state.frozen) - state.frozen = new InternalWeakMap(); - return nativeHas.call(this, key) || state.frozen.has(key); - } - return nativeHas.call(this, key); - }, - get: function get(key) { - if (isObject(key) && !isExtensible(key)) { - var state = enforceIternalState(this); - if (!state.frozen) - state.frozen = new InternalWeakMap(); - return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key); - } - return nativeGet.call(this, key); - }, - set: function set(key, value) { - if (isObject(key) && !isExtensible(key)) { - var state = enforceIternalState(this); - if (!state.frozen) - state.frozen = new InternalWeakMap(); - nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value); +var checkNewErrorsSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var test = structuredCloneImplementation(new global.AggregateError([1], PERFORMANCE_MARK, { cause: 3 })); + return test.name != 'AggregateError' || test.errors[0] != 1 || test.message != PERFORMANCE_MARK || test.cause != 3; + }) && structuredCloneImplementation; +}; +var nativeStructuredClone = global.structuredClone; +var FORCED_REPLACEMENT = IS_PURE || !checkNewErrorsSemantic(nativeStructuredClone); +var structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) { + return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail; +}); +var nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark; +var throwUncloneable = function (type) { + throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR); +}; +var throwUnpolyfillable = function (type, kind) { + throw new DOMException((kind || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR); +}; +var structuredCloneInternal = function (value, map) { + if (isSymbol(value)) + throwUncloneable('Symbol'); + if (!isObject(value)) + return value; + if (map) { + if (mapHas(map, value)) + return mapGet(map, value); + } else + map = new Map(); + var type = classof(value); + var deep = false; + var C, name, cloned, dataTransfer, i, length, keys, key, source, target; + switch (type) { + case 'Array': + cloned = []; + deep = true; + break; + case 'Object': + cloned = {}; + deep = true; + break; + case 'Map': + cloned = new Map(); + deep = true; + break; + case 'Set': + cloned = new Set(); + deep = true; + break; + case 'RegExp': + cloned = new RegExp(value.source, 'flags' in value ? value.flags : getFlags(value)); + break; + case 'Error': + name = value.name; + switch (name) { + case 'AggregateError': + cloned = getBuiltin('AggregateError')([]); + break; + case 'EvalError': + cloned = EvalError(); + break; + case 'RangeError': + cloned = RangeError(); + break; + case 'ReferenceError': + cloned = ReferenceError(); + break; + case 'SyntaxError': + cloned = SyntaxError(); + break; + case 'TypeError': + cloned = TypeError(); + break; + case 'URIError': + cloned = URIError(); + break; + case 'CompileError': + cloned = CompileError(); + break; + case 'LinkError': + cloned = LinkError(); + break; + case 'RuntimeError': + cloned = RuntimeError(); + break; + default: + cloned = Error(); + } + deep = true; + break; + case 'DOMException': + cloned = new DOMException(value.message, value.name); + deep = true; + break; + case 'DataView': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + C = global[type]; + if (!isObject(C)) + throwUnpolyfillable(type); + cloned = new C(structuredCloneInternal(value.buffer, map), value.byteOffset, type === 'DataView' ? value.byteLength : value.length); + break; + case 'DOMQuad': + try { + cloned = new DOMQuad(structuredCloneInternal(value.p1, map), structuredCloneInternal(value.p2, map), structuredCloneInternal(value.p3, map), structuredCloneInternal(value.p4, map)); + } catch (error) { + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); } else - nativeSet.call(this, key, value); - return this; + throwUnpolyfillable(type); } - }); -} - -/***/ }), -/* 147 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var redefineAll = __w_pdfjs_require__(112); -var getWeakData = __w_pdfjs_require__(139).getWeakData; -var anObject = __w_pdfjs_require__(23); -var isObject = __w_pdfjs_require__(17); -var anInstance = __w_pdfjs_require__(114); -var iterate = __w_pdfjs_require__(115); -var ArrayIterationModule = __w_pdfjs_require__(148); -var $has = __w_pdfjs_require__(18); -var InternalStateModule = __w_pdfjs_require__(28); -var setInternalState = InternalStateModule.set; -var internalStateGetterFor = InternalStateModule.getterFor; -var find = ArrayIterationModule.find; -var findIndex = ArrayIterationModule.findIndex; -var id = 0; -var uncaughtFrozenStore = function (store) { - return store.frozen || (store.frozen = new UncaughtFrozenStore()); -}; -var UncaughtFrozenStore = function () { - this.entries = []; -}; -var findUncaughtFrozen = function (store, key) { - return find(store.entries, function (it) { - return it[0] === key; - }); -}; -UncaughtFrozenStore.prototype = { - get: function (key) { - var entry = findUncaughtFrozen(this, key); - if (entry) - return entry[1]; - }, - has: function (key) { - return !!findUncaughtFrozen(this, key); - }, - set: function (key, value) { - var entry = findUncaughtFrozen(this, key); - if (entry) - entry[1] = value; - else - this.entries.push([ - key, - value - ]); - }, - 'delete': function (key) { - var index = findIndex(this.entries, function (it) { - return it[0] === key; - }); - if (~index) - this.entries.splice(index, 1); - return !!~index; - } -}; -module.exports = { - getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { - var C = wrapper(function (that, iterable) { - anInstance(that, C, CONSTRUCTOR_NAME); - setInternalState(that, { - type: CONSTRUCTOR_NAME, - id: id++, - frozen: undefined - }); - if (iterable != undefined) - iterate(iterable, that[ADDER], that, IS_MAP); - }); - var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); - var define = function (that, key, value) { - var state = getInternalState(that); - var data = getWeakData(anObject(key), true); - if (data === true) - uncaughtFrozenStore(state).set(key, value); - else - data[state.id] = value; - return that; - }; - redefineAll(C.prototype, { - 'delete': function (key) { - var state = getInternalState(this); - if (!isObject(key)) - return false; - var data = getWeakData(key); - if (data === true) - return uncaughtFrozenStore(state)['delete'](key); - return data && $has(data, state.id) && delete data[state.id]; - }, - has: function has(key) { - var state = getInternalState(this); - if (!isObject(key)) - return false; - var data = getWeakData(key); - if (data === true) - return uncaughtFrozenStore(state).has(key); - return data && $has(data, state.id); + break; + case 'FileList': + C = global.DataTransfer; + if (isConstructor(C)) { + dataTransfer = new C(); + for (i = 0, length = lengthOfArrayLike(value); i < length; i++) { + dataTransfer.items.add(structuredCloneInternal(value[i], map)); } - }); - redefineAll(C.prototype, IS_MAP ? { - get: function get(key) { - var state = getInternalState(this); - if (isObject(key)) { - var data = getWeakData(key); - if (data === true) - return uncaughtFrozenStore(state).get(key); - return data ? data[state.id] : undefined; - } - }, - set: function set(key, value) { - return define(this, key, value); - } - } : { - add: function add(value) { - return define(this, value, true); - } - }); - return C; - } -}; - -/***/ }), -/* 148 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var bind = __w_pdfjs_require__(58); -var IndexedObject = __w_pdfjs_require__(13); -var toObject = __w_pdfjs_require__(79); -var toLength = __w_pdfjs_require__(42); -var arraySpeciesCreate = __w_pdfjs_require__(149); -var push = [].push; -var createMethod = function (TYPE) { - var IS_MAP = TYPE == 1; - var IS_FILTER = TYPE == 2; - var IS_SOME = TYPE == 3; - var IS_EVERY = TYPE == 4; - var IS_FIND_INDEX = TYPE == 6; - var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; - return function ($this, callbackfn, that, specificCreate) { - var O = toObject($this); - var self = IndexedObject(O); - var boundFunction = bind(callbackfn, that, 3); - var length = toLength(self.length); - var index = 0; - var create = specificCreate || arraySpeciesCreate; - var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; - var value, result; - for (; length > index; index++) - if (NO_HOLES || index in self) { - value = self[index]; - result = boundFunction(value, index, O); - if (TYPE) { - if (IS_MAP) - target[index] = result; - else if (result) - switch (TYPE) { - case 3: - return true; - case 5: - return value; - case 6: - return index; - case 2: - push.call(target, value); + cloned = dataTransfer.files; + } else if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else + throwUnpolyfillable(type); + break; + case 'ImageData': + try { + cloned = new ImageData(structuredCloneInternal(value.data, map), value.width, value.height, { colorSpace: value.colorSpace }); + } catch (error) { + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else + throwUnpolyfillable(type); + } + break; + default: + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else + switch (type) { + case 'BigInt': + cloned = Object(value.valueOf()); + break; + case 'Boolean': + cloned = Object(booleanValueOf(value)); + break; + case 'Number': + cloned = Object(numberValueOf(value)); + break; + case 'String': + cloned = Object(stringValueOf(value)); + break; + case 'Date': + cloned = new Date(getTime(value)); + break; + case 'ArrayBuffer': + C = global.DataView; + if (!C && typeof value.slice != 'function') + throwUnpolyfillable(type); + try { + if (typeof value.slice == 'function') { + cloned = value.slice(0); + } else { + length = value.byteLength; + cloned = new ArrayBuffer(length); + source = new C(value); + target = new C(cloned); + for (i = 0; i < length; i++) { + target.setUint8(i, source.getUint8(i)); } - else if (IS_EVERY) - return false; + } + } catch (error) { + throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR); } + break; + case 'SharedArrayBuffer': + cloned = value; + break; + case 'Blob': + try { + cloned = value.slice(0, value.size, value.type); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'DOMPoint': + case 'DOMPointReadOnly': + C = global[type]; + try { + cloned = C.fromPoint ? C.fromPoint(value) : new C(value.x, value.y, value.z, value.w); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'DOMRect': + case 'DOMRectReadOnly': + C = global[type]; + try { + cloned = C.fromRect ? C.fromRect(value) : new C(value.x, value.y, value.width, value.height); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'DOMMatrix': + case 'DOMMatrixReadOnly': + C = global[type]; + try { + cloned = C.fromMatrix ? C.fromMatrix(value) : new C(value); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone)) + throwUnpolyfillable(type); + try { + cloned = value.clone(); + } catch (error) { + throwUncloneable(type); + } + break; + case 'File': + try { + cloned = new File([value], value.name, value); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'CryptoKey': + case 'GPUCompilationMessage': + case 'GPUCompilationInfo': + case 'ImageBitmap': + case 'RTCCertificate': + case 'WebAssembly.Module': + throwUnpolyfillable(type); + default: + throwUncloneable(type); } - return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; - }; -}; -module.exports = { - forEach: createMethod(0), - map: createMethod(1), - filter: createMethod(2), - some: createMethod(3), - every: createMethod(4), - find: createMethod(5), - findIndex: createMethod(6) -}; - -/***/ }), -/* 149 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var isObject = __w_pdfjs_require__(17); -var isArray = __w_pdfjs_require__(150); -var wellKnownSymbol = __w_pdfjs_require__(53); -var SPECIES = wellKnownSymbol('species'); -module.exports = function (originalArray, length) { - var C; - if (isArray(originalArray)) { - C = originalArray.constructor; - if (typeof C == 'function' && (C === Array || isArray(C.prototype))) - C = undefined; - else if (isObject(C)) { - C = C[SPECIES]; - if (C === null) - C = undefined; - } } - return new (C === undefined ? Array : C)(length === 0 ? 0 : length); -}; - -/***/ }), -/* 150 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var classof = __w_pdfjs_require__(14); -module.exports = Array.isArray || function isArray(arg) { - return classof(arg) == 'Array'; -}; - -/***/ }), -/* 151 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -__w_pdfjs_require__(105); -__w_pdfjs_require__(152); -__w_pdfjs_require__(107); -var path = __w_pdfjs_require__(38); -module.exports = path.WeakSet; - -/***/ }), -/* 152 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var collection = __w_pdfjs_require__(138); -var collectionWeak = __w_pdfjs_require__(147); -collection('WeakSet', function (init) { - return function WeakSet() { - return init(this, arguments.length ? arguments[0] : undefined); - }; -}, collectionWeak); - -/***/ }), -/* 153 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -__w_pdfjs_require__(154); -var entryUnbind = __w_pdfjs_require__(57); -module.exports = entryUnbind('String', 'codePointAt'); - -/***/ }), -/* 154 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var $ = __w_pdfjs_require__(5); -var codeAt = __w_pdfjs_require__(74).codeAt; -$({ - target: 'String', - proto: true -}, { - codePointAt: function codePointAt(pos) { - return codeAt(this, pos); - } -}); - -/***/ }), -/* 155 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -__w_pdfjs_require__(156); -var path = __w_pdfjs_require__(38); -module.exports = path.String.fromCodePoint; - -/***/ }), -/* 156 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var $ = __w_pdfjs_require__(5); -var toAbsoluteIndex = __w_pdfjs_require__(44); -var fromCharCode = String.fromCharCode; -var nativeFromCodePoint = String.fromCodePoint; -var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1; -$({ - target: 'String', - stat: true, - forced: INCORRECT_LENGTH -}, { - fromCodePoint: function fromCodePoint(x) { - var elements = []; - var length = arguments.length; - var i = 0; - var code; - while (length > i) { - code = +arguments[i++]; - if (toAbsoluteIndex(code, 0x10FFFF) !== code) - throw RangeError(code + ' is not a valid code point'); - elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)); - } - return elements.join(''); - } -}); - -/***/ }), -/* 157 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -__w_pdfjs_require__(158); -__w_pdfjs_require__(105); -__w_pdfjs_require__(160); -__w_pdfjs_require__(164); -__w_pdfjs_require__(165); -__w_pdfjs_require__(166); -__w_pdfjs_require__(167); -__w_pdfjs_require__(168); -__w_pdfjs_require__(169); -__w_pdfjs_require__(170); -__w_pdfjs_require__(171); -__w_pdfjs_require__(172); -__w_pdfjs_require__(173); -__w_pdfjs_require__(174); -__w_pdfjs_require__(175); -__w_pdfjs_require__(176); -__w_pdfjs_require__(177); -__w_pdfjs_require__(178); -__w_pdfjs_require__(179); -var path = __w_pdfjs_require__(38); -module.exports = path.Symbol; - -/***/ }), -/* 158 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var $ = __w_pdfjs_require__(5); -var fails = __w_pdfjs_require__(9); -var isArray = __w_pdfjs_require__(150); -var isObject = __w_pdfjs_require__(17); -var toObject = __w_pdfjs_require__(79); -var toLength = __w_pdfjs_require__(42); -var createProperty = __w_pdfjs_require__(89); -var arraySpeciesCreate = __w_pdfjs_require__(149); -var arrayMethodHasSpeciesSupport = __w_pdfjs_require__(159); -var wellKnownSymbol = __w_pdfjs_require__(53); -var V8_VERSION = __w_pdfjs_require__(125); -var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); -var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; -var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; -var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { - var array = []; - array[IS_CONCAT_SPREADABLE] = false; - return array.concat()[0] !== array; -}); -var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat'); -var isConcatSpreadable = function (O) { - if (!isObject(O)) - return false; - var spreadable = O[IS_CONCAT_SPREADABLE]; - return spreadable !== undefined ? !!spreadable : isArray(O); -}; -var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; -$({ - target: 'Array', - proto: true, - forced: FORCED -}, { - concat: function concat(arg) { - var O = toObject(this); - var A = arraySpeciesCreate(O, 0); - var n = 0; - var i, k, length, len, E; - for (i = -1, length = arguments.length; i < length; i++) { - E = i === -1 ? O : arguments[i]; - if (isConcatSpreadable(E)) { - len = toLength(E.length); - if (n + len > MAX_SAFE_INTEGER) - throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); - for (k = 0; k < len; k++, n++) - if (k in E) - createProperty(A, n, E[k]); - } else { - if (n >= MAX_SAFE_INTEGER) - throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); - createProperty(A, n++, E); + mapSet(map, value, cloned); + if (deep) + switch (type) { + case 'Array': + case 'Object': + keys = objectKeys(value); + for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { + key = keys[i]; + createProperty(cloned, key, structuredCloneInternal(value[key], map)); } - } - A.length = n; - return A; - } -}); - -/***/ }), -/* 159 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var fails = __w_pdfjs_require__(9); -var wellKnownSymbol = __w_pdfjs_require__(53); -var V8_VERSION = __w_pdfjs_require__(125); -var SPECIES = wellKnownSymbol('species'); -module.exports = function (METHOD_NAME) { - return V8_VERSION >= 51 || !fails(function () { - var array = []; - var constructor = array.constructor = {}; - constructor[SPECIES] = function () { - return { foo: 1 }; - }; - return array[METHOD_NAME](Boolean).foo !== 1; - }); -}; - -/***/ }), -/* 160 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var $ = __w_pdfjs_require__(5); -var global = __w_pdfjs_require__(6); -var getBuiltIn = __w_pdfjs_require__(37); -var IS_PURE = __w_pdfjs_require__(32); -var DESCRIPTORS = __w_pdfjs_require__(8); -var NATIVE_SYMBOL = __w_pdfjs_require__(54); -var USE_SYMBOL_AS_UID = __w_pdfjs_require__(55); -var fails = __w_pdfjs_require__(9); -var has = __w_pdfjs_require__(18); -var isArray = __w_pdfjs_require__(150); -var isObject = __w_pdfjs_require__(17); -var anObject = __w_pdfjs_require__(23); -var toObject = __w_pdfjs_require__(79); -var toIndexedObject = __w_pdfjs_require__(12); -var toPrimitive = __w_pdfjs_require__(16); -var createPropertyDescriptor = __w_pdfjs_require__(11); -var nativeObjectCreate = __w_pdfjs_require__(67); -var objectKeys = __w_pdfjs_require__(69); -var getOwnPropertyNamesModule = __w_pdfjs_require__(39); -var getOwnPropertyNamesExternal = __w_pdfjs_require__(161); -var getOwnPropertySymbolsModule = __w_pdfjs_require__(46); -var getOwnPropertyDescriptorModule = __w_pdfjs_require__(7); -var definePropertyModule = __w_pdfjs_require__(22); -var propertyIsEnumerableModule = __w_pdfjs_require__(10); -var createNonEnumerableProperty = __w_pdfjs_require__(21); -var redefine = __w_pdfjs_require__(24); -var shared = __w_pdfjs_require__(31); -var sharedKey = __w_pdfjs_require__(30); -var hiddenKeys = __w_pdfjs_require__(34); -var uid = __w_pdfjs_require__(33); -var wellKnownSymbol = __w_pdfjs_require__(53); -var wrappedWellKnownSymbolModule = __w_pdfjs_require__(162); -var defineWellKnownSymbol = __w_pdfjs_require__(163); -var setToStringTag = __w_pdfjs_require__(81); -var InternalStateModule = __w_pdfjs_require__(28); -var $forEach = __w_pdfjs_require__(148).forEach; -var HIDDEN = sharedKey('hidden'); -var SYMBOL = 'Symbol'; -var PROTOTYPE = 'prototype'; -var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(SYMBOL); -var ObjectPrototype = Object[PROTOTYPE]; -var $Symbol = global.Symbol; -var $stringify = getBuiltIn('JSON', 'stringify'); -var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; -var nativeDefineProperty = definePropertyModule.f; -var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; -var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; -var AllSymbols = shared('symbols'); -var ObjectPrototypeSymbols = shared('op-symbols'); -var StringToSymbolRegistry = shared('string-to-symbol-registry'); -var SymbolToStringRegistry = shared('symbol-to-string-registry'); -var WellKnownSymbolsStore = shared('wks'); -var QObject = global.QObject; -var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; -var setSymbolDescriptor = DESCRIPTORS && fails(function () { - return nativeObjectCreate(nativeDefineProperty({}, 'a', { - get: function () { - return nativeDefineProperty(this, 'a', { value: 7 }).a; - } - })).a != 7; -}) ? function (O, P, Attributes) { - var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); - if (ObjectPrototypeDescriptor) - delete ObjectPrototype[P]; - nativeDefineProperty(O, P, Attributes); - if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { - nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); - } -} : nativeDefineProperty; -var wrap = function (tag, description) { - var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]); - setInternalState(symbol, { - type: SYMBOL, - tag: tag, - description: description - }); - if (!DESCRIPTORS) - symbol.description = description; - return symbol; -}; -var isSymbol = USE_SYMBOL_AS_UID ? function (it) { - return typeof it == 'symbol'; -} : function (it) { - return Object(it) instanceof $Symbol; -}; -var $defineProperty = function defineProperty(O, P, Attributes) { - if (O === ObjectPrototype) - $defineProperty(ObjectPrototypeSymbols, P, Attributes); - anObject(O); - var key = toPrimitive(P, true); - anObject(Attributes); - if (has(AllSymbols, key)) { - if (!Attributes.enumerable) { - if (!has(O, HIDDEN)) - nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {})); - O[HIDDEN][key] = true; - } else { - if (has(O, HIDDEN) && O[HIDDEN][key]) - O[HIDDEN][key] = false; - Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); - } - return setSymbolDescriptor(O, key, Attributes); - } - return nativeDefineProperty(O, key, Attributes); -}; -var $defineProperties = function defineProperties(O, Properties) { - anObject(O); - var properties = toIndexedObject(Properties); - var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); - $forEach(keys, function (key) { - if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) - $defineProperty(O, key, properties[key]); - }); - return O; -}; -var $create = function create(O, Properties) { - return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); -}; -var $propertyIsEnumerable = function propertyIsEnumerable(V) { - var P = toPrimitive(V, true); - var enumerable = nativePropertyIsEnumerable.call(this, P); - if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) - return false; - return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true; -}; -var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { - var it = toIndexedObject(O); - var key = toPrimitive(P, true); - if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) - return; - var descriptor = nativeGetOwnPropertyDescriptor(it, key); - if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) { - descriptor.enumerable = true; - } - return descriptor; -}; -var $getOwnPropertyNames = function getOwnPropertyNames(O) { - var names = nativeGetOwnPropertyNames(toIndexedObject(O)); - var result = []; - $forEach(names, function (key) { - if (!has(AllSymbols, key) && !has(hiddenKeys, key)) - result.push(key); - }); - return result; -}; -var $getOwnPropertySymbols = function getOwnPropertySymbols(O) { - var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; - var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); - var result = []; - $forEach(names, function (key) { - if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) { - result.push(AllSymbols[key]); - } - }); - return result; -}; -if (!NATIVE_SYMBOL) { - $Symbol = function Symbol() { - if (this instanceof $Symbol) - throw TypeError('Symbol is not a constructor'); - var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]); - var tag = uid(description); - var setter = function (value) { - if (this === ObjectPrototype) - setter.call(ObjectPrototypeSymbols, value); - if (has(this, HIDDEN) && has(this[HIDDEN], tag)) - this[HIDDEN][tag] = false; - setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value)); - }; - if (DESCRIPTORS && USE_SETTER) - setSymbolDescriptor(ObjectPrototype, tag, { - configurable: true, - set: setter + break; + case 'Map': + value.forEach(function (v, k) { + mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map)); }); - return wrap(tag, description); - }; - redefine($Symbol[PROTOTYPE], 'toString', function toString() { - return getInternalState(this).tag; - }); - redefine($Symbol, 'withoutSetter', function (description) { - return wrap(uid(description), description); - }); - propertyIsEnumerableModule.f = $propertyIsEnumerable; - definePropertyModule.f = $defineProperty; - getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; - getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; - getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; - wrappedWellKnownSymbolModule.f = function (name) { - return wrap(wellKnownSymbol(name), name); - }; - if (DESCRIPTORS) { - nativeDefineProperty($Symbol[PROTOTYPE], 'description', { - configurable: true, - get: function description() { - return getInternalState(this).description; + break; + case 'Set': + value.forEach(function (v) { + setAdd(cloned, structuredCloneInternal(v, map)); + }); + break; + case 'Error': + createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map)); + if (hasOwn(value, 'cause')) { + createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map)); + } + if (name == 'AggregateError') { + cloned.errors = structuredCloneInternal(value.errors, map); + } + case 'DOMException': + if (ERROR_STACK_INSTALLABLE) { + createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map)); } - }); - if (!IS_PURE) { - redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); } - } -} + return cloned; +}; +var PROPER_TRANSFER = nativeStructuredClone && !fails(function () { + var buffer = new ArrayBuffer(8); + var clone = nativeStructuredClone(buffer, { transfer: [buffer] }); + return buffer.byteLength != 0 || clone.byteLength != 8; +}); +var tryToTransfer = function (rawTransfer, map) { + if (!isObject(rawTransfer)) + throw TypeError('Transfer option cannot be converted to a sequence'); + var transfer = []; + iterate(rawTransfer, function (value) { + push(transfer, anObject(value)); + }); + var i = 0; + var length = lengthOfArrayLike(transfer); + var value, type, C, transferredArray, transferred, canvas, context; + if (PROPER_TRANSFER) { + transferredArray = nativeStructuredClone(transfer, { transfer: transfer }); + while (i < length) + mapSet(map, transfer[i], transferredArray[i++]); + } else + while (i < length) { + value = transfer[i++]; + if (mapHas(map, value)) + throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); + type = classof(value); + switch (type) { + case 'ImageBitmap': + C = global.OffscreenCanvas; + if (!isConstructor(C)) + throwUnpolyfillable(type, TRANSFERRING); + try { + canvas = new C(value.width, value.height); + context = canvas.getContext('bitmaprenderer'); + context.transferFromImageBitmap(value); + transferred = canvas.transferToImageBitmap(); + } catch (error) { + } + break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone) || !isCallable(value.close)) + throwUnpolyfillable(type, TRANSFERRING); + try { + transferred = value.clone(); + value.close(); + } catch (error) { + } + break; + case 'ArrayBuffer': + case 'MessagePort': + case 'OffscreenCanvas': + case 'ReadableStream': + case 'TransformStream': + case 'WritableStream': + throwUnpolyfillable(type, TRANSFERRING); + } + if (transferred === undefined) + throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR); + mapSet(map, value, transferred); + } +}; $({ global: true, - wrap: true, - forced: !NATIVE_SYMBOL, - sham: !NATIVE_SYMBOL -}, { Symbol: $Symbol }); -$forEach(objectKeys(WellKnownSymbolsStore), function (name) { - defineWellKnownSymbol(name); -}); -$({ - target: SYMBOL, - stat: true, - forced: !NATIVE_SYMBOL + enumerable: true, + sham: !PROPER_TRANSFER, + forced: FORCED_REPLACEMENT }, { - 'for': function (key) { - var string = String(key); - if (has(StringToSymbolRegistry, string)) - return StringToSymbolRegistry[string]; - var symbol = $Symbol(string); - StringToSymbolRegistry[string] = symbol; - SymbolToStringRegistry[symbol] = string; - return symbol; - }, - keyFor: function keyFor(sym) { - if (!isSymbol(sym)) - throw TypeError(sym + ' is not a symbol'); - if (has(SymbolToStringRegistry, sym)) - return SymbolToStringRegistry[sym]; - }, - useSetter: function () { - USE_SETTER = true; - }, - useSimple: function () { - USE_SETTER = false; - } -}); -$({ - target: 'Object', - stat: true, - forced: !NATIVE_SYMBOL, - sham: !DESCRIPTORS -}, { - create: $create, - defineProperty: $defineProperty, - defineProperties: $defineProperties, - getOwnPropertyDescriptor: $getOwnPropertyDescriptor -}); -$({ - target: 'Object', - stat: true, - forced: !NATIVE_SYMBOL -}, { - getOwnPropertyNames: $getOwnPropertyNames, - getOwnPropertySymbols: $getOwnPropertySymbols -}); -$({ - target: 'Object', - stat: true, - forced: fails(function () { - getOwnPropertySymbolsModule.f(1); - }) -}, { - getOwnPropertySymbols: function getOwnPropertySymbols(it) { - return getOwnPropertySymbolsModule.f(toObject(it)); - } -}); -if ($stringify) { - var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () { - var symbol = $Symbol(); - return $stringify([symbol]) != '[null]' || $stringify({ a: symbol }) != '{}' || $stringify(Object(symbol)) != '{}'; - }); - $({ - target: 'JSON', - stat: true, - forced: FORCED_JSON_STRINGIFY - }, { - stringify: function stringify(it, replacer, space) { - var args = [it]; - var index = 1; - var $replacer; - while (arguments.length > index) - args.push(arguments[index++]); - $replacer = replacer; - if (!isObject(replacer) && it === undefined || isSymbol(it)) - return; - if (!isArray(replacer)) - replacer = function (key, value) { - if (typeof $replacer == 'function') - value = $replacer.call(this, key, value); - if (!isSymbol(value)) - return value; - }; - args[1] = replacer; - return $stringify.apply(null, args); + structuredClone: function structuredClone(value) { + var options = validateArgumentsLength(arguments.length, 1) > 1 ? anObject(arguments[1]) : undefined; + var transfer = options ? options.transfer : undefined; + var map; + if (transfer !== undefined) { + map = new Map(); + tryToTransfer(transfer, map); } - }); -} -if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) { - createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); -} -setToStringTag($Symbol, SYMBOL); -hiddenKeys[HIDDEN] = true; - -/***/ }), -/* 161 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var toIndexedObject = __w_pdfjs_require__(12); -var nativeGetOwnPropertyNames = __w_pdfjs_require__(39).f; -var toString = {}.toString; -var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; -var getWindowNames = function (it) { - try { - return nativeGetOwnPropertyNames(it); - } catch (error) { - return windowNames.slice(); - } -}; -module.exports.f = function getOwnPropertyNames(it) { - return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it)); -}; - -/***/ }), -/* 162 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var wellKnownSymbol = __w_pdfjs_require__(53); -exports.f = wellKnownSymbol; - -/***/ }), -/* 163 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var path = __w_pdfjs_require__(38); -var has = __w_pdfjs_require__(18); -var wrappedWellKnownSymbolModule = __w_pdfjs_require__(162); -var defineProperty = __w_pdfjs_require__(22).f; -module.exports = function (NAME) { - var Symbol = path.Symbol || (path.Symbol = {}); - if (!has(Symbol, NAME)) - defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) }); -}; - -/***/ }), -/* 164 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var defineWellKnownSymbol = __w_pdfjs_require__(163); -defineWellKnownSymbol('asyncIterator'); - -/***/ }), -/* 165 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var $ = __w_pdfjs_require__(5); -var DESCRIPTORS = __w_pdfjs_require__(8); -var global = __w_pdfjs_require__(6); -var has = __w_pdfjs_require__(18); -var isObject = __w_pdfjs_require__(17); -var defineProperty = __w_pdfjs_require__(22).f; -var copyConstructorProperties = __w_pdfjs_require__(35); -var NativeSymbol = global.Symbol; -if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) { - var EmptyStringDescriptionStore = {}; - var SymbolWrapper = function Symbol() { - var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]); - var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description); - if (description === '') - EmptyStringDescriptionStore[result] = true; - return result; - }; - copyConstructorProperties(SymbolWrapper, NativeSymbol); - var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype; - symbolPrototype.constructor = SymbolWrapper; - var symbolToString = symbolPrototype.toString; - var native = String(NativeSymbol('test')) == 'Symbol(test)'; - var regexp = /^Symbol\((.*)\)[^)]+$/; - defineProperty(symbolPrototype, 'description', { - configurable: true, - get: function description() { - var symbol = isObject(this) ? this.valueOf() : this; - var string = symbolToString.call(symbol); - if (has(EmptyStringDescriptionStore, symbol)) - return ''; - var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1'); - return desc === '' ? undefined : desc; - } - }); - $({ - global: true, - forced: true - }, { Symbol: SymbolWrapper }); -} - -/***/ }), -/* 166 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var defineWellKnownSymbol = __w_pdfjs_require__(163); -defineWellKnownSymbol('hasInstance'); - -/***/ }), -/* 167 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var defineWellKnownSymbol = __w_pdfjs_require__(163); -defineWellKnownSymbol('isConcatSpreadable'); - -/***/ }), -/* 168 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var defineWellKnownSymbol = __w_pdfjs_require__(163); -defineWellKnownSymbol('iterator'); - -/***/ }), -/* 169 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var defineWellKnownSymbol = __w_pdfjs_require__(163); -defineWellKnownSymbol('match'); - -/***/ }), -/* 170 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var defineWellKnownSymbol = __w_pdfjs_require__(163); -defineWellKnownSymbol('matchAll'); - -/***/ }), -/* 171 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var defineWellKnownSymbol = __w_pdfjs_require__(163); -defineWellKnownSymbol('replace'); - -/***/ }), -/* 172 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var defineWellKnownSymbol = __w_pdfjs_require__(163); -defineWellKnownSymbol('search'); - -/***/ }), -/* 173 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var defineWellKnownSymbol = __w_pdfjs_require__(163); -defineWellKnownSymbol('species'); - -/***/ }), -/* 174 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var defineWellKnownSymbol = __w_pdfjs_require__(163); -defineWellKnownSymbol('split'); - -/***/ }), -/* 175 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var defineWellKnownSymbol = __w_pdfjs_require__(163); -defineWellKnownSymbol('toPrimitive'); - -/***/ }), -/* 176 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var defineWellKnownSymbol = __w_pdfjs_require__(163); -defineWellKnownSymbol('toStringTag'); - -/***/ }), -/* 177 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var defineWellKnownSymbol = __w_pdfjs_require__(163); -defineWellKnownSymbol('unscopables'); - -/***/ }), -/* 178 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var setToStringTag = __w_pdfjs_require__(81); -setToStringTag(Math, 'Math', true); - -/***/ }), -/* 179 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var global = __w_pdfjs_require__(6); -var setToStringTag = __w_pdfjs_require__(81); -setToStringTag(global.JSON, 'JSON', true); - -/***/ }), -/* 180 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -__w_pdfjs_require__(181); -var entryUnbind = __w_pdfjs_require__(57); -module.exports = entryUnbind('String', 'padStart'); - -/***/ }), -/* 181 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var $ = __w_pdfjs_require__(5); -var $padStart = __w_pdfjs_require__(182).start; -var WEBKIT_BUG = __w_pdfjs_require__(184); -$({ - target: 'String', - proto: true, - forced: WEBKIT_BUG -}, { - padStart: function padStart(maxLength) { - return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + return structuredCloneInternal(value, map); } }); /***/ }), -/* 182 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var toLength = __w_pdfjs_require__(42); -var repeat = __w_pdfjs_require__(183); -var requireObjectCoercible = __w_pdfjs_require__(15); -var ceil = Math.ceil; -var createMethod = function (IS_END) { - return function ($this, maxLength, fillString) { - var S = String(requireObjectCoercible($this)); - var stringLength = S.length; - var fillStr = fillString === undefined ? ' ' : String(fillString); - var intMaxLength = toLength(maxLength); - var fillLen, stringFiller; - if (intMaxLength <= stringLength || fillStr == '') - return S; - fillLen = intMaxLength - stringLength; - stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length)); - if (stringFiller.length > fillLen) - stringFiller = stringFiller.slice(0, fillLen); - return IS_END ? S + stringFiller : stringFiller + S; - }; -}; -module.exports = { - start: createMethod(false), - end: createMethod(true) -}; - -/***/ }), -/* 183 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 142 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { "use strict"; -var toInteger = __w_pdfjs_require__(43); -var requireObjectCoercible = __w_pdfjs_require__(15); -module.exports = ''.repeat || function repeat(count) { - var str = String(requireObjectCoercible(this)); +var anObject = __w_pdfjs_require__(48); +module.exports = function () { + var that = anObject(this); var result = ''; - var n = toInteger(count); - if (n < 0 || n == Infinity) - throw RangeError('Wrong number of repetitions'); - for (; n > 0; (n >>>= 1) && (str += str)) - if (n & 1) - result += str; + if (that.global) + result += 'g'; + if (that.ignoreCase) + result += 'i'; + if (that.multiline) + result += 'm'; + if (that.dotAll) + result += 's'; + if (that.unicode) + result += 'u'; + if (that.sticky) + result += 'y'; return result; }; /***/ }), -/* 184 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var userAgent = __w_pdfjs_require__(119); -module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent); - -/***/ }), -/* 185 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -__w_pdfjs_require__(186); -var entryUnbind = __w_pdfjs_require__(57); -module.exports = entryUnbind('String', 'padEnd'); - -/***/ }), -/* 186 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - -var $ = __w_pdfjs_require__(5); -var $padEnd = __w_pdfjs_require__(182).end; -var WEBKIT_BUG = __w_pdfjs_require__(184); -$({ - target: 'String', - proto: true, - forced: WEBKIT_BUG -}, { - padEnd: function padEnd(maxLength) { - return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -/***/ }), -/* 187 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -__w_pdfjs_require__(188); -var path = __w_pdfjs_require__(38); -module.exports = path.Object.values; - -/***/ }), -/* 188 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var $ = __w_pdfjs_require__(5); -var $values = __w_pdfjs_require__(189).values; -$({ - target: 'Object', - stat: true -}, { - values: function values(O) { - return $values(O); - } -}); - -/***/ }), -/* 189 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -var DESCRIPTORS = __w_pdfjs_require__(8); -var objectKeys = __w_pdfjs_require__(69); -var toIndexedObject = __w_pdfjs_require__(12); -var propertyIsEnumerable = __w_pdfjs_require__(10).f; -var createMethod = function (TO_ENTRIES) { - return function (it) { - var O = toIndexedObject(it); - var keys = objectKeys(O); - var length = keys.length; - var i = 0; - var result = []; - var key; - while (length > i) { - key = keys[i++]; - if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) { - result.push(TO_ENTRIES ? [ - key, - O[key] - ] : O[key]); - } - } - return result; - }; -}; -module.exports = { - entries: createMethod(true), - values: createMethod(false) -}; - -/***/ }), -/* 190 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 143 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +Object.defineProperty(exports, "__esModule", ({ value: true -}); +})); +exports.build = exports.RenderTask = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0; exports.getDocument = getDocument; exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory; -exports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0; +exports.version = void 0; -var _regenerator = _interopRequireDefault(__w_pdfjs_require__(191)); +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); var _util = __w_pdfjs_require__(1); -var _display_utils = __w_pdfjs_require__(194); +var _display_utils = __w_pdfjs_require__(146); -var _font_loader = __w_pdfjs_require__(195); +var _font_loader = __w_pdfjs_require__(148); -var _api_compatibility = __w_pdfjs_require__(196); +var _node_utils = __w_pdfjs_require__(149); -var _canvas = __w_pdfjs_require__(197); +var _annotation_storage = __w_pdfjs_require__(150); -var _worker_options = __w_pdfjs_require__(199); +var _canvas = __w_pdfjs_require__(151); -var _is_node = __w_pdfjs_require__(48); +var _worker_options = __w_pdfjs_require__(153); -var _message_handler = __w_pdfjs_require__(200); +var _is_node = __w_pdfjs_require__(3); -var _metadata = __w_pdfjs_require__(201); +var _message_handler = __w_pdfjs_require__(154); -var _transport_stream = __w_pdfjs_require__(203); +var _metadata = __w_pdfjs_require__(155); -var _webgl = __w_pdfjs_require__(204); +var _optional_content_config = __w_pdfjs_require__(156); + +var _transport_stream = __w_pdfjs_require__(157); + +var _xfa_text = __w_pdfjs_require__(158); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } +function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } +function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } +function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } -function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } +function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } +function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } +function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } +function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } var DEFAULT_RANGE_CHUNK_SIZE = 65536; var RENDERING_CANCELLED_TIMEOUT = 100; +var DefaultCanvasFactory = _is_node.isNodeJS ? _node_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory; +exports.DefaultCanvasFactory = DefaultCanvasFactory; +var DefaultCMapReaderFactory = _is_node.isNodeJS ? _node_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory; +exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory; +var DefaultStandardFontDataFactory = _is_node.isNodeJS ? _node_utils.NodeStandardFontDataFactory : _display_utils.DOMStandardFontDataFactory; +exports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory; var createPDFNetworkStream; function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) { @@ -10417,7 +5359,7 @@ function getDocument(src) { var task = new PDFDocumentLoadingTask(); var source; - if (typeof src === "string") { + if (typeof src === "string" || src instanceof URL) { source = { url: src }; @@ -10431,7 +5373,7 @@ function getDocument(src) { }; } else { if (_typeof(src) !== "object") { - throw new Error("Invalid parameter in getDocument, " + "need either Uint8Array, string or a parameter object"); + throw new Error("Invalid parameter in getDocument, " + "need either string, URL, Uint8Array, or parameter object."); } if (!src.url && !src.data && !src.range) { @@ -10446,54 +5388,87 @@ function getDocument(src) { worker = null; for (var key in source) { - if (key === "url" && typeof window !== "undefined") { - params[key] = new URL(source[key], window.location).href; - continue; - } else if (key === "range") { - rangeTransport = source[key]; - continue; - } else if (key === "worker") { - worker = source[key]; - continue; - } else if (key === "data" && !(source[key] instanceof Uint8Array)) { - var pdfBytes = source[key]; + var value = source[key]; - if (typeof pdfBytes === "string") { - params[key] = (0, _util.stringToBytes)(pdfBytes); - } else if (_typeof(pdfBytes) === "object" && pdfBytes !== null && !isNaN(pdfBytes.length)) { - params[key] = new Uint8Array(pdfBytes); - } else if ((0, _util.isArrayBuffer)(pdfBytes)) { - params[key] = new Uint8Array(pdfBytes); - } else { - throw new Error("Invalid PDF binary data: either typed array, " + "string or array-like object is expected in the " + "data property."); - } + switch (key) { + case "url": + if (typeof window !== "undefined") { + try { + params[key] = new URL(value, window.location).href; + continue; + } catch (ex) { + (0, _util.warn)("Cannot create valid URL: \"".concat(ex, "\".")); + } + } else if (typeof value === "string" || value instanceof URL) { + params[key] = value.toString(); + continue; + } - continue; + throw new Error("Invalid PDF url data: " + "either string or URL-object is expected in the url property."); + + case "range": + rangeTransport = value; + continue; + + case "worker": + worker = value; + continue; + + case "data": + if (_is_node.isNodeJS && typeof Buffer !== "undefined" && value instanceof Buffer) { + params[key] = new Uint8Array(value); + } else if (value instanceof Uint8Array) { + break; + } else if (typeof value === "string") { + params[key] = (0, _util.stringToBytes)(value); + } else if (_typeof(value) === "object" && value !== null && !isNaN(value.length)) { + params[key] = new Uint8Array(value); + } else if ((0, _util.isArrayBuffer)(value)) { + params[key] = new Uint8Array(value); + } else { + throw new Error("Invalid PDF binary data: either typed array, " + "string, or array-like object is expected in the data property."); + } + + continue; } - params[key] = source[key]; + params[key] = value; } params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE; - params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory; + params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory; + params.StandardFontDataFactory = params.StandardFontDataFactory || DefaultStandardFontDataFactory; params.ignoreErrors = params.stopAtErrors !== true; + params.fontExtraProperties = params.fontExtraProperties === true; params.pdfBug = params.pdfBug === true; - var NativeImageDecoderValues = Object.values(_util.NativeImageDecoding); + params.enableXfa = params.enableXfa === true; - if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) { - params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE; + if (typeof params.docBaseUrl !== "string" || (0, _display_utils.isDataScheme)(params.docBaseUrl)) { + params.docBaseUrl = null; } if (!Number.isInteger(params.maxImageSize)) { params.maxImageSize = -1; } + if (typeof params.useWorkerFetch !== "boolean") { + params.useWorkerFetch = params.CMapReaderFactory === _display_utils.DOMCMapReaderFactory && params.StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory; + } + if (typeof params.isEvalSupported !== "boolean") { params.isEvalSupported = true; } if (typeof params.disableFontFace !== "boolean") { - params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false; + params.disableFontFace = _is_node.isNodeJS; + } + + if (typeof params.useSystemFonts !== "boolean") { + params.useSystemFonts = !_is_node.isNodeJS && !params.disableFontFace; + } + + if (typeof params.ownerDocument === "undefined") { + params.ownerDocument = globalThis.document; } if (typeof params.disableRange !== "boolean") { @@ -10508,10 +5483,6 @@ function getDocument(src) { params.disableAutoFetch = false; } - if (typeof params.disableCreateObjectURL !== "boolean") { - params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false; - } - (0, _util.setVerbosityLevel)(params.verbosity); if (!worker) { @@ -10529,11 +5500,9 @@ function getDocument(src) { throw new Error("Loading aborted"); } - return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) { - if (task.destroyed) { - throw new Error("Loading aborted"); - } + var workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId); + var networkStreamPromise = new Promise(function (resolve) { var networkStream; if (rangeTransport) { @@ -10541,6 +5510,7 @@ function getDocument(src) { length: params.length, initialData: params.initialData, progressiveDone: params.progressiveDone, + contentDispositionFilename: params.contentDispositionFilename, disableRange: params.disableRange, disableStream: params.disableStream }, rangeTransport); @@ -10556,8 +5526,18 @@ function getDocument(src) { }); } + resolve(networkStream); + }); + return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + workerId = _ref2[0], + networkStream = _ref2[1]; + + if (task.destroyed) { + throw new Error("Loading aborted"); + } + var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port); - messageHandler.postMessageTransfers = worker.postMessageTransfers; var transport = new WorkerTransport(messageHandler, task, networkStream, params); task._transport = transport; messageHandler.send("Ready", null); @@ -10566,106 +5546,160 @@ function getDocument(src) { return task; } -function _fetchDocument(worker, source, pdfDataRangeTransport, docId) { - if (worker.destroyed) { - return Promise.reject(new Error("Worker was destroyed")); - } - - if (pdfDataRangeTransport) { - source.length = pdfDataRangeTransport.length; - source.initialData = pdfDataRangeTransport.initialData; - source.progressiveDone = pdfDataRangeTransport.progressiveDone; - } - - return worker.messageHandler.sendWithPromise("GetDocRequest", { - docId: docId, - apiVersion: '2.4.456', - source: { - data: source.data, - url: source.url, - password: source.password, - disableAutoFetch: source.disableAutoFetch, - rangeChunkSize: source.rangeChunkSize, - length: source.length - }, - maxImageSize: source.maxImageSize, - disableFontFace: source.disableFontFace, - disableCreateObjectURL: source.disableCreateObjectURL, - postMessageTransfers: worker.postMessageTransfers, - docBaseUrl: source.docBaseUrl, - nativeImageDecoderSupport: source.nativeImageDecoderSupport, - ignoreErrors: source.ignoreErrors, - isEvalSupported: source.isEvalSupported - }).then(function (workerId) { - if (worker.destroyed) { - throw new Error("Worker was destroyed"); - } - - return workerId; - }); +function _fetchDocument(_x, _x2, _x3, _x4) { + return _fetchDocument2.apply(this, arguments); } -var PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() { - var nextDocumentId = 0; +function _fetchDocument2() { + _fetchDocument2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee7(worker, source, pdfDataRangeTransport, docId) { + var workerId; + return _regenerator["default"].wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + if (!worker.destroyed) { + _context7.next = 2; + break; + } - var PDFDocumentLoadingTask = /*#__PURE__*/function () { - function PDFDocumentLoadingTask() { - _classCallCheck(this, PDFDocumentLoadingTask); + throw new Error("Worker was destroyed"); - this._capability = (0, _util.createPromiseCapability)(); - this._transport = null; - this._worker = null; - this.docId = "d" + nextDocumentId++; - this.destroyed = false; - this.onPassword = null; - this.onProgress = null; - this.onUnsupportedFeature = null; + case 2: + if (pdfDataRangeTransport) { + source.length = pdfDataRangeTransport.length; + source.initialData = pdfDataRangeTransport.initialData; + source.progressiveDone = pdfDataRangeTransport.progressiveDone; + source.contentDispositionFilename = pdfDataRangeTransport.contentDispositionFilename; + } + + _context7.next = 5; + return worker.messageHandler.sendWithPromise("GetDocRequest", { + docId: docId, + apiVersion: '2.14.44', + source: { + data: source.data, + url: source.url, + password: source.password, + disableAutoFetch: source.disableAutoFetch, + rangeChunkSize: source.rangeChunkSize, + length: source.length + }, + maxImageSize: source.maxImageSize, + disableFontFace: source.disableFontFace, + docBaseUrl: source.docBaseUrl, + ignoreErrors: source.ignoreErrors, + isEvalSupported: source.isEvalSupported, + fontExtraProperties: source.fontExtraProperties, + enableXfa: source.enableXfa, + useSystemFonts: source.useSystemFonts, + cMapUrl: source.useWorkerFetch ? source.cMapUrl : null, + standardFontDataUrl: source.useWorkerFetch ? source.standardFontDataUrl : null + }); + + case 5: + workerId = _context7.sent; + + if (!worker.destroyed) { + _context7.next = 8; + break; + } + + throw new Error("Worker was destroyed"); + + case 8: + return _context7.abrupt("return", workerId); + + case 9: + case "end": + return _context7.stop(); + } + } + }, _callee7); + })); + return _fetchDocument2.apply(this, arguments); +} + +var PDFDocumentLoadingTask = /*#__PURE__*/function () { + function PDFDocumentLoadingTask() { + _classCallCheck(this, PDFDocumentLoadingTask); + + this._capability = (0, _util.createPromiseCapability)(); + this._transport = null; + this._worker = null; + this.docId = "d".concat(PDFDocumentLoadingTask.idCounters.doc++); + this.destroyed = false; + this.onPassword = null; + this.onProgress = null; + this.onUnsupportedFeature = null; + } + + _createClass(PDFDocumentLoadingTask, [{ + key: "promise", + get: function get() { + return this._capability.promise; } + }, { + key: "destroy", + value: function () { + var _destroy = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var _this$_transport; - _createClass(PDFDocumentLoadingTask, [{ - key: "destroy", - value: function destroy() { - var _this = this; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + this.destroyed = true; + _context.next = 3; + return (_this$_transport = this._transport) === null || _this$_transport === void 0 ? void 0 : _this$_transport.destroy(); - this.destroyed = true; - var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy(); - return transportDestroyed.then(function () { - _this._transport = null; + case 3: + this._transport = null; - if (_this._worker) { - _this._worker.destroy(); + if (this._worker) { + this._worker.destroy(); - _this._worker = null; + this._worker = null; + } + + case 5: + case "end": + return _context.stop(); + } } - }); - } - }, { - key: "then", - value: function then(onFulfilled, onRejected) { - throw new Error("Removed API method: " + "PDFDocumentLoadingTask.then, use the `promise` getter instead."); - } - }, { - key: "promise", - get: function get() { - return this._capability.promise; - } - }]); + }, _callee, this); + })); - return PDFDocumentLoadingTask; - }(); + function destroy() { + return _destroy.apply(this, arguments); + } + + return destroy; + }() + }], [{ + key: "idCounters", + get: function get() { + return (0, _util.shadow)(this, "idCounters", { + doc: 0 + }); + } + }]); return PDFDocumentLoadingTask; }(); +exports.PDFDocumentLoadingTask = PDFDocumentLoadingTask; + var PDFDataRangeTransport = /*#__PURE__*/function () { function PDFDataRangeTransport(length, initialData) { var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; _classCallCheck(this, PDFDataRangeTransport); this.length = length; this.initialData = initialData; this.progressiveDone = progressiveDone; + this.contentDispositionFilename = contentDispositionFilename; this._rangeListeners = []; this._progressListeners = []; this._progressiveReadListeners = []; @@ -10696,120 +5730,80 @@ var PDFDataRangeTransport = /*#__PURE__*/function () { }, { key: "onDataRange", value: function onDataRange(begin, chunk) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iterator = _createForOfIteratorHelper(this._rangeListeners), + _step; try { - for (var _iterator = this._rangeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var listener = _step.value; listener(begin, chunk); } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator["return"] != null) { - _iterator["return"](); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } } }, { key: "onDataProgress", value: function onDataProgress(loaded, total) { - var _this2 = this; + var _this = this; this._readyCapability.promise.then(function () { - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; + var _iterator2 = _createForOfIteratorHelper(_this._progressListeners), + _step2; try { - for (var _iterator2 = _this2._progressListeners[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var listener = _step2.value; listener(loaded, total); } } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; + _iterator2.e(err); } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) { - _iterator2["return"](); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } + _iterator2.f(); } }); } }, { key: "onDataProgressiveRead", value: function onDataProgressiveRead(chunk) { - var _this3 = this; + var _this2 = this; this._readyCapability.promise.then(function () { - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; + var _iterator3 = _createForOfIteratorHelper(_this2._progressiveReadListeners), + _step3; try { - for (var _iterator3 = _this3._progressiveReadListeners[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { var listener = _step3.value; listener(chunk); } } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; + _iterator3.e(err); } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) { - _iterator3["return"](); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } + _iterator3.f(); } }); } }, { key: "onDataProgressiveDone", value: function onDataProgressiveDone() { - var _this4 = this; + var _this3 = this; this._readyCapability.promise.then(function () { - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; + var _iterator4 = _createForOfIteratorHelper(_this3._progressiveDoneListeners), + _step4; try { - for (var _iterator4 = _this4._progressiveDoneListeners[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { var listener = _step4.value; listener(); } } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; + _iterator4.e(err); } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) { - _iterator4["return"](); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } + _iterator4.f(); } }); } @@ -10835,13 +5829,79 @@ exports.PDFDataRangeTransport = PDFDataRangeTransport; var PDFDocumentProxy = /*#__PURE__*/function () { function PDFDocumentProxy(pdfInfo, transport) { + var _this4 = this; + _classCallCheck(this, PDFDocumentProxy); this._pdfInfo = pdfInfo; this._transport = transport; + Object.defineProperty(this, "fingerprint", { + get: function get() { + (0, _display_utils.deprecated)("`PDFDocumentProxy.fingerprint`, " + "please use `PDFDocumentProxy.fingerprints` instead."); + return this.fingerprints[0]; + } + }); + Object.defineProperty(this, "getStats", { + value: function () { + var _value = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + (0, _display_utils.deprecated)("`PDFDocumentProxy.getStats`, " + "please use the `PDFDocumentProxy.stats`-getter instead."); + return _context2.abrupt("return", _this4.stats || { + streamTypes: {}, + fontTypes: {} + }); + + case 2: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + + function value() { + return _value.apply(this, arguments); + } + + return value; + }() + }); } _createClass(PDFDocumentProxy, [{ + key: "annotationStorage", + get: function get() { + return this._transport.annotationStorage; + } + }, { + key: "numPages", + get: function get() { + return this._pdfInfo.numPages; + } + }, { + key: "fingerprints", + get: function get() { + return this._pdfInfo.fingerprints; + } + }, { + key: "stats", + get: function get() { + return this._transport.stats; + } + }, { + key: "isPureXfa", + get: function get() { + return !!this._transport._htmlForXfa; + } + }, { + key: "allXfaHtml", + get: function get() { + return this._transport._htmlForXfa; + } + }, { key: "getPage", value: function getPage(pageNumber) { return this._transport.getPage(pageNumber); @@ -10886,14 +5946,6 @@ var PDFDocumentProxy = /*#__PURE__*/function () { value: function getOpenAction() { return this._transport.getOpenAction(); } - }, { - key: "getOpenActionDestination", - value: function getOpenActionDestination() { - (0, _display_utils.deprecated)("getOpenActionDestination, use getOpenAction instead."); - return this.getOpenAction().then(function (openAction) { - return openAction && openAction.dest ? openAction.dest : null; - }); - } }, { key: "getAttachments", value: function getAttachments() { @@ -10904,11 +5956,21 @@ var PDFDocumentProxy = /*#__PURE__*/function () { value: function getJavaScript() { return this._transport.getJavaScript(); } + }, { + key: "getJSActions", + value: function getJSActions() { + return this._transport.getDocJSActions(); + } }, { key: "getOutline", value: function getOutline() { return this._transport.getOutline(); } + }, { + key: "getOptionalContentConfig", + value: function getOptionalContentConfig() { + return this._transport.getOptionalContentConfig(); + } }, { key: "getPermissions", value: function getPermissions() { @@ -10919,6 +5981,11 @@ var PDFDocumentProxy = /*#__PURE__*/function () { value: function getMetadata() { return this._transport.getMetadata(); } + }, { + key: "getMarkInfo", + value: function getMarkInfo() { + return this._transport.getMarkInfo(); + } }, { key: "getData", value: function getData() { @@ -10929,31 +5996,17 @@ var PDFDocumentProxy = /*#__PURE__*/function () { value: function getDownloadInfo() { return this._transport.downloadInfoCapability.promise; } - }, { - key: "getStats", - value: function getStats() { - return this._transport.getStats(); - } }, { key: "cleanup", value: function cleanup() { - return this._transport.startCleanup(); + var keepLoadedFonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa); } }, { key: "destroy", value: function destroy() { return this.loadingTask.destroy(); } - }, { - key: "numPages", - get: function get() { - return this._pdfInfo.numPages; - } - }, { - key: "fingerprint", - get: function get() { - return this._pdfInfo.fingerprint; - } }, { key: "loadingParams", get: function get() { @@ -10964,6 +6017,30 @@ var PDFDocumentProxy = /*#__PURE__*/function () { get: function get() { return this._transport.loadingTask; } + }, { + key: "saveDocument", + value: function saveDocument() { + if (this._transport.annotationStorage.size <= 0) { + (0, _display_utils.deprecated)("saveDocument called while `annotationStorage` is empty, " + "please use the getData-method instead."); + } + + return this._transport.saveDocument(); + } + }, { + key: "getFieldObjects", + value: function getFieldObjects() { + return this._transport.getFieldObjects(); + } + }, { + key: "hasJSActions", + value: function hasJSActions() { + return this._transport.hasJSActions(); + } + }, { + key: "getCalculationOrderIds", + value: function getCalculationOrderIds() { + return this._transport.getCalculationOrderIds(); + } }]); return PDFDocumentProxy; @@ -10972,13 +6049,14 @@ var PDFDocumentProxy = /*#__PURE__*/function () { exports.PDFDocumentProxy = PDFDocumentProxy; var PDFPageProxy = /*#__PURE__*/function () { - function PDFPageProxy(pageIndex, pageInfo, transport) { - var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + function PDFPageProxy(pageIndex, pageInfo, transport, ownerDocument) { + var pdfBug = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; _classCallCheck(this, PDFPageProxy); this._pageIndex = pageIndex; this._pageInfo = pageInfo; + this._ownerDocument = ownerDocument; this._transport = transport; this._stats = pdfBug ? new _display_utils.StatTimer() : null; this._pdfBug = pdfBug; @@ -10986,500 +6064,12 @@ var PDFPageProxy = /*#__PURE__*/function () { this.objs = new PDFObjects(); this.cleanupAfterRender = false; this.pendingCleanup = false; - this.intentStates = Object.create(null); + this._intentStates = new Map(); + this._annotationPromises = new Map(); this.destroyed = false; } _createClass(PDFPageProxy, [{ - key: "getViewport", - value: function getViewport() { - var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, - scale = _ref.scale, - _ref$rotation = _ref.rotation, - rotation = _ref$rotation === void 0 ? this.rotate : _ref$rotation, - _ref$offsetX = _ref.offsetX, - offsetX = _ref$offsetX === void 0 ? 0 : _ref$offsetX, - _ref$offsetY = _ref.offsetY, - offsetY = _ref$offsetY === void 0 ? 0 : _ref$offsetY, - _ref$dontFlip = _ref.dontFlip, - dontFlip = _ref$dontFlip === void 0 ? false : _ref$dontFlip; - - if (arguments.length > 1 || typeof arguments[0] === "number") { - throw new Error("PDFPageProxy.getViewport is called with obsolete arguments."); - } - - return new _display_utils.PageViewport({ - viewBox: this.view, - scale: scale, - rotation: rotation, - offsetX: offsetX, - offsetY: offsetY, - dontFlip: dontFlip - }); - } - }, { - key: "getAnnotations", - value: function getAnnotations() { - var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, - _ref2$intent = _ref2.intent, - intent = _ref2$intent === void 0 ? null : _ref2$intent; - - if (!this.annotationsPromise || this.annotationsIntent !== intent) { - this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent); - this.annotationsIntent = intent; - } - - return this.annotationsPromise; - } - }, { - key: "render", - value: function render(_ref3) { - var _this5 = this; - - var canvasContext = _ref3.canvasContext, - viewport = _ref3.viewport, - _ref3$intent = _ref3.intent, - intent = _ref3$intent === void 0 ? "display" : _ref3$intent, - _ref3$enableWebGL = _ref3.enableWebGL, - enableWebGL = _ref3$enableWebGL === void 0 ? false : _ref3$enableWebGL, - _ref3$renderInteracti = _ref3.renderInteractiveForms, - renderInteractiveForms = _ref3$renderInteracti === void 0 ? false : _ref3$renderInteracti, - _ref3$transform = _ref3.transform, - transform = _ref3$transform === void 0 ? null : _ref3$transform, - _ref3$imageLayer = _ref3.imageLayer, - imageLayer = _ref3$imageLayer === void 0 ? null : _ref3$imageLayer, - _ref3$canvasFactory = _ref3.canvasFactory, - canvasFactory = _ref3$canvasFactory === void 0 ? null : _ref3$canvasFactory, - _ref3$background = _ref3.background, - background = _ref3$background === void 0 ? null : _ref3$background; - - if (this._stats) { - this._stats.time("Overall"); - } - - var renderingIntent = intent === "print" ? "print" : "display"; - this.pendingCleanup = false; - - if (!this.intentStates[renderingIntent]) { - this.intentStates[renderingIntent] = Object.create(null); - } - - var intentState = this.intentStates[renderingIntent]; - - if (intentState.streamReaderCancelTimeout) { - clearTimeout(intentState.streamReaderCancelTimeout); - intentState.streamReaderCancelTimeout = null; - } - - var canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory(); - var webGLContext = new _webgl.WebGLContext({ - enable: enableWebGL - }); - - if (!intentState.displayReadyCapability) { - intentState.displayReadyCapability = (0, _util.createPromiseCapability)(); - intentState.operatorList = { - fnArray: [], - argsArray: [], - lastChunk: false - }; - - if (this._stats) { - this._stats.time("Page Request"); - } - - this._pumpOperatorList({ - pageIndex: this._pageIndex, - intent: renderingIntent, - renderInteractiveForms: renderInteractiveForms === true - }); - } - - var complete = function complete(error) { - var i = intentState.renderTasks.indexOf(internalRenderTask); - - if (i >= 0) { - intentState.renderTasks.splice(i, 1); - } - - if (_this5.cleanupAfterRender || renderingIntent === "print") { - _this5.pendingCleanup = true; - } - - _this5._tryCleanup(); - - if (error) { - internalRenderTask.capability.reject(error); - - _this5._abortOperatorList({ - intentState: intentState, - reason: error - }); - } else { - internalRenderTask.capability.resolve(); - } - - if (_this5._stats) { - _this5._stats.timeEnd("Rendering"); - - _this5._stats.timeEnd("Overall"); - } - }; - - var internalRenderTask = new InternalRenderTask({ - callback: complete, - params: { - canvasContext: canvasContext, - viewport: viewport, - transform: transform, - imageLayer: imageLayer, - background: background - }, - objs: this.objs, - commonObjs: this.commonObjs, - operatorList: intentState.operatorList, - pageIndex: this._pageIndex, - canvasFactory: canvasFactoryInstance, - webGLContext: webGLContext, - useRequestAnimationFrame: renderingIntent !== "print", - pdfBug: this._pdfBug - }); - - if (!intentState.renderTasks) { - intentState.renderTasks = []; - } - - intentState.renderTasks.push(internalRenderTask); - var renderTask = internalRenderTask.task; - intentState.displayReadyCapability.promise.then(function (transparency) { - if (_this5.pendingCleanup) { - complete(); - return; - } - - if (_this5._stats) { - _this5._stats.time("Rendering"); - } - - internalRenderTask.initializeGraphics(transparency); - internalRenderTask.operatorListChanged(); - })["catch"](complete); - return renderTask; - } - }, { - key: "getOperatorList", - value: function getOperatorList() { - function operatorListChanged() { - if (intentState.operatorList.lastChunk) { - intentState.opListReadCapability.resolve(intentState.operatorList); - var i = intentState.renderTasks.indexOf(opListTask); - - if (i >= 0) { - intentState.renderTasks.splice(i, 1); - } - } - } - - var renderingIntent = "oplist"; - - if (!this.intentStates[renderingIntent]) { - this.intentStates[renderingIntent] = Object.create(null); - } - - var intentState = this.intentStates[renderingIntent]; - var opListTask; - - if (!intentState.opListReadCapability) { - opListTask = {}; - opListTask.operatorListChanged = operatorListChanged; - intentState.opListReadCapability = (0, _util.createPromiseCapability)(); - intentState.renderTasks = []; - intentState.renderTasks.push(opListTask); - intentState.operatorList = { - fnArray: [], - argsArray: [], - lastChunk: false - }; - - if (this._stats) { - this._stats.time("Page Request"); - } - - this._pumpOperatorList({ - pageIndex: this._pageIndex, - intent: renderingIntent - }); - } - - return intentState.opListReadCapability.promise; - } - }, { - key: "streamTextContent", - value: function streamTextContent() { - var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, - _ref4$normalizeWhites = _ref4.normalizeWhitespace, - normalizeWhitespace = _ref4$normalizeWhites === void 0 ? false : _ref4$normalizeWhites, - _ref4$disableCombineT = _ref4.disableCombineTextItems, - disableCombineTextItems = _ref4$disableCombineT === void 0 ? false : _ref4$disableCombineT; - - var TEXT_CONTENT_CHUNK_SIZE = 100; - return this._transport.messageHandler.sendWithStream("GetTextContent", { - pageIndex: this._pageIndex, - normalizeWhitespace: normalizeWhitespace === true, - combineTextItems: disableCombineTextItems !== true - }, { - highWaterMark: TEXT_CONTENT_CHUNK_SIZE, - size: function size(textContent) { - return textContent.items.length; - } - }); - } - }, { - key: "getTextContent", - value: function getTextContent() { - var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var readableStream = this.streamTextContent(params); - return new Promise(function (resolve, reject) { - function pump() { - reader.read().then(function (_ref5) { - var _textContent$items; - - var value = _ref5.value, - done = _ref5.done; - - if (done) { - resolve(textContent); - return; - } - - Object.assign(textContent.styles, value.styles); - - (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items)); - - pump(); - }, reject); - } - - var reader = readableStream.getReader(); - var textContent = { - items: [], - styles: Object.create(null) - }; - pump(); - }); - } - }, { - key: "_destroy", - value: function _destroy() { - var _this6 = this; - - this.destroyed = true; - this._transport.pageCache[this._pageIndex] = null; - var waitOn = []; - Object.keys(this.intentStates).forEach(function (intent) { - var intentState = _this6.intentStates[intent]; - - _this6._abortOperatorList({ - intentState: intentState, - reason: new Error("Page was destroyed."), - force: true - }); - - if (intent === "oplist") { - return; - } - - intentState.renderTasks.forEach(function (renderTask) { - var renderCompleted = renderTask.capability.promise["catch"](function () {}); - waitOn.push(renderCompleted); - renderTask.cancel(); - }); - }); - this.objs.clear(); - this.annotationsPromise = null; - this.pendingCleanup = false; - return Promise.all(waitOn); - } - }, { - key: "cleanup", - value: function cleanup() { - var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - this.pendingCleanup = true; - return this._tryCleanup(resetStats); - } - }, { - key: "_tryCleanup", - value: function _tryCleanup() { - var _this7 = this; - - var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - - if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) { - var intentState = _this7.intentStates[intent]; - return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk; - })) { - return false; - } - - Object.keys(this.intentStates).forEach(function (intent) { - delete _this7.intentStates[intent]; - }); - this.objs.clear(); - this.annotationsPromise = null; - - if (resetStats && this._stats) { - this._stats = new _display_utils.StatTimer(); - } - - this.pendingCleanup = false; - return true; - } - }, { - key: "_startRenderPage", - value: function _startRenderPage(transparency, intent) { - var intentState = this.intentStates[intent]; - - if (!intentState) { - return; - } - - if (this._stats) { - this._stats.timeEnd("Page Request"); - } - - if (intentState.displayReadyCapability) { - intentState.displayReadyCapability.resolve(transparency); - } - } - }, { - key: "_renderPageChunk", - value: function _renderPageChunk(operatorListChunk, intentState) { - for (var i = 0, ii = operatorListChunk.length; i < ii; i++) { - intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]); - intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]); - } - - intentState.operatorList.lastChunk = operatorListChunk.lastChunk; - - for (var _i = 0; _i < intentState.renderTasks.length; _i++) { - intentState.renderTasks[_i].operatorListChanged(); - } - - if (operatorListChunk.lastChunk) { - this._tryCleanup(); - } - } - }, { - key: "_pumpOperatorList", - value: function _pumpOperatorList(args) { - var _this8 = this; - - (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected "intent" argument.'); - - var readableStream = this._transport.messageHandler.sendWithStream("GetOperatorList", args); - - var reader = readableStream.getReader(); - var intentState = this.intentStates[args.intent]; - intentState.streamReader = reader; - - var pump = function pump() { - reader.read().then(function (_ref6) { - var value = _ref6.value, - done = _ref6.done; - - if (done) { - intentState.streamReader = null; - return; - } - - if (_this8._transport.destroyed) { - return; - } - - _this8._renderPageChunk(value, intentState); - - pump(); - }, function (reason) { - intentState.streamReader = null; - - if (_this8._transport.destroyed) { - return; - } - - if (intentState.operatorList) { - intentState.operatorList.lastChunk = true; - - for (var i = 0; i < intentState.renderTasks.length; i++) { - intentState.renderTasks[i].operatorListChanged(); - } - - _this8._tryCleanup(); - } - - if (intentState.displayReadyCapability) { - intentState.displayReadyCapability.reject(reason); - } else if (intentState.opListReadCapability) { - intentState.opListReadCapability.reject(reason); - } else { - throw reason; - } - }); - }; - - pump(); - } - }, { - key: "_abortOperatorList", - value: function _abortOperatorList(_ref7) { - var _this9 = this; - - var intentState = _ref7.intentState, - reason = _ref7.reason, - _ref7$force = _ref7.force, - force = _ref7$force === void 0 ? false : _ref7$force; - (0, _util.assert)(reason instanceof Error || _typeof(reason) === "object" && reason !== null, 'PDFPageProxy._abortOperatorList: Expected "reason" argument.'); - - if (!intentState.streamReader) { - return; - } - - if (!force) { - if (intentState.renderTasks.length !== 0) { - return; - } - - if (reason instanceof _display_utils.RenderingCancelledException) { - intentState.streamReaderCancelTimeout = setTimeout(function () { - _this9._abortOperatorList({ - intentState: intentState, - reason: reason, - force: true - }); - - intentState.streamReaderCancelTimeout = null; - }, RENDERING_CANCELLED_TIMEOUT); - return; - } - } - - intentState.streamReader.cancel(new _util.AbortException(reason && reason.message)); - intentState.streamReader = null; - - if (this._transport.destroyed) { - return; - } - - Object.keys(this.intentStates).some(function (intent) { - if (_this9.intentStates[intent] === intentState) { - delete _this9.intentStates[intent]; - return true; - } - - return false; - }); - this.cleanup(); - } - }, { key: "pageNumber", get: function get() { return this._pageIndex + 1; @@ -11504,6 +6094,681 @@ var PDFPageProxy = /*#__PURE__*/function () { get: function get() { return this._pageInfo.view; } + }, { + key: "getViewport", + value: function getViewport() { + var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + scale = _ref3.scale, + _ref3$rotation = _ref3.rotation, + rotation = _ref3$rotation === void 0 ? this.rotate : _ref3$rotation, + _ref3$offsetX = _ref3.offsetX, + offsetX = _ref3$offsetX === void 0 ? 0 : _ref3$offsetX, + _ref3$offsetY = _ref3.offsetY, + offsetY = _ref3$offsetY === void 0 ? 0 : _ref3$offsetY, + _ref3$dontFlip = _ref3.dontFlip, + dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip; + + return new _display_utils.PageViewport({ + viewBox: this.view, + scale: scale, + rotation: rotation, + offsetX: offsetX, + offsetY: offsetY, + dontFlip: dontFlip + }); + } + }, { + key: "getAnnotations", + value: function getAnnotations() { + var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref4$intent = _ref4.intent, + intent = _ref4$intent === void 0 ? "display" : _ref4$intent; + + var intentArgs = this._transport.getRenderingIntent(intent); + + var promise = this._annotationPromises.get(intentArgs.cacheKey); + + if (!promise) { + promise = this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent); + + this._annotationPromises.set(intentArgs.cacheKey, promise); + + promise = promise.then(function (annotations) { + var _iterator5 = _createForOfIteratorHelper(annotations), + _step5; + + try { + var _loop = function _loop() { + var annotation = _step5.value; + + if (annotation.titleObj !== undefined) { + Object.defineProperty(annotation, "title", { + get: function get() { + (0, _display_utils.deprecated)("`title`-property on annotation, please use `titleObj` instead."); + return annotation.titleObj.str; + } + }); + } + + if (annotation.contentsObj !== undefined) { + Object.defineProperty(annotation, "contents", { + get: function get() { + (0, _display_utils.deprecated)("`contents`-property on annotation, please use `contentsObj` instead."); + return annotation.contentsObj.str; + } + }); + } + }; + + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + _loop(); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + return annotations; + }); + } + + return promise; + } + }, { + key: "getJSActions", + value: function getJSActions() { + return this._jsActionsPromise || (this._jsActionsPromise = this._transport.getPageJSActions(this._pageIndex)); + } + }, { + key: "getXfa", + value: function () { + var _getXfa = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { + var _this$_transport$_htm; + + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + return _context3.abrupt("return", ((_this$_transport$_htm = this._transport._htmlForXfa) === null || _this$_transport$_htm === void 0 ? void 0 : _this$_transport$_htm.children[this._pageIndex]) || null); + + case 1: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function getXfa() { + return _getXfa.apply(this, arguments); + } + + return getXfa; + }() + }, { + key: "render", + value: function render(_ref5) { + var _arguments$, + _arguments$2, + _this5 = this, + _intentState; + + var canvasContext = _ref5.canvasContext, + viewport = _ref5.viewport, + _ref5$intent = _ref5.intent, + intent = _ref5$intent === void 0 ? "display" : _ref5$intent, + _ref5$annotationMode = _ref5.annotationMode, + annotationMode = _ref5$annotationMode === void 0 ? _util.AnnotationMode.ENABLE : _ref5$annotationMode, + _ref5$transform = _ref5.transform, + transform = _ref5$transform === void 0 ? null : _ref5$transform, + _ref5$imageLayer = _ref5.imageLayer, + imageLayer = _ref5$imageLayer === void 0 ? null : _ref5$imageLayer, + _ref5$canvasFactory = _ref5.canvasFactory, + canvasFactory = _ref5$canvasFactory === void 0 ? null : _ref5$canvasFactory, + _ref5$background = _ref5.background, + background = _ref5$background === void 0 ? null : _ref5$background, + _ref5$optionalContent = _ref5.optionalContentConfigPromise, + optionalContentConfigPromise = _ref5$optionalContent === void 0 ? null : _ref5$optionalContent, + _ref5$annotationCanva = _ref5.annotationCanvasMap, + annotationCanvasMap = _ref5$annotationCanva === void 0 ? null : _ref5$annotationCanva; + + if (((_arguments$ = arguments[0]) === null || _arguments$ === void 0 ? void 0 : _arguments$.renderInteractiveForms) !== undefined) { + (0, _display_utils.deprecated)("render no longer accepts the `renderInteractiveForms`-option, " + "please use the `annotationMode`-option instead."); + + if (arguments[0].renderInteractiveForms === true && annotationMode === _util.AnnotationMode.ENABLE) { + annotationMode = _util.AnnotationMode.ENABLE_FORMS; + } + } + + if (((_arguments$2 = arguments[0]) === null || _arguments$2 === void 0 ? void 0 : _arguments$2.includeAnnotationStorage) !== undefined) { + (0, _display_utils.deprecated)("render no longer accepts the `includeAnnotationStorage`-option, " + "please use the `annotationMode`-option instead."); + + if (arguments[0].includeAnnotationStorage === true && annotationMode === _util.AnnotationMode.ENABLE) { + annotationMode = _util.AnnotationMode.ENABLE_STORAGE; + } + } + + if (this._stats) { + this._stats.time("Overall"); + } + + var intentArgs = this._transport.getRenderingIntent(intent, annotationMode); + + this.pendingCleanup = false; + + if (!optionalContentConfigPromise) { + optionalContentConfigPromise = this._transport.getOptionalContentConfig(); + } + + var intentState = this._intentStates.get(intentArgs.cacheKey); + + if (!intentState) { + intentState = Object.create(null); + + this._intentStates.set(intentArgs.cacheKey, intentState); + } + + if (intentState.streamReaderCancelTimeout) { + clearTimeout(intentState.streamReaderCancelTimeout); + intentState.streamReaderCancelTimeout = null; + } + + var canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({ + ownerDocument: this._ownerDocument + }); + var intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT); + + if (!intentState.displayReadyCapability) { + intentState.displayReadyCapability = (0, _util.createPromiseCapability)(); + intentState.operatorList = { + fnArray: [], + argsArray: [], + lastChunk: false + }; + + if (this._stats) { + this._stats.time("Page Request"); + } + + this._pumpOperatorList(intentArgs); + } + + var complete = function complete(error) { + intentState.renderTasks["delete"](internalRenderTask); + + if (_this5.cleanupAfterRender || intentPrint) { + _this5.pendingCleanup = true; + } + + _this5._tryCleanup(); + + if (error) { + internalRenderTask.capability.reject(error); + + _this5._abortOperatorList({ + intentState: intentState, + reason: error instanceof Error ? error : new Error(error) + }); + } else { + internalRenderTask.capability.resolve(); + } + + if (_this5._stats) { + _this5._stats.timeEnd("Rendering"); + + _this5._stats.timeEnd("Overall"); + } + }; + + var internalRenderTask = new InternalRenderTask({ + callback: complete, + params: { + canvasContext: canvasContext, + viewport: viewport, + transform: transform, + imageLayer: imageLayer, + background: background + }, + objs: this.objs, + commonObjs: this.commonObjs, + annotationCanvasMap: annotationCanvasMap, + operatorList: intentState.operatorList, + pageIndex: this._pageIndex, + canvasFactory: canvasFactoryInstance, + useRequestAnimationFrame: !intentPrint, + pdfBug: this._pdfBug + }); + ((_intentState = intentState).renderTasks || (_intentState.renderTasks = new Set())).add(internalRenderTask); + var renderTask = internalRenderTask.task; + Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(function (_ref6) { + var _ref7 = _slicedToArray(_ref6, 2), + transparency = _ref7[0], + optionalContentConfig = _ref7[1]; + + if (_this5.pendingCleanup) { + complete(); + return; + } + + if (_this5._stats) { + _this5._stats.time("Rendering"); + } + + internalRenderTask.initializeGraphics({ + transparency: transparency, + optionalContentConfig: optionalContentConfig + }); + internalRenderTask.operatorListChanged(); + })["catch"](complete); + return renderTask; + } + }, { + key: "getOperatorList", + value: function getOperatorList() { + var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref8$intent = _ref8.intent, + intent = _ref8$intent === void 0 ? "display" : _ref8$intent, + _ref8$annotationMode = _ref8.annotationMode, + annotationMode = _ref8$annotationMode === void 0 ? _util.AnnotationMode.ENABLE : _ref8$annotationMode; + + function operatorListChanged() { + if (intentState.operatorList.lastChunk) { + intentState.opListReadCapability.resolve(intentState.operatorList); + intentState.renderTasks["delete"](opListTask); + } + } + + var intentArgs = this._transport.getRenderingIntent(intent, annotationMode, true); + + var intentState = this._intentStates.get(intentArgs.cacheKey); + + if (!intentState) { + intentState = Object.create(null); + + this._intentStates.set(intentArgs.cacheKey, intentState); + } + + var opListTask; + + if (!intentState.opListReadCapability) { + var _intentState2; + + opListTask = Object.create(null); + opListTask.operatorListChanged = operatorListChanged; + intentState.opListReadCapability = (0, _util.createPromiseCapability)(); + ((_intentState2 = intentState).renderTasks || (_intentState2.renderTasks = new Set())).add(opListTask); + intentState.operatorList = { + fnArray: [], + argsArray: [], + lastChunk: false + }; + + if (this._stats) { + this._stats.time("Page Request"); + } + + this._pumpOperatorList(intentArgs); + } + + return intentState.opListReadCapability.promise; + } + }, { + key: "streamTextContent", + value: function streamTextContent() { + var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref9$disableCombineT = _ref9.disableCombineTextItems, + disableCombineTextItems = _ref9$disableCombineT === void 0 ? false : _ref9$disableCombineT, + _ref9$includeMarkedCo = _ref9.includeMarkedContent, + includeMarkedContent = _ref9$includeMarkedCo === void 0 ? false : _ref9$includeMarkedCo; + + var TEXT_CONTENT_CHUNK_SIZE = 100; + return this._transport.messageHandler.sendWithStream("GetTextContent", { + pageIndex: this._pageIndex, + combineTextItems: disableCombineTextItems !== true, + includeMarkedContent: includeMarkedContent === true + }, { + highWaterMark: TEXT_CONTENT_CHUNK_SIZE, + size: function size(textContent) { + return textContent.items.length; + } + }); + } + }, { + key: "getTextContent", + value: function getTextContent() { + var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + + if (this._transport._htmlForXfa) { + return this.getXfa().then(function (xfa) { + return _xfa_text.XfaText.textContent(xfa); + }); + } + + var readableStream = this.streamTextContent(params); + return new Promise(function (resolve, reject) { + function pump() { + reader.read().then(function (_ref10) { + var _textContent$items; + + var value = _ref10.value, + done = _ref10.done; + + if (done) { + resolve(textContent); + return; + } + + Object.assign(textContent.styles, value.styles); + + (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items)); + + pump(); + }, reject); + } + + var reader = readableStream.getReader(); + var textContent = { + items: [], + styles: Object.create(null) + }; + pump(); + }); + } + }, { + key: "getStructTree", + value: function getStructTree() { + return this._structTreePromise || (this._structTreePromise = this._transport.getStructTree(this._pageIndex)); + } + }, { + key: "_destroy", + value: function _destroy() { + this.destroyed = true; + var waitOn = []; + + var _iterator6 = _createForOfIteratorHelper(this._intentStates.values()), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var intentState = _step6.value; + + this._abortOperatorList({ + intentState: intentState, + reason: new Error("Page was destroyed."), + force: true + }); + + if (intentState.opListReadCapability) { + continue; + } + + var _iterator7 = _createForOfIteratorHelper(intentState.renderTasks), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var internalRenderTask = _step7.value; + waitOn.push(internalRenderTask.completed); + internalRenderTask.cancel(); + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + this.objs.clear(); + + this._annotationPromises.clear(); + + this._jsActionsPromise = null; + this._structTreePromise = null; + this.pendingCleanup = false; + return Promise.all(waitOn); + } + }, { + key: "cleanup", + value: function cleanup() { + var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + this.pendingCleanup = true; + return this._tryCleanup(resetStats); + } + }, { + key: "_tryCleanup", + value: function _tryCleanup() { + var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this.pendingCleanup) { + return false; + } + + var _iterator8 = _createForOfIteratorHelper(this._intentStates.values()), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var _step8$value = _step8.value, + renderTasks = _step8$value.renderTasks, + operatorList = _step8$value.operatorList; + + if (renderTasks.size > 0 || !operatorList.lastChunk) { + return false; + } + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + + this._intentStates.clear(); + + this.objs.clear(); + + this._annotationPromises.clear(); + + this._jsActionsPromise = null; + this._structTreePromise = null; + + if (resetStats && this._stats) { + this._stats = new _display_utils.StatTimer(); + } + + this.pendingCleanup = false; + return true; + } + }, { + key: "_startRenderPage", + value: function _startRenderPage(transparency, cacheKey) { + var intentState = this._intentStates.get(cacheKey); + + if (!intentState) { + return; + } + + if (this._stats) { + this._stats.timeEnd("Page Request"); + } + + if (intentState.displayReadyCapability) { + intentState.displayReadyCapability.resolve(transparency); + } + } + }, { + key: "_renderPageChunk", + value: function _renderPageChunk(operatorListChunk, intentState) { + for (var i = 0, ii = operatorListChunk.length; i < ii; i++) { + intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]); + intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]); + } + + intentState.operatorList.lastChunk = operatorListChunk.lastChunk; + + var _iterator9 = _createForOfIteratorHelper(intentState.renderTasks), + _step9; + + try { + for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { + var internalRenderTask = _step9.value; + internalRenderTask.operatorListChanged(); + } + } catch (err) { + _iterator9.e(err); + } finally { + _iterator9.f(); + } + + if (operatorListChunk.lastChunk) { + this._tryCleanup(); + } + } + }, { + key: "_pumpOperatorList", + value: function _pumpOperatorList(_ref11) { + var _this6 = this; + + var renderingIntent = _ref11.renderingIntent, + cacheKey = _ref11.cacheKey; + + var readableStream = this._transport.messageHandler.sendWithStream("GetOperatorList", { + pageIndex: this._pageIndex, + intent: renderingIntent, + cacheKey: cacheKey, + annotationStorage: renderingIntent & _util.RenderingIntentFlag.ANNOTATIONS_STORAGE ? this._transport.annotationStorage.serializable : null + }); + + var reader = readableStream.getReader(); + + var intentState = this._intentStates.get(cacheKey); + + intentState.streamReader = reader; + + var pump = function pump() { + reader.read().then(function (_ref12) { + var value = _ref12.value, + done = _ref12.done; + + if (done) { + intentState.streamReader = null; + return; + } + + if (_this6._transport.destroyed) { + return; + } + + _this6._renderPageChunk(value, intentState); + + pump(); + }, function (reason) { + intentState.streamReader = null; + + if (_this6._transport.destroyed) { + return; + } + + if (intentState.operatorList) { + intentState.operatorList.lastChunk = true; + + var _iterator10 = _createForOfIteratorHelper(intentState.renderTasks), + _step10; + + try { + for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { + var internalRenderTask = _step10.value; + internalRenderTask.operatorListChanged(); + } + } catch (err) { + _iterator10.e(err); + } finally { + _iterator10.f(); + } + + _this6._tryCleanup(); + } + + if (intentState.displayReadyCapability) { + intentState.displayReadyCapability.reject(reason); + } else if (intentState.opListReadCapability) { + intentState.opListReadCapability.reject(reason); + } else { + throw reason; + } + }); + }; + + pump(); + } + }, { + key: "_abortOperatorList", + value: function _abortOperatorList(_ref13) { + var _this7 = this; + + var intentState = _ref13.intentState, + reason = _ref13.reason, + _ref13$force = _ref13.force, + force = _ref13$force === void 0 ? false : _ref13$force; + + if (!intentState.streamReader) { + return; + } + + if (!force) { + if (intentState.renderTasks.size > 0) { + return; + } + + if (reason instanceof _display_utils.RenderingCancelledException) { + intentState.streamReaderCancelTimeout = setTimeout(function () { + _this7._abortOperatorList({ + intentState: intentState, + reason: reason, + force: true + }); + + intentState.streamReaderCancelTimeout = null; + }, RENDERING_CANCELLED_TIMEOUT); + return; + } + } + + intentState.streamReader.cancel(new _util.AbortException(reason.message))["catch"](function () {}); + intentState.streamReader = null; + + if (this._transport.destroyed) { + return; + } + + var _iterator11 = _createForOfIteratorHelper(this._intentStates), + _step11; + + try { + for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { + var _step11$value = _slicedToArray(_step11.value, 2), + curCacheKey = _step11$value[0], + curIntentState = _step11$value[1]; + + if (curIntentState === intentState) { + this._intentStates["delete"](curCacheKey); + + break; + } + } + } catch (err) { + _iterator11.e(err); + } finally { + _iterator11.f(); + } + + this.cleanup(); + } }, { key: "stats", get: function get() { @@ -11518,92 +6783,35 @@ exports.PDFPageProxy = PDFPageProxy; var LoopbackPort = /*#__PURE__*/function () { function LoopbackPort() { - var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; - _classCallCheck(this, LoopbackPort); this._listeners = []; - this._defer = defer; - this._deferred = Promise.resolve(undefined); + this._deferred = Promise.resolve(); } _createClass(LoopbackPort, [{ key: "postMessage", value: function postMessage(obj, transfers) { - var _this10 = this; + var _this8 = this; - function cloneValue(value) { - if (_typeof(value) !== "object" || value === null) { - return value; - } - - if (cloned.has(value)) { - return cloned.get(value); - } - - var buffer, result; - - if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) { - var transferable = transfers && transfers.includes(buffer); - - if (transferable) { - result = new value.constructor(buffer, value.byteOffset, value.byteLength); - } else { - result = new value.constructor(value); - } - - cloned.set(value, result); - return result; - } - - result = Array.isArray(value) ? [] : {}; - cloned.set(value, result); - - for (var i in value) { - var desc = void 0, - p = value; - - while (!(desc = Object.getOwnPropertyDescriptor(p, i))) { - p = Object.getPrototypeOf(p); - } - - if (typeof desc.value === "undefined") { - continue; - } - - if (typeof desc.value === "function") { - if (value.hasOwnProperty && value.hasOwnProperty(i)) { - throw new Error("LoopbackPort.postMessage - cannot clone: ".concat(value[i])); - } - - continue; - } - - result[i] = cloneValue(desc.value); - } - - return result; - } - - if (!this._defer) { - this._listeners.forEach(function (listener) { - listener.call(_this10, { - data: obj - }); - }); - - return; - } - - var cloned = new WeakMap(); - var e = { - data: cloneValue(obj) + var event = { + data: transfers ? structuredClone(obj, transfers) : structuredClone(obj) }; this._deferred.then(function () { - _this10._listeners.forEach(function (listener) { - listener.call(_this10, e); - }); + var _iterator12 = _createForOfIteratorHelper(_this8._listeners), + _step12; + + try { + for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { + var listener = _step12.value; + listener.call(_this8, event); + } + } catch (err) { + _iterator12.e(err); + } finally { + _iterator12.f(); + } }); } }, { @@ -11629,387 +6837,484 @@ var LoopbackPort = /*#__PURE__*/function () { }(); exports.LoopbackPort = LoopbackPort; - -var PDFWorker = function PDFWorkerClosure() { - var pdfWorkerPorts = new WeakMap(); - var isWorkerDisabled = false; - var fallbackWorkerSrc; - var nextFakeWorkerId = 0; - var fakeWorkerCapability; - +var PDFWorkerUtil = { + isWorkerDisabled: false, + fallbackWorkerSrc: null, + fakeWorkerId: 0 +}; +{ if (_is_node.isNodeJS && typeof require === "function") { - isWorkerDisabled = true; - fallbackWorkerSrc = "./pdf.worker.js"; - } else if ((typeof document === "undefined" ? "undefined" : _typeof(document)) === "object" && "currentScript" in document) { - var pdfjsFilePath = document.currentScript && document.currentScript.src; + PDFWorkerUtil.isWorkerDisabled = true; + PDFWorkerUtil.fallbackWorkerSrc = "./pdf.worker.js"; + } else if ((typeof document === "undefined" ? "undefined" : _typeof(document)) === "object") { + var _document, _document$currentScri; + + var pdfjsFilePath = (_document = document) === null || _document === void 0 ? void 0 : (_document$currentScri = _document.currentScript) === null || _document$currentScri === void 0 ? void 0 : _document$currentScri.src; if (pdfjsFilePath) { - fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, ".worker$1$2"); + PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, ".worker$1$2"); } } - function _getWorkerSrc() { - if (_worker_options.GlobalWorkerOptions.workerSrc) { - return _worker_options.GlobalWorkerOptions.workerSrc; - } - - if (typeof fallbackWorkerSrc !== "undefined") { - if (!_is_node.isNodeJS) { - (0, _display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.'); - } - - return fallbackWorkerSrc; - } - - throw new Error('No "GlobalWorkerOptions.workerSrc" specified.'); - } - - function getMainThreadWorkerMessageHandler() { - var mainWorkerMessageHandler; - - try { - mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler; - } catch (ex) {} - - return mainWorkerMessageHandler || null; - } - - function setupFakeWorkerGlobal() { - if (fakeWorkerCapability) { - return fakeWorkerCapability.promise; - } - - fakeWorkerCapability = (0, _util.createPromiseCapability)(); - - var loader = /*#__PURE__*/function () { - var _ref8 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { - var mainWorkerMessageHandler, worker; - return _regenerator["default"].wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - mainWorkerMessageHandler = getMainThreadWorkerMessageHandler(); - - if (!mainWorkerMessageHandler) { - _context.next = 3; - break; - } - - return _context.abrupt("return", mainWorkerMessageHandler); - - case 3: - if (!(_is_node.isNodeJS && typeof require === "function")) { - _context.next = 6; - break; - } - - worker = eval("require")(_getWorkerSrc()); - return _context.abrupt("return", worker.WorkerMessageHandler); - - case 6: - _context.next = 8; - return (0, _display_utils.loadScript)(_getWorkerSrc()); - - case 8: - return _context.abrupt("return", window.pdfjsWorker.WorkerMessageHandler); - - case 9: - case "end": - return _context.stop(); - } - } - }, _callee); - })); - - return function loader() { - return _ref8.apply(this, arguments); - }; - }(); - - loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject); - return fakeWorkerCapability.promise; - } - - function createCDNWrapper(url) { - var wrapper = "importScripts('" + url + "');"; + PDFWorkerUtil.createCDNWrapper = function (url) { + var wrapper = "importScripts(\"".concat(url, "\");"); return URL.createObjectURL(new Blob([wrapper])); - } + }; +} - var PDFWorker = /*#__PURE__*/function () { - function PDFWorker() { - var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, - _ref9$name = _ref9.name, - name = _ref9$name === void 0 ? null : _ref9$name, - _ref9$port = _ref9.port, - port = _ref9$port === void 0 ? null : _ref9$port, - _ref9$verbosity = _ref9.verbosity, - verbosity = _ref9$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref9$verbosity; +var PDFWorker = /*#__PURE__*/function () { + function PDFWorker() { + var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref14$name = _ref14.name, + name = _ref14$name === void 0 ? null : _ref14$name, + _ref14$port = _ref14.port, + port = _ref14$port === void 0 ? null : _ref14$port, + _ref14$verbosity = _ref14.verbosity, + verbosity = _ref14$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref14$verbosity; - _classCallCheck(this, PDFWorker); + _classCallCheck(this, PDFWorker); - if (port && pdfWorkerPorts.has(port)) { - throw new Error("Cannot use more than one PDFWorker per port"); - } - - this.name = name; - this.destroyed = false; - this.postMessageTransfers = true; - this.verbosity = verbosity; - this._readyCapability = (0, _util.createPromiseCapability)(); - this._port = null; - this._webWorker = null; - this._messageHandler = null; - - if (port) { - pdfWorkerPorts.set(port, this); - - this._initializeFromPort(port); - - return; - } - - this._initialize(); + if (port && PDFWorker._workerPorts.has(port)) { + throw new Error("Cannot use more than one PDFWorker per port."); } - _createClass(PDFWorker, [{ - key: "_initializeFromPort", - value: function _initializeFromPort(port) { - this._port = port; - this._messageHandler = new _message_handler.MessageHandler("main", "worker", port); + this.name = name; + this.destroyed = false; + this.verbosity = verbosity; + this._readyCapability = (0, _util.createPromiseCapability)(); + this._port = null; + this._webWorker = null; + this._messageHandler = null; - this._messageHandler.on("ready", function () {}); + if (port) { + PDFWorker._workerPorts.set(port, this); - this._readyCapability.resolve(); - } - }, { - key: "_initialize", - value: function _initialize() { - var _this11 = this; + this._initializeFromPort(port); - if (typeof Worker !== "undefined" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) { - var workerSrc = _getWorkerSrc(); + return; + } - try { - if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) { - workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href); + this._initialize(); + } + + _createClass(PDFWorker, [{ + key: "promise", + get: function get() { + return this._readyCapability.promise; + } + }, { + key: "port", + get: function get() { + return this._port; + } + }, { + key: "messageHandler", + get: function get() { + return this._messageHandler; + } + }, { + key: "_initializeFromPort", + value: function _initializeFromPort(port) { + this._port = port; + this._messageHandler = new _message_handler.MessageHandler("main", "worker", port); + + this._messageHandler.on("ready", function () {}); + + this._readyCapability.resolve(); + } + }, { + key: "_initialize", + value: function _initialize() { + var _this9 = this; + + if (typeof Worker !== "undefined" && !PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) { + var workerSrc = PDFWorker.workerSrc; + + try { + if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) { + workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href); + } + + var worker = new Worker(workerSrc); + var messageHandler = new _message_handler.MessageHandler("main", "worker", worker); + + var terminateEarly = function terminateEarly() { + worker.removeEventListener("error", onWorkerError); + messageHandler.destroy(); + worker.terminate(); + + if (_this9.destroyed) { + _this9._readyCapability.reject(new Error("Worker was destroyed")); + } else { + _this9._setupFakeWorker(); + } + }; + + var onWorkerError = function onWorkerError() { + if (!_this9._webWorker) { + terminateEarly(); + } + }; + + worker.addEventListener("error", onWorkerError); + messageHandler.on("test", function (data) { + worker.removeEventListener("error", onWorkerError); + + if (_this9.destroyed) { + terminateEarly(); + return; } - var worker = new Worker(workerSrc); - var messageHandler = new _message_handler.MessageHandler("main", "worker", worker); + if (data) { + _this9._messageHandler = messageHandler; + _this9._port = worker; + _this9._webWorker = worker; + + _this9._readyCapability.resolve(); + + messageHandler.send("configure", { + verbosity: _this9.verbosity + }); + } else { + _this9._setupFakeWorker(); - var terminateEarly = function terminateEarly() { - worker.removeEventListener("error", onWorkerError); messageHandler.destroy(); worker.terminate(); - - if (_this11.destroyed) { - _this11._readyCapability.reject(new Error("Worker was destroyed")); - } else { - _this11._setupFakeWorker(); - } - }; - - var onWorkerError = function onWorkerError() { - if (!_this11._webWorker) { - terminateEarly(); - } - }; - - worker.addEventListener("error", onWorkerError); - messageHandler.on("test", function (data) { - worker.removeEventListener("error", onWorkerError); - - if (_this11.destroyed) { - terminateEarly(); - return; - } - - if (data) { - _this11._messageHandler = messageHandler; - _this11._port = worker; - _this11._webWorker = worker; - - if (!data.supportTransfers) { - _this11.postMessageTransfers = false; - } - - _this11._readyCapability.resolve(); - - messageHandler.send("configure", { - verbosity: _this11.verbosity - }); - } else { - _this11._setupFakeWorker(); - - messageHandler.destroy(); - worker.terminate(); - } - }); - messageHandler.on("ready", function (data) { - worker.removeEventListener("error", onWorkerError); - - if (_this11.destroyed) { - terminateEarly(); - return; - } - - try { - sendTest(); - } catch (e) { - _this11._setupFakeWorker(); - } - }); - - var sendTest = function sendTest() { - var testObj = new Uint8Array([_this11.postMessageTransfers ? 255 : 0]); - - try { - messageHandler.send("test", testObj, [testObj.buffer]); - } catch (ex) { - (0, _util.warn)("Cannot use postMessage transfers."); - testObj[0] = 0; - messageHandler.send("test", testObj); - } - }; - - sendTest(); - return; - } catch (e) { - (0, _util.info)("The worker has been disabled."); - } - } - - this._setupFakeWorker(); - } - }, { - key: "_setupFakeWorker", - value: function _setupFakeWorker() { - var _this12 = this; - - if (!isWorkerDisabled) { - (0, _util.warn)("Setting up fake worker."); - isWorkerDisabled = true; - } - - setupFakeWorkerGlobal().then(function (WorkerMessageHandler) { - if (_this12.destroyed) { - _this12._readyCapability.reject(new Error("Worker was destroyed")); - - return; - } - - var port = new LoopbackPort(); - _this12._port = port; - var id = "fake" + nextFakeWorkerId++; - var workerHandler = new _message_handler.MessageHandler(id + "_worker", id, port); - WorkerMessageHandler.setup(workerHandler, port); - var messageHandler = new _message_handler.MessageHandler(id, id + "_worker", port); - _this12._messageHandler = messageHandler; - - _this12._readyCapability.resolve(); - - messageHandler.send("configure", { - verbosity: _this12.verbosity + } }); - })["catch"](function (reason) { - _this12._readyCapability.reject(new Error("Setting up fake worker failed: \"".concat(reason.message, "\"."))); + messageHandler.on("ready", function (data) { + worker.removeEventListener("error", onWorkerError); + + if (_this9.destroyed) { + terminateEarly(); + return; + } + + try { + sendTest(); + } catch (e) { + _this9._setupFakeWorker(); + } + }); + + var sendTest = function sendTest() { + var testObj = new Uint8Array([255]); + + try { + messageHandler.send("test", testObj, [testObj.buffer]); + } catch (ex) { + (0, _util.warn)("Cannot use postMessage transfers."); + testObj[0] = 0; + messageHandler.send("test", testObj); + } + }; + + sendTest(); + return; + } catch (e) { + (0, _util.info)("The worker has been disabled."); + } + } + + this._setupFakeWorker(); + } + }, { + key: "_setupFakeWorker", + value: function _setupFakeWorker() { + var _this10 = this; + + if (!PDFWorkerUtil.isWorkerDisabled) { + (0, _util.warn)("Setting up fake worker."); + PDFWorkerUtil.isWorkerDisabled = true; + } + + PDFWorker._setupFakeWorkerGlobal.then(function (WorkerMessageHandler) { + if (_this10.destroyed) { + _this10._readyCapability.reject(new Error("Worker was destroyed")); + + return; + } + + var port = new LoopbackPort(); + _this10._port = port; + var id = "fake".concat(PDFWorkerUtil.fakeWorkerId++); + var workerHandler = new _message_handler.MessageHandler(id + "_worker", id, port); + WorkerMessageHandler.setup(workerHandler, port); + var messageHandler = new _message_handler.MessageHandler(id, id + "_worker", port); + _this10._messageHandler = messageHandler; + + _this10._readyCapability.resolve(); + + messageHandler.send("configure", { + verbosity: _this10.verbosity }); + })["catch"](function (reason) { + _this10._readyCapability.reject(new Error("Setting up fake worker failed: \"".concat(reason.message, "\"."))); + }); + } + }, { + key: "destroy", + value: function destroy() { + this.destroyed = true; + + if (this._webWorker) { + this._webWorker.terminate(); + + this._webWorker = null; } - }, { - key: "destroy", - value: function destroy() { - this.destroyed = true; - if (this._webWorker) { - this._webWorker.terminate(); + PDFWorker._workerPorts["delete"](this._port); - this._webWorker = null; + this._port = null; + + if (this._messageHandler) { + this._messageHandler.destroy(); + + this._messageHandler = null; + } + } + }], [{ + key: "_workerPorts", + get: function get() { + return (0, _util.shadow)(this, "_workerPorts", new WeakMap()); + } + }, { + key: "fromPort", + value: function fromPort(params) { + if (!(params !== null && params !== void 0 && params.port)) { + throw new Error("PDFWorker.fromPort - invalid method signature."); + } + + if (this._workerPorts.has(params.port)) { + return this._workerPorts.get(params.port); + } + + return new PDFWorker(params); + } + }, { + key: "workerSrc", + get: function get() { + if (_worker_options.GlobalWorkerOptions.workerSrc) { + return _worker_options.GlobalWorkerOptions.workerSrc; + } + + if (PDFWorkerUtil.fallbackWorkerSrc !== null) { + if (!_is_node.isNodeJS) { + (0, _display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.'); } - pdfWorkerPorts["delete"](this._port); - this._port = null; + return PDFWorkerUtil.fallbackWorkerSrc; + } - if (this._messageHandler) { - this._messageHandler.destroy(); + throw new Error('No "GlobalWorkerOptions.workerSrc" specified.'); + } + }, { + key: "_mainThreadWorkerMessageHandler", + get: function get() { + try { + var _globalThis$pdfjsWork; - this._messageHandler = null; - } + return ((_globalThis$pdfjsWork = globalThis.pdfjsWorker) === null || _globalThis$pdfjsWork === void 0 ? void 0 : _globalThis$pdfjsWork.WorkerMessageHandler) || null; + } catch (ex) { + return null; } - }, { - key: "promise", - get: function get() { - return this._readyCapability.promise; - } - }, { - key: "port", - get: function get() { - return this._port; - } - }, { - key: "messageHandler", - get: function get() { - return this._messageHandler; - } - }], [{ - key: "fromPort", - value: function fromPort(params) { - if (!params || !params.port) { - throw new Error("PDFWorker.fromPort - invalid method signature."); - } + } + }, { + key: "_setupFakeWorkerGlobal", + get: function get() { + var _this11 = this; - if (pdfWorkerPorts.has(params.port)) { - return pdfWorkerPorts.get(params.port); - } + var loader = /*#__PURE__*/function () { + var _ref15 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() { + var mainWorkerMessageHandler, worker; + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + mainWorkerMessageHandler = _this11._mainThreadWorkerMessageHandler; - return new PDFWorker(params); - } - }, { - key: "getWorkerSrc", - value: function getWorkerSrc() { - return _getWorkerSrc(); - } - }]); + if (!mainWorkerMessageHandler) { + _context4.next = 3; + break; + } - return PDFWorker; - }(); + return _context4.abrupt("return", mainWorkerMessageHandler); + + case 3: + if (!(_is_node.isNodeJS && typeof require === "function")) { + _context4.next = 6; + break; + } + + worker = eval("require")(_this11.workerSrc); + return _context4.abrupt("return", worker.WorkerMessageHandler); + + case 6: + _context4.next = 8; + return (0, _display_utils.loadScript)(_this11.workerSrc); + + case 8: + return _context4.abrupt("return", window.pdfjsWorker.WorkerMessageHandler); + + case 9: + case "end": + return _context4.stop(); + } + } + }, _callee4); + })); + + return function loader() { + return _ref15.apply(this, arguments); + }; + }(); + + return (0, _util.shadow)(this, "_setupFakeWorkerGlobal", loader()); + } + }]); return PDFWorker; }(); exports.PDFWorker = PDFWorker; +{ + PDFWorker.getWorkerSrc = function () { + (0, _display_utils.deprecated)("`PDFWorker.getWorkerSrc()`, please use `PDFWorker.workerSrc` instead."); + return this.workerSrc; + }; +} + +var _docStats = /*#__PURE__*/new WeakMap(); + +var _pageCache = /*#__PURE__*/new WeakMap(); + +var _pagePromises = /*#__PURE__*/new WeakMap(); + +var _metadataPromise = /*#__PURE__*/new WeakMap(); var WorkerTransport = /*#__PURE__*/function () { function WorkerTransport(messageHandler, loadingTask, networkStream, params) { _classCallCheck(this, WorkerTransport); + _classPrivateFieldInitSpec(this, _docStats, { + writable: true, + value: null + }); + + _classPrivateFieldInitSpec(this, _pageCache, { + writable: true, + value: new Map() + }); + + _classPrivateFieldInitSpec(this, _pagePromises, { + writable: true, + value: new Map() + }); + + _classPrivateFieldInitSpec(this, _metadataPromise, { + writable: true, + value: null + }); + this.messageHandler = messageHandler; this.loadingTask = loadingTask; this.commonObjs = new PDFObjects(); this.fontLoader = new _font_loader.FontLoader({ docId: loadingTask.docId, - onUnsupportedFeature: this._onUnsupportedFeature.bind(this) + onUnsupportedFeature: this._onUnsupportedFeature.bind(this), + ownerDocument: params.ownerDocument, + styleElement: params.styleElement }); this._params = params; - this.CMapReaderFactory = new params.CMapReaderFactory({ - baseUrl: params.cMapUrl, - isCompressed: params.cMapPacked - }); + + if (!params.useWorkerFetch) { + this.CMapReaderFactory = new params.CMapReaderFactory({ + baseUrl: params.cMapUrl, + isCompressed: params.cMapPacked + }); + this.StandardFontDataFactory = new params.StandardFontDataFactory({ + baseUrl: params.standardFontDataUrl + }); + } + this.destroyed = false; this.destroyCapability = null; this._passwordCapability = null; this._networkStream = networkStream; this._fullReader = null; this._lastProgress = null; - this.pageCache = []; - this.pagePromises = []; this.downloadInfoCapability = (0, _util.createPromiseCapability)(); this.setupMessageHandler(); } _createClass(WorkerTransport, [{ + key: "annotationStorage", + get: function get() { + return (0, _util.shadow)(this, "annotationStorage", new _annotation_storage.AnnotationStorage()); + } + }, { + key: "stats", + get: function get() { + return _classPrivateFieldGet(this, _docStats); + } + }, { + key: "getRenderingIntent", + value: function getRenderingIntent(intent) { + var annotationMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _util.AnnotationMode.ENABLE; + var isOpList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var renderingIntent = _util.RenderingIntentFlag.DISPLAY; + var lastModified = ""; + + switch (intent) { + case "any": + renderingIntent = _util.RenderingIntentFlag.ANY; + break; + + case "display": + break; + + case "print": + renderingIntent = _util.RenderingIntentFlag.PRINT; + break; + + default: + (0, _util.warn)("getRenderingIntent - invalid intent: ".concat(intent)); + } + + switch (annotationMode) { + case _util.AnnotationMode.DISABLE: + renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE; + break; + + case _util.AnnotationMode.ENABLE: + break; + + case _util.AnnotationMode.ENABLE_FORMS: + renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS; + break; + + case _util.AnnotationMode.ENABLE_STORAGE: + renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE; + lastModified = this.annotationStorage.lastModified; + break; + + default: + (0, _util.warn)("getRenderingIntent - invalid annotationMode: ".concat(annotationMode)); + } + + if (isOpList) { + renderingIntent += _util.RenderingIntentFlag.OPLIST; + } + + return { + renderingIntent: renderingIntent, + cacheKey: "".concat(renderingIntent, "_").concat(lastModified) + }; + } + }, { key: "destroy", value: function destroy() { - var _this13 = this; + var _this12 = this; if (this.destroyCapability) { return this.destroyCapability.promise; @@ -12023,61 +7328,84 @@ var WorkerTransport = /*#__PURE__*/function () { } var waitOn = []; - this.pageCache.forEach(function (page) { - if (page) { + + var _iterator13 = _createForOfIteratorHelper(_classPrivateFieldGet(this, _pageCache).values()), + _step13; + + try { + for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) { + var page = _step13.value; waitOn.push(page._destroy()); } - }); - this.pageCache.length = 0; - this.pagePromises.length = 0; + } catch (err) { + _iterator13.e(err); + } finally { + _iterator13.f(); + } + + _classPrivateFieldGet(this, _pageCache).clear(); + + _classPrivateFieldGet(this, _pagePromises).clear(); + + if (this.hasOwnProperty("annotationStorage")) { + this.annotationStorage.resetModified(); + } + var terminated = this.messageHandler.sendWithPromise("Terminate", null); waitOn.push(terminated); Promise.all(waitOn).then(function () { - _this13.fontLoader.clear(); + _this12.commonObjs.clear(); - if (_this13._networkStream) { - _this13._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated.")); + _this12.fontLoader.clear(); + + _classPrivateFieldSet(_this12, _metadataPromise, null); + + _this12._getFieldObjectsPromise = null; + _this12._hasJSActionsPromise = null; + + if (_this12._networkStream) { + _this12._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated.")); } - if (_this13.messageHandler) { - _this13.messageHandler.destroy(); + if (_this12.messageHandler) { + _this12.messageHandler.destroy(); - _this13.messageHandler = null; + _this12.messageHandler = null; } - _this13.destroyCapability.resolve(); + _this12.destroyCapability.resolve(); }, this.destroyCapability.reject); return this.destroyCapability.promise; } }, { key: "setupMessageHandler", value: function setupMessageHandler() { - var _this14 = this; + var _this13 = this; var messageHandler = this.messageHandler, loadingTask = this.loadingTask; messageHandler.on("GetReader", function (data, sink) { - (0, _util.assert)(_this14._networkStream); - _this14._fullReader = _this14._networkStream.getFullReader(); + (0, _util.assert)(_this13._networkStream, "GetReader - no `IPDFStream` instance available."); + _this13._fullReader = _this13._networkStream.getFullReader(); - _this14._fullReader.onProgress = function (evt) { - _this14._lastProgress = { + _this13._fullReader.onProgress = function (evt) { + _this13._lastProgress = { loaded: evt.loaded, total: evt.total }; }; sink.onPull = function () { - _this14._fullReader.read().then(function (_ref10) { - var value = _ref10.value, - done = _ref10.done; + _this13._fullReader.read().then(function (_ref16) { + var value = _ref16.value, + done = _ref16.done; if (done) { sink.close(); return; } - (0, _util.assert)((0, _util.isArrayBuffer)(value)); + (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetReader - expected an ArrayBuffer."); sink.enqueue(new Uint8Array(value), 1, [value]); })["catch"](function (reason) { sink.error(reason); @@ -12085,25 +7413,35 @@ var WorkerTransport = /*#__PURE__*/function () { }; sink.onCancel = function (reason) { - _this14._fullReader.cancel(reason); + _this13._fullReader.cancel(reason); + + sink.ready["catch"](function (readyReason) { + if (_this13.destroyed) { + return; + } + + throw readyReason; + }); }; }); messageHandler.on("ReaderHeadersReady", function (data) { var headersCapability = (0, _util.createPromiseCapability)(); - var fullReader = _this14._fullReader; + var fullReader = _this13._fullReader; fullReader.headersReady.then(function () { if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) { - if (_this14._lastProgress && loadingTask.onProgress) { - loadingTask.onProgress(_this14._lastProgress); + if (_this13._lastProgress) { + var _loadingTask$onProgre; + + (_loadingTask$onProgre = loadingTask.onProgress) === null || _loadingTask$onProgre === void 0 ? void 0 : _loadingTask$onProgre.call(loadingTask, _this13._lastProgress); } fullReader.onProgress = function (evt) { - if (loadingTask.onProgress) { - loadingTask.onProgress({ - loaded: evt.loaded, - total: evt.total - }); - } + var _loadingTask$onProgre2; + + (_loadingTask$onProgre2 = loadingTask.onProgress) === null || _loadingTask$onProgre2 === void 0 ? void 0 : _loadingTask$onProgre2.call(loadingTask, { + loaded: evt.loaded, + total: evt.total + }); }; } @@ -12116,9 +7454,9 @@ var WorkerTransport = /*#__PURE__*/function () { return headersCapability.promise; }); messageHandler.on("GetRangeReader", function (data, sink) { - (0, _util.assert)(_this14._networkStream); + (0, _util.assert)(_this13._networkStream, "GetRangeReader - no `IPDFStream` instance available."); - var rangeReader = _this14._networkStream.getRangeReader(data.begin, data.end); + var rangeReader = _this13._networkStream.getRangeReader(data.begin, data.end); if (!rangeReader) { sink.close(); @@ -12126,16 +7464,16 @@ var WorkerTransport = /*#__PURE__*/function () { } sink.onPull = function () { - rangeReader.read().then(function (_ref11) { - var value = _ref11.value, - done = _ref11.done; + rangeReader.read().then(function (_ref17) { + var value = _ref17.value, + done = _ref17.done; if (done) { sink.close(); return; } - (0, _util.assert)((0, _util.isArrayBuffer)(value)); + (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetRangeReader - expected an ArrayBuffer."); sink.enqueue(new Uint8Array(value), 1, [value]); })["catch"](function (reason) { sink.error(reason); @@ -12144,13 +7482,22 @@ var WorkerTransport = /*#__PURE__*/function () { sink.onCancel = function (reason) { rangeReader.cancel(reason); + sink.ready["catch"](function (readyReason) { + if (_this13.destroyed) { + return; + } + + throw readyReason; + }); }; }); - messageHandler.on("GetDoc", function (_ref12) { - var pdfInfo = _ref12.pdfInfo; - _this14._numPages = pdfInfo.numPages; + messageHandler.on("GetDoc", function (_ref18) { + var pdfInfo = _ref18.pdfInfo; + _this13._numPages = pdfInfo.numPages; + _this13._htmlForXfa = pdfInfo.htmlForXfa; + delete pdfInfo.htmlForXfa; - loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this14)); + loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this13)); }); messageHandler.on("DocException", function (ex) { var reason; @@ -12175,80 +7522,89 @@ var WorkerTransport = /*#__PURE__*/function () { case "UnknownErrorException": reason = new _util.UnknownErrorException(ex.message, ex.details); break; + + default: + (0, _util.unreachable)("DocException - expected a valid Error."); } loadingTask._capability.reject(reason); }); messageHandler.on("PasswordRequest", function (exception) { - _this14._passwordCapability = (0, _util.createPromiseCapability)(); + _this13._passwordCapability = (0, _util.createPromiseCapability)(); if (loadingTask.onPassword) { var updatePassword = function updatePassword(password) { - _this14._passwordCapability.resolve({ - password: password - }); + if (password instanceof Error) { + _this13._passwordCapability.reject(password); + } else { + _this13._passwordCapability.resolve({ + password: password + }); + } }; try { loadingTask.onPassword(updatePassword, exception.code); } catch (ex) { - _this14._passwordCapability.reject(ex); + _this13._passwordCapability.reject(ex); } } else { - _this14._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code)); + _this13._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code)); } - return _this14._passwordCapability.promise; + return _this13._passwordCapability.promise; }); messageHandler.on("DataLoaded", function (data) { - if (loadingTask.onProgress) { - loadingTask.onProgress({ - loaded: data.length, - total: data.length - }); - } + var _loadingTask$onProgre3; - _this14.downloadInfoCapability.resolve(data); + (_loadingTask$onProgre3 = loadingTask.onProgress) === null || _loadingTask$onProgre3 === void 0 ? void 0 : _loadingTask$onProgre3.call(loadingTask, { + loaded: data.length, + total: data.length + }); + + _this13.downloadInfoCapability.resolve(data); }); messageHandler.on("StartRenderPage", function (data) { - if (_this14.destroyed) { + if (_this13.destroyed) { return; } - var page = _this14.pageCache[data.pageIndex]; + var page = _classPrivateFieldGet(_this13, _pageCache).get(data.pageIndex); - page._startRenderPage(data.transparency, data.intent); + page._startRenderPage(data.transparency, data.cacheKey); }); - messageHandler.on("commonobj", function (data) { - if (_this14.destroyed) { + messageHandler.on("commonobj", function (_ref19) { + var _globalThis$FontInspe; + + var _ref20 = _slicedToArray(_ref19, 3), + id = _ref20[0], + type = _ref20[1], + exportedData = _ref20[2]; + + if (_this13.destroyed) { return; } - var _data = _slicedToArray(data, 3), - id = _data[0], - type = _data[1], - exportedData = _data[2]; - - if (_this14.commonObjs.has(id)) { + if (_this13.commonObjs.has(id)) { return; } switch (type) { case "Font": - var params = _this14._params; + var params = _this13._params; if ("error" in exportedData) { var exportedError = exportedData.error; (0, _util.warn)("Error during font loading: ".concat(exportedError)); - _this14.commonObjs.resolve(id, exportedError); + _this13.commonObjs.resolve(id, exportedError); break; } var fontRegistry = null; - if (params.pdfBug && globalThis.FontInspector && globalThis.FontInspector.enabled) { + if (params.pdfBug && (_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled) { fontRegistry = { registerFont: function registerFont(font, url) { globalThis.FontInspector.fontAdded(font, url); @@ -12260,25 +7616,27 @@ var WorkerTransport = /*#__PURE__*/function () { isEvalSupported: params.isEvalSupported, disableFontFace: params.disableFontFace, ignoreErrors: params.ignoreErrors, - onUnsupportedFeature: _this14._onUnsupportedFeature.bind(_this14), + onUnsupportedFeature: _this13._onUnsupportedFeature.bind(_this13), fontRegistry: fontRegistry }); - _this14.fontLoader.bind(font).then(function () { - _this14.commonObjs.resolve(id, font); - }, function (reason) { - messageHandler.sendWithPromise("FontFallback", { + _this13.fontLoader.bind(font)["catch"](function (reason) { + return messageHandler.sendWithPromise("FontFallback", { id: id - })["finally"](function () { - _this14.commonObjs.resolve(id, font); }); + })["finally"](function () { + if (!params.fontExtraProperties && font.data) { + font.data = null; + } + + _this13.commonObjs.resolve(id, font); }); break; case "FontPath": - case "FontType3Res": - _this14.commonObjs.resolve(id, exportedData); + case "Image": + _this13.commonObjs.resolve(id, exportedData); break; @@ -12286,172 +7644,102 @@ var WorkerTransport = /*#__PURE__*/function () { throw new Error("Got unknown common object type ".concat(type)); } }); - messageHandler.on("obj", function (data) { - if (_this14.destroyed) { - return undefined; + messageHandler.on("obj", function (_ref21) { + var _imageData$data; + + var _ref22 = _slicedToArray(_ref21, 4), + id = _ref22[0], + pageIndex = _ref22[1], + type = _ref22[2], + imageData = _ref22[3]; + + if (_this13.destroyed) { + return; } - var _data2 = _slicedToArray(data, 4), - id = _data2[0], - pageIndex = _data2[1], - type = _data2[2], - imageData = _data2[3]; - - var pageProxy = _this14.pageCache[pageIndex]; + var pageProxy = _classPrivateFieldGet(_this13, _pageCache).get(pageIndex); if (pageProxy.objs.has(id)) { - return undefined; + return; } switch (type) { - case "JpegStream": - return new Promise(function (resolve, reject) { - var img = new Image(); - - img.onload = function () { - resolve(img); - }; - - img.onerror = function () { - reject(new Error("Error during JPEG image loading")); - (0, _display_utils.releaseImageResources)(img); - }; - - img.src = imageData; - }).then(function (img) { - pageProxy.objs.resolve(id, img); - }); - case "Image": pageProxy.objs.resolve(id, imageData); var MAX_IMAGE_SIZE_TO_STORE = 8000000; - if (imageData && "data" in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) { + if ((imageData === null || imageData === void 0 ? void 0 : (_imageData$data = imageData.data) === null || _imageData$data === void 0 ? void 0 : _imageData$data.length) > MAX_IMAGE_SIZE_TO_STORE) { pageProxy.cleanupAfterRender = true; } break; + case "Pattern": + pageProxy.objs.resolve(id, imageData); + break; + default: throw new Error("Got unknown object type ".concat(type)); } - - return undefined; }); messageHandler.on("DocProgress", function (data) { - if (_this14.destroyed) { + var _loadingTask$onProgre4; + + if (_this13.destroyed) { return; } - if (loadingTask.onProgress) { - loadingTask.onProgress({ - loaded: data.loaded, - total: data.total - }); - } - }); - messageHandler.on("UnsupportedFeature", this._onUnsupportedFeature.bind(this)); - messageHandler.on("JpegDecode", function (data) { - if (_this14.destroyed) { - return Promise.reject(new Error("Worker was destroyed")); - } - - if (typeof document === "undefined") { - return Promise.reject(new Error('"document" is not defined.')); - } - - var _data3 = _slicedToArray(data, 2), - imageUrl = _data3[0], - components = _data3[1]; - - if (components !== 3 && components !== 1) { - return Promise.reject(new Error("Only 3 components or 1 component can be returned")); - } - - return new Promise(function (resolve, reject) { - var img = new Image(); - - img.onload = function () { - var width = img.width, - height = img.height; - var size = width * height; - var rgbaLength = size * 4; - var buf = new Uint8ClampedArray(size * components); - var tmpCanvas = document.createElement("canvas"); - tmpCanvas.width = width; - tmpCanvas.height = height; - var tmpCtx = tmpCanvas.getContext("2d"); - tmpCtx.drawImage(img, 0, 0); - var data = tmpCtx.getImageData(0, 0, width, height).data; - - if (components === 3) { - for (var i = 0, j = 0; i < rgbaLength; i += 4, j += 3) { - buf[j] = data[i]; - buf[j + 1] = data[i + 1]; - buf[j + 2] = data[i + 2]; - } - } else if (components === 1) { - for (var _i2 = 0, _j = 0; _i2 < rgbaLength; _i2 += 4, _j++) { - buf[_j] = data[_i2]; - } - } - - resolve({ - data: buf, - width: width, - height: height - }); - (0, _display_utils.releaseImageResources)(img); - tmpCanvas.width = 0; - tmpCanvas.height = 0; - tmpCanvas = null; - tmpCtx = null; - }; - - img.onerror = function () { - reject(new Error("JpegDecode failed to load image")); - (0, _display_utils.releaseImageResources)(img); - }; - - img.src = imageUrl; + (_loadingTask$onProgre4 = loadingTask.onProgress) === null || _loadingTask$onProgre4 === void 0 ? void 0 : _loadingTask$onProgre4.call(loadingTask, { + loaded: data.loaded, + total: data.total }); }); - messageHandler.on("FetchBuiltInCMap", function (data, sink) { - if (_this14.destroyed) { - sink.error(new Error("Worker was destroyed")); + messageHandler.on("DocStats", function (data) { + if (_this13.destroyed) { return; } - var fetched = false; + _classPrivateFieldSet(_this13, _docStats, Object.freeze({ + streamTypes: Object.freeze(data.streamTypes), + fontTypes: Object.freeze(data.fontTypes) + })); + }); + messageHandler.on("UnsupportedFeature", this._onUnsupportedFeature.bind(this)); + messageHandler.on("FetchBuiltInCMap", function (data) { + if (_this13.destroyed) { + return Promise.reject(new Error("Worker was destroyed.")); + } - sink.onPull = function () { - if (fetched) { - sink.close(); - return; - } + if (!_this13.CMapReaderFactory) { + return Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.")); + } - fetched = true; + return _this13.CMapReaderFactory.fetch(data); + }); + messageHandler.on("FetchStandardFontData", function (data) { + if (_this13.destroyed) { + return Promise.reject(new Error("Worker was destroyed.")); + } - _this14.CMapReaderFactory.fetch(data).then(function (builtInCMap) { - sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]); - })["catch"](function (reason) { - sink.error(reason); - }); - }; + if (!_this13.StandardFontDataFactory) { + return Promise.reject(new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.")); + } + + return _this13.StandardFontDataFactory.fetch(data); }); } }, { key: "_onUnsupportedFeature", - value: function _onUnsupportedFeature(_ref13) { - var featureId = _ref13.featureId; + value: function _onUnsupportedFeature(_ref23) { + var _this$loadingTask$onU, _this$loadingTask; + + var featureId = _ref23.featureId; if (this.destroyed) { return; } - if (this.loadingTask.onUnsupportedFeature) { - this.loadingTask.onUnsupportedFeature(featureId); - } + (_this$loadingTask$onU = (_this$loadingTask = this.loadingTask).onUnsupportedFeature) === null || _this$loadingTask$onU === void 0 ? void 0 : _this$loadingTask$onU.call(_this$loadingTask, featureId); } }, { key: "getData", @@ -12461,39 +7749,47 @@ var WorkerTransport = /*#__PURE__*/function () { }, { key: "getPage", value: function getPage(pageNumber) { - var _this15 = this; + var _this14 = this; if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) { - return Promise.reject(new Error("Invalid page request")); + return Promise.reject(new Error("Invalid page request.")); } - var pageIndex = pageNumber - 1; + var pageIndex = pageNumber - 1, + cachedPromise = _classPrivateFieldGet(this, _pagePromises).get(pageIndex); - if (pageIndex in this.pagePromises) { - return this.pagePromises[pageIndex]; + if (cachedPromise) { + return cachedPromise; } var promise = this.messageHandler.sendWithPromise("GetPage", { pageIndex: pageIndex }).then(function (pageInfo) { - if (_this15.destroyed) { + if (_this14.destroyed) { throw new Error("Transport destroyed"); } - var page = new PDFPageProxy(pageIndex, pageInfo, _this15, _this15._params.pdfBug); - _this15.pageCache[pageIndex] = page; + var page = new PDFPageProxy(pageIndex, pageInfo, _this14, _this14._params.ownerDocument, _this14._params.pdfBug); + + _classPrivateFieldGet(_this14, _pageCache).set(pageIndex, page); + return page; }); - this.pagePromises[pageIndex] = promise; + + _classPrivateFieldGet(this, _pagePromises).set(pageIndex, promise); + return promise; } }, { key: "getPageIndex", value: function getPageIndex(ref) { + if (_typeof(ref) !== "object" || ref === null || !Number.isInteger(ref.num) || ref.num < 0 || !Number.isInteger(ref.gen) || ref.gen < 0) { + return Promise.reject(new Error("Invalid pageIndex request.")); + } + return this.messageHandler.sendWithPromise("GetPageIndex", { - ref: ref - })["catch"](function (reason) { - return Promise.reject(new Error(reason)); + num: ref.num, + gen: ref.gen }); } }, { @@ -12504,6 +7800,37 @@ var WorkerTransport = /*#__PURE__*/function () { intent: intent }); } + }, { + key: "saveDocument", + value: function saveDocument() { + var _this$_fullReader$fil, + _this$_fullReader, + _this15 = this; + + return this.messageHandler.sendWithPromise("SaveDocument", { + isPureXfa: !!this._htmlForXfa, + numPages: this._numPages, + annotationStorage: this.annotationStorage.serializable, + filename: (_this$_fullReader$fil = (_this$_fullReader = this._fullReader) === null || _this$_fullReader === void 0 ? void 0 : _this$_fullReader.filename) !== null && _this$_fullReader$fil !== void 0 ? _this$_fullReader$fil : null + })["finally"](function () { + _this15.annotationStorage.resetModified(); + }); + } + }, { + key: "getFieldObjects", + value: function getFieldObjects() { + return this._getFieldObjectsPromise || (this._getFieldObjectsPromise = this.messageHandler.sendWithPromise("GetFieldObjects", null)); + } + }, { + key: "hasJSActions", + value: function hasJSActions() { + return this._hasJSActionsPromise || (this._hasJSActionsPromise = this.messageHandler.sendWithPromise("HasJSActions", null)); + } + }, { + key: "getCalculationOrderIds", + value: function getCalculationOrderIds() { + return this.messageHandler.sendWithPromise("GetCalculationOrderIds", null); + } }, { key: "getDestinations", value: function getDestinations() { @@ -12555,11 +7882,37 @@ var WorkerTransport = /*#__PURE__*/function () { value: function getJavaScript() { return this.messageHandler.sendWithPromise("GetJavaScript", null); } + }, { + key: "getDocJSActions", + value: function getDocJSActions() { + return this.messageHandler.sendWithPromise("GetDocJSActions", null); + } + }, { + key: "getPageJSActions", + value: function getPageJSActions(pageIndex) { + return this.messageHandler.sendWithPromise("GetPageJSActions", { + pageIndex: pageIndex + }); + } + }, { + key: "getStructTree", + value: function getStructTree(pageIndex) { + return this.messageHandler.sendWithPromise("GetStructTree", { + pageIndex: pageIndex + }); + } }, { key: "getOutline", value: function getOutline() { return this.messageHandler.sendWithPromise("GetOutline", null); } + }, { + key: "getOptionalContentConfig", + value: function getOptionalContentConfig() { + return this.messageHandler.sendWithPromise("GetOptionalContentConfig", null).then(function (results) { + return new _optional_content_config.OptionalContentConfig(results); + }); + } }, { key: "getPermissions", value: function getPermissions() { @@ -12570,51 +7923,125 @@ var WorkerTransport = /*#__PURE__*/function () { value: function getMetadata() { var _this16 = this; - return this.messageHandler.sendWithPromise("GetMetadata", null).then(function (results) { + return _classPrivateFieldGet(this, _metadataPromise) || _classPrivateFieldSet(this, _metadataPromise, this.messageHandler.sendWithPromise("GetMetadata", null).then(function (results) { + var _this16$_fullReader$f, _this16$_fullReader, _this16$_fullReader$c, _this16$_fullReader2; + return { info: results[0], metadata: results[1] ? new _metadata.Metadata(results[1]) : null, - contentDispositionFilename: _this16._fullReader ? _this16._fullReader.filename : null + contentDispositionFilename: (_this16$_fullReader$f = (_this16$_fullReader = _this16._fullReader) === null || _this16$_fullReader === void 0 ? void 0 : _this16$_fullReader.filename) !== null && _this16$_fullReader$f !== void 0 ? _this16$_fullReader$f : null, + contentLength: (_this16$_fullReader$c = (_this16$_fullReader2 = _this16._fullReader) === null || _this16$_fullReader2 === void 0 ? void 0 : _this16$_fullReader2.contentLength) !== null && _this16$_fullReader$c !== void 0 ? _this16$_fullReader$c : null }; - }); + })); } }, { - key: "getStats", - value: function getStats() { - return this.messageHandler.sendWithPromise("GetStats", null); + key: "getMarkInfo", + value: function getMarkInfo() { + return this.messageHandler.sendWithPromise("GetMarkInfo", null); } }, { key: "startCleanup", - value: function startCleanup() { - var _this17 = this; + value: function () { + var _startCleanup = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5() { + var keepLoadedFonts, + _iterator14, + _step14, + page, + cleanupSuccessful, + _args5 = arguments; - return this.messageHandler.sendWithPromise("Cleanup", null).then(function () { - for (var i = 0, ii = _this17.pageCache.length; i < ii; i++) { - var page = _this17.pageCache[i]; + return _regenerator["default"].wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + keepLoadedFonts = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : false; + _context5.next = 3; + return this.messageHandler.sendWithPromise("Cleanup", null); - if (page) { - var cleanupSuccessful = page.cleanup(); + case 3: + if (!this.destroyed) { + _context5.next = 5; + break; + } - if (!cleanupSuccessful) { - throw new Error("startCleanup: Page ".concat(i + 1, " is currently rendering.")); + return _context5.abrupt("return"); + + case 5: + _iterator14 = _createForOfIteratorHelper(_classPrivateFieldGet(this, _pageCache).values()); + _context5.prev = 6; + + _iterator14.s(); + + case 8: + if ((_step14 = _iterator14.n()).done) { + _context5.next = 15; + break; + } + + page = _step14.value; + cleanupSuccessful = page.cleanup(); + + if (cleanupSuccessful) { + _context5.next = 13; + break; + } + + throw new Error("startCleanup: Page ".concat(page.pageNumber, " is currently rendering.")); + + case 13: + _context5.next = 8; + break; + + case 15: + _context5.next = 20; + break; + + case 17: + _context5.prev = 17; + _context5.t0 = _context5["catch"](6); + + _iterator14.e(_context5.t0); + + case 20: + _context5.prev = 20; + + _iterator14.f(); + + return _context5.finish(20); + + case 23: + this.commonObjs.clear(); + + if (!keepLoadedFonts) { + this.fontLoader.clear(); + } + + _classPrivateFieldSet(this, _metadataPromise, null); + + this._getFieldObjectsPromise = null; + this._hasJSActionsPromise = null; + + case 28: + case "end": + return _context5.stop(); } } - } + }, _callee5, this, [[6, 17, 20, 23]]); + })); - _this17.commonObjs.clear(); + function startCleanup() { + return _startCleanup.apply(this, arguments); + } - _this17.fontLoader.clear(); - }); - } + return startCleanup; + }() }, { key: "loadingParams", get: function get() { var params = this._params; return (0, _util.shadow)(this, "loadingParams", { disableAutoFetch: params.disableAutoFetch, - disableCreateObjectURL: params.disableCreateObjectURL, - disableFontFace: params.disableFontFace, - nativeImageDecoderSupport: params.nativeImageDecoderSupport + enableXfa: params.enableXfa }); } }]); @@ -12622,40 +8049,40 @@ var WorkerTransport = /*#__PURE__*/function () { return WorkerTransport; }(); +var _objs = /*#__PURE__*/new WeakMap(); + +var _ensureObj = /*#__PURE__*/new WeakSet(); + var PDFObjects = /*#__PURE__*/function () { function PDFObjects() { _classCallCheck(this, PDFObjects); - this._objs = Object.create(null); + _classPrivateMethodInitSpec(this, _ensureObj); + + _classPrivateFieldInitSpec(this, _objs, { + writable: true, + value: Object.create(null) + }); } _createClass(PDFObjects, [{ - key: "_ensureObj", - value: function _ensureObj(objId) { - if (this._objs[objId]) { - return this._objs[objId]; - } - - return this._objs[objId] = { - capability: (0, _util.createPromiseCapability)(), - data: null, - resolved: false - }; - } - }, { key: "get", value: function get(objId) { var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; if (callback) { - this._ensureObj(objId).capability.promise.then(callback); + var _obj = _classPrivateMethodGet(this, _ensureObj, _ensureObj2).call(this, objId); + + _obj.capability.promise.then(function () { + return callback(_obj.data); + }); return null; } - var obj = this._objs[objId]; + var obj = _classPrivateFieldGet(this, _objs)[objId]; - if (!obj || !obj.resolved) { + if (!(obj !== null && obj !== void 0 && obj.capability.settled)) { throw new Error("Requesting object that isn't resolved yet ".concat(objId, ".")); } @@ -12664,36 +8091,43 @@ var PDFObjects = /*#__PURE__*/function () { }, { key: "has", value: function has(objId) { - var obj = this._objs[objId]; - return obj ? obj.resolved : false; + var obj = _classPrivateFieldGet(this, _objs)[objId]; + + return (obj === null || obj === void 0 ? void 0 : obj.capability.settled) || false; } }, { key: "resolve", - value: function resolve(objId, data) { - var obj = this._ensureObj(objId); + value: function resolve(objId) { + var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + + var obj = _classPrivateMethodGet(this, _ensureObj, _ensureObj2).call(this, objId); - obj.resolved = true; obj.data = data; - obj.capability.resolve(data); + obj.capability.resolve(); } }, { key: "clear", value: function clear() { - for (var objId in this._objs) { - var data = this._objs[objId].data; - - if (typeof Image !== "undefined" && data instanceof Image) { - (0, _display_utils.releaseImageResources)(data); - } - } - - this._objs = Object.create(null); + _classPrivateFieldSet(this, _objs, Object.create(null)); } }]); return PDFObjects; }(); +function _ensureObj2(objId) { + var obj = _classPrivateFieldGet(this, _objs)[objId]; + + if (obj) { + return obj; + } + + return _classPrivateFieldGet(this, _objs)[objId] = { + capability: (0, _util.createPromiseCapability)(), + data: null + }; +} + var RenderTask = /*#__PURE__*/function () { function RenderTask(internalRenderTask) { _classCallCheck(this, RenderTask); @@ -12703,253 +8137,260 @@ var RenderTask = /*#__PURE__*/function () { } _createClass(RenderTask, [{ - key: "cancel", - value: function cancel() { - this._internalRenderTask.cancel(); - } - }, { - key: "then", - value: function then(onFulfilled, onRejected) { - throw new Error("Removed API method: " + "RenderTask.then, use the `promise` getter instead."); - } - }, { key: "promise", get: function get() { return this._internalRenderTask.capability.promise; } + }, { + key: "cancel", + value: function cancel() { + this._internalRenderTask.cancel(); + } }]); return RenderTask; }(); -var InternalRenderTask = function InternalRenderTaskClosure() { - var canvasInRendering = new WeakSet(); +exports.RenderTask = RenderTask; - var InternalRenderTask = /*#__PURE__*/function () { - function InternalRenderTask(_ref14) { - var callback = _ref14.callback, - params = _ref14.params, - objs = _ref14.objs, - commonObjs = _ref14.commonObjs, - operatorList = _ref14.operatorList, - pageIndex = _ref14.pageIndex, - canvasFactory = _ref14.canvasFactory, - webGLContext = _ref14.webGLContext, - _ref14$useRequestAnim = _ref14.useRequestAnimationFrame, - useRequestAnimationFrame = _ref14$useRequestAnim === void 0 ? false : _ref14$useRequestAnim, - _ref14$pdfBug = _ref14.pdfBug, - pdfBug = _ref14$pdfBug === void 0 ? false : _ref14$pdfBug; +var InternalRenderTask = /*#__PURE__*/function () { + function InternalRenderTask(_ref24) { + var callback = _ref24.callback, + params = _ref24.params, + objs = _ref24.objs, + commonObjs = _ref24.commonObjs, + annotationCanvasMap = _ref24.annotationCanvasMap, + operatorList = _ref24.operatorList, + pageIndex = _ref24.pageIndex, + canvasFactory = _ref24.canvasFactory, + _ref24$useRequestAnim = _ref24.useRequestAnimationFrame, + useRequestAnimationFrame = _ref24$useRequestAnim === void 0 ? false : _ref24$useRequestAnim, + _ref24$pdfBug = _ref24.pdfBug, + pdfBug = _ref24$pdfBug === void 0 ? false : _ref24$pdfBug; - _classCallCheck(this, InternalRenderTask); + _classCallCheck(this, InternalRenderTask); - this.callback = callback; - this.params = params; - this.objs = objs; - this.commonObjs = commonObjs; - this.operatorListIdx = null; - this.operatorList = operatorList; - this._pageIndex = pageIndex; - this.canvasFactory = canvasFactory; - this.webGLContext = webGLContext; - this._pdfBug = pdfBug; - this.running = false; - this.graphicsReadyCallback = null; - this.graphicsReady = false; - this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined"; - this.cancelled = false; - this.capability = (0, _util.createPromiseCapability)(); - this.task = new RenderTask(this); - this._continueBound = this._continue.bind(this); - this._scheduleNextBound = this._scheduleNext.bind(this); - this._nextBound = this._next.bind(this); - this._canvas = params.canvasContext.canvas; + this.callback = callback; + this.params = params; + this.objs = objs; + this.commonObjs = commonObjs; + this.annotationCanvasMap = annotationCanvasMap; + this.operatorListIdx = null; + this.operatorList = operatorList; + this._pageIndex = pageIndex; + this.canvasFactory = canvasFactory; + this._pdfBug = pdfBug; + this.running = false; + this.graphicsReadyCallback = null; + this.graphicsReady = false; + this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined"; + this.cancelled = false; + this.capability = (0, _util.createPromiseCapability)(); + this.task = new RenderTask(this); + this._cancelBound = this.cancel.bind(this); + this._continueBound = this._continue.bind(this); + this._scheduleNextBound = this._scheduleNext.bind(this); + this._nextBound = this._next.bind(this); + this._canvas = params.canvasContext.canvas; + } + + _createClass(InternalRenderTask, [{ + key: "completed", + get: function get() { + return this.capability.promise["catch"](function () {}); } + }, { + key: "initializeGraphics", + value: function initializeGraphics(_ref25) { + var _globalThis$StepperMa; - _createClass(InternalRenderTask, [{ - key: "initializeGraphics", - value: function initializeGraphics() { - var transparency = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var _ref25$transparency = _ref25.transparency, + transparency = _ref25$transparency === void 0 ? false : _ref25$transparency, + optionalContentConfig = _ref25.optionalContentConfig; - if (this.cancelled) { - return; + if (this.cancelled) { + return; + } + + if (this._canvas) { + if (InternalRenderTask.canvasInUse.has(this._canvas)) { + throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use different canvas or ensure previous operations were " + "cancelled or completed."); } - if (this._canvas) { - if (canvasInRendering.has(this._canvas)) { - throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use different canvas or ensure previous operations were " + "cancelled or completed."); - } + InternalRenderTask.canvasInUse.add(this._canvas); + } - canvasInRendering.add(this._canvas); + if (this._pdfBug && (_globalThis$StepperMa = globalThis.StepperManager) !== null && _globalThis$StepperMa !== void 0 && _globalThis$StepperMa.enabled) { + this.stepper = globalThis.StepperManager.create(this._pageIndex); + this.stepper.init(this.operatorList); + this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint(); + } + + var _this$params = this.params, + canvasContext = _this$params.canvasContext, + viewport = _this$params.viewport, + transform = _this$params.transform, + imageLayer = _this$params.imageLayer, + background = _this$params.background; + this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, imageLayer, optionalContentConfig, this.annotationCanvasMap); + this.gfx.beginDrawing({ + transform: transform, + viewport: viewport, + transparency: transparency, + background: background + }); + this.operatorListIdx = 0; + this.graphicsReady = true; + + if (this.graphicsReadyCallback) { + this.graphicsReadyCallback(); + } + } + }, { + key: "cancel", + value: function cancel() { + var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + this.running = false; + this.cancelled = true; + + if (this.gfx) { + this.gfx.endDrawing(); + } + + if (this._canvas) { + InternalRenderTask.canvasInUse["delete"](this._canvas); + } + + this.callback(error || new _display_utils.RenderingCancelledException("Rendering cancelled, page ".concat(this._pageIndex + 1), "canvas")); + } + }, { + key: "operatorListChanged", + value: function operatorListChanged() { + if (!this.graphicsReady) { + if (!this.graphicsReadyCallback) { + this.graphicsReadyCallback = this._continueBound; } - if (this._pdfBug && globalThis.StepperManager && globalThis.StepperManager.enabled) { - this.stepper = globalThis.StepperManager.create(this._pageIndex); - this.stepper.init(this.operatorList); - this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint(); - } + return; + } - var _this$params = this.params, - canvasContext = _this$params.canvasContext, - viewport = _this$params.viewport, - transform = _this$params.transform, - imageLayer = _this$params.imageLayer, - background = _this$params.background; - this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer); - this.gfx.beginDrawing({ - transform: transform, - viewport: viewport, - transparency: transparency, - background: background + if (this.stepper) { + this.stepper.updateOperatorList(this.operatorList); + } + + if (this.running) { + return; + } + + this._continue(); + } + }, { + key: "_continue", + value: function _continue() { + this.running = true; + + if (this.cancelled) { + return; + } + + if (this.task.onContinue) { + this.task.onContinue(this._scheduleNextBound); + } else { + this._scheduleNext(); + } + } + }, { + key: "_scheduleNext", + value: function _scheduleNext() { + var _this17 = this; + + if (this._useRequestAnimationFrame) { + window.requestAnimationFrame(function () { + _this17._nextBound()["catch"](_this17._cancelBound); }); - this.operatorListIdx = 0; - this.graphicsReady = true; - - if (this.graphicsReadyCallback) { - this.graphicsReadyCallback(); - } + } else { + Promise.resolve().then(this._nextBound)["catch"](this._cancelBound); } - }, { - key: "cancel", - value: function cancel() { - var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - this.running = false; - this.cancelled = true; + } + }, { + key: "_next", + value: function () { + var _next2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6() { + return _regenerator["default"].wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + if (!this.cancelled) { + _context6.next = 2; + break; + } - if (this.gfx) { - this.gfx.endDrawing(); - } + return _context6.abrupt("return"); - if (this._canvas) { - canvasInRendering["delete"](this._canvas); - } + case 2: + this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper); - this.callback(error || new _display_utils.RenderingCancelledException("Rendering cancelled, page ".concat(this._pageIndex + 1), "canvas")); - } - }, { - key: "operatorListChanged", - value: function operatorListChanged() { - if (!this.graphicsReady) { - if (!this.graphicsReadyCallback) { - this.graphicsReadyCallback = this._continueBound; - } + if (this.operatorListIdx === this.operatorList.argsArray.length) { + this.running = false; - return; - } + if (this.operatorList.lastChunk) { + this.gfx.endDrawing(); - if (this.stepper) { - this.stepper.updateOperatorList(this.operatorList); - } - - if (this.running) { - return; - } - - this._continue(); - } - }, { - key: "_continue", - value: function _continue() { - this.running = true; - - if (this.cancelled) { - return; - } - - if (this.task.onContinue) { - this.task.onContinue(this._scheduleNextBound); - } else { - this._scheduleNext(); - } - } - }, { - key: "_scheduleNext", - value: function _scheduleNext() { - var _this18 = this; - - if (this._useRequestAnimationFrame) { - window.requestAnimationFrame(function () { - _this18._nextBound()["catch"](_this18.cancel.bind(_this18)); - }); - } else { - Promise.resolve().then(this._nextBound)["catch"](this.cancel.bind(this)); - } - } - }, { - key: "_next", - value: function () { - var _next2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { - return _regenerator["default"].wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - if (!this.cancelled) { - _context2.next = 2; - break; - } - - return _context2.abrupt("return"); - - case 2: - this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper); - - if (this.operatorListIdx === this.operatorList.argsArray.length) { - this.running = false; - - if (this.operatorList.lastChunk) { - this.gfx.endDrawing(); - - if (this._canvas) { - canvasInRendering["delete"](this._canvas); - } - - this.callback(); + if (this._canvas) { + InternalRenderTask.canvasInUse["delete"](this._canvas); } + + this.callback(); } + } - case 4: - case "end": - return _context2.stop(); - } + case 4: + case "end": + return _context6.stop(); } - }, _callee2, this); - })); + } + }, _callee6, this); + })); - function _next() { - return _next2.apply(this, arguments); - } + function _next() { + return _next2.apply(this, arguments); + } - return _next; - }() - }]); - - return InternalRenderTask; - }(); + return _next; + }() + }], [{ + key: "canvasInUse", + get: function get() { + return (0, _util.shadow)(this, "canvasInUse", new WeakSet()); + } + }]); return InternalRenderTask; }(); -var version = '2.4.456'; +var version = '2.14.44'; exports.version = version; -var build = '228a591c'; +var build = '90c5e9882'; exports.build = build; /***/ }), -/* 191 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 144 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { "use strict"; -module.exports = __w_pdfjs_require__(192); +module.exports = __w_pdfjs_require__(145); /***/ }), -/* 192 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 145 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { "use strict"; -/* WEBPACK VAR INJECTION */(function(module) { +/* module decorator */ module = __w_pdfjs_require__.nmd(module); -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } var runtime = function (exports) { "use strict"; @@ -12962,6 +8403,24 @@ var runtime = function (exports) { var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; + function define(obj, key, value) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + return obj[key]; + } + + try { + define({}, ""); + } catch (err) { + define = function define(obj, key, value) { + return obj[key] = value; + }; + } + function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; var generator = Object.create(protoGenerator.prototype); @@ -12999,11 +8458,9 @@ var runtime = function (exports) { function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; - - IteratorPrototype[iteratorSymbol] = function () { + define(IteratorPrototype, iteratorSymbol, function () { return this; - }; - + }); var getProto = Object.getPrototypeOf; var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); @@ -13012,15 +8469,16 @@ var runtime = function (exports) { } var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); - GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; - GeneratorFunctionPrototype.constructor = GeneratorFunction; - GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction"; + GeneratorFunction.prototype = GeneratorFunctionPrototype; + define(Gp, "constructor", GeneratorFunctionPrototype); + define(GeneratorFunctionPrototype, "constructor", GeneratorFunction); + GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { - prototype[method] = function (arg) { + define(prototype, method, function (arg) { return this._invoke(method, arg); - }; + }); }); } @@ -13034,10 +8492,7 @@ var runtime = function (exports) { Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); } else { genFun.__proto__ = GeneratorFunctionPrototype; - - if (!(toStringTagSymbol in genFun)) { - genFun[toStringTagSymbol] = "GeneratorFunction"; - } + define(genFun, toStringTagSymbol, "GeneratorFunction"); } genFun.prototype = Object.create(Gp); @@ -13093,11 +8548,9 @@ var runtime = function (exports) { } defineIteratorMethods(AsyncIterator.prototype); - - AsyncIterator.prototype[asyncIteratorSymbol] = function () { + define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; - }; - + }); exports.AsyncIterator = AsyncIterator; exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { @@ -13233,15 +8686,13 @@ var runtime = function (exports) { } defineIteratorMethods(Gp); - Gp[toStringTagSymbol] = "Generator"; - - Gp[iteratorSymbol] = function () { + define(Gp, toStringTagSymbol, "Generator"); + define(Gp, iteratorSymbol, function () { return this; - }; - - Gp.toString = function () { + }); + define(Gp, "toString", function () { return "[object Generator]"; - }; + }); function pushTryEntry(locs) { var entry = { @@ -13515,371 +8966,320 @@ var runtime = function (exports) { } }; return exports; -}(( false ? undefined : _typeof(module)) === "object" ? module.exports : {}); +}(( false ? 0 : _typeof(module)) === "object" ? module.exports : {}); try { regeneratorRuntime = runtime; } catch (accidentalStrictMode) { - Function("r", "regeneratorRuntime = r")(runtime); -} -/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(193)(module))) - -/***/ }), -/* 193 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -module.exports = function (module) { - if (!module.webpackPolyfill) { - module.deprecate = function () {}; - - module.paths = []; - if (!module.children) module.children = []; - Object.defineProperty(module, "loaded", { - enumerable: true, - get: function get() { - return module.l; - } - }); - Object.defineProperty(module, "id", { - enumerable: true, - get: function get() { - return module.i; - } - }); - module.webpackPolyfill = 1; + if ((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === "object") { + globalThis.regeneratorRuntime = runtime; + } else { + Function("r", "regeneratorRuntime = r")(runtime); } - - return module; -}; +} /***/ }), -/* 194 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 146 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ value: true -}); -exports.addLinkAttributes = addLinkAttributes; +})); +exports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PageViewport = exports.PDFDateString = exports.DOMStandardFontDataFactory = exports.DOMSVGFactory = exports.DOMCanvasFactory = exports.DOMCMapReaderFactory = void 0; +exports.deprecated = deprecated; exports.getFilenameFromUrl = getFilenameFromUrl; -exports.isFetchSupported = isFetchSupported; +exports.getPdfFilenameFromUrl = getPdfFilenameFromUrl; +exports.getXfaPageViewport = getXfaPageViewport; +exports.isDataScheme = isDataScheme; +exports.isPdfFile = isPdfFile; exports.isValidFetchUrl = isValidFetchUrl; exports.loadScript = loadScript; -exports.deprecated = deprecated; -exports.releaseImageResources = releaseImageResources; -exports.PDFDateString = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0; -var _regenerator = _interopRequireDefault(__w_pdfjs_require__(191)); +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); + +var _base_factory = __w_pdfjs_require__(147); var _util = __w_pdfjs_require__(1); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -var DEFAULT_LINK_REL = "noopener noreferrer nofollow"; -exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL; var SVG_NS = "http://www.w3.org/2000/svg"; -var DOMCanvasFactory = /*#__PURE__*/function () { +var PixelsPerInch = /*#__PURE__*/_createClass(function PixelsPerInch() { + _classCallCheck(this, PixelsPerInch); +}); + +exports.PixelsPerInch = PixelsPerInch; + +_defineProperty(PixelsPerInch, "CSS", 96.0); + +_defineProperty(PixelsPerInch, "PDF", 72.0); + +_defineProperty(PixelsPerInch, "PDF_TO_CSS_UNITS", PixelsPerInch.CSS / PixelsPerInch.PDF); + +var DOMCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) { + _inherits(DOMCanvasFactory, _BaseCanvasFactory); + + var _super = _createSuper(DOMCanvasFactory); + function DOMCanvasFactory() { + var _this; + + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref$ownerDocument = _ref.ownerDocument, + ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument; + _classCallCheck(this, DOMCanvasFactory); + + _this = _super.call(this); + _this._document = ownerDocument; + return _this; } _createClass(DOMCanvasFactory, [{ - key: "create", - value: function create(width, height) { - if (width <= 0 || height <= 0) { - throw new Error("Invalid canvas size"); - } + key: "_createCanvas", + value: function _createCanvas(width, height) { + var canvas = this._document.createElement("canvas"); - var canvas = document.createElement("canvas"); - var context = canvas.getContext("2d"); canvas.width = width; canvas.height = height; - return { - canvas: canvas, - context: context - }; - } - }, { - key: "reset", - value: function reset(canvasAndContext, width, height) { - if (!canvasAndContext.canvas) { - throw new Error("Canvas is not specified"); - } - - if (width <= 0 || height <= 0) { - throw new Error("Invalid canvas size"); - } - - canvasAndContext.canvas.width = width; - canvasAndContext.canvas.height = height; - } - }, { - key: "destroy", - value: function destroy(canvasAndContext) { - if (!canvasAndContext.canvas) { - throw new Error("Canvas is not specified"); - } - - canvasAndContext.canvas.width = 0; - canvasAndContext.canvas.height = 0; - canvasAndContext.canvas = null; - canvasAndContext.context = null; + return canvas; } }]); return DOMCanvasFactory; -}(); +}(_base_factory.BaseCanvasFactory); exports.DOMCanvasFactory = DOMCanvasFactory; -var DOMCMapReaderFactory = /*#__PURE__*/function () { - function DOMCMapReaderFactory(_ref) { - var _ref$baseUrl = _ref.baseUrl, - baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl, - _ref$isCompressed = _ref.isCompressed, - isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed; +function fetchData(_x) { + return _fetchData.apply(this, arguments); +} +function _fetchData() { + _fetchData = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(url) { + var asTypedArray, + response, + _args = arguments; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + asTypedArray = _args.length > 1 && _args[1] !== undefined ? _args[1] : false; + + if (!isValidFetchUrl(url, document.baseURI)) { + _context.next = 21; + break; + } + + _context.next = 4; + return fetch(url); + + case 4: + response = _context.sent; + + if (response.ok) { + _context.next = 7; + break; + } + + throw new Error(response.statusText); + + case 7: + if (!asTypedArray) { + _context.next = 15; + break; + } + + _context.t1 = Uint8Array; + _context.next = 11; + return response.arrayBuffer(); + + case 11: + _context.t2 = _context.sent; + _context.t0 = new _context.t1(_context.t2); + _context.next = 20; + break; + + case 15: + _context.t3 = _util.stringToBytes; + _context.next = 18; + return response.text(); + + case 18: + _context.t4 = _context.sent; + _context.t0 = (0, _context.t3)(_context.t4); + + case 20: + return _context.abrupt("return", _context.t0); + + case 21: + return _context.abrupt("return", new Promise(function (resolve, reject) { + var request = new XMLHttpRequest(); + request.open("GET", url, true); + + if (asTypedArray) { + request.responseType = "arraybuffer"; + } + + request.onreadystatechange = function () { + if (request.readyState !== XMLHttpRequest.DONE) { + return; + } + + if (request.status === 200 || request.status === 0) { + var data; + + if (asTypedArray && request.response) { + data = new Uint8Array(request.response); + } else if (!asTypedArray && request.responseText) { + data = (0, _util.stringToBytes)(request.responseText); + } + + if (data) { + resolve(data); + return; + } + } + + reject(new Error(request.statusText)); + }; + + request.send(null); + })); + + case 22: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + return _fetchData.apply(this, arguments); +} + +var DOMCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) { + _inherits(DOMCMapReaderFactory, _BaseCMapReaderFactor); + + var _super2 = _createSuper(DOMCMapReaderFactory); + + function DOMCMapReaderFactory() { _classCallCheck(this, DOMCMapReaderFactory); - this.baseUrl = baseUrl; - this.isCompressed = isCompressed; + return _super2.apply(this, arguments); } _createClass(DOMCMapReaderFactory, [{ - key: "fetch", - value: function (_fetch) { - function fetch(_x) { - return _fetch.apply(this, arguments); - } - - fetch.toString = function () { - return _fetch.toString(); - }; - - return fetch; - }( /*#__PURE__*/function () { - var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(_ref3) { - var _this = this; - - var name, url, compressionType; - return _regenerator["default"].wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - name = _ref3.name; - - if (this.baseUrl) { - _context2.next = 3; - break; - } - - throw new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and "cMapPacked" API parameters are provided.'); - - case 3: - if (name) { - _context2.next = 5; - break; - } - - throw new Error("CMap name must be specified."); - - case 5: - url = this.baseUrl + name + (this.isCompressed ? ".bcmap" : ""); - compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE; - - if (!(isFetchSupported() && isValidFetchUrl(url, document.baseURI))) { - _context2.next = 9; - break; - } - - return _context2.abrupt("return", fetch(url).then( /*#__PURE__*/function () { - var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(response) { - var cMapData; - return _regenerator["default"].wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - if (response.ok) { - _context.next = 2; - break; - } - - throw new Error(response.statusText); - - case 2: - if (!_this.isCompressed) { - _context.next = 10; - break; - } - - _context.t0 = Uint8Array; - _context.next = 6; - return response.arrayBuffer(); - - case 6: - _context.t1 = _context.sent; - cMapData = new _context.t0(_context.t1); - _context.next = 15; - break; - - case 10: - _context.t2 = _util.stringToBytes; - _context.next = 13; - return response.text(); - - case 13: - _context.t3 = _context.sent; - cMapData = (0, _context.t2)(_context.t3); - - case 15: - return _context.abrupt("return", { - cMapData: cMapData, - compressionType: compressionType - }); - - case 16: - case "end": - return _context.stop(); - } - } - }, _callee); - })); - - return function (_x3) { - return _ref4.apply(this, arguments); - }; - }())["catch"](function (reason) { - throw new Error("Unable to load ".concat(_this.isCompressed ? "binary " : "") + "CMap at: ".concat(url)); - })); - - case 9: - return _context2.abrupt("return", new Promise(function (resolve, reject) { - var request = new XMLHttpRequest(); - request.open("GET", url, true); - - if (_this.isCompressed) { - request.responseType = "arraybuffer"; - } - - request.onreadystatechange = function () { - if (request.readyState !== XMLHttpRequest.DONE) { - return; - } - - if (request.status === 200 || request.status === 0) { - var cMapData; - - if (_this.isCompressed && request.response) { - cMapData = new Uint8Array(request.response); - } else if (!_this.isCompressed && request.responseText) { - cMapData = (0, _util.stringToBytes)(request.responseText); - } - - if (cMapData) { - resolve({ - cMapData: cMapData, - compressionType: compressionType - }); - return; - } - } - - reject(new Error(request.statusText)); - }; - - request.send(null); - })["catch"](function (reason) { - throw new Error("Unable to load ".concat(_this.isCompressed ? "binary " : "") + "CMap at: ".concat(url)); - })); - - case 10: - case "end": - return _context2.stop(); - } - } - }, _callee2, this); - })); - - return function (_x2) { - return _ref2.apply(this, arguments); - }; - }()) + key: "_fetchData", + value: function _fetchData(url, compressionType) { + return fetchData(url, this.isCompressed).then(function (data) { + return { + cMapData: data, + compressionType: compressionType + }; + }); + } }]); return DOMCMapReaderFactory; -}(); +}(_base_factory.BaseCMapReaderFactory); exports.DOMCMapReaderFactory = DOMCMapReaderFactory; -var DOMSVGFactory = /*#__PURE__*/function () { +var DOMStandardFontDataFactory = /*#__PURE__*/function (_BaseStandardFontData) { + _inherits(DOMStandardFontDataFactory, _BaseStandardFontData); + + var _super3 = _createSuper(DOMStandardFontDataFactory); + + function DOMStandardFontDataFactory() { + _classCallCheck(this, DOMStandardFontDataFactory); + + return _super3.apply(this, arguments); + } + + _createClass(DOMStandardFontDataFactory, [{ + key: "_fetchData", + value: function _fetchData(url) { + return fetchData(url, true); + } + }]); + + return DOMStandardFontDataFactory; +}(_base_factory.BaseStandardFontDataFactory); + +exports.DOMStandardFontDataFactory = DOMStandardFontDataFactory; + +var DOMSVGFactory = /*#__PURE__*/function (_BaseSVGFactory) { + _inherits(DOMSVGFactory, _BaseSVGFactory); + + var _super4 = _createSuper(DOMSVGFactory); + function DOMSVGFactory() { _classCallCheck(this, DOMSVGFactory); + + return _super4.apply(this, arguments); } _createClass(DOMSVGFactory, [{ - key: "create", - value: function create(width, height) { - (0, _util.assert)(width > 0 && height > 0, "Invalid SVG dimensions"); - var svg = document.createElementNS(SVG_NS, "svg:svg"); - svg.setAttribute("version", "1.1"); - svg.setAttribute("width", width + "px"); - svg.setAttribute("height", height + "px"); - svg.setAttribute("preserveAspectRatio", "none"); - svg.setAttribute("viewBox", "0 0 " + width + " " + height); - return svg; - } - }, { - key: "createElement", - value: function createElement(type) { - (0, _util.assert)(typeof type === "string", "Invalid SVG element type"); + key: "_createSVG", + value: function _createSVG(type) { return document.createElementNS(SVG_NS, type); } }]); return DOMSVGFactory; -}(); +}(_base_factory.BaseSVGFactory); exports.DOMSVGFactory = DOMSVGFactory; var PageViewport = /*#__PURE__*/function () { - function PageViewport(_ref5) { - var viewBox = _ref5.viewBox, - scale = _ref5.scale, - rotation = _ref5.rotation, - _ref5$offsetX = _ref5.offsetX, - offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX, - _ref5$offsetY = _ref5.offsetY, - offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY, - _ref5$dontFlip = _ref5.dontFlip, - dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$dontFlip; + function PageViewport(_ref2) { + var viewBox = _ref2.viewBox, + scale = _ref2.scale, + rotation = _ref2.rotation, + _ref2$offsetX = _ref2.offsetX, + offsetX = _ref2$offsetX === void 0 ? 0 : _ref2$offsetX, + _ref2$offsetY = _ref2.offsetY, + offsetY = _ref2$offsetY === void 0 ? 0 : _ref2$offsetY, + _ref2$dontFlip = _ref2.dontFlip, + dontFlip = _ref2$dontFlip === void 0 ? false : _ref2$dontFlip; _classCallCheck(this, PageViewport); @@ -13891,8 +9291,11 @@ var PageViewport = /*#__PURE__*/function () { var centerX = (viewBox[2] + viewBox[0]) / 2; var centerY = (viewBox[3] + viewBox[1]) / 2; var rotateA, rotateB, rotateC, rotateD; - rotation = rotation % 360; - rotation = rotation < 0 ? rotation + 360 : rotation; + rotation %= 360; + + if (rotation < 0) { + rotation += 360; + } switch (rotation) { case 180: @@ -13916,12 +9319,15 @@ var PageViewport = /*#__PURE__*/function () { rotateD = 0; break; - default: + case 0: rotateA = 1; rotateB = 0; rotateC = 0; rotateD = -1; break; + + default: + throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees."); } if (dontFlip) { @@ -13952,17 +9358,17 @@ var PageViewport = /*#__PURE__*/function () { _createClass(PageViewport, [{ key: "clone", value: function clone() { - var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, - _ref6$scale = _ref6.scale, - scale = _ref6$scale === void 0 ? this.scale : _ref6$scale, - _ref6$rotation = _ref6.rotation, - rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation, - _ref6$offsetX = _ref6.offsetX, - offsetX = _ref6$offsetX === void 0 ? this.offsetX : _ref6$offsetX, - _ref6$offsetY = _ref6.offsetY, - offsetY = _ref6$offsetY === void 0 ? this.offsetY : _ref6$offsetY, - _ref6$dontFlip = _ref6.dontFlip, - dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip; + var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref3$scale = _ref3.scale, + scale = _ref3$scale === void 0 ? this.scale : _ref3$scale, + _ref3$rotation = _ref3.rotation, + rotation = _ref3$rotation === void 0 ? this.rotation : _ref3$rotation, + _ref3$offsetX = _ref3.offsetX, + offsetX = _ref3$offsetX === void 0 ? this.offsetX : _ref3$offsetX, + _ref3$offsetY = _ref3.offsetY, + offsetY = _ref3$offsetY === void 0 ? this.offsetY : _ref3$offsetY, + _ref3$dontFlip = _ref3.dontFlip, + dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip; return new PageViewport({ viewBox: this.viewBox.slice(), @@ -14002,76 +9408,36 @@ exports.PageViewport = PageViewport; var RenderingCancelledException = /*#__PURE__*/function (_BaseException) { _inherits(RenderingCancelledException, _BaseException); + var _super5 = _createSuper(RenderingCancelledException); + function RenderingCancelledException(msg, type) { var _this2; _classCallCheck(this, RenderingCancelledException); - _this2 = _possibleConstructorReturn(this, _getPrototypeOf(RenderingCancelledException).call(this, msg)); + _this2 = _super5.call(this, msg, "RenderingCancelledException"); _this2.type = type; return _this2; } - return RenderingCancelledException; + return _createClass(RenderingCancelledException); }(_util.BaseException); exports.RenderingCancelledException = RenderingCancelledException; -var LinkTarget = { - NONE: 0, - SELF: 1, - BLANK: 2, - PARENT: 3, - TOP: 4 -}; -exports.LinkTarget = LinkTarget; -function addLinkAttributes(link) { - var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - url = _ref7.url, - target = _ref7.target, - rel = _ref7.rel, - _ref7$enabled = _ref7.enabled, - enabled = _ref7$enabled === void 0 ? true : _ref7$enabled; +function isDataScheme(url) { + var ii = url.length; + var i = 0; - (0, _util.assert)(url && typeof url === "string", 'addLinkAttributes: A valid "url" parameter must provided.'); - var urlNullRemoved = (0, _util.removeNullCharacters)(url); - - if (enabled) { - link.href = link.title = urlNullRemoved; - } else { - link.href = ""; - link.title = "Disabled: ".concat(urlNullRemoved); - - link.onclick = function () { - return false; - }; + while (i < ii && url[i].trim() === "") { + i++; } - var targetStr = ""; + return url.substring(i, i + 5).toLowerCase() === "data:"; +} - switch (target) { - case LinkTarget.NONE: - break; - - case LinkTarget.SELF: - targetStr = "_self"; - break; - - case LinkTarget.BLANK: - targetStr = "_blank"; - break; - - case LinkTarget.PARENT: - targetStr = "_parent"; - break; - - case LinkTarget.TOP: - targetStr = "_top"; - break; - } - - link.target = targetStr; - link.rel = typeof rel === "string" ? rel : DEFAULT_LINK_REL; +function isPdfFile(filename) { + return typeof filename === "string" && /\.pdf$/i.test(filename); } function getFilenameFromUrl(url) { @@ -14081,6 +9447,36 @@ function getFilenameFromUrl(url) { return url.substring(url.lastIndexOf("/", end) + 1, end); } +function getPdfFilenameFromUrl(url) { + var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "document.pdf"; + + if (typeof url !== "string") { + return defaultFilename; + } + + if (isDataScheme(url)) { + (0, _util.warn)('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'); + return defaultFilename; + } + + var reURI = /^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/; + var reFilename = /[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i; + var splitURI = reURI.exec(url); + var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]); + + if (suggestedFilename) { + suggestedFilename = suggestedFilename[0]; + + if (suggestedFilename.includes("%")) { + try { + suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0]; + } catch (ex) {} + } + } + + return suggestedFilename || defaultFilename; +} + var StatTimer = /*#__PURE__*/function () { function StatTimer() { _classCallCheck(this, StatTimer); @@ -14117,12 +9513,12 @@ var StatTimer = /*#__PURE__*/function () { value: function toString() { var outBuf = []; var longest = 0; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + + var _iterator = _createForOfIteratorHelper(this.times), + _step; try { - for (var _iterator = this.times[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var time = _step.value; var name = time.name; @@ -14131,43 +9527,24 @@ var StatTimer = /*#__PURE__*/function () { } } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator["return"] != null) { - _iterator["return"](); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; + var _iterator2 = _createForOfIteratorHelper(this.times), + _step2; try { - for (var _iterator2 = this.times[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var _time = _step2.value; var duration = _time.end - _time.start; outBuf.push("".concat(_time.name.padEnd(longest), " ").concat(duration, "ms\n")); } } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; + _iterator2.e(err); } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) { - _iterator2["return"](); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } + _iterator2.f(); } return outBuf.join(""); @@ -14179,14 +9556,10 @@ var StatTimer = /*#__PURE__*/function () { exports.StatTimer = StatTimer; -function isFetchSupported() { - return typeof fetch !== "undefined" && typeof Response !== "undefined" && "body" in Response.prototype && typeof ReadableStream !== "undefined"; -} - function isValidFetchUrl(url, baseUrl) { try { - var _ref8 = baseUrl ? new URL(url, baseUrl) : new URL(url), - protocol = _ref8.protocol; + var _ref4 = baseUrl ? new URL(url, baseUrl) : new URL(url), + protocol = _ref4.protocol; return protocol === "http:" || protocol === "https:"; } catch (ex) { @@ -14195,10 +9568,18 @@ function isValidFetchUrl(url, baseUrl) { } function loadScript(src) { + var removeScriptElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; return new Promise(function (resolve, reject) { var script = document.createElement("script"); script.src = src; - script.onload = resolve; + + script.onload = function (evt) { + if (removeScriptElement) { + script.remove(); + } + + resolve(evt); + }; script.onerror = function () { reject(new Error("Cannot load script at: ".concat(script.src))); @@ -14212,17 +9593,6 @@ function deprecated(details) { console.log("Deprecated API usage: " + details); } -function releaseImageResources(img) { - (0, _util.assert)(img instanceof Image, "Invalid `img` parameter."); - var url = img.src; - - if (typeof url === "string" && url.startsWith("blob:") && URL.revokeObjectURL) { - URL.revokeObjectURL(url); - } - - img.removeAttribute("src"); -} - var pdfDateStringRegex; var PDFDateString = /*#__PURE__*/function () { @@ -14233,7 +9603,7 @@ var PDFDateString = /*#__PURE__*/function () { _createClass(PDFDateString, null, [{ key: "toDateObject", value: function toDateObject(input) { - if (!input || !(0, _util.isString)(input)) { + if (!input || typeof input !== "string") { return null; } @@ -14281,36 +9651,40 @@ var PDFDateString = /*#__PURE__*/function () { exports.PDFDateString = PDFDateString; +function getXfaPageViewport(xfaPage, _ref5) { + var _ref5$scale = _ref5.scale, + scale = _ref5$scale === void 0 ? 1 : _ref5$scale, + _ref5$rotation = _ref5.rotation, + rotation = _ref5$rotation === void 0 ? 0 : _ref5$rotation; + var _xfaPage$attributes$s = xfaPage.attributes.style, + width = _xfaPage$attributes$s.width, + height = _xfaPage$attributes$s.height; + var viewBox = [0, 0, parseInt(width), parseInt(height)]; + return new PageViewport({ + viewBox: viewBox, + scale: scale, + rotation: rotation + }); +} + /***/ }), -/* 195 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 147 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +Object.defineProperty(exports, "__esModule", ({ value: true -}); -exports.FontLoader = exports.FontFaceObject = void 0; +})); +exports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = void 0; -var _regenerator = _interopRequireDefault(__w_pdfjs_require__(191)); +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); var _util = __w_pdfjs_require__(1); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } @@ -14319,12 +9693,323 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var BaseCanvasFactory = /*#__PURE__*/function () { + function BaseCanvasFactory() { + _classCallCheck(this, BaseCanvasFactory); + + if (this.constructor === BaseCanvasFactory) { + (0, _util.unreachable)("Cannot initialize BaseCanvasFactory."); + } + } + + _createClass(BaseCanvasFactory, [{ + key: "create", + value: function create(width, height) { + if (width <= 0 || height <= 0) { + throw new Error("Invalid canvas size"); + } + + var canvas = this._createCanvas(width, height); + + return { + canvas: canvas, + context: canvas.getContext("2d") + }; + } + }, { + key: "reset", + value: function reset(canvasAndContext, width, height) { + if (!canvasAndContext.canvas) { + throw new Error("Canvas is not specified"); + } + + if (width <= 0 || height <= 0) { + throw new Error("Invalid canvas size"); + } + + canvasAndContext.canvas.width = width; + canvasAndContext.canvas.height = height; + } + }, { + key: "destroy", + value: function destroy(canvasAndContext) { + if (!canvasAndContext.canvas) { + throw new Error("Canvas is not specified"); + } + + canvasAndContext.canvas.width = 0; + canvasAndContext.canvas.height = 0; + canvasAndContext.canvas = null; + canvasAndContext.context = null; + } + }, { + key: "_createCanvas", + value: function _createCanvas(width, height) { + (0, _util.unreachable)("Abstract method `_createCanvas` called."); + } + }]); + + return BaseCanvasFactory; +}(); + +exports.BaseCanvasFactory = BaseCanvasFactory; + +var BaseCMapReaderFactory = /*#__PURE__*/function () { + function BaseCMapReaderFactory(_ref) { + var _ref$baseUrl = _ref.baseUrl, + baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl, + _ref$isCompressed = _ref.isCompressed, + isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed; + + _classCallCheck(this, BaseCMapReaderFactory); + + if (this.constructor === BaseCMapReaderFactory) { + (0, _util.unreachable)("Cannot initialize BaseCMapReaderFactory."); + } + + this.baseUrl = baseUrl; + this.isCompressed = isCompressed; + } + + _createClass(BaseCMapReaderFactory, [{ + key: "fetch", + value: function () { + var _fetch = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref2) { + var _this = this; + + var name, url, compressionType; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + name = _ref2.name; + + if (this.baseUrl) { + _context.next = 3; + break; + } + + throw new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and "cMapPacked" API parameters are provided.'); + + case 3: + if (name) { + _context.next = 5; + break; + } + + throw new Error("CMap name must be specified."); + + case 5: + url = this.baseUrl + name + (this.isCompressed ? ".bcmap" : ""); + compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE; + return _context.abrupt("return", this._fetchData(url, compressionType)["catch"](function (reason) { + throw new Error("Unable to load ".concat(_this.isCompressed ? "binary " : "", "CMap at: ").concat(url)); + })); + + case 8: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function fetch(_x) { + return _fetch.apply(this, arguments); + } + + return fetch; + }() + }, { + key: "_fetchData", + value: function _fetchData(url, compressionType) { + (0, _util.unreachable)("Abstract method `_fetchData` called."); + } + }]); + + return BaseCMapReaderFactory; +}(); + +exports.BaseCMapReaderFactory = BaseCMapReaderFactory; + +var BaseStandardFontDataFactory = /*#__PURE__*/function () { + function BaseStandardFontDataFactory(_ref3) { + var _ref3$baseUrl = _ref3.baseUrl, + baseUrl = _ref3$baseUrl === void 0 ? null : _ref3$baseUrl; + + _classCallCheck(this, BaseStandardFontDataFactory); + + if (this.constructor === BaseStandardFontDataFactory) { + (0, _util.unreachable)("Cannot initialize BaseStandardFontDataFactory."); + } + + this.baseUrl = baseUrl; + } + + _createClass(BaseStandardFontDataFactory, [{ + key: "fetch", + value: function () { + var _fetch2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(_ref4) { + var filename, url; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + filename = _ref4.filename; + + if (this.baseUrl) { + _context2.next = 3; + break; + } + + throw new Error('The standard font "baseUrl" parameter must be specified, ensure that ' + 'the "standardFontDataUrl" API parameter is provided.'); + + case 3: + if (filename) { + _context2.next = 5; + break; + } + + throw new Error("Font filename must be specified."); + + case 5: + url = "".concat(this.baseUrl).concat(filename); + return _context2.abrupt("return", this._fetchData(url)["catch"](function (reason) { + throw new Error("Unable to load font data at: ".concat(url)); + })); + + case 7: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function fetch(_x2) { + return _fetch2.apply(this, arguments); + } + + return fetch; + }() + }, { + key: "_fetchData", + value: function _fetchData(url) { + (0, _util.unreachable)("Abstract method `_fetchData` called."); + } + }]); + + return BaseStandardFontDataFactory; +}(); + +exports.BaseStandardFontDataFactory = BaseStandardFontDataFactory; + +var BaseSVGFactory = /*#__PURE__*/function () { + function BaseSVGFactory() { + _classCallCheck(this, BaseSVGFactory); + + if (this.constructor === BaseSVGFactory) { + (0, _util.unreachable)("Cannot initialize BaseSVGFactory."); + } + } + + _createClass(BaseSVGFactory, [{ + key: "create", + value: function create(width, height) { + if (width <= 0 || height <= 0) { + throw new Error("Invalid SVG dimensions"); + } + + var svg = this._createSVG("svg:svg"); + + svg.setAttribute("version", "1.1"); + svg.setAttribute("width", "".concat(width, "px")); + svg.setAttribute("height", "".concat(height, "px")); + svg.setAttribute("preserveAspectRatio", "none"); + svg.setAttribute("viewBox", "0 0 ".concat(width, " ").concat(height)); + return svg; + } + }, { + key: "createElement", + value: function createElement(type) { + if (typeof type !== "string") { + throw new Error("Invalid SVG element type"); + } + + return this._createSVG(type); + } + }, { + key: "_createSVG", + value: function _createSVG(type) { + (0, _util.unreachable)("Abstract method `_createSVG` called."); + } + }]); + + return BaseSVGFactory; +}(); + +exports.BaseSVGFactory = BaseSVGFactory; + +/***/ }), +/* 148 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.FontLoader = exports.FontFaceObject = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); + +var _util = __w_pdfjs_require__(1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } var BaseFontLoader = /*#__PURE__*/function () { function BaseFontLoader(_ref) { var docId = _ref.docId, - onUnsupportedFeature = _ref.onUnsupportedFeature; + onUnsupportedFeature = _ref.onUnsupportedFeature, + _ref$ownerDocument = _ref.ownerDocument, + ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument, + _ref$styleElement = _ref.styleElement, + styleElement = _ref$styleElement === void 0 ? null : _ref$styleElement; _classCallCheck(this, BaseFontLoader); @@ -14334,6 +10019,7 @@ var BaseFontLoader = /*#__PURE__*/function () { this.docId = docId; this._onUnsupportedFeature = onUnsupportedFeature; + this._document = ownerDocument; this.nativeFontFaces = []; this.styleElement = null; } @@ -14342,7 +10028,8 @@ var BaseFontLoader = /*#__PURE__*/function () { key: "addNativeFontFace", value: function addNativeFontFace(nativeFontFace) { this.nativeFontFaces.push(nativeFontFace); - document.fonts.add(nativeFontFace); + + this._document.fonts.add(nativeFontFace); } }, { key: "insertRule", @@ -14350,9 +10037,10 @@ var BaseFontLoader = /*#__PURE__*/function () { var styleElement = this.styleElement; if (!styleElement) { - styleElement = this.styleElement = document.createElement("style"); + styleElement = this.styleElement = this._document.createElement("style"); styleElement.id = "PDFJS_FONT_STYLE_TAG_".concat(this.docId); - document.documentElement.getElementsByTagName("head")[0].appendChild(styleElement); + + this._document.documentElement.getElementsByTagName("head")[0].appendChild(styleElement); } var styleSheet = styleElement.sheet; @@ -14361,9 +10049,21 @@ var BaseFontLoader = /*#__PURE__*/function () { }, { key: "clear", value: function clear() { - this.nativeFontFaces.forEach(function (nativeFontFace) { - document.fonts["delete"](nativeFontFace); - }); + var _iterator = _createForOfIteratorHelper(this.nativeFontFaces), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var nativeFontFace = _step.value; + + this._document.fonts["delete"](nativeFontFace); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + this.nativeFontFaces.length = 0; if (this.styleElement) { @@ -14418,7 +10118,7 @@ var BaseFontLoader = /*#__PURE__*/function () { _context.t0 = _context["catch"](7); this._onUnsupportedFeature({ - featureId: _util.UNSUPPORTED_FEATURES.font + featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative }); (0, _util.warn)("Failed to load font '".concat(nativeFontFace.family, "': '").concat(_context.t0, "'.")); @@ -14472,16 +10172,13 @@ var BaseFontLoader = /*#__PURE__*/function () { value: function _queueLoadingCallback(callback) { (0, _util.unreachable)("Abstract method `_queueLoadingCallback`."); } - }, { - key: "_prepareFontLoadEvent", - value: function _prepareFontLoadEvent(rules, fontsToLoad, request) { - (0, _util.unreachable)("Abstract method `_prepareFontLoadEvent`."); - } }, { key: "isFontLoadingAPISupported", get: function get() { - var supported = typeof document !== "undefined" && !!document.fonts; - return (0, _util.shadow)(this, "isFontLoadingAPISupported", supported); + var _this$_document; + + var hasFonts = !!((_this$_document = this._document) !== null && _this$_document !== void 0 && _this$_document.fonts); + return (0, _util.shadow)(this, "isFontLoadingAPISupported", hasFonts); } }, { key: "isSyncFontLoadingSupported", @@ -14493,6 +10190,11 @@ var BaseFontLoader = /*#__PURE__*/function () { get: function get() { (0, _util.unreachable)("Abstract method `_loadTestFont`."); } + }, { + key: "_prepareFontLoadEvent", + value: function _prepareFontLoadEvent(rules, fontsToLoad, request) { + (0, _util.unreachable)("Abstract method `_prepareFontLoadEvent`."); + } }]); return BaseFontLoader; @@ -14504,12 +10206,14 @@ exports.FontLoader = FontLoader; exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) { _inherits(GenericFontLoader, _BaseFontLoader); - function GenericFontLoader(docId) { + var _super = _createSuper(GenericFontLoader); + + function GenericFontLoader(params) { var _this2; _classCallCheck(this, GenericFontLoader); - _this2 = _possibleConstructorReturn(this, _getPrototypeOf(GenericFontLoader).call(this, docId)); + _this2 = _super.call(this, params); _this2.loadingContext = { requests: [], nextRequestId: 0 @@ -14519,6 +10223,23 @@ exports.FontLoader = FontLoader; } _createClass(GenericFontLoader, [{ + key: "isSyncFontLoadingSupported", + get: function get() { + var supported = false; + + if (typeof navigator === "undefined") { + supported = true; + } else { + var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent); + + if ((m === null || m === void 0 ? void 0 : m[1]) >= 14) { + supported = true; + } + } + + return (0, _util.shadow)(this, "isSyncFontLoadingSupported", supported); + } + }, { key: "_queueLoadingCallback", value: function _queueLoadingCallback(callback) { function completeRequest() { @@ -14541,6 +10262,15 @@ exports.FontLoader = FontLoader; context.requests.push(request); return request; } + }, { + key: "_loadTestFont", + get: function get() { + var getLoadTestFont = function getLoadTestFont() { + 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=="); + }; + + return (0, _util.shadow)(this, "_loadTestFont", getLoadTestFont()); + } }, { key: "_prepareFontLoadEvent", value: function _prepareFontLoadEvent(rules, fonts, request) { @@ -14555,7 +10285,9 @@ exports.FontLoader = FontLoader; } var i, ii; - var canvas = document.createElement("canvas"); + + var canvas = this._document.createElement("canvas"); + canvas.width = 1; canvas.height = 1; var ctx = canvas.getContext("2d"); @@ -14604,56 +10336,46 @@ exports.FontLoader = FontLoader; this.insertRule(rule); var names = []; - for (i = 0, ii = fonts.length; i < ii; i++) { - names.push(fonts[i].loadedName); + var _iterator2 = _createForOfIteratorHelper(fonts), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var font = _step2.value; + names.push(font.loadedName); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); } names.push(loadTestFontId); - var div = document.createElement("div"); + + var div = this._document.createElement("div"); + div.style.visibility = "hidden"; div.style.width = div.style.height = "10px"; div.style.position = "absolute"; div.style.top = div.style.left = "0px"; - for (i = 0, ii = names.length; i < ii; ++i) { - var span = document.createElement("span"); + for (var _i = 0, _names = names; _i < _names.length; _i++) { + var name = _names[_i]; + + var span = this._document.createElement("span"); + span.textContent = "Hi"; - span.style.fontFamily = names[i]; + span.style.fontFamily = name; div.appendChild(span); } - document.body.appendChild(div); + this._document.body.appendChild(div); + isFontReady(loadTestFontId, function () { - document.body.removeChild(div); + div.remove(); request.complete(); }); } - }, { - key: "isSyncFontLoadingSupported", - get: function get() { - var supported = false; - - if (typeof navigator === "undefined") { - supported = true; - } else { - var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent); - - if (m && m[1] >= 14) { - supported = true; - } - } - - return (0, _util.shadow)(this, "isSyncFontLoadingSupported", supported); - } - }, { - key: "_loadTestFont", - get: function get() { - var getLoadTestFont = function getLoadTestFont() { - 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=="); - }; - - return (0, _util.shadow)(this, "_loadTestFont", getLoadTestFont()); - } }]); return GenericFontLoader; @@ -14668,8 +10390,7 @@ var FontFaceObject = /*#__PURE__*/function () { disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace, _ref2$ignoreErrors = _ref2.ignoreErrors, ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors, - _ref2$onUnsupportedFe = _ref2.onUnsupportedFeature, - onUnsupportedFeature = _ref2$onUnsupportedFe === void 0 ? null : _ref2$onUnsupportedFe, + onUnsupportedFeature = _ref2.onUnsupportedFeature, _ref2$fontRegistry = _ref2.fontRegistry, fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry; @@ -14695,7 +10416,21 @@ var FontFaceObject = /*#__PURE__*/function () { return null; } - var nativeFontFace = new FontFace(this.loadedName, this.data, {}); + var nativeFontFace; + + if (!this.cssFontInfo) { + nativeFontFace = new FontFace(this.loadedName, this.data, {}); + } else { + var css = { + weight: this.cssFontInfo.fontWeight + }; + + if (this.cssFontInfo.italicAngle) { + css.style = "oblique ".concat(this.cssFontInfo.italicAngle, "deg"); + } + + nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css); + } if (this.fontRegistry) { this.fontRegistry.registerFont(this); @@ -14710,9 +10445,21 @@ var FontFaceObject = /*#__PURE__*/function () { return null; } - var data = (0, _util.bytesToString)(new Uint8Array(this.data)); + var data = (0, _util.bytesToString)(this.data); var url = "url(data:".concat(this.mimetype, ";base64,").concat(btoa(data), ");"); - var rule = "@font-face {font-family:\"".concat(this.loadedName, "\";src:").concat(url, "}"); + var rule; + + if (!this.cssFontInfo) { + rule = "@font-face {font-family:\"".concat(this.loadedName, "\";src:").concat(url, "}"); + } else { + var css = "font-weight: ".concat(this.cssFontInfo.fontWeight, ";"); + + if (this.cssFontInfo.italicAngle) { + css += "font-style: oblique ".concat(this.cssFontInfo.italicAngle, "deg;"); + } + + rule = "@font-face {font-family:\"".concat(this.cssFontInfo.fontFamily, "\";").concat(css, "src:").concat(url, "}"); + } if (this.fontRegistry) { this.fontRegistry.registerFont(this, url); @@ -14727,7 +10474,7 @@ var FontFaceObject = /*#__PURE__*/function () { return this.compiledGlyphs[character]; } - var cmds, current; + var cmds; try { cmds = objs.get(this.loadedName + "_path_" + character); @@ -14736,44 +10483,53 @@ var FontFaceObject = /*#__PURE__*/function () { throw ex; } - if (this._onUnsupportedFeature) { - this._onUnsupportedFeature({ - featureId: _util.UNSUPPORTED_FEATURES.font - }); - } + this._onUnsupportedFeature({ + featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath + }); (0, _util.warn)("getPathGenerator - ignoring character: \"".concat(ex, "\".")); return this.compiledGlyphs[character] = function (c, size) {}; } if (this.isEvalSupported && _util.IsEvalSupportedCached.value) { - var args, - js = ""; + var jsBuf = []; - for (var i = 0, ii = cmds.length; i < ii; i++) { - current = cmds[i]; + var _iterator3 = _createForOfIteratorHelper(cmds), + _step3; - if (current.args !== undefined) { - args = current.args.join(","); - } else { - args = ""; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var current = _step3.value; + var args = current.args !== undefined ? current.args.join(",") : ""; + jsBuf.push("c.", current.cmd, "(", args, ");\n"); } - - js += "c." + current.cmd + "(" + args + ");\n"; + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); } - return this.compiledGlyphs[character] = new Function("c", "size", js); + return this.compiledGlyphs[character] = new Function("c", "size", jsBuf.join("")); } return this.compiledGlyphs[character] = function (c, size) { - for (var _i = 0, _ii = cmds.length; _i < _ii; _i++) { - current = cmds[_i]; + var _iterator4 = _createForOfIteratorHelper(cmds), + _step4; - if (current.cmd === "scale") { - current.args = [size, -size]; + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var _current = _step4.value; + + if (_current.cmd === "scale") { + _current.args = [size, -size]; + } + + c[_current.cmd].apply(c, _current.args); } - - c[current.cmd].apply(c, current.args); + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); } }; } @@ -14785,161 +10541,615 @@ var FontFaceObject = /*#__PURE__*/function () { exports.FontFaceObject = FontFaceObject; /***/ }), -/* 196 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 149 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { "use strict"; -var compatibilityParams = Object.create(null); -{ - var _require = __w_pdfjs_require__(48), - isNodeJS = _require.isNodeJS; +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } - var userAgent = typeof navigator !== "undefined" && navigator.userAgent || ""; - var isIE = /Trident/.test(userAgent); - var isIOSChrome = /CriOS/.test(userAgent); +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.NodeStandardFontDataFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0; - (function checkOnBlobSupport() { - if (isIE || isIOSChrome) { - compatibilityParams.disableCreateObjectURL = true; +var _base_factory = __w_pdfjs_require__(147); + +var _is_node = __w_pdfjs_require__(3); + +var _util = __w_pdfjs_require__(1); + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var NodeCanvasFactory = /*#__PURE__*/_createClass(function NodeCanvasFactory() { + _classCallCheck(this, NodeCanvasFactory); + + (0, _util.unreachable)("Not implemented: NodeCanvasFactory"); +}); + +exports.NodeCanvasFactory = NodeCanvasFactory; + +var NodeCMapReaderFactory = /*#__PURE__*/_createClass(function NodeCMapReaderFactory() { + _classCallCheck(this, NodeCMapReaderFactory); + + (0, _util.unreachable)("Not implemented: NodeCMapReaderFactory"); +}); + +exports.NodeCMapReaderFactory = NodeCMapReaderFactory; + +var NodeStandardFontDataFactory = /*#__PURE__*/_createClass(function NodeStandardFontDataFactory() { + _classCallCheck(this, NodeStandardFontDataFactory); + + (0, _util.unreachable)("Not implemented: NodeStandardFontDataFactory"); +}); + +exports.NodeStandardFontDataFactory = NodeStandardFontDataFactory; + +if (_is_node.isNodeJS) { + var fetchData = function fetchData(url) { + return new Promise(function (resolve, reject) { + var fs = require("fs"); + + fs.readFile(url, function (error, data) { + if (error || !data) { + reject(new Error(error)); + return; + } + + resolve(new Uint8Array(data)); + }); + }); + }; + + exports.NodeCanvasFactory = NodeCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) { + _inherits(NodeCanvasFactory, _BaseCanvasFactory); + + var _super = _createSuper(NodeCanvasFactory); + + function NodeCanvasFactory() { + _classCallCheck(this, NodeCanvasFactory); + + return _super.apply(this, arguments); } - })(); - (function checkFontFaceAndImage() { - if (isNodeJS) { - compatibilityParams.disableFontFace = true; - compatibilityParams.nativeImageDecoderSupport = "none"; + _createClass(NodeCanvasFactory, [{ + key: "_createCanvas", + value: function _createCanvas(width, height) { + var Canvas = require("canvas"); + + return Canvas.createCanvas(width, height); + } + }]); + + return NodeCanvasFactory; + }(_base_factory.BaseCanvasFactory); + + exports.NodeCMapReaderFactory = NodeCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) { + _inherits(NodeCMapReaderFactory, _BaseCMapReaderFactor); + + var _super2 = _createSuper(NodeCMapReaderFactory); + + function NodeCMapReaderFactory() { + _classCallCheck(this, NodeCMapReaderFactory); + + return _super2.apply(this, arguments); } - })(); + + _createClass(NodeCMapReaderFactory, [{ + key: "_fetchData", + value: function _fetchData(url, compressionType) { + return fetchData(url).then(function (data) { + return { + cMapData: data, + compressionType: compressionType + }; + }); + } + }]); + + return NodeCMapReaderFactory; + }(_base_factory.BaseCMapReaderFactory); + + exports.NodeStandardFontDataFactory = NodeStandardFontDataFactory = /*#__PURE__*/function (_BaseStandardFontData) { + _inherits(NodeStandardFontDataFactory, _BaseStandardFontData); + + var _super3 = _createSuper(NodeStandardFontDataFactory); + + function NodeStandardFontDataFactory() { + _classCallCheck(this, NodeStandardFontDataFactory); + + return _super3.apply(this, arguments); + } + + _createClass(NodeStandardFontDataFactory, [{ + key: "_fetchData", + value: function _fetchData(url) { + return fetchData(url); + } + }]); + + return NodeStandardFontDataFactory; + }(_base_factory.BaseStandardFontDataFactory); } -exports.apiCompatibilityParams = Object.freeze(compatibilityParams); /***/ }), -/* 197 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 150 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +Object.defineProperty(exports, "__esModule", ({ value: true -}); +})); +exports.AnnotationStorage = void 0; + +var _util = __w_pdfjs_require__(1); + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var AnnotationStorage = /*#__PURE__*/function () { + function AnnotationStorage() { + _classCallCheck(this, AnnotationStorage); + + this._storage = new Map(); + this._timeStamp = Date.now(); + this._modified = false; + this.onSetModified = null; + this.onResetModified = null; + } + + _createClass(AnnotationStorage, [{ + key: "getValue", + value: function getValue(key, defaultValue) { + var value = this._storage.get(key); + + if (value === undefined) { + return defaultValue; + } + + return Object.assign(defaultValue, value); + } + }, { + key: "setValue", + value: function setValue(key, value) { + var obj = this._storage.get(key); + + var modified = false; + + if (obj !== undefined) { + for (var _i = 0, _Object$entries = Object.entries(value); _i < _Object$entries.length; _i++) { + var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), + entry = _Object$entries$_i[0], + val = _Object$entries$_i[1]; + + if (obj[entry] !== val) { + modified = true; + obj[entry] = val; + } + } + } else { + modified = true; + + this._storage.set(key, value); + } + + if (modified) { + this._timeStamp = Date.now(); + + this._setModified(); + } + } + }, { + key: "getAll", + value: function getAll() { + return this._storage.size > 0 ? (0, _util.objectFromMap)(this._storage) : null; + } + }, { + key: "size", + get: function get() { + return this._storage.size; + } + }, { + key: "_setModified", + value: function _setModified() { + if (!this._modified) { + this._modified = true; + + if (typeof this.onSetModified === "function") { + this.onSetModified(); + } + } + } + }, { + key: "resetModified", + value: function resetModified() { + if (this._modified) { + this._modified = false; + + if (typeof this.onResetModified === "function") { + this.onResetModified(); + } + } + } + }, { + key: "serializable", + get: function get() { + return this._storage.size > 0 ? this._storage : null; + } + }, { + key: "lastModified", + get: function get() { + return this._timeStamp.toString(); + } + }]); + + return AnnotationStorage; +}(); + +exports.AnnotationStorage = AnnotationStorage; + +/***/ }), +/* 151 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); exports.CanvasGraphics = void 0; var _util = __w_pdfjs_require__(1); -var _pattern_helper = __w_pdfjs_require__(198); +var _pattern_helper = __w_pdfjs_require__(152); + +var _display_utils = __w_pdfjs_require__(146); + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } var MIN_FONT_SIZE = 16; var MAX_FONT_SIZE = 100; var MAX_GROUP_SIZE = 4096; -var MIN_WIDTH_FACTOR = 0.65; +var EXECUTION_TIME = 15; +var EXECUTION_STEPS = 10; var COMPILE_TYPE3_GLYPHS = true; var MAX_SIZE_TO_COMPILE = 1000; var FULL_CHUNK_HEIGHT = 16; +var LINEWIDTH_SCALE_FACTOR = 1.000001; -function addContextCurrentTransform(ctx) { - if (!ctx.mozCurrentTransform) { - ctx._originalSave = ctx.save; - ctx._originalRestore = ctx.restore; - ctx._originalRotate = ctx.rotate; - ctx._originalScale = ctx.scale; - ctx._originalTranslate = ctx.translate; - ctx._originalTransform = ctx.transform; - ctx._originalSetTransform = ctx.setTransform; - ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0]; - ctx._transformStack = []; - Object.defineProperty(ctx, "mozCurrentTransform", { - get: function getCurrentTransform() { - return this._transformMatrix; - } - }); - Object.defineProperty(ctx, "mozCurrentTransformInverse", { - get: function getCurrentTransformInverse() { - var m = this._transformMatrix; - var a = m[0], - b = m[1], - c = m[2], - d = m[3], - e = m[4], - f = m[5]; - var ad_bc = a * d - b * c; - var bc_ad = b * c - a * d; - 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]; - } - }); - - ctx.save = function ctxSave() { - var old = this._transformMatrix; - - this._transformStack.push(old); - - this._transformMatrix = old.slice(0, 6); - - this._originalSave(); - }; - - ctx.restore = function ctxRestore() { - var prev = this._transformStack.pop(); - - if (prev) { - this._transformMatrix = prev; - - this._originalRestore(); - } - }; - - ctx.translate = function ctxTranslate(x, y) { - var m = this._transformMatrix; - m[4] = m[0] * x + m[2] * y + m[4]; - m[5] = m[1] * x + m[3] * y + m[5]; - - this._originalTranslate(x, y); - }; - - ctx.scale = function ctxScale(x, y) { - var m = this._transformMatrix; - m[0] = m[0] * x; - m[1] = m[1] * x; - m[2] = m[2] * y; - m[3] = m[3] * y; - - this._originalScale(x, y); - }; - - ctx.transform = function ctxTransform(a, b, c, d, e, f) { - var m = this._transformMatrix; - 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]]; - - ctx._originalTransform(a, b, c, d, e, f); - }; - - ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) { - this._transformMatrix = [a, b, c, d, e, f]; - - ctx._originalSetTransform(a, b, c, d, e, f); - }; - - ctx.rotate = function ctxRotate(angle) { - var cosValue = Math.cos(angle); - var sinValue = Math.sin(angle); - var m = this._transformMatrix; - 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]]; - - this._originalRotate(angle); - }; +function mirrorContextOperations(ctx, destCtx) { + if (ctx._removeMirroring) { + throw new Error("Context is already forwarding operations."); } + + ctx.__originalSave = ctx.save; + ctx.__originalRestore = ctx.restore; + ctx.__originalRotate = ctx.rotate; + ctx.__originalScale = ctx.scale; + ctx.__originalTranslate = ctx.translate; + ctx.__originalTransform = ctx.transform; + ctx.__originalSetTransform = ctx.setTransform; + ctx.__originalResetTransform = ctx.resetTransform; + ctx.__originalClip = ctx.clip; + ctx.__originalMoveTo = ctx.moveTo; + ctx.__originalLineTo = ctx.lineTo; + ctx.__originalBezierCurveTo = ctx.bezierCurveTo; + ctx.__originalRect = ctx.rect; + ctx.__originalClosePath = ctx.closePath; + ctx.__originalBeginPath = ctx.beginPath; + + ctx._removeMirroring = function () { + ctx.save = ctx.__originalSave; + ctx.restore = ctx.__originalRestore; + ctx.rotate = ctx.__originalRotate; + ctx.scale = ctx.__originalScale; + ctx.translate = ctx.__originalTranslate; + ctx.transform = ctx.__originalTransform; + ctx.setTransform = ctx.__originalSetTransform; + ctx.resetTransform = ctx.__originalResetTransform; + ctx.clip = ctx.__originalClip; + ctx.moveTo = ctx.__originalMoveTo; + ctx.lineTo = ctx.__originalLineTo; + ctx.bezierCurveTo = ctx.__originalBezierCurveTo; + ctx.rect = ctx.__originalRect; + ctx.closePath = ctx.__originalClosePath; + ctx.beginPath = ctx.__originalBeginPath; + delete ctx._removeMirroring; + }; + + ctx.save = function ctxSave() { + destCtx.save(); + + this.__originalSave(); + }; + + ctx.restore = function ctxRestore() { + destCtx.restore(); + + this.__originalRestore(); + }; + + ctx.translate = function ctxTranslate(x, y) { + destCtx.translate(x, y); + + this.__originalTranslate(x, y); + }; + + ctx.scale = function ctxScale(x, y) { + destCtx.scale(x, y); + + this.__originalScale(x, y); + }; + + ctx.transform = function ctxTransform(a, b, c, d, e, f) { + destCtx.transform(a, b, c, d, e, f); + + this.__originalTransform(a, b, c, d, e, f); + }; + + ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) { + destCtx.setTransform(a, b, c, d, e, f); + + this.__originalSetTransform(a, b, c, d, e, f); + }; + + ctx.resetTransform = function ctxResetTransform() { + destCtx.resetTransform(); + + this.__originalResetTransform(); + }; + + ctx.rotate = function ctxRotate(angle) { + destCtx.rotate(angle); + + this.__originalRotate(angle); + }; + + ctx.clip = function ctxRotate(rule) { + destCtx.clip(rule); + + this.__originalClip(rule); + }; + + ctx.moveTo = function (x, y) { + destCtx.moveTo(x, y); + + this.__originalMoveTo(x, y); + }; + + ctx.lineTo = function (x, y) { + destCtx.lineTo(x, y); + + this.__originalLineTo(x, y); + }; + + ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) { + destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y); + + this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y); + }; + + ctx.rect = function (x, y, width, height) { + destCtx.rect(x, y, width, height); + + this.__originalRect(x, y, width, height); + }; + + ctx.closePath = function () { + destCtx.closePath(); + + this.__originalClosePath(); + }; + + ctx.beginPath = function () { + destCtx.beginPath(); + + this.__originalBeginPath(); + }; } -var CachedCanvases = function CachedCanvasesClosure() { +function addContextCurrentTransform(ctx) { + if (ctx._transformStack) { + ctx._transformStack = []; + } + + if (ctx.mozCurrentTransform) { + return; + } + + ctx._originalSave = ctx.save; + ctx._originalRestore = ctx.restore; + ctx._originalRotate = ctx.rotate; + ctx._originalScale = ctx.scale; + ctx._originalTranslate = ctx.translate; + ctx._originalTransform = ctx.transform; + ctx._originalSetTransform = ctx.setTransform; + ctx._originalResetTransform = ctx.resetTransform; + ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0]; + ctx._transformStack = []; + + try { + var desc = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(ctx), "lineWidth"); + ctx._setLineWidth = desc.set; + ctx._getLineWidth = desc.get; + Object.defineProperty(ctx, "lineWidth", { + set: function setLineWidth(width) { + this._setLineWidth(width * LINEWIDTH_SCALE_FACTOR); + }, + get: function getLineWidth() { + return this._getLineWidth(); + } + }); + } catch (_) {} + + Object.defineProperty(ctx, "mozCurrentTransform", { + get: function getCurrentTransform() { + return this._transformMatrix; + } + }); + Object.defineProperty(ctx, "mozCurrentTransformInverse", { + get: function getCurrentTransformInverse() { + var _this$_transformMatri = _slicedToArray(this._transformMatrix, 6), + a = _this$_transformMatri[0], + b = _this$_transformMatri[1], + c = _this$_transformMatri[2], + d = _this$_transformMatri[3], + e = _this$_transformMatri[4], + f = _this$_transformMatri[5]; + + var ad_bc = a * d - b * c; + var bc_ad = b * c - a * d; + 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]; + } + }); + + ctx.save = function ctxSave() { + var old = this._transformMatrix; + + this._transformStack.push(old); + + this._transformMatrix = old.slice(0, 6); + + this._originalSave(); + }; + + ctx.restore = function ctxRestore() { + if (this._transformStack.length === 0) { + (0, _util.warn)("Tried to restore a ctx when the stack was already empty."); + } + + var prev = this._transformStack.pop(); + + if (prev) { + this._transformMatrix = prev; + + this._originalRestore(); + } + }; + + ctx.translate = function ctxTranslate(x, y) { + var m = this._transformMatrix; + m[4] = m[0] * x + m[2] * y + m[4]; + m[5] = m[1] * x + m[3] * y + m[5]; + + this._originalTranslate(x, y); + }; + + ctx.scale = function ctxScale(x, y) { + var m = this._transformMatrix; + m[0] *= x; + m[1] *= x; + m[2] *= y; + m[3] *= y; + + this._originalScale(x, y); + }; + + ctx.transform = function ctxTransform(a, b, c, d, e, f) { + var m = this._transformMatrix; + 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]]; + + ctx._originalTransform(a, b, c, d, e, f); + }; + + ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) { + this._transformMatrix = [a, b, c, d, e, f]; + + ctx._originalSetTransform(a, b, c, d, e, f); + }; + + ctx.resetTransform = function ctxResetTransform() { + this._transformMatrix = [1, 0, 0, 1, 0, 0]; + + ctx._originalResetTransform(); + }; + + ctx.rotate = function ctxRotate(angle) { + var cosValue = Math.cos(angle); + var sinValue = Math.sin(angle); + var m = this._transformMatrix; + 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]]; + + this._originalRotate(angle); + }; +} + +var CachedCanvases = /*#__PURE__*/function () { function CachedCanvases(canvasFactory) { + _classCallCheck(this, CachedCanvases); + this.canvasFactory = canvasFactory; this.cache = Object.create(null); } - CachedCanvases.prototype = { - getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) { + _createClass(CachedCanvases, [{ + key: "getCanvas", + value: function getCanvas(id, width, height, trackTransform) { var canvasEntry; if (this.cache[id] !== undefined) { @@ -14956,37 +11166,37 @@ var CachedCanvases = function CachedCanvasesClosure() { } return canvasEntry; - }, - clear: function clear() { + } + }, { + key: "clear", + value: function clear() { for (var id in this.cache) { var canvasEntry = this.cache[id]; this.canvasFactory.destroy(canvasEntry); delete this.cache[id]; } } - }; + }]); + return CachedCanvases; }(); function compileType3Glyph(imgData) { var POINT_TO_PROCESS_LIMIT = 1000; - var width = imgData.width, - height = imgData.height; - var i, - j, - j0, - width1 = width + 1; - var points = new Uint8Array(width1 * (height + 1)); var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]); + var width = imgData.width, + height = imgData.height, + width1 = width + 1; + var i, ii, j, j0; + var points = new Uint8Array(width1 * (height + 1)); var lineSize = width + 7 & ~7, data0 = imgData.data; - var data = new Uint8Array(lineSize * height), - pos = 0, - ii; + var data = new Uint8Array(lineSize * height); + var pos = 0; for (i = 0, ii = data0.length; i < ii; i++) { - var mask = 128, - elem = data0[i]; + var elem = data0[i]; + var mask = 128; while (mask > 0) { data[pos++] = elem & mask ? 0 : 255; @@ -15090,9 +11300,8 @@ function compileType3Glyph(imgData) { } var coords = [p % width1, i]; - var type = points[p], - p0 = p, - pp; + var p0 = p; + var type = points[p]; do { var step = steps[type]; @@ -15101,7 +11310,7 @@ function compileType3Glyph(imgData) { p += step; } while (!points[p]); - pp = points[p]; + var pp = points[p]; if (pp !== 5 && pp !== 10) { type = pp; @@ -15111,8 +11320,7 @@ function compileType3Glyph(imgData) { points[p] &= type >> 2 | type << 2; } - coords.push(p % width1); - coords.push(p / width1 | 0); + coords.push(p % width1, p / width1 | 0); if (!points[p]) { --count; @@ -15129,12 +11337,12 @@ function compileType3Glyph(imgData) { c.translate(0, -height); c.beginPath(); - for (var i = 0, ii = outlines.length; i < ii; i++) { - var o = outlines[i]; + for (var k = 0, kk = outlines.length; k < kk; k++) { + var o = outlines[k]; c.moveTo(o[0], o[1]); - for (var j = 2, jj = o.length; j < jj; j += 2) { - c.lineTo(o[j], o[j + 1]); + for (var l = 2, ll = o.length; l < ll; l += 2) { + c.lineTo(o[l], o[l + 1]); } } @@ -15146,8 +11354,10 @@ function compileType3Glyph(imgData) { return drawOutline; } -var CanvasExtraState = function CanvasExtraStateClosure() { - function CanvasExtraState() { +var CanvasExtraState = /*#__PURE__*/function () { + function CanvasExtraState(width, height) { + _classCallCheck(this, CanvasExtraState); + this.alphaIsShape = false; this.fontSize = 0; this.fontSizeScale = 1; @@ -15171,28 +11381,472 @@ var CanvasExtraState = function CanvasExtraStateClosure() { this.strokeAlpha = 1; this.lineWidth = 1; this.activeSMask = null; - this.resumeSMaskCtx = null; + this.transferMaps = null; + this.startNewPathAndClipBox([0, 0, width, height]); } - CanvasExtraState.prototype = { - clone: function CanvasExtraState_clone() { - return Object.create(this); - }, - setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) { + _createClass(CanvasExtraState, [{ + key: "clone", + value: function clone() { + var clone = Object.create(this); + clone.clipBox = this.clipBox.slice(); + return clone; + } + }, { + key: "setCurrentPoint", + value: function setCurrentPoint(x, y) { this.x = x; this.y = y; } - }; + }, { + key: "updatePathMinMax", + value: function updatePathMinMax(transform, x, y) { + var _Util$applyTransform = _util.Util.applyTransform([x, y], transform); + + var _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2); + + x = _Util$applyTransform2[0]; + y = _Util$applyTransform2[1]; + this.minX = Math.min(this.minX, x); + this.minY = Math.min(this.minY, y); + this.maxX = Math.max(this.maxX, x); + this.maxY = Math.max(this.maxY, y); + } + }, { + key: "updateCurvePathMinMax", + value: function updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3) { + var box = _util.Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3); + + this.updatePathMinMax(transform, box[0], box[1]); + this.updatePathMinMax(transform, box[2], box[3]); + } + }, { + key: "getPathBoundingBox", + value: function getPathBoundingBox() { + var pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL; + var transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var box = [this.minX, this.minY, this.maxX, this.maxY]; + + if (pathType === _pattern_helper.PathType.STROKE) { + if (!transform) { + (0, _util.unreachable)("Stroke bounding box must include transform."); + } + + var scale = _util.Util.singularValueDecompose2dScale(transform); + + var xStrokePad = scale[0] * this.lineWidth / 2; + var yStrokePad = scale[1] * this.lineWidth / 2; + box[0] -= xStrokePad; + box[1] -= yStrokePad; + box[2] += xStrokePad; + box[3] += yStrokePad; + } + + return box; + } + }, { + key: "updateClipFromPath", + value: function updateClipFromPath() { + var intersect = _util.Util.intersect(this.clipBox, this.getPathBoundingBox()); + + this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]); + } + }, { + key: "startNewPathAndClipBox", + value: function startNewPathAndClipBox(box) { + this.clipBox = box; + this.minX = Infinity; + this.minY = Infinity; + this.maxX = 0; + this.maxY = 0; + } + }, { + key: "getClippedPathBoundingBox", + value: function getClippedPathBoundingBox() { + var pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL; + var transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + return _util.Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform)); + } + }]); + return CanvasExtraState; }(); -var CanvasGraphics = function CanvasGraphicsClosure() { - var EXECUTION_TIME = 15; - var EXECUTION_STEPS = 10; +function putBinaryImageData(ctx, imgData) { + var transferMaps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + + if (typeof ImageData !== "undefined" && imgData instanceof ImageData) { + ctx.putImageData(imgData, 0, 0); + return; + } + + var height = imgData.height, + width = imgData.width; + var partialChunkHeight = height % FULL_CHUNK_HEIGHT; + var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; + var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; + var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); + var srcPos = 0, + destPos; + var src = imgData.data; + var dest = chunkImgData.data; + var i, j, thisChunkHeight, elemsInThisChunk; + var transferMapRed, transferMapGreen, transferMapBlue, transferMapGray; + + if (transferMaps) { + switch (transferMaps.length) { + case 1: + transferMapRed = transferMaps[0]; + transferMapGreen = transferMaps[0]; + transferMapBlue = transferMaps[0]; + transferMapGray = transferMaps[0]; + break; + + case 4: + transferMapRed = transferMaps[0]; + transferMapGreen = transferMaps[1]; + transferMapBlue = transferMaps[2]; + transferMapGray = transferMaps[3]; + break; + } + } + + if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) { + var srcLength = src.byteLength; + var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2); + var dest32DataLength = dest32.length; + var fullSrcDiff = width + 7 >> 3; + var white = 0xffffffff; + var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff; + + if (transferMapGray) { + if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) { + var _ref = [black, white]; + white = _ref[0]; + black = _ref[1]; + } + } + + for (i = 0; i < totalChunks; i++) { + thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; + destPos = 0; + + for (j = 0; j < thisChunkHeight; j++) { + var srcDiff = srcLength - srcPos; + var k = 0; + var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7; + var kEndUnrolled = kEnd & ~7; + var mask = 0; + var srcByte = 0; + + for (; k < kEndUnrolled; k += 8) { + srcByte = src[srcPos++]; + dest32[destPos++] = srcByte & 128 ? white : black; + dest32[destPos++] = srcByte & 64 ? white : black; + dest32[destPos++] = srcByte & 32 ? white : black; + dest32[destPos++] = srcByte & 16 ? white : black; + dest32[destPos++] = srcByte & 8 ? white : black; + dest32[destPos++] = srcByte & 4 ? white : black; + dest32[destPos++] = srcByte & 2 ? white : black; + dest32[destPos++] = srcByte & 1 ? white : black; + } + + for (; k < kEnd; k++) { + if (mask === 0) { + srcByte = src[srcPos++]; + mask = 128; + } + + dest32[destPos++] = srcByte & mask ? white : black; + mask >>= 1; + } + } + + while (destPos < dest32DataLength) { + dest32[destPos++] = 0; + } + + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } + } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) { + var hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue); + j = 0; + elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4; + + for (i = 0; i < fullChunks; i++) { + dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); + srcPos += elemsInThisChunk; + + if (hasTransferMaps) { + for (var _k = 0; _k < elemsInThisChunk; _k += 4) { + if (transferMapRed) { + dest[_k + 0] = transferMapRed[dest[_k + 0]]; + } + + if (transferMapGreen) { + dest[_k + 1] = transferMapGreen[dest[_k + 1]]; + } + + if (transferMapBlue) { + dest[_k + 2] = transferMapBlue[dest[_k + 2]]; + } + } + } + + ctx.putImageData(chunkImgData, 0, j); + j += FULL_CHUNK_HEIGHT; + } + + if (i < totalChunks) { + elemsInThisChunk = width * partialChunkHeight * 4; + dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); + + if (hasTransferMaps) { + for (var _k2 = 0; _k2 < elemsInThisChunk; _k2 += 4) { + if (transferMapRed) { + dest[_k2 + 0] = transferMapRed[dest[_k2 + 0]]; + } + + if (transferMapGreen) { + dest[_k2 + 1] = transferMapGreen[dest[_k2 + 1]]; + } + + if (transferMapBlue) { + dest[_k2 + 2] = transferMapBlue[dest[_k2 + 2]]; + } + } + } + + ctx.putImageData(chunkImgData, 0, j); + } + } else if (imgData.kind === _util.ImageKind.RGB_24BPP) { + var _hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue); + + thisChunkHeight = FULL_CHUNK_HEIGHT; + elemsInThisChunk = width * thisChunkHeight; + + for (i = 0; i < totalChunks; i++) { + if (i >= fullChunks) { + thisChunkHeight = partialChunkHeight; + elemsInThisChunk = width * thisChunkHeight; + } + + destPos = 0; + + for (j = elemsInThisChunk; j--;) { + dest[destPos++] = src[srcPos++]; + dest[destPos++] = src[srcPos++]; + dest[destPos++] = src[srcPos++]; + dest[destPos++] = 255; + } + + if (_hasTransferMaps) { + for (var _k3 = 0; _k3 < destPos; _k3 += 4) { + if (transferMapRed) { + dest[_k3 + 0] = transferMapRed[dest[_k3 + 0]]; + } + + if (transferMapGreen) { + dest[_k3 + 1] = transferMapGreen[dest[_k3 + 1]]; + } + + if (transferMapBlue) { + dest[_k3 + 2] = transferMapBlue[dest[_k3 + 2]]; + } + } + } + + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } + } else { + throw new Error("bad image kind: ".concat(imgData.kind)); + } +} + +function putBinaryImageMask(ctx, imgData) { + var height = imgData.height, + width = imgData.width; + var partialChunkHeight = height % FULL_CHUNK_HEIGHT; + var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; + var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; + var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); + var srcPos = 0; + var src = imgData.data; + var dest = chunkImgData.data; + + for (var i = 0; i < totalChunks; i++) { + var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; + var destPos = 3; + + for (var j = 0; j < thisChunkHeight; j++) { + var elem = void 0, + mask = 0; + + for (var k = 0; k < width; k++) { + if (!mask) { + elem = src[srcPos++]; + mask = 128; + } + + dest[destPos] = elem & mask ? 0 : 255; + destPos += 4; + mask >>= 1; + } + } + + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } +} + +function copyCtxState(sourceCtx, destCtx) { + var properties = ["strokeStyle", "fillStyle", "fillRule", "globalAlpha", "lineWidth", "lineCap", "lineJoin", "miterLimit", "globalCompositeOperation", "font"]; + + for (var i = 0, ii = properties.length; i < ii; i++) { + var property = properties[i]; + + if (sourceCtx[property] !== undefined) { + destCtx[property] = sourceCtx[property]; + } + } + + if (sourceCtx.setLineDash !== undefined) { + destCtx.setLineDash(sourceCtx.getLineDash()); + destCtx.lineDashOffset = sourceCtx.lineDashOffset; + } +} + +function resetCtxToDefault(ctx) { + ctx.strokeStyle = "#000000"; + ctx.fillStyle = "#000000"; + ctx.fillRule = "nonzero"; + ctx.globalAlpha = 1; + ctx.lineWidth = 1; + ctx.lineCap = "butt"; + ctx.lineJoin = "miter"; + ctx.miterLimit = 10; + ctx.globalCompositeOperation = "source-over"; + ctx.font = "0.625em sans-serif"; + + if (ctx.setLineDash !== undefined) { + ctx.setLineDash([]); + ctx.lineDashOffset = 0; + } +} + +function composeSMaskBackdrop(bytes, r0, g0, b0) { + var length = bytes.length; + + for (var i = 3; i < length; i += 4) { + var alpha = bytes[i]; + + if (alpha === 0) { + bytes[i - 3] = r0; + bytes[i - 2] = g0; + bytes[i - 1] = b0; + } else if (alpha < 255) { + var alpha_ = 255 - alpha; + bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8; + bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8; + bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8; + } + } +} + +function composeSMaskAlpha(maskData, layerData, transferMap) { + var length = maskData.length; + var scale = 1 / 255; + + for (var i = 3; i < length; i += 4) { + var alpha = transferMap ? transferMap[maskData[i]] : maskData[i]; + layerData[i] = layerData[i] * alpha * scale | 0; + } +} + +function composeSMaskLuminosity(maskData, layerData, transferMap) { + var length = maskData.length; + + for (var i = 3; i < length; i += 4) { + var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28; + layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16; + } +} + +function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) { + var hasBackdrop = !!backdrop; + var r0 = hasBackdrop ? backdrop[0] : 0; + var g0 = hasBackdrop ? backdrop[1] : 0; + var b0 = hasBackdrop ? backdrop[2] : 0; + var composeFn; + + if (subtype === "Luminosity") { + composeFn = composeSMaskLuminosity; + } else { + composeFn = composeSMaskAlpha; + } + + var PIXELS_TO_PROCESS = 1048576; + var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width)); + + for (var row = 0; row < height; row += chunkSize) { + var chunkHeight = Math.min(chunkSize, height - row); + var maskData = maskCtx.getImageData(layerOffsetX - maskOffsetX, row + (layerOffsetY - maskOffsetY), width, chunkHeight); + var layerData = layerCtx.getImageData(layerOffsetX, row + layerOffsetY, width, chunkHeight); + + if (hasBackdrop) { + composeSMaskBackdrop(maskData.data, r0, g0, b0); + } + + composeFn(maskData.data, layerData.data, transferMap); + layerCtx.putImageData(layerData, layerOffsetX, row + layerOffsetY); + } +} + +function composeSMask(ctx, smask, layerCtx, layerBox) { + var layerOffsetX = layerBox[0]; + var layerOffsetY = layerBox[1]; + var layerWidth = layerBox[2] - layerOffsetX; + var layerHeight = layerBox[3] - layerOffsetY; + + if (layerWidth === 0 || layerHeight === 0) { + return; + } + + genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY); + ctx.save(); + ctx.globalAlpha = 1; + ctx.globalCompositeOperation = "source-over"; + ctx.setTransform(1, 0, 0, 1, 0, 0); + ctx.drawImage(layerCtx.canvas, 0, 0); + ctx.restore(); +} + +function getImageSmoothingEnabled(transform, interpolate) { + var scale = _util.Util.singularValueDecompose2dScale(transform); + + scale[0] = Math.fround(scale[0]); + scale[1] = Math.fround(scale[1]); + var actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS); + + if (interpolate !== undefined) { + return interpolate; + } else if (scale[0] <= actualScale || scale[1] <= actualScale) { + return true; + } + + return false; +} + +var LINE_CAP_STYLES = ["butt", "round", "square"]; +var LINE_JOIN_STYLES = ["miter", "round", "bevel"]; +var NORMAL_CLIP = {}; +var EO_CLIP = {}; + +var CanvasGraphics = /*#__PURE__*/function () { + function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, imageLayer, optionalContentConfig, annotationCanvasMap) { + _classCallCheck(this, CanvasGraphics); - function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) { this.ctx = canvasCtx; - this.current = new CanvasExtraState(); + this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height); this.stateStack = []; this.pendingClip = null; this.pendingEOFill = false; @@ -15201,7 +11855,6 @@ var CanvasGraphics = function CanvasGraphicsClosure() { this.commonObjs = commonObjs; this.objs = objs; this.canvasFactory = canvasFactory; - this.webGLContext = webGLContext; this.imageLayer = imageLayer; this.groupStack = []; this.processingType3 = null; @@ -15211,297 +11864,34 @@ var CanvasGraphics = function CanvasGraphicsClosure() { this.smaskStack = []; this.smaskCounter = 0; this.tempSMask = null; + this.suspendedCtx = null; + this.contentVisible = true; + this.markedContentStack = []; + this.optionalContentConfig = optionalContentConfig; this.cachedCanvases = new CachedCanvases(this.canvasFactory); + this.cachedPatterns = new Map(); + this.annotationCanvasMap = annotationCanvasMap; + this.viewportScale = 1; + this.outputScaleX = 1; + this.outputScaleY = 1; if (canvasCtx) { addContextCurrentTransform(canvasCtx); } + this._cachedScaleForStroking = null; this._cachedGetSinglePixelWidth = null; } - function putBinaryImageData(ctx, imgData) { - if (typeof ImageData !== "undefined" && imgData instanceof ImageData) { - ctx.putImageData(imgData, 0, 0); - return; - } - - var height = imgData.height, - width = imgData.width; - var partialChunkHeight = height % FULL_CHUNK_HEIGHT; - var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; - var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; - var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); - var srcPos = 0, - destPos; - var src = imgData.data; - var dest = chunkImgData.data; - var i, j, thisChunkHeight, elemsInThisChunk; - - if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) { - var srcLength = src.byteLength; - var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2); - var dest32DataLength = dest32.length; - var fullSrcDiff = width + 7 >> 3; - var white = 0xffffffff; - var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff; - - for (i = 0; i < totalChunks; i++) { - thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; - destPos = 0; - - for (j = 0; j < thisChunkHeight; j++) { - var srcDiff = srcLength - srcPos; - var k = 0; - var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7; - var kEndUnrolled = kEnd & ~7; - var mask = 0; - var srcByte = 0; - - for (; k < kEndUnrolled; k += 8) { - srcByte = src[srcPos++]; - dest32[destPos++] = srcByte & 128 ? white : black; - dest32[destPos++] = srcByte & 64 ? white : black; - dest32[destPos++] = srcByte & 32 ? white : black; - dest32[destPos++] = srcByte & 16 ? white : black; - dest32[destPos++] = srcByte & 8 ? white : black; - dest32[destPos++] = srcByte & 4 ? white : black; - dest32[destPos++] = srcByte & 2 ? white : black; - dest32[destPos++] = srcByte & 1 ? white : black; - } - - for (; k < kEnd; k++) { - if (mask === 0) { - srcByte = src[srcPos++]; - mask = 128; - } - - dest32[destPos++] = srcByte & mask ? white : black; - mask >>= 1; - } - } - - while (destPos < dest32DataLength) { - dest32[destPos++] = 0; - } - - ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); - } - } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) { - j = 0; - elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4; - - for (i = 0; i < fullChunks; i++) { - dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); - srcPos += elemsInThisChunk; - ctx.putImageData(chunkImgData, 0, j); - j += FULL_CHUNK_HEIGHT; - } - - if (i < totalChunks) { - elemsInThisChunk = width * partialChunkHeight * 4; - dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); - ctx.putImageData(chunkImgData, 0, j); - } - } else if (imgData.kind === _util.ImageKind.RGB_24BPP) { - thisChunkHeight = FULL_CHUNK_HEIGHT; - elemsInThisChunk = width * thisChunkHeight; - - for (i = 0; i < totalChunks; i++) { - if (i >= fullChunks) { - thisChunkHeight = partialChunkHeight; - elemsInThisChunk = width * thisChunkHeight; - } - - destPos = 0; - - for (j = elemsInThisChunk; j--;) { - dest[destPos++] = src[srcPos++]; - dest[destPos++] = src[srcPos++]; - dest[destPos++] = src[srcPos++]; - dest[destPos++] = 255; - } - - ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); - } - } else { - throw new Error("bad image kind: ".concat(imgData.kind)); - } - } - - function putBinaryImageMask(ctx, imgData) { - var height = imgData.height, - width = imgData.width; - var partialChunkHeight = height % FULL_CHUNK_HEIGHT; - var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; - var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; - var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); - var srcPos = 0; - var src = imgData.data; - var dest = chunkImgData.data; - - for (var i = 0; i < totalChunks; i++) { - var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; - var destPos = 3; - - for (var j = 0; j < thisChunkHeight; j++) { - var mask = 0; - - for (var k = 0; k < width; k++) { - if (!mask) { - var elem = src[srcPos++]; - mask = 128; - } - - dest[destPos] = elem & mask ? 0 : 255; - destPos += 4; - mask >>= 1; - } - } - - ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); - } - } - - function copyCtxState(sourceCtx, destCtx) { - var properties = ["strokeStyle", "fillStyle", "fillRule", "globalAlpha", "lineWidth", "lineCap", "lineJoin", "miterLimit", "globalCompositeOperation", "font"]; - - for (var i = 0, ii = properties.length; i < ii; i++) { - var property = properties[i]; - - if (sourceCtx[property] !== undefined) { - destCtx[property] = sourceCtx[property]; - } - } - - if (sourceCtx.setLineDash !== undefined) { - destCtx.setLineDash(sourceCtx.getLineDash()); - destCtx.lineDashOffset = sourceCtx.lineDashOffset; - } - } - - function resetCtxToDefault(ctx) { - ctx.strokeStyle = "#000000"; - ctx.fillStyle = "#000000"; - ctx.fillRule = "nonzero"; - ctx.globalAlpha = 1; - ctx.lineWidth = 1; - ctx.lineCap = "butt"; - ctx.lineJoin = "miter"; - ctx.miterLimit = 10; - ctx.globalCompositeOperation = "source-over"; - ctx.font = "0.625em sans-serif"; - - if (ctx.setLineDash !== undefined) { - ctx.setLineDash([]); - ctx.lineDashOffset = 0; - } - } - - function composeSMaskBackdrop(bytes, r0, g0, b0) { - var length = bytes.length; - - for (var i = 3; i < length; i += 4) { - var alpha = bytes[i]; - - if (alpha === 0) { - bytes[i - 3] = r0; - bytes[i - 2] = g0; - bytes[i - 1] = b0; - } else if (alpha < 255) { - var alpha_ = 255 - alpha; - bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8; - bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8; - bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8; - } - } - } - - function composeSMaskAlpha(maskData, layerData, transferMap) { - var length = maskData.length; - var scale = 1 / 255; - - for (var i = 3; i < length; i += 4) { - var alpha = transferMap ? transferMap[maskData[i]] : maskData[i]; - layerData[i] = layerData[i] * alpha * scale | 0; - } - } - - function composeSMaskLuminosity(maskData, layerData, transferMap) { - var length = maskData.length; - - for (var i = 3; i < length; i += 4) { - var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28; - layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16; - } - } - - function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) { - var hasBackdrop = !!backdrop; - var r0 = hasBackdrop ? backdrop[0] : 0; - var g0 = hasBackdrop ? backdrop[1] : 0; - var b0 = hasBackdrop ? backdrop[2] : 0; - var composeFn; - - if (subtype === "Luminosity") { - composeFn = composeSMaskLuminosity; - } else { - composeFn = composeSMaskAlpha; - } - - var PIXELS_TO_PROCESS = 1048576; - var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width)); - - for (var row = 0; row < height; row += chunkSize) { - var chunkHeight = Math.min(chunkSize, height - row); - var maskData = maskCtx.getImageData(0, row, width, chunkHeight); - var layerData = layerCtx.getImageData(0, row, width, chunkHeight); - - if (hasBackdrop) { - composeSMaskBackdrop(maskData.data, r0, g0, b0); - } - - composeFn(maskData.data, layerData.data, transferMap); - maskCtx.putImageData(layerData, 0, row); - } - } - - function composeSMask(ctx, smask, layerCtx, webGLContext) { - var mask = smask.canvas; - var maskCtx = smask.context; - ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY); - var backdrop = smask.backdrop || null; - - if (!smask.transferMap && webGLContext.isEnabled) { - var composed = webGLContext.composeSMask({ - layer: layerCtx.canvas, - mask: mask, - properties: { - subtype: smask.subtype, - backdrop: backdrop - } - }); - ctx.setTransform(1, 0, 0, 1, 0, 0); - ctx.drawImage(composed, smask.offsetX, smask.offsetY); - return; - } - - genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap); - ctx.drawImage(mask, 0, 0); - } - - var LINE_CAP_STYLES = ["butt", "round", "square"]; - var LINE_JOIN_STYLES = ["miter", "round", "bevel"]; - var NORMAL_CLIP = {}; - var EO_CLIP = {}; - CanvasGraphics.prototype = { - beginDrawing: function beginDrawing(_ref) { - var transform = _ref.transform, - viewport = _ref.viewport, - _ref$transparency = _ref.transparency, - transparency = _ref$transparency === void 0 ? false : _ref$transparency, - _ref$background = _ref.background, - background = _ref$background === void 0 ? null : _ref$background; + _createClass(CanvasGraphics, [{ + key: "beginDrawing", + value: function beginDrawing(_ref2) { + var transform = _ref2.transform, + viewport = _ref2.viewport, + _ref2$transparency = _ref2.transparency, + transparency = _ref2$transparency === void 0 ? false : _ref2$transparency, + _ref2$background = _ref2.background, + background = _ref2$background === void 0 ? null : _ref2$background; var width = this.ctx.canvas.width; var height = this.ctx.canvas.height; this.ctx.save(); @@ -15523,16 +11913,21 @@ var CanvasGraphics = function CanvasGraphicsClosure() { if (transform) { this.ctx.transform.apply(this.ctx, transform); + this.outputScaleX = transform[0]; + this.outputScaleY = transform[0]; } this.ctx.transform.apply(this.ctx, viewport.transform); + this.viewportScale = viewport.scale; this.baseTransform = this.ctx.mozCurrentTransform.slice(); if (this.imageLayer) { this.imageLayer.beginLayout(); } - }, - executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) { + } + }, { + key: "executeOperatorList", + value: function executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) { var argsArray = operatorList.argsArray; var fnArray = operatorList.fnArray; var i = executionStartIdx || 0; @@ -15560,12 +11955,11 @@ var CanvasGraphics = function CanvasGraphicsClosure() { if (fnId !== _util.OPS.dependency) { this[fnId].apply(this, argsArray[i]); } else { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iterator = _createForOfIteratorHelper(argsArray[i]), + _step; try { - for (var _iterator = argsArray[i][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var depObjId = _step.value; var objsPool = depObjId.startsWith("g_") ? commonObjs : objs; @@ -15575,18 +11969,9 @@ var CanvasGraphics = function CanvasGraphicsClosure() { } } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator["return"] != null) { - _iterator["return"](); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } } @@ -15605,10 +11990,12 @@ var CanvasGraphics = function CanvasGraphicsClosure() { steps = 0; } } - }, - endDrawing: function CanvasGraphics_endDrawing() { - if (this.current.activeSMask !== null) { - this.endSMaskGroup(); + } + }, { + key: "endDrawing", + value: function endDrawing() { + while (this.stateStack.length || this.inSMaskMode) { + this.restore(); } this.ctx.restore(); @@ -15623,36 +12010,146 @@ var CanvasGraphics = function CanvasGraphicsClosure() { } this.cachedCanvases.clear(); - this.webGLContext.clear(); + this.cachedPatterns.clear(); if (this.imageLayer) { this.imageLayer.endLayout(); } - }, - setLineWidth: function CanvasGraphics_setLineWidth(width) { + } + }, { + key: "_scaleImage", + value: function _scaleImage(img, inverseTransform) { + var width = img.width; + var height = img.height; + var widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1); + var heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1); + var paintWidth = width, + paintHeight = height; + var tmpCanvasId = "prescale1"; + var tmpCanvas, tmpCtx; + + while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) { + var newWidth = paintWidth, + newHeight = paintHeight; + + if (widthScale > 2 && paintWidth > 1) { + newWidth = Math.ceil(paintWidth / 2); + widthScale /= paintWidth / newWidth; + } + + if (heightScale > 2 && paintHeight > 1) { + newHeight = Math.ceil(paintHeight / 2); + heightScale /= paintHeight / newHeight; + } + + tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight); + tmpCtx = tmpCanvas.context; + tmpCtx.clearRect(0, 0, newWidth, newHeight); + tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight); + img = tmpCanvas.canvas; + paintWidth = newWidth; + paintHeight = newHeight; + tmpCanvasId = tmpCanvasId === "prescale1" ? "prescale2" : "prescale1"; + } + + return { + img: img, + paintWidth: paintWidth, + paintHeight: paintHeight + }; + } + }, { + key: "_createMaskCanvas", + value: function _createMaskCanvas(img) { + var ctx = this.ctx; + var width = img.width, + height = img.height; + var fillColor = this.current.fillColor; + var isPatternFill = this.current.patternFill; + var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height); + var maskCtx = maskCanvas.context; + putBinaryImageMask(maskCtx, img); + var objToCanvas = ctx.mozCurrentTransform; + + var maskToCanvas = _util.Util.transform(objToCanvas, [1 / width, 0, 0, -1 / height, 0, 0]); + + maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]); + + var cord1 = _util.Util.applyTransform([0, 0], maskToCanvas); + + var cord2 = _util.Util.applyTransform([width, height], maskToCanvas); + + var rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]); + + var drawnWidth = Math.ceil(rect[2] - rect[0]); + var drawnHeight = Math.ceil(rect[3] - rect[1]); + var fillCanvas = this.cachedCanvases.getCanvas("fillCanvas", drawnWidth, drawnHeight, true); + var fillCtx = fillCanvas.context; + var offsetX = Math.min(cord1[0], cord2[0]); + var offsetY = Math.min(cord1[1], cord2[1]); + fillCtx.translate(-offsetX, -offsetY); + fillCtx.transform.apply(fillCtx, maskToCanvas); + + var scaled = this._scaleImage(maskCanvas.canvas, fillCtx.mozCurrentTransformInverse); + + fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled(fillCtx.mozCurrentTransform, img.interpolate); + fillCtx.drawImage(scaled.img, 0, 0, scaled.img.width, scaled.img.height, 0, 0, width, height); + fillCtx.globalCompositeOperation = "source-in"; + + var inverse = _util.Util.transform(fillCtx.mozCurrentTransformInverse, [1, 0, 0, 1, -offsetX, -offsetY]); + + fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, _pattern_helper.PathType.FILL) : fillColor; + fillCtx.fillRect(0, 0, width, height); + return { + canvas: fillCanvas.canvas, + offsetX: Math.round(offsetX), + offsetY: Math.round(offsetY) + }; + } + }, { + key: "setLineWidth", + value: function setLineWidth(width) { + if (width !== this.current.lineWidth) { + this._cachedScaleForStroking = null; + } + this.current.lineWidth = width; this.ctx.lineWidth = width; - }, - setLineCap: function CanvasGraphics_setLineCap(style) { + } + }, { + key: "setLineCap", + value: function setLineCap(style) { this.ctx.lineCap = LINE_CAP_STYLES[style]; - }, - setLineJoin: function CanvasGraphics_setLineJoin(style) { + } + }, { + key: "setLineJoin", + value: function setLineJoin(style) { this.ctx.lineJoin = LINE_JOIN_STYLES[style]; - }, - setMiterLimit: function CanvasGraphics_setMiterLimit(limit) { + } + }, { + key: "setMiterLimit", + value: function setMiterLimit(limit) { this.ctx.miterLimit = limit; - }, - setDash: function CanvasGraphics_setDash(dashArray, dashPhase) { + } + }, { + key: "setDash", + value: function setDash(dashArray, dashPhase) { var ctx = this.ctx; if (ctx.setLineDash !== undefined) { ctx.setLineDash(dashArray); ctx.lineDashOffset = dashPhase; } - }, - setRenderingIntent: function setRenderingIntent(intent) {}, - setFlatness: function setFlatness(flatness) {}, - setGState: function CanvasGraphics_setGState(states) { + } + }, { + key: "setRenderingIntent", + value: function setRenderingIntent(intent) {} + }, { + key: "setFlatness", + value: function setFlatness(flatness) {} + }, { + key: "setGState", + value: function setGState(states) { for (var i = 0, ii = states.length; i < ii; i++) { var state = states[i]; var key = state[0]; @@ -15705,114 +12202,140 @@ var CanvasGraphics = function CanvasGraphicsClosure() { break; case "SMask": - if (this.current.activeSMask) { - if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) { - this.suspendSMaskGroup(); - } else { - this.endSMaskGroup(); - } - } - this.current.activeSMask = value ? this.tempSMask : null; - - if (this.current.activeSMask) { - this.beginSMaskGroup(); - } - this.tempSMask = null; + this.checkSMaskState(); break; + + case "TR": + this.current.transferMaps = value; } } - }, - beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() { - var activeSMask = this.current.activeSMask; - var drawnWidth = activeSMask.canvas.width; - var drawnHeight = activeSMask.canvas.height; + } + }, { + key: "inSMaskMode", + get: function get() { + return !!this.suspendedCtx; + } + }, { + key: "checkSMaskState", + value: function checkSMaskState() { + var inSMaskMode = this.inSMaskMode; + + if (this.current.activeSMask && !inSMaskMode) { + this.beginSMaskMode(); + } else if (!this.current.activeSMask && inSMaskMode) { + this.endSMaskMode(); + } + } + }, { + key: "beginSMaskMode", + value: function beginSMaskMode() { + if (this.inSMaskMode) { + throw new Error("beginSMaskMode called while already in smask mode"); + } + + var drawnWidth = this.ctx.canvas.width; + var drawnHeight = this.ctx.canvas.height; var cacheId = "smaskGroupAt" + this.groupLevel; var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true); - var currentCtx = this.ctx; - var currentTransform = currentCtx.mozCurrentTransform; - this.ctx.save(); - var groupCtx = scratchCanvas.context; - groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY); - groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY); - groupCtx.transform.apply(groupCtx, currentTransform); - activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse; - copyCtxState(currentCtx, groupCtx); - this.ctx = groupCtx; + this.suspendedCtx = this.ctx; + this.ctx = scratchCanvas.context; + var ctx = this.ctx; + ctx.setTransform.apply(ctx, this.suspendedCtx.mozCurrentTransform); + copyCtxState(this.suspendedCtx, ctx); + mirrorContextOperations(ctx, this.suspendedCtx); this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]); - this.groupStack.push(currentCtx); - this.groupLevel++; - }, - suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() { - var groupCtx = this.ctx; - this.groupLevel--; - this.ctx = this.groupStack.pop(); - composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext); - this.ctx.restore(); + } + }, { + key: "endSMaskMode", + value: function endSMaskMode() { + if (!this.inSMaskMode) { + throw new Error("endSMaskMode called while not in smask mode"); + } + + this.ctx._removeMirroring(); + + copyCtxState(this.ctx, this.suspendedCtx); + this.ctx = this.suspendedCtx; + this.suspendedCtx = null; + } + }, { + key: "compose", + value: function compose(dirtyBox) { + if (!this.current.activeSMask) { + return; + } + + if (!dirtyBox) { + dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height]; + } else { + dirtyBox[0] = Math.floor(dirtyBox[0]); + dirtyBox[1] = Math.floor(dirtyBox[1]); + dirtyBox[2] = Math.ceil(dirtyBox[2]); + dirtyBox[3] = Math.ceil(dirtyBox[3]); + } + + var smask = this.current.activeSMask; + var suspendedCtx = this.suspendedCtx; + composeSMask(suspendedCtx, smask, this.ctx, dirtyBox); this.ctx.save(); - copyCtxState(groupCtx, this.ctx); - this.current.resumeSMaskCtx = groupCtx; - - var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform); - - this.ctx.transform.apply(this.ctx, deltaTransform); - groupCtx.save(); - groupCtx.setTransform(1, 0, 0, 1, 0, 0); - groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height); - groupCtx.restore(); - }, - resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() { - var groupCtx = this.current.resumeSMaskCtx; - var currentCtx = this.ctx; - this.ctx = groupCtx; - this.groupStack.push(currentCtx); - this.groupLevel++; - }, - endSMaskGroup: function CanvasGraphics_endSMaskGroup() { - var groupCtx = this.ctx; - this.groupLevel--; - this.ctx = this.groupStack.pop(); - composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext); + this.ctx.setTransform(1, 0, 0, 1, 0, 0); + this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height); this.ctx.restore(); - copyCtxState(groupCtx, this.ctx); + } + }, { + key: "save", + value: function save() { + if (this.inSMaskMode) { + copyCtxState(this.ctx, this.suspendedCtx); + this.suspendedCtx.save(); + } else { + this.ctx.save(); + } - var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform); - - this.ctx.transform.apply(this.ctx, deltaTransform); - }, - save: function CanvasGraphics_save() { - this.ctx.save(); var old = this.current; this.stateStack.push(old); this.current = old.clone(); - this.current.resumeSMaskCtx = null; - }, - restore: function CanvasGraphics_restore() { - if (this.current.resumeSMaskCtx) { - this.resumeSMaskGroup(); - } - - if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) { - this.endSMaskGroup(); + } + }, { + key: "restore", + value: function restore() { + if (this.stateStack.length === 0 && this.inSMaskMode) { + this.endSMaskMode(); } if (this.stateStack.length !== 0) { this.current = this.stateStack.pop(); - this.ctx.restore(); + + if (this.inSMaskMode) { + this.suspendedCtx.restore(); + copyCtxState(this.suspendedCtx, this.ctx); + } else { + this.ctx.restore(); + } + + this.checkSMaskState(); this.pendingClip = null; + this._cachedScaleForStroking = null; this._cachedGetSinglePixelWidth = null; } - }, - transform: function CanvasGraphics_transform(a, b, c, d, e, f) { + } + }, { + key: "transform", + value: function transform(a, b, c, d, e, f) { this.ctx.transform(a, b, c, d, e, f); + this._cachedScaleForStroking = null; this._cachedGetSinglePixelWidth = null; - }, - constructPath: function CanvasGraphics_constructPath(ops, args) { + } + }, { + key: "constructPath", + value: function constructPath(ops, args) { var ctx = this.ctx; var current = this.current; var x = current.x, y = current.y; + var startX, startY; for (var i = 0, j = 0, ii = ops.length; i < ii; i++) { switch (ops[i] | 0) { @@ -15821,55 +12344,64 @@ var CanvasGraphics = function CanvasGraphicsClosure() { y = args[j++]; var width = args[j++]; var height = args[j++]; - - if (width === 0) { - width = this.getSinglePixelWidth(); - } - - if (height === 0) { - height = this.getSinglePixelWidth(); - } - var xw = x + width; var yh = y + height; - this.ctx.moveTo(x, y); - this.ctx.lineTo(xw, y); - this.ctx.lineTo(xw, yh); - this.ctx.lineTo(x, yh); - this.ctx.lineTo(x, y); - this.ctx.closePath(); + ctx.moveTo(x, y); + + if (width === 0 || height === 0) { + ctx.lineTo(xw, yh); + } else { + ctx.lineTo(xw, y); + ctx.lineTo(xw, yh); + ctx.lineTo(x, yh); + } + + current.updatePathMinMax(ctx.mozCurrentTransform, x, y); + current.updatePathMinMax(ctx.mozCurrentTransform, xw, yh); + ctx.closePath(); break; case _util.OPS.moveTo: x = args[j++]; y = args[j++]; ctx.moveTo(x, y); + current.updatePathMinMax(ctx.mozCurrentTransform, x, y); break; case _util.OPS.lineTo: x = args[j++]; y = args[j++]; ctx.lineTo(x, y); + current.updatePathMinMax(ctx.mozCurrentTransform, x, y); break; case _util.OPS.curveTo: + startX = x; + startY = y; x = args[j + 4]; y = args[j + 5]; ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y); + current.updateCurvePathMinMax(ctx.mozCurrentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y); j += 6; break; case _util.OPS.curveTo2: + startX = x; + startY = y; ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]); + current.updateCurvePathMinMax(ctx.mozCurrentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3]); x = args[j + 2]; y = args[j + 3]; j += 4; break; case _util.OPS.curveTo3: + startX = x; + startY = y; x = args[j + 2]; y = args[j + 3]; ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y); + current.updateCurvePathMinMax(ctx.mozCurrentTransform, startX, startY, args[j], args[j + 1], x, y, x, y); j += 4; break; @@ -15880,42 +12412,46 @@ var CanvasGraphics = function CanvasGraphicsClosure() { } current.setCurrentPoint(x, y); - }, - closePath: function CanvasGraphics_closePath() { + } + }, { + key: "closePath", + value: function closePath() { this.ctx.closePath(); - }, - stroke: function CanvasGraphics_stroke(consumePath) { + } + }, { + key: "stroke", + value: function stroke(consumePath) { consumePath = typeof consumePath !== "undefined" ? consumePath : true; var ctx = this.ctx; var strokeColor = this.current.strokeColor; ctx.globalAlpha = this.current.strokeAlpha; - if (strokeColor && strokeColor.hasOwnProperty("type") && strokeColor.type === "Pattern") { - ctx.save(); - var transform = ctx.mozCurrentTransform; - - var scale = _util.Util.singularValueDecompose2dScale(transform)[0]; - - ctx.strokeStyle = strokeColor.getPattern(ctx, this); - ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale); - ctx.stroke(); - ctx.restore(); - } else { - ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth); - ctx.stroke(); + if (this.contentVisible) { + if (_typeof(strokeColor) === "object" && strokeColor !== null && strokeColor !== void 0 && strokeColor.getPattern) { + ctx.save(); + ctx.strokeStyle = strokeColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.STROKE); + this.rescaleAndStroke(false); + ctx.restore(); + } else { + this.rescaleAndStroke(true); + } } if (consumePath) { - this.consumePath(); + this.consumePath(this.current.getClippedPathBoundingBox()); } ctx.globalAlpha = this.current.fillAlpha; - }, - closeStroke: function CanvasGraphics_closeStroke() { + } + }, { + key: "closeStroke", + value: function closeStroke() { this.closePath(); this.stroke(); - }, - fill: function CanvasGraphics_fill(consumePath) { + } + }, { + key: "fill", + value: function fill(consumePath) { consumePath = typeof consumePath !== "undefined" ? consumePath : true; var ctx = this.ctx; var fillColor = this.current.fillColor; @@ -15924,20 +12460,19 @@ var CanvasGraphics = function CanvasGraphicsClosure() { if (isPatternFill) { ctx.save(); - - if (this.baseTransform) { - ctx.setTransform.apply(ctx, this.baseTransform); - } - - ctx.fillStyle = fillColor.getPattern(ctx, this); + ctx.fillStyle = fillColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL); needRestore = true; } - if (this.pendingEOFill) { - ctx.fill("evenodd"); - this.pendingEOFill = false; - } else { - ctx.fill(); + var intersect = this.current.getClippedPathBoundingBox(); + + if (this.contentVisible && intersect !== null) { + if (this.pendingEOFill) { + ctx.fill("evenodd"); + this.pendingEOFill = false; + } else { + ctx.fill(); + } } if (needRestore) { @@ -15945,47 +12480,67 @@ var CanvasGraphics = function CanvasGraphicsClosure() { } if (consumePath) { - this.consumePath(); + this.consumePath(intersect); } - }, - eoFill: function CanvasGraphics_eoFill() { + } + }, { + key: "eoFill", + value: function eoFill() { this.pendingEOFill = true; this.fill(); - }, - fillStroke: function CanvasGraphics_fillStroke() { + } + }, { + key: "fillStroke", + value: function fillStroke() { this.fill(false); this.stroke(false); this.consumePath(); - }, - eoFillStroke: function CanvasGraphics_eoFillStroke() { + } + }, { + key: "eoFillStroke", + value: function eoFillStroke() { this.pendingEOFill = true; this.fillStroke(); - }, - closeFillStroke: function CanvasGraphics_closeFillStroke() { + } + }, { + key: "closeFillStroke", + value: function closeFillStroke() { this.closePath(); this.fillStroke(); - }, - closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() { + } + }, { + key: "closeEOFillStroke", + value: function closeEOFillStroke() { this.pendingEOFill = true; this.closePath(); this.fillStroke(); - }, - endPath: function CanvasGraphics_endPath() { + } + }, { + key: "endPath", + value: function endPath() { this.consumePath(); - }, - clip: function CanvasGraphics_clip() { + } + }, { + key: "clip", + value: function clip() { this.pendingClip = NORMAL_CLIP; - }, - eoClip: function CanvasGraphics_eoClip() { + } + }, { + key: "eoClip", + value: function eoClip() { this.pendingClip = EO_CLIP; - }, - beginText: function CanvasGraphics_beginText() { + } + }, { + key: "beginText", + value: function beginText() { this.current.textMatrix = _util.IDENTITY_MATRIX; this.current.textMatrixScale = 1; this.current.x = this.current.lineX = 0; this.current.y = this.current.lineY = 0; - }, - endText: function CanvasGraphics_endText() { + } + }, { + key: "endText", + value: function endText() { var paths = this.pendingTextPaths; var ctx = this.ctx; @@ -16008,20 +12563,30 @@ var CanvasGraphics = function CanvasGraphicsClosure() { ctx.clip(); ctx.beginPath(); delete this.pendingTextPaths; - }, - setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) { + } + }, { + key: "setCharSpacing", + value: function setCharSpacing(spacing) { this.current.charSpacing = spacing; - }, - setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) { + } + }, { + key: "setWordSpacing", + value: function setWordSpacing(spacing) { this.current.wordSpacing = spacing; - }, - setHScale: function CanvasGraphics_setHScale(scale) { + } + }, { + key: "setHScale", + value: function setHScale(scale) { this.current.textHScale = scale / 100; - }, - setLeading: function CanvasGraphics_setLeading(leading) { + } + }, { + key: "setLeading", + value: function setLeading(leading) { this.current.leading = -leading; - }, - setFont: function CanvasGraphics_setFont(fontRefName, size) { + } + }, { + key: "setFont", + value: function setFont(fontRefName, size) { var fontObj = this.commonObjs.get(fontRefName); var current = this.current; @@ -16029,7 +12594,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() { throw new Error("Can't find font for ".concat(fontRefName)); } - current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX; + current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX; if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) { (0, _util.warn)("Invalid font matrix for font " + fontRefName); @@ -16070,31 +12635,45 @@ var CanvasGraphics = function CanvasGraphicsClosure() { this.current.fontSizeScale = size / browserFontSize; this.ctx.font = "".concat(italic, " ").concat(bold, " ").concat(browserFontSize / 16.0, "em ").concat(typeface); - }, - setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) { + } + }, { + key: "setTextRenderingMode", + value: function setTextRenderingMode(mode) { this.current.textRenderingMode = mode; - }, - setTextRise: function CanvasGraphics_setTextRise(rise) { + } + }, { + key: "setTextRise", + value: function setTextRise(rise) { this.current.textRise = rise; - }, - moveText: function CanvasGraphics_moveText(x, y) { + } + }, { + key: "moveText", + value: function moveText(x, y) { this.current.x = this.current.lineX += x; this.current.y = this.current.lineY += y; - }, - setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) { + } + }, { + key: "setLeadingMoveText", + value: function setLeadingMoveText(x, y) { this.setLeading(-y); this.moveText(x, y); - }, - setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) { + } + }, { + key: "setTextMatrix", + value: function setTextMatrix(a, b, c, d, e, f) { this.current.textMatrix = [a, b, c, d, e, f]; - this.current.textMatrixScale = Math.sqrt(a * a + b * b); + this.current.textMatrixScale = Math.hypot(a, b); this.current.x = this.current.lineX = 0; this.current.y = this.current.lineY = 0; - }, - nextLine: function CanvasGraphics_nextLine() { + } + }, { + key: "nextLine", + value: function nextLine() { this.moveText(0, this.current.leading); - }, - paintChar: function paintChar(character, x, y, patternTransform) { + } + }, { + key: "paintChar", + value: function paintChar(character, x, y, patternTransform) { var ctx = this.ctx; var current = this.current; var font = current.font; @@ -16102,7 +12681,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() { var fontSize = current.fontSize / current.fontSizeScale; var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG); - var patternFill = current.patternFill && font.data; + var patternFill = current.patternFill && !font.missingFile; var addToPath; if (font.disableFontFace || isAddToPathSet || patternFill) { @@ -16148,9 +12727,10 @@ var CanvasGraphics = function CanvasGraphicsClosure() { addToPath: addToPath }); } - }, - - get isFontSubpixelAAEnabled() { + } + }, { + key: "isFontSubpixelAAEnabled", + get: function get() { var _this$cachedCanvases$ = this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled", 10, 10), ctx = _this$cachedCanvases$.context; @@ -16167,9 +12747,10 @@ var CanvasGraphics = function CanvasGraphicsClosure() { } return (0, _util.shadow)(this, "isFontSubpixelAAEnabled", enabled); - }, - - showText: function CanvasGraphics_showText(glyphs) { + } + }, { + key: "showText", + value: function showText(glyphs) { var current = this.current; var font = current.font; @@ -16196,16 +12777,6 @@ var CanvasGraphics = function CanvasGraphicsClosure() { var widthAdvanceScale = fontSize * current.fontMatrix[0]; var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill; ctx.save(); - var patternTransform; - - if (current.patternFill) { - ctx.save(); - var pattern = current.fillColor.getPattern(ctx, this); - patternTransform = ctx.mozCurrentTransform; - ctx.restore(); - ctx.fillStyle = pattern; - } - ctx.transform.apply(ctx, current.textMatrix); ctx.translate(current.x, current.y + current.textRise); @@ -16215,6 +12786,16 @@ var CanvasGraphics = function CanvasGraphicsClosure() { ctx.scale(textHScale, 1); } + var patternTransform; + + if (current.patternFill) { + ctx.save(); + var pattern = current.fillColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL); + patternTransform = ctx.mozCurrentTransform; + ctx.restore(); + ctx.fillStyle = pattern; + } + var lineWidth = current.lineWidth; var scale = current.textMatrixScale; @@ -16222,8 +12803,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() { var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { - this._cachedGetSinglePixelWidth = null; - lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR; + lineWidth = this.getSinglePixelWidth(); } } else { lineWidth /= scale; @@ -16241,7 +12821,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() { for (i = 0; i < glyphsLength; ++i) { var glyph = glyphs[i]; - if ((0, _util.isNum)(glyph)) { + if (typeof glyph === "number") { x += spacingDir * glyph * fontSize / 1000; continue; } @@ -16250,15 +12830,14 @@ var CanvasGraphics = function CanvasGraphicsClosure() { var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; var character = glyph.fontChar; var accent = glyph.accent; - var scaledX, scaledY, scaledAccentX, scaledAccentY; + var scaledX = void 0, + scaledY = void 0; var width = glyph.width; if (vertical) { - var vmetric, vx, vy; - vmetric = glyph.vmetric || defaultVMetrics; - vx = glyph.vmetric ? vmetric[1] : width * 0.5; - vx = -vx * widthAdvanceScale; - vy = vmetric[2] * widthAdvanceScale; + var vmetric = glyph.vmetric || defaultVMetrics; + var vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale; + var vy = vmetric[2] * widthAdvanceScale; width = vmetric ? -vmetric[0] : width; scaledX = vx / fontSizeScale; scaledY = (x + vy) / fontSizeScale; @@ -16281,21 +12860,21 @@ var CanvasGraphics = function CanvasGraphicsClosure() { } } - if (glyph.isInFont || font.missingFile) { + if (this.contentVisible && (glyph.isInFont || font.missingFile)) { if (simpleFillText && !accent) { ctx.fillText(character, scaledX, scaledY); } else { this.paintChar(character, scaledX, scaledY, patternTransform); if (accent) { - scaledAccentX = scaledX + accent.offset.x / fontSizeScale; - scaledAccentY = scaledY - accent.offset.y / fontSizeScale; + var scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale; + var scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale; this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform); } } } - var charWidth; + var charWidth = void 0; if (vertical) { charWidth = width * widthAdvanceScale - spacing * fontDirection; @@ -16317,8 +12896,12 @@ var CanvasGraphics = function CanvasGraphicsClosure() { } ctx.restore(); - }, - showType3Text: function CanvasGraphics_showType3Text(glyphs) { + this.compose(); + return undefined; + } + }, { + key: "showType3Text", + value: function showType3Text(glyphs) { var ctx = this.ctx; var current = this.current; var font = current.font; @@ -16337,6 +12920,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() { return; } + this._cachedScaleForStroking = null; this._cachedGetSinglePixelWidth = null; ctx.save(); ctx.transform.apply(ctx, current.textMatrix); @@ -16346,7 +12930,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() { for (i = 0; i < glyphsLength; ++i) { glyph = glyphs[i]; - if ((0, _util.isNum)(glyph)) { + if (typeof glyph === "number") { spacingLength = spacingDir * glyph * fontSize / 1000; this.ctx.translate(spacingLength, 0); current.x += spacingLength * textHScale; @@ -16361,12 +12945,14 @@ var CanvasGraphics = function CanvasGraphicsClosure() { continue; } - this.processingType3 = glyph; - this.save(); - ctx.scale(fontSize, fontSize); - ctx.transform.apply(ctx, fontMatrix); - this.executeOperatorList(operatorList); - this.restore(); + if (this.contentVisible) { + this.processingType3 = glyph; + this.save(); + ctx.scale(fontSize, fontSize); + ctx.transform.apply(ctx, fontMatrix); + this.executeOperatorList(operatorList); + this.restore(); + } var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix); @@ -16377,14 +12963,20 @@ var CanvasGraphics = function CanvasGraphicsClosure() { ctx.restore(); this.processingType3 = null; - }, - setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {}, - setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) { + } + }, { + key: "setCharWidth", + value: function setCharWidth(xWidth, yWidth) {} + }, { + key: "setCharWidthAndBounds", + value: function setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) { this.ctx.rect(llx, lly, urx - llx, ury - lly); this.clip(); this.endPath(); - }, - getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) { + } + }, { + key: "getColorN_Pattern", + value: function getColorN_Pattern(IR) { var _this = this; var pattern; @@ -16394,41 +12986,76 @@ var CanvasGraphics = function CanvasGraphicsClosure() { var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice(); var canvasGraphicsFactory = { createCanvasGraphics: function createCanvasGraphics(ctx) { - return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory, _this.webGLContext); + return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory); } }; pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform); } else { - pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR); + pattern = this._getPattern(IR[1], IR[2]); } return pattern; - }, - setStrokeColorN: function CanvasGraphics_setStrokeColorN() { + } + }, { + key: "setStrokeColorN", + value: function setStrokeColorN() { this.current.strokeColor = this.getColorN_Pattern(arguments); - }, - setFillColorN: function CanvasGraphics_setFillColorN() { + } + }, { + key: "setFillColorN", + value: function setFillColorN() { this.current.fillColor = this.getColorN_Pattern(arguments); this.current.patternFill = true; - }, - setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) { - var color = _util.Util.makeCssRgb(r, g, b); + } + }, { + key: "setStrokeRGBColor", + value: function setStrokeRGBColor(r, g, b) { + var color = _util.Util.makeHexColor(r, g, b); this.ctx.strokeStyle = color; this.current.strokeColor = color; - }, - setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) { - var color = _util.Util.makeCssRgb(r, g, b); + } + }, { + key: "setFillRGBColor", + value: function setFillRGBColor(r, g, b) { + var color = _util.Util.makeHexColor(r, g, b); this.ctx.fillStyle = color; this.current.fillColor = color; this.current.patternFill = false; - }, - shadingFill: function CanvasGraphics_shadingFill(patternIR) { + } + }, { + key: "_getPattern", + value: function _getPattern(objId) { + var matrix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var pattern; + + if (this.cachedPatterns.has(objId)) { + pattern = this.cachedPatterns.get(objId); + } else { + pattern = (0, _pattern_helper.getShadingPattern)(this.objs.get(objId)); + this.cachedPatterns.set(objId, pattern); + } + + if (matrix) { + pattern.matrix = matrix; + } + + return pattern; + } + }, { + key: "shadingFill", + value: function shadingFill(objId) { + if (!this.contentVisible) { + return; + } + var ctx = this.ctx; this.save(); - var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR); - ctx.fillStyle = pattern.getPattern(ctx, this, true); + + var pattern = this._getPattern(objId); + + ctx.fillStyle = pattern.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.SHADING); var inv = ctx.mozCurrentTransformInverse; if (inv) { @@ -16453,15 +13080,26 @@ var CanvasGraphics = function CanvasGraphicsClosure() { this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10); } + this.compose(this.current.getClippedPathBoundingBox()); this.restore(); - }, - beginInlineImage: function CanvasGraphics_beginInlineImage() { + } + }, { + key: "beginInlineImage", + value: function beginInlineImage() { (0, _util.unreachable)("Should not call beginInlineImage"); - }, - beginImageData: function CanvasGraphics_beginImageData() { + } + }, { + key: "beginImageData", + value: function beginImageData() { (0, _util.unreachable)("Should not call beginImageData"); - }, - paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) { + } + }, { + key: "paintFormXObjectBegin", + value: function paintFormXObjectBegin(matrix, bbox) { + if (!this.contentVisible) { + return; + } + this.save(); this.baseTransformStack.push(this.baseTransform); @@ -16475,16 +13113,36 @@ var CanvasGraphics = function CanvasGraphicsClosure() { var width = bbox[2] - bbox[0]; var height = bbox[3] - bbox[1]; this.ctx.rect(bbox[0], bbox[1], width, height); + this.current.updatePathMinMax(this.ctx.mozCurrentTransform, bbox[0], bbox[1]); + this.current.updatePathMinMax(this.ctx.mozCurrentTransform, bbox[2], bbox[3]); this.clip(); this.endPath(); } - }, - paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() { + } + }, { + key: "paintFormXObjectEnd", + value: function paintFormXObjectEnd() { + if (!this.contentVisible) { + return; + } + this.restore(); this.baseTransform = this.baseTransformStack.pop(); - }, - beginGroup: function CanvasGraphics_beginGroup(group) { + } + }, { + key: "beginGroup", + value: function beginGroup(group) { + if (!this.contentVisible) { + return; + } + this.save(); + + if (this.inSMaskMode) { + this.endSMaskMode(); + this.current.activeSMask = null; + } + var currentCtx = this.ctx; if (!group.isolated) { @@ -16526,6 +13184,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() { drawnHeight = MAX_GROUP_SIZE; } + this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]); var cacheId = "groupAt" + this.groupLevel; if (group.smask) { @@ -16555,6 +13214,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() { currentCtx.setTransform(1, 0, 0, 1, 0, 0); currentCtx.translate(offsetX, offsetY); currentCtx.scale(scaleX, scaleY); + currentCtx.save(); } copyCtxState(currentCtx, groupCtx); @@ -16562,89 +13222,122 @@ var CanvasGraphics = function CanvasGraphicsClosure() { this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]); this.groupStack.push(currentCtx); this.groupLevel++; - this.current.activeSMask = null; - }, - endGroup: function CanvasGraphics_endGroup(group) { + } + }, { + key: "endGroup", + value: function endGroup(group) { + if (!this.contentVisible) { + return; + } + this.groupLevel--; var groupCtx = this.ctx; - this.ctx = this.groupStack.pop(); - - if (this.ctx.imageSmoothingEnabled !== undefined) { - this.ctx.imageSmoothingEnabled = false; - } else { - this.ctx.mozImageSmoothingEnabled = false; - } + var ctx = this.groupStack.pop(); + this.ctx = ctx; + this.ctx.imageSmoothingEnabled = false; if (group.smask) { this.tempSMask = this.smaskStack.pop(); + this.restore(); } else { - this.ctx.drawImage(groupCtx.canvas, 0, 0); - } + this.ctx.restore(); + var currentMtx = this.ctx.mozCurrentTransform; + this.restore(); + this.ctx.save(); + this.ctx.setTransform.apply(this.ctx, currentMtx); - this.restore(); - }, - beginAnnotations: function CanvasGraphics_beginAnnotations() { + var dirtyBox = _util.Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx); + + this.ctx.drawImage(groupCtx.canvas, 0, 0); + this.ctx.restore(); + this.compose(dirtyBox); + } + } + }, { + key: "beginAnnotations", + value: function beginAnnotations() { this.save(); if (this.baseTransform) { this.ctx.setTransform.apply(this.ctx, this.baseTransform); } - }, - endAnnotations: function CanvasGraphics_endAnnotations() { + } + }, { + key: "endAnnotations", + value: function endAnnotations() { this.restore(); - }, - beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) { + } + }, { + key: "beginAnnotation", + value: function beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) { this.save(); - resetCtxToDefault(this.ctx); - this.current = new CanvasExtraState(); if (Array.isArray(rect) && rect.length === 4) { var width = rect[2] - rect[0]; var height = rect[3] - rect[1]; - this.ctx.rect(rect[0], rect[1], width, height); - this.clip(); - this.endPath(); + + if (hasOwnCanvas && this.annotationCanvasMap) { + transform = transform.slice(); + transform[4] -= rect[0]; + transform[5] -= rect[1]; + rect = rect.slice(); + rect[0] = rect[1] = 0; + rect[2] = width; + rect[3] = height; + + var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(this.ctx.mozCurrentTransform), + _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2), + scaleX = _Util$singularValueDe2[0], + scaleY = _Util$singularValueDe2[1]; + + var viewportScale = this.viewportScale; + var canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale); + var canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale); + this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight); + var _this$annotationCanva = this.annotationCanvas, + canvas = _this$annotationCanva.canvas, + context = _this$annotationCanva.context; + canvas.style.width = "calc(".concat(width, "px * var(--viewport-scale-factor))"); + canvas.style.height = "calc(".concat(height, "px * var(--viewport-scale-factor))"); + this.annotationCanvasMap.set(id, canvas); + this.annotationCanvas.savedCtx = this.ctx; + this.ctx = context; + this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY); + addContextCurrentTransform(this.ctx); + resetCtxToDefault(this.ctx); + } else { + resetCtxToDefault(this.ctx); + this.ctx.rect(rect[0], rect[1], width, height); + this.clip(); + this.endPath(); + } } + this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height); this.transform.apply(this, transform); this.transform.apply(this, matrix); - }, - endAnnotation: function CanvasGraphics_endAnnotation() { - this.restore(); - }, - paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) { - var domImage = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId); + } + }, { + key: "endAnnotation", + value: function endAnnotation() { + if (this.annotationCanvas) { + this.ctx = this.annotationCanvas.savedCtx; + delete this.annotationCanvas.savedCtx; + delete this.annotationCanvas; + } - if (!domImage) { - (0, _util.warn)("Dependent image isn't ready yet"); + this.restore(); + } + }, { + key: "paintImageMaskXObject", + value: function paintImageMaskXObject(img) { + if (!this.contentVisible) { return; } - this.save(); - var ctx = this.ctx; - ctx.scale(1 / w, -1 / h); - ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h); - - if (this.imageLayer) { - var currentTransform = ctx.mozCurrentTransformInverse; - var position = this.getCanvasPosition(0, 0); - this.imageLayer.appendImage({ - objId: objId, - left: position[0], - top: position[1], - width: w / currentTransform[0], - height: h / currentTransform[3] - }); - } - - this.restore(); - }, - paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) { var ctx = this.ctx; var width = img.width, height = img.height; - var fillColor = this.current.fillColor; - var isPatternFill = this.current.patternFill; var glyph = this.processingType3; if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) { @@ -16659,45 +13352,62 @@ var CanvasGraphics = function CanvasGraphicsClosure() { } } - if (glyph && glyph.compiled) { + if (glyph !== null && glyph !== void 0 && glyph.compiled) { glyph.compiled(ctx); return; } - var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height); - var maskCtx = maskCanvas.context; - maskCtx.save(); - putBinaryImageMask(maskCtx, img); - maskCtx.globalCompositeOperation = "source-in"; - maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor; - maskCtx.fillRect(0, 0, width, height); - maskCtx.restore(); - this.paintInlineImageXObject(maskCanvas.canvas); - }, - paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) { - var width = imgData.width; - var height = imgData.height; - var fillColor = this.current.fillColor; - var isPatternFill = this.current.patternFill; - var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height); - var maskCtx = maskCanvas.context; - maskCtx.save(); - putBinaryImageMask(maskCtx, imgData); - maskCtx.globalCompositeOperation = "source-in"; - maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor; - maskCtx.fillRect(0, 0, width, height); - maskCtx.restore(); + var mask = this._createMaskCanvas(img); + + var maskCanvas = mask.canvas; + ctx.save(); + ctx.setTransform(1, 0, 0, 1, 0, 0); + ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY); + ctx.restore(); + this.compose(); + } + }, { + key: "paintImageMaskXObjectRepeat", + value: function paintImageMaskXObjectRepeat(imgData, scaleX) { + var skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; + var skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; + var scaleY = arguments.length > 4 ? arguments[4] : undefined; + var positions = arguments.length > 5 ? arguments[5] : undefined; + + if (!this.contentVisible) { + return; + } + var ctx = this.ctx; + ctx.save(); + var currentTransform = ctx.mozCurrentTransform; + ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0); + + var mask = this._createMaskCanvas(imgData); + + ctx.setTransform(1, 0, 0, 1, 0, 0); for (var i = 0, ii = positions.length; i < ii; i += 2) { - ctx.save(); - ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]); - ctx.scale(1, -1); - ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1); - ctx.restore(); + var trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]); + + var _Util$applyTransform3 = _util.Util.applyTransform([0, 0], trans), + _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2), + x = _Util$applyTransform4[0], + y = _Util$applyTransform4[1]; + + ctx.drawImage(mask.canvas, x, y); } - }, - paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) { + + ctx.restore(); + this.compose(); + } + }, { + key: "paintImageMaskXObjectGroup", + value: function paintImageMaskXObjectGroup(images) { + if (!this.contentVisible) { + return; + } + var ctx = this.ctx; var fillColor = this.current.fillColor; var isPatternFill = this.current.patternFill; @@ -16711,7 +13421,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() { maskCtx.save(); putBinaryImageMask(maskCtx, image); maskCtx.globalCompositeOperation = "source-in"; - maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor; + maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL) : fillColor; maskCtx.fillRect(0, 0, width, height); maskCtx.restore(); ctx.save(); @@ -16720,9 +13430,17 @@ var CanvasGraphics = function CanvasGraphicsClosure() { ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1); ctx.restore(); } - }, - paintImageXObject: function CanvasGraphics_paintImageXObject(objId) { - var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId); + + this.compose(); + } + }, { + key: "paintImageXObject", + value: function paintImageXObject(objId) { + if (!this.contentVisible) { + return; + } + + var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId); if (!imgData) { (0, _util.warn)("Dependent image isn't ready yet"); @@ -16730,9 +13448,15 @@ var CanvasGraphics = function CanvasGraphicsClosure() { } this.paintInlineImageXObject(imgData); - }, - paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) { - var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId); + } + }, { + key: "paintImageXObjectRepeat", + value: function paintImageXObjectRepeat(objId, scaleX, scaleY, positions) { + if (!this.contentVisible) { + return; + } + + var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId); if (!imgData) { (0, _util.warn)("Dependent image isn't ready yet"); @@ -16754,60 +13478,34 @@ var CanvasGraphics = function CanvasGraphicsClosure() { } this.paintInlineImageXObjectGroup(imgData, map); - }, - paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) { + } + }, { + key: "paintInlineImageXObject", + value: function paintInlineImageXObject(imgData) { + if (!this.contentVisible) { + return; + } + var width = imgData.width; var height = imgData.height; var ctx = this.ctx; this.save(); ctx.scale(1 / width, -1 / height); - var currentTransform = ctx.mozCurrentTransformInverse; - var a = currentTransform[0], - b = currentTransform[1]; - var widthScale = Math.max(Math.sqrt(a * a + b * b), 1); - var c = currentTransform[2], - d = currentTransform[3]; - var heightScale = Math.max(Math.sqrt(c * c + d * d), 1); - var imgToPaint, tmpCanvas; + var imgToPaint; if (typeof HTMLElement === "function" && imgData instanceof HTMLElement || !imgData.data) { imgToPaint = imgData; } else { - tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height); + var tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height); var tmpCtx = tmpCanvas.context; - putBinaryImageData(tmpCtx, imgData); + putBinaryImageData(tmpCtx, imgData, this.current.transferMaps); imgToPaint = tmpCanvas.canvas; } - var paintWidth = width, - paintHeight = height; - var tmpCanvasId = "prescale1"; + var scaled = this._scaleImage(imgToPaint, ctx.mozCurrentTransformInverse); - while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) { - var newWidth = paintWidth, - newHeight = paintHeight; - - if (widthScale > 2 && paintWidth > 1) { - newWidth = Math.ceil(paintWidth / 2); - widthScale /= paintWidth / newWidth; - } - - if (heightScale > 2 && paintHeight > 1) { - newHeight = Math.ceil(paintHeight / 2); - heightScale /= paintHeight / newHeight; - } - - tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight); - tmpCtx = tmpCanvas.context; - tmpCtx.clearRect(0, 0, newWidth, newHeight); - tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight); - imgToPaint = tmpCanvas.canvas; - paintWidth = newWidth; - paintHeight = newHeight; - tmpCanvasId = tmpCanvasId === "prescale1" ? "prescale2" : "prescale1"; - } - - ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height); + ctx.imageSmoothingEnabled = getImageSmoothingEnabled(ctx.mozCurrentTransform, imgData.interpolate); + ctx.drawImage(scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height); if (this.imageLayer) { var position = this.getCanvasPosition(0, -height); @@ -16815,20 +13513,27 @@ var CanvasGraphics = function CanvasGraphicsClosure() { imgData: imgData, left: position[0], top: position[1], - width: width / currentTransform[0], - height: height / currentTransform[3] + width: width / ctx.mozCurrentTransformInverse[0], + height: height / ctx.mozCurrentTransformInverse[3] }); } + this.compose(); this.restore(); - }, - paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) { + } + }, { + key: "paintInlineImageXObjectGroup", + value: function paintInlineImageXObjectGroup(imgData, map) { + if (!this.contentVisible) { + return; + } + var ctx = this.ctx; var w = imgData.width; var h = imgData.height; var tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", w, h); var tmpCtx = tmpCanvas.context; - putBinaryImageData(tmpCtx, imgData); + putBinaryImageData(tmpCtx, imgData, this.current.transferMaps); for (var i = 0, ii = map.length; i < ii; i++) { var entry = map[i]; @@ -16850,21 +13555,70 @@ var CanvasGraphics = function CanvasGraphicsClosure() { ctx.restore(); } - }, - paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() { + + this.compose(); + } + }, { + key: "paintSolidColorImageMask", + value: function paintSolidColorImageMask() { + if (!this.contentVisible) { + return; + } + this.ctx.fillRect(0, 0, 1, 1); - }, - paintXObject: function CanvasGraphics_paintXObject() { - (0, _util.warn)("Unsupported 'paintXObject' command."); - }, - markPoint: function CanvasGraphics_markPoint(tag) {}, - markPointProps: function CanvasGraphics_markPointProps(tag, properties) {}, - beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {}, - beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {}, - endMarkedContent: function CanvasGraphics_endMarkedContent() {}, - beginCompat: function CanvasGraphics_beginCompat() {}, - endCompat: function CanvasGraphics_endCompat() {}, - consumePath: function CanvasGraphics_consumePath() { + this.compose(); + } + }, { + key: "markPoint", + value: function markPoint(tag) {} + }, { + key: "markPointProps", + value: function markPointProps(tag, properties) {} + }, { + key: "beginMarkedContent", + value: function beginMarkedContent(tag) { + this.markedContentStack.push({ + visible: true + }); + } + }, { + key: "beginMarkedContentProps", + value: function beginMarkedContentProps(tag, properties) { + if (tag === "OC") { + this.markedContentStack.push({ + visible: this.optionalContentConfig.isVisible(properties) + }); + } else { + this.markedContentStack.push({ + visible: true + }); + } + + this.contentVisible = this.isContentVisible(); + } + }, { + key: "endMarkedContent", + value: function endMarkedContent() { + this.markedContentStack.pop(); + this.contentVisible = this.isContentVisible(); + } + }, { + key: "beginCompat", + value: function beginCompat() {} + }, { + key: "endCompat", + value: function endCompat() {} + }, { + key: "consumePath", + value: function consumePath(clipBox) { + if (this.pendingClip) { + this.current.updateClipFromPath(); + } + + if (!this.pendingClip) { + this.compose(clipBox); + } + var ctx = this.ctx; if (this.pendingClip) { @@ -16877,47 +13631,189 @@ var CanvasGraphics = function CanvasGraphicsClosure() { this.pendingClip = null; } + this.current.startNewPathAndClipBox(this.current.clipBox); ctx.beginPath(); - }, - getSinglePixelWidth: function getSinglePixelWidth(scale) { - if (this._cachedGetSinglePixelWidth === null) { - var inverse = this.ctx.mozCurrentTransformInverse; - this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3])); + } + }, { + key: "getSinglePixelWidth", + value: function getSinglePixelWidth() { + if (!this._cachedGetSinglePixelWidth) { + var m = this.ctx.mozCurrentTransform; + + if (m[1] === 0 && m[2] === 0) { + this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3])); + } else { + var absDet = Math.abs(m[0] * m[3] - m[2] * m[1]); + var normX = Math.hypot(m[0], m[2]); + var normY = Math.hypot(m[1], m[3]); + this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet; + } } return this._cachedGetSinglePixelWidth; - }, - getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) { + } + }, { + key: "getScaleForStroking", + value: function getScaleForStroking() { + if (!this._cachedScaleForStroking) { + var lineWidth = this.current.lineWidth; + var m = this.ctx.mozCurrentTransform; + var scaleX, scaleY; + + if (m[1] === 0 && m[2] === 0) { + var normX = Math.abs(m[0]); + var normY = Math.abs(m[3]); + + if (lineWidth === 0) { + scaleX = 1 / normX; + scaleY = 1 / normY; + } else { + var scaledXLineWidth = normX * lineWidth; + var scaledYLineWidth = normY * lineWidth; + scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1; + scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1; + } + } else { + var absDet = Math.abs(m[0] * m[3] - m[2] * m[1]); + + var _normX = Math.hypot(m[0], m[1]); + + var _normY = Math.hypot(m[2], m[3]); + + if (lineWidth === 0) { + scaleX = _normY / absDet; + scaleY = _normX / absDet; + } else { + var baseArea = lineWidth * absDet; + scaleX = _normY > baseArea ? _normY / baseArea : 1; + scaleY = _normX > baseArea ? _normX / baseArea : 1; + } + } + + this._cachedScaleForStroking = [scaleX, scaleY]; + } + + return this._cachedScaleForStroking; + } + }, { + key: "rescaleAndStroke", + value: function rescaleAndStroke(saveRestore) { + var ctx = this.ctx; + var lineWidth = this.current.lineWidth; + + var _this$getScaleForStro = this.getScaleForStroking(), + _this$getScaleForStro2 = _slicedToArray(_this$getScaleForStro, 2), + scaleX = _this$getScaleForStro2[0], + scaleY = _this$getScaleForStro2[1]; + + ctx.lineWidth = lineWidth || 1; + + if (scaleX === 1 && scaleY === 1) { + ctx.stroke(); + return; + } + + var savedMatrix, savedDashes, savedDashOffset; + + if (saveRestore) { + savedMatrix = ctx.mozCurrentTransform.slice(); + savedDashes = ctx.getLineDash().slice(); + savedDashOffset = ctx.lineDashOffset; + } + + ctx.scale(scaleX, scaleY); + var scale = Math.max(scaleX, scaleY); + ctx.setLineDash(ctx.getLineDash().map(function (x) { + return x / scale; + })); + ctx.lineDashOffset /= scale; + ctx.stroke(); + + if (saveRestore) { + ctx.setTransform.apply(ctx, _toConsumableArray(savedMatrix)); + ctx.setLineDash(savedDashes); + ctx.lineDashOffset = savedDashOffset; + } + } + }, { + key: "getCanvasPosition", + value: function getCanvasPosition(x, y) { var transform = this.ctx.mozCurrentTransform; return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]]; } - }; + }, { + key: "isContentVisible", + value: function isContentVisible() { + for (var i = this.markedContentStack.length - 1; i >= 0; i--) { + if (!this.markedContentStack[i].visible) { + return false; + } + } - for (var op in _util.OPS) { - CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op]; - } + return true; + } + }]); return CanvasGraphics; }(); exports.CanvasGraphics = CanvasGraphics; +for (var op in _util.OPS) { + if (CanvasGraphics.prototype[op] !== undefined) { + CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op]; + } +} + /***/ }), -/* 198 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 152 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ value: true -}); -exports.getShadingPatternFromIR = getShadingPatternFromIR; -exports.TilingPattern = void 0; +})); +exports.TilingPattern = exports.PathType = void 0; +exports.getShadingPattern = getShadingPattern; var _util = __w_pdfjs_require__(1); -var ShadingIRs = {}; +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var PathType = { + FILL: "Fill", + STROKE: "Stroke", + SHADING: "Shading" +}; +exports.PathType = PathType; function applyBoundingBox(ctx, bbox) { if (!bbox || typeof Path2D === "undefined") { @@ -16931,244 +13827,331 @@ function applyBoundingBox(ctx, bbox) { ctx.clip(region); } -ShadingIRs.RadialAxial = { - fromIR: function RadialAxial_fromIR(raw) { - var type = raw[1]; - var bbox = raw[2]; - var colorStops = raw[3]; - var p0 = raw[4]; - var p1 = raw[5]; - var r0 = raw[6]; - var r1 = raw[7]; - return { - type: "Pattern", - getPattern: function RadialAxial_getPattern(ctx) { - applyBoundingBox(ctx, bbox); - var grad; +var BaseShadingPattern = /*#__PURE__*/function () { + function BaseShadingPattern() { + _classCallCheck(this, BaseShadingPattern); - if (type === "axial") { - grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]); - } else if (type === "radial") { - grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1); - } - - for (var i = 0, ii = colorStops.length; i < ii; ++i) { - var c = colorStops[i]; - grad.addColorStop(c[0], c[1]); - } - - return grad; - } - }; + if (this.constructor === BaseShadingPattern) { + (0, _util.unreachable)("Cannot initialize BaseShadingPattern."); + } } -}; -var createMeshCanvas = function createMeshCanvasClosure() { - function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) { - var coords = context.coords, - colors = context.colors; - var bytes = data.data, - rowSize = data.width * 4; - var tmp; - - if (coords[p1 + 1] > coords[p2 + 1]) { - tmp = p1; - p1 = p2; - p2 = tmp; - tmp = c1; - c1 = c2; - c2 = tmp; + _createClass(BaseShadingPattern, [{ + key: "getPattern", + value: function getPattern() { + (0, _util.unreachable)("Abstract method `getPattern` called."); } + }]); - if (coords[p2 + 1] > coords[p3 + 1]) { - tmp = p2; - p2 = p3; - p3 = tmp; - tmp = c2; - c2 = c3; - c3 = tmp; - } + return BaseShadingPattern; +}(); - if (coords[p1 + 1] > coords[p2 + 1]) { - tmp = p1; - p1 = p2; - p2 = tmp; - tmp = c1; - c1 = c2; - c2 = tmp; - } +var RadialAxialShadingPattern = /*#__PURE__*/function (_BaseShadingPattern) { + _inherits(RadialAxialShadingPattern, _BaseShadingPattern); - var x1 = (coords[p1] + context.offsetX) * context.scaleX; - var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY; - var x2 = (coords[p2] + context.offsetX) * context.scaleX; - var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY; - var x3 = (coords[p3] + context.offsetX) * context.scaleX; - var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY; + var _super = _createSuper(RadialAxialShadingPattern); - if (y1 >= y3) { - return; - } + function RadialAxialShadingPattern(IR) { + var _this; - var c1r = colors[c1], - c1g = colors[c1 + 1], - c1b = colors[c1 + 2]; - var c2r = colors[c2], - c2g = colors[c2 + 1], - c2b = colors[c2 + 2]; - var c3r = colors[c3], - c3g = colors[c3 + 1], - c3b = colors[c3 + 2]; - var minY = Math.round(y1), - maxY = Math.round(y3); - var xa, car, cag, cab; - var xb, cbr, cbg, cbb; + _classCallCheck(this, RadialAxialShadingPattern); - for (var y = minY; y <= maxY; y++) { - if (y < y2) { - var _k = void 0; + _this = _super.call(this); + _this._type = IR[1]; + _this._bbox = IR[2]; + _this._colorStops = IR[3]; + _this._p0 = IR[4]; + _this._p1 = IR[5]; + _this._r0 = IR[6]; + _this._r1 = IR[7]; + _this.matrix = null; + return _this; + } - if (y < y1) { - _k = 0; - } else if (y1 === y2) { - _k = 1; - } else { - _k = (y1 - y) / (y1 - y2); - } + _createClass(RadialAxialShadingPattern, [{ + key: "_createGradient", + value: function _createGradient(ctx) { + var grad; - xa = x1 - (x1 - x2) * _k; - car = c1r - (c1r - c2r) * _k; - cag = c1g - (c1g - c2g) * _k; - cab = c1b - (c1b - c2b) * _k; - } else { - var _k2 = void 0; - - if (y > y3) { - _k2 = 1; - } else if (y2 === y3) { - _k2 = 0; - } else { - _k2 = (y2 - y) / (y2 - y3); - } - - xa = x2 - (x2 - x3) * _k2; - car = c2r - (c2r - c3r) * _k2; - cag = c2g - (c2g - c3g) * _k2; - cab = c2b - (c2b - c3b) * _k2; + if (this._type === "axial") { + grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]); + } else if (this._type === "radial") { + grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1); } - var k = void 0; + var _iterator = _createForOfIteratorHelper(this._colorStops), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var colorStop = _step.value; + grad.addColorStop(colorStop[0], colorStop[1]); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return grad; + } + }, { + key: "getPattern", + value: function getPattern(ctx, owner, inverse, pathType) { + var pattern; + + if (pathType === PathType.STROKE || pathType === PathType.FILL) { + var ownerBBox = owner.current.getClippedPathBoundingBox(pathType, ctx.mozCurrentTransform) || [0, 0, 0, 0]; + var width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1; + var height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1; + var tmpCanvas = owner.cachedCanvases.getCanvas("pattern", width, height, true); + var tmpCtx = tmpCanvas.context; + tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); + tmpCtx.beginPath(); + tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); + tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]); + inverse = _util.Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]); + tmpCtx.transform.apply(tmpCtx, owner.baseTransform); + + if (this.matrix) { + tmpCtx.transform.apply(tmpCtx, this.matrix); + } + + applyBoundingBox(tmpCtx, this._bbox); + tmpCtx.fillStyle = this._createGradient(tmpCtx); + tmpCtx.fill(); + pattern = ctx.createPattern(tmpCanvas.canvas, "no-repeat"); + var domMatrix = new DOMMatrix(inverse); + + try { + pattern.setTransform(domMatrix); + } catch (ex) { + (0, _util.warn)("RadialAxialShadingPattern.getPattern: \"".concat(ex === null || ex === void 0 ? void 0 : ex.message, "\".")); + } + } else { + applyBoundingBox(ctx, this._bbox); + pattern = this._createGradient(ctx); + } + + return pattern; + } + }]); + + return RadialAxialShadingPattern; +}(BaseShadingPattern); + +function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) { + var coords = context.coords, + colors = context.colors; + var bytes = data.data, + rowSize = data.width * 4; + var tmp; + + if (coords[p1 + 1] > coords[p2 + 1]) { + tmp = p1; + p1 = p2; + p2 = tmp; + tmp = c1; + c1 = c2; + c2 = tmp; + } + + if (coords[p2 + 1] > coords[p3 + 1]) { + tmp = p2; + p2 = p3; + p3 = tmp; + tmp = c2; + c2 = c3; + c3 = tmp; + } + + if (coords[p1 + 1] > coords[p2 + 1]) { + tmp = p1; + p1 = p2; + p2 = tmp; + tmp = c1; + c1 = c2; + c2 = tmp; + } + + var x1 = (coords[p1] + context.offsetX) * context.scaleX; + var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY; + var x2 = (coords[p2] + context.offsetX) * context.scaleX; + var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY; + var x3 = (coords[p3] + context.offsetX) * context.scaleX; + var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY; + + if (y1 >= y3) { + return; + } + + var c1r = colors[c1], + c1g = colors[c1 + 1], + c1b = colors[c1 + 2]; + var c2r = colors[c2], + c2g = colors[c2 + 1], + c2b = colors[c2 + 2]; + var c3r = colors[c3], + c3g = colors[c3 + 1], + c3b = colors[c3 + 2]; + var minY = Math.round(y1), + maxY = Math.round(y3); + var xa, car, cag, cab; + var xb, cbr, cbg, cbb; + + for (var y = minY; y <= maxY; y++) { + if (y < y2) { + var _k = void 0; if (y < y1) { - k = 0; - } else if (y > y3) { - k = 1; + _k = 0; } else { - k = (y1 - y) / (y1 - y3); + _k = (y1 - y) / (y1 - y2); } - xb = x1 - (x1 - x3) * k; - cbr = c1r - (c1r - c3r) * k; - cbg = c1g - (c1g - c3g) * k; - cbb = c1b - (c1b - c3b) * k; - var x1_ = Math.round(Math.min(xa, xb)); - var x2_ = Math.round(Math.max(xa, xb)); - var j = rowSize * y + x1_ * 4; - - for (var x = x1_; x <= x2_; x++) { - var _k3 = (xa - x) / (xa - xb); - - if (_k3 < 0) { - _k3 = 0; - } else if (_k3 > 1) { - _k3 = 1; - } - - bytes[j++] = car - (car - cbr) * _k3 | 0; - bytes[j++] = cag - (cag - cbg) * _k3 | 0; - bytes[j++] = cab - (cab - cbb) * _k3 | 0; - bytes[j++] = 255; - } - } - } - - function drawFigure(data, figure, context) { - var ps = figure.coords; - var cs = figure.colors; - var i, ii; - - switch (figure.type) { - case "lattice": - var verticesPerRow = figure.verticesPerRow; - var rows = Math.floor(ps.length / verticesPerRow) - 1; - var cols = verticesPerRow - 1; - - for (i = 0; i < rows; i++) { - var q = i * verticesPerRow; - - for (var j = 0; j < cols; j++, q++) { - drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]); - drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]); - } - } - - break; - - case "triangles": - for (i = 0, ii = ps.length; i < ii; i += 3) { - drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]); - } - - break; - - default: - throw new Error("illegal figure"); - } - } - - function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) { - var EXPECTED_SCALE = 1.1; - var MAX_PATTERN_SIZE = 3000; - var BORDER_SIZE = 2; - var offsetX = Math.floor(bounds[0]); - var offsetY = Math.floor(bounds[1]); - var boundsWidth = Math.ceil(bounds[2]) - offsetX; - var boundsHeight = Math.ceil(bounds[3]) - offsetY; - var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); - var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); - var scaleX = boundsWidth / width; - var scaleY = boundsHeight / height; - var context = { - coords: coords, - colors: colors, - offsetX: -offsetX, - offsetY: -offsetY, - scaleX: 1 / scaleX, - scaleY: 1 / scaleY - }; - var paddedWidth = width + BORDER_SIZE * 2; - var paddedHeight = height + BORDER_SIZE * 2; - var canvas, tmpCanvas, i, ii; - - if (webGLContext.isEnabled) { - canvas = webGLContext.drawFigures({ - width: width, - height: height, - backgroundColor: backgroundColor, - figures: figures, - context: context - }); - tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false); - tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE); - canvas = tmpCanvas.canvas; + xa = x1 - (x1 - x2) * _k; + car = c1r - (c1r - c2r) * _k; + cag = c1g - (c1g - c2g) * _k; + cab = c1b - (c1b - c2b) * _k; } else { - tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false); + var _k2 = void 0; + + if (y > y3) { + _k2 = 1; + } else if (y2 === y3) { + _k2 = 0; + } else { + _k2 = (y2 - y) / (y2 - y3); + } + + xa = x2 - (x2 - x3) * _k2; + car = c2r - (c2r - c3r) * _k2; + cag = c2g - (c2g - c3g) * _k2; + cab = c2b - (c2b - c3b) * _k2; + } + + var k = void 0; + + if (y < y1) { + k = 0; + } else if (y > y3) { + k = 1; + } else { + k = (y1 - y) / (y1 - y3); + } + + xb = x1 - (x1 - x3) * k; + cbr = c1r - (c1r - c3r) * k; + cbg = c1g - (c1g - c3g) * k; + cbb = c1b - (c1b - c3b) * k; + var x1_ = Math.round(Math.min(xa, xb)); + var x2_ = Math.round(Math.max(xa, xb)); + var j = rowSize * y + x1_ * 4; + + for (var x = x1_; x <= x2_; x++) { + k = (xa - x) / (xa - xb); + + if (k < 0) { + k = 0; + } else if (k > 1) { + k = 1; + } + + bytes[j++] = car - (car - cbr) * k | 0; + bytes[j++] = cag - (cag - cbg) * k | 0; + bytes[j++] = cab - (cab - cbb) * k | 0; + bytes[j++] = 255; + } + } +} + +function drawFigure(data, figure, context) { + var ps = figure.coords; + var cs = figure.colors; + var i, ii; + + switch (figure.type) { + case "lattice": + var verticesPerRow = figure.verticesPerRow; + var rows = Math.floor(ps.length / verticesPerRow) - 1; + var cols = verticesPerRow - 1; + + for (i = 0; i < rows; i++) { + var q = i * verticesPerRow; + + for (var j = 0; j < cols; j++, q++) { + drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]); + drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]); + } + } + + break; + + case "triangles": + for (i = 0, ii = ps.length; i < ii; i += 3) { + drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]); + } + + break; + + default: + throw new Error("illegal figure"); + } +} + +var MeshShadingPattern = /*#__PURE__*/function (_BaseShadingPattern2) { + _inherits(MeshShadingPattern, _BaseShadingPattern2); + + var _super2 = _createSuper(MeshShadingPattern); + + function MeshShadingPattern(IR) { + var _this2; + + _classCallCheck(this, MeshShadingPattern); + + _this2 = _super2.call(this); + _this2._coords = IR[2]; + _this2._colors = IR[3]; + _this2._figures = IR[4]; + _this2._bounds = IR[5]; + _this2._bbox = IR[7]; + _this2._background = IR[8]; + _this2.matrix = null; + return _this2; + } + + _createClass(MeshShadingPattern, [{ + key: "_createMeshCanvas", + value: function _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) { + var EXPECTED_SCALE = 1.1; + var MAX_PATTERN_SIZE = 3000; + var BORDER_SIZE = 2; + var offsetX = Math.floor(this._bounds[0]); + var offsetY = Math.floor(this._bounds[1]); + var boundsWidth = Math.ceil(this._bounds[2]) - offsetX; + var boundsHeight = Math.ceil(this._bounds[3]) - offsetY; + var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); + var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); + var scaleX = boundsWidth / width; + var scaleY = boundsHeight / height; + var context = { + coords: this._coords, + colors: this._colors, + offsetX: -offsetX, + offsetY: -offsetY, + scaleX: 1 / scaleX, + scaleY: 1 / scaleY + }; + var paddedWidth = width + BORDER_SIZE * 2; + var paddedHeight = height + BORDER_SIZE * 2; + var tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false); var tmpCtx = tmpCanvas.context; var data = tmpCtx.createImageData(width, height); if (backgroundColor) { var bytes = data.data; - for (i = 0, ii = bytes.length; i < ii; i += 4) { + for (var i = 0, ii = bytes.length; i < ii; i += 4) { bytes[i] = backgroundColor[0]; bytes[i + 1] = backgroundColor[1]; bytes[i + 2] = backgroundColor[2]; @@ -17176,99 +14159,112 @@ var createMeshCanvas = function createMeshCanvasClosure() { } } - for (i = 0; i < figures.length; i++) { - drawFigure(data, figures[i], context); + var _iterator2 = _createForOfIteratorHelper(this._figures), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var figure = _step2.value; + drawFigure(data, figure, context); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); } tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE); - canvas = tmpCanvas.canvas; + var canvas = tmpCanvas.canvas; + return { + canvas: canvas, + offsetX: offsetX - BORDER_SIZE * scaleX, + offsetY: offsetY - BORDER_SIZE * scaleY, + scaleX: scaleX, + scaleY: scaleY + }; } + }, { + key: "getPattern", + value: function getPattern(ctx, owner, inverse, pathType) { + applyBoundingBox(ctx, this._bbox); + var scale; - return { - canvas: canvas, - offsetX: offsetX - BORDER_SIZE * scaleX, - offsetY: offsetY - BORDER_SIZE * scaleY, - scaleX: scaleX, - scaleY: scaleY - }; - } + if (pathType === PathType.SHADING) { + scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform); + } else { + scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform); - return createMeshCanvas; -}(); + if (this.matrix) { + var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix); -ShadingIRs.Mesh = { - fromIR: function Mesh_fromIR(raw) { - var coords = raw[2]; - var colors = raw[3]; - var figures = raw[4]; - var bounds = raw[5]; - var matrix = raw[6]; - var bbox = raw[7]; - var background = raw[8]; - return { - type: "Pattern", - getPattern: function Mesh_getPattern(ctx, owner, shadingFill) { - applyBoundingBox(ctx, bbox); - var scale; - - if (shadingFill) { - scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform); - } else { - scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform); - - if (matrix) { - var matrixScale = _util.Util.singularValueDecompose2dScale(matrix); - - scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]]; - } + scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]]; } + } - var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext); + var temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases); - if (!shadingFill) { - ctx.setTransform.apply(ctx, owner.baseTransform); + if (pathType !== PathType.SHADING) { + ctx.setTransform.apply(ctx, owner.baseTransform); - if (matrix) { - ctx.transform.apply(ctx, matrix); - } + if (this.matrix) { + ctx.transform.apply(ctx, this.matrix); } - - ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY); - ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY); - return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat"); } - }; - } -}; -ShadingIRs.Dummy = { - fromIR: function Dummy_fromIR() { - return { - type: "Pattern", - getPattern: function Dummy_fromIR_getPattern() { - return "hotpink"; - } - }; - } -}; -function getShadingPatternFromIR(raw) { - var shadingIR = ShadingIRs[raw[0]]; + ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY); + ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY); + return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat"); + } + }]); - if (!shadingIR) { - throw new Error("Unknown IR type: ".concat(raw[0])); + return MeshShadingPattern; +}(BaseShadingPattern); + +var DummyShadingPattern = /*#__PURE__*/function (_BaseShadingPattern3) { + _inherits(DummyShadingPattern, _BaseShadingPattern3); + + var _super3 = _createSuper(DummyShadingPattern); + + function DummyShadingPattern() { + _classCallCheck(this, DummyShadingPattern); + + return _super3.apply(this, arguments); } - return shadingIR.fromIR(raw); + _createClass(DummyShadingPattern, [{ + key: "getPattern", + value: function getPattern() { + return "hotpink"; + } + }]); + + return DummyShadingPattern; +}(BaseShadingPattern); + +function getShadingPattern(IR) { + switch (IR[0]) { + case "RadialAxial": + return new RadialAxialShadingPattern(IR); + + case "Mesh": + return new MeshShadingPattern(IR); + + case "Dummy": + return new DummyShadingPattern(); + } + + throw new Error("Unknown IR type: ".concat(IR[0])); } -var TilingPattern = function TilingPatternClosure() { - var PaintType = { - COLORED: 1, - UNCOLORED: 2 - }; - var MAX_PATTERN_SIZE = 3000; +var PaintType = { + COLORED: 1, + UNCOLORED: 2 +}; +var TilingPattern = /*#__PURE__*/function () { function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) { + _classCallCheck(this, TilingPattern); + this.operatorList = IR[2]; this.matrix = IR[3] || [1, 0, 0, 1, 0, 0]; this.bbox = IR[4]; @@ -17277,14 +14273,14 @@ var TilingPattern = function TilingPatternClosure() { this.paintType = IR[7]; this.tilingType = IR[8]; this.color = color; + this.ctx = ctx; this.canvasGraphicsFactory = canvasGraphicsFactory; this.baseTransform = baseTransform; - this.type = "Pattern"; - this.ctx = ctx; } - TilingPattern.prototype = { - createPatternCanvas: function TilinPattern_createPatternCanvas(owner) { + _createClass(TilingPattern, [{ + key: "createPatternCanvas", + value: function createPatternCanvas(owner) { var operatorList = this.operatorList; var bbox = this.bbox; var xstep = this.xstep; @@ -17311,17 +14307,41 @@ var TilingPattern = function TilingPatternClosure() { var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx); graphics.groupLevel = owner.groupLevel; this.setFillAndStrokeStyleToContext(graphics, paintType, color); + var adjustedX0 = x0; + var adjustedY0 = y0; + var adjustedX1 = x1; + var adjustedY1 = y1; + + if (x0 < 0) { + adjustedX0 = 0; + adjustedX1 += Math.abs(x0); + } + + if (y0 < 0) { + adjustedY0 = 0; + adjustedY1 += Math.abs(y0); + } + + tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0)); graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0); - graphics.transform(1, 0, 0, 1, -x0, -y0); - this.clipBbox(graphics, bbox, x0, y0, x1, y1); + tmpCtx.save(); + this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1); + graphics.baseTransform = graphics.ctx.mozCurrentTransform.slice(); graphics.executeOperatorList(operatorList); - this.ctx.transform(1, 0, 0, 1, x0, y0); - this.ctx.scale(1 / dimx.scale, 1 / dimy.scale); - return tmpCanvas.canvas; - }, - getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) { + graphics.endDrawing(); + return { + canvas: tmpCanvas.canvas, + scaleX: dimx.scale, + scaleY: dimy.scale, + offsetX: adjustedX0, + offsetY: adjustedY0 + }; + } + }, { + key: "getSizeAndScale", + value: function getSizeAndScale(step, realOutputSize, scale) { step = Math.abs(step); - var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize); + var maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize); var size = Math.ceil(step * scale); if (size >= maxSize) { @@ -17334,17 +14354,19 @@ var TilingPattern = function TilingPatternClosure() { scale: scale, size: size }; - }, - clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) { - if (Array.isArray(bbox) && bbox.length === 4) { - var bboxWidth = x1 - x0; - var bboxHeight = y1 - y0; - graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight); - graphics.clip(); - graphics.endPath(); - } - }, - setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) { + } + }, { + key: "clipBbox", + value: function clipBbox(graphics, x0, y0, x1, y1) { + var bboxWidth = x1 - x0; + var bboxHeight = y1 - y0; + graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight); + graphics.clip(); + graphics.endPath(); + } + }, { + key: "setFillAndStrokeStyleToContext", + value: function setFillAndStrokeStyleToContext(graphics, paintType, color) { var context = graphics.ctx, current = graphics.current; @@ -17358,7 +14380,7 @@ var TilingPattern = function TilingPatternClosure() { break; case PaintType.UNCOLORED: - var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]); + var cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]); context.fillStyle = cssColor; context.strokeStyle = cssColor; @@ -17369,30 +14391,56 @@ var TilingPattern = function TilingPatternClosure() { default: throw new _util.FormatError("Unsupported paint type: ".concat(paintType)); } - }, - getPattern: function TilingPattern_getPattern(ctx, owner) { - ctx = this.ctx; - ctx.setTransform.apply(ctx, this.baseTransform); - ctx.transform.apply(ctx, this.matrix); - var temporaryPatternCanvas = this.createPatternCanvas(owner); - return ctx.createPattern(temporaryPatternCanvas, "repeat"); } - }; + }, { + key: "getPattern", + value: function getPattern(ctx, owner, inverse, pathType) { + var matrix = inverse; + + if (pathType !== PathType.SHADING) { + matrix = _util.Util.transform(matrix, owner.baseTransform); + + if (this.matrix) { + matrix = _util.Util.transform(matrix, this.matrix); + } + } + + var temporaryPatternCanvas = this.createPatternCanvas(owner); + var domMatrix = new DOMMatrix(matrix); + domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY); + domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY); + var pattern = ctx.createPattern(temporaryPatternCanvas.canvas, "repeat"); + + try { + pattern.setTransform(domMatrix); + } catch (ex) { + (0, _util.warn)("TilingPattern.getPattern: \"".concat(ex === null || ex === void 0 ? void 0 : ex.message, "\".")); + } + + return pattern; + } + }], [{ + key: "MAX_PATTERN_SIZE", + get: function get() { + return (0, _util.shadow)(this, "MAX_PATTERN_SIZE", 3000); + } + }]); + return TilingPattern; }(); exports.TilingPattern = TilingPattern; /***/ }), -/* 199 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 153 */ +/***/ ((__unused_webpack_module, exports) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +Object.defineProperty(exports, "__esModule", ({ value: true -}); +})); exports.GlobalWorkerOptions = void 0; var GlobalWorkerOptions = Object.create(null); exports.GlobalWorkerOptions = GlobalWorkerOptions; @@ -17400,18 +14448,18 @@ GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? "" : GlobalWorkerOptions.workerSrc; /***/ }), -/* 200 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 154 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +Object.defineProperty(exports, "__esModule", ({ value: true -}); +})); exports.MessageHandler = void 0; -var _regenerator = _interopRequireDefault(__w_pdfjs_require__(191)); +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); var _util = __w_pdfjs_require__(1); @@ -17425,9 +14473,9 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } var CallbackKind = { UNKNOWN: 0, @@ -17447,8 +14495,8 @@ var StreamKind = { }; function wrapReason(reason) { - if (_typeof(reason) !== "object" || reason === null) { - return reason; + if (!(reason instanceof Error || _typeof(reason) === "object" && reason !== null)) { + (0, _util.unreachable)('wrapReason: Expected "reason" to be a (possibly cloned) Error.'); } switch (reason.name) { @@ -17458,6 +14506,9 @@ function wrapReason(reason) { case "MissingPDFException": return new _util.MissingPDFException(reason.message); + case "PasswordException": + return new _util.PasswordException(reason.message, reason.code); + case "UnexpectedResponseException": return new _util.UnexpectedResponseException(reason.message, reason.status); @@ -17480,7 +14531,6 @@ var MessageHandler = /*#__PURE__*/function () { this.comObj = comObj; this.callbackId = 1; this.streamId = 1; - this.postMessageTransfers = true; this.streamSinks = Object.create(null); this.streamControllers = Object.create(null); this.callbackCapabilities = Object.create(null); @@ -17527,22 +14577,22 @@ var MessageHandler = /*#__PURE__*/function () { } if (data.callbackId) { - var _sourceName = _this.sourceName; - var _targetName = data.sourceName; + var cbSourceName = _this.sourceName; + var cbTargetName = data.sourceName; new Promise(function (resolve) { resolve(action(data.data)); }).then(function (result) { comObj.postMessage({ - sourceName: _sourceName, - targetName: _targetName, + sourceName: cbSourceName, + targetName: cbTargetName, callback: CallbackKind.DATA, callbackId: data.callbackId, data: result }); }, function (reason) { comObj.postMessage({ - sourceName: _sourceName, - targetName: _targetName, + sourceName: cbSourceName, + targetName: cbTargetName, callback: CallbackKind.ERROR, callbackId: data.callbackId, reason: wrapReason(reason) @@ -17577,7 +14627,7 @@ var MessageHandler = /*#__PURE__*/function () { }, { key: "send", value: function send(actionName, data, transfers) { - this._postMessage({ + this.comObj.postMessage({ sourceName: this.sourceName, targetName: this.targetName, action: actionName, @@ -17592,7 +14642,7 @@ var MessageHandler = /*#__PURE__*/function () { this.callbackCapabilities[callbackId] = capability; try { - this._postMessage({ + this.comObj.postMessage({ sourceName: this.sourceName, targetName: this.targetName, action: actionName, @@ -17610,10 +14660,10 @@ var MessageHandler = /*#__PURE__*/function () { value: function sendWithStream(actionName, data, queueingStrategy, transfers) { var _this2 = this; - var streamId = this.streamId++; - var sourceName = this.sourceName; - var targetName = this.targetName; - var comObj = this.comObj; + var streamId = this.streamId++, + sourceName = this.sourceName, + targetName = this.targetName, + comObj = this.comObj; return new ReadableStream({ start: function start(controller) { var startCapability = (0, _util.createPromiseCapability)(); @@ -17624,8 +14674,7 @@ var MessageHandler = /*#__PURE__*/function () { cancelCall: null, isClosed: false }; - - _this2._postMessage({ + comObj.postMessage({ sourceName: sourceName, targetName: targetName, action: actionName, @@ -17633,7 +14682,6 @@ var MessageHandler = /*#__PURE__*/function () { data: data, desiredSize: controller.desiredSize }, transfers); - return startCapability.promise; }, pull: function pull(controller) { @@ -17667,12 +14715,12 @@ var MessageHandler = /*#__PURE__*/function () { }, { key: "_createStreamSink", value: function _createStreamSink(data) { - var self = this; - var action = this.actionHandler[data.action]; - var streamId = data.streamId; - var sourceName = this.sourceName; - var targetName = data.sourceName; - var comObj = this.comObj; + var streamId = data.streamId, + sourceName = this.sourceName, + targetName = data.sourceName, + comObj = this.comObj; + var self = this, + action = this.actionHandler[data.action]; var streamSink = { enqueue: function enqueue(chunk) { var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; @@ -17690,7 +14738,7 @@ var MessageHandler = /*#__PURE__*/function () { this.ready = this.sinkCapability.promise; } - self._postMessage({ + comObj.postMessage({ sourceName: sourceName, targetName: targetName, stream: StreamKind.ENQUEUE, @@ -17761,32 +14809,34 @@ var MessageHandler = /*#__PURE__*/function () { }, { key: "_processStreamMessage", value: function _processStreamMessage(data) { - var streamId = data.streamId; - var sourceName = this.sourceName; - var targetName = data.sourceName; - var comObj = this.comObj; + var streamId = data.streamId, + sourceName = this.sourceName, + targetName = data.sourceName, + comObj = this.comObj; + var streamController = this.streamControllers[streamId], + streamSink = this.streamSinks[streamId]; switch (data.stream) { case StreamKind.START_COMPLETE: if (data.success) { - this.streamControllers[streamId].startCall.resolve(); + streamController.startCall.resolve(); } else { - this.streamControllers[streamId].startCall.reject(wrapReason(data.reason)); + streamController.startCall.reject(wrapReason(data.reason)); } break; case StreamKind.PULL_COMPLETE: if (data.success) { - this.streamControllers[streamId].pullCall.resolve(); + streamController.pullCall.resolve(); } else { - this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason)); + streamController.pullCall.reject(wrapReason(data.reason)); } break; case StreamKind.PULL: - if (!this.streamSinks[streamId]) { + if (!streamSink) { comObj.postMessage({ sourceName: sourceName, targetName: targetName, @@ -17797,14 +14847,13 @@ var MessageHandler = /*#__PURE__*/function () { break; } - if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) { - this.streamSinks[streamId].sinkCapability.resolve(); + if (streamSink.desiredSize <= 0 && data.desiredSize > 0) { + streamSink.sinkCapability.resolve(); } - this.streamSinks[streamId].desiredSize = data.desiredSize; - var onPull = this.streamSinks[data.streamId].onPull; + streamSink.desiredSize = data.desiredSize; new Promise(function (resolve) { - resolve(onPull && onPull()); + resolve(streamSink.onPull && streamSink.onPull()); }).then(function () { comObj.postMessage({ sourceName: sourceName, @@ -17825,56 +14874,55 @@ var MessageHandler = /*#__PURE__*/function () { break; case StreamKind.ENQUEUE: - (0, _util.assert)(this.streamControllers[streamId], "enqueue should have stream controller"); + (0, _util.assert)(streamController, "enqueue should have stream controller"); - if (this.streamControllers[streamId].isClosed) { + if (streamController.isClosed) { break; } - this.streamControllers[streamId].controller.enqueue(data.chunk); + streamController.controller.enqueue(data.chunk); break; case StreamKind.CLOSE: - (0, _util.assert)(this.streamControllers[streamId], "close should have stream controller"); + (0, _util.assert)(streamController, "close should have stream controller"); - if (this.streamControllers[streamId].isClosed) { + if (streamController.isClosed) { break; } - this.streamControllers[streamId].isClosed = true; - this.streamControllers[streamId].controller.close(); + streamController.isClosed = true; + streamController.controller.close(); - this._deleteStreamController(streamId); + this._deleteStreamController(streamController, streamId); break; case StreamKind.ERROR: - (0, _util.assert)(this.streamControllers[streamId], "error should have stream controller"); - this.streamControllers[streamId].controller.error(wrapReason(data.reason)); + (0, _util.assert)(streamController, "error should have stream controller"); + streamController.controller.error(wrapReason(data.reason)); - this._deleteStreamController(streamId); + this._deleteStreamController(streamController, streamId); break; case StreamKind.CANCEL_COMPLETE: if (data.success) { - this.streamControllers[streamId].cancelCall.resolve(); + streamController.cancelCall.resolve(); } else { - this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason)); + streamController.cancelCall.reject(wrapReason(data.reason)); } - this._deleteStreamController(streamId); + this._deleteStreamController(streamController, streamId); break; case StreamKind.CANCEL: - if (!this.streamSinks[streamId]) { + if (!streamSink) { break; } - var onCancel = this.streamSinks[data.streamId].onCancel; new Promise(function (resolve) { - resolve(onCancel && onCancel(wrapReason(data.reason))); + resolve(streamSink.onCancel && streamSink.onCancel(wrapReason(data.reason))); }).then(function () { comObj.postMessage({ sourceName: sourceName, @@ -17892,8 +14940,8 @@ var MessageHandler = /*#__PURE__*/function () { reason: wrapReason(reason) }); }); - this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason)); - this.streamSinks[streamId].isCancelled = true; + streamSink.sinkCapability.reject(wrapReason(data.reason)); + streamSink.isCancelled = true; delete this.streamSinks[streamId]; break; @@ -17904,15 +14952,13 @@ var MessageHandler = /*#__PURE__*/function () { }, { key: "_deleteStreamController", value: function () { - var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(streamId) { + var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(streamController, streamId) { return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; - return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) { - return capability && capability.promise; - })); + return Promise.allSettled([streamController.startCall && streamController.startCall.promise, streamController.pullCall && streamController.pullCall.promise, streamController.cancelCall && streamController.cancelCall.promise]); case 2: delete this.streamControllers[streamId]; @@ -17925,21 +14971,12 @@ var MessageHandler = /*#__PURE__*/function () { }, _callee, this); })); - function _deleteStreamController(_x) { + function _deleteStreamController(_x, _x2) { return _deleteStreamController2.apply(this, arguments); } return _deleteStreamController; }() - }, { - key: "_postMessage", - value: function _postMessage(message, transfers) { - if (transfers && this.postMessageTransfers) { - this.comObj.postMessage(message, transfers); - } else { - this.comObj.postMessage(message); - } - } }, { key: "destroy", value: function destroy() { @@ -17953,171 +14990,86 @@ var MessageHandler = /*#__PURE__*/function () { exports.MessageHandler = MessageHandler; /***/ }), -/* 201 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 155 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +Object.defineProperty(exports, "__esModule", ({ value: true -}); +})); exports.Metadata = void 0; var _util = __w_pdfjs_require__(1); -var _xml_parser = __w_pdfjs_require__(202); - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } + +function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } + +function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } + +function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } + +function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } + +var _metadataMap = /*#__PURE__*/new WeakMap(); + +var _data = /*#__PURE__*/new WeakMap(); var Metadata = /*#__PURE__*/function () { - function Metadata(data) { + function Metadata(_ref) { + var parsedData = _ref.parsedData, + rawData = _ref.rawData; + _classCallCheck(this, Metadata); - (0, _util.assert)(typeof data === "string", "Metadata: input is not a string"); - data = this._repair(data); - var parser = new _xml_parser.SimpleXMLParser(); - var xmlDocument = parser.parseFromString(data); - this._metadataMap = new Map(); + _classPrivateFieldInitSpec(this, _metadataMap, { + writable: true, + value: void 0 + }); - if (xmlDocument) { - this._parse(xmlDocument); - } + _classPrivateFieldInitSpec(this, _data, { + writable: true, + value: void 0 + }); + + _classPrivateFieldSet(this, _metadataMap, parsedData); + + _classPrivateFieldSet(this, _data, rawData); } _createClass(Metadata, [{ - key: "_repair", - value: function _repair(data) { - return data.replace(/^[^<]+/, "").replace(/>\\376\\377([^<]+)/g, function (all, codes) { - var bytes = codes.replace(/\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) { - return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1); - }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) { - switch (name) { - case "amp": - return "&"; - - case "apos": - return "'"; - - case "gt": - return ">"; - - case "lt": - return "<"; - - case "quot": - return '"'; - } - - throw new Error("_repair: ".concat(name, " isn't defined.")); - }); - var chars = ""; - - for (var i = 0, ii = bytes.length; i < ii; i += 2) { - var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1); - - if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) { - chars += String.fromCharCode(code); - } else { - chars += "&#x" + (0x10000 + code).toString(16).substring(1) + ";"; - } - } - - return ">" + chars; - }); - } - }, { - key: "_parse", - value: function _parse(xmlDocument) { - var rdf = xmlDocument.documentElement; - - if (rdf.nodeName.toLowerCase() !== "rdf:rdf") { - rdf = rdf.firstChild; - - while (rdf && rdf.nodeName.toLowerCase() !== "rdf:rdf") { - rdf = rdf.nextSibling; - } - } - - var nodeName = rdf ? rdf.nodeName.toLowerCase() : null; - - if (!rdf || nodeName !== "rdf:rdf" || !rdf.hasChildNodes()) { - return; - } - - var children = rdf.childNodes; - - for (var i = 0, ii = children.length; i < ii; i++) { - var desc = children[i]; - - if (desc.nodeName.toLowerCase() !== "rdf:description") { - continue; - } - - for (var j = 0, jj = desc.childNodes.length; j < jj; j++) { - if (desc.childNodes[j].nodeName.toLowerCase() !== "#text") { - var entry = desc.childNodes[j]; - var name = entry.nodeName.toLowerCase(); - - this._metadataMap.set(name, entry.textContent.trim()); - } - } - } + key: "getRaw", + value: function getRaw() { + return _classPrivateFieldGet(this, _data); } }, { key: "get", value: function get(name) { - return this._metadataMap.has(name) ? this._metadataMap.get(name) : null; + var _classPrivateFieldGet2; + + return (_classPrivateFieldGet2 = _classPrivateFieldGet(this, _metadataMap).get(name)) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : null; } }, { key: "getAll", value: function getAll() { - var obj = Object.create(null); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = this._metadataMap[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _step$value = _slicedToArray(_step.value, 2), - key = _step$value[0], - value = _step$value[1]; - - obj[key] = value; - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator["return"] != null) { - _iterator["return"](); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - return obj; + return (0, _util.objectFromMap)(_classPrivateFieldGet(this, _metadataMap)); } }, { key: "has", value: function has(name) { - return this._metadataMap.has(name); + return _classPrivateFieldGet(this, _metadataMap).has(name); } }]); @@ -18127,555 +15079,371 @@ var Metadata = /*#__PURE__*/function () { exports.Metadata = Metadata; /***/ }), -/* 202 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 156 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +Object.defineProperty(exports, "__esModule", ({ value: true -}); -exports.SimpleXMLParser = void 0; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } - -function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -var XMLParserErrorCode = { - NoError: 0, - EndOfDocument: -1, - UnterminatedCdat: -2, - UnterminatedXmlDeclaration: -3, - UnterminatedDoctypeDeclaration: -4, - UnterminatedComment: -5, - MalformedElement: -6, - OutOfMemory: -7, - UnterminatedAttributeValue: -8, - UnterminatedElement: -9, - ElementNeverBegun: -10 -}; - -function isWhitespace(s, index) { - var ch = s[index]; - return ch === " " || ch === "\n" || ch === "\r" || ch === "\t"; -} - -function isWhitespaceString(s) { - for (var i = 0, ii = s.length; i < ii; i++) { - if (!isWhitespace(s, i)) { - return false; - } - } - - return true; -} - -var XMLParserBase = /*#__PURE__*/function () { - function XMLParserBase() { - _classCallCheck(this, XMLParserBase); - } - - _createClass(XMLParserBase, [{ - key: "_resolveEntities", - value: function _resolveEntities(s) { - var _this = this; - - return s.replace(/&([^;]+);/g, function (all, entity) { - if (entity.substring(0, 2) === "#x") { - return String.fromCharCode(parseInt(entity.substring(2), 16)); - } else if (entity.substring(0, 1) === "#") { - return String.fromCharCode(parseInt(entity.substring(1), 10)); - } - - switch (entity) { - case "lt": - return "<"; - - case "gt": - return ">"; - - case "amp": - return "&"; - - case "quot": - return '"'; - } - - return _this.onResolveEntity(entity); - }); - } - }, { - key: "_parseContent", - value: function _parseContent(s, start) { - var attributes = []; - var pos = start; - - function skipWs() { - while (pos < s.length && isWhitespace(s, pos)) { - ++pos; - } - } - - while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== ">" && s[pos] !== "/") { - ++pos; - } - - var name = s.substring(start, pos); - skipWs(); - - while (pos < s.length && s[pos] !== ">" && s[pos] !== "/" && s[pos] !== "?") { - skipWs(); - var attrName = "", - attrValue = ""; - - while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== "=") { - attrName += s[pos]; - ++pos; - } - - skipWs(); - - if (s[pos] !== "=") { - return null; - } - - ++pos; - skipWs(); - var attrEndChar = s[pos]; - - if (attrEndChar !== '"' && attrEndChar !== "'") { - return null; - } - - var attrEndIndex = s.indexOf(attrEndChar, ++pos); - - if (attrEndIndex < 0) { - return null; - } - - attrValue = s.substring(pos, attrEndIndex); - attributes.push({ - name: attrName, - value: this._resolveEntities(attrValue) - }); - pos = attrEndIndex + 1; - skipWs(); - } - - return { - name: name, - attributes: attributes, - parsed: pos - start - }; - } - }, { - key: "_parseProcessingInstruction", - value: function _parseProcessingInstruction(s, start) { - var pos = start; - - function skipWs() { - while (pos < s.length && isWhitespace(s, pos)) { - ++pos; - } - } - - while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== ">" && s[pos] !== "/") { - ++pos; - } - - var name = s.substring(start, pos); - skipWs(); - var attrStart = pos; - - while (pos < s.length && (s[pos] !== "?" || s[pos + 1] !== ">")) { - ++pos; - } - - var value = s.substring(attrStart, pos); - return { - name: name, - value: value, - parsed: pos - start - }; - } - }, { - key: "parseXml", - value: function parseXml(s) { - var i = 0; - - while (i < s.length) { - var ch = s[i]; - var j = i; - - if (ch === "<") { - ++j; - var ch2 = s[j]; - var q = void 0; - - switch (ch2) { - case "/": - ++j; - q = s.indexOf(">", j); - - if (q < 0) { - this.onError(XMLParserErrorCode.UnterminatedElement); - return; - } - - this.onEndElement(s.substring(j, q)); - j = q + 1; - break; - - case "?": - ++j; - - var pi = this._parseProcessingInstruction(s, j); - - if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== "?>") { - this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration); - return; - } - - this.onPi(pi.name, pi.value); - j += pi.parsed + 2; - break; - - case "!": - if (s.substring(j + 1, j + 3) === "--") { - q = s.indexOf("-->", j + 3); - - if (q < 0) { - this.onError(XMLParserErrorCode.UnterminatedComment); - return; - } - - this.onComment(s.substring(j + 3, q)); - j = q + 3; - } else if (s.substring(j + 1, j + 8) === "[CDATA[") { - q = s.indexOf("]]>", j + 8); - - if (q < 0) { - this.onError(XMLParserErrorCode.UnterminatedCdat); - return; - } - - this.onCdata(s.substring(j + 8, q)); - j = q + 3; - } else if (s.substring(j + 1, j + 8) === "DOCTYPE") { - var q2 = s.indexOf("[", j + 8); - var complexDoctype = false; - q = s.indexOf(">", j + 8); - - if (q < 0) { - this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration); - return; - } - - if (q2 > 0 && q > q2) { - q = s.indexOf("]>", j + 8); - - if (q < 0) { - this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration); - return; - } - - complexDoctype = true; - } - - var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0)); - this.onDoctype(doctypeContent); - j = q + (complexDoctype ? 2 : 1); - } else { - this.onError(XMLParserErrorCode.MalformedElement); - return; - } - - break; - - default: - var content = this._parseContent(s, j); - - if (content === null) { - this.onError(XMLParserErrorCode.MalformedElement); - return; - } - - var isClosed = false; - - if (s.substring(j + content.parsed, j + content.parsed + 2) === "/>") { - isClosed = true; - } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== ">") { - this.onError(XMLParserErrorCode.UnterminatedElement); - return; - } - - this.onBeginElement(content.name, content.attributes, isClosed); - j += content.parsed + (isClosed ? 2 : 1); - break; - } - } else { - while (j < s.length && s[j] !== "<") { - j++; - } - - var text = s.substring(i, j); - this.onText(this._resolveEntities(text)); - } - - i = j; - } - } - }, { - key: "onResolveEntity", - value: function onResolveEntity(name) { - return "&".concat(name, ";"); - } - }, { - key: "onPi", - value: function onPi(name, value) {} - }, { - key: "onComment", - value: function onComment(text) {} - }, { - key: "onCdata", - value: function onCdata(text) {} - }, { - key: "onDoctype", - value: function onDoctype(doctypeContent) {} - }, { - key: "onText", - value: function onText(text) {} - }, { - key: "onBeginElement", - value: function onBeginElement(name, attributes, isEmpty) {} - }, { - key: "onEndElement", - value: function onEndElement(name) {} - }, { - key: "onError", - value: function onError(code) {} - }]); - - return XMLParserBase; -}(); - -var SimpleDOMNode = /*#__PURE__*/function () { - function SimpleDOMNode(nodeName, nodeValue) { - _classCallCheck(this, SimpleDOMNode); - - this.nodeName = nodeName; - this.nodeValue = nodeValue; - Object.defineProperty(this, "parentNode", { - value: null, - writable: true - }); - } - - _createClass(SimpleDOMNode, [{ - key: "hasChildNodes", - value: function hasChildNodes() { - return this.childNodes && this.childNodes.length > 0; - } - }, { - key: "firstChild", - get: function get() { - return this.childNodes && this.childNodes[0]; - } - }, { - key: "nextSibling", - get: function get() { - var childNodes = this.parentNode.childNodes; - - if (!childNodes) { - return undefined; - } - - var index = childNodes.indexOf(this); - - if (index === -1) { - return undefined; - } - - return childNodes[index + 1]; - } - }, { - key: "textContent", - get: function get() { - if (!this.childNodes) { - return this.nodeValue || ""; - } - - return this.childNodes.map(function (child) { - return child.textContent; - }).join(""); - } - }]); - - return SimpleDOMNode; -}(); - -var SimpleXMLParser = /*#__PURE__*/function (_XMLParserBase) { - _inherits(SimpleXMLParser, _XMLParserBase); - - function SimpleXMLParser() { - var _this2; - - _classCallCheck(this, SimpleXMLParser); - - _this2 = _possibleConstructorReturn(this, _getPrototypeOf(SimpleXMLParser).call(this)); - _this2._currentFragment = null; - _this2._stack = null; - _this2._errorCode = XMLParserErrorCode.NoError; - return _this2; - } - - _createClass(SimpleXMLParser, [{ - key: "parseFromString", - value: function parseFromString(data) { - this._currentFragment = []; - this._stack = []; - this._errorCode = XMLParserErrorCode.NoError; - this.parseXml(data); - - if (this._errorCode !== XMLParserErrorCode.NoError) { - return undefined; - } - - var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1), - documentElement = _this$_currentFragmen[0]; - - if (!documentElement) { - return undefined; - } - - return { - documentElement: documentElement - }; - } - }, { - key: "onResolveEntity", - value: function onResolveEntity(name) { - switch (name) { - case "apos": - return "'"; - } - - return _get(_getPrototypeOf(SimpleXMLParser.prototype), "onResolveEntity", this).call(this, name); - } - }, { - key: "onText", - value: function onText(text) { - if (isWhitespaceString(text)) { - return; - } - - var node = new SimpleDOMNode("#text", text); - - this._currentFragment.push(node); - } - }, { - key: "onCdata", - value: function onCdata(text) { - var node = new SimpleDOMNode("#text", text); - - this._currentFragment.push(node); - } - }, { - key: "onBeginElement", - value: function onBeginElement(name, attributes, isEmpty) { - var node = new SimpleDOMNode(name); - node.childNodes = []; - - this._currentFragment.push(node); - - if (isEmpty) { - return; - } - - this._stack.push(this._currentFragment); - - this._currentFragment = node.childNodes; - } - }, { - key: "onEndElement", - value: function onEndElement(name) { - this._currentFragment = this._stack.pop() || []; - var lastElement = this._currentFragment[this._currentFragment.length - 1]; - - if (!lastElement) { - return; - } - - for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) { - lastElement.childNodes[i].parentNode = lastElement; - } - } - }, { - key: "onError", - value: function onError(code) { - this._errorCode = code; - } - }]); - - return SimpleXMLParser; -}(XMLParserBase); - -exports.SimpleXMLParser = SimpleXMLParser; - -/***/ }), -/* 203 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.PDFDataTransportStream = void 0; - -var _regenerator = _interopRequireDefault(__w_pdfjs_require__(191)); +})); +exports.OptionalContentConfig = void 0; var _util = __w_pdfjs_require__(1); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var OptionalContentGroup = /*#__PURE__*/_createClass(function OptionalContentGroup(name, intent) { + _classCallCheck(this, OptionalContentGroup); + + this.visible = true; + this.name = name; + this.intent = intent; +}); + +var OptionalContentConfig = /*#__PURE__*/function () { + function OptionalContentConfig(data) { + _classCallCheck(this, OptionalContentConfig); + + this.name = null; + this.creator = null; + this._order = null; + this._groups = new Map(); + + if (data === null) { + return; + } + + this.name = data.name; + this.creator = data.creator; + this._order = data.order; + + var _iterator = _createForOfIteratorHelper(data.groups), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _group = _step.value; + + this._groups.set(_group.id, new OptionalContentGroup(_group.name, _group.intent)); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + if (data.baseState === "OFF") { + var _iterator2 = _createForOfIteratorHelper(this._groups), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var group = _step2.value; + group.visible = false; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + + var _iterator3 = _createForOfIteratorHelper(data.on), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var on = _step3.value; + this._groups.get(on).visible = true; + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + var _iterator4 = _createForOfIteratorHelper(data.off), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var off = _step4.value; + this._groups.get(off).visible = false; + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + } + + _createClass(OptionalContentConfig, [{ + key: "_evaluateVisibilityExpression", + value: function _evaluateVisibilityExpression(array) { + var length = array.length; + + if (length < 2) { + return true; + } + + var operator = array[0]; + + for (var i = 1; i < length; i++) { + var element = array[i]; + var state = void 0; + + if (Array.isArray(element)) { + state = this._evaluateVisibilityExpression(element); + } else if (this._groups.has(element)) { + state = this._groups.get(element).visible; + } else { + (0, _util.warn)("Optional content group not found: ".concat(element)); + return true; + } + + switch (operator) { + case "And": + if (!state) { + return false; + } + + break; + + case "Or": + if (state) { + return true; + } + + break; + + case "Not": + return !state; + + default: + return true; + } + } + + return operator === "And"; + } + }, { + key: "isVisible", + value: function isVisible(group) { + if (this._groups.size === 0) { + return true; + } + + if (!group) { + (0, _util.warn)("Optional content group not defined."); + return true; + } + + if (group.type === "OCG") { + if (!this._groups.has(group.id)) { + (0, _util.warn)("Optional content group not found: ".concat(group.id)); + return true; + } + + return this._groups.get(group.id).visible; + } else if (group.type === "OCMD") { + if (group.expression) { + return this._evaluateVisibilityExpression(group.expression); + } + + if (!group.policy || group.policy === "AnyOn") { + var _iterator5 = _createForOfIteratorHelper(group.ids), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var id = _step5.value; + + if (!this._groups.has(id)) { + (0, _util.warn)("Optional content group not found: ".concat(id)); + return true; + } + + if (this._groups.get(id).visible) { + return true; + } + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + return false; + } else if (group.policy === "AllOn") { + var _iterator6 = _createForOfIteratorHelper(group.ids), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var _id = _step6.value; + + if (!this._groups.has(_id)) { + (0, _util.warn)("Optional content group not found: ".concat(_id)); + return true; + } + + if (!this._groups.get(_id).visible) { + return false; + } + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + return true; + } else if (group.policy === "AnyOff") { + var _iterator7 = _createForOfIteratorHelper(group.ids), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var _id2 = _step7.value; + + if (!this._groups.has(_id2)) { + (0, _util.warn)("Optional content group not found: ".concat(_id2)); + return true; + } + + if (!this._groups.get(_id2).visible) { + return true; + } + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + return false; + } else if (group.policy === "AllOff") { + var _iterator8 = _createForOfIteratorHelper(group.ids), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var _id3 = _step8.value; + + if (!this._groups.has(_id3)) { + (0, _util.warn)("Optional content group not found: ".concat(_id3)); + return true; + } + + if (this._groups.get(_id3).visible) { + return false; + } + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + + return true; + } + + (0, _util.warn)("Unknown optional content policy ".concat(group.policy, ".")); + return true; + } + + (0, _util.warn)("Unknown group type ".concat(group.type, ".")); + return true; + } + }, { + key: "setVisibility", + value: function setVisibility(id) { + var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + + if (!this._groups.has(id)) { + (0, _util.warn)("Optional content group not found: ".concat(id)); + return; + } + + this._groups.get(id).visible = !!visible; + } + }, { + key: "getOrder", + value: function getOrder() { + if (!this._groups.size) { + return null; + } + + if (this._order) { + return this._order.slice(); + } + + return Array.from(this._groups.keys()); + } + }, { + key: "getGroups", + value: function getGroups() { + return this._groups.size > 0 ? (0, _util.objectFromMap)(this._groups) : null; + } + }, { + key: "getGroup", + value: function getGroup(id) { + return this._groups.get(id) || null; + } + }]); + + return OptionalContentConfig; +}(); + +exports.OptionalContentConfig = OptionalContentConfig; + +/***/ }), +/* 157 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFDataTransportStream = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); + +var _util = __w_pdfjs_require__(1); + +var _display_utils = __w_pdfjs_require__(146); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } var PDFDataTransportStream = /*#__PURE__*/function () { function PDFDataTransportStream(params, pdfDataRangeTransport) { @@ -18683,12 +15451,13 @@ var PDFDataTransportStream = /*#__PURE__*/function () { _classCallCheck(this, PDFDataTransportStream); - (0, _util.assert)(pdfDataRangeTransport); + (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.'); this._queuedChunks = []; this._progressiveDone = params.progressiveDone || false; + this._contentDispositionFilename = params.contentDispositionFilename || null; var initialData = params.initialData; - if (initialData && initialData.length > 0) { + if ((initialData === null || initialData === void 0 ? void 0 : initialData.length) > 0) { var buffer = new Uint8Array(initialData).buffer; this._queuedChunks.push(buffer); @@ -18750,16 +15519,23 @@ var PDFDataTransportStream = /*#__PURE__*/function () { return true; }); - (0, _util.assert)(found); + (0, _util.assert)(found, "_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."); } } + }, { + key: "_progressiveDataLength", + get: function get() { + var _this$_fullRequestRea, _this$_fullRequestRea2; + + return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0; + } }, { key: "_onProgress", value: function _onProgress(evt) { if (evt.total === undefined) { var firstReader = this._rangeReaders[0]; - if (firstReader && firstReader.onProgress) { + if (firstReader !== null && firstReader !== void 0 && firstReader.onProgress) { firstReader.onProgress({ loaded: evt.loaded }); @@ -18767,7 +15543,7 @@ var PDFDataTransportStream = /*#__PURE__*/function () { } else { var fullReader = this._fullRequestReader; - if (fullReader && fullReader.onProgress) { + if (fullReader !== null && fullReader !== void 0 && fullReader.onProgress) { fullReader.onProgress({ loaded: evt.loaded, total: evt.total @@ -18796,10 +15572,10 @@ var PDFDataTransportStream = /*#__PURE__*/function () { }, { key: "getFullReader", value: function getFullReader() { - (0, _util.assert)(!this._fullRequestReader); + (0, _util.assert)(!this._fullRequestReader, "PDFDataTransportStream.getFullReader can only be called once."); var queuedChunks = this._queuedChunks; this._queuedChunks = null; - return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone); + return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename); } }, { key: "getRangeReader", @@ -18823,19 +15599,22 @@ var PDFDataTransportStream = /*#__PURE__*/function () { this._fullRequestReader.cancel(reason); } - var readers = this._rangeReaders.slice(0); + var _iterator = _createForOfIteratorHelper(this._rangeReaders.slice(0)), + _step; - readers.forEach(function (rangeReader) { - rangeReader.cancel(reason); - }); + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var reader = _step.value; + reader.cancel(reason); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } this._pdfDataRangeTransport.abort(); } - }, { - key: "_progressiveDataLength", - get: function get() { - return this._fullRequestReader ? this._fullRequestReader._loaded : 0; - } }]); return PDFDataTransportStream; @@ -18846,36 +15625,28 @@ exports.PDFDataTransportStream = PDFDataTransportStream; var PDFDataTransportStreamReader = /*#__PURE__*/function () { function PDFDataTransportStreamReader(stream, queuedChunks) { var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; _classCallCheck(this, PDFDataTransportStreamReader); this._stream = stream; this._done = progressiveDone || false; - this._filename = null; + this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null; this._queuedChunks = queuedChunks || []; this._loaded = 0; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + + var _iterator2 = _createForOfIteratorHelper(this._queuedChunks), + _step2; try { - for (var _iterator = this._queuedChunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var chunk = _step.value; + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var chunk = _step2.value; this._loaded += chunk.byteLength; } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator2.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator["return"] != null) { - _iterator["return"](); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator2.f(); } this._requests = []; @@ -18904,6 +15675,31 @@ var PDFDataTransportStreamReader = /*#__PURE__*/function () { this._loaded += chunk.byteLength; } + }, { + key: "headersReady", + get: function get() { + return this._headersReady; + } + }, { + key: "filename", + get: function get() { + return this._filename; + } + }, { + key: "isRangeSupported", + get: function get() { + return this._stream._isRangeSupported; + } + }, { + key: "isStreamingSupported", + get: function get() { + return this._stream._isStreamingSupported; + } + }, { + key: "contentLength", + get: function get() { + return this._stream._contentLength; + } }, { key: "read", value: function () { @@ -18961,14 +15757,24 @@ var PDFDataTransportStreamReader = /*#__PURE__*/function () { value: function cancel(reason) { this._done = true; - this._requests.forEach(function (requestCapability) { - requestCapability.resolve({ - value: undefined, - done: true - }); - }); + var _iterator3 = _createForOfIteratorHelper(this._requests), + _step3; - this._requests = []; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var requestCapability = _step3.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + this._requests.length = 0; } }, { key: "progressiveDone", @@ -18979,31 +15785,6 @@ var PDFDataTransportStreamReader = /*#__PURE__*/function () { this._done = true; } - }, { - key: "headersReady", - get: function get() { - return this._headersReady; - } - }, { - key: "filename", - get: function get() { - return this._filename; - } - }, { - key: "isRangeSupported", - get: function get() { - return this._stream._isRangeSupported; - } - }, { - key: "isStreamingSupported", - get: function get() { - return this._stream._isStreamingSupported; - } - }, { - key: "contentLength", - get: function get() { - return this._stream._contentLength; - } }]); return PDFDataTransportStreamReader; @@ -19039,20 +15820,35 @@ var PDFDataTransportStreamRangeReader = /*#__PURE__*/function () { done: false }); - this._requests.forEach(function (requestCapability) { - requestCapability.resolve({ - value: undefined, - done: true - }); - }); + var _iterator4 = _createForOfIteratorHelper(this._requests), + _step4; - this._requests = []; + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var requestCapability = _step4.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + this._requests.length = 0; } this._done = true; this._stream._removeRangeReader(this); } + }, { + key: "isStreamingSupported", + get: function get() { + return false; + } }, { key: "read", value: function () { @@ -19111,1203 +15907,215 @@ var PDFDataTransportStreamRangeReader = /*#__PURE__*/function () { value: function cancel(reason) { this._done = true; - this._requests.forEach(function (requestCapability) { - requestCapability.resolve({ - value: undefined, - done: true - }); - }); + var _iterator5 = _createForOfIteratorHelper(this._requests), + _step5; - this._requests = []; + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var requestCapability = _step5.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this._requests.length = 0; this._stream._removeRangeReader(this); } - }, { - key: "isStreamingSupported", - get: function get() { - return false; - } }]); return PDFDataTransportStreamRangeReader; }(); /***/ }), -/* 204 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 158 */ +/***/ ((__unused_webpack_module, exports) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +Object.defineProperty(exports, "__esModule", ({ value: true -}); -exports.WebGLContext = void 0; +})); +exports.XfaText = void 0; -var _util = __w_pdfjs_require__(1); +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } -var WebGLContext = /*#__PURE__*/function () { - function WebGLContext(_ref) { - var _ref$enable = _ref.enable, - enable = _ref$enable === void 0 ? false : _ref$enable; - - _classCallCheck(this, WebGLContext); - - this._enabled = enable === true; +var XfaText = /*#__PURE__*/function () { + function XfaText() { + _classCallCheck(this, XfaText); } - _createClass(WebGLContext, [{ - key: "composeSMask", - value: function composeSMask(_ref2) { - var layer = _ref2.layer, - mask = _ref2.mask, - properties = _ref2.properties; - return WebGLUtils.composeSMask(layer, mask, properties); - } - }, { - key: "drawFigures", - value: function drawFigures(_ref3) { - var width = _ref3.width, - height = _ref3.height, - backgroundColor = _ref3.backgroundColor, - figures = _ref3.figures, - context = _ref3.context; - return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context); - } - }, { - key: "clear", - value: function clear() { - WebGLUtils.cleanup(); - } - }, { - key: "isEnabled", - get: function get() { - var enabled = this._enabled; + _createClass(XfaText, null, [{ + key: "textContent", + value: function textContent(xfa) { + var items = []; + var output = { + items: items, + styles: Object.create(null) + }; - if (enabled) { - enabled = WebGLUtils.tryInitGL(); + function walk(node) { + var _node$attributes; + + if (!node) { + return; + } + + var str = null; + var name = node.name; + + if (name === "#text") { + str = node.value; + } else if (!XfaText.shouldBuildText(name)) { + return; + } else if (node !== null && node !== void 0 && (_node$attributes = node.attributes) !== null && _node$attributes !== void 0 && _node$attributes.textContent) { + str = node.attributes.textContent; + } else if (node.value) { + str = node.value; + } + + if (str !== null) { + items.push({ + str: str + }); + } + + if (!node.children) { + return; + } + + var _iterator = _createForOfIteratorHelper(node.children), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var child = _step.value; + walk(child); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } } - return (0, _util.shadow)(this, "isEnabled", enabled); + walk(xfa); + return output; + } + }, { + key: "shouldBuildText", + value: function shouldBuildText(name) { + return !(name === "textarea" || name === "input" || name === "option" || name === "select"); } }]); - return WebGLContext; + return XfaText; }(); -exports.WebGLContext = WebGLContext; - -var WebGLUtils = function WebGLUtilsClosure() { - function loadShader(gl, code, shaderType) { - var shader = gl.createShader(shaderType); - gl.shaderSource(shader, code); - gl.compileShader(shader); - var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS); - - if (!compiled) { - var errorMsg = gl.getShaderInfoLog(shader); - throw new Error("Error during shader compilation: " + errorMsg); - } - - return shader; - } - - function createVertexShader(gl, code) { - return loadShader(gl, code, gl.VERTEX_SHADER); - } - - function createFragmentShader(gl, code) { - return loadShader(gl, code, gl.FRAGMENT_SHADER); - } - - function createProgram(gl, shaders) { - var program = gl.createProgram(); - - for (var i = 0, ii = shaders.length; i < ii; ++i) { - gl.attachShader(program, shaders[i]); - } - - gl.linkProgram(program); - var linked = gl.getProgramParameter(program, gl.LINK_STATUS); - - if (!linked) { - var errorMsg = gl.getProgramInfoLog(program); - throw new Error("Error during program linking: " + errorMsg); - } - - return program; - } - - function createTexture(gl, image, textureId) { - gl.activeTexture(textureId); - var texture = gl.createTexture(); - gl.bindTexture(gl.TEXTURE_2D, texture); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST); - gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image); - return texture; - } - - var currentGL, currentCanvas; - - function generateGL() { - if (currentGL) { - return; - } - - currentCanvas = document.createElement("canvas"); - currentGL = currentCanvas.getContext("webgl", { - premultipliedalpha: false - }); - } - - var smaskVertexShaderCode = "\ - attribute vec2 a_position; \ - attribute vec2 a_texCoord; \ - \ - uniform vec2 u_resolution; \ - \ - varying vec2 v_texCoord; \ - \ - void main() { \ - vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \ - gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \ - \ - v_texCoord = a_texCoord; \ - } "; - var smaskFragmentShaderCode = "\ - precision mediump float; \ - \ - uniform vec4 u_backdrop; \ - uniform int u_subtype; \ - uniform sampler2D u_image; \ - uniform sampler2D u_mask; \ - \ - varying vec2 v_texCoord; \ - \ - void main() { \ - vec4 imageColor = texture2D(u_image, v_texCoord); \ - vec4 maskColor = texture2D(u_mask, v_texCoord); \ - if (u_backdrop.a > 0.0) { \ - maskColor.rgb = maskColor.rgb * maskColor.a + \ - u_backdrop.rgb * (1.0 - maskColor.a); \ - } \ - float lum; \ - if (u_subtype == 0) { \ - lum = maskColor.a; \ - } else { \ - lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \ - maskColor.b * 0.11; \ - } \ - imageColor.a *= lum; \ - imageColor.rgb *= imageColor.a; \ - gl_FragColor = imageColor; \ - } "; - var smaskCache = null; - - function initSmaskGL() { - var canvas, gl; - generateGL(); - canvas = currentCanvas; - currentCanvas = null; - gl = currentGL; - currentGL = null; - var vertexShader = createVertexShader(gl, smaskVertexShaderCode); - var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode); - var program = createProgram(gl, [vertexShader, fragmentShader]); - gl.useProgram(program); - var cache = {}; - cache.gl = gl; - cache.canvas = canvas; - cache.resolutionLocation = gl.getUniformLocation(program, "u_resolution"); - cache.positionLocation = gl.getAttribLocation(program, "a_position"); - cache.backdropLocation = gl.getUniformLocation(program, "u_backdrop"); - cache.subtypeLocation = gl.getUniformLocation(program, "u_subtype"); - var texCoordLocation = gl.getAttribLocation(program, "a_texCoord"); - var texLayerLocation = gl.getUniformLocation(program, "u_image"); - var texMaskLocation = gl.getUniformLocation(program, "u_mask"); - var texCoordBuffer = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer); - gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW); - gl.enableVertexAttribArray(texCoordLocation); - gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0); - gl.uniform1i(texLayerLocation, 0); - gl.uniform1i(texMaskLocation, 1); - smaskCache = cache; - } - - function composeSMask(layer, mask, properties) { - var width = layer.width, - height = layer.height; - - if (!smaskCache) { - initSmaskGL(); - } - - var cache = smaskCache, - canvas = cache.canvas, - gl = cache.gl; - canvas.width = width; - canvas.height = height; - gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight); - gl.uniform2f(cache.resolutionLocation, width, height); - - if (properties.backdrop) { - gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1); - } else { - gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0); - } - - gl.uniform1i(cache.subtypeLocation, properties.subtype === "Luminosity" ? 1 : 0); - var texture = createTexture(gl, layer, gl.TEXTURE0); - var maskTexture = createTexture(gl, mask, gl.TEXTURE1); - var buffer = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, buffer); - gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW); - gl.enableVertexAttribArray(cache.positionLocation); - gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0); - gl.clearColor(0, 0, 0, 0); - gl.enable(gl.BLEND); - gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA); - gl.clear(gl.COLOR_BUFFER_BIT); - gl.drawArrays(gl.TRIANGLES, 0, 6); - gl.flush(); - gl.deleteTexture(texture); - gl.deleteTexture(maskTexture); - gl.deleteBuffer(buffer); - return canvas; - } - - var figuresVertexShaderCode = "\ - attribute vec2 a_position; \ - attribute vec3 a_color; \ - \ - uniform vec2 u_resolution; \ - uniform vec2 u_scale; \ - uniform vec2 u_offset; \ - \ - varying vec4 v_color; \ - \ - void main() { \ - vec2 position = (a_position + u_offset) * u_scale; \ - vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \ - gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \ - \ - v_color = vec4(a_color / 255.0, 1.0); \ - } "; - var figuresFragmentShaderCode = "\ - precision mediump float; \ - \ - varying vec4 v_color; \ - \ - void main() { \ - gl_FragColor = v_color; \ - } "; - var figuresCache = null; - - function initFiguresGL() { - var canvas, gl; - generateGL(); - canvas = currentCanvas; - currentCanvas = null; - gl = currentGL; - currentGL = null; - var vertexShader = createVertexShader(gl, figuresVertexShaderCode); - var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode); - var program = createProgram(gl, [vertexShader, fragmentShader]); - gl.useProgram(program); - var cache = {}; - cache.gl = gl; - cache.canvas = canvas; - cache.resolutionLocation = gl.getUniformLocation(program, "u_resolution"); - cache.scaleLocation = gl.getUniformLocation(program, "u_scale"); - cache.offsetLocation = gl.getUniformLocation(program, "u_offset"); - cache.positionLocation = gl.getAttribLocation(program, "a_position"); - cache.colorLocation = gl.getAttribLocation(program, "a_color"); - figuresCache = cache; - } - - function drawFigures(width, height, backgroundColor, figures, context) { - if (!figuresCache) { - initFiguresGL(); - } - - var cache = figuresCache, - canvas = cache.canvas, - gl = cache.gl; - canvas.width = width; - canvas.height = height; - gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight); - gl.uniform2f(cache.resolutionLocation, width, height); - var count = 0; - var i, ii, rows; - - for (i = 0, ii = figures.length; i < ii; i++) { - switch (figures[i].type) { - case "lattice": - rows = figures[i].coords.length / figures[i].verticesPerRow | 0; - count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6; - break; - - case "triangles": - count += figures[i].coords.length; - break; - } - } - - var coords = new Float32Array(count * 2); - var colors = new Uint8Array(count * 3); - var coordsMap = context.coords, - colorsMap = context.colors; - var pIndex = 0, - cIndex = 0; - - for (i = 0, ii = figures.length; i < ii; i++) { - var figure = figures[i], - ps = figure.coords, - cs = figure.colors; - - switch (figure.type) { - case "lattice": - var cols = figure.verticesPerRow; - rows = ps.length / cols | 0; - - for (var row = 1; row < rows; row++) { - var offset = row * cols + 1; - - for (var col = 1; col < cols; col++, offset++) { - coords[pIndex] = coordsMap[ps[offset - cols - 1]]; - coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1]; - coords[pIndex + 2] = coordsMap[ps[offset - cols]]; - coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1]; - coords[pIndex + 4] = coordsMap[ps[offset - 1]]; - coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1]; - colors[cIndex] = colorsMap[cs[offset - cols - 1]]; - colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1]; - colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2]; - colors[cIndex + 3] = colorsMap[cs[offset - cols]]; - colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1]; - colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2]; - colors[cIndex + 6] = colorsMap[cs[offset - 1]]; - colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1]; - colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2]; - coords[pIndex + 6] = coords[pIndex + 2]; - coords[pIndex + 7] = coords[pIndex + 3]; - coords[pIndex + 8] = coords[pIndex + 4]; - coords[pIndex + 9] = coords[pIndex + 5]; - coords[pIndex + 10] = coordsMap[ps[offset]]; - coords[pIndex + 11] = coordsMap[ps[offset] + 1]; - colors[cIndex + 9] = colors[cIndex + 3]; - colors[cIndex + 10] = colors[cIndex + 4]; - colors[cIndex + 11] = colors[cIndex + 5]; - colors[cIndex + 12] = colors[cIndex + 6]; - colors[cIndex + 13] = colors[cIndex + 7]; - colors[cIndex + 14] = colors[cIndex + 8]; - colors[cIndex + 15] = colorsMap[cs[offset]]; - colors[cIndex + 16] = colorsMap[cs[offset] + 1]; - colors[cIndex + 17] = colorsMap[cs[offset] + 2]; - pIndex += 12; - cIndex += 18; - } - } - - break; - - case "triangles": - for (var j = 0, jj = ps.length; j < jj; j++) { - coords[pIndex] = coordsMap[ps[j]]; - coords[pIndex + 1] = coordsMap[ps[j] + 1]; - colors[cIndex] = colorsMap[cs[j]]; - colors[cIndex + 1] = colorsMap[cs[j] + 1]; - colors[cIndex + 2] = colorsMap[cs[j] + 2]; - pIndex += 2; - cIndex += 3; - } - - break; - } - } - - if (backgroundColor) { - gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0); - } else { - gl.clearColor(0, 0, 0, 0); - } - - gl.clear(gl.COLOR_BUFFER_BIT); - var coordsBuffer = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer); - gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW); - gl.enableVertexAttribArray(cache.positionLocation); - gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0); - var colorsBuffer = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer); - gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW); - gl.enableVertexAttribArray(cache.colorLocation); - gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0); - gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY); - gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY); - gl.drawArrays(gl.TRIANGLES, 0, count); - gl.flush(); - gl.deleteBuffer(coordsBuffer); - gl.deleteBuffer(colorsBuffer); - return canvas; - } - - return { - tryInitGL: function tryInitGL() { - try { - generateGL(); - return !!currentGL; - } catch (ex) {} - - return false; - }, - composeSMask: composeSMask, - drawFigures: drawFigures, - cleanup: function cleanup() { - if (smaskCache && smaskCache.canvas) { - smaskCache.canvas.width = 0; - smaskCache.canvas.height = 0; - } - - if (figuresCache && figuresCache.canvas) { - figuresCache.canvas.width = 0; - figuresCache.canvas.height = 0; - } - - smaskCache = null; - figuresCache = null; - } - }; -}(); +exports.XfaText = XfaText; /***/ }), -/* 205 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 159 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ value: true -}); -exports.renderTextLayer = void 0; - -var _util = __w_pdfjs_require__(1); - -var renderTextLayer = function renderTextLayerClosure() { - var MAX_TEXT_DIVS_TO_RENDER = 100000; - var NonWhitespaceRegexp = /\S/; - - function isAllWhitespace(str) { - return !NonWhitespaceRegexp.test(str); - } - - function appendText(task, geom, styles) { - var textDiv = document.createElement("span"); - var textDivProperties = { - angle: 0, - canvasWidth: 0, - isWhitespace: false, - originalTransform: null, - paddingBottom: 0, - paddingLeft: 0, - paddingRight: 0, - paddingTop: 0, - scale: 1 - }; - - task._textDivs.push(textDiv); - - if (isAllWhitespace(geom.str)) { - textDivProperties.isWhitespace = true; - - task._textDivProperties.set(textDiv, textDivProperties); - - return; - } - - var tx = _util.Util.transform(task._viewport.transform, geom.transform); - - var angle = Math.atan2(tx[1], tx[0]); - var style = styles[geom.fontName]; - - if (style.vertical) { - angle += Math.PI / 2; - } - - var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]); - var fontAscent = fontHeight; - - if (style.ascent) { - fontAscent = style.ascent * fontAscent; - } else if (style.descent) { - fontAscent = (1 + style.descent) * fontAscent; - } - - var left, top; - - if (angle === 0) { - left = tx[4]; - top = tx[5] - fontAscent; - } else { - left = tx[4] + fontAscent * Math.sin(angle); - top = tx[5] - fontAscent * Math.cos(angle); - } - - textDiv.style.left = "".concat(left, "px"); - textDiv.style.top = "".concat(top, "px"); - textDiv.style.fontSize = "".concat(fontHeight / 16.0, "em"); - textDiv.style.fontFamily = style.fontFamily; - textDiv.textContent = geom.str; - - if (task._fontInspectorEnabled) { - textDiv.dataset.fontName = geom.fontName; - } - - if (angle !== 0) { - textDivProperties.angle = angle * (180 / Math.PI); - } - - if (geom.str.length > 1) { - if (style.vertical) { - textDivProperties.canvasWidth = geom.height * task._viewport.scale; - } else { - textDivProperties.canvasWidth = geom.width * task._viewport.scale; - } - } - - task._textDivProperties.set(textDiv, textDivProperties); - - if (task._textContentStream) { - task._layoutText(textDiv); - } - - if (task._enhanceTextSelection) { - var angleCos = 1, - angleSin = 0; - - if (angle !== 0) { - angleCos = Math.cos(angle); - angleSin = Math.sin(angle); - } - - var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale; - var divHeight = fontHeight; - var m, b; - - if (angle !== 0) { - m = [angleCos, angleSin, -angleSin, angleCos, left, top]; - b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m); - } else { - b = [left, top, left + divWidth, top + divHeight]; - } - - task._bounds.push({ - left: b[0], - top: b[1], - right: b[2], - bottom: b[3], - div: textDiv, - size: [divWidth, divHeight], - m: m - }); - } - } - - function render(task) { - if (task._canceled) { - return; - } - - var textDivs = task._textDivs; - var capability = task._capability; - var textDivsLength = textDivs.length; - - if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) { - task._renderingDone = true; - capability.resolve(); - return; - } - - if (!task._textContentStream) { - for (var i = 0; i < textDivsLength; i++) { - task._layoutText(textDivs[i]); - } - } - - task._renderingDone = true; - capability.resolve(); - } - - function expand(task) { - var bounds = task._bounds; - var viewport = task._viewport; - var expanded = expandBounds(viewport.width, viewport.height, bounds); - - for (var i = 0; i < expanded.length; i++) { - var div = bounds[i].div; - - var divProperties = task._textDivProperties.get(div); - - if (divProperties.angle === 0) { - divProperties.paddingLeft = bounds[i].left - expanded[i].left; - divProperties.paddingTop = bounds[i].top - expanded[i].top; - divProperties.paddingRight = expanded[i].right - bounds[i].right; - divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom; - - task._textDivProperties.set(div, divProperties); - - continue; - } - - var e = expanded[i], - b = bounds[i]; - var m = b.m, - c = m[0], - s = m[1]; - var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size]; - var ts = new Float64Array(64); - points.forEach(function (p, i) { - var t = _util.Util.applyTransform(p, m); - - ts[i + 0] = c && (e.left - t[0]) / c; - ts[i + 4] = s && (e.top - t[1]) / s; - ts[i + 8] = c && (e.right - t[0]) / c; - ts[i + 12] = s && (e.bottom - t[1]) / s; - ts[i + 16] = s && (e.left - t[0]) / -s; - ts[i + 20] = c && (e.top - t[1]) / c; - ts[i + 24] = s && (e.right - t[0]) / -s; - ts[i + 28] = c && (e.bottom - t[1]) / c; - ts[i + 32] = c && (e.left - t[0]) / -c; - ts[i + 36] = s && (e.top - t[1]) / -s; - ts[i + 40] = c && (e.right - t[0]) / -c; - ts[i + 44] = s && (e.bottom - t[1]) / -s; - ts[i + 48] = s && (e.left - t[0]) / s; - ts[i + 52] = c && (e.top - t[1]) / -c; - ts[i + 56] = s && (e.right - t[0]) / s; - ts[i + 60] = c && (e.bottom - t[1]) / -c; - }); - - var findPositiveMin = function findPositiveMin(ts, offset, count) { - var result = 0; - - for (var i = 0; i < count; i++) { - var t = ts[offset++]; - - if (t > 0) { - result = result ? Math.min(t, result) : t; - } - } - - return result; - }; - - var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s)); - divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale; - divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale; - divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale; - divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale; - - task._textDivProperties.set(div, divProperties); - } - } - - function expandBounds(width, height, boxes) { - var bounds = boxes.map(function (box, i) { - return { - x1: box.left, - y1: box.top, - x2: box.right, - y2: box.bottom, - index: i, - x1New: undefined, - x2New: undefined - }; - }); - expandBoundsLTR(width, bounds); - var expanded = new Array(boxes.length); - bounds.forEach(function (b) { - var i = b.index; - expanded[i] = { - left: b.x1New, - top: 0, - right: b.x2New, - bottom: 0 - }; - }); - boxes.map(function (box, i) { - var e = expanded[i], - b = bounds[i]; - b.x1 = box.top; - b.y1 = width - e.right; - b.x2 = box.bottom; - b.y2 = width - e.left; - b.index = i; - b.x1New = undefined; - b.x2New = undefined; - }); - expandBoundsLTR(height, bounds); - bounds.forEach(function (b) { - var i = b.index; - expanded[i].top = b.x1New; - expanded[i].bottom = b.x2New; - }); - return expanded; - } - - function expandBoundsLTR(width, bounds) { - bounds.sort(function (a, b) { - return a.x1 - b.x1 || a.index - b.index; - }); - var fakeBoundary = { - x1: -Infinity, - y1: -Infinity, - x2: 0, - y2: Infinity, - index: -1, - x1New: 0, - x2New: 0 - }; - var horizon = [{ - start: -Infinity, - end: Infinity, - boundary: fakeBoundary - }]; - bounds.forEach(function (boundary) { - var i = 0; - - while (i < horizon.length && horizon[i].end <= boundary.y1) { - i++; - } - - var j = horizon.length - 1; - - while (j >= 0 && horizon[j].start >= boundary.y2) { - j--; - } - - var horizonPart, affectedBoundary; - var q, - k, - maxXNew = -Infinity; - - for (q = i; q <= j; q++) { - horizonPart = horizon[q]; - affectedBoundary = horizonPart.boundary; - var xNew; - - if (affectedBoundary.x2 > boundary.x1) { - xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1; - } else if (affectedBoundary.x2New === undefined) { - xNew = (affectedBoundary.x2 + boundary.x1) / 2; - } else { - xNew = affectedBoundary.x2New; - } - - if (xNew > maxXNew) { - maxXNew = xNew; - } - } - - boundary.x1New = maxXNew; - - for (q = i; q <= j; q++) { - horizonPart = horizon[q]; - affectedBoundary = horizonPart.boundary; - - if (affectedBoundary.x2New === undefined) { - if (affectedBoundary.x2 > boundary.x1) { - if (affectedBoundary.index > boundary.index) { - affectedBoundary.x2New = affectedBoundary.x2; - } - } else { - affectedBoundary.x2New = maxXNew; - } - } else if (affectedBoundary.x2New > maxXNew) { - affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2); - } - } - - var changedHorizon = [], - lastBoundary = null; - - for (q = i; q <= j; q++) { - horizonPart = horizon[q]; - affectedBoundary = horizonPart.boundary; - var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary; - - if (lastBoundary === useBoundary) { - changedHorizon[changedHorizon.length - 1].end = horizonPart.end; - } else { - changedHorizon.push({ - start: horizonPart.start, - end: horizonPart.end, - boundary: useBoundary - }); - lastBoundary = useBoundary; - } - } - - if (horizon[i].start < boundary.y1) { - changedHorizon[0].start = boundary.y1; - changedHorizon.unshift({ - start: horizon[i].start, - end: boundary.y1, - boundary: horizon[i].boundary - }); - } - - if (boundary.y2 < horizon[j].end) { - changedHorizon[changedHorizon.length - 1].end = boundary.y2; - changedHorizon.push({ - start: boundary.y2, - end: horizon[j].end, - boundary: horizon[j].boundary - }); - } - - for (q = i; q <= j; q++) { - horizonPart = horizon[q]; - affectedBoundary = horizonPart.boundary; - - if (affectedBoundary.x2New !== undefined) { - continue; - } - - var used = false; - - for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) { - used = horizon[k].boundary === affectedBoundary; - } - - for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) { - used = horizon[k].boundary === affectedBoundary; - } - - for (k = 0; !used && k < changedHorizon.length; k++) { - used = changedHorizon[k].boundary === affectedBoundary; - } - - if (!used) { - affectedBoundary.x2New = maxXNew; - } - } - - Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon)); - }); - horizon.forEach(function (horizonPart) { - var affectedBoundary = horizonPart.boundary; - - if (affectedBoundary.x2New === undefined) { - affectedBoundary.x2New = Math.max(width, affectedBoundary.x2); - } - }); - } - - function TextLayerRenderTask(_ref) { - var _this = this; - - var textContent = _ref.textContent, - textContentStream = _ref.textContentStream, - container = _ref.container, - viewport = _ref.viewport, - textDivs = _ref.textDivs, - textContentItemsStr = _ref.textContentItemsStr, - enhanceTextSelection = _ref.enhanceTextSelection; - this._textContent = textContent; - this._textContentStream = textContentStream; - this._container = container; - this._viewport = viewport; - this._textDivs = textDivs || []; - this._textContentItemsStr = textContentItemsStr || []; - this._enhanceTextSelection = !!enhanceTextSelection; - this._fontInspectorEnabled = !!(globalThis.FontInspector && globalThis.FontInspector.enabled); - this._reader = null; - this._layoutTextLastFontSize = null; - this._layoutTextLastFontFamily = null; - this._layoutTextCtx = null; - this._textDivProperties = new WeakMap(); - this._renderingDone = false; - this._canceled = false; - this._capability = (0, _util.createPromiseCapability)(); - this._renderTimer = null; - this._bounds = []; - - this._capability.promise["finally"](function () { - if (_this._layoutTextCtx) { - _this._layoutTextCtx.canvas.width = 0; - _this._layoutTextCtx.canvas.height = 0; - _this._layoutTextCtx = null; - } - })["catch"](function () {}); - } - - TextLayerRenderTask.prototype = { - get promise() { - return this._capability.promise; - }, - - cancel: function TextLayer_cancel() { - this._canceled = true; - - if (this._reader) { - this._reader.cancel(new _util.AbortException("TextLayer task cancelled.")); - - this._reader = null; - } - - if (this._renderTimer !== null) { - clearTimeout(this._renderTimer); - this._renderTimer = null; - } - - this._capability.reject(new Error("TextLayer task cancelled.")); - }, - _processItems: function _processItems(items, styleCache) { - for (var i = 0, len = items.length; i < len; i++) { - this._textContentItemsStr.push(items[i].str); - - appendText(this, items[i], styleCache); - } - }, - _layoutText: function _layoutText(textDiv) { - var textDivProperties = this._textDivProperties.get(textDiv); - - if (textDivProperties.isWhitespace) { - return; - } - - var transform = ""; - - if (textDivProperties.canvasWidth !== 0) { - var _textDiv$style = textDiv.style, - fontSize = _textDiv$style.fontSize, - fontFamily = _textDiv$style.fontFamily; - - if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) { - this._layoutTextCtx.font = "".concat(fontSize, " ").concat(fontFamily); - this._layoutTextLastFontSize = fontSize; - this._layoutTextLastFontFamily = fontFamily; - } - - var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent), - width = _this$_layoutTextCtx$.width; - - if (width > 0) { - textDivProperties.scale = textDivProperties.canvasWidth / width; - transform = "scaleX(".concat(textDivProperties.scale, ")"); - } - } - - if (textDivProperties.angle !== 0) { - transform = "rotate(".concat(textDivProperties.angle, "deg) ").concat(transform); - } - - if (transform.length > 0) { - if (this._enhanceTextSelection) { - textDivProperties.originalTransform = transform; - } - - textDiv.style.transform = transform; - } - - this._textDivProperties.set(textDiv, textDivProperties); - - this._container.appendChild(textDiv); - }, - _render: function TextLayer_render(timeout) { - var _this2 = this; - - var capability = (0, _util.createPromiseCapability)(); - var styleCache = Object.create(null); - var canvas = document.createElement("canvas"); - canvas.mozOpaque = true; - this._layoutTextCtx = canvas.getContext("2d", { - alpha: false - }); - - if (this._textContent) { - var textItems = this._textContent.items; - var textStyles = this._textContent.styles; - - this._processItems(textItems, textStyles); - - capability.resolve(); - } else if (this._textContentStream) { - var pump = function pump() { - _this2._reader.read().then(function (_ref2) { - var value = _ref2.value, - done = _ref2.done; - - if (done) { - capability.resolve(); - return; - } - - Object.assign(styleCache, value.styles); - - _this2._processItems(value.items, styleCache); - - pump(); - }, capability.reject); - }; - - this._reader = this._textContentStream.getReader(); - pump(); - } else { - throw new Error('Neither "textContent" nor "textContentStream"' + " parameters specified."); - } - - capability.promise.then(function () { - styleCache = null; - - if (!timeout) { - render(_this2); - } else { - _this2._renderTimer = setTimeout(function () { - render(_this2); - _this2._renderTimer = null; - }, timeout); - } - }, this._capability.reject); - }, - expandTextDivs: function TextLayer_expandTextDivs(expandDivs) { - if (!this._enhanceTextSelection || !this._renderingDone) { - return; - } - - if (this._bounds !== null) { - expand(this); - this._bounds = null; - } - - var transformBuf = [], - paddingBuf = []; - - for (var i = 0, ii = this._textDivs.length; i < ii; i++) { - var div = this._textDivs[i]; - - var divProps = this._textDivProperties.get(div); - - if (divProps.isWhitespace) { - continue; - } - - if (expandDivs) { - transformBuf.length = 0; - paddingBuf.length = 0; - - if (divProps.originalTransform) { - transformBuf.push(divProps.originalTransform); - } - - if (divProps.paddingTop > 0) { - paddingBuf.push("".concat(divProps.paddingTop, "px")); - transformBuf.push("translateY(".concat(-divProps.paddingTop, "px)")); - } else { - paddingBuf.push(0); - } - - if (divProps.paddingRight > 0) { - paddingBuf.push("".concat(divProps.paddingRight / divProps.scale, "px")); - } else { - paddingBuf.push(0); - } - - if (divProps.paddingBottom > 0) { - paddingBuf.push("".concat(divProps.paddingBottom, "px")); - } else { - paddingBuf.push(0); - } - - if (divProps.paddingLeft > 0) { - paddingBuf.push("".concat(divProps.paddingLeft / divProps.scale, "px")); - transformBuf.push("translateX(".concat(-divProps.paddingLeft / divProps.scale, "px)")); - } else { - paddingBuf.push(0); - } - - div.style.padding = paddingBuf.join(" "); - - if (transformBuf.length) { - div.style.transform = transformBuf.join(" "); - } - } else { - div.style.padding = null; - div.style.transform = divProps.originalTransform; - } - } - } - }; - - function renderTextLayer(renderParameters) { - var task = new TextLayerRenderTask({ - textContent: renderParameters.textContent, - textContentStream: renderParameters.textContentStream, - container: renderParameters.container, - viewport: renderParameters.viewport, - textDivs: renderParameters.textDivs, - textContentItemsStr: renderParameters.textContentItemsStr, - enhanceTextSelection: renderParameters.enhanceTextSelection - }); - - task._render(renderParameters.timeout); - - return task; - } - - return renderTextLayer; -}(); - -exports.renderTextLayer = renderTextLayer; - -/***/ }), -/* 206 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); +})); exports.AnnotationLayer = void 0; -var _display_utils = __w_pdfjs_require__(194); - var _util = __w_pdfjs_require__(1); -function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } +var _display_utils = __w_pdfjs_require__(146); + +var _annotation_storage = __w_pdfjs_require__(150); + +var _scripting_utils = __w_pdfjs_require__(160); + +var _xfa_layer = __w_pdfjs_require__(161); + +function _classStaticPrivateMethodGet(receiver, classConstructor, method) { _classCheckPrivateStaticAccess(receiver, classConstructor); return method; } + +function _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError("Private static access of wrong provenance"); } } + +function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var DEFAULT_TAB_INDEX = 1000; +var GetElementsByNameSet = new WeakSet(); + +function getRectDims(rect) { + return { + width: rect[2] - rect[0], + height: rect[3] - rect[1] + }; +} var AnnotationElementFactory = /*#__PURE__*/function () { function AnnotationElementFactory() { @@ -20404,8 +16212,13 @@ var AnnotationElementFactory = /*#__PURE__*/function () { var AnnotationElement = /*#__PURE__*/function () { function AnnotationElement(parameters) { - var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$isRenderable = _ref.isRenderable, + isRenderable = _ref$isRenderable === void 0 ? false : _ref$isRenderable, + _ref$ignoreBorder = _ref.ignoreBorder, + ignoreBorder = _ref$ignoreBorder === void 0 ? false : _ref$ignoreBorder, + _ref$createQuadrilate = _ref.createQuadrilaterals, + createQuadrilaterals = _ref$createQuadrilate === void 0 ? false : _ref$createQuadrilate; _classCallCheck(this, AnnotationElement); @@ -20417,12 +16230,21 @@ var AnnotationElement = /*#__PURE__*/function () { this.linkService = parameters.linkService; this.downloadManager = parameters.downloadManager; this.imageResourcesPath = parameters.imageResourcesPath; - this.renderInteractiveForms = parameters.renderInteractiveForms; + this.renderForms = parameters.renderForms; this.svgFactory = parameters.svgFactory; + this.annotationStorage = parameters.annotationStorage; + this.enableScripting = parameters.enableScripting; + this.hasJSActions = parameters.hasJSActions; + this._fieldObjects = parameters.fieldObjects; + this._mouseState = parameters.mouseState; if (isRenderable) { this.container = this._createContainer(ignoreBorder); } + + if (createQuadrilaterals) { + this.quadrilaterals = this._createQuadrilaterals(ignoreBorder); + } } _createClass(AnnotationElement, [{ @@ -20433,21 +16255,45 @@ var AnnotationElement = /*#__PURE__*/function () { page = this.page, viewport = this.viewport; var container = document.createElement("section"); - var width = data.rect[2] - data.rect[0]; - var height = data.rect[3] - data.rect[1]; + + var _getRectDims = getRectDims(data.rect), + width = _getRectDims.width, + height = _getRectDims.height; + container.setAttribute("data-annotation-id", data.id); var 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]]); - container.style.transform = "matrix(".concat(viewport.transform.join(","), ")"); - container.style.transformOrigin = "-".concat(rect[0], "px -").concat(rect[1], "px"); + if (data.hasOwnCanvas) { + var transform = viewport.transform.slice(); + + var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(transform), + _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2), + scaleX = _Util$singularValueDe2[0], + scaleY = _Util$singularValueDe2[1]; + + width = Math.ceil(width * scaleX); + height = Math.ceil(height * scaleY); + rect[0] *= scaleX; + rect[1] *= scaleY; + + for (var i = 0; i < 4; i++) { + transform[i] = Math.sign(transform[i]); + } + + container.style.transform = "matrix(".concat(transform.join(","), ")"); + } else { + container.style.transform = "matrix(".concat(viewport.transform.join(","), ")"); + } + + container.style.transformOrigin = "".concat(-rect[0], "px ").concat(-rect[1], "px"); if (!ignoreBorder && data.borderStyle.width > 0) { container.style.borderWidth = "".concat(data.borderStyle.width, "px"); if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) { - width = width - 2 * data.borderStyle.width; - height = height - 2 * data.borderStyle.width; + width -= 2 * data.borderStyle.width; + height -= 2 * data.borderStyle.width; } var horizontalRadius = data.borderStyle.horizontalCornerRadius; @@ -20483,8 +16329,10 @@ var AnnotationElement = /*#__PURE__*/function () { break; } - if (data.color) { - container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0); + var borderColor = data.borderColor || data.color || null; + + if (borderColor) { + container.style.borderColor = _util.Util.makeHexColor(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0); } else { container.style.borderWidth = 0; } @@ -20492,13 +16340,56 @@ var AnnotationElement = /*#__PURE__*/function () { container.style.left = "".concat(rect[0], "px"); container.style.top = "".concat(rect[1], "px"); - container.style.width = "".concat(width, "px"); - container.style.height = "".concat(height, "px"); + + if (data.hasOwnCanvas) { + container.style.width = container.style.height = "auto"; + } else { + container.style.width = "".concat(width, "px"); + container.style.height = "".concat(height, "px"); + } + return container; } + }, { + key: "_createQuadrilaterals", + value: function _createQuadrilaterals() { + var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this.data.quadPoints) { + return null; + } + + var quadrilaterals = []; + var savedRect = this.data.rect; + + var _iterator = _createForOfIteratorHelper(this.data.quadPoints), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var quadPoint = _step.value; + this.data.rect = [quadPoint[2].x, quadPoint[2].y, quadPoint[1].x, quadPoint[1].y]; + quadrilaterals.push(this._createContainer(ignoreBorder)); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + this.data.rect = savedRect; + return quadrilaterals; + } }, { key: "_createPopup", - value: function _createPopup(container, trigger, data) { + value: function _createPopup(trigger, data) { + var container = this.container; + + if (this.quadrilaterals) { + trigger = trigger || this.quadrilaterals; + container = this.quadrilaterals[0]; + } + if (!trigger) { trigger = document.createElement("div"); trigger.style.height = container.style.height; @@ -20510,20 +16401,132 @@ var AnnotationElement = /*#__PURE__*/function () { container: container, trigger: trigger, color: data.color, - title: data.title, + titleObj: data.titleObj, modificationDate: data.modificationDate, - contents: data.contents, + contentsObj: data.contentsObj, + richText: data.richText, hideWrapper: true }); var popup = popupElement.render(); popup.style.left = container.style.width; container.appendChild(popup); } + }, { + key: "_renderQuadrilaterals", + value: function _renderQuadrilaterals(className) { + var _iterator2 = _createForOfIteratorHelper(this.quadrilaterals), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var quadrilateral = _step2.value; + quadrilateral.className = className; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + return this.quadrilaterals; + } }, { key: "render", value: function render() { (0, _util.unreachable)("Abstract method `AnnotationElement.render` called"); } + }, { + key: "_getElementsByName", + value: function _getElementsByName(name) { + var skipId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var fields = []; + + if (this._fieldObjects) { + var fieldObj = this._fieldObjects[name]; + + if (fieldObj) { + var _iterator3 = _createForOfIteratorHelper(fieldObj), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var _step3$value = _step3.value, + page = _step3$value.page, + id = _step3$value.id, + exportValues = _step3$value.exportValues; + + if (page === -1) { + continue; + } + + if (id === skipId) { + continue; + } + + var exportValue = typeof exportValues === "string" ? exportValues : null; + var domElement = document.getElementById(id); + + if (domElement && !GetElementsByNameSet.has(domElement)) { + (0, _util.warn)("_getElementsByName - element not allowed: ".concat(id)); + continue; + } + + fields.push({ + id: id, + exportValue: exportValue, + domElement: domElement + }); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + + return fields; + } + + var _iterator4 = _createForOfIteratorHelper(document.getElementsByName(name)), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var _domElement = _step4.value; + var _id = _domElement.id, + _exportValue = _domElement.exportValue; + + if (_id === skipId) { + continue; + } + + if (!GetElementsByNameSet.has(_domElement)) { + continue; + } + + fields.push({ + id: _id, + exportValue: _exportValue, + domElement: _domElement + }); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + return fields; + } + }], [{ + key: "platform", + get: function get() { + var platform = typeof navigator !== "undefined" ? navigator.platform : ""; + return (0, _util.shadow)(this, "platform", { + isWin: platform.includes("Win"), + isMac: platform.includes("Mac") + }); + } }]); return AnnotationElement; @@ -20532,33 +16535,65 @@ var AnnotationElement = /*#__PURE__*/function () { var LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) { _inherits(LinkAnnotationElement, _AnnotationElement); + var _super = _createSuper(LinkAnnotationElement); + function LinkAnnotationElement(parameters) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + _classCallCheck(this, LinkAnnotationElement); - var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action); - return _possibleConstructorReturn(this, _getPrototypeOf(LinkAnnotationElement).call(this, parameters, isRenderable)); + var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action || parameters.data.isTooltipOnly || parameters.data.resetForm || parameters.data.actions && (parameters.data.actions.Action || parameters.data.actions["Mouse Up"] || parameters.data.actions["Mouse Down"])); + return _super.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: !!(options !== null && options !== void 0 && options.ignoreBorder), + createQuadrilaterals: true + }); } _createClass(LinkAnnotationElement, [{ key: "render", value: function render() { - this.container.className = "linkAnnotation"; var data = this.data, linkService = this.linkService; var link = document.createElement("a"); if (data.url) { - (0, _display_utils.addLinkAttributes)(link, { - url: data.url, - target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget, - rel: linkService.externalLinkRel, - enabled: linkService.externalLinkEnabled - }); + var _linkService$addLinkA; + + if (!linkService.addLinkAttributes) { + (0, _util.warn)("LinkAnnotationElement.render - missing `addLinkAttributes`-method on the `linkService`-instance."); + } + + (_linkService$addLinkA = linkService.addLinkAttributes) === null || _linkService$addLinkA === void 0 ? void 0 : _linkService$addLinkA.call(linkService, link, data.url, data.newWindow); } else if (data.action) { this._bindNamedAction(link, data.action); - } else { + } else if (data.dest) { this._bindLink(link, data.dest); + } else { + var hasClickAction = false; + + if (data.actions && (data.actions.Action || data.actions["Mouse Up"] || data.actions["Mouse Down"]) && this.enableScripting && this.hasJSActions) { + hasClickAction = true; + + this._bindJSAction(link, data); + } + + if (data.resetForm) { + this._bindResetFormAction(link, data.resetForm); + } else if (!hasClickAction) { + this._bindLink(link, ""); + } } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("linkAnnotation").map(function (quadrilateral, index) { + var linkElement = index === 0 ? link : link.cloneNode(); + quadrilateral.appendChild(linkElement); + return quadrilateral; + }); + } + + this.container.className = "linkAnnotation"; var span = document.createElement("span"); span.style.display = "none"; span.innerHTML = data.url; @@ -20575,19 +16610,19 @@ var LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) { link.onclick = function () { if (destination) { - _this.linkService.navigateTo(destination); + _this.linkService.goToDestination(destination); } return false; }; - if (destination) { + if (destination || destination === "") { link.className = "internalLink"; } var span = document.createElement("span"); span.style.display = 'none'; span.innerHTML = "internalLink"; - link.appendChild(span) + link.appendChild(span); } }, { key: "_bindNamedAction", @@ -20608,6 +16643,214 @@ var LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) { span.innerHTML = "internalLink"; link.appendChild(span); } + }, { + key: "_bindJSAction", + value: function _bindJSAction(link, data) { + var _this3 = this; + + link.href = this.linkService.getAnchorUrl(""); + var map = new Map([["Action", "onclick"], ["Mouse Up", "onmouseup"], ["Mouse Down", "onmousedown"]]); + + var _loop = function _loop() { + var name = _Object$keys[_i2]; + var jsName = map.get(name); + + if (!jsName) { + return "continue"; + } + + link[jsName] = function () { + var _this3$linkService$ev; + + (_this3$linkService$ev = _this3.linkService.eventBus) === null || _this3$linkService$ev === void 0 ? void 0 : _this3$linkService$ev.dispatch("dispatcheventinsandbox", { + source: _this3, + detail: { + id: data.id, + name: name + } + }); + return false; + }; + }; + + for (var _i2 = 0, _Object$keys = Object.keys(data.actions); _i2 < _Object$keys.length; _i2++) { + var _ret = _loop(); + + if (_ret === "continue") continue; + } + + if (!link.onclick) { + link.onclick = function () { + return false; + }; + } + + link.className = "internalLink"; + } + }, { + key: "_bindResetFormAction", + value: function _bindResetFormAction(link, resetForm) { + var _this4 = this; + + var otherClickAction = link.onclick; + + if (!otherClickAction) { + link.href = this.linkService.getAnchorUrl(""); + } + + link.className = "internalLink"; + + if (!this._fieldObjects) { + (0, _util.warn)("_bindResetFormAction - \"resetForm\" action not supported, " + "ensure that the `fieldObjects` parameter is provided."); + + if (!otherClickAction) { + link.onclick = function () { + return false; + }; + } + + return; + } + + link.onclick = function () { + if (otherClickAction) { + otherClickAction(); + } + + var resetFormFields = resetForm.fields, + resetFormRefs = resetForm.refs, + include = resetForm.include; + var allFields = []; + + if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) { + var fieldIds = new Set(resetFormRefs); + + var _iterator5 = _createForOfIteratorHelper(resetFormFields), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var fieldName = _step5.value; + + var _fields = _this4._fieldObjects[fieldName] || []; + + var _iterator7 = _createForOfIteratorHelper(_fields), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var id = _step7.value.id; + fieldIds.add(id); + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + for (var _i3 = 0, _Object$values = Object.values(_this4._fieldObjects); _i3 < _Object$values.length; _i3++) { + var fields = _Object$values[_i3]; + + var _iterator6 = _createForOfIteratorHelper(fields), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var field = _step6.value; + + if (fieldIds.has(field.id) === include) { + allFields.push(field); + } + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + } + } else { + for (var _i4 = 0, _Object$values2 = Object.values(_this4._fieldObjects); _i4 < _Object$values2.length; _i4++) { + var _fields2 = _Object$values2[_i4]; + allFields.push.apply(allFields, _toConsumableArray(_fields2)); + } + } + + var storage = _this4.annotationStorage; + var allIds = []; + + for (var _i5 = 0, _allFields = allFields; _i5 < _allFields.length; _i5++) { + var _field = _allFields[_i5]; + var _id2 = _field.id; + allIds.push(_id2); + + switch (_field.type) { + case "text": + { + var value = _field.defaultValue || ""; + storage.setValue(_id2, { + value: value, + valueAsString: value + }); + break; + } + + case "checkbox": + case "radiobutton": + { + var _value = _field.defaultValue === _field.exportValues; + + storage.setValue(_id2, { + value: _value + }); + break; + } + + case "combobox": + case "listbox": + { + var _value2 = _field.defaultValue || ""; + + storage.setValue(_id2, { + value: _value2 + }); + break; + } + + default: + continue; + } + + var domElement = document.getElementById(_id2); + + if (!domElement || !GetElementsByNameSet.has(domElement)) { + continue; + } + + domElement.dispatchEvent(new Event("resetform")); + } + + if (_this4.enableScripting) { + var _this4$linkService$ev; + + (_this4$linkService$ev = _this4.linkService.eventBus) === null || _this4$linkService$ev === void 0 ? void 0 : _this4$linkService$ev.dispatch("dispatcheventinsandbox", { + source: _this4, + detail: { + id: "app", + ids: allIds, + name: "ResetForm" + } + }); + } + + return false; + }; + } }]); return LinkAnnotationElement; @@ -20616,11 +16859,17 @@ var LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) { var TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) { _inherits(TextAnnotationElement, _AnnotationElement2); + var _super2 = _createSuper(TextAnnotationElement); + function TextAnnotationElement(parameters) { + var _parameters$data$titl, _parameters$data$cont, _parameters$data$rich; + _classCallCheck(this, TextAnnotationElement); - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - return _possibleConstructorReturn(this, _getPrototypeOf(TextAnnotationElement).call(this, parameters, isRenderable)); + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl = parameters.data.titleObj) !== null && _parameters$data$titl !== void 0 && _parameters$data$titl.str || (_parameters$data$cont = parameters.data.contentsObj) !== null && _parameters$data$cont !== void 0 && _parameters$data$cont.str || (_parameters$data$rich = parameters.data.richText) !== null && _parameters$data$rich !== void 0 && _parameters$data$rich.str); + return _super2.call(this, parameters, { + isRenderable: isRenderable + }); } _createClass(TextAnnotationElement, [{ @@ -20638,7 +16887,7 @@ var TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) { }); if (!this.data.hasPopup) { - this._createPopup(this.container, image, this.data); + this._createPopup(image, this.data); } this.container.appendChild(image); @@ -20652,17 +16901,181 @@ var TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) { var WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) { _inherits(WidgetAnnotationElement, _AnnotationElement3); + var _super3 = _createSuper(WidgetAnnotationElement); + function WidgetAnnotationElement() { _classCallCheck(this, WidgetAnnotationElement); - return _possibleConstructorReturn(this, _getPrototypeOf(WidgetAnnotationElement).apply(this, arguments)); + return _super3.apply(this, arguments); } _createClass(WidgetAnnotationElement, [{ key: "render", value: function render() { + if (this.data.alternativeText) { + this.container.title = this.data.alternativeText; + } + return this.container; } + }, { + key: "_getKeyModifier", + value: function _getKeyModifier(event) { + var _AnnotationElement$pl = AnnotationElement.platform, + isWin = _AnnotationElement$pl.isWin, + isMac = _AnnotationElement$pl.isMac; + return isWin && event.ctrlKey || isMac && event.metaKey; + } + }, { + key: "_setEventListener", + value: function _setEventListener(element, baseName, eventName, valueGetter) { + var _this5 = this; + + if (baseName.includes("mouse")) { + element.addEventListener(baseName, function (event) { + var _this5$linkService$ev; + + (_this5$linkService$ev = _this5.linkService.eventBus) === null || _this5$linkService$ev === void 0 ? void 0 : _this5$linkService$ev.dispatch("dispatcheventinsandbox", { + source: _this5, + detail: { + id: _this5.data.id, + name: eventName, + value: valueGetter(event), + shift: event.shiftKey, + modifier: _this5._getKeyModifier(event) + } + }); + }); + } else { + element.addEventListener(baseName, function (event) { + var _this5$linkService$ev2; + + (_this5$linkService$ev2 = _this5.linkService.eventBus) === null || _this5$linkService$ev2 === void 0 ? void 0 : _this5$linkService$ev2.dispatch("dispatcheventinsandbox", { + source: _this5, + detail: { + id: _this5.data.id, + name: eventName, + value: valueGetter(event) + } + }); + }); + } + } + }, { + key: "_setEventListeners", + value: function _setEventListeners(element, names, getter) { + var _iterator8 = _createForOfIteratorHelper(names), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var _this$data$actions; + + var _step8$value = _slicedToArray(_step8.value, 2), + baseName = _step8$value[0], + eventName = _step8$value[1]; + + if (eventName === "Action" || (_this$data$actions = this.data.actions) !== null && _this$data$actions !== void 0 && _this$data$actions[eventName]) { + this._setEventListener(element, baseName, eventName, getter); + } + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + } + }, { + key: "_setBackgroundColor", + value: function _setBackgroundColor(element) { + var color = this.data.backgroundColor || null; + element.style.backgroundColor = color === null ? "transparent" : _util.Util.makeHexColor(color[0], color[1], color[2]); + } + }, { + key: "_dispatchEventFromSandbox", + value: function _dispatchEventFromSandbox(actions, jsEvent) { + var _this6 = this; + + var setColor = function setColor(jsName, styleName, event) { + var color = event.detail[jsName]; + event.target.style[styleName] = _scripting_utils.ColorConverters["".concat(color[0], "_HTML")](color.slice(1)); + }; + + var commonActions = { + display: function display(event) { + var hidden = event.detail.display % 2 === 1; + event.target.style.visibility = hidden ? "hidden" : "visible"; + + _this6.annotationStorage.setValue(_this6.data.id, { + hidden: hidden, + print: event.detail.display === 0 || event.detail.display === 3 + }); + }, + print: function print(event) { + _this6.annotationStorage.setValue(_this6.data.id, { + print: event.detail.print + }); + }, + hidden: function hidden(event) { + event.target.style.visibility = event.detail.hidden ? "hidden" : "visible"; + + _this6.annotationStorage.setValue(_this6.data.id, { + hidden: event.detail.hidden + }); + }, + focus: function focus(event) { + setTimeout(function () { + return event.target.focus({ + preventScroll: false + }); + }, 0); + }, + userName: function userName(event) { + event.target.title = event.detail.userName; + }, + readonly: function readonly(event) { + if (event.detail.readonly) { + event.target.setAttribute("readonly", ""); + } else { + event.target.removeAttribute("readonly"); + } + }, + required: function required(event) { + if (event.detail.required) { + event.target.setAttribute("required", ""); + } else { + event.target.removeAttribute("required"); + } + }, + bgColor: function bgColor(event) { + setColor("bgColor", "backgroundColor", event); + }, + fillColor: function fillColor(event) { + setColor("fillColor", "backgroundColor", event); + }, + fgColor: function fgColor(event) { + setColor("fgColor", "color", event); + }, + textColor: function textColor(event) { + setColor("textColor", "color", event); + }, + borderColor: function borderColor(event) { + setColor("borderColor", "borderColor", event); + }, + strokeColor: function strokeColor(event) { + setColor("strokeColor", "borderColor", event); + } + }; + + for (var _i6 = 0, _Object$keys2 = Object.keys(jsEvent.detail); _i6 < _Object$keys2.length; _i6++) { + var name = _Object$keys2[_i6]; + var action = actions[name] || commonActions[name]; + + if (action) { + action(jsEvent); + } + } + } }]); return WidgetAnnotationElement; @@ -20671,31 +17084,231 @@ var WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) { var TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) { _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem); + var _super4 = _createSuper(TextWidgetAnnotationElement); + function TextWidgetAnnotationElement(parameters) { _classCallCheck(this, TextWidgetAnnotationElement); - var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue; - return _possibleConstructorReturn(this, _getPrototypeOf(TextWidgetAnnotationElement).call(this, parameters, isRenderable)); + var isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue; + return _super4.call(this, parameters, { + isRenderable: isRenderable + }); } _createClass(TextWidgetAnnotationElement, [{ + key: "setPropertyOnSiblings", + value: function setPropertyOnSiblings(base, key, value, keyInStorage) { + var storage = this.annotationStorage; + + var _iterator9 = _createForOfIteratorHelper(this._getElementsByName(base.name, base.id)), + _step9; + + try { + for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { + var element = _step9.value; + + if (element.domElement) { + element.domElement[key] = value; + } + + storage.setValue(element.id, _defineProperty({}, keyInStorage, value)); + } + } catch (err) { + _iterator9.e(err); + } finally { + _iterator9.f(); + } + } + }, { key: "render", value: function render() { - var TEXT_ALIGNMENT = ["left", "center", "right"]; + var _this7 = this; + + var storage = this.annotationStorage; + var id = this.data.id; this.container.className = "textWidgetAnnotation"; var element = null; - if (this.renderInteractiveForms) { + if (this.renderForms) { + var storedData = storage.getValue(id, { + value: this.data.fieldValue, + valueAsString: this.data.fieldValue + }); + var textContent = storedData.valueAsString || storedData.value || ""; + var elementData = { + userValue: null, + formattedValue: null + }; + if (this.data.multiLine) { element = document.createElement("textarea"); - element.textContent = this.data.fieldValue; + element.textContent = textContent; } else { element = document.createElement("input"); element.type = "text"; - element.setAttribute("value", this.data.fieldValue); + element.setAttribute("value", textContent); } + GetElementsByNameSet.add(element); element.disabled = this.data.readOnly; + element.name = this.data.fieldName; + element.tabIndex = DEFAULT_TAB_INDEX; + elementData.userValue = textContent; + element.setAttribute("id", id); + element.addEventListener("input", function (event) { + storage.setValue(id, { + value: event.target.value + }); + + _this7.setPropertyOnSiblings(element, "value", event.target.value, "value"); + }); + element.addEventListener("resetform", function (event) { + var defaultValue = _this7.data.defaultFieldValue || ""; + element.value = elementData.userValue = defaultValue; + delete elementData.formattedValue; + }); + + var blurListener = function blurListener(event) { + if (elementData.formattedValue) { + event.target.value = elementData.formattedValue; + } + + event.target.scrollLeft = 0; + }; + + if (this.enableScripting && this.hasJSActions) { + var _this$data$actions2; + + element.addEventListener("focus", function (event) { + if (elementData.userValue) { + event.target.value = elementData.userValue; + } + }); + element.addEventListener("updatefromsandbox", function (jsEvent) { + var actions = { + value: function value(event) { + elementData.userValue = event.detail.value || ""; + storage.setValue(id, { + value: elementData.userValue.toString() + }); + + if (!elementData.formattedValue) { + event.target.value = elementData.userValue; + } + }, + valueAsString: function valueAsString(event) { + elementData.formattedValue = event.detail.valueAsString || ""; + + if (event.target !== document.activeElement) { + event.target.value = elementData.formattedValue; + } + + storage.setValue(id, { + formattedValue: elementData.formattedValue + }); + }, + selRange: function selRange(event) { + var _event$detail$selRang = _slicedToArray(event.detail.selRange, 2), + selStart = _event$detail$selRang[0], + selEnd = _event$detail$selRang[1]; + + if (selStart >= 0 && selEnd < event.target.value.length) { + event.target.setSelectionRange(selStart, selEnd); + } + } + }; + + _this7._dispatchEventFromSandbox(actions, jsEvent); + }); + element.addEventListener("keydown", function (event) { + var _this7$linkService$ev; + + var commitKey = -1; + + if (event.key === "Escape") { + commitKey = 0; + } else if (event.key === "Enter") { + commitKey = 2; + } else if (event.key === "Tab") { + commitKey = 3; + } + + if (commitKey === -1) { + return; + } + + elementData.userValue = event.target.value; + (_this7$linkService$ev = _this7.linkService.eventBus) === null || _this7$linkService$ev === void 0 ? void 0 : _this7$linkService$ev.dispatch("dispatcheventinsandbox", { + source: _this7, + detail: { + id: id, + name: "Keystroke", + value: event.target.value, + willCommit: true, + commitKey: commitKey, + selStart: event.target.selectionStart, + selEnd: event.target.selectionEnd + } + }); + }); + var _blurListener = blurListener; + blurListener = null; + element.addEventListener("blur", function (event) { + elementData.userValue = event.target.value; + + if (_this7._mouseState.isDown) { + var _this7$linkService$ev2; + + (_this7$linkService$ev2 = _this7.linkService.eventBus) === null || _this7$linkService$ev2 === void 0 ? void 0 : _this7$linkService$ev2.dispatch("dispatcheventinsandbox", { + source: _this7, + detail: { + id: id, + name: "Keystroke", + value: event.target.value, + willCommit: true, + commitKey: 1, + selStart: event.target.selectionStart, + selEnd: event.target.selectionEnd + } + }); + } + + _blurListener(event); + }); + + if ((_this$data$actions2 = this.data.actions) !== null && _this$data$actions2 !== void 0 && _this$data$actions2.Keystroke) { + element.addEventListener("beforeinput", function (event) { + var _this7$linkService$ev3; + + elementData.formattedValue = ""; + var data = event.data, + target = event.target; + var value = target.value, + selectionStart = target.selectionStart, + selectionEnd = target.selectionEnd; + (_this7$linkService$ev3 = _this7.linkService.eventBus) === null || _this7$linkService$ev3 === void 0 ? void 0 : _this7$linkService$ev3.dispatch("dispatcheventinsandbox", { + source: _this7, + detail: { + id: id, + name: "Keystroke", + value: value, + change: data, + willCommit: false, + selStart: selectionStart, + selEnd: selectionEnd + } + }); + }); + } + + this._setEventListeners(element, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) { + return event.target.value; + }); + } + + if (blurListener) { + element.addEventListener("blur", blurListener); + } if (this.data.maxLen !== null) { element.maxLength = this.data.maxLen; @@ -20712,46 +17325,33 @@ var TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) element.textContent = this.data.fieldValue; element.style.verticalAlign = "middle"; element.style.display = "table-cell"; - var font = null; - - if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) { - font = this.page.commonObjs.get(this.data.fontRefName); - } - - this._setTextStyle(element, font); } - if (this.data.textAlignment !== null) { - element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment]; - } + this._setTextStyle(element); + + this._setBackgroundColor(element); this.container.appendChild(element); return this.container; } }, { key: "_setTextStyle", - value: function _setTextStyle(element, font) { + value: function _setTextStyle(element) { + var TEXT_ALIGNMENT = ["left", "center", "right"]; + var _this$data$defaultApp = this.data.defaultAppearanceData, + fontSize = _this$data$defaultApp.fontSize, + fontColor = _this$data$defaultApp.fontColor; var style = element.style; - style.fontSize = "".concat(this.data.fontSize / 16.0, "em"); - style.direction = this.data.fontDirection < 0 ? "rtl" : "ltr"; - if (!font) { - return; + if (fontSize) { + style.fontSize = "".concat(fontSize / 16.0, "em"); } - var bold = "normal"; + style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]); - if (font.black) { - bold = "900"; - } else if (font.bold) { - bold = "bold"; + if (this.data.textAlignment !== null) { + style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment]; } - - style.fontWeight = bold; - style.fontStyle = font.italic ? "italic" : "normal"; - var fontFamily = font.loadedName ? "\"".concat(font.loadedName, "\", ") : ""; - var fallbackName = font.fallbackName || "Helvetica, sans-serif"; - style.fontFamily = fontFamily + fallbackName; } }]); @@ -20761,24 +17361,106 @@ var TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) var CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) { _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2); + var _super5 = _createSuper(CheckboxWidgetAnnotationElement); + function CheckboxWidgetAnnotationElement(parameters) { _classCallCheck(this, CheckboxWidgetAnnotationElement); - return _possibleConstructorReturn(this, _getPrototypeOf(CheckboxWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms)); + return _super5.call(this, parameters, { + isRenderable: parameters.renderForms + }); } _createClass(CheckboxWidgetAnnotationElement, [{ key: "render", value: function render() { + var _this8 = this; + + var storage = this.annotationStorage; + var data = this.data; + var id = data.id; + var value = storage.getValue(id, { + value: data.exportValue === data.fieldValue + }).value; + + if (typeof value === "string") { + value = value !== "Off"; + storage.setValue(id, { + value: value + }); + } + this.container.className = "buttonWidgetAnnotation checkBox"; var element = document.createElement("input"); - element.disabled = this.data.readOnly; + GetElementsByNameSet.add(element); + element.disabled = data.readOnly; element.type = "checkbox"; + element.name = data.fieldName; - if (this.data.fieldValue && this.data.fieldValue !== "Off") { + if (value) { element.setAttribute("checked", true); } + element.setAttribute("id", id); + element.setAttribute("exportValue", data.exportValue); + element.tabIndex = DEFAULT_TAB_INDEX; + element.addEventListener("change", function (event) { + var _event$target = event.target, + name = _event$target.name, + checked = _event$target.checked; + + var _iterator10 = _createForOfIteratorHelper(_this8._getElementsByName(name, id)), + _step10; + + try { + for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { + var checkbox = _step10.value; + var curChecked = checked && checkbox.exportValue === data.exportValue; + + if (checkbox.domElement) { + checkbox.domElement.checked = curChecked; + } + + storage.setValue(checkbox.id, { + value: curChecked + }); + } + } catch (err) { + _iterator10.e(err); + } finally { + _iterator10.f(); + } + + storage.setValue(id, { + value: checked + }); + }); + element.addEventListener("resetform", function (event) { + var defaultValue = data.defaultFieldValue || "Off"; + event.target.checked = defaultValue === data.exportValue; + }); + + if (this.enableScripting && this.hasJSActions) { + element.addEventListener("updatefromsandbox", function (jsEvent) { + var actions = { + value: function value(event) { + event.target.checked = event.detail.value !== "Off"; + storage.setValue(id, { + value: event.target.checked + }); + } + }; + + _this8._dispatchEventFromSandbox(actions, jsEvent); + }); + + this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) { + return event.target.checked; + }); + } + + this._setBackgroundColor(element); + this.container.appendChild(element); return this.container; } @@ -20790,25 +17472,119 @@ var CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationEl var RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) { _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3); + var _super6 = _createSuper(RadioButtonWidgetAnnotationElement); + function RadioButtonWidgetAnnotationElement(parameters) { _classCallCheck(this, RadioButtonWidgetAnnotationElement); - return _possibleConstructorReturn(this, _getPrototypeOf(RadioButtonWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms)); + return _super6.call(this, parameters, { + isRenderable: parameters.renderForms + }); } _createClass(RadioButtonWidgetAnnotationElement, [{ key: "render", value: function render() { - this.container.className = "buttonWidgetAnnotation radioButton"; - var element = document.createElement("input"); - element.disabled = this.data.readOnly; - element.type = "radio"; - element.name = this.data.fieldName; + var _this9 = this; - if (this.data.fieldValue === this.data.buttonValue) { + this.container.className = "buttonWidgetAnnotation radioButton"; + var storage = this.annotationStorage; + var data = this.data; + var id = data.id; + var value = storage.getValue(id, { + value: data.fieldValue === data.buttonValue + }).value; + + if (typeof value === "string") { + value = value !== data.buttonValue; + storage.setValue(id, { + value: value + }); + } + + var element = document.createElement("input"); + GetElementsByNameSet.add(element); + element.disabled = data.readOnly; + element.type = "radio"; + element.name = data.fieldName; + + if (value) { element.setAttribute("checked", true); } + element.setAttribute("id", id); + element.tabIndex = DEFAULT_TAB_INDEX; + element.addEventListener("change", function (event) { + var _event$target2 = event.target, + name = _event$target2.name, + checked = _event$target2.checked; + + var _iterator11 = _createForOfIteratorHelper(_this9._getElementsByName(name, id)), + _step11; + + try { + for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { + var radio = _step11.value; + storage.setValue(radio.id, { + value: false + }); + } + } catch (err) { + _iterator11.e(err); + } finally { + _iterator11.f(); + } + + storage.setValue(id, { + value: checked + }); + }); + element.addEventListener("resetform", function (event) { + var defaultValue = data.defaultFieldValue; + event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue; + }); + + if (this.enableScripting && this.hasJSActions) { + var pdfButtonValue = data.buttonValue; + element.addEventListener("updatefromsandbox", function (jsEvent) { + var actions = { + value: function value(event) { + var checked = pdfButtonValue === event.detail.value; + + var _iterator12 = _createForOfIteratorHelper(_this9._getElementsByName(event.target.name)), + _step12; + + try { + for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { + var radio = _step12.value; + var curChecked = checked && radio.id === id; + + if (radio.domElement) { + radio.domElement.checked = curChecked; + } + + storage.setValue(radio.id, { + value: curChecked + }); + } + } catch (err) { + _iterator12.e(err); + } finally { + _iterator12.f(); + } + } + }; + + _this9._dispatchEventFromSandbox(actions, jsEvent); + }); + + this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) { + return event.target.checked; + }); + } + + this._setBackgroundColor(element); + this.container.appendChild(element); return this.container; } @@ -20820,10 +17596,14 @@ var RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotatio var PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) { _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen); - function PushButtonWidgetAnnotationElement() { + var _super7 = _createSuper(PushButtonWidgetAnnotationElement); + + function PushButtonWidgetAnnotationElement(parameters) { _classCallCheck(this, PushButtonWidgetAnnotationElement); - return _possibleConstructorReturn(this, _getPrototypeOf(PushButtonWidgetAnnotationElement).apply(this, arguments)); + return _super7.call(this, parameters, { + ignoreBorder: parameters.data.hasAppearance + }); } _createClass(PushButtonWidgetAnnotationElement, [{ @@ -20832,6 +17612,11 @@ var PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationEl var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), "render", this).call(this); container.className = "buttonWidgetAnnotation pushButton"; + + if (this.data.alternativeText) { + container.title = this.data.alternativeText; + } + return container; } }]); @@ -20842,18 +17627,41 @@ var PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationEl var ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) { _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4); + var _super8 = _createSuper(ChoiceWidgetAnnotationElement); + function ChoiceWidgetAnnotationElement(parameters) { _classCallCheck(this, ChoiceWidgetAnnotationElement); - return _possibleConstructorReturn(this, _getPrototypeOf(ChoiceWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms)); + return _super8.call(this, parameters, { + isRenderable: parameters.renderForms + }); } _createClass(ChoiceWidgetAnnotationElement, [{ key: "render", value: function render() { + var _this10 = this; + this.container.className = "choiceWidgetAnnotation"; + var storage = this.annotationStorage; + var id = this.data.id; + storage.getValue(id, { + value: this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : undefined + }); + var fontSize = this.data.defaultAppearanceData.fontSize; + + if (!fontSize) { + fontSize = 9; + } + + var fontSizeStyle = "calc(".concat(fontSize, "px * var(--zoom-factor))"); var selectElement = document.createElement("select"); + GetElementsByNameSet.add(selectElement); selectElement.disabled = this.data.readOnly; + selectElement.name = this.data.fieldName; + selectElement.setAttribute("id", id); + selectElement.tabIndex = DEFAULT_TAB_INDEX; + selectElement.style.fontSize = "".concat(fontSize, "px"); if (!this.data.combo) { selectElement.size = this.data.options.length; @@ -20863,38 +17671,246 @@ var ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem } } - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + selectElement.addEventListener("resetform", function (event) { + var defaultValue = _this10.data.defaultFieldValue; + + var _iterator13 = _createForOfIteratorHelper(selectElement.options), + _step13; + + try { + for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) { + var option = _step13.value; + option.selected = option.value === defaultValue; + } + } catch (err) { + _iterator13.e(err); + } finally { + _iterator13.f(); + } + }); + + var _iterator14 = _createForOfIteratorHelper(this.data.options), + _step14; try { - for (var _iterator = this.data.options[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var option = _step.value; + for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) { + var option = _step14.value; var optionElement = document.createElement("option"); optionElement.textContent = option.displayValue; optionElement.value = option.exportValue; - if (this.data.fieldValue.includes(option.displayValue)) { + if (this.data.combo) { + optionElement.style.fontSize = fontSizeStyle; + } + + if (this.data.fieldValue.includes(option.exportValue)) { optionElement.setAttribute("selected", true); } selectElement.appendChild(optionElement); } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator14.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator["return"] != null) { - _iterator["return"](); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator14.f(); } + var getValue = function getValue(event, isExport) { + var name = isExport ? "value" : "textContent"; + var options = event.target.options; + + if (!event.target.multiple) { + return options.selectedIndex === -1 ? null : options[options.selectedIndex][name]; + } + + return Array.prototype.filter.call(options, function (option) { + return option.selected; + }).map(function (option) { + return option[name]; + }); + }; + + var getItems = function getItems(event) { + var options = event.target.options; + return Array.prototype.map.call(options, function (option) { + return { + displayValue: option.textContent, + exportValue: option.value + }; + }); + }; + + if (this.enableScripting && this.hasJSActions) { + selectElement.addEventListener("updatefromsandbox", function (jsEvent) { + var actions = { + value: function value(event) { + var value = event.detail.value; + var values = new Set(Array.isArray(value) ? value : [value]); + + var _iterator15 = _createForOfIteratorHelper(selectElement.options), + _step15; + + try { + for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) { + var option = _step15.value; + option.selected = values.has(option.value); + } + } catch (err) { + _iterator15.e(err); + } finally { + _iterator15.f(); + } + + storage.setValue(id, { + value: getValue(event, true) + }); + }, + multipleSelection: function multipleSelection(event) { + selectElement.multiple = true; + }, + remove: function remove(event) { + var options = selectElement.options; + var index = event.detail.remove; + options[index].selected = false; + selectElement.remove(index); + + if (options.length > 0) { + var i = Array.prototype.findIndex.call(options, function (option) { + return option.selected; + }); + + if (i === -1) { + options[0].selected = true; + } + } + + storage.setValue(id, { + value: getValue(event, true), + items: getItems(event) + }); + }, + clear: function clear(event) { + while (selectElement.length !== 0) { + selectElement.remove(0); + } + + storage.setValue(id, { + value: null, + items: [] + }); + }, + insert: function insert(event) { + var _event$detail$insert = event.detail.insert, + index = _event$detail$insert.index, + displayValue = _event$detail$insert.displayValue, + exportValue = _event$detail$insert.exportValue; + var optionElement = document.createElement("option"); + optionElement.textContent = displayValue; + optionElement.value = exportValue; + selectElement.insertBefore(optionElement, selectElement.children[index]); + storage.setValue(id, { + value: getValue(event, true), + items: getItems(event) + }); + }, + items: function items(event) { + var items = event.detail.items; + + while (selectElement.length !== 0) { + selectElement.remove(0); + } + + var _iterator16 = _createForOfIteratorHelper(items), + _step16; + + try { + for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) { + var item = _step16.value; + var displayValue = item.displayValue, + exportValue = item.exportValue; + var optionElement = document.createElement("option"); + optionElement.textContent = displayValue; + optionElement.value = exportValue; + selectElement.appendChild(optionElement); + } + } catch (err) { + _iterator16.e(err); + } finally { + _iterator16.f(); + } + + if (selectElement.options.length > 0) { + selectElement.options[0].selected = true; + } + + storage.setValue(id, { + value: getValue(event, true), + items: getItems(event) + }); + }, + indices: function indices(event) { + var indices = new Set(event.detail.indices); + + var _iterator17 = _createForOfIteratorHelper(event.target.options), + _step17; + + try { + for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) { + var option = _step17.value; + option.selected = indices.has(option.index); + } + } catch (err) { + _iterator17.e(err); + } finally { + _iterator17.f(); + } + + storage.setValue(id, { + value: getValue(event, true) + }); + }, + editable: function editable(event) { + event.target.disabled = !event.detail.editable; + } + }; + + _this10._dispatchEventFromSandbox(actions, jsEvent); + }); + selectElement.addEventListener("input", function (event) { + var _this10$linkService$e; + + var exportValue = getValue(event, true); + var value = getValue(event, false); + storage.setValue(id, { + value: exportValue + }); + (_this10$linkService$e = _this10.linkService.eventBus) === null || _this10$linkService$e === void 0 ? void 0 : _this10$linkService$e.dispatch("dispatcheventinsandbox", { + source: _this10, + detail: { + id: id, + name: "Keystroke", + value: value, + changeEx: exportValue, + willCommit: true, + commitKey: 1, + keyDown: false + } + }); + }); + + this._setEventListeners(selectElement, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"], ["input", "Action"]], function (event) { + return event.target.checked; + }); + } else { + selectElement.addEventListener("input", function (event) { + storage.setValue(id, { + value: getValue(event) + }); + }); + } + + this._setBackgroundColor(selectElement); + this.container.appendChild(selectElement); return this.container; } @@ -20906,11 +17922,17 @@ var ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem var PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) { _inherits(PopupAnnotationElement, _AnnotationElement4); + var _super9 = _createSuper(PopupAnnotationElement); + function PopupAnnotationElement(parameters) { + var _parameters$data$titl2, _parameters$data$cont2, _parameters$data$rich2; + _classCallCheck(this, PopupAnnotationElement); - var isRenderable = !!(parameters.data.title || parameters.data.contents); - return _possibleConstructorReturn(this, _getPrototypeOf(PopupAnnotationElement).call(this, parameters, isRenderable)); + var isRenderable = !!((_parameters$data$titl2 = parameters.data.titleObj) !== null && _parameters$data$titl2 !== void 0 && _parameters$data$titl2.str || (_parameters$data$cont2 = parameters.data.contentsObj) !== null && _parameters$data$cont2 !== void 0 && _parameters$data$cont2.str || (_parameters$data$rich2 = parameters.data.richText) !== null && _parameters$data$rich2 !== void 0 && _parameters$data$rich2.str); + return _super9.call(this, parameters, { + isRenderable: isRenderable + }); } _createClass(PopupAnnotationElement, [{ @@ -20924,24 +17946,30 @@ var PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) { } var selector = "[data-annotation-id=\"".concat(this.data.parentId, "\"]"); - var parentElement = this.layer.querySelector(selector); + var parentElements = this.layer.querySelectorAll(selector); - if (!parentElement) { + if (parentElements.length === 0) { return this.container; } var popup = new PopupElement({ container: this.container, - trigger: parentElement, + trigger: Array.from(parentElements), color: this.data.color, - title: this.data.title, + titleObj: this.data.titleObj, modificationDate: this.data.modificationDate, - contents: this.data.contents + contentsObj: this.data.contentsObj, + richText: this.data.richText }); - var parentLeft = parseFloat(parentElement.style.left); - var parentWidth = parseFloat(parentElement.style.width); - this.container.style.transformOrigin = "-".concat(parentLeft + parentWidth, "px -").concat(parentElement.style.top); - this.container.style.left = "".concat(parentLeft + parentWidth, "px"); + var page = this.page; + + var 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]]); + + var popupLeft = rect[0] + this.data.parentRect[2] - this.data.parentRect[0]; + var popupTop = rect[1]; + this.container.style.transformOrigin = "".concat(-popupLeft, "px ").concat(-popupTop, "px"); + this.container.style.left = "".concat(popupLeft, "px"); + this.container.style.top = "".concat(popupTop, "px"); this.container.appendChild(popup.render()); return this.container; } @@ -20957,9 +17985,10 @@ var PopupElement = /*#__PURE__*/function () { this.container = parameters.container; this.trigger = parameters.trigger; this.color = parameters.color; - this.title = parameters.title; + this.titleObj = parameters.titleObj; this.modificationDate = parameters.modificationDate; - this.contents = parameters.contents; + this.contentsObj = parameters.contentsObj; + this.richText = parameters.richText; this.hideWrapper = parameters.hideWrapper || false; this.pinned = false; } @@ -20967,11 +17996,13 @@ var PopupElement = /*#__PURE__*/function () { _createClass(PopupElement, [{ key: "render", value: function render() { + var _this$richText, _this$contentsObj; + var BACKGROUND_ENLIGHT = 0.7; var wrapper = document.createElement("div"); wrapper.className = "popupWrapper"; this.hideElement = this.hideWrapper ? wrapper : this.container; - this.hideElement.setAttribute("hidden", true); + this.hideElement.hidden = true; var popup = document.createElement("div"); popup.className = "popup"; var color = this.color; @@ -20980,17 +18011,19 @@ var PopupElement = /*#__PURE__*/function () { var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0]; var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1]; var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2]; - popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0); + popup.style.backgroundColor = _util.Util.makeHexColor(r | 0, g | 0, b | 0); } var title = document.createElement("h1"); - title.textContent = this.title; + title.dir = this.titleObj.dir; + title.textContent = this.titleObj.str; popup.appendChild(title); var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate); if (dateObject) { var modificationDate = document.createElement("span"); + modificationDate.className = "popupDate"; modificationDate.textContent = "{{date}}, {{time}}"; modificationDate.dataset.l10nId = "annotation_date_string"; modificationDate.dataset.l10nArgs = JSON.stringify({ @@ -21000,21 +18033,53 @@ var PopupElement = /*#__PURE__*/function () { popup.appendChild(modificationDate); } - var contents = this._formatContents(this.contents); + if ((_this$richText = this.richText) !== null && _this$richText !== void 0 && _this$richText.str && (!((_this$contentsObj = this.contentsObj) !== null && _this$contentsObj !== void 0 && _this$contentsObj.str) || this.contentsObj.str === this.richText.str)) { + _xfa_layer.XfaLayer.render({ + xfaHtml: this.richText.html, + intent: "richText", + div: popup + }); + + popup.lastChild.className = "richText popupContent"; + } else { + var contents = this._formatContents(this.contentsObj); + + popup.appendChild(contents); + } + + if (!Array.isArray(this.trigger)) { + this.trigger = [this.trigger]; + } + + var _iterator18 = _createForOfIteratorHelper(this.trigger), + _step18; + + try { + for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) { + var element = _step18.value; + element.addEventListener("click", this._toggle.bind(this)); + element.addEventListener("mouseover", this._show.bind(this, false)); + element.addEventListener("mouseout", this._hide.bind(this, false)); + } + } catch (err) { + _iterator18.e(err); + } finally { + _iterator18.f(); + } - popup.appendChild(contents); - this.trigger.addEventListener("click", this._toggle.bind(this)); - this.trigger.addEventListener("mouseover", this._show.bind(this, false)); - this.trigger.addEventListener("mouseout", this._hide.bind(this, false)); popup.addEventListener("click", this._hide.bind(this, true)); wrapper.appendChild(popup); return wrapper; } }, { key: "_formatContents", - value: function _formatContents(contents) { + value: function _formatContents(_ref2) { + var str = _ref2.str, + dir = _ref2.dir; var p = document.createElement("p"); - var lines = contents.split(/(?:\r\n?|\n)/); + p.className = "popupContent"; + p.dir = dir; + var lines = str.split(/(?:\r\n?|\n)/); for (var i = 0, ii = lines.length; i < ii; ++i) { var line = lines[i]; @@ -21045,8 +18110,8 @@ var PopupElement = /*#__PURE__*/function () { this.pinned = true; } - if (this.hideElement.hasAttribute("hidden")) { - this.hideElement.removeAttribute("hidden"); + if (this.hideElement.hidden) { + this.hideElement.hidden = false; this.container.style.zIndex += 1; } } @@ -21059,8 +18124,8 @@ var PopupElement = /*#__PURE__*/function () { this.pinned = false; } - if (!this.hideElement.hasAttribute("hidden") && !this.pinned) { - this.hideElement.setAttribute("hidden", true); + if (!this.hideElement.hidden && !this.pinned) { + this.hideElement.hidden = true; this.container.style.zIndex -= 1; } } @@ -21072,11 +18137,18 @@ var PopupElement = /*#__PURE__*/function () { var FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) { _inherits(FreeTextAnnotationElement, _AnnotationElement5); + var _super10 = _createSuper(FreeTextAnnotationElement); + function FreeTextAnnotationElement(parameters) { + var _parameters$data$titl3, _parameters$data$cont3, _parameters$data$rich3; + _classCallCheck(this, FreeTextAnnotationElement); - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - return _possibleConstructorReturn(this, _getPrototypeOf(FreeTextAnnotationElement).call(this, parameters, isRenderable, true)); + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl3 = parameters.data.titleObj) !== null && _parameters$data$titl3 !== void 0 && _parameters$data$titl3.str || (_parameters$data$cont3 = parameters.data.contentsObj) !== null && _parameters$data$cont3 !== void 0 && _parameters$data$cont3.str || (_parameters$data$rich3 = parameters.data.richText) !== null && _parameters$data$rich3 !== void 0 && _parameters$data$rich3.str); + return _super10.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); } _createClass(FreeTextAnnotationElement, [{ @@ -21085,7 +18157,7 @@ var FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) { this.container.className = "freeTextAnnotation"; if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); + this._createPopup(null, this.data); } return this.container; @@ -21098,11 +18170,18 @@ var FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) { var LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) { _inherits(LineAnnotationElement, _AnnotationElement6); + var _super11 = _createSuper(LineAnnotationElement); + function LineAnnotationElement(parameters) { + var _parameters$data$titl4, _parameters$data$cont4, _parameters$data$rich4; + _classCallCheck(this, LineAnnotationElement); - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - return _possibleConstructorReturn(this, _getPrototypeOf(LineAnnotationElement).call(this, parameters, isRenderable, true)); + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl4 = parameters.data.titleObj) !== null && _parameters$data$titl4 !== void 0 && _parameters$data$titl4.str || (_parameters$data$cont4 = parameters.data.contentsObj) !== null && _parameters$data$cont4 !== void 0 && _parameters$data$cont4.str || (_parameters$data$rich4 = parameters.data.richText) !== null && _parameters$data$rich4 !== void 0 && _parameters$data$rich4.str); + return _super11.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); } _createClass(LineAnnotationElement, [{ @@ -21110,8 +18189,11 @@ var LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) { value: function render() { this.container.className = "lineAnnotation"; var data = this.data; - var width = data.rect[2] - data.rect[0]; - var height = data.rect[3] - data.rect[1]; + + var _getRectDims2 = getRectDims(data.rect), + width = _getRectDims2.width, + height = _getRectDims2.height; + var svg = this.svgFactory.create(width, height); var line = this.svgFactory.createElement("svg:line"); line.setAttribute("x1", data.rect[2] - data.lineCoordinates[0]); @@ -21120,10 +18202,11 @@ var LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) { line.setAttribute("y2", data.rect[3] - data.lineCoordinates[3]); line.setAttribute("stroke-width", data.borderStyle.width || 1); line.setAttribute("stroke", "transparent"); + line.setAttribute("fill", "transparent"); svg.appendChild(line); this.container.append(svg); - this._createPopup(this.container, line, data); + this._createPopup(line, data); return this.container; } @@ -21135,11 +18218,18 @@ var LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) { var SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) { _inherits(SquareAnnotationElement, _AnnotationElement7); + var _super12 = _createSuper(SquareAnnotationElement); + function SquareAnnotationElement(parameters) { + var _parameters$data$titl5, _parameters$data$cont5, _parameters$data$rich5; + _classCallCheck(this, SquareAnnotationElement); - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - return _possibleConstructorReturn(this, _getPrototypeOf(SquareAnnotationElement).call(this, parameters, isRenderable, true)); + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl5 = parameters.data.titleObj) !== null && _parameters$data$titl5 !== void 0 && _parameters$data$titl5.str || (_parameters$data$cont5 = parameters.data.contentsObj) !== null && _parameters$data$cont5 !== void 0 && _parameters$data$cont5.str || (_parameters$data$rich5 = parameters.data.richText) !== null && _parameters$data$rich5 !== void 0 && _parameters$data$rich5.str); + return _super12.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); } _createClass(SquareAnnotationElement, [{ @@ -21147,8 +18237,11 @@ var SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) { value: function render() { this.container.className = "squareAnnotation"; var data = this.data; - var width = data.rect[2] - data.rect[0]; - var height = data.rect[3] - data.rect[1]; + + var _getRectDims3 = getRectDims(data.rect), + width = _getRectDims3.width, + height = _getRectDims3.height; + var svg = this.svgFactory.create(width, height); var borderWidth = data.borderStyle.width; var square = this.svgFactory.createElement("svg:rect"); @@ -21158,11 +18251,11 @@ var SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) { square.setAttribute("height", height - borderWidth); square.setAttribute("stroke-width", borderWidth || 1); square.setAttribute("stroke", "transparent"); - square.setAttribute("fill", "none"); + square.setAttribute("fill", "transparent"); svg.appendChild(square); this.container.append(svg); - this._createPopup(this.container, square, data); + this._createPopup(square, data); return this.container; } @@ -21174,11 +18267,18 @@ var SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) { var CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) { _inherits(CircleAnnotationElement, _AnnotationElement8); + var _super13 = _createSuper(CircleAnnotationElement); + function CircleAnnotationElement(parameters) { + var _parameters$data$titl6, _parameters$data$cont6, _parameters$data$rich6; + _classCallCheck(this, CircleAnnotationElement); - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - return _possibleConstructorReturn(this, _getPrototypeOf(CircleAnnotationElement).call(this, parameters, isRenderable, true)); + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl6 = parameters.data.titleObj) !== null && _parameters$data$titl6 !== void 0 && _parameters$data$titl6.str || (_parameters$data$cont6 = parameters.data.contentsObj) !== null && _parameters$data$cont6 !== void 0 && _parameters$data$cont6.str || (_parameters$data$rich6 = parameters.data.richText) !== null && _parameters$data$rich6 !== void 0 && _parameters$data$rich6.str); + return _super13.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); } _createClass(CircleAnnotationElement, [{ @@ -21186,8 +18286,11 @@ var CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) { value: function render() { this.container.className = "circleAnnotation"; var data = this.data; - var width = data.rect[2] - data.rect[0]; - var height = data.rect[3] - data.rect[1]; + + var _getRectDims4 = getRectDims(data.rect), + width = _getRectDims4.width, + height = _getRectDims4.height; + var svg = this.svgFactory.create(width, height); var borderWidth = data.borderStyle.width; var circle = this.svgFactory.createElement("svg:ellipse"); @@ -21197,11 +18300,11 @@ var CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) { circle.setAttribute("ry", height / 2 - borderWidth / 2); circle.setAttribute("stroke-width", borderWidth || 1); circle.setAttribute("stroke", "transparent"); - circle.setAttribute("fill", "none"); + circle.setAttribute("fill", "transparent"); svg.appendChild(circle); this.container.append(svg); - this._createPopup(this.container, circle, data); + this._createPopup(circle, data); return this.container; } @@ -21213,16 +18316,23 @@ var CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) { var PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) { _inherits(PolylineAnnotationElement, _AnnotationElement9); + var _super14 = _createSuper(PolylineAnnotationElement); + function PolylineAnnotationElement(parameters) { - var _this3; + var _parameters$data$titl7, _parameters$data$cont7, _parameters$data$rich7; + + var _this11; _classCallCheck(this, PolylineAnnotationElement); - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PolylineAnnotationElement).call(this, parameters, isRenderable, true)); - _this3.containerClassName = "polylineAnnotation"; - _this3.svgElementName = "svg:polyline"; - return _this3; + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl7 = parameters.data.titleObj) !== null && _parameters$data$titl7 !== void 0 && _parameters$data$titl7.str || (_parameters$data$cont7 = parameters.data.contentsObj) !== null && _parameters$data$cont7 !== void 0 && _parameters$data$cont7.str || (_parameters$data$rich7 = parameters.data.richText) !== null && _parameters$data$rich7 !== void 0 && _parameters$data$rich7.str); + _this11 = _super14.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + _this11.containerClassName = "polylineAnnotation"; + _this11.svgElementName = "svg:polyline"; + return _this11; } _createClass(PolylineAnnotationElement, [{ @@ -21230,34 +18340,28 @@ var PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) { value: function render() { this.container.className = this.containerClassName; var data = this.data; - var width = data.rect[2] - data.rect[0]; - var height = data.rect[3] - data.rect[1]; + + var _getRectDims5 = getRectDims(data.rect), + width = _getRectDims5.width, + height = _getRectDims5.height; + var svg = this.svgFactory.create(width, height); var points = []; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; + + var _iterator19 = _createForOfIteratorHelper(data.vertices), + _step19; try { - for (var _iterator2 = data.vertices[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var coordinate = _step2.value; + for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) { + var coordinate = _step19.value; var x = coordinate.x - data.rect[0]; var y = data.rect[3] - coordinate.y; points.push(x + "," + y); } } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; + _iterator19.e(err); } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) { - _iterator2["return"](); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } + _iterator19.f(); } points = points.join(" "); @@ -21265,11 +18369,11 @@ var PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) { polyline.setAttribute("points", points); polyline.setAttribute("stroke-width", data.borderStyle.width || 1); polyline.setAttribute("stroke", "transparent"); - polyline.setAttribute("fill", "none"); + polyline.setAttribute("fill", "transparent"); svg.appendChild(polyline); this.container.append(svg); - this._createPopup(this.container, polyline, data); + this._createPopup(polyline, data); return this.container; } @@ -21281,28 +18385,37 @@ var PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) { var PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) { _inherits(PolygonAnnotationElement, _PolylineAnnotationEl); + var _super15 = _createSuper(PolygonAnnotationElement); + function PolygonAnnotationElement(parameters) { - var _this4; + var _this12; _classCallCheck(this, PolygonAnnotationElement); - _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PolygonAnnotationElement).call(this, parameters)); - _this4.containerClassName = "polygonAnnotation"; - _this4.svgElementName = "svg:polygon"; - return _this4; + _this12 = _super15.call(this, parameters); + _this12.containerClassName = "polygonAnnotation"; + _this12.svgElementName = "svg:polygon"; + return _this12; } - return PolygonAnnotationElement; + return _createClass(PolygonAnnotationElement); }(PolylineAnnotationElement); var CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) { _inherits(CaretAnnotationElement, _AnnotationElement10); + var _super16 = _createSuper(CaretAnnotationElement); + function CaretAnnotationElement(parameters) { + var _parameters$data$titl8, _parameters$data$cont8, _parameters$data$rich8; + _classCallCheck(this, CaretAnnotationElement); - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - return _possibleConstructorReturn(this, _getPrototypeOf(CaretAnnotationElement).call(this, parameters, isRenderable, true)); + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl8 = parameters.data.titleObj) !== null && _parameters$data$titl8 !== void 0 && _parameters$data$titl8.str || (_parameters$data$cont8 = parameters.data.contentsObj) !== null && _parameters$data$cont8 !== void 0 && _parameters$data$cont8.str || (_parameters$data$rich8 = parameters.data.richText) !== null && _parameters$data$rich8 !== void 0 && _parameters$data$rich8.str); + return _super16.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); } _createClass(CaretAnnotationElement, [{ @@ -21311,7 +18424,7 @@ var CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) { this.container.className = "caretAnnotation"; if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); + this._createPopup(null, this.data); } return this.container; @@ -21324,16 +18437,23 @@ var CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) { var InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) { _inherits(InkAnnotationElement, _AnnotationElement11); + var _super17 = _createSuper(InkAnnotationElement); + function InkAnnotationElement(parameters) { - var _this5; + var _parameters$data$titl9, _parameters$data$cont9, _parameters$data$rich9; + + var _this13; _classCallCheck(this, InkAnnotationElement); - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - _this5 = _possibleConstructorReturn(this, _getPrototypeOf(InkAnnotationElement).call(this, parameters, isRenderable, true)); - _this5.containerClassName = "inkAnnotation"; - _this5.svgElementName = "svg:polyline"; - return _this5; + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl9 = parameters.data.titleObj) !== null && _parameters$data$titl9 !== void 0 && _parameters$data$titl9.str || (_parameters$data$cont9 = parameters.data.contentsObj) !== null && _parameters$data$cont9 !== void 0 && _parameters$data$cont9.str || (_parameters$data$rich9 = parameters.data.richText) !== null && _parameters$data$rich9 !== void 0 && _parameters$data$rich9.str); + _this13 = _super17.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + _this13.containerClassName = "inkAnnotation"; + _this13.svgElementName = "svg:polyline"; + return _this13; } _createClass(InkAnnotationElement, [{ @@ -21341,41 +18461,35 @@ var InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) { value: function render() { this.container.className = this.containerClassName; var data = this.data; - var width = data.rect[2] - data.rect[0]; - var height = data.rect[3] - data.rect[1]; + + var _getRectDims6 = getRectDims(data.rect), + width = _getRectDims6.width, + height = _getRectDims6.height; + var svg = this.svgFactory.create(width, height); - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; + + var _iterator20 = _createForOfIteratorHelper(data.inkLists), + _step20; try { - for (var _iterator3 = data.inkLists[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var inkList = _step3.value; + for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) { + var inkList = _step20.value; var points = []; - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; + + var _iterator21 = _createForOfIteratorHelper(inkList), + _step21; try { - for (var _iterator4 = inkList[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var coordinate = _step4.value; + for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) { + var coordinate = _step21.value; var x = coordinate.x - data.rect[0]; var y = data.rect[3] - coordinate.y; points.push("".concat(x, ",").concat(y)); } } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; + _iterator21.e(err); } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) { - _iterator4["return"](); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } + _iterator21.f(); } points = points.join(" "); @@ -21383,25 +18497,16 @@ var InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) { polyline.setAttribute("points", points); polyline.setAttribute("stroke-width", data.borderStyle.width || 1); polyline.setAttribute("stroke", "transparent"); - polyline.setAttribute("fill", "none"); + polyline.setAttribute("fill", "transparent"); - this._createPopup(this.container, polyline, data); + this._createPopup(polyline, data); svg.appendChild(polyline); } } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; + _iterator20.e(err); } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) { - _iterator3["return"](); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } + _iterator20.f(); } this.container.append(svg); @@ -21415,22 +18520,33 @@ var InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) { var HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) { _inherits(HighlightAnnotationElement, _AnnotationElement12); + var _super18 = _createSuper(HighlightAnnotationElement); + function HighlightAnnotationElement(parameters) { + var _parameters$data$titl10, _parameters$data$cont10, _parameters$data$rich10; + _classCallCheck(this, HighlightAnnotationElement); - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - return _possibleConstructorReturn(this, _getPrototypeOf(HighlightAnnotationElement).call(this, parameters, isRenderable, true)); + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl10 = parameters.data.titleObj) !== null && _parameters$data$titl10 !== void 0 && _parameters$data$titl10.str || (_parameters$data$cont10 = parameters.data.contentsObj) !== null && _parameters$data$cont10 !== void 0 && _parameters$data$cont10.str || (_parameters$data$rich10 = parameters.data.richText) !== null && _parameters$data$rich10 !== void 0 && _parameters$data$rich10.str); + return _super18.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); } _createClass(HighlightAnnotationElement, [{ key: "render", value: function render() { - this.container.className = "highlightAnnotation"; - if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); + this._createPopup(null, this.data); } + if (this.quadrilaterals) { + return this._renderQuadrilaterals("highlightAnnotation"); + } + + this.container.className = "highlightAnnotation"; return this.container; } }]); @@ -21441,22 +18557,33 @@ var HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) { var UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) { _inherits(UnderlineAnnotationElement, _AnnotationElement13); + var _super19 = _createSuper(UnderlineAnnotationElement); + function UnderlineAnnotationElement(parameters) { + var _parameters$data$titl11, _parameters$data$cont11, _parameters$data$rich11; + _classCallCheck(this, UnderlineAnnotationElement); - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - return _possibleConstructorReturn(this, _getPrototypeOf(UnderlineAnnotationElement).call(this, parameters, isRenderable, true)); + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl11 = parameters.data.titleObj) !== null && _parameters$data$titl11 !== void 0 && _parameters$data$titl11.str || (_parameters$data$cont11 = parameters.data.contentsObj) !== null && _parameters$data$cont11 !== void 0 && _parameters$data$cont11.str || (_parameters$data$rich11 = parameters.data.richText) !== null && _parameters$data$rich11 !== void 0 && _parameters$data$rich11.str); + return _super19.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); } _createClass(UnderlineAnnotationElement, [{ key: "render", value: function render() { - this.container.className = "underlineAnnotation"; - if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); + this._createPopup(null, this.data); } + if (this.quadrilaterals) { + return this._renderQuadrilaterals("underlineAnnotation"); + } + + this.container.className = "underlineAnnotation"; return this.container; } }]); @@ -21467,22 +18594,33 @@ var UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) { var SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) { _inherits(SquigglyAnnotationElement, _AnnotationElement14); + var _super20 = _createSuper(SquigglyAnnotationElement); + function SquigglyAnnotationElement(parameters) { + var _parameters$data$titl12, _parameters$data$cont12, _parameters$data$rich12; + _classCallCheck(this, SquigglyAnnotationElement); - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - return _possibleConstructorReturn(this, _getPrototypeOf(SquigglyAnnotationElement).call(this, parameters, isRenderable, true)); + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl12 = parameters.data.titleObj) !== null && _parameters$data$titl12 !== void 0 && _parameters$data$titl12.str || (_parameters$data$cont12 = parameters.data.contentsObj) !== null && _parameters$data$cont12 !== void 0 && _parameters$data$cont12.str || (_parameters$data$rich12 = parameters.data.richText) !== null && _parameters$data$rich12 !== void 0 && _parameters$data$rich12.str); + return _super20.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); } _createClass(SquigglyAnnotationElement, [{ key: "render", value: function render() { - this.container.className = "squigglyAnnotation"; - if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); + this._createPopup(null, this.data); } + if (this.quadrilaterals) { + return this._renderQuadrilaterals("squigglyAnnotation"); + } + + this.container.className = "squigglyAnnotation"; return this.container; } }]); @@ -21493,22 +18631,33 @@ var SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) { var StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) { _inherits(StrikeOutAnnotationElement, _AnnotationElement15); + var _super21 = _createSuper(StrikeOutAnnotationElement); + function StrikeOutAnnotationElement(parameters) { + var _parameters$data$titl13, _parameters$data$cont13, _parameters$data$rich13; + _classCallCheck(this, StrikeOutAnnotationElement); - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - return _possibleConstructorReturn(this, _getPrototypeOf(StrikeOutAnnotationElement).call(this, parameters, isRenderable, true)); + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl13 = parameters.data.titleObj) !== null && _parameters$data$titl13 !== void 0 && _parameters$data$titl13.str || (_parameters$data$cont13 = parameters.data.contentsObj) !== null && _parameters$data$cont13 !== void 0 && _parameters$data$cont13.str || (_parameters$data$rich13 = parameters.data.richText) !== null && _parameters$data$rich13 !== void 0 && _parameters$data$rich13.str); + return _super21.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); } _createClass(StrikeOutAnnotationElement, [{ key: "render", value: function render() { - this.container.className = "strikeoutAnnotation"; - if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); + this._createPopup(null, this.data); } + if (this.quadrilaterals) { + return this._renderQuadrilaterals("strikeoutAnnotation"); + } + + this.container.className = "strikeoutAnnotation"; return this.container; } }]); @@ -21519,11 +18668,18 @@ var StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) { var StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) { _inherits(StampAnnotationElement, _AnnotationElement16); + var _super22 = _createSuper(StampAnnotationElement); + function StampAnnotationElement(parameters) { + var _parameters$data$titl14, _parameters$data$cont14, _parameters$data$rich14; + _classCallCheck(this, StampAnnotationElement); - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - return _possibleConstructorReturn(this, _getPrototypeOf(StampAnnotationElement).call(this, parameters, isRenderable, true)); + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl14 = parameters.data.titleObj) !== null && _parameters$data$titl14 !== void 0 && _parameters$data$titl14.str || (_parameters$data$cont14 = parameters.data.contentsObj) !== null && _parameters$data$cont14 !== void 0 && _parameters$data$cont14.str || (_parameters$data$rich14 = parameters.data.richText) !== null && _parameters$data$rich14 !== void 0 && _parameters$data$rich14.str); + return _super22.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); } _createClass(StampAnnotationElement, [{ @@ -21532,7 +18688,7 @@ var StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) { this.container.className = "stampAnnotation"; if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); + this._createPopup(null, this.data); } return this.container; @@ -21545,41 +18701,45 @@ var StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) { var FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) { _inherits(FileAttachmentAnnotationElement, _AnnotationElement17); + var _super23 = _createSuper(FileAttachmentAnnotationElement); + function FileAttachmentAnnotationElement(parameters) { - var _this6; + var _this14$linkService$e; + + var _this14; _classCallCheck(this, FileAttachmentAnnotationElement); - _this6 = _possibleConstructorReturn(this, _getPrototypeOf(FileAttachmentAnnotationElement).call(this, parameters, true)); - var _this6$data$file = _this6.data.file, - filename = _this6$data$file.filename, - content = _this6$data$file.content; - _this6.filename = (0, _display_utils.getFilenameFromUrl)(filename); - _this6.content = content; - - if (_this6.linkService.eventBus) { - _this6.linkService.eventBus.dispatch("fileattachmentannotation", { - source: _assertThisInitialized(_this6), - id: (0, _util.stringToPDFString)(filename), - filename: filename, - content: content - }); - } - - return _this6; + _this14 = _super23.call(this, parameters, { + isRenderable: true + }); + var _this14$data$file = _this14.data.file, + filename = _this14$data$file.filename, + content = _this14$data$file.content; + _this14.filename = (0, _display_utils.getFilenameFromUrl)(filename); + _this14.content = content; + (_this14$linkService$e = _this14.linkService.eventBus) === null || _this14$linkService$e === void 0 ? void 0 : _this14$linkService$e.dispatch("fileattachmentannotation", { + source: _assertThisInitialized(_this14), + id: (0, _util.stringToPDFString)(filename), + filename: filename, + content: content + }); + return _this14; } _createClass(FileAttachmentAnnotationElement, [{ key: "render", value: function render() { + var _this$data$titleObj, _this$data$contentsOb; + this.container.className = "fileAttachmentAnnotation"; var trigger = document.createElement("div"); trigger.style.height = this.container.style.height; trigger.style.width = this.container.style.width; trigger.addEventListener("dblclick", this._download.bind(this)); - if (!this.data.hasPopup && (this.data.title || this.data.contents)) { - this._createPopup(this.container, trigger, this.data); + if (!this.data.hasPopup && ((_this$data$titleObj = this.data.titleObj) !== null && _this$data$titleObj !== void 0 && _this$data$titleObj.str || (_this$data$contentsOb = this.data.contentsObj) !== null && _this$data$contentsOb !== void 0 && _this$data$contentsOb.str || this.data.richText)) { + this._createPopup(trigger, this.data); } this.container.appendChild(trigger); @@ -21588,12 +18748,9 @@ var FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement1 }, { key: "_download", value: function _download() { - if (!this.downloadManager) { - (0, _util.warn)("Download cannot be started due to unavailable download manager"); - return; - } + var _this$downloadManager; - this.downloadManager.downloadData(this.content, this.filename, ""); + (_this$downloadManager = this.downloadManager) === null || _this$downloadManager === void 0 ? void 0 : _this$downloadManager.openOrDownloadData(this.container, this.content, this.filename); } }]); @@ -21610,95 +18767,167 @@ var AnnotationLayer = /*#__PURE__*/function () { value: function render(parameters) { var sortedAnnotations = [], popupAnnotations = []; - var _iteratorNormalCompletion5 = true; - var _didIteratorError5 = false; - var _iteratorError5 = undefined; + + var _iterator22 = _createForOfIteratorHelper(parameters.annotations), + _step22; try { - for (var _iterator5 = parameters.annotations[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { - var data = _step5.value; + for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) { + var _data = _step22.value; - if (!data) { + if (!_data) { continue; } - if (data.annotationType === _util.AnnotationType.POPUP) { - popupAnnotations.push(data); + var _getRectDims7 = getRectDims(_data.rect), + width = _getRectDims7.width, + height = _getRectDims7.height; + + if (width <= 0 || height <= 0) { continue; } - sortedAnnotations.push(data); + if (_data.annotationType === _util.AnnotationType.POPUP) { + popupAnnotations.push(_data); + continue; + } + + sortedAnnotations.push(_data); } } catch (err) { - _didIteratorError5 = true; - _iteratorError5 = err; + _iterator22.e(err); } finally { - try { - if (!_iteratorNormalCompletion5 && _iterator5["return"] != null) { - _iterator5["return"](); - } - } finally { - if (_didIteratorError5) { - throw _iteratorError5; - } - } + _iterator22.f(); } if (popupAnnotations.length) { sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations); } - for (var _i = 0, _sortedAnnotations = sortedAnnotations; _i < _sortedAnnotations.length; _i++) { - var _data = _sortedAnnotations[_i]; + var div = parameters.div; + + for (var _i7 = 0, _sortedAnnotations = sortedAnnotations; _i7 < _sortedAnnotations.length; _i7++) { + var data = _sortedAnnotations[_i7]; var element = AnnotationElementFactory.create({ - data: _data, - layer: parameters.div, + data: data, + layer: div, page: parameters.page, viewport: parameters.viewport, linkService: parameters.linkService, downloadManager: parameters.downloadManager, imageResourcesPath: parameters.imageResourcesPath || "", - renderInteractiveForms: parameters.renderInteractiveForms || false, - svgFactory: new _display_utils.DOMSVGFactory() + renderForms: parameters.renderForms !== false, + svgFactory: new _display_utils.DOMSVGFactory(), + annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage(), + enableScripting: parameters.enableScripting, + hasJSActions: parameters.hasJSActions, + fieldObjects: parameters.fieldObjects, + mouseState: parameters.mouseState || { + isDown: false + } }); if (element.isRenderable) { - parameters.div.appendChild(element.render()); + var rendered = element.render(); + + if (data.hidden) { + rendered.style.visibility = "hidden"; + } + + if (Array.isArray(rendered)) { + var _iterator23 = _createForOfIteratorHelper(rendered), + _step23; + + try { + for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) { + var renderedElement = _step23.value; + div.appendChild(renderedElement); + } + } catch (err) { + _iterator23.e(err); + } finally { + _iterator23.f(); + } + } else { + if (element instanceof PopupAnnotationElement) { + div.prepend(rendered); + } else { + div.appendChild(rendered); + } + } } } + + _classStaticPrivateMethodGet(this, AnnotationLayer, _setAnnotationCanvasMap).call(this, div, parameters.annotationCanvasMap); } }, { key: "update", value: function update(parameters) { - var _iteratorNormalCompletion6 = true; - var _didIteratorError6 = false; - var _iteratorError6 = undefined; + var page = parameters.page, + viewport = parameters.viewport, + annotations = parameters.annotations, + annotationCanvasMap = parameters.annotationCanvasMap, + div = parameters.div; + var transform = viewport.transform; + var matrix = "matrix(".concat(transform.join(","), ")"); + var scale, ownMatrix; + + var _iterator24 = _createForOfIteratorHelper(annotations), + _step24; try { - for (var _iterator6 = parameters.annotations[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { - var data = _step6.value; - var element = parameters.div.querySelector("[data-annotation-id=\"".concat(data.id, "\"]")); + for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) { + var data = _step24.value; + var elements = div.querySelectorAll("[data-annotation-id=\"".concat(data.id, "\"]")); - if (element) { - element.style.transform = "matrix(".concat(parameters.viewport.transform.join(","), ")"); + if (elements) { + var _iterator25 = _createForOfIteratorHelper(elements), + _step25; + + try { + for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) { + var element = _step25.value; + + if (data.hasOwnCanvas) { + var 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]]); + + if (!ownMatrix) { + scale = Math.abs(transform[0] || transform[1]); + var ownTransform = transform.slice(); + + for (var i = 0; i < 4; i++) { + ownTransform[i] = Math.sign(ownTransform[i]); + } + + ownMatrix = "matrix(".concat(ownTransform.join(","), ")"); + } + + var left = rect[0] * scale; + var top = rect[1] * scale; + element.style.left = "".concat(left, "px"); + element.style.top = "".concat(top, "px"); + element.style.transformOrigin = "".concat(-left, "px ").concat(-top, "px"); + element.style.transform = ownMatrix; + } else { + element.style.transform = matrix; + } + } + } catch (err) { + _iterator25.e(err); + } finally { + _iterator25.f(); + } } } } catch (err) { - _didIteratorError6 = true; - _iteratorError6 = err; + _iterator24.e(err); } finally { - try { - if (!_iteratorNormalCompletion6 && _iterator6["return"] != null) { - _iterator6["return"](); - } - } finally { - if (_didIteratorError6) { - throw _iteratorError6; - } - } + _iterator24.f(); } - parameters.div.removeAttribute("hidden"); + _classStaticPrivateMethodGet(this, AnnotationLayer, _setAnnotationCanvasMap).call(this, div, annotationCanvasMap); + + div.hidden = false; } }]); @@ -21707,37 +18936,64 @@ var AnnotationLayer = /*#__PURE__*/function () { exports.AnnotationLayer = AnnotationLayer; +function _setAnnotationCanvasMap(div, annotationCanvasMap) { + if (!annotationCanvasMap) { + return; + } + + var _iterator26 = _createForOfIteratorHelper(annotationCanvasMap), + _step26; + + try { + for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) { + var _step26$value = _slicedToArray(_step26.value, 2), + id = _step26$value[0], + canvas = _step26$value[1]; + + var element = div.querySelector("[data-annotation-id=\"".concat(id, "\"]")); + + if (!element) { + continue; + } + + var firstChild = element.firstChild; + + if (firstChild.nodeName === "CANVAS") { + element.replaceChild(canvas, firstChild); + } else { + element.insertBefore(canvas, firstChild); + } + } + } catch (err) { + _iterator26.e(err); + } finally { + _iterator26.f(); + } + + annotationCanvasMap.clear(); +} + /***/ }), -/* 207 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 160 */ +/***/ ((__unused_webpack_module, exports) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +Object.defineProperty(exports, "__esModule", ({ value: true -}); -exports.SVGGraphics = void 0; +})); +exports.ColorConverters = void 0; -var _util = __w_pdfjs_require__(1); +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } -var _display_utils = __w_pdfjs_require__(194); +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -var _is_node = __w_pdfjs_require__(48); +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } @@ -21745,23 +19001,1341 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } -var SVGGraphics = function SVGGraphics() { - throw new Error("Not implemented: SVGGraphics"); -}; +function makeColorComp(n) { + return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, "0"); +} + +var ColorConverters = /*#__PURE__*/function () { + function ColorConverters() { + _classCallCheck(this, ColorConverters); + } + + _createClass(ColorConverters, null, [{ + key: "CMYK_G", + value: function CMYK_G(_ref) { + var _ref2 = _slicedToArray(_ref, 4), + c = _ref2[0], + y = _ref2[1], + m = _ref2[2], + k = _ref2[3]; + + return ["G", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)]; + } + }, { + key: "G_CMYK", + value: function G_CMYK(_ref3) { + var _ref4 = _slicedToArray(_ref3, 1), + g = _ref4[0]; + + return ["CMYK", 0, 0, 0, 1 - g]; + } + }, { + key: "G_RGB", + value: function G_RGB(_ref5) { + var _ref6 = _slicedToArray(_ref5, 1), + g = _ref6[0]; + + return ["RGB", g, g, g]; + } + }, { + key: "G_HTML", + value: function G_HTML(_ref7) { + var _ref8 = _slicedToArray(_ref7, 1), + g = _ref8[0]; + + var G = makeColorComp(g); + return "#".concat(G).concat(G).concat(G); + } + }, { + key: "RGB_G", + value: function RGB_G(_ref9) { + var _ref10 = _slicedToArray(_ref9, 3), + r = _ref10[0], + g = _ref10[1], + b = _ref10[2]; + + return ["G", 0.3 * r + 0.59 * g + 0.11 * b]; + } + }, { + key: "RGB_HTML", + value: function RGB_HTML(_ref11) { + var _ref12 = _slicedToArray(_ref11, 3), + r = _ref12[0], + g = _ref12[1], + b = _ref12[2]; + + var R = makeColorComp(r); + var G = makeColorComp(g); + var B = makeColorComp(b); + return "#".concat(R).concat(G).concat(B); + } + }, { + key: "T_HTML", + value: function T_HTML() { + return "#00000000"; + } + }, { + key: "CMYK_RGB", + value: function CMYK_RGB(_ref13) { + var _ref14 = _slicedToArray(_ref13, 4), + c = _ref14[0], + y = _ref14[1], + m = _ref14[2], + k = _ref14[3]; + + return ["RGB", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)]; + } + }, { + key: "CMYK_HTML", + value: function CMYK_HTML(components) { + return this.RGB_HTML(this.CMYK_RGB(components)); + } + }, { + key: "RGB_CMYK", + value: function RGB_CMYK(_ref15) { + var _ref16 = _slicedToArray(_ref15, 3), + r = _ref16[0], + g = _ref16[1], + b = _ref16[2]; + + var c = 1 - r; + var m = 1 - g; + var y = 1 - b; + var k = Math.min(c, m, y); + return ["CMYK", c, m, y, k]; + } + }]); + + return ColorConverters; +}(); + +exports.ColorConverters = ColorConverters; + +/***/ }), +/* 161 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.XfaLayer = void 0; + +var _util = __w_pdfjs_require__(1); + +var _xfa_text = __w_pdfjs_require__(158); + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var XfaLayer = /*#__PURE__*/function () { + function XfaLayer() { + _classCallCheck(this, XfaLayer); + } + + _createClass(XfaLayer, null, [{ + key: "setupStorage", + value: function setupStorage(html, id, element, storage, intent) { + var storedData = storage.getValue(id, { + value: null + }); + + switch (element.name) { + case "textarea": + if (storedData.value !== null) { + html.textContent = storedData.value; + } + + if (intent === "print") { + break; + } + + html.addEventListener("input", function (event) { + storage.setValue(id, { + value: event.target.value + }); + }); + break; + + case "input": + if (element.attributes.type === "radio" || element.attributes.type === "checkbox") { + if (storedData.value === element.attributes.xfaOn) { + html.setAttribute("checked", true); + } else if (storedData.value === element.attributes.xfaOff) { + html.removeAttribute("checked"); + } + + if (intent === "print") { + break; + } + + html.addEventListener("change", function (event) { + storage.setValue(id, { + value: event.target.checked ? event.target.getAttribute("xfaOn") : event.target.getAttribute("xfaOff") + }); + }); + } else { + if (storedData.value !== null) { + html.setAttribute("value", storedData.value); + } + + if (intent === "print") { + break; + } + + html.addEventListener("input", function (event) { + storage.setValue(id, { + value: event.target.value + }); + }); + } + + break; + + case "select": + if (storedData.value !== null) { + var _iterator = _createForOfIteratorHelper(element.children), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var option = _step.value; + + if (option.attributes.value === storedData.value) { + option.attributes.selected = true; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + + html.addEventListener("input", function (event) { + var options = event.target.options; + var value = options.selectedIndex === -1 ? "" : options[options.selectedIndex].value; + storage.setValue(id, { + value: value + }); + }); + break; + } + } + }, { + key: "setAttributes", + value: function setAttributes(_ref) { + var html = _ref.html, + element = _ref.element, + _ref$storage = _ref.storage, + storage = _ref$storage === void 0 ? null : _ref$storage, + intent = _ref.intent, + linkService = _ref.linkService; + var attributes = element.attributes; + var isHTMLAnchorElement = html instanceof HTMLAnchorElement; + + if (attributes.type === "radio") { + attributes.name = "".concat(attributes.name, "-").concat(intent); + } + + for (var _i = 0, _Object$entries = Object.entries(attributes); _i < _Object$entries.length; _i++) { + var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), + key = _Object$entries$_i[0], + value = _Object$entries$_i[1]; + + if (value === null || value === undefined || key === "dataId") { + continue; + } + + if (key !== "style") { + if (key === "textContent") { + html.textContent = value; + } else if (key === "class") { + if (value.length) { + html.setAttribute(key, value.join(" ")); + } + } else { + if (isHTMLAnchorElement && (key === "href" || key === "newWindow")) { + continue; + } + + html.setAttribute(key, value); + } + } else { + Object.assign(html.style, value); + } + } + + if (isHTMLAnchorElement) { + var _linkService$addLinkA; + + if (!linkService.addLinkAttributes) { + (0, _util.warn)("XfaLayer.setAttribute - missing `addLinkAttributes`-method on the `linkService`-instance."); + } + + (_linkService$addLinkA = linkService.addLinkAttributes) === null || _linkService$addLinkA === void 0 ? void 0 : _linkService$addLinkA.call(linkService, html, attributes.href, attributes.newWindow); + } + + if (storage && attributes.dataId) { + this.setupStorage(html, attributes.dataId, element, storage); + } + } + }, { + key: "render", + value: function render(parameters) { + var storage = parameters.annotationStorage; + var linkService = parameters.linkService; + var root = parameters.xfaHtml; + var intent = parameters.intent || "display"; + var rootHtml = document.createElement(root.name); + + if (root.attributes) { + this.setAttributes({ + html: rootHtml, + element: root, + intent: intent, + linkService: linkService + }); + } + + var stack = [[root, -1, rootHtml]]; + var rootDiv = parameters.div; + rootDiv.appendChild(rootHtml); + + if (parameters.viewport) { + var transform = "matrix(".concat(parameters.viewport.transform.join(","), ")"); + rootDiv.style.transform = transform; + } + + if (intent !== "richText") { + rootDiv.setAttribute("class", "xfaLayer xfaFont"); + } + + var textDivs = []; + + while (stack.length > 0) { + var _child$attributes; + + var _stack = _slicedToArray(stack[stack.length - 1], 3), + parent = _stack[0], + i = _stack[1], + html = _stack[2]; + + if (i + 1 === parent.children.length) { + stack.pop(); + continue; + } + + var child = parent.children[++stack[stack.length - 1][1]]; + + if (child === null) { + continue; + } + + var name = child.name; + + if (name === "#text") { + var node = document.createTextNode(child.value); + textDivs.push(node); + html.appendChild(node); + continue; + } + + var childHtml = void 0; + + if (child !== null && child !== void 0 && (_child$attributes = child.attributes) !== null && _child$attributes !== void 0 && _child$attributes.xmlns) { + childHtml = document.createElementNS(child.attributes.xmlns, name); + } else { + childHtml = document.createElement(name); + } + + html.appendChild(childHtml); + + if (child.attributes) { + this.setAttributes({ + html: childHtml, + element: child, + storage: storage, + intent: intent, + linkService: linkService + }); + } + + if (child.children && child.children.length > 0) { + stack.push([child, -1, childHtml]); + } else if (child.value) { + var _node = document.createTextNode(child.value); + + if (_xfa_text.XfaText.shouldBuildText(name)) { + textDivs.push(_node); + } + + childHtml.appendChild(_node); + } + } + + var _iterator2 = _createForOfIteratorHelper(rootDiv.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea")), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var el = _step2.value; + el.setAttribute("readOnly", true); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + return { + textDivs: textDivs + }; + } + }, { + key: "update", + value: function update(parameters) { + var transform = "matrix(".concat(parameters.viewport.transform.join(","), ")"); + parameters.div.style.transform = transform; + parameters.div.hidden = false; + } + }]); + + return XfaLayer; +}(); + +exports.XfaLayer = XfaLayer; + +/***/ }), +/* 162 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.renderTextLayer = renderTextLayer; + +var _util = __w_pdfjs_require__(1); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +var MAX_TEXT_DIVS_TO_RENDER = 100000; +var DEFAULT_FONT_SIZE = 30; +var DEFAULT_FONT_ASCENT = 0.8; +var ascentCache = new Map(); +var AllWhitespaceRegexp = /^\s+$/g; + +function getAscent(fontFamily, ctx) { + var cachedAscent = ascentCache.get(fontFamily); + + if (cachedAscent) { + return cachedAscent; + } + + ctx.save(); + ctx.font = "".concat(DEFAULT_FONT_SIZE, "px ").concat(fontFamily); + var metrics = ctx.measureText(""); + var ascent = metrics.fontBoundingBoxAscent; + var descent = Math.abs(metrics.fontBoundingBoxDescent); + + if (ascent) { + ctx.restore(); + var ratio = ascent / (ascent + descent); + ascentCache.set(fontFamily, ratio); + return ratio; + } + + ctx.strokeStyle = "red"; + ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE); + ctx.strokeText("g", 0, 0); + var pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data; + descent = 0; + + for (var i = pixels.length - 1 - 3; i >= 0; i -= 4) { + if (pixels[i] > 0) { + descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE); + break; + } + } + + ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE); + ctx.strokeText("A", 0, DEFAULT_FONT_SIZE); + pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data; + ascent = 0; + + for (var _i = 0, ii = pixels.length; _i < ii; _i += 4) { + if (pixels[_i] > 0) { + ascent = DEFAULT_FONT_SIZE - Math.floor(_i / 4 / DEFAULT_FONT_SIZE); + break; + } + } + + ctx.restore(); + + if (ascent) { + var _ratio = ascent / (ascent + descent); + + ascentCache.set(fontFamily, _ratio); + return _ratio; + } + + ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT); + return DEFAULT_FONT_ASCENT; +} + +function appendText(task, geom, styles, ctx) { + var textDiv = document.createElement("span"); + var textDivProperties = task._enhanceTextSelection ? { + angle: 0, + canvasWidth: 0, + hasText: geom.str !== "", + hasEOL: geom.hasEOL, + originalTransform: null, + paddingBottom: 0, + paddingLeft: 0, + paddingRight: 0, + paddingTop: 0, + scale: 1 + } : { + angle: 0, + canvasWidth: 0, + hasText: geom.str !== "", + hasEOL: geom.hasEOL + }; + + task._textDivs.push(textDiv); + + var tx = _util.Util.transform(task._viewport.transform, geom.transform); + + var angle = Math.atan2(tx[1], tx[0]); + var style = styles[geom.fontName]; + + if (style.vertical) { + angle += Math.PI / 2; + } + + var fontHeight = Math.hypot(tx[2], tx[3]); + var fontAscent = fontHeight * getAscent(style.fontFamily, ctx); + var left, top; + + if (angle === 0) { + left = tx[4]; + top = tx[5] - fontAscent; + } else { + left = tx[4] + fontAscent * Math.sin(angle); + top = tx[5] - fontAscent * Math.cos(angle); + } + + textDiv.style.left = "".concat(left, "px"); + textDiv.style.top = "".concat(top, "px"); + textDiv.style.fontSize = "".concat(fontHeight / 16.0, "em"); + textDiv.style.fontFamily = style.fontFamily; + textDiv.setAttribute("role", "presentation"); + textDiv.textContent = geom.str; + textDiv.dir = geom.dir; + + if (task._fontInspectorEnabled) { + textDiv.dataset.fontName = geom.fontName; + } + + if (angle !== 0) { + textDivProperties.angle = angle * (180 / Math.PI); + } + + var shouldScaleText = false; + + if (geom.str.length > 1 || task._enhanceTextSelection && AllWhitespaceRegexp.test(geom.str)) { + shouldScaleText = true; + } else if (geom.str !== " " && geom.transform[0] !== geom.transform[3]) { + var absScaleX = Math.abs(geom.transform[0]), + absScaleY = Math.abs(geom.transform[3]); + + if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) { + shouldScaleText = true; + } + } + + if (shouldScaleText) { + if (style.vertical) { + textDivProperties.canvasWidth = geom.height * task._viewport.scale; + } else { + textDivProperties.canvasWidth = geom.width * task._viewport.scale; + } + } + + task._textDivProperties.set(textDiv, textDivProperties); + + if (task._textContentStream) { + task._layoutText(textDiv); + } + + if (task._enhanceTextSelection && textDivProperties.hasText) { + var angleCos = 1, + angleSin = 0; + + if (angle !== 0) { + angleCos = Math.cos(angle); + angleSin = Math.sin(angle); + } + + var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale; + var divHeight = fontHeight; + var m, b; + + if (angle !== 0) { + m = [angleCos, angleSin, -angleSin, angleCos, left, top]; + b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m); + } else { + b = [left, top, left + divWidth, top + divHeight]; + } + + task._bounds.push({ + left: b[0], + top: b[1], + right: b[2], + bottom: b[3], + div: textDiv, + size: [divWidth, divHeight], + m: m + }); + } +} + +function render(task) { + if (task._canceled) { + return; + } + + var textDivs = task._textDivs; + var capability = task._capability; + var textDivsLength = textDivs.length; + + if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) { + task._renderingDone = true; + capability.resolve(); + return; + } + + if (!task._textContentStream) { + for (var i = 0; i < textDivsLength; i++) { + task._layoutText(textDivs[i]); + } + } + + task._renderingDone = true; + capability.resolve(); +} + +function findPositiveMin(ts, offset, count) { + var result = 0; + + for (var i = 0; i < count; i++) { + var t = ts[offset++]; + + if (t > 0) { + result = result ? Math.min(t, result) : t; + } + } + + return result; +} + +function expand(task) { + var bounds = task._bounds; + var viewport = task._viewport; + var expanded = expandBounds(viewport.width, viewport.height, bounds); + + for (var i = 0; i < expanded.length; i++) { + var div = bounds[i].div; + + var divProperties = task._textDivProperties.get(div); + + if (divProperties.angle === 0) { + divProperties.paddingLeft = bounds[i].left - expanded[i].left; + divProperties.paddingTop = bounds[i].top - expanded[i].top; + divProperties.paddingRight = expanded[i].right - bounds[i].right; + divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom; + + task._textDivProperties.set(div, divProperties); + + continue; + } + + var e = expanded[i], + b = bounds[i]; + var m = b.m, + c = m[0], + s = m[1]; + var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size]; + var ts = new Float64Array(64); + + for (var j = 0, jj = points.length; j < jj; j++) { + var t = _util.Util.applyTransform(points[j], m); + + ts[j + 0] = c && (e.left - t[0]) / c; + ts[j + 4] = s && (e.top - t[1]) / s; + ts[j + 8] = c && (e.right - t[0]) / c; + ts[j + 12] = s && (e.bottom - t[1]) / s; + ts[j + 16] = s && (e.left - t[0]) / -s; + ts[j + 20] = c && (e.top - t[1]) / c; + ts[j + 24] = s && (e.right - t[0]) / -s; + ts[j + 28] = c && (e.bottom - t[1]) / c; + ts[j + 32] = c && (e.left - t[0]) / -c; + ts[j + 36] = s && (e.top - t[1]) / -s; + ts[j + 40] = c && (e.right - t[0]) / -c; + ts[j + 44] = s && (e.bottom - t[1]) / -s; + ts[j + 48] = s && (e.left - t[0]) / s; + ts[j + 52] = c && (e.top - t[1]) / -c; + ts[j + 56] = s && (e.right - t[0]) / s; + ts[j + 60] = c && (e.bottom - t[1]) / -c; + } + + var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s)); + divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale; + divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale; + divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale; + divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale; + + task._textDivProperties.set(div, divProperties); + } +} + +function expandBounds(width, height, boxes) { + var bounds = boxes.map(function (box, i) { + return { + x1: box.left, + y1: box.top, + x2: box.right, + y2: box.bottom, + index: i, + x1New: undefined, + x2New: undefined + }; + }); + expandBoundsLTR(width, bounds); + var expanded = new Array(boxes.length); + + var _iterator = _createForOfIteratorHelper(bounds), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var b = _step.value; + var i = b.index; + expanded[i] = { + left: b.x1New, + top: 0, + right: b.x2New, + bottom: 0 + }; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + boxes.map(function (box, i) { + var e = expanded[i], + b = bounds[i]; + b.x1 = box.top; + b.y1 = width - e.right; + b.x2 = box.bottom; + b.y2 = width - e.left; + b.index = i; + b.x1New = undefined; + b.x2New = undefined; + }); + expandBoundsLTR(height, bounds); + + var _iterator2 = _createForOfIteratorHelper(bounds), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _b = _step2.value; + var _i2 = _b.index; + expanded[_i2].top = _b.x1New; + expanded[_i2].bottom = _b.x2New; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + return expanded; +} + +function expandBoundsLTR(width, bounds) { + bounds.sort(function (a, b) { + return a.x1 - b.x1 || a.index - b.index; + }); + var fakeBoundary = { + x1: -Infinity, + y1: -Infinity, + x2: 0, + y2: Infinity, + index: -1, + x1New: 0, + x2New: 0 + }; + var horizon = [{ + start: -Infinity, + end: Infinity, + boundary: fakeBoundary + }]; + + var _iterator3 = _createForOfIteratorHelper(bounds), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var boundary = _step3.value; + var i = 0; + + while (i < horizon.length && horizon[i].end <= boundary.y1) { + i++; + } + + var j = horizon.length - 1; + + while (j >= 0 && horizon[j].start >= boundary.y2) { + j--; + } + + var _horizonPart = void 0, + _affectedBoundary = void 0; + + var q = void 0, + k = void 0, + maxXNew = -Infinity; + + for (q = i; q <= j; q++) { + _horizonPart = horizon[q]; + _affectedBoundary = _horizonPart.boundary; + var xNew = void 0; + + if (_affectedBoundary.x2 > boundary.x1) { + xNew = _affectedBoundary.index > boundary.index ? _affectedBoundary.x1New : boundary.x1; + } else if (_affectedBoundary.x2New === undefined) { + xNew = (_affectedBoundary.x2 + boundary.x1) / 2; + } else { + xNew = _affectedBoundary.x2New; + } + + if (xNew > maxXNew) { + maxXNew = xNew; + } + } + + boundary.x1New = maxXNew; + + for (q = i; q <= j; q++) { + _horizonPart = horizon[q]; + _affectedBoundary = _horizonPart.boundary; + + if (_affectedBoundary.x2New === undefined) { + if (_affectedBoundary.x2 > boundary.x1) { + if (_affectedBoundary.index > boundary.index) { + _affectedBoundary.x2New = _affectedBoundary.x2; + } + } else { + _affectedBoundary.x2New = maxXNew; + } + } else if (_affectedBoundary.x2New > maxXNew) { + _affectedBoundary.x2New = Math.max(maxXNew, _affectedBoundary.x2); + } + } + + var changedHorizon = []; + var lastBoundary = null; + + for (q = i; q <= j; q++) { + _horizonPart = horizon[q]; + _affectedBoundary = _horizonPart.boundary; + var useBoundary = _affectedBoundary.x2 > boundary.x2 ? _affectedBoundary : boundary; + + if (lastBoundary === useBoundary) { + changedHorizon[changedHorizon.length - 1].end = _horizonPart.end; + } else { + changedHorizon.push({ + start: _horizonPart.start, + end: _horizonPart.end, + boundary: useBoundary + }); + lastBoundary = useBoundary; + } + } + + if (horizon[i].start < boundary.y1) { + changedHorizon[0].start = boundary.y1; + changedHorizon.unshift({ + start: horizon[i].start, + end: boundary.y1, + boundary: horizon[i].boundary + }); + } + + if (boundary.y2 < horizon[j].end) { + changedHorizon[changedHorizon.length - 1].end = boundary.y2; + changedHorizon.push({ + start: boundary.y2, + end: horizon[j].end, + boundary: horizon[j].boundary + }); + } + + for (q = i; q <= j; q++) { + _horizonPart = horizon[q]; + _affectedBoundary = _horizonPart.boundary; + + if (_affectedBoundary.x2New !== undefined) { + continue; + } + + var used = false; + + for (k = i - 1; !used && k >= 0 && horizon[k].start >= _affectedBoundary.y1; k--) { + used = horizon[k].boundary === _affectedBoundary; + } + + for (k = j + 1; !used && k < horizon.length && horizon[k].end <= _affectedBoundary.y2; k++) { + used = horizon[k].boundary === _affectedBoundary; + } + + for (k = 0; !used && k < changedHorizon.length; k++) { + used = changedHorizon[k].boundary === _affectedBoundary; + } + + if (!used) { + _affectedBoundary.x2New = maxXNew; + } + } + + Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon)); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + for (var _i3 = 0, _horizon = horizon; _i3 < _horizon.length; _i3++) { + var horizonPart = _horizon[_i3]; + var affectedBoundary = horizonPart.boundary; + + if (affectedBoundary.x2New === undefined) { + affectedBoundary.x2New = Math.max(width, affectedBoundary.x2); + } + } +} + +var TextLayerRenderTask = /*#__PURE__*/function () { + function TextLayerRenderTask(_ref) { + var _globalThis$FontInspe, + _this = this; + + var textContent = _ref.textContent, + textContentStream = _ref.textContentStream, + container = _ref.container, + viewport = _ref.viewport, + textDivs = _ref.textDivs, + textContentItemsStr = _ref.textContentItemsStr, + enhanceTextSelection = _ref.enhanceTextSelection; + + _classCallCheck(this, TextLayerRenderTask); + + this._textContent = textContent; + this._textContentStream = textContentStream; + this._container = container; + this._document = container.ownerDocument; + this._viewport = viewport; + this._textDivs = textDivs || []; + this._textContentItemsStr = textContentItemsStr || []; + this._enhanceTextSelection = !!enhanceTextSelection; + this._fontInspectorEnabled = !!((_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled); + this._reader = null; + this._layoutTextLastFontSize = null; + this._layoutTextLastFontFamily = null; + this._layoutTextCtx = null; + this._textDivProperties = new WeakMap(); + this._renderingDone = false; + this._canceled = false; + this._capability = (0, _util.createPromiseCapability)(); + this._renderTimer = null; + this._bounds = []; + + this._capability.promise["finally"](function () { + if (!_this._enhanceTextSelection) { + _this._textDivProperties = null; + } + + if (_this._layoutTextCtx) { + _this._layoutTextCtx.canvas.width = 0; + _this._layoutTextCtx.canvas.height = 0; + _this._layoutTextCtx = null; + } + })["catch"](function () {}); + } + + _createClass(TextLayerRenderTask, [{ + key: "promise", + get: function get() { + return this._capability.promise; + } + }, { + key: "cancel", + value: function cancel() { + this._canceled = true; + + if (this._reader) { + this._reader.cancel(new _util.AbortException("TextLayer task cancelled."))["catch"](function () {}); + + this._reader = null; + } + + if (this._renderTimer !== null) { + clearTimeout(this._renderTimer); + this._renderTimer = null; + } + + this._capability.reject(new Error("TextLayer task cancelled.")); + } + }, { + key: "_processItems", + value: function _processItems(items, styleCache) { + for (var i = 0, len = items.length; i < len; i++) { + if (items[i].str === undefined) { + if (items[i].type === "beginMarkedContentProps" || items[i].type === "beginMarkedContent") { + var parent = this._container; + this._container = document.createElement("span"); + + this._container.classList.add("markedContent"); + + if (items[i].id !== null) { + this._container.setAttribute("id", "".concat(items[i].id)); + } + + parent.appendChild(this._container); + } else if (items[i].type === "endMarkedContent") { + this._container = this._container.parentNode; + } + + continue; + } + + this._textContentItemsStr.push(items[i].str); + + appendText(this, items[i], styleCache, this._layoutTextCtx); + } + } + }, { + key: "_layoutText", + value: function _layoutText(textDiv) { + var textDivProperties = this._textDivProperties.get(textDiv); + + var transform = ""; + + if (textDivProperties.canvasWidth !== 0 && textDivProperties.hasText) { + var _textDiv$style = textDiv.style, + fontSize = _textDiv$style.fontSize, + fontFamily = _textDiv$style.fontFamily; + + if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) { + this._layoutTextCtx.font = "".concat(fontSize, " ").concat(fontFamily); + this._layoutTextLastFontSize = fontSize; + this._layoutTextLastFontFamily = fontFamily; + } + + var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent), + width = _this$_layoutTextCtx$.width; + + if (width > 0) { + var scale = textDivProperties.canvasWidth / width; + + if (this._enhanceTextSelection) { + textDivProperties.scale = scale; + } + + transform = "scaleX(".concat(scale, ")"); + } + } + + if (textDivProperties.angle !== 0) { + transform = "rotate(".concat(textDivProperties.angle, "deg) ").concat(transform); + } + + if (transform.length > 0) { + if (this._enhanceTextSelection) { + textDivProperties.originalTransform = transform; + } + + textDiv.style.transform = transform; + } + + if (textDivProperties.hasText) { + this._container.appendChild(textDiv); + } + + if (textDivProperties.hasEOL) { + var br = document.createElement("br"); + br.setAttribute("role", "presentation"); + + this._container.appendChild(br); + } + } + }, { + key: "_render", + value: function _render() { + var _this2 = this; + + var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + var capability = (0, _util.createPromiseCapability)(); + var styleCache = Object.create(null); + + var canvas = this._document.createElement("canvas"); + + canvas.height = canvas.width = DEFAULT_FONT_SIZE; + canvas.mozOpaque = true; + this._layoutTextCtx = canvas.getContext("2d", { + alpha: false + }); + + if (this._textContent) { + var textItems = this._textContent.items; + var textStyles = this._textContent.styles; + + this._processItems(textItems, textStyles); + + capability.resolve(); + } else if (this._textContentStream) { + var pump = function pump() { + _this2._reader.read().then(function (_ref2) { + var value = _ref2.value, + done = _ref2.done; + + if (done) { + capability.resolve(); + return; + } + + Object.assign(styleCache, value.styles); + + _this2._processItems(value.items, styleCache); + + pump(); + }, capability.reject); + }; + + this._reader = this._textContentStream.getReader(); + pump(); + } else { + throw new Error('Neither "textContent" nor "textContentStream" parameters specified.'); + } + + capability.promise.then(function () { + styleCache = null; + + if (!timeout) { + render(_this2); + } else { + _this2._renderTimer = setTimeout(function () { + render(_this2); + _this2._renderTimer = null; + }, timeout); + } + }, this._capability.reject); + } + }, { + key: "expandTextDivs", + value: function expandTextDivs() { + var expandDivs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this._enhanceTextSelection || !this._renderingDone) { + return; + } + + if (this._bounds !== null) { + expand(this); + this._bounds = null; + } + + var transformBuf = [], + paddingBuf = []; + + for (var i = 0, ii = this._textDivs.length; i < ii; i++) { + var div = this._textDivs[i]; + + var divProps = this._textDivProperties.get(div); + + if (!divProps.hasText) { + continue; + } + + if (expandDivs) { + transformBuf.length = 0; + paddingBuf.length = 0; + + if (divProps.originalTransform) { + transformBuf.push(divProps.originalTransform); + } + + if (divProps.paddingTop > 0) { + paddingBuf.push("".concat(divProps.paddingTop, "px")); + transformBuf.push("translateY(".concat(-divProps.paddingTop, "px)")); + } else { + paddingBuf.push(0); + } + + if (divProps.paddingRight > 0) { + paddingBuf.push("".concat(divProps.paddingRight / divProps.scale, "px")); + } else { + paddingBuf.push(0); + } + + if (divProps.paddingBottom > 0) { + paddingBuf.push("".concat(divProps.paddingBottom, "px")); + } else { + paddingBuf.push(0); + } + + if (divProps.paddingLeft > 0) { + paddingBuf.push("".concat(divProps.paddingLeft / divProps.scale, "px")); + transformBuf.push("translateX(".concat(-divProps.paddingLeft / divProps.scale, "px)")); + } else { + paddingBuf.push(0); + } + + div.style.padding = paddingBuf.join(" "); + + if (transformBuf.length) { + div.style.transform = transformBuf.join(" "); + } + } else { + div.style.padding = null; + div.style.transform = divProps.originalTransform; + } + } + } + }]); + + return TextLayerRenderTask; +}(); + +function renderTextLayer(renderParameters) { + var task = new TextLayerRenderTask({ + textContent: renderParameters.textContent, + textContentStream: renderParameters.textContentStream, + container: renderParameters.container, + viewport: renderParameters.viewport, + textDivs: renderParameters.textDivs, + textContentItemsStr: renderParameters.textContentItemsStr, + enhanceTextSelection: renderParameters.enhanceTextSelection + }); + + task._render(renderParameters.timeout); + + return task; +} + +/***/ }), +/* 163 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.SVGGraphics = void 0; + +var _util = __w_pdfjs_require__(1); + +var _display_utils = __w_pdfjs_require__(146); + +var _is_node = __w_pdfjs_require__(3); + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var SVGGraphics = /*#__PURE__*/_createClass(function SVGGraphics() { + _classCallCheck(this, SVGGraphics); + + (0, _util.unreachable)("Not implemented: SVGGraphics"); +}); exports.SVGGraphics = SVGGraphics; { var opListToTree = function opListToTree(opList) { var opTree = []; var tmp = []; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + + var _iterator = _createForOfIteratorHelper(opList), + _step; try { - for (var _iterator = opList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (_iterator.s(); !(_step = _iterator.n()).done;) { var opListElement = _step.value; if (opListElement.fn === "save") { @@ -21782,18 +20356,9 @@ exports.SVGGraphics = SVGGraphics; } } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _iterator.e(err); } finally { - try { - if (!_iteratorNormalCompletion && _iterator["return"] != null) { - _iterator["return"](); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } + _iterator.f(); } return opTree; @@ -21851,6 +20416,33 @@ exports.SVGGraphics = SVGGraphics; var LINE_CAP_STYLES = ["butt", "round", "square"]; var LINE_JOIN_STYLES = ["miter", "round", "bevel"]; + var createObjectURL = function createObjectURL(data) { + var contentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ""; + var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + if (URL.createObjectURL && typeof Blob !== "undefined" && !forceDataSchema) { + return URL.createObjectURL(new Blob([data], { + type: contentType + })); + } + + var digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + var buffer = "data:".concat(contentType, ";base64,"); + + for (var i = 0, ii = data.length; i < ii; i += 3) { + var b1 = data[i] & 0xff; + var b2 = data[i + 1] & 0xff; + var b3 = data[i + 2] & 0xff; + var d1 = b1 >> 2, + d2 = (b1 & 3) << 4 | b2 >> 4; + var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64; + var d4 = i + 2 < ii ? b3 & 0x3f : 64; + buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4]; + } + + return buffer; + }; + var convertImgDataToPng = function () { var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]); var CHUNK_WRAPPER_SIZE = 12; @@ -22043,7 +20635,7 @@ exports.SVGGraphics = SVGGraphics; writePngChunk("IDATA", idat, data, offset); offset += CHUNK_WRAPPER_SIZE + idat.length; writePngChunk("IEND", new Uint8Array(0), data, offset); - return (0, _util.createObjectURL)(data, "image/png", forceDataSchema); + return createObjectURL(data, "image/png", forceDataSchema); } return function convertImgDataToPng(imgData, forceDataSchema, isMask) { @@ -22109,7 +20701,9 @@ exports.SVGGraphics = SVGGraphics; var shadingCount = 0; exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () { - function SVGGraphics(commonObjs, objs, forceDataSchema) { + function SVGGraphics(commonObjs, objs) { + var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + _classCallCheck(this, SVGGraphics); this.svgFactory = new _display_utils.DOMSVGFactory(); @@ -22168,9 +20762,8 @@ exports.SVGGraphics = SVGGraphics; continue; } - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; + var _iterator2 = _createForOfIteratorHelper(argsArray[i]), + _step2; try { var _loop = function _loop() { @@ -22183,22 +20776,13 @@ exports.SVGGraphics = SVGGraphics; _this.current.dependencies.push(promise); }; - for (var _iterator2 = argsArray[i][Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { _loop(); } } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; + _iterator2.e(err); } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) { - _iterator2["return"](); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } + _iterator2.f(); } } @@ -22250,12 +20834,11 @@ exports.SVGGraphics = SVGGraphics; }, { key: "executeOpTree", value: function executeOpTree(opTree) { - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; + var _iterator3 = _createForOfIteratorHelper(opTree), + _step3; try { - for (var _iterator3 = opTree[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { var opTreeElement = _step3.value; var fn = opTreeElement.fn; var fnId = opTreeElement.fnId; @@ -22405,10 +20988,6 @@ exports.SVGGraphics = SVGGraphics; this.paintSolidColorImageMask(); break; - case _util.OPS.paintJpegXObject: - this.paintJpegXObject(args[0], args[1], args[2]); - break; - case _util.OPS.paintImageXObject: this.paintImageXObject(args[0]); break; @@ -22471,18 +21050,9 @@ exports.SVGGraphics = SVGGraphics; } } } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; + _iterator3.e(err); } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) { - _iterator3["return"](); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } + _iterator3.f(); } } }, { @@ -22505,10 +21075,11 @@ exports.SVGGraphics = SVGGraphics; value: function setTextMatrix(a, b, c, d, e, f) { var current = this.current; current.textMatrix = current.lineMatrix = [a, b, c, d, e, f]; - current.textMatrixScale = Math.sqrt(a * a + b * b); + current.textMatrixScale = Math.hypot(a, b); current.x = current.lineX = 0; current.y = current.lineY = 0; current.xcoords = []; + current.ycoords = []; current.tspan = this.svgFactory.createElement("svg:tspan"); current.tspan.setAttributeNS(null, "font-family", current.fontFamily); current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize / 16.0), "em")); @@ -22529,6 +21100,7 @@ exports.SVGGraphics = SVGGraphics; current.txtElement = this.svgFactory.createElement("svg:text"); current.txtgrp = this.svgFactory.createElement("svg:g"); current.xcoords = []; + current.ycoords = []; } }, { key: "moveText", @@ -22537,6 +21109,7 @@ exports.SVGGraphics = SVGGraphics; current.x = current.lineX += x; current.y = current.lineY += y; current.xcoords = []; + current.ycoords = []; current.tspan = this.svgFactory.createElement("svg:tspan"); current.tspan.setAttributeNS(null, "font-family", current.fontFamily); current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize / 16.0), "em")); @@ -22553,66 +21126,92 @@ exports.SVGGraphics = SVGGraphics; return; } + var fontSizeScale = current.fontSizeScale; var charSpacing = current.charSpacing; var wordSpacing = current.wordSpacing; var fontDirection = current.fontDirection; var textHScale = current.textHScale * fontDirection; var vertical = font.vertical; + var spacingDir = vertical ? 1 : -1; + var defaultVMetrics = font.defaultVMetrics; var widthAdvanceScale = fontSize * current.fontMatrix[0]; var x = 0; - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; + + var _iterator4 = _createForOfIteratorHelper(glyphs), + _step4; try { - for (var _iterator4 = glyphs[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { var glyph = _step4.value; if (glyph === null) { x += fontDirection * wordSpacing; continue; - } else if ((0, _util.isNum)(glyph)) { - x += -glyph * fontSize * 0.001; + } else if (typeof glyph === "number") { + x += spacingDir * glyph * fontSize / 1000; continue; } - var width = glyph.width; - var character = glyph.fontChar; var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; - var charWidth = width * widthAdvanceScale + spacing * fontDirection; + var character = glyph.fontChar; + var scaledX = void 0, + scaledY = void 0; + var width = glyph.width; - if (!glyph.isInFont && !font.missingFile) { - x += charWidth; - continue; + if (vertical) { + var vx = void 0; + var vmetric = glyph.vmetric || defaultVMetrics; + vx = glyph.vmetric ? vmetric[1] : width * 0.5; + vx = -vx * widthAdvanceScale; + var vy = vmetric[2] * widthAdvanceScale; + width = vmetric ? -vmetric[0] : width; + scaledX = vx / fontSizeScale; + scaledY = (x + vy) / fontSizeScale; + } else { + scaledX = x / fontSizeScale; + scaledY = 0; + } + + if (glyph.isInFont || font.missingFile) { + current.xcoords.push(current.x + scaledX); + + if (vertical) { + current.ycoords.push(-current.y + scaledY); + } + + current.tspan.textContent += character; + } else {} + + var charWidth = void 0; + + if (vertical) { + charWidth = width * widthAdvanceScale - spacing * fontDirection; + } else { + charWidth = width * widthAdvanceScale + spacing * fontDirection; } - current.xcoords.push(current.x + x); - current.tspan.textContent += character; x += charWidth; } } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; + _iterator4.e(err); } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) { - _iterator4["return"](); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } + _iterator4.f(); + } + + current.tspan.setAttributeNS(null, "x", current.xcoords.map(pf).join(" ")); + + if (vertical) { + current.tspan.setAttributeNS(null, "y", current.ycoords.map(pf).join(" ")); + } else { + current.tspan.setAttributeNS(null, "y", pf(-current.y)); } if (vertical) { - current.y -= x * textHScale; + current.y -= x; } else { current.x += x * textHScale; } - current.tspan.setAttributeNS(null, "x", current.xcoords.map(pf).join(" ")); - current.tspan.setAttributeNS(null, "y", pf(-current.y)); current.tspan.setAttributeNS(null, "font-family", current.fontFamily); current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize / 16.0), "em")); @@ -22669,13 +21268,17 @@ exports.SVGGraphics = SVGGraphics; }, { key: "addFontStyle", value: function addFontStyle(fontObj) { + if (!fontObj.data) { + throw new Error("addFontStyle: No font data available, " + 'ensure that the "fontExtraProperties" API parameter is set.'); + } + if (!this.cssStyle) { this.cssStyle = this.svgFactory.createElement("svg:style"); this.cssStyle.setAttributeNS(null, "type", "text/css"); this.defs.appendChild(this.cssStyle); } - var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema); + var url = createObjectURL(fontObj.data, fontObj.mimetype, this.forceDataSchema); this.cssStyle.textContent += "@font-face { font-family: \"".concat(fontObj.loadedName, "\";") + " src: url(".concat(url, "); }\n"); } }, { @@ -22686,12 +21289,12 @@ exports.SVGGraphics = SVGGraphics; var size = details[1]; current.font = fontObj; - if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) { + if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) { this.addFontStyle(fontObj); this.embeddedFonts[fontObj.loadedName] = fontObj; } - current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX; + current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX; var bold = "normal"; if (fontObj.black) { @@ -22716,13 +21319,16 @@ exports.SVGGraphics = SVGGraphics; current.tspan = this.svgFactory.createElement("svg:tspan"); current.tspan.setAttributeNS(null, "y", pf(-current.y)); current.xcoords = []; + current.ycoords = []; } }, { key: "endText", value: function endText() { + var _current$txtElement; + var current = this.current; - if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) { + if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && (_current$txtElement = current.txtElement) !== null && _current$txtElement !== void 0 && _current$txtElement.hasChildNodes()) { current.element = current.txtElement; this.clip("nonzero"); this.endPath(); @@ -22758,7 +21364,7 @@ exports.SVGGraphics = SVGGraphics; }, { key: "setStrokeRGBColor", value: function setStrokeRGBColor(r, g, b) { - this.current.strokeColor = _util.Util.makeCssRgb(r, g, b); + this.current.strokeColor = _util.Util.makeHexColor(r, g, b); } }, { key: "setFillAlpha", @@ -22768,9 +21374,10 @@ exports.SVGGraphics = SVGGraphics; }, { key: "setFillRGBColor", value: function setFillRGBColor(r, g, b) { - this.current.fillColor = _util.Util.makeCssRgb(r, g, b); + this.current.fillColor = _util.Util.makeHexColor(r, g, b); this.current.tspan = this.svgFactory.createElement("svg:tspan"); this.current.xcoords = []; + this.current.ycoords = []; } }, { key: "setStrokeColorN", @@ -22809,6 +21416,10 @@ exports.SVGGraphics = SVGGraphics; rect.setAttributeNS(null, "height", y1 - y0); rect.setAttributeNS(null, "fill", this._makeShadingPattern(args)); + if (this.current.fillAlpha < 1) { + rect.setAttributeNS(null, "fill-opacity", this.current.fillAlpha); + } + this._ensureTransformGroup().appendChild(rect); } }, { @@ -22838,15 +21449,12 @@ exports.SVGGraphics = SVGGraphics; var paintType = args[7]; var tilingId = "shading".concat(shadingCount++); - var _Util$applyTransform = _util.Util.applyTransform([x0, y0], matrix), - _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2), - tx0 = _Util$applyTransform2[0], - ty0 = _Util$applyTransform2[1]; - - var _Util$applyTransform3 = _util.Util.applyTransform([x1, y1], matrix), - _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2), - tx1 = _Util$applyTransform4[0], - ty1 = _Util$applyTransform4[1]; + var _Util$normalizeRect = _util.Util.normalizeRect([].concat(_toConsumableArray(_util.Util.applyTransform([x0, y0], matrix)), _toConsumableArray(_util.Util.applyTransform([x1, y1], matrix)))), + _Util$normalizeRect2 = _slicedToArray(_Util$normalizeRect, 4), + tx0 = _Util$normalizeRect2[0], + ty0 = _Util$normalizeRect2[1], + tx1 = _Util$normalizeRect2[2], + ty1 = _Util$normalizeRect2[3]; var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix), _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2), @@ -22871,7 +21479,7 @@ exports.SVGGraphics = SVGGraphics; this.transformMatrix = matrix; if (paintType === 2) { - var cssColor = _util.Util.makeCssRgb.apply(_util.Util, _toConsumableArray(color)); + var cssColor = _util.Util.makeHexColor.apply(_util.Util, _toConsumableArray(color)); this.current.fillColor = cssColor; this.current.strokeColor = cssColor; @@ -22889,6 +21497,10 @@ exports.SVGGraphics = SVGGraphics; }, { key: "_makeShadingPattern", value: function _makeShadingPattern(args) { + if (typeof args === "string") { + args = this.objs.get(args); + } + switch (args[0]) { case "RadialAxial": var shadingId = "shading".concat(shadingCount++); @@ -22928,12 +21540,11 @@ exports.SVGGraphics = SVGGraphics; throw new Error("Unknown RadialAxial type: ".concat(args[1])); } - var _iteratorNormalCompletion5 = true; - var _didIteratorError5 = false; - var _iteratorError5 = undefined; + var _iterator5 = _createForOfIteratorHelper(colorStops), + _step5; try { - for (var _iterator5 = colorStops[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { var colorStop = _step5.value; var stop = this.svgFactory.createElement("svg:stop"); stop.setAttributeNS(null, "offset", colorStop[0]); @@ -22941,18 +21552,9 @@ exports.SVGGraphics = SVGGraphics; gradient.appendChild(stop); } } catch (err) { - _didIteratorError5 = true; - _iteratorError5 = err; + _iterator5.e(err); } finally { - try { - if (!_iteratorNormalCompletion5 && _iterator5["return"] != null) { - _iterator5["return"](); - } - } finally { - if (_didIteratorError5) { - throw _iteratorError5; - } - } + _iterator5.f(); } this.defs.appendChild(gradient); @@ -22983,12 +21585,12 @@ exports.SVGGraphics = SVGGraphics; y = current.y; var d = []; var j = 0; - var _iteratorNormalCompletion6 = true; - var _didIteratorError6 = false; - var _iteratorError6 = undefined; + + var _iterator6 = _createForOfIteratorHelper(ops), + _step6; try { - for (var _iterator6 = ops[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { var op = _step6.value; switch (op | 0) { @@ -23041,18 +21643,9 @@ exports.SVGGraphics = SVGGraphics; } } } catch (err) { - _didIteratorError6 = true; - _iteratorError6 = err; + _iterator6.e(err); } finally { - try { - if (!_iteratorNormalCompletion6 && _iterator6["return"] != null) { - _iterator6["return"](); - } - } finally { - if (_didIteratorError6) { - throw _iteratorError6; - } - } + _iterator6.f(); } d = d.join(" "); @@ -23103,9 +21696,21 @@ exports.SVGGraphics = SVGGraphics; if (current.activeClipUrl) { current.clipGroup = null; - this.extraStack.forEach(function (prev) { - prev.clipGroup = null; - }); + + var _iterator7 = _createForOfIteratorHelper(this.extraStack), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var prev = _step7.value; + prev.clipGroup = null; + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + clipPath.setAttributeNS(null, "clip-path", current.activeClipUrl); } @@ -23156,15 +21761,14 @@ exports.SVGGraphics = SVGGraphics; }, { key: "setGState", value: function setGState(states) { - var _iteratorNormalCompletion7 = true; - var _didIteratorError7 = false; - var _iteratorError7 = undefined; + var _iterator8 = _createForOfIteratorHelper(states), + _step8; try { - for (var _iterator7 = states[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { - var _step7$value = _slicedToArray(_step7.value, 2), - key = _step7$value[0], - value = _step7$value[1]; + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var _step8$value = _slicedToArray(_step8.value, 2), + key = _step8$value[0], + value = _step8$value[1]; switch (key) { case "LW": @@ -23213,18 +21817,9 @@ exports.SVGGraphics = SVGGraphics; } } } catch (err) { - _didIteratorError7 = true; - _iteratorError7 = err; + _iterator8.e(err); } finally { - try { - if (!_iteratorNormalCompletion7 && _iterator7["return"] != null) { - _iterator7["return"](); - } - } finally { - if (_didIteratorError7) { - throw _iteratorError7; - } - } + _iterator8.f(); } } }, { @@ -23326,24 +21921,10 @@ exports.SVGGraphics = SVGGraphics; this._ensureTransformGroup().appendChild(rect); } - }, { - key: "paintJpegXObject", - value: function paintJpegXObject(objId, w, h) { - var imgObj = this.objs.get(objId); - var imgEl = this.svgFactory.createElement("svg:image"); - imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgObj.src); - imgEl.setAttributeNS(null, "width", pf(w)); - imgEl.setAttributeNS(null, "height", pf(h)); - imgEl.setAttributeNS(null, "x", "0"); - imgEl.setAttributeNS(null, "y", pf(-h)); - imgEl.setAttributeNS(null, "transform", "scale(".concat(pf(1 / w), " ").concat(pf(-1 / h), ")")); - - this._ensureTransformGroup().appendChild(imgEl); - } }, { key: "paintImageXObject", value: function paintImageXObject(objId) { - var imgData = this.objs.get(objId); + var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId); if (!imgData) { (0, _util.warn)("Dependent image with object ID ".concat(objId, " is not ready yet")); @@ -23473,46 +22054,58 @@ exports.SVGGraphics = SVGGraphics; } /***/ }), -/* 208 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 164 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ value: true -}); +})); exports.PDFNodeStream = void 0; -var _regenerator = _interopRequireDefault(__w_pdfjs_require__(191)); +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); var _util = __w_pdfjs_require__(1); -var _network_utils = __w_pdfjs_require__(209); +var _network_utils = __w_pdfjs_require__(165); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +; var fs = require("fs"); @@ -23556,9 +22149,16 @@ var PDFNodeStream = /*#__PURE__*/function () { } _createClass(PDFNodeStream, [{ + key: "_progressiveDataLength", + get: function get() { + var _this$_fullRequestRea, _this$_fullRequestRea2; + + return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0; + } + }, { key: "getFullReader", value: function getFullReader() { - (0, _util.assert)(!this._fullRequestReader); + (0, _util.assert)(!this._fullRequestReader, "PDFNodeStream.getFullReader can only be called once."); this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this); return this._fullRequestReader; } @@ -23582,16 +22182,19 @@ var PDFNodeStream = /*#__PURE__*/function () { this._fullRequestReader.cancel(reason); } - var readers = this._rangeRequestReaders.slice(0); + var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)), + _step; - readers.forEach(function (reader) { - reader.cancel(reason); - }); - } - }, { - key: "_progressiveDataLength", - get: function get() { - return this._fullRequestReader ? this._fullRequestReader._loaded : 0; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var reader = _step.value; + reader.cancel(reason); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } } }]); @@ -23627,6 +22230,31 @@ var BaseFullReader = /*#__PURE__*/function () { } _createClass(BaseFullReader, [{ + key: "headersReady", + get: function get() { + return this._headersCapability.promise; + } + }, { + key: "filename", + get: function get() { + return this._filename; + } + }, { + key: "contentLength", + get: function get() { + return this._contentLength; + } + }, { + key: "isRangeSupported", + get: function get() { + return this._isRangeSupported; + } + }, { + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { key: "read", value: function () { var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { @@ -23743,31 +22371,6 @@ var BaseFullReader = /*#__PURE__*/function () { this._readableStream.destroy(this._storedError); } } - }, { - key: "headersReady", - get: function get() { - return this._headersCapability.promise; - } - }, { - key: "filename", - get: function get() { - return this._filename; - } - }, { - key: "contentLength", - get: function get() { - return this._contentLength; - } - }, { - key: "isRangeSupported", - get: function get() { - return this._isRangeSupported; - } - }, { - key: "isStreamingSupported", - get: function get() { - return this._isStreamingSupported; - } }]); return BaseFullReader; @@ -23789,6 +22392,11 @@ var BaseRangeReader = /*#__PURE__*/function () { } _createClass(BaseRangeReader, [{ + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { key: "read", value: function () { var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { @@ -23900,23 +22508,18 @@ var BaseRangeReader = /*#__PURE__*/function () { this._readableStream.destroy(this._storedError); } } - }, { - key: "isStreamingSupported", - get: function get() { - return this._isStreamingSupported; - } }]); return BaseRangeReader; }(); -function createRequestOptions(url, headers) { +function createRequestOptions(parsedUrl, headers) { return { - protocol: url.protocol, - auth: url.auth, - host: url.hostname, - port: url.port, - path: url.path, + protocol: parsedUrl.protocol, + auth: parsedUrl.auth, + host: parsedUrl.hostname, + port: parsedUrl.port, + path: parsedUrl.path, method: "GET", headers: headers }; @@ -23925,12 +22528,14 @@ function createRequestOptions(url, headers) { var PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) { _inherits(PDFNodeStreamFullReader, _BaseFullReader); + var _super = _createSuper(PDFNodeStreamFullReader); + function PDFNodeStreamFullReader(stream) { var _this3; _classCallCheck(this, PDFNodeStreamFullReader); - _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFullReader).call(this, stream)); + _this3 = _super.call(this, stream); var handleResponse = function handleResponse(response) { if (response.statusCode === 404) { @@ -23983,18 +22588,20 @@ var PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) { return _this3; } - return PDFNodeStreamFullReader; + return _createClass(PDFNodeStreamFullReader); }(BaseFullReader); var PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) { _inherits(PDFNodeStreamRangeReader, _BaseRangeReader); + var _super2 = _createSuper(PDFNodeStreamRangeReader); + function PDFNodeStreamRangeReader(stream, start, end) { var _this4; _classCallCheck(this, PDFNodeStreamRangeReader); - _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamRangeReader).call(this, stream)); + _this4 = _super2.call(this, stream); _this4._httpHeaders = {}; for (var property in stream.httpHeaders) { @@ -24007,7 +22614,7 @@ var PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) { _this4._httpHeaders[property] = value; } - _this4._httpHeaders["Range"] = "bytes=".concat(start, "-").concat(end - 1); + _this4._httpHeaders.Range = "bytes=".concat(start, "-").concat(end - 1); var handleResponse = function handleResponse(response) { if (response.statusCode === 404) { @@ -24036,18 +22643,20 @@ var PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) { return _this4; } - return PDFNodeStreamRangeReader; + return _createClass(PDFNodeStreamRangeReader); }(BaseRangeReader); var PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) { _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2); + var _super3 = _createSuper(PDFNodeStreamFsFullReader); + function PDFNodeStreamFsFullReader(stream) { var _this5; _classCallCheck(this, PDFNodeStreamFsFullReader); - _this5 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsFullReader).call(this, stream)); + _this5 = _super3.call(this, stream); var path = decodeURIComponent(_this5._url.path); if (fileUriRegex.test(_this5._url.href)) { @@ -24076,18 +22685,20 @@ var PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) { return _this5; } - return PDFNodeStreamFsFullReader; + return _createClass(PDFNodeStreamFsFullReader); }(BaseFullReader); var PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) { _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2); + var _super4 = _createSuper(PDFNodeStreamFsRangeReader); + function PDFNodeStreamFsRangeReader(stream, start, end) { var _this6; _classCallCheck(this, PDFNodeStreamFsRangeReader); - _this6 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsRangeReader).call(this, stream)); + _this6 = _super4.call(this, stream); var path = decodeURIComponent(_this6._url.path); if (fileUriRegex.test(_this6._url.href)) { @@ -24102,19 +22713,19 @@ var PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) { return _this6; } - return PDFNodeStreamFsRangeReader; + return _createClass(PDFNodeStreamFsRangeReader); }(BaseRangeReader); /***/ }), -/* 209 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 165 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +Object.defineProperty(exports, "__esModule", ({ value: true -}); +})); exports.createResponseStatusError = createResponseStatusError; exports.extractFilenameFromHeader = extractFilenameFromHeader; exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities; @@ -24122,7 +22733,9 @@ exports.validateResponseStatus = validateResponseStatus; var _util = __w_pdfjs_require__(1); -var _content_disposition = __w_pdfjs_require__(210); +var _content_disposition = __w_pdfjs_require__(166); + +var _display_utils = __w_pdfjs_require__(146); function validateRangeRequestCapabilities(_ref) { var getResponseHeader = _ref.getResponseHeader, @@ -24176,7 +22789,7 @@ function extractFilenameFromHeader(getResponseHeader) { } catch (ex) {} } - if (/\.pdf$/i.test(filename)) { + if ((0, _display_utils.isPdfFile)(filename)) { return filename; } } @@ -24189,7 +22802,7 @@ function createResponseStatusError(status, url) { return new _util.MissingPDFException('Missing PDF "' + url + '".'); } - return new _util.UnexpectedResponseException("Unexpected server response (" + status + ') while retrieving PDF "' + url + '".', status); + return new _util.UnexpectedResponseException("Unexpected server response (".concat(status, ") while retrieving PDF \"").concat(url, "\"."), status); } function validateResponseStatus(status) { @@ -24197,22 +22810,28 @@ function validateResponseStatus(status) { } /***/ }), -/* 210 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 166 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +Object.defineProperty(exports, "__esModule", ({ value: true -}); +})); exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader; -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } +var _util = __w_pdfjs_require__(1); -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } @@ -24262,19 +22881,10 @@ function getFilenameFromContentDispositionHeader(contentDisposition) { var decoder = new TextDecoder(encoding, { fatal: true }); - var bytes = Array.from(value, function (ch) { - return ch.charCodeAt(0) & 0xff; - }); - value = decoder.decode(new Uint8Array(bytes)); + var buffer = (0, _util.stringToBytes)(value); + value = decoder.decode(buffer); needsEncodingFixup = false; - } catch (e) { - if (/^utf-?8$/i.test(encoding)) { - try { - value = decodeURIComponent(escape(value)); - needsEncodingFixup = false; - } catch (err) {} - } - } + } catch (e) {} } return value; @@ -24292,12 +22902,12 @@ function getFilenameFromContentDispositionHeader(contentDisposition) { return value; } - function rfc2231getparam(contentDisposition) { + function rfc2231getparam(contentDispositionStr) { var matches = []; var match; var iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig"); - while ((match = iter.exec(contentDisposition)) !== null) { + while ((match = iter.exec(contentDispositionStr)) !== null) { var _match = match, _match2 = _slicedToArray(_match, 4), n = _match2[1], @@ -24383,10 +22993,10 @@ function getFilenameFromContentDispositionHeader(contentDisposition) { return value; } - return value.replace(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (_, charset, encoding, text) { + return value.replace(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (matches, charset, encoding, text) { if (encoding === "q" || encoding === "Q") { text = text.replace(/_/g, " "); - text = text.replace(/=([0-9a-fA-F]{2})/g, function (_, hex) { + text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) { return String.fromCharCode(parseInt(hex, 16)); }); return textdecode(charset, text); @@ -24404,34 +23014,40 @@ function getFilenameFromContentDispositionHeader(contentDisposition) { } /***/ }), -/* 211 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 167 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +Object.defineProperty(exports, "__esModule", ({ value: true -}); +})); exports.PDFNetworkStream = void 0; -var _regenerator = _interopRequireDefault(__w_pdfjs_require__(191)); +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); var _util = __w_pdfjs_require__(1); -var _network_utils = __w_pdfjs_require__(209); +var _network_utils = __w_pdfjs_require__(165); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } ; var OK_RESPONSE = 200; @@ -24449,13 +23065,14 @@ function getArrayBuffer(xhr) { } var NetworkManager = /*#__PURE__*/function () { - function NetworkManager(url, args) { + function NetworkManager(url) { + var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, NetworkManager); this.url = url; - args = args || {}; this.isHttp = /^https?:/i.test(url); - this.httpHeaders = this.isHttp && args.httpHeaders || {}; + this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null); this.withCredentials = args.withCredentials || false; this.getXhr = args.getXhr || function NetworkManager_getXhr() { @@ -24533,15 +23150,15 @@ var NetworkManager = /*#__PURE__*/function () { }, { key: "onProgress", value: function onProgress(xhrId, evt) { + var _pendingRequest$onPro; + var pendingRequest = this.pendingRequests[xhrId]; if (!pendingRequest) { return; } - if (pendingRequest.onProgress) { - pendingRequest.onProgress(evt); - } + (_pendingRequest$onPro = pendingRequest.onProgress) === null || _pendingRequest$onPro === void 0 ? void 0 : _pendingRequest$onPro.call(pendingRequest, evt); } }, { key: "onStateChange", @@ -24570,10 +23187,9 @@ var NetworkManager = /*#__PURE__*/function () { delete this.pendingRequests[xhrId]; if (xhr.status === 0 && this.isHttp) { - if (pendingRequest.onError) { - pendingRequest.onError(xhr.status); - } + var _pendingRequest$onErr; + (_pendingRequest$onErr = pendingRequest.onError) === null || _pendingRequest$onErr === void 0 ? void 0 : _pendingRequest$onErr.call(pendingRequest, xhr.status); return; } @@ -24581,10 +23197,9 @@ var NetworkManager = /*#__PURE__*/function () { var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE; if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) { - if (pendingRequest.onError) { - pendingRequest.onError(xhr.status); - } + var _pendingRequest$onErr2; + (_pendingRequest$onErr2 = pendingRequest.onError) === null || _pendingRequest$onErr2 === void 0 ? void 0 : _pendingRequest$onErr2.call(pendingRequest, xhr.status); return; } @@ -24602,18 +23217,11 @@ var NetworkManager = /*#__PURE__*/function () { begin: 0, chunk: chunk }); - } else if (pendingRequest.onError) { - pendingRequest.onError(xhr.status); - } - } - }, { - key: "hasPendingRequests", - value: function hasPendingRequests() { - for (var xhrId in this.pendingRequests) { - return true; - } + } else { + var _pendingRequest$onErr3; - return false; + (_pendingRequest$onErr3 = pendingRequest.onError) === null || _pendingRequest$onErr3 === void 0 ? void 0 : _pendingRequest$onErr3.call(pendingRequest, xhr.status); + } } }, { key: "getRequestXhr", @@ -24625,13 +23233,6 @@ var NetworkManager = /*#__PURE__*/function () { value: function isPendingRequest(xhrId) { return xhrId in this.pendingRequests; } - }, { - key: "abortAllRequests", - value: function abortAllRequests() { - for (var xhrId in this.pendingRequests) { - this.abortRequest(xhrId | 0); - } - } }, { key: "abortRequest", value: function abortRequest(xhrId) { @@ -24670,7 +23271,7 @@ var PDFNetworkStream = /*#__PURE__*/function () { }, { key: "getFullReader", value: function getFullReader() { - (0, _util.assert)(!this._fullRequestReader); + (0, _util.assert)(!this._fullRequestReader, "PDFNetworkStream.getFullReader can only be called once."); this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source); return this._fullRequestReader; } @@ -24687,15 +23288,23 @@ var PDFNetworkStream = /*#__PURE__*/function () { }, { key: "cancelAllRequests", value: function cancelAllRequests(reason) { - if (this._fullRequestReader) { - this._fullRequestReader.cancel(reason); + var _this$_fullRequestRea; + + (_this$_fullRequestRea = this._fullRequestReader) === null || _this$_fullRequestRea === void 0 ? void 0 : _this$_fullRequestRea.cancel(reason); + + var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var reader = _step.value; + reader.cancel(reason); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); } - - var readers = this._rangeRequestReaders.slice(0); - - readers.forEach(function (reader) { - reader.cancel(reason); - }); } }]); @@ -24771,17 +23380,17 @@ var PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () { } }, { key: "_onDone", - value: function _onDone(args) { - if (args) { + value: function _onDone(data) { + if (data) { if (this._requests.length > 0) { var requestCapability = this._requests.shift(); requestCapability.resolve({ - value: args.chunk, + value: data.chunk, done: false }); } else { - this._cachedChunks.push(args.chunk); + this._cachedChunks.push(data.chunk); } } @@ -24791,40 +23400,84 @@ var PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () { return; } - this._requests.forEach(function (requestCapability) { - requestCapability.resolve({ - value: undefined, - done: true - }); - }); + var _iterator2 = _createForOfIteratorHelper(this._requests), + _step2; - this._requests = []; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _requestCapability = _step2.value; + + _requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + this._requests.length = 0; } }, { key: "_onError", value: function _onError(status) { - var url = this._url; - var exception = (0, _network_utils.createResponseStatusError)(status, url); - this._storedError = exception; + this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url); - this._headersReceivedCapability.reject(exception); + this._headersReceivedCapability.reject(this._storedError); - this._requests.forEach(function (requestCapability) { - requestCapability.reject(exception); - }); + var _iterator3 = _createForOfIteratorHelper(this._requests), + _step3; - this._requests = []; - this._cachedChunks = []; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var requestCapability = _step3.value; + requestCapability.reject(this._storedError); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + this._requests.length = 0; + this._cachedChunks.length = 0; } }, { key: "_onProgress", - value: function _onProgress(data) { - if (this.onProgress) { - this.onProgress({ - loaded: data.loaded, - total: data.lengthComputable ? data.total : this._contentLength - }); - } + value: function _onProgress(evt) { + var _this$onProgress; + + (_this$onProgress = this.onProgress) === null || _this$onProgress === void 0 ? void 0 : _this$onProgress.call(this, { + loaded: evt.loaded, + total: evt.lengthComputable ? evt.total : this._contentLength + }); + } + }, { + key: "filename", + get: function get() { + return this._filename; + } + }, { + key: "isRangeSupported", + get: function get() { + return this._isRangeSupported; + } + }, { + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { + key: "contentLength", + get: function get() { + return this._contentLength; + } + }, { + key: "headersReady", + get: function get() { + return this._headersReceivedCapability.promise; } }, { key: "read", @@ -24893,14 +23546,24 @@ var PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () { this._headersReceivedCapability.reject(reason); - this._requests.forEach(function (requestCapability) { - requestCapability.resolve({ - value: undefined, - done: true - }); - }); + var _iterator4 = _createForOfIteratorHelper(this._requests), + _step4; - this._requests = []; + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var requestCapability = _step4.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + this._requests.length = 0; if (this._manager.isPendingRequest(this._fullRequestId)) { this._manager.abortRequest(this._fullRequestId); @@ -24908,31 +23571,6 @@ var PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () { this._fullRequestReader = null; } - }, { - key: "filename", - get: function get() { - return this._filename; - } - }, { - key: "isRangeSupported", - get: function get() { - return this._isRangeSupported; - } - }, { - key: "isStreamingSupported", - get: function get() { - return this._isStreamingSupported; - } - }, { - key: "contentLength", - get: function get() { - return this._contentLength; - } - }, { - key: "headersReady", - get: function get() { - return this._headersReceivedCapability.promise; - } }]); return PDFNetworkStreamFullRequestReader; @@ -24945,12 +23583,15 @@ var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () { this._manager = manager; var args = { onDone: this._onDone.bind(this), + onError: this._onError.bind(this), onProgress: this._onProgress.bind(this) }; + this._url = manager.url; this._requestId = manager.requestRange(begin, end, args); this._requests = []; this._queuedChunk = null; this._done = false; + this._storedError = undefined; this.onProgress = null; this.onClosed = null; } @@ -24958,9 +23599,9 @@ var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () { _createClass(PDFNetworkStreamRangeRequestReader, [{ key: "_close", value: function _close() { - if (this.onClosed) { - this.onClosed(this); - } + var _this$onClosed; + + (_this$onClosed = this.onClosed) === null || _this$onClosed === void 0 ? void 0 : _this$onClosed.call(this, this); } }, { key: "_onDone", @@ -24980,26 +23621,66 @@ var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () { this._done = true; - this._requests.forEach(function (requestCapability) { - requestCapability.resolve({ - value: undefined, - done: true - }); - }); + var _iterator5 = _createForOfIteratorHelper(this._requests), + _step5; - this._requests = []; + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var _requestCapability2 = _step5.value; + + _requestCapability2.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this._requests.length = 0; this._close(); } + }, { + key: "_onError", + value: function _onError(status) { + this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url); + + var _iterator6 = _createForOfIteratorHelper(this._requests), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var requestCapability = _step6.value; + requestCapability.reject(this._storedError); + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + this._requests.length = 0; + this._queuedChunk = null; + } }, { key: "_onProgress", value: function _onProgress(evt) { - if (!this.isStreamingSupported && this.onProgress) { - this.onProgress({ + if (!this.isStreamingSupported) { + var _this$onProgress2; + + (_this$onProgress2 = this.onProgress) === null || _this$onProgress2 === void 0 ? void 0 : _this$onProgress2.call(this, { loaded: evt.loaded }); } } + }, { + key: "isStreamingSupported", + get: function get() { + return false; + } }, { key: "read", value: function () { @@ -25009,8 +23690,16 @@ var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () { while (1) { switch (_context2.prev = _context2.next) { case 0: + if (!this._storedError) { + _context2.next = 2; + break; + } + + throw this._storedError; + + case 2: if (!(this._queuedChunk !== null)) { - _context2.next = 4; + _context2.next = 6; break; } @@ -25021,9 +23710,9 @@ var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () { done: false }); - case 4: + case 6: if (!this._done) { - _context2.next = 6; + _context2.next = 8; break; } @@ -25032,14 +23721,14 @@ var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () { done: true }); - case 6: + case 8: requestCapability = (0, _util.createPromiseCapability)(); this._requests.push(requestCapability); return _context2.abrupt("return", requestCapability.promise); - case 9: + case 11: case "end": return _context2.stop(); } @@ -25058,14 +23747,24 @@ var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () { value: function cancel(reason) { this._done = true; - this._requests.forEach(function (requestCapability) { - requestCapability.resolve({ - value: undefined, - done: true - }); - }); + var _iterator7 = _createForOfIteratorHelper(this._requests), + _step7; - this._requests = []; + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var requestCapability = _step7.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + this._requests.length = 0; if (this._manager.isPendingRequest(this._requestId)) { this._manager.abortRequest(this._requestId); @@ -25073,51 +23772,54 @@ var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () { this._close(); } - }, { - key: "isStreamingSupported", - get: function get() { - return false; - } }]); return PDFNetworkStreamRangeRequestReader; }(); /***/ }), -/* 212 */ -/***/ (function(module, exports, __w_pdfjs_require__) { +/* 168 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { "use strict"; -Object.defineProperty(exports, "__esModule", { +Object.defineProperty(exports, "__esModule", ({ value: true -}); +})); exports.PDFFetchStream = void 0; -var _regenerator = _interopRequireDefault(__w_pdfjs_require__(191)); +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); var _util = __w_pdfjs_require__(1); -var _network_utils = __w_pdfjs_require__(209); +var _network_utils = __w_pdfjs_require__(165); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +; function createFetchOptions(headers, withCredentials, abortController) { return { method: "GET", headers: headers, - signal: abortController && abortController.signal, + signal: abortController === null || abortController === void 0 ? void 0 : abortController.signal, mode: "cors", credentials: withCredentials ? "include" : "same-origin", redirect: "follow" @@ -25152,9 +23854,16 @@ var PDFFetchStream = /*#__PURE__*/function () { } _createClass(PDFFetchStream, [{ + key: "_progressiveDataLength", + get: function get() { + var _this$_fullRequestRea, _this$_fullRequestRea2; + + return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0; + } + }, { key: "getFullReader", value: function getFullReader() { - (0, _util.assert)(!this._fullRequestReader); + (0, _util.assert)(!this._fullRequestReader, "PDFFetchStream.getFullReader can only be called once."); this._fullRequestReader = new PDFFetchStreamReader(this); return this._fullRequestReader; } @@ -25178,16 +23887,19 @@ var PDFFetchStream = /*#__PURE__*/function () { this._fullRequestReader.cancel(reason); } - var readers = this._rangeRequestReaders.slice(0); + var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)), + _step; - readers.forEach(function (reader) { - reader.cancel(reason); - }); - } - }, { - key: "_progressiveDataLength", - get: function get() { - return this._fullRequestReader ? this._fullRequestReader._loaded : 0; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var reader = _step.value; + reader.cancel(reason); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } } }]); @@ -25259,10 +23971,35 @@ var PDFFetchStreamReader = /*#__PURE__*/function () { } _createClass(PDFFetchStreamReader, [{ + key: "headersReady", + get: function get() { + return this._headersCapability.promise; + } + }, { + key: "filename", + get: function get() { + return this._filename; + } + }, { + key: "contentLength", + get: function get() { + return this._contentLength; + } + }, { + key: "isRangeSupported", + get: function get() { + return this._isRangeSupported; + } + }, { + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { key: "read", value: function () { var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { - var _ref, value, done, buffer; + var _yield$this$_reader$r, value, done, buffer; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { @@ -25276,9 +24013,9 @@ var PDFFetchStreamReader = /*#__PURE__*/function () { return this._reader.read(); case 4: - _ref = _context.sent; - value = _ref.value; - done = _ref.done; + _yield$this$_reader$r = _context.sent; + value = _yield$this$_reader$r.value; + done = _yield$this$_reader$r.done; if (!done) { _context.next = 9; @@ -25331,31 +24068,6 @@ var PDFFetchStreamReader = /*#__PURE__*/function () { this._abortController.abort(); } } - }, { - key: "headersReady", - get: function get() { - return this._headersCapability.promise; - } - }, { - key: "filename", - get: function get() { - return this._filename; - } - }, { - key: "contentLength", - get: function get() { - return this._contentLength; - } - }, { - key: "isRangeSupported", - get: function get() { - return this._isRangeSupported; - } - }, { - key: "isStreamingSupported", - get: function get() { - return this._isStreamingSupported; - } }]); return PDFFetchStreamReader; @@ -25392,15 +24104,20 @@ var PDFFetchStreamRangeReader = /*#__PURE__*/function () { _this2._readCapability.resolve(); _this2._reader = response.body.getReader(); - }); + })["catch"](this._readCapability.reject); this.onProgress = null; } _createClass(PDFFetchStreamRangeReader, [{ + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { key: "read", value: function () { var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { - var _ref2, value, done, buffer; + var _yield$this$_reader$r2, value, done, buffer; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { @@ -25414,9 +24131,9 @@ var PDFFetchStreamRangeReader = /*#__PURE__*/function () { return this._reader.read(); case 4: - _ref2 = _context2.sent; - value = _ref2.value; - done = _ref2.done; + _yield$this$_reader$r2 = _context2.sent; + value = _yield$this$_reader$r2.value; + done = _yield$this$_reader$r2.done; if (!done) { _context2.next = 9; @@ -25468,17 +24185,309 @@ var PDFFetchStreamRangeReader = /*#__PURE__*/function () { this._abortController.abort(); } } - }, { - key: "isStreamingSupported", - get: function get() { - return this._isStreamingSupported; - } }]); return PDFFetchStreamRangeReader; }(); /***/ }) -/******/ ]); +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __w_pdfjs_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ id: moduleId, +/******/ loaded: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/node module decorator */ +/******/ (() => { +/******/ __w_pdfjs_require__.nmd = (module) => { +/******/ module.paths = []; +/******/ if (!module.children) module.children = []; +/******/ return module; +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +var exports = __webpack_exports__; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +Object.defineProperty(exports, "AnnotationLayer", ({ + enumerable: true, + get: function get() { + return _annotation_layer.AnnotationLayer; + } +})); +Object.defineProperty(exports, "AnnotationMode", ({ + enumerable: true, + get: function get() { + return _util.AnnotationMode; + } +})); +Object.defineProperty(exports, "CMapCompressionType", ({ + enumerable: true, + get: function get() { + return _util.CMapCompressionType; + } +})); +Object.defineProperty(exports, "GlobalWorkerOptions", ({ + enumerable: true, + get: function get() { + return _worker_options.GlobalWorkerOptions; + } +})); +Object.defineProperty(exports, "InvalidPDFException", ({ + enumerable: true, + get: function get() { + return _util.InvalidPDFException; + } +})); +Object.defineProperty(exports, "LoopbackPort", ({ + enumerable: true, + get: function get() { + return _api.LoopbackPort; + } +})); +Object.defineProperty(exports, "MissingPDFException", ({ + enumerable: true, + get: function get() { + return _util.MissingPDFException; + } +})); +Object.defineProperty(exports, "OPS", ({ + enumerable: true, + get: function get() { + return _util.OPS; + } +})); +Object.defineProperty(exports, "PDFDataRangeTransport", ({ + enumerable: true, + get: function get() { + return _api.PDFDataRangeTransport; + } +})); +Object.defineProperty(exports, "PDFDateString", ({ + enumerable: true, + get: function get() { + return _display_utils.PDFDateString; + } +})); +Object.defineProperty(exports, "PDFWorker", ({ + enumerable: true, + get: function get() { + return _api.PDFWorker; + } +})); +Object.defineProperty(exports, "PasswordResponses", ({ + enumerable: true, + get: function get() { + return _util.PasswordResponses; + } +})); +Object.defineProperty(exports, "PermissionFlag", ({ + enumerable: true, + get: function get() { + return _util.PermissionFlag; + } +})); +Object.defineProperty(exports, "PixelsPerInch", ({ + enumerable: true, + get: function get() { + return _display_utils.PixelsPerInch; + } +})); +Object.defineProperty(exports, "RenderingCancelledException", ({ + enumerable: true, + get: function get() { + return _display_utils.RenderingCancelledException; + } +})); +Object.defineProperty(exports, "SVGGraphics", ({ + enumerable: true, + get: function get() { + return _svg.SVGGraphics; + } +})); +Object.defineProperty(exports, "UNSUPPORTED_FEATURES", ({ + enumerable: true, + get: function get() { + return _util.UNSUPPORTED_FEATURES; + } +})); +Object.defineProperty(exports, "UnexpectedResponseException", ({ + enumerable: true, + get: function get() { + return _util.UnexpectedResponseException; + } +})); +Object.defineProperty(exports, "Util", ({ + enumerable: true, + get: function get() { + return _util.Util; + } +})); +Object.defineProperty(exports, "VerbosityLevel", ({ + enumerable: true, + get: function get() { + return _util.VerbosityLevel; + } +})); +Object.defineProperty(exports, "XfaLayer", ({ + enumerable: true, + get: function get() { + return _xfa_layer.XfaLayer; + } +})); +Object.defineProperty(exports, "build", ({ + enumerable: true, + get: function get() { + return _api.build; + } +})); +Object.defineProperty(exports, "createPromiseCapability", ({ + enumerable: true, + get: function get() { + return _util.createPromiseCapability; + } +})); +Object.defineProperty(exports, "createValidAbsoluteUrl", ({ + enumerable: true, + get: function get() { + return _util.createValidAbsoluteUrl; + } +})); +Object.defineProperty(exports, "getDocument", ({ + enumerable: true, + get: function get() { + return _api.getDocument; + } +})); +Object.defineProperty(exports, "getFilenameFromUrl", ({ + enumerable: true, + get: function get() { + return _display_utils.getFilenameFromUrl; + } +})); +Object.defineProperty(exports, "getPdfFilenameFromUrl", ({ + enumerable: true, + get: function get() { + return _display_utils.getPdfFilenameFromUrl; + } +})); +Object.defineProperty(exports, "getXfaPageViewport", ({ + enumerable: true, + get: function get() { + return _display_utils.getXfaPageViewport; + } +})); +Object.defineProperty(exports, "isPdfFile", ({ + enumerable: true, + get: function get() { + return _display_utils.isPdfFile; + } +})); +Object.defineProperty(exports, "loadScript", ({ + enumerable: true, + get: function get() { + return _display_utils.loadScript; + } +})); +Object.defineProperty(exports, "renderTextLayer", ({ + enumerable: true, + get: function get() { + return _text_layer.renderTextLayer; + } +})); +Object.defineProperty(exports, "shadow", ({ + enumerable: true, + get: function get() { + return _util.shadow; + } +})); +Object.defineProperty(exports, "version", ({ + enumerable: true, + get: function get() { + return _api.version; + } +})); + +var _util = __w_pdfjs_require__(1); + +var _api = __w_pdfjs_require__(143); + +var _display_utils = __w_pdfjs_require__(146); + +var _annotation_layer = __w_pdfjs_require__(159); + +var _worker_options = __w_pdfjs_require__(153); + +var _is_node = __w_pdfjs_require__(3); + +var _text_layer = __w_pdfjs_require__(162); + +var _svg = __w_pdfjs_require__(163); + +var _xfa_layer = __w_pdfjs_require__(161); + +var pdfjsVersion = '2.14.44'; +var pdfjsBuild = '90c5e9882'; +{ + if (_is_node.isNodeJS) { + var _require = __w_pdfjs_require__(164), + PDFNodeStream = _require.PDFNodeStream; + + (0, _api.setPDFNetworkStreamFactory)(function (params) { + return new PDFNodeStream(params); + }); + } else { + var _require2 = __w_pdfjs_require__(167), + PDFNetworkStream = _require2.PDFNetworkStream; + + var _require3 = __w_pdfjs_require__(168), + PDFFetchStream = _require3.PDFFetchStream; + + (0, _api.setPDFNetworkStreamFactory)(function (params) { + if ((0, _display_utils.isValidFetchUrl)(params.url)) { + return new PDFFetchStream(params); + } + + return new PDFNetworkStream(params); + }); + } +} +})(); + +/******/ return __webpack_exports__; +/******/ })() +; }); //# sourceMappingURL=pdf.js.map \ No newline at end of file diff --git a/app/assets/javascripts/archive/pdf/pdf.js.map b/app/assets/javascripts/archive/pdf/pdf.js.map index 4f3330a..67daa57 100644 --- a/app/assets/javascripts/archive/pdf/pdf.js.map +++ b/app/assets/javascripts/archive/pdf/pdf.js.map @@ -1,9 +1 @@ -{ - "version": 3, - "sources": [ "webpack://pdfjs-dist/build/pdf/webpack/universalModuleDefinition", "webpack://pdfjs-dist/build/pdf/webpack/bootstrap", "webpack://pdfjs-dist/build/pdf/src/pdf.js", "webpack://pdfjs-dist/build/pdf/src/shared/util.js", "webpack://pdfjs-dist/build/pdf/src/shared/compatibility.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/global-this.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.global-this.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/export.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/global.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-descriptor.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/descriptors.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/fails.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-property-is-enumerable.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property-descriptor.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-indexed-object.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/indexed-object.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof-raw.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/require-object-coercible.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-primitive.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-object.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/has.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ie8-dom-define.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/document-create-element.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-non-enumerable-property.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-property.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-object.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/redefine.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-global.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inspect-source.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-store.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-state.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-weak-map.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-key.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-pure.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/uid.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/hidden-keys.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/copy-constructor-properties.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/own-keys.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-built-in.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/path.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys-internal.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-includes.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-length.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-integer.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-absolute-index.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/enum-bug-keys.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-symbols.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-forced.js", "webpack://pdfjs-dist/build/pdf/src/shared/is_node.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/starts-with.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.starts-with.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/not-a-regexp.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-regexp.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/well-known-symbol.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-symbol.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/use-symbol-as-uid.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/correct-is-regexp-logic.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/entry-unbind.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-bind-context.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-function.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/ends-with.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.ends-with.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/includes.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.includes.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/array/includes.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.includes.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/add-to-unscopables.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-create.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-properties.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/html.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-method-uses-to-length.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/array/from.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.iterator.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-multibyte.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-iterator.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-iterator-constructor.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators-core.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-prototype-of.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-object.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/correct-prototype-getter.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-to-string-tag.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-set-prototype-of.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-possible-prototype.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.from.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-from.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/call-with-safe-iteration-closing.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array-iterator-method.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator-method.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-string-tag-support.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/check-correctness-of-iteration.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/object/assign.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.assign.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-assign.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/math/log2.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.math.log2.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/number/is-nan.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.number.is-nan.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/number/is-integer.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.number.is-integer.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-integer.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/promise/index.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.to-string.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-to-string.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.dom-collections.iterator.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/dom-iterables.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.iterator.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-promise-constructor.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/redefine-all.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-species.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-instance.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterate.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/species-constructor.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/task.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-ios.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-user-agent.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/microtask.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/promise-resolve.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/new-promise-capability.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/host-report-errors.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/perform.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-v8-version.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.all-settled.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.finally.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/web/url.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-url.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-punycode-to-ascii.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url-search-params.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url.to-json.js", "webpack://pdfjs-dist/build/pdf/node_modules/web-streams-polyfill/dist/ponyfill.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/map/index.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.map.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-metadata.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/freezing.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inherit-if-required.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection-strong.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/set/index.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.set.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/weak-map/index.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.weak-map.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection-weak.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-iteration.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-species-create.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/weak-set/index.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.weak-set.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/code-point-at.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.code-point-at.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/from-code-point.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.from-code-point.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/symbol/index.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.concat.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-method-has-species-support.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names-external.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/well-known-symbol-wrapped.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-well-known-symbol.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.async-iterator.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.description.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.has-instance.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.iterator.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.match.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.match-all.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.replace.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.search.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.species.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.split.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.to-primitive.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.to-string-tag.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.unscopables.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.math.to-string-tag.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.json.to-string-tag.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/pad-start.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.pad-start.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-pad.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-repeat.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-pad-webkit-bug.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/pad-end.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.pad-end.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/object/values.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.values.js", "webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-to-array.js", "webpack://pdfjs-dist/build/pdf/src/display/api.js", "webpack://pdfjs-dist/build/pdf/node_modules/@babel/runtime/regenerator/index.js", "webpack://pdfjs-dist/build/pdf/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js", "webpack://pdfjs-dist/build/pdf/node_modules/webpack/buildin/module.js", "webpack://pdfjs-dist/build/pdf/src/display/display_utils.js", "webpack://pdfjs-dist/build/pdf/src/display/font_loader.js", "webpack://pdfjs-dist/build/pdf/src/display/api_compatibility.js", "webpack://pdfjs-dist/build/pdf/src/display/canvas.js", "webpack://pdfjs-dist/build/pdf/src/display/pattern_helper.js", "webpack://pdfjs-dist/build/pdf/src/display/worker_options.js", "webpack://pdfjs-dist/build/pdf/src/shared/message_handler.js", "webpack://pdfjs-dist/build/pdf/src/display/metadata.js", "webpack://pdfjs-dist/build/pdf/src/display/xml_parser.js", "webpack://pdfjs-dist/build/pdf/src/display/transport_stream.js", "webpack://pdfjs-dist/build/pdf/src/display/webgl.js", "webpack://pdfjs-dist/build/pdf/src/display/text_layer.js", "webpack://pdfjs-dist/build/pdf/src/display/annotation_layer.js", "webpack://pdfjs-dist/build/pdf/src/display/svg.js", "webpack://pdfjs-dist/build/pdf/src/display/node_stream.js", "webpack://pdfjs-dist/build/pdf/src/display/network_utils.js", "webpack://pdfjs-dist/build/pdf/src/display/content_disposition.js", "webpack://pdfjs-dist/build/pdf/src/display/network.js", "webpack://pdfjs-dist/build/pdf/src/display/fetch_stream.js" ], - "names": [ "pdfjsVersion", "pdfjsBuild", "pdfjsSharedUtil", "require", "pdfjsDisplayAPI", "pdfjsDisplayTextLayer", "pdfjsDisplayAnnotationLayer", "pdfjsDisplayDisplayUtils", "pdfjsDisplaySVG", "pdfjsDisplayWorkerOptions", "pdfjsDisplayAPICompatibility", "PDFNodeStream", "params", "PDFNetworkStream", "PDFFetchStream", "exports", "IDENTITY_MATRIX", "FONT_IDENTITY_MATRIX", "NativeImageDecoding", "NONE", "DECODE", "DISPLAY", "PermissionFlag", "PRINT", "MODIFY_CONTENTS", "COPY", "MODIFY_ANNOTATIONS", "FILL_INTERACTIVE_FORMS", "COPY_FOR_ACCESSIBILITY", "ASSEMBLE", "PRINT_HIGH_QUALITY", "TextRenderingMode", "FILL", "STROKE", "FILL_STROKE", "INVISIBLE", "FILL_ADD_TO_PATH", "STROKE_ADD_TO_PATH", "FILL_STROKE_ADD_TO_PATH", "ADD_TO_PATH", "FILL_STROKE_MASK", "ADD_TO_PATH_FLAG", "ImageKind", "GRAYSCALE_1BPP", "RGB_24BPP", "RGBA_32BPP", "AnnotationType", "TEXT", "LINK", "FREETEXT", "LINE", "SQUARE", "CIRCLE", "POLYGON", "POLYLINE", "HIGHLIGHT", "UNDERLINE", "SQUIGGLY", "STRIKEOUT", "STAMP", "CARET", "INK", "POPUP", "FILEATTACHMENT", "SOUND", "MOVIE", "WIDGET", "SCREEN", "PRINTERMARK", "TRAPNET", "WATERMARK", "THREED", "REDACT", "AnnotationStateModelType", "MARKED", "REVIEW", "AnnotationMarkedState", "UNMARKED", "AnnotationReviewState", "ACCEPTED", "REJECTED", "CANCELLED", "COMPLETED", "AnnotationReplyType", "GROUP", "REPLY", "AnnotationFlag", "HIDDEN", "NOZOOM", "NOROTATE", "NOVIEW", "READONLY", "LOCKED", "TOGGLENOVIEW", "LOCKEDCONTENTS", "AnnotationFieldFlag", "REQUIRED", "NOEXPORT", "MULTILINE", "PASSWORD", "NOTOGGLETOOFF", "RADIO", "PUSHBUTTON", "COMBO", "EDIT", "SORT", "FILESELECT", "MULTISELECT", "DONOTSPELLCHECK", "DONOTSCROLL", "COMB", "RICHTEXT", "RADIOSINUNISON", "COMMITONSELCHANGE", "AnnotationBorderStyleType", "SOLID", "DASHED", "BEVELED", "INSET", "StreamType", "UNKNOWN", "FLATE", "LZW", "DCT", "JPX", "JBIG", "A85", "AHX", "CCF", "RLX", "FontType", "TYPE1", "TYPE1C", "CIDFONTTYPE0", "CIDFONTTYPE0C", "TRUETYPE", "CIDFONTTYPE2", "TYPE3", "OPENTYPE", "TYPE0", "MMTYPE1", "VerbosityLevel", "ERRORS", "WARNINGS", "INFOS", "CMapCompressionType", "BINARY", "STREAM", "OPS", "dependency", "setLineWidth", "setLineCap", "setLineJoin", "setMiterLimit", "setDash", "setRenderingIntent", "setFlatness", "setGState", "save", "restore", "transform", "moveTo", "lineTo", "curveTo", "curveTo2", "curveTo3", "closePath", "rectangle", "stroke", "closeStroke", "fill", "eoFill", "fillStroke", "eoFillStroke", "closeFillStroke", "closeEOFillStroke", "endPath", "clip", "eoClip", "beginText", "endText", "setCharSpacing", "setWordSpacing", "setHScale", "setLeading", "setFont", "setTextRenderingMode", "setTextRise", "moveText", "setLeadingMoveText", "setTextMatrix", "nextLine", "showText", "showSpacedText", "nextLineShowText", "nextLineSetSpacingShowText", "setCharWidth", "setCharWidthAndBounds", "setStrokeColorSpace", "setFillColorSpace", "setStrokeColor", "setStrokeColorN", "setFillColor", "setFillColorN", "setStrokeGray", "setFillGray", "setStrokeRGBColor", "setFillRGBColor", "setStrokeCMYKColor", "setFillCMYKColor", "shadingFill", "beginInlineImage", "beginImageData", "endInlineImage", "paintXObject", "markPoint", "markPointProps", "beginMarkedContent", "beginMarkedContentProps", "endMarkedContent", "beginCompat", "endCompat", "paintFormXObjectBegin", "paintFormXObjectEnd", "beginGroup", "endGroup", "beginAnnotations", "endAnnotations", "beginAnnotation", "endAnnotation", "paintJpegXObject", "paintImageMaskXObject", "paintImageMaskXObjectGroup", "paintImageXObject", "paintInlineImageXObject", "paintInlineImageXObjectGroup", "paintImageXObjectRepeat", "paintImageMaskXObjectRepeat", "paintSolidColorImageMask", "constructPath", "UNSUPPORTED_FEATURES", "unknown", "forms", "javaScript", "smask", "shadingPattern", "font", "PasswordResponses", "NEED_PASSWORD", "INCORRECT_PASSWORD", "verbosity", "Number", "console", "unreachable", "base", "other", "url", "absoluteUrl", "baseUrl", "_isValidProtocol", "Object", "value", "enumerable", "configurable", "writable", "BaseException", "constructor", "NullCharactersRegExp", "warn", "str", "assert", "bytes", "length", "MAX_ARGUMENT_COUNT", "String", "strBuf", "i", "chunkEnd", "Math", "chunk", "arr", "resultLength", "arrayByteLength", "pos", "data", "item", "stringToBytes", "itemLength", "buffer8", "view32", "IsLittleEndianCached", "shadow", "isLittleEndian", "IsEvalSupportedCached", "isEvalSupported", "rgbBuf", "m1", "m2", "xt", "p", "m", "yt", "d", "p1", "Util", "p2", "r", "p3", "p4", "v", "transpose", "a", "b", "c", "first", "second", "sx", "sy", "rect", "orderedX", "rect1", "rect2", "orderedY", "result", "PDFStringTranslateTable", "code", "decodeURIComponent", "escape", "unescape", "encodeURIComponent", "arr1", "arr2", "element", "capability", "isSettled", "get", "resolve", "reject", "createObjectURL", "digits", "forceDataSchema", "URL", "blob", "type", "buffer", "ii", "b1", "b2", "b3", "d1", "d2", "d3", "d4", "globalThis", "hasDOM", "userAgent", "navigator", "isIE", "Buffer", "Element", "div", "document", "OriginalDOMTokenListAdd", "DOMTokenList", "OriginalDOMTokenListRemove", "token", "force", "arguments", "OriginalPushState", "window", "OriginalReplaceState", "args", "Array", "isReadableStreamSupported", "start", "controller", "module", "$", "global", "getOwnPropertyDescriptor", "f", "createNonEnumerableProperty", "redefine", "setGlobal", "copyConstructorProperties", "isForced", "options", "source", "TARGET", "target", "GLOBAL", "STATIC", "stat", "FORCED", "key", "targetProperty", "sourceProperty", "descriptor", "prototype", "noTargetGet", "forced", "undefined", "sham", "check", "it", "self", "Function", "DESCRIPTORS", "propertyIsEnumerableModule", "createPropertyDescriptor", "toIndexedObject", "toPrimitive", "has", "IE8_DOM_DEFINE", "nativeGetOwnPropertyDescriptor", "O", "P", "error", "call", "fails", "defineProperty", "exec", "nativePropertyIsEnumerable", "propertyIsEnumerable", "NASHORN_BUG", "V", "bitmap", "IndexedObject", "requireObjectCoercible", "classof", "split", "toString", "slice", "TypeError", "isObject", "input", "PREFERRED_STRING", "fn", "val", "valueOf", "hasOwnProperty", "createElement", "EXISTS", "definePropertyModule", "object", "anObject", "nativeDefineProperty", "Attributes", "inspectSource", "InternalStateModule", "getInternalState", "enforceInternalState", "enforce", "TEMPLATE", "unsafe", "simple", "join", "store", "functionToString", "SHARED", "NATIVE_WEAK_MAP", "objectHas", "sharedKey", "hiddenKeys", "WeakMap", "set", "getterFor", "TYPE", "state", "wmget", "wmhas", "wmset", "metadata", "STATE", "test", "shared", "uid", "keys", "IS_PURE", "push", "version", "mode", "copyright", "id", "postfix", "random", "ownKeys", "getOwnPropertyDescriptorModule", "getBuiltIn", "getOwnPropertyNamesModule", "getOwnPropertySymbolsModule", "getOwnPropertySymbols", "concat", "path", "aFunction", "variable", "namespace", "method", "internalObjectKeys", "enumBugKeys", "getOwnPropertyNames", "indexOf", "names", "toLength", "toAbsoluteIndex", "createMethod", "IS_INCLUDES", "$this", "el", "fromIndex", "index", "includes", "toInteger", "min", "argument", "ceil", "floor", "isNaN", "max", "integer", "replacement", "feature", "detection", "normalize", "POLYFILL", "NATIVE", "string", "replace", "toLowerCase", "isNodeJS", "process", "entryUnbind", "notARegExp", "correctIsRegExpLogic", "nativeStartsWith", "startsWith", "CORRECT_IS_REGEXP_LOGIC", "MDN_POLYFILL_BUG", "proto", "searchString", "that", "search", "isRegExp", "wellKnownSymbol", "MATCH", "NATIVE_SYMBOL", "USE_SYMBOL_AS_UID", "WellKnownSymbolsStore", "Symbol", "createWellKnownSymbol", "withoutSetter", "name", "iterator", "METHOD_NAME", "regexp", "e", "bind", "CONSTRUCTOR", "METHOD", "apply", "nativeEndsWith", "endsWith", "endPosition", "len", "end", "$includes", "addToUnscopables", "arrayMethodUsesToLength", "USES_TO_LENGTH", "ACCESSORS", "create", "UNSCOPABLES", "ArrayPrototype", "defineProperties", "html", "documentCreateElement", "GT", "LT", "PROTOTYPE", "SCRIPT", "IE_PROTO", "EmptyConstructor", "scriptTag", "content", "NullProtoObjectViaActiveX", "activeXDocument", "write", "close", "temp", "parentWindow", "NullProtoObjectViaIFrame", "iframe", "JS", "iframeDocument", "style", "display", "appendChild", "src", "contentWindow", "open", "F", "NullProtoObject", "domain", "ActiveXObject", "Properties", "objectKeys", "cache", "thrower", "argument0", "argument1", "from", "charAt", "defineIterator", "STRING_ITERATOR", "setInternalState", "iterated", "next", "point", "done", "CONVERT_TO_STRING", "S", "position", "size", "charCodeAt", "codeAt", "createIteratorConstructor", "getPrototypeOf", "setPrototypeOf", "setToStringTag", "Iterators", "IteratorsCore", "IteratorPrototype", "BUGGY_SAFARI_ITERATORS", "ITERATOR", "KEYS", "VALUES", "ENTRIES", "returnThis", "Iterable", "NAME", "IteratorConstructor", "DEFAULT", "IS_SET", "getIterationMethod", "KIND", "defaultIterator", "IterablePrototype", "values", "entries", "TO_STRING_TAG", "INCORRECT_VALUES_NAME", "nativeIterator", "anyNativeIterator", "CurrentIteratorPrototype", "methods", "KEY", "PrototypeOfArrayIteratorPrototype", "arrayIterator", "toObject", "CORRECT_PROTOTYPE_GETTER", "ObjectPrototype", "TAG", "aPossiblePrototype", "CORRECT_SETTER", "setter", "__proto__", "checkCorrectnessOfIteration", "INCORRECT_ITERATION", "iterable", "callWithSafeIterationClosing", "isArrayIteratorMethod", "createProperty", "getIteratorMethod", "arrayLike", "C", "argumentsLength", "mapfn", "mapping", "iteratorMethod", "step", "returnMethod", "propertyKey", "TO_STRING_TAG_SUPPORT", "classofRaw", "CORRECT_ARGUMENTS", "tryGet", "tag", "callee", "SAFE_CLOSING", "called", "iteratorWithReturn", "SKIP_CLOSING", "ITERATION_SUPPORT", "assign", "nativeAssign", "A", "B", "symbol", "alphabet", "forEach", "chr", "T", "j", "log2", "log", "LN2", "x", "number", "isInteger", "isFinite", "Promise", "DOMIterables", "ArrayIteratorMethods", "ArrayValues", "COLLECTION_NAME", "Collection", "CollectionPrototype", "CSSRuleList", "CSSStyleDeclaration", "CSSValueList", "ClientRectList", "DOMRectList", "DOMStringList", "DataTransferItemList", "FileList", "HTMLAllCollection", "HTMLCollection", "HTMLFormElement", "HTMLSelectElement", "MediaList", "MimeTypeArray", "NamedNodeMap", "NodeList", "PaintRequestList", "Plugin", "PluginArray", "SVGLengthList", "SVGNumberList", "SVGPathSegList", "SVGPointList", "SVGStringList", "SVGTransformList", "SourceBufferList", "StyleSheetList", "TextTrackCueList", "TextTrackList", "TouchList", "ARRAY_ITERATOR", "kind", "Arguments", "NativePromise", "redefineAll", "setSpecies", "anInstance", "iterate", "speciesConstructor", "task", "microtask", "promiseResolve", "hostReportErrors", "newPromiseCapabilityModule", "perform", "V8_VERSION", "SPECIES", "PROMISE", "getInternalPromiseState", "PromiseConstructor", "$fetch", "newPromiseCapability", "newGenericPromiseCapability", "IS_NODE", "DISPATCH_EVENT", "createEvent", "dispatchEvent", "UNHANDLED_REJECTION", "REJECTION_HANDLED", "PENDING", "FULFILLED", "HANDLED", "UNHANDLED", "Internal", "OwnPromiseCapability", "PromiseWrapper", "nativeThen", "GLOBAL_CORE_JS_PROMISE", "PromiseRejectionEvent", "promise", "FakePromise", "then", "all", "isThenable", "notify", "isReject", "notified", "chain", "reactions", "ok", "reaction", "handler", "fail", "exited", "rejection", "onHandleUnhandled", "enter", "exit", "onUnhandled", "reason", "event", "initEvent", "IS_UNHANDLED", "isUnhandled", "emit", "parent", "unwrap", "internalReject", "internalResolve", "wrapper", "executor", "onFulfilled", "onRejected", "fetch", "wrap", "$promiseResolve", "counter", "remaining", "alreadyCalled", "race", "CONSTRUCTOR_NAME", "Constructor", "Result", "stopped", "AS_ENTRIES", "IS_ITERATOR", "boundFunction", "iterFn", "stop", "defaultConstructor", "IS_IOS", "location", "setImmediate", "clear", "clearImmediate", "MessageChannel", "Dispatch", "queue", "ONREADYSTATECHANGE", "defer", "channel", "port", "run", "runner", "listener", "post", "postMessage", "protocol", "host", "nextTick", "now", "port2", "port1", "onmessage", "addEventListener", "importScripts", "removeChild", "setTimeout", "macrotask", "MutationObserver", "WebKitMutationObserver", "queueMicrotaskDescriptor", "queueMicrotask", "flush", "head", "last", "toggle", "node", "createTextNode", "observe", "characterData", "promiseCapability", "PromiseCapability", "$$resolve", "$$reject", "versions", "v8", "match", "allSettled", "status", "NON_GENERIC", "real", "onFinally", "isFunction", "USE_NATIVE_URL", "arrayFrom", "toASCII", "URLSearchParamsModule", "NativeURL", "URLSearchParams", "getInternalSearchParamsState", "getState", "getInternalURLState", "pow", "INVALID_AUTHORITY", "INVALID_SCHEME", "INVALID_HOST", "INVALID_PORT", "ALPHA", "ALPHANUMERIC", "DIGIT", "HEX_START", "OCT", "DEC", "HEX", "FORBIDDEN_HOST_CODE_POINT", "FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT", "LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE", "TAB_AND_NEW_LINE", "EOF", "parseHost", "codePoints", "parseIPv6", "isSpecial", "percentEncode", "C0ControlPercentEncodeSet", "parseIPv4", "parts", "partsLength", "numbers", "part", "radix", "ipv4", "pop", "parseInt", "address", "pieceIndex", "compress", "pointer", "numbersSeen", "ipv4Piece", "swaps", "swap", "char", "findLongestZeroSequence", "ipv6", "maxIndex", "maxLength", "currStart", "currLength", "serializeHost", "ignore0", "unshift", "fragmentPercentEncodeSet", "pathPercentEncodeSet", "userinfoPercentEncodeSet", "specialSchemes", "ftp", "file", "http", "https", "ws", "wss", "scheme", "includesCredentials", "username", "password", "cannotHaveUsernamePasswordPort", "cannotBeABaseURL", "isWindowsDriveLetter", "normalized", "startsWithWindowsDriveLetter", "third", "shortenURLsPath", "pathSize", "isSingleDot", "segment", "isDoubleDot", "SCHEME_START", "SCHEME", "NO_SCHEME", "SPECIAL_RELATIVE_OR_AUTHORITY", "PATH_OR_AUTHORITY", "RELATIVE", "RELATIVE_SLASH", "SPECIAL_AUTHORITY_SLASHES", "SPECIAL_AUTHORITY_IGNORE_SLASHES", "AUTHORITY", "HOST", "HOSTNAME", "PORT", "FILE", "FILE_SLASH", "FILE_HOST", "PATH_START", "PATH", "CANNOT_BE_A_BASE_URL_PATH", "QUERY", "FRAGMENT", "parseURL", "stateOverride", "seenAt", "seenBracket", "seenPasswordToken", "bufferCodePoints", "failure", "query", "fragment", "codePoint", "encodedCodePoints", "shift", "URLConstructor", "urlString", "baseState", "searchParams", "searchParamsState", "updateSearchParams", "updateURL", "href", "serializeURL", "origin", "getOrigin", "getProtocol", "getUsername", "getPassword", "getHost", "hostname", "getHostname", "getPort", "pathname", "getPathname", "getSearch", "getSearchParams", "hash", "getHash", "URLPrototype", "output", "accessorDescriptor", "getter", "toJSON", "nativeCreateObjectURL", "nativeRevokeObjectURL", "revokeObjectURL", "sort", "maxInt", "tMin", "tMax", "skew", "damp", "initialBias", "initialN", "delimiter", "regexNonASCII", "regexSeparators", "OVERFLOW_ERROR", "baseMinusTMin", "stringFromCharCode", "fromCharCode", "ucs2decode", "extra", "digitToBasic", "digit", "adapt", "delta", "numPoints", "firstTime", "k", "encode", "inputLength", "n", "bias", "currentValue", "basicLength", "handledCPCount", "handledCPCountPlusOne", "RangeError", "q", "t", "qMinusT", "baseMinusT", "encoded", "labels", "label", "hasOwn", "getIterator", "Headers", "URL_SEARCH_PARAMS", "URL_SEARCH_PARAMS_ITERATOR", "getInternalParamsState", "getInternalIteratorState", "plus", "sequences", "percentSequence", "RegExp", "percentDecode", "sequence", "deserialize", "find", "replacer", "serialize", "parseSearchParams", "attributes", "attribute", "entry", "validateArgumentsLength", "passed", "required", "URLSearchParamsIterator", "Iterator", "URLSearchParamsConstructor", "init", "entryIterator", "entryNext", "URLSearchParamsPrototype", "append", "splice", "getAll", "found", "entriesIndex", "sliceIndex", "callback", "body", "headers", "factory", "SymbolPolyfill", "description", "noop", "NumberIsNaN", "rethrowAssertionErrorRejection", "typeIsObject", "createArrayFromList", "elements", "ArrayBufferCopy", "dest", "destOffset", "srcOffset", "Uint8Array", "IsFiniteNonNegativeNumber", "IsNonNegativeNumber", "Infinity", "Call", "CreateAlgorithmFromUnderlyingMethod", "underlyingObject", "methodName", "algoArgCount", "extraArgs", "PromiseCall", "arg", "fullArgs", "promiseResolvedWith", "InvokeOrNoop", "promiseRejectedWith", "TransferArrayBuffer", "IsDetachedBuffer", "ValidateAndNormalizeHighWaterMark", "highWaterMark", "MakeSizeAlgorithmFromSizeFunction", "originalPromise", "originalPromiseThen", "originalPromiseResolve", "originalPromiseReject", "newPromise", "PerformPromiseThen", "uponPromise", "uponFulfillment", "uponRejection", "transformPromiseWith", "fulfillmentHandler", "rejectionHandler", "setPromiseIsHandledToTrue", "QUEUE_MAX_ARRAY_SIZE", "SimpleQueue", "_cursor", "_size", "_front", "_elements", "_next", "_back", "oldBack", "newBack", "oldFront", "newFront", "oldCursor", "newCursor", "peek", "front", "cursor", "ReadableStreamCreateReadResult", "forAuthorCode", "obj", "ReadableStreamReaderGenericInitialize", "reader", "stream", "_forAuthorCode", "_ownerReadableStream", "_reader", "_state", "defaultReaderClosedPromiseInitialize", "defaultReaderClosedPromiseInitializeAsResolved", "defaultReaderClosedPromiseInitializeAsRejected", "_storedError", "ReadableStreamReaderGenericCancel", "ReadableStreamCancel", "ReadableStreamReaderGenericRelease", "defaultReaderClosedPromiseReject", "defaultReaderClosedPromiseResetToRejected", "readerLockException", "_closedPromise", "_closedPromise_resolve", "_closedPromise_reject", "defaultReaderClosedPromiseResolve", "CancelSteps", "PullSteps", "AcquireReadableStreamDefaultReader", "ReadableStreamDefaultReader", "ReadableStreamAddReadRequest", "readRequest", "_resolve", "_reject", "_readRequests", "ReadableStreamFulfillReadRequest", "ReadableStreamGetNumReadRequests", "ReadableStreamHasDefaultReader", "IsReadableStreamDefaultReader", "IsReadableStream", "IsReadableStreamLocked", "defaultReaderBrandCheckException", "cancel", "read", "ReadableStreamDefaultReaderRead", "releaseLock", "_disturbed", "_readableStreamController", "_a", "AsyncIteratorPrototype", "asyncIterator", "ReadableStreamAsyncIteratorPrototype", "IsReadableStreamAsyncIterator", "streamAsyncIteratorBrandCheckException", "_asyncIteratorReader", "return", "_preventCancel", "AcquireReadableStreamAsyncIterator", "preventCancel", "Boolean", "DequeueValue", "container", "pair", "_queue", "_queueTotalSize", "EnqueueValueWithSize", "PeekQueueValue", "ResetQueue", "AbortSteps", "ErrorSteps", "WritableStream", "underlyingSink", "strategy", "InitializeWritableStream", "sizeAlgorithm", "SetUpWritableStreamDefaultControllerFromUnderlyingSink", "IsWritableStream", "streamBrandCheckException", "IsWritableStreamLocked", "abort", "WritableStreamAbort", "WritableStreamCloseQueuedOrInFlight", "WritableStreamClose", "getWriter", "AcquireWritableStreamDefaultWriter", "WritableStreamDefaultWriter", "CreateWritableStream", "startAlgorithm", "writeAlgorithm", "closeAlgorithm", "abortAlgorithm", "WritableStreamDefaultController", "SetUpWritableStreamDefaultController", "_writer", "_writableStreamController", "_writeRequests", "_inFlightWriteRequest", "_closeRequest", "_inFlightCloseRequest", "_pendingAbortRequest", "_backpressure", "_promise", "wasAlreadyErroring", "_reason", "_wasAlreadyErroring", "WritableStreamStartErroring", "closeRequest", "writer", "defaultWriterReadyPromiseResolve", "WritableStreamDefaultControllerClose", "WritableStreamAddWriteRequest", "writeRequest", "WritableStreamDealWithRejection", "WritableStreamFinishErroring", "WritableStreamDefaultWriterEnsureReadyPromiseRejected", "WritableStreamHasOperationMarkedInFlight", "_started", "storedError", "WritableStreamRejectCloseAndClosedPromiseIfNeeded", "abortRequest", "WritableStreamFinishInFlightWrite", "WritableStreamFinishInFlightWriteWithError", "WritableStreamFinishInFlightClose", "defaultWriterClosedPromiseResolve", "WritableStreamFinishInFlightCloseWithError", "WritableStreamMarkCloseRequestInFlight", "WritableStreamMarkFirstWriteRequestInFlight", "defaultWriterClosedPromiseReject", "WritableStreamUpdateBackpressure", "backpressure", "defaultWriterReadyPromiseReset", "_ownerWritableStream", "defaultWriterReadyPromiseInitialize", "defaultWriterReadyPromiseInitializeAsResolved", "defaultWriterClosedPromiseInitialize", "defaultWriterReadyPromiseInitializeAsRejected", "defaultWriterClosedPromiseInitializeAsResolved", "defaultWriterClosedPromiseInitializeAsRejected", "IsWritableStreamDefaultWriter", "defaultWriterBrandCheckException", "defaultWriterLockException", "WritableStreamDefaultWriterGetDesiredSize", "_readyPromise", "WritableStreamDefaultWriterAbort", "WritableStreamDefaultWriterClose", "WritableStreamDefaultWriterRelease", "WritableStreamDefaultWriterWrite", "WritableStreamDefaultWriterCloseWithErrorPropagation", "WritableStreamDefaultWriterEnsureClosedPromiseRejected", "_closedPromiseState", "defaultWriterClosedPromiseResetToRejected", "_readyPromiseState", "defaultWriterReadyPromiseReject", "defaultWriterReadyPromiseResetToRejected", "WritableStreamDefaultControllerGetDesiredSize", "releasedError", "chunkSize", "WritableStreamDefaultControllerGetChunkSize", "WritableStreamDefaultControllerWrite", "IsWritableStreamDefaultController", "_controlledWritableStream", "WritableStreamDefaultControllerError", "_abortAlgorithm", "WritableStreamDefaultControllerClearAlgorithms", "_strategySizeAlgorithm", "_strategyHWM", "_writeAlgorithm", "_closeAlgorithm", "WritableStreamDefaultControllerGetBackpressure", "startResult", "startPromise", "WritableStreamDefaultControllerAdvanceQueueIfNeeded", "chunkSizeE", "WritableStreamDefaultControllerErrorIfNeeded", "writeRecord", "enqueueE", "WritableStreamDefaultControllerProcessClose", "WritableStreamDefaultControllerProcessWrite", "sinkClosePromise", "sinkWritePromise", "desiredSize", "_readyPromise_resolve", "_readyPromise_reject", "isAbortSignal", "aborted", "NativeDOMException", "DOMException", "isDOMExceptionConstructor", "ctor", "createDOMExceptionPolyfill", "message", "Error", "captureStackTrace", "DOMException$1", "ReadableStreamPipeTo", "preventClose", "preventAbort", "signal", "shuttingDown", "currentWrite", "actions", "shutdownWithAction", "map", "action", "pipeLoop", "resolveLoop", "rejectLoop", "pipeStep", "isOrBecomesErrored", "shutdown", "isOrBecomesClosed", "destClosed_1", "waitForWritesToFinish", "oldCurrentWrite", "originalIsError", "originalError", "doTheRest", "finalize", "newError", "isError", "removeEventListener", "ReadableStreamDefaultController", "IsReadableStreamDefaultController", "defaultControllerBrandCheckException", "ReadableStreamDefaultControllerGetDesiredSize", "ReadableStreamDefaultControllerCanCloseOrEnqueue", "ReadableStreamDefaultControllerClose", "enqueue", "ReadableStreamDefaultControllerEnqueue", "ReadableStreamDefaultControllerError", "_cancelAlgorithm", "ReadableStreamDefaultControllerClearAlgorithms", "_controlledReadableStream", "_closeRequested", "ReadableStreamClose", "ReadableStreamDefaultControllerCallPullIfNeeded", "pendingPromise", "shouldPull", "ReadableStreamDefaultControllerShouldCallPull", "_pulling", "_pullAgain", "pullPromise", "_pullAlgorithm", "ReadableStreamError", "ReadableStreamDefaultControllerHasBackpressure", "SetUpReadableStreamDefaultController", "pullAlgorithm", "cancelAlgorithm", "SetUpReadableStreamDefaultControllerFromUnderlyingSource", "underlyingSource", "ReadableStreamTee", "cloneForBranch2", "reading", "canceled1", "canceled2", "reason1", "reason2", "branch1", "branch2", "resolveCancelPromise", "cancelPromise", "readPromise", "value1", "value2", "cancel1Algorithm", "compositeReason", "cancelResult", "cancel2Algorithm", "CreateReadableStream", "NumberIsInteger", "ReadableStreamBYOBRequest", "IsReadableStreamBYOBRequest", "byobRequestBrandCheckException", "_view", "respond", "bytesWritten", "_associatedReadableByteStreamController", "ReadableByteStreamControllerRespond", "respondWithNewView", "view", "ArrayBuffer", "isView", "ReadableByteStreamControllerRespondWithNewView", "ReadableByteStreamController", "IsReadableByteStreamController", "byteStreamControllerBrandCheckException", "_byobRequest", "_pendingPullIntos", "firstDescriptor", "byteOffset", "bytesFilled", "byteLength", "byobRequest", "SetUpReadableStreamBYOBRequest", "ReadableByteStreamControllerGetDesiredSize", "_controlledReadableByteStream", "ReadableByteStreamControllerClose", "ReadableByteStreamControllerEnqueue", "ReadableByteStreamControllerError", "ReadableByteStreamControllerClearAlgorithms", "ReadableByteStreamControllerHandleQueueDrain", "viewE", "autoAllocateChunkSize", "_autoAllocateChunkSize", "bufferE", "pullIntoDescriptor", "elementSize", "readerType", "ReadableByteStreamControllerCallPullIfNeeded", "ReadableByteStreamControllerShouldCallPull", "ReadableByteStreamControllerClearPendingPullIntos", "ReadableByteStreamControllerInvalidateBYOBRequest", "ReadableByteStreamControllerCommitPullIntoDescriptor", "filledView", "ReadableByteStreamControllerConvertPullIntoDescriptor", "ReadableStreamFulfillReadIntoRequest", "ReadableByteStreamControllerEnqueueChunkToQueue", "ReadableByteStreamControllerFillPullIntoDescriptorFromQueue", "currentAlignedBytes", "maxBytesToCopy", "maxBytesFilled", "maxAlignedBytes", "totalBytesToCopyRemaining", "ready", "headOfQueue", "bytesToCopy", "destStart", "ReadableByteStreamControllerFillHeadPullIntoDescriptor", "ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue", "ReadableByteStreamControllerShiftPendingPullInto", "ReadableByteStreamControllerPullInto", "DataView", "BYTES_PER_ELEMENT", "ReadableStreamAddReadIntoRequest", "emptyView", "ReadableByteStreamControllerRespondInClosedState", "ReadableStreamHasBYOBReader", "ReadableStreamGetNumReadIntoRequests", "ReadableByteStreamControllerRespondInReadableState", "remainderSize", "remainder", "ReadableByteStreamControllerRespondInternal", "firstPendingPullInto", "transferredBuffer", "transferredView", "SetUpReadableByteStreamController", "SetUpReadableByteStreamControllerFromUnderlyingSource", "underlyingByteSource", "request", "AcquireReadableStreamBYOBReader", "ReadableStreamBYOBReader", "readIntoRequest", "_readIntoRequests", "IsReadableStreamBYOBReader", "byobReaderBrandCheckException", "ReadableStreamBYOBReaderRead", "ReadableStream", "InitializeReadableStream", "typeString", "streamBrandCheckException$1", "getReader", "pipeThrough", "_b", "readable", "_c", "pipeTo", "tee", "branches", "sourceCancelPromise", "ByteLengthQueuingStrategy", "CountQueuingStrategy", "TransformStream", "transformer", "writableStrategy", "readableStrategy", "writableSizeFunction", "writableHighWaterMark", "readableSizeFunction", "readableHighWaterMark", "writableType", "writableSizeAlgorithm", "readableType", "readableSizeAlgorithm", "startPromise_resolve", "InitializeTransformStream", "SetUpTransformStreamDefaultControllerFromTransformer", "_transformStreamController", "IsTransformStream", "streamBrandCheckException$2", "_readable", "_writable", "TransformStreamDefaultSinkWriteAlgorithm", "TransformStreamDefaultSinkAbortAlgorithm", "TransformStreamDefaultSinkCloseAlgorithm", "TransformStreamDefaultSourcePullAlgorithm", "TransformStreamErrorWritableAndUnblockWrite", "_backpressureChangePromise", "_backpressureChangePromise_resolve", "TransformStreamSetBackpressure", "TransformStreamError", "TransformStreamDefaultControllerClearAlgorithms", "TransformStreamDefaultController", "IsTransformStreamDefaultController", "defaultControllerBrandCheckException$1", "readableController", "_controlledTransformStream", "TransformStreamDefaultControllerEnqueue", "TransformStreamDefaultControllerError", "terminate", "TransformStreamDefaultControllerTerminate", "SetUpTransformStreamDefaultController", "transformAlgorithm", "flushAlgorithm", "_transformAlgorithm", "_flushAlgorithm", "transformResultE", "transformMethod", "TransformStreamDefaultControllerPerformTransform", "transformPromise", "backpressureChangePromise", "flushPromise", "Map", "collection", "collectionStrong", "InternalMetadataModule", "inheritIfRequired", "common", "IS_MAP", "IS_WEAK", "ADDER", "NativeConstructor", "NativePrototype", "exported", "fixMethod", "nativeMethod", "add", "getConstructor", "instance", "HASNT_CHAINING", "THROWS_ON_PRIMITIVES", "ACCEPT_ITERABLES", "BUGGY_ZERO", "$instance", "dummy", "setStrong", "FREEZING", "METADATA", "isExtensible", "setMetadata", "objectID", "weakData", "fastKey", "getWeakData", "onFreeze", "meta", "preventExtensions", "Wrapper", "NewTarget", "NewTargetPrototype", "internalStateGetterFor", "define", "getEntry", "previous", "removed", "prev", "callbackfn", "ITERATOR_NAME", "getInternalCollectionState", "Set", "collectionWeak", "enforceIternalState", "IS_IE11", "InternalWeakMap", "$WeakMap", "WeakMapPrototype", "nativeDelete", "nativeHas", "nativeGet", "nativeSet", "frozen", "ArrayIterationModule", "$has", "findIndex", "uncaughtFrozenStore", "UncaughtFrozenStore", "findUncaughtFrozen", "arraySpeciesCreate", "IS_FILTER", "IS_SOME", "IS_EVERY", "IS_FIND_INDEX", "NO_HOLES", "specificCreate", "filter", "some", "every", "isArray", "originalArray", "WeakSet", "codePointAt", "fromCodePoint", "nativeFromCodePoint", "INCORRECT_LENGTH", "arrayMethodHasSpeciesSupport", "IS_CONCAT_SPREADABLE", "MAX_SAFE_INTEGER", "MAXIMUM_ALLOWED_INDEX_EXCEEDED", "IS_CONCAT_SPREADABLE_SUPPORT", "array", "SPECIES_SUPPORT", "isConcatSpreadable", "spreadable", "E", "foo", "nativeObjectCreate", "getOwnPropertyNamesExternal", "wrappedWellKnownSymbolModule", "defineWellKnownSymbol", "$forEach", "SYMBOL", "TO_PRIMITIVE", "$Symbol", "$stringify", "nativeGetOwnPropertyNames", "AllSymbols", "ObjectPrototypeSymbols", "StringToSymbolRegistry", "SymbolToStringRegistry", "QObject", "USE_SETTER", "findChild", "setSymbolDescriptor", "ObjectPrototypeDescriptor", "isSymbol", "$defineProperty", "$defineProperties", "properties", "$getOwnPropertySymbols", "$propertyIsEnumerable", "$create", "$getOwnPropertyDescriptor", "$getOwnPropertyNames", "IS_OBJECT_PROTOTYPE", "keyFor", "sym", "useSetter", "useSimple", "FORCED_JSON_STRINGIFY", "stringify", "space", "$replacer", "windowNames", "getWindowNames", "NativeSymbol", "EmptyStringDescriptionStore", "SymbolWrapper", "symbolPrototype", "symbolToString", "native", "desc", "JSON", "$padStart", "WEBKIT_BUG", "padStart", "repeat", "IS_END", "fillString", "stringLength", "fillStr", "intMaxLength", "fillLen", "stringFiller", "count", "$padEnd", "padEnd", "$values", "TO_ENTRIES", "DEFAULT_RANGE_CHUNK_SIZE", "RENDERING_CANCELLED_TIMEOUT", "createPDFNetworkStream", "isArrayBuffer", "range", "rangeTransport", "worker", "pdfBytes", "NativeImageDecoderValues", "apiCompatibilityParams", "setVerbosityLevel", "workerParams", "GlobalWorkerOptions", "PDFWorker", "docId", "networkStream", "initialData", "progressiveDone", "disableRange", "disableStream", "httpHeaders", "withCredentials", "rangeChunkSize", "messageHandler", "transport", "pdfDataRangeTransport", "apiVersion", "disableAutoFetch", "maxImageSize", "disableFontFace", "disableCreateObjectURL", "postMessageTransfers", "docBaseUrl", "nativeImageDecoderSupport", "ignoreErrors", "PDFDocumentLoadingTask", "nextDocumentId", "transportDestroyed", "addRangeListener", "addProgressListener", "addProgressiveReadListener", "addProgressiveDoneListener", "onDataRange", "onDataProgress", "onDataProgressiveRead", "requestDataRange", "getPage", "getPageIndex", "getDestination", "deprecated", "openAction", "pdfBug", "getViewport", "rotation", "offsetX", "offsetY", "dontFlip", "viewBox", "scale", "getAnnotations", "intent", "enableWebGL", "renderInteractiveForms", "imageLayer", "canvasFactory", "background", "render", "renderingIntent", "intentState", "clearTimeout", "canvasFactoryInstance", "webGLContext", "enable", "fnArray", "argsArray", "lastChunk", "pageIndex", "complete", "internalRenderTask", "canvasContext", "viewport", "objs", "commonObjs", "operatorList", "useRequestAnimationFrame", "renderTask", "transparency", "opListTask", "streamTextContent", "normalizeWhitespace", "disableCombineTextItems", "TEXT_CONTENT_CHUNK_SIZE", "combineTextItems", "textContent", "getTextContent", "readableStream", "pump", "items", "styles", "waitOn", "renderCompleted", "resetStats", "cleanup", "_tryCleanup", "_startRenderPage", "_renderPageChunk", "operatorListChunk", "_pumpOperatorList", "_abortOperatorList", "cloned", "transferable", "transfers", "cloneValue", "pdfWorkerPorts", "isWorkerDisabled", "nextFakeWorkerId", "fallbackWorkerSrc", "pdfjsFilePath", "mainWorkerMessageHandler", "fakeWorkerCapability", "loader", "getMainThreadWorkerMessageHandler", "eval", "getWorkerSrc", "loadScript", "_initializeFromPort", "workerSrc", "isSameOrigin", "createCDNWrapper", "terminateEarly", "onWorkerError", "sendTest", "testObj", "info", "setupFakeWorkerGlobal", "WorkerMessageHandler", "workerHandler", "loadingTask", "onUnsupportedFeature", "isCompressed", "page", "terminated", "evt", "loaded", "total", "sink", "headersCapability", "fullReader", "isStreamingSupported", "isRangeSupported", "contentLength", "rangeReader", "pdfInfo", "ex", "exception", "updatePassword", "exportedError", "exportedData", "fontRegistry", "registerFont", "pageProxy", "img", "releaseImageResources", "MAX_IMAGE_SIZE_TO_STORE", "imageData", "components", "width", "rgbaLength", "buf", "tmpCanvas", "tmpCtx", "height", "fetched", "builtInCMap", "_onUnsupportedFeature", "pageNumber", "pageInfo", "ref", "results", "contentDispositionFilename", "cleanupSuccessful", "_ensureObj", "resolved", "InternalRenderTask", "canvasInRendering", "initializeGraphics", "build", "runtime", "Op", "iteratorSymbol", "asyncIteratorSymbol", "toStringTagSymbol", "protoGenerator", "outerFn", "generator", "context", "tryLocsList", "makeInvokeMethod", "GenStateSuspendedStart", "GenStateSuspendedYield", "GenStateExecuting", "GenStateCompleted", "ContinueSentinel", "getProto", "NativeIteratorPrototype", "Gp", "GeneratorFunctionPrototype", "Generator", "GeneratorFunction", "genFun", "__await", "record", "tryCatch", "invoke", "previousPromise", "callInvokeWithMethodAndArg", "defineIteratorMethods", "AsyncIterator", "PromiseImpl", "iter", "doneResult", "delegate", "delegateResult", "maybeInvokeDelegate", "tryLoc", "locs", "Context", "reset", "rootEntry", "rootRecord", "dispatchException", "handle", "hasCatch", "hasFinally", "abrupt", "finallyEntry", "finish", "resetTryEntry", "thrown", "delegateYield", "resultName", "nextLoc", "regeneratorRuntime", "DEFAULT_LINK_REL", "SVG_NS", "canvas", "canvasAndContext", "destroy", "compressionType", "isFetchSupported", "isValidFetchUrl", "response", "cMapData", "XMLHttpRequest", "svg", "centerX", "centerY", "rotateA", "rotateB", "rotateC", "rotateD", "offsetCanvasX", "offsetCanvasY", "clone", "convertToViewportPoint", "convertToViewportRectangle", "topLeft", "bottomRight", "convertToPdfPoint", "LinkTarget", "SELF", "BLANK", "PARENT", "TOP", "enabled", "urlNullRemoved", "removeNullCharacters", "link", "targetStr", "anchor", "time", "Date", "timeEnd", "outBuf", "longest", "duration", "Response", "script", "isString", "pdfDateStringRegex", "matches", "year", "month", "day", "hour", "minute", "universalTimeRelation", "offsetHour", "offsetMinute", "addNativeFontFace", "insertRule", "styleElement", "styleSheet", "nativeFontFace", "featureId", "rule", "_queueLoadingCallback", "_prepareFontLoadEvent", "supported", "FontLoader", "requests", "nextRequestId", "otherRequest", "offset", "chunk1", "s", "chunk2", "ctx", "isFontReady", "loadTestFontId", "COMMENT_OFFSET", "spliceString", "CFF_CHECKSUM_OFFSET", "XXXX_VALUE", "checksum", "int32", "string32", "btoa", "fonts", "span", "getLoadTestFont", "atob", "translatedData", "bytesToString", "getPathGenerator", "cmds", "js", "current", "compatibilityParams", "isIOSChrome", "MIN_FONT_SIZE", "MAX_FONT_SIZE", "MAX_GROUP_SIZE", "MIN_WIDTH_FACTOR", "COMPILE_TYPE3_GLYPHS", "MAX_SIZE_TO_COMPILE", "FULL_CHUNK_HEIGHT", "ad_bc", "bc_ad", "old", "cosValue", "sinValue", "CachedCanvases", "getCanvas", "canvasEntry", "addContextCurrentTransform", "POINT_TO_PROCESS_LIMIT", "imgData", "width1", "points", "POINT_TYPES", "lineSize", "data0", "mask", "elem", "j0", "sum", "steps", "outlines", "coords", "p0", "pp", "drawOutline", "o", "jj", "CanvasExtraState", "setCurrentPoint", "CanvasGraphics", "EXECUTION_TIME", "EXECUTION_STEPS", "partialChunkHeight", "fullChunks", "totalChunks", "chunkImgData", "srcPos", "srcLength", "dest32", "dest32DataLength", "fullSrcDiff", "white", "black", "thisChunkHeight", "destPos", "srcDiff", "kEnd", "kEndUnrolled", "srcByte", "elemsInThisChunk", "property", "sourceCtx", "destCtx", "alpha", "alpha_", "r0", "g0", "b0", "maskData", "transferMap", "layerData", "y", "hasBackdrop", "backdrop", "subtype", "composeFn", "PIXELS_TO_PROCESS", "row", "chunkHeight", "maskCtx", "layerCtx", "composeSMaskBackdrop", "composed", "layer", "genericComposeSMask", "LINE_CAP_STYLES", "LINE_JOIN_STYLES", "NORMAL_CLIP", "EO_CLIP", "beginDrawing", "transparentCanvas", "resetCtxToDefault", "executeOperatorList", "executionStartIdx", "argsArrayLen", "chunkOperations", "endTime", "stepper", "fnId", "objsPool", "depObjId", "continueCallback", "endDrawing", "states", "beginSMaskGroup", "activeSMask", "drawnWidth", "drawnHeight", "cacheId", "scratchCanvas", "currentCtx", "currentTransform", "groupCtx", "copyCtxState", "suspendSMaskGroup", "composeSMask", "deltaTransform", "resumeSMaskGroup", "endSMaskGroup", "ops", "xw", "yh", "consumePath", "strokeColor", "fillColor", "isPatternFill", "needRestore", "paths", "fontObj", "bold", "italic", "typeface", "browserFontSize", "paintChar", "textRenderingMode", "fontSize", "fillStrokeMode", "isAddToPathSet", "patternFill", "addToPath", "fontSizeScale", "charSpacing", "wordSpacing", "fontDirection", "textHScale", "glyphsLength", "glyphs", "vertical", "spacingDir", "defaultVMetrics", "widthAdvanceScale", "simpleFillText", "pattern", "patternTransform", "lineWidth", "glyph", "isNum", "restoreNeeded", "spacing", "character", "accent", "vmetric", "vx", "vy", "scaledX", "scaledY", "measuredWidth", "characterScaleX", "scaledAccentX", "scaledAccentY", "charWidth", "showType3Text", "fontMatrix", "isTextInvisible", "spacingLength", "transformed", "urx", "ury", "getColorN_Pattern", "IR", "color", "baseTransform", "canvasGraphicsFactory", "createCanvasGraphics", "getShadingPatternFromIR", "inv", "bl", "br", "ul", "ur", "x0", "y0", "x1", "y1", "matrix", "bbox", "group", "bounds", "canvasBounds", "scaleX", "scaleY", "startTransformInverse", "domImage", "objId", "left", "top", "w", "h", "maskCanvas", "putBinaryImageMask", "positions", "images", "image", "widthScale", "heightScale", "imgToPaint", "putBinaryImageData", "paintWidth", "paintHeight", "tmpCanvasId", "newWidth", "newHeight", "getSinglePixelWidth", "inverse", "getCanvasPosition", "ShadingIRs", "region", "fromIR", "raw", "colorStops", "r1", "getPattern", "applyBoundingBox", "grad", "createMeshCanvas", "colors", "rowSize", "tmp", "c1", "c2", "c3", "x2", "y2", "x3", "y3", "c1r", "c1g", "c1b", "c2r", "c2g", "c2b", "c3r", "c3g", "c3b", "minY", "maxY", "xa", "car", "cag", "cab", "xb", "cbr", "cbg", "cbb", "x1_", "x2_", "ps", "figure", "cs", "verticesPerRow", "rows", "cols", "drawTriangle", "EXPECTED_SCALE", "MAX_PATTERN_SIZE", "BORDER_SIZE", "boundsWidth", "boundsHeight", "combinesScale", "paddedWidth", "paddedHeight", "backgroundColor", "figures", "cachedCanvases", "drawFigure", "owner", "matrixScale", "temporaryPatternCanvas", "shadingIR", "TilingPattern", "PaintType", "COLORED", "UNCOLORED", "createPatternCanvas", "xstep", "ystep", "paintType", "tilingType", "curMatrixScale", "combinedScale", "dimx", "dimy", "graphics", "getSizeAndScale", "maxSize", "clipBbox", "bboxWidth", "bboxHeight", "setFillAndStrokeStyleToContext", "cssColor", "CallbackKind", "DATA", "ERROR", "StreamKind", "CANCEL", "CANCEL_COMPLETE", "CLOSE", "ENQUEUE", "PULL", "PULL_COMPLETE", "START_COMPLETE", "callbackId", "wrapReason", "sourceName", "targetName", "comObj", "on", "ah", "send", "sendWithPromise", "sendWithStream", "streamId", "startCapability", "startCall", "pullCall", "cancelCall", "isClosed", "pull", "pullCapability", "cancelCapability", "_createStreamSink", "streamSink", "lastDesiredSize", "sinkCapability", "onPull", "onCancel", "isCancelled", "success", "_processStreamMessage", "_postMessage", "parser", "xmlDocument", "_repair", "chars", "_parse", "rdf", "nodeName", "children", "XMLParserErrorCode", "NoError", "EndOfDocument", "UnterminatedCdat", "UnterminatedXmlDeclaration", "UnterminatedDoctypeDeclaration", "UnterminatedComment", "MalformedElement", "OutOfMemory", "UnterminatedAttributeValue", "UnterminatedElement", "ElementNeverBegun", "ch", "isWhitespace", "_resolveEntities", "entity", "_parseContent", "skipWs", "attrName", "attrValue", "attrEndChar", "attrEndIndex", "parsed", "_parseProcessingInstruction", "attrStart", "parseXml", "ch2", "pi", "q2", "complexDoctype", "doctypeContent", "text", "onResolveEntity", "onPi", "onComment", "onCdata", "onDoctype", "onText", "onBeginElement", "onEndElement", "onError", "childNodes", "child", "parseFromString", "documentElement", "isWhitespaceString", "lastElement", "begin", "_onReceiveData", "_onProgress", "firstReader", "_removeRangeReader", "queuedChunks", "getRangeReader", "cancelAllRequests", "readers", "_enqueue", "requestCapability", "requestsCapability", "WebGLUtils", "drawFigures", "shader", "gl", "compiled", "errorMsg", "loadShader", "program", "shaders", "linked", "texture", "currentCanvas", "currentGL", "premultipliedalpha", "smaskVertexShaderCode", "smaskFragmentShaderCode", "smaskCache", "generateGL", "vertexShader", "createVertexShader", "fragmentShader", "createFragmentShader", "texCoordLocation", "texLayerLocation", "texMaskLocation", "texCoordBuffer", "initSmaskGL", "createTexture", "maskTexture", "figuresVertexShaderCode", "figuresFragmentShaderCode", "figuresCache", "initFiguresGL", "coordsMap", "colorsMap", "pIndex", "cIndex", "col", "coordsBuffer", "colorsBuffer", "tryInitGL", "renderTextLayer", "MAX_TEXT_DIVS_TO_RENDER", "NonWhitespaceRegexp", "textDiv", "textDivProperties", "angle", "canvasWidth", "originalTransform", "paddingBottom", "paddingLeft", "paddingRight", "paddingTop", "isAllWhitespace", "geom", "tx", "fontHeight", "fontAscent", "angleCos", "angleSin", "divWidth", "divHeight", "right", "bottom", "textDivs", "textDivsLength", "expanded", "expandBounds", "divProperties", "ts", "findPositiveMin", "boxScale", "box", "x1New", "x2New", "expandBoundsLTR", "boxes", "fakeBoundary", "horizon", "boundary", "maxXNew", "horizonPart", "affectedBoundary", "xNew", "changedHorizon", "lastBoundary", "useBoundary", "used", "textContentItemsStr", "TextLayerRenderTask", "_processItems", "appendText", "_layoutText", "fontFamily", "_render", "styleCache", "textItems", "textStyles", "expandTextDivs", "expand", "transformBuf", "paddingBuf", "divProps", "renderParameters", "textContentStream", "enhanceTextSelection", "parameters", "fieldType", "isRenderable", "ignoreBorder", "_createContainer", "horizontalRadius", "verticalRadius", "radius", "_createPopup", "trigger", "popupElement", "title", "modificationDate", "contents", "hideWrapper", "popup", "addLinkAttributes", "linkService", "rel", "_bindLink", "_bindNamedAction", "TEXT_ALIGNMENT", "fieldWidth", "combWidth", "_setTextStyle", "fallbackName", "selectElement", "optionElement", "option", "IGNORE_TYPES", "selector", "parentElement", "parentLeft", "parseFloat", "parentWidth", "BACKGROUND_ENLIGHT", "g", "dateObject", "PDFDateString", "date", "_formatContents", "lines", "line", "pin", "_show", "unpin", "_hide", "borderWidth", "square", "circle", "coordinate", "polyline", "getFilenameFromUrl", "stringToPDFString", "filename", "sortedAnnotations", "popupAnnotations", "downloadManager", "imageResourcesPath", "svgFactory", "SVGGraphics", "opTree", "opListElement", "pf", "SVG_DEFAULTS", "fontStyle", "fontWeight", "XML_NS", "XLINK_NS", "convertImgDataToPng", "PNG_HEADER", "CHUNK_WRAPPER_SIZE", "crcTable", "crc", "crc32", "deflateSyncUncompressed", "__non_webpack_require__", "level", "literals", "maxBlockLength", "deflateBlocks", "idat", "adler", "adler32", "colorType", "bitDepth", "offsetLiterals", "offsetBytes", "ihdr", "deflateSync", "pngLength", "writePngChunk", "clipCount", "maskCount", "shadingCount", "loadDependencies", "transformMatrix", "getSVG", "svgElement", "convertOpList", "operatorIdMapping", "opList", "opListToTree", "executeOpTree", "opTreeElement", "lineWidthScale", "textMatrix", "pm", "addFontStyle", "details", "setStrokeAlpha", "setFillAlpha", "_makeColorN_Pattern", "_makeTilingPattern", "tilingId", "txstep", "tystep", "tiling", "tx1", "ty1", "_makeShadingPattern", "shadingId", "point0", "point1", "gradient", "focalPoint", "circlePoint", "focalRadius", "circleRadius", "colorStop", "op", "clipId", "clipPath", "clipElement", "_setStrokeAttributes", "dashArray", "imgObj", "imgEl", "imgSrc", "cliprect", "_initialize", "definitions", "rootGroup", "clipGroup", "fs", "fileUriRegex", "parsedUrl", "parseUrl", "_error", "_setReadableStream", "auth", "handleResponse", "getResponseHeader", "isHttp", "suggestedLength", "extractFilenameFromHeader", "createRequestOptions", "returnValues", "allowRangeRequests", "contentEncoding", "contentDisposition", "getFilenameFromContentDispositionHeader", "needsEncodingFixup", "toParamRegExp", "rfc2616unquote", "rfc5987decode", "rfc2047decode", "fixupEncoding", "rfc2231getparam", "decoder", "fatal", "textdecode", "quotindex", "encodingend", "extvalue", "encoding", "langvalue", "OK_RESPONSE", "PARTIAL_CONTENT_RESPONSE", "xhr", "requestRange", "listeners", "requestFull", "xhrId", "pendingRequest", "onProgress", "onStateChange", "xhrStatus", "ok_response_on_range_request", "getArrayBuffer", "rangeHeader", "getRequestXhr", "isPendingRequest", "_onRangeRequestReaderClosed", "onHeadersReceived", "onDone", "manager", "fullRequestXhrId", "fullRequestXhr", "_onDone", "_onError", "createResponseStatusError", "abortController", "credentials", "redirect", "createHeaders", "createFetchOptions", "validateResponseStatus" ], - "mappings": "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", - "file": "pdf.js", - "sourcesContent": [ "(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\"] = factory();\n})(this, function() {\nreturn ", " \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __w_pdfjs_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__w_pdfjs_require__.m = modules;\n\n \t// expose the module cache\n \t__w_pdfjs_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__w_pdfjs_require__.d = function(exports, name, getter) {\n \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__w_pdfjs_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__w_pdfjs_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__w_pdfjs_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__w_pdfjs_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__w_pdfjs_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n", "/* Copyright 2012 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/* eslint-disable no-unused-vars */\n\n\"use strict\";\n\nvar pdfjsVersion =\n typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_VERSION\") : void 0;\nvar pdfjsBuild =\n typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_BUILD\") : void 0;\n\nvar pdfjsSharedUtil = require(\"./shared/util.js\");\nvar pdfjsDisplayAPI = require(\"./display/api.js\");\nvar pdfjsDisplayTextLayer = require(\"./display/text_layer.js\");\nvar pdfjsDisplayAnnotationLayer = require(\"./display/annotation_layer.js\");\nvar pdfjsDisplayDisplayUtils = require(\"./display/display_utils.js\");\nvar pdfjsDisplaySVG = require(\"./display/svg.js\");\nconst pdfjsDisplayWorkerOptions = require(\"./display/worker_options.js\");\nconst pdfjsDisplayAPICompatibility = require(\"./display/api_compatibility.js\");\n\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n const { isNodeJS } = require(\"./shared/is_node.js\");\n if (isNodeJS) {\n const PDFNodeStream = require(\"./display/node_stream.js\").PDFNodeStream;\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(params => {\n return new PDFNodeStream(params);\n });\n } else {\n const PDFNetworkStream = require(\"./display/network.js\").PDFNetworkStream;\n let PDFFetchStream;\n if (pdfjsDisplayDisplayUtils.isFetchSupported()) {\n PDFFetchStream = require(\"./display/fetch_stream.js\").PDFFetchStream;\n }\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(params => {\n if (\n PDFFetchStream &&\n pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)\n ) {\n return new PDFFetchStream(params);\n }\n return new PDFNetworkStream(params);\n });\n }\n} else if (PDFJSDev.test(\"CHROME\")) {\n const PDFNetworkStream = require(\"./display/network.js\").PDFNetworkStream;\n let PDFFetchStream;\n const isChromeWithFetchCredentials = function() {\n // fetch does not include credentials until Chrome 61.0.3138.0 and later.\n // https://chromium.googlesource.com/chromium/src/+/2e231cf052ca5e68e22baf0008ac9e5e29121707\n try {\n // Indexed properties on window are read-only in Chrome 61.0.3151.0+\n // https://chromium.googlesource.com/chromium/src.git/+/58ab4a971b06dec13e4edf9de8382ca6847f6190\n window[999] = 123; // should throw. Note: JS strict mode MUST be enabled.\n delete window[999];\n return false;\n } catch (e) {\n return true;\n }\n };\n if (\n pdfjsDisplayDisplayUtils.isFetchSupported() &&\n isChromeWithFetchCredentials()\n ) {\n PDFFetchStream = require(\"./display/fetch_stream.js\").PDFFetchStream;\n }\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(params => {\n if (\n PDFFetchStream &&\n pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)\n ) {\n return new PDFFetchStream(params);\n }\n return new PDFNetworkStream(params);\n });\n}\n\nexports.build = pdfjsDisplayAPI.build;\nexports.version = pdfjsDisplayAPI.version;\nexports.getDocument = pdfjsDisplayAPI.getDocument;\nexports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;\nexports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;\nexports.PDFWorker = pdfjsDisplayAPI.PDFWorker;\nexports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;\nexports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;\nexports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;\nexports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;\nexports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;\nexports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;\nexports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;\nexports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;\nexports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;\nexports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;\nexports.UnexpectedResponseException =\n pdfjsSharedUtil.UnexpectedResponseException;\nexports.OPS = pdfjsSharedUtil.OPS;\nexports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;\nexports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;\nexports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;\nexports.createObjectURL = pdfjsSharedUtil.createObjectURL;\nexports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;\nexports.shadow = pdfjsSharedUtil.shadow;\nexports.Util = pdfjsSharedUtil.Util;\nexports.RenderingCancelledException =\n pdfjsDisplayDisplayUtils.RenderingCancelledException;\nexports.getFilenameFromUrl = pdfjsDisplayDisplayUtils.getFilenameFromUrl;\nexports.LinkTarget = pdfjsDisplayDisplayUtils.LinkTarget;\nexports.addLinkAttributes = pdfjsDisplayDisplayUtils.addLinkAttributes;\nexports.loadScript = pdfjsDisplayDisplayUtils.loadScript;\nexports.PDFDateString = pdfjsDisplayDisplayUtils.PDFDateString;\nexports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;\nexports.apiCompatibilityParams =\n pdfjsDisplayAPICompatibility.apiCompatibilityParams;\n", "/* Copyright 2012 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/* eslint no-var: error */\n\nimport \"./compatibility.js\";\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\nconst NativeImageDecoding = {\n NONE: \"none\",\n DECODE: \"decode\",\n DISPLAY: \"display\",\n};\n\n// Permission flags from Table 22, Section 7.6.3.2 of the PDF specification.\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};\n\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};\n\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3,\n};\n\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};\n\nconst AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\",\n};\n\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\",\n};\n\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\",\n};\n\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\",\n};\n\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};\n\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};\n\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5,\n};\n\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\", // PDF short name is 'RL', but telemetry requires three chars.\n};\n\nconst FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\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};\n\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5,\n};\n\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2,\n};\n\n// All the possible operations for an operator list.\nconst OPS = {\n // Intentionally start from 1 so it is easy to spot bad operators that will be\n // 0's.\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};\n\nconst UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\",\n};\n\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2,\n};\n\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\n// A notice for devs. These are good for things that are helpful to devs, such\n// as warning that Workers were disabled, which is important to devs but not\n// end users.\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\n// Non-fatal warnings.\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\n// Checks if URLs have the same origin. For non-HTTP based URLs, returns false.\nfunction isSameOrigin(baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false; // non-HTTP url\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// Checks if URLs use one of the whitelisted protocols, e.g. to avoid XSS.\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Attempts to create a valid absolute URL.\n *\n * @param {URL|string} url - An absolute, or relative, URL.\n * @param {URL|string} baseUrl - An absolute URL.\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n try {\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {\n /* `new URL()` will throw on incorrect data. */\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) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = this.constructor.name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n\n return BaseException;\n})();\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg);\n this.code = code;\n }\n}\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg);\n this.details = details;\n }\n}\n\nclass InvalidPDFException extends BaseException {}\n\nclass MissingPDFException extends BaseException {}\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg);\n this.status = status;\n }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException {}\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException {}\n\nconst NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== \"string\") {\n warn(\"The argument for removeNullCharacters must be a string.\");\n return str;\n }\n return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n assert(\n bytes !== null && typeof bytes === \"object\" && bytes.length !== undefined,\n \"Invalid argument for bytesToString\"\n );\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\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 return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\n\n/**\n * Gets length of the array (Array, Uint8Array, or string) in bytes.\n * @param {Array|Uint8Array|string} arr\n * @returns {number}\n */\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n}\n\n/**\n * Combines array items (arrays) into single Uint8Array object.\n * @param {Array} arr - the array of the arrays (Array, Uint8Array, or string).\n * @returns {Uint8Array}\n */\nfunction arraysToBytes(arr) {\n const length = arr.length;\n // Shortcut: if first and only item is Uint8Array, return it.\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n let resultLength = 0;\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n let pos = 0;\n const data = new Uint8Array(resultLength);\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(\n (value >> 24) & 0xff,\n (value >> 16) & 0xff,\n (value >> 8) & 0xff,\n value & 0xff\n );\n}\n\n// Checks the endianness of the platform.\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}\nconst IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n },\n};\n\n// Checks if it's possible to eval JS expressions.\nfunction isEvalSupported() {\n try {\n new Function(\"\"); // eslint-disable-line no-new, no-new-func\n return true;\n } catch (e) {\n return false;\n }\n}\nconst IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n },\n};\n\nconst rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nclass Util {\n // makeCssRgb() can be called thousands of times. Using ´rgbBuf` avoids\n // creating many intermediate strings.\n static makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n\n // Concatenates two transformation matrices together and returns the result.\n static transform(m1, m2) {\n return [\n m1[0] * m2[0] + m1[2] * m2[1],\n m1[1] * m2[0] + m1[3] * m2[1],\n m1[0] * m2[2] + m1[2] * m2[3],\n m1[1] * m2[2] + m1[3] * m2[3],\n m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n m1[1] * m2[4] + m1[3] * m2[5] + m1[5],\n ];\n }\n\n // For 2d affine transforms\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 // Applies the transform to the rectangle and finds the minimum axially\n // aligned bounding box.\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 [\n Math.min(p1[0], p2[0], p3[0], p4[0]),\n Math.min(p1[1], p2[1], p3[1], p4[1]),\n Math.max(p1[0], p2[0], p3[0], p4[0]),\n Math.max(p1[1], p2[1], p3[1], p4[1]),\n ];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [\n m[3] / d,\n -m[1] / d,\n -m[2] / d,\n m[0] / d,\n (m[2] * m[5] - m[4] * m[3]) / d,\n (m[4] * m[1] - m[5] * m[0]) / d,\n ];\n }\n\n // Apply a generic 3d matrix M on a 3-vector v:\n // | a b c | | X |\n // | d e f | x | Y |\n // | g h i | | Z |\n // M is assumed to be serialized as [a,b,c,d,e,f,g,h,i],\n // with v as [X,Y,Z]\n static apply3dTransform(m, v) {\n return [\n m[0] * v[0] + m[1] * v[1] + m[2] * v[2],\n m[3] * v[0] + m[4] * v[1] + m[5] * v[2],\n m[6] * v[0] + m[7] * v[1] + m[8] * v[2],\n ];\n }\n\n // This calculation uses Singular Value Decomposition.\n // The SVD can be represented with formula A = USV. We are interested in the\n // matrix S here because it represents the scale values.\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n\n // Multiply matrix m with its transpose.\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\n // Solve the second degree polynomial to get roots.\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n\n // Scale values are the square roots of the eigenvalues.\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n // For coordinate systems whose origin lies in the bottom-left, this\n // means normalization to (BL,TR) ordering. For systems with origin in the\n // top-left, this means (TL,BR) ordering.\n static normalizeRect(rect) {\n const r = rect.slice(0); // clone rect\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n\n // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n // intersection of rect1 and rect2. If no intersection, returns 'false'\n // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n static intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n // Order points along the axes\n const orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n const orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n const result = [];\n\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n // X: first and second points belong to different rectangles?\n if (\n (orderedX[0] === rect1[0] && orderedX[1] === rect2[0]) ||\n (orderedX[0] === rect2[0] && orderedX[1] === rect1[0])\n ) {\n // Intersection must be between second and third points\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n // Y: first and second points belong to different rectangles?\n if (\n (orderedY[0] === rect1[1] && orderedY[1] === rect2[1]) ||\n (orderedY[0] === rect2[1] && orderedY[1] === rect1[1])\n ) {\n // Intersection must be between second and third points\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n}\n\n// prettier-ignore\nconst PDFStringTranslateTable = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0,\n 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,\n 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,\n 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,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014,\n 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C,\n 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160,\n 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC\n];\n\nfunction stringToPDFString(str) {\n const length = str.length,\n strBuf = [];\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n // UTF16BE BOM\n for (let i = 2; i < length; i += 2) {\n strBuf.push(\n String.fromCharCode((str.charCodeAt(i) << 8) | str.charCodeAt(i + 1))\n );\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n // UTF16LE BOM\n for (let i = 2; i < length; i += 2) {\n strBuf.push(\n String.fromCharCode((str.charCodeAt(i + 1) << 8) | str.charCodeAt(i))\n );\n }\n } else {\n for (let i = 0; i < length; ++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 stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n for (const key in obj) {\n return false;\n }\n return true;\n}\n\nfunction isBool(v) {\n return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n return typeof v === \"number\";\n}\n\nfunction isString(v) {\n return typeof v === \"string\";\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 return arr1.every(function(element, index) {\n return element === arr2[index];\n });\n}\n\n/**\n * Promise Capability object.\n *\n * @typedef {Object} PromiseCapability\n * @property {Promise} promise - A Promise object.\n * @property {boolean} settled - If the Promise has been fulfilled/rejected.\n * @property {function} resolve - Fulfills the Promise.\n * @property {function} reject - Rejects the Promise.\n */\n\n/**\n * Creates a promise capability object.\n * @alias createPromiseCapability\n *\n * @returns {PromiseCapability}\n */\nfunction createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n\n Object.defineProperty(capability, \"settled\", {\n get() {\n return isSettled;\n },\n });\n capability.promise = new Promise(function(resolve, reject) {\n capability.resolve = function(data) {\n isSettled = true;\n resolve(data);\n };\n capability.reject = function(reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nconst createObjectURL = (function createObjectURLClosure() {\n // Blob/createObjectURL is not available, falling back to data schema.\n const digits =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n\n return function createObjectURL(data, contentType, forceDataSchema = false) {\n if (!forceDataSchema && URL.createObjectURL) {\n const blob = new Blob([data], { type: contentType });\n return URL.createObjectURL(blob);\n }\n\n let buffer = `data:${contentType};base64,`;\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 return buffer;\n };\n})();\n\nexport {\n BaseException,\n FONT_IDENTITY_MATRIX,\n IDENTITY_MATRIX,\n OPS,\n VerbosityLevel,\n UNSUPPORTED_FEATURES,\n AnnotationBorderStyleType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMarkedState,\n AnnotationReplyType,\n AnnotationReviewState,\n AnnotationStateModelType,\n AnnotationType,\n FontType,\n ImageKind,\n CMapCompressionType,\n AbortException,\n InvalidPDFException,\n MissingPDFException,\n NativeImageDecoding,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n StreamType,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n Util,\n FormatError,\n arrayByteLength,\n arraysToBytes,\n assert,\n bytesToString,\n createPromiseCapability,\n createObjectURL,\n getVerbosityLevel,\n info,\n isArrayBuffer,\n isArrayEqual,\n isBool,\n isEmptyObj,\n isNum,\n isString,\n isSameOrigin,\n createValidAbsoluteUrl,\n IsLittleEndianCached,\n IsEvalSupportedCached,\n removeNullCharacters,\n setVerbosityLevel,\n shadow,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF8String,\n utf8StringToString,\n warn,\n unreachable,\n};\n", "/* Copyright 2017 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/* eslint no-var: error */\n\n// Skip compatibility checks for modern builds (unless we're running the\n// unit-tests in Node.js/Travis) and if we already ran the module.\nif (\n (typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!SKIP_BABEL || (LIB && TESTING)\")) &&\n (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked)\n) {\n // Provides support for globalThis in legacy browsers.\n // Support: IE11/Edge, Opera\n if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n // eslint-disable-next-line no-global-assign\n globalThis = require(\"core-js/es/global-this\");\n }\n globalThis._pdfjsCompatibilityChecked = true;\n\n const { isNodeJS } = require(\"./is_node.js\");\n\n const hasDOM = typeof window === \"object\" && typeof document === \"object\";\n const userAgent =\n (typeof navigator !== \"undefined\" && navigator.userAgent) || \"\";\n const isIE = /Trident/.test(userAgent);\n\n // Support: Node.js\n (function checkNodeBtoa() {\n if (globalThis.btoa || !isNodeJS) {\n return;\n }\n globalThis.btoa = function(chars) {\n // eslint-disable-next-line no-undef\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n // Support: Node.js\n (function checkNodeAtob() {\n if (globalThis.atob || !isNodeJS) {\n return;\n }\n globalThis.atob = function(input) {\n // eslint-disable-next-line no-undef\n return Buffer.from(input, \"base64\").toString(\"binary\");\n };\n })();\n\n // Provides support for ChildNode.remove in legacy browsers.\n // Support: IE.\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n if (typeof Element.prototype.remove !== \"undefined\") {\n return;\n }\n Element.prototype.remove = function() {\n if (this.parentNode) {\n // eslint-disable-next-line mozilla/avoid-removeChild\n this.parentNode.removeChild(this);\n }\n };\n })();\n\n // Provides support for DOMTokenList.prototype.{add, remove}, with more than\n // one parameter, in legacy browsers.\n // Support: IE\n (function checkDOMTokenListAddRemove() {\n if (!hasDOM || isNodeJS) {\n return;\n }\n const div = document.createElement(\"div\");\n div.classList.add(\"testOne\", \"testTwo\");\n\n if (\n div.classList.contains(\"testOne\") === true &&\n div.classList.contains(\"testTwo\") === true\n ) {\n return;\n }\n const OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n const OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function(...tokens) {\n for (const token of tokens) {\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n DOMTokenList.prototype.remove = function(...tokens) {\n for (const token of tokens) {\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n // Provides support for DOMTokenList.prototype.toggle, with the optional\n // \"force\" parameter, in legacy browsers.\n // Support: IE\n (function checkDOMTokenListToggle() {\n if (!hasDOM || isNodeJS) {\n return;\n }\n const div = document.createElement(\"div\");\n if (div.classList.toggle(\"test\", 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function(token) {\n const force =\n arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n return this[force ? \"add\" : \"remove\"](token), force;\n };\n })();\n\n // Provides support for window.history.{pushState, replaceState}, with the\n // `url` parameter set to `undefined`, without breaking the document URL.\n // Support: IE\n (function checkWindowHistoryPushStateReplaceState() {\n if (!hasDOM || !isIE) {\n return;\n }\n const OriginalPushState = window.history.pushState;\n const OriginalReplaceState = window.history.replaceState;\n\n window.history.pushState = function(state, title, url) {\n const args = url === undefined ? [state, title] : [state, title, url];\n OriginalPushState.apply(this, args);\n };\n window.history.replaceState = function(state, title, url) {\n const args = url === undefined ? [state, title] : [state, title, url];\n OriginalReplaceState.apply(this, args);\n };\n })();\n\n // Provides support for String.prototype.startsWith in legacy browsers.\n // Support: IE, Chrome<41\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n require(\"core-js/es/string/starts-with.js\");\n })();\n\n // Provides support for String.prototype.endsWith in legacy browsers.\n // Support: IE, Chrome<41\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n require(\"core-js/es/string/ends-with.js\");\n })();\n\n // Provides support for String.prototype.includes in legacy browsers.\n // Support: IE, Chrome<41\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n require(\"core-js/es/string/includes.js\");\n })();\n\n // Provides support for Array.prototype.includes in legacy browsers.\n // Support: IE, Chrome<47\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n require(\"core-js/es/array/includes.js\");\n })();\n\n // Provides support for Array.from in legacy browsers.\n // Support: IE\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n require(\"core-js/es/array/from.js\");\n })();\n\n // Provides support for Object.assign in legacy browsers.\n // Support: IE\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n require(\"core-js/es/object/assign.js\");\n })();\n\n // Provides support for Math.log2 in legacy browsers.\n // Support: IE, Chrome<38\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n Math.log2 = require(\"core-js/es/math/log2.js\");\n })();\n\n // Provides support for Number.isNaN in legacy browsers.\n // Support: IE.\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n Number.isNaN = require(\"core-js/es/number/is-nan.js\");\n })();\n\n // Provides support for Number.isInteger in legacy browsers.\n // Support: IE, Chrome<34\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n Number.isInteger = require(\"core-js/es/number/is-integer.js\");\n })();\n\n // Support: IE, Safari<11, Chrome<63\n (function checkPromise() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `Promise` shouldn't\n // need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (globalThis.Promise && globalThis.Promise.allSettled) {\n return;\n }\n globalThis.Promise = require(\"core-js/es/promise/index.js\");\n })();\n\n // Support: IE\n (function checkURL() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders don't use the `URL` constructor, so it\n // doesn't need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"GENERIC\")) {\n // The `URL` constructor is assumed to be available in the extension\n // builds.\n return;\n }\n globalThis.URL = require(\"core-js/web/url.js\");\n })();\n\n // Support: IE, Node.js\n (function checkReadableStream() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `ReadableStream`\n // shouldn't need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n let isReadableStreamSupported = false;\n\n if (typeof ReadableStream !== \"undefined\") {\n // MS Edge may say it has ReadableStream but they are not up to spec yet.\n try {\n // eslint-disable-next-line no-new\n new ReadableStream({\n start(controller) {\n controller.close();\n },\n });\n isReadableStreamSupported = true;\n } catch (e) {\n // The ReadableStream constructor cannot be used.\n }\n }\n if (isReadableStreamSupported) {\n return;\n }\n globalThis.ReadableStream = require(\"web-streams-polyfill/dist/ponyfill.js\").ReadableStream;\n })();\n\n // We want to support Map iteration, but it doesn't seem possible to easily\n // test for that specifically; hence using a similarly unsupported property.\n // Support: IE11\n (function checkMapEntries() {\n if (globalThis.Map && globalThis.Map.prototype.entries) {\n return;\n }\n globalThis.Map = require(\"core-js/es/map/index.js\");\n })();\n\n // We want to support Set iteration, but it doesn't seem possible to easily\n // test for that specifically; hence using a similarly unsupported property.\n // Support: IE11\n (function checkSetEntries() {\n if (globalThis.Set && globalThis.Set.prototype.entries) {\n return;\n }\n globalThis.Set = require(\"core-js/es/set/index.js\");\n })();\n\n // Support: IE<11, Safari<8, Chrome<36\n (function checkWeakMap() {\n if (globalThis.WeakMap) {\n return;\n }\n globalThis.WeakMap = require(\"core-js/es/weak-map/index.js\");\n })();\n\n // Support: IE11\n (function checkWeakSet() {\n if (globalThis.WeakSet) {\n return;\n }\n globalThis.WeakSet = require(\"core-js/es/weak-set/index.js\");\n })();\n\n // Provides support for String.codePointAt in legacy browsers.\n // Support: IE11.\n (function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n require(\"core-js/es/string/code-point-at.js\");\n })();\n\n // Provides support for String.fromCodePoint in legacy browsers.\n // Support: IE11.\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n String.fromCodePoint = require(\"core-js/es/string/from-code-point.js\");\n })();\n\n // Support: IE\n (function checkSymbol() {\n if (globalThis.Symbol) {\n return;\n }\n require(\"core-js/es/symbol/index.js\");\n })();\n\n // Provides support for String.prototype.padStart in legacy browsers.\n // Support: IE, Chrome<57\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n require(\"core-js/es/string/pad-start.js\");\n })();\n\n // Provides support for String.prototype.padEnd in legacy browsers.\n // Support: IE, Chrome<57\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n require(\"core-js/es/string/pad-end.js\");\n })();\n\n // Provides support for Object.values in legacy browsers.\n // Support: IE, Chrome<54\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n Object.values = require(\"core-js/es/object/values.js\");\n })();\n}\n", "require('../modules/es.global-this');\n\nmodule.exports = require('../internals/global');\n", "var $ = require('../internals/export');\nvar global = require('../internals/global');\n\n// `globalThis` object\n// https://github.com/tc39/proposal-global\n$({ global: true }, {\n globalThis: global\n});\n", "var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n", "var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n", "var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n", "var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n", "module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n", "'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n", "module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n", "// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n", "var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n", "var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n", "// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n", "var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n", "module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n", "var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n", "var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n", "var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n", "var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n", "var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n", "var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n", "var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n", "var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n", "var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n", "var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n", "var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n", "var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n", "var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n", "var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.4',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n", "module.exports = false;\n", "var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n", "module.exports = {};\n", "var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n", "var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n", "var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n", "var global = require('../internals/global');\n\nmodule.exports = global;\n", "var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n", "var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n", "var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n", "var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n", "var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n", "var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n", "// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n", "exports.f = Object.getOwnPropertySymbols;\n", "var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n", "/* Copyright 2018 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/* globals process */\n\n// NW.js / Electron is a browser context, but copies some Node.js objects; see\n// http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context\n// https://electronjs.org/docs/api/process#processversionselectron\nconst isNodeJS =\n typeof process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions[\"nw\"] &&\n !process.versions[\"electron\"];\n\nexport { isNodeJS };\n", "require('../../modules/es.string.starts-with');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'startsWith');\n", "'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n", "var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n", "var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n", "var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n", "var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n", "var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n", "var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n", "var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\n\nvar call = Function.call;\n\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n", "var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n", "module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n", "require('../../modules/es.string.ends-with');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'endsWith');\n", "'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith\n ? nativeEndsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n", "require('../../modules/es.string.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'includes');\n", "'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n", "require('../../modules/es.array.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'includes');\n", "'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n", "var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n", "var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n", "var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n", "var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n", "var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n", "var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n", "require('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n", "'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n", "var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n", "'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n", "'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n", "'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n", "var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n", "var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n", "var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n", "var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n", "module.exports = {};\n", "var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n", "var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n", "var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n", "'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n", "var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n", "var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n", "'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n", "var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n", "var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n", "var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n", "var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n", "require('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n", "var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n", "'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n", "require('../../modules/es.math.log2');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Math.log2;\n", "var $ = require('../internals/export');\n\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\n// `Math.log2` method\n// https://tc39.github.io/ecma262/#sec-math.log2\n$({ target: 'Math', stat: true }, {\n log2: function log2(x) {\n return log(x) / LN2;\n }\n});\n", "require('../../modules/es.number.is-nan');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Number.isNaN;\n", "var $ = require('../internals/export');\n\n// `Number.isNaN` method\n// https://tc39.github.io/ecma262/#sec-number.isnan\n$({ target: 'Number', stat: true }, {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n", "require('../../modules/es.number.is-integer');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Number.isInteger;\n", "var $ = require('../internals/export');\nvar isInteger = require('../internals/is-integer');\n\n// `Number.isInteger` method\n// https://tc39.github.io/ecma262/#sec-number.isinteger\n$({ target: 'Number', stat: true }, {\n isInteger: isInteger\n});\n", "var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `Number.isInteger` method implementation\n// https://tc39.github.io/ecma262/#sec-number.isinteger\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n", "require('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.all-settled');\nrequire('../../modules/es.promise.finally');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Promise;\n", "var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n", "'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n", "var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n", "// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n", "'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n", "'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n", "var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n", "var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n", "'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n", "module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n", "var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n", "var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n", "var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n", "var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n", "var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n", "var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n", "var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n", "'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n", "var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n", "module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n", "var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n", "'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://github.com/tc39/proposal-promise-allSettled\n$({ target: 'Promise', stat: true }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: e };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n", "'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n", "require('../modules/web.url');\nrequire('../modules/web.url.to-json');\nrequire('../modules/web.url-search-params');\nvar path = require('../internals/path');\n\nmodule.exports = path.URL;\n", "'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+\\-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n// eslint-disable-next-line no-control-regex\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n", "var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n", "'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n", "'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.appent` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n", "var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n", "'use strict';\nvar $ = require('../internals/export');\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\n$({ target: 'URL', proto: true, enumerable: true }, {\n toJSON: function toJSON() {\n return URL.prototype.toString.call(this);\n }\n});\n", "/**\n * web-streams-polyfill v2.1.0\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = global || self, factory(global.WebStreamsPolyfill = {}));\n}(this, (function (exports) { 'use strict';\n\n /// \r\n var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ?\r\n Symbol :\r\n function (description) { return \"Symbol(\" + description + \")\"; };\n\n /// \r\n function noop() {\r\n // do nothing\r\n }\n\n /// \r\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN#Polyfill\r\n var NumberIsNaN = Number.isNaN || function (x) {\r\n // eslint-disable-next-line no-self-compare\r\n return x !== x;\r\n };\n\n var rethrowAssertionErrorRejection = noop;\n\n function typeIsObject(x) {\r\n return (typeof x === 'object' && x !== null) || typeof x === 'function';\r\n }\r\n function createArrayFromList(elements) {\r\n // We use arrays to represent lists, so this is basically a no-op.\r\n // Do a slice though just in case we happen to depend on the unique-ness.\r\n return elements.slice();\r\n }\r\n function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\r\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\r\n }\r\n function IsFiniteNonNegativeNumber(v) {\r\n if (IsNonNegativeNumber(v) === false) {\r\n return false;\r\n }\r\n if (v === Infinity) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n function IsNonNegativeNumber(v) {\r\n if (typeof v !== 'number') {\r\n return false;\r\n }\r\n if (NumberIsNaN(v)) {\r\n return false;\r\n }\r\n if (v < 0) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n function Call(F, V, args) {\r\n if (typeof F !== 'function') {\r\n throw new TypeError('Argument is not a function');\r\n }\r\n return Function.prototype.apply.call(F, V, args);\r\n }\r\n function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\r\n var method = underlyingObject[methodName];\r\n if (method !== undefined) {\r\n if (typeof method !== 'function') {\r\n throw new TypeError(method + \" is not a method\");\r\n }\r\n switch (algoArgCount) {\r\n case 0: {\r\n return function () {\r\n return PromiseCall(method, underlyingObject, extraArgs);\r\n };\r\n }\r\n case 1: {\r\n return function (arg) {\r\n var fullArgs = [arg].concat(extraArgs);\r\n return PromiseCall(method, underlyingObject, fullArgs);\r\n };\r\n }\r\n }\r\n }\r\n return function () { return promiseResolvedWith(undefined); };\r\n }\r\n function InvokeOrNoop(O, P, args) {\r\n var method = O[P];\r\n if (method === undefined) {\r\n return undefined;\r\n }\r\n return Call(method, O, args);\r\n }\r\n function PromiseCall(F, V, args) {\r\n try {\r\n return promiseResolvedWith(Call(F, V, args));\r\n }\r\n catch (value) {\r\n return promiseRejectedWith(value);\r\n }\r\n }\r\n // Not implemented correctly\r\n function TransferArrayBuffer(O) {\r\n return O;\r\n }\r\n // Not implemented correctly\r\n function IsDetachedBuffer(O) {\r\n return false;\r\n }\r\n function ValidateAndNormalizeHighWaterMark(highWaterMark) {\r\n highWaterMark = Number(highWaterMark);\r\n if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\r\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\r\n }\r\n return highWaterMark;\r\n }\r\n function MakeSizeAlgorithmFromSizeFunction(size) {\r\n if (size === undefined) {\r\n return function () { return 1; };\r\n }\r\n if (typeof size !== 'function') {\r\n throw new TypeError('size property of a queuing strategy must be a function');\r\n }\r\n return function (chunk) { return size(chunk); };\r\n }\r\n var originalPromise = Promise;\r\n var originalPromiseThen = Promise.prototype.then;\r\n var originalPromiseResolve = Promise.resolve.bind(originalPromise);\r\n var originalPromiseReject = Promise.reject.bind(originalPromise);\r\n function newPromise(executor) {\r\n return new originalPromise(executor);\r\n }\r\n function promiseResolvedWith(value) {\r\n return originalPromiseResolve(value);\r\n }\r\n function promiseRejectedWith(reason) {\r\n return originalPromiseReject(reason);\r\n }\r\n function PerformPromiseThen(promise, onFulfilled, onRejected) {\r\n // There doesn't appear to be any way to correctly emulate the behaviour from JavaScript, so this is just an\r\n // approximation.\r\n return originalPromiseThen.call(promise, onFulfilled, onRejected);\r\n }\r\n function uponPromise(promise, onFulfilled, onRejected) {\r\n PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\r\n }\r\n function uponFulfillment(promise, onFulfilled) {\r\n uponPromise(promise, onFulfilled);\r\n }\r\n function uponRejection(promise, onRejected) {\r\n uponPromise(promise, undefined, onRejected);\r\n }\r\n function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\r\n return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\r\n }\r\n function setPromiseIsHandledToTrue(promise) {\r\n PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\r\n }\n\n // Original from Chromium\r\n // https://chromium.googlesource.com/chromium/src/+/0aee4434a4dba42a42abaea9bfbc0cd196a63bc1/third_party/blink/renderer/core/streams/SimpleQueue.js\r\n var QUEUE_MAX_ARRAY_SIZE = 16384;\r\n /**\r\n * Simple queue structure.\r\n *\r\n * Avoids scalability issues with using a packed array directly by using\r\n * multiple arrays in a linked list and keeping the array size bounded.\r\n */\r\n var SimpleQueue = /** @class */ (function () {\r\n function SimpleQueue() {\r\n this._cursor = 0;\r\n this._size = 0;\r\n // _front and _back are always defined.\r\n this._front = {\r\n _elements: [],\r\n _next: undefined\r\n };\r\n this._back = this._front;\r\n // The cursor is used to avoid calling Array.shift().\r\n // It contains the index of the front element of the array inside the\r\n // front-most node. It is always in the range [0, QUEUE_MAX_ARRAY_SIZE).\r\n this._cursor = 0;\r\n // When there is only one node, size === elements.length - cursor.\r\n this._size = 0;\r\n }\r\n Object.defineProperty(SimpleQueue.prototype, \"length\", {\r\n get: function () {\r\n return this._size;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n // For exception safety, this method is structured in order:\r\n // 1. Read state\r\n // 2. Calculate required state mutations\r\n // 3. Perform state mutations\r\n SimpleQueue.prototype.push = function (element) {\r\n var oldBack = this._back;\r\n var newBack = oldBack;\r\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\r\n newBack = {\r\n _elements: [],\r\n _next: undefined\r\n };\r\n }\r\n // push() is the mutation most likely to throw an exception, so it\r\n // goes first.\r\n oldBack._elements.push(element);\r\n if (newBack !== oldBack) {\r\n this._back = newBack;\r\n oldBack._next = newBack;\r\n }\r\n ++this._size;\r\n };\r\n // Like push(), shift() follows the read -> calculate -> mutate pattern for\r\n // exception safety.\r\n SimpleQueue.prototype.shift = function () { // must not be called on an empty queue\r\n var oldFront = this._front;\r\n var newFront = oldFront;\r\n var oldCursor = this._cursor;\r\n var newCursor = oldCursor + 1;\r\n var elements = oldFront._elements;\r\n var element = elements[oldCursor];\r\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\r\n newFront = oldFront._next;\r\n newCursor = 0;\r\n }\r\n // No mutations before this point.\r\n --this._size;\r\n this._cursor = newCursor;\r\n if (oldFront !== newFront) {\r\n this._front = newFront;\r\n }\r\n // Permit shifted element to be garbage collected.\r\n elements[oldCursor] = undefined;\r\n return element;\r\n };\r\n // The tricky thing about forEach() is that it can be called\r\n // re-entrantly. The queue may be mutated inside the callback. It is easy to\r\n // see that push() within the callback has no negative effects since the end\r\n // of the queue is checked for on every iteration. If shift() is called\r\n // repeatedly within the callback then the next iteration may return an\r\n // element that has been removed. In this case the callback will be called\r\n // with undefined values until we either \"catch up\" with elements that still\r\n // exist or reach the back of the queue.\r\n SimpleQueue.prototype.forEach = function (callback) {\r\n var i = this._cursor;\r\n var node = this._front;\r\n var elements = node._elements;\r\n while (i !== elements.length || node._next !== undefined) {\r\n if (i === elements.length) {\r\n node = node._next;\r\n elements = node._elements;\r\n i = 0;\r\n if (elements.length === 0) {\r\n break;\r\n }\r\n }\r\n callback(elements[i]);\r\n ++i;\r\n }\r\n };\r\n // Return the element that would be returned if shift() was called now,\r\n // without modifying the queue.\r\n SimpleQueue.prototype.peek = function () { // must not be called on an empty queue\r\n var front = this._front;\r\n var cursor = this._cursor;\r\n return front._elements[cursor];\r\n };\r\n return SimpleQueue;\r\n }());\n\n function ReadableStreamCreateReadResult(value, done, forAuthorCode) {\r\n var prototype = null;\r\n if (forAuthorCode === true) {\r\n prototype = Object.prototype;\r\n }\r\n var obj = Object.create(prototype);\r\n obj.value = value;\r\n obj.done = done;\r\n return obj;\r\n }\r\n function ReadableStreamReaderGenericInitialize(reader, stream) {\r\n reader._forAuthorCode = true;\r\n reader._ownerReadableStream = stream;\r\n stream._reader = reader;\r\n if (stream._state === 'readable') {\r\n defaultReaderClosedPromiseInitialize(reader);\r\n }\r\n else if (stream._state === 'closed') {\r\n defaultReaderClosedPromiseInitializeAsResolved(reader);\r\n }\r\n else {\r\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\r\n }\r\n }\r\n // A client of ReadableStreamDefaultReader and ReadableStreamBYOBReader may use these functions directly to bypass state\r\n // check.\r\n function ReadableStreamReaderGenericCancel(reader, reason) {\r\n var stream = reader._ownerReadableStream;\r\n return ReadableStreamCancel(stream, reason);\r\n }\r\n function ReadableStreamReaderGenericRelease(reader) {\r\n if (reader._ownerReadableStream._state === 'readable') {\r\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\r\n }\r\n else {\r\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\r\n }\r\n reader._ownerReadableStream._reader = undefined;\r\n reader._ownerReadableStream = undefined;\r\n }\r\n // Helper functions for the readers.\r\n function readerLockException(name) {\r\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\r\n }\r\n // Helper functions for the ReadableStreamDefaultReader.\r\n function defaultReaderClosedPromiseInitialize(reader) {\r\n reader._closedPromise = newPromise(function (resolve, reject) {\r\n reader._closedPromise_resolve = resolve;\r\n reader._closedPromise_reject = reject;\r\n });\r\n }\r\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\r\n defaultReaderClosedPromiseInitialize(reader);\r\n defaultReaderClosedPromiseReject(reader, reason);\r\n }\r\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\r\n defaultReaderClosedPromiseInitialize(reader);\r\n defaultReaderClosedPromiseResolve(reader);\r\n }\r\n function defaultReaderClosedPromiseReject(reader, reason) {\r\n setPromiseIsHandledToTrue(reader._closedPromise);\r\n reader._closedPromise_reject(reason);\r\n reader._closedPromise_resolve = undefined;\r\n reader._closedPromise_reject = undefined;\r\n }\r\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\r\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\r\n }\r\n function defaultReaderClosedPromiseResolve(reader) {\r\n reader._closedPromise_resolve(undefined);\r\n reader._closedPromise_resolve = undefined;\r\n reader._closedPromise_reject = undefined;\r\n }\n\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\r\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n\n // Abstract operations for the ReadableStream.\r\n function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\r\n if (forAuthorCode === void 0) { forAuthorCode = false; }\r\n var reader = new ReadableStreamDefaultReader(stream);\r\n reader._forAuthorCode = forAuthorCode;\r\n return reader;\r\n }\r\n // ReadableStream API exposed for controllers.\r\n function ReadableStreamAddReadRequest(stream) {\r\n var promise = newPromise(function (resolve, reject) {\r\n var readRequest = {\r\n _resolve: resolve,\r\n _reject: reject\r\n };\r\n stream._reader._readRequests.push(readRequest);\r\n });\r\n return promise;\r\n }\r\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\r\n var reader = stream._reader;\r\n var readRequest = reader._readRequests.shift();\r\n readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\r\n }\r\n function ReadableStreamGetNumReadRequests(stream) {\r\n return stream._reader._readRequests.length;\r\n }\r\n function ReadableStreamHasDefaultReader(stream) {\r\n var reader = stream._reader;\r\n if (reader === undefined) {\r\n return false;\r\n }\r\n if (!IsReadableStreamDefaultReader(reader)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n var ReadableStreamDefaultReader = /** @class */ (function () {\r\n function ReadableStreamDefaultReader(stream) {\r\n if (IsReadableStream(stream) === false) {\r\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\r\n }\r\n if (IsReadableStreamLocked(stream) === true) {\r\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\r\n }\r\n ReadableStreamReaderGenericInitialize(this, stream);\r\n this._readRequests = new SimpleQueue();\r\n }\r\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\r\n get: function () {\r\n if (!IsReadableStreamDefaultReader(this)) {\r\n return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\r\n }\r\n return this._closedPromise;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\r\n if (!IsReadableStreamDefaultReader(this)) {\r\n return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\r\n }\r\n if (this._ownerReadableStream === undefined) {\r\n return promiseRejectedWith(readerLockException('cancel'));\r\n }\r\n return ReadableStreamReaderGenericCancel(this, reason);\r\n };\r\n ReadableStreamDefaultReader.prototype.read = function () {\r\n if (!IsReadableStreamDefaultReader(this)) {\r\n return promiseRejectedWith(defaultReaderBrandCheckException('read'));\r\n }\r\n if (this._ownerReadableStream === undefined) {\r\n return promiseRejectedWith(readerLockException('read from'));\r\n }\r\n return ReadableStreamDefaultReaderRead(this);\r\n };\r\n ReadableStreamDefaultReader.prototype.releaseLock = function () {\r\n if (!IsReadableStreamDefaultReader(this)) {\r\n throw defaultReaderBrandCheckException('releaseLock');\r\n }\r\n if (this._ownerReadableStream === undefined) {\r\n return;\r\n }\r\n if (this._readRequests.length > 0) {\r\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\r\n }\r\n ReadableStreamReaderGenericRelease(this);\r\n };\r\n return ReadableStreamDefaultReader;\r\n }());\r\n // Abstract operations for the readers.\r\n function IsReadableStreamDefaultReader(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n function ReadableStreamDefaultReaderRead(reader) {\r\n var stream = reader._ownerReadableStream;\r\n stream._disturbed = true;\r\n if (stream._state === 'closed') {\r\n return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\r\n }\r\n if (stream._state === 'errored') {\r\n return promiseRejectedWith(stream._storedError);\r\n }\r\n return stream._readableStreamController[PullSteps]();\r\n }\r\n // Helper functions for the ReadableStreamDefaultReader.\r\n function defaultReaderBrandCheckException(name) {\r\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\r\n }\n\n /// \r\n var _a;\r\n var AsyncIteratorPrototype;\r\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\r\n // We're running inside a ES2018+ environment, but we're compiling to an older syntax.\r\n // We cannot access %AsyncIteratorPrototype% without non-ES2018 syntax, but we can re-create it.\r\n AsyncIteratorPrototype = (_a = {},\r\n // 25.1.3.1 %AsyncIteratorPrototype% [ @@asyncIterator ] ( )\r\n // https://tc39.github.io/ecma262/#sec-asynciteratorprototype-asynciterator\r\n _a[SymbolPolyfill.asyncIterator] = function () {\r\n return this;\r\n },\r\n _a);\r\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\r\n }\n\n /// \r\n var ReadableStreamAsyncIteratorPrototype = {\r\n next: function () {\r\n if (IsReadableStreamAsyncIterator(this) === false) {\r\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\r\n }\r\n var reader = this._asyncIteratorReader;\r\n if (reader._ownerReadableStream === undefined) {\r\n return promiseRejectedWith(readerLockException('iterate'));\r\n }\r\n return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\r\n var done = result.done;\r\n if (done) {\r\n ReadableStreamReaderGenericRelease(reader);\r\n }\r\n var value = result.value;\r\n return ReadableStreamCreateReadResult(value, done, true);\r\n });\r\n },\r\n return: function (value) {\r\n if (IsReadableStreamAsyncIterator(this) === false) {\r\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\r\n }\r\n var reader = this._asyncIteratorReader;\r\n if (reader._ownerReadableStream === undefined) {\r\n return promiseRejectedWith(readerLockException('finish iterating'));\r\n }\r\n if (reader._readRequests.length > 0) {\r\n return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));\r\n }\r\n if (this._preventCancel === false) {\r\n var result = ReadableStreamReaderGenericCancel(reader, value);\r\n ReadableStreamReaderGenericRelease(reader);\r\n return transformPromiseWith(result, function () { return ReadableStreamCreateReadResult(value, true, true); });\r\n }\r\n ReadableStreamReaderGenericRelease(reader);\r\n return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));\r\n }\r\n };\r\n if (AsyncIteratorPrototype !== undefined) {\r\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\r\n }\r\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\r\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\r\n // Abstract operations for the ReadableStream.\r\n function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\r\n if (preventCancel === void 0) { preventCancel = false; }\r\n var reader = AcquireReadableStreamDefaultReader(stream);\r\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\r\n iterator._asyncIteratorReader = reader;\r\n iterator._preventCancel = Boolean(preventCancel);\r\n return iterator;\r\n }\r\n function IsReadableStreamAsyncIterator(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n // Helper functions for the ReadableStream.\r\n function streamAsyncIteratorBrandCheckException(name) {\r\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\r\n }\n\n function DequeueValue(container) {\r\n var pair = container._queue.shift();\r\n container._queueTotalSize -= pair.size;\r\n if (container._queueTotalSize < 0) {\r\n container._queueTotalSize = 0;\r\n }\r\n return pair.value;\r\n }\r\n function EnqueueValueWithSize(container, value, size) {\r\n size = Number(size);\r\n if (!IsFiniteNonNegativeNumber(size)) {\r\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\r\n }\r\n container._queue.push({ value: value, size: size });\r\n container._queueTotalSize += size;\r\n }\r\n function PeekQueueValue(container) {\r\n var pair = container._queue.peek();\r\n return pair.value;\r\n }\r\n function ResetQueue(container) {\r\n container._queue = new SimpleQueue();\r\n container._queueTotalSize = 0;\r\n }\n\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\r\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\r\n var WritableStream = /** @class */ (function () {\r\n function WritableStream(underlyingSink, strategy) {\r\n if (underlyingSink === void 0) { underlyingSink = {}; }\r\n if (strategy === void 0) { strategy = {}; }\r\n InitializeWritableStream(this);\r\n var size = strategy.size;\r\n var highWaterMark = strategy.highWaterMark;\r\n var type = underlyingSink.type;\r\n if (type !== undefined) {\r\n throw new RangeError('Invalid type is specified');\r\n }\r\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\r\n if (highWaterMark === undefined) {\r\n highWaterMark = 1;\r\n }\r\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\r\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\r\n }\r\n Object.defineProperty(WritableStream.prototype, \"locked\", {\r\n get: function () {\r\n if (IsWritableStream(this) === false) {\r\n throw streamBrandCheckException('locked');\r\n }\r\n return IsWritableStreamLocked(this);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n WritableStream.prototype.abort = function (reason) {\r\n if (IsWritableStream(this) === false) {\r\n return promiseRejectedWith(streamBrandCheckException('abort'));\r\n }\r\n if (IsWritableStreamLocked(this) === true) {\r\n return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\r\n }\r\n return WritableStreamAbort(this, reason);\r\n };\r\n WritableStream.prototype.close = function () {\r\n if (IsWritableStream(this) === false) {\r\n return promiseRejectedWith(streamBrandCheckException('close'));\r\n }\r\n if (IsWritableStreamLocked(this) === true) {\r\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\r\n }\r\n if (WritableStreamCloseQueuedOrInFlight(this) === true) {\r\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\r\n }\r\n return WritableStreamClose(this);\r\n };\r\n WritableStream.prototype.getWriter = function () {\r\n if (IsWritableStream(this) === false) {\r\n throw streamBrandCheckException('getWriter');\r\n }\r\n return AcquireWritableStreamDefaultWriter(this);\r\n };\r\n return WritableStream;\r\n }());\r\n // Abstract operations for the WritableStream.\r\n function AcquireWritableStreamDefaultWriter(stream) {\r\n return new WritableStreamDefaultWriter(stream);\r\n }\r\n // Throws if and only if startAlgorithm throws.\r\n function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\r\n if (highWaterMark === void 0) { highWaterMark = 1; }\r\n if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\r\n var stream = Object.create(WritableStream.prototype);\r\n InitializeWritableStream(stream);\r\n var controller = Object.create(WritableStreamDefaultController.prototype);\r\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\r\n return stream;\r\n }\r\n function InitializeWritableStream(stream) {\r\n stream._state = 'writable';\r\n // The error that will be reported by new method calls once the state becomes errored. Only set when [[state]] is\r\n // 'erroring' or 'errored'. May be set to an undefined value.\r\n stream._storedError = undefined;\r\n stream._writer = undefined;\r\n // Initialize to undefined first because the constructor of the controller checks this\r\n // variable to validate the caller.\r\n stream._writableStreamController = undefined;\r\n // This queue is placed here instead of the writer class in order to allow for passing a writer to the next data\r\n // producer without waiting for the queued writes to finish.\r\n stream._writeRequests = new SimpleQueue();\r\n // Write requests are removed from _writeRequests when write() is called on the underlying sink. This prevents\r\n // them from being erroneously rejected on error. If a write() call is in-flight, the request is stored here.\r\n stream._inFlightWriteRequest = undefined;\r\n // The promise that was returned from writer.close(). Stored here because it may be fulfilled after the writer\r\n // has been detached.\r\n stream._closeRequest = undefined;\r\n // Close request is removed from _closeRequest when close() is called on the underlying sink. This prevents it\r\n // from being erroneously rejected on error. If a close() call is in-flight, the request is stored here.\r\n stream._inFlightCloseRequest = undefined;\r\n // The promise that was returned from writer.abort(). This may also be fulfilled after the writer has detached.\r\n stream._pendingAbortRequest = undefined;\r\n // The backpressure signal set by the controller.\r\n stream._backpressure = false;\r\n }\r\n function IsWritableStream(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n function IsWritableStreamLocked(stream) {\r\n if (stream._writer === undefined) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n function WritableStreamAbort(stream, reason) {\r\n var state = stream._state;\r\n if (state === 'closed' || state === 'errored') {\r\n return promiseResolvedWith(undefined);\r\n }\r\n if (stream._pendingAbortRequest !== undefined) {\r\n return stream._pendingAbortRequest._promise;\r\n }\r\n var wasAlreadyErroring = false;\r\n if (state === 'erroring') {\r\n wasAlreadyErroring = true;\r\n // reason will not be used, so don't keep a reference to it.\r\n reason = undefined;\r\n }\r\n var promise = newPromise(function (resolve, reject) {\r\n stream._pendingAbortRequest = {\r\n _promise: undefined,\r\n _resolve: resolve,\r\n _reject: reject,\r\n _reason: reason,\r\n _wasAlreadyErroring: wasAlreadyErroring\r\n };\r\n });\r\n stream._pendingAbortRequest._promise = promise;\r\n if (wasAlreadyErroring === false) {\r\n WritableStreamStartErroring(stream, reason);\r\n }\r\n return promise;\r\n }\r\n function WritableStreamClose(stream) {\r\n var state = stream._state;\r\n if (state === 'closed' || state === 'errored') {\r\n return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\r\n }\r\n var promise = newPromise(function (resolve, reject) {\r\n var closeRequest = {\r\n _resolve: resolve,\r\n _reject: reject\r\n };\r\n stream._closeRequest = closeRequest;\r\n });\r\n var writer = stream._writer;\r\n if (writer !== undefined && stream._backpressure === true && state === 'writable') {\r\n defaultWriterReadyPromiseResolve(writer);\r\n }\r\n WritableStreamDefaultControllerClose(stream._writableStreamController);\r\n return promise;\r\n }\r\n // WritableStream API exposed for controllers.\r\n function WritableStreamAddWriteRequest(stream) {\r\n var promise = newPromise(function (resolve, reject) {\r\n var writeRequest = {\r\n _resolve: resolve,\r\n _reject: reject\r\n };\r\n stream._writeRequests.push(writeRequest);\r\n });\r\n return promise;\r\n }\r\n function WritableStreamDealWithRejection(stream, error) {\r\n var state = stream._state;\r\n if (state === 'writable') {\r\n WritableStreamStartErroring(stream, error);\r\n return;\r\n }\r\n WritableStreamFinishErroring(stream);\r\n }\r\n function WritableStreamStartErroring(stream, reason) {\r\n var controller = stream._writableStreamController;\r\n stream._state = 'erroring';\r\n stream._storedError = reason;\r\n var writer = stream._writer;\r\n if (writer !== undefined) {\r\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\r\n }\r\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\r\n WritableStreamFinishErroring(stream);\r\n }\r\n }\r\n function WritableStreamFinishErroring(stream) {\r\n stream._state = 'errored';\r\n stream._writableStreamController[ErrorSteps]();\r\n var storedError = stream._storedError;\r\n stream._writeRequests.forEach(function (writeRequest) {\r\n writeRequest._reject(storedError);\r\n });\r\n stream._writeRequests = new SimpleQueue();\r\n if (stream._pendingAbortRequest === undefined) {\r\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\r\n return;\r\n }\r\n var abortRequest = stream._pendingAbortRequest;\r\n stream._pendingAbortRequest = undefined;\r\n if (abortRequest._wasAlreadyErroring === true) {\r\n abortRequest._reject(storedError);\r\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\r\n return;\r\n }\r\n var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\r\n uponPromise(promise, function () {\r\n abortRequest._resolve();\r\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\r\n }, function (reason) {\r\n abortRequest._reject(reason);\r\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\r\n });\r\n }\r\n function WritableStreamFinishInFlightWrite(stream) {\r\n stream._inFlightWriteRequest._resolve(undefined);\r\n stream._inFlightWriteRequest = undefined;\r\n }\r\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\r\n stream._inFlightWriteRequest._reject(error);\r\n stream._inFlightWriteRequest = undefined;\r\n WritableStreamDealWithRejection(stream, error);\r\n }\r\n function WritableStreamFinishInFlightClose(stream) {\r\n stream._inFlightCloseRequest._resolve(undefined);\r\n stream._inFlightCloseRequest = undefined;\r\n var state = stream._state;\r\n if (state === 'erroring') {\r\n // The error was too late to do anything, so it is ignored.\r\n stream._storedError = undefined;\r\n if (stream._pendingAbortRequest !== undefined) {\r\n stream._pendingAbortRequest._resolve();\r\n stream._pendingAbortRequest = undefined;\r\n }\r\n }\r\n stream._state = 'closed';\r\n var writer = stream._writer;\r\n if (writer !== undefined) {\r\n defaultWriterClosedPromiseResolve(writer);\r\n }\r\n }\r\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\r\n stream._inFlightCloseRequest._reject(error);\r\n stream._inFlightCloseRequest = undefined;\r\n // Never execute sink abort() after sink close().\r\n if (stream._pendingAbortRequest !== undefined) {\r\n stream._pendingAbortRequest._reject(error);\r\n stream._pendingAbortRequest = undefined;\r\n }\r\n WritableStreamDealWithRejection(stream, error);\r\n }\r\n // TODO(ricea): Fix alphabetical order.\r\n function WritableStreamCloseQueuedOrInFlight(stream) {\r\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n function WritableStreamHasOperationMarkedInFlight(stream) {\r\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n function WritableStreamMarkCloseRequestInFlight(stream) {\r\n stream._inFlightCloseRequest = stream._closeRequest;\r\n stream._closeRequest = undefined;\r\n }\r\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\r\n stream._inFlightWriteRequest = stream._writeRequests.shift();\r\n }\r\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\r\n if (stream._closeRequest !== undefined) {\r\n stream._closeRequest._reject(stream._storedError);\r\n stream._closeRequest = undefined;\r\n }\r\n var writer = stream._writer;\r\n if (writer !== undefined) {\r\n defaultWriterClosedPromiseReject(writer, stream._storedError);\r\n }\r\n }\r\n function WritableStreamUpdateBackpressure(stream, backpressure) {\r\n var writer = stream._writer;\r\n if (writer !== undefined && backpressure !== stream._backpressure) {\r\n if (backpressure === true) {\r\n defaultWriterReadyPromiseReset(writer);\r\n }\r\n else {\r\n defaultWriterReadyPromiseResolve(writer);\r\n }\r\n }\r\n stream._backpressure = backpressure;\r\n }\r\n var WritableStreamDefaultWriter = /** @class */ (function () {\r\n function WritableStreamDefaultWriter(stream) {\r\n if (IsWritableStream(stream) === false) {\r\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\r\n }\r\n if (IsWritableStreamLocked(stream) === true) {\r\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\r\n }\r\n this._ownerWritableStream = stream;\r\n stream._writer = this;\r\n var state = stream._state;\r\n if (state === 'writable') {\r\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\r\n defaultWriterReadyPromiseInitialize(this);\r\n }\r\n else {\r\n defaultWriterReadyPromiseInitializeAsResolved(this);\r\n }\r\n defaultWriterClosedPromiseInitialize(this);\r\n }\r\n else if (state === 'erroring') {\r\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\r\n defaultWriterClosedPromiseInitialize(this);\r\n }\r\n else if (state === 'closed') {\r\n defaultWriterReadyPromiseInitializeAsResolved(this);\r\n defaultWriterClosedPromiseInitializeAsResolved(this);\r\n }\r\n else {\r\n var storedError = stream._storedError;\r\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\r\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\r\n }\r\n }\r\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\r\n get: function () {\r\n if (IsWritableStreamDefaultWriter(this) === false) {\r\n return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\r\n }\r\n return this._closedPromise;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\r\n get: function () {\r\n if (IsWritableStreamDefaultWriter(this) === false) {\r\n throw defaultWriterBrandCheckException('desiredSize');\r\n }\r\n if (this._ownerWritableStream === undefined) {\r\n throw defaultWriterLockException('desiredSize');\r\n }\r\n return WritableStreamDefaultWriterGetDesiredSize(this);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\r\n get: function () {\r\n if (IsWritableStreamDefaultWriter(this) === false) {\r\n return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\r\n }\r\n return this._readyPromise;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\r\n if (IsWritableStreamDefaultWriter(this) === false) {\r\n return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\r\n }\r\n if (this._ownerWritableStream === undefined) {\r\n return promiseRejectedWith(defaultWriterLockException('abort'));\r\n }\r\n return WritableStreamDefaultWriterAbort(this, reason);\r\n };\r\n WritableStreamDefaultWriter.prototype.close = function () {\r\n if (IsWritableStreamDefaultWriter(this) === false) {\r\n return promiseRejectedWith(defaultWriterBrandCheckException('close'));\r\n }\r\n var stream = this._ownerWritableStream;\r\n if (stream === undefined) {\r\n return promiseRejectedWith(defaultWriterLockException('close'));\r\n }\r\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\r\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\r\n }\r\n return WritableStreamDefaultWriterClose(this);\r\n };\r\n WritableStreamDefaultWriter.prototype.releaseLock = function () {\r\n if (IsWritableStreamDefaultWriter(this) === false) {\r\n throw defaultWriterBrandCheckException('releaseLock');\r\n }\r\n var stream = this._ownerWritableStream;\r\n if (stream === undefined) {\r\n return;\r\n }\r\n WritableStreamDefaultWriterRelease(this);\r\n };\r\n WritableStreamDefaultWriter.prototype.write = function (chunk) {\r\n if (IsWritableStreamDefaultWriter(this) === false) {\r\n return promiseRejectedWith(defaultWriterBrandCheckException('write'));\r\n }\r\n if (this._ownerWritableStream === undefined) {\r\n return promiseRejectedWith(defaultWriterLockException('write to'));\r\n }\r\n return WritableStreamDefaultWriterWrite(this, chunk);\r\n };\r\n return WritableStreamDefaultWriter;\r\n }());\r\n // Abstract operations for the WritableStreamDefaultWriter.\r\n function IsWritableStreamDefaultWriter(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n // A client of WritableStreamDefaultWriter may use these functions directly to bypass state check.\r\n function WritableStreamDefaultWriterAbort(writer, reason) {\r\n var stream = writer._ownerWritableStream;\r\n return WritableStreamAbort(stream, reason);\r\n }\r\n function WritableStreamDefaultWriterClose(writer) {\r\n var stream = writer._ownerWritableStream;\r\n return WritableStreamClose(stream);\r\n }\r\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\r\n var stream = writer._ownerWritableStream;\r\n var state = stream._state;\r\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\r\n return promiseResolvedWith(undefined);\r\n }\r\n if (state === 'errored') {\r\n return promiseRejectedWith(stream._storedError);\r\n }\r\n return WritableStreamDefaultWriterClose(writer);\r\n }\r\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\r\n if (writer._closedPromiseState === 'pending') {\r\n defaultWriterClosedPromiseReject(writer, error);\r\n }\r\n else {\r\n defaultWriterClosedPromiseResetToRejected(writer, error);\r\n }\r\n }\r\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\r\n if (writer._readyPromiseState === 'pending') {\r\n defaultWriterReadyPromiseReject(writer, error);\r\n }\r\n else {\r\n defaultWriterReadyPromiseResetToRejected(writer, error);\r\n }\r\n }\r\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\r\n var stream = writer._ownerWritableStream;\r\n var state = stream._state;\r\n if (state === 'errored' || state === 'erroring') {\r\n return null;\r\n }\r\n if (state === 'closed') {\r\n return 0;\r\n }\r\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\r\n }\r\n function WritableStreamDefaultWriterRelease(writer) {\r\n var stream = writer._ownerWritableStream;\r\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\r\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\r\n // The state transitions to \"errored\" before the sink abort() method runs, but the writer.closed promise is not\r\n // rejected until afterwards. This means that simply testing state will not work.\r\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\r\n stream._writer = undefined;\r\n writer._ownerWritableStream = undefined;\r\n }\r\n function WritableStreamDefaultWriterWrite(writer, chunk) {\r\n var stream = writer._ownerWritableStream;\r\n var controller = stream._writableStreamController;\r\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\r\n if (stream !== writer._ownerWritableStream) {\r\n return promiseRejectedWith(defaultWriterLockException('write to'));\r\n }\r\n var state = stream._state;\r\n if (state === 'errored') {\r\n return promiseRejectedWith(stream._storedError);\r\n }\r\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\r\n return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\r\n }\r\n if (state === 'erroring') {\r\n return promiseRejectedWith(stream._storedError);\r\n }\r\n var promise = WritableStreamAddWriteRequest(stream);\r\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\r\n return promise;\r\n }\r\n var WritableStreamDefaultController = /** @class */ (function () {\r\n /** @internal */\r\n function WritableStreamDefaultController() {\r\n throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\r\n }\r\n WritableStreamDefaultController.prototype.error = function (e) {\r\n if (IsWritableStreamDefaultController(this) === false) {\r\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\r\n }\r\n var state = this._controlledWritableStream._state;\r\n if (state !== 'writable') {\r\n // The stream is closed, errored or will be soon. The sink can't do anything useful if it gets an error here, so\r\n // just treat it as a no-op.\r\n return;\r\n }\r\n WritableStreamDefaultControllerError(this, e);\r\n };\r\n /** @internal */\r\n WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\r\n var result = this._abortAlgorithm(reason);\r\n WritableStreamDefaultControllerClearAlgorithms(this);\r\n return result;\r\n };\r\n /** @internal */\r\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\r\n ResetQueue(this);\r\n };\r\n return WritableStreamDefaultController;\r\n }());\r\n // Abstract operations implementing interface required by the WritableStream.\r\n function IsWritableStreamDefaultController(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\r\n controller._controlledWritableStream = stream;\r\n stream._writableStreamController = controller;\r\n // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\r\n controller._queue = undefined;\r\n controller._queueTotalSize = undefined;\r\n ResetQueue(controller);\r\n controller._started = false;\r\n controller._strategySizeAlgorithm = sizeAlgorithm;\r\n controller._strategyHWM = highWaterMark;\r\n controller._writeAlgorithm = writeAlgorithm;\r\n controller._closeAlgorithm = closeAlgorithm;\r\n controller._abortAlgorithm = abortAlgorithm;\r\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\r\n WritableStreamUpdateBackpressure(stream, backpressure);\r\n var startResult = startAlgorithm();\r\n var startPromise = promiseResolvedWith(startResult);\r\n uponPromise(startPromise, function () {\r\n controller._started = true;\r\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\r\n }, function (r) {\r\n controller._started = true;\r\n WritableStreamDealWithRejection(stream, r);\r\n });\r\n }\r\n function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\r\n var controller = Object.create(WritableStreamDefaultController.prototype);\r\n function startAlgorithm() {\r\n return InvokeOrNoop(underlyingSink, 'start', [controller]);\r\n }\r\n var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);\r\n var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);\r\n var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);\r\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\r\n }\r\n // ClearAlgorithms may be called twice. Erroring the same stream in multiple ways will often result in redundant calls.\r\n function WritableStreamDefaultControllerClearAlgorithms(controller) {\r\n controller._writeAlgorithm = undefined;\r\n controller._closeAlgorithm = undefined;\r\n controller._abortAlgorithm = undefined;\r\n controller._strategySizeAlgorithm = undefined;\r\n }\r\n function WritableStreamDefaultControllerClose(controller) {\r\n EnqueueValueWithSize(controller, 'close', 0);\r\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\r\n }\r\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\r\n try {\r\n return controller._strategySizeAlgorithm(chunk);\r\n }\r\n catch (chunkSizeE) {\r\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\r\n return 1;\r\n }\r\n }\r\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\r\n return controller._strategyHWM - controller._queueTotalSize;\r\n }\r\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\r\n var writeRecord = { chunk: chunk };\r\n try {\r\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\r\n }\r\n catch (enqueueE) {\r\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\r\n return;\r\n }\r\n var stream = controller._controlledWritableStream;\r\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\r\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\r\n WritableStreamUpdateBackpressure(stream, backpressure);\r\n }\r\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\r\n }\r\n // Abstract operations for the WritableStreamDefaultController.\r\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\r\n var stream = controller._controlledWritableStream;\r\n if (controller._started === false) {\r\n return;\r\n }\r\n if (stream._inFlightWriteRequest !== undefined) {\r\n return;\r\n }\r\n var state = stream._state;\r\n if (state === 'erroring') {\r\n WritableStreamFinishErroring(stream);\r\n return;\r\n }\r\n if (controller._queue.length === 0) {\r\n return;\r\n }\r\n var writeRecord = PeekQueueValue(controller);\r\n if (writeRecord === 'close') {\r\n WritableStreamDefaultControllerProcessClose(controller);\r\n }\r\n else {\r\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\r\n }\r\n }\r\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\r\n if (controller._controlledWritableStream._state === 'writable') {\r\n WritableStreamDefaultControllerError(controller, error);\r\n }\r\n }\r\n function WritableStreamDefaultControllerProcessClose(controller) {\r\n var stream = controller._controlledWritableStream;\r\n WritableStreamMarkCloseRequestInFlight(stream);\r\n DequeueValue(controller);\r\n var sinkClosePromise = controller._closeAlgorithm();\r\n WritableStreamDefaultControllerClearAlgorithms(controller);\r\n uponPromise(sinkClosePromise, function () {\r\n WritableStreamFinishInFlightClose(stream);\r\n }, function (reason) {\r\n WritableStreamFinishInFlightCloseWithError(stream, reason);\r\n });\r\n }\r\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\r\n var stream = controller._controlledWritableStream;\r\n WritableStreamMarkFirstWriteRequestInFlight(stream);\r\n var sinkWritePromise = controller._writeAlgorithm(chunk);\r\n uponPromise(sinkWritePromise, function () {\r\n WritableStreamFinishInFlightWrite(stream);\r\n var state = stream._state;\r\n DequeueValue(controller);\r\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\r\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\r\n WritableStreamUpdateBackpressure(stream, backpressure);\r\n }\r\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\r\n }, function (reason) {\r\n if (stream._state === 'writable') {\r\n WritableStreamDefaultControllerClearAlgorithms(controller);\r\n }\r\n WritableStreamFinishInFlightWriteWithError(stream, reason);\r\n });\r\n }\r\n function WritableStreamDefaultControllerGetBackpressure(controller) {\r\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\r\n return desiredSize <= 0;\r\n }\r\n // A client of WritableStreamDefaultController may use these functions directly to bypass state check.\r\n function WritableStreamDefaultControllerError(controller, error) {\r\n var stream = controller._controlledWritableStream;\r\n WritableStreamDefaultControllerClearAlgorithms(controller);\r\n WritableStreamStartErroring(stream, error);\r\n }\r\n // Helper functions for the WritableStream.\r\n function streamBrandCheckException(name) {\r\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\r\n }\r\n // Helper functions for the WritableStreamDefaultWriter.\r\n function defaultWriterBrandCheckException(name) {\r\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\r\n }\r\n function defaultWriterLockException(name) {\r\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\r\n }\r\n function defaultWriterClosedPromiseInitialize(writer) {\r\n writer._closedPromise = newPromise(function (resolve, reject) {\r\n writer._closedPromise_resolve = resolve;\r\n writer._closedPromise_reject = reject;\r\n writer._closedPromiseState = 'pending';\r\n });\r\n }\r\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\r\n defaultWriterClosedPromiseInitialize(writer);\r\n defaultWriterClosedPromiseReject(writer, reason);\r\n }\r\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\r\n defaultWriterClosedPromiseInitialize(writer);\r\n defaultWriterClosedPromiseResolve(writer);\r\n }\r\n function defaultWriterClosedPromiseReject(writer, reason) {\r\n setPromiseIsHandledToTrue(writer._closedPromise);\r\n writer._closedPromise_reject(reason);\r\n writer._closedPromise_resolve = undefined;\r\n writer._closedPromise_reject = undefined;\r\n writer._closedPromiseState = 'rejected';\r\n }\r\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\r\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\r\n }\r\n function defaultWriterClosedPromiseResolve(writer) {\r\n writer._closedPromise_resolve(undefined);\r\n writer._closedPromise_resolve = undefined;\r\n writer._closedPromise_reject = undefined;\r\n writer._closedPromiseState = 'resolved';\r\n }\r\n function defaultWriterReadyPromiseInitialize(writer) {\r\n writer._readyPromise = newPromise(function (resolve, reject) {\r\n writer._readyPromise_resolve = resolve;\r\n writer._readyPromise_reject = reject;\r\n });\r\n writer._readyPromiseState = 'pending';\r\n }\r\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\r\n defaultWriterReadyPromiseInitialize(writer);\r\n defaultWriterReadyPromiseReject(writer, reason);\r\n }\r\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\r\n defaultWriterReadyPromiseInitialize(writer);\r\n defaultWriterReadyPromiseResolve(writer);\r\n }\r\n function defaultWriterReadyPromiseReject(writer, reason) {\r\n setPromiseIsHandledToTrue(writer._readyPromise);\r\n writer._readyPromise_reject(reason);\r\n writer._readyPromise_resolve = undefined;\r\n writer._readyPromise_reject = undefined;\r\n writer._readyPromiseState = 'rejected';\r\n }\r\n function defaultWriterReadyPromiseReset(writer) {\r\n defaultWriterReadyPromiseInitialize(writer);\r\n }\r\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\r\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\r\n }\r\n function defaultWriterReadyPromiseResolve(writer) {\r\n writer._readyPromise_resolve(undefined);\r\n writer._readyPromise_resolve = undefined;\r\n writer._readyPromise_reject = undefined;\r\n writer._readyPromiseState = 'fulfilled';\r\n }\n\n function isAbortSignal(value) {\r\n if (typeof value !== 'object' || value === null) {\r\n return false;\r\n }\r\n try {\r\n return typeof value.aborted === 'boolean';\r\n }\r\n catch (_a) {\r\n // AbortSignal.prototype.aborted throws if its brand check fails\r\n return false;\r\n }\r\n }\n\n /// \r\n var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n\n /// \r\n function isDOMExceptionConstructor(ctor) {\r\n if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\r\n return false;\r\n }\r\n try {\r\n new ctor();\r\n return true;\r\n }\r\n catch (_a) {\r\n return false;\r\n }\r\n }\r\n function createDOMExceptionPolyfill() {\r\n var ctor = function DOMException(message, name) {\r\n this.message = message || '';\r\n this.name = name || 'Error';\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(this, this.constructor);\r\n }\r\n };\r\n ctor.prototype = Object.create(Error.prototype);\r\n Object.defineProperty(ctor.prototype, 'constructor', { value: ctor, writable: true, configurable: true });\r\n return ctor;\r\n }\r\n var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n\n function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\r\n var reader = AcquireReadableStreamDefaultReader(source);\r\n var writer = AcquireWritableStreamDefaultWriter(dest);\r\n source._disturbed = true;\r\n var shuttingDown = false;\r\n // This is used to keep track of the spec's requirement that we wait for ongoing writes during shutdown.\r\n var currentWrite = promiseResolvedWith(undefined);\r\n return newPromise(function (resolve, reject) {\r\n var abortAlgorithm;\r\n if (signal !== undefined) {\r\n abortAlgorithm = function () {\r\n var error = new DOMException$1('Aborted', 'AbortError');\r\n var actions = [];\r\n if (preventAbort === false) {\r\n actions.push(function () {\r\n if (dest._state === 'writable') {\r\n return WritableStreamAbort(dest, error);\r\n }\r\n return promiseResolvedWith(undefined);\r\n });\r\n }\r\n if (preventCancel === false) {\r\n actions.push(function () {\r\n if (source._state === 'readable') {\r\n return ReadableStreamCancel(source, error);\r\n }\r\n return promiseResolvedWith(undefined);\r\n });\r\n }\r\n shutdownWithAction(function () { return Promise.all(actions.map(function (action) { return action(); })); }, true, error);\r\n };\r\n if (signal.aborted === true) {\r\n abortAlgorithm();\r\n return;\r\n }\r\n signal.addEventListener('abort', abortAlgorithm);\r\n }\r\n // Using reader and writer, read all chunks from this and write them to dest\r\n // - Backpressure must be enforced\r\n // - Shutdown must stop all activity\r\n function pipeLoop() {\r\n return newPromise(function (resolveLoop, rejectLoop) {\r\n function next(done) {\r\n if (done) {\r\n resolveLoop();\r\n }\r\n else {\r\n // Use `PerformPromiseThen` instead of `uponPromise` to avoid\r\n // adding unnecessary `.catch(rethrowAssertionErrorRejection)` handlers\r\n PerformPromiseThen(pipeStep(), next, rejectLoop);\r\n }\r\n }\r\n next(false);\r\n });\r\n }\r\n function pipeStep() {\r\n if (shuttingDown === true) {\r\n return promiseResolvedWith(true);\r\n }\r\n return PerformPromiseThen(writer._readyPromise, function () {\r\n return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (_a) {\r\n var value = _a.value, done = _a.done;\r\n if (done === true) {\r\n return true;\r\n }\r\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, value), undefined, noop);\r\n return false;\r\n });\r\n });\r\n }\r\n // Errors must be propagated forward\r\n isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\r\n if (preventAbort === false) {\r\n shutdownWithAction(function () { return WritableStreamAbort(dest, storedError); }, true, storedError);\r\n }\r\n else {\r\n shutdown(true, storedError);\r\n }\r\n });\r\n // Errors must be propagated backward\r\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\r\n if (preventCancel === false) {\r\n shutdownWithAction(function () { return ReadableStreamCancel(source, storedError); }, true, storedError);\r\n }\r\n else {\r\n shutdown(true, storedError);\r\n }\r\n });\r\n // Closing must be propagated forward\r\n isOrBecomesClosed(source, reader._closedPromise, function () {\r\n if (preventClose === false) {\r\n shutdownWithAction(function () { return WritableStreamDefaultWriterCloseWithErrorPropagation(writer); });\r\n }\r\n else {\r\n shutdown();\r\n }\r\n });\r\n // Closing must be propagated backward\r\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\r\n var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\r\n if (preventCancel === false) {\r\n shutdownWithAction(function () { return ReadableStreamCancel(source, destClosed_1); }, true, destClosed_1);\r\n }\r\n else {\r\n shutdown(true, destClosed_1);\r\n }\r\n }\r\n setPromiseIsHandledToTrue(pipeLoop());\r\n function waitForWritesToFinish() {\r\n // Another write may have started while we were waiting on this currentWrite, so we have to be sure to wait\r\n // for that too.\r\n var oldCurrentWrite = currentWrite;\r\n return PerformPromiseThen(currentWrite, function () { return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined; });\r\n }\r\n function isOrBecomesErrored(stream, promise, action) {\r\n if (stream._state === 'errored') {\r\n action(stream._storedError);\r\n }\r\n else {\r\n uponRejection(promise, action);\r\n }\r\n }\r\n function isOrBecomesClosed(stream, promise, action) {\r\n if (stream._state === 'closed') {\r\n action();\r\n }\r\n else {\r\n uponFulfillment(promise, action);\r\n }\r\n }\r\n function shutdownWithAction(action, originalIsError, originalError) {\r\n if (shuttingDown === true) {\r\n return;\r\n }\r\n shuttingDown = true;\r\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\r\n uponFulfillment(waitForWritesToFinish(), doTheRest);\r\n }\r\n else {\r\n doTheRest();\r\n }\r\n function doTheRest() {\r\n uponPromise(action(), function () { return finalize(originalIsError, originalError); }, function (newError) { return finalize(true, newError); });\r\n }\r\n }\r\n function shutdown(isError, error) {\r\n if (shuttingDown === true) {\r\n return;\r\n }\r\n shuttingDown = true;\r\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\r\n uponFulfillment(waitForWritesToFinish(), function () { return finalize(isError, error); });\r\n }\r\n else {\r\n finalize(isError, error);\r\n }\r\n }\r\n function finalize(isError, error) {\r\n WritableStreamDefaultWriterRelease(writer);\r\n ReadableStreamReaderGenericRelease(reader);\r\n if (signal !== undefined) {\r\n signal.removeEventListener('abort', abortAlgorithm);\r\n }\r\n if (isError) {\r\n reject(error);\r\n }\r\n else {\r\n resolve(undefined);\r\n }\r\n }\r\n });\r\n }\n\n var ReadableStreamDefaultController = /** @class */ (function () {\r\n /** @internal */\r\n function ReadableStreamDefaultController() {\r\n throw new TypeError();\r\n }\r\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\r\n get: function () {\r\n if (IsReadableStreamDefaultController(this) === false) {\r\n throw defaultControllerBrandCheckException('desiredSize');\r\n }\r\n return ReadableStreamDefaultControllerGetDesiredSize(this);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ReadableStreamDefaultController.prototype.close = function () {\r\n if (IsReadableStreamDefaultController(this) === false) {\r\n throw defaultControllerBrandCheckException('close');\r\n }\r\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\r\n throw new TypeError('The stream is not in a state that permits close');\r\n }\r\n ReadableStreamDefaultControllerClose(this);\r\n };\r\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\r\n if (IsReadableStreamDefaultController(this) === false) {\r\n throw defaultControllerBrandCheckException('enqueue');\r\n }\r\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\r\n throw new TypeError('The stream is not in a state that permits enqueue');\r\n }\r\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\r\n };\r\n ReadableStreamDefaultController.prototype.error = function (e) {\r\n if (IsReadableStreamDefaultController(this) === false) {\r\n throw defaultControllerBrandCheckException('error');\r\n }\r\n ReadableStreamDefaultControllerError(this, e);\r\n };\r\n /** @internal */\r\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\r\n ResetQueue(this);\r\n var result = this._cancelAlgorithm(reason);\r\n ReadableStreamDefaultControllerClearAlgorithms(this);\r\n return result;\r\n };\r\n /** @internal */\r\n ReadableStreamDefaultController.prototype[PullSteps] = function () {\r\n var stream = this._controlledReadableStream;\r\n if (this._queue.length > 0) {\r\n var chunk = DequeueValue(this);\r\n if (this._closeRequested === true && this._queue.length === 0) {\r\n ReadableStreamDefaultControllerClearAlgorithms(this);\r\n ReadableStreamClose(stream);\r\n }\r\n else {\r\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\r\n }\r\n return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\r\n }\r\n var pendingPromise = ReadableStreamAddReadRequest(stream);\r\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\r\n return pendingPromise;\r\n };\r\n return ReadableStreamDefaultController;\r\n }());\r\n // Abstract operations for the ReadableStreamDefaultController.\r\n function IsReadableStreamDefaultController(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\r\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\r\n if (shouldPull === false) {\r\n return;\r\n }\r\n if (controller._pulling === true) {\r\n controller._pullAgain = true;\r\n return;\r\n }\r\n controller._pulling = true;\r\n var pullPromise = controller._pullAlgorithm();\r\n uponPromise(pullPromise, function () {\r\n controller._pulling = false;\r\n if (controller._pullAgain === true) {\r\n controller._pullAgain = false;\r\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\r\n }\r\n }, function (e) {\r\n ReadableStreamDefaultControllerError(controller, e);\r\n });\r\n }\r\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\r\n var stream = controller._controlledReadableStream;\r\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\r\n return false;\r\n }\r\n if (controller._started === false) {\r\n return false;\r\n }\r\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\r\n return true;\r\n }\r\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\r\n if (desiredSize > 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n function ReadableStreamDefaultControllerClearAlgorithms(controller) {\r\n controller._pullAlgorithm = undefined;\r\n controller._cancelAlgorithm = undefined;\r\n controller._strategySizeAlgorithm = undefined;\r\n }\r\n // A client of ReadableStreamDefaultController may use these functions directly to bypass state check.\r\n function ReadableStreamDefaultControllerClose(controller) {\r\n var stream = controller._controlledReadableStream;\r\n controller._closeRequested = true;\r\n if (controller._queue.length === 0) {\r\n ReadableStreamDefaultControllerClearAlgorithms(controller);\r\n ReadableStreamClose(stream);\r\n }\r\n }\r\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\r\n var stream = controller._controlledReadableStream;\r\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\r\n ReadableStreamFulfillReadRequest(stream, chunk, false);\r\n }\r\n else {\r\n var chunkSize = void 0;\r\n try {\r\n chunkSize = controller._strategySizeAlgorithm(chunk);\r\n }\r\n catch (chunkSizeE) {\r\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\r\n throw chunkSizeE;\r\n }\r\n try {\r\n EnqueueValueWithSize(controller, chunk, chunkSize);\r\n }\r\n catch (enqueueE) {\r\n ReadableStreamDefaultControllerError(controller, enqueueE);\r\n throw enqueueE;\r\n }\r\n }\r\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\r\n }\r\n function ReadableStreamDefaultControllerError(controller, e) {\r\n var stream = controller._controlledReadableStream;\r\n if (stream._state !== 'readable') {\r\n return;\r\n }\r\n ResetQueue(controller);\r\n ReadableStreamDefaultControllerClearAlgorithms(controller);\r\n ReadableStreamError(stream, e);\r\n }\r\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\r\n var stream = controller._controlledReadableStream;\r\n var state = stream._state;\r\n if (state === 'errored') {\r\n return null;\r\n }\r\n if (state === 'closed') {\r\n return 0;\r\n }\r\n return controller._strategyHWM - controller._queueTotalSize;\r\n }\r\n // This is used in the implementation of TransformStream.\r\n function ReadableStreamDefaultControllerHasBackpressure(controller) {\r\n if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\r\n var state = controller._controlledReadableStream._state;\r\n if (controller._closeRequested === false && state === 'readable') {\r\n return true;\r\n }\r\n return false;\r\n }\r\n function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\r\n controller._controlledReadableStream = stream;\r\n controller._queue = undefined;\r\n controller._queueTotalSize = undefined;\r\n ResetQueue(controller);\r\n controller._started = false;\r\n controller._closeRequested = false;\r\n controller._pullAgain = false;\r\n controller._pulling = false;\r\n controller._strategySizeAlgorithm = sizeAlgorithm;\r\n controller._strategyHWM = highWaterMark;\r\n controller._pullAlgorithm = pullAlgorithm;\r\n controller._cancelAlgorithm = cancelAlgorithm;\r\n stream._readableStreamController = controller;\r\n var startResult = startAlgorithm();\r\n uponPromise(promiseResolvedWith(startResult), function () {\r\n controller._started = true;\r\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\r\n }, function (r) {\r\n ReadableStreamDefaultControllerError(controller, r);\r\n });\r\n }\r\n function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\r\n var controller = Object.create(ReadableStreamDefaultController.prototype);\r\n function startAlgorithm() {\r\n return InvokeOrNoop(underlyingSource, 'start', [controller]);\r\n }\r\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);\r\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);\r\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\r\n }\r\n // Helper functions for the ReadableStreamDefaultController.\r\n function defaultControllerBrandCheckException(name) {\r\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\r\n }\n\n function ReadableStreamTee(stream, cloneForBranch2) {\r\n var reader = AcquireReadableStreamDefaultReader(stream);\r\n var reading = false;\r\n var canceled1 = false;\r\n var canceled2 = false;\r\n var reason1;\r\n var reason2;\r\n var branch1;\r\n var branch2;\r\n var resolveCancelPromise;\r\n var cancelPromise = newPromise(function (resolve) {\r\n resolveCancelPromise = resolve;\r\n });\r\n function pullAlgorithm() {\r\n if (reading === true) {\r\n return promiseResolvedWith(undefined);\r\n }\r\n reading = true;\r\n var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\r\n reading = false;\r\n var done = result.done;\r\n if (done === true) {\r\n if (canceled1 === false) {\r\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\r\n }\r\n if (canceled2 === false) {\r\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\r\n }\r\n return;\r\n }\r\n var value = result.value;\r\n var value1 = value;\r\n var value2 = value;\r\n // There is no way to access the cloning code right now in the reference implementation.\r\n // If we add one then we'll need an implementation for serializable objects.\r\n // if (canceled2 === false && cloneForBranch2 === true) {\r\n // value2 = StructuredDeserialize(StructuredSerialize(value2));\r\n // }\r\n if (canceled1 === false) {\r\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\r\n }\r\n if (canceled2 === false) {\r\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\r\n }\r\n });\r\n setPromiseIsHandledToTrue(readPromise);\r\n return promiseResolvedWith(undefined);\r\n }\r\n function cancel1Algorithm(reason) {\r\n canceled1 = true;\r\n reason1 = reason;\r\n if (canceled2 === true) {\r\n var compositeReason = createArrayFromList([reason1, reason2]);\r\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\r\n resolveCancelPromise(cancelResult);\r\n }\r\n return cancelPromise;\r\n }\r\n function cancel2Algorithm(reason) {\r\n canceled2 = true;\r\n reason2 = reason;\r\n if (canceled1 === true) {\r\n var compositeReason = createArrayFromList([reason1, reason2]);\r\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\r\n resolveCancelPromise(cancelResult);\r\n }\r\n return cancelPromise;\r\n }\r\n function startAlgorithm() { }\r\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\r\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\r\n uponRejection(reader._closedPromise, function (r) {\r\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\r\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\r\n });\r\n return [branch1, branch2];\r\n }\n\n /// \r\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger#Polyfill\r\n var NumberIsInteger = Number.isInteger || function (value) {\r\n return typeof value === 'number' &&\r\n isFinite(value) &&\r\n Math.floor(value) === value;\r\n };\n\n var ReadableStreamBYOBRequest = /** @class */ (function () {\r\n /** @internal */\r\n function ReadableStreamBYOBRequest() {\r\n throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\r\n }\r\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\r\n get: function () {\r\n if (IsReadableStreamBYOBRequest(this) === false) {\r\n throw byobRequestBrandCheckException('view');\r\n }\r\n return this._view;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\r\n if (IsReadableStreamBYOBRequest(this) === false) {\r\n throw byobRequestBrandCheckException('respond');\r\n }\r\n if (this._associatedReadableByteStreamController === undefined) {\r\n throw new TypeError('This BYOB request has been invalidated');\r\n }\r\n if (IsDetachedBuffer(this._view.buffer) === true) ;\r\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\r\n };\r\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\r\n if (IsReadableStreamBYOBRequest(this) === false) {\r\n throw byobRequestBrandCheckException('respond');\r\n }\r\n if (this._associatedReadableByteStreamController === undefined) {\r\n throw new TypeError('This BYOB request has been invalidated');\r\n }\r\n if (!ArrayBuffer.isView(view)) {\r\n throw new TypeError('You can only respond with array buffer views');\r\n }\r\n if (IsDetachedBuffer(view.buffer) === true) ;\r\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\r\n };\r\n return ReadableStreamBYOBRequest;\r\n }());\r\n var ReadableByteStreamController = /** @class */ (function () {\r\n /** @internal */\r\n function ReadableByteStreamController() {\r\n throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\r\n }\r\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\r\n get: function () {\r\n if (IsReadableByteStreamController(this) === false) {\r\n throw byteStreamControllerBrandCheckException('byobRequest');\r\n }\r\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\r\n var firstDescriptor = this._pendingPullIntos.peek();\r\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\r\n var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\r\n SetUpReadableStreamBYOBRequest(byobRequest, this, view);\r\n this._byobRequest = byobRequest;\r\n }\r\n return this._byobRequest;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\r\n get: function () {\r\n if (IsReadableByteStreamController(this) === false) {\r\n throw byteStreamControllerBrandCheckException('desiredSize');\r\n }\r\n return ReadableByteStreamControllerGetDesiredSize(this);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ReadableByteStreamController.prototype.close = function () {\r\n if (IsReadableByteStreamController(this) === false) {\r\n throw byteStreamControllerBrandCheckException('close');\r\n }\r\n if (this._closeRequested === true) {\r\n throw new TypeError('The stream has already been closed; do not close it again!');\r\n }\r\n var state = this._controlledReadableByteStream._state;\r\n if (state !== 'readable') {\r\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\r\n }\r\n ReadableByteStreamControllerClose(this);\r\n };\r\n ReadableByteStreamController.prototype.enqueue = function (chunk) {\r\n if (IsReadableByteStreamController(this) === false) {\r\n throw byteStreamControllerBrandCheckException('enqueue');\r\n }\r\n if (this._closeRequested === true) {\r\n throw new TypeError('stream is closed or draining');\r\n }\r\n var state = this._controlledReadableByteStream._state;\r\n if (state !== 'readable') {\r\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\r\n }\r\n if (!ArrayBuffer.isView(chunk)) {\r\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\r\n }\r\n if (IsDetachedBuffer(chunk.buffer) === true) ;\r\n ReadableByteStreamControllerEnqueue(this, chunk);\r\n };\r\n ReadableByteStreamController.prototype.error = function (e) {\r\n if (IsReadableByteStreamController(this) === false) {\r\n throw byteStreamControllerBrandCheckException('error');\r\n }\r\n ReadableByteStreamControllerError(this, e);\r\n };\r\n /** @internal */\r\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\r\n if (this._pendingPullIntos.length > 0) {\r\n var firstDescriptor = this._pendingPullIntos.peek();\r\n firstDescriptor.bytesFilled = 0;\r\n }\r\n ResetQueue(this);\r\n var result = this._cancelAlgorithm(reason);\r\n ReadableByteStreamControllerClearAlgorithms(this);\r\n return result;\r\n };\r\n /** @internal */\r\n ReadableByteStreamController.prototype[PullSteps] = function () {\r\n var stream = this._controlledReadableByteStream;\r\n if (this._queueTotalSize > 0) {\r\n var entry = this._queue.shift();\r\n this._queueTotalSize -= entry.byteLength;\r\n ReadableByteStreamControllerHandleQueueDrain(this);\r\n var view = void 0;\r\n try {\r\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\r\n }\r\n catch (viewE) {\r\n return promiseRejectedWith(viewE);\r\n }\r\n return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\r\n }\r\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\r\n if (autoAllocateChunkSize !== undefined) {\r\n var buffer = void 0;\r\n try {\r\n buffer = new ArrayBuffer(autoAllocateChunkSize);\r\n }\r\n catch (bufferE) {\r\n return promiseRejectedWith(bufferE);\r\n }\r\n var pullIntoDescriptor = {\r\n buffer: buffer,\r\n byteOffset: 0,\r\n byteLength: autoAllocateChunkSize,\r\n bytesFilled: 0,\r\n elementSize: 1,\r\n ctor: Uint8Array,\r\n readerType: 'default'\r\n };\r\n this._pendingPullIntos.push(pullIntoDescriptor);\r\n }\r\n var promise = ReadableStreamAddReadRequest(stream);\r\n ReadableByteStreamControllerCallPullIfNeeded(this);\r\n return promise;\r\n };\r\n return ReadableByteStreamController;\r\n }());\r\n // Abstract operations for the ReadableByteStreamController.\r\n function IsReadableByteStreamController(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n function IsReadableStreamBYOBRequest(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\r\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\r\n if (shouldPull === false) {\r\n return;\r\n }\r\n if (controller._pulling === true) {\r\n controller._pullAgain = true;\r\n return;\r\n }\r\n controller._pulling = true;\r\n // TODO: Test controller argument\r\n var pullPromise = controller._pullAlgorithm();\r\n uponPromise(pullPromise, function () {\r\n controller._pulling = false;\r\n if (controller._pullAgain === true) {\r\n controller._pullAgain = false;\r\n ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n }\r\n }, function (e) {\r\n ReadableByteStreamControllerError(controller, e);\r\n });\r\n }\r\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\r\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\r\n controller._pendingPullIntos = new SimpleQueue();\r\n }\r\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\r\n var done = false;\r\n if (stream._state === 'closed') {\r\n done = true;\r\n }\r\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\r\n if (pullIntoDescriptor.readerType === 'default') {\r\n ReadableStreamFulfillReadRequest(stream, filledView, done);\r\n }\r\n else {\r\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\r\n }\r\n }\r\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\r\n var bytesFilled = pullIntoDescriptor.bytesFilled;\r\n var elementSize = pullIntoDescriptor.elementSize;\r\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\r\n }\r\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\r\n controller._queue.push({ buffer: buffer, byteOffset: byteOffset, byteLength: byteLength });\r\n controller._queueTotalSize += byteLength;\r\n }\r\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\r\n var elementSize = pullIntoDescriptor.elementSize;\r\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\r\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\r\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\r\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\r\n var totalBytesToCopyRemaining = maxBytesToCopy;\r\n var ready = false;\r\n if (maxAlignedBytes > currentAlignedBytes) {\r\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\r\n ready = true;\r\n }\r\n var queue = controller._queue;\r\n while (totalBytesToCopyRemaining > 0) {\r\n var headOfQueue = queue.peek();\r\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\r\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\r\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\r\n if (headOfQueue.byteLength === bytesToCopy) {\r\n queue.shift();\r\n }\r\n else {\r\n headOfQueue.byteOffset += bytesToCopy;\r\n headOfQueue.byteLength -= bytesToCopy;\r\n }\r\n controller._queueTotalSize -= bytesToCopy;\r\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\r\n totalBytesToCopyRemaining -= bytesToCopy;\r\n }\r\n return ready;\r\n }\r\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\r\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\r\n pullIntoDescriptor.bytesFilled += size;\r\n }\r\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\r\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\r\n ReadableByteStreamControllerClearAlgorithms(controller);\r\n ReadableStreamClose(controller._controlledReadableByteStream);\r\n }\r\n else {\r\n ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n }\r\n }\r\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\r\n if (controller._byobRequest === undefined) {\r\n return;\r\n }\r\n controller._byobRequest._associatedReadableByteStreamController = undefined;\r\n controller._byobRequest._view = undefined;\r\n controller._byobRequest = undefined;\r\n }\r\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\r\n while (controller._pendingPullIntos.length > 0) {\r\n if (controller._queueTotalSize === 0) {\r\n return;\r\n }\r\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\r\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\r\n ReadableByteStreamControllerShiftPendingPullInto(controller);\r\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\r\n }\r\n }\r\n }\r\n function ReadableByteStreamControllerPullInto(controller, view) {\r\n var stream = controller._controlledReadableByteStream;\r\n var elementSize = 1;\r\n if (view.constructor !== DataView) {\r\n elementSize = view.constructor.BYTES_PER_ELEMENT;\r\n }\r\n var ctor = view.constructor;\r\n var buffer = TransferArrayBuffer(view.buffer);\r\n var pullIntoDescriptor = {\r\n buffer: buffer,\r\n byteOffset: view.byteOffset,\r\n byteLength: view.byteLength,\r\n bytesFilled: 0,\r\n elementSize: elementSize,\r\n ctor: ctor,\r\n readerType: 'byob'\r\n };\r\n if (controller._pendingPullIntos.length > 0) {\r\n controller._pendingPullIntos.push(pullIntoDescriptor);\r\n // No ReadableByteStreamControllerCallPullIfNeeded() call since:\r\n // - No change happens on desiredSize\r\n // - The source has already been notified of that there's at least 1 pending read(view)\r\n return ReadableStreamAddReadIntoRequest(stream);\r\n }\r\n if (stream._state === 'closed') {\r\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\r\n return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));\r\n }\r\n if (controller._queueTotalSize > 0) {\r\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\r\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\r\n ReadableByteStreamControllerHandleQueueDrain(controller);\r\n return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));\r\n }\r\n if (controller._closeRequested === true) {\r\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\r\n ReadableByteStreamControllerError(controller, e);\r\n return promiseRejectedWith(e);\r\n }\r\n }\r\n controller._pendingPullIntos.push(pullIntoDescriptor);\r\n var promise = ReadableStreamAddReadIntoRequest(stream);\r\n ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n return promise;\r\n }\r\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\r\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\r\n var stream = controller._controlledReadableByteStream;\r\n if (ReadableStreamHasBYOBReader(stream) === true) {\r\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\r\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\r\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\r\n }\r\n }\r\n }\r\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\r\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\r\n throw new RangeError('bytesWritten out of range');\r\n }\r\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\r\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\r\n // TODO: Figure out whether we should detach the buffer or not here.\r\n return;\r\n }\r\n ReadableByteStreamControllerShiftPendingPullInto(controller);\r\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\r\n if (remainderSize > 0) {\r\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\r\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\r\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\r\n }\r\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\r\n pullIntoDescriptor.bytesFilled -= remainderSize;\r\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\r\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\r\n }\r\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\r\n var firstDescriptor = controller._pendingPullIntos.peek();\r\n var stream = controller._controlledReadableByteStream;\r\n if (stream._state === 'closed') {\r\n if (bytesWritten !== 0) {\r\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\r\n }\r\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\r\n }\r\n else {\r\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\r\n }\r\n ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n }\r\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\r\n var descriptor = controller._pendingPullIntos.shift();\r\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\r\n return descriptor;\r\n }\r\n function ReadableByteStreamControllerShouldCallPull(controller) {\r\n var stream = controller._controlledReadableByteStream;\r\n if (stream._state !== 'readable') {\r\n return false;\r\n }\r\n if (controller._closeRequested === true) {\r\n return false;\r\n }\r\n if (controller._started === false) {\r\n return false;\r\n }\r\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\r\n return true;\r\n }\r\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\r\n return true;\r\n }\r\n var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\r\n if (desiredSize > 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n function ReadableByteStreamControllerClearAlgorithms(controller) {\r\n controller._pullAlgorithm = undefined;\r\n controller._cancelAlgorithm = undefined;\r\n }\r\n // A client of ReadableByteStreamController may use these functions directly to bypass state check.\r\n function ReadableByteStreamControllerClose(controller) {\r\n var stream = controller._controlledReadableByteStream;\r\n if (controller._queueTotalSize > 0) {\r\n controller._closeRequested = true;\r\n return;\r\n }\r\n if (controller._pendingPullIntos.length > 0) {\r\n var firstPendingPullInto = controller._pendingPullIntos.peek();\r\n if (firstPendingPullInto.bytesFilled > 0) {\r\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\r\n ReadableByteStreamControllerError(controller, e);\r\n throw e;\r\n }\r\n }\r\n ReadableByteStreamControllerClearAlgorithms(controller);\r\n ReadableStreamClose(stream);\r\n }\r\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\r\n var stream = controller._controlledReadableByteStream;\r\n var buffer = chunk.buffer;\r\n var byteOffset = chunk.byteOffset;\r\n var byteLength = chunk.byteLength;\r\n var transferredBuffer = TransferArrayBuffer(buffer);\r\n if (ReadableStreamHasDefaultReader(stream) === true) {\r\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\r\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\r\n }\r\n else {\r\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\r\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\r\n }\r\n }\r\n else if (ReadableStreamHasBYOBReader(stream) === true) {\r\n // TODO: Ideally in this branch detaching should happen only if the buffer is not consumed fully.\r\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\r\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\r\n }\r\n else {\r\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\r\n }\r\n ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n }\r\n function ReadableByteStreamControllerError(controller, e) {\r\n var stream = controller._controlledReadableByteStream;\r\n if (stream._state !== 'readable') {\r\n return;\r\n }\r\n ReadableByteStreamControllerClearPendingPullIntos(controller);\r\n ResetQueue(controller);\r\n ReadableByteStreamControllerClearAlgorithms(controller);\r\n ReadableStreamError(stream, e);\r\n }\r\n function ReadableByteStreamControllerGetDesiredSize(controller) {\r\n var stream = controller._controlledReadableByteStream;\r\n var state = stream._state;\r\n if (state === 'errored') {\r\n return null;\r\n }\r\n if (state === 'closed') {\r\n return 0;\r\n }\r\n return controller._strategyHWM - controller._queueTotalSize;\r\n }\r\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\r\n bytesWritten = Number(bytesWritten);\r\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\r\n throw new RangeError('bytesWritten must be a finite');\r\n }\r\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\r\n }\r\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\r\n var firstDescriptor = controller._pendingPullIntos.peek();\r\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\r\n throw new RangeError('The region specified by view does not match byobRequest');\r\n }\r\n if (firstDescriptor.byteLength !== view.byteLength) {\r\n throw new RangeError('The buffer of view has different capacity than byobRequest');\r\n }\r\n firstDescriptor.buffer = view.buffer;\r\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\r\n }\r\n function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\r\n controller._controlledReadableByteStream = stream;\r\n controller._pullAgain = false;\r\n controller._pulling = false;\r\n controller._byobRequest = undefined;\r\n // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\r\n controller._queue = controller._queueTotalSize = undefined;\r\n ResetQueue(controller);\r\n controller._closeRequested = false;\r\n controller._started = false;\r\n controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\r\n controller._pullAlgorithm = pullAlgorithm;\r\n controller._cancelAlgorithm = cancelAlgorithm;\r\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\r\n controller._pendingPullIntos = new SimpleQueue();\r\n stream._readableStreamController = controller;\r\n var startResult = startAlgorithm();\r\n uponPromise(promiseResolvedWith(startResult), function () {\r\n controller._started = true;\r\n ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n }, function (r) {\r\n ReadableByteStreamControllerError(controller, r);\r\n });\r\n }\r\n function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\r\n var controller = Object.create(ReadableByteStreamController.prototype);\r\n function startAlgorithm() {\r\n return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\r\n }\r\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\r\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\r\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\r\n if (autoAllocateChunkSize !== undefined) {\r\n autoAllocateChunkSize = Number(autoAllocateChunkSize);\r\n if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\r\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\r\n }\r\n }\r\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\r\n }\r\n function SetUpReadableStreamBYOBRequest(request, controller, view) {\r\n request._associatedReadableByteStreamController = controller;\r\n request._view = view;\r\n }\r\n // Helper functions for the ReadableStreamBYOBRequest.\r\n function byobRequestBrandCheckException(name) {\r\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\r\n }\r\n // Helper functions for the ReadableByteStreamController.\r\n function byteStreamControllerBrandCheckException(name) {\r\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\r\n }\n\n // Abstract operations for the ReadableStream.\r\n function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\r\n if (forAuthorCode === void 0) { forAuthorCode = false; }\r\n var reader = new ReadableStreamBYOBReader(stream);\r\n reader._forAuthorCode = forAuthorCode;\r\n return reader;\r\n }\r\n // ReadableStream API exposed for controllers.\r\n function ReadableStreamAddReadIntoRequest(stream) {\r\n var promise = newPromise(function (resolve, reject) {\r\n var readIntoRequest = {\r\n _resolve: resolve,\r\n _reject: reject\r\n };\r\n stream._reader._readIntoRequests.push(readIntoRequest);\r\n });\r\n return promise;\r\n }\r\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\r\n var reader = stream._reader;\r\n var readIntoRequest = reader._readIntoRequests.shift();\r\n readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\r\n }\r\n function ReadableStreamGetNumReadIntoRequests(stream) {\r\n return stream._reader._readIntoRequests.length;\r\n }\r\n function ReadableStreamHasBYOBReader(stream) {\r\n var reader = stream._reader;\r\n if (reader === undefined) {\r\n return false;\r\n }\r\n if (!IsReadableStreamBYOBReader(reader)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n var ReadableStreamBYOBReader = /** @class */ (function () {\r\n function ReadableStreamBYOBReader(stream) {\r\n if (!IsReadableStream(stream)) {\r\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' +\r\n 'byte source');\r\n }\r\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\r\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' +\r\n 'source');\r\n }\r\n if (IsReadableStreamLocked(stream)) {\r\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\r\n }\r\n ReadableStreamReaderGenericInitialize(this, stream);\r\n this._readIntoRequests = new SimpleQueue();\r\n }\r\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\r\n get: function () {\r\n if (!IsReadableStreamBYOBReader(this)) {\r\n return promiseRejectedWith(byobReaderBrandCheckException('closed'));\r\n }\r\n return this._closedPromise;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\r\n if (!IsReadableStreamBYOBReader(this)) {\r\n return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\r\n }\r\n if (this._ownerReadableStream === undefined) {\r\n return promiseRejectedWith(readerLockException('cancel'));\r\n }\r\n return ReadableStreamReaderGenericCancel(this, reason);\r\n };\r\n ReadableStreamBYOBReader.prototype.read = function (view) {\r\n if (!IsReadableStreamBYOBReader(this)) {\r\n return promiseRejectedWith(byobReaderBrandCheckException('read'));\r\n }\r\n if (this._ownerReadableStream === undefined) {\r\n return promiseRejectedWith(readerLockException('read from'));\r\n }\r\n if (!ArrayBuffer.isView(view)) {\r\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\r\n }\r\n if (IsDetachedBuffer(view.buffer) === true) ;\r\n if (view.byteLength === 0) {\r\n return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\r\n }\r\n return ReadableStreamBYOBReaderRead(this, view);\r\n };\r\n ReadableStreamBYOBReader.prototype.releaseLock = function () {\r\n if (!IsReadableStreamBYOBReader(this)) {\r\n throw byobReaderBrandCheckException('releaseLock');\r\n }\r\n if (this._ownerReadableStream === undefined) {\r\n return;\r\n }\r\n if (this._readIntoRequests.length > 0) {\r\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\r\n }\r\n ReadableStreamReaderGenericRelease(this);\r\n };\r\n return ReadableStreamBYOBReader;\r\n }());\r\n // Abstract operations for the readers.\r\n function IsReadableStreamBYOBReader(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n function ReadableStreamBYOBReaderRead(reader, view) {\r\n var stream = reader._ownerReadableStream;\r\n stream._disturbed = true;\r\n if (stream._state === 'errored') {\r\n return promiseRejectedWith(stream._storedError);\r\n }\r\n // Controllers must implement this.\r\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\r\n }\r\n // Helper functions for the ReadableStreamBYOBReader.\r\n function byobReaderBrandCheckException(name) {\r\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\r\n }\n\n var ReadableStream = /** @class */ (function () {\r\n function ReadableStream(underlyingSource, strategy) {\r\n if (underlyingSource === void 0) { underlyingSource = {}; }\r\n if (strategy === void 0) { strategy = {}; }\r\n InitializeReadableStream(this);\r\n var size = strategy.size;\r\n var highWaterMark = strategy.highWaterMark;\r\n var type = underlyingSource.type;\r\n var typeString = String(type);\r\n if (typeString === 'bytes') {\r\n if (size !== undefined) {\r\n throw new RangeError('The strategy for a byte stream cannot have a size function');\r\n }\r\n if (highWaterMark === undefined) {\r\n highWaterMark = 0;\r\n }\r\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\r\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\r\n }\r\n else if (type === undefined) {\r\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\r\n if (highWaterMark === undefined) {\r\n highWaterMark = 1;\r\n }\r\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\r\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\r\n }\r\n else {\r\n throw new RangeError('Invalid type is specified');\r\n }\r\n }\r\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\r\n get: function () {\r\n if (IsReadableStream(this) === false) {\r\n throw streamBrandCheckException$1('locked');\r\n }\r\n return IsReadableStreamLocked(this);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ReadableStream.prototype.cancel = function (reason) {\r\n if (IsReadableStream(this) === false) {\r\n return promiseRejectedWith(streamBrandCheckException$1('cancel'));\r\n }\r\n if (IsReadableStreamLocked(this) === true) {\r\n return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\r\n }\r\n return ReadableStreamCancel(this, reason);\r\n };\r\n ReadableStream.prototype.getReader = function (_a) {\r\n var mode = (_a === void 0 ? {} : _a).mode;\r\n if (IsReadableStream(this) === false) {\r\n throw streamBrandCheckException$1('getReader');\r\n }\r\n if (mode === undefined) {\r\n return AcquireReadableStreamDefaultReader(this, true);\r\n }\r\n mode = String(mode);\r\n if (mode === 'byob') {\r\n return AcquireReadableStreamBYOBReader(this, true);\r\n }\r\n throw new RangeError('Invalid mode is specified');\r\n };\r\n ReadableStream.prototype.pipeThrough = function (_a, _b) {\r\n var writable = _a.writable, readable = _a.readable;\r\n var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;\r\n if (IsReadableStream(this) === false) {\r\n throw streamBrandCheckException$1('pipeThrough');\r\n }\r\n if (IsWritableStream(writable) === false) {\r\n throw new TypeError('writable argument to pipeThrough must be a WritableStream');\r\n }\r\n if (IsReadableStream(readable) === false) {\r\n throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\r\n }\r\n preventClose = Boolean(preventClose);\r\n preventAbort = Boolean(preventAbort);\r\n preventCancel = Boolean(preventCancel);\r\n if (signal !== undefined && !isAbortSignal(signal)) {\r\n throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\r\n }\r\n if (IsReadableStreamLocked(this) === true) {\r\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\r\n }\r\n if (IsWritableStreamLocked(writable) === true) {\r\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\r\n }\r\n var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\r\n setPromiseIsHandledToTrue(promise);\r\n return readable;\r\n };\r\n ReadableStream.prototype.pipeTo = function (dest, _a) {\r\n var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;\r\n if (IsReadableStream(this) === false) {\r\n return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\r\n }\r\n if (IsWritableStream(dest) === false) {\r\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\r\n }\r\n preventClose = Boolean(preventClose);\r\n preventAbort = Boolean(preventAbort);\r\n preventCancel = Boolean(preventCancel);\r\n if (signal !== undefined && !isAbortSignal(signal)) {\r\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\r\n }\r\n if (IsReadableStreamLocked(this) === true) {\r\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\r\n }\r\n if (IsWritableStreamLocked(dest) === true) {\r\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\r\n }\r\n return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\r\n };\r\n ReadableStream.prototype.tee = function () {\r\n if (IsReadableStream(this) === false) {\r\n throw streamBrandCheckException$1('tee');\r\n }\r\n var branches = ReadableStreamTee(this);\r\n return createArrayFromList(branches);\r\n };\r\n ReadableStream.prototype.getIterator = function (_a) {\r\n var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;\r\n if (IsReadableStream(this) === false) {\r\n throw streamBrandCheckException$1('getIterator');\r\n }\r\n return AcquireReadableStreamAsyncIterator(this, preventCancel);\r\n };\r\n return ReadableStream;\r\n }());\r\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\r\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\r\n value: ReadableStream.prototype.getIterator,\r\n enumerable: false,\r\n writable: true,\r\n configurable: true\r\n });\r\n }\r\n // Abstract operations for the ReadableStream.\r\n // Throws if and only if startAlgorithm throws.\r\n function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\r\n if (highWaterMark === void 0) { highWaterMark = 1; }\r\n if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\r\n var stream = Object.create(ReadableStream.prototype);\r\n InitializeReadableStream(stream);\r\n var controller = Object.create(ReadableStreamDefaultController.prototype);\r\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\r\n return stream;\r\n }\r\n function InitializeReadableStream(stream) {\r\n stream._state = 'readable';\r\n stream._reader = undefined;\r\n stream._storedError = undefined;\r\n stream._disturbed = false;\r\n }\r\n function IsReadableStream(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n function IsReadableStreamLocked(stream) {\r\n if (stream._reader === undefined) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n // ReadableStream API exposed for controllers.\r\n function ReadableStreamCancel(stream, reason) {\r\n stream._disturbed = true;\r\n if (stream._state === 'closed') {\r\n return promiseResolvedWith(undefined);\r\n }\r\n if (stream._state === 'errored') {\r\n return promiseRejectedWith(stream._storedError);\r\n }\r\n ReadableStreamClose(stream);\r\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\r\n return transformPromiseWith(sourceCancelPromise, noop);\r\n }\r\n function ReadableStreamClose(stream) {\r\n stream._state = 'closed';\r\n var reader = stream._reader;\r\n if (reader === undefined) {\r\n return;\r\n }\r\n if (IsReadableStreamDefaultReader(reader)) {\r\n reader._readRequests.forEach(function (readRequest) {\r\n readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\r\n });\r\n reader._readRequests = new SimpleQueue();\r\n }\r\n defaultReaderClosedPromiseResolve(reader);\r\n }\r\n function ReadableStreamError(stream, e) {\r\n stream._state = 'errored';\r\n stream._storedError = e;\r\n var reader = stream._reader;\r\n if (reader === undefined) {\r\n return;\r\n }\r\n if (IsReadableStreamDefaultReader(reader)) {\r\n reader._readRequests.forEach(function (readRequest) {\r\n readRequest._reject(e);\r\n });\r\n reader._readRequests = new SimpleQueue();\r\n }\r\n else {\r\n reader._readIntoRequests.forEach(function (readIntoRequest) {\r\n readIntoRequest._reject(e);\r\n });\r\n reader._readIntoRequests = new SimpleQueue();\r\n }\r\n defaultReaderClosedPromiseReject(reader, e);\r\n }\r\n // Helper functions for the ReadableStream.\r\n function streamBrandCheckException$1(name) {\r\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\r\n }\n\n var ByteLengthQueuingStrategy = /** @class */ (function () {\r\n function ByteLengthQueuingStrategy(_a) {\r\n var highWaterMark = _a.highWaterMark;\r\n this.highWaterMark = highWaterMark;\r\n }\r\n ByteLengthQueuingStrategy.prototype.size = function (chunk) {\r\n return chunk.byteLength;\r\n };\r\n return ByteLengthQueuingStrategy;\r\n }());\n\n var CountQueuingStrategy = /** @class */ (function () {\r\n function CountQueuingStrategy(_a) {\r\n var highWaterMark = _a.highWaterMark;\r\n this.highWaterMark = highWaterMark;\r\n }\r\n CountQueuingStrategy.prototype.size = function () {\r\n return 1;\r\n };\r\n return CountQueuingStrategy;\r\n }());\n\n // Class TransformStream\r\n var TransformStream = /** @class */ (function () {\r\n function TransformStream(transformer, writableStrategy, readableStrategy) {\r\n if (transformer === void 0) { transformer = {}; }\r\n if (writableStrategy === void 0) { writableStrategy = {}; }\r\n if (readableStrategy === void 0) { readableStrategy = {}; }\r\n var writableSizeFunction = writableStrategy.size;\r\n var writableHighWaterMark = writableStrategy.highWaterMark;\r\n var readableSizeFunction = readableStrategy.size;\r\n var readableHighWaterMark = readableStrategy.highWaterMark;\r\n var writableType = transformer.writableType;\r\n if (writableType !== undefined) {\r\n throw new RangeError('Invalid writable type specified');\r\n }\r\n var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\r\n if (writableHighWaterMark === undefined) {\r\n writableHighWaterMark = 1;\r\n }\r\n writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\r\n var readableType = transformer.readableType;\r\n if (readableType !== undefined) {\r\n throw new RangeError('Invalid readable type specified');\r\n }\r\n var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\r\n if (readableHighWaterMark === undefined) {\r\n readableHighWaterMark = 0;\r\n }\r\n readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);\r\n var startPromise_resolve;\r\n var startPromise = newPromise(function (resolve) {\r\n startPromise_resolve = resolve;\r\n });\r\n InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\r\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\r\n var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);\r\n startPromise_resolve(startResult);\r\n }\r\n Object.defineProperty(TransformStream.prototype, \"readable\", {\r\n get: function () {\r\n if (IsTransformStream(this) === false) {\r\n throw streamBrandCheckException$2('readable');\r\n }\r\n return this._readable;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(TransformStream.prototype, \"writable\", {\r\n get: function () {\r\n if (IsTransformStream(this) === false) {\r\n throw streamBrandCheckException$2('writable');\r\n }\r\n return this._writable;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n return TransformStream;\r\n }());\r\n function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\r\n function startAlgorithm() {\r\n return startPromise;\r\n }\r\n function writeAlgorithm(chunk) {\r\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\r\n }\r\n function abortAlgorithm(reason) {\r\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\r\n }\r\n function closeAlgorithm() {\r\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\r\n }\r\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\r\n function pullAlgorithm() {\r\n return TransformStreamDefaultSourcePullAlgorithm(stream);\r\n }\r\n function cancelAlgorithm(reason) {\r\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\r\n return promiseResolvedWith(undefined);\r\n }\r\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\r\n // The [[backpressure]] slot is set to undefined so that it can be initialised by TransformStreamSetBackpressure.\r\n stream._backpressure = undefined;\r\n stream._backpressureChangePromise = undefined;\r\n stream._backpressureChangePromise_resolve = undefined;\r\n TransformStreamSetBackpressure(stream, true);\r\n // Used by IsWritableStream() which is called by SetUpTransformStreamDefaultController().\r\n stream._transformStreamController = undefined;\r\n }\r\n function IsTransformStream(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n // This is a no-op if both sides are already errored.\r\n function TransformStreamError(stream, e) {\r\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\r\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\r\n }\r\n function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\r\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\r\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\r\n if (stream._backpressure === true) {\r\n // Pretend that pull() was called to permit any pending write() calls to complete. TransformStreamSetBackpressure()\r\n // cannot be called from enqueue() or pull() once the ReadableStream is errored, so this will will be the final time\r\n // _backpressure is set.\r\n TransformStreamSetBackpressure(stream, false);\r\n }\r\n }\r\n function TransformStreamSetBackpressure(stream, backpressure) {\r\n // Passes also when called during construction.\r\n if (stream._backpressureChangePromise !== undefined) {\r\n stream._backpressureChangePromise_resolve();\r\n }\r\n stream._backpressureChangePromise = newPromise(function (resolve) {\r\n stream._backpressureChangePromise_resolve = resolve;\r\n });\r\n stream._backpressure = backpressure;\r\n }\r\n var TransformStreamDefaultController = /** @class */ (function () {\r\n /** @internal */\r\n function TransformStreamDefaultController() {\r\n throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\r\n }\r\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\r\n get: function () {\r\n if (IsTransformStreamDefaultController(this) === false) {\r\n throw defaultControllerBrandCheckException$1('desiredSize');\r\n }\r\n var readableController = this._controlledTransformStream._readable._readableStreamController;\r\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\r\n if (IsTransformStreamDefaultController(this) === false) {\r\n throw defaultControllerBrandCheckException$1('enqueue');\r\n }\r\n TransformStreamDefaultControllerEnqueue(this, chunk);\r\n };\r\n TransformStreamDefaultController.prototype.error = function (reason) {\r\n if (IsTransformStreamDefaultController(this) === false) {\r\n throw defaultControllerBrandCheckException$1('error');\r\n }\r\n TransformStreamDefaultControllerError(this, reason);\r\n };\r\n TransformStreamDefaultController.prototype.terminate = function () {\r\n if (IsTransformStreamDefaultController(this) === false) {\r\n throw defaultControllerBrandCheckException$1('terminate');\r\n }\r\n TransformStreamDefaultControllerTerminate(this);\r\n };\r\n return TransformStreamDefaultController;\r\n }());\r\n // Transform Stream Default Controller Abstract Operations\r\n function IsTransformStreamDefaultController(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\r\n controller._controlledTransformStream = stream;\r\n stream._transformStreamController = controller;\r\n controller._transformAlgorithm = transformAlgorithm;\r\n controller._flushAlgorithm = flushAlgorithm;\r\n }\r\n function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\r\n var controller = Object.create(TransformStreamDefaultController.prototype);\r\n var transformAlgorithm = function (chunk) {\r\n try {\r\n TransformStreamDefaultControllerEnqueue(controller, chunk);\r\n return promiseResolvedWith(undefined);\r\n }\r\n catch (transformResultE) {\r\n return promiseRejectedWith(transformResultE);\r\n }\r\n };\r\n var transformMethod = transformer.transform;\r\n if (transformMethod !== undefined) {\r\n if (typeof transformMethod !== 'function') {\r\n throw new TypeError('transform is not a method');\r\n }\r\n transformAlgorithm = function (chunk) { return PromiseCall(transformMethod, transformer, [chunk, controller]); };\r\n }\r\n var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\r\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\r\n }\r\n function TransformStreamDefaultControllerClearAlgorithms(controller) {\r\n controller._transformAlgorithm = undefined;\r\n controller._flushAlgorithm = undefined;\r\n }\r\n function TransformStreamDefaultControllerEnqueue(controller, chunk) {\r\n var stream = controller._controlledTransformStream;\r\n var readableController = stream._readable._readableStreamController;\r\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\r\n throw new TypeError('Readable side is not in a state that permits enqueue');\r\n }\r\n // We throttle transform invocations based on the backpressure of the ReadableStream, but we still\r\n // accept TransformStreamDefaultControllerEnqueue() calls.\r\n try {\r\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\r\n }\r\n catch (e) {\r\n // This happens when readableStrategy.size() throws.\r\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\r\n throw stream._readable._storedError;\r\n }\r\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\r\n if (backpressure !== stream._backpressure) {\r\n TransformStreamSetBackpressure(stream, true);\r\n }\r\n }\r\n function TransformStreamDefaultControllerError(controller, e) {\r\n TransformStreamError(controller._controlledTransformStream, e);\r\n }\r\n function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\r\n var transformPromise = controller._transformAlgorithm(chunk);\r\n return transformPromiseWith(transformPromise, undefined, function (r) {\r\n TransformStreamError(controller._controlledTransformStream, r);\r\n throw r;\r\n });\r\n }\r\n function TransformStreamDefaultControllerTerminate(controller) {\r\n var stream = controller._controlledTransformStream;\r\n var readableController = stream._readable._readableStreamController;\r\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\r\n ReadableStreamDefaultControllerClose(readableController);\r\n }\r\n var error = new TypeError('TransformStream terminated');\r\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\r\n }\r\n // TransformStreamDefaultSink Algorithms\r\n function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\r\n var controller = stream._transformStreamController;\r\n if (stream._backpressure === true) {\r\n var backpressureChangePromise = stream._backpressureChangePromise;\r\n return transformPromiseWith(backpressureChangePromise, function () {\r\n var writable = stream._writable;\r\n var state = writable._state;\r\n if (state === 'erroring') {\r\n throw writable._storedError;\r\n }\r\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\r\n });\r\n }\r\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\r\n }\r\n function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\r\n // abort() is not called synchronously, so it is possible for abort() to be called when the stream is already\r\n // errored.\r\n TransformStreamError(stream, reason);\r\n return promiseResolvedWith(undefined);\r\n }\r\n function TransformStreamDefaultSinkCloseAlgorithm(stream) {\r\n // stream._readable cannot change after construction, so caching it across a call to user code is safe.\r\n var readable = stream._readable;\r\n var controller = stream._transformStreamController;\r\n var flushPromise = controller._flushAlgorithm();\r\n TransformStreamDefaultControllerClearAlgorithms(controller);\r\n // Return a promise that is fulfilled with undefined on success.\r\n return transformPromiseWith(flushPromise, function () {\r\n if (readable._state === 'errored') {\r\n throw readable._storedError;\r\n }\r\n var readableController = readable._readableStreamController;\r\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\r\n ReadableStreamDefaultControllerClose(readableController);\r\n }\r\n }, function (r) {\r\n TransformStreamError(stream, r);\r\n throw readable._storedError;\r\n });\r\n }\r\n // TransformStreamDefaultSource Algorithms\r\n function TransformStreamDefaultSourcePullAlgorithm(stream) {\r\n // Invariant. Enforced by the promises returned by start() and pull().\r\n TransformStreamSetBackpressure(stream, false);\r\n // Prevent the next pull() call until there is backpressure.\r\n return stream._backpressureChangePromise;\r\n }\r\n // Helper functions for the TransformStreamDefaultController.\r\n function defaultControllerBrandCheckException$1(name) {\r\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\r\n }\r\n // Helper functions for the TransformStream.\r\n function streamBrandCheckException$2(name) {\r\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\r\n }\n\n exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n exports.CountQueuingStrategy = CountQueuingStrategy;\n exports.ReadableStream = ReadableStream;\n exports.TransformStream = TransformStream;\n exports.WritableStream = WritableStream;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=ponyfill.js.map\n", "require('../../modules/es.map');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Map;\n", "'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.github.io/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n", "'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n", "var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n", "var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n", "var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n", "'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n", "require('../../modules/es.set');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Set;\n", "'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.github.io/ecma262/#sec-set-objects\nmodule.exports = collection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n", "require('../../modules/es.object.to-string');\nrequire('../../modules/es.weak-map');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.WeakMap;\n", "'use strict';\nvar global = require('../internals/global');\nvar redefineAll = require('../internals/redefine-all');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar enforceIternalState = require('../internals/internal-state').enforce;\nvar NATIVE_WEAK_MAP = require('../internals/native-weak-map');\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\n\n// `WeakMap` constructor\n// https://tc39.github.io/ecma262/#sec-weakmap-constructor\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n } return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n } return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n } return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n", "'use strict';\nvar redefineAll = require('../internals/redefine-all');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar $has = require('../internals/has');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) this.entries.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return C;\n }\n};\n", "var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n", "var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n", "var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n", "require('../../modules/es.object.to-string');\nrequire('../../modules/es.weak-set');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.WeakSet;\n", "'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.github.io/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n", "require('../../modules/es.string.code-point-at');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'codePointAt');\n", "'use strict';\nvar $ = require('../internals/export');\nvar codeAt = require('../internals/string-multibyte').codeAt;\n\n// `String.prototype.codePointAt` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n$({ target: 'String', proto: true }, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n", "require('../../modules/es.string.from-code-point');\nvar path = require('../../internals/path');\n\nmodule.exports = path.String.fromCodePoint;\n", "var $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n\n// `String.fromCodePoint` method\n// https://tc39.github.io/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)\n );\n } return elements.join('');\n }\n});\n", "require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.json.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n", "'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n", "var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n", "'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n", "var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n", "var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n", "var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n", "var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n", "// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n", "var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n", "var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n", "var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n", "var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n", "var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matchAll` well-known symbol\ndefineWellKnownSymbol('matchAll');\n", "var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n", "var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n", "var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n", "var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n", "var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n", "var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n", "var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n", "var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n", "var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n", "require('../../modules/es.string.pad-start');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'padStart');\n", "'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n", "// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n", "'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n", "// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line unicorn/no-unsafe-regex\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n", "require('../../modules/es.string.pad-end');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'padEnd');\n", "'use strict';\nvar $ = require('../internals/export');\nvar $padEnd = require('../internals/string-pad').end;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padEnd` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.padend\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n", "require('../../modules/es.object.values');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.values;\n", "var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.github.io/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n", "var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.github.io/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.github.io/ecma262/#sec-object.values\n values: createMethod(false)\n};\n", "/* Copyright 2012 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/* eslint no-var: error */\n\n/**\n * @module pdfjsLib\n */\n\nimport {\n AbortException,\n assert,\n createPromiseCapability,\n getVerbosityLevel,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isSameOrigin,\n MissingPDFException,\n NativeImageDecoding,\n PasswordException,\n setVerbosityLevel,\n shadow,\n stringToBytes,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n warn,\n} from \"../shared/util.js\";\nimport {\n deprecated,\n DOMCanvasFactory,\n DOMCMapReaderFactory,\n loadScript,\n PageViewport,\n releaseImageResources,\n RenderingCancelledException,\n StatTimer,\n} from \"./display_utils.js\";\nimport { FontFaceObject, FontLoader } from \"./font_loader.js\";\nimport { apiCompatibilityParams } from \"./api_compatibility.js\";\nimport { CanvasGraphics } from \"./canvas.js\";\nimport { GlobalWorkerOptions } from \"./worker_options.js\";\nimport { isNodeJS } from \"../shared/is_node.js\";\nimport { MessageHandler } from \"../shared/message_handler.js\";\nimport { Metadata } from \"./metadata.js\";\nimport { PDFDataTransportStream } from \"./transport_stream.js\";\nimport { WebGLContext } from \"./webgl.js\";\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536\nconst RENDERING_CANCELLED_TIMEOUT = 100; // ms\n\n/**\n * @typedef {function} IPDFStreamFactory\n * @param {DocumentInitParameters} params The document initialization\n * parameters. The \"url\" key is always present.\n * @returns {IPDFStream}\n */\n\n/** @type IPDFStreamFactory */\nlet createPDFNetworkStream;\n\n/**\n * Sets the function that instantiates a IPDFStream as an alternative PDF data\n * transport.\n * @param {IPDFStreamFactory} pdfNetworkStreamFactory - the factory function\n * that takes document initialization parameters (including a \"url\") and returns\n * an instance of IPDFStream.\n */\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\n/**\n * Document initialization / loading parameters object.\n *\n * @typedef {Object} DocumentInitParameters\n * @property {string} [url] - The URL of the PDF.\n * @property {TypedArray|Array|string} [data] - Binary PDF data. Use typed\n * arrays (Uint8Array) to improve the memory usage. If PDF data is\n * BASE64-encoded, use atob() to convert it to a binary string first.\n * @property {Object} [httpHeaders] - Basic authentication headers.\n * @property {boolean} [withCredentials] - Indicates whether or not\n * cross-site Access-Control requests should be made using credentials such\n * as cookies or authorization headers. The default is false.\n * @property {string} [password] - For decrypting password-protected PDFs.\n * @property {TypedArray} [initialData] - A typed array with the first portion\n * or all of the pdf data. Used by the extension since some data is already\n * loaded before the switch to range requests.\n * @property {number} [length] - The PDF file length. It's used for\n * progress reports and range requests operations.\n * @property {PDFDataRangeTransport} [range]\n * @property {number} [rangeChunkSize] - Specify maximum number of bytes\n * fetched per range request. The default value is 2^16 = 65536.\n * @property {PDFWorker} [worker] - The worker that will be used for\n * the loading and parsing of the PDF data.\n * @property {number} [verbosity] - Controls the logging level; the\n * constants from {VerbosityLevel} should be used.\n * @property {string} [docBaseUrl] - The base URL of the document,\n * used when attempting to recover valid absolute URLs for annotations, and\n * outline items, that (incorrectly) only specify relative URLs.\n * @property {string} [nativeImageDecoderSupport] - Strategy for\n * decoding certain (simple) JPEG images in the browser. This is useful for\n * environments without DOM image and canvas support, such as e.g. Node.js.\n * Valid values are 'decode', 'display' or 'none'; where 'decode' is intended\n * for browsers with full image/canvas support, 'display' for environments\n * with limited image support through stubs (useful for SVG conversion),\n * and 'none' where JPEG images will be decoded entirely by PDF.js.\n * The default value is 'decode'.\n * @property {string} [cMapUrl] - The URL where the predefined\n * Adobe CMaps are located. Include trailing slash.\n * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are\n * binary packed.\n * @property {Object} [CMapReaderFactory] - The factory that will be\n * used when reading built-in CMap files. Providing a custom factory is useful\n * for environments without `XMLHttpRequest` support, such as e.g. Node.js.\n * The default value is {DOMCMapReaderFactory}.\n * @property {boolean} [stopAtErrors] - Reject certain promises, e.g.\n * `getOperatorList`, `getTextContent`, and `RenderTask`, when the associated\n * PDF data cannot be successfully parsed, instead of attempting to recover\n * whatever possible of the data. The default value is `false`.\n * @property {number} [maxImageSize] - The maximum allowed image size\n * in total pixels, i.e. width * height. Images above this value will not be\n * rendered. Use -1 for no limit, which is also the default value.\n * @property {boolean} [isEvalSupported] - Determines if we can eval\n * strings as JS. Primarily used to improve performance of font rendering,\n * and when parsing PDF functions. The default value is `true`.\n * @property {boolean} [disableFontFace] - By default fonts are\n * converted to OpenType fonts and loaded via font face rules. If disabled,\n * fonts will be rendered using a built-in font renderer that constructs the\n * glyphs with primitive path commands. The default value is `false`.\n * @property {boolean} [disableRange] - Disable range request loading\n * of PDF files. When enabled, and if the server supports partial content\n * requests, then the PDF will be fetched in chunks.\n * The default value is `false`.\n * @property {boolean} [disableStream] - Disable streaming of PDF file\n * data. By default PDF.js attempts to load PDFs in chunks.\n * The default value is `false`.\n * @property {boolean} [disableAutoFetch] - Disable pre-fetching of PDF\n * file data. When range requests are enabled PDF.js will automatically keep\n * fetching more data even if it isn't needed to display the current page.\n * The default value is `false`.\n * NOTE: It is also necessary to disable streaming, see above,\n * in order for disabling of pre-fetching to work correctly.\n * @property {boolean} [disableCreateObjectURL] - Disable the use of\n * `URL.createObjectURL`, for compatibility with older browsers.\n * The default value is `false`.\n * @property {boolean} [pdfBug] - Enables special hooks for debugging\n * PDF.js (see `web/debugger.js`). The default value is `false`.\n */\n\n/**\n * @typedef {Object} PDFDocumentStats\n * @property {Object} streamTypes - Used stream types in the document (an item\n * is set to true if specific stream ID was used in the document).\n * @property {Object} fontTypes - Used font types in the document (an item\n * is set to true if specific font ID was used in the document).\n */\n\n/**\n * This is the main entry point for loading a PDF and interacting with it.\n * NOTE: If a URL is used to fetch the PDF data a standard XMLHttpRequest(XHR)\n * is used, which means it must follow the same origin rules that any XHR does\n * e.g. No cross domain requests without CORS.\n *\n * @param {string|TypedArray|DocumentInitParameters|PDFDataRangeTransport} src\n * Can be a url to where a PDF is located, a typed array (Uint8Array)\n * already populated with data or parameter object.\n * @returns {PDFDocumentLoadingTask}\n */\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n\n let source;\n if (typeof src === \"string\") {\n source = { url: src };\n } else if (isArrayBuffer(src)) {\n source = { data: src };\n } else if (src instanceof PDFDataRangeTransport) {\n source = { range: src };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\n \"Invalid parameter in getDocument, \" +\n \"need either Uint8Array, string or a parameter object\"\n );\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\n \"Invalid parameter object: need either .data, .range or .url\"\n );\n }\n source = src;\n }\n const params = Object.create(null);\n let rangeTransport = null,\n worker = null;\n\n for (const key in source) {\n if (key === \"url\" && typeof window !== \"undefined\") {\n // The full path is required in the 'url' field.\n params[key] = new URL(source[key], window.location).href;\n continue;\n } else if (key === \"range\") {\n rangeTransport = source[key];\n continue;\n } else if (key === \"worker\") {\n worker = source[key];\n continue;\n } else if (key === \"data\" && !(source[key] instanceof Uint8Array)) {\n // Converting string or array-like data to Uint8Array.\n const pdfBytes = source[key];\n if (typeof pdfBytes === \"string\") {\n params[key] = stringToBytes(pdfBytes);\n } else if (\n typeof pdfBytes === \"object\" &&\n pdfBytes !== null &&\n !isNaN(pdfBytes.length)\n ) {\n params[key] = new Uint8Array(pdfBytes);\n } else if (isArrayBuffer(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error(\n \"Invalid PDF binary data: either typed array, \" +\n \"string or array-like object is expected in the \" +\n \"data property.\"\n );\n }\n continue;\n }\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.pdfBug = params.pdfBug === true;\n\n const NativeImageDecoderValues = Object.values(NativeImageDecoding);\n if (\n params.nativeImageDecoderSupport === undefined ||\n !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)\n ) {\n params.nativeImageDecoderSupport =\n apiCompatibilityParams.nativeImageDecoderSupport ||\n NativeImageDecoding.DECODE;\n }\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n if (typeof params.disableCreateObjectURL !== \"boolean\") {\n params.disableCreateObjectURL =\n apiCompatibilityParams.disableCreateObjectURL || false;\n }\n\n // Set the main-thread verbosity level.\n setVerbosityLevel(params.verbosity);\n\n if (!worker) {\n const workerParams = {\n verbosity: params.verbosity,\n port: GlobalWorkerOptions.workerPort,\n };\n // Worker was not provided -- creating and owning our own. If message port\n // is specified in global worker options, using it.\n worker = workerParams.port\n ? PDFWorker.fromPort(workerParams)\n : new PDFWorker(workerParams);\n task._worker = worker;\n }\n const docId = task.docId;\n worker.promise\n .then(function() {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n return _fetchDocument(worker, params, rangeTransport, docId).then(\n function(workerId) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n let networkStream;\n if (rangeTransport) {\n networkStream = new PDFDataTransportStream(\n {\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n disableRange: params.disableRange,\n disableStream: params.disableStream,\n },\n rangeTransport\n );\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 const messageHandler = new MessageHandler(\n docId,\n workerId,\n worker.port\n );\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n const transport = new WorkerTransport(\n messageHandler,\n task,\n networkStream,\n params\n );\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n }\n );\n })\n .catch(task._capability.reject);\n\n return task;\n}\n\n/**\n * Starts fetching of specified PDF document/data.\n * @param {PDFWorker} worker\n * @param {Object} source\n * @param {PDFDataRangeTransport} pdfDataRangeTransport\n * @param {string} docId Unique document id, used as MessageHandler id.\n * @returns {Promise} The promise, which is resolved when worker id of\n * MessageHandler is known.\n * @private\n */\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(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 }\n return worker.messageHandler\n .sendWithPromise(\"GetDocRequest\", {\n docId,\n apiVersion:\n typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"TESTING\")\n ? PDFJSDev.eval(\"BUNDLE_VERSION\")\n : null,\n // Only send the required properties, and *not* the entire object.\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 disableCreateObjectURL: source.disableCreateObjectURL,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n nativeImageDecoderSupport: source.nativeImageDecoderSupport,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n })\n .then(function(workerId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n });\n}\n\nconst PDFDocumentLoadingTask = (function PDFDocumentLoadingTaskClosure() {\n let nextDocumentId = 0;\n\n /**\n * The loading task controls the operations required to load a PDF document\n * (such as network requests) and provides a way to listen for completion,\n * after which individual pages can be rendered.\n */\n class PDFDocumentLoadingTask {\n constructor() {\n this._capability = createPromiseCapability();\n this._transport = null;\n this._worker = null;\n\n /**\n * Unique document loading task id -- used in MessageHandlers.\n * @type {string}\n */\n this.docId = \"d\" + nextDocumentId++;\n\n /**\n * Shows if loading task is destroyed.\n * @type {boolean}\n */\n this.destroyed = false;\n\n /**\n * Callback to request a password if wrong or no password was provided.\n * The callback receives two parameters: function that needs to be called\n * with new password and reason (see {PasswordResponses}).\n */\n this.onPassword = null;\n\n /**\n * Callback to be able to monitor the loading progress of the PDF file\n * (necessary to implement e.g. a loading bar). The callback receives\n * an {Object} with the properties: {number} loaded and {number} total.\n */\n this.onProgress = null;\n\n /**\n * Callback to when unsupported feature is used. The callback receives\n * an {UNSUPPORTED_FEATURES} argument.\n */\n this.onUnsupportedFeature = null;\n }\n\n /**\n * Promise for document loading task completion.\n * @type {Promise}\n */\n get promise() {\n return this._capability.promise;\n }\n\n /**\n * Aborts all network requests and destroys worker.\n * @returns {Promise} A promise that is resolved after destruction activity\n * is completed.\n */\n destroy() {\n this.destroyed = true;\n\n const transportDestroyed = !this._transport\n ? Promise.resolve()\n : this._transport.destroy();\n return transportDestroyed.then(() => {\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n });\n }\n\n /**\n * Registers callbacks to indicate the document loading completion.\n * @ignore\n */\n then(onFulfilled, onRejected) {\n throw new Error(\n \"Removed API method: \" +\n \"PDFDocumentLoadingTask.then, use the `promise` getter instead.\"\n );\n }\n }\n return PDFDocumentLoadingTask;\n})();\n\n/**\n * Abstract class to support range requests file loading.\n * @param {number} length\n * @param {Uint8Array} initialData\n * @param {boolean} progressiveDone\n */\nclass PDFDataRangeTransport {\n constructor(length, initialData, progressiveDone = false) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = 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 unreachable(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n}\n\n/**\n * Proxy to a PDFDocument in the worker thread. Also, contains commonly used\n * properties that can be read synchronously.\n */\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n /**\n * @type {number} Total number of pages the PDF contains.\n */\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n /**\n * @type {string} A (not guaranteed to be) unique ID to identify a PDF.\n */\n get fingerprint() {\n return this._pdfInfo.fingerprint;\n }\n\n /**\n * @param {number} pageNumber - The page number to get. The first page is 1.\n * @returns {Promise} A promise that is resolved with a {@link PDFPageProxy}\n * object.\n */\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n /**\n * @param {{num: number, gen: number}} ref - The page reference. Must have\n * the `num` and `gen` properties.\n * @returns {Promise} A promise that is resolved with the page index (starting\n * from zero) that is associated with the reference.\n */\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a lookup table for\n * mapping named destinations to reference numbers.\n *\n * This can be slow for large documents. Use `getDestination` instead.\n */\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n /**\n * @param {string} id - The named destination to get.\n * @returns {Promise} A promise that is resolved with all information\n * of the given named destination.\n */\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array} containing\n * the page labels that correspond to the page indexes, or `null` when\n * no page labels are present in the PDF file.\n */\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string} containing\n * the page layout name.\n */\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string} containing\n * the page mode name.\n */\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Object} containing\n * the viewer preferences.\n */\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Object} containing\n * the currently supported actions, or `null` when no OpenAction exists.\n */\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n getOpenActionDestination() {\n deprecated(\"getOpenActionDestination, use getOpenAction instead.\");\n return this.getOpenAction().then(function(openAction) {\n return openAction && openAction.dest ? openAction.dest : null;\n });\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a lookup table for\n * mapping named attachments to their content.\n */\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array} of all the\n * JavaScript strings in the name tree, or `null` if no JavaScript exists.\n */\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array} that is a\n * tree outline (if it has one) of the PDF. The tree is in the format of:\n * [\n * {\n * title: string,\n * bold: boolean,\n * italic: boolean,\n * color: rgb Uint8ClampedArray,\n * count: integer or undefined,\n * dest: dest obj,\n * url: string,\n * items: array of more items like this\n * },\n * ...\n * ]\n */\n getOutline() {\n return this._transport.getOutline();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array} that contains\n * the permission flags for the PDF document, or `null` when\n * no permissions are present in the PDF file.\n */\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Object} that has\n * `info` and `metadata` properties. `info` is an {Object} filled with\n * anything available in the information dictionary and similarly\n * `metadata` is a {Metadata} object with information from the metadata\n * section of the PDF.\n */\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {TypedArray} that has\n * the raw data from the PDF.\n */\n getData() {\n return this._transport.getData();\n }\n\n /**\n * @returns {Promise} A promise that is resolved when the document's data\n * is loaded. It is resolved with an {Object} that contains the `length`\n * property that indicates size of the PDF data in bytes.\n */\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n /**\n * @returns {Promise} A promise this is resolved with current statistics about\n * document structures (see {@link PDFDocumentStats}).\n */\n getStats() {\n return this._transport.getStats();\n }\n\n /**\n * Cleans up resources allocated by the document, on both the main- and\n * worker-threads.\n *\n * NOTE: Do not, under any circumstances, call this method when rendering is\n * currently ongoing since that may lead to rendering errors.\n *\n * @returns {Promise} A promise that is resolved when clean-up has finished.\n */\n cleanup() {\n return this._transport.startCleanup();\n }\n\n /**\n * Destroys the current document instance and terminates the worker.\n */\n destroy() {\n return this.loadingTask.destroy();\n }\n\n /**\n * @type {Object} A subset of the current {DocumentInitParameters}, which are\n * either needed in the viewer and/or whose default values may be affected\n * by the `apiCompatibilityParams`.\n */\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n /**\n * @type {PDFDocumentLoadingTask} The loadingTask for the current document.\n */\n get loadingTask() {\n return this._transport.loadingTask;\n }\n}\n\n/**\n * Page getViewport parameters.\n *\n * @typedef {Object} GetViewportParameters\n * @property {number} scale - The desired scale of the viewport.\n * @property {number} [rotation] - The desired rotation, in degrees, of\n * the viewport. If omitted it defaults to the page rotation.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset.\n * The default value is `0`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset.\n * The default value is `0`.\n * @property {boolean} [dontFlip] - If true, the y-axis will not be\n * flipped. The default value is `false`.\n */\n\n/**\n * Page getTextContent parameters.\n *\n * @typedef {Object} getTextContentParameters\n * @property {boolean} normalizeWhitespace - replaces all occurrences of\n * whitespace with standard spaces (0x20). The default value is `false`.\n * @property {boolean} disableCombineTextItems - do not attempt to combine\n * same line {@link TextItem}'s. The default value is `false`.\n */\n\n/**\n * Page text content.\n *\n * @typedef {Object} TextContent\n * @property {array} items - array of {@link TextItem}\n * @property {Object} styles - {@link TextStyle} objects, indexed by font name.\n */\n\n/**\n * Page text content part.\n *\n * @typedef {Object} TextItem\n * @property {string} str - text content.\n * @property {string} dir - text direction: 'ttb', 'ltr' or 'rtl'.\n * @property {array} transform - transformation matrix.\n * @property {number} width - width in device space.\n * @property {number} height - height in device space.\n * @property {string} fontName - font name used by pdf.js for converted font.\n */\n\n/**\n * Text style.\n *\n * @typedef {Object} TextStyle\n * @property {number} ascent - font ascent.\n * @property {number} descent - font descent.\n * @property {boolean} vertical - text is in vertical mode.\n * @property {string} fontFamily - possible font family\n */\n\n/**\n * Page annotation parameters.\n *\n * @typedef {Object} GetAnnotationsParameters\n * @property {string} intent - Determines the annotations that will be fetched,\n * can be either 'display' (viewable annotations) or 'print'\n * (printable annotations).\n * If the parameter is omitted, all annotations are fetched.\n */\n\n/**\n * Page render parameters.\n *\n * @typedef {Object} RenderParameters\n * @property {Object} canvasContext - A 2D context of a DOM Canvas object.\n * @property {PageViewport} viewport - Rendering viewport obtained by\n * calling the `PDFPageProxy.getViewport` method.\n * @property {string} [intent] - Rendering intent, can be 'display' or 'print'\n * (default value is 'display').\n * @property {boolean} [enableWebGL] - Enables WebGL accelerated rendering\n * for some operations. The default value is `false`.\n * @property {boolean} [renderInteractiveForms] - Whether or not\n * interactive form elements are rendered in the display\n * layer. If so, we do not render them on canvas as well.\n * @property {Array} [transform] - Additional transform, applied\n * just before viewport transform.\n * @property {Object} [imageLayer] - An object that has beginLayout,\n * endLayout and appendImage functions.\n * @property {Object} [canvasFactory] - The factory that will be used\n * when creating canvases. The default value is\n * {DOMCanvasFactory}.\n * @property {Object} [background] - Background to use for the canvas.\n * Can use any valid canvas.fillStyle: A DOMString parsed as\n * CSS value, a CanvasGradient object (a linear or\n * radial gradient) or a CanvasPattern object (a repetitive\n * image). The default value is 'rgb(255,255,255)'.\n */\n\n/**\n * PDF page operator list.\n *\n * @typedef {Object} PDFOperatorList\n * @property {Array} fnArray - Array containing the operator functions.\n * @property {Array} argsArray - Array containing the arguments of the\n * functions.\n */\n\n/**\n * Proxy to a PDFPage in the worker thread.\n * @alias PDFPageProxy\n */\nclass PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this.intentStates = Object.create(null);\n this.destroyed = false;\n }\n\n /**\n * @type {number} Page number of the page. First page is 1.\n */\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n /**\n * @type {number} The number of degrees the page is rotated clockwise.\n */\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n /**\n * @type {Object} The reference that points to this page. It has `num` and\n * `gen` properties.\n */\n get ref() {\n return this._pageInfo.ref;\n }\n\n /**\n * @type {number} The default size of units in 1/72nds of an inch.\n */\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n /**\n * @type {Array} An array of the visible portion of the PDF page in user\n * space units [x1, y1, x2, y2].\n */\n get view() {\n return this._pageInfo.view;\n }\n\n /**\n * @param {GetViewportParameters} params - Viewport parameters.\n * @returns {PageViewport} Contains 'width' and 'height' properties\n * along with transforms required for rendering.\n */\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false,\n } = {}) {\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n (arguments.length > 1 || typeof arguments[0] === \"number\")\n ) {\n throw new Error(\n \"PDFPageProxy.getViewport is called with obsolete arguments.\"\n );\n }\n return new PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip,\n });\n }\n\n /**\n * @param {GetAnnotationsParameters} params - Annotation parameters.\n * @returns {Promise} A promise that is resolved with an {Array} of the\n * annotation objects.\n */\n getAnnotations({ intent = null } = {}) {\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(\n this._pageIndex,\n intent\n );\n this.annotationsIntent = intent;\n }\n return this.annotationsPromise;\n }\n\n /**\n * Begins the process of rendering a page to the desired context.\n * @param {RenderParameters} params Page render parameters.\n * @returns {RenderTask} An object that contains the promise, which\n * is resolved when the page finishes rendering.\n */\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n enableWebGL = false,\n renderInteractiveForms = false,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null,\n }) {\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n const renderingIntent = intent === \"print\" ? \"print\" : \"display\";\n // If there was a pending destroy, cancel it so no cleanup happens during\n // this call to render.\n this.pendingCleanup = false;\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n const intentState = this.intentStates[renderingIntent];\n\n // Ensure that a pending `streamReader` cancel timeout is always aborted.\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const canvasFactoryInstance = canvasFactory || new DOMCanvasFactory();\n const webGLContext = new WebGLContext({\n enable: enableWebGL,\n });\n\n // If there's no displayReadyCapability yet, then the operatorList\n // was never requested before. Make the request and create the promise.\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = createPromiseCapability();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true,\n });\n }\n\n const complete = error => {\n const i = intentState.renderTasks.indexOf(internalRenderTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n // Attempt to reduce memory usage during *printing*, by always running\n // cleanup once rendering has finished (regardless of cleanupAfterRender).\n if (this.cleanupAfterRender || renderingIntent === \"print\") {\n this.pendingCleanup = true;\n }\n this._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n this._abortOperatorList({\n intentState,\n reason: error,\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n this._stats.timeEnd(\"Overall\");\n }\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n // Only include the required properties, and *not* the entire object.\n params: {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background,\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n webGLContext,\n useRequestAnimationFrame: renderingIntent !== \"print\",\n pdfBug: this._pdfBug,\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n intentState.renderTasks.push(internalRenderTask);\n const renderTask = internalRenderTask.task;\n\n intentState.displayReadyCapability.promise\n .then(transparency => {\n if (this.pendingCleanup) {\n complete();\n return;\n }\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n })\n .catch(complete);\n\n return renderTask;\n }\n\n /**\n * @returns {Promise} A promise resolved with an {@link PDFOperatorList}\n * object that represents page's operator list.\n */\n getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n\n const i = intentState.renderTasks.indexOf(opListTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n const renderingIntent = \"oplist\";\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n const intentState = this.intentStates[renderingIntent];\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = createPromiseCapability();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n });\n }\n return intentState.opListReadCapability.promise;\n }\n\n /**\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {ReadableStream} ReadableStream to read textContent chunks.\n */\n streamTextContent({\n normalizeWhitespace = false,\n disableCombineTextItems = false,\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n\n return this._transport.messageHandler.sendWithStream(\n \"GetTextContent\",\n {\n pageIndex: this._pageIndex,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true,\n },\n {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n },\n }\n );\n }\n\n /**\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {Promise} That is resolved a {@link TextContent}\n * object that represent the page text content.\n */\n getTextContent(params = {}) {\n const readableStream = this.streamTextContent(params);\n\n return new Promise(function(resolve, reject) {\n function pump() {\n reader.read().then(function({ value, done }) {\n if (done) {\n resolve(textContent);\n return;\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 /**\n * Destroys the page object.\n * @private\n */\n _destroy() {\n this.destroyed = true;\n this._transport.pageCache[this._pageIndex] = null;\n\n const waitOn = [];\n Object.keys(this.intentStates).forEach(intent => {\n const intentState = this.intentStates[intent];\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true,\n });\n\n if (intent === \"oplist\") {\n // Avoid errors below, since the renderTasks are just stubs.\n return;\n }\n intentState.renderTasks.forEach(function(renderTask) {\n const renderCompleted = renderTask.capability.promise.catch(\n function() {}\n ); // ignoring failures\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n });\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n\n /**\n * Cleans up resources allocated by the page.\n * @param {boolean} [resetStats] - Reset page stats, if enabled.\n * The default value is `false`.\n * @returns {boolean} Indicating if clean-up was successfully run.\n */\n cleanup(resetStats = false) {\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n\n /**\n * Attempts to clean up if rendering is in a state where that's possible.\n * @private\n */\n _tryCleanup(resetStats = false) {\n if (\n !this.pendingCleanup ||\n Object.keys(this.intentStates).some(intent => {\n const intentState = this.intentStates[intent];\n return (\n intentState.renderTasks.length !== 0 ||\n !intentState.operatorList.lastChunk\n );\n })\n ) {\n return false;\n }\n\n Object.keys(this.intentStates).forEach(intent => {\n delete this.intentStates[intent];\n });\n this.objs.clear();\n this.annotationsPromise = null;\n if (resetStats && this._stats) {\n this._stats = new StatTimer();\n }\n this.pendingCleanup = false;\n return true;\n }\n\n /**\n * @private\n */\n _startRenderPage(transparency, intent) {\n const intentState = this.intentStates[intent];\n if (!intentState) {\n return; // Rendering was cancelled.\n }\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n // TODO Refactor RenderPageRequest to separate rendering\n // and operator list logic\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n\n /**\n * @private\n */\n _renderPageChunk(operatorListChunk, intentState) {\n // Add the new chunk to the current operator list.\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 intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n // Notify all the rendering tasks there are more operators to be consumed.\n for (let i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n\n /**\n * @private\n */\n _pumpOperatorList(args) {\n assert(\n args.intent,\n 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.'\n );\n\n const readableStream = this._transport.messageHandler.sendWithStream(\n \"GetOperatorList\",\n args\n );\n const reader = readableStream.getReader();\n\n const intentState = this.intentStates[args.intent];\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(\n ({ value, done }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n this._renderPageChunk(value, intentState);\n pump();\n },\n reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n if (intentState.operatorList) {\n // Mark operator list as complete.\n intentState.operatorList.lastChunk = true;\n\n for (let i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\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 /**\n * @private\n */\n _abortOperatorList({ intentState, reason, force = false }) {\n assert(\n reason instanceof Error ||\n (typeof reason === \"object\" && reason !== null),\n 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.'\n );\n\n if (!intentState.streamReader) {\n return;\n }\n if (!force) {\n // Ensure that an Error occurring in *only* one `InternalRenderTask`, e.g.\n // multiple render() calls on the same canvas, won't break all rendering.\n if (intentState.renderTasks.length !== 0) {\n return;\n }\n // Don't immediately abort parsing on the worker-thread when rendering is\n // cancelled, since that will unnecessarily delay re-rendering when (for\n // partially parsed pages) e.g. zooming/rotation occurs in the viewer.\n if (reason instanceof RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n this._abortOperatorList({ intentState, reason, force: true });\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n intentState.streamReader.cancel(\n new AbortException(reason && reason.message)\n );\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n // Remove the current `intentState`, since a cancelled `getOperatorList`\n // call on the worker-thread cannot be re-started...\n Object.keys(this.intentStates).some(intent => {\n if (this.intentStates[intent] === intentState) {\n delete this.intentStates[intent];\n return true;\n }\n return false;\n });\n // ... and force clean-up to ensure that any old state is always removed.\n this.cleanup();\n }\n\n /**\n * @type {Object} Returns page stats, if enabled; returns `null` otherwise.\n */\n get stats() {\n return this._stats;\n }\n}\n\nclass LoopbackPort {\n constructor(defer = true) {\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n postMessage(obj, transfers) {\n function cloneValue(value) {\n // Trying to perform a structured clone close to the spec, including\n // transfers.\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n if (cloned.has(value)) {\n // already cloned the object\n return cloned.get(value);\n }\n let buffer, result;\n if ((buffer = value.buffer) && isArrayBuffer(buffer)) {\n // We found object with ArrayBuffer (typed array).\n const transferable = transfers && transfers.includes(buffer);\n if (transferable) {\n result = new value.constructor(\n buffer,\n value.byteOffset,\n value.byteLength\n );\n } else {\n result = new value.constructor(value);\n }\n cloned.set(value, result);\n return result;\n }\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result); // adding to cache now for cyclic references\n // Cloning all value and object properties, however ignoring properties\n // defined via getter.\n for (const i in value) {\n let desc,\n p = value;\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n if (typeof desc.value === \"undefined\") {\n continue;\n }\n if (typeof desc.value === \"function\") {\n if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n throw new Error(\n `LoopbackPort.postMessage - cannot clone: ${value[i]}`\n );\n }\n continue;\n }\n result[i] = cloneValue(desc.value);\n }\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(listener => {\n listener.call(this, { data: obj });\n });\n return;\n }\n\n const cloned = new WeakMap();\n const e = { data: cloneValue(obj) };\n this._deferred.then(() => {\n this._listeners.forEach(listener => {\n listener.call(this, e);\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 this._listeners.splice(i, 1);\n }\n\n terminate() {\n this._listeners.length = 0;\n }\n}\n\n/**\n * @typedef {Object} PDFWorkerParameters\n * @property {string} [name] - The name of the worker.\n * @property {Object} [port] - The `workerPort`.\n * @property {number} [verbosity] - Controls the logging level; the\n * constants from {VerbosityLevel} should be used.\n */\n\nconst PDFWorker = (function PDFWorkerClosure() {\n const pdfWorkerPorts = new WeakMap();\n let isWorkerDisabled = false;\n let fallbackWorkerSrc;\n let nextFakeWorkerId = 0;\n let fakeWorkerCapability;\n\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\")) {\n // eslint-disable-next-line no-undef\n if (isNodeJS && typeof __non_webpack_require__ === \"function\") {\n // Workers aren't supported in Node.js, force-disabling them there.\n isWorkerDisabled = true;\n\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"LIB\")) {\n fallbackWorkerSrc = \"../pdf.worker.js\";\n } else {\n fallbackWorkerSrc = \"./pdf.worker.js\";\n }\n } else if (typeof document === \"object\" && \"currentScript\" in document) {\n const pdfjsFilePath =\n document.currentScript && document.currentScript.src;\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(\n /(\\.(?:min\\.)?js)(\\?.*)?$/i,\n \".worker$1$2\"\n );\n }\n }\n }\n\n function getWorkerSrc() {\n if (GlobalWorkerOptions.workerSrc) {\n return GlobalWorkerOptions.workerSrc;\n }\n if (typeof fallbackWorkerSrc !== \"undefined\") {\n if (!isNodeJS) {\n deprecated('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n let mainWorkerMessageHandler;\n try {\n mainWorkerMessageHandler =\n globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;\n } catch (ex) {\n /* Ignore errors. */\n }\n return mainWorkerMessageHandler || null;\n }\n\n // Loads worker code into main thread.\n function setupFakeWorkerGlobal() {\n if (fakeWorkerCapability) {\n return fakeWorkerCapability.promise;\n }\n fakeWorkerCapability = createPromiseCapability();\n\n const loader = async function() {\n const mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (mainWorkerMessageHandler) {\n // The worker was already loaded using e.g. a `

#EG;L=RO2K=r*h8=gp_=)wZpj3uc^R#cbLFBMM`J3mXX@Q*_a~`!9{N1Nuw+1JU zAn){i;u!EP<~qmUM@(`JOV+?!gUaTUUvi?ZeY?q9^$2zuY)&9 zu}Qj*niy=?MU0;bV2bvnpt`3?+`y(7)rA>PCU)<2^miWoN=fXx38K8+7Rc+DM*X_& ztKQjczLUMRqDOrCV=CD14rI-iY8cH7Y z$*SoB1>bkUnj;j*@CL9QY)W=Ax(PC2`J3^#-t+{VuZXuwyF zbs4AR&74-yZkwcoEK5r{lA|?nF3Mtk<@g1zJ-SYlXAw&ji7NYMt7#Fg98v!H4DMoj zRG*W8`IUgmsrF2JG0sLD;&UwZ6W=ZGA;huxJs7(*rgg{0<0#pF3*&tZ7u zb;g`$3kBW`oT0!>RvyiOrA=5HLc-CGwd7!T@T6DZ2Lz3>enk3d-dl>izoNjlc zTjW7aeU9NudEaQg#K?EHJAAK{7t&8p>DtpIopKqHYi%y@YMRTk_IHUV@_GP^>65jWWC6QJbVs%QE zA7c^*3;n|QM2>2)iV+pjQ0%^o8uDIh_0uMA5nww?ZL%N5I_6t)F}c=2CreL${Jhf%{6c2g!r|FTVI_y+k(S?8l7rfwUsB@=3%=p&f+-liqq3TIe*>Zi*Mav{&UQp5+;z&26r=lu zuWl-Ts#2EL=53bN*8 zEndBD+H2%dkpfMfMtaye8YcM(NwXocxk=#ro-4N*I(^sdcb~SY;%SeEAl)+#naVLF z?eQkvs#m|6J*5p*(fEfnb&$RHSWVsLxN_c|IVvVXmPxBU9UK*fZoq_wzdIeS6wRz< zfo1DNL`+^i925Y&(J@_+Y#)?rE>y>CsemZ?$xn2o_DgP>8I@RwS%loni8lj%X z$7%h%mh0wJBH`Jbw{<)Neq>dnhO%~5-j#7jbJu7sQF6=zdVoQ7~G)`PrF zZ?42c##Jzy-<3;ajfh@yduDe=08X8&htaXYnZmLx)Qkzp4K(gC9^a8lR}JxADS?OQ zI7W4kB7{k!S!3>#JgPpCW;@sky0&s8No)Z6PJYg>gc;-}Tt)lTH-rP|Hpku+%GUxb zK(f}RUjxoFuUH59NX~evm(MWDXLe_^-Id4%Xx{=LTH1cdMIcQ;ZIZ#EXaReG zD_=J@gFPo9+Sg zu-8jOMEdqPW!XU$a&}h}yq2uEXJu3>ms@N#(e;`qBU!$OVR~5U z+jdS$GX>+8yZvL+KM}UDvwxD8!wB%h$?=uLgIEeywm_3f(K5aL=#|bb%RJH{??WYi zy4*tW_#waIc#~UA$3vRu*g)p=A#QHIjlh$C&^;xE=q_{maTjm=a2267SN=urtcTAk zwdSN~-c}*1u=zGXd58vxEFO^r3yhCs39!{!7D0Q_V(%;gW%Uo(jq!-4E1;NuR3X~r z6>^m;#t55>ph)GT+GWz}k!{tU(ji*kD<@9zuwqD2;hn3AJMy|cyQXqfr!xy4+YUQ- zJEU7|A+)3G_wu0vpgV#~s(5ok@4d=JmD(B|NH%O8aIjrPE^gfs95z9ZiqC2@cYDPe zkWW`^S2a|m!V|tVH=`Z450_NAlXT5lyXz&1b7!4h{$mM>KgBBUP%l?mN#2;loH^I^ zxwFTJJs?xpdog27#~uF(yBKkG$DXp>mS`qD@SC{1yE6IS~U{w^^X#; zKvhV``W54wx?;VCx^mJpZlucuQ|#V0GKM*_Iz?q}O*S_8i$->wWi~(-{ES9+)ggtH z*PO$$TZB>VZBwVG?8#O(#l)PYt%^_IERu1z)`d*!l7;O~Mnq<&$#()Q$tr|XB!CLJ zD=$GQU?8^=n-aj2l+W4&Q3yEtyj9wY0E>>4zbGPJB81|HPGU&uI3nq@CwJ-A{nmwm`*c5CSbu%wky8Tto zITQ~w2ztz*s@?KFZiKakhxO?3sLF~Nasl1Uwl2CU$Nc-2jb?TeCCD2~qUy(}9PEcI z&QQ6R1R9m__3Bz~#LDf{sHkZ4H#{Ed+yBeliz}HxdxkQqNwa`$8|S;+zm4~wNS_P( zijB&4Pl;bec{O9NQxNJ>hsGGrZg{I8TlRKomlW2^1$q>tWF1#BagKz*`(~3QI8K#a zl5gH3ShDJNULT*jB=fdc8R*wb>sm3}aN37rqJ~XoQ5!O)irUR4ju-dc1#ZvnNxPzp+3cxO#jI1ckH$-$-IpRD2$B-T#sGr2pUhz>* zp#0=ePSmUEyrP8nbO_DG+gFUnc*CP}oP5=>jZUV_0Y1-sLXUIl+!YS9o#BnROtFOb zvM)9(eSu_p#hy7p!?k^*qb;RDMdkgfI0KSpbE_~>4cQkQt&4oPJNalGWkyHE5Wd6W z{16bQaSp(0ntULfQotG>tj|kT4kO=axIiBRFAKJwKaLhJG?}Z){izdJ`^ap1jH;gA zbe|~zkcGEp<#I-gq?)CSF0cl>+SLx)@N;VJMB9CUvls5D)3)K z6t+G2#4@m00hYL#<1Jg76o6|i4l96jo>JJpXcKSJ3R7@%apX9I$k4-?zSB&rtm6d_ zUdLffBz0lVxjduV(v{|53Rlq{#Ea?Te+yi5yWkI_)ivNkXOE*<=2^By9sN@?w^;s_ z>$5_`cu}r)+50CmBxPp}@zcdemE#~eYsft9wL4h(QmFEfW+H}UD1{J~r)zMkPx`>5 zabA1O4D1SVz+5?oZ0nhu{W`#LzwHTfwe%HRS~Gv?sFB)|5$=(A%epLgXhQD04aG3=lzYIcR!hz@AWSE|=PHgy!*X2p4$>+4#hCEd}; z^J}N8n`iX4V@Zz#3RYK)n6@sf$~EGL?OJWq*@r4dwJQyq;J43A^fdo4PNh*{q}Eg5 zFz;&RE|W53m-R#5mo&rX2&oUfzqNAnDTUhXsL+UxIIV3?(N~Z*Ec;wmqaY)2aZ|e5E z>lJg-+ywI#Bz>}s=5V#>V>*cUdX9$TaK{o=X`cSps*8w~TcoO0NX-x6ayY)|QSJGj z=rS}LJtyXOMbPxz+vOpYbfnzbX`+{mse)ZP&Q-1c(tVqAJl!hvkJAK@o1Ori*@;)s z>B;*<#w27xrZPAh-YycMa3J4PQ37woh@7@l5L{3lJXnfuOjsl_K}*k{)xu8}KN z(#_b_qGQOdO15}?>JqA{lTHwW>klP;)8zCOPa7r={z`fHuA{7(u#YOmeRB0s6_i^| z_fQ@xNtLmTEO9Wti8e-BQ|ootMQ=*U4fi8=&BJ+fzeyyJ1UAsDJs`Mr2-9WmHRl ztr!pDx?ny&7sGsn?Y5mZcFi98S8CfmwTDB&p|7T-_cRK#xJywGH=pWKt3lvI!(Y?R zpdGziN?}d8MP0^de;46x0<3(@R6SECC|)mO8J2^rVV4%V<|hkHTVc{h=6>vvxW9Qj z6Myihtr+F^PFE81mX3;a$j|%Y+bv^AI=3pkaMo^N(CnE3O;MBPHw-%!Ce~Xt1hUi3 ze%YsgA~|ih9dv=zVH+asbd0E;-nvxWHFw6Z^~qHcm!T@VZ9GgHw+wly3vB3Ad3yui zW)X}zt)nZhTbOjWO%`kI6#h1T+Z7;xV|!C9=ft6*&pb_#6C)Av=UrP4#~SPU+ROx; zR{Xd=!uZ8j6~nWo$w{;Wul-^J49VEr4thCJQGN47j$M1EqEjh8o|euQjkAYzKlR$9 z47SLqmgT4>8}|0TXz8^lk+^^xnqm%>GZ|-dh=}xj_-UV%&y);UH=4F#cKs&g>1R~c z6d#syJb6`7654059jGdwdNrgkgIz^4tkIOg{<=^;a#X(ked6}M6cDn9!RzLpl7?UrfrZWEfy$3`C`jgA?MVqrlA6~pm|c6ztO2s zaM!$wIxI%g-u!m#&VNxOwW{pSH;uHM!YzBMTayCcu|`3Fo2C=3^W-nlB$~yS(DYrq zb<`HVQrSfztAfAkcG!;c#&3gW*CmThXuNCl%?@@%W)L56jzL6sZ#N>x&Wi1=#DGHD z)#FO#HEn~QdDpQyk0*CZ^R|ODL%PZ(#K!ScN(Q*)aH}7*W762=7!n>3fyz;p(s<3y zoHdD$w@KXX2!3yat&Dq5%_;S}Co@9iv$e1xr-#EXem?AaNZvO?dDP#A_<6y$jDKY; z@rsR0c&7G{0qnj9i6N`pf=lNmzqL4X#8D*1x|u^>@8cM4VO12WbaFa?3()_ z$6PPUa!?bV2uKNBMNcMl;c=~h49J^4Qwx!xeUgbwZL%>$)NTm3yom}~8VnkKrR^;k zXL;r3p1WR>RWV9_>^E9lvK~N6J-pE|Ls~li<}Ni?`yPWIf|dIFkfD#)svBX0yhxTc&w?l65dElArUm{+v~1bzxoh7W8+V*kRhwt?)+q#7=1E8{>LI5jLgYTp?&11M zNNh`YzBjqdWm{kvRz0gRqk60wZ#Cb5WlG`)hQx-O3R^{AB2P4ejl*0vy-o>-Jft_J zSIcQx%XPu#x*r4i*3mo=a7?q+UJ^au0?&aIOgu@j8YxdBt3$nTJROjX1p zGF%8<@(wxJLb74IQ;W(vU32BGRg7QJ;E)tN+00>r`PstuEmu@j=cA&PbP_<8Rf1+p z+jWxyc9mbsGAfe6d`I=UI~VdeyU`HBzp|Ng0uVAGeFUubk{nYU zIU4#HRVz%w?tQB0GEN^hhe8-_Ty3c4=npxgjqL8*HLJgSq}31G*NsroKAxh6^G78h z7H_1`WD#CXH|D>iLu$d4fx#cEekX?6p;s!G@%vX_G(`!r7o8|paW zb8mujo!1;i@p?%vQ70h|(3rDO>09MpWV+Ew$GvVk03OxmQ#skVv9NMo!HD&F<8RiT zAp86dOqBli6*(yeZabLRVnxk*k?6S`r@)?k^{nz8c~q_HF9ecwcj9DI)h%new;IEa zMag&aYDC>5jYRmYtyax4lCGH0)*Z2)kiyvwVkyw5*yj%sy1ib0#}w`54nbeYWz05Z z7eltN8B75eoCPE!H5TTxu&c=GKdL=&q%mA~r>Q;kG==hduAJcDHOCw?C2HdBxWQTc z>m-Zg2I4-)rz_B{P7&WeT)DkGr#+g?ou|90G=K~Kn&X0b&1Gy=>>@czNdvx9`4VR! z?~+|a=g5QECRgmtQpn)rMw0e)I+a+= z!tdyX-}iwPAB;bH6DF%FO`t$cHd)9*DG=WLV_-+#tqg2RBr2wZgs@T3i7UsxZLQR_ zn~ovnnH>AbsJO$T_fd|29ej=P^hO&LYwq2gkka)+`dHbKP&BS4hHfj0sGxa7f-;Bb z@NEPiUh9mfgY;R-E60qzx+E#x=HQ&Wa(k_!ns~79_)_)Pa~;3BvT+_!%&EKLQHPwW z2T8F!-dLcHz(|#!oZOrhHf@Gv>uv?b2$C(3xg4X}RfCW;j;qT<5BMx>AMJ{&%{V~N zCsvrtbEV!=fl>y7dTL}e(`rI8b3m= zU{>M{h2`mh&1C|+hdur9S+%%~yJwclU%8M|8bX|lO#z$X>|#)YAjGsf1OOs%abgxr zZjO*$Z2PN7T>3%N1ly$W+U^cw!2FAdNYplQ2X>!;gHS8S7-9308K3BK6QxUe1RC-A zeIeX;HwT8kQwY{QgstX%#H-H9G8@${$wRn-(~hc|eq1?s zPR9jd&El}0>>br@dz(fo$kmiG9F4&F8BjTMCi!5O?+sZ-UfYl0P!m1qrX0egdfJNh zXvjA1WC1E#RilCI4{rJjtYjz~N;aRahAa})Z+Y!lX zy(2*&@hZ=lt(e{>c?g$Y>v_et2Gvxi79#oXO#!6Tw;`|b7kakam+Lv{h}T=qVQa0e z{LWwoO%sqO#v(*xmg4dDNOtC7yNheeaciQd)QmhU5MHn==g6rKBv3PO} zhd7FtWEawFzsEfj3)SVhlvc9?I}^aD?!rdgvk$^FIc4`YgtHqQ_sk-I0rGPyAKW zUUr4-2KCDAN=V48v!La+kEwgmW5_-hgh(3gb=>^iJjnVvk;qu?HS4C>nb*>ok24aI z6rEHdP9swVNnyX?317AUVX~t~#Wfi#;K{C8SI(K+vO|jY4l)_-Y|s*(5Sfe**%1Iq znRzs)kHPLdt*R+Dkm4Ct)Qc9ic0mY;Z>ro@H}t*B@>gDQc^=zDuwH}_F)`xJ3#4n# zL+09R%J#-gH1AT%rm@&Sm^&}qL{qY2q3qlE?%vQ3C`0DBlb553%60N-yUGt)!bjzp zsR>16u!64~S=|6(w3!jnya(9LttSpy?gn3CT263?%&umj zg{8_~H`%^zT3Gq3qe?Ry@_=1V4%lgQ#n@=c5m_+Zi`LugMYlqy7+|sYtGV4lRPZ6gJvq} zKh6)!?F_+^H|4C$7L*OTZfmZKDitFicc)1w9ainel#w?Bf)Y(|$gJ-o2oCuxN71;! z(6+8}f;OROmb&P$=9aPtaj<$rWLHV|@(IgEF-We+Q` z03rQv%9ry5_-W~MlNkPk732iiTyY`n<8!b%NSnW3m#PU7GCMxwxzLG_rIn%K7n$q~ z6XjT4L?yz)p)oXSdaY`j&I0h&M|E zu^=ZR_%E;h<@`pI3p|@5sy$W}wj?qL(RCt;`9_k2>}d`(bfbxCSZ2xE>ygv`E`Cwn zw9EL8zxAXmq=c0iK`i8sY%webaLr1>SB{H-t1JAE|kjzExcld2{#th-Gc4JF5+RQwB}~@j|qL)9-Rw2?*SwyO;nNsV_06E(}~c$ zv?`duOmhsgwz>sbpfjXR8sfM*-rV(q`bFViDsz3FMhmbvR0QY@9SK8fyNJ*1b|0!d zfl)c&+oPFu6B`Msodb~b*%d)_j$CuSOS8J1=GQ6r5^f)RY2+d2#4=UAQS{2SaJ8q> zjRF<`Q!!|1E6VfOcU4N^Ye zkn<2h-q&!Vs#lO*MBCr36~K9H6{=?X>s-CZLN!*X4;2mShAb)mA)OEn#v|ZYHP6W+ z5@E}_QI0BclTNK_KiWK3PtUI0-|rE)CTa=hXz+Ovi7nN&MhYB9F=KE~Th)R47-R0Y zpj~WGOq}cyapSL(jw8oMH0g3zj#j4fu#03USN!Xc?NF?_WaH7;dsj}XgY{fpJ1tPP zbOGOz?^fK9B5@TfYQM9Q9H3-8O_;Npq*fAh{`z4HjE9|uPGl#-Mzu_T8wK@sJwZ_Q z$#t5*h`RV0(%t3*=G{vR>;S9gk1b%k>b};to;06jw1=cZP3c^s3B*KwIyDocn!Fm4 z;G$x53w}s0)FF>`JlJ%5k^WKwN$YzW3V=EOxMCVg(UEzm#yM|fEVP6VsLyd#HAD9? zA+38|EX*}N{d5sW$Y_YqZg{kJNXg}uHCerla@hH9ol~NVsw%%`+q^Sq$1b6K-Y-b6 z$Tr=)QQaZjDO93v$fbQ)Xtq-Urh*XjVpaEZ1i(BovT`2AIgxKeo^16T^wm@*(+=1& z3_1f0y%!Y1WC}f^-s>8&D}ZP?N{{CI%taVkH7a*f?qK3wd{mvwkubGKk`D4lClBn1 zuweTa)wyA@M?Z$}16xf<+U3oPNyK5W?ZBu6Xm2oHjJo#thLaa)+FP%jzgL$Wfjb)c zyFaQ~;hn@2kg=L7m5cox^RK<99XJaTw)HcWY%IFq8AOW8D~HA3_~z6_C8mDuIWJBd z`dN!Q-HLZ>$x;fi1(wV92WQK?{jht$9g>6G-||4xeU_|_^C7ZsXSap*ve+czl8GSB z&*Ne_xujh*v0yZ_1sZeio?bSBO(O{r2RPYE$X+>FGp%V(T5g6bXW^PF2h1KuP_8J2 zn(T|MGDOhe%I)I~l`9?D!bQcbOq0s}aurc$Ng9B?a3s#FnU^rmk0!L^+C)XgMRSbC z%xGzNG%qyf;OAajH;d0ao6G@0JwWBCxTWDGXgU{-IrHF)+=e+Xv`6{aLy+d$lV-^H| z6#Q0zdR@r1HMzT}Avwy2ymN8bHkAcm9C@`r3&xJUO~oVon4&ZL^|E=4P0~V?V$)tH zxy9d<;G8iW@5eVKo_9DZ>CFU-a?b%rJKAk;$ffe6(b}Zf7=OzdOr%J~Vv6lx##kYo zkV`PorCs?sZobzfVXmEAxh@8+Q{C%bIU)6SX5o?(G;#QpoJBp3cb%KJHN8x56>(iQ z5^6o0afZp_mbW#Rd{?K4zuWd~x!V`cz@ss#H#}5(?YoUH0TmN1lb!^*tXj?ODW!^W2;b;TZpow#aPF=SNYd1{9gL=7NjZ*}dT)9hz?7#@yDcs2)V% zr)fbmaS5?b|14KAi`b3b5p7ns_KC~d_fC?-t_!VSDd$T)z-YUqh{(OOLs$w|jN`*_ zJA_L7#$l*zja2Od6VD#!28?+id%?h5@RG%uj+zNGk01tMn&xrG^f5$KAWdBfvLk5aoL9< z@7rbCWAEbNVb-%=m5Ki$xIARnJ6BUYeHgBIwJ+R)Dn_~<3M#WX4-{ z^;+zZIXoatpW9Uy_Iki+urGHj_iJek)x{9Fay(~mUcN(8jW=RR0H<Zsj=T+6OVl(bUNPZadUC zife6Z(#?oNhZ0*UE`wKhUIhp-k)&7db%?k5JL=SQjY%B9y>)v@2^A~FCd6ghSCQR! zt(|3sCRc4VOTn`(h>zo&Q;tJu4sW%^w(27+g}JrmdeKF~oy-52k|XkvFM!<1kxhh( zl9WIxggrYlabIRBgy-$HvqwzNva@&E{+07UU^}xNw!i6w37E1Q^Xj7D;;_`KNkruO zgvD;7+$DWf4%!oF%PXp!D{nu{9n` zqjs7`A{6kg+<&z7hHf01zzBfy< zx4vykVZAOmK98A&)ml4qX+qT0;X7_lr$Q53mh5yy-h7bL1#pS-D(~KTz&Ij}`iYW4 zs1pET^9y6Msf5~MjkIyFCt0~!bL`v}!1|e2*Q1Ti&fD99%5iEZg8tpcI?Ic%+bO0t zKh#}x(a-zBmme-DHewNoG}Ne^Lf9Z=eqTQ<@Cl~k6u%`vVC8@w)m%S(^SLC3EVmBL z=iJk?bKy3$vIIF0!f1=?G69RD)&Jcd4q2LB$U*?4dAgc$-sm12Lk8L&$xPDCR0i6}n`%nv!m=&{ttXk4V6 z5q}62q+rHq;tJ#1xPuIA5KcOQC&}6 zAxKJ8^n`NpnDD(ALchP@2zoxjaPNL$AG;cQ6G1=FA{3JX@k6{9{rqW;t%nZ zu9n>ZfN?bZgldQ^?JTS=+^k=$twiHTk@ zC%0a~;?h|0$z>6w`A@fo+xw7bB!oGo<4m(v338N2R;wym)ctWS(73uE50e7$(7c%8sVAjvD11UtIAF4 z%_SehHFqXpH0{D`?p{_OmY$=WytS+yRJ)d#(7uj~k^bXS z>W|7fa(u}OFqdd}m9G8Xc5fEKz8#f7@pnPSTiwOPLS#;?*Dg(M?qHCxJlN|U-%bXUy_Y?B&@>o}XlLkB=;T@y-OD73(TTIYn zwtdY7RX0owo@(5ii~xGo$+Q9tR}*h<5(Qrq4y&7&xb1}d6&u3Qexj+Ig`J|g_9h#) z(lIMUs;_cR=w*CEC}!839r;>Yq#2Fm%_b$6j9Uwpn%W;ix&6+1naWr9QaN@&eZA~v z>RRJ0Jh4MNJzb5&KL*Q}{SLN!Z_}Vin|B=U(i3EltF|t4*u>)Ewn>ssHrQnpy1oOc~U zRUXo(YbKmvy@ncz7@zePaq+dzbu?i5AymBp8)wo*{_p{1qWNPnFvt zdv$rV@ake_=3;#lJF4^PK)xe_*?Ani_KrL0_3i7HXqu93%0IK3-1v{{ASG+PzMF<& zVz$jo4DhIE_N{1)b3@r>hMcvStIL;FwRen$?D0Ryu8)LtDPc64cvYnzLHSl|)XnE74}jjrwg> zuLC~1(Xrv^oS%|B;)Uo);=M^DtQ`ICyrBF(IV&c$2wi>3_4%aVE-Vfy=k&_i3r%k> z@Ojq=on4a&>FLN=T3|FU6(j|va#(U{Lt$MK3-KCi6Q#Xn%t4&A*H0(M_0!~c69CcO zXEiFmy@qEn?ERX@^?Qy}tDxfLHKI&Sm%G1sLtb8(jeqScB)a_sAR zM7u@-lSHNKA?|;V$~jI%ge<^?hGBXe#<8~uYJD%tkqCy7OzZu=qzE7nVh-*ofdlLc zNmCjU-!^+qI+z*riEPqR2g2mRO^Z5}A!JeH zXr@<$l<&~2TYzaFVZtwmOhY+DMrkzkgRA>#oME%YS9=WV2i28y2`LIOq@5MeL6T~R zO{QG-quhcayEq-<70*L{;;G{_f@)&vZ^R)*v7Fhz5d!7?lOI%pP6x=oxEQkB!w^YZ zSmAFxP+1}k+74f^3zh)ZFZ+9X1LQ*dA&IfdxgNUH5602jL}bh)bV5XWhX}*HnwF}F z27634qtbGVL%rWuydcL#M!k=n0rZWGgBWY>@qWei-<*zXcz4PWx4F{(g&{)S$A!bcJYC8k*jZ1xwM9)sjG!loQ;D< z?&mAjOJDr&=|PVw*HZ|6@gXlGQ8`TacD5X?4%)C~AYv_w%e7}e*Moxp_;oZp_(Hm_ zc|GS#ZE|6~&Nr%w=8zIAukH?G2(j^_T#v>MJI2$4Zg~y4QVt?ouu^+_7$*U^lU}Lik3>^oVRJct2Tr8vFy zDP)OwA?bLp2TMI}e_Se&fXO}%8PX%g2~wWLW~x1OreD}1Z!or4wL9&W(-P9n$|0L_ z8?@+FI+N33kDnm&UrQb`7?mC$(ncE6<&t=ua4Eu= z=p*@-BRMR~IgTsvHLAskAY|yB0G8+$i%vI>R^_I1S}te6oeDf8)$|naYSOD?1Q}r` zGD~LKb~qgws~5=L2#K@4niAp&zxL!0edR<9n`7*e(i)X?qnmXh)i#Z&ULl>vtS2Yh z`REsdf(ZrXVGwyOKDn7WiC7-kB&#!p$8dAS*H|icRAOMw3kPAIuK+op1NKZ~h>d+t z2m5GBOW69@dH+(aAm1zF zFv9(Mz;zWLSm8Z5iprgfhb)Ey=`zw=&q;^sGJ;N_&g|=?JctA}Ag@qcL6r46iKWWF z4`V#12SBDkL!^)-O+yLCw^{h7=4tvHDVy)S z&5~mZKW;Ztxu>wC>^DGDPcEgxKyEvN>im#Wr`9og-H_c33t_6=GH7VuX%0Ifnc6=o zVuVXvP`5`zZiue1oPGe?SCN&YSvgQp2|6Dio*3ysyHfiCbUfFoSHM;&#?SVeLGwoq|@sjzr%{%*Jv6- zI?fea(uCzRC(+J%552Na}G(M*P^O; zKU8H4&dnXN+aMv!`3z|rMB|e2nF?G+r$E5Y!hi@)t)@LgS=~G%FCVU zXwOE)9%}u_rJkk0NznP)Lw%z$V;yj)3MN&|0X;xobqm2kQd-&#uM2pq%G2OC z340lH#nfFr7`NT7B0KpNlc4eX)Tcp4wU0iaa(Z*kDEG4fo>>07qjAp>w>0HD5zArw z#7medg>*RY*dc1<=>KU*Z>zPWzM#HdL^aipSfA+^&^s9sahe+QzalmProF0MjvEzI z$yBYPsgj}+xrv9Idc6jROmi&+({Z_xOhe=LUvr0b@wZNKnm($1 zni(Rsr17TRsxg}RSPr5dt{4ThJ{5S}c{vez!0`&8po|4Y#6Oscntu=@g^1>~el}0u zkr1i9@oQd1I^&i5^Bn16bAJ6jpHkQFAdI(a%3Zgk7lO4amL>kSyZc9W6~tYRYtHjM zSIqst6F@Ep&$Ew;2dR@-H#-tK&!o!Uc=vq{fLFunr86RLXzZH5cVj`#5Wns3yWEfQ zd&cT8xvtfYWtSVTASLrLaR*#gJu?oCpu`j@*gjQNx#d2h;`#lti;@}_8(!T!Sa&wS zicZ%auYJbJ{JalYN?FJ!HfYBuK4B%USME~wqWZQ!gTAwIujpi^5he>*wm1=5w>0Fp5Z;&#m%P<2$Pp-W9_g+mNtt7M2Z;b*;$F z-m(*?2k#-8ilt}N+RpE*oJpFV>8zfSh)ULJy@bqg4#^pIT7O!I{~}mtu;?zTrUeub@tj<;!jg%{A5YBM@@dlkvVVM zE#VQSSNaZF4llq(tt7gb0JqT2kH2)O*kE9cP)ik6=^@E|`{F9MjjTewaf*$`33{h$ z8*1vI=Drg|l0(wPv6_so9QTxo3Ms5zd-;gw>(TY1gG0!!^=kS0A)a`-1Der2)(G1t z?bL+UZ+ukyWJ^^22)WmzAv}UNFEAT$b>Wwe zf5^qL;*t)dkfdA1+G01nGYLS(el$oz`k;rdvIglMlTkvdNi#>IcX8 z(qS9H9`o^oAH0%05ow`q30MD{93G&37$6pJk(wO7qj`m3y%;q`jIEg1vopAyM&kfg zK&rnY*VSYxr#&d=kZc}Mb?Km<3gx!pAD*m+=K(tKNcBg`up)t$Ex zS0qm`70udQvAp&Odt)yA$FkC10Za&;uzqGi<f^BQj4{ zj6?S1sl3`#;W&Nz6pCGu>37XB+H20d%A#0vKFdYqnAXy~n$0Ze_AQLCYac;2DS#P9 z0lUo;$#b>B^ewrchn3D-vE`u;Sxh`+F4}1L=3aA@z!oOV$X9O9t_+y~;2GNWiV#P| zE9VfpZj!OrO)T7*Rj-PYYtJ=JVj`q4#SL#CYZ|sIRH*JX*r@jC$=~yGjqOYe0b8;2 za=n?F`VFD3t~vgi1`Ns6s%qhvYYs+=9d<@ZISxHA5LF_*a)sWGCLhVQ=O3@!awJA| zTwpoNK{@1+kmF-9Rn6z5a(TP2@*NH#<=?GXA=6lF50Jj*eqangET*R3HW*b$)sRI+ zm9rc_rX`gjDrv#j-j5Smc#_Yw`CZf;4fg+5LFnqrIse+~c;g-Iu9MXqCfn^8#rC#% zrdrNvzOC)E4yuql4BMZ(Q34@E+IjZyZ$h-i}!bs9U>&i&M3Yd=7{e%l>F~ir%f}r8Aq=xqYrR z&-A88o9SIbRIarT;Ol923DkXd48q~^S+G)M8gTxmw5i6lRJ@kjlyBm2Si{X5d`WGn zc6T+*Npov=@0~$>b*Y-RfE?%jI{kcq^G*GLO$ z!su+rW6aJgmk}4qPlvHJ5XNaZ%fa-+ne+QxAR3rSu1Jq9WMkEh`R1`lM5cEiWA9hamf7mY-&~IsYHO{Fh(;kC$f|wXSae;xVu|s+p&a zI)*xr{=+O=Pcu)tF78>p|MQps`pf_R#-wa*~ z*@qz^)`Wnp>Na=f09yf=8|O7=1!O2)r{>;*c#oy_60E5-kUpK!%E7$bNUp)=7z??q zsSrN))x@ohzag?(zxLeqF|RO;Vtth}zD5JNH{kK!-adth`rRXq_D-KVjB4W0!*rzR z6?3{ZVB_ps>PTpv>n6UqZsNy#-O1SZVT0d8GS|IIDgfBDguHGlx69lxlek!(`t!*} z#{bHb6R=BZA*u8Oas>pKveyGTLK6&2G(M`P1u`+ZnoG@tSo51;mCuJ7c8_{NvUEpv z&tgJ$a-oqFG`&MzyxKgEVSDT%Wcdvc|74SeEEOfBCy`sw=H)7XPlE#XlpG@e(t1)r zda$mlKPxJ%>!ZWEfitS@X;i`tO-mD;Y7o+;gqnjb%Oor>!4Rj*QGL%d(*keC_qfuP z+tY7X*H(d`*aJD$G?~>iv!&{+Px-Qx^RWrpZ(-DwblD^TtlI{|dcJVTEWW7rxsYh) zlMX5C=hfAFf0g6ku|r1nYNAu%jgS&AN0XEHmFqLa!@4s&sw8j7-dY;Me|kvKg)7IX zub*_$WJ6Tg^CA4TLu8)Sr?gX(cI7C5jTuHJtXI1o8j_e@IaW&jET4gmapky`uN>dZ zwMPZ5pVBZEGSmY+5v!M&arO#~I`Ocspw~~qva4N)*=`S+%eiurnBMrP!)=JL43?Eup-frbUq}UvDAU-KXw(i~$ zDsK;U_K@X0@m@K8uakpnxrLs_9GHvCbW(1pAV&l%+Z+D<;wqS(|yn0M3w`^#uMW zVlscDa_FCk*+T>XF_lDdHhL}+2t{^!6HIvJb|6Q?O_k7Je2r=cX=l)81<<|QhD=eq z&6aLj;0=NkPrP`JFuB_~;m$!7@o|5gz~y(nw6&TlYrGp@C zE&~vi1giu;WF9E$1yy9;r6#!7gFBODC@$F_rsYQLA2SSEPN|xAmS>R%(1%|!n_$a{ zr*=o7s&W%V<=Sc^&KH%A2_ZHb48HBRn8>{&wI7+96TL_>K{|ruyI~F znb%EK_Jn=0avm5OLY%&umQIL9s@3tn_LjQW#Pmh+%JFa9q|=8&GPB-v%2vM<(P)+# zqnuz|43xcqyP9IYwi_{-a*MUyG5e$Xy8tQqsDSc4&ReO4j>Gt_>vB;Q6z z`4}PQ@f0l?_KGC$**=Ijc`KAwpN=+`+wk04l z(1%H*Due1kio&-&jR4QTLD z+@cyb`Z(j~r8^-k__uF388L}|-+a)UnfIW3uLwXlQ<*Kp3RPJVxScYP(li<|ELA)z z8Qd)>q+I7ArItRVt=7I4E`Q~gB@tHU_SH1y5Yly-o$FM#SSQW^NM*wpkd%j4UL1EaB!dmWGX;^N`=h(CqCo+ymiPVtG72uROKT#Tt_F!y^4VLSqZauA=Z zwAe?$E`qOF_GH6MIL#x_Y#}X(Ype|bav>J0>dgQw*2@$xFk;D;n}aD8ZZfOex?x(T zLlm#vI1BcTu0K92d@}h?|D7}yb-#yuA+)kFnCV3mD8Mt7LU#7D2&X(CC9Rtc z4OrF4+TBS@Cl-~}lM{O8jSi0OQpwlMLk{vU1|=!bnp0ZBYnnmQphM2{B!1qHMxkN? zJ(0Ac!H{VNM3PE20k9ty&=F7OI0|--J1o69DyI5Ax7*U!Zca2B_a(>p_4Op@vht&H ze%EeA=tD$z4k<3u^jgiWf%8R`AWF#)*!aVj+WSX2ifxNK2cbS!g{w`K39NsmB$b_1}tC5yT}q&s%h9B z{t1~gv%u^u`3#txAjoXFo1PlL>-}DD(N2MhEJajK`9?q!*@lp!m)CBV&tX#+n0Rl1 ztoI@@da5QS67I%v2N%1?Vw-Z0EVZHYdEW?bi@WeqtfZdKMu*&QlS8;sSQgShji#h@ zW6E|rqO#wYbY3m_u>({CX(t46IwR?RnowRoSj_!~oUI^>|jVPc0zUDZ->2dPb z)6#d%SEzr@cvrXJj@2Dw0;??ZHvP;L$R5p(RdU+;9Lbp(9P=n+=ySvxCAoI)y+#H3 z*3!=>JxjcorfTOrpUN)YRKb?Uz-Tfv@7>T!bvNqR~r=d<6i(I$9rp;S> zN}O%;sJfz6@8z%~Di5;1`{9=XWm@0YE{cFiTy10Wk(2Lgn9dlu2h8foI|{Fzisk#7 z5{w(uGo_*`)9U-A(fi(~Pbxv0lti_Y2smFAuqzIlxz~OJkfgA2>*@tN3Siz`_&9I2 zyZEo!uXfa|tDeML&FgOrU~{et#zQ^#`*XiB(Xwp-Qk6Obs4ukSkb8U$;*P+q9hgsc zirJciH?I2$D9kH#h$fhZ+|OGVvEgi3;;81IqY_WRtZSEG>F_xW>q$hv>4+7wXkWYA zeMhjrXB*`sn_i97@|Jcy}RHPOgEclpK zz%wg_>UqYmoimxUMGE%Dc{KTB*X-^K*Q{V}dp`4b9rdPthydb!P9WXc*mlwzHz?WH zYsWo~qiIx?tlDLM&6ZT>ROGks;gSBaWh(X*AgG)1Ls8aai1@{=r2OL@VCQy~v(|g{ zScxOvjE*2mLHZoI!NQ&$Ndb}O(+={>sWU&WYc0Dtv9%(-I*Ja!s#dI(NL+?LPTaLV2=lVFGOVc%-Lp4O zkY`UNMqtY*jXP(pLmb!yS?8oV1D@AyVOCH8dgdN(yRRYYS;DdF#t0~&(atzIvL`mw z#|r2J_>pme5uFlDMPzuj=dJYH(4Gwm;}oBgGRZ?Y1I?B~S{@pW!*$jQtOvzvSN6sC zAp3=A+{$N*4^w21e=B3&hQg|yi>LWl?+A6|$K^$DYbU62G$J`?{ZV<#qG(r@+K%TE zs+}t2H{r8^vnw&%Ta^nE+ly~mE|TYP-Vcis22@JjeBlyjxx`wKb95~B*Hx53IAy7u znmm&=RWs~mB8S-lTL+;nPJ;LsYyw#b z)N#o4y;jegNT_sN(X3{>zJ*^;tWs^x3PdtPyY+Nck`@xb7^HT@%vOT99N!3YY?6#hudBi>cBk(?;rwa|L1mOft|Djbwmrd&JV0uApK8XxjsR|$$yT6U3 zlOYDI2xkig>uH`aBI{A@;wWLHhW`+^dJ`5LkH+}EwnHxtUpd)^#LaLrlVKUZhJ9rx zj;2dRJBUqf@BG7>V?;!J-zUQ2;UW7i+Yl1E^MuL;ilbT>AFzNV8iKRWFNl2<(n8sEVctxcI3hiL33*& z+tvEwtlkG>9$WK%1z;G}-LgP30uV6`<1oN}3?QWIRIjV~reWpHj;dHjNVPlH(T0gv zm4a-c`rL*Et1@>~yYi_WujUq*U46r3yi9Xh7CwDsxMQCHT%sXp z>46PuD+ehjzG1FB5sl2q&(Qa)*kPjDqjGug2Eamn$R4jlBZvOUF$v6M53E>`&&gx9 zQ8dGxsgc_TW(+%U^ zbfgN4J=MvgiG2y~j}ghypV5CD2@8`ewPFG@`^hT#XeY-C|vI z36O(TGfvHI!(ISs($+nzXkF2a24!!~HI5UebD7+y;c(0Qc{|&DX)r@jquQV#)XRGE z+E$B|@xJ{lJodx*1n}7pq7TO~SvPCv8u2leO+KT;w#_Zk*XrgP=ZZ_~-6iFdY;yCD z^(=>;h@%APv0kaXAaT-jsV6H#c6DGKou5K)7c9DE;n+3Id>;O4C$u#GY&00Fe*34M z^HH7sM_u;}#@cmzxxR2m!P;3P90Z6s@m^A4pQv%GCsxoba^FZ?*Ub1uEJiko?vAoKW;F-bHR2KmnUpiqC%r zl78A^3(WIqu3|ts9|rE2&!HR(tPj)ecwfnum7sm9>i(i*KiM&Lb}HT&@rz zBl&T@1jOlD$*$x9)@P2dox+&L32CEiw@}`F&thcEmhhZ)=?ty*0^(}Vod&^;co_rt zy34hbN{BB^t0&;{dY9^Q) zpiRayGU^F41Wf6)0!E^L|t8yjoD?6XjVNq;DysOn-_mX)FTq9F9x;m zub=%bmKBkv@SSx#iFr}|+ zy!H)K1|-f9*jrr9PMxk6=@KBsV)kiwY?1K&PO{j}y}kkCdbM`8d^M{fds`%=*TU<1 z58bY--8K(W9o$rsu_c>Ai1b6wASe8^>4YDZSJDv8UP z%Ju$+DaC$+!Yfj6XcTbYs<<-xwPR$(Kn;B+HY$euA!naJdNyJ-%#wG4tj3%2c{@(f z-rmvER7s}xJbr(xL42d!&oR~$VSY<4C-<`}w@%Nrv`@W9((IgJ9J~=QnWKWNice22 zArw%7WG>dX0O}_nR65=49Ng1gO!Z^29wNA&R;;aE7Sd*?ugjUkdb0C+f9p%ZwtHxL z+p6y^dHBY;7v95?ezeM}jrzNL=0o1%I=G)u!Oz!`XmBFgf}fjH9_j@RX^FHM1g^jD2~l?zVcn67>VD4{vX@3foSAuNkWy(d+Vi+sy^sTW%>5jdX!Pv?i@#$) zLav~`Rifvt8{}h5>$@Cpn1?5~mM#>WMBalattGRgU8$!RJ#bvTBXNE0!CF*;qDO@t z-a*LVsa-d`zk_hcHUHwy0a?`N@;v5tWmWCmL8>P@zH~G?8&>LmaU=U<**(baN8;zZ zdD)7idFS9>OAK2XI<2qd;Jzop)pF8B9~Zb)a8e~}f!yzVl9&0-Q|tr03h?ZuCcX`> z@S>2G zL-wPz5Uh0kimK}vQ7sv_b}PezIL)16H021Rq2O+7jI6uTJ661+ylYSij6tRFn-D&G z$STo7&X_Ju^kcR0lGEU@5|>+u%a6)0U0l{$m70!5)!AuO*4_#XV5<$Rom-;UlYrs% zN3--$r$Gj}oUqIVFEXU%q7O+RszAwG^8pLu-nO@$>^y)5@0X52L`?$BmI1W-eY zlEg2Nex_G%{)3lc%|Uxo1me~hvjU)^5cflHza{q=ps}>Pf-^4*6}Cl@yb+Y~$PZvS zaYRe7tfTE_CC=^n`&ury>5+Xm#$z9d(`%g?wXU}*>RD&}z@%~F^NNSF4j>}BosOyk zvSJ|asbAkhOV+IktILV9}jeSc|_sJ16Q#furwu_s$w$bQ}w z$$nwtn(+ZzOITVjswCHgCqd;T*Q^lEnicV_RV8KtET9{aAnP$sH3c|kR9y#) zXiwGdW6A80e#GepM4VhmNt!8)&s6zK!j~hTO%Bpyf*_|U0Rt#!FkqfC+hG{ zvv&htvsu=tBr8uV@lIkUh;(Jkw6A3&hwZ{f$XcPFIfx<=G_(`AwrnyqWXyxC@?&>}+$--al2Ix`?`P@Q1djsj|4}8JH>&;cEL*`7L@A=lVbU*&ON6&g(V{B;S8kTR*!xVdocR(4)HtDft+zD^?BnYReu+G!Ce z0r{hC=pwe)%q^_z%C+dkSSkGiT+MEQDhRXT1}?reH#bc9eSJx0HJK#3&y1_@mkJ=e z;uYt=YnV};86+JyUnNA=Tu)9+@$mJuR2IZt*s}_v8o!hVqK!wj=qIXvYrW*geLHsnR{8D#zTW6KSuV(7;o|%*qxfPOZQJ6_wc+ zZS4ZLkiz!?6wvW78)+#w!&0B(gfcnqCU{m)7qn)Wtl}ABsXwbrCOnqKldGoAeA%^D z2y_4IX-1EcynI)^?>UjyWo2-gI4c2z$TGLbhI#HqRudoP4vl=w?Vs=7^hBnbO*Y}v zy1yKcA4`)}=t)2pgaX{ojPUbn7V!|R^F2Shn!xzVAmYbD@kPu++zWb03FZ*d&W$Uo zSt#USFT7m4$LjAlm(VOItDXDIw|=k%@x#b@>ke5pD}>1q4+)H%n1>KzEkm)HsVB$1 z*XVjapJ{x963D3;M2uuCt4QzKi6P}Jj{W2CsOBAqh>ahj@aLA;dvj;B6hP@I{-{>- zs+~k$C)u(u4+fzU-bP%MJ!sVs5mAHt9OJZMhNKCiS;gtme8Wty9@V)3eEu0knw_x) z=nl+Av|p6dRb^9S1ySItP^h}F&a1eH*xuF!vXoFr<-Vh-ylgb?NIXXStxLDVWC$Kr z@jooILhrgJvzV_dQw|8MSsMmv5>k1e>?Q#P%LC9TnjcVz{?gRY+JWT66-vsLVwi zK(fp6lu$>j7ZC;W#(h80kexD#RA9+ovGStg>#UtVTNM6eo@qVd^5mA!^>R}PpX_!t z)ic9L$dUQDo`hs>dFjI&_-0i*`Ll0&gvCe2eyVrj=@T0hu&UvpGq7?C|v=*F~XSVQJ<8sr{F0_?KYHFGkrnX1?u zg0vS~*%Wra>{yv;U=@~mM|%p0Xmv^}rgv}1yALRjyo z2jyjN)GSnoN>8OHC%jXMh7v-Z$4|1_-wWOsOfdZy@`wUQdJF$;_PjZ(I|KtTkv%D^8odAM{O4Nqbd%Xn9{)^9ss?= z0J{Luf~f`tSS-<5z?ThxA$dMNBx}4ihgDbCiDAp041D@B8Rezs zmQ1F`UR2mWrfOlwv7)(WTSJyYss?`*lhNdE)sC5esy6Jp>YC_vv@ji-M9O+z&4N}d zFS%9N8=&<>y`7!O;fXyUtE}}k;o>+wHN|Guq9`*0z=+xKr4|LH0=*br488mWCYGlx_+?v zdJ+e)d0~07GZpXGq#=9M)7KdP_63dqz2gDP018U7_){L}R_+^gHNV@r-im7l$f{!r zrfd>2+4b0zztOrSD`&98Ht&}nU>9(M^$_`}mUOa`Qbn()*?NE&=RUULW5-D-?vB%{ zP)@3_O~2otSjvY)+@>afY5NAA{+Z4tkynWy;tXvw*&zJpQ87752 z$)&P4stk^KFzLy~h9Tm(+7anICG8-!@^_zYE(F!;RbhJqZb-i^92GmQB|xL_V#elv zI`XyKFE*fJEF6{aVzYxhmF!+%$C+*W?r!OdrT1)L6^84axqE|j_u&R9!gB*~=5NW9 zcvC{@u%}EtBGf5|7~*;o8@@eo7w&5(3U`B2FL_Fs5%nQA0CK4Ht|N66H@hc^`rO?9 zboYz^liB?fQ(=YP=k`|WwG)as>!sIS9RilYUQ}%noZt=fSNmyJm8VY~mOJPwQkF>R z8P!GWoP@id+XJa78~`iDoC6k}-C?on2H_D@qV6Qy?j#M_YumV5LAA{qO;4sku<*2C z*or(SMG6?ydo?Xlaa?Ox{AWSr(%`S1w4jnkePxwZ$A;=P6VLrybzu zkS#JJCQ60PDP>fg%|aRWJ1y}7VQ~&bsl!B67_tz1g`#*)pN&^`SSrXJ=XGd>oUj(rHBZYm=6#mv2LafhUPEbcDK<1o+i z+!)00uANPYRjkHYdbsyOh1HCVp=0uk0d%IAXFCTMIKvKk=OLtY!)yk+zVpNXy3=V= zb`RCdj%5c_z!f5*xpu>#B%sPmvth%k7r8S}N% z=>RUrg2wvZ=L%-sD0wfIAPKdUgQb&4IipHpe5{$__KYgQsqfec=~+zeE~SI&Zrq1- z%W2y}{LM7Lo1b`)X0tJUuY#he7WE8>MFL2(_RdJEIgQ0`Jy=H>qOsRQI9hjj%2(f1 zUws2A(TkYEB3%d+cL>TJQrx(Q*8e4R$0wZ$uMGfUu z&B?@Z+KGhpB2Eam^^j6|&8|`A26j^<@!ssZ$vlMTU*v&7vNU?PUU2N%Ws`JPVXEF5 zX6pY#&eSe&mY==*GnYX_HDdv!sHnXItTH%c6+sZ%#3n$v*5BtO=kIfjt8>Qh0%TPE z%;0fBjtxYH_f|78yi))xgC7+Q(`rH}*YTK&`X*e+@ke5co8jqUR8#F}@Ed_-Rp$bd zmvudHR$I>aHTl2Zcg7$Sh9MbhqgkawNO7#!?sgp}7r0T~Z46Y(j;@^mWhWEz?q~R3 z%W)WfT<;|2&4$Hxfg`0_H_q>AQSH7(AjeN_xbd@o?&1In*}3ak_zkmcOx*M9iJNp^ ziru2DD*?xACx&@coas8xvOPdfHPMiid*MYBUOpIR3Na-~ zU=AlAzo4A&#&1c?xN=k?#t*yl5vN{W{iw#>zQ0%U zBKU`U1eOQ+%Y9*j`U&DHLDlP?pMsEJLuA;TAIP8AQkX}{Vu%0B@YnQ3~ zM$nTfO)mf97S1meoHj1nv$<7o8HJ~#Zu;_FCx)n@S>^_?Xh+tE`ij?)s;VR>rws4tFmX1@!>B&L9PsLsoAR z(l4b9;j5lq26Nx=up-w-#V@HH4#_UlQ$-R(-YrH0BZ{8l$}tkLX|RG^=p3{q(n3~c z9U>}oQ(OvQG#P7aM+~<(sEXKV#z*Ue&h-K!5YfK-oGU7S+IS}oB`>a-+v@dWefBnk zX5~4D_$iIaN7!9;M5Wl~wJRH1J7)darqW<-4dg}Tc%1jLrFHr5*}2WwfM@B3rN@Vq zx(qm{x0x5m7;;`(&EolCadkj(wgWQzAj(l6LdK`>!dCrWSFvzF?)RGQMIFc<`50nX zt`!&bcGv~5*v#@&&K{9qcOCs3LmijtYj-Qv77GvTq4It|YGziv;RZl!0NQ;9y-_Ak zO-Kof`d<=sfR!H5(JKV5B7A&lU^6RMA0HSfj@E8`=9a7keYic+9AC*&2 zy!s6kwZqqL=2hQ=z4PH=m-ZMi2i_iI18M=n6grNQki#wOO4-BurxeI^Wxq0liw**RVmn0$J=O z;0kMkdPRCfSuX%ZzVGXM0VHI0d}Dm?gkcuJq~=>%o`ZQD?VYy12P@SPlL_)as=b{U zvOH-tW$%v56l5fS3T_tA8&yL9?D_U}G?s?svAkw;9;51=;Waz4EP<2-7DCcyxL2BB z>#p5dj8ZyTts~me2dtt@D_N2TB*&8jaIH8a9rW@(X>?Qq03D8!TJKC*))oL#-1yo( z_YSt3TiR7(u%1@uR!;&iF?|`di;%-q-8?My5pebbB2{CDT$DNFenK>=ZFvx(RWl|* zYgym-_b(^&i^|P}Vx-8M{jcqS>iu?(B{7$qMKTW`@Pb$&RRTbG2;bUvhayOw!YxuI zA)728vNJ%_t@goycv+u1<7wYyxpU2p^xva_sPI`QjDjPd*3&LZwYY?RVz|k%iccOJ zZf7pn>$MZNJ(|L<*Gvdla2Ao^-VLf4N5gIb>e%IuH@B{=UMnS#t)vy`=hmXy6?#Aq z-S)TQ%4@~gyZxtqdflQ{4)N)8Lj9Ij-O-!uoo03voiKr&Me;U4%KpB_Q|_edX+O~5 zd;hX)w~-dL-~)r&zT*jX2>&dywN)~`c%icj>-qgH!5tpRF4wjweuw60x)(nhd)OK< zq4MaraM^41BQkLaTmSVujch3Iq#|12N3$jBYsJ#o2B^|$a*+M#84~AomKf~kI5|T% zBDsk>VEfsU+EHs+dG@=XQ@TMi0*?nQ*0ocOeKQdWN)oalx4KRR@BcMp>D~$F&tJ1E z@Ygwy?jgHd9rB%2j^nb;VLjtq=b{Y-ejrt}4e_$(mI=-KoPgZ%rMOy*p&7nBqTSVj z$dR9jVb$CgkRzudkr!NOH%YGjrfN?E6kQLwYg~{V$TXz-|2}6`1x~k{GEN0*K?1%F zQ+Dfw17v|>2v$EDS14|w6r!H-S!l2F0#wfnhult8K3W{FzTZ`5dc?hG+q+~O z!dN?v=!W*uFaVD45*<4)sd*f6E3CFV&Nt+-BBJhL4d^kvmRvHo?L#6zyiLZ<`+ci0 zX^115iU2J2pj8G-t<-9Ktr!5;6VveZz1pm(7G&>h0-ks*Yk|aT!fF#%FA=t~fRH_( z0r9j!OMoRyFx1XbI980AyWs;9=8A(c*)DH~T<8?y-s0Nr%Ikg474u|UHHb4tDM#XZ zJ>jUfDiu2Mi{>S(V63N`pCa=6o+_sg;j-6Gb#F4d+Qr8Ru$_jWNqayKFpuaAI(%PE zN3ANEYm{9|^`&by_cVN~N<=GxrS619Jnzpg;!7jC&hdna@;?RxiUh_r6 zeQV7HD_;6BY|pKPbt$W!h?{G--#8eO7hXFLtA5`rsj$Ahig2T{?~iKv6+N-Z;vn98 zZ!+CD1#DWYFqTifd-N{B3~B#{^bX$9Tv#S5ocgdw#O?ufj%Vd`J870C!tsh^OLaC<^23o)_5?~bX;NEJ1pkV%JVo1low=!+=~*s$e_3?gwNa} zpourG-E8V%-FWGQEX=>}mB`*%+bgu%IrR&(p`tOHpK+eGL2@jE1S!2&vtMimpHtEJ zPqQEz{k}Il4>Qe@FrHobhw%a%JcMNRf+VJA3EN%1$CH0-Nay2SO~DZ z-1=FfD@0y+%@Xc2!VEpL^6VC7)-AF`xt^%VBG+?kYK)5aA&fC z$MhwKS{H#WJvl0?BG~E~ZXdIo4~T%2Ku=iUzKln&X&eeGB$%fV{L_&koG6xy3i zyAHRRm$4nN(z1}x6S5=IV%FD-V*i}xDZiRk5Vre*7Vj*F5P>XxHTTSmkmTqsdPc}$ z7;}rxP_ZykH3BoYuCLY4Rxx=VcI=62zgAGIk`c9Yk8ZuZBtytFCK{2Q8<8LBxPJJz zEx^C=lQH5lKSP>W(pzfGzOz?hdvyx5yS)J`KdZiL^)-M!n8x+Sy3VTk{^4+&u%0yE zjSUEkB~~P{+OueEV(dzama4gS^k^gH-A>{}Rn=t3%#8J2QEv#gA8YizJ=6qKzKjtX z)fmVskO+NGkVGNd)(UUVA%M{ijf!u&5>m*1!*WQP0HEZc&+(SuRUw#LGNe2V2U}2x zSil|7{%J_^cqCQSHaj;N_VAHroHVB$qTKhLYjLgr2-&M*k(95$X0+!Ga@T+&l6t){ z3Gz2e^PcvvU5ZP{1IEcad9Z6?j%?Tp5j)x|$%pWO8Uimb>nj@NS&nr`zrb)~Ap2rq z*y@5um1GX-ir?CGDLQ1Y>b$Ya8%cdm3*y!tBCovS};>9w&_t_f;EH; z=wm9E+X6lv1MM}FbU8_;_J;sORSG^L<;@SsxeO4Edab%-IjAd^HClCAG(}?uR5%cc zNaOb{F^roA8zPRg1$!Yms=aIy!mHRA3HBL4Vc9R&S7jrA2nuB5YyhiI2;wH&Rcty|3MFuZIX&oJN)L@G!xs z64Q8JtYt<#Dq+SB8bsaAXrxR|+~V*GW5*r~^`NqNx9Y^6C@|z6pRfwNfIHWOz!Fg~ zil(DQ4DFqQ*6KuJ*34AwYC^YG4up%T*Skzu@<3ED^Hnn%veQ>6KH~u5V2|@UYqMFx zszCtUTSt9uwK9-<4hTYie@Aq`=mfG?pD5q?cN%WG|E?)df0E_}XpL&^CP9S+lic{KM^Pxej7;B-3%S_YbShri$F~u4V&(ig@vI3*Oxd?OI+M{ zjBQI-wgh1Yymlob`W_4MjvK1_Uas=yB3CXN0O1K8vk=s`RIvR#b4<0`T2z<)gNR0Q7jyfYy7OU+p@{nA8xg3DG@2~*46@ihM3 zNQO+%4_Q$zBtz|*iJkSe?s-jFYPMJegv}ol)=_?{1z??g?e^=VpnEK_?{^t&%eJy} zNO8pgWi~Tyo5?L)hT%4@kIci!GJIP1*Mo7#Wzs)}&W3%*MflpUKN(k=fMJ}?Lc&fA z+u_P_4Bhfk>>xoC+`qq0242?5*%A?@tRw}_f zi^qq%NPed3$~E2aiP?1J6m(m0Kn2f3Rv=ex*ZXC*s8*02)*PZbrUmpfGzV1NA4$b@ z?Nvnc&_oGKb+7Z~Pf+bCwjt#jYG+PA)?*K!4O>02p6&`gD%C9~5>#O)Zz1pQ04i?- zwR&Y|N?}373mTO(P)%7tr*1$8>V|nYJ|oKXiOMdtz_x#W6=0{&-=Z5&{>X_J!ZM1KPNOUJ(@UUGCN-C@}JgSma1B$T^$haIr_-u-ZR+gxlTGg0e=lukA zR1ExUM}an-+<1z*p`yxIALf3eDaNQfB1JkV>JR~v>uIs4YscQWz8r(2;s>%LWVMP`tF6hY`d`DyrM9|!7R?$J z0atHw4MmDV%(S(FbO+&o9>$9aS|#>~$|npVlaAy=q{rjhN7aH>oo4Vu&TObU&FT+1 zGf5QjURfH}b>Z5{NdER8A=YDm$Lsrh7vWKeVYF1kGO(kPLH=!sxZO=xN$5>i$~~1L z8ul|clHexC5WUVtI&N~woq86MiVXzA2*Yg*%e(hfJ2f0m%CRCXm81=!2^tfPv^ydYF~XA@?>fOBHmvQ5NTq+=YA;st7_vk=#1T9pfge_> z0%Mh5SFYB_KW4t$Tuo+%Q>A+wrT^#_)1808tz)S!Z11dhA#_||S{a?4b=cysvFvK) zAu9SFTgOMyJbx}0zAIEP`|*z2N+BT^0p4-I&9zewcZZghe438gzbn_MMDUYmIe@d3 zAW5JhpV$x%Jw?u4+4TVJRMOp{(JbD82$HNP2dpKAbo;J#&`vS$Fi%_EsLlb(^C~bt zlDAS_oWHZKsPIPq$9^s@qP^u%D!lt0YqlHTAvGIB{@5#!a1o(nOn-(hoh~u&OdWOpW{v z%Dje1w%%-JlxQZ|dk2J6TDf>w&z{yf592;Z;oUGPCDI2C#s0J8{nW{@)2l6B5*O8e zp{1U9%eE>cH~WU^Ni!B+*os7>TB0GOGTYj58f-dbcjK;|qRH!BNbXUoNm)-y91q!h z+-vu$Ec9i`vBvr`=XzgcZ6i2E5SwSgHiA;-eUF8;x@#DdaIaM`0BS&$zx*iXHwKxu zXCeDh$6JT}*3%h-J^tGldxmGoalnw~j)&Z2gz5^j(j=tonH-VKsfdSl}Aou$iq zInFbHlrOoqsK1`Rhp}OI@iT0{G&v*-1R}B?4<`>Z5<)Q0jEkx#Hin{@&z?yI?UYh< z{f0&IES)z4!#_6Jr1SD+q@{wL#0247u6fER+0b+t8vW$$uqt0eWUU_6u0ujdyhL7I zW7KP>_W#<6=sYD-?Qm4A*h4U*>4fy*YgehjFcP~XnG`GCiAt*Sl#im*qv3s@?Luhn zJ~Jx1E*K^Ir2jm2MQolPLZ$RyjDeCMl+u;Kp5y0a*{F{nCj46OY8397tg!^*%~Ws~IA7Z0l;5 ziHCGYt#%@NS>FYp#y^lQL|!{*qkRdR9g9lL<9g~^^V;pU#d@+zuic)M3hRYR@F>Z zh%*Y2hxtC|a%C!OXW&tZMXx6{<}tZ;3(-fz?tkACU%hsgtSxp5yUbiqES;P17|h=+ z-7y%NUa}ZXk;t{$b&p#0^BWI&tkUaTH#=vzgHYVjvt0MJOzV*HiXq;CYj&8f*X^#I z61Af$ydKeyK6Vk}K35*rbm_uB7iHJ#!|1+i_de!^<$X+1=A8>J@$GoA%zo~sGgef8 zTt7Y7+3fc&LMV(D$%)QBYml+u7LI#%{#ES%dz-lwTHo(P?|bar!Wy+>?N#rPgjEOM z_ZsfgC$je^Rk}Db-GSHdBqS8Rb|os4S$;a{WOZ4V3A&XcHGmwFr@r>nFECu6-N{#& zPK9_D?$j6K=7b+N;%n!A%I%$qZte2Iwot~K9-G0i@>2`Wc{>Z1g3ldqJ9jZhGtaFY z^PEcrSP&ZT5Kfn%&HpW{0Nc-C)%Q~GA#!-BT|KX=G;yCJ-0boLe^f`m(gjg9&=yld zN#W*8nAW#Qd{)-23dgA#i|SwGKMQ5sDe`a4XH_r;>Pc`WxiMTX$n*KX8kHNR3 zN*B%qD@VL#U&*f#a40{m{=Cjzh@i#7})yXP~c+D&cy)KTXB(zIONf>S##Y?|VBJ@i3$M4v0=V*|@qV zN9*a=^=;Mv@4x(yzx==Z(O?&l9G$;A7Db$_{a?{n9PCIjH2i3=wf`Gd?YNHxlow=! zEAzc_l)up$6$AdKe*e$E{6D@Z9Qzmb<217WVdnqEk^SHP_Lu+f|N4*q{eS;I{>$M1 z>o5Op|L?y{Un1XmLHu_oA-&!^a%3DgZJ4?Vwz?FKERn@U<;E`?A0j_pyR`T%32gCJ zklROA5`edH1w`uXI%4XZ4MYtxVX&@t{oO(+qqt^z>}#apJ=&zBIqMKvo_TS7E&m9_ z>t=o)tfB#DpHo$)jDsUIg9^Z?`@2wrOSKT4leA)mNhs=J5(RiaG zX34J*uF^&*4QxRm-9@+oD)P6xK@-n9q8F?rM9jm5xH0Rt%skKwcOfi#*vRI%ORlXTYzBfEr~Sa*feal)lp@yj;czQjk0{$5W;-x zw)Zreomv)|QTt6H_5O1^30q1qtUP&0H|j^U>}A02Cqz>4^SbgfMhsTYK2{x7?rKQs z*Xsyh4|$@o&oQd-85;uT_=tH{Cup!M+3+YD%-q3lq>q{;7^-iY{ji}Vj5smu3 z1OPsP>_)3CV3~ zoUk5H8Kxp`h`VLC3Z&EZM9zH(2E2BX-mk0Hpy*ph*S@ACa7gSEkN~QYpi?jQB>7fj z+kS@abKIqZivct8?4Af%JOmI<=52?$Tl@~*3M z8ek`%QLW${Al7%y6s#vOaZhC)H}GX+nv7^TL93a|FxVC1*Tz}_L8rxALrPIyJ3D;4 zNt#C`uAUy=vg{Rah?3Of3vYAXIb*Hm4o2lPubGP02UIBCdC^hBl*fASZFSC;qzo(e z7L_qwJG(GIN5_|%pB5oa_q^psUXE*G{B2(Ioyh)GN6vUcXWm;XEVDw=B>CQLv3wlr z6Scm03!03Y(75wrW6oLL@n2m^8?(y+hQ8XN_CY%7#?FtpEoR}{8C_+?KCMhC#y?rQ zPn$C;*yBTq3Y`EeU9~&v}1HMhikS2%UgCmW=Fxcv;yqnbaw3uco9S?Sdw=&7%|l? z4E4VDzAyr*)AGSGoW@nzBq96@V@Jct2QX3!LSzYLWXz@z zqsbm0vdk%}&NT|gU;{55aN+W>vH)SSt=1`|Vz3Y~t=Db^N+!H#^lp%RpIa#5?<^>0 z(lL~!OKFA3yo+LJC$qH!3S)EL;t>Pb4zjwEs8o|2V%ZJJ26s5V6GOP^tMUUYovDf8 zy4Dt9HVUB_G!q8ILg++7_TxVx_YzD<5s{ECP&OS{k)~m@HP$YVHL81xroKOhT`KC@ z(Ln2q>}=Ag_8gCPBIxa22XhiWpTzFn_b!)#iqgJz0t(j?m-X6lzVG;Zx?plqUkV-G z+T80#ou28-R;yEsM#QJ3avZuXa^J&Ucap`S?|b5RH{+|l(auHuTTb5pH%?)h8*C{i1>A_7-RZj*_IdvzAp zI|yw&#eb(kWn1e4>8{k;SFI8g=HNGHZ!Nc@s(6YEMx})9 zW}`hR5weRbXat34x4=A%bnTq`YbT_2?e=a%?Swqq1&78BLUDqyy&^k|4m@P_98u*c zji%!7qxsQwtm}t)C}^WH;CM>A)qLsu43Kw5cW?mxguYWSXtG zc|=^`v=O_0K`aPgd22ju<6@yizK&)TWcwtm`kF*8=9lxM^2`{7mu?k2c5wPoVEgu6 zMgM)xq5BYK!nNbK#`~*Ny06It-^j@u32i->1hNsP-Ds{c`M-RH3xV| z0i!0@JAQpGsvS{F(3Q22yJ(I|eNMKE&!u8(S21=QYI(-qlcI?g?#<5+SNfdW+vh16+5-?=NhV0f9#O=(u z%73tMMuXq(l){*y!z31xUXZ;=qMa&{>j`pv#``_)AJt)W#p}HvXlMj0Q>>#YnjTYd z$WxKJTq!yl5-zC(S^dV}d#WL;AY{?6kUzi1FijWSTM_Gt^lFo<$H*(vj?di+RF6Rq z+ZxzC^$J@$Fks=#fZ3Ufy`(x~GP(0ti~>`7(uv_4T$BO1XUv9h9}^{#?+FrKNV2z& zAr=8xPb)S6kUuvfneNt>kF@-xW_w?@X8g3%YOvj_t`Koi!l(q7&6X#E8Q$k_YP_s; z=f+rIHX?@leU641vVYDF??a3ShUQMDNXcs6#8bQ(QyWEoMNLxS<*jDl!E#dp7ViXz zQjR7MVGpex&|e11=P_p73P6 z#iE*zubrI0_r0qF2rDHus@uw>6NNuy51yjo#T>`$tLrH{`nw2O@72ruIr&mc8XH;SA&6E~rCJGZ5luGAC=NWryuPSlI5n zhwOSsNJTEAVO{A9lKiWGR3*ki`#qc^y1zS**YRW)if6@WQ-OYsT)Vu$7I*IyISK-p9BlMT=TXZ20$Q1#@g(%NO=#Z@IjFYd~3_ z1?UiUiu6{3Yc|>Hu|uj`sDE}^MZu%$4)KrzUL$HPv;QWa*UywvSiaeaR(TQ9qn$$% zbhTsnzY*oM-`DOaG{J2rqP;laYtGvZdq$PN(;U}mg;z*~cW#7ceM4Nvv2Q8eDDpGT z`DXU}vORI(YDl8`)>8duT#<{=uIvC66JS543 z6Zf)Ujh;^1W!z|<4Tpbj@lsdMPWF!bHRIaFh?P|6@S5LpsQuC`lw(v z=Rt^ntRC-XZ9-In9Ai5Nh4jP38XGEPE+K>>6Tz!(2h$Hz#%9$oBZr8kwhWcSiWl@fAw9_(3ts>STZMf3 z`5&t>tk!o$GpEtks<`8)E~{&yC5ZRAh!iht3U9F3cSS|BrO^A@+wZB_g18~1Tw_Y5 z&eX6q1&~6dcu$n!v%JNPa!F|nBYSfqS8DQ@N|{((ZAy6-$9W!yi$9zCLV--J|Gx8R zc`nCAM$qbLQeU)t?HF6TI13{STb1Q+Pn?wqF+WIVRqY6>`yOmp^zE^fZKJAPM;pR) zxSkg23Q@$l5@uBH#yMHI%+rIa=y3bKu$DG7W*Y0Yzw=nF>-W>Kf$K+UrQMY27unH#Hba}FC#jb3+ zcJT)3^IY)9EW8RvXM^nNxmb+bY||mKG{>61p1eDcg$s)fSgI8Wb{=s>ZgiOA)WOPs zv$FNZ#=LQzK8EalzWCieEfR9S={6}McdE&RhhUYW51pj znr;DHzWyXE(GdTTHkX1$MQ;q@urP^ z^v(q^a+L1KNKc>Gf7#V!(`2;?pB?z_hq@TZ7PptIooA@|kYR`8CSYKqQW*GMSoK-nixxy$UEP1P< zt158Kp&`(dNotI^Q`MkmJQ9+7WfzdfAD@>UnRPeIyw0_kxR{x;3~q?Bv0HHYw>uwA z^d!r@3K-G3y5%QzzGj~><-mMD86Yrqo3JX_eQwWBx5HgU4mpPf!q)yi#}_$Xk!xxb zcqOZML?yIx>-6iv+i_Gp;RMA&L{Vuk#}Rfb`WwOO>b3jlu68A=0ef*WfZ>t|EK|5+ z1@hok+$kkRV5}c`k4}TwZ3O}~bA}Qd?7xat9pcJGxPzl2xT1o@QHb0^dd<9H2$5qr zGpVob(i(_PHNS?mR6(K)JNcXRteZ`7XA#B;O1M?lMrA}LO?*e6rRj7+{Qr~N`{j(r zsEaK5+No%&oeugn`5`I%JjEQsqJIuu3)9jODO){{%$r6C$pSf2p`B%a9eL zg?x`0gtaMQW%owpa1EdVUq^E`$(aHWw@wVJ<9k2&e(TFAF;E?etX(^7Vwez)%Vd_` zg-nm{lh@k?*66hpb+~r2)kpJ>q( ze^iq^#No0HNXVo6m?t!kQB$_PzCt0ORhQ%##*%`AzZCdDSb}0gk%**Qz7N+tF;Yky^jbl zgsiT9$YfDS2Hr_b>>NA6O2>_A)z~4Y;z`xnb)EUo--hiuk}#7v+1u9yvSRW25kKk_ zKuWjWAnkIaRE&VNM@3z>1dz`jP2xHR6)Ze!sp!ijA8g+5!mbUQWUA^ifvJM?A%DIL zE~j^0^}{|9vF%$*&AMSeWMvgYZY2@5b0JlSjb<_85Z<1-PAlE0ed`Pk`efDU){Tt0 zP(oNNrzNxLMnG3x?`2r)N-*aDDTzcn4sd<^EVUA}LW(o+2*#Z^>Q8YvjJdVqEez6S}_W4|# z*)xz?9($nz74NiRk_W74Jr%n(@WcnfwNjn1MK>U9ibeoQ&P78gHa*C*31E09hfeRw z?#ahqZ41Hl2_jOpFl5Lc(d&Cz-9<`ZVwDL3=ImsD)gu*+bfSOJkEb;?oXuhPsP*Mu z`oMXNlqCCOoh=K7h>A&#lGj8xy8!Ol6j;12amd@XQ&Q z_}1-=U|c$~%7?-tsIEZL3g1hcA)SqmSyH%Ye%Ssjx4eauT)k~kMsR17hx#?T1ekFP z4Rkh(NTm%zx(z%;m_twTp<&<0q{WX)1mc)wZW$tRlMWgGckU~MRyxBs=lFFc)p3I| zzjl+rC^%I+Vx%=8iV}+VIf^OHaLmr_L?y0cP*TOD={|Q(O4;2f*2|pdQ?nD)+TX*t z)e(#_U_Fbqt?QTEBI>qffDB7tqfN%Vc%o3#fF4VX-Y)oBZ?1*(j8uRF`eax^rDiOow_G$Lxrx4JDmQHBu=4T{&cX2|j$KVEOcblh zIU1|RgRB-dM1UpU5uV)hU=Z=^9TsKcf&=Zkv!S5Is1h5m_dO^OvKp~yWbV$GiM+5) zSaLKfw@0ogb_Gom(yNcr82DM4X{?Dl|52fORJ$sINc~a#>p%A61VggB*Ojn!s~Ob< z)>G^2TpD-nH~_J0pM$iVcxfrJup5+<+fNQeB|6q}W}rMK6ZXALhmAW;(|AYZXkO>M zjJA`BgcZlHYE4e8!WNCx`EG}eYCotQl8Zg0Yby;vDcSA1c6^TYr5vWca!k%bZ};rg z+Ew{fyX9}1UhVRp!xHG%dxj@uzxXl4>u{qHzx^5Kw^YjMZhqXf6TnM_w<@~~R7bCv z0>;dIQo3u{Ti;#HK=ocewJ%FXh4fFi3%h0(=bL7%A8X9DgQV+2{O_HY{TSLHA>C$| z2HHW3H~T(rKeg;5EPvBw7-U%75mMROgq@sss894bTkK>V>#tOP6n6d?T9>HS6QSSS zAO+*2+Uq+*gq9&mfOmiz$`($ru>`@W7S#d#!8ThzIA-GFJ%sv?lC(TVmf;5tO+9gM)`XhO)eOZ?E zazCGdX!-C#J6w>JE$`!2Ypk8Wxt>oGWA@wY23@^(?7wmftuWYY)m^Dt6#~9_339eZ zpt(4jx$OVe<1`~g;n>!HjCt+EfN%Xt?mKPx<7Y=sRXy9%9yO!ajuU=+nZwpF8HX(r zs(zxo_TT3xIglEB&5c4sG= z7G*v05+76M^GD>cwQ`7xo`i7TI_{7nBX2Pk*$k5yNqF0X<_)oxKdFnUKv3isPP z%I8>KMZ>X@KCdUyn+q+8Vsvtaa(e`z?-fpbquNX7Ar|Atxl0N=78QupE@9gANUA;h z0TKnjGlv`Rz%vP(Ub1Vu;>fdw-{*uDnzCRCtA9P&!(1Vk91mkPxs9&&hv-4|vke{5g&AR9?y;Yc6=0Edgh5;m$yiJJ?IhKXndivgIm0!@qd|Lx zth47@kgkk=>D-XQphL>Nu3e?f*A=00as*K$w=$O$O(}N!F=UPQ4CXab@c#*sg;Ff> zUgY&Lj@Nx`wJm+j5&1kuYG{I$(Cmz5@Gjs9{GK4?^E?T2E`0#YpKZQ0tqmT z>zArw_p8N_jDsQBd26@Jz0nlhyS_y8a7S1ULR5kqB9=pD+(4H0Uc0wdnK1bnVTsGy z*^dK?v<#>QAQFDw*;1HgKT;O9I}VzOh1>wV)pW!Bg`o_y+seXKi+cRtne*b7{1Hqk zNKBPvZ%cdl)#43l`vVlaH!K!H(#o7+c&bm5GHg;;li67FuOYbqIub{WtJ!)NT}7ml zq$#uP;)AHGR$vG{uGd#i-X{DJ`ly>Q!mYIOb6?( zvLQyEYYnk?gcgKAye$x8x{uXG?29VzcT}c!$I}VtiD}2ZY}D<+8RD=LKVdz(6cv;4 z+S$%#+sWP9qH&>OV#6W)#yKU}1)1AS%pBX79=UJn;KZ84{aI9O%RS?TOcbRPq=QQq zLG}_}NHtG&HIY7=LXoj=*kaIq*gcLzX4HxVmm(R`lxnv})m}S1d03YhMwKWieq6mjJFE z?j>De5?$B3pK*zUA?K3hfM@AJSj}JTjS_3l3o_M?mc=eZxK7DKvb-oQ5@FvTdB2x0 z!hCnC#Md5Ges;|myN5he6TmdaQimYS;>WBX>Z zCtijulHGtx7_}x$w_d29bgYcE{e)$o5r$F*r-iS^5wgcKM?zwvVQ`h{dR>+K0&#}o z0>(vg5dcY=cmPy;9U_2ro0$bNsaoK89soO~1XENpxn)bTe_lJ417ADOsys&YO4)iB z(@h#;i@i#%oqF}#IBc2iDX+KJ-_hLf9CC&|9K1&2;B5)TzcNfD(t3gR*`K`ALjD<@f5t~I>+886*uw2@?-TPBSCBL>a>Y%>CHw62_pR;x* zIFF-!$pH;v)W4m2h3_rQE-0Y7z*j!v7#dK;b8Clp;$KJwR;`p(zcU6qk!)v{;O=w& zeKeNt)?hK(YbTL*eeIV(w#9p5M?0>|F$QDcP51kmFkaKjQBf&O?o{PRRV@$MwaFp7 z*#&WT?#78~1wS2*b5$_eDvlt^i<)0ZbrldvhOZr#Y&rQzO=47;dI0|BHM{qGAcBu4 zLy80R8Y)da3#{Xbsh*+5>3>>iXK_`6x4*2c&Y4zmn}wQ&7p@$ZjSjd+KoKn+8zRZm zcCuZ{XI-MojjGXi0iwGZK$x){RxGFlA#r&w@3VhPaPeu3Ou}#}N@_aXfkD%6UMi0$?XQ z72jE5O@uO@6UP~um~C~6D8;t!k^C5NJ`Ze}ov4bb)Sm^#V?%xpkij&rsEP?jHJ%M99Fu!(-)rWO|rJhu)-1r$z$pgqqcL9uU9bP+Sf+t?->l>9i`s4h) zK2W>+fe3xy6JSA@+$vMUcE>qnzj^@4IqvV-`u^I2zwc za8)+dU9`SjroKHO(Wc;W!`@lgTed@T`R{YQ-fQRTB5A0dLfq>e%Rl6ddk&(xkK<7F zm_>a#5O-qLA>LA|+oUA)B=Pf*qP_P$O>X5_ro8N^CJX93p&jtc;k@ue278{v@5y1E zRaZ!*?iww zm;T&|nOW92A-xI|RaI33R`mm5R-LP#$uePX4K9)m=~7J1IEzh>uJ(V1^fvT!3^*T$ z?LD7{=_YIKL?ib$1EhofkY|+V+pPDfcb`0IcLWi@v?v)sZ zmF^mLeyr28UBw{Q`>Lwb2krTQ7=VN3wx*Y(>S+mHA6|5F=UC-x@9|zspR*ZL@ zJJHv@qOCD@ps_MsP5{9SC$t61yEN>!M-~-gPb7;dMcYs(0e}-2{qpLd5zbM zL)r>(WD>ru3RgsY6`#Qh7lsf*tz8b#>9|$xxDwkmwnf2x{*P=KwpSZirI2N zu*CYoNvHiYenk*QoZk zQOJ@pL&_qC6c}xP>+6$>RVv)~<|@qNy16X~uG#axwNfpTCU&f|4Ns-Y=*3ToCN}BA zj#pt@fi5aouMw>zh>T~c$6!dlpLhrxYb35VsF1OyFllEp-5~tZ;z2sDO$OF44h}mr z0`f^DUB>p1-RRS9zbJZ(piZf+fmPerBB+>2P?OKQ9|cj$()WnMu1Z`xL57Zga-H`39alv!2-8C#KoKD|ymR#Q%n=p1Q-I zW9CQG>xlwt1mmC2G?sj5sbGRV6&{?}8#%QJpebhY{AL2e9mXm3ii#6;x#Hi;BV03~9Gs^c~_V%pr`4_dR7#XI6@GW_(gba>1kGAD-e_orsR)A z1x|ct>Jm_EwhM}=#IjBkd32%U4(Ts=t{Kzt~Y{U6m0_R(gd`0O_C0q`dt;suTWkynxA z7}V#uCsytKohk_FIp@5FzT{6Q{&lj4`~F~j-Pn#rb8LP&g2|(cJnfZA)g}R{-4k&b+Py`stH`cIe~!8 zpgQVFp1%LXhYjUHMg5~;cNR!Pl#Ms!LduYex{eKZd5OfcTFmw*cJc>SwbZE0(O@A}A|F!S7{pUAC(-qlu{W%7jA{?$M73&!`(ATY zSW(EJ@oPsat}oGp)&{c2+M?PmYRFwPfY|txWDVw7C48XP%V$>Oo*6Xn1_Dh=@=afM zChV+>{M8~05S8uO5~76XYC!n!#sqm!*!a~BcczX?M!9i9ZUnryo?i%&BaDe4Spdxs z#)n#8Ozvx^YW=9>^Bcj!lQ9~b&Vw9`c`U~q=_k+=H#GH`KUZfT(z8nG+0`$OCWYIk!1@u}FkF9@2G8;#l-;yA zSN-}{b$FX;3=1>VuA2XP5&&x-1n;Yl8nVl8A=r4lifRrB%*B}do-L0p@?#fg=o-Pc zmk~~rym9ic8dZ_;Se0qPH6I{-m;5U0=z|suHtiZVjgqJz|98r4QY5>6QnM9-Uo&Br>x#d1 z@|9814mvKC@zst%X>V9p@77=Xqljye%n%~LN^u~va!r@gS)D>icYpdE?3;`5WuJrW z_m896Gc}NV87M?-VOt8@t0^$~pHJ~UgHq{noQ`G>Y zsbSvl6tJ<|PiLj;wD&tge1zjQ6{PnYK76HBy5OT}BboJd!f~?Q&a8vTn(0d-uJlD_ zR#?g*tbE_Ko7AoBQU^o!UQawq4}a~j#@cbS`@sf1EtL_KY|!=OYQkvtw!(eSb7&_R zTxhyck*e3zGh}^u4^HVxaHlwIz3i zYvSOEj(%!kr2crJ4PWH8zJw_zOa(EL3;prL^S-6 z(>`@Q>B8A9dGLl%%2G2dlj=eEtS` zn+wQ$EEXs>F*g_y1LI6_ zTN4J+iG5j%y<}Xw9u%#2-omY}6H!JKve)ECL$crZXrP;(vZll&fjcuTDwR@){Oj?= zsvTMx{o*mWnD3#tLiok+rjz*xEB}Dp(>$moT~n4DCWiIJyMy?cPe7yKep?`(%W8;66llvz|QcI~{95zpv}r?Q@Y z-M@BK43p`(qh$0&BooELO5I%D9J@y!;tDhlw0U8PEa|1YIti;1Y=~3C!POsd99GRZ{;|-kt zDO(pp$Ul8sAUlcHy{SzvP0ipB+3z9OlMGZ=hG=5?`Y)g3=RXTH0*Y6wj>WbnOzULvp{aC*kvuC838@@p0`g@KIm=ICfNg>{|n(>ArX7U^B?( zSXT~9`w6QarDhDW`<#Q^c8VbHc@;D(#kpqnYGV6#nbj_&gui52s5$&;_Ez911Ai)TtBv|b5WE!b;%M$OM z&|F}>ty+~ztt#^gpa=SV{h02Z0oHa$&ey7{jmn&Ex(ghI?2c$Oskg@|tA_~61B*zg zKgLL@Gnz83a7B9usYaxBs?v7z71l}wkP9bw>D;!QVcGKsHM2We`C%(c8`i7zAym?n z#YKHWT;IRN-J4Uj%l&m8YbR6EIpA*Z-L87~+bE+E^EsNTr#4JksDA3Ac14Y9woBXo zW-IjlVu=fTSO5`#*GgsUwUTs>ouumcWBQ?cvN48K+8g5h+_97P<6~PodaNlFqxCG_ z=~oQesz6R$7R@B0nqBQ??p2>bZVuVY4|J)>@eQ1v-S?`+c;Rm8!rf4Tl{9TocjpQ~ zAKoyj=h%X#C$_c;7NwA1Pyv9Ni4;ae^_LS1;q-JgId5G=zdhjp#!s08`%Oi=vP@lw zi&ffX>Q}P@VMyMwYd_mykg~lIT>)!IF~G+Joz{Y+W^$~uh*(gyn-THT+Z9MxABOB@ zoRG|>Yv$ryB0S7~M&j(9#(gbk0$gB#4T2_S$h)HYPgn`yK{-E0qOR?-v@a9m#OWuFgYZ()T^5yWHFTYh|$nzH@g|MLn=n9Z)V4BC$BEy z3lVf(&lyVZoZt1EddgEBRnM1>>&Tt~3!cV?e=dq!8Z9Oa+dJk>ZYDXTGQbcCg;*29 zfPKRh6l)1!-yU2Xi}75Tt!9F6g-VN&JTnDH?Zv#XYT2U_xV(;dCQm*UA+4R#>~Ad{ z%G8uN;w*sJepZ-+So;o;qNY1!s_1UZiy2@X0qq{|=E?lN~HTi}jTeQ8Q_h>u6W(LR9Cq2gdy)i*We$?b2?eTxG!_GVU4h?5P#G zX+{8iMxU6<$$yUuw*=WwlbPiBojNw_Du%Vo8GBZr`r;eZUeTzX0RMf@K|bS!z5i%> zv8&mM%zfHrapn;2MQq=8?%XqtR!iCUF4!Fvb$4ryTbo}uUEaXU8VBTTZQxub!?P&KsyhV_R7gd#z&!uMJDW|h8>F&;S2aix2VV+_r?31yUfKQIjoJH?{kPV zeVeExYp?tHo+9;xiB%TeSWilt+8(R0;^M?|W9oZ`xBL{0FMCw(Ks|-keJ+K}B^uCB}DctRxA23QEd_Thz!IzIz8LM?%XUgm1*U(e0S{xoyz+R*{!*L zF{Jvd``$)WJxXWpVI{W|13 zxaP^8xV~Dj+EMGRxSp!rAF|TIkZgw=WMH*EN{jDnd&@pZ%y-Qk`_49`&`TZdM>GOD;n#`R=9rVRA8CQu z`jZWvxoJJ-wam6rWmCt5G;tR`12Al#OAnK&t%?84=u0YF@CHR#To4%2?Sv48kd`f> z!KA1eU0166u$gSUwi`F92M`Q5Y$>5@#+R+KrV(%!<0f8lmq$W=w^0zj^lmvotlPEY z_+EU(%=_t%s5l&F+phQ_M8(Z5Cjaeb$2;}An0g%K#)rNlK6w){afHC`CTCWkHvgEC=xfBEq(bHK-<~+OH z4`KLR?W~KJQK=ICUJ2+B{A7OpSO$}H+mK_rzF=Ktjf$;wRQs*;wyFmd*Avlw_Mh!r z=Cr;pOhj!sCF{I%Gd9?d>>!ymyj?e9@({*3Ynb*i(Ff?|+y4Gl3!iRolb>XF1@Lq; zHltfkSLULo7ctsD%Rg8eY%-wr9IzY4n_rKPMZ#J;)^8PBs(jTo6GT}ZKE$DDli3V= zU=G6Q`Zh}h;I>B2_n6Ag5H_gx1ZVA>>>B{9;TD~Vva*I)A>TMEXZ@rd7dP<}O;4hs z5wbb)16wImj8?hO_5SqKRM?Pt=_KNxqZGkEp_Q*3O(x{YsD1w5m-iOEQl^k0zVSq$#Di5+mcu1FV+ICn+6vV%4z7eH4LP!#_2C|oSAUyF;+;R(J zbllP*YKPOFxw0^inVdRNX7Z4J=q4H#xg$Cn#0`PST+%0u`8$Atew`Oa3E?f==Mt)U z5J`(1ZmsC2_JvTLl@sy_#Xt6H8HC2Wk!OS@@?n&1nNP?^#e6<#&R2W~t)~%gp~U)P zP9dm7UNg4Y-9sCe=@eqXjS5xrcu48gA$N^y*s2ku>K&0GOAsECmaQ6KHfc0ZGQ-YJ zt@j2BDDb(?i!p=opc0dn=UVY1P272)1p_#sOZhZKelp&B|wg*h)= z9k#1LVZB>0D*8oFsh13FG-~TwgOF7q4YO|7R|T*`vLqr(AP?x#%=_F9!(T;DSGa9V z%KUb)!o)Z?KMK7O6l0}`Ylv-H1ODBLts&F3SQf_oZpP&)5?zq8J{uFu?|Nb|HWxCX z!jEgW6k_MSSqYm^nTak)C(Yjzh5ao?v7ib}-0nJBG(W0){ScL6nFd*6zj#SVL7hG( zI+1NMtQR)u9MXRqj4JXFj?l>@*6`FS?6|;JD%p-mJ!NO1L8h=Em0+2z@m8_h=Zck1 z>zHrR^1o6n?O}@~2I@3GXrEhLB|XP{9#Vu5I=0=-cp!XkF!hVFB{Mt7@+&D&C#oRL8>9(pMxM6mzb38~%y zbUD)ymAj1XAdBgaYq7$G6G5J($cTdzuMr@SeIFwy-^nGoN;>E;E+}!sB;hLe4OR6!W$! ziTK60qUs@(A^XYH5Lv(V}~jj(9}9v7wb8B0jalIB)A9dD+)&!RxTGXnnI$N90sy zm*)1)>}D)+AFmZ=Xv4FgX5u1ZBS36Q#QBD!S+W>+u8RpdHc`3cam-WgW`L)Eno7wW zb2<(q*&2FBah6q9+CH};i<3UA^d?MQm-{x%&OzCyFu%-UP!RF)J3k!2lXfIUo4{MF z{`T78=%~1tPEE&EU1$RU#P%V(k~iRDH6T7|BZz4FjZo=Q{PojfqM_8@*ZzO9?j>il zkT`$fJnu5!k&F}yQu1G6?%OZsc6a|$WqnNm zR6wi03MNCdQM$`f=k&xJbrzxoGB`4fv1XkOJYa?m1txkKJ~cg ztwFR)otNl(c4$H_0LR}b>3~mvV2=+gih^oRa(#1@uOkw$`IfM~Xb-!>L!I%5QL-yA zn(x}sA=0w7tAp8JRwe7TRcQmCNZN0^4jB(w^71Z6qGo6t)gIr@^CtI9l$ZH++RNt* z_VSCqSWLw#w95rtcxc1;H;1@lp*vKIf<@Dd@pV+IFzhh=|Ace$?}{iZ8K-3({|4AMJ+u775OLH2S88t%X? zpRaVqt9C-6*UoQ@W(tcQ&D_xAF3ANH9O-K?)qQK`oYt)G(t&H1a~dLF(k^R9F3h@s zm2M3awa%D<>?+-m+(!uS@p?jYs|nk+yr^tF?tttUcGmk;Eu_WY_ulN-D<@x1i6EpQL(%B``hum3km!SRBlap;sv7e#Tjy4(hh$0n0 z>A+-Y?ZCjw=npvoRIF+478(a%SCD(QZB%l zAAWWM;d@9wYO*o0Y-h}%k|Rlx;7M|J%-P%aO}FJ!jpKaW><)! z8QbSRm$OnoD88==@IP#RQ)MhOlzfa_8P~IekAz?F=}|>54PdeBMJR}Gnd$}(yAh;G z$>Ski-Acqu)wSekDmZGP!e#~){?1q%GDD?M`462u1p*;Qo&(~0EikNdrrPaJJiz|6 zasbjYiV_6(F)`K~xM;|IjF~fL6<|B1W30^=i@%7BjwFijxCk7dN;@KXfs;?1Jd4wT zau?tY&;h(gB=wDFiOOiwFAb1_d#x0jydiSUS|e0C*sATS@F8P3?Up?m&GRTI#;%Qy zsMKXiA18a#jUVCeHha2HA2#PHDq;!ehAri9l0Tw`g3shG$opuTi5P% z8;o@t6}hmdIU$mwCk1{s6wZ7Q%I=q%T?Ndp?6DQLzOCw$eB-LQNW&mT-eKMN9x_1? z)nbLw^zzi&y#)C%3=~myMr$^%g9yDDX(YFtkozsM``qiw5yQ|?iHWQycgPz6yLC_6 z>q*3T%o#QhKWvG_5V!s}C|hK+Af(Inq>^BVJgoh1oI45t*{?PS(8c4LEvpnD+R+IL zn&gA+*}RZh-!+pX#h4*;DnjyHuHF48R~V7-m#8EtZk-kt9SXx`PPu%(=_S47nsYMDcUNappkc8B)==&%xZ=F(#NS zPp5$|%UN7ctxf}GnkK9Dl+pBvU~Rpv$t5rD;?y@MIqMk*oi&S2uc@D(8LDMfl?tdKg5!A za*|>>r({E$kY}MMHzWGB3|b-Y<%~$!N}YOMeUky4B;oP(qulFg*M*Uk2uOI%POu4xm6LGpKUWgD~U*mSY*bGeUvKcFHRj;twVc*!0u-tWdG;Yy`u&wOLHg6XB z!xq7r<3Nc-#hR_B)N@?}vdvn|EeaX!xl(8I3^DgA8Wg0`+0k?@Vu)RMNWbhGO|jSO ziQbK)8AQd!wkj*H4=IYfo^18e6h?j{z-;GdLow zePgN!q*gNe_c4aq=kRz^v|SM!`F2wnn88BkNvDi zrd^zK*`0Ij1Tr_SP}>+0$_6or=L6wt=I zZxyicykG(m?TlpPUMnH8)Ud}+)^-sIi08JydS_LvSTfP- zx|N=Yx-w4foKxD!AuV#_ECe}`WvjEmLVn*{n5Z!8$#z049Sr%=%-aJ^Pge`3q!Lyv z8B(YyB_TfD>KbM*Q1~3I!lrdaW7{am3Q!PXq3nWG(bg#ib{f!kS2fq7lxdI1>zZvP zb;szXf*aed_g>Y%j|r&9m9!)yYRx>zb$cg$ejT|()oEc2%!*rAvsgjO_fxK|SFy%; zAR}O3`{`hGT>i%||K*qea3E~{(}d9;e!5ufBVb-{qOtt|MZ{#X{rAC z%U}0@|LlI5(J%7zYgtd?qdR=X50g4D!JKX`meJy%hlsayH*OA-Z~e+pEht}K6w~sH zFej!vbzGJ`a|Ky6ZAhj-)8>QUZR67OsaqJkx*LMpbtfW3AmQ~i%MkK!)dIiot$OoU zDk?EoySpg~*{c;HlI1Nk*&$B-+6m&=Us$&qBf6YiK$Uzg3nPJgfH>>-xt6NBMi{1S zm|2SjB14?bA%4)YffG8V%5RDJn~qo*FLP89xz~ct;vhO)G3r-ICF;3d2-t9*Mqr35$f<7H4gK=NvA`&4X`_+wTc8N8lCv0vEqHs=7 zSjO3UT9_fEIPeg&Ur!U1Z|qE=wd2s<_c)o3kao(SZjHIlHzwh^G*^AOM&{(Bx?cfEj0+$z6A~7g8N-UGwyAYqD%RDq&`!Ko%g^%95UMo6^GJ7F%r5)H5xiKJvGd|4_Kvn9tTCU-;wEWX2mF6 zfT&femnqYzCMvV66p4_pqe|mK6i74~?e6ccHGMrTs%#H1Yv22<0EjTcwc_V-@F4ry zu^WLxjoYb{)7s(8+jINeibHnsKs*0q{0r-?jAOA<)=_au9y^H`4q5SO-}97lc4be( z+T*t`dm|b`@FslHZiz$)m+Ls?k5|x{-`9))y|d_X+dh}w)&Lwc9o-HyL++}zW45GD zotGzy%Dt0ow<43ttai4ZFzq&m?4iAGGTe*aIb*3UpJ+0|7=7>0>N1TU%FeGhhly@V zhvr~sUu!C0n{JvQ8}NsSx>mO4kDmY#NVsN>#Yv<+SE?T`W!)l>$f+hfQ!RrP*0;lR zJGvVYttXc-u13|hnh*iG+v7d;bvx4&EZ5hBGOEez+L50L2$sB^Tu&7C@o)vynZ&5v zn~f9fv9(%H?4EcLQpPhHI^=7|6mLtdO2Lh&9LN?u$&`4B?d0hl`be#-#WF3mv{UUje`if?pOs&rOsizzu3Pcb4=uIW#< z-EMBcB>v(JJhf-4hRj5<<=HB0*FD`f24}3IqrUDb1(rTncvO`hL{f;{d|5Gfp)<^7 zosWzaCXT`%t^p3p7+o3X67-zeA~2Jh5TYQ@Yz)Obw+OlrSgH3z*xgk%*# znD)2GVM#Ms#`TECo&ZKwv+=c+`kGC5Wp_T)>@zXbWzQmD0i7gK&)41Ue{*?8CQI@p?22h=&dU9L^g6-!aBxpsiq@DN0V=j`B(3%FI*d zbg%xT$r^wleDyy8GB3%5YFW6vEoSPaC~sJ??fJ6!CdN zNZP$s5b+@q$7J-{O$W9VWqsx7L}k~mrybG|X7;h7Ih-giGSO?~#?@_+h%PJ?K#?9Y zKObV(jyF)vJrCPYI@PYP1qcGz1yPAgmP6bbJI062We;nuN3}Z7kSae8d8ggaK>a$- zudgQ;aboAA&pqkFBfWMshYi(}aLDmutNBJHd->a*O%%SUf$J!#jBnLt&Fw^3Vek6C z)K^Gh&>?$;I;7xqyNYU&1j6VbwexS^`e6YVL$VZZoUXyO zevqo2ZhpMUb`@5QT;CJWe^jLdhV0!$G{P{avrx?=4imoJsP0mKNJTZZ^X>~1V>B52 zz9&EPVILQ-UUI$ffpqOU?tuNk#vLw~OK$NbYQ7iX>4%$Op5vLwVsc?2R7pEUkVe;_G@DExwjE__{;eoTNPa;y zd+K9I>Go@<2#4W=Dy0<>e`l?j$n61uB0l6E9SO5?$9I0rJbqc>8Cxl9w03rs}%b+?o@ryKO@{ zGHzR8?yNZVq+?+<Q(9zrnSx}fX|xQSY$2mVvN}Ut2{fPj78KaHV0#%q z?9(Ev^GUTjAZP&TC30a|oe*^6mu;&8xjBqQ3rp%8lFNcg<3mAJgcL*xmwmI@II zbBLHp$`7&&ooJMRoX~~sK1|sCS^#9>6ozd^Myi%!bp|*a?M@ZU*_+(gQ=AA{$%&5k z%KQ+f?gk(@@uS_|28pW87!`}^dSXxo2tc&lbwtv(CWU(z7J+q?hIFZXRK1utWCak- zguSsXU;s=+gjJy(m9o~iD&2Gm`PrB{6DuP=zu-6L(xmqie@16E$8R{UN}`@z^gp6f ztCTA3(IKViM-wy4RDpc5b1dB;)urY>wJ-~nQjm8V4cFvO|98zJs`=?opAd`e+1fqf z(o4qc$yKEWP&i_1d_%aSMRvYXp4ce5HRELk8A&cjX2uIPv$VxA!p>a8ZVOfe!~xqH zR@2WeCR%EoO<5<_$`xuW!6jx3sv&ps*cJuXA=xUqQ zy{%}}%HHw7XM3L$w&JVUS~@4W!D@~JLiV#ct%_X5NtaHxgBfNqS{A3DU!@(5xc~qG zu@?&f4430PUiKb7Oi-TXnP};NK+1?%Imil>Ad^mUtP;q*umhuV<4;swyNM0_h;IWZ z+A?=abShc1uGBxZc?vqVw zRZ+7QW$A}*?pP^%>T6XMPa;-AGtMle^v)-9zTJfM6j|*UoIRp5>?}M6c2&*m{qNJ^ zgrzv$kUd^-?FjGo(>S}H7SpL*YtN~lo=^<=>EQX^y;&+Ge8;M*o%48n0XyogLcxgu zyjU_K1W}7s^nFWQ@yn0Va}+v{mbB8I@n>dKh~UAk*136UWuLpna>Q?_7~$B{P_HAa zenPM(oYznH3$B^$b|d$-{QNeMS9w&zs>iP$O1g2&P<{OB!+kE%BGEjquJkrU7%-N? z=Vw?j>EoonhdoxegG$Qfz9(8zyI7I`HkyUZAs*E{M%UL~tB8rqh2Hlzf-LOEj7*{? zOd|F4!F|u|toAuuZO%OfwuEcPs6z30PkJ!Bh1MI*7FBWn@d#58{ zCAa`g@?#U+!W|JkeVf2{y1vC+Z_hmu5tljr1kk>woP0N5$q4$c9mW~^8lWKsP>v@K zT-m-wA@KOV>uMJeV^6BP#Wbh_7Gq(o79do2c2gQ?qICB8@wv>$Q8E7Co4$*wYsWUb z&s9qIS#yrxIwx%2iWgn#b9*6l;)m(9J#c20q;2m$#l*fpAw_juPjh(V9@qcA?@73w zv?=do56FCq$ZX`@&lYFA{B-gAheBH*l{kaJ1cS)Gdk0xI?aciZLHOn9TEnHBe_RyRUa&0AmB zD++=*GWR*MK}|`ri&j-})0mbxNWyWshRFTg!6t<}k5S!ku{y{5DUc94=}EKRp$(A{ zYIfvX!us0DVq9PEYfGy{BP4vSEak~gA>q3zSgF$!HtefL>8PHiO;WC`y2rY94O36t z+fIK}%C=6*lR91X=dZ3-HLANtPm`S&2Fv6U6$E?&Q?TJ z*mV>I*lXn-pKqNct&d|RT5dI|GkNwOQJxbL;&9o%$9ff628?2(^Aj(8%}k8@qr-n zV1OG?Te*p!5J{^$>4K%7epd2%M}v8JaRs7`#bMy(A8|_pPjFHeF{C*4A=^(#_fC@2 zv}}2uQB^#A$WAq?ORv_`Y^&U$=R3k|N6osOc%APzB0_pBcc0tirVxRbA46Ydb68qB zDzTdzz--ka>fzQm_w*BG)~r3IU7zF>0cfM9e4cFM?GIp(HMg9@BAd}vC@^G?E+?N( z$+J-QILIVcr)*M^`dc$;s%v(aT|AubHG2_e%z zB~2PPAgke;@pn@Qy6WyhBGW;`whp zTJm&fLT~KL7meA{oyqOFjrO7I86o0F$F4#w3bG;2*0B#cddiH^^|6$Lp7ddK^)6+b zRiZRNnC$_jz7t0lrpHUBgs`}1w2q74cfmL#y zCp!~l%<>zSemlC%c>c4u`N)ql!x%VZUsDm(kek# zs;ZgANrVhzuWki+f2|xUD-9tWlE{Z_Q3#`4;@9p;EY;>ML0<0IC);?c45E{XOrrhc zpZzjG3Z03Uux;@OrgO+v&(Y=)v27Kd zdj)Ft%eHfvl+W2TYSNz$+9R+TJ{i-syDBRP3-pIFTQmlSS5A4lDsno(&7-fU@e>ES z)7Utvr7kbFp4`6EOM6EsM9$#8$GJ%_Tj5OKo1YZ&6VlxXZpP$p3zeAM3H|fwxHF>@ zR+QdK$vG&U8KQ5dG1*56^gxo>exu5aCW40St|NreePj0_j>CGox_|A&AKDtWedM(h z2?-%4uEcTJUNnVC1-28uciB3w#66FMy)vz9x4?IEHp*4(!}wQ?$`WndJD@EUGq>pf zjttjl%x`6PK%JPgqAY(ua~9D!Um|HwK6YR%__fi?|yVL2s^eG{Zg$a=m zmd6Dc;#8+;m;H}wKbnrHYvTPaK5-|igvACZ`?Loj5Q**H*REC}q}RM_XQ@wytqAj= zRlY_fjPG!+ROKe7%J4qVa(|yILet#v|6WG9F&)*&$2$G;bu|3F(_LbqrxZGr+e&Nl zJ^AWv-uE2lHWJMzd_~;u(b;NP<}_R0p8JeST=q1&aM(ju`e95&^_ionrn~G?zXZ2t zXQe}SKc$W;p4(2oo5Eoi6F^n1)Y`2!Rp&n9y3q!3!cREy1cs4+E9DYas{#=~T<1KW zj;2-FHF_Png_Qxb)l82z1md&9V;5%DQt^8S0kC9NBx#-71HQ-|R{qts`kn4`m_+mL zrAVw(y>>`Hh41$aljLGSUhE%IUTez`SO21AnQSDl-r&*3s^>b9CvZ>dOCX6keUT1VYt!(nP zfEC|T7AAA|I4aqKhwQFDM15DAt8d29w{>jw!wPNIj=lAI=c}$KMY=~Lnsn@pc`A+E zY)&c0V3R}US3URm(#6-&V5;+93-C=-Tb11^#F$jptpWv>EXt9cdu25ZBFSY~|9LX)K5ei>B8AiZVjD9VI`8Em!utI9R0yO>ZUi zDpVb^=TV!LJ%!Lkk%;pT7u5hxd@?3R%)+2%G=DXF*=O>K~#a32#&aAUDocm~5OffZG66Gne(% zTMgH4WfmcO4o*)pi8q3!0`Gg`o^Q^KzKx0wXnR|^ZFrIX-2RYqk=G8N+&BsGTLpos zLu^VeiRjf#OzkZEcj#sj)|dGCjq@IDgH-UgX1ik;u=hN!t5y7jDbzYDhjxRa7EX&P zyt=8(M!I1t0y`?t^1VS#wd#qCxPgmD-N2VkeC-PPHq8C9b)(vqydm76jcLDUjbxJg zt>*oFb8%(7w%uD|J*tYoLT0W9RF{^72CZTf#-o2MwOa@wdS5g7;2Y78$1h2z%=yOT zdd(dlQIbPkGCW~)zYOBE;+0e7&d)rVPH;)@J7n9u>dJbpsAIPbdFTFq*(@wM3rTS8 z&y|?~h?a(pV3#l;-iG)jp9r@w63h>;+{eUa<0me?r5Lqp0_GH|`4t0g+PO(TvUFXbx+naRkmmQ+9k`KX`@B9crGFC>@ndW;Q^+zyVzUwuPahx9h0;8Q09ZG7B2i?K!_=KN|s2Ep{f)&u-Q^Uxja` zZi;X)PIJC^I7{jLP8TIGhb+n(@;$gttxG~eM6hmiSZ@7J;IQIqYq#PoRKhQ5Q+=}) zMk93nS!bn-r#m?M_ZtSB!ffRoweoJw8>c;_{}Hk(>rP`ivs(xi08GuW5>*i`p%%jH zk3n;6H|0*hZ(O^*V;@xpbwo_JJN{g-+laf~gk<&J*US;SE^L=H@P1*G^&oQ(Ikcwa1sq?rXT)wl~VRIJ4_V!3rZ;a$;hy70sWsGu4UW~H} z#$?MxMdC6qzFhL;cWNuQrt9e0Xr&XvdU0b&FXavqO>p-cO%FMQa4*Jr!wP_hO%Dv= zxeifW_WGWvMk7+$;ze~rm#Xfz-w+|5wZq5P4xio#D3n<#+9|eZYnTCLmuu(W9#ZZw z#Ir~7Muv!?^u4Uho#r%9GA?8eBPt0eQg(0ul;a3V++I63B-%nka;7>eRirmgsWRsq zvL8{5q$Dvt7c^l4D&9U|#z(R?Z54&hxsJR4dLI)hiOXtsJu8jD8uc8PYqgs*L*7q9 zc-HaCooun})@>(MwklH?mC$slvQ->FNc}n|=t>jC8vMSo8I1kY5;&@bQ=<~HZ=8PJHEYOG~%3~d6e%I6S)l!sg%j}_l-lk4fJOwJVJ$P9gN7ss_*sYJjTJ3OMZ zFXxq>QpvTL0aW4dY);4xlYdtUTgSm`pm9E5&K6kTpyo?$h`OjlcAYA!E3 z&ikCI`a5N?*(}1F^P=mhnfTkL;5W|5-aZO>C#5Q#bU27&iv`Nu?}S0}ciY@6#Ydyc zh)&QIcIv02Ye%ZayO1XKd%KQi8)Uh>pgpP; zv!Hqz(grnNh6oN{PrZ{qMlE=9LuYI~>>PFxti|s1$o)ma?M22PmBG@P&n%WPoDW%)Q=F!e863+N&Ve2 z3e4-wQt!EEh+u3ZZ<96`R!X7J1_4{4u0iaQMu>b_OpOC&Sk{wDty|5vF*RFSq$%GM zMn1P6gn`I9Bx(xIb@WOVoLnK}tK-?`ofTp#H*6}ZG;6K)ytY>EP0#B9DYrWP=j0{p zcq@g6>L_(@jH1d5UO|X}6YN<;mM1EO2z5TYCQVYhz-bP-yF3sTb~~Oh_YOz2d`3iy zhZ=xs-y4c_f4TP|-PdR-VO=^K=9gH;G|ive9pt>dJ2S&Ii%?iqp4wGlO#MyD1pb zP1UbipV=oytvqvJ42{1%Q$*{Q=#nP?5j$P99f;ia4# zKpH+G-#Q|P?l@(?yrUJ9^3Fj#{#IA=?YI}yo>aR>og9qi^LGkwVouNU<{%swdqFA& zoxIAf8*;|^G~r1#RQnAv?L4H^LP9>N%Bs4<>ORcLP~PZ|)B4E|A&}%pgQ|!`Ph`wZ z&VzQ>&N2FCr{ba|Af5WXzS`YO>=0@Bo}sf$%fyA;9q%xuQ>`UzPBmoj;|_SM%eQK8 z>nPWFU6Hk&)?Bt@-TNVd09wcQalnPsjQc&|1Y3l6a}gLFl{9jiGo?B!2Rkp)3MdzU zTsa*R5q7y|t~`EACqUHaRF|GUFz-971-tE8?VRJ5JSS$BNruIIv~1hbBGK5OeXo@J zLUUnzhm?7_*Q(bORb5X!$Q!{j7>zS~uC>hi*f5Jb&pb7mRy8G6jYcF?U4`5>#{1fdOC3ftwg-in=K#)AiU~}Y9p(3*#EDw2w!2R3d)XGbB!~od6VpG2}^1*h*@{GB3x8D+)d2 zxYa@bdO9~TekIgiUpr@zy_8nFcY@}2>~oSXTh2lQ-^h#F>c>IEzqPVn1NP7YVE$*D zfT)LvBl;~l9YPD-l3V%{^y&w0kh`+6t^^i{Y|ZYM88tJJhjd}4j_%z|G_2a&JJ_B9 z3R5Dpo^0lgk^^#|!@oBq!P&EL9R0T~axdj8rAz51mU8}OLTp2x0LXI94Ns_|rmWIwZ@NRO3;DT?M zdxMj%+)1U2Xeq`d__- zvt|s6x9Q2MQ5Aq4vt07cFr&G43K7;7zv(!m!(A)ZzyT{Y2yt$|Q*QfPahOXT>$@v? zL-@0&&29OKd-W!t6(DDDW6GUKz2A=8lkA|`0DmCGt1TQ$;ZrYSCw+~rbf#f@`E37- zpj7DeBp6>~XWAf*wy6jc@P0R2&p({8^s}>dE*L{(Z`S^Mf*;%Ef>E`rt%>c5nirCS z$rtWiiDSh2kX^Ws@iHn7nZ1xc+m*3l1PURMnRsuvD7|RB^l`i3@q%k*)NemuH5Dp;()A>tmqYNp!STku z=FjNd&wLvZt#+JPL6+kc6)W(Tfa7z#!FkDMi|>7|h}khdUnF%>n%_m1i^vlwJ{VTDNJoZh zP75$5&dFppE_D%7q44#kpgUy+lcF@isES61@Z(-j(@Zkv$-*}VNwiTFFWct|&(zF) zlN0dOVp0O7`qwBYvo#3$+>0xh!>)Uwrt{$w4QR2s@9c3AGY$yVQ;i(osT@F>wPu#N z`4@+Lb8|xDkzonPsQkAsZ(L+UUMxfRGVoXwPOW*KfG{Y=bjm-^d;yKS>} zD;#f?7U0r;HSho>pP#xe$iHS>-(yXwvRhmh>GAmNqPi|k@!}CebC2o*$Fsg}#VN~c z_tVxHW@)r4!_2~oH48sV+lC6^t=e&-Si`W->taO>Go+s-IrK3UEgz z+p(S>SF@^8Kw(u#MC5-zu_dTK3eE# zR24Rkr%Cg*Q@9hAgU)_Gq)Lk+{P74Es1Y2CEnZf^L(+~5Z+N+&RTBGx0 zmig+P-c^Bxh{T-&a_r}t!1_VU2^2q5(ON<>TN5!B=Xz43(NcmWUR#rxR-7WFcaVn& z8l34xG@Lhj?=L0eu5#YUT>!PQ?I71Vs)6}g`)cw#cfy!hs5dI zy6s74KrGOrP%10$0X;L`yLK&rzxQL}c0_$bQ6fn3*0*o_0mCrfjegkSyPX43NZJ@F ziv>_21mWp&>OxXNUt+hb7mk@OZj)zKL0rn=U$w9ArIXF&?SV+h_cMSzuJxsdD}}&f zdt^-id!46I{8&vl@6&4q80}DF5Z${iZWZ!I!vvp3C6V5lw&p7t){bS{%Cs+MMqBcE zl^{bnzVir8TUAgW*S1y4dTPcpcirM~qT6`K2SSDosjTGc>3wS!I+m_?M?r_wecl&bt%hkHnOR$s@mT~cm%Pc$$619RdC&Ike^9r^F{eouOLfKJOYrVyGC} zXxiWXxp!CeLV4e(D2$%Ht7pQuZ$b9cRw1P_hp;b3^5S+5bq^E`l3N{(oMC%N^sNFz zKMrWTub-*~TYA`R;-D$agi6mWL?je75_fi9*MIP}8(SSMx-UZ#vtiQbLV8gItY{}x8 z;!Ku4OEXc`2rAt|C6-j@kooR_G~VX7o34yxH_bt z>$;CQjZY6q7Ob7RtJuI=d*t?z{f1tM;;N?zF8`3$(N&#GWW-I7W!*xSqYkOa;65jc zaD$@Gg%YF6EnT}?lUazbrzhY*`&GNTDjZ)kit;tfXdZI$F*GU1Q<)Vglp6bcHyj-3 zR3_mvOB^N}a_m6@i0+T>#C$@ctmWVB;_e}6wp;NbdsM6W!1l8WFfL0wT1V{EsDzVR zKA$Tk0H}O)tH)wFqpss_lj1V6vb1vBZrN%`=C85_A_CAHXI-}OtSG~LeLYu>UAP#o z-{N`U7`FSeyO0-r%9^LD8oDB#-R#v@g#)%iX^)WFdS@u7l&cY%ZmsW2Tf&t8-58$N zZ;j8RH_kmXvZb0iOvK&mq%DK%qiw4>ry4_;9PMGJD88=Neda}+pL1tWnQJYdt#_5V zt*>Zmngkms#sQ*NcN}cz@%57rHQP&1!sP|jovO^)H3NJsL=NBCgY5=3Dh@@1Wanng z){e9Ekli#1Av(60S@ts*VaLVU$CE*jv4Lp# zcd-i4H%MWe_(D9svblBSii~B0bdCLnZMy9^?1B!u>PA|K)aEU&N0wS#$nl&7um$5V z*zSn7C_Uj5m1yMkE|r|&P-bD)jO8r^c;6HIyHUB%#Q}h4LVe3ix|533JZhaYf z&5tawOt+ZdN!-IdC5T<6rl}B|o4IpOvL8)|q^RN=`M!!twj`I$oU8ZpN zEyZUm%|^9%;U+A0nH!Re7T{E56g7C8(-1R}9lv4K?T3)oDbv`oLJx?$#huld%J8q9 ztMtv*R%8ihzA_e@n`)H8t|3^dy)@fbKmnT*5+?e2RPl8H8_9GF2fUT#T=Xqwz%G;9 zHSzEcm>|L)=Z0YF#t7;4#5lqsv}@~$DP(S>_@1hYXg|aQ7}Mx@#kYz1d&jwsy4g5| zk>5YF+}A0UDnN;>5M|o+E9R3O(-_UQXOhFR7z1cF0|K}i86x$Q!~OG)eT(6a6_I*rnSYVaof+z_f&G5`$_boJ*ng>M#HQg@wsR|OeXb~fvgZ7GX7i7?lkR_G-S^* zG_a1+F_V(;TdVwx7LRbh2~sW%)Bt)A#J70P$AYpKMU^0%6q4G#b|l7ep={{)J&YNH zlT}$6wexRBmGs->{&jT;aM7B-(ZjuIt97DqKa2@8yC#@h@ zVNSR2FOd(Dgu`cW=4oxvg*jUiq3S)Tf@%yIW=NI=V(Xho$1?d25tX}b5e6C; z!kB$;^LP(`iOTHmcvc~;9Y#~-x1PSjMwo!pwUY{KGRb4>-1mAlE+ApG{Z-eq!va&H zam_Bu0pZylJDocPS?p{bWudhN+U66YQb_)qsS1qaV5`dV zxjRs)`r`fp3WP^O27X`bg5|oxKleE*=gzn)scR?b{g79>p|5`{6x!!-dR&lluTmqV z>dg?v12-fc-XJ+2Z2_9zh#k!~JRreWqZ14eXLQG+P{hPlSPJLYf(+YBNCgH%vdGqT zewEJ=PWlWZIb}~Ld|^BIgm6#UkEmbyiO7EwDoFNBUdX#AIZQ}tRJ6q;CT}sOU<v$mhr9 zqfYLj>LyCPyTN$9yRMl!hlpWZPuaHjJqhqzaJh|JgXx^>eU=_kx(bv=;DZ0!(ZH0r zzVgo*Z>Lw(-}OaiSjE5zZMH?T$v>~A9O7C|8)aX+Zr2!Ko_^5RR<@mih&zl*uJ^TD z>=w=HwXdDK2`ASb#rB=k&cInusv1IyMNMetYM)eru?cUD&8xLyi5DYi&J~C$BRNmC!g^4jqzri@c&6i_B(X7^i))w zz(F(16epp%=Lp)E-Bf{i$?mrAhlDcXYgU|hA|kO-Mn*dxbrPAKyBE?RWHr`+lwKPR z>2cz|BJ6Unma}J@wpK#!H$`g!|LU z#y{`nAkBFBHw3oT@c|>?I7*$xwd=M|%|wyzXmj`})MM9+iRJE3N++z6?z+BIp>{G* zCxBo{g8I5E{88oa?7*B+6Eat*%U7p7M>T#C9P63p^}fipgSKZS_qnkh$4R{5$!U?2 zm@4msoOePkx=hR|>s{U%Q}xi@s4}=hgj!xZVZFDZ49nJqF(TMHD&evCOqz2VhY`BB zsj^`5qhiLajM)^WUVG^S;_7If=QhQifQrXw9hGIhX1%gJjQ5p>LA9&uCd}S%ly%fi zYKTuP;09Ba-Gq?!Mywp^ypg!pE^cK3=+N79y89;k)6tke zQ{TI%@OQjcpR7{eyx*X%KH_tX1ZG1Q#|zWJni*xq|F0JnCp)%+`eR}@w& zH@2VL_8RdUB4)pya7Vi${PGUe-JT4%m^PtuzikoG46bIYqPFQn3KxWQPsm&$r}aBO zC)t?KZ;gnt``DB&3NgO*B6AmSg|Ho3MUC8G*jY7>`_@&EN3{qU8YWpR0eRO)lYG6P z!|QXR@k<*CD^nA+=xxAmDTaK;8Nb-3r_WEW`-&Fiddr3$1#7E6Mp>Z4l zTg^I*3#Lc`6;XPhTiSHUTrdouC3Tad=;K`2+?I}0q4|I@JD`Nkfbwp&atNz|4^z^5 z2bI?zdqGkicTmU3(L5H=juEiFR75wG3ZQ1_`P{>AZ+H+#j} zhRyeDfZ74d|xofH09_afJp29>l} zz5DQeO|5UU@mcmj1oX<1_^HX)kLv@cH`z1Svt;zO+Ix95Q>6T9(#h)vWby1~W=Prq zqSWg;A}DS+tIKU;qRLf7#mY)P??TzNlVKN}fH3l}9XWDrpwrdC{3E~Pc>pe<+t83+ zW~iMb{SY-`Pe-kyVN|=EV=2AFUhnl(vp?_L?Ps>|EG8^Wd{>U^SN)XE9}g+(Y4DJX zkT?swj|!0*JHI{jix;*=5s-PHZ=9>*(^-*mHUN)@s-tT33YIPRLn>fCZ_tT@CD7^_t2!pZ-f^v;ulz@m7GfzquDxaG^B8gU0jH3Q9GVT z@1}>{1Bwtyz(ifq!0B?K8e9~R@x5k+UYiUa7a*DEA|j(8INo#ss>4p)!}bzQ*o6!V z?bJO)ptPe0nH4k|3)8TQ?qG-Y)f@Fg7AlV_rzx?e!uk%e$n5F2;t&OsP_^`6BhTFzwnc#~4z<>kTO$gB1JNId3f|YnSCc9Umnl%=#NSZ|Z2&P2Bg`$*jYTO71#oUMWN#xpsCu zPK2!J3etgYm<;gUKMe{Satn$z`@PjQ>w04ysnhv}+4H%rx-j9LE247cQFN7f+4+4e z?Pp!FX5&|OeL0crEs3N!k7RBRL-PL{6?cT|G|U`24CH>v*HMX_>xrvg6;#L)wY8%! zIK+qj&>;Ka4pc%mr}a1=h91K7o|q7Q*)NB{aNKD*F5PKM-eKcJv-gD1@NbVfXsp!> zg%Nrim8HJqTOYDFA*^v&Kb|%A-{a3AJ^mPi+@6kRA|SDUawyCK>MMa#CLdCc ze$38SXwt^CvTZcVginoH$^GUdOn9iBFdHM+)1n{kGWOa%gj7@lG+w}ld*>%bwv;!- zN$zk_oV(iy5#+m`=&9SBN-x@HRD1WD$~UTFRw13F5J#l7%K*3lDoi3g`3&1rJP^^~ zqf)oi$Qd@Xg{?*YVZ#LNc7$dgDv4vV$v(GYFLgnVczjfbYBt zj<>$f*la5nUpF_dnPRW>W%gZSC89;JiHB8|4ml%90pP!U?1_*b+ui58r~SlC_N!qh zw{@e~{A0ppg7YuWH&za2_m|N`ho+%0GT0)*p-a`>V?Jk+qdhfl84F-QhpeM`>1ab}*~&MDbCDgoltmfWpFE})*TIq|`&*w3Nq ziX*wJJUSN=%aWo2ioXV2GP;~q`Wy1CWy!C<6$WX&XL?ZI1uC~EtK8QQ4r+2))2x~X zSvIK=&A@KsSPOfbZXH$o1W~SVAM@X9bUz2th~!1qN}>*N`I5FH!~;aPF%UEd}2h>LWwwG_5D83KX`8C*@m33Rr<3{0;lJj_Q2|n8x37C_^OwYCiRX3b##=?$oAg{tdY(IuO?4uHxzMd|S ziz!!^IvU1klbfj&$JP5p9OMmKp7PGbm32hID18>>bKhWP$Lr`q9;o(1cS8hH*R>+* zPo}TrG$Ii|3&$|pEsT&o>ljj;xeTDIo1>2em(6fuo3Y=4zX$1&)LQL5o|q{ z#3UDLfn_V#H!t(rsiiySV%*$_<~ZEscEzm`Fpy4~aMErGDBzPp&T^~W?YlR-(kvxT zJG({t?s#q6M28Y1JAx}}=)}8iJMJoawU~@zrV9F^;!0od@b()%<&lPy7D?bu_2i%IEK+md(gu9XyO2R!Ym)ABnD1`LH z5Uy@ag^RWe{J1ZIVIm)2+Ou_nwk#Usg4u9_~^WV|6P4Au=BSM1Z4H5nC#1%;VUw%fC{>0RO!2@I<dUdOWY-BQ#12_-XBa2)kj(6e76gx^pQjHI zQXPlDa#9CX3Rgd_Guxnus@WgXc@MC<_w}mW1~D>>wpJ_EMC7UtC8;2w;>^IX4VjtX^aB?vy z1oPjTaFy?CjQlabW*qI7*AXo|%&(=ynk|WtPZ2QBDTK3Iv#`760aN*MKglZe)XHVi zavI4j``u4KMI&9YcI@8t&oHMxA}6brtMfk38{7l#08!>PJdEn(@xuu5`xSDbp<4kv z*-xahOm+{X1t_XkJ66vw$HVx~zYgim1wGk$SS?Ps|l zETevfT-JM{pdWJ-F*&mU*xqT zA)20jNd-nFKzEzq!2JD?6{Vu-f${BKL7?`f)Y&^Tm zxG@oktrKR#;@`OM`;7Ci*?xj1qMqrkZ}HX}wpO<&nO5UdgS{a569;R_o#)*$ z3fbIdj0(R_0xEzh3^2rkGj%T&w%;my#a(bmQfctV+0~-qEiHH^8Y^G@ZEyV=}kZs_I`WmhXnAI<`F<)!y%`?-dDZXZLPe zd!RX*Rg&%d1#Ye#Vf6Z1RvQ(|?3nG|dJpN|(%NN&Tsu0jO=@-}x=^ua*rXxdcN%hw zKc{8Uct7IBBZ%Kb#(Fd~LkyqwYo%cf-~qinuB)QYvzB-=%T7Vq6E}2RUBOROq-YXM4v)aB>E?v7{0X!bs@jRBo4q8lpJZVtXeRvY!N|=GTTS zKmoBd?EobCt}8LkJsl8KsbC24)YhpT*j0Pm#2z_`gS9`FBh6z&VoB&=th)0q{njt< zw3YmXn=M=Iw24!>5?=FFlkiS%{we?mB!NqPRa9qTSEYOh*SBu5e^ZJuDv5;JQQBRc zsvU*gvJu5yg}!#mZd(8BFAF}ZT?c}cm${l- zM9InpAiaWp>@ADXiuku(0=EL}0fSWfBi42TV3A}1`Jvf1;II1{%!PEo9GD zKz{ct2ZyBn`&=>P<{OpL_Hl*W(IHe>0#<-$=e+ht4JA?8 zO$?QPPkP+NI62i&6gU~5??a0u?1G6_NTst9{dUu5EPJk%M z+1hN?6KNc`>H#`=u4SFPxMw#YWs$Wb3YH@4xN^de?XuP_9T`@sZbU0c2-&Z`ZZCUr zEJTX!K1UcWbQHGYKYX!YJ`Xqnf^{b5Gmz|ZU(3sS*1aAZB=+5z(#*zprnq#gaf0v> zXx=ff7+))pSYfn`r7PTSP4*f~JicF+ZIQaG-skv`#L|e^cPFyRnRFe&zxvr|dPpQ> z*3)bE8R{(CWOgTLIytpcgbmVz4wFTKVBhpa2p+3cxYcBY=R1oSY7cutemZq`6!V$> z!g8`w#?ncQwOVuag1a9mI1;vsDi{uF6(D=5Dx|j^hw#z#1xbH29aOBL^(7G0;A=NY zhN|bxhg5c6JCBbXC!)e<>x;k_udCfk{-erx9a52B?ReSeom->n;4oh1sOTAj8{!>} z7PNyBmxpAd+&Gm2I@iRT%G%nMWR0mq+`~O&%MQWHcd|QRN$RkCi`vO1IaeY3MV*i* zUAvpJ&)M)C{b){51Iil&kk0jTPyUQz&iOD^FGo~TVMwvph**P|H5FD)Dx~~iQ!ATO z{H($%yV7pb^}F3(K~&E|hmc^+L%;yn=qjf?ucsnBCc^8=`D!=uWN|)3eAgxm=(<+s z&5Xj3i!JMlNw#29*lHdjlvnBuvH~Co^WzYb=Xjd^+x3U_&eLB{bFws}O&d2ey71A) z{R%u`WL?W*cAbf{xi-u+7QxsN>UN7Apx5Si4C*jKBx-7fX0O5E6OyB^tyR-?GJ4OW z;LU zk~?GCy{;*o*KA@1jqR~)DE5ktRuwGVupI&m7j!#NU8wmJ7tGjBIHPeTbs-7dq#;aq zqcWeQDE69w&ghxV0od=4X{KcO_+4yul}2F~ZiKMaC&N~0R!78gBSQ0o-z?~WYLX&Z zJxUb0y94&P!I1k!yNH%L3rjPOs$z=kd9E3D@5bqnq)ID7L9EQ7?H0f5!bw=si#A+- z>r@1heL_d=#M#tdxbNuDOXUtx!p)ohyHd*PT1v^L1f7$z*V+H4(z6FM2@C}tweZ0N@(m)Q0-GW}i*h28p+z>D&u`g?Kv#*`@X zz#C+*+BC{{0XD3;Z{%eFqMB8_WhvS9koMDD)VMeHqq>pN$FFzJ)W%A4*w6ajJ1W{O zS$plOG_EUd{e4cjyyYx|z{{zbt4+63@=#-gu${bi_%)-m-k#%1Z|v~~R_&)F)rez* zuz#C;h$UkK2xsopC^=6;h3v&A?Kn2O`3YOmBS>NVjnX60$8wWE3=7Rt47t-r*scVZ2d z#(7Xf&g6g;Cb(1NV6~!ED9;1ZPQ~yhxaWD-E-xnAn@B?n;soqxTN-vxNDO&(*jWLx@56}sy&8b7D=+dXSi(M@ap;nM zD-7!=SL*#j2Kh;j-T`JF3Eo~p9}!mUFu;2HC@P{q?u6_Igz9KNWE|3gy~((Ye4i5m z%!oy`I1(!H*4rv0x$mt!=h~5+_dRO+iMtC?@YJ}U>&b7oUOR=QKbCyu7<%6ikM=!V zbt9lEZho#a-m>&oX1bxpb{6SBPk7pLMS>lO}2Vxw%rJb(i)620lH6&W>voJMYT1Tz`7%yh z7(QUp@bWHii}~K4Ff+_sKBusAh3Z>Sa{cu*Q#$69EgWld~!tGKC6JlnT_?+ z^o4&9+l@~c6Z28cUJqH}aP9a6ldtsLWNw&)xV~I8uqqI>e+{$xfj98|(~vUy_dTZK z$?77h*KUtE)b4)UTTgp#G35J+QrJoKFl*NL2&~-kkY_b8c2DiNP5oILOY=sw=Lc)H zFbSZ_nEJWP1(9&%ZjgBH7D}k*XsSZ&TMKs7>Ss&pv#<7ioeE}7Fij~iQ~xfMX$vc! zxVEdxgxupx^|pj@h*JBvQp;P_j)Y})Mzvx_h->-B2&z9CC?rjAgU4K*$vLFYnwoDF z(vyw##96y`ei`$#c>chOpO5P7RY#yLx)JQGLBty0V!259`bvF|YKa%$WBWLfjXblw zG2!lSe%zhb6jsR_B8u-3^=NH~5Z`spIG#8Q>*Z25GTEBPACiSOL_}#l;lP#vjhw>c z^K{ps*tBNU@DXw4?sGzy?G&%L=;0kl0k%#yzjSYiYscQX&oMiXJ3IjMkXOv0KZ!#=n)mY-!qY9PKIBeRDUB0|5+V1g)l)^0DOVfen7Av%9^JS8eW{4BUD%82ljP#t z_btiJxC@O}DW=aV!g%{F>anYE^qHk;2t_>SMLAZ>|B2mLJCuY$61K3`; z8ZwrEBnj8-+!1UUZy5T0?hXR(r-MRv$2I0Hrxn8dZg&NJ+plXUgYd8w@xu8tf(t443h1@FpO6o`oRL%770RgG(6F6)5~h9#&*3eV(y50f{-Uz!hwL8Pko`WB zp2XA7lp;=^psC1VgPM-+b27ztMo03?w*-{YST$@fO|Gj21R;g-0_LO@IK?j zoCd5w?v0?UOA)b#F>uX_WSksNmq7$0+8~8h9fS9ju)vk6Ic4iY^{d^z57&qanq0dU`bOTXHKRI{vDvx0 zG-P$!wYxlwt^_m^hE}fIsu8iI-&!U@Lw+)GD9L__rhq_N`8UbHJl6~#fvi>!#NCpJr;z9W;_vX0H$Nc&cPCJsMww@U4p7&3kby!`;^`~X9c!v{9&flN~KTQ zm-0r_2XZ4B)FITsO)sN!dNeV(VZm%`hNMfxIh^A;u|DL0r3!JA5YNswm}HSyfg0Dty!_xCkmJ~r?=?1YsSNB zwmrP_j?_xm`keI2aw^uBOL0_^wvX)>0Y$S%+1kw&1zbDjV7J5btLlldZcwQ9me2a` zc0q`|-dO-xZB9CNGKc$~LK)l&!HqXz|3Yy?sLnf7;>~SY7z^_36rqkrkSRjuwk#?s z%oxJ*m_WAZg1+1!m>>F$6UA1)cBWoCzFxIik#yU%>G9)AFbty~Al$EAQ$ZzjAB)ME zErkssJnnOu1a_o$=Fna-Y$_N6+u#w2lNg>Hcw5y~&iW~>eyw&}A&9-!O$TjA`YfHq~{WBcJ=}S+1l!Fs%pyv4Jz1AymX~MN)4P2clU>Rj z*7M&n84aFvBTM%L2gDC?UQZ%NXaAF>D@sGfHm`SV-EV@l3L=l~3}kPvwoxl-Llmz0YwLUc1lJgW>g~ zQn<50iRHh}$@ZGjp^xO#nS@z6Om*cXxv96K3AlX_wo15=Ubh?7uAzl=t3E{K-JL&J zuPzRwU#_PL`-k*q!unoOcI`?%w8DLFHdwiIQgg^|QKHI}2$1(_6Eek$53eis#tljw z`iYnQwnY>2Wa<3DRYqndL zL-L^Oh>++!qUrMG%}!Rh6^8BVdQ_~`hwL0f2B?ELuSzWy`wVLx+1Zxm_2q=hvRk&Bgjg|h7_tA(ZXRv-U9Cuh}jJLM-~pD zvS8bgl2IX)=j(gyncz9wY(v;7$`&wHwoo~*1_jCe3D_e80V%&e2isdSFaX3Un7&6x)L^R{IQ``~5z-A8DZYL(7MIkUNj6aGCAcZZrSF2kAwH?=qOwu(vdjLVH zh4@MMzZW3h$(Di8QD5r&Q@L|&)9+5X8HDaMta zLsmj?%_^*oXgQ9EnDMO~acyk^NW7*`=E~+2nSn`O9LA5kkCAHEjJtDV6fcgIx;Fo0 zpLP|)go)Uvm8za9d;*c?NvA_jds^ks|1+rD7Het`MkQQ(;-NU;dJ=`MZwp9zyhZV1 z)=}+^|KlFZ+otQkcO)LRMwq8ZT{R{%MML&Q!WXY2=@MwO8q--(vrq^(EG zKn+QJ*#=#gv^u61X-QG^xuSbf{TLJjX~@N1Oh+91Yv&EDwiI^W!1ko&gPiw1Eqlwb zmqzbT)G)&OfIbq6ev7veOJIqdCz zNa-}rJ-J>id`wNXRm+%AhMh)(^&5LbN~`Dz&-LtMG!+;P5zA}!!WMChszHpXs33r4 zlXPF#Eds>L7%9*&MdXK7w>+eKhq-R5^5QD4LaxaW_rbPVg)b&bIGZ99I1RF}u6F0= z3uT?x#Fg)cU29Gs?Z!PKPI8L}If2Jr+9nivnxX>q#`ra>@~;7yW5qK=wPfqahIPbIk45w|0}9S?O<3t$YLM#fT`x z!0&4@&076SHlnO}pQEUeL3qz!|5 zRO+3R8f=-Rs?);VHE$}}Hw_?FO$`U^H;bm?_kLH%na(VO7Ux1)PXxnu=^B+7Q)h}d z(>~V|D>X*R<9VV5wx8AuqZc=*m~TYAv~|tO2qO{7_(m!Aaa640*SYw{QQZ$J8)n)4 zwM%C=yVmkqn~Ioss0>T7LsL#fli97gVXX=TwiIQE*BMS|B>e-FfLt>+u}v`L4FnbvBr65GO(l&;$;h5U_F(x_da0aM)5`p zr3hch$7I42txE2#@Ww5=@cXGy9Fe@Ml&8$Ekx$^fuSFPrVR{Aum8>Oqm zub<+y*Q`pO^^MPqHS7BVbKLiCAs;fO3MupQKDS?i)47<`tvQD>sg>K$alLjkrpqNf zL8|vz7{>9}EvADo47PyC^p9a_8l380XShlV-b zdhPfP=eM5pAyW5woPB02LEP2&YsH1W4QA{#rfkcJWK?wJA?&birYjX^?4dgI8r4Nr zAxkhAlLSx8l+iOi70ruM!6?w{>uKf_+h__pt<}GJICFbk#Kf#t{CA<(UQrgUfX#>x z^Mfy%LWDbxO6UgHL8Mx5#qs^P&dor}a_qApn398zeAYp`S4=actFa*rq%9T9A-yx4 zJ$+Qi_e|GRbnW`(t~=&#*jwQZ;h9JblsC-t5LrP5AEMb!(j?7YR1cDgsVlpd*V)gv ziR&eg?0zpngg7nDBs=G97})CFK+4_vS{4YiA)+EHIeDd6%@*(;!-wq|^|KcFb0! z8&%>v#LLeulfHXMF>YFI=6z2x4dcU9DBSlPH$6eR(65~s)XXIa#+;Y+W55njNDpJyj@7r{qzUt5 zOha^j?Z|@GrDRRY6Acx1-z%w85iU%yC93j1T_rJ_-B$_u`Q+Vs#Cf~QhmP&LcW``x zE64|inO^53Ud$bVC|qjvA~t)x8bZAO7=4%8qGDLw99fSMOHu6|9D2<@;L=!11gY!W(zy{yWpI|s-iXeHgw zypydiHIA~jmmOl~fJPg*`Xw^^^~6(6?xMRv$mFUh=z5zHFsjB9K$Y^m-RE3P48>~?P!>j z-Nv-oDGlzIxHrA-HFUutRuQ}OIU>K30RT%h4*&DHyVE!~HN8iF6ctW8!i)#!r&Gq& zCckRako$exmg8FW3S}z{S(OnQA^E-tDaKwu#hv@R_t*Qo=(a}g2QEVQyG`s0B(prI zfUMUpNlx1mu$P7c3Q!H9ehm=Pg`d|`Z^4DRo@~L_&KVujgM~w8F+@`>&1Luq4-RVY5bsA8Cw27ocgOQp77i4(a5M z$hqFH2F4mW>QgbaYc2UZyA&1Hvpz#O*+;e7_h_m~ni^8PGOH=9TurK}6Mj7v0Sj3) zajck;24T_N;EiDq+J&igHAP6}7^B*w;5!<{?g)HQ;9D%mC9h;y?9l;QEjS`;-JSvp zApzLMchJegU9t;1)y1S+AQrO1u$uWFpL!!o+nVHM7Bwn9YO4ZCj}F;8o*`a~J)|qB z*N#hY7=!WJsRK=gr%-c9wOi_Q$Sb0S{hGEtY|3j=;gH?>h-4Anh9q&mO(28!<5KZw z)hBHzY$~<@N-i2@`iPd$dxR=u29`4ARC=fKzsblms6+}~|SzITWp@p|nDnfo4<9FL<~47qlD zxDuiU@%5c-y6;tk`ugI~)h<8qK3Azqz#V-Z6=^uI9-RTd0l&DI>;L??Vj1HD-J*<4?5Vn}!Q0+b7Xb6X+sVKd1z%n4BVwHXET8F}N z6X127BNeg-zt*ZBUk&nXN=FURuAYVL1^W<6Y9x8e_c1~@tVmtOw216c=c7Pf9yWxP z*hF}lJvn*pmMaP>M;(!kzm7_I4B+~jEI+g(d#&tyQma_id`n@aIlK^-N4!zsZYK?r z;rZIFW+yCpzH0NP^~`QHyBl z>X2pLGo5ym074dYvN|izynywl;IK<&W^w1fq9QYI+#(S7JuxQ@pA9>WL|GlVe)8rRKD^fg`#l2Mi2u(rpm`Q6j3hi> zw1K6R3wF(^utK(&NtJqXRSiWzUzr-Io{tpDQy?3g@sW0 zT)dFU_^6158)vUq)RBY`8R%i-tf3;b7Qs&<+z-;gCg~YSyLu8)X(48sHQ37Sq0;-? zq40e)Y&A@VBrALXL2y7iEQ*PZINFL-7_3&dvOutyVk5`Eoa;8mObLI|=hke^y zXfdMY5t~J8*5A7)3K%bOhjc~9C)A|Ys6~V04uvhe1FI5uNTG#@cJVrr^Nb-ea?6(1 zuf8+reu{g+GkX~#O%%p|qZFXNVSc{?+iy&+nLq?_ zsB7~6kvxe3le)Sk5G=jf2~y!MgX*?#&G7POOL$K_1?@+gqe;_5#3WiH3veIvI`wrt z=DN9IGg9r}+3KsE)r=Zzwvc;DUa&$D))1vvcfw(_r%@5vwjWz>6(aiCqWFt%|EJLRiH!eSBD^!_95@~AT>f;9s7`Yzdh9= z77$zGm%UYj$|JI!7f2T(Qa^Nl2R5F1QWG}AF{~uhh>DH`^x))>A_D+{wwY)VEyEo~ zW{rsX@Tf{?){K#Ohl*QvoCsS%p?32>5#4JH01Cci4*CBXyO(5LlOsFNeT*VUAc9q> z%&ay?z!pa!wj`QKn7^5xcX@mpIB3X78j0NNc*GYM55GtJ3l@aDGzE;|L?OUrU5{$@ z-9sv*sog3%hU`8ujINpQqn%(#gM!fIcRp7P9